ES2267498T3 - Codificacion de video. - Google Patents

Codificacion de video. Download PDF

Info

Publication number
ES2267498T3
ES2267498T3 ES00906346T ES00906346T ES2267498T3 ES 2267498 T3 ES2267498 T3 ES 2267498T3 ES 00906346 T ES00906346 T ES 00906346T ES 00906346 T ES00906346 T ES 00906346T ES 2267498 T3 ES2267498 T3 ES 2267498T3
Authority
ES
Spain
Prior art keywords
video
image
error
video data
decoder
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
ES00906346T
Other languages
English (en)
Inventor
Miska Hannuksela
Ari Hourunranta
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=10847994&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2267498(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 ES2267498T3 publication Critical patent/ES2267498T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods 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
    • H04N19/895Methods 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 in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

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)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Método para decodificar vídeo que consiste en: recibir datos de vídeo codificados por un decodificador de vídeo, decodificar dichos datos de vídeo para formar datos de vídeo decodificados, y determinar si los datos de vídeo decodificados incluyen un error y, cuando se determina que existe error, enviar un mensaje de petición de actualización desde dicho decodificador de vídeo a un codificador de vídeo transmisor solicitando una actualización de, al menos, una porción correspondiente de los datos de vídeo que incluyen el error, determinándose si los datos posteriormente decodificados de una porción correspondiente de los datos de vídeo contienen error, caracterizado porque se determina sí ha transcurrido un período predeterminado de tiempo desde la transmisión del mensaje de petición de actualización precedente y transmitir un mensaje de petición de actualización adicional para la porción posterior correspondiente de los datos de vídeo, únicamente cuando el período de tiempo predeterminado hubiese transcurrido, limitando de este modo la transmisión de múltiples mensajes de petición de actualización para la misma porción errónea.

Description

