WebP、JPEG、JPEG 2000 の比較研究、2010 年 9 月
注: この初期調査は、libvpx
ライブラリを使用した、リリースした最初のバージョンの WebP で実施しました。また、ソース画像はウェブからクロールした JPEG 画像でした。コミュニティからのフィードバックに基づき、このたび、可逆画像(PNG)をソースとする libwebp
のバージョン 0.1.2 を使用した新しい調査を実施しました。新しい調査は、この調査よりも優先されます。
WebP チームは、ランダムな 100 万枚の画像に対して 3 種類の画像圧縮方法を比較調査しました。この調査の目標は、これらの方法で達成した圧縮の測定と、画像サイズと圧縮のトレードオフの分析でした。
データセットに含まれる 90 万枚の JPEG 画像に対して、WebP、JPEG 2000、Re-JPEG の 3 つの圧縮方法を適用しました。JPEG 画像は、それぞれが目標のピーク信号対雑音比(PSNR)値にできるだけ近いように、Re-JPEG で再圧縮されました。チームは分析が圧縮後の画像に対して行われました
大規模な調査に加えて、100 枚のランダムな画像を手動で検査した結果、ほとんどの場合、WebP で許容範囲内の画質が得られることがわかりました。
まとめ
WebP は、JPEG や JPEG 2000 よりも全体的に高い圧縮率を達成します。ウェブでよく見られる小さな画像では、特にファイルサイズが最小化されます。
データセット
調査で使用したデータセットは、ウェブからクロールされた画像のリポジトリからランダムにサンプリングされた 100 万枚の画像の集合です。次の表は、データセット内の各画像の分布を示しています。
種類 | カウント |
---|---|
JPEG | 約 90 万件 |
PNG | 約 4.7 万 |
GIF | 約 4.7 万 |
Other | 約 6,000 |
テストの設計
テストは次の 2 段階で実施されました。
チームは画像に対して WebP を実行し、目標 PSNR は 42 にしました。チームは、特定の画像に対して 42 に近くなるまで、WebP エンコーダの品質パラメータ(QP)を調整しました。そのため、各画像で達成された実際の PSNR は、必ずしもちょうど 42 とは限りません。
チームは、JPEG 2000 画像と Re-JPEG 画像のターゲット PSNR として、WebP 圧縮画像の PSNR 値を使用しました。また、目標の PSNR にできる限り近づくため、JPEG 2000 と JPEG の画像の品質パラメータのライン検索を実行しました。
実際の圧縮結果は、次の式を使用してパーセンテージとして測定されました。
compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length
結果
このテストでは、圧縮ゲインの負の値と負でない値について、次の結果が得られました。
非負圧縮ゲイン
メソッドの圧縮後に画像サイズを増やしても、チームはそのメソッドにペナルティをかけませんでした。つまり、compression_image.length が original_image.length より大きかった場合、compression_percentage は 0 とみなされました。
負の圧縮ゲイン
チームは、負の圧縮率の結果でも、さまざまなコンプレッサーの未加工のパフォーマンスをより詳しく把握できるようにしました。
3 つの方法でそれぞれ達成された平均圧縮率は次のとおりです。
種類 | 平均 PSNR 獲得数 | 平均圧縮率(%) (負でない圧縮率) |
平均圧縮率(%) (負の圧縮率) |
---|---|---|---|
WebP | 3,938 万台 | 41.30 | 3,980 万台 |
JPEG 2000 | 3,949 万台 | 27.67 | 9.71 |
再 JPEG | 3,936 万台 | 22.37 | 14.62 |
負の圧縮ゲインを許容した場合、JPEG 2000 の平均パフォーマンスは JPEG の平均パフォーマンスを下回りました。これは、JPEG 画像に高周波のアーティファクトがあることが原因の可能性があります。このようなアーティファクトは、理想的な圧縮状況とは言えない状況の原因となる可能性があります。
JPEG 2000 に変換する実験で使用された Kakadu の実装では、約 24 万枚の画像の変換が失敗しました。
JPEG 2000 では、Re-JPEG と比べて圧縮率が低くなります。これは、主に JPEG 2000 の方が多くの画像に対してマイナスの圧縮率になったためです。このため、JPEG 画像のほうが全体的な圧縮スコアが低くなっています。
次の図は、3 つの方法の分布グラフを示しています。
図 1: 画像サイズの人口分布
グラフを見ると、ほとんどの画像が小さかったことがわかります。500K を超える画像の表示頻度は、通常 100 未満です。
図 2: WebP、JPEG、JPEG 2,000 画像の圧縮率
このグラフは、WebP で圧縮した画像本文が、re jpeg や jpeg 2000 よりも圧縮率が高いことを示しています。また、WebP で圧縮した画像は、他の画像よりもポジティブな圧縮になりました。
図 3: 画像サイズと圧縮率の比較
このグラフは、WebP の方が他の形式よりも圧縮率に優れており、特に小さな画像で優れていることを示しています。