¿Qué es la compresión de imágenes?

Comprimir una imagen reduce el tamaño del archivo. La compresión de imágenes puede ser con o sin pérdida.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir la compresión de imagen
  • Explicar por qué la compresión es importante para la optimización de imagen
  • Contrastar la compresión de imagen con pérdida frente a la compresión sin pérdida
  • Comprender los métodos y algoritmos comunes de compresión de imagen

Contenido relacionado


¿Quieres saber más?

Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar enlace del artículo

Mejorar el rendimiento de tu sitio web con Cloudflare Pro y nuestros complementos de herramientas de velocidad

¿Qué es la compresión de imágenes?

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:

Imagen de ejemplo de globo terráqueo de 96 KB

Esta es la misma imagen, comprimida a 70 KB:

Imagen de ejemplo de globo terráqueo de 70 KB

Y aquí está comprimida a 35 KB:

Imagen de ejemplo de un globo terráqueo de 35 KB, la imagen es borrosa

¿Por qué es importante la compresión de imágenes?

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.

¿Qué es la compresión de imagen con pérdida?

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.

Métodos de compresión de imagen con pérdida

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:

  • JPEG: este formato de archivo, llamado así por el Joint Photographic Experts Group, es quizá el método de compresión de imágenes más utilizado. Normalmente, puede comprimir los archivos en una proporción de 10:1 con una reducción mínima de la calidad de imagen. Las versiones más recientes de JPEG incluyen JPEG 2000 y JPEG XR, pero muchos navegadores no soportan estos formatos.
  • WebP: aunque WebP también soporta la compresión sin pérdida, se utiliza más comúnmente para la compresión de imagen con pérdida. Google desarrolló WebP originalmente para sustituir los formatos de archivo JPEG, PNG y GIF.
  • Formato de imagen de alta eficacia (HEIF): el Formato de imagen de alta eficacia (HEIF) es un tipo de archivo contenedor para imágenes comprimidas. Las imágenes comprimidas con este método se denominan a veces archivos HEIC.

¿Qué es la compresión de imagen sin pérdida?

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.

Métodos de compresión sin pérdida

Entre los métodos de compresión sin pérdida más utilizados están:

  • Gráficos de red portátiles (PNG), que a veces se utiliza en la web en lugar de JPEG o WebP.
  • Formato de intercambio de gráficos (GIF), a menudo utilizado también en la web.
  • Los archivos de mapa de bits (BMP) suelen ser demasiado grandes para uso práctico en la web.
  • Las imágenes RAW no están comprimidas en lo absoluto. Las cámaras digitales toman fotos en RAW, pero las fotos deben convertirse a otro formato y comprimirse antes de utilizarlas en un sitio web (a menos que el sitio web esté destinado específicamente a mostrar imágenes de calidad muy alta).

¿Cuáles son algunos algoritmos habituales de la compresión de imágenes?

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.

Cómo se puede comprimir una imagen utilizando Cloudflare

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í.