ES2227567T3 - Adquisicion de datos deseados de un flujo de datos paquetizado y sincronizacion a los mismos. - Google Patents

Adquisicion de datos deseados de un flujo de datos paquetizado y sincronizacion a los mismos.

Info

Publication number
ES2227567T3
ES2227567T3 ES96102058T ES96102058T ES2227567T3 ES 2227567 T3 ES2227567 T3 ES 2227567T3 ES 96102058 T ES96102058 T ES 96102058T ES 96102058 T ES96102058 T ES 96102058T ES 2227567 T3 ES2227567 T3 ES 2227567T3
Authority
ES
Spain
Prior art keywords
image
information
video
pes
header
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
ES96102058T
Other languages
English (en)
Inventor
Chris Hoogenboom
Paul Moroney
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.)
Arris Technology Inc
Original Assignee
Arris Technology Inc
General Instrument Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Application granted granted Critical
Publication of ES2227567T3 publication Critical patent/ES2227567T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • 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
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

UN PROCESADOR DE DESCOMPRESION DE VIDEO QUE ADQUIERE DATOS DE VIDEO PARA UN SERVICIO DESEADO DESDE UN FLUJO DE DATOS EMPAQUETADOS. ESTE FLUJO INCLUYE PAQUETES DE TRANSPORTE QUE PORTAN DISTINTOS COMPONENTES DEL DISPOSITIVO DESEADO. CADA COMPONENTE SE IDENTIFICA POR UN IDENTIFICADOR DE PAQUETE UNICO ((PID). UNO DE LOS COMPONENTES INCLUYE UNA REFERENCIA DE RELOJ DE PROGRAMA (PCR) QUE PROPORCIONA INFORMACION DE TIEMPO PARA EL SERVICIO DESEADO. LOS PIDS DE LOS MENSAJES DE TRANSPORTE SE MONITORIZAN PARA RECUPERAR LOS PAQUETES DE VIDEO. LA INFORMACION DE CABECERA DE LOS PAQUETES RECUPERADOS SE PROCESA PARA RECUPERAR EL FLUJO ELEMENTAL EMPAQUETADO (PES) CON UNA CABECERA PES Y UNA INFORMACION DE IMAGEN. LA INFORMACION DE TIEMPO OBTENIDA DE LA CABECERA (PES) SE AÑADE A LA INFORMACION DE IMAGEN PARA ALMACENARLA EN UNA MEMORIA DE VIDEO. LA INFORMACION DE IMAGEN PUEDE LEERSE SUBSECUENTEMENTE DESDE LA MEMORIA Y SER DECODIFICADA UTILIZANDO LA INFORMACION DE TIEMPO AÑADIDA SIN TENER QUE REACCEDER A LA CABECERA (PES). TAMBIEN SE EXPONEN VARIOS ESQUEMAS PARA DETECTAR, ENMASCARAR Y RECUPERARSE DE ERRORES DE TRANSMISION.

Description

Adquisición de datos deseados de un flujo de datos paquetizado y sincronización a los mismos.
La presente invención se refiere a un procesador de descompresión de vídeo y más particularmente a un esquema eficiente para adquirir datos deseados, tales como datos de vídeo a decodificar, de un flujo de datos empaquetado.
La transmisión digital de señales de televisión puede suministrar servicios de vídeo y audio de una calidad mucho mayor que las técnicas analógicas. Los esquemas de transmisión digital son particularmente ventajosos para señales que se transmiten a través de una red de televisión por cable, o por satélite a empresas afiliadas de televisión por cable y/o directamente a receptores domésticos de televisión por satélite. Se espera que los sistemas transmisores y receptores de televisión digital reemplacen a los sistemas analógicos actuales tal como los discos compactos digitales han sustituido a los discos fonográficos analógicos en la industria del audio.
En cualquier sistema de televisión digital debe transmitirse una cantidad sustancial de datos digitales. En un sistema de televisión digital, un abonado recibe el flujo de datos digital a través de un receptor/de-
codificador que proporciona vídeo, audio y datos al abonado. A fin de usar el espectro de radiofrecuencias disponible de la manera más eficiente, es ventajoso comprimir las señales digitales de televisión para minimizar la cantidad de datos que debe transmitirse.
La parte de vídeo de una señal de televisión comprende una secuencia de "tramas" de vídeo, que juntas proporcionan una imagen en movimiento. En los sistemas de televisión digital, cada línea de una trama de vídeo está definida por una secuencia de bits de datos digitales denominados "pixeles". Se requiere una gran cantidad de datos para definir cada trama de vídeo de una señal de televisión. Por ejemplo, se requieren 7,4 megabits para proporcionar una trama de vídeo en la resolución NTSC (National Television System Comittee). Esto presupone que se emplea una visualización de 640 pixeles por 480 líneas, con ocho bits de valor de intensidad para cada uno de los colores primarios, rojo, verde y azul. En la resolución PAL (phase alternating line), se requieren 9,7 megabits de datos para proporcionar una trama de vídeo. En este caso, se emplea una visualización de 704 pixeles por 576 líneas, con ocho bits de valor de intensidad para cada uno de los colores primarios, rojo, verde y azul. A fin de poder manejar esta cantidad de información, los datos deben comprimirse.
Las técnicas de compresión de vídeo permiten la transmisión eficiente de señales digitales de vídeo por canales de comunicación convencionales. Tales técnicas emplean algoritmos de compresión que aprovechan la correlación entre pixeles adyacentes a fin de obtener una visualización más eficiente de la información importante en una señal de vídeo. Los sistemas de compresión más potentes no sólo aprovechan la correlación espacial, sino que pueden utilizar también las similitudes entre tramas adyacentes para compactar los datos adicionalmente. En tales sistemas, normalmente se emplea una codificación diferencial para transmitir únicamente la diferencia entre una trama real y una predicción de una trama real. La predicción se basa en información obtenida de una trama anterior de la misma secuencia de vídeo.
En las patentes estadounidenses 5.057.916; 5.068.724; 5.091.782; 5.093.720; y 5.235.419, de Krause et al, pueden encontrarse ejemplos de sistemas de compresión de vídeo que emplean la compensación del movimiento. Generalmente, tales sistemas de compensación del movimiento aprovechan un algoritmo de estimación del movimiento por correspondencia de bloques. En este caso, se determina un vector de movimiento para cada bloque en una trama actual de una imagen identificando un bloque en una trama anterior que se parezca más al bloque actual particular. La trama actual completa puede entonces reconstruirse en un decodificador al enviar la diferencia entre los pares de bloques correspondientes junto con los vectores de movimiento que se requieren para identificar los pares correspondientes. Frecuentemente, la cantidad de datos transmitidos se reduce adicionalmente comprimiendo tanto las diferencias de bloque desplazadas como las señales de vector de movimiento. Los algoritmos de estimación del movimiento por correspondencia de bloques son particularmente efectivos cuando se combinan con técnicas de compresión espacial basadas en bloques tales como la transformada discreta del coseno (DCT).
Una manera de transmitir los datos de vídeo comprimidos a un receptor es en forma de paquetes contenidos dentro de un flujo de datos empaquetado. Normalmente, los paquetes que llevan los datos de vídeo comprimidos se multiplexarán con otros paquetes, por ejemplo, que lleven unos datos de audio e información de control correspondientes necesarios para reconstruir una señal de televisión. Un estándar para transportar señales digitales de televisión de esta manera es el estándar MPEG-2, cuyos detalles pueden encontrarse en el documento AVC-491, versión 1, Abril, 1993, publicado por el Sector de Normalización de las Telecomunicaciones, Grupo de Estudio 15, Grupo de Expertos de Codificación de Vídeo 4ATM de la Organización Internacional para la Normalización, ISO/IEC JTC1/SC29/WG11, titulado "Coded Representation of Picture and Audio Information". En el documento de la norma internacional ISO/IEC 13818-2, 1995, de la Organización Internacional para la Normalización titulado "Generic Coding of Moving Pictures and Associated Audio Information: Vídeo" pueden encontrarse detalles adicionales de la semántica y sintaxis de vídeo para vídeo MPEG-2. De interés también es el documento MC68VDP/D, una hoja de datos preliminar, titulado "MPEG-2/DCII Vídeo Decompression Processor", propiedad de Motorola Microprocessor and Memory Technologies Group, 1994, que describe un procesador de descompresión de vídeo que emplea los estándares MPEG-2 y DigiCipher®II.
En el sistema MPEG-2 (y el sistema DigiCipher® II similar propiedad de General Instrument Corporation, el cesionario del presente documento), un flujo de transporte, o múltiplex de transporte, está formado por un conjunto contiguo de paquetes de longitud fija. Cada paquete tiene una longitud total de 188 bytes, estando los primeros cuatro de estos bytes definidos como la cabecera del paquete. Por tanto, la parte de carga útil de cada paquete es normalmente 184 bytes. Sin embargo, cuando sea necesario, puede proporcionarse un campo de adaptación de longitud variable para ampliar la cabecera. Cuando se encuentre presente un campo de adaptación, la parte de carga útil del paquete será correspondientemente más corta.
Se proporciona diversa información de temporización y de identificación en partes diferentes del flujo de transporte. Éstas incluyen un identificador de paquete (PID) encontrado en la cabecera de transporte de cada paquete de transporte para proporcionar un número de referencia para identificar los paquetes de transporte que llevan un componente de un servicio específico. Este número se incluye en una definición del servicio, o "mapa del servicio", empleada por el receptor para identificar aquellos paquetes de transporte requeridos para reconstruir una señal de programa de televisión. El PID también puede referenciarse para varias funciones de preparación y de remultiplexación. En el caso de vídeo, audio o datos isócronos, el flujo de paquetes etiquetados con un único PID representa un solo flujo elemental de servicio de vídeo, audio o datos isócronos, respectivamente.
La información de temporización transportada por el flujo de transporte incluye una referencia de reloj de programa (PCR) que representa eficazmente una muestra de la base temporal del reloj de tiempo del sistema (STC) que subyace al servicio compuesta por los PID referenciados en el mapa del servicio. El PID que lleva el paquete con la PCR también se referencia en el mapa del servicio. Los componentes de vídeo, audio y datos isócronos de un servicio están enlazados a través de una relación definida al reloj de tiempo del sistema. La PCR sirve para definir la velocidad de transporte, en el sentido que entre dos PCR sucesivas cualesquiera en un PID, la velocidad de transporte es constante y nominalmente igual al ritmo del reloj de tiempo del sistema por la proporción del número total de bits de transporte entre PCR dividido por la diferencia entre las PCR en unidades del ritmo del reloj de tiempo del sistema.
La información de temporización transportada por el flujo de transporte incluye unos sellos de tiempo para el comienzo de la decodificación y la presentación de datos para la visualización. El sello de tiempo de presentación (PTS) se emplea para la adquisición de componentes de servicio y también para evaluar si la temporización y el control intermedio están funcionando correctamente en el decodificador. El sello temporal del decodificador (DTS) se utiliza para indicar el momento en el que el decodificador debería comenzar a decodificar la primera unidad de acceso (por ejemplo, una trama de vídeo) que empieza en algún lugar en la carga útil de un paquete de flujo elemental empaquetado (PES) cuya cabecera incluye el DTS. Un flujo elemental empaquetado es un flujo de datos compuesto por paquetes PES contiguos que tienen una longitud variable y son normalmente mucho más largos que un paquete de transporte de longitud fija. Por tanto, un paquete PES está compuesto normalmente por datos procedentes de una pluralidad de paquetes de transporte con un solo PID.
El DTS es requerido por un procesador de descompresión de vídeo a fin de determinar correctamente el comienzo de la decodificación de vídeo. Puesto que el DTS está empaquetado en una cabecera PES, ha resultado difícil y complicado para un procesador de descompresión de vídeo en el receptor obtener el DTS al mismo tiempo que recibe los datos de vídeo asociados a analizar sintácticamente. Antes del análisis gramatical, los datos de vídeo se recuperan de una memoria de vídeo que almacena temporalmente los datos tras haberse recuperado del flujo de transporte. Los datos de vídeo no estarán listos para ser decodificados por el procesador de descompresión de vídeo hasta un tiempo después que se haya descartado la cabecera PES que contiene el DTS necesario.
El documento EP-A-06148728 describe un método de sincronización de información de audio/vídeo según el cual, una señal de vídeo comprimida y una señal de audio comprimida son decodificadas por un sistema de decodificación de demultiplexa los paquetes entrantes en un flujo de bits de audio y un flujo de bits de vídeo, coge los sellos de tiempo de la cabecera del paquete y los inserta inmediatamente antes de la unidad de acceso relacionada en cada flujo elemental.
Es el objeto de la presente invención proporcionar un método mejorado para una descompresión de vídeo.
Este objeto se resuelve mediante un método según la reivindicación 1.
Unas realizaciones ventajosas adicionales son el asunto de las reivindicaciones 2 a 7.
Una ventaja de la presente invención es proporcionar un método para proporcionar el DTS al procesador de descompresión de vídeo cuando sea necesario sin necesidad alguna de volver a acceder a la cabecera PES que transportó originalmente el DTS y sin transportar el resto de la cabecera PES como tara.
Una ventaja adicional es proporcionar un método para detectar una recepción de dos sellos de tiempo sin un conjunto completo de datos de vídeo intermedios a descomprimir a fin de garantizar una recuperación rápida del decodificador en el caso de que se pierda información de imágenes.
Una ventaja adicional más es proporcionar un método para garantizar que no se pierdan datos cuando se inicialice un mapa de memoria a fin de almacenar los datos de vídeo recuperados del flujo de transporte.
También es una ventaja proporcionar un método para detectar cuando se produce la desaparición de una cabecera de imagen en los datos de imágenes transportados por el flujo de transporte y para recuperarse de la falta de tal información.
También son ventajosos unos métodos para decodificar y visualizar selectivamente imágenes fijas de un flujo de transporte.
La provisión de métodos para bloquear una salida de vídeo de un procesador si una nueva imagen no está inmediatamente disponible o para visualizar una imagen previa hasta que una nueva imagen esté disponible es también ventajosa.
La presente invención proporciona métodos para localizar y adquirir datos de vídeo de un flujo de transporte y para detectar, ocultar y recuperarse de los errores en el flujo adquirido. Los métodos de la presente invención gozan de las ventajas anteriormente mencionadas y de otras.
Según una realización de la presente invención, se proporciona un método para adquirir datos de vídeo para un servicio deseado a partir de un flujo de datos empaquetado. El flujo de datos incluye unos paquetes de transporte que transportan distintos componentes del servicio, tales como un componente de vídeo, un componente de audio y un componente de control. El componente transportado por un paquete de transporte en concreto se identifica mediante un identificador de paquete (PID) para ese componente. Uno de los componentes incluye una referencia de reloj de programa (PCR) que proporciona información de temporización para el servicio deseado. El método comprende la etapa de detectar la PCR para el servicio deseado del componente que transporta la PCR en el flujo de datos. Las PCR recuperadas se emplean para adquirir y realizar el seguimiento de un reloj de tiempo del decodificador que corresponde a la temporización del codificador. Los PID de los paquetes de transporte se monitorizan entonces para recuperar aquellos paquetes que transportan un componente de vídeo del servicio deseado. La información de cabecera de los paquetes de transporte recuperados se procesa para recuperar unos paquetes de flujo elemental empaquetado (PES) que tienen una cabecera PES e información de imágenes. De la cabecera PES de al menos uno de los paquetes PES se obtiene información de sellos de tiempo. La información de sellos de tiempo se almacena temporalmente y luego se adjunta a la información de imágenes para el almacenamiento en una memoria. De esta manera, la información de imágenes puede leerse de la memoria y decodificarse empleando la información de sellos de tiempo adjunta a la misma sin tener que volver a acceder a la cabecera PES para obtener la información de sellos de tiempo.
Normalmente, la información de imágenes incluirá una cabecera de imagen en unos límites entre imágenes de vídeo sucesivas a decodificar. La información de sellos de tiempo obtenida de la cabecera PES puede insertarse en la siguiente cabecera de imagen que vaya después de la cabecera PES en el flujo de datos empaquetado. Más específicamente, la información de sellos de tiempo puede insertarse tras un código de inicio de imagen contenido en la siguiente cabecera de imagen.
Puede proporcionarse información de sellos de tiempo para cada imagen de vídeo sucesiva a decodificar. En este caso, los paquetes PES se monitorizan para detectar cualquier recepción de dos cabeceras PES que tengan sellos de tiempo sin un código de inicio de imagen intermedio, una condición que indica que se ha producido un error. En el caso de que se detecte la recepción de dos de tales cabeceras PES sin un código de inicio de imagen intermedio, el segundo de los sellos de tiempo se inserta tras el siguiente código de inicio de imagen mientras que se ignora el primero de los dos sellos de tiempo. El decodificador asocia (por ejemplo, adjunta) un bit de control al campo del segundo sello de tiempo para indicar a las secciones de procesamiento posteriores que se ha producido un error.
Además del procesamiento de la información de sellos de tiempo de una manera eficiente, la adquisición puede requerir la reconfiguración de memoria. En una implementación en la que la información de imágenes incluye datos de pixeles y una cabecera de secuencia de vídeo que proporciona inferior de cómo han de decodificarse los datos de pixeles, la memoria que almacena la información de imágenes puede reconfigurarse, al producirse la adquisición, con un mapeado en concreto en respuesta a información de la cabecera de secuencia. Durante el tiempo en el que se está reconfigurando la memoria, se deniegan las solicitudes para acceder a los datos almacenados en la memoria a fin de garantizar que no se pierda ningún dato durante la inicialización del mapa de memoria.
También se admite la adquisición, selección y visualización de imágenes fijas deseadas. Más específicamente, cuando la información de imágenes incluye cabeceras de imagen en los límites entre imágenes de vídeo sucesivas, cada cabecera de imagen puede incluir un número de referencia para la siguiente imagen de vídeo. Entonces pueden seleccionarse imágenes de vídeo específicas para la decodificación haciendo referencia al número de referencia asociado a las mismas. La imagen seleccionada se decodifica y visualiza entonces como una imagen fija hasta que se seleccione, reciba y visualice otra imagen con el mismo número de referencia.
La información de imágenes transportada por el flujo de transporte puede incluir un código de final de secuencia indicativo del final de una imagen de vídeo a decodificar por un procesador de vídeo para visualizarse. El código de final de secuencia se detecta y se toma una determinación acerca de si una imagen de vídeo subsiguiente se encuentra disponible actualmente para decodificarse y visualizarse tras el código de final de secuencia. Si no se encuentra disponible tal imagen de vídeo subsiguiente, se bloquea una salida de vídeo del procesador de vídeo hasta que esté disponible una nueva imagen de vídeo. Alternativamente, la salida del procesador de vídeo puede dotarse de la última imagen de vídeo procesada hasta que se encuentre disponible una nueva imagen de vídeo.
A fin de recuperarse de la pérdida de cabeceras de imagen, la información de imágenes recibida del flujo de transporte se monitoriza para detectar la falta de una cabecera de imagen. Al producirse tal detección, la visualización de la trama completa visualizada más recientemente de información de imágenes contenida todavía en la memoria se repite hasta que una nueva trama completa de datos de vídeo recibidos tras una cabecera de imagen subsiguiente esté disponible para visualizarse.
Aunque no están provocadas por un error, las imágenes omitidas (es decir, imágenes que se omiten en el codificador) se tratan de una manera similar. A fin de recuperarse de la omisión de imágenes, la memoria puede monitorizarse para detectar si los datos para una trama de vídeo completa están presentes en la memoria cuando ha de comenzar la decodificación de esta trama. Al detectarse que la trama de vídeo completa no se encuentra presente, se repite la visualización de la trama completa visualizada más recientemente de información de imágenes decodificada contenida todavía en la memoria.
También se proporciona una recuperación de información de sellos de tiempo vieja. En particular, una vez que se empieza el proceso de decodificación en respuesta a un DTS válido, el decodificador continúa decodificando las tramas entrantes una a una. Entre DTS, las tramas se decodifican en tiempos obtenidos de los anteriores tiempos de decodificación. Cuando se recibe un nuevo DTS, el tiempo designado por ese DTS se compara con el valor del reloj de tiempo del decodificador en el tiempo de decodificación. Si el tiempo designado por el DTS precede al valor del reloj de tiempo del decodificador (es decir, el tiempo del DTS ya ha pasado), se presupone que la sincronización ha cometido un error y que el procesador de descompresión de vídeo (VDP) va por detrás del proceso de decodificación. Por tanto, la información de imágenes asociada con esa información de sellos de tiempo se descarta y el VDP no decodificará esta imagen.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques de un procesador de descompresión de vídeo del tipo que puede utilizar los métodos de la presente invención;
las figuras 2a a 2c son ilustraciones esquemáticas que muestran cómo se reorganizan los paquetes PES de longitud variable en paquetes de transporte de longitud fija para usarse al proporcionar un múltiplex de transporte para una transmisión; y
la figura 3 es una ilustración esquemática que muestra cómo se procesan en el decodificador los paquetes de transporte recibidos para recuperar información de imágenes e información de sellos de tiempo para el almacenamiento en la memoria dinámica de acceso aleatorio (DRAM) de la figura 1.
Descripción detallada de la invención
La figura 1 es un diagrama de bloques de un procesador de descompresión de vídeo que incorpora un gestor 30 de memoria que accede a una memoria DRAM 22 externa para almacenar y recuperar datos de vídeo necesarios para reconstruir un programa de televisión en un receptor. El procesador, generalmente indicado con 20, es un procesador canalizado diseñado para decodificar tanto la capa de transporte (es decir, la información de control y demás que no es vídeo) como la capa de vídeo de la entrada de flujo de bits comprimido a través de un terminal 10, denominado algunas veces la "interfaz de paquetes de transporte" del procesador de vídeo.
En un terminal 14 se proporciona una interfaz del procesador de usuario para el control del procesador de datos de vídeo a través de un controlador 50 de bus M que configura varios registros en el procesador 20. El bus M es un bus serie bidireccional de dos cables que proporciona una manera simple y eficiente de intercambiar datos entre dispositivos y es totalmente compatible con el estándar del bus I^{2}C.
A través de unas líneas 24 de dirección y unas líneas 26 de datos se proporciona una interfaz a la memoria DRAM 22. En el ejemplo ilustrado en la figura 1, la memoria DRAM 22 tiene un puerto de dirección de nueve bits y un puerto de datos de treinta y dos bits.
Se proporciona una interfaz 28 de salida de vídeo para el vídeo reconstruido, descomprimido, al que puede darse salida, por ejemplo, como una señal CCIR 656 (International Radio Consultive Committee), estándar multiplexada de luminancia (Y) y crominancia (Cr, Cb) de veintisiete MHz y 8 bits.
A través de un terminal 62 puede proporcionarse una interfaz de prueba a un controlador 60 JTAG (Joint Test Action Group) convencional. JTAG es una metodología normalizada de exploración de límites, empleada para las pruebas en la placa base para detectar fallos en las conexiones de paquetes y de placa base así como en los circuitos internos.
El procesador 20 de descompresión de vídeo recibe una señal de reloj a través de un terminal 12. El reloj proporciona información de temporización que se emplea, por ejemplo, para permitir que un analizador 32 sintáctico de transporte recupere información de temporización e información de vídeo de unos paquetes de transporte contenidos en una entrada de flujo de datos empaquetado a través del terminal 10. Un circuito 34 de adquisición y de gestión de errores utiliza una referencia de reloj de programa (PCR) y un sello de tiempo de decodificación (DTS) detectados por un analizador 40 sintáctico de vídeo para sincronizar el inicio de la decodificación de imágenes. Este circuito fija una sincronización vertical y proporciona una sincronización global para todas las funciones de decodificación y visualización de vídeo.
La capa de vídeo se almacena temporalmente en una memoria intermedia de entrada (memoria FIFO) configurada en la memoria DRAM 22 externa por el gestor 30 de memoria. El analizador 40 sintáctico de vídeo recibe la salida de datos de vídeo comprimidos de la memoria FIFO de la memoria DRAM a través del gestor 30 de memoria y separa la información de vectores de movimiento de los coeficientes que describen la información de vídeo. Los coeficientes son procesados por un decodificador 52 de Huffman, un cuantificador 54 inverso y un procesador 56 de transformada discreta inversa del coseno (IDCT).
Los vectores de movimiento se recuperan y utilizan para direccionar tramas de vídeo previamente decodificadas requeridas para reconstruir una trama de vídeo actual. En particular, un decodificador 42 de vectores de movimiento decodifica los vectores de movimiento recibidos del analizador 40 sintáctico de vídeo y se los pasa a un generador 44 de direcciones de predicción. El generador de direcciones de predicción proporciona información de direcciones necesaria para recuperar, a través del gestor 30 de memoria, los datos de trama de anclaje (es decir, la intratrama (I) o trama de predicción (P)) necesarios para permitir que un calculador 46 de predicción proporcione una señal de predicción necesaria para reconstruir un bloque de tramas actual. Un decodificador 48 diferencial combina los datos de predicción con los datos de coeficientes decodificados para proporcionar unos datos de vídeo descomprimidos. Los datos descomprimidos se almacenan en unas memorias intermedias apropiadas de la memoria DRAM 22 a través del gestor 30 de memoria. Cabe apreciarse que los procesos de descompresión de vídeo llevados a cabo por el decodificador 42 de vectores de movimiento, el generador 44 de direcciones de predicción, el calculador 46 de predicción, el decodificador 48 diferencial, el decodificador 52 de Huffman, el cuantificador 54 inverso y el procesador 56 IDCT son en general convencionales y bien comprendidos por los expertos en la técnica.
El gestor 30 de memoria programa toda la actividad en los buses 24, 26 de direcciones y de datos de la memoria DRAM externa y direcciona eficazmente la memoria DRAM 22. El gestor de memoria garantiza que se cumplen todos los requisitos de transferencia de datos de la parte de memoria FIFO de entrada de la memoria DRAM 22, del analizador 40 sintáctico de vídeo y del circuito 36 de reconstrucción de vídeo (así como del calculador 46 de predicción y del decodificador 48 diferencial). El circuito 36 de reconstrucción de vídeo construye una imagen actual e inserta subtítulos, una señal de prueba de intervalo vertical (VITS) y/o datos de patrones de prueba para su salida por una línea 38 de salida de vídeo. El proceso de decodificación para una trama comprimida de datos de vídeo se sincroniza comparando el tiempo especificado por el reloj de tiempo del decodificador con un sello de tiempo de decodificación (DTS) que indica cuándo ha de decodificarse la trama de vídeo. El proceso de visualización para la trama descomprimida se sincroniza comparando el tiempo especificado por el reloj de tiempo del decodificador con un sello de tiempo de presentación (PTS) que indica cuándo ha de presentarse la trama de vídeo para su visualización.
El gestor de memoria también proporciona un tamaño variable para la parte de memoria FIFO de la memoria DRAM 22 dependiendo del modo de decodificación, que puede ser, por ejemplo, el NTCS o el PAL, con o sin tramas bidireccionales de predicción (tramas B). El control de memorias intermedias de vídeo garantiza que la memoria FIFO proporcionada por la memoria DRAM 22 no se desborde ni se subdesborde. El control de memorias intermedias es una función de los parámetros de temporización del sistema, incluyendo la PCR y el DTS.
La memoria DRAM 22 se ilustra como una memoria externa y puede estar proporcionada por una pluralidad de chips de memoria DRAM, tales como dos memorias DRAM de cuatro Mbit (megabit, es decir, 2^{20} bits) para una implementación de ocho Mbit o cuatro memorias DRAM de cuatro Mbit para una implementación de dieciséis Mbit. Cabe apreciarse que, en futuras aplicaciones y según avance la tecnología de memorias, la memoria DRAM 22 puede proporcionarse como una memoria interna dentro del procesador de descompresión de vídeo. La memoria DRAM se mapea para proporcionar varias memorias intermedias de vídeo de decodificación y de salida así como una memoria intermedia FIFO circular para el flujo de bits de datos de entrada comprimido. La memoria DRAM también puede utilizarse para proporcionar una memoria intermedia de patrones de prueba, una memoria intermedia VITS y una memoria intermedia de reordenamiento de la visualización de subtítulos así como para almacenar varios datos de estructura de imágenes necesarios para visualizar adecuadamente las tramas de vídeo decodificadas. La memoria DRAM puede reinicializarse a través del gestor 30 de memoria para proporcionar diferentes mapas de memoria según sea necesario cuando se modifican unas variables tales como vídeo PAL o NTSC, configuración de memoria de ocho o dieciséis Mbit, y si hay tramas B presentes.
Tal como se ha indicado más arriba, el gestor 30 de memoria programa toda la actividad en los buses de la memoria DRAM externa, incluyendo los requisitos de transferencia de datos de la memoria FIFO de entrada, el analizador sintáctico de vídeo y el circuito de reconstrucción de vídeo. El gestor de memoria también realiza la actualización requerida de la memoria DRAM de una manera convencional. Por ejemplo, puede actualizarse simultáneamente la misma fila en cada una de las dos o cuatro memorias DRAM externas.
Cuando se introduce un flujo de datos empaquetado que contiene datos de vídeo comprimidos en el terminal 10 del procesador 20 de descompresión de vídeo, las tramas de vídeo representadas por los datos comprimidos se reconstruyen una a una. Inicialmente, tendrá que recibirse una trama completa de datos de vídeo y almacenarse en la memoria DRAM 22. La información para las tramas de vídeo subsiguientes puede comprender un subconjunto de la trama de vídeo completa que, cuando se añada a los datos de predicción procedentes de la trama de vídeo previa (almacenada en la memoria DRAM 22), resultará en la reconstrucción de una trama completa.
La figura 2a ilustra una parte de un flujo elemental empaquetado que transporta paquetes PES sucesivos, teniendo cada uno una cabecera 72 (CBC PES) y una carga 74 útil PES. Los paquetes 70 PES son de longitud variable.
Los paquetes PES tienen normalmente longitudes de varios miles de bytes. Se requiere que estén alineados de manera que cuando se dividan en cargas útiles de paquetes de transporte, el primer byte de cada paquete PES esté situado en la primera posición de carga útil de algún paquete de transporte. Para cualquier paquete de transporte que transporte la cabecera PES alineada, se fijará un "indicador del inicio de la unidad de carga útil" en la cabecera de transporte para el paquete de transporte. En los sistemas MPEG-2 y DigiCipher® II, se utiliza el formato PES para todos los componentes del servicio que sean inherentemente síncronos. Más particularmente, los componentes de vídeo, audio e datos isócronos se transportan como flujos elementales empaquetados, y las cabeceras 72 PES transportarán diversa información necesaria para definir la carga útil, incluyendo un prefijo de código de inicio de paquete, una identificación de flujo y una longitud de paquete PES. La cabecera también puede contener un sello de tiempo de presentación (PTS) o tanto un PTS como un sello de tiempo de decodificación (DTS). Cuando la cabecera sólo lleva un PTS, se infiere que el DTS es igual que el PTS. El PTS es un campo que indica el valor que deberían tener unos bytes correspondientes de la referencia del reloj de tiempo del sistema decodificador cuando se presenta la primera unidad de presentación (es decir, la unidad de acceso de la trama de vídeo, la trama de sincronización de audio y los datos isócronos) cuya unidad de acceso empieza en algún lugar de la carga útil de este paquete PES. Para el vídeo, una unidad de acceso comienza si el primer byte del código de inicio de imagen está presente en la carga útil del paquete PES. Para el audio, una unidad de acceso comienza si el primer byte de la palabra de sincronización de audio está presente en la carga útil de este paquete PES. Para los datos isócronos, una unidad de acceso comienza con el primer byte de la carga útil del paquete PES. El campo PTS se emplea para la adquisición de componentes del servicio y también para evaluar si la temporización y el control de memorias intermedias están funcionando correctamente en el decodificador.
El DTS es un campo que indica qué valor deberían tener unos bits correspondientes de la referencia reconstruida del reloj de tiempo del decodificador cuando el decodificador comienza a decodificar la primera unidad de acceso que empieza en algún lugar en la carga útil de este paquete PES. El PTS y el DTS únicamente difieren para el vídeo, y sólo en el caso en el que la trama I y las tramas P se transmitan con las tramas B.
La carga útil PES contiene los datos de información que se desean transmitir a un receptor. Por tanto, por ejemplo, las cargas útiles juntas incluyen toda la información de vídeo o de audio necesaria para que el receptor decodifique y reconstruya una señal de televisión digital.
A fin de cumplir con los requisitos de robustez y simplicidad, se prefiere un enfoque de longitud fija de paquete a los paquetes PES de longitud variable. Por tanto, tal como se ilustra en la figura 2b, el flujo elemental empaquetado que contiene los paquetes 70 PES se formatea en un flujo de paquetes 80 de transporte de longitud fija. Los paquetes de transporte ilustrados en la figura 2b corresponden todos al mismo componente del servicio, tal como el componente de vídeo de una transmisión de televisión digital. En las realizaciones de MPEG-2 y de DigiCipher® II, cada paquete tiene una longitud total de 188 bytes, comprendiendo los cuatro primeros bytes una cabecera 82 de paquete de transporte (CBC XPT). Por tanto, la parte 84 de carga útil de cada paquete 80 es normalmente de 184 bytes. Sin embargo, está presente un mecanismo de campo de adaptación, tal como se ilustra mediante el paquete 80' de transporte, para extender la cabecera cuando sea necesario. El campo 86 de adaptación proporciona información adicional que no se requiere para cada paquete de transporte. El campo 86 de adaptación (CAMPO ADPT) extiende la cabecera 82 de transporte normal a expensas de la carga 84 útil, que será menor que 184 bytes siempre que se proporcione la adaptación. El campo 86 de adaptación es de longitud variable, dependiendo de la información que contenga. Normalmente, el campo de adaptación soportará información adicional para la recuperación de bases de tiempo y también proporciona un mecanismo para rellenar la carga útil cuando no ocupa la totalidad de los 184 bytes. Por ejemplo, tal relleno puede emplearse para hacer que el paquete PES de vídeo de longitud variable quepa en un número fijo de paquetes de transporte.
Tal como se indica en la figura 2b, la cabecera de transporte de cada paquete de transporte incluye el PID que identifica al componente del servicio en particular transportado por el paquete de transporte. La PCR será transportada por un campo de adaptación para proporcionar información de temporización para un servicio deseado. En el receptor, las PCR para el servicio deseado se detectan de los campos de adaptación. A continuación, se monitorizarán los paquetes de transporte de un PID específico para recuperar un componente concreto del servicio que está procesándose. Puesto que el procesador de descompresión de vídeo de la figura 1 procesa la información de vídeo, monitorizará los paquetes de transporte para localizar todos aquéllos con el PID indicativo del componente de vídeo que está procesándose. El procesamiento del componente de vídeo se explica con más detalle más abajo en conexión con la figura 3.
Los paquetes de transporte de varios componentes del servicio se multiplexan en un múltiplex 90 de transporte, tal como se ilustra en la figura 2c. El múltiplex de transporte transportará paquetes intercalados de cada uno de los distintos componentes (por ejemplo, vídeo, audio y control) necesarios para reconstruir un servicio en el receptor. En el múltiplex de transporte de ejemplo mostrado en la figura 2c, los paquetes 80 (A_{1}, A_{2}, A_{3}...) de transporte de vídeo vienen seguidos por unos paquetes 92 (B_{1}, B_{2}, B_{3}...) de transporte de audio, los cuales a su vez vienen seguidos por otros paquetes 94 (C_{1}, C_{2}, C_{3}...) de componentes, que pueden ser otros servicios o datos transportados por el flujo de paquetes de transporte.
La figura 3 ilustra el procesamiento de paquetes de transporte de vídeo por un procesador de descompresión de vídeo, tal como el ilustrado en la figura 1. Una pluralidad de paquetes 80 de transporte de vídeo es recibida por el analizador 32 sintáctico de transporte, que toma la información de carga útil que es necesaria de los sucesivos paquetes de transporte para reconstruir una carga 74 útil PES. La información en las cabeceras 82 de transporte se utiliza para identificar la información 84 de carga útil y permite la reconstrucción de los datos 74 de carga útil PES, así como de la cabecera 72 PES. Tal como se ha indicado más arriba, los paquetes PES están alineados de manera que, cuando se dividen en cargas útiles de transporte, el primer byte de cada paquete PES se coloca en la primera posición de carga útil de algún paquete de transporte. Al detectarse un indicador del inicio de la carga útil en la cabecera de transporte, el analizador sintáctico de transporte sabrá que la primera parte de la carga útil en ese paquete de transporte contiene el paquete PES.
Uno de los artículos contenidos en la cabecera 72 PES (o inferido de un PTS en la cabecera PES) es el sello 104 de tiempo de decodificación (DTS), que es requerido por el analizador 40 sintáctico de vídeo a fin de decodificar correctamente los datos de imagen. Por tanto, según la presente invención, el DTS se extrae de la cabecera 72 PES y se reinserta tras la cabecera 100 de imagen en la información 102 de vídeo (datos de imagen) almacenada en la parte de memoria FIFO de la memoria DRAM 22. La inserción del DTS en la información de vídeo almacenada en la memoria DRAM 22 permite que el procesador de descompresión procese la información de vídeo sin tener que recuperar el DTS de una fuente fuera de la memoria DRAM. Cabe indicarse que el PTS también se almacena en la memoria DRAM 22 si difiere del DTS.
Una característica especial de la presente invención es que, en el caso especial en el que se detecta un DTS y luego se detecta un segundo DTS sin haber escrito en ningún momento el anterior en la memoria DRAM 22, se proporciona un código único para advertir al analizador 40 sintáctico de vídeo de que se ha producido está situación. Más particularmente, se advertirá al analizador sintáctico de vídeo de que se perdió un paquete con una cabecera de imagen, pero que el segundo DTS recibido probablemente es correcto para la siguiente imagen. Si no, el analizador, al detectar la cabecera de imagen perdida, desecharía el DTS asociado a la siguiente imagen. Sin embargo, al recibir el código único que identifica la situación, el analizador 40 sintáctico de vídeo sabrá que el DTS actual sobrescribió el DTS anterior que no se utilizó, y se presupondrá que el DTS actual es correcto.
Mientras el componente de vídeo del flujo de transporte está adquiriéndose tal como se ha descrito anteriormente, el analizador 40 sintáctico de vídeo solicitará continuamente datos del gestor 30 de memoria. Puesto que la velocidad a la que la interfaz de paquetes escribe los datos es mucho más lenta que la velocidad a la que pueden analizarse, la memoria FIFO dentro de la memoria DRAM 22 se vacía casi inmediatamente después de que la interfaz de paquetes escriba un palabra en ella. A continuación, el analizador sintáctico analiza sintácticamente los datos para obtener la información que necesita en una cabecera de secuencia para inicializar un mapa de memoria en la memoria DRAM 22. La cabecera de secuencia es parte de la sintaxis de vídeo transportada en la carga útil PES e indica que sigue una nueva secuencia de información de vídeo (imágenes). La cabecera de secuencia identifica unos parámetros de la imagen o de la codificación de vídeo que se empleó (por ejemplo, el tamaño horizontal, el tamaño vertical, la relación de aspecto de muestra, la velocidad de tramas, la velocidad de bits y la cuantificación entre tramas/que no es entre tramas, etc.) de manera que la memoria DRAM 22 pueda mapearse correctamente para almacenar los datos para la descompresión del vídeo comprimido. Al detectarse una extensión de secuencia adjunta a la cabecera de secuencia, el mapa de memoria se inicializa. La extensión de secuencia proporciona información adicional tal como si el vídeo se ha explorado de una manera entrelazada o progresiva. Durante la inicialización del mapa de memoria, todas las solicitudes de acceso a la memoria DRAM 22 se deniegan. Una vez que se inicializa el mapa de memoria, se permite el acceso a memoria DRAM. Este procedimiento garantiza que pueda perderse ningún dato almacenado en la parte de memoria FIFO de la memoria DRAM 22 cuando se inicializa el mapa de memoria. El analizador 40 sintáctico de vídeo puede entonces proceder a buscar la primera cabecera de imagen con un DTS válido a fin de comenzar la descompresión de datos de vídeo.
En cualquier esquema de comunicación digital, se espera que ocasionalmente se pierdan datos por el canal de transmisión. Cuando los datos de vídeo se comunican a un procesador de descompresión de vídeo, es posible que se pierda una cabecera de imagen. También es posible que cuando se procesen los datos de vídeo recibidos, la parte de memoria FIFO de la memoria DRAM 22 se desborde o subdesborde. En estos casos debe practicarse una gestión de errores para minimizar la probabilidad de que aparezcan artefactos evidentes en la pantalla de un televidente. También debe hacerse algo de las imágenes omitidas. Aunque las imágenes omitidas no son producto de los errores introducidos por el canal de transmisión, se gestionan del mismo modo que tales errores.
En los estándares MPEG-2 y DigiCipher® II, la unidad de vídeo fundamental es un macrobloque. Un macrobloque es un grupo de 16 x 16 píxeles de vídeo. El vídeo se codifica de manera jerárquica. Una secuencia es cualquier secuencia de vídeo. Una secuencia está formada por grupos de imágenes. Un grupo de imágenes está formado por imágenes individuales. Cada imagen corresponde a una sola trama de vídeo en movimiento. Una imagen se divide en segmentos. A su vez, cada segmento está compuesto por macrobloques. Los macrobloques están compuestos por seis bloques de 8 x 8 pixeles, incluyendo 16 x 16 píxeles de luminancia y dos bloques de 8 x 8 píxeles de crominancia. Un bloque es un término empleado para describir cualquier bloque de 8 x 8 píxeles.
A fin de detectar una cabecera de imagen que falta, el analizador 40 sintáctico de vídeo del procesador de descompresión ilustrado en la figura 1 monitoriza la posición vertical de cada segmento de imagen. Si posición_ vertical_segmento_{n} < posición_ vertical_segmento_{n-1}, y no había ninguna cabecera de imagen entre posición_ vertical_segmento_{n} y posición_ vertical_segmento_{n_1}, se presupone que posición_vertical_segmento_{n} pertenece a una nueva imagen y que se ha perdido una cabecera de imagen. Si el analizador sintáctico detecta que falta una cabecera de imagen, buscará y adquirirá la siguiente cabecera de imagen e ignorará su DTS, si tiene uno, a no ser que haya sido informado de que el DTS actual es un DTS sobrescrito que se presupone que es válido. Si no hay DTS, el analizador sintáctico de vídeo predecirá uno basándose en la información de temporizador anterior. Si la predicción es errónea debido a un error, entonces el sistema estará desincronizado durante un corto periodo de tiempo hasta que llegue el siguiente DTS válido. La cuenta de imágenes en la parte de memoria FIFO de la memoria DRAM 22 seguirá siendo correcta ya que ni la interfaz de paquetes ni el analizador sintáctico de vídeo han contado la imagen con la cabecera de imagen perdida.
Siempre que se pierda una imagen, se repetirá la visualización de una imagen previa. Más específicamente, se repetirá la trama completa visualizada más recientemente que esté disponible en la memoria DRAM 22. Normalmente, ésta será la trama I o P visualizada más recientemente. La trama B más reciente no puede repetirse salvo que la memoria DRAM 22 sea lo suficientemente grande como para contener una trama B completa, lo que puede resultar un despilfarro y por tanto no es la realización preferida.
El analizador 32 sintáctico de transporte detectará la presencia de imágenes completas en la parte de memoria FIFO de la memoria DRAM 22 monitorizando la presencia de códigos de inicio de imagen y códigos de final de secuencia. Si el decodificador, al examinar el número de imágenes en la memoria FIFO, determina que al comienzo del tiempo de decodificación no hay una imagen completa en la memoria FIFO, entonces se presupone que en el codificador se ha omitido una imagen.
Si se detecta la omisión de una imagen, el DTS asociado a la imagen incompleta actualmente en la memoria FIFO se ignora puesto que está definido que es inválido. El procesador de vídeo predecirá un DTS y continuará examinando el estado de la memoria FIFO. Cuando hay una imagen completa en la memoria FIFO, volverá a empezar la decodificación. En espera a que llegue una imagen completa a la memoria FIFO, se repetirá la imagen visualizada más recientemente.
Si se detecta un DTS que pertenece al pasado, es decir, anterior al tiempo actual designado por el reloj de tiempo reconstruido del decodificador, se presupone que la sincronización ha cometido un error y que el proceso de decodificación se ha retrasado. Si ocurre esto, no se decodificarán los datos de imagen asociados al DTS "viejo" y se descartarán los datos. Si la siguiente imagen no tiene DTS, se decodificará, suponiendo que el error de sincronización fue menor o igual que una imagen. Si la siguiente imagen sí que tiene un DTS, hay que comprobar el DTS para ver si pertenece al pasado, en cuyo caso se descarta. Si el DTS no pertenece al pasado, la imagen asociada se decodificará cuando el DTS esté en vigor.
En el caso de un desbordamiento de la memoria FIFO, se descartarán los paquetes y la primera cosa que se escriba en la memoria FIFO después de que cese el desbordamiento será un código de error de secuencia. El proceso de decodificación tratará este suceso de la misma manera que cualquier otro error de paquetes y, en un intento por ocultar el error, aplicará demoras de vídeo a los datos en los paquetes descartados. Un subdesbordamiento se tratará de la misma manera que una imagen omitida, tal como se ha descrito más arriba.
Se soportan imágenes fijas, bien en un modo de alta velocidad, bien en un modo de baja velocidad. El modo de imágenes fijas de alta velocidad es iniciado por un usuario, el cual fija, por ejemplo, un byte de compra por catálogo en el procesador de vídeo mediante la interfaz 14 de usuario (figura 1). Una vez que el procesador se encuentra en este modo, decodificará y visualizará sólo aquellas imágenes cuyas referencias temporales correspondan con la referencia temporal en un registro de números de páginas. El procesador del usuario debe seleccionar qué página (es decir, imagen fija) se decodificará y visualizará fijando este registro.
El modo de imágenes fijas de baja velocidad utiliza el comportamiento de imágenes omitidas de MPEG-2 del procesador de vídeo para visualizar una fuente de imágenes de baja velocidad, análoga a una proyección de diapositivas. Tras la adquisición, cada vez que el procesador de vídeo advierta que hay una imagen completa en su memoria FIFO, esta imagen se decodificará y visualizará hasta que la siguiente imagen completa esté en la memoria intermedia.
El procesador de vídeo puede implementarse para que bloquee la salida de vídeo tras un código de final de secuencia si una nueva imagen no viene inmediatamente detrás. El bloqueo de la salida de vídeo del circuito 36 de reconstrucción de vídeo tendrá como resultado que la pantalla de televisión del usuario se pondrá negra. Como alternativa a bloquear la salida de vídeo hasta que se reciba una nueva imagen, puede repetirse la última imagen de la secuencia hasta que se reciba la nueva imagen. La alternativa de bloquear la salida de vídeo es ventajosa para permitir la inserción local de anuncios en la cabecera de televisión por cable o similar.
Cabe apreciarse ahora que la presente invención proporciona unos métodos mejorados para el seguimiento y adquisición de datos de vídeo de un flujo de datos empaquetado y para detectar, ocultar y recuperarse de los errores en tales datos. Una información de temporización extraída de una cabecera PES se almacena junto con una información de imágenes en una memoria de vídeo para facilitar la decodificación de la información de imágenes. Se proporcionan varias técnicas para ocultar y recuperarse de los errores de transmisión.

Claims (7)

1. Método para adquirir unos datos de vídeo para un servicio deseado a partir de un flujo de datos empaquetado que incluye unos paquetes (80) de transporte que transportan distintos componentes de dicho servicio, identificándose el componente transportado por un paquete (80) de transporte en concreto mediante un identificador de paquete (PID) para ese componente, que comprende las etapas de:
monitorizar los PID de los paquetes (80) de transporte para recuperar aquéllos que transportan un componente de vídeo de dicho servicio;
procesar una información de cabecera de los paquetes (80) de transporte recuperados para recuperar unos paquetes (70) de flujo elemental empaquetado (PES) que tienen una cabecera (72) PES e información (74) de imágenes, incluyendo dicha información de imágenes cabeceras (100) de imagen en unos límites entre imágenes de vídeo sucesivas a decodificar;
obtener información (104) de sellos de tiempo de la cabecera PES de al menos uno de dichos paquetes (70) PES; y
adjuntar dicha información (104) de sellos de tiempo a una correspondiente información (102) de imágenes para el almacenamiento en una memoria (22), de manera que dicha información (104) de sellos de tiempo obtenida de dicha cabecera (72) PES se inserte en la siguiente cabecera (100) de imagen que venga después de la cabecera (72) PES en dicho flujo de datos empaquetado y tras un código de inicio de imagen contenido en dicha siguiente cabecera de imagen;
en el que dicha información de imágenes puede leerse de dicha memoria (22) y decodificarse empleando la información (104) de sellos de tiempo adjunta a la misma sin tener que volver a acceder a dicha cabecera (72) PES para obtener dicha información (104) de sellos de tiempo.
2. Método según la reivindicación 1, que comprende las etapas adicionales de:
monitorizar dichos paquetes (70) PES para detectar una recepción de dos cabeceras (72) de paquetes PES que tengan unos sellos de tiempo sin un código de inicio de imagen intercalado; y
en el caso de que se detecte tal recepción de dos cabeceras (72) de paquetes PES que tengan unos sellos de tiempo sin un código de inicio de imagen intercalado, insertar el sello de tiempo para la segunda de dichas cabeceras de paquete PES tras el siguiente código de inicio de imagen al tiempo que se ignora el sello de tiempo de la primera de dichas dos cabeceras de paquete PES.
3. Método según la reivindicación 2, que comprende las etapas adicionales de:
proporcionar un código indicativo de la recepción de dos cabeceras (72) de paquetes PES que tengan unos sellos de tiempo sin un código de inicio de imagen intercalado; y
usar dicho código para impedir que el sello de tiempo de la segunda de dichas dos cabeceras (72) de paquete PES se ignore como si fuese inválido.
4. Método según la reivindicación 1, en el que dicha información de imágenes incluye unos datos de píxeles y una cabecera de secuencia de vídeo que proporciona una información acerca de cómo han de decodificarse dichos datos de píxeles, comprendiendo dicho método las etapas adicionales de:
configurar dicha memoria (22) con un mapeado concreto en respuesta a una información de dicha cabecera de secuencia; y
denegar solicitudes para leer o escribir un acceso a dicha memoria (22) mientras la memoria está configurándose.
5. Método según la reivindicación 1, que comprende las etapas adicionales de:
monitorizar dicha información de imágenes para detectar la falta de una cabecera (100) de imagen; y
al producirse tal detección, repetir la visualización de la trama completa visualizada más recientemente de información de imágenes contenida todavía en dicha memoria (22) hasta que una nueva trama completa tras una cabecera (100) de imagen subsiguiente esté disponible para visualizarse.
6. Método según la reivindicación 1, en el que uno de dichos componentes incluye una referencia de reloj de programa (PCR) que proporciona una información de temporización para dicho servicio deseado, que comprende las etapas adicionales de:
detectar la PCR para dicho servicio deseado a partir del componente (86) que transporta la PCR en dicho flujo de datos;
comparar dicha información (104) de sellos de tiempo con el valor de un reloj de tiempo del decodificador sincronizado con dicha PCR para determinar si un tiempo representado por la información (104) de sellos de tiempo precede al valor del reloj de tiempo del decodificador, y si es así,
desechar la información de imágenes asociada con el información (104) de sellos de tiempo.
7. Método según la reivindicación 1, en el que dicha información de imágenes incluye unas cabeceras (100) de imagen en unos límites entre imágenes de vídeo sucesivas, incluyendo cada cabecera (100) de imagen un número de referencia para la siguiente imagen de vídeo, comprendiendo dicho método las etapas adicionales de:
permitir que unas imágenes de vídeo específicas se seleccionen para decodificarse al hacer referencia al número de referencia asociado con las mismas; y
decodificar la imagen seleccionada y visualizarla como una imagen fija hasta que una subsiguiente imagen seleccionada del mismo número de referencia esté lista para visualizarse.
ES96102058T 1995-02-28 1996-02-13 Adquisicion de datos deseados de un flujo de datos paquetizado y sincronizacion a los mismos. Expired - Lifetime ES2227567T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US392421 1995-02-28
US08/392,421 US5517250A (en) 1995-02-28 1995-02-28 Acquisition of desired data from a packetized data stream and synchronization thereto

Publications (1)

Publication Number Publication Date
ES2227567T3 true ES2227567T3 (es) 2005-04-01

Family

ID=23550520

Family Applications (1)

Application Number Title Priority Date Filing Date
ES96102058T Expired - Lifetime ES2227567T3 (es) 1995-02-28 1996-02-13 Adquisicion de datos deseados de un flujo de datos paquetizado y sincronizacion a los mismos.

Country Status (12)

Country Link
US (1) US5517250A (es)
EP (1) EP0730384B1 (es)
JP (1) JP3839089B2 (es)
KR (1) KR100365384B1 (es)
CN (1) CN1110958C (es)
AU (1) AU697213B2 (es)
BR (1) BR9600831A (es)
CA (1) CA2169348C (es)
DE (1) DE69633475T2 (es)
ES (1) ES2227567T3 (es)
NO (1) NO314480B1 (es)
TW (1) TW308775B (es)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9405914D0 (en) 1994-03-24 1994-05-11 Discovision Ass Video decompression
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US6047112A (en) 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US5798719A (en) 1994-07-29 1998-08-25 Discovision Associates Parallel Huffman decoder
JPH08149474A (ja) * 1994-11-17 1996-06-07 Hitachi Ltd 動画像復号化装置
KR960036641A (ko) * 1995-03-21 1996-10-28 김광호 저속의 비디오비트열을 복호하는 고속용 복호화장치
JP3720412B2 (ja) * 1995-05-01 2005-11-30 キヤノン株式会社 情報処理方法及び装置
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
US5982459A (en) * 1995-05-31 1999-11-09 8×8, Inc. Integrated multimedia communications processor and codec
US5721878A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Multimedia control system and method for controlling multimedia program presentation
JP3184763B2 (ja) 1995-06-07 2001-07-09 インターナショナル・ビジネス・マシーンズ・コーポレ−ション マルチメディア直接アクセス記憶装置及びフォーマット方法
US5930493A (en) * 1995-06-07 1999-07-27 International Business Machines Corporation Multimedia server system and method for communicating multimedia information
US5721815A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Media-on-demand communication system and method employing direct access storage device
US6119213A (en) * 1995-06-07 2000-09-12 Discovision Associates Method for addressing data having variable data width using a fixed number of bits for address and width defining fields
US5699124A (en) 1995-06-28 1997-12-16 General Instrument Corporation Of Delaware Bandwidth efficient communication of user data in digital television data stream
US5666487A (en) * 1995-06-28 1997-09-09 Bell Atlantic Network Services, Inc. Network providing signals of different formats to a user by multplexing compressed broadband data with data of a different format into MPEG encoded data stream
JPH0918870A (ja) * 1995-06-30 1997-01-17 Sony Corp タイミング検出回路及びその方法
US5742623A (en) * 1995-08-04 1998-04-21 General Instrument Corporation Of Delaware Error detection and recovery for high rate isochronous data in MPEG-2 data streams
US5959659A (en) * 1995-11-06 1999-09-28 Stellar One Corporation MPEG-2 transport stream decoder having decoupled hardware architecture
US5771239A (en) * 1995-11-17 1998-06-23 General Instrument Corporation Of Delaware Method and apparatus for modifying a transport packet stream to provide concatenated synchronization bytes at interleaver output
US5703877A (en) * 1995-11-22 1997-12-30 General Instrument Corporation Of Delaware Acquisition and error recovery of audio data carried in a packetized data stream
US6169843B1 (en) * 1995-12-01 2001-01-02 Harmonic, Inc. Recording and playback of audio-video transport streams
US5729292A (en) * 1995-12-21 1998-03-17 Thomson Multimedia, S.A. Optimizing performance in a packet slot priority packet transport system
US5675511A (en) * 1995-12-21 1997-10-07 Intel Corporation Apparatus and method for event tagging for multiple audio, video, and data streams
KR100220678B1 (ko) * 1995-12-29 1999-09-15 전주범 블록 단위 부호화 장치로부터 전송된 영상신호에서의 채널 에러 정정 방법
US5835493A (en) * 1996-01-02 1998-11-10 Divicom, Inc. MPEG transport stream remultiplexer
US6018765A (en) * 1996-01-23 2000-01-25 Storage Concepts, Inc. Multi-channel multimedia data server
US6047027A (en) * 1996-02-07 2000-04-04 Matsushita Electric Industrial Co., Ltd. Packetized data stream decoder using timing information extraction and insertion
US5768537A (en) * 1996-02-22 1998-06-16 International Business Machines Corporation Scalable MPEG2 compliant video encoder
US5818539A (en) * 1996-03-29 1998-10-06 Matsushita Electric Corporation Of America System and method for updating a system time constant (STC) counter following a discontinuity in an MPEG-2 transport data stream
CA2204828C (en) * 1996-05-10 2004-11-23 Ray Nuber Error detection and recovery for high rate isochronous data in mpeg-2 data streams
KR100203262B1 (ko) * 1996-06-11 1999-06-15 윤종용 픽춰단위 동기화를 위한 비디오디코더의 인터페이스장치
US5864557A (en) * 1996-09-25 1999-01-26 Thomson Multimedia S.A. Method and apparatus for opportunistically transferring data in a packet stream encoder
EP0841820A3 (en) * 1996-11-08 2005-11-09 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding, multiplexing and transmitting a video signal
US6018764A (en) * 1996-12-10 2000-01-25 General Instrument Corporation Mapping uniform resource locators to broadcast addresses in a television signal
US6359656B1 (en) * 1996-12-20 2002-03-19 Intel Corporation In-band synchronization of data streams with audio/video streams
CN1219265A (zh) * 1997-03-12 1999-06-09 皇家菲利浦电子有限公司 数字信息信号在记录载体上的记录
JP3554177B2 (ja) * 1997-04-23 2004-08-18 キヤノン株式会社 出力制御装置、出力制御方法、記憶媒体
JP3356203B2 (ja) 1997-06-09 2002-12-16 日本電気株式会社 Mpeg2トランスポートストリーム分離方法と回路
US5923655A (en) * 1997-06-10 1999-07-13 E--Net, Inc. Interactive video communication over a packet data network
US6636563B2 (en) * 1997-06-12 2003-10-21 Sony Corporation Decoder and decoding method for information signal
DE69841532D1 (de) 1997-08-29 2010-04-15 Panasonic Corp Optische Platte mit hierarchisch codiertem digitalen Videosignal, Wiedergabevorrichtung und Aufnahmevorrichtung für die optische Platte
US6181706B1 (en) 1997-09-26 2001-01-30 International Business Machines Corporation Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register
US6078594A (en) * 1997-09-26 2000-06-20 International Business Machines Corporation Protocol and procedure for automated channel change in an MPEG-2 compliant datastream
US6091772A (en) * 1997-09-26 2000-07-18 International Business Machines, Corporation Black based filtering of MPEG-2 compliant table sections
US6195403B1 (en) 1997-09-26 2001-02-27 International Business Machines Corporation Pulse generator for a voltage controlled oscillator
US6275507B1 (en) 1997-09-26 2001-08-14 International Business Machines Corporation Transport demultiplexor for an MPEG-2 compliant data stream
US6072771A (en) * 1997-09-26 2000-06-06 International Business Machines Corporation Detection of errors in table data
US6115422A (en) * 1997-09-26 2000-09-05 International Business Machines Corporation Protocol and procedure for time base change in an MPEG-2 compliant datastream
US6229801B1 (en) 1997-09-26 2001-05-08 International Business Machines Corporation Delivery of MPEG2 compliant table data
US6088357A (en) * 1997-09-26 2000-07-11 International Business Machines Corporation Auxiliary transport assist processor especially for an MPEG-2 compliant decoder
US6356567B2 (en) 1997-09-26 2002-03-12 International Business Machines Corporation Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream
EP0917356A1 (en) * 1997-11-17 1999-05-19 CANAL+ Société Anonyme Packet filtering
US6148082A (en) * 1998-01-14 2000-11-14 Skystream Corporation Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams
US6292490B1 (en) * 1998-01-14 2001-09-18 Skystream Corporation Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
US6351471B1 (en) 1998-01-14 2002-02-26 Skystream Networks Inc. Brandwidth optimization of video program bearing transport streams
US6064676A (en) * 1998-01-14 2000-05-16 Skystream Corporation Remultipelxer cache architecture and memory organization for storing video program bearing transport packets and descriptors
US6351474B1 (en) 1998-01-14 2002-02-26 Skystream Networks Inc. Network distributed remultiplexer for video program bearing transport streams
US6195368B1 (en) 1998-01-14 2001-02-27 Skystream Corporation Re-timing of video program bearing streams transmitted by an asynchronous communication link
US6246701B1 (en) 1998-01-14 2001-06-12 Skystream Corporation Reference time clock locking in a remultiplexer for video program bearing transport streams
KR20010034133A (ko) * 1998-01-14 2001-04-25 스카이스트림 코포레이션 트랜스포트 스트림 리멀티플렉서를 갖는 비디오 프로그램
JPH11205696A (ja) * 1998-01-20 1999-07-30 Sony Corp 映像伝送装置及び映像伝送方法
JP2978876B2 (ja) * 1998-04-20 1999-11-15 日本電気アイシーマイコンシステム株式会社 Pcmデータ出力方法および装置
FR2780186B1 (fr) * 1998-06-23 2000-08-11 St Microelectronics Sa Procede et dispositif de decodage d'une image, comprimee notamment selon les normes mpeg, en particulier une image bidirectionnelle
US6160847A (en) * 1998-06-26 2000-12-12 Lsi Logic Corporation Detection mechanism for video channel underflow in MPEG-2 video decoding
US6573942B1 (en) * 1998-08-17 2003-06-03 Sharp Laboratories Of America, Inc. Buffer system for controlled and timely delivery of MPEG-2F data services
US6304914B1 (en) * 1998-09-22 2001-10-16 Microsoft Corporation Method and apparatus for pre-compression packaging
US6434146B1 (en) * 1998-12-04 2002-08-13 Koninklijke Philips Electronics N.V. Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture
US7551672B1 (en) * 1999-02-05 2009-06-23 Sony Corporation Encoding system and method, decoding system and method, multiplexing apparatus and method, and display system and method
US6480537B1 (en) * 1999-02-25 2002-11-12 Telcordia Technologies, Inc. Active techniques for video transmission and playback
JP4292654B2 (ja) 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
EP1122728A1 (en) * 1999-08-20 2001-08-08 Sony Corporation Information recording/reproducing device
US6654389B1 (en) * 1999-11-23 2003-11-25 International Business Machines Corporation System and method for searching patterns in real-time over a shared media
US6690683B1 (en) 1999-11-23 2004-02-10 International Business Machines Corporation Method and apparatus for demultiplexing a shared data channel into a multitude of separate data streams, restoring the original CBR
JP2001157204A (ja) * 1999-11-25 2001-06-08 Nec Corp 動画像復号化方法及び装置
US6885680B1 (en) 2000-01-24 2005-04-26 Ati International Srl Method for synchronizing to a data stream
US8284845B1 (en) * 2000-01-24 2012-10-09 Ati Technologies Ulc Method and system for handling data
US6763390B1 (en) * 2000-01-24 2004-07-13 Ati Technologies, Inc. Method and system for receiving and framing packetized data
US6988238B1 (en) 2000-01-24 2006-01-17 Ati Technologies, Inc. Method and system for handling errors and a system for receiving packet stream data
US6778533B1 (en) 2000-01-24 2004-08-17 Ati Technologies, Inc. Method and system for accessing packetized elementary stream data
US7366961B1 (en) 2000-01-24 2008-04-29 Ati Technologies, Inc. Method and system for handling errors
US7113546B1 (en) 2000-05-02 2006-09-26 Ati Technologies, Inc. System for handling compressed video data and method thereof
EP1176833A3 (en) * 2000-07-25 2012-06-27 Panasonic Corporation Image decoding method, image decoding apparatus, and data storage medium
US7095945B1 (en) * 2000-11-06 2006-08-22 Ati Technologies, Inc. System for digital time shifting and method thereof
US6629261B1 (en) * 2000-11-21 2003-09-30 At&T Wireless Services, Inc. Enhanced data link layer selective reject mechanism in noisy wireless environment
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
KR100390841B1 (ko) * 2001-03-27 2003-07-10 주식회사 하이닉스반도체 피아이디 검출을 고속화하기 위한 피아이디 저장 및 비교장치 및 방법
JP3494161B2 (ja) * 2001-03-30 2004-02-03 ミノルタ株式会社 画像処理システム、管理装置、画像処理装置、管理方法、管理プログラム及び記録媒体
WO2002091202A1 (en) * 2001-05-04 2002-11-14 Globespan Virata Incorporated System and method for distributed processing of packet data containing audio information
KR100878546B1 (ko) 2001-05-14 2009-01-14 스마르데떼베 에스아 복수의 디지털 신호 스트림을 수신하여 처리하는 시스템 및 방법
KR100470025B1 (ko) * 2001-06-15 2005-02-04 엘지전자 주식회사 디지털 데이터 스트림 기록장치 및 방법과, 그에 따른기록매체
WO2003017561A1 (en) * 2001-08-16 2003-02-27 Globespan Virata Incorporated Apparatus and method for concealing the loss of audio samples
US8676025B2 (en) * 2002-03-01 2014-03-18 Broadcom Corporation Method of timebase management for MPEG decoding with personal video recording functionality
US7508874B2 (en) * 2002-01-29 2009-03-24 Broadcom Corporation Error concealment for MPEG decoding with personal video recording functionality
US7215679B2 (en) * 2001-08-30 2007-05-08 Thomson Licensing Method, apparatus and data structure enabling multiple channel data stream transmission
US7027520B2 (en) * 2001-08-30 2006-04-11 Thomson Licensing Method and apparatus for simultaneously retrieving portions of a data stream from different channels
US8880709B2 (en) * 2001-09-12 2014-11-04 Ericsson Television Inc. Method and system for scheduled streaming of best effort data
US9497452B2 (en) * 2002-01-22 2016-11-15 Broadcom Corporation System and method of transmission and reception of video using compressed differential time stamps
WO2003069787A2 (en) * 2002-02-12 2003-08-21 Digital Interactive Streams, Inc. System and method for fault tolerant multimedia communication
JP2003317447A (ja) * 2002-04-23 2003-11-07 Konica Minolta Holdings Inc 画像表示用プログラム及び該プログラムが記録された情報記録媒体
US7706402B2 (en) * 2002-05-06 2010-04-27 Ikanos Communications, Inc. System and method for distributed processing of packet data containing audio information
US6842432B2 (en) * 2002-12-10 2005-01-11 Motorola, Inc. Method for allocating channel resources in a distributed control channel system
US7394969B2 (en) * 2002-12-11 2008-07-01 Eastman Kodak Company System and method to compose a slide show
US7499469B2 (en) * 2003-01-13 2009-03-03 Broadcom Corporation Method and system for generating digital video broadcast (DVB) transport stream from direct satellite system (DSS) transport stream
JP2006518127A (ja) * 2003-02-18 2006-08-03 ノキア コーポレイション ピクチャ復号化方法
MY135449A (en) * 2003-02-18 2008-04-30 Nokia Corp Picture coding method
US7693394B2 (en) * 2003-02-26 2010-04-06 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
RU2374701C2 (ru) * 2003-03-06 2009-11-27 Эл Джи Электроникс Инк. Интерактивный носитель и способ управления дополнительными данными для него
US7817721B2 (en) * 2003-05-15 2010-10-19 Lsi Corporation Posting status data in digital transport stream processing
EP1499131A1 (en) * 2003-07-14 2005-01-19 Deutsche Thomson-Brandt Gmbh Method and apparatus for decoding a data stream in audio video streaming systems
US7693222B2 (en) * 2003-08-13 2010-04-06 Ericsson Television Inc. Method and system for re-multiplexing of content-modified MPEG-2 transport streams using PCR interpolation
US20050060420A1 (en) * 2003-09-11 2005-03-17 Kovacevic Branko D. System for decoding multimedia data and method thereof
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US9124907B2 (en) * 2004-10-04 2015-09-01 Nokia Technologies Oy Picture buffering method
US20060136981A1 (en) * 2004-12-21 2006-06-22 Dmitrii Loukianov Transport stream demultiplexor with content indexing capability
JP4693427B2 (ja) * 2005-01-27 2011-06-01 京セラ株式会社 ディジタル放送受信装置
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
KR100710393B1 (ko) * 2005-10-11 2007-04-24 엘지전자 주식회사 압축 스트림의 복호방법
US7339853B2 (en) * 2005-12-02 2008-03-04 Agilent Technologies, Inc. Time stamping events for fractions of a clock cycle
CN101584130B (zh) * 2006-10-03 2013-06-12 维尔塞特公司 具有子信道的前向卫星链路
EP2116051A2 (en) 2007-01-12 2009-11-11 ActiveVideo Networks, Inc. Mpeg objects and systems and methods for using mpeg objects
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
ES2895384T3 (es) 2007-11-16 2022-02-21 Divx Llc Encabezado de fragmentos que incorpora indicadores binarios y campos de longitud variable correlacionados
US8136140B2 (en) 2007-11-20 2012-03-13 Dish Network L.L.C. Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
US8165450B2 (en) 2007-11-19 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for filtering content in a video stream using text data
US8165451B2 (en) * 2007-11-20 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for displaying information regarding interstitials of a video stream
US8606085B2 (en) * 2008-03-20 2013-12-10 Dish Network L.L.C. Method and apparatus for replacement of audio data in recorded audio/video stream
JP4327883B1 (ja) * 2008-04-28 2009-09-09 株式会社東芝 情報処理装置、情報処理方法
US8156520B2 (en) 2008-05-30 2012-04-10 EchoStar Technologies, L.L.C. Methods and apparatus for presenting substitute content in an audio/video stream using text data
US20090313674A1 (en) * 2008-06-17 2009-12-17 Ictv, Inc. PID Obfuscation
WO2010051545A1 (en) * 2008-10-31 2010-05-06 Divx, Inc. System and method for playing content on certified devices
US8411798B2 (en) * 2008-11-05 2013-04-02 Viasat, Inc. Reducing receiver power dissipation
US8588579B2 (en) * 2008-12-24 2013-11-19 Echostar Technologies L.L.C. Methods and apparatus for filtering and inserting content into a presentation stream using signature data
US8510771B2 (en) * 2008-12-24 2013-08-13 Echostar Technologies L.L.C. Methods and apparatus for filtering content from a presentation stream using signature data
US8407735B2 (en) * 2008-12-24 2013-03-26 Echostar Technologies L.L.C. Methods and apparatus for identifying segments of content in a presentation stream using signature data
US8437617B2 (en) * 2009-06-17 2013-05-07 Echostar Technologies L.L.C. Method and apparatus for modifying the presentation of content
JP4999915B2 (ja) * 2009-12-21 2012-08-15 パナソニック株式会社 Dtvデータ処理装置
US20110197224A1 (en) * 2010-02-09 2011-08-11 Echostar Global B.V. Methods and Apparatus For Selecting Advertisements For Output By A Television Receiver Based on Social Network Profile Data
US8934758B2 (en) 2010-02-09 2015-01-13 Echostar Global B.V. Methods and apparatus for presenting supplemental content in association with recorded content
CA2814070A1 (en) 2010-10-14 2012-04-19 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
WO2012138660A2 (en) 2011-04-07 2012-10-11 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US10409445B2 (en) 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
EP3005712A1 (en) 2013-06-06 2016-04-13 ActiveVideo Networks, Inc. Overlay rendering of user interface onto source video
CN105794217B (zh) 2013-12-09 2021-01-12 索尼公司 数据处理装置和数据处理方法
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
US10361814B2 (en) * 2016-06-15 2019-07-23 Friday Harbor Llc Encoding for frameless packet transmissions
US10389764B2 (en) 2016-10-18 2019-08-20 At&T Intellectual Property I, L.P. Network data source time management for data streaming processing system
WO2020130910A1 (en) * 2018-12-20 2020-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods providing encoding and/or decoding of video using a syntax indicator and picture header
TWI718889B (zh) * 2019-01-10 2021-02-11 慧榮科技股份有限公司 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
TWI690928B (zh) 2019-01-10 2020-04-11 慧榮科技股份有限公司 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
US11172269B2 (en) 2020-03-04 2021-11-09 Dish Network L.L.C. Automated commercial content shifting in a video streaming system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03141752A (ja) * 1989-10-27 1991-06-17 Hitachi Ltd 画像信号伝送方法
US5111292A (en) * 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
TW237589B (es) * 1991-02-27 1995-01-01 Gen Electric
US5289276A (en) * 1992-06-19 1994-02-22 General Electric Company Method and apparatus for conveying compressed video data over a noisy communication channel
US5497404A (en) * 1992-07-14 1996-03-05 General Instrument Corporation Transmission error recovery for digital communication systems using variable length data packets where data is stored in header locations of memory
JP3255308B2 (ja) * 1992-12-18 2002-02-12 ソニー株式会社 データ再生装置
AU672070B2 (en) * 1993-02-26 1996-09-19 Sony Corporation Synchronization of audio/video information
US5376969A (en) * 1993-11-15 1994-12-27 Rca Thomson Licensing Corporation Method and apparatus for conveying compressed video data over a noisy communication channel

Also Published As

Publication number Publication date
AU4577296A (en) 1996-09-05
BR9600831A (pt) 1997-12-30
EP0730384A2 (en) 1996-09-04
NO960789D0 (no) 1996-02-27
NO960789L (no) 1996-08-29
CA2169348C (en) 2005-09-13
CN1134646A (zh) 1996-10-30
US5517250A (en) 1996-05-14
CA2169348A1 (en) 1996-08-29
DE69633475T2 (de) 2006-02-23
KR100365384B1 (ko) 2003-03-06
AU697213B2 (en) 1998-10-01
EP0730384A3 (en) 1997-10-22
NO314480B1 (no) 2003-03-24
EP0730384B1 (en) 2004-09-29
DE69633475D1 (de) 2004-11-04
TW308775B (es) 1997-06-21
CN1110958C (zh) 2003-06-04
KR960033023A (ko) 1996-09-17
JPH0937252A (ja) 1997-02-07
JP3839089B2 (ja) 2006-11-01

Similar Documents

Publication Publication Date Title
JP3839089B2 (ja) パケット化されたデータストリームからの所望データの取り込み及び同期化方法
KR100380709B1 (ko) 디지털비디오신장프로세서및디지털비디오신장프로세서의디램을매핑하기위한방법
USRE37620E1 (en) Bandwidth efficient communication of user data in digital television data stream
KR100376207B1 (ko) 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치
AU688585B2 (en) Syntax parser for a video decompression processor
ES2257487T3 (es) Metodo para disponer datos de video comprimidos para transmision por un canal de comunicaciones con ruido.
US5686965A (en) Two-part synchronization scheme for digital video decoders
US7675876B2 (en) Transport demultiplexor with bit maskable filter
US6731657B1 (en) Multiformat transport stream demultiplexor
KR100327683B1 (ko) 이미지표시코드워드데이터스트림처리장치
KR100710393B1 (ko) 압축 스트림의 복호방법
US20040264579A1 (en) System, method, and apparatus for displaying a plurality of video streams
HK1012148B (en) Dram mapping for a digital video data decompression processor