| WebP | |
|---|---|
Wikipediaのロゴ(WebPファイル形式)[ a ] | |
| ファイル名拡張子 | .webp[ 1 ] |
| インターネットメディアの 種類 | image/webp[ 2 ] |
| 統一型識別子 (UTI) | org.webmproject.webp [ 3 ] |
| 魔法の数字 | 52 49 46 46 xx xx xx xx 57 45 42 50 56 50 38[ 2 ] |
| 開発元 | グーグル |
| 初回リリース | 2010年9月30日 (2010-09-30)[ 4 ] |
| フォーマットの種類 | 可逆圧縮と非可逆圧縮に対応した画像ファイル形式 |
| 含ま れる | リソース交換ファイルフォーマット(RIFF)[ 5 ] |
| 標準 | RFC 9649 |
| オープンフォーマット? | はい[ 6 ] |
| フリーフォーマット? | はい |
| Webサイト | developers.google.com/speed/webp |
| libwebp | |
|---|---|
| 開発者 | グーグル |
| リリース | 2011年2月 23日 (2011-02-23)[ 7 ] [ 8 ] |
| 安定放出 | |
| 執筆 | C |
| タイプ | デジタルイメージング |
| ライセンス | BSDライセンス |
| Webサイト | developers.google.com/speed/webp |
| リポジトリ | chromium.googlesource.com/webm/libwebp |
WebP(発音はウェッピー/ ˈ w ɛ p i /)[ 10 ] [ 11 ] [ 12 ]は、 Googleが開発したラスターグラフィックスファイル形式で、ウェブ上のJPEG、PNG、GIFファイル形式の代替として意図されています。画像圧縮(非可逆圧縮と可逆圧縮の両方)[ 13 ]、アニメーション、アルファ合成をサポートしています。ビデオ用の姉妹プロジェクトはWebMと呼ばれています。
Googleは2010年9月にWebPフォーマットを発表し、2018年4月にサポートライブラリの最初の安定版をリリースしました。WebPは画像サイズを縮小する目的でインターネット上で広く採用され、現在では主要なブラウザすべてがこのフォーマットをサポートしています。
WebPは、2010年9月30日にGoogleによって初めて発表され、ウェブ上の非可逆圧縮トゥルーカラーグラフィックス用の新しいオープンフォーマットであり、同等の画質でJPEGファイルよりも小さいファイルを生成するものでした。 [ 14 ]これは、GoogleがOn2 Technologiesの買収によって獲得した技術に基づいています。[ 15 ] VP8ビデオフォーマットの派生として、 WebMマルチメディアコンテナフォーマットの姉妹プロジェクトです。 [ 16 ] WebP関連のソフトウェアはBSDフリーソフトウェアライセンスの下でリリースされています。[ 17 ]
2011年10月3日、[ 18 ] Googleは「拡張ファイルフォーマット」[ 19 ]を追加し、WebPでアニメーション、ICCプロファイル、XMPおよびExifメタデータ、タイリング(最大サイズの非常に大きな画像を合成)をサポートできるようにしました。16,384 × 16,384タイル)。タイルのサポートは最終決定されず、仕様から再び削除されました。[ 20 ]
2011年11月18日、Googleは新しいロスレス圧縮モードと、ロスレスモードとロッシーモードの両方での透明度(アルファチャンネル)のサポートを発表しました。サポートはlibwebp 0.2.0(2012年8月16日)でデフォルトで有効になりました。 [ 21 ] [ 22 ] 2011年11月のGoogleの測定によると、 PNGからWebPへの変換により、Webで見つかったPNGから開始した場合、ファイルサイズが45%削減され、pngcrushとPNGOUTで再圧縮されたPNGと比較すると28%削減されました。[ 23 ]
2016 年 7 月、Apple は macOS Sierra と iOS 10 の初期ベータ版に WebP のサポートを追加しましたが[ 24 ]、2016 年 9 月にリリースされた iOS 10 と macOS Sierra の GM シード版ではサポートが削除されました。2020 年 9 月、Safari バージョン 14 に WebP のサポートが追加されました。[ 25 ]
サポートライブラリであるlibwebpは、2018年4月にバージョン1.0に到達しました。[ 26 ]
2024年11月、WebPはRFC 9649として正式に規定され、公開されました。
WebPの非可逆圧縮アルゴリズムは、VP8ビデオフォーマットのフレーム内符号化と、コンテナフォーマットとしてのリソース交換ファイルフォーマット(RIFF)に基づいています。[ 4 ]そのため、8ビットの色深度と、1:2の比率でクロマサブサンプリング( YCbCr 4:2:0)を行う輝度-色度モデルを備えたブロックベースの変換方式となっています。 [ 28 ]追加のコンテンツがない場合、必須のRIFFコンテナのオーバーヘッドはわずか20バイトですが、追加のメタデータも保持できます。[ 4 ] WebP画像の辺の長さは、16,383ピクセル。[ 6 ]
WebP はブロック予測に基づいています。各ブロックは、その上の 3 つのブロックと左の 1 つのブロックの値に基づいて予測されます (ブロックのデコードは、ラスター スキャンの順序 (左から右、上から下) で行われます)。ブロック予測には、水平、垂直、DC (単色)、および TrueMotion の 4 つの基本モードがあります。予測ミスされたデータと予測されなかったブロックは、離散コサイン変換またはWalsh–Hadamard 変換を使用して 4×4 ピクセルのサブ ブロックに圧縮されます。どちらの変換も、丸め誤差を避けるために固定小数点演算で行われます。出力はエントロピー エンコーディングで圧縮されます。[ 28 ] WebP は並列デコードも明示的にサポートしています。[ 28 ]
リファレンス実装は、Linux 用のコマンドラインプログラム (cwebp)の形式のコンバータ ソフトウェアと、WebM と同じデコード用のプログラミング ライブラリで構成されています。オープンソース コミュニティは、コンバータを Windows などの他のプラットフォームに移植しました。[ 29 ]
WebPコンテナ(WebP用のRIFFコンテナ)は、WebPの基本的な使用例(VP8キーフレームとしてエンコードされた単一の画像を含むファイル)を超えた機能サポートを提供します。WebPコンテナは、以下の追加サポートを提供します。
WebPのロスレス圧縮は、VP8とは無関係の新しいアルゴリズムで、GoogleのソフトウェアエンジニアであるJyrki Alakuijalaによって設計されました。異なるカラーチャネル専用のエントロピーコード、後方参照距離の2D局所性の利用、最近使用された色のカラーキャッシュなどの高度な技術を使用しています。これは、辞書符号化、ハフマン符号化、カラーインデックス変換などの基本的な技術を補完します。[ 21 ]このフォーマットは再帰的な定義を使用します。ローカルエントロピーコードの選択など、すべての制御画像は、画像全体と同じ方法でエンコードされます。[ 30 ]
Google は、人気のGIFフォーマットの代替として、アニメーション画像に WebP を使用することを提案しており、24 ビット カラーと透明度、同じアニメーション内での非可逆圧縮と可逆圧縮のフレームの組み合わせ、特定のフレームへのシークのサポートといった利点を挙げています。Google は、アニメーション GIF から非可逆 WebP に変換した画像のファイル サイズが 64% 削減され、可逆 WebP では 19% 削減されたと報告しています。[ 31 ]
2024年時点で、WebPをサポートするウェブブラウザは市場シェアの97%を占めていた。[ 32 ]
GoogleはWebPを積極的に推奨しています。独自のPageSpeed Insightsツールは、Webサイトの速度スコアを向上させるために、ウェブマスターがJPEGやPNGからWebPに切り替えることを推奨しています。[ 33 ]
Google ChromeおよびすべてのChromiumベースのブラウザは WebP をサポートしています。デスクトップ版 Chrome では、バージョン 17 (2012 年 2 月リリース) でロッシー WebP のサポートが追加され[ 34 ]、バージョン 23 (2012 年 11 月リリース) でロスレス WebP のサポートが追加されました[ 35 ]。Android 版 Google Chrome では、バージョン 25 (2013 年 3 月リリース) でロッシーおよびロスレスのサポートが追加されました[ 36 ] [ 37 ] 。
2020年1月以降にリリースされたMicrosoft EdgeのバージョンはChromiumブラウザをベースにしており、WebPをネイティブでサポートしています。EdgeHTMLベースのMicrosoft Edgeバージョンは、プラットフォーム拡張機能(デフォルトでインストール)を介してWebPをサポートしています(セキュリティ強化された「Application Guard」モードで実行されている場合は、プラットフォーム拡張機能はサポートされません)。[ 38 ]
Safariは2020年9月にiOS 14とmacOS Big SurでWebPのサポートを追加しました。[ 25 ]
Mozilla Firefox [ 39 ]は、2019 年 1 月より WebP を公式にサポートしています。[ 40 ]当初は 2013 年に実装が検討されていました。[ 41 ]
Pale Moonは、 2016年1月にバージョン26のマイルストーンでWebPの初期サポートを実装しました。[ 42 ]
SeaMonkeyは、2020年11月にリリースされたバージョン2.53.5でWebPのサポートを開始しました。[ 43 ]
GNOME Web、Midori、およびFalkonは、 WebPをネイティブにサポートしています。
WebPはWebPJS JavaScriptライブラリを使用して主要なブラウザすべてで表示することもできますが、Internet Explorer 6以降でのサポートはFlashを使用して実現されています。[ 44 ]
2010年9月にWebPが発表されて以来、ソフトウェアは徐々にWebPをサポートするようになった。2011年までに、WebPをサポートするプラグインがいくつかの人気グラフィックソフトウェアプログラムに登場し、AcornやPixelmatorなどの一部のプログラムはネイティブサポートを追加した。[ 46 ]時間の経過とともに、WebPフォーマットのサポートは拡大した。
2019 年、Google はAdobe Photoshopの以前のバージョンで WebP サポートを有効にする無料プラグインをリリースしました。[ 97 ]それ以前には Telegraphics と fnordware が無料の Photoshop プラグインをリリースしていました。[ 98 ] [ 99 ] GIMP バージョン 2.8 まではプラグインを介して WebP もサポートしていました。[ 100 ]その後、このプラグインは GIMP 2.9 ブランチに同梱され、複数の改良が加えられました。[ 101 ] Google はまた、 Windows フォト ビューアー、Microsoft Office 2010、FastPictureViewer、[ 102 ]およびWindows Imaging Componentを使用するその他のアプリケーションで WebP サポートを有効にする Microsoft Windows 用プラグインもリリースしています。[ 103 ]
FFmpegはVP8/VP9リファレンスコーデックライブラリlibvpxと連携することで、WebMメディアからVP8キーフレームを抽出できます。抽出したキーフレームには、WebP RIFFヘッダーと、フレーム長が奇数の場合にNULパディングバイトを追加できます。一方、FFmpegはlibwebpを直接サポートしています。
GmailとGoogleフォトはどちらもWebPをサポートしています。Google App EngineでもWebPのサポートが予定されています。Google検索のインスタントプレビュー機能は、プレビューで使用されるディスク容量を削減するために内部的にWebPを使用しています。[ 104 ] Android 4.0はWebP画像のエンコードとデコードをサポートしています(ビットマップとSkia経由)。[ 105 ] SDL_imageはバージョン1.2.11以降、この形式をサポートしています。
Sumatra PDFはバージョン2.4以降、スタンドアロンファイルとコミックブックの両方でWebP画像をサポートしています。[ 106 ]
Telegram MessengerはステッカーにWebPを使用しており、メッセージングアプリで通常使用される他の形式と比較して5倍速く表示されると主張している。[ 107 ]
Signalは、アニメーションのないステッカーにWebPを使用しています。[ 108 ]
LibreOfficeはバージョン7.4以降WebP画像のインポートをサポートしており[ 109 ] 、 LibreOfficeテクノロジーベースのオンラインオフィスCollabora Onlineも同様です。
Godot Engineバージョン 4.0 以降は WebP 画像のインポートとエクスポートをサポートしており、インポートされた圧縮テクスチャを保存するための内部フォーマットとして WebP を使用しています。[ 110 ]
コンテンツ管理システム(CMS)は通常、WebPをネイティブまたはデフォルトでサポートしていません。ただし、ほとんどの人気CMSでは、他の画像フォーマットからWebPへの自動変換と、WebP画像を互換性のあるブラウザに配信するための拡張機能が利用可能です。2021年6月以降、WordPressはWebPをネイティブでサポートしています。[ 111 ]
メッセージでWebPをネイティブにサポートすることが知られているソーシャルメディアサービスには、 Facebook [ 112 ] 、Slack [ 113 ] 、Discord [ 114 ]、Elementなどがあります。ただし、これらのサービスの中には、静止画のWebPのみをサポートし、アニメーションWebPをサポートしていないものもあります。
ベースとなっている VP8 と同様に、ロッシー WebP は 8 ビット YUV 4:2:0フォーマットのみをサポートしており、[ 115 ]コントラストの薄い要素を持つ画像 (ピクセル アートやコンピュータ グラフィックスなど) では色の損失やアナグリフでのゴーストが発生する場合があります。ロスレス WebP は 8 ビット RGBA (赤、緑、青、アルファ) 色空間のみで動作する VP8L エンコーディングをサポートしています。[ 116 ] [ 117 ] 10 ビットの色深度はサポートされていませんが、後継の HEICとAVIFでは10 ビットの色深度がサポートされています。
WebPファイルは圧縮方法が複雑なため、他のWeb画像フォーマットよりも作成にかなり時間がかかります。そのため、 Webマップサービスなどのコンテキストでは、WebP画像をオンデマンドで処理することは必ずしも推奨されません。[ 118 ]
2013年10月、Mozilla ResearchのJosh Aasは、現在の非可逆符号化技術に関する包括的な研究を発表し[ 119 ]、WebPがJPEGを大きく上回るという結論を出すことはできなかった[ 120 ] 。
2023年9月、Apple Security Engineering and Architecture (SEAR)とCitizen Labにより、WebP画像に関連する2つの重大な脆弱性[ 121 ]が発見されました。これはlibwebp自体、Google Chromeやその他のChromiumベースのブラウザ、およびライブラリを使用するその他のアプリケーションに影響を与える可能性があります。
CVE-2023-4863は、2つの脆弱性のうちより積極的に悪用された脆弱性であり、CVSSリスク評価は8.8と高く、悪意を持って作成された.webpロスレスファイルが悪用されると、影響を受けるライブラリを使用するアプリケーションでバッファオーバーフローが発生し、サービス拒否(DoS)を引き起こしたり、さらに悪いことに、悪意のあるリモートコード実行(RCE)を可能にしたりする可能性があることを意味します。
libwebpパッケージは、ウェブブラウザからモバイルアプリまで、数百ものアプリケーションで広く使用されているため、リリース前のテスト要件が厳しく、脆弱性を軽減するためのパッチ適用は大きな課題となった。これは、この脆弱性が広範囲に影響を及ぼすことを示している。
Google Chrome、Firefox、Microsoft Edge、Braveなど複数のウェブブラウザが、脆弱性の発見を受けてセキュリティパッチをリリースした。[ 122 ]この脆弱性は最終的に libwebp バージョン 1.3.2 で修正された。[ 123 ] [ 124 ]
Google は 2021 年 6 月に WebP の第 2 バージョン (WebP 2 と名付けられている) の開発を開始しました。その目標は、AVIFと同様の圧縮率を達成しつつ、エンコードとデコードの速度を速くすることでした。[ 125 ]そのリファレンス実装は ですlibwebp2。
2022年10月12日、GoogleはWebP 2の開発リポジトリのREADMEファイルを変更し、「WebP 2は画像フォーマットとしてリリースされない」と記載し、このバージョンを「画像圧縮実験のための遊び場」と説明した。[ 126 ]
{{cite web}}:欠落または空欄|title=(ヘルプ)形式で画像をエクスポートする際に新しい「ロスレス」オプションを追加。
新機能: Acorn は WebP 画像を開くことができるようになり、Web Export を使用して書き込むこともできます。
画像フォーマットのサポートを追加。
のインポートとエクスポート機能を追加(Intelのみ)
形式(Weppy形式、プラグイン、読み込み+保存)のサポート
1.9.0以降、GDALはWebPライブラリを介してWebP画像の読み書きが可能になりました。
WebP画像の読み込みと保存機能を追加。
はJPEGに代わる新しいファイル形式です。非常に小さな画像ファイルを作成できます。Webエクスポート機能もWebPをサポートしています。
15 では、Web にアップロードされる画像のロスレス圧縮とロッシー圧縮を可能にするように設計された形式である WebP のインポートとエクスポートがサポートされるようになりました。
のサポートを追加(Linux 上)
考えられるすべての切り替え機能を備えた WebP コーデックを使用した完全なサポートが追加されます。
静的.webpファイルの読み込み/保存のサポートを追加。
は WebP 形式での画像のインポートとエクスポートの両方に対応しました。
には、アニメーション、ICCプロファイル、メタデータなどの機能を含む、ネイティブのWebPサポートも搭載されています。
いくつかの新しい画像フォーマット (OpenEXR、RGBE、WebP、HGT) のサポートが追加され、既存の多くのフォーマットのサポートも改善されました (特に PSD インポートの堅牢性が向上しました)。
バージョン8.1(2025年7月31日)— [...] WEBP画像のネイティブな読み書きサポートを提供
バージョン7.1(2019年5月28日)— Windows 10でHEICおよびWEBP形式をサポート。
新機能:@null54 氏の優れた WebPFileType プラグイン(v1.3.0.0)をバンドルしたことにより、WebP 画像がサポートされるようになりました。
Inkscapeから直接JPG、TIFF、最適化されたPNG、WebP形式でエクスポート
がDesigner Proでエクスポートできるファイル形式の広範なリストに追加されました。
で、高効率画像フォーマット (HEIF) または Web 画像 (WebP) 形式のファイルを開いたり配置したりできるようになりました。
で、高効率画像フォーマット (HEIF) または Web 画像 (WebP) フォーマットのファイルを開いたり配置したりできるようになりました。
23.2 では、Photoshop は WebP ファイル形式を完全にサポートしています。
Blender は、PNG と同様に動作するが、圧縮が速く、ファイル サイズが小さい WebP 画像フォーマットをサポートするようになりました。
ファイルのインポートとエクスポート
エクスポート ドッカー/インスペクターのさまざまな機能強化により、オブジェクトとページを、CDR、WEBP、CGM、PSD、および BMP を含む、さらに多くのファイル形式にこれまで以上に簡単に出力できます。
ファイルのインポートとエクスポート:Webページで使用されるこの軽量ファイル形式のインポートとエクスポートが可能になりました。