HOME > COLUMN > wwvi > April 1, 1999

wwvi - April 1, 1999

マルチメディアとXML技術 Maps of MAPS

April 1, 1999 [ wwvi ] このエントリーをはてなブックマークに追加

マルチメディアとXML技術
Maps of MAPS

WWVプロジェクト
MAPSブートストラップチーム
檜山 正幸
Thu Apr 01 06:36:13 1999
  • Fri Jan 15 20:18:32 1999 : started
  • Thu Apr 01 06:36:22 1999 : ver. 1
1. はじめに:インターネットとメディアの統合に向けて

  インターネットの爆発的発展のきっかけとなり、そして現在のインターネッ トを支えている技術が、WWW技術であることに異論はないだろう。このWWW技術 は、HTML文書をHTTPプロトコルによって転送するという単純なモデルに基づい ている。この方式の上に、今まで数多くの応用が展開されてきた。しかし、よ り広く豊かな応用のためには、「ファイルのバッチ転送」という既存方式を拡 張する必要がある。有望な拡張の一方向として、テレビやラジオのような「放 送」の機能と形態を取り込むことがある。

  既にインターネット上で小規模放送を行う試みや、既存の放送をインターネッ トを媒介として配信する方式の検討が始まっている。しかしながら、独自個別 的な方式に基づいていたり、十分な相互運用性が考慮されてない例も見受けら れる。また、優れたアプローチであっても複数の基準が存在すれば、長期的に は業界とユーザーにダメージを与えることになる。早期に、新しいビジネスモ デルと技術的な統一方式が登場することが望ましい。

  このような状況と動機から、国際大学グローバル・コミュニケーション・センター 内に、インターネットとメディアの統合に関する研究プロジェクトが設けられた。 このプロジェクトは、World Wide Visionプロジェクトと呼ばれている。

  WWVプロジェクトの目的は、インターネット上のWebと既存のメディア を統合した、新しい情報配信のパラダイムを提唱することである。とはいえ、 この目標はいささか漠然としている。最初の活動目標として、連続メディアを 含む文書形式とその処理モデルを構築することを選んだ。この第一目標(の成 果物)には、MAPS(マップス)という名称が与えられている。この小論は、 MAPSの概要を解説するものである。

2. 連続メディアとは

  我々のプロジェクトでは、 特に、メディアの連続性に注目する。メディアが連続性を持っているとは、 メディアの表現(レンダリング)に際して本来的に一定の時間を要することであ る。例えば、1曲の音楽は2分30秒で演奏される。ある映画は120分で上映され る。テレビ番組も、一部のスポーツ中継などを除けば、ある決まった時間内に 収まっている。このように、自然な継続時間を持つメディアが連続メディア である。(これに対し、自然な継続時間を持たないメディアは離散メディア と呼ぶ)

  連続メディアをWWWに取り込む試みは既にいくつか存在する。利用可能となっ ている技術としては、SMIL言語 [SMIL10]、RTSPプロトコル [RTSP]などがある。しかし、「本格的なインターネット放送から家 庭内でのホームビデオ編集まで」という広いパースぺクティブで考えたとき、 相互運用性を高めるための基盤の不足を感じる。今まで独立に進化してきたイ ンターネットと放送の技術、離散メディアと連続メディアの技術を結び付ける 共通の枠組みが強く要求されているのだ。

3. Multimedia Architectural Platform Specification

  MAPSは、Multimedia Architectural Platform Specificationの略語である。 最初に、各単語の意味を追いかけて、MAPSの意義を解説しよう。

  • [M] Multimedia : マルチメディアは、もはや使われ過ぎて手垢がついているし、意味も拡 散してしまった単語だ。あまり使いたくない言葉なのだが、音声、映像な どの連続メディアを連想させるもっともポピュラーな言葉でもあるのも確 か。結局、ある種の分かりやすさを重視し「マルチメディア」を使った。 これは、連続メディアを含む多様なメディアを取り扱うという表明と解釈 していただきたい。
  • [A] Architectural: アーキテクチャには2つの意味が込められている。一般的な「方式」や 「体系」という意味、そしてもうひとつは文書アーキテクチャということ である。文書アーキテクチャについては後述するが、これは、SGML/XMLの 技術用語である。MAPSはXML技術に強く依存しており、仕様はXML上の文書 アーキテクチャ定義の形を取るのである。
  • [P] Platform: 「プラットフォーム」は、我々の仕様が、広範な分野で利用可能な基盤を 提供することを意味する。MAPSは、ハードウェア、OS、プログラミング言 語、転送プロトコル、メディアフォーマットに中立な仕様である。さまざ まな要素技術の組み合わせを使用可能にし、要素技術が進化したり置き換え られても、メディアリソース(素材)、コンテンツ(作品)が引き続き利用 できることを保証するものだ。
  • [S] Specification: MAPSは、最終的には仕様書としてオープンに公開される。MAPSには2つの レベルがある --- 共通事項を記述した一般仕様(GS; Generic Specification)、応用分野や実行環境に依存した部分を規定する実装ガイ ド群(IGs; Implementation Guidelines)からなる。実装ガイドは、それぞ れの分野・環境ごとに準備される。

  略語「MAPS」をそのまま英語として解釈すれば、地図を意味する。この分野 における地図、俯瞰図を与えられれば、という願いも込められている。

  現在、MAPSの開発は、国際大学グローバルコミュニケーションセンター内の MAPSブートスラップチームによって行われている。MAPSのような仕様は、多く の人の協力があって初めて完成できるものである。しかしながら、十分な開発 体制が整うのを持っている時間的余裕はない。そこで、まずラフな仕様を作成 して、それを叩き台として、各方面の協力を仰ぎ、仕様の完成度を順次高めて いく方針とした。ブートストラップチームは、その名のとおり、ブートローダ の役割を担うものである。ブートストラップチームは自分自身を発展的に解消 し、本格的開発体制に引き継ぐために働いている。

4. なぜXMLをベースとするのか

  MAPSは、XML[XML10]のアプリケーションプロファイルである。 MAPS仕様は、MAPS文書と呼ばれるXML文書のクラス(集合的外延)を定義し、さ らに、このMAPS文書を処理する方法を定義する。オーサリングシステムは、構 文的にMAPS適合な文書を生成し、ランタイムシステムは、MAPSの処理モデルに 従い、MAPS文書を取り扱う。

  つまり、MAPSは、XMLの特定応用領域に明確な定義を与えるものである。し かしながら、MAPSをXMLから派生した周辺技術として位置付けるべきではない。 MAPSの目的は、同期連続マルチメディアの処理であり、そのための固有のセマ ンティックス(モデル)を持つ。XMLは、単にこのセマンティックスを表現する 構文的な道具として使われているに過ぎない。

  同期マルチメディアという、比較的複雑な対象を表現する道具として、幾つ かの条件がある。

  1. 十分な表現力を持つこと。
  2. それでいて、単純で扱いやすいこと。
  3. 安定した標準化がされていて、高い相互運用性を持つこと。
  4. プログラミングインターフェースが整備されていること。
