ES2226352T3 - Gestion de memoria en una receptor/descodificador. - Google Patents

Gestion de memoria en una receptor/descodificador.

Info

Publication number
ES2226352T3
ES2226352T3 ES99910630T ES99910630T ES2226352T3 ES 2226352 T3 ES2226352 T3 ES 2226352T3 ES 99910630 T ES99910630 T ES 99910630T ES 99910630 T ES99910630 T ES 99910630T ES 2226352 T3 ES2226352 T3 ES 2226352T3
Authority
ES
Spain
Prior art keywords
message
fifo
buffer
receiver
section
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
ES99910630T
Other languages
English (en)
Inventor
Jerome Meric
Christophe Declerck
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of ES2226352T3 publication Critical patent/ES2226352T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Communication Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Transfer Systems (AREA)
  • Channel Selection Circuits, Automatic Tuning Circuits (AREA)

Abstract

Receptor/descodificador que comprende: al menos un puerto (10) para recibir mensajes; al menos un módulo de aplicación (2); una memoria (13) que incluye una sección (13-C)de memoria tampón y una sección FIFO (13-F);medios de control (14-B) de memoria tampón operativos en respuesta a un mensaje que aparece en un puerto (10) para escribir el mensaje en la sección (13-C) de memoria tampón y, tras haberse completado la escritura del mensaje, para leer el mensaje desde la sección (13-C) de memoria tampón a un módulo de aplicación (12) en respuesta a una señal de control procedente del módulo de aplicación (12); medios de control FIFO (14-F) acoplados al o a cada puerto (10), la memoria (13), y el o cada módulo de aplicación (12), operativos en respuesta a un mensaje que aparece en un puerto (10) para escribir el mensaje en la sección FIFO (13-F) y y para leer el mensaje desde la sección FIFO (13-F) a un módulo de aplicación (12) o a otro puerto (10) sin esperar a que se haya completado la escritura del mensaje; permitiendo por tanto, dependiendo de las necesidades de un módulo de aplicación (12) y/o de la naturaleza del mensaje, que un mensaje recibido en un puerto (10) sea leído a otro puerto (10) sin esperar a que se haya completado la escritura del mensaje, o ser leído a un módulo de aplicación (12) bien tras haberse completado la escritura del mensaje o sin esperar a que se haya completado la escritura del mensaje.

Description

