-
Die Erfindung betrifft ein Verfahren zum Übertragen eines analogen oder digitalen Signals. Insbesondere befasst sich die Erfindung mit der Wiederherstellung von Daten, die während einer Übertragung über einen Übertragungskanal verloren gegangen und/oder beschädigt wurden.
-
Es ist bekannt, dass Daten während der Übertragung, z. B. über einen rauschbehafteten Kanal durch verschiedene Fehlerkorrekturschemata geschützt werden können. Zu diesem Zweck werden m Paritätspakete durch einen Kodierer generiert, die k Informationspaketen hinzugefügt werden, sodass n = k + m Codewortpakete über den Kanal übertragen werden. Unter Verwendung der übertragenen Paritätsinformationen können verloren gegangene und/oder beschädigte Daten wiederhergestellt werden.
-
Ein Kodierschema, das aus dem Stand der Technik bekannt ist, ist Fountain Coding. Fountain Coding kann z. B. im Packet Level angewendet werden und ist eine einfache und effiziente Technik, um eine zuverlässige Übertragung in einem Kommunikationssystem zu gewährleisten. Die wesentlichen Prinzipien von Packet Level Fountain Coding sind in 1 dargestellt.
-
Zunächst wird die zu übertragende Nachricht, z. B. eine DATEI, aufgeteilt in k Informationspakete von L Bits oder Bytes (Eingangssymbole für den Fountain Encoder) und in k + Δ Fountain Code (FC) Symbole kodiert (Pakete von L Bits oder Bytes). Somit werden die k + Δ Pakete durch den Packet Level Encoder generiert und sind die Ausgangssymbole des Fountain Encoders. Δ ist der Overhead auf der Senderseite, d. h. die Anzahl an Paketen, die durch den Encoder zusätzlich zu k generiert werden.
-
Zweitens, werden die k + Δ Fountain Encoder Symbole im Physical Layer (innerhalb des PHY Layer Frames) durch Fehlerkorrekturcodes geschützt (z. B. Turbo, LDPC...), Fehlererkennungscodes (z. B. Cyclic Redundancy Check (CRC)) und sie werden übertragen.
-
Drittens, wird auf jedes Paket auf der Empfängerseite eine Fehlerkorrektur im Physical Layer angewandt und verbleibende Fehler werden durch den Fehlererkennungscode erkannt. Wenn Fehler erkannt werden, wird das Paket als verloren angesehen und als Auslöschung markiert. Somit sehen die Layer über dem Physical Layer das Kommunikationsmedium als einen Packet Erasure Channel (PEC) an, auf dem Pakete entweder korrekt empfangen werden oder verloren gehen.
-
Schließlich stellt der Packet Level Decoder die originale Nachricht her, sofern eine ausreichende Anzahl an Paketen empfangen wird.
-
Fountain Codes sind ratenlose Codes, d. h. Δ = 0, 1, 2, ...., was bedeutet, dass keine Grenze für die Anzahl der generierten Fountain Encoder Pakete besteht. Fountain Encoder Pakete werden generiert, bis der Paket Level Decoder im Stande ist, die originale Nachricht wiederherzustellen.
-
-
Dieses ”Fountain” Konzept ist von großem Interesse in Broadcasting Netzwerken, da es verwendet werden kann, um jede Art von ARQ (Automatic Repeat Request) zu ersetzen. Tatsächlich kann im Gegenteil angenommen werden, dass jeder User einen Retransmission Request für jedes fehlende Paket an den Server übermittelt. Es ist tatsächlich klar, dass, wenn viele User versuchen die Datei vom Server zu erlangen, der Sender auf der Serverseite durch die Retransmission Requests bedrängt würde, was zu einer sehr niedrigen Gesamteffizienz der Verbindung führen würde.
-
Ein effizienter „Fountain” Code ist daher ein Fountain Code, der eine erfolgreiche Wiederherstellung einer Nachricht durch die Nutzer mit einer minimalen Anzahl von Paketübertragungen, die durch k gegeben ist, erlaubt. Der effizienteste Typ von Fountain Codes sind Raptor Codes. Die Performance im Hinblick auf die Wahrscheinlichkeit für ein Dekodierversagen (oder Codewort-Fehlerraten) im Vergleich zum Overhead, ist in
2 dargestellt. Der Overhead ist definiert als die Anzahl der empfangenen Pakete, über das Minimum hinaus, das ein idealer Fountain Code für eine erfolgreiche Wiederherstellung der originalen Nachricht benötigen würde (k). Raptor Codes wurden standardisiert für den MBMS Service von UMTS (
3GPP TS 26.346 V6.1.0, "Technical specification group services and system aspects; multimedia broadcast/multicast service; protocols and codecs," Juni 2005). Die Performance von Raptor Codes, die entnommen sind aus
Michael Luby, Tiago Gasiba, Thomas Stockhammer, and Mark Watson, "Reliable Multimedia Download Delivery in Cellular Broadcast Networks", IEEE TRANSACTIONS ON BROADCASTING, VOL. 53, NO. 1, MÄRZ 2007, ist in
2 dargestellt. Es ist zu beachten, dass ein idealer Fountain Code, eine Versagensrate von 0 mit einem Overhead von 0 erreichen würde.
-
Fountain Coding Techniken, die aus dem Stand der Technik bekannt sind, haben einige Nachteile, die jetzt dargestellt werden:
Generell produziert ein Fountain Encoder Ausgangssymbole, die Linearkombinationen der Quellsymbole sind. Die Linearkombination wird üblicherweise über einem Galois Feld erzeugt, d. h. sowohl die Symbole als auch die Koeffizienten gehören zu einem Galois Feld derselben Ordnung. Die Idee ist beispielhaft in 3 und 4 dargestellt. In 3 ist ein Multicast Scenario dargestellt, wobei ein Objekt, das aus k Paketen besteht, an mehrere Nutzer übertragen werden muss. Eine Zuverlässigkeit kann normalerweise aufgrund der Effizienzfrage nicht durch ARQ gewährleistet werden.
-
Ein Objekt (z. B. eine Datei) aus k Paketen wird (paketweise) über einen Broadcasting Kanal an eine Anzahl von Nutzern übertragen. Da jeder Nutzer ein anderes Paket verlieren kann, ist es günstig, zufällige Linearkombinationen der Pakete zu übermitteln. Im einfachsten Fall werden die Koeffizienten, die für die Linearkombinationen zu verwenden sind, gleichmäßig aus dem Galois Feld entnommen. Andernfalls können einige Koeffizienten ungleich 0 gemäß einer vorbestimmten Verteilung (z. B. Luby Transform Codes) ausgesucht werden.
-
Random Linear Fountain Coding generiert zufällige Linearkombinationen von Quellpaketen, die über den Kanal übertragen werden. Dies kann durch die folgenden Schritte durchgeführt werden:
- – Generieren eines zufälligen Seeds.
- – Aus dem zufälligen Seed, Produzieren einer Zufallssequenz von k Elementen a0,0, a1,0, a2,0, ak-1,0 über GF(q).
- – Verwenden dieser Koeffizienten, Erstellen eines kodierten Paketes als eine Linearkombination der k Quellpakete.
- – Übertragen des kodierten Paketes (zusammen mit dem Seed).
-
Der Seed eines Zufallszahlen-Generators ist ein Set von Ziffern, das den Zufallszahlen-Generator antreibt. Für unterschiedliche Seeds werden unterschiedliche Zufallsprozesse produziert (d. h. ein unterschiedlicher Zustand des Nummerngenerators wird als Ausgangszustand gewählt).
-
Es ist Aufgabe der vorliegenden Erfindung ein Verfahren zum Übertragen eines analogen oder digitalen Signals unter Verwendung eines Fountain Codes bereitzustellen, wobei der notwendige Overhead des Fountain Encoders reduziert wird.
-
Diese Aufgabe wird gelöst durch die Merkmale der Ansprüche 1 und 4.
-
Das erfindungsgemäße Verfahren zum Übertragen eines analogen oder digitalen Signals von einer Sendevorrichtung zu einer Empfangsvorrichtung umfasst die folgenden Verfahrensschritte:
Quantisieren des Signals unter Verwendung eines Quantisierers vor dem Kodieren der durch den Quantisierer generierten Daten unter Verwendung eines Fountain Encoders der mit der Sendevorrichtung verbunden ist,
Übertragen dieser Daten von der Sendevorrichtung zu der Empfangsvorrichtung über einen Übertragungskanal,
Dekodieren dieser Daten unter Verwendung eines Dekoders, der mit der Empfangsvorrichtung verbunden ist, wobei verloren gegangene und/oder beschädigte Daten während des Dekodierens wiederhergestellt werden.
-
Erfindungsgemäß generiert der Quantisierer aus dem Signal, das aus reellen Zahlen u besteht, Ganzzahlen û in einem Quantisierungsbereich von –L bis +L, wobei L die maximale Größe ist, die am Ausgang des Quantisierers dargestellt werden kann. Die Daten û, die vom Quantisierer ausgegeben werden, werden durch lineares Kombinieren dieser Ganzzahlen û mit ganzzahligen Koeffizienten kodiert, wobei während des Kodierens die Ganzzahlen û als reelle Zahlen behandelt werden. Die Linearkombination wird während des Dekodierens verworfen, wenn der resultierende Wert der Linearkombination größer ist als +L oder kleiner ist als –L, sodass die Linearkombination gezwungen wird, einen Wert zwischen –L und +L anzunehmen.
-
Wie später dargestellt wird, kann die Anzahl von Overheadpaketen, die von dem Fountain Encoder benötigt wird, bis der Decoder in der Lage ist, die übertragenen Daten wieder herzustellen, reduziert werden. Somit sollen erfindungsgemäß Fountain Codes auf reelle Felder anstelle von nur zwei Ganzzahlen ausgeweitet werden.
-
Es ist bevorzugt, dass die Linearkombinationen in Bitvektoren konvertiert werden, welche enkapsuliert und über den Übertragungskanal übertragen werden, insbesondere nach einer Kanalkodierung und einem Generieren eines Cyclic Redundancy Checks (CRC).
-
Es ist ferner bevorzugt, dass das zu übertragende Signal vor der Quantisierung gesampelt wird, nämlich wenn das Signal ein analoges Signal ist.
-
Eine zweite unabhängige Erfindung betrifft ebenfalls ein Verfahren zum Übertragen eines analogen oder digitalen Signals von einer Sendevorrichtung zu einer Empfangsvorrichtung und umfasst die folgenden Verfahrensschritte:
Sampeln des Signals unter Verwendung eines Samplers, wenn es ein analoges Signal ist,
Kodieren der durch den Sampler generierten Daten unter Verwendung eines Fountain Encoders, der mit der Sendevorrichtung verbunden ist, wobei das Kodieren stattfindet ohne eine vorherige Quantisierung der Daten, insbesondere unmittelbar nach dem Sampling,
Übertragen dieser Daten von der Sendevorrichtung zu der Empfangsvorrichtung über einen Übertragungskanal und
Dekodieren dieser Daten unter Verwendung eines Dekoders, der mit der Empfangsvorrichtung verbunden ist, wobei verloren gegangene und/oder beschädigte Daten während des Dekodierens wiederhergestellt werden.
-
Die Informationsquelle kann in beiden erfindungsgemäßen Verfahren (dem ersten und dem zweiten), z. B. eine analoge Quelle, wie ein Mikrofon sein, d. h. eine Quelle, die eine kontinuierliche Wellenform erzeugt. Diese Wellenform kann mit einer gegebenen Rate, z. B. gemäß dem Nyquist Kriterium gesampelt werden. Am Ausgang des Samplers ist eine Sequenz von reellwertigen Sampels, was bedeutet, dass die Sampels dem Feld der reellen Zahlen entnommen sind, jedoch in diskrete Zeitintervalle eingeteilt sind.
-
In einem konventionellen Fountain Coding Schema würden die Sampels quantisiert und zu Bits konvertiert werden. Dann würden sie in Pakete eingefasst und fountain-kodiert werden.
-
Gemäß der Erfindung findet das Kodieren ohne eine vorhergehende Quantisierung der Daten statt. Zum Beispiel kann das Kodieren unmittelbar nach dem Sampling stattfinden.
-
Somit ist der resultierende Fountain Code ein Fountain Code über dem Feld R, wobei R das Feld der reellen Zahlen ist.
-
Es ist bekannt, dass die Performance eines Fountain Codes besser wird, wenn die Feldordnung in der Fountain Codes generiert werden, größer wird. Sobald die Ordnung des Galois Feldes größer wird, sinkt die Fehlerwahrscheinlichkeit. Weitere Details im Hinblick auf die Performance des erfindungsgemäßen Verfahrens werden später erläutert.
-
Es ist bevorzugt, dass Daten durch den Quantisierer ausschließlich nach dem Fountain Encoding quantisiert werden. Es ist ferner bevorzugt, dass die Ausgangswerte des Fountain Encoders aufgrund des vorangegangenen Samplings reelle Zahlen sind, die in diskreten Zeitintervallen dargestellt sind, wobei diese Zeitintervalle durch die Sampling-Rate des Samplers definiert werden.
-
Die quantisierten Samples können zu Bits konvertiert werden, in Frames gesetzt und über den Übertragungskanal übertragen werden.
-
Es ist ferner bevorzugt, dass das Enkodieren durch lineares Kombinieren der Eingangswerte des Fountain Encoders, entweder mit zufälligen Koeffizienten in einem definierten Intervall (reelle Koeffizienten) oder mit zufälligen Koeffizienten in einem Intervall D für einen bestimmen Teil der Eingangssymbole stattfindet, wobei die anderen Symbole nicht an der Linearkombination beteiligt werden.
-
Sobald k Samples durch den Decoder dekodiert werden, kann zumindest eine ungefähre Darstellung von u unter Verwendung von Gauss'scher Elimination oder anderen bekannten Techniken berechnet werden.
-
Es ist ferner bevorzugt, dass die Koeffizienten, die die Linearkombinationen bilden, auch über den Übertragungskanal übertagen werden. Dies kann bspw. als ein zufälliger Seed erfolgen, der verwendet wird, um die zufälligen Koeffizienten sowohl auf der Sender- als auch auf der Empfängerseite zu generieren.
-
Die Bit-Darstellung der Samples, die durch den Quantisierer erzeugt werden, kann in mehrere Frames enkapsuliert werden, die dann durch einen optionalen Fehlerkorrekturcode und einen CRC geschützt werden. Auf der Empfängerseite können einige Pakete verlorengehen, sodass Samples verloren gehen werden. Jedoch kann eine Darstellung von berechnet werden, sobald k Samples wiederhergestellt werden.
-
Ein möglicher Nachteil dieser Lösung ist, dass quantisierte Linearkombinationen übertragen werden, was bedeutet, dass die übertragenen Samples sich von den Originalen durch einen Quantisierungsfehler unterscheiden. Ein Gauss'scher Eliminations Decoder kann z. B. den Quantisierungsfehler verstärken, was zu einer größeren Störung der Originalsamples in u führen würde.
-
Als eine alternative Lösung könnte das erste erfindungsgemäße Verfahren verwendet werden, wenn die Quantisierung vor dem Kodieren durch eine Linearkombination durchgeführt wird. Auf diese Art wird der Empfänger die exakten quantisierten Werte von u wiederherstellen.
-
Ein weiterer Vorteil ist, dass kein Fließpunktfehler auftreten wird.
-
Bevorzugte Ausführungsformen der Erfindung werden nun im Zusammenhang mit den Figuren erläutert.
-
1 zeigt das Prinzip von Packet Level Fountain Coding,
-
2 zeigt die Performance eines Raptor Codes als eine Funktion des Overheads für verschiedene Anzahlen von Input-Paketen k,
-
3 u. 4 zeigen ein Fountain Coding Scenario,
-
5 zeigt das Prinzip des ersten erfindungsmäßen Verfahrens,
-
6 zeigt die Performance des ersten und zweiten erfindungsgemäßen Verfahrens,
-
7 zeigt das Prinzip des zweiten erfindungsgemäßen Verfahrens.
-
1 bis 4 wurden bereits im Zusammenhang mit dem Stand der Technik beschrieben.
-
Wie in 5 erkennbar, kann eine Quelle ein Set von k Samples u erzeugen. Der Sampler ist hier nicht dargestellt. Selbstverständlich können die Quelle und der Sampler getrennte Vorrichtungen sein. Die Samples u werden durch den Quantisierer 12 quantisiert, der eine Sequenz von Daten û erzeugt, die dem Fountain Encoder zugeführt wird. Während des Kodierens werden die Ganzzahlen û durch den Fountain Encoder 10 als reelle Zahlen behandelt. Somit können die Daten x, die durch den Fountain Encoder 10 erzeugt werden, als quantisierte reelle Zahlen angesehen und in Frames angelegt werden, durch einen Fehlerkorrektur-Code und einen CRC geschützt und über den Übertragungskanal übertragen werden.
-
Die Performance gegenüber dem Overhead dieses Verfahrens ist in 6 für verschieden Galois Felder dargestellt. Wenn das vorgeschlagene Fountain Coding Schema über reelle Zahlen verwendet wird, fällt die Versagens-Wahrscheinlichkeit für δ >= 0 auf 0.
-
7 zeigt das Prinzip des Verfahrens gemäß der zweiten Erfindung. Wieder erzeugt eine Quelle oder ein Sampler ein Set von k Samples u. Diese werden durch den Fountain Encoder 10 vor der Quantisierung durch den Quantisierer 12 über R linear kombiniert. Die Bit-Darstellung der Samples von x wird dann in mehrere Frames enkapsuliert, die dann durch einen optionalen Fehlerkorrektur-Code und einen CRC geschützt und über den Übertragungskanal übertragen werden.
-
Das hier vorgeschlagene Verfahren kann in allen Arten von kommerziellen drahtlosen und drahtgebundenen Übertragungssystemen angewendet werden. Wie gezeigt wurde, erlaubt das Verfahren den Overhead, bei der Übertragung von Broadcasting-/Multicasting-Nachrichten zu reduzieren. Die Idee, die dieser Patentanmeldung zugrunde liegt, ist besonders interessant für kommerzielle Kunden, die kurze Nachrichten verwenden, um Broadcasting Services zu übermitteln.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- J. Byers, M. Luby, M. Mitzenmacher, and A. Rege, ”A digital fountain approach to reliable distribution of bulk data,” in Proc. of ACM SIGCOMM, 1998.” [0009]
- 3GPP TS 26.346 V6.1.0, ”Technical specification group services and system aspects; multimedia broadcast/multicast service; protocols and codecs,” Juni 2005 [0011]
- Michael Luby, Tiago Gasiba, Thomas Stockhammer, and Mark Watson, ”Reliable Multimedia Download Delivery in Cellular Broadcast Networks”, IEEE TRANSACTIONS ON BROADCASTING, VOL. 53, NO. 1, MÄRZ 2007 [0011]