Compresión sin pérdida vs con pérdida - Cómo elegir la compresión de imagen correcta
Fundamentos de la compresión de imágenes
Las imágenes digitales consisten en enormes cantidades de datos de píxeles, resultando en tamaños de archivo muy grandes sin comprimir. Por ejemplo, una imagen de 1920 x 1080px a 24 bits de color ocupa aproximadamente 6MB sin comprimir. La tecnología de compresión de imágenes resuelve este problema y se clasifica ampliamente en dos tipos: compresión sin pérdida (lossless) y compresión con pérdida (lossy).
Compresión sin pérdida permite la restauración completa de los datos originales a partir de datos comprimidos. Operando con el mismo principio que la compresión de archivos ZIP, no incurre en ninguna pérdida de información. Los formatos de imagen que usan compresión sin pérdida incluyen PNG, GIF, TIFF (LZW), WebP (modo sin pérdida) y AVIF (modo sin pérdida).
Compresión con pérdida logra una reducción dramática del tamaño de archivo explotando características de la visión humana para eliminar información imperceptible. Una vez comprimidos, los datos originales no pueden recuperarse. JPEG, WebP (modo con pérdida), AVIF (modo con pérdida) y HEIC usan compresión con pérdida.
Ninguna es universalmente superior - seleccionar el método apropiado basándose en el propósito, tipo y entorno de entrega de la imagen es lo que importa.
Cómo funciona la compresión sin pérdida
La compresión sin pérdida reduce el tamaño de archivo detectando redundancia (patrones repetitivos) en los datos y reemplazándolos con representaciones más cortas. Aquí se explican los algoritmos clave.
Algoritmos principales:
- DEFLATE (usado en PNG): Combina LZ77 (compresión por diccionario) con codificación Huffman. Comprime referenciando patrones de bytes previamente ocurridos
- LZW (usado en GIF, TIFF): Construye dinámicamente un diccionario durante la compresión. El uso fue temporalmente restringido por problemas de patentes, ahora expiradas
- WebP sin pérdida: Algoritmo propietario de Google que combina transformadas predictivas, transformadas de espacio de color y una variante mejorada de LZ77. Se afirma que es 26% más pequeño que PNG
Características de la compresión sin pérdida:
- Sin degradación de calidad independientemente de cuántos ciclos de compresión/descompresión (sin pérdida generacional)
- El ratio de compresión depende fuertemente del contenido de la imagen. Imágenes con grandes áreas sólidas comprimen bien; fotos complejas comprimen pobremente
- Generalmente tamaños de archivo 2-10x mayores comparados con compresión con pérdida
- Muchos formatos soportan transparencia (canal alfa)
La eficiencia de compresión PNG se ve significativamente afectada por el filtrado (preprocesamiento que convierte los valores de píxel de cada fila en diferencias respecto a píxeles adyacentes). Herramientas como pngcrush y optipng buscan estrategias de filtrado óptimas para lograr reducción adicional de tamaño.
Cómo funciona la compresión con pérdida
La compresión con pérdida explota hábilmente las características del Sistema Visual Humano (HVS) para eliminar selectivamente información imperceptible. Usando JPEG como ejemplo, así es como funciona.
Proceso de compresión JPEG:
- Conversión de espacio de color: Convierte RGB a YCbCr (luminancia + crominancia). Explota el hecho de que los ojos humanos son sensibles a cambios de luminancia pero insensibles a crominancia
- Submuestreo de croma: Reduce la resolución del componente de crominancia (Cb, Cr) a la mitad (4:2:0). La luminancia se preserva
- DCT (Transformada Discreta del Coseno): Transforma cada bloque de 8x8 píxeles al dominio de frecuencia. Separa componentes de baja frecuencia (cambios graduales) de componentes de alta frecuencia (cambios bruscos)
- Cuantización: Redondea groseramente componentes de alta frecuencia (aquí se pierde información). El parámetro de calidad controla la tosquedad de la tabla de cuantización
- Codificación de entropía: Genera el flujo de bits final usando codificación Huffman
Características de la compresión con pérdida:
- Logra ratios de compresión extremadamente altos para fotografías naturales (1/10 a 1/20 del original)
- El parámetro de calidad permite controlar el compromiso compresión-calidad
- La calidad se degrada con cada recompresión (pérdida generacional)
- Los artefactos (ruido de bloque, ruido mosquito) son visibles en imágenes con bordes afilados (texto, arte lineal)
Compresión óptima por caso de uso
El método de compresión óptimo difiere claramente según el tipo y propósito de la imagen. Sigue estas directrices para la selección.
Elegir compresión sin pérdida para:
- Imágenes que contienen texto: Capturas de pantalla, diagramas, infografías. JPEG produce ruido de bloque alrededor del texto
- Logos e iconos: Imágenes con bordes afilados y pocos colores. PNG o SVG es óptimo
- Imágenes que requieren transparencia: Logos transparentes, elementos UI. PNG (8 bits o 24 bits + alfa)
- Imágenes maestras para edición: Imágenes que pueden re-editarse después. Guardar como TIFF o PNG para prevenir pérdida generacional
- Pixel art: La precisión por píxel importa. PNG es óptimo (JPEG sangra colores a píxeles adyacentes)
Elegir compresión con pérdida para:
- Todas las fotografías: Paisajes, retratos, fotos de producto. JPEG calidad 80-85% mantiene calidad suficiente
- Imágenes de entrega web: La velocidad de carga de página es crítica. WebP con pérdida ofrece el mejor equilibrio
- Publicaciones en redes sociales: Las plataformas recomprimen de todos modos, así que calidad excesivamente alta en la fuente tiene rendimientos decrecientes
- Miniaturas: Los artefactos de compresión son menos notables a tamaños pequeños
En caso de duda: si la imagen contiene "líneas rectas", "texto" o "grandes áreas de color sólido", elegir sin pérdida. Si "gradientes", "transiciones de color naturales" o "texturas complejas" dominan, elegir con pérdida.
Compresión en formatos de nueva generación
Los formatos de nueva generación como WebP, AVIF y JPEG XL soportan tanto modos sin pérdida como con pérdida, logrando eficiencia de compresión que supera ampliamente los formatos heredados.
WebP (Google, 2010):
- Con pérdida: Basado en códec de video VP8. 25-34% más pequeño que JPEG
- Sin pérdida: Algoritmo propietario. 26% más pequeño que PNG
- Soporte de navegadores: Todos los navegadores modernos. Prácticamente seguro de usar universalmente
AVIF (Alliance for Open Media, 2019):
- Con pérdida: Basado en códec de video AV1. Puede ser 50%+ más pequeño que JPEG
- Sin pérdida: Soportado pero velocidad de codificación muy lenta
- Calidad particularmente excelente a bajo bitrate con menos artefactos bajo compresión fuerte
- Soporte de navegadores: Chrome, Firefox, Safari (iOS 16+)
JPEG XL (Joint Photographic Experts Group, 2022):
- Con pérdida: Aproximadamente 60% más pequeño que JPEG
- Sin pérdida: Aproximadamente 35% más pequeño que PNG
- Fortaleza única: transcodificación sin pérdida desde archivos JPEG existentes
- Soporte de navegadores: A 2026, solo Safari tiene soporte nativo. Chrome lo implementó y luego lo eliminó
En la práctica, construir una cadena de respaldo AVIF → WebP → JPEG/PNG usando el elemento <picture> para servir formatos óptimos basados en capacidades del navegador es la estrategia recomendada.
Métricas de calidad y herramientas de optimización
Evaluar objetivamente la calidad post-compresión requiere métricas numéricas de calidad. Combinadas con inspección visual subjetiva, estas ayudan a determinar parámetros de compresión óptimos.
Métricas clave de calidad:
- PSNR (Relación Señal-Ruido Pico): Expresa diferencia del original en decibelios. 30dB+ es práctico, 40dB+ es alta calidad. Rápido de calcular pero pobremente correlacionado con percepción humana
- SSIM (Índice de Similitud Estructural): Evalúa similitud en luminancia, contraste y estructura. Rango 0-1 donde 1 es idéntico. Más cercano a la percepción humana que PSNR
- VMAF (Video Multimethod Assessment Fusion): Métrica basada en aprendizaje automático desarrollada por Netflix. Aplicable a imágenes fijas con la mayor correlación con evaluación subjetiva humana
- Butteraugli: Herramienta de medición de diferencia perceptual de Google. Usada para ajuste de calidad de JPEG XL
Herramientas prácticas de optimización:
mozjpeg: Codificador JPEG de Mozilla. Produce archivos 5-15% más pequeños que JPEG estándaroxipng: Optimizador PNG basado en Rust. Multihilo para velocidadcwebp/avifenc: Codificadores oficiales WebP / AVIF con control de calidad granularsquoosh(Google): Herramienta de compresión de imágenes basada en navegador para comparación visual de formatos
Para entrega web, JPEG calidad 75-85%, WebP calidad 75-80% y AVIF calidad 60-70% son rangos generalmente recomendados. Sin embargo, los valores óptimos varían según el contenido de la imagen, por lo que probar con imágenes representativas es esencial.