Title:
Verfahren zur Aufbereitung von Daten, insbesondere für die Übertragung mit veränderlicher Kanalbitrate
Kind Code:
B4


Abstract:

Kanalencoder zur Aufbereitung von Daten, für die Übertragung über einen Kanal mit vorgebbar veränderlicher Datenrate, ist eingerichtet, folgende Maßnahmen durchzuführen:
– die Daten in verschiedene Bitklassen (c[i]) entsprechend ihrer Fehlerempfindlichkeit aufzuteilen,
– die so aufgeteilten Bitklassen (c[i]) mit Gewichtsfaktoren zu bewerten und mit unterschiedlicher Fehlerredundanz zu versehen, wobei die Bitklasse/n (c[i]) mit den fehlerempfindlichsten Bits eine höhere Fehlerredundanz erhält/erhalten,
dadurch gekennzeichnet, dass
der Kanalencoder eingerichtet ist,
– jede Bitklasse (c[i]) mit einem vorgegebenen Gewichtsfaktor (w[i]) zu bewerten, der abhängig von der mittleren Fehlerempfindlichkeit der jeweiligen Bitklasse (c[i]) gewählt wird, und
– die Zuteilung der Coderate (r) der einzelnen Bitklassen in Abhängigkeit der jeweiligen Gewichtsfaktoren (w[i]) zu steuern.




Inventors:
Mueller, Joerg-Martin (71409, Schwaikheim, DE)
Application Number:
DE19605418A
Publication Date:
11/20/2014
Filing Date:
02/14/1996
Assignee:
IPCom GmbH & Co. KG, 82049 (DE)
Domestic Patent References:
DE4408163A1N/A1995-09-14



Foreign References:
52436291993-09-07
EP06434931995-03-15
Attorney, Agent or Firm:
FROHWITTER Patent- und Rechtsanwälte, 81679, München, DE
Claims:
1. Kanalencoder zur Aufbereitung von Daten, für die Übertragung über einen Kanal mit vorgebbar veränderlicher Datenrate, ist eingerichtet, folgende Maßnahmen durchzuführen:
– die Daten in verschiedene Bitklassen (c[i]) entsprechend ihrer Fehlerempfindlichkeit aufzuteilen,
– die so aufgeteilten Bitklassen (c[i]) mit Gewichtsfaktoren zu bewerten und mit unterschiedlicher Fehlerredundanz zu versehen, wobei die Bitklasse/n (c[i]) mit den fehlerempfindlichsten Bits eine höhere Fehlerredundanz erhält/erhalten,
dadurch gekennzeichnet, dass
der Kanalencoder eingerichtet ist,
– jede Bitklasse (c[i]) mit einem vorgegebenen Gewichtsfaktor (w[i]) zu bewerten, der abhängig von der mittleren Fehlerempfindlichkeit der jeweiligen Bitklasse (c[i]) gewählt wird, und
– die Zuteilung der Coderate (r) der einzelnen Bitklassen in Abhängigkeit der jeweiligen Gewichtsfaktoren (w[i]) zu steuern.

2. Kanalencoder nach Anspruch 1, dadurch gekennzeichnet, dass der Kanalencoder eingerichtet ist, die Zuteilung der Fehlerredundanz für jede Bitklasse kontinuierlich in Abhängigkeit der vorgebbar veränderlichen Kanalbitrate zu verändern.

3. Kanalencoder nach einem der Ansprüche 1 bis 2, dadurch gekennzeichnet, dass der Kanalencoder eingerichtet ist, die Fehlerredundanz für die Bitklasse (c[i]) mit der höchsten Fehlerempfindlichkeit so zu wählen, dass die Bitrate, das heißt das Verhältnis von Informations- zu den Übertragungsbits, kleiner oder gleich 1/2 ist.

4. Kanalencoder nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Kanalencoder eingerichtet ist, für die Bitklasse (c[i]) mit der niedrigsten Fehlerempfindlichkeit die Fehlerredundanz zu Null zu wählen.

