lunes, 18 de junio de 2007

Notas para una adecuada selección de formatos gráficos

ZorphDark [blackhat4all@gmail.com]

Los tiempos del enriquecimiento de esquemas visuales con los últimos caracteres de la tabla ASCII en plataformas textuales han pasado de moda. Con la aparición de las interfaces gráficas a finales de los años 60, la evolución se tornó indetenible, llegando a alterar definitivamente el paradigma de muestreo de líneas por columnas de texto. Las productoras de software que dominaban el mercado de las nacientes PC, junto a otras empresas especializadas, comenzaron a adoptar formatos propios para la representación de gráficos, imágenes y animaciones. De este modo surgieron la mayor parte de los modelos de mapas de bits y sistemas vectoriales utilizados hoy en día, cuyos ejemplos más notables son referenciados a continuación:

BMP::

El rey de los entornos visuales de Microsoft Windows llegó a ser el formato BMP, que se convirtió desde los inicios de este sistema operativo en el estándar de las imágenes y botones gráficos, gracias a la simplicidad de su estructura de datos. Los BMP almacenan la información visual en una matriz de píxeles (mapa de bits), sin utilizar algoritmos de compresión, por lo que no consumen tantos recursos del sistema en el proceso de visualización; sin embargo, su tamaño varía considerablemente en relación a las dimensiones del mapa. Hay especificaciones que permiten utilizar el algoritmo RLE para reducir el tamaño de archivo generado, pero, aunque otros métodos externos (ZIP, RAR, etc.) manejan con eficacia su redundancia de datos, esta característica inherente lo aísla por completo del mundo de la Web, cuyos estándares requieren de una estructura óptima para la transferencia a través de todo tipo de red.

Los BMP llegaron a almacenar hasta 24 bits por píxel hasta que Windows XP introdujo una nueva versión de 32 bits con un canal alpha integrado, para que pudiera ajustarse a los nuevos requisitos visuales de este sistema. El formato BMP es libre y existe bastante documentación en la red sobre su implementación en todo tipo de aplicaciones, por lo que es muy común encontrarse con desarrolladores que lo utilizan en sus programas.

Hay otros tipos de formatos similares, como PBM (blanco y negro), PGM (escala de grises), PPM (24 bits de color), IFF (para computadoras Amiga), RAW (guarda información gráfica "en bruto"), entre otros, aunque ninguno de los citados es tan popular como el BMP.

PCX::

Este formato desarrollado por ZSoft Corporation fue ampliamente conocido en los tiempos de MS-DOS. Era el formato nativo de la aplicación PC Paintbrush. Los PCX eran totalmente independientes de las características de los monitores, atributo que lo llevó rápidamente al salón de la fama hasta que otros sistemas de representación de imágenes más sofisticados lo reemplazaron, dejando su nombre en el olvido. Este formato comprime mucho más que el BMP, ya que utiliza el RLE por defecto (aún así, no llega a los niveles de compresión de algoritmos posteriores). Fue bastante utilizado por los primeros videojuegos tridimensionales debido a su excelente proporción entre el tamaño de archivo y la velocidad de decodificación. Existe una versión menos conocida del PCX, llamada DCX, que se usaba en la transferencia de faxes por sus propiedades multipáginas.

TGA::

Nacido en los laboratorios de Truevision (ahora Pinnacle Systems) en 1984, este formato fue utilizado por las primeras tarjetas gráficas de computadoras compatibles con IBM PC que soportaban color real. Dicho hardware estaba orientado al trabajo profesional de edición de imagen y video, por lo cual las resoluciones comunes de los archivos TGA coinciden con la de los formatos NTSC y PAL (no es recomendable utilizarlos para impresión en papel). Las imágenes TGA admiten hasta 32 bits de color con 8 bits extra de canal alpha para transparencia, metadatos, thumbnails y compresión RLE. Actualmente, la industria del cine y de los videojuegos todavía utilizan muy a menudo este formato. Como ejemplos se pueden citar el Warcraft III de la Blizzard Entertainment, los motores de renderización POV-Ray y el Blender.

TIFF::

Muy utilizado para almacenar fotografías y esquemas de alta calidad. Creado a mediados de los años '80 por la empresa Aldus para el trabajo directo con scanners, fue apoyado por la Microsoft Corporation y adoptado posteriormente por Adobe System, quien controla hoy en día la especificación de este formato. TIFF es totalmente compatible con PostScript; es decir, 100% óptimo para la impresión profesional. Además, es muy flexible, por lo que puede utilizarse como contenedor de otros formatos gráficos, debido a sus propiedades multicapa, multipágina, compatibilidad con diferentes algoritmos de compresión, muestreo dinámico de alto rango y posibilidad de incluir tratamiento vectorial. Se puede, por ejemplo, embeber tanto un BMP como una imagen JPEG, especificando en los tags o etiquetas del formato TIFF las propiedades de su contenido.

GIF::

Para solucionar el problema de transferencia de imágenes a través de las antiguas redes (aquellas que utilizaban las líneas telefónicas como interfaz física), el proveedor de servicios on-line CompuServe decidió, en 1987, adoptar el viejo método de compresión LZW (patentado por Terry Welch en 1983) para una nueva línea de imágenes. Mucho mejor que el común algortimo RLE, permitía enviar y recibir imágenes a una gran velocidad a través de los módems de baja velocidad. Posteriormente, con el desarrollo del HTTP y el surgimiento de la World Wide Web, el joven formato GIF llegó a extenderse por encima de lo previsto.

Las potencialidades de sus versiones subsiguientes comenzaron a causar un mayor asombro que sus puntos débiles. Los GIF permitieron reproducir animaciones simples por fotogramas, asignar transparencia y características de entrelazado, admitiendo sólo una profundidad de color de 8 bits a través de una paleta de 256 colores indexados. Este formato no tiene pérdida de calidad siempre que se utilicen imágenes compatibles con su rango de color. Hay técnicas que permiten mostrar hasta 24 bits de color, aplicando capas sucesivas con el respectivos número de índices de colores en intervalos mínimos (la rapidez depende del nivel de procesamiento del CPU).

A pesar de que hubo -y hay aún- millones de páginas webs que utilizan el formato GIF para mostrar imágenes, el W3C nunca ha recomendado el uso de este tipo de imagen por implementar un algoritmo que, aunque desde junio de 2003 es libre, permaneció bajo los efectos de una patente durante todo el período de expansión inicial de la Web.

JPEG::

A finales de la década de 1980 se consolidó el grupo de especialistas en fotografía que publicó su insigne resultado en 1992. Se trata de un algoritmo de compresión que permitió de una vez por todas resolver las dificultades de almacenamiento masivo y transferencia de imágenes a todo color. El método se denominó igual que su comisión creadora: JPEG. Dicho resultado, aprobado en 1994 por la norma ISO 10918-1, recorrió todo el planeta con una gran acogida luego de su estandarización. El algoritmo JPEG aprovecha algunos defectos del ojo humano en la captación de la luminosidad para comprimir imágenes de hasta 24 bits de color (sin transparencia), con pérdida de información visual según la calidad con la que se efectúe el proceso. Es utilizado ampliamente en la Web para la visualización de imágenes complejas, como fotografías de paisajes. No es recomendable aplicar este algoritmo para la compresión de gráficos que pudieran ser analizados con sistemas vectoriales (esquemas, tablas y texto plano). Los archivos resultantes se abrevian normalmente como JPG, debido a que algunos sistemas operativos utilizan -o utilizaban- extensiones de archivo de sólo tres caracteres. El comité JPEG ha creado otros proyectos, como el JPEG2000, que permite mayores niveles de compresión y nuevas funcionalidades, aunque no es recomendable para el uso en páginas web por los problemas de patentes y los requerimientos de hardwares para su correcta visualización.

PNG::

Debido a las deficiencias del algoritmo LZW del formato GIF y sus problemas legales, en 1995 se inició el desarrollo de un nuevo formato alternativo patrocinado por el W3C. El resultado se tornó en un método potente, recomendado por dicha institución para el uso en la Web. Los PNG admiten hasta 64 bits de color, distribuidos entre colores reales y canales alpha. Las versiones menores de 8 bit (comúnmente utilizadas por el nivel de compresión resultante) permiten paletas de color indexadas con transparencia. El formato PNG no soporta animaciones; para ello se creó el MNG y el APNG, que nunca han sido populares debido a su complejidad. Este es el único punto débil con respecto al GIF, ya que siempre que se utilicen las adecuadas técnicas de filtrado, la calidad de los archivos PNG va a ser superior, con un menor costo en bytes. La técnica de compresión por deflación hace que este formato sea el ideal para el almacenamiento de imágenes que contengan textos, figuras geométricas y áreas de color plano. Aún así, se pueden almacenar gráficos de gran complejidad estructural para un posterior tratamiento, ya que el PNG comprime sin pérdida de calidad.

SWF::

La empresa Macromedia (absorbida por Adobe en el año 2005 por $3 500 millones de dólares), desde la primera versión de Flash en 1993, comenzó a distribuir un formato para almacenar los gráficos y animaciones realizados sobre esta plataforma multimedia. Originalmente desarrollado por una pequeña empresa llamada FutureWave bajo el nombre FutureSplash, en sus inicios sólo contenía animaciones a base de fotogramas, pero con la evolución de Flash y su lenguaje ActionScript -incorporado en la versión 5-, el SWF fue adquiriendo tanta popularidad en la Web que, actualmente, a pesar de ser propietario, es uno de los formatos más utilizados en la visualización de contenidos dinámicos en la red de redes y en los teléfonos móviles modernos.

A través del Flash Player -que se debe instalar en el sistema o como un plug-in en los navegadores-, se puede interactuar con una aplicación o un servicio web (embebidos en el SWF) a través de casi cualquier dispositivo de entrada y/o salida, incluyendo webcams, bocinas, etc. Es ideal para la representación de sistemas vectoriales, ya que almacena datos de este tipo (líneas, curvas, gradientes, textos) mediante fórmulas matemáticas; no obstante, también puede almacenar mapas de bits con diferentes tipos de compresión (JPEG, RLE, etc.) y permite comprimir videos con un método muy eficaz que alcanza los primeros lugares en la preferencia de los desarrolladores web, por encima de formatos como Real y Quicktime.

Usar SWF tienen tres desventajas: el formato no es libre, hay más de nueve versiones diferentes -con sus repectivos problemas de compatibilidad- y, para visualizarlos, se necesita de un complemento que no todos los navegadores y sistemas operativos incluyen por defecto.

SVG::

En medio de la guerra de formatos vectoriales a finales de los años '90, con la Macromedia y la Microsoft en un bando y la Adobe y Sun Microsystem en el otro, el W3C decidió llevar a cabo por su propia cuenta, la realización de un nuevo estándar que, además de ser libre, fuera completamente extensible y adaptable a la Web. En 1998 comenzó la ardua labor liderada por Chris Lilley, hasta que el 4 de septiembre del 2001 el SVG 1.0 pasó a ser una recomendación del W3C. Este formato permite la representación de imágenes y animaciones mediante XML. Mediante dicho lenguaje de marcas se pueden definir textos, contornos, grupos de figuras, mapas de bits e interacciones para luego ser mostrados en una interfaz web. El SVG está dotado de poderosas características, como la accesibilidad, transformaciones anidadas, máscaras alpha, filtros de efectos, plantillas de objetos y admite el algoritmo de compresión sin pérdida Gzip para reducir el tamaño de archivo y ser descargado con más velocidad.

Este formato rivaliza directamente con el SWF de Adobe Flash. Cada uno tiene sus características en cuanto a su potencialidad y recursos disponibles, por lo que es difícil deducir si el SVG desplazará en algún momento al SWF de la preferencia de los desarrolladores multimedia. Clara está, por supuesto, la amplia ventaja que tiene el SVG al estar basado en XML, ser libre y estar patrocinado por el W3C, pero aún le queda mucho camino por recorrer. Algunos navegadores necesitan de un plug-in para visualizar este tipo de archivo, aunque las últimas versiones de los más populares soportan este formato de modo nativo. Actualmente se trabaja en el SVG 1.2 Full, con muchas mejoras con respecto a la versión 1.2 Tiny lanzada en agosto del 2006.

OTROS FORMATOS::

Existe una inmensidad de formatos gráficos, desde los diseñados para impresión de esquemas y documentos hasta los que almacenan modelos tridimensionales. El objetivo de estos apuntes no era abarcar toda esa gama casi infinita de archivos, sino, definir un conjunto de propiedades de los formatos más utilizados en nuestro uso cotidiano de las PC. Habrá quienes se deleiten por los gráficos de alta calidad destinados al papel o por aquellos que necesitan ser optimizados al máximo para transferirlos por las redes. Sírvanse de estas pequeñas notas para lograr un uso más eficiente de los formatos gráficos y ser capaces de llevar a cabo un afinado proceso de selección. Quienes utilicen el Adobe Photoshop, el GIMP, el Adobe Fireworks, el Corel Draw o cualquier otro editor profesional para realizar sus trabajos, ya pueden estar seguros de que un formato no se selecciona al azar, sino que detrás de una simple noción de calidad / tamaño hay un amplio campo que no se debe dejar de obviar.

Para saber más...



Artículos relacionados


1 comentario:

Michal dijo...

Hola, interesante información sobre formatos de imagen están en el sitio file-extensions.org.