iPhoneのHEIC写真の隠れたメタデータを削除
01 なぜHEICはJPEGとは異なる問題なのか
iOS 11(2017年)以降、iPhoneはデフォルトでJPEGではなくHEIC形式で写真を保存します。HEICは他のどんな写真 とも同じ種類のメタデータ——カメラの機種、GPS座標、タイムスタンプ、埋め込みサムネイル——を運びますが、フ ァイル自体の内部構造は異なります。それはISO-BMFFコンテナ(MP4動画ファイルと同じ系統)であり、HEVCでエ ンコードされた画像データを内包しています。これは、ほとんどの「EXIF削除」ツールが元々作られた対象である 古いJPEG形式とは異なります。この違いは見た目以上に重要です。HEVCエンコーディングは特許で保護されている ため、JPEGやPNGのような、成熟した完全オープンソースのデコーダーが存在しません——だからこそ、多くの 「EXIF削除」ツールはHEICをまったく受け付けないか、まずサーバーを経由してこっそり変換するのです。
詳しく見る:本ツールがアップロードせずにHEICを実際にどう処理するか
これは本サイトの中で、他のすべての形式と意図的に異なる方法で動作する唯一の形式です。現時点では、C言 語の依存関係なしにHEVCエンコードされたピクセルをデコードする方法は存在せず、それができるC言語ライブ ラリ(本物の写真アプリが使うのと同じ種類のライブラリ)は、WebAssemblyにきれいにクロスコンパイルでき ません。そこで、この依存関係をメインエンジンに持ち込む代わりに、HEICサポートは専用に構築された第二 の独立したWebAssemblyモジュールを使用し、HEICファイルを生のピクセルへとデ コードします——すべてこのブラウザタブの中で完結し、どこにも何も送信されません。これらのピクセルはそ の場で通常のPNGへと再エンコードされ、そのPNGが、本サイトの他のあらゆる形式が使うのと同じ、 本物のメタデータ削除と脅威検査のプロセスを経ることになります。これがあなたにとって意味するのはただ 一つ、レポートには処理された形式として「PNG」が表示され、HEICから変換されたものであるという注記が 添えられるということです。なぜなら、実際の無害化処理がそのファイルを目にする瞬間には、それが本当に そのファイルの実態だからです。
iPhone写真に実際に何が含まれているか
一般的なメタデータのページに書かれているすべてがここにも当てはまります——数メートル単位まで正確なGPS座 標、カメラとレンズの詳細、正確な日付と時刻、切り抜き前の以前のバージョンを明らかにしうる埋め込みサムネイ ル。iPhoneはさらにいくつかの要素を追加します。Live Photosは静止画像の横に短い動画クリップを保存し、独自 のタイムスタンプと位置データを持ちます。ポートレートモードやシネマティックモードで撮影した写真には、追 加の深度マップデータが含まれることがあります。そして「写真」アプリでの編集(切り抜き、フィルター、マーク アップ)はしばしば非破壊的であり、つまり何かを切り抜いたと思っていても、元の未編集バージョン——そしてそ の元のメタデータ——がファイル内に復元可能な形で残っている可能性があります。
なぜ「HEICをJPGに変換する」ことはメタデータの削除とは違うのか
無料の「HEICからJPGへ」の変換ツールは数多く存在し、形式を変換すること自体が副作用としていくつかのメタデ ータを削除することもあります——しかしそれは、実際に意図的にメタデータを削除し、そこに何があったかをあな たに示すために作られたツールとは違います。一部の変換ツールは、それを保持したい写真家のために意図的にEXIF を保持し、一部の変換ツールはその変換ツールが使うライブラリがたまたま対応しているフィールドに応じて不一 致に削除し、ほとんどはメタデータ以外の何もチェックしません——複数形式混合のペイロードやステガノグラフィ で隠された内容は、単純な形式変換であれば問題なく通過してしまいます。これらを削除することが、そうしたツ ールの本来の設計目的ではないからです。入力形式が何であれ、ここで実際に起こっているのは生のピクセルへの デコードとファイルのゼロからの再構築であり、これによってメタデータの削除が副作用ではなく構造的な保証と なります。これは本サイトの比較ページでさらに詳しく説明され ている、同じ再構築です。