DE102006045311A1 - Method and device for reconstructing at least one data packet - Google Patents

Method and device for reconstructing at least one data packet Download PDF

Info

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
Application number
DE200610045311
Other languages
German (de)
Inventor
Jürgen Dr. Pandel
Rainer Dr. Stademann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Solutions and Networks GmbH and Co KG
Original Assignee
Nokia Siemens Networks GmbH and Co KG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Siemens Networks GmbH and Co KG filed Critical Nokia Siemens Networks GmbH and Co KG
Priority to DE200610045311 priority Critical patent/DE102006045311A1/en
Priority to PCT/EP2007/060175 priority patent/WO2008037721A2/en
Publication of DE102006045311A1 publication Critical patent/DE102006045311A1/en
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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/2909Product codes
    • H03M13/2915Product codes with an error detection code in one dimension
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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/2927Decoding strategies
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding 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.
The invention also relates to an apparatus 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 in each y-th column of the second dimensional block codes the associated data packets are encoded with a parity code, the device comprising the following means:
  • 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:

1 einen Aufbau eines zwei-dimensionalen Blockkodes; 1 a construction of a two-dimensional block code;

2 ein Ablaufdiagramm zum Durchführen eines Verfahrens zum Dekodieren eines Datenpaketes; 2 a flow chart for performing a method for decoding a data packet;

3 eine Vorrichtung zum Durchführen des Verfahrens zum Dekodieren des Datenpaketes; 3 an apparatus for performing the method of decoding the data packet;

4A-4D Positionen fehlerhafter Datenpakete bei iterativem Durchlauf des Verfahren. 4A - 4D Positions of erroneous data packets during iterative run of the procedure.

