-
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Erzeugung eines Transportdatenstroms in einem System mit unterschiedlichen Taktgebern.
-
Die Erzeugung eines digitalen TV-Transportdatenstroms erfolgt in einem Multiplexer oder Sendesystem im Headend in mehreren Verarbeitungsstufen. Die Eingangsdatenrate, mit der der Transportdatenstrom dem Sender zugeführt wird, entspricht hierbei nicht der Ausgangsdatenrate, mit der der daraus erzeugte Transportdatenstrom vom Sender ausgestrahlt wird. Hinzukommt, dass die einzelnen Verarbeitungsstufen des Senders jeweils von einem zugehörigen Taktgeber versorgt werden, die jeweils hinsichtlich Frequenz, Genauigkeit und Auflösung unterschiedlich ausgeprägt sind und nicht zueinander synchronisiert sind.
-
Bei der
US 2005/0036521 A1 wird die fehlende Synchronität in der Verarbeitung zwischen den einzelnen Verarbeitungsstufen durch Zwischenschalten von Pufferspeichern gelöst. Die Unterschiedlichkeit zwischen Eingangs- und Ausgangsdatenrate wird typischerweise durch Einfügen von Null-Transportdatenpaketen in den zu sendenden Transportdatenstrom oder durch Entfernen von nicht benötigten Transportdatenpaketen aus den zu sendenden Transportdatenstrom bewältigt.
-
Bei der digitalen Fernseh-Übertragung für stationäre und gleichzeitig für mobile Empfänger nach dem USamerikanischen Standard ATSC-M/H (Advanced-Television-Systems-Committee-Mobile/Handheld) ist ein Einfügen von Null-Transportdatenpaketen und ein Entfernen von nicht benötigten Transportdatenpaketen aufgrund der festen Datenstruktur des ATSC-M/H-Transportdatenstroms nicht möglich. Bezüglich ATSC sei beispielsweise auf die
US 7,532,677 B2 verwiesen.
-
Weiterer Stand der Technik geht aus folgenden Druckschriften hervor:
- US 2007/0230460 A1 ;
- REIMERS, Ulrich: Digital video broadcasting: (DVB); the international Standard for digital television. Berlin: Springer, 2001. S. 92-96. - ISBN 3-540-60946-6 und ATSC Digital Television Standard, Part 3 - Service Multiplex and Transport Subsystem Characteristics (A/53, Part 3:2007). Washington: ATSC, 2007. S. 23-26.
-
Aufgabe der Erfindung ist es deshalb, ein Verfahren und eine Vorrichtung zur Synchronisierung unterschiedlicher Taktgeber in den einzelnen Verarbeitungsstufen eines Senders zu schaffen, die einen digitalen Transportdatenstrom mit einer unveränderlichen Datenstruktur beispielsweise für ein ATSC-M/H-Übertragungssystem verarbeiten können.
-
Die Erfindungsaufgabe wird durch ein Verfahren zur Erzeugung eines zu sendenden Transportdatenstroms mit den Merkmalen des Patentanspruchs 1 und durch eine Vorrichtung zur Erzeugung eines zu sendenden Transportdatenstroms mit den Merkmalen des Patentanspruchs 12 gelöst. Vorteilhafte technische Erweiterungen sind in den abhängigen Patentansprüchen aufgeführt.
-
Die korrekte Synchronisierung des ersten Taktgebers, der die Empfangszeitpunkte der einzelnen Transportdatenpakete im empfangenen Transportdatenstrom ermittelt, mit dem zweiten Taktgeber, der die Taktung des zu sendenden Transportdatenstroms und damit die Zeitintervalle der einzelnen im zu sendenden Transportdatenstrom enthaltenen Datenrahmen vorgibt, ermöglicht ein korrektes zeitliches Einfügen jedes einzelnen Transportdatenpaketes des empfangenen Transportdatenstroms im jeweils korrekten Datenrahmen des zu sendenden Transportdatenstroms.
-
Erfindungsgemäß wird hierzu in einem ersten Schritt der Empfangszeitpunkt jedes Transportdatenpakets des empfangenen Transportdatenstroms als Anzahl von ersten Taktimpulsen des vom ersten Taktgeber erzeugten ersten Taktes seit dem Empfangszeitpunkt des ersten Transportstrompakts im empfangenen Transportdatenstrom ermittelt. Um eine zeitliche Relation zwischen dem vom ersten Taktgeber erzeugten ersten Takt und dem vom zweiten Taktgeber erzeugten zweiten Takt, der als Referenztakt dient, zu gewinnen, werden im nächsten Schritt die Zeitpunkte der zweiten Taktimpulse des zweiten Taktes als Funktion der Anzahl von ersten Taktimpulsen seit dem Empfangszeitpunkt des ersten Transportdatenpakets im empfangenen Transportdatenstrom bestimmt. Nach Erzeugung der einzelnen Datenrahmen des zu sendenden Transportdatenstroms, deren Zeitintervalle mit den zweiten Taktimpulsen zusammenfallen, wird der zu einem Transportdatenpaket des empfangenen Transportdatenstroms gehörige Datenrahmen des zu sendenden Transportdatenstroms auf der Basis der zum Empfangszeitpunkt des Transportdatenpakets ermittelten Anzahl von ersten Taktimpulsen und der Relation zwischen den Zeitpunkten der zweiten Taktimpulse des zweiten Taktes und der Anzahl von ersten Taktimpulsen seit dem Empfangszeitpunkt des ersten Transportdatenpakets selektiert.
-
Die Ermittlung der zu den Zeitpunkten der zweiten Taktimpulse jeweils gehörigen Anzahl von ersten Taktimpulsen erfolgt bevorzugt über eine Regelung. Hierbei wird die innerhalb eines Zeitintervalls der einzelnen Datenrahmen jeweils zu liegen kommende Anzahl von ersten Taktimpulsen aus der Addition der Anzahl von ersten Taktimpulsen pro Zeitintervall eines Datenrahmens im Fall eines zum zweiten Takt synchronisierten ersten Taktes und einer von einem Regler ermittelten Anzahl von ersten Taktimpulsen pro Zeitintervall eines Datenrahmens bestimmt. Die vom Regler ermittelte Anzahl von ersten Taktimpulsen pro Zeitintervall eines Datenrahmens ergibt sich aus der Regeldifferenz zwischen der akkumulierten Anzahl von ersten Taktimpulsen seit dem Empfangszeitpunkt des ersten Transportdatenpakets im empfangenen Transportdatenpaket und der akkumulierten Anzahl von ersten Taktimpulsen, die sich aus den in ein Zeitintervall eines Datenrahmen fallenden ersten Taktimpulsen im Fall eines zum zweiten Takt synchronisierten ersten Taktes und den zusätzlich in ein Zeitintervall eines Datenrahmens fallenden ersten Taktimpulsen im Fall eines zum zweiten Takt nicht-synchronisierten ersten Taktes ergeben. Die zusätzlich in ein Zeitintervall eines Datenrahmens fallenden ersten Taktimpulse im Fall eines zum zweiten Takt nicht-synchronisierten ersten Taktes entspricht der vom Regler ermittelten Anzahl von ersten Taktimpulsen.
-
Auf diese Weise kann bei einer Frequenzdrift zwischen ersten und zweiten Takt kontinuierlich für jeden Abtastzeitpunkt der digital realisierten Regelung eine dem veränderten Taktverhältnis zwischen erstem und zweitem Takt entsprechende Anzahl von ersten Taktimpulsen pro fixem Zeitintervall eines Datenrahmens ermittelt werden.
-
Diskontinuierliche Signalanteile im zeitlichen Verlauf des Regeldifferenzsignals, beispielsweise Signalspitzen und Signalsprünge, die aus messbaren Latenzen im Scheduler des Echtzeitbetriebssystems für die einzelnen Tasks, Threads und Prozesse resultieren, werden vorzugsweise über geeignete Filteralgorithmen selektiert und anschließend aus dem Regeldifferenzsignal kompensiert.
-
Stochastische kontinuierliche Signalschwankungen im zeitlichen Verlauf des Regeldifferenzsignals, die sich aus der Interruptverarbeitung oder der Kommunikationsverarbeitung über ein internes Bussystem ergeben und sich dem zu messenden Signal überlagern, werden bevorzugt über eine rollierende Mittelung über mehrere Abtastzeitpunkte der digitalen Regelung aus dem Regeldifferenzsignal beseitigt.
-
Bei Transportdatenpaketen, deren Position sich im zu sendenden Transportdatenstrom gegenüber dem empfangenen Transportdatenstrom ändert, was beispielsweise bei ATSC-Transportdatenpaketen für stationäre Empfänger auftritt, die aufgrund der Einplanung von ATSC-Transportdatenpaketen für mobile Empfänger auf Positionen, die ursprünglich von ATSC-Transportstrompaketen für stationäre Empfänger besetzt waren, ist zur Anzahl von ersten Taktimpulsen, die dem Empfangszeitpunkt entsprechen, bevorzugt zusätzlich eine zum zeitlichen Abstand zwischen der neuen und der alten Position korrespondierende Anzahl von ersten Taktimpulsen hinzuzuaddieren.
-
Enthält das hinsichtlich seiner Position im Transportdatenstrom verschobene Transportdatenpaket eine Zeitmarke, z.B. zur Synchronisierung zwischen Sender und Empfänger, so ist bevorzugt diese Zeitmarke entsprechend anzupassen. Die bei ATSC-Übertragungssystemen im Transportdatenpaket im Programm-Clock-Reference(PCR)-Feld ablegte Zeitmarke, die eine korrespondierende Anzahl von Taktimpulsen eines als PCR-Frequenz dienenden Taktes enthält, wird durch die Neupositionierung des ein PCR-Feld enthaltenden Transportdatenpakets in Abhängigkeit der aktuellen PCR-Frequenz und dem zeitlichen Abstand zwischen alter und neuer Position korrigiert. Da die PCR-Frequenz einer Schwankung unterworfen sein kann, erfolgt eine Korrektur der PCR-Frequenz, indem die Anzahl von ersten Taktimpulsen eines ersten Taktgebers zwischen zwei aufeinander folgenden, jeweils ein PCR-Feld enthaltenden Transportdatenpaketen gemessen wird.
-
Die Ausgangsdatenrate, mit der der zu sendende Transportdatenstrom ausgestrahlt wird, ergibt sich aus einem von einem dritten Taktgeber erzeugten dritten Takt. Die Synchronisierung des dritten Taktes mit dem als Referenztakt dienenden zweiten Takt erfolgt vorzugsweise durch Regelung des Pufferfüllstands eines Pufferspeichers, in den der zu sendende Transportdatenstrom mit dem zweiten Takt gefüllt wird und aus dem der zu sendende Transportdatenstrom mit dem dritten Takt ausgelesen wird. Sinkt der Pufferfüllstand im Pufferspeicher gegenüber dem Pufferfüllstand zur Initialisierung, so ist der dritte Takt höher als der zweite Takt und muss entsprechend reduziert werden. Bei einem ansteigenden Pufferfüllstand im Pufferspeicher gegenüber dem Pufferfüllstand zur Initialisierung ist der dritte Takt gegenüber dem zweiten Takt reduziert und muss entsprechend erhöht werden.
-
Um einen langzeitstabilen, als Referenztakt dienenden zweiten Takt zu gewinnen, wird vorzugsweise der zweite Takt vom langzeitstabilen Referenztakt des internetbasierten NTP-Servers versorgt. Um zur Langzeitstabilität auch noch eine Kurzzeitstabilität des zweiten Taktes zu erzielen, wird der Referenztakt des NTP-Servers mit einem von einem weiteren Referenzzeitgeber erzeugten Takt mit hoher zeitlicher Auflösung interpoliert.
-
Ausführungsbeispiele des erfindungsgemäßen Verfahrens und der erfindungsgemäßen Vorrichtung zur Erzeugung eines zu sendenden Transportdatenstroms werden im Folgenden anhand der Zeichnung im Detail beispielhaft erläutert. Die Figuren der Zeichnung zeigen:
- 1 ein Blockdiagramm eines Ausführungsbeispiels der erfindungsgemäßen Vorrichtung zur Erzeugung eines zu sendenden Transportdatenstroms,
- 2 ein Blockdiagramm eines Ausführungsbeispiels der erfindungsgemäßen Synchronisierung des ersten Taktes mit dem zweiten Takt,
- 3 ein Blockdiagramm eines Ausführungsbeispiels der erfindungsgemäßen Synchronisierung des dritten Taktes mit dem zweiten Takt,
- 4 ein Zeitdiagramm zur Darstellung der Interpolation des langzeitstabilen Referenztaktes mit einem kurzzeitstabilen Referenztakt,
- 5 ein Blockdiagramm eines Generators für einen ATSC-Transportdatenstrom,
- 6 ein Zeitdiagramm der Zykluszeiten der ATSC-M/H-Datenrahmen,
- 7 ein Zeitdiagram mit unterschiedlichen Relationen zwischen ersten und zweiten Takt,
- 8 ein Zeitdiagramm eines Regeldifferenzsignals mit diskontinuierlichen Signalschwankungen und
- 9 ein Flussdiagramm eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens zur Erzeugung eines zu sendenden Transportdatenstroms.
-
Das erfindungsgemäße Verfahren zur Erzeugung eines zu sendenden Transportdatenstroms wird im Folgenden anhand des Flussdiagramms in 9 erläutert, wobei gleichzeitig auf die Merkmale der erfindungsgemäßen Vorrichtung zur Erzeugung eines zu sendenden Transportdatenstroms gemäß der 1, 2 und 3 Bezug genommen wird:
- Im ersten Verfahrensschritt S10 wird ein ATSC-Transportdatenstrom mit TV-Programmdaten mehrerer TV-Programme und TV-Services für stationäre Empfänger in einem Generator für den Transportdatenstrom am Eingang 5 erzeugt. Hierzu ist gemäß 5 für jedes TV-Programm bzw. für jeden TV-Service jeweils ein Kodierer 11 ,12 ,..,1n vorgesehen, der jeweils Audio- und Video-Daten für ein TV-Programm- bzw. für einen TV-Service in einen Elementar-Transportdatenstrom bestehend aus aufeinander folgenden Transportdatenpaketen einfügt und beispielsweise mit einem MPEG2-Kodierungsalgorithmus quellkodiert.
-
Zusätzlich zu den Nutzdaten der TV-Programme und TV-Services werden in den Elementar-Transportdatenströmen Taktinformationen hinterlegt, mit denen beispielsweise die im jeweiligen A/V-Kodierer 11 ,12 ,..,1n verwendete Bildwiederholrate der Videodaten dem Videodekodierer in den einzelnen Empfängern zugeführt wird. Diese Taktinformationen werden als Zeitmarken, die den exakten Einfügezeitpunkt des die Video-Daten eines Bildes enthaltenden Transportdatenpakets im Elementar-Transportdatenstrom kennzeichnen, in das jeweilige Transportdatenpaket in einem sogenannten Programm-Clock-Reference(PCR)-Feld im Header des Transportdatenpakets abgelegt. Der exakte Einfügezeitpunkt des einzelnen Transportdatenpakets in den einzelnen Elementar-Transportdatenstrom wird aus dem Takt jeweils eines dem jeweiligen A/V-Kodierer 11 ,12 ,..,1n zugeordneten Taktgebers für PCR-Zeitmarken 31 ,32 ,..,3n ermittelt. Hierzu wird im jeweiligen Taktgeber für PCR-Zeitmarken 31 ,32 ,..,3n im Ausführungsbeispiel ein 27 MHz Takt, der synchron zu Bildabtastrate läuft, einem internen Zähler zugeführt. Der Zählerstand des internen Zählers zum Zeitpunkt des Einfügens des Transportdatenpakets in den Elementar-Transportdatenstrom wird vom jeweiligen A/V-Kodierer 11 ,12 ,..,1n beim jeweiligen Taktgeber für PCR-Zeitmarken 31 ,32 ,..,3n abgefragt um ihn im PCR-Feld des eingefügten Transportdatenpakets abzulegen.
-
In einem den einzelnen A/V-Kodieren 11 ,12 ,..,1n nachfolgenden ATSC-Multiplexer 2 werden die einzelnen Elementar-Transportdatenströme in einen Gesamt-Transportdatenstrom gepackt, der vom einem Taktgeber für den Transportstrom am Eingang 4 im Ausführungsbeispiel mit einem Takt von kleiner oder gleich 19,39 MHz im Fall einer ATSC-M/H-Übertragung versorgt wird.
-
Im nächsten Verfahrensschritt S20 wird der Empfangszeitpunkt jedes Transportdatenpakets des vom Generator für den Transportdatenstrom am Eingang 5 empfangenen ATSC-Transportdatenstroms in einer Einheit zur Bestimmung der Empfangszeit 6 ermittelt. Die Einheit 6 erhält hierzu von einem ersten Taktgeber 7 einen ersten Takt, der einen zum Takt des empfangenen ATSC-Transportdatenstroms unterschiedlichen Takt darstellt. Beispielsweise weist der erste Takt eine Frequenz von 54 MHz auf und besitzt gegenüber der standardisierten Langzeitgenauigkeit des empfangenen ATSC-Transportdatenstroms in Höhe von 30·10-6s/Tag eine zehnfach höhere Langzeitgenauigkeit in Höhe von 3·10-6s/Tag bzw. eine gegenüber der standardisierten zeitlichen Auflösung bzw. Kurzzeitgenauigkeit des empfangenen ATSC-Transportdatenstroms in Höhe von <52ns eine zweieinhalbfach höhere zeitliche Auflösung bzw. Kurzzeitgenauigkeit in Höhe von <20ns auf.
-
Zur Bestimmung des Empfangszeitpunktes eines Transportdatenpaketes ist im ersten Taktgeber ein interner Zähler vorgesehen, der die ersten Taktimpulse des ersten Taktes seit dem Empfangszeitpunkt des ersten Transportdatenpakets des empfangenen ATSC-Transportdatenstroms zählt und der Einheit zur Bestimmung der Empfangszeit 6 zur Verfügung stellt.
-
Enthält das empfangene Transportdatenpaket eine Zeitmarke in Form eines Zählerwertes im PCR-Feld, so ist der Zählerwert im PCR-Feld mit der aktuellen Anzahl von Taktimpulsen des als PCR-Frequenz dienenden Taktes zu aktualisieren. Aufgrund einer möglicherweise auftretenden Drift des als PCR-Frequenz dienenden Taktes muss dieser Takt kontinuierlich auf Korrektheit überprüft und bei einer Abweichung von einem Referenzwert entsprechend korrigiert werden. Hierzu wird einerseits der tatsächliche zeitliche Abstand zweier aufeinander folgender jeweils ein PCR-Feld mit einem Zählerwert tragenden Transportdatenpakete ermittelt, indem der jeweilige Empfangszeitpunkt der beiden Transportdatenpakete jeweils als Anzahl von ersten Taktimpulsen des ersten Taktes zum jeweiligen Empfangszeitpunkt und anschließende Differenzbildung der jeweils zum Empfangszeitpunkt des Transportdatenpakets mit Zeitmarke ermittelten ersten Taktimpulse bestimmt wird. Diese ermittelte Anzahl von ersten Taktimpulsen wird mit dem Quotienten aus der Anzahl von Transportdatenpaketen zwischen alter und neuer Position des verschobenen und eine Zeitmarke tragenden Transportdatenpakets und der Anzahl von Transportdatenpaketen zwischen zwei jeweils ein PCR-Feld tragenden Transportdatenpakete multipliziert.
-
Im darauffolgenden Verfahrensschritt S30 wird ein als Referenztakt des gesamten Sendersystems dienender zweiter Takt in einem zweiten Taktgeber 8 erzeugt, der eine sich aus der Datenrate des ATSC-Transportdatenstroms von 19,392658 MBit/s und der Größe der Datenverarbeitungsblöcke von 624 Transportdatenpaketen ergebende Taktfrequenz in Höhe von 20,66 Hz (19392658/8/624/188=20,66) aufweist und gegenüber dem empfangenen ATSC-Transportdatenstrom eine deutlich höhere Langzeitgenauigkeit in Höhe von 1·10-11s/Jahr und eine zeitliche Auflösung bzw. Kurzzeitgenauigkeit in Höhe von <2ms aufweist.
-
Um die Langzeitstabilität des zweiten Taktes zu gewinnen, wird als Referenzzeit das Network-Time-Protocol (NTP) benutzt, das von einem NTP-Server auf der Basis eines öffentlichen Referenztaktes, bevorzugt des GPS-Taktes, eine absolute Coordinated-Universal-Time(UTC)-Zeit erzeugt und über eine Netzwerk-Verbindung einem langzeitstabilen Referenzzeitgeber 10 zur Verfügung stellt. Zwischen dem NTP-Server und dem langzeitstabilen Referenzzeitgeber 10 findet dabei ein Abgleich der absoluten UTC-Zeit über das Network-time-Protocol statt.
-
Der langzeitstabile Referenzzeitgeber 10 wird nur in einer niedrigen zeitlichen Auflösung (<15ms) ausgelesen und weist deshalb eine entsprechend schlechte Kurzzeitgenauigkeit auf. Zur Erhöhung der Kurzzeitstabilität wird der langzeitstabile Referenztakt mittels Interpolation in einem Interpolator 12 mit einem kurzzeitstabilen Referenztakt, der in einem kurzzeitstabilen Referenzzeitgeber 11 erzeugt wird, in seiner Kurzzeitstabilität erhöht.
-
Hierzu wird der vom langzeitstabilen Referenzzeitgeber 10 als Zählerstand vorliegende langzeitstabile Referenztakt von der Systemsoftware des Interpolators 12 zyklisch in einem bestimmten Abtastintervall von einer zyklisch aufgerufenen Task (Arbeitsanweisung), wie im Zeitdiagramm der 4 dargestellt ist, ausgelesen. Ändert sich der Zählerstand des internen Zählers im langzeitstabilen Referenzzeitgeber 10, so wird der aktuelle Wert des kurzzeitstabilen Taktes des kurzzeitstabilen Referenzzeitgebers 11 - wiederum als Zählerstand eines internen Zählers im kurzzeitstabilen Referenzzeitgeber 11 - von der Systemsoftware des Interpolators 12 ausgelesen.
-
Da die Task, wie im Zeitdiagramm der 4 dargestellt ist, nur zu bestimmten Zeitpunkten aufgerufen wird, kommt es zu einem Interpolationsfehler-Versatz der gestrichelten Linien zwischen den einzelnen Zeitintervallen der langzeitstabilen Referenzzeit -, der sich über die Zeit nicht fortpflanzt, aber einen Zeit- oder Phasenjitter darstellt und mit geeigneten Algorithmen beseitigt werden muss. Der vom Interpolator ermittelte Zählerstand des kurzzeitstabilen Referenzzeitgebers 11 in Kombination mit dem ermittelten Zählerstand des langzeitstabilen Referenzzeitgebers 10, die zusammen einen kurz- und langzeitstabilen Referenztakt ergeben, werden noch einmal zyklisch in einem gegenüber dem kurzzeitstabilen Referenztakt erhöhten Abtasttakt von einer Task der Systemsoftware des zweiten Taktgeber 8 abgetastet und ergeben bei einem Wechsel des vom Interpolator 12 ermittelten Zählerstandes wiederum als Wert eines Zählerstandes den vom zweiten Taktgeber 8 erzeugten zweiten Takt.
-
Auf der Basis des somit erzeugten zweiten Taktes wird im nächsten Verfahrensschritt S40 im Transportstrom-Remultiplexer 13 der zu sendende ATSC-Transportdatenstrom erzeugt. Das Zeitintervall für einen VSB-Datenrahmen, in den insgesamt 624 Transportdatenpakete gepackt werden, entspricht bei einer Taktfrequenz des zweiten Taktes in Höhe von 20,66 Hz einem Wert von 48,39 ms. Es weist aufgrund des Interpolationsfehlers im Interpolator 12 und aufgrund der Überabtastung durch die Task der Systemsoftware des zweiten Taktgebers 8 einen Jitter gemäß dem Zeitdiagramm in 6 und 7 auf. Das Zeitintervall des zweiten Taktes in Höhe von 48,39 ms stellt die Dauer eines VSB-Datenrahmens des zu sendenden ATSC-Transportdatenstroms dar, in die Transportdatenpakete mit TV-Programmdaten für stationäre und mobile Empfänger gemäß dem ATSC-M/H-Übertragungsstandard gefüllt werden.
-
Im nächsten Verfahrensschritt S50 wird in einem Regler zur Bestimmung der zeitlichen Relation zwischen erstem und zweitem Takt 14 eine Zuordnung der einzelnen ersten Taktimpulse des ersten Taktes zu den einzelnen Taktintervallen des zweiten Taktes ermittelt. Da der erste Takt vom ersten Taktgeber 7 nicht veränderbar ist und somit an den als Referenztakt dienenden zweiten Takt nicht angepasst werden kann, kann eine echte Synchronisierung zwischen erstem und zweitem Takt im Sinne des Erreichens einer fixen Relation zwischen ersten und zweiten Takt über der Zeit nicht realisiert werden. Da die Synchronität des ersten und zweiten Taktes nicht realisierbar ist, ist zumindest die über der Zeit veränderliche Relation zwischen ersten und zweiten Takt zu ermitteln, um auf der Basis dieser ermittelten Relation eine korrekte Zuordnung zwischen den einzelnen Transportstrompaketen des empfangenen Transportdatenstroms und den einzelnen VSB-Datenrahmen des zu sendenden Transportdatenstroms zu gewinnen.
-
Als Größe zur Charakterisierung der zeitveränderlichen Relation zwischen ersten und zweiten Takt wird die Anzahl von ersten Taktimpulsen benutzt, die zusätzlich zu den ersten Taktimpulsen im Fall eines zum zweiten Takt synchronisierten ersten Taktes in das Zeitintervall eines zweiten Taktes fallen. Da die Anzahl der in ein Zeitintervall des zweiten Taktes jeweils fallenden ersten Taktimpulse eine zeitveränderliche Größe ist, wird diese Größe durch eine Regelung bestimmt. Dem Regler wird hierzu die Regeldifferenz zwischen den über der Zeit akkumulierten ersten Taktimpulsen und den über der gleichen Zeit akkumulierten und in jedes Zeitintervall des zweiten Taktes jeweils fallenden ersten Taktimpulsen zugeführt, die für den Fall eines zum zweiten Takt synchronisierten ersten Taktes in ein Zeitintervall des zweiten Taktes fallen und die zusätzlich vom Regler ermittelt wurden.
-
Im Regler zur Bestimmung der zeitlichen Relation zwischen erstem und zweitem Takt 14 gemäß 2 werden die ersten Taktimpulse des vom ersten Taktgeber 7 erzeugten ersten Taktes einem Abtast- und Halteglied (Sample/Hold-Glied (S/H)) zugeführt. Die ersten Taktimpulse werden zu den Taktzeiten des zweiten Taktes abgetastet und über das Zeitintervall des zweiten Taktes jeweils zwischengespeichert. Die abgetasteten ersten Taktimpulse werden in einem nachfolgenden Verzögerungsglied 16 über ein einziges Zeitintervall des zweiten Taktes verzögert. Durch Subtraktion der um ein Zeitintervall des zweiten Taktes verzögerten ersten Taktimpulse von den aktuell abgetasteten ersten Taktimpulsen in einem Subtrahierglied 17 werden die in das letzte Zeitintervall des zweiten Taktes fallenden ersten Taktimpulse ermittelt.
-
Diese in das letzte Zeitintervall des zweiten Taktes fallenden ersten Taktimpulse werden in einem nachfolgenden Summierers 18 zu den in den vorhergehenden Zeitintervallen des zweiten Taktes jeweils ermittelten ersten Taktimpulsen hinzuaddiert. Der Zählerstand des Summierers 18 beinhaltet somit die seit der Initialisierung des Reglers 14 akkumulierte Anzahl von ersten Taktimpulsen des vom ersten Zeitgeber 7 erzeugten ersten Taktes, während am Eingang des Abtast- und Halte-Gliedes 15 eine Anzahl von ersten Taktimpulsen des ersten Taktes als Zählerstand eines Zählers anliegt, der zur Initialisierung des Reglers 14 typischerweise einen von Null verschiedenen Zählerstand aufweist.
-
In einem weiteren Subtrahierglied 19 wird zur Bildung einer Regeldifferenz die seit der Initialisierung des Reglers 14 im Summierer 18 akkumulierte Anzahl von ersten Taktimpulsen von der seit der Initialisierung des Reglers 14 akkumulierten und in jedes Zeitintervall des zweiten Taktes jeweils fallenden ersten Taktimpulsen, die von einem weiter unten noch erläuterten Regler ermittelt wurden, subtrahiert.
-
Diese Regeldifferenz, die typischerweise als Signal über der Zeit auch mit Signalverunreinigungen behaftet ist, wird einem Filter 20 zur Ermittlung von diskontinuierlichen Signalschwankungen im RegeldifferenzSignal zugeführt. Hierbei kann es sich gemäß 8 um Signalspitzen (Spikes) oder um sprungförmige Signalschwankungen (Steps) handeln. Die selektierten Signalspitzen und sprungförmigen Signalschwankungen werden in einem nachfolgenden Subtrahierglied 21 aus dem Regeldifferenzsignal beseitigt. Zusätzlich im Regeldifferenzsignal enthaltene Jitter, die aus der Abtastung im ersten Taktgeber 7 resultieren, werden in einem Mittelungsfilter 22 gefiltert, in dem rollierend über eine bestimmte Anzahl von Abtastwerten, beispielsweise 40 Abtastwerte, eine Mittelung durchgeführt wird.
-
In einem anschließenden Dezimator 23 wird die Anzahl der Abtastwerte des gefilterten Regeldifferenzsignals reduziert, um dem Regler 24 nicht in jedem Taktzyklus des zweiten Taktes zu aktivieren, sondern erst nach einer bestimmten Anzahl von Taktzyklen des zweiten Taktes. Um eine Mitkopplung des Reglers zu vermeiden, entspricht die Dezimierungsrate des Dezimators 23 der Mittelungslänge des Mittelungsfilters 22.
-
Das gefilterte und dezimierte Regeldifferenzsignal wird einem Regler 24 zugeführt, der aufgrund des primär integrierenden Übertragungsverhaltens der Regelstrecke - integrierende Wirkung des weiter unten noch zu erläuternden Summierers 26 - lediglich als Regler mit proportionalen Regelverhalten, sogenannter P-Regler, auszulegen ist. Der Regler 24 ermittelt in Abhängigkeit des gefilterten und dezimierten Regeldifferenzsignals und aufgrund der Übertragungscharakteristik des geschlossenen Regelkreises ein Signal, das der Anzahl von ersten Taktimpulsen entspricht, die zusätzlich zu den ersten Taktimpulsen, die im Fall eines zum zweiten Takt synchronisierten ersten Taktes innerhalb des aktuellen Zeitintervalls des zweiten Taktes zu liegen kommen, innerhalb des aktuellen Zeitintervalls des zweiten Taktes hinzugefügt werden müssen, um der aktuell veränderten Relation zwischen ersten und zweiten Takt zu entsprechen.
-
Dem Ausgangssignal des Reglers 24 wird in einem nachfolgenden Addierer 25 ein Signal hinzugefügt, das der Anzahl von ersten Taktimpulsen im Fall eines zum zweiten Takt synchronisierten ersten Taktes entspricht. Somit liegt am Ausgang des Addierers 25 ein Signal an, das der zur veränderten Relation zwischen erstem und zweitem Takt korrespondierenden Anzahl von ersten Taktimpulsen entspricht, die während des aktuellen Zeitintervalls des zweiten Taktes auftreten.
-
Die aufgrund der aktuell veränderten Relation zwischen erstem und zweitem Takt in ein Zeitintervall des zweiten Taktes passende Anzahl von ersten Taktimpulsen wird in einem nachfolgenden Summierer 26 zu den in den bisherigen Zeitintervallen des zweiten Taktes seit Initialisierung des Reglers 14 jeweils passende Anzahl von ersten Taktimpulsen hinzuaddiert. Der Ausgang des Summierers 26 wird, wie weiter oben schon erwähnt wurde, an den invertierten Eingang des Subtrahierers 19 zur Bildung der Regeldifferenz geführt.
-
Im nächsten Verfahrensschritt S60 wird im Transportdatenstrom-Remultiplexer 13 für jedes ATSC-Transportdatenpaket des empfangenen ATSC-Transportdatenstroms der zugehörige VSB-Datenrahmen des im Verfahrensschritt S40 erzeugten zu sendenden ATSC-Transportdatenstroms selektiert und die Position des jeweiligen ATSC-Transportdatenpakets innerhalb des selektierten VSB-Datenrahmens bestimmt.
-
Für den Fall, dass sich die Position des ATSC-Transportdatenpakets zwischen dem empfangenen und dem zu sendenden ATSC-Transportdatenstrom nicht ändert, erfolgt die Selektion des korrekten VSB-Datenrahmens anhand der seit dem Empfangszeitpunkt des ersten ATSC-Transportdatenpakets des ATSC-Transportdatenstroms akkumulierten Anzahl von ersten Taktimpulsen zum Empfangszeitpunkt des jeweiligen Transportdatenpakets und der durch den Regler 14 im vorherigen Verfahrensschritt S50 ermittelten Anzahl von ersten Taktimpulsen je Zeitintervall des zweites Taktes und damit je Zeitintervall eines VSB-Datenrahmens. Ändert sich die Relation zwischen erstem und zweitem Takt ständig, so ist eine Relation zwischen der akkumulierten Anzahl von VSB-Datenrahmen und der zugehörig akkumulierten Anzahl von ersten Taktimpulsen heranzuziehen.
-
Für den Fall, dass sich die Position des ATSC-Transportdatenpakets zwischen dem empfangenen und dem zu sendenden ATSC-Transportdatenstrom ändert, ist eine der Positionsänderung im ATSC-Transportdatenstrom entsprechende Anzahl von ersten Taktimpulsen zu ermitteln. Diese zu ermittelnde Anzahl von ersten Taktimpulsen ist wiederum anhand der durch den Regler 14 ermittelten Anzahl von ersten Taktimpulsen je Zeitintervall eines VSB-Datenrahmens bzw. anhand der Relation zwischen der akkumulierten Anzahl von VSB-Datenrahmen und der zugehörig akkumulierten Anzahl von ersten Taktimpulsen zu bestimmen. Die Selektion des korrekten VSB-Datenrahmens für ein in seiner Position verschobenes ATSC-Transportdatenpaket basiert auf der seit dem Empfangszeitpunkt des ersten ATSC-Transportdatenpakets akkumulierten Anzahl von ersten Taktimpulsen zum Empfangszeitpunkt des jeweiligen ATSC-Transportdatenpakets zuzüglich der ermittelten, zur Positionsänderung korrespondierenden Anzahl von ersten Taktimpulsen.
-
Enthält das in den korrekten VSB-Datenrahmen einzufügende ATSC-Transportdatenpaket eine Zeitmarke in Form eines Zählerwertes im PCR-Feld, so ist der Zählerwert im PCR-Feld mit der zum aktuellen Empfangszeitpunkt des ATSC-Transportdatenpakets ermittelten Anzahl von Taktimpulsen des als PCR-Frequenz dienenden Taktes und der zur Positionsveränderung des ATSC-Transportdatenpakets aktuell ermittelten Anzahl von ersten Taktimpulsen zu aktualisieren.
-
Nach Hinzufügen der ATSC-Transportdatenpakete für mobile Empfänger in den dafür nach dem Standard vorgesehenen Positionen im zu sendenden ATSC-Transportdatenstrom durch einen an den Transportdatenstrom-Remultiplexer 13 sich anschließenden Multiplexer für ATSC-M/H-Daten 17 werden die einzelnen ATSC-Transportdatenpakete des zu sendenden ATSC-Transportdatenstroms blockweise in Vielfachen eines VSB-Datenrahmens in einen Pufferspeicher 3 eines Generators 28 für den Transportdatenstrom am Ausgang geschrieben.
-
Da der von einem dritten Taktgeber 29 erzeugte dritte Takt zur Ausstrahlung des ATSC-Transportdatenstroms mit dem als Referenztakt dienenden zweiten Takt nicht synchronisiert ist, wird der dritte Takt im abschließenden Verfahrensschritt S70 über eine Pufferfüllstands-Regelung 30 zum zweiten Takt synchronisiert.
-
Bei der Pufferfüllstands-Regelung wird gemäß 3 der Füllstand des Pufferspeichers 31 mit einer geeigneten Messauswertung erfasst.
-
Aufgrund von stochastischen Schwankungen in der zeitlichen Verarbeitung der idealerweise exakt zyklisch bearbeiteten Tasks, Threads und Prozesse im Scheduler des Echtzeitbetriebssystems kommt es zu Sprüngen der einzelnen Abtastzeitpunkte in einem einzigen Zeitpunkt und/oder während eines bestimmten Zeitintervalls und damit konsequenterweise zu Sprüngen der zugehörigen Messwerte des Füllstands in einem einzigen Zeitpunkt (Spikes) und/oder während eines bestimmten Zeitintervalls (Steps). Der hinsichtlich seines Wertes springende Messwert des Füllstands wird einem Filter 32 zur Ermittlung von diskontinuierlichen Signalschwankungen im Füllstandssignal zugeführt. Die selektierten Signalspitzen und sprungförmigen Signalschwankungen werden in einem nachfolgenden Subtrahierglied 33 aus dem Füllstandssignal beseitigt.
-
Zusätzlich im Füllstandssignal enthaltene zufällige Signalanteile singulärer Natur, die auf einmaligen Prozessen im Echtzeitbetriebssystem, beispielsweise Interrupt- oder Kommunikationsverarbeitung, resultieren, werden in einem Mittelungsfilter 34 gefiltert, in dem rollierend über eine bestimmte Anzahl von Abtastwerten, beispielsweise 40 Abtastwerte, eine Mittelung durchgeführt wird.
-
In einem anschließenden Dezimator 35 wird die Anzahl der Abtastwerte des gefilterten Füllstandssignals reduziert, um den nachfolgenden Regler 37 nicht in jedem Taktzyklus des vierten Taktes zu aktivieren, sondern erst nach einer bestimmten Anzahl von Taktzyklen des vierten Taktes. Um eine Mitkopplung des Reglers zu vermeiden, entspricht die Dezimierungsrate des Dezimators 35 der Mittelungslänge des Mittelungsfilters 34.
-
Das gefilterte und dezimierte Füllstandssignal wird einem Summierglied 36 zugeführt, dem der negative Füllstand Fülls tan d(t0) des Pufferspeichers 31 zum Initialisierungszeitpunkt t0 zugeführt wird. Das Signal am Ausgang des Summiergliedes entspricht der Regeldifferenz der Füllstandsregelung mit dem Füllstand Fülls tan d(t0) des Pufferspeichers 31 zum Initialisierungszeitpunkt t0 als Referenzwert.
-
Das Regeldifferenzsignal wird einem Regler 37 zugeführt, der aufgrund des integrierenden Übertragungsverhaltens des die Regelstrecke bildenden Pufferspeichers 31 nur ein rein proportionales Regelverhalten (so genannter P-Regler) aufweisen muss. Der Regler 37 ermittelt in Abhängigkeit des gefilterten und dezimierten Regeldifferenzsignals und aufgrund der Übertragungscharakteristik des geschlossenen Regelkreises ein Signal, das der Erhöhung oder der Reduzierung des nominalen dritten Taktes entspricht, um den Pufferspeicher 31 wieder auf seinen Referenzwert, dem Füllstand Fülls tan d(t0) des Pufferspeichers 31 zum Initialisierungszeitpunkt t0, zurückzuführen.
-
Ist folglich der der gemessene Füllstand größer als der Füllstand Fülls tan d(t0) zum Initialisierungszeitpunkt t0, d.h. der zweite Takt, mit dem der Pufferspeicher 31 befüllt wird, ist größer als der dritte Takt, mit dem der Pufferspeicher 31 entleert wird, so erzeugt der Regler 37 ein positives Ausgangssignal, das in einem nachfolgenden Summierer 38 zum Wert des nominalen dritten Taktes hinzuaddiert wird und einen gegenüber dem nominalen dritten Takt erhöhten realen dritten Takt aufweist. Der Pufferspeicher 31 wird folglich mit einem gegenüber dem ausgeregelten Zustand der Füllstandsregelung erhöhten dritten Takt entleert, um eine Angleichung des Füllstands an den Referenzwert des Füllstands Fülls tan d(t0) zum Initialisierungszeitpunkt t0 zu erreichen.
-
Ist dagegen der der gemessene Füllstand kleiner als der Füllstand Fülls tan d(t0) zum Initialisierungszeitpunkt t0, d.h. der zweite Takt, mit dem der Pufferspeicher 31 befüllt wird, ist kleiner als der dritte Takt, mit dem der Pufferspeicher 31 entleert wird, so erzeugt der Regler 37 ein negatives Ausgangssignal, das in einem nachfolgenden Summierer 38 zum Wert des nominalen dritten Taktes hinzuaddiert wird und einen gegenüber dem nominalen dritten Takt reduzierten realen dritten Takt aufweist. Der Pufferspeicher 31 wird folglich mit einem gegenüber dem ausgeregelten Zustand der Füllstandsregelung reduzierten dritten Takt entleert, um eine Angleichung des Füllstands an den Referenzwert des Füllstands Fülls tan d(t0) zum Initialisierungszeitpunkt t0 zu erreichen.
-
Die obig ausgeführte Synchronisierung zwischen zwei Takten auf der Basis einer Regelung der Anzahl von Taktimpulsen des einen Taktes innerhalb des Taktintervalls des anderen Taktes einerseits und einer Pufferfüllstandsregelung andererseits lässt sich auch auf andere Taktsynchronisierungen innerhalb eines Sendersystems übertragen und ist von der Erfindung mit abgedeckt. So ist auch beim Einfügen von IP-Datenpakete für mobile Empfänger in den Reed-Solomon-kodierten ATSC-M/H-Transportcontainer (Reed-Solomon-Datenrahmen) eine Ermittlung des Empfangszeitpunkts des IP-Datenpakets, ein Einfügen des IP-Datenpakets in der richtigen zeitlichen Lage des Reed-Solomon-Datenrahmens sowie eine Korrektur von in speziellen Transportdatenpaketen enthaltenen Zeitmarken (beispielsweise RTP- und RTCP-Zeitstempel) nötig.
-
Die Erfindung lässt sich auf alle Schnittstellenstandards, z.B. Asynchronous-Serial-Interface-Standard (ASI), Standard der Society-of-Motion-Picture-and Television-Engineers (SMPTE), Ethernet-Standard usw., mit den dazugehörigen Taktgenauigkeiten anwenden.
-
Die Erfindung ist nicht auf die dargestellte Ausführungsform beschränkt. Von der Erfindung sind auch andere heutige und zukünftige digitale TV-Übertragungsstandards mit äquivalenten Taktsynchronisierungsproblemen abgedeckt.