DE60217091T2 - Synchrones aktualisieren dynamischer interaktiver anwendungen - Google Patents

Synchrones aktualisieren dynamischer interaktiver anwendungen Download PDF

Info

Publication number
DE60217091T2
DE60217091T2 DE60217091T DE60217091T DE60217091T2 DE 60217091 T2 DE60217091 T2 DE 60217091T2 DE 60217091 T DE60217091 T DE 60217091T DE 60217091 T DE60217091 T DE 60217091T DE 60217091 T2 DE60217091 T2 DE 60217091T2
Authority
DE
Germany
Prior art keywords
interactive application
broadcast
event
program
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60217091T
Other languages
English (en)
Other versions
DE60217091D1 (de
Inventor
C. Bryan Fremont GEBHARDT
Houman Alameda AZARM
N. Charles Oakland McCULLOUGH
S. Edgard San Francisco VALDIVIA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wink Communications Inc
Original Assignee
Wink Communications Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/843,614 external-priority patent/US7222155B1/en
Application filed by Wink Communications Inc filed Critical Wink Communications Inc
Application granted granted Critical
Publication of DE60217091D1 publication Critical patent/DE60217091D1/de
Publication of DE60217091T2 publication Critical patent/DE60217091T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • H04N7/088Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)

Description

  • 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
    Figure 00270001
  • 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
    Figure 00290001
    Figure 00300001
  • 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
    Figure 00340001
    Figure 00350001
  • 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
    Figure 00360001
  • 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
    Figure 00380001
  • Figure 00390001
  • 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
    Figure 00400001
  • Figure 00410001
  • 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.
  • Tabelle 7: Ereignistypen
    Figure 00440001
  • 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
    Figure 00450001
    • *: 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
    Figure 00460001
  • 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
    Figure 00510001
  • 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
    Figure 00520001
  • 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.
  • Figure 00530001
  • 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.
  • Tabelle 13
    Figure 00610001
  • 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.

