.WEBP オプション番号
Google によって導入された WebP は、可逆圧縮と非可逆圧縮に基づく最新のラスター Web イメージ ファイル形式です。画像サイズを大幅に縮小しながら、同じ画質を提供します。ほとんどの Web ページはデータの効果的な表現として画像を使用するため、Web ページで WebP 画像を使用すると、Web ページの読み込みが高速になります。 Google によると、WebP ロスレス画像は PNG と比較してサイズが 26% 小さく、WebP ロッシー画像は同等の JPEG 画像よりも 25 ~ 34% 小さいです。画像は、WebP と他の画像ファイル形式の間の構造的類似性 (SSIM) インデックスに基づいて比較されます。 WebP は WebM マルチメディア コンテナー形式の姉妹プロジェクトです。
WebP 機能の概要
WebP 画像は、周囲のブロックからのピクセルの予測に基づいて圧縮プロセスを使用するため、1 つのファイルでピクセルが複数回使用されることになります。アニメーション画像をサポートしており、将来的にはより多くの機能をサポートする予定です。 Google は、必要に応じて使用できるように、エンコーダーとデコーダーのソース コードをオンラインで公開しています。 WebP イメージは、次のサポートを提供します。
- 非可逆圧縮: 非可逆圧縮は、VP8 キー フレーム エンコーディングに基づいています。 VP8 は、VP6 および VP7 形式の後継として On2 Technologies によって作成されたビデオ圧縮形式です。
- ロスレス圧縮: ロスレス圧縮形式は、WebP チームによって開発されました。
- 透過性: 8 ビットのアルファ チャネルは、グラフィック イメージに役立ちます。アルファ チャンネルは、ロッシー RGB と共に使用できます。これは、現在他の形式では利用できない機能です。
- アニメーション: トゥルーカラーのアニメーション画像をサポートします。
- メタデータ: EXIF および XMP メタデータが含まれる場合があります (たとえば、カメラで使用されます)。
- カラー プロファイル: ICC プロファイルが埋め込まれている場合があります。
非可逆 WebP 圧縮では、予測コーディングを使用して画像をエンコードします。これは、VP8 ビデオ コーデックがビデオのキーフレームを圧縮するために使用するのと同じ方法です。予測コーディングは、隣接するピクセル ブロックの値を使用してブロック内の値を予測し、その差のみをエンコードします。
可逆 WebP 圧縮では、新しいピクセルを正確に再構築するために、既に見た画像の断片を使用します。興味深い一致が見つからない場合は、ローカル パレットを使用することもできます。
ファイル形式
WebP ファイル形式は、RIFF (リソース交換ファイル形式) ドキュメント形式に基づいています。 WebP コンテナーは、VP8 キー フレームとしてエンコードされた単一の画像のみを含む以上の機能をサポートします。 RIFF ファイルの基本要素は、以下で構成されるチャンクです。
フィールド | 説明 |
---|---|
Chunk FourCC: 32 ビット | チャンクの識別に使用される ASCII 4 文字コード |
チャンク サイズ: 32 ビット (uint32) | このフィールド、チャンク識別子、またはパディングを含まないチャンクのサイズ |
チャンク ペイロード: チャンク サイズ バイト | データ ペイロード。チャンク サイズが奇数の場合、1 つのパディング バイト ~-~- 0 であるべき ~-~- が追加されます |
ChunkHeader (‘ABCD’) | 個々のチャンクの FourCC およびチャンク サイズ ヘッダーを記述するために使用されます。ここで、‘ABCD’ はチャンクの FourCC です。この要素のサイズは 8 バイトです。 |
WebP ヘッダー
WebP ファイルのヘッダーは次のとおりです。
- RIFF ヘッダー - ASCII 文字 ‘R’ ‘I’ ‘F’ ‘F’ を表す 32 ビット
- ファイル サイズ - オフセット 8 から始まるファイルのサイズをバイト単位で表す 32 ビット (uint32)。このフィールドの最大値は 2^32 から 10 バイトを引いた値であるため、ファイル全体のサイズは最大でも 4GiB から 2 バイトを引いた値になります。 .
- ‘WEBP’ - ASCII 文字を表す 32 ビット ‘W’ ‘E’ ‘B’ ‘P’
非可逆ファイル形式
画像が非可逆エンコーディングに基づいており、透明度、アニメーション、アルファなどの高度な機能や拡張機能を必要としない場合、WebP 画像は非可逆ファイル形式を使用します。非可逆画像はサイズが小さく、古いアプリケーションでもサポートされています。
この場合、WebP ファイルは次のもので構成されます。
- 12 バイトの WebP ファイル ヘッダー
- VP8 チャンク
VP8 Data Format and Decoding Guide は、VP8 ビットストリーム形式の仕様を示しています。
ロスレス ファイル形式
このレイアウトは、画像がロスレス エンコーディングに基づいており、外部フォーマットによって提供される高度な機能が必要ない場合に使用されます。ただし、古いアプリケーションはそのようなファイルを読み取ることができない場合があります。
この場合、WebP ファイルは次のもので構成されます。
- 12 バイトの WebP ファイル ヘッダー
- VP8L チャンク