470 likes | 761 Views
Tema 6: Compresión de imagen. Lab. Procesado de Imagen, ETSI Telecomunicación. Contenidos. 1.- Introducción Clasificación 2.- Codificación de pixel 3.- Cuantificación Escalar Vectorial Algoritmos de entrenamiento VQ 4.- Codificación de forma de onda Codificadores de resolución variable
E N D
Tema 6: Compresión de imagen Lab. Procesado de Imagen, ETSI Telecomunicación
Contenidos 1.- Introducción • Clasificación 2.- Codificación de pixel 3.- Cuantificación • Escalar • Vectorial • Algoritmos de entrenamiento VQ 4.- Codificación de forma de onda • Codificadores de resolución variable 5.- Codificación mediante transformada 6.- Codificadores basados en modelos
1.- Introducción • El objetivo de la compresión de imagen: • Reducción del número de bits que requieren para: • Almacenamiento • Transmisión • A ser posible con la menor pérdida de calidad
1.- Introducción (III) • La compresión de imagen puede tener tres etapas: • Transformación de la imagen: • Se elimina información redundante • Reducción de su rango dinámico • La información debe compactarse en pocos coeficientes • Cuantificación: • Reducción en la precisión de los coeficientes • Implica siempre pérdida de calidad • Codificación: • Se aumenta la compresión sin introducir pérdidas • Se busca la codificación óptima con el menor número de bits • Estas tres etapas están enormemente relacionadas
1.- Introducción. Clasificación (I) • Tres grandes tipos de técnicas de compresión: • De forma de onda: • La cuantificación se realiza directamente en los niveles de gris • Se suele procesar los niveles de gris para eliminar correlación • De transformada: • Se hace una transformación para eliminar la dependencia entre pixels • Los coeficientes se cuantifican escalarmente y se codifican • La transformación representa un cambio de base • Basados en modelo: • Se trata de modelar la generación de la imagen • Lo que se cuantifica y codifica son los parámetros del modelo • La imagen se divide en regiones homogéneas • Se modela cada región de la imagen de forma independiente
1.- Introducción. Clasificación (II) • Otra clasificación de las técnicas de compresión: • Sin pérdidas: • La imagen original puede recuperarse de forma exacta • No incluyen ninguna fase de cuantificación • Suelen dar lugar a tasas de compresión pequeñas • Con pérdidas: • Se realiza un procesado irreversible de la imagen • Se emplea algún tipo de cuantificación • Las tasas de compresión suelen ser grandes • Visualmente sin pérdidas: • La imagen reconstruida es distinta de la original • Las pérdidas de la imagen no son detectables por el ojo humano • Las tasas de compresión toman valores intermedios
2.- Codificación de pixel (I) • Información asociada al símbolo i-ésimo (fuente de L símbolos) • Información media de la fuente: entropía de la fuente (medida en bits/símbolo) • Entropía de fuente de mensajes equiprobables
2.- Codificación de pixel (II) • Código de longitud fija: • L posibles valores ai, i=0,...,L-1 • El método más sencillo es un código de longitud fija • Se representa cada nivel con n=log2 L bits • El código corresponde al índice i en base 2 con n bits
2.- Codificación de pixel (III) • Código de longitud variable: código Huffman • Aproxima la entropía:
3.- Cuantificación: escalar (I) • Transformación de un conjunto de valores de entrada: • Finito o infinito • Continuo o discreto • En un conjunto de valores de salida siempre: • Finito • Discreto • Se divide el rango de entrada en un número finito de intervalos • Se asigna a todos los valores de cada intervalo un valor representativo • El número de intervalos o niveles es L=2n • n es el número de bits asignados a cada nivel
3.- Cuantificación: escalar (II) • Los intervalos y los valores representativos se deben elegir para que minimicen la distorsión media • El cuantificador más sencillo es el uniforme: • Los intervalos son todos del mismo tamaño • El nivel de cuantificación está a mitad de cada intervalo • Es óptimo exclusivamente cuando la distribución de la entrada es uniforme
3.- Cuantificación: escalar (IV) • Si la distribución de los valores de entrada no es uniforme: cuantificación no uniforme • Se utiliza la técnica de compansión. Varios pasos: 1.- Transformación no lineal: • Uniformiza la estadística de la señal de entrada 2.- Cuantificación uniforme 3.- Transformación no lineal inversa • El efecto conjunto es asignar más niveles a los valores más frecuentes • El ojo tiene características logarítmicas de intensidad • Es lógico que la transformación sea logarítmica
3.- Cuantificación: multiescalar • Agrupación de múltiples cuantificadores escalares • Cada cuantificador se diseña de forma diferente • Se suele utilizar tras una fase de transformación: • Los coeficientes tienen características estadísticas distintas • Esta variación suele ser función de la frecuencia espacial • Se aplica una cuantificación diferente adaptada a cada caso • Es la que vamos a ver en el caso del estándar JPEG.
3.- Cuantificación vectorial: Motivación x2 fx(x1,x2) fx2(x2) x1 fx1(x1) x2 x1
3.- Cuantificación vectorial: Motivación x2 fx(x1,x2) fx2(x2) x1 fx1(x1) x2 x1
3.- Cuantificación: vectorial (VQ) (I) • Se agrupan k muestras de la señal de entrada • En una imagen ello significa dividir a ésta en subbloques de tamaño k pixels • En suma, se parte de vectores k-dimensionales • Y se debe particionar el espacio k-dimensional • Cada partición tiene un representante: centroide • La complejidad ahora aumenta: • Determinación de la partición • Determinación de los representantes o centroides
3.- Cuantificación: vectorial (VQ) (II) • Es la versión multidimensional de la escalar • Las componentes de un vector: Y=[y1,y2,...,yk] se cuantifican de forma conjunta. • El espacio está dividido en regiones Ci • Cada región viene representada por su centroide: • Es un mapeo en uno de los NC centroides según:
3.- Cuantificación: vectorial (VQ) (III) • Al conjunto de los NC centroides se denomina librería de centroides • Lo codificado es el índice i del centroide • Con el índice el decodificador reconstruye el centroide • El tamaño de la librería es NC = 2b • Cada índice i se puede representar con b bits (o aplicar Huffman sobre los índices) • La complejidad aumenta: • Linealmente con el número de centroides NC • Exponencialmente con la dimensión k (tamaño subbloques) • Normalmente, la dimensión es k = 16 (subbloques 4 x 4)
3.- Cuantificación: vectorial (VQ) (IV) • La distorsión introducida cobra importancia en: • La fase de entrenamiento: • Se deben elegir los centroides para minimizar la distorsión en Ci • En la fase de codificación: • Para cada vector de entrada se elige el centroide con distorsión mínima • La medida de distorsión es: • Se pretende encontrar la partición que minimice esta medida.
3.- Cuantificación. Algoritmos de entrenamiento VQ (I) • Es el elemento que diferencia los algoritmos VQ • No se emplean las distribuciones k-dimensionales para determinar los centroides y particiones • Se emplean métodos de entrenamiento que usen el criterio de mínima distorsión:
3.- Cuantificación. Algoritmos de entrenamiento VQ (II) • El algoritmo más clásico es el LBG: • Se parte de un conjunto de centroides: • Para cada vector del conjunto de entrenamiento Yt, t = 1,...,T se elige el miembro más cercano obteniéndose la partición óptima • Se vuelven a calcular los centroides: • ti es el número de vectores de entrenamiento de Si(n)
3.- Cuantificación. Algoritmos de entrenamiento VQ (III) • El criterio de parada viene dado por: • D(n) es la distorsión media dada por: • Dt(n) es la distorsión de cada vector de entrenamiento:
3.- Cuantificación. Algoritmos de entrenamiento VQ (IV) • El algoritmo garantiza llegar a un mínimo local de la función de distorsión. • Es interesante ejecutar el algoritmo varias veces a partir de diferentes puntos de partida (diferentes posiciones de los centroides iniciales)
4.- Codificadores de forma de onda (I) • Se codifica directamente los niveles de gris • Son métodos muy sencillos • Se puede utilizar en un rango muy amplio de señales: • Voz • Imagen • Las tasas de compresión suelen ser menores • Se emplea a continuación cuantificación escalar y codificación de longitud fija
4.- Codificadores de forma de onda (II) • PCM: • La forma más sencilla • La imagen se pasa a través de un cuantificador • Se puede mejorar utilizando un cuantificador no uniforme
4.- Codificadores de forma de onda (III) • DM: • En PCM no se explota la correlación entre pixels • Se cuantifica con 2 niveles (1 bit) la diferencia entre dos pixels consecutivos: • El rango dinámico aumenta al doble • La varianza disminuye considerablemente • El parámetro del DM es el tamaño del escalón • Dos tipos de errores: • Error granular: para señales lentas • Error de sobrecarga de pendiente: para señales rápidas
4.- Codificadores de forma de onda (V) • DPCM: • Es un método predictivo que generaliza el método DM • Se utiliza más de un pixel para predecir el actual • Se utiliza más de un bit para cuantificar la diferencia • Se elimina gran parte de la correlación existente entre pixels • La señal error tiene una varianza mucho menor • Los coeficientes del predictor se pueden mediante algún algoritmo de optimización (aunque el JPEG parte de coeficientes fijos) • El método se puede diseñar adaptativo: ADPCM
4.- Codificadores de resolución variable (I) • La imagen se regenera progresivamente • Codificación piramidal • Se parte de una imagen a baja resolución S0 • Se generan sucesivamente versiones a mayor resolución mediante interpolación • Primero se codifica la imagen S0 a baja resolución • Se calcula la imagen diferencia entre S0 interpolada un nivel y la imagen original a ese nivel • Se codifica la imagen diferencia • Se procede con el siguiente nivel
4.- Codificadores de resolución variable: Codificación piramidal Creación de la pirámide S2[m,n] Error de predicción S1[m,n] Información a transmitir: SJ[m,n] + So[m,n]
4.- Codificadores de resolución variable. Plano de bits • Plano de bits: • A partir de una imagen con P bits se generan P imágenes de 1 bit • Los planos MSB contienen la información estructural • Los planos LSB son más ruidosos y contienen menos información pero no se pueden eliminar • Se transmiten los planos de más a menos significativo • Cada plano de bit hay que codificarlo por separado • Se puede utilizar el método RLE y después Huffman • Es un método sin pérdidas si se transmiten los P planos
4.- Codificadores de resolución variable. Plano de bits (II)
4.- Codificadores de resolución variable. Plano de bits (II)
5.- Codificadores de transformada (I) • Se pretende alterar la distribución de los valores • Se logra independencia • Muchos coeficientes toman un valor muy pequeño • La transformación se realiza sobre bloques de la imagen 8 x 8 ó 16 x 16 • Es un cambio de base de forma que se tengan: • Pocas componentes con valor grande • Muchas componentes con valor muy pequeño
5.- Codificadores de transformada (II) • y[n1,n2] se representa en la base a*k1,k2 [n1,n2] • Transformada unitaria con coeficientes TU[k1,k2]:
5.- Codificadores de transformada (III) • DFT: • DCT: • WHT:
6.- Codificadores basados en modelos (I) • La imagen o una parte de esta se representa con un modelo • Se codifican los parámetros del modelo • La tasa binaria es muy pequeña • En fase de desarrollo • Necesaria una segmentación previa de la imagen • Se utilizan para cada región: • Modelos de texturas: determinísticos y campos aleatorios • Modelos de contornos