比較 WebP、JPEG 和 JPEG 2000 的比較研究,2010 年 9 月
注意:我們使用 libvpx
程式庫發布的第一個 WebP 版本進行了這項初始研究。此外,來源圖片也是我們從網路檢索到的 JPEG 圖片。我們根據社群的意見回饋,現已針對 libwebp
的 0.1.2 版進行新研究,起初以無失真圖片 (PNG) 做為來源。這項新研究取代了這項研究
WebP 團隊對一組隨機 100 萬張圖片進行了三種圖片壓縮方法的比較研究。本研究的目標是評估這些方法達成的壓縮效果,並分析圖片大小和壓縮之間的優缺點。
資料集中有 90 萬張 JPEG 圖片套用了 WebP、JPEG 2000 和 Re-JPEG 三種壓縮方法。JPEG 圖片會以 Re-JPEG 重新壓縮,讓每張圖片盡可能接近目標峰值訊號比率 (PSNR) 值。圖片經壓縮後 就能進行分析
除了進行大規模的研究以外,團隊也手動檢查了 100 張隨機圖片,並發現在大多數情況下,WebP 可提供可接受的視覺品質。
結論
WebP 整體壓縮程度比 JPEG 或 JPEG 2000 高。以小型圖片來說,由於小型圖片是網路上最常見的圖片,因此檔案大小不足之處會特別高。
資料集
研究中使用的資料集是從從網路檢索到的圖片存放區中隨機取樣的 100 萬張圖片。下表顯示資料集內不同類型圖片的分佈情形。
類型 | 數量 |
---|---|
JPEG | 約 90 萬 |
PNG | 約 4.7 萬 |
GIF | 約 4.7 萬 |
其他 | 約 6,000 |
實驗設計
實驗分為兩個階段:
該團隊在目標 PSNR 為 42 的圖片上執行 WebP。他們調整了 WebP 編碼器的品質參數 (QP),直到結果達到特定圖片可獲得近 42 的結果為止。因此,每張圖片的實際 PSNR 不一定等於 42。
該團隊使用 WebP 壓縮圖片的 PSNR 值,做為 JPEG 2000 和 Re-JPEG 圖片的目標 PSNR。他們也會對 JPEG 2000 和 JPEG 圖片的品質參數執行線條搜尋,盡可能靠近目標 PSNR。
實際壓縮結果是使用以下公式,以百分比表示:
compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length
成果
測試結果顯示,無論壓縮還是非負數的壓縮率為何,結果都是以下結果:
非負數壓縮增加
如果這個方法會在壓縮後增加圖片大小,則團隊並未對方法做出懲罰。也就是說,壓縮_image.length 大於 original_image.length 時,系統會將壓縮比例視為 0。
負面壓縮增加
團隊允許負壓縮百分比結果,以進一步瞭解各種壓縮工具的原始效能。
以下是這三種方法分別達成的平均壓縮百分比。
類型 | 平均取得的 PSNR | 平均壓縮百分比 (非負數壓縮增加) |
平均壓縮率 (負壓縮增加) |
---|---|---|---|
WebP | 歐元 | 41.30 | 歐元 |
JPEG 2,000 | 歐元 | 27.67 | 9.71 |
重新 JPEG | 歐元 | 22.37 | 14.62 |
在允許使用負壓縮增益的情況下,JPEG 2000 的平均效能低於 JPEG。這可能是因為 JPEG 圖片中有高頻率構件,因此這些構件可能導致壓縮的情況較不理想。
實驗中用於轉換為 JPEG 2000 的 Kakadu 實作作業無法轉換約 24 萬張圖片。
JPEG 2000 的壓縮百分比比 Re-JPEG 低,主要原因在於許多圖片的 JPEG 2000 結果是負的壓縮。因此,JPEG 圖片的整體壓縮分數較低。
下圖提供三種方法的分佈圖:
圖 1:圖片大小人口分佈
圖表顯示大部分的圖片都很小。大小超過 500K 的圖片頻率通常小於 100。
圖 2:WebP、JPEG 和 JPEG 2000 圖片的壓縮百分比
這張圖表顯示,使用 WebP 壓縮的圖片內文,壓縮效果比 re-jpeg 和 jpeg 2000 更好。此外,使用 WebP 壓縮的圖片壓縮率比其他圖片更多。
圖 3:比較圖片大小和壓縮百分比
這張圖表顯示,WebP 的壓縮效果比其他格式更好,特別是對較小的圖片而言。