Capítulo 3 - Síntesis de estructuras fractales deterministas

[01 - 02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12 - 13]

Modelos matemáticos para las imágenes del mundo real: modelo binario, medidas y distribuciones - Imágenes subjetivas - Métrica para imágenes - Imágenes digitales - Una definición de fractal diferente - Sistemas de funciones iteradas: ejemplos - El juego del caos: ejemplos - Transformación con condensación - Sistemas de funciones iteradas recurrentes - SFI para generar medidas - El problema inverso - Compresión con técnicas fractales - Sistemas de funciones iteradas particionados - Sistemas L: curvas fractales y ramificaciones - Autómatas celulares y autoorganización crítica

 
   
 

Sistemas de funciones iteradas particionados

Resulta difícil apreciar autosemejanzas, por ejemplo, en la imagen de ‘Lena’.

Autosemejanzas en Lena

Sin embargo, considerando porciones convenientes de imagen y comparándolas entre si, resultan visualmente ‘semejantes’. Es decir, esta imagen y, en general, las imagenes naturales, poseen alguna clase de autosemejanza interna.

Esta autosemejanza puede ser extraida y explotada haciendo uso de SFI particionados.

La compresión con SFIP consiste en determinar transformaciones w (eventualmente contractivas y eventualmente afines) que aplican bloques de pixels de la imagen original (bloques fuente F) en otros bloques de menor tamaño de la misma (bloques destino D), con el criterio de hacer mínima la diferencia entre los niveles de gris respectivos de w(F) y D.

 
     
ILUSTRACIÓN Ilustraremos el procedimiento con una imagen cuadrado I, con niveles de gris, por ejemplo 256, que se consiguen con 1 byte por pixel. El algoritmo comienza realizando una partición de la imagen en bloques, que suponemos ahora cuadrados, los bloques D. Seguidamente, se selecciona un “diccionario” de partes cuadradas de la imagen original, los bloques F, de tamaño mayor que los respectivos bloques D. Evidentemente, el “diccionario” deberá tener muchos mas efectivos que la partición.  
 

 

 
Partición de Lena
Diccionario de Lena
     
 

Si suponemos la imagen original I con PxP pixels, efectuamos una partición de la misma en ND=(P/r)2 bloques de tamaño rxr. Seleccionamos también sobre I la colección de todos los bloque cuadrados de tamaño 2rx2r (no necesariamente disjuntos), los bloques fuente. Su número resulta NF=(P-2r+1)2.

Por ejemplo, si P=256, y r=8, se tiene

 
 
 
  y para los bloque fuente,  
 
 
 

En el contexto de las imágenes con niveles de gris, para comparar cada bloque destino D con todos los bloques fuente F se hace uso de una transformación afín

 
 
 
 

donde si controla el contraste y oi el brillo de la transformación.

En el caso particular ilustrado, los bloques fuente y los bloques destino son cuadrados. Las aplicaciones afines diferentes entre dos cuadrados, descritas por los coeficientes ai, bi, ci, di, aparte de la eventual contracción, son ocho:

Las 8 aplicaciones afines

Simetría respecto de diagonal secundaria (simetriads.m)

Los coeficientes a, b, c, d, identifican, sucesivamente, a cada una de las 8 posibles isometrías del cuadradrado, de forma que es necesario comparar 8x58081=464648 cuadrados F con cada uno de los 1024 cuadrados destino D. Además cada cuadrado F tiene 4 veces mas pixels que cada destino D, de forma que es necesario en cada caso promediar los valores de pixel de los bloque 4x4 en F.

La comparación minimiza la distancia de los pixels de F (transformado y promediado) y D. Para hacer esto, supongamos que tenemos un bloque F, su transformado F’, y el destino D, todos con con el mismo número n de pixels. Es necesario hacer mínima la función

 
 
 
 

donde designamos con f y p los pixels de F’ y D, respectivamente.

Aplicando la condición necesaria de extremo resulta

 
 
 
 

Si el denominador para si es 0, entonces si=0.

Hallado el valor mínimo obtenemos, para cada bloque D, un colectivo a, b, c, d, e, f, s, o. Puesto que la codificación debe recoger las localizaciones de los bloques fuente D, y las transformaciones afines, que incluyen brillo y contraste, teóricamente, serían necesarios 1024x8x32 bits=262144 bits (32768 bytes) para describir la imagen comprimida.

En la práctica, se precisan 8 bits para determinar la posición de D, 7 bits para o, 5 bits para s y 3 bits para la isometría, lo que totaliza 3968 bytes para el ejemplo desarrollado.

Teniendo en cuenta que partimos de una imagen con 256x256x1 = 65536 bytes la razón de compresión resultante es

 
 
 
 

La recuperación de la imagen (descomprimida) se realiza aplicando la correspondiente transformación de Hutchinson en forma iterativa, partiendo de una imagen arbitraria.

Recuperación de Lena

 
     
INDEPEN-DENCIA DE LA RESOLUCIÓN

Como en el caso de los SFI, los SFIP describen una imagen sin resolución fija. En realidad, el patrón está determinado por las dimensiones en pixels (anchura por altura). Todo lo que sucede a partir de este patrón original es un proceso de interpolación, añadiendo nuevo detalle artificial, sin relación real con detalles reales.

En cualquier caso, esta propiedad de independencia de la resolución, puede ser útil. Eliminando de los propósitos centrales la búsqueda de una alta compresión, se codifica la imagen mediante un SFIP de muy alta calidad, que permita, en tiempo de descodificación, realizar una interpolación fina que muestre el detalle deseado.

 
     
MÉTRICA Es posible seleccionar varias métricas para comparar imágenes (por supuesto, del mismo tamaño). Por ejemplo,  
 
 
     
TÉCNICAS DE PARTICIÓN

Un problema de la ilustración descrita es el tamaño fijo de los bloques. Hay regiones de la imagen que precisan de un tamaño pequeño de bloque para resultar bien descritas (ojos de Lena) y otras que no precisan tamaños tan pequeños. De hecho, para conseguir niveles elevados de compresión, sería conveniente manejar bloque grandes.

Otro problema está relacionado con los recursos computacionales necesarios para realizar la compresión (tiempo). En este caso, estarían relacionados con las búsquedas necesarias para comparar todos los bloques fuente con todos los bloques destino.

Para la formación de las familias de bloques se hace uso de varias técnicas alternativas: partición quadtree, partición horizontal-vertical (H-V), partición triangular, etc.

Quadtree

Partición quadtree

HV

Partición HV

Triangular

Partición triangular

 
     
CLASIFICA-
CIÓN

Puesto que constatamos que uno de los problemas clave que influyen en la velocidad de compresión es el número de bloques fuente que es necesario procesar y comparar con un número determinado a priori de bloques destino, aparte de las diferentes técnicas para la construcción de familias, existen métodos para la reducción de efectivos de las mismas basadas en clasificaciones.

Existen numerosos esquemas de clasificación. Uno de ellos consiste en caracterizar los bloques (fuente y destino) de acuerdo con su contenido. Así, se consideran

i.- bloques con borde;
ii.- bloques sombra, sin rasgos especiales; y
iii.- bloques término-medio, con alguna estructura, pero sin bordes.

Clasificación

Borde, mid-range y shade (de izquierda a derecha) extraídos de Lena

De esta forma la estrategia se reduce a comparar solamente aquellos bloques fuente-destino que se encuentran en la misma familia.

Otros parámetros que se pueden añadir para una clasificación adicional son la desviación típica de los niveles de gris de un bloque y el número de niveles de gris dominantes dentro de un bloque, cantidad que hace referencia a un umbral que se estima de forma subjetiva.

 
     
CONCLU-
SIONES

En general, no existen implantaciones de esquemas fractales puros, siendo la tendencia a combinar mecanismos que perfeccionen aspectos diferentes del resultado obtenido. En todo caso, estos métodos han demostrado que son una alternativa a considerar cuando el interés es comprimir una vez, descomprimir muchas veces. Este es el caso de información preparada sobre CD-ROM o DVD.

San Francisco

Imagen original, decodificada CF y decodificada JPEG (de izquierda a derecha)

 
     
 
volver al principio
 

 

Original Decodificada CF Decodificada JPEG