ES2278025T3 - Actualizacion sincronica de aplicaciones interactivas dinamicas. - Google Patents
Actualizacion sincronica de aplicaciones interactivas dinamicas. Download PDFInfo
- Publication number
- ES2278025T3 ES2278025T3 ES02731509T ES02731509T ES2278025T3 ES 2278025 T3 ES2278025 T3 ES 2278025T3 ES 02731509 T ES02731509 T ES 02731509T ES 02731509 T ES02731509 T ES 02731509T ES 2278025 T3 ES2278025 T3 ES 2278025T3
- Authority
- ES
- Spain
- Prior art keywords
- broadcasting
- interactive
- interactive application
- application
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/08—Systems 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/087—Systems 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/088—Systems 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26208—Content 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/26233—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26258—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
- H04N21/6543—Transmission by server directed to the client for forcing some client operations, e.g. recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8352—Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8545—Content authoring for generating interactive applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer 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)
Abstract
Procedimiento implementado por ordenador para actualizar una emisión de una aplicación interactiva desde un sistema de radiodifusión (114 y 116) hasta un dispositivo de recepción (120), a través de unos medios de transmisión (118), comprendiendo el procedimiento las etapas siguientes: recibir en el sistema de radiodifusión una señal de radiodifusión que comprende por lo menos un registro de una primera aplicación interactiva (115); caracterizado porque se selecciona una segunda aplicación interactiva (115), y se emiten los registros de la segunda aplicación interactiva hasta el dispositivo de recepción (120), en lugar de por lo menos algunos de los registros de la primera aplicación interactiva, para la ejecución de la segunda aplicación interactiva por el dispositivo de recepción; se recibe en el sistema de radiodifusión la señal de radiodifusión de uno o más registros adicionales de la primera aplicación interactiva; y se emiten los registros adicionales seleccionados desde el sistema deradiodifusión hasta el dispositivo de recepción, para la ejecución de la segunda aplicación interactiva en conjunción con los registros adicionales.
Description
Actualización sincrónica de aplicaciones
interactivas dinámicas.
La presente solicitud es una continuación en
parte de la solicitud de n.º de serie 09/333.724 en trámite,
presentada el 15 de junio de 1999. Esta solicitud está relacionada
con las siguientes solicitudes en trámite: la solicitud de n.º de
serie 09/431.001, titulada "Automated Control Of Interactive
Application Execution Using Defined Time Periods", presentada el
1 de noviembre de 1999, de Eric E. Del Sesto, Charles N. McCullough,
Pat Ransil y Houman Azarmand, y la solicitud de n.º de serie
09/754.650, titulada "Ensuring Reliable Delivery of Interactive
Content", presentada el 3 de enero de 2001, de Brian P.
Dougherty, Timothy V. Travaille y Leo C. Meier.
La presente invención se refiere en general al
campo de la televisión interactiva, y más particularmente, al
control automático de la interactividad en sincronía con los
programas de radiodifusión de televisión.
La mayoría de sistemas de televisión interactiva
tratan de aumentar los programas de radiodifusión con interactividad
seleccionable por el telespectador. Por ejemplo, la interactividad
puede emitirse en un canal interactivo especial, pudiendo el
telespectador sintonizar una caja de conexión u otro dispositivo
para recibir y presentar la interactividad. Esta interactividad
suele proporcionarse con una interfaz de usuario que ocupa toda la
pantalla de televisión. De esta forma, el telespectador decide si
desea ver programas de radiodifusión convencionales en los canales
habituales, o utilizar la interactividad en un canal interactivo. En
otras implementaciones, la interactividad puede ser activada en
cualquier canal, pero continúa ocupando toda la pantalla de
televisión. No obstante, en estas implementaciones de televisión
interactiva, no suele ser necesario que la interactividad sea
sincrónica con el programa de radiodifusión concreto que se está
emitiendo, puesto que la interactividad reemplaza toda la pantalla,
bloqueando de ese modo la presentación del programa de
radiodifusión. Los programas de radiodifusión incluyen programas de
televisión, anuncios, guías de programación y similares.
En otra versión de televisión interactiva, lo
que se pretende es ocupar sólo una parte de la pantalla de
televisión y proporcionar la interactividad junto con el programa
que se está emitiendo. Por ejemplo, un programa de juego de
radiodifusión puede venir acompañado de interactividad para permitir
que el telespectador participe en el juego e introduzca respuestas
a las preguntas formuladas durante el programa. Esta interactividad
se presenta únicamente en una parte de la pantalla de televisión,
para permitir que el telespectador continúe viendo el programa
de
radiodifusión.
radiodifusión.
Es deseable que la interactividad que se
presenta junto a un programa de radiodifusión se mantenga en
sincronía con el programa de radiodifusión. Esto significa que la
interactividad deberá estar disponible para el telespectador
siempre que se emita el programa de radiodifusión al que acompaña, y
que cualquier información de estado creada por el espectador (por
ejemplo, el total de puntos acumulados en un juego) deberá
conservarse, aunque el programa de radiodifusión se suspenda
temporalmente y luego se reanude (por ejemplo, durante una pausa
comercial).
Asimismo, esto significa que la interactividad
no deberá aparecer cuando el programa de radiodifusión acompañante
no se emita o se interrumpa por cualquier motivo. En particular,
para obtener una correcta sincronía es necesario que la
interactividad de un programa de televisión no aparezca en la
pantalla cuando se emite un anuncio durante el programa. Esto se
debe a los dos motivos indicados a continuación. En primer lugar, el
anuncio puede ir acompañado de su propia interactividad (por
ejemplo, para que el usuario pueda solicitar información acerca del
producto anunciado). Por lo tanto, será necesario presentar la
interactividad del anuncio, y volver a presentar la interactividad
del programa cuando el anuncio (o la serie de anuncios) finalice y
se reanude el programa de televisión. La nueva presentación de la
interactividad del programa deberá tener lugar de forma rápida y,
como se ha indicado, deberá conservar la información de estado
disponible al iniciarse el anuncio. Por ejemplo, si el
telespectador ha ido acumulando puntos en un juego interactivo,
estos puntos deberán estar disponibles cuando se reanude la
interactividad del programa.
En segundo lugar, aunque los anuncios no
dispongan de su propia interactividad, resulta inadecuado presentar
la interactividad del programa durante los mismos. Esto es debido a
que la interactividad reemplazará una parte de la pantalla de
televisión, ocultando de ese modo una parte del anuncio, hecho que
es inadmisible para el anunciante que ha pagado por la emisión del
anuncio. Asimismo, la interactividad del programa no está asociada
al anuncio, con lo cual su aparición puede crear confusión en el
telespectador.
En consecuencia, es deseable proporcionar un
sistema, un procedimiento y unos productos de software de televisión
interactiva que sincronicen correctamente la interactividad de los
diversos programas de radiodifusión, y se adapten a la interrupción
de éstos por otros programas de radiodifusión.
Aparte de sistemas de televisión interactiva,
los sistemas de radiodifusión de televisión convencionales
proporcionan diversos niveles de control automatizado y manual
sobre la forma de seleccionar y obtener programas para la
transmisión por radiodifusión. Los sistemas de radiodifusión
convencionales suelen incluir un sistema de programación de
radiodifusión, diversas fuentes de radiodifusión, una unidad de
inserción de datos y un transmisor. Las fuentes de radiodifusión
proporcionan el contenido de vídeo, de audio y de otro tipo que se
emite por medio del transmisor. Estas fuentes de radiodifusión
pueden ser diversos tipos de platinas de vídeo y audio, bibliotecas
de cintas de vídeo, fuentes de audio/vídeo digital, fuentes de vídeo
en directo, ordenadores servidores y similares.
El sistema de programación generalmente controla
las fuentes de radiodifusión de un sistema de radiodifusión con
secuencias de señales de control nativas. Estas señales de control
dan la orden de iniciar, detener, cargar o realizar cualquier otra
gestión de los programas de radiodifusión. La secuencia de señales
de control viene determinada principalmente por una lista de
reproducción que indica qué fuente de radiodifusión debe activarse
o desactivarse y en qué momentos, y las asignaciones de canales
hacia los cuales deben encaminarse las fuentes de radiodifusión
activas. En un sistema de control manual, las señales de control se
generan en respuesta a las operaciones manuales de los operadores
humanos para activar o desactivar selectivamente cualquiera de las
fuentes de radiodifusión, y asignar la salida al canal adecuado.
Los datos de radiodifusión de la fuente de
radiodifusión se pasan al transmisor; a continuación, el transmisor
transmite la señal de radiodifusión a una cantidad cualquiera de
receptores de radiodifusión a través de un canal seleccionado y,
por último, el receptor de radiodifusión (tal como una caja de
conexión o un televisor compatible), sintonizado con el canal
seleccionado, recibe la señal de radiodifusión y presenta un
programa de radiodifusión.
Los sistemas y controles manuales de
programación convencionales generalmente proporcionan las señales de
control de salida sólo a las fuentes de radiodifusión o
dispositivos similares. Esto es debido a que estas señales de
control adoptan un formato específico para las fuentes de
radiodifusión y no están destinadas a controlar otros tipos de
equipos de radiodifusión. Por ejemplo, los sistemas de programación
que controlan fuentes de vídeo utilizan señales de control que son
significativas para los dispositivos de fuentes de vídeo. En
consecuencia, es deseable proporcionar un sistema y un procedimiento
que utilicen las señales de control existentes de los sistemas de
programación para facilitar todavía más el control automatizado de
la interactividad sincrónica con los programas de radiodifusión. Es
deseable evitar la necesidad de efectuar modificaciones en el
sistema de programación para utilizar nuevos equipos con capacidad
de automatización.
En algunas radiodifusiones, se insertan unos
códigos que indican el programa de radiodifusión o el tipo de
programa de radiodifusión (por ejemplo, programa de televisión o
anuncio) en la señal de radiodifusión. Un conjunto de códigos
comúnmente utilizado es el sistema de códigos ISCI (Industry
Standard Coding Identification) de American Association of
Advertising Agencies Inc. Los códigos ISCI se utilizan normalmente
para indicar el patrocinio y la afiliación de una radiodifusión
comercial. Sin embargo, estos códigos no se utilizan actualmente
para controlar la ejecución de la interactividad que pueda ir
asociada a un programa de televisión, un anuncio publicitario u
otro tipo de programa de radiodifusión. En consecuencia, es deseable
proporcionar un sistema y un procedimiento que utilicen estos
códigos y otros similares incorporados en la señal de radiodifusión
para controlar la sincronización de la interactividad de diversos
programas de radiodifusión.
Un sistema de televisión interactiva coopera con
el sistema de radiodifusión convencional, tal como el descrito
anteriormente, para proporcionar una interactividad eficaz. Dicho
sistema incluye un servidor de radiodifusión, en el que se almacena
una base de datos de aplicaciones interactivas. Las aplicaciones
interactivas se asocian selectivamente con diversos programas de
radiodifusión y acompañan a dichos programas en el momento de su
emisión. El servidor de radiodifusión suele recibir su propia lista
de reproducción para un período de radiodifusión determinado, y
utiliza la información de programación que ésta contiene para
identificar los programas de radiodifusión particulares que se
están emitiendo actualmente. El servidor de radiodifusión recupera
la aplicación o las aplicaciones interactivas asociadas con el
programa o los programas emitidos actualmente y proporciona estas
aplicaciones interactivas a una unidad de inserción de datos. La
unidad de inserción de datos combina los datos de las aplicaciones
interactivas con los datos de radiodifusión de las fuentes de
radiodifusión para crear la señal de radiodifusión, que entonces
contiene el programa de radiodifusión acompañado de su aplicación
interactiva. La señal de radiodifusión combinada es transmitida por
el transmisor en un canal seleccionado. Cualquiera de los
receptores de radiodifusión sintonizados con el canal recibe la
señal de radiodifusión que contiene tanto el programa de
radiodifusión como la aplicación interactiva acompañante. El
receptor de radiodifusión presenta el programa de radiodifusión y
decodifica y ejecuta la aplicación interactiva, presentándola de la
forma más adecuada en la pantalla de televisión. El servidor de
radiodifusión es capaz, además, de enviar mandatos al receptor de
radiodifusión para iniciar, parar, suspender o reanudar
selectivamente la ejecución de una aplicación interactiva
determinada según las instrucciones predefinidas de la lista de
reproducción.
No obstante, el servidor de radiodifusión no ha
sido integrado previamente en los sistemas de programación
existentes para automatizar el control de las aplicaciones
interactivas, basándose en las señales de control del sistema de
programación. Una de las dificultades en este sentido es la ausencia
de uniformidad (y la variedad) de las señales de control utilizadas
por los diversos tipos de sistemas de programación para controlar
sus fuentes de radiodifusión, que como se ha indicado anteriormente
están destinadas a interconectarse con otras fuentes de
radiodifusión. Este sistema tampoco ha sido previamente sensible a
los códigos ISCI o similares para el control de la interactividad.
En consecuencia, es deseable proporcionar aplicaciones interactivas
sincrónicas a través de una interfaz eficaz entre los sistemas de
programación y el servidor de radiodifusión.
Otro de los problemas de los sistemas de
programación y los servidores de radiodifusión existentes es la
ausencia de flexibilidad en el tratamiento de los cambios parciales
del contenido de las aplicaciones interactivas. En algunos casos,
es deseable realizar sólo cambios seleccionados en el contenido de
una aplicación, en lugar de sustituir toda la aplicación. Por
ejemplo, las aplicaciones de información dinámica electrónica de
cotizaciones bursátiles necesitan una provisión ininterrumpida de
las actualizaciones de los registros de cotizaciones. En otro
ejemplo, las aplicaciones interactivas de noticias nocturnas tal vez
necesiten actualizar sólo las partes relacionadas con los titulares
de noticias actuales, y las aplicaciones interactivas para un
programa de variedades tal vez necesiten actualizar sólo las partes
que describen el horario actual de los invitados. Hasta ahora, los
sistemas existentes se han limitado a realizar estos cambios de la
aplicación interactiva en su fuente de radiodifusión, integrando la
información cambiada en el contenido interactivo antes de generar
la señal de radiodifusión. No obstante, este procedimiento no
permite que los sistemas de radiodifusión locales (por ejemplo, una
cabecera de cable) inserten localmente información importante o
actualizaciones en su ubicación aguas abajo. Además, en los
sistemas en los que un servidor de radiodifusión local puede
sustituir la aplicación interactiva, indicada en la señal de
radiodifusión recibida, por una versión adaptada de la aplicación
interactiva (por ejemplo, una versión con gráficos de calidad más
alta), también es deseable enviar actualizaciones de la señal de
radiodifusión a la aplicación adaptada para integrar las
actualizaciones con la aplicación.
En el documento WO 99/15968, se da a conocer una
red de distribución de televisión que permite a los usuarios
descargar páginas web de Internet relacionadas con los programas de
radiodifusión de televisión emitidos actualmente, mediante la
utilización de hiperenlaces con los canales. A través de un canal
ascendente, el usuario envía las peticiones de hiperenlace con los
canales a la cabecera de red, pulsando el botón de la web del mando
a distancia. La cabecera se interconecta con un proveedor de
servicios de Internet para descargar las páginas web relacionadas.
La cabecera utiliza un señalizador de ID con información del canal y
el tiempo de la petición para identificar la ubicación de la
información que se va a descargar en el usuario. Una aplicación de
navegador transforma la información obtenida en un mapa de bits,
preferentemente comprimido. La aplicación de navegador envía
entonces el mapa de bits comprimido al gestor de presentación visual
del terminal. Preferentemente, el gestor de presentación visual del
terminal es operativo para reducir al mínimo la cantidad de
información que debe transmitirse a la caja de conexión. Esto se
consigue transmitiendo,
a la caja de conexión, sólo la información necesaria para actualizar las partes de la pantalla que van a cambiar.
a la caja de conexión, sólo la información necesaria para actualizar las partes de la pantalla que van a cambiar.
En el artículo
"JTV-Java-enabled Television"
de P. Thrift et al., Proceedings of the SPIE, SPIE,
Bellingham, VA, US, vol. 3228, 4 de noviembre de 1997, pp.
117-122, se da a conocer la API JTV. Esta API
permite a los programadores elaborar y distribuir aplicaciones
interactivas y applets que combinan Java con un contenido de
radiodifusión y de televisión interactiva mejorado.
La solicitud de patente europea EP 1 003 313 da
a conocer un procedimiento para proporcionar una aplicación
interactiva a una pluralidad de plataformas de destino.
La presente invención permite el control
automatizado de la interactividad para que la presentación de la
interactividad se mantenga sincronizada con los respectivos
programas de radiodifusión, independientemente de si un programa de
radiodifusión y su interactividad son interrumpidos por otros
programas de radiodifusión o interactividades.
Según una forma de realización de la presente
invención, las señales de control utilizadas normalmente sólo para
controlar las fuentes de radiodifusión (o dispositivos similares,
tales como los subtituladores) se reciben y procesan para
proporcionar mandatos a un servidor de radiodifusión. Estos mandatos
dan selectivamente la orden de controlar la ejecución de la
interactividad en un receptor de radiodifusión, al servidor de
radiodifusión. A su vez, el servidor de radiodifusión transmite
mandatos al receptor de radiodifusión, que ejecuta los mandatos
para controlar la interactividad.
Las señales de control utilizadas en la presente
invención pueden proceder de una diversidad de fuentes; por
ejemplo, de un sistema de programación de radiodifusión convencional
que funciona en modalidad automática o manual, o de fuentes
pregrabadas que codifican las señales en conjunción con los
programas de radiodifusión (p. ej., en cinta de vídeo).
Como se ha indicado, las señales de control se
suelen formatear específicamente para controlar las fuentes de
radiodifusión (p. ej., los tipos particulares de vídeo, audio u
otros dispositivos de salida). Además, las señales de control
simplemente controlan la radiodifusión de estas fuentes y no
presentan ninguna relación directa o intrínseca con la ejecución de
la interactividad. En consecuencia, la presente invención convierte
las señales de control en mandatos que son aceptables por el
servidor de radiodifusión para controlar selectivamente la
ejecución de la interactividad.
En la presente invención, puede utilizarse
también información de estado del servidor de radiodifusión para
determinar el estado actual de la ejecución de la interactividad en
diversos de los receptores de radiodifusión. Esta información de
estado permite generar diferentes mandatos en respuesta a las
señales de control opacas procedentes del sistema de
programación.
La presente invención permite el control
sincrónico automatizado de la interactividad para una diversidad de
tipos de sistemas de programación de radiodifusión diferentes. En
general, los diversos tipos de sistemas de programación
proporcionan diferentes cantidades y tipos de información en sus
señales de control.
Ciertos sistemas de programación básicos
proporcionan simplemente una señal de control que da la orden de
iniciar, detener o preparar un programa de radiodifusión, y que a
veces incluye un ID de programa de radiodifusión para el programa.
Para este tipo de sistema de programación, la identificación del
programa de radiodifusión (por ejemplo, un programa de televisión o
un anuncio) se utiliza para determinar si existe una aplicación
interactiva adjunta para el programa de radiodifusión. La
información de temporización se utiliza para determinar si la
aplicación interactiva debe iniciarse, detenerse, suspenderse o
reanudarse. Se proporcionan mandatos y datos adecuados para que el
servidor de radiodifusión controle selectivamente la emisión de la
aplicación interactiva.
Otro tipo de sistema de programación proporciona
señales de control que pueden utilizarse para identificar los
programas comerciales que se están emitiendo durante un programa de
televisión, aunque por otro lado no identifican los propios
programas de televisión. La presente invención utiliza esta
información para identificar la interactividad asociada al anuncio
y proporcionar, de ese modo, los mandatos para que el servidor de
radiodifusión lleve a cabo la emisión de la interactividad
identificada, junto con los mandatos de suspensión y reanudación
selectiva de la interactividad que puede acompañar al programa de
televisión en el que se ha emitido el anuncio.
Otro tipo de sistema de programación proporciona
señales de control que indican el programa junto con su duración.
En este caso, la presente invención es capaz de suspender y reanudar
selectivamente la interactividad adecuada para un programa de
radiodifusión y los anuncios intermedios.
En una forma de realización, la presente
invención proporciona un servidor de automatización que actúa de
interfaz entre los sistemas de programación de radiodifusión
convencionales y un servidor de aplicaciones interactivas (y otras
formas de interactividad), para controlar selectivamente la
ejecución de la interactividad que puede acompañar a los programas
de radiodifusión, en respuesta a las señales de control generadas
por el sistema de programación.
Según la presente invención, el servidor de
automatización se interconecta además con el servidor de
radiodifusión para proporcionar a éste mandatos de inicio,
cancelación, suspensión o reanudación selectiva de la ejecución de
una aplicación interactiva. Mediante las señales de control del
sistema de programación, el servidor de automatización determina
qué programas de radiodifusión se están emitiendo, y crea y mantiene
información de estado acerca del estado de cada programa de
radiodifusión. Mediante la información que indica los programas de
radiodifusión y la interactividad asociada a éstos (si la hubiera),
el servidor de automatización también mantiene información de
estado acerca del estado de cada aplicación interactiva. Utilizando
esta información de estado y las señales de control del sistema de
programación, el servidor de automatización determina los mandatos
adecuados que van a enviarse al servidor de radiodifusión para
mantener la sincronía entre los programas de radiodifusión y las
aplicaciones
interactivas.
interactivas.
Gracias a este comportamiento sincrónico, la
interactividad aparece en los momentos en que se presenta el
programa asociado y no aparece en otros momentos. Por ejemplo, la
presente invención proporciona la presentación sincrónica adecuada
de las aplicaciones interactivas de los programas de televisión que
están segmentados por una o más pausas comerciales (cada una de las
cuales puede constar de varios anuncios que, a su vez, pueden
disponer de su propia interactividad). La presente invención detecta
cuándo se produce una pausa comercial durante la emisión de un
programa de televisión a partir de las señales de control del
sistema de programación. A continuación, la presente invención
puede suspender (detener) la ejecución de la interactividad del
programa de televisión, sin cancelar la interactividad, hasta que
se pueda determinar con seguridad que no existen más segmentos del
mismo programa de televisión una vez que el anuncio ha finalizado.
Durante la pausa comercial, se ejecuta la interactividad adecuada
para los anuncios. Si el programa de televisión se reanuda, es
decir, se emite otro segmento del programa de televisión, la
presente invención detecta que el segmento anterior y el segmento
actual están relacionados y reinicia la interactividad suspendida,
restaurando cualquier información de estado (p. ej., los puntos
conseguidos actualmente en un juego, los datos de formularios, etc.)
que pueda haberse creado antes de la pausa comercial. Si el
programa de televisión no se reanuda después de la pausa comercial
y se emite un nuevo programa de televisión, también en este caso la
presente invención detecta el cambio de programa de radiodifusión y
finaliza la interactividad del anterior programa de televisión e
inicia la interactividad del siguiente programa de televisión.
En una forma de realización de la presente
invención, el servidor de automatización incluye una pluralidad de
interfaces de canal, cada una de las cuales recibe y gestiona las
señales de control de un canal específico. Cada interfaz de canal
incluye un módulo conversor y un gestor de eventos. El módulo
conversor convierte las señales de control nativas del sistema de
programación, referentes a los programas de radiodifusión emitidos
por el canal, en un grupo fijo de mandatos atómicos. El conversor
también mantiene información de estado acerca del ciclo de vida de
cada programa de radiodifusión. El gestor de eventos recibe los
mandatos atómicos y los convierte en mandatos para que el servidor
de radiodifusión controle la interactividad de los programas de
radiodifusión. El gestor de eventos mantiene información de estado
acerca del ciclo de vida de las aplicaciones interactivas del canal
y, a partir de esta información de estado, genera los mandatos
adecuados para el servidor de radiodifusión. Gracias a la
utilización de un conversor y un gestor de eventos separados, la
presente invención puede interactuar fácilmente con los diferentes
sistemas de programación utilizando conversores diferentes,
mientras conserva el mismo gestor de eventos. Además, la separación
del módulo conversor y el gestor de eventos permite al servidor de
automatización interactuar potencialmente con diferentes tipos de
servidores de radiodifusión creando nuevos tipos de gestores de
eventos, sin necesidad de realizar cambios en el módulo conversor.
Esta característica permite al servidor de automatización cooperar
con la interactividad definida en diversas normas que puede ser
desarrollada en el futuro.
En el contexto de la presente invención, la
interactividad puede ser proporcionada por cualquiera de las formas
de aplicaciones interactivas, tales como las que se transmiten en la
misma señal que los programas de radiodifusión y son ejecutadas por
el receptor de radiodifusión u otro dispositivo de usuario final que
recibe la señal de radiodifusión, o las aplicaciones interactivas
ejecutadas en una cabecera de cable u otra fuente de radiodifusión,
las aplicaciones interactivas que se ejecutan en un ordenador
convencional y se emiten a través de Internet u otras redes en
sincronía con los programas de radiodifusión, o las que se
proporcionan asincrónicamente respecto del programa de
radiodifusión y se ejecutan cuando es necesario.
En otra forma de realización, la presente
invención detecta los registros actualizados de una aplicación
interactiva en la señal de radiodifusión, y proporciona
selectivamente estas actualizaciones al servidor de radiodifusión.
Esto permite al servidor de radiodifusión transmitir estas
actualizaciones a los receptores de radiodifusión que están
recibiendo la aplicación, e integrar dichas actualizaciones en la
aplicación. Una forma de realización de este sistema incluye un
gestor de actualizaciones que presenta un lector de códigos y un
detector de códigos. El detector de códigos detecta la presencia,
la ausencia o los cambios de los códigos de identificación en la
señal de radiodifusión, y avisa acerca de los mismos al módulo
conversor (o gestor de eventos) del servidor de automatización. El
lector de códigos extrae los registros actualizados de la señal de
radiodifusión. El gestor de eventos indica al lector de códigos que
debe iniciar o interrumpir la provisión de registros actualizados
al servidor de radiodifusión. Esto permite al sistema local que
presenta el servidor de radiodifusión extraer actualizaciones de la
señal de radiodifusión e integrar dichas actualizaciones en la
versión local de la aplicación, para combinar de ese modo las
actualizaciones de la entidad de radiodifusión remota (p. ej., una
entidad de radiodifusión de red) con aplicaciones relevantes
localmente o aplicaciones adaptadas (p. ej., aplicaciones digitales
de ancho de banda superior).
El servidor de automatización de la presente
invención puede adoptar la forma de realización de un producto de
software o de una parte de un sistema o un aparato de mayor tamaño
que incluye hardware y software para usos especiales. Asimismo, la
presente invención puede llevarse a la práctica como una diversidad
de procedimientos para controlar la ejecución de la interactividad
asociada con los programas de radiodifusión.
La Figura 1 es una ilustración de un sistema
según la presente invención.
La Figura 2 es una ilustración de un receptor de
radiodifusión.
La Figura 3 es un diagrama de flujo del
procedimiento global de recepción y ejecución de aplicaciones
interactivas.
La Figura 4 es una ilustración del servidor de
automatización de una forma de realización de la presente
invención.
La Figura 5 es una ilustración de una interfaz
de canal, que incluye un módulo conversor y un gestor de
eventos.
La Figura 6 es un diagrama del ciclo de vida del
gestor de interfaces.
La Figura 7 es un diagrama del ciclo de vida de
una interfaz de canal, que incluye un módulo conversor y un gestor
de eventos.
La Figura 8 es un diagrama de máquina de estados
para un conversor ideal.
La Figura 9 es un diagrama de flujo de la lógica
de correlación del módulo conversor.
La Figura 10 es un diagrama de flujo de la
lógica de correlación del gestor de eventos.
La Figura 11 es un diagrama de máquina de
estados del gestor de eventos.
La Figura 12 es un diagrama de traza de eventos
en el que se representa la segmentación de la interactividad de un
programa de radiodifusión con respecto a los anuncios.
La Figura 13 es una ilustración de un sistema
que proporciona actualizaciones para las aplicaciones interactivas
dinámicas.
Con referencia a la Figura 1, se representa una
ilustración de un sistema según la presente invención. Debe tenerse
en cuenta que el sistema ilustrado en la Figura 1 puede incorporarse
en sistemas más complejos y de mayor tamaño, que seguirán
proporcionando las características y ventajas de la presente
invención.
En general, el sistema 100 comprende un sistema
de programación 106, un servidor de automatización 108, un servidor
de radiodifusión 110, un sistema de tráfico 104, unas fuentes de
programas de radiodifusión 102, una unidad de inserción de datos
116 y un transmisor 118. Estos elementos se utilizan habitualmente
en una forma de realización utilizada por un operador de cable en
una cabecera de cable. La implementación de la presente invención
en otras instalaciones es, por supuesto, factible. Los receptores de
radiodifusión (BR) 120 están distribuidos remotamente en los
domicilios, las oficinas y otros edificios similares de los
telespectadores. La persona o las personas que reciben los
programas se denominan "abonados" o "telespectadores".
El sistema 100 coopera con varias entidades de
radiodifusión 114. Una entidad de radiodifusión 114 proporciona el
material de programación que se va a transmitir a los BR 120. El
término "entidad de radiodifusión" 114 hace referencia, en la
presente memoria, a una entidad que proporciona un programa que se
va a transmitir en una señal de radiodifusión. Un "programa"
es un segmento discreto de una emisión. Por lo tanto, en la presente
memoria, los programas incluyen programas de televisión, anuncios
publicitarios, anuncios de servicios públicos, eventos de pago por
visión y similares. Las entidades de radiodifusión incluyen redes de
televisión, así como anunciantes que preparan anuncios, proveedores
de pago por visión, redes de cable y similares.
Una entidad de radiodifusión 114 proporciona
datos de vídeo de radiodifusión (que incluyen, según las
necesidades, datos de audio y otros tipos de datos) a diversas
fuentes de programas de radiodifusión 102, tales como una serie de
reproductores de cintas de vídeo, reproductores de discos láser,
subtituladores, servidores de vídeo, generadores de caracteres,
máquinas de edición de audio, memorias de imágenes fijas, sistemas
de efectos digitales, transmisiones directas desde los estudios,
transmisiones directas remotas sobre el terreno (p. ej. desde las
cámaras que registran un evento deportivo en directo) y similares
que contienen o generan material de programación. Los datos de
vídeo de radiodifusión se almacenan en las fuentes de programas de
radiodifusión 102 hasta que se necesitan para la emisión. Entre las
fuentes de programas de radiodifusión adecuadas, se incluyen la
biblioteca TCS45 Automated Video Library de Odetics, Inc., Anaheim,
California y el servidor MediaStream de
Hewlett-Packard, Palo Alto, California y
dispositivos o sistemas similares.
El sistema de tráfico 104 recibe un horario de
programación desde la entidad de radiodifusión 114. El horario de
programación indica qué programas proporcionados por la entidad de
radiodifusión 114 se van a emitir, por qué canales se van a emitir
y a qué horas se van a emitir. Dependiendo de la entidad de
radiodifusión 114, pueden incluirse programas comerciales dentro
del horario de programación, o pueden proporcionarse intervalos de
tiempo para la inserción de los anuncios proporcionados por otras
entidades de radiodifusión 114 dentro del horario de programación.
El sistema de tráfico 104 integra los horarios de programación de
las numerosas entidades de radiodifusión diferentes con la
información de programación de radiodifusión generada localmente
(p. ej., por el operador de cable) para generar una lista de
reproducción 113. Un sistema de tráfico 104 adecuado es el
Columbine JDS de Columbine JDS Systems, Inc.
En una forma de realización, esta lista de
reproducción 113 se prepara con antelación a las emisiones e indica
los programas que serán emitidos en momentos particulares.
Preferentemente, la lista de reproducción 113 contiene suficiente
información para identificar los programas, y los tiempos de inicio
y fin y las asignaciones de canal y red de éstos. Además, para cada
programa y tiempo particular, puede disponerse de información que
indica la fuente de programas de radiodifusión particular 102 que va
a proporcionar el programa.
El sistema de programación 106 puede incluir
componentes de control manual o automatizado (o de ambos tipos) y
aparatos de conmutación adecuados. El sistema de programación 106
recibe además la lista de reproducción 113 que indica los programas
que se van a emitir, los tiempos de emisión y las fuentes de
programas de radiodifusión 102 utilizadas. Por medio de sus
componentes manuales o automatizados, el sistema de programación 106
acopla las fuentes de programas de radiodifusión a los respectivos
medios de radiodifusión para controlar las fuentes de programas y
los medios de radiodifusión utilizados en un momento dado. Más
particularmente, el sistema de programación 106 genera señales de
control nativas que se formatean, y habitualmente sólo son
significativas, para las diversas fuentes de programas de
radiodifusión 102. Los tipos y la complejidad de los componentes
automatizados y manuales varían, así como lo hacen los tipos de
señales de control que éstos proporcionan. El componente manual del
sistema de programación 106 es utilizado por el operador para
seleccionar y activar manualmente las fuentes de programas de
radiodifusión 102 según las necesidades, y generar las
correspondientes señales de control que son igualmente recibidas
por el servidor de automatización 108.
Otra fuente de señales de control para el
servidor de automatización 108 incluye señales de control
pregrabadas que se incluyen con los datos de radiodifusión en las
fuentes de radiodifusión 102. Por lo tanto, las señales de control
adecuadas para un programa de radiodifusión particular pueden
generarse previamente y almacenarse en una cinta de vídeo del
programa de radiodifusión en momentos adecuados. Esta forma de
almacenamiento de las señales de control puede realizarse en
cualquiera de los medios en los que se almacenan los programas de
radiodifusión. Como alternativa, las señales de control pueden
grabarse previamente y almacenarse en los medios por separado de
los programas de radiodifusión, y reproducirse en conjunción con
éstos. Otra posibilidad es incorporar en tiempo real las señales de
control en los datos de radiodifusión, utilizando, por ejemplo, un
generador de códigos de tiempo VITC o una unidad de inserción de
datos NORPAK.
Además, para obtener las señales de control,
puede aplicarse la tecnología de activar o extraer las mismas del
sistema de programación 106.
\newpage
Preferentemente el servidor de radiodifusión 110
es un sistema informático que ejecuta uno o más programas de
software que proporcionan las funciones descritas en la presente
memoria. Un servidor de radiodifusión adecuado es el Wink Broadcast
Server, de Wink Communications, Inc., Alameda, California. El
servidor de radiodifusión 110 contiene una base de datos de
aplicaciones interactivas 112. En la base de datos de aplicaciones
interactivas 112, se almacenan las aplicaciones interactivas u
otras formas de interactividad que se van a emitir a diversos BR
120 distribuidos remotamente. Las aplicaciones interactivas y otras
formas de contenidos interactivos pueden ser añadidas a la base de
datos de aplicaciones interactivas 112 por una entidad de
radiodifusión 114 u otro proveedor de programas, y pueden ser
transmitidas a la base de datos 112 mediante un enlace de red seguro
u otros medios de transmisión. Los campos de la base de datos 112
asocian las aplicaciones interactivas, por ejemplo, con una entidad
de radiodifusión, una red, un canal, un programa o un tiempo de
radiodifusión particular. Además, cada aplicación interactiva de la
base de datos 112 presenta preferentemente un código de
identificación de aplicación interactiva exclusivo, mediante el
cual puede ser identificada. La asociación del código de
identificación de la aplicación interactiva con el código de
identificación del programa (tal como el utilizado por las fuentes
de radiodifusión) permite al servidor de radiodifusión 112 recuperar
de forma selectiva una aplicación interactiva tras la recepción de
un código de identificación de programa. Para facilitar la
descripción, el término "aplicación interactiva" abarca todas
las formas de interactividad para los programas de radiodifusión,
descritas en la presente memoria o equivalentes a las descritas.
En una forma de realización de la presente
invención, las aplicaciones interactivas almacenadas en la base de
datos 112 se describen mediante un protocolo de comunicaciones
compacto. El protocolo compacto es operativo para emitir con
eficacia un conjunto compacto de información y mandatos entre los
componentes del sistema, permitiendo de ese modo la utilización de
transportes de ancho de banda reducido, tales como el intervalo de
borrado vertical ("VBI"). Aunque en una forma de realización
preferida de la presente invención se utiliza el protocolo compacto
descrito en la presente memoria, es posible definir aplicaciones
interactivas según otros protocolos, incluidos, por ejemplo, el
lenguaje de marcado de hipertexto ("HTML"), el lenguaje de
marcado extensible ("XML"), el lenguaje JAVA de SUN
MICROSYSTEMS INC. o el protocolo de televisión interactiva basado
en HTML ATVEF. En la patente US n.º 5.689.799, titulada "Method
and Apparatus for Routing Confidential Information", se
proporciona una descripción detallada de uno de los protocolos
compactos adecuados para las aplicaciones interactivas, que incluye
las definiciones, los guiones y los mandatos aceptados. Las propias
aplicaciones interactivas son productos de software que comprenden
códigos y datos ejecutables, que configuran y controlan el
funcionamiento del receptor de radiodifusión 120, de la forma
indicada más adelante.
Puede existir una pluralidad de servidores de
radiodifusión 110, cada uno de los cuales presta servicio a un área
geográfica, un grupo de entidades de radiodifusión o un grupo de
abonados particular. En una forma de realización, cada servidor de
radiodifusión 110 es identificado mediante un código de
identificación de servidor exclusivo.
Por lo general, el servidor de radiodifusión 110
determina qué aplicaciones interactivas deberán emitirse en un
canal particular y a una hora particular, recupera de la base de
datos 112 las aplicaciones interactivas correspondientes al canal y
la hora o el código de identificación del programa particular y
prepara las aplicaciones interactivas para su emisión.
Para determinar qué aplicaciones interactivas se
emiten en las diversas horas, canales, etc., el servidor de
radiodifusión 110 recibe la lista de reproducción 113 de los
programas que se van a emitir desde el sistema de tráfico 104. El
servidor de radiodifusión 110 utiliza esta información para
identificar y recuperar de la base de datos 112 la correspondiente
aplicación interactiva (si la hubiera) que va a acompañar a cada
programa de radiodifusión. El servidor de radiodifusión 110
proporciona además unos mandatos, que se transmiten a los BR 120,
que dan la orden a éstos de iniciar, detener, cancelar, suspender o
reanudar las aplicaciones interactivas que pueden recibirse o
pueden haberse recibido y almacenado en la memoria de los BR
120.
El servidor de radiodifusión 110 formatea la
aplicación interactiva recuperada, si es necesario, y la prepara
para su inserción en una señal de radiodifusión. Mediante la lista
de reproducción 113 recibida desde la entidad de radiodifusión 114,
el servidor de radiodifusión 110 pasa la aplicación interactiva 115
y los diversos mandatos a la unidad de inserción de datos
("DIU") 116 para incorporar la aplicación interactiva 115 en
los datos de radiodifusión 117 en el momento de la emisión del
programa.
La DIU 116 recibe la aplicación interactiva 115
o los mandatos del servidor de radiodifusión 110 y la señal de
radiodifusión, o la transmisión, que contiene el programa
correspondiente a la aplicación interactiva 115. La transmisión de
radiodifusión puede recibirse desde las fuentes de programas de
radiodifusión, directamente desde la entidad de radiodifusión 114
o, en caso de que la entidad de radiodifusión no proporcione la
transmisión, desde una tercera parte, tal como una red, un operador
de cable o una estación de televisión local. La DIU 116 cambia el
formato de la aplicación interactiva 115 y los mandatos por un
formato adecuado para su inserción en la transmisión de la entidad
de radiodifusión y su transmisión conjunta como datos de
radiodifusión 117. La DIU 116 puede recibir transmisiones desde
varias entidades de radiodifusión y puede insertar una aplicación
interactiva separada en cada transmisión. Asimismo, la DIU 116 puede
insertar simultáneamente una aplicación interactiva separada en
varios canales de las mismas o diferentes entidades de radiodifusión
114.
La DIU 116 inserta los datos de radiodifusión
117 que contienen las aplicaciones interactivas, los mandatos y los
programas de radiodifusión en los medios de radiodifusión. Los
medios de radiodifusión consisten en el espectro de frecuencias
utilizado para transmitir la aplicación interactiva 115. En una
forma de realización, los medios de radiodifusión consisten en una
señal de televisión analógica estándar que cumple las normas NTSC
(National Televisión Standards Committee), y el VBI es utilizado
como transporte para emitir la aplicación interactiva. El
transporte es la parte específica de los medios de radiodifusión que
transmite la aplicación interactiva 115. En otra forma de
realización, los medios de radiodifusión consisten en un múltiplex
de vídeo digital MPEG2 estándar, que contiene uno o más servicios
de vídeo MPEG2, utilizándose una o varias secuencias elementales
MPEG2 contenidas en el múltiplex como medio de transporte. La DIU
116 puede trabajar con fuentes de vídeo analógico o digital y,
alternativamente, puede trabajar como una interfaz para una red de
área amplia que conecta la entidad de radiodifusión 114 o las
fuentes de radiodifusión 102 directamente con diversos transmisores
118.
En una forma de realización, la DIU 116 utiliza
procedimientos convencionales para insertar datos que definen una
aplicación interactiva en el VBI de la transmisión de radiodifusión.
La norma "North American Broadcast Teletext Standard"
(EIA-506) define los procedimientos y protocolos
para enviar datos en una o más líneas del VBI. No obstante, se
dispone de una gran diversidad de mecanismos de transporte
diferentes, incluidos los que emiten la aplicación interactiva 115
por separado del programa de televisión. Dichos mecanismos de
transporte incluyen los transmisores fuera de banda, que transmiten
la aplicación interactiva 115 en una parte no utilizada del
espectro de frecuencias de televisión, y los transmisores de radio
de modulación de frecuencia ("FM") convencionales, que
transmiten la aplicación interactiva 115 fuera del espectro de
frecuencias de televisión. En otra forma de realización, la DIU
utiliza procedimientos convencionales para insertar datos en una
secuencia elemental de un múltiplex
MPEG2.
MPEG2.
En una forma de realización, se insertan códigos
de comprobación de errores o de corrección de errores, tales como
los códigos Hamming, en los datos. En una forma de realización, la
DIU 116 convierte los datos en un código Hamming y, en otra forma
de realización, los datos recibidos desde el servidor de
radiodifusión 110 por la DIU 116 ya están codificados.
La DIU 116 se acopla a un transmisor 118 para
proporcionar la transmisión de radiodifusión, incluidas todas las
aplicaciones interactivas o los mandatos insertados del servidor de
radiodifusión 110. En una forma de realización, el transmisor 118
es un enlace ascendente de satélite que proporciona la transmisión a
los receptores de enlace ascendente locales que, entonces,
distribuyen la transmisión a los BR 120 por medio del cable. En
otra forma de realización, el transmisor 118 es un amplificador de
cabecera de sistema de cable convencional. En otras formas de
realización, el transmisor 118 es un transmisor de radiodifusión de
televisión convencional o un transmisor digital de televisión de
alta definición. En otras formas de realización, el transmisor 118
puede transmitir los datos de radiodifusión a través de una conexión
WAN, Internet u otras redes públicas/privadas.
En otra forma de realización, la DIU 116 inserta
la aplicación interactiva 115 en el programa antes de que éste sea
emitido. Por ejemplo, la DIU 116 puede insertar una aplicación
interactiva en la copia fuente de un anuncio de televisión. En
consecuencia, la aplicación interactiva se emite cada vez que se
emite el anuncio. En esta forma de realización, el servidor de
radiodifusión 110 no necesita sincronizar la recuperación de la
aplicación interactiva con la programación contenida en la lista de
reproducción. No obstante, el servidor de automatización 108
seguirá siendo utilizado para controlar la sincronización del
funcionamiento de dicha aplicación interactiva de radiodifusión
durante la emisión del anuncio y de cualquier aplicación interactiva
que se emita durante el programa de televisión en el que se emite
el anuncio.
Independientemente del procedimiento de
transmisión y del tiempo de inserción, los datos de radiodifusión
117, incluida la aplicación interactiva, son recibidos por el BR de
un abonado 120. Aunque en la Figura 1 sólo se ilustra un BR 120,
debe tenerse en cuenta que en una forma de realización habitual
existen cientos o miles de BR 120 que reciben los datos de
radiodifusión 117 y responden de la forma indicada en la presente
memoria. En una forma de realización común, el BR 120 es una caja de
conexión de televisión que recibe los datos 117 por medio de un
cable coaxial. Además, el BR 120 puede estar integrado en el
televisor. Por otra parte, pueden utilizarse también otros
receptores de radiodifusión, incluido un receptor de radiodifusión
NTSC, un receptor digital de televisión de alta definición, un
reproductor de cintas de vídeo o un receptor de radio FM.
La arquitectura anterior admite una serie de
formas de realización útiles, en las que el servidor de
automatización 108 controla la transmisión por el servidor de
radiodifusión 110 de los diversos tipos y formatos de datos para
conseguir un funcionamiento sincrónico con los programas de
radiodifusión. En primer lugar, deberá tenerse en cuenta que el
servidor de radiodifusión 110 también puede servir otros tipos de
datos, aparte de o además de las aplicaciones interactivas. Por
ejemplo, el servidor de radiodifusión puede servir datos tales como
programas informáticos o datos de audio/vídeo. El servidor de
radiodifusión también puede servir datos, formularios, códigos o
disparos para las aplicaciones interactivas transmitidas previamente
a los receptores de radiodifusión.
Según la presente invención, estos diversos
tipos de datos pueden transmitirse en respuesta a los mandatos del
servidor de automatización 108. Por ejemplo, el servidor de
radiodifusión puede enviar una aplicación interactiva a un receptor
de radiodifusión mucho antes de la hora a la que la aplicación
interactiva y su programa de radiodifusión asociado van a aparecer.
Entonces, en respuesta a los mandatos del servidor de automatización
108, el servidor de radiodifusión 110 puede enviar códigos de
disparo que desencadenan la ejecución de la aplicación interactiva
cargada previamente, de tal forma que se ejecuta en sincronía con el
programa de radiodifusión. Asimismo, en respuesta al servidor de
automatización 108, el servidor de radiodifusión 110 puede
transmitir formularios u otros datos para actualizar o modificar
las características, la interfaz de usuario o las funciones de una
aplicación interactiva que ya reside en el receptor de
radiodifusión. Esto permite al servidor de automatización 108
manipular o cambiar la aplicación interactiva en respuesta a las
señales de control del sistema de programación 106.
El servidor de radiodifusión 110 también puede
servir datos hipermedia, tales como texto, gráficos, imágenes,
localizadores uniformes de recursos (URL), identificadores uniformes
de recursos (URI), HTML, XML, ATVEF, applets de JAVA u otros tipos
o formatos de datos, asimismo en respuesta a los mandatos del
servidor de automatización 108. Por ejemplo, en respuesta a la
provisión por el sistema de programación 106 de señales de control
que indican el inicio de un programa de televisión, el servidor de
automatización 108 puede ordenar al servidor de radiodifusión 110
que transmita un URL de un sitio o página web al receptor de
radiodifusión, que a su vez carga el sitio web para presentarlo al
usuario en sincronía con el programa de televisión.
Para cualquiera de estos tipos de datos u otros
que pueden ser servidos por el servidor de radiodifusión 110 en
respuesta a los mandatos del servidor de automatización 108, la base
de datos de aplicaciones interactivas o su equivalente almacena los
datos en asociación con los identificadores de los programas de
radiodifusión. Esto permite al servidor de automatización 108
determinar los datos adecuados para servir según el identificador
de programa de las señales de control del sistema de programación
106.
La Figura 2 ilustra una forma de realización del
BR 120 según una forma de realización de la presente invención. En
una forma de realización, el BR 120 es el decodificador de CATV
General Instrument CFT-2200. El BR 120 incluye un
sintonizador 202 para recibir los datos de radiodifusión 117 desde
el transmisor 118. En una forma de realización, el sintonizador 202
es un sintonizador de televisión por cable convencional. En otra
forma de realización, el sintonizador es un sintonizador de
radiodifusión de televisión, un sintonizador de radio FM, un
sintonizador digital o alguna otra forma de sintonizador. En otra
forma de realización, se puede utilizar un ordenador personal con
hardware y software adecuados para presentar los programas de
radiodifusión recibidos a través de diversos tipos de canales de
transmisión, incluidos los de cable, de Internet y de satélite. En
la forma de realización ilustrada en la Figura 2, se ilustra una
pantalla 218, habitualmente un televisor, dentro del BR 120. Como
se ha indicado anteriormente, la pantalla 218 también puede hallarse
fuera del BR 120.
El BR 120 comprende asimismo un extractor de
datos 206 acoplado al sintonizador 202, para extraer la aplicación
interactiva de los datos de radiodifusión 117. En una forma de
realización, el extractor de datos 206 es un circuito de extracción
de datos VBI dentro de banda convencional. En otra forma de
realización, el extractor de datos 206 es un módem convencional. El
extractor de datos 206 proporciona, al bus 208, un tren de bits en
serie que contiene la aplicación interactiva extraída. El bus 208
está acoplado a un microprocesador 210 que almacena la aplicación
interactiva extraída en un primer dispositivo de memoria 212, por
medio del bus 208, según las instrucciones de un programa
almacenado en un segundo dispositivo de memoria 214. En una forma
de realización, el microprocesador 210 utiliza la información del
código de error de los datos extraídos para comprobar o corregir
los errores de la aplicación interactiva decodificada. En una forma
de realización, el primer dispositivo de memoria 212 es una memoria
de acceso aleatorio ("RAM") convencional, mientras que el
segundo dispositivo de memoria 214 es una memoria de sólo lectura
("ROM") convencional. Un tercer dispositivo de memoria 213,
que puede ser una RAM o una memoria flash, se acopla al
microprocesador 210 para almacenar el resto de datos. Una ventaja
de la memoria flash es que el software o los datos residentes en el
BR 120 pueden ser modificados por una aplicación interactiva
recibida.
En una forma de realización, el BR 120 también
utiliza el extractor de datos 206 para extraer una señal de tiempo
de los datos de radiodifusión 117. La señal de tiempo indica la hora
actual utilizando una base de tiempo estándar, tal como el tiempo
universal coordinado ("UTC") o la hora local del abonado. En
otra forma de realización, el BR 120 presenta un reloj de tiempo
real que es establecido por el abonado o la señal de tiempo
recibida. En cualquier caso, el BR 120 preferentemente tiene acceso
a la hora actual y, en consecuencia, puede realizar funciones de
indicación de fecha y de temporización.
Como se describe más adelante, el
microprocesador 210 utiliza el programa almacenado en el segundo
dispositivo de memoria 214 y la aplicación interactiva almacenada
en el primer dispositivo de memoria 212, para ejecutar la
aplicación interactiva y proporcionar una salida. El programa
almacenado en el segundo dispositivo de memoria 214 es
preferentemente un motor de ejecución 217 para ejecutar una
aplicación interactiva definida mediante varios guiones,
formularios, definiciones y recursos de códigos y gráficos. Uno de
los motores de ejecución preferidos es el Wink Engine suministrado
por Wink Communications, Inc., Alameda, California. El receptor de
radiodifusión 120 incluye, ya sea formando parte del motor de
ejecución 217 o bien del sistema operativo nativo 219 almacenado
también en el segundo dispositivo de memoria 214, funciones de
temporización que pueden ser ejecutadas como procedimientos de
fondo, para realizar la cuenta atrás desde el valor introducido o
una especificación temporal equivalente.
El resultado de ejecutar una aplicación
interactiva puede ser, por ejemplo, un formulario que presenta
información o un menú al telespectador, o que recibe entradas del
telespectador, o puede ser una respuesta, silenciosa o no, que
contiene datos de utilización del BR 120 o del televisor o datos que
indican las preferencias del telespectador. Para los objetivos de
la presente invención, los formularios pueden presentar cualquiera
de los diversos tipos de información y obtener cualquiera de los
diversos tipos de respuestas del usuario. Con este fin, el BR 120
preferentemente incluye un generador de superposiciones gráficas 216
acoplado al bus 208 y controlado por la aplicación interactiva 115
almacenada en el primer dispositivo de memoria 212 y el programa
almacenado en el segundo dispositivo de memoria 214. El generador de
superposiciones gráficas 216 genera una pantalla gráfica sensible a
la aplicación interactiva 115. Esta pantalla gráfica se presenta en
una pantalla 218, habitualmente un televisor, acoplado al BR 120.
Como es obvio, el generador de superposiciones gráficas 216 no se
suele utilizar cuando la aplicación interactiva se ejecuta en
silencio.
En una forma de realización, el generador de
superposiciones gráficas 216 también recibe, desde el sintonizador
202, la señal de radiodifusión correspondiente a un programa de
radiodifusión, para permitir la presentación simultánea del
programa de radiodifusión y los aspectos gráficos, si los hubiera,
de la aplicación interactiva 115 (por ejemplo, para introducir
datos en el formulario presentado). En una forma de realización, el
microprocesador 210 también está acoplado a un decodificador de
entradas de usuario 222 acoplado a un receptor de entradas de
usuario 224, para permitir que el usuario se comunique con el
microprocesador 210 y responda a la aplicación interactiva 115. En
una forma de realización, el decodificador de entradas de usuario
222 es un decodificador de control remoto de infrarrojos
convencional. El receptor de entradas de usuario 224 es
preferentemente un receptor de infrarrojos convencional 224, con el
cual el usuario puede utilizar un dispositivo de mando a distancia
portátil. Las teclas del mando a distancia pulsadas por el usuario
se convierten en señales infrarrojas codificadas que son recibidas
por el receptor de entradas de usuario 224, decodificadas por el
decodificador de entradas de usuario 222 y enviadas al
microprocesador 210 para permitir que el usuario se comunique con la
aplicación interactiva 115.
En una forma de realización, el BR 120 es un
decodificador de TV por cable conectado a un sistema de clave por
medio de un cable coaxial de banda ancha. En esta forma de
realización, el controlador de línea 230 es un módem RF que es
capaz de enviar respuestas a la cabecera del sistema de cable por
medio del cable coaxial, utilizando habitualmente una parte de
fuera de banda del espectro RF, y la puerta de comunicaciones 232 es
una toma RF estándar. En otra forma de realización, el BR 120 es un
televisor, un VCR o una caja de conexión en la que el controlador
de línea 230 es un módem telefónico estándar y la puerta de
comunicaciones 232 es un conector RJ-11
estándar.
El microprocesador 210 puede estar acoplado
también a un codificador de mandatos infrarrojos convencional 226,
que acepta una entrada de mandato infrarrojo y codifica una señal
para un emisor infrarrojo convencional 228, permitiendo de ese modo
que la aplicación interactiva 115 controle los dispositivos
externos.
La Figura 3 es un diagrama de flujo que ilustra
las etapas para recibir y ejecutar una aplicación interactiva
mediante el protocolo de información compacto según una forma de
realización preferida de la presente invención. El BR 120 recibe y
decodifica 310 un registro de encabezamiento de la aplicación
preparado por el servidor de radiodifusión 110, insertado por la
DIU 116 y transmitido por el transmisor 118. El registro de
encabezamiento de la aplicación describe la información que sigue y
contiene el código de identificación de la aplicación
interactiva.
El resto de funciones de la aplicación
interactiva es descrito por las definiciones, los guiones y los
mandatos que pueden codificarse y transmitirse en cualquier orden.
Las definiciones, los guiones y los mandatos son recibidos y
decodificados 312 por el BR 120, y definen el resto de funciones y
los parámetros de respuesta utilizados cuando se ejecuta 314 el
resto de la aplicación interactiva.
Parte o todo el resto de la aplicación
interactiva recibida puede almacenarse 312 dentro del BR 120. En una
forma de realización, la aplicación interactiva se emite
repetidamente, permitiendo al BR 120 sintonizarse con un programa
en cualquier momento, y al mismo tiempo recibir la aplicación
interactiva completa. Cualquier actualización deseada de la
aplicación interactiva almacenada puede ser recibida y decodificada
316. Si se dispone de definiciones, guiones o mandatos adicionales
o actualizados, éstos pueden ser enviados hasta que se termine la
aplicación 318. En una forma de realización, puede emitirse un
mandato de terminación para detener 320 la aplicación
interactiva.
Puede enviarse una nueva aplicación interactiva
en cualquier momento, incluso mientras una aplicación original está
ejecutando o transmitiendo una respuesta. Por ejemplo, una nueva
aplicación interactiva correspondiente a un anuncio puede
interrumpir una aplicación original correspondiente a un programa de
noticias, permitiendo, entonces, la presente invención que esta
última aplicación reanude su actividad tras la terminación de la
primera.
En otras formas de realización que utilizan
diferentes formas de interactividad, tales como las URL, el receptor
de radiodifusión 120 proporciona las funciones adecuadas de
decodificación, análisis y ejecución según el tipo de
interactividad. Por lo tanto, para los datos de tipo URL, el
receptor de radiodifusión 120 puede incluir un navegador y los
mecanismos adecuados para la recuperación, la carga y la
presentación de páginas web, applets de JAVA y similares.
El servidor de automatización 108 se
interconecta con el sistema de programación 106 para recibir las
señales de control que éste proporciona a las fuentes de programas
de radiodifusión 102. Además, el servidor de automatización 108
está acoplado para comunicarse con el servidor de radiodifusión 110
y recibir información de estado acerca de las aplicaciones
interactivas que están preparadas para ser emitidas o que están
siendo emitidas actualmente y los canales por los cuales son
emitidas. El servidor de automatización 108 utiliza la información
de estado (incluida la lista de reproducción) y las señales de
control para generar mandatos específicos para el servidor de
radiodifusión 110. Estos mandatos dan la orden al servidor de
radiodifusión 110 de controlar de forma selectiva la preparación de
una aplicación interactiva que se va a emitir, o la ejecución de una
aplicación interactiva que se está emitiendo actualmente.
En particular, el servidor de automatización 108
genera, en respuesta a las señales de control, mandatos para que el
servidor de radiodifusión 110 programe, inicie, detenga o cancele la
ejecución de una aplicación interactiva. El servidor de
automatización 108 genera secuencias de estos mandatos para que la
interactividad adecuada de los anuncios y los programas de
televisión se ejecute de forma sincrónica (incluida la presentación
y la terminación) con otros programas de radiodifusión.
Las señales de control del sistema de
programación 106 están explícitamente o implícitamente asociadas a
canales particulares. A partir de las características de la señal
de control, su asignación de canal y la información de la lista de
reproducción, el servidor de automatización 108 determina el estado
y el tipo del programa de radiodifusión que se está emitiendo
actualmente o el siguiente programa de radiodifusión que se va a
emitir, según el caso. En particular, el servidor de automatización
108 determina si la señal de control indica que el programa emitido
actualmente es un programa de televisión o un anuncio.
En respuesta a la recepción de una señal de
control que indica que se ha iniciado la emisión de un anuncio en
un canal particular (es decir, una señal de control para que una de
las fuentes de radiodifusión reproduzca datos de radiodifusión para
un anuncio), el servidor de automatización 108 determina si
actualmente se está ejecutando una aplicación interactiva en ese
canal y, de ser así, genera un mandato para que el servidor de
radiodifusión 110 suspenda (detenga) la ejecución de la aplicación
interactiva. El servidor de radiodifusión 110 transmite este
mandato al receptor o los receptores de radiodifusión 120. Estos
receptores de radiodifusión, sintonizados con el canal adecuado,
suspenden la ejecución de la aplicación interactiva. Sin embargo, el
servidor de automatización 108 no cancela la aplicación
interactiva, puesto que el receptor de radiodifusión 120 necesitará
ejecutar la aplicación interactiva otra vez cuando el anuncio o los
anuncios hayan terminado. Por lo tanto, la aplicación interactiva
deberá estar disponible para ejecutarse nuevamente
de inmediato y deberá conservar la información de estado que tenía cuando se inició el anuncio o los anuncios.
de inmediato y deberá conservar la información de estado que tenía cuando se inició el anuncio o los anuncios.
El servidor de automatización 108 puede
determinar también si el anuncio presenta una aplicación interactiva
asociada. En caso afirmativo, el servidor de automatización 108
ordena al servidor de radiodifusión que transmita la aplicación
interactiva y que la ejecute. Si no existe ninguna aplicación
interactiva asociada en particular con el anuncio, el servidor de
automatización 108 puede solicitar al servidor de radiodifusión que
inicie la ejecución de una aplicación interactiva por omisión.
En algún momento, el servidor de automatización
108 recibirá una señal de control que indica que el anuncio ha
finalizado. En respuesta a esta señal de control, el servidor de
automatización 108 genera un mandato para que el servidor de
radiodifusión 110 reanude la ejecución de la aplicación interactiva,
que a su vez transmite el mandato a los receptores de radiodifusión
120. Los receptores de radiodifusión que están sintonizados con el
canal adecuado reciben este mandato y reanudan la ejecución de la
aplicación interactiva para el programa de televisión.
En este caso, el efecto percibido por el
telespectador es que la aplicación interactiva que acompaña al
programa de televisión original desaparece de la pantalla del
televisor durante los anuncios. Las aplicaciones interactivas
específicas de los anuncios, o las aplicaciones por omisión, se
ejecutan y presentan durante los anuncios. Cuando los anuncios
finalizan y el programa de televisión se reanuda, la aplicación
interactiva para el programa de televisión reaparece. La aplicación
interactiva que reaparece dispone de la información de estado (p.
ej., la puntuación actual) que tenía antes del anuncio, con lo cual
el telespectador puede seguir utilizando la aplicación
interactiva.
Es habitual que un programa de radiodifusión,
tal como un programa de televisión, presente un formato de varios
segmentos separados por intervalos publicitarios. La interactividad
que está asociada al programa de televisión deberá estar
sistemáticamente disponible con su información de estado durante
cada uno de los segmentos. El servidor de automatización 108
alcanza este objetivo correlacionando la información extraída de las
señales de control e identificando cada segmento que se emite, para
determinar si los diversos segmentos son realmente partes de un
único programa de televisión en lugar de otro programa de
radiodifusión y, por esta razón, están asociados a la misma
aplicación interactiva. Una vez que se han correlacionado los
segmentos que, de lo contrario, no estarían relacionados, el
servidor de automatización 108 es capaz de suspender y reanudar
adecuadamente una sola aplicación interactiva para el programa de
televisión durante diversos intervalos publicitarios. Este
procedimiento se describe en mayor detalle con respecto a la Figura
12, proporcionada más adelante.
El servidor de automatización 108 puede adoptar
la forma de realización de un producto de software que se ejecuta
en una estación de trabajo o un ordenador personal convencional (por
ejemplo, uno que utiliza el conjunto de chips Intel y el sistema
operativo de Microsoft Corp) o puede estar codificado en un ASIC
especial u otra forma de realización de hardware.
Con referencia a la Figura 4, se representa una
ilustración de la arquitectura funcional del servidor de
automatización 108 según una forma de realización de la presente
invención. En esta forma de realización, el servidor de
automatización 108 incluye un gestor de interfaces 400. El gestor de
interfaces 400 gestiona una pluralidad de interfaces de canal 402,
cada una de las cuales está asociada con uno o más canales. Cada
interfaz de canal 402 recibe señales de control para su canal o
canales asignados desde el sistema de programación 106, y envía
mandatos al servidor de radiodifusión 110.
Con referencia a la Figura 5, se representa la
estructura funcional de una interfaz de canal 402. Cada módulo de
interfaz de canal 402 incluye un módulo conversor 502 y un gestor de
eventos 504. El módulo conversor 502 recibe las señales de control
desde el sistema de programación 106 y convierte las señales en
mandatos atómicos. El gestor de eventos 504 recibe los mandatos
atómicos y los procesa para convertirlos en mandatos que el servidor
de radiodifusión 110 puede comprender.
Con referencia a la Figura 6, se representa un
diagrama de interacción del ciclo de vida del gestor de interfaces
400. El gestor de interfaces 400 crea y mantiene todas las
interfaces de canal 402 para diferentes sistemas de programación
106. El gestor de interfaces 400 presenta tres etapas principales:
una etapa de inicialización, una etapa de ejecución y una etapa de
cierre. Cuando el servidor de automatización 108 se pone en
funcionamiento, crea 602 un gestor de interfaces 400 y lo
inicializa. Durante esta etapa de inicialización, el gestor de
interfaces 400 lee 604 un archivo de inicialización (init) y crea
606 e inicializa 608 diferentes interfaces de canales 402
necesarias para trabajar con el sistema de programación 106.
Una vez que el gestor de interfaces 400 ha
creado e inicializado todos los objetos necesarios, realiza la
transición hacia la etapa de ejecución. Durante esta etapa, el
gestor de interfaces 400 solicita 610 a cada interfaz de canal 402
que lleve a cabo su ejecución.
Normalmente, el servidor de automatización 108 y
su gestor de interfaces 400 permanecen en la etapa de ejecución
durante largos períodos de tiempo. Pero cuando se produce un error
irremediable o cuando el servidor de automatización 108 necesita
ser actualizado, el servidor de automatización 108 se cierra.
Durante esta etapa de cierre, el gestor de interfaces 612 solicita
a cada interfaz de canal 402 que se cierre.
Con referencia a la Figura 7, se representa el
diagrama de interacción de ciclo de vida de cada interfaz de canal
402. Como se representa en la Figura 4, cada interfaz de canal 402
contiene un módulo conversor 502 y un gestor de eventos 504. Una
interfaz de canal 402 también presenta tres etapas principales: la
etapa de inicialización, la etapa de ejecución y la etapa de
cierre.
Durante la etapa de inicialización, se crean 702
e inicializan 704 el módulo conversor 502 y el gestor de eventos
504. Los parámetros de inicialización del gestor de eventos 504
incluyen información que indica lo siguiente:
- \bullet
- cómo configurar los eventos del servidor de radiodifusión para cada tipo de evento,
- \bullet
- dónde encontrar la aplicación interactiva,
- \bullet
- los parámetros para ajustar con precisión la temporización del servidor de automatización,
- \bullet
- cómo conectarse con el servidor de radiodifusión,
- \bullet
- cómo responder a la desconexión repentina del servidor de radiodifusión y
- \bullet
- si los eventos están preprogramados.
Los parámetros de inicialización del módulo
conversor 502 incluyen información que indica lo siguiente:
- \bullet
- cómo conectarse con el sistema de programación,
- \bullet
- cómo responder a la desconexión repentina del sistema de programación,
- \bullet
- parámetros específicos del sistema de programación, tales como los que interpretan un mandato particular si éste puede ser utilizado de manera diferente por las diferentes entidades de radiodifusión,
- \bullet
- el ajuste fino para la lectura y la interpretación de los mandatos del sistema de programación y
- \bullet
- expresiones habituales u otro tipo de información habitual utilizados para diferenciar los anuncios de los programas.
Durante la etapa de ejecución, la interfaz de
canal 402 entra en un bucle infinito (bucle de eventos) 708 para
procesar las señales de control del sistema de programación 106. La
interfaz de canal 402 también puede recibir peticiones (p. ej.,
peticiones de cierre) directamente desde un cliente servidor de
automatización separado. La interfaz de canal 402 solicita 710
mandatos atómicos del módulo conversor 502 y, si éstos están
relacionados con algún evento, los pasa 712 al gestor de eventos
504. Si un mandato atómico es un mandato Null o un mandato Error,
entonces la interfaz de canal 402 procesa 714 los mandatos por sí
misma. Si se produce un error irremediable, entonces la interfaz de
canal registra el error y abandona 715 el bucle de eventos.
Durante la etapa de cierre, la interfaz de canal
402 recibe 716 una petición de cierre y, por consiguiente,
transmite 718 la petición al módulo conversor 502 y al gestor de
eventos 504 para que éstos puedan cerrarse sin dificultades y, una
vez se han cerrado, la interfaz de canal 402 se reorganiza y sale
del bucle de eventos para cerrarse.
Puede considerarse que cada programa de
radiodifusión tiene un "ciclo de vida" particular. Este ciclo
de vida es gestionado por el sistema de programación 106, que a su
vez funciona básicamente como una máquina de estados con respecto a
cada programa de radiodifusión. No obstante, el sistema de
programación 106 sólo proporciona una cantidad limitada de
información acerca de un programa de radiodifusión (habitualmente,
sólo la que se necesita para controlar una fuente de
radiodifusión).
A continuación, para cada programa de
radiodifusión, el módulo conversor 502 reconstruye el comportamiento
de la máquina de estados con la información limitada que recibe
desde el sistema de programación 106, para recrear el ciclo de vida
del programa de radiodifusión. Esto a su vez permite al mismo
proporcionar los mandatos atómicos adecuados para que el gestor de
eventos 504 gestione las aplicaciones interactivas que pueden tener
importancia para el programa de radiodifusión. Por lo tanto, como se
representa en la Figura 5, el módulo conversor 502 crea y mantiene
una máquina de estados 510 para cada programa de radiodifusión que
identifica en las señales de control del sistema de programación
106.
Cada módulo conversor 502 es específico para el
tipo de sistema de programación 106 con el que se comunica, y
proporciona una correlación entre los estados del sistema de
programación 106 y un grupo de eventos que el módulo conversor 502
puede comprender. Puesto que cada tipo de sistema de programación
106 proporciona diferentes tipos de información en sus señales de
control, se plantea la necesidad de dar cuenta de los errores, la
pérdida de información, etc., para establecer la correlación entre
la máquina de estados implícita del sistema de programación 106 y
una máquina de estados definida por el módulo conversor 502.
Como se ha indicado, existen diversos tipos de
sistemas de programación 106, cada uno de los cuales proporciona
diferentes tipos de señales de control que presentan diversos
niveles de información y, de esta manera, cada uno de los módulos
conversores 502 se corresponde con un cierto tipo de sistema de
programación 106. No obstante, se considera que todos los sistemas
de programación 106 pueden describirse con respecto a un sistema de
programación "ideal" 106 que proporciona el grupo más completo
de señales de control. La Tabla 1 indica los tipos de señales de
control proporcionados por un sistema de programación ideal 106, y
los datos que se incluyen en cada uno de estos tipos de señales
ideales.
Estas señales son ideales en el sentido en que,
si todos los datos especificados están presentes, el módulo
conversor 502 puede determinar con mucha facilidad el estado
correcto del programa de radiodifusión, y generar los datos
necesarios para transmitirlos al gestor de eventos 504. En los
sistemas de programación no ideales 106, el módulo conversor 502
utiliza fuentes de datos externas adicionales para determinar los
datos adecuados para transmitir al gestor de eventos 504 (por
ejemplo, la lista de reproducción del servidor de radiodifusión
110), e información sobre la relación de las aplicaciones
interactivas con los identificadores de los programas de
radiodifusión contenidos en la base de datos de aplicaciones
interactivas.
La señal de precarga es una señal de control que
es utilizada habitualmente por un sistema de programación 106 para
que una fuente de radiodifusión 106 cargue un programa de
radiodifusión antes de ser emitido en un momento subsiguiente.
Idealmente, esta señal incluye un ID de programa que identifica de
forma exclusiva el programa de radiodifusión que se debe cargar. La
identificación del canal especifica el canal para la radiodifusión,
pudiendo ser el canal implícito o explícito. La duración indica la
duración del programa de radiodifusión, y es utilizada por el
servidor de automatización 108 para provocar la terminación de una
aplicación interactiva en ausencia de una señal de finalización
explícita del sistema de programación 106.
La señal de precarga puede ser o no recibida en
un momento preciso. Es decir, en algunos sistemas de programación,
esta señal se recibe con precisión (con una precisión de fracciones
de segundos antes de la emisión del evento), mientras que en otros
sistemas esta señal se puede recibir antes de la radiodifusión del
evento, con una antelación de unos segundos a unas horas. Los
tiempos de las señales de preparación previa, inicio de evento y
finalización de evento deben ser asignados con precisión. Si se
utiliza una señal de control nativa tanto para la señal de precarga
como para cualquiera de las otras señales de control, deberá
asignarse a ésta un tiempo preciso.
La ubicación de aplicación interactiva indica la
ubicación de una aplicación interactiva que está destinada a
acompañar al programa de radiodifusión. Esta ubicación está indicada
en la base de datos de aplicaciones interactivas 112, o puede ser
el nombre de trayectoria del directorio de archivos en el que están
almacenadas las aplicaciones interactivas. El tipo de evento define
el tipo de programa de radiodifusión. El número de tipos depende
del diseño del sistema y puede diferenciar simplemente entre
programas de televisión y anuncios, o además entre guías de
programación, subtitulado opcional y otros tipos de contenido de
radiodifusión. Los tipos de eventos se describen a continuación con
respecto al gestor de eventos 504 y la Tabla 7.
Puesto que estas señales y su contenido de datos
son para un sistema de programación ideal 106, en realidad, el
sistema de programación 106 puede utilizar sólo algunas de estas
señales, sólo algunos de los datos indicados o ambas cosas. No
obstante, el módulo conversor 502 y el gestor de eventos 504 son
operativos para proporcionar cualquier tipo de datos ausente de
dichas señales de control, y controlar de ese modo el servidor de
radiodifusión 110.
Una vez conocidas las señales de control
ideales, podrá definirse el módulo conversor "ideal" 502. El
módulo conversor ideal 502 establece la correlación entre las
señales de control del sistema de programación 106 y un grupo de
mandatos atómicos que son utilizados por el gestor de eventos 504.
El conversor ideal representa, por lo tanto, el ciclo de vida de
cualquier programa de radiodifusión y la forma en que el gestor de
eventos 504 puede responder a los diferentes estados del ciclo de
vida del programa de radiodifusión, para generar mandatos para que
el servidor de radiodifusión 110 controle la ejecución de una
aplicación interactiva asociada al programa de radiodifusión.
En la Tabla 2, se indican los mandatos atómicos
generados por el módulo conversor 502.
Puesto que al servidor de radiodifusión 110 le
lleva cierto tiempo programar una aplicación interactiva, en
algunas circunstancias, el módulo conversor 502 tal vez no envíe el
mandato atómico de programación con suficiente tiempo para permitir
que la aplicación interactiva sea sincronizada con los datos de
vídeo que se están emitiendo. En este caso, las aplicaciones
interactivas pueden preprogramarse en el servidor de radiodifusión
110 mediante algún otro procedimiento manual o automático, y el
servidor de automatización 108 puede ahorrar tiempo realizando la
búsqueda de la aplicación interactiva preprogramada en lugar de dar
la orden de programarla al servidor de radiodifusión 110. En esta
modalidad, el servidor de automatización 108 no cancela los eventos
preprogramados porque éstos pueden ser emitidos otra vez. En su
lugar, el responsable de la cancelación de dichos eventos es el
procedimiento que los programó.
Los módulos conversores concretos 502 para
cualquier sistema de programación particular 106 se obtienen a
partir del módulo conversor ideal 502. Con referencia a la Figura 8,
se representa la descripción de una máquina de estados de
conversión ideal 510. Puede considerarse que cada programa de
radiodifusión realiza la transición hacia un grupo de estados
definidos por las señales de control.
La máquina de estados empieza por el estado
"inicio" 800.
A partir de este estado, el módulo conversor 502
pasa al estado "cargado" 802. Al estado "cargado" 802
puede llegarse desde cualquiera de las tres señales ideales 801: la
señal de precarga, la señal de preparación previa o la señal de
inicio.
Normalmente, la primera señal de control 801
recibida por el módulo conversor 502 será la señal de precarga. En
el sistema de programación 106, esta señal indica que el programa de
radiodifusión está a punto de ser emitido. Al estado "inicio"
802 también se llega, como se ha indicado, con una señal de
preparación previa si no se ha recibido previamente una señal de
precarga. Una señal de preparación previa también indica que el
programa de radiodifusión está a punto de ser emitido.
En el estado "cargado" 802, el módulo
conversor 502 determina la aplicación interactiva adecuada asociada
al programa de radiodifusión y programa su ejecución. El módulo
conversor 502 determina, con la mayor exactitud posible, los datos
ideales para este estado, tales como el ID del programa de
radiodifusión, el tipo de evento y la ubicación de la aplicación
interactiva asociada para el programa de radiodifusión. El tipo de
evento describe el tipo de programa de radiodifusión (indica, por
ejemplo, si es un programa de televisión, un anuncio o es
desconocido). Los tipos de evento se describirán en mayor detalle
más adelante. En algunos casos, la asignación de canal es
implícita, puesto que el módulo conversor 502 está asociado a un
canal particular; en otros casos, el canal puede ser codificado
explícitamente en la señal de control.
Más particularmente, el módulo conversor 502
registra la hora actual y la señal recibida. El módulo conversor
502 establece como ID del programa para la aplicación interactiva
asociada el ID de programa contenido en la señal de control. Si es
necesario, el módulo conversor 502 calcula el tipo de evento
utilizando expresiones habituales (véase más adelante). En caso
contrario, el módulo conversor 502 establece el tipo de evento en
"desconocido", y deja que sea el gestor de eventos 504 el que
determine el tipo de evento a partir de los datos contenidos en la
propia aplicación interactiva. Si es necesario, el módulo conversor
502 establece también como ubicación de la aplicación interactiva
el ID del programa. También en este caso, el gestor de eventos 504
determinará la ubicación real basándose en el ID del programa y el
número de segmento del programa de radiodifusión, según
convenga.
El módulo conversor 502 crea y proporciona un
mandato de programación para el gestor de eventos 504, utilizando
los datos ideales creados. Este mandato de programación da la orden
al gestor de eventos 504 de determinar si existe una aplicación
interactiva asociada al ID del programa de radiodifusión y, de ser
así, solicitar al servidor de radiodifusión que se prepare para
emitir la aplicación interactiva identificada.
El siguiente estado es el estado
"preparado" 804. A este estado se llega desde el estado
"cargado" 802 con una señal de preparación previa o una señal
de inicio. También se realizan transiciones automáticas hacia el
estado "preparado" 804 si la primera señal recibida 801 ha sido
una señal de preparación previa o una señal de inicio. Es decir, si
la primera señal recibida 801 es una cualquiera de estas dos
señales, el módulo conversor 502 pasa automáticamente por los
estados "cargado" 802, "preparado" 804 y "en antena"
806.
El estado "preparado" 804 controla la
temporización de los mandatos atómicos enviados al gestor de eventos
504. Antes de ponerse en funcionamiento, el servidor de
automatización 108 es configurado con el tiempo de antelación con
el que se puede recibir una señal de preparación previa antes de que
se emita el evento del sistema de programación. Este tiempo es
habitualmente de 1 a 10 segundos y se suele medir en milisegundos.
Tras recibir una señal de preparación previa o de inicio, el módulo
conversor ideal entra en el estado "preparado" 804. En el
estado "preparado" 804, se realiza preferentemente una pausa de
X-Y microsegundos, siendo X la antelación con la
que llega la señal de preparación previa e Y, la cantidad de tiempo
necesaria para que el gestor de eventos 504 y el servidor de
radiodifusión 110 inicien la aplicación interactiva (el evento) para
el programa de radiodifusión. Una vez transcurrido este tiempo, el
módulo conversor 502 realiza automáticamente la transición hacia el
estado "en antena" 806, momento en el cual el evento se inicia,
y genera también una señal de inicio 805 que puede ser utilizada
por otras máquinas de estados de evento (véase la sección "Estado
fuera de antena"). Debe tenerse en cuenta que si
X-Y es menor que cero o si la señal de control es
una señal de inicio, entonces no se realiza ninguna pausa en el
estado "preparado" 804, sino que se pasa al estado "en
antena" 806 para permitir que el evento del servidor de
radiodifusión se inicie tan pronto como sea posible.
Al estado "en antena" 806 se llega
automáticamente después del estado "preparado" 804. En este
estado, el módulo conversor 502 crea y envía un mandato atómico de
inicio al gestor de eventos 504. La combinación de esto con la
pausa introducida en el estado "preparado" 804 da por resultado
el inicio de la ejecución de la aplicación interactiva con el
programa de radiodifusión.
Durante el estado "en antena" 806, pueden
recibirse y procesarse 810 señales adicionales que constituyen
disparos secundarios 809. Estos disparos secundarios pueden
provocar la ejecución de funciones adicionales asociadas a la
aplicación interactiva que se está emitiendo.
Cuando se recibe una señal de finalización de
evento 807, se termina la emisión de la aplicación interactiva, con
lo cual se pasa al estado "fuera de antena" 808. En este
estado, el evento se cancela. Es decir, el módulo conversor 502
crea un mandato de cancelación basándose en el ID del programa
actual, y lo envía al gestor de eventos 504 para cancelar la
aplicación interactiva actual. Este estado puede ser activado por
las señales de control asociadas a otros eventos. Por ejemplo, si
las señales de control nativas del sistema de programación no
incluyen ninguna señal de finalización de evento, la señal de inicio
de evento para el siguiente evento provocará el fin del evento
previo.
Cuando se recibe una señal de error, el módulo
conversor 502 crea un mandato de cancelación basándose en el ID del
programa actual, y lo envía al gestor de eventos 504 para cancelar
la aplicación interactiva actual.
Estos estados representan, por lo tanto, el
ciclo de vida de cada programa de radiodifusión, desde la
perspectiva de un sistema de programación 106. A partir de esta
información, el servidor de automatización 108 determina el estado
de la aplicación interactiva asociada con el programa de
radiodifusión, y proporciona los mandatos adecuados para este estado
al servidor de radiodifusión 110.
En consecuencia, el módulo conversor 502 está
diseñado para controlar los programas de radiodifusión de un canal
específico en correspondencia con dichos estados. Más
particularmente, el módulo conversor 502 mantiene una máquina de
estados 510 para cada ID de programa de radiodifusión que recibe.
Esta máquina de estados se crea cada vez que se recibe un ID de
programa de radiodifusión, y se conserva hasta que el sistema de
programación 106 indica que el programa de radiodifusión ha
terminado.
Con referencia a la Figura 9, se representa un
diagrama de flujo del funcionamiento global del módulo conversor
502, y particularmente de su lógica de correlación 506. Cada vez que
el módulo conversor 502 recibe 900 una señal de control desde el
sistema de programación 106, determina 902 si la señal de control se
refiere a uno de los eventos que gestiona. Un evento viene indicado
por un ID de programa u otro tipo de datos representativos de un
programa de radiodifusión, en lugar de señales de error u otro tipo
de datos, tales como los mensajes de arranque, de cierre, de error o
del sistema.
Si la señal de control no se refiere a un
evento, el módulo conversor 502 determina 904 si se trata de una
señal de error. Las señales de error se pasan 906 al módulo gestor
de eventos 504 para su tratamiento.
Si la señal de control no es una señal de error,
ésta se ignora 910.
Si la señal es una señal de evento, el módulo
conversor 502 aplica la lógica de correlación 506 para determinar
si el evento identificado es un nuevo evento o un evento para el
cual ya se dispone de una máquina de estados 510, utilizando el ID
del programa del evento como clave para la máquina de estados. Si el
evento es un evento nuevo, el módulo conversor 502 crea 912 una
nueva máquina de estados 510 para el ID del programa y el evento, e
inicia 914 la máquina de estados 510.
Si ya se dispone de una máquina de estados, la
señal de control del evento se pasa 916 a la máquina de estados 510
asociada con el ID del programa. La máquina de estados 510 se ocupa
del evento según la lógica de estados descrita anteriormente con
respecto a la máquina de estados ideal, y con respecto a los tipos
de conversores específicos, como se indica en mayor detalle a
continuación.
Cada sistema de programación 106 genera su
propio grupo particular de señales de control que son interpretadas
por un módulo conversor 502. Las secciones siguientes describen cómo
se implementan módulos conversores específicos en términos del
diagrama de estados del módulo conversor ideal. Es decir, puede
establecerse la correlación entre las señales de control
específicas del sistema de programación y las señales de control
genéricas del conversor ideal. Cada módulo conversor particular 502
pasa por los mismos estados que los descritos para el módulo
conversor ideal. No obstante, las acciones de los estados de cada
conversor particular varían ligeramente para adaptarse a las
diferencias de las señales de control que reciben.
Las correspondencias entre la máquina de estados
del conversor ideal y la máquina de estados particular para cada
tipo de conversor se resumen en las Tablas 4 a 6 siguientes. Los
encabezamientos de las columnas de estas tablas se definen en la
Tabla 3:
\vskip1.000000\baselineskip
Un sistema de programación básico 106 es un
sistema que codifica muy pocos datos en sus señales de control,
habitualmente no más de un ID de programa. La interpretación de esta
señal de control por medio de la máquina de estados del conversor
conlleva la creación y la inferencia de los datos adecuados para
recrear lo que podrían ser los datos ideales para una señal de
control ideal. Un ejemplo de sistema de programación básico 106 es
el Louth ADC-100.
En una forma de realización, el servidor de
automatización 108 se interconecta con un sistema de programación
básico emulando un subtitulador. En una forma de realización, tal
como un sistema de programación Louth, el subtitulador emulado es
el subtitulador Cavena. Normalmente, el sistema de programación
básico 106 envía señales al subtitulador para preparar un
subtítulo, empezar un subtítulo e interrumpir un subtítulo que se
está presentando a través de los datos de programa de vídeo de un
programa de radiodifusión. En la presente invención, el servidor de
automatización 108 utiliza estas señales de control para sincronizar
las aplicaciones interactivas con el
vídeo.
vídeo.
\newpage
Algunos sistemas de programación básicos 106
presentan preferentemente la capacidad para proporcionar información
de preparación previa. En este caso, se envía una señal de
preparación con una antelación de segundos configurable con
respecto a la hora real de inicio del programa de radiodifusión. El
servidor de automatización 108 utiliza la información para
precargar e iniciar de antemano la aplicación interactiva, de tal
forma que ésta pueda llegar al usuario justo cuando se inicia el
programa de radiodifusión. En consecuencia, el conversor tipo 1
efectúa la transición hacia los estados "cargado" 802,
"preparado" 804 y "en antena" 806 cuando recibe la señal
de preparación. Esta transición se define en la Tabla 4 como una
transición automática.
Cuando el servidor de automatización 108 recibe
una señal de inicio 805 desde un sistema de programación básico
106, ya sabe que la aplicación interactiva ha comenzado gracias a la
señal de preparación; en consecuencia, ignora la señal de inicio.
Si la señal de control del sistema de programación básico presenta
un error, el servidor de automatización 108 detiene la aplicación
interactiva actual y pasa al estado de error 812.
En la Tabla 4, se resumen las relaciones entre
las señales de control nativas de un sistema de programación básico
106, las señales de control ideales y las transiciones de estado de
la máquina de estados del módulo conversor ideal 502.
\vskip1.000000\baselineskip
El segundo tipo de sistema de programación 106
es un sistema que utiliza códigos de identificación para diferenciar
selectivamente entre programas de televisión y anuncios. Un ejemplo
de este tipo de sistema de programación 106 es un sistema basado en
códigos ISCI, tal como el utilizado por ESPN Inc. en sus sistemas de
radiodifusión. En este tipo de sistema, los códigos ISCI están
presentes en programas de radiodifusión tales como los anuncios y
no están presentes en los programas de televisión. Estos tipos de
códigos pueden ser proporcionados directamente por el sistema de
programación 106 o indirectamente mediante su registro previo en los
medios (p. ej., una cinta de vídeo) en conjunción con los programas
de radiodifusión.
Otros tipos de sistemas basados en códigos
incluyen los sistemas que utilizan códigos que identifican
individualmente las aplicaciones interactivas, las URL, las URI y
similares.
El servidor de automatización 108 se
interconecta con un sistema de programación basado en códigos 106 a
través de un lector de códigos de tiempo VITC o un lector de
códigos de tiempo similar. El sistema de programación basado en
códigos envía, a través de un código de tiempo VITC, información
ISCI durante los anuncios e información no ISCI durante los
programas. El servidor de automatización 108 utiliza esta
información para añadir selectivamente aplicaciones interactivas
durante los anuncios y los programas. Puesto que las señales de
control del sistema de programación no identifican los programas
mediante un ID, sólo se trabaja con una aplicación interactiva por
omisión.
Generalmente, cuando la señal de control
presenta un código ISCI o similar, el conversor 502 deduce que ha
empezado un anuncio. En consecuencia, la máquina de estados 510 pasa
por los estados "cargado", "preparado" y "en antena"
e inicia la aplicación interactiva. Estas transiciones se producen
automáticamente y, por ello, se denominan "transiciones
automáticas" en la Tabla 5. En el estado "cargado", el
código ISCI (u otro tipo de código, tal como una URL, un
identificador de aplicación o similar) es utilizado como ID de
programa (es decir, el código se guarda como ID del programa) en
los datos ideales. Esto permite al gestor de eventos 504 determinar
la aplicación interactiva correcta.
Cuando se produce un cambio en el código ISCI,
el conversor 502 deduce que ha empezado un nuevo anuncio. En
consecuencia, la máquina de estados 510 pasa por el estado "fuera
de antena" e interrumpe el contenido de interactividad, creando
el mandato atómico de cancelación para cancelar la aplicación
interactiva actual del anuncio. Para el nuevo código ISCI, el
conversor 502 crea una nueva máquina de estados 510 que pasa por los
estados "cargado", "preparado" y "en antena", y se
genera un mandato atómico para empezar la aplicación interactiva del
nuevo anuncio.
Cuando la señal de control no contiene ningún
código ISCI, el conversor 502 deduce que el programa de televisión
ha empezado (o que está siendo emitido). Por consiguiente, la
máquina de estados 510 pasa al estado "fuera de antena" e
interrumpe el contenido interactivo, creando el mandato atómico de
cancelación para cancelar la aplicación interactiva actual para el
anuncio. Basándose en la misma señal (es decir, en ausencia de un
código ISCI), se crea una nueva máquina de estados 510 para un ID de
programa desconocido con un tipo de evento de programa. Como se
indica más adelante, el gestor de eventos determinará que este ID de
programa debería asociarse con el programa por omisión. La máquina
de estados 510 pasa por los estados "cargado", "preparado"
y "en antena", y genera un mandato atómico de inicio para
iniciar una aplicación por omisión para el programa de televisión.
Cuando se detecta de nuevo un código ISCI, la máquina de estados 510
pasa al estado "fuera de antena" y se genera un mandato atómico
de cancelación.
Debido a que en los sistemas basados en códigos
frecuentemente existen pequeños intervalos sin datos (en especial,
durante las transiciones entre códigos), el conversor 502 esperará
una cantidad configurable de milisegundos para detectar la ausencia
de códigos ISCI, evitándose de ese modo falsas detecciones.
Si la señal de control contiene algún error, la
máquina de estados 510 también cancela el contenido interactivo
actual y pasa al estado "error".
En la Tabla 5 se resumen las relaciones entre
las señales de control nativas de un sistema de programación basado
en códigos 106, las señales de control ideales y las transiciones de
estado de la máquina de estados del módulo conversor ideal 502,
tanto para los eventos de anuncios como para el evento de programa
por omisión.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Tabla pasa a página
siguiente)
El tercer tipo de sistema de programación 106
admitido por la presente invención es un sistema de programación
basado en una lista de reproducción. En este tipo de sistema, las
señales de control identifican el programa que se está emitiendo y
su duración, para proporcionar los elementos de una lista de
reproducción (en algunos casos, también se incluye el título del
programa de radiodifusión). Un ejemplo de este tipo de sistema de
programación es el sistema de casetes múltiples
BZCA-1100 del sistema de gestión de bibliotecas
(LSM) que ejecuta el software BZCA-1102 Spot Reel
Option, proporcionado por Sony Corporation.
El servidor de automatización 108 se
interconecta con este tipo de sistema de programación 106, actuando
como un terminal de control. El terminal de control (por ejemplo,
el terminal LMS BAC-1200) presenta en pantalla una
lista de reproducción de transmisión que es una tabla de eventos
programados. La lista de reproducción contiene información de
eventos, tal como el ID del programa, el título del programa y la
duración, para cada programa de radiodifusión.
El módulo conversor basado en lista de
reproducción 502 captura y analiza toda la información de eventos
recibida desde el sistema de programación 106. En la lista de
reproducción, los eventos aparecen con tiempos adelantados con
respecto a sus horas de emisión. Cuando un evento (es decir, un
programa de radiodifusión) aparece en la lista de reproducción de
transmisión, el conversor 502 precarga la aplicación interactiva
para ese evento y cambia al estado "cargado" 802. El sistema
de programación 106 proporciona información de preparación previa
para cada evento, enviando el estado del evento de una señal de
control de reproducción con una antelación de segundos configurable
con respecto a la hora de emisión del evento.
El módulo conversor 502 pasa por los estados
"preparado" 804 y "en antena" 806 e inicia la aplicación
interactiva cuando recibe la señal de control de reproducción de un
evento. Si el conversor 502 no recibe la señal de control de
reproducción de un evento debido a un problema de red o algún otro
problema y recibe la señal de control en pantalla o en línea de un
evento, entonces efectúa la transición al estado "en antena"
806 e inicia la aplicación interactiva. En este caso, el servidor
de automatización 108 desaprovecha la ventaja de la información de
preparación previa, pero a pesar de esto la aplicación interactiva
se inicia.
Si el módulo conversor 502 recibe una señal en
antena o en línea y todavía no está en el estado "preparado"
804, entonces trata la señal en antena/en línea como una señal de
reproducción, pasando al estado "preparado" 804 y luego
automáticamente al estado "en antena" 806.
Cuando los datos del evento desaparecen de la
lista de reproducción de transmisión, el módulo conversor 502 pasa
al estado "fuera de antena" 808 y da la orden al gestor de
eventos 504 de cancelar la aplicación interactiva actual.
Si se produce cualquier otro tipo de error, tal
como la pérdida de la conexión con el sistema de programación,
entonces el servidor de automatización 108 interrumpe la aplicación
interactiva actual y pasa al estado "error".
En la Tabla 6, se resumen las relaciones entre
las señales de control nativas de un sistema de programación basado
en lista de reproducción 106, las señales de control ideales y las
transiciones de estado de la máquina de estados del módulo conversor
ideal 502.
Los sistemas de programación 106 que calculan el
tipo de evento de un ID de programa pueden enviar esta información
directamente al servidor de automatización 108. Puesto que muchos
sistemas de programación 106 no pueden proporcionar esta función,
algunas entidades de radiodifusión 114 utilizan unos ID de programa
que diferencian entre diferentes tipos de programas (p. ej.,
programas de televisión y anuncios). El servidor de automatización
108 utiliza y aprovecha esta información. El conversor 502 utiliza
esta información para determinar qué tipo de evento debe programar.
Por ejemplo, el ID de los anuncios puede presentar el prefijo
"VT", y el ID de un programa de televisión puede presentar un
prefijo diferente o ninguno. El servidor de automatización 108
utiliza expresiones habituales con los ID de programa para
diferenciar entre los anuncios y programas de televisión. El tipo de
evento que se establece es "anuncio" si el ID del programa
coincide con los criterios de los anuncios, o "programa de
televisión" si el ID del programa coincide con los criterios de
los programas de televisión, de acuerdo con un análisis de
expresiones habituales. Si la entidad de radiodifusión 114 no asigna
ningún nombre a los ID de programas para diferenciar entre
programas de televisión y anuncios, entonces el tipo de evento
establecido será "desconocido". En tal caso, el gestor de
eventos 504 buscará en el archivo de la aplicación interactiva
particular un señalizador que indique si el contenido es para un
anuncio o un programa de televisión.
Otra vez con referencia a la Figura 5, el gestor
de eventos 504 recibe los diversos mandatos atómicos 514 desde las
máquinas de estados del módulo conversor 510 y, en respuesta a
éstos, da instrucciones al servidor de radiodifusión 110 acerca de
cómo controlar las aplicaciones interactivas.
Por lo general, en un sistema convencional sin
servidor de automatización 108, el servidor de radiodifusión 110
envía las aplicaciones interactivas a una unidad de inserción de
datos 116 según una lista de reproducción predefinida, que es una
lista de eventos del servidor de radiodifusión.
No obstante, el servidor de automatización 108,
por medio de las señales de control proporcionadas por el sistema
de programación 106, es capaz de automatizar la creación de la lista
de reproducción del servidor de radiodifusión, y añadir, suprimir y
modificar dinámicamente los eventos de la lista de reproducción del
servidor de radiodifusión para que concuerden con los cambios casi
de tiempo real de la lista de reproducción del sistema de
programación. Aunque la lista de reproducción del servidor de
radiodifusión puede contener eventos para todos los canales, el
gestor de eventos 504 sólo gestiona los eventos de los canales para
los cuales recibe mandatos atómicos.
En la Figura 5, puede observarse cómo el módulo
conversor 502 envía mandatos atómicos 514 al gestor de eventos 504.
El gestor de eventos 504 interpreta los mandatos atómicos 514 para
generar una secuencia de mandatos primitivos para el servidor de
radiodifusión 110. Cuando el gestor de eventos 504 recibe los
mandatos atómicos 514, establece la correlación entre los ID de los
programas contenidos en éstos y los eventos particulares del
servidor de radiodifusión, por medio de la lógica de correlación
508. Si no existe ningún evento de servidor de radiodifusión
adecuado para un ID de programa particular, el gestor de eventos 504
crea un evento de servidor de radiodifusión. En general, el gestor
de eventos 502 crea, modifica o elimina eventos de servidor de
radiodifusión según las necesidades.
El gestor de eventos 504 mantiene una máquina de
estados separada 512 para cada evento del servidor de radiodifusión
que gestiona. El ID de programa de cada evento asigna una máquina de
estados a cada evento. Los mandatos atómicos del módulo conversor
502 son encaminados pues hacia estas máquinas de estados, basándose
en los ID de sus programas. Este procedimiento se describe más
adelante en la sección "Lógica de correlación de mandatos
atómicos". La máquina de estados de un evento 512 es responsable
de la generación de los mandatos primitivos de servidor de
radiodifusión correctos, tal como se describe detalladamente en la
sección "Máquina de estados de evento".
La utilización de dos máquinas de estados del
módulo conversor 502 y del gestor de eventos 504 permite
interconectar fácilmente cualquiera de los diversos tipos de
sistemas de programación diferentes 106 con el servidor de
automatización 108, a la vez que permite realizar una implementación
relativamente simple y eficaz del gestor de eventos 504. De esta
forma, se puede crear un nuevo módulo conversor 502 para que
funcione con un nuevo sistema de programación 106, sin necesidad de
realizar ningún cambio en el gestor de eventos 504.
Puesto que los diferentes tipos de eventos
pueden provocar un comportamiento diferente de la lógica de
correlación de los mandatos atómicos 508 y las máquinas de estado
de los eventos 512, en la siguiente sección se definen los diversos
tipos de eventos admitidos por el gestor de eventos 504.
Los tipos de eventos determinan cómo deben
comportarse los eventos del servidor de radiodifusión. Existen tres
categorías diferentes que definen el comportamiento de los
eventos:
- \bullet
- Tipo de programa,
- \bullet
- Segmentación e
- \bullet
- Interactividad.
El tipo de programa puede ser "anuncio",
"programa de televisión" o "desconocido". Un anuncio es un
elemento de programación de televisión autónomo que suele ser corto
(de 30 a 120 segundos). Un programa de televisión es un programa
que contiene uno o más segmentos. Entre los segmentos de un programa
de televisión, se presentan habitualmente uno o más anuncios. Si el
servidor de automatización 108 no puede determinar el tipo de
programa a partir de las señales de control enviadas por el sistema
de programación 106, el tipo se establece en "desconocido".
Habitualmente, los eventos desconocidos suelen tratarse de la misma
forma que la programación autónoma (como los anuncios), aunque
también pueden ser tratados como programas de televisión.
El tipo de programa y la segmentación están
estrechamente relacionados. En una forma de realización preferida,
los programas de televisión se tratan siempre como programas
segmentados, y los anuncios se tratan siempre como programas no
segmentados. Los programas desconocidos pueden tratarse de una u
otra forma. El tratamiento de los programas de televisión
segmentados se describe más adelante en mayor detalle con respecto a
la Figura 12.
La interactividad (p. ej., una aplicación
interactiva) puede referirse a un evento interactivo normal o a un
evento interactivo por omisión. Un evento normal es un evento que
tiene una aplicación interactiva particular asociada. Si el gestor
de eventos 504 no puede hallar una aplicación interactiva específica
asociada a un evento de la base de datos de aplicaciones
interactivas 112, puede reemplazarla por una aplicación interactiva
por omisión hasta que finalice el evento. Puede especificarse
también un evento nulo como evento por omisión, lo cual significa
que no se emitirá ninguna aplicación interactiva en el transcurso
del evento.
En la tabla siguiente, se indican seis tipos de
eventos y se resumen los comportamientos de cada tipo de evento.
Los tipos de eventos también se utilizan para
determinar las opciones de los eventos del servidor de
radiodifusión.
Inicialmente, el módulo conversor 502 determina
el tipo de evento y lo pasa al gestor de eventos 504 en el mandato
atómico 514. En algunos casos, el módulo conversor 502 no tiene
suficiente información para determinar el tipo de evento
particular. El módulo conversor 502 realiza una determinación
inicial del tipo de evento, pero el gestor de eventos 504 puede
cambiar el tipo de evento si dispone de información más completa. El
gestor de eventos 504 dispone de dos tipos de información que el
módulo conversor 502 no tiene:
- 1.
- El gestor de eventos 504 sabe si existe una aplicación interactiva para el ID de programa del evento y
- 2.
- El gestor de eventos 504 puede obtener información sobre el tipo de evento de la aplicación interactiva. La aplicación contiene información que determina si ésta puede suspenderse o no. El servidor de automatización 108 supone que todos los programas de televisión se pueden suspender y que ningún anuncio se puede suspender.
Combinando la información del gestor de eventos
y del módulo conversor, el gestor de eventos 504 puede determinar
el tipo de evento correcto, como se resume en la tabla proporcionada
a continuación.
\dotable{\tabskip\tabcolsep#\hfil\tabskip0ptplus1fil\dddarstrut\cr}{ *: \begin{minipage}[t]{155mm} Debe tenerse en cuenta que el tipo de evento del módulo conversor siempre prevalece sobre el tipo de evento de la aplicación interactiva.\end{minipage} \cr}
\vskip1.000000\baselineskip
El gestor de eventos 504 mantiene una máquina de
estados separada 512 para cada evento que gestiona. Cuando el
gestor de eventos 504 recibe mandatos atómicos 514 desde el módulo
conversor 502, debe asociar el ID de programa del mandato atómico
con el evento de servidor de radiodifusión adecuado, y pasar el
mandato atómico a la máquina de estados 512 adecuada. La lógica de
correlación del gestor de eventos 508 se encarga de este
procedimiento.
La lógica de correlación 508 crea y mantiene una
tabla de asociación de eventos que asocia los ID de los programas
con los ID de los eventos del servidor de radiodifusión. Sólo los
mandatos atómicos programados pueden provocar la creación de nuevos
eventos del servidor de radiodifusión. Por consiguiente, sólo dichos
mandatos pueden añadir una nueva fila a la tabla de asociación de
eventos, asociando un ID de programa con el ID del nuevo evento del
servidor de radiodifusión. La asociación se elimina de la tabla
cuando el evento ha pasado a través de su máquina de estados 512, y
la máquina de estados se elimina.
En la Figura 10, se ilustra el comportamiento de
los estados de una forma de realización de la lógica de correlación
508. La Tabla 9 describe esta figura.
\vskip1.000000\baselineskip
Cuando se crea una nueva máquina de estados para
el evento, la lógica de correlación 508 determina el tipo de evento,
según las reglas de la Tabla 8, anterior.
Para los eventos interactivos no segmentados
normales, se establece una correlación biunívoca (de uno a uno)
entre los eventos del sistema de programación y los eventos del
servidor de radiodifusión de la tabla de asociación de eventos. A
continuación, se describen dos excepciones principales a lo
anterior.
En general se establece una correlación
biunívoca entre los eventos del sistema de programación y los
eventos del servidor de radiodifusión. A continuación, se indican
dos excepciones principales.
En el momento del arranque, el gestor de eventos
504 crea tres eventos del servidor de radiodifusión (uno para cada
tipo de evento por omisión). Estos eventos son los tres primeros
eventos de la tabla de asociación de eventos. Como se ha descrito
anteriormente con respecto a los tipos de eventos, los eventos por
omisión se eligen cuando no puede hallarse ninguna aplicación
interactiva para el ID de programa especificado. Con este objetivo,
la tabla de asociación de eventos permite establecer la correlación
entre muchos ID de programa y el mismo ID de evento por omisión.
Cuando la lógica de correlación 508 recibe un mandato atómico de
programación que no tiene ninguna aplicación interactiva asociada,
la lógica de correlación 508 asocia el ID del programa con el
evento por omisión que corresponde al tipo de evento indicado en el
mandato atómico de programación. La lógica de correlación 508 no
transmite el mandato atómico de programación, puesto que el evento
por omisión ya está programado.
Como se ha indicado previamente, un programa de
televisión puede segmentarse en varias partes. Para el sistema de
programación 106, el programa de televisión es una serie de varios
eventos que disponen de su propio ID de programa. Para el servidor
de radiodifusión, el programa de televisión es un solo evento que se
suspende y reanuda en cada segmento. Por consiguiente, la tabla de
asociación de eventos elimina esta disparidad estableciendo la
correlación entre varios ID de programas y un único evento del
servidor de radiodifusión.
Si el sistema de programación 106 proporciona
información acerca de la segmentación en su ID de programa, la
lógica de correlación de eventos 508 crea una nueva máquina de
estados de evento 512 para el primer segmento del programa de
televisión y establece automáticamente la correlación entre los
demás segmentos y la misma máquina de estados de evento 512.
Desgraciadamente, la mayoría de sistemas de
programación no proporcionan esta información. Por lo tanto, el
servidor de automatización 108 determina si dos ID de programas
diferentes están asociados con el mismo programa de televisión,
determinando si ambos ID de programas se corresponden con la misma
aplicación interactiva de la base de datos de aplicaciones
interactivas 112. Cuando la lógica de correlación 508 determina que
el nuevo ID de programa es para otro segmento de un programa de
televisión que ya está incluido en la tabla de asociación de
eventos, la lógica de correlación 508:
1. asocia el nuevo ID de programa con el evento
del servidor de radiodifusión preexistente en la tabla de asociación
de eventos y
2. no transmite el mandato atómico de
programación, puesto que el programa de televisión ya ha sido
programado.
Las secciones "Máquina de estados de
evento" y "Segmentación" proporcionan información más
detallada al respecto.
Las máquinas de estados del gestor de eventos
emiten cuatro mandatos primitivos del servidor de radiodifusión
(programación'', inicio, finalización y cancelación) para controlar
el servidor de radiodifusión. Estos mandatos son análogos a los
mandatos atómicos del mismo nombre. El mandato de programación
prepara una aplicación interactiva para la radiodifusión y la añade
a la lista de reproducción del servidor de radiodifusión. El mandato
de inicio empieza la emisión de la aplicación interactiva, y el
mandato de finalización interrumpe la emisión de ésta. El mandato
de cancelación detiene la aplicación interactiva (si es que no está
detenida), elimina la aplicación interactiva de la memoria y
suprime el evento asociado de la lista de reproducción del servidor
de radiodifusión.
En formas de realización alternativas, estos
mandatos particulares pueden ampliarse para incluir otros
comportamientos más complejos, tales como la suspensión indefinida,
la suspensión durante un intervalo de tiempo seleccionado, la
reanudación inmediata, la reanudación después de un intervalo de
tiempo seleccionado, etc.
Además, el contenido de los mandatos, es decir,
el tipo de interactividad que puede ser gestionada por los
mandatos, es variable, dependiendo también de los tipos de
interactividad seleccionados por el diseñador del sistema. Por lo
tanto, los mandatos pueden programar o iniciar disparos para
interactividad, formularios u otros datos emitidos previamente,
URL, páginas web, applets de Java u otro tipo de interactividad
hipermedia y similares.
Los mandatos atómicos llegan a su fin en una
máquina de estados de evento 512 particular. Cada máquina de
estados de evento 512 está asociada con un evento del servidor de
radiodifusión y controla todas las operaciones de ese evento. La
lógica de correlación de mandatos atómicos 508 determina qué máquina
de estados 512 recibe un mandato atómico particular (con algunas
excepciones citadas más abajo).
En la Figura 11, se ilustra el comportamiento de
una máquina de estados de evento 512, con referencia a los eventos
de anuncios, los eventos de programas de televisión y los eventos
por omisión. La máquina de estados de evento traza el ciclo de vida
de un evento. En la Figura 11, las transiciones de estado se marcan
de la forma indicada a continuación para indicar a qué tipos de
eventos se refieren:
- C:
- transición aplicable a eventos de anuncios,
- S:
- transición aplicable a eventos de programas de televisión y
- D:
- transición aplicable a eventos por omisión.
En general, un evento pasará por los estados
siguientes:
"Programado" 1102: Un mandato atómico de
programación del módulo conversor 502 determina que el evento sea
programado en el servidor de radiodifusión. La máquina de estados
512 emite el mandato primitivo de programación de radiodifusión que
da la orden al servidor de radiodifusión 110 de preparar una
aplicación interactiva para emitirla, y de añadir dicha aplicación
a la lista de reproducción del servidor de radiodifusión. Después de
la programación, será necesario iniciar el evento mediante un
mandato atómico de inicio.
"Iniciado" 1104, "finalizado" 1106: El
mandato de inicio del módulo conversor 502 hace pasar la máquina de
estados al estado "iniciado" 1104. La máquina de estados emite
un mandato primitivo de radiodifusión. Una vez que se ha iniciado,
el evento puede empezar y finalizar una cantidad cualquiera de veces
mediante mandatos atómicos de inicio y finalización. La máquina de
estados realiza la transición hacia el estado "finalizado"
1106 sólo en los programas de televisión y los eventos por omisión.
Con los eventos de anuncios, no se llega al estado "finalizado"
1106.
En respuesta al mandato primitivo de inicio de
radiodifusión, el servidor de radiodifusión 110 puede iniciar la
aplicación interactiva de varias maneras, incluida la transmisión de
la aplicación interactiva (si es que no ha sido transmitida
previamente) o, si la aplicación ha sido transmitida previamente, la
transmisión de un disparo a la aplicación interactiva para comenzar
la ejecución. Asimismo, el servidor de radiodifusión 110 puede
transmitir otros tipos de datos, tales como los formularios o el
contenido para la aplicación interactiva, o puede transmitir una URL
o similar, como se ha indicado anteriormente.
"Procesamiento de disparo secundario" 1108:
Asimismo, una vez que se ha iniciado un evento, puede producirse o
no algún disparo secundario. Un disparo secundario es una acción que
se produce mientras el evento está activo (es decir, está
programado en el servidor de radiodifusión). Un ejemplo de esto
sería un aviso que indica al usuario final que faltan cinco minutos
para que finalice el evento. Estos disparos son creados por el
sistema de programación 106 y pasados al módulo conversor como una
señal de control.
"Cancelado" 1110: Por último, una vez que
el programa de radiodifusión asociado a un evento ha finalizado, se
envía un mandato atómico de cancelación desde el módulo conversor
502. La máquina de estados reacciona emitiendo un mandato primitivo
de cancelación de radiodifusión para el servidor de radiodifusión
110, que cancela el evento. A este estado se llega de maneras
diferentes con los diferentes eventos; por ejemplo, en el caso de
los eventos de anuncios, se llega cuando se recibe el mandato
atómico de cancelación desde el módulo conversor 502; en el caso de
los eventos de programas de televisión, se llega cuando se recibe el
mandato atómico de inicio de siguiente programa de televisión y,
por último, en el caso de los eventos por omisión, se llega en el
momento del cierre.
Para que el inicio de un evento del servidor de
radiodifusión (aplicación interactiva) se sincronice con precisión
con el programa de radiodifusión del sistema de programación
asociado, algunos sistemas de programación presentan la capacidad
de preparación previa. La preparación previa es la cantidad de
tiempo que un dispositivo controlado por el sistema de programación
106 (p. ej., un VTR) necesita para finalizar una operación (tal como
el inicio de la reproducción de un programa). El sistema de
programación 106 puede dar el mismo tipo de aviso de preparación
previa al servidor de automatización 108, proporcionando a éste
suficiente tiempo para que inicie una aplicación interactiva.
Algunos sistemas de programación sólo admiten un valor de
preparación previa. Si el tiempo de respuesta del servidor de
automatización 108 es más corto que el valor de preparación previa,
el servidor de automatización 108 introduce un determinado retardo
adicional en el inicio de un evento del servidor de radiodifusión.
Esta temporización de ajuste fino es llevada a cabo por el diseñador
del sistema en las máquinas de estados de los eventos. Los estados
"iniciado", "finalizado" y "cancelado" pueden
introducir un cierto retardo antes de iniciar, finalizar o cancelar
el evento del servidor de radiodifusión.
Aunque todos los eventos del servidor de
radiodifusión comparten esta misma máquina de estados básica, la
máquina de estados es diferente para cada tipo de evento. Los
detalles de estas diferencias se describen más adelante.
Los disparos secundarios se tratan de la misma
manera para todos los tipos de eventos. Los disparos secundarios
representan un sistema para ampliar el servidor de automatización
108. Algunos sistemas de programación 106 funcionan con más señales
que las de control básicas (precarga, preparación previa, en antena
y fuera de antena). Por ejemplo, los disparos secundarios pueden
enviar una señal de control 5 minutos antes de que finalice un
programa, para avisar de ese modo al dispositivo que el programa
está a punto de terminar. El servidor de automatización puede
utilizar esta señal para actualizar la aplicación interactiva actual
y avisar al telespectador que la aplicación interactiva está a
punto de terminar. Deberá tenerse en cuenta que esto sólo constituye
un ejemplo de empleo de los disparadores secundarios.
Es la máquina de estados de evento más simple.
Un evento de anuncio no finaliza ni se reinicia nunca, por lo
tanto, pasa del estado "programado" al estado "iniciado"
(en potencia, con algún disparador secundario) y finalmente al
estado "cancelado". En la tabla siguiente, se resumen los
estados, los mandatos atómicos que provocan la transición hacia
éstos y las acciones realizadas en dichos estados.
\vskip1.000000\baselineskip
\newpage
La máquina de estados del evento de programa de
televisión 512 es muy similar a la máquina de estados del evento de
anuncio, pero también debe dar cuenta de la segmentación (descrita
en la sección "Tipos de eventos").
A diferencia de lo que ocurre en un evento de
anuncio, el mandato de cancelación sólo detiene el evento de
programa de televisión, puesto que es posible que éste deba ser
reanudado más adelante. El programa de televisión sólo puede ser
cancelado cuando se recibe el mandato atómico de inicio del
siguiente programa de televisión. En la tabla siguiente, se resumen
los estados, los mandatos atómicos que provocan la transición hacia
éstos y las acciones realizadas en dichos estados.
\vskip1.000000\baselineskip
Hay tres tipos diferentes de eventos por
omisión: los eventos de programas de televisión por omisión, los
eventos de anuncios por omisión y los eventos desconocidos por
omisión. Los eventos por omisión se utilizan cuando no existe
ninguna aplicación interactiva asociada al ID del programa.
A diferencia de lo que ocurre en un evento de
anuncio, el mandato de cancelación sólo detiene un evento por
omisión, puesto que es posible que éste deba ser reiniciado más
adelante. El evento por omisión sólo se cancela cuando se cierra el
servidor de automatización 108. La diferencia principal entre los
eventos normales y los eventos por omisión es que hay casos en que
dos ID de programas en secuencia pueden referirse a los mismos
eventos por omisión. En este caso, es preferible no detener el
evento por omisión y reiniciarlo de inmediato, sino dejar que siga
reproduciéndose. Para que esto resulte eficaz, el estado
"finalizado" en realidad no detiene el evento hasta que no se
tiene la seguridad de que el siguiente mandato atómico de inicio no
es también para este evento por omisión. Sin tener en cuenta el
tipo de evento por omisión, en la tabla siguiente se resumen los
estados, los mandatos atómicos que provocan la transición hacia
éstos y las acciones realizadas en dichos estados.
En la Figura 12, se ilustra cómo se utiliza la
segmentación de los programas de televisión para proporcionar al
telespectador una presentación coherente, mantener la aplicación
interactiva adecuada durante los diferentes segmentos del programa
de televisión y, asimismo, proporcionar la aplicación interactiva
adecuada durante los anuncios.
En la Figura 12, se representa un diagrama de
traza de eventos del flujo de las señales de control, los mandatos
atómicos y los mandatos del servidor de radiodifusión del sistema de
programación 106, el módulo conversor (ideal) 502 y el gestor de
eventos 504, durante el tratamiento de un programa de televisión
segmentado. El programa de televisión, programa A, se emite en dos
segmentos, A.1 y A.2, cada uno de los cuales presenta un ID de
programa exclusivo. El anuncio X aparece entre los dos segmentos.
Después del segmento A.2, viene el anuncio Y seguido de un nuevo
programa, el programa B. El problema resuelto en este caso por la
presente invención es el del mantenimiento de la misma
interactividad durante los segmentos A.1 y A.2 (aunque los segmentos
posean cada uno un ID de programa exclusivo), mientras se
proporciona la interactividad, ya sea específica o por omisión, que
acompaña al anuncio X y al anuncio Y. Para obtener este resultado,
el gestor de eventos 504 debe establecer la correlación entre los
ID de programa de ambos segmentos A.1 y A.2 y el mismo evento de
radiodifusión (programa A) en la tabla de asociación de eventos.
Esto se realiza mediante los diversos procedimientos descritos
anteriormente. La secuencia de señales de control y de mandatos
atómicos adopta, por lo tanto, la forma indicada a continuación.
1200: En primer lugar, el sistema de
programación 106 emite una señal de precarga A.1.
1202: A su vez, el módulo conversor 502 programa
el segmento A.1.
1204: El gestor de eventos 504 crea una nueva
máquina de estados 512 para este evento (programa A), almacena la
correlación de este ID de programa y la máquina de estados en la
tabla de asociación de eventos. La máquina de estados del programa
A da la orden al servidor de radiodifusión 110 de programar la
aplicación interactiva adecuada que se va a emitir con el programa
A.
1206: A continuación, el sistema de programación
106 emite una señal de preparación previa o una señal de inicio para
A.1.
1208: A su vez, el módulo conversor 502 inicia
el segmento A.1, potencialmente después de un cierto retardo
determinado por la cantidad de preparación previa y la cantidad de
tiempo empleado por el gestor de eventos 504 y el servidor de
radiodifusión 110 para iniciar el evento del servidor de
radiodifusión.
1210: La máquina de estados del programa A del
gestor de eventos en correspondencia con esto da al servidor de
radiodifusión la orden de iniciar la aplicación interactiva para el
programa A.
1212: El receptor de radiodifusión 120 ejecuta
la aplicación interactiva del programa A que aparece en el
dispositivo de pantalla (p. ej., el aparato de televisión) acoplado
al receptor de radiodifusión 120.
Si el sistema de programación 106 ha emitido una
señal de preparación previa, el módulo conversor 502 ignora la
subsiguiente señal de inicio del sistema de programación 106, puesto
que el programa A.1 ya habrá comenzado.
\vskip1.000000\baselineskip
1214: Después de cierto tiempo, el sistema de
programación 106 emite una señal de precarga para el anuncio X.
1216: A continuación, el módulo conversor 502
emite un mandato atómico de programación de anuncio X.
1218: El gestor de eventos emite un mandato de
programación para que el servidor de radiodifusión 110 programe la
aplicación interactiva (incluida la aplicación por omisión) para el
anuncio X.
1220: A continuación, el sistema de programación
106 emite una señal de preparación previa o de inicio de
anuncio.
1222 y 1224: Puesto que el módulo conversor 502
desconoce que existe otro segmento del programa A, se transmite un
mandato de cancelación para el segmento A.1 y un mandato de inicio
de anuncio X. (Si el sistema de programación 106 envía una señal de
finalización de A.1, ésta se ignorará ya que antes se habrán
recibido las señales de precarga y preparación previa para el
anuncio X.)
1226 y 1228: Normalmente, el gestor de eventos
504 responde cancelando el segmento A.1. No obstante, el gestor de
eventos 504 ignora temporalmente el mandato de cancelación y, en su
lugar, emite un mandato de finalización de A.1 para detener la
aplicación interactiva para el programa A, y un mandato de inicio de
anuncio X para iniciar la ejecución de la aplicación interactiva del
anuncio X.
1230 y 1232: Cuando el receptor de radiodifusión
recibe estos mandatos, el receptor suspende la ejecución de la
aplicación interactiva para el programa A, pero no la termina, e
inicia la ejecución de la aplicación interactiva (o la aplicación
por omisión) del anuncio X. La información de estado disponible (por
ejemplo, la puntuación obtenida en un juego, el formulario
particular que estaba observando el telespectador o una información
similar) se conserva aunque la aplicación interactiva se suspenda.
Otro efecto de la suspensión es, por ejemplo, la desaparición de la
aplicación interactiva del programa A de la pantalla del televisor
del telespectador, de tal forma que la aplicación interactiva del
programa A no se presenta cuando el anuncio X está en pantalla, y
la interactividad del anuncio X se lleva a cabo de forma
adecuada.
El gestor de eventos 504 pospone el mandato de
cancelación del módulo conversor hasta que puede determinar que no
hay ningún segmento más del programa A, lo cual le es desconocido en
ese momento. Esto sucede después, cuando el programa B se inicia de
la manera indicada a continuación.
\vskip1.000000\baselineskip
1234: Cuando el anuncio X está a punto de
finalizar, el sistema de programación 106 emite una señal de
precarga de A.2.
1236: El módulo conversor 502 emite un mandato
de programación de A.2.
En este momento, la lógica de correlación 508
del gestor de eventos 504 determina que el ID de programa de este
evento (segmento A.2) se correlaciona con la misma aplicación
interactiva que el ID de programa del segmento A.1. En
consecuencia, la lógica de correlación 508 encamina todos los
mandatos para el segmento A.2 (según los respectivos ID de
programa) hacia la máquina de estados del programa A. Puesto que la
aplicación interactiva para este segmento del programa A ya se ha
cargado en el receptor de radiodifusión, no es necesario que el
servidor de radiodifusión realice ahora la precarga del mismo. Por
lo tanto, el gestor de eventos no emite ningún otro mandato de
programación.
1238: A continuación, el sistema de programación
106 emite una señal de preparación previa de A.2 o de inicio de
A.2
\newpage
1240 y 1242: El módulo conversor 502 envía un
mandato de cancelación para el anuncio X y un mandato de inicio para
el segmento A.2.
1244 y 1246: En primer lugar, el gestor de
eventos 504 da la orden al servidor de radiodifusión de cancelar la
interactividad para el anuncio X y, a continuación, encamina el
mandato de inicio hacia la máquina de estados del programa A que da
la orden al servidor de radiodifusión de iniciar la aplicación
interactiva asociada al programa A. Debido a que la aplicación
interactiva para el programa A sólo fue suspendida previamente,
ahora puede volver a funcionar (1248) con el estado en el que estaba
antes del inicio del anuncio X.
Por lo tanto, si el programa A era un programa
de juego y la aplicación interactiva era su correspondiente
aplicación de juego, la suspensión de la aplicación para el anuncio
X habrá determinado el almacenamiento en memoria del total de
puntos alcanzado por el telespectador en el juego (y otros estados),
con lo cual éstos podrán restaurarse cuando se emita el segmento A.2
y se reinicie la aplicación.
\vskip1.000000\baselineskip
1250: En algún momento posterior, el sistema de
programación 106 emite una señal de precarga de anuncio Y.
1252: El módulo conversor 502 envía el mandato
de programación del anuncio Y al gestor de eventos 504.
1254: El gestor de eventos 504 programa la
interactividad para el anuncio Y en el servidor de
radiodifusión.
1256: A continuación, el sistema de programación
106 emite una señal de preparación previa de anuncio Y o de inicio
de anuncio Y.
1258 y 1260: El módulo conversor 502 envía un
mandato de cancelación para el segmento A.2 y un mandato de inicio
para el anuncio Y.
1262 y 1264: También en este caso, el gestor de
eventos 504 pospone el mandato de cancelación y, en su lugar, da la
orden al servidor de radiodifusión de detener la interactividad para
el programa A e iniciar la interactividad, si la hubiera (incluida
la interactividad por omisión), para el anuncio Y. La aplicación
interactiva del programa A se suspende (1266), y se ejecuta la
interactividad para el anuncio Y (1268).
También aquí, la máquina de estados para el
programa A pospone la cancelación de la aplicación interactiva del
segmento A.2, puesto que desconoce todavía si existe otro segmento
del programa A.
\vskip1.000000\baselineskip
1270: Cuando el anuncio Y está a punto de
finalizar, el sistema de programación 106 emite una señal de
precarga de programa B.
1272: El módulo conversor 502 programa el
programa B.
1274: La lógica de correlación 508 del gestor de
eventos determina que el ID del programa B es diferente del ID del
programa A y, por lo tanto, deduce que no hay ningún segmento más
para el programa A. Entonces, se crea una nueva máquina de estados
para el programa B. A continuación, el gestor de eventos 504 emite
un mandato de programación de programa B para que el servidor de
radiodifusión programe la interactividad para el programa B. El
gestor de eventos no cancela todavía la interactividad para el
programa A, puesto que el programa B todavía no ha empezado.
1276: A continuación, el sistema de programación
106 emite una señal de preparación previa o una señal de inicio del
programa B.
1278 y 1280: El módulo conversor 502 emite
mandatos atómicos para cancelar el anuncio Y e iniciar el programa
B.
1282 y 1284: El gestor de eventos 504 cancela el
anuncio Y y, a continuación, encamina el mandato de inicio a la
nueva hacia la máquina de estados del programa B.
1288: Cuando aparece el mandato de inicio del
programa B, el gestor de eventos 504 puede cancelar con seguridad
la interactividad para el segmento A.2 del programa A, puesto que es
evidente que empieza un nuevo programa. Este mandato de cancelación
no procede directamente del módulo conversor 502, sino que es
sintetizado por la máquina de estados del programa A del gestor de
eventos, basándose en el mandato de inicio para el programa B.
Puesto que es posible programar el programa B algunas horas antes de
su emisión, la interactividad del programa A no debe cancelarse
hasta que comience realmente el programa B. Debe observarse también
que la cancelación no puede tener lugar cuando se programa el
evento B, debido a la posibilidad de programas consecutivos y debido
a que el programa B puede programarse horas antes del tiempo de su
inicio.
En algunos casos, no hay ningún anuncio (por
ejemplo, el anuncio Y) entre dos programas de televisión (por
ejemplo, el programa A y el programa B). Es decir, los dos programas
pueden ser consecutivos (es decir, el programa B puede empezar
justo después del programa A). En este caso, el mandato de
cancelación del programa A 1288 aparece antes del mandato de inicio
del programa B 1284.
En una forma de realización alternativa, el
gestor de eventos 504 puede iniciar una aplicación interactiva
antes de cancelar otra. Esto es deseable, por ejemplo, si la
cancelación de una aplicación interactiva lleva más tiempo que la
finalización de ésta. Por consiguiente, el inicio de la aplicación
interactiva del programa B antes de la cancelación de la aplicación
interactiva del programa A en los casos en que los dos programas no
son consecutivos constituirá una optimización. En general, la forma
de realización alternativa consiste en detener la aplicación
interactiva previa, iniciar la siguiente aplicación interactiva y,
finalmente, cancelar la aplicación interactiva previa.
Como se ha descrito anteriormente, el servidor
de radiodifusión 110 puede transmitir datos que actualizan o
modifican las características, la interfaz del usuario o las
funciones de una aplicación interactiva. Estas actualizaciones
incluyen (de forma no restrictiva) actualizaciones de la información
de la aplicación interactiva, actualizaciones de texto (p. ej.,
nuevas puntuaciones deportivas, anuncios clasificados, noticias,
preguntas o respuestas de juegos, listas de invitados a un
programa), actualizaciones de imágenes (p. ej, un nuevo mapa del
tiempo), actualizaciones de sonidos y actualizaciones de
archivos.
Cuando se considera la posibilidad de actualizar
aplicaciones interactivas, resulta útil dividir las aplicaciones
interactivas en tres clases:
1. Aplicación estática: este tipo de aplicación
no recibe ninguna actualización durante su ejecución.
2. Aplicación dinámica: una aplicación dinámica
es una aplicación que se actualiza con información nueva
(habitualmente, mientras se está ejecutando). Un ejemplo de
aplicación dinámica puede ser el de una aplicación electrónica de
información dinámica de resultados deportivos que recibe las nuevas
puntuaciones durante un partido de fútbol; análogamente, una
aplicación interactiva de información dinámica electrónica de
cotizaciones que recibe cotizaciones bursátiles actualizadas. La
fuente de las actualizaciones de datos puede variar e incluye las
transmisiones directas de datos en tiempo real, la recolocación de
información web o las actualizaciones definidas estadísticamente
transmitidas en momentos específicos (p. ej., preguntas y respuestas
de una aplicación interactiva que acompaña a un programa de juego).
La fuente de actualizaciones de datos puede hallarse en la entidad
de radiodifusión nacional que genera actualizaciones nacionales o en
el sitio local que genera actualizaciones locales. Como se ha
indicado anteriormente, cada aplicación dinámica presenta un código
de identificación de aplicación exclusivo.
3. Aplicación dinámica reeditada: es una
aplicación interactiva que se reedita periódicamente para incluir
nueva información, pero que reutiliza el mismo código de
identificación de aplicación y permanece igual estructuralmente.
Por lo tanto, las actualizaciones constituyen los nuevos datos para
cada emisión de la aplicación con su programa acompañante. Un
ejemplo de dicha aplicación interactiva es la que acompaña a un
programa de televisión de variedades, tal como el programa de la
NBC "Jay Leno Show". Aunque esta aplicación tiene el mismo
aspecto cada noche, se actualiza a diario para incluir la
información de los invitados de cada noche y otra información
actual. La ventaja que diferencia este tipo de aplicación de una
aplicación estática es que permite almacenar persistentemente la
aplicación interactiva en la base de datos de aplicaciones
interactivas 112, marcando los registros o las partes seleccionadas
de la aplicación interactiva para indicar que se van a actualizar
cuando se transmita la aplicación. Esto resulta ventajoso, porque
permite a la entidad de radiodifusión 114 transmitir sólo las
actualizaciones, en lugar de toda la aplicación interactiva.
Con referencia a la Figura 13, se representa una
forma de realización de un sistema que proporciona actualizaciones
para las aplicaciones interactivas dinámicas. Además de los diversos
elementos descritos con respecto a la Figura 1, en esta
implementación se incluye un gestor de actualizaciones 1300. El
gestor de actualizaciones 1300 incluye dos módulos, un detector de
códigos de contenidos interactivos 1302 y un lector de códigos de
contenidos interactivos 1304. Generalmente, el detector de códigos
1302 identifica los códigos de identificación de aplicación
interactiva de la señal recibida y los proporciona al servidor de
automatización 108. El servidor de automatización 108 averigua el
estado de la aplicación interactiva identificada y proporciona
señales de control al lector de códigos 1304. El lector de códigos
1304 es capaz de leer la señal de radiodifusión e identificar las
partes (los registros) que son actualizaciones de los
correspondientes registros de la aplicación interactiva disponible
en el servidor de radiodifusión 110. El servidor de automatización
108 proporciona mandatos al lector de códigos 1304 para que éste
envíe dichas actualizaciones al servidor de radiodifusión 110 y
éstas sean transmitidas a los dispositivos de recepción, o deje de
enviar dichas actualizaciones. A continuación, el servidor de
radiodifusión 110 proporciona las actualizaciones a la DIU 116 para
que finalmente sean transmitidas al receptor de radiodifusión 120.
Estas características permiten al servidor de radiodifusión 110
actualizar una aplicación interactiva, sin depender de la
construcción de una forma actualizada de la aplicación por la
entidad de radiodifusión. El receptor de radiodifusión 120 recibe
los registros actualizados y los ejecuta junto con la aplicación
interactiva subyacente.
Más particularmente, el detector de códigos 1302
recibe la señal de vídeo de radiodifusión de entrada desde la
entidad de radiodifusión 114, y detecta diversas condiciones
relacionadas con la presencia, la ausencia o el cambio de los
códigos de identificación de la aplicación interactiva en la parte
VBI de la señal (o en la correspondiente parte de otros transportes
de datos). El gestor de actualizaciones 1300 inicia un nuevo
detector de códigos 1302 para cada canal. El servidor de
automatización 108, como se ha indicado, también mantiene un
correspondiente conversor 502 para cada canal y una máquina de
estados 510 para cada aplicación interactiva.
El detector de códigos 1302 examina el VBI para
detectar la presencia de los registros de una aplicación
interactiva, y lee el código de identificación de la aplicación en
cada registro. Al recibir un primer código de identificación de la
aplicación, el detector de códigos 1302 proporciona una señal del
nuevo código de identificación a un correspondiente conversor 502
del servidor de automatización 108. Asimismo, si el detector de
códigos 1302 detecta un cambio en el código de identificación de la
aplicación, el detector de códigos 1302 también emite la señal del
nuevo código de identificación.
Si el detector de códigos 1302 detecta un
mandato de suspensión o de finalización, entonces el detector de
códigos 1302 emite una correspondiente señal de suspensión o
finalización. Si el detector de códigos 1302 detecta la ausencia de
códigos de identificación de aplicación (por ejemplo, la ausencia de
registros de aplicación interactiva), entonces se inicia un
temporizador. El tiempo de expiración del temporizador es
configurable por el usuario. Si no se ha recibido ningún registro
de aplicación interactiva antes de que expire el tiempo, el detector
de códigos 1302 emite una señal de ausencia de datos.
En otra forma de realización, el detector de
códigos 1302 también examina la señal de radiodifusión para
comprobar la presencia de señales de disparo particulares. Por
ejemplo, las señales de disparo pueden transmitirse en líneas
preservadas (por ejemplo, en la línea de subtitulación opcional, es
decir, la línea 21). Las señales de disparo de la línea 21
contienen un identificador de contenido, tal como un código de
identificación de aplicación interactiva, y un contador de duración
(p. ej., 8 segundos) para controlar un temporizador de cuenta
atrás. Por ejemplo, un contador de 30 segundos de duración iniciará
un temporizador de cuenta atrás de 30 segundos. Cuando el
temporizador expira, la aplicación interactiva (u otro tipo de
contenido) se detiene. Si se recibe una señal de disparo, los
registros de la aplicación interactiva se ignoran. En su lugar, el
detector de códigos 1302 determina si hay algún cambio en el código
de identificación de la aplicación, que en este caso se transmite
en las líneas preservadas. Si el código de identificación ha
cambiado, se envía una señal del nuevo código de identificación al
conversor 502, y el temporizador se restablece para iniciar la
cuenta atrás del contador de duración. Si el temporizador expira,
entonces se envía un mandato de ausencia de datos al conversor.
En correspondencia con cada detector de códigos
1302, el servidor de automatización 108 mantiene un conversor 502 y
un gestor de eventos 504. El conversor 502 recibe las diversas
señales desde el detector de códigos 1302. Cada vez que se recibe
una señal de preparación y de inicio, el conversor 502 inicia una
nueva máquina de estados 510 (puesto que existe una nueva
aplicación correspondiente), y efectúa la transición a través de
ésta de la forma descrita anteriormente. Asimismo, el gestor de
eventos 504 inicia un gestor de eventos 512 para recibir los
mandatos atómicos 514 emitidos por la correspondiente máquina de
estados del conversor 510.
En la Tabla 13 se resumen las relaciones entre
los tipos de señales de control proporcionadas por el detector de
códigos 1302 y las señales ideales del conversor 502.
Como se ha descrito, el gestor de eventos 504
gestiona los eventos (aplicaciones interactivas) del servidor de
radiodifusión 110 en respuesta a los mandatos atómicos del conversor
502, utilizando una máquina de estados para realizar el seguimiento
del estado de cada evento. Cuando recibe un mandato de programación
desde el conversor 502, el gestor de eventos 504 da la orden al
servidor de radiodifusión 110 de iniciar y mantener un nuevo evento
(aplicación interactiva) para la radiodifusión. Entonces, el
servidor de radiodifusión 110 proporciona un ID de evento al gestor
de eventos 504, para referirse a ese evento. El ID de evento es un
identificador exclusivo de un caso particular de aplicación
interactiva emitida.
En otra forma de realización, el detector de
códigos 1302 incorpora directamente las funciones del conversor y
mantiene su propia máquina de estados para cada aplicación
interactiva que identifica. En consecuencia, el detector de códigos
establece directamente la correlación entre los cambios de la señal
de radiodifusión y los mandatos atómicos, y proporciona estos
mandatos atómicos al gestor de eventos 504. Esta forma de
realización pasa las funciones del conversor al detector de códigos
1302.
En cualquiera de las formas de realización, el
gestor de eventos 504 incluye algunas funciones adicionales para
interactuar con el lector de códigos 1304. Más particularmente, el
gestor de eventos 504 proporciona dos mandatos adicionales para
controlar el detector de códigos 1302. En primer lugar, al recibir
un mandato atómico de inicio, el gestor de eventos 504 pasa al
estado "iniciado" 1104, como se ha descrito anteriormente. En
este caso, además de sus otras funciones, el gestor de eventos 504
transmite un mandato de inicio de actualizaciones al lector de
códigos 1304 del canal, en el que se indica el código de aplicación
interactiva y el correspondiente ID de evento proporcionado por el
servidor de radiodifusión 110. Cuando el gestor de eventos recibe un
mandato atómico de finalización, pasa al estado "finalizado"
1106 y transmite un mandato de finalización al lector de códigos
1304, que proporciona el código de identificación de la aplicación
interactiva cuyas actualizaciones deben ser interrumpidas.
El lector de códigos 1304 es responsable de
determinar qué registros de una aplicación interactiva se
actualizan, y de proporcionar estos registros al servidor de
radiodifusión 110. Como los otros módulos, el lector de códigos
1304 está orientado a canales y mantiene un estado separado en cada
canal y una aplicación en cada canal. Para cada aplicación, el
detector de códigos 1302 determina qué registros de la aplicación
interactiva son actualizaciones y transmite estas actualizaciones
al servidor de radiodifusión 110. Antes de recibir un mandato de
inicio de actualizaciones, el lector de códigos 1304 almacena los
registros actualizados en memoria caché. El lector de códigos 1304
empieza a proporcionar estas actualizaciones en respuesta al mandato
de inicio de actualizaciones del gestor de eventos 504. El lector
de códigos 1304 proporciona un mandato de actualización al servidor
de radiodifusión 110, junto con la identificación de la aplicación
interactiva, el ID de evento reconocido por el servidor de
radiodifusión y el registro actualizado que se va a emitir. El
servidor de radiodifusión 110 prepara los registros actualizados
que serán emitidos por la DIU 116. En respuesta a un mandato de
finalización del gestor de eventos 504, el lector de códigos 1304
deja de transmitir los registros actualizados al servidor de
radiodifusión 110.
En algunas formas de realización, el servidor de
radiodifusión 110 proporciona una aplicación interactiva para un
programa de radiodifusión determinado, que es diferente de la
aplicación interactiva codificada que recibe en la señal de
radiodifusión, para transmitirla a los receptores de radiodifusión.
El servidor de radiodifusión 110 puede modificar o sustituir por
una aplicación diferente la aplicación interactiva recibida. La
aplicación diferente puede ser una versión adaptada localmente de
la aplicación recibida en un principio, que proporciona, por
ejemplo, información que es importante localmente, tal como las
ubicaciones comerciales para un distribuidor nacional, o
proporciona un contenido mejorado, tal como unas aplicaciones de
mayor ancho de banda (p. ej., en MPEG u otros formatos
digitales).
En una forma de realización en la que se
insertarán aplicaciones digitales en una secuencia de vídeo digital
de radiodifusión, la unidad de inserción de datos 116 presenta la
capacidad de inserción de formato MPEG u otros formatos digitales
bien conocidos por las personas medianamente expertas en la materia
(por ejemplo, una secuencia MPEG 1 ó 2). El servidor de
radiodifusión 110 transmite el contenido interactivo al multiplexor
del subsistema local que genera la secuencia MPEG. El multiplexor
del subsistema local habitualmente presenta una puerta en serie o
TCP/IP para recibir el tren de bits del contenido interactivo. Tras
la recepción del tren de bits del contenido interactivo, el
multiplexor añade el contenido interactivo a una secuencia de vídeo
digital de salida, de conformidad con su funcionamiento normal. El
multiplexor también puede eliminar y sustituir contenidos
interactivos cuando sea necesario. Si la secuencia digital es vídeo
digital por componentes en serie (una secuencia de vídeo digital
basada en paquetes, especificada en la norma SMPTE
259M-C), se utilizará un codificador Norpak para
añadir el contenido interactivo mediante la sustitución de los
paquetes existentes por los nuevos paquetes que le han sido
transmitidos por el servidor de radiodifusión local 110. Por otra
parte, si se ha transmitido una versión digital de un contenido
interactivo a un subsistema analógico 628, el servidor de
radiodifusión interactivo 606 puede cambiar la aplicación digital
por una aplicación analógica de menor ancho de banda. Si se ha
transmitido una versión analógica de un contenido interactivo al
sistema 100, primero se convierte la versión analógica en un
programa digital o se cambia la versión analógica por un programa
digital. Si se va a digitalizar la versión analógica, se utiliza un
convertidor software analógico-digital para
convertir la versión analógica en un programa digital que satisface
los protocolos del subsistema local. En una forma de realización,
el servidor de radiodifusión local 110 es capaz de suministrar
varias aplicaciones. Por ejemplo, un subsistema de cabecera de
cable puede suministrar secuencias analógicas y digitales para que
las viviendas que disponen de receptores de radiodifusión digitales
puedan recibir interactividad de alta calidad, mientras que las
viviendas que disponen de receptores de radiodifusión analógicos
pueden seguir recibiendo la interactividad más sencilla. En esta
forma de realización, el servidor de radiodifusión local 110
selecciona las versiones perfeccionadas y las versiones sencillas
del contenido interactivo y las inserta en las respectivas
señales.
En estas formas de realización, por lo tanto, el
gestor de actualizaciones 1300 permite el movimiento de los
registros actualizados asociados con una aplicación interactiva
recibida originalmente hacia su versión local adaptada que se está
transmitiendo. Esto puede comportar un cambio en la capa de
transporte (por ejemplo, desde la línea VBI hasta MPEG, o similar),
pero permite integrar dichos registros en la aplicación local. Por
consiguiente, el servidor de radiodifusión 110 puede proporcionar
actualizaciones para la versión local adaptada de la aplicación,
aun cuando la entidad de radiodifusión no haya creado inicialmente
ninguna señal de radiodifusión en la que se combinaran las
actualizaciones y la aplicación adaptada.
Para determinar qué registros de una aplicación
interactiva son actualizaciones, y qué otros son registros
estáticos, pueden utilizarse diversos procedimientos. Una forma de
realización simple marca cada registro con un señalizador que
indica si el registro es un registro estático o una actualización.
(Los registros pueden ser actualizados por una entidad de
radiodifusión nacional o en el sistema local.) Una vez que el lector
de códigos 1304 ha leído cada registro de la aplicación interactiva
que ha recibido, envía como actualizaciones los registros que
contienen el señalizador al servidor de radiodifusión 110.
En una forma de realización más perfeccionada,
se incluye un número de secuencia en cada registro. Los registros
de la aplicación interactiva no actualizada se ponen a 0. Cada vez
que se actualiza un registro, su número de secuencia se incrementa.
El lector de códigos 1304 mantiene, para cada aplicación
interactiva, una tabla que contiene los registros de la aplicación
interactiva y sus números de secuencia (cada registro incluye un ID
de registro). Cuando se recibe un registro para una aplicación
interactiva, el lector de códigos 1304 compara el número de
secuencia de su tabla con el número de secuencia del registro
recibido. Si el ID de secuencia del registro recibido es superior
al número de secuencia almacenado, el lector de códigos 1304 deduce
que este registro es una actualización y lo almacena en memoria
caché o lo envía al servidor de radiodifusión 110, según convenga.
El lector de códigos 1304 también actualiza el número de secuencia
almacenado en la tabla.
Esta forma de realización de numeración de
secuencias es particularmente útil en las aplicaciones dinámicas
reeditadas mencionadas anteriormente, que utilizan el mismo código
de identificación interactivo, pero que necesitan actualizaciones
diferentes cada vez que se emiten. Las versiones almacenadas
localmente de estas aplicaciones interactivas contienen números de
secuencia íntegramente constituidos por valores cero. Cada versión
nacional actualizada de la aplicación interactiva contiene un número
de secuencia de valor uno para todos los registros dinámicos, es
decir, todos los registros que se van a actualizar. Por ejemplo, si
la aplicación va a emitirse por la noche, los registros
actualizados cada noche (p. ej., la lista de invitados) se numeran
en secuencia con el valor "1". Puesto que el servidor de
radiodifusión local 110 recarga la aplicación local cada vez que se
emite, presentará los registros de valor 0 cada vez que esto ocurra.
Por consiguiente, el lector de códigos 1304 identificará los
números de secuencia actualizada en cada nueva emisión. Esto permite
utilizar, a la entidad de radiodifusión nacional, la misma
aplicación interactiva cada vez, cambiando simplemente los
registros dinámicos. El trabajo adicional necesario para
proporcionar actualizaciones cada noche se reduce, puesto que no es
necesario que la entidad de radiodifusión nacional (o la entidad que
proporciona la aplicación interactiva) utilice y efectúe el
seguimiento de una aplicación diferente con un código de
identificación de aplicación diferente cada noche.
La inclusión de señalizadores y de números de
secuencia en los registros también puede tener lugar
simultáneamente. La aplicación interactiva puede configurarse
localmente para que sólo se añadan señalizadores de actualización a
algunos de sus registros dinámicos. Esto es deseable, por ejemplo,
si el operador del sistema local desea ignorar ciertas
actualizaciones proporcionadas por una entidad de radiodifusión
nacional. En esta forma de realización, el lector de códigos 1304
sólo transmitirá los registros que contienen señalizadores de
actualización y números de secuencia incrementados.
Para perfeccionar todavía más la provisión de
actualizaciones, será deseable asegurar que el registro actualizado
(tal como el provisto por una aplicación interactiva de
radiodifusión nacional) sea compatible con el registro al que
reemplaza en la aplicación local. Esto se debe a que la sustitución
de un tipo de registro (p. ej., texto) por otro tipo de registro
(p. ej., un mapa de bits) puede determinar que la aplicación
interactiva deje de funcionar en el receptor de radiodifusión, lo
cual sería un resultado inadmisible. Aunque realizar la comprobación
de todos los tipos de los registros en el lector de códigos 1304 es
teóricamente posible, en la práctica, no resulta una implementación
práctica, debido a la necesidad de procesar los registros a
velocidades muy altas.
En consecuencia, una solución será utilizar
sumas de verificación dobles (firmas) en cada aplicación
interactiva.
La primera suma de verificación se calcula con
la estructura de los registros actualizados, pero no con su
contenido variable, es decir, las partes sin contenido de los
registros actualizados. Por ejemplo, la suma de verificación puede
calcularse con los ID de los registros y los nombres de los
registros de todos los registros actualizados (cabe la posibilidad
de utilizar también el tipo de registro o una combinación
determinada de estos campos, por ejemplo, el ID y el tipo). Por
ejemplo, el contenido de un registro denominado lista_invitados
puede cambiar, pero el nombre permanecerá constante en todas las
actualizaciones, así como el tipo. Esta suma de verificación
"dinámica" se transmite junto con la aplicación interactiva, y
es recibida por el lector de códigos 1304 y comparada con la
correspondiente suma de verificación dinámica de los
correspondientes registros de la aplicación interactiva local. Si
las sumas de verificación coinciden, el lector de códigos 1304
deduce que los registros actualizados son compatibles con los
correspondientes registros almacenados localmente.
La segunda suma de verificación se calcula a
partir de todas las partes estáticas (invariables) de la aplicación
interactiva, tanto en la versión nacional (o, en un sentido más
amplio, remota) como en la versión almacenada localmente. Esta suma
de verificación estática se transmite junto con la aplicación
interactiva, y es recibida por el lector de códigos 1304 y
comparada con la correspondiente suma de verificación estática de la
versión almacenada localmente de la misma aplicación interactiva.
Si estas sumas de verificación concuerdan, el lector de códigos
1304 deduce que las partes estáticas de la aplicación interactiva
(por ejemplo, los guiones, los botones, las disposiciones de
pantalla, etc.) son idénticas.
Si alguna de las sumas de verificación falla, el
lector de códigos 1304 no proporciona los registros actualizados al
servidor de radiodifusión 110. Puesto que sólo se comparan dos
valores de suma de verificación, este procedimiento es muy rápido y
no requiere la adición de ancho de banda por el lector de códigos
1304.
Además de las actualizaciones de datos
dinámicas, el gestor de actualización 1300 tiene capacidad para
pasar información de control desde una aplicación interactiva de
radiodifusión nacional (o remota) hasta la aplicación interactiva
local. Estas señales de control incluyen lo siguiente (sin limitarse
a ello):
- \bullet
- Mandatos, tales como los que dan la orden de abandonar la aplicación interactiva y los que dan la orden de suspender la aplicación interactiva. Estos mandatos proporcionan otro mecanismo para controlar el funcionamiento de la aplicación interactiva.
- \bullet
- Información sobre el origen de la señal (por ejemplo, de qué servidor de radiodifusión nacional procede la señal).
- \bullet
- Información de los tiempos de ejecución de la aplicación. Dicha información (denominada información de "arriendos") puede utilizarse para controlar los intervalos de tiempo específicos durante los cuales puede iniciarse, ejecutarse o terminarse una aplicación. Para obtener más información sobre estas características, deberá consultarse la solicitud en trámite de número de serie 09/431.001.
Algunas de estas señales, o todas, pueden
pasarse a la aplicación interactiva adaptada localmente según las
necesidades del sistema de televisión interactiva.
En resumen, por lo tanto, la presente invención
proporciona diversos procedimientos y medios para controlar el
comportamiento del contenido interactivo en sincronía con la emisión
y la presentación visual de los programas de radiodifusión,
incluidos los programas de televisión, los anuncios y similares. Los
principios de la presente invención, incluida la utilización de
señales de control nativas para determinar la identidad y el estado
de los programas de radiodifusión y gestionar los estados de la
interactividad asociada con los programas de radiodifusión, pueden
implementarse de una diversidad de maneras diferentes que admiten
numerosas variantes. Algunas de las variantes incluidas en el
alcance de la presente invención son las indicadas a
continuación.
El servidor de automatización 108 descrito en la
presente memoria utiliza las máquinas de doble estado del módulo
conversor 502 y el gestor de eventos 504. Aunque esto resulta
beneficioso, existen otras formas de realización de la presente
invención que pueden implementar el servidor de automatización 108 o
sus funciones sin máquinas de estados (utilizando, por ejemplo,
guiones programados para cada tipo de señal de control u otros
mecanismos).
El conjunto de señales de control y estados
ideales del módulo conversor 502, los mandatos atómicos
proporcionados al gestor de eventos 504 o los mandatos generados
para controlar un dispositivo tipo servidor de radiodifusión pueden
variar para abarcar más o menos señales y mandatos. Asimismo, las
acciones específicas en cada uno de los estados pueden variar. Por
ejemplo, además de los mandatos de finalización o cancelación, puede
utilizarse un mandato de reanudación o de reanudación con retardo
para un control más complejo. El mandato de almacenamiento puede
dar la orden al receptor de radiodifusión 120 de guardar los datos
generados durante la interactividad para su posterior recuperación.
Este mandato puede generarse, por ejemplo, como respuesta a
condiciones de error, cambios de canal u otros eventos, para
guardar los datos que han sido creados por el usuario o la
interactividad. El mandato de envío o carga puede dar la orden al
receptor de radiodifusión de transmitir, hasta un mecanismo de
recopilación, los datos que han sido creados/almacenados (por
ejemplo, para realizar la compra de un producto por medio de una
aplicación interactiva de compras).
Los tipos de interactividad que pueden ser
controlados por el servidor de automatización 108 y la presente
invención pueden variar y no se limitan a las aplicaciones
interactivas existentes. Está previsto que la interactividad tipo
página web o combinaciones de páginas web y aplicaciones
interactivas pueda ser controlada utilizando los principios de la
presente invención.
Los tiempos de envío de los mandatos al servidor
de radiodifusión o un dispositivo similar pueden variar,
dependiendo del ancho de banda, la velocidad de conexión para
transmitir los datos y el tiempo de respuesta de ejecución del
receptor de radiodifusión con respecto a la rapidez con la que puede
presentar una imagen de televisión. Por lo tanto, los mandatos
podrán enviarse antes, bastante antes, exactamente en el mismo
momento o justo después de que tenga lugar el evento de
radiodifusión subyacente. Los tiempos de los mandatos pueden
optimizarse para aprovechar la información de que se dispone tan
pronto como sea posible.
Los medios que permiten proporcionar las señales
de control al servidor de automatización o sus equivalentes pueden
variar. Estos medios incluyen los datos binarios a través de una
puerta en serie, una LAN o una interfaz de telecomunicaciones con
el sistema de programación, o los datos binarios codificados en una
señal de vídeo analógica o digital.
\newpage
En consecuencia, deberá tenerse en cuenta que la
presente invención no está limitada intrínsecamente por los
detalles de las formas de realización preferidas proporcionadas en
la presente memoria, sino por el alcance de las reivindicaciones
subsiguientes.
Claims (27)
1. Procedimiento implementado por ordenador para
actualizar una emisión de una aplicación interactiva desde un
sistema de radiodifusión (114 y 116) hasta un dispositivo de
recepción (120), a través de unos medios de transmisión (118),
comprendiendo el procedimiento las etapas siguientes:
recibir en el sistema de radiodifusión una señal
de radiodifusión que comprende por lo menos un registro de una
primera aplicación interactiva (115); caracterizado
porque
se selecciona una segunda aplicación interactiva
(115), y se emiten los registros de la segunda aplicación
interactiva hasta el dispositivo de recepción (120), en lugar de por
lo menos algunos de los registros de la primera aplicación
interactiva, para la ejecución de la segunda aplicación interactiva
por el dispositivo de recepción;
se recibe en el sistema de radiodifusión la
señal de radiodifusión de uno o más registros adicionales de la
primera aplicación interactiva; y
se emiten los registros adicionales
seleccionados desde el sistema de radiodifusión hasta el dispositivo
de recepción, para la ejecución de la segunda aplicación interactiva
en conjunción con los registros adicionales.
2. Procedimiento según la reivindicación 1, en
el que la segunda aplicación interactiva es una versión adaptada de
la primera aplicación interactiva.
3. Procedimiento según la reivindicación 1, en
el que la primera aplicación interactiva se emite a través de un
primer protocolo de transporte, y la segunda aplicación interactiva
se emite a través de un segundo protocolo de transporte.
4. Procedimiento según la reivindicación 1, en
el que la primera aplicación interactiva se emite a través de un
protocolo de transporte analógico, y la segunda aplicación
interactiva se emite a través de un protocolo de transporte
digital.
5. Procedimiento según la reivindicación 4, en
el que el protocolo de transporte analógico es el intervalo de
borrado vertical de una señal de radiodifusión de televisión
analógica.
6. Procedimiento según la reivindicación 4, en
el que el protocolo de transporte digital es una señal MPEG.
7. Procedimiento según la reivindicación 4, en
el que el protocolo de transporte digital es una señal ATVEF.
8. Procedimiento según la reivindicación 4, en
el que el protocolo de transporte digital es una señal HTTP.
9. Procedimiento según la reivindicación 4, en
el que la emisión de los registros adicionales hasta el dispositivo
de recepción comprende asimismo la conversión del formato de los
registros actualizados, que es un formato compatible con el
protocolo de transporte analógico, en un formato compatible con el
protocolo de transporte digital.
10. Procedimiento según la reivindicación 1, en
el que la emisión de los registros adicionales actualizados
seleccionados hasta el dispositivo de recepción comprende asimismo
la selección de un registro adicional que es una actualización de un
correspondiente registro de la segunda aplicación interactiva.
11. Procedimiento según la reivindicación 10, en
el que la selección de un registro adicional que es una
actualización de un correspondiente registro de la segunda
aplicación interactiva comprende asimismo las etapas
siguien-
tes:
tes:
almacenar para cada registro de la primera
aplicación interactiva un número de secuencia actual,
determinar la superación o no, por el número de
secuencia del registro adicional de la primera aplicación
interactiva recibido, del número de secuencia actual del registro;
y
si se determina que el número de secuencia
sobrepasa el número de secuencia almacenado, seleccionar el registro
adicional y ajustar el número de secuencia almacenado para el
registro adicional al número de secuencia recibido.
12. Procedimiento según la reivindicación 10, en
el que la selección de un registro adicional que es una
actualización de un correspondiente registro de la segunda
aplicación interactiva comprende asimismo las etapas
siguien-
tes:
tes:
almacenar para cada registro de la primera
aplicación interactiva un número de secuencia actual;
identificar para cada registro adicional de la
primera aplicación interactiva un señalizador de actualización para
determinar si el registro es o no una actualización;
para cada registro adicional que presenta un
señalizador de actualización, determinar la superación o no, por el
número de secuencia del registro adicional de la aplicación
interactiva recibido, el número de secuencia actual del registro
para determinar si se utiliza o no el registro adicional; y
si se determina que el número de secuencia
sobrepasa el número de secuencia almacenado, ajustar el número de
secuencia almacenado del registro adicional al número de secuencia
recibido.
13. Procedimiento según la reivindicación 1, en
el que la emisión de un registro adicional seleccionado hasta el
dispositivo de recepción comprende asimismo la emisión de un
registro adicional actualizado sólo si el registro adicional es
compatible con un correspondiente registro de la segunda aplicación
interactiva.
14. Procedimiento según la reivindicación 1, en
el que la emisión de los registros adicionales seleccionados hasta
el dispositivo de recepción comprende las etapas siguientes:
determinar la compatibilidad o incompatibilidad de los registros
adicionales con los correspondientes registros de la segunda
aplicación interactiva,
comparar una primera suma de verificación de las
partes sin contenido de los registros adicionales de la primera
aplicación interactiva con una primera suma de verificación de las
partes sin contenido de los correspondientes registros que contienen
un contenido variable.
15. Procedimiento según la reivindicación 14, en
el que las partes sin contenido de los registros incluyen por lo
menos uno de los elementos de entre el grupo constituido por:
- ID del registro;
- tipo del registro; y
- nombre del registro.
16. Procedimiento según la reivindicación 14, en
el que la emisión de los registros adicionales seleccionados hasta
el dispositivo de recepción comprende asimismo la etapa siguiente:
comparar una segunda suma de verificación de las partes estáticas de
los registros de la primera aplicación interactiva con una segunda
suma de verificación de las partes estáticas de los registros de la
segunda aplicación interactiva.
17. Procedimiento según la reivindicación 1, que
comprende asimismo las etapas siguientes:
recibir en el sistema de radiodifusión en la
señal de radiodifusión información de control para controlar la
ejecución de la segunda aplicación interactiva en el dispositivo de
recepción; y
emitir la información de control hasta el
dispositivo de recepción.
18. Sistema para actualizar una emisión de una
aplicación interactiva desde un sistema de radiodifusión (114 y 116)
hasta un dispositivo de recepción (120), a través de unos medios de
transmisión (118), estando el sistema caracterizado porque
presenta:
un detector de códigos (502 y 1302) adaptado
para recibir una señal de radiodifusión e identificar en la señal
los códigos relacionados con un cambio de estado (802, 804, 806,
808, 1102, 1104, 1106 y 1108) de una primera aplicación interactiva
(115), y que proporciona señales de salida que indican el cambio de
estado;
un servidor que mantiene información de estado
para la primera aplicación interactiva en respuesta a las señales de
salida del detector de códigos, y que, en respuesta al estado de la
primera aplicación interactiva, genera mandatos para iniciar o
detener la generación de registros actualizados de la aplicación
interactiva:
un lector de códigos (1304), adaptado para leer
los códigos de una aplicación interactiva e identificar los
registros de la primera aplicación interactiva que son
actualizaciones de los correspondientes registros de una segunda
aplicación interactiva (115) almacenados en un servidor de
radiodifusión (110), y acoplado comunicativamente con el servidor,
que proporciona selectivamente los registros actualizados al
servidor de radiodifusión (110) en respuesta a los mandatos del
servidor; y
un servidor de radiodifusión (110) que emite la
segunda aplicación interactiva a los dispositivos de recepción para
que éstos la ejecuten, en lugar de la primera aplicación
interactiva, y que emite selectivamente los registros actualizados a
los dispositivos de recepción, para la ejecución de la segunda
aplicación interactiva en conjunción con los registros
actualizados.
19. Sistema según la reivindicación 18, en el
que el detector de códigos identifica los códigos relacionados con
un cambio del estado de la aplicación interactiva, detectando los
cambios del código de identificación de la aplicación
interactiva.
\newpage
20. Sistema según la reivindicación 18, en el
que el detector de códigos identifica los códigos relacionados con
un cambio del estado de la aplicación interactiva, detectando un
nuevo código de identificación de aplicación interactiva.
21. Sistema según la reivindicación 20, en el
que el servidor, en respuesta a una señal de salida del detector de
códigos que indica un nuevo código de identificación interactiva, da
la orden al lector de códigos de iniciar la provisión de registros
actualizados del servidor de radiodifusión.
22. Sistema según la reivindicación 18, en el
que el detector de códigos identifica los códigos relacionados con
un cambio del estado de la aplicación interactiva, detectando la
ausencia del código de identificación de la aplicación interactiva
en la señal de radiodifusión durante un período de tiempo
predeterminado.
23. Sistema según la reivindicación 22, en el
que el servidor, en respuesta a una señal de salida del detector de
códigos que indica la ausencia del código de identificación de la
aplicación interactiva durante el período predeterminado, da la
orden al lector de códigos de interrumpir la provisión de registros
actualizados de la segunda aplicación interactiva al servidor de
radiodifusión.
24. Sistema según la reivindicación 18, en el
que el lector de códigos almacena en memoria caché los registros
actualizados antes de recibir, desde el servidor, el mandato de
proporcionar los registros actualizados al servidor de
radiodifusión.
25. Sistema según la reivindicación 18, en el
que el detector de códigos detecta mandatos para controlar la
ejecución de la primera aplicación interactiva en una parte
preservada de la señal de radiodifusión, y el lector de códigos
proporciona los mandatos al servidor de radiodifusión para que sean
emitidos hasta el dispositivo de recepción.
26. Sistema según la reivindicación 18, que
comprende asimismo unos medios para realizar las etapas de
procedimiento según cualquiera de las reivindicaciones 2 a 16.
27. Medios legibles por ordenador para
implementar un procedimiento para actualizar la emisión de una
aplicación interactiva según una de las reivindicaciones 1 a 17.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/843,614 US7222155B1 (en) | 1999-06-15 | 2001-04-25 | Synchronous updating of dynamic interactive applications |
US843614 | 2001-04-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2278025T3 true ES2278025T3 (es) | 2007-08-01 |
Family
ID=25290526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES02731509T Expired - Lifetime ES2278025T3 (es) | 2001-04-25 | 2002-04-25 | Actualizacion sincronica de aplicaciones interactivas dinamicas. |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP1381961B1 (es) |
JP (1) | JP4724420B2 (es) |
AT (1) | ATE349854T1 (es) |
AU (1) | AU2002303484B2 (es) |
CA (1) | CA2445186A1 (es) |
DE (1) | DE60217091T2 (es) |
ES (1) | ES2278025T3 (es) |
WO (1) | WO2002086746A1 (es) |
Families Citing this family (26)
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 |
US7702995B2 (en) | 2000-04-24 | 2010-04-20 | TVWorks, LLC. | Method and system for transforming content for execution on multiple platforms |
US8936101B2 (en) | 2008-07-17 | 2015-01-20 | Halliburton Energy Services, Inc. | Interventionless set packer and setting method for same |
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 |
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 |
JP2007515092A (ja) | 2003-12-18 | 2007-06-07 | 松下電器産業株式会社 | プログラムデータファイル保存方法および認証プログラム実行方法 |
KR20110031506A (ko) | 2003-12-18 | 2011-03-28 | 파나소닉 주식회사 | 애플리케이션 프로그램을 인증 및 실행하는 방법 |
US8286203B2 (en) | 2003-12-19 | 2012-10-09 | At&T Intellectual Property I, L.P. | System and method for enhanced hot key delivery |
US20090300200A1 (en) * | 2004-06-30 | 2009-12-03 | Robert Jochemsen | Content managing module and apparatus comprising such content managing module as well as method for controlling interactive applications |
EP1696321A1 (en) * | 2005-02-23 | 2006-08-30 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for executing software applications |
US7805750B2 (en) * | 2005-04-15 | 2010-09-28 | Scientific-Atlanta, Inc. | Storage control system |
US7721318B2 (en) | 2005-04-15 | 2010-05-18 | Scientific-Atlanta, Inc. | Uplink signaling for global decoder control |
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 (en) * | 2006-07-17 | 2008-01-23 | Motorola, Inc., A Corporation of the State of Delaware; | Apparatus and method for presenting an event during a broadcast |
KR101673426B1 (ko) * | 2009-04-01 | 2016-11-07 | 포스월 미디어, 인코포레이티드 | 양방향 콘텐츠로 비디오 광고를 강화시키기 위한 시스템들, 방법들 및 장치들 |
WO2012157741A1 (ja) * | 2011-05-19 | 2012-11-22 | 日本放送協会 | 放送機器 |
US8935719B2 (en) | 2011-08-25 | 2015-01-13 | Comcast Cable Communications, Llc | Application triggering |
US9414114B2 (en) | 2013-03-13 | 2016-08-09 | Comcast Cable Holdings, Llc | Selective interactivity |
US11076205B2 (en) | 2014-03-07 | 2021-07-27 | Comcast Cable Communications, Llc | Retrieving supplemental content |
JP6612805B2 (ja) * | 2017-03-24 | 2019-11-27 | マクセル株式会社 | 放送受信装置及びキャッシュ制御方法 |
JP6892490B2 (ja) * | 2017-03-24 | 2021-06-23 | マクセル株式会社 | 放送受信装置 |
CN107920277A (zh) * | 2017-11-06 | 2018-04-17 | 深圳创维-Rgb电子有限公司 | Epg信息扩充方法、装置及计算机可读存储介质 |
CN110413347B (zh) * | 2019-07-31 | 2023-08-18 | Oppo广东移动通信有限公司 | 应用程序中广告的处理方法、装置、存储介质及终端 |
Family Cites Families (5)
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 |
EP0788714B1 (en) * | 1994-10-24 | 2006-03-22 | Intel Corporation | Video indexing protocol |
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 |
ES2235296T3 (es) * | 1998-09-11 | 2005-07-01 | Two Way Media Limited | Distribucion de aplicaciones interactivas. |
-
2002
- 2002-04-25 ES ES02731509T patent/ES2278025T3/es not_active Expired - Lifetime
- 2002-04-25 EP EP02731509A patent/EP1381961B1/en not_active Expired - Lifetime
- 2002-04-25 JP JP2004533008A patent/JP4724420B2/ja not_active Expired - Fee Related
- 2002-04-25 CA CA002445186A patent/CA2445186A1/en not_active Abandoned
- 2002-04-25 AT AT02731509T patent/ATE349854T1/de not_active IP Right Cessation
- 2002-04-25 AU AU2002303484A patent/AU2002303484B2/en not_active Ceased
- 2002-04-25 WO PCT/US2002/013125 patent/WO2002086746A1/en active IP Right Grant
- 2002-04-25 DE DE60217091T patent/DE60217091T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1381961A4 (en) | 2005-03-09 |
JP4724420B2 (ja) | 2011-07-13 |
DE60217091T2 (de) | 2007-06-21 |
EP1381961B1 (en) | 2006-12-27 |
ATE349854T1 (de) | 2007-01-15 |
EP1381961A1 (en) | 2004-01-21 |
AU2002303484B2 (en) | 2006-06-15 |
JP2005527171A (ja) | 2005-09-08 |
WO2002086746A8 (en) | 2004-01-08 |
WO2002086746A1 (en) | 2002-10-31 |
CA2445186A1 (en) | 2002-10-31 |
DE60217091D1 (de) | 2007-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2278025T3 (es) | Actualizacion sincronica de aplicaciones interactivas dinamicas. | |
US7941564B2 (en) | Synchronous updating of dynamic interactive applications | |
JP4972258B2 (ja) | 放送プログラムとの同期動作を維持するための放送及びインタラクティブ・アプリケーションの実行の自動制御 | |
US7028327B1 (en) | Using the electronic program guide to synchronize interactivity with broadcast programs | |
KR100530295B1 (ko) | 라이브 프로그래밍 이벤트를 구비하여 완전한 대화성을 제공하는 디지털 대화형 시스템 및 방법 | |
EP1269750B1 (en) | Ensuring reliable delivery of interactive content | |
US20020010928A1 (en) | Method and system for integrating internet advertising with television commercials | |
AU2002303484A1 (en) | Synchronous updating of dynamic interactive applications | |
WO2003043322A3 (en) | Remote re-creation of data in a television system | |
KR20010033896A (ko) | 단방향 데이터 스트림을 위한 양방향 접속을 시뮬레이션하기 위한 호스트 장치 | |
US20030063217A1 (en) | Interactive television with embedded universal time codes | |
EP1749402A2 (en) | Display of enhanced content | |
KR20040096014A (ko) | 디지털 방송에서의 광고 방법 | |
JP2007504764A (ja) | 識別子が放送番組内に存在する場合のタイムベースの停止 | |
CN100586192C (zh) | 视听节目的同步系统和方法、相关设备和方法 | |
CA2567497C (en) | Display of enhanced content | |
US8132223B2 (en) | Display of enhanced content | |
KR20020062022A (ko) | 쌍방향 콘텐츠 재생이 가능한 디지털 텔레비젼 수신기 및그 방송시스템 | |
US20030025834A1 (en) | Video synchronisation and information management system | |
EP1410634B1 (en) | System and method for inserting graphics in a video signal |