ES2206957T3 - Actuador para dispositivo de caja de adaptacion multimedios para norma ieee1394. - Google Patents
Actuador para dispositivo de caja de adaptacion multimedios para norma ieee1394.Info
- Publication number
- ES2206957T3 ES2206957T3 ES98933845T ES98933845T ES2206957T3 ES 2206957 T3 ES2206957 T3 ES 2206957T3 ES 98933845 T ES98933845 T ES 98933845T ES 98933845 T ES98933845 T ES 98933845T ES 2206957 T3 ES2206957 T3 ES 2206957T3
- Authority
- ES
- Spain
- Prior art keywords
- identifier
- interface
- application
- logical
- device driver
- 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
Links
- 230000006978 adaptation Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims description 49
- 238000004891 communication Methods 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 description 31
- 230000006870 function Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 22
- 230000009471 action Effects 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 13
- 230000004044 response Effects 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000007630 basic procedure Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40058—Isochronous transmission
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40065—Bandwidth and channel allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0012—High speed serial bus, e.g. IEEE P1394
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
- Stored Programmes (AREA)
- Circuits Of Receivers In General (AREA)
- Selective Calling Equipment (AREA)
- Small-Scale Networks (AREA)
- Eye Examination Apparatus (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Iron Core Of Rotating Electric Machines (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Se presenta una interfaz de dispositivo para su uso en un receptor/descodificador (2020) para un sistema de emisión de televisión digital en el cual las señales recibidas se pasan a través de un receptor al receptor/descodificar y desde allí a un aparato de televisión (2022). El receptor/descodificar descodifica una señal comprimida de tipo MPEG y es controlado por un equipo controlador remoto (2026), a través de una interfaz en el receptor/descodificador. El funcionamiento del receptor/descodificador se controla mediante una máquina virtual (VM) que incluye un motor de ejecución (RTE) (4008). El receptor/descodificador incluye una serie de interfaces para unidades externas. La interfaz de dispositivo hace posible que una aplicación se ejecute mediante el RTE para acceder a una interfaz IEEE (1394).
Description
Actuador para dispositivo de caja de adaptación
multimedios para Norma IEEE1394.
La presente invención se refiere a la
interconexión de programas de aplicación con dispositivos físicos
(periféricos), particularmente pero no exclusivamente en el
contexto de receptores/descodificadores para sistemas de televisión
digital.
La llegada de sistemas de transmisión digital ha
abierto la posibilidad de usar tales sistemas para otros fines. Uno
de estos es proporcionar interactividad con el usuario final. Como
se usa aquí, la expresión "sistema de transmisión digital"
incluye cualquier sistema de transmisión para transmitir o
radiodifundir, por ejemplo, datos digitales audiovisuales o
multimedia principalmente. Aunque, la presente invención es
particularmente aplicable a un sistema de televisión digital de
radiodifusión, la invención también puede ser aplicable a una red
fija de telecomunicaciones fija para aplicaciones de Internet
multimedia, a una televisión en circuito cerrado, etc. Como se usa
aquí, la expresión "sistema de televisión digital" incluye, por
ejemplo, cualquier sistema por satélite, terrestre, por cable y
otros.
La presente invención encuentra aplicación
específica en un sistema de televisión digital de radiodifusión en
el que las señales recibidas son pasadas, a través de un receptor,
a un receptor/descodificador y, desde allí, a un televisor. La
expresión "receptor/descodificador" usado aquí puede connotar
un receptor para recibir señales codificadas o no codificadas, por
ejemplo señales de televisión y/o radioseñales, que pueden ser
radiodifundidas o transmitidas pro algunos otros medios. La
expresión también puede connotar un descodificador para
descodificar las señales recibidas. Realizaciones de tales
receptores/descodificadores pueden incluir un descodificador
integral con el receptor para descodificar las señales recibidas,
por ejemplo en una "caja encima del aparato", funcionando tal
descodificador en combinación con un receptor separado físicamente,
o incluyendo tal descodificador funciones adicionales tal como un
explorador Web, un videograbador o un televisor.
El receptor/descodificador descodifica una señal
de tipo MPEG comprimida en una señal de televisión para el
televisor. Es controlado por un mando a distancia manual, a través
de una interfaz en el receptor/descodificador, también conocido como
una caja encima del aparato. El término MPEG se refiere a las
normas de transmisión de datos desarrolladas por el grupo de
trabajo "Motion Pictures Expert Group" de la International
Standards Organisation (ISO) y en particular, pero no
exclusivamente, la norma MPEG-2 desarrollada para
aplicaciones de televisión digital y expuesta en los documentos ISO
13818-1, ISO 13818-2, ISO
13818-3 y ISO 13818-4. En el
contexto de la presente solicitud de patente, el término incluye
todas las variaciones, modificaciones o desarrollos de formatos
MPEG aplicables al campo de la transmisión de datos digitales.
Un modo de proporcionar la interactividad antes
descrita es ejecutar una aplicación en el receptor/descodificador a
través del cual es recibida la señal de televisión. Es deseable
permitir que varias aplicaciones comuniquen con varios dispositivos
físicos de una manera transparente. Nuestras solicitudes
PCT/EP97/02-115 (WO 98/43172A) y PCT/EP97/02116 (WO
98/43433A), en tramitación junto con la presente, describen sistemas
en los que una o más aplicaciones pueden ser descargadas por un
receptor/descodificador y comunican con dispositivos físicos en el
receptor/descodificador tal como interfaces en paralelo y en serie y
lectores de tarjetas inteligentes por medio de un controlador de
dispositivo para cada dispositivo y un director global de
dispositivos. Como se usa aquí, la expresión "tarjeta
inteligente" incluye, pero no exclusivamente, cualquier
dispositivo de tarjeta basado en chip, u objeto de función y
rendimiento similares, que posee, por ejemplo, un microprocesador
y/o un almacenamiento en memoria. En esta expresión están incluidos
dispositivos que tienen formas físicas alternativas a una tarjeta,
por ejemplo, dispositivos en forma de llave tales como son usados
frecuentemente en sistemas de descodificadores de televisión.
De acuerdo con la presente invención, se ha
propuesto proporcionar la capacidad para que un
receptor/descodificador comunique con otro equipo audiovisual, por
ejemplo, un videograbador digital por una interfaz digital de alta
velocidad. La norma IEEE 1394 desarrollada recientemente
proporciona un protocolo de interfaz prometedor y flexible,
proporcionando frecuencias de comunicación en serie de 100
megabits/s o mayores.
Un problema de usar la interfaz IEEE 1394 es que
el bus de interfaz puede ser repuesto o los parámetros alterados por
un dispositivo conectado al bus distinto que el
receptor/descodificador y esto puede causar problemas para una
aplicación. Esto puede producir una exigencia de memoria y potencia
de procesamiento mayores para ejecutar aplicaciones más complejas
capaces de ocuparse de la interfaz. Esto aumentaría tanto el coste
de cada receptor/descodificador como también el coste de desarrollar
y depurar aplicaciones.
Aspectos de la invención intentan aliviar los
problemas de interconectar aplicaciones con tales interfaces. Aunque
la invención ofrece ventajas máximas en interconectar un
receptor/descodificador con una interfaz IEEE 1394 o similar, se
apreciará que la invención puede ser aplicada a interconectar otras
aplicaciones con interfaces cuyos parámetros pueden cambiar fuera
del control de la aplicación.
En un primer aspecto, la invención proporciona un
método para comunica datos, por vía de un controlador de
dispositivo, entre una aplicación y una interfaz que tiene al menos
una característica a la que está asignado un identificador de
interfaz, el o cada identificador de interfaz siendo propenso a
cambiar después de al menos un evento, comprendiendo el método para
al menos una dicha característica: almacenar un identificador lógico
correspondiente, proporcionar el identificador lógico a la
aplicación para dirigir la comunicación asociada con la
característica correspondiente entre el controlador de dispositivo
y la aplicación, y mantener la correspondencia entre el, o cada,
identificador lógico y la, o cada, característica independientemente
del identificador de interfaz asignado a la, o cada, característica
de modo que la comunicación entre la aplicación y el controlador de
dispositivo dirigida usando un identificador lógico dado permanezca
asociada con la característica dada correspondiente después de un
cambio en la asignación del identificador correspondiente de
interfaz a la característica.
De este modo, aunque la asociación de
características e identificadores de interfaz puede cambiar de vez
en cuando, tales cambios pueden ser hechos sustancialmente
transparentes a la aplicación, que pueden ser más sencillos
consiguientemente.
La comunicación entre la interfaz y el
controlador del dispositivo es dirigida preferiblemente basada en
el, o cada, identificador de interfaz; esto facilita la
comunicación con la interfaz.
Los identificadores lógicos pueden ser asignados
sólo a las características que son especificadas por una o más
aplicaciones. Esto puede reducir el número de identificadores
lógicos requeridos.
Alternativamente, el controlador de dispositivo
puede ser dispuesta para compilar una lista de identificadores
lógicos e identificadores de interfaz correspondientes para todas
dichas características, o para todas las características que
satisfacen criterios predeterminados, y preferiblemente actualizar
esta lista cada vez que una característica es añadida o eliminada o
alterada, o si cualquier identificador de interfaz es cambiado.
Aunque el método elimina la necesidad de que la
aplicación conozca el identificador de interfaz, preferiblemente el
controlador de dispositivo es dispuesto para comunicar a petición
el identificador de interfaz, asignado a un identificador lógico, a
la aplicación. Se halla que esto facilita notablemente el ensayo de
un sistema, puesto que es posible que una aplicación de alto nivel
determine si la interfaz y el controlador de dispositivo asociado
está funcionando como se desea.
Preferiblemente, el controlador de dispositivo es
dispuesto para aceptar solicitudes desde una aplicación para definir
las conexiones entre los dispositivos físicos conectados al bus
usando al menos un identificador lógico en lugar de un
identificador de interfaz. Esto puede facilitar la gestión de
conexiones por una aplicación.
En un segundo aspecto, la invención proporciona
un controlador de dispositivo para efectuar la comunicación entre
una aplicación y una interfaz que tiene al menos una característica
a la que está asignado un identificador de interfaz, el o cada
identificador de interfaz siendo propenso a cambiar después de al
menos un evento, comprendiendo el controlador de dispositivo medios
para almacenar al menos un identificador lógico correspondiente a un
identificador respectivo de interfaz, medios para proporcionar el
identificador lógico a la aplicación para dirigir la comunicación
asociada con la característica correspondiente entre el controlador
de dispositivo y la aplicación, y medios para mantener la
correspondencia entre el, o cada, identificador lógico y la, o
cada, característica independientemente del identificador de
interfaz asignado a la, o cada, característica de modo que la
comunicación entre la aplicación y el controlador de dispositivo,
dirigida usando un identificador lógico dado, puede permanecer
asociada con la característica dada correspondiente después de un
cambio en la asignación del identificador correspondiente de
interfaz a la característica.
El controlador de dispositivo puede ser
implementado en hardware, por ejemplo en un circuito integrado
especializado; esto puede proporcionar velocidad incrementada de
funcionamiento. Más preferiblemente, sin embargo, el controlador de
dispositivo es implementado en software al menos parcialmente,
ejecutando preferiblemente por medios de procesamiento que ejecutan
la aplicación; esto permite mayor flexibilidad, requiere menos
componentes y permite que el controlador de dispositivo sea
actualizado más fácilmente.
La interfaz se ajusta preferiblemente a la norma
IEEE 1394 o a una modificación, refinamiento o variación de ella.
Los datos pueden ser transportados según la norma IEEE 1883.
La aplicación es ejecutada preferiblemente en un
lenguaje interpretado y el controlador de dispositivo es compilado
preferiblemente.
La invención es empleada más preferiblemente en
un receptor/descodificador para permitir que una aplicación
comunique, por ejemplo, con un videograbador digital por un bus
IEEE 1394. El controlador de dispositivo puede ser dispuesto para
transmitir órdenes para controlar el videograbador digital desde la
aplicación y/o recibir datos sobre la información almacenada en el
videograbador digital; de este modo, una aplicación interactiva en
ejecución en el receptor/descodificador puede controlar la
grabación y la reproducción de programas u otros datos. Los datos
que han de ser comunicados son preferiblemente datos en formato
MPEG (lo que significa cualquier variante o desarrollo del formato
MPEG básico) pero pueden ser usados otros formatos.
Características preferidas de la presente
invención serán descritas ahora, sólo a modo de ejemplo, con
referencia a los dibujos adjuntos, en los que:
la Figura 1 es un diagrama esquemático de
interfaces de un receptor/descodificador;
la Figura 2 es un esquema de bloques funcionales
del receptor/descodificador;
la Figura 3 muestra ciertos componentes de la
máquina virtual y el motor de tiempo de ejecución con más
detalle;
la Figura 4 es un diagrama esquemático para
explicar el flujo de comunicación entre una aplicación y un
periférico remoto por vía del controlador de dispositivo; y
la Figura 5 es un diagrama esquemático que
ilustra algunos componentes del controlador de dispositivo.
Antes de describir un controlador de dispositivo
que materializa la invención, las características básicas de la
plataforma preferida, un receptor/descodificador digital por
satélite, serán explicadas brevemente.
Refiriéndose a la Figura 1, se representa
esquemáticamente un receptor/descodificador 2020 o caja encima de
aparato para uso en un sistema de televisión interactiva digital en
el que el controlador de dispositivo está destinado a ser
instalado. Detalles de un sistema adecuado de televisión interactiva
digital pueden ser hallados en nuestras solicitudes
PCT/EP97/01206-02117 en tramitación junto con la
presente (WO 98/43430A, WO 98/43425A, WO 98/43426A, WO 98/43462A,
WO 98/43432A, WO 98/43431A, WO 98/43248A, WO 98/43165A, WO
98/43415A, WO 98/43172A, WO 98/43433A, WO 98/43427A) a las que
debería hacerse referencia. Para facilidad de referencia, las
partes descritas con más detalle en las memorias descriptivas antes
mencionadas son designadas generalmente por los números de
referencia usados en esas memorias descriptivas. La disposición
básica del receptor/descodificador será resumida después para
ayudar a comprender la función del controlador del dispositivo.
Como se describe con más detalle en las memorias
descriptivas antes mencionadas, refiriéndose a la Figura 1, el
receptor/descodificador 2020 incluye varias interfaces:
específicamente, un sintonizador 4028 para el flujo de señal MPEG,
una interfaz 4030 en serie, una interfaz 4032 en paralelo y dos
lectores 4036 de tarjetas, uno para una tarjeta inteligente que
forma parte del sistema y uno para tarjetas bancarias y otras
tarjetas inteligentes (usadas para efectuar pagos, banca a
domicilio, etc.). El receptor/descodificador también incluye una
interfaz con un canal 4002 de retorno con módem al productor de
señal de televisión, de modo que el usuario puede indicar
preferencias, etc. de vuelta al productor de señal de televisión
(programa). El receptor también comprende un motor 4008 de tiempo
de ejecución, un director 4068 de dispositivos y una pluralidad de
dispositivos 4062 para ejecutar uno o más aplicaciones 4056.
Para los fines de esta memoria descriptiva, una
aplicación es un fragmento de código de ordenador para controlar
funciones de alto nivel del receptor/descodificador 2020
preferiblemente. Por ejemplo, cuando el usuario fina sitúa el foco
de un mando a distancia en un objeto de botón visto en la pantalla
del televisor 2022 y pulsa una tecla de validación, es ejecutada 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 el propósito de la aplicación. Las aplicaciones
pueden ser aplicaciones residentes, o sea, almacenadas en la
memoria ROM de sólo lectura (o memoria FLASH u otra memoria no
volátil) del receptor/descodificador 2020, o radiodifundidas y
descargadas a la memoria RAM de acceso aleatorio o la memoria FLASH
del receptor/descodificador 2020.
Algunos ejemplos de aplicaciones, descritos con
más detalle en las aplicaciones antes mencionadas, son:
- \bullet
- Una aplicación iniciadora que es una colección adaptable de módulos permitiendo que el receptor/descodificador 2020 sea inmediatamente operativo en el entorno de MPEG-2.
- \bullet
- Una aplicación de puesta en marcha que permite que cualquier aplicación, descargada o residente, sea ejecutada en el receptor/descodificador 2020.
- \bullet
- Una guía de programas que es una aplicación interactiva que proporciona información completa sobre la programación.
- \bullet
- Una aplicación de pago por visión que es un servicio interactivo disponible en cada canal de pago por visión del ramillete de televisión digital para permitir que el usuario final compre el evento actual.
- \bullet
- Una aplicación de descarga de ordenador personal que permite que un usuario final descargue software de ordenador usando la aplicación de descarga del ordenador personal.
- \bullet
- Una aplicación de explorador de almacén que comprende una radiodifusión cíclica de video de imágenes con navegación de usuario final por medio de botones en pantalla.
- \bullet
- Una aplicación de telecompra que permite que ofertas de productos para venta sean transmitidas al receptor/descodificador 2020 y visualizadas en el televisor 2022 y que permite al usuario seleccionar un artículo particular a comprar.
Las aplicaciones son almacenadas en posiciones de
memoria en el receptor/descodificador 2020 y representadas como
archivos de recursos. Los archivos de recursos comprenden archivos
unitarios de descripción de objetos gráficos, archivos unitarios de
bloques de variables, archivos de secuencias de instrucciones,
archivos de aplicaciones y archivos de datos, como se describe con
más detalle en las memorias descriptivas antes mencionadas.
En el flujo de datos MPEG, cada módulo comprende
un grupo de tablas MPEG. Cada tabla MPEG puede ser formateada como
un número de secciones. En el flujo de datos MPEG, cada sección
tiene un "tamaño" de hasta 4 kilobytes. Para la transferencia
de datos por vía del puerto en serie y en paralelo, por ejemplo, los
módulos son divididos de modo similar en tablas y secciones,
variando el tamaño de la sección con le medio de transporte.
Los módulos son transportados en el flujo de
datos MPEG en la forma de paquetes de datos de 188 bytes típicamente
dentro de tipos respectivos de flujo de datos, por ejemplo, flujos
de datos de video, flujos de datos de audio y flujos de datos de
teletexto. Cada paquete es precedido por un identificador de paquete
de 13 bits, un identificador de paquete para cada paquete
transportado en el flujo de datos MPEG. Una tabla de mapa de
programas contiene una lista de los flujos de datos diferentes y
define el contenido de cada flujo de datos según el identificador
de paquete respectivo. Un identificador de paquete puede alertar a
un dispositivo de la presencia de aplicaciones en el flujo de
datos, siendo identificado el identificador de paquete usando la
tabla de mapa de programas.
El descodificador contiene memoria dividida en un
volumen de memoria RAM de acceso aleatorio, un volumen de memoria
FLASH y un volumen de memoria ROM de sólo lectura, pero esta
organización física es distinta que la organización lógica. La
memoria puede ser dividida además en volúmenes de memoria asociados
con las diversas interfaces. Desde un punto de vista, la memoria
puede ser considerada como parte del hardware; desde otro punto de
vista, la memoria puede ser considerada como soportando o
conteniendo todo el sistema mostrado aparte del hardware.
El sistema puede ser considerado como centrado en
un motor 4008 de tiempo de ejecución que forma parte de una máquina
virtual 4007. Esta está acoplada a aplicaciones en un lado (el lado
del "nivel alto") y, en el otro lado (el lado del nivel
"bajo"), por vía de diversas unidades lógicas intermedias
tratadas después, al hardware 4061 de receptor/descodificador. El
hardware de receptor/descodificador puede ser considerado como
incluyendo los diversos puertos o interfaces como se trató antes (la
interfaz 2030 para el mando a distancia manual 2026), la interfaz
4028 de flujo MPEG, la interfaz 4030 en serie y la interfaz 4032 en
paralelo, las interfaces con los lectores 4036 de tarjetas y la
interfaz 4034 con el canal 4002 de retorno con módem).
Con referencia a la Figura 2, diversas
aplicaciones 4056 están acopladas a la unidad 4007; algunas de las
aplicaciones usadas más corrientemente pueden ser residentes en el
sistema más o menos permanentemente, como se indica en 4057,
mientras que otras serán descargadas al sistema, por ejemplo desde
el flujo de datos MPEG o desde otros puertos como sea
necesario.
La unidad 4007 incluye, además del motor 4008 de
tiempo de ejecución, algunas funciones de biblioteca residentes 4006
que incluyen una caja 4058 de herramientas. La biblioteca contiene
funciones diversas en lenguaje C usadas por el motor 4008. Estas
incluyen manipulación de datos tal como compresión, expansión o
comparación de estructuras de datos, dibujo de líneas, etc. La
biblioteca 4006 también incluye información sobre el hardware 4061
en el receptor/descodificador 2020, tal como números de versiones
de hardware y software y espacio disponible de memoria RAM de
acceso aleatorio, y una función usada cuando se descarga un nuevo
dispositivo 4062. Las funciones pueden ser descargadas a la
biblioteca, siendo almacenadas en memoria FLASH o memoria RAM.
El motor 4008 de tiempo de ejecución está
acoplado a un director 4068 de dispositivos que está acoplado a un
conjunto de dispositivos 4062 que están acoplados a controladores
4060 de dispositivos que, a su vez, están acoplados a los puertos o
interfaces. En términos amplios, un controlador de dispositivo puede
ser considerado como definiendo una interfaz lógica, de modo que
dos controladores diferentes de dispositivos pueden ser acoplados a
un puerto físico común. Un dispositivo estará acoplado normalmente a
más de un controlador de dispositivo; si un dispositivo está
acoplado a un solo controlador de dispositivo, el dispositivo
estará diseñado normalmente para incorporar la funcionalidad plena
requerida para comunicación de modo que es eliminada la necesidad de
un controlador separado de dispositivo. Ciertos dispositivos pueden
comunicar entre ellos.
Como será descrito después, hay tres formas de
comunicación desde los dispositivos 4062 hasta el motor de tiempo de
ejecución: por medio de variables, memorias intermedias y eventos
que son pasados a un conjunto de colas de eventos.
Cada función del receptor/descodificador 2020 es
representada como un dispositivo 4062. Los dispositivos pueden ser
locales o remotos. Los dispositivos locales 4064 incluyen tarjetas
inteligentes, señales de conector SCART (Euroconector), módems,
interfaces en serie y en paralelo, un reproductor de video y audio
MPEG y un extractor de secciones y tablas MPEG. Los dispositivos
remotos 4066, ejecutados en una posición remota, difieren de los
dispositivos locales en que un puerto y un procedimiento deben ser
definidos por la autoridad o diseñador del sistema, más bien que por
un dispositivo y un controlador de dispositivo provistos y
diseñados por el fabricante del receptor/descodificador.
Cuando un dispositivo nuevo 4062 es creado, puede
ser instalado en receptores/descodificadores 2020 existentes
descargando la aplicación 4056 pertinente desde el centro de
radiodifusión. Esta descarga es realizada en el
receptor/descodificador 2020 por una aplicación 4056 que comprueba
las versiones de hardware y software y, si son correctas, carga el
módulo de software que representa el nuevo dispositivo 4062 y pide
a un procedimiento de la biblioteca 4006 que instale el código de
dispositivo nuevo dentro de la microprogramación fija (en memoria
Flash). Esto puede proporcionar una instalación flexible y segura
de funciones nuevas dentro del receptor/descodificador 2020 sin
afectar al resto del software.
El director 4068 de dispositivos es una interfaz
común de software entre la aplicación 4056 y las funciones
específicas del receptor/descodificador 2020. El director 4068 de
dispositivos controla el acceso a los dispositivos 4062, declara la
recepción de un evento inesperado y gestiona la memoria
compartida.
El motor 4008 de tiempo de ejecución funciona
bajo el control del microprocesador y de una interfaz común de
programación de aplicaciones. Están instalados en cada
receptor/descodificador 2020 de modo que todos los
receptores/descodificadores 2020 son idénticos desde el punto de
vista de la aplicación.
El motor 4008 ejecuta las aplicaciones 4056 en el
receptor/descodificador 2020. Ejecuta las aplicaciones interactivas
4056 y recibe eventos desde fuera del receptor/descodificador 2020,
visualiza gráficos y texto, pide dispositivos para servicios y usa
funciones de la biblioteca 4006 conectada al motor 4008 para cálculo
específico.
El motor 4008 de tiempo de ejecución 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 monotarea (tal como MS-DOS:
Microsoft Disk Operating System). El motor 4008 está basado en
unidades de secuenciador de proceso (que toman diversos eventos tal
como una pulsación de tecla para llevar a cabo diversas acciones), y
contiene su propio planificador para gestionar colas de eventos
procedentes de las interfaces diferentes de hardware. También
maneja la presentación visual de gráficos y texto. Una unidad de
secuenciador de proceso comprende un conjunto de grupos de acciones.
Cada evento causa que la unidad de secuenciador de proceso se mueva
desde su grupo de acciones actual a otro grupo de acciones
dependiendo del carácter del evento, y ejecute las acciones del
nuevo grupo de acciones.
El motor 4008 comprende un cargador de código
para cargar y descargar aplicaciones 4056 dentro de la memoria 2028
de receptor/descodificador. Sólo el código necesario es cargado en
la memoria RAM o memoria Flash para asegurar el uso óptimo. Los
datos descargados son verificados por 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. Cuando el código de aplicación
(una forma de código intermedio) es comprimido para ahorrar espacio
y descarga rápida desde el flujo de transporte
MPEG-2 o por vía de un modo incorporado de
receptor/descodificador, el código debe ser descomprimido antes de
cargarlo dentro de la memoria RAM de acceso aleatorio. El motor
4008 también comprende un intérprete para interpretar el código de
aplicación para actualizar diversos valores de variables y
determinar cambios de estatus, y un comprobador de errores.
Antes de usar los servicios de cualquier
dispositivo 4062, un programa (tal como una secuencia de
instrucciones de aplicación) ha de ser declarado como un
"cliente", o sea, un modo de acceso lógico al dispositivo 4062
o al director 4068 de dispositivos. El director proporciona al
cliente un número de cliente que es mencionado en todos los accesos
al dispositivo. Un dispositivo 4062 puede tener varios clientes, con
el número de clientes para cada dispositivo 4062 siendo
especificado dependiendo del tipo de dispositivo 4062. Un cliente
es introducido en el dispositivo 4062 por un procedimiento "Canal
de Abrir Dispositivo" ("Device_Open Channel"). Este
procedimiento asigna un número de cliente al cliente. Un cliente
puede ser quitado de la lista de clientes del director 4068 de
dispositivos por un procedimiento "Canal de Cerrar Dispositivo"
("Device_Close Channel").
El acceso a los dispositivos 4062 provisto por el
director 4068 de dispositivos puede ser sincrónico o asincrónico.
Para acceso sincrónico, es usado un procedimiento "Dispositivo:
Llamada" ("Device: Call"). Este es un medio para acceder a
datos que están inmediatamente disponibles o a una funcionalidad que
no implica esperar la respuesta deseada. Para acceso asincrónico,
es usado un procedimiento "Dispositivo: Entrada/salida"
("Device: I/O"). Este es un medio para acceder a datos que
implica esperar una respuesta, por ejemplo explorar frecuencias de
sintonizador para hallar un múltiplex o recuperar una tabla desde
el flujo MPEG. Cuando el resultado solicitado está disponible, un
evento es puesto en la cola del motor para señalar su llegada. Un
procedimiento adicional "Dispositivo: Evento" ("Device:
Event") proporciona un medio para gestionar eventos
inesperados.
Como se observó antes, el bucle principal del
motor de tiempo de ejecución está acoplado a una variedad de
unidades de secuenciador de proceso y, cuando el bucle principal
encuentra un evento apropiado, el control es transferido
temporalmente a una de las unidades de secuenciador de proceso.
Refiriéndose a la Figura 3, el director de
dispositivos incluye una cola 100 al interior de la cual son pasados
eventos procedentes de los dispositivos para almacenamiento
temporal. A intervalos adecuados, la máquina virtual envía una
señal a esta cola para extraer el primer elemento de ella. Este
elemento de evento es movido a una estructura 101 de colas en la
máquina virtual. Dependiendo del nivel de prioridad del elemento de
evento, es insertado en la apropiada de las cinco colas 0 a 4. Los
elementos de eventos son extraídos de la estructura 101 de colas por
una unidad 102 selectora de cola bajo el control del motor de
tiempo de ejecución.
Cuando un evento es seleccionado de la estructura
101 de colas, es pasado a un motor 104 de unidades de secuenciador
de procesos que consta de un controlador 105 de unidades de
secuenciador de proceso y de un conjunto de unidades 106 de
secuenciador de proceso. Cada unidad de secuenciador de proceso es
un conjunto de grupos de acciones enlazados entre sí, de modo que
cada paso desde un grupo de acciones al grupo de accione siguiente
depende, en general, del grupo de acciones actual y de la naturaleza
del evento. Diferentes unidades de secuenciador de proceso tienen
tamaños y complejidades diferentes, incluyendo una en la que el
grupo de acciones "siguiente", o sea el grupo de acciones al
que el sistema avanza en respuesta a un evento, depende únicamente
de la naturaleza del evento pero es independiente del grupo de
acciones actual. Asimismo, como se muestra en el lado derecho del
bloque de unidades de secuenciador de proceso, puede haber varias
copias de una unidad de secuenciador de proceso, o sea, varias
unidades idénticas de secuenciador de proceso, para ocuparse, por
ejemplo, de varios flujos de datos distintos usando protocolos
idénticos a través de un solo puerto.
Cuando un evento es seleccionado, es pasado a la
unidad apropiada de secuenciador de proceso. Esta selecciona la
salida apropiada desde el grupo de acciones actual en la unidad de
secuenciador de proceso. Esto produce que el grupo de acciones
siguiente apropiado sea seleccionado y que las acciones en ese grupo
de acciones sean realizadas, implicando por ejemplo el envío de un
mensaje al director de dispositivos o la ejecución de una secuencia
de instrucciones. Los grupos de acciones en la unidad de
secuenciador de proceso también pueden enviar mensajes de eventos a
otras unidades de secuenciador de proceso.
Si una secuencia de instrucciones es
seleccionada, la identificación de la secuencia de instrucciones es
enviada al selector 107 de secuencia de instrucciones. Este obtiene
la secuencia de instrucciones deseada desde una memoria 108 de
secuencia de instrucciones y la pasa a un intérprete 109 de
secuencia de instrucciones que ejecuta la secuencia de
instrucciones.
El sistema también incluye un filtro 110 que es
cargado con tipos de eventos, por ejemplo, desde las unidades 106 de
secuenciador de proceso. Cuando un elemento de evento es pasado
desde la cola 100 en el director de dispositivos a la estructura
101 de colas en la máquina virtual, su tipo o carácter es comparado
con la lista en el filtro 110 y, si es de un tipo que no es
reconocido, es rechazado, Esto asegura que si, supóngase, el
director de dispositivos o el teclado genera eventos de un tipo con
el que la máquina virtual no puede tratar, esos eventos no son
pasados a la estructura 101 de colas (si eventos de esta clase
fueran pasados a la estructura 101 de colas, se acumularían en esa
estructura de colas o podrían causar el funcionamiento defectuoso
del motor 104 de unidades de secuenciador de proceso).
Así, puede verse que nuestra plataforma básica de
receptor/descodificador proporciona flexibilidad considerable para
permitir que una aplicación comunique con una variedad de
dispositivos.
Refiriéndose a la Figura 4, puede verse que el
controlador de bus IEEE 1394 funciona según el esquema antes
descrito para facilitar la comunicación entre una aplicación y un
periférico tal como un videograbador digital conectado al bus IEEE
1394.
Para comunicación de datos a velocidad alta, por
ejemplo, para almacenamiento de datos MPEG en tiempo real, las
interfaces en serie y en paralelo convencionales, que son
relativamente fáciles de controlar por una aplicación, pueden no
ser bastante rápidas. El controlador de dispositivo descrito a
continuación incorpora un número de características originales que
permiten a una aplicación acceder eficientemente al bus IEEE 1394,
y puede permitir el control, por ejemplo, de un videograbador
digital conectado al bus por una aplicación relativamente poco
sofisticada.
El controlador de dispositivo puede ser
considerado como comprendiendo un número de unidades funcionales que
son separadamente accesibles por una aplicación, denominadas
órdenes en lo sucesivo. Cada orden interconecta con una aplicación
por vía de un dispositivo 4062 operado bajo el control del director
4066 de dispositivos por medio de uno de los tres procedimientos
estándar antes mencionados, que son comunes a otros dispositivos.
La información puede ser pasada entre una aplicación y el
controlador de dispositivo por medio de tablas de parámetros. Para
facilidad de referencia, los tres procedimientos básicos son
resumidos brevemente a continuación:
1): Dispositivo: Llamada (Device: Call). Esta
orden puede ser usada por una aplicación para realizar órdenes
sincrónicas o transferencia de datos. La ejecución de la aplicación
es suspendida hasta que el control es devuelto cuando se ha
completado la operación por el controlador de dispositivo; esto
permite que sean controladas fiablemente operaciones que deben ser
realizadas en secuencia estricta.
2) Dispositivo: Entrada/Salida (Device: I/O).
Esta orden permite el funcionamiento asincrónico. O sea, una
aplicación puede enviar una solicitud de que una transferencia de
datos o una función particular sea realizada por el controlador de
dispositivo y la ejecución de la aplicación puede continuar
mientras la transferencia de datos o la función es realizada por el
controlador de dispositivo.
3) Dispositivo: Evento (Device: Event). Esta
función de captura de eventos permite que eventos sean señalados
por el controlador de dispositivo a una aplicación, y para que la
acción particular sea efectuada por la aplicación en respuesta al
evento independientemente del código que la aplicación está
ejecutando en el momento que el evento es señalado; la aplicación
es interrumpida efectivamente. Los eventos pueden ser priorizados.
Los eventos pueden ser usados para señalar eventos que ocurren en la
interfaz, tal como una reposición de bus.
Ahora serán descritas las órdenes provistas en un
controlador de dispositivo que materializa la invención. Puede
accederse a cada orden mediante una aplicación pasando un
identificador de la orden como un parámetro por medio de la orden
Dispositivo: Llamada (Device: Call) o Dispositivo: Entrada/Salida
(Device: I/O). No todas las órdenes descritas a continuación
precisan ser provistas, y las funciones de las órdenes pueden ser
alteradas. Aunque las órdenes pueden ser provistas o alteradas
independientemente, como será apreciado, ciertos beneficios
sinérgicos se derivan de la funcionalidad combinada proporcionada
por las órdenes descritas.
Las órdenes serán descritas en términos de las
características y las funciones provistas por cada orden, como es
visto por una aplicación, junto con las características opcionales
y preferibles. Con la información dada y las especificaciones
provistas, la implementación real de estas características debería
ser sencilla para un experto en la técnica, y los detalles precisos
son dejados al encargado de la implementación. Como un ejemplo,
cada orden podría ser implementada en software, escrita
preferiblemente en el lenguaje de programación C y compilada
preferiblemente para ejecución en el procesador usado para ejecutar
la aplicación; sin embargo, el controlador de dispositivo puede ser
ejecutado en un procesador distinto, y algunas o todas las órdenes
pueden ser implementadas por hardware especializado. Usando las
órdenes de Llamada (Call) o Entrada/Salida (I/O), el controlador de
dispositivo puede señalar información o pasar parámetros de vuelta
a una aplicación disponiendo valores en una tabla de parámetros
almacenada en memoria cuya dirección es pasada al controlador de
dispositivo.
Se apreciará que la funcionalidad descrita a
continuación para las órdenes implica que ciertas funciones
subyacentes sean implementadas por el controlador de dispositivo,
por ejemplo, para ocuparse de identificadores lógicos de
periféricos e identificadores de canales lógicos, el controlador de
dispositivo incorpora medios para mantener tablas respectivas de
identificadores lógicos de periféricos e identificadores de canales
lógicos permitiéndoles que sean correlacionados con sus
características de interfaz correspondientes (dirección física o
número de canal de interfaz respectivamente). Además, en el caso de
un acontecimiento tal como una reposición de bus, el controlador de
dispositivo es dispuesto para determinar las direcciones físicas y
números de canales nuevos y actualizar las tablas de modo que la
transición sea relativamente fluida como es vista por una
aplicación.
Además, por supuestos, el controlador de
dispositivo incluye medios para efectuar realmente la comunicación
con la interfaz y para realizar las tareas de mantenimiento
necesarias tal como asignación y desasignación de memoria. Algunas
de estas funciones son ilustradas esquemáticamente en la Figura 5.
Los detalles de estas dependerán del hardware físico específico
usado, pero serán sencillos de implementar para un experto en la
técnica basado en el guiamiento presentado en esta memoria
descriptiva, y con referencia a las porciones apropiadas de la
documentación de normas IEEE 1394 (cuya descripción es incorporada
aquí por referencia), así que no serán descritos aquí.
Esta orden permite que los parámetros básicos de
interfaz sean dispuestos por una aplicación, preferiblemente el
tamaño de una memoria intermedia de recepción de datos que debería
ser asignada y el número de reintentos de comunicación que han de
ser usados cuando se envían órdenes asincrónicas por vía de la
interfaz. Estos parámetros podrían ser predispuestos y la orden
suprimida, pero la provisión de esta orden permite que las
comunicaciones sean optimizadas para aplicaciones diferentes. Aunque
tales parámetros podrían ser dispuestos asincrónicamente muy bien,
se halla preferible acceder a esta orden por medio del método de
Llamada (Call) de modo que las órdenes subsiguientes de aplicación
sólo son ejecutadas después de que los parámetros de dispositivo han
sido estabilizados. La orden señala preferiblemente un error a la
aplicación si el controlador de dispositivo está en el proceso de
recibir datos desde el periférico.
Esta orden devuelve la información básica
referente a la topología de bus a una aplicación. Como es menos
crítica en el tiempo, se accede a ella de modo preferiblemente
asincrónico por medio de la orden de Entrada/Salida (IO).
Preferiblemente, esta y realmente todas, o al
menos algunas, órdenes asincrónicas están dispuestas para pasar un
tiempo máximo (por ejemplo, en ms) requerido para respuesta (o un
código, por ejemplo cero significando que no hay tiempo máximo);
esto puede permitir que el controlador de dispositivo priorice las
solicitudes.
Preferiblemente, la orden devuelve información
referente a la frecuencia máxima de datos gestionada por el bus, la
frecuencia de datos disponible en el momento de la llamada (o sea,
teniendo en cuenta las conexiones ya activas en el bus), el número
de periféricos conectados físicamente con el bus y sus
identificadores lógicos correspondientes (que serán tratados
adicionalmente después), y que canales lógicos están disponibles en
el momento de la llamada.
Con el bus IEEE 1394, a cada periférico conectado
al bus le es asignada una dirección física que puede cambiar de vez
en cuando.
Se apreciará que, aunque la provisión específica
de esta orden es opcional, es deseable que el controlador de
dispositivo mantenga una tabla de direcciones lógicas (también
denominadas identificadores lógicos de periféricos) que son
constantes para cada periférico (para una sesión dada para una
aplicación dada; las direcciones lógicas pueden cambiar si el
receptor/descodificador es repuesto) de modo que, en cada
ejecución, una aplicación puede usar una sola dirección lógica para
identificar un periférico correspondiente unívocamente y no
ambiguamente. Los números de canales asignados a canales también
pueden variar, así que el controlador de dispositivo también
mantiene una tabla de números de canales lógicos. Entonces, el
controlador de dispositivo puede responder a una solicitud de
información buscando simplemente datos en la tabla apropiada.
Preferiblemente, la información referente a la
disponibilidad de canales es pasada en forma binaria, como un mapa
de bits, preferiblemente 8 bytes de información en la que cada bit
codifica la disponibilidad de uno de 64 canales lógicos (por
ejemplo, significando un "0" que el canal ya está asignado y
significando un "1" que el canal está disponible para el
uso).
Esta orden es dispuesta para recibir un parámetro
que indica un identificador lógico de periférico y devolver una
dirección física de dos bytes (también conocida como una
identificación de nodo) correspondiente a la dirección física
asignada al periférico en la interfaz, y preferiblemente también
devolver un identificador único de nodo de 8 bytes identificando de
modo preferiblemente unívoco el periférico globalmente, o
identificando al menos el número de modelo o vendedor del
periférico. Esto proporciona la capacidad para que una aplicación
adecuadamente sofisticada determine, por ejemplo, capacidades
especiales del equipo basada en información que identifica
periféricos específicos.
La orden está dispuesta preferiblemente para
señalar un error si la interfaz no está conectada físicamente a un
bus IEEE 1394 funcional o si el identificador lógico de periférico
es inválido (por ejemplo, mayor que un máximo predeterminado,
preferiblemente 63), y también señalar una reposición pendiente de
bus, un error si el identificador lógico especificado de periférico
no es conocido, o si el dispositivo falla en responder dentro de un
tiempo especificado.
A la orden se accede de modo preferiblemente
asincrónico, por medio del procedimiento Dispositivo: Entrada/Salida
(Device: I/O), con una señal indicando la terminación o el fallo
siendo pasada por medio de un bloque de parámetros.
Esta orden es dispuesta para recibir una
solicitud de asignar un canal, especificando preferiblemente la
frecuencia deseada de comunicación y preferiblemente también el
canal deseado de interfaz que ha de ser utilizado. Un código
predeterminado (por ejemplo, 0FFh) puede ser usado para significar
que no hay canal particular de interfaz, en cuyo caso o en el caso
de que el canal deseado de interfaz esté ocupado, el controlador de
dispositivo asigna un canal disponible.
La orden devuelve un identificador de canal
lógico asignado si es satisfactorio, y señala preferiblemente un
error en los casos aplicables descritos anteriormente para la orden
"Bus_1394_Info_Periph" o si no hay canales disponibles o si la
frecuencia solicitada de datos es mayor que la frecuencia máxima
disponible.
En implementaciones simplificadas del controlador
de dispositivo, por ejemplo usando un número muy limitado de
canales, esta orden y las dos órdenes relacionadas descritas a
continuación pueden ser suprimidas a costa de alguna
flexibilidad.
A la orden se accede de modo preferiblemente
asincrónico, por medio del procedimiento Dispositivo: Entrada/Salida
(Device: I/O), con una señal indicando la terminación o el fallo
siendo pasada por medio de un bloque de parámetros.
Esta orden es dispuesta para devolver información
referente a las características de un canal lógico especificado a
una aplicación. La orden devuelve preferiblemente la frecuencia
máxima asignada al canal (en kilobits/s), la frecuencia disponible
por vía del canal en el momento de la llamada, el identificador de
canal real (o sea, el asignado por la interfaz más bien que por el
controlador de dispositivo), el número de conexiones que usan el
canal y los identificadores lógicos de cada conexión que usa el
canal.
La orden señala preferiblemente un error si el
número de canal especificado no es asignado, en el caso de un
identificador inválido, en el caso de una reposición pendiente de
bus o si la interfaz no está conectada físicamente.
A la orden se accede de modo preferiblemente
asincrónico, por medio del procedimiento Dispositivo: Entrada/Salida
(Device: I/O), con una señal que indica la terminación o el fallo
siendo pasada por medio de un bloque de parámetros.
Esta orden libera un canal para comunicación
interrumpiendo conexiones para un canal lógico especificado como un
parámetro (pero preferiblemente sin desasignar los identificadores
de conexiones). La orden opera de modo preferiblemente asincrónico
y señala las comunicaciones que están pendientes todavía en el canal
seleccionado por medio de un evento.
Esta orden es dispuesta para recibir una
solicitud que indica un identificador de canal lógico y
preferiblemente también un tipo de conexión y para iniciar una
conexión de punto a punto entre dos dispositivos o una conexión de
entrada o salida de radiodifusión dependiendo del tipo de conexión
especificado. Donde la conexión de punto a punto es especificada,
los identificadores lógicos de periféricos de los dos periféricos
también deben ser pasados al controlador de dispositivo. Aunque
variantes de esta orden podrían funcionar usando direcciones
físicas y números de canales reales de interfaz, el funcionamiento
sobre la base de parámetros lógicos ofrece las ventajas de
funcionamiento simplificado de aplicación mencionado
anteriormente.
La orden devuelve un identificador de conexión
lógico si es satisfactoria.
Las implementaciones simplificadas pueden
suprimir la capacidad para que conexiones definidas de punto a punto
sean especificadas; en aplicaciones típicas, puede haber sólo un
dispositivo único tal como un videograbador digital conectado al
bus, así que las conexiones de radiodifusión pueden ser
suficientes.
En algunas implementaciones del controlador de
dispositivo, la apertura de una conexión particular también puede
activar automáticamente el reencaminamiento de otros trayectos de
señales dentro del receptor/descodificador. Por ejemplo, la
apertura de una conexión de entrada de radiodifusión puede causar la
desconexión automática de la sección de entrada de la entrada de
multiplexor, de modo que el desmultiplexor está disponible para
procesar datos entrantes recibidos por el bus IEEE 1394.
Esta orden señala preferiblemente un error cuando
se alcanza el número máximo de conexiones, o en los otros casos
aplicables antes mencionados con relación a otras órdenes.
A la orden se accede de modo preferiblemente
asincrónico, por medio del procedimiento Dispositivo: Entrada/Salida
(Device: I/O), con una señal que indica la terminación o el fallo
siendo pasada por medio de un evento.
Esta orden recibe un identificador de conexión
lógico y detiene la comunicación en esa conexión, liberando después
el identificador de conexión para reutilización.
Si las señales son reencaminadas automáticamente
dentro del receptor/descodificador al abrir las conexiones, el
dispositivo restaura preferiblemente las conexiones a su estado
anterior al cerrar la conexión o al cerrar la última conexión
pertinente. Por ejemplo, la entrada de desmultiplexor puede ser
reconectada a la sección de entrada al cerrar la última conexión de
entrada de radiodifusión.
A la orden se accede de modo preferiblemente
asincrónico por medio del procedimiento Dispositivo: Entrada/Salida,
con una señal que indica la terminación o el fallo siendo pasada
por medio de un evento.
Esta orden devuelve una lista de conexiones
activas, sólo las que implican el propio descodificador, disponibles
en el momento de la llamada, preferiblemente en la forma de una
lista que comprende el número de conexiones y, para cada conexión,
un identificador de conexión lógico y un señalizador indicando el
tipo de conexión (punto a punto, entrada de radiodifusión, salida
de radiodifusión).
Esta y/o la orden descrita después pueden ser
suprimidas en implementaciones sencillas del dispositivo, si sólo
son provistas conexiones sencillas. Sin embargo, la provisión de
tales órdenes permite que una aplicación supervise no sólo las
conexiones que ha establecido por sí misma sino también que
supervise las conexiones establecidas por otras aplicaciones, si
más de una aplicación es capaz de usar el controlador de
dispositivo en un momento cualquiera, y que supervise si cualesquier
conexiones han sido cerradas inesperadamente.
A la orden se accede de modo preferiblemente
sincrónico, por medio del procedimiento Dispositivo: Llamada
(Device: Call), puesto que las conexiones son propensas a cambiar
frecuentemente y una aplicación puede intentar de otro modo
controlar las comunicaciones basada en información atrasada, o de
otro modo requerir el sondeo de la respuesta procedente del
controlador de dispositivo.
Esta orden acepta un identificador de conexión
lógico y devuelve el número de canal lógico por el que es
establecido la conexión. La orden también devuelve preferiblemente
una indicación del tipo de conexión y, en el caso de una conexión
de punto a punto, devuelve las direcciones lógicas de los
periféricos implicados.
Como con la orden List_Connect, a esta orden se
accede de modo preferiblemente sincrónico.
Esta orden inicia un procedimiento de reposición
de bus o devuelve un error si una reposición de bus ya está
pendiente. La orden puede ser usada para permitir que una
aplicación tome el control del bus IEEE 1394 inmediatamente después
de una reposición, y se accede a ella de modo preferiblemente
sincrónico. El controlador de dispositivo señala preferiblemente la
terminación de la reposición de bus por medio de un evento, tratado
adicionalmente después.
Esta orden en particular puede ser suprimida o
implementada de modo diferente. La descripción siguiente es de un
ejemplo de una disposición para enviar datos de modo asincrónico
por el bus IEEE 1394.
Esta orden recibe un bloque de parámetros que
contiene un mensaje para ser enviado asincrónicamente como una orden
o respuesta a un periférico en el bus IEEE 1394. El bloque de
parámetros contiene preferiblemente una indicación del tipo de
mensaje, el tamaño de la memoria intermedia que debería ser asignada
para una respuesta, el identificador lógico de periférico del
periférico de destino, la longitud del mensaje y el propio
mensaje.
La orden indica preferiblemente la emisión
satisfactoria o comunica un error si la emisión fue insatisfactoria
dentro de un número predeterminado de reintentos o en los casos
aplicables antes descritos para la orden "Info_Periph".
Como grandes cantidades de datos pueden ser
transferidos potencialmente, a la orden se accede de modo
preferiblemente asincrónico para permitir que la aplicación
continúe la ejecución mientras el transistor continúa.
Preferiblemente, la orden es dispuesta para
radiodifundir un mensaje a todos los periféricos si es especificado
un identificador lógico predefinido de periférico, por ejemplo
63.
En realizaciones simplificadas del controlador de
dispositivo, esta orden puede ser restringida a la transmisión de
mensajes de longitud fija, por ejemplo 32 bytes, que es suficiente
para transmisión de una orden a un videograbador digital.
Preferiblemente, el controlador de dispositivo es
capaz de recibir y transmitir solicitudes múltiples casi
simultáneamente y de comunicar respuestas múltiples. Sin embargo,
las implementaciones simplificadas sólo pueden proporcionar
capacidad para solicitudes secuenciales únicas.
Además de las órdenes, que permiten que una
aplicación envíe órdenes al controlador de dispositivo, el
controlador de dispositivo está dispuesto para señalar eventos a
una aplicación por medio de las funciones de manejo de eventos del
director de dispositivos. El controlador de dispositivo implementa
los eventos siguientes:
Este evento señala la recepción de un cuadro de
Protocolo de Control de Funciones (FCP: Function Control Protocol)
desde un periférico y proporciona un bloque de parámetros que
contiene la dirección lógica de periférico de origen, el tipo, la
longitud y el contenido del mensaje.
Este evento señala la asignación y desasignación
de canal y pasa una lista que señala que canales están asignados,
preferiblemente codificados en forma binaria como se describió
antes con relación a la orden "Info".
Este evento señala la conexión o desconexión de
periférico y proporciona una lista que contiene el número de
periféricos conectados y sus direcciones lógicas.
Se apreciará que los cambios en la interfaz
relativos a este y al evento "Channel" (canal) descrito
anteriormente deben ser supervisados por el controlador de
dispositivo para mantener actualizada la tabla de correspondencia
entre los identificadores lógicos y de interfaz, aunque el
controlador de dispositivo no señale tales eventos a una
aplicación.
Este evento es usado para señalar una
interrupción de conexión, y proporciona un identificador lógico a la
aplicación de la conexión interrumpida, y preferiblemente también
una lista que contiene más información referente a la conexión
interrumpida en formato similar al descrito anteriormente para la
orden "Info_Connection".
Este evento puede señalar uno o más errores de
bajo nivel de interfaz, por ejemplo periféricos que ocupan el bus
durante más tiempo que el permitido, errores de datos o de
comprobación de redundancia cíclica, transacciones inesperadas,
números desconocidos de canales o códigos de transacciones, etc.
Este evento es principalmente útil para depuración y puede ser
suprimido en implementaciones simplificadas del controlador de
dispositivo.
Este evento puede señalar uno o más estados de
alto nivel de bus, incluyendo al menos uno (y preferiblemente ambos)
de un comienzo y un final de reposición de bus, y también eventos
tales como un corte de energía eléctrica de cable, la detección de
un bucle en el bus, o un error fatal del que el controlador de
dispositivo no puede recuperarse por sí mismo después de reintentos
múltiples.
Como un evento adicional, este evento puede ser
usado para señalar errores internos al controlador de dispositivo,
tales como no tener una memoria intermedia disponible en la que
almacenar un mensaje recibido.
Las órdenes y los eventos anteriores son
simplemente ilustrativos, y la invención puede ser implementada de
diversos modos y, en particular, algunas órdenes pueden ser
combinadas con otras que realización funciones similares, o algunas
pueden ser suprimidas en implementaciones simplificadas. Las
implementaciones en hardware y software de cada una de las funciones
pueden ser mezcladas libremente, tanto entre órdenes como dentro de
una sola orden, las implementaciones en hardware pueden funcionar
más rápidamente y liberar potencia de procesamiento, mientras que
las implementaciones en software pueden ser actualizadas más
fácilmente. Se comprenderá fácilmente que las funciones realizadas
por el hardware, el software de ordenador y semejantes son
realizadas sobre, o usando señales eléctricas y similares. Las
implementaciones de software pueden ser almacenadas en memoria ROM
o memoria FLASH, o pueden ser corregidas en memoria FLASH.
Se comprenderá que la presente invención ha sido
descrita antes simplemente a modo de ejemplo, y que modificaciones
detalladas pueden ser efectuadas dentro del alcance de la
invención.
Cada característica expuesta en la descripción y
(donde sea apropiado) las reivindicaciones y los dibujos puede ser
provista independientemente o en cualquier combinación
apropiada.
Claims (10)
1. Un método para comunicar datos, por vía de un
controlador de dispositivo, entre una aplicación y una interfaz que
tiene al menos una característica a la que es asignado un
identificador correspondiente de interfaz, con la asignación del
identificador de interfaz a la característica siendo susceptible al
cambio después de al menos un evento, comprendiendo el método:
para al menos una dicha característica, almacenar
un identificador lógico correspondiente;
suministrar el identificador lógico a la
aplicación para dirigir la comunicación asociada con la
característica correspondiente entre el controlador de dispositivo
y la aplicación; y
mantener la correspondencia entre el, o cada,
identificador lógico y la, o cada, característica independientemente
del identificador de interfaz asignado a la, o cada, característica
de modo que la comunicación entre la aplicación y el controlador de
dispositivo, dirigida usando un identificador lógico dado, permanece
asociada con la característica dada correspondiente después de un
cambio en la asignación del identificador correspondiente de
interfaz a la característica.
2. Un método según la reivindicación 1, en el que
la comunicación entre la interfaz y el controlador de dispositivo es
dirigida basada en el, o cada, identificador de interfaz.
3. Un método según la reivindicación 1 o la
reivindicación 2, incluyendo compilar una lista de identificadores
lógicos e identificadores de interfaz correspondientes para todas
las características que satisfacen criterios predeterminados.
4. Un método según cualquier reivindicación
precedente, en el que el controlador de dispositivo es dispuesto
para comunicar a petición el identificador de interfaz, asignado a
un identificador lógico, a la aplicación.
5. Un método según cualquier reivindicación
precedente, en el que el controlador de dispositivo es dispuesto
para aceptar solicitudes desde una aplicación para definir
conexiones entre dispositivos físicos conectados al bus usando al
menos un identificador lógico en lugar de un identificador de
interfaz.
6. Un controlador de dispositivo para efectuar la
comunicación entre una aplicación y una interfaz que tiene al menos
una característica a la que es asignado un identificador de
interfaz, con el, o cada, identificador de interfaz siendo propenso
a cambiar después de al menos un evento, comprendiendo el
controlador de dispositivo:
medios para almacenar al menos un identificador
lógico correspondiente a un identificador respectivo de
interfaz;
medios para suministrar el identificador lógico a
la aplicación para dirigir la comunicación asociada con la
característica correspondiente entre el controlador de dispositivo
y la aplicación; y
medios para mantener la correspondencia entre el,
o cada, identificador lógico y la, o cada, característica
independientemente del identificador de interfaz asignado a la, o
cada, característica de modo que la comunicación entre la aplicación
y el controlador de dispositivo, dirigida usando un identificador
lógico dado, puede permanecer asociada con la característica dada
correspondiente después de un cambio en la asignación del
identificador correspondiente de interfaz a la característica.
7. Un controlador de dispositivo según la
reivindicación 6, en el que el controlador de dispositivo es
implementado en software ejecutable preferiblemente por medios de
procesamiento que ejecutan la, o cada, aplicación.
8. Un controlador de dispositivo según la
reivindicación 6 o la reivindicación 7, en el que el controlador de
dispositivo está dispuesto para compilar una lista de
identificadores lógicos e identificadores de interfaz
correspondientes para todas las características que satisfacen
criterios predeterminados.
9. Un controlador de dispositivo según cualquiera
de la reivindicaciones 6 a 8, incluyendo medios para comunicara a
petición el identificador de interfaz, asignado a un identificador
lógico, a la aplicación.
10. Un controlador de dispositivo según
cualquiera de las reivindicación 6 a 9, incluyendo medios para
aceptar una solicitud desde una aplicación para definir conexiones
entre dispositivos físicos conectados al bus usando al menos un
identificador lógico en lugar de un identificador de interfaz.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97401793A EP0893765A1 (en) | 1997-07-24 | 1997-07-24 | IEEE 1394 Set Top Box device driver |
EP97401793 | 1997-07-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2206957T3 true ES2206957T3 (es) | 2004-05-16 |
Family
ID=8229823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES98933845T Expired - Lifetime ES2206957T3 (es) | 1997-07-24 | 1998-07-23 | Actuador para dispositivo de caja de adaptacion multimedios para norma ieee1394. |
Country Status (22)
Country | Link |
---|---|
US (1) | US6966063B1 (es) |
EP (2) | EP0893765A1 (es) |
JP (1) | JP4105382B2 (es) |
KR (1) | KR100559158B1 (es) |
CN (1) | CN1265206A (es) |
AT (1) | ATE253752T1 (es) |
AU (1) | AU741471B2 (es) |
BR (1) | BR9810806A (es) |
CA (1) | CA2296337C (es) |
DE (1) | DE69819507T2 (es) |
ES (1) | ES2206957T3 (es) |
HR (1) | HRP20000039A2 (es) |
HU (1) | HUP0004817A3 (es) |
ID (1) | ID24447A (es) |
IL (1) | IL134145A (es) |
NO (1) | NO319201B1 (es) |
NZ (1) | NZ502917A (es) |
PL (1) | PL338243A1 (es) |
RU (1) | RU2226710C2 (es) |
TR (1) | TR200000179T2 (es) |
WO (1) | WO1999005603A1 (es) |
ZA (1) | ZA986604B (es) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020044656A1 (en) * | 1999-10-13 | 2002-04-18 | Brant L. Candelore | Interfacing a conditional access circuit to a digital device using input and output stream switching |
AU3752100A (en) * | 1999-03-30 | 2000-10-16 | Sony Electronics Inc. | Interfacing a conditional access circuit to a digital device using input and output stream switching |
JP2002094472A (ja) * | 2000-05-30 | 2002-03-29 | Matsushita Electric Ind Co Ltd | データ取得装置及びその方法 |
FI20002124A (fi) * | 2000-09-27 | 2002-03-28 | Nokia Corp | Kanavaominaisuuksien muuttaminen |
JP2002290853A (ja) | 2001-03-22 | 2002-10-04 | Canon Inc | テレビジョン放送受信装置およびテレビジョン放送受信方法およびテレビジョン放送受信プログラム |
US7690017B2 (en) * | 2001-05-03 | 2010-03-30 | Mitsubishi Digital Electronics America, Inc. | Control system and user interface for network of input devices |
US7415539B2 (en) * | 2001-09-28 | 2008-08-19 | Siebel Systems, Inc. | Method and apparatus for detecting insufficient memory for data extraction processes |
GB0224705D0 (en) | 2002-10-24 | 2002-12-04 | Zarlink Semiconductor Ltd | Digital television convertor |
PL361715A1 (en) * | 2003-08-18 | 2005-02-21 | Advanced Digital Broadcast Ltd. | Integrated digital tv decoder |
US8205235B2 (en) * | 2003-11-14 | 2012-06-19 | Sharp Laboratories Of America, Inc. | Systems and methods for representing a tuner device in a media server content directory service |
CN1957601B (zh) | 2004-03-25 | 2010-12-08 | 索尼株式会社 | 信息信号处理设备、功能块控制方法和功能块 |
US8473844B2 (en) | 2004-03-26 | 2013-06-25 | Harman International Industries, Incorporated | Audio related system link management |
JP4574253B2 (ja) | 2004-07-09 | 2010-11-04 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
EP1796388A1 (en) * | 2005-12-12 | 2007-06-13 | Advanced Digital Broadcast S.A. | Smart card with data storage, set-top box, portable player for operating smart card with data storage and method for manufacturing smart card with data storage |
US8010849B2 (en) * | 2006-09-05 | 2011-08-30 | Arm Limited | Diagnosing faults within programs being executed by virtual machines |
US20080218581A1 (en) * | 2007-03-06 | 2008-09-11 | Midas Tsai | Network audio/video communication system, comunication device and operation and audio/video data processing method for the same |
US8590028B2 (en) | 2007-07-09 | 2013-11-19 | Infosys Limited | Content licensing and conditional access using a mobile device |
JP5178429B2 (ja) * | 2008-09-25 | 2013-04-10 | キヤノン株式会社 | 制御装置及び制御方法 |
CN104349938B (zh) * | 2012-04-26 | 2018-09-11 | 乔伊·姆·特拉华公司 | 用于采掘环境的受控的区域照明系统及方法 |
CN103517026A (zh) * | 2012-06-29 | 2014-01-15 | 深圳市快播科技有限公司 | 多屏适配器、多屏适配器的遥控方法及系统 |
US20160006793A1 (en) * | 2014-07-04 | 2016-01-07 | Boe Technology Group Co., Ltd. | Osd subject file obtaining and providing method and device, updating system |
US11611549B2 (en) * | 2019-10-03 | 2023-03-21 | Fset Inc | System and method of securing access to a secure remote server and database on a mobile device |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3611588B2 (ja) * | 1992-12-21 | 2005-01-19 | ソニー株式会社 | 送信方法、受信方法、通信方法及び双方向バスシステム |
US5815678A (en) * | 1995-07-14 | 1998-09-29 | Adaptec, Inc. | Method and apparatus for implementing an application programming interface for a communications bus |
US6393496B1 (en) * | 1995-11-09 | 2002-05-21 | Curtis A. Schwaderer | Operating system and network independent application program interface for use in an intelligent communication device |
US5787259A (en) * | 1996-03-29 | 1998-07-28 | Microsoft Corporation | Digital interconnects of a PC with consumer electronics devices |
US5815675A (en) * | 1996-06-13 | 1998-09-29 | Vlsi Technology, Inc. | Method and apparatus for direct access to main memory by an I/O bus |
US5883621A (en) * | 1996-06-21 | 1999-03-16 | Sony Corporation | Device control with topology map in a digital network |
US6219703B1 (en) * | 1996-10-31 | 2001-04-17 | Motorola, Inc. | Method and apparatus for constructing a device management information base in a network management station |
CA2284867A1 (en) | 1997-03-21 | 1998-10-01 | Jean-Claude Sarfati | Access control system |
AU740740B2 (en) | 1997-03-21 | 2001-11-15 | Canal+ Societe Anonyme | Data processing system |
US6286054B2 (en) * | 1997-10-27 | 2001-09-04 | Flashpoint Technology, Inc. | Method and system for supporting multiple capture devices |
-
1997
- 1997-07-24 EP EP97401793A patent/EP0893765A1/en not_active Withdrawn
-
1998
- 1998-07-23 PL PL98338243A patent/PL338243A1/xx unknown
- 1998-07-23 JP JP2000504512A patent/JP4105382B2/ja not_active Expired - Lifetime
- 1998-07-23 RU RU2000104509/09A patent/RU2226710C2/ru active
- 1998-07-23 DE DE69819507T patent/DE69819507T2/de not_active Expired - Lifetime
- 1998-07-23 ID IDW20000325A patent/ID24447A/id unknown
- 1998-07-23 HU HU0004817A patent/HUP0004817A3/hu unknown
- 1998-07-23 ES ES98933845T patent/ES2206957T3/es not_active Expired - Lifetime
- 1998-07-23 EP EP98933845A patent/EP0996894B1/en not_active Expired - Lifetime
- 1998-07-23 NZ NZ502917A patent/NZ502917A/en unknown
- 1998-07-23 CA CA002296337A patent/CA2296337C/en not_active Expired - Lifetime
- 1998-07-23 AU AU83533/98A patent/AU741471B2/en not_active Expired
- 1998-07-23 BR BR9810806-9A patent/BR9810806A/pt not_active IP Right Cessation
- 1998-07-23 WO PCT/IB1998/001172 patent/WO1999005603A1/en active IP Right Grant
- 1998-07-23 CN CN98807560A patent/CN1265206A/zh active Pending
- 1998-07-23 KR KR1020007000770A patent/KR100559158B1/ko not_active IP Right Cessation
- 1998-07-23 AT AT98933845T patent/ATE253752T1/de not_active IP Right Cessation
- 1998-07-23 IL IL13414598A patent/IL134145A/en not_active IP Right Cessation
- 1998-07-23 TR TR2000/00179T patent/TR200000179T2/xx unknown
- 1998-07-24 ZA ZA986604A patent/ZA986604B/xx unknown
-
2000
- 2000-01-21 NO NO20000319A patent/NO319201B1/no not_active IP Right Cessation
- 2000-01-24 US US09/489,676 patent/US6966063B1/en not_active Expired - Lifetime
- 2000-01-25 HR HR20000039A patent/HRP20000039A2/hr not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP0996894A1 (en) | 2000-05-03 |
WO1999005603A1 (en) | 1999-02-04 |
KR100559158B1 (ko) | 2006-03-10 |
DE69819507D1 (de) | 2003-12-11 |
RU2226710C2 (ru) | 2004-04-10 |
IL134145A (en) | 2004-07-25 |
EP0996894B1 (en) | 2003-11-05 |
BR9810806A (pt) | 2000-09-12 |
NO20000319L (no) | 2000-03-24 |
HRP20000039A2 (en) | 2000-08-31 |
EP0893765A1 (en) | 1999-01-27 |
NZ502917A (en) | 2001-08-31 |
HUP0004817A3 (en) | 2003-02-28 |
CA2296337C (en) | 2008-07-15 |
DE69819507T2 (de) | 2004-09-23 |
CA2296337A1 (en) | 1999-02-04 |
NO319201B1 (no) | 2005-06-27 |
KR20010022198A (ko) | 2001-03-15 |
PL338243A1 (en) | 2000-10-09 |
AU8353398A (en) | 1999-02-16 |
ID24447A (id) | 2000-07-20 |
AU741471B2 (en) | 2001-11-29 |
ATE253752T1 (de) | 2003-11-15 |
IL134145A0 (en) | 2001-04-30 |
TR200000179T2 (tr) | 2000-06-21 |
JP4105382B2 (ja) | 2008-06-25 |
CN1265206A (zh) | 2000-08-30 |
HUP0004817A2 (hu) | 2001-05-28 |
JP2001511558A (ja) | 2001-08-14 |
US6966063B1 (en) | 2005-11-15 |
ZA986604B (en) | 1999-03-16 |
NO20000319D0 (no) | 2000-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2206957T3 (es) | Actuador para dispositivo de caja de adaptacion multimedios para norma ieee1394. | |
KR100558674B1 (ko) | 다중 스레드 데이터 프로세서 | |
KR100632363B1 (ko) | 디지털 디코더에서 애플리케이션의 다운로딩 | |
EP1067458A1 (en) | Running and testing applications | |
NO322938B1 (no) | Behandling av digital transportstrom | |
GB2288958A (en) | Processing an audio video interactive signal | |
BRPI9907903B1 (pt) | decodificador para um sistema de transmissão audiovisual digital e método para processar imagens digitais em um decodificador para um sistema de transmissão audiovisual digital | |
UA61944C2 (en) | Method for storing sets of transmitted data (variants) and the device for the realization of the method | |
JP5781049B2 (ja) | 可変管理命令群を有するアプリケーション管理器 | |
EP0968611A1 (en) | Data processing system | |
ES2213349T3 (es) | Metodo y dispositivo de configuracion. | |
EP1019836B1 (en) | Modem control | |
CN115766988A (zh) | 一种视频预览方法、装置及设备和存储介质 | |
JP4642230B2 (ja) | 受信器/復号器部 | |
MXPA00000776A (es) | Controlador de dispositivo de caja superior ieee | |
WO1998043172A2 (en) | Access control system | |
KR20040047865A (ko) | 조건부 액세스 시스템에서의 프로세서 요구를 최소화하는스마트카드 uart | |
CZ2000264A3 (cs) | Způsob a řídící zařízení pro komunikaci dat | |
JPH06232864A (ja) | Isdnプライマリ・ゲートウェイして動作するワークステーションに差し込まれるisdn用アダプタ・カードの初期化方法及び装置 | |
CZ331799A3 (cs) | Systém řízení přístupu | |
MXPA00003387A (es) | Procesador de datos de multiples subprocesos | |
MXPA00009426A (es) | Administracion de memoria en un receptor/descodificador | |
MXPA00003213A (es) | Control de modem | |
CZ20001198A3 (cs) | Řízení modemu | |
CZ20001257A3 (cs) | Zařízení pro zpracování digitálních audiovizuálních dat |