martes, 5 de febrero de 2013

[REDES DE TELECOMUNICACIONES] Lab 1: Estandares para compresión de imagenes

Los archivos de imágenes como los conocemos son matrices de pixeles con color que representan un dibujo o una escena del mundo real. Estos archivos se generan mediante dispositivos como cámaras digitales o escaners, o bien son generados con programas de edición.

Existen infinidades de formatos de archivo para imágenes, los hay desde archivos binarios; que contienen toda la información codificada, hasta vectoriales; que toda su información está representada por vectores en un archivo de texto editable.

Los formatos más utilizados mundialmente, y que por consecuencia se han convertido en los estándares para compartir información de imágenes digitales, son el JPEG, GIF y PNG. Mientras que unos dicen tener una mayor facilidad de manejo y mayor compresión utilizando poco espacio, otros dicen tener una compresión con alta calidad sin perdida de datos, y otros presumen de ser animados.

JPEG

(ISO/IEC 10918, ITU-T T.81, ITU-T T.83, ITU-T T.84, ITU-T T.86)

JPEG (Joint Photographic Experts Group), es el nombre del comité que creó un estandar de compresión para imágenes estáticas, lo utilizan la mayoría de las cámaras y otros dispositivos.



JPEG es un formato conocido principalmente por su taza de compresión muy alta, a pesar de que hay perdida de calidad en la imagen, su tamaño lo compensa. Se utiliza principalmente para almacenar archivos de fotografías en altas resoluciones y soporta millones de colores.

Su algoritmo está basado en 2 defectos del ojo humano, el primero es que el ojo humano capta más facilmente los cambios de luz que los de color, el segundo es que nota cambios en el brillo en zonas pequeñas que en zonas mayores. Un ejemplo es que en los bordes de las imágenes tiende a notarse la pérdida de calidad.



GIF

(. . .)

GIF (Graphics Interchange Format) es un formato gráfico ampliamente utilizado, caracterizado principalmente por ser uno de los primeros formatos de imagen a color en utilizar un algoritmo de compresión que le permite tener calidad en poco espacio. Al ser un formato algo antiguo, GIF posee una tabla de 256 colores, lo que no le da calidad "true color" como formatos más avanzados, sin embargo sigue siendo un estandar en la web.

GIF ofrece solo 256 colores de forma legítima ya que fue pensado para las pantallas antiguas que solo ofrecían tales colores, sin embargo se ha encontrado que modificando algunos de sus tablas se puede lograr el color verdadero (true color) completamente compatible con el formato original, pero el resultado es una imagen de gran tamaño. True-Color GIF no es recomendado mas que en casos donde el tamaño de imagen y el ancho de banda no sean problemas.

Ademas de lo anterior, GIF ofrece la posibilidad de animar las imagenes a partir de su version "89a"  tanto la versión original como la versión true color, que no es más que agregar tablas después del final que representan los frames. Cada tabla del frame tiene su duración, a diferencia de lo que comunmente se cree que se define una velocidad estática. Con esto se logra hacer animaciones con un solo loop en el GIF.

PNG

(ISO/IEC 15948, IETF RFC 2083)

El PNG (Portable Network Graphics) es un formato libre de imagen basado en un algoritmo de compresión sin perdida. Compite principalmente contra el formato GIF para solventar sus problemas de deficiencia de calidad.


PNG ofrece calidad "true color" en un archivo de tamaño pequeño comparado con GIF, ofrece una mayor profundidad de color por canal, además de que puede hacer uso de uno o varios canales. PNG también ofrece transparencia de mayor calidad, siendo posible declarar desde un pixel hasta una zona completa como transparente. Otra ventaja con respecto a GIF, PNG puede hacer uso de un canal alfa para la transparencia, lo que permite dar 256 grados de opacidad al pixel.

Originalmente PNG no fue pensado para animaciones, como GIF, sin embargo APNG(Animated Portable Network Graphics) es una extensión del mismo que ofrece la posibilidad de animar las imágenes en calidad "true color", no es ampliamente soportada por todos los navegadores, por lo que requieren plug-in's para visualizar la animación, pero no es necesario para mostrar la imagen, ya que el primer frame es visible como un PNG. MNG (Multiple-image Network Graphics) es otra alternativa para dotar de animación a PNG, una alternativa poco común ya que no es soportada por casi ningún navegador, y no dispone de un tipo de MIME.

Conclusión

Aunque cada formato es bueno para algo pero deficiente en para otra cosa, no pueden cubrir todas las necesidades que las personas requieren.

Una página que requiera de gráficos limpios para su interfaz, necesitará de PNG para darle la calidad necesaria. Una página para compartir imagenes entre usiarios, de seguro utilizará el formato JPEG como opción debido a su tamaño. Una página que quiera adornar con pequeños detalles animados, hará uso de GIF, ya que aunque no tiene gran calidad, en pequeños tamaños no se nota.

Sin embargo, nuevas tecnologías como HTML5 con JavaScript y CSS3 hacen uso de nuevas formas de generar gráficos, aunque aun se basan en las antes mencionadas, es probable que con el tiempo queden obsoletas.

Fuentes:

The JPEG committee
PNG (Portable Network Graphics) Specification
GIF Specification
True Color GIF
JPEG - Wikipedia, the free encyclopedia
PNG - Wikipedia, the free encyclopedia
APNG - Wikipedia, the free encyclopedia
GIF - Wikipedia, the free encyclopedia

1 comentario: