WebP

**WebP**（ウェッピー）は、米Googleが開発しているオープン標準の静止画像およびアニメーション画像のフォーマット。ファイルの拡張子は`.webp`。

## 概要

2010年9月30日に仕様が公表され、オープンソースの各種ツールと共に提供が開始された。

ウェブサイトのトラフィック量軽減と表示速度短縮を目的としており、インターネットのWebページで広く使われている非可逆圧縮のJPEGや可逆圧縮のGIF、PNGの置き換えを意図する規格である。JPEGとは異なり、非可逆圧縮でもアルファチャンネルを扱える。

画像圧縮については動画規格WebMのベースであるVP8ビデオコーデックの技術を利用しており、コンテナ形式としてRIFFを採用している。コンテナの部分を除くと、非可逆のWebPは1フレームのWebMである。

WebPの最大ピクセル数は16383x16383ピクセル。非可逆のサンプリングファクタはYCbCr 4:2:0のみ。

アルファチャンネル、ICCプロファイル、アニメーション、 EXIF/EMPメタデータに対応している（⇒#機能）。CMYKカラーモデルには対応していない。3D画像には将来対応する予定。

発音については公表時にGoogleは「Did you know? WebP is pronounced "weppy"」（WebPは"weppy"と発音する）と説明したことにより、ウェッピーとなった。なお、その説明は2012年には残っていない。

2024年11月、WebPはとして正式に規格化された。

## 機能

### 基本機能
WebPの基本機能は単一静止画の可逆・非可逆圧縮である。非可逆画像圧縮コーデックはVP8のキーフレーム圧縮を基本とする。

### 拡張機能
WebPはオプションで拡張機能を有効化できる。以下は拡張機能の一覧である：

* アルファチャンネル
* 色設定: ICCプロファイルに基づく色管理
* : アルファチャンネルが有効なアニメーション
* ファイルメタデータ: EXIF形式 or EMP形式のファイルメタデータ

## 評価
Googleの示した事例では、ファイルサイズは非可逆圧縮モードで（同一画像、同等画質の）JPEGと比較して25-34%小さくなり、可逆圧縮モードでPNGと比較して28%小さくなるとしている。また22%のファイルサイズ増加でアルファチャネルを追加できるとしている。可逆圧縮は、エンコードはPNGよりも時間がかかるが、デコードはPNGよりも高速であると主張している。一方、非可逆圧縮では、2013年10月に行われたMozillaの比較調査で、旧来のJPEGと大して変わらないという結果となった。

## libwebp
**libwebp**は、webpを取り扱えるライブラリである。C言語やJava、Go言語などが開発に使用されている。加えて、cwebpやdwebpなどのエンコード、デコード用のユーティリティも用意されている。

Linux、Windows、macOSにはプリコンパイルパッケージが用意されている。iOSにはフレームワークがあり、Androidでは、Android StudioのAPI レベル 18以上のプロジェクトで完全にサポートされる。

## 対応環境
### OS
* Android - 非可逆圧縮は 4.0 以降、可逆圧縮は 4.3 以降
* Microsoft Windows 10 Creators Update以降
* macOS - Big Sur 以降
* iOS - 14 以降

### ウェブブラウザ
*Google Chrome 17 以降、Google Chrome for Android 25 以降
*Mozilla Firefox 65以降
*Microsoft Edge 18以降
*Opera 11.10 以降
*Safari 14以降
*SeaMonkey 2.53.5以降

### ビューアー
*IrfanView
*nomacs
*Pixelmator
*XnView
*Honeyview
*JPEGView
*PicView

### エディター
* Adobe Photoshop (23.2以降)
* GIMP (2.10.0以降)
* CLIP STUDIO (3.0.0以降)

### コンバーター
*Google Official WebP Tools
*FFmpeg
*ImageMagick
*Squoosh
*XnConvert
*
*Advanced Batch Image Converter
*PicWish
*Bandisoft Honeyview