Elemente mit gleicher Funktion und Wirkungsweise sind in den 1 bis 4 mit denselben Bezugszeichen versehen.Elements with the same function and mode of action are in the 1 to 4 provided with the same reference numerals.

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äß 1 zusammengefasst. Ferner umfasst der zwei-dimensionale Blockkode N = 5 Zeilen Z an Datenpaketen, d.h. die Datenpakete D(1,1), ..., D(5,15).With the aid of a first embodiment of the invention will be explained in more detail. Here, a feature film is to be transmitted as part of a video-on-demand service from a video-on-demand server to a set-top box of a recipient. The transmission takes place with the help of the DVB standard. For this purpose, the movie is divided into data packages. A data packet comprises one or more symbols of a predefinable length. In the present exemplary embodiment, each data packet D (x, y) comprises exactly one symbol of length 1 bit, wherein a position of the data packet in a two-dimensional block code ZDB is denoted by a reference symbol x for a line and a reference symbol y for a column of the two-dimensional data Block codes ZDB features. M = 15 consecutive data packets become a line Z of a two-dimensional block code ZDB according to 1 summarized. Furthermore, the two-dimensional block code N = 5 lines Z of data packets, ie the data packets D (1,1), ..., D (5,15).

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: S(y) = D(1,y) XOR D(2,y) XOR ... XOR D(5,y) (1) For each line of the two-dimensional block code, T = 3 first redundancy packets R (1,1), ..., R (5,3) are formed in each case. These first redundancy packets are generated using a systematic code SC, such as a Rapter code or a Low Density Parity Check code. One skilled in the art of channel coding is aware of other systematic codes, so will not be discussed further here. Furthermore, at least one second redundancy packet S (1),..., (S15) is generated for the data packets per column. For this purpose, a parity code PC is used. The parity code PC indicates that the respective second redundancy packet S (y) is generated by binary XOR combination of the binary symbols of the respective data packets of each line Z, eg y = 10, of the two-dimensional block code. The second redundancy symbols S are thus generated as follows: S (y) = D (1, y) XOR D (2, y) XOR ... XOR D (5, y) (1)

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äß 2, das eine Rekonstruktion fehlerhafter Datenpakete ermöglicht, wird im Zustand STA gestartet. Nachfolgend werden folgende Schritte durchlaufen:Due to a disruption of the transmission, one or more of the packets, such as the data packets D (3,15), reach the receiver incorrectly. If a packet is lost during transmission, this packet is marked as faulty. The flowchart according to 2 , which allows reconstruction of faulty data packets, is started in state STA. Here are the steps:

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äß 2 vorgegangen werden. Es folgt ein Schritt S3.Step S2: In this step, for the i-row of the two-dimensional block code, a decoding of the M = 15 data packets by means of the systematic code using the first redundancy packets of the i-th row in M = 15 intermediate packets Z (i, 1), ..., Z (i, M) decodes. This results in faulty intermediate packets Z1 and error-free intermediate packets Z2. For the reconstruction of at least one faulty intermediate packet can according to 2 be proceeded. It follows a step S3.

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: E(1) = E(1) XOR Z2(i,1) (2) Step S4: In this step, the error-free intermediate packet Z2 is linked with the corresponding end packets by applying the encoding rule of the parity code PC, so that the end packets E (1), ..., E (15) are generated. For example, the final packet E (1) is formed by the following rule: E (1) = E (1) XOR Z2 (i, 1) (2)

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: Z2(3,15) = D(3,15) = E(15) XOR (3) Step S10: In step S10, the erroneous intermediate packet of the column i is corrected into an error-free intermediate packet by means of the associated second redundancy packet S (15) of the parity code PC using the associated end packet E (15). For example, the faulty intermediate packet Z1 (3,15) with the position POS (x = 3, y = 15). For this purpose, the faulty intermediate packet Z1 (3,15) is reconstructed into the error-free intermediate packet Z2 (3,15) by means of the following equation: Z2 (3,15) = D (3,15) = E (15) XOR (3)

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äß 2 wurden im Schritt S4 zur Erstellung der Endpakte nur die fehlerfreien Zwischenpakte berücksichtigt. In einer Erweiterung können alle Zwischenpakete zur Erstellung der Endpakte berücksichtigt werden, falls vor Erstellung der Endpakte die fehlerhaften Zwischenpakete, z.B. Z1(5,15), durch einen vorgebbaren Wert W vorbelegt werden, wobei der Wert W bei der Erzeugung einer der Endwerte mit dem fehlerhaften Zwischenpaket keine Veränderung des vor der Erzeugung vorliegenden Endwerts bewirkt. Insbesondere wird der binäre Wert W = 0 gesetzt. Denn durch die Vorbelegung mit dem Wert W = 0 findet bei der XOR-Verknüpfung keine Veränderung des neu ermittelten Endwerts statt.In the flowchart according to 2 In step S4, only the error-free intermediate packets were taken into account for the creation of the final packets. In an extension, all intermediate packages for the preparation of the final packages can be taken into account, if the faulty intermediate packages, eg Z1 (5,15), are pre-assigned by a predeterminable value W before the final packages are created, the value W being used to generate one of the final values faulty intermediate packet causes no change in the final value before generation. In particular, the binary value W = 0 is set. Due to the pre-assignment with the value W = 0, no change in the newly determined final value takes place during the XOR operation.

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 3 ist eine Vorrichtung DV zum Durchführen des Verfahrens zum Rekonstruieren eines Datenpaketes zu sehen. Der zwei-dimensionale Blockkode ZDB wird zunächst einem ersten Dekodiermodul DM1 übergeben. Das erste Dekodiermodul führt die Schritte S1 bis S6 gemäß dem Ablaufdiagramm aus 2 durch. Die Position POS(x,y) des jeweiligen fehlerhaften Zwischenpakets wird in dem ersten Speichermodul SM1 organisiert abgelegt. Zumindest die fehlerhaften Zwischenpakete Z2(1,1), ..., Z(N,M) werden in dem zweiten Speichermodul SM2 gespeichert. Ein Akkumulatormodul AM führt nach Dekodierung jeder Zeile des zwei-dimensionalen Blockkodes die Erstellung der Endpakete E(1), ..., E(M) gemäß Schritt S4 aus 2 durch. Die Endpakte werden in dem Akkumulatormodul zwischengespeichert.In 3 An apparatus DV for carrying out the method for reconstructing a data packet is to be seen. The two-dimensional block code ZDB is first transferred to a first decoding module DM1. The first decoding module executes steps S1 to S6 according to the flowchart 2 by. The position POS (x, y) of the respective defective intermediate packet is stored in the first memory module SM1 organized. At least the faulty intermediate packets Z2 (1,1),..., Z (N, M) are stored in the second memory module SM2. An accumulator module AM executes the generation of the end packets E (1), ..., E (M) according to step S4 after decoding each line of the two-dimensional block code 2 by. The final packets are buffered in the accumulator module.

