ES2907382T3 - Procedimiento de codificación y decodificación de imágenes, dispositivo de codificación y decodificación de imágenes y programas de ordenador correspondientes - Google Patents

Procedimiento de codificación y decodificación de imágenes, dispositivo de codificación y decodificación de imágenes y programas de ordenador correspondientes Download PDF

Info

Publication number
ES2907382T3
ES2907382T3 ES12731046T ES12731046T ES2907382T3 ES 2907382 T3 ES2907382 T3 ES 2907382T3 ES 12731046 T ES12731046 T ES 12731046T ES 12731046 T ES12731046 T ES 12731046T ES 2907382 T3 ES2907382 T3 ES 2907382T3
Authority
ES
Spain
Prior art keywords
partition
causal
encoding
current
coding
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
ES12731046T
Other languages
English (en)
Inventor
Jean-Marc Thiesse
Joël Jung
Marc Antonini
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 ES2907382T3 publication Critical patent/ES2907382T3/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/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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
    • 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/547Motion estimation performed in a transform domain
    • 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/567Motion estimation based on rate distortion criteria
    • 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
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Procedimiento de codificación de al menos una imagen (IN) cortada en particiones (PA1, PA2, ... PAn), caracterizado porque implementa, para una partición (PAc) actual por codificar, las etapas de: - selección (C2) de al menos una partición (PAir, Patir) causal ya codificada y luego decodificada durante una primera codificación y decodificación, - cálculo (C4) de al menos un parámetro de codificación óptimo de la dicha al menos una partición causal seleccionada, para optimizar un criterio de rendimiento de codificación predeterminado de una segunda codificación de la dicha al menos una partición causal seleccionada, poniendo en competencia una pluralidad de parámetros de codificación para la dicha segunda codificación de la dicha al menos una partición causal seleccionada; - codificación (C8) de la partición actual con la ayuda del dicho al menos un parámetro de codificación óptimo de la dicha al menos una partición causal seleccionada calculada.

Description

