PROCEDIMIENTO DE CODIFICACION DE VECTORES DE MOVIMIENTO Y PROCEDIMIENTO DE DESCODIFICACION DE VECTORES DE MOVIMIENTO.

Procedimiento de descodificación de vectores de movimiento para descodificar un vector de movimiento codificado de un bloque incluido en una imagen,

comprendiendo el procedimiento: especificar bloques vecinos (B, C, D) que están ubicados alrededor de un bloque actual (A) que va a descodificarse y ya se han descodificado; descodificar un vector de movimiento codificado del bloque actual (A) para generar un vector de movimiento diferencial; si el bloque actual (A) tiene dos vectores de movimiento cada uno de los cuales hace referencia a una imagen de referencia ubicada en la misma dirección en el orden de visualización, obtener un vector de movimiento predicho del bloque actual (A) utilizando un vector de movimiento que tiene un identificador que es igual a un identificador asignado al vector de movimiento del bloque actual (A) de entre los vectores de movimiento de los bloques vecinos (B, C, D) especificados, y obtener el vector de movimiento del bloque actual (A) usando el vector de movimiento predicho y el vector de movimiento diferencial, en el que la obtención del vector de movimiento predicho incluye obtener, como vector de movimiento predicho del bloque actual (A), un valor medio de los vectores de movimiento de los bloques vecinos (B, C, D) que tienen el mismo identificador que el identificador asignado al vector de movimiento del bloque actual (A), caracterizado porque el identificador para cada vector de movimiento de los bloques vecinos (B, C, D) se asigna (S113) según bloques de acuerdo con un orden en el que los vectores de movimiento de cada bloque aparecen en un tren binario

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E07100277.

Solicitante: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD..

Nacionalidad solicitante: Japón.

Dirección: 1006, OAZA-KADOMA,KADOMA-SHI, OSAKA 571-8501.

Inventor/es: KADONO, SHINYA, HAGAI, MAKOTO, ABE, KIYOFUMI, KONDO, SATOSHI.

Fecha de Publicación: .

Fecha Solicitud PCT: 10 de Abril de 2003.

Fecha Concesión Europea: 9 de Junio de 2010.

Clasificación Internacional de Patentes:

  • H04N7/26D
  • H04N7/26M6E
  • H04N7/26M6E2
  • H04N7/36C
  • H04N7/36C8
  • H04N7/50

Clasificación PCT:

  • H04N7/32

Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre.

PROCEDIMIENTO DE CODIFICACION DE VECTORES DE MOVIMIENTO Y PROCEDIMIENTO DE DESCODIFICACION DE VECTORES DE MOVIMIENTO.

Fragmento de la descripción:

Procedimiento de codificación de vectores de movimiento y procedimiento de descodificación de vectores de movimiento.

Campo técnico

La presente invención se refiere a procedimientos para codificar y descodificar información de vectores de movimiento en codificación y descodificación de imágenes en movimiento usando codificación por predicción inter-imágenes.

Estado actual de la técnica

Por regla general, en la codificación de imágenes en movimiento, se comprime una cantidad de información suprimiendo las redundancias espaciales y temporales que existen en el seno de las imágenes en movimiento. Como procedimiento de supresión de las redundancias temporales, se usa la codificación por predicción inter-imágenes. En la codificación por predicción inter-imágenes, para codificar una imagen actual, se usan como imágenes de referencia imágenes que preceden o siguen en el tiempo a la imagen actual. Se detecta el movimiento de la imagen actual respecto a las imágenes de referencia y se calcula la diferencia entre la imagen obtenida por compensación del movimiento y la imagen actual. Luego se eliminan de esta diferencia las redundancias espaciales, de manera que se comprime la cantidad de información de las imágenes en movimiento.

