ES2355352T3 - Método y aparato para procesar, almacenar y visualizar condicionalmente el contenido de canales digitales en un sistema de recepción de televisión. - Google Patents

Método y aparato para procesar, almacenar y visualizar condicionalmente el contenido de canales digitales en un sistema de recepción de televisión. Download PDF

Info

Publication number
ES2355352T3
ES2355352T3 ES00106040T ES00106040T ES2355352T3 ES 2355352 T3 ES2355352 T3 ES 2355352T3 ES 00106040 T ES00106040 T ES 00106040T ES 00106040 T ES00106040 T ES 00106040T ES 2355352 T3 ES2355352 T3 ES 2355352T3
Authority
ES
Spain
Prior art keywords
channel
television
content
conditional
definition
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
ES00106040T
Other languages
English (en)
Inventor
Robert G. Arsenault
Tam T. Leminh
Craig A. Finseth
Jeffrey A. Brown
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.)
The AT&T MVPD Group LLC
Original Assignee
Hughes Electronics 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 Hughes Electronics Corp filed Critical Hughes Electronics Corp
Application granted granted Critical
Publication of ES2355352T3 publication Critical patent/ES2355352T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Procedimiento de emisión de contenido de televisión y datos de guía de programación, en el que el contenido de televisión es dividido en una pluralidad de canales de televisión, cada canal de televisión es construido a partir de al menos un componente de contenido y los datos de la guía de programación incluyen múltiples objetos canal, cada objeto canal está asociado a uno de los canales de televisión, cada objeto canal incluye al menos una definición de canal que define los componentes de contenido necesarios para construir el canal de televisión asociado con ese objeto canal, en el que el procedimiento comprende: proporcionar el contenido de televisión y los datos de la guía de programación; añadir lógica condicional a los objetos canal, que incluye más de una definición de canal, incluyendo la lógica condicional una o más condiciones que deben ser evaluadas por un receptor para identificar una definición de canal apropiada; combinar el contenido de televisión y los datos de la guía de programación en un flujo de salida; y difundir el flujo de salida a una pluralidad de receptores.

Description

