ES2240128T3 - Codificacion de video. - Google Patents

Codificacion de video.

Info

Publication number
ES2240128T3
ES2240128T3 ES00949342T ES00949342T ES2240128T3 ES 2240128 T3 ES2240128 T3 ES 2240128T3 ES 00949342 T ES00949342 T ES 00949342T ES 00949342 T ES00949342 T ES 00949342T ES 2240128 T3 ES2240128 T3 ES 2240128T3
Authority
ES
Spain
Prior art keywords
frame
data
image
image header
header data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES00949342T
Other languages
English (en)
Inventor
Miska Hannuksela
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Inc
Original Assignee
Nokia Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=10857513&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2240128(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nokia Inc filed Critical Nokia Inc
Application granted granted Critical
Publication of ES2240128T3 publication Critical patent/ES2240128T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/46—Embedding additional information in the video signal during the compression process
    • 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
    • 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)
  • Color Television Systems (AREA)
  • Glass Compositions (AREA)
  • Television Systems (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

Método para codificar una señal de vídeo codificada por compresión, incluyendo dicho método: - recibir datos codificados por compresión que representan una primera trama de una señal de vídeo; - analizar los datos codificados por compresión que representan la primera trama para detectar los datos de cabecera de imagen (80) y los datos de imagen (82, 84); caracterizado porque cuando se detecta un error en los datos de cabecera de imagen (80) de la primera trama, los datos de imagen (82, 84) de la primera trama son almacenados en una memoria temporal de datos de imagen (228), recibir datos codificados por compresión siguientes a la primera trama, la detección de una repetición de los datos de cabecera de imagen 80 de la primera trama a partir del contenido de los datos por compresión siguientes a la primera trama y la decodificación de los datos de imagen almacenadas (82, 84) de la primera trama, utilizando los datos repetidos de cabecera de imagen (80) recibidos en los datos codificados porcompresión siguientes a la primera trama.

Description

Codificación de vídeo.
La presente invención hace referencia a la codificación y decodificación de vídeo.
Uno de los recientes objetivos de las telecomunicaciones móviles ha sido aumentar la velocidad de transmisión de datos, a fin de permitir la incorporación de servicios multimedia en las redes móviles. Uno de los componentes clave de los servicios multimedia es el vídeo digital. La transmisión de vídeo incluye un tráfico de datos bastante continuo, que representa imágenes en movimiento. Como es del dominio público, la cantidad de datos necesarios para transferir imágenes es elevada comparado con muchos otros tipos soportes, y hasta ahora, la utilización de vídeo en terminales con una baja tasa de transferencia de bits ha sido, prácticamente mínimo. No obstante, se han conseguido importantes avances en el ámbito de la compresión de vídeo con una baja tasa de transferencia de bits. Puede obtenerse un vídeo de calidad aceptable con unas tasas de transferencia de bits de aproximadamente 20 Kb por segundo. Como resultado de esta reducción progresiva en la tasa de transferencia de bits, el vídeo constituirá un servicio viable que podrá ofrecerse en canales como los canales de comunicación móvil.
Una secuencia de vídeo consiste en una serie de imágenes o tramas fijas. Los métodos para la compresión de vídeo se basan en reducir la redundancia y los componentes irrelevantes, desde el punto de vista de la percepción, de las secuencias de vídeo. La redundancia en las secuencias de vídeo puede dividirse en categorías, como redundancia espacial, temporal y espectral. Redundancia espacial significa la correlación entre pixels adyacentes situados en el interior de una trama. Redundancia temporal significa la correlación entre áreas de tramas sucesivas. La redundancia temporal surge de la posibilidad de que objetos que aparecen en una imagen previa aparezcan también en la imagen actual. La compresión puede lograrse generando unos datos de compensación de movimiento que describen el movimiento (es decir, el desplazamiento) entre áreas similares de la imagen actual y de una imagen previa. Por tanto, la imagen actual se predice de este modo a partir de la imagen anterior. Redundancia espectral significa la correlación entre los mismos componentes de color de la misma imagen.
Los métodos de compresión de vídeo suelen establecer una diferencia entre las imágenes que utilizan o no utilizan una reducción de la redundancia temporal. Las imágenes comprimidas que no utilizan métodos para reducir la redundancia temporal se denominan normalmente tramas INTRA o I-, mientras que las imágenes que se han predicho temporalmente se denominan tramas INTER o P- (y también tramas B- cuando las tramas INTER pueden predecirse con antelación o con posterioridad. En el caso de tramas INTER, la imagen predicha (compensada en movimiento) es rara vez lo suficientemente precisa, y por tanto, uno de los componentes de cada trama INTER es también una imagen de error de predicción comprimida espacialmente.
No obstante, no es posible lograr normalmente una compresión suficiente con tan sólo reducir la redundancia de la secuencia de vídeo. De este modo, los codificadores de vídeo tratan de reducir la calidad de aquellos componentes de la secuencia de vídeo que son subjetivamente menos importantes. Además, la redundancia del flujo de bits codificados se reduce mediante una codificación eficaz sin pérdidas de parámetros y coeficientes de compresión. La técnica principal consiste en utilizar códigos de longitud variable.
Un vídeo comprimido puede corromperse fácilmente mediante errores de transmisión, debido principalmente a dos razones. En primer lugar, debido a la utilización de una codificación diferencial predictiva temporal (tramas INTER), un error se propaga tanto en el espacio como temporalmente. El ojo humano puede apreciarlo fácilmente durante un período de tiempo relativamente largo. Las transmisiones a unas tasas bajas de transferencia de bits en las que hay únicamente unas pocas tramas con codificación INTRA son especialmente susceptibles a ello (la transmisión de unas tramas con codificación INTRA pondría fin a la propagación temporal de error). En segundo lugar, el uso de unos códigos de longitud variable aumenta la susceptibilidad a error. Cuando un error de bits altera una palabra de código convirtiéndola en otra de una longitud diferente, el decodificador pierde la sincronización de la palabra de código y también decodifica incorrectamente las palabras de código posteriores exentas de error (que incluyen varios bits) hasta la siguiente sincronización o código de inicio (un código de sincronización es un patrón de bits que no puede generarse a partir de cualquier combinación legal de otras palabras de código).
Una de las características inherentes a la transmisión inalámbrica de datos es una probabilidad de error de bits relativamente alta. Este problema puede abordarse mediante diversos esquemas de retransmisión de las capas de transporte, red y enlace. Sin embargo, la desventaja de dichos esquemas es la posibilidad de demoras ilimitadas y fluctuantes en la transmisión. En servicios audiovisuales conversacionales es inaceptable tener grandes demoras entre un extremo y otro. Por tanto, los esquemas de retransmisión no pueden utilizarse en dichos servicios. En su lugar hay que tratar de detectar y ocultar los errores de transmisión. En servicios de recuperación audiovisual de flujo de bits (streaming), la demora en la transmisión puede variar en cierta medida debido al hecho de que se produce algún almacenamiento temporal inicial antes del comienzo de la reproducción. Sin embargo, se fija la máxima demora aceptable en la transmisión, y si se excede, se producirá una pausa molesta en la reproducción. En la práctica, ambos canales de transporte fiables y no fiables se utilizan en los servicios de recuperación.
No todos los bits de una cadena de flujo de bits de vídeo comprimido tienen la misma importancia para las imágenes descomprimidas. Algunos bits definen información vital, como tipo de imagen (por ejemplo, INTRA o INTER), valor de cuantificación y modos opcionales de codificación que se han utilizado. La recomendación ITU-T H. 263 se refiere a codificar vídeo para comunicaciones con una baja tasa de transferencia de bits. En la H. 263, la información más importante se recopila en la cabecera de imagen. Un error de transmisión en la cabecera de imagen causa normalmente una interpretación totalmente errónea de los bits posteriores que definen el contenido de la imagen. Debido a la utilización de una codificación diferencial predictiva temporal (tramas INTER), el error se propaga tanto espacial como temporalmente. De este modo, un método normal para abordar la corrupción de la cabecera de imagen consiste en congelar la imagen anterior en la pantalla, enviar una solicitud de imagen INTRA al terminal transmisor y esperar la llegada de la trama INTRA solicitado. Esto puede causar una molesta pausa en el vídeo recibido, especialmente en secuencias de vídeo conversacionales en tiempo real.
Los errores en la transmisión tienen una naturaleza diferente en función de la red subyacente. En las redes conmutadas por paquetes, como Internet, etc., los errores de transmisión consisten normalmente en pérdidas de paquetes, debido a la congestión en los elementos de la red. En las redes conmutadas por circuito, como redes móviles (por ejemplo, HSCSD para GSM) los errores de transmisión consisten normalmente en errores de bits, donde un "1" se corrompe por un "0" o viceversa.
A fin de impedir la degradación de las imágenes provocada por errores de transmisión, pueden utilizarse retransmisiones, pueden aplicarse métodos para la detección y corrección de errores y/o pueden ocultarse los defectos de los datos corruptos recibidos. Normalmente, la retransmisión facilita una forma razonable para proteger los flujos de bits de datos de vídeo frente a errores, pero los grandes retardos de ida y vuelta asociados a la transmisión a una baja tasa de transferencia de bits y unas tasas de errores moderadas o altas hacen que resulte prácticamente imposible utilizar la retransmisión, especialmente en aplicaciones de videoteléfono en tiempo real. Los métodos de detección y corrección de error requieren normalmente grandes cabeceras de transmisión, dado que añaden alguna redundancia a los datos. Por tanto, en el caso de aplicaciones con una baja tasa de transferencia de bits, la ocultación de errores puede considerarse como la forma preferida para proteger y recuperar imágenes a partir de los errores de transmisión. Los métodos de ocultación de errores de vídeo pueden aplicarse normalmente a los errores de transmisión que se producen por pérdida de paquetes y corrupción de bits.
La H. 263 es una recomendación de ITU-T de codificación de vídeo para comunicaciones con baja tasa de transferencia de bits, lo que en general significa unas tasas de transferencia de datos por debajo de los 64 Kbps. La recomendación especifica la sintaxis del flujo de bits y su decodificación. Actualmente existen dos versiones de H. 263. La versión 1 consiste en el algoritmo básico y cuatro modos opcionales de codificación. La versión 2 del H. 263 es una ampliación de la versión 1, que facilita doce nuevos modos de codificación negociables. La H. 263 es actualmente uno de los métodos de codificación preferidos propuestos para aplicaciones inalámbricas móviles, en las que la tasa de transferencia de bits es del orden de 28,8 bits por segundo, y normalmente se utilizan imágenes en el formato QCIF (Quarter Common Intermediate Format) de 176 x 144 pixels. Actualmente, las tasas de transferencia de bits esperadas para productos inalámbricos de la tercera generación son aproximadamente de 64 Kbps, y la resolución de la imagen puede ser superior.
Las imágenes se codifican como luminancia (Y) y dos componentes (C_{B} y C_{R}) de diferencia de color (crominancia). Las imágenes de crominancia se muestrean a la mitad de la resolución de la imagen de luminancia a lo largo de ambos ejes de coordenadas. Los datos de la imagen se codifican bloque a bloque, representando cada bloque 8 x 8 pixels de luminancia o crominancia.
Cada imagen codificada, así como el correspondiente flujo de bits codificados, está organizada en una estructura jerárquica con cuatro capas, que son, por orden ascendente, capa de bloque, capa de macro-bloque, capa de segmento de imagen y capa de imagen. La capa del segmento de imagen puede estar organizada, bien como un grupo de bloques o como una porción.
Un bloque se refiere a 8 x 8 pixels de luminancia o crominancia. Los datos de la capa de bloques consisten en coeficientes de transformación de coseno discreto uniformemente cuantificado, que se exploran en zig-zag, se procesan con un codificador de longitud de recorrido y se codifican con códigos de longitud variable.
Cada macro-bloque se refiere a 16 x 16 pixels de luminancia, y a los pixels 8 x 8 espacialmente correspondientes de los dos componentes de crominancia. En otras palabras, un macro-bloque consiste en cuatro bloques de luminancia 8 x 8, y los dos bloques de diferencia de color 8 x 8 correspondientes espacialmente. Cada macro-bloque INTER está asociado a un vector de movimiento que define la posición de un área correspondiente en la trama de referencia que se asemeja a los pixels del macro-bloque INTER actual. Los datos del macro-bloque INTER incluyen datos de error de predicción codificados para los pixels del macro-bloque.
Normalmente, cada imagen se divide en segmentos conocidos como grupos de bloques (GOBs). Un grupo de bloques (GOB) para una imagen QCIF (Quarter Common Intermediate Format) incluye normalmente una fila de macro-bloques (por ejemplo, 11 macro-bloques). Los datos para cada GOB consisten en una cabecera opcional GOB seguida por datos para los macro-bloques dentro del GOB. Si se utiliza el modo estructurado de porción opcional, cada imagen se divide en porciones en vez de en GOBs.
Si se utiliza un modo opcional estructurado en porciones, cada imagen se divide en porciones en lugar de en GOBs. Una porción incluye una serie de macro-bloques consecutivos por orden de exploración. Los datos para cada porción consisten en una cabecera de porción seguido de datos para los macro-bloques de la porción.
Los datos de la capa de imagen contienen parámetros que afectan a toda el área de la imagen y a la decodificación de los datos de la imagen. Los datos del parámetro codificados se organizan en la denominada cabecera de imagen. En formato QCIF, una imagen se divide en 176 x 144 pixels, que corresponden a 8 filas de 11 macro-bloques.
Las cabeceras de imagen y GOB (o porción) comienzan con un código de sincronización o inicio. Ninguna otra palabra de código o combinación legal de palabras de código puede formar el mismo patrón de bits que los códigos de sincronización. Por tanto, los códigos de sincronización pueden utilizarse para la detección de errores en el flujo de bits y para re-sincronizar posteriormente los errores de bits.
La H. 263 es la norma de compresión de vídeo utilizada en la recomendación ITU-T H. 324 ("Terminal for Low Bit-Rate Communication" [Terminal para comunicación con tasa binara baja]) de febrero de 1998, que define la comunicación por videoteléfono a través de redes PSTN y móviles. Cuando se efectúa una conexión H. 324 a través de un canal inalámbrico, es posible que el flujo de bits recibidos incluya errores de transmisión. En un flujo de bits de vídeo H. 263, estos errores son extremadamente perjudiciales si se producen en las cabeceras de imagen. Un error de este tipo puede impedir la decodificación de los contenidos de la imagen. Los errores en las cabeceras de imagen INTRA causan las implicaciones más graves, dado que estas imágenes se utilizan como fuentes iniciales de predicción temporal. Los errores en una cabecera de imagen INTRA afectan perjudicialmente a la correspondiente imagen INTRA decodificada, y a cada imagen posterior inicialmente predicha a partir de esta imagen INTRA.
La patente europea EP 0844792 A2, titulada: "Método para disposición de datos de vídeo comprimidos para transmisión a través de un canal de comunicación con ruido" muestra un sistema de transmisión de señal de vídeo digital comprimido que incluye un procesador de transporte para segmentar los datos ya comprimidos en células de transporte para transmisión. Unas porciones específicas de los datos comprimidos se formatean en células de transporte adicionales, que están intercaladas entre las células de transporte ordinarias. Las células de transporte adicionales incluyen datos redundantes de señal de vídeo que pueden utilizarse para volver a sincronizar un decodificador de señal de vídeo comprimida con posterioridad a la pérdida o corrupción de los datos transmitidos. El documento no informa ni sugiere que debería facilitarse una duplicación de datos de cabecera durante la generación de la señal codificada por compresión a fin de facilitar un flujo de bits de vídeo codificados por compresión que, inherentemente, es resistente a error.
De acuerdo con la invención, se facilita un método de codificación y decodificación de vídeo según se reivindica en las reivindicaciones adjuntas. También se facilita un codificador y un decodificador según se reivindica en las reivindicaciones adjuntas.
Una primera realización de la invención presenta un método novedoso para repetir las cabeceras de imagen INTRA en flujos de bits de vídeo, con lo cual se cumple plenamente la recomendación ITU-T H. 263. La invención presenta copias redundantes de cabeceras de imagen en el flujo de bits. Si la cabecera principal de la imagen está corrompida, un codificador puede utilizar una copia de este para permitir la decodificación de los contenidos de la imagen. Esta invención introduce un método de repetición de cabeceras de imágenes INTRA que utiliza una sintaxis estándar y semánticas de H. 263. Por tanto, todos los decodificadores que cumplen la norma pueden utilizar el método.
La inclusión de una repetición de la cabecera de imagen al menos para tramas INTRA significa que un decodificador receptor no tiene que congelar necesariamente la visualización, enviar una solicitud de repetición al codificador y esperar a que el codificador envíe la información repetida. De este modo se evitan estas molestas pausas debidas a la congelación de la imagen, y un usuario final debería percibir un vídeo de mejor calidad.
La invención puede aplicarse a aplicaciones en tiempo real y también en aplicaciones no en tiempo real, como servicios de recuperación de imágenes que pueden no ser capaces de responder a solicitudes de repetición INTRA enviadas por un decodificador
receptor.
Los aspectos de la invención se facilitan en las reivindicaciones.
La invención se describirá ahora a título de ejemplo únicamente, haciendo referencia a las figuras adjuntas, en las cuales:
La Figura 1 muestra un sistema de comunicación móvil multimedia.
La Figura 2 muestra un ejemplo de lo componentes multimedia de un terminal multimedia.
La Figura 3 muestra una estructura típica de datos de una señal de vídeo codificada de acuerdo con H. 263.
La Figura 4 muestra un ejemplo de un codificador-decodificador (codec) de vídeo de acuerdo con la invención.
La Figura 5 muestra la estructura de datos de una salida de señal de vídeo codificada por un codificador de acuerdo con la primera realización de la invención.
La Figura 6 muestra la estructura de datos de una salida de señal de vídeo codificada por un codificador de acuerdo con la segunda realización de la invención.
La Figura 7 es un organigrama que muestra el funcionamiento de un codificador de vídeo de acuerdo con una tercera realización de la invención.
La Figura 8 es un organigrama que muestra el funcionamiento de un decodificador de vídeo de acuerdo con una primera realización de la invención.
La Figura 9 es un organigrama que muestra el funcionamiento de un decodificador de vídeo de acuerdo con una tercera realización de la invención.
Con referencia a las recomendaciones H. 324 y H. 263 se efectuará una descripción adicional de la invención. No obstante, la intención no consiste en limitar la aplicación de la invención a estos o a otros protocolos asociados.
La Figura 1 muestra un sistema típico de comunicación móvil multimedia. Un primer terminal multimedia 1 se comunica con un segundo terminal multimedia 2 a través de un enlace de comunicaciones 3 y una red de comunicaciones 4. Los datos de control se envían entre los dos terminales 1, 2, así como los datos multimedia. En las realizaciones de la invención que van a describirse, los terminales multimedia 1, 2 son videoteléfonos móviles / inalámbricos, y la red de comunicaciones es una red de comunicación móvil, como una red GSM. El enlace de comunicaciones 3, en esta realización, es un enlace de radio. En otras realizaciones de la invención, los terminales multimedia pueden ser videoteléfonos de la Red telefónica pública conmutada (PSTN) o uno puede ser un terminal multimedia móvil y otro un terminal multimedia PSTN. Los terminales 1, 2 pueden utilizarse para aplicaciones en tiempo real, como videotelefonía, o para aplicaciones no en tiempo real, como servicios de recuperación de datos.
La Figura 2 muestra los componentes típicos multimedia de un terminal 1 que se ajusta al H. 324. El terminal incluye un codec (codificador-decodificador) de vídeo 10 que se ajusta a H. 263, un codec de audio 20 que se ajusta a G. 723.1, un gestor de protocolo de datos 30 que se ajusta a T. 120, un gestor de control 40 que da salida a la señal de acuerdo con el protocolo de control H. 245, un multiplexor / demultiplexor 50 que se ajusta a H. 223 y un módem 60 (si fuese necesario). El codec de vídeo 10 recibe señales de un dispositivo de captura de vídeo del terminal (por ejemplo, una cámara, (no mostrada)) para codificación y recibe señales de un terminal remoto 2 para decodificación y presentación por el terminal 1 en una pantalla 70. El codec de audio 20 recibe señales para codificación del micrófono (no mostrado) del terminal 1 y recibe señales de un terminal remoto 2 para decodificación y reproducción mediante un altavoz (no mostrado) del terminal 1. Estas normas a las que se ha hecho referencia anteriormente se describen únicamente a modo de ejemplo, y no pretenden ser limitativas.
El gestor de control 40 controla el funcionamiento del codec de vídeo 10, del codec de audio 20, del gestor de protocolo de datos 30 y del multiplexor / demultiplexor 50. No obstante, dado que la invención se refiere al funcionamiento del codec de vídeo 10, no se facilitarán más comentarios sobre los demás componentes del terminal.
El codec de vídeo 10 recibe una señal digital de vídeo de entrada procedente de un fuente de señales (no mostrada). La señal de vídeo representa una secuencia de tramas en los que cada trama es una imagen fija. Cuando se visualiza como una secuencia, las tramas dan la impresión de una imagen en movimiento. Por tanto, en el presente documento se hará referencia a la secuencia de tramas como a una imagen en movimiento. El codec 10 codifica la imagen en movimiento de la fuente de señal (no mostrada) y decodifica una señal recibida que representa una imagen en movimiento para presentación en la pantalla
70.
La Figura 3 muestra la estructura de datos para una trama (o imagen) de una señal de vídeo codificada de acuerdo con H. 263. Cada trama comienza con una cabecera de imagen 80, normalmente de alrededor de 50 bits. La cabecera de imagen 80 incluye:
Un Código de inicio de imagen (PSC) para sincronización;
Una referencia temporal (TR) generada aumentando el valor de TR en la cabecera de imagen de referencia temporalmente anterior (por ejemplo, trama I) en uno más el número de imágenes saltadas o no referenciadas desde la imagen de referencia transmitida anteriormente.
Información sobre el tipo (PTYPE) que indica, entre otras cosas, si la trama es una trama INTRA o una trama INTER; el formato de la imagen (CIF, QCIF, etc.); e
Información del cuantificador (PQUANT) que indica el cuantificador DCT a utilizar para el resto de la imagen.
Después de la cabecera de imagen 80 se encuentran los datos de imagen 82 para el primer segmento (GOB, porción, etc.) de la imagen. Debido a la presencia de la cabecera de imagen 80, no es necesario una cabecera de segmento para el primer segmento. De este modo, los datos de imagen 82 posteriores a la cabecera de imagen 80 incluyen un vector de movimiento macro-bloque 821 (sí fuese de aplicación) y datos de bloques 822.
Después de los datos 82 correspondientes al primer segmento de imagen se encuentra una cabecera de segmento 84 (por ejemplo, cabecera GOB) para el siguiente segmento. Este cabecera GOB incluye:
Un código de inicio GOB (GBSC) para sincronización;
Un número de grupo (GN) que indica el número del GOB en la imagen;
Identificación de la trama GOB (GFID) que tiene el mismo valor en cada segmento de una imagen determinada y el mismo valor que la imagen previamente codificada, cuando las dos imágenes son del mismo tipo (I, P, etc.); e
Información del cuantificador (GQUANT) que indica el cuantificador a utilizar para el resto de la imagen, (a menos que se hubiese cambiado posteriormente en el flujo de bits).
La cabecera del segmento 84 correspondiente al segundo segmento va seguido de los datos de la imagen 86 (por ejemplo, vector de movimiento de macro-bloques (si fuese de aplicación) y datos de bloques) para dicho segmento. Los datos de la trama continúan con las cabeceras de segmento 84 y los datos de la imagen 86 hasta que toda la trama ha sido codificada. Seguidamente se envía una cabecera de imagen 80 para la siguiente trama.
Será evidente para el lector que la pérdida de una cabecera de imagen puede afectar gravemente a la decodificación de una imagen. El decodificador no será capaz de sincronizarse con la imagen, no sabrá cómo se ha codificado la imagen (I o P), etc. Convencionalmente, cuando la cabecera de imagen está corrupta se descartan todos los datos y se envía una solicitud para una actualización de la imagen INTRA al dispositivo de transmisión. En respuesta, el dispositivo de transmisión codifica una trama en modo INTRA y la imagen actual se congela en la pantalla hasta tanto se reciban y decodifiquen estos nuevos datos INTRA codificados.
La Figura 4 muestra un ejemplo de un codec de vídeo 10 de acuerdo con la invención. El codec de vídeo incluye un componente codificador 100 y un componente decodificador 200.
Considerando que el terminal 1 transmite datos de vídeo codificados al terminal 2, a continuación se describirá el funcionamiento del codec de vídeo 10 haciendo referencia a su función de codificación. El componente codificador 100 incluye una entrada 101 para recibir una señal de vídeo de una cámara o de una fuente de vídeo (no mostrada) del terminal 1. Un conmutador 102 conmuta el codificador entre los modos de codificación INTRA e INTER.
En el modo INTRA, la señal de vídeo procedente de la entrada 101 entra directamente a un transformador DCT 103 que transforma los datos de pixels en coeficientes DCT. Los coeficientes DCT se pasan seguidamente a un cuantificador 104 que cuantifica los coeficientes. Tanto el conmutador 102 como el cuantificador 104 están controlados por un gestor de control de codificación 105 del codec de vídeo que recibe también el control de realimentación desde el terminal receptor 2 mediante el gestor de control H. 245 40. La salida de datos desde el cuantificador 104 se pasa a través de un cuantificador inverso 108 y un transformador DCT inverso 109. Los datos resultantes se añaden a los contenidos de una memoria de imagen 107 mediante el dispositivo de adición 110. En modo INTRA, el conmutador 115 está abierto de forma que los contenidos de la memoria de imagen 107 se sobrescriban mediante la salida del transformador DCT inverso 109.
En modo INTER, el conmutador 102 funciona de forma que acepte de un dispositivo de sustracción 106 la diferencia entre la señal desde la entrada 101 de una imagen anterior que se encuentra almacenada en la memoria de imagen 107. La salida de datos de diferencia desde el dispositivo de sustracción 106 representa el error de predicción entre la imagen actual y la imagen anterior almacenada en la memoria de imagen 107. El error de predicción se transforma y cuantifica mediante DCT. Los datos de la memoria de imagen 107 se actualizan entonces pasando la salida de datos por el cuantificador 104 a través del cuantificador inverso 10 y el transformador DCT inverso 109 y añadiendo los datos resultantes a los contenidos de la memoria de imagen 107 mediante el dispositivo de adición 110, estando el conmutador 115 cerrado. Un estimador de movimiento 111 puede generar datos de compensación de movimiento a partir de los datos de la memoria de imagen 107, de forma convencional.
El codificador de vídeo 100 produce información de cabecera (por ejemplo, un indicador de referencia temporal TR 112a para indicar el número de trama que se está codificando, un indicador INTRA / INTER 112b para indicar el modo de codificación realizado (I o P/B), un índice de cuantificación 112c (es decir, los detalles del cuantificador utilizado), los coeficientes DCT cuantificados 112d y los vectores de movimiento 112e para la imagen que se está codificando. Estos se codifican y multiplexan conjuntamente mediante un codificador de longitud variable (VLC) 113. La salida del codificador se multiplexa entonces con otras señales mediante el multiplexor 50.
En una primera realización de la invención, el codificador está configurado para enviar repeticiones de la cabecera de imagen después de cada trama INTRA. Por tanto, se facilita una memoria de datos 114 para almacenar temporalmente los datos a repetir. En la primera realización, para cada trama INTRA, la cabecera de imagen 80 y el primer segmento de datos 82 se repiten para su transmisión a un decodificador receptor. De este modo, el decodificador transmite datos en la forma en que se muestra en la figura 5.
Según se puede apreciar en la Figura 5, la señal codificada empieza con los datos para la primera imagen 510 de la señal de vídeo. Este trama tiene codificación INTRA. Los datos incluyen la cabecera de imagen 80, los datos del primer segmento 82 y las cabeceras 84 y datos 86 para segmentos posteriores de la primera imagen. La cabecera de imagen 80 y los datos 82 para el primer segmento de la primera imagen 510 se repiten entonces como datos 512, teniendo la cabecera de imagen repetida la misma referencia temporal TR que la trama original. Estos datos repetidos van seguidos de datos para posteriores tramas con codificación INTER 520, 522, 524. Cuando se codifica el siguiente trama INTRA, los datos 510' para la trama van seguidos por una repetición 512' de la cabecera de imagen 80 y los primeros datos del segmento 82 para la trama INTRA 510'.
Esta configuración conduce a una sobrecarga de aproximadamente 227 octetos por trama INTRA para una conexión de 28,8 Kbps y una imagen QCIF.
El decodificador receptor recibirá por tanto un duplicado de la información de cabecera. En estas circunstancias, el decodificador está configurado para funcionar según se describe en el Anexo N de H. 263 haciendo referencia al modo "Reference Picture Selection [Selección de Imagen de Referencia]" (RPS). De acuerdo con el Anexo N de H. 263, si un decodificador recibe dos o más cabeceras de imagen que tengan la misma Referencia Temporal (TR), la segunda cabecera de imagen y las posteriores, así como sus datos asociados, son ignoradas por el decodificador. De este modo, si un decodificador receptor consigue decodificar correctamente la primera aparición de la cabecera de imagen (y por tanto, leer la TR de esta cabecera), el decodificador ignorará la repetición de la cabecera de imagen. Así, un codificador de acuerdo con la primera realización de la invención podrá funcionar con un decodificador convencional, aunque dicha configuración no aporte ventajas a la invención. No obstante, se facilita compatibilidad.
En la primera realización descrita anteriormente, los datos repetidos se refieren a una parte incompleta de una trama, y en particular, a la cabecera de imagen y a los datos para el primer segmento de imagen. Por tanto, un decodificador de acuerdo con la invención detecta la presencia de datos repetidos para detectar que se han recibido los datos para una trama incompleta, y utiliza los datos almacenados para completar la trama.
En una segunda realización de un codificador de acuerdo con la invención, se añaden tramas de vídeo redundantes al flujo de bits codificados. Dicha trama redundante no se utiliza para aportar cualquier información adicional a la secuencia de vídeo transmitida. En su lugar, la trama redundante se utiliza para repetir la cabecera de imagen de una imagen previa. Las tramas redundantes se añaden al flujo de bits de vídeo mediante un codificador de acuerdo con la invención. La presencia de una trama redundante viene explícitamente marcada para un decodificador, o el decodificador podrá usar las características implícitas de las tramas redundantes para detectar la presencia de una trama redundante de este tipo.
La Figura 6 muestra la estructura de tramas de una salida de señal de un codificador de acuerdo con la segunda realización de la invención. El codificador está configurado para generar y enviar una trama redundante 612 después de cada trama INTRA 610. De acuerdo con H 263, imágenes consecutivas comprimidas no pueden representar la misma imagen descomprimida, a menos que se seleccione el modo "Reference Picture Selection" (RPS) (Anexo N). La segunda realización de la invención no se basa en que se seleccione el modo RPS. En este caso, la cabecera de imagen se almacena únicamente en la memoria de datos 114. Bajo la supervisión del control 105 la cabecera de imagen original 80 se altera de forma que la nueva cabecera de imagen 80' sea la misma que la correspondiente a la trama INTRA 610, excepto que el tipo de codificación de imagen en el campo PTYPE se cambia de I a P y el campo TR se incrementa. El control 105 también establece un campo 88 que indica que no se han producido cambios en los datos para toda la trama. En H. 263 este campo incluye un indicador "Coded Macroblock Indication [Indicación de Macro-Bloque Codificado]" (COD) que se configura en relación con un macro-bloque con codificación INTER y, cuando se configura, indica que no se enviará información adicional para el macro-bloque (es decir, sin cambios). Tramas INTER posteriores 620, 622, 624, codificados en la misma forma que las tramas 520, 522, 524 mostradas en la Figura 5 se transmiten hasta la siguiente trama INTRA
610'.
De acuerdo con otra realización de la invención, las tramas redundantes se incluyen después de las tramas INTER y de las tramas INTRA.
La trama redundante de datos repetidos 612 incluye una cabecera de imagen 80' de alrededor de 50 bits, 99 COD bits (uno para cada uno de los 99 macro-bloques que se encuentran dentro de una imagen QCIF) y algunos bits de relleno para alcanzar un número entero de bits para una trama completa. En conjunto, una trama redundante de este tipo consiste normalmente en 19 bits y de este modo añade aproximadamente un 8% de sobrecarga al flujo de datos para una conexión H.263 de 28,8 Kbps y una imagen QCIF. Este valor de sobrecarga se aplica únicamente cuando cada trama INTRA y cada trama INTER está asociada a una trama redundante. Evidentemente, la sobrecarga puede reducirse si se codifica una trama redundante después de cada trama INTRA únicamente.
Según se describe haciendo referencia a las Figuras 5 y 6, la cabecera de imagen repetida para una trama se facilita después de los datos originales para la trama de una imagen y antes que los datos para la siguiente trama.
A continuación se describirá una tercera realización del codificador. Esta realización está basada en una nueva adición al campo Información de Mejora Complementaria (Supplemental Enhancement Information) (Anexo L) de H. 263. La adición permite la repetición de ciertos campos de capa de imagen de la imagen previa en los campos de información de mejora complementaria de la imagen actual. (Los campos de capa de imagen no se repiten en la misma imagen, ya que corren el peligro de corromperse al mismo tiempo que los propios datos de la capa de imagen).
La inclusión de la Información de Mejora Complementaria en una cabecera e imagen se indica, de acuerdo con H. 263 mediante un indicador PEI. Si se configura la PEI, esto indica que la información complementaria viene a continuación en un campo de 8 bits PSUPP. Una PEI adicional indica que sigue un campo PSUPP con información adicional, y así sucesivamente.
Los decodificadores que no soportan las capacidades ampliadas descritas en el Anexo L están diseñados para descartar PSUPP si la PEI está configurada en 1. Esto permite una compatibilidad retroactiva para las capacidades ampliadas del Anexo L de forma que un flujo de datos que utilice las capacidades ampliadas pueda ser utilizado también sin alteraciones por decodificadores que no soporten dichas capacidades.
El Anexo L de H. 263 describe el formato de la Información de Mejora Complementaria enviada en el campo PSUPP de la capa de imagen de esta Recomendación. La presencia de esta información de mejora complementaria se indica en la PEI, y se inserta un bit adicional PEI entre cada octeto de los datos PSUPP.
Los datos PSUPP consisten en una indicación de cuatro bits del tipo de función FTYPE, seguida de una especificación de 4 bits del tamaño de datos del parámetro DSIZE, seguida de octetos DSIZE de los datos del parámetro de función, opcionalmente seguida por otra indicación del tipo de función, y así sucesivamente. Un decodificador que reciba una indicación del tipo de función que no soporte puede descartar los datos del parámetro de función para dicha función, y después comprobar una indicación del tipo de función posterior que puede ser soportada. Los valores FTYPE que se han definido se muestran en la Tabla L1 de H. 263. Esta realización de la invención requeriría algunos cambios en el Anexo L de H. 263. Estos cambios son:
1.
La definición de una nueva indicación del tipo de función (FTYPE) en la Tabla L.1 de H. 263, por ejemplo, Entrada 13 - Repetición de los datos de la capa de imagen; y
2.
La inclusión en el Anexo L de una explicación del efecto de este código FTYPE, por ejemplo:
La función de Repetición de Datos de Capa de Imagen se utilizará para repetir ciertos campos de la representación codificada de los datos de la capa de imagen de la imagen anterior. Los campos repetidos aparecerán en un orden sintáctico natural, empezando en el campo referencia temporal (TR). En otras palabras, si los bits de la PEI se retirasen de los datos repetidos de la capa de imagen, el flujo de bits de la repetición sería exactamente el mismo que el flujo de bits original en la posición correspondiente. El campo DSIZE de la SEI indica el número de octetos repetidos. Un DSIZE igual a cero se reserva para uso futuro. La información de la cabecera de imagen sigue al octeto FTYPE / DSIZE.
Este método propuesto introduce un retardo considerable comparado con las anteriores realizaciones cuando se recupera una cabecera de imagen corrupta, dado que la recuperación no puede efectuarse hasta tanto se reciba el comienzo de la siguiente imagen. No obstante, considerando que el funcionamiento de un decodificador es más rápido que la transmisión de datos de vídeo en tiempo real, al menos para tasas bajas de transferencia de tramas, es posible que el decodificador pueda recuperar el tiempo utilizado para esperar la llegada de la siguiente imagen.
Una forma posible de llevar a cabo un codificador de acuerdo con la tercera realización se presenta en el organigrama que se muestra en la Figura 7. En relación con esta realización, Cabecera de Imagen hace referencia a los datos de capa de imagen que preceden a la información de mejora complementaria en la sintaxis del flujo de bits.
La señal no comprimida se introduce en el codificador (700) a una determinada tasa de transferencia de tramas. Un algoritmo de control de la tasa de bits decide si codificar o saltarse una trama en particular (702). Si se va a codificar una trama, la cabecera de imagen se codifica primero (704). La cabecera de imagen se almacena también (708) en la memoria de datos 114. En un determinado momento, sólo se necesitan un máximo de tres cabeceras de imagen, específicamente la cabecera de imagen actual y las cabeceras de las dos imágenes previas codificadas. El codificador determina (706) si el GFID va a cambiar en esta imagen (comparado con la imagen anterior) basándose en las cabeceras de imagen de la imagen actual y de las previas. Si el GFID de la imagen previa difiere también del GFID de la imagen anterior a esa (710) será necesario repetir la cabecera de imagen de la imagen previa como información de mejora complementaria. De lo contrario, el receptor podrá recuperar la cabecera de imagen de la imagen previa (712) utilizando el GFID bien de la imagen actual o de la imagen que antecede a la imagen previa. Finalmente, el resto de la imagen se codifica (714). Después, el bucle de codificación continúa desde el principio (700).
La cabecera de imagen repetida puede repetirse sin el PSC. Alternativamente, la cabecera podría manipularse mediante un código sistemático de corrección de error. Un código sistemático de corrección de error es tal que los primeros símbolos k son el mensaje real, y el resto de los símbolos se utilizan para comprobar errores. En este caso en particular, los primeros bits k son la cabecera de imagen, y el resto de los bits se transmiten como información de mejora complementaria en la siguiente trama. En consecuencia, la selección del código de corrección de error afecta a cuántos errores de inversión de bit pueden detectarse y corregirse, y cuántos bits suplementarios son necesarios para esta protección frente a error.
En las realizaciones del codificador 100 descritas anteriormente, el codificador ha sido preprogramado para enviar las repeticiones de cabecera de imagen. No obstante, el codificador 100 puede configurarse adicionalmente para repetir o actualizar los datos de imagen en respuesta a un comando de un codificador.
Adicional o alternativamente, el codificador puede configurarse para enviar una cabecera de imagen repetida cada vez que el parámetro GFID cambie de estado.
Considerando que el terminal 1 recibe datos de vídeo codificados desde el terminal 2, el funcionamiento del codec de vídeo 10 de acuerdo con la invención se describirá a continuación haciendo referencia a su función de decodificación. El terminal 1 recibe una señal multimedia desde el terminal transmisor 2. el demultiplexor 50 demultiplexa la señal multimedia y pasa las señales demultiplexadas a los elementos correctos del receptor, por ejemplo, los datos de vídeo al codec de vídeo 10, los datos de audio al codec de audio 20, y los datos de control H. 245 al control H.245 40. El decodificador 200 del codec de vídeo decodifica los datos de vídeo codificados mediante cuantificación inversa, transformación DCT inversa y compensación del movimiento de los datos. Los datos de vídeo decodificados se envían a la salida para su reproducción en una pantalla 70 del terminal receptor 1.
Como se muestra en la Figura 4, el elemento decodificador 200 del codec de vídeo 10 incluye un decodificador de longitud variable 218, un cuantificador inverso 220, un transformador DCT inverso 221, un compensador de movimiento 222, una memoria de imagen 223, un controlador 224, una memoria temporal de datos de imagen 228 y conmutadores 230 y 232. El controlador 224 recibe señales de control del codec de vídeo demultiplexadas a partir del flujo multimedia codificado por el demultiplexor 50. En la práctica, el controlador 105 del codificador y el controlador 224 del decodificador pueden ser el mismo procesador.
El controlador 224 del decodificador comprueba la integridad de los datos recibidos. Un error en la cabecera de imagen puede significar que la imagen no puede decodificarse y se pierde completamente, o que está tan corrupta que está efectivamente perdida.
A continuación se describirá una primera realización del decodificador. En funcionamiento normal, el decodificador 200 recibe datos codificados. El decodificador de longitud variable (VLD) 218 decodifica los datos recibidos a fin de reproducir la estructura de la trama original, que tiene el formato que se muestra en la Figura 3. Es decir, el VLD 218 descomprime los datos codificados y el controlador 224 detecta el código de inicio de imagen (PSC) en los datos recibidos. Seguidamente, el controlador 224 utiliza la información de la cabecera de imagen para controlar el cuantificador inverso 220 y el conmutador 230. Cuando la información PTYPE indica una trama INTRA, el conmutador 230 se abre y la salida del dispositivo inverso DCT 221 se introduce en la memoria de imagen 223. Cuando la información PTYPE indica una trama INTER, el conmutador 230 se cierra y los contenidos de la memoria de imagen 223 se añaden a la salida del dispositivo inverso DCT 221 (el error de predicción decodificado) mediante el dispositivo de adición 234.
Si el decodificador no puede decodificar el primer cabecera de imagen, pero puede detectar otros segmentos de imagen, (por ejemplo, el GBSC del segundo segmento 84), el decodificador almacena estos datos en la memoria de datos de imagen temporal 228. Cuando el decodificador recibe, decodifica e identifica los datos de cabecera repetida (y los datos del primer segmento 82), el decodificador utiliza los datos de la memoria de imagen temporal para reproducir el resto de la imagen.
De este modo, si el controlador 224 no detecta un PSC al comienzo de una trama (o bien determina que la cabecera de imagen está corrupta), pero detecta una cabecera de segmento (es decir, detectando un código de inicio GOB GBSC), el controlador 224 cambia el estado del conmutador 232 de forma que la salida de datos del VLD 218 se introduce en la memoria temporal de datos de imagen 228. Estos datos empezarán desde el código GBSC detectado, dado que el VLD no podrá sincronizar el comienzo de la imagen.
Haciendo referencia a la Figura 5, asumiremos que el decodificador ha detectado el GBSC en la cabecera 84 para el segundo segmento de la trama 510. Los datos almacenados en la memoria temporal de datos de imagen 228 incluyen por tanto la cabecera 84 y los sucesivos, es decir, la cabecera para el segundo segmento, datos para el segundo segmento, la cabecera para el tercer segmento, datos para el tercer segmento, etc. de la trama 510.
Si la cabecera de imagen perdida / corrupta perteneciese a una trama INTRA, los siguientes datos recibidos por el decodificador serán por tanto la cabecera de imagen repetida y los datos del primer segmento 512. El decodificador recibe los datos 512 relativos a la cabecera de imagen repetida 80 y los datos del primer segmento repetidos 82. El controlador detecta el PSC en los datos repetidos 512, lee el campo PTYPE de la cabecera y seguidamente da instrucciones al cuantificador 220 en relación con el cuantificador a utilizar, y abre el conmutador 230 en respuesta al campo PTYPE del codificador que indica una trama INTRA. El resto de la información repetida (es decir, el primer segmento repetido de los datos) se decodifica mediante el cuantificador inverso 220 y el transformador IDCT 221, y el primer segmento de imagen repetido descodificado se envía desde el IDCT 220 a la memoria de imagen 223.
El decodificador reconoce que los datos no corresponden a una imagen completa, es decir, es solamente una cabecera de imagen 80 seguido de datos de imagen 82 para un primer segmento, seguido por una cabecera de imagen para una trama siguiente, por ejemplo, el decodificador que decodifica los datos repetidos 512 y que detecta que el código de inicio posterior es para una trama diferente, es decir, trama 520. En respuesta a esta detección por parte del decodificador, el controlador 224 altera el estado del conmutador 223 de forma que los datos de la trama 510 almacenados en la memoria temporal de imágenes 228 se transmiten al cuantificador inverso 220 y al transformador IDCT 221. Seguidamente, los datos decodificados se transfieren a la memoria de imagen 223 para actualizar los contenidos de la memoria de imagen con el resto de los datos decodificados para la imagen actual.
Según se ha mencionado anteriormente, en la primera realización de un decodificador de acuerdo con la invención, el decodificador detecta la recepción de una cabecera de imagen repetida, detectando la aparición de una cabecera de imagen que no va seguida de datos para una imagen completa (por ejemplo, una imagen seguida de datos para un segmento de imagen, pero no más). Podrían utilizarse otros medios para detectar la repetición de la información de cabecera.
Como se ha explicado anteriormente, cuando el decodificador puede decodificar la trama 510 correctamente, el decodificador se limita a descartar la repetición de la cabecera 512 cuando la señal está formateada como se muestra en la Figura 5.
La Figura 8 muestra un organigrama que ilustra un método de funcionamiento de un codificador de acuerdo con la primera realización de la invención. En primer lugar (400) el decodificador 200 empieza a decodificar una señal recibida, comprobando si un código de inicio de imagen (PSC) es el código siguiente en los datos entrantes. Si se considera que la cabecera de imagen está corrupta (402) el controlador almacena (404) los datos de imagen asociados con los restantes segmentos de la imagen en la memoria temporal de datos de imagen (228).
Pueden utilizarse diferentes medios para determinar sí la imagen está corrupta. Algunos métodos facilitados a modo de ejemplo consisten en que el decodificador no pueda detectar el PSC o que un método de detección de error (como el checksum [comprobación suma] CRC H. 223) indique que existe un error, o se encuentra un parámetro poco probable en la cabecera (por ejemplo, se configura un indicador INTER en la cabecera del segmento cuando el tipo de codificación de la cabecera de imagen es INTRA).
Seguidamente, el decodificador 200 busca la siguiente cabecera exenta de error. Si esta cabecera es para una trama INTRA el decodificador trata de decodificar la trama. Si se descubre que faltan algunos segmentos de imágenes, se leen los segmentos correspondientes de la trama anterior de la memoria temporal de imágenes 228 y se decodifican. Si la cabecera de imagen perdida / corrupta perteneciese a una trama INTRA, los siguientes datos recibidos por el decodificador serán la cabecera de imagen repetida y los datos del primer segmento 512. El decodificador decodifica (408) la cabecera de imagen y los datos para el primer segmento de imagen. El decodificador detecta (406) que los datos no corresponden a una trama completa, y en respuesta, el decodificador decodifica (408) los datos almacenados en la memoria temporal de datos de imagen 228 basándose en esta cabecera de imagen repetida.
Las técnicas normales de ocultación de error pueden utilizarse para ocultar errores en la imagen que hubiesen surgido con motivo de errores de transmisión o de codificación. Como es normal, el decodificador también puede enviar una solicitud de actualización al codificador cuando la trama decodificada se considera demasiado errónea.
Un decodificador convencional, al recibir una trama de datos incompleto llegaría a la conclusión de que los datos que faltan se han perdido en la transmisión. Por tanto, el decodificador enviaría una solicitud de imágenes INTRA en la forma conocida. De este modo, un codificador de acuerdo con la invención puede funcionar con un decodificador que no se ajuste a la invención.
A continuación se describirá una segunda realización de un decodificador de acuerdo con la invención. Haciendo referencia a una señal formateada, como se muestra en la Figura 6, si el decodificador no pudiese decodificar la cabecera original de la trama 610, el decodificador almacena los restantes datos de imagen (84, 86) para la trama en la memoria temporal de imagen 228. El primer segmento de la trama no se almacena porque no puede ser identificado por el decodificador. Cuando se recibe la trama redundante 612, el decodificador lee los datos como si tuviesen una codificación INTER, pero sin cambios. Normalmente, un codificador de acuerdo con la técnica anterior no facilitaría esta información (siendo aparentemente redundante en un 100%). Un decodificador de acuerdo con la invención detecta la recepción de una cabecera de imagen repetida al detectar la aparición de una cabecera de imagen INTER seguida de un campo que indica que no se han producido cambios. Cuando se reciben dichos datos, el decodificador utiliza la cabecera de imagen INTER para configurar el decodificador, y seguidamente decodifica la información de la trama anterior almacenado en la memoria 228.
En esta realización, los datos para el primer segmento de imagen no se repiten, y por tanto, podrán ser considerados como perdidos. El decodificador, al recibir los datos de la cabecera repetida hace que el conmutador 232 altere el estado de forma que los contenidos de los datos de imagen se actualicen desde el segundo segmento en adelante. Alternativamente, el decodificador puede estimar cuándo deberían empezar los datos de imagen del primer segmento en los datos corruptos, y a partir de ahí, decodificar los datos. Por ejemplo, vamos a asumir que existe un error de inversión de un bit en la cabecera de imagen original, y por tanto, no es posible decodificar la cabecera de imagen. No obstante, el PSC sigue siendo válido y por tanto el comienzo de la trama puede detectarse de forma fiable. La imagen completa 610 se almacena en la memoria temporal de imagen 228 y cuando se recibe la cabecera repetida, el decodificador 200 empieza a decodificar los datos almacenados en la posición donde se espera finalice la cabecera de imagen, y donde se espera que comiencen los datos para el primer segmento.
De este modo, el decodificador inspecciona los datos entrantes. Si la cabecera de imagen se pierde o está corrupta, los datos para el resto de la trama se almacenan en la memoria temporal de datos de imagen 228. Seguidamente, los datos posteriores se decodifican, y si los datos se refieren a una trama INTER e indican que no hay cambios en la imagen, la cabecera de imagen se decodifica y los datos de la memoria temporal de datos de imagen 228 se decodifican utilizando la información de cabecera de imagen de la trama redundante.
Cuando la señal está formateada como se muestra en la Figura 6, si el decodificador consigue decodificar correctamente la cabecera de imagen de la trama 610, el decodificador continuará y decodificará la repetición de la cabecera 612. Como se ha descrito haciendo referencia a la Figura 6, la información repetida 612 incluye la cabecera de imagen 82 (incluyendo un TR incrementado) y un campo 88 que indica que ninguno de los datos ha cambiado respecto a la trama anterior codificado. Dado que no hay datos almacenados en la memoria temporal de datos de imagen 228, el decodificador descartará la trama redundante de datos 612 y decodificará la trama posterior 620.
Al recibir una señal codificada de acuerdo con la tercera realización de la invención, un decodificador de acuerdo con la invención utiliza los datos que siguen al octeto FTYPE /DSIZE sobre la información de mejora complementaria de la trama siguiente, para decodificar los datos almacenados en la memoria temporal de imagen 228.
A continuación se describirá la tercera realización del decodificador haciendo referencia a la Figura 9. Esta realización utiliza el método SEI descrito anteriormente haciendo referencia al codificador y a la figura 7.
El decodificador funciona como sigue. En primer lugar (900), el decodificador recibe la cabecera de imagen de la siguiente imagen transmitida. Si la cabecera no tiene errores (901), el decodificador puede decodificar la cabecera sin problemas (902). Seguidamente puede continuar codificando el resto de la imagen (904). Si se detectasen algunos errores en la cabecera de imagen (901), el decodificador buscará (906) el primer cabecera del segmento de imágenes sin error (GOB o porción) de imagen. Vamos a llamar a esta posición de flujo de bits la primera posición de re-sincronización. Si el GFID de ese cabecera es la misma que en la imagen anterior (908), el decodificador puede recuperar los elementos cruciales de cabecera de imagen (910) y continuar decodificando (904), empezando desde ese segmento de imagen en particular. Si el GFID difiere de la de la imagen anterior (908), el decodificador busca (912) el siguiente código de inicio de imagen. Si los datos de la capa de imágenes de esa imagen contienen una repetición SEI de cabecera de imagen (914), el decodificador puede recuperar la cabecera de imagen de la imagen actual (916). También debe configurar la posición de decodificación en el flujo de bits nuevamente en la primera posición de re-sincronización (918). Si los datos de la capa de imágenes no contienen una repetición SEI de cabecera de imagen, el decodificador busca el siguiente código de inicio de segmento de imágenes y comprueba (920) si el GFID de la cabecera es el mismo que el GFID de la imagen que se está decodificando. Si los GFIDs son iguales, el decodificador puede recuperar la cabecera de imagen (910) y continuar decodificando a partir de la primera posición de re-sincronización. Si los GFIDs son diferentes entre sí, el decodificador no tiene medios para recuperar la cabecera de imagen corrupta. En este caso (922), puede solicitar una actualización INTRA, por ejemplo.
La memoria temporal de imagen puede almacenar datos codificados para una pluralidad de tramas. Considerando que la mayoría de las tramas, en aplicaciones con una baja tasa de transferencia de bits están codificados como trama INTER, la mayoría de los datos almacenados en la memoria temporal de datos de imagen representarán posiblemente datos de error de predicción, y por tanto serán relativamente compactos. De este modo, la memoria temporal de imagen debería ser suficiente para almacenar datos de al menos una trama INTRA y una trama INTER de datos, estando la trama INTER normalmente codificada con aproximadamente 250 octetos para una imagen QCIF a 28,8 Kbps.
Si cualesquiera datos para tramas posteriores del vídeo estuviesen también almacenados en la memoria temporal de datos de imagen 228, estos se decodificarán también y se transmitirán a la memoria de imagen 223 a fin de alinear los contenidos de la memoria de imagen 223 con los contenidos de la memoria de imagen correspondiente del dispositivo de transmisión.

Claims (46)

1. Método para codificar una señal de vídeo codificada por compresión, incluyendo dicho método:
- recibir datos codificados por compresión que representan una primera trama de una señal de vídeo;
- analizar los datos codificados por compresión que representan la primera trama para detectar los datos de cabecera de imagen (80) y los datos de imagen (82, 84);
caracterizado porque cuando se detecta un error en los datos de cabecera de imagen (80) de la primera trama, los datos de imagen (82, 84) de la primera trama son almacenados en una memoria temporal de datos de imagen (228), recibir datos codificados por compresión siguientes a la primera trama, la detección de una repetición de los datos de cabecera de imagen 80 de la primera trama a partir del contenido de los datos por compresión siguientes a la primera trama y la decodificación de los datos de imagen almacenadas (82, 84) de la primera trama, utilizando los datos repetidos de cabecera de imagen (80) recibidos en los datos codificados por compresión siguientes a la primera trama.
2. Método para codificar de acuerdo con la reivindicación 1, en el que la etapa de detección de una repetición de datos de cabecera de imagen (80) de la primera trama incluye:
analizar, sí los datos codificados por compresión siguientes a la primera trama están relacionados con una trama completa de la señal de vídeo o con una parte incompleta de una trama, y detectar una repetición de datos de cabecera de imagen (80) de la primera trama cuando los datos codificados por compresión siguientes a la primera trama están relacionados con una parte incompleta de una trama.
3. Método para codificar de acuerdo con la reivindicación 1, en el que la etapa de detección de una repetición de datos de cabecera de imagen (80) de la primera trama incluye:
analizar, sí los datos codificados por compresión siguientes a la primera trama incluyen datos de cabecera de imagen (80) y datos adicionales, significando los datos adicionales que una trama de señal de vídeo no está alterada respecto de una trama de referencia de la señal de vídeo, y de estarlo, determinar que se ha detectado una repetición de los datos de cabecera de imagen (80) de la primera trama.
4. Método para codificar de acuerdo con las reivindicaciones 1, 2 ó 3, en el que la etapa de detección de una repetición de datos de cabecera de imagen (80) de la primera trama se lleva a cabo cada vez que se almacenan datos en la memoria temporal de datos de imagen (228).
5. Método para codificar de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la etapa de detección de los datos de cabecera de imagen repetidas (80) de la primera trama incluye el análisis de los datos de cabecera de imagen (80) de una trama siguiente para determinar sí los datos de cabecera de imagen (80) de la trama siguiente incluyen datos relativos a los datos de cabecera de imagen (80) de la primera trama, y de ser así, detectar una repetición de los datos de cabecera de imagen (80) de la primera trama.
6. Método para codificar de acuerdo con la reivindicación 5, en el que la etapa de detección de datos de cabecera de imagen repetidas (80) de la primera trama incluye el análisis de información de mejora complementaria (SEI) de la trama siguiente.
7. Método para codificar vídeo que incluye:
recibir una señal de vídeo para su codificación por compresión;
codificar los datos que representan una primera trama (80, 82, 84, 86 ...) de dicha señal de vídeo para formar los datos codificados por compresión;
caracterizado por repetir una parte, pero no la totalidad de dichos datos que representan la primera trama (80, 82, 84, 86 ...) en los datos codificados por compresión siguientes a los datos codificados por compresión que representan la primera trama (80, 82, 84, 86 ...), incluyendo dicha parte repetida datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86 ...).
8. Método para codificar de acuerdo con la reivindicación 7, en el que una parte de los datos se repite únicamente para tramas que están codificadas en forma de trama INTRA.
9. Método para codificar de acuerdo con las reivindicaciones 7 u 8 en el que los datos repetidos incluyen datos de cabecera de imagen (80) y un primer segmento de datos de imagen (82) de la primera trama (80, 82, 84, 86 ...).
10. Método para codificación de acuerdo con las reivindicaciones 7 u 8 en el que dichos datos repetidos consisten en datos de cabecera de imagen (80) y un indicador relativo a que ningún dato de imagen se ha alterado desde una trama anterior.
11. Método para codificar de acuerdo con cualquiera de las reivindicaciones 7 a 10, en el que la etapa de repetición de los datos de cabecera de imagen (80) de la primera trama incluye adjuntar los datos repetidos de cabecera de imagen (80) de la primera trama a los datos de cabecera de imagen (80) de una trama siguiente.
12. Método para codificar de acuerdo con la reivindicación 11 en el que los datos repetidos de cabecera de imagen (80) de la primera trama están incluidos en la información de mejora complementaria (SEI) de la trama siguiente.
13. Codificador de vídeo (100) que incluye:
una entrada (101) para recibir una señal de vídeo a codificar por compresión;
medios (102, 103, 104, 105, 111) para codificar por compresión los datos que representan una primera trama (80, 82, 84, 86 ...) de dicha señal de vídeo, para así formar los datos codificados por compresión,
caracterizado porque los medios (102, 103, 104, 105, 111) para codificar por compresión los datos, están configurados para repetir una parte (512), pero no la totalidad, de dichos datos que representan la primera trama (80, 82, 84, 86 ...) en el contenido de los datos codificados por compresión siguientes a la primera trama (80, 82, 84, 86 ...), incluyendo dicha parte repetida datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86 ...).
14. Decodificador de vídeo (200) para decodificar una señal de vídeo codificada por compresión, incluyendo dicho decodificador (200):
una entrada (50) para recibir datos codificados por compresión que representan una primera trama (80, 82, 84, 86 ...) de una señal de vídeo y datos codificados por compresión siguientes a la primera trama (80, 82, 84, 86 ...);
medios de decodificación (218, 220, 221, 222, 224) para analizar dichos datos codificados por compresión que representan la primera trama (80, 82, 84, 86 ...), para detectar datos de cabecera de imagen (80) y datos de imagen (82, 84);
caracterizado porque el decodificador (200) está configurado para almacenar los datos de imagen (82, 84) de la primera trama en una memoria temporal de datos de imagen (228) cuando se detecta un error en los datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86 ...), a fin de detectar una repetición de los datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86 ...), a partir de los datos codificados por compresión siguientes a la primera trama (80, 82, 84, 86 ...) y para decodificar los datos de imagen almacenados (82, 84) de la primera trama, utilizando los datos repetidos de cabecera de imagen (80) recibidos en los datos codificados por compresión siguientes a la primera trama (80, 82, 84, 86 ...).
15. Dispositivo de comunicación inalámbrico (1, 2) que incorpora un codificador (100) de acuerdo con la reivindicación 13.
16. Dispositivo de comunicación inalámbrico (1,2) que incorpora un decodificador (200) de acuerdo con la reivindicación 14.
17. Codificador-decodificador de vídeo (10) que incluye un codificador (100) de acuerdo con la reivindicación 13, y un decodificador (200) de acuerdo con la reivindicación 14.
18. Decodificador (200) de acuerdo con la reivindicación 14, en el que dicho decodificador (200) está configurado para verificar sí los datos codificados por compresión siguientes a la primera trama (80, 82, 84, 86 ...) están relacionados con una trama completa de la señal de vídeo o con una parte incompleta de una trama, y para detectar una repetición de los datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86 ...) cuando los datos codificados por compresión siguientes a la primera trama (80, 82, 84, 86 ...) están relacionados con una parte incompleta de una trama.
19. Decodificador (200) de acuerdo con las reivindicaciones 14 ó 18 en el que dicho decodificador (200) está configurado para verificar sí los datos codificados por compresión siguientes a la primera trama (80, 82, 84, 86 ...), incluyen datos de cabecera de imagen (80) y datos adicionales (88), significando los datos adicionales (88) que una trama de la señal de vídeo no está alterada respecto de una trama de referencia de la señal de vídeo, y de ser así, determinar sí se ha detectado una repetición de los datos de cabecera de imagen (80) de la primera trama (80, 82, 84,
86 ...).
20. Decodificador (200) de acuerdo con las reivindicaciones 14, 18 ó 19, en el que dicho decodificador (200) está configurado para analizar los datos de cabecera de imagen (80) de una trama siguiente para determinar sí los datos de cabecera de imagen (80) de la trama siguiente incluyen datos relativos a los datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86 ...), y de ser así, detectar una repetición de los datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86 ...).
21. Codificador (100) de acuerdo con la reivindicación 13 en el que los datos repetidos (512) incluyen datos de cabecera de imagen (80) y un primer segmento de datos de imagen (82) de la primera trama (80, 82, 84, 86 ...).
22. Codificador (100) de acuerdo con las reivindicaciones 13 ó 21 en el que dichos datos repetidos (512) consisten en datos de cabecera de imagen (80) y un indicador (88) referido a que ningún dato de imagen se ha alterado desde una trama anterior.
23. Codificador (100) de acuerdo con las reivindicaciones 13, 21, o 22, en el que dicho codificador (100) está configurado para repetir datos de cabecera de imagen (80) de la primera trama, adjuntando los datos de cabecera de imagen repetidos (80) de la primera trama a los datos de cabecera de imagen (80) de una trama siguiente.
24. Codificador (100) de acuerdo con la reivindicación 23, en el que dicho codificador (100) está configurado para incluir los datos de cabecera de imagen repetidoss (80) de la primera trama en la información de mejora complementaria (SEI) de la trama siguiente.
25. Decodificador (200) de acuerdo con la reivindicación 20, en el que dicho decodificador (200) está configurado para detectar los datos de cabecera de imagen repetida (80) de la primera trama (80, 82, 84, 86 ...), mediante análisis de la información de mejora complementaria (SEI) de la trama siguiente.
26. Codificador (100) de acuerdo con la reivindicación 26, en el que dicho codificador (100) está configurado para incluir los datos de cabecera de imagen repetida (80) de la primera trama en la información de mejora complementaria (SEI) de la trama siguiente excluyendo el código de inicio de imagen (PSC) de la primera trama (80, 82, 84, 86 ...).
27. Método para codificar acuerdo con la reivindicación 5, en el que la etapa de detección de los datos de cabecera de imagen repetidos de la primera trama incluye el análisis de la información de mejora complementaria (SEI) de la trama siguiente para una repetición de los datos de cabecera de imagen de la primera trama, excluyendo el código de inicio de imagen de la primera trama.
28. Método de acuerdo con la reivindicación 12, en el que los datos de cabecera de imagen repetidos incluidos en la información de mejora complementaria (SEI) de la trama siguiente, excluyen el código de inicio de imagen de la primera trama.
29. Decodificador (200) de acuerdo con la reivindicación 20, en el que dicho decodificador (200) está configurado para detectar los datos de cabecera de imagen repetidos (80) de la primera trama (80, 82, 84, 86 ...) mediante análisis de la información de mejora complementaria (SEI) de la trama siguiente para una repetición de los datos de cabecera de imagen (80) de la primera trama, excluyendo el código de inicio de imagen (PSC) de la primera trama.
30. Dispositivo de red que incluye un codificador de vídeo (100) de acuerdo con la reivindicación 13.
31. Dispositivo de red que incluye un decodificador (200) de acuerdo con la reivindicación 14.
32. Terminal que incluye un codificador de vídeo (100) de acuerdo con la reivindicación 13.
33. Terminal que incluye un decodificador de vídeo (200) de acuerdo con la reivindicación 14.
34. Dispositivo de acuerdo con cualquiera de las reivindicaciones 30 a 33 en el que dicho dispositivo está configurado para funcionar en una red conmutada por paquetes.
35. Dispositivo de acuerdo con cualquiera de las reivindicaciones 30 a 33 en el que dicho dispositivo está configurado para funcionar en una red conmutada por circuito.
36. Dispositivo de acuerdo con cualquiera de las reivindicaciones 30 a 33 en el que dicho dispositivo está configurado para funcionar en una red de comunicación móvil.
37. Dispositivo de acuerdo con cualquiera de las reivindicaciones 30 a 33 en el que dicho dispositivo está configurado para funcionar en Internet.
38. Dispositivo de acuerdo con cualquiera de las reivindicaciones 30 a 33 en el que dicho dispositivo está configurado para facilitar información de vídeo en tiempo real.
39. Dispositivo de acuerdo con cualquiera de las reivindicaciones 30 ó 32 en el que el codificador (100) está configurado para repetir datos de cabecera de imagen (80) de la primera trama, adjuntando los datos de cabecera de imagen repetidos (80) de la primera trama a los datos de cabecera de imagen (80) de una trama siguiente.
40. Dispositivo de acuerdo con cualquiera de las reivindicaciones 30 ó 32 en el que el codificador (100) está configurado para incluir los datos de cabecera de imagen repetidos (80) de la primera trama en la información de mejora complementaria (SEI) de la trama siguiente.
41. Dispositivo de acuerdo con la reivindicación 39 en el que el codificador (100) está configurado para incluir los datos de cabecera de imagen repetidos (80) de la primera trama en la información de mejora complementaria (SEI) de la trama siguiente, excluyendo el código de inicio de imagen (PSC) de la primera trama (80, 82, 84, 86, ...).
42. Dispositivo de acuerdo con la reivindicación 31 ó 33 en el que el decodificador (200) está configurado para detectar los datos de cabecera de imagen repetidos (80) de la primera trama (80, 82, 84, 86, ..), mediante análisis de la información de mejora complementaria (SEI) de la trama siguiente.
43. Dispositivo de acuerdo con la reivindicación 31 ó 33 en el que el decodificador (200) está configurado para detectar los datos de cabecera de imagen repetidos (80) en la primera trama (80, 82, 84, 86, ...), mediante análisis de la información de mejora complementaria (SEI) de la trama siguiente, para una repetición de los datos de cabecera de imagen (80) de la primera trama, excluyendo el código de inicio de imagen (PSC) de la primera trama.
44. Red que incluye un dispositivo de red de acuerdo con las reivindicaciones 30 ó 31.
45. Señal de flujo de bits de vídeo generada mediante la codificación de datos que representan una primera trama (80, 82, 84, 86, ...) de una señal de vídeo para formar los datos codificados por compresión, caracterizada porque dicha señal del flujo de bits de vídeo, incluye además parte, pero no la totalidad de dichos datos que representa la primera trama (80, 82, 84, 86, ...) repetidos, en los datos codificados por compresión siguientes a la primera trama (80, 82, 84, 86, ...), incluyendo dicha parte repetida los datos de cabecera de imagen para la primera trama (80, 82, 84, 86, ...).
46. Programa informático que incluye instrucciones que cuando son ejecutadas en un ordenador realizan todas las etapas del método de codificación de vídeo de la reivindicación 7 y/o del método para codificar vídeo de la reivindicación 1.
ES00949342T 1999-07-19 2000-07-14 Codificacion de video. Expired - Lifetime ES2240128T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9916909 1999-07-19
GB9916909A GB2352350B (en) 1999-07-19 1999-07-19 Video coding

Publications (1)

Publication Number Publication Date
ES2240128T3 true ES2240128T3 (es) 2005-10-16

Family

ID=10857513

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00949342T Expired - Lifetime ES2240128T3 (es) 1999-07-19 2000-07-14 Codificacion de video.

Country Status (13)

Country Link
US (3) US7006576B1 (es)
EP (2) EP1205076B1 (es)
JP (1) JP4969003B2 (es)
KR (1) KR100495820B1 (es)
CN (3) CN1361991A (es)
AT (2) ATE533306T1 (es)
AU (1) AU774040B2 (es)
BR (1) BRPI0011748B1 (es)
CA (1) CA2377865C (es)
DE (1) DE60020243T2 (es)
ES (1) ES2240128T3 (es)
GB (1) GB2352350B (es)
WO (1) WO2001006795A1 (es)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2352350B (en) 1999-07-19 2003-11-05 Nokia Mobile Phones Ltd Video coding
JP4224662B2 (ja) * 2000-08-09 2009-02-18 ソニー株式会社 画像符号化装置および方法、画像復号装置および方法、ならびに画像処理装置
TW533738B (en) * 2000-10-31 2003-05-21 Matsushita Electric Industrial Co Ltd Received information record/regenerate method and received information record/regenerate device
US20040022202A1 (en) * 2002-08-05 2004-02-05 Chih-Lung Yang Method and apparatus for continuously receiving images from a plurality of video channels and for alternately continuously transmitting to each of a plurality of participants in a video conference individual images containing information concerning each of said video channels
JP2003208343A (ja) * 2002-01-10 2003-07-25 Ricoh Co Ltd ファイル作成・閲覧方法、ファイル作成方法、ファイル閲覧方法、ファイル構造及びプログラム
AU2003226081A1 (en) * 2002-03-25 2003-10-13 The Trustees Of Columbia University In The City Of New York Method and system for enhancing data quality
KR100557047B1 (ko) * 2002-10-21 2006-03-03 엘지전자 주식회사 동영상 디코딩 방법
KR20040046540A (ko) * 2002-11-27 2004-06-05 엘지전자 주식회사 동영상 디코딩 방법
KR20040046895A (ko) * 2002-11-28 2004-06-05 엘지전자 주식회사 영상 전화 시스템의 h.223 crc 에러 체크에 따른데이터 유닛 처리방법
US7474792B2 (en) * 2002-12-02 2009-01-06 Ricoh Company, Ltd. Image processing apparatus for using distortion amount information
JP4002878B2 (ja) * 2003-01-17 2007-11-07 松下電器産業株式会社 画像符号化方法
FR2852180B1 (fr) * 2003-03-07 2005-08-26 Thales Sa Procede et systeme de protection de donnees avec en-tete dans un systeme de transmission
JP2004336727A (ja) 2003-04-17 2004-11-25 Sharp Corp ワイヤレス制御システム、制御機器、被制御機器、機器の制御方法、制御プログラム及びそれを記録したコンピュータ読み取り可能な記録媒体
US20040218669A1 (en) * 2003-04-30 2004-11-04 Nokia Corporation Picture coding method
KR100586101B1 (ko) * 2003-05-12 2006-06-07 엘지전자 주식회사 동영상 코딩 방법
US7162093B2 (en) * 2003-09-07 2007-01-09 Microsoft Corporation Slice-layer in video codec
US7809155B2 (en) 2004-06-30 2010-10-05 Intel Corporation Computing a higher resolution image from multiple lower resolution images using model-base, robust Bayesian estimation
US7447382B2 (en) * 2004-06-30 2008-11-04 Intel Corporation Computing a higher resolution image from multiple lower resolution images using model-based, robust Bayesian estimation
US20060104350A1 (en) * 2004-11-12 2006-05-18 Sam Liu Multimedia encoder
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
KR100763178B1 (ko) * 2005-03-04 2007-10-04 삼성전자주식회사 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치
EP1867173A2 (en) * 2005-03-10 2007-12-19 QUALCOMM Incorporated Content adaptive multimedia processing
JP4618676B2 (ja) * 2005-04-28 2011-01-26 株式会社リコー 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体
TW200714077A (en) * 2005-09-20 2007-04-01 Ali Corp Image processing method and a 2-D discrete cosine transformation device thereof
US9113147B2 (en) 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
US8654848B2 (en) * 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US20070206117A1 (en) * 2005-10-17 2007-09-06 Qualcomm Incorporated Motion and apparatus for spatio-temporal deinterlacing aided by motion compensation for field-based video
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
US20070171280A1 (en) * 2005-10-24 2007-07-26 Qualcomm Incorporated Inverse telecine algorithm based on state machine
US7684626B1 (en) * 2005-12-01 2010-03-23 Maxim Integrated Products Method and apparatus for image decoder post-processing using image pre-processing and image encoding information
KR100799998B1 (ko) * 2006-02-14 2008-01-31 엘지전자 주식회사 디지털 방송 수신기 및 그의 데이터 에러 처리방법
US20070189383A1 (en) * 2006-02-15 2007-08-16 Samsung Electronics Co., Ltd. Method and system for appending redundancy to uncompressed video for transmission over wireless communication channels
US9131164B2 (en) * 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
US9872045B2 (en) * 2006-10-16 2018-01-16 Conversant Wireless Licensing S.A R.L. Method, electronic device, system, computer program product and circuit assembly for reducing error in video coding
RU2510908C2 (ru) * 2007-02-23 2014-04-10 Нокиа Корпорейшн Описание характеристик агрегированных блоков медиаданных с обратной совместимостью
WO2008120124A2 (en) * 2007-03-29 2008-10-09 Nxp B.V. Speed up video recovery of videotelephony after an interruption
CN101647287B (zh) * 2007-04-04 2013-10-30 汤姆森特许公司 参考画面列表的管理
US8462855B2 (en) * 2007-09-26 2013-06-11 Intel Corporation Method and apparatus for stream parsing and picture location
US8332736B2 (en) * 2007-11-29 2012-12-11 Texas Instruments Incorporated Decoder with resiliency to handle errors in a received data stream
JP5147546B2 (ja) * 2008-05-30 2013-02-20 キヤノン株式会社 映像符号化装置及び映像復号化装置
US20100158130A1 (en) * 2008-12-22 2010-06-24 Mediatek Inc. Video decoding method
US8942543B1 (en) 2010-10-06 2015-01-27 Verint Video Solutions Inc. Systems, methods, and software for improved video data recovery effectiveness
JP5496047B2 (ja) * 2010-10-07 2014-05-21 パナソニック株式会社 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム
WO2013085245A1 (ko) 2011-12-04 2013-06-13 엘지전자 주식회사 입체영상 디스플레이가 가능한 디지털 방송 수신방법 및 수신장치
CA2898152C (en) * 2012-01-30 2018-02-20 Samsung Electronics Co., Ltd. Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area
US20140119445A1 (en) * 2012-10-26 2014-05-01 Lsi Corporation Method of concealing picture header errors in digital video decoding
KR101979634B1 (ko) 2012-12-13 2019-05-20 삼성전자주식회사 화질 개선을 위한 영상 처리 장치 및 그 방법
US20140269896A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Multi-Frame Compression
US9407923B2 (en) * 2013-05-20 2016-08-02 Gamefly Israel Ltd. Overconing lost IP packets in streaming video in IP networks
US9973795B2 (en) * 2014-08-27 2018-05-15 ClearOne Inc. Method for video synchronization in video distribution systems
US9807408B2 (en) 2014-08-27 2017-10-31 Clearone Communications Hong Kong Ltd. Control mechanism for video output
US20180054633A1 (en) * 2015-03-27 2018-02-22 Panasonic Intellectual Property Management Co., Ltd. Video decoding device
US10291936B2 (en) 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
MX2022003555A (es) 2019-09-24 2022-06-14 Huawei Tech Co Ltd Señalización de encabezado de imagen en codificación de video.
CN118158445A (zh) * 2019-11-05 2024-06-07 Lg 电子株式会社 用于图像/视频编译的高级别语法信令方法和装置
EP4541026A1 (en) * 2022-06-16 2025-04-23 MBDA UK Limited Method for image encoding
CN116132696A (zh) * 2023-02-14 2023-05-16 格兰菲智能科技有限公司 基于gpu的码流错误检测和反馈的方法及系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972261A (en) * 1987-08-28 1990-11-20 The General Electric Company, P.L.C. Motion compensation image signal encoding system
ES2093649T3 (es) 1990-02-06 1997-01-01 Alcatel Italia Sistema, estructura de paquete y dispositivo para procesar la informacion suministrada por un codificador de señal.
JPH0490648A (ja) * 1990-08-06 1992-03-24 Fujitsu Ltd 符号化送信方式
JPH0498987A (ja) * 1990-08-16 1992-03-31 Matsushita Electric Ind Co Ltd 誤り修整方法
US5168356A (en) * 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
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
JPH06237451A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd 動画通信方式および端末装置
JP3428697B2 (ja) * 1993-09-07 2003-07-22 キヤノン株式会社 画像復号化方法
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
JP2671821B2 (ja) 1994-09-28 1997-11-05 日本電気株式会社 データ伝送装置
US5550847A (en) * 1994-10-11 1996-08-27 Motorola, Inc. Device and method of signal loss recovery for realtime and/or interactive communications
DE19524808A1 (de) 1995-07-07 1997-01-09 Thomson Brandt Gmbh Verfahren, Encoder und Decoder zur Resynchronisierung auf einen fehlerbehafteten Datenstrom
US5754605A (en) * 1995-09-29 1998-05-19 Motorola Method and apparatus for synchronization of a communications unit
JPH09207995A (ja) 1996-02-01 1997-08-12 Nas Toa Co Ltd 生ビール樽用フィッティング
JPH1174868A (ja) * 1996-09-02 1999-03-16 Toshiba Corp 情報伝送方法およびその方法が適用される情報伝送システムにおける符号化装置/復号化装置、並びに符号化・多重化装置/復号化・逆多重化装置
US5875305A (en) 1996-10-31 1999-02-23 Sensormatic Electronics Corporation Video information management system which provides intelligent responses to video data content features
US5912902A (en) * 1997-03-14 1999-06-15 Monroe; David A. Data recovery scheme
JP3769347B2 (ja) * 1997-03-19 2006-04-26 株式会社 日立インダストリイズ ガスタ−ビン吸気冷却装置
DE69833199T2 (de) 1997-08-01 2006-09-07 Ntt Mobile Communications Network Inc. Datenfolgegenerator, sender, informationsdatendekoder, empfänger, sender-empfänger, datenfolgegenerationsverfahren, informationsdatendekodierungsverfahren, und aufzeichnungsmedium
DE69814465T2 (de) * 1998-01-16 2004-04-01 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Verfahren und gerät zur datenspeicherung auf magnetischen medien, die fehlerkorrekturkodes enthalten
US6243369B1 (en) * 1998-05-06 2001-06-05 Terayon Communication Systems, Inc. Apparatus and method for synchronizing an SCDMA upstream or any other type upstream to an MCNS downstream or any other type downstream with a different clock rate than the upstream
US6301637B1 (en) * 1998-06-08 2001-10-09 Storage Technology Corporation High performance data paths
US6826197B1 (en) * 1999-04-01 2004-11-30 Sedna Patent Services, Llc Data packet structure for digital information distribution
JP3411234B2 (ja) * 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
GB2352350B (en) 1999-07-19 2003-11-05 Nokia Mobile Phones Ltd Video coding
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

Also Published As

Publication number Publication date
EP1542475B1 (en) 2011-11-09
US20050185719A1 (en) 2005-08-25
AU774040B2 (en) 2004-06-17
EP1205076B1 (en) 2005-05-18
DE60020243D1 (de) 2005-06-23
US7006576B1 (en) 2006-02-28
US8654863B2 (en) 2014-02-18
CN1361991A (zh) 2002-07-31
EP1205076A1 (en) 2002-05-15
GB2352350B (en) 2003-11-05
JP4969003B2 (ja) 2012-07-04
DE60020243T2 (de) 2006-03-23
JP2003504988A (ja) 2003-02-04
BRPI0011748B1 (pt) 2015-09-08
EP1542475A3 (en) 2009-03-25
CN101175213A (zh) 2008-05-07
US8401089B2 (en) 2013-03-19
KR100495820B1 (ko) 2005-06-16
KR20020020937A (ko) 2002-03-16
EP1542475A2 (en) 2005-06-15
HK1114494A1 (en) 2008-10-31
GB2352350A (en) 2001-01-24
CA2377865C (en) 2009-11-10
BR0011748A (pt) 2002-03-05
CA2377865A1 (en) 2001-01-25
WO2001006795A1 (en) 2001-01-25
AU6273500A (en) 2001-02-05
ATE296015T1 (de) 2005-06-15
US20070171986A1 (en) 2007-07-26
CN101175213B (zh) 2011-02-09
CN101790099A (zh) 2010-07-28
GB9916909D0 (en) 1999-09-22
ATE533306T1 (de) 2011-11-15

Similar Documents

Publication Publication Date Title
KR100495820B1 (ko) 비디오 코딩
ES2339743T3 (es) Codificacion de video.
KR100931873B1 (ko) 비디오 신호 부호화/복호화 방법 및 비디오 신호 부호기/복호기
ES2267498T3 (es) Codificacion de video.
CN100394802C (zh) 视频信号编码/解码方法和装置及对应的无线电电信装置
JP4537583B2 (ja) 映像信号のエラー隠蔽
JP2006526908A (ja) ピクチャを符号化する方法、ビットストリームからピクチャを復号化する方法、ピクチャを符号化するエンコーダ、ピクチャを符号化するエンコーダを備える送信装置、ビットストリームからピクチャを復号化するデコーダ、ビットストリームからピクチャを復号化するデコーダを備える受信装置、およびシステム
JP2006060813A (ja) ビデオデコーダにおける誤り隠蔽
EP1477028A2 (en) Video processing
EP1345451A1 (en) Video processing
EP1349398A1 (en) Video processing
HK1114494B (en) Method and apparatus for video source encoding, and method and apparatus for video source decoding
HK1096517B (en) Error concealment method and indicator for improving error concealment in video coding