形式のほうが問いより古い
GIF は 1989 年に完成しました。デジタルカメラが一般向けの製品になる前で、EXIF が定められる何年も前です。誰がどこで撮ったかを記録するために設計された部分はどこにもなく、その後の改訂でも加わりませんでした。GIF はカメラもレンズも撮影日時も座標も持てません。取り除かれたからではなく、それを置く場所が初めからなかったからです。
代わりに持てるもの
2 つあります。コメント拡張はただのテキストを持ち、エンコーダーが透かしやツール名に使うことがあります。アプリケーション拡張は 11 バイトの識別子と、そのアプリケーションが望むデータを持ちます。アニメーションを繰り返させるループ回数を Netscape 2.0 ブロックが持つのもこれですし、あるツールがどうしても書きたがるときに XMP が GIF に紛れ込むのもこれです。
色はプロファイルではなくテーブル
GIF は最大 256 色を選び、カラーテーブルに並べます。ファイル全体で 1 つか、コマごとかです。ICC プロファイルはなく、置く場所もないので、同じファイルが 2 つの画面で違って見えても、それを補正するものはファイルの中にありません。写真的な GIF に見えるディザリングもこれで説明がつきます。画像がそれだけ小さなテーブルに合わせられたということです。
GIF の構造
- 構造
- メタデータを持てる
- 画像本体
GIF は何をどこに置くか
- ヘッダ
- GIF87a か GIF89a。拡張ブロックは 89a にしかない。
- 論理画面記述子
- キャンバスの大きさと、グローバルカラーテーブルが続くかどうか。
- グローバルカラーテーブル
- ファイル全体で最大 256 色。
- コメント拡張
- ただのテキスト。GIF がメタデータに最も近いもの。
- アプリケーション拡張
- 識別子とそのデータ。ループ回数はここ。XMP があるときもここ。
- グラフィック制御拡張
- コマの表示時間、透明、処理方法。1 コマに 1 つ。
GIF についての質問
GIF に EXIF や位置情報は入っていますか?開く
入っていません。この形式にはどちらも持てる構造がなく、これまでもありませんでした。画像から足がつくかどうかを知りたいとき、GIF は答えが最初から決まっている唯一の形式です。
では何を確認するのですか?開く
ファイルの構造——キャンバスの大きさ、カラーテーブル、コマ数、タイミング——と、エンコーダーが残したコメントやアプリケーションのブロックです。一覧は空の EXIF 欄ではなく、実際にあるものを示します。
GIF を整理すると PNG が返るのはなぜ?開く
再エンコード整理がキャンバス上で画像を描き直すからです。キャンバスは 1 コマだけを持ち、PNG を可逆で書きます。そのコマの画素はそのまま手に入りますが、アニメーションは残りません。
GIF から作ったソフトウェアが分かりますか?開く
コメントやアプリケーションのブロックから分かることもあります。ただ GIF はネットを回るあいだに何度も再エンコードされるので、最初のエンコーダーが書いたものはたいてい後のものに捨てられています。
できること
- EXIF データを削除
- 写真をドロップして、埋め込みメタデータのないコピーをダウンロードします。JPEG は画素に触れずに EXIF セグメントが外れ、HEIC・PNG・WebP などは再エンコードされます。アップロードはありません。
- 位置情報を削除
- 写真が持っている座標を見てから、それのないコピーをダウンロードします。JPEG は位置情報タグだけを失い、他はすべて残ります。アップロードはありません。
- JPEG の EXIF を編集
- JPEG のタイトル、作成者、説明、著作権、ソフトウェア、撮影日時を変更して、編集済みのコピーをダウンロードします。端末内で動き、元のファイルは決して変更されません。
- XMP・IPTC・ICC ビューア
- ファイルが持つすべてのメタデータ群——EXIF、XMP、IPTC、ICC、メーカーノート——を区分ごとに読み、JSON で書き出せます。素材の検品、鑑識、処理の検証向け。アップロードはありません。
- 複数の写真を開く
- 最大 50 枚を開き、どれが位置情報を持っているかを確かめ、一式を表として書き出せます。アップロードは行わず、元のファイルに書き込むこともありません。