Google Foto cadangan berkualitas tinggi - bagaimana Google mencapai kompresi hebat dan apakah saya kehilangan beberapa data?

21

Saya yakin banyak dari kita telah menggunakan cadangan foto Google berkualitas tinggi yang memungkinkan kita untuk menyimpan foto secara online tanpa biaya.

Baru-baru ini, saya berpikir untuk menguji seberapa tinggi kualitas unggahan dengan mengunggah beberapa foto (di bawah 16 MP) dan membandingkannya dengan yang asli dalam hal resolusi, kualitas (seperti yang terlihat oleh mata) dan ukuran file.

Saya terkejut mencatat bahwa resolusi dan kualitasnya hampir sama dengan aslinya (tidak ada perbedaan visual dengan mata bahkan diperbesar dalam kebanyakan kasus) tetapi ukuran file berkurang secara drastis - setidaknya 2-3x dan bahkan sekitar 10x di beberapa kasus. Setelah menggunakan RAR untuk berbagai jenis file di masa lalu, saya tahu itu tidak akan mendekati dan tidak repot untuk mengujinya.

Pertanyaannya adalah: Bagaimana cara Google mengelola kompresi hebat seperti itu tanpa ada perubahan nyata pada gambar itu sendiri? Apakah mereka membuang data lokasi atau data lain yang terkait dengan gambar yang tidak diketahui oleh fotografer amatir?

Anurag B.
sumber
2
Jawaban saya sebenarnya menjawab pertanyaan kedua. Mereka belum menemukan algoritma kompresi lossless umum magis seperti ZIP atau RAR versi super. Mereka baru saja meningkatkan kompresi JPEG-spesifik.
mattdm

Jawaban:

20

Nah, untuk satu hal, semua foto yang lebih besar dari 16 megapiksel diubah ukurannya menjadi 16 MP - jadi, untuk banyak kamera saat ini, itu adalah penurunan resolusi yang langsung dan jelas.

Tetapi semua foto lain dikompres juga , menggunakan algoritma kompresi yang optimal. Saya tidak berpikir Google keluar dan mengatakan dengan tepat apa yang mereka lakukan, tapi itu mungkin algoritma open source Guetzli mereka . Google mengklaim:

Gambar yang dihasilkan Guetzli biasanya 20-30% lebih kecil dari gambar dengan kualitas setara yang dihasilkan oleh libjpeg.

Apa pun yang mereka lakukan, hasilnya cukup mengesankan - seringkali jauh lebih besar dari 20-30%. (Ini mungkin berarti bahwa Google tidak menganggap ini benar-benar "kualitas setara".) Anda dapat melihat beberapa perbandingan berdampingan dalam posting blog Arena Telepon ini .

Tapi, untuk pertanyaan judul Anda: Anda pasti kehilangan beberapa data. Algoritma ini bukan sulap - hanya menggunakan model persepsi untuk membuang data visual yang kompresi JPEG konvensional tidak, menghasilkan tingkat kompresi yang lebih tinggi sementara (mudah-mudahan) tidak menyebabkan gangguan lagi pada hal-hal yang benar-benar dapat Anda perhatikan.

Hanya Anda yang bisa memutuskan apakah Anda setuju dengan itu. Jika Anda mencadangkan RAW asli (dengan penyesuaian juga didukung) dan dapat membuat ulang JPEG sesuka hati, saya tidak akan berpikir dua kali tentang hal itu. Tetapi jika Anda serius tentang fotografi dan memiliki alur kerja yang berpusat pada JPEG - dan meskipun keangkuhan RAW online, itu tidak masalah - Anda mungkin ingin setidaknya menjaga agar file JPEG asli tidak diubah. Menambahkan satu terabyte penyimpanan hanya $ 10 / bulan dengan Google. Atau jika Anda adalah pelanggan Amazon Prime ($ 100 / tahun), Anda mendapatkan penyimpanan foto tak terbatas aktual , termasuk file RAW.

mattdm
sumber
Dropbox menciptakan Lepton untuk mengkompresi gambar JPEG tanpa kehilangan rata-rata 22%
Nick T
5

Mereka pada dasarnya melemparkan kekuatan pemrosesan pada masalah, menggunakan pendekatan yang sangat intensif yang mencoba berbagai cara untuk mengompresi gambar dalam aturan JPG. Memproses adalah sesuatu yang Google mungkin punya banyak, terutama karena ia juga menghemat bandwidth.

Anda dapat melakukan hal yang sama - perangkat lunak dan berbagai layanan gratis atau murah. Program / kamera Anda tidak memiliki kekuatan pemrosesan untuk menghasilkan cara "optimal" untuk menggunakan kompresi lossy JPG.

TomTom
sumber
Ini adalah poin yang baik meskipun hanya akan mengurangi ukuran gambar dengan proporsi kecil.
Salman A
4
Wow, algoritma Guetzli yang disebutkan oleh @mattdm di atas adalah babi! Di situs github dengan perangkat lunak itu memberi tahu Anda perlu memproses 300 MB RAM per megapiksel gambar untuk diproses, dan dibutuhkan waktu CPU satu menit penuh per megapiksel juga!
davidbak
Ya. Pada dasarnya "coba banyak kombinasi dan gunakan yang terbaik". Yang Lightroom terdekat juga tidak misalnya kamera Anda (khususnya kamera Anda) dapat melakukan.
TomTom
Tapi karena algoritma ini pada dasarnya recompressing gambar JPEG yang sudah dikompresi, bukankah ini lebih rendah dalam hasil ke jika Anda diaplikasikan algoritma yang sama dengan aslinya?
Michael
Ya. Tidak. Cari Gützli. Jpeg - sebagian dilakukan oleh kamera - dilakukan CEPAT. Tehy dapat menghabiskan satu menit untuk menemukan pengkodean yang optimal per Layanan gambar seperti kompresor . Anda mendapatkan pengurangan ukuran yang sangat signifikan dengan gambar yang sama secara optik.
TomTom