En el procedimiento convencional de codificación de imágenes en movimiento según el estándar MPEG-4 (ISO/CEI 14496-2: 1999 Information technology, Coding of audio-visual objects - Parte 2: Visual, pp. 146-148) (denominado en lo sucesivo MPEG-4) y similares, existen tres tipos de imágenes. Las imágenes I (imágenes intracodificadas) no se codifican usando predicción inter-imágenes, sino que se intracodifican. Las imágenes P (imágenes con codificación predictiva) se codifican usando predicción inter-imágenes con referencia a una imagen precedente. Las imágenes B (imágenes con codificación predictiva bidireccional) se codifican usando predicción inter-imágenes con referencia a una imagen precedente (imagen I o imagen P) y una imagen siguiente (imagen I o imagen P). La Fig. 15 muestra relaciones predictivas entre imágenes respectivas en el procedimiento de codificación de imágenes en movimiento anteriormente mencionado. En la Fig. 15, las líneas verticales muestran imágenes, y los tipos de imagen (I, P y B) se indican en la parte inferior derecha de las imágenes respectivas. Las imágenes en las puntas de las flechas se codifican usando predicción inter-imágenes con referencia a las imágenes de los otros extremos de las flechas. Por ejemplo, la segunda imagen B se codifica usando como imágenes de referencia la primera imagen I y la cuarta imagen P.

De acuerdo con el estándar MPEG-4, para codificar vectores de movimiento, se codifica una diferencia entre un vector de movimiento de un bloque actual y un vector predicho obtenido de los vectores de movimiento para los bloques vecinos. Puesto que los vectores de movimiento de los bloques vecinos normalmente tienen una magnitud y dirección del movimiento sobre la coordenada espacial similares a los vectores de movimiento para el bloque actual, el grado de codificación de los vectores de movimiento puede reducirse calculando la diferencia con respecto al vector predicho obtenido de los vectores de movimiento de los bloques vecinos. Con referencia a las Figs. 16A a 16D se explicará el modo de codificar vectores de movimiento según MPEG-4. En estas figuras, los bloques indicados en negrita son macrobloques de 16x16 píxeles, y en cada macrobloque hay 4 bloques de 8x8 píxeles. En las Figs. 16A a 16D, el vector de movimiento (MV) de cada bloque está codificado sobre la base de la diferencia con respecto al vector predicho obtenido de los vectores de movimiento (MV1, MV2 y MV3) de los tres bloques vecinos. En calidad de este valor predicho, se usan las medianas calculadas respectivamente a partir de las componentes horizontal y vertical de estos tres vectores de movimiento MV1, MV2 y MV3. Sin embargo, en ocasiones un bloque vecino no tiene vector de movimiento, por ejemplo, cuando está intracodificado o está codificado como imagen B de modo directo. Si uno de los bloques vecinos es un bloque de este tipo, el vector de movimiento para el bloque se considera igual a 0. Si dos de los bloques vecinos son bloques de este tipo, el vector de movimiento del bloque restante se usa como vector predicho. Y cuando de todos los bloques vecinos ninguno tiene vector de movimiento, el vector de movimiento del bloque actual se codifica partiendo del supuesto de que el vector predicho es 0.

Mientras tanto, el procedimiento H.26L, que se ha desarrollado con fines de normalización, propone un nuevo procedimiento de codificación de imágenes B. Las imágenes B tradicionalmente se codifican usando como imágenes de referencia una imagen precedente previamente codificada y una imagen siguiente previamente codificada, pero, en el nuevo procedimiento de codificación, las imágenes B se codifican usando dos imágenes precedentes previamente codificadas, dos imágenes siguientes previamente codificadas, o una imagen precedente previamente codificada y una imagen siguiente previamente codificada.

El borrador de trabajo número 2, revisión 2 (WD-2) de Joint Video Team (JVT) de ISO/IEC MPEG e ITÜ-T VCEG es una descripción de un procedimiento de codificación de referencia para el uso en el desarrollo de un procedimiento de compresión de video denominado "JVT Coding" como recomendación ITU-T (H.26L) y estándar ISO/IEC JTC1 (MPEG-4, parte 10).

En el procedimiento convencional de codificación de vectores de movimiento, incluso si los bloques vecinos en una imagen B tienen respectivamente dos vectores de movimiento hacia las imágenes de referencia precedentes o dos vectores de movimiento hacia las imágenes de referencia siguientes, no existe ningún procedimiento definitivo y unificado de determinación de cuál de esos dos vectores debería usarse como vector predicho y, por esto, no existe ningún procedimiento de codificación eficaz del vector de movimiento determinado.

