DE10345438B4 - 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 - Google Patents

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 Download PDF

Info

Publication number
DE10345438B4
DE10345438B4 DE2003145438 DE10345438A DE10345438B4 DE 10345438 B4 DE10345438 B4 DE 10345438B4 DE 2003145438 DE2003145438 DE 2003145438 DE 10345438 A DE10345438 A DE 10345438A DE 10345438 B4 DE10345438 B4 DE 10345438B4
Authority
DE
Germany
Prior art keywords
data
data packets
packet
error correction
decoding
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.)
Expired - Fee Related
Application number
DE2003145438
Other languages
German (de)
Other versions
DE10345438A1 (en
Inventor
Robert Dr. Kutka
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
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE2003145438 priority Critical patent/DE10345438B4/en
Priority to PCT/EP2004/052340 priority patent/WO2005034413A1/en
Priority to EP04787236A priority patent/EP1668812A1/en
Publication of DE10345438A1 publication Critical patent/DE10345438A1/en
Application granted granted Critical
Publication of DE10345438B4 publication Critical patent/DE10345438B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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
    • H03M13/293Decoding strategies with erasure setting
    • 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/2948Iterative decoding
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0098Unequal error protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Verfahren zum Dekodieren von über paketorientierte Datenübertragungsnetze übertragenen kodierten Datenpaketen mit einer Mehrzahl von Datenelementen,
bei dem die kodierten Datenpakete einer Fehlererkennung unterzogen werden,
bei dem für die als fehlerhaft erkannten Datenpakete eine Fehlerkorrektur durchgeführt wird, und
bei dem zur Fehlerkorrektur die als korrekt übertragen erkannten Datenelemente der als fehlerhaft erkannten Datenpakete verwendet werden
bei dem der Dekodierer die Datenelemente jedes Datenpaketes in eine Matrix schreibt und zum Dekodieren orthogonal aus der Matrix ausliest.
Method for decoding coded data packets transmitted via packet-oriented data transmission networks with a plurality of data elements,
in which the coded data packets are subjected to error detection,
in which an error correction is carried out for the data packets identified as faulty, and
in which, for error correction, the data elements identified as being correctly transmitted are used for the data packets recognized as being defective
in which the decoder writes the data elements of each data packet into a matrix and reads them out orthogonally from the matrix for decoding.

Figure 00000001
Figure 00000001

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Dekodieren von mittels paketorientierten Datenübertragungsnetzen übertragenen kodierten Datenpaketen und ein Verfahren und eine Vorrichtung zum Kodieren und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragende Datenpaketen.The The invention relates to a method and apparatus for decoding transmitted by packet-oriented data transmission networks encoded data packets and a method and apparatus for encoding and decoding over packet-oriented data transmission networks to be transferred Data packets.

Bei Übertragungen von Daten über ein Netz, z.B. über ein Computernetz oder ein Telefonnetz, wird häufig die so genannte paketorientierte Datenübertragung angewendet. Dazu werden die im Netz zu versendenden Daten in kleine Einheiten, so genannte Pakete, aufgeteilt. Diese Pakete enthalten neben dem eigentlichen Dateninhalt auch Informationen, um sie korrekt zum entsprechenden Empfänger zu vermitteln. Soll nun eine große Datei über ein paketorientiertes Netz gesendet werden, so muss sie erst in kleine Pakete aufgeteilt werden, um anschließend beim Empfänger wieder zusammengesetzt zu werden.For transfers of data over a network, e.g. above A computer network or a telephone network often becomes so-called packet-oriented data transfer applied. For this purpose, the data to be sent in the network in small Units, called packages, split. These packages contain in addition to the actual data content also information to correct them to the corresponding recipient to convey. Should now a large file on a packet-oriented network must first be divided into small packets, afterwards at the recipient to be reassembled.

Bei der Übertragung von Datenpaketen innerhalb von Datennetzen zwischen Sender und Empfänger kommt es zu Übertragungsfehlern, was zu Problemen bei der Sicherstellung einer gewünschten Übertragungsqualität der Daten führt. Anders ausgedrückt führen fehlerhafte Übertragungskanäle, insbesondere bei mobilen Funkkanälen wie sie zum Beispiel bei Handys verwendet werden, zu einer Verschlechterung der Übertragungsqualität.at the transmission comes from data packets within data networks between sender and receiver it to transmission errors, causing problems in ensuring a desired transmission quality of the data leads. In other words to lead faulty transmission channels, in particular in mobile radio channels as used for example in mobile phones, to a deterioration the transmission quality.

Daher müssen Vorkehrungen getroffen werden, um beim Auftreten von Fehlern die Verfälschung eines Signals, d.h. das Auftre ten fehlerhafter Datenpakete, möglichst unwahrscheinlich zu machen und um Fehler, die aufgetreten sind, mit möglichst hoher Wahrscheinlichkeit zu entdecken und gegebenenfalls Korrekturmaßnahmen einleiten zu können. Dies kann nur durch die Einbeziehung von Sender und Empfänger geschehen und erfordert entsprechende Schutzmaßnahmen. Diese Schutzmaßnahmen, welche im Allgemeinen als Fehlerschutz bezeichnet werden, erfordern jedoch teure Übertragungskapazitäten.Therefore have to Arrangements are made to prevent the occurrence of errors adulteration a signal, i. the occurrence of faulty data packets, if possible unlikely to make and mistakes that have occurred with as possible high probability to discover and, if necessary, corrective action to be able to initiate. This can only happen through the involvement of sender and receiver and requires appropriate protective measures. These protective measures, which are generally referred to as error protection however, expensive transmission capacities.

Das erste und wichtigste Problem im Rahmen des Fehlerschutzes ist das Problem der zuverlässigen Erkennung von Fehlern. Nur wenn Fehler mit hoher Wahrscheinlichkeit erkannt werden, können auch geeignete Maßnahmen zur Korrektur des bereits aufgetretenen Fehlers vorgenommen werden. Eine Erkennung von Übertragungsfehlern ist nur dann möglich, wenn die übertragenen Daten eine gewisse Redundanz aufweisen, d.h. wenn zusätzliche Information mitübertragen wird, die im Sinne der Datenübertragung "überflüssige" Information ist, die aber darüber Auskunft gibt, ob eine Verfälschung der Nachricht vorliegt, d.h. mittels derer eine fehlerhafte Übertragung erkannt werden kann. Ein weit bekanntes Verfahren solch eine Redundanz bei der Übertragung von Daten bereitzustellen ist das Bereitstellen eines sog. Paritätsbit, das zur Sicherung von ASCII oder EBCDIC Zeichen verwendet wird. Ohne Redundanz ist eine Erkennung von Fehlern prinzipiell nicht möglich.The the first and most important problem in the context of error protection is this Problem of reliable detection from mistakes. Only if errors are detected with high probability can, can also suitable measures be made to correct the error already occurred. A detection of transmission errors is only possible if the transferred Data has some redundancy, i. if additional Transfer information which, in the sense of data transmission, is "superfluous" information, but which provides information about it gives, whether a falsification the message is present, i. by means of which a faulty transmission can be recognized. A well-known method of such redundancy in the transmission to provide data is the provision of a so-called parity bit which to save ASCII or EBCDIC characters. Without Redundancy is a recognition of errors not possible in principle.

Es existieren verschiedene Verfahren für die Erkennung von Fehlern. Sie unterscheiden sich im wesentlichen nur in der Anzahl der hinzukommenden "Schutzbits" und der Sicherheit, mit der einfache und komplexe Störungen der ursprünglichen Nachricht und der Schutzbits erkannt werden. Eine 100% Garantie für das Erkennen von Fehlern kann jedoch nie gegeben werden. Sicherheit ist immer relativ. Ferner kann mit Sicherheit immer nur das Vorliegen eines Fehlers angegeben werden. Umgekehrt kann nur mit einer gewissen, durch das Verfahren bestimmten Wahrscheinlichkeit, behauptet werden, dass kein Fehler vorliegt.It There are various methods for detecting errors. They differ essentially only in the number of added "protection bits" and the safety, with the simple and complex disorders the original one Message and the protection bits are detected. A 100% guarantee for the recognition however, mistakes can never be made. Security is always relative. Furthermore, certainly only the presence of a Error be specified. Conversely, only with a certain, by the method certain probability, to be claimed that there is no error.

Zu den einfachsten Verfahren zur Fehlererkennung zählt, wie bereits erwähnt, die Einführung von Paritätsbits. Hierbei wird jedes zu übertragende Zeichen mit einem Prüfbit versehen, das die Parität, d.h. die Anzahl der 0- bzw. 1-Bits angibt. Bei einer blockweiser Übertragung kann neben der Quer auch eine sog. Längsparität geprüft werden.To the simplest method for error detection counts, as already mentioned, the introduction of parity bits. Here, each is to be transmitted Character with a check bit provided that the parity, i.e. indicates the number of 0 or 1 bits. In a blockwise transmission In addition to the cross, a so-called longitudinal parity can be checked.

Für jeweils m Nutzbits werden dabei k Schutzbits übertragen, sodass insgesamt n = m + k Bits über die Leitung übertragen werden gehen. Es lässt sich mathematisch zeigen, dass die Paritätsbits keinen hohen Schutz bieten, d.h. dass die Sicherheit, mit der aufgetretene Fehler auch erkannt werden, im Vergleich zu anderen Verfahren relativ gering ist. Verfahren, welche eine verbesserte Fehlererkennung bereitstellen sind zum Beispiel die so genannten zyklischen Redundanzcodes (cyclical redundancy check = CRC), die im wesentlichen einer Division durch ein Polynom mit Restwertbildung entsprechen.For each m useful bits are transmitted k protection bits, so that a total of n = m + k bits over the Transfer line will go. It leaves prove mathematically that the parity bits do not have high protection offer, i. that security, with the errors that occurred too be detected, compared to other methods relatively low is. Methods Providing Improved Error Detection For example, the so-called cyclic redundancy codes (cyclical redundancy check = CRC), which is essentially a division by correspond to a polynomial with residual value formation.

Für die zuverlässige Datenübertragung reicht es häufig nicht aus, dass Übertragungsfehler festgestellt werden können, oftmals muss man die Datenbytes, welche Übertragungsfehler aufweisen, auch korrigieren können. Für die Korrektur von Übertragungsfehlern sind grundsätzlich zwei verschiedene Prozesse bekannt.

  • 1. Rückanforderung defekter, d.h. fehlerhaft übertragener, Pakete. Dies wird auch als „Acknowledge Mode" (ACK) bezeichnet. Dieser Prozess ist nur in Szenarien mit Rückkanal möglich, d.h. wenn zwischen einem Sender und einem Empfänger eine Zweiweg-Verbindung (Duplex-Verbindung) besteht. Bei Verwendung dieses Prozesses werden mittels eines Fehlererkennungsalgorithmus fehlerhafte übertragene Pakete erkannt. Die Fehlererkennung wird hierbei üblicherweise mittels eines zyklischen Redundanzcodes (CRC) durchgeführt. Die als fehlerhaft erkannten Pakete werden verworfen und der Empfänger fordert die fehlerhaft übertragenen Pakete erneut an. Nachteil bei diesem Verfahren ist jedoch, dass das erneute Versenden von angeforderten Paketen erhebliche Übertragungskapazität benötigt. Zusätzlich, wenn auch im geringen Masse, führt die erneute Übertragung einzelner Pakete zu einer Verzögerung der Übertragung der gewünschten Information, d.h. der gewünschten Daten.
  • 2. Vorwärtsfehlerschutz, welcher auch als „Unacknowledge Mode" (UCK) bezeichnet wird. Beim Verwenden dieser Art von Fehlerschutz ist kein Rückkanal erforderlich. Damit ist dieser Prozess auch in Szenarien möglich, in denen kein Rückkanal vorhanden ist. Beim Vorwärtsfehlerschutz wird versucht, fehlerhafte Datenpakete mittels zusätzlich übertragener Korrekturinformationen, welche auch als Korrekturbytes bezeichnet werden, zu rekonstruieren. Hierbei ist zu beachten, dass jeder verwendete Vorwärtsfehlerschutz nur eine gewisse Korrekturfähigkeit aufweist, welche primär durch die Anzahl der mit übertragenen Korrekturbytes bestimmt wird. Bei der Vorwärtskorrektur verteilt ein so genannter „Interleaver" aufgetretene Paketverluste, d.h. fehlerhaft übertragene Datenpakete, auf einzelne Byte-Auslöschungen, die so genannten „Byte Erasures", welche korrigiert werden, wenn die Korrekturfähigkeit nicht überschritten wird. Bei der Auslöschungskorrektur werden somit Fehler eines als fehlerhaft erkannten Datenpakets auf einzelne Bytes verteilt, diese einzelnen Bytes werden dann ausgelöscht, wodurch die fehlerhaften Datenpakete korrigiert werden, wenn die Anzahl der Byte-Auslöschungen die Korrekturfähigkeit des verwendeten Codes nicht überschreitet.
For reliable data transmission, it is often not sufficient to be able to detect transmission errors; it is often necessary to be able to correct the data bytes which have transmission errors. For the correction of transmission errors, basically two different processes are known.
  • 1. Request back defective, ie incorrectly transmitted, packages. This is also called "Acknowledge Mode" (ACK). This process is only possible in scenarios with return channel, ie if a two-way connection (duplex connection) exists between a sender and a receiver. Using this process, erroneous transmitted packets are detected by means of an error detection algorithm. The error detection is usually carried out by means of a cyclic redundancy code (CRC). The packets identified as faulty are discarded and the recipient requests the packets transmitted incorrectly again. Disadvantage of this method, however, is that the resending of requested packets requires significant transmission capacity. In addition, albeit to a lesser extent, the retransmission of individual packets results in a delay in the transmission of the desired information, ie the desired data.
  • 2. Forward error protection, also referred to as "Unacknowledge Mode" (UCK) When using this type of error protection, no return channel is required, so this process is possible even in scenarios where no return channel is present It should be noted that each forward error protection used has only a certain corrective capability, which is primarily determined by the number of correction bytes transmitted with "Interleaver" packet losses, ie incorrectly transmitted data packets, to individual byte cancellations, the so-called "byte erasures", which are corrected if the correction capability is not exceeded s erroneously detected data packets are distributed to individual bytes, these individual bytes are then canceled, whereby the erroneous data packets are corrected if the number of byte cancellations does not exceed the correcting capability of the code used.

Die Vorwärtskorrektur hat den Vorteil, dass sie auch auf Simplexkanälen durchgeführt werden kann und dass eine zeitaufwändige erneute Übertragung von Datenpaketen vermieden wird. Dafür hat sie den Nachteil, dass immer mit hoher Redundanz gesendet werden muss und nicht nur im Fehlerfall eine Wiederholung stattfindet.The forward error correction has the advantage that they are also performed on simplex channels can and that is a time consuming retransmission of data packets is avoided. But she has the disadvantage that always with high redundancy must be sent and not only in the Error case, a repetition takes place.

Bei dem aus der DE 100 34 977 A1 bekannten Verfahren werden fehlerhafte Datenpakete in Teilstücke zerlegt und zu kombinierten neuen Datenpaketen in der Hoffnung zusammengesetzt, dass bei den fehlerhaften Datenpakete in zueinander disjunkten Teilen Fehler aufgetreten sind, so dass durch zusammensetzen der disjunkten Teile die dabei entstehenden neuen Datenpakete fehlerfrei sind.In the from the DE 100 34 977 A1 Known methods decompose defective data packets into sections and put them together to form combined new data packets in the hope that errors have occurred in the disjointed data packets in mutually disjoint parts, so that the resulting new data packets are error-free by combining the disjoint parts.

Der Erfindung liegt das Problem zugrunde, die Übertragungssicherheit in paketorientierten Netzen zu erhöhen, ohne dass hierfür eine erhöhte Übertragungskapazität durch zusätzliche Korrekturbytes bzw. Korrekturbits nötig ist.Of the The invention is based on the problem of transmission reliability in packet-oriented Increase networks, without that an increased transmission capacity additional Correction bytes or correction bits is necessary.

Das Problem wird durch das Verfahren und die Vorrichtung zum Dekodieren von über paketorientierte Datenübertragungsnetze übertragenen kodierten Datenpaketen und durch das Verfahren und die Vorrichtung zum Kodieren und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragende Datenpakete mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.The Problem is solved by the method and apparatus for decoding from above packet-switched data transmission networks encoded data packets and by the method and the device for Encoding and decoding over packet-oriented data transmission networks to be transferred Data packets with the features of the independent claims solved.

Bei einem Verfahren zum Dekodieren von über paketorientierte Datenübertragungsnetze übertragenen kodierten Datenpaketen mit einer Mehrzahl von Datenelementen werden die kodierten Datenpakete einer Fehlererkennung unterzogen. Ferner wird für die als fehlerhaft erkannten Datenpakete eine Fehlerkorrektur durchgeführt und es werden zur Fehlerkorrektur die als korrekt übertragen erkannten Datenelemente der als fehlerhaft erkannten Datenpakete verwendet.at a method for decoding transmitted over packet-switched data transmission networks coded data packets having a plurality of data elements subjected the coded data packets to error detection. Further is for the erroneously recognized data packets carried out an error correction and for error correction, the data elements identified as being correctly transmitted are used the data packets recognized as faulty are used.

Eine Vorrichtung zum Dekodieren von mittels paketorientierten Datenübertragungsnetzen übertragenen kodierten Datenpaketen mit einer Mehrzahl von Datenelemente, weist einen Dekodierer auf, der derart eingerichtet ist, dass er die kodierten Datenpakete einer Fehlererkennung unterzieht, für die als fehlerhaft erkannten Datenpakete eine Fehlerkorrektur durchführt und zur Fehlerkorrektur die als korrekt übertragen erkannten Datenelemente der als fehlerhaft erkannten Datenpakete verwendet.A Apparatus for decoding packet-switched data transmission networks coded data packets with a plurality of data elements, points a decoder arranged to code the encoded ones Data packets subjected to an error detection, for which recognized as faulty Data packets performs an error correction and error correction which are transmitted as correct recognized data elements of recognized as defective data packets uses.

Bei einem Verfahren zum Kodieren und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragenden Datenpaketen wird eine Mehrzahl von Datenelementen vor dem Übertragen mittels eines Kodierers zu Datenpaketen kodiert, wel che Datenpakete über ein paketorientiertes Datennetz übertragen werden. Ferner werden die kodierten Datenpakete mit einer Mehrzahl von Datenelementen einer Fehlererkennung unterzogen, für die als fehlerhaft erkannten Datenpakete wird eine Fehlerkorrektur durchgeführt, wobei zur Fehlerkorrektur die als korrekt übertragen erkannten Datenelemente der als fehlerhaft erkannten Datenpakete verwendet werden.In a method for coding and decoding data packets to be transmitted via packet-oriented data transmission networks, a plurality of data elements are transmitted by means of a Encoder coded to data packets, wel che data packets are transmitted over a packet-oriented data network. Furthermore, the coded data packets are subjected to an error detection with a plurality of data elements, an error correction is carried out for the data packets identified as being erroneous, whereby the data elements of the data packets identified as defective are used for error correction.

Eine Vorrichtung zum Kodieren, Übertragen und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragenden Datenpaketen weist einen Kodierer und einen Dekodierer auf. Der Kodierer ist derart eingerichtet, dass er eine Mehrzahl von Datenelementen vor dem Übertragen zu Datenpaketen kodiert. Der Dekodierer ist derart eingerichtet, dass er die kodierten Datenpakete mit einer Mehrzahl von Datenelementen einer Fehlererkennung unterzieht, für die als fehlerhaft erkannten Datenpaketen eine Fehlerkorrektur durchführt und zur Fehlerkorrektur die als korrekt übertragen erkannten Datenelemente der als fehlerhaft erkannten Datenpakete verwendet.A Device for coding, transmission and decoding over packet-oriented data transmission networks to be transferred Data packets include an encoder and a decoder. Of the Encoder is arranged to have a plurality of data elements before transferring coded to data packets. The decoder is set up in such a way that it contains the coded data packets with a plurality of data elements undergoes a fault detection for which detected as faulty Data packets performs an error correction and error correction which are transmitted as correct recognized data elements of recognized as defective data packets uses.

Das erfindungsgemäße Verfahren zum Dekodieren basiert darauf, dass auch bei einem fehlerhaften Datenpaket nur eine geringe Anzahl von Datenelementen, welche beispielsweise Datenbytes oder Datenbits sein können, des fehlerbehafteten Datenpakets fehlerhaft sind, wohingegen die überwiegende Anzahl von Datenelementen auch in fehlerhaft übertragenen Datenpaketen korrekt übertragen werden. Mittels eines einfachen Algorithmus ist es möglich die korrekten Datenelemente eines fehlerhaften Datenpakets auszuwerten. Durch das Auswerten und Verwenden der korrekten Datenelemente eines fehlerhaft übertragenen Datenpakets ist es möglich den Fehlerschutz zu erhöhen, ohne dabei die Anzahl mitübertragener Korrekturelemente, d.h. Redundanzbytes oder Redundanzbits, zu erhöhen. Das erfindungsgemäße Verfahren kann in beiden Fehlerkorrekturszenarien, d.h. Rückanforderung defekter Pakete und Vorwärtsfehlerschutz, verwendet werden.The inventive method for decoding based on that even with a faulty data packet only a small number of data elements, which for example Data bytes or data bits, of the erroneous data packet are faulty, whereas the overwhelming Number of data elements correctly transmitted in incorrectly transmitted data packets become. By means of a simple algorithm it is possible the evaluate correct data elements of a faulty data packet. By the evaluation and use of the correct data elements of a faulty transmitted Data packets it is possible to increase the error protection, without doing the number mitübertrager Correction elements, i. Redundancy bytes or redundancy bits. The inventive method can be used in both error correction scenarios, i. Return request for defective packages and forward error protection, be used.

Im Prozess der Rückanforderung defekter Pakete kann mittels des erfindungsgemäßen Verfahrens die Anzahl der neuangeforderten Pakete gesenkt werden. Im Prozess der Vorwärtsfehlerkorrektur kann mittels des erfindungsgemäßen Verfahrens die Anzahl der korrigierbaren Datenpakete erhöht werden.in the Process of return request Defective packets can by means of the method according to the invention, the number of newly requested packets are lowered. In the process of forward error correction can by means of the method according to the invention the number of correctable data packets are increased.

Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen. Die weiteren Ausgestaltungen der Erfindung, welche anhand des Verfahrens zum Dekodieren von mittels paketorientierten Datenübertragungsnetzen übertragenen kodierten Datenpakete beschrieben werden, gelten auch für die Vorrichtung zum Dekodieren von mittels paketorientierten Datenübertragungsnetzen übertragenen kodierten Datenpaketen und für das Verfahren und die Vorrichtung zum Kodieren und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragende Datenpakete.preferred Further developments of the invention will become apparent from the dependent claims. The further embodiments of the invention, which by way of the method for decoding packet-switched data transmission networks encoded data packets are also applicable to the device for decoding packet-switched data transmission networks coded data packets and for the method and apparatus for encoding and decoding over packet-oriented Data transmission networks to be transferred Data packets.

Vorzugsweise wird die Fehlererkennung in einer Einheit einer Kommunikations-Transportschicht durchgeführt.Preferably the error detection is performed in a unit of a communication transport layer.

Die Fehlerkorrektur kann in einer Einheit einer Sitzungsschicht oder einer Darstellungsschicht oder einer Verarbeitungsschicht durchgeführt werden.The Error correction can be in a session layer or unit a presentation layer or a processing layer.

Unter den Schichten sind hier Computernetzwerkschichten zu verstehen, welche sich auf Schichten in einem Übertragungs-Referenzmodell, z.B. dem OSI-Referenzmodell oder dem TCP/IP-Referenzmodell, beziehen. Eine niedrigere Schicht als die Transportschicht entspricht zum Beispiel der Bitübertragungsschicht, der Sicherungsschicht oder der Vermittlungsschicht im OSI-Referenzmodel oder im TCP/IP-Referenzmodell. Eine Schicht höher als die Transportschicht ist im OSI-Referenzmodell die Sitzungsschicht, die Darstellungsschicht und die Verarbeitungsschicht und im TCP/IP-Referenzmodell die Verarbeitungsschicht.Under the layers are computer network layers, which can be found on layers in a transmission reference model, e.g. the OSI reference model or the TCP / IP reference model, Respectively. A lower layer than the transport layer corresponds for example the physical layer, the Link layer or the network layer in the OSI reference model or in the TCP / IP reference model. One layer higher than the transport layer is in the OSI reference model the session layer, the presentation layer, and the processing layer and in the TCP / IP reference model, the processing layer.

Die Datenelemente können Datenbytes oder Datenbits sein.The Data elements can Be data bytes or data bits.

Besonders vorzugsweise schreibt der Dekodierer die Datenelemente jedes Datenpaketes spaltenweise in eine Matrix und liest sie zeilenweise zum Dekodieren aus der Matrix aus.Especially Preferably, the decoder writes the data elements of each data packet column by column into a matrix and reads it line by line for decoding out of the matrix.

Alternativ kann der Dekodierer die Datenelemente jedes Datenpaketes zeilenweise in eine Matrix schreiben und spaltenweise zum Dekodieren auslesen. Anschaulich bedeutet das, dass die ganze Matrix gekippt wird, d.h. die Spalten und Zeilen sind vertauscht.alternative For example, the decoder can divide the data elements of each data packet line by line write to a matrix and read out in columns for decoding. Illustratively, this means that the entire matrix is tilted, i. the columns and lines are reversed.

Dadurch dass der Dekodierer die zu übertragenden Daten in unterschiedlicher Ordnung in eine Matrix schreibt und ausliest, d.h. entweder zeilenweise schreibt und spaltenweise ausliest oder umgekehrt, werden Paketfehler in Datenelementfehler umgewandelt, welche nachfolgend einfacher korrigiert werden können. In der Anmeldung werden unter Datenelementfehler beispielsweise Bytefehler oder Bitfehler verstanden.The fact that the decoder writes and reads the data to be transmitted in a different order in a matrix, ie either line by line and read column by column or vice versa, packet errors are converted into data element errors, which can be easily corrected in the following. In In the case of data element errors, the log-in is understood to mean, for example, byte errors or bit errors.

In einer Weiterbildung wird die Fehlerkorrektur einzelner Datenpakete durchgeführt, falls eine Redundanz durch Redundanzelemente zum Durchführen einer Auslöschungskorrektur der einzelnen Datenpakete nicht ausreicht.In A further development is the error correction of individual data packets carried out, if a redundancy by redundancy elements for performing a extinction correction the individual data packets is insufficient.

Hierdurch ist es möglich, dass, solange eine Auslöschungskorrektur (Erasure Correction) durchführbar ist, weil eine ausreichende Redundanz vorhanden ist, zuerst die Auslöschungskorrektur durchgeführt wird, bevor eine erfindungsgemäße Fehlerkorrektur durchgeführt wird. Dies führt zu einem verbesserten Fehlerschutz bzw. zu einer verbesserten Korrektur der Fehler. Die Anzahl der Redundanzelemente kann je Zeile bzw. je Spalte unterschiedlich sein.hereby Is it possible, that as long as an erasure correction (Erasure Correction) is feasible, because there is sufficient redundancy, first the cancellation correction carried out is before an error correction according to the invention carried out becomes. this leads to for improved error protection and improved correction the mistake. The number of redundancy elements can be per line or be different for each column.

Nachfolgend nach der erfindungsgemäßen Fehlerkorrektur einzelner Datenpakete kann eine zusätzliche Auslöschungskorrektur vorgenommen werden.following after the error correction according to the invention Individual data packets may require an additional cancellation correction be made.

Vorzugsweise werden nach erfolgter Auslöschungskorrektur rekursiv zusätzliche Fehlerkorrekturen und Auslöschungskorrekturen vorgenommen.Preferably will be after erasure correction recursively additional Bug fixes and erasure corrections performed.

D.h. es wird eine rekursive Fehlerkorrektur durchgeführt. Durch erfolgreiche Fehlerkorrektur einzelner Datenelemente ist es möglich mittels der Prüfinformation jeder Spalte/Zeile ganze Spalten/Zeilen als fehlerfrei zu markieren. Bei einem nachfolgenden Rekursionsschritt, d.h. nochmaligem Durchlaufen der Fehlerkorrektur, fallen diese als fehlerfrei Spalten/Zeilen weg. Hierdurch kann für einige Zeilen/Spalten vom Korrekturmodus, d.h. der erfindungsgemäßen Fehlerkorrektur, in den zuverlässigeren Erasuremodus, d.h, der Auslöschungskorrektur, übergegangen werden. D.h. es können zusätzliche Fehler korrigiert werden.That a recursive error correction is performed. By successful error correction individual data elements it is possible by means of the test information mark each column / row whole columns / rows as error-free. At a subsequent recursion step, i. to go through again error correction, these fall as error-free columns / rows path. This can be for some lines / columns from the correction mode, i. the error correction according to the invention, in the more reliable Erasuremodus, that is, the erasure correction, passed become. That it can additional Errors are corrected.

Besonders bevorzugt wird das Verfahren zum Dekodieren mit einem Softdekodierverfahren kombiniert.Especially The method is preferred for decoding with a soft decoding method combined.

Wird das erfindungsgemäße Verfahren zum Dekodieren noch mit einem Softdekodierverfahren kombiniert, so wird die Fehlerkorrekturfähigkeit des Verfahrens zusätzlich gesteigert. Speziell bei der Auswahl der zu korrigierenden potentiell fehlerhaften Datenelemente können hierbei diejenigen Datenelemente zuerst ausgewählt werden, welche die geringste Zuverlässigkeit aufweisen oder anders ausgedrückt die höchste Wahrscheinlichkeit aufweisen fehlerhaft zu sein. Hierdurch lässt sich bei der Übertragung etwa ein Gewinn von 1 dB bis 3 dB erziehlen [1].Becomes the inventive method for decoding still combined with a soft decoding method, so will the error correction capability of the procedure additionally increased. Especially in the selection of potential to be corrected erroneous data elements can Here, those data elements are selected first, which is the lowest reliability or in other words the highest Probability of being faulty. This is possible in the transmission about a gain of 1 dB to 3 dB erziehlen [1].

In einer Weiterbildung schreibt der Kodierer die zu übertragenden Datenelemente zeilenweise in eine Matrix und liest sie zum Übertragen als Datenpakete spaltenweise aus der Matrix aus, und der Dekodierer schreibt die Datenelemente jedes Datenpaketes spaltenweise in eine Matrix und liest sie zeilenweise zum Dekodieren aus der Matrix aus.In In a further development, the encoder writes the information to be transmitted Add data elements line by line to a matrix and read them for transfer as data packets from the matrix in columns, and the decoder writes the data elements of each data packet are split into a matrix and reads them out line by line for decoding from the matrix.

Alternativ kann der Kodierer die zu übertragenden Datenelemente spaltenweise in eine Matrix schreiben und zum Übertragen als Datenpakete zeilenweise aus der Matrix auslesen und der Dekodierer die Datenelemente jedes Datenpaketes zeilenweise in eine Matrix schreiben und spaltenweise zum Dekodieren auslesen.alternative the encoder can transmit the ones to be transmitted Write data elements column by column into a matrix and transfer them read as data packets line by line from the matrix and the decoder the data elements of each data packet line by line into a matrix write and read by column for decoding.

Dadurch dass der Kodierer die zu übertragenen Daten in unterschiedlicher Ordnung in eine Matrix schreibt und ausliest, d.h. entweder zeilenweise schreibt und spaltenweise ausliest oder umgekehrt, werden Paketfehler in Datenelementfehler umgewandelt, welche nachfolgend einfacher korrigiert werden können. Dies ist insbesondere dann der Fall, wenn der Dekodierer dies in genau umgekehrter Reihenfolge durchführt, d.h. falls der Kodierer zeilenweise in die Matrix schreibt und spaltenweise aus der Matrix ausliest, schreibt der Dekodierer spaltenweise in die Matrix ein und liest zeilenweise aus und umgekehrt.Thereby that the encoder is the one to transmit Writes and reads data in different order into a matrix, i.e. either line by line and read out column by column or conversely, packet errors are converted to data element errors, which can be corrected more easily below. This is special then the case, if the decoder this in exactly the reverse order performs, i. if the coder writes line by line in the matrix and column by column from the matrix, the decoder writes in columns the matrix and reads out line by line and vice versa.

Vorzugsweise stellt der Kodierer je Zeile bzw. je Spalte eine unterschiedliche Anzahl von Redundanzelementen bereit.Preferably the coder sets a different one per line or per column Number of redundancy elements ready.

Unter Redundanzelementen werden in der Anmeldung beispielsweise Redundanzbytes oder Redundanzbits verstanden, je nachdem ob von Datenbytes oder von Datenbits ausgegangen wird. Die Redundanzelemente werden, wenn der Kodierer zeilenweise in die Matrix schreibt vorzugsweise je Zeile vorgesehen, wohingegen die Redundanzelemente, wenn der Kodierer spaltenweise in die Matrix schreibt vorzugsweise je Spalte vorgesehen werden.Under Redundancy elements in the application, for example, redundancy bytes or redundancy bits, depending on whether from data bytes or of data bits is assumed. The redundancy elements are, if the encoder line by line in the matrix preferably writes each Row, whereas the redundancy elements when the encoder column by column in the matrix preferably writes per column provided become.

Mittels der Kodierung von Redundanzelemente ist es möglich, dass der Dekodierer fehlerhaft übertragene Datenelemente eines Datenpaketes korrigiert. Dies führt zu einer Erhöhung der Übertragungssicherheit. Die Redundanzelemente werden bei einem zeilenweisen Schreiben des Interleavers in die Matrix an das Ende jeder Zeile angefügt und zusätzlich kann an das Ende jeder Spalte eine Prüfinformation angefügt werden, mittels welcher dann beim Empfänger jede Spalte auf ihre Fehlerhaftigkeit untersucht werden kann. Bei dem spaltenweisen Schreiben werden die Redundanzelemente an das Ende jeder Spalte angefügt und zusätzlich werden an das Ende jeder Zeile eine Prüfinformation angefügt, mittels welcher dann beim Empfänger jede Zeile auf ihre Fehlerhaftigkeit untersucht werden kann.through the coding of redundancy elements, it is possible for the decoder incorrectly transmitted Corrected data elements of a data packet. This leads to a increase the transmission security. The Redundancy elements are used when the interleaver is written line by line can be added to the end of each line in the matrix and in addition to the end of each Column a check information added by which then at the receiver each column is checked for its defectiveness can be examined. In column-wise writing, the Redundancy elements are added to the end of each column and in addition are sent to the end of each Line a check information added, by which then at the receiver every line can be examined for their defectiveness.

Die Anzahl der Redundanzelemente kann je Zeile bzw. je Spalte individuell festgelegt werden. Hierdurch ist es möglich einen gleichmäßigen oder ungleichmäßigen Fehlerschutz zu erzielen. Bei dem Verwenden einer unterschiedlichen Anzahl von Redundanzelemente ist es möglich die Redundanz für besonders sensible Datenelemente innerhalb des Datenpakets zu erhöhen und so die Übertragungssicherheit zu erhöhen, während es gleichzeitig möglich ist, die Anzahl von Redundanzelemente für weniger sensible Datenelemente innerhalb des Datenpakets zu senken, ohne dass hierdurch die Übertragungssicherheit stark beeinträchtigt wird. Somit ist ein ungleichmäßiger Fehlerschutz möglich.The Number of redundancy elements can be individually per line or per column be determined. This makes it possible a uniform or uneven error protection to achieve. When using a different number of Redundancy elements it is possible the redundancy for particularly sensitive data elements within the data package and increase so the transmission security increase while it is possible at the same time is the number of redundancy elements for less sensitive data elements within of the data packet, without thereby the transmission security is severely impaired. Thus, an uneven error protection possible.

Zusammenfassend kann die Erfindung darin gesehen werden, dass bei der Übertragung von Daten in paketorientierten Netzen die Übertragungssicherheit erhöht und die Fehleranfälligkeit verringert wird, indem ein neues Verfahren zur Fehlerkorrektur verwendet wird. In diesem Verfahren werden als fehlerhaft erkannte Datenpakete nicht verworfen, sondern an einen FEC-Dekodierer (Vorwärtsfehlerkorrektur-Dekodierer, Forward-Error-Correction-Decoder) weitergeleitet. Hierbei ist zu beachten, dass Datenpakete mit korrekter IP-Header Checksumme aber fehlerhafter UDP Checksumme an den FEC-Dekodierer weitergegeben werden, welcher beispielsweise im Network Adaptation Layer (NAL) implementiert ist. Mittels eines nachfolgend in der ausführlichen Beschreibung eines Ausführungsbeispiels genauer beschriebenen Algorithmus wertet der FEC-Dekodierer die korrekten Bytes eines als fehlerhaft erkannten Datenpakets aus. Hierdurch wird ein höherer Fehlerschutz erreicht.In summary the invention can be seen in that in the transmission data in packet-oriented networks increases the transmission security and the error rate is reduced by using a new method of error correction becomes. In this procedure, data packets recognized as erroneous not discarded but to an FEC decoder (forward error correction decoder, Forward error correction decoder) forwarded. It should be noted that data packets with the correct IP header Checksum but erroneous UDP checksum to the FEC decoder which, for example, in Network Adaptation Layer (NAL) is implemented. By means of a following in the detailed Description of an embodiment the algorithm described more precisely, the FEC decoder evaluates the correct bytes of a data packet identified as faulty. This will make a higher Error protection achieved.

D.h., dass fehlerhafte Datenpakete nicht gelöscht werden, sondern in eine höhere Schicht als die Transportschicht übermittelt werden, auf welcher dann das erfindungsgemäße Verfahren zur Korrektur von Übertragungsfehlern angewendet wird. Dies kann zum Beispiel die Anwendungsschicht sein. Hierbei wird die CRC-Überprüfung dann nicht mehr wie im Stand der Technik in den Transportschichten durchgeführt, sondern erst auf einer höheren Schicht, vorzugsweise der Anwendungsschicht. Hierdurch ist es möglich die korrekt übertragenen Datenelemente eines fehlerhaften Datenpakets für eine Fehlerkorrektur zu verwenden.that is, that erroneous data packets are not deleted, but in one higher Layer are transmitted as the transport layer on which then the inventive method for correction of transmission errors is applied. This can be, for example, the application layer. This is where the CRC check becomes no longer carried out in the transport layers as in the prior art, but only at a higher level Layer, preferably the application layer. This makes it possible the correctly transmitted Use data elements of a faulty data packet for error correction.

Das erfindungsgemäße Verfahren kann für ein Szenario mit einem zur Verfügung stehenden Rückkanal angewendet werden. Bei diesem Szenario kommt es durch die Anwendung des erfindungsgemäßen Verfahrens zu einer geringeren Anzahl von erneut angeforderten Datenpaketen, da ein Teil der als fehlerhaft erkannten Datenpakete korrigiert werden kann. Auch für ein Szenario ohne einem zur Verfügung stehenden Rückkanal, zum Beispiel bei Fernsehausstrahlungen, kann das erfindungsgemäße Verfahren verwendet werden. Hierbei wird durch das erfindungsgemäße Verfahren zur Fehlerkorrektur die Fehleranzahl reduziert.The inventive method can for a scenario with one available standing return channel be applied. In this scenario, it comes through the application the method according to the invention to a smaller number of re-requested data packets, because some of the data packets identified as faulty are corrected can be. Also for a scenario without one available standing return channel, For example, in television broadcasts, the inventive method be used. This is by the inventive method for error correction the number of errors reduced.

Eine bevorzugte Implementierung des erfindungsgemäßen Verfahrens zur Fehlerkorrektur ist, dass für jede Zeile von Datenbytes drei verschiedene Arten von Verfahren zum Korrigieren von Fehlern nacheinander in einem Blockinterleaver, d.h. einem Dekodierer, angewendet werden.A preferred implementation of the inventive method for error correction is that for each Line of Data Bytes Three Different Types of Correcting Techniques of errors successively in a block interleaver, i. a decoder, be applied.

Als erster Schritt wird die herkömmliche Auslöschungskorrektur verwendet. Diese ist jedoch nur anwendbar, solange die Anzahl der defekten Bytes eines Paketes nicht die Auslöschungskorrekturfähigkeit des Codes, d.h. der übertragenen Datenpakete, übersteigt.When first step is the conventional extinction correction uses. However, this is only applicable as long as the number of defective bytes of a packet not the erasure correction capability of the code, i. the transmitted Data packets, exceeds.

Übersteigt die Anzahl der defekten Bytes die Auslöschungskorrekturfähigkeit, ist aber geringer als die Fehlerkorrekturfähigkeit des Codes, so wird das erfindungsgemäße Verfahren zur Fehlerkorrektur verwendet.exceeds the number of defective bytes, the erasure correction capability, but is less than the error correction capability of the code, so will the inventive method used for error correction.

Übersteigt die Anzahl der fehlerhaften Bytes die Fehlerkorrekturfähigkeit des Codes so wird die Anzahl der potentiell defekten Bytes auf die maximal auslöschungskorrigierbare Anzahl reduziert, indem eine Teilmenge aus den potentiell fehlerhaften Bytes ausgewählt wird. Nachfolgend wird die Auslöschungskorrektur durchgeführt und dann die sich ergebenen Bytes mittels Checksummen verifiziert. Falls die Checksummen anzeigen, dass die Auslöschungskorrektur die Fehler innerhalb des Datenpakets nicht bereinigt hat, wird eine andere Teilmenge aus den potentiell fehlerhaften Bytes ausgewählt und nachfolgend wiederum die Auslöschungskorrektur mit anschließender Verifizierung der Checksummen durchgeführt. Das Auswählen von verschiedenen Teilmengen von potentiell fehlerhaften Bytes kann solange durchgeführt werden, bis die gesamte Information, welche in der Redundanz des Codes beinhaltet ist, verwendet wurde, um möglichst viele fehlerhafte Bytes zu korrigieren.If the number of erroneous bytes exceeds the error correction capability of the code, the number of potentially defective bytes is reduced to the maximum erasure-correctable number by selecting a subset of the potentially erroneous bytes. Subsequently, the cancellation correction is performed and then the resulting bytes are verified by checksums. If the checksums indicate that the erase correction did not clean up the errors within the data packet, another subset is selected from the potentially erroneous bytes, and subsequently the erase correction is performed, followed by verification of the checksums. Selecting ver various subsets of potentially erroneous bytes may be performed until all the information contained in the redundancy of the code has been used to correct as many erroneous bytes as possible.

Für die Auslöschungskorrektur und die erfindungsgemäße Fehlerkorrektur kann ein so genannter Reed-Solomon-Dekodierer verwendet werden, welcher einen so genannten Reed-Solomon-Code verwendet. Der Reed-Solomon-Code ist ein Fehlerkorrektur-Verfahren, das in der Mobilkommunikation bei CDPD, in der drahtgebundenen Kommunikation bei ADSL und ATM, aber auch bei der Datenspeicherung auf CDs und DVDs eingesetzt wird. Beim Reed-Solomon-Code handelt es sich um ein Verfahren mit Vorwärtsfehlerkorrektur (FEC), das die Korrektur fehlerhaft übertragener Datenblöcke ermöglicht. Die FEC-Daten werden in einem Code-Wort in einem Datenblock den Nutzdaten angehängt und mit diesen zusammen übertragen. Das Codewort besteht aus den Nutzdaten und einer Anzahl an Reed-Solomon-Prüfbytes sowie einem oder mehreren DMT-Symbolen. Die mathematische Be schreibung ähnelt der des CRC-Verfahrens, wobei eine vorher gebildete Reed-Solomon-Prüfziffer für die Polynomdivision genutzt wird.For the cancellation correction and the error correction according to the invention a so-called Reed-Solomon decoder can be used, which uses a so-called Reed-Solomon code. The Reed-Solomon Code is an error correcting method used in mobile communication in CDPD, in wired communication in ADSL and ATM, but also used for data storage on CDs and DVDs. The Reed-Solomon code is a forward error correction technique (FEC), which allows the correction of erroneously transmitted data blocks. The FEC data is encoded in a code word in a data block User data appended and transmit with them together. The codeword consists of the payload and a number of Reed-Solomon check bytes as well one or more DMT symbols. The mathematical description is similar to the of the CRC method using a previously formed Reed-Solomon check digit for the Polynomial Division is used.

Anstelle einer byteweisen Dekodierung ist es erfindungsgemäß auch möglich eine bitweise Dekodierung, d.h. Fehlerkorrektur, vorzunehmen.Instead of a bytewise decoding, it is also possible according to the invention bitwise decoding, i. Error correction, make.

Das Verfahren zur Fehlerkorrektur kann auf einfache Weise beschleunigt werden. Der aufwändige Teil, d.h. der rechenaufwändige Teil, ist die Auslöschungskorrektur mit reduzierter Bytezahl. Dieser Teil kann beschleunigt werden, indem nicht alle Kombinationen von Teilmengen aus potentiell defekten Bytes ausgewählt werden, sondern die Auswahl geänderter Teilmengen nach einer vorgegebenen Zeitspanne abgebrochen wird. Dadurch wird die Zeit, welche für die Auslöschungskorrektur verwendet wird, begrenzt, und das Verfahren zur Fehlerkorrektur beschleunigt. Hierbei wird jedoch auch die Korrekturfähigkeit eingeschränkt.The Method of error correction can be accelerated in a simple manner become. The elaborate Part, i. the computationally expensive Part, is the erasure correction with reduced number of bytes. This part can be accelerated by not all combinations of subsets of potentially defective Bytes are selected but the selection changed Subsets is aborted after a predetermined period of time. Thereby will be the time for which the cancellation correction is used, limited, and the method of error correction accelerated. Here, however, the correction ability limited.

Im erfindungsgemäßen Verfahren ist es auch möglich, so genannte Softbytes, d.h. Bytes welche ein leicht abgeschwächtes Niveau aufweisen, zu verwerten. Dies erhöht nochmals die Fähigkeit des Verfahrens Fehler zu korrigieren.in the inventive method it is also possible so-called soft bytes, i. Bytes which have a slightly weakened level have to be recycled. This again increases the ability of the procedure to correct errors.

Ein Ausführungsbeispiel der Erfindung ist in den Figuren dargestellt und wird im Weiteren näher erläutert.One embodiment The invention is illustrated in the figures and will be discussed below explained in more detail.

Es zeigen:It demonstrate:

1 eine schematische Matrix zum Erläutern eines Ausführungsbeispiels der Erfindung, in welche Matrix ein Kodierer zu übertragende Datenpakete schreiben kann; 1 a schematic matrix for explaining an embodiment of the invention, in which matrix an encoder can write to be transmitted data packets;

2 eine schematische Häufigkeitsverteilung aus einer Simulation, welche die Häufigkeitsverteilung von Bytefehlern je Paketlänge angibt; 2 a schematic frequency distribution from a simulation, which indicates the frequency distribution of byte errors per packet length;

3 ein Histogramm, in welchen Häufigkeitsverteilungen von fehlerhaften Bytes je Paket eingetragen sind; 3 a histogram in which frequency distributions of erroneous bytes per packet are entered;

4 Histogramme, in welchen die Häufigkeitsverteilung von fehlerhaften Bytes je Paket für vier verschiedene Übertragungsbedingungen eingetragen sind; 4 Histograms in which the frequency distribution of erroneous bytes per packet for four different transmission conditions are entered;

5 wie viele zusätzliche Zeilen von Datenbytes korrigiert werden können, wenn ein erfindungsgemäßes Fehlerkorrekturverfahren verwendet wird; 5 how many additional lines of data bytes can be corrected when using an error correction method according to the invention;

6 eine schematische Darstellung eines vereinfachten Schichten-Referenzmodells mit einer Verdeutlichung der erfinderischen Idee; und 6 a schematic representation of a simplified layer reference model with an explanation of the inventive idea; and

7 eine schematische Darstellung eines Nachrichtenübertragungsystems. 7 a schematic representation of a message transmission system.

Einleitend wird unter Bezug auf 7 ein schematisches Nachrichtenübertragungssystem, d.h. ein System zum Übertragen von Daten, erläutert, welches einen Kodierer und einem Dekodierer aufweist und auf welchem das erfindungsgemäße Verfahren zum Kodieren und Dekodieren durchgeführt werden kann.Introducing becomes with reference to 7 a schematic message transmission system, ie a system for transmitting data, which has an encoder and a decoder and on which the inventive method for encoding and decoding can be performed.

In einem Nachrichtenübertragungssystem 700 wird von einer Quelle 701, beispielsweise einem Computer, einer Videokamera, einem Festnetztelefon oder Handy (nicht dargestellt), einem Quellenkodierer 703, Quelleninformation 702 zugeführt. Der Quellenkodierer 703 erzeugt hieraus einen Datenstrom 704, welcher eine Vielzahl von Nutz-Datenbites bzw. Nutz-Datenbytes aufweist.In a message transmission system 700 is from a source 701 For example, a computer, a video camera, a landline telephone or mobile phone (not shown), a source encoder 703 , Source information 702 fed. The source encoder 703 generates a data stream from this 704 which comprises a plurality of payload data bytes.

Unter einer Quellenkodierung ist allgemein eine Kodierung zu verstehen, in der die zu übertragenden Daten komprimiert werden, d.h. überflüssige Redundanz in den zu übertragenden Daten eliminiert wird.Under Source coding is generally to be understood as a coding in the data to be transferred are compressed, i. superfluous redundancy in the to be transferred Data is eliminated.

Der erzeugte Datenstrom 704 wird einem Kodierer 705, auch als Kanalkodierer bezeichnet, zugeführt, von diesem kodiert und der kodierte Datenstrom 706 wird einem Modulator 707 zugeführt, in welchem der kodierte Datenstrom 706 einem Trägersignal vorgebbarer Frequenz aufmoduliert wird und als moduliertes Signal 708 über einen physikalischen Kanal 709, beispielsweise über eine Funkverbindung oder über eine Telefonleitung, einem Empfänger, der einen Demodulator 710 aufweist, zugeführt.The generated data stream 704 becomes an encoder 705 , also referred to as channel coder, supplied, coded by this and the coded data stream 706 becomes a modulator 707 supplied, in which the coded data stream 706 a carrier signal of predeterminable frequency is modulated and as a modulated signal 708 over a physical channel 709 , For example, via a radio link or via a telephone line, a receiver, a demodulator 710 has supplied.

Im Rahmen dieser Erfindung ist unter Kodierung oder Kanalkodierung eine Methode bzw. ein Verfahren zu verstehen, mit dem ein Datenstrom durch hinzufügen von Redundanzdaten, in der Anmeldung auch als Redundanzelemente bezeichnet, kodiert wird, so dass von der Quelle 701 zu einer Senke 718 der zu übertragende Datenstrom mit einer möglichst geringen Anzahl von Fehlern übertragen werden kann. Somit wird im Rahmen der Kodierung des Kodierers den eigentlichen Nutzdaten sendeseitig kontrolliert Redundanz hinzugefügt, so dass bei der Übertragung über den physikalischen Kanal 709 entstandene Fehler empfangsseitig erkannt und korrigiert werden können. Die Funktionsweise des Kodierers wird nachfolgend noch detaillierter beschrieben werden.For the purposes of this invention, coding or channel coding is to be understood as a method or a method by which a data stream is encoded by adding redundancy data, also referred to as redundancy elements in the application, so that from the source 701 to a sink 718 the data stream to be transmitted can be transmitted with the least possible number of errors. Thus, as part of the encoding of the encoder the actual user data controlled redundancy added to the side, so that when transmitting over the physical channel 709 resulting errors on the receiving side can be detected and corrected. The operation of the encoder will be described in more detail below.

In dem physikalischen Kanal 709 unterliegt das modulieret Signal 708 Störungen 711, wodurch ein gestörtes moduliertes Signal 712 erzeugt wird, welches dem Demodulator 710 zugeführt wird. Der Demodulator 710 erzeugt hieraus einen demodulierten Datenstrom 713, welcher einem Dekodierer 714, auch Kanaldekodierer genannt, zugeführt wird. Der Dekodierer 714 erzeugt aus dem demodulierten Datenstrom 713 einen dekodierten Datenstrom 715, welcher einem Quellendekodierer 716 zugeführt wird. Der Quellendekodierer 716 erzeugt aus dem dekodierten Datenstrom einen Ergebnisdatenstrom 717, welcher einer Senke zugeführt wird.In the physical channel 709 subject to the modulated signal 708 disorders 711 , causing a disturbed modulated signal 712 which is the demodulator 710 is supplied. The demodulator 710 generates a demodulated data stream from this 713 which is a decoder 714 , also called channel decoder, is supplied. The decoder 714 generated from the demodulated data stream 713 a decoded data stream 715 which is a source decoder 716 is supplied. The source decoder 716 generates a result data stream from the decoded data stream 717 , which is fed to a sink.

Anhand der 6 ist schematisch ein Schichten-Referenzmodell 600, im dargestellten Fall ein TCP/IP-Referenzmodell, dargestellt. In 6 ist die dritte Schicht 601, d.h. die Vermittlungsschicht des Referenzmodells darstellt. In dieser dritten Schicht findet das Internet Protokoll (IP) Anwendung. Ferner ist die vierte Schicht 602 dargestellt, welche die Transportschicht des Referenzmodells darstellt. Innerhalb der vierten Schicht können sowohl das Transmission Control Protokoll 603 (TCP) Anwendung als auch das User Datagram Protokoll 604 (UDP) und das Real-Time Transport Protokoll 605 (RTP) Anwendung finden. Ferner ist in der 6 noch eine fünfte Schicht 606 dargestellt, welche die Anwendungsschicht repräsentiert, welche im OSI-Referenzmodell der siebte Schicht ist. Innerhalb der Anwendungsschicht 606 können die verschiedene Anwendungen oder Applikationen ausgeführt werden wie zum Beispiel die Applikation H.323.Based on 6 is schematically a layer reference model 600 , in the illustrated case a TCP / IP reference model, shown. In 6 is the third layer 601 ie, represents the network layer of the reference model. This third layer uses the Internet Protocol (IP). Further, the fourth layer 602 representing the transport layer of the reference model. Within the fourth layer, both the Transmission Control Protocol 603 (TCP) application as well as the User Datagram protocol 604 (UDP) and the real-time transport protocol 605 (RTP) application. Furthermore, in the 6 another fifth shift 606 representing the application layer, which in the OSI reference model is the seventh layer. Within the application layer 606 The various applications or applications can be executed such as the application H.323.

Anhand der 6 ist auch die erfinderische Idee skizziert. Mit dem Pfeil in 6 wird angedeutet, dass IP-Pakete (Datenpakete) mit korrekter IP-Header Checksumme aber mit fehlerhafter UDP Checksumme an die Schicht des „Network Adaptation Layer (NAL)" übertragen, d.h. der fünften Schicht (Anwendungsschicht), auch wenn die UDP Checksumme anzeigt, dass das betreffende IP-Paket fehlerhaft ist. Innerhalb der NAL-Schicht wird dann das erfindungsgemäße Fehlerkorrekturverfahren durchgeführt, welches nachfolgend genauer beschreiben wird.Based on 6 is also sketched the inventive idea. With the arrow in 6 it is indicated that IP packets (data packets) with correct IP header checksum but with a faulty UDP checksum are transmitted to the layer of the "Network Adaptation Layer (NAL)", ie the fifth layer (application layer), even if the UDP indicates checksum, The error correction method according to the invention, which will be described in more detail below, is then carried out within the NAL layer.

In 1 eine schematischen Matrix 100 erläutert, in welche ein Kodierer Datenpakete schreiben kann.In 1 a schematic matrix 100 explains in which a coder can write data packets.

Die dargestellte Matrix 100 besteht aus elf Zeilen 101, 102, 103, 104, 105, 106, 107, 108, 109, 110 und 111 und 20 Spalten 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130 und 131. Die Zahl der Zeilen und Spalten ist jedoch nicht auf diese Anzahlen be schränkt. Ein Kodierer oder Interleaver schreibt die zu übertragenden Datenbytes in diese Matrix ein. Hierbei schreibt er die Datenbytes zeilenweise in die Matrix. Am Ende jeder Zeile besteht für den Kodierer die Möglichkeit Redundanzelemente, d.h. Redundanzbytes, einzufügen. In den ersten drei Zeilen 101, 102 und 103 werden in der Matrix der 1 jeweils 12 Datenbytes und acht Redundanzbytes eingetragen. In der vierten und fünften Zeile 104, 105 werden 14 Datenbytes und sechs Redundanzbytes eingetragen. In der sechsten Zeile 106 werden 15 Datenbytes und fünf Redundanzbytes eingetragen. In der siebten Zeile 107 werden 16 Datenbytes und vier Redundanzbytes eingetragen. In der achten Zeile 108 werden 17 Datenbytes und drei Redundanzbytes eingetragen. In der neunten Zeile 109 werden 18 Datenbytes und zwei Redundanzbytes eingetragen. In der zehnten Zeile 110 werden 19 Datenbytes und ein Redundanzbytes eingetragen. In der elften Zeile 111 werden 20 Datenbytes und kein Redundanzbytes eingetragen. Die unterschiedliche Anzahl der Redundanzbytes je Zeile bewirkt, dass die einzelnen Zeilen eine unterschiedliche Redundanz aufweisen und somit mit einem unterschiedlichen Fehlerschutz versehen sind. Somit lassen sich wichtige Datenbytes bei einer eventuellen fehlerhaften Übertragung besser, genauer und leichter rekonstruieren, als weniger wichtige Datenbytes, welche im Beispiel in eine der letzten Zeilen eingetragen werden, welche eine niedrigere Anzahl von Redundanzbytes aufweisen. Es ist somit ein ungleichmäßiger Fehlerschutz realisiert.The illustrated matrix 100 consists of eleven lines 101 . 102 . 103 . 104 . 105 . 106 . 107 . 108 . 109 . 110 and 111 and 20 columns 112 . 113 . 114 . 115 . 116 . 117 . 118 . 119 . 120 . 121 . 122 . 123 . 124 . 125 . 126 . 127 . 128 . 129 . 130 and 131 , However, the number of rows and columns is not limited to these numbers. An encoder or interleaver writes the data bytes to be transferred into this matrix. Here he writes the data bytes line by line in the matrix. At the end of each line, it is possible for the encoder to insert redundancy elements, ie redundancy bytes. In the first three lines 101 . 102 and 103 be in the matrix of 1 12 data bytes and 8 redundancy bytes entered. In the fourth and fifth line 104 . 105 14 data bytes and six redundancy bytes are entered. In the sixth line 106 15 data bytes and five redundancy bytes are entered. In the seventh line 107 16 data bytes and four redundancy bytes are entered. In the eighth line 108 17 data bytes and three redundancy bytes are entered. In the ninth line 109 18 data bytes and two redundancy bytes are entered. In the tenth line 110 19 data bytes and one redundancy byte are entered. In the eleventh line 111 20 data bytes and no redundancy bytes are entered. The different number of redundancy bytes per line causes the individual lines have a different redundancy and thus are provided with a different error protection. In this way, important data bytes can be reconstructed better, more accurately and more easily in the event of a faulty transmission, as less important data bytes, which in the example are entered in one of the last lines, which have a lower number of redundancy bytes. It is thus realized an uneven error protection.

Zum Übertragen der Datenbytes werden diese nach dem zeilenweisen Schreiben zu Datenpaketen zusammengestellt. Zum Zusammenstellen der Datenpakete werden die Datenbytes spaltenweise ausgelesen. Zusätzlich wird zum Übertragen noch an jedes Paket Prüfinformation angefügt, welche dazu dient auf Empfängerseite ein fehlerhaftes Datenpaket zu erkennen.To transfer the data bytes are compiled into data packets after the line-by-line writing. To compile the data packets, the data bytes become column by column read. additionally becomes transferring still to every package check information added, which serves on the receiver side to recognize a faulty data packet.

In dem in 1 dargestellten Beispiel sind das sechste Datenpaket, welches durch die sechste Spalte 117 gebildet wird, das neunte Datenpaket, welches durch die neunte Spalte 120 gebildet wird, das zehnte Datenpaket, welches durch die zehnte Spalte 121 gebildet wird, das elfte Datenpaket, welches durch die elfte Spalte 122 gebildet wird und das 14te Datenpaket, welches durch die 14te Spalte 125 gebildet wird, fehlerhaft übertragen worden und weisen somit jeweils zumindest ein fehlerhaftes Byte auf. Die fehlerhaften Datenpakete, d.h. die Spalten, sind in der 1 gekennzeichnet. Zusätzlich sind in der 1 auch noch die einzelnen fehlerhaften Bytes innerhalb der fehlerhaften Datenpakete mit einem Kreuz markiert.In the in 1 Example shown are the sixth data packet, which through the sixth column 117 is formed, the ninth data packet, which through the ninth column 120 the tenth data packet, which is formed by the tenth column 121 the eleventh data packet, which is formed by the eleventh column 122 is formed and the 14th data packet, which through the 14th column 125 is formed, have been transmitted incorrectly and thus each have at least one erroneous byte. The erroneous data packets, ie the columns, are in the 1 characterized. In addition, in the 1 also the individual erroneous bytes within the faulty data packets marked with a cross.

Anhand der 1 lässt sich auf einfache Weise erkennen, dass durch die unterschiedliche Reihenfolge des Schreibens in die Matrix (zeilenweise) und des Lesens aus der Matrix (spaltenweise) aus einem Paketfehler, d.h. einem Datenpaket, welches fehlerhaft übertragen wurde, ein Bytefehler erzeugt wird. Die Prüfinformation eines Datenpakets kennzeichnet in der 1 eine gesamte Spalte, d.h. ein gesamtes Datenpaket, als fehlerhaft. Da die Datenbytes aber zeilenweise in die Matrix eingeschrieben wurden und auch die Redundanzbytes zeilenweise hinzugefügt wurden, stellt ein fehlerhaftes Datenpaket nur ein einzelnes Datenbyte innerhalb jeder Zeile dar.Based on 1 can be easily seen that a byte error is generated by the different order of writing in the matrix (line by line) and reading from the matrix (columns) from a packet error, ie a data packet that was transmitted incorrectly. The check information of a data packet identifies in the 1 an entire column, ie an entire data packet, as faulty. However, since the bytes of data have been written into the matrix line by line and the redundancy bytes have been added line by line, a bad packet of data represents only a single byte of data within each line.

Allgemein ergibt sich für eine Korrektur von Übertragungsfehlern folgendes:
Für d ≤ t können alle Fehler einer Zeile mittels einer Auslöschungskorrektur (Erasure Dekodierung) korrigiert werden.
Für d > t können mittels des FEC-Dekodierers (t – 1)/2 Bytes korrigiert werden.
In general, for a correction of transmission errors follows:
For d ≤ t all errors of a line can be corrected by means of an erasure correction (erasure decoding).
For d> t, the FEC decoder can correct (t-1) / 2 bytes.

Oder allgemeiner:
Für d > t können mittels des FEC-Dekodierers (8t – 1)/2 Bits korrigiert werden.
Hierbei ist: d = die Anzahl der fehlerhaften Pakete und
t = die Anzahl der Redundanzbytes.
Or more generally:
For d> t, (8t-1) / 2 bits can be corrected by means of the FEC decoder.
Where: d = the number of bad packets and
t = the number of redundancy bytes.

Nachfolgend wird ein Algorithmus für eine Korrektur von Fehlern, wie er in einem FEC-Dekodierer implementiert sein kann, erläutert.following becomes an algorithm for a correction of errors as implemented in an FEC decoder can be explained.

Der Algorithmus wird auf die Datenelemente eines Interleaver Blocks, d.h. eine Matrix wie sie in 1 dargestellt ist, mehrfach angewendet. Die Anwendung erfolgt so lange bis keine weitere Korrektur von Datenfehlern mehr möglich ist, d.h. im Normalfall bis alle in den Daten vorhandene Redundanz zur Fehlerkorrektur verwendet ist.

  • a) Der Algorithmus weist eine Zeilenschleife auf, d.h. eine Befehlsfolge, welche für alle Zeilen des Interleaver Blocks abgearbeitet wird.
  • b) Jede Zeile wird zuerst auf potentiell defekte Bytes untersucht, d.h. es wird eine Fehlererkennung durchgeführt. Ferner wird entschieden, ob die Gesamtzahl der potentiell defekten Bytes die Erasure-Korrekturfähigkeit übersteigt.
  • c) Wenn die Gesamtanzahl der potentiell defekten Bytes die Erasure-Korrekturfähigkeit nicht übersteigt wird eine Erasure Dekodierung, d.h. eine Auslöschungskorrektur durchgeführt. Nachdem eine Zeile korrigiert wurde, werden nochmals die CRC-Checks durchgeführt, d.h. die Zeile nach potentiell defekten Bytes untersucht und die Spalten des Interleaver Blocks, welche einen korrekten CRC-Check liefern als korrekt markiert. Nachfolgend wird zurück in die Zeilenschleife gesprungen und die nächste Zeile des Interleaver Blocks abgearbeitet, d.h. es wird zu b) zurückgesprungen.
  • d) Wenn die Gesamtanzahl der potentiell defekten Bytes die Erasure-Korrekturfähigkeit übersteigt wird die Fehler-Dekodierung, d.h. die erfindungsgemäße Dekodierung oder er findungsgemäße Fehlerkorrektur, durchgeführt. Nach dieser Fehler-Dekodierung wird mittels der Checksummen überprüft ob die Fehlerkorrektur für die soeben korrigierte Zeile korrekt war. Hierbei wird überprüft ob die CRC korrekt sind, d.h. ob potentiell defekte Bytes in der Zeile vorhanden sind.
  • e) Sind keine potentiell defekten Bytes in der Zeile vorhanden, so ist die Korrektur der Zeile abgeschlossen. Es werden nochmals die CRC-Checks durchgeführt, d.h. die Zeile nach potentiell defekten Bytes untersucht und die Spalten des Interleaver Blocks, welche einen korrekten CRC-Check liefern als korrekt markiert. Nachfolgend wird zurück in die Zeilenschleife gesprungen und die nächste Zeile des Interleaver Blocks abgearbeitet, d.h. es wird zu b) zurückgesprungen.
  • f) Sind weiterhin potentiell defekten Bytes in der Zeile vorhanden, so wird eine Erasure Dekodierung mit reduzierter Bytezahl durchgeführt. Anschaulich bedeutet das, dass die Erasures, d.h. der Auslöschungen von potentiell fehlerbehafteten Bytes, willkürlich auf die maximal korrigierbare Anzahl reduziert wird. D.h. es werden willkürlich ausgewählte potentiell fehlerbehaftete Bytes ausgelöscht bis nur noch so viele Bytes übrigbleiben, wie maximal mittels der Erasure Dekodierung korrigiert werden können, wobei die entsprechende Anzahl von der Redundanz abhängt, welche in der Zeile vorhanden ist. Nachfolgend wird dekodiert und alle CRC Checksummen nochmals geprüft.
  • g) Ergibt sich nun, dass die CRC Checksummen korrekt sind, d.h. keine potentiell defekten Bytes in der Zeile vorhanden sind, so ist die Korrektur der Zeile abgeschlossen. Es werden nochmals die CRC-Checks durchgeführt und die Spalten des Interleaver Blocks, welche einen korrekten CRC-Check liefern als korrekt markiert. Nachfolgend wird zurück in die Zeilenschleife gesprungen und die nächste Zeile des Interleaver Blocks abgearbeitet, d.h. es wird zu b) zurückgesprungen.
  • h) Ergibt sich hingegen, dass die CRC Checksummen nicht korrekt sind, d.h. weiterhin potentiell defekte Bytes in der Zeile vorhanden sind, so wird praktisch zu Schritt f) zurückgesprungen, indem eine andere Teilmenge aus potentiell defekten Bytes ausgewählt und erneut eine Erasure Dekodierung versucht wird.
