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
Application number
ES98933846T
Other languages
English (en)
Inventor
Jean-Claude Sarfati
Jerome Meric
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KCA Licensing SA
Original Assignee
Canal Plus Technologies SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canal Plus Technologies SA filed Critical Canal Plus Technologies SA
Application granted granted Critical
Publication of ES2201511T3 publication Critical patent/ES2201511T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling 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)
  • Pyrane Compounds (AREA)
  • Detergent Compositions (AREA)
  • Television Systems (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
  • Circuits Of Receivers In General (AREA)
  • Processing Of Color Television Signals (AREA)
  • Stereophonic System (AREA)
  • Control And Other Processes For Unpacking Of Materials (AREA)
  • Photoreceptors In Electrophotography (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (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.
Fundamento del receptor/descodificador
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.
Dispositivos de tratamiento de señales
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).
Dispositivo REMUX TS
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
Orden: TS REMUX SET PID
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).
Orden: TS REMUX SET SCR PID
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).
Orden: TS REMUX SET DATA PID
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.
Orden: TS REMUX SET SECTION
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.
Orden: TS REMUX ADD PID
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.
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:
Evento: EV TS REMUX ECM
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.
Evento: EV TS REMUX GETALL
Este evento se usa para señalar la respuesta del RSM a una aplicación cuando un ECM es enviado al RSM.
Evento: EV REMUX BAD NB
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.
Evento: EV TS REMUX STREAM
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.
DISPOSITIVO MCOM
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.
Orden: MCOM INIT COM
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.
Orden: MCOM INIT FILTER
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.
Orden: MCOM PACKET DEL
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.
Orden: MCOM PACKET HEADER
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.
ES98933846T 1997-07-24 1998-07-23 Tratamiento de un flujo de transporte digital. Expired - Lifetime ES2201511T3 (es)

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)

* Cited by examiner, † Cited by third party
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
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
ES2361388T3 (es) * 1999-07-08 2011-06-16 Sony Deutschland Gmbh Método para grabar flujos de transporte de datos.
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
CN101241738B (zh) * 2001-01-16 2011-05-18 松下电器产业株式会社 信息记录装置和方法
MXPA03006194A (es) * 2001-01-16 2003-12-11 Matsushita Electric Ind Co Ltd Medio de grabacion de datos y un aparato para grabacion de datos y su metodo.
EP1304871A3 (en) 2001-08-21 2003-06-18 Canal+ Technologies Société Anonyme Method and apparatus for a receiver/decoder
US7027768B2 (en) 2001-10-12 2006-04-11 Bellsouth Intellectual Property Corporation Method and systems using a set-top box and communicating between a remote data network and a wireless communication network
EP1311116A3 (en) * 2001-11-08 2004-12-15 Thomson Licensing S.A. Method for recording digital video broadcast data, and digital video recorder
EP1311115A1 (en) * 2001-11-08 2003-05-14 Deutsche Thomson-Brandt Gmbh Method for recording digital video broadcast data, and digital video recorder
KR100439339B1 (ko) * 2002-01-15 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
KR100439338B1 (ko) * 2002-01-16 2004-07-07 한국전자통신연구원 디지털 지상파 데이터 방송을 위한 데이터 부호화 장치 및그 방법
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
EP1427210B1 (en) * 2002-12-04 2006-08-16 Irdeto Access B.V. Terminal, data distribution system comprising such a terminal and method of re-transmitting digital data
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)

* Cited by examiner, † Cited by third party
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
US5621463A (en) * 1995-05-16 1997-04-15 Thomson Multimedia S.A. Easily expandable transport stream encoder
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
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

Also Published As

Publication number Publication date
ZA986603B (en) 1999-03-16
AU749225B2 (en) 2002-06-20
JP4201975B2 (ja) 2008-12-24
NO20000320L (no) 2000-03-24
JP2001511629A (ja) 2001-08-14
PL338244A1 (en) 2000-10-09
NO322938B1 (no) 2006-12-18
ATE244486T1 (de) 2003-07-15
EP0998813A1 (en) 2000-05-10
BR9810774B1 (pt) 2014-07-15
DE69816087T2 (de) 2004-05-13
EP0998813B1 (en) 2003-07-02
CN1158856C (zh) 2004-07-21
TR200000845T2 (tr) 2000-07-21
CN1271492A (zh) 2000-10-25
IL134146A0 (en) 2001-04-30
ID24158A (id) 2000-07-13
HUP0003527A3 (en) 2003-01-28
NO20000320D0 (no) 2000-01-21
KR100553195B1 (ko) 2006-02-22
CA2297843A1 (en) 1999-02-04
HUP0003527A2 (hu) 2001-02-28
KR20010022200A (ko) 2001-03-15
BR9810774A (pt) 2000-09-19
WO1999005854A1 (en) 1999-02-04
AU8353498A (en) 1999-02-16
HRP20000040A2 (en) 2000-10-31
HK1026552A1 (en) 2000-12-15
DE69816087D1 (de) 2003-08-07
EP0893913A1 (en) 1999-01-27
NZ502918A (en) 2002-09-27

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.
US20050238334A1 (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
JP2009077451A (ja) 伝送データ・ストリームからデータ・セクションを抽出する方法
CA2542759A1 (en) Program 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) 리시버/디코더 및 이를 구비한 방송 시스템
NZ500205A (en) Common interface between applications and computer components
KR20000076405A (ko) 엑세스 제어 시스템
MXPA00000776A (es) Controlador de dispositivo de caja superior ieee
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