DE10034259A1 - Verfahren und Anordnung zur Codierung von Datensymbolen - Google Patents

Verfahren und Anordnung zur Codierung von Datensymbolen

Info

Publication number
DE10034259A1
DE10034259A1 DE2000134259 DE10034259A DE10034259A1 DE 10034259 A1 DE10034259 A1 DE 10034259A1 DE 2000134259 DE2000134259 DE 2000134259 DE 10034259 A DE10034259 A DE 10034259A DE 10034259 A1 DE10034259 A1 DE 10034259A1
Authority
DE
Germany
Prior art keywords
data
amr
frame
data packets
redundant information
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.)
Withdrawn
Application number
DE2000134259
Other languages
English (en)
Inventor
Tim Fingscheidt
Bernhard Wimmer
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE2000134259 priority Critical patent/DE10034259A1/de
Publication of DE10034259A1 publication Critical patent/DE10034259A1/de
Withdrawn 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Verfahren zur Codierung von Datensymbolen, bei dem Datenpaketen jeweils redundante Information im Sinne einer Kanalcodierung zugeordnet wird, wobei die redundante Information, die jeweils einem Datenpaket zugeordnet wird, jeweils aus einer anderen Gruppe von Datenpaketen abgeleitet wird.

Description

Die Erfindung betrifft ein Verfahren und eine Anordnung zur Codierung von Datensymbolen, insbesondere im Zusammenhang mit einer Kanalcodierung.
Quellensignale bzw. Quelleninformationen wie Sprach-, Ton-, Bild- und Videosignale beinhalten fast immer statistische Redundanz, also redundante Informationen. Durch eine Quellen­ codierung kann diese Redundanz stark verringert werden, so daß eine effiziente Übertragung bzw. Speicherung des Quellen­ signals ermöglicht wird. Diese Redundanzreduktion beseitigt vor der Übertragung redundante Signalinhalte, die auf der Vorkenntnis von z. B. statistischen Parametern des Signalver­ laufs beruhen. Die Bitrate der quellencodierten Informationen wird auch Quellbitrate genannt. Nach der Übertragung werden bei der Quellendecodierung diese Anteile dem Signal wieder zugesetzt, so daß objektiv kein Qualitätsverlust nachweisbar ist.
Auf der anderen Seite ist es üblich, bei der Signalübertra­ gung gezielt Redundanz durch Kanalcodierung wieder hinzu­ zufügen, um die Beeinflussung der Übertragung durch Kanal­ störungen weitgehend zu beseitigen. Durch zusätzliche redun­ dante Bits wird es somit dem Empfänger bzw. Decoder ermög­ licht, Fehler zu erkennen und eventuell auch zu korrigieren. Die Bitrate der kanalcodierten Informationen wird auch Brut­ tobitrate genannt. Als Coderate wird das Verhältnis der An­ zahl der Informationsbits bzw. Nutzdatenbits zur Anzahl der Codebits bezeichnet. Die Codebits setzen sich dabei aus den Informationsbits bzw. Nutzdatenbits und den Prüfbits - also der redundanten Information - zusammen.
Im Rahmen der Weiterentwicklung des Europäischen Mobilfunk­ standards GSM wird ein neuer Standard für die codierte Sprachübertragung entwickelt, der es ermöglicht, die gesamte Datenrate sowie die Aufteilung der Datenrate auf die Quel­ len- und Kanalcodierung je nach Kanalzustand und Netzbedin­ gungen (Systemlast) adaptiv einzustellen. Dabei sollen statt der oben beschriebenen, eine feste Quellbitrate aufweisenden Sprachcodecs neue Sprachcodecs zum Einsatz kommen, deren Quellbitrate variabel ist und welche an sich ändernde Rahmen­ bedingungen der Informationsübertragung angepaßt wird. Hauptziele derartiger AMR (Adaptive Multirate)-Sprachcodecs sind, Festnetzqualität der Sprache bei unterschiedlichen Ka­ nalbedingungen zu erzielen und optimale Verteilung der Kanal­ kapazität unter Berücksichtigung bestimmter Netzparameter zu gewährleisten.
Bei paket-orientierter Übertragung von Daten, wie beispiels­ weise bei der IP-Technologie im Internet, können Pakete ver­ loren gehen. Diese Verluste treten bei leitungsvermittelten Netzen, z. B. Internet, durch Bufferüberlänge in Routern auf, bei drahtlosen Netzen, z. B. UMTS, durch Störungen bei der Übertragung. Im Internet muss man mit Paketverlusten von 10-­ 20% rechnen.
Diese Fehler bewirken bei der Echtzeitübertragung von Bild und Ton oftmals einen Qualitätsverlust bei der Wiedergabe der übermittelten Daten, z. B. Aussetzer bei der Sprachübertragung (Voice over IP), manchmal jedoch auch den kompletten Verlust, z. B. bei der Wiedergabe von Videoinformationen könnte kurz­ zeitig das gesamte Bild nicht dargestellt werden, auch wenn nur ein Teil verlorengegangen ist.
Daher ist es notwendig, Verfahren in die Übertragung zu inte­ grieren, die Paketverluste erkennen und korrigieren. Bei Echtzeitanwendungen, wie bei Voice over IP (VoIP), ist es nicht notwendig, einen 100% fehlerfreien Datenstrom zu erhal­ ten, vielmehr kann es sinnvoll sein, bei niedrigem Übertra­ gungsdelay eine niedrige Paketverlustrate zu erzielen. Bisher sind hierzu folgende Verfahren bekannt:
  • - Wiederholungsverfahren fordern fehlende oder fehlerhafte Pakete wieder an. Ein sehr gängiges Verfahren ist das ARQ (Automatic Repeat Request). Diese Verfahren gewährleisten eine 100% Übertragungssicherheit. Jedoch steigt die Über­ tragungsdauer mit der Anzahl der wiederholten Übertragun­ gen und ist nicht akzeptabel für Echtzeitanwendungen. Zum anderen wird durch die Wiederholungsanforderungen die be­ nötigte Bandbreite pro Datenpaket erhöht. Beispielsweise IP verwendet hierfür das Layer-4-Protokoll TCP (Transport Control Protocol).
  • - Bei dem zweiten Verfahren wird aus einem oder mehreren Da­ tenpaketen Redundanzinformation, im Sinne einer Kanalco­ dierung, beispielsweise durch Blockcodes erzeugt und den Datenpaketen hinzugefügt. Hierbei werden beispielsweise zunächst die Datenpakete (d1, d2, d3, d4) für die Generie­ rung des Redundanzpaketes herangezogen. Dieses Redundanz­ paket wird auf die vier Datenpakete aufgeteilt und die so entstehenden 4 Pakete übertragen. Im nächsten Schritt wer­ den die Datenpakete (d5, d6, d7, d8) zur Erzeugung der redundanten Information herangezogen und so weiter. So ist es möglich, innerhalb einer solchen Gruppe von Paketen Da­ tenpakete bei Verlust zu rekonstruieren, abhängig von der Größe der Redundanz, d. h. der Coderate. Erfolgte die Ka­ nalcodierung derart, dass maximal 2 Pakete wiederherge­ stellt werden können, so kann bei einem Verlust von 3 Pa­ keten keines rekonstruiert werden, d. h. 3 Datenpakete sind verloren. Dies führt insbesondere bei Datenübertragungen, die durch Bündelfehler, d. h. eine Störung der Übertragung von aufeinanderfolgenden Datenpaketen beeinträchtigt sind, zu einer schlechten Übertragungsqualität.
Der Erfindung liegt daher das Problem zugrunde, ein Verfahren und eine Anordnung zur Codierung von Datensymbolen anzugeben, das, insbesondere trotz des Auftretens von Bündelfehlern, ei­ ne zufriedenstellende Übertragungsqualität ermöglicht.
Dieses Problem wird gemäß den Merkmalen der unabhängigen Pa­ tentansprüche gelöst. Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
Erfindungsgemäß wird die redundante Information, die jeweils einem Datenpaket im Sinne einer Kanalcodierung zugeordnet wird, jeweils aus einer anderen Gruppe von Datenpaketen abge­ leitet.
Dadurch wird erreicht, daß, insbesondere beim Auftreten von Bündelfehlern, die Datensymbole mit einer besseren Qualität übertragen werden können.
Eine Weiterbildung der Erfindung sieht vor, daß die Gruppe von Datenpaketen, aus der die redundante Information abgelei­ tet wird, durch ein über die Datenpakete gleitendes Fenster der Einflußlänge DEPTH bestimmt wird.
Dadurch ist gewährleistet, daß die Anzahl der korrigierbaren Datenpakete nicht nur, wie bei Blockcodes, von der Coderate, sondern auch von der Einflusslänge abhängt.
Ausführungsbeispiele werden nachfolgend anhand der folgenden Zeichnungen dargestellt und erläutert:
Fig. 1 schematische Darstellung eines Codierprinzips;
Fig. 2 Prinzipschaltbild einer Prozessoreinheit.
Fig. 1 zeigt eine Folge von Datenpaketen dp, in welchen jeweils Datensymbole ds zusammengefaßt sind. Dabei werden entsprechend der Einflußlänge DEPTH = 4 Datenpakete dp1-dp4 zu einer Gruppe von Datenpaketen dp_g1 zusammengefaßt und daraus im Sinne einer Kanalcodierung redundante Information ri1 abgeleitet, welche einem zu übertragenden Datenpaket dp5 hinzugefügt wird. Das entstehende Paket p5 wird anschließend über den mit Störungen behafteten Übertragungskanal übertragen.
Zur Codierung des folgenden Datenpaketes dp6 zu einem Paket p6 wird dem Datenpaket dp6 redundante Information ri2 hinzugefügt, welche aus einer anderen Gruppe dp_g2 von Datenpaketen dp2-dp5 abgeleitet wird.
Dieses Verfahren wird für die folgenden Datenpakete dp7, dp8, . . . entsprechend durchgeführt.
Diese Gruppen dp_g von Datenpaketen entstehen bildlich durch ein gleitendes Fenster sw der Einflußlänge DEPTH = 4. Die Erfindung ist aber keines falls darauf beschränkt; vielmehr sind auch andere Möglichkeiten zur Zusammenfassung von Datenpaketen zu Gruppen von Datenpaketen durch die Erfindung umfaßt. Beispielsweise können auch die Datenpakete dp1, dp3, dp5, dp7 zur Erzeugung der redundanten Information ri1 und die Datenpakete dp2, dp4, dp6, dp8 zur Erzeugung der redundanten Information ri2 herangezogen werden. Auch können zur Erzeugung der redundanten Information ri1, die dem Datenpaket dp5 hinzugefügt wird, die Datenpakete dp6, dp7, dp8, dp9 herangezogen werden oder gemäß einer Ausführungsvariante auch das Datenpaket dp5 herangezogen werden.
Eine Weiterbildung der Erfindung sieht vor, daß die Einflußlänge DEPTH variabel ist. Diese kann beispielsweise an Anforderungen der Datenübertragung, wie beispielsweise die aktuellen Übertragungskanalverhältnisse oder die aktuell geforderte Quality of Service angepaßt werden. Die Einflußlänge DEPTH kann dabei auch von Datenpaket zu Datenpaket unterschiedlich sein.
Eine besondere Ausführungsvariante sieht vor, daß es sich bei den Datensymbolen um binäre Symbole handelt.
Ferner sieht eine Ausgestaltung der Erfindung vor, daß die Coderate der Kanalcodierung variabel ist.
Im folgenden sind weitere Ausgestaltungen und Vorteile der Erfindung angegeben:
  • - Ein Redundanzpaket (redundante Information) kann durch ein beliebiges Fehlerkorrekturverfahren, z. B. durch XOR'n der einzelnen Bits, oder durch Read-Solomon-Codes, gebildet werden.
  • - Die Anzahl der korrigierbaren Pakete innerhalb eines Bursts ist abhängig von der Einflusslänge (DEPTH) und nicht (nur) von der Coderate.
  • - Die Länge (Anzahl der Octets eines Redundanzpaketes) der Redundanzpakete kann beliebig definiert werden.
  • - Die Länge der Redundanzpakete kann durch einen zusätzlichen Parameter von Redundanzpaket zu Redundanzpaket verändert werden.
  • - Die Redundanzpakete können entweder zusammen mit den Datenpaketen, getrennt oder in einer anderen beliebigen Kombination übertragen werden.
  • - Nicht für jedes Datenpaket muss ein Redundanzpaket erzeugt werden. Genauso kann für ein Datenpaket mehrere Redundanzpakete generiert werden.
