Google Fotos-Backup in hoher Qualität - Wie erzielt Google eine hervorragende Komprimierung und verliere ich Daten?

21

Ich bin mir sicher, dass viele von uns ein qualitativ hochwertiges Backup von Google-Fotos verwendet haben, mit dem wir Fotos ohne Gebühren online speichern können.

Kürzlich dachte ich daran, zu testen, wie hoch die Qualität der Uploads wirklich ist, indem ich einige Bilder (unter 16 MP) hochlud und sie in Bezug auf Auflösung, Qualität (vom Auge aus gesehen) und Dateigröße mit dem Original verglich.

Ich war überrascht zu bemerken, dass die Auflösung und Qualität fast gleich waren wie das Original (in den meisten Fällen wurde kein visueller Unterschied für das Auge gezoomt), aber die Dateigröße wurde drastisch reduziert - mindestens 2-3x und sogar 10x in manche Fälle. Nachdem ich RAR in der Vergangenheit für verschiedene Dateitypen verwendet hatte, wusste ich, dass es nicht in die Nähe kommen würde, und machte mir keine Mühe, es zu testen.

Die Frage ist: Wie schafft Google eine so gute Komprimierung, ohne dass sich das Bild selbst merklich ändert? Entladen sie Standortdaten oder andere Daten, die sich auf das Bild beziehen, von dem der Amateurfotograf nichts weiß?

Anurag B.
quelle
2
Meine Antwort befasst sich tatsächlich mit der zweiten Frage. Sie haben keinen magischen verlustfreien Komprimierungsalgorithmus wie eine Super-Version von ZIP oder RAR gefunden. Sie haben gerade die JPEG-spezifische Komprimierung verbessert.
Mattdm

Antworten:

20

Zum einen werden alle Fotos, die größer als 16 Megapixel sind, auf 16 MP verkleinert. Für viele Kameras ist dies heute ein sofortiger, offensichtlicher Rückgang der Auflösung.

Aber alle anderen Fotos sind zu komprimiert , eine Optimierung der Kompressionsalgorithmus. Ich glaube nicht, dass Google herauskommt und genau sagt, was sie tun, aber es ist wahrscheinlich ihr Open-Source- Guetzli- Algorithmus. Google behauptet:

Von Guetzli erzeugte Bilder sind in der Regel 20-30% kleiner als von libjpeg erzeugte Bilder gleicher Qualität.

Was auch immer sie tun, die Ergebnisse sind ziemlich beeindruckend - oft viel größer als 20-30%. (Daraus folgt wahrscheinlich, dass Google diese wirklich "äquivalente Qualität" nicht berücksichtigt.) In diesem Phone Arena-Blogbeitrag können Sie einige Vergleiche nebeneinander sehen .

Aber zu Ihrer Titelfrage: Sie verlieren definitiv einige Daten. Dieser Algorithmus ist keine Zauberei - er verwendet lediglich ein Wahrnehmungsmodell, um visuelle Daten zu verwerfen, die bei der herkömmlichen JPEG-Komprimierung nicht vorhanden sind, was zu höheren Komprimierungsraten führt, ohne (hoffentlich) die tatsächlich wahrnehmbaren Dinge weiter zu stören.

Nur Sie können entscheiden, ob Sie damit einverstanden sind. Wenn Sie RAW-Originale sichern (mit ebenfalls gesicherten Anpassungen) und die JPEGs nach Belieben neu erstellen können, würde ich nicht zweimal darüber nachdenken. Wenn Sie es jedoch mit dem Fotografieren ernst meinen und einen JPEG-zentrierten Workflow haben - und das trotz Online-RAW-Snobismus -, ist das in Ordnung -, möchten Sie wahrscheinlich, dass die ursprünglichen JPEG-Dateien zumindest unverändert bleiben. Das Hinzufügen eines Terabytes Speicher kostet bei Google nur 10 US-Dollar pro Monat. Oder wenn Sie ein Amazon Prime Kunden (100 $ / Jahr) sind erhalten Sie tatsächlich unbegrenzt Foto - Speicher, einschließlich der RAW - Dateien.

mattdm
quelle
Dropbox hat Lepton erstellt , um JPEG-Bilder verlustfrei um durchschnittlich 22% zu komprimieren
Nick T
5

Sie lösen das Problem im Grunde genommen mit Rechenleistung, indem sie sehr rechenintensive Ansätze verwenden, bei denen verschiedene Möglichkeiten zum Komprimieren des Bildes innerhalb der JPG-Regeln ausprobiert werden. Die Verarbeitung ist etwas, von dem Google wahrscheinlich reichlich hat, zumal es auch bandwdith spart.

Sie können das gleiche tun - die Software und verschiedene Dienste sind kostenlos oder billig. Ihr Programm / Ihre Kamera verfügt einfach nicht über die Rechenleistung, um eine "optimale" Möglichkeit zur Verwendung der verlustbehafteten JPG-Komprimierung zu finden.

TomTom
quelle
Dies ist ein guter Punkt, obwohl hierdurch die Bildgröße nur geringfügig verringert wird.
Salman A
4
Wow, der oben von @mattdm erwähnte Guetzli-Algorithmus ist ein Schwein! Auf der Github-Site wird mit der Software angegeben, dass für die Verarbeitung 300 MB RAM pro Megapixel Bild erforderlich sind. Außerdem wird pro Megapixel eine volle Minute CPU-Zeit benötigt !
Davidbak
Ja. Grundsätzlich "viele Kombinationen ausprobieren und dann die beste verwenden". Welchen Nachbar Lightroom noch zum Beispiel Ihre Kamera (insbesondere Ihre Kamera) kann.
TomTom
Aber da der Algorithmus im Grunde recompressing ein bereits komprimiertes JPEG - Bild, ist das nicht schlechter in der Folge zu , wenn Sie den gleichen Algorithmus auf den ursprünglichen apllied?
Michael
Ja. Nein, schau mal nach Gützli. JPEG - besonders von Kameras gemacht - wird SCHNELL gemacht. Sie können eine Minute damit verbringen, die optimale Kodierung pro Bild zu finden. Dienste wie compress.io tun dasselbe. Sie erhalten sehr deutliche Größenreduzierungen bei optisch gleichem Bild.
TomTom