Claims (27)

  1. Computerimplementiertes Verfahren zum Aktualisieren einer interaktiven Anwendung, die über ein Übertragungsmedium (118) von einem Rundfunksystem (114, 116) an eine Empfangsvorrichtung (120) mittels Rundfunk übertragen wird; wobei das Verfahren umfaßt: Empfangen eines Rundfunksignals, das zumindest eine Aufzeichnung einer ersten interaktiven Anwendung (115) enthält, an dem Rundfunksystem; gekennzeichnet durch Auswählen einer zweiten interaktiven Anwendung (115) und Übertragen von Aufzeichnungen der zweiten interaktiven Anwendung an die Empfangsvorrichtung (120) anstelle zumindest einiger der Aufzeichnungen der ersten interaktiven Anwendung zur Ausführung der zweiten interaktiven Anwendung durch die Empfangsvorrichtung; Empfangen von einer oder mehreren zusätzlichen Aufzeichnungen der ersten interaktiven Anwendung in dem Rundfunksignal an dem Rundfunksystem; und Übertragen ausgewählter zusätzlicher Aufzeichnungen von dem Rundfunksystem an die Empfangsvorrichtung zur Ausführung der zweiten interaktiven Anwendung in Verbindung mit den zusätzlichen Aufzeichnungen.
  2. Verfahren nach Anspruch 1, bei dem die zweite interaktive Anwendung eine individuell angepaßte Version der ersten interaktiven Anwendung ist.
  3. Verfahren nach Anspruch 1, bei dem die erste interaktive Anwendung über ein erstes Transportprotokoll übertragen wird und die zweite interaktive Anwendung über ein zweites Transportprotokoll übertragen wird.
  4. Verfahren nach Anspruch 1, bei dem die erste interaktive Anwendung über ein analoges Transportprotokoll übertragen wird und die zweite interaktive Anwendung über ein digitales Transportprotokoll übertragen wird.
  5. Verfahren nach Anspruch 4, bei dem das analoge Transportprotokoll die vertikale Austastlücke eines analogen übertragenen Fernsehsignals ist.
  6. Verfahren nach Anspruch 4, bei dem das digitale Transportprotokoll ein MPEG-Signal ist.
  7. Verfahren nach Anspruch 4, bei dem das digitale Transportprotokoll ein ATVEF-Signal ist.
  8. Verfahren nach Anspruch 4, bei dem das digitale Transportprotokoll ein HTTP-Signal ist.
  9. Verfahren nach Anspruch 4, bei dem das Übertragen der zusätzlichen Aufzeichnungen an die Empfangsvorrichtung ferner das Umwandeln der aktualisierten Aufzeichnungen von einem mit dem anlogen Transportprotokoll kompatiblen Format zu einem mit dem digitalen Transportprotokoll kompatiblen Format umfaßt.
  10. Verfahren nach Anspruch 1, bei dem das Übertragen von ausgewählten, aktualisierten, zusätzlichen Aufzeichnungen an die Empfangsvorrichtung ferner umfaßt: Auswählen einer zusätzlichen Aufzeichnung, die eine Aktualisierung einer entsprechenden Aufzeichnung der zweiten interaktiven Anwendung ist.
  11. Verfahren nach Anspruch 10, bei dem das Auswählen einer zusätzlichen Aufzeichnung, die eine Aktualisierung einer entsprechenden Aufzeichnung der zweiten interaktiven Anwendung ist, ferner umfaßt: Speichern einer aktuellen Sequenznummer für jede Aufzeichnung der ersten interaktiven Anwendung; Bestimmen, ob eine Sequenznummer für eine empfangene zusätzliche Aufzeichnung der ersten interaktiven Anwendung die aktuelle Sequenznummer für die Aufzeichnung übersteigt; und Auswählen der zusätzlichen Aufzeichnung und Anpassen der gespeicherten Sequenznummer für die zusätzliche Aufzeichnung an die empfangene Sequenznummer abhängig von der Bestimmung, daß die Sequenznummer die gespeicherte Sequenznummer übersteigt.
  12. Verfahren nach Anspruch 10, bei dem das Auswählen einer zusätzlichen Aufzeichnung, die eine Aktualisierung einer entsprechenden Aufzeichnung der zweiten interaktiven Anwendung ist, ferner umfaßt: Speichern einer aktuellen Sequenznummer für jede Aufzeichnung der ersten interaktiven Anwendung; für jede zusätzliche Aufzeichnung der ersten interaktiven Anwendung durch Identifizieren eines Update-Flags Bestimmen, ob die Aufzeichnung eine Aktualisierung ist; für jede zusätzliche Aufzeichnung mit Update-Flag Bestimmen, ob die zusätzliche Aufzeichnung verwendet werden soll, durch Bestimmen, ob eine Sequenznummer für eine empfangene zusätzliche Aufzeichnung der interaktiven Anwendung die aktuelle Sequenznummer für die Aufzeichnung übersteigt; und Anpassen der gespeicherten Sequenznummer für die zusätzliche Aufzeichnung an die empfangene Sequenznummer abhängig von der Bestimmung, daß die Sequenznummer die gespeicherte Sequenznummer übersteigt.
  13. Verfahren nach Anspruch 1, bei dem das Übertragen einer ausgewählten zusätzlichen Aufzeichnung an die Empfangsvorrichtung ferner umfaßt: Übertragen einer aktualisierten zusätzlichen Aufzeichnung nur dann, wenn die zusätzliche Aufzeichnung mit einer entsprechenden Aufzeichnung in der zweiten interaktiven Anwendung kompatibel ist.
  14. Verfahren nach Anspruch 1, bei dem das Übertragen der ausgewählten zusätzlichen Aufzeichnungen an die Empfangsvorrichtung ferner umfaßt: Bestimmen, ob die zusätzlichen Aufzeichnungen mit entsprechenden Aufzeichnungen der zweiten interaktiven Anwendung kompatibel sind, indem: eine erste Prüfsumme der inhaltslosen Abschnitte der zusätzlichen Aufzeichnungen der ersten interaktiven Anwendung an eine erste Prüfsumme der inhaltslosen Abschnitte der entsprechenden Aufzeichnungen angepaßt wird, die einen variablen Inhalt haben.
  15. Verfahren nach Anspruch 14, bei dem die inhaltslosen Abschnitte der Aufzeichnungen zumindest ein Element der Gruppe aus: Aufzeichnungs-ID; Aufzeichnungstyp; und Aufzeichnungsname enthalten.
  16. Verfahren nach Anspruch 14, bei dem das Übertragen der ausgewählten zusätzlichen Aufzeichnungen an die Empfangsvorrichtung ferner umfaßt: Anpassen einer zweiten Prüfsumme von statischen Abschnitten der Aufzeichnungen der ersten interaktiven Anwendung an eine zweite Prüfsumme der statischen Abschnitte der Aufzeichnungen der zweiten interaktiven Anwendung.
  17. Verfahren nach Anspruch 1, ferner umfassend: Empfangen von Steuerinformationen zum Steuern der Ausführung der zweiten interaktiven Anwendung an der Empfangsvorrichtung in dem Rundfunksignal an dem Rundfunksystem; und Übertragen der Steuerinformationen an die Empfangsvorrichtung.
  18. System zum Aktualisieren einer interaktiven Anwendung, die über ein Übertragungsmedium (118) von einem Rundfunksystem (114, 116) an eine Empfangsvorrichtung (120) mittels Rundfunk übertragen wird; wobei das System gekennzeichnet ist durch: einen Codedetektor (502, 1302), der ausgebildet ist, ein Rundfunksignal zu empfangen und Codes in dem Signal zu identifizieren, die sich auf eine Änderung eines Zustands (802, 804, 806, 808, 1102, 1104, 1106, 1108) einer ersten interaktiven Anwendung (115) beziehen, und der Ausgangssignale bereitstellt, welche die Zustandsänderung angeben; einen Server, der Zustandsinformationen für die erste interaktive Anwendung abhängig von den Ausgangssignalen von dem Codedetektor aufrechterhält und abhängig von dem Zustand der ersten interaktiven Anwendung Befehle ausgibt, um die Ausgabe aktualisierter Aufzeichnungen der interaktiven Anwendung zu beginnen oder zu beenden; einen Codeleser (1304), der ausgebildet ist, interaktive Anwendungscodes einer interaktiven Anwendung zu lesen und Aufzeichnungen der ersten interaktiven Anwendung zu identifizieren, die Aktualisierungen entsprechender Aufzeichnungen einer zweiten inter aktiven Anwendung (115) sind, die in einem Rundfunkserver (110) gespeichert sind, und der zur Übertragung mit dem Server verbunden ist und der wahlweise die aktualisierten Aufzeichnungen abhängig von den Befehlen von dem Server an den Rundfunkserver (110) liefert; und einen Rundfunkserver (110), der anstelle der ersten interaktiven Anwendung die zweite interaktive Anwendung an Empfangseinrichtungen zur Ausführung durch die Empfangseinrichtungen überträgt und wahlweise die aktualisierten Aufzeichnungen zur Ausführung der zweiten interaktiven Anwendung in Verbindung mit den aktualisierten Aufzeichnungen an die Empfangsvorrichtungen überträgt.
  19. System nach Anspruch 18, bei dem der Codedetektor durch Erfassen von Änderungen in einem interaktiven Anwendungsidentifikationscode Codes identifiziert, die sich auf eine Änderung des Zustands einer interaktiven Anwendung beziehen.
  20. System nach Anspruch 18, bei dem der Codedetektor Codes identifiziert, die sich auf eine Änderung des Zustands einer interaktiven Anwendung beziehen, indem er einen neuen interaktiven Anwendungsidentifikationscode erfaßt.
  21. System nach Anspruch 20, bei dem der Server abhängig von einem Ausgangssignal des Codedetektors, das einen neuen interaktiven Identifikationscode angibt, dem Codeleser befiehlt anzufangen, aktualisierte Aufzeichnungen des Rundfunkservers zu liefern.
  22. System nach Anspruch 18, bei dem der Codedetektor durch Erfassen eines Nichtvorhandenseins eines interaktiven Anwendungsidentifikationscodes in dem Rundfunksignal für eine vorbestimmte Zeitdauer Codes identifiziert, die sich auf eine Änderung des Zustands einer interaktiven Anwendung beziehen.
  23. System nach Anspruch 22, bei dem der Server abhängig von einem Ausgangssignal des Codedetektors, das ein Nichtvorhandensein des interaktiven Identifikationscodes für die vorbestimmte Zeit angibt, dem Codeleser befiehlt aufzuhören, aktualisierte Aufzeichnungen der zweiten interaktiven Anwendung an den Rundfunkserver zu liefern.
  24. System nach Anspruch 18, bei dem der Codeleser aktualisierte Aufzeichnungen zwischenspeichert, bevor er einen Befehl von dem Server empfängt, die aktualisierten Aufzeichnungen an den Rundfunkserver zu liefern.
  25. System nach Anspruch 18, bei dem der Codedetektor Befehle zum Steuern der Ausführung der ersten interaktiven Anwendung in einem geschützten Abschnitt des Rundfunk signals erfaßt, und der Codeleser die Befehle an den Rundfunkserver zum Übertragen an die Empfangsvorrichtung liefert.
  26. System nach Anspruch 18, das ferner eine Einrichtung zum Ausführen der Verfahrensschritte nach einem der Ansprüche 2 bis 16 umfaßt.
  27. Computerlesbares Medium zum Implementieren eines Verfahrens zum Aktualisieren einer interaktiven Anwendung nach einem der Ansprüche 1 bis 17.