In folgenden wird anhand eines Ausführungsbeispieles näher auf die Einflußlänge DEPTH eingegangen:
Die Anzahl der Datenpakete, die in das Redundanzpaket einfließt, wird also durch die Einflusslänge DEPTH definiert. Hierbei lassen sich folgende Fälle unterscheiden:
  • - DEPTH = 0 bedeutet, dass keine Redundanz erzeugt wird, bzw. Redundanzpakete eine Länge von 0 aufweist.
  • - DEPTH = 1 bedeutet, dass zur Erzeugung des Redundanzpaketes n nur die Informationen aus dem Datenpaket n-1 verwendet werden.
  • - DEPTH < 1 beschreibt, dass zur Bildung des Redundanzpaketes n beispielsweise die Datenpakete n-1, . . . n-DEPTH herangezogen werden.
Somit wird die Redundanzinformation aus DEPTH Vorgängerpaketen erzeugt. Der große Unterschied zum Block- Code-Verfahren liegt darin, dass die Redundanzinformation nicht aus einer festgelegten Gruppe von Datenpaketen hervorgeht, sondern die redundante Information aus einer Gruppe von Datenpaketen erzeugt wird, welche durch ein über die aufeinanderfolgenden Datenpakete gleitendes Fenster ausgewählt wird. Dadurch wird die redundante Information nicht mehrmals aus einer festen Gruppe von Datenpaketen abgeleitet, sondern für jedes Redundanzpaket eine andere Gruppe von Datenpaketen herangezogen. Dieses Verfahren erlaubt, Bündelfehler besser zu korrigieren als mit Block- Codes. Hierzu ein einfaches Beispiel:
  • - Bei einem Block-Code-Verfahren werden 4 Datenpakete als Block betrachtet und daraus 100% Redundanz erzeugt. Damit ergibt sich eine Rate von R = ½. Jeweils ein Datenpaket mit ¼ der Gesamtredundanz wird in einem Paket übertragen. Somit werden 4 Pakete verschickt. Erhält nun der Empfänger mindestens 2 Pakete, so kann er alle 4 Datenpakete rekonstruieren.
  • - Bei einer Ausführungsvariante der Erfindung wird auch 100% Redundanz (Rate R = ½) erzeugt. Wird Einflusslänge DEPTH = 4 gewählt, können somit Bündelfehler von 4 Paketen korrigiert werden, wenn nach dem Bündelfehler 4 fehlerfreie Datenpakete vorhanden sind. Die Korrekturfähigkeit kann somit auch bei fester Coderate durch die Einflusslänge DEPTH beeinflußt werden.