Takahiro Fukuhara y col. presentan, en el documento "Very Low Bit-Rate Video Coding with Block Partitioning and Adaptive Selection of Two Time-Differential Frame Memories", en IEEE Transactions on Circuits and Systems for Video Technology, IEEE Service Center, Piscataway, NJ, Estados Unidos, Vol. 7. nº 1, febrero de 1997, esquemas MC para la codificación de vídeo con una tasa de transferencia de bits muy baja. Las principales características de los esquemas MC propuestos son predicción de partición de bloques y utilización de cuadros de referencia temporales diferenciales. Este esquema de codificación pretende mejorar la calidad de imagen alrededor de los bordes de los objetos y, en consecuencia, reducir los errores de predicción. También se pretende realizar un buen trabajo en caso de oclusiones de objetos.

La presente invención se ha concebido a fin de solucionar el problema anteriormente mencionado y tiene por objeto proporcionar un procedimiento de codificación de vectores de movimiento y un procedimiento de descodificación de vectores de movimiento capaces de unificar el procedimiento de determinación de un vector predicho para codificar un vector de movimiento, y mejorar la predictibilidad.

Descripción de la invención

A fin de lograr el objeto anteriormente mencionado, el procedimiento de codificación de vectores de movimiento de la presente invención es un procedimiento de codificación de vectores de movimiento para generar un vector de movimiento para la codificación de un bloque actual y un vector predicho para el vector de movimiento, y codificar una diferencia entre el vector de movimiento y el vector predicho, comprendiendo el procedimiento de codificación de vectores de movimiento una etapa de asignación para, si al menos un bloque de entre una pluralidad de bloques codificados en la vecindad del bloque actual tiene dos vectores de movimiento que hacen referencia a imágenes de referencia en la misma dirección y orden de visualización, asignar identificadores a los dos vectores de movimiento para un bloque correspondiente de la pluralidad de bloques codificados; y una etapa de generación para generar el vector predicho de cada uno de los vectores de movimiento para el bloque actual basándose en los vectores de movimiento con el mismo identificador de entre los vectores de movimiento para la pluralidad de bloques codificados.

En este punto, en la etapa de asignación, los identificadores pueden asignarse adicionalmente a los vectores de movimiento para el bloque actual y, en la etapa de generación, puede generarse el vector predicho para cada uno de los vectores de movimiento para el bloque actual...

 


Reivindicaciones:

1. Procedimiento de descodificación de vectores de movimiento para descodificar un vector de movimiento codificado de un bloque incluido en una imagen, comprendiendo el procedimiento: especificar bloques vecinos (B, C, D) que están ubicados alrededor de un bloque actual (A) que va a descodificarse y ya se han descodificado; descodificar un vector de movimiento codificado del bloque actual (A) para generar un vector de movimiento diferencial; si el bloque actual (A) tiene dos vectores de movimiento cada uno de los cuales hace referencia a una imagen de referencia ubicada en la misma dirección en el orden de visualización, obtener un vector de movimiento predicho del bloque actual (A) utilizando un vector de movimiento que tiene un identificador que es igual a un identificador asignado al vector de movimiento del bloque actual (A) de entre los vectores de movimiento de los bloques vecinos (B, C, D) especificados, y obtener el vector de movimiento del bloque actual (A) usando el vector de movimiento predicho y el vector de movimiento diferencial, en el que la obtención del vector de movimiento predicho incluye obtener, como vector de movimiento predicho del bloque actual (A), un valor medio de los vectores de movimiento de los bloques vecinos (B, C, D) que tienen el mismo identificador que el identificador asignado al vector de movimiento del bloque actual (A), caracterizado porque el identificador para cada vector de movimiento de los bloques vecinos (B, C, D) se asigna (S113) según bloques de acuerdo con un orden en el que los vectores de movimiento de cada bloque aparecen en un tren binario.

