記事内に広告が含まれています。
この記事でわかることをまとめました
ブログに載せる写真をJPEGで保存し直すとき、品質の設定でファイルサイズがどれだけ変わるのかを、私が実測しました。
結論です。今回の写真3枚を、Pillowで品質95・85・75・60・40の5段階に保存し直した場合、品質95を100%とした割合の平均は、品質85で61.9%、品質75で53.9%、品質60で35.0%、品質40で30.2%になりました。
割合の基準は品質95で保存したファイルです。元のファイルと比べると、品質85では元の104.8〜105.5%で元より大きく、品質75では元の91.3〜91.9%でした。
図1:一番低い品質40では、ファイルサイズが品質95の約3割になりました

図1は、品質95で保存したファイルの大きさを100%として、3枚の平均を棒グラフにしたものです。
調べた写真と保存の方法をまとめました
素材は、このブログの記事用に用意した写真3枚です。夜の通り、建物の外観、ボトルの棚で、いずれも900×1200pxのJPEGです。
元のファイルの大きさは、夜の通りが217,784バイト、建物の外観が210,187バイト、ボトルの棚が226,196バイトです。
私はこの3枚を、Pillow(Pythonの画像ライブラリ)で品質95・85・75・60・40の5段階に保存し直しました。3枚×5段階で、15点のファイルができました。寸法は変えていません。
ファイルサイズは、保存したファイルの実測値です。割合は、品質95で保存したファイルの大きさを100%として計算しました。
写真3枚×品質5段階の全15点の実測値を表にまとめました
| 写真 | 品質 | ファイルサイズ(バイト) | 品質95に対する割合 | SSIM |
|---|---|---|---|---|
| 夜の通り | 95 | 370,403 | 100.0% | 0.998572 |
| 夜の通り | 85 | 228,339 | 61.6% | 0.996711 |
| 夜の通り | 75 | 199,464 | 53.9% | 0.989438 |
| 夜の通り | 60 | 126,558 | 34.2% | 0.952431 |
| 夜の通り | 40 | 109,383 | 29.5% | 0.940559 |
| 建物の外観 | 95 | 358,349 | 100.0% | 0.998049 |
| 建物の外観 | 85 | 221,206 | 61.7% | 0.996085 |
| 建物の外観 | 75 | 193,238 | 53.9% | 0.986085 |
| 建物の外観 | 60 | 125,279 | 35.0% | 0.941176 |
| 建物の外観 | 40 | 108,200 | 30.2% | 0.926808 |
| ボトルの棚 | 95 | 382,128 | 100.0% | 0.998125 |
| ボトルの棚 | 85 | 238,536 | 62.4% | 0.996570 |
| ボトルの棚 | 75 | 206,454 | 54.0% | 0.989007 |
| ボトルの棚 | 60 | 136,577 | 35.7% | 0.958319 |
| ボトルの棚 | 40 | 117,431 | 30.7% | 0.945056 |
3枚の平均:品質85では約6割、品質40では約3割です
| 品質 | 品質95に対する割合の平均 | SSIMの平均 |
|---|---|---|
| 95 | 100.0% | 0.998249 |
| 85 | 61.9% | 0.996455 |
| 75 | 53.9% | 0.988177 |
| 60 | 35.0% | 0.950642 |
| 40 | 30.2% | 0.937474 |
品質ごとに分かったことをまとめました
- 品質85では、割合の平均が61.9%になりました。品質95から85へ下げると、今回の写真3枚では、大きさは約6割になりました。
- 品質75では、割合の平均が53.9%で、品質85との差は8.0ポイントでした。
- 品質60では、割合の平均が35.0%まで下がりましたが、SSIMの平均も0.950642まで下がりました。品質75のSSIMの平均は0.988177なので、下がり方が大きくなっています。
- 品質40では、割合の平均が30.2%で、品質60との差は4.8ポイントでした。大きさの下がり方は小さくなる一方で、SSIMの平均は0.937474まで下がりました。
- SSIMの平均は、品質95で0.998249、品質85で0.996455、品質75で0.988177でした。
SSIMは「元のJPEGファイルとの近さ」を表す数値です
SSIMは、1に近いほど比べる相手に近いことを表す指標です。
今回、比べる相手は元のJPEGファイルです。元のファイル自体がすでにJPEGなので、SSIMは「無劣化の元画像との近さ」ではありません。「元のJPEGファイルとの近さ」を示しています。
そのためSSIMは、元のファイル自体の画質を評価する数値ではありません。
品質95で保存し直すと、元のファイルより大きくなりました
品質95で保存し直したファイルは、元のファイルに対して168.9〜170.5%の大きさになりました。
元のファイルの保存品質は分からないため、この増え方から元の品質は推定していません。
図2:品質40と元のファイルの違いは、私の目視ではっきりとは分かりませんでした

図2は、夜の通りの写真の中央部分(元の座標で左上300・500から300×300px)を切り出したものです。
この表示の大きさでは、品質40と元のファイルの違いは、私の目視ではっきりとは分かりませんでした。違いの判断は、SSIMの数値で行っています。
この実測を読むときの範囲をまとめました
- 元の写真は900×1200pxで、すでにJPEGとして保存されていたファイルです。カメラから取り出したばかりの大きな写真では、割合の出方が変わる場合があります。
- 品質の数値は、保存に使ったPillow(内部のJPEGライブラリ)での設定値です。ほかのソフトでは、同じ品質の数値でも結果が変わる場合があります。
- SSIMは元のJPEGファイルとの比較です。元のファイル自体の画質を評価する数値ではありません。
関連する計測記事もあわせて読んでみてください
このブログで実測した記事として、WebPとJPEGを比べた記事もあります。あわせて読んでみてください。




















コメント