ES2201511T3 - Tratamiento de un flujo de transporte digital. - Google Patents
Tratamiento de un flujo de transporte digital.Info
- Publication number
- ES2201511T3 ES2201511T3 ES98933846T ES98933846T ES2201511T3 ES 2201511 T3 ES2201511 T3 ES 2201511T3 ES 98933846 T ES98933846 T ES 98933846T ES 98933846 T ES98933846 T ES 98933846T ES 2201511 T3 ES2201511 T3 ES 2201511T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- packages
- list
- stream
- data stream
- 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
- 238000004891 communication Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 claims description 2
- 230000002829 reductive effect Effects 0.000 claims description 2
- 230000036961 partial effect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 29
- 230000015654 memory Effects 0.000 description 23
- 230000009471 action Effects 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000010561 standard procedure Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000002195 synergetic 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/40117—Interconnection of audio or video/imaging devices
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Threshing Machine Elements (AREA)
- Iron Core Of Rotating Electric Machines (AREA)
- Detergent Compositions (AREA)
- Pyrane Compounds (AREA)
- Time-Division Multiplex Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Circuits Of Receivers In General (AREA)
- Processing Of Color Television Signals (AREA)
- Television Systems (AREA)
- Stereophonic System (AREA)
- Control And Other Processes For Unpacking Of Materials (AREA)
- Photoreceptors In Electrophotography (AREA)
Abstract
La invención se refiere a un dispositivo útil en un receptor/descodificador de un sistema de teledifusión digital en el que las señales recibidas pasan por un receptor/descodificador (2020) para dirigirse a continuación hacia un aparato de televisión (2022). El receptor/descodificador descodifica una señal comprimida de tipo MPEG y está controlado por un combinado de control situado a distancia (2026) mediante una interfaz del receptor/descodifcador. El receptor(descodificador comprende varias interfaces con unidades exteriores así como dispositivos pilotos lógicos de estas interfaces. El dispositivo de la invención produce un flujo de transporte parcial o un flujo de datos encapsulados, a partir del flujo recibido de datos digitales teledifundidos, bajo el control de un programa de aplicación, lo que permite a un flujo de datos, queridos, que contiene por ejemplo programas elegidos, ser grabados por un magnetoscopio digital acoplado para recibir el flujo de salida del dispositivo, o los que permite facilitar la comunicación con un ordenador.
Description
Tratamiento de un flujo de transporte
digital.
La presente invención se refiere a interfaces de
programas de aplicación a dispositivos físicos, particularmente pero
no exclusivamente en el contexto de receptores/descodificadores para
sistemas de televisión digital.
La llegada de sistemas de transmisión digitales
ha abierto la posibilidad de usar tales sistemas para otros
propósitos. Uno de estos es proporcionar interactividad con el
usuario final. La expresión "sistema de transmisión digital",
como se usa en esta memoria, incluye cualquier sistema de
transmisión para transmitir o emitir, por ejemplo, básicamente
datos digitales audiovisuales o multimedia. Si bien la presente
invención es particularmente aplicable a un sistema de televisión
digital de radiodifusión, la invención puede ser aplicada también a
una red de telecomunicaciones fija para aplicaciones de Internet
multimedia, a una televisión de circuito cerrado, y similares. La
expresión "sistema de televisión digital", como se usa en esta
memoria, incluye por ejemplo cualquier sistema vía satélite,
terrestre, por cable y otros.
La presente invención encuentra aplicación
concreta en un sistema de televisión digital de radiodifusión en el
que señales recibidas se hacen pasar a través de un receptor a un
receptor/descodificador y de este a un receptor de televisión. La
expresión "receptor/descodificador" usada en esta memoria
connota un receptor para recibir señales codificadas o no
codificadas, por ejemplo, señales de televisión y/o radio, que
pueden ser difundidas o transmitidas por algunos medios diferentes.
La expresión puede también connotar un descodificador para
descodificar 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 superior de receptor", tal como un
descodificador que funcione en combinación con un receptor
físicamente separado, o un descodificador tal que incluya funciones
adicionales tales como un buscador de red, un registrador de vídeo
o una televisión.
El receptor/descodificador descodifica una señal
de tipo MPEG comprimida en una señal de televisión para el receptor
de televisión. Está controlado por un microteléfono controlador
remoto, a través de una interfaz en el receptor/descodificador,
conocida también como caja superior de receptor (STB). Las siglas
MPEG se refieren a normas de transmisión de datos desarrolladas por
el grupo de trabajo de la Organización de Normas Internacionales
"Grupo de Expertos de Imágenes en Movimiento" y en particular
pero no exclusivamente a la norma MPEG-2
desarrollada para aplicaciones de televisión digitales y
establecida en los documentos ISO 13818-1, ISO
13181-2, ISO 13181-3 e ISO
13818-4. En el contexto de la presente solicitud de
patente la expresión incluye todas las variantes, modificaciones o
desarrollos de los formatos MPEG aplicables al campo de la
transmisión de datos digitales.
Un modo de proporcionar la interactividad
descrita anteriormente es ejecutar una aplicación en el
receptor/descodi-ficador a través del cual se recibe
la señal de televisión. Es conveniente permitir que una diversidad
de aplicaciones estén comunicadas con una diversidad de
dispositivos físicos de una manera transparente. Las solicitudes
copendientes PCT/EP97/02115 y PCT/EP97/02116 de los inventores
describen sistemas en los que una o más aplicaciones pueden ser
descargadas por un receptor/descodificador y aplicadas a
dispositivos físicos en el receptor/descodificador tales como
interfaces en paralelo y serie y lectores de tarjetas inteligentes
por medio de un dispositivo excitador para cada dispositivo y un
gestor de dispositivos global. La expresión "tarjeta
inteligente", usada en esta memoria, incluye, pero no
exclusivamente, cualquier dispositivo, u objeto de función y
comportamiento similares, de tarjeta basado en un chip, que posee,
por ejemplo, microprocesador y/o memoria de almacenaje. En esta
expresión están incluidos dispositivos que tienen formas físicas
alternativas a una tarjeta, por ejemplo, cualquier dispositivo en
forma de llave tal como los usados a menudo en sistemas
descodificadores de TV.
De conformidad con la presente invención, se ha
propuesto proporcionar la capacidad para una caja superior de
receptor de suministrar una corriente de salida digital de una
corriente de datos recibida, por ejemplo para permitir el almacenaje
digital de programas y datos recibidos, por ejemplo, usando un
registrador de vídeo digital, o facilitar la comunicación de datos
con otros dispositivos, por ejemplo sobre una red TCP/IP.
Un problema para proporcionar ese tipo de
corriente de salida digital es que la corriente de datos recibida
contiene generalmente datos MPEG a un régimen de bits muy alto, y
no sería práctico almacenar la corriente de datos recibidos
completa. En adición, la corriente de datos recibida puede contener
mucha información que no sea de interés para el observador. Un
receptor/descodificador contiene un aparato para desmultiplexar y
si es necesario desenmascarar una porción de la corriente de datos
recibida para proporcionar un canal único para la presentación
analógica que pueda ser registrado por medio de un registrador de
vídeo analógico convencional. No obstante, el aparato convencional
carece de flexibilidad y no puede proporcionar una corriente de
datos adecuada para el almacenaje digital.
Bungum O.W en el documento "Transmisión
Múltiple, Control de la Transmisión y Enmascaramiento de la
Transmisión de la Señal MPEG-2/DVB", convención
de Radiodifusión Internacional, 12 de Septiembre de 1996, páginas
288 a 293, describe la transmisión simultánea de varias corrientes
de transporte de diferentes medios en una corriente de transporte
en la que la filtración está dirigida a mantener el régimen de
salida por debajo del límite de la corriente de transporte. La
filtración se efectúa eliminando uno o varios PIDs (Identificadores
de Paquete) en una o varias de las corrientes de transporte.
\newpage
El documento
EP-A-0 679 028 describe un aparato
para extraer selectivamente cargas de pago deseadas de datos
componentes del programa y acoplar estos datos a un puerto de
entrada de datos de la memoria intermedia común. Un microprocesador
acopla también datos al puerto de entrada de datos de la memoria
intermedia común. Las cargas de pago y los datos componentes
respectivos generados por el microprocesador son almacenados es
respectivos bloques de la memoria intermedia común en respuesta a
las direcciones de memoria asociadas las cuales son aplicadas a un
puerto de entrada de direcciones de memoria mediante un multiplexor
de direcciones.
El documento
EP-A-0 781 002 describe un método
para optimizar el funcionamiento de un sistema de transporte de
paquetes que genera una corriente de paquetes que es portadora de
una pluralidad de señales componentes. La corriente de paquetes es
dividida en grupos sucesivos, conteniendo cada grupo un número
predeterminado de ranuras de paquete. Se mantiene una pluralidad de
listas, una asociada con cada ranura de paquete en un grupo. Una
corriente de paquetes se genera colocando datos que representan una
señal componente seleccionada en respuesta a entradas en la lista
asociada con esa ranura de paquete en la ranura de paquetes.
Aspectos de la invención proponen nuevas técnicas
para proporcionar una corriente de datos digitales adecuada para
ser almacenada en un registrador de vídeo digital. Aunque la
invención ofrece muchas ventajas en el tratamiento de una corriente
de datos de MPEG que contiene un cierto número de programas de
televisión y otros datos recibidos mediante un
receptor/descodificador (por cable o con más preferencia satélite)
para producir una corriente de salida adecuada para la transmisión
a un registrador de vídeo digital, los inventores han apreciado que
la invención puede ser aplicada al tratamiento de otras corrientes
de datos, y puede proporcionar la edición en tiempo real de un vídeo
digital.
En un primer aspecto, la invención proporciona un
aparato para tratar una corriente de datos digitales que
comprende:
medios para recibir una corriente de datos
digitales que comprende una pluralidad de paquetes de información,
teniendo cada paquete un identificador de paquete común para uno o
más paquetes;
medios para almacenar una lista de paquetes
especificados para que sean seleccionados de la corriente de datos
digitales recibida, incluyendo dicha lista información de prioridad
que indique una prioridad asignada a cada identificador de
paquete;
medios para extraer paquetes especificados en
dicha lista de la corriente de datos recibida; y
medios de tratamiento para tratar los paquetes
extraídos para producir una corriente de datos de salida, y para
reducir selectivamente el número de paquetes extraídos en la
corriente de datos de salida incluyendo paquetes extraídos con mayor
prioridad en la corriente de datos de salida con preferencia a los
paquetes extraídos con menor prioridad.
Este aspecto de la presente invención se extiende
a un método para tratar una corriente de datos digitales que
comprende:
recibir una corriente de datos digitales que
comprende una pluralidad de paquetes de información, teniendo cada
paquete un identificador de paquete común a uno o más paquetes que
han de ser seleccionados de la corriente de datos digitales
recibida, incluyendo dicha lista información de prioridad que indica
una prioridad asignada a cada identificador de paquete;
extraer paquetes especificados en dicha lista de
la corriente de datos recibida;
tratar los paquetes extraídos para producir una
corriente de datos de salida; y
reducir selectivamente el número de paquetes
extraídos en la corriente de datos de salida incluyendo paquetes
extraídos con mayor prioridad en la corriente de datos de salida
con preferencia a los paquetes extraídos con menor prioridad.
Por tanto, con este aspecto de la invención,
pueden ser extraídos paquetes concretos directamente de la
corriente de datos recibida (que puede ser denominada la corriente
de transporte original) y porciones seleccionadas, por ejemplo,
correspondientes a uno o más programas de interés, extraídas y
compiladas en la corriente de datos de salida (que puede ser
denominada una corriente de transporte parcial).
Se apreciará que el aparato ofrece considerable
flexibilidad pues puede ser empleado simplemente para copiar una
corriente de transporte original que contenga datos para varios
canales sin cambios, o para seleccionar un paquete individual de
datos.
Como la lista contiene información de prioridad
que indica la prioridad asignada a cada paquete, la información
menos importante, por ejemplo asociada con un programa de menos
interés puede ser descartada, conduciendo a un deterioro en la
calidad de ese programa, mientras que otro programa es registrado
más fiablemente.
En una realización, los medios de tratamiento
están destinados a reducir selectivamente el número de paquetes
extraídos en la corriente de datos de salida en caso de que el
número de paquetes extraídos que hayan de ser incluidos llegue a ser
demasiado grande para la capacidad de manipulación de datos de la
corriente de salida. Pueden ser excluidos paquetes por cierto
número de razones, por ejemplo, pueden ser excluidos paquetes en el
caso de que el número de paquetes sea demasiado grande para la
capacidad de manipulación de datos de un medio de almacenaje al que
han sido enviados los paquetes, o la capacidad de manipulación de
datos de un dispositivo o puerto de salida que reciba la corriente
de datos de salida.
Los medios de tratamiento pueden estar destinados
a reinsertar selectivamente paquetes extraídos excluidos en la
corriente de datos de salida, por ejemplo, si aumenta la capacidad
de manipulación de datos de la corriente de datos de salida.
Un paquete comprende típicamente una pluralidad
de secciones. Los medios para tratar secciones extraídas pueden
realizar preferiblemente una de un cierto número de operaciones
para encapsular o empaquetar secciones MPEG recibidas en un formato
adecuado. En una simple realización, el tratamiento de las secciones
extraídas puede comprender simplemente eliminar información de
encabezamiento de datos MPEG u otros datos de las secciones, por
ejemplo borrando porciones de los segmentos, preferiblemente en el
principio o el final, para extraer los datos "brutos" para
transmisión progresiva. En ese caso, la adición de encabezamientos
concretos de protocolos de comunicaciones y elementos similares debe
ser realizada en el extremo de envío, enviando, por ejemplo,
paquetes TCP/IP listos preparados.
Preferiblemente, los medios para tratar las
secciones extraídas incluyen medios para añadir al menos un
encabezamiento y un pie, y preferiblemente ambos, a una sección
recibida para proporcionar una corriente de datos de acuerdo con un
protocolo de comunicaciones distinto al protocolo de comunicaciones
de la corriente de datos recibida. Los medios de tratamiento de la
sección pueden incluir medios para añadir una secuencia de
comprobación de cuadros a los datos. La inclusión de tales
características puede reducir la cantidad de tratamiento requerida
en el transmisor, así como reducir la cantidad de datos que han de
ser transmitidos. Además, el protocolo de comunicaciones puede ser
cambiado en el receptor/descodificador.
En cada caso, la corriente de datos digitales
recibida es preferiblemente una corriente de datos MPEG (lo cual
significa cualquier variante, modificación o desarrollo del formato
MPEG básico, preferiblemente una corriente de datos
MPEG-2) que comprende una serie de paquetes que
tienen respectivos identificadores de paquete (también denominados
PIDs).
Particularmente (pero no exclusivamente), la
lista preferida comprende una lista de identificadores de paquete
que han de ser seleccionados de la corriente de datos recibida.
Particularmente (pero no exclusivamente), si la
lista comprende una lista de secciones, cada sección puede ser
identificada según un valor numérico en un campo especificado en la
sección. La sección se especifica preferiblemente definiendo un
campo de un primer número predeterminado de bits en un
desplazamiento de un segundo número predeterminado de bits de un
punto identificado, preferiblemente el inicio, en la sección.
El aparato puede incluir medios para registrar
los identificadores de secciones recibidos. Los medios de registro
pueden comprender medios para definir un mapa de bits,
correspondiendo cada bit en el mapa de bits a una sección recibida o
que se espera recibir, y medios para alterar el estado del bit
correspondiente a una sección recibida para que signifique la
recepción de esa sección.
El aparato incluye preferiblemente medios para
almacenar al menos una lista adicional de identificadores de paquete
y aplicar una o más operaciones de tratamiento especificadas, por
ejemplo desenmascarar, a paquetes especificados en la, o en cada,
lista adicional antes de la inclusión en la corriente de datos de
salida. Esto permite, por ejemplo, que un programa de enmascarado
sea desenmascarado y almacenado en forma desenmascarada.
El aparato incluye también preferiblemente medios
para insertar datos adicionales, por ejemplo paquetes en la
corriente de datos de salida. El aparato está preferiblemente
dispuesto para recibir los datos adicionales de una aplicación. Esto
permite que otra información, por ejemplo información que
identifique los programas incluidos en la corriente de datos de
salida, sea almacenada, o permite que otros datos generados por una
aplicación que recibe la corriente de transporte original sean
almacenados.
El aparato es con la máxima preferencia puesto en
práctica como un dispositivo en un receptor/descodificador, por
ejemplo para un sistema de satélites digital como se describe en
las solicitudes copendientes de
PCT/EP97/02106-02117. En ese tipo de puesta en
práctica, el dispositivo puede funcionar bajo el control de una
aplicación, por medio de un administrador de dispositivos, que
proporciona una disposición conveniente y flexible para controlar
la composición de la corriente de datos de salida. El dispositivo
se dispone preferiblemente de modo que comunica con un registrador
de vídeo digital usando una interfaz digital de alta velocidad, tal
como la interfaz 1394 de IEEE, que usa un excitador de dispositivo
adecuado, tal como el descrito en nuestra solicitud de patente
europea núm. 97401793.1, pero se puede usar con cualquier interfaz
digital adecuada.
El aparato se puede disponer para que
proporcione una conexión TCP/IP virtual a un ordenador, recibiendo
paquetes MPEG de radiodifusión y encapsulando los paquetes para
proporcionar una corriente de datos TCP/IP al ordenador. En tal
caso, la comunicación puede ser a través de un puerto serie o
paralelo, preferiblemente un puerto paralelo bidireccional
mejorado.
El dispositivo funciona preferiblemente en uno o
dos modos, un modo inactivo en el que no se produce corriente alguna
de salida y un modo en el que se hacen pasar datos a través del
dispositivo. Aunque la producción de la corriente de salida puede
ser detenida simplemente no especificando paquete alguno a ser
incluido, la provisión de un modo inactivo puede permitir una
utilización más eficiente de los recursos del sistema. El
dispositivo incluye también preferiblemente medios para recibir
órdenes desde una aplicación para iniciar y detener la generación
de la corriente de salida (para conmutar entre modos).
Preferiblemente, en dicho modo inactivo, el
dispositivo está dispuesto para recibir información para compilar
dicha lista en la forma de una lista inicial de todos los
identificadores de paquetes que han de ser copiados en la corriente
de salida. Esto permite establecer la lista inicial eficientemente.
Después de lo cual, en el modo de ejecución, el dispositivo está
preferiblemente dispuesto para recibir una lista de identificadores
de paquetes a ser añadidos o eliminados de la lista actual. De esta
manera, para actualizar la lista, no es necesario manejar listas de
longitud creciente y mantener las rutas de todos los
identificadores de paquete anteriores; esto es particularmente
ventajoso pues el tratamiento de modo de ejecución puede ser más
crítico con relación al tiempo que el tratamiento de modo
inactivo.
De una manera similar a la del almacenamiento
inicial de listas de identificadores de paquetes a ser copiados en
modo inactivo, y la adición y eliminación de entradas en modo de
ejecución, el dispositivo está dispuesto preferiblemente para
mantener una lista adicional de identificadores de paquetes que han
de ser desenmascarados, preferiblemente mediante medios de
desenmascaramiento del receptor/descodificador usados para
desenmascarar programas para presentación. Además, el dispositivo
puede estar dispuesto para recibir información para ser usada en el
desenmascaramiento de una aplicación, preferiblemente como parte de
un procedimiento para establecer la lista inicial de
identificadores de paquetes que han de ser desenmascarados.
El dispositivo incluye además preferiblemente
medios para almacenar una lista de secciones de MPEG que han de ser
insertadas mediante una aplicación. Preferiblemente, el dispositivo
está dispuesto para recibir parámetros de una aplicación para
controlar la repetición de la sección en la corriente de salida y el
dispositivo está dispuesto para repetir la sección basándose en los
parámetros. Esto permite la producción de corrientes de datos
complicadas con una entrada relativamente pequeña desde una
aplicación. Por ejemplo, una aplicación puede enviar una simple
orden para insertar una sección que identifique los programas
incluidos en la corriente de salida, y este puede ser
automáticamente insertada a intervalos regulares en la corriente de
salida por el dispositivo.
El dispositivo incluye preferiblemente medios
para volver a una información de la aplicación referente a los
identificadores de paquete actualmente seleccionados incluidos en
la corriente de salida.
Las funciones del dispositivo pueden ser puestas
en práctica en el hardware, por ejemplo en un circuito integrado
dedicado; este puede proporcionar una velocidad mejorada de
funcionamiento. Preferiblemente, sin embargo, al menos alguno de los
excitadores de dispositivo está incorporado en el software, siendo
hecho funcionar preferiblemente mediante medios de tratamiento que
ejecutan la aplicación; esto permite mayor flexibilidad, requiere
menos componentes, y permite que el excitador del dispositivo se
actualice más fácilmente.
En un tercer aspecto la presente invención
proporciona un sistema de tratamiento de datos que comprende:
- medios de motor de tiempo de ejecución para ejecutar al menos una aplicación;
- medios para recibir una corriente de datos digitales de radiodifusión;
- aparato, preferiblemente como se define anteriormente, para tratar la corriente de datos digitales recibida bajo el control de la, o de cada, aplicación; y
- medios para suministrar la salida de la corriente de datos mediante el aparato a una interfaz de salida.
Características preferidas de los aspectos
primero y segundo pueden ser aplicadas al tercer aspecto.
El sistema de tratamiento de datos se pone en
práctica preferiblemente en un receptor/descodificador (por ejemplo
una caja superior de receptor) que incluye medios para recibir la
corriente de datos digitales de radiodifusión de un receptor de
satélite o cable, estando dispuesta la interfaz para conexión con un
registrador de vídeo digital (expresión cuyo significado es el de
incluir cualquier dispositivo de almacenaje digital configurado
adecuadamente, capaz de almacenar datos para un programa de
televisión, independientemente del medio físico en el que los datos
estén actualmente almacenados) o un dispositivo de presentación
digital u ordenador para presentar o almacenar al menos una porción
de los datos recibidos. El dispositivo se dispone preferiblemente
para cooperar con un excitador de dispositivo para enviar la
corriente de datos de salida a una interfaz digital de alta
velocidad (superior a 100 Kbit/s, preferiblemente al menos 1
Mbit/s, 10 Mbit/s o más alta).
La interfaz preferiblemente según la norma 1394
del IEEE o una variante o modificación de la misma.
Donde el sistema se ejecuta en un
receptor/descodificador dispuesto para ser conectado a un
registrador de vídeo digital, incluyendo preferiblemente el
receptor/descodificador una aplicación dispuesta para controlar el
dispositivo para seleccionar porciones (paquetes o secciones) de la
corriente de datos recibida que comprende dos o más programas de
televisión para ser aplicados a un registrador de vídeo digital y
preferiblemente incluyendo medios para añadir información a la
corriente de datos de salida que identifiquen los programas. De
esta manera, un usuario puede seleccionar dos o más programas para
registro, para ser vistos, más adelante; esto requeriría
convencionalmente dos o más registradores de vídeo analógicos y dos
o más receptores/descodificadores. La aplicación puede incluir
medios para controlar el registrador de vídeo, por ejemplo como se
describe en nuestra solicitud de patente europea núm. 97401793.1,
cuya descripción se incorpora en esta memoria por su
referencia.
A continuación se describirán realizaciones que
incorporan características preferidas de la presente invención,
exclusivamente a modo de ejemplo, con referencia a los dibujos que
se acompañan, en los cuales:
la figura 1 es un diagrama esquemático de las
interfaces del receptor/descodificador;
la figura 2 es un diagrama de bloques funcional
del receptor/descodificador;
la figura 3 muestra ciertos componentes de la
máquina virtual y motor de tiempo de ejecución con más detalle;
la figura 4 muestra una vista general esquemática
de las funciones proporcionadas por un primer dispositivo que
incorpora la invención;
la figura 5 es un diagrama esquemático para
explicar la inserción de secciones repetidas en la corriente de
datos de salida;
la figura 6 es una vista general esquemática de
las funciones proporcionadas por un segundo dispositivo que
incorpora la invención;
la figura 7 es un diagrama esquemático de un
diagrama de datagrama producido por la realización de la figura
6;
la figura 8 ilustra una lista de PIDs
(Identificadores de Paquetes) que debe ser copiada directamente de
una corriente de datos de entrada en una corriente de datos de
salida; y
la figura 9 ilustra una lista de PIDs que han de
ser desenmascarados antes de ser copiados de la corriente de datos
de entrada en la corriente de datos de salida.
Para facilitar la comprensión del dispositivo, la
plataforma preferida en la que funciona el dispositivo, nuestro
receptor/descodificador de satélite digital se describirá primero
brevemente.
Haciendo referencia a la figura 1, un
receptor/descodificador 2020 o caja superior de receptor para ser
usada en un sistema de televisión interactivo digital en el que el
excitador de dispositivos de la realización está destinado a ser
instalado se representa esquemáticamente. Los detalles de un
sistema de televisión interactivo digital adecuado pueden ser
hallados en nuestras solicitudes copendientes
PCT/EP97/02106-02117 a las que se hace referencia,
y cuya descripción se incorpora en esta memoria por su referencia.
Para facilidad de referencia, las partes descritas con mayor detalle
en las especificaciones anteriormente mencionadas se designan
generalmente mediante los números de referencia usados en aquellas
especificaciones.
Como se describe con más detalle en las
especificaciones anteriormente mencionadas, haciendo referencia a la
figura 1, el receptor/descodificador 2020 incluye varis interfaces;
concretamente, un sintonizador 4028 para la corriente de señales
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 (usadas para
hacer pagos, operaciones bancarias caseras, etc.) u otra tarjeta
inteligente. El receptor/descodificador incluye también una interfaz
4034 a un canal 4002 de retroceso a través de un módem al productor
de la señal de televisión, de modo que el usuario puede indicar
preferencias, etc. al productor de la señal (programa) de
televisión. El receptor comprende también un Motor 4008 de Tiempo
de Ejecución, un Administrador 4068 de Dispositivos y una pluralidad
de Dispositivos 4062 para ejecutar una o más aplicaciones 4056.
Para los propósitos de esta memoria, una
aplicación es una pieza de código de ordenador para controlar
funciones de alto nivel preferiblemente del receptor/descodificador
2020. Por ejemplo, cuando el usuario final posiciona el foco de un
controlador remoto sobre un objeto de pulsador visto en la pantalla
del receptor 2022 de televisión y oprime una tecla de confirmación,
la secuencia de instrucciones asociada con el pulsador se
ejecuta.
Una aplicación interactiva propone menús y
ejecuta órdenes a petición del usuario final y proporciona datos
relativos al propósito de la aplicación. Las aplicaciones pueden
ser aplicaciones residentes, es decir, almacenadas en la ROM (o
memoria FLASH u otras memorias no volátiles) del
receptor/descodificador 2020, o de radiodifusión y descargadas en
la memoria RAM o FLASH del receptor/descodificador 2020.
Algunos ejemplos de aplicaciones, descritos con
más detalle en las aplicaciones antes mencionadas son:
* Una Aplicación de Iniciación que está en una
colección adaptable de módulos que permiten que el
receptor/descodificador 2020 sea inmediatamente operativo en el
medio MPEG-2.
* Una Aplicación de Arranque que permite que
cualquier aplicación, descargada o residente, sea ejecutada en el
receptor/descodificador 2020.
* Una Guía de Programas que es una aplicación
interactiva que proporciona completa información sobre la
programación.
* Una aplicación de Pagar Para Ver (PPV) que es
un servicio interactivo disponible en cada canal de PPV de la
oferta de TV digital que permite que el usuario final compre
eventos actuales.
* Una aplicación de Descarga de PC que permite
que un usuario final descargue software de ordenador usando la
aplicación de descarga de PC.
* Una aplicación de Buscador de Revistas que
comprende una radiodifusión de vídeos cíclica de imágenes con
navegación del usuario final por medio de botones en pantalla.
* Una aplicación de Telecompra permite que
ofertas de mercancías a la venta sean transmitidas al
receptor/descodi-ficador 2022 y permite que el
usuario seleccione un artículo particular que desea comprar.
Las aplicaciones son almacenadas en lugares de la
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 secuenciales de instrucción,
archivos de aplicación y archivos de datos, como se describe con
más detalle en las solicitudes anteriormente mencionadas.
En la corriente de datos de MPEG, cada módulo
comprende un grupo de tablas de MPEG. Cada tabla de MPEG puede ser
formateada como un número de las secciones. En la corriente de
datos MPEG, cada sección tiene un "tamaño" de hasta 4 Kbytes.
Para la transferencia de datos por medio del puerto serie o
paralelo, por ejemplo, son divididos los módulos de modo similar en
tablas y secciones, variando el tamaño de la sección con el medio
de transporte.
Los módulos son transportados en la corriente de
datos de MPEG en la forma de paquetes de datos de típicamente 188
bytes dentro de los respectivos tipos de la corriente de datos, por
ejemplo, corrientes de datos de vídeo, corrientes de datos de
audio, y corrientes de datos de teletexto. Cada paquete está
precedido por un Identificador (PID) de Paquete de 13 bits, un PID
para cada paquete transportado en la corriente de datos MPEG. Una
tabla de mapas de programa (tabla PMT) contiene una lista de las
diferentes corrientes de datos y define el contenido de cada
corriente de datos según el PID. Un PID puede alertar un
dispositivo de la presencia de aplicaciones en la corriente de
datos, siendo identificado el PID usando la tabla PMT.
El descodificador contiene una memoria dividida
en un volumen de RAM, un volumen de FLASH y un volumen de 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 puede ser considerada como parte del
hardware; desde otro punto de vista, la memoria puede ser
considerada como soportando o conteniendo la totalidad del sistema
mostrado separado del hardware.
El sistema puede ser considerado como centrado
sobre un motor 4008 de tiempo de ejecución que constituye una parte
de una máquina virtual 4007. Este se acopla a aplicaciones por un
lado (el lado de "alto nivel", y por el otro lado (el lado de
"bajo nivel"), por medio de varias unidades lógicas intermedias
que se examinan más adelante, al hardware 4061 de
receptor/descodificador. El hardware de receptor/descodificador
puede ser considerado como incluyendo los diversos puertos o
interfaces como se examinó anteriormente (la interfaz 2030 para el
microteléfono 2026 (H/SET), la interfaz 4028 de la corriente MPEG,
la interfaz 4030 en serie, la interfaz 4032 en paralelo, las
interfaces de los lectores 4036 de tarjeta, y la interfaz 4034 con
el canal 4002 de módem.
Con referencia la figura 2. varias aplicaciones
4056 están acopladas a la unidad 4007; algunas de las aplicaciones
usadas más ordinariamente pueden ser más o menos permanentemente
residente en el sistema, como se indica en 4057, mientras que otras
serán bajadas en el sistema, por ejemplo de la corriente de datos de
MPEG o de otros puertos como se requiera.
La unidad 4007 incluye, en adición al motor 4008
de tiempo de ejecución (RTE), algunas funciones 4006 de biblioteca
(LIB) residentes 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 tales como
compresión, expansión o comparación de estructuras de datos, dibujo
de líneas, etc. La biblioteca 4008 incluye también información
sobre el "firmware" (microprogramación programada) 4060 en el
receptor/descodificador 2020, tal como, números de las versiones de
hardware y software y espacio de memoria RAM disponible, y una
función usada cuando se descarga (baja) un nuevo dispositivo (DEV)
4062. Pueden ser descargadas funciones en la biblioteca, que son
almacenadas en la memoria RAM o "Flash".
El motor 4008 de tiempo de ejecución está
acoplado a un administrador 4068 de dispositivos (DEV MAN) que está
acoplado a un conjunto de dispositivos 4062 que están acoplados a
excitadores 4060 de dispositivos (DEV DR) que están a su vez
acoplados a los puertos o interfaces. En pocas palabras, un
dispositivo excitador puede ser considerado como definiendo una
interfaz lógica, de modo que dos excitadores de dispositivo
diferentes pueden estar acoplados a un puerto físico común. Un
dispositivo estará normalmente acoplado a más de un dispositivo
excitador; si un dispositivo está acoplado a un único excitador de
dispositivo estará designado normalmente para que incorpore toda la
funcionalidad requerida para la comunicación, de modo que se evite
la necesidad de un excitador de dispositivo separado. Ciertos
dispositivos pueden comunicarse entre sí.
Como se describirá a continuación, hay 3 formas
de comunicación de los dispositivos 4064 con el motor de tiempo de
ejecución: por medio de variables, separadores, y eventos que se
hacen pasar a un conjunto de colas de eventos.
Cada función del receptor/descodificador 2020 se
representa como un dispositivo 4062. Los dispositivos pueden ser
locales o remotos. Los dispositivos locales 4064 incluyen, tarjetas
inteligentes, señales de conectador SCART, módems, interfaces serie
y paralelas, un reproductor de vídeo y audio MPEG, y una sección
MPEG y extractor de mesa. Los dispositivos remotos 4066, son
ejecutados en un lugar remoto, difieren de los dispositivos locales
en que han de ser definidos un puerto y un procedimiento por la
autoridad o el diseñador del sistema, en vez de por un dispositivo y
un excitador de dispositivo proporcionados y diseñados por el
fabricante del receptor/descodificador.
Cuando se crea un nuevo dispositivo 4062, este
puede ser instalado en el receptor/descodificador 2020 existente
después de ser descargado por la aplicación 4056 adecuada del
centro de radiodifusión. Esta descarga se efectúa en el
receptor/descodificador 2020 mediante una aplicación 4056 que
comprueba el hardware y las versiones del software y, si son
correctas, carga el módulo de software que representa el nuevo
dispositivo 4062 y solicita un procedimiento de la biblioteca 4006
para instalar el nuevo código de dispositivo dentro del
"firmware" (en la memoria Flash). Esto puede proporcionar una
instalación flexible y segura de nuevas funciones dentro del
receptor/descodificador 2020 sin afectar al resto del software.
El administrador 4068 de dispositivos (DEV MAN)
es una interfaz de software ordinaria entre la aplicación 4056 y las
funciones concretas del receptor/descodificador 2020. El
administrador 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 4068 de tiempo de ejecución (RTE)
funciona bajo el control del microprocesador y una interfaz de
programación de la aplicación común, Están instalados en cada
receptor/descodificador de modo que todos los
receptores/descodificadores 2020 son idénticos desde el punto de
vista de la aplicación.
El motor 4008 ejecuta aplicaciones 4056 en el
receptor/descodificador 2020. Ejecuta aplicaciones interactivas
4056 y recibe eventos de fuera del receptor/descodificador 2020,
presenta gráficos y texto, llama a dispositivos para servicios y usa
funciones de la biblioteca 4006 conectada al motor 4008 para
cálculos concretos.
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 puede ser adaptado a cualquier sistema operativo, incluyendo
un sistema operativo de tarea única (tal como
MS-DOS). El motor 4008 está basado en unidades
secuenciadoras de tratamiento (que consideran varios eventos, tales
como la pulsación de una tecla, para llevar a cabo varias acciones),
y contiene su propio programador para gestionar colas de eventos de
las diferentes interfaces de hardware. También maneja la
presentación de gráficos y texto. Una unidad secuenciadora de
tratamiento comprende un conjunto de grupos de acción. Cada evento
origina que la unidad secuenciadora de tratamiento se mueva de su
grupo de acción actual a otro grupo de acción dependiente del
carácter del evento, y para ejecutar las acciones del nuevo grupo
de acción.
El motor 4008 comprende un cargador de códigos
para cargar y descargar aplicaciones 4056 en la memoria 2028 del
receptor/descodificador. Solamente se carga el código necesario en
la memoria RAM o Flash, para garantizar una utilización óptima. Los
datos descargados son verificados por un mecanismo de
autentificació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 la aplicación (una forma de código intermedio) está
comprimido para economizar espacio y acelerar la descarga de la
corriente de transporte de MPEG-2 o por medio de un
modo de receptor/descodificador incorporado, el código ha de ser
descomprimido antes de que sea cargado en la RAM. El motor 4008
comprende también un intérprete para interpretar el código de la
aplicación para actualizar varios valores de variables y determinar
los cambios de estado, y un comprobador de errores.
Antes de usar los servicios de cualquier
dispositivo 4062, un preferiblemente (tal como una secuencia de
instrucciones de la aplicación) ha de ser declarado como un
"cliente", es decir, un modo de acceso lógico al dispositivo
4062 o al administrador 4068 de dispositivos. El administrador da
al cliente un número de cliente que es citado en todos los accesos
al dispositivo. Un dispositivo 4062 puede tener varios clientes,
estando especificado el número de clientes para cada dispositivo
4062 y dependiendo del tipo de dispositivo 4062. Un cliente es
introducido en el dispositivo 4062 mediante un procedimiento
"Dispositivo: Canal Abierto". Este procedimiento asigna un
número de cliente al cliente. Un cliente puede ser extraído de la
lista de clientes del administrador 4068 de dispositivos mediante
un procedimiento de "Dispositivo: Canal Cerrado".
El acceso a los dispositivos 4062 proporcionado
por el administrador 4068 de dispositivos puede ser síncrono o
asíncrono. Para el acceso síncrono se utiliza un procedimiento
"Dispositivo: Llamada". Este consiste en un medio de datos de
acceso que está inmediatamente disponible o una funcionabilidad que
no implica esperar una respuesta deseada. Durante el acceso
asíncrono, se usa un procedimiento "Dispositivo: I/O". Este
consiste en un medio de datos de acceso que implica esperar una
respuesta, por ejemplo frecuencias de sintonizador de exploración
para hallar un multiplexor o retroceder a una tabla de la corriente
de MPEG. Cuando está disponible el resultado requerido, un evento
se pone en la cola del motor para indicar su llegada. Un
procedimiento adicional "Dispositivo: Evento" proporciona unos
medios de gestión de eventos inesperados.
Como se ha indicado anteriormente, el bucle
principal del motor de tiempo de ejecución está ocupado por una
diversidad de unidades secuenciadoras de tratamiento, y cuando el
bucle principal encuentra un evento apropiado, el control se
transfiere temporalmente a una de las unidades secuenciadoras de
tratamiento.
Haciendo referencia a la figura 3, el
administrador de dispositivos incluye una cola 100 en la que
eventos de los dispositivos se hacen pasar para almacenaje
temporal. A intervalos adecuados, la máquina virtual envía una señal
a esta cola para extraer el primer artículo de la misma. Este
artículo del evento es movido a una estructura 101 de cola en la
máquina virtual. Dependiendo del nivel de prioridad del artículo de
evento, este es insertado en una cola apropiada de las 5 colas de 0
a 4. Los artículos de eventos son extraídos de la estructura 101
de colas mediante una unidad 102 selectora de cola bajo el control
del motor de tiempo de ejecución.
Cuando un evento se selecciones de la estructura
101 de colas, este es hecho pasar a un motor 104 de la unidad
secuenciadora de tratamiento, que se compone de un excitador 105 de
la unidad secuenciadora de tratamiento y un conjunto de unidades 106
secuenciadoras de tratamiento. Cada unidad secuenciadora de
tratamiento es un conjunto de grupos de acción enlazados entre sí,
de modo que cada paso de un grupo de acción al siguiente grupo de
acción depende, en general, del grupo de acción actual y de la
naturaleza del evento. Diferentes unidades secuenciadoras de
tratamiento tienen diferentes tamaños y complejidades, incluyendo
una en la que el "siguiente" grupo de acción, es decir el
grupo de acción al que salta el sistema en respuesta a un evento,
depende solamente de la naturaleza del evento, siendo independiente
del grupo de acción actual. Asimismo, como se muestra en el lado
derecho del bloque de unidades secuenciadoras de tratamiento,
pueden estar varias copias de una unidad secuenciadora de
tratamiento, es decir varias unidades secuenciadoras de tratamiento
idénticas, para tratar por ejemplo con varias corrientes de datos
separadas que usan idénticos protocolos a través de un puerto
único.
Cuando es seleccionado un evento, este pasa a la
unidad secuenciadora de tratamiento apropiada. Esta selecciona la
salida apropiada del grupo de acción actual en la unidad
secuenciadora de tratamiento. Esto origina en el grupo de acción
siguiente apropiado que sea seleccionado y las acciones se realizan
en ese grupo de acción, implicando, por ejemplo, el envío de un
mensaje al administrador de dispositivos o la ejecución de una
secuencia de instrucciones. Los grupos de acción en la unidad
secuenciadora de tratamiento pueden enviar también mensajes de
evento a otras unidades secuenciadoras de tratamiento.
Si se selecciona una secuencia de instrucciones,
la identificación de la secuencia de instrucciones es enviada a un
selector 107 de secuencias de instrucciones. Este obtiene la
secuencia de instrucciones deseada de una memoria 108 de secuencias
de instrucciones y la pasa a un interprete 109 de secuencias de
instrucciones, que ejecuta la secuencia de instrucciones.
El sistema incluye también un filtro 110, que
está cargado con tipos de evento, por ejemplo de las unidades 106
secuenciadoras de tratamientos. Cuando un artículo de evento se
hace pasar de la cola 100 en el administrador de dispositivos a la
estructura 101 de cola en la máquina virtual, su tipo o carácter es
conjugado con la lista en el filtro 110, y si es de un tipo que no
se reconoce, se rechaza. Esto garantiza que si por ejemplo el
administrador de dispositivos o el teclado genera eventos de un tipo
que la máquina virtual no puede tratar, esos eventos no se hacen
pasar a la estructura 101 de colas. (Si eventos de esta clase se
hicieran pasar a la estructura 101 de colas, estos se acumularían en
esa estructura de colas o podrían originar el mal funcionamiento
del motor 104 de la unidad secuenciadora de tratamientos).
Por tanto, puede verse que nuestro sistema básico
proporciona una plataforma que tiene considerable flexibilidad al
permitir que una aplicación comunique con una variedad de
dispositivos.
Se describirán dos dispositivos de tratamiento de
señales que incorporan la invención; los dos dispositivos pueden ser
proporcionados ambos simultáneamente en el mismo
receptor/descodificador, estando cada dispositivo personalizado para
que proporcione funciones ligeramente diferentes.
Un primer dispositivo de tratamiento de señales
que remultiplexa o desmultiplexa una corriente de transporte
recibida para producir una corriente de transporte parcial de
salida, que contiene típicamente alguna pero no toda la información
en la corriente de transporte original, y posiblemente información
adicional, se describirá a continuación con referencia a la figura
4. Para facilidad de referencia, el dispositivo se denominará en
adelante dispositivo TS_REMUX (abreviación de REMUltipleXor de la
Corriente de Transporte).
El dispositivo Ts_Remux puede ser considerado
como comprendido en un número de unidades funcionales, denominadas
en adelante órdenes. En adición, como se apreciará, el dispositivo
contiene funcionalidad subyacente para ejecutar realmente las
funciones realizadas por las diversas órdenes. Por ejemplo, la
selección real de paquetes de la corriente de datos recibidos puede
ser ejecutada mediante medios dedicados del hardware que filtran
los datos para los paquetes extraídos correspondientes a
identificadores de paquetes definidos, siendo suministrada la lista
de identificadores de paquetes bajo el control del software
basándose en información suministrada por una aplicación por medio
de una de las órdenes anteriormente descritas. En el examen
siguiente, se tendrá en cuenta que las versiones del nombre de una
orden en letra mayúscula o minúscula se refieren ambas a la misma
orden.
Los detalles precisos de la ejecución de las
diversas funciones, y la distribución entre hardware y software son
un tema de elección para el ejecutor y no se describirán
detalladamente. Se tendrá en cuenta, sin embargo, que pueden
obtenerse comercialmente circuitos integrados dedicados capaces de
realizar operaciones de filtración en una corriente de datos MPEG,
y estos pueden ser usados como la base para un acelerador de
hardware, o más preferiblemente modificados para producir un
acelerador de hardware dedicado, para poner en práctica varias de
las operaciones requeridas de selección de paquetes, reduciendo de
ese modo la potencia de tratamiento requerida para ejecutar el
software. No obstante, las operaciones requeridas pueden ser
ejecutadas en software si se dispone de suficiente potencia de
tratamiento.
El dispositivo está dispuesto para funcionar en
uno de dos modos, un modo inactivo en el que no se produce salida
alguna y un modo de ejecución en el que son transportados datos a
la corriente de datos de salida. En el modo de ejecución, como se
apreciará, el dispositivo requiere más recursos del sistema. El
funcionamiento de las órdenes que se describen más adelante puede
depender del modo de funcionamiento, y, en particular, la mayoría
de las órdenes funcionarán solamente en un modo, y devuelven un
error si se accede en el otro modo.
Cada orden interconecta con una aplicación bajo
el control del administrador 4068 de dispositivos por medio de uno
de los tres procedimientos estándar mencionados anteriormente, que
son comunes para otros dispositivos. Puede hacerse pasar
información entre una aplicación y el dispositivo por medio de
tablas de parámetros. Para facilidad de referencia los tres
procedimientos básicos se resumen brevemente a continuación:
- 1)
- Dispositivo: Llamada. Esta orden puede ser usada mediante una aplicación para ejecutar órdenes síncronas o transferencias de datos. La ejecución de la aplicación se suspende hasta que el control es devuelto cuando la operación realizada por el excitador del dispositivo ha terminado; esta permite funcionamientos que deben ser realizados en estricta secuencia para ser controlados de modo fiable.
- 2)
- Dispositivo: I/O. Esta orden permite el funcionamiento asíncrono. Es decir, una aplicación puede enviar una solicitud para transferir datos o que sea realizada una función particular por el excitador del dispositivo y la ejecución de la aplicación puede continuar mientras la transferencia de datos o la función es realizada por el excitador del dispositivo.
- 3)
- Dispositivo: Evento. La función de atrapar eventos permite que sean señalados eventos por el dispositivo para una aplicación, y para que sea efectuada una acción particular por la aplicación en respuesta al evento independientemente del código de la aplicación que se ejecuta en el momento en que el evento es señalado; la aplicación es interrumpida efectivamente. Los eventos pueden ser prioritarios. Los eventos pueden ser usados para señalar eventos que ocurran en la interfaz, tales como un reajuste de bus, o para proporcionar la vigilancia de órdenes asíncronas, por ejemplo, señalando la terminación de una transferencia de datos solicitada
Las órdenes proporcionadas en un dispositivo que
incorpora la invención se describirán a continuación. A cada orden
se puede acceder mediante una aplicación pasando un identificador
de la orden, como un parámetro, por medio de uno de los tres
procedimientos estándar anteriores. No se proporcionan
necesariamente todas las órdenes que se describen más adelante, y
las funciones de las órdenes pueden ser alteradas. Aunque las
órdenes pueden ser proporcionadas o alteradas independientemente,
como se apreciará, se describen ciertos beneficios sinérgicos
acrecentados por la funcionabilidad combinada proporcionada por las
órdenes descritas.
Las órdenes se describirán en términos
características y funciones proporcionadas por cada orden, junto
con características opcionales y preferibles. Con la información
dada y las especificaciones proporcionadas, la comprobación real de
estas características deberá ser inmediata para un experto en la
técnica, y los detalles precisos se dejan para el operador. Como un
ejemplo, cada orden podría ser ejecutada en el software,
preferiblemente escrita en el lenguaje C de programación y
preferiblemente compilada para que funcione en el procesador usado
para ejecutar la aplicación; no obstante el excitador del
dispositivo puede funcionar en un procesador separado, y algunas de
las órdenes pueden ser ejecutadas mediante hardware dedicado a
ellas. Las órdenes Llamada e IO pueden señalar información o pasar
parámetros de nuevo a una aplicación estableciendo valores en una
tabla de parámetros almacenada en memoria cuya dirección se pasa al
dispositivo.
\newpage
Esta orden funciona solamente en el modo
inactivo. Con referencia a la figura 8, la orden está dispuesta
para recibir una lista inicial 200 de identificadores de paquete
(PIDs). La lista 200 contiene el número de PIDs (NB_PID) que han de
ser copiados de la corriente de transporte de entrada, el valor de
cada PID (PID) a ser copiado de la corriente de datos de entrada, y
el valor de la prioridad (PRIORITY) asignada a cada PID. El valor
de la prioridad es preferiblemente un único byte en el intervalo de
0 a 255, indicando 0 el nivel más bajo de prioridad e indicando 255
el nivel más alto de prioridad.
Es posible que la capacidad de transferencia de
bits de la corriente de datos de salida sea inferior al caudal de
bits de la corriente de datos de una corriente que incluya todos
los paquetes listados que han de ser copiados de la corriente de
datos de entrada. Si es así, los paquetes que tienen PIDs con el
valor de prioridad más bajo son excluidos a su vez de la corriente
de datos de salida hasta que el caudal de bits de la corriente de
datos se reduzca a un nivel que sea igual o inferior a la capacidad
del caudal de bits de la corriente de datos de salida.
Si se excluyen paquetes de la corriente de datos
de salida, los PIDs de estos paquetes no se borran de la lista 200.
Si la capacidad del caudal de bits de la corriente de datos de
salida aumentase de modo que pudiesen ser añadidos más paquetes a la
corriente de datos de salida, entonces los paquetes excluidos con
la máxima prioridad se incluirían a su vez en la corriente de
datos de salida hasta que se alcanzase la capacidad de
transferencia de bits de la corriente de datos de salida.
A la orden se accede preferiblemente de modo
síncrono por medio del Dispositivo: "Call procedure"
(procedimiento de llamada).
Con referencia a la figura 9 esta orden funciona
de modo similar a la orden Set_PID descrito anteriormente, y se usa
concretamente para especificar una lista 300 de los identificadores
de paquete de los paquetes que han de ser desenmascarados antes de
su inclusión en la corriente de datos de salida. En adición a la
lista identificadores de paquete (PID) y prioridades (PRIORITY), la
orden recibe la información necesaria para desenmascarar los
paquetes. Esta información puede incluir un indicador de modo
(MODE) que especifique el tipo de tratamiento que ha de ser
realizado en cada paquete, número de sesión (Session number) y
número de índice (Index number), una referencia de operador (OPI),
el PID del paquete a ser desmezclado (PID) y el PID del paquete que
contiene el ECM que ha de ser usado en el desenmascaramiento
(PID_ECM).
Esta orden funciona de modo similar a la orden
Set_PID descrita anteriormente, y se usa para especificar
identificadores de paquete de secciones MPEG de la aplicación que
han de ser incluidos en la corriente de datos de salida.
Esta orden funciona de modo similar a la orden
Set_AID descrita anteriormente, y se usa para especificar
identificadores de paquete de secciones MPEG que han de ser
incluidas en la corriente de datos de salida, además, la aplicación
puede especificar un cierto número de parámetros incluyendo un
OFFSET que especifique un retardo del comienzo del modo de
ejecución, un parámetro REPEAT que especifique el número de veces
que ha de ser repetida una sección, un DELAY entre paquetes de la
sección, un parámetro CYCLE que especifique el tiempo a partir del
inicio de una sección hasta la repetición siguiente de la sección y
un parámetro CYCLE_2 que especifique el tiempo desde el inicio de
una serie de repeticiones hasta el inicio de la siguiente serie de
repeticiones. La función de estos parámetros se comprenderá mejor
con referencia a la figura 5.
Como se ha mencionado anteriormente, la orden
Set_PID funciona solamente en el modo inactivo. En el modo de
ejecución, la orden Add_PID permite que una aplicación añada PIDs a
la lista de la corriente de PIDs especificados para ser copiados en
la corriente de salida. El dispositivo incluye una orden
complementaria Ts_Remux_Stop_PID, que borra PIDs de la lista de la
corriente. Los PIDs se especifican preferiblemente de la misma
manera que para la orden Set_PID, incluyendo una prioridad para cada
orden. Puesto que la edición de PIDs en una lista puede requerir
algún tiempo para que la lista sea actualizada cuando el
dispositivo está en modo de ejecución, se accede preferiblemente a
estas órdenes asíncronamente a través del procedimiento Device:
I/O.
En adición, se proporcionan procedimientos
analógicos para añadir o borrar dinámicamente de las listas de
paquetes que han de ser desenmascarados, secciones que han de ser
copiadas, o secciones que han de ser insertadas, por medio de las
órdenes:
Ts_Remux_{Add;Stop}_{SCR_PID;Data_PID;Section}
\newpage
Para conmutar del modo inactivo al modo de
ejecución, se proporciona la orden Ts_Remux_Start, y para conmutar
del modo de ejecución al modo inactivo de nuevo, se proporciona la
orden Ts_Remux_Stop. A ambas órdenes se accede preferiblemente de
modo asíncrono por medio del procedimiento Device:I/O
En adición, para devolver información que
concentre los PIDs, los PIDs cifrados y las secciones incluidas en
la corriente de salida actual, se proporcionan las órdenes:
Ts_Remux_PID_Info,Ts_Remux_ECM_Info y Ts_Remux_
Info_Section Estas devuelven una lista de PIDs actuales en formato similar al suministrado por una aplicación que usa las órdenes "Set" o "Add" correspondientes.
Info_Section Estas devuelven una lista de PIDs actuales en formato similar al suministrado por una aplicación que usa las órdenes "Set" o "Add" correspondientes.
En adición a las órdenes, que permiten una
aplicación para enviar órdenes al dispositivo, el dispositivo está
dispuesto para indicar ciertos eventos a una aplicación, por medio
de las funciones de manipulación de eventos del administrador de
dispositivos. El dispositivo ejecuta los siguientes eventos:
Este evento se usa para rechazar señales de un
ECM mediante el RSM. El dispositivo pasa el PID de un paquete donde
el ECM fue hallado y la dirección de una memoria intermedia que
almacena el ECM rechazado, junto con palabras de estado.
Este evento se usa para señalar la respuesta del
RSM a una aplicación cuando un ECM es enviado al RSM.
Este evento señala la recepción de un ECM con una
sesión u número de índice inesperado; el ECM no es enviado a la
RSM.
Este evento se usa para señalar un cambio en la
composición de la corriente, cuando la prioridad asociada con un
PID ha sido usada para controlar el salto o la adición de PIDs en
la corriente de salida.
Un segundo dispositivo que incorpora la invención
se describirá a continuación, con referencia a las figuras 6 y 7.
Este dispositivo se denominará un MCOM (abreviatura para
Comunicaciones MPEG), y está destinado básicamente a secciones MPEG
recibidas encapsuladas para proporcionar una fuente de datos TCP/IP
virtual de un enlace de satélite.
Este dispositivo, como el dispositivo TS_REMUX,
está compuesto de un cierto número de órdenes. Muchas de las órdenes
realizan funciones análogas a las órdenes del dispositivo TS_REMUX,
por tanto no se describirán detalladamente. Como el dispositivo
TS_REMUX, el dispositivo MCOM funciona preferiblemente en un modo de
ejecución o un modo inactivo y tiene órdenes para conmutar entre
modos. En lugar de órdenes para añadir o borrar paquetes de la
corriente de datos de salida, el dispositivo MCOM comprende órdenes
para seleccionar secciones que hayan de ser incluidas, para borrar
porciones de secciones (o, visto de otra manera, extraer porciones
de secciones que hayan de ser incluidas) y para alterar parámetros
del encabezamiento (si está presente), pie (si está presente), y
comprobar datos (si están presentes) que hayan de ser añadidos a
secciones recibidas (o a la porción de las mismas que haya de ser
incluida en la corriente de datos de salida). El dispositivo
proporciona flexibilidad, permitiendo que cualquiera de un cierto
número de protocolos de comunicación sea simulado con interacción
mínima requerida por una aplicación durante la ejecución.
El dispositivo puede ser capaz de funcionar de un
modo automático, en el que, después de definir la filtración que ha
de realizarse en los datos recibidos, las secciones son puestas
automáticamente en la cola en la salida hasta que todas las
secciones previstas han sido recibidas. Alternativamente, el
dispositivo puede funcionar en un modo manual en el que cada
sección se transfiere bajo el control de la aplicación.
La descripción del dispositivo MCOM se
concentrará en las órdenes que son significativamente diferentes de
las examinadas en el dispositivo TS_REMUX.
Esta orden se usa para configurar el puerto de
comunicación, y es llamada con una memoria intermedia que contiene
un identificador del tipo de puerto y datos concretos para ese
puerto. Esta orden es útil porque permite que el dispositivo MCOM
funcione con una diversidad de puertos de comunicación (por
ejemplo, serie, paralelo, IEEE 1384) sin requerir la información
concreta del puerto que ha de ser usada con otras órdenes.
Esta orden es llamada para definir un campo
numérico de n bits de longitud que empieza m bits a partir del
principio de una sección MPEG en la que debe hallarse un
identificador de la sección.
El campo definido puede contener un valor
numérico c comprendido entre 0 y (2^n-1).
Después de esta orden se define un mapa de bits
de 2^n bits en memoria, correspondiendo cada bit a una sección a
recibir. Por ejemplo, si n = 8, se define un mapa de bits de 256
bits (32 bytes), para recibir 256 secciones separadas por
indicadores. Durante la recepción de las secciones procedentes del
multiplexor, el valor numérico c de este campo es extraído y el bit
(c-1)ésimo del mapa de bits es comprobado, si el bit
está establecido, la sección es rechazada. Por tanto, puede
realizarse una filtración automática de las secciones, en la que
puede usarse un conjunto de bits para poner de manifiesto que una
sección ha sido ya recibida, o que no ha de esperarse sección
correspondiente alguna. Por supuesto, el bit puede ser restablecido,
o recibir las secciones marcadas de una manera diferente.
La orden permite que sea definido el mapa de bits
inicial; todos los bits pueden ser establecidos o restablecidos. o
un mapa de bits concreto puede ser establecido como mapa de bits
inicial.
Se proporcionan órdenes correspondientes para
cambiar el filtro dinámicamente, por ejemplo en el modo de
ejecución, o para interrogar el estado actual del filtro.
El mapa de bits (u otra tabla de indicadores)
puede ser usado para controlar automáticamente la cola de paquetes
hasta que hayan sido recibidas todas las secciones previstas.
Esta orden es útil porque permite una
flexibilidad considerable sobre las secciones MPEG que pueden ser
tratadas por el dispositivo con filtración automática.
Esta orden es llamada para definir porciones de
una sección MPEG para que sean eliminadas como parte del tratamiento
de encapsulación. Por ejemplo, un desplazamiento p inicial y un
desplazamiento q final pueden ser definidos, y la sección MPEG
"superior y de cola" eliminando p bytes del inicio y q bytes
del final.
Esta orden y la funcionabilidad asociada permiten
que datos importantes que han de ser comunicados sean colocados en
el centro de una sección MPEG.
Esta orden permite añadir un encabezamiento de un
formato definido a una sección recibida; el encabezamiento puede
incluir información de conformidad con un protocolo de
comunicaciones particular, por ejemplo TCP/IP. Esta orden puede
funcionar en uno o dos modos, un modo de USE HEADER (usar
encabezamiento) en el que solamente se añade el encabezamiento, y
uno de USE_LG_HEADER en el que la orden añade también información
referente a la longitud del paquete encapsulado, por ejemplo una
constante aditiva definida más la longitud de la sección, como se
ilustra en la figura 7.
De una manera similar, el dispositivo incluye una
orden para añadir una secuencia de comprobación de cuadros, por
ejemplo una CRC (Comprobación Redundante Cíclica) de 16 a 32 bits o
una LRC en una sección definida del paquete, por ejemplo que
empiece desfasada del inicio un número de bytes y que continúe hasta
un extremo desfasado un número de bytes del final, con el valor
calculado insertado inmediatamente después de la sección
comprobada.
El dispositivo puede incluir también una orden
para trasladar caracteres, por ejemplo una lista de caracteres que
hayan de ser "evacuados" (es decir, sustituidos por un par de
caracteres que comprenden un carácter de escape definido y un valor
definido).
Las órdenes y eventos anteriores son meramente
ilustrativos, y la invención puede ser ejecutada en una diversidad
de maneras, y, en particular, algunas órdenes pueden ser combinadas
con otras que realizan funciones similares, o algunas pueden ser
omitidas en ejecuciones simplificadas. Las ejecuciones de hardware y
software de cada una de las funciones pueden ser mezcladas
libremente, tanto entre órdenes como dentro de una única orden.
Se entenderá fácilmente que las funciones
realizadas por el hardware, el software del ordenador, y similares
son realizadas sobre o utilizando señales eléctricas y similares.
Las ejecuciones de software pueden ser almacenadas en memorias ROM o
FLASH, o pueden ser parcheadas en FLASH.
Se entenderá que la presente invención ha sido
descrita anteriormente simplemente a modo de ejemplo, y que pueden
hacerse modificaciones de detalles dentro del alcance de la
invención.
Cada característica descrita en la descripción y
(donde haya sido apropiado) las reivindicaciones y los dibujos puede
ser proporcionada independientemente o en cualquier combinación
apropiada.
Claims (42)
1. Aparato para tratar una corriente de datos
digitales que comprende:
- medios para recibir una corriente de datos digitales que comprende una pluralidad de paquetes de información, teniendo cada paquete un identificador de paquete común para uno o más paquetes;
- medios para almacenar una lista de paquetes especificados para que sean seleccionados de la corriente de datos digitales recibida, incluyendo dicha lista información de prioridad que indique una prioridad asignada a cada identificador de paquete;
- medios para extraer paquetes especificados en dicha lista de la corriente de datos recibida; y
- medios de tratamiento para tratar los paquetes extraídos para producir una corriente de datos de salida, y para reducir selectivamente el número de paquetes extraídos en la corriente de datos de salida incluyendo paquetes extraídos con mayor prioridad en la corriente de datos de salida con preferencia a paquetes extraídos con menor prioridad.
2. Aparato según la reivindicación 1, en el que
dichos medios de tratamiento están destinados a reducir
selectivamente el número de paquetes extraídos en la corriente de
datos de salida en caso de que el número de paquetes extraídos para
ser incluidos llegue a ser demasiado grande para la capacidad de
manipulación de datos de la corriente de salida.
3. Aparato según las reivindicaciones 1 ó 2, en
el que dichos medios de tratamiento están destinados a reinsertar
selectivamente paquetes de datos extraídos excluidos en la
corriente de datos de salida.
4. Aparato según cualquiera de las
reivindicaciones precedentes, en el que los paquetes tienen uno de
una multiplicidad de valores de la prioridad.
5. Aparato según cualquiera de las
reivindicaciones precedentes, en el que los paquetes tienen un valor
de la prioridad comprendido en el intervalo de 0 a 255.
6. Aparato según cualquiera de las
reivindicaciones precedentes, en el que la corriente de datos
digitales recibida es una corriente de datos MPEG, comprendiendo la
lista una lista de identificadores de paquete que ha de ser
seleccionada de la corriente de datos recibida.
7. Aparato según la reivindicación 6, que incluye
medios para almacenar al menos una lista adicional de
identificadores de paquete y medios para aplicar una o más
operaciones de tratamiento especificadas a paquetes especificados en
la, o en cada, lista adicional antes de la inclusión en la
corriente de datos de salida.
8. Aparato según cualquiera de las
reivindicaciones precedentes, que incluye medios para insertar más
paquetes en la corriente de datos de salida.
9. Aparato según cualquiera de las
reivindicaciones precedentes, en el que los paquetes recibidos
comprenden una pluralidad de secciones de datos y los medios de
tratamiento están dispuestos para realizar al menos una operación
de:
- cortar un encabezamiento y/o pie de una sección de datos recibida; añadir un encabezamiento y/o pie a una sección de datos recibida; añadir una indicación de la longitud de una sección recibida; y añadir una secuencia de comprobación de cuadros.
10. Aparato según cualquiera de las
reivindicaciones precedentes, que incluye medios para vigilar la
recepción de paquetes de información.
11. Aparato según la reivindicación 10, que tiene
medios para poner en cola automáticamente los paquetes extraídos
hasta que dichos medios de vigilancia indiquen que todos los
paquetes previstos han sido recibidos o hasta que se reciba una
instrucción de detención de una aplicación.
12. Aparato según cualquiera de las
reivindicaciones precedentes, en el que los medios de tratamiento
están dispuestos para producir una corriente de datos de salida
destinada a ser almacenada en un registrador de vídeo digital.
13. Aparato según cualquiera de las
reivindicaciones 1 a 11, en el que los medios de tratamiento están
dispuestos para producir una corriente de datos de salida destinada
a la comunicación de datos con un ordenador.
14. Aparato según cualquiera de las
reivindicaciones precedentes, en la forma de dispositivo en un
receptor/descodi-ficador, dispuesto para funcionar
bajo el control de una aplicación, a través de un administrador de
dispositivos.
\newpage
15. Aparato según la reivindicación 14, que
comprende medios para recibir información desde una aplicación para
compilar dicha lista de paquetes especificados.
16. Aparato según la reivindicación 15, dispuesto
para funcionar en uno de dos modos, comprendiendo los modos un modo
inactivo en el que no se produce corriente alguna de salida y un
modo de ejecución en el que se hacen pasar datos a través del
dispositivo.
17. Aparato según la reivindicación 16, que
incluye medios para recibir órdenes de una aplicación para conmutar
entre dichos modos.
18. Aparato según las reivindicaciones 16 ó 17,
que incluye medios operativos en dicho modo inactivo para recibir
información para compilar dicha lista en la forma de una lista
inicial de identificadores de paquetes a ser copiada en la corriente
de salida.
19. Aparato según las reivindicaciones 16, 17 ó
18, que incluye medios operativos en dicho modo de ejecución para
recibir una lista que comprende una lista de identificadores de
paquete para ser añadida o borrada de la lista actual.
20. Aparato según cualquier de las
reivindicaciones 14 a 19, que comprende además medios dispuestos
para mantener una lista adicional que comprende una lista de
identificadores de paquetes a ser desenmascarados.
21. Aparato según la reivindicación 20, dispuesto
para recibir información para ser usada en el desemmascaramiento
de una aplicación, preferiblemente como parte de un procedimiento
para establecer la lista inicial que comprende una lista de
identificadores de paquetes a ser desenmascarados.
22. Aparato según cualquiera de las
reivindicaciones 14 a 21, que comprende además medios para almacenar
una lista de seccione MPEG a ser insertada mediante una
aplicación.
23. Aparato según la reivindicación 22, dispuesto
para recibir parámetros de una aplicación para controlar la
repetición de la sección en la corriente de salida, estando
dispuesto el dispositivo para repetir la sección basado en los
parámetros.
24. Aparato según cualquiera de las
reivindicaciones 14 a 23, que comprende además medios para volver a
una información de aplicación referente a los identificadores de
paquete seleccionados incluidos en la corriente de salida.
25. Un sistema de tratamiento de datos que
comprende:
- medios de motor de tiempo de ejecución para ejecutar al menos una aplicación;
- medios para recibir una corriente de datos digitales de radiodifusión;
- aparato, según cualquier de las reivindicaciones 14 a 24, para tratar la corriente de datos digitales recibida bajo el control de la, o de cada, aplicación; y
- medios para suministrar la salida de la corriente de datos mediante el aparato a una interfaz de salida.
26. Un receptor/descodificador que comprende un
sistema de tratamiento de datos según la reivindicación 25,
incluyendo el receptor/descodificador medios para recibir la
corriente de datos digitales de radiodifusión de un receptor de
satélite o cable y dicha interfaz, estando dispuesta la interfaz
para la conexión con un registrador de vídeo digital o dispositivo
de presentación digital u ordenador para la presentación o
almacenaje de al menos una porción de los datos recibidos o para
proporcionar un enlace de comunicación con un ordenador.
27. Un receptor/descodificador según la
reivindicación 26, en el que el aparato está dispuesto para
cooperar con un excitador de dispositivo para enviar la corriente
de datos de salida a la interfaz.
28. Un receptor/descodificador según la
reivindicación 27, en el que la interfaz satisface la norma 1394 del
IEEE o una variante o modificación de la misma.
29. Un receptor/descodificador según cualquiera
de las reivindicaciones 26 a 28 dispuesto para ser conectado a un
registrador de vídeo digital, incluyendo el receptor/descodificador
una aplicación dispuesta para controlar el aparato para seleccionar
porciones de la corriente de datos recibida, que comprende dos o más
programas de televisión, para enviarlos al registrador de vídeo
digital y medios para añadir información a la corriente de datos de
salida que identifiquen los programas.
30. Un método para tratar una corriente de datos
digitales que comprende:
- recibir una corriente de datos digitales que comprende una pluralidad de paquetes de información, teniendo cada paquete un identificador de paquete común a uno o más paquetes;
- almacenar una lista de paquetes especificados que han de ser seleccionados de la corriente de datos digitales, incluyendo dicha lista información de prioridad que indique una prioridad asignada a cada identificador de paquete;
- extraer paquetes especificados en dicha lista de la corriente de datos recibida;
- tratar los paquetes extraídos para producir una corriente de datos de salida; y
- reducir selectivamente el número de paquetes extraídos en la corriente de datos de salida incluyendo paquetes extraídos con mayor prioridad en la corriente de datos de salida con preferencia a los paquetes extraídos con menor prioridad.
31. Un método según la reivindicación 30, en el
que el número de paquetes extraídos en la corriente de datos de
salida se reduce selectivamente en el evento de que el número de
paquetes extraídos a ser incluidos llegue a ser demasiado grande
para la capacidad de manipulación de datos de la corriente de
salida.
32. Un método según las reivindicaciones 30 ó 31,
que comprende además la operación de reinsertar selectivamente
paquetes de datos extraídos excluidos en la corriente de datos de
salida.
33. Un método según cualquiera de las
reivindicaciones 30 a 32, en el que los paquetes tienen uno de una
multiplicidad de valores de la prioridad.
34. Un método según cualquiera de las
reivindicaciones 30 a 33, en el que los paquetes tienen un valor de
la prioridad comprendido en el intervalo de 0 a 255.
35. Un método según cualquiera de las
reivindicaciones 30 a 34, en el que la corriente de datos digitales
recibida es una corriente de datos MPEG, comprendiendo la lista una
lista de identificadores de paquete para que sean seleccionados de
la corriente de datos recibida.
36. Un método según la reivindicación 35, que
comprende además las operaciones de almacenar al menos una lista
adicional de identificadores de paquete, y aplicar una o más
operaciones de tratamiento a los paquetes especificados en la, o en
cada, lista adicional antes de la inclusión en la corriente de
datos de salida.
37. Un método según cualquiera de las
reivindicaciones 30 a 36, que comprende además la operación de
insertar paquetes adicionales en la corriente de datos de
salida.
38. Un método según cualquiera de las
reivindicaciones 30 a 37, en el que los paquetes recibidos
comprenden una pluralidad de secciones de datos y la operación de
tratamiento comprende al menos una de: cortar un encabezamiento y/o
un pie de una sección de datos recibida; añadir un encabezamiento
y/o pie a una sección de datos recibida; añadir una indicación de
la longitud de una sección recibida; y añadir una secuencia de
comprobación de cuadros.
39. Un método según cualquiera de las
reivindicaciones 30 a 38, que comprende además la operación de
vigilar la recepción de paquetes de información.
40. Un método según la reivindicación 39, que
comprende además la operación de poner automáticamente en cola los
paquetes extraídos hasta que todos los paquetes previstos han sido
recibidos o hasta la recepción de una instrucción de detención de
una aplicación.
41. Un método según cualquiera de las
reivindicaciones 30 a 40, que produce una corriente de datos de
salida destinada a ser almacenada en un registrador de vídeo
digital.
42. Un método según cualquiera de las
reivindicaciones 30 a 40, que produce una corriente de datos de
salida destinada a la comunicación de datos con un ordenador.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97401792 | 1997-07-24 | ||
EP97401792A EP0893913A1 (en) | 1997-07-24 | 1997-07-24 | Digital transport stream processing |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2201511T3 true ES2201511T3 (es) | 2004-03-16 |
Family
ID=8229822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES98933846T Expired - Lifetime ES2201511T3 (es) | 1997-07-24 | 1998-07-23 | Tratamiento de un flujo de transporte digital. |
Country Status (21)
Country | Link |
---|---|
EP (2) | EP0893913A1 (es) |
JP (1) | JP4201975B2 (es) |
KR (1) | KR100553195B1 (es) |
CN (1) | CN1158856C (es) |
AT (1) | ATE244486T1 (es) |
AU (1) | AU749225B2 (es) |
BR (1) | BR9810774B1 (es) |
CA (1) | CA2297843A1 (es) |
DE (1) | DE69816087T2 (es) |
ES (1) | ES2201511T3 (es) |
HK (1) | HK1026552A1 (es) |
HR (1) | HRP20000040A2 (es) |
HU (1) | HUP0003527A3 (es) |
ID (1) | ID24158A (es) |
IL (1) | IL134146A0 (es) |
NO (1) | NO322938B1 (es) |
NZ (1) | NZ502918A (es) |
PL (1) | PL338244A1 (es) |
TR (1) | TR200000845T2 (es) |
WO (1) | WO1999005854A1 (es) |
ZA (1) | ZA986603B (es) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925577B1 (en) | 1997-11-14 | 2005-08-02 | Sony International (Europe) Gmbh | Method for recording/storing multiple transport streams by dividing into series of packets |
EP1067770B1 (en) * | 1999-07-08 | 2011-03-02 | Sony Deutschland GmbH | Method for recording transport streams of data |
US6954804B2 (en) * | 1998-03-26 | 2005-10-11 | Micro, Inc. | Controller for portable electronic devices |
EP0964572A1 (en) * | 1998-06-08 | 1999-12-15 | CANAL+ Société Anonyme | Decoder and security module for a digital transmission system |
US6671290B1 (en) * | 1998-11-10 | 2003-12-30 | Sony Corporation | Receiving apparatus and recording/reproducing system for digital broadcasts |
FR2792154B1 (fr) * | 1999-04-07 | 2001-06-08 | Thomson Multimedia Sa | Procede de gestion de donnees de service et recepteur dans un systeme de television numerique |
EP1049336A3 (en) * | 1999-04-26 | 2001-03-07 | Sarnoff Corporation | Establishing a datapipe in a video stream |
EP1051028A1 (en) | 1999-05-05 | 2000-11-08 | Sony International (Europe) GmbH | Control module of a tuner for a HAVI network |
GB9911989D0 (en) | 1999-05-25 | 1999-07-21 | Pace Micro Tech Plc | Data transport strems processing |
GB2350980B (en) | 1999-06-08 | 2003-08-27 | Sgs Thomson Microelectronics | Device and method for processing a stream of data |
GB2352595B (en) | 1999-07-27 | 2003-10-01 | Sgs Thomson Microelectronics | Data processing device |
EP1073263A1 (en) * | 1999-07-28 | 2001-01-31 | Sarnoff Corporation | Acquiring data from a bitstream |
JP2002094472A (ja) * | 2000-05-30 | 2002-03-29 | Matsushita Electric Ind Co Ltd | データ取得装置及びその方法 |
EP1175086A1 (en) * | 2000-07-21 | 2002-01-23 | Sony International (Europe) GmbH | Network storage device including a demultiplexer |
FR2812500A1 (fr) * | 2000-07-31 | 2002-02-01 | Koninkl Philips Electronics Nv | Traitement d'un ensemble de donnees |
GB0022951D0 (en) * | 2000-09-19 | 2000-11-01 | Sgs Thomson Microelectronics | Data injection |
GB0022949D0 (en) * | 2000-09-19 | 2000-11-01 | Sgs Thomson Microelectronics | Processing instruction words |
CN101241740B (zh) * | 2001-01-16 | 2011-05-18 | 松下电器产业株式会社 | 信息记录装置和方法 |
HU229302B1 (en) * | 2001-01-16 | 2013-10-28 | Panasonic Corp | Data recording apparatus, method, program executable with computer, as well as, medium |
EP1304871A3 (en) | 2001-08-21 | 2003-06-18 | Canal+ Technologies Société Anonyme | Method and apparatus for a receiver/decoder |
WO2003032504A2 (en) | 2001-10-12 | 2003-04-17 | Bellsouth Intellectual Property Corporation | Methods and systems of wireless communication between a remote data network and a set-top box |
EP1311115A1 (en) * | 2001-11-08 | 2003-05-14 | Deutsche Thomson-Brandt Gmbh | Method for recording digital video broadcast data, and digital video recorder |
EP1311116A3 (en) * | 2001-11-08 | 2004-12-15 | Thomson Licensing S.A. | Method for recording digital video broadcast data, and digital video recorder |
KR100439339B1 (ko) * | 2002-01-15 | 2004-07-07 | 한국전자통신연구원 | 데이터 방송 서버 제어 장치 및 그 방법 |
KR100439338B1 (ko) * | 2002-01-16 | 2004-07-07 | 한국전자통신연구원 | 디지털 지상파 데이터 방송을 위한 데이터 부호화 장치 및그 방법 |
US20030134651A1 (en) * | 2002-01-16 | 2003-07-17 | Hsu Raymond T. | Method and apparatus for flow treatment and mapping on multicast/broadcast services |
KR100483451B1 (ko) * | 2002-05-27 | 2005-04-15 | 주식회사 아이큐브 | 컨텐츠 파일과 네비게이션 정보의 편집처리방법 및 그 방법에 의하여 정보가 기록된 기록매체 |
KR100468163B1 (ko) * | 2002-06-22 | 2005-01-26 | 삼성전자주식회사 | 디지털 비디오 수신기 및 그 스트림 생성방법 |
US8000647B2 (en) | 2002-10-11 | 2011-08-16 | At&T Intellectual Property I, L.P. | Method using a set-top box and communicating between a remote data network and a wireless communication network |
ES2269603T3 (es) * | 2002-12-04 | 2007-04-01 | Irdeto Access B.V. | Terminal, sistema de distribucion de datos que comprende dicho terminal y metodo de retransmision de datos digitales. |
KR100717176B1 (ko) * | 2005-08-23 | 2007-05-10 | 한국방송공사 | 멀티 애플리케이션 제공 방법 및 멀티 애플리케이션 제공시스템 |
EP1768285A1 (en) | 2005-09-23 | 2007-03-28 | Udcast | Method and device for processing a DVB-H (Digital Video Broadcasting - Handheld) compliant transport stream |
KR100740202B1 (ko) | 2005-10-21 | 2007-07-18 | 삼성전자주식회사 | 듀얼 전송 스트림 생성 장치 및 그 방법 |
KR100740201B1 (ko) * | 2005-10-21 | 2007-07-18 | 삼성전자주식회사 | 듀얼 전송 스트림 생성 장치 및 그 방법 |
JP4123283B2 (ja) * | 2006-04-03 | 2008-07-23 | 株式会社日立製作所 | 記録媒体記録装置 |
US8358687B2 (en) * | 2007-09-07 | 2013-01-22 | Qualcomm Incorporated | Method and apparatus for receiving multiple simultaneous stream bursts with limited DVB receiver memory |
CN101568027B (zh) * | 2009-05-22 | 2012-09-05 | 华为技术有限公司 | 转发视频数据的方法、装置和系统 |
EP2698031B1 (en) * | 2011-04-15 | 2016-02-24 | Intel Corporation | Methods and arrangements for channel access in wireless networks |
FR3002718A1 (fr) * | 2013-02-25 | 2014-08-29 | France Telecom | Traitement d'un multiplex video |
CN106034259A (zh) * | 2015-03-13 | 2016-10-19 | 杭州云链网络技术有限公司 | 一种多路广播数字电视信号的路由器及其广播方法 |
CN111343494B (zh) * | 2018-12-19 | 2023-08-15 | 深圳市茁壮网络股份有限公司 | 数据过滤方法、解复用器及数字信号的处理设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2146472C (en) * | 1994-04-22 | 2007-10-09 | Kevin Elliott Bridgewater | Packet video signal inverse transport processor with memory address circuitry |
KR0166935B1 (ko) * | 1994-11-23 | 1999-03-20 | 구자홍 | 엠펙2 트랜스포트 디코더 장치 |
US5533021A (en) * | 1995-02-03 | 1996-07-02 | International Business Machines Corporation | Apparatus and method for segmentation and time synchronization of the transmission of multimedia data |
DE69631393T2 (de) * | 1995-03-29 | 2004-10-21 | Hitachi Ltd | Dekoder für komprimierte und multiplexierte Bild- und Audiodaten |
US5574505A (en) * | 1995-05-16 | 1996-11-12 | Thomson Multimedia S.A. | Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals |
US5621463A (en) * | 1995-05-16 | 1997-04-15 | Thomson Multimedia S.A. | Easily expandable transport stream encoder |
US6069902A (en) * | 1995-06-14 | 2000-05-30 | Matsushita Electric Industrial Co., Ltd. | Broadcast receiver, transmission control unit and recording/reproducing apparatus |
US5729292A (en) * | 1995-12-21 | 1998-03-17 | Thomson Multimedia, S.A. | Optimizing performance in a packet slot priority packet transport system |
US5899578A (en) * | 1995-12-25 | 1999-05-04 | Sony Corporation | Digital signal processor, processing method, digital signal recording/playback device and digital signal playback method |
JP3305183B2 (ja) * | 1996-01-12 | 2002-07-22 | 株式会社東芝 | ディジタル放送受信端末装置 |
FR2752350B1 (fr) * | 1996-08-09 | 2001-06-08 | Thomson Multimedia Sa | Procede d'extraction de donnees dans un systeme de transmission cyclique et dispositif de mise en oeuvre |
-
1997
- 1997-07-24 EP EP97401792A patent/EP0893913A1/en not_active Withdrawn
-
1998
- 1998-07-23 CN CNB988094312A patent/CN1158856C/zh not_active Expired - Lifetime
- 1998-07-23 WO PCT/IB1998/001173 patent/WO1999005854A1/en active IP Right Grant
- 1998-07-23 CA CA002297843A patent/CA2297843A1/en not_active Abandoned
- 1998-07-23 HU HU0003527A patent/HUP0003527A3/hu unknown
- 1998-07-23 AT AT98933846T patent/ATE244486T1/de not_active IP Right Cessation
- 1998-07-23 IL IL13414698A patent/IL134146A0/xx unknown
- 1998-07-23 BR BRPI9810774-7A patent/BR9810774B1/pt not_active IP Right Cessation
- 1998-07-23 AU AU83534/98A patent/AU749225B2/en not_active Ceased
- 1998-07-23 PL PL98338244A patent/PL338244A1/xx unknown
- 1998-07-23 EP EP98933846A patent/EP0998813B1/en not_active Expired - Lifetime
- 1998-07-23 DE DE69816087T patent/DE69816087T2/de not_active Expired - Lifetime
- 1998-07-23 ID IDW20000326A patent/ID24158A/id unknown
- 1998-07-23 KR KR1020007000772A patent/KR100553195B1/ko not_active IP Right Cessation
- 1998-07-23 TR TR2000/00845T patent/TR200000845T2/xx unknown
- 1998-07-23 JP JP2000504705A patent/JP4201975B2/ja not_active Expired - Lifetime
- 1998-07-23 ES ES98933846T patent/ES2201511T3/es not_active Expired - Lifetime
- 1998-07-23 NZ NZ502918A patent/NZ502918A/xx unknown
- 1998-07-24 ZA ZA986603A patent/ZA986603B/xx unknown
-
2000
- 2000-01-21 NO NO20000320A patent/NO322938B1/no not_active IP Right Cessation
- 2000-01-25 HR HR20000040A patent/HRP20000040A2/hr not_active Application Discontinuation
- 2000-09-11 HK HK00105720A patent/HK1026552A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
ID24158A (id) | 2000-07-13 |
NZ502918A (en) | 2002-09-27 |
HUP0003527A2 (hu) | 2001-02-28 |
NO322938B1 (no) | 2006-12-18 |
JP4201975B2 (ja) | 2008-12-24 |
AU749225B2 (en) | 2002-06-20 |
EP0998813A1 (en) | 2000-05-10 |
TR200000845T2 (tr) | 2000-07-21 |
DE69816087D1 (de) | 2003-08-07 |
KR100553195B1 (ko) | 2006-02-22 |
ZA986603B (en) | 1999-03-16 |
WO1999005854A1 (en) | 1999-02-04 |
ATE244486T1 (de) | 2003-07-15 |
AU8353498A (en) | 1999-02-16 |
HRP20000040A2 (en) | 2000-10-31 |
KR20010022200A (ko) | 2001-03-15 |
NO20000320L (no) | 2000-03-24 |
CN1271492A (zh) | 2000-10-25 |
BR9810774A (pt) | 2000-09-19 |
HK1026552A1 (en) | 2000-12-15 |
EP0893913A1 (en) | 1999-01-27 |
PL338244A1 (en) | 2000-10-09 |
HUP0003527A3 (en) | 2003-01-28 |
IL134146A0 (en) | 2001-04-30 |
CA2297843A1 (en) | 1999-02-04 |
EP0998813B1 (en) | 2003-07-02 |
CN1158856C (zh) | 2004-07-21 |
BR9810774B1 (pt) | 2014-07-15 |
JP2001511629A (ja) | 2001-08-14 |
NO20000320D0 (no) | 2000-01-21 |
DE69816087T2 (de) | 2004-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2201511T3 (es) | Tratamiento de un flujo de transporte digital. | |
US6157948A (en) | Program reception/execution apparatus which can start execution of program even when only part of program is received, and program transmitter for it | |
ES2203070T3 (es) | Terminal multimedia destinado a multiples usuarios. | |
ES2206957T3 (es) | Actuador para dispositivo de caja de adaptacion multimedios para norma ieee1394. | |
JP2009077451A (ja) | 伝送データ・ストリームからデータ・セクションを抽出する方法 | |
US6609144B1 (en) | Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution | |
CA2542759A1 (en) | Program executing apparatus | |
US7760757B2 (en) | Service executing apparatus | |
ES2213349T3 (es) | Metodo y dispositivo de configuracion. | |
CZ200287A3 (cs) | Zařízení a způsob pro testování softwarových aplikací | |
EP1019836B1 (en) | Modem control | |
JP3874225B2 (ja) | データ処理装置及びデータ処理方法 | |
KR100604211B1 (ko) | 리시버/디코더 및 이를 구비한 방송 시스템 | |
MXPA00000833A (es) | Procesamiento de flujo de transporte digital | |
KR20000076406A (ko) | 데이터 처리 시스템 | |
MXPA01003050A (es) | Tabla de datos de aplicacion para un sistema de transmision digitalde servicios multiples | |
MXPA00007588A (es) | Metodo y dispositivo de configuracion | |
CZ20002873A3 (cs) | Zařízení a způsob pro konfiguraci přijimače/dekodéru | |
CZ331799A3 (cs) | Systém řízení přístupu |