DE60306452T2 - Wiederverwendbare Multiprotokollmeta-Architektur für Voice-over-IP Wiedergabe - Google Patents
Wiederverwendbare Multiprotokollmeta-Architektur für Voice-over-IP Wiedergabe Download PDFInfo
- Publication number
- DE60306452T2 DE60306452T2 DE60306452T DE60306452T DE60306452T2 DE 60306452 T2 DE60306452 T2 DE 60306452T2 DE 60306452 T DE60306452 T DE 60306452T DE 60306452 T DE60306452 T DE 60306452T DE 60306452 T2 DE60306452 T2 DE 60306452T2
- Authority
- DE
- Germany
- Prior art keywords
- time
- real
- timestamp
- protocol
- playback
- 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
Links
- 238000009877 rendering Methods 0.000 claims description 50
- 238000000034 method Methods 0.000 claims description 17
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims 1
- 230000001934 delay Effects 0.000 claims 1
- 238000013459 approach Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 239000000654 additive Substances 0.000 description 5
- 230000000996 additive effect Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001850 reproductive effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/53—Centralised arrangements for recording incoming messages, i.e. mailbox systems
- H04M3/533—Voice mail systems
- H04M3/53333—Message receiving aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/14—Delay circuits; Timers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/40—Electronic components, circuits, software, systems or apparatus used in telephone systems using speech recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/2072—Schedules, e.g. personal calendars
Description
- "Diese Erfindung betrifft den Empfang und die Wiedergabe von in Paketen organisierten Echtzeitdaten."
- Mit der wachsenden Gewichtung auf Annäherung in der Halbleiterindustrie müssen neue Produkte in der Lage sein, Information von irgendeiner Schnittstelle zu irgendeiner anderen Schnittstelle zu transportieren, irgendein Informationsformat in ein anderes umzuwandeln und neue Dienste und Technologien zur Verfügung zu stellen, wenn sie eingeführt werden. Die Möglichkeit, Sprache über ein Paketnetzwerk zu übertragen, ist ein Kennzeichen der Fortentwicklung der Annäherung. Bei Voice-Over-IP (VoIP) wird die analoge Sprachquelle digitalisiert und in Proben quantisiert, und diese Proben werden in Nutzeinheiten zusammengepackt. Ein Kopf wird an jeder Nutzeinheit befestigt und das sich ergebende Paket für über ein Netzwerk an sein Ziel geschickt. Zusätzlich dazu, daß er Felder niedrigerer Schichten enthält, so wie Routing-Information für das Paket, muß der Paketkopf auch Neuordnungs- und Neuzeitgebungsinformation enthalten, die von dem Ziel verwendet werden kann, um die Audioproben für das Paket und alle Pakete desselben Sprachrufes korrekt und ohne Verzerrung auszuspielen.
- Ein Problem ist, daß es in dieser neuen Arena der Annäherung viele unterschiedliche Ansätze geben kann, im wesentlichen dieselbe Information über eine VoIP-Nutzeinheit zu transportieren. Das Echtzeit-Transportprotokoll (RTP-Real Time Transport Protocol), das in der RFC-1889 dokumentiert ist, liefert einen Satz von Funktionen von Endstelle zu Endstelle, die in der Lage sind, Sprach-Nutzeinheiten über ein IP-Netzwerk zu übertragen. Das RTP-Kopfformat definiert unter anderen Dingen einen Quellenidentifizierer mit 32 Bit, einen Nutzeinheittyp mit 7 Bit, eine Sequenzzahl mit 16 Bit und einen Zeitstempel mit 32 Bit. Andererseits liefert eine Spezifikation der dienstespezifischen Konvergenz-Unterschicht (SSCS-Service Specific Convergent Sublayer), dokumentiert in der ITU-T Empfehlung I.366.2, ein Satz von Formaten und Prozeduren, die zweckmäßig sind, Sprach-Nutzeinheiten über AAL2 zu transportieren. Das SSCS-Kopfformat definiert einen UUI-Codepunkt mit 5 Bit, der, abhängig von dem Profil für die Verbindung, zwischen einem Nutzeinheiten-Typenfeld und einer Sequenzzahl aufgeteilt werden soll. Natürlich gibt es viele andere Beispiele solcher Prozeduren.
- In der Vergangenheit ist die Hardwaregestaltung für VoIP spezifisch für das Protokoll, das unterstützt werden soll, maßgeschneidert worden. Dieser klassische Ansatz kann in der Vergangenheit angemessen gewesen sein, da eine Vorrichtung ein Protokoll unterstützt hat. Wie jedoch früher angemerkt, mit der wachsenden Gewichtung auf Annäherung, wird von den Vorrichtungen erwartet, daß sie mehrere Protokolle handhaben, im Grundsatz von irgendeiner VoIP-Einkapselung in irgendeine andere umwandeln. Die vorliegende Erfindung stellt eine Meta-Architektur, eine Gestaltungsmethode, für das Behandeln von VoIP bei mehreren Protokollen zur Verfügung. Mit diesem Gestaltungsansatz sind alle Redundanzen unter den Protokollen eingefangen und modularisiert, so daß die große Mehrheit der Hardwaregestaltung von einer Implementation zu einer anderen erneut genutzt werden kann, was viel ingenieursmäßigen Einsatz spart.
- Die
US 5 630 005 betrifft ein System zum Suchen nach einem bestimmten Wiedergabe-Zeitindex in einer gemischten Audio/Videodatei, welche einen mit variabler Geschwindigkeit codierten Inhalt speichert, befaßt sich jedoch nicht mit Einschränkungen der Echtzeitwiedergabe und liefert eine Lösung für nur ein einziges Codierprotokoll. - Zusätzliche Aufgaben, Vorteile und neue Merkmale der Erfindung werden teilweise in der Beschreibung, die folgt, dargelegt und werden teilweise den Fachleuten beim Überprüfen des Folgenden deutlich oder können durch Ausführen der Erfindung erlernt werden. Die Aufgaben und Vorteile der Erfindung können mittels der Gerätschaften und Kombinationen realisiert und erhalten werden, auf die insbesondere in den beigefügten Ansprüchen hingewiesen wird.
- Gemäß einem Aspekt der Erfindung wird ein Verfahren zur Verarbeitung von mit unvereinbaren Protokollen kompatiblen Echtzeit-Datenpaketen in einem Empfänger-Kommunikationsnetzwerkknoten zur Echtzeit-Wiedergabe des übermittelten Dateninhalts zur Verfügung gestellt. Jedes Echtzeit-Datenpaket wird in einem entsprechenden protokollspezifischen Vorverarbeitungsmodul empfangen, das mit einer generischen Wiedergabemaschine kommunikationsfähig verbunden ist, um Dateninhalt im wesentlichen in Echtzeit wiederzugeben. Das Echtzeit-Datenpaket hat einen zugeordneten protokollspezifischen Zeitstempel. Der protokollspezifische Zeitstempel wird aus dem empfangenen Echtzeit-Datenpaket syntaktisch bestimmt. Und, der syntaktisch bestimmte Zeitstempel wird in einen konvertierten Zeitstempel umgewandelt, der von der generischen Wiedergabemaschine gelesen werden kann.
- Gemäß einem weiteren Aspekt der Erfindung wird eine Paketempfangsvorrichtung zur Vorverarbeitung von Echtzeit-Datenpaketen in einem Empfänger-Kommunikationsnetzwerkknoten zur Echtzeit-Wiedergabe von darin übermitteltem Dateninhalt zur Verfügung zu gestellt. Eine generische Wiedergabemaschine gibt übermittelten Dateninhalt im wesentlichen in Echtzeit wieder. Ein protokollspezifisches Modul ist kommunikationsfähig mit der generischen Wiedergabemaschine gekoppelt und empfängt protokollspezifische Echtzeit-Datenpakete. Das Modul umfaßt weiter einen Vorprozessor zum Überprüfen jedes empfangenen Paketes in Echtzeit, um einen darin spezifizierten Zeitstempel syntaktisch zu bestimmen, und einen Zeitstempel-Konverter (
22 ) zum Konvertieren des syntaktisch bestimmten Zeitstempels in einen konvertierten Zeitstempel, der von der generischen Protokollmaschine gelesen werden kann. - Gemäß noch einem weiteren Aspekt der Erfindung wird ein computerlesbares Medium, das computerlesbare Anweisungen speichert, zur Vorverarbeitung von Echtzeit-Datenpaketen in einem Empfänger-Kommunikationsnetzwerkknoten zur Verfügung gestellt. Die computerlesbaren Anweisungen umfassen computerlesbare Anweisungen, welche eine generische Wiedergabemaschine zum Wiedergeben von Dateninhalt im wesentlichen in Echtzeit implementieren, und computerlesbare Anweisungen, die ein protokollspezifisches Modul, das kommunikationsfähig mit der generischen Wiedergabemaschine zum Empfangen von protokollspezifischen Echtzeit-Datenpaketen gekoppelt ist, implementieren. Die Anweisungen, die das protokollspezifische Modul implementieren, umfassen weiterhin Anweisungen zum Untersuchen jedes erhaltenen Paketes in Echtzeit, um einen darin spezifzierten Zeitstempel syntaktisch zu bestimmen, und Anweisungen zum Konvertieren des syntaktisch bestimmten Zeitstempels in einen konvertierten Zeitstempel, der von der generischen Protokollmaschine gelesen werden kann.
- Die Erfindung faßt ein modulares Wiedergabesystem ins Auge, welches eine generische Wiedergabemaschine, die an ein protokollspezifisches Modul gekoppelt ist, aufweist. Diese Komponenten sind für irgendein Echtzeit- oder VoIP-Protokoll erneut nutzbar. Protokollspezifische Module werden verwendet, um die ankommende Aufgabe umzuwandeln und zu formatieren, falls notwendig, und jegliche notwendige Information für die Wiedergabemaschine herauszuziehen. Das das protokollspezifische Modul Datenpakete auf ein vorbestimmtes Format konvertiert, das für die generische Wiedergabemaschine akzeptabel ist, kann dieselbe Wiedergabemaschine mit irgendeinem Protokoll eingesetzt werden, indem auf das geeignete protokollspezifische Modul umgeschaltet wird.
- Das protokollspezifische Modul empfängt ein Paket. Dieses Modul besteht aus zwei Komponenten, einem Vorprozessor und einem Modul, welches einen Zeitstempel erzeugt. Der Vorprozessor bestimmt und erhält irgendwelche Information, die von der Wiedergabemaschine gefordert wird, so wie einen Zeitstempel in dem ursprünglichen Format des Pakets. Das Modul, das den Zeitstempel erzeugt, erzeugt einen Zeitstempel für das Paket, der mit der generischen Wiedergabemaschine kompatibel ist.
- Die generische Wiedergabemaschine verarbeitet ein Paket mit einem vorbestimmten Zeitstempel. Die generische Wiedergabemaschine weist einen Übersetzer für den Zeitstempel in die Wiedergabezeit und einen Komparator auf. Die Übersetzereinrichtung für den Zeitstempel zur Wiedergabezeit berechnet eine Wiedergabezeit für das Paket. Beim Berechnen der Wiedergabezeit addiert die Übersetzereinheit bevorzugt zu dem Zeitstempel eine beobachtete Verzögerungszeit und eine Jitter-Verzögerung. Die beobachtete Verzögerungszeit ist eine Kombination aus der Abbildung von der entfernten zur lokalen Uhr und der Fortpflanzungsverzögerung. Die Jitter-Verzögerung ermöglicht es der Wiedergabemaschine, Pakete unterzubringen, die außerhalb der Reihe oder mit einer inkonsistenten Geschwindigkeit ankommen. Der Komparator vergleicht die Wiedergabezeit mit der lokalen Zeit und gibt das Paket zu der geeigneten Zeit wieder. Natürlich ist dann, wenn das Protokoll, das verwendet wird, kompatibel mit der generischen Wiedergabemaschine ist, ein protokollspezifisches Modul nicht erforderlich.
- Im Betrieb wird ein Paket von dem protokollspezifischen Modul empfangen. Das Paket wird durch den Vorprozessor syntaktisch analysiert. Das Paket wird dann an den Zeitstempel-Generator geschickt, welcher den Zeitstempel des Paketes im ursprünglichen Format des Paketes bestimmt und dann einen Zeitstempel erzeugt, der mit der generischen Wiedergabemaschine kompatibel ist. Das Paket mit konvertiertem Zeitstempel wird dann an die generische Wiedergabemaschine geschickt, wo es von der Übersetzereinrichtung für den Zeitstempel in Wiedergabezeit bearbeitet wird. Die Übersetzereinrichtung bestimmt dann die Wiedergabezeit. Beim Erzeugen einer Wiedergabezeit erhält die Übersetzereinrichtung den Zeitstempel und fügt einen Verzögerungsfaktor hinzu. Der Verzögerungsfaktor besteht bevorzugt aus zwei Komponenten, einer beobachteten Verzögerung und einer Jitter-Verzögerung. Die Kom ponente der beobachteten Verzögerung ist die Summe aus Inkonsistenzen bei der Taktabbildung von lokal zu entfernt und der Fortpflanzungsverzögerung. Die Jitter-Verzögerung, die üblicherweise einstellbar ist, ermöglicht es der Wiedergabemaschine, Pakete unterzubringen, die außerhalb der Reihe oder mit einer inkonsistenten Geschwindigkeit empfangen werden. Ein Komparator hält dann das Paket bis zur geeigneten Zeit, und es wird dann wiedergegeben.
- Unter den Nutzen und Verbesserungen, die offenbart worden sind, werden weitere Aufgaben und Vorteile dieser Erfindung aus der folgenden Beschreibung deutlich, die in Zusammenhang mit den beigefügten Zeichnungen gesehen wird. Die Zeichnungen bilden einen Teil dieser Beschreibung und umfassen beispielhafte Ausführungsformen der vorliegenden Erfindung und veranschaulichen verschiedene Aufgaben und Merkmale.
- KURZBESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNG
- Die Zeichnungen veranschaulichen die beste Art, die gegenwärtig für das Ausführen der Erfindung in Betracht gezogen wird.
-
1 ist ein Blockschaubild des Systems, das von der vorliegenden Erfindung in Betracht gezogen wird, gekoppelt an ein protokollspezifisches Modul; -
2 ist ein detaillierteres Blockschaubild des Systems der vorliegenden Erfindung und des protokollspezifischen Moduls, die in1 gezeigt sind; -
3 ist ein Blockschaubild der Betriebsweise der vorliegenden Erfindung. - GENAUE BESCHREIBUNG DER ERFINDUNG
- Die generische Wiedergabemaschine für mehrere Protokolle der vorliegenden Erfindung betrachtet ein modulares System mit einer generischen Wiedergabemaschine, die an ein protokollspezifisches Einsteckmodul gekoppelt wird, wenn dies nötig ist. Bei der bevorzugten Ausführungsform sind die Maschine und das protokollspezifische Einschubmodul in Hardware entwickelt, jedoch wird den Fachleuten leicht deutlich, daß die modulare Gestaltung der vorliegenden Erfindung aus Hardware, Software oder einer Kombination aus diesen bestehen kann.
- Mit Bezug auf
1 ist ein Blockschaubild einer Ausführungsform der vorliegenden Erfindung gezeigt, die im allgemeinen mit10 bezeichnet wird. Eine ankommende Aufgabe wird von einem protokollspezifischen Modul12 bearbeitet und wird dann an eine generische Wiedergabemaschine14 geschickt. Nachdem die Aufgabe von der generischen Wiedergabemaschine14 bearbeitet ist, kann die Ausgabe an eine Wiedergabevorrichtung für die Ausgabe oder an eine weitere Komponente der Wiedergabemaschine für die weitere Bearbeitung geschickt werden. Die vorliegende Erfindung befaßt sich hauptsächlich mit Algorithmen für VoIP, so wie das Übersetzen des Zeitstempels in einen Wiedergabezeit, und mit Gestaltungen zum Implementieren der Algorithmen, so daß wieder nutzbare Hardwarevorrichtungen implementiert werden können, die protokollunabhängig sind, nicht mit der tatsächlichen Wiedergabe der Aufgabe. - Bei der bevorzugten Ausführungsform ist die Eingabe in die Wiedergabemaschine
14 ein Paket mit einem Zeitstempel mit 32 Bit, so wie er in RTP zur Verfügung gestellt wird. Wenn das Protokoll etwas anders ist, als die Gestaltung der Wiedergabemaschine14 akzeptiert, dann muß ein protokollspezifisches Modul12 einen Zeitstempel aus was immer sich auch in dem Kopf des Pakets befindet, erzeugen. - Mit Bezug auf
2 ist eine genauere Beschreibung der vorliegenden Erfindung gezeigt. Der Vorprozessor20 und der Zeitstempel-Generator22 weisen das protokollspezifische Einschubmodul12 auf, während der Übersetzer24 von Zeitstempel in Wiedergabezeit und der Komparator26 die generische Wiedergabemaschine14 umfassen. Es wird erwogen, daß die Funktionen dieser Komponenten in Hardware, Software oder einer Kombination aus diesen ausgeführt werden können. - Die Betriebsweise der Wiedergabemaschine der
2 wird nun erläutert werden. Eine Aufgabe (nicht gezeigt), typischerweise ein empfangenes VoIP-Paket, wird an dem protokollspezifischen Einschubmodul ankommen. Der Vorprozessor20 analysiert das Paket syntaktisch und erhält jegliche Information, die von der Wiedergabemaschine14 oder dem Zeitstempel-Generator22 benötigt werden, so wie den Zeitstempel des Paketes in seinem ursprünglichen Format. Der Zeitstempel-Generator22 wandelt dann den Zeitstempel aus dem ursprünglichen Format des Paketes in ein Format um, das mit der generischen Wiedergabemaschine14 kompatibel ist. Das Paket wird dann an die generische Wiedergabemaschine14 geschickt. Der Übersetzer24 löst die Wiedergabezeit der Aufgabe, wobei der Zeitstempel verwendet wird, der entweder ausdrücklich in dem Paketkopf vorgesehen ist, oder implizit aus der Information in dem Kopf erzeugt worden ist. Bevorzugt wird die Aufgabe einen Zeitstempel mit 32 Bit enthalten, welcher die Zeit darstellt, an der die erste Audioprobe in dem Paket von der Analogquelle erzeugt worden ist. Der Zeitstempel ermöglicht es, daß die ungefähre Wiedergabezeit aus dem Paket extrapoliert werden kann. Um sicherzustellen, daß das Audio am Empfängerende nicht verzerrt klingt, wird die Abtastzeit ts auf die Wiedergabezeit tp abgebildet, wobei die Abbildung eine einfache additive Übersetzung ist: tp – ts + Δ. - Um einen geeigneten Wert für Δ zu bestimmen, sollte angemerkt werden, daß die Abbildung von Zeitstempel auf Wiedergabezeit die Summe aus drei Komponenten ist, dem Unterschied zwischen dem Takt des Sensors und des Empfängers, der Fortpflanzungsverzögerung der Pakete von Sender zu Empfänger und der Jitter-Toleranz.
- Die erste Komponente beim Bestimmten von Δ ist die Abbildung der entfernten Uhr auf die Lokale. Die Uhren bei zwei unterschiedlichen Computern sind typischerweise nicht synchronisiert, und somit hat jeder Computer seine eigene Zeit. Die Taktrate jedoch, zum Beispiel 8 kHz, wird üblicherweise einmal zuvor ausgehandelt. Handschlagprotokolle zum Aushandeln von Taktraten sind in der Technik wohlbekannt. Im Gegensatz dazu ist es viel schwieriger, die tatsächliche Ablesung der Uhr zu irgendeiner gegebenen Zeit auszuhandeln, ohne eine synchrone Quelle, die beiden Seiten zur Verfügung steht, zum Beispiel einem Satelliten (GPS). Daher wird in IP-Netzwerken es typischerweise akzeptiert, daß beide Seiten Uhren mit einer vernünftig genauen Taktrate haben, nämlich der ausgehandelten Frequenz, jedoch der Wert jeder Uhr in dem Netzwerk zu irgendeiner gegebenen Zeit beliebig ist. Es sollte angemerkt werden, daß es Systeme gibt, die die Taktrate alle 125 Mikrosekunden aushandeln, jedoch nicht den tatsächlichen Zeitstempel.
- Zum Beispiel kann die Uhr des Empfängers 192 lesen, während die Uhr des Senders 901 liest, somit ist die erste Komponente des additiven Übersetzungsfaktors Δ, die Abbildung der entfernten Uhr auf die Lokale, berechnet, indem die Differenz zwischen den Uhren ausgerechnet wird, die bei diesem Beispiel 901 – 192 = 709 ist.
- Der zweite Faktor beim Bestimmen von Δ ist die Fortpflanzungsverzögerung. Selbst wenn die Uhren auf dem sendenden und dem empfangenden Ende synchronisiert wären, braucht es noch einige Zeit für ein Paket, sich von dem Sender zu dem Empfänger fortzupflanzen. Diese Verzögerung muß auch ein Teil des additiven Übersetzungsfaktors Δ sein, der beim Berechnen der Wiedergabezeit aus dem geschickten Zeitstempel verwendet wird.
- Der dritte Faktor beim Bestimmen von Δ ist die Jitter-Toleranz. Wenn nur die Abbildung von entfernter Uhr auf die Lokale und die Fortpflanzungsverzögerung beim Berechnen von Δ benutzt werden, dann würde die Wiedergabezeit immer der Abtastzeit gleich sein, kalibriert auf die Differenz zwischen entfernter Uhr und lokaler, plus der Verzögerung, die für die Übertragung des Paketes von dem Sender an den Empfänger erforderlich ist. Obwohl dieser Ansatz arbeiten würde, wenn Pakete mit einer konstanten Geschwindigkeit ankommen, ist dies in der Praxis, insbesondere für IP-Netzwerke, nicht immer der Fall. Einige Pakete können schneller ankommen als erwartet und in Schüben, während es bei anderen Paketen eine längere Zeit brauchen kann, bis sie ankommen. Diese Variation in der Paketankunftsrate ist als Jitter bekannt. Um Jitter zu kompensieren, muß eine Wiedergabemaschine Pakete über einen Zeitbetrag puffern, der ausreichend ist, das geordnete, regelmäßige Ausspielen der Pakete zu erlauben. Daher, um den Jitter zu kompensieren, wird eine zusätzliche Wiedergabeverzögerung eingeführt, die auch beim Berechnen von Δ verwendet werden muß. Typischerweise ist eine akzeptable Jitter-Verzögerung üblicherweise zwischen 128 und 256 Millisekunden und ist in das System einprogrammiert.
- Obwohl diese drei Faktoren theoretisch Δ ausmachen, sind in der Praxis die ersten beiden Faktoren, die Abbildung der entfernten Uhr auf die Lokale und die Fortpflanzungsverzögerung, ununterscheidbar. Die Summe der Wirkungen der ersten beiden Faktoren, die beobachtete Verzögerung oder d0 kann durch Beobachtung bestimmt werden, indem die Abtastzeit, zum Beispiel der Zeitstempel des Senders, von der Ankunftszeit an der Uhr des Empfängers subtrahiert wird. Diese Differenz, d0, verkörpert die Summe der Effekte der Abbildung der entfernten Uhr auf die Lokale und der Fortpflanzungsverzögerung. Zu Beginn eines Rufes kann der Mittelwert der beobachteten Verzögerung zum Berechnen eines sich ergebenden Mittels d0 für den Ruf berechnet werden. Zum Beispiel kann die beobachtete Verzögerung der ersten vier Pakete verwendet werden, um d0 zu berechnen.
- Die Jitter-Toleranz, d1, ist ein programmierbarer Wert für jeden Ruf. Daher wird der Wert von Δ bestimmt durch Δ = d0 + d1.
- Nachdem der Übersetzer
24 für Zeitstempel in Wiedergabezeit die Aufgabe bearbeitet hat, wird sie an den Unterblock26 zum Vergleichen der Wiedergabezeit mit der gegenwärtigen Zeit geschickt. Logischerweise, wenn einmal eine Wiedergabezeit zugewiesen worden ist, wird die Zeit andauernd überwacht und mit der laufenden Zeit verglichen. Wenn sie gleich sind, wird das Paket oder die Aufgabe wiedergegeben. Oftmals wird ein Puffer benutzt, um tatsächlich diesen Block zu implementieren. - Wie es von der vorliegenden Erfindung beabsichtigt ist, wird die generische Wiedergabemaschine
14 einmal gestaltet und dann für jedes VoIP-Einkapselungsprotokoll erneut benutzt. Bei eng angenäherten Produkten kann dieser erneute Einsatz sogar innerhalb desselben Produktes auftreten, da mehrere VoIP-Protokolle unterstütz werden können. Um eine einzige Installation der generischen Wiedergabemaschine14 erneut zu nutzen, muß ein protokollspezifisches Modul12 für jedes Protokoll für jedes unterstützte Protokoll geliefert werden. - Obwohl die Ausführungsformen von
1 und2 eine Eins-zu-Eins-Korrelation zwischen protokollspezifischen Modulen und Wiedergabemaschinen zeigen, ist auch beabsichtigt, daß eine Vielzahl von protokollspezifischen Modulen mit einer einzigen Wiedergabemaschine gekoppelt werden können. Multiplexen oder andere Schaltmittel können verwendet werden, um das geeignete protokollspezifische Modul auszuwählen. Zum Beispiel kann das protokollspezifische Modul nur einmal programmiert werden, um nur eine Ausgabe zu erzeugen, wenn das empfangene Paket als für das protokollspezifische Modul erkannt wird. - Weiterhin wird auch beabsichtigt, daß die generische Wiedergabemaschine
14 der vorliegenden Erfindung auch gestaltet werden kann, daß sie ohne ein protokollspezifisches Modul für ein bestimmtes Protokoll arbeiten kann. Wenn zum Beispiel die generische Wiedergabemaschine14 dazu gestaltet ist, nach RTP formatierte Pakete zu lesen, dann ist, wenn die Wiedergabemaschine für eine Vorrichtung auf einem mit RTP kompatiblen Netzwerk verwendet wird, ein protokollspezifisches Modul12 nötig. Jedoch ist das protokollspezifische Modul12 für jegliches nicht mit RTP kompatible Netzwerk nötig. Bei dieser Ausführungsform würde das protokollspezifische Modul12 irgendwelche empfangenen Pakete in ein mit RTP kompatibles Format mit einem mit RTP kompatiblem Zeitstempel umwandeln müssen. - Mit Bezug nun auf
3 ist ein Verfahren gezeigt, das für das System der vorliegenden Erfindung in Betracht gezogen wird, im allgemeinen mit300 bezeichnet. Im Schritt302 wird ein Paket empfangen. Das Paket würde durch das protokollspezifische Modul von einem Empfänger empfangen werden. Im Schritt304 verarbeitet der Vorprozessor20 das Paket, so daß es mit der generischen Wiedergabemaschine14 kompatibel ist. Die Vorverarbeitung kann das Neuformatieren des Kopfes des Paketes, das Herausziehen von Information, so wie dem Zeitstempel des Paketes in seinem ursprünglichen Format, und das Erhalten von Neuordnungs- und Neuzeitgebungsdaten umfassen, ist jedoch nicht darauf beschränkt. Im Schritt306 wird das Paket von dem Zeitstempel-Generator22 verarbeitet. Der Zeitstempel-Generator erzeugt einen Zeitstempel, so wie einen RTP-ähnlichen Zeitstempel, zur Verwendung durch die generische Wiedergabemaschine14 . Das Modul12 ist protokollspezifisch und wandelt den Zeitstempel des Pakets in ein Format um, das mit der generischen Wiedergabemaschine14 kompatibel ist. - Im Schritt
308 wird das Paket von dem Übersetzer24 von Zeitstempel in Wiedergabezeit der generischen Wiedergabemaschine14 bearbeitet. Die Wiedergabezeit wird berechnet, indem der additive Übersetzungsfaktor Δ zum Zeitstempel des Pakets addiert wird. Wie zuvor diskutiert, besteht der additive Übersetzungsfaktor Δ aus drei Komponenten, einer Komponente der Abbildung von entfernter Uhr auf die Lokale, einer Komponente der Fortpflanzungsverzögerung und einer Komponente der Jitter-Toleranz. - Nach dem Berechnen der Wiedergabezeit wird im Schritt
310 die Wiedergabezeit mit der Systemzeit verglichen. Wenn die Wiedergabezeit länger ist als die Systemzeit, dann wird, wie im Schritt312 gezeigt, das Paket entsorgt. - Wenn die Wiedergabezeit nicht länger ist als die Systemzeit im Schritt
310 , fährt die Verarbeitung dann mit Schritt314 fort. Im Schritt314 wird das Paket gepuffert bis zur Wiedergabezeit, woraufhin es dann im Schritt316 an eine Wiedergabevorrichtung geschickt wird. - Obwohl die vorliegende Erfindung so beschrieben ist, daß der Zeitstempel in RTP umgewandelt wird, können die Fachleute leicht erkennen, daß irgendein Zeitstempel, der es der Wiedergabemaschine ermöglicht, mit Sicherheit die Wiedergabezeit zu bestimmen, verwendet werden kann.
- Obwohl die Erfindung in bezug auf eine bestimmte bevorzugte Ausführungsform gezeigt und beschrieben worden ist, ist es offensichtlich, daß äquivalente Änderungen und Modifikationen den Fachleuten beim Lesen und Verstehen dieser Beschreibung in den Sinn kommen werden. Die vorliegende Erfindung umfaßt alle solchen äquivalenten Änderungen und Modifikationen und ist nur durch den Umfang der folgenden Ansprüche beschränkt.
Claims (23)
- Verfahren zur Verarbeitung von mit unvereinbaren Protokollen kompatiblen Echtzeit-Datenpaketen in einem Empfänger-Kommunikationsnetzwerkknoten zur Echtzeit-Wiedergabe des übermittelten Dateninhalts, wobei das Verfahren gekennzeichnet ist durch: Empfangen jedes Echtzeit-Datenpakets in einem entsprechenden protokollspezifischen Vorverarbeitungsmodul (
12 ), das mit einer generischen Wiedergabemaschine (14 ) kommunikationsfähig verbunden ist, um Dateninhalt im wesentlichen (314 ) in Echtzeit wiederzugeben (316 ), wobei das Echtzeit-Datenpaket einen zugeordneten protokollspezifischen Zeitstempel hat; syntaktisches Bestimmen (304 ) des protokollspezifischen Zeitstempels aus dem empfangenen Echtzeit-Datenpaket; und Konvertieren (306 ) des syntaktisch bestimmten Zeitstempels in einen konvertierten Zeitstempel, der von der generischen Wiedergabemaschine (14 ) gelesen werden kann. - Verfahren nach Anspruch 1, wobei jedes Echtzeit-Datenpaket ein protokollspezifisches Format hat, wobei das Verfahren ferner gekennzeichnet ist durch: syntaktisches Bestimmen (
304 ) des in jedem empfangenen Echtzeit-Datenpaket übermittelten Echtzeit-Dateninhalts; und Konvertieren (304 ) des syntaktisch bestimmten Dateninhalts in konvertierten Dateninhalt, der von der generischen Wiedergabemaschine (14 ) gelesen werden kann. - Verfahren nach Anspruch 1 oder 2, ferner gekennzeichnet durch Verwerfen (
312 ) eines Echtzeit-Datenpakets, wenn auf der Grundlage des entsprechenden konvertierten Zeitstempels bestimmt wird (310 ), daß die in dem Datenpaket übermittelten Echtzeit-Daten zu spät empfangen wurden. - Verfahren nach Anspruch 1, 2 oder 3, ferner gekennzeichnet durch: Bestimmen (
308 ) einer Wiedergabezeit aus dem Wert des konvertierten Zeitstempels; und Versorgen der generischen Wiedergabemaschine (14 ) mit der bestimmten Wiedergabezeit zusammen mit dem Echtzeit-Dateninhalt, um dessen Wiedergabe (316 ) in Echtzeit im wesentlichen (314 ) zu der bestimmten Wiedergabezeit zu bewirken. - Verfahren nach Anspruch 4, wobei das Bestimmen der Wiedergabezeit ferner gekennzeichnet ist durch Addieren (
308 ) einer beobachteten Transportverzögerung und/oder einer Jitter-Verzögerung zum konvertierten Zeitstempel. - Verfahren nach Anspruch 5, wobei das Addieren der beobachteten Transportverzögerung ferner gekennzeichnet ist durch Erlangen der beobachteten Transportverzögerung durch Mitteln der beobachteten Transportverzögerungen, erfahren durch eine Gruppe von empfangenen Echtzeit-Datenpaketen.
- Verfahren nach einem der Ansprüche 1 bis 6, wobei das Echtzeit-Datenpaket ferner ein Sprache-über-Internetprotokoll-Paket umfaßt.
- Verfahren nach einem der Ansprüche 1 bis 7, wobei die generische Wiedergabemaschine mit dem Echtzeit-Protokoll kompatibel ist.
- Paketempfangsvorrichtung zur Vorverarbeitung von Echtzeit-Datenpaketen in einem Empfänger-Kommunikationsnetzwerkknoten zur Echtzeit-Wiedergabe von darin übermitteltem Dateninhalt, wobei die Paketempfangsvorrichtung (
10 ) gekennzeichnet ist durch: eine generische Wiedergabemaschine (14 ) zur Wiedergabe (316 ) von übermitteltem Dateninhalt im wesentlichen in Echtzeit; und ein protokollspezifisches Modul (12 ), das mit der generischen Wiedergabemaschine (14 ) kommunikationsfähig gekoppelt ist, zum Empfangen von protokollspezifischen Echtzeit-Datenpaketen, wobei das protokollspezifische Modul (12 ) umfaßt: i. einen Vorprozessor (20 ) zum Inspizieren jedes empfangenen Pakets in Echtzeit, um einen darin festgelegten Zeitstempel syntaktisch zu bestimmen (304 ); und ii. einen Zeitstempel-Konverter (22 ) zum Konvertieren (306 ) des syntaktisch bestimmten Zeitstempels in einen konvertierten Zeitstempel, der von der generischen Wiedergabemaschine (14 ) gelesen werden kann. - Vorrichtung nach Anspruch 9, wobei entweder der syntaktisch bestimmte Zeitstempel oder der konvertierte Zeitstempel einen mit dem Echtzeit-Protokoll kompatiblen Zeitstempel umfaßt.
- Vorrichtung nach Anspruch 9 oder 10, wobei das Echtzeit-Datenpaket Dateninhalt mit einem protokollspezifischen Format übermittelt, wobei die Vorrichtung ferner gekennzeichnet ist durch: den Vorprozessor (
20 ), der ferner jedes empfangene Paket inspiziert, um den darin empfangenen Echtzeit-Dateninhalt syntaktisch zu bestimmen (304 ); und einen Protokoll-Konverter zum Konvertieren (304 ) des syntaktisch bestimmten Dateninhalts in einen konvertierten Dateninhalt, der von der generischen Wiedergabemaschine (14 ) gelesen werden kann. - Vorrichtung nach Anspruch 9, 10 oder 11, ferner gekennzeichnet durch ein Wiedergabezeit-Bestimmungsmittel (
24 ) zum Bestimmen (308 ) einer Wiedergabezeit aus dem Wert des konvertierten Zeitstempels, wobei die bestimmte Wiedergabezeit zusammen mit dem Echtzeit-Dateninhalt selektiv (310 ) an die generische Wiedergabemaschine (14 ) übergeben wird, um die Wiedergabe (316 ) im wesentlichen (314 ) zu der bestimmten Wiedergabezeit zu bewirken, wenn mindestens ein durch den konvertierten Zeitstempel und die bestimmte Wiedergabezeit festgelegter Zeitwert größer oder gleich der aktuellen Zeit ist. - Vorrichtung nach Anspruch 12, wobei das Wiedergabezeit-Bestimmungsmittel (
24 ) ferner gekennzeichnet ist durch computerlesbare Anweisungen, die auf einem computerlesbaren Medium gespeichert sind und die dafür codiert sind, bei Ausführung die Wiedergabezeit zu bestimmen (308 ). - Vorrichtung nach Anspruch 13, wobei die auf einem computerlesbaren Medium gespeicherten computerlesbaren Anweisungen ferner gekennzeichnet sind durch: Anweisungen, die ausführbar sind, um eine beobachtete Transportverzögerung zu bestimmen; und Anweisungen, die ausführbar sind, um eine Jitter-Verzögerung zu bestimmen.
- Vorrichtung nach einem der Ansprüche 12, 13 oder 14, wobei entweder das Wiedergabezeit-Bestimmungsmittel (
24 ) oder die generische Wiedergabemaschine (14 ) ferner gekennzeichnet ist durch ein Vergleichsmittel (26 ) mit computerlesbaren Anweisungen, die auf einem computerlesbaren Medium gespeichert sind und die dafür codiert sind, bei Ausführung zu bestimmen (310 ), ob der empfangene Dateninhalt wiedergegeben werden soll. - Vorrichtung nach einem der Ansprüche 12, 13, 14 oder 15, wobei das Wiedergabezeit-Bestimmungsmittel (
24 ) ferner gekennzeichnet ist durch ein Zeitadditionsmittel, das dafür konfiguriert ist, eine beobachtete Transportverzögerung und/oder eine Jitter-Verzögerung selektiv zum konvertierten Zeitstempel zu addieren. - Vorrichtung nach Anspruch 16, wobei das Zeitadditionsmittel ferner gekennzeichnet ist durch computerlesbare Anweisungen, die auf einem computerlesbaren Medium gespeichert sind und die dafür codiert sind, die beobachtete Transportverzögerung und/oder die Jitter-Verzögerung bei Ausführung selektiv zum konvertierten Zeitstempel zu addieren.
- Computerlesbares Medium, das computerlesbare Anweisungen speichert, zur Vorverarbeitung von Echtzeit-Datenpaketen in einem Empfänger-Kommunikationsnetzwerkknoten, wobei die computerlesbaren Anweisungen gekennzeichnet sind durch: computerlesbare Anweisungen, die eine generische Wiedergabemaschine (
14 ) implementieren, zur Wiedergabe (316 ) von Dateninhalt im wesentlichen in Echtzeit; computerlesbare Anweisungen, die ein protokollspezifisches Modul (12 ) implementieren, das mit der generischen Wiedergabemaschine (14 ) kommunikationsfähig verbunden ist, zum Empfangen von protokollspezifischen Echtzeit-Datenpaketen ferner umfassend: i. Anweisungen zum Inspizieren jedes empfangenen Pakets in Echtzeit, um einen darin festgelegten Zeitstempel syntaktisch zu bestimmen (304 ); und ii. Anweisungen zum Konvertieren (306 ) des syntaktisch bestimmten Zeitstempels in einen konvertierten Zeitstempel, der von der generischen Wiedergabemaschine (14 ) gelesen werden kann. - Computerlesbares Medium, das Anweisungen speichert, nach Anspruch 18, ferner dadurch gekennzeichnet, daß entweder der syntaktisch bestimmte Zeitstempel oder der konvertierte Zeitstempel einen mit dem Echtzeit-Protokoll kompatiblen Zeitstempel umfaßt.
- Computerlesbares Medium, das Anweisungen speichert, nach Anspruch 18 oder 19, wobei das Echtzeit-Datenpaket Dateninhalt mit einem protokollspezifischen Format übermittelt, wobei das computerlesbare Medium, das computerlesbare Anweisungen speichert, ferner gekennzeichnet ist durch: Anweisungen, die ausführbar sind, um jedes empfangene Paket zu inspizieren, um den darin empfangenen Echtzeit-Dateninhalt syntaktisch zu bestimmen (
304 ); und Anweisungen, die ausführbar sind, um den syntaktisch bestimmten Dateninhalt in konvertierten Dateninhalt zu konvertieren, der von der generischen Wiedergabemaschine (14 ) gelesen werden kann. - Computerlesbares Medium, das Anweisungen speichert, nach Anspruch 18, 19 oder 20, ferner gekennzeichnet durch: Anweisungen, die ausführbar sind, um eine Wiedergabezeit aus dem Wert des konvertierten Zeitstempels zu bestimmen (
308 ); Anweisungen, die ausführbar sind, um die bestimmte Wiedergabezeit zusammen mit dem Echtzeit-Dateninhalt selektiv (310 ) an die generische Wiedergabemaschine (14 ) zu übergeben, um die Wiedergabe (316 ) im wesentlichen (314 ) zu der bestimmten Wiedergabezeit zu bewirken, wenn einer der durch den konvertierten Zeitstempel und die bestimmte Wiedergabezeit festgelegten Zeitwerte größer oder gleich der aktuellen Zeit ist. - Computerlesbares Medium, das Anweisungen speichert, nach Anspruch 21, wobei entweder die Wiedergabezeit-Bestimmungsanweisungen oder die Anweisungen, die die generische Wiedergabemaschine (
14 ) implementieren, ferner durch Anweisungen gekennzeichnet sind, die ausführbar sind, um zu bestimmen (310 ), ob der empfangene Dateninhalt wiedergegeben werden soll. - Computerlesbares Medium, das Anweisungen speichert, nach Anspruch 21 oder 22, wobei die Anweisungen, die ausführbar sind, um die Wiedergabezeit zu bestimmen (
308 ), ferner gekennzeichnet sind durch: Anweisungen, die ausführbar sind, um eine beobachtete Transportverzögerung zu bestimmen; Anweisungen, die ausführbar sind, um eine Jitter-Verzögerung zu bestimmen; und Anweisungen, die ausführbar sind, um die beobachtete Transportverzögerung und/oder die Jitter-Verzögerung selektiv zum konvertierten Zeitstempel zu addieren.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/154,245 US20030219007A1 (en) | 2002-05-23 | 2002-05-23 | Reusable multi-protocol meta-architecture for Voice-over-IP playback |
US154245 | 2002-05-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60306452D1 DE60306452D1 (de) | 2006-08-10 |
DE60306452T2 true DE60306452T2 (de) | 2006-12-21 |
Family
ID=29400552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60306452T Expired - Fee Related DE60306452T2 (de) | 2002-05-23 | 2003-02-12 | Wiederverwendbare Multiprotokollmeta-Architektur für Voice-over-IP Wiedergabe |
Country Status (5)
Country | Link |
---|---|
US (1) | US20030219007A1 (de) |
EP (1) | EP1365558B1 (de) |
CN (1) | CN1459960A (de) |
AT (1) | ATE332053T1 (de) |
DE (1) | DE60306452T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112011100762B4 (de) * | 2010-03-02 | 2015-06-03 | Vitesse Semiconductor Corp. | Verteilte auf Paketen basierende Zeitstempel-Engine |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8086752B2 (en) * | 2006-11-22 | 2011-12-27 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
US10613817B2 (en) | 2003-07-28 | 2020-04-07 | Sonos, Inc. | Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group |
US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US8234395B2 (en) | 2003-07-28 | 2012-07-31 | Sonos, Inc. | System and method for synchronizing operations among a plurality of independently clocked digital data processing devices |
US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
US8290603B1 (en) | 2004-06-05 | 2012-10-16 | Sonos, Inc. | User interfaces for controlling and manipulating groupings in a multi-zone media system |
US20050166135A1 (en) * | 2004-01-05 | 2005-07-28 | Burke David G. | Apparatus, system and method for synchronized playback of data transmitted over an asynchronous network |
US9374607B2 (en) | 2012-06-26 | 2016-06-21 | Sonos, Inc. | Media playback system with guest access |
US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
US8024055B1 (en) | 2004-05-15 | 2011-09-20 | Sonos, Inc. | Method and system for controlling amplifiers |
US8326951B1 (en) | 2004-06-05 | 2012-12-04 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US8868698B2 (en) | 2004-06-05 | 2014-10-21 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US7801127B2 (en) | 2004-10-25 | 2010-09-21 | Ineoquest Technologies, Inc. | System and method for creating a sequence number field for streaming media in a packet-based networks utilizing internet protocol |
JP4963566B2 (ja) * | 2006-05-02 | 2012-06-27 | キヤノン株式会社 | 通信装置及びその制御方法 |
US9202509B2 (en) | 2006-09-12 | 2015-12-01 | Sonos, Inc. | Controlling and grouping in a multi-zone media system |
US8788080B1 (en) | 2006-09-12 | 2014-07-22 | Sonos, Inc. | Multi-channel pairing in a media system |
US8483853B1 (en) | 2006-09-12 | 2013-07-09 | Sonos, Inc. | Controlling and manipulating groupings in a multi-zone media system |
US8009687B2 (en) * | 2007-03-28 | 2011-08-30 | Ixia | Measurement of network performance in transporting packet streams |
CN101437150B (zh) * | 2007-11-16 | 2011-11-09 | 华为技术有限公司 | 提供关联信息的装置及方法 |
US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
US8938312B2 (en) | 2011-04-18 | 2015-01-20 | Sonos, Inc. | Smart line-in processing |
US9042556B2 (en) | 2011-07-19 | 2015-05-26 | Sonos, Inc | Shaping sound responsive to speaker orientation |
US8855108B2 (en) * | 2012-01-10 | 2014-10-07 | Garrettcom, Inc. | Apparatus and method for synchronous hardware time stamping |
US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
US9008330B2 (en) | 2012-09-28 | 2015-04-14 | Sonos, Inc. | Crossover frequency adjustments for audio speakers |
US9244516B2 (en) | 2013-09-30 | 2016-01-26 | Sonos, Inc. | Media playback system using standby mode in a mesh network |
US9226073B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
US9226087B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
US10248376B2 (en) | 2015-06-11 | 2019-04-02 | Sonos, Inc. | Multiple groupings in a playback system |
US10712997B2 (en) | 2016-10-17 | 2020-07-14 | Sonos, Inc. | Room association based on name |
US11811637B1 (en) * | 2021-11-24 | 2023-11-07 | Amazon Technologies, Inc. | Packet timestamp format manipulation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5630005A (en) * | 1996-03-22 | 1997-05-13 | Cirrus Logic, Inc | Method for seeking to a requested location within variable data rate recorded information |
US5991292A (en) * | 1997-03-06 | 1999-11-23 | Nortel Networks Corporation | Network access in multi-service environment |
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 |
FR2803149B1 (fr) * | 1999-12-27 | 2002-03-15 | Cit Alcatel | Procede pour faciliter la restitution des signaux de parole transmis au debut d'une communication telephonique etablie par l'intermediaire d'un reseau d'echange de paquets et materiel pour mettre en oeuvre ce procede |
-
2002
- 2002-05-23 US US10/154,245 patent/US20030219007A1/en not_active Abandoned
-
2003
- 2003-02-12 AT AT03100303T patent/ATE332053T1/de not_active IP Right Cessation
- 2003-02-12 EP EP03100303A patent/EP1365558B1/de not_active Expired - Lifetime
- 2003-02-12 DE DE60306452T patent/DE60306452T2/de not_active Expired - Fee Related
- 2003-03-21 CN CN03120923A patent/CN1459960A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112011100762B4 (de) * | 2010-03-02 | 2015-06-03 | Vitesse Semiconductor Corp. | Verteilte auf Paketen basierende Zeitstempel-Engine |
Also Published As
Publication number | Publication date |
---|---|
EP1365558A2 (de) | 2003-11-26 |
CN1459960A (zh) | 2003-12-03 |
EP1365558A3 (de) | 2004-04-28 |
US20030219007A1 (en) | 2003-11-27 |
ATE332053T1 (de) | 2006-07-15 |
DE60306452D1 (de) | 2006-08-10 |
EP1365558B1 (de) | 2006-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60306452T2 (de) | Wiederverwendbare Multiprotokollmeta-Architektur für Voice-over-IP Wiedergabe | |
DE60110002T2 (de) | System zur Übertragung von Streaming-Daten und Zwischenverstärker dafür | |
DE60024932T2 (de) | Verfahren und vorrichtung zur isochronen datenübertragung | |
DE69738061T2 (de) | MPEG Paketenkopfkomprimierung für Fernsehmodems | |
DE60223131T2 (de) | Verfahren und vorrichtung zum codieren und decodieren von pauseninformationen | |
DE69915201T2 (de) | Technik zum Dejittern und zur Taktrückgewinnung für audiovisuelle Echtzeitnetzanwendungen | |
DE60302169T2 (de) | System und Verfahren zum Sammeln von Statistiken in einem Paketnetzwerk | |
DE19512811B4 (de) | Telekonferenzkonsole | |
DE69918172T2 (de) | Entropiekodierung von variabler zu variabler länge | |
DE10354556B4 (de) | Vorrichtung und Verfahren zum Anzeigen von Bildern in einem mobilen Endgerät | |
DE69735415T2 (de) | Verfahren und System zur Übertragung von Audiodaten mit Zeitstempel | |
DE69636099T2 (de) | Vorrichtung und Verfahren zur Umwandlung von Datentransferraten für digitale Audio- und Videodaten | |
EP1283611A2 (de) | Verfahren zur Synchronisierung eines Kommunikationssystems über ein paketorientiertes Datennetz | |
DE2818505A1 (de) | Verfahren und vorrichtung zur paketuebertragung von sprache | |
EP1265124A1 (de) | Verfahren zum Übermitteln von Zeitinformation über ein Datenpaketnetz | |
DE60116341T2 (de) | Kommunikationsverwaltungsystem für computernetzbasierte telefone | |
EP0843486B1 (de) | Verfahren zur Aktualisierung von Zeitmarken in einem digitalen Datenstrom und Remultiplexer | |
DE60225989T2 (de) | Verfahren und System zum Aufnehmen und synchronisierte Wiedergabe von aus mehreren Endgeräten herkommenden Daten | |
DE2838757A1 (de) | Schnittstellenschaltung fuer zeitmultiplexleitungen von nachrichtenvermittlungsanlagen | |
EP1425885B1 (de) | Verfahren und anordnung zur übermittlung von daten aus einem ersten datennetz in ein zweites datennetz | |
DE102010003248B4 (de) | Verfahren und Vorrichtung zur Verarbeitung von Daten in einem Netzwerk eines Fahrzeugs | |
DE60127419T2 (de) | Audiosignalübertragung | |
EP1286509A2 (de) | Verfahren und Vorrichtung zur Echokompensation in einem Telekommunikationsnetz | |
DE102008039584B3 (de) | Verfahren und Einrichtung zur Auswahl von Satellitenkanälen | |
DE102006036562B4 (de) | Verfahren und System zum Übertragen aufeinander bezogener Datenströme oder/und zum Synchronisieren aufeinander bezogener Datenströme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |