「デジタルアーカイブ」における画像共有のための国際規格IIIFについてのご紹介(続)

f:id:digitalnagasaki:20160602173905p:plain IIIF International Image Interoperability Framework 国際的な画像相互運用の枠組み

 

断片的な紹介ばかりで恐縮だが、IIIFのメリットが見えにくい、先の見通しが見えにくい、という話をいただくことが多いので、もう少しわかりやすくなるようにまとめ直してみたい。

IIIFは、その名の通り、Web上での画像のやりとりの仕方を効率化するための手法であり、それ以上でもそれ以下でもない。これがそのままデジタルアーカイブの基幹部分として使えるという風に考えてはいけない。基幹的なデジタルアーカイブを前提として、その画像やその他のデータをやりとりしやすくするための仕組みなのである。その観点からみれば、これまでにはなかった部分を埋める規格であると言える。

では、画像のやりとりの仕方がどのように効率化されるのか。大きなポイントは2点だが、その結果、様々な面での効率化が達成され得る。簡単に図式化してみると、たとえば、以下のような感じである。

 

f:id:digitalnagasaki:20160602162839j:plain

利用者側の問題:

  • 一つ一つのサイトの使い方を覚えないと…
  • 一つ一つアクセス・検索しないと…
  • ダウンロードできないと情報集約も大変
  • 使い勝手改善の要求になかなか対応してもらえない…
  • 利用条件がよくわからないことが…
  • 便利なはずのデジタルで何故…??

提供者側の問題:

  • システム開発・仕様決定にかかる費用と手間が…
  • 他機関と連携しようとするとさらに手間が…
  • 利用者からの色々な要望に応えきれない…
  • すぐにダウンロードされるのでどう使われているかほとんどわからない…
  • 公開してもなかなか個々の利用者に発見してもらえない…
  • デジタルなのにメリットを全然活かせてない…

 

f:id:digitalnagasaki:20160602162841j:plain

利用者側にとっての解決事項:

  • 必要なデジタルアーカイブとはビューワが裏側でやりとりしてくれるので:
  • 利用者の学習コスト・探索の手間が大幅に低減。
  • ビューワの改善要求は自分が利用するビューワの開発者に要求するだけでよくなる
  • 好み・用途に応じて適宜ビューワを変える事が可能。
  • ライセンス表示も必須化されるので再利用可能性がすぐにわかる

提供者側にとっての解決事項:

  • 公開に関するシステム開発は共同開発してフリーソフトで。仕組みも皆で協力して決めて共通化。
  • 皆でやりとりしやすい仕組みにして容易にやりとり。
  • 利用者からの要望も皆で対応。皆で協力して開発者を支援。
  • ビューワに把握してもらえば利用者まで届く道ができる。
  • サーバに置いたまま、タグ付けも含めて外部のシステムから利用できるので利用記録から利用状況を把握しやすくなる

f:id:digitalnagasaki:20160602162845j:plain

これまでの「デジタルアーカイブ」では難しかったことも

  • 外部からの自由なタグ付けの仕組みによる自由で多様な文脈の付与
  • 様々なタイプの横断検索(多様な文脈付与の一環とも言える)
  • より高度な教育教材の可能性
  • キュレーター養成用教育システム
  • その他、自由で多様な「ポータル」構築が可能に。

⇒多様な産業の発展の可能性も

 

f:id:digitalnagasaki:20160602162835j:plain

 

さて、ここまで見てきたように、色々なメリットがあるのだが、一つ、見過ごしてはならない重要な注意点がある。それは、このIIIF自体はデジタルアーカイブの基幹技術ではない、ということだ。あくまでも、インターフェイスとして利便性の高い公開の仕組みであるというに過ぎず、アーカイブとしての保存に関しては、これにそのまま依存すると危険なことになる可能性があるので、保存に関しては別途きちんとしたメタデータを付与した形でデータベース等に保存し、それを公開するにあたって、データベース等からIIIF形式でデータを公開するような形にするのが妥当であると思われる。いわば、「インターフェイスに関する様々なニーズへの対応コストを下げつつさらに幅広い活用可能性を実現する」という目標に特化されたものと考えていただくとよいと思う。IIIFとしても、公開している規格は「Application Programming Interface」と称しているように、あくまでも「インターフェイス」なのである。

 

また、上記の説明を踏まえて、下記、少し実際の画面のキャプチャを見てみよう。まず、先日もブログで書いたように、色々なビューワを選択できる。以下の画像は、Mirador、Universal Viewer、diva-jsLeaflet-IIIFをそれぞれ試してみた例である。MiradorとUniversal Viewerは外部からのManifest URIドラッグ&ドロップ機能があるので容易に試してみることができるが、他の二つはその機能をまだ搭載していないので、上記のリンク先にてそれぞれ用意してみている。

f:id:digitalnagasaki:20160602162953j:plain

 特に、IIIF対応ビューワで今のところ最も進んでいるとみられるフリーソフトMiradorは、

・複数画像を拡大縮小可能な状態で同時に並べられる

・外部画像をユーザが簡単に(ドラッグ&ドロップでも)表示できる

・とってきた画像にユーザがタグをつけられる

という機能を備えている。

 

たとえば、下記の例は、SAT大蔵経画像DBを見ている最中に、バチカン図書館のデジタル化資料のmanifest URIを読み込ませて並べて見た例である。

 

f:id:digitalnagasaki:20160602163024j:plain

 

バチカン図書館は、ご存じの通り、NTTデータがデジタル化に取り組んでいるが、それゆえ、欧州の標準的なデジタルアーカイブの動向に対応せざるを得ず、IIIFやTEIなど、日本ではまだなじみの薄い技術にも取り組んでいるようである。これは大変ありがたいことで、NTTデータの英断には深く感謝している。

 

 たとえば、バチカン図書館のサイトで左上のアイコンをクリックすると、下記のように書誌詳細情報が表示される。この中に「IIIF manifest URI」というのが表示される(赤枠をつけたところ)ので、これをコピーすれば、他のIIIF対応ビューワで表示できるようになる、というわけである。(manifest URIについては先日のブログでも紹介した通り)

 

f:id:digitalnagasaki:20160602163433j:plain

 

こういった例ばかりだと、絵に興味を持っている人にしか関係がなさそうな気がしてくるが、ところが、IIIFはむしろ、写本をどうにかしたいという人達が力を入れていることから、そういった方面への活用も色々追究されているようである。

 たとえば、下記の例は、Miradorの画面分割機能を使って3種類の「妙法蓮華經(法華経)」を並べたものだ。フランス国立図書館で公開されている敦煌写本がすでにIIIF対応になっているので、その画像と、東大総合図書館等から公開されている16世紀末の木版本と、大正末期~昭和初期に活版印刷で刊行された大正新脩大藏經の画像を、私のコンピュータに入っているMirador中で並べてみているところである。そしてさらに、フランス国立図書館の画像にタグもつけてみている。

 

f:id:digitalnagasaki:20160528222334j:plain

 

Miradorの画面はもっとたくさん分割することもできるので、たとえば、6分割してみて法華経関係の図像も入れてみたのが下記のものである。まだ見たりタグをつけたりするだけなのだが、ここまでできることがわかれば、あとは色々なことができるということは大体想像がつくだろう。

 

f:id:digitalnagasaki:20160602163115j:plain

 

 

IIIFはどれくらい広まっているのか?どれくらい普及しそうか?

さて、ここまで、とりあえずIIIFが普及したらよさそうだという話を書いてきたが、では実際どれくらい普及しているのか。そして、今後どれくらい普及しそうなのか、ということだが、まず、フランス国立図書館のgallicaは基本的に全面対応しているそうだ。確かに、gallicaから公開されている敦煌写本のURLで確認してみると、いずれもIIIF manifestとしても公開されていることが確認できた。

http://gallica.bnf.fr/iiif/ark:/12148/btv1b8302822s/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b8302379v/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b8301692f/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b83018108/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b8301144n/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b8301809m/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b8302700v/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b83013732/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b83014705/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b8301555t/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b83009517/manifest.json
http://gallica.bnf.fr/iiif/ark:/12148/btv1b8301658d/manifest.json

( gallicaのデジタル化資料のURLの /ark: の前に/iiifを入れて、URLの最後に /manifest.json をつけるとその資料のIIIF manifestを取得できるのだそうだ。)