CAMPO TÉCNICO DE LA INVENCIÓN
La presente invención se refiere, en general, al procesamiento, al almacenamiento y/o a la visualización de información digital y, en particular, al procesamiento, al almacenamiento y/o a la visualización con condiciones de objetos guía de programación digital en un sistema de televisión de emisión vía satélite basado en la evaluación de una regla lógica 5 integrada en el objeto digital.
ANTECEDENTES DE LA INVENCIÓN
Los programas de televisión son distribuidos a los espectadores mediante una variedad de procedimientos de difusión. Estos procedimientos incluyen televisión de emisión analógica tradicional (estándar del Comité Nacional de Sistemas de Televisión o “NTSC”), la televisión de emisión digital (estándar del Comité Avanzado de Sistemas de Televisión o 10 “ATSC”) de próxima aparición, la televisión por cable (tanto analógica como digital), de emisión vía satélite (tanto analógica como digital), así como otros procedimientos. Algunos sistemas inalámbricos de distribución de señal de televisión usan uno o más satélites geosíncronos para difundir una señal de televisión de banda ancha a unidades receptoras dentro de una amplia zona geográfica, mientras que otros sistemas inalámbricos y basados en tierra, usan uno o más transmisores localizados dentro de zonas geográficas más pequeñas para difundir la señal a unidades 15 receptoras individuales dentro de esas zonas geográficas.
La unidad receptora en un sistema vía satélite incluye, típicamente, una antena parabólica conectada mediante un cable a una unidad receptora/decodificadora integrada (IRD). La unidad receptora recibe y procesa los paquetes de información transmitidos. La antena parabólica apunta hacia el satélite y la IRD está conectada a la televisión del usuario en una manera similar a un decodificador de TV por cable. 20
Junto con las señales de audio y de video asociadas con los canales de televisión, la IRD recibe varios objetos digitales, tales como texto y gráficos. Estos objetos pueden ser usados por la IRD para proporcionar al usuario información adicional, tal como guías electrónicas de programación, manuales de instrucciones, publicidad, etc. La información de guía de programación incluye un conjunto de parámetros de definición de canal que definen qué porciones del contenido de televisión transmitido están asociadas con los diversos canales, y también incluyen, típicamente, información de la 25 programación para su visualización en las televisiones de los usuarios. La información de la programación informa a los usuarios acerca de qué programas de televisión están siendo mostrados ahora, y qué programas de televisión se mostrarán en el futuro cercano. Una guía electrónica de programación inteligente se divulga, por ejemplo, en el documento WO 99/01984 A1.
Ciertos objetos digitales son usados solamente en ciertos escenarios. Por ejemplo, los datos de la guía electrónica de 30 programación acerca de un canal premium particular solo necesitan ser mostrados si el usuario está subscrito a ese canal de pago. De manera similar, las instrucciones acerca del uso de una IRD de la marca X nunca necesitan ser mostradas por una IRD de la marca Y. Consiguientemente, la IRD necesita saber qué objetos almacenar y qué objetos usar en qué escenarios.
Típicamente, cada IRD está equipada con un módulo de acceso condicional (CAM). El CAM almacena una pluralidad de 35 indicadores que representan escenarios predefinidos (es decir, una máscara de bits). Por ejemplo, un indicador puede indicar si un usuario particular está subscrito o no a un canal premium particular. Consiguientemente, los objetos digitales son transmitidos con cierto conjunto de indicadores y estos indicadores se comparan con una pluralidad de indicadores almacenados en el CAM para determinar si un objeto debería ser descartado o mostrado.
Sin embargo, este procedimiento tiene ciertas desventajas. Son pueden usarse escenarios predefinidos (es decir, antes 40 de que la IRD sea enviada), ya que el significado de cada indicador está predefinido. El gran número de combinaciones es demasiado complicado para ser anticipado con antelación (por ejemplo, si una IRD particular es de la marca X con al menos 512 kilobytes de memoria). Además, ciertos escenarios son demasiado modernos para ser anticipados en unidades más antiguas (por ejemplo, si una IRD particular es compatible o no con Java). Además, en receptores que tienen la capacidad de modificar el software de control dentro del receptor (por ejemplo, por medio de una actualización 45 recibida como parte de un flujo de emisión) las características pueden cambiar con el tiempo.
SUMARIO DE LA INVENCIÓN
Consiguientemente, la presente invención proporciona un procedimiento y un sistema, tal como se definen en las reivindicaciones 1, 9 y 10, respectivamente.
BREVE DESCRIPCIÓN DE LOS DIBUJOS 50
Estas y otras características y ventajas de la presente invención se harán más evidentes a partir de la consideración detallada de la descripción detallada siguiente de ciertas realizaciones preferentes, tomadas en conjunción con los dibujos, en los que:
La Fig. 1 es un diagrama de bloques de un sistema de emisión directa vía satélite;
La Fig. 2 es un diagrama de bloques que ilustra más detalles de la estación receptora de la Fig. 1;
La Fig. 3 es un diagrama de bloques que ilustra un ejemplo genérico de una guía electrónica de programación de televisión;
La Fig. 4 es un diagrama de flujo que ilustra un procedimiento para almacenar condicionalmente objetos digitales;
La Fig. 5 es un diagrama de flujo que ilustra un procedimiento para visualizar condicionalmente objetos de guía 5 de programación;
La Fig. 6 es un diagrama de bloques que ilustra un procedimiento para supervisar cambios de estado en las variables con el fin de desencadenar una re-evaluación de las reglas;
La Fig. 7 es un diagrama de flujo que ilustra un procedimiento para componer condicionalmente el contenido de un canal; 10
La Fig. 8 es un ejemplo de contenido condicional de canal de televisión que es visualizado en la pantalla de televisión de un usuario que no está subscrito al canal seleccionado;
La Fig. 9 es un ejemplo de contenido condicional de canal de televisión que es visualizado en la pantalla de televisión de un usuario que está subscrito al canal seleccionado; y
La Fig. 10 es un diagrama de bloques de las etapas típicas de un evento de pago por visión. 15
DESCRIPCIÓN DETALLADA DE LAS REALIZACIONES PREFERIDAS
Aunque la descripción siguiente se centra en el procesamiento, el almacenamiento y la visualización de objetos digitales usados para componer visualizaciones de canal y guías electrónicas de programación de televisión en un sistema de emisión vía satélite, las personas con conocimientos ordinarios en la materia apreciarán fácilmente que las técnicas de la presente invención no están limitadas, en absoluto, a difusiones vía satélite o a guías de programación. Por el 20 contrario, cualquier sistema que pueda beneficiarse de la eficiencia mejorada en el uso de memoria y las visualizaciones digitales flexibles puede emplear las técnicas descritas en la presente memoria.
En general, los sistemas de distribución de señal de televisión dependen de una red de cable o de la propagación en el espacio libre para suministrar señales de televisión a suscriptores o usuarios individuales. Los sistemas de televisión basados en cable transmiten una o más señales de televisión individuales o “canales” sobre un cable, mientras que los 25 sistemas de propagación en el espacio libre transmiten uno o más canales sobre el aire, es decir, en una manera inalámbrica. La mayoría de los sistemas de distribución de señal de televisión inalámbricos y por cable a gran escala difunden una señal de televisión de banda ancha que tiene una pluralidad de señales de televisión individuales o canales moduladas sobre una o más frecuencias portadoras dentro de una banda de frecuencias discernible.
Algunos sistemas inalámbricos de distribución de señal de televisión usan uno o más satélites geosíncronos para 30 difundir una señal de televisión de banda ancha a unidades receptoras dentro de una gran zona geográfica, mientras que otros sistemas inalámbricos están basados en tierra, usando uno o más transmisores localizados dentro de zonas geográficas más pequeñas para difundir una señal a unidades receptoras individuales dentro de esas zonas geográficas.
Típicamente, los sistemas vía satélite incluyen un receptor para recibir y procesar las formas de onda transmitidas. Un 35 tipo de receptor es parte de un sistema de “televisión digital inalámbrico” que es utilizado por el servicio de emisión DIRECTV®. El DIRECTV® y los sistemas similares permiten a los consumidores recibir un gran número de canales de televisión difundidos directamente a sus hogares desde uno o más satélites geosíncronos.
Un diagrama de bloques de un sistema 10 de transmisión y recepción se ilustra en la Fig. 1. El sistema 10 incluye una estación de transmisión 14, un repetidor 16 y una pluralidad de estaciones receptoras 20. Una señal inalámbrica 40 proporciona el medio de comunicación entre la estación de transmisión 14, el repetidor 16 y la estación receptora 20. La estación de transmisión 14 incluye una fuente 24 de programación/datos, un sistema 26 de codificación de video/audio/datos, un convertidor 28 de frecuencia de enlace ascendente, y una antena 30 de satélite de enlace ascendente. Preferentemente, el repetidor 16 es al menos un satélite geosíncrono. La estación receptora 20 incluye una antena 34 de recepción vía satélite que puede incluir un bloque de bajo ruido (LNB) 50, una unidad receptora (o IRD) 36 45 conectada al LNB 50, y un monitor 38 de televisión conectado a la unidad receptora 36.
Durante el funcionamiento, la estación de transmisión 14 puede recibir programación de video y audio desde una serie de fuentes, incluyendo satélites, fibras ópticas terrestres, cable o cinta. Preferentemente, las señales de programación recibidas, junto con señales de datos, tales como datos de programación electrónica y datos de acceso condicional, son enviados al sistema 26 de codificación de video/audio/datos, donde son codificados digitalmente y son multiplexados en 50 un flujo de datos empaquetado, usando una serie de algoritmos convencionales, incluyendo compresión y corrección de errores en códigos convolucionales. En una manera convencional, el flujo de datos codificados es modulado y enviado a través de un convertidor 28 de frecuencia de enlace ascendente, que convierte el flujo de datos codificados modulados a una banda de frecuencias adecuada para la recepción por el satélite 16. Preferentemente, la frecuencia de satélite es la banda Ku. A continuación, el flujo de datos codificados, modulados es direccionado desde el convertidor 28 de frecuencia de enlace ascendente a una antena 30 de satélite de enlace ascendente, donde es difundido hacia el satélite 16. El satélite 16 recibe el flujo de datos codificado, modulado, en la banda Ku y lo re-difunde hacia abajo hacia una zona en la Tierra que incluye las diversas estaciones receptoras 20. El LNB 50 de la antena 34 de satélite de la estación receptora 20 cambia la señal de la banda Ku a una señal de la banda L, que es transmitida a la unidad receptora 36. 5
La Fig. 2 es un diagrama de bloques más detallado de una parte de la unidad receptora 36, mostrada en la Fig. 1. La circuitería de la parte cliente de la unidad receptora 36 recibe las señales RF de la banda L desde el LNB 50 y los convierte de nuevo al flujo de datos digital original. La circuitería de decodificación recibe el flujo de datos original y realiza operaciones de procesamiento de vídeo/audio, tales como demultiplexación y descompresión. Un microprocesador o CPU 58 controla la operación global de la unidad receptora 36, incluyendo la selección de 10 parámetros, la configuración y el control de los componentes, la selección de canal, y muchas otras funciones. El microprocesador 58 controla cómo son procesados (por ejemplo, almacenados, visualizados) los objetos digitales (por ejemplo, texto, gráficos).
Preferentemente, cada objeto incluye una cabecera de objeto y un cuerpo de objeto. La cabecera de objeto identifica el tipo de objeto, el ID de objeto y el número de versión del objeto. El tipo de objeto identifica el tipo del objeto. Los 15 diversos tipos de objetos se exponen más adelante. El ID de objeto identifica, de manera única, el objeto particular de entre otros objetos del mismo tipo. El número de versión de un objeto identifica, de manera única, el objeto de entre otros objetos del mismo tipo e ID de objeto. El cuerpo de objeto puede incluir datos para construir una parte de una guía de programación que es visualizada finalmente en una televisión 38 de un usuario, y es usado también para parámetros de definición de canal. 20
Los objetos que son usados para proporcionar parámetros de definición de canal pueden incluir objetos de arranque, objetos lista de canales, objetos canal y objetos condicionales. Otros objetos, tales como objetos HTML (Lenguaje de Marcas de Hiper Texto) son usados para proporcionar contenido de canal. Todavía otros objetos adicionales, tales como objetos programa general, objetos planificación de programación y objetos programación máster son usados por la IRD 36 para generar una visualización de una guía de programación en una televisión 38 de un usuario. 25
Un objeto de arranque identifica el número o los números de identificación de canal de servicio (SCIDs) donde todos los demás objetos pueden ser encontrados. Un objeto de arranque es transmitido siempre en el mismo canal, lo que significa que cada paquete de datos que forma parte de un objeto de arranque está marcado con el mismo número SCID. Los objetos de arranque son transmitidos de manera frecuente para asegurar que las IRDs 36 que han estado apagadas, y que se encienden de nuevo, reciban rápidamente información que indica la localización de los diversos 30 objetos de guía de programación.
Cada objeto de arranque incluye descriptores de frecuencia que definen tablas de frecuencias. Una tabla de frecuencias contiene frecuencias y para cada frecuencia contiene un índice de frecuencia correspondiente. Cada tabla de frecuencias contiene frecuencias e índices de frecuencias correspondientes para una única red. Una red es una agrupación de todos los canales de una fuente común, tal como todos los canales vía satélite. Otras redes incluyen 35 todos los canales NTSC o todos los canales ATSC. De esta manera, cada frecuencia de canal está representada por un número de índice de frecuencia particular.
Un objeto lista de canales contiene una lista de todos los objetos canal en una red. Para cada objeto canal en la lista de objetos canal, el objeto lista de canales incluye un ID de objeto canal para ese objeto canal. Cada objeto canal está identificado de manera única por su ID de objeto canal. 40
Cada objeto canal incluye múltiples campos o descriptores que proporcionan información acerca de un canal particular. Por ejemplo, cada objeto canal puede incluir campos para un “nombre”, un “indicador de logo” y un “índice de logo”. Cada descriptor en un objeto canal incluye un ID de tipo de descriptor que indica el tipo del descriptor. Por ejemplo, los tipos de descriptor pueden incluir descriptores “acerca de”, descriptores “categoría”, descriptores “reservado” y descriptores “contenido de canal”. El descriptor “acerca de” proporciona una descripción del canal. Cuando no hay un 45 descriptor “acerca de”, la descripción es un mensaje por defecto, tal como “No hay información disponible”. El descriptor “categoría” proporciona una clasificación por categorías para el canal. Puede aparecer más de un descriptor “categoría” en el objeto canal si el canal está incluido dentro de más de una categoría. Los descriptores “reservado” se reservan para mejoras futuras del sistema.
Cada objeto canal incluye un campo “definición de canal” de longitud variable. El campo definición de canal define la 50 composición del canal, y es usado más tarde por las IRDs 36 para reconstruir los componentes del canal (por ejemplo, audio, video y datos). El campo definición de canal puede incluir una pluralidad de sub-campos y lógica condicional que consiste preferentemente en múltiples sentencias “if-then”. Otras entradas pueden estar incluidas en la tabla de composición de canal, tal como una preferencia de lenguaje. Los canales pueden comprender ATSC, NTSC, HTML y/u otros contenidos. 55
Además de definir los canales como canales ATSC, canales NTSC, etc, el contenido de canal puede ser definido también de manera explícita. Para los canales que son definidos de manera explícita, se usan preferentemente los siguientes parámetros de definición de canal: parámetro tipo de servicio, parámetro número de canal o transpondedor y parámetro número de programa o SCID. El parámetro tipo de servicio indica un tipo de servicio, tal como un tipo de audio (por ejemplo, Dolby Digital AC3), un tipo de video (por ejemplo, DAVID), un tipo de anal (por ejemplo, NTSC o ATSC) o un tipo de datos (por ejemplo, datos de alta velocidad). El parámetro transpondedor o número de canal identifica o bien un índice en una tabla de frecuencias para una red DIRECTV o bien un número de canal para una red ATSC o una red NTSC. El parámetro SCID o número de programa identifica un SCID para una red DIRECTV o un 5 número de programa para una red ATSC.
Los objetos canal pueden incluir también un descriptor de contenido de canal. Los descriptores de contenido de canal proporcionan definiciones adicionales del canal. Los descriptores de contenido de canal usan lógica condicional, tal como sentencias “if-then”, para comprobar varias condiciones. Un conjunto de sentencias “if-then” pueden ser asociadas con cada definición de canal. Si la condición o las condiciones en una sentencia se satisfacen, la definición de canal 10 asociada con esa sentencia “if-then” es usada para definir el contenido del canal.
Otro tipo de objeto es un objeto condicional. Un objeto condicional contiene un objeto que está precedido por una expresión condicional. Si la expresión se evalúa a “TRUE”, el objeto incluido es válido y es procesado de manera correspondiente. Si la expresión se evalúa a “FALSE”, el objeto incluido es ignorado. Un objeto condicional puede contener múltiples expresiones condicionales, de manera que sea procesado solo si todas las expresiones 15 condicionales se evalúan a “TRUE”.
Volviendo a la Fig. 2, la IRD 36 ilustrada incluye un sintonizador 52, un demodulador 54, un decodificador FEC 56, un micro-controlador 58, un circuito 60 de transporte, un demultiplexador 62 de canales, un circuito 64 de desencriptación, un interfaz 66 de tarjeta de acceso, un lector 68 de tarjeta de acceso, una RAM 70 de sistema, un circuito 72 decodificador de audio/video que tiene una memoria de acceso aleatorio (RAM) 74, un decodificador 76 de audio, un 20 decodificador 78 de video, un circuito 80 conversor de digital a analógico de audio, un codificador 82 NTSC (o diferente), controladores 84 de salidas, una conexión 86 de módem, una inferfaz 88 de usuario con panel frontal, y una fuente 90 de alimentación, acoplados conjuntamente, tal como se ilustra. También hay provisto un generador 92 de señal de reloj de 27 MHz. El generador 92 de reloj genera una señal de reloj que está acoplada al circuito 72 decodificador de audio/video y que es calibrada en frecuencia por una señal recibida desde el circuito 60 de transporte, tal como se 25 muestra.
El transporte 60 recibe el flujo de transporte de paquetes de datos digitalizados que contienen video, audio, datos, información de programación y otros datos. La información de paquete digital contiene cabeceras identificativas como parte de sus datos de cabecera. Bajo el control del microprocesador 58, el demultiplexador 62 de canales filtra los paquetes que no son de interés actualmente, y direcciona los paquetes de datos que son de interés a través del circuito 30 64 de desencriptación y, en el caso de algunos paquetes, también a través de los circuitos 66, 68 de control de acceso hasta su destino apropiado aguas abajo. El circuito 64 de desencriptación proporciona la desencriptación para los paquetes de datos que han sido encriptados. Los circuitos 66, 68 de control de acceso proporcionan control de acceso mediante cualquier medio convencional. Por ejemplo, el control de acceso puede conseguirse requiriendo que un paquete de datos tenga un código de autorización apropiado para ser pasado al desencriptador 64 y/o al decodificador 35 78 de video. El lector 68 de tarjetas de acceso puede interaccionar con una tarjeta de acceso (no mostrada) que recibirá el código de autorización de paquete, determinar su validez, y generar un código que confirme al transporte 60 que el paquete de datos en cuestión está autorizado.
Según se reciben los datos de guía de programación y se almacenan en la memoria 70, el microprocesador 58 realiza varias operaciones sobre los datos en preparación para la visualización de una guía de programación y/u otro contenido 40 en la televisión 38. Estas operaciones incluyen ensamblado del paquete, ensamblado del objeto y procesamiento del objeto. Durante la operación de ensamblado del paquete, el microprocesador 58 examina los datos de la guía de programación almacenados y determina las localizaciones de los límites del paquete.
Durante el ensamblado del objeto, el microprocesador 58 combina los paquetes para crear tramas de objeto y, a continuación, combina las tramas de objeto para crear los objetos de guía de programación. El microprocesador 58 45 examina la suma de control (“checksum”) transmitida dentro de cada trama de objeto, y verifica si los datos de la trama han sido recibidos correctamente o no. Si la trama de objeto no ha sido recibida correctamente, es descartada de la memoria 70. También durante la etapa de ensamblado del objeto, la IRD 36 descarta los objetos ensamblados que son de un tipo de objeto que la IRD 36 no reconoce. Para conseguir esto, cada IRD 36 mantiene una lista de tipos de objetos conocidos en la memoria 70. El microprocesador 58 examina la cabecera del objeto de cada objeto recibido 50 para determinar el tipo de objeto. A continuación, el microprocesador 58 compara el tipo de objeto de cada objeto recibido con la lista de tipos de objetos conocidos almacenada en la memoria 70. Si el tipo de objeto de un objeto no se encuentra en la lista de tipos de objetos conocidos, el objeto es descartado de la memoria 70.
Durante la etapa de procesamiento de objeto, los objetos almacenados en la base de datos de guía son combinados para crear una imagen digital de una guía de programación. La imagen digital de la guía de programación es convertida 55 más tarde a una señal analógica que es enviada a la televisión 38 para ser mostrada a un usuario.
Un ejemplo de una guía electrónica de programación se ilustra en la Fig. 3. Típicamente, los canales 100 se exponen, por ejemplo verticalmente en orden numérico y los tiempos 102 se exponen horizontalmente en orden cronológico. Los cuadros 104 de la malla en el cuerpo de la guía de programación se rellenan preferentemente con texto y/o gráficos que representan programas de televisión y/u otras programaciones disponibles en el tiempo asociado en el canal asociado. Las guías de programación pueden incluir también botones de categoría, botones de desplazamiento, botones de salto, etc.
Cuando un objeto condicional es recibido y es almacenado en la memoria 70, el microprocesador 58 evalúa la expresión o las expresiones condicionales contenidas en el objeto condicional y procesa los datos en el objeto condicional solo si 5 las expresiones condicionales se evalúan a “TRUE”. Un ejemplo de una expresión condicional semejante es “Si el número de modelo de receptor almacenado en la memoria 70 es 999999, entonces procesa los datos en el objeto condicional”. El microprocesador 58 evalúa esta expresión comparando el número de modelo de receptor almacenado en la tabla de parámetros de la memoria 70, y procesa los datos en el objeto condicional solo si el número de modelo de receptor es “999999”. De manera similar, los objetos condicionales pueden ser limitados a su uso por receptores solo en 10 determinados códigos de zona o códigos postales.
En la Fig. 4 se ilustra un diagrama de flujo de un programa que puede ser implementado por la unidad receptora local (IRD) 36 para almacenar de manera condicional objetos digitales. Las etapas programadas pueden ser realizadas por un circuito de control, tal como un microprocesador 58. Una vez iniciado el programa (por ejemplo, un objeto digital ha sido recibido) el circuito de control recupera preferentemente un objeto desde un cola de objetos almacenados en la 15 memoria 74 (bloque 110).
Los objetos digitales pueden ser direccionados a una IRD 36 particular (por ejemplo, por medio de un ID de región geográfica, un número IRD, un número CAM, un número de cuenta de cliente, etc). Como alternativa, los objetos digitales pueden ser direccionados a una IRD 36 particular mediante una dimensión espacio temporal, en la que el objeto es direccionado a una IRD 36 durante la cantidad de cobertura temporal para la cual una IRD 36 tiene interés. 20 Por consiguiente, puede haber dos dimensiones para el direccionamiento de un objeto digital (por ejemplo, región geográfica y tiempo).
Los objetos condicionales (incluyendo elementos condicionales de otros objetos digitales) introducen una tercera dimensión, que es una expresión computacional que incluye una o más variables asociadas con el estado de la IRD 36. Por ejemplo, una variable puede incluir la cantidad, el tipo o el modelo de hardware y/o software de la IRD, las 25 configuraciones del CAM de la IRD y/o las preferencias del usuario. La configuración de hardware y/o software de la IRD puede implicar el modelo de la IRD 36, la cantidad de RAM física instalada en la IRD 36, bien por la fábrica o por el usuario, la cantidad de RAM disponible, si el software de la IRD soporta gráficos, HTML, Java y otras prestaciones, y si hay un co-procesador gráfico o matemático.
Tras la recepción de un objeto digital, el circuito de control examina el objeto digital para determinar si es un objeto 30 condicional (bloque 112). Por ejemplo, la información de cabecera puede ser indicativa de un tipo de objeto predeterminado. Un objeto condicional es un objeto empaquetado en un protocolo que contiene una regla. Si el objeto digital no es un objeto condicional, el circuito de control examina el objeto digital para determinar si es un objeto agrupación (bloque 114). Un objeto agrupación es una pluralidad de objetos integrados empaquetados en un protocolo de objeto agrupación. 35
Si el objeto digital es un objeto agrupación, éste es separado en los objetos integrados individuales que contiene (bloque 116). Esto se consigue retirando el empaquetado según su protocolo predefinido. Una vez separados los objetos individuales, unos de los otros y del empaquetado del objeto agrupación, cada uno de los objetos individuales es colocado al frente de la cola de objetos (bloque 118) y, a continuación, se repite la operación (bloque 110). Si el objeto digital no es un objeto agrupación (o un objeto condicional), éste es manipulado de alguna manera consistente con ese 40 tipo de objeto (por ejemplo, es almacenado en la memoria 74) (bloque 120). Subsiguientemente, el procedimiento puede repetirse (bloque 110).
Si el objeto digital es un objeto condicional, éste es separado de manera lógica en un objeto integrado y una regla asociada con el objeto integrado (bloque 122). Subsiguientemente, la regla es evaluada (bloque 124). Preferentemente, las reglas incluyen un lenguaje ejecutable por máquina, tal como un lenguaje de programación interpretado o un 45 lenguaje máquina nativo. Por ejemplo, las reglas pueden incluir operadores lógicos, tales como NOT, AND, OR, XOR, etc. Además, las reglas pueden incluir operadores matemáticos, tales como PLUS, MINUS, MULTIPLY, DIVIDE, etc. Adicionalmente, las reglas pueden incluir operadores de comparación, tales como LESS_THAN, GREATER_THAN, EQUAL_TO, etc. Adicionalmente, las reglas pueden incluir operadores de control de flujo, tales como FOR, NEXT, UNTIL, etc. Además, las reglas pueden incluir operadores de nivel más alto para comprobar los estados de la IRD, tales 50 como “Si es modo HDTV”, “Si relación de aspecto es 16x9”, “Si autorizado”, “Error en comparación de autorización”, “Comparar fabricante de IRD”, “Comparar modelo de IRD”, “Comparar el tiempo local”, “Comparar el tiempo UTC”, etc. Pueden comprobarse escenarios complejos. Por ejemplo, una regla podría declarar “Si eres una IRD de Sony fabricada antes de la fecha 1/1/98 con < 1 MB de RAM, entonces no salves este objeto”.
Si la regla integrada es evaluada a “FALSE”, entonces el objeto puede ser descartado para conservar la memoria 74 55 (bloque 128), y el procedimiento puede repetirse (bloque 110). Por ejemplo, si el objeto integrado representa un componente en una pantalla de ayuda para IRDs 36 fabricadas por A, pero esta IRD 36 fue fabricada por B, entonces una regla podría comprobar dicha condición y descartar el objeto para conservar la memoria 74. Sin embargo, si la regla integrada es evaluada a “TRUE”, el objeto integrado es almacenado preferentemente añadiéndolo al frente de la cola (bloque 126).
En la Fig. 5 se ilustra un diagrama de flujo que puede ser implementado por la unidad receptora local (IRD) 36 para visualizar de manera condicional o procesar los objetos guía de programación. De nuevo, las etapas programadas pueden ser realizadas por un circuito de control, tal como un microprocesador 58. Una vez iniciado el programa (por ejemplo, se recibe un comando para visualizar la guía de programación) el circuito de control recupera preferentemente 5 un objeto guía de programa de la memoria 74 (bloque 130).
A continuación, el circuito de control examina el objeto guía de programación para determinar si éste es un objeto condicional o si tiene un elemento condicional (bloque 132). Como anteriormente, la información de cabecera puede ser indicativa de un tipo de objeto predeterminado. Por ejemplo, una cabecera puede indicar que un objeto particular es un objeto condicional, o una cabecera puede indicar que el objeto asociado contiene uno o más elementos condicionales. 10 Un objeto condicional es un objeto empaquetado en un protocolo que contiene una regla lógica. Un elemento condicional es una parte de un objeto digital en el que la parte objeto está empaquetada en un protocolo que contiene un regla lógica. Si el objeto guía de programación no es un objeto condicional, el circuito de control lo incluye preferentemente en la guía de programación por defecto y/o comprueba otras condiciones, tales como privilegios de acceso (bloque 134). 15
Si el objeto digital contiene un objeto condicional o un elemento condicional, ese objeto o elemento es separado de manera lógica en un objeto o elemento integrado y una regla asociada a ese objeto o elemento integrado (bloque 136). Subsiguientemente, la regla es evaluada (bloque 138). Tal como se ha indicado en detalle anteriormente, las reglas comprenden preferentemente un lenguaje, tal como un lenguaje de programación interpretado o un lenguaje máquina nativo. Si la regla integrada es evaluada a “FALSE”, entonces el objeto no es visualizado o procesado en la guía de 20 programación en ese momento. Subsiguientemente, el circuito de control espera a una señal para una nueva evaluación y/o una actualización de una o más variables incluidas en la regla (bloque 140) y entonces vuelve a evaluar de nuevo la regla (bloque 138). Por ejemplo, la regla podría comprobar si el usuario tiene o no permiso para una paquete de película o de deportes particular, y, si no, detiene la visualización de los datos de guía de programación asociados a esos paquetes de programación opcionales hasta que el usuario tenga permiso. Sin embargo, si la regla integrada se evalúa 25 a “TRUE”, el elemento o el objeto guía de programación integrado es procesado o visualizado adicionalmente en la guía de programación (bloque 134) antes de salir del programa.
A diferencia de los objetos condicionales en general, cuya regla o reglas se evalúan una vez a la llegada del objeto a la IRD 36, la guía condicional y las reglas de contenido de canal se evalúan cuando se actualiza cualquier variable en la regla, tal como se ha indicado anteriormente. Esto incluye, pero no se limita a, el estado de CAM, la validez de 30 desencriptación de video y/o la preferencia del usuario. El estado CAM incluye valores de bit regionales, paquetes de canales subscritos, etc. La validez de la desencriptación de video incluye si el canal puede ser desencriptado exitosamente por la IRD 36, que es una función de los paquetes autorizados del CAM, así como la clave de encriptación usada por el emisor y/o las regiones restringidas especificadas en el procedimiento de encriptación. Las preferencias de usuario incluyen elecciones realizadas por el usuario, tales como una lista de canales excluidos o favoritos, géneros 35 favoritos de películas, actores favoritos, límite de bloqueo por clasificación, etc.
Cuando la visualización de la guía incluye objetos de programación condicionales, el visualizador de la IRD 36 puede incluir solo aquellos canales y objetos de programación con reglas que se evalúan a “TRUE”. Tras un cambio en cualquier variable empleada por esos objetos condicionales en el visualizador de la guía actual, las reglas deben ser evaluadas de nuevo y el visualizador debe ser actualizado de nuevo para reflejar solo aquellos canales y/o programas 40 que se evalúan a “TRUE”.
Cuando un canal con contenido condicional está siendo decodificado activamente, se aplica el mismo concepto. Tras sintonizar un canal con contenido condicional, la IRD 36 evalúa las reglas para determinar el contenido de prioridad más alta con una regla de contenido que se evalúa a “TRUE”. Cuando dos o más reglas se evalúan a “TRUE”, el contenido que tiene la prioridad más alta es procesado realmente. La prioridad se representa preferentemente en una lista 45 ordenada simple, de manera que se usa el contenido asociado con la primera regla que evalúa a “TRUE” y la evaluación de la regla puede detenerse. Una vez que las variables usadas en las reglas de contenido cambian, las reglas de contenido son evaluadas de nuevo hasta que se encuentra una regla que sea “TRUE”. Preferentemente, solo las variables usadas por el contenido seleccionado en cada momento y las de las reglas de contenido de prioridad más alta son usadas para desencadenar una re-evaluación de las expresiones de contenido. 50
En la Fig. 6 se ilustra un diagrama de bloques que ilustra una realización de un procedimiento para supervisar cambios de estado de variables, con el fin de desencadenar dicha re-evaluación de una regla o unas reglas. Primero, se compone una lista de variables a supervisar (bloque 142). Por ejemplo, todas las variables o todas las variables de un tipo determinado pueden ser listadas en una estructura de datos en la memoria. Subsiguientemente, la lista de variables es interrogada para determinar si cualquiera de las variables ha cambiado de estado (bloque 144). Con el fin de realizar 55 dicha determinación, el estado actual (bloque 146) y el estado previo (bloque 148) de cada variable son proporcionados a un bloque de decisión (bloque 147). El bloque de decisión 147 compara el valor actual (o potencialmente nuevo) con el valor previo (o potencialmente viejo). Si los valores son iguales, no se realiza ninguna acción y se interroga la siguiente variable en la lista. Si los valores son diferentes, el nuevo valor es almacenado por el bloque 148 y se emite una señal para re-evaluar la regla o las reglas. Subsiguientemente, cualquier actualización en el objeto condicional y/o 60 las reglas inicia una re-evaluación en el bloque 142.
En la Fig. 7 se ilustra un diagrama de flujo de un programa que puede ser implementado por la unidad receptora local (IRD) 36 para mostrar de manera condicional un contenido asociado a un canal. De nuevo, las etapas programadas pueden ser realizadas por un circuito de control, tal como un microprocesador 58. Una vez iniciado el programa (por ejemplo, se recibe un comando para visualizar un canal particular) el circuito de control recupera preferentemente un 5 objeto de contenido de canal asociado con el canal actual desde la memoria 74 (bloque 150).
A continuación, el circuito de control examina el objeto de contenido de canal para determinar si éste es un objeto condicional (bloque 152). Como anteriormente, la información de cabecera puede ser indicativa de un tipo de objeto predeterminado. Por ejemplo, una cabecera puede indicar que un objeto particular es un objeto condicional. Si el objeto de contenido de canal no es un objeto condicional, el circuito de control sintoniza preferentemente el receptor a una 10 fuente de video y/o audio predeterminada por defecto y/o comprueba otras condiciones, tales como privilegios de acceso y muestra una pantalla de visualización, por ejemplo, una visualización en pantalla (OSD). La OSD comprende típicamente un mensaje de texto (bloque 154).
Si el objeto de contenido de canal es un objeto condicional, éste es separado de manera lógica en un objeto integrado y una regla asociada con el objeto integrado (bloque 156). Subsiguientemente, la regla es evaluada (bloque 158). Tal 15 como se ha indicado anteriormente, las reglas comprenden preferentemente un lenguaje, tal como un lenguaje de programación interpretado o un lenguaje máquina nativo. Preferentemente, la regla está configurada para comprobar una o más condiciones y para desencadenar una salida (por ejemplo, una serie de sentencias de tipo IF-THEN-ELSE). Por consiguiente, se compone una visualización en base a la expresión o a las expresiones de salida desencadenadas (bloque 160). Por ejemplo, un evento de pago por visión particular puede ser bloqueado hasta que la concurrencia en el 20 estadio alcance un determinado umbral. Las reglas asociadas con ese canal podrían visualizar una serie de gráficos que representen el progreso hacia ese umbral, seguido por el vídeo/audio si el umbral se ha pasado. Subsiguientemente, el circuito de control espera a una señal para evaluar de nuevo la regla, una actualización de una o más reglas y/o una actualización de una o más variables incluidas en la regla (bloque 162) y, a continuación, vuelve al bloque 152.
Se expondrá una aplicación de objetos condicionales con referencia a la Fig. 8 y a la Fig. 9. Para esta aplicación, se 25 supone que un primer usuario está subscrito a HBO y recibe la programación de HBO en el canal 910, y que un segundo usuario no está subscrito a HBO. Si el primer usuario sintoniza el canal 910, se mostrará la programación de HBO al usuario. Por el contrario, si el segundo usuario sintoniza el canal 910, se mostrará al usuario una pantalla similar a la pantalla 200 mostrada en la Fig. 8. La pantalla 200 es una pantalla genérica que está almacenada típicamente en la IRD 36 y es mostrada siempre que el usuario sintoniza un canal que no forma parte de la suscripción del usuario. En 30 vez de proporcionar pantallas genéricas, tales como la pantalla 200, pueden usarse definiciones de canales condicionales para proporcionar un contenido de televisión más elaborado que esté más enfocado a los usuarios individuales y sus subscripciones.
La Fig. 9 muestra un ejemplo de una pantalla generada usando una definición de canal condicional. Usando el ejemplo anterior, cuando el segundo usuario sintoniza el canal 910, en vez de mostrar un mensaje “Subscríbase, por favor”, se 35 muestra al usuario la pantalla 202, que consiste en una publicidad de HBO, que incluye imágenes o videos de películas que se están mostrando en la actualidad o que se mostrarán en el futuro cercano. A diferencia del mensaje genérico de la pantalla 200, el contenido de canal mostrado en la pantalla 202 está dirigido específicamente a información de HBO. También, el contenido puede variarse según las subscripciones del usuario. Por ejemplo, si el segundo usuario está subscrito a Showtime pero no a HBO, la publicidad mostrada al segundo usuario podría promocionar una oferta de 40 paquete con precio reducido de HBO y Showtime. De esta manera, el contenido de canal es condicional y puede ser variado según la información de suscripción.
Además de variar el contenido de canal en base a la información de suscripción, el contenido de canal puede variarse según las características del receptor y/o los hábitos de visionado del pasado. Por ejemplo, una página web con publicidad e hipervínculos a información adicional acerca de HBO podría ser mostrada si el receptor incluye la 45 capacidad de generar páginas web. En otro ejemplo, la publicidad podría variarse en base a los tipos de programas favoritos de un usuario. Otras características del receptor que pueden usarse en la variación del contenido de televisión incluyen el número de modelo del receptor, la cantidad de memoria disponible en el receptor, restricciones por clasificación y otras restricciones de contenido que han sido introducidas por un usuario, preferencias de visualización que han sido introducidas por un usuario (por ejemplo, la longitud de los títulos de las películas o los nombres de los 50 actores, el lenguaje en el que se muestra el texto, etc) y la localización geográfica del receptor.
El contenido condicional ilustrado en la Fig. 9 se consigue usando las técnicas descritas anteriormente. El objeto canal para el canal 910, o el canal HBO, incluirá múltiples definiciones de canal con lógica condicional asociada con las definiciones de canal. Cuando un usuario sintoniza el canal 910, el microprocesador 58 evalúa la lógica condicional asociada con las definiciones de canal para el canal 910 e identifica la definición de canal apropiada. Si la lógica 55 condicional se basa en información de suscripción (por ejemplo, “Si el usuario no está subscrito a HBO, usar el contenido de publicidad de HBO” o “Si el usuario no está subscrito a HBO pero está subscrito a Showtime, usar el contenido de publicidad de oferta de paquete HBO + Showtime”), el microprocesador 58 examina la memoria 70, que mantiene la información de suscripción, para evaluar las expresiones condicionales. De manera similar, si la lógica condicional está basada en características de la IRD 36 o de los hábitos de visionado del pasado, el microprocesador 58 60 examina la memoria 70, que mantiene información relacionada con las características del receptor y los hábitos de visionado del pasado de un cliente, para evaluar las expresiones condicionales.
Además de variar el contenido del canal de televisión en base a la información de suscripción, las características del receptor y los hábitos de visionado del pasado, el contenido de los canales de televisión puede variarse también con el tiempo. Por ejemplo, supóngase que un sistema de emisión de televisión usa un canal de ofertas comerciales que 5 publicita las diversas ofertas de canales de televisión para el sistema. Usando las técnicas de la presente invención, el contenido del canal de ofertas comerciales puede variarse para mostrar el contenido de múltiples canales en puntos diferentes en el tiempo. A modo de ejemplo más específico, el canal de ofertas comerciales podría mostrar el contenido de un canal HBO durante 1 primera hora, el contenido de un canal Showtime durante una segunda hora y el contenido de The Movie Channel durante una tercera hora. De esta manera, el identificador de canal (por ejemplo, canal 360) 10 permanece siendo el mismo y la definición de canal varía cada cierto tiempo.
En vez de transmitir las señales de audio y video para cada uno de estos canales múltiples veces (por ejemplo, uno para el propio canal particular y uno para el canal de ofertas comerciales), los parámetros de canal para el canal de ofertas comerciales son variados y se hacen coincidir con los del canal HBO para la primera hora, con los del canal Showtime durante la segunda hora, etc. Por lo tanto, las señales de audio y video para el canal seleccionado están 15 asociadas tanto al propio canal como al canal de ofertas comerciales. Los parámetros de canal para el canal de ofertas comerciales son variados mediante el uso de múltiples definiciones de canal y lógica condicional. La lógica condicional está basada en el tiempo actual en la localización de la IRD 36. Como ilustración, la lógica condicional sería parecida a la siguiente: “Si el tiempo actual es entre las 7:00 p.m. y las 8:00 p.m., usa los mismos parámetros de canal que el canal HBO”. Comprobaciones condicionales similares serían usadas para tiempos posteriores y para otros canales. El 20 microprocesador 58 compara los tiempos en las comprobaciones condicionales con el tiempo local actual, y determina qué condición se satisface y, correspondientemente, qué definición de canal usar.
La lógica condicional asociada con una definición de canal particular puede incluir múltiples comprobaciones condicionales. Por ejemplo, la lógica condicional puede incluir comprobaciones relacionadas con el tiempo actual y la información de subscripción de un usuario. Entonces, los parámetros de canal se variarían para permitir que múltiples 25 clases de espectadores vean el mismo contenido de canal durante un corto periodo de tiempo, sin enviar el contenido múltiples veces. Para ilustrar esta técnica, supóngase que HBO ofrece un pase de un programa, tal como un combate de boxeo profesional, para usuarios comerciales que re-venden el contenido del canal a otros. Los subscriptores residenciales a HBO obtienen acceso al combate de boxeo como parte de su subscripción. Suponiendo que el canal de los usuarios comerciales es el canal 800, suponiendo que el canal HBO de los subscriptores residenciales es el 910, y 30 suponiendo que el combate de boxeo está programado para tener lugar entre las 7 p.m. y las 10 p.m., los parámetros del canal 800 se cambiarían a las 7 p.m. para coincidir con los del canal 910. A las 10 p.m., los parámetros se cambiarían de nuevo a su valor anterior. Por lo tanto, el objeto canal asociado con el canal 800 incluiría lógica condicional que comprueba si el suscriptor es un suscriptor comercial y comprueba si el tiempo es entre las 7 p.m. y las 10 p.m. Si se cumplen ambas comprobaciones, se usan los parámetros para el canal 910. Si no se cumple cualquiera 35 de las comprobaciones, se usan los parámetros normales para el canal 800.
El ciclo de pago por visión es otro ejemplo de una aplicación que puede hacer uso de las técnicas de canal condicional de la presente invención. El ciclo de pago por visión se refiere a las etapas que recorre un canal de pago por visión particular en varios puntos en el tiempo. Los eventos de pago por visión, tales como películas o combates de boxeo, se dividen típicamente en seis etapas, aunque el número de etapas puede variarse según el tipo de evento de pago por 40 visión y la implementación del sistema. Las seis etapas de un evento de pago por visión típico se muestran en la Fig. 10.
La primera etapa de un ciclo de pago por visión, que se representa mediante el bloque 230, es una etapa de promoción. Durante la etapa de promoción, se muestran puntos culminantes del evento de pago por visión. También pueden mostrarse los puntos culminantes de los eventos de pago por visión en otros canales. La etapa de promoción empieza típicamente varios días antes de la fecha en la que el evento de pago por visión está programado para empezar. 45 Durante la etapa de promoción, no puede comprarse el evento de pago por visión. Todos los usuarios pueden ver el contenido del canal durante la etapa de promoción.
La segunda etapa (bloque 232) se denomina la oferta. Durante la etapa de oferta, se muestra el mismo material promocional que en la etapa de promoción, pero se permite a los usuarios comprar el evento de pago por visión durante la etapa de oferta. La etapa de oferta empieza típicamente un día antes de la fecha en la que el evento de pago por 50 visión está programado para empezar. Todos los usuarios pueden ver el contenido del canal durante la etapa de oferta.
La tercera etapa (bloque 234) se denomina pase prepartido. Durante la etapa de pase prepartido, se muestra de nuevo material promocional, pero el contenido del material promocional es típicamente diferente del material promocional mostrado durante las dos primeras etapas. La etapa de pase prepartido empieza típicamente una hora antes de la hora programada para el inicio. Los usuarios pueden comprar el evento de pago por visión durante el pase prepartido. Todos 55 los usuarios pueden ver el contenido del canal durante la etapa de pase prepartido.
La cuarta etapa (bloque 236) se denomina la etapa de periodo libre inicial. El periodo libre inicial marca el inicio del evento de pago por visión. El periodo libre inicial empieza cuando empieza el evento de pago por visión y dura típicamente aproximadamente cinco minutos. Durante el periodo libre inicial, los usuarios todavía pueden comprar el evento de pago por visión. Todos los usuarios pueden ver el evento de pago por visión durante el periodo libre inicial.
La quinta etapa (bloque 238) es la etapa de evento. Durante la etapa de evento, solo aquellos usuarios que han comprado el evento de pago por visión pueden ver el evento. A los usuarios que no han comprado el evento se les mostrará o viene una pantalla negra o bien una pantalla promocional. Durante la etapa de evento, todavía puede comprarse el evento de pago por visión. La etapa de evento dura típicamente desde el final del periodo libre inicial hasta 5 aproximadamente 30 minutos del inicio del evento.
La sexta etapa (bloque 240) es la etapa secundaria de evento. Durante la etapa secundaria de evento, solo aquellos usuarios que han comprado el evento de pago por visión pueden ver el evento. A los usuarios que no han comprado el evento se les mostrará o bien una pantalla en negro o bien una pantalla promocional. Durante la etapa secundaria de evento, ya no puede comprarse el evento de pago por visión. La etapa secundaria de evento dura típicamente desde el 10 final de la etapa de evento hasta el final del evento. Al final del evento, el ciclo vuelve a empezar y empieza la etapa de promoción para el siguiente evento de pago por visión.
Un objeto canal para un canal de pago por visión incluye al menos una definición de canal para cada una de las seis etapas mostradas en la Fig. 10. Cada una de las definiciones de canal está asociada con una comprobación condicional que compara el tiempo programado del evento con el tiempo actual en el receptor (por ejemplo, “Si la diferencia entre el 15 tiempo programado del evento y el tiempo actual en el receptor es mayor de un día, usa la definición de canal para la primera etapa – bloque 230). Para las etapas quinta y sexta del ciclo de pago por visión (bloques 238 y 240), el objeto canal incluye dos definiciones de canal para cada etapa. Una definición de canal define el contenido de canal para los usuarios que han comprado el evento, y la otra definición de canal define el contenido de canal para los usuarios que no han comprado el evento. Entonces, para las etapas quinta y sexta, además de usar una comprobación condicional para 20 comparar el tiempo programado del evento con el tiempo actual e identificar la etapa actual, se usa otra comprobación condicional para identificar si el usuario ha comprado o no el evento.
Cuando la IRD 36 recibe un objeto canal para un canal de pago por visión, la IRD 36 almacena el objeto canal en la memoria 70. A continuación, el microprocesador 58 puede evaluar periódicamente las comprobaciones condicionales contenidas en los objetos de canal de pago por visión e identifica la definición de canal apropiada para el tiempo actual. 25 Un usuario compra un evento de pago por visión particular usando el control remoto 86. La elección del usuario es recibida por el receptor 84 de IR, es trasferida al circuito lógico 80 y, a continuación, es almacenada en la memoria 78. Además del título del programa comprado, la memoria 78 puede almacenar información adicional acerca de los programas comprados, tales como el tiempo de inicio y el tiempo final del evento, y el precio. El receptor 64 llama periódicamente a la estación 26 de transmisión y descarga información de compra de pago por visión. La información de 30 compra de pago por visión es sacada a través del interfaz 82, que está acoplado a una línea telefónica.
La presente invención proporciona también la transmisión, la recepción y la visualización de mensajes condicionales. Los mensajes condicionales son difundidos a todos los receptores, y solo los receptores que satisfacen ciertas condiciones muestran el mensaje a los usuarios. Como con el contenido de canal condicional, cada receptor evalúa las expresiones condicionales asociadas con los mensajes e identifica los mensajes que son apropiados para ser 35 mostrados. El mensaje condicional se superpone sobre el contenido del canal que está siendo visualizado por un usuario. Los mensajes condicionales son transmitidos como un objeto condicional que incluye el texto del mensaje y la lógica condicional. Los objetos condicionales que contienen mensajes condicionales se almacenan en la memoria 70. La lógica condicional incluye una serie de comprobaciones que las IRDs 36 evalúan para determinar si el mensaje es apropiado para ser mostrado. 40
La lógica condicional para un mensaje puede incluir una comprobación de localización geográfica (por ejemplo, “Si el usuario está en el código postal 55166, mostrar el mensaje siguiente”). La comprobación de la localización geográfica puede ser definida mediante un código de zona, un código postal, o una zona geográfica puede dividirse en regiones geográficas, asignándose un código único a cada región. Cada IRD 36 almacena datos que representan la región geográfica de esa IRD 36 en la memoria 70. 45
Otros ejemplos de mensajes condicionales incluyen mensajes de facturación (por ejemplo, “Su factura está pendiente de pago, por favor, llame a este número 1-800-PAY-BILL para realizar las gestiones de pago”), mensajes de pago por visión (por ejemplo, “Usted ha comprado el combate Tyson-Holyfield, que empieza en 5 minutos en el canal 320”). Para los mensajes de facturación, la memoria 70 almacena preferentemente el estado de la cuenta para el usuario de la IRD 36. Cuando la IRD 36 recibe un objeto condicional que contiene un mensaje de facturación, el microprocesador 58 50 consulta el estado de cuenta actual almacenado en la memoria 70 y determina si el pago se ha realizado o no. Si el pago no se ha realizado, el microprocesador 58 hace que el mensaje de facturación sea transferido desde la memoria 70 a la televisión 38.
Mensajes personalizados pueden ser dirigidos también a los usuarios en base a sus subscripciones. Por ejemplo, si el proveedor de contenidos está ofertando una oferta de paquete de Cinemax y HBO por un precio especial, podría 55 difundirse un mensaje publicitario junto con la lógica condicional que indica que el mensaje está dirigido a aquellos usuarios que están subscritos solo a HBO, o que están subscritos solo a Cinemax, y no está dirigido a subscriptores subscritos a Showtime.
Los mensajes personalizados pueden estar basados también en hábitos de visionado del pasado. Por ejemplo, un mensaje puede ser dirigido a todos los usuarios a los que les gusta las comedias románticas (por ejemplo, “Compre el estreno de My Best Friend’s Wedding, que empieza a las 8 p.m. en el canal 310”). La lógica condicional asociada a dicho mensaje puede incluir una comprobación que requiere que la IRD 36 consulte el histórico de visionados del usuario. La lógica condicional puede indicar que el mensaje es apropiado para ser mostrado solo si el usuario ha visto 5 un número umbral de comedias románticas. Como alternativa, la lógica condicional puede indicar que el mensaje es apropiado para ser mostrado solo si las comedias románticas son el tipo de película más visto por el usuario. Cuando una IRD 36 recibe un mensaje que incluye lógica condicional relacionada con los hábitos de visionado del usuario del pasado, el microprocesador 58 examina una tabla histórica de selecciones almacenada en la memoria 70.
En resumen, las personas con conocimientos ordinarios en la materia apreciarán fácilmente que se ha proporcionado un 10 procedimiento y un sistema de visualización y almacenamiento de objetos condicionales. Los usuarios de los sistemas que implementan las enseñanzas de la presente invención pueden disfrutar de una visualización de datos flexible y de una eficiencia de memoria mejorada.
La descripción anterior se ha presentando con propósitos ilustrativos y descriptivos. La misma no pretende ser exhaustiva o limitar la invención a la forma precisa divulgada. Muchas modificaciones y variaciones son posibles a la luz 15 de las enseñanzas anteriores. Se pretende que el alcance de la invención no esté limitado por esta descripción detallada, sino por las reivindicaciones adjuntas.