In einem zweiten Dekodiermodul DM2 werden die Schritte S7 bis S12 des Ablaufdiagramms aus 2 durchgeführt. Dabei werden von dem ersten Dekodiermodul DM1 die zweiten Redundanzpakete S(1), ..., S(M), aus dem ersten Speichermodul SM1 die Positionen fehlerhafter Zwischenpakete und aus dem Akkumulatormodul die jeweiligen Endpakete dem zweiten Dekodiermodul DM2 zugeführt. Dieses ermittelt hieraus spaltenweise die Anzahl A fehlerhafter Zwischenpakete und, falls die Anzahl gleich eins ist, wird das fehlerhafte Zwischenpaket korrigiert. Das korrigierte, d.h. fehlerfreie Zwischenpaket, wird an das zweite Speichermodul zum Überschreiben des fehlerhaften Zwischenpakets an der selben Position x, y übermittelt.In a second decoding module DM2, the steps S7 to S12 of the flowchart become 2 carried out. In this case, the second redundancy packets S (1), ..., S (M) are supplied by the first decoder module DM1, the positions of faulty intermediate packets from the first memory module SM1 and the respective end packets from the accumulator module to the second decoder module DM2. From this, it determines the number A of defective intermediate packets in columns and, if the number is equal to one, corrects the faulty intermediate packet. The corrected, ie error-free, intermediate packet is transmitted to the second memory module for overwriting the faulty intermediate packet at the same position x, y.

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äß 2 nach dem Zustand "J" des Schritts S11 in dem Schritt S13 fortgesetzt. Hierbei werden die Positionen POS(x,y) für die fehlerhaften Zwischenpakete aus dem ersten Speichermodul entfernt und im zweiten Speichermodul das bzw. die korrigierten fehlerhaften Zwischenpakete durch die dazugehörigen fehlerfreien Zwischenpakete ersetzt. Anschließend werden die Schritte S1 bis S12 ausgeführt. Die Iteration dieser Weiterbildung kann solange fortgesetzt werden, bis alle Zwischenpakete, d.h. Datenpakete, fehlerfrei sind, oder bis nach einer Iteration keine weiteren fehlerhaften Zwischenpakete korrigiert worden sind.In a further development can after Correction of one of the faulty intermediate packets a re-run of steps S1 to S12 take place. For this purpose, the flowchart according to 2 after the state "J" of step S11 in step S13. In this case, the positions POS (x, y) for the faulty intermediate packets are removed from the first memory module, and in the second memory module the corrected or incorrect intermediate packets are replaced by the associated error-free intermediate packets. Subsequently, the steps S1 to S12 are executed. The iteration of this development can be continued until all intermediate packets, ie data packets, are error-free, or until after another iteration no further faulty intermediate packets have been corrected.

Die durch diese Weiterbildung erreichte Verbesserung wird im Folgenden anhand der 4A-4D näher erläutert. Dabei sind fehlerhafte Zwischenpakete Z1(x,y) mit einem Symbol "X" und fehlerfreie Zwischenpakete Z2(x,y) bzw. D(x,y) mit einem Symbol "_" gekennzeichnet. Ausgehend von 4A werden zunächst gemäß den Ausführungen zu 2 fehlerhafte Zwischenpakete korrigiert, wobei der systematische Kode und der Paritätskode, d. h. Parity-Kode, derart ausgelegt sind, dass ein fehlerhaftes Zwischenpaket nur dann korrigierbar ist, falls es in einer Zeile oder Spalte das einzige fehlerhafte Zwischenpaket ist. So wird zunächst zeilenweise und dann anschließend spaltenweise eine Korrektur durchgeführt. Das End ergebnis ist in 4B zu sehen. Es konnten nur in der ersten und vierten Spalte jeweils ein fehlerhaftes Zwischenpaket korrigiert, d. h. rekonstruiert werden. Im Anschluss werden die Schritte gemäß den Ausführungen zu 2 erneut auf die Zwischenpakete der 4B angewendet. Die Konstellation der 4C ergibt sich nach Durchlaufen der Schritte S1 bis S6, d.h. Korrektur mittels des systematischen Kodes, und die der 4D nach Abschluss des Ablaufdiagramms im Zustand END.The improvement achieved by this development will be described below with reference to 4A - 4D explained in more detail. In this case, faulty intermediate packets Z1 (x, y) with a symbol "X" and error-free intermediate packets Z2 (x, y) or D (x, y) are marked with a symbol "_". Starting from 4A be first in accordance with the comments 2 Corrects faulty intermediate packets, wherein the systematic code and the parity code, ie parity code, are designed such that a faulty intermediate packet can only be corrected if it is the only faulty intermediate packet in a row or column. Thus, a correction is performed line by line and then column by column. The final result is in 4B to see. Only in the first and fourth column could a faulty intermediate package be corrected, ie reconstructed. Subsequently, the steps according to the comments to 2 again on the intermediate packages of 4B applied. The constellation of 4C results after passing through the steps S1 to S6, ie correction by means of the systematic code, and the 4D after completing the flowchart in the END state.

