-
Die vorliegende Erfindung betrifft ein Verfahren zum Rekonstruieren eines ersten Signales und eines zweiten Signales durch einen gemeinsamen Empfänger. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.
-
Stand der Technik
-
Auf dem Gebiet der Informationstheorie wird die Komprimierung von mehreren korrelierten Informationsquellen, die nicht miteinander kommunizieren, als verteilte Quellencodierung (distributed source coding, DSC) bezeichnet. Durch die Modellierung der Korrelation zwischen mehreren Quellen unter Nutzung von Kanalcodes wird DSC nach dem Stand der Technik beispielsweise in Sensornetzwerken oder zur Komprimierung von Multimedia-Inhalten genutzt. Eine der Haupteigenschaften verteilter Quellencodierung ist darin zu sehen, dass ein gemeinsamer Decoder die Sender weitmöglichst entlastet.
-
Ein Verfahren zum Realisieren eines Wyner-Ziv-Codierers gemäß
US7256716B2 etwa umfasst das Anwenden einer verschachtelten Quantisierung auf die einer Informationsquelle entstammenden Eingabedaten, um Zwischendaten zu erzeugen, die unter Verwendung eines asymmetrischen Slepian-Wolf-Codierers codiert werden, um komprimierte Ausgabedaten zu erzeugen, die die Eingabedaten darstellen. In ähnlicher Weise kann ein Wyner-Ziv-Decoder durch Anwenden eines asymmetrischen Slepian-Wolf-Decoders auf komprimierte Eingangsdaten (die Abtastwerte einer Quelle darstellen) zum Erhalten von Zwischenwerten und deren gemeinsamer Decodierung unter Verwendung von Seiteninformationen - insbesondere Abtastwerten einer zweiten Quelle mit bekannter Korrelation zur ersten Quelle - umgesetzt werden.
-
US7653867B2 offenbart ein System und Verfahren zur Slepian-Wolf-Codierung mit Channel-Code-Partitionierung. Eine Generatormatrix wird partitioniert, um mehrere Untermatrizen zu erzeugen, die jeweils mehreren korrelierten Datenquellen entsprechen. Die Aufteilung erfolgt gemäß einer Ratenzuordnung unter den korrelierten Datenquellen. Entsprechende Paritätsmatrizen können jeweils aus den Untermatrizen erzeugt werden, wobei jede Paritätsmatrix dazu verwendet werden kann, korrelierte Daten für eine jeweilige korrelierte Datenquelle zu codieren, was zu entsprechenden Syndromen, z. B. in Form von binären Vektoren, führt. Ein gemeinsamer Empfänger kann diese Syndrome empfangen und sie auf eine gemeinsame Länge erweitern, indem er in geeigneter Weise Nullen einfügt. Die erweiterten Syndrome können vektorsummiert und eine einzelne Kanaldecodierung angewendet werden, um das nächstkommende Codewort zu bestimmen, dessen systematischer Anteil stückweise mit jeweiligen Untermatrizen der Generatormatrix multipliziert werden kann, wobei die Produkte zur Erstellung von Schätzungen der Quelldaten zu den jeweiligen erweiterten Syndromen hinzugefügt werden können.
-
Offenbarung der Erfindung
-
Die Erfindung stellt ein Verfahren zum Rekonstruieren eines ersten Signales und eines zweiten Signales durch einen gemeinsamen Empfänger, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.
-
Ein Grundgedanke des vorgeschlagenen Verfahren besteht hierbei darin, ein einfach anzuwendendes und vielfältig einsetzbares DSC-Schemas auf praktische Weise zu implementieren, das für die Komprimierung von zwei (korrelierten) Quellen genutzt werden kann.
-
Zu diesem Zweck werden die Daten zweier Sensoren gemeinsam komprimiert, wozu keine Kommunikation zwischen den Sensoren erforderlich ist. Dazu wird der Grundgedanke hybrider, also mit Methoden der Kanalkodierung kombinierter Protokolle zur automatischen Wiederholungsanfrage (hybrid automatic repeat request, hybrid ARQ, HARQ) auf verteilte Quellencodierung übertragen. Dies kann mit jeder praktischen Implementierung eines DSC-Systems auf Paritäts- oder Syndrombasis kombiniert werden.
-
Beide Sensoren codieren ihre Daten hierbei gemäß der an sich bekannten verteilten Quellencodierung unter Verwendung eines beliebigen, aber bekannten Vorwärtsfehlerkorrektur-Codierers niedriger Datenrate. Dann übertragen sie lediglich einen Bruchteil der Bits ihrer Codewörter an den Decoder, um eine maximale Kompression zu erreichen. Sie können die Datenrate hierbei beliebig, insbesondere symmetrisch oder asymmetrisch in einem vorgegebenen Verhältnis aufteilen.
-
Der Decoder versucht die seinerseits empfangenen Daten zu entschlüsseln. Wenn er die Daten erfolgreich dekomprimieren kann, signalisiert er seine Bestätigung und das Verfahren ist für das vorliegende Codewort beendet. Wenn die Dekomprimierung indes versagt, signalisiert der Decoder einem oder beiden Codierern eine negative Bestätigung. Bei Empfang einer solch negativen Bestätigung überträgt ein Codierer einen weiteren Teil der Bits seines Codeworts. Dieses Verfahren wiederholt sich, bis die Dekompression erfolgreich verläuft.
-
Ein Vorzug dieser Lösung liegt in der Schaffung einer Alternative zu bekannten DSC-Schemata, die auf Trellis-codierter Quantisierung basieren. Darüber hinaus passt sich das Schema automatisch an die aktuelle Korrelation der Quelle an und ist von geringer Komplexität. Es benötigt keine Informationen über die bedingte Entropie oder Korrelation der Quellen.
-
Das vorgeschlagene Schema kann für beliebige Quellen kontinuierlicher Werte oder quantisierter Werte selbst bei hohen Bitraten verwendet werden. Im Gegensatz zu bekannten Lösungen unterstützt es beliebige Aufteilungen der Datenraten.
-
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich.
-
Figurenliste
-
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
- 1 das Flussdiagramm eines Verfahrens gemäß einer ersten Ausführungsform.
- 2 ein DSC-System gemäß einer zweiten Ausführungsform.
-
Ausführungsformen der Erfindung
-
1 illustriert den grundlegenden Ablauf eines erfindungsgemäßen Verfahrens (10), dessen Schritte nunmehr anhand des Systems (20) der 2 erläutert seien.
-
Wie bei jedem praktischen DSC-Schema beruht das vorgeschlagene Verfahren (
10) hierbei auf der Dualität zwischen DSC und Fehlerkorrekturcodierung, die im Folgenden zusammengefasst werden. Da die Signale X der Quelle S
1 und Y der Quelle S
2 miteinander korreliert sind, kann ihre Beziehung durch die Gleichung
ausgedrückt werden, wobei
E einen additiven Fehler bezeichnet.
-
Für binäre Quellen kann E als Bitfolge betrachtet werden, wobei Formel 1 die Übertragung von X durch einen „virtuellen“ Kanal mit dem Ausgang Y und dem additiven Fehler E beschreibt. Sofern die Verteilung von E statistisch unabhängig und gleichmäßig mit der Wahrscheinlichkeit p ist, wird der virtuelle Kanal durch einen binären symmetrischen Kanal (binary symmetric channel, BSC) mit der Übergangswahrscheinlichkeit p beschrieben. Für kontinuierlich-wertige Quellen kann ein ähnlicher virtueller Kanal mit E als additivem weißen Gaußschen Rauschen abgeleitet werden.
-
In jedem Fall kann Y, wenn es empfangen wird, unter Verwendung von Fehlerkorrekturcodes auf Grundlage von X decodiert werden. Im Fall von DSC bedeutet dies, dass Y mit voller Datenrate und dann gerade so viel Information über X übertragen wird wie erforderlich. Diese Datenmenge wird durch die bedingte Entropie H(X|Y) definiert, die im ungünstigsten Fall der vollen Datenrate von X entspricht. Deshalb wird diese Art von Schema als asymmetrische Ratenaufteilung bezeichnet. In vielen Anwendungen ist entweder eine willkürliche Ratenaufteilung zwischen den Quellen S1 und S2 oder eine symmetrische Ratenaufteilung mit gleichen Datenraten erforderlich.
-
2 zeigt die Ausführungsform eines erfindungsgemäßen DSC-Systems für zwei korrelierte Binärquellen. Das Verfahren kann mit jedem DSC-Schema auf Paritätsbasis verwendet werden, d. h. jedem Schema, das seine Daten durch Fehlerkorrekturcodierung der Daten komprimiert (und hierbei einzelne Bits unterdrückt, um die Kompression herbeizuführen), indem Datenbits als Informations- bzw. Nachrichtenbits interpretiert werden. Ebenfalls im Rahmen der Erfindung möglich ist eine DSC auf Syndrombasis, bei welcher die Daten als Codewort eines Nebenklassencodes interpretiert werden, dessen Syndrom die komprimierten Daten darstellen. Es kann ferner unabhängig vom verwendeten Fehlerkorrekturcode angewendet werden. Schließlich kann die Erfindung für beliebige Quellen kontinuierlicher oder quantisierter Werte verwendet werden und unterstützt beliebige Datenratenaufteilungen.
-
Die Signale beider Binärquellen (
S1 ,
S2 ) sind in diesem Ausführungsbeispiel mit separaten Turbo-Fehlerkorrekturen codiert (jeder Code ist möglich). Die hierzu verwendeten Codierer (
21,
22) können, müssen aber nicht gleichartig sein. Nach dem Codieren des Signals werden die resultierenden Codewörter gemäß einem Punktierungsschema punktiert (
P1,
P2), sodass die Anzahl übertragener Bits der erforderlichen Kompressionsrate zwischen den Ausgangs- und Eingangsbits entspricht. Wenn ein Code der Rate
verwendet und nur
Bits übertragen - die übrigen mithin punktiert - werden, dann beträgt die Kompressionsrate
Die Punktierungsschemata beider Quellen (
S1 ,
S2 ) müssen nicht übereinstimmen. Es ist besonders vorteilhaft, systematische Codierer (
21,
22) zu verwenden und die systematischen Bits in
X und
Y derart zu punktieren (
P1,
P2), dass keines der systematischen Bits in beiden Signalen beidseits punktiert wird, d. h. die im Falle von
S1 punktierten Positionen sollten im Falle von
S2 nicht punktiert werden und umgekehrt. Für ein optimales Kompressionsschema sollten sich die Punktierungsmuster der beiden systematischen Bits beider Quellen (
S1 ,
S2 ) vielmehr ergänzen. Die nicht punktierten Bits werden sodann unter Verwendung etablierter Übertragungsschemata wie dem WLAN-Standard IEEE 802.11 verlustfrei an den Empfänger (
29) übertragen, sodass keine Fehler im Zuge der Übertragung zu berücksichtigen sind. Es ist sinnvoll, wenn auch optional, einen bitweisen Interleaver (Π) anzuwenden, bevor die Bits der zweiten Quelle (
S2 ) codiert werden.
-
Um beide Signale X und Y zu rekonstruieren, führen die Decoder (23, 24) eine gemeinsame Decodierung (1 - Prozess 11) beider Bitsequenzen auf iterative Weise durch. Die iterative Verarbeitung wird unter Verwendung von Zuverlässigkeitswerten der Bits, die etwa in Form einer Likelihood-Funktion oder Log-Likelihood-Funktion (log-likelihood ratio, LLR) angegeben sein mögen, und durch Austausch modifizierter und optional im Wege des Interleaving verschränkter extrinsischer Informationen zwischen den Decodern (23, 24) durchgeführt, die als A-priori-Informationseingabe des jeweils anderen Decoders (24, 23) verwendet werden.
-
Diese A-priori-Eingabe wird für die erste Iteration mit einem Zuverlässigkeitswert von 0 initialisiert. Zuerst werden die empfangenen Bits in Zuverlässigkeitswerte für eine sogenannte Soft-Decision umgewandelt, wobei die punktierten Bits als unbekannte und somit unzuverlässige Bits (Wahrscheinlichkeit
) hinzugefügt werden. Unter Verwendung der systematischen Bits von
X und der A-priori-Information decodiert der Decoder (
23) die Bits zu X̂ und gibt extrinsische Information über die (systematischen) Informationsbits aus (
1 - Prozess 12). Diese Information wird - nach Modifikation (
25) und optionalem Interleaving (Π) - als A-priori-Information in den zweiten Decoder (
24) eingespeist, welcher seinerseits eine Decodierung basierend auf diesen und den systematischen Bits von
Y zu Ŷ durchführt. Nach dem Modifizieren (
25) und Verschränken (Π) wird die extrinsische Information des zweiten Decoders (
24) als A-priori-Information dem ersten Decoder (
23) zugeführt (
1 - Prozesse
13,
14). Diese Iterationen (
11,
12,
13,
14) werden durchgeführt, bis ein bestimmtes Stoppkriterium erreicht ist. Dies könnte entweder eine feste Gesamtzahl von Iterationen oder eine Anzahl korrigierter Fehler sein.
-
Der Modifikationsalgorithmus ist ein wesentlicher Teil der vorliegenden Ausführungsform und wird im Folgenden hergeleitet. Er befasst sich mit den zwischen X und Y abweichenden Werten. Für vollständig korrelierte Signale X und Y wären beide Bitsequenzen identisch, und das System (20) könnte systematische Bits ohne Modifikation (25, 26) austauschen. Der Modifikationsalgorithmus indes passt die A-priori-Information gemäß der Wahrscheinlichkeitsverteilung des Fehlers an, welche wiederum der Korrelation beider Quellen (S1 , S2 ) entspricht.
-
Der Modifikationsalgorithmus wird nachfolgend für den allgemeineren Fall von Zufallsvariablen mit kontinuierlichem Wert hergeleitet, ist aber auch für Verteilungen mit diskreten Werten anwendbar. Gegeben sei hierbei eine gemeinsame Wahrscheinlichkeitsdichte p(x, y) der Quellsignale. Die Quellen (
S1 ,
S2 ) lassen sich nunmehr wie folgt modellieren: Das Signal x der ersten Quelle (
S1 ) wird durch den Quantisierer
Q1 zu Werten x
q quantisiert, die dem Symbolbitvektor
der Länge m entsprechen. y wurde durch den Quantisierer
Q2 zu Werten y
q quantisiert, die dem Symbolbitvektor
der Länge m entsprechen. Beide Quantisierer müssen nicht identisch sein, aber es ist sinnvoll, sie so zu wählen. Beide Quantisiererausgänge geben Symbole im Alphabet
aus. Das mit x korrelierte Signal y der zweiten Quelle (
S2 ) wird durch die Gleichung y = x + n modelliert, wobei n dem typischerweise gaußverteilten „Rauschen“ entspricht.
-
Der „Modifikationsausgang“ für das i-te Bit des Symbols
soll aus den bitweisen extrinsischen
des ersten Decoders (
23) für das Symbol
berechnet werden. Die Berechnungen können äquivalent unter Verwendung von Wahrscheinlichkeiten durchgeführt werden, da die Ableitung (
13) auf diesen basiert. Die extrinsische Ausgangswahrscheinlichkeit der Modifikation (
25), die dem zweiten Decoder (
24) zugeführt (
14) wird, ist der Erwartungswert über alle Elemente des Symbols bzw. Vektors
außer dem betrachteten Bit u
i gemäß der Gleichung
wobei
als
berechnet werden kann, sodass folgt:
-
Berücksichtigt die Modifikation (
25) hinsichtlich
ferner die A-priori-Wahrscheinlichkeit
so kann der Erwartungswert als Summe über alle Vektoren
des Alphabets
berechnet werden, sodass folgt:
wobei die Eingangswahrscheinlichkeit
entspricht, da sämtliche Bits angesichts der bitweisen Verschränkung (Π) der Ausgabe als unabhängig betrachtet werden können.
-
Die quantisierte Korrelationskanalwahrscheinlichkeit ergibt sich hierbei zu
wobei q
- und q
+ die Unter- und Obergrenze des Intervalls der jeweiligen Quantisierungsstufe bezeichnen.
-
Für das Kanalmodell additiven weißen Gaußschen Rauschens (additive white Gaussian noise, AWGN) gilt dabei der Zusammenhang p(y, x) = p(x + n, x), sodass
aus der Verteilungsfunktion einer bivariablen Gaußschen Zufallsvariablen gewonnen wird, die wiederum im Rahmen des Entwurfs des Quantisierers einmalig berechnet werden kann.
-
Der entsprechende Ausdruck für P(u
i = 1) kann aus diesem Zusammenhang abgeleitet werden, indem
durch
ersetzt wird. Unter Verwendung dieser Wahrscheinlichkeiten lassen sich wiederum die LLRs (extrinsische Information, die als A-priori-Information verwendet wird) am Ausgang zu
berechnen, wobei
zum Entwurfszeitpunkt berechnet wird und die Zusammenhänge
sowie
auf alle Bits eines Symbols anwendbar sind. Sofern keine besonderen Annahmen bezüglich des Quantisierers und der Reihenfolge der Quellen (
S1 ,
S2 ) angebracht sind, lassen sich diese Zusammenhänge durch Austausch der Variablen unmittelbar auf die umgekehrte Modifikation (26) übertragen, indem einfach
vertauscht werden.
-
Anschließend wird eine Teilmenge der codierten Bits übertragen (oder unterschiedliche Punktierungsmuster angewendet). Bei der ersten Übertragung ist die Teilmenge sehr klein, aber vorzugsweise zumindest so umfangreich, dass die Gesamtzahl der übertragenen Bits von beiden Quellen (S1 , S2 ) größer als k ist, was der minimalen Kompressionsrate entspricht (alle Daten sind vollständig korreliert).
-
Wenn systematische Codierer verwendet werden, ist es besonders vorteilhaft, zunächst alle systematischen Bits zu übertragen. Die Punktierungsmuster der Quellen sollten sich in diesem Fall so ergänzen, dass jedes systematische Bit von mindestens einer Quelle übertragen wird. Wenn jedes systematische Bit insgesamt genau einmal gesendet wird, entspricht dies der maximalen Datenkomprimierung für den Fall einer vollständigen Korrelation.
-
Mit dieser ersten Teilmenge von Codebits beider Quellen (S1 , S2 ) versucht der jeweilige Decoder (23, 24), die Daten (d1, d2) zu dekomprimieren, indem noch nicht gesendete verfügbare Bits als Auslöschungen behandelt werden. Wenn die Daten (d1, d2) erfolgreich decodiert werden können, signalisiert er beiden Quellen (S1 , S2 ) seine Bestätigung (acknowledgement, ACK), und das Schema ist für das vorliegende Codewort bzw. den entsprechenden Abschnitt des Datenstromes (d1, d2) abgeschlossen.
-
Wenn die Decodierung nicht erfolgreich ist, sendet der Decoder (23, 24) den Quellen (S1 , S2 ) eine negative Bestätigung (negative acknowledgement, NACK). Das NACK kann an alle Quellen (S1 , S2 ) gemeinsam oder einzeln an einen bestimmten oder eine Gruppe von Adressaten gesendet werden, indem das NACK-Paket mit einer entsprechenden Zieladresse versehen wird.
-
Bei Empfang eines solchen NACK senden die Quellen (S1 , S2 ) mehr Codebits (die noch nicht gesendet wurden). Die Anzahl der in diesem Fall übertragenen Codebits kann für jede Iteration fest oder variabel sein, ohne den Rahmen der Erfindung zu verlassen. Alternativ mag der Decoder (23, 24) die Anzahl weiterer benötigter Code-Bits als Nutzdaten mit dem NACK-Paket an die Quellen (S1 , S2 ) senden.
-
Nach ihrem Empfang ergänzt der Decoder (23, 24) die zuvor empfangenen Codebits um die zuletzt empfangene und initiiert einen zusätzlichen Decodierungsversuch zum Dekomprimieren der Daten (d1, d2). Der Gesamtprozess (im Falle eines NACK mehr Codebits senden und erneut dekodieren) wird solange wiederholt, bis ein ACK gesendet wird oder alle Codebits gesendet wurden.
-
Für Quellen (S1 , S2 ) geringer Korrelation, d. h. einem stark verlustbehafteten virtuellen Kanal, werden viele Codebits gesendet, die Datenrate ist hoch und die Komprimierung entsprechend gering. Umgekehrt werden für stark korrelierte Quellen (d. h. wenig verlustbehaftete Kanäle) wenige Codebits gesendet, die Datenrate ist gering und die Komprimierung entsprechend hoch. Mit diesem Schema passt sich die für die Komprimierung der Daten (d1, d2) verwendete Datenrate automatisch der aktuellen Korrelation der Quellen (S1 , S2 ) an.
-
Es sei bemerkt, dass unterschiedliche Varianten dieses Verfahrens (10) denkbar sind, ohne den Rahmen der Erfindung zu verlassen. So weisen etwa bekannte DSC-Verfahren das Problem auf, dass eine gemeinsame Decodierung aller komprimierten Daten in der Regel nicht möglich ist. In diesem Fall wird daher eine sukzessive Dekodierung verwendet: Wenn etwa zwei Quellen das oben beschriebene DSC-Verfahren in seiner Grundform befolgen und eine dritte Quelle Daten Z - im Sinne einer asymmetrischen Ratenaufteilung - mit einer die bedingte Entropie H(Z|X,Y) geringfügig übersteigenden Datenrate sendet, dann kann der betreffende Decoder zuerst Y anhand von X und weiteren Information wie zuvor ausgeführt dekodieren. Sodann werden die rekonstruierten X̂ und Ŷ zur Decodierung von Z anhand weiterer Informationen usw. für weitere Quellen verwendet. Dieses Verfahren birgt jedoch das Problem, dass sich Fehler in früheren Decodierstufen in spätere Stufen ausbreiten. Dies wiederum bringt weitere Nachteile in Bezug auf die theoretische Grenze mit jedem Anstieg der Anzahl nacheinander decodierter Quellen mit sich. Auf jeder dieser Stufen kann das erfindungsgemäße Verfahren iterativ verwendet werden, bis für das Decodieren ein ACK erhalten wird, bevor mit der nächsten Stufe fortgefahren wird. Durch dieses Schema wird sichergestellt, dass Fehler korrigiert werden, bevor mit der nächsten Stufe fortgefahren wird, sodass sich Fehler nicht ausbreiten und eine der theoretischen Grenze nahekommende Leistung erzielt wird.
-
Bei langfristig zeitvarianten Systemen kann die Anzahl der erneuten Übertragungen ferner effektiv verringert werden, indem die erforderliche Anzahl von Redundanzbits für eine erfolgreiche Decodierung vorhergehender Codewörter herangezogen wird. Anhand dieser Information lässt sich für das folgende Codewort erforderliche Redundanz vorhersagen und somit die Nachrichtengröße der ersten Übertragung für dieses Folgewort anpassen, was im Idealfall eine auf Anhieb erfolgreichen Decodierung ohne die Notwendigkeit weiterer Übertragungen gestattet.
-
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 Patentliteratur
-
- US 7256716 B2 [0003]
- US 7653867 B2 [0004]