よこのじ(@yokonoji_work)です。
画像の読み込みはWebページの表示が遅くなる要因の一つです。そこで、「画像をBase64で変換して埋め込めば、HTTPリクエストがなくなり高速表示できる」では画像を文字列として埋め込んでHTTPリクエストを減らす方法をご紹介しました。今回はもっと根本的なところとして、画像のExifデータを削除することでデータサイズが小さくなるのか調べてみました。
Exifデータとは?
Exif(Exchangeable image file format)は、カメラの機種や設定、GPSによる位置や標高などの情報を画像に埋め込むための形式で、次のようなデータを保持することができます。
撮影日時
撮影機器のメーカー名(製造・販売元)
撮影機器のモデル名(カメラ付き携帯電話・スマートフォンの機種名など)
画像全体の解像度
水平・垂直方向の単位あたり解像度
撮影方向
シャッター速度
絞り(F値)
ISO感度
測光モード
フラッシュの有無
露光補正ステップ値
焦点距離
色空間(カラースペース)
GPS情報 – GPS付きカメラの場合、緯度・経度・標高など。
サムネイル(160×120画素)
カメラで写真を撮ったときにGPS情報が写真に埋め込まれることもあるため、自宅で撮影した写真をネット公開すると位置特定される恐れがあります。扱いには注意が必要ですね。
ちなみに、Exifの読み方はエグジフまたはイグジフです。
Exifのデータサイズ
実際にExifデータを削除してみて、削除前後のデータサイズを確認してみました。今回実施したExifデータ削除の方法は次の4つです。上から方法1~方法4とします。
- 画像プロパティより「プロパティや個人情報を削除」->「可能なすべてのプロパティをすべて削除してコピーを作成」
- Webツール Syncer Exif削除ツール
- Webツール CMAN 画像のexif・メタデータ等の情報確認/削除
- フリーソフト F6 Exif
確認対象とした画像は、iPhone 6Sで撮影したこちらの写真です。
CMAN 画像のexif・メタデータ等の情報確認/削除にてExifデータを確認したところ、次のデータが埋め込まれているようです。
35mmフイルム換算焦点距離 | 57 mm |
Circle Of Confusion | 0.002 mm |
DateTimeDigitizedサブ秒 | 035 |
DateTimeOriginalサブ秒 | 035 |
Exifバージョン | 0221 |
Field Of View | 35.1 deg |
F値 | 2.2 |
Hyperfocal Distance | 3.58 m |
ISOスピードレート | 200 |
Lens Make | Apple |
Lens Model | iPhone 6s back camera 4.15mm f/2.2 |
Light Value | 5.6 |
Scale Factor To 35 mm Equivalent | 13.7 |
XとY解像度単位 | インチ |
YとCの位置 | 中央 |
オリジナルデータ作成日時 | 2018:12:12 21:52:17.035 |
サポートフラッシュピックスバージョン | 0100 |
シャッタースピード | 1/20 |
シーンキャプチャタイプ | スタンダード |
シーンタイプ | 直接撮影画像 |
ストロボ | フラッシュ未発光、オートモード |
センサー方式 | 単板式カラーセンサー |
ソフトウェア | 12.0 |
デジタルズーム比率 | 1.948453608 |
デジタルデータ作成日時 | 2018:12:12 21:52:17.035 |
ファイル作成日時 | 2018:12:12 21:52:17 |
ブライトネス | 1.577715434 |
ホワイトバランス | オート |
メーカー | Apple |
レンズ情報 | 4.150000095mm f/2.2 |
レンズ焦点距離 | 4.2 mm (35 mm equivalent: 57.0 mm) |
各構成要素の意味 | Y, Cb, Cr, – |
対象領域 | 2004 1508 2215 1325 |
測光モード | パターン |
画像の向き | 水平(標準) |
画像入力機器モデル | iPhone 6s |
画像幅 | 4032 |
画像幅の解像度 | 72 |
画像高さ | 3024 |
画像高さの解像度 | 72 |
絞り | 2.2 |
色空間 | sRGB |
露光モード | 自動露出 |
露出プログラム | ノーマルプログラム |
露出時間 | 1/20 |
露出補正値 | 0 |
それでは、方法1~方法4でExifデータを削除した結果をご紹介します。
- 元のデータ:108,932 バイト
- 方法1:112,759 バイト(+3,827バイト)
- 方法2:83,777 バイト(-25,155バイト)
- 方法3:104,836 バイト(-4,096バイト)
- 方法4:104,836 バイト(-4,096バイト)
画像プロパティより削除する方法1は、厳密にExifだけというわけではなく他の項目も削除しているかと思うのですが、なぜかデータサイズが増えています。
最もデータサイズが小さくなったのは方法2です。25KBもサイズが小さくなっていてExifデータだけでもかなりのサイズがあるのが分かります。方法3と4は同じ削減量なので同じ項目を削除していると思われますが、方法2とは大きく異なるため、削除項目に違いがあるか、処理上の違いがありそうです。
削減されるデータ量は、埋め込まれているExifデータによりますが、Exifの削除は大きな効果があるようです。プライバシーの保護にもなりますので、Exifの削減は行うべきですね。
SyncerのExif削除ツール、ぜひ使ってみてください。
[toggle title=”参考サイト”]
[/toggle]