Eine für die Praxis besonders bedeutsame Ausführungsvariante der Erfindung ergibt sich bei deren Einbringung in ein Real- Time Transport Protocol (RTP) Profile, welche im folgenden beschrieben wird:
Das RTP-Payload-(Datenpaket)Format ist flexibel entworfen worden, so dass sowohl ein kleiner Overhead als auch erweiterte Formate für zukünftige AMR-Erweiterungen, wie beispielsweise hochratige Sprachmodi, die Möglichkeit für das Senden zusätzlicher Redundanz und das Übertragen von mehreren Sprachrahmen in einer RTP-payload möglich ist.
Jede RTP-Payload besteht aus
  • - RTP-Payload-Header, gefolgt von den
  • - RTP-Payload-Daten.
Die RTP-Payload-Daten werden durch Verwürfelung einer oder mehrerer RTP-Payload-Rahmen, siehe unten, erzeugt. Ein RTP- Payload -Rahmen kann erstellt werden aus:
  • - AMR-Rahmen und/oder
  • - Redundanz-Rahmen.
Jeder RTP Payload Rahmen muss selbst nicht ein Vielfaches von 8-Bit darstellen, jedoch die RTP Payload muss ein Vielfaches von 8-Bit sein. Falls das letzte Octet der RTP Payload noch unbenutzte Bits aufweist, so müssen diese zu 0 gesetzt werden.
Der Payload Header besitzt eine dynamische Länge, 3 oder 8 bits. Die Bits im Header sind folgendermaßen definiert:
Q (1 bit): Das Paylaod Qualitätsbit zeigt an, falls nicht gesetzt, dass die Payload erheblich gestört ist und der Empfänger das RX_TYPE, siehe "3G TS 26.093", setzen sollte und zwar zu SPEECH_BAD oder SID_BAD, abhängig vom Rahmentyp (FT).
I (1 bit) Falls gesetzt zu 1, wird die Verwendung des L- Parameters in jedem RTP Payload Rahmen Headers angezeigt. Sollte I = 0 sein, so wird der L-Parameter nicht verwendet.
R (1 bit): Zeigt an, dass die code mode request-(CMR)­ Anforderung geschickt bzw. nicht übertragen wird.
CMR (5 bits): Optionales Feld, abhängig von R-bit. Anforderung für Code Mode für die reverse Kommunikationsrichtung (siehe auch Tabelle 1).
RTP payload header, R = 0:
RTP payload header, R = 1:
Der RTP-Payload-AMR-Rahmen ist für die Übertragung von codierten AMR Sprachdaten entwickelt worden und besteht aus
  • - AMR Rahmen Header, dem die
  • - AMR Rahmen Payload folgt.
Der AMR Rahmen muss nicht ein Vielfaches von 8-Bit sein.
Jeder AMR Rahmen Header beinhaltet mehrere Felder, wie folgend definiert:
F (1 bit): Zeigt an, ob diesem Rahmen weitere Rahmen folgen. Falls F = 1 dann folgen weitere Rahmen, falls F = 0 dann ist dies der letzte Rahmen.
L (1 bit): (OPTIONAL) Falls das RTP Payload Header Bit I = 1, dann existiert dieses Feld. Falls I = 0, dann existiert L nicht. Falls L = I, dann beinhaltet der AMR Rahmen Header das LEN Feld. Falls L = 0, dann gibt es kein LEN Feld.
FT (5 bits): Dieser Frame type indicator, zeigt den AMR Sprachmodus bzw. den Comfort Noise (CN) an. Das Mapping der bestehenden AMR Modi ist in Tabelle 1 ersichtlich. Hieraus kann man die Anzahl der verwendeten Bits in der AMR Rahmen Payload ableiten. Falls FT = 15 (no transmission) sollte der Parameter L für beide AMR und Redundanz Rahmen zu 0 gesetzt werden.
LEN (7-bits): (OPTIONAL) Existiert nur, falls I = 1. LEN gibt die Anzahl der Octets in der aktuellen AMR Rahmen Payload an. Folgende Zustände können eintreffen und diese müssen folgendermaßen behandelt werden:
  • - Falls LEN.8 < = Anzahl an Sprachbits, definiert durch FT, ist, so soll die Anzahl der AMR Rahmen Payload Bits nicht durch FT, sondern durch LEN.8 bestimmt werden. Dies bedeutet, dass die codierten AMR Sprachdaten nur reduziert übertragen werden.
  • - Sonst sollte das LEN Feld ignoriert werden.
