-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Korrigieren
von Zeitfehlern beim Übertragen
isochroner Daten über
ein Paket-basiertes Kommunikationsnetzwerk, wobei wenigstens einige
der Datenpakete Zeitmarkierungen haben, die einem Empfänger die
Zeit angeben, wo die Daten verarbeitet werden sollen, und auf ein
Gerät zum Durchführen eines
derartigen Verfahrens.
-
In
digitalen Kommunikationssystemen ist es üblich, dass Information, die
von einer sendenden Anordnung zu einer empfangenden Anordnung gesendet
werden soll, in Pakete aufgeteilt wird, Derartige Pakete können um
eine endliche und variierende Zeitlänge verzögert werden, wenn sie durch
das Kommunikationssystem hindurchgeführt werden.
-
Die Übertragung
isochroner Daten durch ein Kommunikationssystem erfordert die Einhaltung
einer genauen Zeitbeziehung zwischen der sendenden Anordnung und
der empfangenden Anordnung, damit die Qualität der Dienste, die das Kommunikationssystem
benutzen, beibehalten wird. Derartige isochrone Daten können beispielsweise
Video- und Audiodienste transportieren. Wenn das Kommunikationssystem
verpasst, die Zeitbeziehung zwischen der sendenden Anordnung und
der empfangenden Anordnung aufrecht zu erhalten, kann es sein, dass
es unmöglich
ist, an dem empfangenden Ende der Übertragung eine akzeptierbare
Qualität
von Video- und/oder Audiodiensten zu liefern. Ein Beispiel einer derartigen
Applikation ist die Übertragung
digitaler Audio- und/oder Videosignale, die entsprechend den MPEG-Standards
("Moving Picture
Experts Group") codiert
werden. Der Bit-Taktgeber des MPEG-Decoders in der Präsentationsanordnung
muss mit derselben rate laufen wie der Bit-Taktgeber in der Anordnung,
die ursprünglich
die Daten entsprechend dem MPEG-Standard codierte. Um dies zu erreichen
erfordern die MPEG-Standards, dass die Codierungsanordnung eine
Zeitmarkierung anbringt, bekannt als ein "Program Clock Reference" (PCR) oder "System Clock Reference" (SCR) an einigen
der Pakete mit MPEG-Daten. Die Decodieranordnung detektiert und Liest
die PCR- und SCR-Werte und benutzt diese um dem internen Taktgeber
Signale zuzuführen
um dessen Rate zu steuern.
-
Eine
derartige Zeitbeziehung kann beibehalten werden, wenn die sendende
Anordnung die Pakete mit Daten mit derselben Rate sendet, mit der
die genannten Pakete durch die Echtzeit-Applikation an dem empfangenden
Ende des Kommunikationssystems verarbeitet werden sollen, und wenn
die Zeitlänge,
um die jedes Paket während
der Übertragung durch
das Kommunikationssystem übertragen
wurde, für
jedes Paket die gleiche ist.
-
In
praktischen digitalen Kommunikationssystemen aber, wie IEEE1394,
Hiperlan ("High
Performance Radio Local Area Network"), ATM ("Asynchonous Transfer Mode") oder UMTS ("Universal Mobile Telecommunications
System") kann die
Zeitlänge, um
die jedes Paket verzögert
wird, von Paket zu Paket variieren. Im falle von Übertragung
von MPEG-codierten Daten führt
eine derartige Variation in der Übertragungsverzögerung dazu,
dass dem internen Taktgeber des Decoders fehlerhafte Korrektursignale
zugeführt
werden.
-
Ein
Verfahren, das vorgeschlagen wurde um die Effekte des Übertragungsjitters
zu überwinden
ist die Verwendung eines Puffers in der empfangenden Anordnung,
wobei in diesen Puffer die empfangenen Pakete, bestimmt für die Applikation,
vorübergehend gespeichert
werden. Die Pakete werden danach dem Puffern entnommen und dem Applikationsteil
der empfangenen Anordnung oder der nächsten Stufe eines Kommunikationssystems
zugeführt,
und zwar mit einer Rate, die durch einen Algorithmus bestimmt worden
ist, der den Betrag an Daten in dem Puffer als Eingang enthält. Beim
Fehlen der zusätzlichen
Merkmale hat diese Annäherung
Nachteile, welche die Größe umfassen
können
und folglich die Kosten des erforderlichen Puffers und den Pegel
der Genauigkeit der Rate der Datenausgabe von dem Puffer.
-
Auf
gleiche Weise beschreibt WO 95/14337 von Codex Corporation ein Verfahren
zur adaptiven Glättung
einer Verzögerung
für Paket-Sprachapplikationen.
Das Verfahren umfasst die Überwachung
der Zeit, während
der ein Paket in einem Puffer wartet, und die Einstellung der Zeit,
wo künftige
Sprachpakete abgespielt werden. Die Überwachung betrifft die Erzeugung
eines Histogramms von Wartezeiten und eine periodische Analyse des
Histogramms zum Einstellen der Abspielzeit. Diese Annäherung hat
den Nachteil von relativ komplexen Nachverarbeitungsalgorithmen
und Speicherung/Beibehaltung von Daten.
-
Ein
anderes vorgeschlagenes Verfahren, das beansprucht, das Problem
von Übertragungsjitter
zu überwinden,
ist in US Patent Nr. 5.790.543 beschrieben. Diese Veröffentlichung
beschreibt die Verwendung eines weiteren Taktgebers in der empfangenden Anordnung,
der unabhängig
ist von dem Übertragungstaktgeber,
d.h. der Empfänger-Taktgeber ist nicht
gegenüber
dem Sender-Taktgeber synchronisiert. Die Differenz zwischen den
Zeitmarkierungen aufeinander folgender Pakete, welche die Differenz
in erwarteten Eintreffzeiten der aufeinander folgenden Pakete, wird
von der Differenz zwischen den werten des weiteren unabhängigen Taktgebers zu
den Zeitpunkten, wo die Pakete eintrafen, subtrahiert. Diese letztere
Differenz wird dann als die wirkliche Zwischeneintreffzeit der Pakete
bezeichnet. Das Ergebnis dieses Subtraktionsprozesses soll den während der Übertragung
durch das Kommunikationssystem durch die Datenpakete anfallenden
Jitter darstellen. Die Anmelderin glaubt aber nicht, dass die Prozedur
zu einer genauen Korrektur von Jitter in den übertragenen Daten führt.
-
Ein
anderes Verfahren zum Überwinden
des Übertragungsjitters,
wenn in jeder Anordnung in dem Kommunikationssystem ein einzelner
Taktgeber vorgesehen ist, ist dass diese einzelnen Taktgeber zueinander
synchronisiert gehalten werden sollen, und zwar unter Verwendung
von Paketen, die über
das Kommunikationssystem übertragen
werden. Um dies zu erreichen kann von einer sendenden Anordnung zu
einigen oder zu allen isochronen Datenpaketen eine weitere Zeitmarkierung
hinzugefügt
werden, die den künftigen
Wert des einzelnen Taktgebers in der sendenden Anordnung darstellt,
um ein vorbestimmtes Intervall nach der Zeit, wo das Datenpaket
zur Übertragung
bereit ist. Eine derartige Zeitmarkierung kann dann von der empfangenden
Anordnung detektiert und ausgelesen werden. Der richtige, jitterfreie Zeitpunkt,
zu dem das Datenpaket an der Applikation abgeliefert werden soll,
ist der Zeitpunkt, zu dem der Wert der Zeitmarkierung in dem Paket
dem Wert des synchronisierten Taktgebers in der empfangenden Anordnung
entspricht. Das vorbestimmte Intervall soll derart sein, dass die
Zeitmarkierung einem Zeitpunkt entspricht, der nicht früher ist
als der aktuelle Zeitpunkt im Empfänger. Dieses verfahren kann
beispielsweise angewandt werden, wenn isochrone Daten zu einem IEEE1394
Bus übertragen
werden, und zwar unter Verwendung des "Common Isochronous Packet" (CIP) Formats, definiert
in IEC61883 und dargestellt in 1. Jede
Anordnung an dem IEEE1394 Bus enthält einen völlig unabhängigen frei laufenden 24,576
MHz Taktgeber, für
den ein Zyklus 40,69 ns dauert. Diese Periode ist als ein "tick" bekannt. Jede Anordnung,
die imstande ist, isochrone Daten an dem IEEE1394 Bus zu meistern,
enthält auch
ein Zykluszeitregister (CTR), dessen Format in 2 dargestellt
ist, das eine 32-Bit Darstellung der aktuellen Zeit enthält. Dieses
Register wird alle 40,69 ns durch den 24,576 MHz Takt geber aktualisiert. Weiterhin
wird eine der Anordnungen an dem IEEE1394 Bus als "Cycle Master" (Zyklusmaster) spezifiziert,
und zwar durch einen Mechanismus, definiert in IE-EE1394. Um die Synchronisation
zwischen den CRTs aller Anordnungen an dem IE-EE1394 Bus einzuhalten, wird von dem
Zyklusmaster im Schnitt nach jeweils 3072 Ticken ein Zyklusstartpaket übertragen.
Das Zyklusstartpaket enthält
den aktuellen Wert des CTRs in dem Zyklusmaster. Empfang eines Zyklusstartpakets
durch eine Nichtzyklusmaster-Anordnung,
die ein CTR enthält, wird
als Befehl interpretiert um den in dem Zyklusstartpaket enthaltenen
Wert in das CTR der empfangenden Anordnung einzuschreiben. Isochrone
Datenpakete, die von einer sendenden Anordnung über einen IEEE1394 Bus in dem
CIP Format übertragen werden,
werden mit einer Zeitmarkierung markiert. Diese Zeitmarkierung stellt
die Summe eines festen Versatzes und des Wertes des CTRs in der
sendenden Anordnung dar, und zwar zu dem Zeitpunkt, wo das Paket
zur Übertragung
durch den Codierer oder eine andere Qualle isochroner Daten präsentiert wird.
Wenn die empfangende Anordnung ein derartiges Paket empfängt, behält sie das
Paket in einem Puffer, bis der Wert der Zeitmarkierung des Pakets dem
Wert des CTRs in der empfangenden Anordnung entspricht. Zu dem betreffenden
Zeitpunkt kann das Paket von der Applikation in der empfangenden Anordnung
verarbeitet werden. Es ist einleuchtend, dass diese Annäherung davon
abhängig
ist, dass die absoluten Werten der CTRs in allen isochronfähigen Anordnungen über den
IEEE1394 Bus einander gleich sind und auch abhängig von dem Wert des festen
Versatzes, der zu den Zeitmarkierungen addiert wird, die größer sind
als die gesamte Übertragungsverzögerung zwischen
der sendenden Anordnung und der empfangenden Anordnung. Diese Abhängigkeit
wird ein wesentlicher Nachteil, wenn verschiedene IEEE 1394 Busse
durch eine Kommunikationsbrücke
miteinander verbunden werden, beispielsweise entsprechend dem IEEEp1394.1
Standard. In diesem letzteren Beispiel kann es sein, dass, obschon die
CTRs in allen isochronfähigen
Anordnungen über eine
einzelnen IEEE1394 Bus in der Frequenz und in dem absoluten Wert
entsprechend dem CTR in dem Zyklusmaster über diesen Bus synchronisiert
sind, die absoluten Werte der CTRs an verschiedenen Bussen dennoch
nicht gleich sind. Weiterhin kann eine zusätzliche nicht definierte Verzögerung eingeführt werden,
wenn die Pakete die Brücke
zwischen den IEEE1394 Bussen überqueren.
Dadurch wird es in der Zwischenbusbrücke, wie in IEEEp1394.1 definiert,
notwendig, die CIP Zeitmarkierungen in den isochronen Datenpaketen
zu detektieren und sie zu modifizieren, und zwar zum Reflektieren
der absoluten Differenz zwischen den CTR Werten an einander gegenüber liegenden
Seiten der Brücke
und der Verzögerung,
welche die isochronen Datenpakete erfahren bei der Übertragung über die
Brücke,
damit, wenn die isochronen Datenpakete in der empfangenden Anordnung
empfangen werden, die Zeitmarkierungen dennoch eine Zeit in der
Zukunft entsprechend dem CTR in der empfangenden Anordnung darstellen.
Weiterhin umfasst das CIP Format meistens zwei einzelne Zeitmarkierungen,
die beide auf gleiche Weise modifiziert werden müssen. Die Nachteile dieser
Annäherung
umfassen die zusätzliche Verzögerung,
die zu dem Prozess der Modifikation der Zeitmarkierungen in den
Brücken
gehört,
den nachteiligen Effekt auf die Komplexität und folglich die Kosten derartiger
Brücken,
und die Tatsache, dass dieser das wieder erkannte OSI Modell (3) für den guten
praktischen Betrieb der Kommunikationssysteme entsprechend einem
Protokollstapel, bestehend aus einzelnen Schichten, verletzt.
-
Es
ist nun u. a. eine Aufgabe der vorliegenden Erfindung, ein Verfahren
zum Korrigieren von Zeitfehlern zu schaffen beim Übertragen
isochroner Daten über
ein Paket-basiertes
Kommunikationsnetzwerk, wobei wenigstens einige der Datenpakete Zeitmarkierungen
haben, die einem Empfänger
die Zeit angeben, wo die Daten verarbeitet werden sollen, wobei
wenigstens einige der Nachteile der bekannten Verfahren gelindert
werden. Es ist einer weitere Aufgabe der vorliegenden Erfindung,
ein Gerät zum
Durchführen
eines derartigen Verfahrens zu schaffen.
-
Die
vorliegende Erfindung schafft ein Verfahren zum Korrigieren von
Zeitfehlern beim Übertragen (6)
isochroner Daten über
ein Paket-basiertes Kommunikationsnetzwerk (1, 2, 3, 4),
wobei wenigstens einige der Datenpakete Zeitmarkierungen haben,
die einem Empfänger
(8) die Zeit angeben, wo die Daten verarbeitet werden sollen,
dadurch gekennzeichnet, dass das Verfahren die nachfolgenden Verfahrensschritte
umfasst:
- a) das Einfügen von Übertragungszeitmarkierungen
in isochrone Datenpakete, die sich auf eine absolute Zeit beziehen,
wie durch ein Übertragungstaktsignal
(7) definiert, und die über
ein Übertragungsnetzwerk übertragen
werden sollen,
- b) das Empfangen (8) der Datenpakete und das Detektieren
und einstweilige Aufzeichnen der Übertragungszeitmarkierungen
darin,
- c) das Liefern eines Empfängertaktsignals
(9), das in der Frequenz, nicht aber unbedingt in absoluter
Zeit, zu dem Übertragungstaktsignal
(7) synchronisiert ist,
- d) das Speichern der absoluten Zeit des Empfängertaktsignals (9),
wenn das erste Paket, das eine Übertragungszeitmarkierung
enthält,
empfangen wird,
- e) das Addieren (90) eines bestimmten Zeitversatzes
(91) zu der gespeicherten Empfängertaktzeit, wobei der Versatz
größer ist
als oder gleich der maximalen Variation in der Zeit zwischen aufeinander
folgend empfangenen Datenpaketen, zum Definieren der Ausgangszeit
des ersten Pakets der empfangenen Datenpakete,
- f) das Subtrahieren (89) des Wertes der Übertragungszeitmarkierung
in dem ersten empfangenen Datenpaket (87) von der Übertragungszeitmarkierung
in jedem nachfolgend empfangenen Datenpaket (88), und
- g) das Addieren (95) der Differenz (89) zwischen der Übertragungszeitmarkierung
des vorhandenen Datenpakets und der Übertragungszeitmarkierung des
ersten Datenpakets zu der Ausgangszeit des ersten Datenpakets zum
Definieren der Ausgangszeit des vorhandenen Pakets.
-
Auf
diese Weise ist das Verfahren nach der vorliegenden Erfindung nicht
abhängig
von den absoluten Werten von Zeitmarkierungen, sondern kann stattdessen
die Verarbeitung empfangener Pakete zu einer bestimmten Zeit nach
dem Empfang des ersten Pakets starten und die Zeit der Verarbeitung
jedes nachfolgenden Pakets wird durch die Differenz zwischen der
Zeitmarkierung in dem Ausgangspaket und der Zeitmarkierung in dem
aktuellen Paket definiert. Dadurch, dass gewährleistet wird, dass die Taktfrequenz
in dem Empfänger
auf der in dem Sender verriegelt ist und dass die gegebene Zeit
größer ist
als oder gleich der maximalen Variation in der Zeit zwischen aufeinander
folgend empfangenen Paketen, kann gewährleistet werden, dass die
Zeiten der Verarbeitung der empfangenden Pakete zu dem Takt in dem
Codierer synchronisiert werden.
-
Zum
Durchführen
eines Verfahrens nach der vorliegenden Erfindung wird eine empfangende
Anordnung mit Hilfe eines Kommunikationssystems mit einer sendenden
Anordnung verbunden. Die empfangende Anordnung, die imstande ist,
isochrone Daten zu empfangen und zu verarbeiten, enthält einen Taktgeber,
der in der Frequenz synchronisiert ist, nicht aber unbedingt in
dem absoluten Wert zu einem entsprechenden Taktgeber in der sendenden
Anordnung, und zwar mit Hilfe eines Kommunikationssystems.
-
Die
sendende Anordnung fügt
einigen oder allen Datenpaketen in einem isochronen Datenstrom zur Übertragung
mit Hilfe des Kommunikationssystems zu der empfangenden Anordnung
Zeitmarkierungen zu. Die Zeitmarkierungen können entweder den Wert des
Taktgebers in der sendenden Anordnung darstellen oder die Summe
des Wertes des Taktgebers in der sendenden Anordnung und eines festen
konstanten Versatzes, der positiv oder negativ sein kann. Wenn ein
derartiger fester Versatz verwendet wird, erfordert die vorliegende
Erfindung nicht, dass der Wert des Versatzes einer empfangenden
Anordnung zugeführt
wird.
-
Die
empfangende Anordnung hat Mittel zum Detektieren der Zeitmarkierungen
und zum Registrieren des Wertes derselben. Wenn das erste Datenpaket
eines isochronen Stromes von dem Kommunikationssystemn her durch
die empfangende Anordnung empfangen wird, registriert die empfangende
Anordnung die Zeit t1 des internen synchronisierten
Taktgebers, und auch den Wert T1 der Zeitmarkierung
in dem Datenpaket. Dieses Paket wird danach eine Zeit Δ in einen
Puffer gesetzt, wobei Δ derart
gewählt wird,
dass dieser Wert größer ist
als der maximale Jitterwert, der wahrscheinlich in einem derartigen
Kommunikationssystem auftritt. Nach der Zeit Δ wird das Paket von dem Puffer
in die nächste
Stufe der empfangenden Anordnung oder des Kommunikationssystems
geführt.
-
Wenn
jedes nachfolgende Paket des Datenstroms von dem Kommunikationssystem
her in der empfangenden Anordnung empfangen wird, detektiert die
empfangende Anordnung und registriert den Wert Tn der
Zeitmarkierung des Pakets, bevor das Paket in den Puffer gesetzt
wird. Das n. Paket des Stromes wird von dem Puffer ausgeliefert,
und zwar zu einem Zeitpunkt, gegeben durch t1 + Δ + (Tn – T1).
-
Folglich
wird jeder Jitteranteil, der durch das Kommunikationssystem eingeführt sein
könnte
dadurch entfernt, dass jede absolute Zeitmarkierung auf den internen
Zeitgeber der empfangenden Anordnung bezogen wird, der mit Hilfe
des Kommunikationssystems zu einem internen Taktgeber in der sendenden
Anordnung synchronisiert wird.
-
Das
Verfahren nach der vorliegenden Erfindung ist insbesondere vorteilhaft
in der Überwindung von
Jitter in einem Kommunikationssystem, das Zeitmarkierungen verwendet,
die auf den absoluten Wert eines Taktgebers bezogen sind, wobei
der Taktgeber in der Frequenz synchronisiert ist, nicht aber unbedingt
in dem absoluten Wert zu einem Taktgeber in einer empfangenden Anordnung
in dem Kommunikationssystem, wobei Signale verwendet werden, die über das
Kommunikationssystem gesendet werden. Insbesondere erfordert das
Verfahren nach der vorliegenden Erfindung keine Kenntnisse über die
maximale Verzögerung,
die von den Datenpaketen erfahren werden kann, die durch das Kommunikationssystem übertragen
werden. Es erfordert aber, entsprechend allen bekannten Mechanismen
zur Jitterkorrektur, Kenntnisse der Differenz zwischen der maximalen
und der minimalen Verzögerung,
erfahren von den Datenpaketen in einem bestimmten Strom. Weiterhin
erfordert das Verfahren nach der vorliegenden Erfindung keine Modifikation
an den Zeitmarkierungen, weder während
der Übertragung
der Datenpakete, noch während
des Empfangs der Datenpakete in einer empfangenden Anordnung. Das
Verfahren nach der vorliegenden Erfindung bietet den Vorteil der
Einfachheit, indem es nur eine Subtrahierung und eine Addition erfordert,
die je Paket für
alle Pakete nach dem ersten Paket eines Stromes durchgeführt werden
müssen
damit Jitter überwunden
wird und damit die Pakete ausgeliefert werden, wobei das Timing
im Wesentlichen dem ursprünglichen
Timing, mit dem die Pakete zur Übertragung
in der sendenden Anordnung in Schlange gesetzt wurden entspricht.
Außerdem
durch Vermeidung von Anforderungen um Zeitmarkierungen während des Übertragungsprozesses
zu ändern
ermöglicht
die vorliegende Erfindung, dass das geschichtete OSI Modell für einen üblichen
Entwurf von Kommunikationssystemen aufrechterhalten bleiben kann.
Das Verfahren bietet den Vorteil einer zuverlässigen Überwindung von Jitter mit Hilfe
eines bereits vorhandenen Taktgebers, der in der Frequenz mit Hilfe
des Kommunikationssystems synchronisiert ist, und dass folglich Langzeittrift
vermieden werden kann.
-
Die
vorliegende Erfindung schafft weiterhin ein Gerät zum Korrigieren von Zeitfehlern
bei der Übertragung
isochroner Daten über
ein Paket-basiertes Kommunikationsnetzwerk, wobei wenigstens einige
der Datenpakete Zeitmarkierungen enthalten, die einem Empfänger die
Zeit angeben, wo die Daten verarbeitet werden sollen, wobei das
Gerät die
nachfolgenden Elemente umfasst: Mittel zum Einfügen von Übertragungszeitmarkierungen
in isochrone Datenpakete, die sich auf eine absolute Zeit beziehen, wie
durch einen Übertragungstaktgeber
definiert, und die über
ein Übertragungsnetzwerk übertragen
werden, Mittel zum Empfangen der Datenpakete und zum Detektieren
und zum einstweilige Aufzeichnen der Übertragungszeitmarkierungen
darin, einen Empfängertaktgeber,
der in der Frequenz, nicht aber unbedingt in absoluter Zeit, zu
dem Übertragungstaktgeber
synchronisiert ist, Mittel zum Speichern der absoluten Zeit des
Empfängertaktgebers,
wenn das erste Paket, das eine Übertragungszeitmarkierung enthält, empfangen
wird, Mittel zum Addieren eines bestimmten Zeitversatzes zu der
gespeicherten Empfängertaktzeit,
wobei der Versatz größer ist
als oder gleich der maximalen Variation in der Zeit zwischen aufeinander
folgend empfangenen Datenpaketen, zum Definieren der Ausgangszeit
des ersten Pakets der empfangenen Datenpakete, Mittel zum Subtrahieren
des Wertes der Übertragungszeitmarkierung
in dem ersten empfangenen Datenpaket von der Übertragungszeitmarkierung in jedem
nachfolgend empfangenen Datenpaket, und Mittel zum Addieren der
Differenz zwischen der Übertragungszeitmarkierung
des vorhandenen Datenpakets und der Übertragungszeitmarkierung des
ersten Datenpakets zu der Ausgangszeit des ersten Datenpakets zum Definieren
der Ausgangszeit des vorhandenen Pakets.
-
Ausführungsbeispiele
der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben.
Es zeigen:
-
1 Paketformate,
definiert in IEEE1394 und IEC62883 Standards,
-
2 das
Format des Zykluszeitregisters,
-
3 das
geschichtete ISO Modell für
Kommunikationssysteme,
-
4 ein
Blockschaltbild eines Kommunikationssystems mit zwei miteinander
verbundenen IEEE1394 Bussystemen, geeignet zum Durchführen des
Verfahrens nach der vorliegenden Erfindung,
-
5 ein
Blockschaltbild einer Quelle von Daten, die entsprechend den MPEG
Standards für Übertragung über das
Kommunikationssystem nach 4 codiert
sind,
-
6 ein
Blockschaltbild einer sendenden Anordnung zum Übertragen von MPEG Daten über das
Kommunikationssystem nach 4,
-
7 ein
Blockschaltbild eines Teils eines Zyklusmasters für den IEEE1394
Bus, und
-
8 ein
Blockschaltbild einer empfangenden Anordnung zum Empfangen der MPEG
codierten Daten, die über
das Kommunikationssystem übertragen
werden.
-
4 zeugt
ein Blockschaltbild einer Ausführungsform
des Geräts
nach der vorliegenden Erfindung, wobei ein Verfahren zum Korrigieren
von Zeitfehlern beim Übertragen
isochroner Daten über ein
Paket-basiertes Kommunikationsnetzwerk erreicht werden kann. Wie
in 4 dargestellt, umfasst das Kommunikationssystem
einen ersten und einen zweiten IEEE1394 Bus 1 und 2,
die mit Hilfe einer Übertragungsbrücke 3 miteinander
gekoppelt sind. Der Systemtaktgeber in dem Bus 1 ist in
der Frequenz zu dem in dem Bus 2 mit Hilfe einer Frequenzverriegelungsanordnung 4 synchronisiert.
Eine Quelle von MPEG codierten Daten 5 wird einer sendenden
Anordnung 6 zugeführt,
welche die MPEG codierten Daten annimmt und diese in Pakete zur Übertragung
zu dem Bus 1 einfügt.
Mit dem Bus 1 ist ebenfalls ein Zyklusmaster 7 verbunden,
der alle Taktgeber in den Anordnungen, die mit dem Bus 1 in dem
Zyklusmaster gekoppelt sind, synchronisiert. Ein Empfänger 8 ist zum
Empfangen der Pakete mit den MPEG codierten Daten, die von der sendenden Anordnung 6 her übertragen
wurden, mit dem Bus 2 verbunden. Ein weiterer Zyklusmaster 9 ist
mit dem Bus 2 verbunden und definiert die Taktgeber für alle Anordnungen,
die mit dem Bus 2 verbunden sind, einschließlich des
Empfängers 8 zum
Empfangen und verarbeiten der empfangenen Datenpakete. Dieser Zyklusmaster
wird mit dem Ausgang des Zyklusmasters 7 in der Frequenz
synchronisiert, nicht aber in der absoluten Zeit. In der vorliegenden
Ausführungsform
speist die Datenquelle 5 MPEG codierte Video- oder Audiosignale
zu der sendenden Anordnung 6 und die empfangende Anordnung
umfasst einen MPEG Decoder. Es ist nicht wesentlich für die vorliegende
Erfindung, dass die Daten entsprechend einer MPEG-Norm codiert sind,
oder dass die empfangende Anordnung einen Decoder aufweist. So könnte beispielsweise
die empfangende Anordnung lediglich die MPEG oder auf andere Art
und Weise codierten Daten zur Wiedergabe an einer weiteren Anordnung;
aufzeichnen, die einen derartigen Decoder aufweist.
-
5 zeigt
eine Ausführungsform
einer Quelle von MPEG codierten Signalen, die in dem Kommunikationssystem
nach 4 verwendet werden können. Sie umfasst eine Videokamera 50,
deren Ausgangssignal einem MPEG codierer 51 zugeführt wird,
der einen Prozessor 52, ein Zeitmarkierungsmodul 53,
einen Taktgenerator 54 umfasst. Das Ausgangssignal des
MPEG Codierers 51 kann unmittelbar einem Ausgang 56 zugeführt werden,
der mit dem Sender 6 verbunden ist, oder kann zum Erzeugen
eines digitalen Masters einer Band- oder Diskaufnahme verwendet
werden, die mit Hilfe eines Diskspielers oder Bandwiedergabegeräts 55 wiedergegeben
werden kann. Wie oben erwähnt,
ist es erforderlich, dass der MPEG Codierer 51 an jedem
Paket mit MPEG Daten eine Zeitmarkierung, bekannt als Programmtaktbezugswert
("Program Clock
Reference") (PCR)
oder Systemtaktbezugswert ("System Clock
Reference") (SCR),
anbringt. Diese Zeitmarkierung wird in dem Empfänger detektiert und benutzt um
eine isochrone Decodierung des MPEG codierten Signals zu gewährleisten.
Diese MPEG PCR- und/oder SCR-Zeitmarkierungen werden eine nicht definierte
Zeitperiode vor jeder Übertragung
unter Verwendung des IEEE1394 Busses in den Datenstrom eingefügt.
-
Die
sendende Anordnung 6 und die empfangende Anordnung 8 sind
isochron-fähige
IEEE1394 Anordnungen und enthalten ein Zykluszeitregister (CTR),
das in der Frequenz mit Hilfe des Empfangs eines Zyklusstartpakets,
wie oben beschrieben, synchronisiert wird, das aber nicht in absoluter
Zeit synchronisiert ist, wenn Übertragungsbrü cken in
dem Kommunikationssystem vorhanden sind, d.h. wenn eine Anzahl IEEE1394
Busse miteinander verbunden sind. Das CTR in jeder Anordnung wird
nach wie vor zwischen Empfang von Zyklusstartpaketen mit Hilfe eines
frei schwingenden örtlichen
24,576 MHz Taktgebers inkrementiert. Die sendende Anordnung 6 verarbeitet
die MPEG codierten Daten mit einer Rate, die unmittelbar oder mittelbar
durch Zeitmarkierungen in der MPEG Codierung ermittelt wird. Die
Verarbeitung durch die sendenden Anordnungen umfasst das Hinzufügen einer
weiteren Zeitmarkierung, nachstehend als die Übertragungszeitmarkierung bezeichnet,
zu jedem Paket mit MPEG codierten Daten. Die Übertragungszeitmarkierung entspricht
dem Wert der CTRs der sendenden Anordnung zu dem Zeitpunkt, wo das
Paket in der sendenden Anordnung zur Präsentation an das Kommunikationssystem
zur Übertragung
zu der empfangenden Anordnung in die Schlange gesetzt wurde. Die
Hinzufügung
dieser Übertragungszeitmarkierung
zu jedem Datenpaket kann ein Teil der Einkapselung des Datenpakets
in ein Paket des CIP Formats sein, das dem IEC61883 Standard entsprechen
kann.
-
6 zeigt
ein Blockschaltbild einer sendenden Anordnung, geeignet zum Durchführen dieses Prozesses.
Sie enthält
einen Eingang 60, mit der der Ausgang der Datenquelle 5 verbunden
ist. Der Eingangsdatenstrom wird einem CIP Prozessor 61 zugeführt, der
das MPEG Datenpaket in ein CIP Format Datenpaket einkapselt. Dies
geschieht durch ein Zeitmarkierungsmodul 62, das die Übertragungszeitmarkierung
in den Kopf des Quellenpakets einfügt, wie in 1 dargestellt.
Diese Pakete werden danach einem IEEE1394 Prozessor zugeführt, dessen Ausgangssignal über einen
Puffer 64 einer Ausgangsklemme 69 zugeführt wird,
der mit dem Bus 1 verbunden ist. Die sendende Anordnung 6 empfängt auch
Zyklusstartpakete von dem Zyklusmaster 7 über den
Bus 1 an dem Eingang 68. Die Zyklusstartpakete
werden einem Zyklusstartprozessor 67 zugeführt, der
ein Zykluszeitregister 65 in der sendenden Anordnung steuert.
Das Zykluszeitregister wird, wie bei allen anderen Anordnungen,
von einem frei schwingenden 24,576 MHz Taktgeber getaktet. Der Ausgang
des Zykluszeitregisters erzeugt ein Taktsignal, das imstande ist,
den Datenpaketen eine Zeitmarkierung zuzufügen, und da die sendende Anordnung
ein Sklave von dem Zyklusmaster ist, wird diese Zeitmarkierung für alle mit
dem Bus 1 verbundenen Anordnungen gültig sein.
-
Eine
Ausführungsform
des Zyklusmasters ist in 7 dargestellt und umfasst ein
Zykluszeitregister 70, das von einem 24,576 MHz Taktgeber 71 gesteuert
wird.
-
Das
Zykluszeitregister 70 speist einen Zyklusstartgenerator 72.
Das Ausgangssignal des Generators wird über einen Ausgang 73 dem
Bus 1 zugeführt.
Alle Sklaven Zykluszeitregister umfassen einen Zyklusstartprozessor,
der das von dem Generator 72 erzeugte Signal detektiert
und das Zykluszeitregister in der Sklaveneinheit synchronisiert,
in dem betreffenden Fall in der sendenden Anordnung 6,
gegenüber
dem Zykluszeitregister in dem Zyklusmaster 7.
-
Einige
Zeit nach der Hinzufügung
der Übertragungszeitmarkierung
zu einem Paket in der sendenden Anordnung 6 kann das Paket über das
Kommunikationssystem zu der empfangenden Anordnung 8 übertragen
werden. Ein Paket kann auf beliebige Verzögerungen stoßen, wenn
es über
das Kommunikationssystem übertragen
wird, insbesondere wenn einige Brücken 3, die einzelne
IEEE1394 Busse miteinander verbinden, vorhanden sind. Nebst dem
beliebigen Verzögerungen,
die durch die Übertragung über Übertragungsbrücken verursacht
werden können,
können
weitere beliebige Verzögerungen,
verursacht durch eine variable Zeitverzögerung bevor ein Paket bei
dem Bus akzeptiert wird, auftreten. Diese Verzögerung kann von Paket zu Paket
anders sein bis zu einem maximalen Betrag an Jitter , der für eine bestimmte
Kommunikationstechnologie spezifiziert oder berechnet werden kann.
Wenn ein Verfahren nach der vorliegenden Erfindung angewandt wird,
wird diese Übertragungszeitmarkierung, die
in die übertragenen
Pakete eingefügt
wurden, in einer weiteren Stufe in dem Kommunikationsprozess nicht
weiter modifiziert.
-
Wie
oben erwähnt,
werden die Taktfrequenzen an den jeweiligen miteinander verbundenen
Bussen in der Frequenz synchronisiert. Dies bedeutet aber nicht,
dass die Zykluszeitregister in der sendenden und in der empfangenden
Anordnung gleichzeitig wiedergeben. Vergleichsweise dürfte es
einleuchten, dass die Zeit an mehreren Stellen auf der Erdoberfläche mit
genau derselben rate inkrementiert, die durch die Drehgeschwindigkeit
der Erde bestimmt wird, aber die absolute Zeit an verschiedenen
Stellen des Längengrades
werden variieren, beispielsweise die westeuropäische Zeit hat eine Differenz
von einer Stunde mit der mitteleuropäischen Zeit.
-
Eine
Ausführungsform
einer empfangenden Anordnung, geeignet zur Verwendung als die empfangende
Anordnung 8 ist als Blockschaltbild schematisch in 8 dargstellt.
Sie hat einen Eingang 81, der mit dem Bus 2 verbunden
ist. Dieser Eingang empfängt
Zyklusstartpakete von dem Zyklusmaster 9, der dem Zyklusstartprozessor 82 zugeführt wird, der
zum Synchronisieren des Zykluszeitregisters 83 der empfangenden
Anord nung 8 mit dem Zykluszeitregister in dem Zyklusmaster 9 verwendet
wird. Ein 24,576 MHz Taktgeber 84 taktet das Zykluszeitregister 83.
Der Eingang 81 wird ebenfalls einem Zeitmarkierungsdetektor 85 zugeführt, der
das Vorhandensein der Übertragungszeitmarkierungen
in dem empfangenen Signal detektiert. Auf diese Weise liest der
Zeitmarkierungsdetektor 85 den Wert T1 der Übertragungszeitmarkierung
in dem Datenpaket, zeichnet diesen Wert auf und setzt das Datenpaket
in einen Puffer 86. Die Zeit der ersten Zeitmarkierung
in einer Übertragung
wird in einem ersten Zeitmarkierungsspeicher 87 zwischengespeichert
und jede nachfolgende Zeitmarkierung in dem Übertragungsstrom wird in einen
zweiten Zeitmarkierungsspeicher 88 zwischengespeichert.
Das Ausgangssignal der Speicher 87 und 88 wird
einem ersten und einem zweiten Eingang eines Subtrahierschaltung 89 zugeführt. Wenn
das erste Paket mit einem Datenstrom empfangen wird, liest die empfangende
Anordnung die Zeit t1 des Zykluszeitregisters
zu dem Zeitpunkt, wo das Paket empfangen wird. Diese Zeit wird dem ersten
Eingang einer Addierschaltung 90 zugeführt, deren zweiter Eingang
einen bestimmten Versatzwert empfängt, der derart gewählt ist,
dass er gleich oder größer ist
als der größte Zeitjitteranteil,
eingeführt
durch das Kommunikationssystem, der zwischen den jeweiligen Paketen
empfangen wird. Das Ergebnis der Addition wird einem Speicher 92 zugeführt, und
zwar als ein Wert T0. Für das erste Paket einer Übertragung
wird dieser Wert T0 dem ersten Eingang einer
Vergleichsschaltung 93 zugeführt, deren zweiter Eingang
das Ausgangssignal des Zykluszeitregisters 83 empfängt. Auf
diese Weise wird, wenn das Zykluszeitregister 83 die Zeit
T0 erreicht, das erste Datenpaket aus dem
Puffer 86 durch den Ausgangscontroller 94 ausgeliefert
und der nächsten Stufe
in der empfangenden Anordnung zugeführt.
-
Wenn
das nächste
Paket bei der empfangenden Anordnung eintrifft, detektiert der Zeitmarkierungsdetektor 85 die
Zeitmarkierung und speichert diese in dem Zwischenspeicher 88 und
führt das
Datenpaket in den Puffer 86. Der Subtrahierer 89 subtrahiert
danach den Wert T1, der die Übertragungszeitmarkierung
des ersten Datenpakets ist, von dem Wert Tn,
der dir Zeitmarkierung des Pakets ist, das nun empfangen wird. Das
Ergebnis dieser Subtraktion wird danach zu der Zeit T0 hinzugefügt und dem ersten
Eingang der Vergleichsschaltung 93 zugeführt. Auf
diese Weise ist die Zeit T0 + (Tn – T1) die Zeit, die das Zykluszeitregister 83 erreichen
soll, bevor der Ausgangscontroller 94 das Paket aus dem Puffer 86 ausliest
und in die nächsten
Stufen des Empfängers
einliest.
-
Es
dürfte
einleuchten, dass unter Anwendung dieser Prozedur die empfangende
Anordnung zu der Zeit t1, wo die erste Übertragungszeitmarkierung
detektiert wurde, als durch die Zeit in dem Zykluszeitregister 83 zu
diesem Zeitpunkt eine bestimmte Zeit hinzufügt und eine bestimmte Zeit
hinzufügt,
die ausreicht um jeden Jitter in dem Kommunikationssystem in betracht
zu ziehen. Das Paket in dem Puffer 86 wird danach dem Rest
des Empfängers
zugeführt,
wenn das Zykluszeitregister die Zeit T0 erreicht,
die der Zeit t1 + Δ entspricht, d.h. der Zeit, die
von Drain-Elektrode, Zykluszeitregister 83 zu dem Zeitpunkt
registriert wurde, wo die erste Paketzeitmarkierung detektiert wurde,
plus dem Versatzwert Δ.
Wenn jede nachfolgende Übertragungszeitmarkierung
eintrifft, wird der Wert der ersten Übertragungszeitmarkierung von
dem Wert der nachfolgenden Übertragungszeitmarkierung
subtrahiert und zu der Zeit T0 hinzugefügt um zu
ermitteln, wann das Paket aus dem Puffer 86 ausgelesen
wird. Auf diese Weise braucht die empfangende Anordnung nicht in
jeder Stufe jede der Übertragungszeitmarkierungen
zu ändern.
-
Da
das Zykluszeitregister 83 in der empfangenden Anordnung
zu dem Zykluszeitregister in der sendenden Anordnung synchronisiert
ist, werden die Datenpakete folglich der nächsten Stufe in der empfangenden
Anordnung zugeführt,
und zwar mit nahezu derselben Zwischenpaketzeitbeziehung wie die
, mit der sie von der sendenden Anordnung verarbeitet wurden. Die
Differenz in den absoluten Zeiten ist nicht wichtig. Jede CIP-Headerinformation
oder andere Übertragungspaketheader
kann aus den empfangenden Paketen entfernt werden, und zwar entweder
bevor oder nachdem die Pakete in den Puffer 86 gesetzt
worden sind. Die nächste
Stufe der empfangenden Anordnung kann ein MPEG-Decoder 96 sein, der einen
weiteren Taktgeber 97, eine Decodierschaltung 98,
einen Zeitmarkierungsdetektor 99 und einen Speicher/Subtrahierer 100 enthält. Der
weitere Taktgeber 97 ist der Decodertaktgeber und ist völlig unabhängig von
dem Zykluszeitregister und dem frei schwingenden 24,576 MHz Taktgeber
in der empfangenden Anordnung. Der MPEG Decoder kann nun die PCRs
oder die SCRs in den empfangenen im Wesentlichen entjitterten Paketen
verwenden um mit Hilfe von herkömmlichen
Verfahren den Decodertaktgeber mit im Wesentlichen derselben rate
wie der Taktgeber in dem MPEG Codierer zu synchronisieren, der ursprünglich die
Daten codierte. Der MPEG Decoder wird auf diese Weise die Möglichkeit
erhalten, die Daten zu decodieren und sie mit im Wesentlichen der
richtigen Rate einer Wiedergabeanordnung 101 zuzuführen, die
auch einen Teil der empfangenden Anordnung bilden kann.
-
Es
dürfte
einleuchten, dass es für
die vorliegende Erfindung nicht notwendig ist, dass die Taktgeber
an den Bussen 1 und 2 in der Frequenz verriegelt sind,
obschon sie nicht in der absoluten Zeit verriegelt zu sein brauchen.
Dies erfordert, dass die Übertragungsbrücke 3 eine
Frequenzverriegelungsanordnung 4 enthält, welche die Frequenz der
Taktgeber an den zwei verschiedenen Bussen 1 und 2 verriegelt.
Dies kann verschiedenartig erfolgen. Eine Möglichkeit ist, einen kurzen
Signalstoß ohne
Information zu genau bestimmten Zeitintervallen zu senden, wodurch
auf diese Weise die Taktgeber an beiden Seiten der Übertragungsbrücke die
Möglichkeit
haben synchronisier zu werden. Ein alternatives Verfahren ist über die
Brücke
eine Nachricht mit Zeitinformation zu senden. Diese Nachricht kann
mit einem relativ beliebigen Zeitintervall gesendet werden, da die Nachricht
dafür sorgen
wird, dass die Taktgeber jeweils wenn die Nachricht über die Übertragungsbrücke gesendet
wird, dieselbe Zeit annehmen. Die Art und Weise, wie die Taktgeber
an den miteinander verbundenen Bussen synchronisiert sind, ist bei
der Implementierung der vorliegenden Erfindung nicht wichtig. Es
ist lauter eine Anforderung, dass die Taktgeber in der Frequenz
synchronisiert sind.
-
Obschon
die vorliegende Erfindung unter Verwendung des Beispiels von MPEG
Daten beschrieben worden ist, die unter Verwendung von IEEE1394
Busanordnungen übertragen
werden, beschränkt
sich die vorliegende Erfindung nicht auf ein derartiges Kommunikationssystem.
Die vorliegende Erfindung ist auch anwendbar auf die Übertragung beliebiger
isochroner Daten über
ein Paket-tranportiertes Netzwerk, wobei Übertragungsjitter auftreten kann.
Sie ist weiterhin dort anwendbar, wo es ein ungenau definiertes
Zeitintervall zwischen den Codierungs- und Decodierungsfunktionen
gibt, was bedeutet, dass eine empfangene Zeitmarkierung eine frühere Zeit
hat als die aktuelle Zeit, wie diese in der empfangenden Anordnung
gemessen wird.
-
Es
dürfte
dem Fachmann einleuchten, dass viele Abwandlungen der beschriebenen
Ausführungsform
gemacht werden können,
die nur ein Beispiel ist, wie die vorliegende Erfindung durchgeführt werden
kann. So wäre
es beispielsweise bei der Ermittlung der Zeit, wo der Empfänger starten
soll, die empfangenden Daten zu verarbeiten, möglich, die Zwischenzeit jedes
Pakets zu der Verarbeitungszeit des vorhergehenden Pakets hinzuzufügen. In
diesem Fall ist es statt der Speicherung des Zeitintervalls des
ersten Pakets des Stroms notwendig, die vorhergehende Paketeintreffzeit
zu speichern.
-
Aus
der Lektüre
der vorliegenden Beschreibung dürften
dem Fachmann andere Abwandlungen einfallen. Solche Abwandlungen
können
andere Merkmale betreffen, die im Entwurf und in der Verwendung
von Kommunikationssystemen und Einzelteilen davon bereits bekannt
sind und die statt der oder zusätzlich
zu den hier bereits beschriebenen Merkmalen verwendbar sind. Obschon
in dieser Beschreibung Ansprüche
in Bezug auf bestimmte Kombinationen von Merkmalen formuliert worden
sind, dürfte
es einleuchten, dass der Rahmen der Beschreibung der vorliegenden
Patentanmeldung auch jedes beliebige neue Merkmal oder jede beliebige neue
Kombination von Merkmalen enthält,
die hier explizit ider impliziert beschrieben worden ist oder jede
Verallgemeinerung von einem oder mehreren dieser Merkmale, die dem
Fachmann einleuchten dürften,
ob diese sich ggf. auf dieselbe Erfindung beziehen, die an dieser
Stelle in einem der Ansprüche beansprucht
wird, und ob ggf. ein oder mehrere derselben technischen Probleme
gelöst
werden, wie bei der vorliegenden Erfindung. Anmelderin möchte an dieser
Stelle bemerken, dass während
der Behandlung der vorliegenden Erfindung oder einer weiteren davon
abgeleiteten Anmeldung neue Ansprüche in Bezug auf diese Merkmale
und/oder Kombinationen derartiger Merkmale formuliert werden können.
-
Text in der
Zeichnung
-
1
-
- Quellenpakete
- Quellenpaketheader
- Füllmaterial
- Datenblöcke
- Buspakete
- Zyklussynchronisation
- Paketheader und CIP Header
- Leeres Paket
- Datenblöcke
- Zyklusstartpaket
- Quellenpaketheaderformat
- Reserviert
-
Zeitmarkierung
-
2
-
- Zykluszeitregisterformat
- Zweite Zählung
- Zyklische Zählung
- Zyklischer Versatz
-
3
-
- Peer Protokolle
- Applikationsschicht
- Präsentationsschicht
- Sessionsschicht
- Transportschicht
- Netzwerkschicht
- Datenkoppelschicht
- Physikalische Schicht
- Post
- Physikalisches Medium
-
8
- 85
- Zeitmarkierung
- 86
- Puffer
- 94
- Ausgangssteuerung
- 99
- Zeitmarkierungsdetektor
- 98
- Decoder
- 101
- Wiedergabeanordnung
- 87
- Zwischenspeicher
der 1. Zeitmarkierung
- 100
- Zwischenspeicher/Subtrahierer
- 97
- Taktgeber
- 88
- Zwischenspeicher
der n. Zeitmarkierung
- 92
- Zwischenspeicher
- 93
- Vergleichen
- 82
- Zyklusstartprozessor
- 83
- Zykluszeitregister
- 91
- Delta