Codificación de vídeo.
La presente invención hace referencia a la codificación de vídeo.
Uno de los recientes objetivos de las telecomunicaciones móviles ha sido aumentar la velocidad de la transmisión de datos a fin de permitir la utilización de servicios multimedia a través de redes por radio. Uno de los principales componentes de los servicios multimedia es el vídeo digital. El vídeo digital ofrece muchas ventajas con respecto a los sistemas analógicos tradicionales, al soportar servicios tales como vídeo-telefonía y las aplicaciones multimedia. No obstante, uno de los principales problemas del vídeo digital cuando se compara con los sistemas analógicos son las exigencias que plantea a los recursos de comunicaciones de almacenamiento. Por ejemplo, es necesario un ancho de banda de aproximadamente 160 Mbps para transmitir vídeo con calidad de emisión, lo que debe compararse con un ancho de banda de aproximadamente 5 MHz para conseguir un vídeo analógico de calidad comparable. De este modo, para poder utilizar vídeo digital es necesario reducir la cantidad de datos de la señal digital.
La transmisión de vídeo incluye un tráfico continuo de datos que representan imágenes en movimiento. Como suele ser conocido, la cantidad de datos necesarios para la transferencia de las imágenes es elevada en comparación con otros muchos tipos de medios y hasta ahora la utilización de vídeo en terminales con una baja tasa de transferencia binaria ha sido casi inexistente. No obstante, se han conseguido progresos significativos en el área de la compresión de vídeo con una baja tasa de transferencia binaria. Puede obtenerse una calidad de vídeo aceptable con unas tasas de transferencia binaria de alrededor de 20 kbits por segundo.
Como resultado de esta progresiva reducción en la tasa binaria, es de esperar que el vídeo pase a ser en breve un servicio viable que pueda ofrecerse a redes con un ancho de banda limitado tales como las redes telefónicas públicas conmutadas (PSTNs) y las redes de comunicaciones móviles. En aplicaciones de vídeo-telefonía que utilizan redes fijas, los errores suelen superarse mediante la retransmisión de los datos. No obstante, la telefonía móvil tiende a tener unas tasas de error más elevadas que la PSTN y tiene unos retardos de propagación de ida y vuelta más prolongados. Estos retardos más prolongados hacen que resulte poco práctico utilizar la retransmisión con aplicaciones de vídeo-teléfono móvil en tiempo real. La retransmisión tampoco es eficaz en situaciones con una elevada tasa de error.
Una secuencia de vídeo consiste en una serie de imágenes fijas o cuadros. La reducción de datos se consigue utilizando técnicas de compresión para eliminar los datos redundantes, conservando no obstante información suficiente para permitir la reproducción de la imagen original con una calidad aceptable. Existen dos tipos principales de redundancia en las señales de vídeo: espacial y temporal. Para la codificación de imágenes las técnicas que recurren únicamente a la redundancia espacial se denominan cuadros intra o cuadros I (es decir, que tratan cada cuadro por separado), mientras que aquellas que recurren a la redundancia temporal se denominan cuadros inter o cuadros P (es decir, que recurren a las similitudes entre cuadros). La última técnica también explota invariablemente la redundancia espacial, por ejemplo generando datos de compensación del movimiento que describen el movimiento (es decir, el desplazamiento) entre áreas similares de la imagen actual y de una anterior. En el caso de los cuadros inter, la imagen predicha (con compensación de movimiento) casi nunca es suficientemente precisa y, por lo tanto, también se asocia a cada cuadro inter una imagen de error de predicción espacialmente comprimida.
No obstante, por lo general no es posible conseguir un suficiente nivel de compresión mediante la simple reducción de la redundancia de la secuencia. De este modo, los codificadores de vídeo tratan de reducir la calidad de aquellos componentes de la secuencia de vídeo que son menos importantes desde el punto de vista subjetivo. Además, la redundancia del tren de bits codificado se reduce mediante una codificación eficaz y sin pérdidas de los parámetros y coeficientes de compresión. La principal técnica consiste en utilizar códigos de longitud variable en los que se codifica cada valor utilizando una palabra de código única. Las palabras de código más cortas se asignan a estos valores que estadísticamente ocurren con más frecuencia.
- Se han desarrollado diversas técnicas de codificación de vídeo. Estas incluyen la codificación de la longitud, el relleno condicional, la codificación de la transformación, la codificación de Huffman y la modulación de código de fase diferencial (DPCM). Muchas de estas se utilizan en normas tan importantes como las recomendaciones ITU-T, JPEG, MPEG-1 y MPEG-2 y H.261/H.263. El JPEG define el formato de flujos de datos comprimidos para imágenes fijas; MPEG/MPEG2 sirven para la compresión de imágenes en movimiento; H.261/H.263 se han definido principalmente para aplicaciones de vídeo-telefonía que utilizan enlaces de comunicaciones con una baja tasa de transferencia binaria (del orden de decenas de kbit/s). Los actuales sistemas de vídeo-telefonía se han diseñado principalmente para ser utilizados en redes PSTN o por paquetes, y se rigen por las recomendaciones de la ITU-T H.324, que se refieren a las comunicaciones multimedia con una baja tasa de transferencia binaria, H.245 que se refiere a los protocolos de transmisión, H.233 que se refiere al multiplexado y H.323 que se refiere a la vídeo-conferencia a través de redes de área local de medios compartidos tradicionales. Los primeros vídeo-teléfonos móviles estarán basados en H.324.
El vídeo comprimido se corrompe con facilidad a causa de los errores de transmisión, principalmente por dos motivos. En primer lugar, debido a la utilización de la codificación diferencial predictiva temporal (cuadros inter) un error se propaga tanto espacial como temporalmente. En la práctica esto significa que una vez que se produce un error resulta fácilmente visible para el ojo humano durante un período relativamente prolongado. Resultan especialmente susceptibles las transmisiones efectuadas con una baja tasa de transferencia binaria en las que sólo hay unos pocos cuadros con codificación intra (la transmisión de cuadros con codificación intra detendría la propagación temporal de errores). En segundo lugar, la utilización de códigos de longitud variable aumenta la susceptibilidad a errores. Cuando un error en un bit altera la palabra del código, el decodificador perderá la sincronización de la palabra de código y también decodificará incorrectamente las posteriores palabras de código exentas de error (que incluyen varios bits) hasta el próximo código de sincronización (o inicio). Un código de sincronización es un patrón de bits que no puede generarse a partir de ninguna combinación legal de otras palabras de código y dichos códigos se añaden a intervalos al tren de bits para permitir la re-sincronización.
No todos los bits de un tren de bits comprimido tienen la misma importancia para las imágenes descomprimidas. Algunos bits pertenecen a segmentos que definen información vital, como el tipo de imagen (por ejemplo, intra o inter), valor de cuantificador y modos de codificación opcionales que han sido utilizados. En H.263, la información más importante se recopila en el encabezado de la imagen. Un error de transmisión en el encabezado de la imagen causa normalmente una interpretación completamente errónea de los posteriores bits que definen el contenido de la imagen. Debido a la utilización de una codificación diferencial predictiva temporal (cuadros inter), el error se propaga tanto espacial como temporalmente. De este modo, cuando un decodificador detecta un encabezado de imagen corrupto, un método típico consiste en congelar la imagen anterior en la pantalla, enviar una solicitud de imagen intra al terminal transmisor y esperar el cuadro intra solicitado. Esto causa una molesta pausa en el vídeo recibido.
Los errores de transmisión tienen una naturaleza diferente dependiendo de la red subyacente. En las redes conmutadas por paquetes los errores de transmisión consisten normalmente en pérdidas de paquetes (debido a la congestión de los elementos de la red). En redes conmutadas por circuito los errores de transmisión suelen ser errores de bits en los que un "1" se corrompe a "0" o viceversa y en las redes de comunicaciones por radio los errores pueden darse en ráfagas, lo que hace la situación aún más difícil.
Para impedir degradaciones de imágenes introducidas por errores de transmisión pueden utilizarse retransmisiones (como se ha descrito anteriormente), métodos de detección de errores (por ejemplo, comprobación de redundancia cíclica (CRC)) y/o métodos de corrección de error, y/o pueden ocultarse los efectos de los datos corrompidos recibidos. En las redes fijas la retransmisión constituye una forma razonable de proteger de errores los flujos de datos de vídeo ya que las tasas de error binario (BER) suelen encontrarse típicamente en la región de 10^{-6}. No obstante, las prolongadas retardos de propagación de ida y vuelta asociados a la transmisión por radio con una baja tasa de transferencia binaria y las tasas de error moderadas o altas (por ejemplo de 10^{-4} a 10^{-3}) hacen que resulte poco práctico utilizar la retransmisión, especialmente en aplicaciones de vídeo-telefonía por radio en tiempo real. Los métodos de detección y corrección de error suelen exigir grandes sobrecargas en lo que respecta a los datos a transmitir y la capacidad de memoria/procesamiento necesaria. En consecuencia, en el caso de aplicaciones con una baja transferencia binaria puede considerarse que la ocultación de errores es la forma preferida para proteger y recuperar imágenes frente a errores de transmisión. Normalmente los métodos de ocultación de errores de vídeo se aplican a los errores de transmisión producidos a causa de pérdidas de paquetes y corrupción de bits.
La H.263 es una recomendación de la ITU-T para la codificación de vídeo para comunicaciones con una baja tasa de transferencia binaria, lo que normalmente significa tasas de transferencia binaria inferiores a 64 kbps. La recomendación especifica la sintaxis del tren de bits y la decodificación del tren de bits. En la actualidad 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 de H.263 es una extensión de la versión 1 que proporciona doce nuevos modos de codificación negociables.
Las imágenes se codifican mediante luminancia (Y) y dos componentes de diferencia de color (crominancia) (C_{B} y C_{R}). 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 por bloque representando cada bloque 8x8 píxeles de luminancia o crominancia.
Cada imagen codificada, así como el tren de bits codificado correspondiente está dispuesta siguiendo una estructura jerárquica con cuatro capas que van desde la inferior a la superior: capa de bloque, capa de macrobloque, capa de segmento de imagen y capa de imagen. La capa de segmento de imagen puede configurarse como un grupo de bloques (GOB) o rebanada.
Los datos de la capa del bloque consisten en coeficientes de transformada de coseno discreta uniformemente cuantificados, que se escanean en zigzag, son procesados con un codificador de longitud de pasada (run-length encoder) y codificados con códigos de longitud variable.
Cada macrobloque hace referencia a 16 x 16 píxeles de luminancia y los 8 x 8 píxeles de componentes de crominancia espacialmente correspondientes. Dicho de otro modo, un macrobloque consiste en cuatro bloques de luminancia de 8 x 8 y los dos bloques de diferencia de color de 8 x 8 espacialmente correspondientes. Cada macrobloque inter está asociado a unos datos de compensación del movimiento que incluyen un vector de movimiento que define la posición de un área correspondiente en el cuadro de referencia que más se asemeja a los píxeles del macrobloque inter. Los datos del macrobloque inter incluyen datos codificados de error de predicción para los píxeles del macrobloque.
Por lo general, cada imagen se divide en grupos de bloques (GOBs). Un grupo de bloques (GOB) normalmente incluye una fila de macrobloques. Los datos para cada GOB consisten en un encabezado opcional GOB seguido de datos para los macrobloques del GOB.
Si se utiliza el modo estructurado en rebanada opcional, cada imagen se divide en rebanadas en lugar de GOBs. Una rebanada contiene varios macrobloques consecutivos por orden de escaneado. Los datos de cada rebanada consisten en un encabezado de rebanada seguido de datos correspondientes a los macrobloques de la rebanada.
Los datos de la capa de imagen contienen parámetros que afectan a toda el área de imagen y a decodificar los datos de la imagen. Los datos de parámetros codificados están dispuestos en el llamado encabezado de imagen.
Los encabezados de imagen y GOB (o rebanadas) comienzan con un código de sincronización. 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. De este modo, los códigos de sincronización pueden utilizarse para la detección de errores en el tren de bits y para la nueva sincronización posterior a los errores de bits. Cuantos más códigos de sincronización se añadan al tren de bits, más robusto frente a error será el sistema.
La mayor parte de las técnicas conocidas de ocultación de error están basadas en métodos de interpolación espacial y temporal. La interpolación espacial se utiliza en cuadros intra y en áreas con codificación intra de los cuadros intra. La interpolación espacial significa que las áreas perdidas se interpolan a partir de áreas espacialmente adyacentes. Esto puede llevarse a cabo, por ejemplo, utilizando la distancia media ponderada de los píxeles de los límites.
Se utiliza con más frecuencia la ocultación de errores mediante interpolación temporal en codificación de vídeo con una baja tasa de transferencia binaria debido a que el número de cuadros intra suele ser bastante bajo. Un método muy básico de interpolación temporal, copia las áreas perdidas a partir de las mismas posiciones del cuadro anterior, es decir considera los bloques perdidos como bloques "no codificados". En métodos más avanzados se lleva a cabo una compensación en movimiento utilizando la media o la mediana de los vectores de movimiento de bloques espacialmente adyacentes. También se han presentado varias propuestas para utilizar la comparación de píxeles de límites para hallar los mejores vectores de movimiento correspondientes al bloque perdido.
A bajas resoluciones y con tasas bajas de transferencia binaria, frecuentemente suele ser bastante baja la correlación entre bloques espacialmente adyacentes. De este modo, los vectores de movimiento interpolados basados en datos de píxeles vectorialmente adyacentes pueden ser muy distintos de los valores originales. Esto significa que los métodos de ocultación unidireccional suelen fracasar en la reconstrucción de los bloques originales. Además, si sólo se utilizan vectores de movimiento para la ocultación sin tratar de recuperar los bloques de error de predicción, la imagen se convierte en borrosa ya que se perderá una gran cantidad de detalle. En la práctica, utilizando los actuales métodos de ocultación, los errores o los bloques ocultados incorrectamente serán visibles durante un período relativamente largo.
El término "codec" se refiere a la capacidad de codificar y decodificar. Los parámetros de codificación de vídeo del algoritmo que controla la codificación en el codificador-decodificador de vídeo suelen preseleccionarse en función del entorno en el que están diseñados para operar. Esto resulta especialmente ventajoso para la transmisión a través de canales que son propensos a error. En estas condiciones los parámetros de codificación se seleccionan para tratar de minimizar el efecto de error de transmisión sobre la calidad de la imagen. Cuando se producen errores durante la transmisión, el vídeo decodificado resultante suele generar una pixelado adicional con molestos cuadrados verdes y rosas, imágenes a saltos y en ocasiones patrones ajedrezados.
En los sistemas existentes, dos parámetros que están normalmente configurados previamente en el algoritmo de codificación son la cantidad de información de refresco intra y la frecuencia de los códigos de inicio. En las redes PSTN, la codificación-decodificación de vídeo inicial la codificación con un cuadro intra completo. Las imágenes de los cuadros intra se codifican sin hacer referencia a otras imágenes, lo que significa que contienen toda la información necesaria para su reconstrucción por parte del decodificador y por este motivo constituyen un punto de entrada esencial para acceder a una secuencia de vídeo. Debido a que el contenido de la información de los cuadros intra es elevado, la tasa de compresión es relativamente baja y por tanto un cuadro intra completo requiere un número significativo de bits de datos para definir la imagen. Por ello, la transmisión de un cuadro intra completo a través de canales con un bajo ancho de banda, aun cuando se utilicen buffer pequeños para reducir, al mínimo, los retardos, lleva bastante tiempo. El resultado puede ser que el decodificador congele en pantalla durante un momento la imagen anterior para permitir la captura de la imagen siguiente. De este modo, como método alternativo, en sucesivas imágenes las porciones de la película se actualizan (o refrescan) en modo intra en lugar de actualizar toda la imagen de una vez. Por ello, se dice que la imagen tiene refresco intra. Normalmente esto se produce a partir de macrobloques de 16 x 16 píxeles. Si las tasas a las cuales se refrescan los macrobloques son bajas, podrán percibirse en la imagen distorsiones debidas a errores de transmisión durante un período prolongado de tiempo y sólo desaparecerán cuando el macrobloque erróneo se intra-refresque. En redes con tendencia a error resulta por tanto necesario aumentar el número de macrobloques de refresco intra en cada cuadro, o la tasa de transferencia a la cual se envían los cuadros intra completos.
Otra técnica utilizada para minimizar el impacto de los errores de transmisión consiste en reducir el tamaño de las áreas afectadas. Dado que el tren de bits codificado contiene palabras de código de codificación de longitud variable (VLC), en la mayoría de los casos un error en el tren de bits hace que el decodificador pierda la sincronización con las palabras de código VLC. El decodificador sólo podrá continuar decodificando correctamente tras recibir un código de inicio. Normalmente, los códigos de inicio se encuentran al comienzo de los cuadros de imagen codificados; no obstante, la mayoría de las normas de codificación de vídeo también permiten la inserción de códigos de inicio de cualquier parte de una imagen, por ejemplo al comienzo de cada fila de macrobloques o incluso con mayor frecuencia aún. De este modo, para reducir el tamaño de las áreas afectadas por errores de transmisión, pueden introducirse códigos de inicio en la imagen con una mayor frecuencia. La densidad de estos códigos de inicio es un compromiso entre la menor calidad de la imagen causada por un mayor número de códigos de inicio y el tamaño de la imagen que se ha visto afectada por errores de transmisión. En entornos propensos a error resulta ventajoso sacrificar una parte de la calidad visual de la imagen a fin de reducir el área de la imagen afectada por errores de transmisión.
El método general actual consiste en programar previamente la información de refresco intra y los parámetros del código de inicio en el algoritmo que controla el codificador de vídeo dependiendo del nivel de error de transmisión previsto. Los datos de refresco intra y los códigos de inicio resultan razonablemente efectivos para mitigar los efectos de errores de transmisión predecibles, pero estos métodos tienen ciertas carencias. Principalmente, dichas carencias radican en el hecho de que los errores de transmisión reales no son siempre predecibles y en las situaciones en las que existe un amplio margen entre el error de transmisión previsto y el error de transmisión real, los parámetros de refresco intra y de código de inicio no serán coherentes con el nivel necesario para dichos parámetros de codificación. Por ejemplo, si los errores de transmisión son inferiores a los previstos, el nivel de datos de refresco intra o la repetición de códigos de inicio serán superiores a los necesarios y, por lo tanto, el exceso será redundante. Por otra parte, si los errores de transmisión son mucho peores de lo previsto, la información de refresco intra y de código de inicio será insuficiente y se propagará tan ampliamente tanto temporal como espacialmente en las imágenes decodificadas que el resultado será una calidad de imagen deficiente.
En los terminales multimedia H.234 conocidos, es posible enviar varios comandos desde un decodificador receptor a un codificador transmisor a través del protocolo de control H.245. Un comando es videoFastUpdatePicture [imagen con actualización rápida de vídeo] mediante el cual el decodificador solicita al codificador la introducción del modo de actualización rápida lo antes posible y se actualiza toda la imagen. El protocolo no define cómo debe llevar a cabo la actualización el codificador. El protocolo también define el comando videoFastUpdateGOB [GOB con actualización rápida de vídeo] que solicita al codificador la introducción del modo de actualización rápida lo antes posible y se actualiza el GOB completo; y videoFastUpdateMB [MB con actualización rápida de vídeo] que solicita al codificador la introducción del modo de actualización rápida lo antes posible y se actualiza el macrobloque completo. De este modo, el decodificador puede identificar la imagen, el GOB o el macrobloque que debe actualizarse.
En una realización básica, un terminal multimedia, de acuerdo con H.234, enviará un comando videoFastUpdatePicture cada vez que se detecte un error. Igualmente, se enviará un comando videoFastUpdateGOB por cada GOB corrupto.
De acuerdo con H.245, el terminal solicitante pide un acuse de recibo al codificador por cada mensaje enviado, y si el acuse de recibo no se envía a tiempo, el decodificador transmitirá de nuevo el mensaje. Esto significa que el canal de control podrá congestionarse en exceso con comandos repetidos.
En el Apéndice 1 de H.263 se presenta un mecanismo de petición de repetición denominado seguimiento de error (Error tracking) en el cual se utiliza el protocolo H.245 para transmitir indicaciones sobre qué macrobloques de un cuadro se han recibido corruptos. El codificador de vídeo efectúa el seguimiento de los errores de predicción en los Z cuadros anteriores. Basándose en las indicaciones H.245 y en los contadores de error de predicción, el codificador de vídeo puede decidir qué macrobloques va a actualizar en modo intra. Un tercer sistema conocido de transmisión de vídeo con petición de repetición se define en el Anexo N de H.263. Este se conoce como modo de selección de imagen de referencia. Define las formas en las que un decodificador de vídeo indica qué segmentos de imagen (GOB o rebanadas) están corrompidos y en función de esta información el codificador de vídeo puede codificar las partes corrompidas utilizando cuadros anteriores en lugar del último. El decodificador envía un acuse de recibo negativo (NACK) por cada segmento de imagen corrupto. De este modo, si se ha corrompido una imagen completa estará corrompido un NACK por cada segmento. Alternativamente, el decodificador puede enviar petición de repetición positiva, es decir qué segmentos se han recibido sin corromper y el codificador puede utilizar solamente dichas áreas no corruptas para la predicción
El documento US 5528284 describe un método para decodificar vídeo mediante el cual, en respuesta a un error en los datos recibidos para un cuadro de vídeo, tan sólo se solicita el refresco INTRA de un cuadro de vídeo completo (y no de una parte) si los datos de refresco solicitados van a llegar con anterioridad a la llegada de un refresco INTRA programado (no específicamente solicitado). Esto evita solicitudes de refresco INTRA innecesarias. Si se decide efectuar una nueva solicitud de refresco correspondiente a todo el cuadro de vídeo, se abortan los datos de vídeo codificados correspondientes al cuadro ya enviado al decodificador al igual que cualesquiera datos recibidos con posterioridad hasta que se reciben los datos de refresco INTRA solicitados. Durante este período, el proceso de decodificación queda congelado. No se produce la medición del tiempo transcurrido desde la transmisión de un primer mensaje de petición de actualización. Este documento no describe ni sugiere la transmisión de un mensaje posterior de solicitud de actualización desde un decodificador de vídeo a un codificador de vídeo únicamente cuando ha transcurrido un período de tiempo predeterminado desde que se transmitió desde el decodificador de vídeo al codificador que efectuó la transmisión un mensaje de petición de actualización anterior correspondiente a la porción de los datos de vídeo en cuestión, limitando de este modo la transmisión múltiple de mensajes de petición de actualización correspondientes a la misma porción errónea.
Un método para decodificar vídeo que incluye recibir datos de vídeo codificados por parte de un decodificador de vídeo, decodificar dichos datos de vídeo para obtener datos de vídeo decodificados y determinar si los datos de vídeo decodificados contienen un error y, cuando se determina la presencia de un error, enviar un mensaje de petición de actualización desde dicho decodificador de vídeo a un codificador de vídeo que efectúa la transmisión solicitando la actualización de, al menos, la parte correspondiente de los datos de vídeo que contienen el error, determinar si los datos de vídeo codificados con posterioridad para la correspondiente porción de los datos de vídeo contienen un error, caracterizado por determinar sí un período de tiempo predeterminado ha transcurrido desde la transmisión del mensaje de actualización anterior y transmitir un mensaje de petición de actualización adicional correspondiente a la porción de los datos de vídeo posterior tan sólo ha transcurrido el período de tiempo predeterminado limitando de este modo la múltiple transmisión de mensajes de petición de actualización para la misma porción
errónea.
Los mensajes de petición de actualización pueden solicitar la actualización de una imagen completa de la secuencia de vídeo. Adicional o alternativamente los mensajes de petición de actualización pueden solicitar la actualización de un segmento de una imagen de la secuencia de vídeo.
Preferiblemente, el período de tiempo predeterminado es proporcional al retardo de propagación de ida y vuelta entre el decodificador de vídeo y el codificador de vídeo. Ventajosamente, el período predeterminado es el doble del retardo de ida y vuelta.
Preferiblemente, el método incluye la comparación del número de cambios en los datos de vídeo posteriores con datos de la imagen anterior para un área correspondiente, enviándose el mensaje de petición de actualización adicional cuando la cantidad de cambios supera un umbral predeterminado y ha transcurrido ya el período de tiempo predetermina-
do.
Preferiblemente, el mensaje de petición de actualización adicional se envía cuando la cantidad del movimiento de una imagen anterior supera un umbral predeterminado y si ha transcurrido ya el período de tiempo predeterminado.
Preferiblemente, un área de una imagen que contiene un error se oculta al determinarse un error en los datos de vídeo decodificados.
Preferiblemente, un área de una imagen que contiene un error se oculta al determinar un error en los datos de vídeo decodificados y cuando se determina que se encuentra presente un error tal que no es posible decodificar una imagen, todos los componentes de la imagen se etiquetan como ocultos y se decodifica la siguiente imagen.
De acuerdo con un aspecto adicional de la invención, la invención facilita un aparato de decodificación de vídeo que incluye:
medios para recibir datos de vídeo codificados;
medios para decodificar dichos datos de vídeo para obtener datos de vídeo decodificado, medios para determinar si los datos de vídeo decodificado contienen un error, medios para enviar un mensaje de petición de actualización a un codificador de vídeo transmisor solicitando la actualización de, al menos, una porción correspondiente de los datos de vídeo que contienen el error y medios para determinar si los datos decodificados posteriores para una porción correspondiente de los datos de vídeo contienen error y caracterizado porque incluye medios de determinación para determinar si ha transcurrido un período de tiempo predeterminado desde la transmisión del mensaje de petición de actualización anterior y en el que el aparato decodificador está dispuesto para transmitir solamente un mensaje de petición de actualización adicional para la siguiente porción correspondiente de los datos de vídeo, si hubiera transcurrido ya el período de tiempo predeterminado, limitando de este modo la transmisión múltiple de mensajes de petición de actualización para la misma porción errónea.
Preferiblemente, el aparato incluye medios para comparar el número de cambios de los datos de vídeo decodificado con respecto a los datos de la imagen anterior para un área correspondiente y el decodificador está dispuesto para enviar el mensaje de petición de actualización adicional cuando la cantidad de cambios supera un umbral predeterminado y ha transcurrido ya el período de tiempo predeterminado.
Ventajosamente, el mensaje de petición de actualización adicional se envía cuando la cantidad del movimiento de una imagen anterior supera un umbral predeterminado y ha transcurrido ya el período de tiempo predeterminado.
La invención también se aplica a un dispositivo radio móvil.
A continuación se describirá la invención, a modo de ejemplo, haciendo referencia a las figuras adjuntas en las cuales:
La figura 1 muestra un sistema de comunicaciones móviles multimedia;
La figura 2 muestra un ejemplo de los componentes multimedia de un terminal multimedia;
La figura 3 muestra un ejemplo de un codificador-decodificador de vídeo;
La figura 4 es un diagrama de flujo que muestra el funcionamiento de un decodificador de vídeo de acuerdo con una primera realización de la invención;
La figura 5 es un diagrama de flujo que muestra el funcionamiento a nivel de imagen de un decodificador de vídeo de acuerdo con la invención;
La figura 6 es un diagrama de flujo que muestra el funcionamiento a nivel GOB de un decodificador de vídeo de acuerdo con la invención;
La figura 7 es un diagrama de flujo que muestra un algoritmo de decodificación de macrobloques llevado a cabo por un decodificador de vídeo de acuerdo con la invención;
La figura 8 es un diagrama de flujo que muestra el funcionamiento a nivel de imagen de una realización adicional de un decodificador de vídeo de acuerdo con la invención;
La figura 9 es un diagrama de flujo que muestra el funcionamiento a nivel de imagen de un codificador de vídeo de acuerdo con la invención; y
La figura 10 es un diagrama de flujo que muestra el funcionamiento a nivel GOB de un codificador de vídeo de acuerdo con la invención.
Se describirá adicionalmente la invención haciendo referencia a la recomendación H.324. No obstante, no es la intención limitar la aplicación de la invención a este y a sus protocolos relacionados.
La figura 1 muestra un sistema típico de comunicaciones móviles multimedia. Un primer terminal móvil multimedia 1 se comunica con un segundo terminal móvil multimedia 2 a través de un enlace radio 3 de una red de comunicaciones móvil 4. Los datos de control se envían entre los dos terminales 1, 2 así como los datos multimedia.
La figura 2 muestra los típicos componentes multimedia de un terminal 1 de acuerdo con H.324. El terminal incluye un codificador-decodificador de vídeo 10 de acuerdo con H.263, un codificador-decodificador de audio 20 de acuerdo con G.723, un gestor de protocolos de datos 30 de acuerdo con T.120, un gestor de control 40 de acuerdo con H.245, un multiplexor/demultiplexor 50 de acuerdo con H.223 y un módem 60 (si fuese necesario). El codificador-decodificador de vídeo 10 recibe las señales procedentes de un dispositivo de captura de vídeo del terminal (no mostrado) (por ejemplo una cámara) para codificar y recibir señales procedentes de un terminal remoto 2 para ser decodificadas y visualizadas por el terminal 1 en una pantalla 70. El codificador-decodificador de audio 20 recibe señales para su codificación del micrófono (no mostrado) del terminal 1 y recibe señales procedentes de un terminal remoto 2 para ser decodificadas y reproducidas por el altavoz (no mostrado) del terminal 1.
El gestor de control 40 controla el funcionamiento del codificador-decodificador de vídeo 10, del codificador-decodificador de audio 20 y del gestor de protocolos de datos 30. No obstante, dado que la invención se refiere al funcionamiento del codificador-decodificador de vídeo 10, no se facilitarán comentarios adicionales del codificador-decodificador de audio 20 ni del gestor de protocolos 30.
La figura 3 muestra un ejemplo de un codificador-decodificador de vídeo 10 de acuerdo con la invención. El codificador-decodificador de vídeo incluye un componente codificador 100 y un componente decodificador 200. El componente codificador 100 incluye una entrada 101 para recibir una señal de vídeo procedente de una cámara o fuente de vídeo (no mostrada) del terminal 1. Un conmutador 102 conmuta el codificador entre el modo de codificación intra y el modo inter.
En el modo intra, la señal de vídeo procedente de la entrada 101 se transforma a coeficientes DCT mediante un transformador DCT 103. A continuación los coeficientes DCT se transfieren 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 codificador-decodificador de vídeo que también recibe control de realimentación desde el terminal receptor 2 mediante el gestor de control H.245 40.
En el modo inter, el conmutador 102 funciona de forma que acepte de un restador 106 la diferencia entre la señal procedente de la entrada 101 y una imagen anterior almacenada en el almacén de imágenes 107. Los datos del almacén de imágenes 107 se generan haciendo pasar los datos facilitados por el cuantificador a través de un cuantificador inverso 108 y aplicando una transformación DCT inversa 109 a los datos cuantificados inversamente. Los datos resultantes son añadidos a los contenidos del almacén de imagen 107 por un sumador 110. Un calculador de movimiento 111 puede generar datos de compensación del movimiento a partir de los datos del almacén de imagen 107 en la forma convencional.
El codificador-decodificador de vídeo genera los coeficientes DCT cuantificados 112a, el índice de cuantificación 112b (es decir, los detalles relativos a la cuantificación utilizada), una bandera intra/inter 112c que indique el modo de codificación realizado (I o P/B), una bandera de transmisión 112d que indica el número de cuadro a codificar y los vectores de movimiento 112e correspondientes a la imagen que se está codificando. Todos ellos son multiplexados conjuntamente por el multiplexor 50 junto con otras señales multimedia.
El componente decodificador 200 del codificador-decodificador de vídeo 10 incluye un cuantificador inverso 120, un transformador DCT inverso 121, un compensador de movimiento 122, un almacén de imagen 123 y un controlador 124. El controlador 124 recibe señales de control del codificador-decodificador de vídeo demultiplexadas por el demultiplexor 50 a partir del tren multimedia codificado. En la práctica, el controlador 105 del codificador y el controlador 124 del decodificador pueden ser el mismo procesador.
A continuación se describirá el funcionamiento del codificador-decodificador de vídeo 10, en el supuesto que terminal 1 recibe datos de vídeo codificados procedentes del terminal 2, haciendo referencia en primer lugar a su función de decodificador. El terminal 1 recibe una señal multimedia procedente del terminal de transmisión 2. El demultiplexor 50 demultiplexa la señal multimedia y transfiere los datos de vídeo al codificador de vídeo 10 y los datos de control H.245 al control H.245 40. El decodificador 200 del codificador-decodificador 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 continuación para su reproducción en una pantalla 70 del terminal receptor 1. El controlador 124 del decodificador comprueba la integridad de los datos recibidos y en caso de detectar un error puede solicitar la actualización de los datos corrompidos al codificador del terminal transmisor 2 en la forma que se describirá a continuación.
Pueden producirse errores en los datos de vídeo a nivel de imagen, a nivel GOB o a nivel de macrobloque. Puede llevarse a cabo la comprobación de errores en cada nivel.
Un error a nivel de imagen significa que la imagen no puede decodificarse y está perdida por completo o que está tan corrompida que en la práctica está perdida. Un error a nivel de imagen puede detectarse de varias formas. La figura 4 muestra un diagrama de flujo que indica un método para generar mensajes de actualización de acuerdo con una primera realización de la invención. En primer lugar (300) el decodificador comienza a decodificar una imagen recibida. Si el encabezado de la imagen está corrompido (302) o se encuentra un parámetro poco probable (por ejemplo se ha fijado una bandera inter cuando el tipo de codificación es intra) se considera que la imagen está perdida.
Alternativamente puede detectarse un error determinando el tipo de codificación utilizado en la imagen y, si el tipo de codificación era intra y se ha determinado que hay más de Q segmentos corruptos (304), se considerará que la imagen está perdida. Los segmentos pueden incluir GOBs, rebanadas o macrobloques. Por ejemplo, en el formato de imagen QCIF hay 9 GOBs por imagen. Por lo tanto, podría establecerse un criterio de forma que si, por ejemplo, se han corrompido más de 4 GOBs de una imagen se considerará que la imagen está perdida. Puede determinarse si un GOB está corrompido o no mediante CRC.
Alternativamente, si se ha producido la propagación temporal de errores a lo largo de más de F imágenes (por ejemplo, un MB no se ha actualizado dentro de un período determinado X) y el área oculta ha crecido por encima de un nivel predeterminado sin ser actualizada (306) se considerará que la imagen está perdida. Para ello, durante la decodificación, en el decodificador se mantiene el seguimiento del estado (por ejemplo, oculto/inter/ intra) de los macrobloques de la imagen y considera que la imagen está perdida cuando se han marcado como ocultos más de un número predeterminado de macrobloques.
Alternativamente, si se considera que la imagen actual N está perdida, el controlador 124 determina (307) si el cuadro anterior al cuadro actual (N-1) contenía una gran cantidad del movimiento o una gran cantidad de errores de predicción. Esto puede conseguirse durante la decodificación de la siguiente imagen (N+1), recopilando los vectores de movimiento de la siguiente imagen (N+1) y calculando el desplazamiento representado para la imagen completa. Esto puede llevarse a cabo calculando el movimiento medio representado por los vectores de movimiento o contando el número de vectores de movimiento asociados a la imagen. Si se determina que el cuadro posterior al cuadro actual no contenía un gran número de errores de movimiento o predicción, se decodificará (300) la siguiente imagen. De lo contrario, es posible que la imagen actual deba producir una imagen aceptable, es decir la siguiente imagen tiene codificación inter y debe predecirse a partir de la imagen correctamente decodificada anterior.
Cuando se encuentra un error a nivel de imagen, el controlador 124 determina (308) si el contenido de la imagen ha cambiado significativamente desde la última actualización de la imagen. Esto puede conseguirse generando histogramas de los valores de pixel de luminancia y/o crominancia del cuadro actual y de una imagen anteriormente decodificada con éxito y comparando los histogramas. Alternativamente, pueden compararse las sumas de los gradientes de ambas imágenes. La suma de gradientes representa, para cada imagen, la suma de las diferencias entre los valores de luminancia de los píxeles adyacentes en las direcciones x e y. Si se considera que la imagen actual ha cambiado considerablemente, el controlador 24 determina a continuación (312) si ha transcurrido más de un período T desde que se envió la actualización de imagen anterior. En este caso, se envía un mensaje videoFastUpdatePicture (314) al terminal transmisor 2. A continuación el decodificador pasa a decodificar la siguiente imagen (300) sin esperar la respuesta del codificador al comando de actualización.
T es proporcional al retardo de propagación de ida y vuelta del trayecto de comunicación entre los dos terminales de comunicaciones 1, 2 que puede ser medida por el gestor de protocolos H.245 40. Un valor típico de T es dos veces el retardo de propagación de ida y vuelta. El valor de T se determina para permitir el retardo de propagación de ida y vuelta entre el decodificador receptor y decodificador transmisor y tiempo que tarda el codificador transmisor en responder a los comandos de actualización.
No es necesario ejecutar todas las etapas 302, 304, 306 y 307: puede utilizarse cada una de ellas por separado así como otros métodos de detección de error.
La figura 5 es un organigrama que muestra el funcionamiento a nivel de imagen de un decodificador de acuerdo con una segunda realización de la invención. En primer lugar (400) se decodifica la siguiente imagen N. Si decodificador es incapaz de decodificar la imagen (402), la imagen tendrá estado de "perdida". El decodificador enviará esta decisión cuando el encabezado de la imagen sea irrecuperable. En este caso, el controlador del decodificador 124 inspecciona la imagen anterior (N-m) recibida y correctamente decodificada y calcula la cantidad del movimiento de la imagen anterior (404). Esto puede llevarse a cabo, por ejemplo calculando la cantidad total de desplazamiento representada por los vectores de movimiento asociados a los MBs de la anterior imagen decodificada correctamente (N-m). Si este movimiento es inferior o igual a un umbral predeterminado D, la bandera "Check Next Picture [comprobar próxima imagen]" se pondrá a 1 (406) y se decodificará la siguiente imagen (N+1) (400). Si el movimiento es superior a un umbral predeterminado D, se considerará que la imagen está corrupta y todos los MB se marcarán como corruptos (408). Esto se logra poniendo el estado de todos los macrobloques de la imagen como "ocultos". A continuación el controlador 124 determina (410) si ha transcurrido más de un período T_{1} desde el envío del anterior comando de actualización de imagen. En este caso, se enviará al codificador transmisor un mensaje videoFastUpdatePicture (412). En cualquiera de los casos, la bandera "Check Next Picture (comprobar imagen)" se pone a 0 (414) y se decodifica la imagen siguiente (400).
T_{1} puede ser proporcional al retardo de ida y vuelta del trayecto de comunicación entre los dos terminales de comunicaciones 1, 2 que pueden ser medidos por el gestor de protocolo H.245 40. Un valor apropiado para T_{1} es dos veces el retardo de ida y vuelta.
Si el decodificador ha conseguido decodificar con éxito los datos del encabezado de imagen (402), se decodifican los GOB de la imagen (500) (véase figura 6). De acuerdo con H.263, la inclusión de un encabezado GOB es opcional. Si se omite, el decodificador no lleva a cabo ninguna comprobación de la integridad a nivel GOB y decodifica inmediatamente el encabezado y los datos de los MBs del GOB.
Como se muestra en la figura 7, cuando se decodifica cada GOB de una imagen se determina el estado de cada MB del GOB (602). Si un macrobloque está corrompido o perdido, el MB se oculta utilizando técnicas conocidas de ocultación de error y el estado del MB se pone en "oculto" (604). En el caso de otros MB, el decodificador determina el tipo de MB a partir del encabezado del macrobloque. En el caso de los MBs con codificación intra, el estado se pone a "actualizar" (606). El controlador 124 lleva un registro (608) del estado de los MBs de cada GOB y de cada imagen. En el caso de MB con codificación inter, el estado se copia del MB correspondiente del cuadro anterior que ha sido decodificado.
Volviendo a la figura 6, una vez decodificados todos los MB de un GOB (en la medida en la que pueda hacerlo el decodificador), el número de MB ocultos en el GOB que se está decodificando se determina mediante el examen de los registros de estado MB (608/502). Si el número de MB ocultos es inferior a un umbral predeterminado M (503) se decodificará el siguiente GOB (501). No obstante, si el número de MB ocultos es superior a un umbral predeterminado M (503) el controlador 124 comprobará (504) si el decodificador ha ordenado previamente una actualización de los GOB. Si se hubiese enviado anteriormente un comando de actualización, el controlador 124 determina (505) si ha transcurrido más de un período T_{2} desde enviar la anterior actualización GOB. En ese caso, se enviará un comando videoFastUpdateGOB (506). De lo contrario, se decodificará el siguiente GOB (501). T_{2} también es proporcional al retardo de ida y vuelta del trayecto de comunicación entre los dos terminales de comunicaciones 1, 2 que puede ser medido por el gestor de protocolos H.245 40. Un valor típico de T_{2} es dos veces el retardo de ida y vuelta.
Si no se hubiese enviado previamente ninguna actualización GOB (504), el controlador verifica si el GOB está corrupto (507). Esto puede averiguarse mediante CRC, tasa de error binario o inspección del encabezado GOB (si existiese). Si se considera que el GOB no está corrupto, se decodifica el siguiente GOB (501). Si se considera que el GOB está corrupto, se examinan los GOB adyacentes (por ejemplo, los anteriores) (508) para ver si incluyen muchos MB con codificación intra. En este caso es probable que el actual GOB corrupto también incluya un gran número de MB con codificación intra. A continuación, el controlador 124 determina (505) si ha transcurrido más de un período T_{2} desde enviar la anterior actualización GOB. En este caso se envía un videoFastUpdateGOB (506). De lo contrario, se decodifica el siguiente GOB (501). Si se determina que los GOB adyacentes no incluyen una gran cantidad de MB con codificación intra, se efectuará un recuento del número de bits del GOB actual (509) y se comparará con un umbral B. Normalmente un GOB QCIF consiste en unos 200 bits y un valor típico de B podría ser 500 bits. Si el número de bits del GOB supera el umbral B, el controlador 124 determinará (505) si ha transcurrido más de un período T_{2} desde enviar la anterior actualización GOB. En este caso se envía un videoFastUpdateGOB (506). De lo contrario, se decodifica el siguiente GOB (501). Si el número de bits no supera un umbral B, se decodifica el siguiente GOB (501). Ese proceso continua hasta que se haya decodificado el último MB del último GOB de una imagen (510) en cuyo momento el proceso de decodificación continua en el punto 420 de la figura 5.
De este modo pueden enviarse varios comandos de actualización GOB para una sola imagen. Se mantiene un temporizador independiente para cada GOB de imagen y se envía un comando de actualización GOB tan sólo cuando ha transcurrido un tiempo superior a T_{2} desde enviar un comando de actualización GOB para dicho GOB de una imagen determinada. Por ejemplo, tras decodificar la imagen N se han enviado comandos de actualización para los GOB 1 y 5. Al decodificar la imagen N+1, aun cuando se haya encontrado que los GOB 1 y 5 están corruptos, no se envían comandos de actualización GOB para estos GOB debido a que no ha transcurrido el período T_{2} desde el anterior envío de un comando de actualización relativo a estos GOB.
Una vez que se han decodificado todos los GOB de una imagen (500), se determina el número total de MB ocultos (420) a partir de los registros de estado MB (608). Si el número de MB ocultos (422) es superior a un umbral C, el controlador 124 determinará (410) si ha transcurrido más de un período T_{1} desde enviar la actualización de una imagen anterior. En este caso, se enviará (412) un mensaje videoFastUpdatePicture al codificador transmisor y se decodificará la siguiente imagen (400). En cualquiera de los casos, la bandera "Check Next Picture (comprobar próxima imagen" se pone a 0 (414).
Si se determina que el número de MB ocultos en la imagen (422) es menor que C pero superior a cero, el controlador 124 determina (424) si la imagen actual ha cambiado considerablemente. Esto puede efectuarse en la forma convencional, por ejemplo comparando los histogramas del cuadro actual y de un cuadro anterior si se hubiese decodificado con éxito y/o comparando las sumas de gradientes de los dos cuadros. Si se considera que la imagen actual ha cambiado considerablemente, el controlador 124 determinará entonces (410) si ha transcurrido más de un período T_{1} desde enviar la actualización de una imagen anterior. En este caso, se envía (412) al terminal transmisor 2 un mensaje videoFastUpdatePicture. Si se determina que la imagen actual no ha cambiado considerablemente, la bandera "Check Next Picture (comprobar próxima imagen)" se pone a 0 (414) y se decodifica la siguiente imagen (400). Si se determina que el número de MB ocultos de la imagen es cero (422), se comprueba la bandera "Check Next Picture (comprobar próxima imagen)" (426). Si la bandera no está fijada (es decir = 0) se decodifica la siguiente imagen (400). No obstante, si la bandera está fijada (es decir = 1) esto significa que se ha perdido la imagen anterior (N-1). La imagen actual (N) se compara por lo tanto con la imagen decodificada con éxito anteriormente (N-n) (donde n es un número entero mayor que 1) y se determina el cambio en el contenido de la imagen (424) como se ha descrito anteriormente.
De acuerdo con la realización que acaba de describirse, se envía un comando de actualización GOB para un GOB a menos que ya se haya enviado dentro del intervalo T_{2} un comando de actualización para el GOB en cuestión. Igualmente se envía un comando de actualización de imagen para cada imagen a menos que ya se haya mandado dicho comando de actualización dentro del intervalo T_{1}. De este modo es posible enviar ambos comandos de actualización GOB y un comando de actualización de imagen para la misma imagen. De acuerdo con otra realización de la invención, los comandos de actualización se generan pero no se envían hasta que no se ha decodificado la imagen completa (en la medida en que esto sea posible). Si se decide enviar un comando de actualización de imagen para la imagen actual que esta decodificándose, no se enviará entonces ningún comando de actualización GOB para la misma imagen. De este modo, en la etapa 506 se genera un comando de actualización GOB pero no se envía y, como se muestra en la figura 8, en el punto 428 el controlador 124 determina si se ha enviado un comando de actualización de imagen para la imagen actual que está decodificándose. En este caso, se ignoran los comandos de actualización GOB correspondientes a la imagen actual. De lo contrario, se envían los comandos de actualización GOB para la imagen actual (430). A continuación se lleva a cabo la decodificación de la siguiente imagen (400).
Seguidamente se describirá el funcionamiento del componente codificador del codificador-decodificador de vídeo del terminal transmisor 2. La primera imagen se codifica como cuadro intra codificándose los cuadros posteriores como cuadros inter hasta que un cambio de escena haga que se codifique un cuadro intra o se inicie una actualización forzada configurada por los parámetros predeterminados del codificador o se reciba un mensaje de actualización procedente del terminal receptor 1.
Cuando el terminal transmisor 2 recibe un mensaje de actualización, el componente codificador responde actualizando la parte de la imagen solicitada en el mensaje del terminal receptor 1. De este modo, si el terminal receptor 1 ha enviado un comando videoFastUpdatePicture, el codificador del terminal transmisor 2 actualiza la totalidad de la imagen. Si el terminal receptor 1 ha enviado un comando videoFastUpdateGOB, el codificador del terminal transmisor 2 actualiza la totalidad del GOB.
La figura 9 es un organigrama que indica cómo un codificador, de acuerdo con la invención, reacciona frente a un comando de actualización de imagen (videoFastUpdatePicture). El terminal transmisor 2 supervisa (800) los mensajes de petición de repetición de codificador-decodificador (por ejemplo, enviados a través de un canal de control H.245) desde el terminal receptor 1 mediante el gestor de control 40 y el controlador 105 del codificador-decodificador de vídeo. Cuando se recibe un comando de actualización (802) en el codificador 100, el controlador 105 comprueba (804) si se ha producido en los S segundos (por ejemplo, 5 segundos) siguientes al inicio de la transmisión. En ese caso, el controlador ordena (806) al codificador que actualice toda la imagen en un formato con codificación intra. Esto hace que el conmutador 102 conmute el restador 106 y el codificador 100 para codificar la totalidad de la imagen siguiente del vídeo procedente de la entrada 101 como cuadro intra.
Si han transcurrido más de S segundos cuando se recibe un comando de actualización de imagen, el controlador 105 determina (808) si el terminal transmisor 2 ha recibido más de R solicitudes de actualización durante un período predeterminado I. En este caso, el controlador conmuta el conmutador 102 al modo intra y se actualiza toda la imagen en un formato con codificación intra (806). De lo contrario, el controlador activa el estado de modo intra del conmutador 102 macrobloque por macrobloque (810) de forma que todos los macrobloques estén codificados en formato intra macrobloque por macrobloque a lo largo de imágenes sucesivas. Si el codificador está programado de esta forma, de tal modo que el proceso de actualización predeterminado (tras los primeros S segundos) consiste en la actualización macrobloque por macrobloque y el decodificador receptor no acepta las sucesivas actualizaciones de macrobloques, el decodificador receptor enviará muchos comandos videoFastUpdatePicture al codificador transmisor. Por lo tanto, la etapa 808 garantiza que el codificador actualizará eventualmente la imagen completa en formato intra. Unos valores apropiados para R e I son 10 y 5 segundos respectivamente.
La figura 10 es un organigrama que muestra cómo el codificador 100 del terminal transmisor 2 reacciona ante un comando videoFastUpdateGOB. Los mensajes de petición de repetición enviados desde el terminal receptor 1 (por ejemplo, a través de un canal de control H.245) son supervisados (900) por el gestor de control 40 y el controlador 105 del componente codificador 100 del terminal transmisor 2. Cuando se recibe un comando videoFastUpdateGOB (902) en el codificador 100, el controlador 105 identifica (904) aquellos macrobloques del GOB solicitado que han experimentado más cambios. Aquellos MB del GOB que más han cambiado se actualizan en primer lugar (906) mediante codificación intra. Estos MB pueden identificarse estudiando pixel a pixel los valores de luminancia de los píxeles de un MB del GOB de la siguiente imagen a codificar y de una imagen anterior. Se genera una suma de la diferencia de cuadrados entre los píxeles de la siguiente imagen y de la imagen anterior. El codificador codifica en primer lugar en modo intra aquellos MB que muestran las mayores diferencias. Los otros MB del GOB se actualizan durante la codificación del MB correspondiente del GOB correspondiente en las siguientes imágenes.
El controlador 105 del codificador 100 también efectúa el seguimiento de la propagación temporal de MB corrompidos. De este modo, cuando se recibe un comando videoFastUpdateGOB, el codificador puede también actualizar aquellos MB predichos a partir del GOB corrupto y para los cuales se ha enviado desde el decodificador un comando videoFastUpdateGOB.

