PDFMove
¿Por qué pasar de JPG a AVIF reduce el tamaño del archivo?
Guía

¿Por qué pasar de JPG a AVIF reduce el tamaño del archivo?

6 min de lectura

La misma imagen con la mitad de datos

Guardaste una fotografía como JPG y después guardaste esa misma fotografía como AVIF. En pantalla no se distinguen la una de la otra, pero el archivo AVIF es notablemente más pequeño. ¿Cómo ocurre esto?

La respuesta no es magia, sino más de treinta años de conocimiento acumulado en ingeniería. En este artículo explicamos de dónde viene la eficiencia de AVIF, en qué situaciones esa eficiencia se hace más evidente y qué sacrificas a cambio.

Lo que hace JPG

Entendamos primero JPG haciéndole justicia, porque en su momento fue un logro extraordinario.

JPG divide la imagen en pequeños cuadros de tamaño fijo. Descompone los datos de píxel de cada cuadro en componentes de frecuencia — dicho de forma sencilla, responde matemáticamente a la pregunta "cuánta transición suave y cuánto detalle nítido hay en este cuadro". Después degrada o descarta por completo los componentes de alta frecuencia que al ojo humano le cuesta percibir.

A esto se suma que la información de color se reduce de forma más agresiva que la de luminosidad, porque el ojo es mucho más sensible a los cambios de brillo que a los de color.

Este enfoque funciona y sigue funcionando. Pero tiene dos limitaciones fundamentales: los bloques son de tamaño fijo y el conjunto de herramientas del algoritmo es bastante estrecho. Tenía que ejecutarse en un tiempo razonable en los ordenadores de principios de los noventa.

La diferencia que aporta AV1

AVIF deriva de la capacidad de codificación intracuadro de un códec de vídeo llamado AV1. La codificación intracuadro consiste en comprimir un fotograma de vídeo por sí solo, sin mirar en absoluto a los fotogramas vecinos. Una fotografía también es un único fotograma; por tanto, puedes aplicar esa capacidad directamente a la compresión de imágenes.

Estas son las ventajas de AV1 frente a JPG:

División de tamaño variable. La imagen no tiene por qué dividirse en cuadros fijos. Una zona de cielo plano puede tratarse como una única región grande, mientras que una zona de rostro con mucho detalle puede fragmentarse en partes mucho más pequeñas. Esto significa gastar en cada área exactamente los datos que necesita.

Un repertorio de predicción mucho más rico. El códec intenta predecir el contenido de una región a partir de las regiones vecinas y solo registra la diferencia entre la predicción y la realidad. AV1 dispone de numerosas direcciones y métodos de predicción distintos; encuentra por prueba cuál requiere menos datos. En JPG no existe una búsqueda de ese nivel.

Transformada y codificación entrópica más avanzadas. También en la fase de expresar numéricamente la diferencia restante, AV1 emplea técnicas más modernas y más eficientes.

Herramientas de suavizado. El códec puede aplicar procesos adicionales para atenuar los bordes de bloque y el bandeado que genera la compresión. Esto hace que, a tasas de bits bajas, la imagen se vea mucho menos "deshecha" que en JPG.

El resultado global es este: a la misma calidad visual, AVIF suele ser notablemente más pequeño que JPG. La proporción de aproximadamente la mitad que se menciona con frecuencia es una aproximación; la ganancia real varía considerablemente según el contenido de la imagen.

¿De qué depende la magnitud de la ganancia?

La diferencia de eficiencia no es la misma en todas las imágenes.

Contenidos donde la diferencia es grande: zonas de color plano, degradados suaves, amplias regiones de cielo o pared, patrones repetitivos, baja densidad de detalle. La división variable y el mecanismo de predicción de AVIF pueden contar mucho con muy pocos datos en este tipo de contenido.

Contenidos donde la diferencia se estrecha: ruido intenso, textura fina y aleatoria, fotografías con grano de película, densidad de detalle muy alta. Los datos aleatorios son algo difícil de comprimir para cualquier códec; nadie puede abreviar la aleatoriedad.

Por eso, la única respuesta correcta a la pregunta "cuánto ganaré al pasarme a AVIF" es hacer pruebas con tus propias imágenes.

Otras capacidades de AVIF que JPG no tiene

El tamaño no es la única dimensión de la diferencia. AVIF también admite varias cosas que JPG nunca ha podido transportar:

  • Canal alfa. Puede llevar zonas transparentes y semitransparentes; JPG no puede hacerlo.
  • Alta profundidad de bits. Admite 10 y 12 bits por canal; JPG está limitado a 8 bits. Esto reduce el bandeado en las transiciones suaves.
  • Amplia gama de color y HDR. Puede transportar el amplio rango cromático que muestran las pantallas modernas.
  • Modo sin pérdida. Si hace falta, puede guardarse sin descartar ningún dato, aunque en ese caso se renuncia a gran parte de la ventaja de tamaño.

