ANÁLISIS DE LOS DIFERENTES FORMATOS DE IMÁGENES QUE PUEDEN SER UTILIZADAS POR OziExplorer

Lo primero que desearía comentar es que la realización de este documento me ha sorprendido bastante, y creo que a muchos de vosotros también os va a sorprender. Adem´s he aprendido una barbaridad sobre el sistema de imágenes.

Objetivo: Determinar qué formato de imágen es el más conveniente para ser utilizado por OziExplorer, considerando:

Se han analizado varias imagénes de mapas distintos. Al final del estudio vereis por qué lo he hecho así.

1. ANÁLISIS DE UN MAPA COMPLEJO, Y QUE CONTIENE AL MENOS 256 COLORES
    Estas imágenes corresponden a los mapas que obtenemos principalmente cuando usamos un escáner, o bien se compran en un CD. Se tratan de imágenes complejas con muchos cientos de colores. Se ha considerado al menos 256 colores distintos.
    En particular, esta imagen ha sido escaneada con una resolución de 200 puntos por pulgada (ppp). Despúes las diferentes partes fueron unidas mediante el programa Visual Stitcher (versión 1,5c). Esta versión tenía orifinalmente un "bug" que reducia la resolución de las imágenes a 150 ppp (ya arreglado con un parche válido sólo para versiones registradas). Después fueron transformadas con Paint Shop Pro hasta conseguir una resolución de sólo 72 ppp.
    Se han valorado los principales tipos de formatos gráficos reconocidos por la actual versión de OziExplorer (3.81b). Además, he incoporado una imágen en formatos GIF y TIF con compresión LZW, formatos de los que se indica que no reconoce OziExplorer todavia, pero que no es verdad. Algunas  de estas imágenes NO han sido comprimidas (BMP, TIF), y otras han sido comprimidas (GIF, JPG, y TIF con compresión LZW y Packbits). Para convertir estos formatos de imágenes seguí el siguiente protocolo.

Aquí teneis unas imágenes que os hacen ver el aspecto general de este tipo de mapas.
 

Una imagen del mapa completo a escala 1:9
   
El mismo mapa a escala 1:1 (con 72 ppp) y detalle de la complejidad de la imágen

 
FORMATO
GRÁFICO
COMPRESIÓN Y TIPO
TAMAÑO EN DISCO
COLORES
BMP
NO
12.099 kb
256
GIF
SI
14.397 kb
256
PNG
SI
11.134 kb
256
JPG
SI (15%)
5794 kb
16 Millones
TIF
SI (tipo LZW)
14.338 kb
256
TIF
No Comprimido
12.098 kb
256
TIF
SI (tipo Packbits)
12.440 kb
256
Tamaños y resoluciones obtenidas para una imágen original de 5526 x 2241 pixels (canvas de 76,75 x 31,13 cm) , y 256 colores

Lo que me ha resultado completamente inesperado es el hecho de que las imágenes comprimidas generan archivos en el disco que tienen un tamaño ligeramente inferior (PNG) o incluso superior (TIF tipos LZW y Packbits) que cuando se usa el formato BMP, que no comprime la imágen.

¿Cómo ews posible ésto?. Pues bien, en mi opinión la disparidad del patrón de puntos que componen el mapa es demasiado complejo, y los algoritmos de compresión no trabajan bien bajo estas condiciones. Este patrón hace que el mapa sea muy heterogéneo, y no hay regiones del mapa que sean iguales unas a otras. Dicho en otras palabras. Si el mapa tuviera regiones homogeneas que tuvieran un único color y estuvieran exentas de información, haría que un algoritmo de compresión pudiera funcionar mucho mejor.

Pero esto lo  vais a ver esto mucho mejor cuando analizemos un segundo tipo de imágenes.

2. ANÁLISIS DE UN MAPA DE MENOR COMPLEJIDAD Y MENOR NÚMERO DE COLORES (16)

    Para hacer este análisis he usado uno de los mapas de dominio público que se pueden obtener de la región de La Rioja, y que están disponibles en las páginas de Internet del Gobierno de Navarra.
    A diferencia del mapa anterior, estos mapas, aun cuando siguen teniendo color, están creados sólo por la delineación de curvas de nivel y otras líneas que definen carreteras. casas, etc. En general, la complejidad del mapa es muy inferior al del mapa anterior. Existen muchas zonas homogéneas de color blancas que carecen de información, y éstas pueden ser objeto de una compresión mucho más eficaz.
    El proceso de conversiones que he realizado a partir del mapa original ha sido también muy controlado. Usando una imagen original en formato BMP, he creado el resto de las imágenes. Con la opción View Information de la imágen que viene en Paint Shop Pro, me he asegurado que TODAS las imágenes tienen el mismo tamaño de pixels, el mismo tamaño de "canvas" o lienzo, la misma resolución (en este caso 28 ppp), y los mismos números de colores (excepto en el caso de las imágenes de tipo JPG).
 
 


Una imagen del mapa completo a escala 1:4
   
El mismo mapa a escala 1:1 (con 28 ppp), y detalle de la complejidad del mapa

 
FORMATO
GRÁFICO
COMPRESIÓN Y TIPO
TAMAÑO EN DISCO
COLORES
BMP
NO
1.221 kb
16
GIF
SI
167 kb
16
PNG
SI
172 kb
16
JPG
SI (15%)
877 kb
16 Millones
TIF
SI (tipo LZW)
192 kb
16
TIF
No Comprimido
1.223 kb
16
TIF
SI (tipo Packbits)
419 kb
16
Tamaños y resoluciones obtenidas para una imágen original de 2000 x 1250 pixels (canvas de 71,43 x 44,64 cm) , y 16 colores

Aquí podeis observar como todos los algoritmos que comprimen el mapa, rinden unos archivos que son significativamente más reducidos que el mapa original en formato BMP. Destacan los algoritmos de los formatos GIF, PNG y TIF en formato LZW. En estos tipos de imágenes si es conveniente usar la compresión, siempre que no haya un detrimento en la carga de las imágenes y en su arrastre.

3. TIEMPO DE CARGA DE LAS IMÁGENES
    Para hacer este experimento, usé mi ordenador personal (Pentium II a 233 MHz, 64Mb RAM, tarjeta gráfica convencional tipo AGP de 4Mb de memoria sin aceleración alguna). Eliminé todas las aplicaciones que estaban en marcha, y ejecuté OziExplorer. Cada vez que cargaba una imágen, media el tiempo que tardaba en hacer el doble click para seleccionar la imágen en un proceso de Load and calibrate map, y dejaba de medir cuando el puntero se convertía desde el puntero tipo reloj de arena a la flecha otra vez, lo que indicaba que el proceso había terminado. Este proceso usa la misma rutina de carga que cuando se usa un mapa ya calibrado, y tiene como objeto el presentar la imagen en la pantalla.
    Además, tuve la precaución de salir de OziExplorer cada vez que empezaba la carga de una imágen, y siempre alternaba entre imágenes comprimidas y no comprimidas, para evitar una aceleración del proceso por el uso de la caché de memoria. Soy consciente de que hubiera sido mejor apagar el ordenador cada vez que empezaba la carga de un archivo diferente, o de borrar por completo el uso de la memoria con un programa como Freemem (del que no dispongo en estos momentos), pero no me ha parecido tan necesario una vez que he hecho el experimento.
    En cualquier caso, creo que el estudio, aun no pudiendo ser lo suficientemente exacto, si es significativo. Aquí están los resultados de una doble medida.
 

FORMATO GRÁFICO
TIEMPO (1er EXPERIMENTO)
(segundos)
TIEMPO (2º EXPERIMENTO)
(segundos)
BMP
3,7
3,7
PNG
5,8
5,9
JPG
27,5
27,6
GIF
30,4
29,7
TIF SIN compresión
38,6
38,7
TIF con compresión LZW
16,8
17,0
TIF con compresión PACKBITS
9,0
8,7
Tiempo que tarda OziExplorer en cargar la imágen CazorlaMI en diferentes formatos para su calibración

CONCLUSIONES
   Aún falta por comprobar cuán rápido es el desplazamiento por la pantalla de las diferentes versiones del mapa, y si se forman "islas" vacías en la pantalla cuando estas se desplazan por la pantalla mediante la función "drag" de OziExplorer.Además, todavía falta por analizar los tipos de zoom disponibles en cada uno de los formatos. En particular, no se puede usar el zoom del 75% (bastante útil) con las imágenes en formato TIF, mientras que si se puede hacer con el formato PNG.
    Tal y como están las cosas, creo que si se tiene la certeza absoluta de que la imágen es compleja, debería usarse el formato BMP como el formato estándar. Aunque no es una tontería el dejar de planteárselo y comprimir todas las imágenes con el formato PNG, El tiempo de descarga para un mapa grande que esté comprimido en este formato  no difiere mucho de cuando se usa las imágenes en formato BMP (el más rápido)..

Considerando todos los criterios, y a título personal, RECOMIENDO el formato PNG como el formato más adecuado para su uso con todos los mapas.