Claims (10)

  1. REIVINDICACIONES
    1.- Procedimiento de emisión de contenido de televisión y datos de guía de programación, en el que el contenido de televisión es dividido en una pluralidad de canales de televisión, cada canal de televisión es construido a partir de al menos un componente de contenido y los datos de la guía de programación incluyen múltiples objetos canal, cada objeto canal está asociado a uno de los canales de televisión, cada objeto canal incluye al menos una definición de 5 canal que define los componentes de contenido necesarios para construir el canal de televisión asociado con ese objeto canal, en el que el procedimiento comprende:
    proporcionar el contenido de televisión y los datos de la guía de programación;
    añadir lógica condicional a los objetos canal, que incluye más de una definición de canal, incluyendo la lógica condicional una o más condiciones que deben ser evaluadas por un receptor para identificar una definición de 10 canal apropiada;
    combinar el contenido de televisión y los datos de la guía de programación en un flujo de salida; y
    difundir el flujo de salida a una pluralidad de receptores.
  2. 2.- Procedimiento según la reivindicación 1, caracterizado porque una de las condiciones contenidas en la lógica condicional de un objeto canal está basada en los datos de subscripción que representan canales a los que está 15 subscripto un usuario.
  3. 3.- Procedimiento según la reivindicación 1, caracterizado porque una de las condiciones contenidas en la lógica condicional de un objeto canal está basada en los datos históricos de selección que representan programas que un usuario ha visto previamente.
  4. 4.- Procedimiento según la reivindicación 1, caracterizado porque una de las condiciones en la lógica 20 condicional de un objeto canal está basada en los datos de las características del receptor que representan una característica de los receptores.
  5. 5.- Procedimiento según la reivindicación 4, caracterizado porque los datos de las características del receptor incluyen los datos de localización geográfica que representan una localización geográfica específica, y una de las condiciones contenidas en la lógica condicional de un objeto canal está basada en los datos de localización geográfica. 25
  6. 6.- Procedimiento según la reivindicación 4, caracterizado porque los datos de las características del receptor incluyen al menos un código de identificación que identifica de manera única un receptor, y una de las condiciones contenidas en la lógica condicional de un objeto canal está basado en el código de identificación.
  7. 7.- Procedimiento según la reivindicación 1, caracterizado porque una de las condiciones contenidas en la lógica condicional de un objeto canal está basada tanto en el tiempo actual en el lugar de los receptores como en los 30 datos de subscripción que representan los canales a los que los usuarios de los receptores están subscritos.
  8. 8.- Procedimiento según la reivindicación 1, caracterizado porque una de las condiciones contenidas en la lógica condicional de un objeto canal asociado con un canal de televisión de pago por visión está basado en el tiempo actual en el lugar de los receptores y los datos de compra de pago por visión que representan programas de pago por visión que han sido encargados por un usuario. 35
  9. 9.- Procedimiento de recepción de contenido de televisión y de datos de la guía de programación que son difundidos desde una estación de emisión de televisión, en el contenido de televisión es dividido en un pluralidad de canales de televisión, cada canal de televisión es construido a partir de al menos un componente de contenido y los datos de la guía de programación incluyen múltiples objetos canal, cada objeto canal está asociado con uno de los canales de televisión, cada objeto canal incluye al menos una definición de canal que define los componentes de 40 contenido necesarios para construir el canal de televisión asociado con ese objeto canal, y cada objeto canal con más de una definición de canal incluye lógica condicional que tiene una o más condiciones que deben ser evaluadas para identificar una definición de canal apropiada, comprendiendo el procedimiento:
    recibir el contenido de televisión y los datos de la guía de programación por una estación receptora que incluye un receptor; 45
    almacenar los datos de la guía de programación en una memoria (70);
    recibir una solicitud de sintonización que selecciona un canal de televisión;
    responder a la solicitud de sintonización mediante una evaluación de las condiciones en la lógica condicional del objeto canal asociado con el canal de televisión seleccionado e identificar la definición de canal apropiada para ese canal de televisión; y 50
    generar una salida del canal de televisión seleccionado, incluyendo la salida los componentes de contenido definidos por la definición de canal apropiada identificada.
  10. 10.- Sistema de recepción de contenido de televisión y datos de la guía de programación que son difundidos desde una estación de emisión de televisión, en el que el contenido de televisión es dividido en una pluralidad de canales de televisión, cada canal de televisión es construido a partir de al menos un componente de contenido, los datos de la guía de programación incluyen múltiples objetos canal, cada objeto canal está asociado con uno de los 5 canales de televisión, cada objeto canal incluye al menos una definición de canal que define los componentes de contenido necesarios para construir el canal de televisión asociado con ese objeto canal, y cada objeto canal con más de una definición de canal incluye lógica condicional que tiene una o más condiciones que deben ser evaluadas para identificar una definición de canal apropiada, comprendiendo el sistema:
    un receptor (36) para recibir el contenido de televisión; 10
    una memoria (70) para almacenar los datos de la guía de programación recibidos;
    un controlador (58) acoplado a la memoria (70), recibiendo el controlador una solicitud de sintonización que selecciona un canal de televisión, respondiendo el controlador a la solicitud de sintonización mediante una evaluación de las condiciones en la lógica condicional del objeto canal asociado con el canal de televisión seleccionado e identificando la definición de canal apropiada para ese canal de televisión; y 15
    medios de visualización para generar una salida del canal de televisión seleccionado, incluyendo la salida los componentes de contenido definidos por la definición de canal apropiada identificada.