AMR frame format, I = 1 and L = 1:
AMR frame format, I = 1 and L = 0:
AMR frame format, I = 0:
Der AMR-Sprach-Codec erzeugt AMR-Sprachrahmen. Derzeit sind folgende AMR-Sprachrahmen-Typen definiert, siehe Tabelle 1.
Tabelle 1
AMR-Sprachrahmen-Typen
Die Anordnung der Bits eines Rahmens vom Typ 0-11 ist in "3G TS 26.101" dokumentiert. Sprachrahmen Typ 15, keine Übertragung wird benötigt, um nicht-übertragene oder verlorene Rahmen zu kennzeichnen, beispielsweise wenn mehrere Sprachrahmen in jeder Payload übertragen werden und Comfort Noise gestartet wird. Eine Rahmensequence mit 8 Sprachrahmen, AMR Typ 7 und CNG beginnend im fünften Sprachrahmen, könnte folgendermaßen aussehen: {7, 7, 7, 7, 8, 15, 15, 8}. Das AMR DTX (auch gekannt unter "source controlled rate operation", SCR) ist in 3G TS 26.093 dokumentiert. Ein weiterer Grund für den "no-transmission"-Sprachrahmen-Typ ist die Notwendigkeit einen notwendigen Kodiermoduswechsel während einer mit Comfort-Noise-kodierten Sprachpause anzufordern.
Bevor nun die AMR Sprachrahmen in die AMR Rahmen Payload kopiert werden, müssen die Sprachbits, in absteigender Bit- Fehleranfälligkeit umsortiert werden. Dieser Umsortieralgorithmus ist in 3G TS 26.101 dokumentiert.
Nach der Umsortierung wird der AMR-Sprachrahmen in die AMR- Rahmen Payload kopiert, wobei jedoch die gesetzten Parameter aus dem AMR Rahmen Header berücksichtigt werden müssen, wie beispielsweise nur Kopieren der ersten 8.LEN Bits, siehe oben.
Die RTP Payload Redundanz-Rahmen wurden für die Übertragung von Redundanzinformation entwickelt, um damit verlorengegangene AMR Rahmen zu korrigieren. Ein solcher Rahmen besteht aus
  • - Redundanz Rahmen Header, der gefolgt wird durch
  • - Redundanz Rahmen Payload.
