-
Verfahren
zur Synchronisierung von Szene-Datenfiles und Mediendatenströmen in einem
unidirektionalen Datenübertragungssystem
-
Gebiet der Erfindung
-
Die
Erfindung liegt auf dem Gebiet der Nachrichtentechnik und betrifft
ein Verfahren zur zeitlichen Synchronisierung von mittels eines
Datenkarussells übertragenen
Szene-Datenfiles und/oder deren Datenpakete mit Datenpaketen von
Mediendatenströmen
in einem unidirektionalen Datenübertragungssystem.
-
Stand der Technik
-
In
unidirektionalen Datenübertragungssystemen
(Broadcast-Systeme)
werden Daten von einem Sender zu einem oder mehreren Empfängern im Push-Verfahren übertragen.
In Broadcast-Systemen werden
Daten insbesondere im Streaming-Verfahren als kontinuierliche Datenströme übertragen,
was den Vorteil hat, dass hohe Anforderungen an die Genauigkeit
der Datenrate erfüllt
werden können,
wenn beispielsweise die Datenrate an den Systemtakt des Empfängers gekoppelt
wird. So werden heutzutage Audio- und Videodatenströme im Allgemeinen
an die Empfänger
gestreamt, wobei die Daten jeweils mit Zeitmarken versehen werden,
die angeben, zu welchen Zeitpunkten sie für eine Präsentation und/oder Dekodierung
relevant sind. Nachteilig am Streaming-Verfahren ist, dass die Empfänger versäumt oder
fehlerhaft empfangene Daten nicht erneut übertragen bekommen können.
-
Weiterhin
ist in Broadcast-Systemen eine Datenübertragung durch das Download-Verfahren bekannt,
bei welchem Daten in Form von Datenfiles bzw. Datenobjekten vom
Sender an die Empfänger übertragen
und im Empfänger
gespeichert werden. Bis lang werden lediglich Zusatzdaten, die Audio-
und Videodatenströme
einer selben Datenübertragungssession
betreffen, wie elektronische Programminformationen (EPG = Electronic
Program Guide) und dergleichen, im Download-Verfahren an die Empfänger übertragen.
Der Grund hierfür
liegt darin, dass derartige Zusatzdaten nicht zeitkritisch sind,
so dass es nicht erforderlich ist, diese Zusatzdaten für eine Präsentation
mit den im Streaming-Verfahren übertragenen
Audio- und Videodatenströmen
zu synchronisieren.
-
Diese
Situation hat sich jedoch im Bereich der so genannten Rich-Media-Anwendungen,
in denen graphische Szenen beschrieben werden, grundsätzlich geändert. Jede
graphische Szene, die für
einen längeren
Zeitraum gültig
sein kann, setzt sich bei diesen Anwendungen aus Audio-, Video-
und Szenedaten (Graphik- und Textdaten) zusammen (siehe beispielsweise
MPEG-Standard "LASeR" (Lightweight Application
Scene Representation), vormals als MPEG 4, Part 20, bzw. ISO/IEC
14496-20 bezeichnet, worin ein Format zur Beschreibung von graphischen
Szenen spezifiziert ist). Da der durch die Szenedaten beschriebene
Zustand einer Szene zeitkritisch ist, ist es erforderlich, die Szenedaten
mit den Audio- und Videodatenströmen
zu synchronisieren.
-
Wenn
die Datenübertragung
zwischen Sender und Empfänger
durch Punkt-zu-Punkt-Verbindungen erfolgt, können die Szene- und die Mediendaten
(Audio- und Videodaten) parallel zum Empfänger gestreamt werden, so dass
sie zu Beginn des Zeitbereichs in denen sie gültig sind, dem Empfänger zur
Verfügung
stehen.
-
Eine
zeitliche Synchronisierung der Zustände einer Szene mit den Mediendatenströmen wird durch
Mechanismen der Stream-Synchronisierung ermöglicht,
beispielsweise auf Basis von RTP (Real Time Transport Protocol),
einem Protokoll zur kontinuierlichen Übertragung von audiovisuellen
Daten (Streams) über
IP-basierte Netzwerke, das in RFC 3550 (RFC = Request for Comments)
standardisiert ist. In RTP werden parallel zu den einzelnen Mediendatenströmen so genannte
Sender Reports gesendet, die RTP-Zeitmarken in den Mediendatenströmen NTP-Zeitmarken
(NTP = Network Time Protocol) zuordnen, wobei die NTP-Zeitmarken
in allen Sender Reports der verschiedenen Medien-Datenströme eindeutig
sind. Bei NTP handelt es sich um einen Standard zur Synchronisierung
von Uhren in Computersystemen über
paketbasierte Kommunikationsnetze, welcher als RFC 958 standardisiert
ist. In den Sender Reports wird das Zeitmarkenformat von NTP verwendet.
-
Da
jedoch im Broadcast-Verfahren nicht sichergestellt werden kann,
dass ein Empfänger
zu Beginn des Zeitbereichs, in dem eine jeweilige Szene gültig ist,
bereits den Datenstrom empfängt,
ist es erforderlich, zumindest während
des Zeitbereichs der Gültigkeit
einer Szene, die Szenedaten immer wieder zu übertragen, damit ein Empfänger, der
sich erst später
zuschaltet auch die Szenedaten empfangen kann. Eine Synchronisierung
von Szenenzuständen auf
Basis einer Synchronisierung von Datenströmen ist jedoch in diesem Fall
nicht möglich.
Weiterhin ist ein Vorabempfang von Szenedaten, die entweder komplex
sind und daher frühzeitig
zu prozessieren sind, oder gegebenenfalls in anderen Szenen verwendet
werden, nicht möglich.
-
Ein
Ansatz zum Lösen
dieser Problematik ist durch eine als "HisTV" bezeichnete Anwendung bekannt, bei
der eine Synchronisierung von Szenezuständen dadurch realisiert wird,
dass NTP-Zeitmarken des Audio- oder Videodatenstroms in der Beschreibung
der Zustände
einer Szene referenziert werden. Nachteilig hierbei ist, dass vorab
bekannt sein muss, welche Zeitmarken in den Medienströmen verwendet
werden, was jedoch insbesondere bei live aufgenommenen Sendungen
nicht möglich
ist. Aber auch bei bereits aufgezeichneten Sendungen ist hierdurch
der Umgang mit den Inhalten im Headend eingeschränkt, beispielsweise beim Schalten
von Werbeeinträgen.
-
Zusammenfassung der Erfindung
-
Aufgabe der Erfindung
-
Demgegenüber besteht
die Aufgabe der vorliegenden Erfindung darin, ein Verfahren zur
Synchronisierung von eine Szene beschreibenden Szene-Datenfiles
mit Medienströmen
(Audio-/Videodatenströmen)
der Szene zur Verfügung
zu stellen.
-
Lösung der Aufgabe
-
Diese
Aufgabe wird durch ein Verfahren zur Synchronisierung von Datenpaketen
wenigstens eines Mediendatenstroms mit einer Mehrzahl wenigstens
eine Szene beschreibenden Szene-Datenfiles und/oder den darin enthaltenden
Datenpaketen in einem unidirektionalen Datenübertragungssystem mit den Merkmalen
von Patentanspruch 1 gelöst.
Vorteilhafte Ausgestaltungen der Erfindung sind durch die Merkmale
der Unteransprüche
angegeben.
-
Erfindungsgemäß ist ein
Verfahren zur Synchronisierung einer Mehrzahl von Datenpaketen wenigstens
eines Mediendatenstroms mit wenigstens eine Szene beschreibenden
Szene-Datenfiles und/oder deren Datenpaketen in einem unidirektionalen
Datenübertragungssystem
gezeigt. Der wenigstens eine Mediendatenstrom wird von einem Sender
des unidirektionalen Datenübertragungssystems
zu wenigstens einem Empfänger
des unidirektionalen Datenübertragungssystems
kontinuierlich im Streaming-Verfahren übertragen.
Bei dem unidirektionalen Datenübertragungssystem
kann es sich um ein Broadcast-, Multicast oder Unicast-Datenübertragungssystem
handeln.
-
Die
Szene-Datenfiles bzw. deren Datenpakete werden vom Sender mittels
eines Datenkarussells an den wenigstens einen Empfänger im
Download-Verfahren übertragen.
Das Datenkarussell zur Übertragung
der Szene-Datenfiles ist geeignet, in zyklischer Wiederholung die
Szene-Datenfiles, in denen jeweils wenigstens eine selbe Szene beschreibende
Szene-Datenobjekte enthalten sind, an den wenigstens einen Empfänger zu übertragen.
Das Datenkarussell ist in Form eines so genannten Datenobjektkarussells
ausgebildet, und demzufolge in der Lage, nicht nur Dateien, sondern
auch Verzeichnisstrukturen in zyklischer Weise wiederholt zu übertragen.
-
Daten-
bzw. Datenobjektkarusselle zum zyklisch wiederholten Versenden von
Daten sind als solche beispielsweise im Standard DSM-CC (DSM-CC
= Data Storage Media Command and Control) spezifiziert und demnach
den einschlägigen Fachleuten
wohlbekannt, so dass sich eine weitere Erläuterung hier erübrigt. Datenkarusselle
können auch
auf Flute und/oder ALC (Asychronous Lager Coding) und/oder LCT (Lager
Coding Transport) basieren.
-
Die
Datenpakete des wenigstens einen Mediendatenstroms sind jeweils
mit einer auf eine erste Referenzzeit bezogenen ersten Zeitmarke
versehen. Die Datenpakete der Szene-Datenfiles und/oder deren Datenpakete
sind jeweils mit einer zweiten Zeitmarke versehen, die auf eine
(von der ersten Referenzzeit verschiedene) zweite Referenzzeit bezogen sind.
-
In
dem erfindungsgemäßen Verfahren
wird weiterhin wenigstens ein Zeitmarkenzuordnungsdatenstrom im
Streaming-Verfahren vom Sender zum Empfänger übertragen, in dem die ersten
Zeitmarken der Datenpakete des wenigstens einen Mediendatenstroms
und die zweiten Zeitmarken der Szene-Datenfiles und/oder von deren
Datenpaketen jeweils einer dritten Zeitmarke zugeordnet sind, die
auf eine dritte Referenzzeit bezogen sind, so dass über die
dritten Zeitmarken des Zeitmarkenzuordnungsdatenstroms eine Zuordnung
der ersten Zeitmarken zu den zweiten Zeitmarken ermöglicht ist.
-
Durch
das erfindungsgemäße Verfahren kann
somit in vorteilhafter Weise eine Synchronisierung zwischen vorab
geladenen Szenen und gestreamten Mediendaten flexibel in Echtzeit
erfolgen. Darüber
hinaus ist das Einbinden zusätzlicher
Inhalte, wie beispielsweise Werbeblöcke, durch die Zuordnung von
Zeitmarken möglich.
Die Synchronisierung kann wie bisher im Streaming-Fall gehandhabt
werden.
-
Werden
die Szene-Datenfiles mit zweiten Zeitmarken versehen, so erfolgt
eine Synchronisierung der Szene-Datenfiles mit den Datenpaketen
des wenigstens einen Mediendatenstroms (Synchronisierung auf Datenfile-Ebene).
Werden die Datenpakete der Szene-Datenfiles mit zweiten Zeitmarken
versehen, so erfolgt eine Synchronisierung der Datenpakete der Szene-Datenfiles
mit den Datenpaketen des wenigstens einen Mediendatenstroms (Synchronisierung
auf Datenpaket-Ebene). Wenn die Datenpakete eines selben Szene-Datenfiles
mit einer gleichen zweiten Zeitmarke versehen werden, so erfolgt
eine Synchronisierung des Szene-Datenfiles und der Datenpakete des
Szene-Datenfiles mit den Datenpaketen des wenigstens einen Mediendatenstroms
(Synchronisierung auf Datenfile-Ebene und Datenpaket-Ebene).
-
Bei
einer vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens
ist für
jeden Mediendatenstrom ein separater Zeitmarkenzuordnungsdatenstrom
vorgesehen, was eine einfache Implementierung ermöglicht.
-
Bei
einer weiteren vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens
werden die Datenpakete des wenigstens einen Zeitmarkenzuordnungsdatenstroms
erst dann generiert und übertragen,
wenn die über
die dritten Zeitmarken der dritten Referenzzeit den Datenpaketen
des Zeitmarkenzuordnungsdatenstroms zugeordneten Datenpakete des
wenigstens einen Mediendatenstroms übertragen werden. Dies bietet
den Vorteil einer flexiblen Gestaltung der Datenstromübertragung,
wobei insbe sondere Bandbreitenschwankungen berücksichtigt und weitere Inhalte
eingeblendet werden können.
-
Die
Erfindung erstreckt sich weiterhin auf ein unidirektionales Datenübertragungssystem
mit einem Sender und wenigstens einem Empfänger, wobei Sender und Empfänger zur
Durchführung
eines wie oben beschriebenen Verfahrens geeignet ausgebildet sind.
-
Darüber hinaus
erstreckt sich die Erfindung auf einen Sender eines wie oben beschriebenen
unidirektionalen Datenübertragungssystems,
in dem ein maschinenlesbarer Programmcode ausgeführt wird bzw. ausführbar ist,
der Steuerbefehle enthält,
die den Sender zur Durchführung
eines wie oben beschriebenen Verfahrens veranlassen. Ferner erstreckt
sich die Erfindung auf einen maschinenlesbaren Programmcode (Computerprogramm)
für einen solchen
Sender, welcher Steuerbefehle enthält, die den Sender zur Durchführung eines
wie oben beschriebenen Verfahrens veranlassen. Zudem erstreckt sich
die Erfindung auf ein Speichermedium (Computerprogrammprodukt) mit
einem solchen, darauf gespeicherten maschinenlesbaren Programmcode.
-
Die
Erfindung erstreckt sich ferner auf einen Empfänger eines wie oben beschriebenen
unidirektionalen Datenübertragungssystems,
in dem ein maschinenlesbarer Programmcode ausgeführt wird bzw. ausführbar ist,
der Steuerbefehle enthält,
die den Empfänger
zur Durchführung
eines wie oben beschriebenen Verfahrens veranlassen. Ferner erstreckt
sich die Erfindung auf einen maschinenlesbaren Programmcode (Computerprogramm)
für einen solchen
Empfänger,
welcher Steuerbefehle enthält, die
den Sender zur Durchführung
eines wie oben beschriebenen Verfahrens veranlassen. Zudem erstreckt
sich die Erfindung auf ein Speichermedium (Computerprogrammprodukt)
mit einem solchen, darauf gespeicherten maschinenlesbaren Programmcode.
-
Ausführungsbeispiel
-
Die
Erfindung wird nun anhand eines Ausführungsbeispiels näher erläutert, wobei
Bezug auf die beigefügte
Figur genommen wird.
-
Kurze Beschreibung der Figur
-
1 zeigt
ein Ausführungsbeispiel
eines erfindungsgemäßen unidirektionalen
Datenübertragungssystems
zur Veranschaulichung eines Ausführungsbeispiels
des erfindungsgemäßen Verfahrens.
-
Ausführliche Beschreibung der Figur
-
In 1 ist
ein insgesamt mit der Bezugszahl 1 bezeichnetes Ausführungsbeispiel
des erfindungsgemäßen undirektionalen
Datenübertragungssystems
dargestellt. Das Datenübertragungssystem umfasst
einen Sender 2 (Datenkarussell-Server) und eine Mehrzahl
Empfänger 3,
von denen in 1 lediglich einer dargestellt
ist. Die Daten zwischen Sender 2 und Empfänger 3 werden
im Broadcast-Verfahren übertragen,
das heißt,
vom Sender 2 zu den Empfängern 3 im Push-Verfahren
gesendet. Die Datenübertragung
kann drahtlos oder kabelgebunden sein, was in 1 nicht
näher dargestellt
ist.
-
Im
Datenkarussell bzw. Datenobjekt-Karussell des Senders 2,
welches insbesondere gemäß dem Standard-Format
DSM-CC spezifiziert sein kann, oder auf Flute und/oder ALC (Asychronous
Lager Coding) und/oder LCT (Lager Coding Transport) basieren kann,
befinden sich eine Mehrzahl Szene-Datenfiles A-E, die jeweils ein
oder mehrere Szene-Datenobjekte zur Beschreibung wenigstens einer selben
graphischen Szene enthalten und in zyklischer Wiederholung an den
Empfänger 3 übertragen werden.
-
In 1 sind
die verschiedenen Szene-Datenfiles A-E zum Zwecke einer anschaulichen
Darstellung über
den Umfang eines Rings verteilt, wobei durch den Pfeil, welcher
die Drehrichtung des Datenkarussells symbolisiert und die Anordnung
der Szene-Datenfiles A-E auf dem Datenkarussell, die zeitliche Reihenfolge
für das
zyklische Aussenden der Szene-Datenfiles A-E angegeben ist. So wird
das zweite Szene-Datenfile B nach dem ersten Szene-Datenfile A,
das dritte Szene-Datenfile C nach dem zweiten Szene-Datenfile B,
das vierte Szene-Datenfile
D nach dem dritten Szene-Datenfile C, und das fünfte Szene-Datenfile E nach
dem vierten Szene-Datenfile D ausgesendet. Anschließend wird das
Aussenden der ersten bis fünften
Szene-Datenfiles A-E in dieser Reihenfolge für einen wählbaren Zeitbereich, der für eine Präsentation
und/oder Dekodierung und/oder Speicherung der in den Szene-Datenobjekten
der Szene-Datenfiles A-E beschriebenen Szene gültig ist, wiederholt.
-
Es
ist bekannt, dass insbesondere bei Nutzung von FEC-Mechanismen (FEC
= Forward Error Correction) dies eine idealisierte Darstellung ist
und dass die Reihenfolge der Szene-Datenfiles A-E nur durch den Empfänger interpretiert
werden kann.
-
Bei
der Übertragung
von Szene-Datenfiles A-E handelt es sich um eine Flute-Übertragungssession
gemäß dem durch
die IETF (Internet Engineering Task Force) standardisierten Transportprotokoll RFC
3926 "Flute" (Flute = File Delivery
over Unidirectional Transport). Hierbei wird, neben den Szene-Datenfiles A-E, ein
Indexfile FDT (FDT = File Delivery Table) übertragen.
-
Die
Szene-Datenfiles A-E und/oder deren Datenpakete sind jeweils mit
einer Szene-Datenfile-Zeitmarke (Zeitstempel) versehen, die auf
eine Szene-Datenfile-Referenzzeit (Zeitskala) ZS3 bezogen sind.
-
Der
Sender 2 überträgt weiterhin
im Streaming-Verfahren einen Audiodatenstrom AS und einen Videodatenstrom
VS an den Empfänger 3.
-
Die
Datenpakete des Audiodatenstroms AS sind jeweils mit einer Audiodatenstrom-Zeitmarke (Zeitstempel)
versehen, die auf eine Audiodatenstrom-Referenzzeit (Zeitskala)
ZS1 bezogen sind. Hierbei handelt es sich um RTP-Zeitmarken auf
Basis von RTP (Real Time Transport Protocol), das in RFC 3550 (RFC
= Request for Comments) standardisiert ist.
-
Die
Datenpakete des Videodatenstroms VS sind jeweils mit einer Videodatenstrom-Zeitmarke (Zeitstempel)
versehen, die auf eine Videodatenstrom-Referenzzeit (Zeitskala)
ZS2 bezogen sind. Hierbei handelt es sich um RTP-Zeitmarken auf
Basis von RTP (Real Time Transport Protocol), das in RFC 3550 (RFC
= Request for Comments) standardisiert ist.
-
Die
Audiodatenstrom-Referenzzeit ZS1 ist von der Videodatenstrom-Referenzzeit
ZS2 verschieden. Die Audiodatenstrom-Referenzzeit ZS1 und die Videodatenstrom-Referenzzeit
ZS2 sind jeweils von der Szene-Datenfile-Referenzzeit ZS3 verschieden.
-
Weiterhin
werden vom Sender 2 im Streaming-Verfahren drei Zeitmarkenzuordnungsdatenströme an den
Empfänger 3 übertragen,
nämlich
ein erster Zeitmarkenzuordnungsdatenstrom SRA, welcher dem Audiodatenstrom
AS zugeordnet ist, ein zweiter Zeitmarkenzuordnungsdatenstrom SRV,
welcher dem Videodatenstrom VS zugeordnet ist, und ein dritter Zeitmarkenzuordnungsdatenstrom
SRS, welcher dem Szene-Datenfiles zugeordnet ist.
-
Im
ersten Zeitmarkenzuordnungsdatenstrom SRA, welcher dem Audiodatenstrom
AS zugeordnet ist, erfolgt für
jede Audiodatenstrom-Zeitmarke der Datenpakete des Audiodatenstroms
AS eine Zuordnung zu einer Referenzzeit-Zeitmarke (Zeitstempel) einer
Gemeinsamen Referenzzeit (Zeitskala) ZS*. Hierbei werden Sender
Reports gesendet, welche die RTP-Zeitmarken im Audiodatenstrom AS NTP-Zeitmarken
zuordnen. Die NTP-Zeitmarken basieren auf NTP (NTP = Network Time
Protocol), welches als RFC 958 standardisiert ist.
-
Im
zweiten Zeitmarkenzuordnungsdatenstrom SRV, welcher dem Videodatenstrom
VS zugeordnet ist, erfolgt für
jede Videodatenstrom-Zeitmarke der Datenpakete des Videodatenstroms
VS eine Zuordnung zur Referenzzeit-Zeitmarke (Zeitstempel) der Gemeinsamen
Referenzzeit (Zeitskala) ZS*. Hierbei werden Sender Reports gesendet,
welche die RTP-Zeitmarken im Videodatenstrom VS NTP-Zeitmarken zuordnen.
-
Im
dritten Zeitmarkenzuordnungsdatenstrom SRS, welcher den Szene-Datenfiles
A-E zugeordnet ist, erfolgt für
jede Szene-Datenfile-Zeitmarke
der Szene-Datenfiles A-E und/oder deren Datenpakete eine Zuordnung
zur Referenzzeit-Zeitmarke (Zeitstempel) der Gemeinsamen Referenzzeit
(Zeitskala) ZS*. Hierbei werden Sender Reports gesendet, welche
die Szene-Datenfile-Zeitmarken
der Szene-Datenfiles A-E und/oder deren Datenpakete NTP-Zeitmarken
zuordnen.
-
Somit
erfolgt durch den ersten Zeitmarkenzuordnungsdatenstrom SRA eine
Zuordnung der RTP-Zeitmarken zu NTP-Zeitstempeln, durch den zweiten
Zeitmarkenzuordnungsdatenstrom SRV eine Zuordnung der RTP-Zeitmarken
zu NTP-Zeitstempeln und durch den dritten Zeitmarkenzuordnungsdatenstrom
SRS eine Zuordnung der Zeitmarken der Szene-Datenfiles und/oder
deren Datenpakete zu NTP-Zeitmarken.
-
Die
NTP-Zeitmarken der ersten, zweiten und dritten Zeitmarkenzuordnungsdatenströme SRA, SRV,
SRS beziehen sich jeweils auf dieselbe Zeitskala ZS*. Die Zeitskala
ZS* kann auf der Empfangsseite hinsichtlich einer Uhr oder Taktgeber
interpretiert werden.
-
Durch
die ersten, zweiten und dritten Zeitmarkenzuordnungsdatenströme SRA,
SRV, SRS kann der Empfänger 3 über die
Gemeinsame Referenzzeit ZS* eine eineindeutige Zuordnung der Szene-Datenfiles A-E und/oder
deren Datenpakete zu den Datenpaketen der Video- und Audiodatenströme VS, AS
durchführen
und auf diese Weise die Szene-Datenfiles mit den Video- und Audiodatenströmen für eine Darstellung
und/oder Dekodierung und/oder Speicherung zeitlich synchronisieren.