オープンソースの画像ソフトウェアも対応を開始したXMP
メディアを管理するためのアプリケーションでは、メタデータをうまく取り扱うことはデータ自体をうまく取り扱うことよりも重要だ。その理由はメタデータが、作業対象であるデータファイルの検索や追跡を行なう手段であるためだ。音楽プレイヤー市場ではメタデータの重要性は何年も前から認識されていた。ID3タグに対応していなかったりID3タグ経由でユーザがファイルを取り扱うことができなかったりするような音楽プレイヤーを、今ではなかなか目にすることがなくなったのもそのためだ。ユーザは、アーティスト名/楽曲名/アルバム名/ジャンル名といったメタデータに基づいて聞きたいトラックを決める。もしそうではなくファイル名によってしか自分の音楽コレクションを閲覧することができなければ、どれほど苦労することだろう。あるいはもっと悪いことに、メタ情報に直接的にアクセスする手段がまったくなく、各トラックから冒頭の5秒程度のクリップを聞くという方法しか存在しない状況を想像してみてほしい。聞きたいトラックを見つけるのにどれほど骨が折れることだろうか。
ところが写真用アプリケーションのほとんどでは、今でもまさにそのような状況にユーザは置かれている。写真の検索手段は、サムネイルかせいぜい日付だ。カメラが自動的に生成するファイル名は検索などの役には立たない。また、埋め込まれたEXIFデータの読み取りがほぼすべての写真用アプリケーションで可能なのは良いことだが、そのような情報は「人間」が検索する際にはあまり役に立たない。EXIFデータはカメラによって自動生成されるデータで、その内容は写真の横幅/高さ/シャッター速度/絞りなどであり、音楽の場合に大雑把に当てはめると、トラックの長さやビットレートやサンプルレートなどの固定的な特性に相当する。つまり(そのような特性について知ることができること自体は望ましいが)普通は音楽を探す時に思い浮かべる事柄ではない。
写真用アプリケーションの中には、「星付け」や「タグ」といった疑似メタデータを取り入れているものもある。星付けとタグはユーザインターフェースにおいてはまったく別のもののようにも思われるが、本質的には、星付けはタグのサブセットに過ぎない(すなわち「1つ星」というタグ、「2つ星」というタグ…等)。
そしてタグという仕組みは、デスクトップアプリケーションに関して言えば不適切なインターフェースだ。その理由は一つには、タグは大量に使用されてはじめて機能するものであり、個人ではなく大規模な集団の集合知を利用する場合に最も効果を発揮するものであるためだ。タグ付けがLibraryThingでは機能してAmazon.comでは機能しない理由が、LibraryThingのTim Spalding氏による素晴らしいエッセイにおいて説明されているので読んでみると良い。写真のタグ付けを機能させるためには、一枚一枚すべての写真に対し、関心のある全要素についてのタグを付ける必要があるということになるだろう。
またタグにはコンテキスト(文脈)がないという別の問題もある。「母親」と「誕生日」というタグが付いた写真は、「母親の誕生日に撮られた母親の写真」という意味なのか、それとも「母親がメールで送ってきた私の誕生日の写真」という意味なのだろうか?どちらのようにも意味的に成立可能であり、同様に意味的に成立可能なパターンが他にも何通りもある。このようにタグには真のコンテキストが欠けているため、タグの意味は最終的には各メタデータの最小公倍数である、ぼんやりとした「テーマ」にまで薄らいでしまう。
それではFlickrが使っているような、写真が撮影された場所を緯度タグと経度タグの2つ(例えばgeo:lat=1.2345とgeo:lon=67.890など)によって指定するジオタグ(geotag)はどうだろうか。ジオタグを使うと、ある風景の位置を正確に指定することができる。これはコンテキストを与えることができるタグの実例ではないだろうか? 確かにそうだが、これはもはやタグ付けの範疇を越えており、構造化されたキーと値の組、すなわちメタデータの一種だと言うことができる。
各自のライブラリへの対応
意味解釈を適切に行なうことができる写真メタデータ用の古い標準規格にIIM(Information Interchange Model)がある。IIMは、新聞社などのマスメディアでの利用を目的としてIPTC(International Press Telecommunications Council)が作成したデータモデルだ。IIMは、IIMメタデータを埋め込む機能をAdobeがPhotoshopに追加したことで勢いを付けた。Adobeはグラフィック業界において絶大な影響力を持っているため、事実上、AdobeのIIM対応によってIIMが標準になったとも言える。しかしオープンソースソフトウェアでは、版によって対応したりしなかったりの状態で、互換性も怪しいものであった。その理由は部分的には、ほとんどの家庭ユーザはグラフィック業務を行なう企業と同じことを必要としていなかったためだ。しかしよく言われているように、今日のプロ向けの機能は明日の消費者向け機能ということなので、この状況はやがて変わらざるを得ないだろう。
幸いにもAdobeは一部のソフトウェア大企業とは違って標準規格について保身的や閉鎖的にはならず、IIMの後継となる規格を独自に作成する際、XMLをベースとして用い、その仕様も公開した。そしてその仕様が、汎用画像メタデータ用XMLである「XMP」だ。XMPではEXIFやIIMなどの既存の標準規格が単純に個別のXML名前空間として実装されており、ユーザはそれらのすべてを基にして独自にカスタマイズした名前空間を自由に作成することができる。
AdobeはXMPをサポートしたアプリケーションを2001年から提供している。一方オープンソースの世界では、XMPに真剣に取り組んで、読み書きのサポート、コアの名前空間、カスタマイズした名前空間の作成などにまで対応したアプリケーションは今まで存在しなかった。それどころかXMPを実際に取り扱っていたアプリケーションでも、データを読み取るところでとどまり、それを利用して何らかの便利なことを行なうところまではできていなかった。
しかし現在では、GNOMEのファイルマネージャであるNautilus用のXMPインターフェースとしても利用可能なXMP Managerという個人プロジェクトがある。ただしXMP Managerは小規模な取り組みで、カバーする範囲も限られている。しかしXMP Managerについて調べている過程で他の人によるXMP Managerの評価記事を読んだ際に、Hubert Figuiere氏によるexempiプロジェクトの存在を知ることができた。exempiはXMPの読み書きを行なうシステムライブラリとして設計されていて、LGPLの元で公開されていて、libxml2に依存している。Figuiere氏によるとexempiのAPIは現在の最新リリース(0.5)ではまだ完成からは程遠い状態とのことだが、EXIF、IPTC、Dublin CoreのXMP名前空間のサポートも計画しているという。
ライブラリを作成するというアプローチは、既存の写真マネージャにXMPサポートを追加するというやり方よりもずっと優れた解決法だ。実際同じような例としてlibexifがあるが、今日のアプリケーションが広くEXIFをサポートできているのは間違いなく、libexifがライブラリとして提供されているおかげである。Figuiere氏はアプリケーションがexempiを利用することによって、XMPが「できるだけ簡単なこと」になることを目指している。また、gThumbやPicasaやDigiKamといった主力アプリケーションが新しい保存形式の採用を検討し、どんな形式が最良だろうかと検討を開始する時までにはexempiを完成させたいとしている。もしそのようなアプリケーションがそれぞれ独自にXMPを実装するという事態になると、ユーザはその実現まで長い間待たされ、しかもその後、非互換性の問題にさらされることになってしまうだろう。
AdobeはXMP SDK(XMPソフトウエア開発キット)を提供しているが、そのライセンスには、フリーソフトウェアとの互換性がなくなるような条項が複数盛り込まれている。そのためFiguiere氏はXMP SDKの利用を検討してみたことはないとのことだが、同じくAdobeの作成した公式XMP仕様についてはFiguiere氏も利用しているのだという。公式XMP仕様は、正式にAdobeの出版物であるにも関わらず、SDKの利用をややこしくしているような制限がまったくない。Figuiere氏によると公式XMP仕様はクリーンで「かなり網羅的」とのことだ。公式XMP仕様は、AdobeによるサンプルXMPファイル同様、オープンソース開発者にとって役に立つリソースだ。
フリーソフトウェアの支持者たちがAdobeのようにプロプライエタリな大企業に対して用心深くなるのも無理はないが、しかしXMPに関してはAdobeを信じて良いケースだろう。XMP仕様はオープンであり、さらに良いこととしてXML名前空間を通して拡張可能になっている。このようなことは、フリーソフトウェアプロジェクトでSDKを使うことができないということよりも、長期的にはずっと重要なことだろう。
XMPは対応可能な範囲が幅広く、EXIFのような比較的限られた用途の古い形式では対応できないような場面でも役に立つ。例えば、XMPは写真だけでなくベクタ画像についても同様に便利であるうえ、静止画像だけにとどまらず、ビデオファイルにとっても役立つ仕様である可能性もある。また同じく重要なこととして、XMPの用途は自分のファイルを追跡するという個人利用の場面にとどまらず、(XMPはマシンに対しても人間に対しても可読性が高いため)大規模なユーザ生成型コンテンツのライブラリにとっても役立つ可能性が高い。例えばCreative Commonsは、すでにXMPを取り入れているだけでなく、PhotoshopユーザがCreative Commonsライセンス情報を追加するために使用することができるカスタムXMPテンプレートまで提供している。インターネット上のCCライセンスの作品の全コレクションの大きさは、どのような個人や企業の作品のコレクションよりもはるかに大きい。そしてフリーソフトウェアコミュニティほど、そのようなコレクションをうまく活用できる人たちはいないだろう。