これをアイコン化してドラッグ&ドロップできるようにしたのが下記のものである。

 alt=IIIF Drag-n-drop  alt=IIIF Drag-n-drop  alt=IIIF Drag-n-drop  alt=IIIF Drag-n-drop  alt=IIIF Drag-n-drop  alt=IIIF Drag-n-drop  alt=IIIF Drag-n-drop alt=IIIF Drag-n-drop alt=IIIF Drag-n-drop  alt=IIIF Drag-n-drop  alt=IIIF Drag-n-drop  alt=IIIF Drag-n-drop

 ちょっと脱線&復習すると、これらを、たとえばどこかにセットアップした(自分のパソコン上でもOK)MiradorUniversal Viewerにドラッグ&ドロップすれば敦煌写本が見られるし、同様にして対応したものが出てくればみられるようになる。また、これは開いた時点では最初の頁が開くだけだが、開き方を工夫すれば特定頁の特定箇所をいきなり拡大表示させることもできる。たとえば下記のような感じで。

f:id:digitalnagasaki:20160519031149p:plain

 

さて、脱線から戻ってくると、フランス国立図書館ではそういう感じなのだが、他に大きなところでは、DPLAが550万点、ハーバード大学図書館とミュージアムをあわせて32万5千点、ウェールズ国立図書館が20万点、だそうです。それから、英国図書館が近々全面移行、という話を聞いております。こちらの参加機関リストを見る限りでも、有力研究図書館、国立図書館だけでなく、Europeana、Internet Archive、World Digital Libraryなど、統合系の「デジタルアーカイブ」も参加表明して、徐々に対応していっているようです。最近、あれよあれよという間にこのリストがのびていっていて、ちょっと驚いているところです。

 しかし、一方、もう一つ最近驚いたのが、その参加機関リストに全く掲載されていないブリティッシュコロンビア大学に先週行ってみた時のこと、当地のデジタルコレクションを見せていただいて色々解説をしていただきながらWeb頁などを見ていたら、なんと、IIIF manifestがすでに用意されていたのでした。下記のように、「Embed」という項目に掲載されていたのですが、

 

f:id:digitalnagasaki:20160602172736j:plain

 

 

そうすると、たとえば、下記の画像のmanifest URIをコピーして…

 

f:id:digitalnagasaki:20160602181118j:plain

 

 

こういう感じ↓で、自分のビューワに表示させて拡大縮小したりタグをつけたりできるわけです。

 

f:id:digitalnagasaki:20160602182218j:plain

(この画像は、Mirador2.1のタグ付け機能を利用している例です)

 

このように、IIIF参加機関として表明していないようなところでもIIIFをばっちり採用しているという状況ですと、もう容易には把握できないレベルで世界中に広まってしまっているのかもしれない、ということが想像されるので、それが先週の驚きだったのです。

 さて、ここでまた色々考えたのですが、そもそもIIIFというのは既存の技術を組み合わせて使いやすくしているに過ぎなくて、特に公開する側の負担はかなり小さいのです。なにしろ、フリーでも公開されている画像配信用サーバをインストールして(インストール方法はこのブログで解説できる程度のものです)、すでに用意されているメタデータと画像情報をもとにしたJSON-LD形式のファイルを作るだけなのです。

 ブリティッシュコロンビア大学の例など、おそらく、エンジニアがちょこっとスクリプトを書いたら対応できてしまった、というくらいのことだろうと思うのです。私も、国文研データセットのIIIF対応は、タグの表示以外の部分では、割と簡単にできてしまいました。SAT大正蔵図像DBの方は、画像の容量がかなり大きいので色々対策をしたりタグを表示させてその内容からクリックで検索できるようにしたりとあれこれ工夫したので結構大変でしたが、標準的な対応だけであればかなり簡単です。組織内にデータ処理がある程度できるエンジニアを抱えていれば、技術的にはすぐに対応できてしまうと思います。

 日本の機関ではまだあまりIIIFへの対応が広がっておらず、その理由としてはやはり画像公開に関わるライセンス的な問題をどうクリアするかということがあるのだろうと思っていましたが、もう一つの大きな理由として、そういうことにちょこっと対応できるような組織体制になっていないということがあるのかもしれないと思ってきています。

 IIIFの興味深いところは、いわゆる標準規格のように厳密に決めた仕様を皆で使うというよりはむしろ、コミュニティを形成して、そのなかで話し合いながら、後方互換性を保ちつつ改良を進めているという点です。これは、人文系テクスト資料のデジタル化のデファクト標準であるText Encoding Initiative (TEI) でも同様の体制をとっているのですが、それゆえ、日本の規格好きな人にはあまり好かれない傾向があって、日本がこういった動きから遅れをとりやすい理由の一つなのかもしれないとも最近思っています。また、ここまで見てきた限りでは、IIIFに関しては、研究図書館や大学の研究支援組織のようなところにいるエンジニアが開発や仕様策定やシステム開発に関わっている例が多いような感じがしております。この点、日本の同種の組織では、技術的なことは業者に発注してかっちりしたものを作ってもらうという流れが強いような感じがしていて、それも、今回、あまり気がつかないうちにいつの間にかIIIFがかなり広まっていた…という理由の一つだろうかと思っております。つまり、日本にカウンターパートがほとんど存在しない領域で起きている事態ゆえに対応が遅れているということなのかもしれない、ということです。

 いずれにしても、この技術の広がりと適用可能性を考えると、今後、IIIF対応画像を対象とした分野特化型のポータルやツールなどが色々できていくだろうと思っているのですが、とりあえず、なんとか日本からも対応していかないと、近々、「IIIF対応の画像でないなら扱いません」という話になってしまいかねないと危惧しています。(というか、オフレコということで、某所でそういう話を最近聞いたので、それも危機感のもとになっています)

 そこで、敢えて、この種の話への日本のカウンターパートというのを考えて見ると、研究者の一部かIT企業、それも、文化資料に関心を持って取り組んでいる方々、が頭に浮かびます。ですので、とりあえず、知り合いの研究者や関連IT企業に声をかけてみてまわっているところです。

 

 また、持続可能性という点なのですが、我々は特に、Webが登場してからというのも、大体5年くらい、長くても10年くらいで技術を更新しながらやってきています。今はHTMLは5.0ですし、Web2.0的な技術はすっかり広く使われるようになりました。IIIFは、コミュニティでの取組みという側面が強く、現在も少しずつ変更されていってますので、がっちりとした規格ではないですし、今後もそういう風にはならず、むしろフレキシブルに多様なコンテンツを取り込み続けていくのではないかと思うのですが、むしろ、技術が変わっても対応できるような体制を作る、そして、技術が変わっても更新しないでよい部分(データの内容など技術に依存しない部分)は更新せずに済むように、データ・プログラム・アルゴリズムインターフェイスといったものをきちんと切り分けておく、といったことが重要になっていくのではないかと思います。特に文化資料・学術資料の場合、今のところは、プログラムやアルゴリズムに比べてデータ作成に時間と手間が大きくかかるという状況ですので、特に、良き「デジタルアーカイブ(ズ)」の構築を目指すなら、データの持続性をなるべく保ちつつ、プログラムやアルゴリズム、あるいは、特にインターフェイスについては、なるべく使いやすいものを提供できるように、技術の進展にあわせて入れ替えていけるようにしていくのが肝要ではないかと思っているところです。

 とはいえ、そういう体制を作るのは難しく、それでもいつか、えいやっとIIIFに踏み込まなければならない(=IIIF対応としてシステム発注する)時が来る場合もあると思いますが、その意味では、そろそろ大丈夫なのではないかと思います。

 

 最後、途中からですます調になってしまって若干読みにくいかもしれませんが、ご容赦ください。それから、まだあまりピンとこない関係者の方がおられましたら、また別な説明の仕方を考えて見ますのでお知らせくださいませ。

仏教関連の図像データベースがIIIF対応で公開されました。

SAT大蔵経テキストデータベース研究会(代表:下田正弘東京大学教授)より、大正新脩大藏經図像データベース:SAT大正蔵図像DB(ベータ版)がIIIF(International Image Interoperability Framework)対応かつタグ検索機能付きで公開されました。

 

