究極の圧縮、
詳細はそのまま。
WebPの圧縮効率は、ブロックベースの予測符号化によるものです。画像の既にデコードされた部分を使用して、新しいピクセルの予測値を構築します。
これにより、ファイルサイズが小さくなり、読み込みが速くなり、帯域幅の消費が抑えられます。
* SSIM画質指標に基づくと、同等の画質でWebP非可逆圧縮はJPEGより25-34%小さくなります。
圧縮の核心ロジック
function Predict(NeighborPixels) {
// 隣接ピクセルを使って現在ピクセルを予測
Predicted_P = Average(Left, Top, TopLeft);
// 差分(残差)のみを保存
return Actual_P - Predicted_P;
}
WebPは(BMPのように)すべてのピクセルの色を直接保存するのではなく、周囲の既知のピクセルに基づいて現在のピクセルの色を「推測」します。「推測が外れた」わずかなデータ(残差)のみを保存する必要があるため、ファイルサイズが大幅に削減されます。
オールラウンダーな機能
JPEGの代替品であるだけでなく、PNGとGIFの進化形でもあります。
非可逆と可逆
WebPは、非可逆圧縮(VP8ビデオ技術)と可逆圧縮(WebP Lossless)の両方をサポートするユニークなフォーマットです。
アルファ透明度
非可逆圧縮モードでも、WebPは8ビットのアルファチャンネルをサポートしています。これはJPEGには不可能なことです。
アニメーション対応
WebPはGIFを置き換えることができます。非可逆および可逆アニメーションをサポートし、通常GIFより64%以上小さくなります。
基盤技術アーキテクチャ
予測符号化
WebPの非可逆圧縮は主にVP8ビデオコーデックのキーフレーム符号化に基づいています。画像を16x16のマクロブロックに分割し、さらに4x4のサブブロックに分割して予測を行います。
エントロピー符号化
予測後の残差データと動きベクトルは、コンテキストベースの算術符号化(Arithmetic Coding)を経ます。これはJPEGで使用されるハフマン符号化よりも効率的です。