ES2847856T3 - Procedimientos y dispositivos para codificar y decodificar al menos una imagen implementando una estimación en el campo transformado y programa informático correspondiente - Google Patents

Procedimientos y dispositivos para codificar y decodificar al menos una imagen implementando una estimación en el campo transformado y programa informático correspondiente Download PDF

Info

Publication number
ES2847856T3
ES2847856T3 ES11734167T ES11734167T ES2847856T3 ES 2847856 T3 ES2847856 T3 ES 2847856T3 ES 11734167 T ES11734167 T ES 11734167T ES 11734167 T ES11734167 T ES 11734167T ES 2847856 T3 ES2847856 T3 ES 2847856T3
Authority
ES
Spain
Prior art keywords
block
transformed
modified
coefficient
original
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
ES11734167T
Other languages
English (en)
Inventor
Isabelle Amonou
Matthieu Moinard
Pierre Duhamel
Patrice Brault
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 ES2847856T3 publication Critical patent/ES2847856T3/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment

Abstract

Procedimiento para codificar al menos una imagen cortada en bloques implementando, para que al menos un bloque sea codificado de dicha imagen: una etapa de predicción de dicho bloque por codificar en el dominio espacial, entregando un bloque predicho; una etapa de comparación de dicho bloque para codificar y dicho bloque predicho, entregando un bloque residual, llamado bloque actual, una etapa de transformación (11) de dicho bloque actual del dominio espacial a un dominio transformado, entregando un bloque transformado, estando dicho bloque transformado formado por un conjunto de coeficientes representativos de dicho bloque actual, denominados coeficientes originales, caracterizado porque dicho procedimiento de codificación implementa una etapa de selección (12) de un subconjunto de coeficientes originales de entre dicho conjunto en función de una dirección de predicción espacial utilizada en la etapa de predicción de dicho bloque por codificar, y, para al menos un coeficiente original de dicho subconjunto, las siguientes etapas: - estimación (13) de dicho coeficiente original, entregando un coeficiente estimado en dicho dominio transformado; - determinación (14) de un residuo de coeficiente, por comparación de dicho coeficiente original y dicho coeficiente estimado; - codificación (15) de dicho residuo de coeficiente, donde dicha etapa de estimación (13) implementa las siguientes etapas: - asignación de un valor cero a los coeficientes originales de dicho subconjunto, entregando un bloque transformado modificado; - restauración de dicho bloque transformado modificado, y donde dicha etapa de restauración implementa al menos una iteración de las siguientes subetapas: - transformación de dicho bloque transformado modificado del dominio transformado al dominio espacial, entregando un bloque modificado en el dominio espacial; - adición de dicho bloque modificado y del bloque predicho en el dominio espacial correspondiente, entregando un bloque modificado reconstruido; - determinación en el dominio espacial de una curvatura de una imagen reconstruida, que comprende dicho bloque modificado reconstruido; - actualización de los coeficientes originales de dicho subconjunto, teniendo en cuenta dicha curvatura, transformada del dominio espacial al dominio transformado, y de dicho bloque transformado modificado, entregando un nuevo bloque transformado modificado.

Description

DESCRIPCIÓN
Procedimientos y dispositivos para codificar y decodificar al menos una imagen implementando una estimación en el campo transformado y programa informático correspondiente
1. Campo de la invención
El campo de la invención es el de la codificación y decodificación de imágenes o secuencias de imágenes, y en particular de secuencias de vídeo.
Más precisamente, la invención se refiere a la compresión de imágenes o secuencias de imágenes mediante una representación por bloques de las imágenes.
La invención se puede aplicar en particular a la codificación de imágenes implementada en codificadores de imágenes del tipo JPEG, por ejemplo, o a la codificación de vídeos implementada en codificadores de vídeo actuales (MPEG, H.264, etc. y sus modificaciones) o por venir (ITU-T/ISO HEVC), y a la decodificación correspondiente.
2. Estado de la técnica
Las imágenes digitales y las secuencias de imágenes ocupan mucho espacio en términos de memoria, lo que requiere, al transmitir estas imágenes, comprimirlas para evitar problemas de congestión en la red utilizada para esta transmisión. De hecho, la velocidad que se puede utilizar en esta red es generalmente limitada.
Ya se conocen numerosas técnicas de compresión de datos de vídeo. Entre estas, la técnica H.264 implementa una predicción de píxeles de una imagen actual con respecto a otros píxeles pertenecientes a la misma imagen (predicción intra) o a una imagen anterior o siguiente (predicción inter).
Más precisamente, de acuerdo con esta técnica H.264, las imágenes I se codifican mediante predicción espacial (predicción intra), y las imágenes P y B se codifican mediante predicción temporal con respecto a otras imágenes I, P o B (predicción inter), codificadas/decodificadas usando compensación de movimiento, por ejemplo.
Para ello, las imágenes se dividen en macrobloques, que luego se subdividen en bloques, formados por píxeles. Cada bloque o macrobloque se codifica mediante predicción intra o inter imágenes.
Convencionalmente, la codificación de un bloque actual se lleva a cabo usando una predicción del bloque actual, llamado bloque predicho, y de un residuo de predicción, correspondiente a una diferencia entre el bloque actual y el bloque predicho. Este residuo de predicción, también llamado bloque residual, se transmite al decodificador, que reconstruye el bloque actual añadiendo este bloque residual a la predicción.
La predicción del bloque actual se establece utilizando información ya reconstruida (bloques anteriores ya codificados/decodificados en la imagen actual, imágenes previamente codificadas en el contexto de codificación de vídeo, etc.). A continuación, el bloque residual obtenido se transforma, por ejemplo, utilizando una transformada de tipo DCT (transformada de coseno discreta). Los coeficientes del bloque residual transformado se cuantifican y luego se codifican mediante codificación entrópica.
La decodificación se realiza imagen a imagen, y para cada imagen, bloque a bloque o macrobloque a macrobloque. Para cada (macro)bloque, se leen los elementos correspondientes del flujo. Se realiza la cuantificación inversa y la transformación inversa de los coeficientes del bloque o bloques residuales asociados con el (macro)bloque. Luego, se calcula la predicción del (macro)bloque y el (macro)bloque se reconstruye añadiendo la predicción al bloque o bloques residuales decodificados.
De acuerdo con esta técnica de compresión, por lo tanto, los bloques residuales transformados, cuantificados y codificados se transmiten al decodificador, para permitirle reconstruir las imágenes originales.
Desafortunadamente, durante esta transmisión, es posible que ciertos coeficientes de estos bloques residuales se alteren, o incluso se pierdan, en particular cuando la transmisión es ruidosa. El uso de estos bloques residuales “degradados” durante la reconstrucción de la imagen original conduce, por tanto, a una imagen de mala calidad.
Para remediar este problema, se ha propuesto en particular restaurar aleatoriamente coeficientes o conjuntos de coeficientes perdidos en un bloque transformado por ondas pequeñas o DCT. Los coeficientes así restaurados permiten devolver una imagen aceptable al decodificador.
Según estas técnicas, la posición de los coeficientes perdidos se detecta durante una primera fase. Luego, durante una segunda fase, estos coeficientes se restauran en función de la vecindad (otros coeficientes o vecindad espacial en la imagen reconstruida).
Por tanto, la restauración de los coeficientes se lleva a cabo a nivel del decodificador. En otras palabras, estas técnicas proponen un posprocesamiento destinado a reconstruir una señal aceptable para el decodificador.
Una desventaja de estas técnicas de restauración es que son caras en términos de recursos para el decodificador. De hecho, el decodificador debe identificar primero la posición de los coeficientes perdidos antes de poder iniciar la fase de restauración. Por lo tanto, el decodificador debe funcionar “a ciegas” o tener un módulo para identificar la posición de los coeficientes perdidos para poder restaurar los coeficientes.
En los documentos EP 0843484 B1 y EP 1081958 A1, se describen técnicas de la técnica anterior que seleccionan subconjuntos de coeficientes de bloque transformados con el fin de mejorar la eficiencia de codificación.
El documento EP 0843484 B1 describe un procedimiento de codificación que implementa diferentes modos de predicción para los bloques de coeficiente transformados. Estos modos de predicción seleccionan subconjuntos de coeficientes del bloque transformado (por ejemplo, coeficiente DC, coeficiente DC y coeficientes AC de la primera columna, etc.) y determinan una predicción para esos coeficientes seleccionados.
El documento EP 1081958 A1 da a conocer un procedimiento de codificación de vídeo que selecciona un subconjunto de n coeficientes que luego se restauran.
Por lo tanto, existe la necesidad de una nueva técnica de codificación/decodificación de imágenes que permita mejorar la calidad de la señal reconstruida al tiempo que se simplifica el procesamiento implementado a nivel del decodificador.
3. Divulgación de la invención
La invención se define mediante las reivindicaciones 1-8 adjuntas.
La invención propone una nueva solución, en forma de un procedimiento para codificar al menos una imagen cortada en bloques implementando, para al menos un bloque actual, una etapa de transformación de dicho bloque actual del dominio espacial a un dominio transformado, entregando un bloque transformado, estando formado dicho bloque transformado a partir de un conjunto de coeficientes representativos de dicho bloque actual, denominados coeficientes originales.
Según la invención, el procedimiento de codificación implementa una etapa de seleccionar un subconjunto de coeficientes originales de entre dicho conjunto y, para al menos un coeficiente original de dicho subconjunto, las siguientes etapas:
- estimación de dicho coeficiente original, entregando un coeficiente estimado en dicho dominio transformado;
- determinación de un residuo de coeficiente, por comparación de dicho coeficiente original y dicho coeficiente estimado;
- codificación de dicho residuo de coeficiente.
Por lo tanto, la invención se basa en un enfoque nuevo e inventivo de la codificación, basado en la estimación (predicción) de ciertos coeficientes en el dominio transformado.
En particular, el bloque actual es
- un bloque residual, obtenido por comparación de un bloque de una imagen por codificar en el dominio espacial y un bloque predicho obtenido por la predicción de este bloque por codificar.
Siendo el bloque actual un bloque residual, la invención propone una “predicción de doble nivel”: se realiza una primera predicción de manera convencional en el dominio espacial para “predecir” un bloque por codificar y determinar un bloque residual, luego se realiza una segunda predicción en el dominio transformado con el fin de “estimar” ciertos coeficientes del bloque residual y determinar los residuos de coeficientes. Por tanto, la invención se aplica, por ejemplo, a la codificación de vídeo H264.
Aunque estas etapas para estimar un coeficiente original, determinar un residuo de coeficiente y codificar el residuo podrían aplicarse al conjunto de coeficientes representativos del bloque actual, es preferible no aplicarlos más que a ciertos coeficientes, seleccionados para formar el subconjunto.
De hecho, ciertos coeficientes se encuentran estadísticamente en un valor cero, una vez cuantificados, según el modo de predicción, del flujo, etc. En consecuencia, no estimarlos ahorra tiempo de procesamiento y evita estimar un coeficiente distinto de cero cuando su valor original es cero (en este caso, el rendimiento de compresión se degradaría).
Además, algunos coeficientes se utilizan como “ancla” o punto de referencia (por ejemplo, el coeficiente de DC). En otras palabras, gracias al valor original de estos coeficientes, la estimación de los demás coeficientes es mejor. En este caso, no parece deseable estimar estos coeficientes de referencia.
Así, la solución propuesta ofrece un procesamiento simple que requiere pocos recursos adicionales, ya que se implementa solo para unos pocos coeficientes seleccionados entre el conjunto de coeficientes representativos del bloque actual.
En particular, para una posición dada en el bloque transformado, se codifica la diferencia entre un coeficiente original y un coeficiente estimado (también llamado residuo de coeficiente), para poder reconstruir exactamente el coeficiente identificado por esta posición en el decodificador.
Según la invención, la codificación y transmisión de un residuo de coeficiente en lugar de un coeficiente original es menos costosa (la energía asociada con el residuo de coeficiente es menor que la energía asociada con el coeficiente original) y optimiza la velocidad de transmisión para obtener la misma calidad de transmisión.
La invención propone así una nueva técnica de codificación (y decodificación) que integra una técnica de restauración de señal, cuyo objetivo es reducir la cantidad de información por transmitir para una calidad equivalente.
Se recuerda que según muchas técnicas del estado de la técnica, por el contrario, la codificación no se modificó. El procesamiento de la señal se implementó solo a nivel del decodificador, para restaurar una señal degradada durante la transmisión.
Según un ejemplo no cubierto por la invención, la etapa de selección selecciona los coeficientes originales ubicados en una posición predeterminada en el bloque transformado.
De esta manera, el decodificador puede identificar inmediatamente las posiciones de los coeficientes originales a reconstruir, y no es necesario que el codificador inserte información específica para señalar las posiciones de los coeficientes originales del subconjunto.
Esto permite limitar la cantidad de información transmitida.
Según una realización, la etapa de selección selecciona los coeficientes originales según una dirección de predicción del bloque actual.
Así, el número y/o la posición de los coeficientes del subconjunto no son fijos y pueden cambiar de acuerdo con este criterio. En los ejemplos no cubiertos por la invención, los coeficientes originales se pueden seleccionar de acuerdo con la tasa de bits de transmisión: cuanto mayor es la tasa de bits, mayor es el número de coeficientes que componen el subconjunto. Por el contrario, cuando la tasa de bits disminuye, muchos de los coeficientes originales son cero y no es necesario transmitirlos. Por tanto, no es útil seleccionarlos y estimarlos.
Según la invención, los coeficientes originales se seleccionan teniendo en cuenta su vecindad. Por ejemplo, la posición de los coeficientes que se seleccionarán para formar el subconjunto depende de la dirección de la predicción espacial utilizada para predecir el bloque que se codificará. De hecho, la dirección de predicción elegida permite agrupar los coeficientes que representan las frecuencias más altas en la misma región del bloque transformado (por ejemplo, una misma columna para una dirección de predicción horizontal o una misma fila para una dirección de predicción vertical).
Según esta realización, el decodificador debe poder encontrar el número y la posición de los coeficientes originales para reconstruir.
Por ejemplo, el decodificador conoce la dirección de predicción utilizada para la predicción espacial y puede deducir de ella la posición y el número de coeficientes por predecir.
Según otro ejemplo, es posible insertar, a nivel de codificación, un elemento de información que indique una posición de los coeficientes originales del subconjunto en una señal representativa de la o las imágenes.
Esta modificación de la señal permite que un decodificador identifique inmediatamente las posiciones de los coeficientes originales para reconstruir.
Según la invención, la etapa de estimación implementa las siguientes etapas:
- asignación de un valor cero a los coeficientes originales del subconjunto, entregando un bloque transformado modificado;
- restauración del bloque transformado modificado.
La invención propone así restaurar la señal a nivel de codificación, lo que permite reducir la cantidad de información a transmitir para una calidad equivalente.
La etapa de restauración implementa una técnica para minimizar la variación total.
En particular, la etapa de restauración implementa al menos una iteración de las siguientes subetapas:
- transformación del bloque transformado modificado del dominio transformado al dominio espacial, entregando un bloque modificado en el dominio espacial;
- adición del bloque modificado y del bloque predicho en el dominio espacial correspondiente, entregando un bloque modificado reconstruido;
- determinación en el dominio espacial, de una curvatura de una imagen reconstruida, que comprende el bloque modificado reconstruido;
- actualización de los coeficientes originales del subconjunto, teniendo en cuenta la curvatura, transformado del dominio espacial al dominio transformado, y del bloque transformado modificado, entregando un nuevo bloque transformado modificado.
Según una variante ventajosa, la etapa de restauración procesa dichos coeficientes originales uno tras otro, en orden de frecuencia creciente.
De esta manera, se comienza estimando los coeficientes originales que representan las oscilaciones de baja frecuencia y se termina estimando los coeficientes originales que representan las oscilaciones de alta frecuencia. Esta variante permite procesar los coeficientes originales en forma secuencial y, por tanto, beneficiarse en cada iteración de una reconstrucción más completa del nuevo bloque transformado modificado.
Además, ofrece mejores resultados en términos de compresión según un criterio de distorsión de flujo.
En otra realización, la invención se refiere a un dispositivo para codificar al menos una imagen cortada en bloques de acuerdo con la reivindicación 4.
Tal codificador es particularmente adecuado para implementar el procedimiento de codificación descrito anteriormente. Se trata, por ejemplo, de un codificador de imágenes del tipo JPEG o un codificador de vídeo del tipo H.264.
Este dispositivo de codificación podría incluir, por supuesto, las diversas características relacionadas con el procedimiento de codificación según la invención. Por tanto, las características y ventajas de este codificador son las mismas que las del procedimiento de codificación y no se detallan más.
Otro aspecto de la invención se refiere a un procedimiento para decodificar al menos una imagen codificada de acuerdo con la reivindicación 5.
Así, la invención permite recibir un residuo de coeficiente y reconstruir el coeficiente original correspondiente, en lugar de recibir el coeficiente original directamente. Para hacer esto, el procedimiento de decodificación implementa la misma etapa de estimación que en la codificación.
Las características y ventajas de este procedimiento de decodificación son las mismas que las del procedimiento de codificación y no se detallan más.
En particular, tal procedimiento de codificación comprende una etapa de lectura, en una señal representativa de dicha al menos una imagen codificada, de al menos un elemento de información que indica una posición de los coeficientes originales de dicho subconjunto.
De esta forma, el decodificador puede identificar inmediatamente las posiciones de los coeficientes originales para reconstruir.
En otra realización, la invención se refiere a un dispositivo decodificador de acuerdo con la reivindicación 7.
Tal decodificador es particularmente adecuado para implementar el procedimiento de decodificación descrito anteriormente. Se trata, por ejemplo, de un decodificador de imágenes de tipo JPEG o un vídeo de tipo H.264.
Este dispositivo de decodificación podría incluir, por supuesto, las diversas características relacionadas con el procedimiento de decodificación según la invención.
La invención también se refiere a un programa informático que comprende instrucciones para implementar un procedimiento de codificación y/o un procedimiento de decodificación como se describe anteriormente, cuando este programa es ejecutado por un procesador. Dicho programa puede utilizar cualquier lenguaje de programación. Puede descargarse de una red de comunicaciones y/o grabarse en un medio legible por ordenador.
4. Lista de figuras
Otras características y ventajas de la invención se evidenciarán con mayor claridad al leer la siguiente descripción de una realización particular, dada a modo de simple ejemplo ilustrativo y no limitativo, y los dibujos adjuntos, entre los cuales:
- la Figura 1 muestra las principales etapas implementadas en la codificación según la invención;
- la Figura 2 ilustra un ejemplo de la arquitectura de un codificador según la Figura 1;
- la Figura 3 ilustra un bloque transformado de tamaño 8x8;
- la Figura 4 presenta un ejemplo de un algoritmo para estimar los coeficientes;
- la Figura 5 muestra las principales etapas implementadas en la decodificación según la invención;
- la Figura 6 ilustra un ejemplo de la arquitectura de un decodificador según la Figura 5;
- las Figuras 7 y 8 muestran la estructura simplificada de un codificador y un decodificador según una realización particular de la invención.
5. Descripción de una realización de la invención
5.1 Principio general
El principio general de la invención se basa en la implementación, a nivel de codificación y decodificación, de una estimación, en el dominio transformado, de ciertos coeficientes de un bloque actual. Se observa que dicho bloque actual corresponde a un bloque residual, obtenido por comparación de un bloque de una imagen por codificar en el dominio espacial y de un bloque predicho obtenido por predicción de este bloque para codificar.
Así, según la invención, siendo el bloque actual un bloque residual, la invención propone transformar este bloque residual y predecir (estimar) ciertos coeficientes de este bloque transformado. Esta estimación se implementa utilizando los píxeles de la vecindad causal del bloque actual que, a su vez, pueden obtenerse de los coeficientes del bloque actual transformado y de los bloques vecinos del bloque actual transformado.
De esta manera, no es necesario que el codificador transmita al decodificador todos los coeficientes del bloque residual transformado, después de la cuantificación y codificación. En efecto, el codificador sólo puede transmitir ciertos coeficientes del bloque residual transformado, luego posiblemente los residuos de coeficientes que permitan reconstruir, a nivel del decodificador, los coeficientes del bloque residual transformado no transmitido. Estos residuos de coeficientes se obtienen comparando los coeficientes del bloque residual transformado, conocidos como coeficientes originales, con los coeficientes obtenidos durante la operación de estimación.
La invención propone así una predicción a dos niveles, que permite estimar, en el codificador y en el decodificador, determinados coeficientes del bloque residual transformado, que por tanto no necesitan ser transmitidos al decodificador (solo los residuos de coeficiente correspondiente a estos coeficientes que se transmiten al decodificador). De esta manera, se logra una compresión más eficiente de la señal al reducir la cantidad de información transmitida.
Se recuerda que, convencionalmente, la codificación de imágenes o secuencias de imágenes implementa una transformación de la imagen del dominio espacial a un dominio transformado, cuyo objetivo es modificar el espacio de representación de la información para descorrelacionarla tanto como sea posible y reagruparla en un número mínimo de coeficientes significativos antes de abordar las operaciones de cuantificación y codificación entrópica. Tal transformación es, por ejemplo, del tipo transformada de coseno discreta (DCT), transformada de seno discreta (DST), transformada de pequeñas ondas, etc.
5.2 Funcionamiento del codificador
Las principales etapas implementadas por un codificador de acuerdo con la invención se describen a continuación. Se considera, por ejemplo, que dicho codificador implementa una transformación de tipo DCT, convencionalmente utilizada en codificadores de imagen o vídeo. Por supuesto, se pueden usar otras transformaciones según la invención.
Así, como se ilustra en la Figura 1, tal codificador (por ejemplo, un codificador de imagen o vídeo) implementa las etapas descritas a continuación, para al menos un bloque actual Bk. Como se indicó anteriormente, el bloque actual puede ser un bloque no residual, correspondiente a un conjunto de píxeles de la imagen para codificar, o un bloque residual, obtenido por comparación de un bloque para codificar y un bloque predicho obtenido por predicción del bloque para codificar.
Durante una etapa de transformación 11, el bloque actual Bk se transforma del dominio espacial a un dominio transformado, entregando un bloque transformado Bt. Dicho bloque transformado está formado por un conjunto de coeficientes DCT representativos del bloque actual, llamados coeficientes originales.
El codificador implementa entonces una etapa de selección 12 de un subconjunto de coeficientes originales de entre el conjunto de coeficientes DCT. Esta etapa de selección 12 permite seleccionar determinados coeficientes originales, en particular teniendo en cuenta su posición en el bloque transformado Bt.
Estos pocos coeficientes originales seleccionados entre el conjunto de coeficientes DCT que forman el bloque transformado Bt se tratan luego de una manera específica.
Más precisamente, para al menos un coeficiente original Cij del subconjunto, el codificador implementa las siguientes etapas:
- estimación (predicción) 13 del coeficiente original Cij, entregando un coeficiente estimado CPij en el dominio transformado;
- determinación 14 de un residuo de coeficiente ECij, por comparación del coeficiente original Cij y el coeficiente estimado CPij;
- codificación 15 del residuo del coeficiente ECij.
Los coeficientes originales del bloque transformado Bt que no pertenece al subconjunto obtenido al final de la etapa de selección 12 son, por su parte, codificados en forma convencional.
Por tanto, la codificación del bloque transformado Bt se obtiene codificando solo los residuos de coeficientes de los coeficientes originales que pertenecen al subconjunto y codificando los demás coeficientes originales de manera convencional.
La invención propone así predecir (o estimar), al codificador y al decodificador, ciertos coeficientes originales del bloque transformado, lo que permite evitar la transmisión de estos coeficientes originales al decodificador (posiblemente transmitiendo el residuo coeficiente asociado con estos coeficientes originales). Esto permite lograr una compresión más eficiente de la señal representativa de la imagen o la secuencia de imágenes, al reducir la cantidad de información codificada, al tiempo que permite la reconstrucción de la señal idéntica. De hecho, el residuo del coeficiente, si se transmite, es menos costoso que el coeficiente original correspondiente porque su energía es menor (si el coeficiente original está bien predicho).
A continuación se describe una realización particular de la invención con referencia a las Figuras 2 a 4.
Más específicamente, la Figura 2 ilustra la arquitectura de un codificador de vídeo de tipo H.264, modificado para implementar la invención.
Tal codificador toma como entrada una secuencia de vídeo 21 e implementa operaciones convencionales de transformación T 22 y cuantificación Q 231. En el caso del codificador H.264, la operación de transformación T 22 implementa una transformación DCT completa. Al final de estas operaciones, tenemos por lo tanto un bloque transformado formado por (K+1)x(K+1) coeficientes originales Cij (cuantificados), como se ilustra en la Figura 3 (por ejemplo, 64 coeficientes originales si K = 7, o 16 coeficientes si K = 3), donde i corresponde al índice de la fila del bloque transformado y j corresponde al índice de la columna del bloque transformado, 0 < i,j < K.
Como se describe en relación con la Figura 1, para al menos un bloque transformado, se selecciona 12 un subconjunto de coeficientes originales por estimar, teniendo en cuenta en particular su posición en el bloque transformado, y se realiza una estimación 13 de estos coeficientes originales. A continuación, se determinan los residuos de los coeficientes (14), durante una etapa de compensación, durante el cual se comparan los coeficientes originales y los coeficientes estimados. Entonces se puede implementar una nueva etapa de cuantificación Q 232, antes de la operación de codificación entrópica 26.
Para proporcionar al codificador y al descodificador la misma información de predicción, el codificador integra convencionalmente un bucle de descodificación 24 en su bucle de codificación.
Tal bucle de decodificación 24 implementa operaciones convencionales de cuantificación inversa Q-1 241, transformación inversa T-1242, reconstrucción de imágenes 243, predicción intra 244 y/o inter 245 (compensación de movimiento). Estas operaciones son bien conocidas por los expertos en la técnica y se describen con más detalle en el estándar H.264 (H.264 JVT - ISO/IEC 14496-10 AVC - Recomendación UIT-T H.264, “Advanced video coding for generic audio-visual services”, 11/07/2007).
Según la invención, tal bucle de decodificación 24 también integra una operación de compensación inversa 31, implementada antes de la operación de transformación inversa T-1242, durante la cual los coeficientes residuales se suman a los coeficientes estimados.
La secuencia de vídeo 21 y las imágenes reconstruidas por predicción intra 244 y/o inter 245 permiten realizar una estimación de movimiento 25, teniendo en cuenta la codificación entrópica 26. Estas operaciones de estimación de movimiento 25 y codificación entrópica 26 son convencionales y se describen con más detalle en el estándar H.264 mencionado anteriormente.
Según esta realización, la invención por lo tanto reside más particularmente en las etapas de selección 12 de un subconjunto de coeficientes originales por estimar, de estimación 13 de estos coeficientes originales y de determinación 14 de los residuales de coeficientes asociados con estos coeficientes, descritos a continuación con más detalle.
A) Selección de los coeficientes por estimar
Más precisamente, la etapa de selección 12 permite:
- sea seleccionar los coeficientes originales ubicados en una posición predeterminada en el bloque transformado; - sea seleccionar los coeficientes originales respetando un criterio de codificación predeterminado.
En otras palabras, el número y la posición de los coeficientes originales del subconjunto (también llamados coeficientes por estimar) pueden ser fijos o variables.
Estamos buscando aquí un buen compromiso: si el número de coeficientes por estimar, es decir, si el número de coeficientes originales no transmitidos al decodificador, es demasiado alto, la imagen estará demasiado degradada para poder beneficiarse de una predicción correcta a nivel del decodificador; a la inversa, si este número es demasiado bajo, la mejora resultante en la compresión no será significativa.
Por ejemplo, los inventores han observado que la supresión/predicción de dos coeficientes originales en un bloque 8x8 de 64 coeficientes originales hizo posible obtener un buen compromiso entre degradación y compresión, cualquiera que sea la velocidad de transmisión. La etapa de selección 12 permite entonces seleccionar un subconjunto de dos coeficientes entre el conjunto de 64 coeficientes originales.
Según un ejemplo no cubierto por la invención, la posición de los coeficientes por estimar en el bloque transformado está predefinida en el codificador y en el decodificador, por ejemplo en función del tamaño de los bloques.
En este caso, no es necesario que el codificador inserte información que indique las posiciones de los coeficientes originales del subconjunto en una señal representativa de la imagen o la secuencia de vídeo.
Por ejemplo, en el caso de un codificador de imágenes del tipo JPEG, una evaluación estadística ha demostrado que para un bloque transformado de tamaño 8x8, los coeficientes más interesantes a eliminar y estimar son los coeficientes C01 (122) y C10 (121), como se muestra en la Figura 3.
La selección de los coeficientes por estimar también se puede realizar mediante un procedimiento de evaluación conocido por el codificador y el decodificador. Por ejemplo, el codificador y el decodificador pueden evaluar el tipo de imagen procesada, posiblemente utilizando las imágenes y los bloques de la imagen actual previamente codificada, para determinar una clase de imagen (imagen suave, texturizada, etc.) y deducir de allí la posición y posiblemente el número de coeficientes por estimar.
Según la invención, el codificador puede utilizar la dirección de predicción utilizada para la predicción espacial del bloque para codificar y deducir de ella la posición y el número de coeficientes por predecir. Por ejemplo, si el bloque para codificar se ha predicho en una dirección vertical, el bloque residual asociado comprende principalmente patrones horizontales y la etapa de transformación concentra la energía en los coeficientes de la primera fila (incluidos los coeficientes C00,..., C0K). En este caso, tiene más sentido predecir los coeficientes de esta primera columna ya que concentran la energía del bloque DCT.
Según una variante, la posición de los coeficientes para predecir es transmitida al decodificador por el codificador.
Así, por ejemplo, en el caso del codificador JPEG anterior, las dos posiciones de los coeficientes C01 y C10 se transmiten en el encabezado de la imagen.
Para un codificador de vídeo, es posible transmitir esta información:
- a nivel de secuencia: en este caso, los coeficientes por estimar son los mismos para todas las imágenes;
- a nivel de imagen: en este caso los coeficientes por estimar son los mismos para todos los bloques de la imagen, o para todas las imágenes pertenecientes a un mismo tipo (por ejemplo: imágenes I, imágenes P, imágenes B, etc.). La señalización a nivel de bloque, aunque es posible, parece demasiado costosa. En este caso, será preferible utilizar información local como la dirección de predicción para modificar o adaptar la posición y el número de coeficientes por predecir.
B) Estimación de los coeficientes seleccionados
Una vez obtenido el subconjunto de coeficientes originales, el codificador implementa una estimación 13 de los coeficientes de este subconjunto (que comprende, por ejemplo, los dos coeficientes originales C01 y C10).
Siendo el bloque actual un bloque residual, la etapa de estimación 13 implementa las siguientes etapas:
- asignación de un valor cero a los coeficientes originales del subconjunto, entregando un bloque transformado modificado;
- restauración del bloque transformado modificado.
Según el ejemplo de realización descrito a continuación, la etapa de restauración, también denominado regularización, implementa una técnica de regularización en el dominio de la imagen, basada en minimizar la variación total del bloque predicho.
El principio general de tal técnica para regular la señal en el dominio espacial, basado en la seminorma de la variación total (denotada TV), se recuerda a continuación.
El documento “Feature-oriented image enhancement using shock filters” de S. Osher and L. Rudin (SIAM J. Numer. Anal., 27:919:940, 1990) describe con más detalle la técnica de restauración basada en esta norma. Por supuesto, son posibles otras normas, como la norma cuadrática, por ejemplo.
La seminorma TV se utiliza en muchos procesos de mejora de la imagen, en particular para eliminar ruido y reducir el desenfoque (en inglés “debluring”).
Sea u una imagen en el dominio espacial y u(x) el valor de un píxel de la imagen u en la posición x. La imagen u en el dominio transformado se denota a(i) (denotada simplemente a, a partir de entonces). El modelo propuesto consiste en estimar un subconjunto de los coeficientes DCT de a mediante su restauración bajo restricción en el dominio espacial, es decir, en la imagen u.
Denotemos por u(a,x) la imagen obtenida a partir de los coeficientes DCT de a (es decir, la imagen correspondiente a una transformada inversa para volver al dominio espacial).
La restricción de la regularización en el dominio espacial consiste en minimizar la variación total TV.
La variación total TV se expresa de la siguiente forma:
Figure imgf000009_0001
donde Vxu representa el gradiente de la imagen u en la posición x.
Para minimizar la variación total TV (min{TV(u(a,x))}), se calcula la derivada parcial, que da:
Figure imgf000010_0001
Después del desarrollo, se obtiene:
Figure imgf000010_0002
donde:
0x¡ caracteriza el núcleo de la transformada DCT; y
Figure imgf000010_0003
expresa la curvatura de la imagen, es decir la divergencia del gradiente normalizado en el dominio espacial.
Esta fórmula establece el vínculo entre la seminorma de la variación total TV en el dominio espacial y los coeficientes DCT en el dominio transformado.
Para TV(u(a,x)) = 0, las ecuaciones de Euler-Lagrange asociadas dan
dTV(u(a,x))
= 0 .
d a
Por ejemplo, la búsqueda del mínimo local se realiza mediante un algoritmo iterativo del tipo de descenso de gradiente. Tener en cuenta que también se pueden utilizar otros procedimientos no iterativos.
Sea aTV = DCT(curv(u)) (4), expresando la curvatura (curv) de la imagen u en el dominio transformado. En cada iteración i del algoritmo, los coeficientes DCT ai se actualizan de la siguiente manera:
a1 - a 1 1 + y¿a]y (5)
donde Y¡ representa la etapa de aprendizaje del algoritmo (fijo o variable según i). Las condiciones de parada del algoritmo pueden ser el número de iteraciones i y/o la estabilidad de los coeficientes (á - ai-1 < z).
Un ejemplo del cálculo de la curvatura en un espacio discreto se describe notablemente en el documento “Mathematical models for local non-texture inpaintings” de T.F. Chan et J. Shen, SIAM (Journal of Applied Mathematic, vol. 63, no. 3, pp. 1019-1043,2002).
Más precisamente, si se denota u(i,j), el valor del píxel de la imagen en la posición (i,j), la curvatura obtenida en el punto (i, j) se expresa por:
Figure imgf000010_0004
En un espacio discreto, una posible aproximación viene dada por:
Figure imgf000011_0001
Este principio general de regularización de la señal de acuerdo con la seminorma TV se aplica a continuación al contexto de la codificación de vídeo.
Más específicamente, se considera un codificador de vídeo que implementa una transformada de tipo DCT, como se ilustra en la Figura 2 por ejemplo, y el algoritmo de restauración descrito anteriormente durante la etapa de estimación 13.
La Figura 4 ilustra con más precisión la implementación de tal algoritmo.
En la entrada, el algoritmo recibe, para al menos un bloque actual:
- un bloque de predicción 41 en el dominio espacial, resultante de las operaciones de predicción intra 244 y/o inter 245; - un bloque transformado 42, formado por un conjunto de coeficientes originales representativos del bloque residual en el dominio transformado;
- una información 43 de localización de los coeficientes DCT por estimar (usada para seleccionar los coeficientes originales que forman el subconjunto).
En la salida, el algoritmo entrega un bloque transformado modificado, en el dominio transformado, que comprende:
- en las posiciones correspondientes a los coeficientes originales pertenecientes al subconjunto: estimaciones de estos coeficientes;
- en las otras posiciones: coeficientes originales representativos del bloque residual en el dominio transformado, idénticos a los coeficientes del bloque transformado 42.
Más precisamente, el algoritmo de restauración implementa las siguientes etapas:
- cuantificación inversa Q'1421, aplicada al bloque 42 transformado;
- asignación 422 de un valor cero a los coeficientes originales Cij del bloque transformado cuya posición se identifica, gracias a la información de ubicación 43, entregando un bloque transformado modificado. En otras palabras, los coeficientes originales que pertenecen al subconjunto (por ejemplo, los coeficientes C01 y C10 identificados en la Figura 3) se ponen a cero en el bloque transformado;
- inicialización 423 de una variable j para las iteraciones, tal que j = 0;
- DCT’1424 transformación inversa del bloque transformado modificado, entregando un bloque modificado en el dominio espacial;
- adición 425 del bloque modificado y del bloque 41 predicho en el dominio espacial, entregando un bloque modificado reconstruido;
- determinación 426 de la curvatura de la imagen Ir así reconstruida, en el dominio espacial causal del bloque modificado reconstruido, como se describió anteriormente;
- determinación 427 de la curvatura de la imagen Ir en el dominio transformado, según la ecuación (4);
- regularización 428 de los coeficientes originales pertenecientes al subconjunto (puesto a cero durante la inicialización de la primera iteración), entregando los coeficientes estimados CPij, añadiéndoles un valor proporcional a la curvatura de la imagen Ir determinada durante la etapa de determinación anterior 427, según la ecuación (5) presentada anteriormente. Se obtiene así un nuevo bloque transformado modificado;
- incremento 429 de la variable j para las iteraciones.
Luego se prueba (430) si hemos alcanzado un criterio para detener el algoritmo, como el número máximo de iteraciones y/o una estabilidad de los coeficientes originales regularizados.
Si no se alcanza el criterio de parada, se vuelve a la operación de transformación inversa DCT'1424, aplicada al bloque transformado modificado resultante de la etapa de regularización 428.
Si se alcanza el criterio de parada, se cuantifica (431) el bloque transformado modificado resultante de la etapa de regularización 428.
Al final de la etapa de estimación 13, se obtiene un bloque transformado modificado compuesto por:
- coeficientes regularizados (es decir estimados) en las posiciones correspondientes a los coeficientes originales seleccionados durante la etapa de selección 12;
- coeficientes originales representativos del bloque residual en el dominio transformado, idénticos a los coeficientes del bloque transformado 42, en las otras posiciones.
Una implementación ventajosa del algoritmo consiste en estimar los coeficientes del subconjunto en forma iterativa y jerárquica. Así, el primer coeficiente estimado corresponderá al coeficiente del subconjunto que representa la frecuencia más baja de la imagen, y así sucesivamente hasta alcanzar los coeficientes correspondientes a las frecuencias más altas. En cada iteración y tan pronto como se estima un coeficiente, el residuo del coeficiente se calcula y codifica para usar este coeficiente para estimar los siguientes coeficientes según el proceso iterativo. Así, de acuerdo con esta implementación, se comienza estimando el coeficiente del subconjunto correspondiente a la frecuencia más baja del bloque actual. El residuo de coeficiente de este coeficiente se calcula y codifica, luego el valor del coeficiente original correspondiente se reintegra en el bloque actual y se usa para la estimación del siguiente coeficiente.
C) Determinación y codificación de los residuos de coeficientes
Ahora se describe la etapa 14 para determinar los residuos de coeficientes.
Durante esta etapa, se determina una diferencia entre los coeficientes estimados CPij y los coeficientes originales Cij del bloque transformado 42, ubicado en la misma posición en el bloque transformado modificado y en el bloque transformado.
Se obtiene de esta manera, para cada posición definida por el subconjunto, un residuo del coeficiente ECij.
Los coeficientes originales no estimados y los residuos de coeficientes así obtenidos se cuantifican durante la operación de cuantificación Q 232, luego se codifican durante la operación de codificación entrópica 23, en lugar del bloque residual.
De acuerdo con esta realización de la invención, por lo tanto, en la codificación, los coeficientes cuya posición es conocida (ya sea predeterminada o elegida para seleccionar los coeficientes originales que cumplen un criterio de calidad predeterminado) se eliminan intencionalmente. A continuación, se estiman estos coeficientes (en el codificador y en el decodificador), para no transmitirlos o transmitir solo el residuo de coeficiente asociado a ellos, lo que permite comprimir la señal de manera más eficaz.
Por lo tanto, la solución propuesta proporciona una mejora de la codificación en términos de rendimiento de compresión en comparación con un codificador existente (por ejemplo, H.264/AVC), ya que la cantidad de información a transmitir es menos importante para una reconstrucción de la señal estrictamente idéntica.
En otras palabras, la invención propone un nuevo procedimiento de estimación que se integra a nivel de codificación, mientras que las técnicas existentes no proponen modificar la codificación.
Como recordatorio, muchas técnicas existentes solo permiten mejorar la imagen en la decodificación a partir de una señal inicialmente idéntica en la salida del codificador, pero potencialmente degradada después de la alteración debido al canal de transmisión. Por lo tanto, estas técnicas de restauración no tienen en cuenta los coeficientes restaurados en un contexto de codificación, sino que solo tienen como objetivo reconstruir una señal aceptable antes de mostrarla en el decodificador (posprocesamiento). Además, en la mayoría de las soluciones de restauración, los coeficientes perdidos (sus posiciones) no son conocidos por el decodificador, que debe proceder a ciegas para la reconstrucción de la imagen o debe tener un módulo de identificación de la posición de los coeficientes perdidos.
En otras palabras, la invención propone estimar o predecir ciertos coeficientes del bloque transformado, con el fin de reducir la cantidad de información transmitida.
5.3 Señal representativa de la imagen o secuencia de imágenes
La señal del codificador, representativa de la imagen o la secuencia de imágenes codificadas según la técnica de codificación descrita anteriormente, puede transportar información de ubicación específica, lo que permite indicar la posición de los coeficientes originales seleccionados para formar el subconjunto.
Como se indicó anteriormente, esta información se puede proporcionar en diferentes niveles: a nivel de secuencia, a nivel de imagen o posiblemente a nivel de bloque.
Así, esta información se puede insertar en una tabla que contiene la información global de la secuencia (en un campo del SPS - en inglés “Sequence Parameter Set” - para el codificador H.264 por ejemplo), en forma de una lista que comprende las posiciones de los N coeficientes Cij por estimar del subconjunto, por ejemplo, en forma de una lista de N posiciones “absolutas” (posición n, para 1 < n < N, definida por i * k j, con i el índice de fila, k el ancho de fila y j el índice de columna del coeficiente en el bloque transformado). Esta información también se puede codificar utilizando un patrón de codificación de tipo CPB (en inglés, “coded pattern block”), como se define en el estándar H.264 antes mencionado.
Cabe señalar que esta señalización es opcional en el caso de que el codificador y el decodificador utilicen posiciones predeterminadas y, por tanto, ambas partes lo conozcan.
5.4 Funcionamiento del decodificador
Las principales etapas implementadas por un decodificador de acuerdo con la invención se describen a continuación. Por ejemplo, se considera que dicho decodificador implementa una transformación de tipo DCT, como el codificador asociado.
Así, como se ilustra en la Figura 5, tal decodificador (por ejemplo, un decodificador de imagen o vídeo) implementa las etapas descritos a continuación, para la reconstrucción de al menos un bloque transformado formado por un conjunto de coeficientes originales.
Para al menos un coeficiente original del subconjunto de coeficientes originales seleccionados de dicho conjunto, se implementan las siguientes etapas:
- decodificación 51 de un residuo de coeficiente asociado con el coeficiente original;
- estimación 52 del coeficiente original, entregando un coeficiente estimado en el dominio transformado;
- reconstrucción 53 del coeficiente original, a partir del residuo del coeficiente y el coeficiente estimado.
La etapa de estimación 52 es idéntica a la etapa de estimación 13 implementada en la codificación y, por lo tanto, no se describe con más detalle.
Para cada coeficiente del subconjunto, la etapa de reconstrucción 53 consiste en sumar el residuo de coeficiente obtenido al final de la etapa de decodificación 5 l al coeficiente estimado correspondiente (etapa similar a la etapa 31 de compensación inversa implementada en la codificación).
Nótese que el subconjunto de los coeficientes originales seleccionados es el mismo que el identificado durante la codificación.
Para ello, se prevén dos variantes.
Según una primera variante, no cubierta por la invención, la posición de los coeficientes por estimar es conocida por el codificador y por el decodificador. Así, por ejemplo, en el caso del codificador JPEG descrito anteriormente, el descodificador y el codificador conocen la posición de los coeficientes por estimar (C01 y C10 para un bloque de 8 * 8, como se ilustra en la Figura 3).
En este caso, el decodificador identifica directamente los coeficientes que pertenecen al subconjunto, desde su posición predeterminada.
En otro ejemplo, según la invención, el decodificador conoce la dirección de la predicción espacial que se utilizó para lograr la predicción espacial del bloque para codificar, y puede utilizar esta información, de la misma forma que el codificador, para deducir de allí la posición y el número de coeficientes por estimar.
Según una segunda variante, el decodificador implementa una etapa preliminar de lectura de información que indica una posición de los coeficientes originales seleccionados para formar el subconjunto.
En este caso, el decodificador identifica los coeficientes que pertenecen al subconjunto, a partir de una lectura de esta información.
La arquitectura de un decodificador de vídeo tipo H.264, modificada para implementar la invención, se describe con mayor precisión en relación con la Figura 6.
Tal decodificador recibe como entrada una señal representativa de una imagen o una secuencia de imágenes codificadas según el procedimiento de codificación descrito anteriormente, e implementa una operación de decodificación entrópica 61. Esta decodificación 61 permite en particular decodificar el o los residuos de coeficientes transportados por la señal y los coeficientes originales del bloque residual no estimados en la codificación.
Como se describe en relación con la Figura 5, para la reconstrucción de al menos un bloque transformado, se selecciona un subconjunto de coeficientes originales por estimar, teniendo en cuenta en particular su posición 62 en el bloque transformado (es decir, directamente conocido por el decodificador, u obtenido de la información de ubicación extraída de la señal).
A continuación, se hace una estimación 52 de estos coeficientes, y los coeficientes originales 53 correspondientes se reconstruyen sumando los residuos de los coeficientes a los coeficientes estimados correspondientes.
Al final de esta etapa 53, se obtiene un bloque transformado reconstruido.
Durante una siguiente etapa 63, las operaciones de cuantificación inversa Q-1 y transformación inversa T-1 se aplican al bloque transformado reconstruido, luego las operaciones de reconstrucción de imagen convencionales 64, predicción intra 65 y/o inter 66 (compensación de movimiento) se implementan. Estas operaciones son bien conocidas por los expertos en la técnica y se describen con más detalle en el estándar H.264 mencionado anteriormente.
5.5 Estructura de codificador y decodificador
Finalmente, en relación con las Figuras 7 y 8, se presenta la estructura simplificada de un codificador y de un decodificador que implementan una técnica de codificación y una técnica de decodificación según una de las realizaciones descritas anteriormente.
Por ejemplo, el codificador comprende una memoria 71 que comprende una memoria intermedia M, una unidad de procesamiento 72, equipada por ejemplo con un procesador P, y controlada por un programa informático Pg 73, implementando el procedimiento de codificación según la invención.
En la inicialización, las instrucciones de código del programa informático 73 se cargan, por ejemplo, en una memoria RAM antes de ser ejecutadas por el procesador de la unidad de procesamiento 72. La unidad de procesamiento 72 recibe como entrada al menos una imagen para codificar. El procesador de la unidad de procesamiento 72 implementa las etapas del procedimiento de codificación descrito anteriormente, de acuerdo con las instrucciones del programa informático 73, para codificar la imagen. Para ello, el codificador comprende, además de la memoria 71, medios para transformar un bloque actual del dominio espacial a un dominio transformado, medios para seleccionar un subconjunto de coeficientes originales, medios para estimar al menos un coeficiente original, medios para determinar un residuo de coeficiente correspondiente y medios para codificar el residuo de coeficiente. Estos medios son controlados por el procesador de la unidad de procesamiento 72.
El decodificador comprende una memoria 81 que comprende una memoria intermedia M, una unidad de procesamiento 82, equipada por ejemplo con un procesador P, y controlada por un programa informático Pg 83, implementando el proceso de decodificación según la invención.
En la inicialización, las instrucciones de código del programa informático 83 se cargan, por ejemplo, en una memoria RAM antes de ser ejecutadas por el procesador de la unidad de procesamiento 82. La unidad de procesamiento 82 recibe como entrada una señal representativa de al menos una imagen. El procesador de la unidad de procesamiento 82 implementa las etapas del procedimiento de decodificación descrito anteriormente, de acuerdo con las instrucciones del programa informático 83, para decodificar y reconstruir la imagen. Para ello, el decodificador comprende, además de la memoria 81, medios para decodificar al menos un residuo de coeficiente asociado a un coeficiente original, medios para estimar el coeficiente original correspondiente y medios para reconstruir el coeficiente original. Estos medios son controlados por el procesador de la unidad de procesamiento 82.

