DE102004039186B4 - Verfahren und Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen - Google Patents

Verfahren und Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen Download PDF

Info

Publication number
DE102004039186B4
DE102004039186B4 DE102004039186A DE102004039186A DE102004039186B4 DE 102004039186 B4 DE102004039186 B4 DE 102004039186B4 DE 102004039186 A DE102004039186 A DE 102004039186A DE 102004039186 A DE102004039186 A DE 102004039186A DE 102004039186 B4 DE102004039186 B4 DE 102004039186B4
Authority
DE
Germany
Prior art keywords
value
ppdv
data packets
detector
integrated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102004039186A
Other languages
English (en)
Other versions
DE102004039186A1 (de
Inventor
Achim Degenhardt
Daniel Goryn
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.)
Intel Corp
Original Assignee
Infineon Technologies 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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102004039186A priority Critical patent/DE102004039186B4/de
Priority to US11/203,401 priority patent/US7969901B2/en
Priority to US11/203,436 priority patent/US7643516B2/en
Publication of DE102004039186A1 publication Critical patent/DE102004039186A1/de
Application granted granted Critical
Publication of DE102004039186B4 publication Critical patent/DE102004039186B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]

Abstract

Verfahren zur Kompensation von Laufzeitschwankungen von Datenpaketen (1), umfassend die Schritte:
– Zwischenspeichern von über eine Übertragungsstrecke (40) übermittelten Datenpaketen (1) in einem Zwischenspeicher (10),
– Ausspielen der zwischengespeicherten Datenpakete (1) aus dem Zwischenspeicher (10) in vorgegebenen Zeitintervallen nach einer zusätzlichen Ausspielverzögerung (ΔT),
– Ermitteln der Laufzeitdifferenzen (PPDV) der Datenpakete (1) bezüglich des jeweils vorangegangenen Datenpakets (1),
gekennzeichnet durch die Schritte:
– Integrieren der Laufzeitdifferenzen (PPDV), um einen integrierten Laufzeitdifferenzwert (IPPDV) zu erhalten, durch Summieren der ermittelten Laufzeitdifferenzen (PPDV),
wobei bei Eingang eines neuen Datenpakets (1) der integrierte Laufzeitdifferenzwert gemäß IPPDV := IPPDV + PPDVneu gesetzt wird,
wobei IPPDV den integrierten Laufzeitdifferenzwert (IPPDV) bezeichnet und PPDV den für das eingegangene Datenpaket (1) ermittelten Laufzeitdifferenzwert (PPDV) bezeichnet, und
– Einstellen der zusätzlichen Ausspielverzögerung (ΔT) abhängig von dem integrierten Laufzeitdifferenzwert (IPPDV).

