ES2211641T3 - Sistema y metodo para el registro de datos "pushed". - Google Patents

Sistema y metodo para el registro de datos "pushed".

Info

Publication number
ES2211641T3
ES2211641T3 ES00974109T ES00974109T ES2211641T3 ES 2211641 T3 ES2211641 T3 ES 2211641T3 ES 00974109 T ES00974109 T ES 00974109T ES 00974109 T ES00974109 T ES 00974109T ES 2211641 T3 ES2211641 T3 ES 2211641T3
Authority
ES
Spain
Prior art keywords
data
program
objects
pushed
data objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES00974109T
Other languages
English (en)
Inventor
Ludovic Pierre
Vincent Dureau
Alain Delpuch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OpenTV Corp
Original Assignee
OpenTV Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OpenTV Corp filed Critical OpenTV Corp
Application granted granted Critical
Publication of ES2211641T3 publication Critical patent/ES2211641T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only

Abstract

Un método implementado en un sistema de televisión interactiva para el almacenamiento de un programa pushed incluyendo objetos de datos vivos. Dicho método consiste en: recibir un primer flujo de datos pushed, en donde dicho flujo de datos pushed incluye un programa; convertir al menos una parte de dicho flujo de datos pushed en uno o más objetos de datos; como respuesta a la detección de que se presentará dicho programa inmediatamente: utilizar un primer conjunto de dichos objetos de datos correspondiente a dicho programa a fin de presentar dicho programa inmediatamente, dicho primer conjunto de objetos de datos incluyendo objetos de datos no vivos y uno o más objetos de datos vivos; como respuesta a la detección de que dicho programa se guardará para su reproducción diferida: guardar los primeros objetos de datos de dicho primer conjunto en un dispositivo de almacenamiento en masa, en respuesta a la detección de que dichos primeros objetos de datos no son objetos de datos vivos; y guardaruna referencia a un segundo objeto de datos de dicho primer conjunto en dicho dispositivo de almacenamiento en masa, en respuesta a la detección de que dicho segundo objeto de datos es un objeto de datos vivos.

Description