Der Redundanz-Rahmen muss nicht ein Vielfaches von 8-Bit sein.
Jeder Redundanz Rahmen Header beinhaltet mehrere Felder, wie folgend definiert:
F (1 bit): Zeigt an, ob diesem Rahmen weitere Rahmen folgen. Falls F = 1 dann folgen weitere Rahmen, falls F = 0, dann ist dies der letzte Rahmen.
L (1 bit): (OPTIONAL) Falls das RTP Payload Header Bit I = 1, dann existiert dieses Feld. Falls I = 0, dann existiert L nicht. Falls L = 1, dann beinhaltet der Payload Rahmen Header das R_LEN-Feld. Falls L = 0, dann gibt es kein R_LEN-Feld.
R_FT (5 Bits): Dieses Feld gibt die FT-Felder der vergangenen DEPTH AMR Rahmen Header an. Dieses Feld wird durch folgende Regel erzeugt:
R_FT(n) = FT(n-1) EXOR . . . EXOR FT(n-DEPTH(n)) (Eq. 1),
wobei
n die aktuelle AMR-Rahmen-Nummer angibt.
FT(n) das FT-Feld im AMR Rahmen mit der Nummer n enthält
R_FT(n) das R_FT-Feld im Redundanz Rahmen n angibt
EXOR die exclusive ODER-Operation bedeutet.
DEPTH(n) das DEPTH-Feld im Rahmen n beschreibt.
R_LEN (7 bits): (OPTIONAL) Ist nur vorhanden, falls I = 1 gesetzt ist. R_LEN gibt die Anzahl der Octets in der aktuelle Redundanz Rahmen Payload an. Abhängig von R_LEN sind verschiedene Betriebsmodi möglich, die genauer in Kapitel 4.3.2 erläutert sind. R_LEN kann von Redundanz Rahmen zu Redundanz Rahmen sich ändern. Falls I = 0 und/oder L = 0, dann soll R = LEN(n) zu FT(n) gesetzt werden, wobei n die aktuelle AMR Rahmen Nummer bedeutet.
DEPTH (4 Bits): (OPTIONAL) ist nur vorhanden, falls L im Redundanz Header gesetzt ist. DEPTH definiert die Einflusslänge, also die Anzahl der AMR Vorgängerrahmen, die verwendet werden müssen für die Berechnung der Redundanz Rahmen Payload. Die genaue Berechnung ist unten beschrieben. DEPTH = 0 ist derzeit nicht verwendet und könnte für spätere Erweiterungen genützt werden. Falls I = 0 und/oder L = 0, dann soll DEPTH auf den Grundwert 15 gesetzt werden.
Redundanz-Rahmen-Format, I = 1 und L = 1:
Redundanz-Rahmen-Format, I = 1 und L = 0:
Redundanz-Rahmen-Format, I = 0:
Die Berechnung der Redundanz Payload beruht auf dem Parity Bit-Algorithmus, bei dem die Payload von ein oder mehreren AMR-Vorgängerrahmen in die Berechnung einfließen. Diese Anzahl wird durch den Parameter DEPTH bestimmt.
Der Algorithmus für diese Berechnung wird weiter unten angegeben.
Der Wert von R_LEN kann prinzipiell während der Übertragung geändert werden. Nimmt man nun an, dass R_LEN von RLEN1 zu R_LEN2 verändert wird und die Einflusslänge DEPTH konstant bleibt, so kann beim Verlust von AMR Rahmen eine maximale Anzahl von DEPTH AMR Rahmen rekonstruiert werden, jedoch nur die min(R_LEN1, R_LEN2) ersten Bits der AMR Rahmen Payload. Obwohl eine dynamische Änderung zulässig ist wird empfohlen diese Änderung nicht ständig für jeden neuen Redundanz Rahmen durchzuführen.
Der Wert für die Einflusslänge DEPTH kann während der Übertragung an die Übertragungseigenschaften angepasst werden. Nimmt man an, dass sich DEPTH von DEPTH1 nach DEPTH2 ändert. Zunächst wird hierbei empfohlen, für DEPTH einen maximal-zulässigen Parameter zu wählen, z. B. abhängig von der Applikation (z. B. bei Streaming kann DEPTH größer sein, bei Echtzeitkommunikation, wie Voice over IP, sollte DEPTH klein gewählt werden) und diesen nur ab und zu zu,ändern.
Im folgenden ist der Algorithmus für die Parity-Bit- Berechnung angegeben:
Bezeichnungen
n: aktuelle AMR Rahmen Nummer; n wird fortlaufend erhöht, und zwar für jedes angesandte AMR Rahmen Paket; n bezeichnet auch das aktuelle Redundanz Rahmen Paket.
o: AMR Rahmen Nummer des AMR Rahmens, welches weniger AMR Rahmen Payload Bits enthält als durch das aktuelle R_LEN(n) gefordert wird damit R_LEN(n) < LEN(o).
g(n,m): bit m in der AMR Rahmen Payload mit der Nummer n.
p(n,m): bit m in der Redundanz Rahmen Payload mit der Nummer n.
XOR: exclusive ODER Operation.
R_LEN(n): bezeichnet das R_LEN Feld im Redundanz Rahmen Header mit der Nummer n.
Die Parity-Bits sollen nach folgender Vorschrift erzeugt werden:
(n,m) = g(n-1,m) EXOR . . . EXOR g(n-DEPTH+1, m) EXOR g(n-­ DEPTH, m) (eq. 2)
für m = 0 . . . R_LEN(n)-1.
Gleichung 2 fordert aber, dass alle LEN(i) mit i = (1, . . ., DEPTH) mindestens genauso viele Bits aufweisen wie R_LEN(n). Falls dies nicht der Fall ist, so muss in der AMR Rahmen Payload, in der Bits fehlen, diese virtuell aufgefüllt werden. Hierzu muss folgende Regel angewendet werden.
Diese Regel bedeutet, dass virtuelle Daten aus den empfindlichsten Bits der AMR Vorgängerrahmen Payload kopiert werden. Wenn jedoch dieser Vorgängerrahmen außerhalb des Fensters DEPTH liegt so werden die virtuellen Bits zu 0 gesetzt. In dem Fall, dass die Länge der AMR Vorgängerrahmen Payload kleiner ist als die für die virtuelle Daten benötigt wird, so sollen die fehlenden virtuellen Bits zu 0 gesetzt werden.
Beispiel
In diesem Beispiel, siehe Tabelle 2, enthält die AMR Rahmen Payload (n-2) nicht genug Daten. Daher werden die empfindlichsten Daten aus der AMR Rahmen Payload (n-3) kopiert, bis die gewünschte Anzahl an virtuellen Daten erreicht ist.
Tabelle 2
Beispiel für die Erzeugung virtueller Bits bei der Barity-Bit-Berechnung
Man stelle sich nun vor, dass ein AMR Rahmen und ein Redundanz Rahmen in einem RTP Payload Paket enthalten sind. Falls nun DEPTH < = 1 gewählt wurde, so kann damit ein einzelnes AMR Rahmen Payload Paket innerhalb der letzten DEPTH-AMR-Rahmen rekonstruiert werden. Falls DEPTH = 2 ist, so können bis zu 2 aufeinanderfolgende AMR Rahmen + Redundanz Rahmen ersetzt werden, unter der Vorraussetzung, dass 2 fehlerfreie AMR packet danach empfangen werden. Im allgemeinen erlaubt die Bufferung von DEPTH AMR Rahmen mit den entsprechenden Redundanz Rahmen die Rekonstruktion von DEPTH AMR Vorgängerrahmen Paketen. Die Rekonstruktion beginnt mit dem zuletzt fehlerhaft-empfangenen AMR Rahmen Paket und wird dann Schritt für Schritt in die Vergangenheit (bis DEPTH) durchgeführt, da die rekonstruierten AMR Rahmen Pakete für die Rekonstruktion der älteren AMR Rahmen Pakete benötigt wird.
Aus Verzögerungsgründen ist es nicht sinnvoll, eine große Anzahl von CNG-AMR Rahmen zu speichern. Daher müssen folgende Regeln beachtet werden:
  • - Der zweite AMR Rahmen, der CNG-Information enthält, soll DEPTH maximal zu 1 setzen. Dies gilt für alle nachfolgenden CNG-AMR-Rahmen.
  • - Der erste und zweite AMR Rahmen nach einer Sprachpause, die keine CNG- also Sprachdaten enthalten, dürfen maximal zu 1 gesetzt werden.