DESCRIPCIÓN
Procedimiento de codificación y decodificación de imágenes, dispositivo de codificación y decodificación de imágenes y programas de ordenador correspondientes
Campo de la invención
La presente invención se refiere de manera general al campo del procesamiento de imágenes, y más precisamente a la codificación y decodificación por competencia de imágenes digitales y de secuencias de imágenes digitales. Más precisamente, la invención se aplica a la compresión de imágenes o secuencias de video que utilizan una representación por bloques de la secuencia de video.
La invención puede aplicarse especialmente, pero no exclusivamente, a la codificación de video implementada en los codificadores de video actuales y sus modificaciones (MPEG, H.264, H.264 SVC, H.264 MVC, etc.) o futuros (ITU-T/VCEG (H.265) o ISO/MPEG (HVC)), y a la decodificación correspondiente.
Técnica anterior
Las imágenes y secuencias de imágenes digitales ocupan mucho espacio en términos de memoria, lo que requiere, cuando se transmiten estas imágenes, comprimirlas con el fin de evitar problemas de congestión en la red de comunicación utilizada para esta transmisión, la velocidad que se puede utilizar en el mismo es en general limitada. Esta compresión también es deseable para el almacenamiento de estos datos.
Ya se conocen numerosas técnicas de compresión de datos de vídeo. Entre estas, numerosas técnicas de codificación de video, especialmente la técnica H.264, utilizan técnicas de predicción espacial o temporal de grupos de bloques de píxeles de una imagen actual con respecto a otros grupos de bloques de píxeles pertenecientes a la misma imagen o a una imagen anterior o siguiente.
Más precisamente, según la técnica H.264, las imágenes I se codifican por predicción espacial (predicción intra), y las imágenes P y B se codifican por predicción temporal (predicción inter) con respecto a otras imágenes I, P o B codificadas/decodificadas con la ayuda de una compensación de movimiento.
Tales imágenes se cortan en general en macrobloques, que a su vez se cortan en particiones que comprenden un conjunto de píxeles (por ejemplo, 8 * 8). Para cada partición se codifica una partición residual, también llamada residuo de predicción, que corresponde a la partición original menos una predicción. Después de esta codificación predictiva, las particiones residuales se transforman a través de una transformada de tipo transformado en coseno discreto (DCT), y luego se cuantifican. Los coeficientes de las particiones residuales cuantificadas se recorren luego en un orden de lectura que permite explotar el gran número de coeficientes nulos en las altas frecuencias, y luego se codifican a través de una codificación de entropía.
De acuerdo con la invención, una partición puede consistir en un bloque de forma generalmente cuadrada o rectangular, o bien tener otras formas, tales como lineal, en forma de L, etc.... Una partición según la invención también puede tener una forma completamente arbitraria.
Según la técnica H.264, por ejemplo, cuando un macrobloque se corta en bloques, una señal de datos, correspondiente a cada bloque, se transmite al decodificador. Una tal señal comprende:
- datos residuales que son los coeficientes de los bloques residuales cuantificados y posiblemente, durante una codificación en modo Inter, datos residuales de los vectores de movimiento,
- parámetros de codificación que son representativos del modo de codificación utilizado, en particular:
• el modo de predicción (predicción intra, predicción inter, predicción por defecto que realiza una predicción para la cual no se transmite ninguna información al decodificador («en inglés «skip»);
• las informaciones que precisan el tipo de predicción (orientación, imagen de referencia, ...);
• el tipo de partición;
• el tipo de transformada, por ejemplo, DCT 4x4, DCT 8x8, etc...
• las informaciones de movimiento si es necesario;
• etc.
La decodificación se realiza imagen por imagen, y para cada imagen, macrobloque por macrobloque. Para cada partición de un macrobloque, se leen los elementos correspondientes de la señal. Se efectúa la cuantificación y la transformación inversas de los coeficientes de los bloques. Luego, se calcula la predicción de la partición y se reconstruye la partición agregando la predicción al residuo de predicción decodificado.
La codificación intra o inter por competencia, tal como se implementa en el estándar H264, se basa así en la puesta en competencia de diferentes parámetros de codificación, tales como los mencionados anteriormente, con el fin de seleccionar el mejor modo de codificación, es decir, el que optimizará la codificación de la partición considerada según un criterio de rendimiento predeterminado, por ejemplo, el coste de velocidad/distorsión bien conocido por los expertos en la técnica.
Los parámetros de codificación relacionados con el modo de codificación seleccionado están contenidos en la señal de datos transmitida por el codificador al decodificador, en forma de identificadores en general denominados índices de competencia. Por tanto, el decodificador puede identificar el modo de codificación seleccionado en el codificador, y luego aplicar la predicción de acuerdo con este modo.
El ancho de banda asignado a estos índices de competencia no es insignificante, ya que alcanza como mínimo el 30%. Por otra parte, tiende a aumentar debido a la aportación cada vez mayor de nuevos parámetros de codificación, tales como las nuevas dimensiones de particiones, las nuevas formas de particiones, los nuevos parámetros de predicción intra, etc....
Se han propuesto varias soluciones en un intento de reducir el coste de señalización de tales índices.
En el documento J.-M. Thiesse, J. Jung, M. Antonini, “Data Hiding of motion informations in chroma and luma samples", ICIP, Hong Kong, Sep. 2010, se propone utilizar técnicas de etiquetado con el fin de reducir el coste de codificación de las informaciones de señalización resultantes de una mejora de la codificación Inter. La idea principal es ocultar los índices de señalización de codificación en los coeficientes transformados y cuantificados de crominancia y luminancia cuidadosamente seleccionados. Con el fin de minimizar el error de predicción, la modificación se realiza con la ayuda de una optimización de velocidad y distorsión. La ventaja de una tal solución radica en que agrega una baja complejidad al decodificador. Sin embargo, el número de índices de señalización ocultos está limitado con el fin de no provocar una degradación demasiado importante de la predicción.
En el documento Jingjing Dai; Au, O.C.; Wen Yang; Chao Pang; Feng Zou; Yu Liu; “Motion vector coding based on predictor selection and boundary-matching estimation", Multimedia Signal Processing, 2009-MMSP '09. páginas 1-5, 5-7 de octubre de 2009, se propone, durante la codificación de una partición actual, seleccionar mediante competencia al menos un predictor de vector de movimiento utilizando la técnica de «template matching». Esta técnica se implementa luego en el decodificador, con el fin de no transmitir en el flujo codificado de informaciones de movimiento, cuyo coste de señalización es elevado. La técnica de «template matching» consiste en comparar la intensidad de los píxeles de la partición actual con la intensidad de los píxeles de una o más particiones causales ya codificadas y luego decodificadas, seleccionando el vector de movimiento que apunta hacia la partición causal cuya intensidad de píxeles es la más cercana de la intensidad de píxeles de la partición actual, y luego predecir el vector de movimiento así seleccionado. Un inconveniente de esta técnica es que el emparejamiento efectuado entre la partición actual y la partición causal seleccionada se limita a una comparación de la intensidad de los píxeles y no tiene en cuenta, por ejemplo, una incompatibilidad de tamaño o forma, que podría existir entre la partición actual por codificar (respectivamente por decodificar) y la partición causal. Además, las particiones causales puestas en competencia según esta técnica son siempre aquellas ubicadas en determinadas direcciones predeterminadas con respecto a la partición actual por codificar, es decir, en general por encima y a la izquierda de la partición actual. Esto da como resultado una predicción poco precisa de la partición actual que provoca errores no despreciables durante la codificación (respectivamente la decodificación) de la partición actual.
En el documento Laroche, G.; Jung, J.; Pesquet-Popescu, B.; “Intra Coding with Prediction Mode Information Inference’’, Circuits and Systems for Video Technology, IEEE Transactions on circuits and Systems for video technology, volumen 20, número 12, páginas 1786-1796, diciembre de 2010, se propone, durante la codificación Intra de una partición actual eliminar, antes de la puesta en competencia de un conjunto de predictores Intra predeterminados, uno o más predictores Intra redundantes de este conjunto. Una tal eliminación responde a un criterio de eliminación predeterminado que no depende de la imagen original por codificar y que, por consecuencia, es reproducible al nivel del decodificador. Ciertamente, un tal procedimiento permite utilizar menos predictores Intra para la codificación de una partición actual, pero, sin embargo, no permite anular completamente el coste de señalización, ni tener en cuenta la agregación de nuevos predictores.
El documento Peng Yin et al: “Localized Weighted Prédiction for Video Coding", Conférence Proceedings/IEEE International Symposium on Circuits and Systems (ISCAS), 23 de mayo de 2005 (2005-05-23), páginas 4365-4368, XP010816640, IEEE Service Center Piscataway, NJ, Estados Unidos DOI: 10.1109 /ISCAS.2005.1465598 ISBN: 978­ 0-7803-8834-5 describe un procedimiento de codificación y decodificación basado en una predicción de movimiento enriquecida por un «warping». Varias imágenes de referencia que resultan de una deformación (warping) de la imagen previamente codificada y decodificada (por lo tanto, causal) son generadas por el codificador. Los modelos de movimiento afines se utilizan como parámetros de deformación, y una estimación de movimiento de un bloque de la imagen actual se efectúa con la ayuda de una puesta en conexión de bloques.
Objeto y resumen de la invención
Uno de los objetivos de la invención es remediar los inconvenientes del estado de la técnica antes mencionada.
Para este efecto, un objeto de la presente invención se refiere a un procedimiento de codificación según la reivindicación 1.
Una tal disposición permite así, durante una codificación por competencia, ya sea de tipo Intra o de tipo Inter, evitar incluir en la señal por transmitir al decodificador, el o los índices de competencia calculados después de la puesta en competencia de múltiples parámetros de codificación. Por tanto, esto da como resultado una reducción no despreciable del coste de la señalización, en la medida en que una tal disposición sea reproducible al nivel del decodificador. Una tal disposición permite, además, para un parámetro de codificación de un tipo fijo, aumentar el número de parámetros del mismo tipo o de un tipo similar susceptibles de ser puestos en competencia. En el caso, por ejemplo, de la codificación Intra 8x8 o 4x4 según el estándar H.264, para el cual se pueden poner en competencia nueve predictores espaciales, la invención permite agregar fácilmente otros predictores espaciales durante la puesta en competencia, sin por esto deteriorar la velocidad y, en consecuencia, mejorar la reconstrucción de la imagen.
Según otro modo de realización particular, la etapa de selección de partición causal consiste en:
- determinar una pluralidad de particiones causales,
- calcular al menos un parámetro de codificación óptimo asociado con cada una de las particiones causales según el criterio de rendimiento de codificación predeterminado,
- calcular al menos un parámetro de codificación óptimo asociado con la partición actual según el criterio de rendimiento de codificación predeterminado,
- comparar el parámetro de codificación óptimo determinado en asociación con la partición actual con cada uno de los parámetros de codificación óptimos determinados respectivamente en asociación con cada una de las particiones causales,
- seleccionar la partición causal cuyo parámetro de codificación óptimo tenga el valor más cercano al del parámetro de codificación óptimo de la partición actual.
Una tal disposición permite realizar una selección de partición causal más rigurosa y precisa que la selección predeterminada de la técnica anterior que utiliza un algoritmo de puesta en conexión de bloques basado únicamente en las correlaciones de los píxeles.
Gracias a una tal disposición, es posible seleccionar una partición causal lo más similar posible a la partición actual no solo en términos de textura, sino también en términos de modo de codificación u otros criterios representativos. Una tal partición causal puede ubicarse en la imagen actual o bien en otra imagen previamente codificada y luego decodificada.
De manera más general, la partición causal se puede encontrar en cualquier capa disponible en el momento de la codificación de la partición actual. Especialmente, la partición causal se puede encontrar en una capa de calidad base, denominada «baselayer» en inglés, o bien una capa de refinamiento de calidad, denominada «enhancement layer» en inglés, en el caso de la codificación de video escalable (en inglés «Scalable Video Coding»). También se puede encontrar en una capa correspondiente a otra vista en el caso de codificación de video de múltiples vistas (en inglés «Multiview Video Coding»).
Cabe señalar que después de seleccionar al menos una partición causal, se procede a la determinación de un parámetro de movimiento que define el movimiento entre la partición actual por codificar y la partición causal seleccionada.
Según un modo de realización preferido de la invención, un tal parámetro de movimiento no se transmite necesariamente en el flujo codificado destinado al decodificador, en particular en el caso de que este sea capaz de recalcular por sí mismo este parámetro.
Como variante, un tal parámetro de movimiento se transmite en el flujo codificado al decodificador, que sólo tendrá que leerlo.
Un tal parámetro de movimiento consiste, por ejemplo, en un vector de movimiento que apunta hacia la partición causal seleccionada. Un tal vector se calcula, por ejemplo, a partir de al menos un vector de movimiento asociado con otra partición causal que está cerca de la partición causal seleccionada.
Según aún otro modo de realización particular, la partición actual se codifica con la ayuda de al menos dos parámetros de codificación óptimos de diferente tipo.
Una tal disposición permite codificar con más precisión la partición actual, ya que utiliza dos parámetros de codificación de tipo diferente, ambos seleccionados de manera óptima. Por ejemplo, podría tratarse de un primer parámetro que optimiza la predicción Intra de una partición causal y un segundo parámetro que optimiza el submuestreo de los residuos transformados y cuantificados de la predicción de otra partición causal.
El número de parámetros de codificación óptimos susceptibles de ser determinados puede, por supuesto, ser superior a dos, siendo la precisión de la codificación de una partición actual incrementada con base en el número de parámetros de codificación óptimos utilizados.
Según otro modo de realización particular, el criterio de rendimiento de codificación se elige entre al menos un criterio perteneciente al grupo que comprende:
- un criterio de velocidad y distorsión, en el que la velocidad se calcula a través de la simulación,
- un criterio de distorsión.
Según aún otro modo de realización particular, la partición causal seleccionada resulta de una transformación geométrica previa, siendo entonces un índice asociado codificado con esta transformación.
Una tal disposición tiene por objetivo deformar una partición causal previamente seleccionada según la invención de manera que optimice la adecuación del tamaño y la forma de esta última con la partición actual por codificar.
Una tal transformación consiste, por ejemplo, en la aplicación de una rotación, de una simetría, etc... a la partición causal, estando el tipo de transformación geométrica asociado a un índice destinado para ser transmitido en el flujo de datos destinados al decodificador.
Por tanto, una tal disposición permite perfeccionar aún más la optimización de la predicción, lo que conduce a un aumento de la calidad de la imagen por reconstruir, gracias a un bajo aumento en el coste de codificación (en inglés “bitrate"), ya que en general solo se asigna un bit al índice de transformación geométrica.
La invención también se refiere a un dispositivo de codificación según la reivindicación 5.
La invención también se refiere a un procedimiento de decodificación según la reivindicación 8.
Una ventaja de un tal procedimiento de decodificación reside en el hecho de que las operaciones de determinación del parámetro de movimiento y de cálculo del parámetro de codificación óptimo que tienen lugar en la codificación son reproducibles en la decodificación. Por tanto, es posible no transmitir en la señal de datos recibida en el decodificador, ni el índice asociado con el parámetro de movimiento, ni el índice asociado con el parámetro de codificación óptimo, lo que reduce especialmente el coste de señalización de tales índices. Como se mencionó más arriba en relación con el procedimiento de codificación, las ventajas de la puesta en competencia con cualquier tipo de parámetros de codificación aplicado a la partición causal decodificada son las mismas que las proporcionadas en la codificación y permiten en la decodificación obtener una reconstrucción de la partición actual y, al final, de la imagen, que es de mejor calidad.
Según un modo de realización particular, la determinación del parámetro de movimiento se efectúa a través del cálculo o también a través de la lectura este último en la señal de datos.
Según una primera alternativa para la cual no se agrega ningún índice de parámetro de movimiento a la señal por transmitir al decodificador, se procede de manera autónoma a la decodificación de un cálculo del parámetro de movimiento asociado a la partición actual por reconstruir que es idéntico al efectuado en la codificación.
Según una segunda alternativa, ligeramente más costosa en términos de señalización que la primera alternativa y para la cual se agrega al menos un índice de parámetro de movimiento a la señal por transmitir al decodificador, se procede a la decodificación con la lectura del parámetro de movimiento asociado con la partición actual por reconstruir a través de simple extracción del parámetro de movimiento contenido en la señal recibida.
Según otro modo de realización particular, el parámetro de movimiento es un vector de movimiento que apunta hacia la partición causal, siendo un tal vector de movimiento calculado a partir de al menos un vector de movimiento de referencia que está asociado con otra partición causal que está cerca de la partición causal.
En la aplicación del estándar H264/AVC, la otra partición causal es la más cercana a la partición causal señalada por el vector de movimiento. Se habla entonces de partición coubicada. En este caso, el dicho vector de movimiento es igual al vector de movimiento de referencia asociado con esta otra partición causal. Según una variante, el dicho vector de movimiento es igual a una mediana de una pluralidad de vectores de movimiento asociados respectivamente con una pluralidad de particiones causales seleccionadas como las más cercanas de la partición causal señalada por el movimiento.
Según aún otro modo de realización particular, la partición actual se reconstruye con la ayuda de al menos dos parámetros de codificación óptimos de diferente tipo que se utilizan como parámetros de decodificación de la partición actual.
Según aún otro modo de realización particular, el criterio de rendimiento de codificación se elige entre al menos un criterio perteneciente al grupo que comprende:
- un criterio de velocidad y distorsión, en el que la velocidad se calcula a través de la simulación,
- un criterio de distorsión.
La elección de tales criterios de rendimiento de codificación permite optimizar la calidad de la reconstrucción de la imagen.
Según aún otro modo de realización particular, la partición causal resulta de una transformación geométrica previa, siendo la decodificación de la dicha partición causal efectuada a través de la lectura en la señal de un índice relativo con la transformación geométrica.
Como se ha mencionado más arriba en relación con el procedimiento de codificación, una tal disposición permite optimizar la elección de la partición causal utilizada durante la reconstrucción de la partición actual y, por lo tanto, aumentar la calidad de la imagen por reconstruir, gracias a un bajo aumento del coste de codificación (en inglés “bitrate"), ya que en general solo se asigna un bit al índice de transformación geométrica.
De manera correspondiente, la invención también se refiere a un dispositivo de decodificación según la reivindicación 13.
La invención también se refiere a un programa de ordenador que comprende instrucciones para implementar uno de los procedimientos según la invención, cuando se ejecuta en un ordenador.
Este programa puede utilizar cualquier lenguaje de programación, y estar en forma de código fuente, código objeto, o de código intermedio entre el código fuente y el código objeto, tal como en una forma parcialmente compilada, o en cualquier otra forma deseable.
La invención también se refiere a un soporte de grabación legible por un ordenador en el cual se graba un programa de ordenador, comprendiendo este programa instrucciones adaptadas a la implementación de uno de los procedimientos según la invención, tales como los descritos anteriormente.
El soporte de informaciones puede ser cualquier entidad o dispositivo capaz de almacenar el programa. Por ejemplo, el soporte puede incluir un medio de almacenamiento, tal como una ROM, por ejemplo, un CD ROM o una ROM de circuito microelectrónico, o incluso un medio de grabación magnética, por ejemplo, un disquete (floppy disc) o un disco duro.
Por otro lado, el soporte de informaciones puede ser un soporte transmisible tal como una señal eléctrica u óptica, que puede ser transmitida a través de un cable eléctrico u óptico, por radio o por otros medios. El programa según la invención puede ser, en particular, descargado en una red de tipo Internet.
De manera alternativa, el soporte de informaciones puede ser un circuito integrado en el cual se incorpora el programa, estando el circuito adaptado para ejecutar o para ser utilizado en la ejecución del procedimiento en cuestión.
El procedimiento de decodificación, el dispositivo de codificación, el dispositivo de decodificación y los programas de ordenador antes mencionados presentan al menos las mismas ventajas que las conferidas por el procedimiento de codificación según la presente invención.
Breve descripción de los dibujos
Otras características y ventajas resultarán evidentes con la lectura de un modo de realización preferido descrito con referencia a las figuras en las cuales:
- La Figura 1 representa las etapas del procedimiento de codificación según la invención,
- La Figura 2 representa un modo de realización de un dispositivo de codificación según la invención,
- La Figura 3 representa un modo de realización de un dispositivo de decodificación según la invención,
- La Figura 4 representa las etapas del procedimiento de decodificación según la invención,
- La Figura 5A representa un ejemplo de determinación de predictores Intra óptimos,
- La Figura 5B representa un ejemplo de determinación de predictores Inter óptimos,
- La Figura 6 representa diferentes predictores espaciales,
- La Figura 7 representa un ejemplo de determinación de dos parámetros de codificación de diferente tipo.
Descripción detallada del principio general de la invención.
A continuación, se describirá un modo de realización de la invención, en el cual el procedimiento de codificación según la invención se utiliza para codificar una secuencia de imágenes según un flujo binario cercano al obtenido mediante una codificación según el estándar H.264/MPEG-4 AVC. En este modo de realización, el procedimiento de codificación según la invención se implementa, por ejemplo, de manera de software o hardware mediante modificaciones de un codificador inicialmente conforme con el estándar H.264/MPEG-4 AVC. El procedimiento de codificación según la invención se representa en forma de un algoritmo que comprende las etapas C1 a C8, representadas en la Figura 1.
Según el modo de realización de la invención, el procedimiento de codificación según la invención se implementa en un dispositivo de codificación CO representado en la Figura 2.
A lo largo de una primera etapa C1, se procede al corte previo de un macrobloque MBc actual de una imagen In en una pluralidad de particiones PA1, PA2,..., PAn como se representa en la Figura 2. Una tal etapa se efectúa de manera convencional a través de un módulo de software de partición, no representado.
Un tal módulo de partición utiliza, por ejemplo, un método de elección por competencia exhaustiva o incluso un método de elección con la ayuda de un algoritmo a priori. Tales métodos son bien conocidos por los expertos en la técnica (véase: G.J. Sullivan y T. Wiegand, "Rate-distortion optimization for video compression", IEEE Signal Proc. Mag., Páginas 74-90, 1998). Por lo tanto, no se describirán con más detalle.
Los diferentes tipos de posibles algoritmos de partición se reagrupan en una base de datos (no representada) del codificador CO. Permiten obtener un corte de la imagen o de los macrobloques de esta imagen en una pluralidad de particiones ya sea de forma rectangular o cuadrada, o de otras formas geométricas, tales como, por ejemplo, formas sustancialmente lineales, o de forma completamente arbitraria.
En el ejemplo representado en la Figura 2, un macrobloque MBc actual de la imagen In actual se corta en dieciséis particiones PA1, PA2, ..., PA16. Las dichas particiones obtenidas, tienen todas, por ejemplo, la forma de un bloque cuadrado y todas son del mismo tamaño.
A lo largo de una etapa C2 representada en la Figura 1, se procede a la selección de al menos una partición PAir causal entre una pluralidad K de particiones PA1r, PA2r, ..., PAir, ..., PAKr causales disponibles, (1<i<K) es decir, una partición previamente codificada y luego decodificada, en vista de la codificación de una partición PAc actual (1<c<n) de la imagen In actual.
Para este efecto, un módulo de software de emparejamiento APP_CO representado en la Figura 2 es adecuado para seleccionar, entre todas las particiones causales mencionadas anteriormente, una primera partición causal que sea lo más similar posible a la partición PAc actual, a través de un criterio convencional de puesta en conexión de bloques (en inglés «block matching») realizado en el dominio del píxel, o bien a través de una función característica de la partición PAc actual tal como una proyección en un dominio transformado o incluso en el dominio del modo de codificación de este último como se describirá más adelante.
La partición PAir causal seleccionada pertenece a una imagen codificada y luego decodificada previamente a la imagen In , o a la dicha imagen In .
Con el fin de optimizar la adecuación del tamaño y la forma de la partición PAir causal seleccionada con la partición PAc actual por codificar, se procede, a lo largo de una etapa C21 opcional, a una deformación geométrica de la dicha partición causal, aplicando a esta última una transformación geométrica tal como una rotación, una simetría, etc.... a través de un módulo de software de transformación geométrica MTG_CO bien conocido en sí mismo y tal como se representa en la Figura 2. Al final de una tal etapa, se obtiene una partición Patir causal transformada.
A lo largo de una etapa C3, se procede al cálculo de un parámetro de movimiento que define el movimiento entre la partición PAc actual y la partición PAir causal seleccionada. Un tal parámetro de movimiento es, por ejemplo, un vector MVc de movimiento.
Una tal etapa es efectuada por un primer submódulo de software de cálculo CAL1_CO que pertenece a un módulo de software de procesamiento TR_c O, como se representa en la Figura 2.
Siendo el dicho parámetro de movimiento una información costosa de señalar al decodificador, se puede utilizar cualquier método convencional de reducción del coste de esta información (Skip, predicción de movimiento, ...).
A lo largo de una etapa C4 representada en la Figura 1, se procede según la invención al cálculo de al menos un parámetro de codificación óptimo asociado con la dicha partición PAir causal seleccionada o bien con la dicha partición PAtir causal seleccionada transformada, según un criterio de rendimiento de codificación predeterminado, a través de la puesta en competencia de una pluralidad de parámetros de codificación asociados con la dicha partición PAir o PAtir causal seleccionada.
En el sentido de la invención, los parámetros de codificación son representativos del modo de codificación utilizado y son, de manera no exhaustiva, del tipo que se define a continuación:
• el modo de predicción (predicción intra, predicción inter, predicción por defecto que realizan una predicción para la cual no se transmite ninguna información al decodificador («en inglés» «skip»);
• las informaciones que especifican el tipo de predicción (orientación, imagen de referencia, ...);
• el tipo de partición;
• el tipo de transformada, por ejemplo, DCT 4x4, DCT 8x8, ondículas, etc...
• etc.
Para este efecto, a lo largo de una subetapa C41, la partición PAir causal seleccionada en la etapa C2 antes mencionada o bien la partición PAtic causal transformada en la etapa C21 antes mencionada se transmite a un submódulo TEST_CO de prueba de modos de codificación que se representa en la Figura 2.
A lo largo de una subetapa C42 representada en la Figura 1, el submódulo TEST_CO calcula los diferentes modos de codificación posibles de la partición PAir causal o la partición PAtir causal transformada considerada.
Una vez que los diferentes modos de codificación posibles han sido probados por el submódulo de prueba TEST_CO, a lo largo de una subetapa C43 representada en la Figura 1, un submódulo de decisión DCN_CO, representado en la Figura 2, selecciona al menos un primer tipo de parámetro de codificación Idxi asociado con un modo de codificación óptimo, constituyendo una tal selección la predicción óptima según un criterio de rendimiento predeterminado que, en el ejemplo representado, es el criterio de velocidad y distorsión bien conocido por los expertos en la técnica. Un tal criterio se expresa a través de la siguiente ecuación (1):
(1)J = D+XR
donde D representa la distorsión entre la partición original y la partición reconstruida, R representa el coste en bits de la codificación de los parámetros de codificación y Á representa un multiplicador de Lagrange.
Según una variante particularmente ventajosa desde el punto de vista de la reducción del tiempo de cálculo en el codificador, el criterio de rendimiento predeterminado depende solo de la distorsión y se expresa a través de la siguiente ecuación (2):
(2 )J' = D.
Los criterios J y J' se calculan de manera convencional a través de la simulación.
Un primer tipo de parámetro de codificación óptimo obtenido al final de la etapa C43 consiste, por ejemplo, en el modo de predicción Inter 8x8 de la partición PAir causal seleccionada.
Las etapas C2 a C43 antes mencionadas se reiteran para las otras K-1 particiones causales seleccionadas, lo que permite obtener al menos K-1 otros parámetros de codificación óptimos idx2, idx3, ..., idxK.
A lo largo de una etapa C5 representada en la Figura 1, un submódulo de software de cálculo PRED_CO, representado en la Figura 2, predice la partición PAc actual, con la ayuda de los parámetros de codificación óptimos idx1, idx2, idx3, ..., idxK seleccionados en la etapa C43, con respecto a al menos una de las particiones PA1r, PA2r, ..., PAKr causales. Al final de esta etapa, se entrega una partición PApc actual predicha.
A lo largo de una etapa C6 representada en la Figura 1, que solo tiene lugar para determinados parámetros de codificación óptimos seleccionados, un segundo submódulo de cálculo CAL2_CO, representado en la Figura 2, determina los datos a-i , a2, ..., aL residuales, a través de la comparación de los datos relacionados con la partición PAc actual con los datos relacionados con la partición PApc actual predicha obtenida.
A lo largo de una etapa C7 representada en la Figura 1, los datos a1, a2, ..., aL residuales, se envían a un submódulo MTQ_CO de transformada y de cuantificación, representado en la Figura 2, para sufrir una transformada, por ejemplo, en cosenos discretos, y luego a una cuantificación.
Se supone que para la partición PApc actual predicha, se obtienen M datos residuales transformados y cuantificados al final de la etapa C7. Tales datos residuales transformados y cuantificados se indican, por ejemplo, C1, C2, ..., Cm . A lo largo de una etapa C8 representada en la Figura 1, la partición PApc actual predicha se codifica entonces de manera ventajosa heredando los parámetros de codificación óptimos seleccionados en la etapa C43 antes mencionada. Una señal F de datos es entonces entregada al final de la etapa C8.
Una tal codificación se efectúa a través de un codificador ENC tal como se representa en la Figura 2. Un tal codificador está, por ejemplo, de acuerdo con el estándar H.264/MPEG-4 AVC.
De acuerdo con la invención, la señal F de datos no contiene ventajosamente los parámetros de codificación óptimos seleccionados en la etapa C43 ya que estos parámetros están asociados a las particiones causales ya codificadas y luego decodificadas y, por lo tanto, disponibles en el decodificador. Por lo tanto, no es necesario transmitirlos en la señal F de datos que posiblemente contenga:
- la información de movimiento MVc obtenida en la etapa C3 antes mencionada, solo en el caso en el que el decodificador no sea capaz de recalcular esta información por sí mismo,
- un índice IdTG de transformación geométrica tal como se representa en la Figura 2, solo en el caso en el que se haya efectuado una transformación geométrica de una partición causal en la etapa C21 de la Figura 1,
- los valores codificados de los coeficientes C1, C2 , ..., Cm , si existen.
La señal F de datos se transmite luego a través de una interfaz de transmisión (no representada) del codificador CO, a través de una red de comunicación, a un terminal remoto. Esto incluye un decodificador DO tal como se representa en la Figura 3.
La señal F se envía primero a un módulo de software de decodificación de entropía DE, decodificación inversa de la efectuada por el codificador ENC representado en la Figura 2. Luego, para una partición PAic actual por reconstruir, los coeficientes C1, C2, ..., Cm decodificados, si existen, se envían a un módulo QTI_DO de cuantificación inversa y de transformada inversa que entrega los datos a1, a2, ..., aL residuales obtenidos en la etapa de codificación C6 antes mencionada.
Un módulo de software de procesamiento TR_DO, tal como se representa en la Figura 3, implementa las etapas D1 a D5 del procedimiento de decodificación según la invención, tal como se representa en la Figura 4.
Un tal procedimiento de decodificación según la invención también se implementa en software o hardware mediante modificaciones de un decodificador inicialmente de acuerdo con el estándar H.264/MPEG-4 AVC.
A lo largo de una primera etapa D1 representada en la Figura 4, se procede a la determinación de un parámetro de movimiento MVc asociado con la partición PAic actual por reconstruir. Un tal parámetro de movimiento es, por ejemplo, un vector MVc de movimiento.
En el caso de que la señal F de datos no contenga un parámetro de movimiento, un submódulo de cálculo CAL1_DO, tal como se representa en la Figura 3, efectúa el cálculo del dicho vector MVc de movimiento relativo al movimiento entre la partición PAc actual por reconstruir y una partición PAir causal.
En el caso en el que el vector MVc de movimiento esté contenido en la señal F de datos, un submódulo de lectura LC_DO lee esta información en la señal F de datos recibida.
A lo largo de una etapa D2 representada en la Figura 4, se procede a la determinación de la partición PAir causal, que está señalada por el vector MVc de movimiento leído por el submódulo de lectura LC_DO en la señal F de datos o calculado por el submódulo de lectura CAL1_DO. Una tal etapa se implementa a través de un segundo submódulo de cálculo c AL2_DO tal como se representa en la Figura 3.
En el caso en el que la señal F de datos contiene un índice IdTG de transformación geométrica que señala que la partición PAir causal ha sufrido en el codificador CO una transformación geométrica tal como una rotación, una simetría, etc..., se procede, a lo largo de una etapa D21 representada en la Figura 4, a una deformación geométrica de la dicha partición PAir causal aplicando a esta última la transformación geométrica señalada por el índice IdTG a través de un módulo de software de transformación geométrica MTG_DO tal como se representa en la Figura 3 y que es idéntico en todos los sentidos al módulo de software de la transformación geométrica MTG_CO de la Figura 2. Al final de una tal etapa, se obtiene una partición PAtir causal transformada.
A lo largo de una etapa D3 representada en la Figura 4, se procede según la invención al cálculo de al menos un parámetro de codificación óptimo asociado a la dicha partición PAir causal determinada o bien a la dicha partición PAtir causal determinada transformada, según un criterio de rendimiento de codificación predeterminado, a través de la puesta en competencia de una pluralidad de parámetros de codificación asociados a la dicha partición causal seleccionada.
Los dichos parámetros de codificación son del mismo tipo que los mencionados más arriba en la descripción del procedimiento de codificación.
Para este efecto, a lo largo de una subetapa D31 representada en la Figura 4, la partición PAir causal determinada en la etapa D2 antes mencionada o bien la partición Patir causal transformada determinada en la etapa D21 antes mencionada se transmite a un submódulo TEST_DO de prueba de los modos de codificación que está representado en la Figura 3.
A lo largo de una subetapa D32 representada en la Figura 4, el submódulo TEST_DO calcula los diferentes modos de codificación posibles de la partición PAir causal o de la partición PAtir causal transformada considerada.
Una vez que los diferentes modos de codificación posibles han sido probados por el submódulo TEST_DO, a lo largo de una subetapa D33 representada en la Figura 4, un submódulo DCN_DO de decisión, representado en la Figura 3, selecciona al menos un primer tipo de parámetro de codificación Idx1 asociado con un modo de codificación óptimo, constituyendo una tal selección la predicción óptima según un criterio de rendimiento predeterminado que, en el ejemplo representado, es el criterio de velocidad y distorsión bien conocido por los expertos en la técnica. Un tal criterio se expresa a través de la siguiente ecuación (1):
(1 )J = D A R donde
D representa la distorsión entre la partición original y la partición reconstruida, R representa el coste en bits de la codificación de los parámetros de codificación y Á representa un multiplicador de Lagrange.
Según una variante particularmente ventajosa desde el punto de vista de la reducción del tiempo de cálculo en el codificador, el criterio de rendimiento predeterminado depende solo de la distorsión y se expresa a través de la siguiente ecuación (2):
(2 )J' = D.
Un primer tipo de parámetro de codificación óptimo obtenido al final de la etapa D33 consiste, por ejemplo, en el modo de predicción Inter 8x8 de la partición PAir causal determinada.
Las etapas D2 a D33 antes mencionadas se reiteran para K-1 otras particiones causales susceptibles de ser determinadas, lo que permite obtener al menos K-1 otros parámetros de codificación óptimos idx2, idx3, ..., idxK.
A lo largo de una etapa D4 representada en la Figura 4, un submódulo de software de cálculo PRED_DO, representado en la Figura 3, predice la partición PAic actual por reconstruir con respecto a al menos una partición causal entre K particiones PA1r, PA2r, ..., PAKr causales ya codificadas y luego decodificadas, con la ayuda de los parámetros de codificación óptimos idx1, idx2, idx3, ..., idxK obtenidos en la etapa D33 y utilizados como parámetro de decodificación, y, si existen, los datos a-i , a2 , ..., aL residuales entregados por el módulo QTI_DO de cuantificación inversa y de transformada inversa, tal como se representa en la Figura 3.
Al final de esta etapa, se entrega una partición PApc actual predicha.
La partición PApc actual predicha se decodifica luego, a lo largo de una etapa D5, agregando a este última, si existen, los datos a1, a2, ..., aL residuales entregados por el módulo QTI_DO de cuantificación inversa y de transformada inversa, tal como se representa en la Figura 3. Una tal etapa se implementa a través de un submódulo RI de reconstrucción de acuerdo con el estándar H.264/MPEG-AVC.
Una vez decodificadas todas las particiones PA1, ..., PAn de la imagen In , el submódulo RI de reconstrucción de imagen proporciona, a la salida del decodificador DO, una imagen IDn correspondiente a la decodificación de la imagen In .
Descripción detallada de un primer modo de realización
Ahora se describirá un primer modo de realización en el caso de un procedimiento de codificación/decodificación en modo Intra.
De acuerdo con el estándar H264/MPEG-AVC, se proponen varios tipos de modo de codificación/decodificación Intra según la forma en la cual está particionado un macrobloque actual. En el caso de la codificación Intra 16x16, el macrobloque se considera como una única partición que se predice con respecto a un conjunto de cuatro predictores espaciales. En el caso de la codificación Intra 8x8 o 4x4, cada bloque de menor tamaño se predice con respecto a un conjunto de nueve predictores espaciales que comprenden los cuatro predictores espaciales utilizados en la codificación Intra 16x16.
Una tal codificación/decodificación Intra por competencia, tal y como se implementa en el estándar H264/MPEG-AVC, se basa, por tanto, en la puesta en competencia de los diferentes predictores espaciales antes mencionados, con el objetivo de seleccionar el mejor predictor, es decir, el predictor que optimizará la codificación de la partición actual considerada según un criterio predeterminado, por ejemplo, el coste de velocidad y distorsión.
Como tales predictores son un gran número, la velocidad de la información de competencia inducida por estos múltiples predictores se encuentra por lo mismo aumentando. Por tanto, actualmente se evita ampliar la puesta en competencia a nuevos predictores Intra que, sin embargo, podrían demostrar que optimizan la predicción Intra.
La invención propone aplicar las etapas de codificación y decodificación tales como las descritas anteriormente en el contexto de una codificación/decodificación en modo Intra, sin limitar particularmente al número de predictores espaciales ya previstos en el estándar H264/MPEG-AVC, y aplicando la puesta en competencia al número de nuevos predictores Intra susceptibles de ser propuestos en el futuro.
Como en el ejemplo representado en la Figura 2, el macrobloque MBc actual de la imagen In actual se corta a lo largo de la etapa C1 antes mencionada en dieciséis particiones PA1, PA2, ..., PA16. Las dichas particiones obtenidas, tienen todas, por ejemplo, la forma de un bloque cuadrado y son todas del mismo tamaño. Por tanto, el macrobloque MBc cortado se representa en la Figura 5A. Con fines de claridad del dibujo, solo se representan las particiones PA4, PA8, PA12, PA13 y PA16.
A lo largo de una etapa siguiente que reagrupa las etapas C2 y C4 antes mencionadas tales como las representadas en la Figura 1, para cada una de las particiones PA1 a PA16, se procede a la selección de al menos un macrobloque causal que contiene una pluralidad K de particiones PA1r, PA2r, ..., PAir, ... PAKr causales disponibles, (1 <i<K).
En el ejemplo representado en la Figura 5A, una tal selección se efectúa de acuerdo con un criterio de correlación de modos de predicción entre las particiones actuales por predecir del macrobloque MBc actual y las particiones causales de un macrobloque causal que hace parte de un número E de macrobloques MB1r, MB2r, ..., MB2r, ... MBjr causales disponibles, donde 1<j<E. Con fines de claridad del dibujo, solo se representan los macrobloques MB1r, MB2r y MBjr causales, estando los macrobloques causales restantes representados esquemáticamente por líneas sombreadas.
Para este efecto, se procede:
- al cálculo de los predictores espaciales óptimos para cada una de las particiones del macrobloque MBc actual considerado,
- al cálculo de los predictores espaciales óptimos para cada una de las particiones de un macrobloque causal considerado.
Al final del cálculo, los predictores espaciales óptimos relacionados con cada una de las particiones PA1 a PA16 actuales del macrobloque MBc actual son respectivamente H, H, V, DC, H, V, Vleft, Vleft, Hup, V, V, DC, H, Vleft, DC, DC.
Con referencia a la Figura 6, los predictores de tipo H, V, DC, Vleft y Hup corresponden respectivamente a cinco direcciones posibles, entre las nueve direcciones de predicción posibles en modo de codificación Intra, con respecto a las cuales una partición actual puede ser predicha con respecto a una partición causal contenida en la misma imagen. Estas cinco direcciones comprenden de manera convencional:
- la dirección horizontal, señalada H,
- la dirección vertical, señalada V,
- la dirección constituida por la media de las dos direcciones anteriores, señalada DC,
- una primera dirección diagonal, señalada Vleft,
- una segunda dirección diagonal, señalada Hup.
Como se puede ver en la Figura 5A, el macrobloque causal para el cual los predictores espaciales óptimos calculados son los más similares a los calculados con relación al macrobloque MBc actual, es el primer macrobloque MB1r causal. Por lo tanto, es este macrobloque MB1r causal el que se selecciona.
El macrobloque MB1r causal obtenido según el criterio de correlación de los modos se elige mejor que en el caso de una puesta en conexión de bloques convencional, ya que se tiene en cuenta la correlación entre el macrobloque MBc actual y los macrobloques causales, predictor por predictor. Por otro lado, en el caso de una puesta en conexión convencional por «block matching», los predictores espaciales del macrobloque causal seleccionado pueden resultar diferentes de los predictores óptimos realmente calculados para el dicho macrobloque causal, lo que afecta significativamente la precisión de la selección de este macrobloque causal.
Por otra parte, se procede a la etapa C3 antes mencionada del cálculo del vector MVc de movimiento entre el macrobloque MBc actual y el macrobloque MB1r causal.
A continuación, cada una de las particiones PA1 a PA16 actuales del macrobloque MBc actual se predice a lo largo de la etapa C5 antes mencionada, con la ayuda de los predictores óptimos calculados respectivamente para cada una de las particiones del macrobloque MB1r causal.
A continuación, las etapas C6 a C8 antes mencionadas se implementan de modo que codifique el macrobloque MBc actual.
La señal F de datos transmitida al decodificador DO al final de la etapa C8 contiene de manera opcional el vector MVc de movimiento y los datos residuales, si existen. Por otro lado, la señal F de datos no contiene ventajosamente el y/o los predictores óptimos del y/o de los macrobloques causales que han sido calculados en la etapa C4 antes mencionada, ya que estos predictores están asociados con macrobloques ya codificados y luego decodificados y, por lo tanto, pueden ser determinados de manera independiente por el decodificador DO.
Con referencia a la Figura 4, la etapa D1 de decodificación antes mencionada se aplica luego a la señal F de datos codificada de modo que decodifique el vector MVc de movimiento calculado en la etapa C3.
El macrobloque MB1r causal señalado por el vector MVc de movimiento se determina entonces a lo largo de la etapa D2 de decodificación antes mencionada.
A continuación, se procede al cálculo de los predictores óptimos para cada una de las particiones del macrobloque MB1 r causal a través de la implementación de la etapa D3 antes mencionada. Según el primer modo de realización, estos son los predictores espaciales H, H, V, DC, H, V, Vleft, Vleft, Hup, V, V, DC, H, Vleft, DC, DC asociados respectivamente a las particiones PA1r a PA16r del macrobloque MB1r causal.
A lo largo de la etapa D4 antes mencionada, se predice el macrobloque MBc actual por reconstruir con respecto al macrobloque MB1r causal, con la ayuda de los predictores espaciales óptimos H, H, V, DC, H, V, Vleft, Vleft, Hup, V, V, DC, H, Vleft, DC, DC.
Al final de esta etapa, se entrega un macrobloque MBpc actual predicho.
A lo largo de la etapa D5 antes mencionada, se reconstruye entonces el macrobloque MBpc actual predicho.
La invención, por supuesto, no se limita al hecho de que el o los macrobloques causales sean sistemáticamente seleccionados en la imagen In actual.
Con referencia a la Figura 5B que ilustra una variante del modo de realización de la Figura 5A, el macrobloque MB1r causal está ubicado en una imagen previamente codificada/decodificada y no en la imagen In actual. Una tal imagen previamente codificada/decodificada es, por ejemplo, la imagen In -1 que precede inmediatamente a la imagen In actual.
Según una tal variante, las etapas de codificación/decodificación, descritas anteriormente con referencia a la Figura 5A se reproducen de manera idéntica con el macrobloque M B Ir causal seleccionado en la imagen In -i y, por esta razón, no se describirán más.
Descripción detallada de un segundo modo de realización
Se describirá ahora un segundo modo de realización en el caso de un procedimiento de codificación/decodificación en el cual se aplica un método iterativo de muestreo comprimido (en inglés “«compressed sensing»). Un tal método es convencional y se describe, por ejemplo, en el documento T.T. Do, Xiaoan Lu, y J. Sole. «Compressive sensing with adaptive pixel domain reconstruction for block-based video coding». Proceedings of 2010 IEEE 17th International Conférence on Image Processing, páginas 3377-3380, 2010.
Este método permite eliminar varios coeficientes residuales transformados y cuantificados y luego reconstruir la partición actual correspondiente de manera eficaz. Sin embargo, para ser muy eficiente, un tal método requiere un gran número de parámetros. Por tanto, el coste de señalización reducido, tal como el obtenido de manera ventajosa por el método gracias a la eliminación de los coeficientes antes mencionados, es incrementado de manera desfavorable, debido a la obligación de agregar este gran número de parámetros en la señal de datos por transmitir al decodificador. Por lo tanto, un tal aumento del coste es perjudicial para el valor de un tal método.
Los parámetros utilizados por este método son:
- los parámetros de submuestreo,
- los operadores de adquisición, tales como del tipo de transformada: DCT, ondículas, etc...,
- los operadores de reconstrucción,
- los parámetros utilizados por el algoritmo de reconstrucción.
La presente invención permite de manera ventajosa aplicar este método iterativo sin impactar en el coste de señalización de tales parámetros, ya que estos últimos no se transmiten de manera ventajosa en la señal de datos con destino al decodificador.
Como en el ejemplo representado en la Figura 2, el macrobloque MBc actual de la imagen In actual se corta a lo largo de la etapa C1 antes mencionada en dieciséis particiones PA1, PA2, ..., PA16. Las dichas particiones obtenidas, tienen todas, por ejemplo, la forma de un bloque cuadrado y son todas del mismo tamaño. Por tanto, el macrobloque MBc recortado es, por ejemplo, idéntico al representado en la Figura 5A.
A lo largo de la etapa C2 antes mencionada tal como se representa en la Figura 1, para cada una de las particiones PA1 a PA16, se procede a la selección de al menos un macrobloque causal que contiene una pluralidad K de particiones P A Ir, pA2 r, ..., PAir, ... PAKr causales disponibles, (1 <i<K).
En el ejemplo representado, una tal selección se efectúa de acuerdo con un criterio convencional de puesta en conexión de bloques (en inglés «block matching»). Por tanto, el macrobloque seleccionado es, por ejemplo, el macrobloque MBjr representado en la Figura 5A.
Como variante, una tal selección se efectúa de acuerdo con un criterio de puesta en conexión a través de «block matching» modificado. Este criterio consiste en seleccionar el macrobloque causal cuyos datos residuales transformados son los más cercanos de los datos residuales transformados del macrobloque MBc actual.
A lo largo de la etapa C3 antes mencionada, tal como se representa en la Figura 1, se procede al cálculo del vector MV'c de movimiento entre el macrobloque MBc actual y el macrobloque MBjr causal. El vector MV'c de movimiento se representa en la Figura 5A.
A lo largo de la etapa C4 antes mencionada, tal como se representa en la Figura 1, se procede al cálculo de uno o más parámetros de codificación óptimos relativos al macrobloque MBjr causal.
Para este efecto, se procede, para cada una de las particiones del macrobloque MBjr causal seleccionado, a una puesta en competencia, según el criterio de velocidad y distorsión J o J' antes mencionado, de los coeficientes de ponderación, de los parámetros de submuestreo, de los operadores de adquisición, de los operadores de reconstrucción o de una combinación de estos elementos, de modo que se determine al menos un parámetro de codificación óptimo entre estos elementos.
Al final de la etapa C4, por ejemplo, se considera que un parámetro de submuestreo optimiza la codificación de cada una de las particiones causales del macrobloque MBjr causal seleccionado.
Cada una de las particiones PA1 a PA16 actuales del macrobloque MBc actual se predice entonces a lo largo de la etapa C5 antes mencionada. Al final de esta etapa, se entrega un macrobloque MBpc actual predicho.
A lo largo de la etapa C6 antes mencionada, tal como se representa en la Figura 1, se procede a la determinación de los datos a-i , a2, ..., aL residuales a través de la comparación de los datos relacionados con el macrobloque MBc actual con los datos relacionados con el macrobloque MBpc actual predicho obtenido.
A lo largo de la etapa C7 antes mencionada, tal como se representa en la Figura 1, los datos a-i , a2, ..., aL residuales, son transformados y luego cuantificados de modo que obtengan los coeficientes C1, C2, ..., Cm .
De acuerdo con un segundo modo de realización, después de la etapa C7, sólo algunos de los coeficientes C1, C2, ..., Cm se conservan después de un submuestreo (no representado) de estos últimos con la ayuda del dicho parámetro de submuestreo óptimo determinado en la etapa C4.
La etapa C8 antes mencionada, tal como se representa en la Figura 1, se implementa entonces de modo que codifique el macrobloque MBc actual.
La señal F de datos transmitida al decodificador DO al final de la etapa C8 contiene de manera opcional el vector MV'c de movimiento si el decodificador DO no es capaz de recalcularlo de manera independiente y, según el segundo modo de realización, los datos residuales calculados en la etapa C6. Por otro lado, la señal F de datos no contiene de manera ventajosa el parámetro de submuestreo que se ha determinado en la etapa C4 antes mencionada, ya que este parámetro está asociado con el macrobloque MBjr causal ya codificado y luego decodificado y, por lo tanto, puede ser determinado de manera independiente por el decodificador DO.
Con referencia a la Figura 4, la etapa D1 de decodificación antes mencionada se aplica luego a la señal de datos F codificada de modo que codifique el vector de movimiento MV'c calculado en la etapa C3.
El macrobloque MBjr causal señalado por el vector MV'c de movimiento se determina entonces a lo largo de la etapa D2 de decodificación antes mencionada.
A continuación, se procede al cálculo de los parámetros de codificación óptimos para cada una de las particiones del macrobloque MBjr causal a través de la implementación de la etapa D3 antes mencionada. Según el segundo modo de realización, esta etapa de cálculo entrega un parámetro de submuestreo óptimo para cada una de las particiones causales del macrobloque MBjr causal.
A lo largo de la etapa D4 antes mencionada, cada una de las particiones PA1 a PA16 actuales del macrobloque MBc actual por reconstruir se predice de una manera convencional con el fin de entregar un macrobloque MBpc actual predicho.
A lo largo de la etapa D5 antes mencionada, el macrobloque MBpc actual predicho se reconstruye entonces agregando al macrobloque MBpc actual predicho, datos residuales transmitidos en la señal F de datos, y a través del submuestreo de los coeficientes C1, C2 , ..., Cm , resultantes de la transformación y de la cuantificación de los dichos datos residuales, con la ayuda del parámetro de submuestreo óptimo calculado en la etapa D3.
Descripción detallada de un tercer modo de realización.
Ahora se describirá un tercer modo de realización en el caso de un procedimiento de codificación/decodificación al cual se aplica una predicción de tipo Intra o Inter como se describe en el primer modo de realización y un método iterativo de muestreo comprimido tal como se describe en el segundo modo de realización.
Por tanto, un tal modo de realización permite obtener al menos dos parámetros de codificación óptimos resultantes respectivamente de la implementación de los modos de realización primero y la segundo. Una tal disposición permite codificar con mayor precisión un macrobloque actual, ya que entran en juego dos parámetros óptimos de diferentes tipos, en lugar de uno solo.
Se supone que, según el primer modo de realización, la predicción es de tipo Intra.
Como en el ejemplo representado en la Figura 2, el macrobloque MBc actual de la imagen In actual se corta a lo largo de la etapa C1 antes mencionada en dieciséis particiones PA1, PA2, ..., PA16. Las dichas particiones obtenidas, tienen todas, por ejemplo, la forma de un bloque cuadrado y son todas del mismo tamaño. Por tanto, el macrobloque MBc cortado se representa en la Figura 7. Con fines de claridad del dibujo, solo se representan las particiones PA4, PA8, PA12, PA13 y PA16.
Como en el primer modo de realización, se procede, a lo largo de las etapas C2 y C4, para cada una de las particiones PA1 a PA16 del macrobloque MBc actual, a la selección de al menos un macrobloque causal que contiene una pluralidad K de particiones pA1r, PA2r, ..., PAir, ... PAKr causales disponibles, (1 <i<K).
En el ejemplo representado en la Figura 7, una tal selección se efectúa de la misma manera que en el primer modo de realización, es decir, de acuerdo con un criterio de correlación de modos de predicción entre las particiones actuales por predecir del macrobloque MBc actual y las particiones causales de un macrobloque causal que hace parte de un número E de macrobloques MB1r, MB2r, ..., MBjr, ... MBEr causales disponibles, donde 1<j<E. Con fines de claridad del dibujo, solo se representan los macrobloques causales MB1r, MB3r y MBjr, estando los macrobloques causales restantes representados de manera esquemática a través de líneas sombreadas.
Por lo tanto, para este efecto, se procede:
- al cálculo de los predictores espaciales óptimos para cada una de las particiones del macrobloque MBc actual considerado,
- al cálculo de los predictores espaciales óptimos para cada una de las particiones de un macrobloque causal considerado.
Al final del cálculo, los predictores espaciales óptimos relacionados con cada una de las particiones PA1 a PA16 actuales del macrobloque MBc actual son respectivamente H, H, V, DC, H, V, Vleft, Vleft, Hup, V, V, DC, H, Vleft, DC, DC.
Como se puede ver en la Figura 7, el macrobloque causal para el cual los predictores espaciales óptimos calculados son los más similares a los calculados con relación al macrobloque MBc actual, es el primer macrobloque MB1r causal. Por lo tanto, es este macrobloque MB1r causal el que se selecciona.
Por otra parte, se procede a la etapa C3 antes mencionada de cálculo del vector MV1c de movimiento entre el macrobloque MBc actual y el macrobloque MB1r causal.
De manera paralela, las etapas C2 a C4 tales como las descritas anteriormente en relación con el segundo modo de realización se implementan de modo de obtener, para un macrobloque causal considerado, parámetros de muestreo comprimidos óptimos.
A lo largo de la etapa C2 antes mencionada, para cada una de las particiones PA1 a PA16 del macrobloque MBc actual, se procede a la selección de al menos un macrobloque causal que contiene una pluralidad K de particiones PA1 r, PA2r ..., PAir, ... PAKr causales disponibles, (1<i<K).
En el ejemplo que se representa en la Figura 7, una tal selección se efectúa de acuerdo con un criterio de puesta en conexión de bloques convencional. El macrobloque causal seleccionado es, por ejemplo, el macrobloque MB3r.
Como variante, una tal selección se efectúa de acuerdo con un criterio de puesta en conexión a través de «block matching» modificado.
A lo largo de la etapa C3 antes mencionada, se procede al cálculo de un vector MV2c de movimiento entre el macrobloque MBc actual y el macrobloque MB3r causal que acaba de ser seleccionado en la etapa C2.
A lo largo de la etapa C4, se procede al cálculo de uno o más parámetros de codificación óptimos relacionados con el macrobloque MB3r causal seleccionado.
Para este efecto, se procede, para cada una de las particiones del macrobloque causal seleccionado, una puesta en competencia, según el criterio de velocidad y distorsión J o J' antes mencionado, de los coeficientes de ponderación, de los parámetros de submuestreo, de los operadores de adquisición, de los operadores de reconstrucción o de una combinación de estos elementos, de modo que determine al menos un parámetro de codificación óptimo entre estos elementos.
Al final de la etapa C4, por ejemplo, se considera que un parámetro de submuestreo optimiza la codificación del macrobloque MB3r causal seleccionado.
Cada una de las particiones PA1 a PA16 actuales del macrobloque MBc actual se predice entonces a lo largo de la etapa C5 antes mencionada, con la ayuda de los predictores óptimos calculados respectivamente para cada una de las particiones del macrobloque MB1r causal y también con respecto a cada una de las particiones del macrobloque MB3r causal.
A lo largo de la etapa C6 antes mencionada, se procede a la determinación de los datos ai , a2 , ..., aL residuales a través de la comparación de los datos relacionados con el macrobloque MBc actual con los datos relacionados con el macrobloque MBpc actual predicho obtenido.
A lo largo de la etapa C7 antes mencionada, los datos ai , a2, ..., aL residuales, se transforman y luego se cuantifican de modo de obtener los coeficientes Ci , C2, ..., Cm .
De acuerdo con un tercer modo de realización, después de la etapa C7, sólo algunos de los coeficientes Ci , C2 , ..., Cm se conservan después de un submuestreo (no representado) de estos últimos con la ayuda del dicho parámetro de submuestreo óptimo determinado en la etapa C4.
A continuación, la etapa C8 antes mencionada se implementa de modo de codificar el macrobloque MBc actual.
La señal F de datos transmitida al decodificador DO al final de la etapa C8 contiene de manera opcional los vectores M V Ic y MV2c de movimiento calculados en la etapa C3 antes mencionada, si el decodificador DO no es capaz de recalcularlos de manera independiente, así como los datos residuales calculados en la etapa C6. Por otro lado, la señal F de datos no contiene de manera ventajosa los predictores espaciales y el parámetro de submuestreo que se han determinado en la etapa C4 antes mencionada, ya que estos últimos están asociados con los macrobloques MB1r y MB3r causales ya codificados y luego decodificados y, por lo tanto, pueden ser determinados de manera independiente por el decodificador DO.
A lo largo de la etapa Di de decodificación antes mencionada, se procede a la decodificación de los vectores MV1c y MV2c de movimiento calculados en la etapa C3.
Los macrobloques MB1r y MB3r causales señalados respectivamente por los vectores MV1c y MV2c de movimiento se determinan entonces a lo largo de la etapa D2 de decodificación antes mencionada.
A lo largo de la etapa D3 antes mencionada, se procede entonces al cálculo de los predictores óptimos H, H, V, DC, H, V, Vleft, Vleft, Hup, V, V, DC, H, Vleft, DC, DC asociados respectivamente con las particiones PA1r a PA16r del macrobloque MB1r causal. A lo largo de esta misma etapa, se procede al cálculo del parámetro de submuestreo óptimo para cada una de las particiones causales del macrobloque MBjr causal.
A lo largo de la etapa D4 antes mencionada, se predice el macrobloque MBc actual por reconstruir:
- por un lado, con respecto al macrobloque MB1r causal, con la ayuda de los predictores espaciales óptimos H, H, V, DC, H, V, Vleft, Vleft, Hup, V, V, DC, H, Vleft, DC, DC,
- y, por otro lado, con respecto al macrobloque MB3r causal.
Al final de esta etapa, se entrega un macrobloque MBpc actual predicho.
A lo largo de la etapa D5 antes mencionada, el macrobloque MBpc actual predicho, se reconstruye luego agregando, al macrobloque MBpc actual predicho, datos residuales transmitidos en la señal F de datos, y a través del submuestreo de los coeficientes Ci , C2 , ..., Cm , resultantes de la transformación y de la cuantificación de los dichos datos residuales, con la ayuda del parámetro de submuestreo óptimo calculado en la etapa D3.
Es evidente que los modos de realización que se han descrito anteriormente se han dado simplemente a título indicativo y de ningún modo limitativo, y que los expertos en la técnica pueden realizar fácilmente numerosas modificaciones sin por ello, apartarse del contexto de la invención.

Claims (15)

REIVINDICACIONES
1. Procedimiento de codificación de al menos una imagen (In ) cortada en particiones (PA1, PA2, ... PAn), caracterizado porque implementa, para una partición (PAc) actual por codificar, las etapas de:
- selección (C2) de al menos una partición (PAir, Patir) causal ya codificada y luego decodificada durante una primera codificación y decodificación,
- cálculo (C4) de al menos un parámetro de codificación óptimo de la dicha al menos una partición causal seleccionada, para optimizar un criterio de rendimiento de codificación predeterminado de una segunda codificación de la dicha al menos una partición causal seleccionada, poniendo en competencia una pluralidad de parámetros de codificación para la dicha segunda codificación de la dicha al menos una partición causal seleccionada;
- codificación (C8) de la partición actual con la ayuda del dicho al menos un parámetro de codificación óptimo de la dicha al menos una partición causal seleccionada calculada.
2. Procedimiento de codificación según la reivindicación 1, a lo largo del cual la dicha etapa de selección de partición causal consiste en:
- determinar una pluralidad de particiones causales,
- calcular al menos un parámetro de codificación óptimo asociado con cada una de las dichas particiones causales según el dicho criterio de rendimiento de codificación predeterminado,
- calcular al menos un parámetro de codificación óptimo asociado con la dicha partición actual según el dicho criterio de rendimiento de codificación predeterminado,
- comparar el parámetro de codificación óptimo calculado en asociación con la dicha partición actual con cada uno de los parámetros de codificación óptimos calculados respectivamente en asociación con cada una de las dichas particiones causales,
seleccionar la partición causal cuyo parámetro de codificación óptimo tiene el valor más cercano al del parámetro de codificación óptimo de la dicha partición actual.
3. Procedimiento de codificación según la reivindicación 1, a lo largo del cual la dicha etapa de selección de partición causal consiste en:
- determinar una pluralidad de particiones causales;
- seleccionar la partición causal más cercana a la dicha partición actual por una puesta en conexión de bloques.
4. Procedimiento de codificación según una de las reivindicaciones anteriores, a lo largo del cual la dicha partición (Patir) causal seleccionada resulta de una transformación geométrica previa, comprendiendo el dicho procedimiento una etapa de codificación de un índice asociado con la dicha transformación.
5. Dispositivo (CO) de codificación de al menos una imagen cortada en particiones, caracterizado porque comprende, para una partición actual por codificar:
- medios (APP_CO) de selección de al menos una partición causal ya codificada y luego decodificada durante una primera codificación y decodificación,
- medios (TR_CO) de procesamiento capaces de calcular al menos un parámetro de codificación óptimo para optimizar un criterio de rendimiento de codificación predeterminado de una segunda codificación de la dicha al menos una partición causal seleccionada, poniendo en competencia una pluralidad de parámetros de codificación para la dicha segunda codificación de la dicha al menos una partición causal seleccionada;
- medios (ENC) de codificación de la partición actual con la ayuda del dicho al menos un parámetro de codificación óptimo de la dicha al menos una partición causal seleccionada calculada.
6. Programa de ordenador que comprende instrucciones para implementar el procedimiento de codificación según una cualquiera de las reivindicaciones 1 a 4, cuando se ejecuta en un ordenador.
7. Soporte de grabación legible por un ordenador en el cual se graba un programa de ordenador que comprende instrucciones para la ejecución de las etapas del procedimiento de codificación según una cualquiera de las reivindicaciones 1 a 4, cuando el dicho programa es ejecutado por un ordenador.
8. Procedimiento de decodificación de una señal de datos representativa de al menos una imagen (In ) cortada en particiones que comprenden al menos una partición causal ya codificada y luego decodificada durante una primera codificación y decodificación, caracterizado porque implementa, para al menos una partición actual por reconstruir en la dicha imagen, las etapas de:
- determinación (D2) de al menos una partición causal a partir de al menos un parámetro de movimiento asociado con la dicha partición actual por reconstruir;
- puesta en competencia (D32) de una pluralidad de parámetros de codificación para una segunda codificación de la dicha partición causal determinada;
- determinación (D33) de al menos un parámetro de codificación óptimo para optimizar un criterio de rendimiento de codificación predeterminado de la dicha segunda codificación de la dicha al menos una partición causal,
- reconstrucción (D5) de la dicha partición actual con la ayuda del dicho al menos un parámetro de codificación óptimo determinado de la dicha al menos una partición causal, el cual se utiliza como parámetro de decodificación de la dicha partición actual.
9. Procedimiento de decodificación según la reivindicación 8, a lo largo del cual la determinación del dicho parámetro de movimiento se efectúa a través del cálculo o también a través de la lectura de este último en la dicha señal de datos.
10. Procedimiento de decodificación según la reivindicación 8, a lo largo del cual la partición actual se reconstruye con la ayuda de al menos dos parámetros de codificación óptimos de diferente tipo que se utilizan como parámetros de decodificación de la dicha partición actual.
11. Procedimiento de decodificación según la reivindicación 8, a lo largo del cual el criterio de rendimiento de codificación se elige entre al menos un criterio perteneciente al grupo que comprende:
- un criterio de velocidad y distorsión, en el que la velocidad se calcula a través de la simulación,
- un criterio de distorsión.
12. Procedimiento de decodificación según la reivindicación 8, en el cual la dicha partición causal resulta de una transformación geométrica previa, estando la dicha transformación determinada a través de la lectura en la dicha señal de un índice relativo a la dicha transformación geométrica.
13. Dispositivo (DO) de decodificación de una señal de datos representativa de al menos una imagen cortada en particiones que comprende al menos una partición causal ya codificada y luego decodificada durante una primera codificación y decodificación, caracterizado porque comprende, para al menos una partición actual por reconstruir en la dicha imagen:
- medios (CAL2_DO) de determinación de al menos una partición causal a partir de al menos un parámetro de movimiento asociado con la dicha partición actual por reconstruir;
- medios (TEST_DO) de puesta en competencia de una pluralidad de parámetros de codificación para una segunda codificación de la dicha partición causal determinada;
- medios (DCN_DO) de determinación de al menos un parámetro de codificación óptimo para optimizar un criterio de rendimiento de codificación predeterminado de la dicha segunda codificación de la dicha partición causal;
- medios (RI) de reconstrucción de la dicha partición actual con la ayuda del dicho al menos un parámetro de codificación óptimo determinado de la dicha al menos una partición causal, el cual se utiliza como parámetro de decodificación de la dicha partición actual.
14. Programa de ordenador que comprende instrucciones para implementar el procedimiento de decodificación según una cualquiera de las reivindicaciones 8 a 12, cuando se ejecuta en un ordenador.
15. Soporte de grabación legible por un ordenador en el cual se graba un programa de ordenador que comprende instrucciones para la ejecución de las etapas del procedimiento de decodificación según una cualquiera de las reivindicaciones 8 a 12, cuando el dicho programa es ejecutado por un ordenador.
ES12731046T 2011-05-26 2012-05-23 Procedimiento de codificación y decodificación de imágenes, dispositivo de codificación y decodificación de imágenes y programas de ordenador correspondientes Active ES2907382T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1154595A FR2975856A1 (fr) 2011-05-26 2011-05-26 Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
PCT/FR2012/051158 WO2012160313A1 (fr) 2011-05-26 2012-05-23 Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants

Publications (1)

Publication Number Publication Date
ES2907382T3 true ES2907382T3 (es) 2022-04-25

Family

ID=46420362

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12731046T Active ES2907382T3 (es) 2011-05-26 2012-05-23 Procedimiento de codificación y decodificación de imágenes, dispositivo de codificación y decodificación de imágenes y programas de ordenador correspondientes

Country Status (6)

Country Link
US (1) US9967585B2 (es)
EP (3) EP3972246A1 (es)
CN (1) CN103718560B (es)
ES (1) ES2907382T3 (es)
FR (1) FR2975856A1 (es)
WO (1) WO2012160313A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2982446A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982447A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US11523112B2 (en) * 2020-04-09 2022-12-06 Tencent America LLC Intra coding with L-type partitioning tree
US11343512B1 (en) 2021-01-08 2022-05-24 Samsung Display Co., Ltd. Systems and methods for compression with constraint on maximum absolute error

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160150B2 (en) * 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
ES2755746T3 (es) * 2008-12-22 2020-04-23 Orange 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
TW201119407A (en) * 2009-11-19 2011-06-01 Thomson Licensing Method for coding and method for reconstruction of a block of an image

Also Published As

Publication number Publication date
CN103718560A (zh) 2014-04-09
EP3972246A1 (fr) 2022-03-23
WO2012160313A1 (fr) 2012-11-29
US9967585B2 (en) 2018-05-08
EP3972247A1 (fr) 2022-03-23
FR2975856A1 (fr) 2012-11-30
US20140348237A1 (en) 2014-11-27
EP2716045B1 (fr) 2021-12-08
CN103718560B (zh) 2018-12-25
EP2716045A1 (fr) 2014-04-09

Similar Documents

Publication Publication Date Title
RU2762933C2 (ru) Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
ES2750176T3 (es) Método y aparato para el tratamiento eficaz de cabeceras de fragmentos
ES2621545T3 (es) Soporte de registro que memoriza un flujo de datos de imágenes codificadas
US10574863B2 (en) Video encoding and decoding
US20160057444A1 (en) Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
WO2012095467A1 (en) Video encoding and decoding with low complexity
GB2492778A (en) Motion compensated image coding by combining motion information predictors
US20080170753A1 (en) Method for Image Prediction of Multi-View Video Codec and Computer Readable Recording Medium Therefor
US20150365698A1 (en) Method and Apparatus for Prediction Value Derivation in Intra Coding
ES2907382T3 (es) Procedimiento de codificación y decodificación de imágenes, dispositivo de codificación y decodificación de imágenes y programas de ordenador correspondientes
US9723307B2 (en) Estimation of motion at the level of the decoder by matching of models
JP6528635B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
WO2021004420A1 (zh) 编码、解码方法、传输方法、编码、解码装置及系统
US20180070109A1 (en) Encoding of images by vector quantization
RU2808075C1 (ru) Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы
US11064212B2 (en) Method and device for coding and decoding a multi-view sequence
US20180070078A1 (en) Image encoding and decoding method, encoding and decoding device and corresponding computer programs
KR20240072202A (ko) 비디오 코딩 및 디코딩