XMPとは
Extensible Metadata Platform(XMP)は、メタデータを「パケット」と呼ばれる小さなXML文書として、ファイルの中や隣に保存する仕組みです。Adobeが2001年に導入し、2012年にISO規格ISO 16684-1になりました。
パケットはいくつかの場所に置かれます。
- JPEGでは、XMPの名前空間が付いたAPP1セグメント。
- TIFFでは、タグ700。
- PNGでは、
XML:com.adobe.xmpという名前のiTXtチャンク。 - HEICファイルでは、専用のメタデータアイテム。
- RAWファイルでは、その隣の.xmpサイドカーファイル。
XMPは全体がUnicodeで、IIMのような小さなバイト数の上限はありません。プロパティは名前空間に属し、dc:やxmpRights:のような接頭辞を付けて表記します。
XMPは拡張可能なので、誰でも名前空間を定義できます。このページで扱う権利のプロパティは、ほぼすべてのソフトが理解する3つの名前空間から来ています:Dublin Core(dc:)、XMP Rights Management(xmpRights:)、Photoshop(photoshop:)です。
権利に関するプロパティ
作者と権利を記述するプロパティは次のとおりです。IPTC Photo Metadata Standardでの名前を添えています。
dc:rights:Copyright Notice(著作権表示)。EXIFのCopyrightやIPTCの2:116と同じ著作権表示です。dc:creator:Creator(作成者)。名前の順序付きリストで、IPTCの2:80 By-lineやEXIFのArtistに対応します。photoshop:Credit:Credit Line(クレジット表記)。IPTCの2:110に対応します。xmpRights:UsageTerms:Rights Usage Terms(使用条件)。画像をどう使ってよいかを書く自由記述のテキストです。xmpRights:WebStatement:Web Statement of Rights(Web上の権利声明)。画像の権利について書かれたページへのリンクです。xmpRights:Marked:AdobeのアプリではCopyright Status(著作権の状態)として表示されます。xmpRights:Owner:権利者の名前のリスト。plus:CopyrightOwner:IPTC Extensionによる構造化された著作権者の記録で、名前と識別子を持ちます。
IPTC CoreとIPTC Extension
2000年代半ばに、IPTCはIIMのフィールドをIPTC CoreとしてXMPに移しました。適したプロパティがすでにある場合、IPTC Coreはそれを再利用しました:Copyright Noticeはdc:rightsに、Credit Lineはphotoshop:Creditになりました。既存の置き場所がないフィールドには、作成者の連絡先などのようにIptc4xmpCore名前空間が与えられました。
IPTC Extensionはその後に登場し、PLUS連合の語彙から取り入れたライセンス関連のプロパティなど、より詳細なフィールドを追加しています。IPTC Core、IPTC Extension、IIM形式の3つを合わせたものが、IPTC Photo Metadata Standardです。
言語別の値
dc:rightsとxmpRights:UsageTermsは言語別の代替テキストで、それぞれ言語ごとに1つの値を持つことができ、デフォルトにはx-defaultの印が付きます。ほとんどのソフトはデフォルトを表示し、それ以外は無視します。1つの言語で書く場合は、それをデフォルトとして書きましょう。
dc:creatorは順序付きのリストです。クレジットを共有する2人の写真家は、指定した順に2つの項目として入ります。
Marked:著作権あり、パブリックドメイン、不明
xmpRights:Markedは真偽値で、実際には3つの状態があります。
- True:画像は著作権で保護されています。AdobeのアプリにはCopyrighted(著作権あり)と表示されます。
- False:画像はパブリックドメインです。AdobeのアプリにはPublic Domain(パブリックドメイン)と表示されます。
- 値なし:状態は不明です。
Photoshopの「ファイル情報」とLightroom ClassicのIPTCパネルには、どちらにもこのメニューがあります。このプロパティがTrueのとき、ファイル名の横に©を表示するソフトもあります。著作権表示と一緒にTrueに設定しておけば、ファイルの記載内容に一貫性が保たれます。
埋め込みパケットとサイドカー
JPEG、HEIC、PNG、TIFFでは、XMPパケットはファイルの中にあり、ツールが削除しない限り、ファイルと一緒にどこへでも移動します。RAWファイルの場合、ほとんどのソフトは独自形式への書き込みを避けるため、同じベース名の別の.xmpサイドカーファイルに書き込みます。
メタデータを独自のカタログに保持し、指示したときにだけファイルに書き込むソフトもあります。たとえばLightroom Classicでは、追加したメタデータは、ファイルに保存するか書き出すまでカタログの中にとどまります。それまでは、ほかのプログラムからは見えません。
パケットを自分で読むには、exiftool -XMP:All photo.jpgを使うと、すべてのXMPプロパティが名前空間ごとに一覧表示されます。dc:rightsとIPTCの著作権表示が一致しているかを手早く確かめられます。
XMPをEXIFやIPTCと揃えておく
XMPはEXIFとIIMにすでにあるフィールドを繰り返しているため、写真がXMPではある内容を、別の場所では違う内容を言うことがあります。Metadata Working Groupのガイドラインは、書き込む側にはそれらをすべて一緒に更新するよう求め、読む側には食い違ったときにどれを信頼するかを決めるルールを示しています。レイヤーが食い違っている写真は矛盾のある写真で、どのレイヤーに何が書かれているかは著作権チェッカーで確認できます。
Copyrightedは、Rights Profile(権利プロファイル)からこれらのプロパティを書き込みます:著作権表示、作成者、クレジット、使用条件、Web上の権利声明、著作権者、著作権の状態を、対応するEXIFとIPTCのフィールドがあればそれらと一緒に。RAWファイルの場合、XMPはサイドカーファイルに書き込まれます。
よくある質問
dc:rightsとは何ですか?
XMPが著作権表示に使う、Dublin Coreの権利プロパティです。IPTC Photo Metadata StandardはCopyright Noticeをこれに対応させているので、EXIFのCopyrightやIPTCの2:116と同じテキストが入っているべきです。
xmpRights:Markedは何をするものですか?
著作権の状態を記録します。Trueは著作権あり、Falseはパブリックドメイン、値がなければ不明です。Adobeのアプリでは「Copyright Status」(著作権の状態)メニューとして表示されます。
JPEGではXMPはどこに保存されますか?
XMPの名前空間の識別子で始まるAPP1セグメントです。非常に大きなパケットは、拡張XMPセグメントに続けて保存されることがあります。RAWファイルは通常、代わりに別の.xmpサイドカーファイルにXMPを保存します。