1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JPEGの解像度や品質とファイルサイズの関係 (ImageMagick)

Posted at

サンプル画像

今回は、以下の画像 publicdomainq-0077777irxtii.jpg を実験に用いた。

publicdomainq-0077777irxtii.jpg

[フリー写真] 商店街を歩くカップルの後ろ姿 | パブリックドメインQ:著作権フリー画像素材集

実験

以下の形式のコマンドで、解像度と品質を指定して変換を行った。

magick convert publicdomainq-0077777irxtii.jpg -colorspace rgb -resize 90% -colorspace srgb -quality 95 s090_q095.jpg

参考:sRGB空間で画像処理するべからず - 豪鬼メモ

ImageMagick のバージョン (magick --version) は以下である。

Version: ImageMagick 7.1.1-12 Q16-HDRI x64 a09d8dd:20230625 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenCL OpenMP(2.0)
Delegates (built-in): bzlib cairo flif freetype gslib heic jng jp2 jpeg jxl lcms lqr lzma openexr pangocairo png ps raqm raw rsvg tiff webp xml zip zlib
Compiler: Visual Studio 2022 (193632532)

「効率」は小さいほど良いことを表す。

解像度とファイルサイズの関係

品質 30

解像度 [%] 幅 [px] 高さ [px] サイズ [KiB] 効率 [B/px²]
1 60 42 0.8 0.311
5 300 211 8.4 0.136
10 600 423 24.6 0.099
20 1200 845 66.1 0.067
30 1800 1268 115.2 0.052
40 2400 1690 170.3 0.043
50 3000 2113 230.9 0.037
60 3600 2535 295.2 0.033
70 4200 2958 362.9 0.030
80 4800 3380 433.8 0.027
90 5400 3803 509.9 0.025
100 6000 4225 590.5 0.024

解像度とファイルサイズ・効率の関係 (品質 30)

品質 70

解像度 [%] 幅 [px] 高さ [px] サイズ [KiB] 効率 [B/px²]
1 60 42 1.2 0.483
5 300 211 15.5 0.251
10 600 423 45.1 0.182
20 1200 845 121.7 0.123
30 1800 1268 213.5 0.096
40 2400 1690 317.4 0.080
50 3000 2113 432.8 0.070
60 3600 2535 556.1 0.062
70 4200 2958 689.5 0.057
80 4800 3380 832.4 0.053
90 5400 3803 980.8 0.049
100 6000 4225 1144.1 0.046

解像度とファイルサイズ・効率の関係 (品質 70)

品質 95

解像度 [%] 幅 [px] 高さ [px] サイズ [KiB] 効率 [B/px²]
1 60 42 2.4 0.963
5 300 211 37.6 0.609
10 600 423 110.1 0.444
20 1200 845 304.3 0.307
30 1800 1268 552.4 0.248
40 2400 1690 859.9 0.217
50 3000 2113 1231.0 0.199
60 3600 2535 1650.2 0.185
70 4200 2958 2135.1 0.176
80 4800 3380 2687.0 0.170
90 5400 3803 3281.2 0.164
100 6000 4225 3865.1 0.156

解像度とファイルサイズ・効率の関係 (品質 95)

まとめ

解像度とファイルサイズの関係
解像度と効率の関係

どの品質でも、解像度を上げるほどファイルサイズが大きくなり、効率は良くなった。
とはいえ、ある程度以上大きい解像度では、効率の差は小さくなってくる。

品質とファイルサイズの関係

以下のように PNG 形式に変換した画像との違い (PSNR) を算出した。

magick convert publicdomainq-0077777irxtii.jpg -colorspace rgb -resize 20% -colorspace srgb s020.png
magick compare -metric PSNR s020.png s020_q095.jpg NULL:

参考:ImageMagick で画像比較 (Compare) #diff - Qiita

解像度 10% (600×423)

品質 サイズ [KiB] PSNR [dB] 効率 [KiB/dB]
1 3.4 20.3529 0.168
5 6.4 22.5050 0.283
10 11.2 24.9066 0.450
20 18.7 27.0084 0.693
30 24.6 28.1174 0.875
40 29.3 28.8338 1.016
50 33.7 29.4199 1.146
60 38.2 29.9765 1.275
70 45.1 30.7182 1.468
80 55.9 31.7341 1.760
90 79.6 33.5008 2.377
95 110.1 34.8253 3.160
98 153.0 35.5835 4.300
100 209.4 35.7995 5.850
PNG 409.3 - -

品質とファイルサイズ・PSNRの関係 (解像度 10%)
品質と効率の関係 (解像度 10%)

品質と画像
品質 画像
1 s010_q001.jpg
5 s010_q005.jpg
10 s010_q010.jpg
20 s010_q020.jpg
30 s010_q030.jpg
50 s010_q050.jpg
70 s010_q070.jpg
95 s010_q095.jpg

解像度 20% (1200×845)

品質 サイズ [KiB] PSNR [dB] 効率 [KiB/dB]
1 10.4 22.0987 0.473
5 17.8 24.6325 0.722
10 30.7 27.5412 1.115
20 50.0 30.0891 1.661
30 66.1 31.3690 2.106
40 78.8 32.1818 2.448
50 90.6 32.8222 2.760
60 103.1 33.3823 3.089
70 121.7 34.1613 3.561
80 150.8 35.2363 4.279
90 216.9 37.1817 5.833
95 304.3 38.7578 7.852
98 425.8 39.7943 10.701
100 634.8 40.1937 15.794
PNG 1304.4 - -

品質とファイルサイズ・PSNRの関係 (解像度 20%)
品質と効率の関係 (解像度 20%)

品質と画像
品質 画像
1 s020_q001.jpg
5 s020_q005.jpg
10 s020_q010.jpg
20 s020_q020.jpg
30 s020_q030.jpg
50 s020_q050.jpg
70 s020_q070.jpg
95 s020_q095.jpg

解像度 40% (2400×1690)

品質 サイズ [KiB] PSNR [dB] 効率 [KiB/dB]
1 34.2 23.7217 1.444
5 49.4 26.4225 1.869
10 80.9 29.9081 2.704
20 130.7 33.1349 3.944
30 170.3 34.7660 4.900
40 202.4 35.8318 5.648
50 233.1 36.6347 6.363
60 266.0 37.3859 7.116
70 317.4 38.3603 8.275
80 395.7 39.6360 9.983
90 585.3 41.7206 14.030
95 859.9 43.6075 19.718
98 1246.9 45.1917 27.590
100 1986.2 46.1956 42.996
PNG 4258.4 - -

品質とファイルサイズ・PSNRの関係 (解像度 40%)
品質と効率の関係 (解像度 40%)

品質と画像
品質 画像
1 s040_q001.jpg
5 s040_q005.jpg
10 s040_q010.jpg
20 s040_q020.jpg
30 s040_q030.jpg
50 s040_q050.jpg
70 s040_q070.jpg
95 s040_q095.jpg

まとめ

品質とファイルサイズの関係
品質と PSNR の関係
品質と効率の関係

今回実験を行ったどの解像度でも、だいたい以下のことがいえそうである。

  • 品質が 80 を超えると、ファイルサイズが大きく増えていく
  • 品質が 20 を下回ると、PSNR が大きく下がっていく
  • 品質 40 程度までは、画像の劣化はあまりみられない
  • 品質 10 になると、手前の人の服の色が変わってくる
  • 品質 1 はほぼモザイクである
  • 品質 100 でも、PNG に比べて半分程度のファイルサイズになる

JPEG では解像度にかかわらず 8×8 のブロックごとに圧縮処理を行うため、もとの解像度が高いと、品質を 1 にしてももとの画像の情報が残りやすいようである。

品質を下げると画像が劣化しやすくなると考えられる一方、品質を極端に上げたり下げたりしなければファイルサイズへの影響は比較的小さいようである。

まとめ

画像を Web での公開用に JPEG に変換する際は、品質は 60~80 程度に設定し、ファイルサイズの調整のためには適切な解像度を設定するのがよいと考えられる。
ただし、今回の実験結果はあくまで今回の画像でのものであり、画像の性質によって結果が変わる可能性が考えられる。
今回の結果は目安とし、実際の画像での仕上がりを確認しながら変換を行うのがよいだろう。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?