DE60107533T2 - Vorrichtung zum empfang der datenpacketen - Google Patents

Vorrichtung zum empfang der datenpacketen Download PDF

Info

Publication number
DE60107533T2
DE60107533T2 DE60107533T DE60107533T DE60107533T2 DE 60107533 T2 DE60107533 T2 DE 60107533T2 DE 60107533 T DE60107533 T DE 60107533T DE 60107533 T DE60107533 T DE 60107533T DE 60107533 T2 DE60107533 T2 DE 60107533T2
Authority
DE
Germany
Prior art keywords
samples
packets
packet
signal
processor
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 - Lifetime
Application number
DE60107533T
Other languages
English (en)
Other versions
DE60107533D1 (de
Inventor
Maurice Lemoine
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.)
Aastra Matra Telecom SAS
Original Assignee
EADS Telecom SAS
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 EADS Telecom SAS filed Critical EADS Telecom SAS
Application granted granted Critical
Publication of DE60107533D1 publication Critical patent/DE60107533D1/de
Publication of DE60107533T2 publication Critical patent/DE60107533T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6472Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6481Speech, voice
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6489Buffer Management, Threshold setting, Scheduling, Shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Circuits Of Receivers In General (AREA)
  • Seal Device For Vehicle (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

  • Die vorliegende Erfindung betrifft Übertragungen von Signalen in Echtzeit im Paket-Modus.
  • Die betreffenden Signale können insbesondere Sprechsignale sein. Zur numerischen Übertragung eines Sprechsignals wird ein Abtasten des Signals durch eine Vorrichtung zur Tonaufnahme notwendig, oder allgemeiner durch einen Sender. Bei einer Echtzeitanwendung zum Beispiel beim Fernsprechen, ist der Taktgeber des Empfängers mit dem des Senders synchron, um Probleme einer zeitlichen Abweichung zu vermeiden. Diese Bedenken gelten auch bei anderen Typen von Echtzeitsignalen, zum Beispiel bei Videosignalen.
  • Es wurden Protokolle entwickelt, die es erlauben, Signale in Echtzeit in Datagrammnetze zu übertragen. Bei Netzen, die nach dem IP-Protokoll („Internet Protocol") funktionieren, handelt es sich insbesondere um das RTP-Protokoll („Real Time Protocol"), das in der Übertragungsschicht mit dem UDP-Protokoll („User Datagram Protocol") funktioniert.
  • Jedes RTP-Paket enthält einen Kopf mit einer Sequenznummer des Pakets und eine Information zur Datierung des Pakets bezüglich des Taktgebers zur Signalabtastung. Diese Information enthält eine Datierung eines Signalabschnitts, der im brauchbaren Bereich des Pakets codiert wird und in der Anzahl der Zyklen des Taktgebers zur Signalabtastung oder eines anderen Taktgebers, der mit diesem synchron ist, ausgedrückt wird. Die Sequenznummer gestattet es, die Sequenz der gesendeten Pakete wiederherzustellen, wenn sie nicht in der Reihenfolge empfangen wurden, und fehlende Pakete zu erfassen. Wenn ein oder mehrere aufeinanderfolgende Pakete nicht empfangen wurden, gestattet es die Datierungsinformation, die Anzahl der fehlenden Signalabtastwerte zu bestimmen, und somit die Anzahl der Ersatzabtastwerte, die in den wiederhergestellten Signalstrom in Echtzeit einzufügen sind. Die Datierungsinformation kann verwendet werden, um den Empfänger zu synchronisieren.
  • Die Synchronisation erfordert gewöhnlich eine Regelung der Frequenz des lokalen Taktgebers des Empfängers, wofür Kreisläufe benötigt werden, von denen man sich wünschenswerterweise lösen kann, insbesondere wenn die die Pakete empfangende Vorrichtung sie synchron zu anderen Einheiten weiterüberträgt.
  • Das Patent US-A-5 623 483 beschreibt einen Paketempfänger, der ein Signal in Echtzeit enthält, welcher periodisch ein Paket entfernen oder hinzufügen kann, um Abweichungen des Taktgebers bezüglich des Senders zu kompensieren. Ein solches Entfernen oder Einfügen eines Pakets führt zu einer erkennbaren Abschwächung des Signals in Echtzeit.
  • Die Patentanmeldung EP-A-0 743 773 beschreibt einen Sprachdecodierer, der Rahmen von codierten Signalen durch eine vorhersagende Methode (CELP, „codeexcited linear prediction") empfängt, um die Übertragungsrate zwischen dem Codierer und dem Decodierer zu verringern. In Abhängigkeit von der Anzahl der in einem Empfangsspeicher angehäuften Rahmen kann der Decodierer die Verarbeitung des laufenden Rahmens ändern, um Abweichungen des Taktgebers bezüglich des Codierers zu kompensieren. Diese Änderung kann darin bestehen, CELP-Unterrahmen und sogar Abtastwerte des decodierten Signals zu entfernen oder hinzuzufügen, Das Signal in Abhängigkeit von der Anzahl der im Eingangsspeicher angekommenen Rahmen so zu manipulieren, sensibilisiert den Decodierer sehr für den Empfangsrhythmus der Rahmen. Wenn dieser unregelmäßig ist, was bei Datagrammnetzen des Typs IP oder des analogen Typs häufig der Fall ist, erzeugt der Decodierer zahlreiche fehlerhafte Verbesserungen, da sie nicht an einer Frequenzabweichung des Taktgebers liegen.
  • Ziel der vorliegenden Erfindung ist es, eine effiziente Lösung für den oben genannten Bedarf zu bereitzustellen.
  • So schlägt die Erfindung eine Vorrichtung zum Empfang von Paketen vor, die jeweils Informationen zu Codierung eines Signals in Echtzeit und einen Kopf enthalten, der eine Information zur Datierung des Pakets bezüglich eines Taktgebers zur Signalabtastung enthält, umfassend:
    • – Mittel zur Speicherung von Abtastwerten;
    • – Mittel zur Verarbeitung von Paketen für die Speicherung einer Warteschleife von Signalabtastwerten, die von asynchron empfangenen Paketen erhalten werden, in den Speichermitteln, wobei die Abtastwerte der Warteschleife entsprechend den in den Paketen enthaltenen Datierungsinformationen angeordnet werden;
    • – Mittel zur Übertragung der Abtastwerte für die Bildung eines synchronen Abtastwertstromes, der das Signal in Echtzeit darstellt, im Rhythmus eines lokalen Taktgebers, wobei die Abtastwerte aufeinanderfolgend durch Blöcke aus der Warteschleife übertragen werden;
    • – Regelungsmittel zur Steuerung/Regelung der Übertragungsmittel, um die Änderungen der Anzahl von Abtastwerten der Warteschleife zu begrenzen, indem Abtastwerte bezüglich der in der Warteschleife gelesenen Abtastwerte in den synchronen Strom eingefügt oder entfernt werden, in Abhängigkeit von der Entwicklung der während festgelegten Zeitintervallen bezüglich des lokalen Taktgebers von den Mitteln zur Verarbeitung der Pakete in den Speichermitteln gespeicherten Anzahl von Abtastwerten, wobei die Anzahl der während der Übertragung jedes Blocks in die Warteschleife eingefügten oder entfernten Abtastwerte wesentlich geringer als die Anzahl der Abtastwerte ist, die aus einem Paket erhalten werden.
  • Mit den gewöhnlichen Abtastfrequenzen, wird das Entfernen oder das Hinzufügen eines Audiosignalabtastwertes fast unhörbar. Die erfindungsgemäße Vorrichtung nutzt das aus, um den auf synchrone Weise mit dem lokalen Taktgeber wiederhergestellten Strom von Abtastwerten zu regeln, ohne die Frequenz dieses Taktgebers regeln zu müssen. Durch Beobachtung der Füllung der Speichermittel mit Abtastwerten geschieht diese Regelung, um einige Abtastwerte zu entfernen, wenn ein Überschuss an Abtastwerten in Antwort auf den Paketempfang registriert wird, und um Abtastwerte hinzuzufügen, wenn im Gegensatz dazu die Abtastwertespeichermittel dazu neigen, sich zu leeren. Die Anzahl der gespeicherten Abtastwerte wird nach der Verarbeitung der empfangenen Pakete beobachtet, was eine Änderung dieser Verarbeitung verhindert. Dies gestattet es außerdem, die Regelung in Abhängigkeit von einer Anzahl von Abtastwerten feiner auszuführen, und nicht in Abhängigkeit von der Anzahl der empfangenen Pakete, welche aufgrund des asynchronen Paketempfangs schwankt.
  • Die Abtastwerte werden bevorzugt isoliert hinzugefügt oder entfernt. Sie könnten jedoch in kleinen Gruppen hinzugefügt oder entfernt werden, unter der Bedingung, dass die Größe dieser Gruppen bezüglich der Anzahl von Abtastwerten, die aus der Verarbeitung eines Pakets resultieren, sehr klein ist, damit die Manipulation kaum erkennbar bleibt.
  • Weitere Besonderheiten und Vorteile der vorliegenden Erfindung gehen aus der nachfolgenden Beschreibung von nicht begrenzenden Ausführbeispielen hervor, mit Bezug auf die beigefügten Zeichnungen, in denen:
  • 1 ein synoptisches Schema eines Übertragungssystems mit einer erfindungsgemäßen Empfangsvorrichtung ist;
  • 2 und 3 Ablaufschemata von Verfahren sind, die von den Empfangsvorrichtungen in 1 angewendet werden, entweder beim Empfang eines Pakets oder bei der Übertragung eines Blocks von Abtastwerten aus dem Ausgangsstrom;
  • 4 ein synoptisches Schema eines anderen Übertragungssystems mit einer erfindungsgemäßen Empfangsvorrichtung ist.
  • 1 zeigt eine Sendevorrichtung 1 und eine Empfangsvorrichtung 2, die mittels eines Netzes 3 des IP-Typs in Verbindung stehen.
  • Im betreffenden Beispiel umfasst der Sender 1 einen Audiocodierer 4, weicher ein abgestastetes Sprachsignal mit einer Frequenz Fe mit beispielsweise 8 kHz verarbeitet. Die von dem Codierer 4 verwendete Abtastfrequenz wird durch Frequenzteilung von einem Quarzoszillator 5 erzeugt, dessen Nominalfrequenz zum Beispiel 2,048 MHz ist.
  • Im Beispiel von 1 ist der Sprachcodierer 4 ein G.711-Codierer, der von der Internationalen Fernmeldeunion (ITU) genormt wurde. Dieser Codierer liefert in PCM (Pulscodemodulation oder PCM, Gesetz A oder Gesetz μ) codierte Abtastwerte in Echtzeit, wobei jeder Abtastwert auf 1 Byte (Durchflussrate von 64 kbits/s) codiert wird.
  • Der Ausgangsstrom Φ des Codierers 4 wird zu einer Schnittstelle 6 des Sender 1 geliefert, welche die codierten Abtastwerte in RTP-Pakete einfügt, die in IP-Datagrammen über das Netz 3 zum Empfänger 2 gesendet werden.
  • Herkömmlicherweise umfasst jedes gesendete Datagramm einen IP-Kopf, gefolgt von einem UDP-Kopf und einem RTP-Kopf. Der IP-Kopf gibt insbesondere die IP-Adresse des Senders 1 und die IP-Adresse des Empfängers 2 an. Der UDP-Kopf gibt eine logische Port-Nummer UDP des Empfängers 1 an, die dem Codierer 4 zugeordnet ist, und eine Port-Nummer UDP, die dem Empfänger 2 entspricht. Der RTP-Kopf enthält eine Sequenznummer NP des Pakets, die auf 16 Bit codiert ist, und eine Information TS zur Datierung des Pakets. Die auf 32 Bit codierte Datierungsinformation TS entspricht dem Rang des ersten Abtastwertes des Pakets im Ausgangsstrom Φ des Codierers 4, Modulo 232. Nach den Köpfen umfasst der brauchbare Teil des RTP-Pakets N PCM-codierte Signalabtastwerte, was N × 125 μs Sprache entspricht.
  • In der betreffenden nachfolgenden, beispielhaften Ausführungsform ist die Anzahl N kostant, zum Beispiel N = 40, und der Sender 1 setzt keinen Ruheentfernungsmechanismus ein (der darin besteht, nicht oder in geringerer Durchflussmenge zu übertragen, wenn keine Sprachaktivität im vom Codierer 4 verarbeiteten Sprachsignal erfasst wird). In diesem besonderen Fall sind die Daten TS und NP redundant, da sie einen festen Bezug N haben. Folglich ist es gleichwertig, ob der Empfänger 2 auf der Datierungsinformation TS oder auf der Sequenznummer NP basiert.
  • Der Empfänger 2 umfasst auch eine Schnittstelle 8 mit dem IP-Netz 3 zur Verarbeitung der IP-Datagramme, die vom Sender 1 empfangen werden, und zur Entnahme der Signalabtastwerte aus ihnen.
  • In dem in 1 dargestellten Aufbau ist die Schnittstelle 8 mit dem Bus 9 eines Mikroprozessors 10 verbunden, mit dem auch ein RAM-Speicher 11 und eine synchrone Vorrichtung 12, welche einen Abtastwertestrom Φ' erhält, verbunden sind.
  • Die synchrone Vorrichtung 12 kann insbesondere ein G.711-Decodierer sein, der einer Vorrichtung zur Tonwiederherstellung zugeordnet ist, um die Sprache für einen Benutzer in Echtzeit wiederherzustellen. Sie kann auch eine Vorrichtung mit einer Schnittstelle mit einer synchronen Verbindung sein, zu der die Abtastwerte G.711 zurückgesendet werden.
  • Die synchrone Vorrichtung 12 wird von einem Quarzoszillator 13 gesteuert, dessen Oszillationsnominalfrequenz mit der des Oszillators 5 des Senders identisch sein kann, um die Signalabtastwerte der Frequenz Fe zu berücksichtigen. Unter Berücksichtigung der Toleranzen der gewöhnlich verwendeten Quarze (ungefähr 30 ppm bei der Oszillationsfrequenz) und des Temperaturbereichs, der sie ausgesetzt werden können, kann jede Oszillationsfrequenz eine Verschiebung aufweisen, die bis zu 120 Hz bezüglich der Nominalfrequenz von 2,048 MHz betragen kann. Die maximale Abweichung zwischen dem Sender und dem Empfänger beträgt also ungefähr 240 Hz / 2,048 MHz, was eine Verschiebung von einem Signalabtastwert alle ungefähr 8500 Abtastwerte bedeutet. Wenn man ein Anhäufen dieser Verschiebung erlaubt, werden sich Störungen im vom Empfänger wiederhergestellten Signal zeigen. Es werden folglich kompensierende Maßnahmen vorgesehen.
  • Der RAM-Speicher dient dazu, eine Warteschleife mit Paketen zu umfassen, welche asynchron bei der Schnittstelle 8 empfangen werden, bevor sie synchron zur Vorrichtung 12 übertragen werden. Der Speicher 11 umfasst L von 0 bis L-1 durchnummerierte Adressen, die jeweils ein Byte umfassen können. Beispielhaft sei L = 8000, was die Kapazität einer Sprechsekunde darstellt.
  • Die Schnittstelle 8 und die Vorrichtung 12 sind periphere Einheiten gegenüber dem Prozessor 10, der sie steuert/regelt, damit sie Zyklen zum direkten Zugang zum Speicher (DMA, „Direct Memory Access") ausführen, um Abtastwerte im Speicher 11 zu schreiben beziehungsweise zu lesen.
  • Der Prozessor 10 steuert/regelt die Schnittstelle 8, damit sie DMA-Schreibzyklen im Seicher 11 ausführt, wobei jeder Zyklus zum Beispiel das Schreiben von L Bytes von der Stelle 0 bis zur Stelle L-1 umfasst. Diese DMA-Zyklen folgen aufeinander, so dass die Schreibvorgänge im Speicher 11 kreisförmig erfolgen.
  • Die Schnittstelle 8 wendet ein Verfahren zum Aufbau der Warteschleife an, das heißt, sie bringt die Pakete in die Reihenfolge der Sequenznummern und schreibt ihre Abtastwerte in den Paketspeicher 11. Wenn Pakete zu spät empfangen werden, entfernt sie die Schnittstelle 8. Außerdem werden die Pakete, die nicht rechtzeitig empfangen werden, durch Ersatzpakete ersetzt (zum Beispiel Wiederholung des vorhergehenden Pakets oder Ruhepaket).
  • 2 zeigt ein Beispiel eines solchen Verfahrens, das von der Schnittstelle 8 bei Empfang eines die Sequenznummer NP tragenden RTP-Pakets ausführbar ist. In diesem Beispiel umfasst die Schnittstelle 8 einen Pufferspeicher mit Q Stellen, die jeweils die Daten-Bytes eines Pakets speichern können, entsprechend einer Kapazität von N×Q Bytes. In den Bezeichnungen in 2:
    • – bezeichnet NS die Sequenznummer des nächsten im Speicher 11 zu schreibenden Paketes (NS = 0 bei der Initialisierung)
    • – ist occ(i) ein Bit, das für 0 ≤ i < Q anzeigt, ob das Paket mit der Sequenznummer NS + 1 angekommen ist (occ(i) = 1) oder nicht (bei der Initialisierung occ(i) = 0 für 0 ≤ i < Q);
    • – enthält Liste(i) für 0 ≤ i < Q ein Ganzes zwischen 0 und Q-1, bezeichnend eine Stelle des Pufferspeichers, an der die Abtastwerte des Pakets NS + i gespeichert sind, wenn occ(i) = 1 (bei der Initialisierung Liste(i) = i für 0 ≤ i < Q);
    • – ist α ein Ganzes gleich der Anzahl der beim Warten auf die Übertragung zum Speicher 11 empfangenen Pakete (bei der Initialisierung α = 0);
    • – bezeichnet TDATA die N Bytes des letzten in den Speicher 11 übertragenen Pakets, die in einem Register gespeichert werden, um die etwaigen Ersatzpakete zu bilden (bei der Initialisierung können Null-Bytes in TDATA genommen werden, was einem Ruhepaket entspricht);
    • – bezeichnet q eine im Pufferspeicher verfügbare Stelle zum Schreiben der N Bytes des nächsten empfangenen Pakets (bei der Initialisierung q = 0).
  • Beim Empfang des NP-Paketes werden die N Daten-Bytes des Pakets an die Stelle Q des Pufferspeichers geschrieben, und die Variable δ soll gleich dem Abstand NP-NS zwischen der Sequenznummer des empfangenen Pakets und der Sequenznummer des nächsten zu übertragenden Pakets sein (Schritt 20 in 2).
  • Wenn δ < 0 (Test 21), wird das Paket zu spät empfangen, um in den Speicher 11 übertragen zu werden, so dass es entfernt wird. Das Verfahren in 2 wird dann beendet, wenn wieder auf den Empfang des nächsten Pakets gewartet wird, welches über das von der Stelle q entfernte Paket geschrieben wird.
  • Das Paket kann berücksichtigt werden, wenn im Test 21 δ ≤ 0 ist. Das Ganze α wird dann in Schritt 22 um eine Einheit erhöht.
  • Wenn δ < Q (Test 23), erhalten die Variablen occ(δ) und Liste(δ) in Schritt 24 die Werte 1 beziehungsweise q, um die Stelle des Pakets NS + δ zu festzulegen. Nach dem Schritt 24 wird die Variable α in Schritt 25 mit Q verglichen. Wenn α < Q, ist der Pufferspeicher nicht gesättigt, so dass kein Paket zum Speicher 11 übertragen wird. In diesem Fall geht das Verfahren mit den Schritten 26 bis 28 weiter, um den Wert des Markierers q zu ändern. Diese Schritte 26 bis 28, die das Verfahren des Verfahrens 2 beenden, bestehen einfach darin, für den Markierer q einen Wert Liste (i) wie 0 ≤ i < Q und occ(i) = 0 zu wählen.
  • Wenn im Test 23 δ ≥ Q oder wenn im Test 25 α ≥ Q ist, überträgt die Schnittstelle 8 ein oder mehrere Pakete zum Speicher 11. Im Beispiel in 2 geschieht dies in einer Schleife 3037, initialisiert durch i = 0 in Schritt 30.
  • Wenn das Paket des Rangs NP – δ + i empfangen wurde (occ(i) = 1 in Test 31), werden die N Bytes dieses Pakets an der Stelle Liste(i) gelesen, in Schritt 32 in das Register TDATA geladen und dann in Schritt 33 im DMA-Modus zum Speicher 11 übertragen. Außerdem wird das Bit occ(i) auf 0 gebracht, und das Ganze α wird um eine Einheit verkleinert.
  • Wenn das Paket des Rangs NP – δ + i nicht empfangen wurde (occ(i) = 0 in Test 31), wird in Schritt 34 ein den N Bytes des Registers TDATA entsprechendes Ersatzpaket zum Speicher 11 übertragen, und das Ganze α wird um eine Einheit verkleinert, ohne den unteren Schwellenwert α = 1 zu unterschreiten. Die N TDATA-Bytes werden anschließend in Schritt 35 auf Null gebracht. Mit dieser Methode entspricht das Ersatzpaket des Ranges NS der Wiederholung des Pakets NS-1, wenn dieses korrekt empfangen wurde, und andernfalls einem Ruhepaket.
  • Nach Schritt 33 oder 35 wird die Sequenznummer NS in Schritt 36 um eine Einheit erhöht, und der Index i wird ebenfalls erhöht, Modulo Q. Wenn am Ende von Schritt 36 NP > NS + Q – 1 ist (Test 37), kommt das Verfahren zurück auf Schritt 31, um ein weiteres Paket zum Speicher 11 zu übertragen. Andernfalls wird eine Verschiebung der Felder Liste und occ vorgenommen, um sie in einer Schleife 3841 zu aktualisieren. Bei der Initialisierung 38 dieser Schleife ist j = 0 und der Index i behält den Wert, den er am Ende der letzten Iteration der Schleife 3037 hatte. In Schritt 39 werden die Werte Liste(i) und occ(i) in Liste(j) und occ(j) übertragen. Wenn j < Q – 1 (Test 40), besteht der folgende Schritt 41 darin, j um eine Einheit zu erhöhen, sowie auch i Modulo Q. Wenn in Test 40 j = Q – 1, ist das Verschieben der Felder Liste und occ beendet, und δ wird in Schritt 42 mit Q verglichen. Wenn δ < 0, wird die sich an den Empfang des NP-Pakets anschließende Verarbeitung durch die Aktualisierung des Markierers q in den vorgenannten Schritten 26 bis 28 beendet. Wenn δ ≥ Q, geht dieser Aktualisierung des Markierers q in Schritt 43 das Schreiben der Werte 1 beziehungsweise q in den Variablen occ(Q-1) und Liste(Q-1) voraus.
  • Das Lesen der Signalabtastwerte im Speicher 11, das den Signalstrom Φ' bildet, wird ebenfalls bei den DMA-Übertragungszyklen ausgeführt, welche durch die synchrone Vorrichtung 12 unter der Kontrolle des Prozessors ausgeführt werden. Während jedes Zyklus überträgt die Vorrichtung 12 einen Block mit M Bytes, die im Speicher 11 mit seiner Abtastwerte-Durchgangsrate gelesen werden, welche von der Oszillationsfrequenz des Quarz 13 abgeleitet wird. Der Adresslesezähler wird bei jedem gelesenen Abtastwert um eine Einheit (Modulo L) erhöht, so dass der Speicher 11 ebenfalls mit einer zirkulären Addressierung gelesen wird. Am Ende der DMA-Übertragung jedes Blocks schickt die Vorrichtung 12 ein Unterbrechungssignal zum Prozessor 10. Auf dieses Signal hin initialisiert der Prozessor 10 den nächsten DMA-Übertragungszyklus und liefert der Vorrichtung 12 die entsprechenden Befehle.
  • Das vom Prozessor 10 verwendete Verfahren zur Steuerung/Regelung der DMA-Übertragungszyklen kann dem in 3 dargestellten entsprechen. Bei den Bezeichnungen in 3:
    • – bezeichnet NS0 die Anzahl der Pakete, die, sobald sie in den Speicher 11 geschrieben sind, den Beginn der Übertragung der Abtastwerte zur synchronen Vorrichtung 12 auslösen;
    • – ist P ein Markierer, der die Adresse des Beginns der durch die synchrone Vorrichtung 12 unter Kontrolle des Prozessors 10 durchgeführten DMA-Übertragung bezeichnet;
    • – bezeichnet M die Byteanzahl eines Blocks von Abtastwerten, der während eines DMA-Zyklus durch die Vorrichtung 12 übertragen wird;
    • – bezeichnet t die Anzahl der Bytes, die bis zu dem Moment im Speicher 11 gespeichert wurden, an dem der Prozessor 10 einen DMA-Übertragungszyklus zur synchronen Vorrichtung 12 initialisert;
    • – ist Δ ein Ganzes, das den einzuholenden Abstand zwischen der Anzahl der im Speicher 11 geschriebenen und gelesenen Abtastwerte misst: wenn Δ > 0, gibt es einen Überschuss an Abtastwerten im Speicher 11 bezüglich derer, die im Strom Φ' übertragen wurden, und wenn Δ < 0, gibt es eher ein Defizit an im Speicher 11 gespeicherten Abtastwerten.
  • Das in 3 dargestellte Verfahren wird gestartet, wenn NS0 Pakete im Speicher 11 geschrieben wurden (Test 50), was der Prozessor 10 nachprüfen kann, indem er den laufenden Wert der Variable NS des Verfahrens nach 2 abruft, oder mit Bezug auf die laufende Schreibadresse im Speicher 11 durch die Schnittstelle 8. Die Variablen P und Δ werden dann in Schritt 51 mit 0 initialisiert.
  • In Schritt 52 regelt/steuert der Prozessor 10 durch die synchrone Vorrichtung 12 einen Lesezyklus im DMA-Modus, damit ein Block mit M Bytes von der Adresse P Modulo L in den Strom Φ' übertragen wird. Im folgenden Schritt 53 wird der Adressmarkierer P um M Einheiten, Modulo L, erhöht, und die Variable t erhält den Wert N.NS entsprechend der Adresse des nächten Bytes im Speicher 11, welches von der Schnittstelle 8 geschrieben wird. Dieser Schritt 53 beendet die durch den Prozessor 10 ausgeführte Verarbeitung bezüglich des laufenden Blocks des Stroms Φ'.
  • Der Prozessor 10 wartet dann auf den Empfang des Unterbrechungssignals, durch welches ihm die synchrone Vorrichtung 12 anzeigt, dass sie die Übertragung des laufenden Blocks beendet hat (Schritt 54).
  • Bei Empfang dieses Unterbrechungssignals bestimmt der Prozessor 10 in Schritt 56 die Anzahl der Bytes, die die Schnittstelle 8 während des Lesens des letzten Blocks mit M Abtastwerten (darin eingeschlossen die Ersatzpakete) in den Speicher 11 geschrieben hat. Diese Anzahl d ist gleich N.NS-t mit dem neuen laufenden Wert der Sequenznummer NS (oder mit der neuen DMA-Zugangsadresse durch die Schnittstelle 8, gleich N.NS). In Schritt 57 wird der Abstand Δ aktualisiert, indem ihm die Menge d-M hinzugefügt wird, welche das Wachstum (oder die Verkleinerung, wenn d – M < 0) der Warteschleife während der Übertragung des vorhergehenden Blocks darstellt.
  • Wenn der neue Wert von Δ geringer als ein negativer Schwellenwert oder Null -Δmax (Test 58) ist, wird der Markierer des Beginns der DMA-Übertragung aus dem Speicher 11 um Z Bytes zurückgesetzt, das heißt, dass die Anzahl P um Z Einheiten Modulo L verringert wird, und der Abstand Δ in Schritt 59 um Z Einheiten erhöht wird. Wenn der neue Wert von Δ größer als der Schwellenwert + Δmax ist (Test 60), wird der Markierer des Beginns der DMA-Übertragung aus dem Speicher 11 um Z Bytes vorgerückt, das heißt, dass die Anzahl P um Z Einheiten Modulo L erhöht wird, und der Abstand Δ in Schritt 61 um Z Einheiten verringert wird. Wenn entweder nach Schritt 59 oder 61 –Δmax ≤ Δ ≤ Δmax, führt der Prozessor den vorgenannten Schritt 52 aus, um die DMA-Übertragung eines Blocks mit M Bytes von der Adresse P Modulo L zu regeln/steuern. Der Schwellenwert Δmax kann Null sein.
  • Wenn der Sende-Taktgeber und der Empfangs-Taktgeber synchron sind und wenn die RTP-Pakete mit einer zeitlichen Verzerrung empfangen werden, die kleiner als der Pufferbereich der Schnittstelle 8 ist, bleibt der Abstand Δ immer Null, und die Bildung des synchronen Stroms Φ' ergibt sich aus den aufeinanderfolgenden DMA-Übertragungen von Blöcken mit M Bytes von gleichmäßig beabstandeten Adressen.
  • Wenn es zwischen den Sende- und Empfangs-Taktgebern Abweichungen gibt, gibt es DMA-Übertragungszyklen, an deren Ausgang Δ < -Δmax oder Δ > Δmax.
  • Wenn Δ < –Δmax (nicht ausreichend Pakete empfangen in Bezug auf die Durchsatzrate des Stroms Φ'), werden die Z letzten Abtastwerte am Beginn des folgenden Bocks wiederholt, was schwer hörbar sein wird, wenn Z eine kleine Anzahl ist.
  • Wenn Δ > +Δmax, neigt der Speicher 11 dazu, sich schneller zu füllen, als er sich leert, und die Verschiebung des Markierers P in Schritt 61 führt zur Entfernung von Z Abtastwerten im Strom Φ', um diese Abweichung zu kompensieren.
  • In der bevorzugten Ausführungsform nimmt man Z = 1.
  • Mann kann M = L nehmen, wobei die DMA-Übertragung durch die Vorrichtung 12 dann darin besteht, den kompletten Speicher 11 zu lesen. Es ist anzufügen, dass die Anzahl M nicht unbedingt konstant ist. Man könnte beispielsweise M = L + Z nehmen, wenn Δ > Δmax. In diesem letzten Fall befinden sich die Z kopierten oder entfernten Abtastwerte am Beginn des nächsten übertragenen Blocks, wenn der Markierer P wie in 3 angegeben geführt wird, oder am Ende dieses Blocks, wenn systematisch P = 0 genommen wird.
  • Die vorhergehende Ausführungsform basiert auf Paketen mit konstanter Größe (N Bytes) ohne Ruheunterdrückungsmechanismus. In diesem Fall ist die Datierungsinformation in jedem RTP-Paket mit der NP-Sequenznummer redundant (da TS = N.NP), was erklärt, dass allein NP im oben beschriebenen Beispiel berücksichtig wurde. Wenn die Größe der Pakete variabel ist und/oder wenn vom Sender ein Ruheunterdrückungsmechanismus verwendet wird, werden die Adressen zum Schreiben im Speicher 11 durch die Schnittstelle 8 und somit die gemessenen Differenzen d zur Regelung des Stroms Φ' auf Basis der TS-Informationen bestimmt, die aus den empfangenen Paketen erhalten werden.
  • In der in 4 dargestellten Ausführungsvariante besteht das in den RTP-Paketen enthaltene numerische Signal nicht direkt aus Signalabtastwerten in Echtzeit, sondern stellt Rahmen codierter Signale dar, welche von einem Vocoder erzeugt werden. Diese Rahmen können von einem von der ITU genormten Vocoder hergestellt werden, im dargestellten Beispiel G.729 (oder auch G.723 etc). Der Codierer 4' des Senders 1 verfügt über Signalabtastwerte in Echtzeit, welche auf synchrone Weise mit einem Abtastwerte-Taktgeber numerisiert werden, welcher durch Teilung der Oszillationsfrequenz des Quarz 5 erhalten wird, und wandelt sie in codierte Rahmen um, die mit diesem Taktgeber synchron sind. Die Numerisierung des Signals kann im Bereich des Senders mit einem Taktgeber stattgefunden haben, der vom Oszillator 5 herausgegeben wird (Fall, in dem der Sender 1 zum Beispiel ein Fernsprechterminal ist), oder sie kann von einem entfernten Konverter ausgeführt werden, wobei die Abtastwerte-Taktgeber des Konverters oder des Codierers 4' synchonisiert sind (Fall, in dem der Sender 1 zum Beispiel eine Schnittstelle zwischen einem IP-Netz und einer synchronen numerischen Verbindung bildet).
  • Im Bereich der Empfangsvorrichtung 2 überträgt die IP-Schnittstelle 8 den brauchbaren Teil der RTP-Pakete auf dieselbe Weise wie vorher in einen Speicher 11A, der die codierten Rahmen enthält. Abhängig vom Füllstatus dieses Speichers 11A steuert/regelt der Prozessor die Decodierung der gespeicherten Rahmen, um die Signalabtastwerte in Echtzeit wiederherzustellen, die in einen anderen Speicher 11B übertragen wurden. Diese Decodierung geschieht auf asynchrone Weise durch den Prozessor 10 selbst oder durch einen peripheren Decodierer G.729 15, der mit dem Bus 9 verbunden ist. Die synchrone Vorrichtung 12 kann dann die Signalabtastwerte im Speicher 11B auf die gleiche Weise wie vorher lesen. Besser als einfach kopiert zu werden, können die Ersatzrahmen auf an sich bekannte Weise durch eine Interpolation der Parameter des Vokoders bestimmt werden, welche durch den Decodierer ausgeführt wird.
  • Der vorher beschriebene Regelungsprozess ist rein logischer Art, wodurch ein spezieller Kreislauf zur Regelung der Frequenz des Oszillators 13 der synchronen Vorrichtung 12 vermieden wird. Die Regelung des Stroms Φ', die zeitliche Abweichungen in Bezug auf den im Bereich des Senders 1 gebildeten Stromes Φ' vermeidet, resultiert auf einer Messung der Menge an Signalen (darin eingeschlossen die Ersatzpakete), die während Zeitintervallen empfangen werden, die bezüglich des vom Oszillator 12 erzeugten lokalen Taktgebers festgelegt werden. Jedes dieser Zeitintervalle entspricht der DMA-Übertragung eines Blocks zur Vorrichtung 12.
  • Als Variation könnte jedes dieser Zeitintervalle der DMA-Übertragung einer bestimmten Anzahl K von Blöcken entsprechen, was es gestattet, Schwankungen der Anzahl d von Abtastwerten auszugleichen, welche während der bezüglich des lokalen Taktgebers festgelegten Zeitintervalle von der Schnittstelle 8 im Speicher 11 gespeichert werden, welche Zeitintervalle am unregelmäßigen Empfangscharakter der IP-Datagramme liegen (im vorhergehenden Beispiel K = 1).

Claims (7)

  1. Vorrichtung zum Empfang von Paketen, die jeweils Informationen zur Codierung eines Signals in Echtzeit und einen Kopf enthalten, der eine Information zur Datierung des Pakets bezüglich eines Taktgebers zur Signalabtastung enthält, umfassend: – Mittel zur Speicherung von Abtastwerten (11); – Mittel zur Verarbeitung von Paketen (8) für die Speicherung einer Warteschleife von Signalabtastwerten, die von asynchron empfangenen Paketen erhalten werden, in den Speichermitteln, wobei die Abtastwerte der Warteschleife entsprechend den in den Paketen enthaltenen Datierungsinformationen angeordnet werden; – Mittel (12) zur Übertragung der Abtastwerte für die Bildung eines synchronen Abtastwertstromes (Φ'), der das Signal in Echtzeit darstellt, im Rhythmus eines lokalen Taktgebers, wobei die Abtastwerte aufeinanderfolgend durch Blöcke aus der Warteschleife übertragen werden, und gekennzeichnet durch: – Regelungsmittel (10) zur Steuerung/Regelung der Übertragungsmittel, um die Änderungen der Anzahl von Abtastwerten der Warteschleife zu begrenzen, indem Abtastwerte bezüglich der in der Warteschleife gelesenen Abtastwerte in den synchronen Strom eingefügt oder entfernt werden, in Abhängigkeit von der Entwicklung der während festgelegten Zeitintervallen bezüglich des lokalen Taktgebers von den Mitteln zur Verarbeitung der Pakete in den Speichermitteln gespeicherten Anzahl von Abtastwerten, wobei die Anzahl der während der Übertragung jedes Blocks in die Warteschleife eingefügten oder entfernten Abtastwerte wesentlich geringer als die Anzahl der Abtastwerte ist, die aus einem Paket erhalten werden.
  2. Vorrichtung nach Anspruch 1, bei der die Regelungsmittel einen Prozessor (10) umfassen, und bei der die Mittel zur Verarbeitung von Paketen (8) und die Übertragungsmittel (12) so aufgebaut sind, dass sie im Modus des direkten Speicherzugriffs, kontrolliert vom Prozessor, Zugriff auf die Speichermittel (11) haben.
  3. Vorrichtung nach Anspruch 2, bei der die bezüglich des lokalen Taktgebers festgelegten Zeitintervalle dem Lesen einer bestimmten Anzahl von Blöcken mit Abtastwerten in den Speichermitteln (11) durch die Übertragungsmittel (12) im Modus des direkten Speicherzugriffs kontrolliert vom Prozessor (10) entspricht.
  4. Vorrichtung nach Anspruch 2 oder 3, bei der das Einfügen oder das Entfernen von Abtastwerten durch den Prozessor (10) in der Warteschleife ein Versetzen der Adresse umfasst, an der das Lesen im Modus des direkten Speicherzugriffs durch die Übertragungsmittel (12) beginnt.
  5. Vorrichtung nach Anspruch 2 oder 3, bei der das Einfügen oder das Entfernen von Abtastwerten durch den Prozessor (10) in der Warteschleife eine Regelung der im Modus des direkten Speicherzugriffs von den Übertragungsmitteln (12) gelesenen Anzahl von Abtastwerten umfasst.
  6. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Anzahl der von den Regelungsmitteln (10) während der Übertragung jedes Blocks in die Warteschleife eingefügten oder entfernten Abtastwerte 0 oder 1 ist.
  7. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Kopf jedes Pakets eine Sequenznummer des Pakets umfasst, und bei der die Mittel zur Verarbeitung von Paketen (8) so aufgebaut sind, dass sie die Sequenznummern analysieren, die in den Paketen enthalten sind, welche empfangen werden, um die Abtastwerte der Warteschleife auf Basis der Sequenznummern anzuordnen, und um Ersatzabtastwerte in die Warteschleife einzufügen, um Pakete zu kompensieren, die nicht rechtzeitig empfangen werden, und um Pakete zu entfernen, die verspätet empfangen werden.
DE60107533T 2000-01-03 2001-01-02 Vorrichtung zum empfang der datenpacketen Expired - Lifetime DE60107533T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0000016A FR2803466B1 (fr) 2000-01-03 2000-01-03 Dispositif de reception de paquets
FR0000016 2000-01-03
PCT/FR2001/000003 WO2001050692A1 (fr) 2000-01-03 2001-01-02 Dispositif de reception de paquets

Publications (2)

Publication Number Publication Date
DE60107533D1 DE60107533D1 (de) 2005-01-05
DE60107533T2 true DE60107533T2 (de) 2005-12-15

Family

ID=8845579

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60107533T Expired - Lifetime DE60107533T2 (de) 2000-01-03 2001-01-02 Vorrichtung zum empfang der datenpacketen

Country Status (7)

Country Link
EP (1) EP1245099B1 (de)
AT (1) ATE284106T1 (de)
AU (1) AU3182101A (de)
DE (1) DE60107533T2 (de)
ES (1) ES2233603T3 (de)
FR (1) FR2803466B1 (de)
WO (1) WO2001050692A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10201310A1 (de) * 2002-01-15 2003-07-24 Siemens Ag Verfahren und System zur Datenumsetzung
DK2129170T3 (da) 2008-05-30 2012-05-21 Oticon As Højkvalitetsforbindelse med lav latens til audiotransmission

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623483A (en) * 1995-05-11 1997-04-22 Lucent Technologies Inc. Synchronization system for networked multimedia streams
US5699481A (en) * 1995-05-18 1997-12-16 Rockwell International Corporation Timing recovery scheme for packet speech in multiplexing environment of voice with data applications

Also Published As

Publication number Publication date
EP1245099A1 (de) 2002-10-02
ATE284106T1 (de) 2004-12-15
AU3182101A (en) 2001-07-16
FR2803466B1 (fr) 2003-07-04
FR2803466A1 (fr) 2001-07-06
DE60107533D1 (de) 2005-01-05
WO2001050692A1 (fr) 2001-07-12
ES2233603T3 (es) 2005-06-16
EP1245099B1 (de) 2004-12-01

Similar Documents

Publication Publication Date Title
DE60034484T2 (de) Verfahren und vorrichtung in einem kommunikationssystem
DE69631318T2 (de) Verfahren und Vorrichtung zur Erzeugung von Hintergrundrauschen in einem digitalen Übertragungssystem
DE69533981T2 (de) Multimedia-multiplexvorrichtung und verfahren mit dynamischer paketsegmentierung
DE69636859T2 (de) Taktrückgewinnungsschema für Paketsprache in multiplexender Umgebung von Sprache mit Datenanwendungen
DE69732388T2 (de) Verfahren und Vorrichtung zur Übertragung von Datenpaketen
DE60104353T2 (de) Verfahren und Einrichtung zur Reduktion des Verzögerungsjitters in der Datenübertragung
DE60038035T2 (de) Headerkomprimierung durch verwendung von divisionsresten
DE60024932T2 (de) Verfahren und vorrichtung zur isochronen datenübertragung
DE60033737T2 (de) Verfahren und Vorrichtung zur Multiplexierung der Nutzlastdaten in einem Datennetzwerk
EP0847165A1 (de) Digitales Datenübertragungsnetz und Verfahren zum Betreiben des Datenübertragungsnetzes
DE4335271B4 (de) Daten-Demultiplexer
EP2245621B1 (de) Verfahren und mittel zur enkodierung von hintergrundrauschinformationen
DE19617630A1 (de) Verfahren zum Herleiten der Nachwirkperiode in einem Sprachdecodierer bei diskontinuierlicher Übertragung, sowie Sprachcodierer und Sender-Empfänger
DE2818505A1 (de) Verfahren und vorrichtung zur paketuebertragung von sprache
DE3736193C2 (de)
DE60224005T2 (de) Verfahren und vorrichtung zur verarbeitung von mehreren audiobitströmen
EP1425885B1 (de) Verfahren und anordnung zur übermittlung von daten aus einem ersten datennetz in ein zweites datennetz
DE60210748T2 (de) System und Verfahren zum Verbinden von Rahmendaten durch das Einfügen von Bestimmungsfeldern in Steuerblöcke
EP2245620B1 (de) Verfahren und mittel zur enkodierung von hintergrundrauschinformationen
DE60107533T2 (de) Vorrichtung zum empfang der datenpacketen
EP0010600B1 (de) Verfahren zur codierten Übertragung von Sprachsignalen, Verwendung des Verfahrens in einem Zeitmultiplex-Übertragungssystem und Anordnung zur Durchführung des Verfahrens
DE69636272T2 (de) Audiokodier- und -dekodiergerät
DE2217178B2 (de) Schaltungsanordnung zur Interpolation der Ausgangscodes von PCM-Übertragungssystemen
DE60300391T2 (de) Verfahren zur Paketpufferspeicherverwaltung und zugehörige Vorrichtung
DE60130354T2 (de) Verfahren und vorrichtung zur verarbeitung von asynchronen daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AASTRA MATRA TELECOM, GUYANCOURT, FR