The algorithm is based on the data elements of an interleaver block, ie a matrix as shown in 1 is shown, applied several times. The application takes place until no further correction of data errors is possible, ie normally until all existing redundancy in the data for error correction is used.
  • a) The algorithm has a row loop, ie a command sequence which is processed for all lines of the interleaver block.
  • b) Each line is first examined for potentially defective bytes, ie an error detection is performed. It is further decided whether the total number of potentially defective bytes exceeds the erasure correction capability.
  • c) If the total number of potentially defective bytes does not exceed the erasure correction capability, erasure decoding, ie, erasure correction, is performed. After a line has been corrected, the CRC checks are carried out again, ie the line is examined for potentially defective bytes and the columns of the interleaver block which provide a correct CRC check are marked as correct. Subsequently, the system jumps back to the line loop and executes the next line of the interleaver block, ie it jumps back to b).
  • d) When the total number of potentially defective bytes exceeds the erasure correcting capability, the error decoding, ie decoding according to the invention or error correction according to the invention, is performed. After this error decoding is checked by means of the checksums whether the error chooser correction was correct for the line just corrected. In this case, it is checked whether the CRC are correct, ie whether there are potentially defective bytes in the line.
  • e) If there are no potentially defective bytes in the line, the correction of the line is completed. The CRC checks are carried out again, ie the line is examined for potentially defective bytes and the columns of the interleaver block which supply a correct CRC check are marked as correct. Subsequently, the system jumps back to the line loop and executes the next line of the interleaver block, ie it jumps back to b).
  • f) If there are still potentially defective bytes in the line, erasure decoding is performed with a reduced number of bytes. Illustratively, this means that the erasure, ie the deletion of potentially error-prone bytes, is arbitrarily reduced to the maximum correctable number. That is, randomly selected potentially erroneous bytes are erased until only as many bytes remain as can be corrected at most by erasure decoding, the corresponding number depending on the redundancy that exists in the line. Subsequently, decoding and checking all CRC checksums again.
  • g) If it now turns out that the CRC checksums are correct, ie there are no potentially defective bytes in the line, the correction of the line is completed. The CRC checks are carried out again and the columns of the interleaver block, which deliver a correct CRC check, are marked as correct. Subsequently, the system jumps back to the line loop and executes the next line of the interleaver block, ie it jumps back to b).
  • h) If, on the other hand, it results that the CRC checksums are not correct, ie there are still potentially defective bytes in the line, then in practice step f) is jumped back by selecting another subset of potentially defective bytes and attempting an erasure decoding again ,

Nachfolgend wird der oben beschriebene Algorithmus in einem Pseudocode angegeben:
Schleife über Interleaver Block, z.B. einer Matrix wie in 1 dargestellt:
Abarbeiten des Interleaver Blocks mehrfach so lange bis keine weitere Korrektur mehr möglich ist

Figure 00230001
Figure 00240001
The algorithm described above is given below in a pseudocode:
Loop over interleaver block, eg a matrix like in 1 shown:
Execution of the interleaver block several times until no further correction is possible
Figure 00230001
Figure 00240001

Anhand des Pseudocodes ist auf einfache Weise erkennbar, wie der Algorithmus der Korrektur von Übertragungsfehlern gemäß einem Ausführungsbeispiel der Erfindung implementiert wird. Der gezeigte Algorithmus zur Rekonstruktion fehlerhaft übertragener Datenpakete baut auf den korrekten Bytes der jeweiligen fehlerhaften Datenpakete auf. Anzumerken ist ferner, dass es auch möglich ist Spalten und Zeilen in dem Algorithmus zu vertauschen. Dies ist dann nötig, wenn der Interleaver die Datenbytes spaltenweise in die Matrix einschreibt und zum Übertragen zeilenweise ausliest.Based of the pseudocode is easily recognizable as the algorithm the correction of transmission errors according to one embodiment of the invention is implemented. The shown algorithm for reconstruction incorrectly transmitted Data packets are based on the correct bytes of the respective faulty ones Data packets on. It should also be noted that it is also possible Swap columns and rows in the algorithm. This is then necessary, when the interleaver writes the data bytes into the matrix column by column and to transfer read out line by line.

Im Folgenden wird anhand der 2 bis 5, welche mittels Simulationen erhalten wurden, beschrieben, wie sich ein er findungsgemäßes Fehlerkorrekturverfahren auf die Übertragungsqualität, d.h. auf die Anzahl der nach der Fehlerkorrektur, vorhandenen Fehler auswirkt. Den Simulationen wurde eine Paketlänge von 20 Bytes zugrundegelegt.The following is based on the 2 to 5 , which were obtained by means of simulations, describes how he an inventive error correction method on the transmission quality, ie the number of errors after the error correction, existing effect. The simulations were based on a packet length of 20 bytes.

In 2 sind schematisch die Ergebnisse einer Simulation dargestellt, welche die Häufigkeitsverteilung von Bytefehlern je Paketlänge angibt. Aufgetragen ist die Häufigkeit mit der eine gewissen Anzahl von Bytefehlern/Paketlänge auftritt. Man erkennt, dass 0,05 Bytefehler/Paketlänge, d.h. eine Fehlerrate von einem falschen Byte je 20 Byte Paketlänge, etwa in 5‰ aller Fälle auftritt. Die Häufigkeit des Auftretens eines bestimmten Verhältnisses von Bytefehler/Paketlänge steigt bis zum Verhältnis von 0,25 Bytefehler/Paketlänge an und erreicht dort eine Häufigkeit von etwa 2,6%. Danach fällt die Häufigkeit des Auftretens eines bestimmten Verhältnisses von Bytefehler/Paketlänge bis zum Verhältnis von 0,45 Bytefehler/-Paketlänge ab und erreicht dort eine Häufigkeit von etwa 3‰.In 2 schematically the results of a simulation are shown, which indicates the frequency distribution of byte errors per packet length. Plotted is the frequency with which a certain number of byte errors / packet length occurs. It can be seen that 0.05 byte error / packet length, ie an error rate of one wrong byte per 20 byte packet length, occurs in about 5 ‰ of all cases. The frequency of occurrence of a particular ratio of byte error / packet length increases up to the ratio of 0.25 byte error / packet length and reaches a frequency of about 2.6% there. Thereafter, the frequency of occurrence of a certain byte error / packet length ratio drops to the 0.45 byte error / packet length ratio where it reaches a frequency of about 3 ‰.

