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
Links
- 230000015654 memory Effects 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 238000001824 photoionisation detection Methods 0.000 claims description 2
- 230000006837 decompression Effects 0.000 abstract description 23
- 230000005540 biological transmission Effects 0.000 abstract description 9
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 abstract 1
- 230000033001 locomotion Effects 0.000 description 13
- 230000006978 adaptation Effects 0.000 description 10
- 239000000872 buffer Substances 0.000 description 10
- 230000008901 benefit Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000012360 testing method Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003752 polymerase chain reaction Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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.
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.
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.
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.
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)
| 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)
| 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 |
-
1995
- 1995-02-28 US US08/392,421 patent/US5517250A/en not_active Expired - Lifetime
- 1995-03-14 TW TW084102435A patent/TW308775B/zh active
-
1996
- 1996-02-12 CA CA002169348A patent/CA2169348C/en not_active Expired - Fee Related
- 1996-02-13 ES ES96102058T patent/ES2227567T3/es not_active Expired - Lifetime
- 1996-02-13 EP EP96102058A patent/EP0730384B1/en not_active Expired - Lifetime
- 1996-02-13 DE DE69633475T patent/DE69633475T2/de not_active Expired - Fee Related
- 1996-02-26 JP JP06167896A patent/JP3839089B2/ja not_active Expired - Lifetime
- 1996-02-27 AU AU45772/96A patent/AU697213B2/en not_active Ceased
- 1996-02-27 BR BR9600831A patent/BR9600831A/pt not_active IP Right Cessation
- 1996-02-27 NO NO19960789A patent/NO314480B1/no not_active IP Right Cessation
- 1996-02-28 KR KR1019960004988A patent/KR100365384B1/ko not_active Expired - Fee Related
- 1996-02-28 CN CN96102580A patent/CN1110958C/zh not_active Expired - Fee Related
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 |