Claims (8)

REIVINDICACIONES
1. Procedimiento para codificar al menos una imagen cortada en bloques implementando, para que al menos un bloque sea codificado de dicha imagen:
una etapa de predicción de dicho bloque por codificar en el dominio espacial, entregando un bloque predicho; una etapa de comparación de dicho bloque para codificar y dicho bloque predicho, entregando un bloque residual, llamado bloque actual,
una etapa de transformación (11) de dicho bloque actual del dominio espacial a un dominio transformado, entregando un bloque transformado,
estando dicho bloque transformado formado por un conjunto de coeficientes representativos de dicho bloque actual, denominados coeficientes originales,
caracterizado porque dicho procedimiento de codificación implementa una etapa de selección (12) de un subconjunto de coeficientes originales de entre dicho conjunto en función de una dirección de predicción espacial utilizada en la etapa de predicción de dicho bloque por codificar, y, para al menos un coeficiente original de dicho subconjunto, las siguientes etapas:
- estimación (13) de dicho coeficiente original, entregando un coeficiente estimado en dicho dominio transformado; - determinación (14) de un residuo de coeficiente, por comparación de dicho coeficiente original y dicho coeficiente estimado;
- codificación (15) de dicho residuo de coeficiente,
donde dicha etapa de estimación (13) implementa las siguientes etapas:
- asignación de un valor cero a los coeficientes originales de dicho subconjunto, entregando un bloque transformado modificado;
- restauración de dicho bloque transformado modificado,
y donde dicha etapa de restauración implementa al menos una iteración de las siguientes subetapas:
- transformación de dicho bloque transformado modificado del dominio transformado al dominio espacial, entregando un bloque modificado en el dominio espacial;
- adición de dicho bloque modificado y del bloque predicho en el dominio espacial correspondiente, entregando un bloque modificado reconstruido;
- determinación en el dominio espacial de una curvatura de una imagen reconstruida, que comprende dicho bloque modificado reconstruido;
- actualización de los coeficientes originales de dicho subconjunto, teniendo en cuenta dicha curvatura, transformada del dominio espacial al dominio transformado, y de dicho bloque transformado modificado, entregando un nuevo bloque transformado modificado.
2. Procedimiento de codificación de acuerdo con la reivindicación 1, caracterizado porque comprende una etapa de inserción, en una señal representativa de dicha al menos una imagen, de al menos un elemento de información que indica una posición de los coeficientes originales de dicho subconjunto.
3. Procedimiento de codificación de acuerdo con la reivindicación 1, caracterizado porque dicha etapa de restauración procesa dichos coeficientes originales uno tras otro en orden de frecuencia creciente.
4. Dispositivo para codificar al menos una imagen cortada en bloques que comprenden:
medios para predecir un bloque para codificar de dicha imagen, en el dominio espacial, entregando un bloque predicho;
medios para comparar dicho bloque para codificar y dicho bloque predicho, entregando un bloque residual, dicho bloque actual, medios para transformar (11) dicho bloque actual del dominio espacial a un dominio transformado, entregando un bloque transformado,
estando dicho bloque transformado formado por un conjunto de coeficientes representativos de dicho bloque actual, denominados coeficientes originales,
caracterizado porque comprende además:
- medios de selección (12) de un subconjunto de coeficientes originales de entre dicho conjunto en función de una dirección de predicción espacial utilizada en los medios de predicción de dicho bloque para codificar,
- medios de estimación (13) de dicho coeficiente original, entregando un coeficiente estimado en dicho dominio transformado;
- medios de determinación (14) de un residuo de coeficiente, comparando dicho coeficiente original y dicho coeficiente estimado;
donde los medios de estimación implementan las siguientes etapas:
- asignación de un valor cero a los coeficientes originales de dicho subconjunto, entregando un bloque transformado modificado;
- restauración de dicho bloque transformado modificado,
y donde dicha etapa de restauración implementa al menos una iteración de las siguientes subetapas:
- transformación de dicho bloque transformado modificado del dominio transformado al dominio espacial, entregando un bloque modificado en el dominio espacial;
- adición de dicho bloque modificado y del bloque predicho en el dominio espacial correspondiente, entregando un bloque modificado reconstruido;
- determinación en el dominio espacial, de una curvatura de una imagen reconstruida, que comprende dicho bloque modificado reconstruido;
- actualización de los coeficientes originales de dicho subconjunto, teniendo en cuenta dicha curvatura, transformada del dominio espacial al dominio transformado, y de dicho bloque transformado modificado, entregando un nuevo bloque transformado modificado;
- medios de codificación (15) de dicho residuo de coeficiente.
5. Procedimiento de decodificación de al menos una imagen codificada, caracterizado porque implementa:
- una etapa de reconstrucción de al menos un bloque transformado formado a partir de un conjunto de coeficientes originales, implementando las siguientes etapas, para al menos un coeficiente original de un subconjunto de coeficientes originales seleccionados de dicho conjunto en función de una dirección de predicción espacial utilizada durante una etapa de predicción de dicho bloque transformado reconstruido:
- decodificación (51) de un residuo de coeficiente asociado con dicho coeficiente original;
- estimación (52) de dicho coeficiente original, entregando un coeficiente estimado en dicho dominio transformado; - reconstrucción (53) de dicho coeficiente original, a partir de dicho residuo de coeficiente y de dicho coeficiente estimado;
- una etapa de transformación inversa (64) de dicho bloque transformado reconstruido,
- una etapa de predicción (65, 66) y de reconstrucción de imágenes a partir de dicho bloque transformado reconstruido resultante de dicha etapa de transformación inversa,
en donde dicha etapa de estimación (52) implementa las siguientes etapas:
- asignación de un valor cero al coeficiente original, entregando un bloque transformado modificado;
- restauración de dicho bloque transformado modificado,
y en donde dicha etapa de restauración implementa al menos una iteración de las siguientes subetapas:
- transformación de dicho bloque transformado modificado del dominio transformado al dominio espacial, entregando un bloque modificado en el dominio espacial;
- adición de dicho bloque modificado y del bloque predicho en el dominio espacial correspondiente, entregando un bloque modificado reconstruido;
- determinación en el dominio espacial, de una curvatura de una imagen reconstruida, que comprende dicho bloque modificado reconstruido;
- actualización del coeficiente original, teniendo en cuenta dicha curvatura, transformada del dominio espacial al dominio transformado, y dicho bloque transformado modificado, entregando un nuevo bloque transformado modificado.
6. Procedimiento de decodificación de la reivindicación 5, caracterizado porque comprende una etapa de lectura, en una señal representativa de dicha al menos una imagen codificada, de al menos un elemento de información que indica una posición de los coeficientes originales de dicho subconjunto.
7. Dispositivo para decodificar al menos una imagen codificada, caracterizado porque comprende:
- medios para reconstruir al menos un bloque transformado formado por un conjunto de coeficientes originales, implementando, para al menos un coeficiente original de un subconjunto de coeficientes originales seleccionados de dicho conjunto en función de una dirección predicción espacial utilizada para predecir dicho bloque transformado reconstruido:
- medios para decodificar (51) un residuo de coeficiente asociado con dicho coeficiente original;
- medios (52) para estimar dicho coeficiente original, entregando un coeficiente estimado en dicho dominio transformado;
- medios para reconstruir (53) dicho coeficiente original, a partir de dicho residuo de coeficiente y dicho coeficiente estimado;
- medios para la transformación inversa (64) de dicho bloque transformado reconstruido,
- medios para predecir (65, 66) y para reconstruir imágenes a partir de dicho bloque transformado reconstruido resultante de dichos medios de transformación inversa,
en donde los medios de estimación implementan las siguientes etapas:
- asignación de un valor cero al coeficiente original, entregando un bloque transformado modificado;
- restauración de dicho bloque transformado modificado,
y en donde dicha etapa de restauración implementa al menos una iteración de las siguientes subetapas:
- transformación de dicho bloque transformado modificado del dominio transformado al dominio espacial, entregando un bloque modificado en el dominio espacial;
- adición de dicho bloque modificado y del bloque predicho en el dominio espacial correspondiente, entregando un bloque modificado reconstruido;
- determinación en el dominio espacial, de una curvatura de una imagen reconstruida, que comprende dicho bloque modificado reconstruido;
- actualización del coeficiente original, teniendo en cuenta dicha curvatura, transformada del dominio espacial al dominio transformado, y de dicho bloque transformado modificado, entregando un nuevo bloque transformado modificado.
8. Programa informático que comprende instrucciones para implementar un procedimiento de codificación de acuerdo con la reivindicación 1 o un procedimiento de decodificación de acuerdo con la reivindicación 5 cuando este programa es ejecutado por un procesador.
ES11734167T 2010-06-29 2011-06-16 Procedimientos y dispositivos para codificar y decodificar al menos una imagen implementando una estimación en el campo transformado y programa informático correspondiente Active ES2847856T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1055260 2010-06-29
PCT/FR2011/051383 WO2012001257A1 (fr) 2010-06-29 2011-06-16 Procedes et dispositifs de codage et de decodage d'au moins une image mettant en oeuvre une estimation dans le domaine transforme, signal et programme d'ordinateur correspondants