2. Aparato de descodificación de vectores de movimiento que descodifica un vector de movimiento codificado de un bloque incluido en una imagen, comprendiendo el aparato una unidad de especificación de bloque vecino que puede operarse para especificar bloques vecinos (B, C, D) que están ubicados alrededor de un bloque actual (A) que va a descodificarse y ya han sido descodificados; una unidad de descodificación de vector de movimiento diferencial que puede operarse para descodificar un vector de movimiento codificado del bloque actual (A) para generar un vector de movimiento diferencial; una unidad de obtención de vector de movimiento predicho que puede operarse para, cuando el bloque actual (A) tiene dos vectores de movimiento, cada uno de los cuales hace referencia a una imagen de referencia ubicada en la misma dirección en el orden de visualización, obtener un vector de movimiento predicho del bloque actual utilizando un vector de movimiento que tiene un identificador que es igual a un identificador asignado al vector de movimiento del bloque actual (A) de entre vectores de movimiento de los bloques vecinos (B, C, D) especificados; y una unidad de obtención de vectores de movimiento que puede operarse para obtener el vector de movimiento del bloque actual (A) utilizando el vector de movimiento predicho y el vector de movimiento diferencial, pudiendo operarse la unidad de obtención de vectores de movimiento predicho para obtener, como vector de movimiento predicho para el bloque actual (A), un valor medio de los vectores de movimiento de los bloques vecinos (B, C, D) que tienen el mismo identificador que el identificador asignado al vector de movimiento del bloque actual (A), caracterizado porque el identificador para cada vector de movimiento de los bloques vecinos (B, C, D) se asigna según bloques de acuerdo con un orden en el que los vectores de movimiento de cada bloque aparecen en un tren binario.

3. Soporte de almacenamiento de datos en el que se almacena un programa, utilizándose el programa para decodificar un vector de movimiento codificado de un bloque incluido en una imagen, en el que el programa hace que un ordenador ejecute la decodificación mediante el procedimiento de descodificación de vectores de movimiento según la reivindicación 1.


 

Patentes similares o relacionadas:

Imagen de 'Filtro de desbloqueo condicionado por el brillo de los píxeles'Filtro de desbloqueo condicionado por el brillo de los píxeles, del 25 de Marzo de 2020, de DOLBY INTERNATIONAL AB: Método para desbloquear datos de píxeles procesados con compresión de vídeo digital basado en bloque, incluyendo los pasos: - recibir […]

Método para codificar y descodificar imágenes B en modo directo, del 19 de Febrero de 2020, de Godo Kaisha IP Bridge 1: Un método para generar y descodificar una secuencia de bits de una imagen B objetivo, en donde generar la secuencia de bits de la imagen B objetivo incluye las siguientes […]

Interpolación mejorada de cuadros de compresión de vídeo, del 4 de Diciembre de 2019, de DOLBY LABORATORIES LICENSING CORPORATION: Un método para compresión de imágenes de video usando predicción en modo directo, que incluye: proporcionar una secuencia de cuadros predichos […]

Interpolación mejorada de cuadros de compresión de vídeo, del 4 de Diciembre de 2019, de DOLBY LABORATORIES LICENSING CORPORATION: Un método de compresión de imágenes de video que comprende: proporcionar una secuencia de cuadros referenciables (I, P) y predichos bidireccionales […]

Capa de sectores en códec de vídeo, del 27 de Noviembre de 2019, de Microsoft Technology Licensing, LLC: Un procedimiento de decodificación de vídeo e imágenes, que comprende: decodificar una imagen de un flujo de bits codificado que tiene una jerarquía […]

Transformación solapada condicional, del 20 de Noviembre de 2019, de Microsoft Technology Licensing, LLC: Un método para codificar un flujo de bits de vídeo utilizando una transformación solapada condicional, en donde el método comprende: la señalización de un modo de filtro […]

Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable, del 14 de Agosto de 2019, de Godo Kaisha IP Bridge 1: Un método de codificación para codificar un coeficiente de un componente de frecuencia incluido en un bloque objetivo a codificar, comprendiendo el método de codificación: […]

Método de cálculo de vectores de movimiento, del 12 de Junio de 2019, de Panasonic Intellectual Property Corporation of America: Un sistema de codificación y descodificación de imágenes que incluye un aparato de codificación de imágenes que codifica un bloque actual incluido en una […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .