ES2356023T3 - Compresión y descompresión de imágenes. - Google Patents

Compresión y descompresión de imágenes. Download PDF

Info

Publication number
ES2356023T3
ES2356023T3 ES07849411T ES07849411T ES2356023T3 ES 2356023 T3 ES2356023 T3 ES 2356023T3 ES 07849411 T ES07849411 T ES 07849411T ES 07849411 T ES07849411 T ES 07849411T ES 2356023 T3 ES2356023 T3 ES 2356023T3
Authority
ES
Spain
Prior art keywords
image
pixels
sets
filter
pixel
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
ES07849411T
Other languages
English (en)
Inventor
Fei Zuo
Stijn De Waele
Wilhelmus H. A. Bruls
Karel J. G. HINNEN
Michael J. VERBERNE
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of ES2356023T3 publication Critical patent/ES2356023T3/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image 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/117Filters, e.g. for pre-processing or post-processing
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/179Methods 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 scene or a shot
    • 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/182Methods 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 pixel
    • 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/187Methods 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 scalable video layer
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

Aparato de descompresión que comprende: - una entrada o entradas (20) para recibir información de imagen y una pluralidad de conjuntos de parámetros de control para la información de imagen, definiendo la información de imagen un contenido de una imagen; - una memoria (36) para almacenar la pluralidad recibida de los conjuntos de parámetros de control; - un descompresor (24) configurado para descomprimir al menos parcialmente la información de imagen; - un selector (32) configurado para clasificar en clases respectivas, basándose en el contenido de la imagen en una ventana respectiva relativa al píxel, para cada uno de una pluralidad de píxeles en la imagen, los píxeles, y para seleccionar un conjunto respectivo de la pluralidad recibida de conjuntos de parámetros de control dependientes de la clasificación para los píxeles; - un circuito (39) de procesamiento de imagen configurado para posprocesar la información de imagen al menos parcialmente descomprimida, usando los conjuntos seleccionados respectivos de los conjuntos de parámetros de control para dichos píxeles clasificados a partir de la memoria (36) para controlar el posprocesamiento para píxeles en la imagen.

Description

CAMPO DE LA INVENCIÓN
La invención se refiere a procedimientos y aparatos para la compresión y descompresión de imágenes.
5
ANTECEDENTES DE LA INVENCIÓN
Se conocen procedimientos de compresión de imágenes con pérdida, tanto en el contexto de compresión de vídeo como para imágenes individuales. Los ejemplos predominantes son los procedimientos definidos en las diversas normas de compresión/descompresión MPEG y JPEG, que incluyen cuantificación aproximada de datos de imagen. Estos procedimientos de compresión con pérdida introducen artefactos, es decir, diferencias entre las imágenes 10 originales y las imágenes reconstruidas que se obtienen tras la compresión y la descompresión.
Un procedimiento de reducción de estas diferencias se ha descrito en una publicación titulada “Posfilter SEI message for 4:4:4 coding” de S. Wittmann y T. Wedi, en la reunión 18ª del Joint Video Team (JVT) de ISP/IEC MPEG & ITUT VCEG (documento número JVT S030).
En esta publicación, se propone añadir mensajes a un flujo de vídeo MPEG que definen los coeficientes de 15 filtro para un posfiltro FIR (respuesta impulsional finita) que va a aplicarse a imágenes decodificadas en el lado de decodificador con el fin de reducir LOS artefactos de compresión. Se usa filtrado Wiener, es decir, una medida estadística para la diferencia entre la imagen original y la posfiltrada, se define la imagen descomprimida y se seleccionan los coeficientes de filtro de modo que minimizan el valor de esta medida. Como puede observarse, esto significa que el valor de los coeficientes de filtro depende del contenido de la imagen. Los coeficientes de filtro se 20 computan en el codificador y se incluyen en el flujo de vídeo. El decodificador extrae los coeficientes del flujo y aplica posfiltrado usando los coeficientes extraídos.
Desgraciadamente, este tipo de posfiltrado sólo proporciona una reducción limitada de los artefactos de compresión.
El documento WO2005/034517 describe un aparato de descompresión que comprende una entrada para 25 recibir información de imagen y conjuntos de parámetros de filtro, una memoria para almacenar conjuntos de parámetros de filtro, un descompresor para descomprimir parcialmente la información de imagen y medios para posprocesar la información de imagen descomprimida. El aparato responde a un índice de imagen de referencia para señalizar cuál de una pluralidad de filtros va a aplicarse a una imagen decodificada o a un macrobloque dentro de una imagen. 30
Wittmann et al describen en “Postfilter hint SEI”, Video standards and Drafts, reunión n.o JVT-U035,21: Hangzhou 20-27 de octubre de 2006, 25 de octubre de 2006 el uso de un mensaje SEI que contiene pistas de posfiltro en el que la idea es transmitir coeficientes de filtro de un filtro diseñado en el lado de codificador o relaciones cruzadas entre el filtro original y el codificado al codificador.
Ung et al describen en “A fast adaptive image restoration filter for reducing block artefacts en compressed 35 images” IEEE Transaction on Consumer Electronics, Vol. 43, n.o 4, noviembre de 1997, páginas 1340 a 1346 un filtro de restauración de imagen adaptativo rápido usando clasificación de bloque basada en DCT para reducir los artefactos en imágenes comprimidas.
SUMARIO DE LA INVENCIÓN 40
Entre otros, un objetivo es proporcionar un procedimiento de reducción de los artefactos de compresión.
Se proporciona un aparato de descompresión según la reivindicación 1. En el presente documento, para cada uno de una pluralidad de píxeles en una imagen descomprimida, los píxeles se clasifican basándose en el contenido de la imagen en una ventana respectiva relativa al píxel. La clasificación se usa para seleccionar un conjunto de parámetros de control a partir de una pluralidad de conjuntos de parámetros de control que se han transmitido con la 45 imagen. El conjunto de parámetros de control seleccionado se usa para controlar el posprocesamiento para los píxeles. De este modo, se hace posible usar diferente posprocesamiento en diferentes píxeles en la imagen. En píxeles en los que se detectan diferentes clases de características, pueden usarse diferentes conjuntos de parámetros de control para el posfiltrado, por ejemplo. De manera similar, cuando se producen gradientes en diferentes direcciones, pueden usarse diferentes conjuntos de parámetros de control para el posfiltrado. 50
Dentro del marco de la invención “posfiltrado” y „posprocesamiento‟ incluyen filtrado y procesamiento tras la
decodificación completa de una imagen, es decir, tras el proceso de decodificación completa. A menudo las imágenes se decodifican usando un proceso de bucle en el que tras una decodificación inicial se realiza un proceso de bucle para obtener una imagen decodificada final. La imagen decodificada final se filtra entonces fuera del bucle. Tales realizaciones „fuera del bucle‟ de la invención forman un grupo preferido de realizaciones.
Dentro del concepto de la invención, también se incluye la aplicación de filtros en el bucle, por ejemplo, también 5 se incluye una aplicación en el bucle de filtros de desbloqueo. Entonces se aplica el “posfiltrado” en el bucle tras una etapa inicial de decodificación. Tales realizaciones “en el bucle” de la invención también forman un grupo preferido de realizaciones.
En la realización, los conjuntos de parámetros de control se multiplexan en un flujo de imagen junto con la imagen comprimida. Alternativamente, los conjuntos de parámetros de control y las imágenes comprimidas pueden 10 suministrarse a un aparato de descompresión por separado, por ejemplo, para separar subentradas de una entrada del aparato de descompresión cuando un usuario del aparato de descompresión se ha abonado para recibir una imagen para aplicar posprocesamiento.
En una realización, el posprocesamiento comprende filtrar con un filtro, por ejemplo, un filtro de respuesta impulsional finita, con coeficientes de filtro definidos por el conjunto de parámetros de control. Pero, alternativamente, 15 pueden usarse otras formas de posprocesamiento, tales como adiciones locales de una textura con parámetros estadísticos definidos por el conjunto de parámetros de control.
Se proporciona un aparato de compresión según la reivindicación 8. Este aparato de compresión selecciona los conjuntos de parámetros de control para diferentes clases y los añade a la señal de imagen comprimida. En una realización, el aparato de compresión también selecciona una definición de clase que depende del contenido de la 20 imagen y la añade a la señal de imagen comprimida. La definición de clase puede comprender, por ejemplo, vectores representativos de valores de píxel en ventanas de la imagen descomprimida. En una realización, la pluralidad de conjuntos de parámetros de control se computan en común para una pluralidad de imágenes de entrada. De este modo, el conjunto de parámetros de control puede reutilizarse para diferentes imágenes. Esto reduce el ancho de banda necesario para la señal comprimida. Los conjuntos de parámetros de control pueden seleccionarse dependiendo de una 25 diferencia entre la imagen de entrada y una imagen descomprimida definida por la señal de imagen descomprimida, para definir operaciones de posprocesamiento que definen esta diferencia.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Estos y otros objetivos y aspectos ventajosos serán evidentes a partir de realizaciones a modo de ejemplo que 30 se describirán usando las siguientes figuras.
La figura 1 muestra un aparato de compresión;
la figura 2 muestra un aparato de descompresión;
la figura 3 muestra una realización de un posfiltro;
la figura 3a ilustra agrupamiento de píxeles; 35
las figuras 3b y 3c ilustran el efecto positivo;
la figura 4 muestra un aparato de descompresión;
la figura 5 muestra un diagrama de un estimador 16 de parámetros;
la figura 6 muestra un posprocesador;
la figura 7 muestra un sistema de compresión-descompresión; 40
la figura 8 muestra un aparato de compresión;
la figura 9 muestra un aparato de descompresión;
la figura 10 muestra un sistema de compresión-descompresión;
la figura 11 ilustra una realización en la que se usan gradientes como criterios de selección;
la figura 12 ilustra la posición de centros de agrupamiento cuando se usan gradientes como criterios de 45 selección;
la figura 13 ilustra las ventajas de usar gradientes como criterios de selección;
la figura 14 ilustra una estructura jerárquica;
las figuras 15a, 15b y 15c ilustran una realización adicional que usa una función de desbloqueo;
la figura 16 ilustra un ejemplo de las condiciones usadas para decidir si los píxeles p0 y q0 son vecinos o no a un borde de subbloque BE;
la figura 17 proporciona mediciones de la reducción en la tasa de bits; 5
la figura 18 ilustra una realización adicional;
la figura 19 ilustra patrones que muestran simetría rotacional;
la figura 20 ilustra patrones que muestran simetría por desplazamiento;
la figura 21 ilustra patrones que muestran simetría por volteo;
las figuras 22a a 22c ilustran ejemplos de patrones que muestran invarianza bajo transformaciones; 10
la figura 23 ilustra esquemáticamente una señal.
DESCRIPCIÓN DETALLADA DE LAS REALIZACIONES
La figura 1 muestra un aparato de compresión. El aparato de compresión comprende una entrada 10 de flujo, un compresor 12, un descompresor 14, un estimador 16 de parámetros, un multiplexor 18 de flujo y una salida 19 de flujo comprimido. El compresor 12 tiene una entrada acoplada a la entrada 10 de flujo y una salida acoplada al 15 multiplexor 18 de flujo. El descompresor 14 tiene una entrada acoplada a la salida del compresor 12. El estimador 16 de parámetros tiene entradas acopladas a la entrada 10 de flujo y a una salida del descompresor 14. El estimador 16 de parámetros tiene una salida acoplada al multiplexor 18 de flujo para proporcionar datos 17 de parámetros. El multiplexor 18 de flujo tiene una salida acoplada a la salida 19 de flujo comprimido.
La figura 2 muestra un aparato de descompresión. El aparato de descompresión comprende una entrada 20 de 20 flujo comprimido, un demultiplexor 22 de flujo, un descompresor 24, un posfiltro 26 y una salida 28 descomprimida. El demultiplexor 22 de flujo tiene una entrada acoplada a la entrada 20 de flujo comprimido y salidas acopladas a una entrada del descompresor 24 y una entrada de control del posfiltro 26. El posfiltro 26 tiene una entrada de señal acoplada a una salida del descompresor 24 y una salida acoplada a la salida de flujo comprimido.
En ambas figuras sólo se muestran componentes pertinentes para la compresión y descompresión de 25 imágenes. Debe entenderse que pueden estar presentes otros componentes, por ejemplo, para la compresión y descompresión de audio, gestión de datos, etc. Además debe apreciarse que los diferentes componentes pueden implementarse usando uno o más circuitos de procesamiento programables, programados con un programa para hacer que el circuito de procesamiento funcione como un componente pertinente. Puede usarse un circuito de procesamiento programable para funcionar como componentes diferentes de los diferentes programas bajo control, o pueden usarse 30 diferentes circuitos de procesamiento. Como alternativa, los componentes pueden implementarse usando circuitos dedicados o como una mezcla de circuitos dedicados y programados.
En funcionamiento, el aparato de compresión produce un flujo comprimido y el flujo comprimido se aplica al aparato de descompresión. Puede usarse cualquier modo de acoplamiento. Por ejemplo, el flujo comprimido del aparato de compresión puede difundirse o transmitirse uno a uno a través de cualquier medio (no mostrado) y suministrarse al 35 aparato de descompresión, o puede almacenarse en un dispositivo de almacenamiento y aplicarse al aparato de descompresión desde el almacenamiento. Evidentemente, puede usarse cualquier mezcla de almacenamiento y difusión o transmisión.
El compresor 12 y los descompresores 14, 24 realizan la compresión y la correspondiente descompresión de imágenes. Puede usarse cualquier forma de compresión y descompresión, por ejemplo, tal como se define mediante 40 cualquier norma MPEG. El multiplexor 18 de flujo combina datos de imagen comprimida con cualquier otro dato deseado en un flujo comprimido. El demultiplexor 22 de flujo extrae los datos de imagen comprimida y suministra los datos extraídos al descompresor 24. El descompresor descomprime los datos de imagen y suministra los datos de imagen descomprimida al posfiltro 26. El posfiltro 26 filtra los datos y emite los datos de imagen filtrados, que pueden usarse, por ejemplo, para controlar un dispositivo de visualización (no mostrado) para reproducir la imagen en una 45 pantalla.
Aunque se han mostrado un multiplexor 18 y un demultiplexor 22, de modo que pueden combinarse una imagen comprimida y conjuntos de parámetros de control para posprocesar esa imagen en una señal de imagen, debe apreciarse que la imagen comprimida y los conjuntos de parámetros de control también pueden proporcionarse por separado, por ejemplo, proporcionando al aparato de compresión y al aparato de descompresión subsalidas y 50 subentradas separadas para estas señales. Esto tiene la desventaja de que es necesario un procedimiento más complejo de transferencia de las señales, pero tiene la ventaja de que los conjuntos de parámetros de control pueden
omitirse cuando no son necesarios, por ejemplo, la imagen comprimida se ofrece a abonados con y sin opción de posprocesamiento.
POSFILTRADO
El estimador 16 de parámetros selecciona parámetros para controlar el posfiltrado mediante el posfiltro 26. El estimador 16 de parámetros suministra los parámetros seleccionados al multiplexor 18 de flujo, que añade los 5 parámetros al flujo comprimido. El demultiplexor 22 de flujo extrae los parámetros y suministra los parámetros extraídos al posfiltro 26. El posfiltro 26 usa los parámetros para controlar el posfiltrado.
La figura 3 muestra una realización de un posfiltro. En esta realización, el posfiltro comprende un colector 30 de ventanas, un selector 32 de agrupamientos, una memoria 34 de definición de agrupamientos, una memoria 36 de coeficientes, una interfaz 38 de control y un filtro 39 FIR. El colector 30 de ventanas está acoplado a la salida del 10 descompresor (no mostrado) y tiene una salida acoplada al filtro 39 FIR. El selector 32 de agrupamientos tiene entradas acopladas a la salida del colector 30 de ventanas y la memoria 34 de definición de agrupamientos. El selector 32 de agrupamientos tiene una salida acoplada a una entrada de la memoria 36 de coeficientes. La memoria 36 de coeficientes tiene una salida acoplada a una entrada de coeficientes del filtro 39 FIR. La interfaz 38 de control tiene una entrada para recibir datos de control del demultiplexor de flujo (no mostrado) y salidas acopladas a la memoria 34 de 15 definición de agrupamientos y la memoria 36 de coeficientes. Aunque los diversos elementos de la figura 1, tales como las memorias 34, 36 se han mostrado como partes del posfiltro 26, debe entenderse que también pueden considerarse como partes separadas del aparato de descompresión sin ser parte del posfiltro.
En funcionamiento, el colector 30 de ventanas recopila valores de píxel para ubicaciones de píxel en una ventana de ubicaciones de píxel en movimiento en una imagen (por ejemplo, una ventana de ubicaciones de píxel de 20 3x3). El colector 30 de ventanas aplica valores de píxel para la ventana al filtro 39 FIR. El filtro 39 FIR computa el valor de píxel de salida como una suma de productos de los valores de píxel por coeficientes de filtro. Cada producto se computa para una ubicación respectiva en la ventana, a partir del valor de píxel y el coeficiente de filtro asociado con esa ubicación. La suma de los productos puede normalizarse y se emite como valor de píxel posfiltrado para una ubicación de píxel correspondiente a una ubicación de la ventana. Esto se repite para una serie de ubicaciones de 25 ventana, para producir valores de píxel de salida para una serie de ubicaciones de píxel en posiciones relativas predeterminadas con respecto a las ubicaciones de ventana (por ejemplo, ubicaciones de píxel de salida en los puntos centrales de las ventanas de 3x3, aunque pueden usarse otras posiciones relativas predeterminadas).
El selector 32 de agrupamientos y la memoria 36 de coeficientes controlan los coeficientes que usa el filtro 39 FIR. La información en la memoria 34 de definición de agrupamientos define una pluralidad de agrupamientos, que 30 corresponde cada uno a un conjunto de posibles combinaciones de valores de píxel en la ventana. La memoria 36 de coeficientes almacena un conjunto de coeficientes de filtro respectivo para cada agrupamiento. El selector 32 de agrupamientos recibe la combinación de valores de píxel en la ventana actual que se ha producido por el descompresor (no mostrado) y a partir de estos valores de píxel, el selector 32 de agrupamientos clasifica el contenido de la ventana, es decir, determina el agrupamiento al que pertenece esta combinación. El selector 32 de agrupamientos usa una 35 identificación de este agrupamiento para dirigirse a la memoria 36 de coeficientes y en respuesta la memoria 36 de coeficientes suministra el conjunto de coeficientes de filtro correspondiente al filtro 39 FIR. Esto se repite para una serie de ubicaciones de ventana. Por tanto, para cada ubicación de ventana, los valores de píxel se filtran según la clasificación de la ubicación de ventana (el agrupamiento seleccionado para la ubicación de ventana), para producir un valor de píxel de salida para una ubicación de píxel respectiva. 40
En una realización, la memoria 34 de definición de agrupamientos almacena combinaciones de valores de píxel representativas para cada agrupamiento. En esta realización, los agrupamientos se definen mediante la distancia a estas combinaciones representativas. Cualquier combinación de valores de píxel dada tiene diferentes distancias a diferentes combinaciones de valores de píxel representativas. La combinación dada pertenece al agrupamiento que tenga la combinación representativa a la distancia más corta. 45
En esta realización, el selector 32 de agrupamientos clasifica identificando la combinación representativa a la menor distancia. En una realización adicional, sólo se usa la componente de luminancia de los valores de píxel para definir los agrupamientos. Así, por ejemplo, si se usan ventanas de 3x3, cada combinación representativa comprende nueve valores de luminancia.
50
En el presente documento “j” es una etiqueta del agrupamiento. En esta realización, el selector 32 de agrupamientos recibe los valores de luminancia (L1, L2,...L9) para las ubicaciones de píxel en la ventana actual y selecciona el agrupamiento j que minimiza la distancia
( indica el valor absoluto). En esta realización, el selector 32 de agrupamientos usa la etiqueta j para seleccionar el conjunto de coeficientes de filtro.
La figura 3a muestra un ejemplo en el que en una escena se seleccionan algunos cuadros clave para hallar los coeficientes de filtro. El vector característico para el agrupamiento es la luminancia en la ventana de 3x3 local alrededor de un píxel como se explicó anteriormente. La fila superior en la figura 3a proporciona los cuadros originales, la fila 5 inferior los cuadros decodificados. Elementos de varios agrupamientos se indican en la fila inferior. Los agrupamientos comprenden áreas o píxeles con patrones similares. En este ejemplo, se usan 20 agrupamientos. La figura 3a muestra que se agrupan patrones similares en agrupamientos. Los agrupamientos están dispersos sobre la imagen, lo que a menudo es el caso, puesto que los agrupamientos están constituidos por patrones similares sobre las imágenes. Los algoritmos de agrupamiento pueden estar basados en diferentes esquemas y fórmulas para hallar patrones similares. 10 En este ejemplo, el algoritmo se basa en valores de luminancia.
La figura 3b muestra para esta escena el efecto positivo. En una gráfica forma la PSNR-Y promedio, una medida para la distorsión. La curva A ilustra el valor de PSNR-Y para la señal decodificada; la curva B ilustra el valor de PSNR-Y tras la aplicación de agrupamiento y aplicando el filtro adaptativo. La PSNR-Y promedio aumenta desde 32,38 Db hasta 32,89Db, una mejora de 0,5 dB. 15
Debe observarse que un cambio de escena está presente alrededor del cuadro 315 y tras dicho cambio de escena el agrupamiento de la escena previa ya no es óptimo. Puede usarse una detección de degradación para actualizar dinámicamente la selección de agrupamiento y los coeficientes de filtro correspondientes. En un escenario fuera de línea un posible cambio de escena puede estar predeterminado por la división de escena.
La figura 3c ilustra el aumento en el valor de PSNR-Y para vídeo codificado según H.264 en función de la tasa 20 de bits. En todas las tasas de bits está presente un aumento notable en el valor de PSNR-Y.
La figura 3d ilustra el aumento en el valor de PSNR-Y en función del número de agrupamientos. Un número preferido de agrupamientos es de 5 o más, lo más preferiblemente de menos de 30. A medida que aumenta el número de agrupamientos aumenta la carga computacional, mientras que la ganancia adicional disminuye.
En este ejemplo, para una escena de vídeo, la función de posprocesamiento incluye 40 números de punto 25 flotante (centros de agrupamiento y coeficientes de filtro). Esta información puede cuantificarse y codificarse de manera entrópica adicionalmente para reducir más los costes de bit. Considerando la cantidad de cuadros de imagen, pertenecientes a una escena) que puede posprocesarse con los mismos datos, estos costes adicionales pueden despreciarse en un sentido práctico, mientras que la ventaja es considerable y cuantificable.
Debe resaltarse que esta realización es simplemente un ejemplo. Puede usarse cualquier otro procedimiento 30 de definición de agrupamientos. Por ejemplo, pueden ponderarse valores de píxeles de diferentes ubicaciones en la ventana de manera diferente en la computación de la distancia, o componentes de color pueden ponderarse de manera diferente (por ejemplo, usando sólo una componente de color para el agrupamiento). En lugar de una suma de valores absolutos puede usarse, por ejemplo, una suma de cuadrados.
En lugar de una distancia a un conjunto de valores de luminancia, puede usarse una distancia a un conjunto de 35 productos escalares de la combinación de valores de luminancia con vectores convencionales de valores de luminancia, etc. En lugar de vectores representativos para agrupamientos individuales puede usarse un sistema de vectores de referencia para controlar las selecciones entre grupos de agrupamientos a lo largo de un árbol de decisión. En lugar de vectores representativos pueden proporcionarse vectores de diferencia para seleccionar entre agrupamientos o grupos de agrupamientos, etc. En el presente documento “clasificar un vector” se usará para cualquier tipo de clasificación de 40 este tipo, independientemente de si la clasificación se realiza agrupando en primer lugar las componentes pertinentes del vector en un vector, o simplemente considerando las componentes: en el contexto de “clasificación” el término “vector” se usa para indicar que un número de componentes se usa para la clasificación. De manera correspondiente el selector 32 de agrupamientos puede usar otros procedimientos para seleccionar un agrupamiento y componente de “vectores de agrupamiento”, que se usan en la clasificación. 45
Aunque se ha descrito una realización en la que el agrupamiento se selecciona por medio de valores descomprimidos Y1, Y2,... para una ventana de ubicaciones de píxel adyacentes, debe apreciarse que pueden usarse alternativamente valores de señal para diferentes combinaciones de ubicaciones. Por ejemplo, en lugar de una combinación de valores de píxel individuales a partir de una ventana de 3x3, puede usarse una combinación de valores de píxel promedio, cada uno para un bloque respectivo de un conjunto de bloques de ubicaciones de píxel. Por ejemplo, 50 bloques de 8x8 píxeles en una ventana de 3x3 de tales bloques. Como otro ejemplo, en lugar de una combinación de valores de píxel individuales a partir de una ventana de 3x3, pueden usarse valores submuestreados a partir de ubicaciones no adyacentes predeterminadas respecto a la ubicación de píxel actual para seleccionar el agrupamiento.
Como ejemplo adicional, pueden usarse las siguientes etapas para derivar las clases:
1. Todas las ventanas vecinas de MXM de cada píxel a partir de un subconjunto de los cuadros decodificados 55
que constituyen una información de imagen dada se extraen de la información de imagen. Cada ventana se representa mediante un vector característico x‟ que consiste en su luminancia. El vector puede normalizarse restando de cada vector la media de todas las componentes. Así, una ventana de 4x4 alrededor de un píxel se representa mediante un vector de 16 dimensiones con 0..... 255 (para 256 colores) valores en todos sus ejes. Una ventana de 5x5 mediante un vector de 25 dimensiones, etc. 5
2. Los vectores característicos se muestrean en un número predefinido de clases N de modo que los totales dentro de la varianza de clase
en lo anterior hay un total de N clases Ci (1≤i≤ N), x‟ es un vector muestra de 16 ó 25 dimensiones (para ventanas de 4x4, respectivamente de 5x5) y i‟ es el vector media de todos los vectores x‟ que pertenecen a la clase Ci. Tal 10 clasificación puede realizarse fácilmente usando un enfoque iterativo. Como resultado, se halla el centro de cada clase o agrupamiento, indicando agrupamiento y clase lo mismo, es decir, un número de elementos. Este centro se almacena para representar la clase. Los vectores más próximos a cada centro forman parte de un agrupamiento o clase. En este ejemplo, se usa la suma de cuadrados, en el ejemplo previo se usa la suma de valores absolutos. En cada ejemplo, se usa un total de N clases. 15
3. Para cada clase identificada, se determinan coeficientes de filtro. La aplicación del filtro a los cuadros decodificados proporciona un nuevo valor de píxel p” para cada píxel en el cuadro de baja res. decodificado, basándose p” en los MxM vecinos del píxel. El objetivo es minimizar el MSE (error cuadrático medio) entre el valor p” previsto y el valor de píxel p original correspondiente para todas las muestras en cada clase. Esto puede verse como un problema de mínimos cuadrados convencional que puede resolverse con regresión lineal multivariable u otra técnica conocida para 20 resolver problemas de mínimos cuadrados.
Usando filtros basados en una ventana de 5x5 y un total de 5 clases se hallaron mejoras típicas en valores de PSNR-Y, en comparación con otras técnicas conocidas de aproximadamente 1 dB.
Asimismo, no es necesario que la ventana usada para seleccionar el agrupamiento sea la misma que la ventana usada en el filtro FIR. Aunque se prefiere que estas ventanas al menos se solapen, de modo que los 25 coeficientes de filtro seleccionados para una ubicación de píxel dependan de un contexto cercano a esa ubicación, el agrupamiento también puede seleccionarse basándose en una ventana que no se solape con la ventana usada por el filtro FIR.
Además, en lugar de (o además de) valores de píxel, pueden usarse vectores de movimiento para clasificar las ubicaciones. Tal como se conoce per se, una imagen en un flujo de vídeo puede codificarse en términos de vectores de 30 movimiento para bloques de píxeles que definen, para cada bloque, la ubicación de un bloque en otra imagen a partir de lo cual deben copiarse los valores de píxel en el bloque. En una realización, pueden usarse vectores de movimiento de una pluralidad de bloques en ubicaciones predeterminadas respecto a una ubicación de píxel para asignar la ubicación de píxel a un agrupamiento. Esto puede realizarse casi del mismo modo que el agrupamiento según el valor de píxel.
La figura 4 muestra una realización en la que el descompresor 24 comprende un descompresor 240 de 35 imágenes, un extractor 242 de vectores de movimiento y una memoria 244 de imágenes de referencia. En el presente documento, el extractor 242 de vectores de movimiento extrae vectores de movimiento de información de vídeo entrante y suministra los vectores de movimiento extraídos al descompresor 240 de imágenes para indicar de dónde, en la memoria 244 de imágenes de referencia, deben extraerse los bloques de píxeles. Además, los vectores de movimiento extraídos se suministran al selector 32 de agrupamientos, que usa las diferencias de vectores de movimiento entre un 40 “vector de vectores de movimiento” para bloques en posiciones predeterminadas respecto a una ubicación de píxel con vectores representativos de vectores de movimiento para diferentes agrupamientos. Evidentemente, la selección de agrupamientos basándose en vectores de movimiento también puede realizarse mediante procedimientos distintos a la determinación de diferencias con vectores representativos. Asimismo, debe tenerse en cuenta que pueden usarse tanto vectores de movimiento para movimiento a la imagen como/o vectores para movimiento desde la imagen, para el 45 agrupamiento. Además, aunque pueden usarse preferiblemente vectores de movimiento codificados a partir del flujo de vídeo, debe apreciarse que pueden usarse alternativamente vectores de movimiento que están determinados de un modo predeterminado a partir del contenido de imagen de imágenes en el flujo de vídeo.
En otra realización, el selector 32 puede usar diferencias con vectores representativos que contienen tanto valores de píxel como vectores de movimiento, en las que pueden usarse diferentes pesos para diferentes componentes 50 de los vectores representativos en la determinación de la diferencia.
Debe observarse que los agrupamientos usados son agrupamientos en el espacio de posibles combinaciones de valores de píxel en una ventana y no agrupamientos de ubicaciones de píxel. En la práctica, se observa que las combinaciones de valores de píxel para ventanas en ubicaciones de ventana vecinas a menudo dan como resultado la misma selección de agrupamientos, aunque esto no define los agrupamientos. Esta forma de posfiltrado funciona bien aunque, cuando una zona de imagen tiene ubicaciones de ventana que principalmente tienen un agrupamiento 5 asignado, muchas ubicaciones de ventana en esa zona tiene diferentes agrupamientos asignados. Al final es el valor de píxel filtrado el que importa, no el agrupamiento que se usó para obtenerlo.
Además, aunque se ha usado un filtro 39 FIR a modo de ejemplo, debe apreciarse que puede usarse otro tipo de filtro en su lugar. Por ejemplo, puede usarse un filtro no lineal, o un filtro recursivo en el que la salida depende de una salida de filtro para una o más ubicaciones vecinas. Asimismo, evidentemente, puede usarse una ventana de cualquier 10 otro tamaño distinto a 3x3, por ejemplo, una ventana de un tamaño de 3x1 (tres ubicaciones de píxel horizontalmente y una verticalmente).
En los ejemplos anteriores, se usó la información que define las imágenes, tal como valores de píxel, vectores de movimiento etc. para seleccionar los agrupamientos. Además, también puede incluirse información de selección de agrupamientos explícita en la señal de imagen comprimida. Esto aumenta el tamaño de la señal, pero puede ayudar a 15 simplificar la clasificación. En una realización, tales señales de selección de agrupamiento explícitas pueden ser la única información usada por el aparato de descompresión para seleccionar los agrupamientos.
Puede usarse cualquier implementación conveniente de los componentes del posfiltro. En un ejemplo, el posfiltro usa una imagen almacenada completa en una memoria y el colector 30 de ventanas recupera los valores de píxel para la ventana a partir de la memoria. En otra realización, el colector 30 de ventanas sólo almacena en memoria 20 intermedia valores de píxel a partir de un número suficiente de líneas de imagen para proporcionar los valores de píxel para las ventanas. Las diferentes componentes pueden implementarse usando uno o más circuitos de procesamiento programables, programados con un programa para hacer que el circuito de procesamiento funcione como el componente pertinente. Puede usarse un circuito de procesamiento programable para funcionar como componentes diferentes a las componentes bajo el control de diferentes programas, o pueden usarse diferentes circuitos de 25 procesamiento. Como alternativa, pueden implementarse los componentes usando circuitos dedicados o como una mezcla de circuitos dedicados y programados.
Como puede verse, el posfiltro 26 y asociados forma parte de un aparato de descompresión completo. Sin embargo, debe apreciarse que puede implementarse en un dispositivo separado. En una realización, puede usarse un dispositivo de este tipo como interfaz entre un dispositivo móvil, tal como un teléfono móvil, y un dispositivo de 30 visualización de mayor calidad (por ejemplo, un monitor de televisión). En otra realización, el aparato de descompresión puede volver a comprimir el resultado del posfiltrado con el fin de generar un flujo de vídeo de calidad mejorada.
ESTIMACIÓN DE PARÁMETROS
La figura 5 muestra un diagrama de un estimador 16 de parámetros. El estimador 16 de parámetros comprende una unidad 40 de agrupamiento, un colector 42 de ventanas, un selector 44 de coeficientes y una interfaz 46 de salida. 35 El selector 44 de coeficientes tiene entradas acopladas a la entrada 10 de flujo y al descompresor 14, esta última a través del colector 42 de ventanas, y una entrada de control acoplada a la unidad 40 de agrupamiento.
En funcionamiento, el selector 44 de coeficientes selecciona conjuntos de coeficientes de filtro para agrupamientos respectivos. Para cada agrupamiento, puede seleccionarse un conjunto de coeficientes que minimiza una medida de diferencia promediada entre valores de píxel a partir de la entrada 10 de flujo y valores de píxel 40 obtenidos usando el conjunto de coeficientes de filtro para posfiltrar los resultados de la compresión y la descompresión por el compresor 12 y el descompresor 14. La medida de diferencia promediada se toma promediada respecto a ubicaciones de píxel que se asignan al mismo agrupamiento. Puede usarse la diferencia cuadrática media, por ejemplo, aunque puede usarse cualquiera otra medida, tal como una medida estadística de diferencia perceptiva. Las técnicas para seleccionar conjuntos de coeficientes que minimizan una medida promediada para un conjunto dado de píxeles se 45 conocen per se.
La unidad 40 de agrupamiento determina a qué agrupamientos se asignan los píxeles. Esto puede realizarse de modo que corresponda a la selección de agrupamientos en el aparato de descompresión. En una realización, la unidad 40 de agrupamiento también selecciona los agrupamientos. Puede usarse cualquier técnica de agrupamiento (con agrupamiento no sólo se quiere decir hallar de manera ciega los agrupamientos separados, sino que también 50 funcionará una clasificación respecto a agrupamientos predefinidos). Usando una pluralidad de diferentes agrupamientos, combinados con conjuntos de coeficientes de filtro que minimizaron la diferencia entre los resultados de posfiltrado y el valor de píxel original dentro de los respectivos agrupamientos, se garantiza que la medida de diferencia global (por ejemplo, una suma de diferencias cuadráticas) entre la imagen posfiltrada y la imagen original es menor que la obtenida si se usara un único conjunto de coeficientes de filtro para toda la imagen. Esto reduce la diferencia global 55 ya para agrupamientos seleccionados arbitrariamente. Sin embargo, en varias realizaciones, los agrupamientos se seleccionan para optimizar la reducción de la diferencia. La selección de agrupamientos puede realizarse antes de seleccionar los coeficientes de filtro para los agrupamientos, o en combinación con la selección de coeficientes de filtro.
El concepto general de la invención se basa en analizar qué tipo de estructura estaba presente en la imagen original, y cómo la versión comprimida podría mejorarse en el lado de decodificador (por ejemplo, normalmente parecerse más al original; o, en general, con una mayor calidad de imagen, por ejemplo, nitidez) aplicando un filtro particular de un conjunto de filtros de imagen optimizados/enfocados, añadiéndose los coeficientes/parámetros de dichos filtros a la señal. Sólo es necesario transmitir datos adicionales limitados para especificar esos filtros; y, por 5 ejemplo, un par de ubicaciones de imagen en las que se aplican algunos de ellos.
Muchas variantes de estos conceptos de la invención son posibles y algunos se describen a continuación, tales variantes pueden mejorar los esquemas de codificación existentes tales como H265.
En general, podría clasificarse simplemente todas las estructuras que se producen en varias clases (por ejemplo, borde, textura horizontal de alta frecuencia, ...), aunque dentro del concepto más amplio de la invención podría 10 realizarse la clasificación de un modo paramétrico más estructurado/jerárquico, que incluye una estructuración jerárquica, por ejemplo, averiguando en primer lugar qué tipo de clasificación se adecua más y a continuación realizando la clasificación, o también reclasificar o clasificar de manera diferente, por ejemplo, la selección de agrupamientos y los parámetros de filtro o posprocesamiento correspondientes puede realizarse de manera iterativa.
En una primera etapa pueden definirse los agrupamientos, seguidos de la definición de los parámetros de 15 posprocesamiento asociados con los agrupamientos.
Este esquema generalmente proporcionará un buen resultado, pero dentro del marco de la invención pueden aplicarse procesos iterativos. Por ejemplo, hallar un agrupamiento tentativo, hallar los conjuntos de parámetros de filtro para los agrupamientos tentativos, refinar el agrupamiento para hallar agrupamientos más adecuados, refinar los conjuntos de parámetros de filtro, etc.; 20
Algunos posibles procesos iterativos son, por ejemplo:
- inicialmente se da a todos los elementos dentro de un agrupamiento el mismo peso para la determinación de los parámetros de posprocesamiento. Una vez determinados los conjuntos de parámetros iniciales y los centros de agrupamiento correspondientes, proporcionando un resultado inicial para una diferencia promedio entre los valores de píxel originales y los valores de píxel tras el posprocesamiento, se atribuyen pesos variables a cada elemento dentro de 25 un agrupamiento, por ejemplo, de manera predeterminada aunque ajustable dependiente de una medida de distancia al centro del agrupamiento. Usando tales pesos, se recalculan los coeficientes de filtro; si el resultado mejora, el proceso se reitera hasta que no se obtenga una ganancia adicional o el aumento en la ganancia caiga por debajo de un umbral. Una realización sencilla de este esquema sería eliminar puntos „anómalos‟ dentro de un agrupamiento del cálculo para el agrupamiento o los parámetros de posprocesamiento, es decir, poner los pesos para tales elementos a cero. 30
- en el que, en la realización anterior los elementos de agrupamientos permanecen igual, pero su impacto en el cálculo de coeficientes se altera, un esquema alternativo sería mantener iguales los coeficientes de filtro determinados así como los centros de agrupamiento, pero desplazar elementos de un agrupamiento a otro, desplazando de ese modo los límites entre los agrupamientos, y recalcular la diferencia entre los valores de píxel originales y los valores de píxel tras el posprocesamiento. Si hay una mejora, los límites se desplazan algo más. 35
- la manera en la que los centros de agrupamiento y los agrupamientos se definen depende del algoritmo de agrupamiento. Como se explicó anteriormente así como a continuación, existen diversos algoritmos de agrupamiento posibles, que difieren en sus bases de agrupamiento (en valores de píxel, en vectores de movimiento, en borde, en textura, etc.) así como el modo en que se determina el agrupamiento (minimización de la suma de valores absolutos, o minimización de la suma de cuadrados). Otra realización es usar un algoritmo de agrupamiento que combine diversos 40 criterios, tales como valores de píxel y vectores de movimiento y/o aún otros criterios y usar una mezcla de tales criterios, en el que en un proceso iterativo se halle la mezcla óptima de criterios y los conjuntos de parámetros correspondientes.
Dentro del marco de la invención también se incluyen variantes sobre cómo hallar rápidamente los filtros óptimos en el lado de codificación, por ejemplo, haciendo un seguimiento a través de un espacio de coeficientes, 45 análisis espectral de Pentrada/Pcomprimidos.
En una realización, la unidad 40 de agrupamiento aplica una técnica de agrupamiento, identifica combinaciones representativas de valores de píxel que definen una división del espacio de posibles combinaciones en partes a la distancia más corta respecto a combinaciones representativas respectivas. Las combinaciones representativas se seleccionan basándose en un criterio de calidad de agrupamiento predeterminada. El criterio de calidad de 50 agrupamiento puede ser, por ejemplo, que el número de combinaciones observadas realmente en cada división sea el mismo dentro de algunos márgenes de error predeterminados, o que una medida de ensanchamiento (por ejemplo, una suma de distancias al cuadrado a un valor de píxel central) de las combinaciones observadas realmente dentro de cada división esté por debajo de un umbral. Por ejemplo, puede usarse un algoritmo de agrupamiento k-medias para agrupar combinaciones de valores de píxel descomprimidos que se producen en las ventanas. Usando tales agrupamientos, se 55 garantiza que cada conjunto de coeficientes de filtro se aplica a ventanas con contenido similar. Esto minimiza el error tras el posfiltrado.
En una realización adicional, se usa un procedimiento de agrupamiento que usa un criterio de calidad basado en el error residual tras el posfiltrado. En un ejemplo de una realización de este tipo, se realiza una definición inicial de los agrupamientos, se seleccionan conjuntos de coeficientes de filtro para cada agrupamiento y se computa el tamaño de los errores residuales para diferentes posiciones de píxel. Si el tamaño promedio para un agrupamiento está por encima de un umbral, el agrupamiento se divide, adoptando dos combinaciones observadas realmente a partir del 5 agrupamiento original como nuevas combinaciones representativas. De manera similar, los agrupamientos pueden fusionarse si el tamaño promedio de los errores en agrupamientos vecinos está por debajo de un umbral y/o la diferencia entre el conjunto de coeficientes de filtro para estos agrupamientos está por debajo de un umbral. Repitiendo este procedimiento varias veces puede optimizarse el conjunto de agrupamientos. Este es un ejemplo adicional de un proceso iterativo. 10
La interfaz 46 de salida tiene entradas acopladas a la unidad 40 de agrupamiento y el selector 44 de coeficientes. La interfaz 46 de salida suministra información que representa los agrupamientos y los coeficientes de filtro al multiplexor 18 de flujo para su suministro al aparato de descompresión, en el que será usada por el posfiltro 26.
En una realización, en la que se comprime un flujo de imágenes de vídeo, se seleccionan agrupamientos y coeficientes para cada imagen en el flujo. Sin embargo, esto no es necesario. Los agrupamientos y coeficientes 15 normalmente dependen de la escena. Cuando las escenas (o escenas similares) aparecen en una serie de imágenes, pueden usarse los mismos agrupamientos y coeficientes para todas estas imágenes. En otra realización, el estimador 16 de parámetros está configurado para detectar grupos de imágenes en los que pueden usarse los mismos agrupamientos y coeficientes y sólo señaliza cuando se cambian los agrupamientos y los coeficientes. En este caso, el posfiltro 26 retiene una definición de agrupamiento y un conjunto de coeficientes de filtro recibidos anteriormente y los 20 aplica a imágenes descomprimidas de posfiltro hasta que se señaliza que los agrupamientos y coeficientes se han cambiado.
En esta realización, el estimador 16 de parámetros puede computar el tamaño de los errores residuales tras el posfiltrado usando un conjunto actual para cada imagen entrante y conmuta a computación de un nuevo conjunto de agrupamientos y coeficientes sólo si el tamaño supera un umbral (y opcionalmente también tras un número de imágenes 25 predeterminado desde el último nuevo conjunto de agrupamientos y coeficientes). En otra realización, el estimador 16 de parámetros puede seleccionar en primer lugar secciones del flujo de vídeo, y computar un conjunto de agrupamientos y coeficientes para cada sección. En este caso, el estimador 16 de parámetros puede seleccionar los agrupamientos y coeficientes procesando sólo una de las imágenes en la sección o un subconjunto de las imágenes en la sección. 30
Como alternativa, los grupos pueden detectarse evaluando las características de imagen según funciones predeterminadas y asignando imágenes a un mismo grupo si las características de imagen difieren menos que un umbral predeterminado. Las características de imagen de cada imagen recién recibida pueden recibirse y compararse con las de una imagen para la que se ha usado el conjunto actual de agrupamientos y coeficientes, manteniéndose igual el conjunto de agrupamientos y coeficientes si las características de imagen difieren menos que un umbral. 35
En una realización, pueden usarse diferentes conjuntos de agrupamientos y coeficientes para imágenes comprimidas de manera diferente y/o diferentes planos de objeto. Por tanto, por ejemplo, puede definirse un primer conjunto de agrupamientos y coeficientes para imágenes intracodificadas (cuadros I en el caso de MPEG) y puede definirse un segundo conjunto de agrupamientos y coeficientes para imágenes codificadas por medio de predicción a partir de imágenes cercanas y residuos opcionales (cuadros P y cuadro B en el caso de MPEG). Como otro ejemplo, si 40 se define contenido de imagen en el flujo de vídeo para una pluralidad de planos que pueden superponerse para formar una imagen de salida, pueden usarse diferentes conjuntos de agrupamientos y coeficientes para diferentes planos.
En una realización, el conjunto de agrupamientos puede ser el mismo para estas imágenes o planos, aunque pueden usarse diferentes coeficientes, cada uno seleccionado para reducir errores en un tipo de cuadro diferente. En esta realización, el posfiltro 26 almacena una pluralidad de definiciones de agrupamientos y/o coeficientes de manera 45 contemporánea y selecciona a partir de esta pluralidad dependiendo del plano y/o tipo de codificación (I, B o P). De manera similar, el estimador 16 de parámetros selecciona los agrupamientos y coeficientes basándose en el plano y/o tipo de codificación.
En una realización, el aparato de descompresión está configurado para almacenar una pluralidad de conjuntos de agrupamientos y/o coeficientes de manera concurrente, por ejemplo, en la memoria 34 de definición de 50 agrupamientos, y la memoria 36 de coeficientes en el posfiltro 26. El aparato de descompresión selecciona un conjunto actual a partir de la pluralidad de conjuntos almacenados dependiendo de una señal de selección de conjuntos, para su uso para posfiltrar una imagen actual. Puede proporcionarse la señal de selección de conjuntos a partir del demultiplexor 22 de flujo basándose en una señal de selección proporcionada desde el aparato de compresión o basándose en el tipo de imagen y/o plano. 55
En una realización adicional, el aparato de compresión está configurado para almacenar una pluralidad de conjuntos de agrupamientos y/o coeficientes correspondientes. Cuando se recibe una nueva imagen (o plano de objeto), el estimador de parámetros prueba en primer lugar si puede asignarse a uno de los conjuntos de agrupamientos y/o coeficientes almacenados. Esto puede realizarse, por ejemplo, comprimiendo la nueva imagen, descomprimiéndola, y
posfiltrándola según cada uno de los conjuntos de agrupamientos y coeficientes almacenados y comparando los resultados con la nueva imagen original, seleccionándose el conjunto de agrupamientos y coeficientes que lleva a la menor diferencia. Si esta diferencia está por debajo de un umbral predeterminado, el aparato de compresión señaliza al aparato de descompresión que debe usarse el conjunto de agrupamientos y/o coeficientes seleccionado. Sin embargo, alternativamente, la selección de un conjunto de agrupamientos y/o coeficientes puede realizarse clasificando la nueva 5 imagen según algunas características de imagen predeterminadas y seleccionando un conjunto de agrupamientos y/o coeficientes que está asociado con la clase seleccionada de la imagen.
Cuando la diferencia entre la nueva imagen y el resultado de compresión, la descompresión y posfiltrado posteriores con el conjunto de agrupamientos y/o coeficientes seleccionado supera el umbral, se estima un nuevo conjunto de agrupamientos y/o coeficientes y se transmite al aparato de descompresión, para sustituir un conjunto de 10 agrupamientos y/o coeficientes previo en la memoria, seleccionándose el conjunto previo según el mismo criterio en el aparato de compresión y el aparato de descompresión, por ejemplo, identificando explícitamente este conjunto previo en una señal desde el aparato de compresión hasta el aparato de descompresión, usando el conjunto usado menos recientemente, o el conjunto más similar, etc.
Aunque se ha descrito un ejemplo en el que se controla un posfiltro tras la descompresión usando información 15 indicada por el aparato de compresión, debe entenderse que pueden usarse también otras formas de posprocesamiento.
La figura 6 muestra un ejemplo de un circuito de posprocesamiento que puede usarse en lugar del posfiltro 26. En este circuito de posprocesamiento se han añadido un generador 50 de señales (pseudo)aleatorias y un sumador 52. El generador 50 de señales aleatorias genera una señal (pseudo)aleatoria bajo el control de uno o más coeficientes de 20 la memoria 36 de coeficientes. El sumador 52 añade estos coeficientes a la señal descomprimida. El generador 50 de señales aleatorias puede estar configurado para controlar un promedio y/o una desviación estándar de la señal aleatoria y/o correlación espacial y/o una envolvente espectral y/u otras propiedades estadísticas de la señal aleatoria generada en función del coeficiente o coeficientes. De este modo, puede añadirse textura generada localmente a la señal descomprimida. El coeficiente o coeficientes pertinente(s) se estiman en el estimador de parámetros del aparato de 25 compresión a partir de estadísticas de una diferencia entre la imagen original y la imagen descomprimida-comprimida. El coeficiente o coeficientes pertinente(s) estimado(s) se transmiten desde el aparato de codificación al aparato de decodificación. Por tanto, en lugar de datos que representan valores de píxel reales, se transmiten coeficientes que representan propiedades estadísticas.
Debe resaltarse que esto es sólo un ejemplo de generación de textura. En lugar del generador 50 de señales 30 (pseudo)aleatorias, pueden usarse otros tipos de generador de señales para añadir, o incluso sustituir parcialmente, señales generadas localmente respecto a la imagen descomprimida, generándose las señales generadas localmente bajo el control de coeficientes señalizados por el aparato de descompresión. Por ejemplo, el generador aleatorio puede usar los coeficientes para controlar un conjunto de valores a partir del cual realiza selecciones aleatorias para generar valores de píxel, o para controlar patrones de textura básicos a partir de los cuales mapea de manera aleatoria píxeles 35 en la señal de salida. Para proporcionar más libertad de generación de textura, la generación de textura puede combinarse con una realización en la que el conjunto de coeficientes se selecciona por medio de valores de señal descomprimida para combinaciones de valores de píxel promedio para bloques respectivos de un conjunto de bloques de ubicaciones de píxel (por ejemplo, para una ventana de 3x3 de tales bloques, usando por ejemplo, bloques de 8x8 píxeles), o valores submuestreados para ubicaciones de píxel no adyacentes. 40
En una realización adicional se usa una combinación de generación de textura y filtrado, con coeficientes seleccionados bajo el control del agrupamiento detectado. En otra realización, se usa sólo posfiltrado o sólo generación de textura, dependiendo del agrupamiento.
En las realizaciones descritas hasta ahora se aplica posprocesamiento tal como posfiltrado a la imagen final que resulta de la descompresión. Esto tiene la ventaja de que puede usarse cualquier forma de compresión y 45 descompresión. Sin embargo, debe apreciarse que puede aplicarse alternativamente posprocesamiento a resultados intermedios de descompresión. Por ejemplo, cuando se usa una DCT (transformada de coseno discreta) inversa de coeficientes de frecuencia descomprimidos como parte de la descompresión, también puede aplicarse posprocesamiento a los coeficientes de frecuencia, por ejemplo, multiplicando los coeficientes para diferentes frecuencias con diferentes factores. De manera similar puede añadirse información de textura a tales coeficientes. 50
El estimador de parámetros y el posfiltro pueden combinarse con diversos tipos de compresor y descompresor. En una realización el compresor es un compresor de cuantificación, por ejemplo, un compresor que computa coeficientes de DCT (transformada de coseno discreta) para un bloque de píxeles y cuantifica estos coeficientes, o un compresor que cuantifica valores de píxel. En otra realización, el compresor puede ser un compresor que reduce la resolución espacial de la imagen. De manera correspondiente, los descompresores pueden aplicar cuantificación 55 inversa o interpolación para reconstruir imágenes descomprimidas.
La figura 7 muestra una aplicación a la compresión que comprende ajuste a escala de resolución y cuantificación. En el presente documento, los conjuntos de coeficientes de filtro se usan para reducir los artefactos de ambas formas de compresión. La figura muestra un aparato 66 de compresión y un aparato 68 de descompresión. En el
aparato 66 de compresión, el compresor 12 comprende un dispositivo 60 de ajuste a escala de resolución y un compresor 61 de cuantificación en serie. En una realización, el compresor 61 de cuantificación computa coeficientes de DCT (transformada de coseno discreta) para bloques de píxeles y cuantifica estos coeficientes. El dispositivo 60 de ajuste a escala de resolución, puede comprender un filtro antialiasing y una unidad de submuestreo. El descompresor comprende un descompresor 63 de cuantificación inversa y un dispositivo 62 de ajuste a escala de resolución inversa 5 en serie. En el aparato 68 de descompresión el descompresor comprende un descompresor 65 de cuantificación inversa y un dispositivo 64 de ajuste a escala de resolución inversa en serie delante del posfiltro 26.
En funcionamiento el dispositivo 60 de ajuste a escala de resolución, que puede comprender un filtro antialiasing y una unidad de submuestreo, reduce la resolución con la que se representan las imágenes recibidas, antes de comprimir las imágenes. El dispositivo 62 de ajuste a escala de resolución inversa reconstruye imágenes de la 10 resolución original, o al menos una mayor resolución que las imágenes de resolución reducida comprimidas y sucesivamente descomprimidas.
El estimador 16 de parámetros selecciona conjuntos de coeficientes de filtro y opcionalmente agrupamientos para una operación de posfiltro que, cuando se aplica a las imágenes reconstruidas, hará que estas imágenes correspondan más estrechamente a las imágenes correspondientes a las imágenes de entrada originales. 15
En el aparato 68 de descompresión, las imágenes se descomprimen y posteriormente se amplía a escala la resolución. Se posfiltran las imágenes ampliadas a escala usando los conjuntos de coeficientes de filtro seleccionados. Aunque el posfiltro 26 y el dispositivo 64 de ajuste a escala de resolución inversa se han mostrado como unidades separadas, debe apreciarse que pueden integrarse, definiendo los coeficientes de filtro cómo deben interpolarse los valores de píxel durante la ampliación a escala. 20
Aunque en la realización ilustrada, se selecciona el agrupamiento aplicable bajo el control de valores de píxel de la imagen ampliada a escala, debe entenderse que alternativamente pueden seleccionarse los agrupamientos basándose en valores de píxel de la imagen de resolución reducida descomprimida, es decir, la imagen procedente de un descompresor 65 de cuantificación inversa. En una realización esto se hace tanto en el aparato 66 de compresión como en el aparato 68 de descompresión. 25
En una realización, el compresor 61 de cuantificación y el descompresor 63 de cuantificación inversa pueden omitirse de modo que la reducción de la resolución es la única forma de compresión. En este caso se usa el posfiltro 26 sólo para reducir los artefactos debidos a la reducción de la resolución y la posterior reconstrucción de una imagen de mayor resolución. En la figura 7, se usa el posfiltro 26 para reducir tanto artefactos debidos a la reducción de la resolución como a la cuantificación. 30
Además, tal como se muestra en la figura 8, como realización alternativa pueden usarse posfiltros 39a, 39b separados en serie como subfiltros en el aparato 68 de descompresión para la corrección de artefactos debidos a la compresión por el compresor 12 y artefactos debidos a la reducción de la resolución por el dispositivo 60 de ajuste a escala de resolución. En esta realización pueden proporcionarse conjuntos de coeficientes de filtro separados para estas diferentes operaciones de posfiltro. Esto tiene la ventaja que los diferentes conjuntos pueden optimizarse para 35 diferentes funciones. En una realización, pueden definirse diferentes conjuntos de agrupamientos para diferentes posfiltros 39a,b, y pueden proporcionarse coeficientes de posfiltro para los posfiltros, para los agrupamientos definidos para ese posfiltro 39a,b. Por tanto, en efecto, los agrupamientos para la combinación del primer y el segundo posfiltro 39a, 39b definen subagrupamientos de los agrupamientos para posfiltros individuales. Diferentes subagrupamientos en el subagrupamiento comparten el mismo conjunto de coeficientes de filtro. Alternativamente, los subagrupamientos 40 pueden determinarse en primer lugar y luego unirse posteriormente en superagrupamientos para un posfiltro seleccionado, compartiendo los subagrupamientos en cada superagrupamiento un conjunto de coeficientes de filtro para el posfiltro seleccionado. En este caso, no es necesario transmitir ningún conjunto de coeficientes de filtro separado para diferente subagrupamientos, lo que ahorra ancho de banda de transmisión.
La figura 9 muestra una realización adicional de un aparato de compresión para generar una pluralidad de 45 conjuntos de este tipo. En esta realización, se han añadido el aparato de compresión, un estimador 16a de parámetros adicional y un posfiltro 600. El posfiltro 600 está acoplado entre el descompresor 63 de cuantificación inversa y el dispositivo 64 de ajuste a escala de resolución inversa. El estimador 16a de parámetros adicional tiene entradas acopladas a la salida del dispositivo 60 de ajuste a escala de resolución y la salida de un descompresor 63 de cuantificación inversa y una salida acoplada a una entrada de control del posfiltro 600 y el multiplexor 18. 50
En esta realización, el estimador 16a de parámetros adicional sirve para proporcionar conjuntos de parámetros de control para reducir los artefactos debidos a la compresión, mientras que el estimador 16 de parámetros sirve para proporcionar conjuntos de parámetros de control para reducir los artefactos restantes, debidos principalmente a la reducción de la resolución y a la ampliación a escala. El estimador 16a de parámetros adicional selecciona conjuntos de parámetros de control de una operación de posfiltro que reduce la diferencia entre la imagen antes de la compresión 55 mediante el compresor 61 de cuantificación y tras el descompresor 63 de cuantificación inversa. El posfiltro 600 aplica una operación de posfiltro seleccionada por estos conjuntos de parámetros de control a la imagen descomprimida antes de pasar la imagen al dispositivo 62 de ajuste a escala de resolución inversa. El multiplexor 18 añade estos conjuntos de parámetros de control al flujo, para su uso por los posfiltros del aparato de descompresión.
Puede observarse que esa parte de la figura 9 excluyendo el dispositivo 60 de ajuste a escala de resolución, el posfiltro 600, el dispositivo 62 de ajuste a escala de resolución inversa y el estimador 16 de parámetros es esencialmente idéntica al aparato de compresión de la figura 1, con la entrada del descompresor 14 formando la entrada de imagen. Tal como se muestra, la realización de la figura 9 añade una capa de compresión adicional, con la correspondiente estimación de parámetros tras la descompresión. Tal como se apreciará, en cada caso se usa un 5 estimador de parámetros para derivar conjuntos de parámetros de control comparando una imagen antes de una operación de procesamiento compresivo y tras una operación de procesamiento compresivo que es la inversa de esta operación de procesamiento compresivo. Se seleccionan conjuntos de parámetros de control para diferentes agrupamientos de configuraciones de imagen locales.
Tal como se muestra en la figura 9, cuando se aplican sucesivas operaciones compresivas, la estimación de 10 parámetros puede aplicarse una pluralidad de veces, cada una para una operación compresiva respectiva. Aunque se ha mostrado un ejemplo en el que las operaciones compresivas son decimación y cuantificación, pero pueden usarse otras operaciones compresivas. En una realización, la operación compresiva, o una de las operaciones compresivas para las que se usa posfiltrado y estimación de parámetros puede ser compresión predictiva, en la que se aplica posfiltrado a una imagen representada por medio de referencias, tales como vectores de movimiento, relativas a una 15 imagen de referencia, o una pluralidad de imágenes de referencia.
La selección de los agrupamientos puede realizarse por separado mediante diferentes estimadores de parámetros. En este caso, la información de definición de agrupamiento estará incluida en el flujo para todos los conjuntos de parámetros de control. Esto hace posible optimizar la selección de agrupamientos, aunque sea a expensas del uso de un aumento de ancho de banda para el flujo. En una realización alternativa, los estimadores de parámetros 20 comparten la misma selección de agrupamientos. En esta realización, basta con incluir información de definición de agrupamiento compartida para una pluralidad de conjuntos de parámetros de control para aplicar sucesivamente operaciones de posfiltro. Esto reduce el uso de ancho de banda.
La figura 10 muestra una aplicación a compresión predictiva, en la que se aplica posfiltrado a una imagen de referencia. En el presente documento se usan imágenes intracodificadas descomprimidas posfiltradas como referencia 25 para la compresión y descompresión predictiva. La figura muestra un aparato de compresión y un aparato de descompresión que contiene, cada uno, una memoria 72, 74 para una imagen de referencia. El aparato de compresión comprende un posfiltro 70 acoplado entre una salida de compresor 14 y la memoria 72. La memoria 72 del aparato de compresión está acoplada a una entrada del compresor 12. La salida del estimador 16 de parámetros está acoplada a una entrada de control del posfiltro 70, cuya función es similar a la del posfiltro 26 del aparato de descompresión. En 30 funcionamiento, la memoria 72 almacena imágenes seleccionadas que se obtienen mediante el posfiltrado según los conjuntos de coeficientes de filtro y el compresor 12 usa las imágenes almacenadas para codificar otras imágenes en términos de vectores de movimiento e información residual opcional relativa a las imágenes almacenadas.
De manera similar, la memoria 74 del aparato de descompresión está acoplada en un bucle de realimentación de una salida del posfiltro 26 y una entrada del descompresor 24. En funcionamiento, la memoria 74 almacena 35 imágenes posfiltradas seleccionadas y el descompresor 24 usa las imágenes almacenadas para decodificar otras imágenes que están codificadas en términos de vectores de movimiento e información residual opcional relativa a las imágenes almacenadas. De este modo, se proporciona una imagen de referencia mejorada para su uso en compresión y descompresión predictiva. En la compresión y descompresión predictiva, puede predecirse una imagen prevista usando sólo una imagen de referencia, pero alternativamente puede usarse una predicción de una pluralidad imágenes 40 de referencia.
El procedimiento y los aparatos descritos en el presente documento hacen posible reducir los artefactos de compresión mediante posprocesamiento tras una descompresión al menos parcial, usando coeficientes de posprocesamiento definidos por el aparato de compresión. La calidad de posprocesamiento se mejora usando diferentes conjuntos de coeficientes en diferentes posiciones en la imagen, seleccionados bajo el control del contenido 45 de la imagen descomprimida. Son posibles numerosas aplicaciones que vinculan imágenes de baja y alta calidad, por ejemplo, tomando una imagen con un teléfono móvil con una cámara buena incluida, pero almacenándola con menor calidad + información complementaria, y a continuación enviarla a un amigo que la verá en su televisión (de alta definición) u ordenador personal.
Pueden usarse diferentes conjuntos de filtro óptimos para diferentes subgrupos de imágenes. Por ejemplo, 50 puede ser necesario filtrar las imágenes B de diferente manera que las imágenes I y P. En este caso, la señal tendrá normalmente información adicional para agrupar las clases y parámetros de filtrado correspondientes, por ejemplo, (el formato real se deja sin concretar puesto que los filtros pueden especificarse de numerosas formas, por ejemplo, una descripción algorítmica que contiene procedimientos para realizar en la zona filtrada subyacente) con etiquetas como: imagen B: agrupamiento 1: coeficiente 1, coeficiente 2, ...; agrupamiento 2: coeficiente 3, coeficiente 4, ...; agrupamiento 55 X; imagen I: agrupamiento Y:...
Otros ejemplos de agrupamientos estructurados pueden realizarse en parámetros de compresión, por ejemplo diferentes conjuntos para alta y baja cuantificación, o alto y bajo movimiento, etc.
Anteriormente se ha descrito la selección de agrupamientos mediante diversos criterios de selección entre los
que están los valores de píxel, vectores de movimiento y tanto los valores de píxel como los vectores de movimiento. La invención no se limita a tales criterios de selección/clasificación a modo de ejemplo.
Por ejemplo, aún otros criterios de clasificación para el filtrado adaptativo pueden conducir a un coste de computación significativamente reducido para el proceso de decodificación, con una calidad visual incluso mejorada. También reduce el coste de computación en la codificación y ofrece un rendimiento más estable para la clasificación. 5 Tal filtrado se basa en el entendimiento de que la mejora en la calidad de las secuencias posprocesadas se concentra principalmente en las zonas con cambios de gradiente.
En una realización preferida, el valor de gradiente horizontal y/o el valor de gradiente vertical se computan y se usan éstos en el proceso de selección. El selector está configurado para clasificar la información de imagen relativa a la posición clasificando basándose en el valor de gradiente horizontal y/o el valor de gradiente vertical. 10
Por ejemplo, cuando se derivan los agrupamientos adaptativos de escena en el lado de codificador, en vez de usar directamente la ventana de abertura normalizada (por ejemplo 5x5) como el patrón básico para la estadística de agrupamientos, el valor de gradiente horizontal ex y el valor de gradiente vertical ey se calculan mediante la convolución de cada ventana con dos filtros de borde Sobel (horizontal y vertical) definidos de la manera siguiente:
-1 -2 1 -1 0 1 15
0 0 0 y -2 0 2
1 2 1 -1 0 1
Como resultado, cada abertura se representa mediante un vector característico {ex, ey}. El algoritmo de agrupamiento, por ejemplo, k-medias se realiza entonces con estos agrupamientos. La figura 11 muestra dos resultados de agrupamiento típicos para las dos secuencias. Las cruces indican los centros de agrupamiento. Los puntos muestran 20 los resultados para un gran número de puntos.
Una ventaja adicional, tal como se ha descubierto, es que los centros de agrupamiento son bastante constantes para diferentes secuencias. Por tanto, es posible definir varios perfiles de agrupamientos independientes de las secuencias. Por ejemplo, en la figura 12, se muestran definiciones a modo de ejemplo del perfil de 5 agrupamientos y perfiles de 21 agrupamientos. La definición de estos perfiles se obtiene promediando los resultados de 25 autoagrupamiento de varias secuencias. Se descubrió en estas representaciones gráficas bidimensionales que los centros de agrupamiento derivados mediante k-medias para diversas secuencias comparten en realidad distribuciones muy similares tal como se representa en la figura 12. Las cruces indican la posición de los centros de agrupamiento. Esto permite predefinir los centros de agrupamiento.
Puesto que los perfiles de agrupamientos pueden predefinirse y por tanto normalizarse, ya no hay necesidad 30 de transmitir la posición de los centros de agrupamiento a lo largo de los flujos. Por tanto, sólo se transmiten los filtros adaptativos de escena (o más en general, los conjuntos de parámetros de control) como, por ejemplo, información complementaria a lo largo del flujo. Obsérvese que todavía es necesario generar dinámicamente los conjuntos de parámetros de control, tales como los parámetros de los filtros, para cada agrupamiento durante la codificación para reflejar diferentes características de vídeos de diferencia (con diversas características de escena, ajustes de 35 codificación, etc.).
Aplicando el esquema anterior, los ahorros en el decodificador son obvios: la selección de los agrupamientos correctos se simplifica mucho suponiendo sólo distancias características bidimensionales (en vez de distancias características de 5x5=25 dimensiones). Además, en la realización preferida que usa perfiles de agrupamientos predefinidos, la clasificación puede implementarse, por ejemplo, una tabla de consulta bidimensional predefinida T 40
T(ex, ey) = etiqueta de clase
donde (ex, ey) son los valores de gradiente en el píxel (x,y) y T(ex,ey) proporciona directamente su etiqueta de clase asociada para un perfil dado. Por tanto, en el lado de decodificador, el coste de computación para la selección de agrupamiento es casi insignificante.
Otra ventaja son los resultados de clasificación más estables. Resulta que las características de gradiente 45 proporcionan una clasificación más estable visualmente de patrones locales que la abertura de luminancia original, lo que conduce a secuencias posprocesadas más atractivas visualmente.
Cuando se aplican los perfiles basados en gradiente predefinidos, el coste de bits adicional para la información complementaria se reduce a la mitad, puesto que no es necesario transmitir información central de agrupamiento. El coste de computación en el lado de codificador también se reduce debido a que no se calcula autoagrupamiento y sólo 50 se realiza la optimización MSE.
En el lado de decodificador, la selección de los filtros correctos lleva la mayor parte del tiempo de computación. Supóngase que se usan N agrupamientos, entonces la selección del filtro lleva N veces el coste de computación del
propio filtrado. Aplicando un esquema basado en gradiente, la selección de filtros sólo implica la convolución de Sobel y la tabla de consulta para el agrupamiento correcto. El procedimiento de selección lleva normalmente menos de 1/6 del tiempo de computación del proceso de filtrado. Esto hace posible una implementación en tiempo real para el posfiltrado en el lado de decodificador.
La calidad visual aplicando un procedimiento de selección basado en gradiente es incluso mejor que los 5 procedimientos basados en valor de píxel hasta en 0,5~0,7 dB. Un ejemplo se muestra en la figura 13 en la que se presentan los ejemplos obtenidos de una denominada secuencia de Shields. La calidad visual mejorada puede explicarse mediante el hecho de que información de gradiente es una representación mejor que la luminancia sin procesar y la similitud en las coordenadas de gradiente X-Y es más adecuada para determinar las clases que la métrica MSE en el espacio de luminancia de MxM dimensiones. 10
También puede realizarse un agrupamiento sencillo alternativo o adicional basándose en la textura. La textura a menudo es fácil de detectar con un pequeño número de parámetros, por ejemplo
1. desviación estándar, que caracteriza con qué intensidad varía la luminancia
2. gradiente acumulativo de ejecución que es una posible medida de con qué frecuencia aumenta y disminuye el patrón y 15
3. color promedio.
Mientras que en el tipo de selección de gradiente se define un número de centros de agrupamiento en un espacio bidimensional (véanse las figuras 11 y 12) pueden definirse agrupamientos de textura mediante puntos de centro de agrupamiento en un espacio tridimensional, siendo los tres ejes, por ejemplo, la desviación estándar, el gradiente acumulativo de ejecución y el color promedio. Un punto puede corresponder, por ejemplo, a un cielo azul 20 (desviación estándar pequeña, gradiente acumulativo pequeño, color promedio azul. Otro punto puede corresponder a hierba.
Aún en una realización adicional del procedimiento y el dispositivo según la invención, la selección se realiza en una estructura jerárquica.
Antes del propio procedimiento de clasificación se realiza una primera clasificación aproximada de la forma 25 más adecuada para la selección, por ejemplo, si la clasificación va a tener lugar con valores de luminancia, vectores de movimiento, gradientes, textura o cualquier combinación de tales criterios. Una vez que se ha tomado la primera decisión jerárquica, se realiza el procedimiento de selección.
La decisión jerárquica puede tomarse para cualquier parte del archivo, para una imagen, para una parte de una imagen, una secuencia de imágenes. Además, el criterio de selección puede depender del tipo de datos de imagen, por 30 ejemplo depender del tipo de cuadro.
La figura 14 muestra esquemáticamente una estructura jerárquica en la que se eligen diversos procedimientos de selección posibles.
Los datos entrantes de una imagen o parte de una imagen se someten en primer lugar en la etapa 110 a un filtro de borde en el preselector 110. En esta preselección se realiza una determinación de si el patrón tiene 35 principalmente un carácter de borde o es principalmente textura.
Si el análisis muestra que la imagen o parte de una imagen tiene principalmente un carácter de borde, los datos se transmiten a un selector 111 final en el que se realiza una selección de agrupamiento y determinación de los conjuntos de parámetros de control para los agrupamientos basándose en el gradiente ex, ey, véanse las figuras 11 y 12. Si el análisis muestra que el patrón es principalmente textura, los datos se transmiten a un selector 112 final en el 40 que se realiza una selección de agrupamiento y determinación de los conjuntos de parámetros de control para los agrupamientos basándose en parámetros de textura.
Las figuras 15a a 15c ilustran aún otra realización de la invención.
En muchas técnicas de compresión, la compresión se basa en bloque. Con la descompresión, pueden producirse errores de borde de bloque, es decir, los bordes de los bloques pueden ser visibles. La división y el 45 procesamiento basado en bloque de la imagen conducen a errores conocidos como artefactos de bloqueo. Estos artefactos de bloqueo degradan la calidad de imagen percibida, especialmente a bajas tasas de bits. El uso de un filtro de desbloqueo reduce tales errores de bloqueo. Se conoce de la norma H.264 la aplicación de un filtro de desbloqueo en el decodificador en la que en el extremo de decodificador se realiza una clasificación basándose en condiciones de borde. La clasificación se usa para elegir un filtro a partir de varios filtros de bloqueo prefijados convencionales posibles. 50 Los propios filtros diferentes se fijan y la selección de los filtros en el lado de decodificador puede realizarse sin ninguna información complementaria procedente del codificador.
La figura 15a ilustra una realización de la invención. En el extremo de codificador una señal 150 de entrada se
comprime en el compresor 152 para proporcionar una señal 151 comprimida. La señal comprimida se descomprime en el descompresor 154. Tras la descompresión, se forman C agrupamientos dependiendo de características tales como la posición en el bloque, tamaño de escalón de borde y los modos de codificación de bloques vecinos. Para cada uno de los agrupamientos, se identifican filtros adaptativos con parámetros de filtro adaptativo F(C) que dependen de la posición dentro de un bloque y se usan filtros adaptativos con parámetros de filtro F(C). La salida de los filtros de 5 desbloqueo se alimenta a un comparador 154 que compara la imagen comprimida-descomprimida-filtrada con la imagen original. El comparador proporciona una señal de error E. La clasificación (C) y los parámetros de filtro F(C) para las diversas clases se adaptan para minimizar el error E. El filtro de desbloqueo puede usarse en el bucle y fuera del bucle, la figura 15A muestra un ejemplo de uso del filtro fuera del bucle, es decir, tras la descompresión completa. El filtro de desbloqueo también puede usarse en el bucle. 10
Las figuras 15b y 15c ilustran la invención en el extremo de decodificador.
VLD significa decodificador de longitud variable, IQ cuantificación inversa, IDCT DCT inversa, DF filtro de desbloqueo y MC quiere decir compensación de movimiento. El funcionamiento del filtro está regido por los datos C (clasificación) y F(C), es decir, los conjuntos de parámetros de filtro para las diferentes clases. En la figura 15b, el circuito de procesamiento se dispone para aplicar el filtro de desbloqueo DF fuera del bucle, en la figura 15c el filtro de 15 desbloqueo DF se aplica en el bucle.
Una forma sencilla de esta realización usa los mismos criterios de selección de los filtros que el filtro de desbloqueo conocido, pero sustituye los filtros fijos por filtros con parámetros adaptativos. En esta forma sencilla los factores de determinación de la clasificación conocidos en el extremo de decodificador son simplemente convencionales, pero los parámetros de filtro son adaptativos. 20
El procedimiento de selección comienza, por ejemplo, con la asignación de un parámetro de fuerza de contorno a los bordes de cada subbloque de luminancia 4x4. La fuerza de contorno está determinada exclusivamente por el modo y las condiciones de codificación de cada subbloque y sus bloques vecinos (por ejemplo, inter o intra, codificado residual o no, tamaño de los vectores de movimiento) y hace una primera selección entre un filtrado fuerte a los bordes que es probable que estén causados por artefactos de bloqueo, filtrado normal a los bordes que podría efectuarse mediante 25 bloqueo y sin filtrado a los bordes que es probable que estén relacionados por el contenido. Tras esta subdivisión inicial, la actividad de borde (es decir, las condiciones de desigualdad en la diferencia absoluta entre valores de píxel a ambos lados del borde) determina si han de aplicarse o no los filtros. La figura 16 proporciona un ejemplo de las condiciones usadas para decidir si se filtran o no los píxeles p0 y q0 que son vecinos al borde del subbloque BE en el modo de filtrado normal. El píxel q0 sólo se filtra si se satisfacen las condiciones (1) y (2). Asimismo, p0 sólo se filtra si se 30 satisfacen las condiciones (1) y (3). En el procedimiento conocido, puede seleccionarse el conjunto de filtros fijos del filtro de desbloqueo, todos tienen la misma estructura. Son filtros monodimensionales del tipo de respuesta impulsional finita (FIR), con un desplazamiento máximo de 2 taps con respecto al píxel que se filtra. Se aplican diferentes filtros fijos a píxeles con una distancia diferente al borde de bloque. Es menos probable que los píxeles que están más alejados del borde se vean afectados por artefactos de bloqueo y recibirán por tanto un filtrado más débil. De este modo, el filtro de 35 desbloqueo tiene en cuenta de manera muy rudimentaria la variación en la estadística con la posición relativa en la transformada de bloque. Se lleva a cabo el filtrado in situ a nivel de macrobloque, con un primer filtrado horizontal de los bloques verticales, seguido por filtrado vertical de los horizontales.
El procedimiento de determinación de qué filtros aplicar puede considerarse como un proceso de clasificación y puede realizarse en el lado de decodificador sin la necesidad de ninguna información adicional. Esto tiene la ventaja de 40 que no es necesario transmitir ninguna información sobre la clasificación, y en el extremo de decodificador pueden usarse los esquemas de clasificación conocidos. El enfoque de la invención se reduce a, en vez de usar filtros fijos convencionales sólo en el extremo de decodificador, sustituir los filtros convencionales por filtros adaptativos y establecer para cada clase un conjunto de parámetros óptimo. La demanda computacional para la clasificación en el extremo de decodificador no cambia, lo que es una ventaja. 45
En una realización sencilla, los factores de determinación conocidos en el extremo de decodificador simplemente se copian, pero los parámetros de filtro son adaptativos, en realizaciones más avanzadas, los factores de determinación para la selección de clase también son adaptativos, por ejemplo, haciendo las condiciones 1 y 2 adaptativas.
En una realización, el procedimiento se implementa en un procedimiento de dos pasos. En una primera etapa, 50 el algoritmo procesa todos los macrobloques para determinar qué tipo de filtro va a aplicarse a cada píxel.
En el siguiente paso, se recopilan todos los píxeles que se ven afectados por un filtro particular y se estiman los coeficientes de filtro óptimos en un sentido de MSE (error cuadrático medio). Este proceso se repite para todos los filtros. Sin embargo, puesto que el filtrado se realiza in situ, el cuadro de referencia preferiblemente se actualiza entremedias. Es decir, tras computarse los coeficientes de un filtro para una clase de píxeles cada vez se aplica el filtro 55 al cuadro de referencia actual antes de continuar con la determinación de los coeficientes para el siguiente filtro.
Si se opera el filtro adaptativo de escena en el bucle, es importante que la ordenación del proceso de filtrado en el lado de codificador y de decodificador coincidan. En una realización, esto se logra fijando el orden de aplicación de
los filtros. Una simple ampliación de tal implementación es determinar el orden de filtrado óptimo en el lado de codificador y señalizar el orden de filtros con el flujo, la salida 157 sería entonces F(C), es decir los coeficientes de filtro y S(F), es decir, el orden en el que los filtros van a aplicarse. Debido al filtrado in situ, la operación de filtrado no conmuta, y la variación del orden de filtrado puede mejorar el rendimiento. Para evitar no linealidades como resultado de la operación en el bucle, se estiman los coeficientes de filtro óptimos cuadro por cuadro. 5
Para evitar no linealidades como resultado de la operación en el bucle, se estiman los coeficientes de filtro óptimos cuadro por cuadro. En comparación con la operación en el bucle posfiltro equivalente, esto conduce a una reducción de la tasa de bits adicional del 1-1,5%. Esto puede explicarse por el hecho de que el filtro no sólo mejora la imagen final, sino también la imagen de referencia ofreciendo una mayor cualidad para la compensación del movimiento. Otra ventaja del filtrado en el bucle es que garantiza un determinado nivel de rendimiento mientras que el 10 posfiltrado es habitualmente opcional. Se descubrió que en comparación con un algoritmo de filtro de desbloqueo que hace una selección de un conjunto de filtros predefinidos con coeficientes fijados, basándose tanto en el tipo de borde como en el modo de codificación seleccionado, el rendimiento de desbloqueo mediante la estimación de los coeficientes óptimos asociados con cada uno de estos filtros y la señalización de estos con el flujo de vídeo era del orden del 5-10%. La figura 17 proporciona mediciones de la reducción en la tasa de bits usando filtros activos adaptativos en comparación 15 con filtros de bloqueo fijos H.264 convencionales usando procedimientos de clasificación convencionales que usan un algoritmo de clasificación propuesto por List et al en IEEE transaction on Circuits and Systems for Video Technology 13(7): 614-619. Las curvas C y D se refieren a las diferentes elecciones de índiceA e índiceB fijados, véase la figura 16. La ventaja de la invención es clara, el uso de coeficientes de filtro adaptativos en vez de filtros fijos conduce a una reducción considerable en la tasa de bits. 20
Tal como se indicó anteriormente, pueden obtenerse mejoras adicionales optimizando el orden en el que se aplica el filtro.
Se obtienen mejoras aún adicionales mediante la optimización adaptativa de la clasificación, por ejemplo, dejar que la clasificación de los filtros activos adaptativos dependa de la posición relativa en la transformada de bloque. La figura 17 muestra el resultado para una realización en la que los criterios de clasificación de los filtros de desbloqueo 25 fijos convencionales no se han optimizado para la invención sino que simplemente se han copiado. El efecto bastante significativo en la reducción de la tasa de bits sugiere que todavía hay espacio para la mejora mediante la optimización adicional de la clasificación y/o los criterios de selección de filtro.
La realización anterior de clasificación basada en bloque es un ejemplo de un mayor grupo de realizaciones en las que la clasificación y/o el filtrado se hacen dependientes de la ubicación, en este caso la ubicación dentro de un 30 bloque.
Dentro de dicho grupo de realizaciones otros ejemplos son:
Hacer la clasificación dependiente de la posición dentro de la imagen, por ejemplo, cerca del borde un número diferente de clases y diferentes, conjuntos de filtros adaptativos más sencillos se usan en comparación con zonas centrales, en las que se usa un mayor número de clases y/o filtros más complejos. Esto podría ahorrar en los datos que 35 han de transferirse.
Hacer la clasificación dependiente de objeto, por ejemplo, una zona de cielo puede usar filtros cada vez menos complejos. En una realización los filtros se adaptan a cómo de centrales son en una zona segmentada facial (por ejemplo, cerca de una zona en sombra en el contorno de la cara). O dentro de un patrón de patrón de hierba o ladrillos, se aplican diferentes filtros en los bordes de briznas de hierba (que pueden necesitar más nitidez) frente a las zonas 40 interiores [y el decodificador puede ser capaz de volver a estimar, por ejemplo, bordes de segmentos de ladrillos respecto a zonas interiores de ladrillos] dentro de toda la zona de hierba que va a hacerse más nítida.
En todas las realizaciones, se realiza una clasificación, también denominada anteriormente agrupamiento, en los datos, filtros adaptables o más en general se generan procesos de posprocesamiento para cada clase y los parámetros de los filtros o más en general el posprocesamiento se varían, en el lado de codificador, y se aplican a las 45 clases de datos correspondientes y se optimizan para producir, en comparación con la imagen original, una distorsión baja o mínima o, más general una medida de calidad óptima o un aumento de la misma, a partir de la reducción de artefactos (compresión) para las posiciones en la clase correspondiente.
Se proporciona información al decodificador (de manera o bien implícita o bien explícita) para regenerar la clasificación usada en el codificador y los parámetros para los filtros para los agrupamientos o clases se transfieren al 50 decodificador y se aplican en el decodificador. Según se ha explicado, pueden seguirse numerosas rutas para la clasificación, basadas en diferentes conceptos (valor, borde, movimiento, patrón, ubicación así como combinaciones de tales conceptos). Aún otro ejemplo de una base para la clasificación es hacer la clasificación dependiente de la elección de la compresión para la zona local. De nuevo el lado de decodificación conoce factores tales como: qué cuantificación se usó, cuál es el movimiento del bloque (y posibles errores de predicción, o visibilidad de errores reducida), etc. y de 55 nuevo los filtros pueden ser diferentes dependiendo de esos parámetros (por ejemplo, alta cuantificación usando un filtro que se desvía/optimiza más hacia el desbloqueo y menos hacia la nitidez).
Se ilustra una realización aún adicional en la figura 18. La figura 18 ilustra esquemáticamente dos ventanas I y II alrededor de un píxel. La ventana muestra determinado patrón. La ventana II puede considerarse equivalente a la ventana I “dada la vuelta”. En otras palabras, cuando se comparan las dos ventanas existe un determinado tipo de simetría entre las dos ventanas.
En estas realizaciones de la invención se hace un uso ventajoso de las reglas de simetría. 5
En el marco del posfiltrado basado en clasificación, la clasificación se basa a menudo en una estrategia de autoagrupamiento en la que se clasifican píxeles usando ventanas alrededor de los píxeles, tales como ventanas nxn y un promedio dentro de la ventana. Esto es un procedimiento de clasificación bastante flexible puesto que puede especificarse previamente cualquier número de clases. Sin embargo, en muchas aplicaciones, el número total de clases que puede usarse es limitado, debido al ancho de banda y/o a una restricción de almacenamiento. Con números 10 limitados de clases, puede ser muy difícil capturar la gran varianza de los patrones de imagen locales que se producen en uno (o más) cuadros. Una manera de reducir esta gran varianza es normalizar las ventanas alrededor de los píxeles con respecto a su orientación antes de la clasificación y el propio filtrado. Estas ventanas forman entonces una clase y pueden posfiltrarse con el mismo filtro. De este modo, el mismo número de clases puede representar una variedad mucho mayor de patrones de imagen. Además de la rotación, también puede pensarse en otros tipos de normalización 15 geométrica, tal como desplazamiento y reflexión.
La figura 19 proporciona un número de patrones que son de hecho equivalentes pero para una rotación de 90, 180 ó 270 grados.
Las figuras 20 muestran los mismos patrones o similares que son versiones dadas la vuelta unas de otras, la figura 21 muestra patrones que son versiones desplazadas unas de otras. El concepto en que se basa esta realización 20 es que las diversas simetrías se usan para reducir esta gran varianza normalizando las ventanas con respecto a su orientación antes de la clasificación y el propio filtrado. Estas ventanas forman entonces una clase y pueden posfiltrarse con el mismo filtro. De este modo, el mismo número de clases puede representar una variedad mucho mayor de patrones de imagen. Además de la rotación, como en la figura 19, también puede pensarse en otros tipos de normalización geométrica, tales como desplazamiento (figura 21) y reflexión (figura 20). 25
En una realización de este tipo, el estimador de parámetros se dispone para realizar una operación de simetría en la clasificación.
A continuación, se facilita un ejemplo para ilustrar cómo puede generarse una clasificación invariante con la geometría para dar como resultado pocas clases. La descripción es en el contexto del agrupamiento según se describió anteriormente usando ventanas nxn alrededor de los píxeles y clasificación con la minimización de la suma de los 30 cuadrados. Sin embargo, puede entenderse fácilmente que puede aplicarse también una línea de razonamiento similar para otros tipos de procedimientos de clasificación.
Un procedimiento a modo de ejemplo es el siguiente:
Etapa 1: Se recopilan muestras de ventanas a partir de los cuadros comprimidas.
Etapa 2: Para cada muestra de ventana x, se derivan sus versiones transformadas xi correspondientes a 3 35 patrones rotacionales, 4 patrones de reflexión y patrones desplazados (a es el tamaño de abertura). Supóngase que el tamaño de abertura a = 5, esto significaría que en total han de generarse N = 3+4+8 =15 patrones transformados adicionales.
Etapa 3: Se amplía la métrica de distancia usada en el algoritmo de agrupamiento. Si va a calcularse la distancia entre una muestra x dada y el centro del agrupamiento y, se calcula la distancia entre cada versión 40 transformada de muestra x e y y entonces se selecciona la distancia mínima.
Etapa 4: Como resultado del algoritmo de K-medias modificado según se describió anteriormente, se obtiene un número de centros de agrupamiento (clase) que son óptimos (en el sentido de MSE) con respecto a patrones invariantes con la geometría. Durante la generación del filtro, sin embargo, se usará la versión transformada de cada muestra x que da como resultado la distancia mínima al centro del agrupamiento para optimizar los coeficientes de filtro. 45
Los centros de agrupamiento (clase) derivados y los coeficientes de filtro correspondientes se transmitirán al lado de decodificador para su posprocesamiento. En el lado de decodificador, para cada posición de píxel, además de usar el vector característico básico para la clasificación, ha de generarse un número de variantes (como en la etapa 2), que ha de compararse cada una con los centros de agrupamiento (clase) con el fin de derivar la distancia más pequeña entre todas las variantes y los centros de agrupamiento. Los coeficientes de filtro correspondientes se seleccionan 50 entonces y se aplican a la variante transformada seleccionada. Obsérvese que es necesario transformar de nuevo los resultados filtrados para aplicarse al cuadro decodificado.
Aunque el ejemplo anterior se basa en el ejemplo de uso de distancias de minimización, también puede ampliarse fácilmente a, por ejemplo, una estrategia de clasificación basada en gradiente tal como se ilustra esquemáticamente en las figuras 11 y 12. En este caso, tras la etapa 2, para cada patrón transformado candidato, ha de 55
calcularse el vector característico basado en gradiente correspondiente y usarse para el agrupamiento posteriormente. Obsérvese que el procedimiento propuesto también puede aplicarse al filtrado en el bucle. Se hallaron resultados experimentales.
Se implementó la realización descrita anteriormente en el software de referencia H.264 y experimentación con secuencias de resolución SD, con el conjunto QP de parámetros de cuantificación desde 28 hasta 34. El filtrado 5 invariante con la geometría se implementó como una opción de característica adicional al posfiltrado en el bucle. Se midió la ganancia PSNR para cada cuadro y para la mayoría de los cuadros, se observa una ganancia de 0,03 dB a 0,06 dB en comparación con no usar invarianza con la geometría (con el mismo número de clases). Para algunos cuadros se logró una ganancia de hasta 0,1 dB. Puesto que añadir invarianza con la geometría no requiere un aumento adicional de la tasa de bits, la invarianza con la geometría proporciona una mejora adicional al filtrado en el bucle 10 existente, sin contratiempos.
También se ha observado en estos experimentos que para algunos cuadros permitir la opción de filtrado invariante con la geometría puede proporcionar un efecto negativo con respecto a PSNR. Esto podría ser el resultado de la falta de variedad de patrones en el cuadro, y el uso de la invarianza con la geometría podría no contribuir positivamente a la calidad. Sin embargo, puesto que la clasificación y el filtrado en el bucle se realizan en el lado de 15 codificador, el codificador puede decidir deshabilitar el uso de invarianza con la geometría para el cuadro actual si se produce tal ganancia negativa. Esto significa que ha de enviarse un “bit de señal” adicional para cada cuadro para indicar si se usa o no invarianza con la geometría. En comparación con la tasa de bits total, esto es claramente una sobrecarga insignificante, mientras que aumenta la ganancia promedio.
2. La activación de todos los modos de transformada (por ejemplo, 3 modos de rotación, 4 modos de reflexión y 20 varios modos de desplazamiento) puede no proporcionar el rendimiento óptimo con respecto a PSNR. Por ejemplo, para la secuencia Helicopter, se ha hallado como promedio que el uso de 2 modos de reflexión (volteo vertical y horizontal) y modos de desplazamiento proporcionaría el mejor rendimiento. Sin embargo, podría ser una decisión dependiente de secuencia activar determinados modos mientras se deshabilitan los demás. Tal ajuste fino es equivalente al uso de la invarianza con la geometría o no. 25
La transformación con invarianza de la simetría (volteo, desplazamiento, rotación) son una subclase de una gran clase de transformaciones con invarianza del patrón.
Otra operación sencilla con invarianza del patrón es el ajuste a escala.
Otros ejemplos de patrones que muestran cierta invarianza bajo transformaciones se ilustran en las figuras 22a a 22c: 30
Ejemplo A: estructuras de tipo helicoidal no exactas pero similares: la transformación de una “rotación no exacta” puede realizarse, por ejemplo, de la manera siguiente: clasificar los píxeles en un bloque en oscuros y claros [por ejemplo por encima del promedio del bloque], y usar un “código de orientación de cadena” para someter a prueba la similitud: por ejemplo: si el cambio direccional es en la misma dirección de la brújula y la longitud difiere en no más de 1 píxel para cada ejecución orientada de píxeles (por ejemplo, segmento de partida de 2 frente a 3 píxeles), el patrón 35 puede considerarse de manera similar, y tratarse con un filtro similar (por ejemplo, determinado tamaño de núcleo de borde indefinido).
Ejemplo B: También podría normalizarse la altura (valor de gris) de un borde (aunque en algunos casos de filtro [por ejemplo el filtro implementa un cambio de fuerza de borde] puede ser más sensato adaptar el filtro también a la altura del borde, pero en esos casos podría clasificarse, por ejemplo, la altura de escalón de borde en varias subclases 40 (borde intenso, medio, menor).
El ejemplo C proporciona otro ejemplo que puede usarse, por ejemplo, para procesar texturas (pseudo) periódicas (por ejemplo, con una función no lineal que deja sus partes superiores con el valor de gris pero intensifica sus valles [podría, por ejemplo, intensificar las zonas oscuras entre las briznas de hierba]).
El patrón se modela a modo de ejemplo [esto podría ajustarse a los datos subyacentes] como una retícula 45 sinusoidal, de determinada altura h [el valor de gris/luminancia/color del píxel más claro, por ejemplo 240- menos el más oscuro - por ejemplo, 10-], una pendiente alfa (que da como resultado una distancia entre partes superiores D), y tiene una determinada orientación espacial beta en un bloque (mostrado simbólicamente, en este caso, como 45 grados, pero que no puede mostrarse simultáneamente en una gráfica en sección transversal de valor de gris, porque sólo tiene una dimensión espacial). 50
Todos los patrones con valores alfa, h, D que no difieren demasiado podrían clasificarse entonces en la misma clase de textura, o de nuevo algunas subclases podrían realizarse a lo largo del posible intervalo de valores [de manera lineal o no lineal] y entonces podrían enfocarse filtros parametrizados f(h, alfa); esto puede realizarse, por ejemplo, comprobando cómo varían los coeficientes de filtro en las diferentes clases (h, alfa) de intervalo, y modelándolos con polinomios. 55
La figura 23 ilustra esquemáticamente una señal de definición de imagen según la invención. La señal de definición de imagen comprende información de imagen, CD, en este ejemplo, datos comprimidos, que define el contenido de una imagen;
una pluralidad de conjuntos de parámetros de control que definen parámetros de control de un circuito de procesamiento de imagen para posprocesar dicho contenido en posiciones respectivas en la imagen, en este ejemplo 5 parámetros de definición de clase C y conjuntos de parámetros para cada clase F(C), tales como, por ejemplo, conjuntos de coeficientes de filtro.
Los parámetros de definición de clase pueden tener una variedad de formas que dependen de la ruta elegida para definir una clase. Los parámetros de definición de clase pueden definir la manera en que se definen las clases (por valor, borde, patrón, basado en bloque, vector de movimiento, etc.) o pueden tener parámetros que definen 10 directamente centros de agrupamiento (véase la figura 12). En algunas realizaciones, los parámetros de definición de clase pueden no estar presentes, por ejemplo, si se usa una manera fija para definir clases en el codificador y el decodificador.
Los conjuntos de parámetros para cada conjunto pueden ser coeficientes de filtro. Los conjuntos de parámetros pueden definirse de manera absoluta, por ejemplo, el valor exacto de cada parámetro, o de manera relativa, por 15 ejemplo, el cambio en los parámetros dentro de un conjunto de parámetros en comparación con un valor anterior.
En las realizaciones, la señal de definición de imagen puede comprender información sobre diversas operaciones separadas que tienen, cada una, una clasificación y conjuntos de parámetros para clases separados. Por ejemplo, una operación de desbloqueo en el bucle puede estar seguida de un procesamiento adicional basado en agrupamiento basado en gradientes en la imagen tras el bucle de decodificación. Para cada una de las dos etapas de 20 proceso mencionadas, puede estar presente información en la clasificación y conjuntos de coeficientes para las diversas clases, en la señal de definición de imagen. Cada una de las clasificaciones se basa en un principio diferente y los coeficientes también diferirán, de modo que diferirá la información.
Los conjuntos de parámetros y datos de definición de clase pueden proporcionarse de cualquier manera adecuada, por ejemplo, como cabecera, mediante indicadores o como una señal separada. 25
La invención se expone en las reivindicaciones. Tal como se usa en el presente documento la expresión “que comprende” no excluye otros elementos o etapas, que “un/o” o “una” no excluyen una pluralidad, y que un único procesador u otra unidad puede cumplir con las funciones de varios medios citados en las reivindicaciones. Cuando se usa el término “circuito” esto engloba circuitos programables programados para realizar la función del circuito. Los signos de referencia en las reivindicaciones no se interpretarán como limitativos del alcance. 30
Brevemente, puede describirse la invención de la siguiente manera:
Se definen agrupamientos de píxeles para su uso en la compresión y descompresión de imágenes. La información de imagen usada para definir los agrupamientos puede incluir valores de píxel en posiciones predeterminadas relativas a un píxel o vectores de movimiento relacionados, gradientes, textura etc.. Durante la compresión de imágenes, se examina la información de imagen relativa a píxeles para determinar el agrupamiento al 35 que pertenece. Así pueden clasificarse los píxeles según el agrupamiento por su información de imagen. En una realización, las definiciones de los agrupamientos se seleccionan dinámicamente, dependiendo del contenido de la imagen. Para cada agrupamiento se computa un conjunto de parámetros de control para una operación de posprocesamiento, tales como coeficientes de filtro para filtrado o datos estadísticos para generar localmente textura. El conjunto de parámetros de control se selecciona dependiendo del contenido del contenido de la imagen de modo que, 40 cuando se aplica la operación de posprocesamiento a la imagen tras la descompresión mejorará la calidad de imagen para los píxeles que se clasifican como pertenecientes al agrupamiento. La imagen comprimida y los conjuntos de parámetros de control se transmiten a un aparato de descompresión. Con la descompresión, se examina la información de imagen que representa la imagen descomprimida para clasificar píxeles según los agrupamientos y se usan los diferentes conjuntos de parámetros de control para los agrupamientos seleccionados para controlar el 45 posprocesamiento en las ubicaciones de los píxeles.

Claims (15)

  1. REIVINDICACIONES
  2. 1. Aparato de descompresión que comprende:
    - una entrada o entradas (20) para recibir información de imagen y una pluralidad de conjuntos de parámetros de control para la información de imagen, definiendo la información de imagen un contenido de una imagen; 5
    - una memoria (36) para almacenar la pluralidad recibida de los conjuntos de parámetros de control;
    - un descompresor (24) configurado para descomprimir al menos parcialmente la información de imagen;
    - un selector (32) configurado para clasificar en clases respectivas, basándose en el contenido de la imagen en una ventana respectiva relativa al píxel, para cada uno de una pluralidad de píxeles en la imagen, los píxeles, y para seleccionar un conjunto respectivo de la pluralidad recibida de conjuntos de parámetros de 10 control dependientes de la clasificación para los píxeles;
    - un circuito (39) de procesamiento de imagen configurado para posprocesar la información de imagen al menos parcialmente descomprimida, usando los conjuntos seleccionados respectivos de los conjuntos de parámetros de control para dichos píxeles clasificados a partir de la memoria (36) para controlar el posprocesamiento para píxeles en la imagen. 15
  3. 2. Aparato de descompresión según la reivindicación 1, que comprende una memoria (74) de referencia para almacenar una imagen de referencia para su uso en la descompresión de una imagen comprimida de manera predictiva, teniendo la memoria (74) de referencia una entrada acoplada a una salida del procesador de imagen para almacenar una imagen posprocesada para su uso como la imagen de referencia.
  4. 3. Aparato de descompresión según la reivindicación 1, estando configurado el selector (32) para clasificar la 20 pluralidad de píxeles en la imagen clasificando un vector que comprende valores de píxel en la imagen en ubicaciones relativas predeterminadas con respecto al píxel respectivo, y para seleccionar un conjunto respectivo de la pluralidad recibida de conjuntos de parámetros de control dependientes de las clasificaciones para el vector.
  5. 4. Aparato de descompresión según la reivindicación 1, estando configurado el selector (32) para clasificar la 25 pluralidad de píxeles en la imagen clasificando un vector que comprende vectores de movimiento que caracterizan el movimiento entre la imagen y una imagen vecina en el flujo de vídeo en zonas en la imagen en ubicaciones relativas predeterminadas con respecto al píxel respectivo, para seleccionar un conjunto respectivo de la pluralidad recibida de conjuntos de parámetros de control dependientes de las clasificaciones para el vector. 30
  6. 5. Aparato de descompresión según la reivindicación 1, en el que el selector (32) está configurado para clasificar la pluralidad de píxeles en la imagen clasificando el contenido de textura de la imagen en una ventana respectiva relativa al píxel, y para seleccionar un conjunto respectivo de la pluralidad recibida de conjuntos de parámetros de control dependientes de las clasificaciones para la textura.
  7. 6. Aparato de descompresión según la reivindicación 1, en el que el selector (32) está configurado para clasificar 35 la pluralidad de píxeles en la imagen, clasificando basándose en el valor de gradiente horizontal y/o el valor de gradiente vertical y para seleccionar un conjunto respectivo de la pluralidad recibida de conjuntos de parámetros de control dependientes de las clasificaciones del gradiente horizontal y/o vertical.
  8. 7. Aparato de descompresión según la reivindicación 1, en el que la compresión se basa en bloque y el selector (32) está configurado para clasificar la pluralidad de posiciones de píxel en la imagen, clasificando respecto a la 40 posición dentro de un bloque y la actividad de borde y para seleccionar un conjunto respectivo de la pluralidad recibida de conjuntos de parámetros de control dependientes de las clasificaciones de la posición dentro de un bloque y la actividad de borde.
  9. 8. Aparato de compresión que comprende:
    - una entrada (10) de imagen para recibir una señal de entrada que define una imagen de entrada; 45
    - un compresor (12) de señal de imagen con una entrada de compresor acoplada a la entrada (10) de imagen y una salida de compresor para comprimir al menos parcialmente la imagen;
    - un estimador (16) de parámetros, con una entrada acoplada a la entrada de imagen y configurado para clasificar píxeles en la imagen en clases respectivas, basándose en el contenido de la imagen en una ventana respectiva relativa al píxel, y para computar una pluralidad de conjuntos de parámetros de control, 50 cada uno para una clase correspondiente, basándose en una comparación de la imagen comprimida y la imagen de entrada, definiendo una operación de posprocesamiento para reducir los artefactos de
    compresión para los píxeles en la clase correspondiente;
    - una salida para emitir la imagen comprimida; y
    - una salida para emitir la pluralidad de conjuntos de parámetros de control.
  10. 9. Aparato de compresión según la reivindicación 8, en el que las definiciones de las clases comprenden valor de gradiente horizontal y/o valor de gradiente vertical para configuraciones de ubicaciones de píxel relativas. 5
  11. 10. Aparato de compresión según la reivindicación 8, en el que las definiciones de las clases comprenden la ubicación dentro de un bloque y la actividad de borde y los conjuntos de parámetros son conjuntos de parámetros de filtro de desbloqueo.
  12. 11. Aparato de compresión según la reivindicación 8, que comprende un descompresor (14) configurado para recibir la señal de imagen comprimida de la salida de compresor, teniendo el estimador (16) de parámetros una 10 entrada adicional acoplada al descompresor para recibir una señal de imagen descomprimida, estando configurado el estimador (16) de parámetros para seleccionar los conjuntos de parámetros dependientes de una diferencia entre la imagen de entrada y una imagen descomprimida definida por la señal de imagen descomprimida.
  13. 12. Procedimiento de descompresión de una imagen, comprendiendo el procedimiento: 15
    - recibir información de imagen y conjuntos de parámetros de control para la información de imagen, definiendo la información de imagen un contenido de una imagen;
    - almacenar una pluralidad de los conjuntos de parámetros de control;
    - descomprimir al menos parcialmente la información de imagen;
    - clasificar cada uno de una pluralidad de píxeles en la imagen en clases respectivas, basándose en el 20 contenido de la imagen en una ventana respectiva relativa a los píxeles,
    - seleccionar un conjunto respectivo de la pluralidad de conjuntos de parámetros de control dependientes de las clasificaciones para los píxeles;
    - posprocesar la información de imagen al menos parcialmente descomprimida, usando los conjuntos seleccionados respectivos de los conjuntos de parámetros de control recibidos para dichos píxeles en la 25 imagen a partir de la memoria para controlar el posprocesamiento para dichos píxeles en la imagen.
  14. 13. Procedimiento de compresión de una imagen, comprendiendo el procedimiento:
    - recibir una señal de entrada que define una imagen de entrada;
    - comprimir la señal de entrada, obteniendo una señal de imagen comprimida;
    - clasificar los píxeles en la imagen en clases respectivas, basándose en el contenido de la imagen en una 30 ventana respectiva relativa a los píxeles,
    - computar una pluralidad de conjuntos de parámetros de control, cada uno para una clase correspondiente, definiendo una operación de posprocesamiento para reducir los artefactos de compresión para los píxeles en la clase correspondiente; y
    - emitir la señal de imagen comprimida, y la pluralidad de conjuntos de parámetros de control. 35
  15. 14. Señal de definición de imagen, que comprende:
    - información de imagen que define un contenido de una imagen;
    - una pluralidad de conjuntos de parámetros de control que definen parámetros de control de un circuito de procesamiento de imagen para posprocesar dicho contenido en píxeles respectivos en la imagen
    - información de definición de clase para definir clases de píxeles en la imagen basándose en el contenido 40 de la imagen en una ventana respectiva relativa a los píxeles, correspondiendo cada clase a un conjunto respectivo de los conjuntos de parámetros de control.
ES07849411T 2006-12-18 2007-12-11 Compresión y descompresión de imágenes. Active ES2356023T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06126324 2006-12-18
EP06126324 2006-12-18

Publications (1)

Publication Number Publication Date
ES2356023T3 true ES2356023T3 (es) 2011-04-04

Family

ID=39400417

Family Applications (1)

Application Number Title Priority Date Filing Date
ES07849411T Active ES2356023T3 (es) 2006-12-18 2007-12-11 Compresión y descompresión de imágenes.

Country Status (12)

Country Link
US (2) US8582666B2 (es)
EP (1) EP2123051B1 (es)
JP (1) JP2010514246A (es)
KR (1) KR101545005B1 (es)
CN (1) CN101563926B (es)
AT (1) ATE488096T1 (es)
DE (1) DE602007010514D1 (es)
ES (1) ES2356023T3 (es)
MX (1) MX2009006404A (es)
PL (1) PL2123051T3 (es)
RU (1) RU2461977C2 (es)
WO (1) WO2008075247A1 (es)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623739B2 (en) 2011-03-24 2020-04-14 Sony Corporation Image processing apparatus and method

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7974485B1 (en) * 2005-10-27 2011-07-05 Nvidia Corporation Split-frame post-processing in a programmable video pipeline
EP2145316A4 (en) * 2007-04-04 2017-03-08 Telefonaktiebolaget LM Ericsson (publ) Vector-based image processing
EP2003896A1 (en) * 2007-06-12 2008-12-17 Panasonic Corporation Statistical image enhancement
WO2009078686A2 (en) * 2007-12-18 2009-06-25 Humax Co., Ltd. Method and device for video coding and decoding
JP5137687B2 (ja) * 2008-05-23 2013-02-06 キヤノン株式会社 復号装置及び復号方法、プログラム
US8625681B2 (en) * 2008-07-09 2014-01-07 Intel Corporation Rate-distortion cost reducing video encoding techniques
US10123050B2 (en) 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
US20100014584A1 (en) * 2008-07-17 2010-01-21 Meir Feder Methods circuits and systems for transmission and reconstruction of a video block
EP2161936A1 (en) * 2008-09-04 2010-03-10 Panasonic Corporation Locally adaptive filters for video coding controlled by local correlation data
RU2505856C2 (ru) * 2008-11-12 2014-01-27 Нокиа Корпорейшн Способ и устройство для представления и идентификации дескрипторов признаков с использованием сжатой гистограммы градиентов
US8831090B2 (en) 2008-11-18 2014-09-09 Avigilon Corporation Method, system and apparatus for image capture, analysis and transmission
KR101680915B1 (ko) * 2008-11-25 2016-11-29 톰슨 라이센싱 비디오 인코딩 및 디코딩을 위한 희소성-기반 아티팩트 제거 필터링 방법 및 장치
US9143803B2 (en) 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
EP2226760A1 (en) * 2009-03-03 2010-09-08 Sony Corporation Method and apparatus for reducing compression artifacts in video signals
BRPI1007869B1 (pt) * 2009-03-12 2021-08-31 Interdigital Madison Patent Holdings Métodos, aparelhos e mídia de armazenamento legível por computador para seleção de parâmetro de filtro baseado em região para filtragem de remoção de artefatos
KR101647376B1 (ko) * 2009-03-30 2016-08-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
EP2237557A1 (en) 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients
ES2602326T3 (es) * 2009-04-20 2017-02-20 Dolby Laboratories Licensing Corporation Selección de filtro para pre-procesamiento de vídeo en aplicaciones de vídeo
WO2010137322A1 (ja) * 2009-05-29 2010-12-02 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
KR101631270B1 (ko) * 2009-06-19 2016-06-16 삼성전자주식회사 의사 난수 필터를 이용한 영상 필터링 방법 및 장치
CN104539956B (zh) * 2009-06-19 2018-11-06 三菱电机株式会社 图像编码装置、图像编码方法以及图像解码装置
TWI401963B (zh) * 2009-06-25 2013-07-11 Pixart Imaging Inc Dynamic image compression method for face detection
KR101749269B1 (ko) * 2009-06-30 2017-06-22 삼성전자주식회사 적응적인 인루프 필터를 이용한 동영상 부호화와 복호화 장치 및 그 방법
JP2011049740A (ja) * 2009-08-26 2011-03-10 Sony Corp 画像処理装置および方法
JP2011050001A (ja) * 2009-08-28 2011-03-10 Sony Corp 画像処理装置および方法
CN102550026B (zh) 2009-10-05 2016-08-03 汤姆森特许公司 视频编码和解码中色度分量的预测像素的自适应滤波的方法和装置
US9167270B2 (en) 2009-10-15 2015-10-20 Thomson Licensing Methods and apparatus for efficient adaptive filtering for video encoders and decoders
KR101710883B1 (ko) * 2009-11-04 2017-02-28 삼성전자주식회사 필터 정보를 이용한 영상 압축 장치 및 방법과 영상 복원 장치 및 방법
US20110135011A1 (en) * 2009-12-04 2011-06-09 Apple Inc. Adaptive dithering during image processing
JP2011139208A (ja) * 2009-12-28 2011-07-14 Sony Corp 画像処理装置および方法
JP5964755B2 (ja) * 2009-12-31 2016-08-03 トムソン ライセンシングThomson Licensing ビデオ符号化および復号化用の適応型結合前処理および後処理フィルタのための方法および装置
WO2011089865A1 (ja) * 2010-01-21 2011-07-28 パナソニック株式会社 画像符号化方法、画像復号方法、それらの装置、プログラムおよび集積回路
WO2011097013A1 (en) * 2010-02-02 2011-08-11 Thomson Licensing Methods and apparatus for reducing vector quantization error through patch shifting
US20120320973A1 (en) * 2010-03-09 2012-12-20 Thomson Licensing Methods and apparatus for a classification-based loop filter
TWI405147B (zh) * 2010-03-16 2013-08-11 Novatek Microelectronics Corp 單張影像的階層式去動態模糊方法
JP2011223337A (ja) * 2010-04-09 2011-11-04 Sony Corp 画像処理装置および方法
JP5464435B2 (ja) * 2010-04-09 2014-04-09 ソニー株式会社 画像復号装置および方法
EP2375747B1 (en) * 2010-04-12 2019-03-13 Sun Patent Trust Filter positioning and selection
US20130058421A1 (en) * 2010-05-17 2013-03-07 Thomson Licensing Methods and apparatus for adaptive directional filter for video restoration
JPWO2011158657A1 (ja) * 2010-06-17 2013-08-19 シャープ株式会社 画像フィルタ装置、復号装置、符号化装置、および、データ構造
CN102300044B (zh) * 2010-06-22 2013-05-08 原相科技股份有限公司 处理图像的方法与图像处理模块
EP2604041A1 (en) 2010-08-09 2013-06-19 Koninklijke Philips Electronics N.V. Encoder, decoder, bit-stream, method of encoding, method of decoding an image pair corresponding with two views of a multi-view signal
FR2963865B1 (fr) * 2010-08-16 2013-09-27 Canon Kk Procede et dispositif de codage d'un signal numerique
FR2964236B1 (fr) * 2010-08-31 2012-08-17 Thales Sa Dispositif et procede de generation d'images multifenetres a priorite variable
US9674526B2 (en) 2010-09-20 2017-06-06 Canon Kabushiki Kaisha Method and device for encoding and decoding a digital image signal
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
CN105915753B (zh) * 2010-10-18 2019-01-04 杜比实验室特许公司 对图像数据进行解码及对视频信号进行编码的方法和设备
US9462220B2 (en) * 2010-12-17 2016-10-04 Microsoft Technology Licensing, Llc Auto-regressive edge-directed interpolation with backward projection constraint
JP5627507B2 (ja) * 2011-01-12 2014-11-19 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
US20120189064A1 (en) * 2011-01-14 2012-07-26 Ebrisk Video Inc. Adaptive loop filtering using multiple filter shapes
US20120183078A1 (en) * 2011-01-14 2012-07-19 Samsung Electronics Co., Ltd. Filter adaptation with directional features for video/image coding
US9930366B2 (en) * 2011-01-28 2018-03-27 Qualcomm Incorporated Pixel level adaptive intra-smoothing
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
US8982960B2 (en) 2011-02-23 2015-03-17 Qualcomm Incorporated Multi-metric filtering
GB2488816A (en) * 2011-03-09 2012-09-12 Canon Kk Mapping motion vectors from a plurality of reference frames to a single reference frame
JP5291133B2 (ja) 2011-03-09 2013-09-18 日本電信電話株式会社 画像処理方法,画像処理装置,映像符号化/復号方法,映像符号化/復号装置およびそれらのプログラム
JP5291134B2 (ja) 2011-03-09 2013-09-18 日本電信電話株式会社 映像符号化/復号方法,映像符号化/復号装置およびそのプログラム
WO2013001720A1 (ja) * 2011-06-30 2013-01-03 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US9055304B2 (en) * 2011-07-01 2015-06-09 Qualcomm Incorporated Reduced resolution pixel interpolation
CN107295342B (zh) * 2011-07-22 2020-04-28 Sk电信有限公司 视频编码装置
US20130031063A1 (en) * 2011-07-26 2013-01-31 International Business Machines Corporation Compression of data partitioned into clusters
KR101828411B1 (ko) * 2011-09-21 2018-02-13 삼성전자주식회사 영상 처리 방법 및 영상 처리 장치
CN102427528B (zh) * 2011-09-30 2013-07-31 北京航空航天大学 一种基于聚类统计的视频运动估计方法
US9860530B2 (en) * 2011-10-14 2018-01-02 Hfi Innovation Inc. Method and apparatus for loop filtering
CN102368329A (zh) * 2011-10-24 2012-03-07 龙芯中科技术有限公司 图形系统中纹理图像透明度通道处理系统与装置和方法
GB201119206D0 (en) 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
KR101462052B1 (ko) * 2011-11-09 2014-11-20 에스케이 텔레콤주식회사 변환을 이용한 주파수 도메인 상의 적응적 루프 필터를 이용한 영상 부호화/복호화 방법 및 장치
BR112013032615A2 (pt) 2011-11-25 2017-08-01 Panasonic Corp método de processamento de imagem e aparelho de processamento de imagem
CN102611823B (zh) * 2012-01-13 2014-06-04 百度在线网络技术(北京)有限公司 一种基于图片内容选择压缩算法的方法和设备
JP6222576B2 (ja) * 2012-03-21 2017-11-01 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および画像符号化復号装置
US9613285B2 (en) * 2012-03-22 2017-04-04 The Charles Stark Draper Laboratory, Inc. Compressive sensing with local geometric features
WO2013155897A1 (en) * 2012-04-16 2013-10-24 Mediatek Inc. Method and apparatus for loop filtering across slice or tile boundaries
CN103065335B (zh) * 2012-12-28 2015-11-18 辽宁师范大学 基于轮廓波域四叉块分裂模型的图像编码方法
US9596465B2 (en) * 2013-01-04 2017-03-14 Intel Corporation Refining filter for inter layer prediction of scalable video coding
JP6311141B2 (ja) * 2013-10-02 2018-04-18 日本放送協会 フィルタ選択装置、フィルタ装置およびこれらのプログラム
US9940686B2 (en) * 2014-05-14 2018-04-10 Intel Corporation Exploiting frame to frame coherency in a sort-middle architecture
US10593019B2 (en) 2014-10-17 2020-03-17 Samsung Electronics Co., Ltd. Method and apparatus for storing, processing and reconstructing full resolution image out of sub band encoded images
CN105791906A (zh) * 2014-12-15 2016-07-20 深圳Tcl数字技术有限公司 信息推送的方法和系统
CN104700353B (zh) * 2015-02-11 2017-12-05 小米科技有限责任公司 图像滤镜生成方法及装置
GB2536904B (en) * 2015-03-30 2017-12-27 Imagination Tech Ltd Image filtering based on image gradients
DK3291841T3 (da) * 2015-05-04 2022-01-10 Brigham & Womens Hospital Inc Onkolytisk hsv1-vektor og fremgangsmåder
CN105163124B (zh) * 2015-08-28 2019-01-18 京东方科技集团股份有限公司 一种图像编码方法、图像解码方法及装置
US10880566B2 (en) 2015-08-28 2020-12-29 Boe Technology Group Co., Ltd. Method and device for image encoding and image decoding
KR102477264B1 (ko) * 2015-09-22 2022-12-13 삼성전자주식회사 텍스쳐를 처리하는 방법 및 장치
CN105550979A (zh) * 2015-12-11 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种高数据通量纹理Cache层次结构
CN105718513B (zh) * 2016-01-14 2019-11-15 上海大学 jpg文件的压缩方法及解压缩方法
WO2017137439A1 (en) * 2016-02-08 2017-08-17 Koninklijke Philips N.V. Device for and method of determining clusters
US11563938B2 (en) * 2016-02-15 2023-01-24 Qualcomm Incorporated Geometric transforms for filters for video coding
EP3472806A4 (en) * 2016-06-17 2020-02-26 Immersive Robotics Pty Ltd IMAGE COMPRESSION METHOD AND DEVICE
KR20180056313A (ko) 2016-11-18 2018-05-28 삼성전자주식회사 텍스처를 처리하는 방법 및 장치
US10354173B2 (en) * 2016-11-21 2019-07-16 Cylance Inc. Icon based malware detection
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US10448054B2 (en) * 2017-01-11 2019-10-15 Groq, Inc. Multi-pass compression of uncompressed data
CN108632502B (zh) * 2017-03-17 2021-04-30 深圳开阳电子股份有限公司 一种图像锐化的方法及装置
KR102053242B1 (ko) * 2017-04-26 2019-12-06 강현인 압축 파라미터를 이용한 영상 복원용 머신러닝 알고리즘 및 이를 이용한 영상 복원방법
US10212456B2 (en) * 2017-06-02 2019-02-19 Apple Inc. Deblocking filter for high dynamic range (HDR) video
US10349087B2 (en) * 2017-07-13 2019-07-09 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for reconstructing images using blurring and noise-enhanced pixel intensity resampling
KR102381373B1 (ko) * 2017-08-16 2022-03-31 삼성전자주식회사 비정형적 분할을 이용한 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
CN110490213B (zh) * 2017-09-11 2021-10-29 腾讯科技(深圳)有限公司 图像识别方法、装置及存储介质
KR102499286B1 (ko) 2018-02-23 2023-02-14 삼성전자주식회사 이미지가 분할된 복수의 블록들의 압축과 관련된 압축 손실 데이터에 기반하여 이미지를 압축하는 전자 장치 및 그 동작 방법
US10687083B2 (en) * 2018-06-06 2020-06-16 Intel Corporation Loop restoration filtering for super resolution video coding
CN109146985B (zh) * 2018-09-09 2019-06-14 深圳硅基仿生科技有限公司 视网膜刺激器的图像处理方法、装置及视网膜刺激器
KR102622950B1 (ko) * 2018-11-12 2024-01-10 삼성전자주식회사 디스플레이장치, 그 제어방법 및 기록매체
EP3895423A4 (en) * 2018-12-23 2022-06-22 Huawei Technologies Co., Ltd. ENCODER, DECODER AND RELATED METHODS USING AN ADAPTIVE LOOP FILTER
US11335034B2 (en) 2019-01-16 2022-05-17 Disney Enterprises, Inc. Systems and methods for image compression at multiple, different bitrates
CN110473209B (zh) * 2019-08-02 2021-08-13 武汉高德智感科技有限公司 红外图像处理方法、装置及计算机存储介质
US11430335B2 (en) * 2020-01-31 2022-08-30 Here Global B.V. Method and apparatus for providing large scale vehicle routing
US20210241024A1 (en) * 2020-02-02 2021-08-05 Emza Visual Sense Ltd. Jpeg classifier
CN111583158B (zh) * 2020-05-19 2022-09-23 国网吉林省电力有限公司 一种背景简化表达的票据电子影像压缩存储方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3759538B2 (ja) * 1994-09-14 2006-03-29 ソニー株式会社 画像信号処理方法及び画像信号伝送装置
JP3627291B2 (ja) * 1995-05-25 2005-03-09 ソニー株式会社 ブロック歪み除去装置および方法
JPH09251781A (ja) 1996-03-18 1997-09-22 Hitachi Ltd 半導体集積回路装置
JP4534951B2 (ja) * 1996-07-17 2010-09-01 ソニー株式会社 画像符号化装置および画像符号化方法、画像処理システムおよび画像処理方法、伝送方法、並びに記録媒体
US5796875A (en) * 1996-08-13 1998-08-18 Sony Electronics, Inc. Selective de-blocking filter for DCT compressed images
JPH10224790A (ja) * 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 圧縮伸張された画像中のブロック状ノイズを除去するフィルタおよびフィルタ方法
JP3095140B2 (ja) * 1997-03-10 2000-10-03 三星電子株式会社 ブロック化効果の低減のための一次元信号適応フィルター及びフィルタリング方法
US6075926A (en) * 1997-04-21 2000-06-13 Hewlett-Packard Company Computerized method for improving data resolution
JP4093621B2 (ja) 1997-12-25 2008-06-04 ソニー株式会社 画像変換装置および画像変換方法、並びに学習装置および学習方法
AU717480B2 (en) * 1998-08-01 2000-03-30 Korea Advanced Institute Of Science And Technology Loop-filtering method for image data and apparatus therefor
JP3959178B2 (ja) 1998-08-07 2007-08-15 住友化学株式会社 ヒドラジン誘導体の製造方法、その中間体および中間体の製造方法
JP2001204029A (ja) * 1999-08-25 2001-07-27 Matsushita Electric Ind Co Ltd ノイズ検出方法、ノイズ検出装置及び画像復号化装置
FI117533B (fi) * 2000-01-20 2006-11-15 Nokia Corp Menetelmä digitaalisten videokuvien suodattamiseksi
US6600517B1 (en) * 2000-03-07 2003-07-29 Koninklijke Philips Electronics N.V. System and method for improving the sharpness of a video image
US6823086B1 (en) * 2000-08-29 2004-11-23 Analogic Corporation Adaptive spatial filter
JP3632591B2 (ja) * 2000-11-13 2005-03-23 日本電気株式会社 画像処理装置、方法及びコンピュータ読み取り可能な記録媒体
US7110455B2 (en) * 2001-08-14 2006-09-19 General Instrument Corporation Noise reduction pre-processor for digital video using previously generated motion vectors and adaptive spatial filtering
ES2238593T3 (es) 2001-09-12 2005-09-01 Matsushita Electric Industrial Co., Ltd. Procedimiento de descodificacion de imagenes.
DE60230666D1 (de) * 2001-11-29 2009-02-12 Panasonic Corp Verfahren zur beseitigung von kodierungsverzerrung und verfahren zur videokodierung und -dekodierung
US7068722B2 (en) * 2002-09-25 2006-06-27 Lsi Logic Corporation Content adaptive video processor using motion compensation
US7116828B2 (en) * 2002-09-25 2006-10-03 Lsi Logic Corporation Integrated video decoding system with spatial/temporal video processing
GB0228136D0 (en) * 2002-12-03 2003-01-08 Essential Viewing Ltd Improvements in video coding and decoding
US8625680B2 (en) 2003-09-07 2014-01-07 Microsoft Corporation Bitstream-controlled post-processing filtering
US8094711B2 (en) * 2003-09-17 2012-01-10 Thomson Licensing Adaptive reference picture generation
JP2007511938A (ja) * 2003-10-31 2007-05-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ信号の符号化方法
US7630576B2 (en) * 2004-02-19 2009-12-08 Sony Corporation Signal processing apparatus and method, and command-sequence data structure
US7492848B2 (en) * 2005-04-13 2009-02-17 Texas Instruments Incorporated Method and apparatus for efficient multi-stage FIR filters
US7756350B2 (en) * 2006-11-13 2010-07-13 Global Ip Solutions, Inc. Lossless encoding and decoding of digital data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623739B2 (en) 2011-03-24 2020-04-14 Sony Corporation Image processing apparatus and method
US11095889B2 (en) 2011-03-24 2021-08-17 Sony Group Corporation Image processing apparatus and method

Also Published As

Publication number Publication date
JP2010514246A (ja) 2010-04-30
CN101563926B (zh) 2011-11-16
EP2123051A1 (en) 2009-11-25
US20140079330A1 (en) 2014-03-20
US8582666B2 (en) 2013-11-12
US20100027686A1 (en) 2010-02-04
DE602007010514D1 (de) 2010-12-23
ATE488096T1 (de) 2010-11-15
US9786066B2 (en) 2017-10-10
KR101545005B1 (ko) 2015-08-21
RU2461977C2 (ru) 2012-09-20
EP2123051B1 (en) 2010-11-10
CN101563926A (zh) 2009-10-21
PL2123051T3 (pl) 2011-04-29
RU2009127749A (ru) 2011-01-27
MX2009006404A (es) 2009-06-23
KR20090100402A (ko) 2009-09-23
WO2008075247A1 (en) 2008-06-26

Similar Documents

Publication Publication Date Title
ES2356023T3 (es) Compresión y descompresión de imágenes.
KR100242636B1 (ko) 블록화효과 및 링잉노이즈 감소를 위한 신호적응후처리시스템
JP5391290B2 (ja) テクスチャレベルに基づく量子化調整
JP5039777B2 (ja) Dcシフトアーチファクトに対する量子化調整
US8189943B2 (en) Method for up-sampling depth images
KR100219628B1 (ko) 루프필터링 방법 및 루프필터
JP5419744B2 (ja) 仮想画像を合成する方法
ES2906724T3 (es) Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen
US8111760B2 (en) Deblocking filters
ES2623298T3 (es) Filtrado de vídeo de post-procesamiento controlado por flujo de bits
JP5230669B2 (ja) 深度画像をフィルタリングする方法
US20210344928A1 (en) Codec
CN104982035B (zh) 用于对数字图像的序列进行编码的方法
TW201724023A (zh) 畫像編碼裝置、畫像解碼裝置、畫像編碼方法、畫像解碼方法及記憶媒體
CN109756734B (zh) 对数据阵列进行编码的方法和设备
CA2616875A1 (en) Apparatus and method for adaptive 3d artifact reducing for encoded image signal
CN115606179A (zh) 用于使用学习的下采样特征进行图像和视频编码的基于学习的下采样的cnn滤波器
JP2023513414A (ja) ビデオサンプルのブロックを符号化および復号するための方法、装置、およびシステム
EP1135749A1 (en) Device and method for filtering
US11356660B2 (en) Methods and systems of video coding using reference regions
KR20050085368A (ko) 블록화 아티팩트들을 측정하는 방법
CN112740690B (zh) 用于编码和解码代表至少一个图像的数据流的方法和设备
Park et al. Structural similarity based image compression for LCD overdrive
Storch et al. Exploring ERP Distortions to Reduce the Encoding Time of 360 Videos