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 PDF

Info

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
Application number
ES01902437T
Other languages
English (en)
Inventor
Jani Lainema
Marta Karczewicz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Application granted granted Critical
Publication of ES2313943T3 publication Critical patent/ES2313943T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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/198Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

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.
Antecedentes de la invención
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:
1
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
2
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).
3
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:
4
5
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:
6
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:
7
y el modelo de movimiento cuadrático dado por la ecuación:
8
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.
Sumario de la invención
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.
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.
Breve descripción de los dibujos
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.
Descripción detallada
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:
9
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
10
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
11
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
12
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.
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).
13
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
TABLA 1 Relación entre el intervalo de cuantificación q relacionado con los coeficientes de movimiento y el intervalo de cuantificación QP_{P} relacionado con los coeficientes de error de predicción
14
15
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.
ES01902437T 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. Expired - Lifetime ES2313943T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 映像符号化装置、映像符号化方法及び映像符号化プログラム