今回データベースとして公開されたのは、大正新脩大藏經全100巻のうち12巻を占める、図像とその解説を主とした部分で、「図像部」「図像編」などと呼ばれているものです。正式なご紹介については、上記URLのサイトにアクセスすれば表示されると思いますのでそちらをご覧ください。こちらのブログでは、使い方と技術面の話を少し書いてみます。

 

高画質画像とページ画像内の各図像へのタグ付与をテーマとして進めてきたプロジェクトでしたが、運の良いことに、このブログで何度か採り上げてきたIIIFが、ようやくきちんと使えるようになり、こういった利用に比較的適しているMiradorというビューワも出てきましたので、これに全面的に対応しました。

裏話はともかく、まずは使い方の解説です。

 

はじめの画面

最初のページにアクセスすると、ご紹介文のウインドウが表示されます。このウインドウを下までスクロールして閉じると、最大サイズ(6000万画素画像を25枚つなげたものです)の曼荼羅をご覧いただけるようになっています。まずは拡大縮小してみて、スムーズにできるかどうか試してみてください。スムーズにできなければ、サーバが混雑しすぎているか、手元のネットワーク回線がちょっと無理だと言っているかのどちらかです。

f:id:digitalnagasaki:20160519030706p:plain

 

普通にページめくりで閲覧

普通にページをめくって見ていく場合は、ページの上部に「第1巻」「第2巻」というリンクが用意してあるのでそちらをクリックしてください。あるいは、ビューワMiradorの左上のボタンをクリックして「新しいオブジェクト」を選んでいただくと、このシステムに登録されている画像群(マニフェスト)のリストが表示されます。いずれかをクリックするとそのマニフェストが表示されるようになっています。マニフェストを表示すると下図のようになります。下部にずらっとならぶサムネイルにマウスカーソルをあわせると、そのページが含まれる文献のタイトルがポップアップ表示されますので、必要に応じて確認してください。

f:id:digitalnagasaki:20160519030448p:plain

 

画像につけられたタグを検索

SAT大正蔵図像DBでは、タグを検索できます。また、有名な名称はローマ字表記等でも検索できます。たとえば「bishamon」の検索結果は以下のようになります。タグ付けの対象となった画像が切り出されて表示されます。(IIIF Image APIを使っています)そして、ページ番号のところをクリックすれば、その画像が含まれるページを開けるようになっています。

 

f:id:digitalnagasaki:20160519030759p:plain

 

大きなサイズでヒットした画像を確認

検索結果画面の画像をクリックすると、下記のように拡大表示されます。単に大きいサイズで確認しただけの場合はこれが便利です。カーソルの左右キーや画面左下の矢印キー等で、この検索結果画面の画像を順次見ていくことができます。

f:id:digitalnagasaki:20160519031114p:plain

 

複数の画像をそれぞれ拡大縮小できるように並べて表示

検索結果画面のチェックボックスをクリックすると、小さなカートが表示されて、そこに小さなサムネイル画像が表示されます。これは、チェックボックスをクリックするたびに小さなサムネイル画像が追記されていく仕組みとなっています。ここから削除したい場合は画像をクリックすれば削除されます。ひととおり、並べて閲覧したい画像を選んだら「並べて表示」ボタンをクリックすると下記のように並べて表示されます。それぞれのウインドウで拡大縮小されますので、気になる画像の周囲の状況を確認するときなどにも便利だと思います。

 

f:id:digitalnagasaki:20160519031149p:plain

 

タグで検索(その1)

画像上のタグ付けされた箇所にカーソルをあわせると、タグの内容が下図のように表示されます。ここのタグではきちんとつけたものではないので情報が少ないですが、「邪鬼:複数」をクリックすることで、「複数の邪鬼を台座にしている図」で再び検索をすることができます。

f:id:digitalnagasaki:20160519031157p:plain

 

タグで検索(その2)

しかし、ヒット数が少ないとちょっと残念なので、別の図像のタグをみてみます。そうすると「山型宝冠」というタグがついていますので、これをクリックしてみます。

f:id:digitalnagasaki:20160519031202p:plain

 

タグ検索の結果

下記のように、山型宝冠を頭につけている図像が検索結果表示されます。

 

f:id:digitalnagasaki:20160519031208p:plain

 

画像を並べて表示する準備(再)

上記にて説明したように、複数の画像を並べて表示してみましょう。まずは下記のように、準備からです。各検索結果図像の下についているチェックボックスをクリックするとカートに小さなサムネイル画像が追加されていきます。

f:id:digitalnagasaki:20160519031207p:plain

 

画像を並べて表示

再び、「並べて表示」ボタンをクリックすると下記のようになります。ただし、サーバ負荷が高い状態のときなどは若干反応が鈍いことがありますので、ご注意ください。

f:id:digitalnagasaki:20160519032437p:plain

 

当該ページが含まれる書籍のタイトルの確認

表示している画像がどの書籍に含まれているのかを確認するためには、まず、画面の下記の部分に注目してください。「…」となっている箇所をクリックすると…

 

f:id:digitalnagasaki:20160519032441p:plain

下記のようになりますので、既出ですが、マウスカーソルをサムネイル画像にあわせると書籍タイトルがポップアップするという風になっています。

 

f:id:digitalnagasaki:20160519032444p:plain

 

終わりに

さて、ここまで、いかがでしょうか。日本美術史のみなさまが大変頑張ってくださったおかげで、試験的な公開にしてはなかなか良い感じになっていると思います。

 システム構築は、IIIFに準拠したことで、既存のビューワやサーバソフトをはじめ、様々な面でメリットを享受しています。

 全体として、まだ改善の余地が大きいので、みなさま、ご意見・ご感想・ご協力などいただけますと幸いです。

 

今後とも、よろしくお願いいたします。

今まさに広まりつつあるデジタルアーカイブの国際規格IIIFの導入の仕方

前回の記事では、IIIFについて、主にユーザ側の視点から、良くなりそうなことを簡単にご説明しました。今回は、IIIFの導入の仕方についてちょっとご紹介したいと思います。

 

一昨日開催された人文科学とコンピュータ研究会で、10分だけ、IIIFをご紹介する機会をいただいたので、研究者としてこれと付き合うとしたらどういうポイントがあり得るか、という視点からちょっとご紹介をしました。その中で使ったスライドの図を、まずは以下に掲載します。

 

f:id:digitalnagasaki:20160516015416j:plain

 

要するに、

1.対応画像サーバソフトをインストール・設定する

2.メタデータ等をPresentation APIに従ってJSON-LDに変換する

という2点ができればOKです。では一つずつ下記で検討していきましょう。

 

1.対応画像サーバソフトをインストール・設定する

 まずは、画像にアクセスできるサーバマシン上に、対応画像サーバソフトをインストールして設定します。ただし、これに際しては、場合によっては、画像形式をTiled TIFF画像形式に変換しなければならないことがあります。特に、画像がかなり大きかったり、アクセス数がかなり多く見込まれる場合などです。そこで、ここでは2つのやり方を見ていきましょう。

 

1-1. Loris IIIF Imageサーバ:画像が大きくなくてアクセス数もそれほど多くない場合

 画像サイズが1MB~数MBで、アクセス数もそれほど多くなければ、サーバマシンのスペックにもよりますが、Loris IIIF Imageサーバという、Python製のサーバで大丈夫ではないかと思います。また、実験的に導入してみようという場合も、とりあえずはこれで十分かと思います。

 インストールはPythonにある程度通じていればなんということはないと思うのですが、ちょっとややこしいのが画像の置き場のディレクトリ構成です。設定ファイル loris2.conf の中で

src_img_root = '/opt/imagefiles/'

とした場合、

/opt/imagefiles/NIJL0008/NA4-0644/NA4-0644-00007.jpg

という画像が、下記のURLでアクセスできることになります。

http://www2.dhii.jp/loris/NIJL0008/NA4-0644/NA4-0644-00007.jpg/full/full/0/default.jpg

 (初めてインストールした時はこの関係がよくわからなくて、インストールに成功したかどうかすらよくわからず、ちょっと時間をつぶしてしまいました)

 

