WebP
WebP(ウェッピー[3])は、米Googleが開発しているオープン標準の静止画像フォーマット。ファイルの拡張子は「.webp」。
拡張子 | .webp [1] |
---|---|
MIMEタイプ | image/webp [1][2] |
マジック ナンバー | WEBP |
開発者 | |
種別 | 画像ファイルフォーマット |
概要
編集2010年9月30日に仕様が公表され、オープンソースの各種ツールと共に提供が開始された。
ウェブサイトのトラフィック量軽減と表示速度短縮を目的としており、インターネットのWebページで広く使われている非可逆圧縮のJPEGや可逆圧縮のGIF、PNGの置き換えを意図する規格である。JPEGとは異なり、非可逆圧縮でもアルファチャンネルを扱える。
画像圧縮については動画規格WebMのベースであるVP8ビデオコーデックの技術を利用しており[4]、コンテナ形式としてRIFFを採用している[5]。コンテナの部分を除くと、非可逆のWebPは1フレームのWebMである。
WebPの最大ピクセル数は16383x16383ピクセル[6]。非可逆のサンプリングファクタはYCbCr 4:2:0のみ。
アルファチャンネル、ICCプロファイル、アニメーション、 EXIF/EMPメタデータに対応している(⇒#機能)。CMYKカラーモデルには対応していない。3D画像には将来対応する予定[7]。
発音については公表時にGoogleは「Did you know? WebP is pronounced "weppy"」(WebPは"weppy"と発音する)と説明したことにより[8]、ウェッピーとなった[9]。なお、その説明は2012年には残っていない[10]。
機能
編集基本機能
編集WebPの基本機能は単一静止画の可逆・非可逆圧縮である。非可逆画像圧縮コーデックはVP8のキーフレーム圧縮を基本とする。
拡張機能
編集WebPはオプションで拡張機能を有効化できる。以下は拡張機能の一覧である:
評価
編集Googleの示した事例では、ファイルサイズは非可逆圧縮モードで(同一画像、同等画質の)JPEGと比較して25-34%小さくなり、可逆圧縮モードでPNGと比較して28%小さくなるとしている。また22%のファイルサイズ増加でアルファチャネルを追加できるとしている。可逆圧縮は、エンコードはPNGよりも時間がかかるが、デコードはPNGよりも高速であると主張している[11]。一方、非可逆圧縮では、2013年10月に行われたMozillaの比較調査で、旧来のJPEGと大して変わらないという結果となった[12]。
libwebp
編集開発元 | |
---|---|
初版 | 2010年9月30日 |
最新版 |
1.4.0
/ 2024年4月13日[13] |
リポジトリ | https://chromium.googlesource.com/webm/libwebp/ |
プログラミング 言語 | C言語 |
対応OS | Unix系, macOS, iOS, Windows, Android |
種別 | 画像圧縮コーデック |
ライセンス | BSDライセンス |
公式サイト | WebP Home |
libwebpは、webpを取り扱えるライブラリである[11]。C言語やJava、Go言語などが開発に使用されている。加えて、cwebpやdwebpなどのエンコード、デコード用のユーティリティも用意されている[14]。
Linux、Windows、macOSにはプリコンパイルパッケージが用意されている。iOSにはフレームワークがあり、Androidでは、Android StudioのAPI レベル 18以上のプロジェクトで完全にサポートされる。
対応環境
編集OS
編集- Android - 非可逆圧縮は 4.0 以降、可逆圧縮は 4.3 以降[15]
- Microsoft Windows 10 Creators Update以降
- macOS - Big Sur 以降
- iOS - 14 以降
ウェブブラウザ
編集- Google Chrome
- Mozilla Firefox 65以降[16]
- Microsoft Edge 18以降
- Opera
- Safari 14以降
- SeaMonkey 2.53.5以降[17]
ビューアー
編集エディター
編集- Adobe Photoshop (23.2以降[18])
- GIMP (2.10.0以降[19])
- CLIP STUDIO (3.0.0以降[20])
コンバーター
編集- Google Official WebP Tools
- Squoosh
- ImageMagick
- XnConvert
- Romeolight WebPconv
- 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月以降は更新が行われていない[21]。
- Webp 画像拡張機能 - Windows上で使用できる、Microsoft Edge用の拡張機能。Microsoft Storeで配布されている。2017年前後はEdgeにWebpを読み込む機能が備わっていなかったため[22]代替手段として用いられた。しかし、バージョン18以降のEdgeは標準でWebpのデコード機能を備え、後にはChromiumベースになったため[23][24]、同プラグインの使用用途はほぼ無くなっている。
仕様
編集WebP は画像に特化した RIFF のサブセットである[25]。RIFFヘッダーは WebP File Header と呼ばれ、フォーマット名FourCCは WEBP
でなければならない。コンテンツ及びメタデータに関するチャンクタイプが WebP 仕様により定められており、それ以外のチャンクは(RIFF仕様に基づき)unknown チャンクとして無視される[26]。
チャンクタイプは以下の 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 拡張仕様の利用に関するメタデータを収納するチャンクである[27]。
WebP の最も基本的な役割は単一静止画を収納することである[28]。他にアニメーション等の拡張機能がオプショナルであるが[29]、基本機能のみを利用するならオプションON/OFFの明示的指定はファイル容量の無駄である。これを解決するため、WebP は VP8Xチャンクが存在しなければ基本機能のみ(全オプションOFF)と解釈する。その対として、オプションを1つでも利用する際は VP8Xチャンクを持ち、このチャンク内で全オプションの利用フラグと設定を明示する。
ANIMチャンク
編集ANIMチャンクは FourCC ANIM
をもちアニメーションのグローバル設定を収納するチャンクである[30]。
バックグラウンド色およびループカウント数を設定できる。
ANMFチャンク
編集ANMFチャンクは FourCC ANMF
をもちアニメーションを構成する単一フレームを収納するチャンクである[31]。
キャンパス内におけるフレームのX/Y座標・Hight/Width・継続長・アルファブレンド設定・フレーム破棄設定をメタデータとして有し、末尾に Frame Data をもつ。Frame Data は LISTチャンク に似たチャンクで、アルファ・ビットストリーム・unknown のサブチャンク列を格納している。
EXIFチャンク
編集EXIFチャンクは FourCC EXIF
をもち EXIF メタデータを収納するチャンクである[32]。
ファイル全体のメタデータを収納するチャンクであるため、このチャンクかXMPチャンクのいずれか1つのみしか同時に存在できない[33]。
XMPチャンク
編集XMPチャンクは FourCC XMP
をもち EMP メタデータを収納するチャンクである[32]。
ファイル全体のメタデータを収納するチャンクであるため、このチャンクかEXIFチャンクのいずれか1つのみしか同時に存在できない[33]。
脚注
編集- ^ a b “MIME types (IANA media types) - HTTP” (英語). MDN. 2020年6月16日閲覧。
- ^ ただし2023年3月現在草案であり、IANAによって正式登録されてはいない。Media Types | IANA
- ^ “WebPとは”. IT用語辞典. 2024年2月12日閲覧。
- ^ “Google、Web高速化を目指し新画像フォーマット「WebP」を発表”. ITmedia (2010年10月1日). 2012年3月3日閲覧。
- ^ RIFF Container
- ^ Frequently Asked Questions | WebP | Google Developers
- ^ “グーグル、「WebP」形式の画質改善--「JPEG」の代替を目指す”. CNET News (2011年5月26日). 2012年3月3日閲覧。
- ^ WebP Home - ウェイバックマシン(2011年11月14日アーカイブ分)
- ^ “WebPとは ウェッピー: - IT用語辞典バイナリ”. 2023年3月26日閲覧。
- ^ “A new image format for the Web”. 2023年3月26日閲覧。
- ^ a b “Lossless and Transparency Encoding in WebP”. Google. 2012年3月3日閲覧。
- ^ “Mozilla unimpressed with Google's Web photo standard”. 2014年3月25日閲覧。
- ^ Index of downloads.webmproject.org/releases/webp
- ^ “WebP のダウンロードとインストール”. Google for Developers. 2024年7月22日閲覧。
- ^ WebP 画像の作成 | Android デベロッパー | Android Developers
- ^ 株式会社インプレス (2019年1月30日). “「Firefox 65」が正式公開 ~トラッキング保護を改善、WebP/AV1をサポート/脆弱性の修正はCVE番号ベースで7件”. 窓の杜. 2024年9月24日閲覧。
- ^ “MozillaZine.jp » Blog Archive » SeaMonkey 2.53.5 がリリースされた”. 2024年9月24日閲覧。
- ^ Photoshop での WebP ファイルの操作 | Adobe
- ^ GIMP 2.10.0 Released - GIMP
- ^ CLIP STUDIO PAINT バージョン3.0を提供開始 より描きやすく、制作を効率化する多数の新機能を追加
- ^ “Index of downloads.webmproject.org/releases/webp”. storage.googleapis.com. 2024年7月22日閲覧。
- ^ “WebP image format | Can I use... Support tables for HTML5, CSS3, etc”. caniuse.com. 2024年7月22日閲覧。
- ^ “libwebp - Chromium Code Search”. source.chromium.org. 2024年7月22日閲覧。
- ^ “Chromium ベースの新しい Microsoft Edge をダウンロードする - Microsoft サポート”. support.microsoft.com. 2024年7月22日閲覧。
- ^ "The WebP container (that is, the RIFF container for WebP) ... The WebP file format is based on the RIFF" WebP Container Specification より引用。2024-11-12閲覧.
- ^ "A RIFF chunk ... whose FourCC is different from any of the chunks described in this document, is considered an unknown chunk. ... Readers SHOULD ignore these chunks." WebP Container Specification より引用。2024-11-12閲覧.
- ^ "A 'VP8X' Chunk with information about features used in the file." WebP Container Specification より引用。2024-11-12閲覧.
- ^ "the basic use case of WebP (that is, a file containing a single image encoded as a VP8 key frame)." WebP Container Specification より引用。2024-11-12閲覧.
- ^ "The WebP container provides additional support" WebP Container Specification より引用。2024-11-12閲覧.
- ^ "'ANIM' Chunk: ... contains the global parameters of the animation." WebP Container Specification より引用。2024-11-12閲覧.
- ^ "'ANMF' Chunk: ... contains information about a single frame." WebP Container Specification より引用。2024-11-12閲覧.
- ^ a b "Metadata can be stored in 'EXIF' or 'XMP ' Chunks." WebP Container Specification より引用。2024-11-12閲覧.
- ^ a b "There SHOULD be at most one chunk of each type ('EXIF' and 'XMP ')." WebP Container Specification より引用。2024-11-12閲覧.