JPEGの画像サイズ

意外とサイズって皆さん気にしてるようで気にしてない気がしたので記事にしてみます。


そもそも画像のサイズ(ドット数、容量)は以下の式で決まります。

総ドット数×色情報量

1ドットごとに色情報があるので、それが全ドット数分あると言うことですね。いわゆるビットマップ形式の画像ファイルというのはこれがそのままデータとなっています。なので画像の内容に寄らず、画素数と色データの情報量だけでファイルサイズが決まります。

でも普段使っているJPEG形式の画像ファイルって写真とかによってサイズがまちまちですよね。

これはJPEGの圧縮のアルゴリズムが理由です。

よくわからんと思いますが、簡単に説明すると、

  1. 画像をタイル状に分割
  2. タイルごとに画像を周波数領域に変換(コサインカーブの合成に変える)
  3. コサインカーブをデジタル化するときにデータを間引く
  4. 間引いたデータを圧縮する

という手順で画像を圧縮します。

森の画像や、複雑な模様など、画像が複雑になればなるほど、2のデータが高周波に寄るので3、4で間引ける部分が少なくなって、データ量が増えると思ってください。

とはいえ、元々の画像をこのように加工して容量を小さくする、という話なので、元々のカメラの画素数等のスペックによってベースの画像のサイズが決まります。

例えば高画素のカメラを買ったら最初に書いた計算で元のデータが大きくなりますので、JPEGのデータも比例して大きくなります。

同じサイズにするためにはさらに画質を下げる(圧縮率を上げる)か、画素数を減らすしかないわけです。


ここで、撮影会界隈で写真のアップロード場所としてよく使われるTwitterの仕様の話をします。

Twitterは画像を手軽にアップロードするのに手軽なSNSですが、アップロードする画像に対して色々と制約があります。

元々は、データ量の削減の為に、アップロードする画像を圧縮してTwitterのサーバに補完していたのですが一昨年くらいからデータを圧縮せず保存することができるようになりました。

せっかくキレイに撮ったモデルさんや風景の画像をアップロードするのだから、できるだけキレイにアップロードしたいですよね。

まとめるとTwitterで最高画質でアップロードする条件は以下になります。

  1. 長辺4,096ピクセル以下
  2. ファイルサイズが5MB

この条件にするために、自分はJPEG出力時に以下の設定で出力しています。

  • 長辺4,000ピクセル
  • 画質8

長辺4,000ピクセルは最低満たさなければいけない画素数の条件なので、これは必須の設定ですね。いわゆる4k解像度というやつです。なんで4,096じゃないかというと、ソニーの24MP機の保存画像の解像度が6000 x 4000ピクセルだからです。画素数を間引くには整数倍が望ましいですが、そこまでとは行かなくとも割り切れる数字の方が望ましいですよね。(気持ちの問題)

α7RIIIだと7952 x 5304なのでホント気持ちの問題なのですが……w

画質設定については色々試したのですが、あらゆるシチュエーションでファイルサイズを5MB以下にするにはこの設定、となりました。画質9だとちょっと背景が複雑だとやはり6MBを超えてきます。難しいですね。


上記記事はPCからアップロードするときの話でしたが、2021年の春からスマホからも4k無圧縮高画質でアップロード&画像閲覧できるようになりました。

自分で写真アップロードするときもこの辺注意してやるとキレイな写真でアップロードできますので是非お試しください。

そんじゃーね(1ヶ月ぶりなのでライトな記事)

KENO, a part-time photographer

kenoと申します。 皆さんの心に残る写真が撮れるように技術を磨いています。 My name is keno a.k.a kenosaka. I've taken pictures so that I hone my skills and that will hope leave a lasting impression on everyone.

0コメント

  • 1000 / 1000