Die in 2 dargestellte Simulation wurden für den Fall einer Mobilfunkübertragung, z.B. Handygespräche, durchgeführt, und zeigt, dass durchschnittlich etwa 11% der Datenpakete fehlerhafte Datenbytes aufweisen, d.h. das etwa nur jedes neunte Datenpaket fehlerhaft übertragen wird. Die 11% ergeben sich als Summe über alle in der 2 dargestellten Häufigkeiten. Das Maximum der Häufigkeit liegt bei einem Verhältnis Bytefehler/Paketlänge von 0,25, d.h. einem fehlerhaften Byte je vier Byte Paketlänge, was bedeutet, dass jedes vierte Byte fehlerhaft ist. Jedoch ergibt sich auch hier nur eine Häufigkeit von etwa 2,6%. Somit ist leicht zu erkennen, dass die meisten Datenpakete fehlerfrei übertragen werden und auch dass in den fehlerbehafteten Datenpakete die überwiegende Anzahl von Bytes korrekt übertragen werden.In the 2 The simulation shown was carried out in the case of a mobile radio transmission, eg mobile telephone conversations, and shows that on average about 11% of the data packets have faulty data bytes, ie that only about every ninth data packet is transmitted incorrectly. The 11% is the sum of all in the 2 shown frequencies. The maximum frequency is a byte error / packet length ratio of 0.25, ie one byte out of four byte packet length, which means that each the fourth byte is faulty. However, here too, only a frequency of about 2.6% results. Thus, it is easy to see that most data packets are transmitted without errors and also that the overwhelming number of bytes are correctly transmitted in the errored data packets.

