ES2755746T3 - Predicción de imágenes por repartición de una porción de zona causal de referencia, codificación y decodificación usando una tal predicción - Google Patents

Predicción de imágenes por repartición de una porción de zona causal de referencia, codificación y decodificación usando una tal predicción Download PDF

Info

Publication number
ES2755746T3
ES2755746T3 ES09803870T ES09803870T ES2755746T3 ES 2755746 T3 ES2755746 T3 ES 2755746T3 ES 09803870 T ES09803870 T ES 09803870T ES 09803870 T ES09803870 T ES 09803870T ES 2755746 T3 ES2755746 T3 ES 2755746T3
Authority
ES
Spain
Prior art keywords
prediction
current
motion vector
partition
partitions
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.)
Active
Application number
ES09803870T
Other languages
English (en)
Inventor
Guillaume Laroche
Joël Jung
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.)
Orange SA
Original Assignee
Orange SA
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 Orange SA filed Critical Orange SA
Application granted granted Critical
Publication of ES2755746T3 publication Critical patent/ES2755746T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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
    • 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/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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Procedimiento de predicción espacial o temporal de un vector movimiento de una partición actual (P1; P'1) de un macrobloque actual de una imagen actual, dicho macrobloque actual se descompone en varias particiones, dicha predicción se realiza con respecto a al menos un macrobloque de referencia que forma parte de una pluralidad de macrobloques de referencia ya codificados y después decodificados (MBra, MBrb, MBrc, MBRIE-1) que constituyen bien una zona de la imagen actual que se aproxima al macrobloque actual si la predicción es espacial, bien una zona que contiene al menos una imagen ya codificada y después decodificada si la predicción es temporal, dicho procedimiento comprende, en relación con dicha partición actual (P1; P'1) las etapas que consisten en: - reparticionar (C3, D3) al menos un (MBra; MBrIE-1) de los macrobloques de referencia en una pluralidad de particiones de referencia (Pr1a-Pr16a; Pr'1-Pr'3) para la predicción del vector movimiento de la partición actual, las particiones de referencia tienen respectivamente la misma forma y el mismo tamaño que las particiones del macrobloque actual, en el caso de una predicción espacial o temporal del vector movimiento de dicha partición actual (P1), - determinar (C4, D4) un vector movimiento (MVr1; MVr'1) asociado a una partición (Pr4a; Pr'1) entre la pluralidad de particiones de referencia, con la misma forma y el mismo tamaño que la partición actual, - determinar (C5, D5) un vector movimiento predictor a partir de dicho vector movimiento determinado (MVr1; MVr'1), - predecir (C6, D6) el vector movimiento de dicha partición actual a partir de dicho vector movimiento predictor determinado.

Description

DESCRIPCIÓN
Predicción de imágenes por repartición de una porción de zona causal de referencia, codificación y decodificación usando una tal predicción
Antecedentes de la invención
La presente invención se refiere de manera general al dominio del tratamiento de imágenes, y más exactamente a la codificación y a la decodificación de imágenes digitales y de secuencias de imágenes digitales.
Existen varios procedimientos de codificación y decodificación para la transmisión de imágenes. Se distinguen en concreto grandes tipos de codificación, como la codificación denominada «intra» en la que se codifica una imagen de manera autónoma, es decir, sin referencia a otras imágenes, o la codificación denominada «inter» que consiste en codificar una imagen actual respecto a imágenes pasadas de manera que se expresa y solo se transmite la diferencia entre estas imágenes.
Los procedimientos de codificación del tipo mencionado comprenden generalmente una etapa de codificación predictiva según la cual las porciones de imágenes, denominadas bloques o macrobloques, de una imagen actual, se predicen respecto de otros bloques o macrobloques de referencia, es decir codificados previamente y decodificados después.
En el caso por ejemplo de la norma H264/MPEG-4/AVC (del inglés «Advanced Video Coding»), la codificación predictiva de un macrobloque consiste en descomponer los macrobloques según una pluralidad de particiones que generalmente tienen forma de bloques de menor tamaño.
Más exactamente, durante la codificación predictiva de un macrobloque según la norma citada anteriormente, con la excepción de un macrobloque de tipo 16x16, el macrobloque se descompone generalmente según una pluralidad de particiones que tienen generalmente la forma de bloques de menor tamaño. La predicción espacial de dicho macrobloque en una imagen consiste en predecir cada bloque de menor tamaño que forma este macrobloque con respecto a uno o varios bloques de otro macrobloque de esta misma imagen, que ya ha sido codificada y decodificada, tal macrobloque se denomina macrobloque de referencia. Esta predicción solo es posible si el macrobloque de referencia está cerca del macrobloque para predicción y se encuentra en ciertas direcciones predeterminadas con respecto a este, es decir, generalmente encima y a la izquierda, en una proximidad denominada «causal».
El inconveniente de tal tipo de predicción reside en el hecho de que para un flujo de transmisión dado del codificador hacia el decodificador, procura una menor calidad de vídeo que la codificación inter, porque no aprovecha las correlaciones temporales entre las imágenes de la secuencia.
En el caso de la codificación inter, el macrobloque actual para codificar puede particionarse según los modos 16x16, 8x16, 16x8 y 8x8. Si se selecciona el modo 8x8, cada bloque 8x8 se particionará de nuevo según los modos 8x8, 4x8, 8x4 y 4x4. Cada bloque actual se compara con uno o varios bloques de una zona causal de referencia, de tipo espacial o temporal, que comprende macrobloques ya decodificados en el codificador durante la codificación por este último de un macrobloque actual. Entonces se define un predictor temporal mediante un vector que describe el movimiento entre el bloque actual y el bloque de referencia. La predicción de un vector de movimiento de un bloque utilizando los vectores de movimiento de una zona de referencia es bien conocida. US 2008/253457 se refiere a un procedimiento de predicción de vector de movimiento de una partición actual y conforme al estándar H.264/AVC. Una tal predicción también está divulgada por US 2008/198934, US 2001/026590, US 2006/256852, US 2008/043842, por ejemplo.
La figura 1A representa el caso de una predicción espacial de un vector MVc de un bloque actual para codificar en inter, denominado BCa, que explota las correlaciones espaciales entre los diferentes macrobloques de una misma imagen Ia. Un tal bloque se descompone por ejemplo en 16 particiones más pequeñas P1... P16, cada una con un tamaño 4x4. Por cuestiones de claridad de la figura, solo se representa la partición P1. De conformidad con la norma H264/AVC, la partición P1 se predice en referencia a una zona causal de referencia Cs, que comprende cuatro bloques, cada uno de tamaño 16x16, denominados BR1, BR2, BR3 y BR4 en la figura 1, estos últimos son vecinos de dicha partición P1. Más precisamente, se procede al cálculo del vector movimiento MVc de la partición P1. Un método de predicción consiste en calcular por ejemplo los vectores movimiento MV1, MV2 y MV3 que corresponden respectivamente a los macrobloques de referencia BR1, BR2 y BR3, y después en calcular la mediana de los vectores MV1, MV2 y MV3 para deducir el vector movimiento que sirve para predecir el vector MVc de la partición P1 para codificar.
Un inconveniente de la predicción representada en la figura 1A reside en el hecho de que:
- la distancia espacial media entre los píxeles de la partición P1 actual para codificar y los píxeles de los macrobloques b R1, BR2 y BR3 es relativamente elevada;
- y que los vectores MV1, MV2 y MV3 se han calculado relativamente a macrobloques de tamaño muy diferente al de la partición P1 actual para codificar.
El resultado es que a una tal predicción le falta precisión.
La figura 1B representa ahora el caso de una predicción temporal de un macrobloque actual para codificar en Inter, denominado MBC, que pertenece a una imagen N para codificar. Una tal predicción explota las correlaciones temporales entre el macrobloque MBCn y el o los macrobloques de una pluralidad de imágenes de referencia ya codificadas, y después decodificadas que constituyen una zona causal de referencia temporal. En el ejemplo representado, la zona causal de referencia temporal, denominada Ct, comprende únicamente la imagen anterior N-1. En otros ejemplos, la zona causal de referencia podría comprender, no solo la imagen N-1, sino también las imágenes N-2, N-3, etc... Un tal macrobloque BC, se descompone por ejemplo según tres particiones más pequeñas, P'1, P'2, P'3, que en el ejemplo representado tienen una forma geométrica cualquiera. El método de explotación de las correlaciones temporales consiste en calcular los tres vectores de movimiento actuales MV'1, MV'2 y MV'3 respectivamente asociados a las tres particiones P'1, P'2 y P'3 en función del vector movimiento denominado MVcoI, que pertenece al macrobloque, denominado MBCn- 1 , con la misma posición que el macrobloque actual MBCn en la imagen anterior N-1.
Un inconveniente de la predicción representada en la figura IB reside en el hecho de que la partición del macrobloque actual MBCn es diferente de la del macrobloque MBCn-i , lo que perjudica de manera considerable a la precisión de la predicción de los tres vectores de movimiento actuales MV'1, MV'2 y MV'3. Así, en el caso de la figura IB está claro que comparando la dirección del vector MVcol con respecto a la dirección de los vectores MV'1, MV'2 y MV'3, la predicción del vector movimiento actual MV'3 será menos buena que la de los vectores movimiento actuales MV'1 y MV'2.
Objetivo y resumen de la invención
Uno de los objetos de la invención es remediar los inconvenientes del estado de la técnica mencionado. Se describen un procedimiento de predicción, un dispositivo y un programa de ordenador según las reivindicaciones.
Una repartición permite ventajosamente predecir el vector movimiento actual de una partición actual a partir de vectores movimiento que pertenezcan a particiones de referencia más adaptadas, en particular desde un punto de vista de forma, tamaño y disposición, que las derivadas de la partición inicial de al menos un macrobloque de referencia que se ha efectuado durante la codificación de este macrobloque.
La invención permite así mejorar de manera importante la precisión de la predicción de los vectores actuales en codificación inter.
Conviene además señalar que los vectores movimiento de referencia que se determinan tras la nueva partición no se utilizan para la codificación de la partición actual.
En una realización, las particiones de referencia obtenidas tras la nueva partición están en la proximidad más cercana de la partición actual.
Una tal disposición permite así afinar aún más la precisión de la predicción.
En otra realización, una partición de referencia tiene la misma posición que la partición actual que se le asocia, en otra imagen que pertenece a la zona causal de referencia.
En otra realización, la partición de referencia tiene una forma y tamaño idénticos a los de la partición actual que se le asocia.
Una tal disposición aumenta sensiblemente la precisión de la predicción temporal de los vectores actuales. De hecho, los vectores movimiento de referencia obtenidos describen así un movimiento más cercano al movimiento real entre la porción de imagen actual y la porción de imagen de referencia que el movimiento descrito por los vectores movimiento de referencia de la técnica anterior.
Según otros modos de realización, las particiones de referencia obtenidas tras la nueva partición se solapan o se separan.
Breve descripción de los dibujos
Otras características y ventajas se desprenderán de la lectura de realizaciones preferidas descritas con referencia a las figuras en las que:
- la figura 1A representa un ejemplo de predicción temporal de la técnica anterior que explota las correlaciones espaciales entre diferentes macrobloques de una misma imagen,
- la figura 1B representa un ejemplo de predicción temporal de la técnica anterior que explota las correlaciones temporales entre un macrobloque actual para codificar de una imagen N y un macrobloque de referencia de una imagen anterior N-1,
- la figura 2 representa las etapas del procedimiento de codificación según la invención,
- la figura 3 representa una realización de un dispositivo de codificación según la invención,
- la figura 4 representa un ejemplo de predicción espacial según la invención, que explota las correlaciones temporales entre el macrobloque actual para codificar y macrobloques de referencia,
- la figura 5 representa un dispositivo de decodificación según la invención,
- la figura 6 representa las etapas del procedimiento de decodificación según la invención,
- la figura 7 representa un ejemplo de predicción temporal según la invención que explota las correlaciones temporales entre el macrobloque actual para codificar de una imagen IE y los macrobloques de referencia de una imagen anterior IE-1,
- las figuras 8A y 8B representan respectivamente dos ejemplos de partición posibles de un macrobloque de referencia en el caso de la predicción temporal de la figura 7.
Descripción detallada de una realización
A continuación se describirá una realización de la invención, en la que el procedimiento de codificación según la invención se usa para codificar una secuencia de imágenes según un flujo binario cercano al que se obtiene mediante una codificación según la norma H.264/MPEG-4 AVC. En esta realización, el procedimiento de codificación según la invención se implementa por ejemplo mediante software o hardware con modificaciones de un codificador inicialmente según la norma H.264/MPEG-4 AVC. El procedimiento de codificación según la invención se representa en la forma de un algoritmo que incluye las etapas c 0 a C7, representadas en la figura 2.
Debe observarse que el procedimiento de decodificación según la invención se implementa asimismo mediante software o hardware con modificaciones de un decodificador inicialmente según la norma H.264/MPEG-4 AVC.
El procedimiento de codificación según la invención se implementa en un dispositivo de codificación CO representado en la figura 3.
En referencia a las figuras 2 y 3, la primera etapa C0 es la selección, para un macrobloque que pertenece a una imagen IE de la secuencia de imágenes para codificación, de una partición de píxeles particular más pequeña elegida en un conjunto predeterminado de particiones de forma predeterminada. Para ello, se aplica un macrobloque MB por ejemplo de tamaño 16 x 16, que pertenece a la imagen IE, en la entrada de un módulo SP de selección de particiones, representado en la figura 3.
Este módulo SP de selección de particiones usa por ejemplo un procedimiento de elección por competencia exhaustiva o incluso un procedimiento de elección con la ayuda de un algoritmo con a priori. Dichos procedimientos son muy conocidos para el experto en la materia (véase: G.J. Sullivan and T.Wiegand, «Rate-distortion optimization for video compression», IEEE Signal Proc. Mag., pp.74-90, 1998). Por lo tanto no se describirán más adelante.
Dichas particiones se agrupan en una base de datos BD del codificador CO. Dichas particiones pueden ser de forma rectangular o cuadrada o bien tener otras formas geométricas, tales como por ejemplo formas sustancialmente lineales.
En el ejemplo representado, el módulo de selección SP selecciona una partición de forma cuadrada y de tamaño 4x4.
La etapa siguiente C1 representada en la figura 2 es la descomposición del macrobloque MB según dicha partición inicial elegida, en un número Np de particiones. En el ejemplo representado, el macrobloque MB se descompone en dieciséis particiones P1, P2, P16, donde P1 designa la partición inicial. Dicha descomposición es efectuada por un módulo PMBCO de partición de macrobloques representado en la figura 3 que usa un algoritmo clásico de partición.
La figura 4 representa el macrobloque MBpart que se ha obtenido después de la descomposición según la partición inicial P1 cuadrada de tamaño 4x4.
A continuación de la etapa de partición C1, durante una etapa C2 representada en la figura 2 , el módulo de partición PMBCO transmite el macrobloque MBpart que acaba de ser particionado a un módulo de cálculo de predicción PREDCO representado en la figura 3.
Un tal módulo de predicción PREDCO está destinado a predecir el vector movimiento de cada partición P1...P16 del macrobloque actual MBpart, a partir de un vector movimiento predictor calculado a partir de una porción de una zona causal de referencia ya codificada y después decodificada. En el ejemplo representado en la figura 4, la zona causal de referencia, denominada Cs, comprende cuatro macrobloques MBra, MBrb, MBrc y MBrd, de los cuales los tres macrobloques de referencia MBra, MBrb y MBrc se utilizan para la predicción del vector movimiento de la partición P1, denominado MV1.
Con referencia a la figura 3 , dichos macrobloques de referencia se codifican según la norma H.264/MPEG-4AVC, es decir, que experimentan de forma conocida de por sí:
- una codificación mediante transformada de coseno discreta y cuantificación que es efectuada por un módulo TQCO de transformada y de cuantificación,
- a continuación una decodificación mediante transformada de coseno discreta inversa y cuantificación inversa, que es efectuada por el módulo TQICO de transformada y de cuantificación inversa.
Aún en referencia a la figura 3 , el módulo de predicción PREDCO comprende, según la invención:
- un módulo de partición PMB destinado a descomponer uno de los bloques de referencia MBra, MBrb y MBrc según Nr particiones de referencia,
- un primer módulo de cálculo CAL1 destinado a determinar, para una partición que hay que predecir entre las dieciséis particiones P1, P16 una o varias particiones de referencia cercanas a la partición que se va a predecir, después a calcular un vector movimiento asociado a cada partición de referencia determinada,
- un segundo módulo de cálculo CAL2 destinado a calcular el vector movimiento de la partición actual para predecir en función de los vectores movimiento de referencia calculados por el primer módulo de cálculo CAL1.
Durante una etapa C3 representada en la figura 2 , el módulo de partición PMB de la figura 3 procede a la descomposición de cada uno de los macrobloques de referencia MBra, MBrb y MBrc según Nr particiones de referencia. En el ejemplo representado en la figura 4 , cada macrobloque de referencia está descompuesto en dieciséis particiones de referencia Pr1, Pr2, ...Pr16 que tienen cada una preferentemente la misma forma y el mismo tamaño que la partición actual que hay que predecir P1, es decir cuadrada y con un tamaño 4x4.
Durante una etapa C4 representada en la figura 2, el módulo de cálculo CAL1 de la figura 3 calcula tres vectores movimiento de referencia MVr1, MVr2 y MVr3 que corresponden respectivamente a las particiones de referencia más cercanas vecinas de la partición P1 para predecir. Como se puede ver en la figura 4 , las particiones de referencia utilizadas son Pr4a, Pr16b y Pr13c.
Durante una etapa C5, el módulo de cálculo CAL2 de la figura 3 calcula un vector movimiento predictor MVp1 en función de los vectores movimiento de referencia MVr1, MVr2 y MVr3 obtenidos en la etapa C4 anterior. Un tal cálculo consiste por ejemplo en calcular la mediana de los vectores movimiento de referencia MVr1, MVr2 y MVr3 según la siguiente ecuación:
MVp1=Med (MVr1, MVr2 y MVr3)
Durante una etapa C6, el módulo de predicción PREDCO de la figura 3 predice el vector movimiento MV1 de la partición actual P1 a partir del vector movimiento predictor MVp1 calculado en la etapa anterior.
El módulo de cálculo de predicción PREDCO de la figura 3 emite entonces un primer vector movimiento predicho MV1pred que, en caso de ser seleccionado por el codificador CO como el vector óptimo, es codificado inmediatamente por el módulo de transformada y de cuantificación TQCO, después decodificado por el módulo TQICO de transformada y de cuantificación inversa.
La predicción espacial que acaba de describirse aquí arriba es particularmente efectiva porque el vector movimiento de la partición actual P1 se predice a partir de vectores movimiento que pertenecen a particiones de referencia de forma y de tamaño mejor adaptadas que en la técnica anterior.
Las etapas C3 a C6 se reiteran a continuación de para predecir los vectores movimiento actuales (no representados en la figura 4) respectivamente de las particiones P2 a P16 del macrobloque actual MBpart, para obtener los vectores movimientos predichos MV2pred, MV16pred.
Una vez calculadas las diferentes predicciones posibles mediante el módulo de cálculo de predicción PREDCO, durante una etapa C7 representada en la figura 2 , un módulo de decisión DCNCO, representado en la figura 3 , recorre los macrobloques particionados de la imagen IE y elige, en esta etapa C7, el modo de predicción usado para codificar cada uno de estos macrobloques. Entre las predicciones posibles para un macrobloque, el módulo de decisión DCNCO elige la predicción óptima según un criterio de velocidad y distorsión bien conocido por el experto en la materia.
Cada macrobloque predicho es codificado, durante una etapa C8, como en la norma H.264/MPEG-4 AVC.
Una vez efectuada esta codificación estructural por el módulo de decisión DCNCO, los coeficientes de residuos, si existen, correspondientes a los bloques de la imagen IE, son enviados al módulo TQCO de transformada y de cuantificación, para someterse a transformadas en coseno discretas y después a una cuantificación. Los intervalos de macrobloques con estos coeficientes cuantificados son transmitidos a continuación al módulo CE de codificación entrópica, para producir, con las otras imágenes de la secuencia de vídeo ya codificadas de la misma forma que la imagen IE, un flujo de vídeo F, binario, codificado según la invención.
El flujo binario F es enviado en primer lugar a un módulo DE decodificación entrópica, con la decodificación inversa del mismo efectuada por el módulo de codificación entrópica CE representado en la figura 3. Posteriormente, para cada macrobloque de imagen para reconstruir, los coeficientes decodificados por el módulo DE son enviados a un módulo QTIDO de cuantificación inversa y de transformada inversa.
Un módulo RI de reconstrucción de imagen recibe a continuación datos decodificados correspondientes a los datos producidos por el módulo DCNCO (figura 3) en la etapa C7 de codificación según la invención, con los errores de transmisión próximos. El módulo RI implementa las etapas D0 a D8 del procedimiento de decodificación según la invención, tal como se representan en la figura 6.
La primera etapa D0 es la decodificación de estructuras de datos codificadas en un intervalo de un macrobloque actual de la imagen IE para decodificar. De manera conocida, el módulo de reconstrucción RI determina a partir de los datos de dicho intervalo de macrobloque:
- el tipo de codificación de dichos datos, Inter según la invención,
- el tipo de partición del macrobloque para reconstruir, inter 4x4 en la realización descrita,
- el índice del vector movimiento óptimo tal como está seleccionado por el módulo de decisión DCNCO en la etapa C7 mencionada.
La etapa siguiente D1 representada en la figura 6 es la descomposición del macrobloque actual para decodificar, de conformidad con la partición determinada en la etapa D0. A estos efectos, la figura 5 representa un módulo PMBDO de partición de macrobloques, que se parece en todos los aspectos al representado en la figura 3 , descompone el macrobloque en una pluralidad de Np particiones, es decir dieciséis particiones 4x4 en el ejemplo representado.
Durante una etapa D2 representada en la figura 6, el módulo de partición PMBDO transmite el macrobloque actual para decodificar y que acaba de particionarse en Np particiones, a un módulo de predicción PREDDO representado en la figura 5 , que se parece en todos los aspectos al módulo de predicción PREDCO del codificador CO de la figura 3 y que, por este motivo, no se describirá de nuevo detalladamente.
Durante las etapas D3 a D6, el módulo de predicción PREDDO efectúa el mismo algoritmo que el efectuado por el módulo de predicción PREDDO del codificador CO mencionado, de manera que se obtienen los vectores movimiento predichos según el método descrito más arriba.
Durante una etapa D7, un módulo de decisión DCNDO elige la predicción óptima según un criterio de velocidad y distorsión bien conocido por el experto en la materia.
Cada macrobloque predicho es codificado a continuación, durante una etapa D8, como en la norma H.264/MPEG-AVC.
Una vez decodificados todos los macrobloques de la imagen IE, el módulo RI de reconstrucción de imagen suministra en salida del decodificador DO una imagen ID correspondiente a la decodificación de la imagen IE.
Dado que el algoritmo de predicción efectuado en el decodificador DO es el mismo en todos los aspectos que el efectuado en el codificador CO, el coste de la información inducido por los predictores utilizados se reduce notablemente.
Descripción detallada de una segunda realización
La segunda realización descrita a continuación se distingue principalmente de la anterior por el hecho de que el módulo de predicción PREDCO representado en la figura 3 efectúa una predicción temporal de los vectores movimiento actuales.
De conformidad con la segunda realización, no se efectúa la etapa de selección de particiones mencionada C0.
Durante la etapa C1 de la figura 2, el módulo PMBCO de partición de macrobloques de la figura 3 procede a la descomposición del macrobloque MB según dicha partición inicial elegida, en un número Np de particiones actuales.
En el ejemplo representado en la figura 7, el macrobloque actual MB se descompone en tres particiones P'1, P'2 y P'3 todas de forma y tamaño diferentes.
Durante la etapa C2 de la figura 2, el módulo de partición PMBCO de la figura 3 transmite el macrobloque MBpart que acaba de ser particionado al módulo de predicción PREDCO de la figura 3.
En la segunda realización descrita aquí, el módulo de predicción PREDCO está destinado a predecir los tres vectores de movimiento asociados respectivamente a las tres particiones P'1, P'2 y P'3 del macrobloque actual MBpart, a partir respectivamente de tres vectores movimiento de referencia de un mismo macrobloque de referencia, denominado MBhe- 1 , con la misma posición que el macrobloque actual MBpart en la imagen anterior IE-1. En el ejemplo representado en la figura 7, la imagen anterior IE-1 es la imagen que se ha elegido en la zona causal temporal Ct que comprende otras imágenes de referencia distintas a la imagen IE-1.
Como se ha dicho anteriormente en referencia a la primera realización, el macrobloque de referencia MBhe-i se ha codificado previamente y después decodificado.
Durante la etapa C3 de la figura 2, el módulo de partición PMBCO procede a la descomposición del macrobloque de referencia MBhe-i según Nr particiones de referencia. En el ejemplo representado en la figura 7 , el macrobloque de referencia MBhe-i se descompone de manera idéntica al macrobloque actual MBpart, bien según tres particiones Pr'1, Pr'2 y Pr'3 que son todas de forma y tamaño diferentes.
Durante l' etapa C4 representada en la figura 2 , el módulo de cálculo CALI de la figura 3 calcula tres vectores movimiento de referencia MVr'1, MVr'2 y MVr'3 que corresponden respectivamente a las tres particiones de referencia Pr'1, Pr'2 y Pr'3.
Durante la etapa C5 de la figura 2, el módulo de cálculo CAL2 de la figura 3 calcula tres vectores movimiento predictores MVp'1, MVp'2 yMVp'3 que están en función respectivamente de tres vectores movimiento de referencia MVr'1, MVr'2 y MVr'3 obtenidos en la etapa C4 anterior. Un tal cálculo consiste, en el ejemplo representado, en calcular las igualdades siguientes:
- MVp'1 =MVr'1
- MVp'2=MVr'2
- MVp'3=MVr'3
Durante l' etapa C6, el módulo de predicción PREDCO de la figura 3 predice el vector movimiento MVr'1, MVr'2 y MVr'3 de la partición actual P'1 respectivamente a partir de los tres vectores movimiento predictores MVp'1, MVp'2 y MVp'3 calculados en la etapa anterior.
El módulo de cálculo de predicción PREDCO de la figura 3 emite entonces tres vectores movimiento predichos MV'1 pred, MV'2pred y MV'3pred con una precisión de predicción particularmente optimizada gracias a la puesta en correspondencia espacial y temporal de la partición del macrobloque actual MBpart y de la partición del macrobloque de referencia MBhe-i .
Las etapas siguientes de elección de predicción óptima C7 y de codificación C8 son respectivamente parecidas a las etapas mencionadas C7 y C8 de la primera realización y, por este motivo, no se describirán de nuevo.
El módulo de reconstrucción RI del decodificador DO pone en marcha entonces etapas D0 a D8 similares a las del procedimiento de decodificación conforme al primer modo de realización.
La primera etapa D0 es la decodificación de estructuras de datos codificadas en un intervalo de un macrobloque actual de la imagen IE para decodificar. De manera conocida, el módulo de reconstrucción RI determina a partir de los datos de dicho intervalo de macrobloque:
- el tipo de codificación de dichos datos, Inter en el modo de realización descrito,
- el tipo de partición del macrobloque para reconstruir, con cualquier geometría en la realización descrita, - el índice del vector movimiento óptimo tal como está seleccionado por el módulo de decisión DCNCO en la etapa C7.
Durante la etapa DI siguiente, el módulo PMBDO de partición de macrobloques descompone el macrobloque según las tres particiones mencionadas P'1, P'2 y P'3.
Tras la etapa de partición DI, durante una etapa D2 similar a la de la primera realización mencionada, el módulo de partición PMBDO transmite el macrobloque actual para decodificar y que acaba de particionarse en tres particiones, al módulo de predicción PREDDO mencionado.
Durante las etapas D3 a D6, el módulo de predicción PREDDO efectúa el mismo algoritmo que el efectuado por el módulo PREDCO durante las etapas C3 a C6 mencionadas.
Durante la etapa D7, el módulo de decisión DCNDO elige la predicción óptima según un criterio de velocidad y distorsión bien conocido por el experto en la materia.
A continuación se decodifica cada macrobloque predicho durante la etapa D8, como en la norma H.264/MPEG-AVC.
Una vez decodificados todos los macrobloques de la imagen IE, el módulo RI de reconstrucción de imagen suministra en salida del decodificador DO una imagen ID correspondiente a la decodificación de la imagen IE.
Por supuesto, las realizaciones que se han descrito más arriba se han dado a título puramente indicativo y en ningún caso limitativo, y el experto en la materia puede aportar numerosas modificaciones fácilmente sin por ello salirse del marco de la invención.
Así, por ejemplo, el macrobloque de referencia MBhe-1 puede descomponerse de manera diferente al macrobloque actual para predecir MBpart.
La figura 8A representa, en particular tratándose de la segunda realización, un macrobloque de referencia MBrEI-1 que se ha descompuesto según un número de particiones de referencia Pr'1, Pr'2 y Pr'3 igual al del macrobloque actual MBpart de la figura 7. En este ejemplo:
- la partición de referencia Pr'1 tiene la misma forma que la partición actual P'1 y tiene un tamaño diferente, - la partición de referencia Pr'2 tiene una forma y un tamaño diferentes a los de la partición actual P'2,
- la partición de referencia Pr'3 tiene una forma y un tamaño diferentes a los de la partición actual P'3.
Además, las particiones de referencia Pr'1, Pr'2 y Pr'3 se solapan.
La figura 8B representa, en particular tratándose de la segunda realización, un macrobloque de referencia MBrEI-1 que se ha descompuesto según un número de particiones de referencia Pr'1, Pr'2 y Pr'3 igual al del macrobloque actual MBpart de la figura 7. En este ejemplo, dichas particiones de referencia están separadas y tienen una forma y/o un tamaño diferentes respectivamente a las de las particiones P'1, P'2 y P'3 del macrobloque actual MBpart.

Claims (12)

REIVINDICACIONES
1. Procedimiento de predicción espacial o temporal de un vector movimiento de una partición actual (P1; P'1) de un macrobloque actual de una imagen actual, dicho macrobloque actual se descompone en varias particiones, dicha predicción se realiza con respecto a al menos un macrobloque de referencia que forma parte de una pluralidad de macrobloques de referencia ya codificados y después decodificados (MBra, MBrb, MBrc, MBrie- 1 ) que constituyen bien una zona de la imagen actual que se aproxima al macrobloque actual si la predicción es espacial, bien una zona que contiene al menos una imagen ya codificada y después decodificada si la predicción es temporal,
dicho procedimiento comprende, en relación con dicha partición actual (P1; P'1) las etapas que consisten en:
- reparticionar (C3, D3) al menos un (MBra; MBhe-i ) de los macrobloques de referencia en una pluralidad de particiones de referencia (Pr1a-Pr16a; Pr'1-Pr'3) para la predicción del vector movimiento de la partición actual, las particiones de referencia tienen respectivamente la misma forma y el mismo tamaño que las particiones del macrobloque actual, en el caso de una predicción espacial o temporal del vector movimiento de dicha partición actual (P1),
- determinar (C4, D4) un vector movimiento (MVrl; MVr'1) asociado a una partición (Pr4a; Pr'1) entre la pluralidad de particiones de referencia, con la misma forma y el mismo tamaño que la partición actual,
- determinar (C5, D5) un vector movimiento predictor a partir de dicho vector movimiento determinado (MVrl; MVr'1),
- predecir (C6, D6) el vector movimiento de dicha partición actual a partir de dicho vector movimiento predictor determinado.
2. Procedimiento de predicción según la reivindicación 1, en el que cuando la predicción del vector movimiento de la partición actual (P1) es espacial y cuando varios macrobloques de referencia están particionados cada uno en una pluralidad de particiones de referencia (Pr1a-Pr16a, Pr1b-Pr16b, Pr1c-Pr16c) con la misma forma y el mismo tamaño que la partición actual (P1):
- seleccionar, entre las particiones de referencia de dicha pluralidad, las particiones de referencia (Pr4a, Pr16b, Pr13c) que son las más cercanas a la partición actual (P1),
- determinar (C4, D4), un vector movimiento (MVr1-MVr3) asociado a cada partición de referencia (Pr4a, Pr16b, Pr13c) seleccionada,
- determinar (C5, D5) un vector movimiento predictor a partir de dichos vectores movimiento determinados (MVrl-MVr3),
- predecir (C6, D6) el vector movimiento de dicha partición actual a partir de dicho vector movimiento predictor determinado.
3. Procedimiento de predicción según la reivindicación 1, en el que, si la predicción de vector movimiento es temporal, las particiones de referencia (Pr'1, Pr'2, Pr'3) se solapan.
4. Procedimiento de predicción según la reivindicación 1, en el cual, si la predicción de vector movimiento es temporal, las particiones de referencia (Pr'1, Pr'2, Pr'3) se separan.
5. Procedimiento de decodificación de un flujo (F) de datos representativo de una imagen o de una secuencia de imágenes, incluyendo dicho flujo (F) datos representativos de al menos una porción de una de dichas imágenes (IE), dicho procedimiento utilizando una etapa de predicción según cualquiera de las reivindicaciones 1 a 4.
6. Procedimiento de codificación de una imagen o de una secuencia de imágenes generando un flujo (F) de datos representativos de al menos una porción de una de dichas imágenes (IE), dicho procedimiento utilizando una etapa de predicción según cualquiera de las reivindicaciones 1 a 4.
7. Dispositivo de predicción espacial o temporal de un vector movimiento de una partición actual (P1; P'1) de un macrobloque actual de una imagen actual, dicho macrobloque actual se descompone en varias particiones, dicha predicción se realiza con respecto a al menos un macrobloque de referencia que forma parte de una pluralidad de macrobloques de referencia ya codificados y después decodificados (MBra, MBrb, MBrc, MBhe-i ) que constituyen bien una zona de la imagen actual que se aproxima al macrobloque actual si la predicción es espacial, bien una zona que contiene al menos una imagen ya codificada y después decodificada si la predicción es temporal,
dicho dispositivo comprende:
- medios (PMB) para reparticionar al menos uno (MBra; MBhe-i ) de los macrobloques de referencia en una pluralidad de particiones de referencia (Pr1a-Pr16a; Pr'1-Pr'3) para la predicción del vector movimiento de la partición actual, las particiones de referencia tienen la misma forma y el mismo tamaño que las particiones del macrobloque actual, en el caso de una predicción espacial o temporal del vector movimiento de dicha partición actual (P1),
- medios (CALI) para determinar un vector movimiento (MVrl; MVr'1) asociado a una partición (Pr4a; Pr'1) entre la pluralidad de particiones de referencia, con la misma forma y el mismo tamaño que la partición actual, - medios (CAL2) para determinar un vector movimiento predictor a partir de dicho vector movimiento determinado (MVr1; MVr'1),
- medios para predecir el vector movimiento de dicha partición actual a partir de dicho vector movimiento predictor determinado.
8. Dispositivo (DO) de decodificación de un flujo (F) de datos representativo de una imagen (IE) o de una secuencia de imágenes, incluyendo dicho flujo (F) datos representativos de al menos una porción de una de dichas imágenes (IE), dicho dispositivo de decodificación comprendiendo un dispositivo (PREDDO) de predicción según la reivindicación 7.
9. Dispositivo de codificación (CO) de una imagen o de una secuencia de imágenes que genera un flujo (F) de datos que incluye datos representativos de al menos una porción de una dichas imágenes (IE), comprendiendo dicho dispositivo un dispositivo (PREDCO) de predicción según la reivindicación 7.
10. Programa informático que incluye instrucciones para implementar el procedimiento de predicción según cualquiera de las reivindicaciones 1 a 4, cuando se ejecuta en un ordenador.
11. Programa informático que incluye instrucciones para implementar el procedimiento de decodificación según la reivindicación 5, cuando se ejecuta en un ordenador.
12. Programa informático que incluye instrucciones para implementar el procedimiento de codificación según la reivindicación 6, cuando se ejecuta en un ordenador.
ES09803870T 2008-12-22 2009-12-16 Predicción de imágenes por repartición de una porción de zona causal de referencia, codificación y decodificación usando una tal predicción Active ES2755746T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0858972 2008-12-22
PCT/FR2009/052560 WO2010072946A2 (fr) 2008-12-22 2009-12-16 Prediction d'images par repartionnement d'une portion de zone causale de reference, codage et decodage utilisant une telle prediction

Publications (1)

Publication Number Publication Date
ES2755746T3 true ES2755746T3 (es) 2020-04-23

Family

ID=40801905

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09803870T Active ES2755746T3 (es) 2008-12-22 2009-12-16 Predicción de imágenes por repartición de una porción de zona causal de referencia, codificación y decodificación usando una tal predicción

Country Status (5)

Country Link
US (1) US9232231B2 (es)
EP (1) EP2377323B1 (es)
CN (1) CN102265615B (es)
ES (1) ES2755746T3 (es)
WO (1) WO2010072946A2 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8879632B2 (en) * 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
CN102215396A (zh) 2010-04-09 2011-10-12 华为技术有限公司 一种视频编解码方法和系统
FR2975856A1 (fr) * 2011-05-26 2012-11-30 France Telecom Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
FR2980942A1 (fr) * 2011-09-30 2013-04-05 France Telecom Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
KR20150060730A (ko) * 2012-09-26 2015-06-03 톰슨 라이센싱 인터-이미지 예측 방법과 디바이스 및 대응하는 인코딩 방법과 디바이스
CN104104961B (zh) 2013-04-10 2018-09-21 华为技术有限公司 一种视频编码方法、解码方法和装置
JP7315480B2 (ja) * 2018-01-30 2023-07-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN119919527B (zh) * 2025-04-03 2025-06-24 中南大学 一种医学图像生成方法、系统、电子设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082162B2 (en) * 1999-04-17 2006-07-25 Pts Corporation Segment-based encoding system including segment-specific metadata
KR100739281B1 (ko) * 2000-02-21 2007-07-12 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
US6909749B2 (en) 2002-07-15 2005-06-21 Pts Corporation Hierarchical segment-based motion vector encoding and decoding
JP4373702B2 (ja) * 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
US20060233253A1 (en) * 2005-03-10 2006-10-19 Qualcomm Incorporated Interpolated frame deblocking operation for frame rate up conversion applications
JP4712643B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
CN101536530B (zh) * 2006-11-07 2011-06-08 三星电子株式会社 基于运动估计进行视频编码和解码的方法和设备
US8929448B2 (en) * 2006-12-22 2015-01-06 Sony Corporation Inter sub-mode decision process in a transcoding operation
US8265136B2 (en) * 2007-02-20 2012-09-11 Vixs Systems, Inc. Motion refinement engine for use in video encoding in accordance with a plurality of sub-pixel resolutions and methods for use therewith
KR101366093B1 (ko) * 2007-03-28 2014-02-21 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8160150B2 (en) * 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization

Also Published As

Publication number Publication date
EP2377323A2 (fr) 2011-10-19
US9232231B2 (en) 2016-01-05
CN102265615B (zh) 2015-08-05
WO2010072946A2 (fr) 2010-07-01
EP2377323B1 (fr) 2019-09-25
CN102265615A (zh) 2011-11-30
US20110249751A1 (en) 2011-10-13
WO2010072946A3 (fr) 2010-10-07

Similar Documents

Publication Publication Date Title
ES2755746T3 (es) Predicción de imágenes por repartición de una porción de zona causal de referencia, codificación y decodificación usando una tal predicción
US10856006B2 (en) Method and system using overlapped search space for bi-predictive motion vector refinement
ES2727629T3 (es) Procedimiento y dispositivo para codificar una secuencia de imágenes y procedimiento y dispositivo para descodificar una secuencia de imágenes
ES2726048T3 (es) Codificación y descodificación de video con una mejora de la diversidad de los vectores de movimiento
ES2710782T3 (es) Codificación y descodificación de video
US10701392B2 (en) Method and apparatus for motion vector sign prediction in video coding
CN111052744B (zh) 比运动矢量差分更精细的精度下的运动补偿
JP5490823B2 (ja) 画像の系列を表すストリームを復号化する方法、画像の系列を符号化する方法及び符号化データ構造
JP6945654B2 (ja) 低減されたメモリアクセスを用いてfrucモードでビデオデータを符号化又は復号する方法及び装置
CN110225346A (zh) 一种编解码方法及其设备
KR102179383B1 (ko) 병합 모드 결정 방법 및 장치
KR20170125086A (ko) 화상 예측 방법 및 관련 장치
CN116506641B (zh) 通过子像素运动矢量细化对视频数据编解码的方法和装置
KR20130070648A (ko) 저 복잡성 움직임 벡터 도출을 위한 시스템 및 방법
ES2981128T3 (es) Predicción de un vector de movimiento de una partición de una imagen actual que apunta a una zona de referencia que cubre varias particiones de imagen de referencia, codificación y decodificación que usa dicha predicción
CN113055683B (zh) 一种编解码方法、装置及其设备
CN115348443A (zh) 一种运动信息确定方法、装置及其设备
CN103491371B (zh) 基于分层的编码方法、装置和设备
JPWO2017010073A1 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
KR101354086B1 (ko) 공통 병합 후보 블록 집합을 이용한 영상 부호화 방법 및 복호화 방법
US20150036750A1 (en) Method for storing movement prediction-related information in an interscreen prediction method, and method for calculating the movement prediction-related information in the inter-screen prediction method
JP6992815B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
JP5281597B2 (ja) 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム
ES2729271T3 (es) Método y aparato de predictor de vector de movimiento extendido
CN112055220A (zh) 一种编解码方法、装置及其设备