CODIER- UND DECODIERVERFAHREN, SOWIE CODIER- UND DECODIERVORRICHTUNGEN MIT EINEM ZWEISTUFIGEN FEHLERSCHUTZVERFAHREN
Die Erfindung betrifft ein Codierverfahren gemäß dem Oberbeg¬ riff des Anspruchs 1 und ein Decodierverfahren gemäß dem Gat¬ tungsbegriff des Anspruchs 15. Ferner betrifft die Erfindung eine Codiervorrichtung gemäß dem Gattungsbegriff des An- •spruchs 16 und eine Decodiervorrichtung gemäß dem Gattungs¬ begriff des Anspruchs 17.
In den vergangenen Jahren sind Internet-basierte Anwendungen immer populärer geworden. Eine Klasse an Anwendungen sind Streaming-Anwendungen. Hierbei kann ein Nutzer mit Hilfe ei¬ nes Streamingprotokolls auf multimediale Inhalte online zu¬ greifen. Unter multimedialem Inhalt ist beispielsweise Text, Grafik, Musik, Video oder auch eine Mischung hiervon zu ver¬ stehen. Ein Videoclip mit Musik ist ein Beispiel für einen multimedialen Inhalt. Online bedeutet in diesem Zusammenhang, dass bereits nach Empfang der ersten Datenpakete beim Nutzer diese wiedergegeben werden, z. B. an einen Lautsprecher. Ein vollständiges Herunterladen, beispielsweise des Videoclips ist nicht erforderlich. Neben der Möglichkeit, dass ein Con¬ tentserver den multimedialen Inhalt zum Abruf bereitstellt, kann der multimediale Inhalt in Echtzeit aufgenommen sowie aufbereitet, und ohne Zwischenspeichern auf einem sog. Con¬ tentserver direkt an einen Nutzer via Streaming-Anwendung weitergeleitet werden. Ein derartiger in Echtzeit aufgenomme¬ ner und übermittelter multimedialer Inhalt ist beispielsweise ein Radioprogramm (Web-Radio) . Ein Speichern des multimedia¬ len Inhalts, z.B. auf einen Content-Server, ist hierbei nicht erforderlich.
Des Weiteren sind Download-Anwendungen, wie z.B. zum das La¬ den von MP3-Musikstücken oder MPEG-2 Spielfilmen, sehr be¬ liebt. Hierbei wird der multimediale Inhalt codiert, wie z.B.
mit einem Standardkompressionsverfahren nach MP3 oder MPEG-2 Video, und auf einem sog. Content-Server zum Downloaden be¬ reitgestellt. Zunächst lädt der Nutzer den vollständigen mul¬ timedialen Inhalt auf sein Gerät, z.B. auf seinen Computer oder sein Mobiltelefon, und nach Abschluss des Download-Vor¬ gangs kann dieser mediale Inhalt wiedergegeben werden, wie z.B. auf einem Bildschirm.
Ferner sind auch Mischformen der Streaming und der Download- Applikation in Diskussion. Beispielsweise kann bei einem Mu¬ sik-Verteilservice ein Nutzer mit seinem Gerät, beispielswei¬ se seinem Mobilfunkgerät, ein Musikstück auswählen und gegen Zahlung eines Kaufpreises auf sein Gerät laden. Hierbei kann der Nutzer während des Download-Vorgangs das Musikstück anhö¬ ren und nachdem das vollständige Musikstück auf seinem Gerät geladen wurde beliebig oft wiedergeben. Der Nutzer erhält da¬ durch den Eindruck, dass das Musikstück gestreamt wird, wobei jedoch nach Beendigung des Streaming-Vorgangs das vollständi¬ ge Musikstück auf seinem Gerät vorhanden ist. Bei dieser Mischform besteht heute eine Punkt-zu-Punkt-Verbindung zwi¬ schen dem Gerät des Nutzers und dem Content-Server.
Neben dieser Mischform der Streaming und Download-Anwendung sollen auch Punkt-zu-Mehrpunkt-Verbindungen möglich sein. Ei¬ ne Punkt-zu-Mehrpunkt-Verbindung ist auch unter dem Namen "Broadcast" oder "Multicast" bekannt. Im Folgenden wird diese Mischform als Broadcast-Anwendung bezeichnet. Hierbei steht mehreren Nutzern gleichzeitig derselbe multimediale Inhalt zur Verfügung. Beispielhaft ist hierbei ein Musikvideo zu nennen, das live an die Nutzer ausgestrahlt wird und aufge¬ nommen werden darf.
Die Nutzer einer derartigen Broadcast-Anwendung erwarten ne¬ ben einer exzellenten Bild- und Tonqualität auch keinerlei Übertragungsfehler innerhalb des multimedialen Inhalts. Gera¬ de bei der Übertragung von Datenpaketen über Mobilfunkkanäle treten trotz aufwendiger Fehlerschutzverfahren im Physical
Layer und Radio Link Layer Restfehler auf. Ein typischer Wert für einen Restfehler beträgt ca. 1%. Während bei einer Punkt- zu-Punkt-Verbindung fehlerhaft übermittelte Datenpakete mit Hilfe eines ARQ-Verfahrens (ARQ - Automatic Repeat Request) wiederholt werden können, ist dies bei Broadcast- und Multi- cast-Anwendungen im Allgemeinen nicht wirtschaftlich durch¬ führbar, so dass Datenpakete fehlerhaft empfangen werden. So¬ mit werden bei diesen Broadcast-Anwendungen die multimedialen Inhalte mittels eines unidirektionalen Übertragungskanals ü- bertragen, ein Rückkanal ist nicht verfügbar. Eine derartige Broadcast-Anwendung ist beispielsweise aus der UKW - Radio¬ technologie bekannt. Bei Verwendung des IP-Protokolls (IP - Internet Protokoll) führen fehlerhafte Datenpakete auch zum Verlust vollständiger Datenpakete, wodurch der multimediale Inhalt nicht korrekt wiedergegeben werden kann.
Neben der fehlerhaften Datenübertragung über Mobilfunkkanäle können Verluste von Datenpaketen auch durch einen Funkzellen¬ wechsel auftreten. In Einzelfällen kann bei einem Funkzellen¬ wechsel eine Unterbrechung der Datenübertragung etwa 10 Se¬ kunden betragen. Während die Datenpakete bei reinen Broad- cast-Download-Anwendungen mit Hilfe geeigneter Maßnahmen, wie zum Beispiel Interleaving, selbst bei langen Unterbrechungen rekonstruiert werden können, sind diese Verfahren bei Strea¬ ming-Anwendungen wegen der zeitlichen Verzögerung nicht an¬ wendbar. Zur Rekonstruktion fehlerhafter oder verlorengegan¬ gener Datenpakete sind eine Reihe von Verfahren bekannt, wie z.B. aus entnehmbar [1-5] .
Die der Erfindung zugrunde liegende Aufgabe ist es ein Co¬ dier- und Decodierverfahren sowie eine Codiervorrichtung und eine Decodiervorrichtung anzugeben, die einen effizienten Fehlerschutz für Anwendungen mit gemeinsamer Streaming- und Downloadfunktionalität mit lediglich einem unidirektionalen Übertragungskanal in einfacher und effizienter Weise bereit¬ stellt.
Diese Aufgabe wird ausgehend von dem Codierverfahren gemäß dem Oberbegriff des Anspruchs 1 durch dessen kennzeichnende Merkmale und ausgehend von dem Decodierverfahren gemäß dem Gattungsbegriff des Anspruchs 15 durch dessen kennzeichnende Merkmale gelöst. Des Weiteren wird diese Aufgabe ausgehend von der Encodiervorrichtung gemäß dem Gattungsbegriff des An¬ spruchs 16 durch dessen kennzeichnenden Merkmale sowie ausge¬ hend von der Decodiervorrichtung gemäß dem Gattungsbegriff des Anspruchs 17 durch dessen kennzeichnende Merkmale gelöst.
Bei einem Codierverfahren zur Übertragung einer Folge von Da¬ tenpaketen über mindestens einen unidirektionalen Übertra¬ gungsweg im Rahmen einer kombinierten Streaming- und Download Anwendung mit einem zweistufigen Fehlerschutzverfahren wird mit Hilfe eines ersten Fehlerschutzverfahrens ein Teilblock von aufeinander folgenden Datenpaketen gegen zumindest einen Teil der während des Streamings auftretenden Übertragungsfeh¬ ler geschützt, und mit Hilfe eines zweiten Fehlerschutzver¬ fahrens alle Datenpakete gegen, nach Abschluss des Streamings verbleibende, Übertragungsfehler geschützt.
Durch das erfindungsgemäße Verfahren wird zum einen die Wie¬ dergabe einer Folge von Datenpaketen während des Streamings ermöglicht. Hierbei wird mit Hilfe eines ersten Fehlerschutz¬ verfahrens gewährleistet, dass zumindest ein Teil der durch die Übertragung verursachten Übertragungsfehler korrigiert und somit zumindest ein Teil der Datenpakete fehlerfrei re¬ konstruiert werden kann. Damit kann trotz fehlerhafter Über¬ tragung die Wiedergabe von zumindest einem Teil der Datenpa¬ kete gewährleistet werden.
Ferner stehen nach Abschluss des Streamings alle Datenpakete in rekonstruierter Form zur Verfügung. Dies entspricht dem Download der Folge von Datenpaketen. Unter zu Hilfenahme des zweiten Fehlerschutzverfahrens können auch noch diejenigen rekonstruierten Datenpakete korrigiert werden, die mittels des ersten Fehlerschutzverfahrens nicht fehlerfrei rekon-
struiert werden konnten. Hiermit wird erreicht, dass ein Nut¬ zer während des Streamings die Datenpakete wiedergeben kann, z.B. als Musikstück, und nach Beendigung des Streamings diese Datenpakete, die u.U. noch Fehler enthalten, fehlerfrei re¬ konstruiert kann, um diese zu einem späteren Zeitpunkt aus¬ zugeben, z.B. an einem Lautsprecher.
Das erfindungsgemäße Verfahren ist in der Praxis zweckmäßig, da zum einen kein Rückkanal zur Übertragung benötigt wird und deswegen das erfindungsgemäße Verfahren für eine Punkt-zu- Mehrpunkt-Verbindung eingesetzt werden kann. Zum anderen wird durch das zweistufige Fehlerschutzverfahren erreicht, also durch das erste und zweite Fehlerschutzverfahren, dass eine erste Zahl an Fehlern je Teilblock durch das erste Fehler¬ schutzverfahren korrigiert werden kann, und dass mit dem zweiten Fehlerschutzverfahren lediglich diejenigen Fehler verbessert werden müssen, die mit dem ersten Fehlerschutzver¬ fahren nicht behebbar sind, wie z.B. längere Fehlerbursts.
In einer bevorzugten Ausführungsform werden zur Übertragung der Folge von Datenpaketen mehrere aufeinander folgende Da¬ tenpakete jeweils zu einem Teilblock zusammengefasst, mit Hilfe des ersten Fehlerschutzverfahrens für jeden Teilblock ein Fehlerschutzblock derart erzeugt, dass jeder Fehler¬ schutzblock aus mehreren Fehlerschutzpaketen besteht, dass je Fehlerschutzblock mindestens ein Fehlerschutzpaket ein co¬ diertes Datenpaket und mindestens ein weiteres Fehlerschutz¬ paket einen Redundanzblock repräsentiert, und dass ein co¬ diertes Datenpaket je Datenpaket gebildet wird, die Fehler¬ schutzblöcke sequentiell in der Reihenfolge übertragen, in der die dazugehörigen Datenpakete zeitlich wiedergegeben wer¬ den, die codierten Datenpakete zu einem Gesamtblock zusammen¬ gefasst, mit Hilfe des zweiten Fehlerschutzverfahrens für den Gesamtblock ein Gesamtfehlerschutzblock generiert und der Ge¬ samtfehlerschutzblock nach Übermittlung aller zur Folge gehö¬ render Fehlerschutzblöcke übertragen.
Unter Verwendung dieser bevorzugten Ausführungsform kann das erfindungsgemäße Verfahren in mehreren Schritten in einfacher Weise ausgeführt werden, z.B. mit Hilfe einer Encodiervor- richtung.
Vorzugsweise wird für das erste und/oder zweite Fehlerschutz¬ verfahren zumindest einer der folgenden Fehlerschutzalgorith¬ men EXOR-Parity Code, Reed-Solomon Code, und/oder Low Density Parity Check Codes eingesetzt. Mit Hilfe mindestens eines dieser Fehlerschutzalgorithmen kann das erste und/oder zweite Fehlerschutzverfahren in vorteilhafter Weise ausgeführt wer¬ den.
Wird eine Paketanzahl an Datenpaketen des Teilblocks in Ab¬ hängigkeit von einer festlegbaren Verzögerung, unter Berück¬ sichtigung einer Übertragungsrate, einer Redundanzblocklänge und einer codierten Datenpaketlänge ermittelt, so kann die Paketanzahl zum Erzielen einer minimalen Verzögerung für die Wiedergabe der Datenpakete, wie beispielsweise ein Musik¬ stück, angepasst werden.
In einer alternativen Variante wird für jedes Datenpaket mit¬ tels einer statistischen Methode ein charakteristischer Wert erzeugt, wobei der charakteristische Wert eine Wichtigkeit des jeweiligen Datenpakets in Bezug auf mindestens ein ande¬ res Datenpaket repräsentiert, und eine Paketanzahl an Daten¬ paketen für den Teilblock derart generiert, dass eine Summe von charakteristischen Werten aufeinander folgender Datenpa¬ kete innerhalb des jeweiligen Teilblocks zumindest eine fest¬ legbare Schwelle erreicht. Hiermit wird es ermöglicht, dass in einem Teilblock eine geringe Anzahl an Datenpakete mit be¬ sonders wichtigen Informationen und eine größere Anzahl von Datenpakete mit unwichtigen Informationen zusammengefasst werden. Wird beispielsweise für alle Teilblöcke ein Redun¬ danzblock gleicher Länge erstellt, so werden Teilblöcke mit einer geringeren Paketanzahl an Datenpaketen besser vor Feh-
ler geschützt als Teilblöcke mit einer größeren Paketanzahl an Datenpaketen. Beispielsweise enthält ein wichtiges Daten¬ paket Parameterinformationen, die für alle Datenpakete zur Decodierung benötigt werden.
Vorzugsweise wird der Fehlerschutzblock derart erzeugt, dass innerhalb des Fehlerschutzblocks die codierten Datenpakete mit ungleichem Fehlerschutz versehen werden. Hierdurch weisen ein oder mehrere codierte Datenpakete mehr Fehlerschutz als andere codierte Datenpakete desselben Fehlerschutzblocks auf. Im Falle von fehlerhaft übertragenen codierten Datenpaketen können codierte Datenpakete mit mehr Fehlerschutz korrigiert und andere codierte Datenpakete mit weniger Fehlerschutz nicht fehlerfrei rekonstruiert werden.
Zusätzlich können codierte Datenpakete, die wichtigen Infor¬ mationen enthalten, mit mehr Fehlerschutz, und andere codier¬ te Datenpakete, die weniger wichtige Informationen umfassen, mit weniger Fehlerschutz versehen werden. Damit wird er¬ reicht, dass zumindest diejenigen codierten Datenpakete feh¬ lerfrei rekonstruiert werden können, die wichtige Informatio¬ nen beinhalten.
In einer besonders bevorzugten Ausführungsform wird der Feh¬ lerschutzblock derart erzeugt, dass eine festlegbare Fehler¬ blockanzahl an fehlerhaften Fehlerschutzpaketen innerhalb des Fehlerschutzblocks mittels des jeweiligen Fehlerschutzblocks korrigiert werden kann. Somit kann eine Korrektureigenschaft des Fehlerschutzblocks individuell, z.B. an eine Fehleranfäl¬ ligkeit des Übertragungswegs, angepasst werden.
In einer alternativen Ausführungsform kann mindestens ein fehlerhaftes Fehlerschutzpaket innerhalb des Fehlerschutz¬ blocks mittels des jeweiligen Fehlerschutzblocks korrigiert werden. Hiermit wird eine minimale Korrektureigenschaft des Fehlerschutzblocks gewährleistet.
In einer bevorzugten alternativen Variante können mindestens zwei aufeinander folgende fehlerhafte Fehlerschutzpakete in¬ nerhalb des Fehlerschutzblocks mittels des jeweiligen Fehler¬ schutzblocks korrigiert werden. Manche Übertragungssysteme, wie z.B. UMTS (UMTS - Universal Mobil Telecommunications Sys¬ tem) , verwenden zur Vermeidung von Übertragungsfehlem ein Fehlerkorrektur- und ein Interleaving-Verfahren. Versagt die¬ se Fehlersicherung jedoch, z.B. wegen zu vieler Fehler, so können zwei oder mehrere codierte Datenpakete hintereinander fehlerhaft sein. Somit stellt diese Ausführungsform unter Be¬ rücksichtigung von gängigen Übertragungssystemen, wie z.B. UMTS, eine besonders zweckmäßige Variante dar.
Wird der Gesamtfehlerschutzblock derart generiert, dass eine größere Anzahl fehlerhafter codierter Datenpakete innerhalb des Fehlerschutzblocks korrigiert werden kann als mittels des ersten Fehlerschutzverfahrens, so wird gewährleistet, dass eine größere Anzahl von fehlerhaften codierten Datenpaketen, die durch das erste Fehlerschutzverfahren nicht korrigierbar sind, nach der vollständigen Übertragung aller codierten Da¬ tenpakete mit Hilfe des Gesamtfehlerschutzblocks fehlerfrei rekonstruiert werden.
Vorzugsweise wird der Gesamtfehlerschutzblock derart gene¬ riert, dass mit Hilfe mehrerer Segmente des Gesamtfehler¬ schutzblocks unterschiedliche Teilmengen von codierten Daten¬ paketen korrigierbar sind. Hierbei kann erreicht werden, dass auch Fehlerschutzalgorithmen für das zweite Fehlerschutzver¬ fahren benutzt werden können, die eine Beschränkung einer An¬ zahl an Datenpaketen haben. Beispielsweise können mit einem Reed-Solomon Code im Galoisfeld "28" lediglich 255 codierte Datenpakete geschützt werden. Durch Aufteilen der codierten Datenpakete in mehrere Teilmengen, z.B. in vier Teilmengen zu je 200 codierten Datenpaketen, kann die durch den Reed- Solomon-Code vorgegebene Bedingung eingehalten werden.
In einer bevorzugten Variante werden bei der Übermittlung der Fehlerschutzblöcke die codierten Datenpakete über einen ers¬ ten Übertragungsweg und die Redundanzblöcke über einen zwei¬ ten Übertragungsweg übertragen. Somit können mit einer wenig- komplexen Download-Anwendung die codierten Datenpakete und der Gesamtfehlerschutzblock des ersten Übertragungswegs und mit einer komplexeren Anwendung die codierten Datenpakete, die Redundanzblöcke und der Gesamtfehlerschutzblock beider Übertragungswege verarbeitet werden.
In einer besonders bevorzugten Ausführungsform werden die co¬ dierten Datenpakete und die Redundanzblöcke derart synchroni¬ siert übertragen, dass der Redundanzblock des jeweiligen Feh¬ lerschutzblocks spätestens zu dem Zeitpunkt beim Empfänger vorliegt, an dem auch das letzte codierte Datenpakete des je¬ weiligen Fehlerschutzblocks dem Empfänger zugeht. Hierdurch wird gewährleistet, dass bei Verwendung von zwei Übertra¬ gungswegen eine minimale Verzögerung zur Wiedergabe der Da¬ tenpakete während des Streamings erzielt wird.
Ferner betrifft die Erfindung ein Decodierverfahren, mit dem eine nach einem Codierverfahren codierte Folge von codierten Datenpaketen decodiert werden kann. Hiermit können die mit dem erfindungsgemäßen Verfahren codierten Datenpakete rekon¬ struiert werden.
Weiterhin betrifft die Erfindung eine Encodiervorrichtung mit Mitteln zum Durchführen eines Codierverfahrens . Somit kann das erfindungsgemäße Codierverfahren in der Encodiervor¬ richtung, insbesondere einem Mobilfunkgerät, einem tragbaren Gerät und/oder einem stationären Rechengerät, implementiert und ausgeführt werden.
Des Weiteren betrifft die Erfindung eine Decodiervorrichtung mit Mitteln zum Durchführen eines Decodierverfahrens. Damit kann das erfindungsgemäße Decodierverfahren in der Decodier¬ vorrichtung, insbesondere einem Mobilfunkgerät, einem tragba-
ren Gerät und/oder einem stationären Rechengerät, implemen¬ tiert und ausgeführt werden.
Weitere Einzelheiten und Vorteile werden anhand der Figuren 1 bis 6 näher erläutert.
Im Einzelnen zeigen:
Figuren Ia-Ie ein erstes Ausführungsbeispiel mit mehreren Da¬ tenpaketen zum Durchführen der einzelnen Verar¬ beitungsschritte des erfindungsgemäßen Codier¬ verfahrens;
Figur 2 eine Erstellung eines Gesamtfehlerschutzblocks, wobei verschiedene Segmente des Gesamtfehler¬ schutzblocks unterschiedliche Teilmengen von codierten Datenpaketen schützen;
Figur 3 eine Übermittlung von codierten Datenpaketen über einen ersten Übertragungsweg und von Re¬ dundanzblöcken über einen zweiten Übertragungs¬ weg;
Figur 4 ein Ablaufdiagramm zum Darstellen beispielhaf¬ ter Verarbeitungsschritte auf Empfängerseite zur Decodierung der empfangenen codierten Da¬ tenpakete und zum Rekonstruieren der Datenpake¬ te;
Figur 5 eine Endcodiervorrichtung zum Durchführen eines Codierverfahrens, ein Übertragungsmedium und eine Decodiervorrichtung zum Durchführen eines Decodierverfahrens;
Figur 6 ein Ablaufdiagramm zum Darstellen der Verarbei¬ tungsschritte des erfindungsgemäßen Codierver¬ fahrens .
Elemente mit gleicher Funktion und Wirkungsweise sind in den Figuren 1 bis 6 mit denselben Bezugszeichen versehen.
Mit Hilfe der Figuren Ia bis Ie werden im Folgenden die ein¬ zelnen Verarbeitungsschritte des erfindungsgemäßen Verfahrens näher erläutert. In Figur 6 sind die Verarbeitungsschritte in Form eines Ablaufdiagramms zu sehen. In einem ersten Ausfüh¬ rungsbeispiel soll ein Musik-Videoclip von einem Videoserver zu einem mobilen Endgerät übertragen werden. Der Musik-Video¬ clip besteht gemäß Fig. Ia aus N = 800 Datenpaketen Dl, ..., D800 = DN, wobei zunächst angenommen wird, dass alle Datenpa¬ kete Dl, ..., D800 die gleiche Datenpaketlänge PL aufweisen. Ein Datenpaket Dl, ..., D800 besteht bspw. aus einer Anzahl von Bits oder Bytes, beispielsweise aus einer Datenpaketlänge von PL = 320 Bytes.
In einem ersten Verarbeitungsschritt Vl werden mehrere auf¬ einander folgende Datenpakete Dl, ..., DN zu jeweils einem Teilblock Tl, ..., TM zusammengefasst. In Figur Ia bilden je¬ weils 40 Datenpakete einen Teilblock, wie z.B. die Datenpake¬ te D41, ..., D80 den Teilblock T2. In diesem Ausführungsbei¬ spiel werden immer 40 Datenpakete zu einem Teilblock zusam¬ mengefasst. Eine Paketanzahl Ll, ..., LM, die für jeden Teil¬ block Tl, ..., TM die Anzahl der enthaltenen Datenpakete an¬ gibt, beträgt somit vierzig, also Ll = L2 = ... = L20 = 40. Jedoch kann im Allgemeinen eine beliebige Anzahl von Datenpa¬ keten Dl, ... , DN zu einem Teilblock Tl, ..., TM zusammenge¬ fasst werden, wobei diese Paketanzahl Ll, ..., LM von Teil¬ block zu Teilblock unterschiedlich sein kann. Nach Abschluss dieses Verarbeitungsschritts sind alle Datenpakete Dl, ..., DN einem Teilblock Tl, ..., TM zugewiesen.
In einem zweiten Verarbeitungsschritt V2 wird für jeden Teil¬ block Tl, ..., TM mit Hilfe eines ersten Fehlerschutzverfah- rens FSl ein" Fehlerschutzblock Fl, ..., FM gebildet. Aus dem Stand der Technik sind eine Vielzahl von systematischen und nicht-systematischen Fehlerschutzalgorithmen (Englisch: Code)
zur Verwendung als Fehlerschutzverfahren bekannt, wie zum Beispiel [1 - 5] . Hierbei kann das erste Fehlerschutzverfah¬ ren FSl einem EXOR-Parity-Code, einem Read-Solomon-Code (RS) oder auch einem Low-Density-Parity-Check-Code entsprechen. Nach der Codierung mit Hilfe des ersten Fehlerschutzverfah¬ rens FSl umfasst gemäß Fig. Ib jeweils ein Fehlerschutzblock Fl, ..., F20 vierzig codierte Datenpakete Cl, ..., C800 und einen Redundanzblock Rl, ..., R20. Hierbei ist einem codier¬ ten Datenpaket Cl, ..., CN je ein Datenpaket Dl, ..., DN zu¬ geordnet. In diesem Ausführungsbeispiel beinhalten die Redun¬ danzblöcke Rl, ..., R20 jeweils 320 Bytes. Die codierten Da¬ tenpakete Cl, ..., C800 und die Redundanzblöcke Rl, ..., R20 werden auch als Fehlerschutzpakete bezeichnet. Somit kann beispielsweise ein fehlerhaftes Fehlerschutzpaket innerhalb des Fehlerschutzblocks Fl, ..., F20 korrigiert werden.
In der Praxis zweckmäßig ist die Verwendung eines systemati¬ schen Fehlerschutzalgorithmus für das erste Fehlerschutzver¬ fahren FSl, da hierbei die Datenpakete Dl, ..., DN unverän¬ dert in den codierten Datenpaketen Cl, ..., CN erscheinen. Hingegen wird bei nicht-systematischen Codes eine Codierung der Datenpakete Dl, ..., DM derart vollzogen, dass ein binä¬ rer Inhalt des codierten Datenpakets Cl, ..., CN nicht dem binären Inhalt des jeweiligen Datenpakets Dl, ..., DN ent¬ spricht. Vorteilhaft bei Verwendung von systematischen Feh¬ lerschutzalgorithmen ist, dass ein Empfänger für den Fall, dass keine Fehler bei der Übertragung der codierten Datenpa¬ kete Cl, ..., CN auftreten, die Datenpakete Dl, ..., DN di¬ rekt durch Kopieren aus den codierten Datenpaketen Cl, ..., CN gewinnen kann, ohne das erste Fehlerschutzverfahren FSl zur Decodierung verwenden zu müssen. Somit wird die Komplexi¬ tät zur Durchführung eines Decodierverfahrens unter Verwen¬ dung von systematischen Fehlerschutzalgorithmen auf Empfän¬ gerseite erheblich reduziert.
In einem dritten Verarbeitungsschritt V3 werden die Fehler¬ schutzblöcke Fl, ..., FM übertragen. Hierbei werden die Feh-
lerschutzblöcke Fl, ..., FM derart übermittelt, dass zuerst der Fehlerschutzblock Fl übertragen wird, der die Datenpakete Dl, ..., D40 repräsentiert, die als erstes wiedergegeben wer¬ den sollen, und zuletzt der Fehlerschutzblock F20 versandt wird, der diejenigen Datenpakete D761, ..., D800 darstellt, die als letztes wiedergegeben werden sollen. In Figur Ic ist dies dargestellt. Zunächst wird der Fehlerschutzblock Fl, dann F2 und zuletzt F20 verschickt. Durch die Übertragung der Fehlerschutzblöcke Fl, ..., FM in dieser Reihenfolge wird ge¬ währleistet, dass ein Empfänger zunächst alle Fehlerschutzpa¬ kete des Fehlerschutzblocks Fl empfängt, so dass nach einer ggf. notwendigen Korrektur von fehlerhaft empfangenen Fehler¬ schutzpaketen, und der notwendigen Decodierung bei Verwendung von nicht-systematischen Codes, die vierzig rekonstruierten Datenpakete Dl, ..., D40 sofort zur Wiedergabe, beispielswei¬ se an einen Lautsprecher, weitergeschickt werden können. Wür¬ den beispielsweise zunächst erst alle codierten Datenpakete Cl, ..., C800 und daran anschließend alle Redundanzblöcke Rl, ..., R20 übertragen werden, so müsste der Empfänger bei Auf¬ tritt eines Fehlers beispielsweise im codierten Datenpaket C40 zuerst alle 800 codierten Datenpakete Cl, ..., C800 emp¬ fangen, um dann mit der Fehlerkorrektur bzw. der Decodierung fortzufahren. Somit wird durch die gemeinsame Übermittelung der codierten Datenpakete Cl, ..., C40 des ersten' Fehler¬ schutzblocks Fl und des Redundanzblocks Rl erreicht, dass mit einer kurzen Verzögerung von 41 Paketen, 40 codierte Datenpa¬ keten und ein Redundanzblock, die Wiedergabe des Musik-Video- clips bereits während des Streamings mit einer geringen Ver¬ zögerung gestartet werden kann.
Die durch dieses Schema erzeugte Verzögerung V soll an fol¬ gendem Beispiel erläutert werden. Ein Übertragungsmedium UEM, über das die Fehlerschutzpakete Fl, ..., FM übertragen wer¬ den, weist eine Übertragungsbandbreite UR = 64kbit/s auf. Je¬ des Fehlerschutzpakete des Fehlerschutzblocks Fl, ..., FM um- fasst jeweils 40 codierte Datenpakete und ein Redundanzblock, mit einer codierten Datenpaketlänge CLl, ..., CLN mit z.B.
CLl = ... = CLN = 320 Bytes und einer Redundanzblocklänge Jl, ..., JM mit z.B. Jl = ... = JM = 320 Bytes. Somit ergibt sich eine maximale Verzögerung V für die Wiedergabe des Musik- Videoclips zu:
T7 CLl* 40 + Jl 320ßvt<?5'-(40 + l) 13120sec Λ r Λ
V = = - - = = 1,64 sec
UR 64kbit/sec 8000
Folglich beträgt die maximale Verzögerung V = 1,64 Sekunden. Würde der Benutzer vor der Musik-Videoclip-Wiedergabe erst alle Fehlerschutzpakete aller Fehlerschutzblöcke Fl, ..., FM übertragen, so müsste er im Falle einer fehlerbehafteten Ü- bertragung eine maximale Verzögerung von
τ, _ CLl * 800 + /1 * 20 _ 320Bytes * (800 + 20) _ oo o UR 8000Bytes/sec
in Kauf nehmen, bis der vollständige Musik-Videoclip zur Wie¬ dergabe bereitsteht.
Bei der Datenübertragung über Mobilfunkkanäle kommen häufiger kurze als lange Fehlerbursts vor, da lange Fehlerbursts z.B. nur bei sehr wenigen Handovers auftreten. Deswegen ist es vorteilhaft, den Fehlerschutzblock Fl, ..., FM mittels des ersten Fehlerschutzverfahrens FSl derart zu gestalten, dass eine kleine Anzahl von fehlerhaft übertragenen Fehlerschutz¬ pakten innerhalb des jeweiligen Fehlerschutzblocks Fl, ..., FM korrigierbar ist, wie zum Beispiel ein oder zwei Fehler¬ schutzpakte je Fehlerschutzblock Fl, ..., FM. Ferner würde bei einem großen Fehlerschutz im Fehlerschutzpaket ein großer zu übertragender Overhead entstehen. In diesem Beispiel wür¬ den bei mehr als zwei fehlerhaft übertragenen Fehlerschutz¬ pakten eine Korrektur mittels des ersten Fehlerschutzverfah¬ rens FSl nicht möglich sein und der Nutzer müsste für eine Zeitspanne, z.B. V = 1,64 sec, eine Unterbrechung des Musik- Videoclips in Kauf nehmen. Wie später noch gezeigt wird, sol¬ len derartige Fehler mit einem zweiten Fehlerschutzverfahren FS2 behebbar sein, so dass nach Beendigung des Downloads ein
fehlerfreier Musik-Videoclip zur Verfügung steht. Ferner ist es zweckmäßig, bei der Auswahl des ersten Fehlerschutzverfah¬ rens FSl einen Fehlerschutzalgorithmus auszuwählen, der be¬ liebig angeordnete fehlerhafte Fehlerschutzpakte, insbesonde¬ re codierte Datenpakete Cl, ..., CN, in innerhalb des Fehler¬ schutzblocks Fl, ..., FM korrigieren kann.
Ferner ist es zweckmäßig, dass der Fehlerschutzblock Fl, ..., FM derart erzeugt wird, dass eine festlegbare Fehlerblockan¬ zahl FF an codierten Datenpaketen Cl, ..., CN und Redundanz¬ blöcken Rl, ..., RM innerhalb des FehlerSchutzblocks Fl, ..., FM korrigierbar ist. Bei bekannten Fehlerschutzalgorithmen, wie z.B. [1-5], kann dies durch eine geeignete Dimensionie¬ rung der Redundanzblöcke Rl, ..., RM erzielt werden. Bei¬ spielweise sind alle codierten Datenpakete Cl, ..., CN gleich lang, z.B. je 100 Bytes. So kann durch einen Redundanzblock Rl, ..., RM der Länge 100 Bytes ein Fehlerschutzpakete je Fehlerschutzblock Fl, ..., FM verbessert werden. Bei Verwen¬ dung von 2x100 Bytes = 200 Bytes pro Redundanzblock Rl, ..., RM können beispielsweise zwei codierte Datenpakete Cl, ..., CN je Fehlerschutzblock Fl, ..., FM korrigiert werden. Zum Erzielen einer Korrektureigenschaft von drei und mehr codier¬ te Datenpakete Cl, ..., CN je Fehlerschutzblock kann dieses Schema analog weitergeführt werden. Neben den codierten Da¬ tenpaketen Cl, ..., CN kann auch der jeweilige Redundanzblock Rl, ..., RM korrigiert werden.
In einem vierten Verarbeitungsschritt V4 werden die codierten Datenpakete Cl, ..., CN zu einem Gesamtblock GB zusammenge- fasst. In Fig. Id ist dies beispielhaft zu sehen.
In einem fünften Verarbeitungsschritt V5 wird für den Gesamt¬ block GB mit Hilfe eines zweiten Fehlerschutzverfahrens FS2 ein Gesamtfehlerschutzblock GFB generiert. Hierbei können be¬ kannte Fehlerschutzalgorithmen, wie zum Beispiel [1 - 5] be¬ nutzt werden. Im Gegensatz zum ersten Fehlerschutzverfahren FSl dürfen für das zweite Fehlerschutzverfahren FS2 jedoch
lediglich systematische Fehlerschutzalgorithmen eingesetzt werden, da bei Verwendung von nicht-systematischen Fehler¬ schutzalgorithmen der Inhalt der codierten Datenpakete binär verändert werden würde und somit eine Korrektur bzw. Decodie- rung durch das erste Fehlerschutzverfahren FSl erst nach De- codierung durch das zweite Fehlerschutzverfahren FS2 möglich wäre. Im Folgenden werden die an den Empfänger übertragenen codierten Datenpakete Cl, ..., CN als übermittelte codierte Datenpakete El, ..., EN bezeichnet, wobei diese übermittelte codierten Datenpakete El, ..., EN aufgrund einer fehleranfäl¬ ligen Übertragung Übertragungsfehler aufweisen können.
In der Praxis ist es weiterhin zweckmäßig, dass mit Hilfe des Gesamtfehlerschutzblocks GFB mehr fehlerhaft übermittelte co¬ dierte Datenpakete El, ..., EN korrigiert werden können, als mit dem jeweiligen Fehlerschutzblock Fl, ..., FM. Beispiels¬ weise wurden auf Grund eines Handovers zehn übermittelte co¬ dierte Datenpakete E51, ..., E60 innerhalb des Teilblocks T2 fehlerhaft übermittelt. Da der Fehlerschutzblock F2 unter Be¬ nutzung seines Redundanzblocks R2 beispielsweise lediglich zwei der fehlerhaft übermittelten codierten Datenpakete E51, ... , E60 korrigieren kann, ist hiermit eine (vollständige) Fehlerkorrektur nicht möglich. Jedoch können mit Hilfe des Gesamtfehlerschutzblocks GFB, der beispielsweise bis zu zwan¬ zig fehlerhaft übermittelte codierte Datenpakete El, ..., EN korrigieren kann, diese zehn fehlerhaft übermittelten codier¬ ten Datenpakete E51, ..., E60 innerhalb des Teilblocks T2 fehlerfrei rekonstruiert werden. Dies setzt jedoch voraus, dass lediglich zehn weitere übermittelte codierte Datenpakete El, ..., E50, E61, ..., EN fehlerhaft empfangen wurden. An¬ sonsten sind mehr fehlerhafte übermittelte Datenpakete El, ... , EN vorhanden als mittels des zweiten Fehlerschutzver¬ fahrens FS2 korrigiert werden können.
In einem sechsten Schritt V6 wird der Gesamtfehlerschutzblock GFB nach den Fehlerschutzblöcken Fl, ..., FM übertragen. So¬ mit steht nach Beendigung des Streamings aller Fehlerschutz-
blocke Fl, ..., FM zusätzlich der Gesamtfehlerschutzblock GFB zur Korrektur von für die durch die Fehlerschutzblöcke Fl, ..., FM nicht korrigierbaren Fehler zur Verfügung.
In einer möglichen Erweiterung des erfindungsgemäßen Verfa¬ hrens wird die Paketanzahl Ll, ..., LM an Datenpaketen Dl, ..., DN des Teilblocks Tl, ..., TM in Abhängigkeit von einer festlegbaren Verzögerung V, unter Berücksichtigung einer Übertragungsrate UR, einer codierten Datenpaketlänge Cl, ..., CLN und einer Redundanzblocklänge Jl, ..., JM ermittelt. Die codierte Datenpaketlänge CLl, ..., CLN enthält die Anzahl an Symbolen, z.B. an Bytes, pro codiertem Datenpaket CLl, ..., CN. Die Redundanzblocklänge Jl, ..., JM beschreibt die Anzahl an Symbolen, z.B. an Bytes, pro Redundanzblock Rl, ..., RM. Dies soll am folgenden Beispiel näher erläutert werden:
- Codierte Datenpaketlänge CLl = CL2 = ... = CLN = 500 Bytes;
- Redundanzblocklänge Jl = J2 = ... = JM = 500 Bytes;
- Verzögerung V = 3 Sekunden;
- Übertragungsrate UR = 128kbit/sec = 16kByte/sec;
Unter Verwendung dieser Parameter kann die Paketanzahl Ll, ..., LM an Datenpaketen des Teilblocks Tl, ..., TM folgender¬ maßen errechnet werden:
Ll = ... = LM = = — = 95Pakete
CLl 500Byte
Es dürfen maximal 95 codierte Datenpakete und, weil pro co¬ diertem Datenpaket ein Datenpaket zugeordnet ist, somit 95 Datenpakete in dem Teilblock Tl enthalten sein, um bei den gegebenen Parametern eine Verzögerung V von maximal 3 Sekun¬ den nicht zu überschreiten. In dem obigen Beispiel wurde an¬ genommen, dass die codierte Datenpaketlänge CLl, ..., CLN in jedem codierten Datenpaket Cl, ..., CN identisch lang ist. Im
Allgemeinen können die codierten Datenpakete Cl, ..., CN als auch die Datenpakete Dl, ..., DN beliebige Längen aufweisen.
In einer Erweiterung des erfindungsgemäßen Verfahrens wird die Paketanzahl Ll1. ..., LM an Datenpaketen auf Grund von charakteristischen Werten Wl, ..., WN von aufeinander folgen¬ den Datenpaketen Dl, ..., DN ermittelt, wobei der charakte¬ ristische Wert Wl, ..., WN eine Wichtigkeit des jeweiligen Datenpakets Dl, ..., DN in Bezug auf mindestens ein anderes Datenpaket Dl, ..., DN repräsentiert. Beispielsweise beinhal¬ tet jedes zehnte Datenpaket Dl, Dil, D21, ..., D791 Parame¬ ter, die für alle Datenpakete Dl, ..., DN wichtig sind. Alle übrigen Datenpakete D2, D3, ..., DlO, D12, ..., DN enthalten lediglich multimediale Informationsparameter, wie z.B. PCM- Daten (PCM - Pulse Code Modulation) , die unabhängig von ande¬ ren PCM-Daten decodiert werden können. Mit Hilfe einer sta¬ tistischen Methode wird zunächst jedem Datenpaket Dl, ... , DN ein charakteristischer Wert Wl, ..., WN zugewiesen. Bei¬ spielsweise wird durch eine Messung ermittelt, welchen Ein- fluss das Fehlen eines bestimmten Datenpakets Dl, ..., DN für die Wiedergabequalität hat, zum Beispiel für die Audioquali¬ tät bei einem Musikstück. In einer anderen Ausführungsform einer statistischen Methode wird den wichtigen Datenpaketen Dl, Dil, D21, ..., D791 ein charakteristischer Wert Wl = WIl = ... = 5 zugewiesen und den weniger wichtigen Datenpaketen D2, D3, ..., DN der Wichtigkeitswert W2 = W3 = ... = WN = 1 zugeordnet. In einem weiteren Beispiel repräsentieren die Da¬ tenpakete Dl, ..., DN ein codiertes Videosignal. Hierbei sind diejenigen Datenpakete für die Decodierung besonders wichtig, die Bewegungsvektoren umfassen, wohingegen die übrigen Daten¬ pakete, die das codierte Restfehlersignal beinhalten, eine geringere Wichtigkeit in Bezug auf die Bildqualität haben. Somit weisen beispielsweise die charakteristischen Werte der wichtigen Datenpakete einen hohen Wert und die weniger wich¬ tigen Datenpakete einen niedrigeren Wert auf. Durch Vorgabe einer festlegbaren Schwelle WS wird nun ein Wert vorgegeben, den eine Summe von charakteristischen Werten Wl, ..., WN auf-
einander folgender Datenpakete Dl, ... , DN innerhalb des je¬ weiligen Teilblocks Tl, ..., TN nicht überschreiten soll. Beispielsweise sind folgende Parameterwerte vorgegeben:
- Festlegbare Schwelle WS = 35;
- charakteristischer Wert Wl = WIl = W21 = ... = 5;
- charakteristischer Wert W2 = W3 = W4 = ... = WN = 1;
Durch Summation der charakteristischen Werte Wl, ..., WN auf¬ einander folgender Datenpakete Dl, ..., DN wird die Paketan¬ zahl Ll, ..., LM an Datenpaketen für den Teilblock Tl, ..., TM ermittelt. Für das Beispiel ergibt sich:
Ll = Wl + W2 + W3 + W4 +...+ W23 = 35 ≤ WS.
Somit umfasst der Teilblock Tl die Datenpakete Dl,...D23, wo¬ bei somit die Paketanzahl Ll = 23 beträgt. Mit dieser Erwei¬ terung des erfindungsgemäßen Verfahrens kann die Paketanzahl Ll, ..., LM an Datenpaketen für den Teilblock Tl, ..., TM in Abhängigkeit von den jeweiligen charakteristischen Werte Wl, ..., WN und der vorgebbaren Schwelle WS ermittelt werden. Für weitere Paketanzahlen L2, ... , LM an Datenpaketen wird analog zu den Ausführungen für die Paketanzahl Ll vorgegangen.
Fig. 2 zeigt eine alternative Variante des erfindungsgemäßen Verfahrens bei der Erstellung des Gesamtfehlerschutzblocks GFB. Hierbei wird der Gesamtfehlerschutzblock GFB in mehrere Segmente Sl, ..., SL aufgeteilt, wobei jedes Segment Sl, ..., SL eine Teilmenge Ml, ..., ML von codierten Datenpaketen Cl, ..., CN korrigieren kann. Im Ausführungsbeispiel nach Figur 2 stellen die codierten Datenpakete Cl, C41, C81, ..., C761 die Teilmenge Ml dar. Für diese Teilmenge Ml wird mit Hilfe eines zweiten Fehlerschutzverfahrens FS2 ein Segment Sl generiert. Die Teilmenge M2 beinhaltet die codierten Datenpakete C2, C42, C82, ..., C762. Das Segment S2 umfasst einen Fehler¬ schutz für diese Teilmenge M2. In analoger Weise können wei¬ tere Teilmengen M3, ..., ML und Segmente S3, ..., SL gebildet
werden. Im Allgemeinen können die Teilmengen Ml, ..., ML aus beliebigen Kombinationen von codierten Datenpaketen Cl, ..., CN erstellt werden, wobei ein oder mehrere codierte Datenpa¬ kete Cl, ..., CN in mehr als einer Teilmenge Ml, ..., ML ein¬ geschlossen sein können. Auch die Größe der Segmente Sl, ..., SL kann unterschiedlich sein. So umfasst beispielsweise das Segment Sl = 100 Bytes und das Segment S2 = 320 Bytes.
Nach dem Ausführungsbeispiel gemäß Figur Ic werden zuerst die Fehlerschutzblöcke Fl, ..., FM nacheinander übertragen. Dann wird der Gesamtfehlerschutzblock GFB übermittelt. Hierbei werden die Fehlerschutzblöcke Fl, ..., FM und der Gesamtfeh¬ lerschutzblock GFB über einen ersten Übertragungsweg UWl ver¬ schickt. In einer alternative Variante gemäß Figur 3 können auch zwei Übertragungswege UWl, UW2 zum Versenden der codier¬ ten Datenpakete Cl, ..., CN, der Redundanzblöcke Rl, ..., RM und des Gesamtfehlerschutzblocks GFB genutzt werden. So kön¬ nen alle codierten Datenpakete Cl, ..., CN und der Gesamtfeh¬ lerschutzblock GFB über den ersten Übertragungsweg UWl und die Redundanzblöcke Rl, ..., RM über den zweiten Übertra¬ gungsweg UW2 versandt werden. Dies ist vorteilhaft, da damit über den ersten Übertragungsweg UWl die codierten Datenpakete Cl, ..., CN derart übertragen werden können, dass diese von Empfängergeräten, die lediglich einen Download von multimedi¬ alen Inhalten, also von codierten Datenpaketen Cl, ..., CN, unterstützen, empfangen und weiterverarbeitet werden können. Ferner kann durch Hinzunahme der Redundanzblöcke Rl, ..., RM, die über den zweiten Übertragungsweg UW2 verschickt werden, eine Applikation, die eine Mischform von Download- und Strea¬ ming-Anwendung realisiert, einen Redundanzblock Rl, ..., RM je Fehlerschutzblock Fl, ..., FM entgegennehmen und bei auf¬ tretenden Fehlern diese mittels des jeweiligen Redundanz¬ blocks Rl, ..., RM korrigieren. Bei Verwendung von zwei Über¬ tragungswegen UWl, UW2 ist es in der Praxis zweckmäßig, dass beide Fehlerschutzverfahren FSl, FS2 systematische Fehler¬ schutzalgorithmen verwenden, da ansonsten die codierten Da-
tenpakete Cl, ..., CN u.U. ohne Verwendung der Redundanzblö¬ cke Rl, ..., RM nicht decodiert werden können.
Des Weiteren ist es zweckmäßig, dass die codierten Datenpa¬ kete Cl, ..., CN und die Redundanzblöcke Rl, ..., RM derart synchronisiert übertragen werden, dass der Redundanzblock Rl, ..., RM des jeweiligen Fehlerschutzblocks Fl, ..., FM spätes¬ tens zu dem Zeitpunkt beim Empfänger vorliegt, an dem auch das letzte codierte Datenpakete Cl, ..., CN des jeweiligen Fehlerschutzblocks Fl, ..., FM dem Empfänger zugeht. Dies wird anhand von Fig.3 näher erläutert. So kommt beispielswei¬ se der Redundanzblock Rl mit dem letzten codierten Datenpaket C40 des Fehlerschutzblocks Fl am Empfängergerät an. Dies gilt analog für die weiteren Teilblöcke T2, ..., TM, wie z.B. der Redundanzblock R2 liegt beim Empfänger mit dem Zugang des co¬ dierten Datenpaketes C80, dem letzten codierten Datenpaket des Fehlerschutzblocks F2, vor. In Fig. 3 ist dieser Zusam¬ menhang mit einer gestrichelten Linie verdeutlicht. Durch diese Synchronisation wird erreicht, dass alle Fehlerschutz¬ pakete eines Fehlerschutzblocks Fl, ..., FM mit Eingang des letzten codierten Datenpaketes Cl, ..., CN am Empfänger vor¬ liegen und somit sowohl eine Korrektur von fehlerhaft über¬ tragenen Fehlerschutzpaketen als auch eine Wiedergabe der aus den codierten Datenpaketen Cl, ..., CN rekonstruierten Daten¬ pakete Dl, ..., DN mit minimaler Verzögerung ausgeführt wer¬ den kann.
Ferner betrifft die Erfindung ein Decodierverfahren, mit dem mit Hilfe des Fehlerschutzes, der nach einem Codierverfahren erzeugt wurde, die Datenpakete Dl, ..., DN rekonstruiert wer¬ den können. Von einer Encodiervorrichtung EV werden die Feh¬ lerschutzpakete, die die codierten Datenpakete Cl, ..., CN und die Redundanzblöcke Rl, ..., RM umfassen, an eine Deco- diervorrichtung DV übertragen, wobei die Fehlerschutzpakete wegen einer fehlerbehafteten Übertragung über das Übertra¬ gungsmedium fehlerhaft bei der Decodiervorrichtung DV ankom¬ men können. Diese Fehlerschutzpakete, die bei der Decodier-
Vorrichtung DV ankommen, werden als übermittelte Fehler¬ schutzpakete bezeichnet. Mit Hilfe von Fig. 4 wird im Folgen¬ den ein Ausführungsbeispiel für das Decodierverfahren näher erläutert:
- Im Schritt Sl werden die übermittelten Fehlerschutzpake¬ te eines Fehlerschutzblocks Fl, ..., FM empfangen.
- Im Schritt S2 werden diese übermittelten Fehlerschutzpa¬ kete des Fehlerschutzblocks Fl, ..., FM mit Hilfe des ersten Fehlerschutzverfahrens FSl decodiert und daraus rekonstruierte Datenpakete Gl, ..., GN erzeugt. Diese rekonstruierten Datenpakete Gl, ..., GN repräsentieren die Datenpaketen Dl, ..., DN am Empfänger, jedoch können die rekonstruierten Datenpakete Gl, ..., GN von den Da¬ tenpaketen Dl, ..., DN aufgrund von Übertragungsfehlem abweichen. In einer Variante wird für das erste Fehler¬ schutzverfahren FSl ein systematischer Fehlerschutzalgo¬ rithmus (Englisch: Code) eingesetzt. Hierbei können, falls keines derjenigen übermittelten Fehlerschutzpake¬ te, die die codierten Datenpakete Cl, ..., CN repräsen¬ tieren, fehlerhaft empfangen wurde, durch Kopieren der übermittelten codierten Datenpakete die rekonstruierten Datenp.akete Gl, ..., GN des Teilblocks Tl, ,.., TM re¬ konstruiert werden.
- Im Schritt S3 werden die rekonstruierten Datenpakete Gl, ..., GN des Teilblocks Tl, ..., TM dahingehend geprüft, ob alle fehlerfrei rekonstruiert werden konnten. Ist dies der Fall, dann wird mit Schritt S4 ansonsten mit Schritt S5 weiterverfahren.
- Im Schritt S4 werden die rekonstruierten Datenpakete Gl, ..., GN des Teilblocks Tl, ..., TM an ein Ausgabemedium, z.B. an ein LautSprechermodul, zur Wiedergabe weiterge¬ leitet.
- Im Schritt S5 werden der empfangene Fehlerschutzblock und die rekonstruierten Datenpakete Gl, ... , GN gespei¬ chert.
- Im Schritt Sβ wird nun geprüft, ob ein weiterer Fehler¬ schutzblock Fl, ..., FM zum Empfang bereitsteht. Ist
dies der Fall so wird wieder mit Schritt Sl begonnen, ansonsten mit Schritt S7 weiterverfahren. Im Schritt S7 wird der Gesamtfehlerschutzblock GFB emp¬ fangen, der u.U. aufgrund der Übertragung über das feh¬ lerbehaftete Übertragungsmedium UEM Fehler aufweist. Im Schritt S8 werden Restfehler der rekonstruierten Da¬ tenpakete Gl, ..., GN, die mittels des ersten Fehler¬ schutzverfahrens FSl nicht korrigiert werden konnten, mit Hilfe des zweiten Fehlerschutzverfahrens FS2 korri¬ giert. Im Folgenden werden diejenigen übermittelten Feh¬ lerschutzpakete als übermittelte codierte Datenpakete El, ..., EN bezeichnet, die jeweils codierte Datenpakete Cl, ..., CN repräsentieren. In Abhängigkeit vom verwen¬ deten Fehlerschutzalgorithmus des ersten Fehlerschutz- verfahrens FSl sind beispielsweise die zwei folgenden Fehlerkorrekturvorgehensweisen zweckmäßig: a) Bei Verwendung eines systematischen Fehlerschutzalgo¬ rithmus für das erste Fehlerschutzverfahren FSl wer¬ den alle übermittelten codierten Datenpakete El, ..., EN, die fehlerfrei durch das erste Fehlerschutzver¬ fahren FSl rekonstruiert werden konnten, durch das jeweilige rekonstruierte Datenpaket Gl, ..., GN er¬ setzt. Danach wird mit Hilfe des zweiten Fehler¬ schutzverfahrens FS2 eine Rekonstruktion aller über¬ mittelten codierten Datenpakete El, ..., EN durchge¬ führt und somit die rekonstruierten Datenpakete Gl,
... , GN erzeugt. b) Bei Verwendung eines nicht-systematischen Fehler- schutzalgorithmus für das erste Fehlerschutzverfahren FSl werden zunächst die rekonstruierten Datenpakete Gl, ...r GN derjenigen Fehlerschutzblöcke Fl, ..., FM, die vollständig rekonstruiert werden konnten, mittels des ersten Fehlerschutzverfahrens FSl in co¬ dierte Hilfspakete codiert. Dann werden die übermit¬ telten codierten Datenpakete El, ..., EN dieser Feh¬ lerschutzblöcke Fl, ..., FM durch diese codierten Hilfspakete ersetzt. Somit wird erreicht, dass die
Fehleranzahl der fehlerhaft übermittelten codierten Datenpakete reduziert wird, da mit Hilfe des ersten Fehlerschutzverfahrens FSl bereits einige fehlerhafte codierte Datenpakete verbessert werden können. In ei¬ nem nachfolgenden Verarbeitungsschritt werden durch das zweite Fehlerschutzverfahren FS2 mit Hilfe des empfangenen Gesamtfehlerschutzblocks GFB die übermit¬ telten und bereits teilweise korrigierten codierten Datenpakete korrigiert. Abschließend werden für jeden Fehlerschutzblock Fl, ..., FM durch das erste Fehler¬ schutzverfahren FSl unter Verwendung der teilweise korrigierten und übermittelten codierten Datenpakete die rekonstruierten Datenpakete Gl, ..., GN gewonnen. Im Schritt S9 wird geprüft, ob alle rekonstruierten Da¬ tenpakete Gl, ..., GN fehlerfrei wieder hergestellt wer¬ den konnten. Ist dies der Fall, dann wird mit Schritt SlO, ansonsten mit Schritt Sil weiterverfahren. Im Schritt SlO werden die rekonstruierten Datenpakete Gl, ..., GN gespeichert, beispielsweise damit ein Nutzer oder auch die Decodiervorrichtung DV diese zu einem spä¬ teren Zeitpunkt am Laustsprechermodul ausgeben kann. Im Schritt Sil können die rekonstruierten, aber fehler¬ haften, Datenpakete Gl, ..., GN verworfen werden und der Nutzer könnte informiert werden, dass wegen nicht¬ korrigierbarer Fehler die rekonstruierten Datenpakete Gl, ..., GN, also z.B. der Musik-Videoclip, nicht ge¬ speichert werden können. In einer Alternative können die rekonstruierten Datenpakete Gl, ..., GN gespeichert wer¬ den, der Nutzer muss jedoch dann beim Ausgeben dieser, z.B. an dem LautSprechermodul, kurze Unterbrechungen bzw. eine fehlerhafte Wiedergabe in Kauf nehmen. Ferner kann die Decodiervorrichtung DV hierbei mittels Methoden der Fehlerverschleierung, zum Beispiel bei Audiodaten mittels Interpolation, eine Qualitätsverbesserung erzie¬ len. In einer weiteren Alternative kann der Empfänger, z.B. die Decodiervorrichtung DV, dem Sender, z.B. der Codiervorrichtung EV, über einen aufzubauenden Rückkanal
Steuerinformationen übermitteln, welche Datenpakete nicht fehlerfrei rekonstruiert werden konnten. Der Sen¬ der kann dann zu diesem Empfänger eine gesicherte Punkt- zu-Punkt Verbindung aufbauen und über diese noch fehlen¬ de und/oder fehlerhafte Datenpakete nachliefern. In ei¬ ner weiteren Alternative können Redundanzpakete über die Punkt-zu-Mehrpunkt-Verbindung an alle Empfänger gesendet werden. Mit Hilfe dieser Redundanzpakete, die z.B. Re¬ dundanzinformation für ein oder mehrere Datenpakete um¬ fassen, können die fehlerhaften und/oder fehlenden Da¬ tenpakete rekonstruiert werden. Dies ist dann vorteil¬ haft, wenn bei vielen Empfängern eine fehlerfreie Rekon¬ struktion der Datenpakete nicht möglich ist. Durch die Übertragung von Datenpakete über einen fehleranfälligen Übertragungsweg können Datenpakete auch verloren gehen. Verlorengegangene Datenpakete können bei der Decodierung durch ein beliebiges Datenpaket ersetzt werden, wobei dieses ersetzte Datenpaket als fehlerhaft markiert wird. Somit kann eine Decodierung unter Berücksichtigung von lediglich fehlerhaften Datenpaketen erfolgen.
Die Erfindung umfasst auch die Encodiervorrichtung EV mit Mitteln zum Durchführen des Codierverfahrens. Hierbei ist die Encodiervorrichtung EV beispielsweise in einem Datenrechner, wie z.B. einem Content-Server, eines Mobilfunk-Netzwerkes in¬ tegriert, mit dem das Verfahren zur Codierung realisiert wer¬ den kann. In einem weiteren Anwendungsfall kann die Encodier¬ vorrichtung EV auch in einem mobilen Endgerät untergebracht sein, wobei das mobile Endgerät beispielsweise mit einer Ka¬ mera eine Folge von Bildern aufnimmt, diese Bilder mittels eines Video-Kompressionsverfahrens komprimiert und hieraus die Datenpakete Dl, ..., DN generiert. Anschließend werden diese Datenpakete Dl, ..., DN gemäß dem erfindungsgemäßen Verfahren codiert und dann über ein Netzwerk, beispielsweise einem GSM-Funknetzwerk (GSM - Global System for Mobile Commu- nication) übertragen.
Des Weiteren umfasst die Erfindung auch die Decodiervorrich- tung DV mit Mitteln zum Durchführen des Decodierverfahrens . Mit Hilfe der Decodiervorrichtung DV kann das erfindungsge¬ mäße Verfahren in einem Empfängergerät, beispielsweise in ei¬ nem Mobilfunktelefon nach UMTS-Standard (UMTS - Universal Mo¬ bile Telecommunications System) realisiert und benutzt wer¬ den.
Die Encodiervorrichtung EV und die Decodiervorrichtung DV sind in Figur 5 dargestellt. Die Encodiervorrichtung EV um¬ fasst beispielsweise ein erstes Speichermodul SMl zum Spei¬ chern z.B. der Datenpakete Dl, ..., DN. Ferner beinhaltet die Encodiervorrichtung EV auch ein Encodiermodul EM, mit dem die einzelnen Schritte zur Durchführung des erfindungsgemäßen Verfahrens zur Codierung realisiert werden können. Des Weite¬ ren weist die Encodiervorrichtung EV ein Sendemodul SM auf, mit dem beispielsweise die Fehlerschutzblöcke Fl, ..., FM und der Gesamtfehlerschutzblock GFB über das Übertragungsmedium UEM an die Decodiervorrichtung DV übertragen werden können. Das erste Speichermodul SMl, das Sendemodul SM und das Enco¬ diermodul EM sind über ein erstes Verbindungsnetzwerk VXl zum Austausch von Daten und Steuerinformationen miteinander ver¬ bunden.
Das Übertragungsmedium UEM ermöglicht die Übermittlung der Fehlerschutzblöcke Fl, ..., FM und des Gesamtfehlerschutz¬ blocks GFB. Beispielsweise ist das Übertragungsmedium UEM in Form eines drahtlosen Netzwerkes, nach GSM und/oder UMTS- Standard ausgebildet, oder in Form eines drahtgebundenen Netzwerkes realisiert, wie beispielsweise einem ISDN (ISDN - Integrated Digital Subscriber Network) oder einem IP-basier- ten Intra- und/oder Internet (IP - Internet Protocol) . Bei der Übermittlung durch das Übermittlungsmedium UEM können einzelne Pakete und/oder Blöcke fehlerhaft übertragen werden.
Die teilweise fehlerhaft übermittelten Pakete und Blöcke wer¬ den durch ein Empfangsmodul EE der Decodiervorrichtung DV
empfangen. Zur Weiterbearbeitung werden diese in einem zwei¬ ten Speichermodul SM2 gespeichert. Mit Hilfe des Decodiermo- duls DM werden in mehreren Schritten die rekonstruierten Da¬ tenpakete Gl, ..., GN erzeugt, die die Datenpakete Dl, ..., DN repräsentieren. Diese werden z.B. im zweiten Speichermodul SM2 zur Weiterverarbeitung, wie beispielsweise durch eine Lautsprechereinheit abgelegt. Das zweite Speichermodul SM2, die Empfangsmodul EE und das Decodiermodul DM sind mittels eines zweiten Verbindungs-Netzwerkes VX2 zum Austausch von Daten und Steuerinformationen miteinander verbunden.
Literatur
[1] J. Rosenberg, H. Schulzrinne, "An RTP Payload Format for Generic Forward Error Correction", IETF RFC 2733, Dec. 1999, http:///www.-ietf.org
[2] 3GPP Doc. GP-031391: "Channel Coding Scheines with In- cremental Redundancy for MBMS", 3GPP TSG-GERAN Meeting #15, Fort Lauderdale, Florida, June 2003
[3] A. Shokrollahi, "LDPC Codes; An Introduction", April 2003, http://www, ipnπ.ac ir/TPM/homepage/Amin2.pdf
[4] 3GPP Doc. S4-040230, "Raptor Code Specification for MBMS file download", 3GPP TSG-SA4 Meeting #31, Mont¬ real, Canada, May2004, http://www.3gpp.org
[5] M. Bossert, "Kanalcodierung", B.G. Teubner, 1992