| Artículos | 01 ENE 1995

Formatos gráficos

Compartir

Faustino Forcén.

De vez en cuando en alguna parte surge la discusión sobre cuál es el mejor formato gráfico, y también de vez en cuando algún usuario dice aquello tan famoso de " pues para escanearlo mejor en PICT, pero para filmarlo, depende, si es en color TIFF y si en blanco y negro EPS " , donde los nombres de formatos y acciones son intercambiables en función del interlocutor y/o la hora del día .

Y el caso es que tampoco hay tantos . Afortunadamente, los usuarios reclaman formatos estándares, y todas las aplicaciones gráficas, independientemente del formato " nativo " en que trabajen, permiten abrir y grabar documentos en una serie de formatos comunes . Estos formatos son lo que vamos a revisar aquí, sin entrar en discusiones sobre cuál es mejor o peor . Es sólo una guía con la intención de resolver dudas y aclarar conceptos .

Un poco de teoría

Antes que nada, hay que aclarar dos cosas: qué es un bitmap, y el tema de la compresión . Un bitmap, como su propio nombre indica, es un mapa de bits; es decir, una sucesión de valores que pueden ser uno o cero . En memoria, la estructura bitmap incluye un rectángulo donde se va a dibujar y la dirección de memoria donde empiezan los bits que describen una imagen en concreto .

Las rutinas para dibujar bitmap cortan la descripción formada por los bits en función de la anchura del rectángulo y lo dibujan en la posición que se desea . Hasta aquí sencillo, ¿ no ? Pero seguro que algún observador avezado ha dicho " pero si yo he visto dibujos bitmap en colores, ¿ cómo es posible entonces que sólo se correspondan los valores con uno o cero ? "

Estrictamente hablando, un bitmap es un dibujo en blanco y negro ( cero y uno en el Mac ) . Un dibujo en color, cualquier número de colores, se denomina pixmap, o mapa de pixels . En este caso un pixel se refiere a un punto del dibujo que además tiene información sobre el color en que se va a representar en pantalla o cualquier otro dispositivo de salida . Esta información puede ser directamente el color ( en valores correspondientes a RGB ) o el índice a dicho color en la paleta que el sistema o el programa haya asignado a ese dibujo ( color indexado ) .

Sin embargo, siempre se emplea la palabra bitmap para referirse tanto a un mapa de bits como a un mapa de pixels . ¿ Por qué ? Porque también están los gráficos vectoriales . En un bitmap la imagen está representada como una colección de puntos, mientras que una imagen vectorial está formada por una serie de " primitivas " que se corresponden a los objetos que se han usado para componer dicha imagen .

Las primitivas básicas son rectángulos, círculos, líneas ( rectas y curvas ) y polígonos ( además de texto ) ; junto a ellas se emplean " primitivas " más elaboradas, como las curvas de Bézier, un tipo de línea en el que la curvatura se obtiene a partir de aplicar una serie de funciones matemáticas a tres puntos que definen dicha curva . La regla básica para distinguir a un bitmap de un gráfico vectorial: los primeros se modifican punto a punto, y los segundos modificando cada elemento . Los bitmaps son realmente WYSIWIG ( lo que ves en pantalla es lo que obtienes en papel ) mientras que los gráficos vectoriales, gracias a la facilidad que hay en traducir las primitivas de pantalla a objetos de PostScript dan una calidad impecable al imprimir ( en dispositivos PostScript ) .

Compresión

El otro punto importante es la compresión . Casi todos los formatos gráficos llevan algún tipo de compresión . Las imágenes pueden alcanzar tamaños realmente dificiles de manejar, y mucho más de almacenar . Por ello se suelen emplear distintos tipos de compresión . El esquema de compresión más sencillo es el RLE ( Run Length Encoded ) que sustituye una secuencia determinada de bits por un código . En este sistema están basados la mayoría de los esquemas de compresión, con variaciones dirigidas a obtener más velocidad o más compresión .

La versión más sencilla del RLE es el PackBits, que usa el mismo valor del byte, precedido del número de veces que aparece como código . Le sigue en complejidad el esquema Huffman, en el que las cadenas de bytes de cada línea se sustituyen por unos valores predefinidos, y el Huffman Modificado, oficialmente conocido como CCITT Grupo 3 1-Dimensión . Este esquema, y los siguientes, Grupo 3 2-D y Grupo 4, están especialmente adaptados para imágenes bitono ( blanco y negro ) , ya que se crearon como parte del estándar de comunicaciones para su utilización en máquinas de fax .

El formato de compresión LZW ( Lempel-Ziv & Welch ) es otro sistema de compresión muy común, y con bastantes ventajas sobre el Huffman . Para empezar trabaja con imágenes de distinta profundidad ( planos de color ) , y es muy rápido, más que el PackBits e igual que el Huffman . Sin embargo, este algoritmo se diseñó pensando en comprimir cualquier tipo de datos, y no está especialmente adaptado para obtener el máximo de prestaciones en su uso con imágenes .

Para eso tenemos la compresión JPEG ( Joint Photograph Experts Group ) , un esquema de compresión especialmente creado para la compresión de imágenes en color y escala de grises ( sólo acepta imágenes con 8 bytes por cada uno de los componentes ) . Aunque, realmente, JPEG no es ún único algoritmo que se aplica por defecto a todas las imágenes .

El estándar JPEG define distintos tipos de procesos para conseguir los objetivos que mejor se adapten a cada aplicación . Y, aunque el JPEG se considera como un esquema que modifica la imagen, eliminando datos redundantes, existen versiones " lossy " y " lossless " , es decir que pierden o que no pierden detalles de la imagen . Sin embargo, tradicionalmente se aplican los algoritmos que hacen que la calidad se degrade levemente, por ser los que proporcionan un mayor nivel de compresión en los archivos .

PICT

Este es el formato gráfico de Macitonsh por excelencia . El PICT apareció con el primer Macintosh, como formato nativo de MacDraw, y como el formato soportado por las rutinas de dibujo de la Toolbox ( DrawPicture ) .

El formato PICT es un típico ejemplo de formato gráfico vectorial . Un archivo PICT contiene una serie de primitivas, almacenadas junto con sus características ( posición, color, modo de dibujo, etcétera ) . Una de esas primitivas puede ser un bitmap, y de hecho, la mayor parte de los documentos PICT que se generan actualmente ( por ejemplo, los creados por PhotoShop o cualquier escáner ) contienen únicamente una descripción bitmap .

Puede parecer incongruente usar un formato vectorial para almacenar un bitmap pero, como casi todo en el Mac, tiene una explicación . El PICT es el formato nativo del Mac, hasta el punto de que no hay que crear ninguna rutina para dibujar un PICT en pantalla . El propio sistema se encarga de ello . Al mismo tiempo, Apple ha ido añadiendo al formato los opcodes ( instrucciones ) necesarios para ir evolucionando junto con el ordenador . Estos opcodes incluyen soporte a color .

Esta característica estuvo presente desde que apareció el color QuickDraw, o soporte a imágenes comprimidas, y cuando Apple introdujo el QuickTime . Este soporte llega hasta el punto de que si se intenta dibujar una imagen comprimida, pero no se tiene QuickTime instalado, el sistema dibuja una imagen en blanco, del mismo tamaño que el original, con un texto en el centro que indica que es necesario instalar QuickTime para poder ver la imagen .

El PICT también tiene compresión . De hecho, estrictamente hablando, tiene hasta cuatro tipos distintos de compresión, pero que se pueden reducir a dos: sin compresión y compresión PackBits . Este es un tipo de compresión RLE soportado a nivel de sistema operativo, y se aplica principalmente

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información