1 / 47

Tema 6: Compresión de imagen

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

jun
Download Presentation

Tema 6: Compresión de imagen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tema 6: Compresión de imagen Lab. Procesado de Imagen, ETSI Telecomunicación

  2. 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

  3. 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

  4. 1.- Introducción (II)

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 2.- Codificación de pixel (III) • Código de longitud variable: código Huffman • Aproxima la entropía:

  11. 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

  12. 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

  13. 3.- Cuantificación: escalar (III)

  14. 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

  15. 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.

  16. 3.- Cuantificación vectorial: Motivación x2 fx(x1,x2) fx2(x2) x1 fx1(x1) x2 x1

  17. 3.- Cuantificación vectorial: Motivación x2 fx(x1,x2) fx2(x2) x1 fx1(x1) x2 x1

  18. 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

  19. 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:

  20. 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)

  21. 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.

  22. 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:

  23. 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)

  24. 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:

  25. 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)

  26. 3.- Cuantificación vectorial. LBG

  27. 3.- Cuantificación vectorial. LBG

  28. 3.- Cuantificación vectorial. LBG

  29. 3.- Cuantificación vectorial. LBG

  30. 3.- Cuantificación vectorial. LBG

  31. 3.- Cuantificación vectorial. LBG

  32. 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

  33. 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

  34. 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

  35. 4.- Codificadores de forma de onda (IV)

  36. 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

  37. 4.- Codificadores de forma de onda (VI)

  38. 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

  39. 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]

  40. 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

  41. 4.- Codificadores de resolución variable. Plano de bits (II)

  42. 4.- Codificadores de resolución variable. Plano de bits (II)

  43. 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

  44. 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]:

  45. 5.- Codificadores de transformada (III) • DFT: • DCT: • WHT:

  46. 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

  47. 6.- Codificadores basados en modelos (II)

More Related