Publications (1)

Publication Number Publication Date
ES2847856T3 true ES2847856T3 (es) 2021-08-04

Family

ID=43216899

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11734167T Active ES2847856T3 (es) 2010-06-29 2011-06-16 Procedimientos y dispositivos para codificar y decodificar al menos una imagen implementando una estimación en el campo transformado y programa informático correspondiente

Country Status (5)

Country Link
US (1) US9681131B2 (es)
EP (1) EP2589224B1 (es)
CN (1) CN103069798B (es)
ES (1) ES2847856T3 (es)
WO (1) WO2012001257A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101675116B1 (ko) * 2009-08-06 2016-11-10 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
GB2520002B (en) 2013-11-04 2018-04-25 British Broadcasting Corp An improved compression algorithm for video compression codecs
CN104202599B (zh) * 2014-09-23 2017-07-28 浙江工商大学 一种应用于hevc帧间编码的全零块检测方法
US11412241B2 (en) * 2018-03-06 2022-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Decoding or encoding delta transform coefficients

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100371130B1 (ko) * 1996-05-28 2003-02-07 마쯔시다덴기산교 가부시키가이샤 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법
JP3413721B2 (ja) * 1998-06-26 2003-06-09 ソニー株式会社 画像符号化方法及び装置、並びに画像復号方法及び装置
EP1081958B1 (en) * 1999-08-31 2006-02-01 Lucent Technologies Inc. Method and apparatus for macroblock DC and AC coefficient prediction for video coding
JPWO2006118288A1 (ja) * 2005-05-03 2008-12-18 松下電器産業株式会社 動画像符号化方法、動画像復号化方法およびその装置
KR101675116B1 (ko) * 2009-08-06 2016-11-10 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치