### ライブラリおよびプラグイン等
*Squoosh CLI - Google製の画像圧縮コマンドラインインターフェース
*WebPJS - JavaScriptによるWebPライブラリ
*WebP QuickLook Plugin - macOSのQuickLook 用プラグイン
*Weppy - OS Xのウェブブラウザ向けのプラグイン
*ifwebp.spi - WebPファイルを表示するSusieプラグイン
*WebP Codec for Windows - Windows Imaging Component (WIC) に準拠したコーデック。導入することでWIC対応の各種ソフトウェアにてWebP画像の表示が可能になる。説明ページのみがリンク切れしているため、現在もダウンロードは可能。2024年7月現在でも、デコードのみの対応でエンコードには今後対応する予定。2016年1月以降は更新が行われていない。
*Webp 画像拡張機能 - Windows上で使用できる、Microsoft Edge用の拡張機能。Microsoft Storeで配布されている。2017年前後はEdgeにWebpを読み込む機能が備わっていなかったため代替手段として用いられた。しかし、バージョン18以降のEdgeは標準でWebpのデコード機能を備え、後にはChromiumベースになったため、同プラグインの使用用途はほぼ無くなっている。

## 仕様
WebP は画像に特化した RIFF のサブセットである。RIFFヘッダーは **WebP File Header** と呼ばれ、フォーマット名FourCCは `WEBP` でなければならない。コンテンツ及びメタデータに関するチャンクタイプが WebP 仕様により定められており、それ以外のチャンクは（RIFF仕様に基づき）**unknown チャンク**として無視される。

チャンクタイプは以下の 8 種類が存在する：

* VP8: VP8コーデックで非可逆圧縮された単一静止画
* VP8L: 可逆圧縮された単一静止画
* VP8X: 拡張仕様の利用に関するメタデータ
* ICCP: ICCプロファイル
* ANIM: アニメーションのグローバル設定
* ANMF: アニメーションを構成する単一フレーム
* EXIF: EXIF形式のファイルメタデータ
* XMP: EMP形式のファイルメタデータ

### VP8チャンク
VP8チャンクは FourCC `VP8` をもち VP8 で非可逆圧縮された単一静止画を収納するチャンクである。

### VP8Lチャンク
VP8Lチャンクは FourCC `VP8L` をもち WebP lossless で可逆圧縮された単一静止画を収納するチャンクである。

### VP8Xチャンク
VP8チャンクは FourCC `VP8X` をもち RIFF 拡張仕様の利用に関するメタデータを収納するチャンクである。

WebP の最も基本的な役割は単一静止画を収納することである。他にアニメーション等の拡張機能がオプショナルであるが、基本機能のみを利用するならオプションON/OFFの明示的指定はファイル容量の無駄である。これを解決するため、WebP は VP8Xチャンクが存在しなければ基本機能のみ（全オプションOFF）と解釈する。その対として、オプションを1つでも利用する際は VP8Xチャンクを持ち、このチャンク内で全オプションの利用フラグと設定を明示する。

### ANIMチャンク
**ANIMチャンク**は FourCC `ANIM` をもちアニメーションのグローバル設定を収納するチャンクである。

バックグラウンド色およびループカウント数を設定できる。

### ANMFチャンク
**ANMFチャンク**は FourCC `ANMF` をもちアニメーションを構成する単一フレームを収納するチャンクである。

キャンパス内におけるフレームのX/Y座標・Hight/Width・継続長・アルファブレンド設定・フレーム破棄設定をメタデータとして有し、末尾に Frame Data をもつ。Frame Data は LISTチャンク に似たチャンクで、アルファ・ビットストリーム・unknown のサブチャンク列を格納している。

### EXIFチャンク
**EXIFチャンク**は FourCC `EXIF` をもち EXIF メタデータを収納するチャンクである。

ファイル全体のメタデータを収納するチャンクであるため、このチャンクかXMPチャンクのいずれか1つのみしか同時に存在できない。

### XMPチャンク
**XMPチャンク**は FourCC `XMP`  をもち EMP メタデータを収納するチャンクである。

ファイル全体のメタデータを収納するチャンクであるため、このチャンクかEXIFチャンクのいずれか1つのみしか同時に存在できない。

## 脚注

### 注釈

### 出典

## 関連項目
* WebPの元となったもの
** WebM WebPの姉妹プロジェクトである動画フォーマット
** VP8 WebMのビデオコーデック
** RIFF WebPのコンテナ形式
* WebPと同様にJPEGの置き換えを目指している競合規格
** JPEG 2000
** JPEG XR
** AVIF - 実質的なWebP後継規格

## 外部リンク
* 
*