ES00106040T 1999-03-29 2000-03-29 Método y aparato para procesar, almacenar y visualizar condicionalmente el contenido de canales digitales en un sistema de recepción de televisión. Expired - Lifetime ES2355352T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12657699P 1999-03-29 1999-03-29
US126576P 1999-03-29
US126686P 1999-03-29

Publications (1)

Publication Number Publication Date
ES2355352T3 true ES2355352T3 (es) 2011-03-25

Family

ID=43709109

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00106040T Expired - Lifetime ES2355352T3 (es) 1999-03-29 2000-03-29 Método y aparato para procesar, almacenar y visualizar condicionalmente el contenido de canales digitales en un sistema de recepción de televisión.

Country Status (1)

Country Link
ES (1) ES2355352T3 (es)

Similar Documents

Publication Publication Date Title
US8769586B2 (en) Method and apparatus for conditionally processing, storing, and displaying digital channel content in a television reception system
ES2216576T3 (es) Señalizacion de informacion en racimo en un sistema de transmision digital.
ES2385430T3 (es) Método para procesar parámetros específicos de programa derivados de fuentes de difusión múltiples
ES2292386T3 (es) Presentacion objetivo de anuncios publicitarios basada en el perfil parcial de los espectadores.
KR100629413B1 (ko) 암호화된 방송신호의 수신기에 사용하는 스마트카드, 및 수신기
KR100694759B1 (ko) 메시지 방송 및 수신 방법
KR100589447B1 (ko) 신호 발생 및 방송
US5978649A (en) Method and apparatus for dynamic conditional channel authorization in a broadcast system
ES2222210T3 (es) Un metodo para adquirir y tratar programas emitidos, guias de programas y datos de identificacion de canales.
KR100959147B1 (ko) Mpeg 테이블 구조
US7146626B1 (en) Method and apparatus for storing and displaying digital objects associated with an electronic television program guide using fuzzy logic
ES2207953T3 (es) Sistema de navegacion para sistema de television digital multicanal.
ES2203070T3 (es) Terminal multimedia destinado a multiples usuarios.
KR100686967B1 (ko) 다중서비스 디지털 전송 시스템을 위한 애플리케이션데이터 테이블
JP5066561B2 (ja) 視聴者ターミナルへ広告メッセージを選択的に供給するための方法及び装置
ES2276424T3 (es) Sistema de transmision y recepcion, y sistema de acceso condicional para el mismo.
ES2209526T3 (es) Receptor de señales de television.
HUP0204542A2 (en) Method and device for asking information, changing setup and/or parameter of receiver or decoder; further receiver and decoder device, method and device for controling it; further message, method and device for realizing it further system, program and ...
HUP0003338A2 (hu) Összetett számítógép és vevő, és dekódoló berendezésrendszer kisugárzott digitális adatátvitelek vételére
ES2378758T3 (es) Sistema para tratamiento de programas y de información temporal del sistema derivadas de diversas fuentes de difusión
ES2301457T3 (es) Metodo y aparato para compartir preferencias del telespectador.
KR100673647B1 (ko) 통합 전자 프로그램 제공 시스템
KR20000076400A (ko) 방송 및 수신 시스템, 및 그를 위한 조건부 액세스 시스템
HK1044426B (en) Method and apparatus for transmitting and receiving messages, in particular in broadcast transmissions
MXPA01003050A (es) Tabla de datos de aplicacion para un sistema de transmision digitalde servicios multiples