Diese Regeln erlauben ein sehr gutes Wiederaufsetzen von verlorengegangenen AMR frames im DTX-Modus und gleichzeitig ein niedriges Delay.
Bei einer Payload-Block-Verwürfelung handelt es sich um eine Anweisung, in welcher Reihenfolge die einzelnen Bits der AMR und Redundanz Frame Payload verwürfelt und für die Übertragung angeordnet werden sollen.
Fig. 2 zeigt eine programmgesteuerte Prozessoreinrichtung PE, wie beispielsweise einen Mikrocontroller, die auch einen Prozessor CPU und eine Speichereinrichtung SPE umfassen kann.
Je nach Ausführungsvariante können dabei innerhalb oder außerhalb der Prozessoreinrichtung PE weitere, der Prozessoreinrichtung zugeordnete, zur Prozessoreinrichtung gehörende, durch die Prozessoreinrichtung gesteuerte oder die Prozessoreinrichtung steuernde Komponenten angeordnet sein, deren Funktion im Zusammenhang mit einer Prozessoreinrichtung einem Fachmann hinreichend bekannt sind, und auf welche daher an dieser Stelle nicht mehr eingegangen wird. Die unterschiedlichen Komponenten können über ein Bussystem BUS oder Ein/Ausgabeschnittstellen IOS und gegebenenfalls geeignete Controller (nicht dargestellt) Daten austauschen. Dabei kann die Prozessoreinrichtung PE Bestandteil eines elektronischen Gerätes, wie beispielsweise eines Kommunikationsendgerätes, oder eines Mobiltelefons sein und auch andere für das elektronische Gerät spezifische Verfahren und Anwendungen steuern.
Je nach Ausführungsvariante kann die Speichereinrichtung SPE, bei der es sich auch um einen oder mehrere flüchtige oder nicht flüchtige RAM- oder ROM-Speicherbausteine handeln kann, oder Teile der Speichereinrichtung SPE als Teil der Prozessoreinrichtung (in Figur dargestellt) realisiert sein oder als externe Speichereinrichtung (in Figur nicht dargestellt) realisiert sein, die außerhalb der Prozessoreinrichtung PE oder sogar außerhalb des die Prozessoreinrichtung PE beinhaltenden Gerätes lokalisiert ist und durch Leitungen oder ein Bussystem mit der Prozessoreinrichtung PE verbunden ist.
In der Speichereinrichtung SPE sind die Programmdaten, die zur Steuerung des Gerätes und des Verfahrens zur Codierung der Datensymbole herangezogen werden, abgelegt. Es liegt im Rahmen fachmännischen Handelns, oben erwähnte Funktionskomponenten durch programmgesteuerte Prozessoren oder eigens für diesen Zweck vorgesehene Mikroschaltungen zu realisieren.
Neben dem Prozessor CPU kann ein digitaler Signalprozessor DSP vorgesehen sein, um die Schritte der oben erläuterten Verfahren ganz oder teilweise auszuführen.

Claims (8)

1. Verfahren zur Codierung von Datensymbolen (ds),
  • - bei dem Datensymbole (ds) zu aufeinanderfolgenden Datenpaketen (dp) zusammengefaßt werden,
  • - bei dem den Datenpaketen (dp) jeweils redundante Information (ri) im Sinne einer Kanalcodierung zugeordnet wird,
  • - wobei die redundante Information (ri) aus einer Gruppe (dp_g) von Datenpaketen (dp) abgeleitet wird,
dadurch gekennzeichnet, daß
  • - die redundante Information (ri), die jeweils einem Datenpaket (dp) zugeordnet wird, jeweils aus einer anderen Gruppe (dp_g) von Datenpaketen (dp) abgeleitet wird.
2. Verfahren nach Anspruch 1, bei dem die Gruppe (dp_g)von Datenpaketen (dp), aus der die redundante Information (ri) abgeleitet wird, durch ein über die Datenpakete (dp) gleitendes Fenster (sw) der Einflußlänge DEPTH bestimmt wird.
3. Verfahren nach Anspruch 2,
  • 1. bei dem die redundante Information, die einem Datenpaket i = m zugeordnet wird, durch eine Gruppe von Datenpaketen i = n-1 . . . n-DEPTH bestimmt wird, und
  • 2. bei dem die redundante Information, die einem Datenpaket i = m + 1 zugeordnet wird, durch eine Gruppe von Datenpaketen i = n . . . n+1-DEPTH bestimmt wird.
4. Verfahren nach einem der Ansprüche 2 oder 3,
  • - bei dem die Einflußlänge DEPTH variabel ist.
5. Verfahren nach Anspruch 4, bei dem
  • - die Einflußlänge DEPTH an Anforderungen der Datenübertragung angepaßt wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem
  • - es sich bei den Datensymbolen um binäre Symbole handelt.
7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem
  • - die Coderate der Kanalcodierung variabel ist.
