[ Google Service ] Google Photos 【高畫質】有沒有壓縮圖檔?

Title

也許有朋友這兩天會看到一篇文章,討論 Google Photos(Google 相簿) 的【高畫質】雖然是無限儲存空間,但是似乎會壓縮檔案。是真的嗎?

答案:是真的。但是你應該感覺不出來。


關於「無限儲存空間」圖檔會被壓縮這件事情…

在 Google Photos(Google 相簿) 還是 Google+ Photos(Google+ 相片) 時,Google 就已經提供無限儲存(照片)空間這服務了。當時的限制是解析度不超過 2048×2048 的照片將不佔用帳號的 Google 雲端空間。印象中那時國外有人測試過,反覆將同一張照片透過自動備份上傳後又拉下來再度上傳又拉下來再度上傳…大約 100 次之後,可以發現照片被反覆壓縮到相片品質十分低落。

現在 Google Photos(Google 相簿) 用的是 JFIF 格式(Jpeg File Interchange Format,Jpeg 檔案交換格式),是一種有損壓縮。一般手機拍攝的照片經過自動備份上傳後,大多數體積應該都會縮小。例如下面兩張圖(點圖片可得原始檔):

DSC_0221_Org DSC_0221_GPC
原始手機拍攝後得到的 jpg 檔。檔案長度 2,668,404 bytes. 透過 Google Photos 【高畫質】設定自動上傳的 jpg 檔。檔案長度 1,007,090 bytes.

 

Google Photos 上傳的檔案尺寸是原本的 38% 而已,也就是體積減少了 62%。但是畫質的差異你應該看不出來。

或許你會嫌這張手機拍的照片放大到 1:1 後不夠清晰,所以無從比較。那麼來看看第二組範例:

DSC_6687_Org DSC_6687_GPC
原始 DSLR 拍攝的 RAW 進 Photoshop 重新調整影像尺寸後,直接輸出成 jpg 格式,輸出時影像品質設定為 60。檔案長度 1,459,066 bytes. 透過 Google Photos 【高畫質】設定自動上傳的 jpg 檔。檔案長度 1,476,687 bytes.

 

我相信從第二組範例照片你也看不出來壓縮過後的照片與壓縮前的品質差異。但是也許你有看到第二組範例照片,壓縮過後的照片檔案長度反而比較長,多了 1.2%。壓縮有時候會適得其反。因為 Photoshop 輸出 Jpeg 時已經最佳化處理過一次了,針對這種檔案再次壓縮有可能會得到反效果。

從這邊來說,我認為【高畫質】的壓縮計算上,對於畫質減損的程度應該一般人看不出來。更何況如果這些圖片主要用在社群網站或網際網路交流,這種程度的損失應該更難以察覺。

 

那如果我把同一張照片反覆上傳呢?

其實我也對這件事情有興趣,所以做了一些測試。發現 Google Photos 還滿聰明的。

如果你用手機的相機 app 拍攝了一張照片,稱呼這為 A.jpg。在【高畫質】設定下,被 Google Photos 自動備份上傳了,在雲端產生一張被壓縮過的照片,稱呼這為 B.jpg。

接下來如果你把 B.jpg 下載(透過網頁界面或是從 Google Drive 拉下來)儲存成 C.jpg,然後放到會自動備份的資料匣,會發現 Google Photos 同時顯示兩張照片,但是不會再上傳第二次。就像下面這樣:

00001

如果個別去看 B.jpg 與 C.jpg 的內容,會看到像下面這兩張圖:

B_details1 C_details1
這是 B.jpg 的內容 這是 C.jpg 的內容

有發現明顯的差異嗎?C.jpg 的檔名前面有路徑。表示這張是儲存在本地端的。而 B.jpg 則是儲存在雲端的。

這時候你只有在這台行動裝置可以同時看到這兩張。其他同步的行動裝置以及網頁都只會看到 B.jpg 而已。Google Photos app 會自動判斷出 C.jpg 的內容其實跟 B.jpg 是同一個檔案,即使你把 C.jpg 改名,或是放到其他路徑期望 Google Photos 同步,最終都會比對出是同一個檔案就不再上傳了。

你說,那改用網頁上傳啊?也一樣。上傳過程會完成,但是網頁始終只會出現 B.jpg。相同的檔案不會再上傳第二次。

我認為 Google 伺服器應該有使用如 MD5 這一類的 hash 值比對。所以對使用者而言使用上也不用擔心會誤將同一個檔案上傳多次了。

 

兼顧「節省使用空間」與「相片品質」的方法…

現在知道在【高畫質】設定下,上傳的檔案(無論是透過 app 自動上傳或者是透過網頁上傳)都會被壓縮。由於畫質的損失難以被注意到,對於想要節省空間的人而言【高畫質】是不二選擇。但是有些照片,例如 DSLR 拍攝的高解析度作品,也希望能夠擺上 Google Photos 卻不希望被壓縮或是維持原本的檔案格式,例如 PNG。面對這種情況與其將設定手動切換成【原始檔案】還不如直接透過 Google Drive 上傳就好。因為手動將設定改為【原始檔案】上傳後可能會忘記改回來。利用 Google Photos 可以同時管理 Google Drive 的照片與影片的功能,只要將這些不希望被二次處理的照片、作品或影片直接放入 Google Drive,就可以兼顧「一般照片壓縮處理而且不使用 Google 空間,特別作品使用空間但不會被二次處理可以維持品質」兩個需求。