技術情報

画像ファイルを圧縮する理由と方法

「或る Web サービスで写真画像のアップロード機能を利用していたが、保存画像容量の上限に到達したことで、画像の追加アップロードが出来なくなった」とのご相談をいただきました。

今回は、画像ファイルを圧縮する理由とその方法について、書いてみたいと思います。なお、ここでいう「画像ファイル」とは、特に指定が無ければ、写真画像ファイルのことを示し、ファイル形式は JPG(JPEG[ジェイペグ])形式ファイルとします。

画像ファイルの画質と保存容量

スマートフォンやデジカメで撮影した画像は、非常に高解像度で、とても綺麗に保存されます。何度見返しても、その綺麗さが魅力的なのですが、その分、画像ファイルの保存容量が非常に大きいです。手元のスマートフォンで、一枚写真を撮ってみると、画像ファイルの容量が 4MB を超えていました(JPEG形式ファイルです)。

こうした綺麗な画像には、とても意味があります。後から印刷して誰かに渡す場合や、高解像度の画像を Webや印刷物で使いたい場合には、綺麗な画像の利用が不可欠だからです。

画像ファイルを何故圧縮するのか

ところが、撮った写真を誰か別の人に渡そうとすると、この画像ファイルの保存容量の大きさが問題になってしまい、メールに添付して送ることが難しくなります。受信相手の受信メールボックスの容量や、自分自身の送信済みメールボックスの容量を圧迫してしまうのです。

そのため、「画像ファイルの圧縮」が必要となります。「画像ファイルの圧縮」とは、画像ファイルの保存容量を小さくすることを目的に行われます。多くの場合、「画像の縦横比を維持したまま、縦横のサイズを小さくする/画質を下げる」等の方法がとられます。

「最近、画像をメールで送る機会が無いから、別に困らない」というかたは、ご利用のサービスが自動的に画像を圧縮しているので、結果的に困っていないケースが多数です。LINE が良い例で、画像を送ると自動的に圧縮して画質を下げてくれるので、データを送るのに時間がかかりません(その分、画質が落ちてしまうので、元々の綺麗な画像を送る場合は、「ORIGINAL」を選ぶとよいのです)。

画像ファイルをどう圧縮するのか

それでは、画像ファイルをどう圧縮すればよいのか、簡単な方法から考えてみましょう。

(1) 画像圧縮の Web サービスを使う

圧縮する画像の枚数が少ない場合は、Webブラウザで直ぐに使える「画像圧縮の Web サービス」を利用するのがよいでしょう。代表的なものは、Compressor.io です。シャコ万力のアイコンが特徴的。

Compressor.io – optimize and compress JPEG photos and PNG images

Optimize and compress JPEG, PNG, SVG, GIF and WEBP images online. Compress, resize and rename your photos for free.

サイトの中ほどにある、「drop your images or click to Browse」に、画像をドラッグして持っていき、ドロップすればそれで自動的にアップロードが開始されます。対応ファイル形式は、jpg, png, gif, svg, webp。1ファイルあたりの最大容量は、10 MB です。

画像をアップロードすると、圧縮結果と「ダウンロードボタン」が表示されます。

以下の例では、3つのファイルをアップロードしたところ、ファイル容量が 70~80% 圧縮されたことが書かれています。まとめてダウンロードする場合は「Download All」を押しましょう。

ダウンロードするファイルを、元の画像ファイルが置いてあった場所とは異なる場所を指定すれば、ファイル名が重複せずに保存できます。

(2) 画像圧縮ソフトを使う

無料・有料のさまざまな画像圧縮ソフトを使うことで、簡単に画像のファイル容量を圧縮できます。

最も手軽に使える無料ソフトウェアの「縮小専用。」を、ご紹介します。以下の公式サイトのほかに、窓の杜でもダウンロードが出来ます。

【縮小専用。】 まとめて画像縮小するWindowsフリーソフトウェア

このソフトウェアは本当にお手軽で、起動して表示されるウィンドウに、画像をドラッグアンドドロップするだけで、直ぐに圧縮ファイルが作成されます。「起動して直ぐに表示されるウィンドウ」とは、以下のものです。

  • 左上の「指定の範囲内にピクセルサイズを収める」
    最も良く使います。このソフトウェアは、指定範囲内に収めつつ、画像の縦横比を維持してくれるので、大変重宝します。例では、800 x 800 の範囲内に収めようとしています。
  • 左下の「オプション」
    画像をくっきりさせる・(色が薄い時に)彩度を上げる・モノクロで保存する等、設定できます。
  • 右上の「変換後」
    変換後のファイル名の指定や、ファイル保存用のフォルダ指定ができます。これを指定することで、元の画像ファイルとは異なる場所や異なる名前で保存できるので、ファイル名の重複が防げます。

元の画像ファイルを残す理由

画像ファイルを圧縮する方法の (1), (2) のどちらでも、「元の画像ファイルとの重複を防ぐ」ことを書きました。これは、写真画像ファイルの JPEG形式ファイルは、一般的に、非可逆(ひかぎゃく)圧縮の画像フォーマットだからです。

「非可逆」とは、「元に戻すことが出来ない」という意味を持つ言葉です。「非」と打消しの接頭語があることから、この言葉は「可逆」という言葉を打ち消して出来上がった言葉です。

厳密な正しさを保証しませんが、「可逆」「非可逆」のことを、『水・お湯に物を溶かす、たとえ話』をもとに考えましょう。

可逆とは

ビーカーに入れた水の中に塩を入れると、塩が溶けることは、実験してみると分かることと思います。さて、「溶かしてしまった塩と、水を、再び元の状態に戻す」には、どうすればよいでしょうか。

考えられるのは、「塩を溶かした水を温めて、蒸留させて水を取り出す/塩は、ビーカーに残り出てくる(析出する)」方法です。この方法であれば、「元に戻すことが出来た」ので、「可逆」だったと言えます。※これは、あくまでたとえ話ですから、科学的に完全に正しいことを保証していません

非可逆とは

ビーカーに入れた水の中に、今度はインクを入れてみましょう。インクが入ったことで、水の色はにごったことと思います。さて、この状態から「溶かしてしまったインクと、水を、再び元の状態に戻す」ことは、出来るでしょうか。

何らかの溶剤を入れることで、にごった状態はとりあえず解消することができるかもしれません。でも、それでは、「インクをインクの状態として取り出した」とは言えません。このように、「元に戻すことが出来ない」ことを、「非可逆」と言います。
※これは、あくまでたとえ話ですから、科学的に完全に正しいことを保証していません

非可逆圧縮の画像フォーマットは、元には戻せない

写真画像ファイル JPEG 圧縮技術は、とても優れていて、ファイル容量を小さくすることが出来ます。しかし、ひとたび圧縮して画像サイズを変更したり画質を落としてしまうと、元の高画質の状態に戻すことができません。

画像サイズを拡大することそのものは出来ますが、以前の鮮明さは失われて、ボケた画像になってしまいます。

これがネックになっているので、「圧縮したは良いけれど、元の高画質の写真を失ってしまった/上書きしてしまった」となると、取り返しがつきません。このため、写真画像を圧縮する際には、元の高画質の写真を保存しておくことを強くお勧めします。