Description

  • Die vorliegende Erfindung betrifft ein Verfahren sowie eine Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen, insbesondere von in einem Datennetzwerk übertragenen Datenpaketen, welche beispielsweise zur Übermittlung von Sprachdaten verwendet werden.
  • Bei der Übertragung von Sprachdaten über paketbasierte Datennetzwerke werden die Sprachdaten auf einzelne Datenpakete aufgeteilt und über das Datennetzwerk übermittelt. Die Laufzeit der Datenpakete bei der Übermittlung durch das Datennetzwerk kann dabei unterschiedliche Werte annehmen, d. h. die Datenpakete werden zwar von einem Sender in regelmäßigen Zeitabständen ausgesendet, jedoch nicht von einem Empfänger in den gleichen regelmäßigen Zeitabständen empfangen. Es ist sogar möglich, dass die Datenpakete nicht in der gleichen Reihenfolge eintreffen, in der sie vom Sender ausgesendet wurden. Es entstehen somit Laufzeitschwankungen bei der Übermittlung der Datenpakete durch das Datennetzwerk. Diese Laufzeitschwankungen werden auch als Jitter bezeichnet. Je größer die Laufzeitschwankungen, d. h. je größer der Jitter, desto größer kann auch der zeitliche Abstand zwischen einem idealen Eintreffzeitpunkt eines Datenpakets beim Empfänger, d. h. den Eintreffzeitpunkt des Datenpakets bei einem Datennetzwerk mit einer festen Laufzeit, und dem tatsächlichen Eintreffzeitpunkt sein.
  • Um diese Laufzeitschwankungen auszugleichen, wird üblicherweise ein Zwischenspeicher in Form eines so genannten Jitter Buffers verwendet, welcher eine zusätzliche Verzögerung für die Datenpakete bereitstellt, um die Laufzeitschwankungen der Datenpakete auszugleichen. Falls erforderlich wird auch die ursprüngliche Reihenfolge der Datenpakete wiederhergestellt.
  • Die prinzipielle Vorgehensweise ist dabei, empfangene Datenpakete in dem Zwischenspeicher zwischenzuspeichern und die zwischengespeicherten Datenpakete nach einer zusätzlichen Ausspielverzögerung wiederum in regelmäßigen Zeitabständen aus dem Zwischenspeicher auszuspielen. Die Ausspielverzögerung soll dabei gewährleisten, dass das jeweils auszuspielende Datenpaket auch möglichst immer in dem Zwischenspeicher verfügbar ist.
  • Die Größe der zusätzlichen Ausspielverzögerung für ein Datenpaket hängt davon ab, wann das Datenpaket tatsächlich eingetroffen ist. Je größer der zeitliche Abstand zwischen dem Eintreffen des Datenpakets in dem Zwischenspeicher und dem vorgesehenen Ausspielzeitpunkt ist, desto größer ist auch die benötigte zusätzliche Ausspielverzögerung für das Datenpaket. Die Ausspielverzögerung sollte dabei mit der Stärke der Laufzeitschwankungen des Datennetzwerks korrelieren, d. h. je größer die Laufzeitschwankungen sind, desto größer muss auch die Ausspielverzögerung gewählt werden, um zu vermeiden, dass Datenpakete verworfen werden müssen, weil sie nach ihrem vorgesehenen Ausspielzeitpunkt eingetroffen sind. Der vorgesehene Ausspielzeitpunkt ist dadurch definiert, dass eine Einheit, an welche die Datenpakete ausgespielt werden, beispielsweise ein Decoder zur Umsetzung der Datenpakete in Sprachdaten, nach Verarbeitung eines Datenpakets in einem vorgegebenen Zeitabstand das nächste zu verarbeitende Datenpaket erwartet. Ist dieses Datenpaket in dem Zwischenspeicher nicht verfügbar, müssen die fehlenden Daten beispielsweise durch Interpolation ersetzt werden, und die Übertragungsqualität der Sprachdaten verringert sich.
  • Bei der Übertragung von Sprachdaten über paketbasierte Datennetzwerke beeinflusst die Summe aller Verzögerungen in dem Datennetzwerk erheblich die Qualität der übertragenen Sprachdaten. Diese ist insbesondere wichtig für Datennetzwerkbasierte Fernsprechanwendungen, z. B. so genannte IP-Telefonie. Es hat sich hierbei gezeigt, dass die Qualität für ein Gegensprechen über das Datennetzwerk signifikant abnimmt, wenn die Summe aller Verzögerungen in dem Datennetzwerk 150 ms überschreitet.
  • Aus diesem Grund ist es wichtig, die Ausspielverzögerung durch den Zwischenspeicher zur Kompensation der Laufzeitschwankungen möglichst klein zu halten. Es muss dabei einerseits gewährleistet werden, dass die Ausspielverzögerung der Datenpakete so klein wie möglich ist, aber wiederum ausreichend groß, um die Anzahl der Datenpakete, die nach ihrem vorgesehenen Ausspielzeitpunkt eintreffen und folglich verworfen. werden müssen, nicht übermäßig ansteigen zu lassen.
  • Die Laufzeitschwankungen, welche typischerweise in paketbasierten Datennetzwerken auftreten, weisen in der Regel zeitliche Variationen ihrer Stärke auf. Um zu vermeiden, dass die Ausspielverzögerung durch den Zwischenspeicher auf die schlechtesten Netzwerkbedingungen, d. h. die stärksten Laufzeitschwankungen für die Datenpakete, abgestimmt werden muss, kann die Ausspielverzögerung durch den Zwischenspeicher adaptiv nachgeregelt werden, d. h. an die Netzwerkbedingungen angepasst werden. Auf diese Weise wird vermieden, dass die Qualität der Sprachverbindung aufgrund einer für die meisten Fälle zu hoch gewählten Ausspielverzögerung unnötig verschlechtert wird. Derartige Zwischenspeicher, welche ihre Ausspielverzögerung adaptiv an Netzwerkbedingungen anpassen können, werden auch adaptive Jitter Buffer genannt.
  • Für eine Anpassung der Ausspielverzögerung durch den Zwischenspeicher ist es bekannt, die Laufzeitschwankungen der Datenpakete anhand von Laufzeitvariationen der Datenpakete zu ermitteln. Die Laufzeitvariationen der Datenpakete werden auch als Packet Delay Variation bezeichnet.
  • Für Datennetzwerke, welche Laufzeitschwankungen unterliegen, ist es typisch, dass die Laufzeit der einzelnen Datenpakete durch das Datennetzwerk variiert. Da die Gesamtverzögerung, welche ein Datenpaket beim Durchlaufen des Datennetzwerks erfährt, d. h. die Gesamtlaufzeit, in der Regel nicht bekannt ist bzw. nur mit hohem Aufwand ermittelt werden kann, wird üblicherweise zur Ermittlung von Laufzeitschwankungen nicht die Gesamtlaufzeit der Datenpakete durch das Datennetzwerk ermittelt, sondern die relative Laufzeitdifferenz zwischen zwei aufeinander folgenden Datenpaketen der Ermittlung der Laufzeitschwankungen zugrunde gelegt. Die relative Laufzeitdifferenz zwischen zwei aufeinander folgenden Datenpaketen wird häufig auch als Packet-to-Packet-Delay-Variation bezeichnet. Die relative Laufzeitdifferenz zwischen zwei aufeinander folgenden Datenpaketen kann mit vergleichsweise geringem Aufwand anhand einer lokalen Uhr des Empfängers der Datenpakete geschehen.
  • Im Folgenden soll ein Beispiel für die Berechnung der relativen Laufzeitdifferenz zwischen zwei aufeinander folgenden Datenpaketen dargestellt werden. Die relative Laufzeitdifferenz zwischen Datenpaketen, welche zu einer Folge von Datenpaketen gehören, die mit dem Index n = 0, 1, 2, ... gekennzeichnet sind, wird hierbei als PPDV (Packet-to-Packet-Delay-Variation) bezeichnet. Der Eintreffzeitpunkt des Datenpakets mit Index n wird mit tn bezeichnet. Es handelt sich dabei um die Zeit der lokalen Uhr des Empfängers, bei der das Datenpaket mit Index n in dem Zwischenspeicher eingetroffen ist. Entsprechend wird der Zeitpunkt, bei dem das nächste Datenpaket eingetroffen ist, mit tn+1 bezeichnet. Wenn die Zeitdauer, welche den in dem Datenpaket enthaltenen Daten entspricht, mit dn bezeichnet wird, ergibt sich für die Laufzeitdifferenz zwischen dem Datenpaket mit Index n und dem Datenpaket mit Index n+1: PPDV = (tn + dn) – tn+1.
  • Dabei entspricht tn + dn dem Zeitpunkt, an welchem das Datenpaket mit Index n+1 eintreffen müsste, falls dem Datenpaket mit Index n+1 in dem Datennetzwerk exakt die gleiche Verzögerung widerfahren würde wie dem Datenpaket mit Index n. Der Mittelwert über die auf diese Weise berechneten Laufzeitdifferenzen wird als mittlere Paket-zu-Paket-Laufzeitdifferenz (Mean-Packet-to-Packet-Delay-Variation) bezeichnet und liefert eine Näherung für die Laufzeitschwankungen von Datenpaketen beim Durchlaufen des Datennetzwerks.
  • Die Datenpakete müssen dabei nicht in der gleichen Reihenfolge eintreffen, wie sie vom Sender ausgesendet wurden. Es ist in Datennetzwerken häufig anzutreffen, dass die Datenpakete ungeordnet (”out of Order”) eintreffen. Für das oben beschriebene Verfahren zur Berechnung der Laufzeitdifferenz ist es nicht zwingend erforderlich, die Eintreffzeitpunkte tn der Datenpakete zu sortieren, um die Laufzeitdifferenzen berechnen zu können. Vielmehr kann, um Aufwand bei der Berechnung einzusparen, die Laufzeitdifferenz allgemein gemäß PPDV = (tn + dn) – tn+m berechnet werden. Dabei kann m sowohl positiv als auch negativ sein und ist derart bestimmt, dass tn+m der Eintreffzeitpunkt des Datenpakets ist, welches unmittelbar nach dem Datenpaket mit Index n eintrifft. Wenn die Datenpakete in der gleichen Reihenfolge eintreffen, wie sie vom Sender ausgesendet werden, ist m = 1.
  • Andere Verfahren zum Berechnen der Laufzeitdifferenzen zwischen zwei aufeinander folgenden Datenpaketen setzen in der Regel zusätzliche Informationen in den Datenpaketen, wie z. B. eine Zeitmarkierung in Form eines so genannten Timestamps, der die Uhrzeit zum Zeitpunkt des Sendens oder Erzeugens des Datenpaktes repräsentiert, voraus. Beispielsweise ist in der Spezifikation RFC 1889 die Berechnung von Laufzeitdifferenzen zwischen zwei aufeinander folgenden Datenpakten auf Basis der Datenpaket-Timestamps und den Eintreffzeitpunkten der Datenpakete beim Empfänger definiert. Des Weiteren ist in dieser Spezifikation vorgesehen, für die Berechnung der momentanen Laufzeitschwankungen die berechneten Werte für die Laufzeit differenzen von jeweils zwei aufeinander folgenden Datenpaketen durch einen Tiefpass erster Ordnung zu mitteln. Dabei ist auch die Zeitkonstante für den Tiefpass in dieser Spezifikation definiert. Anhand dieses bekannten Verfahrens ist es möglich, einen Wert zu gewinnen, welcher die gemittelte Größe der momentan in dem Datennetzwerk auftretenden Laufzeitschwankungen darstellt.
  • Wenn der auf diese Weise ermittelte Wert für die Laufzeitschwankungen des Datennetzwerks zur Bestimmung der zusätzlichen Ausspielverzögerung durch den Zwischenspeicher verwendet wird, ergibt sich jedoch als Problem, dass die Laufzeitschwankungen typischerweise nicht gleichverteilt sind. Vielmehr treten in mehr oder weniger regelmäßigen Zeitabständen Phasen vergrößerter Laufzeitschwankungen, so genannte Jitter Bursts, auf. Diese Phasen vergrößerter Laufzeitschwankungen müssen bei der Berechnung der zusätzlichen Ausspielverzögerung durch den Zwischenspeicher berücksichtigt werden. Dies kann beispielsweise geschehen, indem der nach dem obigen Verfahren ermittelte mittlere Wert für die Laufzeitschwankungen mit einem Faktor multipliziert wird, der die tatsächliche Verteilung der Laufzeitschwankungen berücksichtigen soll. Da es sich hierbei jedoch um einen fest vorgegebenen Faktor handelt, muss dieser für die ungünstigste Verteilung der Laufzeitschwankungen ausgelegt sein, so dass sich in der Regel eine zusätzliche Ausspielverzögerung ergibt, welche deutlich größer ist als benötigt.
  • Ein anderer Ansatz ist beispielsweise aus dem US-Patent Nr. 6,259,677 B1 bekannt, wobei in diesem Fall die Mindestlaufzeit eines Datenpakets durch das Datennetzwerk ermittelt wird. Auf Basis dieser Mindestlaufzeit können die Gesamtlaufzeiten der Datenpakete durch das Datennetzwerk ermittelt werden. Über die auf diese Weise ermittelten Gesamtlaufzeiten kann wiederum ein Maß für die Laufzeitschwankungen bei der Übertragung der Datenpakete durch das Datennetzwerk ermittelt werden. Hierbei besteht jedoch zum einen das Problem, dass sich die Mindestlaufzeit durch das Datennetzwerk während der Übermittlung der Datenpakete zwischen dem Sender und dem Empfänger ändern kann. In diesem Fall würde die Berechnung der Gesamtlaufzeiten bzw. der Differenzen der Gesamtlaufzeiten mit einem Fehler behaftet sein, da die zuvor ermittelte Mindestlaufzeit unter Umständen nicht mehr erreicht werden kann. Zum anderen bestehen auch bei diesem Verfahren gewisse Bedingungen an die Verteilung der Laufzeitschwankungen, so dass auch hierbei das ermittelte Maß für die Laufzeitschwankungen mit einem Sicherheitsfaktor beaufschlagt werden muss, um die Verteilung der Netzwerkschwankungen zu berücksichtigen.
  • Die US 2003/0152094 A1 beschreibt eine adaptive Steuerung für einen Zwischenspeicher zur Kompensation von Laufzeitschwankungen. Eine Anpassung der zusätzlichen Ausspielverzögerung durch den Zwischenspeicher erfolgt durch Auswertung von drei Größen: ein Integral der Variation der Laufzeit der Pakete über das Netzwerk, die Schwankungen der Laufzeit der Pakete und eine zusätzliche Wartezeit aufgrund des Vorhandenseins von Paketen, welche nicht der gesendeten Reihenfolge der Pakete entsprechen.
  • Die US 5,966,387 A beschreibt ein Verfahren und eine entsprechende Vorrichtung zum Erfassen von Laufzeitschwankungen von Datenpaketen und zum Korrigieren von Timestamp-Werten in den Datenpaketen in Übereinstimmung mit den erfassten Laufzeitschwankungen. Die Laufzeitschwankungen werden durch Korrelation einer erwarteten Ankunftszeit und einer tatsächlichen Ankunftszeit von Datenpaketen mit einem aus den erwarteten und tatsächlichen Ankunftszeiten der zuvor empfangenen Datenpakete aufgebauten Datensatz bestimmt.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren sowie eine Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen bereitzustellen, welche es auf einfache und zuverlässige Weise ermöglichen, die zusätzliche Ausspielverzögerung durch den Zwischenspeicher an die in dem Datennetzwerk auftretenden Laufzeitschwankungen anzupassen.
  • Diese Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1 sowie durch eine Vorrichtung mit den Merkmalen des Anspruchs 18. Die abhängigen Ansprüche definieren bevorzugte und vorteilhafte Ausführungsformen der Erfindung.
  • Erfindungsgemäß ist vorgesehen, dass die Laufzeitschwankungen von Datenpaketen kompensiert werden, indem die Datenpakete, welche über eine Übertragungsstrecke übermittelt werden, in einem Zwischenspeicher zwischengespeichert werden. Anschließend werden die zwischengespeicherten Datenpakete aus dem Zwischenspeicher in vorgegebenen Zeitintervallen und nach einer zusätzlichen Ausspielverzögerung ausgespielt, so dass die Laufzeitschwankungen der Datenpakete kompensiert werden. Es ergibt sich dabei für Datenpakete mit einer größeren Gesamtlaufzeit über die Übertragungsstrecke eine kürzere Verweildauer in dem Zwischenspeicher und für Datenpakete mit einer geringeren Gesamtlaufzeit über die Übertragungsstrecke eine größere Verweildauer in dem Zwischenspeicher. Bei den Datenpaketen kann es sich insbesondere um Datenpakete handeln, welche Sprachdaten übermitteln, z. B. im Rahmen einer Datennetzwerk-basierten Übermittlung von Sprachdaten. Hierbei kann es sich speziell um eine so genannte Voice-over-IP-Anwendung oder IP-Telefonie-Anwendung handeln. Die Übertragungsstrecke kann es sich somit insbesondere durch ein Datennetzwerk oder einen Teil eines Datennetzwerks gebildet sein.
  • Erfindungsgemäß ist vorgesehen, dass die Laufzeitdifferenzen der Datenpakete bezüglich des jeweils vorangegangenen Datenpakets ermittelt werden, beispielsweise auf Basis einer lokalen Uhr in dem Empfänger und einer der in den Datenpaketen codierten Daten entsprechenden Zeitdauer. Bei dem vorangegangenen Datenpaket kann es sich um das unmittelbar vorher ausgesendete Datenpaket oder um das unmittelbar vorher in dem Zwischenspeicher eingetroffene Datenpaket handeln. Die ermittelten Laufzeitdifferenzen werden integriert, um einen integrierten Laufzeitdifferenzwert zu erhalten. Die zusätzliche Ausspielverzögerung durch den Zwischenspeicher wird nun abhängig von dem integrierten Laufzeitdifferenzwert eingestellt.
  • Hieraus ergibt sich als Vorteil, dass mit dem integrierten Laufzeitdifferenzwert eine Größe erhalten wird, welche das optimale Verhalten für die zusätzliche Ausspielverzögerung durch den Zwischenspeicher widerspiegelt. Beispielsweise steigt in dem Fall, dass die Datenpakete beschleunigt eintreffen, der Wert der integrierten Laufzeitdifferenz an, da sich zwischen zwei aufeinander folgenden Datenpaketen stets eine positive Laufzeitdifferenz ergibt. Ein ähnliches Verhalten würde sich für die Belegung des Zwischenspeichers ergeben. Die Anzahl der Datenpakete im Zwischenspeicher würde in diesem Fall ansteigen. Wenn hingegen die Datenpakete verlangsamt eintreffen, würde die Laufzeitdifferenz zwischen zwei aufeinander folgenden Datenpaketen stets negativ sein und so mit der Wert der integrierten Laufzeitdifferenz kleiner werden. Auch dies entspricht dem Verhalten der Belegung des Zwischenspeichers. Die Anzahl der Datenpakete im Zwischenspeicher würde in diesem Fall abnehmen. Da somit die integrierte Laufzeitdifferenz das vorgesehene Verhalten der Belegung des Zwischenspeichers und somit auch das Verhalten der optimalen Ausspielverzögerung widerspiegelt, kann auf Basis der integrierten Laufzeitdifferenz besonders vorteilhaft die zusätzliche Ausspielverzögerung durch den Zwischenspeicher eingestellt werden. Da in den integrierten Laufzeitdifferenzwert auch extreme Laufzeitschwankungen miteinfließen, wird durch die erfindungsgemäße Vorgehensweise auch eine ungleichmäßige Verteilung der Laufzeitschwankungen berücksichtigt.
  • Die Laufzeitdifferenzen werden erfindungsgemäß vorzugsweise als relative Laufzeitdifferenzen bezüglich des jeweils vorangegangenen Datenpakets ermittelt. Alternativ oder zusätzlich ist es jedoch auch möglich, beispielsweise basierend auf einer Mindestlaufzeit der Datenpakete, die Laufzeitdifferenzen als Gesamtlaufzeitdifferenzen zu ermitteln. Dies bedeutet, dass bei der Ermittlung der Laufzeitdifferenzen die jeweilige Gesamtlaufzeit eines Datenpakets von dem Empfänger zu dem Sender einfließt. Der Sendezeitpunkt kann dabei beispielsweise anhand eines so genannten Timestamps ermittelt werden.
  • Um die Berechnung der zusätzlichen Ausspielverzögerung auf Basis des integrierten Laufzeitdifferenzwerts mit einer größeren Flexibilität an die Netzwerkbedingungen anpassen zu können, ist es bevorzugt, einen minimalen und einen maximalen Extremwert für den integrierten Laufzeitdifferenzwert zu erfassen und die zusätzliche Ausspielverzögerung nicht direkt auf Basis des integrierten Laufzeitdifferenzwerts einzustellen, sondern abhängig von dem erfassten minimalen und maximalen Extremwert. Zum Erfassen des minimalen und des maximalen Extremwerts des integrierten Laufzeitdifferenzwerts kommen dabei vorzugsweise ein Minimalwert-Detektor bzw. ein Maximalwert-Detektor zum Einsatz. Der Minimalwert-Detektor ist dabei derart ausgestaltet, dass er einen neuen Wert annimmt, wenn der erfasste integrierte Laufzeitdifferenzwert den momentanen Wert des Minimalwert-Detektors unterschreitet. Der Maximalwert-Detektor ist derart ausgestaltet, dass er einen neuen Wert annimmt, wenn der erfasste integrierte Laufzeitdifferenzwert den momentanen Wert des Maximalwert-Detektors überschreitet. Die Ausspielverzögerung kann dann abhängig von dem Wert des Minimalwert-Detektors und dem Wert des Maximalwert-Detektors eingestellt werden.
  • Die Verwendung des Minimalwert-Detektors und des Maximalwert-Detektors bietet den Vorteil, dass Zeitkonstanten für die übernahme eines neuen Werts derart definiert werden können, dass ein neuer Extremwert vergleichsweise schnell angenommen wird, während in den Fällen, wenn keine neuen Extremwerte für die integrierte Laufzeitdifferenz erfasst werden, ein vergleichsweise langsames Nachregeln des jeweiligen Werts des Minimalwert-Detektors und des Maximalwert-Detektors erfolgt. Vorzugsweise erfolgt das Übernehmen von neuen Extremwerten unendlich schnell, d. h. sofort. Das Nachregeln, d. h. ein allmähliches Vergrößern des Werts des Minimalwert-Detektors und ein allmähliches Verkleinern des Werts des Maximalwert-Detektors, wenn jeweils keine neuen Extremwerte erfasst werden, erfolgt vorzugsweise nur dann, wenn neue Datenpakete eingetroffen sind und somit auch neue Informationen zur Auswertung der Laufzeitdifferenzen verfügbar sind. Auf diese Weise wird vermieden, dass in Phasen verringerter Übertragungsaktivität, beispielsweise bei Gesprächspausen im Rahmen einer bidirektionalen Übertragung von Sprachdaten, eine Fehlanpassung der zusätzlichen Ausspielverzögerung erfolgt.
  • Die zusätzliche Ausspielverzögerung durch den Zwischenspeicher wird vorzugsweise abhängig von der Differenz zwischen dem Wert des Maximalwert-Detektors und dem Wert des Minimalwert-Detektors eingestellt. Diese Differenz entspricht den größten innerhalb eines bestimmten Zeitintervalls aufgetretenen Laufzeitschwankungen. Bei Einstellung der zusätzlichen Ausspielverzögerung auf diesen Wert wird somit die zusätzliche Ausspielverzögerung auf einen möglichst geringen Wert gesetzt. Ein geringer Wert der zusätzlichen Ausspielverzögerung gewährleistet wiederum eine optimale Übertragungsqualität von Sprachdaten im Rahmen einer bidirektionalen Übertragung von Sprachdaten, beispielsweise bei einer Voice-over-IP-Anwendung.
  • Um jedoch eine zusätzliche Sicherheit gegenüber einem Unterlauf bzw. Leerlaufen des Zwischenspeichers zu gewährleisten, wird die Differenz des Werts des Maximalwert-Detektors und des Minimalwert-Detektors vorzugsweise um einen Zusatzbetrag vergrößert, so dass die Laufzeitschwankungen möglichst nicht unterschätzt werden. Der Zusatzbetrag zur Vergrößerung der Differenz kann dabei als multiplikativer Faktor oder als additiver Zusatzbetrag bereitgestellt sein. In beiden Fällen ist es möglich, den Zusatzbetrag fest vorzugeben oder adaptiv anzupassen. Eine adaptive Anpassung dieses Zusatzbetrags ermöglicht es dabei, einen geeigneten Kompromiss zwischen einer möglichst kurzen zusätzliche Ausspielverzögerung und gleichzeitig einer hohen Sicherheit gegenüber einem Unterlauf oder Leerlaufen des Zwischenspeichers zu gewährleisten.
  • Eine erfindungsgemäße Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen umfasst als Zwischenspeicher ausgestaltete Speichermittel zum Zwischenspeichern von über eine Übertragungsstrecke empfangenen Datenpaketen und ist derart ausgestaltet, dass die zwischengespeicherten Datenpakete nach einer zusätzlichen Ausspielverzögerung in vorgegebenen Zeitintervallen aus dem Zwischenspeicher ausgespielt werden. Erfindungsgemäß ist die Vorrichtung mit Steuermitteln versehen, welche dazu ausgestaltet sind, die Laufzeitdifferenzen der Datenpakete bezüglich des jeweils vorangegangenen Datenpakets zu ermitteln, die Laufzeitdifferenzen zu integrieren, um einen integrierten Laufzeitdifferenzwert zu erhalten, und die zusätzliche Ausspielverzögerung abhängig von dem integrierten Laufzeitdifferenzwert einzustellen. Dies geschieht vorzugsweise gemäß dem zuvor beschriebenen erfindungsgemäßen Verfahren.
  • Die Vorrichtung kann beispielsweise in Form eines Computersystems mit einer entsprechenden Software bereitgestellt sein, kann jedoch auch durch entsprechende Hardware implementiert sein. Insbesondere ist es möglich, die Vorrichtung in eigens für die Datennetzwerk-basierte Übermittlung von Sprachdaten ausgestalteten Vorrichtungen, z. B. so genannten IP-Telefonen, einzusetzen.
  • Die vorliegende Erfindung ermöglicht eine besonders effektive Berücksichtigung der in einem Datennetzwerk auftretenden Laufzeitschwankungen bei der Einstellung der zusätzlichen Ausspielverzögerung durch den Zwischenspeicher zur Kompensation der Laufzeitschwankungen. Insbesondere werden durch die vorliegende Erfindung auch vorübergehende Phasen besonders starker Laufzeitschwankungen bei der Einstellung der Ausspielverzögerung berücksichtigt, ohne dass es hierbei zu einem dauerhaft unnötig hoch eingestellten Wert der zusätzlichen Ausspielverzögerung kommt.
  • Die Erfindung wird nachfolgend anhand eines bevorzugten Ausführungsbeispiels unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert.
  • 1 zeigt eine Anordnung zur Kompensation von Laufzeitschwankungen von Datenpaketen gemäß einem Ausführungsbeispiel der Erfindung,
  • 2 zeigt ein Flussdiagramm zur Veranschaulichung eines Verfahrens zur Einstellung einer Ausspielverzögerung von Datenpaketen gemäß dem Ausführungsbeispiel der Erfindung,
  • 3 veranschaulicht jeweils in Form eines Flussdiagramms eine Umsetzung eines Maximalwert-Detektors und eines Minimalwert-Detektors, wobei sich 3(a) auf die Umsetzung des Maximalwert-Detektors bezieht und 3(b) sich auf die Umsetzung des Minimalwert-Detektors bezieht,
  • 4 zeigt ein Computersystem, welches im Rahmen einer Datennetzwerk-basierten Telefonie-Anwendung einsetzbar ist und zur Kompensation von Laufzeitschwankungen gemäß dem Ausführungsbeispiel von 13 ausgestaltet ist.
  • 1 zeigt schematisch ein Beispiel für eine Anordnung zur Kompensation von Laufzeitschwankungen von Datenpaketen 1, welche auf einem als Jitter Buffer ausgestalteten Zwischenspeicher 10 basiert und Teil eines Empfängers ist. Die Datenpakete 1 werden über eine Übertragungsstrecke 40, welche durch ein Datennetzwerk bzw. einen Teil eines Datennetzwerks gebildet ist, empfangen und in dem Zwischenspeicher 10 zwischengespeichert. Die Datenpakete 1 sind mit einer Zeitmarkierung TSn+x versehen, wobei die Zeitmarkierung den Zeitpunkt des Erzeugens oder Aussendens der Datenpakete 1 durch einen Sender (nicht dargestellt) widerspiegelt. Die Datenpakete 1 werden in dem Zwischenspeicher 10 zwischengespeichert und anschließend in vorgegebenen Zeitintervallen aus dem Zwischenspeicher 10 ausgespielt, so dass die Laufzeitschwankungen, welchen die in dem Zwischenspeicher 10 eintreffenden Datenpakete 1 unterliegen, ausgeglichen werden. Hierfür erfolgt durch den Zwischenspeicher 10 eine zusätzliche Ausspielverzögerung ΔT, welche gewährleisten soll, dass der Zwischenspeicher 10 nicht leerläuft, d. h. dass stets das momentan auszuspielende Datenpaket 1 auch in dem Zwischenspeicher 10 verfügbar ist. Die Zeitmarkierung des momentan ausgespielten Datenpakets 1 ist mit TSn bezeichnet, und die nachfolgenden Zeitmarkierungen weisen gemäß x = 1, 2, 3 usw. einen entsprechend höheren Index auf.
  • Die Zeitmarkierungen TSn+x spiegeln für jedes der Datenpakete 1 den Zeitpunkt seines Aussendens bzw. Erzeugens wider. Die Datenpakete 1 codieren Sprachdaten, welche von dem Sender als kontinuierlicher Datenstrom übermittelt werden, so dass jedes der Datenpakete 1 eine vorgegebene Länge von Sprachdaten enthält und sich der gesamte Datenstrom der Sprachdaten durch Zusammensetzen des Inhalts der einzelnen Datenpakete 1 ergibt. Die Länge der in den Datenpaketen 1 codierten Sprachdaten kann beispielsweise 10 ms oder 30 ms betragen. Die Zeitmarkierungen TSn+x und TSn+x+1 zweier aufeinander folgender Datenpakete 1 unterscheiden sich somit um die Länge der in den Datenpaketen 1 codierten Sprachdaten.
  • Auch wenn das vorliegende Beispiel nachfolgend anhand von übermittelten Sprachdaten diskutiert wird, können durch die Datenpakete auch andere Daten, beispielsweise Videodaten, übermittelt werden.
  • Die Zeitmarkierungen TSn+x der Datenpakete 1 können abhängig von dem verwendeten Übertragungsprotokoll ein unmittelbarer Bestandteil der Datenpakete 1 sein oder aus Bestandteilen der Datenpakete 1 hervorgehen. So ist beispielsweise im Fall des so genannten RTP-Protokolls ein so genannter Timestamp in einem Header der Datenpakete 1 enthalten. Im Falle des so genannten AAL-Protokolls kann die Zeitmarkierung TSn+x basierend auf dem UUI-Feld und dem Sequence-Number-Intervall berechnet werden.
  • Die Datenpakete 1 werden aus dem Zwischenspeicher 10 an einen Decoder 20 ausgespielt, welcher die in den Datenpaketen 1 enthaltenen Sprachdaten decodiert und die Sprachdaten wieder zu einem kontinuierlichen Datenstrom zusammensetzt. Hierfür ist es erforderlich, dass der Decoder 20 die Datenpakete 1 in bestimmten vorgegebenen Zeitintervallen erhält, welche nicht unterschritten werden dürfen. Auf diese Weise wird vermieden, dass fehlende Sprachdaten unter Qualitätsverlust durch Interpolation ergänzt werden müssen. Die vorgegebenen Zeitintervalle, in welchen der Decoder 20 Datenpakete 1 erwartet, sind grundsätzlich abhängig von der Länge der in den Datenpaketen 1 codierten Sprachdaten.
  • Um zu vermeiden, dass Datenpakete 1 zu ihrem vorgesehenen Ausspielzeitpunkt, d. h. wenn der Decoder 20 das jeweilige Datenpaket 1 erwartet, nicht in dem Zwischenspeicher 10 verfügbar sind, stellt der Zwischenspeicher 10 die zusätzliche Ausspielverzögerung ΔT bereit, welche gewährleisten soll, dass möglichst viele der Datenpakete 1 vor ihrem vorgesehenen Ausspielzeitpunkt in dem Zwischenspeicher 10 eintreffen. Da die Eintreffzeitpunkte der Datenpakete 1 in dem Zwischenspeicher 10 von den Netzwerkbedingungen, d. h. von der jeweiligen Laufzeit der Datenpakete durch das Datennetzwerk, abhängig sind, wird die Ausspielverzögerung ΔT mittels eines Steuerungsblocks 15 eingestellt und an die sich verändernden Netzwerkbedingungen angepasst.
  • 2 veranschaulicht in Form eines Flussdiagramms eines Verfahrens zur Einstellung der zusätzlichen Ausspielverzögerung ΔT durch den Zwischenspeicher 10 abhängig von ermittelten Laufzeitschwankungen bei der Übertragung der Datenpakete 1 über das Datennetzwerk.
  • Hierbei ist vorgesehen, dass die relativen Laufzeitdifferenzen von aufeinander folgenden Datenpaketen 1 erfasst werden. Im Folgenden wird die relative Laufzeitdifferenz zwischen zwei aufeinander folgenden Datenpaketen 1 mit PPDV bezeichnet. Wenn die Datenpakete 1 mit dem fortlaufenden, die Reihenfolge des Aussendens widerspiegelnden Index n = 0, 1, 2, ... gekennzeichnet sind, wird die relative Laufzeitdifferenz zwischen dem Datenpaket 1 mit Index n+x und dem Datenpaket 1 mit Index n+x+m gemäß PPDV = (tn+x + dn+x) – tn+x+m berechnet. Dabei bezeichnet tn+x den den Eintreffzeitpunkt des Datenpakets 1 mit Index n+x in dem Zwischenspeicher 10, und tn+x+m bezeichnet den Eintreffzeitpunkt des Datenpakets 1, welches unmittelbar nach dem Datenpaket 1 mit Index n+x eingetroffen ist, d. h. die Berechnung der relativen Laufzeitdif ferenz erfolgt, ohne dass die Eintreffzeitpunkte entsprechend der Reihenfolge, in welcher die Datenpakete 1 vom Sender ausgesendet wurden, geordnet werden müssen. Treffen die Datenpakete 1 in der gleichen Reihenfolge ein, wie sie vom Sender ausgesendet wurden, ist m = 1. Ergibt sich ein zu großer Wert für m, wird das Datenpaket 1 mit Index n+x+m verworfen und die relative Laufzeitdifferenz nicht ausgewertet.
  • Mit dn+x ist ist die dem Datenpaket 1 mit Index n+x entsprechende zeitliche Länge der darin codierten Daten bezeichnet. Bei der paketbasierten Übermittlung von Sprachdaten ist diese zeitliche Länge in der Regel für alle Datenpakete 1 gleich und entspricht beispielsweise 10 ms oder 30 ms. Da die Datenpakete 1 auf Seite des Senders fortlaufend erzeugt und ausgesendet werden, entspricht somit tn+x + dn+x dem dem Zeitpunkt, an welchem das Datenpaket mit Index n+x+1 eintreffen würde, wenn dieses Datenpaket 1 in dem Datennetzwerk exakt der gleichen Verzögerung ausgesetzt ist wie das Datenpaket 1 mit Index n+x.
  • Es bestehen jedoch auch alternative Möglichkeiten zur Berechnung der Laufzeitdifferenzen der Datenpakete 1, beispielsweise auf Basis der Zeitmarkierungen TSn+x der Datenpakete 1 gemäß PPDV = (tn+x – TSn+x) – (tn+x+m – TSn+x+m)oder auf Basis der jeweiligen Gesamtlaufzeit der Datenpakete 1 durch das Datennetzwerk.
  • Das Verfahren zum Einstellen der zusätzlichen Ausspielverzögerung ΔT beginnt, wenn ein neues Datenpaket 1 eingetroffen ist, in Eingangspunkt 100. Anschließend wird in Laufzeitdifferenz-Ermittlungsschritt 110 die relative Laufzeitdifferenz PPDV des neu eingetroffenen Datenpakets 1 bezüglich des vorangegangenen Datenpakets 1 ermittelt, wie oben beschrieben.
  • In Integrationsschritt 120 erfolgt die Integration der ermittelten Laufzeitdifferenz PPDV, d. h. es wird ein integrierter Laufzeitdifferenzwert IPPDV ermittelt. Dies geschieht durch Addition der ermittelten Laufzeitdifferenz PPDV zu dem momentanen integrierten Laufzeitdifferenzwert IPPDV. Der integrierte Laufzeitdifferenzwert IPPDV ist initial auf einen gewünschten Anfangswert gesetzt. In der Regel ist dieser Anfangswert Null, d. h. vor Eintreffen des ersten Datenpakets 1 ist IPPDV = 0.
  • Für die nachfolgend eintreffenden Datenpakete 1 wird dann der integrierte Laufzeitdifferenzwert IPPDV gemäß IPPDV := IPPDV + PPDVneu gesetzt.
  • Anschließend werden in Extremwert-Erfassungsschritt 130 ein minimaler und ein maximaler Extremwert des integrierten Laufzeitdifferenzwerts IPPDV mittels eines Minimalwert-Detektors PDMIN bzw. eines Maximalwert-Detektors PDMAX erfasst. Nach dem Extremwert-Erfassungsschritt 130 entspricht somit der Wert des Minimalwert-Detektors PDMIN dem in einem bestimmten Zeitraum aufgetretenen minimalen Extremwert des integrierten Laufzeitdifferenzwerts IPPDV und der Wert des Maximalwert-Detektors PDMAX dem in einem bestimmten Zeitraum aufgetretenen maximalen Extremwert des integrierten Laufzeitdifferenzwerts IPPDV.
  • In Korrekturschritt 140 werden dann der integrierte Laufzeitdifferenzwert IPPDV, der Wert des Maximalwert-Detektors PDMAX und der Wert des Minimalwert-Detektors PDMIN jeweils um den momentanen Wert des Minimalwert-Detektors PDMIN korrigiert, so dass anschließend der Wert des Minimalwert-Detektors PDMIN Null beträgt. Hierdurch wird zum einen gewährleistet, dass der integrierte Laufzeitdifferenzwert IPPDV, der Wert des Ma ximalwert-Detektors PDMAX und der Wert des Minimalwert-Detektors PDMIN im Laufe der Zeit nicht unbeschränkt anwachsen können. Ein solches unbeschränktes Anwachsen kann beispielsweise durch Taktabweichungen zwischen dem Sender und dem Empfänger verursacht sein. Eine solche Taktabweichung zwischen Sender und Empfänger würde bewirken, dass der integrierte Laufzeitdifferenzwert IPPDV und damit auch der Wert des Maximalwert-Detektors PDMAX oder des Minimalwert-Detektors PDMIN absolut gesehen anwächst. Daher ist es zweckmäßig, den Wertebereich der integrierten Laufzeitdifferenz IPPDV und den Wertebereich des Maximalwert-Detektors PDMAX und des Minimalwert-Detektors PDMIN zu begrenzen.
  • Die im Korrekturschritt 140 durchgeführte Korrektur des integrierten Laufzeitdifferenzwerts IPPDV, der Werte des Maximalwert-Detektors PDMAX und des Minimalwert-Detektors PDMIN erfolgt derart, dass die relativen Abstände der einzelnen Größen zueinander, d. h. ihre Differenzen, gleich bleiben. Hierdurch wird gewährleistet, dass bei nachfolgenden Auswerteschritten neue Extremwerte des integrierten Laufzeitdifferenzwerts IPPDV korrekt erfasst werden können und dass eine Bestimmung der zusätzlichen Ausspielverzögerung ΔT auf Basis der Differenz zwischen dem Wert des Maximalwert-Detektors PDMAX und dem Wert des Minimalwert-Detektors PDMIN nicht beeinträchtigt wird. Vielmehr wird, wie es sich im Folgenden zeigt, das Bestimmen der zusätzlichen Ausspielverzögerung ΔT vereinfacht, da der Wert des Minimalwert-Detektors PDMIN auf Null gesetzt ist.
  • In Berechnungsschritt 150 wird auf Basis des Werts des Maximalwert-Detektors PDMAX und des Wertes des Minimalwert-Detektors PDMIN ein optimierter Wert für die zusätzliche Ausspielverzögerung ΔT berechnet. Dabei entspricht der optimierte Wert für die zusätzliche Ausspielverzögerung ΔT im Wesentlichen der Differenz zwischen dem Wert des Maximalwert-Detektors PDMAX und dem Wert des Minimalwert-Detektors PDMIN. Es ist jedoch ein zusätzlicher Sicherheitsaufschlag vorgese hen, so dass die Differenz um einen Zusatzbetrag vergrößert ist. Dies geschieht durch einen Multiplikationsfaktor M, so dass die zusätzliche Ausspielverzögerung ΔT dann gemäß ΔT = (PDMAX – PDMIN)·Mbestimmt ist.
  • Alternativ kann auch ein additiver Sicherheitsaufschlag N verwendet werden, so dass in diesem Fall die zusätzliche Ausspielverzögerung ΔT durch ΔT = (PDMAX – PDMIN) + Nbestimmt ist. Die Werte für M bzw. für N sind dabei derart beschränkt, dass N größer als Null ist und M größer als 1 ist. Der Sicherheitsaufschlag M bzw. N kann fest vorgegeben sein, wird vorzugsweise jedoch adaptiv abhängig von den Netzwerkbedingungen eingestellt.
  • Da in dem Korrekturschritt 140 der Wert des Maximalwert-Detektors PDMAX und der Wert des Minimalwert-Detektors PDMIN derart korrigiert worden sind, dass bei gleich bleibender Differenz der Wert des Minimalwert-Detektors PDMIN gleich Null ist, vereinfachen sich die oben genannten Ausdrücke für die optimierte zusätzliche Ausspielverzögerung ΔT zu ΔT = PDMAX·Mbzw. ΔT = PDMAX + N.
  • Um die berechnete zusätzliche Ausspielverzögerung konkret einzustellen, sind verschiedene Vorgehensweisen denkbar. Beispielsweise können die vorgegebenen Zeitintervalle, in welchen die Datenpakete 1 aus dem Zwischenspeicher 10 ausge spielt werden, vergrößert werden, um eine Vergrößerung der Ausspielverzögerung zu erreichen. Umgekehrt können die vorgegebenen Zeitintervalle, in welchen die Datenpakete 1 aus dem Zwischenspeicher 10 ausgespielt werden, verkleinert werden, um eine Verkleinerung der zusätzlichen Ausspielverzögerung ΔT zu bewirken.
  • Das Verfahren endet in Endpunkt 160.
  • 3 veranschaulicht eine Umsetzung des Maximalwert-Detektors PDMAX und des Minimalwert-Detektor PDMIN, wobei 3(a) sich auf den Maximalwert-Detektor PDMAX bezieht und 3(b) sich auf den Minimalwert-Detektor PDMIN bezieht.
  • Ein in 3(a) dargestelltes Verfahren zur Anpassung des Werts des Maximalwert-Detektors PDMAX beginnt, wenn ein neues Datenpaket 1 in dem Zwischenspeicher 10 eingetroffen ist, am Eingangspunkt 200. In Vergleichsschritt 210 wird überprüft, ob der neu ermittelte Wert des integrierten Laufzeitdifferenzwerts IPPDV größer oder gleich dem momentanen Wert des Maximalwert-Detektors PDMAX ist. Wenn dies der Fall ist, wird das Verfahren mit Berechnungsschritt 220 fortgesetzt. Wenn dies nicht der Fall ist, wird das Verfahren mit Berechnungsschritt 230 fortgesetzt.
  • In Berechnungsschritt 220 wird der Wert des Maximalwert-Detektors PDMAX auf den neu ermittelten Wert des integrierten Laufzeitdifferenzwerts gesetzt. Es wird somit, für den Fall eines neuen maximalen Extremwerts des integrierten Laufzeitdifferenzwerts IPPDV, dieser sofort als neuer Wert des Maximalwert-Detektors PDMAX übernommen.
  • In Berechnungsschritt 230 wird der Wert des Maximalwert-Detektors PDMAX um einen Wert vermindert, welcher der mit einem Faktor α skalierten Differenz zwischen dem momentanen Wert des Maximalwert-Detektors PDMAX und dem integrierten Laufzeitdifferenzwert IPPDV entspricht: PDMAX := PDMAX – α(PDMAX – IPPDV).
  • Hierdurch wird gewährleistet, dass für den Fall, dass kein neuer Extremwert der integrierten Laufzeitdifferenz IPPDV erfasst wurde, der Wert des Maximalwert-Detektors PDMAX nachgeregelt, d. h. mit der Zeit vermindert wird. Auf diese Weise wird sichergestellt, dass durch den Maximalwert-Detektor PDMAX nicht der absolute maximale Extremwert des integrierten Laufzeitdifferenzwerts IPPDV erfasst wird, sondern ein relativer Extremwert, welcher innerhalb eines bestimmten Zeitraums aufgetreten ist. Durch den Faktor α wird dabei eingestellt, wie schnell sich der Wert des Maximalwert-Detektors PDMAX an den momentanen Wert des integrierten Laufzeitdifferenzwerts IPPDV angleicht, wenn kein neuer Extremwert des integrierten Laufzeitdifferenzwerts IPPDV erfasst wird.
  • Das Verfahren endet jeweils in Endpunkt 240.
  • Ein in 3(b) veranschaulichtes Verfahren zur Anpassung des Werts des Minimalwert-Detektors PDMIN entspricht grundsätzlich dem anhand von 3(a) erläuterten Verfahren zur Anpassung des Werts des Maximalwert-Detektors PDMAX.
  • Das Verfahren beginnt, wenn ein neues Datenpaket 1 in dem Zwischenspeicher 10 eingetroffen ist, in Eingangspunkt 300. Anschließend wird in Vergleichsschritt 310 überprüft, ob der neu ermittelte Wert des integrierten Laufzeitdifferenzwerts IPPDV kleiner oder gleich dem momentanen Wert des Minimalwert-Detektors PDMIN ist. Wenn dies der Fall ist, wird das Verfahren mit Berechnungsschritt 320 fortgesetzt. Wenn dies nicht der Fall ist, wird das Verfahren mit Berechnungsschritt 330 fortgesetzt.
  • In Berechnungsschritt 320 wird der Wert des Minimalwert-Detektors PDMIN auf die neu ermittelte integrierte Laufzeitdifferenz IPPDV gesetzt. Es wird somit in dem Fall, dass die integrierte Laufzeitdifferenz IPPDV einen neuen minimalen Extremwert annimmt, dieser neue Extremwert sofort als neuer Wert des Minimalwert-Detektors PDMIN übernommen.
  • In Berechnungsschritt 330 wird der Wert des Minimalwert-Detektors PDMIN um einen Betrag erhöht, welcher der mit einem Faktor β skalierten Differenz zwischen der integrierten Laufzeitdifferenz IPPDV und dem momentanen Wert des Minimalwert-Detektors PDMIN entspricht: PDMIN := PDMIN + β(IPPDV – PDMIN).
  • Hierdurch wird für den Fall, dass kein neuer minimaler Extremwert des integrierten Laufzeitdifferenzwerts IPPDV erfasst wird, ein Nachregeln des Werts des Minimalwert-Detektors PDMIN, d. h. ein Vergrößern des Werts des Minimalwert-Detektors PDMIN mit der Zeit, bewirkt. Dies gewährleistet wiederum, dass der Minimalwert-Detektor PDMIN nicht den absoluten minimalen Extremwert des integrierten Laufzeitdifferenzwerts IPPDV erfasst, sondern einen innerhalb eines bestimmten Zeitraums auftretenden relativen minimalen Extremwert.
  • Das Verfahren endet jeweils in Endpunkt 340.
  • Die Stärke der Nachregelung des Werts des Maximalwert-Detektors PDMAX und des Werts des Minimalwert-Detektors PDMIN kann somit durch die Faktoren α bzw. β eingestellt werden. Während neue Extremwerte von dem Maximalwert-Detektor PDMAX und dem Minimalwert-Detektor PDMIN sofort, d. h. mit einer kleinen Zeitkonstante, übernommen werden, ist durch die Faktoren α bzw. β jeweils eine Zeitkonstante definiert, mit welcher der Wert des Maximalwert-Detektors PDMAX abnimmt bzw. der Wert des Minimalwert-Detektors PDMIN zunimmt. Diese Zeitkonstanten, d. h. die Faktoren α und β, sind an einen Erwartungswert für zeitliche Abstände zwischen Phasen erhöhter Laufzeitschwankungen in dem Datennetzwerk angepasst. Weiterhin sind die Zeitkonstanten des Maximalwert-Detektors PDMAX und des Minimalwert-Detektors PDMIN anhand der Faktoren α bzw. β derart eingestellt, dass diese einer Drift der jeweiligen Extremwerte, beispielsweise aufgrund von Taktabweichungen zwischen dem Sender und dem Empfänger ausreichend schnell folgen können.
  • Neue Werte für den Maximalwert-Detektor PDMAX und den Minimalwert-Detektor PDMIN werden jeweils nur dann übernommen, wenn ein neues Datenpaket 1 in dem Zwischenspeicher eingetroffen ist und somit auch ein neuer Wert für den integrierten Laufzeitdifferenzwert IPPDV ermittelt werden konnte. Auf diese Weise wird vermieden, dass in Phasen, in welchen keine Datenpakete 1 übermittelt werden, z. B. in Gesprächspausen bei einer IP-Telefonie-Anwendung, die zusätzliche Ausspielverzögerung ΔT durch das Nachregeln der Werte des Maximalwert-Detektors PDMAX und des Minimalwert-Detektors PDMIN auf einen unzulässig kleinen Wert eingestellt wird, welcher insbesondere nicht mehr die Laufzeitschwankungen in dem Datennetzwerk repräsentiert.
  • 4 zeigt ein Computersystem 30, welches zur Verwendung bei einer Datennetzwerk-basierten Telefonie-Anwendung einsetzbar ist. Dabei kann es sich beispielsweise um eine Telefonie-Anwendung über ein IP-basiertes Datennetzwerk handeln. Das Computersystem 30 verfügt über Datenverarbeitungsmittel 35, welche Speichermittel beinhalten, die als der Zwischenspeicher 10 bei der Kompensation von Laufzeitschwankungen von empfangenen Datenpaketen verwendet werden. Das Computersystem 30 verfügt über eine Schnittstelle, über welches es mit der Übertragungsstrecke 40, d. h. dem Datennetzwerk, verbunden ist.
  • Das Computersystem 30 führt einen Programmcode aus, welcher bewirkt, dass die Kompensation der Laufzeitschwankungen von über das Datennetzwerk empfangenen Datenpaketen gemäß dem zuvor anhand von 13 beschriebenen Verfahren erfolgt. Der Programmcode bzw. entsprechende elektronisch lesbare Steuer signale können dem Computersystem beispielsweise über ein Computerprogrammprodukt in Form eines Datenträgers 60, der in einer entsprechenden Lesevorrichtung 32 lesbar ist, zugeführt sein. Die von dem Computersystem 30 empfangenen Datenpakete 1 werden durch den Decoder 20, welcher ebenfalls durch eine entsprechende Software implementiert sein kann, in Sprachdaten umgesetzt, welche anschließend über ein Ein-/Ausgabemittel 50 für Sprachdaten ausgegeben werden. Hierfür umfasst das Ein-/Ausgabemittel 50 für Sprachdaten Ausgabemittel in Form von Lautsprechern 52. Weiterhin ist ein Eingabemittel in Form eines Mikrofons 54 vorgesehen, durch welches Sprachdaten eingegeben werden können. Das Computersystem 30 ist somit derart ausgestaltet, dass auch Sprachdaten in das Computersystem 30 eingegeben werden können und über die Übertragungsstrecke 40 in Form von Datenpaketen an den Sender oder an einen anderen Empfänger ausgesendet werden können. Das Computersystem 30 ist somit insbesondere derart ausgestaltet, dass eine bidirektionale Übermittlung von Sprachdaten möglich ist.
  • Die anhand von 1 beschriebene Anordnung im Zusammenhang mit dem im Vorangegangenen beschriebenen Verfahren zur Kompensation von Laufzeitschwankungen kann jedoch auch in anderen Vorrichtung zum Einsatz kommen, wie z. B. in einem eigens für Datennetzwerk-basierte Telefonie-Anwendungen ausgestalteten IP-Telefon.