DE60217091T 2001-04-25 2002-04-25 Synchrones aktualisieren dynamischer interaktiver anwendungen Expired - Lifetime DE60217091T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US843614 2001-04-25
US09/843,614 US7222155B1 (en) 1999-06-15 2001-04-25 Synchronous updating of dynamic interactive applications
PCT/US2002/013125 WO2002086746A1 (en) 2001-04-25 2002-04-25 Synchronous updating of dynamic interactive applications

Publications (2)

Publication Number Publication Date
DE60217091D1 DE60217091D1 (de) 2007-02-08
DE60217091T2 true DE60217091T2 (de) 2007-06-21

Family

ID=25290526

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60217091T Expired - Lifetime DE60217091T2 (de) 2001-04-25 2002-04-25 Synchrones aktualisieren dynamischer interaktiver anwendungen

Country Status (8)

Country Link
EP (1) EP1381961B1 (de)
JP (1) JP4724420B2 (de)
AT (1) ATE349854T1 (de)
AU (1) AU2002303484B2 (de)
CA (1) CA2445186A1 (de)
DE (1) DE60217091T2 (de)
ES (1) ES2278025T3 (de)
WO (1) WO2002086746A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9414114B2 (en) 2013-03-13 2016-08-09 Comcast Cable Holdings, Llc Selective interactivity
US9485547B2 (en) 2011-08-25 2016-11-01 Comcast Cable Communications, Llc Application triggering
US9699265B2 (en) 2000-04-24 2017-07-04 Comcast Cable Communications Management, Llc Method and system for transforming content for execution on multiple platforms
US9788058B2 (en) 2000-04-24 2017-10-10 Comcast Cable Communications Management, Llc Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US9888292B2 (en) 2000-04-24 2018-02-06 Comcast Cable Communications Management, Llc Method and system to provide interactivity using an interactive channel bug
US11076205B2 (en) 2014-03-07 2021-07-27 Comcast Cable Communications, Llc Retrieving supplemental content

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818438A (en) 1995-04-25 1998-10-06 Bellsouth Corporation System and method for providing television services
AUPS300302A0 (en) * 2002-06-17 2002-07-11 Itvworld.Com Australia Pty Ltd Managing interactive broadcasting services
US20040237120A1 (en) * 2003-05-22 2004-11-25 Lewin Blake P. Systems and methods for dynamically generating and distributing synchronized enhancements to a broadcast signal
JP2007535204A (ja) 2003-12-18 2007-11-29 松下電器産業株式会社 認証プログラム実行方法
CN100562096C (zh) 2003-12-18 2009-11-18 松下电器产业株式会社 用于存储、认证以及执行应用程序的方法
US8286203B2 (en) 2003-12-19 2012-10-09 At&T Intellectual Property I, L.P. System and method for enhanced hot key delivery
JP2008505519A (ja) * 2004-06-30 2008-02-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンテンツ管理モジュールおよびかかるコンテンツ管理モジュールを含む装置ならびに対話型アプリケーションを制御する方法
EP1696321A1 (de) * 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Durchführung von Softwareanwendungen
US7721318B2 (en) 2005-04-15 2010-05-18 Scientific-Atlanta, Inc. Uplink signaling for global decoder control
US7805750B2 (en) 2005-04-15 2010-09-28 Scientific-Atlanta, Inc. Storage control system
US7810131B2 (en) 2005-04-15 2010-10-05 Scientific-Atlanta, Llc Control system with global control stream for controlling a plurality of decoders
CN100486329C (zh) * 2005-11-16 2009-05-06 中兴通讯股份有限公司 一种iptv与流媒体设备的接口适配方法
US8402503B2 (en) 2006-02-08 2013-03-19 At& T Intellectual Property I, L.P. Interactive program manager and methods for presenting program content
EP1881667A1 (de) * 2006-07-17 2008-01-23 Motorola, Inc., A Corporation of the State of Delaware; Gerät und Verfahren zur Darstellung eines Ereignisses während der Rundfunksendung
WO2010114889A1 (en) * 2009-04-01 2010-10-07 Fourthwall Media, Inc. Systems, methods, and apparatuses for enhancing video advertising with interactive content
JP5907958B2 (ja) * 2011-05-19 2016-04-26 日本放送協会 放送機器
JP6892490B2 (ja) * 2017-03-24 2021-06-23 マクセル株式会社 放送受信装置
JP6612805B2 (ja) * 2017-03-24 2019-11-27 マクセル株式会社 放送受信装置及びキャッシュ制御方法
CN107920277A (zh) * 2017-11-06 2018-04-17 深圳创维-Rgb电子有限公司 Epg信息扩充方法、装置及计算机可读存储介质
CN110413347B (zh) * 2019-07-31 2023-08-18 Oppo广东移动通信有限公司 应用程序中广告的处理方法、装置、存储介质及终端

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5861881A (en) * 1991-11-25 1999-01-19 Actv, Inc. Interactive computer system for providing an interactive presentation with personalized video, audio and graphics responses for multiple viewers
DE69534896T2 (de) * 1994-10-24 2006-10-12 Intel Corp., Santa Clara Videoindexierungsprotokoll
US6021433A (en) * 1996-01-26 2000-02-01 Wireless Internet, Inc. System and method for transmission of data
US5961603A (en) * 1996-04-10 1999-10-05 Worldgate Communications, Inc. Access system and method for providing interactive access to an information source through a networked distribution system
DE69827639T2 (de) * 1998-09-11 2005-05-25 Two Way Media Lt Ablieferung von Interaktiven Anwendungen

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10609451B2 (en) 2000-04-24 2020-03-31 Comcast Cable Communications Management, Llc Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US10742766B2 (en) 2000-04-24 2020-08-11 Comcast Cable Communications Management, Llc Management of pre-loaded content
US9699265B2 (en) 2000-04-24 2017-07-04 Comcast Cable Communications Management, Llc Method and system for transforming content for execution on multiple platforms
US9788058B2 (en) 2000-04-24 2017-10-10 Comcast Cable Communications Management, Llc Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US9888292B2 (en) 2000-04-24 2018-02-06 Comcast Cable Communications Management, Llc Method and system to provide interactivity using an interactive channel bug
US10171624B2 (en) 2000-04-24 2019-01-01 Comcast Cable Communications Management, Llc Management of pre-loaded content
US9485547B2 (en) 2011-08-25 2016-11-01 Comcast Cable Communications, Llc Application triggering
US10735805B2 (en) 2011-08-25 2020-08-04 Comcast Cable Communications, Llc Application triggering
US11297382B2 (en) 2011-08-25 2022-04-05 Comcast Cable Communications, Llc Application triggering
US11968419B2 (en) 2011-08-25 2024-04-23 Comcast Cable Communications, Llc Application triggering
US9414114B2 (en) 2013-03-13 2016-08-09 Comcast Cable Holdings, Llc Selective interactivity
US11665394B2 (en) 2013-03-13 2023-05-30 Comcast Cable Communications, Llc Selective interactivity
US11877026B2 (en) 2013-03-13 2024-01-16 Comcast Cable Communications, Llc Selective interactivity
US11076205B2 (en) 2014-03-07 2021-07-27 Comcast Cable Communications, Llc Retrieving supplemental content
US11736778B2 (en) 2014-03-07 2023-08-22 Comcast Cable Communications, Llc Retrieving supplemental content

