Como seleccionar el formato de imagen adecuado

JPEG, PNG y GIF son los tres formatos más reconocidos y, por lo tanto, los más utilizados. Pero es cierto que poca gente entiende cómo funcionan realmente. En este artículo veremos en profundidad cada uno de estos tres algoritmos de compresión de imágenes para entender cómo funcionan y poder valorar cuál es el formato apropiado para cada situación.

Empezaremos por un viejo conocido:

JPEG

Los veinticinco años de edad de este algoritmo le han servido para convertirlo en el estándar de compresión de imágenes. ¿Pero, cómo funciona? ¿Y cuáles son son ventajas?

La compresión JPEG talla una imagen en bloques de 8 x 8 píxeles, y simplificandolo mucho, aplica un montón de matemáticas para reducir su tamaño. En términos técnicos, el algoritmo de compresión JPEG traduce la información de una imagen desde el dominio espacial al dominio de frecuencia.

En la práctica, esto significa que JPEG es un formato muy bueno para la compresión de imágenes de tono continuo: las imágenes con un gran número de colores y transiciones suaves entre ellos. En otras palabras, JPEG asume que la imagen que quieres comprimir será más o menos como una fotografía.

Por el contrario, el formato JPEG es terrible en la compresión de imágenes con bordes nítidos o de alta energía, ya que afila los bordes y difumina los detalles finos. Con el fin de comprimir bien este tipo de imágenes tan nítidas, es necesario emplear diferentes algoritmos de compresión. Pasemos al siguiente tipo de compresión:

GIF

En los primeros días de la web, si una imagen no era un archivo JPEG, era un GIF.

El formato GIF utiliza el algoritmo de compresión LZW, que es mucho más simple que el matemático del JPEG. En esencia, el algoritmo LZW genera códigos muy cortos para las partes de la imagen que se repiten; es decir, el LZW acorta la repetición. Lo que significa que el formato GIF es bueno para comprimir imágenes que tienen grandes cantidades de datos idénticos o repetitivos. Las imágenes que sólo tienen unos pocos colores, en amplios sectores, con transiciones bruscas entre ellos se pueden almacenar de manera eficiente y sin pérdidas con el formato GIF.

Y a pesar de que se trata de un formato simple, GIF aporta un par de características de lujo: la transparencia y la animación. Pero el formato GIF falla en la compresión de imágenes que tienen incluso un número moderado de colores; y cuando hablamos de moderado, nos referimos a un límite de 256 colores. Al convertir una imagen con más de ese número de colores en una imagen GIF sufrirá grandes pérdidas,  lo que se ve horrible. En resumen, GIF y JPEG tienen fuerzas opuestas y complementarias. Formaron un gran equipo en los primeros días de la web.

Pero las deficiencias que rodean el algoritmo LZW inspiraron a algunos individuos muy inteligentes a tomar un segundo camino en el diseño de un formato de imagen sin pérdidas para la web.

PNG

PNG es especialmente efectivo con el mismo tipo de imágenes que GIF, pero además aporta unos beneficios adicionales:

  • No hay límite de 256 colores
  • La transparencia de canal alfa (por lo que un píxel puede ser parcialmente transparente, y no simplemente todo transparente o totalmente opaco)
  • En casi todos los casos extremos, una compresión superior

¿Cómo funciona el PNG cuando se trata de compresión? Añadiendo algunas capas a su pila de compresión. En primer lugar, el algoritmo de PNG trata de reducir la cantidad de datos que necesitará para almacenar una fotografía mediante el uso de predicciones sobre los píxeles. Básicamente, el PNG asume que los píxeles próximos entre sí serán similares. Por lo tanto, el PNG almacena los datos por la diferencia entre su predicción y el valor real; los números pequeños ocupan menos espacio que los grandes.

En segundo lugar, el formato PNG recorta la repetición en las secuencias de píxeles, en lugar de almacenar los mismos datos dos veces, usando un algoritmo llamado LZ77. 

Y entonces, como último paso, PNG utiliza un proceso llamado “codificación Huffman” para disminuir de tamaño los valores restantes mediante la generación de códigos más pequeños. La combinación de los tres de estas técnicas (sin pérdida) ofrece enormes ventajas sobre el GIF.

Resumiendo, todo lo que necesitas saber sobre la compresión de imágenes es lo siguiente: PNG comprimirá en peor calidad que JPEG cuando se trate de fotografías, pero mejor que GIF casi siempre. Por lo tanto, utiliza JPEG para las imágenes con bordes nítidos y amplias áreas de color sólido o patrones repetidos, y PNG para el resto de imágenes.

Share on