1-2. IIP Image サーバ:画像が大きかったりアクセスが多そうな場合

 一方、ファイルサイズが大きい場合(目安は10MB~?)、あるいは、アクセスがかなり多く見込まれる場合、IIP Image Serverを使っていただいた方が良いかもしれません。こちらはインストールがちょっとややこしいので、公式サイトのインストールガイドに加えて、私が書いたインストールガイドもご覧ください。特にCentOS環境なら、私のインストールガイドだけでもインストールできると思います。Debian系の場合も、注意点(バイナリをインストールしてもIIIF対応バージョンがインストールされない、等)は共通するところがあるようですので、一応目を通しておいていただくとよいと思います。

 こちらの場合は、上記のインストールガイドにも書いてあるように、タイル形式画像を用意する必要があり、お金がなければTiled Tiffしか選択肢がないので、結果的に、ちょっとストレージをたくさん必要とすることになります。この点、ちょっと注意が必要です。

 

さて、画像サーバのインストール・設定が終わったら、次はPresentation APIへの対応、つまり、JSON-LDファイルの作成です。

 

2.メタデータ等をPresentation APIに従ってJSON-LDに変換する

 これは特に難しいことはありません。既存のメタデータと、画像の入っているディレクトリがあれば、あとは、Presentation APIに従って、JSON-LDファイルを作っていくだけです。ただし、ここで、上記のIIIF対応画像サーバによって使えるようになる Image APIに準拠した画像のURLが必要になりますので、手順としては、画像サーバインストールが先に必須になります。

 ファイルの作り方については、たとえば私の場合、PHPで、同内容の連想配列を作ってから

json_encode(連想配列, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT)

などとしています。「とりあえずIIIF対応ビューワに読み込ませて動作する」というレベルのものについてはこちらを参考にしてみてください。このPresentation API準拠のJSON-LDファイルが IIIF Manifest等と呼ばれるものになります。ここでは「マニフェストファイル」と呼んでおきましょう。

 

 基本的な考え方としては「キャンバス」を集めたものが「マニフェスト」です。このマニフェストが一つの本とか作品等にあたります。

 マニフェストから上位の概念を見ていくと、マニフェストを集めたものが「コレクション」で、コレクションはさらに集めて上位の「コレクション」とすることもできます。コレクションの例はたとえばこんな感じです。

 一方、マニフェストから下位の概念を見ていくと、「キャンバス」が、画像やアノテーション等を載せるための仮想的な概念(コンテナ)として用意されています。この「キャンバス」の順番を決める「シーケンス」があり、さらに、キャンバスを「章」のような形で少しずつまとめていく「ストラクチャー」も用意されています。ただし「ストラクチャー」については、きちんと実装されているビューワはハーバード大学版Miradorくらいしかみたことがありません。先週この開発者にお会いしたので聞いてみたところ、近々Miradorの正式版にもこの機能が取り込まれるとのことでした。

 

 ちなみに、私は画像上にアノテーションを付ける目的があってIIIFとMiradorにちょっと入れ込んでおりまして、ごく近いうちに、その機能を活用した画像データベースを公開する予定です。アノテーションの付け方は、前回の記事にも書きましたが、たとえばこういうマニフェストファイルを作って(このファイル中の http://www2.dhii.jp/loris/NIJL0008/NA4-0644/p5 の「otherContent」に注目してください)、これに対してアノテーションのファイルはこんな感じになります。IIIF対応画像ビューワMiradorでの実際の利用例はこちらです。Media Fragments URIがここできちんと活用されるようになっていることに感涙することしきりです。

 

f:id:digitalnagasaki:20160428184604j:plain

 

 

 

<実際にマニフェストファイルをIIIF対応ビューワに読み込んで確認してみましょう>

 

さて、JSON-LDによるマニフェストファイルができたら、あとはこれをビューワに組み込むだけなのですが、代表的なビューワは、いずれもマニフェストファイルのURLを入力すればそのマニフェストに含まれる画像やメタデータを表示してくれるようになっており、さらにMiradorに至っては、上記のようなアノテーションまでも表示してくれます。

  マニュフェストファイルをビューワに読み込ませる方法ですが、Universal Viewerはリンク先をみていただけば一目瞭然で説明の必要はないと思います。あるいは、公式サイトでは、いきなりマニフェストファイルのURLの入力を要求されるようになっています。ただしこちらは、アノテーションの表示がまだできないようです。Universal Viewerはマルチメディアコンテンツを色々表示できるように拡張に取り組んでいるそうです。

 Miradorの方は微妙にわかりにくく説明を必要とすると思うので、一応、下記に説明をしておきます。たとえば、こちらの例の場合では、画面の左上の方に用意されいているアイコンをクリックすると…

f:id:digitalnagasaki:20160516030230p:plain

 

下記のようなメニューが現れますので、「新しいオブジェクト」を選択します。

 

f:id:digitalnagasaki:20160516030231p:plain

 

そうすると、右上に「URLで新規オブジェクト追加」という項目が表示されて入力欄が出ますので、ここにマニフェストファイルのURLを入力して「Load」をクリックします。そうすると、そのマニフェストファイルのコンテンツが表示されるようになっています。

f:id:digitalnagasaki:20160516030234p:plain

 

 ここまでできたら、IIIF対応はできた、と言っても大丈夫ではないかと思います。

 

 

 

さて、せっかくIIIF対応マニフェストファイルを用意できたのですから、自前でビューワを用意してそこに読み込ませたい、という気持ちが出てくるのは当然かと思います…が、それはまた次回に、ということで。

 

今、まさに広まりつつある国際的なデジタルアーカイブの規格、IIIFのご紹介

※IIIFの情報を求めてこちらに来られた方は、「IIIF日本語情報私的まとめ」もご覧ください

 

現在、デジタルアーカイブにおいて画像を公開し共有するための国際的な枠組みが作られ、採用が広まりつつあります。International Image Interoperability Framework、略してIIIF(トリプルアイエフ)というもので、英国図書館、フランス国立図書館オックスフォード大学ボドリアン図書館、スタンフォード大学プリンストン大学、イェール大学など、錚々たる機関が始めた規格で、国立国会図書館のカレントアウェアネスポータルでも何度か簡単に紹介されているようです。

 これまで、デジタルアーカイブに関する大きな難点の一つであった、「各地のデジタルアーカイブで個別に公開されて、いちいちそれぞれのサイトの使い方を覚えなければならず、使い勝手も善し悪しが大きく異なる」という状況が、IIIFの登場と普及によって、ようやく、そして一気に解決しようとしています。

 

 つまり、画像データやそれに対する注釈情報等のコンピュータ間でのやりとりの仕方を各機関の間で一元化することによって、利用者が色々な使い方を自由に選べるようにする、という状況がもたらされようとしているのです。

 

 このブログでは、何度か、その仕組みの裏側についてご紹介してきましたが、今回は、普通の利用者にとってIIIFがどういう風に作用することになるのか、ということに焦点をあててご紹介していきたいと思います。(一応、技術的な事柄が中心になりますが、技術的な事柄がよくわからないという人も、いきなりこのページを閉じないで、とりあえず、下記の紹介画像だけでも見ていっていただいて、雰囲気だけでも感じていただけたらと思います。)

 

ここまで何度か、IIIF Image APIについて採り上げつつ、IIPImage Serverのインストールについてのご紹介などをしてきました。(詳しくは過去記事をご参照ください)IIIF対応画像サーバのインストールは必須なので押さえておかねばならないのですが、ここでは、これを踏まえた上でのIIIF Presentation APIのご紹介、ということになります

 

基本的には、

 

・世界中のどこのデジタルアーカイブの画像ファイルでも、その情報を自分のビューワに読み込ませるとそれを表示してくれる。

 

ということに尽きます。しかし、これは決して当たり前のことではなくて、私も長年夢見てきたことに向けた大変大きな一歩が踏み出されたというところがすごいところなのです。もう少し言い方を変えてみると、

 

・IIIF Presentation APIに沿った形式のJSONファイルで画像ファイルの情報をサーバに置いておくとどこのどのビューワでも自由に表示できるし画像上に注釈を付けたりすることもできる。

 

という風になります。

 

さらにこれを利用者目線に寄って見みてみると、

 

IIIF 準拠で画像公開されていれば:

  • いくつかの選択肢の中から好きなビューワを選んで使える
  • どこのサーバで公開されていても一つのビューワの中で一元的に扱える

 

というような感じになります。

 

さて、ビューワですが、今回は MiradorUniversal Viewerを試してみました。いずれもフリーソフトですが、かたやスタンフォード大学ハーバード大学UCLA、など、かたや英国図書館やウェルカムライブラリなど、いずれも大手の関係機関が関わっているもののようです。他にもいくつかよさそうなフリーソフトがありますが、とりあえず今回はこの二つに圧倒されてみましょう。

 

IIIF Presentation APIでは、何度も書いていますが、一定の書式に従ってJSONファイルを作成することが前提です。これを読み込むことで、サーバがどこにあっても、手元のビューワに画像を読み出せるようになっています。JSONファイルは、たとえば、下記のような感じです。

http://oculus-dev.harvardx.harvard.edu/manifests/via:olvwork576793

http://dms-data.stanford.edu/data/manifests/BnF/jr903ng8662/manifest.json

http://www2.dhii.jp/nijl/NIJL0003/049-0197/manifest.json

これだけ見ると難しそうでわけがわからん、という人もおられると思いますが、基本的には機械的に生成できますので、いちいち手で書く必要はありません。今回、国文研データセットに関してはちょっとプログラムを作って350ファイルを自動生成しました(まだ記述が完全ではありませんが、書式は正しく、動作もきちんとします)。なお、エラーチェックに関しては、簡単なバリデータがありますので、これで確認しながら進めるとよいかと思われます。(バリデートされたからといって必ず動作するとは限らないので要注意ですが)

 

とりあえず、これをいつもの国文研オープンデータセット簡易Web閲覧のページから個々にダウンロードできるようにしておきました。「IIIF manifest」というリンクをクリックするとJSONファイルが開きますが、これを開いても仕方がないので、URLをコピーして、IIIF対応ビューワに読み込ませるなどとして、適宜ご利用ください。(IIIF manifestファイルをここで入手できる、ということを覚えておいてください。)

 

f:id:digitalnagasaki:20160428174559j:plain

 

それから、このページにはhttp://www2.dhii.jp/nijl_opendata/iiif.pngというアイコンが登場していますが、これはIIIF対応ビューワにドラッグ&ドロップするとその画像セットを閲覧できるようになる、というアイコンです。そして、このアイコンの隣に「UV」というリンクがありますので(上記画像には出ていませんので当該ウェブページにて直接ご確認ください)それをクリックするといきなりUniversal Viewerでファイルを開くことができます。たとえば以下のような感じです。

 

f:id:digitalnagasaki:20160428171410j:plain

 

このビューワは、今の段階ではまだ普通のビューワです。とりあえずあちこちクリックしたりしてみて機能を確認してみていただけますとよいかと思います。

特にこのビューワで面白いのは、「今見ている領域をそのままURLにして共有できる機能」です。

 

f:id:digitalnagasaki:20160428171505j:plain

 

画像閲覧中に左下のアイコンをクリックすると上記のような表示になりますので、サイズを選んだりしつつ、表示されているURLのみ、あるいはHTMLタグごとコピーして適宜利用して、表示中の領域を再現できるようになっています。この機能は、我らがe国宝でかなり以前から提供されてきているので既視感がありますが、このようにして簡単にどこでも実装できるようになると、これはこれで今後の展開が楽しみなところです。

 

それから、先ほどご紹介したIIIF ManifestファイルのURLを読み込ませて表示させる、という機能をUniversal viewerは持っています。画像表示画面の下の方にURLを書き込む場所がありますので、そこにIIIF ManifestファイルのURLをコピペするなどして「Set」をクリックすればOKです。ちょっと時間がかかることや、公開元によってはサムネイル画像がうまく表示されないことなどがあるようですが、国文研データセットのIIIF Manifestファイルでは、確認した限りでは、普通に表示されるようです。

 

f:id:digitalnagasaki:20160428171531j:plain

 

ここまで見ていただけば、「各地で公開されている画像を一元的に扱える」というのは大体ご理解いただけたかと思いますが、これだけではちょっとインパクトに欠けると思います。そこで次にご紹介したいのがMiradorです。

 

まず、下記の2件の表示を見てください。これです。これが、IIIF対応している画像であればどれでもできるのです。しかも、フリーソフトで。

f:id:digitalnagasaki:20160428153857j:plain

f:id:digitalnagasaki:20160428170243j:plain

 

さて、では、Miradorについて見ていきましょう。まずはデフォルトのページをご覧ください。ここで大きな十字が表示されると思います。この十字をクリックしてください。そうしますと、下記のように、登録されている各資料がずらっと表示されるはずです。

 

f:id:digitalnagasaki:20160428153551j:plain

 

ここでいずれかの資料や画像をクリックすると、ビューワに表示されます。

それから、ここには表示されていないけど使いたい画像があってIIIF ManifestファイルのURLを知っているという場合は右上の空欄にそのURLを書き込んで「Load」をクリックするとこの一覧にその資料が追加されます。

 

ビューワに表示されると下図のようになりますが、これは普通の拡大縮小可能なビューワですので(内部的にはOpenSeadragonのようです)、特に変わったところはありません。

 

f:id:digitalnagasaki:20160428153645j:plain

 

このビューワ画面の右上に注目していただきますと「レイアウト変更」というリンクがあります。これをクリックしますと下記のような画面になって、1つのページ内に表示できる画像数を設定できるようになります。

 

f:id:digitalnagasaki:20160428153753j:plain

 

とりあえず、1×2を選択すると下記のようになります。これで、先ほどと同様に「アイテム追加」をしていただくと、他の資料を選択できるようになりますので、適当に選択してみてください。そうすると、2つの図を並べて表示できるようになります。

 

f:id:digitalnagasaki:20160428153811j:plain

 

最初から複数の画像を並べて表示させることもできます。寛政武鑑だけを最初から並べて表示できるようにしてみたのがこちらのURLです。下記のようになるはずです。

f:id:digitalnagasaki:20160428170823j:plain

 

さらに追加していくと、下図のように6つの寛政武鑑を並べたりすることもできますのでお試ししてみてください。

f:id:digitalnagasaki:20160428170243j:plain

 

ちなみに、ちょっと動作が遅い…と思われた方もいらっしゃるでしょう。それは、国文研データセットのIIIF画像配信サーバソフトがあまり速くないものであることと、そのハードウェアももう5歳になってしまっているためかと思います。機会があれば、もう少し速いものに置き換えたいと思っております。

 

それから、この仕組みでは、Open Annotationを採り入れており、Media Fragments URIに準拠した形でアノテーションもできます。たとえばこんな感じです。これは、manifestのjsonファイルとは別のファイルとして作成する必要があり、manifestファイルから参照する形になります。annotationファイルの例はこちらです。なお、annotationファイルは「list」というディレクトリに入っていなければならないようで、Presentation APIの仕様書にはきちんと書いてありますが、よく読んで取り組んでください。

f:id:digitalnagasaki:20160428184604j:plain

 

 

というわけで、この数日の苦労を惜しげもなく開陳してしまったわけですが、あまりに圧倒されたので、とりあえず日本の皆様にもこれをよく知っていただきたい、というか、フリーソフトを組み合わせるだけでちょっと時間をかければどこでも使えるようになる、そして、ここまでのことができるようになっている、ということをお知らせしなければと思ったのです。

 

このような枠組みに、世界中の多くのデジタルアーカイブ公開機関が賛同し、協働で新しい世界を構築しようとしているようです。参加機関のリストを見るだけでもかなり圧倒されますが、ここにリストされていない大型機関でもIIIF対応を進めているところがあるようで、少なくとも2箇所、知っております。そのようなことで、日本の関係機関の皆様におかれましても、この枠組みにうまく乗っていただけたらなあと、そして、システムを開発・提供する企業の皆様におかれても、うまく対応していただけたらなあと思うところです。

 

それから、本件については、特に  @2SC1815J さんにいくつか重要なご教示をいただきまして、それがなければこんなに早くできることはなかっただろうと思います。感謝すること至極です。

 

最後に、この件について色々検討したりされる方々の資料作成が少しでも容易になるように、例示したURLやその他役立ちそうなURLを掲載しておきます。

 

規格関連

IIIF Presentation API

Media Fragments URI

IIIF Image API

 

周辺情報

IIIFコミュニティに参加しているデジタルアーカイブ公開機関のリスト

IIIF対応ビューワ Mirador

IIIF対応ビューワ Universal Viewer

IIIF対応ソフト一覧

 

ハウツー

IIPImage Serverのインストールについてのご紹介

 

IIIFの事例

国文研オープンデータセット簡易Web閲覧

Universal Viewerによる事例

Miradorのデフォルトのページ

Miradorでアノテーションをつけた事例

Miradorで寛政武鑑を並べて表示する事例

Miradorで国文研データセット「日本文学」を表示する事例

Miradorで国文研データセット「芸術・諸芸等」を表示する事例

 

実際のJSONファイルと作成支援ツール

ハーバード大学で公開しているIIIF ManifestのJSONファイル

スタンフォード大学で公開しているIIIF ManifestのJSONファイル

国文研データセット用のIIIF ManifestのJSONファイル

IIIF Presentation API用に今回作ったアノテーションのJSONファイル

IIIF Presentation APIのための簡単なバリデータ

 

 

 

 

 

 

 

 

IIIF対応URLで古典籍から画像や文字を切り出せるように!(日本の古典籍のオープンデータ!その4)

今回はまず、冗漫な話は後回しにして、先に要件から行きます。

 

ここしばらく時々記載している国文研オープンデータセットの活用例シリーズ、「日本の古典籍のオープンデータ!そのn」ですが、IIIF対応画像切り出し用URL、というのを簡単に作れる様にしてみました。例によって、国文研データセット簡易Web閲覧への機能追加という形で実現しました。(が、バグ等もあるかもしれませんのでご注意ください)

※IIIFは、現在、海外の主要な大規模デジタルアーカイブ公開機関が共同で取組んでおり、採用が広がりつつある、デジタルアーカイブにおける画像共有のためのルール(ここではAPIと呼ばれています)です。詳しくは過去記事をご参照ください。

 

さて、今回は、国文研データセット 絵本松の調 14でお試ししてみます。

 

1.新たにボタンが登場していますので、まずはそれをご確認ください。(※最初は、ページのロードが完全に終わるまで、一息、お待ちください。読み込み途中で作業を始めるとバグることがあるようです)

f:id:digitalnagasaki:20160423035336p:plain

 

2.このボタンをクリックすると、ボタンがオレンジ色になって、ズームが止まり、代わりに、画像上で長方形での選択をできるようになります。適当にズームインして切り出したい箇所を少し大きくしてからこのボタンをクリックしてみましょう。

f:id:digitalnagasaki:20160423035341p:plain

 

3.そこで、画像上でドラッグして長方形の選択をすると、ボタンが二つ現れますので、とりあえず試しに左側のボタンを押してみましょう。なお、長方形がずれてしまった時は、枠線についている黒い四角をドラッグすると修正できます。

f:id:digitalnagasaki:20160423035342p:plain

 

 

4.そうすると、切り出された画像が長辺500pxで表示されます。フルサイズのURLも用意してあるので「リンクアドレスをコピー」などでコピーしていただくとそのまま使えます。

f:id:digitalnagasaki:20160423035355p:plain

 

5.フルサイズの切り出しURLだとこんな感じです。

http://www2.dhii.jp/loris/NIJL0008/NA4-0644/NA4-0644-00013.jpg/pct:59.277,45.032,10.167,21.822/full/0/default.jpg

なお、詳しいURLのいじり方は本家IIIFのサイトのImage APIの解説をどうぞ。URLをさらにいじると、傾けたりひっくり返したり拡大縮小したり、色々なことができます。

 

f:id:digitalnagasaki:20160423035356p:plain

 

個々の確認はしてませんが、多分、国文研データセット簡易閲覧システム上のすべての画像がこれに対応できると思います。画像切り出しURLはツィッターに貼り付けたりしたら面白いかもしれませんので、ぜひ色々ご活用ください。

 

 

さて、ついでに少し背景の解説もさせていただきますと、まず、今回もすべてフリーソフトによって構築されています。一晩でできました。少し前に導入したPythonベースのIIIFサーバlorisを利用しつつ、OpenSeadragonのselectionプラグインというのがありまして、これを使って画像上で選択ができるようにしたものです。このプラグインでは、オリジナルの画像サイズを基準にしたピクセル値で切り出し位置と切り出しサイズを伝えてくれるのですが、IIIFは相対値で扱うので、相対値への変換が必要になります。簡単かと思ったら、OpenSeadragonでの「今見ている画像の」オリジナルの画像サイズの仕方がどうしてもわからず(絶対どこかに値を持っていると思うのですが)、結局、とても恥ずかしいやり方で、何はともあれ取得はできた、という状態です。XML様々です。(これを調べ始めて挫折するまでに4時間くらいかけてしまったので、その時間を省くと実際に開発に要した時間は3時間くらいでしょうか。)OpenSeadragonの標準APIで「今見ている画像の」オリジナルの画像サイズを取得できる手法をご存じのかたがおられましたらぜひご教示ください。(この件はプラグインはナシでお願いします)

 

実は、国文研データセットの画像の方でやろうと思っていたことは、これでようやく一通り終わりました。どれもこれも荒削りなままですが、「こういうデータが公開されるとこういうことができる」ということを知っていただくには、まあそれなりにお役に立つだろうかと思います。それから、もっと国文学に強い思い入れのある人や、そういう人が率いるチームが、これを横目に見つつ、さらに良いものを作ってくださることを期待しております。

 

それから、すでに、国文研特任助教の松田訓典氏が、この仕組みをもっときちんと活用した画像タグ付けシステムを開発しておられ、すでに実用レベルに達しているようですので、いずれ、それを用いた使いやすい仕組みが公開され、皆で使えるようになっていくことだろうと期待しております。

 

私が書いたソースコードは基本的に適当に書いているのでオープンにするには恥ずかしく、また、所詮文系のDIYプログラマが書くようなものですので特にお役に立てるようなことはあまりないと思いますが、もし本格的に取り組むにあたって参考にしたいという人がおられたらソースコードをお譲りしますのでお声がけください。

 

本当は、私の仕事はテキストの方なので、いずれは全文テキストの方もいじってみたいと思っています。ただ、このところ、ちょっと大がかりな画像データベースを作らなければならない状況になっていて、このところの一連のIIIF関連の作業はそこにつながっていきます。国文研オープンデータセット簡易閲覧システムは、その副産物的なものということもできるかと思います。後になってみたら、ああ、なるほど、と思ってくださる方もおられるだろうと思います。

 

今夜作った仕組みは発表原稿には間に合いませんでしたが、一連の国文研データセット簡易Web閲覧に関する開発の話は、5/14に筑波大学春日キャンパスで開催される、情報処理学会人文科学とコンピュータ研究会で発表する予定です。秋葉原駅から45分、つくば駅から歩いて10分くらいのところです。もし本件についてご興味がおありで、お時間がおありの方は、ぜひお越しください。なお、この研究会は、典型的な学際系研究会で、文系でもあって理系でもあるような、不思議な空間で、どちらの立場からの議論も大歓迎です。今回は、国文研の日本語典籍の大型プロジェクトやくずし字に関わる発表が3件、漢字研究関連の発表が3件、舞踊が2件、オペラ関連が1件、それに加えて、東西外交史、日本語マイクロクラウドソーシング、と、なかなか多彩な陣容になっています。さらに、情報知識学会と共催ということで、図書館・博物館方面からの発表なども加わるようです。

 

 

 

IIIFを使ってみたい人のためのIIPImage Serverインストール記(簡易版)

本日、「国際的なデジタル画像の相互運用の枠組み、IIIFのためのサーバを導入してみたので簡単にご紹介」という大変冗長な記事を書いたのですが、雑談や脱線が多すぎて、インストールが難しいのではという印象を一部に持たれてしまったかもしれないと思いまして、実際に必要(そう)な作業のみに絞り込んだものを以下に書いておきます。

 

IIIF(International Image Interoperability Framework)の目玉(の一つ)であるImage APIを使えるようにするために必要なのは、

1.サーバソフトのインストール

2.ピラミッド型タイル画像ファイルの用意

の2点です。それぞれ以下に方法を書いていきますと、

 

1.サーバソフトのインストール

 

今回は、CentOS7に、動作速度が速そうなIIPImage Serverをインストールしました。まず、準備として、fcgiを使えるようにするモジュールをインストールしておきます。

$ sudo yum install mod_fcgid

次に、ソースコードiipsrv-1.0.tar.bz2をダウンロードします。

次に、これを展開して、

$ tar xjvf iipsrv-1.0.tar.bz2

$ cd iipsrv-1.0/

$ ./configure

$ make

$ sudo make install

とするとiipsrv.fcgiができます。もし、./configureが通らない時は、適宜yumで*-develパッケージをインストールしてください。make installまで終わったら、これを設置するディレクトリを作ってそこに設置します。

$ sudo mkdir /var/www/iipsrv

$ sudo cp ./src/iipsrv.fcgi /var/www/iipsrv

次に、設定ファイルを作ります。

$ sudo vi /etc/httpd/conf.d/iipsrv.conf

 

iipsrv.confの内容はとりあえず下記のような感じで動きました。

--------------------------------------------------------

ScriptAlias /iipsrv /var/www/iipsrv/iipsrv.fcgi

# Set our environment variables for the IIP server
FcgidInitialEnv VERBOSITY "6"
FcgidInitialEnv LOGFILE "/tmp/iipsrv.log"
FcgidInitialEnv MAX_IMAGE_CACHE_SIZE "1500"
FcgidInitialEnv JPEG_QUALITY "100"
FcgidInitialEnv MAX_CVT "8000"

FcgidInitialEnv CORS "*"
FcgidInitialEnv FILESYSTEM_PREFIX "公開用画像ディレクトリのトップ"

-----------------------------------------------------------

 

「公開用画像ディレクトリのトップ」は、ピラミッドタイルTIFFファイルが置かれているディレクトリのトップを書いておきます。たとえば/opt/images/の下に01, 02, 03...というディレクトリがあって、そのさらに下にピラミッドタイルTIFFファイルが置かれている(=画像ファイルのパスが「/opt/images/01/0001.tif」等)という場合には、「/opt/images/」を書いておきます。その他の設定の意味と値については詳しくはこちらをご参照ください。たとえば、MAX_CVTピクセル単位で書いて送出する画像の最大サイズを制限します。

 

一通り終わったら、CentOS7ですので

# systemctl restart httpd.service

とすればサーバソフトは動作します。

http://Webサーバホスト名/iipsrv/iipsrv.fcgi

にアクセスして、IIPサーバが動作しているというページが表示されるかどうか確認してみてください。もし表示されないようなら、ディレクトリのアクセス権限等を確認してみてください。

 

2.ピラミッド型タイル画像ファイルの用意

ピラミッド型タイル画像ファイルを用意するにあたっては、ImageMagickさえあれば大丈夫のようです。たとえば 0001.jpgという画像があったとしたら、

$ convert 0001.jpg -define tiff:tile-geometry=256x256 -compress jpeg 'ptif:0001.tif'

とすれば作成できます。あとはこれをシェルスクリプトなどで適当に回せばOKですが、とりあえず動作確認のため、一つの画像だけで試してみましょう。このファイルは、上記の場合には/opt/imagesディレクトリ以下に置いてください。

$ cp 0001.tif /opt/images/

などとすればよいでしょうか。

 

その後、下記のURLにアクセスして

http://Webサーバホスト名/iipsrv/iipsrv.fcgi?IIIF=/0001.tif/full/full/0/default.jpg

画像の全体が表示されたらOKです。次に、たとえば以下のような感じで、URLに応じて色々表示の仕方が変化する様を試してみてください。詳しくは本家サイトのImage APIの解説をどうぞ。

http://Webサーバホスト名/iipsrv/iipsrv.fcgi?IIIF=/0001.tif/pct:60,65,18,23/800,/0/default.jpg

ここまでできたら、サーバの設定はもう終わりです。あとは、/opt/images/以下に、ピラミッド型タイル画像に変換したファイルを置いていけば、IIIF Image APIに対応した画像としてアクセスできるようになりますので、適宜画像作成して置いていってください。

 

ちょっと間違っているところがあるかもしれませんが、一応、これで動いたという最小限のことに関して、ご報告させていただきました。

 

 

 

 

 

 

国際的なデジタル画像の相互運用の枠組み、IIIFのためのサーバを導入してみたので簡単にご紹介

さて、最近は国際的なデジタル画像の相互運用の枠組み、IIIFというプロトコルのようなものが世界のデジタル画像データベース界(?)を席巻しております。以前にも少しご紹介しましたが、「スコットランド国立図書館、IIIFコンソーシアムに加盟 | カレントアウェアネス・ポータル」というカレントアウェアネス・ポータルの記事にもあるとおり、

オックスフォード大学ボドリアン図書館、英国図書館(BL)、スタンフォード大学図書館、バイエルン州図書館、コーネル大学、フランス国立図書館BnF)、ノルウェイ国立図書館プリンストン大学図書館、ウェルカム財団、イェール大学(英国美術センター 、バイネッキ貴重書・手稿図書館)の11機関により、2015年6月に創設された

