画像の容量は「ピクセル数 × 1 ピクセルあたりの情報量」で決まる
デジタルの画像は、色のついた小さな点(ピクセル)が縦横に並んだものです。スマホのカメラで撮った写真は、たとえば横 4032 × 縦 3024 ピクセルで、点の数はおよそ 1,200 万個になります。1 つの点の色は赤・緑・青の 3 つの値(それぞれ 0〜255)で表すので、何も工夫せずに保存すると 1 点あたり 3 バイト、合計で約 36MB にもなります。
実際のスマホの写真が 2〜5MB 程度で済んでいるのは、保存するときに「圧縮」をしているからです。つまり容量を小さくする方法は、大きく分けて次の 2 つしかありません。
- ピクセルの数を減らす(画像を縮小する)
- 1 ピクセルあたりの情報量を減らす(圧縮を強くする=画質を下げる、または圧縮効率のよい形式に変える)
縦と横をそれぞれ半分にするとピクセル数は 4 分の 1 になるため、容量もおおむね 4 分の 1 前後まで下がります。縮小は思っている以上に効果が大きい方法です。
JPEG の圧縮で何が起きているか
写真で最も使われている JPEG は、人の目が気づきにくい情報を捨てることで容量を小さくする「非可逆圧縮」の形式です。おおまかには次のことをしています。
- 画像を 8×8 ピクセルの小さなブロックに分け、それぞれのブロックを「なだらかな色の変化」と「細かい模様」に分解する
- 人の目が気づきにくい細かい模様の情報ほど、粗く丸める(ここで情報が失われる)
- 明るさに比べて目が鈍感な色の情報を、少し粗く記録する
保存時の「画質(品質)」の値は、この丸め方の強さを決めるものです。画質を下げるほど容量は小さくなりますが、下げすぎると、ブロックの境目が見える「ブロックノイズ」や、文字や輪郭のまわりのモヤ(「モスキートノイズ」と呼ばれます)が目立ってきます。
実際には、画質 100%と 90%では見た目の違いがほぼ分からないのに、容量は大きく変わることがよくあります。一方で 60%を下回るあたりからは、写真の内容によっては劣化がはっきり分かるようになります。画質の数値と見た目の関係は写真によって違うため、「何%なら安全」と決めつけず、保存したあと拡大して確認するのが確実です。
同じ大きさでも、写真によって容量が違う理由
青空や白い壁のような平らな部分が多い写真は、小さく圧縮できます。逆に、芝生、木の葉、砂利、細かい柄の服、夜景のノイズなど、細かい模様が多い写真は容量が大きくなります。圧縮は「変化が少ないところを短く表す」仕組みなので、変化が多いほど情報量が増えるからです。
暗い場所で撮った写真がやけに重いのも同じ理由です。暗所ではカメラが感度を上げるため、ざらざらしたノイズが増え、それが「細かい模様」として記録されてしまいます。
画質を落としにくい、小さくする順番
見た目をなるべく保ったまま小さくするには、次の順番で考えるのが効率的です。
- 使う大きさまで縮小する。スマホの写真を画面で見せるだけなら、長辺 1600〜2000 ピクセルあれば十分なことがほとんどです。4000 ピクセルの写真を 2000 ピクセルにするだけで、ピクセル数は 4 分の 1 になります。表示されない細かさを持っていても、見る人には違いが分かりません。
- 形式を見直す。写真なのに PNG で保存されている場合は、JPEG か WebP にするだけで数分の一になることがあります。Web に載せるなら、同じくらいの見た目で JPEG より小さくなりやすい WebP も選択肢です。
- 最後に画質を調整する。ここまでで足りなければ、画質を 85%、80%と少しずつ下げます。
この順番の逆、つまり大きいまま画質だけを極端に下げると、同じ容量でも見た目が悪くなります。指定サイズ以下に圧縮するツールも、この考え方で「まず画質で調整し、どうしても収まらないときだけ縮小する」ようにしていますが、事前にサイズ変更で使う大きさにしておくと、さらに高い画質で収められます。
やってはいけないこと
- JPEG の上書き保存を繰り返す。JPEG は保存するたびに丸めが重なり、少しずつ劣化します。編集の途中は PNG などの劣化しない形式で持っておき、最後に一度だけ JPEG にするのがきれいです。
- 小さくした画像を、あとで拡大して使う。失われた細部は戻りません。原本は必ず別に残しておきましょう。
- JPEG を PNG に変えて「高画質化」しようとする。PNG は劣化しない形式ですが、すでに失われた情報は戻らないため、容量が増えるだけです。
保存したら、ここを確認する
圧縮後は、画像を等倍(100%表示)か、それ以上に拡大して確認します。特に次の部分は劣化が目立ちやすいところです。
- 空や肌など、なめらかなグラデーションの部分(縞模様が出ていないか)
- 文字、細い線、建物の輪郭(にじみやモヤが出ていないか)
- 赤や青の鮮やかな部分(色がにじんでいないか)
問題がなければ完了です。気になる場合は、画質を少し上げて、そのぶん縮小を強めるとバランスが取れることがあります。