Also Published As

Publication number Publication date
US20130101022A1 (en) 2013-04-25
EP2589224A1 (fr) 2013-05-08
CN103069798B (zh) 2016-12-21
US9681131B2 (en) 2017-06-13
WO2012001257A1 (fr) 2012-01-05
CN103069798A (zh) 2013-04-24
EP2589224B1 (fr) 2020-11-04

Similar Documents

Publication Publication Date Title
TW201838412A (zh) 用於視訊寫碼之低複雜度符號預測
EP2805499B1 (en) Video decoder, video encoder, video decoding method, and video encoding method
CN108632609B (zh) 视频编解码装置及方法
KR101482896B1 (ko) 최적화된 디블록킹 필터
US20200236365A1 (en) Method and apparatus for ssim-based bit allocation
JP6282646B2 (ja) 現在ブロックの分割を予測することによるビデオ符号化方法、復号化方法、対応する符号化及び復号化装置、並びにコンピュータプログラム
EP2168382B1 (en) Method for processing images and the corresponding electronic device
KR20010089526A (ko) 화상 경계에 걸친 화소값들의 차이를 감소시키기 위한화상 처리회로 및 방법
JP5466700B2 (ja) 時間予測を実施する画像シーケンスの符号化方法及び装置と、対応する信号、データ記憶媒体、復号化方法及び装置、コンピュータプロダクト製品
WO2012095466A1 (en) Video encoding and decoding with improved error resilience
JP6708374B2 (ja) 画像群内で修正可能要素のセットを決定するための方法、デバイス、プログラム、及び可読媒体
US20200014926A1 (en) Picture quality oriented rate control for low-latency streaming applications
JP2008061133A (ja) 画像符号化装置及び画像符号化方法
ES2847856T3 (es) Procedimientos y dispositivos para codificar y decodificar al menos una imagen implementando una estimación en el campo transformado y programa informático correspondiente
ES2703005T3 (es) Método de control de codificación de imágenes animadas, aparato de codificación de imágenes animadas y programa de codificación de imágenes animadas
CN107005719B (zh) 分割方法以及用于对编码树单元进行信令分割的方法
KR20100136391A (ko) 다수의 필터를 이용한 복원영상 필터링 방법 및 이를 적용한 부호화/복호화 장치 및 방법
CN108781292B (zh) 用于对数字图像进行编码的方法以及相关联的解码方法、设备、用户终端和计算机程序
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
CN109845259B (zh) 编码和解码图像参数的方法、编码和解码图像参数的设备
BR112021003632A2 (pt) métodos e dispositivos para codificar e decodificar um fluxo de dados que representa pelo menos uma imagem
JP2008544621A (ja) ビデオエラー隠蔽を向上させる符号化及び復号の方法及び装置
US20180070109A1 (en) Encoding of images by vector quantization
CN110612725B (zh) 处理设备及其控制方法
CN111226439A (zh) 视频处理方法和装置