Claims (20)

  1. Verfahren zur Kompensation von Laufzeitschwankungen von Datenpaketen (1), umfassend die Schritte: – Zwischenspeichern von über eine Übertragungsstrecke (40) übermittelten Datenpaketen (1) in einem Zwischenspeicher (10), – Ausspielen der zwischengespeicherten Datenpakete (1) aus dem Zwischenspeicher (10) in vorgegebenen Zeitintervallen nach einer zusätzlichen Ausspielverzögerung (ΔT), – Ermitteln der Laufzeitdifferenzen (PPDV) der Datenpakete (1) bezüglich des jeweils vorangegangenen Datenpakets (1), gekennzeichnet durch die Schritte: – Integrieren der Laufzeitdifferenzen (PPDV), um einen integrierten Laufzeitdifferenzwert (IPPDV) zu erhalten, durch Summieren der ermittelten Laufzeitdifferenzen (PPDV), wobei bei Eingang eines neuen Datenpakets (1) der integrierte Laufzeitdifferenzwert gemäß IPPDV := IPPDV + PPDVneu gesetzt wird, wobei IPPDV den integrierten Laufzeitdifferenzwert (IPPDV) bezeichnet und PPDV den für das eingegangene Datenpaket (1) ermittelten Laufzeitdifferenzwert (PPDV) bezeichnet, und – Einstellen der zusätzlichen Ausspielverzögerung (ΔT) abhängig von dem integrierten Laufzeitdifferenzwert (IPPDV).
  2. Verfahren nach Anspruch 1, gekennzeichnet durch den Schritt: – Ermitteln der Laufzeitdifferenzen (PPDV) der Datenpakete (1) als relative Laufzeitdifferenzen.
  3. Verfahren nach Anspruch 1 oder 2 gekennzeichnet durch den Schritt: – Ermitteln der Laufzeitdifferenzen (PPDV) der Datenpakete als Gesamtlaufzeitdifferenzen für Laufzeiten der Datenpakete über die gesamte Übertragungsstrecke (40).
  4. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch die Schritte: – Erfassen eines minimalen und eines maximalen Extremwerts für den integrierten Laufzeitdifferenzwert (IPPDV), und – Einstellen der zusätzlichen Ausspielverzögerung (ΔT) der Datenpakete (1) abhängig von dem erfassten minimalen und maximalen Extremwert.
  5. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch die Schritte: – Erfassen der integrierten Laufzeitdifferenz (IPPDV) mit einem Minimalwert-Detektor (PDMIN) für einen minimalen integrierten Laufzeitdifferenzwert (IPPDV) und einem Maximalwert-Detektor (PDMAX) für einen maximalen integrierten Laufzeitdifferenzwert (IPPDV), wobei der Minimalwert-Detektor (PDMIN) einen neuen Wert annimmt, wenn der erfasste integrierte Laufzeitdifferenzwert (IPPDV) einen momentanen Wert des Minimalwert-Detektors (PDMIN) unterschreitet, und wobei der Maximalwert-Detektor (PDMAX) einen neuen Wert annimmt, wenn der erfasste integrierte Laufzeitdifferenzwert (IPPDV) einen momentanen Wert des Maximalwert-Detektors (PDMAX) überschreitet, – Einstellen der zusätzlichen Ausspielverzögerung (ΔT) abhängig von dem Wert des Minimalwert-Detektors (PDMIN) und dem Wert des Maximalwert-Detektors (PDMAX).
  6. Verfahren nach Anspruch 5, gekennzeichnet durch den Schritt: – Einstellen der zusätzlichen Ausspielverzögerung (ΔT) abhängig von der Differenz zwischen dem Wert des Maximalwert-Detektors (PDMAX) und dem Wert des Minimalwert-Detektors (PDMIN).
  7. Verfahren nach Anspruch 5 oder Anspruch 6, gekennzeichnet durch den Schritt: – Einstellen der zusätzlichen Ausspielverzögerung (ΔT) abhängig von einer um einen Zusatzbetrag vergrößerten Differenz zwischen dem Wert des Maximalwert-Detektors (PDMAX) und dem Werts des Minimalwert-Detektors (PDMIN).
  8. Verfahren nach Anspruch 7, gekennzeichnet durch den Schritt: – Beaufschlagen der Differenz zwischen dem Wert des Maximalwert-Detektors (PDMAX) und dem Wert des Minimalwert-Detektors (PDMIN) mit einem multiplikativen Faktor (M), um die Differenz um den Zusatzbetrag zu vergrößern.
  9. Verfahren nach Anspruch 7 oder 8, gekennzeichnet durch den Schritt: – Addieren eines additiven Aufschlags (N) zu der Differenz zwischen dem Wert des Maximalwert-Detektors (PDMAX) und dem Wert des Minimalwert-Detektors (PDMIN), um die Differenz um den Zusatzbetrag zu vergrößern.
  10. Verfahren nach einem der Ansprüche 5 bis 9, gekennzeichnet durch den Schritt: – Korrigieren des integrierten Laufzeitdifferenzwerts (IPPDV), des Werts des Minimalwert-Detektors (PDMIN) und des Werts des Maximalwert-Detektors (PDMAX) um den Wert des Minimalwert-Detektors (PDMIN), so dass der Wert des Minimalwert-Detektors (PDMIN) auf Null gesetzt wird.
  11. Verfahren nach einem der Ansprüche 5 bis 10, dadurch gekennzeichnet, dass der Minimalwert-Detektor (PDMIN) mit einer ersten Zeitkonstante einen neuen Wert annimmt, wenn der erfasste integrierte Laufzeitdifferenzwert (IPPDV) den momentanen Wert des Minimalwert-Detektors (PDMIN) unterschreitet, und dass der Wert des Minmalwert-Detektors (PDMIN) mit einer zweiten Zeitkonstante, welche größer ist als die erste Zeitkonstante, ansteigt, wenn der erfasste integrierte Laufzeitdif ferenzwert (IPPDV) den momentanen Wert des Minimalwert-Detektors (PDMIN) nicht unterschreitet.
  12. Verfahren nach einem der Ansprüche 5 bis 11, dadurch gekennzeichnet, dass der Maximalwert-Detektor (PDMAX) mit einer ersten Zeitkonstante einen neuen Wert annimmt, wenn der erfasste integrierte Laufzeitdifferenzwert (IPPDV) den momentanen Wert des Maximalwert-Detektors (PDMAX) überschreitet, und dass der Wert des Maximalwert-Detektors (PDMAX) mit einer zweiten Zeitkonstante, welche größer ist als die erste Zeitkonstante, abfällt, wenn der erfasste integrierte Laufzeitdifferenzwert (IPPDV) den momentanen Wert des Maximalwert-Detektors (PDMAX) nicht überschreitet.
  13. Verfahren nach Anspruch 11 oder 12, gekennzeichnet durch den Schritt: – sofortiges Übernehmen eines neuen Werts für den Minimalwert-Detektor (PDMIN) und/oder für den Maximalwert-Detektor (PDMAX), wenn der erfasste integrierte Laufzeitdifferenzwert (IPPDV) den momentanen Wert des Minimalwert-Detektors (PDMIN) unterschreitet und/oder den momentanen Wert des Maximalwert-Detektors (PDMAX) überschreitet.
  14. Verfahren nach einem der Ansprüche 5 bis 13, gekennzeichnet durch den Schritt: – Übernehmen eines neuen Werts für den Minimalwert-Detektor (PDMIN) und/oder für den Maximalwert-Detektor (PDMAX) in regelmäßigen Zeitabständen.
  15. Verfahren nach einem der Ansprüche 5 bis 13, gekennzeichnet durch den Schritt: – Übernehmen eines neuen Werts für den Minimalwert-Detektor (PDMIN) und/oder für den Maximalwert-Detektor (PDMAX) nur wenn ein neues Datenpaket (1) empfangen wurde.
  16. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Anfangswert des integrierten Laufzeitdifferenzwerts (IPPDV) Null ist.
  17. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Übertragungsstrecke (40) Teil eines Datennetzwerks ist und die Datenpakete (1) über das Datennetzwerk übermittelte Sprachdaten enthalten.
  18. Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen, umfassend: – Speichermittel zum Zwischenspeichern von über eine Übertragungsstrecke (40) empfangenen Datenpaketen (1), wobei die Vorrichtung derart ausgestaltet ist, dass die zwischengespeicherten Datenpakete (1) nach einer zusätzlichen Ausspielverzögerung in vorgegebenen Zeitintervallen (ΔT) aus dem Zwischenspeicher (10) ausgespielt werden, – Steuermittel (15), welche dazu ausgestaltet sind, Laufzeitdifferenzen (PPDV) der Datenpakete (1) bezüglich des jeweils vorangegangenen Datenpakets (1) zu ermitteln, dadurch gekennzeichnet, dass die Steuermittel (15) dazu ausgestaltet sind, die Laufzeitdifferenzen (PPDV) zu integrieren, um einen integrierten Laufzeitdifferenzwert (IPPDV) zu erhalten, wobei der integrierte Laufzeitdifferenzwert (IPPDV) berechnet wird durch Summieren der ermittelten Laufzeitdifferenzen (PPDV), wobei bei Eingang eines neuen Datenpakets (1) der integrierte Laufzeitdifferenzwert gemäß IPPDV := IPPDV + PPDVneu gesetzt wird, wobei IPPDV den integrierten Laufzeitdifferenzwert (IPPDV) bezeichnet und PPDV den für das eingegangene Datenpaket (1) ermittelten Laufzeitdifferenzwert (PPDV) bezeichnet, und die zusätzliche Ausspielverzögerung (ΔT) abhängig von dem integrierten Laufzeitdifferenzwert (IPPDV) einzustellen.
  19. Vorrichtung nach Anspruch 18, dadurch gekennzeichnet, dass die Vorrichtung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 17 ausgestaltet ist.
  20. Computerprogrammprodukt, mit einem Programmcode, welcher derart ausgestaltet ist, dass bei seiner Verwendung in einem Computersystem (30) das Verfahren nach einem der Ansprüche 1 bis 17 ausgeführt wird.