3 zeigt ein Histogramm, in welchem die Häufigkeitsverteilung von fehlerhaften Bytes je Paket eingetragen ist. Die absolute Anzahl an fehlerhaften Bytes auf der X-Achse ist hierbei willkürlich, da die Anzahl von fehlerhaften Bytes von der verwendeten Paketlänge abhängt. Eingetragen ist die Häufigkeitsverteilung für fehlerhafte Bytes, welche trotz durchgeführter Korrektur von Fehlern nicht korrigiert werden konnten. Zum Erhalten der Datenpunkte der oberen Kurve 340 ist eine Korrektur der Übertragungsfehler gemäß dem Stand der Technik durchgeführt worden, bei dem die korrekten Bytes der fehlerhaften Datenpakete nicht für die Korrektur der Fehler verwendet werden. Zum Erhalten der Datenpunkte der unteren Kurve 241 ist eine Fehlerkorrektur gemäß dem erfindungsgemäßen Verfahren durchgeführt worden, bei dem die korrekten Bytes der fehlerhaften Datenpakete für die Fehlerkorrektur verwendet werden. In dem Histogramm ist deutlich zu erkennen, dass das erfindungsgemäße Fehlerkorrekturverfahren eine deutlich verringerte Anzahl von fehlerhaften Bytes je Datenpaket ergibt als das Verfahren gemäß dem Stand der Technik. Die Kurve 341 ist deutlich nach links verschoben, was bedeutet, dass eine größere Anzahl von anfänglichen Fehlern korrigiert werden kann, wenn das erfindungsgemäße Fehlerkorrekturverfahren verwendet wird. 3 shows a histogram in which the frequency distribution of erroneous bytes per packet is entered. The absolute number of erroneous bytes on the X-axis is arbitrary here, since the number of bytes in error depends on the packet length used. Registered is the frequency distribution for faulty bytes, which could not be corrected despite the correction of errors. To get the data points of the top curve 340 a correction of the transmission errors has been carried out according to the prior art, in which the correct bytes of the erroneous data packets are not used for the correction of the errors. To get the data points of the lower curve 241 an error correction has been carried out according to the method according to the invention, in which the correct bytes of the erroneous data packets are used for the error correction. It can clearly be seen in the histogram that the error correction method according to the invention results in a significantly reduced number of erroneous bytes per data packet than the method according to the prior art. The curve 341 is shifted significantly to the left, which means that a larger number of initial errors can be corrected when the error correction method according to the invention is used.

4 zeigt vier Histogramme a-d, in welchen, wie in 3, Häufigkeitsverteilungen von fehlerhaften Bytes je Paket eingetragen ist. Die absolute Anzahl an fehlerhaften Bytes auf der X-Achse ist wiederum willkürlich, da die Anzahl von fehlerhaften Bytes von der verwendeten Paketlänge abhängt. Eingetragen ist die Häufigkeitsverteilung für fehlerhafte Bytes, welche trotz durchgeführter Korrektur von Fehlern nicht korrigiert werden konnten. In den 4a und 4b sind Übertragungsbedingungen gewählt, welche einer Übertragung innerhalb eines Gebäudes entsprechen, d.h. wenn zum Beispiel ein Handy innerhalb eines Gebäudes betrieben wird. Zum Bestimmen der Punkte der oberen Kurven 440 und 442 ist eine Korrektur der Übertragungsfehler gemäß dem Stand der Technik durchgeführt worden, bei welcher die korrekten Bytes der fehlerhaften Datenpakete nicht für die Korrektur der Fehler verwendet werden. Zum Bestimmen der Punkte der unteren Kurven 441 und 443 ist eine Fehlerkorrektur gemäß dem erfindungsgemäßen Verfahren durchgeführt worden, bei welcher die korrekten Bytes der fehlerhaften Datenpakete für die Fehlerkorrektur verwendet werden. In den Histogrammen ist deutlich zu erkennen, dass das erfindungsgemäße Korrekturverfahren eine deutlich verringerte Anzahl von fehlerhaften Bytes je Datenpaket ergibt als das Verfahren gemäß dem Stand der Technik. Die Kurven 441 und 443 sind deutlich nach links verschoben, was bedeutet, dass eine größere Anzahl von anfänglichen Fehlern korrigiert werden kann, wenn das erfindungsgemäße Fehlerkorrekturverfahren verwendet wird. 4 shows four histograms ad, in which, as in 3 , Frequency distributions of erroneous bytes per packet is entered. The absolute number of bytes of errors on the X-axis is again arbitrary, since the number of bytes in error depends on the packet length used. Registered is the frequency distribution for faulty bytes, which could not be corrected despite the correction of errors. In the 4a and 4b Transmission conditions are selected which correspond to a transmission within a building, that is, for example, when a mobile phone is operated within a building. To determine the points of the upper curves 440 and 442 a correction of the transmission errors has been carried out according to the prior art, in which the correct bytes of the erroneous data packets are not used for the correction of the errors. To determine the points of the lower curves 441 and 443 an error correction has been carried out according to the method of the invention in which the correct bytes of the erroneous data packets are used for the error correction. It can be clearly seen in the histograms that the correction method according to the invention results in a significantly reduced number of erroneous bytes per data packet than the method according to the prior art. The curves 441 and 443 are shifted significantly to the left, which means that a larger number of initial errors can be corrected when the error correction method according to the invention is used.

