ES2296978T3 - Control de una aplicacion interactiva en un flujo de datos. - Google Patents

Control de una aplicacion interactiva en un flujo de datos. Download PDF

Info

Publication number
ES2296978T3
ES2296978T3 ES02755579T ES02755579T ES2296978T3 ES 2296978 T3 ES2296978 T3 ES 2296978T3 ES 02755579 T ES02755579 T ES 02755579T ES 02755579 T ES02755579 T ES 02755579T ES 2296978 T3 ES2296978 T3 ES 2296978T3
Authority
ES
Spain
Prior art keywords
data
carousel
service
interactive application
flow
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
ES02755579T
Other languages
English (en)
Inventor
Richard J. Houldsworth
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB0122585.3A external-priority patent/GB0122585D0/en
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of ES2296978T3 publication Critical patent/ES2296978T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • 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/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • 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/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • 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
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)

Abstract

Método para controlar una aplicación interactiva que comprende recibir un flujo de datos que comprende una aplicación interactiva, supervisar dicho flujo de datos para identificar un cambio en dicho flujo y en respuesta a dicho cambio, evitar que dicha aplicación interactiva acceda a ficheros, identificar ficheros presentes en dicho flujo de datos y permitir que dicha aplicación interactiva sólo acceda a aquellos ficheros presentes en dicho flujo de datos.

Description

Control de una aplicación interactiva en un flujo de datos.
Esta invención se refiere a un método y un aparato para controlar una aplicación interactiva. Particularmente, aunque no exclusivamente, el aparato es un circuito integrado que forma parte de un receptor de televisión digital.
Un receptor digital recibe una señal de radiodifusión digital que normalmente comprende componentes de video, audio y datos. El componente de datos está dotado de una manera de tipo "carrusel" repetitivo con módulos que se descargan por el receptor como y cuando se requieren. Los módulos contienen normalmente aplicaciones interactivas escritas en el guión (script) de programación JAVA.
El documento WO 01/11869 A (KONINKL PHILIPS ELECTRONICS NV) da a conocer un método para distribuir aplicaciones independientes a través de la señal de video de programa de radiodifusión, en el que la aplicación interactiva es un JAVA applet.
En caso de que un usuario desee acceder a una aplicación interactiva a través del receptor digital, entonces esta funcionalidad está disponible a través de una interfaz de usuario, normalmente un control a distancia. Estas aplicaciones interactivas son tales como guías electrónicas de programa, información de tipo "teletexto" y aplicaciones que se refieren al contenido que va a emitirse. Este último tipo de aplicación sería por ejemplo cuando el usuario estuviera viendo la cobertura de un torneo de golf, diagramas detallados de cada hoyo del recorrido, estadísticas acerca de los golfistas participantes, una tabla de líderes en tiempo real, etc. También son posibles aplicaciones que supongan una comunicación en dos direcciones, por ejemplo comprar y apostar. El receptor digital está dotado de un canal de retorno, normalmente a través de la red telefónica para facilitar esta comunicación en dos direcciones.
Sin embargo, el software para ejecutar estas aplicaciones interactivas se proporciona al receptor digital a través del componente de datos de la señal de radiodifusión. Los JAVA applet que constituyen las aplicaciones interactivas están dedicados a cada canal de radiodifusión y se emiten repetitivamente por el transmisor en forma de carrusel. Una vez que un usuario selecciona una aplicación interactiva el módulo de conexión debe comenzar a adquirir los JAVA applet necesarios para poder ejecutar la aplicación.
En caso de que haya algún cambio en el flujo de datos, por ejemplo cuando el usuario cambia de canal, entonces el receptor digital necesita poder adaptarse a la nueva circunstancia de un flujo de datos nuevo. Los receptores digitales habituales o bien abandonan la aplicación interactiva que está ejecutándose actualmente o bien la aplicación interactiva fallará una vez que requiera ficheros que no estén presentes en el flujo de datos. Ninguno de estos resultados proporciona una operación satisfactoria para el usuario del receptor de televisión digital.
Por tanto es un objetivo de la invención mejorar la técnica conocida.
Según un primer aspecto de la invención se proporciona un método para controlar una aplicación interactiva, que comprende recibir un flujo de datos, que comprende una aplicación interactiva, que supervisa dicho flujo de datos para identificar un cambio en dicho flujo y en respuesta a dicho cambio, evitar que dicha aplicación interactiva acceda a ficheros, identificar ficheros presentes en dicho flujo de datos y permitir que dicha aplicación interactiva acceda sólo a aquellos ficheros presentes en dicho flujo de datos.
Según un segundo aspecto de la invención se proporciona un aparato para controlar una aplicación interactiva que comprende medios de recepción para recibir un flujo de datos que comprende una aplicación interactiva, medios de supervisión para supervisar dicho flujo de datos y para controlar dicha aplicación interactiva para evitar que la aplicación interactiva acceda a ficheros que siguen un cambio en el flujo de datos, para identificar ficheros presentes en el flujo de datos y para permitir que dicha aplicación interactiva acceda sólo a aquellos ficheros presentes en dicho flujo de datos.
El método puede conseguirse mediante un elemento de programa informático, instalado en un hardware adecuado o almacenado en un soporte de grabación. El aparato puede comprender un circuito integrado.
Debido a la invención es posible controlar una aplicación interactiva de manera que siguiendo un cambio en el flujo de datos que soporta la aplicación interactiva, la aplicación interactiva continuará ejecutándose de la mejor manera posible a partir de los ficheros disponibles a la misma. El cambio en el flujo de datos puede deberse por ejemplo a una interrupción en la radiodifusión de datos o a un usuario que cambia de canal en el receptor del flujo de datos. En caso de que la aplicación interactiva requiera un fichero que no esté presente en el flujo de datos, en vez de fallar inmediatamente porque el fichero no esté presente, la aplicación interactiva "bloquea" la espera al fichero que debe llegar. El hilo de programa que está haciendo la petición no continúa la ejecución hasta que el fichero vuelva a estar presente, o se determina que el fichero está permanentemente no disponible. Sin embargo, continúan ejecutándose otros hilos de programa.
Ahora se describirán realizaciones de la invención, sólo a modo de ejemplo, con referencia a los dibujos adjuntos, en los que:
la figura 1 es un diagrama esquemático de un módulo de conexión conectado a un dispositivo de visualización, y
la figura 2 es un diagrama de flujo de un método para controlar una aplicación interactiva.
En la figura 1, el módulo 10 de conexión comprende medios de recepción en la forma de un receptor 12 para recibir una señal 14 de radiodifusión digital. El módulo de conexión también comprende medios de procesamiento, en la forma de una UCP 16, para procesar la señal 14. El módulo de conexión incluye además componentes tales como un decodificador 20, una memoria 22 RAM y una memoria 24 caché. El decodificador 20 desmultiplexa la señal 14 de radiodifusión. El componente de video se pasa al dispositivo 26 de visualización y el componente de audio se pasa a altavoces (no representados). Un usuario del módulo 10 de conexión selecciona, a través de una interfaz de usuario adecuada, el canal que desea ver, y se adquiere el contenido apropiado y proporciona al usuario.
La señal 14 incluye en sí misma un flujo de datos que comprende una aplicación interactiva. El flujo de datos puede comprender múltiples aplicaciones interactivas, según se desee. El aparato para controlar la aplicación interactiva comprende medios 12 de recepción para recibir el flujo de datos que comprende la aplicación interactiva, y la UCP 16, que actúa como medio de supervisión para supervisar el flujo de datos. El aparato comprende normalmente un circuito integrado que forma parte del receptor 10 de televisión digital.
Se requiere una técnica para mantener el acceso a servicios de carrusel de datos de radiodifusión cuando se cambia el servicio actual. Los sistemas de televisión digital incluyen mecanismos para la radiodifusión de datos genéricos a través de entrega en carrusel. Un ejemplo importante es el carrusel de objetos DVB definido para los estándares de televisión digital DVB. Estos mecanismos están volviéndose más importantes ya que subyacen a la nueva generación de servicios interactivos, incluyendo MHEG-5, DVB MHP y OCAP. En estos sistemas la radiodifusión de datos incluye uno o más sistemas de fichero de radiodifusión en los que los componentes de los sistemas de fichero se transmiten al receptor 10 en forma de carrusel (es decir, repetida). El receptor 10 intenta recuperar los contenidos de los sistemas de fichero analizando el flujo de datos entrante. El sistema de fichero contendrá activos y un código ejecutable para una o más aplicaciones asociadas al servicio que está presentándose al usuario.
En sistemas tales como MHP es posible permitir que una aplicación se ejecute con más de un servicio. Por ejemplo, una guía electrónica de programa para un paquete de servicios de un proveedor de servicios continuará ejecutándose cuando el usuario conmute entre servicios del paquete. Sin embargo, como los datos de carrusel están conectados al servicio original utilizado, actualmente estos datos se hacen inaccesibles una vez se seleccione un servicio nuevo. Esto impone restricciones graves a las capacidades de la aplicación, y la mayoría de las aplicaciones no podrá recuperarse de esta retirada repentina del acceso.
Por tanto se requiere un mecanismo para el traspaso fluido del acceso al carrusel desde un servicio a otro. El fin es que la aplicación no debería percibir el cambio en el encaminamiento a los datos del carrusel.
Actualmente, DVB especifica un método para soportar un sistema de ficheros jerárquico dentro de un flujo de transporte DVB. Esto se utiliza para la radiodifusión de datos. Puede utilizarse para soportar cualquier dato del tipo que normalmente se almacenaría en un sistema de ficheros informático. Con frecuencia se utiliza para soportar ficheros de datos para sistemas de radiodifusión interactivos. Por ejemplo es el método elegido para emitir objetos MHEG-5 en la implementación terrestre en el Reino Unido de DVB y se utiliza para ficheros de clase y sus datos asociados en la especificación MHP de DVB. El sistema ha sido diseñado para proporcionar una solución al problema de un transporte eficaz por una conexión en serie de un sistema de ficheros jerárquico. Puede analizarse sintácticamente y la estructura del directorio jerárquico, los nombres de ficheros y el contenido de los ficheros pueden recuperarse en el receptor. Los sistemas de ficheros en carrusel se transmiten como parte de un "servicio", en el que un servicio se define como un conjunto de flujos elementales de varios tipos que pretenden presentarse al usuario como un todo. El concepto de un programa de televisión es un ejemplo de un servicio que contiene flujos de audio y video. Los datos del carrusel pueden transmitirse una vez en un flujo de transporte pero pueden ser una parte de más de un servicio dentro del flujo de transporte. Sin embargo, lógicamente se considera que el carrusel es una entidad separada en cada uno de los servicios cuyos datos están contenidos en el mismo.
El decodificador de carrusel (situado dentro de la UCP 16) tiene dos partes diferentes:
1. Un lector de flujo. Decodifica los datos de los flujos del servicio actual en un formato útil. Normalmente, esta parte almacena "módulos" de datos solicitados en un "caché de módulo" en la memoria del receptor, y
2. Un controlador del sistema de ficheros. Recibe peticiones desde las aplicaciones que se ejecutan en el receptor, e intenta hallar los datos solicitados en el caché de módulo, o pasa en una petición de búsqueda al lector de flujo.
Normalmente la memoria en el receptor 10 está limitada, por lo que no es posible introducir el carrusel completo en la memoria por lectura. Por lo tanto, normalmente se aplica una estrategia de memoria caché para intentar y asegurar que los módulos que más probablemente vayan a solicitarse se almacenen en memoria caché. Esto tiene un gran efecto sobre el rendimiento de la aplicación porque las latencias de búsqueda del carrusel de radiodifusión son normalmente de muchos segundos.
\newpage
Las aplicaciones que se ejecutan en el receptor pueden desear acceder a los datos de un carrusel en un servicio mientras que simultáneamente decodifican un servicio separado. Un ejemplo son las aplicaciones MHP no relacionadas con el servicio. Estas aplicaciones empiezan en un servicio y utilizan el carrusel en ese servicio pero entonces podrían hacer que el decodificador conmute a otro servicio. En estas situaciones la parte de lector de flujo del decodificador se vuelve inoperable porque las fuentes de datos en el servicio anterior ya no están disponibles. Esto afecta gravemente a la operación de la aplicación, y en la mayoría de los casos no puede garantizarse que la aplicación continúe funcionando sin error. Sin embargo, en muchos casos el servicio nuevo contendrá los mismos datos de carrusel que el servicio inicial, de modo que realmente hay una fuente de datos posible. Esta invención propone un método mediante el que la parte de lector de flujo del decodificador puede mantenerse operacional tras un cambio de servicio, identificando si hay una fuente de datos equivalente para el carrusel, y por tanto garantizar una operación de aplicación aceptable.
Esta invención se centra en la familia de mecanismos de carrusel de objetos DSMCC y su uso en MHP, aunque las ideas inventivas se aplican a cualquier mecanismo de radiodifusión de datos basado en carrusel que presente los mismos datos dentro de varios servicios o programas diferentes.
La opción presentada en el presente documento es comparar el servicio actual con el servicio inicial en el que se montó el carrusel y hacer el mayor esfuerzo para mantenerlo interconectado a los flujos de datos que son comunes a ambos servicios. Obsérvese que esta solución sólo es útil cuando haya un auténtico compartimiento de flujos de datos entre servicios. Si no hay solapamiento, el carrusel permanece "perdido". Sin embargo, esta opción nueva permite que el radiodifusor optimice la radiodifusión para aquellas aplicaciones que utilizan estas características. En el presente documento se tratan dos realizaciones. Tratan el asunto de identificar qué elementos de datos pueden compartirse entre servicios en dos niveles diferentes.
En ambas realizaciones, la UCP 16 controla la aplicación interactiva para evitar que la aplicación interactiva acceda a ficheros siguiendo un cambio en el flujo de datos (tal como se produce por un cambio de canal por un usuario). La UCP 16 identifica los ficheros presentes en el flujo de datos y permite que la aplicación interactiva acceda sólo a aquellos ficheros presentes en el flujo de datos. Este método se ilustra en la figura 2.
\vskip1.000000\baselineskip
Forma de realización 1
Compartimiento de nivel de carrusel
Una primera realización considera al decodificador de carrusel como un servidor que se ejecuta en el dispositivo que está actualizándose a partir del flujo. El servidor proporciona acceso al sistema de ficheros para aplicaciones que se ejecutan en los dispositivos y tiene dos modos de ejecución, en ambos el decodificador proporciona los últimos datos que tiene, pero sólo en un modo el decodificador recibe actualizaciones desde el flujo. La conmutación entre servicios produce transiciones entre estos modos. El carrusel sólo puede pasar al estado de ejecución completa cuando el servicio contiene la fuente de datos de carrusel completa. El carrusel tiene un número de estados específicos, y estos están enumerados a continuación con una definición.
- interconectado: punto de montaje del sistema de ficheros creado. DSI PID registrado. El carrusel no está interconectado con un servicio/PMT. No hay acceso al sistema de ficheros.
- empezado: interconectar PMT con el carrusel. Adquisición módulo/DSI/DII para operación normal empezada. Pueden mantenerse peticiones del sistema de ficheros nuevas. El localizador para el dominio de servicio se ajusta en este punto.
- parado: adquisición de módulo por filtrado de secciones parada. El estado actual del sistema de ficheros está en memoria, sometido a efectos de memoria caché. En caso de que se compartan módulos con otro carrusel aún ejecutándose, estos continuarán actualizándose.
- separado: carrusel separado del servicio. Todos los elementos en memoria caché están liberados. Todos los identificadores de fichero se vuelven no válidos.
En un entorno MHP la señalización de aplicación disparará la transición inicial al estado empezado a través de interconexión. La finalización de la aplicación moverá el carrusel al estado separado. Un cambio de un servicio mueve el carrusel en ese servicio al estado parado. Cualquiera de los eventos enumerados en B.2.9 también mueve un carrusel a este estado (es decir, esto es equivalente a "perdido"). Al alcanzar un servicio nuevo el PMT se examina. Los algoritmos descritos a continuación se utilizan para determinar si los datos de módulo del servicio inicial pueden reutilizarse en el servicio nuevo. Si se halla una comparación, entonces el carrusel se mueve de vuelta al estado empezado y el carrusel reinicia la operación en el servicio nuevo. Estas transiciones son invisibles para la aplicación. Si no se halla una comparación, el carrusel permanece en el estado parado. Pueden producirse intentos de recuperar un carrusel perdido por otros motivos de una manera dependiente de la plataforma. La mayoría de los motivos de la pérdida original es bastante terminal por lo que un carrusel de este tipo es un buen candidato para la separación forzada.
Tal como se ha explicado actualmente, un carrusel parado puede moverse al estado separado por el sistema. Esto debería ocurrir para carruseles de inicio una vez destruida la Xlet y como último remedio para ejecutar las Xlet cuando el decodificador de carrusel no puede recuperar memoria de otra manera. El sistema debería intentar primero depurar elementos inutilizados del caché de módulo.
El algoritmo elegido para determinar la equivalencia de carruseles depende de cómo está señalizado el conjunto de flujos elementales que posiblemente proporciona datos de carrusel:
1. Contenido relacionado por el servicio. El conjunto de flujos elementales de carrusel utilizado por los carruseles en el servicio sólo está definido por la tabla de etiquetas de asociación de los servicios. En este modelo, o todos o ninguno de los carruseles en el servicio permanecen disponibles en un cambio de servicio. Todos los flujos elementales con el tipo (11) de mensajería DSMCC UN deberían tener bucles descriptores idénticos y referirse al mismo PID como en el servicio original. Pueden estar presentes entradas adicionales si se incluyeron en las etiquetas de asociación diferidas del servicio original. En caso de que el servicio original contenga un descriptor de etiqueta de asociación diferida, entonces todas las entradas que se refieren a flujos elementales o bien deben resolverse en el bucle de flujos elementales o bien mantenerse idénticamente en el descriptor de asociación diferida del servicio nuevo.
2. Contenido relacionado por el carrusel. En este modelo cada carrusel en un servicio puede analizarse por separado. El conjunto de flujos elementales utilizado por cada carrusel se describe en el nivel más alto del carrusel, por ejemplo como un "descriptor manifiesto" en el DSI. Todas las entradas en este manifiesto se resolverían desde la etiqueta de asociación al flujo elemental. Al alcanzar el servicio nuevo, el sistema comprueba si el DSI contiene información adicional acerca de los componentes del carrusel. Las etiquetas de asociación de los DII del carrusel están enumeradas en este "descriptor manifiesto". En caso de que esta información no esté presente, entonces se vuelve al primer método anterior. Todas las entradas en esta lista se resuelven desde etiquetas de asociación a PID al seleccionar el servicio original. En caso de que este "descriptor manifiesto" esté presente, entonces no es válido para los datos en el carrusel para hacer referencia a cualquier otra etiqueta de asociación, los objetos así referenciados deberían parecer imposibles de conseguir en la abstracción del sistema de fichero. Al alcanzar el servicio nuevo el sistema comprueba si el DSI está en el mismo PID como en el servicio original y entonces resuelve todas las entradas enumeradas en el PMT nuevo. En caso de que todas coincidan, según la última muestra del PMT antes de abandonar ese servicio, esto es suficiente para garantizar una equivalencia completa. Obsérvese que la correlación de asociación etiqueta a PID puede cambiar a lo largo del tiempo aunque esto no invalida el caché de carrusel actual. Por tanto la comparación de PID debería hacerse basándose en el último conocimiento disponible del servicio previo.
Realización 2
Compartimiento de nivel de flujo elemental
Una segunda realización (o refinación) es permitir una mezcla de módulos "empezados" y "parados" en el carrusel, en la situación en la que existe un desajuste en algunas etiquetas de asociación aunque no en otras. En esta situación sólo los módulos con una fuente de comparación continuarán actualizándose a partir del flujo. Las otras entradas permanecerán como estaban antes de la transición. No se permite que datos de los PID "incorrectos" entren al sistema. Una manera de implementar esto es realizar una traducción etiqueta-PID a través de una tabla de consulta. Esta tabla se establece mediante el servicio "maestro" inicial para el carrusel, rellenando en la etiqueta de asociación y las columnas PID maestro de la tabla del PMT. Cuando se opera en un servicio diferente, las entradas en el PMT se correlacionan para dar una tercera columna "PID actual" de la tabla. En todos los intentos para actualizar los módulos, en caso de que haya un desajuste entre los PID maestro y los PID actuales, la actualización falla. Las peticiones de adquisición nuevas también fallan en un desajuste.
Para etiquetas de asociación diferidas, se comparan los localizadores de los flujos en vez de los PID directamente. Esto evita una consulta de PID posiblemente lenta en cada comparación, sólo se resuelve tras una comparación con éxito. El PMT del servicio original puede continuar supervisándose en el servicio nuevo para seguir los cambios en el PID.
Con este modelo no existen estados empezados y parados, sólo interconectados y separados. El localizador del carrusel no cambia porque sigue ejecutándose de manera eficaz según el servicio original aunque sólo accediendo a los datos disponibles a través del servicio actual.
La presente invención permite conservar los datos de módulo de carrusel a través de límites del servicio. Algunos formatos de carrusel de objetos soportan el acceso a flujos de medios (a través de objetos de flujo) e información de eventos en tiempo real (eventos de flujo) así como ficheros de sistemas de ficheros y objetos de directorio convencionales. Para estos otros tipos de contenido, el acceso se habilita de manera similar mediante un análisis de la correlación de etiquetas de asociación. El hecho de bloquear el acceso a estos formatos tiene el efecto de evitar el acceso a los datos de flujo actuales de una manera no destructiva. Por ejemplo no se visualiza ningún video, pero no se produce ningún error.
Los carruseles de múltiples objetos pueden acceder a los mismos módulos de datos. Se supone en este caso que cada carrusel de objetos sólo tiene un cliente. Así, por ejemplo, en el caso de que dos aplicaciones accedan al mismo carrusel de objetos, entonces existen realmente dos estructuras de datos del carrusel de objetos separadas. Esto permite descartar el caso en que un cliente de un carrusel de objetos desea trasladarse a un servicio nuevo, pero el otro cliente no lo desea.
La invención se aplica en primer lugar en el campo de las radiodifusiones de televisión digital. Este es la primera área en la que se produce una distribución de radiodifusión amplia de datos a través de carruseles y en la que existe un requisito de acceder a estos datos desde más de un "servicio" (donde servicio significa una colección de elementos de datos procesados en conjunto). Evidentemente, estos mecanismos también se aplican en la radiodifusión de radio digital, y de hecho en redes de radiodifusión de datos puras.
A partir de la presente relevación, muchas otras modificaciones y variaciones se harán evidentes para los expertos en la técnica. Tales modificaciones y variaciones pueden implicar otras características que ya se conocen en la técnica y que pueden utilizarse en vez de o adicionalmente a características ya dadas a conocer en el presente documento.