この条件を満たす汎用フォーマットはXML以外にはない。つまり、「単に構文 的な道具に過ぎない」のだが、XMLの使用は、代替物がないという点で必然で もある。また、今後の標準的なフォーマット/プロトコルが、ほとんどXMLベー スとなることは間違いない (これは、W3Cの強い意向でもある)。 DOM [DOM1] [DOM2]、 スタイルシート [CSS1] [CSS2] [XSL] などの豊富な周辺技術によるサポートも、アプリケーションプロファイルの開 発の手間を軽減する上でありがたい。
5. MAPSとSMILの関係

  連続マルチメディアの同期と統合を行う言語としては、既にSMIL [SMIL10]が実用の域に入っている。MAPSにとっても、SMILは重要な意味を持つ。 同期モデルなど多くの仕様をSMILから借りていると同時に、SMILの機能的な欠陥・ 不足を克服する試みがMAPSの原点でもある。

  SMILはXML上のタグセットであり、次のような機能と特徴を持つ。

  1. メディアは、<audio>, <video>, <animation> などのメディ ア要素で表される。ただし、メディアデータの実体は外部リソースであり、 SMIL文書内からはURIで参照される。
  2. <seq>(順次), <par>(並行)の同期コンテナによって、要素はグルー プ化される。
  3. 要素間のタイミングを制御するためには、begin, end, dur などのタイミング属性が使われる。
  4. メディア表示のレイアウト制御は、SMILレイアウト言語、またはCSSによ り行う。

  SMILを用いて、連続マルチメディアを含む簡単なプレゼンテーションを記述 することができる。しかしSMILは、プレゼンテーション指向のタグを少数備え ただけのタグセットだから、他の一般的な目的、例えばビジネス帳票、科学論 文、ユーザマニュアルなどに使うのは困難である。一方、他のタグセットから SMILの機能(の一部)を使う手段もない。

  MAPSでは、メディア要素、同期コンテナ、タイミング属性などの、連続マル チメディアの同期と統合のために必要な機能を、タグセットから分離して定義 している。例えば、タイミング属性 begin, end, dur は、ほと んどの要素において意味を持つ。これらの属性の意味と使用法を、具体的な要 素型とは独立に記述することは可能である。また、ソフトウェアが、タイミン グ属性の値に従ってレンダリングの開始(出現)と終了(消去)を制御することも できる。

  このように、MAPSでは、SMILで実現されていた機能を、「機能そのもの」と して抽出して定式化する。抽象化された機能は、任意の要素に対して、XML構 文による具体的な指定の形で組み入れられる。さらに、エフェクト、トランジ ション、対話的機能などを追加拡張し、十分な実用性を獲得する予定だ。

6. MAPSと文書アーキテクチャ -- 簡単な例

  MAPS仕様は、XMLベースの文書アーキテクチャとして与えられる。我々の文脈 では、文書アーキテクチャは次の意味で用いる。

  • 文書アーキテクチャとは、ある応用分野に対して適切な文書インスタンス の構文定義と、処理方式の定義を一緒に考えたものである。

  MAPSアーキテクチャは、次の2つの部分に分けて考えるのが便利だ。

  1. 与えられた文書/要素インスタンスがMAPS適合か(MAPSのもとで処理可能か どうか)を判定する方法。
  2. MAPS適合な文書/要素インスタンスを処理する方法の定義。

  以下に、MAPS文書アーキテクチャの感触を得るために、簡単な例と説明を与える。 例はすべて説明のためにあげるもので、正式な仕様を述べるものではない。

  文書がMAPS文書であることは、暗黙に、または明示的に宣言される。宣言の 形式は例えば、次の構文が使われる。



<?maps version="1.0" ns-prefix="maps"?>

  各要素がMAPS仕様からみてどのようにふるまうかは、属性maps:formの値 により決定される。例えば、maps:form = "seq"は、当該要素が、シーケ ンシャルな同期コンテナであることを示す。次の例を見てみよう。



/* スタイルシート */ p {display: block; position: absolute; left: 5%; top: 10%; widht:90%; height:80%;} h {display: block; position: absolute; left: 0pt; top: 0pt; widht:100%; height:100%; text-align: center; font-size : xlarge;} <!-- 文書 --> ... <seciton maps:form="seq"> <h maps:form="mixed" maps:dur="3s">それからの2人</h> <p maps:form="mixed" maps:dur="6s">それから2年が経過した。...</p> ... </section> ...

  この例では、文書自体は、セクション、見出し、段落からなる、ごく一般的な (あるいは特に面白みのない)ものである。スタイル指定とMAPS属性を除く と、次のようになる。