Gestión de memoria en un receptor/descodifi-
cador.
La presente invención se refiere a un receptor/descodificador, en particular a gestión de memoria en el mismo y a transferencia de datos en el mismo. La invención encuentra aplicación particular para la interfaz de programas de aplicación a dispositivos físicos.
El término "receptor/descodificador" usado aquí se puede referir a un receptor para recibir señales bien codificadas o no codificadas, por ejemplo señales de televisión y/o radio, que pueden ser radiodifundidas o transmitidas mediante otros medios. El término se puede referir también a un descodificador para descodificar señales recibidas. Las realizaciones de tales receptores/descodificadores pueden incluir un descodificador de una sola pieza con el receptor para descodificar las señales recibidas, por ejemplo, en una "caja superpuesta para equipo", funcionando un descodificador de este tipo en combinación con un receptor físicamente separado, o incluyendo un tal descodificador funciones adicionales, tales como un buscador de red, una grabadora de vídeo, o una televisión.
En un sistema de radiodifusión de televisión digital, las señales recibidas se hacen pasar a un receptor/descodificador y de allí a un aparato de televisión. Tal como se usa aquí, el término "sistema de televisión digital" incluye por ejemplo cualquier sistema por satélite, terrestre, por cable u otro. El receptor/descodificador descodifica una señal tipo MPEG comprimida en una señal de televisión para el aparato de televisión. El mismo es controlado mediante un microteléfono de control remoto, a través de una interfaz en el receptor/descodificador. El receptor/descodificador se usa para procesar la corriente de bits de entrada, e incluye una variedad de módulos de aplicaciones que ocasionan que el receptor/descodificador efectúe una variedad de funciones de control y otras.
Un receptor/descodificador de este tipo puede tener una variedad de dispositivos conectados al mismo, tales como una lectora de tarjetas para que el usuario pase a su través una tarjeta de autorización para confirmar qué servicios el usuario está autorizado a usar, un mando portátil de control del receptor, una unidad de presentación de vídeo, y una segunda lectora de tarjetas para su uso con tarjetas bancarias, para permitir al usuario efectuar funciones de banca doméstica. El mismo puede tener también una variedad de puertos acoplados a él, por ejemplo un módem para acceso a Internet y para llevar a cabo transacciones de banca doméstica.
Se ha propuesto proporcionar a un receptor/descodificador la capacidad de interfaz con una variedad de diferentes puertos, tales como un módem, un canal serie, un canal paralelo, un canal MPEG (señal de vídeo comprimida y codificada), lectoras de tarjetas por tiento, etcétera. El receptor/descodificador incluye una máquina virtual que incluye un motor de tiempo de ejecución. La máquina virtual está acoplada a un gestor de dispositivos que está acoplado a su vez a las interfaces físicas de los diversos canales a través de dispositivos y de propulsores de dispositivos.
La presente invención se refiere más particularmente a un receptor/descodificador que tiene uno o más módulos de aplicaciones que están acoplados a uno o más puertos o dispositivos a través de los cuales se puede hacer pasar información a y desde los módulos de aplicaciones.
En general, los diversos puertos tienen diferentes características, por ejemplo en velocidades de datos (desde unos pocos bps (bits por segundo) para un mando portátil de control de receptor a muchos Mbps (para una corriente de bits MPEG)). Es por tanto usual prever un módulo de gestión de dispositivos que de hecho forma una interfaz entre los módulos de aplicaciones y los puertos. Esto permite simplificar los módulos de aplicaciones.
Cuando un módulo de aplicación desea enviar información, con frecuencia será capaz de controlar la velocidad de transmisión y otros parámetros dependiendo de las condiciones en el receptor/descodificador. Para la recepción de información, sin embargo, la velocidad de transmisión será determinada con frecuencia por condiciones externas. Por tanto, para evitar la pérdida de información, el módulo de gestión de dispositivos incluirá normalmente disposiciones de memoria tampón, de modo que la información de entrada es memorizada en una memoria tampón hasta que el módulo de aplicación receptor esté listo para aceptarla.
El módulo de gestión de dispositivos puede estar convenientemente diseñado para definir o designar una variedad de memorias tampón, permitiendo así disposiciones de comunicación flexibles entre los módulos de aplicaciones, el módulo de gestión de dispositivos, y los puertos.
El principio básico de la memorización tampón en el receptor/descodificador es que una sección de memoria en una memoria se designa como memoria tampón. Los datos de entrada procedentes del puerto son alimentados a la memoria tampón, y el módulo de aplicación lee la información desde la memoria tampón. Dependiendo de las circunstancias, el tamaño de la memoria tampón se puede elegir para que sea lo bastante grande para alojar la mayoría de todos los mensajes de entrada, o la memoria tampón puede ser operada cíclicamente, con dos punteros, uno para el punto en el que nuevos datos de entrada son escritos en la memoria y el otro para el punto en el que los datos memorizados son leídos desde la memoria tampón. No es posible una comunicación independiente entre dispositivos, y el sistema puede ser algo insensible, porque una memoria tampón precisa ser llenada por un puerto antes de que los datos puedan ser leídos desde dicha memoria tampón a otro puerto.
El documento US 5.442.390 describe un sistema para visualizar vídeos interactivamente, en el cual un vídeo seleccionado es transmitido como una pluralidad de marcos para su reproducción en un dispositivo de visualización. El sistema incluye una memoria tampón para memorizar un segmento de un vídeo seleccionado. La memoria tampón incluye un puntero de escritura y un puntero de lectura. Están previstos servidores para escribir y leer datos de vídeo del vídeo seleccionado a y desde la memoria tampón, independientemente, en posiciones indicadas mediante los punteros de escritura y lectura, para transferir el vídeo seleccionado al dispositivo de visualización. Usando un controlador remoto, el observador puede posicionar los punteros de lectura y escritura para ver cualquier parte del vídeo seleccionado interactivamente.
El principal objetivo de la presente invención es proporcionar disposiciones de tratamiento de mensajes mejoradas en sistemas del tipo anterior.
En consecuencia, la presente invención proporciona un receptor/descodificador tal como se señala en la reivindicación 1.
Éste puede permitir un paso eficiente del mensaje de entrada a un módulo de aplicación con una interferencia mínima con la operación del módulo de aplicación. De modo distinto a los sistemas de memorización tampón anteriores, la transferencia de datos está bajo control de medios de control FIFO, o controlador FIFO, y no bajo control de una aplicación. Como la memoria incluye adicionalmente una
sección de memoria tampón, y el receptor/desco-
dificador incluye además medios de control de memoria tampón, o un controlador de memoria tampón, operativo en respuesta a un mensaje que aparece en un puerto para escribir el mensaje en la sección de memoria tampón de la memoria y en respuesta a una señal de control procedente de un módulo de aplicación para leer el mensaje desde la memoria tampón al módulo de aplicación, esto puede permitir, por ejemplo, a una aplicación determinar si un mensaje recibido se ha de colocar bien en la sección FIFO o en la sección de memoria tampón, dependiendo de la naturaleza del mensaje.
Los medios de control FIFO están dispuestos preferiblemente para iniciar la lectura de un mensaje desde la sección FIFO de la memoria a dicha aplicación o a dicho otro puerto antes de que se haya completado la recepción del mensaje. De este modo se puede mantener un flujo continuo de datos desde un puerto, o dispositivo, a otro puerto, o dispositivo. Por ejemplo, los datos recibidos desde un dispositivo fuente MPEG pueden ser enviados directamente a un dispositivo de vídeo sin entrada alguna desde una aplicación.
Los medios de control FIFO pueden estar dispuestos para borrar un mensaje procedente de la sección FIFO. Esto puede permitir que el procesamiento del flujo de información se mantenga en caso de desbordamiento de capacidad en la sección FIFO.
Los medios de control FIFO incluyen preferiblemente medios de detector de ocupación, o un detector de ocupación, para detectar el estado de ocupación de la sección FIFO. Los medios de detector de ocupación pueden detectar desbordamiento de capacidad y desbordamiento de capacidad mínima de la sección FIFO, y pueden además detectar al menos un umbral de desbordamiento de capacidad y desbordamiento de capacidad mínima inminente de la sección FIFO. Esto puede permitir al controlador FIFO enviar mensajes de control apropiados a la fuente del mensaje que está siendo recibido por la sección FIFO y/o al destino del mensaje que está siendo recibido por la sección FIFO.
La sección FIFO puede comprender una pluralidad de memorias tampón FIFO, y los medios de control FIFO pueden comprender una pluralidad respectiva de medios de control de registros FIFO, o controladores de registros FIFO.
La sección de memoria tampón puede comprender dos áreas de memoria tampón definidas mediante registros de memoria tampón respectivos en los medios de control de memoria tampón. Esto puede permitir al controlador de memoria tampón bascular mensajes entre las dos áreas de memoria tampón.
Los medios de control de memoria tampón pueden ser operables en un modo de corriente de bits en el que una corriente de bits de entrada es dirigida al área de memoria tampón seleccionada actualmente, y es a continuación conmutada entre las dos áreas de memoria tampón a medida que cada área de memoria tampón queda llena a su vez. Los medios de control de memoria tampón pueden ser operables además en un modo de esquema de datos en el que la longitud de un mensaje de entrada se compara con el espacio libre en el área de memoria tampón seleccionada actualmente, y si dicho espacio es menor que la longitud del mensaje, se selecciona el otro área de memoria tampón.
El receptor/descodificador puede incluir además una unidad de aplicación del dispositivo de vídeo alimentada desde la sección FIFO y que alimenta a una unidad de chip de vídeo que es alimentada también con una corriente de bits de vídeo.
La presente invención se extiende también a un sistema de radiodifusión que comprende un receptor/descodificador tal como se ha mencionado más arriba y medios para transmitir mensajes al receptor/descodificador.
Diversas funciones del receptor/descodificador pueden ser implementadas en hardware (equipo físico), por ejemplo en un circuito integrado dedicado; esto puede proporcionar una velocidad de operación aumentada. Preferiblemente, sin embargo, al menos algunas de las funciones son implementadas en software (soporte lógico), ejecutado preferiblemente mediante los medios de procesamiento que ejecutan las aplicaciones; esto permite mayor flexibilidad, requiere menos componentes, y permite que el receptor/descodificador sea actualizado más fácilmente.
Se describirá ahora un receptor/descodificador que pone en práctica la invención, a título de ejemplo, haciendo referencia a los dibujos, en los que:
Figura 1 es un diagrama esquemático de las interfaces del receptor/descodificador;
Figura 2 es un diagrama funcional de bloques del receptor/descodificador;
Figura 3 es un diagrama de bloques simplificado del sistema de gestión de mensajes en el receptor/descodificador;
Figura 3A es un diagrama de bloques más detallado del sistema de gestión de mensajes que muestra el sub-sistema de memoria tampón;
Figura 3B es un diagrama de bloques más detallado del sistema de gestión de mensajes que muestra el sub-sistema FIFO;
Figura 4A es un diagrama simplificado de una unidad de registro de memoria tampón;
Figura 4B es un diagrama simplificado de una unidad de registro FIFO; y
Figura 5 es un diagrama de bloques que muestra cómo el sistema de tratamiento de mensajes puede interactuar con la corriente de bits MPEG principal.
Haciendo referencia a Figura 1, se representa esquemáticamente un receptor/descodificador 2020 o caja superpuesta para equipo, para uso en un sistema de televisión interactivo digital. Detalles de un sistema de televisión interactivo digital apropiado se pueden encontrar en nuestras Solicitudes PCT/EP97/02106 - 02117, en tramitación junto con la presente. Para mayor comodidad de referencia, las partes descritas en mayor detalle en las memorias descriptivas arriba mencionadas se designan generalmente mediante los números de referencia usados en dichas memorias descriptivas.
Tal como se describe en mayor detalle en las memorias descriptivas arriba mencionadas, haciendo referencia a Figuras 1 y 2, el receptor/descodificador 2020 incluye varios puertos; específicamente, un sintonizador 4028 para el flujo de señales MPEG, una interfaz serie 4030, una interfaz paralelo 4032, y dos lectoras 4036 de tarjetas, una para una tarjeta inteligente que forma parte del sistema y una para tarjetas bancarias (usadas para hacer pagos, para banca doméstica, etc.). El receptor/descodificador incluye también una interfaz 4034 para un canal de retorno 4002 dotado de módem al productor de la señal de televisión, de modo que el usuario puede indicar preferencias, etc. como realimentación al productor de la señal (programa) de televisión. El receptor/descodificador incluye también un motor de tiempo de ejecución 4008, un gestor 4068 de dispositivos y una pluralidad de dispositivos 4062 y propulsores 4060 de dispositivos para ejecutar una o más aplicaciones 4056.
En esta descripción, una aplicación es una parte de código de ordenador para controlar funciones de alto nivel de preferiblemente el receptor/descodificador 2020. Por ejemplo, cuando el usuario final posiciona el foco de un controlador remoto sobre un objeto botón visto en la pantalla del aparato de televisión 2022 y presiona una tecla de validación, se ejecuta la secuencia de instrucciones asociada con el botón.
Una aplicación interactiva propone menús y ejecuta órdenes a petición del usuario final, y proporciona datos relacionados con la finalidad de la aplicación. Las aplicaciones pueden ser bien aplicaciones residentes, es decir memorizadas en la ROM (o FLASH u otra memoria no volátil) del receptor/descodificador 2020, o radiodifundidas y descargadas a la memoria RAM o FLASH del receptor/descodificador 2020.
Las aplicaciones son memorizadas en posiciones de memoria en el receptor/descodificador 2020 y representadas como archivos de recursos. Los archivos de recursos comprenden archivos de unidades de descripción de objetos gráficos, archivos de unidades de bloques variables, archivos de secuencias de ins-
trucciones, archivos de aplicaciones y archivos de datos, tal como se describe en mayor detalle en las memorias descriptivas de las Patentes arriba mencionadas.
El receptor/descodificador contiene memoria dividida en un volumen RAM, un volumen FLASH y un volumen ROM, pero esta organización física es distinta de la organización lógica. La memoria puede estar dividida además en volúmenes de memoria asociados con las diversas interfaces. Desde un punto de vista, la memoria se puede considerar como pare del hardware; desde otro punto de vista, la memoria se puede considerar como soportando o conteniendo el conjunto del sistema mostrado por separado del hardware.
El receptor/descodificador se puede considerar como centrado sobre un motor de tiempo de ejecución 4008 que forma parte de una máquina virtual 4007. Ésta está acoplada a aplicaciones por un lado (el lado "de alto nivel"), y por el otro lado (el lado "de bajo nivel"), a través de diversas unidades lógicas intermedias descritas más abajo, al hardware 4061 del receptor/descodificador. El hardware del receptor/descodificador se puede considerar que incluye los diversos puertos tal como se ha descrito más arriba (la interfaz 4030 para el microteléfono 2026, la interfaz 4028 de corriente MPEG, la interfaz serie 4030, la interfaz paralelo 4032, las interfaces 4036 para las lectoras de tarjetas, y la interfaz 4034 para el canal de retorno 4002 dotado de módem).
Haciendo referencia específicamente a Figura 2, diversas aplicaciones 4056 están acopladas a la máquina virtual 4007; algunas de las aplicaciones usadas más comúnmente pueden ser residentes más o menos permanentemente en el sistema, tal como se indica en 4057, mientras que otras serán descargadas al sistema, por ejemplo desde la corriente de datos MPEG o desde otros puertos, según se requiera.
La máquina virtual 4007 incluye, además del motor de tiempo de ejecución 4008, algunas funciones de biblioteca residente 4006 que incluyen una caja de herramientas 4058. La biblioteca contiene funciones misceláneas en lenguaje C usadas por el motor 4008. Éstas incluyen estructuras de manipulación de datos tales como compresión, expansión o comparación de datos, dibujo de líneas, etc. La biblioteca 4006 incluye también información sobre software de empresa en el receptor/descodificador 2020, tal como números de versión de hardware y software y espacio RAM disponible, y una función usada al descargar un nuevo dispositivo 4062. Las funciones pueden ser descargadas a la biblioteca, siendo memorizadas en memoria FLASH o RAM.
El motor de tiempo de ejecución 4008 está acoplado a un gestor 4068 de dispositivos que está acoplado a un juego de dispositivos 4062 que están acoplados a propulsores 4060 de dispositivos que están acoplados a su vez a los puertos o interfaces. En términos amplios, un propulsor de dispositivo se puede considerar que define una interfaz lógica, de modo que dos propulsores de dispositivos diferentes pueden estar acoplados a un puerto físico común. Un dispositivo estará acoplado normalmente a más de un propulsor de dispositivo; si un dispositivo está acoplado a un único propulsor de dispositivo, el dispositivo estará diseñado normalmente para incorporar la plena funcionalidad requerida para la comunicación, por lo que se obvia la necesidad de un propulsor de dispositivo separado. Ciertos dispositivos pueden comunicar entre ellos.
Tal como se describirá más abajo, hay 3 formas de comunicación ascendente desde los dispositivos 4062 al motor de tiempo de ejecución: por medio de variables, memorias tampón, y eventos que se hacen pasar a un juego de colas de eventos.
Cada función del receptor/descodificador 2020 se representa como un dispositivo 4062. Los dispositivos pueden ser bien locales o remotos. Los dispositivos locales 4064 incluyen tarjetas inteligentes, señales de conectores SCART, módems, interfaces serie y paralelo, un reproductor de vídeo y audio MPEG y un extractor de secciones y tablas MPEG. Los dispositivos remotos 4066, ejecutados en un lugar remoto, difieren de los dispositivos locales en que un puerto y dispositivo deben ser definidos por la autoridad o el diseñador del sistema, en lugar de por un dispositivo y propulsor del dispositivo proporcionados y diseñador por el fabricante del receptor/descodificador.
El motor de tiempo de ejecución 4008 funciona bajo el control del microprocesador y una interfaz de programación de aplicaciones común. Éstos están instalados en cada receptor/descodificador 2020, por lo que todos los receptores/descodificadores 2020 son idénticos desde el punto de vista de las aplicaciones.
El motor 4008 ejecuta aplicaciones 4056 sobre el receptor/descodificador 2020. El mismo ejecuta aplicaciones interactivas 4056 y recibe eventos desde fuera del receptor/descodificador 2020, presenta gráficos y texto, llama a dispositivos solicitando servicios y usa funciones de la biblioteca 4006 conectada al motor 4008 para cálculos específicos.
El motor de tiempo de ejecución 4008 es un código ejecutable instalado en cada receptor/descodificador 2020 e incluye un intérprete para interpretar y ejecutar aplicaciones. El motor 4008 es adaptable a cualquier sistema operativo, incluyendo un sistema operativo de tarea única (por ejemplo MS-DOS). El motor 4008 se basa en unidades secuenciadoras de procesos (que toman diversos eventos, tales como un prensado de tecla, para llevar a cabo diversas acciones) y contiene su propio planificador para gestionar colas de eventos procedentes de las diferentes interfaces del hardware. El mismo trata también la presentación de gráficos y texto. Una unidad secuenciadora de procesos comprende un juego de grupos de acciones. Cada evento ocasiona que la unidad secuenciadora de procesos se mueva desde su grupo de acciones actual a otro grupo de acciones dependiendo del carácter del evento, y para ejecutar las acciones del nuevo grupo de acciones.
El motor 4008 comprende un cargador de códigos para cargar y descargar aplicaciones 4056 a la memoria del receptor/descodificador. Sólo el código necesario es cargado en la memoria RAM o FLASH, al objeto de asegurar su uso óptimo. Los datos descargados son verificados mediante un mecanismo de autenticación para impedir cualquier modificación de una aplicación 4056 o la ejecución de cualquier aplicación no autorizada. El motor 4008 comprende además un descompresor. Como el código de aplicación (una forma de código intermedio) es comprimido para ahorrar espacio y para mayor rapidez de descarga desde la corriente MPEG o por medio de un modo receptor/descodificador integrado, el código debe ser descomprimido antes de cargarlo en la RAM. El motor 4008 comprende también un intérprete para interpretar el código de aplicación para actualizar diversos valores variables y determinar cambios de estatus, y un comprobador de errores.
Antes de usar los servicios de cualquier dispositivo 4062, un programa (por ejemplo, una secuencia de instrucciones de aplicación) debe ser declarado como un "cliente", es decir, una vía de acceso lógico al dispositivo 4062 o al gestor 4068 de dispositivos. El gestor da al cliente un número de cliente al que se hace referencia en todos los accesos al dispositivo. Un dispositivo 4062 puede tener varios clientes, siendo el número de clientes para cada dispositivo 4062 especificado dependiendo del tipo de dispositivo 4062. Un cliente es introducido al dispositivo 4062 mediante un procedimiento "Dispositivo: abrir canal". Ese procedimiento asigna un número de cliente al cliente. Un cliente puede ser sacado fuera de la lista de clientes del gestor 4068 de dispositivos mediante un procedimiento: "Dispositivo: cerrar canal".
El acceso a dispositivos 4062 proporcionado por el gestor 4068 de dispositivos puede ser bien sincrónico o asincrónico. Para el acceso sincrónico se usa un procedimiento "Dispositivo: llamar". Éste es un medio de acceso a datos que está disponible inmediatamente o una funcionalidad que no implica espera para la respuesta deseada. Para el acceso asincrónico se usa un procedimiento "Dispositivo: I/O". Éste es un medio de acceso a datos que implica esperar para una respuesta, por ejemplo explorando frecuencias de sintonizador para encontrar un multiplex o recuperando una tabla desde la corriente MPEG. Cuando el resultado solicitado está disponible, se pone un evento en la cola del motor para indicar su llegada. Otro procedimiento "Dispositivo: evento" proporciona un medio para gestionar eventos inesperados.
Tal como se ha señalado más arriba, el bucle principal del motor de tiempo de ejecución está acoplado a una variedad de unidades secuenciadoras de procesos, y cuando el bucle principal encuentra un evento apropiado, el control se transfiere temporalmente a una de las unidades secuenciadoras de procesos.
Así pues, puede apreciarse que el receptor/descodificador proporciona una plataforma que tiene una flexibilidad considerable para permitir a una aplicación comunicar con una variedad de dispositivos.
Para los fines presentes, dispositivos y puertos son equivalentes. Los módulos de aplicaciones necesitan transmitir y recibir información; dicha comunicación puede ser con dispositivos (que son generalmente locales y estrechamente acoplados al sistema de gestión de memoria tampón), o con puertos (que están generalmente acoplados a fuentes de información que son remotas y/o independientes del sistema). El término "puerto" se usará de aquí en adelante para incluir dispositivos.
Haciendo referencia ahora a Figura 3, el receptor/descodificador comprende una pluralidad de unidades de puertos 10, 10', 10'' acopladas por medio de un enlace común de datos 20 y un enlace común de control 21 a un módulo 11 de gestión de dispositivos, que está acoplado a su vez por medio de un enlace común de datos 22 y un enlace común de control 23 a una pluralidad de módulos de aplicaciones 12, 12', 12''. El módulo 11 de gestión de dispositivos está acoplado también por medio de un enlace común de datos 24, un enlace común de direcciones 25 y un enlace común de control 26 a una memoria 13.
Los mensajes que pasan entre los puertos y las aplicaciones pueden pasar a través bien de memorias tampón o de FIFOs (unidades de memoria primero en entrar - primero en salir). La memoria 13 contiene dos áreas, 13-B y 13-F de memoria, para memorias tampón y FIFOs respectivamente, y el módulo 11 de gestión de dispositivos contiene dos controladores, 14-B y 14F respectivamente, para controlar el paso de mensajes a través de las memorias tampón 13-B y de las FIFOs 13-F respectivamente.
Memorias tampón y FIFOs son establecidas y tratadas básicamente de la misma manera. Una memoria tampón o una FIFO es establecida mediante una orden que define sus características (posición de memoria, tamaño, etc.) y puede ser borrada de modo similar. Una vez que una memoria tampón o una FIFO ha sido establecida, puede ser usada seguidamente por puertos y aplicaciones mediante el uso de los procedimientos descritos más arriba.
Considerando en primer lugar el tratamiento de los mensajes que pasan a través de los registros de memoria tampón, la memoria tampón 13-B incluye dos áreas 30 y 31 de memoria tampón (Figura 3A), que están definidas mediante unidades de registros 32 y 33 de memoria tampón respectivas en una unidad de control 34 de direcciones de memoria tampón en el controlador 14-B de memoria tampón en el módulo 11 de gestión de dispositivos. El controlador de memoria tampón en el módulo de gestión de dispositivos contiene también una unidad de control 35 que controla la unidad de control 34 de direcciones de memoria tampón. Un enlace común de datos 36 acopla todas las vías para datos conjuntamente en el módulo 11 de gestión de dispositivos.
Haciendo referencia a Figura 4A, cada una de las unidades de registros de memoria tampón contiene cierto número de registros de direcciones 32-1, 32-2,... 32-n. Estos registros incluyen un registro superior 32-1 y un registro inferior 32-n, que están predeterminados y definen el extremo superior y el extremo inferior del área de memoria tampón respectiva en la memoria 13, y un registro de puntero 32' que apunta al punto en el área de memoria tampón en la que han de ser escritos los datos de entrada. (Por tanto, el registro de puntero 32' apunta a la frontera, en el área de memoria tampón, entre la parte que contiene datos y la parte que está vacía.)
Las diversas unidades de puertos 10, 10', 10'' pueden iniciar mensajes a los diversos módulos de aplicaciones 12, 12', 12'' que se han de hacer pasar a través de los registros de memoria tampón 13-B. Estos mensajes pueden ser de dos tipos básicos, corrientes de datos y esquemas de datos. La distinción entre estos dos tipos de mensajes es que una corriente de bits es un mensaje de longitud no definida, mientras que un esquema de datos es un mensaje de longitud predeterminada. El tipo de mensaje puede ser determinado por la fuente del mensaje (tal como se indica mediante las señales de control que acompañan al mensaje), o por una cabecera del mensaje (tal como es controlada por la unidad del control 35 desde el enlace común de datos 36).
Algunas unidades de puertos pueden ser capaces de iniciar ambos tipos de mensajes; otras pueden ser capaces de iniciar uno u otro tipo. Cuando un puerto 10 quiere iniciar un mensaje, el módulo 11 de gestión de dispositivos selecciona ese puerto 10 y el módulo de aplicación 12 apropiado de manera convencional.
La unidad de control 35 tiene dos modos de operación, dependiendo de si el mensaje de entrada es una corriente de bits o un esquema de datos.
La unidad de control 35 incluye un elemento selector binario o circuito biestable 37 que selecciona cuál de las dos áreas 30, 31 de memoria tampón ha de ser usada. Para una corriente de bits, la unidad de control 35 dirige la corriente de bits de entrada al área 30 de memoria tampón seleccionada actualmente hasta que ésta se llena. En ese momento, la unidad de control 35 cambia el estado del elemento selector 37 para seleccionar la otra área 31 de memoria tampón, y dirige la corriente de datos a esa área de memoria tampón hasta que esa área de memoria tampón se llena. El mismo selecciona entonces nuevamente el área 30 de memoria tampón, y continúa conmutando o basculando entre las dos áreas de memoria tampón hasta que termina la corriente de bits.
Se ha dicho más arriba que la unidad de control 35 selecciona una de las áreas 30, 31 de memoria tampón, dirige la corriente de bits de entrada a esa área 30 de memoria tampón, y así sucesivamente, pero por supuesto se apreciará que esta afirmación lo es en términos simplificados. En mayor detalle, la unidad de control 35 selecciona de hecho una de las dos unidades de registros 32, 33 de direcciones de memoria tampón, usa el registro de puntero 32' en la unidad 32 seleccionada para seleccionar las direcciones en el área de memoria tampón en las cuales son escritos los datos de entrada, y bascula entre las dos unidades de registros 32, 33 de direcciones de memoria tampón según sea apropiado.
La unidad de control 35 informa también al módulo de aplicación 12 de que se está recibiendo la corriente de bits. Se supone que el módulo de aplicación 12 lee el mensaje, parte por parte, desde las dos áreas 30, 31 de memoria tampón alternativamente, de modo que las áreas de memoria tampón no se sufren desbordamiento de capacidad (es decir, que los datos ya en las áreas de memoria tampón son leídos por el módulo de aplicación antes de que nuevos datos que entran como parte de la corriente de bits sean escritos sobre los datos antiguos). El módulo de aplicación 12 puede mantener uno o más registros de direcciones para esta lectura, o puede estar previsto un registro de dirección adicional en cada una de las unidades de registros 32, 33 de direcciones de memoria tampón para este fin. Cuando se ha completado la lectura del mensaje memorizado, los registros de direcciones de punteros en las unidades de registros 32, 33 de di-
recciones de memoria tampón son restaurados.
Para un esquema de datos, la unidad de control 35 determina la longitud del esquema de datos, e interroga a la unidad de registro de dirección de memoria tampón seleccionada actualmente para determinar cuánto espacio hay disponible en ella. Este valor del espacio libre se obtiene determinando las diferencias entre los valores en los registros de direcciones superior y de puntero. La unidad de control compara entonces el valor del espacio libre con la longitud del esquema de datos, y si la longitud del esquema de datos es mayor que el valor del espacio libre, cambia el estado del elemento selector 37 para seleccionar la otra área de memoria tampón.
Si, en el modo de corriente de bits, el mensaje de entrada desborda la capacidad de las áreas 30, 31 de memoria tampón, o si, en el modo de esquema de datos, ningún área de memoria tampón tiene espacio libre suficiente para aceptar el mensaje de entrada, el sistema entra entonces en un modo de fallo en el que se inhibe o aborta la recepción del mensaje. Se puede entonces tomar una acción de recuperación apropiada, por ejemplo, solicitando la retransmisión del mensaje si ello es posible, o restaurando el sistema al estado en el que estaba antes de que comenzara la recepción del mensaje.
Así pues, para una corriente de bits, el mensaje de entrada es dirigido a aquella área de memoria tampón que esté seleccionada actualmente, y si el mensaje de entrada desborda la capacidad de esa área, el mismo es conmutado automáticamente a la otra área de memoria tampón, repitiéndose la conmutación entre las dos áreas de memoria tampón si es necesario. Con un esquema de datos, sin embargo, el mensaje de entrada completo es dirigido a una única área de memoria tampón.
Esto permite aceptar con éxito mensajes de entrada de longitudes tanto arbitrarias como conocidas, con una organización relativamente sencilla de los registros de memoria tampón.
Las memorias tampón se pueden usar también más generalmente para la transmisión de mensajes entre aplicaciones.
Volviendo ahora al tratamiento de mensajes que pasan a través de las FIFOs, la memoria tampón 13-F incluye un juego de FIFOs 40 (Figura 3B), que están definidas mediante unidades de registros FIFO 41 respectivas en el controlador FIFO 14-F en el módulo 11 de gestión de aplicaciones. Los datos pasan a y desde las FIFOs 40 a través del enlace común de datos 24, que está acoplado al enlace común de datos 36 (Figura 3A). El controlador FIFO 14-F en el módulo de gestión de dispositivos incluye también un juego de unidades de control FIFO 43, que controlan la escritura de mensajes en las FIFOs 40 y la lectura de dichos mensajes desde las FIFOs.
Haciendo referencia a Figura 4B, cada una de las unidades de registros FIFO 41 contiene cierto número de registros de direcciones 42-1, 42-2, ... 42-n. Estos registros incluyen un registro superior 42-1 y un registro inferior 42-n, que están predeterminados y definen el extremo superior y el extremo inferior del área FIFO respectiva en la memoria 13, un registro de puntero de escritura 42-3 que apunta al punto en el área FIFO en la que han de ser escritos los datos de entrada, y un registro de puntero de lectura 42-2 que apunta al punto en el área FIFO desde la que han de ser leídos los datos ya memorizados.
Considerando generalmente el gestor de dispositivos, por tanto, los mensajes se pueden hacer pasar desde puertos a aplicaciones, desde aplicaciones a puertos, y entre aplicaciones, usando bien memorias tampón o FIFOs.
El uso de memorias tampón es controlado mediante aplicaciones de nivel superior. El sistema se basa en eventos; es decir, cuando un mensaje está siendo pasado a una aplicación de nivel superior, la aplicación espera a la recepción de un mensaje "memoria tampón lista" desde el gestor 14-B de memorias tampón antes de tomar acción alguna tendente a leer el contenido de la memoria tampón. Con esta disposición, no es posible una comunicación independiente entre puertos. Además, el sistema puede ser algo insensible, porque una memoria tampón ha de ser llenada por un puerto antes de que otro puerto pueda leer su contenido.
Con FIFOs, el uso es controlado por las unidades de control FIFO 43 en el controlador u operador FIFO 14-F. La información es escrita en una FIFO 40 y leída desde ella bajo el control del operador FIFO 14-F, que incluye la correspondiente unidad de control FIFO 43. La transferencia de datos se encuentra por tanto bajo el control del operador FIFO 14-F en lugar de ser controlada por la aplicación 12. Una corriente de información puede fluir por tanto directamente entre dos puertos 10, así como entre un puerto 10 y una aplicación 12.
Los datos son escritos en la FIFO 40 y leídos desde ella usando los punteros de escritura y lectura 42-1 y 42-2. Estos punteros son controlados por el operador FIFO 14-F. Esto permite que la lectura y escritura de la FIFO 40 se lleven a cabo independientemente. Es decir, el puerto 10 o aplicación 12 no tiene que tener información alguna referente al origen del mensaje que está siendo leído desde la FIFO 40. La lectura de información desde la FIFO 40 se puede iniciar antes de que la FIFO 40 esté llena o antes de que el mensaje haya sido recibido y escrito en la FIFO 40 por completo. Esto permite conseguir un flujo de información sustancialmente continuo. La lectura de información desde la FIFO 40 no precisa ser continua; la lectura se puede detener y reiniciar en cualquier momento.
El operador FIFO 14-F comprueba si la información que está siendo escrita en la FIFO 40 comienza en la dirección inferior FIFO y no va más allá de la dirección superior FIFO. La manera precisa en que es operada una FIFO 40 puede depender del uso particular que se haga de ella. Así pues, una FIFO 40 puede ser operada sobre una base de mensaje único, siendo el inicio de cada mensaje escrito en la dirección inferior FIFO. Alternativamente, una FIFO 40 puede ser operada cíclicamente, siendo el inicio de un nuevo mensaje escrito inmediatamente encima del final del mensaje anterior, y tratándose el extremo superior y el extremo inferior de la FIFO como contiguos.
Si los mensajes son más largos que la longitud de la FIFO 40 o un mensaje comienza a llegar antes de que el mensaje anterior haya sido leído por completo desde la FIFO 40, hay un peligro potencial de conflicto. Las unidades de control FIFO 43 controlan para evitar dicho conflicto. En el caso de que se detecte un conflicto, la unidad de control FIFO 43 puede por supuesto enviar una señal de control apropiada a la fuente del mensaje (por ejemplo, un puerto 10), al destino del mensaje (por ejemplo, una aplicación 12), o a ambos.
Aparece un conflicto real si el registro de puntero de escritura 42-3 alcanza al registro de puntero de lectura 42-4, o si el registro de puntero de lectura 42-4 alcanza al registro de puntero de escritura 42-3. Sin embargo, la unidad de control FIFO 43 puede estar dispuesta para detectar potenciales conflictos, a saber, si el registro de puntero de escritura 42-3 se aproxima dentro de cierta distancia al registro de puntero de lectura 42-4 o viceversa. El módulo 11 de gestión de dispositivos puede ajustar estas distancias (umbrales) para las unidades de control FIFO 43. Los umbrales de desbordamiento de capacidad y de desbordamiento de capacidad mínima para una FIFO 40 no precisan ser iguales. También es posible que haya dos o más umbrales de desbordamiento de capacidad y/o de desbordamiento de capacidad mínima, para proporcionar avisos progresivamente más urgentes al aproximarse un desbordamiento de capacidad o desbordamiento de capacidad mínima real.
Además, la unidad de control FIFO 43 puede contener una bandera que es ajustable, en caso de desbordamiento de capacidad, bien para permitir una sobre-escritura o para suspender una posterior escritura. La primera efectivamente borra información antigua de la FIFO 40. Tal barrido será con frecuencia deseable, para permitir el procesamiento continuado del flujo de información.
Una unidad de control FIFO 43 se puede considerar como una aplicación de bajo nivel (o en ciertos casos como un dispositivo) que efectúa funciones de transferencia por cuenta de una aplicación de alto nivel. La aplicación de alto nivel es liberada de las funciones de transferencia, y los mensajes que están siendo transmitidos son de hecho suministrados automáticamente a la aplicación de alto nivel, que puede usarlos directamente sin tener que ocupase ella misma de obtenerlos.
Figura 5 muestra cómo las FIFOs se pueden usar para generar señales de vídeo que son combinadas con las señales de vídeo de la corriente de bits MPEG principal. El sistema de tratamiento de mensajes de Figuras 3, 3B y 4B se usa para dirigir datos recibidos desde un dispositivo fuente MPEG directamente a un dispositivo de vídeo, sin necesidad de entrada alguna desde la aplicación de alto nivel.
Una corriente de bits MPEG (que será normalmente la corriente de bits recibida desde el sintonizador 4028, Figura 1) es alimentada, por la línea 50, a un des-multiplexor 51 que está acoplado a un dispositivo de servicio 52. La función del dispositivo 52 es establecer el vídeo; es decir, obtener información sobre el establecimiento del vídeo principal y controlar su presentación. El des-multiplexor 51 es controlado para extraer la secuencia de vídeo principal (secuencia de vídeo PID) desde la corriente de bits de vídeo MPEG. Esta secuencia de vídeo principal es alimentada por la línea 53 a un chip MPEG-2 54.
Además, las corrientes de bits MPEG-2 de vídeo pueden ser extraídas desde una o más de las FIFOs 40, por las líneas 55. Estas corrientes de bits se hacen pasar a un dispositivo de vides 56, que está acoplado a la señal de vídeo principal por la línea 53. Las corrientes de bits por las líneas 55 son procesadas por el dispositivo de vídeo 56 y emergen como secuencias de vídeo auxiliares, por las líneas 57, que son alimentadas al chip MPEG-2 54. Las secuencias de vídeo son presentadas solamente en la capa MPEG.
Cada secuencia de vídeo de la capa MPEG tiene su propio coeficiente de mezclado alfa, que se aplica a cada pixel de la imagen para su combinación con el pixel correspondiente de la capa de fondo. Las partes de la capa MPEG que no se usan son completamente transparentes.
Los detalles precisos de la implementación de las diversas funciones descritas más arriba, y su distribución entre hardware y software, son un asunto de elección para el implementador y no se describirán en detalle. Se señala, sin embargo, que los circuitos integrados dedicados capaces de efectuar las operaciones requeridas en el receptor/descodificador están disponibles comercialmente o pueden ser diseñados fácilmente, y los mismos se pueden usar como base para un acelerador en hardware, o más preferiblemente modificados para producir un acelerador en hardware dedicado, para implementar varias de las operaciones requeridas, reduciendo por tanto la potencia de procesamiento requerida para ejecutar el software. Sin embargo, las operaciones requeridas se pueden implementar en software si hay disponible potencia de procesamiento suficiente.
Los módulos y otros componentes se han descrito en términos de las propiedades y funciones proporcionadas por cada componente, junto con propiedades opcionales y preferibles. Con la información dada y las especificaciones proporcionadas, la implementación real de estas propiedades debería ser inmediata para el experto en la técnica, y los detalles precisos se dejan al implementador. Como un ejemplo, ciertos módulos podrían ser implementados en software, preferiblemente escritos en lenguaje de programación C y preferiblemente compilados para ejecución en el procesador usado para ejecutar la aplicación; sin embargo, algunos componentes pueden ser ejecutados en un procesador separado, y algunos o todos los componentes pueden ser implementados mediante hardware dedicado.
Los módulos y componentes anteriores son meramente ilustrativos, y la invención se puede implementar de una variedad de maneras, y en particular algunos componentes pueden ser combinados con otros que efectúan funciones similares, o algunos se pueden omitir en implementaciones simplificadas. Implementaciones en hardware y software de cada una de las funciones se pueden combinar libremente, tanto entre componentes como dentro de un único componente.
Se entenderá fácilmente que las funciones efectuadas por el hardware, el software del ordenador, y similares, son efectuadas por o usando señales eléctricas y similares. Las implementaciones en software pueden ser memorizadas en ROM, o pueden ser insertadas en FLASH.
Para resumir la realización preferente de la presente invención, se proporciona un módulo 11 de gestión de dispositivos particularmente para su uso en un receptor/descodificador para un sistema de radiodifusión de televisión digital en el que las señales recibidas se hacen pasar a través de un receptor al receptor/descodificador y de aquí a un aparato de televisión. El módulo 11 acopla señales de entrada procedentes de unidades de puertos 10 a módulos de aplicaciones 12. Una memoria 13 acoplada al módulo 11 tiene un área 13-B de memoria tampón y un área FIFO 13-F, controladas mediante un controlador/operador 14-B de memoria tampón y un controlador/operador FIFO 14-F respectivamente. Un mensaje de entrada se puede hacer pasar a una memoria tampón, y recuperar desde la memoria tampón por la aplicación a la que está dirigido; hay disponibles para ello dos modos de operación diferentes. Alternativamente, un mensaje de este tipo se puede hacer pasar a una FIFO; el operador FIFO actúa como una aplicación de bajo nivel que puede pasar el mensaje a una aplicación de alto nivel sin que esa aplicación tenga que tomar acción alguna y sin tener que esperar a que se haya recibido el mensaje completo. Los mensajes que pasan a través del área FIFO pueden ser combinados en una corriente de señales MPEG.