5. Kanalencoder nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass der Kanalencoder eingerichtet ist, die Bitklassen (c[i]) blockweise geordnet in einem Übertragungsrahmen zu übertragen.

6. Kanalencoder nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der Kanalencoder eingerichtet ist, die Fehlerredundanz für eine Bitklasse nur so weit zu erhöhen, wie ein noch sinnvoller Codiergewinn erreichbar ist.

7. Kanalencoder nach Anspruch 5, dadurch gekennzeichnet, dass der Kanalencoder eingerichtet ist, die Fehlerredundanz jeweils am Ende einer Bitklasse im entsprechenden Block zu übertragen.

8. Kanalencoder nach Anspruch 5, dadurch gekennzeichnet, dass für den Fall, dass eine Bitklasse die Kapazität eines Blockes im Übertragungsrahmen nicht voll ausfüllt, der Kanalencoder eingerichtet ist, Bits einer Bitklasse mit niedrigerer Fehlerempfindlichkeit in die Bitklasse mit der nächsthöheren Fehlerempfindlichkeit zu übernehmen.

9. Kanalencoder nach Anspruch 5, dadurch gekennzeichnet, dass für den Fall, dass einer Bitklasse mehr Bits zugewiesen werden als es der Kapazität ihres Blockes im Übertragungsrahmen entspricht, der Kanalencoder eingerichtet ist, Bits einer Bitklasse mit höherer Fehlerempfindlichkeit in die Bitklasse mit der nächstniedrigeren Fehlerempfindlichkeit zu übernehmen.

Description:

Die Erfindung geht aus von einem Verfahren zur Aufbereitung von Daten, insbesondere für die Übertragung über einen Kanal mit veränderbarer Kanalbitrate.

Stand der Technik

Der Standard H 324 M für mobile Videotelefonanwendungen lässt alle möglichen mobilen Funksysteme zu, so dass der Bedarf an verfügbarer Datenrate (Kanalbitrate) unterschiedlich sein kann. Selbst innerhalb eines Übertragungssystems kann die verfügbare Bitrate für Sprach- und Video-Kanalcodecs unterschiedlich sein.

Aus der DE 41 37 609 A1 ist ein Verfahren zum Decodieren von Binärsignalen von über einen Kanal übertragenen nach einem fehlerkorrigierenden Code aufbereiteten Binärsignalen bekannt. Die Bitfehlerwahrscheinlichkeit wird ausgewertet und eine Entscheidung getroffen, ob die empfangenen Bits richtig oder fehlerhaft sind.

Aus US 5,243,629 ist ein Übermittler bekannt, welcher sich der Übertragung der Digitaldaten von HDTV-Videosignalen widmet. Dabei ist der Übermittler eingerichtet, die Videosignale in mehrere Klassen von Informationen aufzuteilen und je einem Subkanal zuzuteilen, welche für unterschiedliche Fehlerschutzstufen codiert werden, wobei der Übermittler die Videosignale so aufteilt, dass mindestens eine Klasse von Informationen „wichtiger” („more important”) und somit mit mehr Fehlerschutz als die restlichen Klassen von Informationen ist.

Vorteile der Erfindung

Mit den Maßnahmen gemäß den Merkmalen des Patentanspruchs 1 läßt sich insbesondere eine Adaption eines Kanalcodec für beliebige Übertragungsverfahren erreichen. Die weiteren Ansprüche zeigen vorteilhafte Ausgestaltungen auf.

Im Gegensatz zu herkömmlichen Übertragungsverfahren muß nicht für jedes Übertragungssytem, zum Beispiel Mobilfunksystem, ein spezifischer Kanalcodec vorgesehen sein, zum Beispiel ein Kanalcodec speziell für GSM oder DECT. Die Erfindung arbeitet zuverlässig, selbst wenn die verfügbare Kanalbitrate unbekannt ist. Die Konfiguration eines Kanalencoders und eines entsprechenden Kanaldecoders hängt bei der Erfindung nur von der verfügbaren Kanalcodec-Bitrate ab. Eine Übertragung nach G.723.1 über Mobilfunkkanäle unterschiedlicher Kanalbitrate ist möglich, ohne Änderung der Kanalencoder oder -decoder. Die Kanalencoder beziehungsweise -decoder müssen lediglich skalierbar ausgebildet sein, das heißt in Abhängigkeit der Kanalbitrate wird die Coderate stufenweise verändert.

Zeichnungen

1 zeigt ein Blockschaltbild für die Datenaufbereitung bei der Erfindung,

2 zwei Vorschläge für die Bitverteilung auf die Bitklassen und die Gewichtsfaktoren der Bitklassen,

3 die Bitverteilung auf die Bitklassen sowie die Coderate für verschiedene Kanalbitraten und

4 eine ebensolche Verteilung für ein anderes Übertragungsverfahren.

Beschreibung von Ausführungsbeispielen

Wie in 1 dargestellt ist, werden die aufzubereitenden Informationsbits, beispielsweise gemäß dem Übertragungsstandard G.723.1, in der Einheit BO in Abhängigkeit ihrer Fehlerempfindlichkeit geordnet. Das empfindlichste Bit wird an die erste Stelle des geordneten Datenstroms gesetzt und das am wenigsten empfindliche Bit an die letzte Position. Die Ermittlung der Fehlerempfindlichkeit von Informationsbits basiert auf bekannten Meßverfahren, die im Zusammenhang mit der G.723.1 vorgeschlagen wurden. Der so geordnete Datenstrom wird nun in verschiedene Bitklassen c[i] aufgeteilt – Block BK – mit beispielsweise i = 0, ..., 4, wobei c[0] die fehlerempfindlichsten Bits enthält und c[4] die am wenigsten fehlerempfindlichsten Bits. Anschließend wird jeder Bitklasse ein Gewichtsfaktor w[i], i = 0, ..., 4 – Block WK – zugewiesen, zur Steuerung der Zuteilung der Bitrate (Coderate) r für die einzelnen Bitklassen. Der Gewichtsfaktor w[i] wird in Abhängigkeit von der mittleren Fehlerempfindlichkeit der jeweiligen Bitklasse c[i] gewählt. Die Coderate r gibt hierbei das Verhältnis der Anzahl der Informationsbits k zur Anzahl der Übertragungsbits n an (F. J. Furrer, Fehlerkorrigierende Block-Codierung für die Datenübertragung, Birkhäuser-Verlag, Basel, 1981, Seite 270): r = k/n

Ist r = 1, werden die Informationsbits ungeschützt übertragen. Für r = 1/2 wird jedes Informationsbit mit einem redundanten Fehlerschutzbit versehen. Die Bits der Klasse 4 erhalten keinen Schutz. Die Klasse c[0] enthält c[0] – 3 Informationsbits und drei parity check code bits, die an das Ende der Klasse c[0] innerhalb eines Datenblocks gefügt werden. Die Datenblöcke mit den verschiedenen Bitklassen werden in einem Übertragungsrahmen untergebracht.

Die Klasse c[0] wird stets mit der höchsten Fehlerredundanz versehen, beispielsweise mit einer Minimum-Fehlerschutzrate (Coderate r <= 1/2). Die anderen Klassen haben keinen so hohen Fehlerschutz (Konstraint).

Vorzugsweise wird für die Übertragung ein kurzer Paritycheck-code (3 bit parity check code) verwendet, der als fehlererkennender Code im Kanaldecoder nicht korrigierte Fehler erkennen soll (bad frame detection). Insbesondere kann bei Verwendung eines Viterbi-Decoders die Softdecision-Ausgangsinformation der Einheit SOVA (Soft Decision Viterbi Algorithm) zur „bad frame detection” verwendet werden. Mit einer Constraint-Länge von 5 (16 Zustände) und einem Code der Coderate r = 1/3 läßt sich eine zuverlässige Übertragung mit vertretbarem Decoderaufwand realisieren. Höhere Konstraint-Längen führen zu keiner sinnvollen Erhöhung des Codiergewinns mehr. Höhere Coderaten können vom Ausgangscode der Rate 1/3 durch Codepunktierung abgeleitet werden. Die vier Bits (tail bits) zum Abschluß des Codes werden stets an das Ende der letzten geschützten Bitklasse gesetzt und erhalten die gleiche Coderate wie diese Klasse. Daraus ergibt sich eine minimale Anzahl von Kanalcodec-Bits pro Übertragungsrahmen zu: Bmin = c[0] + 4.

