ES2313943T3 - Procedimiento para codificar y para descodificar informacion de video , un codificador de video con compensacion de movimiento y correspondiente descodificador. - Google Patents
Procedimiento para codificar y para descodificar informacion de video , un codificador de video con compensacion de movimiento y correspondiente descodificador. Download PDFInfo
- Publication number
- ES2313943T3 ES2313943T3 ES01902437T ES01902437T ES2313943T3 ES 2313943 T3 ES2313943 T3 ES 2313943T3 ES 01902437 T ES01902437 T ES 01902437T ES 01902437 T ES01902437 T ES 01902437T ES 2313943 T3 ES2313943 T3 ES 2313943T3
- Authority
- ES
- Spain
- Prior art keywords
- movement
- coefficients
- information
- quantifier
- motion
- 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
- 230000033001 locomotion Effects 0.000 title claims abstract description 371
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000006870 function Effects 0.000 claims abstract description 35
- 238000011002 quantification Methods 0.000 claims description 50
- 238000013139 quantization Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 9
- 230000011664 signaling Effects 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 40
- 230000005540 biological transmission Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 6
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013519 translation Methods 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/198—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- 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
- 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/176—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 block, e.g. a macroblock
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Error Detection And Correction (AREA)
- Television Systems (AREA)
Abstract
Un procedimiento para codificar información de vídeo, que comprende: - estimar el movimiento de un elemento de imagen entre una pieza de información de vídeo de referencia y una pieza de información de vídeo actual, - representar el movimiento del elemento de imagen usando un conjunto de funciones base y coeficientes de movimiento, formando por lo tanto un modelo representativo del movimiento del elemento de imagen, caracterizado por - definir (501) un conjunto de cuantificadores de coeficientes de movimiento para cuantificar los coeficientes de movimiento del modelo representativo del movimiento del elemento de imagen, - seleccionar (505) en base al criterio de selección predeterminado, un cuantificador de coeficientes de movimiento del conjunto de cuantificadores de coeficientes de movimiento con el fin de ajustar la precisión con la que se codifica la información de movimiento, y - cuantificar (510) los coeficientes de movimiento usando el cuantificador de coeficientes de movimiento seleccionado, representando por lo tanto el movimiento del elemento de imagen con una cierta precisión.
Description
Procedimiento para codificar y para descodificar
información de vídeo, un codificador de vídeo con compensación de
movimiento y correspondiente descodificador.
La presente invención se refiere a la
codificación de vídeo. En particular, se refiere a la compresión de
la información de vídeo usando la predicción de movimiento
compensado.
Una secuencia de vídeo consiste en un gran
número de tramas de vídeo que están formadas por un gran número de
píxeles cada uno de los cuales está representado por un conjunto de
bits digitales. Debido al gran número de píxeles en una trama de
vídeo y al gran número de tramas de vídeo incluso en una secuencia
de vídeo típica, la cantidad de datos que se necesitan para
representar la secuencia de vídeo comienza con rapidez a convertirse
en grande. Por ejemplo, una trama de vídeo puede incluir una matriz
de 640 x 480 píxeles, cada uno de los píxeles teniendo una
representación de color RGB (rojo, verde, azul) de ocho bits por
componente de color, totalizando 7.372.800 bits por trama. La
secuencia de vídeo comprende una secuencia de imágenes fijas, que
son grabadas/reproducidas a una velocidad típicamente de 13 a 30
tramas por segundo. La cantidad de datos necesarios para transmitir
la información acerca de cada uno de los píxeles de cada trama de
manera independiente sería de esta manera enorme.
La codificación de vídeo aborda el problema de
reducir la cantidad de información que se necesita transmitir con
el fin de presentar la secuencia de vídeo con una aceptable calidad
de la imagen. Por ejemplo, en videotelefonía, la información de
vídeo codificada se transmite usando redes telefónicas
convencionales, en las que las velocidades binarias de transmisión
son de manera típica múltiplos de 64 kbit/s. En videotelefonía
móvil, en la que la transmisión tiene lugar al menos en parte sobre
un enlace de comunicaciones radio, las velocidades binarias de
transmisión disponibles pueden ser tan bajas como 20 kbit/s.
En secuencias de vídeo típicas, el cambio del
contenido de tramas sucesivas es en gran extensión el resultado del
movimiento en la escena. Este movimiento puede ser debido al
movimiento de la cámara o debido al movimiento de los objetos
presentes en la escena. Por lo tanto, las secuencias de vídeo
típicas se caracterizan por la significativa correlación temporal,
que es la más alta a lo largo de la trayectoria del movimiento. La
compresión eficiente de secuencias de vídeo por lo general
aprovecha la ventaja de esta propiedad de las secuencias de vídeo.
La predicción de movimiento compensado es una técnica ampliamente
reconocida para la compresión de vídeo. Utiliza el hecho de que en
una secuencia de vídeo típica, la intensidad de la imagen/el valor
de la crominancia en un segmento de trama particular se puede
predecir usando valores de intensidad de la imagen/valores de
crominancia de alguna otra trama ya codificada y transmitida, dada
la trayectoria de movimiento entre estas dos tramas. De manera
ocasional, es aconsejable transmitir una trama completa, para evitar
el deterioro de la calidad de la imagen debido a la acumulación de
errores y para proporcionar funcionalidades adicionales, (por
ejemplo, acceso aleatorio a la secuencia de vídeo).
En las figuras 1 y 2 de las figuras que se
acompañan, se muestra un diagrama esquemático de un sistema de
codificación de vídeo de ejemplo que usa predicción de movimiento
compensado. La figura 1 ilustra un codificador 10 que emplea
compensación de movimiento y la figura 2 ilustra un descodificador
correspondiente 20. El principio operativo de los codificadores de
vídeo que usan compensación de movimiento es minimizar la trama de
error de predicción E_{n}(x, y) que es la diferencia entre
la trama actual I_{n}(x, y) que está siendo codificada y
la trama de predicción P_{n}(x, y). La trama de error de
predicción es de esta forma:
La trama de predicción se construye usando
valores de píxel de una trama de referencia R_{n}(x, y) que
es una de las tramas anteriormente codificadas y transmitidas (por
ejemplo, una trama que precede a la trama actual), y el movimiento
de los píxeles entre la trama actual y la trama de referencia. El
movimiento de los píxeles se puede presentar como los valores de
los desplazamientos horizontal y vertical \Deltax(x, y) y
\Deltay(x, y) de un píxel en la localización (x, y) en la
trama actual I_{n}(x, y). El par de números
[\Deltax(x, y), \Deltay(x, y)] se denomina el
vector de movimiento de este píxel. Los vectores de movimiento se
representan de manera típica usando algunas funciones conocidas
(denominadas funciones base) y coeficientes (esto se tratará con
detalle más adelante), y se puede construir un campo vector de
movimiento aproximado \tilde{\Delta}x(x,y),
\tilde{\Delta}y(x,y) usando los coeficientes y las
funciones base.
La trama de predicción viene dada por
en la que la trama de referencia
R_{n}(x, y) se encuentra disponible en la Memoria de Tramas
17 del codificador 10 y en la memoria de tramas 24 del
descodificador 20 en un instante de tiempo dado. Un flujo de
información 2 que lleva información acerca de los vectores de
movimiento se combina con la información acerca del error de
predicción (1) en el multiplexor 16 y un flujo de información (3)
que contiene de manera típica al menos esos dos tipos de
información se envía al descodificador
20.
En el bloque de codificación de error de
predicción 14, la trama de error de predicción E_{n}(x, y)
se comprime de manera típica por medio de la representación de la
misma como una serie finita (transformada) de algunas funciones de
dos dimensiones. Por ejemplo, se puede usar una transformada de
coseno discreta de dos dimensiones. Los coeficientes de la
transformada relacionados con cada una de las funciones son
cuantificados y codificados en entropía antes de ser transmitidos
al descodificador (flujo de información 1 en la figura 1). Debido al
error introducido en la cuantificación, esta operación generalmente
produce alguna degradación en la trama de error de predicción
E_{n}(x, y).
En la memoria de tramas 24 del descodificador 20
hay una trama de referencia anteriormente reconstruida
R_{n}(x, y). Usando la información de movimiento
descodificada \tilde{\Delta}x(x, y),
\tilde{\Delta}y(x, y) y R_{n}(x, y), es posible
reconstruir la trama de predicción P_{n}(x, y) en el
bloque de predicción de movimiento compensado 21 del descodificador
20. Los coeficientes de transformada transmitidos de la trama de
error de predicción E_{n}(x, y) se usan en el bloque de
descodificación de error de predicción 22 para construir la trama de
error de predicción descodificada \tilde{E}_{n}(x, y).
Los píxeles de la trama actual descodificada
\tilde{I}_{n}(x, y) son reconstruidos por medio de la
adición de la trama de predicción P_{n}(x, y) y la trama
de error de predicción descodificada \tilde{E}_{n}(x,
y).
La trama actual descodificada se puede almacenar
en la memoria de tramas 24 como la siguiente trama de referencia
R_{n+1}(x, y).
Permítasenos tratar con más detalle la
compensación de movimiento y la información de transmisión de
movimiento. La construcción de la trama de predicción
P_{n}(x, y) en el bloque de predicción de movimiento
compensado 13 del codificador 10 requiere información acerca del
movimiento en la trama actual I_{n}(x, y). Los vectores de
movimiento [\Deltax(x, y), \Deltay(x, y)] se
calculan en el bloque de estimación de campo de movimiento 11 en el
codificador 10. El conjunto de vectores de movimiento de todos los
píxeles de la trama actual [\Deltax(\cdot),
\Deltay(\cdot)] se denomina el campo vector de
movimiento. Debido al gran número de píxeles en una trama, no es
eficiente transmitir un vector de movimiento independiente para cada
uno de los píxeles al descodificador. En lugar de esto, en la
mayoría de los esquemas de codificación de vídeo, la trama actual se
divide en segmentos de imagen más grandes y la información acerca
de los segmentos se transmite al descodificador.
El campo vector de movimiento se codifica en el
bloque de Codificación de Campo de Movimiento 12 del codificador
10. Codificación de campo de movimiento se refiere a representar el
movimiento en una trama usando algunas funciones predeterminadas, o
en otras palabras, representarlo con un modelo. Casi todos los
modelos de campo vector de movimiento comúnmente usados son modelos
de movimiento aditivos. Los esquemas de codificación de vídeo con
movimiento compensado pueden definir los vectores de movimiento de
segmentos de imagen por medio de la siguiente fórmula general:
en la que los coeficientes a_{i}
y b_{i} son denominados los coeficientes de movimiento. Son
transmitidos al descodificador. Las funciones f_{i} y g_{i} son
denominadas las funciones base de campo de movimiento, y son
conocidas tanto en el codificador como en el
descodificador.
Con el fin de minimizar la cantidad de
información necesaria para el envío de los coeficientes de
movimiento al descodificador, los coeficientes se pueden predecir a
partir de los coeficientes de los segmentos vecinos. Cuando se usa
esta clase de predicción de campo de movimiento, el campo de
movimiento se expresa como una suma de un campo de movimiento de
predicción y un campo de movimiento de refinamiento. El campo de
movimiento de predicción usa los vectores de movimiento asociados
con los segmentos vecinos de la trama actual. La predicción se
realiza usando el mismo conjunto de reglas y posiblemente alguna
información auxiliar tanto en el codificador como en el
descodificador. El campo de movimiento de refinamiento se codifica,
y los coeficientes de movimiento relacionados con este campo de
movimiento de refinamiento son transmitidos al descodificador. Esta
aproximación da como resultado de manera típica ahorros en la
velocidad binaria de transmisión. Las líneas discontinuas de la
figura 1 ilustran algunos ejemplos de la posible información que
alguna estimación de movimiento y esquemas de codificación puedan
requerir en el bloque de estimación de campo de movimiento 11 y en
el bloque de codificación de campo de movimiento 12.
Los modelos de movimiento polinómicos son una
familia ampliamente usada de modelos. (Véase por ejemplo,
"Representación de información de movimiento para la codificación
de imágenes", de H. Nguyen y E. Dubois, en Proc. Picture Coding
Symposium, 1990, Cambridge, Massachusetts, 16 al 28 de marzo de
1990, páginas 841 a la 845, y en "Algoritmo de segmentación por
medio de fusión de regiones multicriterios" del Centro de
Morfología Matemática (CMM), Documento SIM(95)19,
COST211 Project Meeting, mayo de 1995). Los valores de los vectores
de movimiento se describen por medio de funciones que son
combinaciones lineales de funciones polinómicas de dos dimensiones.
El modelo de movimiento traslacional es el modelo más sencillo y
solamente requiere de dos coeficientes para describir los vectores
de movimiento de cada uno de los segmentos. Los valores de los
vectores de movimiento vienen dados por las fórmulas:
Este modelo es ampliamente usado en varias
normas internacionales (ISO MPEG-1,
MPEG-2, MPEG-4, Recomendaciones de
la UIT-T H.261 y H.263) para describir el movimiento
de bloques de 16x16 y de 8x8 píxeles. Los sistemas que utilizan un
modelo de movimiento traslacional realizan de manera típica una
estimación del movimiento a una resolución de píxel completa o a
alguna fracción entera de resolución de píxel completa, por ejemplo,
con una precisión de 1/2 o 1/3 de resolución de píxel.
Los otros dos modelos ampliamente usados son los
modelos de movimiento afín dados por la ecuación:
y el modelo de movimiento
cuadrático dado por la
ecuación:
El modelo de movimiento afín presenta un
compromiso muy conveniente entre el número de coeficientes de
movimiento y el rendimiento de la predicción. Es capaz de
representar algunos de los tipos de movimiento de la vida real
comunes tales como la traslación, la rotación, la ampliación y el
recorte con solo unos pocos coeficientes. El modelo de movimiento
cuadrático proporciona un buen rendimiento de predicción, pero es
menos popular en la codificación que el modelo afín, ya que usa más
coeficientes de movimiento, mientras que el rendimiento de
predicción no es sustancialmente mejor. Además, es desde el punto de
vista computacional más costoso estimar el movimiento cuadrático
que estimar el movimiento afín.
Cuando se estima el campo de movimiento usando
modelos de movimiento de orden superior (tal como se presenta por
ejemplo en las ecuaciones 7 y 8), la estimación de campo de
movimiento da como resultado un campo de movimiento representado
por números reales. En este caso, se necesitan cuantificar los
coeficientes de movimiento con una precisión discreta antes de ser
transmitidos al descodificador.
El bloque de estimación de campo de movimiento
11 calcula los vectores de movimiento [\Deltax(x, y),
\Deltay(x, y)] de los píxeles de un segmento dado S_{k}
que minimicen de alguna medida el error de predicción en el
segmento. En el caso más sencillo, la estimación de campo de
movimiento usa la trama actual I_{n}(x, y) y la trama de
referencia R_{n}(x, y) como valores de entrada. De manera
típica, el bloque de estimación de campo de movimiento saca el
campo de movimiento [\Deltax(x, y), \Deltay(x, y)]
al bloque de codificación de campo de movimiento 12. El bloque de
codificación de campo de movimiento toma las decisiones finales
acerca de qué clase de campo de vector de movimiento se está
transmitiendo al descodificador y cómo se codifica el campo de
vector de movimiento. Puede modificar el modelo de movimiento y los
coeficientes de movimiento con el fin de minimizar la cantidad de
información necesaria para describir un campo vector de movimiento
satisfactorio.
La calidad de la imagen de las tramas de vídeo
transmitidas depende de la precisión con la que la trama de
predicción se pueda construir, en otras palabras, en la precisión de
la información de movimiento transmitida y en la precisión con la
que se transmite la información de error de predicción. Aquí, el
término precisión hace referencia no solamente a la capacidad del
modelo de campo de movimiento para representar el movimiento dentro
de la trama, sino que también a la precisión numérica con la que la
información de movimiento y la información de error de predicción
se representa. La información de movimiento transmitida con una alta
precisión se puede cancelar en la fase de descodificación debido a
la baja precisión de la trama de error de predicción o
viceversa.
Los sistemas de codificación de vídeo actuales
emplean varias técnicas de estimación y de codificación de
movimiento, como se ha tratado con anterioridad. La precisión de la
información de movimiento y la velocidad binaria de transmisión
necesaria para transmitir la información de movimiento están
dictadas de manera típica por la elección de la técnica de
estimación y codificación de movimiento, y una técnica elegida por
lo general es aplicada a una secuencia completa de vídeo. Por lo
general, a medida que aumenta la precisión de la información de
movimiento transmitida, aumenta la cantidad de información
transmitida.
Una publicación de patente de los Estados Unidos
US 5.778.192 describe un procedimiento y un dispositivo para,
dentro de un esquema de comprensión de vídeo de tamaño de bloque
variable o fijo, proporcionar una asignación binaria óptima entre
al menos tres tipos críticos de datos: segmentación, vectores de
movimiento y error de predicción, o DFD. Como la cantidad de
información representada por un bit para un tipo de datos particular
no es equivalente a la información representada por un bit para
algún otro tipo de datos, esta consideración es tenida en cuenta
para codificar de manera eficiente la secuencia de vídeo. De esta
manera, se proporciona un procedimiento eficiente desde el punto de
vista computacional para codificar de manera óptima una trama dada
de una secuencia de vídeo en la que, para un presupuesto binario
dado, el esquema de codificación propuesto conduzca a la distorsión
más pequeña posible y viceversa, para una distorsión dada, el
esquema de codificación propuesto conduzca a la velocidad binaria
más pequeña posible. Se encuentra un cuantificador para cada bloque
de segmento de un grupo de cuantificadores. La cuantificación
adaptativa se realiza sobre el coeficiente de transformada que
represente el contenido de frecuencia espacial de la señal de imagen
digital.
El coeficiente de transformada es generado por
medio de la realización de una transformada ortogonal sobre la
entrada de señal de imagen digital al codificador de vídeo.
En general, una mejor calidad de la imagen
requiere grandes cantidades de información transmitida. De manera
típica, si la velocidad binaria de transmisión disponible está
limitada, esta limitación dicta la mejor calidad de imagen posible
de las tramas de vídeo transmitidas. También es posible conseguir
una cierta calidad de la imagen objetivo, y la velocidad binaria de
transmisión dependerá entonces de la calidad de la imagen objetivo.
En sistemas de codificación y descodificación de vídeo actuales, los
compromisos entre la velocidad binaria de transmisión requerida y
la calidad de la imagen se hacen principalmente por medio del ajuste
de la precisión de la información que presenta la tasa de error de
predicción. Esta precisión puede cambiar, por ejemplo, de una trama
a otra, o incluso entre diferentes segmentos de una trama.
El problema de cambiar la precisión de la trama
de error de predicción transmitida es que puede provocar una
degradación inesperada sobre el rendimiento global de la
codificación de vídeo, por ejemplo, cuando es conforme a una nueva
velocidad binaria de transmisión disponible. En otras palabras, la
calidad de la imagen conseguida no es tan buena como la esperada
considerando la velocidad binaria de transmisión. La calidad de la
imagen se puede deteriorar de una manera drástica cuando se
encuentre disponible una velocidad binaria de transmisión inferior,
o cuando la calidad de la imagen no se pueda mejorar incluso aunque
se use una velocidad binaria de transmisión más alta.
El objeto de la invención es proporcionar un
procedimiento flexible y versátil de movimiento compensado para
codificar/descodificar información de vídeo. Un objeto adicional de
la invención es proporcionar un procedimiento que asegure una buena
calidad del vídeo transmitido para varias velocidades binarias de
transmisión. Un objeto adicional es que el procedimiento pueda
emplear varias técnicas de estimación y de codificación del
movimiento.
Éstos y otros objetos de la invención se pueden
conseguir mediante la selección de la precisión de cuantificación
de los coeficientes de movimiento de forma que la precisión de la
información de movimiento transmitida sea compatible con la
precisión de la información de error de predicción.
En la reivindicación 1 se establece un
procedimiento de acuerdo con la invención.
En un procedimiento de acuerdo con la invención,
se estima el movimiento de los elementos de imagen entre una cierta
pieza de información de vídeo de referencia y una pieza de
información de vídeo actual. El campo vector de movimiento
resultante es representado usando ciertas funciones base y
coeficientes de movimiento. Las funciones base son conocidas tanto
por el codificador como por el descodificador, de forma que la
transmisión de los mencionados coeficientes haga posible que el
descodificador determine una estimación del movimiento del elemento
de imagen. De manera típica, los valores de coeficiente son números
reales, y por lo tanto, se necesita la cuantificación con el fin de
presentar los coeficientes a una cierta precisión discreta usando
un cierto número de bits. Los coeficientes son cuantificados antes
de la transmisión al descodificador, o antes de usarlos en la
construcción de una trama de predicción.
En un procedimiento de acuerdo con la invención,
se proporciona un conjunto de cuantificadores. Aquí el término
cuantificador hace referencia a una función que hace corresponder
números reales a ciertos valores de reconstrucción. Para cada uno
de los valores de reconstrucción existe un intervalo de
cuantificación que determina el intervalo de números reales a los
que se hace corresponder/se cuantifican con el mencionado valor de
reconstrucción. El tamaño de los intervalos de cuantificación puede
ser, por ejemplo, el mismo para cada valor de reconstrucción
(cuantificador uniforme) o el tamaño del intervalo de cuantificación
puede ser diferente para cada uno de los valores de reconstrucción
(cuantificador no uniforme). El intervalo de cuantificación
determina la precisión con la que se representan los coeficientes.
Los cuantificadores en el conjunto pueden ser similares de forma
que los valores de reconstrucción y los intervalos de cuantificación
estén dimensionados de un cuantificador a otro usando un cierto
parámetro. También es posible que el conjunto de cuantificadores
comprende diferentes tipos de cuantificador, tanto uniforme como no
uniforme, por ejemplo. Los cuantificadores se tratan de manera
adicional en la descripción detallada de la invención.
El criterio de selección para el cuantificador
en un procedimiento de acuerdo con la invención puede ser, por
ejemplo, la calidad de imagen objetivo o la velocidad binaria de
transmisión objetivo. La selección de un cuantificador también
puede estar unida a alguna otra variable, que dependa de la calidad
de imagen objetivo o de la velocidad binaria de transmisión. Se
puede seleccionar un nuevo cuantificador, por ejemplo, cada vez que
cambie la velocidad binaria de transmisión objetivo. Para varias
partes de una trama de vídeo, por ejemplo, es posible usar
diferentes cuantificadores.
De acuerdo con la invención, cuando cambia la
calidad de imagen objetivo, es posible ajustar la precisión con la
que se codifican y se transmiten tanto la información de error de
predicción como la información de movimiento. Por lo tanto, para
cada calidad de imagen o velocidad binaria de transmisión, es
posible obtener un rendimiento de codificación global bueno. Es
posible, por ejemplo, ajustar tanto la precisión de la información
de error de predicción como la de la información de movimiento para
ser capaces de transmitir el flujo de vídeo codificado usando una
cierta velocidad binaria. También es posible, por ejemplo, que la
precisión de la información de error de predicción venga dictada
por la calidad de imagen objetivo, y en el procedimiento de acuerdo
con la invención, la precisión de la información de movimiento es
ajustada para que sea compatible con la precisión de error de
predicción; la cuantificación no debería ser demasiado precisa
porque la información de movimiento no puede mejorar la calidad de
la imagen más allá de la precisión proporcionada por la información
de error de predicción, pero no demasiado basta tampoco, porque la
información de movimiento cuantificada de manera basta puede
deteriorar la calidad de imagen proporcionada por la información de
error de predicción.
Un procedimiento de acuerdo con la invención no
presume de ninguna restricción acerca de la estimación de campo de
movimiento o de las técnicas de codificación de campo de movimiento
usadas para obtener los coeficientes de movimiento. Por lo tanto es
aplicable con cualquiera de dichas técnicas. Por ejemplo, la
adaptación del modelo de movimiento se puede usar para evitar el
coste de usar una sobrestimación de campo de movimiento precisa y
una técnica de codificación mediante la proporción de una selección
de técnicas de estimación y/o codificación de campo de movimiento
que se pueden seleccionar en base a la calidad de la imagen objetivo
o a la velocidad binaria objetivo, y la sintonización fina entre la
precisión de la información de error de predicción y la precisión
de la información de movimiento se puede realizar por medio de la
selección de un cuantificador apropiado.
La invención se puede aplicar de manera directa
a los procedimientos y a los sistemas de codificación de vídeo de
movimiento compensado existentes. En tales sistemas de la técnica
anterior, la cuantificación de coeficientes de movimiento se hace
de manera típica con una cierta precisión predeterminada que
funciona bien para una cierta calidad de imagen objetivo. Cuando la
calidad de imagen objetivo o la velocidad binaria de transmisión
disponible difiere de manera extraordinaria de la calidad de imagen
designada, el codificador de vídeo produce una calidad de imagen
peor que la que se podría conseguir para una velocidad binaria de
transmisión dada. Este efecto se puede eliminar por medio de la
selección de un cuantificador más apropiado para los coeficientes
de movimiento de acuerdo con la invención.
La invención también se refiere a un
procedimiento para descodificar la información de vídeo codificada
como establece en la reivindicación 17.
En la reivindicación 25 establece un codificador
de acuerdo con la invención.
La invención se refiere además a un
descodificador para realizar la descodificación de la información de
vídeo codificada como establece en la reivindicación 33.
En una realización ventajosa de la invención, el
codificador y el descodificador se combinan para formar un códec.
Las partes de predicción de movimiento compensado del codificador y
del descodificador son similares, y se pueden proporcionar por una
parte común que esté dispuesta para funcionar como una parte del
codificador y como una parte del descodificador, por ejemplo, de
manera alternativa.
La invención se refiere además a un elemento de
programa de ordenador para realizar la codificación de movimiento
compensado de la información de vídeo como establece en la
reivindicación 38.
Un segundo elemento de programa de ordenador de
acuerdo con la invención es un elemento de programa de orde-
nador para realizar la descodificación de la información de vídeo codificada como establece en la reivindicación 40.
nador para realizar la descodificación de la información de vídeo codificada como establece en la reivindicación 40.
De acuerdo con una realización ventajosa de la
invención, un elemento de programa de ordenador como se especifica
con anterioridad, es realizado sobre un medio legible por un
ordenador.
Las características novedosas que son
consideradas como características de la invención establecen en
particular en las reivindicaciones anejas. La invención de por sí,
sin embargo, tanto para su construcción como para su procedimiento
de funcionamiento, junto con objetos y ventajas adicionales de la
misma será mejor comprendida a partir de la siguiente descripción
detallada de las realizaciones específicas cuando se lea junto con
los dibujos que la acompañan.
La figura 1 ilustra un codificador para la
codificación de movimiento compensado de vídeo de acuerdo con la
técnica anterior.
La figura 2 ilustra un descodificador para la
codificación de movimiento compensado de vídeo de acuerdo con la
técnica anterior.
La figura 3 ilustra un conjunto de
cuantificadores uniformes.
La figura 4 ilustra un cuantificador uniforme
modificado.
La figura 5 ilustra un diagrama de flujo de un
procedimiento de codificación de vídeo de movimiento compensado de
acuerdo con la invención.
La figura 6 ilustra un diagrama de flujo de un
procedimiento de descodificación de vídeo de movimiento compensado
de acuerdo con la invención.
La figura 7 ilustra los bloques de codificación
de campo de movimiento y los bloques de predicción de movimiento
compensado de un codificador de acuerdo con una primera realización
preferida de la invención.
La figura 8 ilustra un codificador para la
codificación de movimiento compensado de vídeo de acuerdo con una
segunda realización preferida de la invención.
La figura 9 ilustra un descodificador para la
descodificación de movimiento compensado de vídeo de acuerdo con la
segunda realización preferida de la invención, y
La figura 10 ilustra un bloque de codificación
de campo de movimiento de un codificador de acuerdo con una tercera
realización preferida de la invención.
Las figuras 1 y 2 se tratan con detalle en la
descripción de la codificación y la descodificación de vídeo de
movimiento compensado de acuerdo con la técnica anterior.
En los procedimientos de codificación y
descodificación de acuerdo con la invención, se define un conjunto
de cuantificadores. Diferentes cuantificadores pueden diferir en la
manera en que se seleccionan los valores y los intervalos de
reconstrucción. La cuantificación de un coeficiente de movimiento
a_{i} se puede realizar, por ejemplo, mediante la utilización de
la siguiente ecuación:
en la que q es un parámetro de
cuantificación que define el intervalo entre puntos de
reconstrucción y \lfloorx\rfloor es la operación de "redondeo
a la baja" (entero más grande no mayor de x). En este caso, la
salida de cuantificación \hat{a}_{i} es un índice entero que se
puede codificar en entropía y se transmite a un descodificador. En
este ejemplo, la operación de cuantificación inversa correspondiente
se puede definir
por
y los coeficientes de movimiento
cuantificados inversamente \tilde{a}_{i} se usan para
aproximarse a los coeficientes originales a_{i}. Las ecuaciones
9 y 10 definen un cuantificador uniforme con valores de distribución
distribuidos de manera uniforme e intervalos de reconstrucción de
igual tamaño. La figura 3 ilustra tres cuantificadores uniformes
que tienen diferentes valores de q: q_{1}, q_{2} y
q_{3}.
La figura 4 ilustra un cuantificador uniforme
modificado. En este cuantificador, el parámetro q define los puntos
de reconstrucción. El intervalo de cuantificación en el que los
valores del coeficiente a_{i} son asignados a \hat{a}_{i} = 0
es mayor que los otros intervalos de cuantificación, en los que son
de un tamaño constante. Este cuantificador se puede definir, por
ejemplo, usando un parámetro adicional \varepsilon, que es la
mitad de del aumento en el intervalo de cuantificación para
\hat{a}_{i} = 0. La cuantificación de acuerdo con el
cuantificador uniforme modificado se puede definir, por ejemplo,
por
en la que sgn(a_{i}) da el
signo de a_{i}. La correspondiente operación de cuantificación
inversa se puede definir, por ejemplo, usando la ecuación
10.
Cuando se usa el cuantificador uniforme
modificado, la transmisión de coeficiente cuantificados
\hat{a}_{i} es probable que requiera menos bits. Esto es porque
el intervalo de cuantificación correspondiente a valores cerca de
cero es mayor que en el cuantificador uniforme, y de manera típica
se puede transmitir un coeficiente cuantificado de valor cero
usando un número más pequeño de bits que los coeficientes
cuantificados que tienen valores distintos de cero.
Anteriormente, se han descrito dos
cuantificadores diferentes como ejemplos de cuantificadores que se
pueden usar en un procedimiento de acuerdo con la invención. En la
cuantificación, el tamaño del intervalo de cuantificación es
inversamente proporcional al número de bits necesarios para
representar los coeficientes cuantificados \hat{a}_{i}. El
intervalo de cuantificación también determina la precisión de
acuerdo con la que los coeficientes cuantificados inversos
\tilde{a}_{i} corresponden a los coeficientes originales
a_{i}. El intervalo de cuantificación representa de esta manera
el compromiso entre la precisión de la cuantificación y la cantidad
de información necesaria para transmitir coeficientes de movimiento
al descodificador. En un procedimiento de acuerdo con la invención,
se define un conjunto de cuantificadores para cuantificar los
coeficientes de movimiento. El conjunto puede comprender, por
ejemplo, varios cuantificadores uniformes que tengan diferentes
valores de q.
La figura 5 presenta un diagrama de flujo de un
procedimiento de codificación de vídeo de movimiento compensado de
acuerdo con la invención. En el paso 501, se define un conjunto de
cuantificadores para cuantificar los coeficientes de movimiento.
Los cuantificadores pueden ser, por ejemplo, cuantificadores
uniformes que tengan varios intervalos de cuantificación, esto es,
diferentes valores del parámetro q. Cuando se usen cuantificadores
uniformes, es suficiente definir los intervalos de cuantificación
permitidos en el paso 501. En el paso 502 se define un criterio
apropiado para seleccionar el cuantificador. El criterio puede ser,
por ejemplo, la calidad de imagen objetivo o la velocidad binaria
objetivo. También es posible seleccionar el cuantificador de
información de movimiento en base a un cuantificador de error de
predicción anteriormente seleccionado. En el paso 503, la trama
actual I_{n}(x, y) es recibida. En el paso 504, se estima y
se modela el movimiento de la trama actual, por ejemplo, segmento a
segmento usando ciertas funciones base f_{i}(x, y) y
g_{i}(x, y), y los coeficientes a_{i} y b_{i}. El
campo vector de movimiento es de esta manera representado
como
como
Seleccionando el cuantificador de acuerdo con la
invención no se presume ninguna restricción sobre la estimación de
campo de movimiento y/o sobre los procedimientos de codificación que
se puedan usar. La estimación y la codificación del campo vector de
movimiento pueden hacerse, por ejemplo, usando cualquier técnica
usada en los esquemas de codificación de vídeo de movimiento
compensado de la técnica anterior. Las funciones base usadas en la
codificación del vector campo de de movimiento son de la manera más
preferible ortogonales, porque las funciones ortogonales son menos
sensibles a las imprecisiones en los coeficientes de movimiento
descodificados provocadas por la cuantificación. Se puede usar
cualquier función base, sin embargo. Además, en campo vector de
movimiento que es codificado puede ser, por ejemplo, un campo vector
de movimiento de refinamiento que se use para corregir un campo
vector de movimiento de predicción construido, por ejemplo, por
medio del uso del movimiento de los segmentos vecinos dentro de la
trama.
Cuando se usa un modelo traslacional para
representar el campo vector de movimiento, la estimación del campo
vector de movimiento se lleva a cabo de manera típica usando una
cierta frecuencia. Esta precisión es el límite superior (esto es,
la mejor precisión posible) con la que se pueden determinar los
coeficientes a_{o} y b_{0}. Usando la cuantificación de acuerdo
con la invención es posible disminuir la precisión con la que se
transmiten los coeficientes de movimiento a un receptor.
En el paso 505, se selecciona el cuantificador
que se vaya a usar en la cuantificación de los coeficientes de
movimiento a_{i} y b_{i} y en el paso 506 se cuantifican los
coeficientes de movimiento, dando como resultado los coeficientes
cuantificados \hat{a}_{i} y \hat{b}_{i}. Éstos son
transmitidos a un receptor en el paso 511. De manera ventajosa, el
receptor determina el cuantificador de información de movimiento con
referencia a, por ejemplo, el cuantificador (QP) usado para
codificar la información de error de predicción o la velocidad
binaria objetivo del flujo de vídeo codificado. Si el cuantificador
de coeficiente de movimiento se elige con referencia al
cuantificador QP usado para codificar la información de error de
codificación, el receptor es capaz de determinar el cuantificador
de coeficiente de movimiento de manera implícita. En este caso, no
se requiere una indicación específica del valor seleccionado de q,
por ejemplo. Es, sin embargo, una alternativa para transmitir
información relacionada con q en el paso 512. Se puede transmitir
como parte de la trama de vídeo codificado o se puede señalizar de
manera independiente al receptor. Además, el receptor puede
determinar el cuantificador seleccionado, por ejemplo, a partir del
formato en el que se transmiten los coeficientes
cuantificados.
cuantificados.
En el paso 507 se puede determinar una trama de
predicción P_{n}(x, y) usando una trama de referencia
R_{n}(x, y).
Los coeficientes cuantificados inversos
\tilde{a}_{i} y \tilde{b}_{i} se usan típicamente en la
construcción de \tilde{\Delta}x(x,y) =
\sum\tilde{a}_{i}f_{i}(x,y) y \Deltay(x,y) =
\sum\tilde{b}_{i}g_{i}(x,y). Por lo tanto, se puede
determinar (paso 508) y se puede codificar (paso 509) la trama de
error de predicción E_{n}(x, y) = I_{n}(x, y) -
P_{n}(x, y). Después de la codificación, la trama de error
de predicción se puede representar usando coeficientes de error de
predicción c_{i}. En el paso 510, los coeficientes de error de
predicción se cuantifican usando un segundo cuantificador. Los
coeficientes de error de predicción cuantificado resultantes
\hat{c}_{i} se transmiten al receptor en el paso 511. La
selección del segundo cuantificador está fuera del alcance de la
presente invención. De manera típica su selección viene dictada por
la calidad de imagen objetivo. De manera alternativa se puede
definir de acuerdo con los requisitos de una norma de codificación
de vídeo, por ejemplo, la Recomendación de la UIT-T
H.261 o H.263.
Anteriormente, las tramas han sido usadas como
un ejemplo de una pieza de información de vídeo. En los
procedimientos y en el aparato de codificación y descodificación de
acuerdo con la invención, también es posible transmitir y procesar
información de vídeo, por ejemplo, bloque a bloque o segmento a
segmento además de la aproximación trama a trama.
La figura 6 ilustra un diagrama de flujo de un
procedimiento de descodificación para las tramas de vídeo
codificadas con movimiento compensado de acuerdo con la invención.
En el paso 601 se define un conjunto de cuantificadores inversos, y
en el paso 602 se reciben los coeficientes cuantificados
\hat{a}_{i} y \hat{b}_{i}. En el paso 603 se determina el
cuantificador de información de movimiento. Se puede determinar,
por ejemplo, por medio de la determinación de los datos de
codificación de error de predicción recibidos, del cuantificador de
error de predicción y seleccionando un cuantificador inverso para
los coeficientes de movimiento de acuerdo con un conjunto de reglas
predefinidas. De manera alternativa, el cuantificador inverso se
puede seleccionar de acuerdo con una indicación explícita en el
flujo binario recibido. Tras esto, se lleva a cabo la cuantificación
inversa de los coeficientes de movimiento (paso 604), dando como
resultado los coeficientes de movimiento cuantificados inversos
\tilde{a}_{i} y \tilde{b}_{i}. En el paso 605, se
determinan las funciones base f_{i}(x, y) y
g_{i}(x, y). La función base se puede determinar a
priori si la técnica de estimación de movimiento y de
codificación usa solamente ciertas funciones base. También es
posible que la técnica de estimación de movimiento y de codificación
use una adaptación de modelo de movimiento, en cuyo caso la
información acerca de las funciones base seleccionadas se transmite
al receptor. La información acerca de éstas puede ser, por ejemplo,
transmitida dentro de la trama codificada, o las funciones base
pueden en cualquier otro caso conocer tanto el procedimiento de
codificación como el de descodificación.
En el paso 606, se determinan los elementos de
movimiento de la imagen usando al menos los coeficientes de
movimiento cuantificados inversos y las funciones base. Tras esto,
se puede determinar la trama de predicción P_{n}(x, y) en
el paso 607. En el paso 608, los coeficientes de error de predicción
cuantificados \hat{c}_{i} son descuantificados usando un
cuantificador inverso relacionado con el error de predicción. En el
paso 609, se construye una trama de error de predicción
descodificada \tilde{E}_{n}(x,y) usando los coeficientes
de error de predicción cuantificados inversos \tilde{c}_{i}. En
el paso 610, se determina la trama actual descodificada, por
ejemplo, por medio de \tilde{I}_{n}(x,y) =
P_{n}(x,y) + \tilde{E}_{n}(x,y).
La figura 7 presenta un dibujo esquemático de un
bloque de codificación de campo de movimiento y un bloque de
predicción de movimiento compensado de un codificador de vídeo de
movimiento compensado de acuerdo con una primera realización
preferida de la invención. En el bloque de codificación de campo de
movimiento 12', la codificación de campo de movimiento se lleva a
cabo usando el bloque de codificación de campo de vector de
movimiento 51. La salida del bloque de codificación del campo de
vector de movimiento comprende los coeficientes de movimiento
a_{i} y b_{i}. El bloque de cuantificación 30 es responsable de
la cuantificación de los coeficientes de movimiento. Realiza la
cuantificación usando un cuantificador seleccionado 31. El bloque de
selección del cuantificador 32 comprende un conjunto de
cuantificadores 33, de los que se selecciona el cuantificador
actualmente usado. El bloque de criterio de selección del
cuantificador 34 saca el criterio actual para la selección. Puede,
por ejemplo, indicar la calidad de imagen objetivo o la velocidad
binaria objetivo actuales, y el bloque de selección del
cuantificador 32 selecciona un cuantificador apropiado en base al
criterio.
En el bloque de predicción compensada de
movimiento 13' de acuerdo con la invención, existe un bloque de
selección de cuantificación inversa 42, que comprende un conjunto
de cuantificadores inversos 43. La cuantificación inversa se lleva
a cabo en el bloque de cuantificación inversa 40, usando el
cuantificador inverso seleccionado 41. Los coeficientes de
movimiento del cuantificador inverso \tilde{a}_{i} y
\tilde{b}_{i} se usan de manera típica además en el bloque de
descodificación de campo vector de movimiento 52 para determinar una
trama de predicción P_{n}(x, y).
La información acerca de los coeficientes de
movimiento cuantificados se transmite desde el bloque de
cuantificación 30 al bloque de cuantificación inversa 40 en el
bloque de predicción de movimiento compensado 13'. En la figura 7,
la información acerca del cuantificador seleccionado se transmite
desde el bloque de selección de cuantificador 32 al bloque de
selección de cuantificador inverso 42 en el bloque de predicción de
movimiento compensado 13' en el codificador.
Un descodificador de acuerdo con la invención
comprende un bloque de predicción de movimiento compensado 21' que
es similar a un bloque de predicción de movimiento compensado 13' en
un codificador de acuerdo con la invención. El bloque de selección
de cuantificación inversa 42 en el descodificador puede recibir
información independiente a partir de la cual puede determinar el
cuantificador inverso correcto a partir del codificador, o de
manera alternativa, puede recibir la información de alguna otra
parte del descodificador.
La figura 8 presenta un diagrama esquemático de
un codificador de vídeo de movimiento compensado de acuerdo con una
segunda realización preferida de la invención. En el descodificador
10' de acuerdo con la invención existe un bloque de codificación de
campo de movimiento 12', que comprende un bloque de cuantificación
30 y un bloque de selección de cuantificador 32. El bloque de
predicción de movimiento compensado 13' del codificador 10'
comprende un bloque de cuantificación inversa 40 y un bloque de
selección de cuantificador inverso 42. Los coeficientes
cuantificados (flecha 2) y la información acerca del error de
predicción (flecha 1) son transmitidos a un descodificador.
En el codificador de acuerdo con la segunda
realización preferida de la invención, la selección del
cuantificador de coeficientes de movimiento viene dictada por el
cuantificador QP usado en el bloque de codificación de error de
predicción 14 del codificador. El cuantificador de error de
predicción QP se puede seleccionar, por ejemplo, en base a la
calidad de imagen objetivo. Por medio de vincular la selección del
cuantificador usando en la cuantificación de los coeficientes de
movimiento con el cuantificador usado en la codificación del error
de predicción, la calidad de imagen objetivo de las tramas de vídeo
codificadas se puede conseguir de manera adecuada. El bloque de
codificación de error de predicción 14 puede indicar el
cuantificador de error de predicción actual (QP) al bloque de
selección de cuantificador 32 y también al bloque de selección de
cuantificador inverso 42 en el codificador 10'. El bloque de
selección de cuantificador 32 de manera alternativa, puede informar
al bloque de selección de cuantificación inversa 42 en el
codificador 10' acerca del cuantificador de error de
predicción.
El bloque de selección de cuantificador 32 y el
bloque de selección de cuantificador inverso 42 pueden residir de
manera alternativa, por ejemplo, en el bloque de codificación de
error de predicción 14 del codificador.
En un descodificador de acuerdo con la segunda
realización preferida de la invención, el descodificador recibe
información acerca del cuantificador usado en la codificación de la
trama de error de predicción y de esta manera no existe por lo
general la necesidad de transmitir información explícita relativa al
cuantificador de los coeficientes de movimiento. El descodificador
puede determinar el cuantificador de coeficientes de movimiento
usando la información transmitida desde el bloque de codificación de
error de predicción 14 (flecha 1) o a partir de la correspondiente
información de señalización. Los flujos de información 1 y 2 se
multiplexan de manera típica a un flujo de información 3 que
representa la trama de vídeo codificada. Este flujo de información
se transmite a un descodificador de acuerdo con la invención. La
información acerca del cuantificador de error de predicción puede
residir de manera alternativa en el descodificador y no requerir
comunicación entre el codificador y el descodificador.
Las flechas discontinuas que apuntan al bloque
de codificación de campo de movimiento 12' de la figura 8 presentan
algunos posibles ejemplos de flujos de información dentro del
codificador. Los detalles de la estructura del codificador dependen
de la estimación de campo de movimiento particular y de las técnicas
de codificación empleadas.
La figura 9 presenta un diagrama esquemático de
un descodificador 20' para descodificar las tramas de vídeo
codificadas de movimiento compensado de acuerdo con la segunda
realización preferida de la invención. Comprende un bloque de
predicción de movimiento compensado 21', en el que existe un bloque
de cuantificación inversa 40 de acuerdo con la invención y un
bloque de selección de cuantificador inverso 42 de acuerdo con la
invención. De manera típica, el bloque de descodificación de error
de predicción 22' informa al bloque de selección de cuantificador
inverso 42 acerca del cuantificador QP seleccionado usado para
cuantificar la información de error de predicción. Este bloque de
selección de cuantificación inversa 42 selecciona entonces un
cuantificador inverso apropiado para la información de coeficientes
de movimiento en base al valor de QP que recibe del bloque de
descodificación de error de predicción. El bloque de selección de
cuantificador inverso 42 puede residir de manera alternativa, por
ejemplo, dentro del bloque de descodificación de error de predicción
22 del descodificador.
La figura 10 presenta un diagrama esquemático
más detallado de un bloque de codificación de campo de movimiento
12' de acuerdo con la tercera realización preferida de la invención.
La idea principal de este bloque de codificación de campo de
movimiento es presentar el campo vector de movimiento como una suma
de dos campos vectores: un campo vector que se pueda predecir a
partir de otros segmentos en la trama \Deltax_{prd}(x, y)
y \Deltay_{prd}(x, y) y un campo vector de movimiento de
refinamiento \Deltax_{refinamiento}(x, y) y
\Deltay_{refinamiento}(x, y). Hacemos referencia a la
solicitud de patente de los Estados Unidos US 09/371641 relativa a
los detalles de la estimación y de la codificación de campo vector
de movimiento en un bloque de codificación de campo de movimiento
12* de acuerdo con la tercera realización preferida de la invención.
Aquí, solamente describimos con brevedad la codificación del campo
vector de movimiento en el bloque 12* a un nivel general.
En el bloque 12* existe un bloque analizador de
movimiento 61 y un bloque 62, que es responsable de la selección de
un segmento vecino y para construir el campo de movimiento de
predicción. De manera típica, cuando se predice el movimiento de un
cierto segmento, se usa el movimiento de al menos uno de sus
segmentos vecinos. Esta predicción se refina después por medio de
la determinación de un campo vector de movimiento refinado, que se
codifica por ejemplo, usando un modelo afín que emplea funciones
base ortogonales. El bloque de retirada de coeficientes de
movimiento 63 determina básicamente, qué coeficientes de movimiento
de refinamiento se pueden fijar a cero sin provocar que la
precisión del campo vector de movimiento se deteriore hasta un nivel
inaceptable. Los coeficientes de movimiento de refinamiento, que
permanezcan después del procedimiento de retirada, son cuantificados
en un bloque de cuantificación 30 de acuerdo con la invención.
La selección del cuantificador usado para los
coeficientes de movimiento cuantificados puede venir dictada por la
elección del cuantificador usado en el bloque de codificación de
error de predicción del codificador. La codificación de error de
predicción se puede realizar de acuerdo con la Recomendación H.263
de la UIT-T usando una transformada de coseno
discreta de dos dimensiones y definiendo dos cuantificadores
uniformes QP para la trama: QP_{P} permanece constante durante
toda la trama y QP_{S} puede variar para cada segmento de 16x16
píxeles en la trama.
En la tercera realización preferida de la
invención, el conjunto de cuantificadores consta de cuantificadores
uniformes que tienen diferentes intervalos de cuantificación. Por lo
tanto, el cuantificador de coeficientes de movimiento seleccionado
se puede especificar por medio de su intervalo de cuantificación. El
intervalo de cuantificación, a su vez, viene definido por el
parámetro q. Este parámetro puede depender, por ejemplo, del
parámetro de cuantificación QP_{P}. En la tabla 1, q denota el
intervalo de cuantificación en la cuantificación de coeficientes de
movimiento, y QP_{P} denota la mitad del intervalo de
cuantificación de los coeficientes de error de predicción. Los
coeficientes de movimiento en el bloque 12* se puede cuantificar de
acuerdo con la tabla 1, en otras palabras, por medio de la
selección del cuantificador en el bloque 30 en base al valor de
QP_{P}. tras esto, los coeficientes de movimiento cuantificados
pueden ser codificados en entropía y ser transmitidos a un
descodificador.
\vskip1.000000\baselineskip
Como se puede ver a partir de la tabla 1, el
tamaño del intervalo de cuantificación usado para cuantificar los
coeficientes de movimiento está relacionado con el intervalo de
cuantificación usado en la cuantificación de los coeficientes de
error de predicción. Esto quiere decir que cuando se transmite el
error de predicción usando una precisión superior, la información
de movimiento se transmite de manera automática usando una precisión
superior y viceversa. El valor de QP_{P} se puede seleccionar,
por ejemplo, en base a la calidad de imagen objetivo. Una vez que
se conoce el valor de QP_{P}, es posible directamente determinar
un cuantificador y un cuantificador inverso correspondiente al
mencionado valor de QP_{P}.
También es posible tener un conjunto de
cuantificadores que comprenda cuantificadores uniformes y no
uniformes. En este caso, es posible también seleccionar un
cuantificador dependiendo del valor de QP_{P}.
Un codificador o un descodificador de acuerdo
con la invención se pueden realizar usando hardware o software, o
usando una combinación adecuada de ambos. Un codificador o un
descodificador implementado en software pueden ser, por ejemplo, un
programa independiente o un bloque constructor de software que se
puede usar por varios programas. El bloque de cuantificación, el
bloque de selección del cuantificador y el bloque de criterio de
selección del cuantificador están en la descripción anterior y en
los dibujos representados como unidades independientes, pero la
funcionalidad de estos bloques se puede implementar, por ejemplo, en
una unidad de programa software responsable de la selección de un
cuantificador y de la cuantificación de los coeficientes de
movimiento.
También es posible implementar un codificador de
acuerdo con la invención y un descodificador de acuerdo con la
invención en una unidad funcional. Dicha unidad se denomina códec.
Un códec de acuerdo con la invención puede ser un programa de
ordenador o un elemento de programa de ordenador, o se puede
implementar al menos parcialmente usando hardware.
En vista de la anterior descripción, será
evidente para una persona que sea experta en la técnica que se
pueden hacer varias modificaciones dentro del alcance de la
invención. Mientras que se han descrito en detalle un número de
realizaciones preferidas de la invención, debería ser obvio que son
posibles muchas modificaciones y variaciones de la misma, todas
ellas cayendo dentro del alcance de la invención.
Claims (41)
1. Un procedimiento para codificar información
de vídeo, que comprende:
- -
- estimar el movimiento de un elemento de imagen entre una pieza de información de vídeo de referencia y una pieza de información de vídeo actual,
- -
- representar el movimiento del elemento de imagen usando un conjunto de funciones base y coeficientes de movimiento, formando por lo tanto un modelo representativo del movimiento del elemento de imagen, caracterizado por
- -
- definir (501) un conjunto de cuantificadores de coeficientes de movimiento para cuantificar los coeficientes de movimiento del modelo representativo del movimiento del elemento de imagen,
- -
- seleccionar (505) en base al criterio de selección predeterminado, un cuantificador de coeficientes de movimiento del conjunto de cuantificadores de coeficientes de movimiento con el fin de ajustar la precisión con la que se codifica la información de movimiento, y
- -
- cuantificar (510) los coeficientes de movimiento usando el cuantificador de coeficientes de movimiento seleccionado, representando por lo tanto el movimiento del elemento de imagen con una cierta precisión.
2. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 1, en el que los
coeficientes de movimiento son representativos del movimiento entre
la imagen de una señal de vídeo digital.
3. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 1, comprendiendo de
manera adicional:
- -
- formar información de vídeo de predicción para el elemento de imagen a partir de la pieza de información de vídeo de referencia, usando el modelo representativo del movimiento del elemento de imagen,
- -
- formar información de error de predicción representativa de una diferencia entre la información de vídeo de predicción para el elemento de imagen y la información de vídeo del elemento de imagen, teniendo la información de error de predicción una cierta precisión,
- -
- en el que el cuantificador de coeficientes de movimiento seleccionado es seleccionado usando el criterio de selección predeterminado de forma que la precisión con la que se represente el movimiento del elemento de imagen sea compatible con la precisión de la mencionada información de error de predicción.
4. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 1, en el que el criterio
de selección es el valor de un cierto parámetro usado en la
codificación.
5. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 4, comprendiendo de
manera adicional:
- -
- definir un conjunto de cuantificadores de coeficientes de movimiento inversos,
- -
- determinar un cuantificador de coeficientes de movimiento seleccionado usando cuáles de los coeficientes de movimiento están cuantificados,
- -
- realizar la cuantificación inversa de los coeficientes de movimiento cuantificados usando un cuantificador de coeficientes de movimiento inverso correspondiente al cuantificador de coeficientes de movimiento seleccionado;
- -
- determinar el movimiento del elemento de imagen con respecto a la pieza de información de vídeo de referencia usando los coeficientes de movimiento cuantificador inversos y las funciones base,
- -
- determinar la información de vídeo de predicción para el elemento de imagen usando la pieza de información de vídeo de referencia y el movimiento determinado de los elementos de imagen,
- -
- determinar una pieza de información de vídeo de error de predicción en base a la diferencia entre la información de vídeo de predicción para el elemento de imagen y la pieza de la información de vídeo actual,
- -
- transformar la pieza de la información de vídeo de error de predicción y representarla con ciertos coeficientes de error de predicción,
- -
- cuantificar los coeficientes de error de predicción usando un cuantificador de error de predicción, y
- -
- seleccionar el cuantificador de coeficientes de movimiento en base al cuantificador de error de predicción.
6. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 5, en el que un intervalo
de cuantificación del cuantificador de coeficientes de movimiento
está relacionado con el intervalo de cuantificación del
cuantificador de error de predicción.
7. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 1, en el que el criterio
de selección predeterminado es una calidad de imagen objetivo.
8. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 1, en el que el criterio
de selección predeterminado es la cantidad de información que se
necesita para representar los coeficientes cuantificados.
9. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 1, en el que el movimiento
del elemento de imagen está modelado usando un conjunto de
funciones base ortogonales.
10. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 9, en el que el
movimiento del elemento de imagen se modela usando un conjunto de
funciones base ortogonales afines.
11. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 9, en el que el
movimiento del elemento de imagen se representa por medio de la
predicción del movimiento del elemento de imagen en base al
movimiento de al menos uno de los elementos de imagen vecinos y por
medio de la determinación de un movimiento de refinamiento para el
elemento de imagen.
12. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 11, en el que el
movimiento de refinamiento se modela usando un conjunto de funciones
base ortogonales afines.
13. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 1, comprendiendo de
manera adicional un paso de transmitir los coeficientes de
movimiento cuantificados a un receptor.
14. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 12, comprendiendo de
manera adicional un paso de transmitir información especificando el
cuantificador de coeficientes de movimiento seleccionado al
receptor.
15. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 1, en el que el conjunto
de cuantificadores de coeficientes de movimiento comprende un número
de cuantificadores uniformes cada uno de los cuales tiene un
intervalo de cuantificación diferente.
16. Un procedimiento para codificar información
de vídeo de acuerdo con la reivindicación 1, en el que el conjunto
de cuantificadores de coeficientes de movimiento comprende un número
de cuantificadores uniformes modificados, cada uno de los cuales
tiene un intervalo de cuantificación diferente.
17. Un procedimiento para descodificar la
información de vídeo codificada, comprendiendo:
- -
- recibir información de vídeo codificada, la información de vídeo codificada comprendiendo coeficientes de movimiento cuantificados representando el movimiento de un elemento de imagen con respecto a una pieza de información de vídeo de referencia, caracterizado por
- -
- definir (601) un conjunto de cuantificadores de coeficientes de movimiento inversos para la cuantificación inversa del coeficiente de movimiento cuantificado,
- -
- determinar (603) un cuantificador de coeficiente de movimiento seleccionado usando cuáles de los coeficientes de movimiento están cuantificados,
- -
- seleccionar un cuantificador de coeficientes de movimiento inverso del conjunto de cuantificadores de coeficientes de movimiento inversos, correspondiente al cuantificador de coeficientes de movimiento seleccionado,
- -
- realizar la cuantificación inversa de los coeficientes de movimiento cuantificados usando el cuantificador de coeficientes de movimiento inverso seleccionado para formar coeficientes de movimiento cuantificador inversos.
18. Un procedimiento de acuerdo con la
reivindicación 17, comprendiendo de manera adicional:
- -
- recibir información de error de predicción que tenga una cierta precisión, el coeficiente de movimiento cuantificado habiendo sido cuantificado en el codificador de vídeo usando el cuantificador de coeficientes de movimiento seleccionado usando un criterio de selección predeterminado de forma que la precisión con la que se represente el movimiento del elemento de imagen sea compatible con la precisión de la información de error de predicción,
- -
- representar el movimiento del elemento de imagen usando los coeficientes de movimiento cuantificados inversos y ciertas funciones base, formando por lo tanto un modelo representativo del elemento de imagen, y
- -
- formar información de vídeo de predicción para la pieza de información de vídeo de referencia, usando el modelo representativo del movimiento del elemento de imagen.
19. Un procedimiento para descodificar
información de vídeo de acuerdo con la reivindicación 17, en el que
los coeficientes de movimiento son representativos del movimiento
entre la imagen de una señal de vídeo digital.
20. Un procedimiento para descodificar
información de vídeo codificada de acuerdo con la reivindicación 17,
comprendiendo de manera adicional la determinación de las funciones
base usando qué movimiento de los elementos de imagen se
modela.
21. Un procedimiento para descodificar
información de vídeo codificada de acuerdo con la reivindicación 17,
en el que el cuantificador de coeficientes de movimiento
seleccionado es determinado a partir de la información transmitida
relacionada con un parámetro usando en la codificación de la
información de vídeo.
22. Un procedimiento para descodificar
información de vídeo codificada de acuerdo con la reivindicación 17,
en el que la información de vídeo codificada recibida comprende
coeficientes de error de predicción cuantificados que representan
una pieza de información de vídeo de error de predicción,
comprendiendo de manera adicional:
- -
- determinar un cuantificador de error de predicción usando cuáles de los coeficientes de error de predicción están cuantificados,
- -
- realizar la cuantificación inversa de los coeficientes de error de predicción cuantificados usando un cuantificador inverso correspondiente al mencionado cuantificador de error de predicción,
- -
- determinar una pieza descodificada de información de vídeo de error de predicción usando los coeficientes de error de predicción cuantificados inversos, y
- -
- determinar una pieza descodificada de información de vídeo actual usando la pieza de información de vídeo de predicción, en el que el cuantificador de coeficientes de movimiento inversos seleccionado se determina en base al cuantificador de error de predicción.
23. Un procedimiento para descodificar
información de vídeo codificada de acuerdo con la reivindicación 17,
en el que la información de vídeo codificada comprende información
que indica el cuantificador de coeficientes de movimiento
seleccionado.
24. Un procedimiento para descodificar
información de vídeo codificada de acuerdo con la reivindicación 17,
comprendiendo de manera adicional un paso de recibir información de
señalización indicadora del cuantificador de coeficientes de
movimiento seleccionado.
25. Un codificador para realizar la codificación
compensada de movimiento de información de vídeo, comprendiendo:
- -
- un estimador de movimiento (11) para estimar el movimiento de un elemento de imagen entre una pieza de información de vídeo de referencia y una pieza de información de vídeo actual,
- -
- un codificador de campo de movimiento (12. 12', 12'') para representar el movimiento de un elemento de imagen usando un conjunto de funciones base y coeficientes de movimiento asociados formando por lo tanto un modelo representativo del movimiento del mencionado elemento de imagen, caracterizado por
- -
- un medio (33) para definir un conjunto de cuantificadores de coeficientes de movimiento, para cuantificar los coeficientes de movimiento del modelo representativo del movimiento del elemento de imagen,
- -
- un medio (32, 31) para seleccionar un cuantificador de coeficientes de movimiento del conjunto de cuantificadores de coeficientes de movimiento con el fin de ajustar la precisión con la que se codifica la información de movimiento,
- -
- un medio (30, 31) para cuantificar los coeficientes de movimiento usando el cuantificador de coeficientes de movimiento seleccionado, representando por lo tanto el movimiento del mencionado elemento de imagen con una cierta precisión.
26. Un codificador de acuerdo con la
reivindicación 25, en el que el mencionado medio para seleccionar un
cuantificador de coeficientes de movimiento está dispuesto para
seleccionar un cuantificador de coeficientes de movimiento usando
un criterio de selección predeterminado.
27. Un codificador de acuerdo con la
reivindicación 25, en el que los coeficientes de movimientos son
representativos del movimiento entre la imagen de una señal de
vídeo digital.
28. Un codificador de acuerdo con la
reivindicación 25, comprendiendo de manera adicional:
- -
- un predictor de movimiento compensado para formar la información de vídeo de predicción para el elemento de imagen a partir de la pieza de información de vídeo de referencia, usando el modelo representativo del movimiento del elemento de imagen,
- -
- un codificador de error de predicción para formar la información de error de predicción representativa de una diferencia entre la información de vídeo de predicción para el elemento de imagen y la información de vídeo del elemento de imagen, teniendo la información de error de predicción una cierta precisión, y
- -
- en el que el medio para seleccionar un cuantificador de coeficientes de movimiento está dispuesto para seleccionar un cuantificador de coeficientes de movimiento usando un criterio de selección predeterminado de forma que la precisión con la que se representa el movimiento del mencionado elemento de imagen sea compatible con la precisión de la mencionada información de error de predicción.
29. Un codificador para realizar una
codificación de movimiento compensado de la información de vídeo de
acuerdo con la reivindicación 25, en el que la información que
indica el criterio de selección es indicativa de un cierto
parámetro usado en el codificador.
30. Un codificador para realizar la codificación
de movimiento compensado de la información de vídeo de acuerdo con
la reivindicación 25, comprendiendo de manera adicional:
- -
- predecir un medio de error para determinar una pieza de información de error de predicción entre la pieza de información de vídeo actual y la pieza de información de vídeo de predicción, y
- -
- predecir un medio de codificación de errores para codificar la pieza de información de vídeo de error de predicción y representar la pieza de información de vídeo de error de predicción usando ciertos coeficientes de error de predicción, lo que comprende un medio de cuantificación para cuantificar los coeficientes de error de predicción usando un cuantificador de error de predicción, en el que el medio de cuantificación tiene una salida para enviar información indicativa del cuantificador de error de predicción y la selección en el medio de selección se basa en la información indicativa del cuantificador de error de predicción.
31. Un codificador para realizar una
codificación de movimiento compensado de la información de vídeo de
acuerdo con la reivindicación 25, en el que la información
indicativa del criterio de selección es indicativa de una calidad
de imagen.
32. Un codificador para realizar la codificación
de movimiento compensado de la información de vídeo de acuerdo con
la reivindicación 25, en el que la información indicativa del
criterio de selección es indicativa de una velocidad binaria.
33. Un descodificador para descodificar la
información de vídeo, comprendiendo:
- -
- una entrada (13, 21) para recibir la información de vídeo codificada desde un codificador de vídeo, comprendiendo la información de vídeo codificada coeficientes de movimiento cuantificados que representan el movimiento de un elemento de imagen con respecto a una pieza de información de vídeo de referencia, caracterizado por
- -
- un medio (43) para definir un conjunto de cuantificadores de coeficientes de movimiento inversos para la cuantificación inversa de los coeficientes de movimiento cuantificados,
- -
- un medio (42, 41) para determinar un cuantificador de coeficientes de movimiento seleccionado usando cuáles de los coeficientes de movimiento están cuantificados,
- -
- un medio (41, 42) para seleccionar un cuantificador de coeficientes de movimiento inversos a partir del conjunto de cuantificadores de coeficientes de movimiento inversos, correspondiente al cuantificador de coeficientes de movimiento seleccionado, y
- -
- un medio (40) para realizar la cuantificación inversa de los coeficientes de movimiento cuantificados usando el cuantificador de coeficientes de movimiento inverso seleccionado para formar los coeficientes de movimiento cuantificados inversos.
34. Un descodificador de acuerdo con la
reivindicación 33, en el que los coeficientes de movimiento son
representativos del movimiento entre la imagen de una señal de
vídeo digital.
\newpage
35. Un descodificador para realizar la
descodificación de la información de vídeo codificada de acuerdo con
la reivindicación 33, en el que la mencionada información de vídeo
codificada comprende información indicativa del criterio de
selección.
36. Un descodificador para realizar la
descodificación de la información de vídeo codificada de acuerdo con
la reivindicación 33, comprendiendo de manera adicional un medio
para recibir la información de señalización indicativa del
mencionado criterio de selección.
37. Un descodificador para realizar la
descodificación de la información de vídeo codificada de acuerdo con
la reivindicación 33, en el que la mencionada información de vídeo
codificada comprende coeficientes de error de predicción
cuantificados, comprendiendo:
- -
- un medio para determinar un cuantificador de error de predicción usado en la cuantificación de los coeficientes de error de predicción y un correspondiente cuantificador de error de predicción inverso, y
- -
- un segundo medio de cuantificación inversa para cuantificar de manera inversa los coeficientes de error de predicción cuantificados usando el cuantificador de error de predicción inverso, el mencionado medio de cuantificación inversa teniendo una salida para enviar información indicativa del cuantificador de error de predicción, y
- la selección en el medio de selección se basa en la información indicativa del cuantificador de error de predicción.
38. Un elemento de programa de ordenador para
realizar la codificación de movimiento compensado de la información
de vídeo, comprendiendo un código de ordenador para provocar que un
medio procesador programable:
- -
- reciba una pieza de información de vídeo actual,
- -
- almacena una pieza de información de vídeo de referencia,
- -
- estime el campo de movimiento de un elemento de imagen en la pieza de información de vídeo actual usando al menos la pieza de información de vídeo de referencia,
- -
- representar el movimiento del mencionado elemento de imagen usando un conjunto de funciones base y coeficientes de movimiento asociados, formando por lo tanto un modelo representativo del movimiento del elemento de imagen,
- -
- definir un conjunto de cuantificadores de coeficientes de movimiento para cuantificar los coeficientes de movimiento del modelo representativo del movimiento del elemento de imagen,
- -
- seleccionar un cuantificador de coeficientes de movimiento a partir del conjunto de cuantificadores de coeficientes de movimiento con el fin de ajustar la precisión con la que se codifica la información de movimiento, y
- -
- cuantificar los coeficientes de movimiento usando un cuantificador de coeficientes de movimiento seleccionado, representando por lo tanto el movimiento del elemento de imagen con una cierta precisión.
39. Un elemento de programa de ordenador de
acuerdo con la reivindicación 38, realizado sobre un medio legible
por un ordenador.
40. Un elemento de programa de ordenador para
realizar la descodificación de la información de vídeo codificada,
comprendiendo un medio de código de ordenador que provoca que un
medio de procesador programable:
- -
- almacene una pieza de información de vídeo de referencia.
- -
- reciba información de vídeo codificada que comprenda coeficientes de movimiento cuantificados que representen el movimiento de un elemento de imagen con respecto a la pieza de información de vídeo de referencia,
- -
- defina un conjunto de cuantificadores de coeficientes de movimiento inversos para la cuantificación inversa del coeficiente de movimiento cuantificado,
- -
- determine un cuantificador de coeficientes de movimiento seleccionado usando cuáles de los coeficientes de movimiento están cuantificados,
- -
- seleccione un cuantificador de coeficientes de movimiento inverso a partir del conjunto de cuantificadores de coeficientes de movimiento inversos correspondiente al cuantificador de coeficientes de movimiento seleccionado,
- -
- realice la cuantificación inversa de los coeficientes de movimiento cuantificados usando el cuantificador de coeficientes de movimiento inverso seleccionado para formar coeficientes de movimiento cuantificados inversos.
41. Un elemento de programa de ordenador como se
especifica en la reivindicación 40 realizado sobre un medio legible
por un ordenador.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US489543 | 2000-01-21 | ||
US09/489,543 US6738423B1 (en) | 2000-01-21 | 2000-01-21 | Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2313943T3 true ES2313943T3 (es) | 2009-03-16 |
Family
ID=23944301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES01902437T Expired - Lifetime ES2313943T3 (es) | 2000-01-21 | 2001-01-19 | Procedimiento para codificar y para descodificar informacion de video , un codificador de video con compensacion de movimiento y correspondiente descodificador. |
Country Status (9)
Country | Link |
---|---|
US (2) | US6738423B1 (es) |
EP (2) | EP1971153B1 (es) |
CN (2) | CN100556148C (es) |
AT (1) | ATE414381T1 (es) |
AU (1) | AU3027001A (es) |
DE (1) | DE60136526D1 (es) |
ES (1) | ES2313943T3 (es) |
HK (1) | HK1122170A1 (es) |
WO (1) | WO2001054417A1 (es) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7321783B2 (en) * | 1997-04-25 | 2008-01-22 | Minerva Industries, Inc. | Mobile entertainment and communication device |
US20040157612A1 (en) * | 1997-04-25 | 2004-08-12 | Minerva Industries, Inc. | Mobile communication and stethoscope system |
US6996521B2 (en) * | 2000-10-04 | 2006-02-07 | The University Of Miami | Auxiliary channel masking in an audio signal |
FR2823049B1 (fr) * | 2001-03-29 | 2003-06-06 | Nextream Sa | Procede et dispositif de controle de la qualite de donnees video |
CN1266944C (zh) * | 2001-09-07 | 2006-07-26 | 皇家飞利浦电子股份有限公司 | 图像处理器和配有这种图像处理器的图像显示设备 |
JP4574090B2 (ja) * | 2001-09-21 | 2010-11-04 | 三菱電機株式会社 | 動画データ変換装置および動画データ変換プログラム |
WO2003063503A1 (en) * | 2002-01-24 | 2003-07-31 | Hitachi, Ltd. | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus |
US8175159B2 (en) * | 2002-01-24 | 2012-05-08 | Hitachi, Ltd. | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus |
AU2003247711A1 (en) * | 2002-07-09 | 2004-01-23 | Aware, Inc. | Iterative compression parameters control for a sequence of images |
WO2004109586A1 (en) | 2003-06-05 | 2004-12-16 | Aware, Inc. | Image quality control techniques |
US7602851B2 (en) * | 2003-07-18 | 2009-10-13 | Microsoft Corporation | Intelligent differential quantization of video coding |
US8218624B2 (en) * | 2003-07-18 | 2012-07-10 | Microsoft Corporation | Fractional quantization step sizes for high bit rates |
US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7580584B2 (en) * | 2003-07-18 | 2009-08-25 | Microsoft Corporation | Adaptive multiple quantization |
US7623574B2 (en) * | 2003-09-07 | 2009-11-24 | Microsoft Corporation | Selecting between dominant and non-dominant motion vector predictor polarities |
US7292283B2 (en) * | 2003-12-23 | 2007-11-06 | Genesis Microchip Inc. | Apparatus and method for performing sub-pixel vector estimations using quadratic approximations |
KR100541526B1 (ko) * | 2004-01-30 | 2006-01-10 | 에스케이 텔레콤주식회사 | 멀티미디어 데이터의 전송품질 측정방법 및 장치 |
US7801383B2 (en) * | 2004-05-15 | 2010-09-21 | Microsoft Corporation | Embedded scalar quantizers with arbitrary dead-zone ratios |
US7573406B2 (en) * | 2004-05-21 | 2009-08-11 | Broadcom Corporation | System and method for decoding context adaptive variable length coding |
US8422546B2 (en) | 2005-05-25 | 2013-04-16 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
KR101045205B1 (ko) * | 2005-07-12 | 2011-06-30 | 삼성전자주식회사 | 화상 데이터 부호화 및 복호화 장치 및 방법 |
KR100813258B1 (ko) | 2005-07-12 | 2008-03-13 | 삼성전자주식회사 | 화상 데이터 부호화 및 복호화 장치 및 방법 |
US7974340B2 (en) * | 2006-04-07 | 2011-07-05 | Microsoft Corporation | Adaptive B-picture quantization control |
US8059721B2 (en) | 2006-04-07 | 2011-11-15 | Microsoft Corporation | Estimating sample-domain distortion in the transform domain with rounding compensation |
US8503536B2 (en) | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
US20070237237A1 (en) * | 2006-04-07 | 2007-10-11 | Microsoft Corporation | Gradient slope detection for video compression |
US7995649B2 (en) * | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
US8130828B2 (en) * | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
US8711925B2 (en) | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US8238424B2 (en) | 2007-02-09 | 2012-08-07 | Microsoft Corporation | Complexity-based adaptive preprocessing for multiple-pass video compression |
US10194175B2 (en) | 2007-02-23 | 2019-01-29 | Xylon Llc | Video coding with embedded motion |
US8396118B2 (en) * | 2007-03-19 | 2013-03-12 | Sony Corporation | System and method to control compressed video picture quality for a given average bit rate |
US8498335B2 (en) | 2007-03-26 | 2013-07-30 | Microsoft Corporation | Adaptive deadzone size adjustment in quantization |
US8243797B2 (en) | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
US8442337B2 (en) | 2007-04-18 | 2013-05-14 | Microsoft Corporation | Encoding adjustments for animation content |
US8331438B2 (en) * | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
JP2009027664A (ja) * | 2007-07-24 | 2009-02-05 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
US9979972B2 (en) | 2007-10-05 | 2018-05-22 | Thomson Licensing Dtv | Method and apparatus for rate control accuracy in video encoding and decoding |
US20090103822A1 (en) * | 2007-10-19 | 2009-04-23 | Lutz Guendel | Method for compression of image data |
WO2009091548A1 (en) * | 2008-01-17 | 2009-07-23 | Thomson Licensing | Method and apparatus for rate control accuracy in video encoding |
US8189933B2 (en) | 2008-03-31 | 2012-05-29 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content |
CN101276471B (zh) * | 2008-05-12 | 2010-06-02 | 北京中星微电子有限公司 | 一种adpcm图像压缩方法和装置 |
US8897359B2 (en) | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
GB2487200A (en) | 2011-01-12 | 2012-07-18 | Canon Kk | Video encoding and decoding with improved error resilience |
US20130083845A1 (en) | 2011-09-30 | 2013-04-04 | Research In Motion Limited | Methods and devices for data compression using a non-uniform reconstruction space |
EP2595382B1 (en) | 2011-11-21 | 2019-01-09 | BlackBerry Limited | Methods and devices for encoding and decoding transform domain filters |
CN104012072B (zh) | 2011-12-30 | 2018-01-30 | 英特尔公司 | 使用运动估计的目标检测 |
AU2012383769B2 (en) * | 2012-06-27 | 2015-08-06 | Kabushiki Kaisha Toshiba | Encoding method, decoding method, encoding device, and decoding device |
JP6157114B2 (ja) | 2012-12-28 | 2017-07-05 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
CN107809642B (zh) * | 2015-02-16 | 2020-06-16 | 华为技术有限公司 | 用于视频图像编码和解码的方法、编码设备和解码设备 |
US10560712B2 (en) | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
US10448010B2 (en) | 2016-10-05 | 2019-10-15 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
US11877001B2 (en) | 2017-10-10 | 2024-01-16 | Qualcomm Incorporated | Affine prediction in video coding |
US20190273946A1 (en) * | 2018-03-05 | 2019-09-05 | Markus Helmut Flierl | Methods and Arrangements for Sub-Pel Motion-Adaptive Image Processing |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4954892A (en) * | 1989-02-14 | 1990-09-04 | Mitsubishi Denki Kabushiki Kaisha | Buffer controlled picture signal encoding and decoding system |
JP2520306B2 (ja) | 1989-05-24 | 1996-07-31 | 三菱電機株式会社 | 変換符号化装置 |
US5428396A (en) * | 1991-08-03 | 1995-06-27 | Sony Corporation | Variable length coding/decoding method for motion vectors |
JP2894067B2 (ja) | 1992-02-26 | 1999-05-24 | 日本電気株式会社 | 動画像符号化制御方法および動画像符号化装置 |
US5565921A (en) * | 1993-03-16 | 1996-10-15 | Olympus Optical Co., Ltd. | Motion-adaptive image signal processing system |
US5861921A (en) * | 1993-03-29 | 1999-01-19 | Canon Kabushiki Kaisha | Controlling quantization parameters based on code amount |
US5757668A (en) | 1995-05-24 | 1998-05-26 | Motorola Inc. | Device, method and digital video encoder of complexity scalable block-matching motion estimation utilizing adaptive threshold termination |
JP3781194B2 (ja) * | 1995-10-20 | 2006-05-31 | ノキア コーポレイション | 動きベクトルフィールド符号化 |
WO1997017797A2 (en) | 1995-10-25 | 1997-05-15 | Sarnoff Corporation | Apparatus and method for quadtree based variable block size motion estimation |
US5778192A (en) | 1995-10-26 | 1998-07-07 | Motorola, Inc. | Method and device for optimal bit allocation between different sources of information in digital video compression |
US5731837A (en) * | 1996-01-25 | 1998-03-24 | Thomson Multimedia, S.A. | Quantization circuitry as for video signal compression systems |
US5867221A (en) * | 1996-03-29 | 1999-02-02 | Interated Systems, Inc. | Method and system for the fractal compression of data using an integrated circuit for discrete cosine transform compression/decompression |
JP3790804B2 (ja) | 1996-04-19 | 2006-06-28 | ノキア コーポレイション | 動きに基づく分割及び合併を用いたビデオ・エンコーダ及びデコーダ |
US6366614B1 (en) * | 1996-10-11 | 2002-04-02 | Qualcomm Inc. | Adaptive rate control for digital video compression |
US6256347B1 (en) * | 1996-12-17 | 2001-07-03 | Thomson Licensing S.A. | Pixel block compression apparatus in an image processing system |
US6266375B1 (en) * | 1997-11-13 | 2001-07-24 | Sony Corporation | Method and apparatus for selecting a quantization table for encoding a digital image |
US6118822A (en) * | 1997-12-01 | 2000-09-12 | Conexant Systems, Inc. | Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes |
US6343098B1 (en) * | 1998-02-26 | 2002-01-29 | Lucent Technologies Inc. | Efficient rate control for multi-resolution video encoding |
JP3748717B2 (ja) * | 1998-08-31 | 2006-02-22 | シャープ株式会社 | 動画像符号化装置 |
US6735249B1 (en) | 1999-08-11 | 2004-05-11 | Nokia Corporation | Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding |
-
2000
- 2000-01-21 US US09/489,543 patent/US6738423B1/en not_active Expired - Lifetime
-
2001
- 2001-01-19 CN CN200610105704.0A patent/CN100556148C/zh not_active Expired - Lifetime
- 2001-01-19 AT AT01902437T patent/ATE414381T1/de not_active IP Right Cessation
- 2001-01-19 EP EP08159674A patent/EP1971153B1/en not_active Expired - Lifetime
- 2001-01-19 DE DE60136526T patent/DE60136526D1/de not_active Expired - Lifetime
- 2001-01-19 AU AU30270/01A patent/AU3027001A/en not_active Abandoned
- 2001-01-19 CN CN01803942.1A patent/CN1274158C/zh not_active Expired - Lifetime
- 2001-01-19 WO PCT/FI2001/000044 patent/WO2001054417A1/en active Application Filing
- 2001-01-19 EP EP01902437A patent/EP1256238B1/en not_active Expired - Lifetime
- 2001-01-19 ES ES01902437T patent/ES2313943T3/es not_active Expired - Lifetime
-
2004
- 2004-01-21 US US10/762,736 patent/US8630340B2/en not_active Expired - Lifetime
-
2009
- 2009-03-13 HK HK09102416.3A patent/HK1122170A1/xx unknown
Also Published As
Publication number | Publication date |
---|---|
EP1971153A1 (en) | 2008-09-17 |
HK1122170A1 (en) | 2009-05-08 |
EP1971153A3 (en) | 2008-11-26 |
US20040151245A1 (en) | 2004-08-05 |
CN100556148C (zh) | 2009-10-28 |
EP1256238A1 (en) | 2002-11-13 |
US8630340B2 (en) | 2014-01-14 |
CN1274158C (zh) | 2006-09-06 |
ATE414381T1 (de) | 2008-11-15 |
EP1256238B1 (en) | 2008-11-12 |
CN1395801A (zh) | 2003-02-05 |
WO2001054417A1 (en) | 2001-07-26 |
EP1971153B1 (en) | 2012-07-11 |
CN1897710A (zh) | 2007-01-17 |
AU3027001A (en) | 2001-07-31 |
US6738423B1 (en) | 2004-05-18 |
DE60136526D1 (de) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2313943T3 (es) | Procedimiento para codificar y para descodificar informacion de video , un codificador de video con compensacion de movimiento y correspondiente descodificador. | |
US10728550B2 (en) | Moving image coding apparatus and moving image decoding apparatus | |
ES2675578T3 (es) | Puesta en correspondencia de plantillas para codificación de vídeo | |
ES2545066T3 (es) | Medio de grabación de información de imágenes | |
ES2898862T3 (es) | Derivación de información de movimiento para subbloques en codificación de vídeo | |
US10225574B2 (en) | Interpolation of video compression frames | |
ES2772837T3 (es) | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen | |
ES2693643T3 (es) | Exploración dependiente de modo de coeficientes de un bloque de datos de vídeo | |
ES2663691T3 (es) | Selección eficiente de modo de predicción | |
ES2625902T3 (es) | Procedimientos y aparatos para la compensación de iluminación y color en la codificación de vídeo de múltiples vistas | |
BR112020014654A2 (pt) | compensação de movimento afim em codificação de vídeo | |
ES2540583T9 (es) | Método para interpolación de valores de subpíxeles | |
CN110753231A (zh) | 多通道视频处理系统的方法与装置 | |
WO2012089773A1 (en) | Video encoding and decoding with improved error resilience | |
BR112017020635B1 (pt) | Método para decodificar dados de vídeo, método e aparelho para codificar dados de vídeo, e memória legível por computador | |
JP2017200054A (ja) | 映像符号化装置、映像符号化方法及び映像符号化プログラム |