IIIFコンソーシアムによるものです。まさに、錚々たる面々によって開始されたと言って良いのではないかと思いますが…あれ…?しかし、2015年2月にパリで開催されたEuropeana Tech2015の時点ですでにコミュニティ参加機関はもっと多かったし、何より、すでにデファクト標準化しそうな手触りを感じたのだったし…? 実際の所、開発はもっと前から始まっていて、採用機関ももっと前からあった、ということは確かです。「IIIFコンソーシアム」というものが正式に立ち上がるほどまでに充実してきた、ということのようですね。

 

さて、脱線しましたが、脱線ついでに、IIIFコンソーシアム設立の記事を少しみてみますと、

インターネット上の画像ベースの情報資源の多くは、これまでサイロの中に閉じ込められてきたが、IIIFはそういった画像の表示や操作、アノテーションなどの仕方を世界中で共通化できるように支援する

という趣旨のことが書かれています。筆者のように、各地の貴重書デジタル画像をあれこれ眺めてテクスト校訂をしようとしたり、他の人も使いやすくなるようにリンクシステムを作成したりしている身としては大変ありがたく、また、同様のニーズは色々な局面においてあり得るだろうと痛感するところでもあり、特に教育コンテンツ作成においては非常に有益だろうと思います。試しに、この冬に東大文学部/人文社会系研究科で担当させていただく「文化資源デジタルアーカイブ特論」ではこれを全面的に採用した授業を展開してみようかと思って細々と準備中です。

 

 また、すでにいくつかの関連業者さん達はIIIFへの取組みを始めておられるようでうれしい限りですが、まだ始めておられない業者さん達におかれましては、国際的なエコシステムの割と大きな変化になりそうなので、それにあわせてビジネスモデルも含めてうまくやっていただいて、日本のデジタルコンテンツがきちんと国際的な潮流についていけるようにしておいていただけたらと切に願っております。

 

 それはともかく、以前にもこのブログでIIIFについては少しご紹介しましたが、今回は、サーバソフトの導入について少しご紹介したいと思います。以前にご紹介した際は、PythonベースのLorisという割と簡単に導入できるソフトを使っておりました。これは比較的インストールが簡単で、jpeg画像も扱ってくれるので割と色々やりやすいのですが、その代わり、ちょっと動作が遅く、アクセスが集中するとなかなか厳しいものがあるだろうかと思っていたので(とはいえキャッシングもするので同じURLへのアクセス集中は問題なさそうですが)、このたび、いよいよ本格的にIIIFを利用する必要が生じてきたので、もう少し動作の速いものがよさそうだということで、fcgiを使う別のフリーソフトIIPImage Serverを導入してみることにしました。結果的には、ちょっと使ってみている限りではLorisよりも速そうな感じでもあるのですが、導入がなかなか大変で、アマチュアの片手間仕事とするにはまだちょっとはやいかな、という印象を持ちました。もちろん、Githubでガリガリ作業しているようなレベルの方々やプロのエンジニアとしてこういうことに取り組んでおられる方々なら楽勝だと思いますが、私レベルの文系DIYプログラマにはちょっと負担が大きいかなという感じでした。

 

 さて、そのIIPImage Serverですが、高速化のためにfcgiを使って動くのでそれにあわせた環境の用意も必要です。今回は、フリーのLinuxディストリビューションの一つであるCentOS7を使ってインストールを試みました。ご存じのように、CentOS7は著名な商用Linuxディストリビューションの一つRedhatのフリー版という位置づけです。私はRedhatがフリーだった頃からずっと使ってきているので、なんとなくそのまま使っています。ちなみに、Linuxはご存じですね?今やフリーのOSの代表的な存在で、名だたるグローバルIT企業が開発に取り組んでその成果をフリーで公開するというすごい流れになっていて、スパコンランキングでもトップ10はしばらく前からすべてLinuxを採用している、というようなものです。下の方でも、スマホOSの二強の一角、AndroidLinuxベースですし、パソコン用もあって…という感じですが、大きな流れとしてはインターネットサーバ用OSとして長らく愛され着々と改良されてきたOSの一つです。

 

 またまた脱線しましたが、そのCentOS7にIIPimage Serverをインストールして使えるようにすべく、取組みを開始しました。まず、そもそもタイル画像化したTIFFファイルを用意する必要があるようなので、このための準備を…と思って、昨晩やってみたときはImageMagickでうまく作れなかったような気がしたのでVIPSを頑張ってインストールしたのですが(これに4時間くらいかかったのですが)、このブログを書きながらもう一度試してみたらImageMagickでできてしまいました…。(激しくショック)

 

…ということで、気を取り直して、ImageMagickのバージョンが6.4.7-10 以降なら、ピラミッド型タイル画像の作成は可能のようです。確認は

 

$ convert --version
Version: ImageMagick 6.7.8-9 2016-03-31 Q16 http://www.imagemagick.org

などとすればOKです。

 

そして、ピラミッド型タイル画像の作成方法は、下記のコマンドでできました。

$ convert 元の画像ファイル名 -define tiff:tile-geometry=256x256 -compress jpeg 'ptif:ピラミッド型タイル画像ファイル名'

これについてはIIPImageのサイトに解説されているものと同じですのでそちらもご参照ください。本番(?)では、このスクリプトシェルスクリプトで回すなどして必要なファイル変換を自動的に済ませていただくとよいかと思います。

 それから、これは一応jpeg画像からでも作成可能ですが、ファイルサイズが結構大きくなります。たとえば 829K の画像ファイルが3.8Mになってしまったりしましたので、この点はちょっとご注意ください。

 

さて、気を取り直して、サーバソフトのインストールです。ここでまた余談ですが、実はCentOS6にはRPMパッケージが提供されていて、簡単インストールできる、という触れ込みだったので、最初はCentOS6にインストールして設定を試みていました。しかしながら、IIIFのImage API準拠でのアクセスがどうもエラーになってしまうので、ちょっとググってみたところ「あのパッケージはver1.0ってなってるけど実際に使ってるソースはもっと古いようでIIIF対応になってないんじゃないの?」という質問に対して、その通りなのでソースからコンパイルして。パッケージはもうちょっと待ってね、というような身もふたもない回答があって、まあそれならCentOS6にこだわる必要もなく、普通に最新版のOSを使うか、ということでCentOS7でソースからコンパイルすることになったのでした。

 

さて、インストールにあたっては、まず準備として

# yum install mod_fcgid

とやっておいてfcgiを使えるようにしておく必要があります。今回使うWebサーバソフトはApacheです。これが終わったらいよいよインストールです。

 

 ソースはGithubで取れるのですが、私はあまりGithubを使わないので、とりあえずソースファイルをダウンロードして展開してコンパイルしました。

 コンパイルは、公式サイトなどにはいかにも簡単なように書かれているのですが、実際にやってみると、足りないパッケージが結構あって色々インストールすることになりました。お約束ですが、

$ bunzip2 -c iipsrv-1.0.tar.bz2 | tar xvf -
$ cd iipsrv-1.0/
$ ./configure
$ make
$ make install

こんな感じです。configureをすると足りないライブラリについて色々アラートが出るので、いちいち調べて、とりあえずyumでインストールしていきます。*-develというパッケージが色々必要になるので、yumするときは$ yum install 必要なパッケージ名-* などとしてインストールしてしまうと割と樂です。とりあえずconfigureが最後まで通るようになったら、make してmake installです。

iipsrvのmake installまで通ったら、次はいよいよ設定です。今回は仮に

# mkdir /var/www/iipsrv

というディレクトリを掘っておいて

cp ./src/iipsrv.fcgi /var/www/iipsrv/

としておきます。それから、

/etc/httpd/conf.d/iipsrv.conf

などというファイルを作って設定を書いておく必要があります。私はこういうときはviを使うので

# vi /etc/httpd/conf.d/iipsrv.conf

で、内容は例えばこんな感じです。

 

ScriptAlias /iipsrv /var/www/iipsrv/iipsrv.fcgi

# Set our environment variables for the IIP server
FcgidInitialEnv VERBOSITY "6"
FcgidInitialEnv LOGFILE "/tmp/iipsrv.log"
FcgidInitialEnv MAX_IMAGE_CACHE_SIZE "1500"
FcgidInitialEnv JPEG_QUALITY "100"
FcgidInitialEnv MAX_CVT "8000"
FcgidInitialEnv FILESYSTEM_PREFIX "公開用画像ディレクトリのトップ"

 

「公開用画像ディレクトリのトップ」は、ピラミッドタイルTIFFファイルが置かれているディレクトリのトップを書いておきます。たとえば/opt/images/の下に01, 02, 03...というディレクトリがあって、そのさらに下にピラミッドタイルTIFFファイルが置かれている(=画像ファイルのパスが「/opt/images/01/0001.tif」等)という場合には、「/opt/images/」を書いておきます。その他の設定の意味と値については詳しくはこちらをご参照ください。たとえば、MAX_CVTピクセル単位で書いて送出する画像の最大サイズを制限します。

 

それから、画像の置いてあるディレクトリ「/opt/images/」がWebサーバから参照できるようにしておいてください。それと、iipsrv.fcgi を置いたディレクトリ「 /var/www/iipsrv」でfcgiが実行可能になるような設定も必要です。/etc/httpd/conf/httpd.confでのディレクトリのアクセス・権限制御の設定変更はもちろんですが、SELinuxを有効にしている場合は結構大変ですのでご注意ください。

 

一通り終わったら、CentOS7ですので

# systemctl restart httpd.service
とやってWebサーバソフトを再起動します。

 

これで、

http://Webサーバホスト名/iipsrv/iipsrv.fcgi?IIIF=/04/0170.tif/full/full/0/default.jpg

という風にアクセスしてみると、フルサイズ画像が表示されました。(私の場合)

あとは、たとえば下記のように、色々試してみていただくとよいかと思います。

http://candra.dhii.jp/iipsrv/iipsrv.fcgi?IIIF=/test/099-0127-00023.tif/pct:60,65,18,23/800,/0/default.jpg

IIIF Image APIの書き方に関しては過去記事をご覧ください。過去記事と同じ画像に対して同じURLを送ってみると、下記のように、異なるサーバソフト(過去記事ではLoris)でも同じように表示してくれます。

http://candra.dhii.jp/iipsrv/iipsrv.fcgi?IIIF=/test/099-0127-00023.tif/pct:60,65,18,23/800,/0/default.jpg

 

ちなみに、IIPImage Serverは、透かしをオンザフライで入れたりすることもできる結構多機能な画像配信サーバソフトのようですので、IIIFの枠組みのみにとらわれずに色々試してみるとまた面白いかもしれません。

 

次は、なんとかして機会を見つけて、Presentation APIについての記事を書けたらいいなと思っております。あちらはJSONメタデータを用意しておきましょう、という話で、これがどうなるかというと、たとえば最近あちこちでIIIF対応ビューワとして採用が広がっているMiradorでは、各地のサーバのJSONファイルを読み出して一つのビューワに表示できるようになっているようです。また、Presentation APIにはアノテーションやレイヤーなどの仕様も用意されているようですが、うまく実装できているクライアントがあるのかどうかはまだ十分に調査できていません。ちょうど、冒頭で言及したスコットランド国立図書館のサイトで採用されたようですが、Klokan Technologisが作っているビューワも結構多機能な感じなのでちょっと気になっています。

 

ということで、大変雑多なご紹介でしたが、お役に立ちましたら幸いです。