DE10227165A1 - Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten - Google Patents

Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten Download PDF

Info

Publication number
DE10227165A1
DE10227165A1 DE10227165A DE10227165A DE10227165A1 DE 10227165 A1 DE10227165 A1 DE 10227165A1 DE 10227165 A DE10227165 A DE 10227165A DE 10227165 A DE10227165 A DE 10227165A DE 10227165 A1 DE10227165 A1 DE 10227165A1
Authority
DE
Germany
Prior art keywords
data
identifier
block
sequence
transmission
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.)
Withdrawn
Application number
DE10227165A
Other languages
English (en)
Inventor
Günther LIEBL
Juergen Dr. Pandel
Marcel Wagner
Wenrong Weng
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.)
Siemens AG
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 DE10227165A priority Critical patent/DE10227165A1/de
Priority to PCT/DE2003/001953 priority patent/WO2003107581A2/de
Priority to AT03759848T priority patent/ATE352916T1/de
Priority to CNB038141965A priority patent/CN100454802C/zh
Priority to US10/518,960 priority patent/US20050242973A1/en
Priority to EP03759848A priority patent/EP1514375B1/de
Priority to DE50306385T priority patent/DE50306385D1/de
Priority to AU2003250259A priority patent/AU2003250259A1/en
Priority to ES03759848T priority patent/ES2277115T3/es
Publication of DE10227165A1 publication Critical patent/DE10227165A1/de
Priority to US12/270,397 priority patent/US7861145B2/en
Priority to US12/371,560 priority patent/US7861144B2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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/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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • 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
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Es wird ein Verfahren zur Codierung und Decodierung einer Folge von digitalen Daten angegeben, bei dem ein Teil der Folge von digitalen Daten einem Datenblock entspricht, bei dem der Datenblock mehrere Datenpakete umfasst, bei dem mindestens zwei Datenpakete pro Datenblock eine Kennung umfassen, wobei anhand der Kennung die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmt werden kann, und bei dem die Daten unter Berücksichtigung der Kennung codiert bzw. decodiert werden.

Description

  • Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten.
  • Die Erfindung betrifft ein Verfahren und eine Anordnung zur Codierung und ein Verfahren und eine Anordnung zur Decodierung einer Folge digitaler Daten.
  • Aus [1] ist ein Real-time Transfer Protocol (RTP) bekannt, welches die Codierung, Übertragung und Decodierung von Echtzeitdaten, beispielsweise Audio- und Videodaten, regelt. Gemäß [1] beinhaltet ein RTP-Header eine 16 Bit Sequenznummer, die mit jedem RTP-Paket inkrementiert wird. Diese ermöglicht es dem Empfänger, Paketverluste bei der Übertragung zu erkennen und die Pakete in die richtige Reihenfolge zu bringen. Aus Gründen der Datensicherheit wird bei dem ersten Datenpaket eine Zufallszahl als Anfangswert verwendet. Gemäß [1] beinhaltet ein RTP-Header eine Option, die Grenzen von Datenblöcken im Datenstrom durch Setzen von Markerbits zu kennzeichnen.
  • Aus [2] sind sogenannte Interleaver-Blöcke bekannt, bei denen in einer Codiereinrichtung die Daten zeilenweise in eine Matrix eingelesen und spaltenweise aus der Matrix ausgelesen werden. In einer Decodiereinrichtung wird der gesamte Interleaver-Block wieder zusammengesetzt, bevor die darin enthaltenen Daten verwertet werden.
  • Aus [3] ist eine Redundanzinformation (auch: Redundanz) bekannt, anhand derer Übertragungsfehler kompensierbar sind. So werden zu übertragende Daten (=Inhaltsdaten) zusätzlich vor der Übertragung über einen gestörten Übertragungskanal mit Redundanzinformation versehen, die aus den zu übertragenden Daten mittels bekannter Verfahren generiert wird. Daraufhin werden die Inhaltsdaten zusammen mit der Redundanzinformation über den Übertragungskanal zu einem Empfänger geschickt. Bei dem Empfänger ist es jetzt möglich, Übertragungsfehler derart auszugleichen, dass anhand der Redundanzinformation die Inhaltsdaten rekonstruiert werden. Dazu werden bekannte Fehlerkorrekturverfahren (siehe [4]) eingesetzt.
  • In [5] ist ein Verfahren zum ungleichen Fehlerschutz (UXP) von Daten beschrieben, wobei der Fehlerschutz innerhalb eines Datenblocks dadurch variiert wird, dass den Daten unterschiedliche Mengen an Redundanzinformation zugeordnet sind. Gemäß [5] ist eine Anzahl der Datenpakete in einem Datenblock variabel und wird in einem separaten Datenfeld des UXP-Headers, der jedem Datenpaket zugeordnet ist, angegeben.
  • Bei der Datenübertragung über fehlerbehaftete Kanäle treten Verluste von Datenpaketen auf. Dies ist insbesondere dann von Nachteil, wenn auch Datenpakete verloren gehen, die jeweils ein Markerbit umfassen, welches die Datenblockgrenze angibt. In diesem Fall ist es vor einer Decodierung der Datenpakete notwendig, die Datenpakete solange zwischenzuspeichern, bis die Positionen der Datenpakete innerhalb der einzelnen Datenblöcke bzw. die Grenzen der verschiedenen Datenblöcke rekonstruiert werden können.
  • Somit liegt der Erfindung die Aufgabe zugrunde, die Rekonstruktion der Grenzen der Datenblöcke zu erleichtern.
  • Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Patentansprüche gelöst. Weiterbildungen der Erfindung ergeben sich auch aus den abhängigen Patentansprüchen.
  • Zur Lösung der Aufgabe wird ein Verfahren zur Codierung einer Folge von digitalen Daten angegeben. Ein Teil dieser Folge von digitalen Daten entspricht einem Datenblock und umfasst mehrere Datenpakete. Mindestens zwei Datenpakete pro Datenblock umfassen jeweils eine Kennung, anhand derer die Position des Datenpakets innerhalb des zugehörigen Datenblocks be stimmt wird. Die Daten werden unter Berücksichtigung dieser Kennung codiert.
  • Darüber hinaus wird die Aufgabe durch ein Verfahren zur Decodierung einer Folge von digitalen Daten gelöst. Ein Teil dieser Folge von digitalen Daten entspricht einem Datenblock und umfasst mehrere Datenpakete. Mindestens zwei Datenpakete pro Datenblock umfassen jeweils eine Kennung, anhand derer die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmt wird. Die Daten werden unter Berücksichtigung dieser Kennung decodiert.
  • Ein Vorteil der Erfindung besteht darin, dass die Positionen der empfangenen Datenpakete innerhalb des zugehörigen Datenblocks zu Beginn der Datenübertragung und/oder bei Verlust von Datenpaketen anhand der Kennung unmittelbar bestimmt werden können. Dadurch ist auch eine Echtzeitanwendung, z.B. Bildtelephonie oder jede andere Multimediaanwendung, ablauffähig, da der Aufwand für die Zwischenspeicherung der Daten erheblich reduziert wird. So kann in der Decodiereinrichtung auch die Größe des Zwischenspeichers für die Daten deutlich reduziert werden oder sogar ganz entfallen.
  • Eine Weiterbildung besteht darin, dass die Folge digitaler Daten eine Folge progressiv codierter Daten (=progressive Daten), z.B. progressiv codierte Bilder oder Bilddatenströme, umfasst, wobei die progressiven Daten auch Bilddaten sein können. Progressive Daten sind bezüglich ihres Detaillierungsgrades zeitlich gestaffelt, d.h. anfangs wird bspw. das Bild in einer groben Auflösung übertragen, so dass es zwar darstellbar ist, die Details aber weitgehend unkenntlich sind. Schrittweise werden Verfeinerungen des Bildes übertragen, so dass mit zunehmender Übertragungsdauer die Auflösung des Bildes immer besser wird.
  • Bei einer zusätzlichen Weiterbildung umfasst der Datenblock Redundanzinformation. So kann ein Fehlerkorrekturverfahren Datenfehler, die bei einer Übertragung aufgetreten sind, korrigieren und die Daten rekonstruieren.
  • Eine andere Weiterbildung besteht darin, dass anhand der Kennung der Datenpakete ein Anfang und ein Ende des Datenblocks ermittelt werden.
  • In einer zusätzlichen Weiterbildung umfassen die Datenpakete jeweils Information über die Datenblockbreite.
  • In einer anderen Weiterbildung werden die Kennung und die Information über die Datenblockbreite abwechselnd, insbesondere nach einem vorgebbaren Wiederholungsmuster, in einem Datenfeld übertragen. Dies ist vorteilhaft, da nur ein einzelnes Datenfeld für die Übertragung der Kennung und der Information über die Datenblockbreite benötigt wird und sich trotz der zusätzlichen Funktionalität die zu übertragende Datenmenge nicht erhöht.
  • Eine zusätzliche Weiterbildung besteht darin, dass die Anzahl von Datenpaketen mit Kennung derart vorgegeben wird, dass jedes n-te Datenpaket die Kennung erhält.
  • Eine andere Weiterbildung besteht darin, dass die Anzahl von Datenpaketen mit Kennung derart vorgegeben wird, dass das Datenfeld jedes n-ten Datenpakets die Kennung und ein Teil der restlichen Datenpakete jeweils in ihrem Datenfeld die Datenblockbreite umfassen.
  • In einer anderen Weiterbildung ist die vorgebbare Anzahl von Datenpaketen mit Kennung jedes zweite Datenpaket.
  • In einer zusätzlichen Weiterbildung ist der Datenblock ein Interleaver-Block. Dabei werden in der Codiereinrichtung die Daten z.B. zeilenweise in den Interleaver-Block eingelesen und z.B. spaltenweise aus dem Interleaver-Block ausgelesen und anschließend übertragen. Geht bei der Datenübertragung ein Datenpaket, d.h. eine Spalte des Interleaver-Blocks, verloren, so verteilt sich dieser Datenverlust über die Zeilen des Interleaver-Blocks. Beinhalten die Datenzeilen Redundanzinformation, so können diese Fehler bis zu einer bestimmten Anzahl mittels eines Fehlerkorrekturverfahrens korrigiert werden, wobei die Menge der Redundanzinformation direkt die Anzahl der korrigierbaren Fehler beeinflusst.
  • Eine zusätzliche Weiterbildung besteht darin, dass eine Reihenfolge der Datenblöcke identifizierbar ist, insbesondere anhand eines Zeitstempels oder anhand einer fortlaufenden Nummer. Der Zeitstempel ist eine digitale Kennzeichnung, die beispielsweise den Sendezeitpunkt eines Datums, hier des Datenblocks, angibt.
  • Eine zusätzliche Weiterbildung besteht darin, dass die Kennung zur Ermittlung der Position des Datenpakets innerhalb des Datenblocks eine Sequenznummer ist. Die Sequenznummer ist beispielsweise eine fortlaufende Nummerierung der Datenpakete. Als Anfangswert kann aus Gründen der Datensicherheit eine Zufallszahl oder auch eine Zahl „0" oder „1" gewählt werden.
  • In einer zusätzlichen Weiterbildung wird ein Real-time Transfer Protocol (RTP) verwendet. RTP stellt Dienste zur Verfügung, um Echtzeitdaten, beispielsweise Multimediadaten, zu übertragen. Zu diesen Diensten gehört die Vergabe von Zeitstempeln und von Sequenznummern an Datenpakete.
  • Im Rahmen dieser Weiterbildung wird die Sequenznummer des RTP verwendet, um die Kennung zur Ermittlung der Position des Datenpakets innerhalb des Datenblocks zu bestimmen.
  • Eine zusätzliche Weiterbildung besteht darin, dass ein Verfahren zum ungleichen Fehlerschutz, z.B. UXP, verwendet wird. So werden progressive Daten innerhalb eines Datenblocks jeweils mit einer unterschiedlichen Menge an Redundanzinformation versehen, um insbesondere zu berücksichtigen, dass die progressiven Daten einer darzustellenden Einheit, z.B. eines Bildes, aufeinander aufbauen, d.h. bei der Verteilung der Redundanzinformation sind die unterschiedlichen Stufen der Progression zu berücksichtigen. Viel Redundanzinformation ist zu Beginn der progressiven Daten zweckmäßig während mit zunehmender Detaillierung immer weniger Redundanzinformation vorgesehen werden kann. Die Anzahl der Datenpakete in einem Datenblock, die sogenannte Datenblockbreite, kann pro Datenblock variieren.
  • Zur Verwendung desselben Datenfeldes für die Kennung zur Ermittlung der Position des Datenpakets innerhalb des Datenblocks und für die Datenblockbreite, ist vorzugsweise die Größe der Kennung an die Größe dieses Datenfeldes anzupassen. Hat beispielsweise das Datenfeld für die Datenblockbreite eine Größe von 8 Bit und wird die Kennung aus einer 16 Bit langen Sequenznummer des RTP-Headers bestimmt, so kann aus der 16 Bit-Kennung eine 8 Bit-Kennung durch Weglassen der höherwertigen 8 Bit generiert werden.
  • Weiterhin wird zur Lösung der Aufgabe eine Anordnung zur Codierung einer Folge digitaler Daten angegeben. Bei dieser Anordnung ist eine Prozessoreinheit vorgesehen, die derart eingerichtet ist, dass ein Teil der Folge von digitalen Daten ein Datenblock ist und mehrere Datenpakete umfasst. Mindestens zwei Datenpakete pro Datenblock umfassen jeweils eine Kennung, anhand derer die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmbar ist. Die Daten sind unter Berücksichtigung der Kennung codierbar.
  • Darüber hinaus wird zur Lösung der Aufgabe eine Anordnung zur Decodierung einer Folge digitaler Daten angegeben. Bei dieser Anordnung ist eine Prozessoreinheit vorgesehen, die derart eingerichtet ist, dass ein Teil der Folge von digitalen Daten ein Datenblock ist und mehrere Datenpakete umfasst. Mindestens zwei Datenpakete pro Datenblock umfassen jeweils eine Kennung, anhand derer die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmbar ist. Die Daten sind unter Berücksichtigung der Kennung decodierbar.
  • Die Anordnungen sind insbesondere geeignet zur Durchführung der erfindungsgemäßen Verfahren oder einer deren vorstehend erläuterten Weiterbildungen.
  • Auch kann die Erfindung oder jede vorstehend beschriebene Weiterbildung durch ein Computerprogrammerzeugnis realisiert sein, welches ein Speichermedium aufweist, auf welchem ein Computerprogramm gespeichert ist, das auf einem Rechner ablaufbar ist und die Erfindung oder Weiterbildung ausführt.
  • Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnung dargestellt und erläutert.
  • Es zeigen
  • l eine Skizze, die das Prinzip eines Interleaver-Blocks veranschaulicht,
  • 2 eine Skizze, die ein Verfahren zur Codierung digitaler Daten veranschaulicht,
  • 3 eine Skizze, die ein Verfahren zur Decodierung digitaler Daten veranschaulicht,
  • 4 den Aufbau eines Übertragungspakets,
  • 5 eine Positionsbestimmung der Datenpakete innerhalb von Datenblöcken,
  • 6 den Aufbau eines Übertragungssystems,
  • 7 eine Prozessoreinheit.
  • In 1 ist eine Skizze gezeigt, die das Prinzip der Funktion eines Interleaver-Blocks veranschaulicht.
  • Eine progressive digitale Datenfolge 101 mit Daten 1 bis 12 ist beispielhaft in drei Verfeinerungsschritte aufgeteilt, wobei die Daten 1 bis 3 die wichtigsten Daten die Daten 4 bis 7 weniger wichtig sind und schließlich die Daten 8 bis 12 in diesem Beispiel die geringste Bedeutung innerhalb der progressiven Datenfolge 101 aufweisen.
  • Ein Interleaver-Block 102 umfasst 3 Zeilen und 6 Spalten. Pro Zeile des Interleaver-Blocks 102 werden die Daten eines Verfeinerungsschrittes in dem Interleaver-Block 102 abgelegt und zu den jeweiligen Daten eines Verfeinerungsschritts Redundanzinformation generiert und in dem Interleaver-Block 102 mit abgelegt. In l umfasst der Interleaver-Block drei Zeilen, in der ersten Zeile werden die Daten 1 bis 3 mit Redundanzinformationen R1, R2, R3, in einer zweiten Zeile werden die Daten 4 bis 7 mit Redundanzinformationen R4, R5 und in einer dritten Zeile werden die Daten 8 bis 12 mit Redundanzinformation R6 versehen. Somit können die Daten 1 bis 3 der ersten Zeile des Interleaver-Blocks 102 mit der größten Wahrscheinlichkeit (im Vergleich zu den Daten der jeweiligen anderen beiden Zeilen) rekonstruiert werden, da der ersten Zeile die größte Menge an Redundanzinformation zugeordnet wurde.
  • Auf diese Weise entsteht in dem Interleaver-Block 102 ein Redundanzprofil 110, welches aus der beschriebenen Verteilung der Daten 1 bis 12 und der erzeugten Redundanzinformationen R1 bis R6 innerhalb des Interleaver-Blocks 102 hervorgeht.
  • Nachfolgend werden die Daten 1 bis 12 zusammen mit den Redundanzinformationen R1 bis R6 spaltenweise aus dem Interleaver-Block 102 ausgelesen, wobei die Inhalte der Spalten jeweils zu einem Datenpaketen 103 bis 108 zusammengefasst werden: Das Datenpaket 103 umfasst die Daten 1, 4, 8, das Datenpaket 104 umfasst die Daten 2, 5, 9, das Datenpaket 105 umfasst die Daten 3, 6, 10, das Datenpaket 106 umfasst die Redundanzinformation R1 und die Daten 7, 11, das Datenpaket 107 umfasst die Redundanzinformationen R2, R4 und die Daten 12 und das Datenpaket 108 umfasst die Redundanzinformationen R3, R5, R6.
  • Eine ausgelesene Datenfolge 109 lautet damit: {1, 4, 8}, {2, 5, 9}, {3, 6, 10}, {R1, 7, 11}, {R2, R4, 12}, {R3, R5, R6}.
  • In 2 ist eine Skizze gezeigt, die ein Verfahren zur Codierung digitaler Daten veranschaulicht.
  • Eine Folge von progressiven Daten 201, die hier exemplarisch aus einem Datenblock besteht, wird einer Codiereinheit 202 zugeführt, die eine Optimiereinheit 203 und eine Verpackungseinheit 210 umfasst. Zunächst wird die Folge 201 der Optimiereinheit 203 zugeführt und dort analysiert. Die Analyse liefert eine Struktur der Progression der Daten, anhand der eine Größe eines Interleaver-Blocks 204 und sowie ein Redundanzprofil 205 bestimmt werden. Das Redundanzprofil 205 gehört zu administrative Daten 206, die zur Auswertung des Interleaver-Blocks 204 beim Empfänger notwendig sind. In der Optimiereinheit 203 werden Redundanzinformation 207 für die administrativen Daten 206 und Redundanzinformationen 208, 209 für die digitalen Daten 201 generiert, wobei umso mehr Redundanzinformation vorgesehen wird, je wichtiger die Daten sind, d.h. u.a. abhängig vom Verfeinerungsschritt der Progression (siehe obige Ausführungen).
  • In den Interleaver-Block 204 werden zuerst die administrativen Daten 206 abgelegt und diesen die meiste Redundanzinformation 207 zugeordnet, um bspw. möglichst viele Übertragungsfehler korrigieren zu können. Nachfolgend wird der Interleaver-Block 204 mit den progressiven Daten 201 und zugehöriger Redundanzinformation 208 und 209 zeilenweise aufgefüllt.
  • Ist der Interleaver-Block 204 mit Daten und Redundanzinformation gefüllt, so wird der Inhalt des Interleaver-Blocks 204, wie anhand 1 erläutert, spaltenweise ausgelesen und der Verpackungseinheit 210 zugeführt. In der Verpackungseinheit 210 ist beispielhaft das Verpacken des Inhalts einer Spalte 211 des Interleaver-Blocks 204 gezeigt. So wird das Datenpaket 211, welches den Daten der Spalte 211 entspricht, mit einem Header 217 versehen und zu einem Datenpaket 218 zusammengefasst, welches im folgenden als Übertragungspaket 218 bezeichnet wird.
  • Der Header 217 umfasst ein Feld 219, das eine Sequenznummer für das Übertragungspaket 218 enthält. Zudem umfasst der Header 217 ein Feld 220, in dem abwechselnd eine Kennung, anhand derer die Position des Datenpakets 211 innerhalb des jeweiligen Interleaver-Blocks 204 bestimmt werden kann, oder eine Breite des jeweiligen Interleaver-Blocks 204 angegeben wird. Auch umfasst der Header 217 ein Feld 221, in dem ein Zeitstempel für den jeweiligen Interleaver-Block 204 angegeben wird, wobei jeder Interleaver-Block einer Bildfolge einen anderen Wert als Zeitstempel erhält, so dass einzelne Interleaver-Blöcke voneinander unterscheidbar sind. Hierbei sei angemerkt, dass die Folge digitaler Daten 201 mehrere progressiv codierte Einheiten umfasst, wobei vorzugsweise je eine solche Einheit in einem Interleaver-Block abgelegt wird. Die Interleaver-Blöcke können je nach progressiv codierter Einheit in ihrer Größe variieren. Vorzugsweise werden einzelne Bilder der Folge digitaler Daten 201 progressiv codiert.
  • Analog zu Spalte 211 werden die restlichen Spalten 212 bis 216 des Interleaver-Blocks 204 zu Übertragungspaketen 222 bis 226 verpackt und zusammen mit Übertragungspaket 218 übertragen. Somit ergibt sich eine codierte Datenfolge 228, die einem Datenblock 227 entspricht. Dieser Datenblock 227 wird auch als Übertragungsblock bezeichnet.
  • In 3 ist ein Verfahren zur Decodierung digitaler Daten dargestellt.
  • Eine Folge von digitalen Daten 301 enthält einen Datenblock 302, der mehrere Übertragungspakete 303 bis 308 umfasst, wobei jedes Übertragungspaket einen Header und ein Datenpaket aufweist.
  • So umfasst das Übertragungspaket 303 einen Header 309 und ein Datenpaket 315, das Übertragungspaket 304 einen Header 310 und ein Datenpaket 316, das Übertragungspaket 305 einen Header 311 und ein Datenpaket 317, das Übertragungspaket 306 einen Header 312 und ein Datenpaket 318, das Übertragungspaket 307 einen Header 313 und ein Datenpaket 319 und das Übertragungspaket 308 einen Header 314 und ein Datenpaket 320. Die Folge digitaler Daten, die insbesondere über einen gestörten Übertragungskanal empfangen wurde, wird einer Decodiereinheit zugeführt, die eine Entpackungseinheit 322 und eine Auswerteeinheit 325 beinhaltet.
  • Zunächst werden die Übertragungspakete 303 bis 308 der Entpackungseinheit 322 zugeführt und die Datenpakete 315 bis 320 ausgepackt. Für die Entpackungseinheit 322 ist beispielhaft das Auspacken des Datenpakets 315 aus dem Übertragungspakets 303 gezeigt. So wird zunächst der Header 309 des Übertragungspakets 303 ausgewertet anhand dieses Headers 309, insbesondere anhand der in dem Header enthaltenen Kennung 323, die Spalten-Position des Datenpakets 315 innerhalb eines Interleaver-Blocks 324 bestimmt. Die Problematik der Positionsbestimmung wird nachfolgend in 5 eingehend erläutert.
  • Das Übertragungspaket 303 wird solange in der Entpackungseinheit 322 zwischengespeichert, bis die Position des Datenpakets 315 in dem Interleaver-Block 324 bestimmt werden kann.
  • War die Bestimmung der Position des Datenpakets 315 innerhalb des Interleaver-Blocks 324 möglich, so wird das Datenpaket 315 als Spalte in dem Interleaver-Block 324 der Auswerteeinheit 325 abgelegt. Entsprechend wird der Interleaver-Block 324 mit den Datenpaketen 316 bis 320 spaltenweise aufgefüllt.
  • Anschließend wird der Inhalt des Interleaver-Blocks 324 zeilenweise ausgewertet, z.B. die Bildinformation ausgelesen. Daten 326 umfassen administrative Informationen, anhand derer ein Redundanzprofil 327 für den Interleaver-Block 324 konstruiert werden kann. Mit dem Redundanzprofil ist die Grenze zwischen Inhaltsinformationen, sei es administrativer Art (siehe Daten 326) oder reine Bilddaten (siehe Daten 331) bestimmt.
  • Sind die Datenpakete 315 bis 320 des Interleaver-Blocks 324 z.B. wegen fehlerhafter Übertragung verloren gegangen, so können diese Fehler (bis zu einer gewissen Häufigkeit, deren obere Grenze durch die Menge der Übertragenen Redundanzinformationen festgelegt ist) durch ein Fehlerkorrekturverfahren in der Auswerteeinheit 325 mit Hilfe der Redundanzinformationen 328, 329 und 330 korrigiert werden, wobei bspw. (nur) der Verlust des Datenpakets 316 bedingt, dass eine Spalte des Interleaver-Blocks 324 wiederhergestellt werden muss, was bei der erläuterten Anordnung der Redundanzinformation zeilenweise möglich ist, wobei insbesondere aufgrund der Progression der Daten sichergestellt sein kann, dass wichtige Daten in dem Datenpaket 316 rekonstruiert werden können, auf unwichtige ggf. verzichtet werden kann, ohne dass die Funktionsfähigkeit des Verfahrens gefährdet wäre. Die ausgelesene digitale Datenfolge 332 kann in einem Bilddecoder, insbesondere einem nach einem Bildkomprimierungs-Standard, wie z.B. MPEG1, MPEG2, MPEG4, H.261, H.263, H.26L, arbeitenden Decoder, weiterverarbeitet werden.
  • In 4 ist der Aufbau eines Übertragungspakets dargestellt. Ein Übertragungspaket 401 eines Übertragungsblocks 402 umfasst einen Header 403 und ein Datenfeld 404, das ein Datenpaket 405 enthält. Der Header 403 umfasst ein Sequenz nummernfeld 406, in dem eine Sequenznummer 407 des Übertragungspakets 401 angegeben wird, ein Kennzeichnungsfeld 408, in dem entweder eine Kennung 409 zur Positionsbestimmung des Datenpakets 405 innerhalb des Datenblocks 413 oder eine Breite 410 des Übertragungsblocks 402 angegeben wird und ein Zeitstempelfeld 411, in dem der Wert 412 eines Zeitstempels des Übertragungsblocks 402 angegeben wird.
  • In 5 ist eine Positionsbestimmung der Datenpakete innerhalb von Datenblöcken anhand einer Kennung gezeigt.
  • Nachfolgend wird gemäß der Nomenklatur der vorangegangen Figuren von einer Positionsbestimmung der Übertragungspakete innerhalb der Übertragungsblöcke ausgegangen. Der Übertragungsblock umfasst mehrere Übertragungspakete, wobei jedes Übertragungspaket einen Header und ein Datenpaket aufweist (siehe Beschreibung zu 2). Ein Datenblock hingegen ergibt sich aus den Datenpaketen des jeweiligen Blocks. Somit umfasst der Übertragungsblock die Übertragungspakete (siehe 4, 401) einschließlich ihrer jeweiligen Header (siehe 4, 403). Die Informationen dieser Header ist zur erwähnten Positionsbestimmung wesentlich.
  • Eine Datenfolge 501 umfasst Übertragungsblöcke 502, 503, 504 und 505, wobei der Übertragungsblock 502 Übertragungspakete 506 bis 513, der Übertragungsblock 503 Übertragungspakete 514 bis 519, der Übertragungsblock 504 Übertragungspakete 520 bis 525 und der Übertragungsblock 505 Übertragungspakete 526 bis 529 umfasst. Der Aufbau jedes Übertragungspakets ist in 4 beschrieben. Für die Nomenklatur der einzelnen Felder sei daher auf die Beschreibung der 4 verwiesen.
  • Die zu dem Übertragungsblock 502 gehörenden Übertragungspakete 506 bis 513 sind jeweils im Zeitstempelfeld 411 mit einem Zeitstempelwert „A" gekennzeichnet, die zu Übertragungsblock 503 gehörenden Übertragungspakete 514 bis 519 sind jeweils im Zeitstempelfeld 411 mit einem Zeitstempelwert „B" gekenn zeichnet, die zu Übertragungsblock 504 gehörenden Übertragungspakete 520 bis 525 sind jeweils im Zeitstempelfeld 411 mit einem Zeitstempelwert „C" gekennzeichnet und die zu Übertragungsblock 504 gehörenden Übertragungspakete 526 bis 529 sind jeweils im Zeitstempelfeld 411 mit einem Zeitstempelwert „D" gekennzeichnet. Die Übertragungspakete 506 bis 529 beinhalten in ihrem Sequenznummernfeld 406 eine fortlaufende Sequenznummer 407, die für das Übertragungspaket 506 beispielhaft mit „10" beginnt und für das Übertragungspaket 529 mit „33" endet .
  • In ihrem jeweiligen Kennzeichnungsfeld beinhalten die Übertragungspakete mit geradzahliger Sequenznummer 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528 die Kennung zur Positionsbestimmung des Übertragungspakets innerhalb des zugehörigen Übertragungsblocks, wobei hier die Kennung aus der Sequenznummer des jeweils ersten Übertragungspakets im Übertragungsblock besteht, d.h. die Übertragungspakete 506, 508, 510, 512 beinhalten im Kennzeichnungsfeld 408 den Wert „10", die Übertragungspakete 514, 516, 518 beinhalten im Kennzeichnungsfeld 408 den Wert „18", die Übertragungspakete 520, 522, 524 beinhalten im Kennzeichnungsfeld 408 den Wert „24" und die Übertragungspakete 526, 528 beinhalten im Kennzeichnungsfeld 408 den Wert „30". In dem Kennzeichnungsfeld 408 beinhalten die Übertragungspakete mit ungeradzahliger Sequenznummer 507, 509, 511, 513, 515, 517, 519, 521, 523, 525, 527, 529 die jeweilige Übertragungsblockbreite 410, d.h. die Übertragungspakete 507, 509, 511, 513 beinhalten im Kennzeichnungsfeld 408 den Wert „8" für die Breite des Übertragungsblocks 502, die Übertragungspakete 515, 517, 519 beinhalten im Kennzeichnungsfeld den Wert „6" für die Breite des Übertragungsblocks 503, die Übertragungspakete 521, 523, 525 beinhalten im Kennzeichnungsfeld den Wert „6" für die Breite des Übertragungsblocks 504 und die Übertragungspakete 527, 529 beinhalten im Kennzeichnungsfeld 408 den Wert „4" für die Breite des Übertragungsblocks 505.
  • In 5 wird angenommen, dass die Übertragungspakete 507, 508 und 512 des Übertragungsblocks 502, die Übertragungspakete 514 bis 519, also der gesamte Übertragungsblock 503, die Übertragungspakete 521 und 525 des Übertragungsblocks 504 und das Übertragungspaket 526 des Übertragungsblocks 505, bei der Datenübertragung verloren gegangen sind. Verlorengegangene Übertragungspakete werden in 5 durch ein „X" in dem jeweiligen Sequenznummernfeld gekennzeichnet.
  • Da das letzte Übertragungspaket 519 des Übertragungsblocks 503 nicht empfangen wurde und da die Übertragungsblöcke 502 bis 505 unterschiedliche Übertragungsblockbreiten aufweisen, ist es nicht möglich, den Anfang von Übertragungsblock 504 aus dem Wechsel der Zeitstempelwert „B" zu „C" zu bestimmen, weil sowohl das Übertragungspaket 520, als auch eines der Übertragungspakete 514 bis 519 das erste Übertragungspaket im Übertragungsblock 504 sein könnten. Da die Grenze zwischen Übertragungsblock 503 und Übertragungsblock 504 nicht eindeutig bestimmbar ist, kann ohne oben beschriebene Kennung den empfangenen Übertragungspaketen 520, 522, 523 und 524 ihre Position innerhalb des Übertragungsblocks 504 nicht eindeutig zugewiesen werden. Ist auch das letzte Übertragungspaket 525 des Übertragungsblocks 504 und das erste Übertragungspaket 526 des Übertragungsblocks 505 verloren gegangen, kann ohne Kennung auch das Ende des Übertragungsblocks 504 aus dem Wechsel der Zeitstempelwerte „C" zu „D" nicht eindeutig bestimmt werden, so dass es nötig ist, mehr als einen Übertragungsblock zwischenzuspeichern, bevor die Daten decodiert werden können.
  • Mit der Kennung im Kennzeichnungsfeld ist es nun möglich, bei Empfang des Übertragungspakets 520 die Sequenznummer „24" und die Kennung „24" miteinander zu vergleichen, woraus folgt, dass es sich hierbei um das erste Übertragungspaket des Übertragungsblocks 504 handelt, da die Kennung „24" mit der Sequenznummer „24" übereinstimmt. Somit können die empfangenen Übertragungspakete 520, 522, 523 und 524 des Übertragungs blocks 504 direkt an der richtigen Positionen innerhalb des Übertragungsblocks 504 abgelegt werden und es ist nicht nötig, diese Übertragungspakete länger zwischenzuspeichern. Geht auch noch das Übertragungspaket 520 mit der Sequenznummer „24" verloren, so kann aus der Kennung „24" des empfangenen Übertragungspakets 522 mit der Sequenznummer „26" sofort die Position dieses Übertragungspakets im Übertragungsblock 504 berechnet werden: 26 – 24 = 2, d.h. es befinden sich in dem Übertragungsblock 504 zwei Übertragungspakete 520 und 521, das empfangene Übertragungspaket 522 ist somit das dritte Übertragungspaket des Übertragungsblocks 504. Auch in diesem Fall ist keine weitere Zwischenspeicherung von Übertragungspaketen des betroffenen Übertragungsblocks notwendig.
  • In 5 ist als Kennung die Sequenznummer des ersten Übertragungspakets im jeweiligen Übertragungsblock gewählt worden. Weitere Möglichkeiten bestehen darin, als Kennung den Abstand zum ersten oder letzten Übertragungspaket im jeweiligen Übertragungsblock zu verwenden.
  • Als weiteres Ausführungsbeispiel wird das 8 Bit lange Datenfeld für die Übertragungsblockbreite aus UXP verwendet, um abwechselnd die Übertragungsblockbreite und die Kennung in den Übertragungspaketen anzugeben. Die Kennung wird aus der 16 Bit langen Sequenznummer des RTP bestimmt, indem die Sequenznummer des ersten Übertragungspakets des jeweiligen Übertragungsblocks von 16 Bit auf 8 Bit reduziert wird. Dies wird beispielsweise dadurch erreicht, dass die höherwertigen zwei Stellen des Hexadezimalcodes gestrichen werden, z.B. von 0×DC36 auf 0×36.
  • In 6 ist der Aufbau eines Übertragungssystems S dargestellt. Das Übertragungssystem S umfasst eine Kamera K, einen Encoder C, einen fehlerbehafteten (gestörten) Übertragungskanal Ü, einen Decoder D und ein Anzeigegerät F. Bilddaten, die von der Kamera K erzeugt werden, werden in dem Encoder C codiert, über den gestörten Übertragungskanal Ü übertragen, von dem Decoder D decodiert und von dem Anzeigegerät F dargestellt. Insbesondere arbeitet der Encoder C und/oder der Decoder D konform nach einem Bildkomprimierstandard, wie z.B. MPEG1, MPEG2, MPEG4, H.261, H.263, H.26L. Encoder und/oder Deocder arbeiten insbesondere unter Berücksichtigung des erfindungsgemäßen Verfahrens.
  • In 7 ist eine Prozessoreinheit PRZE dargestellt. Die Prozessoreinheit PRZE umfasst einen Prozessor CPU, einen Speicher MEM und eine Input/Output-Schnittstelle IOS, die über ein Interface IFC auf unterschiedliche Art und Weise genutzt wird Über eine Grafikschnittstelle wird eine Ausgabe auf einem Monitor MON sichtbar und/oder auf einem Drucker PRT ausgegeben. Eine Eingabe erfolgt über eine Maus MAS oder eine Tastatur TAST. Auch verfügt die Prozessoreinheit PRZE über einen Datenbus BUS, der die Verbindung von einem Speicher MEM, dem Prozessor CPU und der Input/Output-Schnittstelle IOS gewährleistet. Weiterhin sind an den Datenbus BUS zusätzliche Komponenten anschließbar, z.B. zusätzlicher Speicher, Datenspeicher (Festplatte) oder Scanner.
  • Literaturverzeichnis:
    • [1] H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson: „RTP: A Transport Protocol for Real Time Applications", Kapitel 5.1, RFC 1889, Internet Engineering Task Force, January 1996 (Internet-Adresse vom 28.03.2002: http://www.freesoft.org/CIE/RFC/1889)
    • [2] A. Falkenberg: „Kodier-/Dekodiervorrichtung zum Durchführen eines Block-Interleaving/Deinterleaving", Patentschrift DE 198 44 140 C1
    • [3] Duden Informatik, S. 553, Dudenverlag 2001 [4] C. Schuler: "Design and Implementation of an Adaptive Error Control Protocol", Kapitel 2.1, GMD Research Series; 1999, No. 21 (Internet-Adresse vom 25.04.2002: http://www.gmd.de/publications/research/1999/021/)
    • [5] G. Bäse, G. Liebl: „Generic erasure protection with inband signaling of protection profiles", ITU-Telecommunication Standardization Sector, H.323 Annex I, November 2000 (Internet-Adresse vom 08.04.2002: http://standards.pictel.com/ftp/avcsite/till 0012/0011 Gen/APC-1992.zip)

Claims (21)

  1. Verfahren zur Codierung einer Folge von digitalen Daten, – bei dem ein Teil der Folge von digitalen Daten einem Datenblock entspricht, – bei dem der Datenblock mehrere Datenpakete umfasst, – bei dem mindestens zwei Datenpakete pro Datenblock jeweils eine Kennung umfassen, wobei anhand der Kennung die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmt wird, und – bei dem die Daten unter Berücksichtigung der Kennung codiert werden.
  2. Verfahren zur Decodierung einer Folge von digitalen Daten, – bei dem ein Teil der Folge von digitalen Daten einem Datenblock entspricht, – bei dem der Datenblock mehrere Datenpakete umfasst, – bei dem mindestens zwei Datenpakete pro Datenblock jeweils eine Kennung umfassen, wobei anhand der Kennung die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmt wird, und – bei dem die Daten unter Berücksichtigung der Kennung decodiert werden.
  3. Verfahren nach Anspruch 1 oder 2, bei dem die Folge digitaler Daten eine Folge von progressiven Daten umfasst.
  4. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Folge digitaler Daten eine Folge von digitalen Bilddaten umfasst.
  5. Verfahren nach einem der vorangehenden Ansprüche, bei dem der Datenblock Redundanzinformation umfasst.
  6. Verfahren nach einem der vorangehenden Ansprüche, bei dem anhand der Kennung ein Anfang und ein Ende des Datenblocks ermittelt wird.
  7. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Datenpakete Information über die Datenblockbreite umfassen.
  8. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Kennung und die Information über die Datenblockbreite abwechselnd, insbesondere nach einem vorgebbaren Wiederholungsmuster, in einem Datenfeld übertragen werden.
  9. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Anzahl von Datenpaketen mit Kennung derart vorgegeben wird, dass jedes n-te Datenpaket die Kennung erhält.
  10. Verfahren nach einem der Ansprüche 1 bis 8, bei dem die Anzahl von Datenpaketen mit Kennung derart vorgegeben wird, dass das Datenfeld jedes n-ten Datenpakets die Kennung und ein Teil der restlichen Datenpakete jeweils in ihrem Datenfeld die Datenblockbreite umfassen.
  11. Verfahren nach einem der vorangehenden Ansprüche, beidem die mindestens zwei Datenpakete mit Kennung jedes zweite Datenpaket sind.
  12. Verfahren nach einem der vorangehenden Ansprüche, bei dem der Datenblock ein Interleaver-Block ist.
  13. Verfahren nach einem der vorangehenden Ansprüche, bei dem eine Reihenfolge der Datenblöcke bestimmt wird.
  14. Verfahren nach Anspruch 13, bei dem eine Reihenfolge der Datenblöcke anhand mindestens eines der folgenden Kriterien bestimmt wird: – eines Zeitstempels, – einer fortlaufenden Nummer.
  15. Verfahren nach einem der vorangehenden Ansprüche, bei dem als Protokoll ein Real-time Transfer Protocol (RTP) verwendet wird.
  16. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Kennung zur Ermittlung der Position des Datenpakets innerhalb des Datenblocks eine Sequenznummer ist.
  17. Verfahren nach Anspruch 15, bei dem die Kennung zur Ermittlung der Position des Datenpakets innerhalb des Datenblocks aus der Sequenznummer des RTP ermittelt wird.
  18. Verfahren nach einem der vorangehenden Ansprüche, bei dem ein Verfahren zum ungleichen Fehlerschutz verwendet wird.
  19. Verfahren nach Anspruch 18, bei dem das Verfahren zum ungleichen Fehlerschutz ein UXP-Verfahren ist.
  20. Anordnung zur Codierung einer Folge digitaler Daten, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, dass – ein Teil der Folge von digitalen Daten ein Datenblock ist, – der Datenblock mehrere Datenpakete umfasst, – mindestens zwei Datenpakete pro Datenblock jeweils eine Kennung umfassen, wobei anhand der Kennung die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmt wird, und – die Daten mit diesem Mittel unter Berücksichtigung der Kennung codierbar sind.
  21. Anordnung zur Decodierung einer Folge digitaler Daten, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, dass – ein Teil der Folge von digitalen Daten ein Datenblock ist, – der Datenblock mehrere Datenpakete umfasst, – mindestens zwei Datenpakete pro Datenblock jeweils eine Kennung umfassen, wobei anhand der Kennung die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmt wird, und – die Daten mit diesem Mittel unter Berücksichtigung der Kennung decodierbar sind.
DE10227165A 2002-06-18 2002-06-18 Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten Withdrawn DE10227165A1 (de)

Priority Applications (11)

Application Number Priority Date Filing Date Title
DE10227165A DE10227165A1 (de) 2002-06-18 2002-06-18 Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten
EP03759848A EP1514375B1 (de) 2002-06-18 2003-06-12 Verfahren und anordnung zur codierung bzw. decodierung einer folge digitaler daten
AT03759848T ATE352916T1 (de) 2002-06-18 2003-06-12 Verfahren und anordnung zur codierung bzw. decodierung einer folge digitaler daten
CNB038141965A CN100454802C (zh) 2002-06-18 2003-06-12 用于对数字数据序列进行编码以及解码的方法和装置
US10/518,960 US20050242973A1 (en) 2002-06-18 2003-06-12 Method and arrangement for encoding or decoding a sequence of digital data
PCT/DE2003/001953 WO2003107581A2 (de) 2002-06-18 2003-06-12 Verfahren und anordnung zur codierung bzw. decodierung einer folge digitaler daten
DE50306385T DE50306385D1 (de) 2002-06-18 2003-06-12 Verfahren und anordnung zur codierung bzw. decodierung einer folge digitaler daten
AU2003250259A AU2003250259A1 (en) 2002-06-18 2003-06-12 Method and arrangement for encoding or decoding a sequence of digital data
ES03759848T ES2277115T3 (es) 2002-06-18 2003-06-12 Procedimiento y sistema para codificar y decodificar una secuencia de datos digitales.
US12/270,397 US7861145B2 (en) 2002-06-18 2008-11-13 Method and system for encoding or decoding a sequence of digital data
US12/371,560 US7861144B2 (en) 2002-06-18 2009-02-13 Method and system for encoding or decoding a sequence of digital data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10227165A DE10227165A1 (de) 2002-06-18 2002-06-18 Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten

Publications (1)

Publication Number Publication Date
DE10227165A1 true DE10227165A1 (de) 2004-01-29

Family

ID=29723230

Family Applications (2)

Application Number Title Priority Date Filing Date
DE10227165A Withdrawn DE10227165A1 (de) 2002-06-18 2002-06-18 Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten
DE50306385T Expired - Lifetime DE50306385D1 (de) 2002-06-18 2003-06-12 Verfahren und anordnung zur codierung bzw. decodierung einer folge digitaler daten

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE50306385T Expired - Lifetime DE50306385D1 (de) 2002-06-18 2003-06-12 Verfahren und anordnung zur codierung bzw. decodierung einer folge digitaler daten

Country Status (8)

Country Link
US (3) US20050242973A1 (de)
EP (1) EP1514375B1 (de)
CN (1) CN100454802C (de)
AT (1) ATE352916T1 (de)
AU (1) AU2003250259A1 (de)
DE (2) DE10227165A1 (de)
ES (1) ES2277115T3 (de)
WO (1) WO2003107581A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006079442A1 (de) * 2005-01-27 2006-08-03 Siemens Aktiengesellschaft Fehlerschutzverfahren und fehlerkorrekturverfahren sowie fehlerschutzvorrichtung und fehlerkorrekturvorrichtung
DE102006030289A1 (de) * 2006-06-30 2008-01-10 Siemens Ag Verfahren und Enkodiervorrichtung zum Generieren eines Endblocks mittels eines zumindest zweistufigen Fehlerschutzes für einen ersten Datenblock, sowie Verfahren und Dekodiervorrichtung zum Rekonstruieren eines ersten Datenblocks aus einem Endblock und ein Endblock

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10227165A1 (de) * 2002-06-18 2004-01-29 Siemens Ag Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten
DE102004045000A1 (de) 2004-09-16 2006-03-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sender zum Senden von Informationsdaten und Empfänger zum Empfangen von Informationsdaten
US7698290B2 (en) * 2005-09-01 2010-04-13 Nippon Telegraph And Telephone Corporation Error correction method and apparatus
US20100298694A1 (en) 2008-12-24 2010-11-25 Marrouche Nassir F Stroke risk assessment
JP5442131B2 (ja) * 2009-11-25 2014-03-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 記述ファイルに基づいた個別データ通信
FR2968869A1 (fr) * 2010-12-10 2012-06-15 Alcatel Lucent Procede de transmission d'un service dans un reseau de communications mobiles
US9713436B2 (en) 2011-10-31 2017-07-25 University Of Utah Research Foundation Patient specific scan parameters for MRI scanning
US10289384B2 (en) 2014-09-12 2019-05-14 Oracle International Corporation Methods, systems, and computer readable media for processing data containing type-length-value (TLV) elements
US10193802B2 (en) 2016-09-13 2019-01-29 Oracle International Corporation Methods, systems, and computer readable media for processing messages using stateful and stateless decode strategies
US10341411B2 (en) * 2017-03-29 2019-07-02 Oracle International Corporation Methods, systems, and computer readable media for providing message encode/decode as a service
US11561997B2 (en) 2019-03-13 2023-01-24 Oracle International Corporation Methods, systems, and computer readable media for data translation using a representational state transfer (REST) application programming interface (API)
US11095691B2 (en) 2019-06-26 2021-08-17 Oracle International Corporation Methods, systems, and computer readable media for establishing a communication session between a public switched telephone network (PSTN) endpoint and a web real time communications (WebRTC) endpoint

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774469A (en) * 1996-04-01 1998-06-30 Telefonaktiebolaget Lm Ericsson Combined minicell alignment and header protection method and apparatus

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4058838A (en) * 1976-11-10 1977-11-15 International Telephone And Telegraph Corporation Packet-switched facsimile communications system
USRE31182E (en) * 1976-11-10 1983-03-15 International Telephone And Telegraph Corporation Packet-switched data communication system
US4058672A (en) * 1976-11-10 1977-11-15 International Telephone And Telegraph Corporation Packet-switched data communications system
US4493021A (en) * 1981-04-03 1985-01-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Multicomputer communication system
US5200864A (en) * 1989-06-28 1993-04-06 International Business Machines Corporation Combining small records into a single record block for recording on a record media
US5274772A (en) * 1989-06-28 1993-12-28 International Business Machines Corporation Data processing systems having means for selectively combining records into signal blocks for recording in a record medium
US5335328A (en) * 1989-06-28 1994-08-02 International Business Machines Corporation Methods for recording and reading data from a record member having data in any one of a plurality of block formats including determining length of records being transferred
JPH087664B2 (ja) * 1991-07-22 1996-01-29 富士通株式会社 磁気テープシステム
US5805762A (en) * 1993-01-13 1998-09-08 Hitachi America, Ltd. Video recording device compatible transmitter
EP0823153A4 (de) * 1995-04-27 1999-10-20 Stevens Inst Technology Transportverfahren mit hoher integrität für zeitkritische multimedia-netzwerkanwendungen
DE69631182T2 (de) * 1995-04-28 2004-08-19 Matsushita Electric Industrial Co., Ltd., Kadoma Datenübertragungsverfahren
US6577646B2 (en) * 1995-04-28 2003-06-10 Matsushita Electric Industrial Co., Ltd. Data transmitting apparatus, data receiving apparatus and data transmission control apparatus
GB2301752B (en) * 1995-06-02 2000-03-29 Dsc Communications Control message transmission in telecommunications systems
US5754754A (en) * 1995-07-26 1998-05-19 International Business Machines Corporation Transmission order based selective repeat data transmission error recovery system and method
DE19614739A1 (de) * 1996-04-15 1997-10-16 Bosch Gmbh Robert Fehlerrobustes Multiplexverfahren mit HEADER-Kontrollfeld
US5859853A (en) * 1996-06-21 1999-01-12 International Business Machines Corporation Adaptive packet training
JP3731283B2 (ja) * 1997-04-01 2006-01-05 ソニー株式会社 信号処理回路およびその方法
US6175871B1 (en) * 1997-10-01 2001-01-16 3Com Corporation Method and apparatus for real time communication over packet networks
US6366959B1 (en) * 1997-10-01 2002-04-02 3Com Corporation Method and apparatus for real time communication system buffer size and error correction coding selection
DE69826205T2 (de) * 1997-10-15 2005-01-27 Matsushita Electric Industrial Co., Ltd., Kadoma Optische Platte
US6680944B1 (en) * 1998-03-09 2004-01-20 Sony Corporation Apparatus for and method of predictive time stamping of isochronous data packets transmitted over an IEEE 1394-1995 serial bus network
US6115325A (en) * 1998-04-20 2000-09-05 Syntron, Inc. Variable length data field in a seismic data stream
DE19844140C1 (de) 1998-09-25 2000-07-06 Siemens Ag Kodier-/Dekodiervorrichtung zum Durchführen eines Block-Interleaving/Deinterleaving
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6530057B1 (en) * 1999-05-27 2003-03-04 3Com Corporation High speed generation and checking of cyclic redundancy check values
US7000031B2 (en) * 2000-04-07 2006-02-14 Broadcom Corporation Method of providing synchronous transport of packets between asynchronous network nodes in a frame-based communications network
US6751238B1 (en) * 2000-04-20 2004-06-15 Aztech Partners, Inc. Phase re-alignment of SONET/SDH network switch without pointer manipulation
DE10227165A1 (de) * 2002-06-18 2004-01-29 Siemens Ag Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774469A (en) * 1996-04-01 1998-06-30 Telefonaktiebolaget Lm Ericsson Combined minicell alignment and header protection method and apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PERKINS,C.: Effects of Interleaving on RTP Header Compression. In: IEEE INFOCOM 2000,Seiten 111-117 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006079442A1 (de) * 2005-01-27 2006-08-03 Siemens Aktiengesellschaft Fehlerschutzverfahren und fehlerkorrekturverfahren sowie fehlerschutzvorrichtung und fehlerkorrekturvorrichtung
DE102006030289A1 (de) * 2006-06-30 2008-01-10 Siemens Ag Verfahren und Enkodiervorrichtung zum Generieren eines Endblocks mittels eines zumindest zweistufigen Fehlerschutzes für einen ersten Datenblock, sowie Verfahren und Dekodiervorrichtung zum Rekonstruieren eines ersten Datenblocks aus einem Endblock und ein Endblock

Also Published As

Publication number Publication date
ATE352916T1 (de) 2007-02-15
WO2003107581A2 (de) 2003-12-24
US20050242973A1 (en) 2005-11-03
US20090144602A1 (en) 2009-06-04
US20090067450A1 (en) 2009-03-12
EP1514375B1 (de) 2007-01-24
US7861145B2 (en) 2010-12-28
US7861144B2 (en) 2010-12-28
CN100454802C (zh) 2009-01-21
EP1514375A2 (de) 2005-03-16
DE50306385D1 (de) 2007-03-15
ES2277115T3 (es) 2007-07-01
AU2003250259A1 (en) 2003-12-31
CN1663162A (zh) 2005-08-31
WO2003107581A3 (de) 2004-05-06

Similar Documents

Publication Publication Date Title
EP1514375B1 (de) Verfahren und anordnung zur codierung bzw. decodierung einer folge digitaler daten
EP0127136B1 (de) Verfahren zur Übertragung von digital codierten Analogsignalen
EP0910927B1 (de) Verfahren zum codieren und decodieren von stereoaudiospektralwerten
DE3005775C2 (de) Kodierverfahren für ein Farbbild
EP0276753B1 (de) Verfahren und Vorrichtung zur digitalen Nachrichtenübertragung und/oder -aufzeichnung und -wiedergabe
EP0827312A2 (de) Verfahren zur Änderung der Konfiguration von Datenpaketen
EP0554300B1 (de) Verfahren, coder und decoder zur datenübertragung und/oder -speicherung
DE3131741A1 (de) Verfahren und vorrichtung zur uebertragung eines digitalsignals
EP1407610B1 (de) System zur verbesserten encodierung/decodierung von strukturierten, insbesondere xml-basierten, dokumenten sowie verfahren und vorrichtungen zur verbesserten encodierung/decodierung von binären repräsentationen von solchen dokumenten
EP0470988A1 (de) Verfahren zum übertragen von teletextdaten und einrichtung zur durchführung des verfahrens.
EP0671107B1 (de) Verfahren zum empfangen von teletextdaten
EP1155498B1 (de) Vorrichtung und verfahren zum erzeugen eines datenstroms und vorrichtung und verfahren zum lesen eines datenstroms
DE69910965T2 (de) Verfahren und gerät zum schutz gegen fehler
DE10231970B3 (de) Verfahren zur Codierung von Positionen von Datenelementen in einer Datenstruktur sowie Vorrichtungen zur entsprechenden Codierung und/oder Decodierung
EP0439649A1 (de) Einrichtung zur Fehlermustergenerierung bei Soft-Decision-Decodierung von Blockcodes
EP0859487B1 (de) Verfahren zur Übertragung multimedialer Daten
EP1763168A1 (de) Verfahren zum Erzeugen von Datentelegrammen, die CRC-Sicherungsanhänge aufweisen, welche eine verringerte Restfehlerwahrscheinlichkeit bieten
EP0427884A1 (de) Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten
WO2002045324A1 (de) Verfahren zur rekonstruktion von daten und zugehörige anordnung
EP2348639A2 (de) Codieren und Decodieren von Daten zur Übertragung über einen fehlerhaften Übertragungskanal
EP0012828A1 (de) Schaltungsanordnung zur Korrektur von bytestrukturierten Fehlern
DE9218826U9 (de) Schaltungsanordnung zum Übertragen von Datensignalen innerhalb eines Videotext-Datenstroms
DE19540741B4 (de) Verfahren zur fehlergeschützten Übermittlung von zeitkritischen Digitalsignalen variabler Bitrate
DE19936272C2 (de) Vorrichtung zum Empfang von digitalen Signalen und Vorrichtung zum Senden von digitalen Signalen
DE3940097A1 (de) Verfahren zur bitorientierten datenuebertragung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal