IIIFを用いた高品質/高精細の画像公開と利用事例

IIIFとは?

IIIF (International Image Interoperability Framework)とは、画像へのアクセスを標準化し相互運用性を確保するための国際的なコミュニティ活動である。これまでの成果物は、画像へのアクセスを定めるIIIF Image API 2.1、書籍などの構造を定めるIIIF Presentation API 2.1、そして検索に基づくアクセスを定めるIIIF Search API 1.0という3つのAPIである。APIは仕様が公開されているため、誰でも自由にAPIに準拠したソフトウェアを開発し、オープンソースとして公開できる。そのためIIIFに対応したオープンソースソフトウェアが既にいくつも誕生しており、これがIIIFの使い勝手を向上させることで、さらにユーザが集まるという好循環が働いている。

ただしIIIFはまだ未成熟の規格であり、重要なユースケースをすべてカバーできているわけではない。例えばIIIF Presentation API 2.1仕様の冒頭には、この仕様が物理的なオブジェクトの画像表示を対象とし、ページのナビゲーションや各種テキストの表示はスコープ内とするが、興味のあるデジタルオブジェクトを発見したり選択したりする機能はスコープ外とすることが明記されている。このようにIIIFがカバーできていないユースケースに対しては、現状のAPIの範囲で満足するのではなく、IIIFの世界観を踏まえた新しい規格の提案をすることが、コミュニティへの貢献として期待されていると考える。

IIIF規格の拡張

特に我々が着目したユースケースは、興味のあるデジタルオブジェクトを複数の書籍から複数選ぶという選択機能である。これはテーマごとに資料を収集し配列するキュレーションには必須の機能であるが、現状のIIIF規格の枠内ではこうした機能を実現することは困難である。なぜならIIIF Presentation APIは物理的な書籍(オブジェクト)を基本単位とするため、それをバラバラに断片化し別の視点で再構成するというユースケースは含まないためである。そこで我々は、キュレーションを実現するための新しい規格として、Curation APIを提案することとした。

Curation API

キュレーションという言葉は、もともとのアートの世界においては、キュレーターの独自の視点に沿って作品を選択し配列する行為や、その価値を外に向けて論じる行為を意味していた。しかし近年はキュレーションの意味も大きく広がりつつあり、そのためのCuration APIにも様々なユースケースが想定できる。しかし現在のところは最も基本的な機能として、複数の書籍からリソースを収集してリスト化する機能を検討しており、その参照実装となるソフトウェア「IIIF Curation Viewer」をオープンソースで公開している。

IIIF Curation Viewer

その後、自然科学データへの利用を考慮したTimeline APIや、大規模データで大量のCanvasが存在する場合にも対応できるCursor APIなど、IIIF Presentation APIでは満たすことのできないユースケースに対応するための拡張仕様を提案し、IIIF Curation Viewerに実装している。

Timeline API

Cursor API

IIIFの利用事例

人文科学データの利用事例

IIIFの活用事例として、まずターゲットとなるのは人文科学データを主とした書籍デジタル化に関するものである。日本古典籍データセットで配布する高精細画像データの閲覧にIIIF Curation Viewerを利用している。

日本古典籍データセット

またIIIF Curation Viewerを用いることで、テーマに沿って資料横断的に画像を収集することが可能になる。これは美術史など画像を主たる研究対象とする研究分野の重要な研究ツールとなる可能性を秘めている。

日本古典籍キュレーション

自然科学データの利用事例

IIIFは書籍データの画像配信から出発しているため、IIIFの規格やソフトウェアも書籍を前提とした考え方となっている。しかし自然科学などの科学分野でも高解像度画像データが重要な研究資源となっていることから、IIIFコミュニティでは科学データへの拡張が今後の重要な課題として認識されている。そこで我々はIIIF Curation Viewerを自然科学データでも特に重要な時系列データに拡張したIIIF Curation Viewer for Timelineを開発し、これを用いた活用事例として、IIIFによる大規模衛星画像データ配信を実現した。

デジタル台風:ひまわり8号クリッピング

システム構築

IIIFを利用してデータを公開するには、サーバ側およびクライアント側の双方に対して準備が必要である。ただしクライアント側については、既存のビューアを利用することで準備を省略することも可能である。

IIIF画像サーバ

まずサーバ側については、画像を配信するImageサーバおよびメタデータを配信するManifestサーバが必要である。Imageサーバについては、我々はIIPImageを利用している。IIPImageは、インストールや設定がやや難しいという問題があるものの、パフォーマンスの点では優れているためこれを利用している。一方Manifestサーバについては、我々は静的にManifestを生成しているため、通常のHTTPサーバを用いるだけで問題なく配信できる。

IIIF画像ビューア

次にクライアント側については、通常は既存のIIIF Image API対応ビューアやIIIF Presentation API対応ビューアを使えば十分である。ズームイン/ズームアウトで解像度を自由に変化させながらページめくりができるオープンソースソフトウェアがいくつも公開されている。さらに究極的には、独自のビューアを用意せずにManifestだけを公開するという方法もある。なぜならIIIFの相互運用性を活用すれば、ユーザは他サイト(あるいはユーザのマシン)のIIIFビューアにManifestをドラッグ&ドロップするという方法で画像を閲覧できるからである。

しかし我々はLeaflet IIIFをベースに機能を拡張したIIIF Curation Viewerを構築した。Leaflet IIIFはImage API相当の機能を備えているが、その上にPresentation API相当の機能を構築した上で、さらに独自機能を実装している。このように、既存のIIIF規格にどうしても満足できなければ、自分のニーズに合わせてIIIFを拡張することも可能である。

参考文献

  1. 第4回CODHセミナー デジタルアーカイブにおける画像公開の新しいトレンド~IIIFが拓く画像アクセスの標準化と高度化~
  2. Asanobu KITAMOTO, "Extending IIIF to curation and timeline: case studies in cultural heritage, humanities, and natural sciences", 2017 IIIF Conference, 2017年6月
  3. 北本 朝展, "IIIFを用いた時空間データへの多重解像度アクセスとひまわり8号データへの適用", 日本地球惑星科学連合(JpGU)2017年大会, No. MGI30-09, 2017年05月