Claims (13)

1. Método para decodificar vídeo que consiste en:
recibir datos de vídeo codificados por un decodificador de vídeo,
decodificar dichos datos de vídeo para formar datos de vídeo decodificados, y
determinar si los datos de vídeo decodificados incluyen un error y, cuando se determina que existe error, enviar un mensaje de petición de actualización desde dicho decodificador de vídeo a un codificador de vídeo transmisor solicitando una actualización de, al menos, una porción correspondiente de los datos de vídeo que incluyen el error, determinándose si los datos posteriormente decodificados de una porción correspondiente de los datos de vídeo contienen error,
caracterizado porque se determina sí ha transcurrido un período predeterminado de tiempo desde la transmisión del mensaje de petición de actualización precedente y transmitir un mensaje de petición de actualización adicional para la porción posterior correspondiente de los datos de vídeo, únicamente cuando el período de tiempo predeterminado hubiese transcurrido, limitando de este modo la transmisión de múltiples mensajes de petición de actualización para la misma porción errónea.
2. Método de acuerdo con la reivindicación 1 en el que los mensajes de petición de actualización solicitan la actualización de una imagen completa de la secuencia de vídeo.
3. Método de acuerdo con la reivindicación 1 en el que los mensajes de petición de actualización solicitan la actualización de un segmento de una imagen de la secuencia de vídeo.
4. Método de acuerdo con las reivindicaciones 1, 2 o 3 en el que el período de tiempo predeterminado es proporcional al retardo de propagación de ida y vuelta entre el decodificador de vídeo y el codificador de vídeo.
5. Método de acuerdo con cualquiera de las reivindicaciones precedentes que comprende comparar la cantidad de cambios en los datos de vídeo decodificados posteriormente con los datos de la imagen anterior para un área determinada y en el que el mensaje de petición de actualización adicional se envía cuando la cantidad de cambios supera un umbral predeterminado y ha transcurrido ya el período de tiempo predeterminado.
6. Método para decodificar vídeo acuerdo con cualquiera de las reivindicaciones precedentes en el que el mensaje de petición de actualización adicional se envía cuando la cantidad del movimiento de una imagen anterior supera un umbral predeterminado y ha transcurrido ya el período de tiempo predeterminado.
7. Método para decodificar vídeo de acuerdo con la reivindicación 1 en el que cuando se determina un error en los datos de vídeo decodificados se oculta un área de una imagen que contiene un error.
8. Método para decodificar vídeo de acuerdo con la reivindicación 7 en el que cuando se determina la existencia de un error tal que no pueda decodificarse una imagen, todos los componentes de la imagen se etiquetan como ocultos y se decodifica la siguiente imagen.
9. Aparato decodificador de vídeo (200) que comprende:
medios (50, 60) para recibir datos de vídeo codificados,
medios (120, 121, 123, 124) para decodificar dichos datos de vídeo y para generar datos de vídeo decodificados, medios (124) para determinar si los datos de vídeo decodificados contienen un error, medios (124) para enviar un mensaje de petición de actualización a un codificador de vídeo transmisor solicitando una actualización de, al menos, una porción correspondiente de los datos de vídeo que contienen el error y medios para determinar si los datos decodificados posteriormente para una porción correspondiente de los datos de vídeo contienen un error y caracterizado porque comprende medios de determinación para determinar si desde la transmisión del anterior mensaje de petición de actualización ha transcurrido un período de tiempo predeterminado y en el que el aparato decodificador está dispuesto para transmitir un mensaje de petición de actualización adicional correspondiente a la siguiente porción de los datos de vídeo, solamente si el período de tiempo predeterminado ha transcurrido, limitándose de este modo múltiples mensajes de petición de actualización para la misma porción errónea.
10. Aparato de acuerdo con la reivindicación 9 que incluye medios para comparar la cantidad de cambios en los datos de vídeo decodificados posteriores respecto de los datos de la imagen anterior para un área correspondiente y en el que el decodificador está dispuesto para enviar el mensaje de petición de actualización adicional cuando la cantidad de cambios supera un umbral predeterminado y ha transcurrido ya el período de tiempo predeterminado.
11. Aparato de acuerdo con la reivindicación 9 o 10 en el que se envía el mensaje de petición de actualización adicional cuando la cantidad del movimiento de una imagen anterior supera un umbral predeterminado y ha transcurrido ya el período de tiempo predeterminado.
12. Dispositivo radio móvil que incluye un aparato decodificador de acuerdo con cualquiera de las reivindicaciones 9 a 11.
13. Dispositivo radio móvil dispuesto para operar de acuerdo con el método decodificador de las reivindicaciones 1 a 8.
ES00906346T 1999-02-18 2000-02-16 Codificacion de video. Expired - Lifetime ES2267498T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9903676A GB2347038A (en) 1999-02-18 1999-02-18 A video codec using re-transmission
GB9903676 1999-02-18

Publications (1)

Publication Number Publication Date
ES2267498T3 true ES2267498T3 (es) 2007-03-16

Family

ID=10847994

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00906346T Expired - Lifetime ES2267498T3 (es) 1999-02-18 2000-02-16 Codificacion de video.

Country Status (11)

Country Link
US (1) US6611561B1 (es)
EP (2) EP1657935B1 (es)
JP (1) JP4603695B2 (es)
CN (3) CN1642288A (es)
AT (1) ATE331391T1 (es)
AU (1) AU2805600A (es)
DE (1) DE60028942T2 (es)
ES (1) ES2267498T3 (es)
GB (1) GB2347038A (es)
PT (1) PT1157562E (es)
WO (1) WO2000049810A1 (es)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
JP3483806B2 (ja) * 1999-07-28 2004-01-06 松下電器産業株式会社 動画像信号の符号化装置及び符号化方法
FR2809917B1 (fr) * 2000-05-30 2002-08-30 Cit Alcatel Codage d'image par segments avec prediction du mouvement
GB2366464A (en) * 2000-08-14 2002-03-06 Nokia Mobile Phones Ltd Video coding using intra and inter coding on the same data
KR100396892B1 (ko) * 2000-10-05 2003-09-03 삼성전자주식회사 비디오 mp3 시스템, 축소 비디오데이터 생성장치와생성방법 및 축소 비디오데이터 복원장치 및 복원방법
JP2002191048A (ja) * 2000-12-22 2002-07-05 Ando Electric Co Ltd 動画符号通信評価方法及び動画符号通信評価装置
US7133455B2 (en) * 2000-12-29 2006-11-07 Intel Corporation Providing error resilience and concealment for video data
JP2004532540A (ja) * 2001-03-05 2004-10-21 インタービデオインコーポレイテッド 誤り耐性のある符号化のためのシステム及び方法
NZ531863A (en) * 2001-08-23 2005-10-28 Polycom Inc System and method for video error concealment
FR2829635A1 (fr) * 2001-09-07 2003-03-14 Cit Alcatel Procede de compression d'images d'animations
US7149248B2 (en) * 2001-09-12 2006-12-12 Broadcom Corporation Command packet system and method supporting improved trick mode performance in video decoding systems
US7020203B1 (en) * 2001-12-21 2006-03-28 Polycom, Inc. Dynamic intra-coded macroblock refresh interval for video error concealment
ATE490649T1 (de) * 2002-03-27 2010-12-15 British Telecomm Videokodierung und -übertragung
RU2321967C2 (ru) * 2002-07-15 2008-04-10 Нокиа Корпорейшн Способ маскирования ошибок в видеопоследовательностях
US7260269B2 (en) * 2002-08-28 2007-08-21 Seiko Epson Corporation Image recovery using thresholding and direct linear solvers
KR100548316B1 (ko) * 2002-11-08 2006-02-02 엘지전자 주식회사 동영상 에러 보정 방법 및 장치
US9192859B2 (en) * 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US7827458B1 (en) * 2003-03-03 2010-11-02 Apple Inc. Packet loss error recovery
US20110181686A1 (en) * 2003-03-03 2011-07-28 Apple Inc. Flow control
US20040252761A1 (en) * 2003-06-16 2004-12-16 Dilithium Networks Pty Limited (An Australian Corporation) Method and apparatus for handling video communication errors
US7796499B2 (en) 2003-12-05 2010-09-14 Telefonaktiebolaget L M Ericsson (Publ) Method of and system for video fast update
US20080240255A1 (en) * 2004-01-23 2008-10-02 Kazuhiro Koyama Moving Picture Communication Device, Moving Picture Communication System, and Moving Picture Communication Method
JP2006060813A (ja) * 2004-08-20 2006-03-02 Polycom Inc ビデオデコーダにおける誤り隠蔽
KR100678050B1 (ko) 2004-10-27 2007-02-02 삼성전자주식회사 이동 통신 시스템에서 영상 데이터를 송수신하기 위한장치 및 방법
CN100461859C (zh) * 2004-11-12 2009-02-11 乐金电子(昆山)电脑有限公司 移动终端客户端及识别并还原解码器错误运行的方法
US9204167B2 (en) * 2005-01-24 2015-12-01 Thomson Licensing Video error detection technique using a CRC parity code
TW200633539A (en) * 2005-03-09 2006-09-16 Pixart Imaging Inc Estimation method of motion vector based on distance weighted searching sequence
US9237347B2 (en) * 2005-03-21 2016-01-12 The Regents Of The University Of California Systems and methods for video compression for low bit rate and low latency video communications
CN100459717C (zh) * 2005-04-20 2009-02-04 华为技术有限公司 基于h.264的压缩视频传输误码消除方法
US9661376B2 (en) * 2005-07-13 2017-05-23 Polycom, Inc. Video error concealment method
US8229983B2 (en) * 2005-09-27 2012-07-24 Qualcomm Incorporated Channel switch frame
US8670437B2 (en) * 2005-09-27 2014-03-11 Qualcomm Incorporated Methods and apparatus for service acquisition
US7827467B2 (en) * 2006-01-04 2010-11-02 Nokia Corporation Method for checking of video encoder and decoder state integrity
US8325822B2 (en) 2006-01-20 2012-12-04 Qualcomm Incorporated Method and apparatus for determining an encoding method based on a distortion value related to error concealment
US8861585B2 (en) 2006-01-20 2014-10-14 Qualcomm Incorporated Method and apparatus for error resilience algorithms in wireless video communication
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
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8385424B2 (en) 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
CN101536523B (zh) * 2006-11-14 2013-01-23 高通股份有限公司 用于信道切换的系统及方法
CN101536524B (zh) * 2006-11-15 2012-06-13 高通股份有限公司 用于使用信道切换帧的应用的系统和方法
CN101291434A (zh) * 2007-04-17 2008-10-22 华为技术有限公司 多视编解码方法及装置
FR2930387B1 (fr) * 2008-04-17 2010-09-24 Canon Kk Procede de traitement d'un flux de donnees codes
KR100949917B1 (ko) * 2008-05-28 2010-03-30 한국산업기술대학교산학협력단 적응적 인트라 예측을 통한 고속 부호화 방법 및 시스템
US20090303309A1 (en) * 2008-06-04 2009-12-10 Pantech Co., Ltd. Mobile terminal and method for transmitting video data in video telephony system
US8780986B2 (en) * 2008-06-06 2014-07-15 Apple Inc. Refresh pixel group selection and coding adjustment
CN101742437B (zh) * 2009-12-11 2013-08-07 中兴通讯股份有限公司 移动视频的通信方法及服务端、服务器
US9246830B2 (en) * 2011-10-05 2016-01-26 Futurewei Technologies, Inc. Method and apparatus for multimedia queue management
US8904024B2 (en) * 2012-08-03 2014-12-02 Ittiam Systems (P) Ltd System and method for low delay fast update for video streaming
US9407923B2 (en) * 2013-05-20 2016-08-02 Gamefly Israel Ltd. Overconing lost IP packets in streaming video in IP networks
JP6897059B2 (ja) * 2016-10-26 2021-06-30 セイコーエプソン株式会社 回路装置、電気光学装置、電子機器及び移動体
WO2017104346A1 (ja) * 2015-12-15 2017-06-22 セイコーエプソン株式会社 回路装置、電気光学装置、電子機器、移動体及びエラー検出方法
JP6720517B2 (ja) * 2015-12-15 2020-07-08 セイコーエプソン株式会社 回路装置、電気光学装置、電子機器、移動体
JP6840994B2 (ja) * 2016-10-26 2021-03-10 セイコーエプソン株式会社 回路装置、電気光学装置、電子機器、移動体及びエラー検出方法
CN108574684B (zh) * 2017-03-14 2020-08-28 大唐移动通信设备有限公司 一种解压缩的方法和装置
US10291936B2 (en) 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
CN115079673B (zh) * 2022-07-05 2024-06-11 重庆赛力斯凤凰智创科技有限公司 一种故障上传方法、装置、设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0441168B1 (en) * 1990-02-06 1996-10-16 ALCATEL ITALIA Società per Azioni System, packet structuring and device for processing output information from a signal encoder
JPH04170184A (ja) * 1990-10-12 1992-06-17 Mitsubishi Electric Corp 画像伝送装置
US5455629A (en) * 1991-02-27 1995-10-03 Rca Thomson Licensing Corporation Apparatus for concealing errors in a digital video processing system
JPH06237451A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd 動画通信方式および端末装置
US5737022A (en) * 1993-02-26 1998-04-07 Kabushiki Kaisha Toshiba Motion picture error concealment using simplified motion compensation
US5745169A (en) * 1993-07-19 1998-04-28 British Telecommunications Public Limited Company Detecting errors in video images
AU686198B2 (en) * 1993-07-19 1998-02-05 British Telecommunications Public Limited Company Detecting errors in video images
JPH07322248A (ja) * 1994-05-30 1995-12-08 Matsushita Electric Ind Co Ltd 動画像データの伝送方法および伝送装置
US5550847A (en) * 1994-10-11 1996-08-27 Motorola, Inc. Device and method of signal loss recovery for realtime and/or interactive communications
JPH0993592A (ja) * 1995-07-13 1997-04-04 Matsushita Electric Ind Co Ltd 画像符号化装置
JP3630474B2 (ja) * 1995-07-14 2005-03-16 沖電気工業株式会社 動画像伝送システム及び動画像伝送装置
US5768533A (en) * 1995-09-01 1998-06-16 National Semiconductor Corporation Video coding using segmented frames and retransmission to overcome channel errors
US5910827A (en) * 1997-02-26 1999-06-08 Kwan; Katherine W. Video signal decoding arrangement and method for improved error concealment
JPH10247901A (ja) * 1997-03-04 1998-09-14 Matsushita Electric Ind Co Ltd 再送制御方法
US6091775A (en) * 1997-04-17 2000-07-18 Sharp Kabushiki Kaisha Video-coding device and video-decoding device
JP3905969B2 (ja) * 1998-01-30 2007-04-18 株式会社東芝 動画像符号化装置および動画像符号化方法
US6104757A (en) * 1998-05-15 2000-08-15 North Carolina State University System and method of error control for interactive low-bit rate video transmission
US6304295B1 (en) * 1998-09-18 2001-10-16 Sarnoff Corporation Region-based refresh strategy for video compression