Gleiches gilt für die in den 4c und 4d gezeigten Beispiele, welche einer Übertragungssituation innerhalb eines Fahrzeuges entsprechen, d.h. wenn zum Beispiel ein Handy innerhalb eines Fahrzeuges betrieben wird. Auch hier entsprechen die oberen Kurven 444 und 446 einer Korrektur der Übertragungsfehler gemäß dem Stand der Technik, bei welcher die korrekten Bytes der fehlerhaften Datenpakete nicht für die Korrektur der Fehler verwendet werden. Wohingegen zum Bestimmen der Punkte der unteren Kurven 445 und 447 eine Fehlerkorrektur gemäß dem erfindungsgemäßen Verfahren durchgeführt wurde, bei welcher die korrekten Bytes der fehlerhaften Datenpakete für die Fehlerkorrektur verwendet werden. In den Histogrammen der 4c und 4d ist deutlich zu erkennen, dass das erfindungsgemäße Korrekturverfahren eine deutlich verringerte Anzahl von fehlerhaften Bytes je Datenpaket ergibt als das Verfahren gemäß dem Stand der Technik. Die Kurven 445 und 447 sind deutlich nach links verschoben, was bedeutet, dass eine größere Anzahl von anfänglichen Fehlern korrigiert werden kann, wenn das erfindungsgemäße Fehlerkorrekturverfahren verwendet wird.The same applies to the in the 4c and 4d shown examples which correspond to a transmission situation within a vehicle, that is, for example, when a mobile phone is operated within a vehicle. Again, the upper curves correspond 444 and 446 a correction of the transmission errors according to the prior art, in which the correct bytes of the erroneous data packets are not used for the correction of the errors. Whereas, to determine the points of the lower curves 445 and 447 an error correction has been carried out according to the inventive method in which the correct bytes of the erroneous data packets are used for the error correction. In the histograms of 4c and 4d It can clearly be seen that the correction method according to the invention results in a significantly reduced number of erroneous bytes per data packet than the method according to the prior art. The curves 445 and 447 are shifted significantly to the left, which means that a larger number of initial errors can be corrected when the error correction method according to the invention is used.

In 5 ist dargestellt wie viele zusätzliche Zeilen von Datenbytes korrigiert werden können, wenn ein erfindungsgemäßes Fehlerkorrekturverfahren verwendet wird. Genauer gesagt ist dargestellt, wie viele aneinander anschließende korrekte Zeilen innerhalb eines Interleaver-Blocks, d.h. eines Blockes, wie er schematisch als Matrix in 1 dargestellt ist, erwartet werden können, wenn ein erfindungsgemäßes Fehlerkorrekturverfahren verwendet wird. Die Wahrscheinlichkeit für eine bestimmte Anzahl von aneinander anschließenden fehlerfreien Zeilen lässt sich auf einfache Weise wie folgt berechnen: P(n) = (1 – p)n wobei:In 5 FIG. 3 illustrates how many additional lines of data bytes can be corrected when an error correction method according to the invention is used. More specifically, it shows how many adjacent correct lines within an interleaver block, ie a block, as shown schematically as a matrix in 1 can be expected when an error correction method according to the invention is used. The probability of a certain number of consecutive error-free rows can be calculated in a simple way as follows: P (n) = (1 - p) n in which:

nn
die Anzahl der aneinander anschließenden fehlerfreien Zeilen ist;the number of each other subsequent is error-free lines;
pp
die Fehlerwahrscheinlichkeit einer einzelnen Zeile ist; undthe error probability a single line; and
P(n)P (n)
die Wahrscheinlichkeit für n aneinander anschließende fehlerfreie Zeilen ist.the probability for n together subsequent is error-free lines.

Die in 5 dargestellten Wahrscheinlichkeiten basieren auf den in 3 dargestellten Ergebnissen. Die in 5 untere Kurve 550 zeigt die Wahrscheinlichkeit des Auftretens von aneinander anschließenden fehlerfreien Zeilen. Wenn das erfindungsgemäße Fehlerkorrekturverfahren angewendet wird, ohne Redundanzbytes vorzusehen, werden etwa drei zusätzliche aneinander anschließende fehlerfreie Zeilen erwartet. Die Zahl von drei ergibt sich aus dem Wahrscheinlichkeitswert von 50%, d.h. es ergibt sich zu mehr als 50% eine Verbesserung um drei zusätzliche aufeinander folgende fehlerfreie Zeilen. Somit kann man erkennen, dass mittels des erfindungsgemäßen Fehlerkorrekturverfahren, welches die korrekten Bytes von fehlerbehafteten Datenpaketen verwendet, indem es auch die fehlerbehafteten Datenpakete für eine Fehlerkorrektur heranzieht, die Fehlerkorrektur verbessert werden kann. Dadurch wird ein größerer Fehlerschutz und eine größere Übertragungssicherheit erreicht.In the 5 The probabilities shown are based on those in 3 presented results. In the 5 lower curve 550 shows the probability of the occurrence of consecutive error-free lines. When the inventive error correction method is used without providing redundancy bytes, about three additional consecutive error-free lines are expected. The number of three results from the probability value of 50%, ie there is more than 50% improvement by three additional consecutive error-free lines. Thus, it can be seen that the error correction can be improved by means of the error correction method according to the invention, which uses the correct bytes of erroneous data packets, by also using the errored data packets for error correction. This achieves greater error protection and greater transmission reliability.

Die obere Kurve 551 in 3 zeigt wie sich die Wahrscheinlichkeiten für aufeinander folgende fehlerfreie Zeilen ver halten, wenn durch Verwendung von Redundanzbytes ein Fehler je Zeile korrigiert werden kann. In diesem Fall werden etwa 20 aufeinander folgende fehlerfreie Zeilen erwartet. Die Zahl von 20 ergibt sich wiederum aus dem Wahrscheinlichkeitswert von 50%, d.h. es ergibt sich zu mehr als 50% 20 aufeinander folgende fehlerfreie Zeilen. Anhand dieser Kurven kann man leicht erkennen, dass das erfindungsgemäße Fehlerkorrekturverfahren zu einer starken Verbesserung der Korrekturfähigkeit und damit einer Verbesserung des Fehlerschutzes und einer Verbesserung der Übertragungssicherheit führt.The upper curve 551 in 3 shows how the probabilities for successive error-free lines behave, if by using redundancy bytes one error per line can be corrected. In this case, about 20 consecutive good lines are expected. The number of 20 again results from the probability value of 50%, ie more than 50% result in 20 consecutive error-free lines. It can easily be seen from these curves that the error correction method according to the invention leads to a strong improvement of the correction capability and thus to an improvement of the error protection and an improvement of the transmission reliability.

Zusammenfassen basiert das erfindungsgemäße Verfahren zum Dekodieren darauf, dass auch bei einem fehlerhaften Datenpaket nur eine geringe Anzahl von Datenelementen, welche beispielsweise Datenbytes oder Datenbits sein können, des fehlerbehafteten Datenpakets fehlerhaft sind, wohingegen die überwiegende Anzahl von Datenelementen auch in fehlerhaft übertragenen Datenpaketen korrekt übertragen werden. Mittels eines einfachen Algorithmus ist es möglich die korrekten Datenelemente eines fehlerhaften Datenpakets auszuwerten. Durch das Auswerten und Verwenden der korrekten Datenelemente eines fehlerhaft übertragenen Datenpakets ist es möglich den Fehlerschutz zu erhöhen, ohne dabei die Anzahl mitübertragener Korrekturelemente, d.h. Redundanzbytes oder Redundanzbits, zu erhöhen. Das erfindungsgemäße Verfahren kann in beiden Fehlerkorrekturszenarien, d.h. Rückanforderung defekter Pakete und Vorwärtsfehlerschutz, verwendet werden.Sum up the method according to the invention is based for decoding that even with a faulty data packet only a small number of data elements, which for example Data bytes or data bits, of the erroneous data packet are faulty, whereas the vast majority of data elements correctly transmitted in incorrectly transmitted data packets become. By means of a simple algorithm it is possible the evaluate correct data elements of a faulty data packet. By evaluating and using the correct data elements of a incorrectly transmitted data packets Is it possible to increase the error protection, without doing the number mitübertrager Correction elements, i. Redundancy bytes or redundancy bits. The inventive method can be used in both error correction scenarios, i. Return request for defective packages and forward error protection, be used.

In diesem Dokument ist folgendes Dokument zitiert:

  • [1] Performance of Soft Decision Digital Matched Filter in Direct-Sequence Spread-Spectrum Communication Systems, N. Kataoka, T. Kojima, M. Miyake and T. Fujino, IEICE Transactions Vol. E 74, Nr. 5, (1991) 1115-1122
This document cites the following document:
  • [1] Performance of Soft Decision Digital Matched Filter in Direct Sequence Spread Spectrum Communication Systems, N. Kataoka, T. Kojima, M. Miyake and T. Fujino, IEICE Transactions Vol. E 74, No. 5, (1991) 1115-1122

Claims (23)

