PÁGINA DE RECURSOS   En galego ►


COMPRESIÓN DE IMÁGENES

El principal inconveniente de la fotografía digital es sin duda la cantidad de información que requiere y el tamaño de los archivos que genera. La capacidad de trabajo y de almacenamiento de los sistemas informáticos va en aumento, pero también nos vamos habituando a disponer de más megapíxeles, de ahí que se mantenga el uso y el interés por la evolución de las técnicas de compresión.

El tamaño de una fotografía mientras se procesa con un programa o se muestra en un explorador, es el que corresponde a su número de píxeles y profundidad de bits. La compresión consiste en sustituir la cadena de datos por otra más corta cuando se guarda el archivo. Ciertos métodos son reversibles (lossless), porque permiten la reconstrucción exacta del original. Pero con otros la información original sólo se recupera aproximadamente, ya que se descarta una parte de los datos (lossy), a cambio de relaciones de compresión mucho mayores.

Compresión sin pérdidas
Diferenciamos sistemas adaptativos, no adaptativos y semiadaptativos, según tengan en cuenta o no las características del archivo a comprimir. Los no adaptativos (código Huffman, CCITT) establecen a priori una tabla de códigos con las combinaciones de bits que más se repiten estadísticamente. A estas secuencias se asignan códigos cortos, y a otras menos probables claves más largas. El problema que presentan es que un diccionario de claves único tiene resultados muy diferentes en distintos originales.

Un código tipo Huffman puede aplicarse de modo semiadaptativo, si se analiza primero la cadena de datos a comprimir y se crea una tabla a medida. Se logra mayor compresión, pero introduce dos inconvenientes: la pérdida de velocidad al tener que leer el original dos veces, y la necesidad de incrustar en el archivo comprimido el índice de claves. Los compresores de uso general más populares utilizan métodos como este, por eso tardan más en empaquetar los datos que en descomprimirlos. El número de entradas de la tabla puede ser configurable.

c
Ejemplo de codificación de una línea de píxeles sobre una tabla de 4 entradas y sobre otra de 6 entradas

Entre los métodos adaptativos, el más simple es RLE (run lengh encode). Consiste en sustituir series de valores repetidos por una clave con indicador numérico.

c
El método RLE codifica series de píxeles repetidos
Esta secuencia de 12 valores se anota con 6 datos

Muchos otros métodos derivan de éste, pero su eficacia depende del tipo de imagen. Los dos ejemplos siguientes tienen 25 valores, pero mientras que el primero se queda en 10 datos, el segundo (un caso extremo) no reduce su tamaño, sinó que lo duplica. La anotación de píxeles por series es adecuada en imágenes con zonas amplias de colores uniformes, pero no en otras con cambios frecuentes de valor ó predominio de texturas.

c

El sistema adaptativo LZ (de Abraham Lempel y Jacob Ziv), del que deriva el LZW (Lempel-Ziv-Welch), es más ingenioso y consigue, en una lectura única, codificar repeticiones sin crear tabla de códigos: Cuando se localiza una secuencia similar a otra anterior, se sustituye por una clave de dos valores: cuántos pasos se retrocede, y cuántos datos se repiten.
Rápido y fiable, se utiliza en formatos universales como GIF ó TIF, aunque no logra relaciones de compresión muy altas, normalmente ahorra un tercio del archivo.

c
Comportamiento del algoritmo LZ
# 3 2 significa retroceder 3 píxeles y repetir 2
# 12 7 significa retroceder 12 píxeles y repetir 7

Compresión con pérdidas
Dentro de esta categoría es universalmente conocido por su eficacia el formato jpg, aunque cabe mencionar también el método Fractal, que analiza la imagen dividiéndola en bloques y estableciendo regiones a mayor escala. Se rastrean estas regiones de manera que mediante escalado, rotación, reflejo, o combinación de transformaciones puedan corresponder a un bloque. Se anotan correspondencias y se testean, seleccionando las que permitan una reconstrucción más parecida de los datos.

La compresión basada en la geometría fractal consigue muy buenas ratios de compresión y en cierta manera vectoriza las características de la imagen de manera que se puede reconstruir la imagen a diferente escala. El principal inconveniente es la lentitud del proceso, debido a la gran cantidad de recursos que exigen los cálculos.

El sistema propuesto por el JPEG (Grupo de Expertos en Fotografía Reunidos), es una combinación de varias técnicas que crea un archivo JPG con un nivel de compresión regulable capaz de reducir en algunos casos el peso informático de la imagen a menos del 1%. El proceso estándar consta de cinco pasos:

1- Convertir la imagen a un modo de color que defina la luminancia en un canal, como YCC ó LAB. Los bitmaps se pasan a grises, y en las escalas de grises se obvia este paso.

2- Dado que ópticamente somos capaces de ver un cambio sutil en la luminosidad mucho antes que en el tono cromático, se iguala el tono en cada grupo de cuatro píxeles, respetando los valores individuales de luz.

c
En modo LAB, cada píxel tiene un valor L de luz
y dos valores AB para definir el color
Obsérvese como sólo este paso de la compresión jpg supone
una disminución del 50% de los datos a anotar

3- La imagen se divide en bloques de 8x8 píxeles. Para cada subimagen se anota el valor promedio, la amplitud de la oscilación de valores y una descripción frecuencial de esta oscilación mediante una función de tipo Fourier, llamada Transformada discreta del coseno (TDC), en la que se combinan varios parámetros de onda. Cuantos más parámetros mejor correspondencia habrá entre la función y la secuencia de valores, aunque con pocos conservaremos los datos básicos.

c
La oscilación sobre un valor medio (A) puede representarse por una forma lineal (B),
y ésta puede reproducirse como una suma de ondas. La onda C describe
la forma B mucho peor que las 5 ondas del gráfico D que vemos sumadas en E

4- Los valores TDC se cuantifican a la baja, dividiéndolos por un factor entero. El número de coeficientes de onda y el factor a dividir determinan la profundidad de la compresión, es lo que decidimos en una escala que según programas va de 1 a 10, de 1 a 12 o de 0 a 100, pero siempre jugando inversamente entre el nivel de compresión y la calidad del resultado. Tras esta cuantificación abundan las fracciones decimales, que se redondean al entero más próximo. Así resulta una cadena de datos con muchas probabilidades de reiteración.

5-Al resultado se le aplica la codificación estadística de Huffman, compactando las cadenas más repetidas en códigos breves.

La compresión con pérdida deja huellas
Los efectos negativos de una excesiva compresión pueden ser un empobrecimiento del tono y la nitidez global, que notaríamos más bien en una impresión, y la aparición de artefactos a nivel local, visibles sobre todo en pantalla, aunque JPG sea un formato habitual en Internet. Estos efectos son menores en imágenes grandes, de varios megapíxeles, en las que las baldosas 8x8 son menos importantes para el detalle y la codificación de la última fase es mucho más efectiva, logrando buenas relaciones de compresión aunque indiquemos niveles altos de calidad medio-altos.

Los efectos más típicos son la aparición de los bloques de 8x8 píxeles, el ruido cromático en las zonas oscuras, y la alteración de las siluetas, que se ven borrosas en imágenes de poca resolución y reberveradas en las más grandes.

A c

B c

C c
A= imagen original.
B= reberveraciones en los bordes por una excesiva compresión.
C= detalle de los bloques de 8x8 píxeles

La reberveración la producen las baldosas que coinciden con un borde marcado. Su reconstrucción es mucho más irregular que las de sus vecinas, que coinciden en una zona de menor oscilación y resultan mucho más homogéneas. Así se producen pinceladas de falso contraste a varios píxeles de distancia de la verdadera silueta.

La solución pasa por una mejor correspondencia formal, que se busca hoy en las formas Wavelet, un tipo de patrones de onda diseñables que pueden ser sinusoidales o no, y establecerse con una duración finita. Combinando Wavelets (TDW) pueden describirse formas complejas con muchos menos coeficientes. Esta es la base de nuevas técnicas como EZW, SPIHT, MrSID ó JPEG 2000, que quieren ser la alternativa al actual JPG.

 

PÁGINA DE RECURSOS   En galego ►
modos