DE60032714T2 - Verfahren und Apparat für den Kanalfehlerschutz eines quellencodierten Bitstromes - Google Patents

Verfahren und Apparat für den Kanalfehlerschutz eines quellencodierten Bitstromes Download PDF

Info

Publication number
DE60032714T2
DE60032714T2 DE60032714T DE60032714T DE60032714T2 DE 60032714 T2 DE60032714 T2 DE 60032714T2 DE 60032714 T DE60032714 T DE 60032714T DE 60032714 T DE60032714 T DE 60032714T DE 60032714 T2 DE60032714 T2 DE 60032714T2
Authority
DE
Germany
Prior art keywords
bitstream
channel
bits
code
source encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60032714T
Other languages
English (en)
Other versions
DE60032714D1 (de
Inventor
Raghavan Alameda Anand
Hui-Ling Murray Hill Lou
Christine Irene Bridgewater Podilchuk
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Application granted granted Critical
Publication of DE60032714D1 publication Critical patent/DE60032714D1/de
Publication of DE60032714T2 publication Critical patent/DE60032714T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft allgemein die Informationscodierung und, spezieller, Verfahren zum Bereitstellen von Fehlerschutz für progressive Bitströme unter Verwendung von Faltungscodes und anderen Arten von Kanalcodes.
  • Allgemeiner Stand der Technik
  • In einem progressiven quellcodierten Bitstrom sind Bits im Allgemeinen nach abnehmender Bedeutung angeordnet, so dass die Qualität des Quellsignals, das beim Empfänger rekonstruiert werden kann, von der Zahl der Bits, die empfangen wurden, abhängt. Konventionelle progressive Quellcodierungsverfahren dieser Art werden z.B. in A. Said et al., „A New and Efficient Image Codec Based on Set Partitioning in Hierarchical Trees [Ein neuer und effizienter Bild-Codec auf der Basis der Mengeneinteilung in hierarchischen Bäumen]", IEEE Transactions on Circuits and Systems for Video Tech., Juni 1996; B.-J. Kim et al., „Very Low Bit-Rate Embedded Coding with 3D Set Partitioning in Hierarchical Trees [Eingebettetes Codieren bei sehr niedriger Bitrate mit 3D-Mengeneinteilung in hierarchischen Bäumen]", IEEE Transactions on Circuits and Systems for Video Technology, Sonderausgabe zu Bild- und Videoverarbeitung für aufkommende interaktive Multimediadienste, September 1998; und B. J. Kim et al., „Low-Delay Embedded Video Coding with SPIHT [Eingebettete Videocodierung mit geringer Verzögerung mittels SPIHT]", Proc. SPIE, Visual Communications and Image Processing [Optische Nachrichtentechnik und Bildverarbeitung] '98, S. 955–964, Jan. 1998.
  • Man betrachte als Beispiel einen progressiven quellcodierten Bitstrom von N Bit, der in der Folge {a0, a1, a2, ..., aN} angeordnet ist, wobei a0 das wichtigste Bit und aN das Bit mit der geringsten Wichtigkeit repräsentiert. Wenn nur eine gegebene Teilmenge {a0, ..., ai} (1 ≤ i < N) der geordneten Bits vom Empfänger empfangen wird, dann kann eine grobe Darstellung des Quellsignals auf der Basis dieser (i + 1) Bits rekonstruiert werden. Die Qualität des rekonstruierten Signals erhöht sich also mit der Zahl der Bits, die erfolgreich empfangen wurden. Wenn jedoch ai nicht erfolgreich empfangen wurde und aj mit j > i empfangen wurde, so kann im Allgemeinen das aj-Bit vom Quelldecoder nicht verwendet werden, um die Qualität des decodierten Signals zu verbessern. Daher sollte ein Kanalcode, der in Verbindung mit der Übertragung des quellcodierten Bitstroms durch einen Kommunikationskanal verwendet wird, vorzugsweise so ausgelegt werden, dass sichergestellt wird, dass die wichtigsten Bits, d.h. Bits mit kleineren Werten von i, mit dem höchsten Grad des Fehlerschutzes ausgestattet werden, und dass sich der Fehlerschutz für Bits mit wachsenden Werten von i verringert.
  • Eine Reihe von Verfahren zur Bereitstellung von unterschiedlichem Fehlerschutz (UEP) durch Kanalcodes wird in der US-Patentanmeldung Reihen-Nr. 09/022,114, auf den Namen der Erfinder D. Sinha und C.-E. Sundberg und unter dem Titel „Unequal Error Protection for Perceptual Audio Coders [Unterschiedlicher Fehlerschutz für perzeptive Audiocodierer]" am 11. Februar 1998 eingereicht (und als US 6,405,338 am 11. Juni 2002 veröffentlicht), beschrieben. Bei einem solchen Verfahren wird ein quellcodierter Bitstrom in verschiedene Klassen von Bits unterteilt, wobei unterschiedliche Niveaus des Fehlerschutzes für die verschiedenen Klassen von Bits bereitgestellt werden. Ein quellcodierter Bitstrom kann zum Beispiel in Bits der Klasse I und Klasse II unterteilt werden, wobei die Bits der Klasse I durch einen Kanalcode niedrigerer Rate geschützt werden, als der, der zum Schutz der Bits der Klasse II verwendet wird.
  • Um die Hardwarekomplexität zu verringern, können diese und andere Verfahren ratenkompatible punktierte Faltungscodes (RCPC-Codes) verwenden, um die unterschiedlichen Kanalcoderaten, die für UEP (unterschiedlicher Fehlerschutz) benötigt werden, zu implementieren. RCPC-Codes werden in J. Hagenauer, „Rate-Compatible Punctured Convolutional Codes (RCPC-Codes) an Their Applications [Ratenkompatible Punktierte Faltungscodes (RCPC-Codes) und ihre Anwendungen]", IEEE Transactions on Communications, Bd. 36, April 1988; und J. Hagenauer et al., The Performance of Rate-Compatible Punctured Convolutional Codes for Digital Mobile Radio [Die Leistungsfähigkeit von ratenkompatiblen punktierten Faltungscodes und ihre Anwendungen]", IEEE Transactions on Communcations, Bd. 28, Juli 1990; und J. Hagenauer et al., „Channel Coding and Transmission Aspects for Wireless Multimedia [Kanalcodierungs- und Übertragungsaspekte für drahtlose Multimedia]", Proceedings of the IEEE, Bd. 87, Nr. 10, Oktober 1999. Mit Bezug auf das vorherige Beispiel können RCPC-Codes dazu verwendet werden, die Kanalcodes sowohl der Rate von Klasse I als auch der Rate von Klasse II zu implementieren.
  • Bei bestimmten UEP-Verfahren, die in der oben zitierten US-Patentenmeldung Reihen-Nr. 09/022,114 beschrieben werden, werden die quellcodierten Bits verschiedener Klassen im Allgemeinen getrennt codiert, und jede Klasse wird weiter in Blocks aufgetrennt, um Fehlerausbreitung zu vermeiden, die die Kanal-Decoderleistung beträchtlich verschlechtern kann. Diese Auftrennung in Blöcke erfordert, dass so genannte Endbits verwendet werden, um jeden Block eines der gegebenen Codes abzuschließen. Wie oben bemerkt, kann im Fall eines progressiven quellcodierten Bitstroms, wenn ein gegebenes Bit ai nicht erfolgreich empfangen wird, ein nachfolgendes Bit aj (j > i) im Allgemeinen nicht dazu verwendet werden, die Qualität des decodierten Signals zu verbessern. Daher sollte der Kanalfehlerschutz auch progressiv bereitgestellt werden, wobei sich der Fehlerschutz bis zu den Bits ai, ai+1, ai+2 usw. im quellcodierten Bitstrom verringert. Die Anwendung des oben beschrieben Mehrklassen-UEP-Verfahrens auf einen progressiven quellcodierten Bitstrom kann jedoch dazu führen, dass der quellcodierte Bitstrom in viele Teilblöcke unterteilt wird, wobei jeder Teilblock einer wachsenden Coderate unterworfen wird. Solch eine Anordnung kann eine übermäßig große Zahl von Endbits erforderlich machen, wodurch der allgemeine Aufwand, der mit der Implementierung dieses Verfahrens verbunden ist, sich beträchtlich erhöht.
  • Aus dem vorher Gesagten ist erkennbar, dass es ein Bedürfnis nach einem verbesserten Verfahren zur Bereitstellung von Kanalfehlerschutz für quellcodierte Bitströme gibt.
  • Kurzdarstellung der Erfindung
  • Die vorliegende Erfindung befriedigt das oben angeführte Bedürfnis, indem sie ein Verfahren und eine Vorrichtung zum Implementieren von Kanalfehlerschutz für einen progressiven quellcodierten Bitstrom oder eine andere Art von quellcodiertem Bitstrom bereitstellt.
  • Gemäß der Erfindung wird unterschiedlicher Kanalfehlerschutz für einen quellcodierten Bitstrom durch Punktieren eines Kanalcodes bereitgestellt. Der quellcodierte Bitstrom ist vorzugsweise ein progressiver quellcodierter Bitstrom, könnte aber auch ein anderer Typ von quellcodiertem Bitstrom sein, z.B. ein unterteilter Bitstrom. Der Kanalcode besitzt eine festgelegte Rate, die mit einem entsprechenden Niveau des Fehlerschutzes verbunden ist, und wird zum Codieren eines ersten Abschnitts des quellcodierten Bitstroms verwendet. Der Kanalcode wird danach für mindestens einen zweiten Teil des quellcodierten Bitstroms punktiert, um so eine höhere Rate als die angegebene Rate bereitzustellen.
  • Der Beginn des Punktierungsschritts wird um einen Betrag beliebig verzögert, der zumindest teilweise auf der Basis eines Speichers des Kanalcodes bestimmt wird. Der Betrag der Verzögerung kann zum Beispiel als Zahl von Bits festgelegt werden, die größer oder gleich einem Speicher des Kanalcodes ist, aber kleiner oder gleich einer Decodiertiefe des Kanaldecoders ist, die zum Decodieren des kanalcodierten Bitstroms verwendet wird.
  • Es ist vorteilhaft, dass die Erfindung die unverhältnismäßig großen allgemeinen Probleme vermeidet, die den Endbits zuzuschreiben sind, welche bei herkömmlichen unterschiedlichen Fehlerschutzverfahren (UEP-Verfahren) zum Beenden von Teilblöcken benötigt werden. Obwohl zur Verwendung mit progressiven quellcodierten Videobitströmen besonders gut geeignet, ist die Erfindung allgemeiner auf jede Art von progressivem Informationsbitstrom, der Kanalfehlerschutz erfordert, sowie auf andere Arten von Bitströmen anwendbar, einschließlich aufgeteilten quellcodierten Bitströmen.
  • Kurzbeschreibung der Zeichnungen
  • 1 zeigt ein vereinfachtes Blockdiagramm von einer Art von Kommunikationssystem, in dem die vorliegende Erfindung implementiert werden kann.
  • 2 illustriert ein verzögertes Punktieren eines progressiven quellcodierten Bitstroms gemäß der vorliegenden Erfindung.
  • 3 zeigt ein Beispiel für einen progressiven quellcodierten Bitstrom mit mehreren Niveaus des Kanalfehlerschutzes gemäß der Erfindung.
  • Die 4A und 4B illustrieren die Art, in der der Bitstrom von 3 unter Verwendung der Verfahren der Erfindung punktiert wird.
  • 5 zeigt eine erläuternde Ausführungsform eines Kanalcodierers gemäß der Erfindung.
  • 6 zeigt ein spezielleres Beispiel für das System von 1, in dem die vorliegende Erfindung implementiert werden kann.
  • Detaillierte Beschreibung der Erfindung
  • Die folgende Beschreibung illustriert die Erfindung unter Verwendung von als Beispiel dienenden Systemen, die progressive quellcodierte Bitströme verwenden. Es versteht sich jedoch, dass die Erfindung nicht auf die Verwendung mit einer bestimmten Art von Kommunikationssystem oder -anwendung beschränkt ist, sondern stattdessen allgemeiner auf jedes Kommunikationssystem oder -anwendung anwendbar ist, in der es wünschenswert ist, dass sie effizient für Kanalfehlerschutz für einen quellcodierten Bitstrom sorgt, was die Notwendigkeit von abschließenden Endbits minimiert. Die Erfindung ist zur Verwendung mit progressiven quellcodierten Videobitströmen besonders gut geeignet. Die Verfahren des unterschiedlichen Fehlerschutzes, die hierin beschrieben werden, sind jedoch auch auf andere Arten von progressiven Bitströmen anwendbar, einschließlich Audio- und anderen Informationsbitströmen. Außerdem können die Verfahren der Erfindung auf aufgeteilte Versionen von quellcodierten Bitströmen angewendet werden, die unter Verwendung von herkömmlichen nicht-progressiven Codierungsverfahren erzeugt wurden, wie zum Beispiel H.261, H.263, Motion-JPEG, MPEG-1, MPEG-2, usw.
  • 1 zeigt ein vereinfachtes Blockdiagramm eines als Beispiel dienenden Kommunikationssystems 100, in dem die vorliegende Erfindung implementiert werden kann. System 100 umfasst einen Sender 102 und einen Empfänger 104, die für die Kommunikation über ein Übertragungsmedium 106 aufgebaut sind. Das Übertragungsmedium 106 kann einen Teil eines verdrahteten oder drahtlosen Netzes, Kombinationen von unterschiedlichen Teilen solcher Netze oder eine andere Art von Kommunikationskanal darstellen. Der Sender 102 umfasst einen Quellcodierer 110 und einen Kanalcodierer 112. Der Empfänger 104 umfasst einen Kanaldecoder 114 und einen Quelldecoder 116.
  • Beim Betrieb wird ein Strom von Informationsbits auf den Quellcodierer 110 angewendet. Der Quellcodierer 110 erzeugt unter Verwendung herkömmlicher Verfahren einen progressiven quellcodierten Bitstrom. Der progressive quellcodierte Bitstrom wird dann auf den Kanalcodierer 112 angewandt, der die Kanalcodierung unter Verwendung der Verfahren der vorliegenden Erfindung für den unterschiedlichen Fehlerschutz auf den progressiven quellcodierten Bitstrom anwendet. Die Kanalcodierungsverfahren, die im Kanalcodierer 112 genutzt werden, werden detaillierter unten in Verbindung mit 2 beschrieben. Die Ausgabe des Kanalcodierers 112 kann unter Verwendung herkömmlicher Kommunikationssystemoperationen, wie zum Beispiel Modulation, Multiplexing, Aufwärtsumsetzung, Verstärkung, Filtern usw. weiter verarbeitet werden. Diese Operationen werden in der Figur aus Gründen der Einfachheit und Klarheit der Darstellung weggelassen. Das sich ergebende Signal wird über das Übertragungsmedium 106 weitergeleitet und unterliegt den komplementären Kommunikationssystemoperationen im oder vor dem Empfänger 104. Der wiederhergestellte kanalcodierte Bitstrom wird auf den Kanaldecoder 114 angewendet, und der sich ergebende progressive quellcodierte Bitstrom wird in Quelldecoder 116 decodiert, um eine rekonstruierte Version des originalen Informationsbitstroms zu erhalten.
  • Der Quellcodierer 110 und der Quelldecoder 116 können progressive Videocodierer bzw. Videodecoder sein, wie detaillierter in Verbindung mit 3 beschrieben. Der Kanalcodierer 112 und Kanaldecoder 114 sind vorzugsweise Faltungscodierer bzw. -decoder. Es ist jedoch zu erkennen, dass die Erfindung allgemeiner auf andere Arten der Quell- und Kanalcodierung anwendbar ist.
  • Die Elemente des Systems von 1 werden zur klaren Erläuterung in vereinfachter Form gezeigt. Es versteht sich jedoch, dass ein oder mehrere dieser Elemente unter Verwendung von prozessorbasierten Geräten, wie zum Beispiel Mikroprozessoren, digitalen Signalprozessoren (DSPs), anwendungsspezifischen integrierten Schaltkreisen (ASICs) sowie Teilen oder Kombinationen dieser und anderer Geräte implementiert werden können. Die Erfindung kann ganz oder teilweise in Form von einem oder mehreren Softwareprogrammen gespeichert und von solchen Geräten ausgeführt werden. Außerdem kann das System von 1 zusätzliche Elemente umfassen, die nicht explizit in der Figur gezeigt werden.
  • 2 illustriert die Art und Weise, in der der Kanalcodierer 112 von 1 arbeitet, um für einen unterschiedlichen Fehlerschutz zu sorgen, wobei die Verfahren der vorliegenden Erfindung genutzt werden. In diesem Beispiel wird der progressive quellcodierte N-Bit-Bitstrom 200 in der Reihenfolge {a0, a1, a2, ..., aN} angeordnet, wobei a0 das wichtigste Bit und aN das Bit mit der geringsten Wichtigkeit repräsentiert. Es wird für dieses Beispiel angenommen, dass die N + 1 Bits {a0, a1, a2, ..., aN} einen einzelnen vollständigen Datenübertragungsblock des progressiven quellcodierten Bitstroms 200 repräsentieren. Wie vorher bemerkt, kann eine grobe Darstellung des originalen Quellsignals auf der Basis dieser (i + 1) Bits rekonstruiert werden, wenn nur eine gegebene Teilmenge {a0, ..., ai} (1 ≤ i < N) der geordneten Bits am Empfänger empfangen wird. Die Qualität des rekonstruierten Signals erhöht sich so mit der Zahl der Bits, die erfolgreich empfangen wurden. Wenn jedoch ai nicht erfolgreich empfangen wurde und aj mit j > i erfolgreich empfangen wurde, kann das aj-Bit im Allgemeinen nicht vom Quelldecoder dazu verwendet werden, die Qualität des decodierten Signals zu verbessern. Der Kanalcodierer 112 ist daher so aufgebaut, dass er den progressiven quellcodierten Strom 200 kontinuierlich mit abfallenden Niveaus des Fehlerschutzes codiert.
  • Die abfallenden Fehlerschutzniveaus werden folgendermaßen für Strom 200 bereitgestellt. Kanalcodierer 112 codiert den Strom 200 unter Verwendung eines Faltungscodes mit niedriger Rate, und der Code mit niedriger Rate wird anschließend punktiert, um Codes mit höherer Rate für die Bits von Strom 200 mit geringerer Wichtigkeit progressiv zu erzeugen. Im Beispiel wird ein erster Teil 202 von Strom 200 von einem vollen, unpunktierten Faltungscode mit 1/3-Rate geschützt. Um die gewünschten abfallenden Niveaus des Fehlerschutzes für den progressiven Strom 200 bereitzustellen, muss ein zweiter Teil 204 von Strom 200 unter Verwendung einer punktierten Version des Codes mit originaler 1/3-Rate codiert werden. Die Punktierungsoperation beinhaltet das selektive Eliminieren von Kanalcodebits, die unter Verwendung des originalen 1/3-Codes erzeugt wurden, um so einen Code mit höherer Rate zu erzeugen, welcher im aktuellen Beispiel ein Code mit Rate 1/2 ist. Solche Punktierungsverfahren sind im Fachgebiet gut bekannt und werden daher hierin nicht im Detail beschrieben. Wie vorher bemerkt, kann jedoch der Beginn der Punktierungsoperation in der herkömmlichen Weise zur Ausbreitung von Fehlern im Kanaldecoder führen, wodurch die Zuverlässigkeit der Ausgabe des Kanaldecoders verringert wird.
  • Die vorliegende Erfindung überwindet dieses wesentliche Problem des Standes der Technik durch bewusstes Verzögern des Beginns der Punktierungsoperation um einen bezeichneten Betrag L, der in Form einer bestimmten Zahl von codierten Bits angegeben werden kann, wobei L eine Funktion des Speichers des Codes ist und vorzugsweise kleiner oder gleich der Decodiertiefe des Kanaldecoders ist. Der Betrag der Verzögerung L kann zum Beispiel größer oder gleich dem Speicher des Codes gewählt werden, aber kleiner oder gleich der Decodiertiefe des Decoders gewählt werden. Es sollte jedoch beachtet werden, dass in alternativen Ausführungsformen die Größe von Verzögerung L so gewählt werden kann, dass sie kleiner als der Speicher des Codes ist, z.B. in einer Anwendung, bei der die sich ergebende Verschlechterung der Leistungsfähigkeit akzeptabel ist.
  • Der Speicher eines Faltungscodes kann folgendermaßen beschrieben werden. Bei der Faltungscodierung wird ein gegebenes n-Bit-Ausgabecodewort als Funktion von k Eingabebits und v Bits, die in einem Schieberegister gespeichert sind, erzeugt. Der Wert von v wird im Allgemeinen als der Speicher des Codes bezeichnet und kann auch als die Restriktionslänge des Codes bezeichnet werden. Die Rate des Codes ist durch k/n gegeben, wobei n > k ist. Der Faltungscodierer arbeitet als endlicher Automat mit maximal 2v möglichen Zuständen. Eine gegebene Menge von k Eingangsbits bewirkt einen Übergang von einem gegenwärtigen Zustand, der durch v Bits definiert ist, in einen nächsten Zustand, der ebenfalls durch v Bits definiert ist, wobei die Zahl n der Ausgangscodebits, die erzeugt werden, durch die Rate des Codes festgelegt ist. Wie vorher bemerkt, wird die Verzögerung L vorzugsweise größer oder gleich dem Speicher des Codes gewählt.
  • Die Notwendigkeit für die Verzögerung bei der Punktierung kann ferner folgendermaßen erklärt werden. Man nehme an, dass die progressiven quellcodierten Bits a0, a1 und a2 von Abschnitt 202 im Strom 200 durch den originalen Faltungscode mit 1/3-Rate geschützt werden sollen und dass zumindest die Bits a3, a4, a5 und a6 von Abschnitt 204 durch den oben angeführten Code mit 1/2-Rate, der durch Punktieren des Codes mit 1/3-Rate erzeugt wird, geschützt werden sollen. Die kanalcodierten Bits, die am entsprechen, werden als c3m, c3m+1 und c3m+2 für Werte von m = 0, 1, 2 und c2+2m+1, c2+2m+2 für Werte von m = 3, 4, 5 und 6 bezeichnet. Wenn beim herkömmlichen Ansatz ein Faltungscode mit 1/3-Rate zum Codieren aller Bits a0 bis a6 verwendet wird, sollte die Punktierung an c2+2m+1 und c2+2m+2 für m = 3, 4, 5 und 6 ausgeführt werden, um einen Code mit 1/2-Rate zu erhalten. Da jedoch die Bits kontinuierlich ohne Beendigung codiert werden, kann das Punktieren von c2+2m+1, c2+2m+2 für Werte von m = 3, 4, 5 und 6 die Zuverlässigkeit der decodierten Bits a0 bis a2 auf Grund des Speichers im Kanaldecoder zunichte machen.
  • Um dieses Potenzial zur Ausbreitung von Fehlern im Kanaldecoder zu umgehen, sollte das Punktieren von einem Bit von drei codierten Bits im Kanalcodierer, um den Code mit 1/2-Rate zu erhalten, am codierten Bit c3(2)+3+L (= c9+L) beginnen, wobei, wie vorher bemerkt, L eine Funktion des Speichers des Codes ist, und sollte kleiner oder gleich der Decodiertiefe des Decoders sein. Wenn das Punktieren der codierten Bits erforderlich ist, um für eine bestimmte Rate zu sorgen, um Bit am des progressiven quellcodierten Bitstroms 200 zu schützen, dann sollte also die tatsächliche Punktierung mit einer Verzögerung von L codierten Bits beginnen. Mit Verweis auf 2 wird die Verzögerung L als vier Bits angenommen. Die Punktierungsoperation beginnt daher nach Bit a6, wie gezeigt, statt nach Bit a2. Es ist vorteilhaft, dass diese Verzögerung im Beginn der Punktierung die Ausbreitung von Kanalfehlern in einem kontinuierlich punktierten kanalcodierten Bitstrom verhindert.
  • Als spezielleres Beispiel nehme man an, dass der Kanaldecoder im System von 1 ein Viterbi-Decoder für eine IS-95-CDMA-Übertragungsverbindung ist, wie in H. Lou, „Viterbi Decoder Design for the IS-95 CDMA Forward Link [Viterbi-Decoderentwurf für die IS-95-CDMA-Übertragungsverbindung]", Proceedings of the IEEE Vehicular Technology Conference, Atlanta, GA, April 1996. Der Kanalcode, der für die Übertragungsverbindung in diesem Beispiel verwendet wird, ist ein Faltungscode mit 256 Zuständen und 1/2-Rate.
  • Dieser Code besitzt einen Speicher von 8. Der Viterbi-Decoder, der im Literaturverweis beschrieben wird, verwendet vorzugsweise eine Decodiertiefe von mindestens etwa 96, je nach dem Leistungsniveau, das gewünscht wird. In einer Ausführungsform der Erfindung, die diesen als Beispiel dienenden Kanalcodierer und Kanaldecoder nutzt, kann man daher den Wert von L als kleiner oder gleich 96, aber größer als den Speicher 8 des Codes wählen. Es kann zum Beispiel ein Anfangswert von L von 48 oder 96 gewählt werden. Der Wert von L kann sich von seinem Anfangswert über die Länge des progressiven quellcodierten Bitstroms verringern und kann auf einen Wert von nur null am Ende des progressiven Bitstroms mit der geringsten Wichtigkeit reduziert werden, wie detaillierter unten in Verbindung mit 4B beschrieben wird. Diese Verringerung in L ist für einen progressiven Bitstrom geeignet, bei dem sich das gewünschte Niveau des Fehlerschutzes mit der Länge des Bitstroms zusammen mit der Wichtigkeit der Bits verringert.
  • Die vorliegende Erfindung stellt daher ein progressives Durchlassfehlerkorrekturverfahren bereit, um einen quellcodierten Bitstrom Bit für Bit zu schützen. Durch angemessene Berücksichtigung des Speichers des Kanalcodes kann der progressive Kanalcode durch aufeinander folgendes Punktieren eines Faltungscodes implementiert werden, ohne den Kanalcode terminieren zu müssen, bis alle Quellbits im aktuellen Datenübertragungsblock kanalcodiert sind. Die Erfindung verhütet damit die Ausbreitung von Fehlern im Kanaldecoder, während sie gleichzeitig auch den allgemeinen Aufwand vermeidet, der mit der Verwendung von Endbits zum Terminieren mehrerer Teilblöcke eines gegebenen Datenübertragungsblocks verbunden ist.
  • Wie oben bemerkt, wird der Wert von L als Funktion des Speichers des Kanalcodes bestimmt und ist vorzugsweise kleiner oder gleich der Decodiertiefe des Kanaldecoders. Wie oben bemerkt, kann sich der Wert von L verringern, wenn eine zusätzliche Punktierung entlang einem gegebenen progressiven Bitstrom ausgeführt wird. Ein solches System wird detaillierter unten in Verbindung mit 5 beschrieben. Es können Simulationen verwendet werden, um einen optimalen Wert von L oder einen Satz von L-Werten für eine gegebene Anwendung zu bestimmen.
  • Obwohl nur zwei Niveaus des Fehlerschutzes in Verbindung mit dem Beispiel von 2 beschrieben werden, ist für den Fachmann auf diesem Gebiet erkennbar, dass die Erfindung dazu verwendet werden kann, einen progressiven unterschiedlichen Kanalfehlerschutz für den quellcodierten Bitstrom, oder eine beliebige gewünschte Zahl von bestimmten Niveaus des unterschiedlichen Kanalfehlerschutzes, bereitzustellen. Für jede Variation bei der Punktierung kann der Beginn der Punktierung in der Weise, wie vorher beschrieben wurde, verzögert werden.
  • Ausführungsformen der Erfindung mit zusätzlichen Fehlerschutzniveaus werden nun detaillierter mit Verweis auf die 3, 4A, 4B und 5 beschrieben.
  • Mit Verweis auf 3 wird ein progressiver quellcodierter Bitstrom gezeigt, der N Klassen von Bits bi, i = 1, 2, ..., N, umfasst. Es sollte bemerkt werden, dass die Variable N in 3 einer Weise definiert ist, die sich von der unterscheidet, die in Verbindung mit 2 verwendet wird. Genauer gesagt, wird N in 3 dazu verwendet, die Zahl unterschiedlicher Klassen von Bits zu bezeichnen, statt die Zahl der Bits wie in 2 zu bezeichnen.
  • 4A zeigt die Art, in der das Punktieren auf die verschiedenen Klassen von Bits im Bitstrom von 3 angewendet werden könnte, ohne die oben beschriebene Verzögerung L einzuführen. Diese Punktierung verwendet für jede der N Klassen von Bits ein anderes Pi. Wie in 4A gezeigt, wird das Punktieren für eine gegebene Klasse nicht verzögert, und daher entsteht das oben beschriebene Problem der Ausbreitung von Fehlern im Kanaldecoder. 4B illustriert die Art und Weise, in der dieses Problem durch die Einführung der Punktierungsverzögerung L eliminiert wird. Genauer gesagt, wird der Start des Punktierens P2 für die zweite Klasse von Bits um L Bits verzögert, wie gezeigt. Die nachfolgenden Klassen, die nicht die letzte Klasse N sind, werden dann unter Verwendung einer Zahl von Bits für jede Klasse punktiert, die der in 4A gezeigten entspricht. Als Folge der Verzögerung L wird die Zahl der Bits, die in der letzten Klasse N bleiben, um L verringert.
  • 5 zeigt eine erläuternde Ausführungsform des Kanalcodierers 112 von 1. In dieser Ausführungsform werden N Klassen von Bits bi des Bitstroms von 3 als Eingangssignale in einen Faltungscodierer 250 mit einer Rate k/n angewendet. Die sich ergebenden N Klassen von Ausgangsbits unterliegen verschiedenen Verzögerungen Li und der Punktierung Pi, wie in der Figur gezeigt. Die Gesamtzahl an Informationsbits, die codiert wird, ist durch
    Figure 00150001
    gegeben. Die Gesamtzahl der übertragenen Bits in diesem Beispiel ist gegeben durch:
    Figure 00150002
    wobei Pi ≤ Pj für i < j und für alle i, j ist. Die Verzögerungswerte Li sind größer oder gleich null und im typischen Fall Li ≤ Lj für i < j, i = 2, ..., N – 1, und
  • Figure 00150003
  • Der Wert der Verzögerung Li für eine bestimmte Klasse von Bits verringert sich also entlang der Länge des progressiven Bitstroms, wie sich die Wichtigkeit der Bits und das gewünschte Fehlerschutzniveau verringern.
  • Ein gegebener kanalcodierter Bitstrom gemäß der Erfindung kann kontinuierlich von einem wichtigsten Bit des Bitstroms bis zu einem Bit des Bitstroms mit der geringsten Wichtigkeit decodiert werden. Andere Arten der Decodierung können ebenfalls verwendet werden.
  • 6 zeigt ein spezielleres Beispiel für ein Kommunikationssystem 300, in dem der oben beschriebene progressive Kanalfehlerschutz implementiert werden kann. Das System 300 umfasst einen progressiven Videocodierer 310 und einen Kanalcodierer 312. Das Übertragungsmedium 106 in diesem System umfasst eine Verbindung durch verdrahtetes Internet 320 mit einer Basisstation 322 eines drahtlosen Netzes. Ein Codeumsetzer 324 verarbeitet die Ausgabe der Basisstation zur Weitergabe über einen drahtlosen Kanal 326 an einen Mobilempfänger 104'. Es wird angenommen, dass der Mobilempfänger 104' den Kanaldecoder 114 und den Quelldecoder 116 von 1 sowie zusätzliche Signalverarbeitungselemente umfasst.
  • Beim Betrieb wird ein progressiver Videostrom durch den progressiven Videocodierer 310 erzeugt. Der Kanalcodierer 312 sorgt für progressiven Kanalfehlerschutz für den progressiven quellcodierten Bitstrom in der Weise, wie vorher in Verbindung mit 2 beschrieben. Die sich ergebende kanalcodierte Ausgabe wird über das Übertragungsmedium 106 an den Mobilempfänger 104' übertragen, wo sie verarbeitet wird, um den ursprünglichen Videostrom zu rekonstruieren.
  • Die oben beschriebenen Ausführungsformen der Erfindung sollen nur erläuternden Charakter haben. Obwohl die Erfindung zum Beispiel unter Verwendung von Faltungscodes, die als Kanalcodes auf quellcodierte progressive Bitströme angewendet werden, erläutert wird, kann sie unter Verwendung anderer Arten von Kanalcodes und anderer Arten von Informationsbitströmen implementiert werden. Weiterhin kann die Erfindung mit aufgeteilten Bitströmen, d.h. Bitströmen, die in zwei oder mehr Klassen von Bits aufgeteilt sind, verwendet werden, um so für einen unterschiedlichen Fehlerschutz für die verschiedenen Klassen von Bits ohne die Notwendigkeit von terminierenden Endbits in jedem Teilblock eines gegebenen Datenübertragungsblocks zu sorgen. Ferner werden die speziellen Systemkonfigurationen, die in Verbindung mit den erläuternden Ausführungsformen beschrieben werden, nur als Beispiel angeführt, und es sind zahlreiche alternative Systemkonfigurationen möglich. Für Fachleute auf diesem Gebiet sind diese und zahlreiche andere Ausführungsformen innerhalb des Geltungsbereichs der nachfolgenden Ansprüche erkennbar.

Claims (25)

  1. Verfahren zum Bereitstellen von Kanalfehlerschutz für einen Bitstrom, wobei das Verfahren den folgenden Schritt umfaßt: Kanalcodieren eines ersten Teils des Bitstroms, der einen Kanalcode nutzt, welcher eine festgelegte Rate hat, die mit einem entsprechenden Niveau des Fehlerschutzes verbunden ist; gekennzeichnet durch: Kanalcodieren zumindest eines zweiten Teils des Bitstroms, der eine punktierte Version des Kanalcodes nutzt, welcher die festgelegte Rate hat, wobei die punktierte Version eine höhere Rate als die festgelegte Rate hat, wobei der Beginn der Kanalcodierung, die die punktierte Version des Kanalcodes nutzt, um einen Betrag verzögert ist, der zumindest eins der folgenden ist: (i) größer oder gleich einem Speicher des Kanalcodes, und (ii) kleiner oder gleich einer Dekodiertiefe eines Kanaldecoders (114), der zum Decodieren des kanalcodierten Bitstroms verwendet wird.
  2. Verfahren nach Anspruch 1, wobei der Kanalcode einen Faltungscode umfaßt.
  3. Verfahren nach Anspruch 1, wobei der Bitstrom einen progressiven quellcodierten Bitstrom umfaßt.
  4. Verfahren nach Anspruch 1, wobei der Bitstrom einen in Blöcke unterteilten quellcodierten Bitstrom umfaßt.
  5. Verfahren nach Anspruch 3, wobei der progressive quellcodierte Bitstrom einen progressiven quellcodierten Videobitstrom umfaßt.
  6. Verfahren nach Anspruch 3, wobei der progressive quellcodierte Bitstrom einen progressiven quellcodierten Audiobitstrom umfaßt.
  7. Verfahren nach Anspruch 1, wobei der Kanalcode erst nachdem alle Bits in einem aktuellen Übertragungsblock des Bitstroms kanalcodiert sind beendet ist.
  8. Verfahren nach Anspruch 1, wobei der Betrag der Verzögerung größer oder gleich einem Speicher des Kanalcodes ist.
  9. Verfahren nach Anspruch 1, wobei der Betrag der Verzögerung kleiner oder gleich einer Decodiertiefe des Kanaldecoders ist.
  10. Verfahren nach Anspruch 1, wobei der Betrag der Verzögerung eine festgelegte Zahl von Bits des Bitstroms umfaßt.
  11. Verfahren nach Anspruch 1, wobei verschiedene Beträge der Verzögerung zur Punktierung jeder der mindestens einen Teilmenge von N Klassen von Bits des Bitstroms bereitgestellt sind.
  12. Verfahren nach Anspruch 1, das ferner den Schritt des kontinuierlichen Decodierens des kanalcodierten Bitstroms von einem wichtigsten Bit des Bitstroms bis zu einem Bit niedrigster Wichtigkeit des Bitstroms umfaßt.
  13. Vorrichtung zum Bereitstellen von Kanalfehlerschutz für einen Bitstrom, wobei die Vorrichtung umfaßt: ein prozessorbasiertes Gerät (112, 312), das zum Kanalcodieren eines ersten Teils des Bitstroms fungiert, der einen Kanalcode nutzt, welcher eine festgelegte Rate besitzt, die mit einem entsprechenden Niveau des Fehlerschutzes verbunden ist, dadurch gekennzeichnet, dass das prozessorbasierte Gerät ferner zum Kanalcodieren von mindestens einem zweiten Teil des Bitstroms fungiert, der eine punktierte Version des Kanalcodes nutzt, welcher die festgelegte Rate besitzt, wobei die punktierte Version eine Rate besitzt, die größer als die festgelegte Rate ist, wobei der Beginn des Kanalcodierens, das die punktierte Version des Kanalcodes nutzt, um einen Betrag verzögert ist, der zumindest eins der folgenden ist: (i) größer oder gleich einem Speicher des Kanalcodes, und (ii) kleiner oder gleich einer Decodiertiefe eines Kanaldecoders (114), der zum Decodieren des kanalcodierten Bitstroms verwendet wird.
  14. Vorrichtung nach Anspruch 13, wobei der Kanalcode einen Faltungscode umfaßt.
  15. Vorrichtung nach Anspruch 13, wobei der Bitstrom einen progressiven quellcodierten Bitstrom umfaßt.
  16. Vorrichtung nach Anspruch 13, wobei der Bitstrom einen in Blöcke unterteilten quellcodierten Bitstrom umfaßt.
  17. Vorrichtung nach Anspruch 15, wobei der progressive quellcodierte Bitstrom einen progressiven quellcodierten Videobitstrom umfaßt.
  18. Vorrichtung nach Anspruch 15, wobei der progressive quellcodierte Bitstrom einen progressiven quellcodierten Audiobitstrom umfaßt.
  19. Vorrichtung nach Anspruch 13, wobei der Kanalcode erst nachdem alle Bits in einem aktuellen Übertragungsblock des Bitstroms kanalcodiert sind terminiert ist.
  20. Vorrichtung nach Anspruch 13, wobei der Betrag der Verzögerung größer oder gleich einem Speicher des Kanalcodes ist.
  21. Vorrichtung nach Anspruch 13, wobei der Betrag der Verzögerung kleiner oder gleich einer Decodiertiefe des Kanaldecoders ist.
  22. Vorrichtung nach Anspruch 13, wobei der Betrag der Verzögerung eine festgelegte Zahl von Bits des Bitstroms umfaßt.
  23. Vorrichtung nach Anspruch 13, wobei verschiedene Beträge der Verzögerung zum Punktieren jeder der mindestens einen Teilmenge von N Klassen von Bits des Bitstroms bereitgestellt sind.
  24. Vorrichtung nach Anspruch 13, wobei der kanalcodierte Bitstrom kontinuierlich von einem wichtigsten Bit des Bitstroms bis zu einem Bit niedrigster Wichtigkeit des Bitstroms decodiert ist.
  25. Produktionsgegenstand, der ein Speichermedium zum Speichern von einem oder mehreren Softwareprogrammen zur Verwendung beim Bereitstellen von Kanalfehlerschutz für einen Bitstrom umfaßt, wobei das eine oder die mehreren Programme beim Ausführen die Schritte eines Verfahrens, wie in einem der Ansprüche 1 bis 12 beansprucht, implementieren.
DE60032714T 1999-11-16 2000-11-06 Verfahren und Apparat für den Kanalfehlerschutz eines quellencodierten Bitstromes Expired - Lifetime DE60032714T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16580399P 1999-11-16 1999-11-16
US165803P 1999-11-16
US09/680,708 US6681365B1 (en) 1999-11-16 2000-10-06 Method and apparatus for providing channel error protection for a source coded bit stream
US680708P 2000-10-06

Publications (2)

Publication Number Publication Date
DE60032714D1 DE60032714D1 (de) 2007-02-15
DE60032714T2 true DE60032714T2 (de) 2007-11-08

Family

ID=26861720

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60032714T Expired - Lifetime DE60032714T2 (de) 1999-11-16 2000-11-06 Verfahren und Apparat für den Kanalfehlerschutz eines quellencodierten Bitstromes

Country Status (5)

Country Link
US (1) US6681365B1 (de)
EP (1) EP1102407B1 (de)
JP (1) JP4638019B2 (de)
CA (1) CA2325431C (de)
DE (1) DE60032714T2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681365B1 (en) * 1999-11-16 2004-01-20 Lucent Technologies Inc. Method and apparatus for providing channel error protection for a source coded bit stream
TR200200680T1 (tr) * 2000-07-17 2002-09-23 Koninklijke Philips Electronics N. V. Sinyal kodlama.
US6757860B2 (en) * 2000-08-25 2004-06-29 Agere Systems Inc. Channel error protection implementable across network layers in a communication system
US7437654B2 (en) * 2000-11-29 2008-10-14 Lucent Technologies Inc. Sub-packet adaptation in a wireless communication system
KR100489043B1 (ko) * 2000-12-20 2005-05-11 엘지전자 주식회사 이동 통신 시스템에서 이동 단말기간 음성 호 연결시데이터 포맷방법
US7289476B2 (en) * 2001-10-16 2007-10-30 Nokia Corporation Method and system to increase QoS and range in a multicarrier system
US7743309B2 (en) * 2006-03-17 2010-06-22 Microsoft Corporation Distributed source coding with context
JP4416782B2 (ja) * 2006-12-15 2010-02-17 キヤノン株式会社 画像処理装置、決定装置、変更装置、および画像処理方法
US7966540B1 (en) 2007-05-02 2011-06-21 Sprint Communications Company L.P. Transmitting error correction information
WO2010089835A1 (ja) 2009-02-05 2010-08-12 パナソニック株式会社 無線通信装置
US9277032B2 (en) 2012-06-19 2016-03-01 Microsoft Technology Licensing, Llc Error control coding for noncontiguous channel aggregation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052821A (en) * 1996-06-26 2000-04-18 U.S. Philips Corporation Trellis coded QAM using rate compatible, punctured, convolutional codes
GB2324934A (en) * 1997-05-02 1998-11-04 Motorola Ltd Multiplexing data from multi-media sources
US6405338B1 (en) * 1998-02-11 2002-06-11 Lucent Technologies Inc. Unequal error protection for perceptual audio coders
CN100466483C (zh) * 1998-06-05 2009-03-04 三星电子株式会社 用于速率匹配的发送机和方法
CN1509093A (zh) * 1998-08-06 2004-06-30 ���ǵ�����ʽ���� 通信系统中的信道编码/解码
US6681365B1 (en) * 1999-11-16 2004-01-20 Lucent Technologies Inc. Method and apparatus for providing channel error protection for a source coded bit stream

Also Published As

Publication number Publication date
EP1102407A3 (de) 2003-03-12
JP2001203588A (ja) 2001-07-27
EP1102407A2 (de) 2001-05-23
DE60032714D1 (de) 2007-02-15
JP4638019B2 (ja) 2011-02-23
US6681365B1 (en) 2004-01-20
CA2325431A1 (en) 2001-05-16
EP1102407B1 (de) 2007-01-03
CA2325431C (en) 2005-09-20

Similar Documents

Publication Publication Date Title
DE69815489T2 (de) Vorrichtung und verfahren zur datenverarbeitung von mehreren quellen
DE19840835C2 (de) Vorrichtung und Verfahren zum Entropiecodieren von Informationswörtern und Vorrichtung und Verfahren zum Decodieren von Entropie-codierten Informationswörtern
DE10030407B4 (de) Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem
EP1147613B1 (de) Verfahren zur übertragung quellencodierter digitaler signale
DE60000319T2 (de) Verfahren und Gerät zum Verringern von Startupverzögerung in datenpaketbasierte Netzströmenanwendungen
EP1198913B1 (de) Verfahren zum fehlerschutz eines datenbitstromes
DE60032714T2 (de) Verfahren und Apparat für den Kanalfehlerschutz eines quellencodierten Bitstromes
EP1232596A2 (de) Verfahren zur anpassung der datenrate in einer kommunikationsvorrichtung und entsprechende kommunikationsvorrichtung
DE29924886U1 (de) Kanalcodiervorrichtung
EP1063807B1 (de) Gemeinsame Quellen- und Kanalcodierung
DE10306685A1 (de) Vorrichtung und Verfahren zur skalierbaren verlustlosen Audio-Codierung/-Decodierung
DE19952683A1 (de) Vorrichtung und Verfahren zum Senden und Empfangen von Video-Daten
EP0698316B1 (de) Verfahren zum Übertragen von Bildern mit ungleichem Fehlerschutz
EP1497943B1 (de) Verfahren und kommunikationsvorrichtung zur anpassung der datenrate in einer kommunikationsvorrichtung
EP0988728A2 (de) Quellengesteuerte kanaldecodierung durch verwendung der intra-rahmen-korrelation
DE19907728C2 (de) Vorrichtung und Verfahren zum Erzeugen eines Datenstroms und Vorrichtung und Verfahren zum Lesen eines Datenstroms
DE69421306T2 (de) Verfahren und Gerät für Kodage zur Fehlerkontrolle in einem digitalen Datenkommunikationssystem
EP1046254B1 (de) Verfahren und vorrichtung zur codierung und übertragung von informationen, unter verwendung von quellengesteuerter kanaldecodierung
EP1142185B1 (de) Verfahren und anordnung zur kanalcodierung bzw. decodierung von in rahmen strukturierten informationen
DE10220888B4 (de) Binärbildkomprimierungsverfahren und Verfahren zur Binärbildwiederherstellung
DE69832877T2 (de) Datenkommunikationsverfahren und Vorrichtung
EP1826911A1 (de) Codierung und Decodierung mit Trellis-codierter Modulation
DE19603725A1 (de) Verfahren zur Optimierung der Übertragung von Signalen
DE19503528A1 (de) Verfahren zum Übertragen oder Speichern von faltungscodierten Datensignalen
DE10238289B4 (de) Verfahren zur skalierbaren Codierung von Bildinformation, insbesondere Videobildinformation

Legal Events

Date Code Title Description
8364 No opposition during term of opposition