Claims (8)

1. Método para controlar una aplicación interactiva que comprende recibir un flujo de datos que comprende una aplicación interactiva, supervisar dicho flujo de datos para identificar un cambio en dicho flujo y en respuesta a dicho cambio, evitar que dicha aplicación interactiva acceda a ficheros, identificar ficheros presentes en dicho flujo de datos y permitir que dicha aplicación interactiva sólo acceda a aquellos ficheros presentes en dicho flujo de datos.
2. Método según la reivindicación 1, en el que dicho flujo de datos se incluye en una señal de radiodifusión.
3. Método según la reivindicación 1 ó 2, en el que dicho método se ejecuta mediante un programa informático.
4. Método según la reivindicación 3, en el que dicho programa informático se ejecuta mediante un receptor de televisión digital.
5. Método según la reivindicación 4, en el que dicho cambio ser produce cuando dicho receptor de televisión digital cambio de canal.
6. Aparato para controlar una aplicación interactiva, que comprende medios de recepción para recibir un flujo de datos que comprende una aplicación interactiva, medios de supervisión para supervisar dicho flujo de datos y para controlar dicha aplicación interactiva para evitar que la aplicación interactiva acceda a ficheros que siguen un cambio en el flujo de datos, para identificar ficheros presentes en el flujo de datos y permitir que dicha aplicación interactiva acceda sólo a aquellos ficheros presentes en dicho flujo de datos.
7. Aparato según la reivindicación 6, comprendiendo dicho aparato un circuito integrado.
8. Aparato según la reivindicación 7, en el que dicho circuito integrado forma parte de un receptor de televisión digital.
ES02755579T 2001-09-19 2002-09-16 Control de una aplicacion interactiva en un flujo de datos. Expired - Lifetime ES2296978T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB0122585.3A GB0122585D0 (en) 2001-09-19 2001-09-19 Control of an interactive application
GB0122585 2001-09-19
GBGB0214735.3A GB0214735D0 (en) 2001-09-19 2002-06-25 Control of an interactive application
GB0214735 2002-06-25

Publications (1)

Publication Number Publication Date
ES2296978T3 true ES2296978T3 (es) 2008-05-01

Family

ID=26246564

Family Applications (1)

Application Number Title Priority Date Filing Date
ES02755579T Expired - Lifetime ES2296978T3 (es) 2001-09-19 2002-09-16 Control de una aplicacion interactiva en un flujo de datos.

Country Status (8)

Country Link
US (1) US7917921B2 (es)
EP (1) EP1430397B1 (es)
KR (1) KR100940460B1 (es)
CN (1) CN1311347C (es)
AT (1) ATE378631T1 (es)
AU (1) AU2002321784B2 (es)
ES (1) ES2296978T3 (es)
WO (1) WO2003025746A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1244310A1 (en) * 2001-03-21 2002-09-25 Canal+ Technologies Société Anonyme Data referencing system
WO2004021138A2 (en) * 2002-08-30 2004-03-11 Wink Communications, Inc. Carousel proxy
KR20070024496A (ko) * 2004-02-23 2007-03-02 힐크레스트 래보래토리스, 인크. 보안 미디어 컴퓨팅 환경을 위한 비디오 출력 생성 방법,컴퓨터 비디오 시스템, 케이블 데이터 처리 시스템, 및케이블 데이터 입력 카드
EP1763957A1 (en) * 2004-06-30 2007-03-21 Koninklijke Philips Electronics N.V. Content managing module and apparatus comprising such content managing module as well as method for controlling interactive applications
WO2006028132A1 (ja) * 2004-09-08 2006-03-16 Matsushita Electric Industrial Co., Ltd. 映像データとアプリケーションとを連動させて再生する再生装置、再生方法、及びプログラム
WO2006049185A1 (ja) * 2004-11-02 2006-05-11 Matsushita Electric Industrial Co., Ltd. アプリケーションプログラム実行装置
WO2007004161A1 (en) * 2005-06-30 2007-01-11 Koninklijke Philips Electronics, N.V. Method and system for providing conditional access to data in an mhp or ocap broadcast system
KR20070108324A (ko) * 2006-02-09 2007-11-09 삼성전자주식회사 휴대형 디지털 비디오 방송 방통융합 서비스 시스템에서핸드오버 방법 및 장치
KR101319546B1 (ko) * 2006-11-21 2013-10-21 삼성전자주식회사 영상표시장치 및 그의 엑스렛 제공 방법
KR101109603B1 (ko) * 2007-03-29 2012-01-31 삼성전자주식회사 응용 프로그램 실행 방법 및 장치
US8087047B2 (en) 2007-04-20 2011-12-27 United Video Properties, Inc. Systems and methods for providing remote access to interactive media guidance applications
US9104991B2 (en) * 2010-07-30 2015-08-11 Bank Of America Corporation Predictive retirement toolset

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4580285A (en) * 1983-09-07 1986-04-01 Sprague Electric Company Scanning AM radio with discriminator-driven-scan-stop-circuit
US5434678A (en) * 1993-01-11 1995-07-18 Abecassis; Max Seamless transmission of non-sequential video segments
US5561637A (en) * 1995-09-12 1996-10-01 International Business Machines Corporation Pace control for multicasting in a video server environment
WO1998035468A2 (en) * 1997-01-27 1998-08-13 Benjamin Slotznick System for delivering and displaying primary and secondary information
DE69941142D1 (de) * 1998-05-06 2009-09-03 Sun Microsystems Inc Verarbeitungsmaschine und verarbeitungsverfahren
JP2000032414A (ja) 1998-07-16 2000-01-28 Sony Corp チャンネル設定方法及び受信装置
US6668158B1 (en) * 1998-07-16 2003-12-23 Sony Corporation Control method, control apparatus, data receiving and recording method, data receiver and receiving method
US20020091816A1 (en) * 1998-12-23 2002-07-11 Altan J. Stalker Broadcast data access system for multimedia clients in a broadcast network architecture
KR100745996B1 (ko) * 1999-05-20 2007-08-06 삼성전자주식회사 디지털 방송 시스템 및 그 제어 방법
US7069571B1 (en) * 1999-06-15 2006-06-27 Wink Communications, Inc. Automated retirement of interactive applications using retirement instructions for events and program states
CN1166176C (zh) * 1999-08-05 2004-09-08 皇家菲利浦电子有限公司 用作服务器分配广播的独立应用程序的电视系统和分配广播的独立应用程序的方法
US9668011B2 (en) * 2001-02-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Single chip set-top box system
US20020144279A1 (en) * 2001-03-30 2002-10-03 Guojun Zhou Method and apparatus for providing custom television channels to viewers

Also Published As

Publication number Publication date
KR100940460B1 (ko) 2010-02-04
US7917921B2 (en) 2011-03-29
US20030070165A1 (en) 2003-04-10
AU2002321784B2 (en) 2008-03-06
CN1555524A (zh) 2004-12-15
KR20040035817A (ko) 2004-04-29
ATE378631T1 (de) 2007-11-15
WO2003025746A1 (en) 2003-03-27
CN1311347C (zh) 2007-04-18
EP1430397B1 (en) 2007-11-14
EP1430397A1 (en) 2004-06-23

Similar Documents

Publication Publication Date Title
ES2296978T3 (es) Control de una aplicacion interactiva en un flujo de datos.
KR100262845B1 (ko) 가상채널을사용하는디지털방송시스템
CN101188668B (zh) 广播信号处理方法及广播信号处理装置
ES2806154T3 (es) Aparato receptor, método de recepción, y programa
EP2658251A1 (en) Receiving device, broadcasting system and program
US20100235858A1 (en) Service browser process and related system
EP2103121A1 (en) Apparatus and method for configuring and executing function of application appropriate to broadcast-receiving device
JP5909325B2 (ja) 受信装置、放送システム及びプログラム
US20080077681A1 (en) Method and apparatus for upgrading software of digital broadcasting receiver
ES2302828T5 (es) Procedimiento y aparato para la adquisición y la monitorización mejoradas de secciones de tabla de información de evento
AU2002321784A1 (en) Control of an interactive application in a data stream
EP1843586A2 (en) Method of transmitting interactive television
US20080129878A1 (en) Digital television receiver and method for processing the digital television signal
WO2000079787A1 (en) Method and receiver for managing the consistency of service lists in digital television system
JP5092608B2 (ja) 受信装置
EP1662390A2 (en) Control of an interactive application
KR20070097185A (ko) 방송 수신기 및 데이터 방송 애플리케이션 운용 방법
ES2247015T3 (es) Procedimiento de datos digitales de multiples flujos de datos.
ES2214912T3 (es) Procedimiento y dispositivo para gestion de datos de servicio en un sistema de television.
ES2384787T3 (es) Procedimiento de gestión de informaciones de servicio en una televisión digital y receptor asociado
KR101088121B1 (ko) 컨텐츠 전송 시스템 내의 수신기, 및 이 수신기 레벨에서 서비스 리스트를 관리하는 방법
JP2005503703A5 (es)
KR20100056173A (ko) 화면 제어 방법 및 그 장치
US7688916B2 (en) Method and apparatus for initialization in digital broadcasting receiver
KR20090126769A (ko) 방송 수신기 및 방송 데이터 수신 방법