<seciton> <h>それからの2人</h> <p>それから2年が経過した。...</p> ... </section>

  スタイルとMAPS属性を解釈することにより、文字ベースの"紙芝居"となる。

  section要素は、seq(子要素を順次にレンダリングする)同期コ ンテナであるから、その内容であるh(見出し)、p(段落)が、記述され た順に表示される。「それからの2人」という見出しは、ウィンドウ(表示領域) 中央に大きな字で3秒間表示されて消える。すぐに、第1段落が、左右5%、上下 10%の余白をとった箱内部に流し込みレイアウト(デフォルト)されて表示され る。第1段落が6秒表示されてから次に移る。

  以上の例では、情報は文字で提示されたが、次の例では、見出し表示の後、 scene01.rvというビデオリソースの内容が、そのビデオ本来の継続時間だ け再生される。



<seciton maps:form="seq"> <h maps:form="mixed" maps:dur="3s">それからの2人</h> <scene maps:form="video" maps:src="rtsp:scene01.rv"/> ... </section>

  上の例は、MAPS的には、次のような解釈となる。



<seq> <mixed dur="3s">それからの2人</mixed> <video src="rtsp:scene01.rv"/> ... </seq>

  このような簡単な例からも、次の方針は推察できるだろう。

  1. 与えられた文書がMAPSのもとで処理可能かどうか(MAPS文書であるか)は宣 言構文により示される。
  2. 各要素の属性maps:formの値により、その要素のMAPS的な解釈が決ま る。必要に応じて、他のmaps:*属性で付加情報が与えられる。
  3. maps:formの値ごとに、その処理方法は決まる。
  4. 要素型名や他の属性(非MAPS属性)にMAPSは関知しない。分野/アプリケー ション固有の目的に使ってよい。
7. MAPSのモデル(セマンティックス)群

  MAPSの構文は、XMLをベースに採用することにより十分な表現力を得ている。 この構文により表現される対象とその構造がモデル(セマンティックス)である。 モデルにより、個々のMAPS要素、そしてMAPSプレゼンテーション全体のふるまい が定義される。ここでは、どのようなモデルが必要とされるかを列挙するに とどめる。

  • 時間モデル : 実世界時間、システム時間、プレゼンテーション時間、オ ブジェクト(固有)時間; これらの定義と相互関係を与える。
  • 同期スケジューリングモデル : ほぼSMIL同期モデルに準拠。ただし、 オブジェクトのライフタイム管理、より精密な状態遷移などを追加。
  • イベントモデル : SMILイベントモデルを拡張。ユーザーインタラク ションを導入。イベント伝搬メカニズム、明示的なパッシング、厳密なス コープルールなどを導入。
  • レイアウトモデル : CSS2とSMIL basic layoutをマージ。若干の機能 追加。
  • デバイスモデル : 広範囲なハードウェアに対応するため、入出力の抽 象化を行う。
  • レンダリング空間モデル : デバイスモデル上に構成される、プレゼンテー ションの舞台となる構造。視覚デバイス、聴覚デバイス、触覚デバイスの 抽象化。
  • メディアオブジェクトモデル : メディアオブジェクトの種別、特徴、 内在的パラメータなど。
  • 一般オブジェクトモデル : メソッド、プロパティ、クラ ス階層などの定義。インターフェース定義、プログラミング言語バインディ ングなど。
  • 一般処理モデル : 文書解析、スタイル割り当て、ツリーリビルディ ング、スケジューリング、資源割り当て、オブジェクトシステムの実行な どの全体的な流れと制御。
