Sauvegarde de haute qualité de Google Photos - comment Google obtient-il une compression optimale et est-ce que je perds des données?

21

Je suis sûr que beaucoup d'entre nous ont utilisé la sauvegarde de haute qualité de Google Photos, ce qui nous permet de stocker des photos en ligne sans frais.

Récemment, j'ai pensé tester la qualité réelle des téléchargements en téléchargeant des photos (inférieures à 16 MP) et en les comparant à l'original en termes de résolution, de qualité (vue par l'œil) et de taille de fichier.

J'ai été surpris de noter que la résolution et la qualité étaient presque les mêmes que l'original (aucune différence visuelle à l'œil, même dans la plupart des cas), mais la taille du fichier a été considérablement réduite - au moins 2-3x et même environ 10x certains cas. Ayant utilisé RAR pour différents types de fichiers dans le passé, je savais qu'il ne se rapprocherait pas et je n'ai pas pris la peine de le tester.

La question est la suivante: comment Google gère-t-il une compression aussi importante sans aucun changement notable dans l'image elle-même? Sont-ils en train de vider des données de localisation ou d'autres données liées à l'image que le photographe amateur ne connaît pas?

Anurag B.
la source
2
Ma réponse répond en fait à la deuxième question. Ils n'ont pas trouvé d'algorithme de compression sans perte général magique comme une super version de ZIP ou RAR. Ils viennent d'améliorer la compression spécifique au JPEG.
mattdm

Réponses:

20

Eh bien, d'une part, toutes les photos de plus de 16 mégapixels sont redimensionnées à 16 MP - donc, pour de nombreux appareils photo aujourd'hui, c'est une baisse de résolution immédiate et évidente.

Mais toutes les autres photos sont également compressées à l' aide d'un algorithme de compression optimisé. Je ne pense pas que Google sort et dit exactement ce qu'ils font, mais c'est probablement leur algorithme open source Guetzli . Google affirme:

Les images générées par Guetzli sont généralement 20 à 30% plus petites que les images de qualité équivalente générées par libjpeg.

Quoi qu'ils fassent, les résultats sont assez impressionnants - souvent bien supérieurs à 20-30%. (Il s'ensuit probablement que Google ne considère pas vraiment ces «qualités équivalentes».) Vous pouvez voir quelques comparaisons côte à côte dans ce billet de blog Phone Arena .

Mais, à votre question de titre: vous perdez définitivement des données. Cet algorithme n'est pas magique - il utilise simplement un modèle perceptuel pour éliminer les données visuelles que la compression JPEG conventionnelle ne fait pas, ce qui entraîne des taux de compression plus élevés tout en (espérons-le) ne perturbe plus les choses que vous pouvez réellement remarquer.

Vous seul pouvez décider si cela vous convient. Si vous sauvegardez des originaux RAW (avec des ajustements également sauvegardés) et pouvez recréer les JPEG à volonté, je n'y penserais pas à deux fois. Mais si vous êtes sérieux au sujet de la photographie et un flux de travail centré sur JPEG - et malgré le snobisme en ligne RAW, c'est bien - vous voulez probablement au moins conserver les fichiers JPEG d' origine non modifiée. L'ajout d'un téraoctet de stockage ne coûte que 10 $ / mois avec Google. Ou si vous êtes un client Amazon Prime (100 $ / an), vous obtenez un stockage de photos illimité réel , y compris des fichiers RAW.

mattdm
la source
Dropbox a créé Lepton pour compresser sans perte des images JPEG en moyenne de 22%
Nick T
5

Ils utilisent essentiellement la puissance de traitement du problème, en utilisant des approches très intensives en calcul qui essaient diverses façons de compresser l'image dans les règles JPG. Le traitement est quelque chose que Google a probablement beaucoup, d'autant plus qu'il permet également d'économiser de la bande passante.

Vous pouvez faire de même - le logiciel et les différents services sont gratuits ou bon marché. Votre programme / appareil photo n'a tout simplement pas la puissance de traitement nécessaire pour trouver une manière "optimale" d'utiliser la compression avec perte JPG.

TomTom
la source
C'est un bon point, bien que cela ne réduise la taille de l'image que dans une faible proportion.
Salman A
4
Wow, cet algorithme de Guetzli mentionné par @mattdm ci-dessus est un porc! Sur le site github avec le logiciel, il vous indique qu'il a besoin de 300 Mo de RAM par mégapixel d'image pour traiter, et cela prend également une minute de temps processeur par mégapixel!
davidbak
Ouais. Fondamentalement, "essayez un grand nombre de combinaisons et utilisez la meilleure". Quelle neighighers Lightroom ni par exemple votre appareil photo (en particulier votre appareil photo) peut faire.
TomTom
Mais puisque l'algorithme recompresse fondamentalement une image JPEG déjà compressée, n'est-ce pas inférieur au résultat si vous avez appliqué le même algorithme à l'original?
Michael
Ouais. Non. Cherchez Gützli. Jpeg - réalisé en partie par des caméras - se fait RAPIDEMENT. Tehy peut passer une minute à trouver l'encodage optimal par image. Des services comme compresseur.io font de même. Vous obtenez des réductions de taille très importantes avec optiquement la même image.
TomTom