ES2267498T3 - Codificacion de video. - Google Patents
Codificacion de video. Download PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000033001 locomotion Effects 0.000 claims description 29
- 238000005065 mining Methods 0.000 claims 1
- 238000012546 transfer Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 10
- CDBYLPFSWZWCQE-UHFFFAOYSA-L Sodium Carbonate Chemical compound [Na+].[Na+].[O-]C([O-])=O CDBYLPFSWZWCQE-UHFFFAOYSA-L 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000001934 delay Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 2
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 101150086005 gob-1 gene Proteins 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- 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/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/164—Feedback from the receiver or from the transmission channel
- H04N19/166—Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
-
- 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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- 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/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
- H04N19/895—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 in combination with error concealment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6375—Control 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission 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.
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.
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.
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)
| 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)
| 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 |
-
1999
- 1999-02-18 GB GB9903676A patent/GB2347038A/en not_active Withdrawn
-
2000
- 2000-02-16 EP EP05077436.3A patent/EP1657935B1/en not_active Expired - Lifetime
- 2000-02-16 DE DE60028942T patent/DE60028942T2/de not_active Expired - Lifetime
- 2000-02-16 ES ES00906346T patent/ES2267498T3/es not_active Expired - Lifetime
- 2000-02-16 CN CN200510005721.2A patent/CN1642288A/zh active Pending
- 2000-02-16 AT AT00906346T patent/ATE331391T1/de not_active IP Right Cessation
- 2000-02-16 PT PT00906346T patent/PT1157562E/pt unknown
- 2000-02-16 CN CN00803932.1A patent/CN1192635C/zh not_active Expired - Lifetime
- 2000-02-16 EP EP00906346A patent/EP1157562B1/en not_active Expired - Lifetime
- 2000-02-16 AU AU28056/00A patent/AU2805600A/en not_active Abandoned
- 2000-02-16 JP JP2000600432A patent/JP4603695B2/ja not_active Expired - Fee Related
- 2000-02-16 CN CN200610100586.4A patent/CN1897697A/zh active Pending
- 2000-02-16 WO PCT/EP2000/001328 patent/WO2000049810A1/en not_active Ceased
- 2000-02-17 US US09/506,277 patent/US6611561B1/en not_active Expired - Lifetime
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 |