8. W3Cとの密接な連携

  MAPSブートストラップチームは、1998年 年末から、非公式にMAPS仕様を検討し はじめた。同じ時期に、W3C SYMM Activity [SYMM]との情報交換 をはじめたが、双方の目的、方法論などが非常に近いことを確認した。例えば、 MAPSチームが準備したメモ"Problems on the Waty to MAPS" [PROBLEMS]と、W3Cが公開した文書"SYMM Modules" [SYMM-MODULES]の意図は、驚くほど類似している。も ちろん、これら2つの文書は全く独立に書かれたものである。

  ほとんど同じことを2つの組織が無関係に行うのは無駄が多いばかりか、相互 運用性にも悪影響を及ぼす。完全な協力体制を組むため、WWVIはW3C会員とな り、MAPSチームは、W3C SYMM WGの一部として仕様検討を続ける方針とした。

9. 問題点

  現時点での問題点と、今後の方針については、別文書 "Problems on the way to MAPS" [PROBLEMS]に述べられている。次のような項 目を取り扱っている。参照されたい。

  1. 仕様記述に使用する形式言語
  2. XML文書内で、MAPS文書であることを宣言する方法
  3. 一般的なアーキテクチャか特定的なアーキテクチャか
  4. イベント記述の構文とイベントモデル
  5. タイミング属性かタイミングシートのプロパティか
  6. 名前空間の使用法
  7. 仕様書の構成
  8. 用語と表現法
10. まとめ

  MAPSは、XMLのオーソドックスな表記法を用いることにより、連続メディア を含む同期マルチメディアプレゼンテーションを記述する枠組みを与える。特 定の文書型には依存せず、宣言と属性を用いた汎用的な形式なので、きわめて 広い適用範囲を持つ。MAPSアーキテクチャに従う文書は、MAPS適合なソフトウェ ア上で処理することができる。

  MAPSは、同期マルチメディアを必要とするすべての分野に適用可能だが、特 に、今後の新しい情報配信パラダイムの技術的な基盤として重要なものと信じ る。

11. 参考URL
  1. [W3C] World Wide Web Consortium, http://www.w3.org/.
  2. [SYMM] Synchronized Multimedia, http://www.w3.org/AudioVideo/Activity.
  3. [XML10] Extensible Markup Language (XML) 1.0, http://www.w3.org/TR/REC-xml.
  4. [DOM1] Document Object Model (DOM) Level 1 Specification, http://www.w3.org/TR/REC-DOM-Level-1/.
  5. [DOM2] , http://www.w3.org/TR/WD-DOM-Level-2/.
  6. [CSS1] Cascading Style Sheets, level 1, http://www.w3.org/TR/REC-CSS1.
  7. [CSS2] Cascading Style Sheets, level 2; CSS2 Specification, http://www.w3.org/TR/REC-CSS2/.
  8. [XSL] Extensible Stylesheet Language (XSL), http://www.w3.org/TR/WD-xsl.
  9. [URI] Uniform Resource Identifiers (URI): Generic Syntax; Berners-Lee, Fielding, Masinter, RFC2396.
  10. [HTML40] HTML 4.0 Specification, http://www.w3.org/TR/REC-html40/.
  11. [SMIL10] Synchronized Multimedia Integration Language (SMIL) 1.0 Specification, http://www.w3.org/TR/REC-smil/.
  12. [RTSP] Real Time Streaming Protocol, http://www.real.com/devzone/library/fireprot/rtsp/index.html.
  13. [TIME] Timed Interactive Multimedia Extensions for HTML (HTML+TIME), http://www.w3.org/TR/NOTE-HTMLplusTIME.
  14. [XHTML] XHTML 1.0: The Extensible HyperText Markup Language, http://www.w3.org/TR/WD-html-in-xml/.
  15. [BHTML] Broadcast HTML Specification, http://toocan.philabs.research.philips.com/misc/atsc/bhtml/.
  16. [SYMM-MODULES] Synchronized Multimedia Modules based upon SMIL 1.0 , http://www.w3.org/TR/NOTE-SYMM-modules.
  17. [PROBLEMS] Problems on the way to MAPS, http://210.164.200.74/public_doc/MAPS/Current/problems.htm.