Claims (11)

1. Receptor/descodificador que comprende:
al menos un puerto (10) para recibir mensajes;
al menos un módulo de aplicación (2);
una memoria (13) que incluye una sección (13-C) de memoria tampón y una sección FIFO (13-F);
medios de control (14-B) de memoria tampón operativos en respuesta a un mensaje que aparece en un puerto (10) para escribir el mensaje en la sección (13-C) de memoria tampón y, tras haberse completado la escritura del mensaje, para leer el mensaje desde la sección (13-C) de memoria tampón a un módulo de aplicación (12) en respuesta a una señal de control procedente del módulo de aplicación (12);
medios de control FIFO (14-F) acoplados al o a cada puerto (10), la memoria (13), y el o cada módulo de aplicación (12), operativos en respuesta a un mensaje que aparece en un puerto (10) para escribir el mensaje en la sección FIFO (13-F) y para leer el mensaje desde la sección FIFO (13-F) a un módulo de aplicación (12) o a otro puerto (10) sin esperar a que se haya completado la escritura del mensaje;
permitiendo por tanto, dependiendo de las necesidades de un módulo de aplicación (12) y/o de la naturaleza del mensaje, que un mensaje recibido en un puerto (10) sea leído a otro puerto (10) sin esperar a que se haya completado la escritura del mensaje, o ser leído a un módulo de aplicación (12) bien tras haberse completado la escritura del mensaje o sin esperar a que se haya completado la escritura del mensaje.
2. Receptor/descodificador según la reivindicación 1, en el que los medios de control FIFO (14-F) incluyen medios de detector de ocupación (43) para detectar el estado de ocupación de la sección FIFO (13-F) de la memoria (13).
3. Receptor/descodificador según la reivindicación 2, en el que los medios de detector de ocupación (43) están adaptados para detectar desbordamiento de capacidad y desbordamiento de capacidad mínima de la sección FIFO (13-F).
4. Receptor/descodificador según cualquiera de las reivindicaciones 2 y 3, en el que los medios de detector de ocupación (43) están adaptados para detectar al menos un umbral de desbordamiento de capacidad y desbordamiento de capacidad mínima inminente de la sección FIFO (13-F).
5. Receptor/descodificador según cualquier reivindicación precedente, en el que los medios de control FIFO (14-F) están dispuestos para borrar un mensaje procedente de la sección FIFO (13-F).
6. Receptor/descodificador según cualquier reivindicación precedente, en el que la sección FIFO (13-F) comprende una pluralidad de memorias tampón FIFO (40) y los medios de control FIFO (14-F) comprenden una pluralidad respectiva de medios de control (41) de registros FIFO.
7. Receptor/descodificador según cualquier reivindicación precedente, en el que la sección (13-B) de memoria tampón comprende dos áreas (30, 31) de memoria tampón definidos mediante registros (32, 33) de memoria tampón respectivos en los medios de control (14-B) de memoria tampón.
8. Receptor/descodificador según la reivindicación 7, en el que los medios de control (14-B) de memoria tampón son operables en un modo de corriente de bits en el que una corriente de bits de entada es dirigida al área de memoria tampón seleccionada actualmente y es conmutada a continuación entre las dos áreas de memoria tampón a medida que cada área de memoria tampón queda llena a su vez.
9. Receptor/descodificador según la reivindicación 7 u 8, en el que los medios de control (14-B) de memoria tampón son operables en un modo de esquema de datos en el que la longitud de un mensaje de entrada se compara con el espacio libre en el área de memoria tampón seleccionada actualmente, y si dicho espacio es menor que la longitud del mensaje, se selecciona el otro área de memoria tampón.
10. Receptor/descodificador según cualquier reivindicación precedente, que incluye una unidad de aplicación de dispositivo de vídeo (56) alimentada desde la sección FIFO (13-F) y que alimenta a una unidad de chip (54) que es alimentada también con una corriente de bits de vídeo.
11. Sistema de radiodifusión que comprende un receptor/descodificador según cualquier reivindicación precedente y medios para transmitir mensajes al receptor/descodificador.
ES99910630T 1998-03-27 1999-03-29 Gestion de memoria en una receptor/descodificador. Expired - Lifetime ES2226352T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98400764 1998-03-27
EP98400764A EP0946053A1 (en) 1998-03-27 1998-03-27 Memory management in a receiver/decoder

Publications (1)

Publication Number Publication Date
ES2226352T3 true ES2226352T3 (es) 2005-03-16

Family

ID=8235318

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99910630T Expired - Lifetime ES2226352T3 (es) 1998-03-27 1999-03-29 Gestion de memoria en una receptor/descodificador.

Country Status (20)

Country Link
EP (2) EP0946053A1 (es)
JP (1) JP4642230B2 (es)
KR (1) KR100604211B1 (es)
CN (1) CN1242605C (es)
AT (1) ATE274773T1 (es)
AU (1) AU2953199A (es)
BR (1) BR9909128A (es)
CA (1) CA2324086A1 (es)
DE (1) DE69919686T2 (es)
ES (1) ES2226352T3 (es)
HR (1) HRP20000599A2 (es)
HU (1) HUP0105435A3 (es)
ID (1) ID26209A (es)
IL (1) IL138440A0 (es)
NO (1) NO20004837L (es)
NZ (1) NZ507160A (es)
PL (1) PL343250A1 (es)
TR (1) TR200002764T2 (es)
WO (1) WO1999051021A1 (es)
ZA (1) ZA200006082B (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073218A1 (en) * 1998-12-23 2002-06-13 Bill J. Aspromonte Stream device management system for multimedia clients in a broadcast network architecture
GB0130407D0 (en) * 2001-12-20 2002-02-06 Koninkl Philips Electronics Nv Delivery of digital applications
TWI284810B (en) * 2004-08-18 2007-08-01 Via Tech Inc Software communication between MPEG layer and servo layer
US8045472B2 (en) * 2008-12-29 2011-10-25 Apple Inc. Credit management when resource granularity is larger than credit granularity
CN114725902B (zh) * 2022-03-30 2026-04-24 深圳供电局有限公司 一种适用于通信延时不确定性的差动保护方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH083956B2 (ja) * 1986-09-18 1996-01-17 日本テキサス・インスツルメンツ株式会社 半導体記憶装置
US4942553A (en) * 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
TW237589B (es) * 1991-02-27 1995-01-01 Gen Electric
US5442390A (en) * 1993-07-07 1995-08-15 Digital Equipment Corporation Video on demand with memory accessing and or like functions
JP2658832B2 (ja) * 1993-11-12 1997-09-30 日本電気株式会社 動画像復号制御装置
US5642498A (en) * 1994-04-12 1997-06-24 Sony Corporation System for simultaneous display of multiple video windows on a display device
US5720037A (en) * 1994-06-16 1998-02-17 Lucent Technologies Inc. Multimedia on-demand server
JP3560078B2 (ja) * 1995-02-06 2004-09-02 ソニー株式会社 電子機器制御装置、電子機器制御方法、および電子機器制御システム
IT1275228B (it) * 1995-02-09 1997-07-31 Italtel Spa Decodificatore per postazione di utente in un sistema di televisione interattiva
FR2741172B1 (fr) * 1995-11-09 1997-12-12 Thomson Multimedia Sa Dispositif de traitement de donnees comportant une memoire tampon

Also Published As

Publication number Publication date
ATE274773T1 (de) 2004-09-15
EP1064781B1 (en) 2004-08-25
EP1064781A1 (en) 2001-01-03
NO20004837D0 (no) 2000-09-26
CN1303566A (zh) 2001-07-11
JP4642230B2 (ja) 2011-03-02
EP0946053A1 (en) 1999-09-29
KR100604211B1 (ko) 2006-07-24
HUP0105435A3 (en) 2002-05-28
CA2324086A1 (en) 1999-10-07
TR200002764T2 (tr) 2001-01-22
HRP20000599A2 (en) 2001-06-30
WO1999051021A1 (en) 1999-10-07
ID26209A (id) 2000-12-07
HUP0105435A2 (hu) 2002-04-29
AU2953199A (en) 1999-10-18
BR9909128A (pt) 2000-12-19
JP2002510908A (ja) 2002-04-09
KR20010042226A (ko) 2001-05-25
PL343250A1 (en) 2001-07-30
NZ507160A (en) 2002-03-28
ZA200006082B (en) 2001-05-30
CN1242605C (zh) 2006-02-15
IL138440A0 (en) 2001-10-31
DE69919686D1 (de) 2004-09-30
DE69919686T2 (de) 2005-09-01
NO20004837L (no) 2000-11-27

Similar Documents

Publication Publication Date Title
ES2203070T3 (es) Terminal multimedia destinado a multiples usuarios.
CN100378646C (zh) 显示控制设备和显示控制方法
ES2201511T3 (es) Tratamiento de un flujo de transporte digital.
ES2147719T3 (es) Metodo para controlar la ejecucion de un programa de audio y video interactivo.
US7478341B2 (en) Apparatus and method for persistent display interface
JPH0554477A (ja) Av機器
RU95106681A (ru) Система для обработки компонент программ (варианты), схема адресации и устройство для транспортного процессора
JP2523564B2 (ja) 復号・書込み・読出し手段を有する情報処理装置
TWI459816B (zh) 視訊緩衝器管理技術
KR100604211B1 (ko) 리시버/디코더 및 이를 구비한 방송 시스템
BR9910053B1 (pt) Método de processamento de dados de vídeo em um conjunto receptor/decodificador, conjunto receptor/decodificador e sistema de difusão e recepção
KR100258119B1 (ko) 대화형 멀티미디어시스템에 있어서 유저정보 편집 및 편집된정보 재생방법
KR100641660B1 (ko) 리시버/디코더에서의 데이터 관리
US12609978B2 (en) Information processing method and apparatus and electronic device for screen sharing authorization
KR20100033926A (ko) 영상 데이터 처리 장치 및 영상 데이터 처리 방법
JP4303884B2 (ja) モデム制御
CZ200287A3 (cs) Zařízení a způsob pro testování softwarových aplikací
MXPA00009426A (es) Administracion de memoria en un receptor/descodificador
CZ20003564A3 (cs) Přijímař/dekodér a vysílací systém
US20060067532A1 (en) Communication unit and communication method
US7627232B2 (en) Reproduction apparatus, data processing system, reproduction method, program, and storage medium
CZ20003997A3 (cs) Způsob zpracování video dat a přijímač /dekodér
KR20030047091A (ko) 디지털 영상정보 처리를 위한 방송 수신기의 인터페이스장치 및 방법
MXPA00010628A (es) Receptor/descodificador y metodo para procesar datos de video
JPS609263A (ja) 電子黒板の動作モ−ド管理方式