Also Published As

Publication number Publication date
JP2005527171A (ja) 2005-09-08
WO2002086746A1 (en) 2002-10-31
CA2445186A1 (en) 2002-10-31
DE60217091D1 (de) 2007-02-08
EP1381961A4 (de) 2005-03-09
AU2002303484B2 (en) 2006-06-15
ATE349854T1 (de) 2007-01-15
EP1381961A1 (de) 2004-01-21
WO2002086746A8 (en) 2004-01-08
ES2278025T3 (es) 2007-08-01
EP1381961B1 (de) 2006-12-27
JP4724420B2 (ja) 2011-07-13

Similar Documents

Publication Publication Date Title
DE60217091T2 (de) Synchrones aktualisieren dynamischer interaktiver anwendungen
US7222155B1 (en) Synchronous updating of dynamic interactive applications
US7634787B1 (en) Automatic control of broadcast and execution of interactive applications to maintain synchronous operation with broadcast programs
DE69925881T2 (de) Erinnerungsvorrichtung für Rundfunk- und Nicht-Rundfunkereignisse
DE69837194T2 (de) Methode und system zur netzwerkverwendungserfassung
DE60210076T2 (de) Fernbedienung mit eingebautem mobiltelefon für interaktives fernsehen
DE69936279T2 (de) Konfigurierbares System für die Ermittlung der Zahl der Zuschauer und der Benutzung von interaktiven Applikationen
DE69706036T3 (de) Integriertes system für interaktives video und internet
EP0667081B2 (de) Adressierbare schaltungseinrichtung
DE69932060T2 (de) Simulation einer zweiwegverbindung für ein-direktionalle datenströme für mehrere teilnehmer
EP1410628B1 (de) Verfahren und gerät zur selektiven aufnahme von fernsehprogrammen, wobei ereignismeldungen benützt werden
DE69830202T2 (de) Hostgerät zur struktur einer zweiwegverbindung in einwegdatenströmen
DE69824307T2 (de) Mehrkanaliges digitalfernsehsystem
DE69332895T2 (de) Operationszentrale für Fernsehversorgungssystem
DE69726318T2 (de) Digitales interaktives System zur Bereitstellung voller Interaktivität mit live Sendungen
DE112013004029B4 (de) Vorrichtung und Verfahren zum Verarbeiten eines interaktiven Dienstes
US6530084B1 (en) Automated control of interactive application execution using defined time periods
AU2002303484A1 (en) Synchronous updating of dynamic interactive applications
DE69533612T2 (de) Simultane übertragung interaktiver signale mit einem konventionellen videosignal
DE60203175T3 (de) Automatisierte eingabe in einem interaktiven fernsehsystem
DE112016004560T5 (de) Gateway Multi-View-Video-Stream-Verarbeitung für Zweitbildschirminhalts-Überlagerung
DE60303948T2 (de) Synchronisationssystem und verfahren für audiovisuelle programme
DE69934206T2 (de) Übertragungssystem für multiplex signale
DE10195792B4 (de) Bereitstellen eines Betrachter-Incentives zusammen mit Videoinhalt
DE69914349T2 (de) Verfahren und vorrichtung zur verwaltung von dienstedaten in einem fernsehsystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1381961

Country of ref document: EP

Ref document number: 1381961

Country of ref document: EP

Representative=s name: RACKETTE PARTNERSCHAFT PATENTANWAELTE, 79098 FREIB