CommentOut

WEBP形式の画像を劣化させずに圧縮する方法 WEBP形式の画像を劣化させずに圧縮する方法

WEBP形式の画像を劣化させずに圧縮する方法

公開日:  最終更新日:

このページにたどり着いた人は、ホームページの高速化をしようと思って、WEBP形式の画像を使おうとしたけど、思ったほどWEBP画像のデータサイズが小さくならなかった。もしくは圧縮は出来たけど、画像がガビガビになってしまった人ではないでしょうか?

WEBPって圧縮方法を間違えると、画質が大きく低下してしまうんです。
なので、WEBPの適切な圧縮方法を教えます!

画像の『WEBP形式』とは?

WEBP形式は画像のデータ形式のことで、拡張子は「.webp」です。
Googleによって開発されました。

WEBP形式の特徴は「画質の劣化を最小限に、画像サイズを軽量化することができる」という点です。
また、PNGのように背景透明色を扱うことができます。

圧縮についてですが、PNGのような可逆圧縮もできるし、JPGのような非可逆圧縮も可能です。
しかし、この両方の圧縮方式に対応しているがために、思った通りの圧縮にならないことがあります。

なぜWEBP形式の画像は圧縮すると画質が低下してしまう?

TinyJPG等の画像圧縮サービスでは、圧縮率が高い方がサービスを利用してもらえるため、圧縮率が高い『非可逆圧縮』が選択されがちです。
しかし、非可逆圧縮を行うと、画質のロスが発生してしまうんですね。

WEBP形式の画像をロスレス圧縮するにはSquooshがオススメ

私も過去にWEBPをTinyJPGなどで圧縮してみて、ガビガビになりました。
その時に、WEBP対応で、なおかつロスレス圧縮に対応している画像圧縮サービスを探しました。

Squoosh
https://squoosh.app/

このサイトでは画像形式にWEBP対応、WEBP2にも対応しています。

Squooshの使い方

ここに画像をドラッグアンドドロップで放り込んでください。

画像を放り込むと、画面の右下にこのような設定ウィンドウが表示されます。
たくさん画像形式が表示されていますが、今回はWEBPの圧縮の話なので、WEBPを選択します。

WEBPを選択すると、その下のパラメータが変化します。

なるべく画質を落としたくないため、ロスレス圧縮にチェックを入れます。
そして、Effort(どれくらい頑張って圧縮したら良い?)は最大値にしておきましょう。

そうすると、圧縮後のデータサイズが下に表示され、何%圧縮されるかわかります。
JPGをWEBPに変換して圧縮かけると、逆にデータサイズが増えることがあります。

結論:理屈と現実は違う!

当たり前のことですけど、サイトの高速化を目的にWEBP画像を使うなら、それはデータサイズが小さくなることで、通信するデータ量を減らすことで読み込みが早くなることを狙っているわけじゃないですか。
でも、WEBP画像を使うことで、逆にデータサイズが増えてしまうようなら、素直にJPGを使った方が良いと思うよ!
ラスタ画像はWEBP、ベクタ画像はSVGが良いみたいな風潮があるけど、盲目的に信じるのではなく、理屈を理解した上で導入していこう!

宣伝
WordPressサイトのテンプレート編集やトラブル対応、バグ修正、簡単なJavascriptの作成(カルーセルやバリデーション等)など、小規模なスポット対応を受け付けております。
もしお困りごとがありましたら、お問い合わせフォームよりご相談ください。

この記事を書いた人

uilou

uilou

プログラマー

基本的に、自分自身の備忘録のつもりでブログを書いています。 自分と同じ所で詰まった人の助けになれば良いかなと思います。 システムのリファクタリングを得意としており、バックエンド、フロントエンド、アプリケーション、SQLなど幅広い知識と経験があります。 広いだけでなく、知識をもっと深堀りしていきたいですね。