Verfahren zum Dekodieren von über paketorientierte Datenübertragungsnetze übertragenen kodierten Datenpaketen mit einer Mehrzahl von Datenelementen, bei dem die kodierten Datenpakete einer Fehlererkennung unterzogen werden, bei dem für die als fehlerhaft erkannten Datenpakete eine Fehlerkorrektur durchgeführt wird, und bei dem zur Fehlerkorrektur die als korrekt übertragen erkannten Datenelemente der als fehlerhaft erkannten Datenpakete verwendet werden bei dem der Dekodierer die Datenelemente jedes Datenpaketes in eine Matrix schreibt und zum Dekodieren orthogonal aus der Matrix ausliest.Method for decoding transmitted over packet-oriented data transmission networks encoded data packets with a plurality of data elements, at the coded data packets are subjected to error detection, at for the erroneously recognized data packets are error corrected, and in which the error correction as the correct transfer recognized data elements of recognized as defective data packets be used where the decoder the data elements each Data packet writes into a matrix and orthogonal for decoding read from the matrix. Verfahren gemäß Anspruch 1, bei dem die Fehlererkennung in einer Einheit einer Kommunikations-Transportschicht durchgeführt wird.Method according to claim 1, in which the error detection in a unit of a communication transport layer carried out becomes. Verfahren gemäß Anspruch 1 oder 2, bei dem die Fehlerkorrektur in einer Einheit, einer Sitzungsschicht oder einer Darstellungsschicht oder einer Anwendungsschicht durchgeführt wird.Method according to claim 1 or 2, in which the error correction in a unit, a session layer or a presentation layer or an application layer is performed. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem die Datenelemente Datenbytes sind.Method according to one the claims 1 to 3, in which the data elements are data bytes. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem die Datenelemente Datenbits sind.Method according to one the claims 1 to 3, in which the data elements are data bits. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem die Fehlerkorrektur einzelner Datenpakete durchgeführt wird, falls eine Redundanz durch Redundanzelemente zum Durchführen einer Auslöschungskorrektur der einzelnen Datenpakete nicht ausreicht. Method according to one the claims 1 to 5, in which the error correction of individual data packets is performed, if a redundancy by redundancy elements for performing a extinction correction the individual data packets is insufficient. Verfahren gemäß Anspruch 1, bei dem nach der Fehlerkorrektur einzelner Datenpakete eine Auslöschungskorrektur vorgenommen wird.Method according to claim 1, in which after the error correction of individual data packets an erasure correction is made. Verfahren gemäß Anspruch 7, bei dem nach erfolgter Auslöschungskorrektur rekursiv zusätzliche Fehlerkorrekturen und Auslöschungskorrekturen vorgenommen werden.Method according to claim 7, in which after the erasure correction recursively additional Bug fixes and erasure corrections be made. Verfahren gemäß einem der Ansprüche 1 bis 8, bei dem zusätzlich ein Softdekodierverfahren vorgesehen ist.Method according to one the claims 1 to 8, in addition to a soft decoding method is provided. Verfahren gemäß einem der Ansprüche 1 bis 9, bei dem die Fehlerkorrektur des Dekodierers in dem Network Adaptation Layer stattfindet.Method according to one the claims 1 to 9, in which the error correction of the decoder in the network Adaptation Layer takes place. Verfahren zum Kodieren und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragende Datenpaketen, bei dem eine Mehrzahl von Datenelementen vor dem Übertragen mittels eines Kodierers zu Datenpaketen kodiert werden, bei dem die kodierten Datenpakete über ein paketorientiertes Datennetz übertragen werden, bei dem die kodierten Datenpakete mit einer Mehrzahl von Datenelementen einer Fehlererkennung unterzogen werden, bei dem für die als fehlerhaft erkannten Datenpakete eine Fehlerkorrektur durchgeführt wird, und bei dem zur Fehlerkorrektur die als korrekt übertragen erkannten Datenelemente der als fehlerhaft erkannten Datenpakete verwendet werden, bei dem der Kodierer die Datenelemente jedes Datenpaketes in eine Matrix schreibt und zum Dekodieren orthogonal aus der Matrix ausliest.Method for coding and decoding via packet-oriented Data transmission networks to be transferred Data packets in which a plurality of data elements before transmitting be encoded into data packets by means of an encoder, at the coded data packets over transmit a packet-oriented data network become, in which the coded data packets with a plurality be subjected to error detection of data elements, at for the erroneously recognized data packets are error corrected, and in which the error correction as the correct transfer recognized data elements of recognized as defective data packets be used, where the encoder is the data elements of each Data packet writes into a matrix and orthogonal for decoding read from the matrix. Verfahren gemäß Anspruch 11, bei dem die Fehlererkennung einer Einheit einer Kommunikations-Transportschicht durchgeführt wird.Method according to claim 11, in which the error detection of a unit of a communication transport layer carried out becomes. Verfahren gemäß Anspruch 11 oder 12, bei dem die Fehlerkorrektur in einer Einheit, einer Sitzungsschicht oder einer Darstellungsschicht oder einer Anwendungsschicht durchgeführt wird.Method according to claim 11 or 12, in which the error correction in a unit, a Session layer or a presentation layer or an application layer carried out becomes. Verfahren gemäß einem der Ansprüche 12 bis 13, bei dem die Datenelemente Datenbytes sind.Method according to one the claims 12 to 13, in which the data elements are data bytes. Verfahren gemäß einem der Ansprüche 12 bis 13, bei dem die Datenelemente Datenbits sind.Method according to one the claims 12 to 13, in which the data elements are data bits. Verfahren gemäß einem der Ansprüche 12 bis 15, bei dem die durch den Kodierer je Zeile bzw. je Spalte bereitgestellte Anzahl von Redundanzelementen unterschiedlich ist.Method according to one the claims 12 to 15, in which by the encoder per row or per column provided number of redundancy elements is different. Verfahren gemäß einem der Ansprüche 12 bis 16, bei dem die Fehlerkorrektur einzelner Datenpakete durchgeführt wird, falls eine Redundanz durch Redundanzelemente zum Durchführen einer Auslöschungskorrektur der einzelnen Datenpakete nicht ausreicht.Method according to one the claims 12 to 16, in which the error correction of individual data packets is performed, if a redundancy by redundancy elements for performing a extinction correction the individual data packets is insufficient. Verfahren gemäß Anspruch 17, bei dem nach der Fehlerkorrektur einzelner Datenpakete eine Auslöschungskorrektur vorgenommen wird.Method according to claim 17, in which after the error correction of individual data packets a extinction correction is made. Verfahren gemäß Anspruch 18, bei dem nach erfolgter Auslöschungskorrektur rekursiv zusätzliche Fehlerkorrekturen und Auslöschungskorrekturen vorgenommen werden.Method according to claim 18, in which after erasure correction recursive additional bug fixes and cancellation corrections be made. Verfahren gemäß einem der Ansprüche 12 bis 19, bei dem zusätzlich ein Softdekodierverfahren vorgesehen ist.Method according to one the claims 12 to 19, in addition to a soft decoding method is provided. Verfahren gemäß einem der Ansprüche 12 bis 20, bei dem die Fehlerkorrektur des Dekodierers in dem Network Adaptation Layer stattfindet.Method according to one the claims 12-20, in which the error correction of the decoder in the network Adaptation Layer takes place. Vorrichtung zum Dekodieren von mittels paketorientierten Datenübertragungsnetzen übertragenen kodierten Datenpaketen mit einer Mehrzahl von Datenelementen, mit einem Dekodierer, der derart eingerichtet ist, dass folgende Verfahrensschritte durchführbar sind: kodierte Datenpakete werden einer Fehlererkennung unterzogen, für die als fehlerhaft erkannten Datenpakete wird eine Fehlerkorrektur durchgeführt, und zur Fehlerkorrektur werden die als korrekt übertragen erkannten Datenelemente der als fehlerhaft erkannten Datenpakete verwendet, die Datenelemente jedes Datenpaketes werden in eine Matrix geschrieben und zum Dekodieren orthogonal aus der Matrix ausgelesen.Device for decoding coded data packets transmitted by packet-oriented data transmission networks with a plurality of data elements, with a decoder which is set up in such a manner that the following method steps can be carried out: an error correction is carried out for the data packets identified as faulty, an error correction is carried out for the data packets recognized as faulty, and the data elements identified as faulty are used for error correction as data packets identified as being incorrectly the data elements of each data packet are written into a matrix and orthogonally read from the matrix for decoding. Vorrichtung zum Kodieren, Übertragen und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragenden Datenpaketen mit einem Kodierer und einen Dekodierer, bei dem der Kodierer derart eingerichtet, dass er eine Mehrzahl von Datenelementen vor dem Übertragen zu Datenpaketen kodiert, die Datenelemente jedes Datenpaketes werden in eine Matrix geschrieben und zum Kodieren orthogonal aus der Matrix ausgelesen und bei dem der Dekodierer derart eingerichtet ist, dass er die kodierten Datenpakete mit einer Mehrzahl von Datenelementen einer Fehlererkennung unterzieht, für die als fehlerhaft erkannten Datenpakete eine Fehlerkorrektur durchführt, und zur Fehlerkorrektur die als korrekt übertragen erkannten Datenelemente der als fehlerhaft erkannten Datenpakete verwendet.Device for coding, transmitting and decoding over packet-oriented Data transmission networks to be transferred Data packets with an encoder and a decoder, in which the encoder is arranged to have a plurality of data elements before transferring encoded into data packets, the data elements of each data packet are written in a matrix and coded orthogonally from the Matrix read out and in which the decoder is set up in this way is that he the coded data packets with a plurality of Subjecting data items to error detection, for as erroneously recognized data packets performs an error correction, and to Error correction which is transmitted as correct recognized data elements of recognized as defective data packets uses.
DE2003145438 2003-09-30 2003-09-30 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 Expired - Fee Related DE10345438B4 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE2003145438 DE10345438B4 (en) 2003-09-30 2003-09-30 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
PCT/EP2004/052340 WO2005034413A1 (en) 2003-09-30 2004-09-28 Method and device for decoding transmitted coded data packets by means of packet oriented data transmission networks and method and device for coding and decoding data packets which are to be transmitted by means of packet oriented data transmission networks
EP04787236A EP1668812A1 (en) 2003-09-30 2004-09-28 Method and device for decoding transmitted coded data packets by means of packet oriented data transmission networks and method and device for coding and decoding data packets which are to be transmitted by means of packet oriented data transmission networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003145438 DE10345438B4 (en) 2003-09-30 2003-09-30 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

Publications (2)

Publication Number Publication Date
DE10345438A1 DE10345438A1 (en) 2005-05-12
DE10345438B4 true DE10345438B4 (en) 2005-09-15

Family

ID=34399084

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003145438 Expired - Fee Related DE10345438B4 (en) 2003-09-30 2003-09-30 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

Country Status (3)

Country Link
EP (1) EP1668812A1 (en)
DE (1) DE10345438B4 (en)
WO (1) WO2005034413A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447980B2 (en) * 2005-10-17 2008-11-04 Newport Media, Inc. Error detection and correction in data transmission packets
US8917673B2 (en) 2006-07-14 2014-12-23 Qualcomm Incorporation Configurable downlink and uplink channels for improving transmission of data by switching duplex nominal frequency spacing according to conditions
FR2953345B1 (en) 2009-12-01 2015-12-11 Canon Kk METHOD OF DETERMINING COPY TO DECODER AND ASSOCIATED ERASURE VECTOR, COMPUTER PROGRAM PRODUCT, STORAGE MEDIUM AND CORRESPONDING RECEIVER DEVICE

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4025621A1 (en) * 1990-08-13 1992-03-05 Siemens Ag Secure video digital signal value ATM network transmission - grouping into data matrices with constant line numbers and variable number of packets
DE4027496A1 (en) * 1990-08-30 1992-03-12 Deutsche Forsch Luft Raumfahrt Data spreading for coded digital information transmission system - using similar matrix at transmission and reception ends with line write-in and column read=out
US20010007137A1 (en) * 1999-12-31 2001-07-05 Nokia Mobile Phones Ltd. Method for making data transmission more effective and a data transmission protocol
DE69800432T2 (en) * 1997-05-23 2001-08-23 Nec Corp Method and device for carrying out an error correction process with a small storage capacity
DE10034977A1 (en) * 2000-07-13 2002-01-24 Ihp Gmbh Method and device system for data transmission
WO2002056531A1 (en) * 2001-01-16 2002-07-18 Nokia Corporation System and method for processing of erroneous data in packet switched communications system where the packets are divided and processed in parts
WO2002103956A1 (en) * 2001-06-15 2002-12-27 Mitsubishi Denki Kabushiki Kaisha Error-correction multiplexing apparatus, error-correction demultiplexing apparatus, optical transmission system using them, and error-correction multiplexing transmission method
DE69805849T2 (en) * 1997-12-12 2003-01-23 3Com Corp A FORWARD ERROR CORRECTION SYSTEM FOR PACKET-BASED REAL-TIME MEDIA
DE69903188T2 (en) * 1998-10-20 2003-05-28 Exabyte Corp MULTI-STAGE ERROR DETECTION AND CORRECTION TECHNOLOGY FOR DATA STORAGE RECORDING DEVICE

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4025621A1 (en) * 1990-08-13 1992-03-05 Siemens Ag Secure video digital signal value ATM network transmission - grouping into data matrices with constant line numbers and variable number of packets
DE4027496A1 (en) * 1990-08-30 1992-03-12 Deutsche Forsch Luft Raumfahrt Data spreading for coded digital information transmission system - using similar matrix at transmission and reception ends with line write-in and column read=out
DE69800432T2 (en) * 1997-05-23 2001-08-23 Nec Corp Method and device for carrying out an error correction process with a small storage capacity
DE69805849T2 (en) * 1997-12-12 2003-01-23 3Com Corp A FORWARD ERROR CORRECTION SYSTEM FOR PACKET-BASED REAL-TIME MEDIA
DE69903188T2 (en) * 1998-10-20 2003-05-28 Exabyte Corp MULTI-STAGE ERROR DETECTION AND CORRECTION TECHNOLOGY FOR DATA STORAGE RECORDING DEVICE
US20010007137A1 (en) * 1999-12-31 2001-07-05 Nokia Mobile Phones Ltd. Method for making data transmission more effective and a data transmission protocol
DE10034977A1 (en) * 2000-07-13 2002-01-24 Ihp Gmbh Method and device system for data transmission
WO2002056531A1 (en) * 2001-01-16 2002-07-18 Nokia Corporation System and method for processing of erroneous data in packet switched communications system where the packets are divided and processed in parts
WO2002103956A1 (en) * 2001-06-15 2002-12-27 Mitsubishi Denki Kabushiki Kaisha Error-correction multiplexing apparatus, error-correction demultiplexing apparatus, optical transmission system using them, and error-correction multiplexing transmission method
EP1396954A1 (en) * 2001-06-15 2004-03-10 Mitsubishi Denki Kabushiki Kaisha Error-correction multiplexing apparatus; error-correction demultiplexing apparatus; optical transmission system using them; and error-correction multiplexing transmission method

Also Published As

Publication number Publication date
DE10345438A1 (en) 2005-05-12
EP1668812A1 (en) 2006-06-14
WO2005034413A1 (en) 2005-04-14

Similar Documents

Publication Publication Date Title
DE69727325T2 (en) Fault detection for ARQ systems
DE69829847T2 (en) ERROR PROCEDURE AND DEVICE FOR TRANSFER FILE TRANSMISSION
DE102009017540B4 (en) Procedure for recovering lost and / or damaged data
EP1232596A2 (en) Method for adjusting the data rate in a communication device and the corresponding communication device
DE19815597B4 (en) A data transmission system, mobile station, and method of reducing frame error rate in data frame data transmission
EP2315382B1 (en) Method for conflict resolution in time-hopping or frequency-hopping methods
DE102010035210B4 (en) Method for recovering lost data and correcting corrupted data
DE102015110602A1 (en) Method and apparatus for iteratively decoding a data transfer structure
DE102018218729B3 (en) Interleaving with circular line rotation for transmission with telegram splitting
EP1175047A2 (en) Method and apparatus to protect against packet loss in a packet oriented data transmission
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
DE3852569T2 (en) Method and device for decoding block coded data, impaired by replacement, insertions and loss of symbols.
EP1252716B1 (en) Method and configuration for decoding information
DE102013201422B3 (en) Method for restoring lost and/or damaged data transmitted from transmitting device to receiving device, involves replacing current entry of LDPC parity check matrix with entry of Galois field until entry in matrix is modified
EP1609266B1 (en) Method and measuring device for determining an error rate without incremental redundancy
EP1016236B1 (en) Rapid decoding of partially received convolution-coded data
DE102017213711B4 (en) Method for transmitting data
DE102009032640B4 (en) Data correction device, data correction method and machine-readable medium
DE102011111835B4 (en) Procedure for recovering lost and / or damaged data
DE10253949B3 (en) Method for determining a residual probability of error in the transmission of data
DE102011103564B3 (en) Method for recovery of lost and/or corrupted data transmitted from transmitter to receiver, involves creating new linear block code and parity check matrix using algorithm by generating random vector permutation
WO2000035138A1 (en) Adaptive concatenated channel coding method
DE10345713B4 (en) ARQ method
DE102010030211A1 (en) Method for transmission of data frame in bus system, involves coding utilizable data by error correcting code (ECC) method if control character included in header data indicates preset control state
WO2003096538A2 (en) Method and device for recovering a code word from a received faulty code word, method and device for generating a code word, and transmission system

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NOKIA SIEMENS NETWORKS GMBH & CO.KG, 81541 MUE, DE

8339 Ceased/non-payment of the annual fee