-
Die Erfindung betrifft Multimedia-Serversysteme
und insbesondere die Synchronisation von Medienstromabspiellisten
(Playlists) mit Echtzeit, d. h. tatsächlicher Taktzeit, in einer
Videoserverumgebung.
-
Medienserver stellen kosteneffektive
Video-, Audio- und andere Multimediastrom-Fähigkeiten zur Verfügung für die Verwendung
in sowohl Geschäfts- als
auch Konsumentenumgebungen. Beispielsweise kann ein Videoserver
eine Bibliothek von Videoquellen enthalten, wie z. B. Videofilme,
und kann es einem oder mehreren Benutzern erlauben, einen oder mehrere
der Filme für
die Betrachtung auszuwählen. Der
Videoserver beinhaltet typischerweise magnetische Speicherfestplattenlaufwerke,
auf denen aufgezeichnete Blöcke
von den benutzerausgewählten
Videoquellen magnetisch gespeichert werden. Filme sind typischerweise
zwei Stunden lang und werden mit einer Geschwindigkeit von zwischen
vielleicht einem MB/Sekunde und etwa acht MB/Sekunde codiert (z.
B. unter Verwendung von MPEG). Somit kann ein Film zwischen einem
und acht GB Speichermedium erfordern.
-
Eine Zugangsentscheidungseinheit
wird typischerweise bereitgestellt, um die Gesamtzahl von Benutzern
des Videoservers bei einer gegebenen Zeit zu begrenzen und eine Überlast
des Netzwerks oder des Festplattenspeichersystems zu verhindern. Solch
eine Überlastung
könnte
veranlassen, daß Filme
zu langsam ablaufen oder auf eine ruckelnde Art und Weise vorwärts- (oder
rückwärts-) laufen.
Die Zeit, zu der ein bestimmter Film abgespielt werden sollte, und
die Ordnung, mit der die Filme abgespielt werden, wird durch eine
Spielliste bzw. Playlist gesteuert. Eine Playlist ist eine zusammenhängende Liste
von Multimedia-Titeln, die in einer bestimmten Position auf der
Zeitachse der Playlist plaziert sind. Jeder Titel hat eine spezifizierte
Dauer. Sobald ein Befehl gegeben wird, die Playlist abzuspielen,
wird das Abspielen entlang der Zeitachse der Playlist in gleichem
Maße wie
die Tageszeit ablaufen.
-
Es ist häufig nicht praktikabel, einen
gesamten Film in einer einzelnen Festplatteneinheit zu speichern,
da eine typische Festplatteneinheit nur Daten mit einer Geschwindigkeit
von ein paar MB/Sekunde ausgeben kann. Um dieses Speicherproblem
zu umgehen, ist es üblich,
Blöcke
des Films (z. B. vielleicht 0,5-Sekunden-Sequenzen) über mehrere
Festplatteneinheiten verteilt abzulegen. Diese Blöcke werden dann
ausgelesen oder zu einem Pufferspeicher übertragen und über das
Netzwerk kommuniziert. Wenn diese Blöcke über das Netzwerk gesendet werden, werden
neue Blöcke
von dem Film von der Festplatteneinheit ausgelesen. An dem Empfangsende
werden die Blöcke
decodiert für
die Benutzerbetrachtung auf einem Videomonitor, einem Fernsehempfänger oder
dergleichen.
-
Die Verwendung von Festplattenlaufwerken, um
Informationen magnetisch zu speichern, ist bekannt. Ein einzelnes
Festplattenlaufwerk beinhaltet typischerweise verschiedene sich
drehende Scheiben oder Platten, auf deren Oberflächen Information von einem
Lese-/Schreibkopf geschrie ben oder gelesen werden kann. Innerhalb
eines Festplattenlaufwerks drehen sich die Platten zusammen und
alle Lese-/Schreibköpfe
werden typischerweise gemeinsam bewegt, um auf unterschiedliche
Plattenpositionen zuzugreifen. Eine Platte wird typischerweise in
konzentrischen Spuren, die gemeinsam von Platte-zu-Platte eine Familie
von konzentrischen Zylindern definieren, und in Sektoren formatiert,
die einen Abschnitt einer Spur bzw. eines Tracks darstellen. Ein
Controller, der mit der Festplatteneinheit verknüpft ist, bestimmt, auf welchen
Zylinder, Lese-/Schreibkopf und auf welchen Sektor für das Lesen
oder Schreiben zugegriffen wird.
-
Die Platten können ebenso als in Zonen aufgeteilt
angesehen werden. Da sie physikalisch größer sind, enthalten Spuren
bzw. Tracks in Zonen an dem äußeren Plattendurchmesser
mehr Sektoren als Spuren bzw. Tracks in Zonen, die näher an der
Drehachse der Platte angeordnet sind. Daher ist unter der Annahme,
daß die
Platten mit einer konstanten Geschwindigkeit w rotieren, die verfügbare Datenbandbreite
an den äußersten
Zonen größer als
die verfügbare
Datenbandbreite an den innersten Zonen. Selbst mit den modernsten
Festplattenlaufwerken kann es eine 2 : 1-Variation zwischen dem
schlechtesten Fall und dem Durchschnittsfall der Plattenübertragungsbandbreite
geben aufgrund der Sektor-/Trackvariationen zwischen den äußeren und
inneren Zonen.
-
Unglücklicherweise ist das Bereitstellen
eines Videobitstroms von dem Ausgang eines Videoservers zu der exakten
Zeit, die durch die Playlist spezifiziert wird, schwierig aufgrund
der Verzögerungen,
die Multimediaplayern inhärent
sind, was eine Eigenschaft der Plattenzugriffszeiten und anderer Verzögerungen
ist, die mit dem Multimediaserver verknüpft sind. Die Verzögerung zwischen
der Zeit; zu der das Abspielen eines bestimmten Titels der Playlist
befohlen wird, und der tatsächlichen
Initialisierung des Abspielens wird als "Zugriffsverzögerung" bzw. "admission delay" bezeichnet.
-
Die Länge einer Zugriffsverzögerung ist
im allgemeinen nicht von vorhersagbarer Dauer. Die Dauer irgendeiner
bestimmten Zugriffsverzögerung ist
eine Eigenschaft der gegenwärtigen
Belastung auf dem Multimediaserver und der spezifischen Taktbeziehung
der Anfrage, um das Abspielen zu initiieren, in Bezug auf die Position
des ersten angefragten Datenblockes innerhalb der Festplattenanordnung,
die den Multimediastrom enthält.
Im Ergebnis wird die exakte Zeit, mit der der Videobitstrom von
dem Multimediaserver bereitgestellt wird, in Bezug auf die Echtzeit
verschoben. Wenn der Tag fortschreitet, kann sich die Verschiebung
zwischen der Playlist und der Echtzeit erhöhen aufgrund der Addition der
Zugriffsverzögerung
der Filme innerhalb der Playlist.
-
Daher wären ein System und ein Verfahren wünschenswert,
um die Präsentation
der Medienstromplaylist mit Echtzeit zu synchronisieren und einem
Systemoperator zu erlauben, die Art und Weise, in der den Zugriffsverzögerungen
Rechnung getragen wird, flexibel zu spezifizieren.
-
Die oben ausgeführten Probleme werden zum großen Teil
gelöst
durch ein System und ein Verfahren für die Synchronisierung der
Darstellung von Medienströmen,
z. B. Filmen, mit Echtzeit in Übereinstimmung
mit der vorliegenden Erfindung. Besondere und bevorzugte Aspekte
der Erfindung werden in den begleitenden unabhängigen Ansprüchen ausgeführt.
-
In einer Ausführungsform beinhaltet ein Multimediaserversystem
ein Plattenanordnungsuntersystem einschließlich einer Mehrzahl von Multimediadateien,
einen Mediadateisystemmanager für die Verwaltung
der Speicherung der Mehrzahl von Multimediadateien in dem Plattenanordnungsuntersystem und
eine Playlist, die eine Liste von Einträgen (Identifizierern) beinhaltet,
die einer bestimmten Untergruppe der Multimediadateien entspricht,
die zu bestimmten Zeiten abgespielt werden sollen. Das Multimediaserversystem
beinhaltet mit Vorteil Synchronisationsparameter, die mit jedem
der Einträge,
die durch die Playlist spezifiziert werden, verknüpft sind. Die
Synchronisationsparameter, die von einem Systemoperator oder einem
Endbenutzer programmiert werden, spezifizieren die Art und Weise,
in der die Multimediadateien, die jedem Eintrag in der Playlist entsprechen,
abgeschnitten werden sollten, um Zugriffsverzögerungen zu kompensieren.
-
Eine Zugriffsverzögerungssynchronisationseinheit
empfängt
die Synchronisationsparameter und schneidet die Multimediadateien
ab, wie von den Synchronisationsparametern spezifiziert wird. In
einer Implementierung wird ein erster Synchronisationsparameter
verwendet, um zu spezifizieren, daß die gegenwärtige Multimediadatei
zu dem Zeitpunkt für
das Abspielen der nächsten
Multimediadatei abgeschnitten werden soll. Ein zweiter Synchronisationsparameter
wird bereitgestellt, um zu spezifizieren, daß zu Beginn der nächsten Multimediadatei
bis hin zu einer gegebenen Zeitmenge Zeit geopfert werden sollte,
um der Zugriffsverzögerung
der gegenwärtigen
Multimediadatei Rechnung zu tragen. Auf diese Weise wird der Beginn
der nächsten
Multimediadatei abgeschnitten.
-
Ein dritter Synchronisationsparameter
wird bereitgestellt, um eine Zeitmenge zu spezifizieren, bis zu
der die gegenwärtige
Multimediadatei (an ihrem Ende) abgeschnitten werden kann, um jeglicher Zugriffsverzögerung Rechnung
zu tragen. Mit anderen Worten kann durch das Gestatten, daß die tatsächliche
Abspieldauer ("abgespielte
Dauer") jeder Multimediadatei
kürzer
sein kann als die vorgesehene Zuweisung von Abspielzeit für die Multimediadatei,
der Unterschied zwischen der geplanten und der abgespielten Dauer,
d. h. die "Überschußzeit", verwendet werden,
um etwaige Zugriffsverzögerungen zu
absorbieren, wodurch die Probleme vermieden werden, die mit der
Aufsummierung von Zugriffsverzögerungen über eine
Zeitperiode verknüpft
sind.
-
Im Ergebnis erlaubt das Multimediaserversystem
mit Vorteil die Synchronisierung der Darstellung der Medienströme mit Echtzeit über die
Zeitperiode durch Gestatten, daß ein
Systemoperator jegliche Zugriffsverzögerungen flexibel abfängt.
-
Beispielhafte Ausführungsformen
der Erfindung werden im folgenden lediglich beispielhaft unter Bezug
auf die begleitenden Zeichnungen beschrieben, in denen:
-
1 ein
funktionales Blockdiagramm eines Multimediaserwersystems in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung ist.
-
2 ist
ein Diagramm, das eine beispielhafte Auflistung von Multimediatiteln
darstellt, die von einem User spezifiziert wurden, und beispielhafte verknüpfte Synchronisationsparameter
darstellt.
-
3 ist
ein Flußdiagramm,
das den Betrieb einer Zugriffsverzögerungssynchronisationseinheit darstellt.
-
4 ist
ein Diagramm, das die Synchronisation der Einträge, die durch eine Playlist
spezifiziert werden, in Echtzeit darstellt.
-
Während
die Erfindung verschiedenen Modifikationen und alternativen Formen
zugänglich
ist, sind spezifische Ausführungsformen
hiervon beispielhaft in den Zeichnungen gezeigt und werden im Detail
beschrieben. Es versteht sich jedoch, daß die Zeichnungen und die detaillierte
Beschreibung hierzu nicht dafür
vorgesehen sind, die Erfindung auf die bestimmten beschriebenen
Formen zu beschränken, sondern
es im Gegenteil beabsichtigt ist, alle Modifikationen, Äquivalente
und Alternativen, die in den Schutzbereich der vorliegenden Erfindung
fallen, abzudecken.
-
In 1 ist
ein funktionales Blockdiagramm eines Multimediaserversystems gezeigt
in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung. Wie unten mehr im Detail beschrieben wird,
können
verschiedene der funktionellen Blöcke, die in 1 dargestellt sind, mittels Software
implementiert werden.
-
Das Multimediaserversystem 10 von 1 beinhaltet ein Plattenanordnungsuntersystem 12, das
ein oder mehrere magnetische Plattenlaufwerke aufweist, das Video
speichert. Videodateien, die durch ein Plattenanordnungsuntersystem
gespeichert werden, werden von einem Mediendateisystemmanager 14 verwaltet.
Genauer gesagt erlaubt es der Mediendateisystemmanager 14,
daß spezifizierte
Dateien von dem Multimediaserversystem 10 ausgegeben werden
durch das Planen von Zugriffen auf das Plattenanordnungsuntersystem 12 über ein Steuerprogramm 16 und
ein Plattenlaufwerk 18. Ein Multimediabitstrom wird von
dem Multimediaserveruntersystem 10 über eine Bitpumpeinheit 20 einschließlich Pufferspeichern 22,
die zeitweilig Daten speichern, auf die von dem Plattenanordnungsuntersystem 12 in
Antwort auf Befehle von dem Plattenlaufwerk 18 zugegriffen
wird, ausgegeben. Der Ausgang der Bitpumpe 20 ist ein Bitstrom
aus codierter Videoinformation (und Audio, falls vorhanden). Beispielsweise
kann der Ausgang der Bitpumpe 20 in einem MPEG-(Motion Pictures
Experts Group) Format codiert sein.
-
Neue Videodateien können innerhalb
des Plattenanordnungsuntersystems 12 über eine Dateieingangsschnittstelle 24 abgelegt
werden. Die Speicherung von Dateien innerhalb des Plattenanordnungssubsystems 12 wird
durch den Mediendateisystemmanager 14 verwaltet.
-
Es sei bemerkt, daß die Dateieingabeschnittstelle 24 mit
dem Mediendateisystemmanager 14 über Schnittstellen zwischen
Betriebssystem und Anwendungs- und Systemprogrammen (API) kommunizieren
kann. Es sei weiterhin bemerkt, daß der Mediendateisystemmanager 14,
das Planungsprogramm 16, das Plattenlaufwerk 18,
die Dateieingabeschnittstelle 24 und/oder die Playlist 26 entweder
teilweise oder vollständig
mittels Software implementiert sein können, und daß ein oder
mehrere Mikroprozessoren als Teil der Hardware, die das Multimediaserveruntersystem 10 bildet,
eingesetzt werden können, um
die Funktionalität
dieser Blöcke
zu steuern.
-
Es sei weiterhin bemerkt, daß die oben
beschriebenen Merkmale des Multimediaserveruntersystems 10 üblich sind
und daß eine
Vielzahl von anderen spezifischen Implementierungen eines Multimediaserversystems
ebenso möglich
ist, die das System und das Verfahren für die Synchronisierung der
Darstellung der Medienstromplaylisten mit Echtzeit in Übereinstimmung
mit der folgenden Beschreibung und den angefügten Ansprüchen einsetzen.
-
Das funktionale Blockdiagramm des
Multimediaserversystems 10, wie es in 1 dargestellt ist, stellt ebenso Synchronisationsparameter 30 dar, die
mit einer Playlist 26 verknüpft sind. Die Playlist 26 ist
ebenso mit einer Zugriffsverzögerungssynchronisierungseinheit 32 verbunden
gezeigt. Genauer gesagt erlauben die Synchronisationsparameter 30 es einem
Benutzer, die Art und Weise zu spezifizieren, in der das Multimediaserversystem 10 den
Ausgang der Multimedien, wie es durch die Playlist 26 spezifiziert
wird, in Echtzeit synchronisiert.
-
Schließlich zeigt 1 eine Zugriffsverzögerungssynchronisationseinheit 32,
die die Synchronisationsparameter 30 und die Playlist 26 empfängt und
die Synchronisation des Videoausgangs von dem Multimediaserversystem 10 entsprechend
steuert. Die Playlist 26 beinhaltet Befehle, die spezifizieren,
welche Dateien gespielt werden und zu welcher Zeit die spezifizierten
Dateien abgespielt werden sollen. Die Zugriffsverzögerungssynchronisationseinheit 32 verwendet
diese Information zusammen mit der gegenwärtigen Tageszeit ("Echtzeit"), wie sie durch
die Echtzeituhr 28 angezeigt wird, um Ausgangsanforderungen
an das Plattenordungssubsystem 12 über das Planungsprogramm 16 bereitzustellen.
-
Die spezifische Art und Weise, in
der die Zugriffsverzögerungssynchronisationseinheit 32 die Playlist 26 synchronisiert,
hängt von
den Synchronisationsparametern 30 ab. Details betreffend
weitere Aspekte der Synchronisationsparameter 30 und der Zugriffsverzögerungssynchronisationseinheit 32 werden
unten in Verbindung mit der Beschreibung der 2 bis 4 bereitgestellt.
Es sei bemerkt, daß ähnlich zu
verschiedenen anderen funktionalen Blöcken von 1 die Synchronisationsparameter 30 und
die Zugriffsverzögerungssynchronisationseinheit 32 teilweise
oder vollständig
mittels Software implementiert sein können.
-
2 stellt
eine Playlist 26 dar einschließlich einer beispielhaften
Auflistung von Multimediatiteln mit Eintragsdauern, wie von dem
Benutzer geplant worden ist, wie sie von dem Multimediaserversystem 10 in
der spezifizierten Abfolge ausgegeben werden sollen. Verknüpft mit
jedem aufgelisteten Film ist eine Echtzeitgröße (Uhrzeit), die für das Abspielen
jedes Films zugewiesen ist, die "Eintragsdauer" genannt wird.
-
2 illustriert
zusätzlich
die Synchronisationsparameter 30, die einen Satz von Synchronisationsparametern
beinhalten, die mit jedem Film auf der Playlist 26 verknüpft sind.
Jeder Satz von Parametern beinhaltet einen Parameter "Ist Zeitverriegelt?", einen Parameter "Zugriffsdauer" und einen Parameter "Abspieldauer". Wie vorher festgestellt
wurde, werden die Synchronisationsparameter 30 durch die Synchronisationseinheit 32 verwendet,
um die gegebene Eintragsdauer für
jeden Film beizubehalten, unter der Erwartung, daß Störungen der
Abspielzeit durch Zugriffsverzögerungen
eingefügt
werden.
-
3 ist
ein Flußdiagramm,
das den Berieb der Zugriffsverzögerungssynchronisationseinheit 32 darstellt.
In der folgenden Beschreibung bezieht sich abhängig vom Kontext ein "Eintrag" entweder auf einen
Identifizieren eines Medienstroms oder auf den Inhalt des Medienstroms.
Das zeitsynchronisierte Abspielen der Playlist 26 wird
initiiert durch Ausgeben eines Befehls an die Synchronisationseinheit 32, die
die Einheit 32 anweist, das Abspielen der Playlist 26 zu
einem bestimmten Punkt in Echtzeit durch Bezugnahme auf die Echtzeituhr 28 zu
beginnen. Angenommen, daß beispielsweise
der Synchronisationseinheit 32 befohlen wird, die Playlist 26 um
1:00 h (Echtzeit) zu beginnen. Bei gegebenen Eintragsdauern, die
in 2 gezeigt sind, sollte
Idealerweise der Film #1 bei 1:00 h beginnen, der Film #2 sollte
eine Stunde und 30 Minuten danach, d. h. um 2:30 h beginnen, der
Film #3 sollte eine Stunde und 30 Minuten nach dem Beginn des Films
#2, d.h. um 4:00 h beginnen usw.
-
Die Synchronisationseinheit 32 stellt
sicher, daß die
Eintragsdauern, die in der Playlist 26 spezifiziert sind,
in der Synchronisation mit dem Echtzeitplan, wie er von der Playlist 26 diktiert
wird, beibehalten wird. Im Grunde genommen gewinnt, wann immer eine
Zugriffsverzögerung,
die von Eintragsdauerabweichungen von dem Echtzeitplan induziert wird,
von der Synchronisationseinheit 32 erfaßt wird, die Einheit 32 die
Synchronisation mit dem Echtzeitplan, wie er von den Synchronisationsparametern 30 geleitet
wird, wieder.
-
Für
jeden Eintrag in der Playlist 26 (Schritt 310) werden somit
die folgenden beispielhaften Schritte durchgeführt. Während auf jeden Eintrag von der
Playlist 26 innerhalb des Plattenanordnungsuntersystems 12 über das
Planungsprogramm 16 und das Plattenlaufwerk 18 zugegriffen
wird, erfaßt
die Zugriffsverzögerungssynchronisationseinheit 32 die verknüpften Synchronisationsparameter
für diesen Eintrag.
-
Wenn der Anzeiger "Ist Zeitverriegelt" WAHR ist für einen
Eintrag auf der Playlist 26 (Schritt 320), wird der Eintrag
abgespielt, bis er zuende ist oder bis es Zeit ist, den nächsten Eintrag
zu starten, wenn der Beginn des nächsten Eintrags vor dem Ende
des gegenwärtigen
Eintrags geplant ist (Schritt 330). Mit anderen Worten kann die
Zeitsynchronisierung wiedergewonnen werden durch Abschneiden bzw.
Beenden des Abspielens des gegenwärtigen Eintrags zu der Tageszeit,
zu der der nächste
Eintrag initiiert werden sollte, ungeachtet der Tatsache, daß Zugriffsverzögerungen
die Initiierung des Abspielens des gegenwärtigen Eintrags verzögert haben
können
und daß somit
der gegenwärtige
Titel nicht vollständig
abgespielt sein kann. Wenn der gegenwärtige Eintrag vor der geplanten
Startzeit des nächsten
Eintrags zuende geht, dann wartet die Synchronisationseinheit 32 auf
die geplante Startzeit des nächsten
Eintrags (Schritte 340, 350).
-
Umgekehrt beginnt, wenn "Ist Zeitverriegelt" FALSCH ist (Schritt
320), die Synchronisationseinheit 32 mit dem Abspielen
des gegenwärtigen
Eintrags während
der Abspieldauer (Schritt 360). Wenn bei Vollendung der Abspielung
des gegenwärtigen Eintrags
die Echtzeit größer als
die geplante Startzeit des nächsten
Eintrags ist und der nächste
Eintrag eine "Einblenddauer" von nicht Null hat,
dann wird der Startzeit des nächsten
Eintrags erlaubt, zu gleiten, d. h. fortzuschreiten, und zwar um
die Zeit, die geringer ist, entweder die "Einblendzeit" des nächsten Eintrags oder der Differenz
zwischen der Echtzeit und der Startzeit des nächsten Eintrags (Schritte 390, 395).
Im Grunde genommen wird bis zu der "Einblendzeit" von dem Beginn des nächsten Eintrags "geopfert" (d. h. abgeschnitten),
um es dem gegenwärtigen
Eintrag zu erlauben, bis zum Schluß zu laufen. Der nächste Eintrag
wird das Abspielen bei einer Position beginnen, die äquivalent
zu der Zugriffszeit des gegenwärtigen
Eintrags ist.
-
Der Parameter "Abspieldauer" erlaubt es dem Systemoperator, eine
alternative Abspielzeit zu spezifizieren, die geringer als die volle
Dauer des Eintrags in der Playlist 26 ist. Der Zweck des
Einschließens
des Parameters "Abspieldauer" ist es, zu ermöglichen,
daß mehr
Zeit zugewiesen wird, als tatsächlich
benötigt
wird für
das Abspielen eines Eintrags. Diese zusätzliche Zeit kann dann verwendet werden,
um jegliche Zugriffsverzögerungen
aufzufangen. Dieser Parameter kann in Verbindung mit den anderen
beiden Parametern spezifiziert werden.
-
Wenn deshalb keiner der Parameter
spezifiziert wird oder der "Einblend"- oder der "Abspieldauer"-Parameterwert nicht
ausreichend wäre,
um die Zugriffsverzögerung
vollständig
zu korrigieren, dann wird die Playlist 26 in Bezug auf
die Tageszeit durch die gesammelten Zugriffsverzögerungen "rutschen" bzw. versetzt, wenn jeder Eintrag in
der Playlist 26 initiiert wird. Das System 10 erlaubt
es ferner, daß diese
aufsummierten Verzögerungen
durch die Synchronisationsparameter, die mit einem späteren Eintrag
in der Playlist 26 verknüpft sind, angesprochen werden.
-
4 ist
ein Diagramm, das die Synchronisation der Einträge, die durch die Playlist 26 spezifiziert
werden, und der Echtzeit darstellt. Der Film #1 ist derart spezifiziert,
daß er
um ein Uhr (1:00) startet. Aufgrund einer Zugriffsverzögerung 412 wird
jedoch der tatsächliche
Start des Films #1 verzögert
und somit wird sich das erwartete Ende des Films #1 über die
Zeitperiode, wie sie durch die Eintragsdauer zugewiesen wurde, erstrecken.
-
Da der Film #1 sein "Ist Zeitverriegelt" gesetzt hat, wird
ein Endabschnitt 418 des Films #1 bei 2:30 abgeschnitten,
was die geplante Startzeit für Film
#2 ist. Folglich wird der Synchronisationseinheit 32 befohlen,
das Abspielen des Films #2 zu beginnen, nachdem der Film #1 abgeschnitten
wurde. Der Film #2 ist jedoch ebenso einer Zugriffsverzögerung 422 ausgesetzt.
In diesem Beispiel kann, da die spezifizierte Abspieldauer des Films
#2 geringer als die volle Eintragsdauer des Films #2 ist, jegliche
geplante Versetzung, die durch die Zugriffsverzögerung 422 veranlaßt wird,
durch die Differenz reduziert werden.
-
Gemäß der Playlist 26 ist
es geplant, daß der Film
#3 beginnt, nachdem der Film #2 vollständig abgespielt ist. Die tatsächliche
Startzeit kann jedoch früher
oder später
als die geplante Startzeit sein, abhängig davon, ob die Differenz
zwischen der Abspieldauer und der Eintragsdauer des Films #3 größer oder geringer
als die Zugriffsverzögerung 432 ist.
Obgleich der Film #3 unmittelbar mit Vollendung des Films #2 initiiert
wird, ist der Film #3 nicht zeitverriegelt, hat eine Einblenddauer
von Null und hat eine Abspieldauer, die identisch mit ihrer Eintragsdauer ist.
Im Grunde genommen wird jede Planabweichung am Ende des Films #2
mit der Zugriffsverzögerung 432 des
Films #3 addiert, was zu einer planmäßigen Verschiebung 431 führt, d.
h. keine explizite Resynchronisierung tritt auf.
-
Mit Vollendung des Films #3 wird
der Film #4 initiiert. Man bemerke, daß ein planmäßiges Versetzen 441 bereits
stattgefunden hat. Der Film #4 spezifiziert eine Einblenddauer.
Somit wird jeder aufsummierte Sprung hinter dem Rutschen bzw. Versetzen 441 bis
zu dem Wert der Einblenddauer an diesem Zeitpunkt kompensiert durch
Initiieren der tatsächlichen
Abspielung des Films #4 mit einem Versatz in Bezug auf den Beginn,
wie er durch ein übersprungenes
Segment 444 definiert wird.
-
Es sei bemerkt, daß Kombinationen
der Synchronisationsparameter 30, wie sie oben beschrieben
wurden, für
einen bestimmten Eintrag spezifiziert werden können. Auf diese Art und Weise
kann ein bestimmter Eintrag sowohl an seinem Beginn als auch an
seinem Ende abgeschnitten werden abhängig von dem (den) spezifizierten
Parameter(n).
-
Das System und das Verfahren, wie
es oben beschrieben wurde, für
die Synchronisierung von durch eine Playlist spezifizierten Einträgen mit
Echtzeit verhindert mit Vorteil die Aufsummierung von Zugriffsverzögerungen,
wenn Playlisteinträge
abgespielt werden. Das System und das Verfahren erlauben es dem
Systemoperator weiterhin, flexibel unterschiedliche Abschneidetechniken
für unterschiedliche
Einträge
zuzuweisen abhängig
von der Wichtigkeit des Beginns und/oder des Endes eines bestimmten
Eintrags.
-
Serversysteme und Untersysteme, die
Merkmale der vorliegenden Erfindung beinhalten, können vollständig der
Hardware oder in einer Kombination aus Hardware und Software (d.h.
Programmodule, die im Speicher abgelegt sind) implementiert werden. Beispielsweise
können
die Zugriffsverzögerungssynchronisationseinheit
und die Playlist vollständig
mit Software implementiert werden. Geeignete Medien für die Serversoftware
beinhalten beispielsweise magnetische Medien (z. B. Platten und
Bänder),
optische Medien (z. B. CD-ROMs), EPROM, DRAMs und SRAMs. Zusätzlich kann
die Software entweder vorher in das Serversystem geladen werden
oder elektronisch von dem Benutzer geladen werden mit oder ohne
die Verwendung von flüchtigen
Speichermedien, z. B. durch das Herunterladen von Programmodulen
auf den Server des Benutzers von FTP-/Telnet- oder HTML-Sites aus
dem Internet bzw. dem World-Wide Web.
-
Somit können Programmodule, die die
Merkmale der Erfindung beinhalten, bequem beispielsweise durch CD-ROM
oder durch Zugriff auf eine Website verteilt werden. Im letzteren
Fall werden die Module typischerweise zeitweilig von dem permanenten Speicher
in das RAM und/oder die Ausgangspufferspeicher des Webservers geladen,
d. h. dies sind die Medien, die dazu dienen, die Programmodule der
Erfindung zu speichern und zu verteilen, wann immer eine Herunterladungsanfrage
erfolgt. Nach dem Laden in den RAM-Speicher überträgt der Webserver die Programmodule
zu dem Hostcomputer des Benutzers.
-
Zahlreiche Variationen und Modifikationen sind
für den
Fachmann offensichtlich, sobald er die obige Beschreibung vollständig verstanden
hat. Es ist beabsichtigt, daß die
folgenden Ansprüche
derart interpretiert werden, daß sie
alle solche Variationen und Modifikationen umfassen. Es sei bemerkt,
daß, obgleich
spezifische Kombinationen von Merkmalen in den abhängigen Ansprüchen ausgeführt sind, Kombinationen
von Merkmalen von den abhängigen Ansprüchen und
denjenigen der unabhängigen
Ansprüche,
die sich von den spezifisch durch die Anspruchsabhängigkeiten
numerierten unterscheiden, durchgeführt werden können, sofern
dies gewünscht wird.