Sistema y método para el registro de datos "pushed".
Antecedentes del invento 1. Campo del invento
El invento hace referencia generalmente a sistemas de emisión por televisión y más particularmente a un sistema y método para grabar la emisión de contenido de datos "pushed" en un sistema de televisión interactiva.
2. Descripción del estado de la técnica
Los sistemas de televisión interactiva ofrecen un medio para entregar contenido interactivo así como audio y vídeo de televisión normal a un gran número de abonados. Los programas emitidos por estos sistemas pueden incorporar audio y vídeo de televisión, imágenes fijas, texto, gráficos interactivos y aplicaciones, y muchos otros componentes. Por lo tanto, el contenido interactivo de la señal de televisión interactiva puede incluir un código de aplicación, datos asociados con el audio y vídeo, señales de control, datos sin procesar, y muchos otros tipos de información. Tanto el contenido interactivo como los datos audio y vídeo se presentan a los abonados como datos "pushed". Es decir, los datos se presentan a cada uno de los abonados, sin importar que los abonados hayan o no solicitado los datos.
El contenido interactivo, tal como un código de aplicación o información relacionada con los programas de televisión, se emite normalmente en un formato de repetición. Es decir, cada información se emite una primera vez, luego se transmite cada una de ellas una segunda vez, y así. El ciclo se repite de manera que cada dato interactivo se transmite, por ejemplo, cada diez segundos. La información emitida de esta manera forma lo que se refiere como "carrusel". La secuencia de información que forma el carrusel puede prepararse por adelantado, o puede determinarse "sobre la marcha". En una representación, un carrusel hace referencia a un grupo de objetos de datos que proceden de una sola fuente productora de datos. Debería indicarse que el contenido de un carrusel particular puede cambiar con el tiempo. Por ejemplo, los cambios en el contenido del carrusel pueden deberse a actualizaciones realizadas por una fuente productora de datos. Con frecuencia, un solo carrusel se transporta como flujo de datos contiguos. Sin embargo, también es posible multiplexar dos o más carruseles en un solo flujo de datos.
Los sistemas de emisión (p.ej. sistemas de televisión interactiva) transmiten información en un formato carrusel a fin de permitir que los receptores del sistema obtengan, selectivamente, información en el carrusel sin necesitar una vía de retorno de los receptores al servidor. Si un receptor concreto necesita una información concreta, puede simplemente esperar hasta la próxima vez que se emita esa información, y luego extraer la información del flujo de datos emitidos. (Si no se emitiera la información cíclicamente, el receptor tendría que transmitir una petición de información al servidor, requiriendo de ese modo una vía de retorno). Otros receptores del sistema pueden operar de la misma manera, cada receptor esperando la información que necesite, y luego usando únicamente esa información. Al emplear carruseles para emitir información, el sistema elimina la necesidad de conectar cada uno de los receptores con el servidor y elimina también la necesidad de que el servidor procese peticiones individuales en busca de información. Generalmente, una señal de emisión puede incluir varios programas que a su vez pueden incluir varios flujos audio/vídeo y/o flujos de datos. Los flujos de datos podrán usarse para transportar datos tales como datos de una aplicación interactiva, información con subtítulos, u otros datos.
La finalidad de la información, u objetos de datos, en un carrusel podría ser la de combinarse en un solo flujo de datos objeto para formar un programa. Este programa también puede contener datos en cadena tales como audio o vídeo. Por ejemplo, un concurso de televisión interactiva puede combinar audio y vídeo con contenido interactivo tal como el código de aplicación que permite al usuario responder preguntas. Otro ejemplo puede ser un programa de noticias que combine audio y vídeo con un código de aplicación que inserte las cotizaciones actuales de valores en un anuncio al pie de la pantalla. (Debe indicarse que son posibles muchos tipos de programas, y no es necesario incluir contenido audio, o vídeo o interactivo en un programa concreto. Un programa podría contener sólo datos audio e interactivos (p.ej. un programa interactivo de radio) o contener sólo datos interactivos (p.ej. un programa interactivo del tiempo que no contiene flujos audio o vídeo). Típicamente, cada programa se asocia con un canal correspondiente y, cuando el receptor de la televisión interactiva selecciona un canal que contiene un programa concreto, se descargan los datos que se están emitiendo en ese canal y el programa empieza.
Los programas emitidos por el sistema de televisión interactiva pueden incluir componentes (objetos de datos) que hacen referencia e interactúan entre ellos de forma parecida a la de los programas DVD o páginas SMIL. Por ejemplo, los programas DVD pueden acceder a diferentes objetos de datos que permiten la reproducción personalizada de un programa. El programa puede personalizarse para usar lenguajes específicos, saltar ciertas partes del programa (p.ej. saltarse escenas del vídeo en base a los controles paternos), mostrar menús específicos, etc. SMIL es un lenguaje "markup" que permite la integración de objetos multimedia diferentes en una sola presentación. Las páginas SMIL pueden hacer referencia a objetos de los flujos de datos, manipular estos objetos, sincronizar flujos de datos, etc.
Normalmente, el contenido de programas recibidos en un sistema de emisión está pensado para su consumo inmediato. No obstante, es posible grabar este contenido para su reproducción posterior. Sin embargo, la grabación de la información transmitida se limita generalmente a grabar esa parte del flujo de datos pushed cuya intención era consumirla inmediatamente. Mientras que la información recibida puede ser reformateada o reempaquetada, se guarda tal como se recibe: como un flujo de datos. Puesto que el programa puede consistir de objetos de datos que interactúan entre sí, la grabación del programa como un flujo de datos puede tener varias desventajas. Por ejemplo, si el programa hace referencia a datos "vivos" como cotizaciones de acciones, estos datos serán obsoletos cuando se reproduzca el programa. Además, si se graba el flujo de datos del programa tal como es, puede resultar difícil o incluso imposible mantener la sincronicidad y la interactividad entre los diferentes componentes del programa.
Resumen del invento
Uno o varios de los problemas indicados más arriba pueden resolverse con varias representaciones del invento.
De conformidad con un aspecto del presente invento se facilita ``un método implementado en un sistema de televisión interactiva para guardar un programa pushed incluyendo objetos de datos vivos, dicho método consiste en:
recibir un primer flujo de datos pushed, en donde dicho flujo de datos pushed incluye un programa;
convertir al menos una parte de dicho flujo de datos pushed en uno o más objetos de datos;
como respuesta a la detección, se presentará dicho programa inmediatamente utilizando un primer conjunto de dichos objetos de datos correspondiente a dicho programa a fin de presentar dicho programa inmediatamente, dicho primer conjunto de objetos de datos incluyendo objetos de datos que no son vivos y uno o más objetos de datos vivos; como respuesta a la detección, dicho programa se guardará para su reproducción diferida: guardando los primeros objetos de datos de dicho primer conjunto en un dispositivo de almacenamiento en masa, en respuesta a detectar que dichos primeros objetos de datos no son objetos de datos vivos; y guardando una referencia a un segundo objeto de datos de dicho primer conjunto en dicho dispositivo de almacenamiento en masa, en respuesta a detectar que dicho segundo objeto de datos es un objeto de datos vivo''.
Según un segundo aspecto del presente invento, se facilita ``un sistema que consiste en un receptor de televisión interactiva configurado para recibir un primer flujo de datos pushed, en donde dicho flujo de datos pushed incluye un programa, y para convertir al menos una parte de dicho flujo de datos pushed en uno o más objetos de datos;
un dispositivo de almacenamiento conectado a dicho receptor de televisión interactiva;
en donde como respuesta a detectar que dicho programa debe ser presentado inmediatamente, dicho receptor está configurado para utilizar un primer conjunto de dichos objetos de datos correspondientes a dicho programa a fin de presentar dicho programa inmediatamente; dicho primer conjunto de objetos de datos incluye objetos de datos que no son vivos y uno o más objetos de datos vivos; y
en donde como respuesta a detectar que dicho programa ha de ser guardado para su reproducción diferida, dicho receptor se configura para guardar los primeros objetos de datos de dicho primer conjunto en dicho dispositivo de almacenamiento como respuesta a detectar que dichos primeros objetos de datos no son objetos de datos vivos, y guardar una referencia a un segundo objeto de datos de dicho primer conjunto en dicho dispositivo de almacenamiento en masa como respuesta a detectar que dicho segundo objeto de datos es un objeto de datos vivos''.
Una representación consiste en un receptor de televisión interactiva que se conecta a un dispositivo de almacenamiento. El receptor se conecta a una red de emisión y se configura para recibir una señal que contiene un programa. La señal contiene datos de aplicación pushed de televisión interactiva. Se configura el receptor para analizar sintácticamente los datos pushed en objetos de datos separados que constituyen el flujo de datos del programa y guardar los objetos de datos en el dispositivo de almacenamiento. Los objetos de datos pueden guardarse con propiedades de objetos tales como gamas de validez temporal, identificadores, números de versión y otros parecidos. Los objetos de datos que constan de datos vivos (es decir, datos que son obsoletos si no se consumen inmediatamente) pueden guardarse como referencias a los datos. El receptor puede configurarse para que detecte referencias a objetos de datos que no se transmiten en el mismo carrusel que el programa (p.ej. referencias a los objetos de datos que se transmiten en el carrusel de otro programa) y para obtener y guardar estos objetos de datos.
Una representación consta de un sistema de televisión interactiva que tiene una estación emisora así como un receptor como el descrito más arriba. La estación emisora puede configurarse para transmitir datos correspondientes a un programa que se espera guardar y reproducir posteriormente. Estos datos incluyen información útil para la grabación y reproducción del programa. Típicamente, la información no se transmite con programas cuyo objetivo es el consumo inmediato. Los datos transmitidos pueden constar de una tabla de archivos o directorio que identifica los objetos de datos que forman el programa. El receptor puede usar la tabla de archivos para analizar sintácticamente y guardar los objetos de datos, y también se usa para recuperar los objetos de datos cuando se reproduce el programa. La información adicional aportada por la estación emisora también puede constar de propiedades de objetos correspondientes a los objetos de datos. Estas propiedades de objetos pueden incluir los números de versión, referencias a otros objetos de datos e información parecida asociada con los objetos de datos transmitidos. La estación receptora puede utilizar las propiedades de objetos en momentos de grabación o guardar las propiedades de objetos para usar posteriormente cuando se reproduzca el programa.
Una representación consta de un método para reconocer un programa que incluye una pluralidad de objetos de datos. Se transmite un flujo de datos que forma parte de un programa a una estación receptora. El flujo de datos incluye uno o más de los objetos de datos. El programa puede hacer referencia a objetos de datos que la estación receptora haya puesto en cache previamente. El programa también puede hacer referencia a objetos de datos vivos destinados a consumo inmediato y que pasan a ser obsoletos después. El flujo de datos puede incluir una tabla de archivos correspondiente a los objetos de datos del programa, así como las propiedades de objetos correspondientes a los objetos de datos. Cuando la estación receptora recibe el flujo de datos, se analiza sintácticamente en cada uno de los objetos de datos individuales. Los objetos de datos, cualquier propiedad de objetos adjunta y la tabla de archivos se guardan como archivos en un dispositivo de almacenamiento. Se recuperan algunos objetos de datos externos al programa (p.ej. los objetos de datos de otros carruseles) y también se guardan. Los objetos de datos vivos no se guardan, pero se guardan las referencias a estos objetos de datos, de manera que cuando se reproduce el programa, pueden usarse las versiones actuales de los objetos de datos vivos de referencia.
Descripción breve de los dibujos
Otros objetivos y ventajas del invento serán evidentes al leerse la siguiente descripción detallada y haciendo referencia a los dibujos adjuntos, en los que:
La Fig. 1 es un diagrama en bloque funcional de un sistema de televisión interactiva.
La Fig. 2 es un diagrama que muestra la estructura de un carrusel y un flujo de datos correspondiente.
La Fig. 3 es un diagrama que muestra la interrelación de los objetos de datos en un programa.
La Fig. 4 es un organigrama que muestra una representación del presente método.
La Fig. 5 es un diagrama que muestra el almacenamiento de un objeto de datos de un carrusel y sus propiedades en una representación.
La Fig. 6 es un diagrama que muestra una representación en la que se detectan y descargan las referencias a objetos de datos externos al carrusel de un programa.
La Fig. 7 es un diagrama que muestra una representación en la que se guarda una referencia a un objeto de datos vivos que es componente de un programa almacenado en vez del mismo objeto de datos vivos.
La Fig. 8 es un diagrama que muestra la inclusión de un objeto de datos antes de descargar un programa que hace referencia al objeto de datos puesto en cache.
Aunque el invento puede verse sujeto a varias modificaciones y formas alternativas, las representaciones específicas del mismo se muestran a modo de referencia en los dibujos y se describirán con detalle en la presente. No obstante, deberá entenderse que los dibujos y la descripción detallada de los mismos no tienen intención de limitar el invento a la forma concreta descrita, sino al contrario, su propósito es cubrir todas las modificaciones, equivalentes y alternativas que se incluyan dentro de la envergadura del presente invento tal como se define en las reivindicaciones adjuntas.
Descripción detallada de la representación preferida
Hablando en términos generales, el invento consiste en un sistema y método mejorados para guardar contenido de datos pushed, en donde se guardan los datos como un conjunto de archivos en vez de cómo un flujo de datos. Aunque pueden darse muchas representaciones del invento, y el sistema y método presentados aquí pueden aplicarse de igual forma al almacenamiento de programas en otros sistemas de datos pushed, la siguiente descripción se centra principalmente en una representación que se implementa en un sistema de televisión interactiva. El objetivo de esta descripción es ilustrativo más que limitador.
Con referencia a la Fig. 1, se muestra un diagrama en bloque funcional de un sistema de televisión interactiva 10. El sistema de televisión interactiva 10 consta generalmente de una estación emisora 12 y una estación receptora 14 conectada a la estación emisora a través de un medio de emisión 13. En esta figura, el medio de emisión 13 se representa como una red de transmisión por satélite. En otras representaciones, el medio de emisión consta de otros medios de transmisión tales como cable, compañía telefónica, MMDS (microondas) y medios de transmisión terrestre. La estación emisora 12 se conecta a una fuente de programa 15 configurada para facilitar objetos de datos que forman el flujo de datos de un programa. La estación receptora 14 incluye un receptor 18 conectado a un dispositivo de almacenamiento 16. El dispositivo de almacenamiento 16 se configura para guardar los objetos de datos. La estación receptora 14 también incluye una televisión 17 que se usa para presentar el programa a un usuario.
En una representación, los objetos de datos del flujo de datos de un programa que se va a emitir desde la estación emisora 12 a la estación receptora 14 se guardan en la fuente de programa 15. Los objetos de datos se guardan por separado (p.ej., como archivos a los que puede accederse independientemente.) La estación emisora 12 recupera cada uno de los objetos de datos de la fuente de programas 15 y los convierte a un formato adecuado para transmitir por un medio de emisión 13. Debe indicarse que el programa también puede contener flujos de datos (p.ej. audio y vídeo) que no se transmiten como objetos de datos. En esta representación concreta, se formatean los datos en paquetes que pueden transmitirse por una red por satélite digital. Estos paquetes pueden multiplexarse con otros paquetes para su transmisión.
La estación emisora 12 transmite, cíclicamente, los objetos de datos del programa como un carrusel a la estación receptora 14. Esto produce un flujo de datos en el que cada objeto de datos se transmite repetidamente. Debería tenerse en cuenta que el medio de emisión (una red por satélite digital en esta representación) puede apoyar varios canales diferentes, y que pueden emitirse varios carruseles diferentes (y correspondientes flujos de datos) al mismo tiempo en estos canales. Cuando la estación receptora 14 recibe el flujo de datos, el programa incluido en el flujo de datos puede reproducirse inmediatamente o puede grabarse. En cualquier caso, la estación receptora 14 transforma el flujo de datos de nuevo en objetos de datos. Si ha de reproducirse el programa inmediatamente, los objetos de datos se usan como necesarios en el programa. Si ha de guardarse el programa, los objetos de datos se guardan como un conjunto de archivos en el dispositivo de almacenamiento 16. Otros flujos de datos incluidos en el programa (p.ej. flujos audio o vídeo) también pueden guardarse en un dispositivo de almacenamiento 16. El programa puede guardarse tanto si se reproduce o no inmediatamente.
El receptor 18 se implementa típicamente en una caja set-top conectada al televisor 17. La caja set-top tiene incorporada una unidad de control (p.ej., un microprocesador), una memoria, y otros componentes necesarios para seleccionar y descodificar las señales de televisión interactiva recibidas. Puesto que se conocen los componentes y funciones básicos de las cajas set-top, no se tratarán aquí en detalle. Típicamente, las cajas set-top están destinadas a ofrecer la funcionalidad interactiva necesaria a un coste mínimo. Por consiguiente, normalmente tienen una cantidad limitada de memoria y no tienen dispositivos de almacenamiento en masa (p.ej., unidades de disco duro). Aunque la memoria es suficiente para ejecutar aplicaciones interactivas, no es adecuada para guardar las aplicaciones por un período indefinido. Por lo tanto, las aplicaciones no suelen permanecer en memoria cuando ya no se ejecutan.
Incluso si la memoria de la caja set-top fuera lo suficientemente grande como para guardar algunas aplicaciones interactivas, todavía podría ser demasiado pequeña para alojar un programa que incluya grandes cantidades de audio o vídeo, código de aplicación u otra información. El dispositivo de almacenamiento 16 se conecta a la caja set-top para facilitar suficiente almacenaje para grabar programas que no tendrán espacio en la cantidad limitada de memoria de la caja set-top. El dispositivo de almacenamiento 16 puede constar de cualquier dispositivo de almacenamiento adecuado, tal como una unidad de disco duro, una unidad DVD grabable o una unidad de disco óptico. Puede ser interno en la caja set-top o puede conectarse externamente. El dispositivo de almacenamiento 16 puede conectarse permanentemente, o de forma que pueda desmontarse, en la caja set-top.
Con referencia a la Fig. 2, se muestra la estructura de un carrusel (y un flujo de datos correspondiente) que se transmite al receptor. El carrusel 24 consta de objetos de datos 21-23 e información del carrusel 20. Los objetos de datos 21-23 se recuperan de una fuente de programa como la descrita más arriba. La estación emisora facilita la información de carrusel 20, la cual puede contener información tal como la ID del carrusel y el número de versión, una tabla de archivos o directorio para el carrusel y otro tipo de información. (Parte de esta información, como una tabla de archivos, no se encuentra normalmente en programas destinados a consumo inmediato). La estación emisora transmite la información de carrusel 20 y los objetos de datos 21-23 secuencialmente. El primer caso de transmisión de carrusel 24 se indica mediante 25. Una vez la estación emisora haya completado la transmisión del primer caso del carrusel 24, se vuelve a transmitir, tal como indica 26. Las sucesivas transmisiones cíclicas del carrusel 24 indicadas mediante 25-29 forman el flujo de datos 30. La transmisión del carrusel puede repetirse indefinidamente.
Puede facilitarse el carrusel a la estación emisora como flujo de datos preelaborado, o puede prepararse el carrusel "sobre la marcha". De igual forma, las propiedades del objeto pueden incluirse en un flujo de datos que se facilita a la estación emisora, o pueden insertarse en el flujo de datos antes de emitirlo. Por ejemplo, pueden insertarse números de versión para identificar que se han realizado actualizaciones a objetos de datos concretos, o pueden colocarse indicaciones para identificar objetos de datos concretos que el receptor necesita poner en cache. Las propiedades del objeto insertadas en el flujo de datos por la estación emisora pueden ser usadas por el receptor para guardar, reproducir, filtrar o utilizar de cualquier otra forma los objetos de datos en el flujo de datos.
Como se mencionó anteriormente, los objetos de datos que constan de un flujo de datos de un programa pueden incluir un código y datos de aplicación, clips audio y vídeo, señales de control, disparadores, datos sin procesar y otro tipo de información. Si se va a consumir (es decir, presentar al usuario) el programa inmediatamente, deberán analizarse los datos sintácticamente para extraer los objetos de datos del flujo. Cuando se hayan extraído los objetos de datos necesarios, se reproduce el flujo de datos. Luego se usan los objetos de datos de la forma definida en el programa. Por ejemplo, se lanzará cualquier aplicación que necesite ser ejecutada, se reproducirá o visualizará cualquier dato audio o vídeo que necesite ser presentado al usuario, se generará cualquier señal que necesite producirse, etcétera. El programa se presenta al usuario, típicamente a través de un televisor 17, y se consume. Sin tener en cuenta el que se presente o no el programa inmediatamente al usuario, también puede guardarse. Si el usuario desea grabar el programa, se extraen los objetos de datos de la misma manera, pero se guardan en un dispositivo de almacenamiento en masa 16 en vez de usarse inmediatamente para presentar el programa. Luego, puede reproducirse el programa grabado usando los objetos de datos guardados. Para mostrar las ventajas del sistema y método, puede ser útil el examinar la estructura de un programa.
Los objetos de datos de un programa pueden contener muchos tipos diferentes de datos y pueden interrelacionarse de varias formas. Con referencia a la Fig. 3, se muestra un ejemplo de la interrelación de los objetos de datos en un programa. (La relación de los objetos de datos de este programa concreto son ejemplares y las estructuras de otros programas pueden variar ampliamente). En la figura, un programa de televisión interactiva incluye el carrusel 35. El carrusel 35 consiste en objetos de datos 32-34 e información identificadora 31. Como se mencionó anteriormente, los objetos de datos 32-34 pueden incluir códigos y datos de aplicación, clips audio y vídeo, y otro tipo de información. Los objetos de datos del carrusel 35 contienen referencias (indicadas con las flechas discontinuas) a los objetos de datos de otros carruseles 36, 37. En este ejemplo, el mismo carrusel 36 contiene una referencia a un objeto de datos en el carrusel 37. Además de las referencias a los carruseles 36 y 37, el carrusel 35 contiene una referencia a un objeto de datos 41 que casualmente se guarda en un dispositivo de almacenamiento en masa 40 en el momento de la emisión del flujo de datos que contiene el carrusel 35. (Debe tenerse en cuenta que puede hacerse referencia a los flujos de datos grabados de la misma manera que a los objetos de datos).
Cada uno de los programas se transmite típicamente desde la estación emisora a la estación receptora en un canal diferente. Cuando se va a reproducir el programa, la estación receptora selecciona el canal en el que se transmite el correspondiente flujo de datos del carrusel para recibir los correspondientes objetos de datos. Cuando se reproduce el programa, y uno de estos objetos de datos hace referencia a un objeto de datos de otro carrusel, la estación receptora selecciona el correspondiente canal y obtiene los objetos de datos necesarios. De igual forma, cuando uno de los objetos de datos hace referencia a un objeto de datos que casualmente se ha guardado en un dispositivo de almacenamiento en masa 40 (que se halla conectado a la estación receptora), se accede a ese dispositivo para recuperar el objeto de datos. Por lo tanto, la estación receptora es capaz de acceder a los objetos de datos necesarios desde los flujos de datos de diferentes carruseles y de reproducir el programa completo.
Como se indicó anteriormente, el dispositivo de almacenamiento en masa puede usarse para guardar programas "tal cual" (es decir, como el flujo de datos recibido). Una de las desventajas de guardar los objetos de datos de un programa como flujo de datos es que, cuando se reproduce el programa, el flujo de datos debe reproducirse y la caja set-top debe volver a analizar sintácticamente el flujo de datos en los objetos de datos que forman el programa. Esta reproducción del flujo de datos y nuevo análisis requiere el uso de los recursos de procesamiento de la caja set-top para repetir un trabajo que posiblemente ya haya sido ejecutado (si ya se ha reproducido el programa). De no ser así requeridos, estos recursos podrían haberse usado en otra tarea. Otra desventaja es que, cuando se reproduce el programa, parte de la información del programa puede ser obsoleta. Por ejemplo, si el programa se relaciona con la inversión, puede haber sido diseñado para ofrecer al usuario las cotizaciones bursátiles actuales. Puesto que el flujo de datos sólo es actual en el momento que se grabó, las cotizaciones bursátiles pueden ser desfasadas. Si el programa contiene información obsoleta, es posible que la información no sea útil, e incluso podría ser malinterpretada. Otra desventaja es que, cuando se guardan los datos de emisión cíclica como un flujo, pueden guardarse varios casos de objetos de datos individuales cuando sólo se necesita un solo caso.
El dispositivo de almacenamiento en masa también puede usarse para grabar los objetos de datos de un programa en un formato de archivos. Dicho de otra forma, los objetos de datos individuales que forman el programa pueden guardarse como archivos a los que puede accederse o actualizarse individualmente. Para mostrar las ventajas de grabar un programa de esta forma, es posible que sea útil examinar la estructura de un programa.
Si un usuario desea grabar un programa, podrá guardarse como un flujo de datos, o como un juego de archivos. Si la estación receptora se configura simplemente para guardar un flujo de datos concreto, es posible que los objetos de datos que normalmente se recuperan de otros flujos de datos actuales no estén disponibles. De igual forma, es posible que los objetos de datos que quizás necesiten ponerse en cache en un dispositivo de almacenamiento en masa no permanezcan en ese dispositivo, o no se hayan incluido para nada en cache. No obstante, si se configura la estación receptora para guardar el programa como un juego de archivos, los objetos de datos necesarios pueden identificarse, recuperarse y guardarse en el conjunto de archivos. Además, los objetos de datos vivos pueden ser sustituidos con referencias a esos objetos, de manera que los datos vivos actuales puedan recuperarse cada vez que se reproduzca el programa.
Con referencia a la Fig. 4, se muestra el método empleado por el sistema de televisión interactiva descrito más arriba. La estación emisora recupera los objetos de datos de las correspondientes fuentes de datos. Los carruseles se generan a partir de los objetos de datos y se transmiten a las estaciones receptoras de la forma normal. Sin embargo, conforme se reciben los datos, se analizan sintácticamente en objetos de datos individuales del(los) carrusel(es) como si se fuera a consumir el programa inmediatamente. La estación receptora determina las propiedades asociadas con los respectivos objetos de datos y luego guarda los objetos de datos como archivos más que como un flujo de datos.
En efecto, el sistema convierte los datos pushed transmitidos por la estación emisora a datos pulled (es decir, datos que pueden recuperarse a petición del usuario). Los archivos que contienen los objetos de datos incluyen propiedades asociadas con los objetos de datos, tales como identificadores, gamas de validez, listas de referencias, y parecidos. También se guarda una tabla de archivos para permitir el acceso a los archivos al ser solicitado. Debería indicarse que no necesariamente se necesita la tabla de archivos y otras propiedades para consumo inmediato del programa y que no necesariamente se transmiten en un sistema de televisión interactiva.
Como se indicó anteriormente, los objetos de datos pueden incluir datos "vivos" que pasan a obsoletos si no se consumen inmediatamente. Si estos datos se guardan y usan cuando se reproduce el programa, este programa será, hasta ese punto, obsoleto. Por lo tanto, mientras que la mayoría de los objetos de datos se guardan como archivos, los objetos de datos vivos se guardan únicamente como referencias en el programa. Dicho de otra forma, los datos vivos en sí no se guardan, sino que se guarda una indicación de los datos (p.ej. su longitud y donde pueden encontrarse). Luego, cuando se reproduce el programa, se obtendrán los nuevos datos vivos correspondientes a la referencia y se usarán en lugar de los datos que eran vivos en el momento en que se grabó el programa. Por lo tanto, el programa se actualiza automáticamente cuando se reproduce.
En una representación, el sistema se configura para guardar los identificadores del archivo, números de versión y gamas de validez para los correspondientes objetos de datos con sus respectivos archivos en el dispositivo de almacenamiento en masa. Con referencia a la Fig. 5, se muestra el almacenamiento de los objetos de datos y correspondientes propiedades del objeto. El carrusel 60 se transmite de la estación emisora a la estación receptora en un canal. El carrusel 60 se transmite con un identificador (id) y un número de versión. La transmisión de este carrusel empieza a la hora t1 y se repite hasta la hora t2. A la hora t2, una nueva versión de carrusel, indicado con la referencia numérica 61, pasa a estar disponible y se transmite en lugar de la versión anterior. La transmisión de carrusel 61 se repite hasta la hora t3.
El flujo de datos recibido por la estación receptora consiste en varias transmisiones secuenciales del carrusel 60, seguido de varias transmisiones secuenciales del carrusel 61. La estación receptora empieza el análisis sintáctico del flujo de datos y obtiene los objetos de datos de los que consta del carrusel 60. Estos objetos de datos se guardan como archivos en el dispositivo de almacenamiento en masa. (Para simplificar, el carrusel se describe aquí como un solo archivo, pero debería indicarse que los objetos de datos individuales que forman el carrusel pueden guardarse como archivos aparte. También debe indicarse que el carrusel en sí tiene propiedades y puede considerarse como un objeto de datos). Cuando la estación receptora recibe la parte del flujo de datos que contiene la versión más nueva del carrusel, ésta detecta la nueva versión y extrae la nueva versión del carrusel del flujo de datos. Luego, se guarda la nueva versión del carrusel en el dispositivo de almacenamiento en masa. (Si sólo unos objetos de datos concretos dentro del carrusel son las versiones nuevas, algunas representaciones pueden guardar solamente los nuevos objetos de datos en vez de guardar todo el carrusel).
En una representación, se configura la estación receptora para detectar las horas a las que empezará y finalizará la transmisión de cada carrusel. En otras representaciones, las horas de inicio y finalización se transmitirán explícitamente con cada carrusel. Las horas de inicio y de finalización definen una gama de validez temporal correspondiente al carrusel. El carrusel está disponible dentro de esta gama de validez (es decir, es válido). Fuera de esta gama, el carrusel no está disponible (es decir, inválido). En una representación, la gama de validez se define en términos del momento en que se empieza la grabación. Esta información será útil en la reproducción de los programas que usen los carruseles o sus objetos de datos, como explicaremos a continuación con más detalle. Debería indicarse que algunos objetos de datos, tales como señales y disparadores, son instantáneos y se considera que tienen las mismas horas de inicio y de finalización. Aunque no tienen una gama de validez como se describió anteriormente, estrictamente hablando, no obstante podrían ser válidos. La gama de validez temporal de cada objeto de datos se guarda con las otras propiedades asociadas con el respectivo objeto de datos.
En una representación, el flujo de datos a guardar incluye referencias a objetos de datos que son parte de carruseles que se transmiten en otros flujos de datos (posiblemente pertenecientes a otros programas de otros canales). Si se consume el programa cuando se emite, estos objetos de datos externos se obtienen fácilmente ejecutando el programa y, cuando se encuentra una referencia al objeto de datos externo, se selecciona el canal en el que se está emitiendo el objeto de datos y se obtiene el objeto de datos del correspondiente flujo de datos. Cuando se graba el programa desde su flujo de datos correspondiente para reproducirse en otro momento, no resulta tan fácil obtener los datos externos. Por lo tanto, el sistema debe configurarse para que detecte referencias a los objetos de datos que son externos al carrusel del programa y seleccionar automáticamente el canal adecuado y obtener el objeto de datos del flujo de datos de ese canal. Esto se muestra en la Fig. 6.
La Fig. 6 describe dos carruseles 70, 71 que se transmiten de la estación emisora a la estación receptora. Se forma un primer flujo de datos mediante la transmisión repetida del carrusel 70. El primer flujo de datos se transmite en un primer canal. Se forma un segundo flujo de datos mediante la transmisión repetida del carrusel 71 y se pasa en un segundo canal. El carrusel 70, que contiene los objetos de datos del programa a grabar, hace referencia a uno de los objetos de datos contenido en el carrusel 71 (como lo indica la flecha discontinua). Un usuario inicia la grabación del programa a partir del flujo de datos recibido en el primer canal. La estación receptora analiza sintácticamente el flujo de datos y guarda los objetos de datos extraídos como archivos en el dispositivo de almacenamiento en masa. Cuando se encuentra una referencia al objeto de datos externo incluido en el carrusel 71, la estación receptora selecciona el segundo canal y analiza sintácticamente el segundo flujo de datos para obtener el objeto de datos de referencia. Este objeto de datos también se guarda como un archivo en el dispositivo de almacenamiento en masa. Cuando se reproduce el programa desde el dispositivo de almacenamiento en masa, el objeto de datos del carrusel 71 puede recuperarse del dispositivo de almacenamiento en masa y usarse en el programa.
En una representación, el programa a guardarse incluye referencias a contenido vivo. Puesto que el contenido vivo es obsoleto si no se consume inmediatamente, el sistema no guarda el objeto de datos vivos que habría reproducido si se hubiera consumido el programa inmediatamente. En su lugar, el sistema guarda una referencia a los datos vivos de manera que, cuando se reproduce el programa grabado, se obtienen los datos vivos actuales de la ubicación de referencia y se incorporan en el programa.
Un ejemplo en el que se hace referencia a los datos vivos se muestra en la Fig. 7. En esta figura, se describe un primer carrusel 80 como que hace referencia a un segundo carrusel 81. Ambos carruseles se transmiten de la estación emisora a la estación receptora. Sin embargo, la estación receptora guarda sólo el carrusel 80. El carrusel 81 no se guarda, pero se lista en las propiedades asociadas con el carrusel 80 como una referencia viva. Cuando el programa del carrusel 80 se reproduce mediante el motor de ejecución de la aplicación de la estación receptora, la referencia aporta la indicación de que el contenido vivo actual debería obtenerse de la ubicación indicada en la referencia. Así, aunque se reproduce el programa en un momento en el que los datos vivos originales serían obsoletos, se incorpora la información actual en el programa.
En una representación, el programa a guardar incluye referencias a datos puestos en cache anteriormente. Cierta información quizás no sea emitida como parte de un carrusel sino que quizás todavía precise ser incorporada en un programa. Esta información puede llevar una indicación de manera que, cuando se emita, la indicación será detectada y la información será guardada en el dispositivo de almacenamiento en masa del receptor, sin tener en cuenta que se grabe o no en dicho momento el correspondiente flujo de datos. Posteriormente, cuando se reproduzca un programa que haga referencia a información puesta en cache, podrá recuperarse la información del dispositivo de almacenamiento en masa. Esto puede resultar útil cuando, por ejemplo, la cantidad de información puesta en cache es tan grande que incluirla en el carrusel reduciría la frecuencia con que los objetos de datos se emiten a una tasa inferior a la deseada. En esta situación, la información puesta en cache podría emitirse una vez al principio del programa, guardarse y luego hacerse referencia a ella, según sea necesario, durante el programa.
Con referencia a la Fig. 8, se muestra un sistema que pone información en cache para uso posterior por un programa. La Fig. 8 describe un flujo de datos en el que la información 90 se emite una vez, luego el carrusel 91 se emite cíclicamente. (Debería tenerse en cuenta que la información 90 no necesita formar parte del mismo flujo de datos que el carrusel 91 y puede emitirse en un canal aparte). Conforme la estación receptora recibe el flujo de datos, se detecta la información 90. La información 90 incluye un indicador que indica que la información debería ponerse en cache en el dispositivo de almacenamiento en masa de la estación receptora. Por lo tanto, la estación receptora guarda la información 90. En un momento dado después de haberse guardado la información 90, se recibe el carrusel 91. Cuando se reproduce el programa incluido en este carrusel, la información 90 puede recuperarse inmediatamente del cache cuando se encuentre una referencia a la información en el programa. (Aunque los datos puestos en cache aparecen en la figura como si se guardaran en el dispositivo de almacenamiento en masa, también pueden guardarse en una memoria cache más pequeña).
Debe indicarse que esta función puede utilizarse tanto si el programa se consume al recibir el flujo de datos como si se graba para reproducir posteriormente. Si se guarda el programa para reproducir posteriormente, los datos puestos en cache se mantienen en la memoria de manera que pueda accederse a ellos durante la reproducción. Los datos puestos en memoria pueden guardarse en el dispositivo de almacenamiento en masa o en una memoria cache más pequeña. Si se guardan los datos en una memoria cache pequeña, es posible que deban copiarse al dispositivo de almacenamiento en masa al detectar la referencia de los datos en el programa grabado. De lo contrario, podrían sobreescribirse los datos en el cache antes de que se reprodujera el programa.
Aunque el presente invento ha sido descrito con referencia a representaciones concretas, se entenderá que las representaciones son ilustrativas y que la envergadura del invento no se limita a esas representaciones. Muchas variaciones, modificaciones, adiciones y mejoras de las representaciones descritas son posibles. Estas variaciones, modificaciones, adiciones y mejoras pueden quedar incluidas dentro del campo del invento como se detalla en las siguientes reivindicaciones.

Claims (20)

1. Un método implementado en un sistema de televisión interactiva para el almacenamiento de un programa pushed incluyendo objetos de datos vivos. Dicho método consiste en:
recibir un primer flujo de datos pushed, en donde dicho flujo de datos pushed incluye un programa;
convertir al menos una parte de dicho flujo de datos pushed en uno o más objetos de datos;
como respuesta a la detección de que se presentará dicho programa inmediatamente:
utilizar un primer conjunto de dichos objetos de datos correspondiente a dicho programa a fin de presentar dicho programa inmediatamente, dicho primer conjunto de objetos de datos incluyendo objetos de datos no vivos y uno o más objetos de datos vivos;
como respuesta a la detección de que dicho programa se guardará para su reproducción diferida:
guardar los primeros objetos de datos de dicho primer conjunto en un dispositivo de almacenamiento en masa, en respuesta a la detección de que dichos primeros objetos de datos no son objetos de datos vivos; y
guardar una referencia a un segundo objeto de datos de dicho primer conjunto en dicho dispositivo de almacenamiento en masa, en respuesta a la detección de que dicho segundo objeto de datos es un objeto de datos vivos.
2. El método de la reivindicación 1, que también consiste en:
como respuesta a la detección de que dicho programa es guardado en dicho dispositivo de almacenamiento en masa y se pide la reproducción del programa:
recuperar dichos primeros objetos de datos de dicho dispositivo de almacenamiento en masa;
recuperar dicha referencia de dicho dispositivo de almacenamiento en masa;
utilizar dicha referencia para recuperar un tercer objeto de datos que corresponde a dicho segundo objeto de datos; y
presentar dichos primeros objetos de datos recuperados y dicho tercer objeto de datos.
3. El método de la reivindicación 2, en donde dicho tercer objeto de datos se recupera de un segundo flujo de datos pushed.
4. El método de la reivindicación 2, en donde dicha utilización consiste en:
generar una petición para dicho tercer objeto de datos desde un lugar remoto; y
recibir dicho tercer objeto de datos como respuesta a dicha petición.
5. El método de la reivindicación 1, que también consiste en:
recibir un segundo flujo de datos pushed;
como respuesta a la detección de que los objetos de datos correspondientes al primer flujo de datos pushed hacen referencia a uno o más objetos de datos correspondientes al segundo flujo de datos pushed, extraer dicho uno o más objetos de datos de dicho segundo flujo de datos pushed; y
guardar dicho uno o más objetos de datos del segundo flujo de datos pushed en dicho dispositivo de almacenamiento en masa.
6. El método de la reivindicación 1, que también consiste en recibir propiedades asociadas con los objetos de datos correspondientes al primer flujo de datos pushed, en donde una o más de las mencionadas propiedades se seleccionan de entre el grupo consistente en una o más gamas de validez; uno o más identificadores de objetos de datos; uno o más identificadores de versiones; y una o más referencias a un objeto de datos.
7. El método de la reivindicación 1, que también consiste en:
detectar que un objeto de datos cacheable de dicho uno o más objetos corresponde a un programa no incluido en dicho primer flujo de datos pushed;
poner en cache dicho objeto de datos cacheable;
recibir, consiguientemente, y presentar el correspondiente programa al objeto de datos cacheable
acceder a dicho objeto de datos puesto en cache; y
presentar dicho objeto de datos cacheable como parte de dicho programa correspondiente al objeto de datos cacheable.
8. El método de la reivindicación 1, que también consiste en guardar una tabla de archivos con dichos primeros objetos de datos.
9. El método de la reivindicación 1, en donde dichos primeros objetos de datos se guardan en un primer archivo, y en donde las propiedades de objetos de dichos primeros objetos de datos se guardan en un segundo archivo.
10. El método de la reivindicación 1, que también consiste en:
detectar una referencia en dicho primer flujo de datos pushed a un objeto de datos externos, en donde dicho objeto de datos externo se incluye en un tercer flujo de datos pushed;
seleccionar el tercer flujo de datos pushed;
extraer dicho objeto de datos externos de dicho tercer flujo de datos pushed; y
guardar dicho objeto de datos externo.
11. El método de la reivindicación 1, en donde dicha referencia a dicho segundo objeto de datos se guarda como una propiedad del objeto en dicho dispositivo de almacenamiento.
12. Un sistema que consta de:
un receptor de televisión interactiva configurado para recibir un primer flujo de datos pushed, en donde dicho flujo de datos pushed incluye un programa, y convertir al menos una parte de dicho flujo de datos pushed en uno o más objetos de datos;
un dispositivo de almacenamiento conectado a dicho receptor de televisión interactiva;
en donde como respuesta a la detección de que dicho programa debe ser presentado inmediatamente, se configura dicho receptor para utilizar un primer conjunto de dichos objetos de datos correspondientes a dicho programa a fin de presentar dicho programa inmediatamente, dicho primer conjunto de objetos de datos incluyendo objetos de datos no vivos y uno o más objetos de datos vivos; y
en donde como respuesta a la detección de que dicho programa ha de ser guardado para la reproducción diferida, se configurará dicho receptor para guardar los primeros objetos de datos de dicho primer conjunto en dicho dispositivo de almacenamiento como respuesta a la detección de que dichos primeros objetos de datos no son objetos de datos vivos, y guardar una referencia a un segundo objeto de datos de dicho primer conjunto en dicho dispositivo de almacenamiento en masa como respuesta a la detección de que dicho segundo objeto de datos es un objeto de datos vivo.
13. El sistema de la reivindicación 12, en donde como respuesta a detectar que dicho programa se guarda en dicho dispositivo de almacenamiento y que se ha pedido la reproducción del programa, dicho receptor se configura para:
recuperar dichos primeros objetos de datos de dicho dispositivo de almacenamiento en masa;
recuperar dicha referencia de dicho dispositivo de almacenamiento en masa;
utilizar dicha referencia para recuperar un tercer objeto de datos que corresponde a dicho segundo objeto de datos; y
presentar dichos primeros objetos de datos y dicho tercer objeto de datos.
14. El sistema de la reivindicación 13, que también consta de un dispositivo de visualización configurado para la presentación de dicho programa.
15. El sistema de la reivindicación 12, en donde dicho receptor está configurado para:
recibir un segundo flujo de datos pushed;
detectar dicho tercer objeto de datos en dicho segundo flujo de datos pushed; y
recuperar dicho tercer objeto de datos de dicho segundo flujo de datos pushed.
16. El sistema de la reivindicación 12, en donde dicho receptor también está configurado para:
generar una petición para dicho tercer objeto de datos desde una ubicación remota; y
recibir dicho tercer objeto de datos como respuesta a dicha petición.
17. El sistema de la reivindicación 12, en donde dicho receptor también está configurado para:
recibir un segundo flujo de datos pushed; y
como respuesta a la detección de que los objetos de datos correspondientes al primer flujo de datos pushed hacen referencia a uno o más objetos de datos correspondientes al segundo flujo de datos pushed, extraer dichos uno o más objetos de datos de dicho segundo flujo de datos pushed, y guardar dichos uno o más objetos de datos del segundo flujo de datos pushed en dicho dispositivo de almacenamiento en masa.
18. El sistema de la reivindicación 12, en donde dicho receptor también está configurado para recibir propiedades asociadas con los objetos de datos correspondientes al primer flujo de datos pushed, en donde una o más de dichas propiedades se selecciona de entre el grupo consistente en: una o más gamas de validez; uno o más identificadores de objetos de datos; uno o más identificadores de versión; y una o más referencias a un objeto de datos.
19. El sistema de la reivindicación 12, que también consta de una estación emisora conectada a dicho receptor de televisión interactiva, en donde dicha estación emisora está configurada para transmitir dicho flujo de datos pushed a dicho receptor de televisión interactiva.
20. El sistema de la reivindicación 12, en donde dicho receptor también está configurado para:
detectar que un objeto de datos cacheable de dichos uno o más objetos de datos corresponde a un programa no incluido en dicho primer flujo de datos pushed;
poner en cache dicho objeto de datos cacheable;
consiguientemente recibir y presentar el programa correspondiente al objeto de datos cacheable;
acceder a dicho objeto de datos puesto en cache; y
presentar dicho objeto de datos cacheable como parte de dicho programa correspondiente al objeto de datos cacheable.
ES00974109T 1999-10-29 2000-09-15 Sistema y metodo para el registro de datos "pushed". Expired - Lifetime ES2211641T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16249099P 1999-10-29 1999-10-29
US162490P 1999-10-29

Publications (1)

Publication Number Publication Date
ES2211641T3 true ES2211641T3 (es) 2004-07-16

Family

ID=22585843

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00974109T Expired - Lifetime ES2211641T3 (es) 1999-10-29 2000-09-15 Sistema y metodo para el registro de datos "pushed".

Country Status (12)

Country Link
EP (1) EP1224806B1 (es)
JP (1) JP4628629B2 (es)
CN (1) CN1177479C (es)
AT (1) ATE254822T1 (es)
AU (1) AU770163B2 (es)
BR (1) BR0015152A (es)
CA (1) CA2388789A1 (es)
DE (1) DE60006708T2 (es)
DK (1) DK1224806T3 (es)
ES (1) ES2211641T3 (es)
HK (1) HK1049757B (es)
WO (1) WO2001033852A1 (es)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250617B2 (en) 1999-10-29 2012-08-21 Opentv, Inc. System and method for providing multi-perspective instant replay
US20010027475A1 (en) * 2000-03-15 2001-10-04 Yoel Givol Displaying images and other information
GB0116116D0 (en) * 2001-06-30 2001-08-22 Koninkl Philips Electronics Nv Receiver apparatus and method
GB0122585D0 (en) 2001-09-19 2001-11-07 Koninl Philips Electronics Nv Control of an interactive application
GB2383488A (en) 2001-12-20 2003-06-25 Sony Uk Ltd Method and apparatus for creating data carousels
FR2835131B1 (fr) * 2002-01-21 2004-03-05 Carlipa Systems Systeme de diffusion de media et rocede mis en oeuvre dans un tel systeme
GB2387730B (en) * 2002-03-07 2006-01-04 Chello Broadband N V Media playout system
US7886332B2 (en) 2002-03-19 2011-02-08 Canon Kabushiki Kaisha Television broadcast receiving apparatus
GB0213432D0 (en) * 2002-06-12 2002-07-24 Pace Micro Tech Plc Broadcast data receiver and method of storing data therefor
JP3704106B2 (ja) 2002-06-28 2005-10-05 株式会社東芝 電子機器及び電力供給方法
US20040133923A1 (en) * 2002-08-21 2004-07-08 Watson Scott F. Digital home movie library
CN1720734A (zh) * 2002-12-04 2006-01-11 皇家飞利浦电子股份有限公司 用于产生应用数据信号的方法和设备
JP4729310B2 (ja) * 2002-12-30 2011-07-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ インタラクティブテレビジョンを送信する方法
EP1593259A1 (en) * 2003-01-31 2005-11-09 Koninklijke Philips Electronics N.V. Inter-application control to improve the performance of playback of stored interactive-tv applications
US8266669B2 (en) 2003-03-12 2012-09-11 Koninklijke Philips Electronics N.V. Method and apparatus for storing an interactive television program
WO2004098185A1 (en) * 2003-04-29 2004-11-11 Koninklijke Philips Electronics N.V. Method and apparatus for storing a data stream
US7865068B2 (en) 2003-04-29 2011-01-04 Koninklijke Philips Electronics N.V. Device and method for recording information
KR20060035634A (ko) * 2003-06-25 2006-04-26 코닌클리케 필립스 일렉트로닉스 엔.브이. 홈 네트워크의 자동 및 선택적 백업 시스템
TW200518070A (en) 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
CN100565687C (zh) * 2003-10-10 2009-12-02 松下电器产业株式会社 再现装置、再现方法
JP4459644B2 (ja) * 2004-02-06 2010-04-28 株式会社エヌ・ティ・ティ・ドコモ データ受信装置およびデータ受信方法
WO2005104557A1 (en) * 2004-04-26 2005-11-03 Koninklijke Philips Electronics N.V. Method for recording of interactive information in interactive digital television and playback thereof
CN1737930A (zh) * 2004-08-18 2006-02-22 皇家飞利浦电子股份有限公司 一种存储/删除交互式应用的方法和装置
WO2006040702A1 (en) * 2004-10-11 2006-04-20 Koninklijke Philips Electronics N.V. A method and apparatus of sharing interactive application
CN100486329C (zh) * 2005-11-16 2009-05-06 中兴通讯股份有限公司 一种iptv与流媒体设备的接口适配方法
JP2007281537A (ja) * 2006-04-03 2007-10-25 Hitachi Ltd 録画再生装置及び録画再生装置を含むテレビジョン受信機
WO2009123511A1 (en) * 2008-04-03 2009-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Interactive media system and method for dimensioning interaction servers in an interactive media system
JP5193773B2 (ja) * 2008-09-25 2013-05-08 シャープ株式会社 映像配信システム及び映像配信装置
US8595572B2 (en) 2009-04-08 2013-11-26 Google Inc. Data storage device with metadata command
US8205037B2 (en) 2009-04-08 2012-06-19 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips operating at different voltages
US20110177775A1 (en) * 2010-01-13 2011-07-21 Qualcomm Incorporated Signaling mechanisms, templates and systems for creation and delivery of interactivity events on mobile devices in a mobile broadcast communication system
US9032466B2 (en) * 2010-01-13 2015-05-12 Qualcomm Incorporated Optimized delivery of interactivity event assets in a mobile broadcast communication system
US8676991B2 (en) * 2010-01-13 2014-03-18 Qualcomm Incorporated Signaling mechanisms and systems for enabling, transmitting and maintaining interactivity features on mobile devices in a mobile broadcast communication system
US9485535B2 (en) 2010-01-13 2016-11-01 Qualcomm Incorporated Notification of interactivity event asset delivery sources in a mobile broadcast communication system
US8914471B2 (en) 2010-05-28 2014-12-16 Qualcomm Incorporated File delivery over a broadcast network using file system abstraction, broadcast schedule messages and selective reception
JP2013074458A (ja) 2011-09-28 2013-04-22 Sony Computer Entertainment Inc 情報処理装置、情報処理システム、情報処理方法、テレビ番組放送方法、プログラム及び情報記憶媒体
EP2947570B1 (en) 2013-01-17 2023-08-23 Sony Interactive Entertainment Inc. Information processing device and file management method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563648A (en) * 1994-04-28 1996-10-08 Thomson Consumer Electronics, Inc. Method for controlling execution of an audio video interactive program
US5617565A (en) * 1994-11-29 1997-04-01 Hitachi America, Ltd. Broadcast interactive multimedia system
DE69835039T2 (de) * 1997-02-14 2007-07-12 The Trustees Of Columbia University In The City Of New York Objektbasiertes audiovisuelles Endgerät und entsprechende Bitstromstruktur
WO1999011066A1 (fr) * 1997-08-21 1999-03-04 Sony Corporation Procede de transmission d'informations et recepteur d'emissions de television
DK0913974T3 (da) * 1997-10-31 2002-02-25 Sohard Ag Fremgangsmåde til oprettelse af sendeplaner til multimediedata
EP1046295B1 (en) * 1998-01-08 2003-04-09 Thomson Licensing S.A. Method and interface for linking terms in an electronic message to program information

Also Published As

Publication number Publication date
CN1177479C (zh) 2004-11-24
DE60006708T2 (de) 2004-09-30
ATE254822T1 (de) 2003-12-15
BR0015152A (pt) 2002-07-16
DE60006708D1 (de) 2003-12-24
AU1252701A (en) 2001-05-14
JP4628629B2 (ja) 2011-02-09
HK1049757B (zh) 2004-11-26
DK1224806T3 (da) 2004-02-16
AU770163B2 (en) 2004-02-12
JP2003513559A (ja) 2003-04-08
WO2001033852A1 (en) 2001-05-10
EP1224806B1 (en) 2003-11-19
CN1382344A (zh) 2002-11-27
EP1224806A1 (en) 2002-07-24
CA2388789A1 (en) 2001-05-10

Similar Documents

Publication Publication Date Title
ES2211641T3 (es) Sistema y metodo para el registro de datos "pushed".
US7000245B1 (en) System and method for recording pushed data
ES2339330T5 (es) Magacín interactivo bajo demanda
ES2523135T3 (es) Procedimiento y dispositivo para visualizar segmentos multimedia personalizados
ES2206319T3 (es) Lectura de programas interactivos.
ES2381760T3 (es) Sincronización de contenido multimedia con eventos basados en el reconocimiento de secuencias de valores de clave calculada.
US20080263620A1 (en) Script Synchronization Using Fingerprints Determined From a Content Stream
US20080065693A1 (en) Presenting and linking segments of tagged media files in a media services network
JP2004166253A (ja) マルチメディアオブジェクトのための時間基準
US20080098423A1 (en) Methods, Systems, And Computer Program Products For Selecting And Inserting Advertising Into Slots In Broadcast Content
KR100714449B1 (ko) 맞춤형 데이터 방송 서비스 제공 방법 및 시스템, 맞춤형데이터 방송 서비스 사용 방법 및 사용자 단말과 이를 위한데이터 방송 어플리케이션 구조
JP2012165445A (ja) 広告の組み合わせを防止する方法及びシステム
JP2000013755A (ja) 放送システム
US20040024818A1 (en) System and method for updating chatting data in an interactive disc player network
US8191102B2 (en) Method of transmitting interactive television
ES2290146T3 (es) Sistema y metodo para proporcionar una reproduccion instantanea desde multiples perspectivas.
US7020891B1 (en) Internet domain and time index based video email system
EP2131362A1 (en) Method and system for managing content data
KR101044724B1 (ko) 대화식 텔레비전 프로그램을 저장하는 방법 및 장치
KR101033558B1 (ko) 개인용 비디오 녹화기 및 개인용 비디오 녹화기의 하이라이트 재생 방법.
US11375296B2 (en) Server-side ad insertions (SSAI) with additional metadata and client functionality
ES2350163T3 (es) Unión de grabaciones de televisión interactiva a aplicaciones.
JP2008529332A (ja) デジタル番組放送、録画、再生方法及び装置
US20070113245A1 (en) Font library for interactive television recording and playback on a storage medium
CN101107840A (zh) 数字节目的广播、记录和播放方法和装置