Also Published As

Publication number Publication date
JP2002537736A (ja) 2002-11-05
EP1657935B1 (en) 2016-06-29
CN1192635C (zh) 2005-03-09
EP1657935A3 (en) 2009-03-18
EP1157562A1 (en) 2001-11-28
EP1157562B1 (en) 2006-06-21
CN1897697A (zh) 2007-01-17
AU2805600A (en) 2000-09-04
GB2347038A (en) 2000-08-23
CN1642288A (zh) 2005-07-20
DE60028942T2 (de) 2007-02-15
JP4603695B2 (ja) 2010-12-22
EP1657935A2 (en) 2006-05-17
GB9903676D0 (en) 1999-04-14
US6611561B1 (en) 2003-08-26
CN1340275A (zh) 2002-03-13
PT1157562E (pt) 2006-11-30
WO2000049810A1 (en) 2000-08-24
DE60028942D1 (de) 2006-08-03
ATE331391T1 (de) 2006-07-15

Similar Documents

Publication Publication Date Title
ES2267498T3 (es) Codificacion de video.
ES2339743T3 (es) Codificacion de video.
CA2377865C (en) Video coding using repeated header data
US6744924B1 (en) Error concealment in a video signal
JP2012231532A (ja) ビデオ誤り隠蔽法
EP1345451A1 (en) Video processing
WO2009047697A2 (en) System and method for error concealment
HK1092978A (en) Video coding
HK1099452A (en) Video encoding and decoding method and apparatus
HK1114494B (en) Method and apparatus for video source encoding, and method and apparatus for video source decoding