Die maximale Anzahl von Kanalcodec-Bits pro Übertragungsrahmen wird erreicht, wenn alle Klassen die Coderate r = 1/3 inclusive Fehlerschutz aufweisen:

Wenn pro Übertragungsrahmen B > Bmin Bits verfügbar sind, werden in einem ersten Durchgang die mittleren Coderaten r'[i], i = 0, ...4 der Klassen zum Beispiel nach folgender Beziehung bestimmt:

NINT bedeutet hier die Rundung zur nächstgelegenen ganzen Zahl. Für die Coderate der Bitklasse Null muß folgende Bedingung gelten: r'[0] < = 12/24

Die Bedingung muß ebenfalls eingehalten werden.

Um die Kanalcodec-Bits effizient zu verteilen, insbesondere für Mobilfunk-Anwendungen, wird eine zusätzliche Redundanz für die Coderate nach folgender Beziehung angewandt:

Wenn mit obigen Beziehungen weniger Bits für eine Klasse zugeteilt werden als es der Kapazität eines Blockes im Übertragungsrahmen entspricht, das heißt dieser Block nicht voll ausgefüllt ist, werden in einem zweiten Durchgang Bits der Klasse i (i > 1) in die Klasse i – 1 mit der nächsthöheren Fehlerempfindlichkeit übernommen bis alle Bits den entsprechenden Bitklassen zugewiesen sind.

Wenn mehr Bits einer Bitklasse zugewiesen wurden, als es der Kapazität ihres Blockes im Übertragungsrahmen entspricht, werden im zweiten Durchgang Bits der Klasse i (i < 4) in die Klasse i + 1 übernommen, bis die maximal mögliche Coderate erreicht ist.

In der 2 sind zwei mögliche Vorschläge für die Bitverteilung und die Bewertung mit den Gewichtsfaktoren w[i] dargestellt. Die Konfiguration ist etwas modifiziert. Die „tail bits” werden in der Klasse mit der geringsten Fehlerredundanzübertragung (dies ist die Klasse 3, da die Klasse 4 ungeschützt übertragen wird)...... Die „parity check code bits” für die Fehlererkennung der ersten Klasse sind mit crc bezeichnet.

3 zeigt eine Tabelle für die vorgebbar veränderlichen Datenraten (Kanalbitraten) 8.0, 9.0, 10.0 und 11.4 Kbit/s mit der Bitverteilung und der entsprechenden Coderate r[i]. Für andere Übertragungsnormen, beispielsweise gemäß G.723.1, ergeben sich andere Bitverteilungen und Coderaten (4).

Das Verfahren nach der Erfindung wird insbesondere während einer Verbindungsaufbauphase in einem Kanalcoder CE und dem entsprechenden Kanaldecoder CD durchgeführt oder jedes Mal, wenn die variable Kanalbitrate gewechselt wird. Dies ist theoretisch für jeden Übertragungsrahmen möglich.

Bei der Erfindung wird die Zuteilung der Fehlerredundanz für jede der Bitklassen kontinuierlich verändert und zwar in Abhängigkeit der vorgebbar veränderlichen Kanalbitrate. Die im Übertragungsrahmen zur Verfügung stehende Anzahl von Redundanzbits wird so mittels einer Zuordnungsvorschrift optimal auf die Bitklassen verteilt, wobei sich die Anzahl der Redundanzbits in 1-Bit-Schritten verändern darf.