WEBブラウザでよく扱う画像フォーマットといえば、すぐにJPEGとGIFを思い浮かべるが、最近ではほかにもいろいろある。メジャーなところではPNGにSVG、iOSユーザにはSafari 8からサポートされメッセージアプリで使われているAPNG(アニメーションPNG)も馴染み深い。

そしてBig Surでは、あの「WebP(ウェッピー)」がOSレベルでサポートされた。WebPはOn2社(2009年にGoogleが買収)が開発したビデオコーデック「VP8」をベースとする静止画フォーマットで、同画質のJPEGと比較したときのファイルサイズは25〜34%小さいという高い効率性が売り。MacでもこれまでChromeやOperaなどサードパーティ製WEBブラウザで利用できたが(WebPの表示を可能にするQuickLookプラグインも存在する)、Big SurのSafari 14からはネイティブサポートが実現された。

WebPは色深度が8bit/256階調と、グラデーション表現など苦手な部分はあるものの、軽さを重視するWEBではじゅうぶんに使える。実際多くのWEBサイトでは、ボタンなどの素材やスクリーンショットなどの人工物(直線や塗りつぶしが多い画像)は8bit、自然物(写真など微妙な色の変化がある画像)は16bitと、フォーマットを使い分けている。

JPEGとの比較でいえば、アルファチャンネルのサポート、つまりPNGのような透過が可能なことはWebPのアドバンテージだ。しかもロスレス圧縮に対応しているので、8bitの画像であれば劣化させることなく小さくできる。同じくアルファチャンネルをサポートしロスレス圧縮可能なPNGと比較しても、WebPのほうが画像サイズが26%小さいという優位性がある。

  • Safari 14で「WebP Galleries」を表示したところ。WebインスペクタでもMIMEタイプが「image/webp」なことを確認できた

SafariでWebPを体験

Big SurはOSレベルでWebPをサポートしており、Safariでも特になにもしなくてもWebPを表示できる。もちろん、Safariに表示された画像だけを見て「これはWebPだ!」と区別できるわけではないが、これまでSafariでは表示できなかった「WebP Image Galleries」は、すべての画像が表示されている。WEBインスペクタでMIMEタイプを確認しても、確かに「image/webp」とある。

しかし、それは「WebP対応のWEBサイトにアクセスすると必ずWebPが表示される」という意味ではない。実際、WebP対応で知られるMicrosoft(EdgeがWebPをサポートしている関係からか?)のサイトにアクセスしたところ、ChromeでWebP画像を囲み表示するプラグイン「WebP Highlighter」でWebPと判定される画像が、SafariではJPEGになっていた。

その原因は、MicrosoftのWEBサイトがAkamaiのイメージ変換機能 -- Akamai Image Manager、Safariに表示された画像のURLから推定した -- にあるようだが、一方では楽天市場や読売新聞オンラインのように、SafariでもWebPが表示可能なWEBサイトもある。このあたり、WEBサーバや配信事業者を含めた環境づくりが必要なのだろう。

  • Chromeに「WebP Highlighter」を導入してMicrosoftのWEBサイトへアクセスしたところ。WebPの部分が緑(ロッシー/拡張なし)と赤(透過など拡張処理あり)で囲まれている

  • Safariで表示したところ、ChromeではWebP(ロッシー/拡張なし)だった画像がJPEGに置き換えられていた

Big SurのWebPサポート

前述したとおり、Big SurではOSレベルでWebPをサポートしている。だからPreview.appで閲覧できるのはもちろん、QuickLookでプレビューもできるし、汎用のアイコンも用意されている。拡張子はそのまま「.webp」、Finderでも「WebPイメージ」として検索可能だ。

CUIレベルでもサポートされている。fileコマンドの引数として実行すれば、WebPイメージとして認識されるし、sipsコマンド(macOS独自の画像加工コマンド)でもサポートされている。ただし、sipsコマンドでは「Writable」の扱いではないため、画像サイズの確認など情報収集目的には利用できるが、回転やリサイズを行うことはできない。

この「読めるが書けない」サポート状況はPreview.appも同様で、WebPファイルを開くことはできるが、保存/フォーマット変換目的には利用できない。現在のところ、MacでWebPを新規作成するにはサードパーティ製アプリに頼るしかなさそうだ。

なお、GoogleではPNG/JPEG/TIFFをWebPに変換するコマンド「cwebp」を提供している(リンク)。フォーマット変換をバッチ処理で行おうとする場合には、このcwebpを使うことが現時点における最短ルートのようだ。

  • Big Surに用意されているWebPのアイコンイメージ

  • sipsコマンドのWebPサポートは「読めるが書けない」状態だ

  • Preview.appもWebPでの書き出しには対応していない