Hablemos del precio

Esta eficiencia no es gratuita.

Coste de codificación. Como el codificador AVIF evalúa muchas más opciones, convertir una imagen a AVIF tarda notablemente más que convertirla a JPG. En un solo archivo esto es irrelevante; en un archivo documental compuesto por miles de imágenes es un tiempo que hay que planificar. La decodificación, es decir, el lado de la visualización, sí es rápida.

Compatibilidad. Este es el verdadero precio. Los navegadores principales actuales admiten AVIF, pero los dispositivos antiguos, los sistemas operativos antiguos, muchos programas de escritorio y numerosos formularios de carga no lo hacen. Cuando envías un archivo AVIF por correo electrónico, la posibilidad de que la otra parte no pueda abrirlo es real.

Por eso, al pasar de JPG a AVIF, conservar los originales y mantener una copia de respaldo en JPG cuando sirves contenido en la web es la práctica estándar. La etiqueta picture de HTML está diseñada justo para esto: si el navegador lo admite descarga el AVIF, y si no, el JPG.

Una advertencia: la fuente ya está comprimida

El JPG que tienes ya ha pasado por una compresión con pérdida. Al convertirlo a AVIF habrás empaquetado esa imagen de forma más eficiente, pero el detalle perdido no vuelve.

Más importante aún: si mantienes el ajuste de calidad demasiado bajo, se superponen dos capas de pérdida. El codificador AVIF puede confundir los bordes de bloque que dejó el JPG con "detalle real" e intentar conservarlos, o bien difuminarlo todo. Trabaja con un valor de calidad razonable; como AVIF ya es eficiente, incluso así obtendrás una ganancia de tamaño considerable.

En resumen

La razón por la que AVIF es más pequeño que JPG no es una compresión más inteligente, sino una compresión más flexible y que hace muchos más cálculos. Cuando se juntan los tamaños de región variables, el amplio repertorio de predicción y la codificación entrópica moderna, la misma calidad visual puede expresarse con muchos menos datos. A cambio pagas un tiempo de codificación más largo y — lo verdaderamente importante — un soporte limitado del ecosistema. Para la velocidad web ese intercambio suele merecer la pena; para compartir archivos, normalmente no.

Preguntas frecuentes

¿AVIF realmente ocupa la mitad que JPG?

Esa proporción de aproximadamente la mitad que tanto se repite es una generalización y una cifra aproximada; no se cumple en todas las imágenes. La ganancia depende en gran medida del contenido: en imágenes con zonas de color plano, transiciones suaves y estructuras repetitivas la diferencia resulta muy notable. En fotografías con mucho ruido, textura fina y detalle aleatorio la distancia se estrecha, porque ese tipo de datos es contenido difícil de comprimir para cualquier códec. La única forma fiable de conocer el resultado exacto es hacer pruebas con tus propias imágenes.

¿Por qué AVIF puede comprimir mejor que JPG?

La razón fundamental son más de treinta años de diferencia en ingeniería. JPG utiliza un método relativamente simple, diseñado para la potencia de procesamiento de su época, que divide la imagen en bloques de tamaño fijo. AVIF, en cambio, se basa en la codificación intracuadro del códec de vídeo AV1: puede dividir la imagen en regiones de tamaño variable, probar numerosas estrategias de predicción para cada región y elegir la descripción más barata. Esa flexibilidad exige más cálculo, pero a cambio produce un resultado mucho más compacto.

¿Esa eficiencia tiene un precio?

Sí, dos. El primero es el tiempo de codificación: generar un AVIF tarda notablemente más que guardar la misma imagen como JPG, porque el codificador recorre un abanico de opciones mucho más amplio. El segundo, y más importante, es la compatibilidad; como AVIF es un formato nuevo, los dispositivos antiguos, los sistemas operativos antiguos y muchos programas de escritorio no pueden abrirlo. La decodificación en el lado de la visualización, en cambio, es rápida y ahí no hay ningún problema.

¿Tiene sentido convertir a AVIF un JPG que ya está comprimido?

Si vas a servirlo en la web, sí, porque transmites la misma imagen con menos ancho de banda y la página gana velocidad. Pero debes fijar bien tus expectativas: el detalle que JPG descartó antes no vuelve, AVIF solo empaqueta de forma eficiente lo que queda. Además, si bajas demasiado el ajuste de calidad, la propia degradación de AVIF se suma a los artefactos que ya tenía el JPG y el resultado empeora de forma visible. Trabajar con un valor de calidad razonable elimina ese riesgo.

Pruébalo ahora mismo con JPG → AVIF Dönüştür.

Probar JPG → AVIF Dönüştür