ES2355352T3 - METHOD AND APPLIANCE TO PROCESS, STORE AND CONDITIONALLY DISPLAY THE CONTENT OF DIGITAL CHANNELS IN A TELEVISION RECEPTION SYSTEM. - Google Patents

METHOD AND APPLIANCE TO PROCESS, STORE AND CONDITIONALLY DISPLAY THE CONTENT OF DIGITAL CHANNELS IN A TELEVISION RECEPTION SYSTEM. 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
Spanish (es)
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.)
DirecTV Group Inc
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/en
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.Procedure for broadcasting television content and programming guide data, in which the television content is divided into a plurality of television channels, each television channel is constructed from at least one content component and the data of The programming guide includes multiple channel objects, each channel object is associated with one of the television channels, each channel object includes at least one channel definition that defines the content components necessary to construct the television channel associated with that channel object , in which the procedure comprises: providing television content and programming guide data; add conditional logic to channel objects, which includes more than one channel definition, including conditional logic one or more conditions that must be evaluated by a receiver to identify an appropriate channel definition; combine television content and programming guide data in an outflow; and disseminate the outflow to a plurality of receivers.

Description

CAMPO TÉCNICO DE LA INVENCIÓN TECHNICAL FIELD OF THE INVENTION

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. The present invention relates, in general, to the processing, storage and / or visualization of digital information and, in particular, to the processing, storage and / or viewing with conditions of digital programming guide objects in a television system of satellite emission based on the evaluation of a logical rule 5 integrated in the digital object.

ANTECEDENTES DE LA INVENCIÓN BACKGROUND OF THE INVENTION

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. Television programs are distributed to viewers through a variety of broadcasting procedures. These procedures include traditional analog broadcast television (standard of the National Committee of Television Systems or "NTSC"), digital broadcast television (standard of the Advanced Committee of Television Systems or 10 "ATSC") of forthcoming appearance, television by cable (both analog and digital), satellite broadcast (both analog and digital), as well as other procedures. Some wireless television signal distribution systems use one or more geosynchronous satellites to broadcast a broadband television signal to receiving units within a wide geographical area, while other wireless and land-based systems use one or more localized transmitters. within smaller geographical areas to spread the signal to individual receiving units within those geographical areas.

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 The receiver unit in a satellite system typically includes a satellite dish connected by a cable to an integrated receiver / decoder unit (IRD). The receiving unit receives and processes the transmitted information packets. The satellite dish points to the satellite and the IRD is connected to the user's television in a manner similar to a cable TV decoder. twenty

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. Along with the audio and video signals associated with television channels, the IRD receives several digital objects, such as text and graphics. These objects can be used by the IRD to provide the user with additional information, such as electronic programming guides, instruction manuals, advertising, etc. The programming guide information includes a set of channel definition parameters that define what portions of the transmitted television content are associated with the various channels, and also typically include programming information for display on television sets. users The programming information informs users about which television programs are being shown now, and which television programs will be shown in the near future. An electronic smart programming guide is disclosed, for example, in 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. Certain digital objects are used only in certain scenarios. For example, the electronic program guide data about a particular premium channel only needs to be displayed if the user is subscribed to that payment channel. Similarly, instructions on the use of an X-brand IRD never need to be displayed by an Y-brand IRD. Consequently, the IRD needs to know what objects to store and what objects to use in what scenarios.

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. Typically, each IRD is equipped with a conditional access module (CAM). CAM stores a plurality of 35 indicators that represent predefined scenarios (that is, a bit mask). For example, an indicator can indicate whether or not a particular user is subscribed to a particular premium channel. Consequently, digital objects are transmitted with a certain set of indicators and these indicators are compared with a plurality of indicators stored in the CAM to determine whether an object should be discarded or displayed.

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. However, this procedure has certain disadvantages. Predefined scenarios can be used (that is, before the IRD is sent), since the meaning of each indicator is predefined. The large number of combinations is too complicated to be anticipated in advance (for example, if a particular IRD is of the X mark with at least 512 kilobytes of memory). In addition, certain scenarios are too modern to be anticipated in older units (for example, if a particular IRD is compatible with Java or not). In addition, in receivers that have the ability to modify the control software within the receiver (for example, by means of an update received as part of an emission stream) the characteristics may change over time.

SUMARIO DE LA INVENCIÓN SUMMARY OF THE INVENTION

Consiguientemente, la presente invención proporciona un procedimiento y un sistema, tal como se definen en las reivindicaciones 1, 9 y 10, respectivamente. Accordingly, the present invention provides a method and a system, as defined in claims 1, 9 and 10, respectively.

BREVE DESCRIPCIÓN DE LOS DIBUJOS 50 BRIEF DESCRIPTION OF THE DRAWINGS 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: These and other features and advantages of the present invention will become more apparent from the detailed consideration of the following detailed description of certain preferred embodiments, taken in conjunction with the drawings, in which:

La Fig. 1 es un diagrama de bloques de un sistema de emisión directa vía satélite; Fig. 1 is a block diagram of a direct broadcast satellite system;

La Fig. 2 es un diagrama de bloques que ilustra más detalles de la estación receptora de la Fig. 1; Fig. 2 is a block diagram illustrating more details of the receiving station of 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; Fig. 3 is a block diagram illustrating a generic example of an electronic television programming guide;

La Fig. 4 es un diagrama de flujo que ilustra un procedimiento para almacenar condicionalmente objetos digitales; Fig. 4 is a flow chart illustrating a procedure for conditionally storing digital objects;

La Fig. 5 es un diagrama de flujo que ilustra un procedimiento para visualizar condicionalmente objetos de guía 5 de programación; Fig. 5 is a flow chart illustrating a procedure for conditionally displaying programming guide objects 5;

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; Fig. 6 is a block diagram illustrating a procedure to monitor changes of state in the variables in order to trigger a re-evaluation of the rules;