DE102004039186A 2004-08-12 2004-08-12 Verfahren und Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen Expired - Fee Related DE102004039186B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102004039186A DE102004039186B4 (de) 2004-08-12 2004-08-12 Verfahren und Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen
US11/203,401 US7969901B2 (en) 2004-08-12 2005-08-12 Method and device for compensating for runtime fluctuations of data packets
US11/203,436 US7643516B2 (en) 2004-08-12 2005-08-12 Method and arrangement for compensating for jitter in the delay of data packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004039186A DE102004039186B4 (de) 2004-08-12 2004-08-12 Verfahren und Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen

Publications (2)

Publication Number Publication Date
DE102004039186A1 DE102004039186A1 (de) 2006-02-23
DE102004039186B4 true DE102004039186B4 (de) 2010-07-01

Family

ID=35721328

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004039186A Expired - Fee Related DE102004039186B4 (de) 2004-08-12 2004-08-12 Verfahren und Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen

Country Status (2)

Country Link
US (1) US7643516B2 (de)
DE (1) DE102004039186B4 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7746847B2 (en) * 2005-09-20 2010-06-29 Intel Corporation Jitter buffer management in a packet-based network
US8483243B2 (en) * 2006-09-15 2013-07-09 Microsoft Corporation Network jitter smoothing with reduced delay
US20080170562A1 (en) * 2007-01-12 2008-07-17 Accton Technology Corporation Method and communication device for improving the performance of a VoIP call
GB0705327D0 (en) * 2007-03-20 2007-04-25 Skype Ltd Method of transmitting data in a commumication system
GB0705329D0 (en) 2007-03-20 2007-04-25 Skype Ltd Method of transmitting data in a communication system
US8150964B2 (en) * 2007-05-25 2012-04-03 Custom Sensors & Technology Wireless industrial data transmission system
US7916761B2 (en) * 2008-11-03 2011-03-29 The Boeing Company Methods and apparatus for adding latency and jitter to selected network packets
GB2495928B (en) 2011-10-25 2016-06-15 Skype Jitter buffer
GB2520866B (en) 2011-10-25 2016-05-18 Skype Ltd Jitter buffer
GB2495929B (en) 2011-10-25 2014-09-03 Skype Jitter buffer
EP3185455A1 (de) * 2015-12-21 2017-06-28 Thomson Licensing Verfahren und vorrichtung zur erkennung von paketverlust bei staggercasting
US9929928B1 (en) * 2015-12-24 2018-03-27 Microsemi Solutions (U.S.), Inc. Packet transmitter and method for timestamping packets
CN109995604B (zh) * 2017-12-29 2023-05-16 华为技术有限公司 一种灵活以太网时延测量方法及相关设备
CN112527782B (zh) * 2019-09-19 2023-09-22 北京京东振世信息技术有限公司 一种数据处理的方法和装置
CN113037853B (zh) * 2021-03-22 2023-01-06 北京字节跳动网络技术有限公司 数据处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966387A (en) * 1995-09-25 1999-10-12 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
US6259677B1 (en) * 1998-09-30 2001-07-10 Cisco Technology, Inc. Clock synchronization and dynamic jitter management for voice over IP and real-time data
US20030152094A1 (en) * 2002-02-13 2003-08-14 Colavito Leonard Raymond Adaptive threshold based jitter buffer management for packetized data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933414A (en) * 1996-10-29 1999-08-03 International Business Machines Corporation Method to control jitter in high-speed packet-switched networks
JP3599557B2 (ja) * 1998-02-27 2004-12-08 沖電気工業株式会社 処理レート監視装置
US6763274B1 (en) * 1998-12-18 2004-07-13 Placeware, Incorporated Digital audio compensation
DE60104353T2 (de) * 2000-04-07 2005-07-21 Ntt Docomo Inc. Verfahren und Einrichtung zur Reduktion des Verzögerungsjitters in der Datenübertragung
JP4173998B2 (ja) * 2003-02-19 2008-10-29 リーダー電子株式会社 ジッタ・キャンセルの方法および装置
US7969901B2 (en) * 2004-08-12 2011-06-28 Lantiq Deutschland Gmbh Method and device for compensating for runtime fluctuations of data packets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966387A (en) * 1995-09-25 1999-10-12 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
US6259677B1 (en) * 1998-09-30 2001-07-10 Cisco Technology, Inc. Clock synchronization and dynamic jitter management for voice over IP and real-time data
US20030152094A1 (en) * 2002-02-13 2003-08-14 Colavito Leonard Raymond Adaptive threshold based jitter buffer management for packetized data

Also Published As

Publication number Publication date
DE102004039186A1 (de) 2006-02-23
US7643516B2 (en) 2010-01-05
US20060034338A1 (en) 2006-02-16

Similar Documents

Publication Publication Date Title
DE102004039186B4 (de) Verfahren und Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen
DE69934066T2 (de) Echoregler mit Kompensation für Netzwerke mit variabler Verzögerung
DE60305793T2 (de) Verfahren, Sender und Empfänger zur Anpassung der Kodierrate an eine wechselnde Übertragungsrate
DE3101775A1 (de) Sprachdetektor mit mehrfachem, variablem schwellenwert
DE69934092T2 (de) Dekoderpufferspeicher für einen empfänger von videodatenströmen und methode
EP0729229B1 (de) Adaptives Balancefilter
EP0978172B1 (de) Verfahren zum verschleiern von fehlern in einem audiodatenstrom
DE3242577A1 (de) Endeinrichtung zur digitalen duplexuebertragung ueber eine zweidrahtleitung
DE102005039192A1 (de) Verfahren zur Störungsanalyse eines Datenstroms, insbesondere eines Echtzeit-Datenstroms, in einem Datennetz, Kommunikationssystem und Überwachungsrechner
DE102009008092B4 (de) Verfahren und Vorrichtung zum Kompensieren von Abtastratenschwankungen
EP1278339A1 (de) Verfahren und Anordnung zur Übermittlung von Daten aus einem ersten Datennetz in ein zweites Datennetz
DE3329779A1 (de) Verfahren und schaltungsanordnung zur herstellung von konferenzverbindungen in einem vermittlungssystem
EP1460810B1 (de) Verfahren und Jitterpufferregelschaltung zur Regelung eines Jitterpuffers
DE102017113482A1 (de) Verfahren und System zur Übertragung und latenzarmen schritthaltenden Weiterverarbeitung und/oder Ausgabe eines Audiodatenstroms
DE2842082C3 (de) Echounterdrücker für eine vieradrige Telefonleitung
EP0833459B1 (de) Verfahren und Anordnung zur Begrenzung des Restechos
DE102004063953B4 (de) Verfahren und Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen
DE102004039185B4 (de) Verfahren und Vorrichtung zur Kompensation von Laufzeitschwankungen von Datenpaketen
DE3040241C2 (de)
DE60300391T2 (de) Verfahren zur Paketpufferspeicherverwaltung und zugehörige Vorrichtung
EP1142234B1 (de) Übertragungssystem mit echounterdrückung
EP1372286A1 (de) Verfahren zur empfängerseitigen Rückgewinnung und/oder Nachregelung einer Abtastfrequenz zur Anpassung an die Abtastfrequenz eines empfangenen Signals
DE10228861B4 (de) Verfahren zur Übertragung von zeitsynchronen Daten
DE102007019090B3 (de) Verfahren und Vorrichtung zum Regeln einer Datenrate
DE102016207785A1 (de) Verfahren und Vorrichtung zur Qualitätsbeurteilung eines Videostroms bei der Übertragung von Videotelefonie

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Inventor name: GORYN, DANIEL, 81929 MUENCHEN, DE

Inventor name: DEGENHARDT, ACHIM, 81249 MUENCHEN, DE

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

Owner name: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R081 Change of applicant/patentee

Owner name: LANTIQ DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20110325

Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20110325

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012841000

R081 Change of applicant/patentee

Owner name: INTEL CORP., SANTA CLARA, US

Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE

Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R081 Change of applicant/patentee

Owner name: INTEL CORP., SANTA CLARA, US

Free format text: FORMER OWNER: LANTIQ BETEILIGUNGS-GMBH & CO. KG, 85579 NEUBIBERG, DE

R082 Change of representative
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012841000

Ipc: H04L0047280000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee