ファイルサイズが大きすぎます」「画像を圧縮してください」 写真をあつかっていると、たびたび言われる言葉。

ファイルサイズが大きすぎます、画像を圧縮してくださいと言われている場面
図1:言われるけれど、何が起きているのかは分からない

言われたとおりにボタンを押せば、画像ファイルのサイズは小さくなります。でも 何が削られているのか は見えません。今回はそこを、ふんわり見ていきます。

圧縮ってなに?

ざっくり言うと、圧縮は 似ているところをまとめて、データの量を減らすこと です。

赤が10マス続くところを、赤が10個と一言で書き換えるのが圧縮
図2:同じことを、短く書き直している

画像は ピクセル という小さなマスの集まりです。ふつうに記録すると、1マスずつ「この色」「この色」と書いていくことになります。

でも、たとえば赤いマスが10個続いていたらどうでしょう。

  • そのまま書くと … 赤・赤・赤・赤・赤・赤・赤・赤・赤・赤
  • まとめて書くと … 赤が10個

同じことを言っているのに、データの量がぐっと減りました。これが圧縮の基本の考え方です。

中身によって、縮み方が変わる

ここが面白いところで、マスの数が同じでも、絵の中身によって画像ファイルのサイズが変わります

白背景に文字だけの図は軽く、店内や人物が描き込まれた図は重い
図3:同じマス数でも、中身で重さが変わる

このサイトの図で、シンプルなものと描き込みの多いものを比べてみました。どちらも同じ 1536×1024 マスです。

  • 白い背景に枠と文字だけの図77KB
  • お店の棚やパソコンが何台も描かれた図374KB

その差は 約5倍。前者は同じ色が広く続くのでまとめやすく、後者はまとめられる場所がほとんどありません。

📌 このサイトには図が400枚以上ありますが、まん中あたりは195KBでした。線と淡い色で描いているので、写真よりずっと軽くなります。

元に戻せる圧縮と、戻せない圧縮

さっきの「赤が10個」は、書き直しただけなので 元どおりに広げられます。こういうのを 可逆 と呼びます。

可逆圧縮は元に戻せるが、非可逆圧縮はほぼ同じ色を捨てるので戻せない
図4:捨てたものは、戻ってこない

ファイルをまとめる ZIP も、この「元に戻せる」ほうです。開けば中身がそのまま出てきます。

でも、それだけでは大して小さくなりません。写真には まったく同じ色 が続く場所が少ないからです。

そこでもう一歩ふみこんだやり方があります。細かすぎて気づかない変化は、はじめから書かないことにするのです。遠くから見れば差が分からない細かさなら、そこは記録しない、というやり方です。

こうすると一気に軽くなります。かわりに、書かなかったぶんは二度と戻りません。これを 非可逆 と呼びます。

⚠️ ボタン1つで「圧縮」と書いてあるものの多くは、この「戻せない」ほうです。軽くなったぶん、中身は減っています

JPEG・PNG・WebP はどう違う?

よく見る形式も、この2つのどちらかです。

JPEGは写真向き、PNGは文字や図向き、WebPはどちらもいける
図5:向き不向きで選ぶ
  • JPEG … 戻せないほう。写真のように色がなめらかに変わるものが得意です
  • PNG … 元に戻せるほう。文字や線がくっきり保たれます。そのぶん重くなりがちです
  • WebP … 比較的新しい形式で、どちらのやり方も使えます

さっきの重いほうの図を、絵はそのままに形式だけ変えて比べてみました。

  • PNG … 2.8MB(2800KB)
  • JPEG … 743KB
  • WebP … 374KB

この図の場合は、いちばん重い PNG といちばん軽い WebP で 7倍以上 の差がつきました(JPEG と WebP は品質85で書き出しています)。このサイトが WebP を使っているのは、この差のためです。

⚠️ ただし どれがいちばん軽いかは、絵の中身と設定で変わります。色数が少ない図なら、PNG のほうが軽くなることもあります。迷ったときは、写真は JPEG、文字や図は PNG と覚えておけば大きく外しません。

保存し直すたびに、少しずつ落ちる

もうひとつ知っておくと得をする話があります。戻せない圧縮は、かけるたびに減っていきます

保存し直すたびに情報が減っていき、コピーのコピーのように劣化する
図6:コピーのコピーを取っているようなもの

一度捨てた色は戻らないので、その状態からまた捨てることになります。書類のコピーを何度も取り直すと、だんだん読みにくくなるのと同じです。

しかも、これは自分が押したときだけ起きるわけではありません。

  • SNS に写真を上げたら、サービス側で作り直された
  • 動画サイトに上げたら、細い線が消えていた

わたしも実際に、自分で作った画像の細い線が、アップロードしたあとで見えなくなっていたことがあります。手元で見えていたものと、届いたものは同じとは限りません

📝 元のファイルは、消さずに取っておく

圧縮した画像を、また編集して保存し直すと、そのたびに落ちていきます。編集するときは、いつも元のファイルから始めるのがいちばん確実です。

迷ったら、圧縮前のファイルを1つ残しておく。これだけで、あとからやり直せます。

まとめ

圧縮のすべて、これ1枚で
図7:圧縮、これ1枚で

ふんわり理解チェック

  • 圧縮=似ているところをまとめて、書く量を減らすこと
  • 同じマス数でも、中身によって軽さが変わる(同じ色が続くほど軽い)
  • 元に戻せる圧縮と、戻せない圧縮がある
  • 戻せない圧縮は、かけるたびに減っていく
  • 写真は JPEG、文字や図は PNG。WebP は両方に対応(軽さは中身と設定で変わる)

「画像を圧縮してください」と言われたら、それは 画像のデータの量を減らしてください ということです。ただし減らす過程で、戻せないものを捨てている場合があります。元のファイルだけは残しておく——これだけ覚えておけば、たいていの場面で困りません 🌱

(マスそのものの話は ピクセル、ファイルを置いておく場所の話は ストレージ もどうぞ)