8. Anordnung zur Codierung von Datensymbolen mit einer Prozessoreinrichtung (PE), die derart eingerichtet ist, daß
  • - Datensymbole zu aufeinanderfolgenden Datenpaketen zusammengefaßt werden,
  • - den Datenpaketen jeweils redundante Information im Sinne einer Kanalcodierung zugeordnet wird, wobei die redundante Information aus einer Gruppe von Datenpaketen abgeleitet wird, und
  • - bei dem die redundante Information, die jeweils einem Datenpaket zugeordnet wird, jeweils aus einer anderen Gruppe von Datenpaketen abgeleitet wird.
DE2000134259 2000-07-14 2000-07-14 Verfahren und Anordnung zur Codierung von Datensymbolen Withdrawn DE10034259A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2000134259 DE10034259A1 (de) 2000-07-14 2000-07-14 Verfahren und Anordnung zur Codierung von Datensymbolen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000134259 DE10034259A1 (de) 2000-07-14 2000-07-14 Verfahren und Anordnung zur Codierung von Datensymbolen

Publications (1)

Publication Number Publication Date
DE10034259A1 true DE10034259A1 (de) 2002-01-24

Family

ID=7648913

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000134259 Withdrawn DE10034259A1 (de) 2000-07-14 2000-07-14 Verfahren und Anordnung zur Codierung von Datensymbolen

Country Status (1)

Country Link
DE (1) DE10034259A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004003158A1 (de) * 2004-01-21 2005-04-14 Siemens Ag Verfahren zur Erstellung zweier oder mehrerer Transportblöcke aus zwei oder mehreren Informationsblöcken, zugehörige Vorrichtung zur Durchführung des Verfahrens

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004003158A1 (de) * 2004-01-21 2005-04-14 Siemens Ag Verfahren zur Erstellung zweier oder mehrerer Transportblöcke aus zwei oder mehreren Informationsblöcken, zugehörige Vorrichtung zur Durchführung des Verfahrens

Similar Documents

Publication Publication Date Title
DE60028399T2 (de) Robuste header-komprimierung bei paketbasierter kommunikation
DE60038035T2 (de) Headerkomprimierung durch verwendung von divisionsresten
DE69733767T2 (de) Sekundäre kanäle unter verwendung von kodeverletzungen
DE60119080T2 (de) Verfahren und vorrichtung zur herstellung von kryptosynchronismus in einem auf gepackten daten basierenden kommunikationssystem
DE10393682B4 (de) Verfahren zur Fehlerschutzcodierung und -decodierung von Nachrichten in einem Datenübertragungssystem mit Paketvermittlung
EP1121762B1 (de) Verfahren zur kodierung oder dekodierung und vorrichtung zum kodieren oder dekodieren
DE19815597B4 (de) Datenübertragungssystem, mobile Station und Verfahren zum Verringern der Rahmenfehlerrate bei einer in Form von Datenrahmen erfolgenden Datenübertragung
DE10008064B4 (de) Verfahren zum Anpassen der einem Turbo-Codierer zuzuführenden Datenblöcke und entsprechende Kommunikationsvorrichtung
DE19630343A1 (de) Verfahren, Vorrichtung und Paket-Übertragungssystem unter Verwendung einer Fehlerkorrektur von Datenpaketen
DE10129777A1 (de) Verfahren und Vorrichtung zur Datenübertragung gemäß einem ARQ-Verfahren
EP1461888B1 (de) Verfahren und vorrichtung zur datenübertragung, wobei ein bitratenanpassungsmuster zwischen sender und empfänger signalisiert wird
DE19941331B4 (de) Verfahren zum Übertragen von Information zu Hintergrundrauschen bei Datenübertragung mittels Datenrahmen sowie Kommunikationssystem, Mobilstation und Netzwerkelement
EP1175047B1 (de) Verfahren und Anordnung zum Schutz gegen Paketverlusten bei einer paketorientierten Datenübertragung
EP0993712B1 (de) Verfahren und anordnung zur codierung digitaler daten
WO2006010689A1 (de) Codier- und decodierverfahren, sowie codier- und decodiervorrichtungen mit einem zweistufigen fehlerschutzverfahren
DE69932482T2 (de) Übertragungssystem mit adaptivem kanalkodierer und -dekoder
DE10318068B4 (de) Verfahren und Vorrichtung zum Paket-orientierten Übertragen sicherheitsrelevanter Daten
DE10034259A1 (de) Verfahren und Anordnung zur Codierung von Datensymbolen
EP1512242B1 (de) Gleiche punktierung von ue identifikationsdaten und nutzerdaten beim hs-scch kanal
EP1511215B1 (de) Verfahren und Vorrichtung zur Datenübertragung gemä einem Hybrid-ARQ-Verfahren
DE60300391T2 (de) Verfahren zur Paketpufferspeicherverwaltung und zugehörige Vorrichtung
WO2002084929A1 (de) Verfahren und vorrichtung zur übertragung von digitalen signalen
EP1142185B1 (de) Verfahren und anordnung zur kanalcodierung bzw. decodierung von in rahmen strukturierten informationen
DE19813412B4 (de) Verfahren zur Übertragung von Videodaten mit Mobilfunkgeräten
EP1708403B1 (de) Hybrides ARQ Verfahren zur Datenübertragung, Sender und Empfänger dafür

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal