Comprimir una imagen reduce el tamaño del archivo. La compresión de imágenes puede ser con o sin pérdida.
Después de leer este artículo podrás:
Contenido relacionado
¿Qué es un optimizador de imágenes?
¿Qué es la latencia?
¿Qué es Load Balancing?
Elementos básicos de la Web
Rendimiento y tasa de conversión
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
La compresión de imágenes es un proceso que reduce el tamaño de los archivos de imagen. La compresión de imágenes suele funcionar eliminando bytes de información de la imagen o utilizando un algoritmo de compresión de imágenes para volver a escribir el archivo de imagen a fin de que ocupe menos espacio de almacenamiento. Comprimir una imagen es una forma eficaz de asegurar que se cargue la imagen rápidamente cuando un usuario interactúa con un sitio web o una aplicación. Es una parte importante de la optimización de imagen.
Como ejemplo, aquí hay una imagen que tiene un tamaño de 96 KB:
Esta es la misma imagen, comprimida a 70 KB:
Y aquí está comprimida a 35 KB:
Las imágenes comprimidas se cargan más rápido que las imágenes no comprimidas. Esto es importante porque la velocidad con la que se cargan las páginas web y las aplicaciones tiene un enorme impacto en la SEO, porcentajes de conversión, experiencia digital del usuario y otras métricas fundamentales. Mejorar el rendimiento de la web es una de las principales formas que tienen los desarrolladores de optimizar los sitios web.
La compresión de imágenes se suele utilizar junto con otros métodos para también mejorar el rendimiento de la web. Por ejemplo, una CDN almacena en caché el contenido para entregarlo más rápido a los usuarios finales. El Load Balancing ayuda a evitar que los servidores web se sobrecarguen. El uso de carga diferida puede permitir que el contenido más importante de una página web se cargue aún más rápido. Sin embargo, en general, la compresión de imágenes suele ser una de las formas más rápidas de solucionar el rendimiento lento de las páginas.
Piensa en un viajero que hace su maleta para un viaje. Es posible que el viajero empaque todo lo que tiene en su armario, desde zapatos hasta sombreros y ropa formal. Sin embargo, un planteamiento así da lugar a una gran cantidad de equipaje que el viajero tiene que llevar a todas partes, lo que hace que sea más lento y quizá le cueste más dinero transportarlo. En lugar de ello, el viajero selecciona las prendas más importantes y las mete en una sola maleta.
Al igual que nuestro viajero no necesitaba meter en la maleta todo su vestuario, la gente rara vez necesita ver una imagen completa en su máxima resolución y mayores dimensiones. (El tamaño de pantalla de escritorio más utilizado es de 1680x1050 píxeles y el tamaño de pantalla móvil más utilizado es aún menor, de 360x800 píxeles. Incluso con esas dimensiones, es poco probable que una imagen ocupe toda la pantalla). Normalmente, se puede reducir la calidad y el tamaño de una imagen de forma que no sea perceptible para el espectador normal —un enfoque que se denomina compresión de imagen con "pérdida".
La compresión de imagen con pérdida conserva la información más significativa de la imagen sin mantener cada píxel. Hay varios tipos de algoritmos de compresión con pérdida, que se describen con más detalle más abajo. Sin embargo, todos funcionan eliminando información del archivo de imagen para que esté compuesto por menos bytes.
Muchas imágenes alojadas en la web están en un formato de archivo que utiliza la compresión con pérdida. Esto garantiza que las imágenes se carguen rápidamente y que no utilicen demasiado ancho de banda. Algunos ejemplos comunes de métodos de compresión con pérdidas incluyen:
Si la ropa que desea nuestro viajero no cabe en la maleta, puede intentar doblarla y volver a ordenarla para que quepa mejor. Del mismo modo, la compresión de imagen sin "pérdida" utiliza algoritmos matemáticos para reescribir un archivo de imagen sin eliminar ninguna información. Una imagen tratada con compresión sin pérdida debe parecer básicamente idéntica al original, pero debe tener un tamaño de archivo mucho menor.
Aunque la compresión sin pérdida puede reducir el tamaño de los archivos de imagen hasta un 40 %, sigue siendo menos eficaz que la compresión con pérdida para reducir el tamaño de los archivos y optimizar las imágenes para la web. Los creadores de sitios web deben considerar cuidadosamente las necesidades de sus usuarios finales y probar la velocidad de sus sitios web al decidir entre la compresión de imagen con pérdida y sin pérdida.
Entre los métodos de compresión sin pérdida más utilizados están:
Los métodos de compresión con y sin pérdida utilizan diversos algoritmos de compresión de imágenes (un algoritmo es un conjunto de reglas que debe seguir un ordenador) para conseguir archivos de menor tamaño. La codificación por transformación, la codificación de longitud de ejecución, la codificación aritmética, LZW, flate/deflate y la encriptación Huffman son algunos ejemplos de algoritmos de compresión de imágenes.
Codificación por transformación es un algoritmo de compresión de imagen con pérdida que suele utilizar una técnica llamada transformada de coseno discreta (DCT), que es una forma de representar matemáticamente un archivo, utilizando menos información. JPEG depende de la codificación por transformación.
La codificación Run-length encoding (RLE) es un algoritmo de compresión sin pérdida que codifica píxeles repetidos. Por ejemplo, si hay ocho píxeles blancos en una fila, en lugar de escribir los ocho píxeles (tal como WWWWWWWW), registra el número de píxeles (como 8W).
La codificación aritmética es otro tipo de algoritmo de compresión sin pérdida. Como cualquier archivo digital, las imágenes digitales están representadas en niveles computacionales inferiores con una cadena de caracteres. La codificación aritmética codifica los caracteres más utilizados de un archivo de imagen con menos bits y los menos utilizados con más bits. El resultado son menos bits en total, comparado con la cadena de caracteres original.
La codificación Huffman es algo similar a la codificación aritmética, pero normalmente no reduce tanto el tamaño del archivo.
LZW — el algoritmo Lempel–Ziv–Welch es un método de compresión sin pérdida basado en LZ77 y LZ78, dos algoritmos de compresión más antiguos.
Flate/deflate es un algoritmo de compresión sin pérdida basado en la codificación Huffman y la compresión LZ77.
Cloudflare ofrece tres productos para guardar, almacenar en caché, optimizar y cambiar el tamaño de las imágenes para garantizar que se cargan lo más rápidamente posible:
Con estos servicios, los propietarios de sitios web pueden optimizar las imágenes con un clic, convertirlas a formatos de archivo comprimidos como WebP y personalizar qué tamaños de imagen se cargan y para qué dispositivos. Obtén más información sobre estos servicios en los enlaces anteriores o empieza con un plan de Cloudflare aquí.