La Fig. 7 es un diagrama de flujo que ilustra un procedimiento para componer condicionalmente el contenido de un canal; 10 Fig. 7 is a flow chart illustrating a procedure for conditionally composing the content of a channel; 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; Fig. 8 is an example of conditional television channel content that is displayed on the television screen of a user who is not subscribed to the selected channel;

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 Fig. 9 is an example of conditional television channel content that is displayed on the television screen of a user who is subscribed to the selected channel; Y

La Fig. 10 es un diagrama de bloques de las etapas típicas de un evento de pago por visión. 15 Fig. 10 is a block diagram of the typical stages of a pay-per-view event. fifteen

DESCRIPCIÓN DETALLADA DE LAS REALIZACIONES PREFERIDAS DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

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. Although the following description focuses on the processing, storage and display of digital objects used to compose channel displays and electronic television programming guides in a satellite broadcasting system, people with ordinary knowledge of the subject will readily appreciate that The techniques of the present invention are not limited, at all, to satellite broadcasts or programming guides. On the contrary, any system that can benefit from improved efficiency in memory usage and flexible digital displays can employ the techniques described herein.

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. In general, television signal distribution systems depend on a cable network or propagation in free space to provide television signals to individual subscribers or users. Cable-based television systems transmit one or more individual television signals or "channels" over a cable, while the 25 free-space propagation systems transmit one or more channels over the air, that is, in a wireless manner . Most large-scale wireless and cable television signal distribution systems broadcast a broadband television signal that has a plurality of individual television signals or modulated channels over one or more carrier frequencies within a frequency band 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. Some wireless television signal distribution systems use one or more geosynchronous satellites to broadcast a broadband television signal to receiving units within a large geographical area, while other wireless systems are land based, using one or more transmitters located within smaller geographical areas to broadcast a signal to individual receiving units within those geographical areas.

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. Typically, satellite systems include a receiver to receive and process transmitted waveforms. A type of receiver is part of a “wireless digital television” system that is used by the DIRECTV® broadcast service. DIRECTV® and similar systems allow consumers to receive a large number of television channels broadcast directly to their homes from one or more geosynchronous satellites.

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. A block diagram of a transmission and reception system 10 is illustrated in Fig. 1. System 10 includes a transmission station 14, a repeater 16 and a plurality of receiving stations 20. A wireless signal 40 provides the communication medium. between the transmission station 14, the repeater 16 and the receiving station 20. The transmission station 14 includes a programming / data source 24, a video / audio / data coding system 26, an uplink frequency converter 28 , and an uplink satellite antenna 30. Preferably, the repeater 16 is at least one geosynchronous satellite. The receiving station 20 includes a satellite reception antenna 34 which may include a low noise block (LNB) 50, a receiving unit (or IRD) 36 45 connected to the LNB 50, and a television monitor 38 connected to the receiving unit 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 During operation, the transmission station 14 can receive video and audio programming from a number of sources, including satellites, terrestrial optical fibers, cable or tape. Preferably, the received programming signals, together with data signals, such as electronic programming data and conditional access data, are sent to the video / audio / data coding system 26, where they are digitally encoded and multiplexed into 50 packed data flow, using a series of conventional algorithms, including compression and error correction in convolutional codes. In a conventional manner, the coded data stream is modulated and sent through an uplink frequency converter 28, which converts the coded modulated data stream to a frequency band suitable for satellite reception 16. Preferably, The satellite frequency is the Ku band. Next, the coded, modulated data stream is routed from the uplink frequency converter 28 to an uplink satellite antenna 30, where it is broadcast to the satellite 16. The satellite 16 receives the coded, modulated data stream , in the Ku band and broadcast it down towards an area on Earth that includes the various receiving stations 20. The LNB 50 of the satellite antenna 34 of the receiving station 20 changes the Ku band signal to a signal of the L band, which is transmitted to the receiving unit 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). Fig. 2 is a more detailed block diagram of a part of the receiving unit 36, shown in Fig. 1. The circuitry of the client part of the receiving unit 36 receives the RF signals from the L band from the LNB 50 and converts them back to the original digital data stream. The decoding circuitry receives the original data stream and performs video / audio processing operations, such as demultiplexing and decompression. A microprocessor or CPU 58 controls the overall operation of the receiving unit 36, including the selection of 10 parameters, the configuration and control of the components, the channel selection, and many other functions. The microprocessor 58 controls how digital objects (for example, text, graphics) are processed (for example, stored, displayed).

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 Preferably, each object includes an object header and an object body. The object header identifies the type of object, the object ID and the version number of the object. The object type identifies the type of the object. The 15 different types of objects are set forth below. The object ID uniquely identifies the particular object from among other objects of the same type. The version number of an object uniquely identifies the object from among other objects of the same type and object ID. The object body may include data to construct a part of a programming guide that is finally displayed on a user's television 38, and is also used for channel definition parameters. twenty

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 Objects that are used to provide channel definition parameters may include boot objects, channel list objects, channel objects and conditional objects. Other objects, such as HTML (Hyper Text Markup Language) objects are used to provide channel content. Still other additional objects, such as general program objects, programming planning objects and master programming objects are used by the IRD 36 to generate a display of a programming guide on a user's television 38. 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. A boot object identifies the service channel identification number (SCIDs) where all other objects can be found. A boot object is always transmitted on the same channel, which means that each data packet that is part of a boot object is marked with the same SCID number. Boot objects are frequently transmitted to ensure that IRDs 36 that have been turned off, and that are turned on again, quickly receive information indicating the location of the various 30 programming guide objects.

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. Each boot object includes frequency descriptors that define frequency tables. A frequency table contains frequencies and for each frequency contains a corresponding frequency index. Each frequency table contains frequencies and corresponding frequency indices for a single network. A network is a grouping of all channels from a common source, such as all satellite channels. Other networks include 35 all NTSC channels or all ATSC channels. In this way, each channel frequency is represented by a particular frequency index number.

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 A channel list object contains a list of all channel objects in a network. For each channel object in the channel object list, the channel list object includes a channel object ID for that channel object. Each channel object is uniquely identified by its channel object ID. 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. Each channel object includes multiple fields or descriptors that provide information about a particular channel. For example, each channel object can include fields for a "name", a "logo indicator" and a "logo index". Each descriptor in a channel object includes a descriptor type ID that indicates the type of the descriptor. For example, descriptor types may include "about" descriptors, "category" descriptors, "reserved" descriptors, and "channel content" descriptors. The descriptor "about" provides a description of the channel. When there is no "about" descriptor, the description is a default message, such as "No information available." The descriptor “category” provides a category classification for the channel. More than one “category” descriptor may appear in the channel object if the channel is included within more than one category. The “reserved” descriptors are reserved for future system improvements.

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 Each channel object includes a "channel definition" field of variable length. The channel definition field defines the composition of the channel, and is later used by IRDs 36 to reconstruct the components of the channel (for example, audio, video and data). The channel definition field may include a plurality of subfields and conditional logic that preferably consists of multiple "if-then" statements. Other entries may be included in the channel composition table, such as a language preference. The channels may comprise ATSC, NTSC, HTML and / or other content. 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. In addition to defining channels as ATSC channels, NTSC channels, etc., channel content can also be explicitly defined. For channels that are explicitly defined, the following channel definition parameters are preferably used: service type parameter, channel or transponder number parameter and program number or SCID parameter. The service type parameter indicates a type of service, such as an audio type (for example, Dolby Digital AC3), a video type (for example, DAVID), an anal type (for example, NTSC or ATSC) or a type of data (for example, high speed data). The transponder parameter or channel number identifies either an index in a frequency table for a DIRECTV network or a channel number for an ATSC network or an NTSC network. The SCID parameter or program number identifies an SCID for a DIRECTV network or a program number for an ATSC network.

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. Channel objects can also include a channel content descriptor. Channel content descriptors provide additional channel definitions. Channel content descriptors use conditional logic, such as "if-then" statements, to check various conditions. A set of "if-then" statements can be associated with each channel definition. If the condition or conditions in a statement are satisfied, the definition of channel 10 associated with that "if-then" statement is used to define the content of the channel.

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”. Another type of object is a conditional object. A conditional object contains an object that is preceded by a conditional expression. If the expression is evaluated to “TRUE”, the included object is valid and is processed accordingly. If the expression is evaluated to "FALSE", the included object is ignored. A conditional object can contain multiple conditional expressions, so that it is processed only if all conditional expressions are evaluated to “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. Returning to Fig. 2, the illustrated IRD 36 includes a tuner 52, a demodulator 54, an FEC decoder 56, a microcontroller 58, a transport circuit 60, a channel demultiplexer 62, a decryption circuit 64, a access card interface 66, an access card reader 68, a system RAM 70, an audio / video decoder circuit 72 having a random access memory (RAM) 74, an audio decoder 76, a decoder Video 78, a circuit 80 digital to analog audio converter, an 82 NTSC (or different) encoder, output controllers 84, a modem connection 86, a user interface 88 with a front panel, and a power supply 90 , coupled together, as illustrated. A 27 MHz clock signal generator 92 is also provided. The clock generator 92 generates a clock signal that is coupled to the audio / video decoder circuit 72 and that is frequency calibrated by a signal received from the circuit 60 of transport, as shown.

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. Transport 60 receives the transport stream of digitized data packets containing video, audio, data, programming information and other data. The digital packet information contains identifying headers as part of your header data. Under the control of the microprocessor 58, the channel demultiplexer 62 filters the packets that are not currently of interest, and directs the data packets that are of interest through the decryption circuit 30 64 and, in the case of some packets, also through access control circuits 66, 68 to their appropriate destination downstream. The decryption circuit 64 provides the decryption for the data packets that have been encrypted. Access control circuits 66, 68 provide access control by any conventional means. For example, access control can be achieved by requiring that a data packet has an appropriate authorization code to be passed to decryptor 64 and / or video decoder 35 78. The access card reader 68 can interact with an access card (not shown) that will receive the package authorization code, determine its validity, and generate a code confirming to transport 60 that the data package in question is authorized.

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. As the program guide data is received and stored in the memory 70, the microprocessor 58 performs several operations on the data in preparation for the display of a programming guide and / or other content 40 on the television 38. These operations include package assembly, object assembly and object processing. During the package assembly operation, the microprocessor 58 examines the stored program guide data and determines the locations of the package boundaries.

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. During the assembly of the object, the microprocessor 58 combines the packages to create object frames and then combines the object frames to create the programming guide objects. The microprocessor 58 45 examines the checksum transmitted within each object frame, and verifies whether the data in the frame has been received correctly or not. If the object frame has not been received correctly, it is discarded from memory 70. Also during the object assembly stage, IRD 36 discards assembled objects that are of a type of object that IRD 36 does not recognize. To achieve this, each IRD 36 maintains a list of known object types in memory 70. Microprocessor 58 examines the object header of each received object 50 to determine the type of object. Next, the microprocessor 58 compares the object type of each object received with the list of known object types stored in memory 70. If the object type of an object is not in the list of known object types, the object is discarded from memory 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. During the object processing stage, the objects stored in the guide database are combined to create a digital image of a programming guide. The digital image of the programming guide is later converted to an analog signal that is sent to television 38 to be displayed to a user.

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. An example of an electronic programming guide is illustrated in Fig. 3. Typically, channels 100 are exposed, for example vertically in numerical order and times 102 are exposed horizontally in chronological order. The frames 104 of the mesh in the body of the programming guide are preferably filled with text and / or graphics representing television programs and / or other schedules available in the associated time in the associated channel. Programming guides can also include category buttons, scroll buttons, jump buttons, 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. When a conditional object is received and stored in the memory 70, the microprocessor 58 evaluates the conditional expression or expressions contained in the conditional object and processes the data in the conditional object only if the conditional expressions are evaluated to "TRUE". An example of such a conditional expression is "If the receiver model number stored in memory 70 is 999999, then it processes the data on the conditional object." The microprocessor 58 evaluates this expression by comparing the receiver model number stored in the parameter table of memory 70, and processes the data in the conditional object only if the receiver model number is "999999". Similarly, conditional objects may be limited to their use by receivers only in certain area codes or postal codes.

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). A flowchart of a program that can be implemented by the local receiving unit (IRD) 36 for conditionally storing digital objects is illustrated in Fig. 4. The programmed steps can be performed by a control circuit, such as a microprocessor 58. Once the program has been started (for example, a digital object has been received) the control circuit preferably retrieves an object from a queue of objects stored in the 15 memory 74 (block 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). The digital objects can be addressed to a particular IRD 36 (for example, by means of a geographical region ID, an IRD number, a CAM number, a customer account number, etc.). Alternatively, digital objects can be directed to a particular IRD 36 by a time space dimension, in which the object is directed to an IRD 36 during the amount of temporary coverage for which an IRD 36 is of interest. 20 Consequently, there can be two dimensions for addressing a digital object (for example, geographical region and time).

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. Conditional objects (including conditional elements of other digital objects) introduce a third dimension, which is a computational expression that includes one or more variables associated with the status of IRD 36. For example, a variable can include the quantity, type or the hardware and / or software model of the IRD, the 25 CAM settings of the IRD and / or user preferences. The hardware and / or software configuration of the IRD may involve the model of IRD 36, the amount of physical RAM installed in IRD 36, either by the factory or by the user, the amount of RAM available, if the software The IRD supports graphics, HTML, Java and other features, and if there is a graphic or mathematical co-processor.

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 Upon receipt of a digital object, the control circuit examines the digital object to determine if it is a conditional object 30 (block 112). For example, the header information may be indicative of a predetermined object type. A conditional object is an object packaged in a protocol that contains a rule. If the digital object is not a conditional object, the control circuit examines the digital object to determine if it is a grouping object (block 114). A grouping object is a plurality of integrated objects packaged in a grouping object protocol. 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). If the digital object is a grouping object, it is separated into the individual integrated objects it contains (block 116). This is achieved by removing the packaging according to its predefined protocol. Once the individual objects are separated from each other and from the packaging of the grouping object, each of the individual objects is placed in front of the object queue (block 118) and then the operation is repeated (block 110) . If the digital object is not a grouping object (or a conditional object), it is manipulated in some way consistent with that type of object (for example, it is stored in memory 74) (block 120). Subsequently, the procedure can be repeated (block 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”. If the digital object is a conditional object, it is logically separated into an integrated object and a rule associated with the integrated object (block 122). Subsequently, the rule is evaluated (block 124). Preferably, the rules include a machine-executable language, such as an interpreted programming language or a native machine language. For example, the rules may include logical operators, such as NOT, AND, OR, XOR, etc. In addition, the rules may include mathematical operators, such as PLUS, MINUS, MULTIPLY, DIVIDE, etc. Additionally, the rules may include comparison operators, such as LESS_THAN, GREATER_THAN, EQUAL_TO, etc. Additionally, the rules may include flow control operators, such as FOR, NEXT, UNTIL, etc. In addition, the rules may include higher level operators to check IRD states, such as "If it is HDTV mode", "If aspect ratio is 16x9", "If authorized", "Authorization comparison error" , "Compare IRD manufacturer", "Compare IRD model", "Compare local time", "Compare UTC time", etc. Complex scenarios can be checked. For example, a rule could state "If you are a Sony IRD manufactured before the date 1/1/98 with <1 MB of RAM, then do not save this object."

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). If the integrated rule is evaluated to “FALSE”, then the object can be discarded to conserve memory 74 55 (block 128), and the procedure can be repeated (block 110). For example, if the integrated object represents a component on a help screen for IRDs 36 manufactured by A, but this IRD 36 was manufactured by B, then a rule could check that condition and discard the object to conserve memory 74. However , if the integrated rule is evaluated to "TRUE", the integrated object is preferably stored by adding it to the front of the queue (block 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 flow chart is illustrated in Fig. 5 that can be implemented by the local receiving unit (IRD) 36 to conditionally display or process the programming guide objects. Again, the programmed steps can be performed by a control circuit, such as a microprocessor 58. Once the program has been started (for example, a command is received to display the programming guide) the control circuit preferably retrieves an object. Memory program guide 74 (block 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 Next, the control circuit examines the programming guide object to determine if this is a conditional object or if it has a conditional element (block 132). As before, the header information may be indicative of a predetermined object type. For example, a header may indicate that a particular object is a conditional object, or a header may indicate that the associated object contains one or more conditional elements. 10 A conditional object is an object packaged in a protocol that contains a logical rule. A conditional element is a part of a digital object in which the object part is packaged in a protocol that contains a logical rule. If the programming guide object is not a conditional object, the control circuit preferably includes it in the default programming guide and / or checks other conditions, such as access privileges (block 134). fifteen

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. If the digital object contains a conditional object or a conditional element, that object or element is logically separated into an integrated object or element and a rule associated with that integrated object or element (block 136). Subsequently, the rule is evaluated (block 138). As indicated in detail above, the rules preferably comprise a language, such as an interpreted programming language or a native machine language. If the integrated rule is evaluated to “FALSE”, then the object is not displayed or processed in the programming guide at that time. Subsequently, the control circuit waits for a signal for a new evaluation and / or an update of one or more variables included in the rule (block 140) and then reassesses the rule (block 138). For example, the rule could check whether or not the user has permission for a particular movie or sports package, and, if not, stops viewing the program guide data associated with those optional programming packages until the user have permission However, if the integrated rule is evaluated 25 to "TRUE", the integrated programming guide element or object is further processed or displayed in the programming guide (block 134) before exiting the program.

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. Unlike conditional objects in general, whose rule or rules are evaluated once the object arrives at IRD 36, conditional guidance and channel content rules are evaluated when any variable in the rule is updated, such as It has been indicated above. This includes, but is not limited to, the status of CAM, the validity of video decryption and / or user preference. The CAM status includes regional bit values, subscribed channel packets, etc. The validity of video decryption includes whether the channel can be successfully decrypted by IRD 36, which is a function of the authorized CAM packets, as well as the encryption key used by the sender and / or the restricted regions specified in the encryption procedure User preferences include choices made by the user, such as a list of excluded or favorite channels, genres 35 movie favorites, favorite actors, blocking limit by rating, 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”. When the guide display includes conditional programming objects, the IRD 36 display can include only those channels and programming objects with rules that are evaluated to “TRUE”. After a change in any variable used by these conditional objects in the current guide display, the rules must be reassessed and the viewer must be updated again to reflect only those channels and / or programs 40 that are evaluated to “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 When a channel with conditional content is actively decoded, the same concept applies. After tuning a channel with conditional content, IRD 36 evaluates the rules for determining the highest priority content with a content rule that is evaluated to “TRUE”. When two or more rules are evaluated to "TRUE", the content that has the highest priority is actually processed. The priority is preferably represented in a simple ordered list, so that the content associated with the first rule that evaluates to "TRUE" is used and the evaluation of the rule can be stopped. Once the variables used in the content rules change, the content rules are reassessed until a rule that is "TRUE" is found. Preferably, only the variables used by the content selected at any time and those of the highest priority content rules are used to trigger a re-evaluation of the content expressions. fifty

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. A block diagram illustrating an embodiment of a procedure for monitoring state changes of variables is illustrated in Fig. 6 in order to trigger such re-evaluation of a rule or rules. First, a list of variables to be monitored is composed (block 142). For example, all variables or all variables of a given type can be listed in a data structure in memory. Subsequently, the list of variables is interrogated to determine if any of the variables have changed state (block 144). In order to make said determination, the current state (block 146) and the previous state (block 148) of each variable are provided to a decision block (block 147). Decision block 147 compares the current (or potentially new) value with the previous (or potentially old) value. If the values are equal, no action is taken and the next variable in the list is interrogated. If the values are different, the new value is stored by block 148 and a signal is emitted to re-evaluate the rule or rules. Subsequently, any update on the conditional object and / or the rules initiates a re-evaluation in block 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 flowchart of a program that can be implemented by the local receiving unit (IRD) 36 to conditionally display a content associated with a channel is illustrated in Fig. 7. Again, the programmed steps can be performed by a control circuit, such as a microprocessor 58. Once the program has been started (for example, a command is received to visualize a particular channel) the control circuit preferably retrieves a 5 object of Channel content associated with the current channel from memory 74 (block 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). Next, the control circuit examines the channel content object to determine if this is a conditional object (block 152). As before, the header information may be indicative of a predetermined object type. For example, a header may indicate that a particular object is a conditional object. If the channel content object is not a conditional object, the control circuit preferably tunes the receiver to a default video and / or audio source by default and / or checks other conditions, such as access privileges and displays a screen of display, for example, a screen display (OSD). The OSD typically comprises a text message (block 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. If the channel content object is a conditional object, it is logically separated into an integrated object and a rule associated with the integrated object (block 156). Subsequently, the rule is evaluated (block 158). As indicated above, the rules preferably comprise a language, such as an interpreted programming language or a native machine language. Preferably, the rule is configured to check one or more conditions and to trigger an output (for example, a series of sentences of type IF-THEN-ELSE). Accordingly, a display is composed based on the expression or the triggered output expressions (block 160). For example, a particular pay-per-view event can be blocked until the concurrence in the stadium reaches a certain threshold. The rules associated with that channel could display a series of graphs that represent progress towards that threshold, followed by video / audio if the threshold has been passed. Subsequently, the control circuit waits for a signal to reassess the rule, an update of one or more rules and / or an update of one or more variables included in the rule (block 162) and then returns to the block 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. An application of conditional objects will be exposed with reference to Fig. 8 and Fig. 9. For this application, it is assumed that a first user is subscribed to HBO and receives HBO programming on channel 910, and that a second User is not subscribed to HBO. If the first user tunes to channel 910, the HBO programming will be shown to the user. On the contrary, if the second user tunes to channel 910, the user will be shown a screen similar to screen 200 shown in Fig. 8. Screen 200 is a generic screen that is typically stored in IRD 36 and is always shown that the user tunes to a channel that is not part of the user's subscription. Instead of providing generic screens, such as screen 200, conditional channel definitions can be used to provide more elaborate television content that is more focused on individual users and their subscriptions.

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. Fig. 9 shows an example of a screen generated using a conditional channel definition. Using the previous example, when the second user tunes to channel 910, instead of displaying a “Subscribe, please” message, the user is shown screen 202, which consists of an HBO advertisement, which includes images or videos of movies that are currently showing or that will be shown in the near future. Unlike the generic message on screen 200, the channel content shown on screen 202 is specifically directed to HBO information. Also, the content can be varied according to user subscriptions. For example, if the second user is subscribed to Showtime but not to HBO, the advertising shown to the second user could promote a 40 package offer with a reduced price of HBO and Showtime. In this way, the channel content is conditional and can be varied according to the subscription information.

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. In addition to varying the channel content based on the subscription information, the channel content may be varied according to the characteristics of the receiver and / or past viewing habits. For example, a web page with advertising and hyperlinks to additional information about HBO could be displayed if the receiver includes the ability to generate web pages. In another example, advertising could be varied based on a user's favorite program types. Other characteristics of the receiver that can be used in the variation of television content include the receiver's model number, the amount of memory available in the receiver, classification restrictions and other content restrictions that have been introduced by a user, display preferences which have been entered by a user (for example, the length of movie titles or the names of the 50 actors, the language in which the text is displayed, etc.) and the geographical location of the recipient.

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. The conditional content illustrated in Fig. 9 is achieved using the techniques described above. The channel object for channel 910, or the HBO channel, will include multiple channel definitions with conditional logic associated with the channel definitions. When a user tunes to channel 910, microprocessor 58 evaluates the conditional logic associated with the channel definitions for channel 910 and identifies the appropriate channel definition. If conditional logic 55 is based on subscription information (for example, "If the user is not subscribed to HBO, use HBO advertising content" or "If the user is not subscribed to HBO but subscribed to Showtime, use HBO + Showtime package offer advertising content ”), microprocessor 58 examines memory 70, which maintains subscription information, to evaluate conditional expressions. Similarly, if conditional logic is based on characteristics of IRD 36 or past viewing habits, microprocessor 58 60 examines memory 70, which maintains information related to receiver characteristics and past viewing habits. of a client, to evaluate conditional expressions.

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. In addition to varying the content of the television channel based on the subscription information, the characteristics of the receiver and the viewing habits of the past, the content of the television channels can also be varied over time. For example, suppose that a television broadcasting system uses a commercial offer channel that advertises the various television channel offers for the system. Using the techniques of the present invention, the content of the commercial offer channel can be varied to show the content of multiple channels at different points in time. As a more specific example, the commercial offer channel could display the content of an HBO channel for the first hour, the content of a Showtime channel for a second hour and the content of The Movie Channel for a third hour. In this way, the channel identifier (for example, channel 360) 10 remains the same and the channel definition varies from time to time.

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. Instead of transmitting the audio and video signals for each of these channels multiple times (for example, one for the particular channel itself and one for the commercial offer channel), the channel parameters for the commercial offer channel are varied. and are matched with those of the HBO channel for the first hour, with those of the Showtime channel during the second hour, etc. Therefore, the audio and video signals for the selected channel are associated with both the channel itself and the commercial offer channel. The channel parameters for the commercial offer channel are varied by using multiple channel definitions and conditional logic. The conditional logic is based on the current time in the location of the IRD 36. As an illustration, the conditional logic would be similar to the following: “If the current time is between 7:00 p.m. and at 8:00 p.m., use the same channel parameters as the HBO channel. ” Similar conditional checks would be used for later times and for other channels. The microprocessor 20 compares the times in the conditional checks with the current local time, and determines which condition is satisfied and, correspondingly, which channel definition to use.

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. Conditional logic associated with a particular channel definition can include multiple conditional checks. For example, conditional logic may include checks related to a user's current time and subscription information. Then, the channel parameters would be varied to allow multiple 25 kinds of viewers to watch the same channel content for a short period of time, without sending the content multiple times. To illustrate this technique, suppose that HBO offers a program pass, such as a professional boxing match, for commercial users who re-sell the channel's content to others. Residential subscribers to HBO gain access to boxing combat as part of their subscription. Assuming that the channel of commercial users is channel 800, assuming that the HBO channel of residential subscribers is 910, and 30 assuming that the boxing match is scheduled to take place between 7 p.m. and at 10 p.m., the parameters of channel 800 would be changed at 7 p.m. to match those of channel 910. At 10 p.m., the parameters would be changed back to their previous value. Therefore, the channel object associated with channel 800 would include conditional logic that checks if the subscriber is a commercial subscriber and checks if the time is between 7 p.m. and 10 p.m. If both checks are met, the parameters for channel 910 are used. If any 35 of the checks are not met, the normal parameters for channel 800 are used.

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. The pay per view cycle is another example of an application that can make use of the conditional channel techniques of the present invention. The pay-per-view cycle refers to the stages that a particular pay-per-view channel travels at various points in time. Pay-per-view events, such as movies or boxing matches, are typically divided into six stages, although the number of stages can be varied according to the type of pay-per-view event and system implementation. The six stages of a typical pay-per-view event are shown in 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. The first stage of a pay-per-view cycle, which is represented by block 230, is a promotion stage. During the promotion stage, highlights of the pay-per-view event are shown. Highlights of pay-per-view events can also be shown on other channels. The promotion stage typically begins several days before the date on which the pay-per-view event is scheduled to begin. 45 During the promotion stage, the pay-per-view event cannot be purchased. All users can see the content of the channel during the promotion stage.

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. The second stage (block 232) is called the offer. During the offer stage, the same promotional material is shown as in the promotion stage, but users are allowed to purchase the pay-per-view event during the offer stage. The bidding stage typically begins one day before the date on which the 50 vision payment event is scheduled to begin. All users can view the content of the channel during the offer stage.

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. The third stage (block 234) is called the pre-shared pass. During the pass-through stage, promotional material is displayed again, but the content of the promotional material is typically different from the promotional material shown during the first two stages. The pre-shared pass stage typically begins one hour before the scheduled start time. Users can purchase the pay-per-view event during the pre-shared pass. All 55 users can view the content of the channel during the pre-shared pass stage.

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. The fourth stage (block 236) is called the initial free period stage. The initial free period marks the start of the pay-per-view event. The initial free period begins when the pay-per-view event begins and typically lasts approximately five minutes. During the initial free period, users can still purchase the pay-per-view event. All users can view the pay-per-view event during the initial free period.

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. The fifth stage (block 238) is the event stage. During the event stage, only those users who have purchased the pay-per-view event can view the event. Users who have not purchased the event will be shown or a black screen or a promotional screen is coming. During the event stage, the pay-per-view event can still be purchased. The event stage typically lasts from the end of the initial free period to approximately 30 minutes from the start of the event.

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. The sixth stage (block 240) is the secondary stage of the event. During the secondary stage of the event, only those users who have purchased the pay-per-view event can view the event. Users who have not purchased the event will be shown either a black screen or a promotional screen. During the secondary stage of the event, the pay-per-view event can no longer be purchased. The secondary event stage typically lasts from the end of the event stage until the end of the event. At the end of the event, the cycle begins again and the promotion stage begins for the next pay-per-view event.

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. A channel object for a pay-per-view channel includes at least one channel definition for each of the six stages shown in Fig. 10. Each of the channel definitions is associated with a conditional check that compares the programmed time of the event with the current time in the receiver (for example, “If the difference between the 15 scheduled time of the event and the current time in the receiver is greater than one day, use the channel definition for the first stage - block 230). For the fifth and sixth stages of the pay-per-view cycle (blocks 238 and 240), the channel object includes two channel definitions for each stage. One channel definition defines the channel content for users who have purchased the event, and the other channel definition defines the channel content for users who have not purchased the event. Then, for the fifth and sixth stages, in addition to using a conditional check to compare the scheduled time of the event with the current time and identify the current stage, another conditional check is used to identify whether or not the user has purchased the event.

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. When IRD 36 receives a channel object for a pay-per-view channel, IRD 36 stores the channel object in memory 70. Next, the microprocessor 58 can periodically evaluate the conditional checks contained in the pay-per-view channel objects. and identify the appropriate channel definition for the current time. 25 A user buys a particular pay-per-view event using remote control 86. The user's choice is received by IR receiver 84, is transferred to logic circuit 80 and then stored in memory 78. In addition to title of the purchased program, memory 78 may store additional information about the purchased programs, such as the start time and the end time of the event, and the price. Receiver 64 periodically calls transmission station 26 and downloads pay per view purchase information. The information of pay per view purchase is taken through interface 82, which is coupled to a telephone line.

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 The present invention also provides the transmission, reception and display of conditional messages. Conditional messages are broadcast to all receivers, and only recipients that satisfy certain conditions show the message to users. As with conditional channel content, each receiver evaluates the conditional expressions associated with the messages and identifies the messages that are appropriate to be displayed. The conditional message is superimposed on the content of the channel that is being viewed by a user. Conditional messages are transmitted as a conditional object that includes the message text and conditional logic. Conditional objects that contain conditional messages are stored in memory 70. Conditional logic includes a series of checks that IRDs 36 evaluate to determine if the message is appropriate to be displayed. 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 Conditional logic for a message may include a geographic location check (for example, "If the user is in the 55166 zip code, show the following message"). The geographical location check can be defined by a zone code, a postal code, or a geographical zone can be divided into geographical regions, with a unique code assigned to each region. Each IRD 36 stores data representing the geographic region of that IRD 36 in memory 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. Other examples of conditional messages include billing messages (for example, “Your invoice is pending payment, please call this number 1-800-PAY-BILL to make payment arrangements”), payment per view messages ( for example, "You have bought the Tyson-Holyfield match, which starts in 5 minutes on Channel 320"). For billing messages, memory 70 preferably stores the account status for the user of IRD 36. When IRD 36 receives a conditional object that contains a billing message, microprocessor 58 50 consults the current account statement stored in memory 70 and determines whether the payment has been made or not. If the payment has not been made, microprocessor 58 causes the billing message to be transferred from memory 70 to television 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. Custom messages can also be directed to users based on their subscriptions. For example, if the content provider is offering a Cinemax and HBO package offer for a special price, an advertising message could be disseminated along with the conditional logic that indicates that the message is addressed to those users who are subscribed only to HBO , or that are subscribed only to Cinemax, and is not aimed at subscribers subscribed to 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. Custom messages can also be based on past viewing habits. For example, a message can be addressed to all users who like romantic comedies (for example, “Buy the premiere of My Best Friend’s Wedding, which begins at 8 p.m. on Channel 310”). The conditional logic associated with said message may include a check that requires IRD 36 to view the user's viewing history. Conditional logic may indicate that the message is appropriate to be displayed only if the user has seen a threshold number of romantic comedies. As an alternative, conditional logic may indicate that the message is appropriate to be shown only if romantic comedies are the type of movie most viewed by the user. When an IRD 36 receives a message that includes conditional logic related to the user's viewing habits of the past, microprocessor 58 examines a historical selection table stored in memory 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. In summary, people with ordinary knowledge in the field will readily appreciate that a procedure and a system for displaying and storing conditional objects has been provided. Users of the systems that implement the teachings of the present invention can enjoy flexible data visualization and improved memory efficiency.

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. The above description has been presented for illustrative and descriptive purposes. It is not intended to be exhaustive or limit the invention to the precise manner disclosed. Many modifications and variations are possible in light of the previous teachings. It is intended that the scope of the invention is not limited by this detailed description, but by the appended claims.

Claims (10)

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: 1.- Procedure for broadcasting television content and programming guide data, in which the television content is divided into a plurality of television channels, each television channel is constructed from at least one content component and the programming guide data includes multiple channel objects, each channel object is associated with one of the television channels, each channel object includes at least a 5 channel definition that defines the content components necessary to build the associated television channel with that channel object, in which the procedure comprises: proporcionar el contenido de televisión y los datos de la guía de programación; provide television content and programming guide data; 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; add conditional logic to channel objects, which includes more than one channel definition, including conditional logic one or more conditions that must be evaluated by a receiver to identify an appropriate 10 channel definition; combinar el contenido de televisión y los datos de la guía de programación en un flujo de salida; y combine television content and programming guide data in an outflow; Y difundir el flujo de salida a una pluralidad de receptores. disseminate the outflow to a plurality of receivers. 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. 2. Method according to claim 1, characterized in that one of the conditions contained in the conditional logic of a channel object is based on the subscription data representing channels to which a user is subscribed. 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. 3. Method according to claim 1, characterized in that one of the conditions contained in the conditional logic of a channel object is based on the historical selection data representing programs that a user has previously seen. 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. 4. Method according to claim 1, characterized in that one of the conditions in the conditional logic 20 of a channel object is based on the data of the characteristics of the receiver that represent a characteristic of the receivers. 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 5. Method according to claim 4, characterized in that the data of the characteristics of the receiver include the geographic location data representing a specific geographical location, and one of the conditions contained in the conditional logic of a channel object is based on the data of geographic location. 25 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. 6. Method according to claim 4, characterized in that the data of the characteristics of the receiver include at least one identification code that uniquely identifies a receiver, and one of the conditions contained in the conditional logic of a channel object is based on The identification code. 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. 7. Method according to claim 1, characterized in that one of the conditions contained in the conditional logic of a channel object is based both on the current time at the place of the receivers and on the subscription data representing the channels to the channels. that the users of the recipients are subscribed. 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 8. Method according to claim 1, characterized in that one of the conditions contained in the conditional logic of a channel object associated with a pay-per-view television channel is based on the current time in the place of the receivers and the data of pay per view purchase representing pay per view programs that have been commissioned by a user. 35 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: 9.- Procedure for receiving television content and programming guide data that are broadcast from a television broadcasting station, in television content is divided into a plurality of television channels, each television channel is constructed from at least one content component and the program guide data includes multiple channel objects, each channel object is associated with one of the television channels, each channel object includes at least one channel definition that defines the components of 40 content necessary to construct the television channel associated with that channel object, and each channel object with more than one channel definition includes conditional logic that has one or more conditions that must be evaluated to identify an appropriate channel definition, the procedure comprising : 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 receive television content and programming guide data from a receiving station that includes a receiver; Four. Five almacenar los datos de la guía de programación en una memoria (70); storing the program guide data in a memory (70); recibir una solicitud de sintonización que selecciona un canal de televisión; receive a tuning request that selects a television channel; 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 respond to the tuning request by an evaluation of the conditions in the conditional logic of the channel object associated with the selected television channel and identify the appropriate channel definition for that television channel; and 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. generate an output of the selected television channel, including the output the content components defined by the appropriate channel definition identified. 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: 10.- System for receiving television content and programming guide data that is broadcast from a television broadcasting station, in which television content is divided into a plurality of television channels, each television channel is constructed from at least one content component, the program guide data includes multiple channel objects, each channel object is associated with one of the 5 television channels, each channel object includes at least one channel definition that defines the Content components necessary to construct the television channel associated with that channel object, and each channel object with more than one channel definition includes conditional logic that has one or more conditions that must be evaluated to identify an appropriate channel definition, comprising the system: un receptor (36) para recibir el contenido de televisión; 10 a receiver (36) to receive the television content; 10 una memoria (70) para almacenar los datos de la guía de programación recibidos; a memory (70) for storing the received program guide data; 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 a controller (58) coupled to memory (70), the controller receiving a tuning request that selects a television channel, the controller responding to the tuning request by evaluating the conditions in the conditional logic of the channel object associated with the selected television channel and identifying the appropriate channel definition for that television channel; and 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. display means for generating an output of the selected television channel, including the output the content components defined by the appropriate channel definition identified.
ES00106040T 1999-03-29 2000-03-29 METHOD AND APPLIANCE TO PROCESS, STORE AND CONDITIONALLY DISPLAY THE CONTENT OF DIGITAL CHANNELS IN A TELEVISION RECEPTION SYSTEM. Expired - Lifetime ES2355352T3 (en)

Applications Claiming Priority (3)

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

Publications (1)

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

Family

ID=43709109

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00106040T Expired - Lifetime ES2355352T3 (en) 1999-03-29 2000-03-29 METHOD AND APPLIANCE TO PROCESS, STORE AND CONDITIONALLY DISPLAY THE CONTENT OF DIGITAL CHANNELS IN A TELEVISION RECEPTION SYSTEM.

Country Status (1)

Country Link
ES (1) ES2355352T3 (en)

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 (en) SIGNALING OF INFORMATION IN BIRTH IN A DIGITAL TRANSMISSION SYSTEM.
ES2385430T3 (en) Method for processing specific program parameters derived from multiple broadcast sources
ES2292386T3 (en) OBJECTIVE PRESENTATION OF ADVERTISING ANNOUNCEMENTS BASED ON THE PARTIAL PROFILE OF THE SPECTORS.
KR100629413B1 (en) Smartcard for use with a receiver of encrypted broadcast signal, and receiver
KR100694759B1 (en) Broadcasting and receiving messages
US5978649A (en) Method and apparatus for dynamic conditional channel authorization in a broadcast system
KR100589447B1 (en) Signal generation and broadcasting
ES2222210T3 (en) A METHOD FOR ACQUIRING AND TREATING PROGRAMS ISSUED, PROGRAM GUIDES AND CHANNEL IDENTIFICATION DATA.
KR100959147B1 (en) Mpeg table structure
ES2207953T3 (en) NAVIGATION SYSTEM FOR MULTICHANNEL DIGITAL TELEVISION SYSTEM.
US7146626B1 (en) Method and apparatus for storing and displaying digital objects associated with an electronic television program guide using fuzzy logic
ES2203070T3 (en) MULTIMEDIA TERMINAL FOR MULTIPLE USERS.
ES2380136T3 (en) Television programming system and operating method
KR100686967B1 (en) Application Data Table for a Multiservice Digital Transmission System
ES2209526T3 (en) TELEVISION SIGNAL RECEIVER.
KR20060066173A (en) Broadcast and reception system, and receiver
EP1072104A1 (en) Gps data access system
JP2010063145A (en) Method and apparatus for selectively supplying advertising messages to viewer terminals
ES2378758T3 (en) System for processing programs and temporary system information derived from various sources of dissemination
ES2301457T3 (en) METHOD AND APPLIANCE FOR SHARING TELEPHONE PREFERENCES.
ES2355352T3 (en) METHOD AND APPLIANCE TO PROCESS, STORE AND CONDITIONALLY DISPLAY THE CONTENT OF DIGITAL CHANNELS IN A TELEVISION RECEPTION SYSTEM.
KR100673647B1 (en) System for providing intergrated electronic program guide
KR20000076400A (en) Broadcast and Reception System, and Conditional Access System therefor
MXPA01003050A (en) Application data table for a multiservice digital transmission system