Por @Alvy — 23 de Marzo de 2009

Aunque esta visualización requirió abrir y guardar 600 veces la misma imagen, sirve para captar la idea. Como el JPEG es un método de compresión de imágenes con pérdida cada intereacción con el original que requiera volver a comprimirlo no hace sino empeorar su calidad. Normalmente puede que se graben una, dos, cinco veces y el efecto no es apenas apreciable, pero está ahí.

(Vía Boing Boing.)

Actualización (25 de marzo de 2009): Al parecer, tal y como apuntó Eduardo, lo que hace el código que genera y guarda las imágenes con las que luego se montó la película es ir reduciendo el grado de compresión de una grabación a otra, hasta llegar al mínimo. El efecto es similar, pero no exactamente el mismo.

Compartir en Flipboard  Compartir en Facebook  Tuitear

16 comentarios

#1 — Javi Moya

Me encantó este webcomic que ví hace unas semanas sobre precisamente ésto:

My First and Last Webcomic.

#2 — Laullon

Este problema se ve acentuado por que la mayoría de los programas tienen como valor por defecto una calidad de 80% al generar el JPEG, si se cambia este valor por 95% ó 100% el problema seria muchísimo menor.

#3 — Dios ateo

Espera, pero entonces si se cambia el valor al 100% hay una mínima pérdida de calidad igualmente?

#4 — phosy - Alfonso

Esto mismo lo hizo Guillermo Luijick

a finales de 2006, sólo que no como animación: Qué pasa si abro, edito y guardo un JPEG 2000 veces?

#5 — Carlos

Pero en la explicacion del video pone que cada vez va comprimiendo más y más la imagen, no es que vuelva a guardar la misma imagen una y otra vez, y en el experimento de Guillermo Luijick añade pixels de error a la imagen (y como era de esperar el nuevo error solo afecta a la parte nueva). JPEG solo añade error en la primera conversión, luego si no cambias nada la imagen permanece igual por mucho que salves una y otra vez. De hecho, el error solo depende de lo aproximada que sea la imagen real a la que se puedes obtener con Fourier.

#6 — Alvy

Mmm… dice exactamente que es la misma imagen grabada con un poquito más de compresión cada vez, no que añada errores «manualmente» digamos. De hecho en el código que ha usado no se aprecia que añada errores. Es el propio JPEG el que los añade al grabar, y cada vez comprime más. Es decir, que no creo que sea exactamente ni una cosa ni la otra, simplemente que grabar y grabar produce ese efecto «un poquito más de compresión». (No creo que cambie el ratio de compresión de una imagen a otra, pero no lo tengo claro).

#7 — Emmitta

¿ A los ordenadores de MAC les pasa esto?

Como son tan buenos para trabajar con fotografias...

#8 — ALvy

Este efecto no depende del tipo de ordenador, sino del método empleado para comprimir las imágenes. A cualquier programa que guarde las imágenes en formato JPEG le ocurrirá lo mismo.

#9 — Jango

Viene a ser lo mismo que hacer una fotocopia, de una fotocopia, de una fotocopia, de una...

#10 — Dios ateo

Aer, yo entiendo que irá perdiendo calidad si cada vez que guardas la imagen lo haces con un rato de compresión inferior al 100%... Pero ya no estoy muy seguro... ¿Alguien puede confirmarlo?

#11 — Javi Moya

Hay una diferencia tremenda entre el resultado final del gran Guillermo y el de Hadto.
El método de Guillermo me parece el correcto... en cambio el de Hadto es tramposillo... porque aumenta la compresión (en decrimento de la calidad) poco a poco en cada grabado.
Si cojes una foto de alta calidad... y la grabas al nivel máximo de compresión (el de menor de calidad de imagen resultante) .. te sale ya algo muy similar al resultado final del video. No hacía falta grabarlo chorrocientas veces.
El resultado de Guillermo es mucho menos espectacular.... pero es el real. En el de Hadto ese "degradado paulatino" de calidad tiene truco.

Es curioso, cuanto menos, que los contenidos menos exactos de un guiri lleguen a toda la blogoesfera en español con fuerza... y que del trabajo más preciso de un español no se hiciera referencia en su momento.

#12 — Eduardo

Lamentablemente, el script utilizado no hace lo que todos a priori queremos entender. Cada vez guarda la imagen un poco más comprimida, lógico que se vaya degradando.

Lo que está haciendo no es abrir y guardar cada vez, sino guardar cada vez con mayor compresión/menor calidad, hasta llegar a calidad jpg 0 en los últimos pasos. Lógicamente, la degradación es espectacular. ¡ Lo que me sorprende es que quede algo distinto de un color uniforme siquiera !

Sí, Alvy, en el código establece un mayor factor de compresión para cada vez que guarda, el parametro quality, que lo establece inversamente proporcional al número de iteración, de forma que cerca del final es casi cero.

Lo útil para comprobar lo que todos pensamos, sería guardar siempre con el mismo nivel de compresión, y ver cuánto varía en función del nivel de compresión/calidad utilizado. Modificando ligerísimamente el script original (disponible en la web del autor), estableciendo la calidad de la compresión en un valor fijo, se observa que como dice Carlos más arriba y como ya vió Guillermo Luijick, que la pérdida de calidad, se produce sólo en la primera compresión y ya no sigue degradandose más, aunque esa primera compresión, lógicamente degrada la imagen en función del nivel de compresión/calidad elegido.

No Jango, no. Una fotocopia de otra, siempre degrada la imagen. Aquí se hacen copias digitales, y como el jpg viene a ser una tranformada en serie, si se utiliza siempre el mismo nivel de compresión, se guarda la misma info que se recupera en cada lectura, y no hay pérdidas.

#13 — Alvy

Pues entonces ciertamente no es lo que parecía.

#14 — Sergio Hdez.

Hay otra cosa a tener en cuenta:

En ACDSee, por ejemplo, si abres y giras la foto, no se pierde calidad, el girado es "losse-less", ya que gira los coeficientes internos de cada bloque del JPEG (no lo he visto en ningun otro programa, por eso sigo usandolo).

Incluso dudo que abrir, girar y guardar, sin tocar parámetros de compresion, cambie en nada el fichero, ya que un JPEG al 80%, una vez abierto, si lo vuelves a comprimir en JPEG de nuevo al 80% DEBERIA ser una compresion loose-less, de la misma forma que comprimir un ZIP no comprime nada ya.

Otra cosa es abrir, cambiar algo aunque sea poco, y guardar, aqui se pierde siempre fijo, pero si no hay cambios o se gira con ACDSee, no debería cambiar el fichero en nada de nada (teoricamente).

#15 — buruburu

El Irfanview también permite hacer operaciones sin pérdida de calidad.
Y además por lotes: girar una serie de fotos 90º, ponerles una resolución concreta, etc.
Un pequeño gran programa.

De todos modos, abrir y grabar sucesivamente, sin modificar nada, no debería afectar apenas a la calidad, si el programa está medianamente bien hecho...
En el Photoshop, 15 ciclos producen una diferencia de tamaño inapreciable.

#16 — AngelMC

Aquí teneis el vídeo en el que va guardando siempre con la misma compresión, ahora no se aprecia nada, por lo menos excesivo como antes...

http://vimeo.com/3860779