-
QUERVERWEIS
AUF VERWANDTE ANMELDUNGEN
-
Diese
Anmeldung ist eine Teilfortsetzung (continuation-in-part) der ebenfalls
anhängigen
Anmeldung mit der Seriennummer 09/333,724, eingereicht am 15. Juni
1999. Diese Anmeldung ist verwandt mit den ebenfalls anhängigen Anmeldungen
mit der Seriennummer 09/431,001 mit dem Titel „Automated Control of Interactive
Application Execution Using Defined Time Periods", eingereicht am 1. November 1999, von
Eric E. Del Sesto, Charles N. McCullough, Pat Ransil und Houman
Azarm, und 09/754,650 mit dem Titel „Ensuring Reliable Delivery
of Interactive Content",
eingereicht am 3. Januar 2001, von Brian P. Dougherty, Timothy V.
Travaille und Leo C. Meier.
-
HINTERGRUND
-
A. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft im allgemeinen das Gebiet des interaktiven
Fernsehens und insbesondere die automatische Steuerung der Interaktivität synchron
zu Fernsehrundfunkprogrammen.
-
B Hintergrund
der Erfindung
-
Die
meisten interaktiven Fernsehsysteme versuchen, bereits existierende
Rundfunksysteme mit einer vom Zuschauer wählbaren Interaktivität zu erweitern.
Die Interaktivität
kann beispielsweise auf einem speziellen interaktiven Kanal übertragen
werden, so daß der
Zuschauer eine Set-Top-Box oder eine andere Vorrichtung einstellen
kann, um die Interaktivität
zu empfangen und wiederzugeben. Diese Interaktivität ist typischerweise
mit einer Benutzeroberfläche
versehen, die den gesamten Fernsehbildschirm einnimmt. Auf diese
Weise entscheidet sich der Zuschauer, entweder die herkömmlichen
Rundfunkprogramme auf den regulären
Kanälen
zu schauen oder die Interaktivität
auf einem interaktiven Kanal zu nutzen. Bei anderen Implementierungen
kann die Interaktivität
auf einem beliebigen Kanal aktiviert werden und dennoch den gesamten
Fernsehbildschirm einnehmen. Bei diesen Implementierungen interaktiven
Fernsehens muß die
Interaktivität
jedoch typischerweise nicht synchron zu einem Rundfunkprogramm sein,
das übertragen
wird, da die Interaktivität
den gesamten Bildschirm einnimmt und somit die Anzeige des Rundfunkprogramms
blockiert. Zu Rundfunkprogrammen gehören Fernsehsendungen, Werbung,
Programmführer
und dergleichen.
-
Eine
andere Art interaktiven Fernsehens soll nur auf einem Teil des Fernsehbildschirms
angezeigt werden und eine Interaktivität bereitstellen, die mit einem
Rundfunkprogramm einhergeht. Beispielsweise kann eine Rundfunk-Gameshow
mit einer Interaktivität
einhergehen, die es dem Zuschauer ermöglicht, mitzuspielen und Antworten
auf Fragen einzugeben, die während
der Sendung gestellt werden. Diese Interaktivität wird nur auf einem Teil des
Fernsehbildschirms angezeigt, damit der Zuschauer das Rundfunkprogramm
weiterhin verfolgen kann.
-
Bei
einer Interaktivität,
die mit einem Rundfunkprogramm einhergeht, ist es wünschenswert,
das die Interaktivität
synchron zu dem Rundfunkprogramm bleibt. Das bedeutet, daß die Interaktivität dem Zuschauer jederzeit
zur Verfügung
stehen sollte, wenn das Rundfunkprogramm, mit dem sie einhergeht, übertragen
wird, und daß jegliche
Zustandsinformationen, die der Zuschauer erstellt hat, z. B. einen
Gesamtpunktestand in einem Spiel, beibehalten werden sollen, selbst
wenn das Rundfunkprogramm vorrübergehend
unterbrochen und dann fortgesetzt wird, wie beispielsweise während einer
Werbepause.
-
Das
bedeutet ferner, daß die
Interaktivität
nicht angezeigt werden sollte, wenn das zugeordnete Rundfunkprogramm
nicht übertragen
oder anderweitig unterbrochen wird. Insbesondere erfordert eine
korrekte Synchronität,
daß die
Interaktivität
für eine
Fernsehsendung nicht angezeigt wird, wenn während der Sendung Werbung ausgestrahlt
wird. Dafür
gibt es zwei Gründe.
Erstens kann ein Werbespot seine eigene Interaktivität haben,
beispielsweise in der Form, daß der
Benutzer Informationen zu dem Produkt anfordern kann, das in dem
Werbespot beworben wird. Somit muß die Interaktivität des Werbespots
angezeigt werden, aber zudem auch die Interaktivität der Sendung
wieder angezeigt werden, wenn der Werbespot (oder mehrere Werbespots)
zu Ende ist bzw. sind und die Fernsehsendung wieder beginnt. Das
Wiederanzeigen der Interaktivität der
Sendung sollte unmittelbar erfolgen und, wie bereits erwähnt, sollten
die Zustandsinformationen beibehalten werden, die zu Beginn der
Werbung zur Verfügung
standen. Wenn der Zuschauer beispielsweise bei einem interaktiven
Spiel Punkte gesammelt hat, dann sollten die gesammelten Punkte
bei Fortsetzen der Interaktivität der
Sendung zur Verfügung
stehen.
-
Selbst
wenn die Werbung keine eigene Interaktivität hat, ist es zudem unangebracht,
die Interaktivität der
Sendung während
der Werbung anzuzeigen. Das ist darauf zurückzuführen, daß die Interaktivität einen Teil
des Fernsehbildschirms einnimmt, wodurch sie einen Teil der Werbung
verdeckt, was für
den Werbetreibenden, der für
die Übertragung
des Werbespots Geld bezahlt, inakzeptable ist. Zudem steht die Interaktivität der Sendung
nicht mit der Werbung in Zusammenhang und könnte den Zuschauer verwirren,
wenn sie angezeigt würde.
-
Dementsprechend
ist es wünschenswert,
ein interaktives Fernsehsystem, Verfahren und Softwareprodukte bereitzustellen,
welche die Interaktivität
verschiedener Rundfunkprogramme korrekt synchronisieren und die
Unterbrechung von Rundfunkprogrammen durch andere Rundfunkprogramme
handhaben können.
-
Abgesehen
von interaktiven Fernsehsystemen liefern herkömmliche Fernsehrundfunksysteme
verschiedene Grade automatisierter und manueller Steuerung, wie
Rundfunkprogramme ausgewählt
und zur Rundfunkübertragung
ausgegeben werden. Ein herkömmliches
Rundfunksystem umfaßt
typischerweise ein Rundfunk-Zeitplanungssystem, verschiedene Rundfunkquellen,
eine Dateneinfügeeinheit
und einen Sender. Die Rundfunkquellen liefern den Video-, Audio-
oder einen anderen Inhalt, der über
den Sender übertragen wird.
Diese Rundfunkquellen können
verschiedene Arten von Video- und Audiokassettendecks, Videokassettensammlungen,
digitale Audio-Nideoquellen, Live-Videoquellen, Servercomputer und
dergleichen sein.
-
Das
Zeitplanungssystem steuert im allgemeinen Rundfunkquellen in einem
Rundfunksystem mit Sequenzen nativer Steuersignale. Diese Steuersignale
geben mehreren Rundfunkquellen die Anweisung, ihre Rundfunkprogramme
zu starten, zu stoppen, zu laden oder anderweitig handzuhaben. Die
Sequenz von Steuersignalen wird hauptsächlich von einer Wiedergabeliste,
die angibt, welche Rundfunkquelle zu welcher Zeit aktiviert oder
deaktiviert wird, und die Kanalzuweisungen bestimmt, zu denen eine
aktive Rundfunkquelle geleitet bzw. geroutet werden soll. Bei einem
manuellen Steuersystem werden die Steuersignale ansprechend auf
die manuelle Betätigung
durch menschliche Bedienpersonen erzeugt, um beliebige Rundfunkquellen
zu aktivieren oder deaktivieren und die Ausgabe dem entsprechenden
Kanal zuzuteilen.
-
Die
Rundfunkdaten von der Rundfunkquelle werden an den Sender weitergeleitet.
Der Sender überträgt das Rundfunksignal
auf einem ausgewählten
Kanal zu einer beliebigen Anzahl von Rundfunkempfängern. Ein
Rundfunkempfänger,
wie beispielsweise eine Set-Top-Box oder ein kompatibler Fernseher,
der auf den ausgewählten
Kanal eingestellt bzw. abgestimmt ist, empfängt das Rundfunksignal und
zeigt ein Rundfunkprogramm an.
-
Herkömmliche
Zeitplanungssysteme und manuelle Steuerungen liefern ihre Ausgabesteuersignale
im allgemeinen nur an die Rundfunkquellen oder ähnliche Vorrichtungen. Das
ist dar auf zurückzuführen, daß die Steuersignale
ein für
die Rundfunkquellen spezifisches Format haben und nicht dazu dienen,
andere Arten von Rundfunkeinrichtungen zu steuern. Zeitplanungssysteme,
die Videoquellen steuern, verwenden beispielsweise Steuersignale,
die für
die Videoquellenvorrichtungen von Bedeutung sind. Dementsprechend
ist es wünschenswert,
ein System und ein Verfahren anzugeben, die bereits existierende
Steuersignale von Zeitplanungssystemen verwenden, um die automatisierte
Steuerung von synchroner Interaktivität bei Rundfunkprogrammen weiter
zu vereinfachen. Dies ist wünschenswert,
um zu verhindern, daß die
Zeitplanungssysteme modifiziert werden müssen, um mit neuen automatisierungsfähigen Einrichtungen
zu arbeiten.
-
Einige
Rundfunkveranstalter versehen das Rundfunksignal mit Codes, die
das Rundfunkprogramm oder seine Art, beispielsweise Fernsehsendung
oder Werbung, angeben. Eine häufig
verwendete Gruppe von Codes sind die ISCI-Codes (ISCI = Industry
Standard Coding Identification System) der American Association of
Advertising Agencies Inc. ISCI-Codes werden für gewöhnlich verwendet, um den Werbepartner
oder die Zugehörigkeit
eines übertragenen
Werbespots anzugeben. Diese Codes werden derzeit jedoch nicht zum
Steuern der Ausführung
der Interaktivität
verwendet, die einer Fernsehsendung, einem Werbespot oder anderen Rundfunkprogrammen
zugeordnet sein kann. Dementsprechend ist es wünschenswert, ein System und
ein Verfahren anzugeben, die diese und ähnliche in dem Rundfunksignal
eingebettete Codes verwenden, um die Synchronisation der Interaktivität verschiedener
Rundfunkprogramme zu steuern.
-
Ein
System interaktiven Fernsehens wirkt mit dem herkömmlichen
Rundfunksystem zusammen, wie es beispielsweise oben beschrieben
ist, um eine nützliche
Interaktivität
bereitzustellen. Ein derartiges System enthält einen Rundfunkempfänger, der
eine Datenbank für
interaktive Anwendungen speichert. Die interaktiven Anwendungen
sind wahlweise verschiedenen Rundfunkprogrammen zugeordnet, um gemeinsam
mit derartigen Programmen übertragen
zu werden. Der Rundfunkserver empfängt typischerweise seine eigene
Wiedergabeliste für
eine gegebene Sendedauer und verwendet darin enthaltene Zeitplanungsinformationen,
um bestimmte Rundfunkprogramme zu identifizieren, die gerade übertragen
werden. Der Rundfunkserver ruft die interaktive(n) Anwendung(en)
ab, die dem(den) gerade ausgestrahlten Programm(en) zugeordnet sind,
und liefert diese interaktiven Anwendungen an eine Dateneinfügeeinheit.
Die Dateneinfügeeinheit
kombiniert die Daten der interaktiven Anwendungen mit den Rundfunkdaten
von den Rundfunkquellen, um das Rundfunksignal zu erzeugen, in dem
das Rundfunkprogramm jetzt mit seiner interaktiven Anwendung einhergeht.
Das kombinierte Rundfunksignal wird von dem Sender auf einem ausgewählten Kanal übertragen.
Beliebige der Rundfunkempfänger,
die auf den Kanal eingestellt sind, empfangen das Rundfunksignal,
das sowohl das Rundfunkprogramm als auch die zugeordnete interaktive
Anwendung enthält.
Der Rundfunkempfänger
zeigt das Rundfunkprogramm an, decodiert die inter aktive Anwendung
und führt
sie aus, wobei er sie in geeigneter Weise auf dem Fernsehbildschirm
anzeigt. Der Rundfunkserver ist ferner in der Lage, Befehle an den
Rundempfänger
zu senden, um die Ausführung
einer interaktiven Anwendung entsprechend vorgegebener Anweisungen
in der Wiedergabeliste zu starten, zu stoppen, zu unterbrechen oder
fortzusetzen.
-
Der
Rundfunkempfänger
wurde jedoch bisher nicht mit bereits existierenden Zeitplanungssystemen integriert,
um die Steuerung interaktiver Anwendungen basierend auf Steuersignalen
von dem Zeitplanungssystem zu automatisieren. Eine Schwierigkeit
liegt dabei in der fehlenden Einheitlichkeit und der Vielzahl von Steuersignalen,
die verschiedene Arten von Zeitplanungssystemen zur Steuerung ihrer
Rundfunkquellen verwenden, die, wie es oben erwähnt ist, ausgebildet sind,
um mit Rundfunkquellen eine Schnittstelle zu bilden bzw. zusammenzuwirken.
Bisher hat dieses System ebenfalls nicht auf ISCI-Codes oder dergleichen
reagiert, um die Interaktivität
zu steuern. Dementsprechend ist es wünschenswert, synchrone interaktive
Anwendungen durch eine effiziente Schnittstelle zwischen den Zeitplanungssystemen
und dem Rundfunkserver bereitzustellen.
-
Ein
weiteres Problem bei existierenden Zeitplanungssystemen und Rundfunkservern
ist die fehlende Flexibilität
bei der Handhabung von teilweisen Änderungen des Inhalts von interaktiven
Anwendungen. In einigen Fällen
ist es wünschenswert,
nur ausgewählte Änderungen
des Inhalts einer Anwendung vorzunehmen, anstatt die gesamte Anwendung
an sich zu ersetzen. Eine Börsenticker-Anwendung
benötigt
beispielsweise fortlaufende Feeds aktualisierter Aktienkurse; als
weiteres Beispiel kann eine interaktive Anwendung für Spätnachrichten
lediglich eine Aktualisierung der Teile erfordern, die sich auf
aktuelle Schlagzeilen beziehen, oder eine interaktive Anwendung
für eine
Unterhaltungssendung kann lediglich eine Aktualisierung der Teile
erfordern, die sich auf die aktuelle Gästeliste beziehen. Existierende
Systeme waren daher stark darauf beschränkt, diese Änderungen der interaktiven
Anwendung an ihrer Rundfunkquelle durchzuführen, indem die geänderten Informationen
mit dem interaktiven Inhalt vor Erzeugung des Rundfunksignals integriert
wurden. Dieser Ansatz erlaubt es einem lokalen Rundfunksystem, beispielsweise
einer Kopfstelle eines Kabelnetzes, jedoch nicht, lokal relevante
Informationen oder Aktualisierungen an seinem nachgeschalteten Abschnitt
einzufügen.
Desweiteren ist es bei Systemen, bei denen ein lokaler Rundfunkserver
die in einem empfangenen Rundfunksignal identifizierte interaktive
Anwendung mit einer maßgeschneiderten
Version der interaktiven Anwendung (z. B. einer Version mit qualitativ
höherwertigen
Graphiken) ersetzen kann, ebenfalls wünschenswert, daß Aktualisierungen
von dem Rundfunksignal zu der maßgeschneiderten Anwendung geleitet
werden, um die Aktualisierungen mit der Anwendung zu integrieren.
-
Die
WO 99/15968 offenbart ein Fernseh-Verteilnetz, das es einem Benutzer
ermöglicht,
Internetseiten, die sich auf eine gerade angeschaute Fernsehsendung
beziehen, über
Kanal- Hyperlinking
herunterzuladen. Ein Benutzer sendet Kanal-Hyperlink-Anforderungen
durch einen vorgeschalteten Kanal zu einem Kopfende eines Netzes,
indem er eine Internettaste auf einer Fernsteuerung drückt. Das
Kopfende ist über
eine Schnittstelle mit einem Internet-Service-Provider zum Herunterladen entsprechender
Webseiten verbunden. Das Kopfende verwendet eine ID-Markierung (ID
tag) mit Kanal und Zeit der angeforderten Informationen, um den Ort
der Informationen, die für
den Benutzer heruntergeladen werden sollen, festzulegen. Eine Browseranwendung
erstellt die Informationen, auf die zugegriffen wurde, in einer
Bitmap, die vorzugsweise komprimiert wird. Die komprimierte Bitmap
wird dann von der Browseranwendung an einen Endgeräteanzeige-Manager
weitergeleitet. Der Endgeräteanzeige-Manager
ist vorzugsweise so ausgebildet, daß er die tatsächliche
Menge an Informationen weiter verringert, die an die Set-Top-Konverter-Box übertragen
werden muß.
Dies wird dadurch erreicht, daß lediglich
die Informationen an die Set-Top-Konverter-Box übertragen werden, die zum Aktualisieren
von zu ändernden
Teilen eines Bildschirms erforderlich sind.
-
Der
Artikel „JTV-Java-enabled
Television" von
P. Thrift et al., Proceedings of the SPIE, SPIE, Bellingham, VA,
USA, Ausg. 3228, 4. November 1997, Seite 117–122, offenbart das JTV API.
Dieses API ermöglicht es
Programmierern, interaktive Anwendungen und Applets zu entwickeln
und zu vertreiben, die Java sowohl mit einem verbesserten Rundfunk-
als auch interaktivem Fernsehinhalt kombinieren.
-
Die
europäische
Patentanmeldung
EP
1 003 313 A1 offenbart ein Verfahren zum Liefern einer
interaktiven Anwendung an mehrere Zielplattformen.
-
ABRISS DER
ERFINDUNG
-
Die
vorliegende Erfindung liefert eine automatisierte Steuerung einer
Interaktivität,
um eine Anzeige der Interaktivität
synchron zu den entsprechenden Rundfunkprogrammen bereitzustellen,
und zwar unabhängig
von der Unterbrechung eines Rundfunkprogramms und seiner Interaktivität durch
andere Rundfunkprogramme und/oder deren Interaktivität.
-
Gemäß einer
Ausführung
der vorliegenden Erfindung werden Steuersignale, die für gewöhnlich nur zum
Steuern der Rundfunkquellen (oder ähnlichen Vorrichtungen, wie
beispielsweise Vorrichtungen zum Untertiteln (Subtitler)) verwendet
werden, empfangen und weiterverarbeitet, um Befehle an einen Rundfunkserver auszugeben.
Diese Befehle weisen den Rundfunkserver wahlweise an, die Ausführung der
Interaktivität
an einem Rundfunkempfänger
zu steuern. Der Rundfunkserver überträgt wiederum
Befehle an den Rundfunkempfänger,
der die Befehle ausführt,
um die Interaktivität
zu steuern.
-
Die
von der vorliegenden Erfindung verwendeten Steuersignale können von
einer Reihe von Quellen stammen, beispielsweise von einem herkömmlichen
Rundfunk-Zeitplanungssystem, das automatisch oder manuell arbeitet,
oder von aufgenommenen Quellen, welche die Signale zusammen mit
den Rundfunkprogrammen codieren, wie auf einem Videoband.
-
Wie
oben erwähnt
haben die Steuersignale typischerweise ein spezielles Format, um
die Rundfunkquellen, wie beispielsweise bestimmte Arten von Video-,
Audio- oder anderen Ausgabevorrichtungen, zu steuern. Zusätzlich steuern
die Steuersignale lediglich die Übertragung
dieser Quellen und haben keine direkte oder inhärente Beziehung zu der Ausführung der
Interaktivität.
Dementsprechend wandelt die vorliegende Erfindung die Steuersignale
in Befehle um, die für
den Rundfunkserver akzeptabel sind, um die Ausführung der Interaktivität wahlweise
zu steuern.
-
Die
vorliegende Erfindung kann ebenfalls Zustandsinformationen von dem
Rundfunkserver verwenden, um den aktuellen Ausführungsstand einer Interaktivität an verschiedenen
Rundfunkempfängern
zu bestimmen; diese Zustandsinformationen ermöglichen, daß unterschiedliche Befehle
in Abhängigkeit
von den ansonsten opaken Steuersignalen von dem Zeitplanungssystem
erzeugt werden.
-
Die
vorliegende Erfindung liefert eine automatisierte synchrone Steuerung
einer Interaktivität
für eine Reihe
unterschiedlicher Arten von Rundfunk-Zeitplanungssystemen. Im allgemeinen
stellen verschiedene Arten von Zeitplanungssystemen unterschiedliche
Mengen und Arten von Informationen in ihren Steuersignalen bereit.
-
Bestimmte
einfache Zeitplanungssysteme stellen lediglich ein Steuersignal
bereit, das angibt, ein Rundfunkprogramm zu starten, zu stoppen
oder vorzubereiten, wobei das Signal manchmal eine Rundfunkprogramm-ID
für das
Programm enthalten kann. Für
diese Art von Zeitplanungssystem wird die Identifizierung des Rundfunkprogramms
(z. B. Fernsehsendung oder Werbung) verwendet, um zu bestimmen,
ob das Rundfunkprogramm mit einer interaktiven Anwendung einhergeht;
Zeitsteuerinformationen werden verwendet, um zu bestimmen, ob die
interaktive Anwendung gestartet, gestoppt, unterbrochen oder fortgesetzt
werden soll. Dem Rundfunkserver werden geeignete Befehle und Daten
bereitgestellt, um die Übertragung
der interaktiven Anwendung wahlweise zu steuern.
-
Eine
andere Art von Zeitplanungssystem stellt Steuersignale bereit, die
verwendet werden können,
um zwar die Werbespots, die während
einer Fernsehsendung ausgestrahlt werden, aber nicht die Fernsehsendungen
an sich zu identifizieren. Die vorliegende Erfindung verwendet diese
Informationen, um die Interaktivität zu identifizieren, die dem
Werbespot zugeordnet ist, und so Befehle an den Rundfunkserver zu
liefern, um die Übertragung
der identifi zierten Interaktivität
zusammen mit den Befehlen zu veranlassen, die Interaktivität wahlweise
zu unterbrechen und fortzusetzen, die mit der Fernsehsendung einhergehen
kann, in der der Werbespot gesendet wurde.
-
Eine
noch andere Art von Zeitplanungssystem stellt Steuersignale bereit,
die das Rundfunkprogramm und seine Dauer identifizieren. In diesem
Fall kann die vorliegende Erfindung die entsprechende Interaktivität für ein Rundfunkprogramm
und währenddessen
ausgestrahlte Werbung wahlweise unterbrechen oder fortsetzen.
-
Bei
einer Ausführung
stellt die vorliegende Erfindung einen Automatisierungsserver bereit,
der eine Schnittstelle zwischen existierenden herkömmlichen
Rundfunk-Zeitplanungssystemen
und einem Server für interaktive
Anwendungen (und andere Formen von Interaktivität) bildet, um die Ausführung der
Interaktivität, die
mit Rundfunkprogrammen einhergehen kann, wahlweise in Abhängigkeit
von Steuersignalen zu steuern, die von dem Zeitplanungssystem ausgegeben
werden.
-
Gemäß der vorliegenden
Erfindung bildet der Automatisierungsserver ferner eine Schnittstelle
mit dem Rundfunkserver, um Befehle an den Rundfunkserver zu liefern,
die Ausführung
einer interaktiven Anwendung wahlweise zu starten, abzubrechen,
zu unterbrechen oder fortzusetzen. Unter Verwendung der Steuersignale von
dem Zeitplanungssystem bestimmt der Automatisierungsserver, welche
Rundfunkprogramme gerade gesendet werden und erzeugt und behält Zustandsinformationen über den
Zustand jedes Rundfunkprogramms bei. Unter Verwendung von Informationen,
welche die Rundfunkprogramme und (falls vorhanden) die zugehörige Interaktivität identifizieren,
behält
der Automatisierungsserver zudem Zustandsinformationen über den
Zustand jeder interaktiven Anwendung bei. Unter Verwendung dieser
Zustandsinformationen und der Steuersignale von dem Zeitplanungssystem
bestimmt der Automatisierungsserver die geeigneten Befehle, die
an den Rundfunkserver gesendet werden sollen, um die Synchronität zwischen
den Rundfunkprogrammen und den interaktiven Anwendungen beizubehalten.
-
Dieses
synchrone Verhalten resultiert darin, daß eine Interaktivität zu den
Zeiten angezeigt wird, zu denen das zugehörige Rundfunkprogramm angezeigt
wird, und nicht zu anderen Zeitpunkten. Beispielsweise liefert die
vorliegende Erfindung die ordnungsgemäße synchrone Anzeige von interaktiven
Anwendungen für Fernsehsendungen,
die durch eine oder mehrere Werbepausen (von denen jede mehrere
Werbespots umfassen kann, die ihre eigene Interaktivität haben
können)
segmentiert sind. Die vorliegende Erfindung erfaßt anhand der Steuersignale
des Zeitplanungssystems, wenn es während der Übertragung einer Fernsehsendung eine
Werbepause gegeben hat. Die vorliegende Erfindung kann dann die
Ausführung
der Interaktivität
des Fernsehprogramms unterbrechen (stoppen) und die Interaktivität erst zu
dem Zeit punkt abbrechen, wenn sicher bestimmt werden kann, daß es nach
Ende der Werbepause keine weiteren Segmente der gleichen Fernsehsendung
gibt. Während
der Werbepause wird die entsprechende Interaktivität für den/die
Werbespot(s) ausgeführt.
Wenn die Fernsehsendung fortgesetzt wird, das heißt, wenn
ein weiteres Segment der Fernsehsendung ausgestrahlt wird, erfaßt die vorliegende
Erfindung, daß das
vorherige Segment und das aktuelle Segment zusammengehören, und
setzt die unterbrochene Interaktivität fort, wobei jegliche Zustandsinformationen
(z. B. aktuelle Spielpunktzahl, Formulardaten etc.) gespeichert
werden, die vor der Werbepause erzeugt wurden. Wenn die Fernsehsendung
nach der Werbepause nicht fortgesetzt wird und eine neue Fernsehsendung übertragen
wird, erfaßt
die vorliegende Erfindung diese Änderung
des Rundfunkprogramms, beendet die Interaktivität für die vorherige Fernsehsendung
und startet die Interaktivität
für die
nächste
Fernsehsendung.
-
Bei
einer Ausführung
der vorliegenden Erfindung umfaßt
der Automatisierungsserver mehrere Kanalschnittstellen, von denen
jede die Steuersignale für
einen bestimmten Kanal empfängt
und verwaltet. Jede Kanalschnittstelle umfaßt ein Übersetzermodul und einen Ereignismanager.
Das Übersetzermodul
wandelt die nativen Steuersignale von dem Zeitplanungssystem, die
zu Rundfunkprogrammen auf dem Kanal gehören, in eine festgelegte Gruppe
atomarer Befehlen um. Der Umsetzer behält ebenfalls Zustandsinformationen über den
Lebenszyklus jedes Rundfunkprogramms bei. Der Ereignismanager empfängt die
atomaren Befehle und verarbeitet sie zu Befehlen für den Rundfunkserver,
um die Interaktivität
der Rundfunkprogramme zu steuern. Der Ereignismanager behält Zustandsinformationen über den
Lebenszyklus der interaktiven Anwendungen auf dem Kanal bei und
erzeugt aus diesen Zustandsinformationen die geeigneten Befehle
für den
Rundfunkserver. Aufgrund der Verwendung eines separaten Umsetzers
und Ereignismanagers kann die vorliegende Erfindung durch Verwendung
unterschiedlicher Umsetzer leicht mit unterschiedlichen Zeitplanungssystemen schnittstellenmäßig verbunden
sein, während
derselbe Ereignismanager erhalten bleibt. Zudem ermöglicht die Trennung
von Übersetzermodul
und Ereignismanager, daß der
Automatisierungsserver mit unterschiedlichen Arten von Rundfunkservern
schnittstellenmäßig verbunden
sein kann, indem neue Arten von Ereignismanagern erzeugt werden,
ohne daß Änderungen
des Übersetzermoduls
erforderlich sind. Dieses Merkmal erlaubt es dem Automatisierungsserver,
mit Interaktivitäten,
die in verschiedenen Standards definiert sind, zusammenzuarbeiten,
die in der Zukunft noch entwickelt werden können.
-
Im
Rahmen der vorliegenden Erfindung kann eine Interaktivität in einer
beliebigen Form interaktiver Anwendung bereitgestellt werden, wie
beispielsweise diejenigen, die in demselben Signal wie das Rundfunkprogramm übertragen
und von dem Rundfunkempfänger
oder einer anderen Endbenutzervorrichtung ausgeführt werden, die das Rundfunksignal
empfängt,
oder interaktive Anwendungen, die an einer Kopfstelle eines Kabelnetzes
oder einer anderen Rundfunkquelle ausgeführt werden, interaktive Anwendungen,
die auf einem herkömmlichen Computer
ausgeführt
und über
das Internet oder andere Netzwerke synchron zu Rundfunkprogrammen übertragen
werden oder die asynchron zu dem Rundfunkprogramm vorgesehen sind
und nur bei Bedarf ausgeführt
werden.
-
Bei
einer anderen Ausführung
erfaßt
die vorliegende Erfindung aktualisierte Aufzeichnungen einer interaktiven
Anwendung in dem Rundfunksignal und stellt diese Aktualisierungen
wahlweise dem Rundfunkserver bereit. Dies ermöglicht es dem Rundfunkserver,
die Aktualisierungen an Rundfunkempfänger zu senden, welche die
Anwendungen empfangen, und diese Aktualisierungen in die Anwendung
zu integrieren. Eine Ausführung
dieses Systems umfaßt
einen Aktualisierungsmanager, der einen Codeleser und einen Codedetektor aufweist.
Der Codedetektor erfaßt
das Vorhandensein, das Fehlen oder eine Änderung von Anwendungsidentifikationscodes
in dem Rundfunksignal, und signalisiert dies entsprechend einem Übersetzermodul
(oder Ereignismanager) in dem Automatisierungsserver. Der Codeleser
extrahiert die aktualisierten Aufzeichnungen aus dem Rundfunksignal.
Der Ereignismanager signalisiert dem Codeleser zu beginnen oder
aufzuhören,
die aktualisierten Aufzeichnungen an den Rundfunkserver zu liefern.
Dies ermöglicht
es dem lokalen System mit dem Rundfunkserver, Aktualisierungen aus
dem Rundfunksignal zu extrahieren und diese Aktualisierungen in die
lokale Version der Anwendung zu integrieren, wodurch die Aktualisierungen
von dem entfernt gelegenen Rundfunkveranstalter (z. B. einem Netzrundfunkveranstalter)
mit lokal relevanten oder maßgeschneiderten Anwendungen
(z. B. digitale Anwendungen mit höherer Bandbreite) kombiniert
werden.
-
Der
Automatisierungsserver der vorliegenden Erfindung kann als ein Softwareprodukt
oder ein Teil eines größeren Systems
oder einer größeren Vorrichtung
implementiert sein, das bzw. die zweckgebundene Hardware und Software
enthält.
Die vorliegende Erfindung kann ebenfalls in Form verschiedener Verfahren zum
Steuern der Ausführung
einer Interaktivität
implementiert sein, die Rundfunkprogrammen zugeordnet ist.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
eine Darstellung eines Systems gemäß der vorliegenden Erfindung.
-
2 ist
eine Darstellung eines Rundfunkempfängers.
-
3 ist
ein Flußdiagramm
des Gesamtablaufs des Empfangens und Ausführens interaktiver Anwendungen.
-
4 ist
eine Darstellung des Automatisierungsservers bei einer Ausführung der
vorliegenden Erfindung.
-
5 ist
eine Darstellung einer Kanalschnittstelle, die ein Übersetzermodul
und einen Ereignismanager enthält.
-
6 ist
ein Lebenszyklusdiagramm des Schnittstellenmanagers.
-
7 ist
ein Lebenszyklusdiagramm einer Kanalschnittstelle, die ein Übersetzermodul
und einen Ereignismanager enthält.
-
8 ist
ein Zustandsmaschinendiagramm für
einen idealen Umsetzer.
-
9 ist
ein Flußdiagramm
der Abbildungslogik des Übersetzermoduls.
-
10 ist
ein Flußdiagramm
der Abbildungslogik des Ereignismanagers.
-
11 ist
ein Zustandsmaschinendiagramm des Ereignismanagers.
-
12 ist
ein Ereignisablauf, der die Segmentierung der Interaktivität eines
Rundfunkprogramms bezüglich
Werbung zeigt.
-
13 ist
eine Darstellung eines Systems, das Aktualisierungen für dynamische
interaktive Anwendungen liefert.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGEN
-
In 1 ist
die Darstellung eines Systems gemäß der vorliegenden Erfindung
gezeigt. Es ist ersichtlich, daß das
in 1 dargestellte System in größere, komplexere Systeme integriert
werden kann und dennoch die Merkmale und Vorteile der Erfindung
erhalten bleiben.
-
A. Systemüberblick
-
Im
allgemeinen umfaßt
das System 100 ein Zeitplanungssystem 106, einen
Automatisierungsserver 108, einen Rundfunkserver 110,
ein Verkehrssystem 104, Rundfunkprogrammquellen 102,
eine Dateneinfügeeinheit 116 und
einen Sender 118. Diese Elemente werden typischerweise
bei einer Ausführung
eingesetzt, die von einem Kabelbetreiber an einer Kopfstelle des
Kabelnetzes verwendet wird. Eine Implementierung der vorliegenden
Erfindung in anderen Einrichtungen ist durchaus möglich. Rundfunkempfänger (BR
= broadcast receiver) 120 sind entfernt in den Häusern, Büros und
dergleichen von Zuschauern verteilt. Die Person oder Per sonen, welche
die Programme empfängt
bzw. empfangen, werden als „Teilnehmer" oder „Zuschauer" bezeichnet.
-
Das
System 100 arbeitet mit mehreren Rundfunkveranstaltern 114 zusammen.
Ein Rundfunkveranstalter 114 liefert das Programmaterial,
das an die BRs 120 gesendet werden soll. In dieser Beschreibung
bezeichnet der Begriff „Rundfunkveranstalter" 114 jegliche
Entität,
die ein Programm liefert, das in einem Rundfunksignal übertragen
wird. Ein „Programm" ist ein diskretes
Segment einer Rundfunksendung. Definitionsgemäß umfassen Programme in dieser
Beschreibung somit Fernsehsendungen, Werbung, öffentliche Ankündigungen,
Bezahlfernsehen-Ereignisse und dergleichen. Rundfunkveranstalter
umfassen Fernsehanstalten sowie Werbetreibende, die Werbesendungen
vorbereiten, Bezahlfernsehen-Anbieter, Kabelnetzbetreiber und dergleichen.
-
Ein
Rundfunkveranstalter 114 liefert Rundfunkvideodaten, die,
falls nötig,
Audiodaten und andere Daten enthalten, an verschiedene Rundfunkprogrammquellen 102,
wie beispielsweise Bänke
mit Videokassetten-Abspielgeräten,
Video-CD-Abspielgeräten,
Subtitler, Videoserver, Zeichengeneratoren, Audiokartengeräte, Einzelbildspeicher,
Digitaleffektsysteme, Studio-Livefeeds,
Livefeeds von einem entfernt gelegenen Feld (z. B. von Kameras bei
einem Live-Sportereignis)
und dergleichen, die Programmaterial enthalten oder erzeugen. Die
Rundfunkvideodaten werden in den Rundfunkprogrammquallen 102 gespeichert,
bis sie zur Übertragung benötigt werden.
Geeignete Rundfunkprogrammquellen sind die Automated Video Library
TCS45 von Odetics, Inc., Anaheim, Kalifornien, und der MediaStream
Server von Hewlett-Packard, Palo Alto, Kalifornien, und ähnliche
Vorrichtungen oder Systeme.
-
Ein
Verkehrssystem 104 empfängt
einen Programmplan von dem Rundfunkveranstalter 114. Der
Programmplan legt fest, welche von dem Rundfunkveranstalter 114 bereitgestellten
Programme zu welcher Zeit auf welchem Kanal übertragen werden sollen. Je
nach Rundfunkveranstalter 114 können Werbesendungen in dem
Zeitplan enthalten oder Zeitnischen für die Einfügung von Werbesendungen anderer
Rundfunkveranstalter 114 in dem Plan vorgesehen sein. Das
Verkehrssystem 104 integriert die Programmpläne der vielen
verschiedenen Rundfunkveranstalter sowie Sendezeitplanungsinformationen,
die lokal erzeugt werden, z. B. von dem Kabelnetzanbieter, um eine
Wiedergabeliste 113 zu erzeugen. Ein geeignetes Verkehrssystem 104 ist das
Columbine JDS von Columbine JDS Systems, Inc.
-
Bei
einer Ausführung
wird diese Wiedergabeliste 113 vor den Rundfunksendungen
vorbereitet und identifiziert die Programme, die zu bestimmten Zeiten
gesendet werden. Vorzugsweise enthält die Wiedergabeliste 113 ausreichend
Informationen, um jedes Programm, seine Anfangs- und Endzeit sowie
Kanal- und Netzzuweisung zu identifizieren. Zusätzlich kann es für jedes
Programm zu einer bestimmten Zeit Informationen geben, welche die
jeweilige Rundfunkprogrammquelle 102 identifizieren, die
das Programm ausgeben soll.
-
Das
Zeitplanungssystem 106 kann sowohl manuelle oder automatisierte
Steuerkomponenten als auch beides, sowie Schaltvorrichtungen enthalten.
Das Zeitplanungssystem 106 empfängt ferner die Wiedergabeliste 113,
die angibt, welche Rundfunkprogramme zu welchem Zeitpunkt gesendet
werden sollen und welche Rundfunkprogrammquellen 102 zu
verwenden sind. Über
seine manuellen und/oder automatisierten Komponenten koppelt das
Zeitplanungssystem 106 die Rundfunkprogrammquellen mit
entsprechenden Rundfunkmedien, um zu steuern, welche Programmquellen
zu einem gegebenen Zeitpunkt an welche Rundfunkmedien ausgegeben
werden. Genauer gesagt gibt das Zeitplanungssystem 106 native
Steuersignale aus, die für
die verschiedenen Rundfunkprogrammquellen 102 formatiert
und typischerweise nur für
diese von Bedeutung sind. Die Art und Komplexität der automatisierten und manuellen
Komponenten variiert, und somit variieren auch die Arten von Steuersignalen,
die sie bereitstellen. Die manuelle Komponente des Zeitplanungssystems 106 wird
von einer Bedienperson verwendet, um die Rundfunkprogrammquellen 102 nach
Bedarf manuell auszuwählen
und zu aktivieren, und die entsprechenden Steuersignale zu erzeugen,
die entsprechend von dem Automatisierungsserver 108 empfangen
werden.
-
Eine
weitere Quelle von Steuersignalen für den Automatisierungsserver 108 sind
aufgezeichnete Steuersignale, die mit Rundfunkdaten an den Rundfunkquellen 102 enthalten
sind. Somit können
Steuersignale, die für
ein bestimmtes Rundfunkprogramm geeignet sind, im vorhinein erzeugt
und auf einem Videoband des Rundfunkprogramms zu geeigneten Zeiten
gespeichert werden. Eine derartige Speicherung der Steuersignale
kann auf einem beliebigen Medium erfolgen, das die Rundfunkprogramme
speichert. Alternativ können die
Steuersignale aufgezeichnet und auf einem Medium separat von ihren
Rundfunkprogrammen gespeichert, aber zusammen mit ihnen abgespielt
werden. Alternativ können
die Steuersignale in Echtzeit in die Rundfunkdaten eingebettet werden,
beispielsweise unter Verwendung eines VITC-Zeitcodegenerators oder einer NORPAK-Dateneinfügeeinheit.
-
Zusätzlich kann
die Methodik des Erhaltens der Steuersignale entweder von dem Zeitplanungssystem 106 selbst
oder durch Abfragen des Zeitplanungssystems 106 angewandt
werden.
-
Der
Rundfunkserver 110 ist vorzugsweise ein Computersystem,
das ein oder mehrere Softwareprogramme ausführt, welche die hierin beschriebene
Funktionalität
liefern. Ein geeigneter Rundfunkserver ist der Wink Broadcast Server
von Wink Communications, Inc., Alameda, Kalifornien. Der Rundfunkserver 110 enthält eine
Datenbank 112 für
interaktive Anwendungen. Die Datenbank 112 für interaktive
Anwendungen speichert interaktive Anwendungen oder andere Formen
von Interaktivität,
die an verschiedene, entfernt verteilte BRs 120 gesendet
werden. Interaktive Anwendungen und andere Formen interaktiven Inhalts
können
von einem Rundfunkveranstalter 114 oder einem anderen Programmanbieter
der Datenbank 112 für
interaktive Anwendungen hinzugefügt
und mittels einer gesicherten Netzwerkverbindung oder anderer Übertragungsmedien
an die Datenbank 112 übertragen
werden. Felder innerhalb der Datenbank 112 verknüpfen interaktive
Anwendungen beispielsweise mit einer bestimmten Rundfunkanstalt,
einem Netzwerk, einem Kanal, einem Programm und/oder einer Sendezeit.
Zusätzlich
weist jede interaktive Anwendung in der Datenbank 112 vorzugsweise einen
eindeutigen Identifikationscode für interaktive Anwendungen auf,
mit dem sie identifiziert werden kann. Eine Verknüpfung des
Identifikationscodes für
interaktive Anwendungen mit dem Programmidentifikationscode (wie
er von den Rundfunkquellen verwendet wird) ermöglicht dem Rundfunkserver 112,
wahlweise eine interaktive Anwendung auf das Empfangen eines Programmidentifikationscodes
hin abzurufen. Zum leichteren Verständnis bezeichnet der Begriff „interaktive
Anwendung" alle
Formen von Interaktivität
für Rundfunkprogramme,
die hierin beschrieben werden oder äquivalent zu den offenbarten
sind.
-
Bei
einer Ausführung
der vorliegenden Erfindung werden die in der Datenbank 112 gespeicherten
interaktiven Anwendungen durch ein kompaktes Kommunikationsprotokoll
beschrieben. Das kompakte Protokoll dient dazu, einen kompakten
Satz von Informationen und Befehlen auf effiziente Art und Weise
zwischen den Systemkomponenten zu senden, wodurch die Verwendung
von Transportmöglichkeiten
mit geringer Bandbreite, wie beispielsweise der vertikalen Austastlücke (VBI
= vertical blanking interval), möglich
ist. Während
eine bevorzugte Ausführung
der vorliegenden Erfindung das hierin beschriebene kompakte Protokoll
verwendet, können
interaktive Anwendungen durch andere Protokolle beschrieben werden,
beispielsweise durch die Hypertext Markup Language (HTML), die Extended
Markup Language (XML), die JAVA-Sprache von SUN MICROSYSTEMS INC.
oder das HTML-basierte
Protokoll ATVEF für
interaktives Fernsehen. Eine detaillierte Beschreibung eines kompakten
Protokolls, das für
interaktive Anwendungen geeignet ist, einschließlich unterstützender
Definitionen, Skripte und Befehle, ist in dem US-Patent Nr. 5,689,799
mit dem Titel „Method
and Apparatus for Routing Confidential Information" beschrieben. Die
interaktiven Anwendungen selbst sind Softwareprodukte, die ausführbare Codes
und Daten umfassen und den Betrieb eines Rundfunkempfängers 120 steuern
und konfigurieren, wie es im weiteren beschrieben wird.
-
Es
können
mehrere Rundfunkserver 110 vorgesehen sein, wobei jeder
Rundfunkserver 110 ein bestimmtes geographisches Gebiet,
eine Gruppe von Rundfunkveranstaltern oder eine Gruppe von Teilnehmern bedient.
Bei einer Ausführung
wird jeder Rundfunkserver 110 durch einen eindeutigen Server-Identifikationscode
identifiziert.
-
Im
allgemeinen bestimmt der Rundfunkserver 110, welche interaktive
Anwendung auf einem bestimmten Kanal zu einer bestimmten Zeit gesendet
werden soll, gewinnt die interaktiven Anwendungen aus der Datenbank 112 wieder,
die dem bestimmten Kanal und der Zeit oder dem Programmidentifikationscode
entsprechen, und bereitet die interaktiven Anwendungen zur Sendung
vor.
-
Um
zu bestimmen, welche interaktiven Anwendungen zu den verschiedenen
Zeitpunkten, auf den verschiedenen Kanälen etc. gesendet werden, empfängt der
Rundfunkserver 110 eine Wiedergabeliste 113 für Programme,
die von dem Verkehrssystem 104 gesendet werden sollen.
Der Rundfunkserver 110 verwendet diese Informationen, um
eine entsprechende interaktive Anwendung (falls vorhanden) zu identifizieren
und aus der Datenbank 112 wiederzugewinnen, die mit jedem
Rundfunkprogramm einhergehen soll. Der Rundfunkserver 110 gibt
zudem Befehle aus, die an die BRs 120 gesendet werden und
diese anweisen, interaktive Anwendungen zu starten, zu stoppen,
abzubrechen, zu unterbrechen oder fortzusetzen, die in dem Speicher
in den BRs 120 empfangen werden können oder bereits in diesem
vorhanden sind.
-
Falls
erforderlich formatiert der Rundfunkserver 110 eine abgerufene
interaktive Anwendung und bereitet diese andernfalls zum Einfügen in ein
Rundfunksignal vor. Unter Verwendung der von der Rundfunkanstalt 114 gesendeten
Wiedergabeliste 113 leitet der Rundfunkserver 110 die
interaktive Anwendung 115 und/oder verschiedene Befehle
an die Dateneinfügeeinheit
(DIU = Data Insertion Unit) 116 weiter, um die interaktive
Anwendung 115 in die Rundfunkdaten 117 zu integrieren,
die gleichzeitig mit dem Programm gesendet werden.
-
Die
DIU 116 empfängt
die interaktive Anwendung 115 oder Befehle von dem Rundfunkserver 110 sowie
das Rundfunksignal oder die Rundfunkeinspeisung, die das Programm
trägt,
das der interaktiven Anwendung 115 entspricht. Die Rundfunkeinspeisung
kann von den Rundfunkprogrammquellen, dem Rundfunkveranstalter 114 direkt
oder, falls der Rundfunkveranstalter die Einspeisung nicht bereitstellt,
von einer dritten Stelle, wie beispielsweise einem Netzwerk, einem
Kabelbetreiber oder einer lokalen Fernsehstation, aus empfangen
werden. Die DIU 116 wandelt die interaktive Anwendung 115 und
die Befehle in ein Format um, das zum Einfügen in die Rundfunkeinspeisung
und eine Übertragung
mit dieser als Rundfunkdaten 117 geeignet ist. Die DIU 116 kann
Einspeisungen von mehreren Rundfunkanstalten empfangen und kann
in jede Einspeisung eine separate interaktive Anwendung einfügen. Gleichermaßen kann
die DIU 116 gleichzeitig eine separate interaktive Anwendung
in mehrere Kanäle
der gleichen oder verschiedenen Rundfunkveranstalter 114 einspeisen.
-
Die
DIU 116 fügt
die Rundfunkdaten 117, welche die interaktiven Anwendungen,
Befehle und Rundfunkprogramme enthalten, in das Rundfunkmedium ein.
Das Rundfunkmedium ist das Frequenzspektrum, das zum Tragen der
interaktiven Anwendung 115 verwendet wird. Bei einer Ausführung ist
das Rundfunkmedium ein standardmäßiges, analoges
Fernsehsignal gemäß den Standards
des National Television Standards Committee (NTSC), und die VBI
wird zum Transport verwendet, um die interaktive Anwendung zu senden.
Der Transport ist der spezifische Abschnitt des Rundfunkmediums,
der die interaktive Anwendung 115 trägt. Bei einer anderen Ausführung ist
das Rundfunkmedium ein standardmäßiges MPEG2-Digitalvideo-Multiplexsignal,
das einen oder mehrere MPEG2-Videodienste enthält, und ein elementarer MPEG2-Strom
(oder Ströme) innerhalb
dieses Multiplexsignals wird zum Transport verwendet. Die DIU 116 kann
mit analogen oder digitalen Videoquellen arbeiten und alternativ
als eine Schnittstelle zu einem Weitverkehrsnetzwerk fungieren,
das den Rundfunkveranstalter 114 oder die Rundfunkquellen 102 direkt
mit verschiedenen Sendern 118 verbindet.
-
Bei
einer Ausführung
verwendet die DIU 116 herkömmliche Verfahren, um Daten,
die eine interaktive Anwendung definieren, in die VBI der Rundfunkeinspeisung
einzufügen.
Der North American Broadcast Teletext Standard (EIA-506) definiert
die Verfahren und Protokolle zum Senden von Daten in einer oder
mehreren Zeilen der VBI. Es steht jedoch eine breite Vielzahl anderer
Transportmechanismen zur Verfügung,
einschließlich
derer, welche die interaktive Anwendung 115 separat von
dem Fernsehprogramm senden. Derartige Transportmechanismen umfassen
bandexterne Sender (out-of-band transmitters), welche die interaktive
Anwendung 115 in einem unbenutzten Abschnitt des Fernsehfrequenzspektrums
senden, sowie herkömmliche Frequenzmodulations(FM)-Radiosender,
welche die interaktive Anwendung 115 außerhalb des Fernsehfrequenzspektrums
senden. Bei einer anderen Ausführung
verwendet die DIU herkömmliche
Verfahren zum Einfügen
von Daten in einen Elementarstrom innerhalb eines MPEG2-Multiplexsignals.
-
Bei
einer Ausführung
werden Fehlerüberprüfungs- oder
Fehlerkorrekturcodes, wie beispielsweise Hamming-Codes, in die Daten
eingefügt.
Bei einer Ausführung
wandelt die DIU 116 die Daten in einen Hamming-Code um,
und bei einer anderen Ausführung
sind die Daten, welche die DIU 116 von dem Rundfunkserver 110 empfängt, bereits
codiert.
-
Die
DIU 116 ist mit einem Sender 118 zum Übertragen
der Rundfunkeinspeisung verbunden, einschließlich jeglicher eingefügter interaktiver
Anwendungen oder Befehle von dem Rundfunkserver 110. Bei
einer Ausführung
ist der Sender 118 ein Satelliten-Uplink, der die Einspeisung
an lokale Uplink-Empfänger überträgt, die
dann die Einspeisung an die BRs 120 über Kabel verteilen. Bei einer
anderen Ausführung
ist der Sender 118 ein herkömmlicher Kopfstellenverstärker eines
Kabelsystems. Bei noch anderen Ausführungen ist der Sender 118 ein
herkömmlicher
Fernsehrundfunksender oder ein digitaler Sender für hochauflösendes Fernsehen.
Bei noch einer anderen Ausführung
kann der Sender 118 die Rundfunkdaten über eine WAN-Verbindung, das
Internet, oder ein anderes öffentliches/privates
Netz übertragen.
-
Bei
einer anderen Ausführung
fügt die
DIU 116 die interaktive Anwendung 115 in das Programm
ein, bevor das Programm gesendet wird. Beispielsweise kann die DIU 116 eine
interaktive Anwendung in die Quellenkopie einer Fernsehwerbung einfügen. Dementsprechend
wird die interaktive Anwendung immer dann gesendet, wenn die Werbung
gesendet wird. Bei dieser Ausführung
ist es nicht erforderlich, daß der
Rundfunkserver 110 die Wiedergewinnung der interaktiven
Anwendung mit dem Zeitplan synchronisiert, der auf der Wiedergabeliste
steht. Der Automatisierungsserver 108 wird jedoch trotzdem
verwendet, um die Synchronisation des Betriebs einer derartigen
gesendeten interaktiven Anwendung während der Übertragung der Werbung und jeglicher
interaktiver Anwendungen zu steuern, die während des Fernsehprogramms
gesendet werden, in dem die Werbung ausgestrahlt wird.
-
Unabhängig von
dem Übertragungsverfahren
und dem Einfügezeitpunkt
werden die Rundfunkdaten 117 einschließlich der interaktiven Anwendung
von dem BR 120 eines Teilnehmers empfangen. Obwohl in 1 nur
ein einziger BR 120 dargestellt ist, ist ersichtlich, daß bei einer
typischen Ausführung
Hunderte oder Tausende von BRs 120 die Rundfunkdaten 117 empfangen
und so reagieren, wie es hierin beschrieben ist. Bei einer typischen
Ausführung
ist der BR 120 eine Fernseh-Set-Top-Box, welche die Daten 117 über ein
Koaxialkabel empfängt.
Zusätzlich
kann der BR 120 in dem Fernsehgerät integriert sein. Zudem können auch
andere Rundfunkempfänger,
einschließlich
eines NTSC-Rundfunkempfängers,
eines digitalen Empfängers
für hochauflösendes Fernsehen,
eines Videokassettenrekorders oder eines FM-Radioempfängers verwendet werden.
-
Die
obenstehende Architektur unterstützt
eine Reihe nützlicher
Ausführungen,
bei denen der Automatisierungsserver 108 den Rundfunkserver 110 steuert,
um verschiedene Arten und Formate von Daten zu übertragen, um ein synchrones
Verhalten bei Rundfunkprogrammen zu erreichen. Zunächst ist
festzustellen, daß der
Rundfunkserver 110 separat von oder zusätzlich zu interaktiven Anwendungen
auch für
andere Arten von Daten dienen kann. Beispielsweise kann der Rundfunkserver
für Daten
wie Computerprogramme oder Audio-/Videodaten dienen. Der Rundfunkserver
kann zudem Daten, Formulare, Codes oder Trigger für interaktive Anwendungen
bereitstellen, die vorher an die Rundfunkempfänger übertragen wurden.
-
Diese
verschiedenen Arten von Daten können
gemäß der vorliegenden
Erfindung in Abhängigkeit
von Befehlen, die von dem Automatisierungsserver 108 stammen, übertragen
werden. Beispielsweise kann der Rundfunkserver eine interaktive
Anwendung an einen Rundfunkempfänger
senden, lange bevor die interaktive Anwendung und das zugehörige Rundfunkprogramm
gezeigt werden sollen. Auf Befehle von dem Automatisierungsserver 108 hin
kann der Rundfunkserver 110 Triggercodes senden, welche
die Ausführung
der zuvor geladenen interaktiven Anwendung auslösen, so daß sie synchron zu dem Rundfunkprogramm
ausgeführt wird.
Gleichermaßen
kann der Rundfunkserver 110 in Abhängigkeit von dem Automatisierungsserver 108 Formulare
oder andere Daten übertragen,
um die Merkmale, die Benutzeroberfläche oder die Funktionalität einer interaktiven
Anwendung zu aktualisieren oder zu modifizieren, die sich bereits
an dem Rundfunkempfänger
befindet. Dies ermöglicht
dem Automatisierungsserver 108, die interaktive Anwendung
auf Steuersignale von dem Zeitplanungssystem 106 hin zu
verarbeiten oder zu ändern.
-
Der
Rundfunkserver 110 kann zudem für Hypermedia-Daten, wie beispielsweise
Text, Graphiken, Bilder, Uniform Resource Locators (URLs), Uniform
Resource Identifiers (URIs), HTML, XML, ATVEF, JAVA-Applets oder
andere Arten und Formate von Daten dienen, ebenfalls in Abhängigkeit
von Befehlen von dem Automatisierungsserver 108. Der Automatisierungsserver 108 kann
beispielsweise in Abhängigkeit
davon, daß das
Zeitplanungssystem 106 Steuersignale liefert, die den Beginn
einer Fernsehsendung angeben, den Rundfunkserver 110 anweisen,
die URL einer Internetseite an den Rundfunkempfänger zu senden, der wiederum die
Internetseite zur Anzeige für
den Benutzer lädt,
um die Internetseite synchron zu der Fernsehsendung anzuzeigen.
-
Die
Datenbank für
interaktive Anwendungen oder ihr Gegenstück speichert alle diese Daten
oder andere Arten von Daten, für
die der Rundfunkserver 110 auf Befehle von dem Automatisierungsserver 108 hin dienen
kann, zusammen mit Programmidentifizierern für die Rundfunkprogramme. Dies
ermöglichet
dem Automatisierungsserver 108, die entsprechenden Daten,
für die
er dienen soll, zu bestimmen, die Programmidentifizierer von den
Steuersignalen des Zeitplanungssystems 106 vorausgesetzt.
-
B. Rundfunkempfänger
-
2 zeigt
ein Ausführungsbeispiel
des BR 120 gemäß einer
Ausführung
der vorliegenden Erfindung. Bei einer Ausführung ist der BR 120 der
CFT-2200 CATV-Set-Top-Decodierer von General Instruments. Der BR 120 umfaßt ein Empfangsgerät (Tuner) 202,
um Rundfunkdaten 117 von dem Sender 118 zu empfangen. Bei
einer Ausführung
ist das Empfangsgerät 202 ein
herkömmliches
Kabelfernsehempfangsgerät.
Bei anderen Ausführungen
ist das Empfangsgerät
ein Fernsehübertragungsempfangsgerät, ein FM-Radioempfangsgerät, ein digitales
Empfangsgerät
oder eine andere Art von Empfangsgerät. Bei noch einer anderen Ausführung kann
ein Personalcomputer mit der entsprechenden Hardware und Software
dazu dienen, Rundfunkprogramme, die über verschiedene Arten von Übertragungskanälen, einschließlich Kabel,
Internet und Satellit, empfangen werden, anzuzeigen. Die in 2 dargestellte
Aus führung
zeigt eine Anzeige 218, typischerweise ein Fernsehgerät, innerhalb
des BR 120. Wie oben erwähnt, kann die Anzeige 218 auch
außerhalb
des BR 120 vorgesehen sein.
-
Der
BR 120 umfaßt
ferner einen Datenextrahierer 206, der mit dem Empfangsgerät 202 zum
Extrahieren der interaktiven Anwendung aus den Rundfunkdaten 117 verbunden
ist. Bei einer Ausführung
ist der Datenextrahierer 206 ein herkömmlicher bandinterner (in-band)
Datenextrahierschaltkreis für
die VBI. Bei einer anderen Ausführung
ist der Datenextrahierer 206 ein herkömmliches Modem. Der Datenextrahierer 206 stellt einen
seriellen Bitstrom, der die extrahierte interaktive Anwendung enthält, auf
einem Bus 208 bereit. Der Bus 208 ist mit einem
Mikroprozessor 210 verbunden, der über den Bus 208 die
extrahierte interaktive Anwendung in einer ersten Speichervorrichtung 212 speichert,
wie es von einem Programm angewiesen wird, das in einer zweiten
Speichervorrichtung 214 gespeichert ist. Bei einer Ausführung verwendet
der Mikroprozessor 210 die Fehlercodeinformationen der
extrahierten Daten, um die decodierte interaktive Anwendung auf
Fehler hin zu prüfen
oder zu korrigieren. Bei einer Ausführung ist die erste Speichervorrichtung 212 ein
herkömmlicher
Direktzugriffsspeicher (RAM = random access memory), während die
zweite Speichervorrichtung 214 ein herkömmlicher Nur-Lese-Speicher
(ROM = read-only memory) ist. Eine dritte Speichervorrichtung 213,
die ein RAM oder ein Flash-Speicher sein kann, ist mit dem Mikroprozessor 210 verbunden,
um Erinnerungsdaten zu speichern. Ein Vorteil eines Flash-Speichers
liegt darin, daß Software
oder Daten, die in dem BR 120 vorhanden sind, durch eine
empfangene interaktive Anwendung modifiziert werden können.
-
Bei
einer Ausführung
verwendet der BR 120 zudem den Datenextrahierer 206,
um aus den Rundfunkdaten 117 ein Zeitsignal zu extrahieren.
Das Zeitsignal zeigt unter Verwendung einer Standardzeitbasis, wie beispielsweise
der Coordinated Universal Time (UTC) oder der lokalen Zeit des Teilnehmers,
die aktuelle Zeit an. Bei einer anderen Ausführung hat der BR 120 eine
Echtzeituhr, die entweder von dem Teilnehmer oder dem empfangenen
Zeitsignal eingestellt wird. Unabhängig davon hat der BR 120 vorzugsweise
Zugriff auf die aktuelle Zeit und kann dementsprechend Datumspräge- und
Zeitsteuerfunktionen ausführen.
-
Wie
es unten beschrieben ist, verwendet der Mikroprozessor 210 das
in der zweiten Speichervorrichtung 214 gespeicherte Programm
und die in der ersten Speichervorrichtung 212 gespeicherte
interaktive Anwendung, um die interaktive Anwendung auszuführen und
eine Ausgabe bereitzustellen. Das in der zweiten Speichervorrichtung 214 gespeicherte
Programm ist vorzugsweise eine Ausführungsengine 217 zum
Ausführen
einer interaktiven Anwendung, die durch verschiedene Skripte, Formulare,
Definitionen sowie Code- und Graphikquellen definiert ist. Eine
bevorzugte Ausführungsengine
ist die Wink Engine von Wink Communications, Inc., Alameda, Kalifornien.
Der Rundfunkempfänger 120 umfaßt entweder
als Teil der Ausführungsengine 217 oder
als natives Betriebssystem 219, das ebenfalls in der zweiten Speichervorrichtung 214 gespeichert ist,
Timerfunktionen, die als Hintergrundprozesse ablaufen, um von einem
Eingangswert oder einer äquivalenten
Zeitsteuerspezifikation herunterzuzählen.
-
Die
von der Ausführung
der interaktiven Anwendung stammende Ausgabe kann beispielsweise
ein Formular sein, das Informationen oder ein Menü für einen
Fernsehzuschauer darstellt oder das zum Empfang von Benutzereingaben
dient, oder kann eine verborgene oder andersartige Antwort sein,
die Benutzungsdaten des BR 120 oder des Fernsehgeräts enthält oder
Präferenzen
des Zuschauers angibt. Bei der vorliegenden Erfindung können die
Formulare jegliche Art von Informationen darstellen und eine beliebige
Art von Benutzerantwort sein. Hierzu umfaßt der BR 120 vorzugsweise
einen Graphikoverlay-Generator 216, der mit dem Bus 208 verbunden
ist und von der interaktiven Anwendung 115, die in der
ersten Speichervorrichtung 212 gespeichert ist, und dem
Programm angesteuert wird, das in der zweiten Speichervorrichtung 214 gespeichert
ist. Der Graphikoverlay-Generator 216 erzeugt eine graphische
Anzeige in Abhängigkeit
von der interaktiven Anwendung 115. Diese graphische Anzeige
wird auf einer Anzeige 218 angezeigt, typischerweise auf
einem Fernsehgerät,
das mit dem BR 120 verbunden ist. Natürlich wird der Graphikoverlay-Generator 216 typischerweise
nicht verwendet, wenn eine interaktive Anwendung im Verborgenen
ausgeführt
wird.
-
Bei
einer Ausführung
empfängt
der Graphikoverlay-Generator 216 zudem das einem Rundfunkprogramm
entsprechende Rundfunksignal von dem Empfangsgerät 202, um die gleichzeitige
Anzeige des Rundfunkprogramms und der graphischen Aspekte, falls
vorhanden, der interaktiven Anwendung 115 zu ermöglichen,
um beispielsweise Daten in ein dargestelltes Formular einzugeben.
Bei einer Ausführung
ist der Mikroprozessor 210 zudem mit einem Benutzereingabe-Decodierer 222 verbunden,
der mit einem Benutzereingabe-Empfänger 224 gekoppelt
ist, um dem Benutzer die Kommunikation mit dem Mikroprozessor 210 zu
ermöglichen,
damit dieser auf die interaktive Anwendung 115 antworten
kann. Bei einer Ausführung
ist der Benutzereingabe-Decodierer 222 ein herkömmlicher
Infrarot-Fernbedienungsdecodierer.
Der Benutzereingabe-Empfänger 224 ist
vorzugsweise ein herkömmlicher
Infrarotempfänger 224,
mittels dessen der Benutzer eine herkömmliche tragbare Fernbedienung
verwenden kann. Vom Benutzer gedrückte Fernbedienungstasten werden in
codierte Informationssignale übersetzt,
die von dem Benutzereingabe-Empfänger 224 empfangen
werden, und werden von dem Benutzereingabe-Decodierer 222 decodiert
und an den Mikroprozessor 210 gesendet, so daß der Benutzer
mit der interaktiven Anwendung 115 kommunizieren kann.
-
Bei
einer Ausführung
ist der BR 120 ein Kabelfernsehen-Set-Top-Decodierer, der über ein
Breitband-Koaxialkabel mit einem Kabelsystem verbunden ist. Bei
dieser Ausführung
ist der Leitungstreiber 230 ein RF-Modem, das Antworten über das
Koaxialkabel an die Kopfstelle des Kabelsystems senden kann, typischerweise
unter Verwendung eines bandexternen Abschnitts des RF-Spektrums,
wobei der Kommunikationsanschluß 232 eine
standardmäßige RF-Abzweigung
ist. Bei einer anderen Ausführung
ist der BR 120 ein Fernsehgerät, ein Videorekorder oder eine
Set-Top-Box, bei dem bzw. der der Leitungstreiber 230 ein
standardmäßiges Telefonmodem
und der Kommunikationsanschluß 232 eine
standardmäßige RJ-11-Buchse ist.
-
Der
Mikroprozessor 210 kann zudem mit einem herkömmlichen
Infrarot-Befehlscodierer 226 verbunden sein, der eine Infrarot-Befehlseingabe
annimmt und ein Signal für
einen herkömmlichen
Infrarot-Emitter 228 codiert, so daß die interaktive Anwendung 115 externe
Vorrichtungen steuern kann.
-
C. Ausführung der
interaktiven Anwendung
-
3 ist
ein Flußdiagramm,
das die Schritte zum Empfangen und Ausführen einer interaktiven Anwendung
darstellt, die das kompakte Informationsprotokoll gemäß einer
bevorzugten Ausführung
der vorliegenden Erfindung verwendet. Der BR 120 empfängt und
decodiert 310 eine Anwendungsheader-Aufzeichnung (application
header record), die von dem Rundfunkserver 110 vorbereitet,
von der DIU 116 eingefügt
und von dem Sender 118 übertragen
wurde. Die Anwendungsheader-Aufzeichnung beschreibt die Informationen, die
folgen, und enthält
den Identifikationscode der interaktiven Anwendung.
-
Die
Erinnerungsfunktion der interaktiven Anwendung wird durch Definitionen,
Skripte und Befehle beschrieben, die in einer beliebigen Reihenfolge
codiert und gesendet werden können.
Die Definitionen, Skripte und Befehle werden von dem BR 120 empfangen
und decodiert 312 und definieren die Erinnerungs- und Antwortparameter,
die verwendet werden, wenn die interaktive Erinnerungsanwendung
ausgeführt 314 wird.
-
Einige
oder alle der empfangenen interaktiven Erinnerungsanwendungen können in
dem BR 120 gespeichert 312 werden. Bei einer Ausführung wird
die interaktive Anwendung wiederholt gesendet, wodurch ein BR 120 ein
Programm jederzeit einstellen und dennoch die gesamte interaktive
Anwendung empfangen kann. Es können
jegliche gewünschte
Aktualisierungen der gespeicherten interaktiven Anwendung empfangen
und decodiert 316 werden. Wenn es zusätzliche oder aktualisierte
Definitionen, Skripte oder Befehle gibt, können diese solange gesendet
werden, bis die Anwendung vollständig 318 ist.
Bei einer Ausführung
kann ein Beendigungsbefehl gesendet werden, um die interaktive Anwendung
zu beenden 320.
-
Es
kann jederzeit eine neue interaktive Anwendung gesendet werden,
einschließlich
während
eine ursprüngliche
Anwendung ausgeführt
oder eine Antwort gesendet wird. Beispielsweise kann eine neue interaktive
Anwendung, die einem Werbespot entspricht, eine ursprüngliche
Anwendung unterbrechen, die einem Nachrichtenprogramm entspricht,
wobei die vorliegende Erfindung ermöglicht, daß die zuletzt genannte Anwendung
bei Beendigung der zuvor genannten Anwendung den Betrieb wieder
aufnimmt.
-
Bei
anderen Ausführungen,
die andere Arten von Interaktivität, wie beispielsweise URLs,
verwenden, stellt der Rundfunkempfänger 120 die zu der
Art der Interaktivität
gehörende
Decodier-, Analyse- (Parse-) und Ausführungsfunktionalität bereit.
Bei URL-Daten kann der Rundfunkempfänger 120 daher einen
Browser und die geeigneten Mechanismen umfassen, um Webseiten, JAVA-Applets
und dergleichen abzurufen, zu laden und anzuzeigen.
-
D. Automatisierungsserver
-
1. Übersicht über das
Verhalten des Automatisierungsservers
-
Der
Automatisierungsserver 108 ist über eine Schnittstelle mit
dem Zeitplanungssystem 106 verbunden, um die Steuersignale,
die das Zeitplanungssystem an die Rundfunkprogrammquellen 102 liefert,
zu empfangen. Der Automatisierungsserver 108 ist ferner
kommunikationsmäßig mit
dem Rundfunkserver 110 verbunden, um Statusinformationen
darüber
zu empfangen, welche interaktiven Anwendungen zum Senden vorbereitet
oder derzeit auf welchem Kanal gesendet werden. Der Automatisierungsserver 108 verwendet
die Statusinformationen einschließlich der Wiedergabeliste und
die Steuersignale, um bestimmte Befehle für den Rundfunkserver 110 zu
erzeugen. Diese Befehle weisen den Rundfunkserver 110 an,
die Vorbereitung einer zu sendenden interaktiven Anwendung oder
die Ausführung
einer derzeit gesendeten interaktiven Anwendung wahlweise zu steuern.
-
Insbesondere
erzeugt der Automatisierungsserver 108 in Abhängigkeit
von den Steuersignalen Befehle für
den Rundfunkserver 110, die Ausführung einer interaktiven Anwendung
zeitlich einzuplanen bzw. zu terminieren, zu starten, zu stoppen
oder abzubrechen. Der Automatisierungsserver 108 erzeugt
Sequenzen dieser Befehle, um die synchrone Ausführung, Anzeige und/oder Beendigung,
der entsprechenden Interaktivität sowohl
für Werbe-
als auch Fernsehsendungen und andere Rundfunkprogramme zu bewirken.
-
Die
von dem Zeitplanungssystem 106 stammenden Steuersignale
sind entweder explizit oder implizit bestimmten Kanälen zugewiesen.
Anhand der Art der Steuersignale, der Kanalzuweisung und den Informationen
der Wiedergabeliste bestimmt der Automatisierungsserver 108 den
Zustand und die Art des derzeit ausgestrahlten Rundfunkprogramms
oder des darauffolgend ausgestrahlten Rundfunkprogramms, je nachdem, was
zutrifft. Insbesondere bestimmt der Automatisierungsserver 108,
ob das Steuersignal angibt, ob das derzeit gesendete Programm eine
Fernsehsendung oder ein Werbespot ist.
-
Auf
den Empfang eines Steuersignals hin, das angibt, daß ein Werbespot
auf einem bestimmten Kanal gesendet wird (d. h. ein Steuersignal
für eine
der Rundfunkquellen, um Rundfunkdaten für einen Werbespot wiederzugeben),
bestimmt der Automatisierungsserver 108, ob derzeit eine
interaktive Anwendung auf dem Kanal ausgeführt wird, und falls ja, erzeugt
er einen Befehl für
den Rundfunkserver 110, die Ausführung der interaktiven Anwendung
zu unterbrechen (zu stoppen). Der Rundfunkserver 110 überträgt diesen
Befehl an den/die Rundfunkempfänger 120.
Diejenigen Rundfunkempfänger,
die auf den entsprechenden Kanal eingestellt sind, unterbrechen
die Ausführung
der interaktiven Anwendung. Der Automatisierungsserver 108 bricht die
interaktive Anwendung jedoch nicht ab, da der Rundfunkempfänger 120 die
interaktive Anwendung wieder ausführen muß, wenn die Werbung vorbei
ist, und die interaktive Anwendung somit zur unmittelbaren Ausführung zur
Verfügung
stehen sollte, und er sollte die Zustandsinformationen beibehalten,
die er zu Beginn der Werbung hatte.
-
Der
Automatisierungsserver 108 kann zudem bestimmen, ob eine
interaktive Anwendung mit dem Werbespot verbunden ist. Falls ja,
weist der Automatisierungsserver 108 den Rundfunkserver
an, die interaktive Anwendung zu übertragen und ihre Ausführung zu
veranlassen. Falls keine spezielle interaktive Anwendung mit dem
Werbespot verbunden ist, kann der Automatisierungsserver 108 dem
Rundfunkserver signalisieren, mit der Ausführung einer vorgegebenen interaktiven
Anwendung zu beginnen.
-
Irgendwann
empfängt
der Automatisierungsserver 108 ein Steuersignal, welches
das Ende des Werbespots angibt. Auf dieses Steuersignal hin erzeugt
der Automatisierungsserver 108 einen Befehl für den Rundfunkserver 110,
die Ausführung
der interaktiven Anwendung wieder fortzusetzen, wobei der Rundfunkserver
wiederum den Befehl an die Rundfunkempfänger 120 weiterleitet.
Diejenigen Rundfunkempfänger,
die auf den entsprechenden Kanal eingestellt sind, empfangen diesen
Befehl und setzten die Ausführung
der interaktiven Anwendung für
das Fernsehprogramm fort.
-
Für den Zuschauer
entsteht hierdurch der Eindruck, daß die interaktive Anwendung,
die mit der ursprünglichen
Fernsehsendung einherging, während
der Werbung vom Fernsehbildschirm entfernt wird. Interaktive Anwendungen,
die für
Werbespots spezifisch sind, oder vorgegebene Anwendungen werden
während der
Werbung ausgeführt
und angezeigt. Wenn die Werbung vorbei ist und die Fernsehsendung
fortgesetzt wird, erscheint die interaktive Anwendung für die Fernsehsendung
wieder. Wenn die interaktive Anwendung wieder erscheint, enthält sie die
Zustandsinformationen (z. B. aktueller Punktestand), die sie vor
Beginn der Werbung hatte, wodurch die Nutzung der interaktiven Anwendung
durch den Benutzer erhalten bleibt.
-
Es
ist Typisch, daß ein
Rundfunkprogramm, wie beispielsweise eine Fernsehsendung, dieses
Format aus mehreren Segmenten hat, die durch Werbeblöcke voneinander
getrennt sind. Eine Interaktivität,
die dem Fernsehprogramm zugeordnet ist, sollte während allen Segmenten zusammen
mit den Zustandsinformationen ständig
zur Verfügung
stehen. Der Automatisierungsserver 108 erzielt dieses Ergebnis,
indem er aus den Steuersignalen extrahierte Informationen korreliert
und jedes Segment identifiziert, das gesendet wird, um so zu bestimmen,
ob die Vielzahl von Segmenten tatsächlich Teil einer einzigen
Fernsehsendung oder eines anderen Rundfunkprogramms sind und dadurch
mit der gleichen interaktiven Anwendung verbunden sind. Nachdem
er die ansonsten nicht miteinander verbundenen Segmente korreliert
hat, ist der Automatisierungsserver 108 in der Lage, eine
einzige interaktive Anwendung für
das Fernsehprogramm über
mehrere Werbeblöcke hinweg
zu unterbrechen und fortzusetzen. Dieser Ablauf wird im weiteren
detaillierter mit Bezug auf 12 beschrieben.
-
Der
Automatisierungsserver 108 kann als Softwareprodukt implementiert
sein, das auf einem Arbeitsplatzsystem (Workstation) oder einem
Personalcomputer ausgeführt
wird, wie beispielsweise einem mit Intel-Chip und dem Betriebssystem
von Microsoft Corp., oder er kann in einer zweckgebundenen ASIC
oder einer anderen Hardwareausführung
codiert sein.
-
2. Übersicht über die
Funktionen des Automatisierungsservers
-
4 ist
eine Darstellung der funktionalen Architektur des Automatisierungsservers 108 gemäß einer Ausführung der
vorliegenden Erfindung. Bei dieser Ausführung umfaßt der Automatisierungsserver 108 einen Schnittstellenmanager 400.
Der Schnittstellenmanager 400 verwaltet mehrere Kanalschnittstellen 402,
denen jeweils ein oder mehrere Kanäle zugeordnet sind. Jede Kanalschnittstelle 402 empfängt Steuersignale
für den/die
ihr zugeteilten Kanal/Kanäle
von dem Zeitplanungssystem 106 und gibt Befehle an den
Rundfunkserver 110 aus.
-
5 zeigt
die funktionale Struktur einer Kanalschnittstelle 402.
Jedes Kanalschnittstellenmodul 402 umfaßt ein Übersetzermodul 502 und
einen Ereignismanager 504. Das Übersetzermodul 502 empfängt die Steuersignale
von dem Zeitplanungssystem 106 und wandelt diese Signale
in atomare Befehle um. Der Ereignismanager 504 empfängt die
atomaren Befehle und verarbeitet sie zu Befehlen, die der Rundfunkserver 110 versteht.
-
3. Schnittstellenmanager
-
6 zeigt
ein Lebenszyklus-Interaktionsdiagramm des Schnittstellenmanagers 400.
Der Schnittstellenmanager 400 erzeugt und behält sämtliche
Kanalschnittstellen 402 für verschiedene Zeitplanungssysteme 106 bei.
Der Schnittstellenmanager 400 hat drei Hauptphasen: eine
Initialisierungsphase, eine Betriebsphase, und eine Abschaltphase.
Beim Start des Automatisierungsservers 108 erzeugt 602 dieser
einen Schnittstellenmanager 400 und initialisiert ihn.
Während
dieser Initialisierungsphase liest 604 der Schnittstellenmanager 400 eine
Initialisierungs(Ini)-Datei und erzeugt 606 und initialisiert 608 verschiedene
Kanalschnittstellen 402, die für die Arbeit mit dem Zeitplanungssystem 106 erforderlich
sind.
-
Sobald
der Schnittstellenmanager 400 alle notwendigen Objekte
erzeugt und initialisiert hat, geht er in die Betriebsphase über. Während dieser
Phase befiehlt 610 der Schnittstellenmanager 400 den
Betrieb jeder Kanalschnittstelle 402.
-
Für gewöhnlich bleiben
der Automatisierungsserver 108 und sein Schnittstellenmanager 400 lange
in dieser Betriebsphase. Wenn jedoch ein nicht zu behebender Fehler
auftritt oder ein Upgrade für
den Automatisierungsserver 108 erforderlich ist, wird der
Automatisierungsserver 108 abgeschaltet. Während dieser
Abschaltphase befiehlt 612 der Schnittstellenmanager 400 das
Abschalten jeder Kanalschnittstelle 402.
-
7 zeigt
ein Lebenszyklus-Interaktionsdiagramm für jede Kanalschnittstelle 402.
Wie es in 4 gezeigt ist, enthält jede
Kanalschnittstelle 402 ein Übersetzermodul 502 und
einen Ereignismanager 504. Eine Kanalschnittstelle 402 hat
ebenfalls die drei Hauptphasen: Initialisierungsphase, Betriebsphase
und Abschaltphase.
-
Während der
Initialisierungsphase erzeugt 702 und initialisiert 704 sie
das Übersetzermodul 502 und den
Ereignismanager 504. Die Initialisierungsparameter des
Ereignismanagers 504 enthalten die folgenden Informationen.
- • Wie
Rundfunkserverereignisse für
jeden Ereignistyp konfiguriert werden,
- • wo
die interaktive Anwendung zu finden ist,
- • Parameter,
um die Zeitsteuerung des Automatisierungsservers feinabzustimmen,
- • wie
die Verbindung mit dem Rundfunkserver hergestellt wird,
- • wie
bei abrupter Trennung von dem Rundfunkserver zu verfahren ist, und
- • ob
die Ereignisse im vorhinein terminiert sind.
-
Die
Initialisierungsparameter des Übersetzermoduls 502 enthalten
die folgenden Informationen.
- • Wie die
Verbindung mit dem Zeitplanungssystem hergestellt wird,
- • wie
bei abrupter Trennung von dem Zeitplanungssystem zu verfahren ist,
- • für das Zeitplanungssystem
spezifische Parameter, beispielsweise wie ein bestimmter Befehl
interpretiert werden soll, falls er von unterschiedlichen Rundfunkveranstaltern
unterschiedlich verwendet werden kann,
- • Feinabstimmung,
wie die Befehle von dem Zeitplanungssystem zu lesen und zu interpretieren
sind, und
- • reguläre Ausdrücke oder
andere Informationen, die verwendet werden, um Werbespots von Sendungen zu
unterscheiden.
-
Während der
Betriebsphase geht die Kanalschnittstelle 402 in eine Endlosschleife
(Ereignisschleife) 708 über,
um sämtliche
Steuersignale von dem Zeitplanungssystem 106 zu verarbeiten.
Die Kanalschnittstelle 402 kann ferner Befehle direkt von
einem separaten Automatisierungsserver-Client empfangen (z. B. Abschaltbefehle).
Die Kanalschnittstelle 402 fordert 710 atomare
Befehle von dem Übersetzermodul 502 an
und wenn sie ereignisbezogen sind, leitet 712 sie diese
an den Ereignismanager 504 weiter. Wenn ein atomarer Befehl ein
Null-Befehl oder ein Fehler-Befehl ist, dann verarbeitet 714 die
Kanalschnittstelle 402 diese Befehle selber. Wenn ein nicht
zu behebender Fehler auftritt, dann protokolliert sie den Fehler
und verläßt 715 die
Ereignisschleife.
-
Während der
Abschaltphase hat die Kanalschnittstelle 402 einen Abschaltbefehl
erhalten 716 und leitet 718 den Befehl an das Übersetzermodul 502 und
den Ereignismanager 504 weiter, so daß diese sich fehlerfrei abschalten
können.
Sobald sie sich abgeschaltet haben, räumt sich die Kanalschnittstelle 402 selbst
auf und kehrt aus der Ereignisschleife zurück, um sich abzuschalten.
-
4. Übersicht über das Übersetzermodul
-
Man
könnte
sagen, daß jedes
Rundfunkprogramm einen spezifischen „Lebenszyklus" hat. Dieser Lebenszyklus
wird von dem Zeitplanungssystem 106 verwaltet, das gleichermaßen als
Zustandsmaschine in Bezug auf jedes Rundfunkprogramm arbeitet. Das
Zeitplanungssystem 106 stellt jedoch nur eine begrenzte
Menge an Informationen über
ein Rundfunkprogramm bereit, typischerweise nur so viel, wie zur
Steuerung einer Rundfunkquelle benötigt wird.
-
Das Übersetzermodul 502 rekonstruiert
dann für
jedes Rundfunkprogramm aus dem Verhalten der Zustandsmaschine anhand
der begrenzten Informationen, die es von dem Zeitplanungssystem 106 erhält, daß der Lebenszyklus
des Rundfunkprogramms wiederhergestellt werden soll. Dies ermöglicht ihm
wiederum, die entsprechenden atomaren Befehle an den Ereignismanager 504 zu
liefern, um interaktive Anwendungen zu verwalten, die für das Rundfunkprogramm
relevant sein können.
Wie es in 5 gezeigt ist, erzeugt und behält das Übersetzermodul 502 somit
eine Zustandsmaschine 510 für jedes eindeutige Rundfunkprogramm
bei, das es in den Steuersignalen von dem Zeitplanungssystem 106 identifiziert.
-
Jedes Übersetzermodul 502 ist
für die
Art von Zeitplanungssystem 106 spezifisch, mit dem es kommuniziert,
und bildet die Zustände
von dem Zeitplanungssystem 106 auf eine Gruppe von Ereignissen
ab, die das Übersetzermodul 502 verstehen
kann. Da jede Art von Zeitplanungssystem 106 unterschiedliche
Informationen in seinen Steuersignalen angibt, ist es erforderlich,
Fehler, fehlende Informationen und so weiter zu berücksichtigen,
um von der impliziten Zustandsmaschine des Zeitplanungssystems 106 auf
eine Zustandsmaschine abzubilden, die durch das Übersetzermodul 502 identifiziert
ist.
-
Wie
bereits erwähnt,
gibt es verschiedenen Arten von Zeitplanungssystemen 106,
die jeweils unterschiedliche Arten von Steuersignalen ausgeben,
die verschiedene Informationsebenen haben, und somit entspricht
jedes Übersetzermodul 502 einer
bestimmten Art von Zeitplanungssystem 106. Es wird jedoch
angenommen, daß alle
Zeitplanungssysteme 106 hinsichtlich eines „idealen" Zeitplanungssystems 106 beschrieben
werden können,
das die vollständigste
Gruppe von Steuersignalen liefert. Tabelle 1 beschreibt die Arten von
Steuersignalen, die von einem idealen Zeitplanungssystem 106 bereitgestellt
werden, sowie die Daten, die in jedem dieser idealen Arten von Signalen
enthalten sind.
-
Tabelle
1: Steuersignale für
das ideale Zeitplanungssystem
-
Diese
Signale sind in dem Sinne ideal, als daß, falls alle der spezifizierten
Daten vorhanden sind, das Übersetzermodul 502 sehr
leicht den entsprechenden Zustand des Rundfunkprogramms bestimmen
kann, und bilden die Daten, die für eine Kommunikation mit dem
Ereignismanager 504 notwendig sind. Bei nicht idealen Zeitplanungssystemen 106 verwendet
das Übersetzermodul 502 zusätzliche
externe Datenquellen, um die entsprechenden Daten zur Übertragung
an den Ereignismanager 504 zu bestimmen, beispielsweise
die Wiedergabeliste des Rundfunkservers 110, und Informationen über die
Beziehung der interaktiven Anwendungen zu den Rundfunkprogrammidentifizierern,
die in der Datenbank für
interaktive Anwendungen enthalten sind.
-
Das
Preload-Signal ist ein Steuersignal, das typischerweise von einem
Zeitplanungssystem 106 verwendet wird, um zu bewirken,
daß eine
Rundfunkquelle 106 ein Rundfunkprogramm in der Erwartung
lädt, daß es zu
einem späteren
Zeitpunkt gesendet wird. Idealerweise enthält das Signal eine Programm-ID,
die das zu ladende Rundfunkprogramm eindeutig identifiziert. Eine
Kanalidentifikation spezifiziert den Kanal für die Übertragung; der Kanal kann
implizit oder explizit sein. Die Dauer gibt die Dauer des Rundfunkprogramms
an. Dies wird von dem Automatisierungsserver 108 verwendet,
um die Beendigung einer interaktiven Anwendung bei Fehlen eines
expliziten Beendigungssignals von dem Zeitplanungssystem 106 zu
bewirken.
-
Das
Preload-Signal kann zu einer genauen Zeit empfangen werden, oder
auch nicht. Das heißt,
bei einigen Zeitplanungssystemen wird es präzise empfangen (mit der Genauigkeit
eines Bruchteils einer Sekunde vor der Übertragung des Ereignisses).
Bei anderen Zeitplanungssystemen kann es Sekunden bis Stunden vor
der Übertragung
des Ereignisses empfangen werden. Das Preroll-Signal, das Ereignis-Startet-Signal
und das Ereignis-Stoppt-Signal müssen
präzise
zeitlich abgestimmt sein. Falls ein natives Steuersignal sowohl
für das
Preload-Signal als auch eines der anderen Steuersignale verwendet
wird, muß es
präzise
zeitlich abgestimmt sein.
-
Der
Ort der interaktiven Anwendung gibt den Ort der interaktiven Anwendung
an, die mit dem Rundfunkprogramm einhergehen soll. Dieser Ort ist
innerhalb der Datenbank 112 für interaktive Anwendungen spezifiziert
oder kann ein Pfadname zu einem Dateiverzeichnis sein, in dem die
interaktiven Anwendungen gespeichert sind. Der Ereignistyp definiert
die Art von Rundfunkprogramm. Die Anzahl von Typen hängt von
dem Systemdesign ab und kann einfach zwischen Fernsehsendungen und
Werbung unterscheiden oder zudem Programmführer, Untertitel für Hörgeschädigte oder
andere Arten von Rundfunkinhalten identifizieren. Ereignistypen
werden weiter unten mit Bezug auf den Ereignismanager 504 und
in Tabelle 7 beschrieben.
-
Da
diese Signale und ihr Dateninhalt für ein ideales Zeitplanungssystem 106 bestimmt
sind, kein ein tatsächliches
Zeitplanungssystem 106 weniger Signale und nur einige der
spezifizierten Daten oder beides verwenden. Das Übersetzermodul 502 und
der Ereignismanager 504 vervollständigen jedoch alle Daten, die in
diesen Steuersignalen fehlen, und verwalten dadurch den Rundfunkserver 110.
-
Die
idealen Steuersignale vorausgesetzt, kann ein „ideales" Übersetzermodul 502 definiert
werden. Dieses ideale Übersetzermodul 502 bildet
die Steuersignale von dem Zeitplanungssystem 106 in eine
Gruppe atomarer Befehle ab, die von dem Ereignismanager 504 verwendet
werden. Der ideale Umsetzer repräsentiert somit
den Lebenszyklus eines beliebigen Rundfunkprogramms und wie der
Ereignismanager 504 auf die unterschiedlichen Zustände des
Lebenszyklus des Rundfunkprogramms reagieren kann, um Befehle für den Rundfunkserver 110 zu
erzeugen, um die Ausführung
einer interaktiven Anwendung zu steuern, die dem Rundfunkprogramm
zugeordnet ist.
-
Tabelle
2 ist eine Auflistung der atomaren Befehle, die von dem Übersetzermodul
502 erzeugt
werden: Tabelle
2: atomare Befehle für
den Ereignismanager
-
Da
der Rundfunkserver 110 einige Zeit benötigt, um eine interaktive Anwendung
zu terminieren, sendet das Übersetzermodul 502 in
einigen Fällen
einen atomaren Terminierungsbefehl eventuell nicht früh genug,
um eine Synchronisierung der interaktiven Anwendung mit den gesendeten
Videodaten zu erlauben. In diesem Fall können die interaktiven Anwendungen
im vorhinein durch einen anderen manuellen oder automatischen Prozeß auf dem
Rundftunkserver 110 terminiert werden und der Automatisierungsserver 108 kann
Zeit sparen, indem er nach der im vorhinein terminierten interaktiven
Anwendung sucht, anstatt den Rundfunkserver 110 anzuweisen,
sie zu terminieren. In diesem Modus bricht der Automatisierungsserver 108 im
vorhinein terminierte Ereignisse nicht ab, da sie ein weiteres Mal
gesendet werden können.
Statt dessen ist der Prozeß, der
sie terminiert hat, für
ihren Abbruch verantwortlich.
-
Die
tatsächlichen Übersetzermodule 502 für ein spezifisches
Zeitplanungssystem 106 werden von dem idealen Übersetzermodul 502 abgeleitet.
In 8 ist eine Zustandsmaschinenbeschreibung einer
idealen Umsetzerzustandsmaschine 510 gezeigt. Man könnte sagen,
daß jedes
Rundfunkprogramm eine Reihe von Zuständen durchläuft, die durch die Steuersignale
definiert sind.
-
Die
Zustandsmaschine beginnt im Startzustand 800.
-
Aus
diesem Zustand geht das Übersetzermodul 502 in
den geladenen Zustand 802 über. Der geladene Zustand 802 kann
von einem von drei unterschiedlichen idealen Signalen 801 erreicht
werden: einem Preload-Signal, einem Preroll-Signal oder einem Startsignal.
-
Für gewöhnlich ist
das erste Steuersignal 801, das von dem Übersetzermodul 502 empfangen
wird, das Preload-Signal. Bei dem Zeitplanungssystem 106 gibt
dieses Signal an, daß das
Rundfunkprogramm gleich gesendet wird. Der Startzustand 802 wird
ebenfalls wie erwähnt auf
ein Preroll-Signal hin erreicht, falls vorher noch kein Preload-Signal
empfangen wurde. Ein Preroll-Signal gibt ebenfalls an, daß das Rundfunkprogramm
gleich gesendet wird.
-
In
dem geladenen Zustand 802 bestimmt das Übersetzermodul 502 die
entsprechende interaktive Anwendung, die dem Rundfunkprogramm zugeordnet
ist, und terminiert ihre Ausführung.
Das Übersetzermodul 502 bestimmt
so genau wie möglich
die idealen Daten für
diesen Zustand, wie beispielsweise die Rundfunkprogramm-ID, den
Ereignistyp und den Ort der zugeordneten interaktiven Anwendungen
für das
Rundfunkprogramm. Der Ereignistyp beschreibt die Art von Rundfunkprogramm,
wie beispielsweise Fernsehsendung, Werbesport oder Unbekannt. Ereignistypen
werden weiter unten beschrieben. In einigen Fällen ist die Kanalzuweisung
implizit, da das Übersetzermodul 502 einem
spezifischen Kanal zugeordnet ist; in anderen Fällen kann der Kanal explizit
in dem Steuersignal codiert sein.
-
Insbesondere
protokolliert das Übersetzermodul 502 die
aktuelle Zeit und das Signal, das empfangen wurde. Das Übersetzermodul 502 setzt
die Programm-ID für
die zugeordnete interaktive Anwendung auf die Programm-ID fest,
die in dem Steuersignal enthalten ist. Falls nötig berechnet das Übersetzermodul 502 den Ereignistyp
unter Verwendung regulärer
Ausdrücke
(siehe unten). Ansonsten setzt das Übersetzermodul 502 den
Ereignistyp auf Unbekannt fest und überläßt es dem Ereignismanager 504,
diesen anhand von Daten zu bestimmen, die in der interaktiven Anwendung
enthalten sind. Falls nötigt
setzt das Übersetzermodul 502 zudem
den Ort der interaktiven Anwendung auf die Programm-ID fest; wieder
bestimmt der Ereignismanager 504 den tatsächlichen
Ort basierend auf der Programm-ID und der Segmentnummer des Rundfunkprogramms,
soweit erforderlich.
-
Dann
erzeugt das Übersetzermodul 502 einen
Terminierungsbefehl unter Verwendung der erstellten idealen Daten
und gibt diesen an den Ereignismanager 504 aus. Dieser
Terminierungsbefehl weist den Ereignismanager 504 an, zu
bestimmen, ob eine der Programm-ID zugeordnete interaktive Anwendungen
für das Rundfunkprogramm
existiert und falls ja, dem Rundfunkserver zu befehlen, die Sendung
der identifizierten interaktiven Anwendung vorzubereiten.
-
Der
nächste
Zustand ist der vorbereitete Zustand 804. Dieser Zustand
wird von dem geladenen Zustand 802 aus entweder auf ein
Preroll-Signal oder ein Startsignal hin erreicht. Es gibt ebenfalls
automatische Übergänge zu dem
vorbereiteten Zustand 804, falls ein Preroll-Signal oder
ein Startsignal als erstes Signal 801 empfangen wurden.
Das heißt,
falls eines dieser beiden Signale als erstes Signal 801 empfangen
wird, durchläuft
das Übersetzermodul 502 automatisch
den geladenen 802, den vorbereiteten 804 und den
On-Air-Zustand (Sendezustand) 806.
-
Der
vorbereitete Zustand 804 steuert die Zeitsteuerung der
atomaren Befehle, die an den Ereignismanager 504 gesendet
werden. Vor dem Start wird der Automatisierungsserver 108 dahingehend
konfiguriert, wie früh
ein Preroll-Signal vor dem Beginn des Sendens des Zeitplanungssystemereignisses
empfangen werden kann. Dies sind für gewöhnlich 1 bis 10 Sekunden, normalerweise
in Millisekunden gemessen. Bei Empfang eines Preroll-Signals oder
Startsignals tritt das ideale Übersetzermodul
in den vorbereiteten Zustand 804 ein. Der vorbereitete
Zustand 804 pausiert für
X–Y Mikrosekunden,
wobei X angibt, wie früh
das Preroll-Signal kommt,
und Y die Zeit angibt, die der Ereignismanager 504 und
der Rundfunkserver 110 benötigen, um die interaktive Anwendung
(Ereignis) für
das Rundfunkprogramm zu starten. Nachdem diese Zeit verstrichen
ist, geht das Übersetzermodul 502 automatisch
in den On-Air-Zustand 806 über, wo das Ereignis gestartet
wird. Es erzeugt zudem ein Startsignal 805, das von anderen
Ereigniszustandsmaschinen verwendet werden kann (siehe im weiteren
den Abschnitt zu Off-Air-Zustand (Nichtsendezustand)). Es ist zu
beachten, daß,
falls X–Y kleiner
als Null sind oder falls das Steuersignal ein Startsignal ist, der
vorbereitete Zustand 804 überhaupt nicht wartet. Stattdessen
geht es einfach in den On-Air-Zustand 806 über, damit
das Rundfunkserverereingis so bald wie möglich gestartet werden kann.
-
Der „On-Air-Zustand" 806 tritt
automatisch nach dem vorbereiteten Zustand 804 ein. In
diesem Zustand erzeugt das Übersetzermodul 502 einen
atomaren Startbefehl und sendet diesen an den Ereignismanager 504.
In Kombination mit der Pause, die in den vorbereiteten Zustand 804 eingebracht
wird, bewirkt dies, daß die
interaktive Anwendung gestartet wird, um ihre Ausführung mit
dem Rundfunkprogramm zu beginnen.
-
Während des
On-Air-Zustands 806 können
zusätzliche
Signale, die sekundäre
Trigger 809 bilden, empfangen und verarbeitet 810 werden.
Diese sekundären
Trigger können
in der Ausführung
einer zusätzlichen
Funktionalität
resultieren, die der gesendeten interaktiven Anwendung zugeordnet
ist.
-
Ein
Ereignis-Stopsignal 807 beendet ihre Übertragung, was in einem Off-Air-Zustand 808 resultiert. Dieser
Zustand bricht das Ereignis ab. Das heißt das Übersetzermodul 502 erzeugt
einen Abbruchbefehl basierend auf der aktuellen Programm-ID und
sendet diesen an den Ereignismanager 504, um die aktuelle
interaktive Anwendung abzubrechen. Dieser Zustand kann durch Steuersignale
ausgelöst
werden, die anderen Ereignissen zugeordnet sind. Wenn beispielsweise
die nativen Steuersignale des Zeitplanungssystems kein Ereignis-Stopsignal
enthalten, dann bewirkt das Ereignis-Startsignal für das nächste Ereignis,
daß das
vorherige Ereignis gestoppt wird.
-
Das Übersetzermodul 502 erzeugt
auf ein Fehlersignal hin einen Abbruchbefehl basierend auf der aktuellen
Programm-ID und sendet diesen an den Ereignismanager 504,
um die aktuelle interaktive Anwendung abzubrechen.
-
Diese
Zustände
repräsentieren
somit den Lebenszyklus jedes Rundfunkprogramms aus der Perspektive
eines Zeitplanungssystems 106. Anhand dieser Informationen
bestimmt der Automatisierungsserver 108 den Zustand für eine interaktive
Anwendung, die dem Rundfunkprogramm zugeordnet ist, und erzeugt
für diesen
Zustand entsprechende Befehle für
den Rundfunkserver 110.
-
Dementsprechend
dient ein Übersetzermodul 502 dazu,
die Rundfunkprogramme auf einem bestimmten Kanal gemäß dieser
Zustände
zu verwalten. Insbesondere behält
das Übersetzermodul 502 eine
Zustandsmaschine 510 für
jede Rundfunkprogramm-ID bei, das es empfängt. Diese Zustandsmaschine
wird jedesmal dann erzeugt, wenn eine neue Rundfunkprogramm-ID empfangen
wird, und solange beibehalten, bis das Zeitplanungssystem 106 angibt,
daß das
Rundfunkprogramm beendet ist.
-
9 zeigt
ein Flußdiagramm
des Gesamtbetriebs des Übersetzermoduls 502 und
insbesondere seine Abbildungslogik 506. Jedesmal, wenn
das Übersetzermodul 502 ein
Steuersignal von dem Zeitplanungssystem 106 empfängt 900,
bestimmt 902 es, ob sich das Steuersignal auf ein Ereignis
bezieht, das es verwaltet. Ein Ereignis wird durch eine Programm-ID
oder andere Daten angegeben, die für ein Rundfunkprogramm bezeichnend
sind, gegenüber
Fehlersignalen oder anderen Daten, wie beispielsweise Start-, Abschalt-,
Fehler- oder Systemnachrichten.
-
Wenn
das Steuersignal nicht für
ein Ereignis bestimmt ist, bestimmt 904 das Übersetzermodul 502,
ob es sich um ein Fehlersignal handelt. Fehlersignale werden zur
Handhabung an das Ereignismanagermodul 504 weitergeleitet 906.
-
Wenn
das Steuersignal kein Fehlersignal ist, dann wird es ignoriert 910.
-
Wenn
das Signal ein Ereignissignal ist, wendet das Übersetzermodul 502 die
Abbildungslogik 506 an, um unter Verwendung der Programm-ID
des Ereignisses als dem Schlüssel
zu der Zustandsmaschine zu bestimmen, ob das identifizierte Ereignis
ein neues Ereignis oder ein Ereignis ist, für das es bereits eine Zustandsmaschine 510 gibt.
Wenn das Ereignis ein neues Ereignis ist, dann instanziiert 912 das Übersetzermodul 502 eine
neue Zustandsmaschine 510 für die Programm-ID und das Ereignis
und startet 914 die Zustandsmaschine 510.
-
Wenn
es eine existierende Zustandsmaschine gibt, wird das Ereignis-Steuersignal
an die Zustandsmaschine 510 weitergeleitet 916,
die der Programm-ID zugeordnet ist. Die Zustandsmaschine 510 bearbeitet dann
das Ereignis gemäß ihrer
Zustandslogik, wie es oben mit Bezug auf die ideale Zustandsmaschine
beschrieben ist und weiter unten mit Bezug auf die spezifischen
Umsetzertypen näher
erläutert
wird.
-
5. Umsetzertypen
-
Jedes
Zeitplanungssystem 106 erzeugt seine eigene bestimmte Gruppe
von Steuersignalen, die von einem Übersetzermodul 502 interpretiert
werden. Die folgenden Abschnitte beschreiben, wie spezifische Übersetzermodule
hinsichtlich des Zustandsdiagramms des idealen Übersetzermoduls implementiert
sind. Das heißt
die für
das Zeitplanungssystem spezifischen Steuersignale können auf
die generischen Steuersignale in dem idealen Umsetzer abgebildet
werden. Jedes spezifische Übersetzermodul 502 durchläuft die
gleichen Zustände,
wie es für
das ideale Übersetzermodul
beschrieben wurde. Die Zustandsaktionen für jeden spezifischen Umsetzer
variieren jedoch leicht, um Unterschiede bei den Steuersignalen,
die sie empfangen, zu berücksichtigen.
-
Die
Abbildung von einer idealen Umsetzerzustandsmaschine auf eine spezifische
Zustandsmaschine für
jede Art von Umsetzer ist in den folgenden Tabellen 4–6 zusammengefaßt. Die
Spaltenüberschriften
für diese
Tabellen sind in Tabelle 3 definiert: Tabelle
3: Spaltenüberschriften
für Tabellen
4–6
-
a) Umsetzertyp 1: grundlegendes
Zeitplanungssystem
-
Ein
grundlegendes Zeitplanungssystem 106 ist ein System, das
in seinen Steuersignalen sehr wenige Daten codiert, typischerweise
nicht mehr als eine Programm-ID. Die Interpretation dieses Steuersignals über die
Zustandsmaschine des Umsetzers beinhaltet die Erzeugung und Interferenz
entsprechender Daten, um die idealen Daten für ein ideales Steuersignal
wiederherzustellen. Ein Beispiel eines grundlegendes Zeitplanungssystems 106 ist
ein Louth ADC-100.
-
Bei
einer Ausführung
wirkt der Automatisierungsserver 108 mit einem grundlegenden
Zeitplanungssystem zusammen, indem er einen Subtitler nachahmt.
Bei einer Ausführung,
wie beispielsweise bei einem Louth-Zeitplanungssystem, ist der nachgeahmte
Subtitler der Cavena Subtitler. Normalerweise sendet das grundlegende
Zeitplanungssystem 106 Signale an den Subtitler, um einen
Untertitel vorzubereiten, einen Untertitel zu starten und einen
Untertitel zu beenden, der über
den Videoprogrammdaten eines Rundfunkprogramms angezeigt wird. Bei
der vorliegenden Erfindung verwendet der Automatisierungsserver 108 diese Steuersignale,
um interaktive Anwendungen mit dem Video zu synchronisieren.
-
Einige
grundlegende Zeitplanungssysteme 106 können vorzugsweise Preroll-Informationen
liefern. In diesem Fall sendet es ein Vorbereitungssignal eine konfigurierbare
Anzahl von Sekunden vor dem eigentlichen Start des Rundfunkprogramms.
Der Automatisierungsserver 108 verwendet diese Informationen,
um die interaktive Anwendung vorzuladen und früher zu starten, so daß sie den
Benutzer direkt erreicht, wenn das Rundfunkprogramm beginnt. Dementsprechend
durchläuft
der Umsetzertyp 1 den geladenen 802, den vorbereiteten 804 und
den On-Air-Zustand 806, wenn er das Vorbereitungssignal
empfängt.
Dies wird in Tabelle 4 als ein automatischer Übergang beschrieben.
-
Wenn
der Automatisierungsserver 108 ein Startsignal 805 von
einem grundlegenden Zeitplanungssystem 106 empfängt, weiß er, daß die interaktive
Anwendung unter Verwendung des Vorbereitungssignals bereits gestartet
wurde und ignoriert somit das Startsignal. Wenn bei dem Steuersignal
des grundlegendes Zeitplanungssystems ein Fehler auftritt, beendet
der Automatisierungsserver 108 die aktuelle interaktive
Anwendung und geht in den Fehlerzustand 812 über.
-
Tabelle
4 faßt
die Beziehungen zwischen nativen Steuersignalen für ein grundlegendes
Zeitplanungssystem 106, den idealen Steuersignalen und
den Zustandsübergängen für die Zustandsmaschine
des idealen Übersetzermoduls 502 zusammen.
-
Tabelle
4: Steuersignale und Zustandsübergänge für Umsetzer
für ein
grundlegendes Zeitplanungssystem
-
b) Umsetzertyp 2: codebasiertes
Zeitplanungssystem
-
Eine
zweite Art von Zeitplanungssystem 106 ist ein System, das
Identifikationscodes verwendet, um zwischen Fernsehsendungen und
Werbung zu unterscheiden. Ein Beispiel für diese Art von Zeitplanungssystem 106 ist
ein auf ISCI-Codes basierendes System, wie es beispielsweise von
ESPN Inc. bei seinen Rundfunksystemen verwendet wird. Bei dieser
Art von System sind ISCI-Codes in Rundfunkprogrammen, wie beispielsweise
Werbung, aber nicht in Fernsehsendungen vorhanden. Diese Arten von
Codes können
direkt von dem Zeitplanungssystem 106 bereitgestellt werden
oder indirekt durch Aufzeichnung auf den Medien (z. B. Videoband)
in Verbindung mit den Rundfunkprogrammen.
-
Zu
andere Arten von codebasierten Systemen gehören solche, die Codes verwenden,
die individuell interaktive Anwendungen, URLs, URIs, und dergleichen
identifizieren.
-
Der
Automatisierungsserver 108 wirkt mit einem codebasierten
Zeitplanungssystem 106 durch einen VITC-Zeitcodeleser oder
einem ähnlichen
Zeitcodeleser zusammen. Das codebasierte Zeitplanungssystem sendet
während
der Werbung ISCI-Informationen durch einen VITC-Zeitcode, und keine
ISCI-Informationen während
Sendungen. Der Automatisierungsserver 108 verwendet diese
Informationen, um wahlweise interaktive Anwendungen während Werbespots
und Sendungen hinzuzufügen.
Da die Steuersignale des Zeitplanungssystems eine Sendung nicht
anhand der Programm-ID spezifizieren, wird nur eine vorgegebene
interaktive Anwendungen unterstützt.
-
Wenn
das Steuersignal im Allgemeinen das Vorhandensein eines ISCI-Codes
oder ähnlichen
Codes enthält,
weiß der
Umsetzer 502, daß ein
Werbespot begonnen hat. Dementsprechend durchläuft die Zustandsmaschine 510 den
geladenen, den vorbereiteten und den On-Air-Zustand und startet die interaktive
Anwendung. Diese Übergänge erfolgen
automatisch, wie es in Tabelle 5 als automatische Übergänge beschrieben ist.
Im geladenen Zustand wird der ISCI-Code (oder ein anderer Code,
wie beispielsweise URL, Anwendungsidentifizierer und dergleichen)
als Programm-ID (e.g. Speichern des Codes als Programm-ID) für ideale
Daten verwendet. Dies ermöglicht
dem Ereignismanager 504, die entsprechende interaktive
Anwendung zu bestimmen.
-
Bei
einer Änderung
des ISCI-Codes weiß der
Umsetzer 502, daß ein
neuer Werbespot begonnen hat. Dementsprechend durchläuft die
Zustandsmaschine 510 den Off-Air-Zustand und stoppt den
interaktiven Inhalt, wodurch der atomare Abbruchbefehl erzeugt wird,
um die aktuelle interaktive Anwendung für den Werbespot abzubrechen.
Der Umsetzer 502 erzeugt eine neue Zustandsmaschine 510 für den neuen
ISCI-Code, die Zustandsmaschine 510 durchläuft den
geladenen, den vorbereiteten und den On-Air-Zustand und ein atomarer
Startbefehl wird erzeugt, um die interaktive Anwendung des neuen
Werbespots zu starten.
-
Wenn
das Steuersignal keinen ISCI-Code enthält, weiß der Umsetzer 502,
daß eine
Fernsehsendung begonnen hat (oder gerade läuft). Dementsprechend durchläuft die
Zustandsmaschine 510 den Off-Air-Zustand und stoppt den
interaktiven Inhalt, wodurch der atomare Abbruchbefehl erzeugt wird,
um die aktuelle interaktive Anwendung für den Werbespot abzubrechen.
Basierend auf dem gleichen Signal (d. h. dem Fehlen eines jeglichen
ISCI-Codes), wird eine neue Zustandsmaschine 510 für eine unbekannte
Programm-ID mit einem Sendungsereignistyp erzeugt. Wie unten beschrieben,
bestimmt der Ereignismanager, daß diese Programm-ID der vorgegebenen
Sendung zugeordnet sein sollte. Die Zustandsmaschine 510 durchläuft den
geladenen, den vorbereiteten und den On-Air-Zustand und erzeugt
einen ato maren Startbefehl, um eine vorgegebene Anwendung für die Fernsehsendung
zu starten. Wenn wieder ein ISCI-Code erfaßt wird, durchläuft die Zustandsmaschine 510 den
Off-Air-Zustand
und ein atomarer Abbruchbefehl wird erzeugt.
-
Da
es bei codebasierten Systemen häufig
kleine Lücken
ohne Daten gibt (insbesondere während Übergängen zwischen
Codes), wartet der Umsetzer 502 eine konfigurierbare Anzahl
von Millisekunden, bevor er das Fehlen von ISCI-Codes erfaßt. Dies
verhindert falsche Erfassungen.
-
Wenn
bei dem Steuersignal ein Fehler auftritt, bricht die Zustandsmaschine 510 zudem
den aktuellen interaktiven Inhalt ab und geht in den Fehlerzustand über.
-
Tabelle
5 faßt
die Beziehungen zwischen nativen Steuersignalen für ein codebasiertes
Zeitplanungssystem 106, den idealen Steuersignalen und
den Zustandsübergängen für die Zustandsmaschine
des idealen Übersetzermoduls 502 sowohl
für Werbeereignisse
als auch das vorgegebene Sendungsereignis zusammen.
-
Tabelle
5: Steuersignale und Zustandsübergänge für Umsetzer
für codebasierte
Zeitplanungssysteme
-
-
c) Umsetzertyp 3: wiedergabelistebasiertes
Zeitplanungssystem
-
Eine
dritte Art von Zeitplanungssystem 106, das durch die vorliegende
Erfindung unterstützt
wird, ist ein wiedergabelistebasiertes Zeitplanungssystem. Bei dieser
Art von System identifizieren die Steuersignale das gesendete Programm
und seine Dauer, um so die Elemente einer Wiedergabeliste bereitzustellen;
in einigen Fällen
ist auch der Programmtitel des Rundfunkprogramms enthalten. Ein
Beispiel für
diese Art von Zeitplanungssystem ist das Mehrfachkassettensystem
Library Management System (LMS) BZCA-1100, das mit der BZCA-1102
Spot Reel Option Software von Sony Corporation läuft.
-
Der
Automatisierungsserver 108 wirkt mit dieser Art von Zeitplanungssystem 106 zusammen,
indem er als Steueranschluß fungiert.
Der Steueranschluß zeigt
eine Übertragungswiedergabeliste
an, die eine Tabelle geplanter Ereignisse ist. Der LMS BAG-1200
Steueranschluß ist
ein Beispiel. Die Wiedergabeliste enthält für jedes Rundfunkprogramm Ereignisinformationen,
wie beispielsweise Programm-ID, Programmtitel, Dauer.
-
Das
wiedergabelistebasierte Übersetzermodul 502 erfaßt und analysiert
syntaktisch alle Ereignisinformationen, die es von dem Zeitplanungssystem 106 empfängt. Ereignisse
erschei nen vor ihrer Sendezeit auf der Übertragungswiedergabeliste.
Wenn ein Ereignis (z. B. Rundfunkprogramm) auf der Übertragungswiedergabeliste
erscheint, lädt
der Umsetzer 502 die interaktive Anwendung für dieses
Ereignis vor und geht in den geladenen Zustand 802 über. Das
Zeitplanungssystem 106 liefert Preroll-Informationen für jedes
Ereignis, indem es einen Ereignisstatus eines Abspielsteuersignals
eine konfigurierbare Anzahl von Sekunden sendet, bevor das Ereignis
gesendet wird.
-
Das Übersetzermodul 502 durchläuft den
vorbereiteten 804 und den On-Air-Zustand 806 und
startet die interaktive Anwendung, wenn es das Abspielsteuersignal
für ein
Ereignis empfängt.
Wenn der Umsetzer 502 aufgrund eines Netzproblems oder
eines anderen Problems kein Abspielsteuersignal für ein Ereignis
bekommt und das Sendesteuersignal oder Online-Steuersignal für ein Ereignis empfängt, dann
geht er in den On-Air-Zustand 806 über und startet die interaktive
Anwendung. In diesem Fall kann der Automatisierungsserver 108 zwar
nicht den Vorteil von Preroll-Informationen nutzen, aber die interaktive
Anwendung wird dennoch gestartet.
-
Wenn
das Übersetzermodul 502 ein
On-Air-Signal (Sendesignal) oder Online-Signal empfängt und sich
noch nicht in dem vorbereiteten Zustand 804 befindet, dann
behandelt es das On-Air-Signal/Online-Signal als Abspielsignal und
geht erst in den vorbereiteten Zustand 804 und dann automatisch
in den On-Air-Zustand 806 über.
-
Wenn
Ereignisdaten von der Wiedergabeliste verschwinden, geht das Übersetzermodul 502 in
den Off-Air-Zustand 808 über und weist den Ereignismanager 504 an,
die aktuelle interaktive Anwendung abzubrechen.
-
Wenn
irgendein anderer Fehler auftritt, wie beispielsweise ein Verlust
der Verbindung zu dem Zeitplanungssystem, dann stoppt der Automatisierungsserver 108 die
aktuelle interaktive Anwendung und geht in den Fehlerzustand über.
-
Tabelle
6 faßt
die Beziehungen zwischen nativen Steuersignalen für ein wiedergabelistebasiertes
Zeitplanungssystem 106, den idealen Steuersignalen und
den Zustandsübergängen für die Zustandsmaschine des
idealen Übersetzermoduls 502 zusammen.
-
Tabelle
6: Steuersignale und Zustandsübergänge für Umsetzer
für wiedergabelistebasierte
Zeitplanungssysteme
-
-
6. Berechnung des Ereignistyps
durch den Umsetzer basierend auf regulären Ausdrücken
-
Zeitplanungssysteme 106,
die den Ereignistyp einer Programm-ID verfolgen, können diese
Informationen direkt an den Automatisierungsserver 108 senden.
Da viele Zeitplanungssysteme 106 dieses Merkmal nicht unterstützen, verwenden
einige Rundfunkveranstalter 114 Programm-IDs, die zwischen
unterschiedlichen Arten von Programmen, wie beispielsweise Sendungen
und Werbung, unterscheiden. Der Automatisierungsserver 108 macht
sich diese Informationen zunutze. Der Umsetzer 502 verwendet
diese Informationen, um zu bestimmen, welche Art von Ereignis terminiert
werden soll. Die Programm-ID von Werbespots kann beispielsweise
das Präfix „VT" und die Programm-ID
einer Fernsehsendung ein anderes Präfix oder gar keine haben. Der
Automatisierungsserver 108 verwendet reguläre Ausdrücke mit
den Programm-IDs, um zwischen Webespots und Sendungen zu unterscheiden.
Der Ereignistyp wird auf Werbespot festgelegt, wenn die Programm-ID
die Kriterien für
einen Werbespot erfüllt,
oder wird basierend auf einer Analyse regulärer Ausdrücke so festgelegt, daß er zeigt,
ob die Programm-ID die Kriterien für eine Sendung erfüllt. Wenn
der Rundfunkveranstalter 114 die Programm-IDs nicht so
nennt, um zwischen Sendungen und Werbung zu unterscheiden, dann
wird der Ereignistyp auf Unbekannt festgelegt. In solchen Fällen sucht
der Ereignismanager 504 in der eigentlichen Datei der interaktiven
Anwendung nach einem Flag, das ihm sagt, ob der Inhalt für einen
Werbespot oder eine Sendung bestimmt ist.
-
7. Überblick über den Ereignismanager
-
Unter
erneuter Bezugnahme auf 5 empfängt der Ereignismanager 504 die
verschiedenen atomaren Befehle 514 von der Zustandsmaschine 510 des Übersetzermoduls
und weist daraufhin den Rundfunkserver 110 an, seine interaktiven
Anwendungen zu steuern.
-
Im
allgemeinen sendet der Rundfunkserver 110 bei einem herkömmlichen
System ohne Automatisierungsserver 108 interaktive Anwendungen
an eine Dateneinfügeeinheit 116 gemäß einer
vordefinierten Wiedergabeliste, die eine Liste von Rundfunkserverereignissen
ist.
-
Über die
Steuersignale, die von einem Zeitplanungssystem 106 bereitgestellt
werden, kann der Automatisierungsserver 108 jedoch die
Erzeugung der Wiedergabeliste des Rundfunkservers automatisieren
und dynamisch Ereignisse zu der Wiedergabeliste des Rundfunkservers
hinzufügen,
von ihr entfernern und modifizieren, um beinahe in Echtzeit erfolgte Änderungen
der Wiedergabeliste des Zeitplanungssystems abzugleichen. Während die
Wiedergabeliste des Rundfunkservers Ereignisse für alle Kanäle enthalten kann, verwaltet der
Ereignismanager 504 lediglich Ereignisse auf den Kanälen, für die er
atomare Befehle empfängt.
-
5 zeigt,
wie das Übersetzermodul 502 atomare
Befehle 514 an den Ereignismanager 504 sendet. Der
Ereignismanager 504 interpretiert die atomaren Befehle 514,
um einen Strom primitiver Befehle für den Rundfunkserver 110 zu
erzeugen. Wenn der Ereignismanager 504 atomare Befehle 514 empfängt, bildet
er die darin enthaltene Programm-ID über die Abbildungslogik 508 auf
spezifische Rundfunkserver ab. Wenn für eine bestimmte Programm-ID
kein entsprechendes Rundfunkserverereignis existiert, dann erzeugt
der Ereignismanager 504 ein Rundfunkserverereignis. Im
allgemeinen erzeugt, modifiziert oder zerstört der Ereignismanager 502 Rundfunkserverereignisse
je nach Bedarf.
-
Der
Ereignismanager 504 behält
für jedes
Rundfunkserverereignis, das er verwaltet, eine separate Zustandsmaschine 512 bei.
Jede Zustandsmaschine ist einem Ereignis durch die Programm-ID des
Ereignisses zugeordnet. Atomare Befehle von dem Übersetzermodul 502 werden
dann basierend auf ihren Programm-IDs an die Zustandsmaschinen geleitet.
Dieser Prozeß wird
im weiteren in dem Abschnitt Abbildungslogik für atomare Befehle beschrieben.
Die Ereigniszustandsmaschine 512 ist für die Erzeugung der korrekten
primitiven Befehle für
den Rundfunkserver verantwortlich. Dies wird im weiteren detailliert
in dem Abschnitt Ereigniszustandsmaschine beschrieben.
-
Die
Verwendung von zwei Zustandsmaschinen des Übersetzermoduls 502 und
des Ereignismanagers 504 ermöglicht, daß beliebige der verschiedenen
Arten von Zeitplanungssystemen 106 leicht mit dem Automatisierungsserver 108 zusammenwirken
können,
während
eine relativ einfache und effiziente Implementierung des Ereignismanagers 504 möglich ist.
Dadurch kann ein neues Übersetzermodul 502 für den Betrieb
mit einem neuen Zeitplanungssystem 106 erzeugt werden,
ohne daß der
Ereignismanager 504 verändert
werden muß.
-
Da
unterschiedliche Ereignistypen dazu führen können, daß sich die Abbildungslogik 508 für atomare Befehle
und die Ereigniszustandsmaschine 512 anders verhalten,
definiert der folgende Abschnitt die verschiedenen Ereignistypen,
die der Ereignismanager 504 unterstützt.
-
a) Ereignistypen
-
Ereignistypen
bestimmen, wie sich ein Rundfunkserverereignis verhalten soll. Es
gibt drei verschiedenen Kategorien, die ein Ereignisverhalten definieren.
- • Art
des Programms
- • Segmentierung
und
- • Interaktivität
-
Das
Programm kann ein Werbespot, eine Sendung oder ein unbekanntes Programm
sein. Ein Werbespot ist ein eigenständiges Fernsehprogramm von
normalerweise kurzer Dauer (30 bis 120 Sekunden). Eine Sendung ist
ein Fernsehprogramm, das ein oder mehrere Segmente enthält. Zwischen
Segmenten einer Fernsehsendung werden normalerweise ein oder mehrere
Werbespots gezeigt. Wenn der Automatisierungsserver 108 die
Art des Programms nicht anhand der Steuersignale bestimmen kann,
die von dem Zeitplanungssystem 106 gesendet werden, wird
die Art auf Unbekannt festgesetzt. Für gewöhnlich können unbekannte Ereignisse wie
Werbespots als eigenständige
Programme oder als Fernsehsendungen behandelt werden.
-
Die
Art des Programms und die Segmentierung sind eng miteinander verbunden.
Bei einer bevorzugten Ausführung
werden Fernsehsendungen immer als segmentiert und Werbesports als
nicht segmentiert behandelt. Unbekannte Programme können als
beides behandelt werden. Die Behandlung segmentierter Fernsehsendungen
wird weiter unten mit Bezug auf 12 beschrieben.
-
Interaktivität (z. B.
eine interaktive Anwendung) kann entweder ein normales interaktives
Ereignis oder ein vorgegebenes interaktives Ereignis sein. Ein normales
Ereignis ist ein Ereignis, dem eine spezifische interaktive Anwendung
zugeordnet ist. Wenn der Ereignismanager 504 keine spezifische
interaktive Anwendung finden kann, die einem Ereignis in der Datenbank 112 für interaktive
Anwendungen zugeordnet ist, kann er ersatzweise für die Dauer
des Ereignisses eine vorgegebene interaktive Anwendung einsetzen.
Zudem kann ein Nullereignis als das vorgegebene Ereignis spezifiziert
sein, was bedeutet, daß für die Dauer
des Ereignisses keine interaktive Anwendung übertragen wird.
-
Die
folgende Tabelle zählt
sechs Ereignistypen auf und faßt
das Verhalten der Ereignistypen zusammen.
-
-
Ereignistypen
werden auch verwendet, um die Einstellungen des Rundfunkserverereignisses
zu bestimmen.
-
b) Bestimmung eines Ereignistyps
-
Der
Ereignistyp wird zunächst
von dem Übersetzermodul 502 bestimmt
und in dem atomaren Befehl 514 an den Ereignismanager 504 weitergeleitet.
In einigen Fällen
verfügt
das Übersetzermodul 502 nicht über ausreichend
Informationen, um den tatsächlichen
Ereignistyp zu bestimmen. Das Übersetzermodul 502 führt zwar
eine anfängliche
Bestimmung des Ereignistyps durch, aber der Ereignismanager 504 kann
den Ereignistyp ändern,
wenn er bessere Informationen hat. Der Ereignismanager 504 verfügt über zwei
Arten von Informationen, die das Übersetzermodul 502 nicht
hat.
- 1. Der Ereignismanager 504 weiß, ob die
interaktive Anwendung für
die Programm-ID des Ereignisses existiert, und
- 2. der Ereignismanager 504 kann die Informationen über den
Ereignistyp aus der interaktiven Anwendung erhalten. Die Anwendung
enthält
Informationen, die angeben, ob sie unterbrochen werden kann oder
nicht. Der Automatisierungsserver 108 nimmt an, daß alle Fernsehsendungen
unterbrochen und alle Werbesendungen nicht unterbrochen werden können.
-
Durch
Kombination der Informationen des Ereignismanagers und des Übersetzermoduls
kann der Ereignismanager
504 den richtigen Ereignistyp
bestimmen, wie es in der nachfolgenden Tabelle zusammengefaßt ist: Tabelle
8: Typbestimmung durch den Ereignismanager
- *: Es ist zu beachten, daß der Ereignistyp
des Übersetzermoduls
stets den Ereignistyp der interaktiven Anwendung aufhebt.
-
c) Abbildungslogik für atomare
Befehle
-
Der
Ereignismanager 504 behält
eine separate Zustandsmaschine 512 für jedes Ereignis bei, das er verwaltet.
Wenn der Ereignismanager 504 atomare Befehle 514 von
dem Übersetzermodul 502 empfängt, muß er die
Programm-ID des atomaren Befehls dem entsprechenden Rundfunkserverereignis
zuordnen und den atomaren Befehl an die entsprechende Zustandsmaschine 512 weiterleiten.
Dieser Prozeß wird
von der Abbildungslogik 508 des Ereignismanagers gehandhabt.
-
Die
Abbildungslogik 508 erzeugt und behält eine Ereigniszuordnungstabelle
bei, die Programm-IDs den IDs eines Rundfunkserverereignisses zuordnet.
Nur terminierte atomare Befehle können bewirken, daß neue Rundfunkserverereignisse
erzeugt werden. Folglich können
nur sie eine neue Zeile zu der Ereigniszuordnungstabelle hinzufügen, die
eine Programm-ID der ID eines neuen Rundfunkserverereignisses zuordnet. Die
Zuordnung wird aus der Tabelle entfernt, wenn das Ereignis seine
Zustandsmaschine 512 durchlaufen hat und die Zustandsmaschine
zerstört
wird.
-
10 zeigt
das Zustandsverhalten einer Ausführung
der Abbildungslogik 508. Tabelle 9 beschreibt diese Figur.
-
Tabelle
9: Zustandsmaschine des Ereignismanagers
-
Bei
Erzeugung einer neuen Ereigniszustandsmaschine bestimmt die Abbildungslogik 508 den
Ereignistyp gemäß den Regeln
in Tabelle 8 oben.
-
Für normale,
nicht segmentierte interaktive Ereignisse gibt es eine Eins-zu-Eins-Abbildung
zwischen dem Zeitplanungssystemereignis und dem Rundfunkserverereignis
in der Ereigniszuordnungstabelle. Im folgenden werden zwei zu beachtende
Ausnahmen beschrieben.
-
d) Ereignisabbildung im
Spezialfall
-
In
allgemeinen gibt es eine Eins-zu-Eins-Abbildung zwischen den Zeitplanungssystemereignissen
und dem Rundfunkserverereignissen. Zwei zu beachtende Ausnahmen
werden hier beschrieben.
-
(i) Vorgegebene Ereignisse
-
Beim
Start erzeugt der Ereignismanager 504 drei Rundfunkserverereignisse
(eines für
jeden vorgegebenen Ereignistyp). Dies sind die ersten drei Ereignisse
in der Ereigniszuordnungstabelle. Wie bereits oben mit Bezug auf
die Ereignistypen beschrieben, werden die vorgegebenen Ereignisse
ausgewählt,
wenn keine interaktive Anwendung für die spezifizierte Programm-ID
gefunden werden kann. Um dies zu unterstützen, ermöglicht die Ereigniszuordnungstabelle,
daß viele
Programm-IDs auf dieselbe vorgegebene Ereignis-ID abbilden. Wenn
die Abbildungslogik 508 einen atomaren Terminierungsbefehl
empfängt,
der keiner interaktiven Anwendung zugeordnet ist, ordnet die Abbildungslogik 508 die
Programm-ID dem vorgegebenen Ereignis zu, das dem Ereignistyp entspricht,
der in dem atomaren Terminierungsbefehl spezifiziert ist. Die Abbildungslogik 508 leitet
den atomaren Terminierungsbefehl nicht weiter, da das vorgegebene
Ereignis bereits terminiert ist.
-
(ii) Segmentierte Ereignisse
-
Wie
bereits erwähnt
kann eine einzige Fernsehsendung in mehrere Teile segmentiert sein.
Für das Zeitplanungssystem 106 ist
die Sendung eine Reihe mehrerer Ereignissen, die jeweils ihre eigene
Programm-ID haben. Für
den Rundfunkserver ist die Fernsehsendung ein einzelnes Ereignis,
das für
jedes Segment unterbrochen und fortgesetzt wird. Folglich überbrückt die
Ereigniszuordnungstabelle diese Lücke, indem sie mehrere Programm-IDs
an ein einziges Rundfunkserverereignis anpaßt.
-
Wenn
das Zeitplanungssystem 106 Segmentierungsinformationen
in seiner Programm-ID bereitstellt, erzeugt die Ereignisabbildungslogik 508 eine
neue Ereigniszustandsmaschine 512 für das erste Segment der Fernsehsendung
und bildet automatisch alle anderen Segmente auf die gleiche Ereigniszustandsmaschine 512 ab.
-
Leider
stellen die meisten Zeitplanungssysteme diese Informationen nicht
bereit. Somit bestimmt der Automatisierungsserver 108,
ob zwei unterschiedliche Programm-IDs der gleichen Fernsehsendung
zugeordnet sind, und zwar indem er bestimmt, ob beide Programm-IDs
auf die gleiche interaktive Anwendung in der Datenbank 112 für interaktive
Anwendungen abge bildet sind. Wenn die Abbildungslogik 508 bestimmt,
daß die neue
Programm-ID für
ein anderes Segment einer Fernsehsendung bestimmt ist, das bereits
in der Ereigniszuordnungstabelle aufgelistet ist,
- 1.
ordnet sie die neue Programm-ID dem bereits existierenden Rundfunkserverereignis
in der Ereigniszuordnungstabelle zu, und
- 2. leitet den atomaren Terminierungsbefehl nicht weiter, da
die Sendung bereits terminiert ist.
-
Dies
wird weiter unten in den Abschnitten Ereigniszustandsmaschine und
Segmentierung detaillierter beschrieben.
-
e) Primitive Befehle für den Rundfunkserver
-
Die
Zustandsmaschinen des Ereignismanagers geben vier primitive Befehle
für den
Rundfunkserver aus – Terminieren,
Starten, Stoppen und Abbrechen – um
den Rundfunkserver zu steuern. Diese sind analog zu den atomaren
Befehlen mit den gleichen Namen. Terminieren bereitet eine interaktive
Anwendung zum Senden vor und fügt
sie der Wiedergabeliste des Rundfunkservers hinzu. Start beginnt
die Übertragung
der interaktiven Anwendung und Stop beendet deren Übertragung.
Abbrechen stoppt die interaktive Anwendung (falls diese noch nicht
gestoppt wurde), entfernt die interaktive Anwendungen aus dem Speicher
und löscht das
zugeordnete Ereignis von der Wiedergabeliste des Rundfunkservers.
-
Bei
alternativen Ausführungen
können
diese speziellen Befehle erweitert werden, so daß sie andere komplexere Verhalten,
wie beispielsweise auf unbestimmte Zeit unterbrechen, für ein bestimmtes
Zeitintervall unterbrechen, umgehend fortsetzen, nach einem bestimmten
Zeitintervall fortsetzen, und so weiter, enthalten.
-
Zusätzlich ist
der Inhalt der Befehle, das heißt
die Art von Interaktivität,
die durch die Befehle verwaltet wird, variabel, wiederum in Abhängigkeit
von den Arten von Interaktivität,
die von dem Systemdesigner entschieden wird. Somit können die
Befehle Trigger für
eine vorher gesendete Interaktivität, Formulare oder andere Daten,
URLs, Internetseiten, Java-Applets oder eine andere Hypermedia-Interaktivität und dergleichen terminieren
oder starten.
-
B. Ereigniszustandsmaschine
-
Atomare
Befehle enden in einer bestimmten Ereigniszustandsmaschine 512.
Jede Ereigniszustandsmaschine 512 ist einem Rundfunkserverereignis
zugeordnet und steuert alle Vorgänge
für dieses
Ereignis. Die Abbildungslogik 508 für atomare Befehle bestimmt,
welche Zu standsmaschine 512 einen spezifischen atomaren
Befehl empfängt
(mit wenigen Ausnahmen, die unten erläutert werden).
-
11 zeigt
das Verhalten einer Ereigniszustandsmaschine 512 mit Details
für Werbespots,
Fernsehsendungen und vorgegebene Ereignistypen. Die Ereigniszustandsmaschine
verfolgt den Lebenszyklus eines Ereignisses. In 11 sind
Zustandsübergänge wie
folgt bezeichnet, um anzugeben, auf welche Art von Ereignis sie
zutreffen:
- C:
- Übergang zutreffend für Werbeereignisse
- S:
- Übergang zutreffend für Fernsehsendungsereignisse
- D:
- Übergang zutreffend für vorgegebene
Ereignisse
-
Im
allgemeinen durchläuft
ein Ereignis die folgenden Zustände:
- Terminiert 1102: Ein atomarer Terminierungsbefehl von
dem Übersetzermodul 502 bewirkt,
daß das
Ereignis auf dem Rundfunkserver terminiert wird. Die Zustandsmaschine 512 gibt
den primitiven Rundfunkterminierungsbefehl aus, der den Rundfunkserver 110 anweist,
eine interaktive Anwendung zum Senden vorzubereiten und sie einer
Wiedergabeliste des Rundfunkservers hinzuzufügen. Nach dem Festlegen muß das Ereignis durch
einen atomaren Startbefehl gestartet werden.
- Gestartet 1104, gestoppt 1106: Ein Startbefehl
von dem Übersetzermodul 502 durchläuft die
Zustandsmaschine zu dem gestarteten Zustand 1104. Die Zustandsmaschine
gibt einen primitiven Rundfunkstartbefehl aus. Nach dem Start kann
das Ereignis durch atomare Start- und Stopbefehle eine beliebige
Anzahl von Malen gestartet und gestoppt werden. Die Zustandsmaschine
geht nur für
Fernsehsendungen und vorgegebene Ereignisse zu gestoppt 1106 über; für Werbeereignisse
wird der gestoppte Zustand 1106 nicht erreicht.
-
Auf
den primitiven Rundfunkstartbefehl hin kann der Rundfunkserver 110 die
interaktive Anwendung auf verschiedene Weise starten, einschließlich Übertragen
der interaktiven Anwendung, falls diese vorher noch nicht übertragen
wurde, oder falls die Anwendung vorher übertragen wurde, Übertragen
eines Triggers zu der interaktiven Anwendung, um die Ausführung zu
beginnen. Gleichermaßen
kann der Rundfunkserver 110 andere Arten von Daten, wie
beispielsweise Formulare oder Inhalte, oder eine URL oder dergleichen,
zu der interaktiven Anwendung übertragen,
wie es bereits beschrieben wurde.
- Sekundären Trigger verarbeiten 1108:
Bei dem Ereignis können
ebenfalls nach dem Start null oder mehrere sekundäre Trigger
auftreten. Ein sekundärer
Trigger ist eine Aktion, die auftritt, während das Ereignis aktiv ist (d.
h. wird auf dem Rundfunkserver festgelegt). Ein Beispiel wäre eine
Warnung an den Endbenutzer 5 Minuten, bevor das Ereignis endet.
Diese Trigger werden von dem Zeitplanungssystem 106 erzeugt
und als Steuersignal an das Übersetzermodul
weitergeleitet.
- Abgebrochen 1110: Wenn schließlich das mit einem Ereignis
verbundene Rundfunkprogramm beendet ist, wird von dem Übersetzermodul 502 ein
atomarer Abbruchbefehl gesendet. Die Zustandsmaschine antwortet, indem
sie einen primitiven Rundfunkabbruchbefehl an den Rundfunkserver 110 ausgibt,
die das Ereignis abbricht. Dieser Zustand wird für unterschiedliche Ereignisse
auf unterschiedliche Weise erreicht. Für Werbeereignisse wird dieser
Zustand erreicht, wenn ein atomarer Abbruchbefehl von dem Übersetzermodul 502 empfangen
wird; für
Fernsehsendungsereignisse wird dieser Zustand erreicht, wenn der
nächste
Fernsehzustandsbefehl empfangen wird; für vorgegebene Ereignisse wird
dieser Zustand schließlich
beim Abschalten erreicht.
-
Damit
der Start eines Rundfunkserverereignisses (interaktive Anwendung)
exakt mit seinem zugeordneten Zeitplanungssystem-Rundfunkprogramm
synchronisiert ist, unterstützen
einige Zeitplanungssysteme Preroll. Preroll ist die Zeit, die eine
Vorrichtung, die das Zeitplanungssystem 106 steuert (beispielsweise
ein VTR = video tape recorder = Videorekorder) benötigt, um
einen Vorgang durchzuführen
(beispielsweise mit dem Abspielen eines Programms zu beginnen).
Das Zeitplanungssystem 106 kann die gleiche Art von Preroll-Warnung
an den Automatisierungsserver 108 geben, was ihm die Zeit
gibt, eine interaktive Anwendung zu starten. Einige Zeitplanungssysteme
unterstützen
nur einen Preroll-Wert. Wenn die Ansprechzeit des Automatisierungsservers 108 kürzer als
der Preroll-Wert ist, dann sorgt der Automatisierungsserver 108 für eine zusätzliche
Verzögerung
beim Start eines Rundfunkserverereignisses. Dieses feinabgestimmte
Timing wird von dem Systemdesigner in den Ereigniszustandsmaschinen
vorgenommen. Der gestartete, gestoppte und abgebrochene Zustand
können
alle eine Verzögerung
einbringen, bevor das Rundfunkserverereignis tatsächlich gestartet,
gestoppt oder abgebrochen wird.
-
Während alle
Rundfunkserverereignisse die gleiche grundlegende Zustandsmaschine
teilen, ist die Ereigniszustandsmaschine für jeden Ereignistyp unterschiedlich.
Die Unterschiede werden im weiteren detaillierter beschrieben.
-
Sekundäre Trigger
werden für
alle Ereignistypen gleich behandelt. Sekundäre Trigger sind eine Möglichkeit,
den Automatisierungsserver 108 zu erweitern. Einige Zeitplanungssysteme 106 unterstützen mehr
als nur die grundlegenden Steuersignale (Preload, Preroll, On Air
und Off Air). Sie können
beispielsweise ein Steuersignal 5 Minuten vor dem Ende eines Programms
senden, um die Vorrichtung zu warnen, daß das Programm gleich enden
wird. Der Automatisierungsserver kann dieses Signal verwenden, um
die aktuelle interaktive Anwen dung zu aktualisieren, um den Benutzer
zu warnen, daß sie
gleich enden wird. Dies ist nur ein Beispiel dafür, wie sekundäre Trigger
verwendet werden können.
-
a) Werbeereignistyp
-
Dies
ist die einfachste Ereigniszustandsmaschine. Ein Werbeereignis wird
niemals gestoppt oder neu gestartet, also geht es einfach von terminiert
zu gestartet (möglicherweise
mit sekundären
Triggern) und schließlich
zu abgebrochen über.
Die folgende Tabelle faßt
den Zustand, den atomaren Befehl, der bewirkt, das es in einen Zustand übergeht,
und die Aktionen zusammen, die durch diesen Zustand durchgeführt werden.
-
Tabelle
10: Ereigniszustandsmaschine für
Werbeereignis
-
b) Sendungsereignistyp
-
Die
Zustandsmaschine 512 für
das Sendungsereignis ist der Zustandsmaschine für das Werbeereignis sehr ähnlich,
maß aber
auch eine Segmentierung berücksichtigen
(im Abschnitt Ereignistypen beschrieben).
-
Anders
als bei einem Werbeereignis stoppt der Abbruchbefehl lediglich ein
Sendungsereignis, da die Sendung eventuell irgendwann fortgesetzt
werden muß.
Diese Sendung kann nur dann abgebrochen werden, wenn der atomare
Startbefehl für
die nächste
Sendung empfangen wird. Die folgende Tabelle faßt den Zustand, den atomaren
Befehl, der bewirkt, das es in einen Zustand übergeht, und die Aktionen zusammen,
die durch diesen Zustand durchgeführt werden. Tabelle
11: Ereigniszustandsmaschine für
Sendungsereignis
-
c) Vorgegebene Ereignistypen
-
Es
gibt drei unterschiedliche Typen vorgegebener Ereignisse: vorgegebenes
Sendungsereignis, vorgegebenes Werbungsereignis und vorgegebenes
unbekanntes Ereignis. Vorgegebene Ereignisse verwenden verwendet,
wenn es keine zugeordnete interaktive Anwendungen für die Programm-ID
gibt.
-
Anders
als bei einem Werbeereignis stoppt der Abbruchbefehl lediglich ein
vorgegebenes Ereignis, da es eventuell irgendwann fortgesetzt werden
muß. Es
wird nur abgebrochen, wenn der Automatisierungsserver 108 abgeschaltet
werden muß.
Der Hauptunterschied zwischen normalen Ereignissen und vorgegebenes
Ereignissen besteht darin, daß es
Fälle gibt,
in denen sich zwei sequentielle Programm-IDs auf die gleichen vorgegebenen
Ereignisse beziehen können.
In diesem Fall sollte das vorgegebene Ereignis vorzugsweise nicht gestoppt
und sofort wieder neu gestartet werden. Stattdessen darf das vorgegebene
Ereignis weiter abgespielt werden. Damit dies funktioniert, stoppt
der „gestoppte" Zustand das Ereignis
erst dann tatsächlich,
wenn sicher ist, daß der
nächste
atomare Startbefehl nicht auch für
dieses vorgegebene Ereignis bestimmt ist. Unabhängig von dem Typ des voreingestellten
Ereignisses faßt
die folgende Tabelle den Zustand, den atomaren Befehl, der bewirkt,
das es in einen Zustand übergeht,
und die Aktionen zusammen, die durch diesen Zustand durchgeführt werden.
-
-
9. Segmentierung
-
12 zeigt,
wie die Segmentierung von Fernsehsendungen gehandhabt wird, um dem
Zuschauer ein gleichbleibendes Erlebnis zu bieten und die entsprechende
interaktive Anwen dung während
unterschiedlicher Segmente der Fernsehsendung beizubehalten, während gleichermaßen die
entsprechende interaktive Anwendung während Werbespots bereitgestellt
wird.
-
12 zeigt
einen Ereignisablauf des Flusses von Steuersignalen, atomarer Befehle
und Rundfunkserverbefehlen von dem Zeitplanungssystem 106,
des (idealen) Übersetzermoduls 502 und
des Ereignismanagers 504 bei der Handhabung einer segmentierten
Fernsehsendung. Die Fernsehsendung, Sendung A, wird in zwei Segmenten
A.1 und A.2 übertragen,
die jeweils eine eindeutige Programm-ID haben. Zwischen den Segmenten
kommt der Werbespot Ad X. Nach dem Segment A.2 kommt der Werbespot
Ad Y gefolgt von einer neuen Sendung, Sendung B. Das hierbei durch
die vorliegende Erfindung gelöste
Problem besteht darin, die gleiche Interaktivität während beider Segmente A.1 und
A.2 aufrechtzuhalten (obwohl die Segmente eindeutige Programm-IDs
haben), während
die spezifische oder vorgegebene Interaktivität bereitgestellt wird, die
Ad X und Ad Y zugeordnet ist. Um dieses Ergebnis zu erzielen, müssen die
Programm-IDs für
die beiden Segmente A.1 und A.2 von dem Ereignismanager 504 auf
das gleiche Rundfunkereignis (Sendung A) in der Ereigniszuordnungstabelle
abgebildet werden. Dies erfolgt unter Verwendung der verschiedenen
Verfahrensschritte, die oben beschrieben wurden. Die Sequenz von
Steuersignalen und atomaren Befehlen ist dann wie folgt:
-
Sendungssegment A.1
-
- 1200: Zunächst
gibt das Zeitplanungssystem 106 ein Preload-Signal für A.1 aus.
- 1202: Das Übersetzermodul 502 terminiert
wiederum Segment A.1.
- 1204: Der Ereignismanager 504 erzeugt eine
neue Zustandsmaschine 512 für dieses Ereignis (Sendung
A), speichert eine Abbildung für
diese Programm-ID und Zustandsmaschine in der Ereigniszuordnungstabelle.
Die Zustandsmaschine für
Sendung A weist den Rundfunkserver 110 an, die entsprechende
interaktive Anwendung zum Übertragen
mit Sendung A zu terminieren.
- 1206: Dann gibt das Zeitplanungssystem 106 entweder
ein Preroll-Signal oder ein Startsignal für A.1 aus.
- 1208: Das Übersetzermodul 502 startet
wiederum das Segment A.1, möglicherweise
nach einer gewissen Verzögerung,
die durch den Preroll-Wert bestimmt wird, und der Zeit, die der
Ereignismanager 504 und der Rundfunkserver 110 benötigen, um
das Rundfunkserverereignis zu starten.
- 1210: Die Ereignismanager-Zustandsmaschine für Sendung
A gibt entsprechenden Anweisungen an den Rundfunkserver, die interaktive
Anwendung für
Sendung A zu starten.
- 1212: Die interaktive Anwendung für Sendung A wird von dem Rundfunkempfänger 120 ausgeführt und
erscheint auf der Anzeigevorrichtung, z. B. einem Fernsehgerät, die mit
dem Rundfunkempfänger 120 verbunden
ist.
-
Wenn
das Zeitplanungssystem 106 zunächst ein Preroll-Signal ausgegeben
hat, dann ignoriert das Übersetzermodul 502 ein
nachfolgendes Startsignal von dem Zeitplanungssystem 106,
da die Sendung A.1 bereits gestartet wurde.
-
Ad X
-
- 1214: Nach einiger Zeit gibt das Zeitplanungssystem 106 ein
Preload-Signal für
Ad X aus.
- 1216: Dann gibt das Übersetzermodul 502 einen
atomaren Terminierungsbefehl für
Ad X aus.
- 1218: Der Ereignismanager gibt einen Terminierungsbefehl
an den Rundfunkserver 110 auf, um die interaktive Anwendung
(einschließlich
vorgegeben) für
Ad X zu terminieren.
- 1220: Dann gibt das Zeitplanungssystem 106 ein
Preroll-Signal oder Startsignal für Ad X aus.
- 1222, 1224: Da das Übersetzermodul 502 nicht
weiß,
daß Sendung
A ein weiteres Segment hat, überträgt es einen
Abbruchbefehl für
Segment A.1 und dann einen Startbefehl für Ad X. (Wenn das Zeitplanungssystem 106 einen
Stopbefehl für
A.1 sendet, kommt dieser nach dem Preload- und dem Preroll-Signal
für Ad
X, und aus diesem Grund wird er ignoriert.)
- 1226, 1228: Normalerweise würde der
Ereignismanager 504 reagieren, indem er das Segment A.1
abbricht. Der Ereignismanager 504 ignoriert jedoch vorübergehend
den Abbruchbefehl und gibt statt dessen einen Stopbefehl für A1 aus,
um die interaktive Anwendung für
die Sendung A zu stoppen, und gibt dann einen Startbefehl für Ad X aus,
der die Ausführung
der interaktiven Anwendung für
Ad X beginnt.
- 1230, 1232: Wenn diese Befehle von dem Rundfunkempfänger empfangen
werden, unterbricht der Empfänger die
Ausführung
der interaktiven Anwendung für
die Sendung A zwar, aber beendet sie nicht, und beginnt mit der
Ausführung
der interaktiven Anwendung (oder der vorgegebenen Anwendung) für Ad X.
Durch die Unterbrechung der interaktiven Anwendung bleiben jegliche
Zustandsinformationen, wie beispielsweise Punkte bei einem Spiel
oder das bestimmte Formular, die der Zuschauer angeschaut hat, und
dergleichen erhalten. Die Unterbrechung bewirkt beispielsweise zudem,
daß die
interaktive Anwendung für
die Sendung A von der Anzeige auf dem Fernsehgerät des Zuschauers entfernt wird,
so daß die
interaktive Anwendung der Sendung A nicht angezeigt wird, wenn Ad
X auf dem Bildschirm dargestellt wird, und die Interaktivität von Ad
X fährt
geeignet fort.
-
Der
Ereignismanager 504 verzögert den Abbruchbefehl von
dem Übersetzermodul
solange, bis er bestimmen kann, daß die Sendung A kein weiteres
Segment hat, was er zu diesem Zeitpunkt noch nicht weiß. Dies
geschieht nachfolgend, wenn die Sendung B gestartet wird, wie es
unten gezeigt ist.
-
Sendungssegment A.2
-
- 1234: Kurz bevor Ad X endet, gibt das Zeitplanungssystem 106 ein
Preload-Signal für
A.2 aus.
- 1236: Das Übersetzermodul 502 gibt
einen Terminierungsbefehl für
A.2 aus.
-
An
diesem Punkt bestimmt die Abbildungslogik 508 des Ereignismanagers 504,
daß die
Programm-ID für
dieses Ereignis (Segment A.2) mit der gleichen interaktiven Anwendung
wie die Programm-ID von Segment A.1 korreliert. Dementsprechend
leitet die Abbildungslogik 508 alle Befehle für das Segment
A.2 (entsprechend ihrer Programm-ID) an die Ereigniszustandsmaschine
für die
Sendung A weiter. Da die interaktive Anwendung für dieses Segment der Sendung
A bereits an dem Rundfunkempfänger
geladen ist, ist es nicht erforderlich, daß der Rundfunkserver sie jetzt
vorlädt.
Somit gibt der Ereignismanager keinen weiteren Terminierungsbefehl
aus.
- 1238: Das Zeitplanungssystem 106 gibt
dann entweder ein Preroll-Signal für A.2 oder ein Startsignal
für A.2 aus.
- 1240, 1242: Das Übersetzermodul 502 sendet
einen Abbruchbefehl für
Ad X und einen Startbefehl für
das Segment A.2.
- 1244, 1246: Der Ereignismanager 504 weist
zunächst
den Rundfunkserver an, die Interaktivität für Ad X abzubrechen und leitet
dann den Startbefehl an die Zustandsmaschine für die Sendung A weiter, die
den Rundfunkserver anweist, die der Sendung A zugeordnete interaktive
Anwendung zu starten. Da die interaktive Anwendung für die Sendung
A vorher nur unterbrochen wurde, beginnt sie nun wieder (1248)
in dem Zustand, den sie auch vor dem Start von Ad X hatte.
-
Wenn
die Sendung A also eine Gameshow und ihre interaktive Anwendung
eine Spielanwendung wäre,
dann wäre
durch die Unterbrechung der Anwendung für Ad X der Gesamtpunktestand
(oder ein anderer Zustand) des Zuschauers in dem Spiel gespeichert
worden, der dann wiederhergestellt wird, wenn das Segment A.2 übertragen
und die Anwendung wieder gestartet wird.
-
Ad Y
-
- 1250: Zu einem späteren Zeitpunkt gibt das Zeitplanungssystem 106 ein
Preload-Signal für
Ad Y aus.
- 1252: Das Übersetzermodul 502 sendet
den Terminierungsbefehl für
Y an den Ereignismanager 504.
- 1254: Der Ereignismanager 504 legt die Interaktivität für Ad Y auf
dem Rundfunkserver fest.
- 1256: Dann gibt das Zeitplanungssystem 106 ein
Preroll-Signal für
Ad Y oder ein Startsignal für
Ad Y aus.
- 1258, 1260: Das Übersetzermodul 502 sendet
einen Abbruchbefehl für
Segment A.2 und einen Startbefehl für Ad Y.
- 1262, 1264: Wieder verzögert der Ereignismanager 504 den
Abbruchbefehl und weist statt dessen den Rundfunkserver an, die
Interaktivität
für die
Sendung A zu stoppen und die Interaktivität, falls vorhanden (einschließlich vorgegeben)
für Ad
Y zu starten. Die interaktive Anwendung für die Sendung A wird unterbrochen
(1266) und die Interaktivität für Ad Y ausgeführt (1268).
-
Wieder
hat die Zustandsmaschine für
die Sendung A den Abbruch der interaktiven Anwendung des Segments
A.2 verzögert,
da sie noch nicht weiß,
ob es ein weiteres Segment von Sendung A gibt.
-
Sendung B
-
- 1270: Kurz bevor Ad Y endet, gibt das Zeitplanungssystem 106 ein
Preload-Signal für
die Sendung B aus.
- 1272: Das Übersetzermodul 502 legt
die Sendung B fest.
- 1274: Die Abbildungslogik 508 des Ereignismanagers
bestimmt nun, daß die
Programm-ID für
die Sendung B anders ist als für
Sendung A, und daher gibt es keine weiteren Segmente für die Sendung
A. Für
die Sendung B wird eine neue Zustandsmaschine instanziiert. Der
Ereignismanager 504 gibt dann einen Terminierungsbefehl
für die
Sendung B an den Rundfunkserver aus, um die Interaktivität für die Sendung
B festzulegen. Der Ereignismanager bricht die Interaktivität für die Sendung
A noch nicht ab, da Sendung B noch nicht begonnen hat.
- 1276: Dann gibt das Zeitplanungssystem 106 entweder
ein Preroll-Signal oder ein Startsignal für die Sendung B aus.
- 1278, 1280: Das Übersetzermodul 502 gibt
atomare Befehle aus, um Ad Y abzubrechen und die Sendung B zu starten.
- 1282, 1284: Der Ereignismanager 504 bricht
zunächst
Ad Y ab und leitet dann den Startbefehl an die neue Zustandsmaschine
für die
Sendung B weiter.
- 1288: Wenn der Startbefehl für Sendung B erscheint, kann
der Ereignismanager 504 die Interaktivität für Sendung
A Segment A.2 sicher abbrechen, da klar ist, daß eine neue Sendung beginnt.
Dieser Abbruchbefehlt stammt nicht von dem Übersetzermodul 502 direkt,
sondern wird von der Ereignismanager-Zustandsmaschine für Sendung
A basierend auf dem Startbefehl für Sendung B generiert. Da die
Sendung B bereits mehrere Stunden vor ihrer Übertragung terminiert werden
kann, sollte die Interaktivität
von Sendung A erst abgebrochen werden, wenn Sendung B tatsächlich beginnt.
Es ist ebenfalls festzustellen, daß der Abbruch nicht erfolgen
kann, wenn Ereignis B festgelegt wird, was auf mögliche aufeinanderfolgende
Sendungen und darauf zurückzuführen ist,
daß Sendung
B Stunden vor ihrer Startzeit terminiert werden könnte.
-
In
einigen Fällen
gibt es keinen Werbespot (z. B. Ad Y) zwischen zwei Fernsehsendungen
(z. B. Sendung A und Sendung B). Das heißt die beiden Sendungen können aufeinanderfolgend
sein (d. h. Sendung B kann direkt nach Sendung A beginnen). In diesem
Fall erfolgt der Abbruchbefehl für
Sendung A 1288 vor dem Startbefehl für Sendung B 1284.
-
Bei
einer alternativen Ausführung
kann der Ereignismanager 504 eine interaktive Anwendung
starten, bevor er eine andere abbricht. Dies ist beispielsweise
wünschenswert,
wenn es mehr Zeit beansprucht, eine interaktive Anwendung abzubrechen
als sie zu stoppen, und in Fällen,
in denen die beiden Sendungen nicht aufeinander folgen, ist es eine
Optimierung, die interaktive Anwendung für die Sendung B zu starten,
bevor die interaktive Anwendung für Sendung A abgebrochen wird.
Im allgemeinen ist es eine alternative Ausführung, die vorherige interaktive
Anwendung zu stoppen, die nächste
interaktive Anwendung zu starten und dann die vorherige abzubrechen.
-
E. Aktualisieren dynamischer
interaktiver Anwendungen
-
Wie
bereits oben beschrieben, kann der Rundfunkserver 110 Daten übertragen,
welche die Merkmale, die Benutzeroberfläche oder die Funktionalität einer
interaktiven Anwendung aktualisieren oder modifizieren. Diese Aktualisierungen
umfassen, sind aber nicht darauf begrenzt, Aktualisierungen von
Informationen in der interaktiven Anwendung, Textaktualisierungen
(z. B. neue Punktestände
beim Sport, Kleinanzeigen, Nachrichteninformationen, Fragen oder
Antworten bei einem Spiel, Gästelisten
für Sendungen),
Bildaktualisierungen (z. B. eine neue Wetterkarte), Tonaktualisierungen
und Dateiaktualisierungen.
-
Wenn
man die Aktualisierung interaktiver Anwendungen betrachtet, ist
es nützlich,
die interaktiven Anwendungen in drei Klassen einzuteilen:
- 1. Statische Anwendung: Diese Art von interaktiver
Anwendung empfängt
während
ihrer Ausführung
keinerlei Aktualisierungen.
- 2. Dynamische Anwendung: Eine dynamische Anwendung ist eine
Anwendung, die typischerweise während
ihrer Ausführung
mit neuen Informationen aktualisiert wird. Ein Beispiel wäre eine
Sportticker-Anwendung, die während
eines Fußballspiels
neue Punktestände
empfängt;
gleichermaßen
würde eine
interaktive Börsenticker-Anwendung
aktualisierte Aktienkurse empfangen. Die Quelle der Datenaktualisierungen kann
variieren und Livedatenfeeds, neu genutzte Internetinformationen
oder statisch definierte Aktualisierungen umfassen, die zu bestimmten
Zeiten übertragen
werden (z. B. Fragen und Antworten in einer interaktiven Anwendung,
die mit einer Gameshow einhergeht). Die Quelle der Datenaktualisierungen
kann bei dem nationalen Rundfunkveranstalter liegen, der nationa le
Aktualisierungen erzeugt, und/oder vor Ort sein, wo lokale Aktualisierungen
erzeugt werden. Wie oben erwähnt
hat jede dynamische Anwendung einen eindeutigen Anwendungsidentifikationscode.
- 3. Reauthored dynamische Anwendung: Dies ist eine interaktive
Anwendung, die periodisch reauthored wird, um neue Informationen
zu enthalten, aber die den gleichen Anwendungsidentifikationscode
wiederverwendet und strukturell gleich bleibt; somit stellen die
Aktualisierungen die neuen Daten dar, immer wenn die Anwendung mit
ihrem zugeordneten Programm übertragen
wird. Ein Beispiel für
eine derartige interaktive Anwendung ist eine Anwendung, die einer
Unterhaltungssendung, wie beispielsweise der „Jay Leno Show" auf NBC, zugeordnet
ist. Diese Anwendung sieht zwar jeden Abend gleich aus, aber sie
wird jeden Abend aktualisiert, so daß sie die Gäste des Abends und andere aktuelle
Informationen enthält.
Der Vorteil der Unterscheidung dieser Anwendungsart von einer statischen
Anwendung liegt darin, daß es
möglich
ist, die interaktive Anwendung dauerhaft in der Datenbank 112 für interaktive
Anwendungen zu speichern, wobei ausgewählte Aufzeichnungen oder Abschnitte
der interaktiven Anwendung markiert sind, um anzuzeigen, daß sie bei Übertragung
der Anwendung aktualisiert werden müssen. Dies ist vorteilhaft,
da es dem Rundfunkveranstalter 114 erlaubt, nur die Aktualisierungen,
und nicht die gesamte interaktive Anwendung zu übertragen.
-
In 13 ist
eine Ausführung
eines Systems gezeigt, das Aktualisierungen für dynamische interaktive Anwendungen
liefert. Zusätzlich
zu den verschiedenen Elementen, die mit Bezug auf 1 beschrieben
wurden, enthält
diese Implementierung einen Aktualisierungsmanager 1300.
Der Aktualisierungsmanager 1300 enthält zwei Module, einen Codedetektor 1302 für interaktive
Inhalte und einen Codeleser 1304 für interaktive Inhalte. Im allgemeinen
identifiziert der Codedetektor 1302 Identifikationscodes
für interaktive
Anwendungen in einem empfangenen Signal und liefert diese an den
Automatisierungsserver 108. Der Automatisierungsserver 108 verfolgt
den Zustand der identifizierten interaktiven Anwendung und liefert
Steuersignale an den Codeleser 1304. Der Codeleser 1304 kann
das Rundfunksignal lesen und jene Abschnitte (z. B. Aufzeichnungen) identifizieren,
die Aktualisierungen für
entsprechende Aufzeichnungen in einer interaktiven Anwendung sind, die
in dem Rundfunkserver 110 zur Verfügung steht. Der Automatisierungsserver 108 liefert
Befehle an den Codeleser 1304, die ihn anweisen, entweder
mit dem Senden derartiger Aktualisierungen an den Rundfunkserver 110 zur Übertragung
an die Empfangsvorrichtungen zu beginnen oder das Senden derartiger
Aktualisierungen zu stoppen. Dann liefert der Rundfunkserver 110 die
Aktualisierungen an die DIU 116, um diese schließlich an
den Rundfunkempfänger 120 zu übertragen.
Diese Merkmale ermöglichen
dem Rundfunkserver 110, eine interaktive Anwendung zu aktualisieren,
ohne sich darauf verlassen zu müssen,
daß die
Anwendung von dem Rundfunkveranstalter in aktualisierter Form erstellt
wurde. Der Rundfunkempfänger 120 empfängt die aktuali sierten
Aufzeichnungen und führt
sie zusammen mit der zugrundeliegenden interaktiven Anwendung aus.
-
Genauer
gesagt empfängt
der Codedetektor 1302 das eingehende Rundfunkvideosignal
von dem Rundfunkveranstalter 114 und erfaßt verschiedene
Bedingungen bezüglich
Vorhandensein, Fehlen oder Änderung
des Identifikationscodes der interaktiven Anwendung in dem VBI-Abschnitt
des Signals (oder in dem entsprechenden Abschnitt anderer Datentransporte).
Der Aktualisierungsmanager 1300 startet einen neuen Codedetektor 1302 für jeden
Kanal; der Automatisierungsserver 108 behält ebenfalls
wie oben erwähnt
einen entsprechenden Umsetzer 502 für jeden Kanal und eine Zustandsmaschine 510 für jede interaktive
Anwendung bei.
-
Der
Codedetektor 1302 überwacht
die VBI auf Aufzeichnungen einer interaktiven Anwendung hin und liest
den Anwendungsidentifikationscode in jeder Aufzeichnung. Bei Empfang
eines ersten Anwendungsidentifikationscodes liefert der Codedetektor 1302 ein
Neuer-Identifikationscode-Signal
an einen entsprechenden Umsetzer 502 in dem Automatisierungsserver 108.
Wenn der Codedetektor 1302 eine Veränderung des Anwendungsidentifikationscodes
erfaßt,
gibt der Codedetektor 1302 gleichermaßen ebenfalls das Neuer-Identifikationscode-Signal
aus.
-
Wenn
der Codedetektor 1302 einen Unterbrechungs- oder Löschbefehl
erfaßt,
dann gibt der Codedetektor 1302 ein entsprechendes Unterbrechen-
oder Löschen-Signal
aus. Wenn der Codedetektor 1302 das Fehlen eines Anwendungsidentifikationscodes,
wie beispielsweise keine Aufzeichnungen interaktiver Anwendungen,
erfaßt,
dann startet er einen Timer. Der Timer hat eine benutzerkonfigurierbare
Ablaufzeit; wenn keine Aufzeichnungen interaktiver Anwendungen empfangen
werden, bevor die Zeit abläuft,
dann gibt der Codedetektor 1302 ein Keine-Daten-Signal
aus.
-
Bei
einer anderen Ausführung überwacht
der Codedetektor 1302 das Rundfunksignal auch auf bestimmte
Triggersignale hin. Triggersignale können beispielsweise in speziell
vorbehaltenen Zeilen, wie beispielsweise der Untertitel-Zeile, Zeile 21, übertragen
werden. Triggersignale der Zeile 21 enthalten einen Inhaltsidentifizierer,
wie beispielsweise einen Identifikationscode einer interaktiven
Anwendung, und eine Dauerzählwert
(z. B. 8 Sekunden), um einen Countdowntimer zu steuern. Ein Dauerzählwert von
30 würde
beispielsweise einen Countdowntimer für 30 Sekunden starten. Wenn
der Timer abgelaufen ist, wird die interaktive Anwendung, oder ein
anderer Inhalt, gestoppt. Wenn ein Triggersignal empfangen wird,
dann werden die Aufzeichnungen der interaktiven Anwendung ignoriert.
Statt dessen sucht der Codedetektor 1302 nach Änderung
des Anwendungsidentifikationscodes, der hier in der speziell vorbehaltenen
Zeile übertragen
wird. Wenn sich der Identifikationscode ändert, dann wird ein Neuer-Identifikationscode-Signal
an den Umsetzer 502 gesendet und der Timer wird zurückgestellt,
um von dem Dauerzählwert
zurückzuzählen. Wenn
der Timer abläuft,
wird ein Keine-Daten-Befehl an den Umsetzer gesendet.
-
Einem
jeden Codedetektor 1302 entsprechend behält der Automatisierungsserver 108 einen
Umsetzer 502 und einen Ereignismanager 504 bei.
Der Umsetzer 502 empfängt
die verschiedenen Signale von dem Codedetektor 1302. Bei
jedem Vorbereiten und Start startet der Umsetzer 502 eine
neue Zustandsmaschine 510 (da es eine neue entsprechende
Anwendung gibt) und durchläuft
sie, wie es oben beschrieben ist. Der Ereignismanager 504 startet
gleichermaßen
einen Ereignismanager 512, um die atomaren Befehle 514 zu empfangen,
die von der entsprechenden Umsetzerzustandsmaschine 510 ausgegeben
werden.
-
Tabelle
13 faßt
die Beziehungen zwischen den Arten von Steuersignalen, die von dem
Codedetektor 1302 geliefert werden, und den idealen Signalen
in dem Umsetzer 502 zusammen.
-
-
Wie
es oben beschrieben ist, verwaltet der Ereignismanager 504 Ereignisse
(interaktive Anwendungen) auf dem Rundfunkserver 110 in
Abhängigkeit
von atomaren Befehlen von dem Umsetzer 502 unter Verwendung
einer Zustandsmaschine, um den Zustand jedes Ereignisses zu verfolgen.
Wenn der Ereignismanager 504 einen Terminierungsbefehl
von dem Umsetzer 502 empfängt, weist er den Rundfunkserver 110 an,
ein neues Ereignis (interaktive Anwendung) zum Senden zu starten
und beizubehalten; der Rundfunkserver 110 gibt eine Ereignis-ID an den Ereignismanager 504 zurück, um das
Ereignis zu referenzieren. Die Ereignis-ID ist ein eindeutiger Identifizierer
eines bestimmten Falls einer gesendeten interaktiven Anwendung.
-
Bei
noch einer anderen Ausführung
integriert der Codedetektor 1302 die Funktionalität des Umsetzters
direkt und behält
seine eigene Zustandsmaschine für
jede interaktive Anwendung, die er identifiziert, bei. Dementsprechend
bildet er die Änderungen
des Rundfunksignals di rekt auf atomare Befehle ab und liefert diese
atomaren Befehle an den Ereignismanager 504. Diese Ausführung verschiebt
die Funktionalität
des Umsetzers in den Codedetektor 1302.
-
Bei
jeder Ausführung
enthält
der Ereignismanager 504 eine zusätzliche Funktionalität zum Zusammenwirken
mit dem Codeleser 1304. Genauer gesagt liefert der Ereignismanager 504 zwei
zusätzliche
Befehle zum Steuern des Codedetektors 1302. Wenn der Ereignismanager 504 einen
atomaren Startbefehl empfängt,
geht er in den gestarteten Zustand 1104 über, wie
es oben beschrieben wurde. Zusätzlich
zu seinen anderen Verhaltensweisen gibt er einen Starte_Aktualisierungen-Befehl
an den Codeleser 1304 für
den Kanal, wobei der Code der interaktiven Anwendung spezifiziert
wird, und die entsprechende Ereignis-ID aus, die von dem Rundfunkserver 110 geliefert
wird. Wenn der Ereignismanager einen atomaren Stopbefehl empfängt, geht
er in den gestoppten Zustand 1106 über und gibt einen Löschbefehl
an den Codeleser 1304 aus, der den interaktiven Identifikationscode
der interaktiven Anwendung liefert, für welche die Aktualisierungen
gestoppt werden sollen.
-
Der
Codeleser 1304 ist dafür
verantwortlich, zu bestimmen, welche Aufzeichnungen einer interaktiven Anwendung
aktualisiert werden, und diese Aufzeichnungen an den Rundfunkserver 110 zu
liefern. Der Codeleser 1304 ist wie die anderen Module
kanalorientiert und behält
einen separaten Zustand auf jedem Kanal und jede Anwendung auf jedem
Kanal bei. Der Codedetektor 1302 bestimmt für jede Anwendung,
welche Aufzeichnungen der interaktiven Anwendung Aktualisierungen
sind und leitet diese Aktualisierungen an den Rundfunkserver 110 weiter.
Vor dem Empfang des Starte_Aktualisierungen-Befehls nimmt der Codeleser 1304 die
aktualisierten Aufzeichnungen in einen Cache-Speicher auf. Der Codeleser 1304 beginnt,
diese Aktualisierungen in Abhängigkeit
von dem Starte_Aktualisierungen-Befehl von dem Ereignismanager 504 bereitzustellen.
Der Codeleser 1304 liefert einen Aktualisierungsbefehl
an den Rundfunkserver 110 zusammen mit der Identifikation
der interaktiven Anwendung, der Ereignis-ID, die von dem Rundfunkserver
erkannt wird, und der aktualisierten Aufzeichnung, die gesendet
werden soll. Der Rundfunkserver 110 bereitet die aktualisierte(n)
Aufzeichnung(en) zum Senden durch die DIU 116 vor. Auf
einen Löschbefehl
von dem Ereignismanager 504 hin hört der Codeleser 1304 auf,
aktualisierte Aufzeichnungen an den Rundfunkserver 110 zu übertragen.
-
Bei
einigen Ausführungen
liefert der Rundfunkserver 110 zur Übertragung an die Rundfunkempfänger eine
andere interaktive Anwendung für
ein gegebenes Rundfunkprogramm, als diejenige, die er in dem Rundfunksignal
codiert empfangen hat. Der Rundfunkserver 110 kann die
empfangene interaktive Anwendung durch eine andere Anwendung modifizieren
oder ersetzen. Die andere Anwendung kann eine lokal angepaßte Version
der ursprünglich
empfangenen Anwendung sein, die beispielsweise lokal relevante Informationen
(z. B. Geschäftsstandorte
für einen
nationalen Anbieter) oder einen verbesserten Inhalt, wie beispiels weise
Anwendungen mit höherer
Bandbreite (z. B. bei MPEG oder anderen digitalen Formaten), liefert.
-
Bei
einer Ausführung,
bei der digitale Anwendungen in einen digitalen Rundfunkvideostrom
eingefügt werden
sollen, verfügt
die Dateneinfügeeinheit 116 über die
Möglichkeit,
MPEG oder andere digitale Formate einzufügen, wie es einem Durchschnittsfachmann
bekannt ist, beispielsweise einen MPEG-1- oder MPEG-2-Strom. Der
Rundfunkserver 110 überträgt den interaktiven
Inhalt zu einem lokalen Untersystemmultiplexer, der den MPEG-Strom
erzeugt. Der lokale Untersystemmultiplexer hat typischerweise einen
seriellen oder einen TCP/IP-Anschluß zum Empfangen
des Bitstroms des interaktiven Inhalts. Bei Empfang des Bitstroms
des interaktiven Inhalts fügt
der Multiplexer den interaktiven Inhalt in einen ausgehenden digitalen
Videostrom gemäß seinem
normalen Betrieb ein. Der Multiplexer kann zudem interaktive Inhalte
entfernen oder ersetzen, soweit erforderlich. Wenn der digitale
Strom Serial Component Digital Video ist, (ein packetbasierter digitaler
Videostrom), wie er in dem Standard SMPTE 259M-C spezifiziert ist,
dann wird ein Norpak-Codierer verwendet, um den interaktiven Inhalt
hinzuzufügen,
indem die vorhandenen Pakete durch neue Pakete ersetzt werden, die
von dem lokalen Rundfunkserver 110 an ihn übertragen
werden. Falls alternativ eine digitale Version eines interaktiven
Inhalts an ein analoges Untersystem 628 übertragen
wurde, kann der lokale interaktive Rundfunkserver 606 die
digitale Anwendung durch eine analoge Anwendung mit geringerer Bandbreite austauschen.
Wenn eine analoge Version eines interaktiven Inhalts an das System 100 übertragen
wurde, dann wird die analoge Version zunächst in ein digitales Programm
umgewandelt oder ein digitales Programm ersetzt die analoge Version.
Wenn die analoge Version digitalisiert werden soll, wird ein Software-Analog-Digital-Wandler verwendet,
um die analoge Version in ein digitales Programm umzuwandeln, das
mit den Protokollen des lokalen Untersystems übereinstimmt. Bei einer Ausführung unterstützt der
lokale Rundfunkserver 110 die Lieferung mehrerer Anwendungen.
Beispielsweise kann ein Untersystem einer Kopfstelle eines Kabelnetzes
sowohl analoge als auch digitale Ströme liefern, damit Haushalte
mit digitalen Rundfunkempfängern eine
Interaktivität
mit höherer
Qualität
empfangen können,
während
Haushalte mit analogen Rundfunkempfängern noch die einfachere Interaktivität empfangen.
Bei dieser Ausführung
wählt der
lokale Rundfunkserver 110 sowohl die bessere als auch die
einfachere Version des interaktiven Inhalts aus und fügt sie in
die jeweiligen Signale ein.
-
Bei
diesen Ausführungen
ermöglicht
der Aktualisierungsmanager 1300 die Verschiebung aktualisierter Aufzeichnungen,
die einer ursprünglich
empfangenen interaktiven Anwendung zugeordnet sind, zu ihrer maßgeschneiderten
lokalen Version, die gesendet wird. Dies kann mit einer Änderung
der Transportschicht verbunden sein, beispielsweise von einer VBI-Zeile
zu MPEG oder dergleichen, aber ermöglicht, daß derartige Aufzeichnungen
in die lokale Anwendung integriert werden. Demzufolge ist der Rundfunkserver 110 in
der Lage, Aktualisie rungen an die lokale maßgeschneiderte Version der
Anwendung zu liefern, obwohl die Rundfunkanstalt ursprünglich kein
Rundfunksignal erzeugt hat, das sowohl die Aktualisierungen als
auch die maßgeschneiderte
Anwendung kombinierte.
-
Um
zu bestimmen, welche Aufzeichnungen einer interaktiven Anwendung
Aktualisierungen und welche statische Aufzeichnungen sind, können verschiedene
Verfahren verwendet werden. Eine einfache Ausführung markiert jede Aufzeichnung
mit einem Flag, das angibt, ob die Aufzeichnung eine statische Aufzeichnung oder
eine Aktualisierung ist. (Aufzeichnungen können von einem nationalen Rundfunkveranstalter
oder in dem lokalen System aktualisiert werden). Der Codeleser 1304,
der jede Aufzeichnung der interaktiven Anwendung bei ihrem Empfang
gelesen hat, leitet Aufzeichnungen, die als Aktualisierungen markiert
sind, an den Rundfunkserver 110 weiter.
-
Eine
technisch ausgereiftere Ausführung
enthält
eine Sequenznummer in jeder Aufzeichnung. Die Aufzeichnungen in
der nicht aktualisierten interaktiven Anwendung werden auf 0 initialisiert.
Jedesmal, wenn eine Aufzeichnung aktualisiert wird, wird seine Sequenznummer
inkrementiert. Der Codeleser 1304 hat eine Tabelle für jede interaktive
Anwendung, die jede Aufzeichnung der interaktiven Anwendung und
ihre Sequenznummer auflistet (jede Aufzeichnung enthält eine
Aufzeichnungs-ID). Wenn eine Aufzeichnung für eine interaktive Anwendung
empfangen wird, vergleicht der Codeleser 1304 die Sequenznummer
in seiner Tabelle mit der Sequenznummer in der empfangenen Aufzeichnung.
Wenn die Sequenz-ID der empfangenen Aufzeichnung höher ist
als die gespeicherte Sequenznummer, dann weiß der Codeleser 1304,
daß diese
Aufzeichnung eine Aktualisierung ist und lädt sie in einen Cachespeicher
oder sendet sie an den Rundfunkserver 110, wenn zutreffend.
Der Codeleser 1304 aktualisiert auch die gespeicherte Sequenznummer
in der Tabelle.
-
Diese
Ausführung
mit Sequenznummer ist insbesondere für re-authored dynamische Anwendungen wie
oben erwähnt
nützlich,
die zwar den gleichen Code der interaktiven Anwendung verwenden,
aber unterschiedliche Aktualisierungen erfordern, immer wenn sie
gesendet werden. Die lokal gespeicherten Versionen dieser interaktiven
Anwendungen enthalten alle Nullwertsequenznummern. Jede aktualisierte
nationale Version der interaktiven Anwendung enthält eine
Sequenznummer von Eins für
alle dynamischen Aufzeichnungen, das heißt diejenigen Aufzeichnungen,
die aktualisiert werden sollen. Wenn beispielsweise die Anwendung nachts
gesendet werden soll, dann erhalten die aktualisierten Aufzeichnungen
(z. B. eine Gästeliste)
jeder Nacht die Sequenznummer „1". Da der lokale Rundfunkserver 110 die
lokale Anwendung jedesmal neu lädt, wenn
sie gesendet wird, hat sie jedesmal die Aufzeichnungen mit dem Wert
0. Der Codeleser 1304 identifiziert daher die aktualisierten
Sequenznummern bei jeder neuen Sendung. Daher kann der nationale
Rundfunkveranstalter jedesmal die gleiche interaktive Anwendung
verwenden und maß lediglich
die dynamischen Aufzeichnungen än dern.
Dies verringert den Mehraufwand, der für die Bereitstellung von Aktualisierungen
jede Nacht erforderlich ist, wodurch es nicht mehr erforderlich
ist, daß der
nationale Rundfunkveranstalter (oder wer auch immer die interaktive
Anwendung bereitstellt) jede Nacht eine andere Anwendung mit einem
bestimmten Anwendungsidentifikationscode einsetzt und verfolgt.
-
Das
Markieren von Aufzeichnungen und die Verwendung von Sequenznummern
können
auch zusammen eingesetzt werden. Die interaktive Anwendung kann
lokal konfiguriert werden, so daß nur bestimmte dynamische
Aufzeichnungen zur Aktualisierung markiert werden. Diese ist beispielsweise
wünschenswert,
wenn der lokale Systembetreiber gewisse Aktualisierungen ignorieren
will, die von einem nationalen Rundfunkveranstalter geliefert werden.
Bei dieser Ausführung
läßt der Codeleser 1304 nur
diejenigen Aufzeichnungen durch, die sowohl eine Markierung zur
Aktualisierung als auch inkrementierte Sequenznummern haben.
-
Als
eine weitere Verfeinerung bei der Bereitstellung von Aktualisierungen
ist es wünschenswert,
sicherzustellen, daß eine
aktualisierte Aufzeichnung, wie beispielsweise eine Aufzeichnung,
die von einer national gesendeten interaktiven Anwendung bereitgestellt
wird, mit der Aufzeichnung, die sie in der lokalen Anwendung ersetzt,
kompatibel ist. Dies ist darauf zurückzuführen, daß das Ersetzen eines Aufzeichnungstyps (z.
B. Text) mit einem anderen Aufzeichnungstyp (z. B. Bitmap) bewirken
kann, daß die
interaktive Anwendung auf dem Rundfunkserver abstürzt, was
nicht akzeptabel ist. Während
eine Typüberprüfung jeder
Aufzeichnung in dem Codeleser 1304 theoretisch möglich ist,
ist dies in der Praxis aufgrund des Erfordernisses, die Aufzeichnungen
mit sehr hoher Geschwindigkeit zu verarbeiten, keine praktische
Implementierung.
-
Folglich
besteht eine Lösung
darin, Doppelprüfsummen
(Signaturen) bei jeder interaktiven Anwendung zu verwenden.
-
Die
erste Prüfsumme
wird auf der Struktur der aktualisierten Aufzeichnungen berechnet,
aber nicht auf ihrem variablen Inhalt, das heißt auf den inhaltslosen Abschnitten
der aktualisierten Aufzeichnungen. Die Prüfsumme kann beispielsweise
auf allen Aufzeichnungs-IDs und Aufzeichnungsnamen für alle aktualisierten
Aufzeichnungen berechnet werden (alternativ kann auch der Aufzeichnungstyp
oder eine Kombination dieser Felder, z. B. ID und Typ, verwendet
werden). Beispielsweise kann sich der Inhalt einer Aufzeichnung
mit dem Namen Gästeliste ändern, aber
der Name und genauso der Typ bleiben bei den Aufzeichnungen bestehen.
Diese „dynamische" Prüfsumme wird
zusammen in der interaktiven Anwendung übertragen und von dem Codeleser 1304 empfangen
und mit der entsprechenden dynamischen Prüfsumme der entsprechenden Aufzeichnungen der
lokalen interaktiven Anwendung verglichen. Wenn diese übereinstimmen,
dann weiß der
Codeleser 1304, daß die
aktualisierten Aufzeichnungen mit ihren entsprechenden lokal gespeicherten
Aufzeichnungen kompatibel sind.
-
Eine
zweite Prüfsumme
wird aus allen statischen (sich nicht ändernden) Abschnitten der interaktiven Anwendung
berechnet, und zwar sowohl in ihrer nationalen Version (oder allgemeiner
entfernten) Version als auch in ihrer lokal gespeicherten Version.
Diese statische Prüfsumme
wird zusammen mit der interaktiven Anwendung übertragen und von dem Codeleser 1304 empfangen
und mit der entsprechenden statischen Prüfsumme für die lokal gespeicherte Version
der gleichen interaktiven Anwendung verglichen. Wenn diese Prüfsummen übereinstimmen,
dann weiß der
Codeleser 1304, daß die
statischen Abschnitte der interaktiven Anwendung identisch sind,
beispielsweise Skripte, Schaltfläche,
Bildschirmlayouts etc.
-
Wenn
einer der Prüfsummenabgleiche
fehlschlägt,
dann liefert der Codeleser 1304 die aktualisierten Aufzeichnungen
nicht an den Rundfunkserver 110. Da nur zwei Prüfsummenwerte
verglichen werden, ist dieses Verfahren sehr schnell und erfordert
keine zusätzliche
Bandbreite von dem Codeleser 1304.
-
Zusätzlich zu
dynamischen Datenaktualisierungen unterstützt der Aktualisierungsmanager 1300 die Weiterleitung
von Steuerinformationen von einer national (oder anderweitig entfernt) übertragenen
interaktiven Anwendung zu der lokalen interaktiven Anwendung. Diese
Steuersignale umfassen folgende, sind aber nicht darauf begrenzt:
- • Befehle
wie „interaktive
Anwendung beenden" und „interaktive
Anwendung unterbrechen".
Diese stellen einen weiteren Mechanismus zum Steuern des Ablaufs
der interaktiven Anwendung dar.
- • Informationen über den
Ursprung des Signals (beispielsweise von welchem nationalen Rundfunkserver das
Signal stammt).
- • Zeitsteuerinformationen über die
Ausführung
der Anwendung. Solche Informationen („Leases" genannt) können verwendet werden, um die
spezifischen Zeitfenster zu steuern, während denen eine Anwendungen gestartet,
ausgeführt
oder beendet werden kann. Nähere
Details dieser Merkmale werden in der ebenfalls anhängigen Anmeldung
mit der Seriennummer 09/431,001 erörtert.
-
Einige
oder alle dieser Signale können
an die lokal maßgeschneiderte
interaktive Anwendung weitergeleitet werden, wie es von dem interaktiven
Fernsehsystem gefordert wird.
-
F. Abriß
-
Zusammengefaßt bietet
die vorliegende Erfindung verschiedene Verfahren und Mittel zum
Steuern des Verhaltens eines interaktiven Inhalts synchron mit der Übertragung
und Anzeige von Rundfunkprogrammen, einschließlich Fernsehsendungen, Werbespots
und dergleichen.
-
Die
Prinzipien der vorliegenden Erfindung, einschließlich der Verwendung nativer
Steuersignale zur Bestimmung der Identität und des Zustands von Rundfunkprogrammen
und zum darauffolgenden Verwalten der Zustände der Interaktivität, die den
Rundfunkprogrammen zugeordnet ist, können auf verschiedene Weise mit
zahlreichen Variationen implementiert werden. Einige Variationen
im Rahmen der Erfindung sind folgende:
Gemäß der Beschreibung verwendet
der Automatisierungsserver 108 die beiden Zustandsmaschinen
des Übersetzermoduls 502 und
des Ereignismanagers 504. Obwohl dies vorteilhaft ist,
ist es möglich,
daß andere Ausführungen
der Erfindung den Automatisierungsserver 108 oder seine
Funktionalität
ohne Zustandsmaschinen implementieren, beispielsweise unter Verwendung
programmierter Skripte für
jede Art von Steuersignal oder anderer Verfahrensmechanismen.
-
Die
Gruppe idealer Steuersignale und Zustände in dem Übersetzermodul 502,
die atomaren Befehle, die an den Ereignismanager 504 ausgegeben
werden, oder die Befehle, die erzeugt werden, um eine rundfunkserverartige
Vorrichtung zu steuern, können
alle variieren, um mehr oder weniger Signale und Befehle abzudecken.
Gleichermaßen
können
die spezifischen Aktionen in jedem der Zustände variieren. Zusätzlich zu Stop-
oder Abbruchbefehlen kann beispielsweise ein bestimmter Fortsetzbefehl
oder Befehl zum Fortsetzen mit Verzögerung für eine komplexere Steuerung
verwendet werden. Ein Speicherbefehl kann den Rundfunkempfänger 120 anweisen,
Daten zu speichern, die bei der Interaktivität zum späteren Abruf erzeugt wurden. Der
Befehl kann beispielsweise auf Fehlerzustände, Kanaländerungen oder andere Ereignisse
hin erzeugt werden, um Daten zu speichern, die der Benutzer oder
die Interaktivität
erzeugt haben. Ein Sende- oder Hochladebefehl kann den Rundfunkempfänger anweisen,
Daten, die erzeugt gespeichert wurden, zu einem Sammelmechanismus
zurück
zu übertragen,
beispielsweise um den Verkauf eines Produkts über eine interaktive Kaufanwendung
abzuschließen.
-
Die
Arten von Interaktivität,
die durch den Automatisierungsserver 108 und die vorliegende
Erfindung gesteuert werden können,
können
variieren und sind nicht auf existierende interaktive Anwendungen
begrenzt. Es wird erwartet, daß eine
Interaktivität,
wie beispielsweise Internetseiten, oder Kombinationen von Internetseiten
und interaktiven Anwendungen unter Verwendung der Prinzipien der
vorliegenden Erfindung gesteuert werden können.
-
Der
Zeitpunkt, zu dem Befehle an einen Rundfunkserver oder eine ähnliche
Vorrichtung gesendet werden, kann je nach Bandbreite, Verbindungsgeschwindigkeit
zum Übertragen
der Daten und Ausführungsansprechzeit
des Rundfunkempfängers
variieren, je nachdem wie schnell er ein Fernsehbild anzeigen kann.
Somit können
die Befehle gesendet werden, bevor das zugrundeliegende Rundfunkereingis
eintritt, genau wenn es eintritt, direkt danach oder beträchtlich
davor. Die Zeitsteuerung der Befehle kann optimiert werden, um bekannte
Informationen zu der am frühesten
verfügbaren
Zeit zu nutzen.
-
Die
Mittel, mit denen die Steuersignale an den Automatisierungsserver
oder eine äquivalente
Vorrichtung geliefert werden, können
variieren. Zu ihnen gehören
binäre
Daten über
einen seriellen Anschluss, ein LAN oder eine Telekommunikationsschnittstelle
mit dem Zeitplanungssystem, oder binäre Daten, die in einem analogen
oder digitalen Videosignal codiert sind.
-
Dementsprechend
soll die vorliegende Erfindung durch die folgenden Ansprüche und
nicht inhärent durch
die Details der oben beschriebenen, bevorzugten Ausführungen
begrenzt sein.