Copia de seguridad de alta calidad de Google Photos: ¿cómo logra Google una gran compresión y estoy perdiendo algunos datos?

21

Estoy seguro de que muchos de nosotros hemos usado fotos de Google de alta calidad, lo que nos permite almacenar fotos en línea sin cargo.

Recientemente, pensé en probar qué tan alta calidad eran realmente las cargas al subir algunas fotos (por debajo de 16 MP) y compararlas con el original en términos de resolución, calidad (como se ve a simple vista) y tamaño de archivo.

Me sorprendió notar que la resolución y la calidad eran casi las mismas que las del original (en la mayoría de los casos, ni una diferencia visual para el ojo se acercó), pero el tamaño del archivo se redujo drásticamente: al menos 2-3x e incluso alrededor de 10x en algunos casos. Habiendo usado RAR para varios tipos de archivos en el pasado, sabía que no se acercaría y no me molesté en probarlo.

La pregunta es: ¿cómo gestiona Google una compresión tan grande sin ningún cambio notable en la imagen misma? ¿Están arrojando datos de ubicación u otros datos relacionados con la imagen que el fotógrafo aficionado no conoce?

Anurag B.
fuente
2
Mi respuesta realmente aborda la segunda pregunta. No han encontrado un algoritmo de compresión sin pérdidas general mágico como una super versión de ZIP o RAR. Acaban de mejorar la compresión específica de JPEG.
mattdm

Respuestas:

20

Bueno, por un lado, todas las fotos de más de 16 megapíxeles se redimensionan a 16 MP, por lo que, para muchas cámaras hoy, esa es una caída inmediata y obvia de la resolución.

Pero todas las demás fotos también están comprimidas , utilizando un algoritmo de compresión optimizado. No creo que Google salga y diga exactamente lo que hacen, pero probablemente sea su algoritmo Guetzli de código abierto . Google afirma:

Las imágenes generadas por Guetzli son típicamente un 20-30% más pequeñas que las imágenes de calidad equivalente generadas por libjpeg.

Independientemente de lo que estén haciendo, los resultados son bastante impresionantes, a menudo muy superiores al 20-30%. (Probablemente se deduce que Google no considera estos realmente "calidad equivalente".) Puede ver algunas comparaciones en paralelo en esta publicación de blog de Phone Arena .

Pero, a su pregunta de título: definitivamente está perdiendo algunos datos. Este algoritmo no es mágico: simplemente usa un modelo perceptual para descartar datos visuales que la compresión JPEG convencional no produce, lo que resulta en tasas de compresión más altas y (con suerte) no causa más molestias a las cosas que realmente puede notar.

Solo tú puedes decidir si estás de acuerdo con eso. Si está haciendo una copia de seguridad de originales RAW (con ajustes también respaldados) y puede recrear los archivos JPEG a voluntad, no lo pensaría dos veces. Pero si te tomas en serio la fotografía y tienes un flujo de trabajo centrado en JPEG, y a pesar del esnobismo RAW en línea, está bien , probablemente quieras al menos mantener inalterados los archivos JPEG originales. Agregar un terabyte de almacenamiento cuesta solo $ 10 / mes con Google. O si usted es un cliente de Amazon Prime ($ 100 / año) obtiene almacenamiento de fotos ilimitado real , incluidos los archivos RAW.

mattdm
fuente
Dropbox creó Lepton para comprimir sin pérdidas las imágenes JPEG en un promedio de 22%
Nick T
5

Básicamente están arrojando poder de procesamiento al problema, utilizando enfoques muy intensivos en cómputo que prueban varias formas de comprimir la imagen dentro de las reglas JPG. El procesamiento es algo que probablemente Google tiene en abundancia, especialmente porque también ahorra ancho de banda.

Usted puede hacer lo mismo: el software y varios servicios son gratuitos o baratos. Su programa / cámara simplemente no tiene la potencia de procesamiento para encontrar una forma "óptima" de utilizar la compresión con pérdida JPG.

TomTom
fuente
Este es un buen punto, aunque solo reducirá el tamaño de la imagen en una pequeña proporción.
Salman A
44
¡Guau, ese algoritmo Guetzli mencionado por @mattdm arriba es un cerdo! En el sitio de github con el software, le dice que necesita 300 MB de RAM por megapíxel de imagen para procesar, ¡y también se necesita un minuto de tiempo de CPU por megapíxel!
davidbak
Sí. Básicamente, "prueba muchas combinaciones y luego usa la mejor". Qué Lightroom más cercano ni, por ejemplo, su cámara (en particular su cámara) puede hacer.
TomTom
Pero dado que el algoritmo básicamente está volviendo a comprimir una imagen JPEG ya comprimida, ¿no es esto un resultado inferior si aplica el mismo algoritmo al original?
Michael
Sí. No. Busca a Gützli. Jpeg, hecho en parte por cámaras, se hace RÁPIDO. Tehy puede pasar un minuto buscando la codificación óptima por imagen. Los servicios como compressor.io hacen lo mismo. Obtiene reducciones de tamaño muy significativas con ópticamente la misma imagen.
TomTom