Somit sind nach zweimaligem Durchlauf der Schritte der 2 alle fehlerhaften Zwischenpakete korrigiert worden, d.h. alle Datenpakete konnten rekonstruiert worden.Thus, after two passes through the steps 2 all faulty intermediate packets have been corrected, ie all data packets have been reconstructed.

Die Erfindung ist anhand der 1 bis 4 näher dargestellt worden. Die dabei verwendeten Anzahlen an Daten-, ersten und zweiten Redundanzsymbolen stellen lediglich ein Ausführungsbeispiel dar und sind nicht hierauf beschränkt. Im Allgemeinen können Datenpakete ein oder mehrere Bits aufweisen. Ferner kann jede Zeile des zwei-dimensionalen Blockkodes eine unterschiedliche Anzahl von Datenpaketen umfassen, wobei nur diejenigen Datenpakete zur Bildung des bzw. der zweiten Redundanzpakete berücksichtigt werden, die sich in einer Spalte des zwei-dimensionalen Blockkodes befinden. Des Weiteren können die ersten und die zweiten Redundanzpakete pro Zeile bzw. pro Spalte jeweils unterschiedliche Anzahlen aufweisen, z.B. in der zweiten Spalte drei und in der vierten Spalte fünf zweite Redundanzpakete. Zudem können im Allgemeinen ein oder mehrere Endpakete pro Spalte des zwei-dimensionalen Blockkodes verwendet werden.The invention is based on 1 to 4 have been shown in more detail. The numbers of data, first and second redundancy symbols used here represent only one embodiment and are not limited thereto. In general, data packets may have one or more bits. Furthermore, each row of the two-dimensional block code may comprise a different number of data packets, taking into account only those data packets for forming the second redundancy packet (s) located in a column of the two-dimensional block code. Furthermore, the first and the second redundancy packets may each have different numbers per row or per column, for example in the second column three and in the fourth column five second redundancy packets. In addition, one or more end packets per column of the two-dimensional block code may generally be used.

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) [1] 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)

Verfahren zum Rekonstruieren zumindest eines Datenpakets (D(3,15)) eines zwei-dimensionalen Blockkodes (ZDB), wobei in jeder x-ten Zeile (Z) des zwei-dimensionalen Blockkodes (ZDB) die dazugehörigen Datenpakete (D(x,1), ..., D(x,M)) und zumindest ein erstes Redundanzpaket (R(x,1), ..., R(x,T)) mit einem systematischen Kode (SK) und in jeder y-ten Spalte (S) des zwei-dimensionalen Blockkodes (ZDB) die dazugehörigen Datenpakete (D(1,y), ..., D(N,y)) und zumindest ein zweites Redundanzpaket (S(1), ..., (S(15)) mit einem Paritätskode (PC) kodiert sind, dadurch gekennzeichnet, dass a) folgende Schritte a1)-a3) für mehrere Zeilen des zweidimensionalen Blockkodes (ZDB) durchgeführt werden: a1) Dekodieren der Datenpakete (D(x,1), ..., D(x,M)) der x-ten Zeile (Z) mittels des systematischen Kodes (SM) in Zwischenpakete (Z(x,1), ..., Z(x,M)), wobei diese Zwischenpakete fehlerhaft oder fehlerfrei sind; a2) Speichern einer jeweiligen Position (POS(x,y)) eines fehlerhaften Zwischenpakets (Z1(3,15)); a3) Generieren von zumindest einem Endpaket (E(1), ..., E(M)) durch Anwenden der Kodierungsvorschrift des Paritätskodes (PC) auf zumindest eines der fehlerfreien Zwischenpakete (Z2(3,1), ..., Z2(3,14)) und auf zumindest eines der Endpakete (E(1), ..., E(M)); b) nach Durchführen des Schritts a) für die Zeilen die Schritte b1)-b2) für zumindest eine der Spalten des zwei-dimensionalen Blockkodes (ZDB) ausgeführt werden: b1) Ermitteln jeweils einer Anzahl (A) an fehlerhaften Zwischenpaketen (Z1(3,15)) pro Spalte (S) anhand zumindest einer der gespeicherten Positionen (POS); b2) Korrigieren des fehlerhaften Zwischenpakets (Z1(3,15)) in das Datenpaket (D(3,15)) mittels des Paritätskodes (PC) unter Verwendung des zumindest einen Endpakets (E(15)), falls die Anzahl (A) gleich Eins ist.Method for reconstructing at least one data packet (D (3,15)) of a two-dimensional block code (ZDB), wherein in each x-th row (Z) of the two-dimensional block code (ZDB) the associated data packets (D (x, 1 ), ..., D (x, M)) and at least a first redundancy packet (R (x, 1), ..., R (x, T)) with a systematic code (SK) and in every yth Column (S) of the two-dimensional block code (ZDB) the associated data packets (D (1, y), ..., D (N, y)) and at least a second redundancy packet (S (1), ..., ( S (15)) are encoded with a parity code (PC), characterized in that a) the following steps a1) -a3) are carried out for a plurality of lines of the two-dimensional block code (ZDB): a1) decoding of the data packets (D (x, 1 ), ..., D (x, M)) of the x-th row (Z) by means of the systematic code (SM) in intermediate packets (Z (x, 1), ..., Z (x, M)), these intermediate packets are faulty or error free; a2) storing a respective position (POS (x, y)) of a faulty intermediate packet (Z1 (3,15)); a3) generating at least one end packet (E (1), ..., E (M)) by applying the coding specification of the parity code (PC) to at least one of the error-free intermediate packets (Z2 (3,1), ..., Z2) (3,14)) and on at least one of the end packets (E (1), ..., E (M)); b) after performing step a) for the rows, the steps b1) -b2) are carried out for at least one of the columns of the two-dimensional block code (ZDB): b1) determining in each case a number (A) of defective intermediate packets (Z1 (3 , 15)) per column (S) based on at least one of the stored positions (POS); b2) correcting the erroneous intermediate packet (Z1 (3,15)) into the data packet (D (3,15)) by means of the parity code (PC) using the at least one end packet (E (15)) if the number (A) equals one. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass im Schritt a) fehlerhafte Zwischenpakete (Z(5,15)) durch einen vorgebaren Wert (W), insbesondere durch einen binären Wert Null, vorbelegt werden.A method according to claim 1, characterized in that in step a) faulty intermediate packets (Z (5,15)) by a predetermined value (W), in particular by a binary value zero, pre-assigned become. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass vor erstmaligem Ausführen des Schritts a3) ein oder mehrere Endpakete (1, ..., EM) auf einen vorgebaren weiteren Wert (V), insbesondere auf einen binären weiteren Wert (V) Null, vorbelegt werden.Method according to one of the preceding claims, characterized characterized in that before the first execution of step a3) an or several end packages (1, ..., EM) to a presettable further value (V), especially on a binary further value (V) zero, be pre-assigned. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass – nach Durchführen der Schritte a) und b) die Position des zumindest einen fehlerhaften Zwischenpakets gelöscht, – das fehlerhafte Zwischenpaket (Z1(3,15)), das korrigiert wurde, durch das fehlerfreie Zwischenpaket (Z2(3,15)) ersetzt wird, und – anschließend die Schritte a) und b) wieder ausgeführt werden.Method according to one of the preceding claims, characterized marked that - to Carry out the steps a) and b) the position of the at least one faulty Intermediate packages deleted, - the faulty one Intermediate packet (Z1 (3,15)), which was corrected by the error-free Intermediate package (Z2 (3,15)) is replaced, and - then steps a) and b) executed again become. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Schritte des Anspruchs 4 solange wiederholt werden, bis – in dem Schritt b) keine fehlerhaften Zwischenpakete korrigiert werden, oder – nach Schritt b) alle fehlerhaften Zwischenpakete korrigiert worden sind.Method according to claim 4, characterized in that that the steps of claim 4 are repeated until - by doing Step b) no faulty intermediate packages are corrected, or - to Step b) all faulty intermediate packets have been corrected. Vorrichtung (DV) zum Rekonstruieren zumindest eines Datenpakets (D(3,15)) eines zwei-dimensionalen Blockkodes (ZDB), wobei in jeder x-ten Zeile (Z) des zwei-dimensionalen Blockkodes (ZDB) die dazugehörigen Datenpakete (D(x,1), ..., D(x,M)) und zumindest ein erstes Redundanzpaket (R(x,1), ..., R(x,T)) mit einem systematischen Kode (SK) und in jeder y-ten Spalte (S) des zwei-dimensionalen Blockkodes (ZDB) die dazugehörigen Datenpakete (D(1,y), ..., D(N,y)) und zumindest ein zweites Redundanzpaket (S(1), ..., (S(15)) mit einem Paritätskode (PC) kodiert sind, insbesondere zum Durchführen eines Verfahrens gemäß einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Vorrichtung folgende Mittel aufweist: – ein erstes Dekodiermittel (DM1) zum Dekodieren der Datenpakete (D(x,1), ..., D(x,M)) der x-ten Zeile (Z) mittels des systematischen Kodes (SM) in Zwischenpakete (Z(x,1), ..., Z(x,M)), wobei diese Zwischenpakete fehlerhaft oder fehlerfrei sind; – ein erstes Speichermittel (SM1) zum Speichern einer Position (POS(x,y)) eines jeweiligen fehlerhaften Zwischenpakets (Z1(3,15)); – ein Akkumulatormittel (AM) zum Generieren von zumindest einem Endpaket (E(1), ..., E(M)) durch Anwenden der Kodierungsvorschrift des Paritätskodes (PC) auf ein fehlerfreies Zwischenpaket (Z2(3,1), ..., Z2(3,14)) und auf zumindest eines der Endpakete (E(1), ..., E(M)); – ein zweites Dekodiermittel (DM2) zum Ermitteln jeweils einer Anzahl (A) an fehlerhaften Zwischenpaketen (Z1(3,15)) pro Spalte (S) anhand der zumindest im ersten Speichermittel (SM1) abgelegten Position (POS), und zum Korrigieren des fehlerhaften Zwischenpakets (Z1(3,15)) in das Datenpaket (D(3,15)) mittels des Paritätskodes (PC) unter Verwendung des zumindest einen Endpakets (E(15)), falls die Anzahl (A) gleich Eins ist.Device (DV) for reconstructing at least one Data packets (D (3,15)) of a two-dimensional block code (ZDB), where in every xth row (Z) of the two-dimensional block code (ZDB) the associated Data packets (D (x, 1), ..., D (x, M)) and at least a first redundancy packet (R (x, 1), ..., R (x, T)) with a systematic code (SK) and in each y-th column (S) of the two-dimensional block code (ZDB) the associated data packets (D (1, y), ..., D (N, y)) and at least one second redundancy packet (S (1), ..., (S (15)) with a parity code (PC), in particular for performing a method according to a of the preceding claims, thereby marked that the device comprises the following means: - a first Decoding means (DM1) for decoding the data packets (D (x, 1), ..., D (x, M)) of the xth row (Z) by means of the systematic code (SM) in intermediate packets (Z (x, 1), ..., Z (x, M)), these intermediate packets are faulty or error free; A first storage means (SM1) for storing a position (POS (x, y)) of a respective defective intermediate packet (Z1 (3.15)); - one Accumulator means (AM) for generating at least one end packet (E (1), ..., E (M)) by applying the encoding rule of the parity code (PC) to an error-free intermediate packet (Z2 (3,1), ..., Z2 (3,14)) and on at least one of the end packets (E (1), ..., E (M)); - a second Decoding means (DM2) for determining a number (A) of erroneous ones respectively Intermediate packages (Z1 (3,15)) per column (S) on the basis of at least the first storage means (SM1) stored position (POS), and for correction of the faulty intermediate packet (Z1 (3,15)) into the data packet (D (3,15)) by means of the parity code (PC) using the at least one end packet (E (15)) if the number (A) equals one.
DE200610045311 2006-09-26 2006-09-26 Method and device for reconstructing at least one data packet Ceased DE102006045311A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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