ES2240128T3 - Codificacion de video. - Google Patents
Codificacion de video.Info
- Publication number
- ES2240128T3 ES2240128T3 ES00949342T ES00949342T ES2240128T3 ES 2240128 T3 ES2240128 T3 ES 2240128T3 ES 00949342 T ES00949342 T ES 00949342T ES 00949342 T ES00949342 T ES 00949342T ES 2240128 T3 ES2240128 T3 ES 2240128T3
- Authority
- ES
- Spain
- Prior art keywords
- frame
- data
- image
- image header
- header data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000007906 compression Methods 0.000 claims abstract description 42
- 230000006835 compression Effects 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 230000000295 complement effect Effects 0.000 claims description 22
- 230000006872 improvement Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 13
- 238000010295 mobile communication Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims 1
- 238000013144 data compression Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 11
- 230000033001 locomotion Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 230000002441 reversible effect Effects 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008014 freezing Effects 0.000 description 2
- 238000007710 freezing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
- Glass Compositions (AREA)
- Television Systems (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
Método para codificar una señal de vídeo codificada por compresión, incluyendo dicho método: - recibir datos codificados por compresión que representan una primera trama de una señal de vídeo; - analizar los datos codificados por compresión que representan la primera trama para detectar los datos de cabecera de imagen (80) y los datos de imagen (82, 84); caracterizado porque cuando se detecta un error en los datos de cabecera de imagen (80) de la primera trama, los datos de imagen (82, 84) de la primera trama son almacenados en una memoria temporal de datos de imagen (228), recibir datos codificados por compresión siguientes a la primera trama, la detección de una repetición de los datos de cabecera de imagen 80 de la primera trama a partir del contenido de los datos por compresión siguientes a la primera trama y la decodificación de los datos de imagen almacenadas (82, 84) de la primera trama, utilizando los datos repetidos de cabecera de imagen (80) recibidos en los datos codificados porcompresión siguientes a la primera trama.
Description
Codificación de vídeo.
La presente invención hace referencia a la
codificación y decodificación de vídeo.
Uno de los recientes objetivos de las
telecomunicaciones móviles ha sido aumentar la velocidad de
transmisión de datos, a fin de permitir la incorporación de
servicios multimedia en las redes móviles. Uno de los componentes
clave de los servicios multimedia es el vídeo digital. La
transmisión de vídeo incluye un tráfico de datos bastante continuo,
que representa imágenes en movimiento. Como es del dominio público,
la cantidad de datos necesarios para transferir imágenes es elevada
comparado con muchos otros tipos soportes, y hasta ahora, la
utilización de vídeo en terminales con una baja tasa de
transferencia de bits ha sido, prácticamente mínimo. No obstante, se
han conseguido importantes avances en el ámbito de la compresión de
vídeo con una baja tasa de transferencia de bits. Puede obtenerse un
vídeo de calidad aceptable con unas tasas de transferencia de bits
de aproximadamente 20 Kb por segundo. Como resultado de esta
reducción progresiva en la tasa de transferencia de bits, el vídeo
constituirá un servicio viable que podrá ofrecerse en canales como
los canales de comunicación móvil.
Una secuencia de vídeo consiste en una serie de
imágenes o tramas fijas. Los métodos para la compresión de vídeo se
basan en reducir la redundancia y los componentes irrelevantes,
desde el punto de vista de la percepción, de las secuencias de
vídeo. La redundancia en las secuencias de vídeo puede dividirse en
categorías, como redundancia espacial, temporal y espectral.
Redundancia espacial significa la correlación entre pixels
adyacentes situados en el interior de una trama. Redundancia
temporal significa la correlación entre áreas de tramas sucesivas.
La redundancia temporal surge de la posibilidad de que objetos que
aparecen en una imagen previa aparezcan también en la imagen actual.
La compresión puede lograrse generando unos datos de compensación de
movimiento que describen el movimiento (es decir, el desplazamiento)
entre áreas similares de la imagen actual y de una imagen previa.
Por tanto, la imagen actual se predice de este modo a partir de la
imagen anterior. Redundancia espectral significa la correlación
entre los mismos componentes de color de la misma imagen.
Los métodos de compresión de vídeo suelen
establecer una diferencia entre las imágenes que utilizan o no
utilizan una reducción de la redundancia temporal. Las imágenes
comprimidas que no utilizan métodos para reducir la redundancia
temporal se denominan normalmente tramas INTRA o I-, mientras que
las imágenes que se han predicho temporalmente se denominan tramas
INTER o P- (y también tramas B- cuando las tramas INTER pueden
predecirse con antelación o con posterioridad. En el caso de tramas
INTER, la imagen predicha (compensada en movimiento) es rara vez lo
suficientemente precisa, y por tanto, uno de los componentes de cada
trama INTER es también una imagen de error de predicción comprimida
espacialmente.
No obstante, no es posible lograr normalmente una
compresión suficiente con tan sólo reducir la redundancia de la
secuencia de vídeo. De este modo, los codificadores de vídeo tratan
de reducir la calidad de aquellos componentes de la secuencia de
vídeo que son subjetivamente menos importantes. Además, la
redundancia del flujo de bits codificados se reduce mediante una
codificación eficaz sin pérdidas de parámetros y coeficientes de
compresión. La técnica principal consiste en utilizar códigos de
longitud variable.
Un vídeo comprimido puede corromperse fácilmente
mediante errores de transmisión, debido principalmente a dos
razones. En primer lugar, debido a la utilización de una
codificación diferencial predictiva temporal (tramas INTER), un
error se propaga tanto en el espacio como temporalmente. El ojo
humano puede apreciarlo fácilmente durante un período de tiempo
relativamente largo. Las transmisiones a unas tasas bajas de
transferencia de bits en las que hay únicamente unas pocas tramas
con codificación INTRA son especialmente susceptibles a ello (la
transmisión de unas tramas con codificación INTRA pondría fin a la
propagación temporal de error). En segundo lugar, el uso de unos
códigos de longitud variable aumenta la susceptibilidad a error.
Cuando un error de bits altera una palabra de código convirtiéndola
en otra de una longitud diferente, el decodificador pierde la
sincronización de la palabra de código y también decodifica
incorrectamente las palabras de código posteriores exentas de error
(que incluyen varios bits) hasta la siguiente sincronización o
código de inicio (un código de sincronización es un patrón de bits
que no puede generarse a partir de cualquier combinación legal de
otras palabras de código).
Una de las características inherentes a la
transmisión inalámbrica de datos es una probabilidad de error de
bits relativamente alta. Este problema puede abordarse mediante
diversos esquemas de retransmisión de las capas de transporte, red y
enlace. Sin embargo, la desventaja de dichos esquemas es la
posibilidad de demoras ilimitadas y fluctuantes en la transmisión.
En servicios audiovisuales conversacionales es inaceptable tener
grandes demoras entre un extremo y otro. Por tanto, los esquemas de
retransmisión no pueden utilizarse en dichos servicios. En su lugar
hay que tratar de detectar y ocultar los errores de transmisión. En
servicios de recuperación audiovisual de flujo de bits
(streaming), la demora en la transmisión puede variar en
cierta medida debido al hecho de que se produce algún almacenamiento
temporal inicial antes del comienzo de la reproducción. Sin embargo,
se fija la máxima demora aceptable en la transmisión, y si se
excede, se producirá una pausa molesta en la reproducción. En la
práctica, ambos canales de transporte fiables y no fiables se
utilizan en los servicios de recuperación.
No todos los bits de una cadena de flujo de bits
de vídeo comprimido tienen la misma importancia para las imágenes
descomprimidas. Algunos bits definen información vital, como tipo de
imagen (por ejemplo, INTRA o INTER), valor de cuantificación y modos
opcionales de codificación que se han utilizado. La recomendación
ITU-T H. 263 se refiere a codificar vídeo para
comunicaciones con una baja tasa de transferencia de bits. En la H.
263, la información más importante se recopila en la cabecera de
imagen. Un error de transmisión en la cabecera de imagen causa
normalmente una interpretación totalmente errónea de los bits
posteriores que definen el contenido de la imagen. Debido a la
utilización de una codificación diferencial predictiva temporal
(tramas INTER), el error se propaga tanto espacial como
temporalmente. De este modo, un método normal para abordar la
corrupción de la cabecera de imagen consiste en congelar la imagen
anterior en la pantalla, enviar una solicitud de imagen INTRA al
terminal transmisor y esperar la llegada de la trama INTRA
solicitado. Esto puede causar una molesta pausa en el vídeo
recibido, especialmente en secuencias de vídeo conversacionales en
tiempo real.
Los errores en la transmisión tienen una
naturaleza diferente en función de la red subyacente. En las redes
conmutadas por paquetes, como Internet, etc., los errores de
transmisión consisten normalmente en pérdidas de paquetes, debido a
la congestión en los elementos de la red. En las redes conmutadas
por circuito, como redes móviles (por ejemplo, HSCSD para GSM) los
errores de transmisión consisten normalmente en errores de bits,
donde un "1" se corrompe por un "0" o viceversa.
A fin de impedir la degradación de las imágenes
provocada por errores de transmisión, pueden utilizarse
retransmisiones, pueden aplicarse métodos para la detección y
corrección de errores y/o pueden ocultarse los defectos de los datos
corruptos recibidos. Normalmente, la retransmisión facilita una
forma razonable para proteger los flujos de bits de datos de vídeo
frente a errores, pero los grandes retardos de ida y vuelta
asociados a la transmisión a una baja tasa de transferencia de bits
y unas tasas de errores moderadas o altas hacen que resulte
prácticamente imposible utilizar la retransmisión, especialmente en
aplicaciones de videoteléfono en tiempo real. Los métodos de
detección y corrección de error requieren normalmente grandes
cabeceras de transmisión, dado que añaden alguna redundancia a los
datos. Por tanto, en el caso de aplicaciones con una baja tasa de
transferencia de bits, la ocultación de errores puede considerarse
como la forma preferida para proteger y recuperar imágenes a partir
de los errores de transmisión. Los métodos de ocultación de errores
de vídeo pueden aplicarse normalmente a los errores de transmisión
que se producen por pérdida de paquetes y corrupción de bits.
La H. 263 es una recomendación de
ITU-T de codificación de vídeo para comunicaciones
con baja tasa de transferencia de bits, lo que en general significa
unas tasas de transferencia de datos por debajo de los 64 Kbps. La
recomendación especifica la sintaxis del flujo de bits y su
decodificación. Actualmente existen dos versiones de H. 263. La
versión 1 consiste en el algoritmo básico y cuatro modos opcionales
de codificación. La versión 2 del H. 263 es una ampliación de la
versión 1, que facilita doce nuevos modos de codificación
negociables. La H. 263 es actualmente uno de los métodos de
codificación preferidos propuestos para aplicaciones inalámbricas
móviles, en las que la tasa de transferencia de bits es del orden de
28,8 bits por segundo, y normalmente se utilizan imágenes en el
formato QCIF (Quarter Common Intermediate Format) de 176 x 144
pixels. Actualmente, las tasas de transferencia de bits esperadas
para productos inalámbricos de la tercera generación son
aproximadamente de 64 Kbps, y la resolución de la imagen puede ser
superior.
Las imágenes se codifican como luminancia (Y) y
dos componentes (C_{B} y C_{R}) de diferencia de color
(crominancia). Las imágenes de crominancia se muestrean a la mitad
de la resolución de la imagen de luminancia a lo largo de ambos ejes
de coordenadas. Los datos de la imagen se codifican bloque a bloque,
representando cada bloque 8 x 8 pixels de luminancia o
crominancia.
Cada imagen codificada, así como el
correspondiente flujo de bits codificados, está organizada en una
estructura jerárquica con cuatro capas, que son, por orden
ascendente, capa de bloque, capa de macro-bloque,
capa de segmento de imagen y capa de imagen. La capa del segmento de
imagen puede estar organizada, bien como un grupo de bloques o como
una porción.
Un bloque se refiere a 8 x 8 pixels de luminancia
o crominancia. Los datos de la capa de bloques consisten en
coeficientes de transformación de coseno discreto uniformemente
cuantificado, que se exploran en zig-zag, se
procesan con un codificador de longitud de recorrido y se codifican
con códigos de longitud variable.
Cada macro-bloque se refiere a 16
x 16 pixels de luminancia, y a los pixels 8 x 8 espacialmente
correspondientes de los dos componentes de crominancia. En otras
palabras, un macro-bloque consiste en cuatro bloques
de luminancia 8 x 8, y los dos bloques de diferencia de color 8 x 8
correspondientes espacialmente. Cada macro-bloque
INTER está asociado a un vector de movimiento que define la posición
de un área correspondiente en la trama de referencia que se asemeja
a los pixels del macro-bloque INTER actual. Los
datos del macro-bloque INTER incluyen datos de error
de predicción codificados para los pixels del
macro-bloque.
Normalmente, cada imagen se divide en segmentos
conocidos como grupos de bloques (GOBs). Un grupo de bloques (GOB)
para una imagen QCIF (Quarter Common Intermediate Format) incluye
normalmente una fila de macro-bloques (por ejemplo,
11 macro-bloques). Los datos para cada GOB consisten
en una cabecera opcional GOB seguida por datos para los
macro-bloques dentro del GOB. Si se utiliza el modo
estructurado de porción opcional, cada imagen se divide en porciones
en vez de en GOBs.
Si se utiliza un modo opcional estructurado en
porciones, cada imagen se divide en porciones en lugar de en GOBs.
Una porción incluye una serie de macro-bloques
consecutivos por orden de exploración. Los datos para cada porción
consisten en una cabecera de porción seguido de datos para los
macro-bloques de la porción.
Los datos de la capa de imagen contienen
parámetros que afectan a toda el área de la imagen y a la
decodificación de los datos de la imagen. Los datos del parámetro
codificados se organizan en la denominada cabecera de imagen. En
formato QCIF, una imagen se divide en 176 x 144 pixels, que
corresponden a 8 filas de 11 macro-bloques.
Las cabeceras de imagen y GOB (o porción)
comienzan con un código de sincronización o inicio. Ninguna otra
palabra de código o combinación legal de palabras de código puede
formar el mismo patrón de bits que los códigos de sincronización.
Por tanto, los códigos de sincronización pueden utilizarse para la
detección de errores en el flujo de bits y para
re-sincronizar posteriormente los errores de
bits.
La H. 263 es la norma de compresión de vídeo
utilizada en la recomendación ITU-T H. 324
("Terminal for Low Bit-Rate Communication"
[Terminal para comunicación con tasa binara baja]) de febrero de
1998, que define la comunicación por videoteléfono a través de redes
PSTN y móviles. Cuando se efectúa una conexión H. 324 a través de un
canal inalámbrico, es posible que el flujo de bits recibidos incluya
errores de transmisión. En un flujo de bits de vídeo H. 263, estos
errores son extremadamente perjudiciales si se producen en las
cabeceras de imagen. Un error de este tipo puede impedir la
decodificación de los contenidos de la imagen. Los errores en las
cabeceras de imagen INTRA causan las implicaciones más graves, dado
que estas imágenes se utilizan como fuentes iniciales de predicción
temporal. Los errores en una cabecera de imagen INTRA afectan
perjudicialmente a la correspondiente imagen INTRA decodificada, y a
cada imagen posterior inicialmente predicha a partir de esta imagen
INTRA.
La patente europea EP 0844792 A2, titulada:
"Método para disposición de datos de vídeo comprimidos para
transmisión a través de un canal de comunicación con ruido"
muestra un sistema de transmisión de señal de vídeo digital
comprimido que incluye un procesador de transporte para segmentar
los datos ya comprimidos en células de transporte para transmisión.
Unas porciones específicas de los datos comprimidos se formatean en
células de transporte adicionales, que están intercaladas entre las
células de transporte ordinarias. Las células de transporte
adicionales incluyen datos redundantes de señal de vídeo que pueden
utilizarse para volver a sincronizar un decodificador de señal de
vídeo comprimida con posterioridad a la pérdida o corrupción de los
datos transmitidos. El documento no informa ni sugiere que debería
facilitarse una duplicación de datos de cabecera durante la
generación de la señal codificada por compresión a fin de facilitar
un flujo de bits de vídeo codificados por compresión que,
inherentemente, es resistente a error.
De acuerdo con la invención, se facilita un
método de codificación y decodificación de vídeo según se reivindica
en las reivindicaciones adjuntas. También se facilita un codificador
y un decodificador según se reivindica en las reivindicaciones
adjuntas.
Una primera realización de la invención presenta
un método novedoso para repetir las cabeceras de imagen INTRA en
flujos de bits de vídeo, con lo cual se cumple plenamente la
recomendación ITU-T H. 263. La invención presenta
copias redundantes de cabeceras de imagen en el flujo de bits. Si la
cabecera principal de la imagen está corrompida, un codificador
puede utilizar una copia de este para permitir la decodificación de
los contenidos de la imagen. Esta invención introduce un método de
repetición de cabeceras de imágenes INTRA que utiliza una sintaxis
estándar y semánticas de H. 263. Por tanto, todos los
decodificadores que cumplen la norma pueden utilizar el método.
La inclusión de una repetición de la cabecera de
imagen al menos para tramas INTRA significa que un decodificador
receptor no tiene que congelar necesariamente la visualización,
enviar una solicitud de repetición al codificador y esperar a que el
codificador envíe la información repetida. De este modo se evitan
estas molestas pausas debidas a la congelación de la imagen, y un
usuario final debería percibir un vídeo de mejor calidad.
La invención puede aplicarse a aplicaciones en
tiempo real y también en aplicaciones no en tiempo real, como
servicios de recuperación de imágenes que pueden no ser capaces de
responder a solicitudes de repetición INTRA enviadas por un
decodificador
receptor.
receptor.
Los aspectos de la invención se facilitan en las
reivindicaciones.
La invención se describirá ahora a título de
ejemplo únicamente, haciendo referencia a las figuras adjuntas, en
las cuales:
La Figura 1 muestra un sistema de comunicación
móvil multimedia.
La Figura 2 muestra un ejemplo de lo componentes
multimedia de un terminal multimedia.
La Figura 3 muestra una estructura típica de
datos de una señal de vídeo codificada de acuerdo con H. 263.
La Figura 4 muestra un ejemplo de un
codificador-decodificador (codec) de vídeo de
acuerdo con la invención.
La Figura 5 muestra la estructura de datos de una
salida de señal de vídeo codificada por un codificador de acuerdo
con la primera realización de la invención.
La Figura 6 muestra la estructura de datos de una
salida de señal de vídeo codificada por un codificador de acuerdo
con la segunda realización de la invención.
La Figura 7 es un organigrama que muestra el
funcionamiento de un codificador de vídeo de acuerdo con una tercera
realización de la invención.
La Figura 8 es un organigrama que muestra el
funcionamiento de un decodificador de vídeo de acuerdo con una
primera realización de la invención.
La Figura 9 es un organigrama que muestra el
funcionamiento de un decodificador de vídeo de acuerdo con una
tercera realización de la invención.
Con referencia a las recomendaciones H. 324 y H.
263 se efectuará una descripción adicional de la invención. No
obstante, la intención no consiste en limitar la aplicación de la
invención a estos o a otros protocolos asociados.
La Figura 1 muestra un sistema típico de
comunicación móvil multimedia. Un primer terminal multimedia 1 se
comunica con un segundo terminal multimedia 2 a través de un enlace
de comunicaciones 3 y una red de comunicaciones 4. Los datos de
control se envían entre los dos terminales 1, 2, así como los datos
multimedia. En las realizaciones de la invención que van a
describirse, los terminales multimedia 1, 2 son videoteléfonos
móviles / inalámbricos, y la red de comunicaciones es una red de
comunicación móvil, como una red GSM. El enlace de comunicaciones 3,
en esta realización, es un enlace de radio. En otras realizaciones
de la invención, los terminales multimedia pueden ser videoteléfonos
de la Red telefónica pública conmutada (PSTN) o uno puede ser un
terminal multimedia móvil y otro un terminal multimedia PSTN. Los
terminales 1, 2 pueden utilizarse para aplicaciones en tiempo real,
como videotelefonía, o para aplicaciones no en tiempo real, como
servicios de recuperación de datos.
La Figura 2 muestra los componentes típicos
multimedia de un terminal 1 que se ajusta al H. 324. El terminal
incluye un codec (codificador-decodificador) de
vídeo 10 que se ajusta a H. 263, un codec de audio 20 que se ajusta
a G. 723.1, un gestor de protocolo de datos 30 que se ajusta a T.
120, un gestor de control 40 que da salida a la señal de acuerdo con
el protocolo de control H. 245, un multiplexor / demultiplexor 50
que se ajusta a H. 223 y un módem 60 (si fuese necesario). El codec
de vídeo 10 recibe señales de un dispositivo de captura de vídeo del
terminal (por ejemplo, una cámara, (no mostrada)) para codificación
y recibe señales de un terminal remoto 2 para decodificación y
presentación por el terminal 1 en una pantalla 70. El codec de audio
20 recibe señales para codificación del micrófono (no mostrado) del
terminal 1 y recibe señales de un terminal remoto 2 para
decodificación y reproducción mediante un altavoz (no mostrado) del
terminal 1. Estas normas a las que se ha hecho referencia
anteriormente se describen únicamente a modo de ejemplo, y no
pretenden ser limitativas.
El gestor de control 40 controla el
funcionamiento del codec de vídeo 10, del codec de audio 20, del
gestor de protocolo de datos 30 y del multiplexor / demultiplexor
50. No obstante, dado que la invención se refiere al funcionamiento
del codec de vídeo 10, no se facilitarán más comentarios sobre los
demás componentes del terminal.
El codec de vídeo 10 recibe una señal digital de
vídeo de entrada procedente de un fuente de señales (no mostrada).
La señal de vídeo representa una secuencia de tramas en los que cada
trama es una imagen fija. Cuando se visualiza como una secuencia,
las tramas dan la impresión de una imagen en movimiento. Por tanto,
en el presente documento se hará referencia a la secuencia de tramas
como a una imagen en movimiento. El codec 10 codifica la imagen en
movimiento de la fuente de señal (no mostrada) y decodifica una
señal recibida que representa una imagen en movimiento para
presentación en la pantalla
70.
70.
La Figura 3 muestra la estructura de datos para
una trama (o imagen) de una señal de vídeo codificada de acuerdo con
H. 263. Cada trama comienza con una cabecera de imagen 80,
normalmente de alrededor de 50 bits. La cabecera de imagen 80
incluye:
- Un Código de inicio de imagen (PSC) para sincronización;
- Una referencia temporal (TR) generada aumentando el valor de TR en la cabecera de imagen de referencia temporalmente anterior (por ejemplo, trama I) en uno más el número de imágenes saltadas o no referenciadas desde la imagen de referencia transmitida anteriormente.
- Información sobre el tipo (PTYPE) que indica, entre otras cosas, si la trama es una trama INTRA o una trama INTER; el formato de la imagen (CIF, QCIF, etc.); e
- Información del cuantificador (PQUANT) que indica el cuantificador DCT a utilizar para el resto de la imagen.
Después de la cabecera de imagen 80 se encuentran
los datos de imagen 82 para el primer segmento (GOB, porción, etc.)
de la imagen. Debido a la presencia de la cabecera de imagen 80, no
es necesario una cabecera de segmento para el primer segmento. De
este modo, los datos de imagen 82 posteriores a la cabecera de
imagen 80 incluyen un vector de movimiento
macro-bloque 821 (sí fuese de aplicación) y datos de
bloques 822.
Después de los datos 82 correspondientes al
primer segmento de imagen se encuentra una cabecera de segmento 84
(por ejemplo, cabecera GOB) para el siguiente segmento. Este
cabecera GOB incluye:
- Un código de inicio GOB (GBSC) para sincronización;
- Un número de grupo (GN) que indica el número del GOB en la imagen;
- Identificación de la trama GOB (GFID) que tiene el mismo valor en cada segmento de una imagen determinada y el mismo valor que la imagen previamente codificada, cuando las dos imágenes son del mismo tipo (I, P, etc.); e
- Información del cuantificador (GQUANT) que indica el cuantificador a utilizar para el resto de la imagen, (a menos que se hubiese cambiado posteriormente en el flujo de bits).
La cabecera del segmento 84 correspondiente al
segundo segmento va seguido de los datos de la imagen 86 (por
ejemplo, vector de movimiento de macro-bloques (si
fuese de aplicación) y datos de bloques) para dicho segmento. Los
datos de la trama continúan con las cabeceras de segmento 84 y los
datos de la imagen 86 hasta que toda la trama ha sido codificada.
Seguidamente se envía una cabecera de imagen 80 para la siguiente
trama.
Será evidente para el lector que la pérdida de
una cabecera de imagen puede afectar gravemente a la decodificación
de una imagen. El decodificador no será capaz de sincronizarse con
la imagen, no sabrá cómo se ha codificado la imagen (I o P), etc.
Convencionalmente, cuando la cabecera de imagen está corrupta se
descartan todos los datos y se envía una solicitud para una
actualización de la imagen INTRA al dispositivo de transmisión. En
respuesta, el dispositivo de transmisión codifica una trama en modo
INTRA y la imagen actual se congela en la pantalla hasta tanto se
reciban y decodifiquen estos nuevos datos INTRA codificados.
La Figura 4 muestra un ejemplo de un codec de
vídeo 10 de acuerdo con la invención. El codec de vídeo incluye un
componente codificador 100 y un componente decodificador 200.
Considerando que el terminal 1 transmite datos de
vídeo codificados al terminal 2, a continuación se describirá el
funcionamiento del codec de vídeo 10 haciendo referencia a su
función de codificación. El componente codificador 100 incluye una
entrada 101 para recibir una señal de vídeo de una cámara o de una
fuente de vídeo (no mostrada) del terminal 1. Un conmutador 102
conmuta el codificador entre los modos de codificación INTRA e
INTER.
En el modo INTRA, la señal de vídeo procedente de
la entrada 101 entra directamente a un transformador DCT 103 que
transforma los datos de pixels en coeficientes DCT. Los coeficientes
DCT se pasan seguidamente a un cuantificador 104 que cuantifica los
coeficientes. Tanto el conmutador 102 como el cuantificador 104
están controlados por un gestor de control de codificación 105 del
codec de vídeo que recibe también el control de realimentación desde
el terminal receptor 2 mediante el gestor de control H. 245 40. La
salida de datos desde el cuantificador 104 se pasa a través de un
cuantificador inverso 108 y un transformador DCT inverso 109. Los
datos resultantes se añaden a los contenidos de una memoria de
imagen 107 mediante el dispositivo de adición 110. En modo INTRA, el
conmutador 115 está abierto de forma que los contenidos de la
memoria de imagen 107 se sobrescriban mediante la salida del
transformador DCT inverso 109.
En modo INTER, el conmutador 102 funciona de
forma que acepte de un dispositivo de sustracción 106 la diferencia
entre la señal desde la entrada 101 de una imagen anterior que se
encuentra almacenada en la memoria de imagen 107. La salida de datos
de diferencia desde el dispositivo de sustracción 106 representa el
error de predicción entre la imagen actual y la imagen anterior
almacenada en la memoria de imagen 107. El error de predicción se
transforma y cuantifica mediante DCT. Los datos de la memoria de
imagen 107 se actualizan entonces pasando la salida de datos por el
cuantificador 104 a través del cuantificador inverso 10 y el
transformador DCT inverso 109 y añadiendo los datos resultantes a
los contenidos de la memoria de imagen 107 mediante el dispositivo
de adición 110, estando el conmutador 115 cerrado. Un estimador de
movimiento 111 puede generar datos de compensación de movimiento a
partir de los datos de la memoria de imagen 107, de forma
convencional.
El codificador de vídeo 100 produce información
de cabecera (por ejemplo, un indicador de referencia temporal TR
112a para indicar el número de trama que se está codificando, un
indicador INTRA / INTER 112b para indicar el modo de codificación
realizado (I o P/B), un índice de cuantificación 112c (es decir, los
detalles del cuantificador utilizado), los coeficientes DCT
cuantificados 112d y los vectores de movimiento 112e para la imagen
que se está codificando. Estos se codifican y multiplexan
conjuntamente mediante un codificador de longitud variable (VLC)
113. La salida del codificador se multiplexa entonces con otras
señales mediante el multiplexor 50.
En una primera realización de la invención, el
codificador está configurado para enviar repeticiones de la cabecera
de imagen después de cada trama INTRA. Por tanto, se facilita una
memoria de datos 114 para almacenar temporalmente los datos a
repetir. En la primera realización, para cada trama INTRA, la
cabecera de imagen 80 y el primer segmento de datos 82 se repiten
para su transmisión a un decodificador receptor. De este modo, el
decodificador transmite datos en la forma en que se muestra en la
figura 5.
Según se puede apreciar en la Figura 5, la señal
codificada empieza con los datos para la primera imagen 510 de la
señal de vídeo. Este trama tiene codificación INTRA. Los datos
incluyen la cabecera de imagen 80, los datos del primer segmento 82
y las cabeceras 84 y datos 86 para segmentos posteriores de la
primera imagen. La cabecera de imagen 80 y los datos 82 para el
primer segmento de la primera imagen 510 se repiten entonces como
datos 512, teniendo la cabecera de imagen repetida la misma
referencia temporal TR que la trama original. Estos datos repetidos
van seguidos de datos para posteriores tramas con codificación INTER
520, 522, 524. Cuando se codifica el siguiente trama INTRA, los
datos 510' para la trama van seguidos por una repetición 512' de la
cabecera de imagen 80 y los primeros datos del segmento 82 para la
trama INTRA 510'.
Esta configuración conduce a una sobrecarga de
aproximadamente 227 octetos por trama INTRA para una conexión de
28,8 Kbps y una imagen QCIF.
El decodificador receptor recibirá por tanto un
duplicado de la información de cabecera. En estas circunstancias, el
decodificador está configurado para funcionar según se describe en
el Anexo N de H. 263 haciendo referencia al modo "Reference
Picture Selection [Selección de Imagen de Referencia]" (RPS). De
acuerdo con el Anexo N de H. 263, si un decodificador recibe dos o
más cabeceras de imagen que tengan la misma Referencia Temporal
(TR), la segunda cabecera de imagen y las posteriores, así como sus
datos asociados, son ignoradas por el decodificador. De este modo,
si un decodificador receptor consigue decodificar correctamente la
primera aparición de la cabecera de imagen (y por tanto, leer la TR
de esta cabecera), el decodificador ignorará la repetición de la
cabecera de imagen. Así, un codificador de acuerdo con la primera
realización de la invención podrá funcionar con un decodificador
convencional, aunque dicha configuración no aporte ventajas a la
invención. No obstante, se facilita compatibilidad.
En la primera realización descrita anteriormente,
los datos repetidos se refieren a una parte incompleta de una trama,
y en particular, a la cabecera de imagen y a los datos para el
primer segmento de imagen. Por tanto, un decodificador de acuerdo
con la invención detecta la presencia de datos repetidos para
detectar que se han recibido los datos para una trama incompleta, y
utiliza los datos almacenados para completar la trama.
En una segunda realización de un codificador de
acuerdo con la invención, se añaden tramas de vídeo redundantes al
flujo de bits codificados. Dicha trama redundante no se utiliza para
aportar cualquier información adicional a la secuencia de vídeo
transmitida. En su lugar, la trama redundante se utiliza para
repetir la cabecera de imagen de una imagen previa. Las tramas
redundantes se añaden al flujo de bits de vídeo mediante un
codificador de acuerdo con la invención. La presencia de una trama
redundante viene explícitamente marcada para un decodificador, o el
decodificador podrá usar las características implícitas de las
tramas redundantes para detectar la presencia de una trama
redundante de este tipo.
La Figura 6 muestra la estructura de tramas de
una salida de señal de un codificador de acuerdo con la segunda
realización de la invención. El codificador está configurado para
generar y enviar una trama redundante 612 después de cada trama
INTRA 610. De acuerdo con H 263, imágenes consecutivas comprimidas
no pueden representar la misma imagen descomprimida, a menos que se
seleccione el modo "Reference Picture Selection" (RPS) (Anexo
N). La segunda realización de la invención no se basa en que se
seleccione el modo RPS. En este caso, la cabecera de imagen se
almacena únicamente en la memoria de datos 114. Bajo la supervisión
del control 105 la cabecera de imagen original 80 se altera de forma
que la nueva cabecera de imagen 80' sea la misma que la
correspondiente a la trama INTRA 610, excepto que el tipo de
codificación de imagen en el campo PTYPE se cambia de I a P y el
campo TR se incrementa. El control 105 también establece un campo 88
que indica que no se han producido cambios en los datos para toda la
trama. En H. 263 este campo incluye un indicador "Coded Macroblock
Indication [Indicación de Macro-Bloque
Codificado]" (COD) que se configura en relación con un
macro-bloque con codificación INTER y, cuando se
configura, indica que no se enviará información adicional para el
macro-bloque (es decir, sin cambios). Tramas INTER
posteriores 620, 622, 624, codificados en la misma forma que las
tramas 520, 522, 524 mostradas en la Figura 5 se transmiten hasta la
siguiente trama INTRA
610'.
610'.
De acuerdo con otra realización de la invención,
las tramas redundantes se incluyen después de las tramas INTER y de
las tramas INTRA.
La trama redundante de datos repetidos 612
incluye una cabecera de imagen 80' de alrededor de 50 bits, 99 COD
bits (uno para cada uno de los 99 macro-bloques que
se encuentran dentro de una imagen QCIF) y algunos bits de relleno
para alcanzar un número entero de bits para una trama completa. En
conjunto, una trama redundante de este tipo consiste normalmente en
19 bits y de este modo añade aproximadamente un 8% de sobrecarga al
flujo de datos para una conexión H.263 de 28,8 Kbps y una imagen
QCIF. Este valor de sobrecarga se aplica únicamente cuando cada
trama INTRA y cada trama INTER está asociada a una trama redundante.
Evidentemente, la sobrecarga puede reducirse si se codifica una
trama redundante después de cada trama INTRA únicamente.
Según se describe haciendo referencia a las
Figuras 5 y 6, la cabecera de imagen repetida para una trama se
facilita después de los datos originales para la trama de una imagen
y antes que los datos para la siguiente trama.
A continuación se describirá una tercera
realización del codificador. Esta realización está basada en una
nueva adición al campo Información de Mejora Complementaria
(Supplemental Enhancement Information) (Anexo L) de H. 263. La
adición permite la repetición de ciertos campos de capa de imagen de
la imagen previa en los campos de información de mejora
complementaria de la imagen actual. (Los campos de capa de imagen no
se repiten en la misma imagen, ya que corren el peligro de
corromperse al mismo tiempo que los propios datos de la capa de
imagen).
La inclusión de la Información de Mejora
Complementaria en una cabecera e imagen se indica, de acuerdo con H.
263 mediante un indicador PEI. Si se configura la PEI, esto indica
que la información complementaria viene a continuación en un campo
de 8 bits PSUPP. Una PEI adicional indica que sigue un campo PSUPP
con información adicional, y así sucesivamente.
Los decodificadores que no soportan las
capacidades ampliadas descritas en el Anexo L están diseñados para
descartar PSUPP si la PEI está configurada en 1. Esto permite una
compatibilidad retroactiva para las capacidades ampliadas del Anexo
L de forma que un flujo de datos que utilice las capacidades
ampliadas pueda ser utilizado también sin alteraciones por
decodificadores que no soporten dichas capacidades.
El Anexo L de H. 263 describe el formato de la
Información de Mejora Complementaria enviada en el campo PSUPP de la
capa de imagen de esta Recomendación. La presencia de esta
información de mejora complementaria se indica en la PEI, y se
inserta un bit adicional PEI entre cada octeto de los datos
PSUPP.
Los datos PSUPP consisten en una indicación de
cuatro bits del tipo de función FTYPE, seguida de una especificación
de 4 bits del tamaño de datos del parámetro DSIZE, seguida de
octetos DSIZE de los datos del parámetro de función, opcionalmente
seguida por otra indicación del tipo de función, y así
sucesivamente. Un decodificador que reciba una indicación del tipo
de función que no soporte puede descartar los datos del parámetro de
función para dicha función, y después comprobar una indicación del
tipo de función posterior que puede ser soportada. Los valores FTYPE
que se han definido se muestran en la Tabla L1 de H. 263. Esta
realización de la invención requeriría algunos cambios en el Anexo L
de H. 263. Estos cambios son:
- 1.
- La definición de una nueva indicación del tipo de función (FTYPE) en la Tabla L.1 de H. 263, por ejemplo, Entrada 13 - Repetición de los datos de la capa de imagen; y
- 2.
- La inclusión en el Anexo L de una explicación del efecto de este código FTYPE, por ejemplo:
- La función de Repetición de Datos de Capa de Imagen se utilizará para repetir ciertos campos de la representación codificada de los datos de la capa de imagen de la imagen anterior. Los campos repetidos aparecerán en un orden sintáctico natural, empezando en el campo referencia temporal (TR). En otras palabras, si los bits de la PEI se retirasen de los datos repetidos de la capa de imagen, el flujo de bits de la repetición sería exactamente el mismo que el flujo de bits original en la posición correspondiente. El campo DSIZE de la SEI indica el número de octetos repetidos. Un DSIZE igual a cero se reserva para uso futuro. La información de la cabecera de imagen sigue al octeto FTYPE / DSIZE.
Este método propuesto introduce un retardo
considerable comparado con las anteriores realizaciones cuando se
recupera una cabecera de imagen corrupta, dado que la recuperación
no puede efectuarse hasta tanto se reciba el comienzo de la
siguiente imagen. No obstante, considerando que el funcionamiento de
un decodificador es más rápido que la transmisión de datos de vídeo
en tiempo real, al menos para tasas bajas de transferencia de
tramas, es posible que el decodificador pueda recuperar el tiempo
utilizado para esperar la llegada de la siguiente imagen.
Una forma posible de llevar a cabo un codificador
de acuerdo con la tercera realización se presenta en el organigrama
que se muestra en la Figura 7. En relación con esta realización,
Cabecera de Imagen hace referencia a los datos de capa de
imagen que preceden a la información de mejora complementaria en la
sintaxis del flujo de bits.
La señal no comprimida se introduce en el
codificador (700) a una determinada tasa de transferencia de tramas.
Un algoritmo de control de la tasa de bits decide si codificar o
saltarse una trama en particular (702). Si se va a codificar una
trama, la cabecera de imagen se codifica primero (704). La cabecera
de imagen se almacena también (708) en la memoria de datos 114. En
un determinado momento, sólo se necesitan un máximo de tres
cabeceras de imagen, específicamente la cabecera de imagen actual y
las cabeceras de las dos imágenes previas codificadas. El
codificador determina (706) si el GFID va a cambiar en esta imagen
(comparado con la imagen anterior) basándose en las cabeceras de
imagen de la imagen actual y de las previas. Si el GFID de la imagen
previa difiere también del GFID de la imagen anterior a esa (710)
será necesario repetir la cabecera de imagen de la imagen previa
como información de mejora complementaria. De lo contrario, el
receptor podrá recuperar la cabecera de imagen de la imagen previa
(712) utilizando el GFID bien de la imagen actual o de la imagen que
antecede a la imagen previa. Finalmente, el resto de la imagen se
codifica (714). Después, el bucle de codificación continúa desde el
principio (700).
La cabecera de imagen repetida puede repetirse
sin el PSC. Alternativamente, la cabecera podría manipularse
mediante un código sistemático de corrección de error. Un código
sistemático de corrección de error es tal que los primeros símbolos
k son el mensaje real, y el resto de los símbolos se utilizan para
comprobar errores. En este caso en particular, los primeros bits k
son la cabecera de imagen, y el resto de los bits se transmiten como
información de mejora complementaria en la siguiente trama. En
consecuencia, la selección del código de corrección de error afecta
a cuántos errores de inversión de bit pueden detectarse y
corregirse, y cuántos bits suplementarios son necesarios para esta
protección frente a error.
En las realizaciones del codificador 100
descritas anteriormente, el codificador ha sido preprogramado para
enviar las repeticiones de cabecera de imagen. No obstante, el
codificador 100 puede configurarse adicionalmente para repetir o
actualizar los datos de imagen en respuesta a un comando de un
codificador.
Adicional o alternativamente, el codificador
puede configurarse para enviar una cabecera de imagen repetida cada
vez que el parámetro GFID cambie de estado.
Considerando que el terminal 1 recibe datos de
vídeo codificados desde el terminal 2, el funcionamiento del codec
de vídeo 10 de acuerdo con la invención se describirá a continuación
haciendo referencia a su función de decodificación. El terminal 1
recibe una señal multimedia desde el terminal transmisor 2. el
demultiplexor 50 demultiplexa la señal multimedia y pasa las señales
demultiplexadas a los elementos correctos del receptor, por ejemplo,
los datos de vídeo al codec de vídeo 10, los datos de audio al codec
de audio 20, y los datos de control H. 245 al control H.245 40. El
decodificador 200 del codec de vídeo decodifica los datos de vídeo
codificados mediante cuantificación inversa, transformación DCT
inversa y compensación del movimiento de los datos. Los datos de
vídeo decodificados se envían a la salida para su reproducción en
una pantalla 70 del terminal receptor 1.
Como se muestra en la Figura 4, el elemento
decodificador 200 del codec de vídeo 10 incluye un decodificador de
longitud variable 218, un cuantificador inverso 220, un
transformador DCT inverso 221, un compensador de movimiento 222, una
memoria de imagen 223, un controlador 224, una memoria temporal de
datos de imagen 228 y conmutadores 230 y 232. El controlador 224
recibe señales de control del codec de vídeo demultiplexadas a
partir del flujo multimedia codificado por el demultiplexor 50. En
la práctica, el controlador 105 del codificador y el controlador 224
del decodificador pueden ser el mismo procesador.
El controlador 224 del decodificador comprueba la
integridad de los datos recibidos. Un error en la cabecera de imagen
puede significar que la imagen no puede decodificarse y se pierde
completamente, o que está tan corrupta que está efectivamente
perdida.
A continuación se describirá una primera
realización del decodificador. En funcionamiento normal, el
decodificador 200 recibe datos codificados. El decodificador de
longitud variable (VLD) 218 decodifica los datos recibidos a fin de
reproducir la estructura de la trama original, que tiene el formato
que se muestra en la Figura 3. Es decir, el VLD 218 descomprime los
datos codificados y el controlador 224 detecta el código de inicio
de imagen (PSC) en los datos recibidos. Seguidamente, el controlador
224 utiliza la información de la cabecera de imagen para controlar
el cuantificador inverso 220 y el conmutador 230. Cuando la
información PTYPE indica una trama INTRA, el conmutador 230 se abre
y la salida del dispositivo inverso DCT 221 se introduce en la
memoria de imagen 223. Cuando la información PTYPE indica una trama
INTER, el conmutador 230 se cierra y los contenidos de la memoria de
imagen 223 se añaden a la salida del dispositivo inverso DCT 221 (el
error de predicción decodificado) mediante el dispositivo de adición
234.
Si el decodificador no puede decodificar el
primer cabecera de imagen, pero puede detectar otros segmentos de
imagen, (por ejemplo, el GBSC del segundo segmento 84), el
decodificador almacena estos datos en la memoria de datos de imagen
temporal 228. Cuando el decodificador recibe, decodifica e
identifica los datos de cabecera repetida (y los datos del primer
segmento 82), el decodificador utiliza los datos de la memoria de
imagen temporal para reproducir el resto de la imagen.
De este modo, si el controlador 224 no detecta un
PSC al comienzo de una trama (o bien determina que la cabecera de
imagen está corrupta), pero detecta una cabecera de segmento (es
decir, detectando un código de inicio GOB GBSC), el controlador 224
cambia el estado del conmutador 232 de forma que la salida de datos
del VLD 218 se introduce en la memoria temporal de datos de imagen
228. Estos datos empezarán desde el código GBSC detectado, dado que
el VLD no podrá sincronizar el comienzo de la imagen.
Haciendo referencia a la Figura 5, asumiremos que
el decodificador ha detectado el GBSC en la cabecera 84 para el
segundo segmento de la trama 510. Los datos almacenados en la
memoria temporal de datos de imagen 228 incluyen por tanto la
cabecera 84 y los sucesivos, es decir, la cabecera para el segundo
segmento, datos para el segundo segmento, la cabecera para el tercer
segmento, datos para el tercer segmento, etc. de la trama 510.
Si la cabecera de imagen perdida / corrupta
perteneciese a una trama INTRA, los siguientes datos recibidos por
el decodificador serán por tanto la cabecera de imagen repetida y
los datos del primer segmento 512. El decodificador recibe los datos
512 relativos a la cabecera de imagen repetida 80 y los datos del
primer segmento repetidos 82. El controlador detecta el PSC en los
datos repetidos 512, lee el campo PTYPE de la cabecera y
seguidamente da instrucciones al cuantificador 220 en relación con
el cuantificador a utilizar, y abre el conmutador 230 en respuesta
al campo PTYPE del codificador que indica una trama INTRA. El resto
de la información repetida (es decir, el primer segmento repetido de
los datos) se decodifica mediante el cuantificador inverso 220 y el
transformador IDCT 221, y el primer segmento de imagen repetido
descodificado se envía desde el IDCT 220 a la memoria de imagen
223.
El decodificador reconoce que los datos no
corresponden a una imagen completa, es decir, es solamente una
cabecera de imagen 80 seguido de datos de imagen 82 para un primer
segmento, seguido por una cabecera de imagen para una trama
siguiente, por ejemplo, el decodificador que decodifica los datos
repetidos 512 y que detecta que el código de inicio posterior es
para una trama diferente, es decir, trama 520. En respuesta a esta
detección por parte del decodificador, el controlador 224 altera el
estado del conmutador 223 de forma que los datos de la trama 510
almacenados en la memoria temporal de imágenes 228 se transmiten al
cuantificador inverso 220 y al transformador IDCT 221. Seguidamente,
los datos decodificados se transfieren a la memoria de imagen 223
para actualizar los contenidos de la memoria de imagen con el resto
de los datos decodificados para la imagen actual.
Según se ha mencionado anteriormente, en la
primera realización de un decodificador de acuerdo con la invención,
el decodificador detecta la recepción de una cabecera de imagen
repetida, detectando la aparición de una cabecera de imagen que no
va seguida de datos para una imagen completa (por ejemplo, una
imagen seguida de datos para un segmento de imagen, pero no más).
Podrían utilizarse otros medios para detectar la repetición de la
información de cabecera.
Como se ha explicado anteriormente, cuando el
decodificador puede decodificar la trama 510 correctamente, el
decodificador se limita a descartar la repetición de la cabecera 512
cuando la señal está formateada como se muestra en la Figura 5.
La Figura 8 muestra un organigrama que ilustra un
método de funcionamiento de un codificador de acuerdo con la primera
realización de la invención. En primer lugar (400) el decodificador
200 empieza a decodificar una señal recibida, comprobando si un
código de inicio de imagen (PSC) es el código siguiente en los datos
entrantes. Si se considera que la cabecera de imagen está corrupta
(402) el controlador almacena (404) los datos de imagen asociados
con los restantes segmentos de la imagen en la memoria temporal de
datos de imagen (228).
Pueden utilizarse diferentes medios para
determinar sí la imagen está corrupta. Algunos métodos facilitados a
modo de ejemplo consisten en que el decodificador no pueda detectar
el PSC o que un método de detección de error (como el checksum
[comprobación suma] CRC H. 223) indique que existe un error, o se
encuentra un parámetro poco probable en la cabecera (por ejemplo, se
configura un indicador INTER en la cabecera del segmento cuando el
tipo de codificación de la cabecera de imagen es INTRA).
Seguidamente, el decodificador 200 busca la
siguiente cabecera exenta de error. Si esta cabecera es para una
trama INTRA el decodificador trata de decodificar la trama. Si se
descubre que faltan algunos segmentos de imágenes, se leen los
segmentos correspondientes de la trama anterior de la memoria
temporal de imágenes 228 y se decodifican. Si la cabecera de imagen
perdida / corrupta perteneciese a una trama INTRA, los siguientes
datos recibidos por el decodificador serán la cabecera de imagen
repetida y los datos del primer segmento 512. El decodificador
decodifica (408) la cabecera de imagen y los datos para el primer
segmento de imagen. El decodificador detecta (406) que los datos no
corresponden a una trama completa, y en respuesta, el decodificador
decodifica (408) los datos almacenados en la memoria temporal de
datos de imagen 228 basándose en esta cabecera de imagen
repetida.
Las técnicas normales de ocultación de error
pueden utilizarse para ocultar errores en la imagen que hubiesen
surgido con motivo de errores de transmisión o de codificación. Como
es normal, el decodificador también puede enviar una solicitud de
actualización al codificador cuando la trama decodificada se
considera demasiado errónea.
Un decodificador convencional, al recibir una
trama de datos incompleto llegaría a la conclusión de que los datos
que faltan se han perdido en la transmisión. Por tanto, el
decodificador enviaría una solicitud de imágenes INTRA en la forma
conocida. De este modo, un codificador de acuerdo con la invención
puede funcionar con un decodificador que no se ajuste a la
invención.
A continuación se describirá una segunda
realización de un decodificador de acuerdo con la invención.
Haciendo referencia a una señal formateada, como se muestra en la
Figura 6, si el decodificador no pudiese decodificar la cabecera
original de la trama 610, el decodificador almacena los restantes
datos de imagen (84, 86) para la trama en la memoria temporal de
imagen 228. El primer segmento de la trama no se almacena porque no
puede ser identificado por el decodificador. Cuando se recibe la
trama redundante 612, el decodificador lee los datos como si
tuviesen una codificación INTER, pero sin cambios. Normalmente, un
codificador de acuerdo con la técnica anterior no facilitaría esta
información (siendo aparentemente redundante en un 100%). Un
decodificador de acuerdo con la invención detecta la recepción de
una cabecera de imagen repetida al detectar la aparición de una
cabecera de imagen INTER seguida de un campo que indica que no se
han producido cambios. Cuando se reciben dichos datos, el
decodificador utiliza la cabecera de imagen INTER para configurar el
decodificador, y seguidamente decodifica la información de la trama
anterior almacenado en la memoria 228.
En esta realización, los datos para el primer
segmento de imagen no se repiten, y por tanto, podrán ser
considerados como perdidos. El decodificador, al recibir los datos
de la cabecera repetida hace que el conmutador 232 altere el estado
de forma que los contenidos de los datos de imagen se actualicen
desde el segundo segmento en adelante. Alternativamente, el
decodificador puede estimar cuándo deberían empezar los datos de
imagen del primer segmento en los datos corruptos, y a partir de
ahí, decodificar los datos. Por ejemplo, vamos a asumir que existe
un error de inversión de un bit en la cabecera de imagen original, y
por tanto, no es posible decodificar la cabecera de imagen. No
obstante, el PSC sigue siendo válido y por tanto el comienzo de la
trama puede detectarse de forma fiable. La imagen completa 610 se
almacena en la memoria temporal de imagen 228 y cuando se recibe la
cabecera repetida, el decodificador 200 empieza a decodificar los
datos almacenados en la posición donde se espera finalice la
cabecera de imagen, y donde se espera que comiencen los datos para
el primer segmento.
De este modo, el decodificador inspecciona los
datos entrantes. Si la cabecera de imagen se pierde o está corrupta,
los datos para el resto de la trama se almacenan en la memoria
temporal de datos de imagen 228. Seguidamente, los datos posteriores
se decodifican, y si los datos se refieren a una trama INTER e
indican que no hay cambios en la imagen, la cabecera de imagen se
decodifica y los datos de la memoria temporal de datos de imagen 228
se decodifican utilizando la información de cabecera de imagen de la
trama redundante.
Cuando la señal está formateada como se muestra
en la Figura 6, si el decodificador consigue decodificar
correctamente la cabecera de imagen de la trama 610, el
decodificador continuará y decodificará la repetición de la cabecera
612. Como se ha descrito haciendo referencia a la Figura 6, la
información repetida 612 incluye la cabecera de imagen 82
(incluyendo un TR incrementado) y un campo 88 que indica que ninguno
de los datos ha cambiado respecto a la trama anterior codificado.
Dado que no hay datos almacenados en la memoria temporal de datos de
imagen 228, el decodificador descartará la trama redundante de datos
612 y decodificará la trama posterior 620.
Al recibir una señal codificada de acuerdo con la
tercera realización de la invención, un decodificador de acuerdo con
la invención utiliza los datos que siguen al octeto FTYPE /DSIZE
sobre la información de mejora complementaria de la trama siguiente,
para decodificar los datos almacenados en la memoria temporal de
imagen 228.
A continuación se describirá la tercera
realización del decodificador haciendo referencia a la Figura 9.
Esta realización utiliza el método SEI descrito anteriormente
haciendo referencia al codificador y a la figura 7.
El decodificador funciona como sigue. En primer
lugar (900), el decodificador recibe la cabecera de imagen de la
siguiente imagen transmitida. Si la cabecera no tiene errores (901),
el decodificador puede decodificar la cabecera sin problemas (902).
Seguidamente puede continuar codificando el resto de la imagen
(904). Si se detectasen algunos errores en la cabecera de imagen
(901), el decodificador buscará (906) el primer cabecera del
segmento de imágenes sin error (GOB o porción) de imagen. Vamos a
llamar a esta posición de flujo de bits la primera posición de
re-sincronización. Si el GFID de ese cabecera es la
misma que en la imagen anterior (908), el decodificador puede
recuperar los elementos cruciales de cabecera de imagen (910) y
continuar decodificando (904), empezando desde ese segmento de
imagen en particular. Si el GFID difiere de la de la imagen anterior
(908), el decodificador busca (912) el siguiente código de inicio de
imagen. Si los datos de la capa de imágenes de esa imagen contienen
una repetición SEI de cabecera de imagen (914), el decodificador
puede recuperar la cabecera de imagen de la imagen actual (916).
También debe configurar la posición de decodificación en el flujo de
bits nuevamente en la primera posición de
re-sincronización (918). Si los datos de la capa de
imágenes no contienen una repetición SEI de cabecera de imagen, el
decodificador busca el siguiente código de inicio de segmento de
imágenes y comprueba (920) si el GFID de la cabecera es el mismo que
el GFID de la imagen que se está decodificando. Si los GFIDs son
iguales, el decodificador puede recuperar la cabecera de imagen
(910) y continuar decodificando a partir de la primera posición de
re-sincronización. Si los GFIDs son diferentes entre
sí, el decodificador no tiene medios para recuperar la cabecera de
imagen corrupta. En este caso (922), puede solicitar una
actualización INTRA, por ejemplo.
La memoria temporal de imagen puede almacenar
datos codificados para una pluralidad de tramas. Considerando que la
mayoría de las tramas, en aplicaciones con una baja tasa de
transferencia de bits están codificados como trama INTER, la mayoría
de los datos almacenados en la memoria temporal de datos de imagen
representarán posiblemente datos de error de predicción, y por tanto
serán relativamente compactos. De este modo, la memoria temporal de
imagen debería ser suficiente para almacenar datos de al menos una
trama INTRA y una trama INTER de datos, estando la trama INTER
normalmente codificada con aproximadamente 250 octetos para una
imagen QCIF a 28,8 Kbps.
Si cualesquiera datos para tramas posteriores del
vídeo estuviesen también almacenados en la memoria temporal de datos
de imagen 228, estos se decodificarán también y se transmitirán a la
memoria de imagen 223 a fin de alinear los contenidos de la memoria
de imagen 223 con los contenidos de la memoria de imagen
correspondiente del dispositivo de transmisión.
Claims (46)
1. Método para codificar una señal de vídeo
codificada por compresión, incluyendo dicho método:
- recibir datos codificados por compresión que
representan una primera trama de una señal de vídeo;
- analizar los datos codificados por compresión
que representan la primera trama para detectar los datos de cabecera
de imagen (80) y los datos de imagen (82, 84);
caracterizado porque cuando se detecta un
error en los datos de cabecera de imagen (80) de la primera trama,
los datos de imagen (82, 84) de la primera trama son almacenados en
una memoria temporal de datos de imagen (228), recibir datos
codificados por compresión siguientes a la primera trama, la
detección de una repetición de los datos de cabecera de imagen 80 de
la primera trama a partir del contenido de los datos por compresión
siguientes a la primera trama y la decodificación de los datos de
imagen almacenadas (82, 84) de la primera trama, utilizando los
datos repetidos de cabecera de imagen (80) recibidos en los datos
codificados por compresión siguientes a la primera trama.
2. Método para codificar de acuerdo con la
reivindicación 1, en el que la etapa de detección de una repetición
de datos de cabecera de imagen (80) de la primera trama incluye:
analizar, sí los datos codificados por compresión
siguientes a la primera trama están relacionados con una trama
completa de la señal de vídeo o con una parte incompleta de una
trama, y detectar una repetición de datos de cabecera de imagen (80)
de la primera trama cuando los datos codificados por compresión
siguientes a la primera trama están relacionados con una parte
incompleta de una trama.
3. Método para codificar de acuerdo con la
reivindicación 1, en el que la etapa de detección de una repetición
de datos de cabecera de imagen (80) de la primera trama incluye:
analizar, sí los datos codificados por compresión
siguientes a la primera trama incluyen datos de cabecera de imagen
(80) y datos adicionales, significando los datos adicionales que una
trama de señal de vídeo no está alterada respecto de una trama de
referencia de la señal de vídeo, y de estarlo, determinar que se ha
detectado una repetición de los datos de cabecera de imagen (80) de
la primera trama.
4. Método para codificar de acuerdo con las
reivindicaciones 1, 2 ó 3, en el que la etapa de detección de una
repetición de datos de cabecera de imagen (80) de la primera trama
se lleva a cabo cada vez que se almacenan datos en la memoria
temporal de datos de imagen (228).
5. Método para codificar de acuerdo con
cualquiera de las reivindicaciones anteriores, en el que la etapa de
detección de los datos de cabecera de imagen repetidas (80) de la
primera trama incluye el análisis de los datos de cabecera de imagen
(80) de una trama siguiente para determinar sí los datos de cabecera
de imagen (80) de la trama siguiente incluyen datos relativos a los
datos de cabecera de imagen (80) de la primera trama, y de ser así,
detectar una repetición de los datos de cabecera de imagen (80) de
la primera trama.
6. Método para codificar de acuerdo con la
reivindicación 5, en el que la etapa de detección de datos de
cabecera de imagen repetidas (80) de la primera trama incluye el
análisis de información de mejora complementaria (SEI) de la trama
siguiente.
7. Método para codificar vídeo que incluye:
recibir una señal de vídeo para su codificación
por compresión;
codificar los datos que representan una primera
trama (80, 82, 84, 86 ...) de dicha señal de vídeo para formar los
datos codificados por compresión;
caracterizado por repetir una parte, pero
no la totalidad de dichos datos que representan la primera trama
(80, 82, 84, 86 ...) en los datos codificados por compresión
siguientes a los datos codificados por compresión que representan la
primera trama (80, 82, 84, 86 ...), incluyendo dicha parte repetida
datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86
...).
8. Método para codificar de acuerdo con la
reivindicación 7, en el que una parte de los datos se repite
únicamente para tramas que están codificadas en forma de trama
INTRA.
9. Método para codificar de acuerdo con las
reivindicaciones 7 u 8 en el que los datos repetidos incluyen datos
de cabecera de imagen (80) y un primer segmento de datos de imagen
(82) de la primera trama (80, 82, 84, 86 ...).
10. Método para codificación de acuerdo con las
reivindicaciones 7 u 8 en el que dichos datos repetidos consisten en
datos de cabecera de imagen (80) y un indicador relativo a que
ningún dato de imagen se ha alterado desde una trama anterior.
11. Método para codificar de acuerdo con
cualquiera de las reivindicaciones 7 a 10, en el que la etapa de
repetición de los datos de cabecera de imagen (80) de la primera
trama incluye adjuntar los datos repetidos de cabecera de imagen
(80) de la primera trama a los datos de cabecera de imagen (80) de
una trama siguiente.
12. Método para codificar de acuerdo con la
reivindicación 11 en el que los datos repetidos de cabecera de
imagen (80) de la primera trama están incluidos en la información de
mejora complementaria (SEI) de la trama siguiente.
13. Codificador de vídeo (100) que incluye:
una entrada (101) para recibir una señal de vídeo
a codificar por compresión;
medios (102, 103, 104, 105, 111) para codificar
por compresión los datos que representan una primera trama (80, 82,
84, 86 ...) de dicha señal de vídeo, para así formar los datos
codificados por compresión,
caracterizado porque los medios (102, 103,
104, 105, 111) para codificar por compresión los datos, están
configurados para repetir una parte (512), pero no la totalidad, de
dichos datos que representan la primera trama (80, 82, 84, 86 ...)
en el contenido de los datos codificados por compresión siguientes a
la primera trama (80, 82, 84, 86 ...), incluyendo dicha parte
repetida datos de cabecera de imagen (80) de la primera trama (80,
82, 84, 86 ...).
14. Decodificador de vídeo (200) para decodificar
una señal de vídeo codificada por compresión, incluyendo dicho
decodificador (200):
una entrada (50) para recibir datos codificados
por compresión que representan una primera trama (80, 82, 84, 86
...) de una señal de vídeo y datos codificados por compresión
siguientes a la primera trama (80, 82, 84, 86 ...);
medios de decodificación (218, 220, 221, 222,
224) para analizar dichos datos codificados por compresión que
representan la primera trama (80, 82, 84, 86 ...), para detectar
datos de cabecera de imagen (80) y datos de imagen (82, 84);
caracterizado porque el decodificador
(200) está configurado para almacenar los datos de imagen (82, 84)
de la primera trama en una memoria temporal de datos de imagen (228)
cuando se detecta un error en los datos de cabecera de imagen (80)
de la primera trama (80, 82, 84, 86 ...), a fin de detectar una
repetición de los datos de cabecera de imagen (80) de la primera
trama (80, 82, 84, 86 ...), a partir de los datos codificados por
compresión siguientes a la primera trama (80, 82, 84, 86 ...) y para
decodificar los datos de imagen almacenados (82, 84) de la primera
trama, utilizando los datos repetidos de cabecera de imagen (80)
recibidos en los datos codificados por compresión siguientes a la
primera trama (80, 82, 84, 86 ...).
15. Dispositivo de comunicación inalámbrico (1,
2) que incorpora un codificador (100) de acuerdo con la
reivindicación 13.
16. Dispositivo de comunicación inalámbrico (1,2)
que incorpora un decodificador (200) de acuerdo con la
reivindicación 14.
17. Codificador-decodificador de
vídeo (10) que incluye un codificador (100) de acuerdo con la
reivindicación 13, y un decodificador (200) de acuerdo con la
reivindicación 14.
18. Decodificador (200) de acuerdo con la
reivindicación 14, en el que dicho decodificador (200) está
configurado para verificar sí los datos codificados por compresión
siguientes a la primera trama (80, 82, 84, 86 ...) están
relacionados con una trama completa de la señal de vídeo o con una
parte incompleta de una trama, y para detectar una repetición de los
datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86
...) cuando los datos codificados por compresión siguientes a la
primera trama (80, 82, 84, 86 ...) están relacionados con una parte
incompleta de una trama.
19. Decodificador (200) de acuerdo con las
reivindicaciones 14 ó 18 en el que dicho decodificador (200) está
configurado para verificar sí los datos codificados por compresión
siguientes a la primera trama (80, 82, 84, 86 ...), incluyen datos
de cabecera de imagen (80) y datos adicionales (88), significando
los datos adicionales (88) que una trama de la señal de vídeo no
está alterada respecto de una trama de referencia de la señal de
vídeo, y de ser así, determinar sí se ha detectado una repetición de
los datos de cabecera de imagen (80) de la primera trama (80, 82,
84,
86 ...).
86 ...).
20. Decodificador (200) de acuerdo con las
reivindicaciones 14, 18 ó 19, en el que dicho decodificador (200)
está configurado para analizar los datos de cabecera de imagen (80)
de una trama siguiente para determinar sí los datos de cabecera de
imagen (80) de la trama siguiente incluyen datos relativos a los
datos de cabecera de imagen (80) de la primera trama (80, 82, 84, 86
...), y de ser así, detectar una repetición de los datos de cabecera
de imagen (80) de la primera trama (80, 82, 84, 86 ...).
21. Codificador (100) de acuerdo con la
reivindicación 13 en el que los datos repetidos (512) incluyen datos
de cabecera de imagen (80) y un primer segmento de datos de imagen
(82) de la primera trama (80, 82, 84, 86 ...).
22. Codificador (100) de acuerdo con las
reivindicaciones 13 ó 21 en el que dichos datos repetidos (512)
consisten en datos de cabecera de imagen (80) y un indicador (88)
referido a que ningún dato de imagen se ha alterado desde una trama
anterior.
23. Codificador (100) de acuerdo con las
reivindicaciones 13, 21, o 22, en el que dicho codificador (100)
está configurado para repetir datos de cabecera de imagen (80) de la
primera trama, adjuntando los datos de cabecera de imagen repetidos
(80) de la primera trama a los datos de cabecera de imagen (80) de
una trama siguiente.
24. Codificador (100) de acuerdo con la
reivindicación 23, en el que dicho codificador (100) está
configurado para incluir los datos de cabecera de imagen repetidoss
(80) de la primera trama en la información de mejora complementaria
(SEI) de la trama siguiente.
25. Decodificador (200) de acuerdo con la
reivindicación 20, en el que dicho decodificador (200) está
configurado para detectar los datos de cabecera de imagen repetida
(80) de la primera trama (80, 82, 84, 86 ...), mediante análisis de
la información de mejora complementaria (SEI) de la trama
siguiente.
26. Codificador (100) de acuerdo con la
reivindicación 26, en el que dicho codificador (100) está
configurado para incluir los datos de cabecera de imagen repetida
(80) de la primera trama en la información de mejora complementaria
(SEI) de la trama siguiente excluyendo el código de inicio de imagen
(PSC) de la primera trama (80, 82, 84, 86 ...).
27. Método para codificar acuerdo con la
reivindicación 5, en el que la etapa de detección de los datos de
cabecera de imagen repetidos de la primera trama incluye el análisis
de la información de mejora complementaria (SEI) de la trama
siguiente para una repetición de los datos de cabecera de imagen de
la primera trama, excluyendo el código de inicio de imagen de la
primera trama.
28. Método de acuerdo con la reivindicación 12,
en el que los datos de cabecera de imagen repetidos incluidos en la
información de mejora complementaria (SEI) de la trama siguiente,
excluyen el código de inicio de imagen de la primera trama.
29. Decodificador (200) de acuerdo con la
reivindicación 20, en el que dicho decodificador (200) está
configurado para detectar los datos de cabecera de imagen repetidos
(80) de la primera trama (80, 82, 84, 86 ...) mediante análisis de
la información de mejora complementaria (SEI) de la trama siguiente
para una repetición de los datos de cabecera de imagen (80) de la
primera trama, excluyendo el código de inicio de imagen (PSC) de la
primera trama.
30. Dispositivo de red que incluye un codificador
de vídeo (100) de acuerdo con la reivindicación 13.
31. Dispositivo de red que incluye un
decodificador (200) de acuerdo con la reivindicación 14.
32. Terminal que incluye un codificador de vídeo
(100) de acuerdo con la reivindicación 13.
33. Terminal que incluye un decodificador de
vídeo (200) de acuerdo con la reivindicación 14.
34. Dispositivo de acuerdo con cualquiera de las
reivindicaciones 30 a 33 en el que dicho dispositivo está
configurado para funcionar en una red conmutada por paquetes.
35. Dispositivo de acuerdo con cualquiera de las
reivindicaciones 30 a 33 en el que dicho dispositivo está
configurado para funcionar en una red conmutada por circuito.
36. Dispositivo de acuerdo con cualquiera de las
reivindicaciones 30 a 33 en el que dicho dispositivo está
configurado para funcionar en una red de comunicación móvil.
37. Dispositivo de acuerdo con cualquiera de las
reivindicaciones 30 a 33 en el que dicho dispositivo está
configurado para funcionar en Internet.
38. Dispositivo de acuerdo con cualquiera de las
reivindicaciones 30 a 33 en el que dicho dispositivo está
configurado para facilitar información de vídeo en tiempo real.
39. Dispositivo de acuerdo con cualquiera de las
reivindicaciones 30 ó 32 en el que el codificador (100) está
configurado para repetir datos de cabecera de imagen (80) de la
primera trama, adjuntando los datos de cabecera de imagen repetidos
(80) de la primera trama a los datos de cabecera de imagen (80) de
una trama siguiente.
40. Dispositivo de acuerdo con cualquiera de las
reivindicaciones 30 ó 32 en el que el codificador (100) está
configurado para incluir los datos de cabecera de imagen repetidos
(80) de la primera trama en la información de mejora complementaria
(SEI) de la trama siguiente.
41. Dispositivo de acuerdo con la reivindicación
39 en el que el codificador (100) está configurado para incluir los
datos de cabecera de imagen repetidos (80) de la primera trama en la
información de mejora complementaria (SEI) de la trama siguiente,
excluyendo el código de inicio de imagen (PSC) de la primera trama
(80, 82, 84, 86, ...).
42. Dispositivo de acuerdo con la reivindicación
31 ó 33 en el que el decodificador (200) está configurado para
detectar los datos de cabecera de imagen repetidos (80) de la
primera trama (80, 82, 84, 86, ..), mediante análisis de la
información de mejora complementaria (SEI) de la trama
siguiente.
43. Dispositivo de acuerdo con la reivindicación
31 ó 33 en el que el decodificador (200) está configurado para
detectar los datos de cabecera de imagen repetidos (80) en la
primera trama (80, 82, 84, 86, ...), mediante análisis de la
información de mejora complementaria (SEI) de la trama siguiente,
para una repetición de los datos de cabecera de imagen (80) de la
primera trama, excluyendo el código de inicio de imagen (PSC) de la
primera trama.
44. Red que incluye un dispositivo de red de
acuerdo con las reivindicaciones 30 ó 31.
45. Señal de flujo de bits de vídeo generada
mediante la codificación de datos que representan una primera trama
(80, 82, 84, 86, ...) de una señal de vídeo para formar los datos
codificados por compresión, caracterizada porque dicha señal
del flujo de bits de vídeo, incluye además parte, pero no la
totalidad de dichos datos que representa la primera trama (80, 82,
84, 86, ...) repetidos, en los datos codificados por compresión
siguientes a la primera trama (80, 82, 84, 86, ...), incluyendo
dicha parte repetida los datos de cabecera de imagen para la primera
trama (80, 82, 84, 86, ...).
46. Programa informático que incluye
instrucciones que cuando son ejecutadas en un ordenador realizan
todas las etapas del método de codificación de vídeo de la
reivindicación 7 y/o del método para codificar vídeo de la
reivindicación 1.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9916909 | 1999-07-19 | ||
| GB9916909A GB2352350B (en) | 1999-07-19 | 1999-07-19 | Video coding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2240128T3 true ES2240128T3 (es) | 2005-10-16 |
Family
ID=10857513
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES00949342T Expired - Lifetime ES2240128T3 (es) | 1999-07-19 | 2000-07-14 | Codificacion de video. |
Country Status (13)
| Country | Link |
|---|---|
| US (3) | US7006576B1 (es) |
| EP (2) | EP1205076B1 (es) |
| JP (1) | JP4969003B2 (es) |
| KR (1) | KR100495820B1 (es) |
| CN (3) | CN1361991A (es) |
| AT (2) | ATE533306T1 (es) |
| AU (1) | AU774040B2 (es) |
| BR (1) | BRPI0011748B1 (es) |
| CA (1) | CA2377865C (es) |
| DE (1) | DE60020243T2 (es) |
| ES (1) | ES2240128T3 (es) |
| GB (1) | GB2352350B (es) |
| WO (1) | WO2001006795A1 (es) |
Families Citing this family (57)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2352350B (en) | 1999-07-19 | 2003-11-05 | Nokia Mobile Phones Ltd | Video coding |
| JP4224662B2 (ja) * | 2000-08-09 | 2009-02-18 | ソニー株式会社 | 画像符号化装置および方法、画像復号装置および方法、ならびに画像処理装置 |
| TW533738B (en) * | 2000-10-31 | 2003-05-21 | Matsushita Electric Industrial Co Ltd | Received information record/regenerate method and received information record/regenerate device |
| US20040022202A1 (en) * | 2002-08-05 | 2004-02-05 | Chih-Lung Yang | Method and apparatus for continuously receiving images from a plurality of video channels and for alternately continuously transmitting to each of a plurality of participants in a video conference individual images containing information concerning each of said video channels |
| JP2003208343A (ja) * | 2002-01-10 | 2003-07-25 | Ricoh Co Ltd | ファイル作成・閲覧方法、ファイル作成方法、ファイル閲覧方法、ファイル構造及びプログラム |
| AU2003226081A1 (en) * | 2002-03-25 | 2003-10-13 | The Trustees Of Columbia University In The City Of New York | Method and system for enhancing data quality |
| KR100557047B1 (ko) * | 2002-10-21 | 2006-03-03 | 엘지전자 주식회사 | 동영상 디코딩 방법 |
| KR20040046540A (ko) * | 2002-11-27 | 2004-06-05 | 엘지전자 주식회사 | 동영상 디코딩 방법 |
| KR20040046895A (ko) * | 2002-11-28 | 2004-06-05 | 엘지전자 주식회사 | 영상 전화 시스템의 h.223 crc 에러 체크에 따른데이터 유닛 처리방법 |
| US7474792B2 (en) * | 2002-12-02 | 2009-01-06 | Ricoh Company, Ltd. | Image processing apparatus for using distortion amount information |
| JP4002878B2 (ja) * | 2003-01-17 | 2007-11-07 | 松下電器産業株式会社 | 画像符号化方法 |
| FR2852180B1 (fr) * | 2003-03-07 | 2005-08-26 | Thales Sa | Procede et systeme de protection de donnees avec en-tete dans un systeme de transmission |
| JP2004336727A (ja) | 2003-04-17 | 2004-11-25 | Sharp Corp | ワイヤレス制御システム、制御機器、被制御機器、機器の制御方法、制御プログラム及びそれを記録したコンピュータ読み取り可能な記録媒体 |
| US20040218669A1 (en) * | 2003-04-30 | 2004-11-04 | Nokia Corporation | Picture coding method |
| KR100586101B1 (ko) * | 2003-05-12 | 2006-06-07 | 엘지전자 주식회사 | 동영상 코딩 방법 |
| US7162093B2 (en) * | 2003-09-07 | 2007-01-09 | Microsoft Corporation | Slice-layer in video codec |
| US7809155B2 (en) | 2004-06-30 | 2010-10-05 | Intel Corporation | Computing a higher resolution image from multiple lower resolution images using model-base, robust Bayesian estimation |
| US7447382B2 (en) * | 2004-06-30 | 2008-11-04 | Intel Corporation | Computing a higher resolution image from multiple lower resolution images using model-based, robust Bayesian estimation |
| US20060104350A1 (en) * | 2004-11-12 | 2006-05-18 | Sam Liu | Multimedia encoder |
| US8780957B2 (en) | 2005-01-14 | 2014-07-15 | Qualcomm Incorporated | Optimal weights for MMSE space-time equalizer of multicode CDMA system |
| KR100763178B1 (ko) * | 2005-03-04 | 2007-10-04 | 삼성전자주식회사 | 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치 |
| EP1867173A2 (en) * | 2005-03-10 | 2007-12-19 | QUALCOMM Incorporated | Content adaptive multimedia processing |
| JP4618676B2 (ja) * | 2005-04-28 | 2011-01-26 | 株式会社リコー | 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体 |
| TW200714077A (en) * | 2005-09-20 | 2007-04-01 | Ali Corp | Image processing method and a 2-D discrete cosine transformation device thereof |
| US9113147B2 (en) | 2005-09-27 | 2015-08-18 | Qualcomm Incorporated | Scalability techniques based on content information |
| US8654848B2 (en) * | 2005-10-17 | 2014-02-18 | Qualcomm Incorporated | Method and apparatus for shot detection in video streaming |
| US20070206117A1 (en) * | 2005-10-17 | 2007-09-06 | Qualcomm Incorporated | Motion and apparatus for spatio-temporal deinterlacing aided by motion compensation for field-based video |
| US8948260B2 (en) | 2005-10-17 | 2015-02-03 | Qualcomm Incorporated | Adaptive GOP structure in video streaming |
| US20070171280A1 (en) * | 2005-10-24 | 2007-07-26 | Qualcomm Incorporated | Inverse telecine algorithm based on state machine |
| US7684626B1 (en) * | 2005-12-01 | 2010-03-23 | Maxim Integrated Products | Method and apparatus for image decoder post-processing using image pre-processing and image encoding information |
| KR100799998B1 (ko) * | 2006-02-14 | 2008-01-31 | 엘지전자 주식회사 | 디지털 방송 수신기 및 그의 데이터 에러 처리방법 |
| US20070189383A1 (en) * | 2006-02-15 | 2007-08-16 | Samsung Electronics Co., Ltd. | Method and system for appending redundancy to uncompressed video for transmission over wireless communication channels |
| US9131164B2 (en) * | 2006-04-04 | 2015-09-08 | Qualcomm Incorporated | Preprocessor method and apparatus |
| US9872045B2 (en) * | 2006-10-16 | 2018-01-16 | Conversant Wireless Licensing S.A R.L. | Method, electronic device, system, computer program product and circuit assembly for reducing error in video coding |
| RU2510908C2 (ru) * | 2007-02-23 | 2014-04-10 | Нокиа Корпорейшн | Описание характеристик агрегированных блоков медиаданных с обратной совместимостью |
| WO2008120124A2 (en) * | 2007-03-29 | 2008-10-09 | Nxp B.V. | Speed up video recovery of videotelephony after an interruption |
| CN101647287B (zh) * | 2007-04-04 | 2013-10-30 | 汤姆森特许公司 | 参考画面列表的管理 |
| US8462855B2 (en) * | 2007-09-26 | 2013-06-11 | Intel Corporation | Method and apparatus for stream parsing and picture location |
| US8332736B2 (en) * | 2007-11-29 | 2012-12-11 | Texas Instruments Incorporated | Decoder with resiliency to handle errors in a received data stream |
| JP5147546B2 (ja) * | 2008-05-30 | 2013-02-20 | キヤノン株式会社 | 映像符号化装置及び映像復号化装置 |
| US20100158130A1 (en) * | 2008-12-22 | 2010-06-24 | Mediatek Inc. | Video decoding method |
| US8942543B1 (en) | 2010-10-06 | 2015-01-27 | Verint Video Solutions Inc. | Systems, methods, and software for improved video data recovery effectiveness |
| JP5496047B2 (ja) * | 2010-10-07 | 2014-05-21 | パナソニック株式会社 | 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム |
| WO2013085245A1 (ko) | 2011-12-04 | 2013-06-13 | 엘지전자 주식회사 | 입체영상 디스플레이가 가능한 디지털 방송 수신방법 및 수신장치 |
| CA2898152C (en) * | 2012-01-30 | 2018-02-20 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area |
| US20140119445A1 (en) * | 2012-10-26 | 2014-05-01 | Lsi Corporation | Method of concealing picture header errors in digital video decoding |
| KR101979634B1 (ko) | 2012-12-13 | 2019-05-20 | 삼성전자주식회사 | 화질 개선을 위한 영상 처리 장치 및 그 방법 |
| US20140269896A1 (en) * | 2013-03-13 | 2014-09-18 | Futurewei Technologies, Inc. | Multi-Frame Compression |
| US9407923B2 (en) * | 2013-05-20 | 2016-08-02 | Gamefly Israel Ltd. | Overconing lost IP packets in streaming video in IP networks |
| US9973795B2 (en) * | 2014-08-27 | 2018-05-15 | ClearOne Inc. | Method for video synchronization in video distribution systems |
| US9807408B2 (en) | 2014-08-27 | 2017-10-31 | Clearone Communications Hong Kong Ltd. | Control mechanism for video output |
| US20180054633A1 (en) * | 2015-03-27 | 2018-02-22 | Panasonic Intellectual Property Management Co., Ltd. | Video decoding device |
| US10291936B2 (en) | 2017-08-15 | 2019-05-14 | Electronic Arts Inc. | Overcoming lost or corrupted slices in video streaming |
| MX2022003555A (es) | 2019-09-24 | 2022-06-14 | Huawei Tech Co Ltd | Señalización de encabezado de imagen en codificación de video. |
| CN118158445A (zh) * | 2019-11-05 | 2024-06-07 | Lg 电子株式会社 | 用于图像/视频编译的高级别语法信令方法和装置 |
| EP4541026A1 (en) * | 2022-06-16 | 2025-04-23 | MBDA UK Limited | Method for image encoding |
| CN116132696A (zh) * | 2023-02-14 | 2023-05-16 | 格兰菲智能科技有限公司 | 基于gpu的码流错误检测和反馈的方法及系统 |
Family Cites Families (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4972261A (en) * | 1987-08-28 | 1990-11-20 | The General Electric Company, P.L.C. | Motion compensation image signal encoding system |
| ES2093649T3 (es) | 1990-02-06 | 1997-01-01 | Alcatel Italia | Sistema, estructura de paquete y dispositivo para procesar la informacion suministrada por un codificador de señal. |
| JPH0490648A (ja) * | 1990-08-06 | 1992-03-24 | Fujitsu Ltd | 符号化送信方式 |
| JPH0498987A (ja) * | 1990-08-16 | 1992-03-31 | Matsushita Electric Ind Co Ltd | 誤り修整方法 |
| US5168356A (en) * | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
| US5289276A (en) | 1992-06-19 | 1994-02-22 | General Electric Company | Method and apparatus for conveying compressed video data over a noisy communication channel |
| US5497404A (en) * | 1992-07-14 | 1996-03-05 | General Instrument Corporation | Transmission error recovery for digital communication systems using variable length data packets where data is stored in header locations of memory |
| JPH06237451A (ja) * | 1993-02-10 | 1994-08-23 | Hitachi Ltd | 動画通信方式および端末装置 |
| JP3428697B2 (ja) * | 1993-09-07 | 2003-07-22 | キヤノン株式会社 | 画像復号化方法 |
| US5376969A (en) * | 1993-11-15 | 1994-12-27 | Rca Thomson Licensing Corporation | Method and apparatus for conveying compressed video data over a noisy communication channel |
| JP2671821B2 (ja) | 1994-09-28 | 1997-11-05 | 日本電気株式会社 | データ伝送装置 |
| US5550847A (en) * | 1994-10-11 | 1996-08-27 | Motorola, Inc. | Device and method of signal loss recovery for realtime and/or interactive communications |
| DE19524808A1 (de) | 1995-07-07 | 1997-01-09 | Thomson Brandt Gmbh | Verfahren, Encoder und Decoder zur Resynchronisierung auf einen fehlerbehafteten Datenstrom |
| US5754605A (en) * | 1995-09-29 | 1998-05-19 | Motorola | Method and apparatus for synchronization of a communications unit |
| JPH09207995A (ja) | 1996-02-01 | 1997-08-12 | Nas Toa Co Ltd | 生ビール樽用フィッティング |
| JPH1174868A (ja) * | 1996-09-02 | 1999-03-16 | Toshiba Corp | 情報伝送方法およびその方法が適用される情報伝送システムにおける符号化装置/復号化装置、並びに符号化・多重化装置/復号化・逆多重化装置 |
| US5875305A (en) | 1996-10-31 | 1999-02-23 | Sensormatic Electronics Corporation | Video information management system which provides intelligent responses to video data content features |
| US5912902A (en) * | 1997-03-14 | 1999-06-15 | Monroe; David A. | Data recovery scheme |
| JP3769347B2 (ja) * | 1997-03-19 | 2006-04-26 | 株式会社 日立インダストリイズ | ガスタ−ビン吸気冷却装置 |
| DE69833199T2 (de) | 1997-08-01 | 2006-09-07 | Ntt Mobile Communications Network Inc. | Datenfolgegenerator, sender, informationsdatendekoder, empfänger, sender-empfänger, datenfolgegenerationsverfahren, informationsdatendekodierungsverfahren, und aufzeichnungsmedium |
| DE69814465T2 (de) * | 1998-01-16 | 2004-04-01 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Verfahren und gerät zur datenspeicherung auf magnetischen medien, die fehlerkorrekturkodes enthalten |
| US6243369B1 (en) * | 1998-05-06 | 2001-06-05 | Terayon Communication Systems, Inc. | Apparatus and method for synchronizing an SCDMA upstream or any other type upstream to an MCNS downstream or any other type downstream with a different clock rate than the upstream |
| US6301637B1 (en) * | 1998-06-08 | 2001-10-09 | Storage Technology Corporation | High performance data paths |
| US6826197B1 (en) * | 1999-04-01 | 2004-11-30 | Sedna Patent Services, Llc | Data packet structure for digital information distribution |
| JP3411234B2 (ja) * | 1999-04-26 | 2003-05-26 | 沖電気工業株式会社 | 符号化情報受信復号装置 |
| GB2352350B (en) | 1999-07-19 | 2003-11-05 | Nokia Mobile Phones Ltd | Video coding |
| US6654389B1 (en) * | 1999-11-23 | 2003-11-25 | International Business Machines Corporation | System and method for searching patterns in real-time over a shared media |
-
1999
- 1999-07-19 GB GB9916909A patent/GB2352350B/en not_active Revoked
-
2000
- 2000-07-14 EP EP00949342A patent/EP1205076B1/en not_active Expired - Lifetime
- 2000-07-14 AU AU62735/00A patent/AU774040B2/en not_active Expired
- 2000-07-14 CN CN00810573A patent/CN1361991A/zh active Pending
- 2000-07-14 DE DE60020243T patent/DE60020243T2/de not_active Expired - Lifetime
- 2000-07-14 EP EP05075667A patent/EP1542475B1/en not_active Expired - Lifetime
- 2000-07-14 BR BRPI0011748A patent/BRPI0011748B1/pt not_active IP Right Cessation
- 2000-07-14 CN CN201010147737A patent/CN101790099A/zh active Pending
- 2000-07-14 AT AT05075667T patent/ATE533306T1/de active
- 2000-07-14 CN CN2007101851538A patent/CN101175213B/zh not_active Expired - Lifetime
- 2000-07-14 WO PCT/EP2000/006732 patent/WO2001006795A1/en not_active Ceased
- 2000-07-14 KR KR10-2002-7000651A patent/KR100495820B1/ko not_active Expired - Lifetime
- 2000-07-14 ES ES00949342T patent/ES2240128T3/es not_active Expired - Lifetime
- 2000-07-14 JP JP2001510493A patent/JP4969003B2/ja not_active Expired - Lifetime
- 2000-07-14 CA CA002377865A patent/CA2377865C/en not_active Expired - Lifetime
- 2000-07-14 AT AT00949342T patent/ATE296015T1/de not_active IP Right Cessation
- 2000-07-19 US US09/619,660 patent/US7006576B1/en not_active Expired - Lifetime
-
2005
- 2005-04-06 US US11/099,596 patent/US8654863B2/en not_active Expired - Fee Related
-
2007
- 2007-02-05 US US11/671,439 patent/US8401089B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP1542475B1 (en) | 2011-11-09 |
| US20050185719A1 (en) | 2005-08-25 |
| AU774040B2 (en) | 2004-06-17 |
| EP1205076B1 (en) | 2005-05-18 |
| DE60020243D1 (de) | 2005-06-23 |
| US7006576B1 (en) | 2006-02-28 |
| US8654863B2 (en) | 2014-02-18 |
| CN1361991A (zh) | 2002-07-31 |
| EP1205076A1 (en) | 2002-05-15 |
| GB2352350B (en) | 2003-11-05 |
| JP4969003B2 (ja) | 2012-07-04 |
| DE60020243T2 (de) | 2006-03-23 |
| JP2003504988A (ja) | 2003-02-04 |
| BRPI0011748B1 (pt) | 2015-09-08 |
| EP1542475A3 (en) | 2009-03-25 |
| CN101175213A (zh) | 2008-05-07 |
| US8401089B2 (en) | 2013-03-19 |
| KR100495820B1 (ko) | 2005-06-16 |
| KR20020020937A (ko) | 2002-03-16 |
| EP1542475A2 (en) | 2005-06-15 |
| HK1114494A1 (en) | 2008-10-31 |
| GB2352350A (en) | 2001-01-24 |
| CA2377865C (en) | 2009-11-10 |
| BR0011748A (pt) | 2002-03-05 |
| CA2377865A1 (en) | 2001-01-25 |
| WO2001006795A1 (en) | 2001-01-25 |
| AU6273500A (en) | 2001-02-05 |
| ATE296015T1 (de) | 2005-06-15 |
| US20070171986A1 (en) | 2007-07-26 |
| CN101175213B (zh) | 2011-02-09 |
| CN101790099A (zh) | 2010-07-28 |
| GB9916909D0 (en) | 1999-09-22 |
| ATE533306T1 (de) | 2011-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100495820B1 (ko) | 비디오 코딩 | |
| ES2339743T3 (es) | Codificacion de video. | |
| KR100931873B1 (ko) | 비디오 신호 부호화/복호화 방법 및 비디오 신호 부호기/복호기 | |
| ES2267498T3 (es) | Codificacion de video. | |
| CN100394802C (zh) | 视频信号编码/解码方法和装置及对应的无线电电信装置 | |
| JP4537583B2 (ja) | 映像信号のエラー隠蔽 | |
| JP2006526908A (ja) | ピクチャを符号化する方法、ビットストリームからピクチャを復号化する方法、ピクチャを符号化するエンコーダ、ピクチャを符号化するエンコーダを備える送信装置、ビットストリームからピクチャを復号化するデコーダ、ビットストリームからピクチャを復号化するデコーダを備える受信装置、およびシステム | |
| JP2006060813A (ja) | ビデオデコーダにおける誤り隠蔽 | |
| EP1477028A2 (en) | Video processing | |
| EP1345451A1 (en) | Video processing | |
| EP1349398A1 (en) | Video processing | |
| HK1114494B (en) | Method and apparatus for video source encoding, and method and apparatus for video source decoding | |
| HK1096517B (en) | Error concealment method and indicator for improving error concealment in video coding |