DE102006045311A1 - Method and device for reconstructing at least one data packet - Google Patents
Method and device for reconstructing at least one data packet Download PDFInfo
- Publication number
- DE102006045311A1 DE102006045311A1 DE200610045311 DE102006045311A DE102006045311A1 DE 102006045311 A1 DE102006045311 A1 DE 102006045311A1 DE 200610045311 DE200610045311 DE 200610045311 DE 102006045311 A DE102006045311 A DE 102006045311A DE 102006045311 A1 DE102006045311 A1 DE 102006045311A1
- Authority
- DE
- Germany
- Prior art keywords
- packet
- packets
- code
- faulty
- dimensional block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
- H03M13/2915—Product codes with an error detection code in one dimension
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zum Rekonstruieren zumindest eines Datenpakets eines zweidimensionalen Blockkodes, wobei in jeder x-ten Zeile des zweidimensionalen Blockkodes die dazugehörigen Datenpakete und zumindest ein erstes Redundanzpaket mit einem systematischen Kode und jeder y-ten Spalte des zweidimensionalen Blockkodes die dazugehörigen Datenpakete und zumindest ein zweites Redundanzpaket mit einem Parity Code kodiert sind, wobei für mehrere Zeilen des zweidimensionalen Blockkodes (a1) die Datenpakete der x-ten Zeile mit systematischen Kodes in Zwischenpakete dekodiert werden, wobei diese Zwischenpakete fehlerhaft oder fehlerfrei sind, (a2) eine jeweilige Position eines fehlerhaften Zwischenpakets gespeichert wird, (a3) zumindest ein Endpaket durch Anwenden der Kodierungsvorschrift des Paritätskodes auf zumindest eines der fehlerfreien Zwischenpakete und auf zumindest eines der Endpakete generiert wird, und nach Durchführen dieser Schritte für die Zeilen zumindest für eine der Spalten des zweidimensionalen Blockkodes (b1) jeweils eine Anzahl an fehlerhaften Zwischenpaketen pro Spalte anhand zumindest einer der gespeicherten Positionen (POS) ermittelt wird, und (b2) das fehlerhafte Zwischenpaket in das Datenpaket mittels des Paritätskodes unter Verwendung des zumindest einen Endpakets korrigiert wird, falls die Anzahl gleich 1 ist. Die Erfindung betrifft zudem eine Vorrichtung zum Durchführen des Verfahrens.The invention relates to a method for reconstructing at least one data packet of a two-dimensional block code, wherein in each x-th row of the two-dimensional block code the associated data packets and at least a first redundancy packet with a systematic code and every y-th column of the two-dimensional block code, the associated data packets and at least a second redundancy packet is coded with a parity code, wherein for several lines of the two-dimensional block code (a1) the data packets of the xth line are decoded with systematic codes in intermediate packets, these intermediate packets being erroneous or error-free, (a2) a respective position of one erroneous intermediate packet is stored, (a3) at least one end packet is generated by applying the encoding rule of the parity code to at least one of the error-free intermediate packets and at least one of the end packets, and after performing these steps for the lines at least for one of the columns of the two-dimensional block code (b1), a number of defective intermediate packets per column is determined from at least one of the stored positions (POS), and (b2) corrects the erroneous intermediate packet into the data packet using the parity code using the at least one final packet if the number equals 1. The invention also relates to a device for carrying out the method.
Description
Die Erfindung beschäftigt sich mit einem Verfahren und einer Vorrichtung zum Rekonstruieren zumindest eines Datenpaketes.The Invention busy with a method and apparatus for reconstructing at least one data packet.
Derzeit wird die Standardisierung von digitalem Fernsehen über das Internet vehement vorangetrieben, z.B. im Rahmen von DVB (DV – Digital Video Broadcast). Die zu übertragenden digitalen Fernsehsignale werden dabei in Datenpaketen mit Hilfe des IP-Standards (IP – Internet Protocol) von einem Sender zu einem bzw. einer Vielzahl von Empfängern übertragen. Im Zugangsnetzwerk erfolgt die Übertragung beispielsweise über DSL (DSL – Digital Subscriber Line). Aufgrund von Störungen in den Übertragungsnetzen kann es zu Übertragungsfehlern kommen, wobei fehlerhafte Datenpakete beispielsweise verworfen werden. Ursachen für Übertragungsfehler sind beispielsweise Überlastung von Routern im Netzwerk, Störsignale auf Breitband Zugangsleitungen, oder Übertragungsfehler in drahtlosen Heimnetzwerken, wie beispielsweise WLAN (WLAN – Wireless Local Area Network).Currently is the standardization of digital television over the Internet vehemently advanced, e.g. as part of DVB (DV - Digital Video broadcast). The to be transferred digital television signals are thereby in data packages with the help of the IP standard (IP - Internet Protocol) from a transmitter to one or a plurality of receivers. The transmission takes place in the access network for example about DSL (DSL - Digital Subscriber Line). Due to disturbances in the transmission networks it can come to transmission errors, wherein erroneous data packets are discarded, for example. causes for transmission errors are for example overload from routers in the network, interfering signals on broadband access lines, or transmission errors in wireless Home networks, such as WLAN (WLAN - Wireless Local Area Network).
Ein Verlust von Datenpaketen, die bei digitalen Fernsehsignalen durch komprimierte Multimediadaten repräsentiert werden, kann z.B. aufgrund von Fehlerfortpflanzung bei der Dekodierung, zu massiven Qualitätseinbußen führen. Insbesondere bei Bezahldiensten, wie z.B. Video on Demand, ist eine möglichst fehlerfreie Rekonstruktion im Empfänger auch bei Übertragungsfehlern zu gewährleisten.One Loss of data packets due to digital television signals compressed multimedia data can be represented, e.g. due to error propagation during decoding, too massive Quality losses lead. Especially at payment services, such as Video on Demand, one is possible error-free reconstruction in the receiver even with transmission errors to ensure.
Es ist eine Vielzahl von Verfahren zum Fehlerschutz und zur Rekonstruktion fehlerhafter Daten bekannt, wobei mit Hilfe der zu schützenden Datenpakete zusätzliche redundante Datenpakete (Redundanzpakete) erzeugt werden, die zur Fehlererkennung und/oder zur Rekonstruktion fehlerhaft am Empfänger emp fangener Datenpakete eingesetzt werden können. Die Kodierung und die Dekodierung erfolgt hierbei beispielsweise blockweise, wobei eine Rekonstruktionseigenschaft von Datenpaketen verbessert werden kann, je mehr Datenpakete in einem Datenblock, der bei der Kodierung bzw. Dekodierung berücksichtigt wird, in Betracht gezogen wird.It is a variety of methods for error protection and reconstruction erroneous data known, with the help of the protected Data packets additional redundant data packets (redundancy packets) are generated, the Error detection and / or erroneous reception at the receiver for reconstruction Data packets can be used. The coding and the decoding takes place here, for example blockwise, being a reconstruction property of data packets can be improved, the more data packets in a data block, considered in the coding or decoding, into consideration is pulled.
Die Verwendung von großen Datenblöcken zeigt jedoch den Nachteil, dass ein großer Speicherplatz in einer Vorrichtung zur Durchführung der Dekodierung vorgesehen werden muss. Dieser Nachteil wird zusätzlich dadurch verstärkt, dass schneller RAM-Speicher (RAM – Random Access Memory) gegenüber externem Festplattenspeicher verhältnismäßig teuer ist, so dass in heutigen Recheneinheiten das RAM durch einen virtuellen RAM erweitert wird, bei dem Daten auf einer langsamen Festplatte ausgelagert werden.The Use of large Data blocks shows however, the disadvantage of having a large storage space in one Apparatus for carrying out the decoding must be provided. This disadvantage is additionally characterized strengthened that faster RAM (Random Access Memory) over external Hard disk space relatively expensive is so in today's computing units the RAM is replaced by a virtual one RAM is extended, where the data is on a slow disk be outsourced.
Der Erfindung liegt somit die Aufgabe zugrunde, eine Vorrichtung und ein Verfahren anzugeben, mit dem sowohl die Rekonstruktionseigenschaft durch Verwendung großer Datenblöcke als auch eine Speichereffizienz zur Rekonstruktion der Datenblöcke verbessert wird.Of the Invention is therefore the object of a device and to specify a method with which both the reconstruction property by Use large data blocks as well as a memory efficiency for the reconstruction of the data blocks improved becomes.
Diese Aufgabe wird durch die Ansprüche 1 und 6 gelöst. Sonstige Weiterbildungen der Erfindung sind in den Unteransprüchen wiedergegeben.These Task is by the claims 1 and 6 solved. Other developments of the invention are given in the dependent claims.
Die Erfindung betrifft ein Verfahren zum Rekonstruieren zumindest eines Datenpakets eines zwei-dimensionalen Blockkodes, wobei in jeder x-ten Zeile des zwei-dimensionalen Blockkodes die dazugehörigen Datenpakete und zumindest ein erstes Redundanzpaket mit einem systematischen Kode und jeder y-ten Spalte des zwei-dimensionalen Blockkodes die dazugehörigen Datenpakete und zumindest ein zweites Redundanzpaket mit einem Parity Code kodiert sind, wobei für mehrere Zeilen des zwei-dimensionalen Blockkodes (a1) die Datenpakete der x-ten Zeile mit systematischen Kodes in Zwischenpakete dekodiert werden, wobei diese Zwischenpakete fehlerhaft oder fehlerfrei sind, (a2) eine jeweilige Position eines fehlerhaften Zwischenpakets gespeichert wird, (a3) zumindest ein Endpaket durch Anwenden der Kodierungsvorschrift des Paritätskodes auf zumindest eines der fehlerfreien Zwischenpakete und auf zumindest eines der Endpakete generiert wird, und nach Durchführen dieser Schritte für die Zeilen zumindest für eine der Spalten des zwei-dimensionalen Blockkodes (b1) jeweils eine Anzahl an fehlerhaften Zwischenpakten pro Spalte anhand zumindest einer der gespeicherten Positionen (POS) ermittelt wird, und (b2) das fehlerhafte Zwischenpaket in das Datenpaket mittels des Paritätskodes unter Verwendung des zumindest einen Endpakets korrigiert wird, falls die Anzahl gleich 1 ist. Die Erfindung betrifft zudem eine Vorrichtung zum Durchführen des Verfahrens.The The invention relates to a method for reconstructing at least one Data packets of a two-dimensional block code, where in each xth line of the two-dimensional block code the associated data packets and at least a first redundancy package with a systematic one Code and every y-th column of the two-dimensional block code the associated Data packets and at least a second redundancy packet with a parity Code are encoded, where for several lines of the two-dimensional block code (a1) the data packets the xth line with systematic codes are decoded into intermediate packets, these intermediate packages are faulty or error free, (a2) stored a respective position of a faulty intermediate packet (a3) at least one end packet by applying the encoding rule the parity code on at least one of the error-free intermediate packets and on at least one of the end packages is generated and after performing this Steps for the lines at least for one of the columns of the two-dimensional block code (b1) respectively a number of faulty intermediate packets per column based on at least one of the stored positions (POS) is determined, and (b2) the erroneous intermediate packet into the data packet by means of the parity code is corrected using the at least one end packet, if the number equals 1. The invention also relates to a Device for performing of the procedure.
Durch dieses Verfahren werden die fehlerhaften Zwischenpakete durch Verwendung des Paritätskodes, d. h. einer Kodiervorschrift des Paritätskodes und der dazugehörigen zweiten Redundanzpakete, und unter Verwendung des zumindest einen Endpakets korrigiert. Dies zeigt den Vorteil, dass zur Korrektur des fehlerhaften Zwischenpakets, d. h zur Rekonstruktion des korrespondierenden Datenpakets, nur eine geringe Anzahl an Daten, d. h. Datenpaketen, in einem diese Korrektur durchführenden zweiten Dekodiermodul mit einem geringen Speicheraufwand ermöglicht wird. Durch Einsatz des geringen Speicherbedarfs wird eine Effizienz zur Rekonstruktion der Datenpakete verbessert, da ein zeitaufwändiges Lesen und/oder Schreiben von fehlerhaften bzw. fehlerfreien Zwischenpaketen erheblich reduziert wird. Diese Effizienz bei der Rekonstruktion bleibt auch dann gewährleistet, falls eine große Anzahl an Datenpaketen in dem zwei-dimensionalen Blockkode eingesetzt wird. Des Weiteren kann durch die Verwendung von einer großen Anzahl von Datenpaketen ein nicht rekonstruierbarer Restfehler an übertragenen Datenpaketen erheblich reduziert werden.By this method, the erroneous intermediate packets are corrected by using the parity code, ie, an encoding rule of the parity code and the associated second redundancy packets, and using the at least one end packet. This shows the advantage that to correct the faulty intermediate packet, i. h for reconstructing the corresponding data packet, only a small number of data, ie data packets, is made possible in a second decoding module carrying out this correction with a low memory outlay. By using the small memory requirement, an efficiency for the reconstruction of the data packets is improved, since a time-consuming reading and / or writing of faulty or error-free intermediate packets is considerably reduced. This efficiency in the reconstruction remains guaranteed even if a large number of data packets in the two-dimensional block code is used. Furthermore, the use of a large number of data packets can significantly reduce an unreconstructible residual error in transmitted data packets.
Vorzugsweise wird zumindest ein fehlerhaftes Zwischenpaket vor Durchführen des Schritts a1 durch einen vorgebbaren Wert, insbesondere einem binären Wert 0, vorbelegt. Hierdurch wird erreicht, dass bei der Erstellung des Endwerts keine Unterscheidung in fehlerhafte und/oder fehlerfreie Zwischenpakete durchgeführt werden muss. Hierdurch kann eine Beschleunigung der Rekonstruktion von fehlerhaften Datenpaketen erzielt werden, da auf eine zeitaufwändige Abfrage, ob ein Zwischenpaket fehlerhaft oder fehlerfrei ist, bei der Erstellung des Endpakets verzichtet werden kann. Im Allgemeinen können fehlerhafte Zwischenpakete auch mit binären Werten oder anderen Werten ungleich 0 vorbelegt werden, so lange der vorgebbare Wert gewährleistet, dass bei einer Verknüpfung dieses Werts mit dem Endwert keine Veränderung eines Inhalts des Endwerts stattfindet. Gerade bei der Verwendung des Paritätskodes erzeugt eine binäre Null mit einem der Endpakete genau wieder den Inhalt des Endpakets.Preferably is at least a faulty intermediate package before performing the Step a1 by a predeterminable value, in particular a binary value 0, preallocated. This ensures that when creating the Final value no distinction into erroneous and / or error-free Intermediate packages performed must become. This can accelerate the reconstruction erroneous data packets because of a time-consuming query, whether an interim package is faulty or error free when creating the end package can be dispensed with. In general, can be faulty Intermediate packages also with binary values or other values not equal to 0, as long as the predefinable Value ensures that at a link This value with the end value does not change a content of the final value takes place. Especially when using the parity code generates a binary zero with one of the end packages exactly the contents of the end package.
Wird vorzugsweise vor erstmaligem Ausführen des Schritts a3 ein oder mehrere Endpakete auf einen vorgebbaren weiteren Wert, insbesondere auf einen binären weiteren Wert 0, vorbelegt, so kann die Rekonstruktion von fehlerhaft übertragenen Datenpaketen, d.h. fehlerhafte Zwischenpakete, weiter beschleunigt werden. Werden die Endpakete zum ersten Mal ohne diese Erweiterung erzeugt, so ist die Kodierungsvorschrift des Paritätskodes nicht auf die fehlerfreien Zwischenpakete und Endpakete anwendbar. Durch die Vorbelegung mit dem vorgebbaren weiteren Wert wird daher erreicht, dass keine Abfrage erfolgen muss, ob die Erstellung der Endwerte das erste Mal durchgeführt wird, wodurch eine Beschleunigung des Ablaufs zur Korrektur der fehlerhaften Zwischenpakete, d. h. zur Rekonstruktion zumindest eines der Datenpakete, realisiert wird.Becomes preferably before the first execution of step a3 on or several end packages to a predetermined additional value, in particular on a binary further value 0, preassigned, then the reconstruction of incorrectly transmitted Data packets, i. faulty intermediate packages, further accelerated become. Will the end packages for the first time without this extension generated, so is the coding rule of the parity code not applicable to the error-free intermediate packages and end packages. Due to the pre-assignment with the predeterminable further value is therefore achieved that no query must be made whether the creation of the End values performed the first time , whereby an acceleration of the process for the correction of faulty intermediate packages, d. H. for reconstruction at least one of the data packets is realized.
In einer Weiterbildung werden nach Durchführung der Schritte a) und b) die Position des zumindest einen fehlerhaften Zwischenpakets gelöscht, das fehlerhafte Zwischenpaket, das kor rigiert wurde, durch das dazu korrespondierende fehlerfreie Zwischenpaket ersetzt und anschließend die Schritte des Verfahrens wieder ausgeführt werden. Durch diese Erweiterung, d.h. einem erneuten Durchlaufen der Schritte des erfindungsgemäßen Verfahrens, wird eine weitere Reduktion an fehlerhaften Zwischenpaketen bzw. eine Zunahme an rekonstruierten Datenpaketen ermöglicht. Insbesondere werden durch diese iterative Wiederholung der Schritte die beim ersten Durchlauf rekonstruierten fehlerhaften Zwischenpakete verwendet, um weitere fehlerhafte Zwischenpakete korrigieren zu können.In a further training after the implementation of steps a) and b) clears the position of the at least one defective intermediate packet, the faulty intermediate package, which was corrected, by doing so replaced corresponding error-free intermediate package and then the Steps of the procedure to be carried out again. Through this extension, i.e. re-running through the steps of the method according to the invention is a further reduction in faulty intermediate packages or one Increase in reconstructed data packets allows. In particular, by this iterative repetition of the steps the first time through reconstructed faulty intermediate packets used to further correct incorrect intermediate packages.
Zudem werden vorzugsweise die Schritte so lange wiederholt, bis keine fehlerhaften Zwischenpakete korrigiert werden können, oder bis alle fehlerhaften Zwischenpakete rekonstruiert worden sind. Mit Hilfe dieser Erweiterung kann die iterative Weiterbildung der Erfindung dann abgebrochen werden, falls in einem Iterationsschritt keine weitere Verbesserung erzielt wird. Hiermit können unnötige iterative Wiederholungen der Schritte vermieden und somit eine Beschleunigung der Rekonstruktion erzielt werden.moreover Preferably, the steps are repeated until no faulty intermediate packets can be corrected, or until all faulty Intermediate packages have been reconstructed. With the help of this extension the iterative development of the invention can then be aborted if no further improvement is achieved in an iteration step becomes. Hereby can unnecessary iterative repetitions of the steps avoided and thus an acceleration the reconstruction can be achieved.
Ferner betrifft die Erfindung auch eine Vorrichtung zum Rekonstruieren zumindest eines Datenpakets eines zweidimensionalen Blockkodes, wobei in jeder x-ten Zeile des zwei-dimensionalen Blockkodes die dazugehörigen Datenpakete und zumindest ein erstes Redundanzpaket mit einem systematischen Kode und in jeder y-ten Spalte des zwei-dimensionalen Blockkodes die dazugehörigen Datenpakete mit einem Parity Code kodiert sind, wobei die Vorrichtung folgende Mittel aufweist:
- – ein erstes Dekodiermittel zum Dekodieren der Datenpakete der x-ten Zeile mittels des systematischen Codes in Zwischenpakete, wobei diese Zwischenpakete fehlerhaft oder fehlerfrei sind;
- – ein erstes Speichermittel zum Speichern einer Position eines jeweiligen fehlerhaften Zwischenpakets;
- – ein Akkumulatormittel zum Generieren von zumindest einem Endpaket durch Anwenden der Kodierungsvorschrift des Paritätskodes auf zumindest ein fehlerfreies Zwischenpaket und auf zumindest eines der Endpakete;
- – ein zweites Dekodiermittel zum Ermitteln jeweils einer Anzahl an fehlerfreien Zwischenpaketen pro Spalte anhand zumindest der im ersten Speichermittel abgelegten Position, und zum Korrigieren des fehlerhaften Zwischenpakets in das Datenpaket mittels des Paritätskodes unter Verwendung des zumindest einen Endpakets, falls die Anzahl gleich Eins ist.
- A first decoding means for decoding the data packets of the x-th row by means of the systematic code in intermediate packets, these intermediate packets being erroneous or error-free;
- A first storage means for storing a position of a respective defective intermediate packet;
- - accumulator means for generating at least one end packet by applying the encoding rule of the parity code to at least one error-free intermediate packet and to at least one of the end packets;
- A second decoding means for determining in each case a number of error-free intermediate packets per column based on at least the position stored in the first memory means, and for correcting the erroneous intermediate packet in the data packet by means of the parity code using the at least one end packet if the number is equal to one.
Mit Hilfe dieser Vorrichtung kann das Verfahren implementiert und realisiert werden.With Using this device, the method can be implemented and realized become.
Die Erfindung und ihre Weiterbildungen werden anhand von Zeichnungen näher erläutert.The Invention and its developments are based on drawings explained in more detail.
Es zeigen:It demonstrate:
Elemente
mit gleicher Funktion und Wirkungsweise sind in den
Mit
Hilfe eines ersten Ausführungsbeispiels wird
die Erfindung näher
erläutert.
Hierbei soll ein Spielfilm im Rahmen eines Video-on-Demand Dienstes
von einem Video-on-Demand Server an eine Set-Top-Box eines Empfängers übertragen
werden. Die Übertragung
erfolgt mit Hilfe des DVB-Standards. Hierzu wird der Spielfilm in
Datenpakete aufgeteilt. Ein Datenpaket umfasst ein oder mehrere Symbole
einer vorgebbaren Länge.
Im vorliegenden Ausführungsbeispiel
umfasst jedes Datenpaket D(x,y) genau ein Symbol der Länge 1 Bit,
wobei eine Position des Datenpakets in einem zwei-dimensionalen
Blockkode ZDB durch ein Bezugszeichen x für eine Zeile und ein Bezugszeichen
y für eine
Spalte des zwei-dimensionalen Blockkodes ZDB kennzeichnet. M = 15
aufeinander folgende Datenpakete werden zu einer Zeile Z eines zwei-dimensionalen
Blockkodes ZDB gemäß
Zu
jeder Zeile des zwei-dimensionalen Blockkodes werden jeweils T =
3 erste Redundanzpakte R(1,1), ..., R(5,3) gebildet. Diese ersten
Redundanzpakete werden mit Hilfe eines systematischen Kodes SC,
wie beispielsweise eines Rapterkodes oder eines Low Densitiy Parity
Check Kodes erzeugt. Einem Fachmann auf dem Gebiet der Kanalkodierung
sind weitere systematische Kodes bekannt, so dass hierauf nicht
näher eingegangen
wird. Ferner werden für
die Datenpakete pro Spalte zumindest ein zweites Redundanzpaket
S(1), ..., (S15) erzeugt. Hierzu wird ein Paritätskode PC verwendet. Der Paritätskode PC
gibt an, dass durch binäre
XOR-Verknüpfung
der binären
Symbole der jeweiligen Datenpakete jeder Zeile Z, z.B. y = 10, des
zweidimensionalen Blockkodes das jeweilige zweite Redundanzpaket
S(y) generiert wird. Die zweiten Redundanzsymbole S werden somit
folgendermaßen
erzeugt:
Der Sender, d.h. der Video-on-Demand Server, übermittelt als nächstes die Datenpakete D1(1,1), ..., D(5,15), die ersten und zweiten Redundanzpakete R(1,1), ..., R(5,3), S(1), ..., S(15) zu dem Empfänger. Die Reihenfolge der Pakete bei der konkreten Übertragung ist für die Erfindung ohne Bedeutung.Of the Transmitter, i. the Video-on-Demand server, next sends the Data packets D1 (1,1), ..., D (5,15), the first and second redundancy packets R (1,1), ..., R (5,3), S (1), ..., S (15) to the receiver. The Order of the packets in the concrete transmission is for the invention without meaning.
Durch
eine Störung
der Übertragung
erreichen ein oder mehrere der Pakete, wie z.B. das Datenpakete
D(3,15), den Empfänger
fehlerhaft. Geht ein Paket bei der Übertragung verloren, so wird
dieses Paket als fehlerhaft markiert. Das Ablaufdiagramm gemäß
Schritt S1: Ein Indexzähler i wird zu 1 gesetzt, i = 1. Ferner werden in einem späteren Schritt zu verwendende Endpakte zu 0 gesetzt, d.h. E(i) = 0, E(2) = 0, ..., E(M = 15) = 0. Der Indexzähler charakterisiert die aktuell zu bearbeitende Zeile des zwei-dimensionalen Blockkodes. Es folgt ein Schritt S2.step S1: An index counter i is set to 1, i = 1. Further, in a later step, too setting the endpacts to 0, i. E (i) = 0, E (2) = 0,. E (M = 15) = 0. The index counter characterizes the current line of the two-dimensional Block codes. This is followed by a step S2.
Schritt
S2: In diesem Schritt wird für
die i-Zeile des zwei-dimensionalen Blockkodes eine Dekodierung der
M = 15 Datenpakete mittels des systematischen Kodes unter Verwendung
der ersten Redundanzpakete der i-ten Zeile in M = 15 Zwischenpakete Z(i,1),
..., Z(i,M) dekodiert. Dabei entstehen fehlerhafte Zwischenpakete
Z1 und fehlerfreie Zwischenpakete Z2. Zur Rekonstruktion zumindest
eines fehlerhaften Zwischenpakets kann gemäß
Schritt S3: Die fehlerhaften Zwischenpakete aus dem zweiten Schritt S2 werden erkannt und ihre Position POS (x,y) innerhalb des zwei-dimensionalen Blockkodes mit den Koordinaten (x,y) in einem ersten Speichermodul SM1 zwischengespeichert. Es folgt ein Schritt S4.step S3: The faulty intermediate packets from the second step S2 become and their position POS (x, y) within the two-dimensional block code with the coordinates (x, y) stored in a first memory module SM1. It follows a step S4.
Schritt
S4: In diesem Schritt wird das fehlerfreie Zwischenpaket Z2 mit
den dazu korrespondierenden Endpaketen durch Anwenden der Kodierungsvorschrift
des Paritätskodes PC
verknüpft,
so dass die Endpakte E(1), ..., E(15) generiert werden. Beispielsweise
wird das Endpaket E(1) durch folgende Vorschrift gebildet:
Für die weiteren fehlerfreien Zwischenpakete und Endpakete der i-ten Zeile wird analog vorgegangen. Es folgt Schritt S5.For the others error-free intermediate packets and end packets of the i-th line become analog proceed. It follows step S5.
Schritt S5: In diesem Schritt wird überprüft, ob die Schritte S2 bis S4 für alle Zeilen durchgeführt worden sind. Ist dies nicht der Fall, i ≠ N, so wird mit Schritt S6 fortgefahren. Ansonsten wird als nächster Schritt S7 ausgeführt.step S5: This step checks if the Steps S2 to S4 for all lines have been performed are. If this is not the case, i ≠ N, thus, step S6 is proceeded to. Otherwise, the next step S7 executed.
Schritt S6: Hierbei wird der Indexzähler i um 1 erhöht, i = i + 1, und nachfolgend mit dem zweiten Schritt S2 fortgefahren.step S6: This becomes the index counter i increased by 1, i = i + 1, and subsequently proceeded to the second step S2.
Schritt S7: Im siebten Schritt wird der Indexzähler zu 1 gesetzt, d.h. i = 1. Im Folgenden beschränkt der Indexzähler die zu bearbeitende Spalte des zwei-dimensionalen Blockkodes. Es folgt ein Schritt S8.Step S7: The seventh step becomes the index counter is set to 1, ie i = 1. In the following, the index counter restricts the column of the two-dimensional block code to be processed. It follows a step S8.
Schritt S8: Im Schritt S8 wird für die Spalte i des zweidimensionalen Blockkodes eine Anzahl A an fehlerhaften Zwischenpaketen pro Spalte i ermittelt. Diese Ermittlung erfolgt durch Analyse der gespeicherten Positionen POS(x,y). Daran anschließend wird ein Schritt S9 durchgeführt.step S8: In step S8, for the column i of the two-dimensional block code has a number A of defective ones Intermediate packages per column i determined. This determination is made by analyzing the stored positions POS (x, y). Then it will be a step S9 is performed.
Schritt S9: Im neunten Schritt S9 wird analysiert, ob die Anzahl A = 1 ist. Ist dies der Fall, so wird mit Schritt S10 fortgefahren, ansonsten mit Schritt S11.step S9: In the ninth step S9, it is analyzed whether the number A = 1. If this is the case, then proceeds to step S10, otherwise with step S11.
Schritt
S10: Im Schritt S10 wird das fehlerhafte Zwischenpaket der Spalte
i in ein fehlerfreies Zwischenpaket mit tels des dazugehörigen zweiten Redundanzpakets
S(15) des Paritätskodes
PC unter Verwendung des dazugehörigen
Endpakets E(15) korrigiert. Beispielsweise ist das fehlerhafte Zwischenpaket
Z1(3,15) mit der Position POS (x = 3, y = 15). Dazu wird das fehlerhafte
Zwischenpaket Z1(3,15) in das fehlerfreie Zwischenpaket Z2(3,15) mittels
folgender Gleichung rekonstruiert:
Für weitere fehlerhafte Zwischenpakete wird analog vorgegangen. Die obige Gleichung ergibt sich durch die Kodierungsvorschrift des Paritätskodes PC.For further faulty intermediate packages will proceed analogously. The above equation results from the coding rule of the parity code PC.
Schritt S11: Im elften Schritt S11 wird überprüft, ob die letzte Spalten des zwei-dimensionalen Blockkodes ZDB erreicht ist, d.h. ob i = M ist. Ist dies der Fall, so wird das Ablaufdiagramm im Zustand END beendet. Ansonsten wird Schritt S10 ausgeführt.step S11: In the eleventh step S11, it is checked if the last columns of the two-dimensional block code ZDB is reached, i.e. if i = M. If this is the case, then the flowchart becomes finished in the END state. Otherwise, step S10 is executed.
Schritt S12: In diesem Schritt wird der Index i um 1 erhöht, d.h. i = i + 1. Ferner wird nach Ausführung des Schritts S12 das Ablaufdiagramm im Schritt S8 fortgesetzt.step S12: In this step, the index i is incremented by 1, i. i = i + 1. Further will after execution of step S12, the flowchart continues in step S8.
Im
Ablaufdiagramm gemäß
Da beide für den zwei-dimensionalen Blockkode verwendeten Kodes SM, PC systematische Kodes sind, ist das fehlerfreie Zwischenpaket Z2(x,y) identisch zu dem korrespondierenden Datenpaket D(x,y), wie z.B. D(1,5) = Z2(1,5).There both for Codes SM, PC used systematic codes for two-dimensional block code are, the error-free intermediate packet Z2 (x, y) is identical to the corresponding data packet D (x, y), e.g. D (1.5) = Z2 (1.5).
Nach Rekonstruktion aller Zwischenpakete, d.h. Datenpakete, können diese in der Set-Top-Box des Empfängers weiterverarbeitet werden. Beispielsweise werden sie durch einen MPEG2 (MPEG – Motion Picture Expert Group) Dekoder dekodiert und das dekodierte Bild an einem Monitor eines Benutzers visuell dargestellt.To Reconstruction of all intermediate packets, i. Data packets, these can in the receiver's set-top box be further processed. For example, they are by a MPEG2 (MPEG - Motion Picture Expert Group) Decoder decodes and the decoded picture visually displayed on a user's monitor.
In
In
einem zweiten Dekodiermodul DM2 werden die Schritte S7 bis S12 des
Ablaufdiagramms aus
Die Vorrichtung DV kann in Hardware, Software oder in einer Kombination aus Hardware oder Software implementiert und realisiert werden. Ferner ist diese in einem tragbaren Endgerät, beispielsweise einem Mobiltelefon nach GSM-Standard (GSM-Global System for Mobile Communications) oder einem stationären Endgerät, beispielsweise einer Set-Top-Box integrierbar.The Device DV can be in hardware, software or in combination be implemented and realized from hardware or software. Furthermore, this is in a portable terminal, such as a mobile phone according to GSM standard (GSM-Global System for Mobile Communications) or a stationary terminal, for example a set-top box integrated.
In
einer weiteren Weiterbildung kann nach Korrektur eines der fehlerhaften
Zwischenpakete ein erneuter Durchlauf der Schritte S1 bis S12 stattfinden.
Dazu wird das Ablaufdiagramm gemäß
Die
durch diese Weiterbildung erreichte Verbesserung wird im Folgenden
anhand der
Somit
sind nach zweimaligem Durchlauf der Schritte der
Die
Erfindung ist anhand der
Literaturliterature
-
[1]
M. Bassert, Kanalcoding, Verlag B. G. Teubner, Stuttgart 1992, ISBN 3-518-06143-0 (Parity-check code, Beispiel 1.1, S. 16-17) M. Bassert, channel coding, publishing house BG Teubner, Stuttgart 1992, ISBN 3-518-06143-0 (Parity check code, example 1.1, P. 16-17)
Claims (6)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200610045311 DE102006045311A1 (en) | 2006-09-26 | 2006-09-26 | Method and device for reconstructing at least one data packet |
PCT/EP2007/060175 WO2008037721A2 (en) | 2006-09-26 | 2007-09-25 | Method and device for reconstructing at least one data packet |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200610045311 DE102006045311A1 (en) | 2006-09-26 | 2006-09-26 | Method and device for reconstructing at least one data packet |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102006045311A1 true DE102006045311A1 (en) | 2008-03-27 |
Family
ID=39105097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200610045311 Ceased DE102006045311A1 (en) | 2006-09-26 | 2006-09-26 | Method and device for reconstructing at least one data packet |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102006045311A1 (en) |
WO (1) | WO2008037721A2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174403A1 (en) * | 2001-05-18 | 2002-11-21 | Frank Chethik | Multi-dimensional packet recovery system and method |
EP1564892A1 (en) * | 2004-02-13 | 2005-08-17 | Alcatel | Iterative decoding of two-dimensional block codes |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658620B1 (en) * | 2000-01-11 | 2003-12-02 | Northrop Grumman Corporation | Burst and packet wireless transmission using product codes with iterative decoding |
US6738942B1 (en) * | 2000-06-02 | 2004-05-18 | Vitesse Semiconductor Corporation | Product code based forward error correction system |
WO2005006563A1 (en) * | 2003-07-09 | 2005-01-20 | Thomson Licensing | Error correction method for reed-solomon product code |
-
2006
- 2006-09-26 DE DE200610045311 patent/DE102006045311A1/en not_active Ceased
-
2007
- 2007-09-25 WO PCT/EP2007/060175 patent/WO2008037721A2/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174403A1 (en) * | 2001-05-18 | 2002-11-21 | Frank Chethik | Multi-dimensional packet recovery system and method |
EP1564892A1 (en) * | 2004-02-13 | 2005-08-17 | Alcatel | Iterative decoding of two-dimensional block codes |
Also Published As
Publication number | Publication date |
---|---|
WO2008037721A2 (en) | 2008-04-03 |
WO2008037721A3 (en) | 2008-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19630343B4 (en) | Method and packet transmission system using error correction of data packets | |
DE10008064B4 (en) | Method for adapting the data blocks to be supplied to a turbo-coder and corresponding communication device | |
DE10393682T5 (en) | A method for error protection coding and decoding of messages in a packet-switched data transmission system | |
DE102012208711B4 (en) | Device for generating a checksum | |
DE102010035210B4 (en) | Method for recovering lost data and correcting corrupted data | |
WO2006010689A1 (en) | Encoding and decoding method, and encoding and decoding devices with a two-stage error protection process | |
WO1995024770A1 (en) | Image transmission process | |
DE102012219468B3 (en) | Method for transmitting data by users to receiver in e.g. sensor network, involves combining non-interference-afflicted part of replica with non-interference-afflicted part of another replica of same data packet to assemble another packet | |
EP1175047A2 (en) | Method and apparatus to protect against packet loss in a packet oriented data transmission | |
DE102018218729B3 (en) | Interleaving with circular line rotation for transmission with telegram splitting | |
DE112017001467T5 (en) | Receiving device, data processing method and transmission / reception system | |
DE102006045311A1 (en) | Method and device for reconstructing at least one data packet | |
EP1878153B1 (en) | Method and device for determining indexes allocated to correction symbols | |
EP1609266B1 (en) | Method and measuring device for determining an error rate without incremental redundancy | |
DE19614739A1 (en) | Error-proof multiplexing method with HEADER control panel | |
DE102005003914B3 (en) | Error protection method and error correction method, as well as error protection device and error correction device | |
DE102016201408B4 (en) | Method for transmitting data | |
DE102017209025B3 (en) | Method for transmitting data | |
DE102014204651B4 (en) | Method for transmitting data | |
DE10345438B4 (en) | Method and device for decoding packet-oriented data transmission networks transmitted coded data packets and method and apparatus for encoding and decoding of packet-oriented data transmission networks to be transmitted data packets | |
DE102013215829B3 (en) | Method for transmitting data | |
DE102010023352B3 (en) | Method for transferring data in e.g. digital video broadcasting-return channel via satellite services, involves repeating identifying, selecting, reconstructing and removing steps if data of users are decoded in successful manner | |
DE102015216987B4 (en) | Procedure for recovering lost and / or corrupted data | |
DE102014114728B4 (en) | MULTILAYER ERROR CORRECTION CODING | |
DE10326808B4 (en) | A method and decoding unit for soft-decoding multi-bit codewords in a multi-channel transmission system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |