Comments
Description
Transcript
MPEG-7 - 奈良先端科学技術大学院大学附属図書館
NAIST-IS-MT0151085 修士論文 MPEG-7 出版の提案と ウェアラブルコンピューティング環境への応用 兵 清弘 2003 年 2 月 7 日 奈良先端科学技術大学院大学 情報科学研究科 情報システム学専攻 本論文は奈良先端科学技術大学院大学情報科学研究科に 修士 (工学) 授与の要件として提出した修士論文である. 兵 清弘 審査委員: 植村 俊亮 教授 木戸出 正継 教授 砂原 秀樹 教授 吉川 正俊 助教授 MPEG-7 出版の提案と ウェアラブルコンピューティング環境への応用∗ 兵 清弘 内容梗概 計算機の高性能化や記録媒体の大容量化,ネットワークの整備などを背景 に,映像を容易に扱うことが可能となり映像データが増加している.それに伴 い,映像データの管理や流通における問題が発生しつつある.この問題の解決 の一つの手段として,国際規格である MPEG-7 を利用すれば映像検索やメタ データの相互運用などを効率良く行うことができるが,MPEG-7 インスタン スの作成には時間がかかる. そこで本研究では,MPEG-7 インスタンスを自動生成する,MPEG-7 出版 という手法を提案し,これをウェアラブルコンピューティング環境に適用する. ウェアラブルコンピューティング環境では,ウェアラブルカメラで取得した映 像のメタデータとして多くの情報が存在する.そのため MPEG-7 出版という 形態をとることでそれらを有効に活用し ,MPEG-7 インスタンスを作成する 時間を大幅に短縮することができる.MPEG-7 出版を利用した映像検索シス テムを試作し,実際にウェアラブルカメラ映像に適用した結果,本手法の有効 性を確認した. キーワード MPEG-7,MPEG-7 出版,メタデータ,ウェアラブルコンピューティング環境, ウェアラブルカメラ ∗ 奈良先端科学技術大学院大学 情報科学研究科 情報システム学専攻 修士論文, NAIST-IS- MT0151085, 2003 年 2 月 7 日. i MPEG-7 Publishing and its Application to Wearable Computing Environment∗ Kiyohiro Hyo Abstract Volumes of video data have increased with the advancement of storage and network technologies, which is making management of such data more difficult. Standardization of metadata for video like MPEG-7 is a solution to this problem. We can improve video retrieval and interoperability of metadata using MPEG-7. But it takes much time and effort to create MPEG-7 description. In this paper, we propose a method named “MPEG-7 publishing,” which creates MPEG-7 description automatically, and apply it to wearable computing environtment. In that environtment, there are many metadata of video data recorded by wearable camera. Using MPEG-7 publishing, we can make the most use of them and save much time to create MPEG-7 description. We develop a video retrieval system based on MPEG-7 publishing. We also apply this system to video data recorded by wearable camera, and confirm the effectiveness of our proposal method. Keywords: MPEG-7, MPEG-7 Publishing, Meta Data, Wearable Computing Environment, Wearable Camera ∗ Master’s Thesis, Department of Information Systems, Graduate School of Information Science, Nara Institute of Science and Technology, NAIST-IS-MT0151085, February 7, 2003. ii 目次 第1章 緒論 1 第2章 関連研究 6 2.1 MPEG-7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 ウェアラブルカメラ映像 . . . . . . . . . . . . . . . . . . . . . . 7 2.3 ウェアラブルコンピューティング . . . . . . . . . . . . . . . . . 8 2.4 まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 第3章 MPEG-7 9 3.1 MPEG-7 の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 MPEG-7 の応用領域 . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3 MPEG-7 の利用における問題点 . . . . . . . . . . . . . . . . . . 14 第4章 MPEG-7 出版の提案とウェアラブルコンピューティング環境へ の応用 16 4.1 MPEG-7 出版の提案 . . . . . . . . . . . . . . . . . . . . . . . . 16 4.2 想定するウェアラブルコンピューティング環境 . . . . . . . . . . 18 4.2.1 想定する環境および利用者の装備 . . . . . . . . . . . . . 18 4.2.2 利用するデータ . . . . . . . . . . . . . . . . . . . . . . . 19 4.3 ウェアラブルカメラ映像への MPEG-7 の適用の問題点 . . . . . 21 4.3.1 位置情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3.2 映像シーン 4.3.3 位置関連情報 . . . . . . . . . . . . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.4 ウェアラブルコンピューティング環境における MPEG-7 出版 . 24 iii 第5章 MPEG-7 出版を利用した映像検索システム 27 5.1 提案システムの概要 . . . . . . . . . . . . . . . . . . . . . . . . 27 5.2 映像の検索処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.3 MPEG-7 出版処理 . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.3.1 MPEG-7 インスタンス生成アルゴ リズム . . . . . . . . . 32 5.3.2 MPEG-7 記述例 . . . . . . . . . . . . . . . . . . . . . . . 41 実装 44 第6章 6.1 システムの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 6.2 準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.3 地理情報データベース . . . . . . . . . . . . . . . . . . . . . . . 45 6.4 内部データベース . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.5 問合せ処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.5.1 時間指定による検索 . . . . . . . . . . . . . . . . . . . . 50 6.5.2 アノテーションと位置関連情報を利用した検索 6.5.3 位置指定による検索 . . . . . . . . . . . . . . . . . . . . 51 . . . . . 50 6.6 生成された MPEG-7 インスタンスの検証 . . . . . . . . . . . . 52 第7章 結論 57 謝辞 60 参考文献 62 付録 69 A Multimedia Description Schemes ( 本研究での利用部分のみ抜粋) . . . . . . . . . . . . . . . . . 69 iv 図目次 3.1 MPEG-7 の標準化領域 . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 MPEG-7 インスタンス例 . . . . . . . . . . . . . . . . . . . . . . 11 3.3 MPEG-7 の応用事例(ホームサーバ ) . . . . . . . . . . . . . . 13 3.4 映像への注釈付けの例 . . . . . . . . . . . . . . . . . . . . . . . 15 4.1 想定するウェアラブルコンピューティング環境で取得されるデー タ例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2 ビデオスクラップ作成手順 . . . . . . . . . . . . . . . . . . . . . 26 5.1 システムの概要図 . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.2 地理領域を元にしたシーン分割 . . . . . . . . . . . . . . . . . . 29 5.3 位置指定による検索 . . . . . . . . . . . . . . . . . . . . . . . . 31 6.1 本システムの処理の流れ . . . . . . . . . . . . . . . . . . . . . . 50 6.2 検索インターフェイス . . . . . . . . . . . . . . . . . . . . . . . 53 6.3 時間指定による検索 . . . . . . . . . . . . . . . . . . . . . . . . 54 6.4 アノテーションおよび位置関連情報のキーワード 検索 . . . . . . 55 6.5 地理情報データベースを利用した位置指定による検索 . . . . . . 56 v 表目次 5.1 記号一覧表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.1 数値地図 2500 のデータ項目 . . . . . . . . . . . . . . . . . . . . 47 vi 第1章 緒論 過去数年のネットワークのブロード バンド 化は,映像配信サービスに代表さ れる映像コンテンツの流通を促進し,また記録媒体の大容量化は映像コンテン ツの蓄積を容易にしてきた.さらに計算機の高性能化や低廉化により,企業の みならず個人でも容易に映像を処理することが可能となってきた.それに伴い, 扱われる映像データが増加し,管理や流通における問題が発生しつつある. 例として,ある映像データを再利用する場合を考えてみる.利用者はまず, 映像データに関する基本的事項(製作日,製作者,権利事項など )や内容に関 するキーワード などのメタデータを利用して検索を行う.これまでは映像デー タのメタデータは,映像データの所有者が独自の方法を用いて管理,運用して きたため,その検索方法はシステムに依存する.また結果として得られた映像 データとそのメタデータを再利用,流通させるためにはデータをやり取りする ための専用のシステムが必要となる.このときメタデータの記述形式が統一さ れていれば,データのやり取りが容易になり,またオープンなシステムも構築 しやすくなる. この問題を解決する一つの手段として,2001 年に国際規格として策定され た MPEG-7 [2] の利用が挙げられる.MPEG-7 は正式名称である Multimedia Content Description Interface が表すように,マルチメディア情報の内容記述 のための枠組を提供する規格である.映像データのメタデータを MPEG-7 を 用いて予め記述しておくことにより,シーン単位での映像検索を容易に行うこ とができる.またメタデータの記述形式が統一されたことにより,様々な機器 やアプリケーションでメタデータを同様に解釈できるため,相互運用性の向上 も期待できる. 様々な利点を持つ MPEG-7 ではあるが,現状では利用に関して幾つかの問 1 題点が挙げられる.まずは MPEG-7 インスタンス 1 の作成に関する問題であ る.映像データとそのメタデータを記述した MPEG-7 インスタンスがあって こそ先に述べた利点を享受することができるが,MPEG-7 インスタンスの作 成には時間と手間がかかる.映像製作や映像の利用のどの段階で,誰が,どの ように MPEG-7 インスタンスを作成するのか,という問題は MPEG-7 の普及 の鍵をにぎる問題である.各種ツール [4, 27] を利用することにより MPEG-7 インスタンス作成の時間を短縮することができるが,映像の意味的な内容の記 述はまだまだ人手で行う必要があり,それにかかる時間は映像自体の約 1.6 倍 という報告 [55] もある. また仮にオリジナルの映像データのメタデータが MPEG-7 を用いて記述さ れていたとしても,それを検索結果の映像やダ イジェスト映像に対してそのま ま利用できるとは限らない.オリジナルの映像データの MPEG-7 インスタン スは,あくまでオリジナルの映像データ用に作成されたものであるためであ る.オリジナルの映像データの部分映像の MPEG-7 インスタンスをどのよう に得るか,という点も一つの課題である.このような部分映像の MPEG-7 イ ンスタンスが得られると,オリジナルの映像とは独立して流通等を行うことが でき,映像の利用形態の幅が広がる. 本研究では,このような MPEG-7 インスタンス作成の問題を解決する一つ の手法として,MPEG-7 出版 (MPEG-7 Publishing) を提案する.本手法では, メタデータは予め MPEG-7 インスタンスとして記述せず,また事前に加工す ることなく,例えば関係データベースなどの既存の技術を用いて格納しておく. そして映像検索時に,それらのメタデータを利用し検索要求に応じて映像区間 を特定,必要なデータを抽出し ,MPEG-7 インスタンスを自動生成して映像 とともに利用者に返す.この手法を用いることにより,既存のシステムでメタ データを管理している場合や,メタデータが大量に存在し予め MPEG-7 イン スタンスを作成するのが困難な場合などでも,MPEG-7 インスタンス作成の 時間と手間を省略することができる. 1 MPEG-7 インスタンスは MPEG-7 メタデータや MPEG-7 ファイルなどとも呼ばれ用語 が統一されていないが,本論文では MPEG-7 インスタンスという用語で統一する(英語での 標記は MPEG-7 Descriptions である). 2 現時点では MPEG-7 対応のアプ リケーションが存在しないため, 自動生 成された MPEG-7 インスタンスの応用は非常に限られている.しかしながら MPEG-7 の応用の可能性を考えると,今後は多くのアプ リケーションの登場 が期待できる.それに伴い,MPEG-7 出版の応用も様々に考えられる. 本研究では MPEG-7 出版を提案するにあたり,ウェアラブルコンピューティ ング環境を取り上げて議論を行う.ウェアラブルコンピューティング環境を取 り上げた理由の一つとして,ウェアラブルカメラで取得した映像(ウェアラブ ルカメラ映像)のメタデータとして利用できる多くの情報が存在することが挙 げられる.ウェアラブルカメラ映像は,容量が大きい,明確なシーンの切れ目 がない,などの理由から従来の映像検索手法 [8, 15, 34, 32, 19] をそのまま適 用するだけでは不十分である.そのため映像と同時に取得する様々な情報を手 がかりに映像を処理する手法が研究されている [20, 3, 37] .これらの研究で利 用している脳波や,利用者の位置や向きなどの情報はもちろんのこと,ネット ワークを通じて配信される電子データなどの情報もすべてウェアラブルカメラ 映像のメタデータとして利用できるものであり,これらの情報を有効に活用す ることが重要となってくる. またもう一つの理由として,1) ウェアラブルカメラ映像には明確なシーンが 存在しない,2) 利用者の検索要求に応じても映像データの必要とされる場所が 変化する,ことからメタデータを予め MPEG-7 インスタンスとして記述して おくことが難しいことが挙げられる.MPEG-7 では映像のタイムコードに基づ く開始時刻とその長さにより内容を記述する部分を特定する.これが,ニュー ス映像であれば一つのトピックに相当し,映画や演劇などの映像であれば一つ のシーンに相当する.これらの映像は切れ目が明確であり,予め MPEG-7 イ ンスタンスとして記述しておくことが容易である.しかしながらウェアラブル カメラ映像の場合には,明確なシーンが存在せず,利用者の検索要求に応じて シーンが変化する.このため利用者の検索要求に応じて映像データの必要な場 所を特定し,対応する MPEG-7 インスタンスを生成する,すなわち MPEG-7 出版という形態をとった方が妥当であると考えられる. ウェアラブルコンピューティング環境で取得するデータを利用して MPEG-7 3 出版を行う手順を簡単に述べる.本研究では,ウェアラブルカメラ映像のメタ データとして,時刻,位置,ウェブページやメールなどの様々な電子データを 想定する.これらのデータは事前に加工することなく関係データベースを用い て格納しておく.映像の検索時には,まずシステムが利用者の問合せを必要な データを格納してあるデータベースへの問合せに変換し,該当する映像区間を 特定する.同時に,利用者の問合せに応じたデータを抽出し,MPEG-7 イン スタンスを自動生成して映像とともに利用者に返す.MPEG-7 インスタンス には利用者の位置情報を記述する替わりに,地理情報データベースを利用して 利用者が居た地理領域名(市,町,街区,場地)を特定し,地理領域毎に分割 した映像区間を記述する.この MPEG-7 出版により,利用者は検索要求に応 じた映像区間とそれに対応する MPEG-7 インスタンスを得ることができる. 自動生成された MPEG-7 インスタンスは,大量の映像データの中から検索 要求に合致する部分だけを抽出した,いわゆるダ イジェスト映像の役割を果た す.MPEG-7 インスタンス中には,映像の再生区間や関連するメタデータが記 述されており,これが従来のダ イジェスト映像の作成手法と異なる点である. MPEG-7 対応ブラウザ等の利用により,映像を再生するとともに撮影した時 に取得した関連情報も見ることができる.さらに得られたダ イジェスト映像の 編集や,より詳細な索引付けが必要であれば,MPEG-7 対応編集ツールを利 用して MPEG-7 インスタンスを編集すれば良い.MPEG-7 インスタンスはテ キストデータであるため映像自体を扱うよりも編集が容易であり,またその保 管のための記録媒体の容量も映像の場合と比べてはるかに少なくて済む.本論 文中では,このようなメタデータ( MPEG-7 インスタンス)付きのダ イジェ スト映像をビデオスクラップと呼び,MPEG-7 出版の応用事例としてビデオ スクラップ作成システムを紹介する. 本研究では,提案手法を実現するための簡単な映像検索システムを構築した. このシステムを利用することで,簡単なビデオスクラップを作成することがで きる.本システムは,利用者の行動履歴データなどを格納しておく内部デー タベース,地理情報データベース,問合せ処理部,MPEG-7 生成部から成る. 利用者の検索要求は,問合せ処理部で処理され,内部データベース,地理情報 4 データベースを利用し必要な情報を抽出する.抽出したデータは MPEG-7 生 成部へと渡され,利用者には映像区間と共にそれに対応する MPEG-7 インス タンスが返される.実際にウェアラブルカメラ映像を用いて本システムを利用 した結果,短時間でビデオスクラップが作成できることを確認した. 本論文の構成は以下の通りである.第 2 章で関連研究を紹介し,第 3 章では MPEG-7 の概要とその応用領域,利用における問題点について触れる.第 4 章 では,本研究の提案手法である MPEG-7 出版について述べ,MPEG-7 出版の ウェアラブルコンピューティング環境への応用についての議論を行う.第 5 章 では,試作システムである MPEG-7 出版を利用した映像検索システムについ て説明する.第 6 章では,本提案手法の実装について説明し,実際にウェアラ ブルカメラ映像に適用した結果を示す.第 7 章では結論として本研究の成果と 今後の課題について述べる. 5 第2章 関連研究 本章では,本研究に関連する研究を紹介する.本研究に関連する分野は多岐に わたっているため,1)MPEG-7 を扱った研究,2) ウェアラブルカメラ映像を 扱った研究,3) ウェアラブルコンピューティングを題材にした研究,の三つに 分けて紹介を行う.なお MPEG-7 の詳細については,3 章で解説する. 2.1 MPEG-7 COALA プロジェクト [10] は,ニュース映像を題材としてデジタルライブラ リを構築するものである.ここでは相互運用性を実現するため,映像への索引 付けを MPEG-7 を用いて行っている.ニュース映像に限定してはいるが,シ ステムは索引付け,検索,ブラウジングの機能を有している点が特筆すべき点 である.寺口等 [55] と関口等 [53] は,ニュース,映画,スポーツなどの映像 コンテンツの MPEG-7 インスタンスを出力するオーサリングシステムを開発 し,これを用いた個人向けのダ イジェスト生成システムを試作している.これ は,オーサリングシステムを利用することで MPEG-7 インスタンス作成の時 間を短縮し,作成した MPEG-7 インスタンスと利用者の嗜好のプロファイル を照合しダ イジェストを生成するものである.これらは MPEG-7 を利用した 応用事例としては日本で初めてのものであったため,新聞でも取り上げられた (プレス・リリース [43, 42] ).しかしながら,MPEG-7 インスタンスの作成 にかかる時間の問題はなお課題として残っている. Graves 等 [17] は推論ネットワークモデルに基づいて MPEG-7 インスタン スの構造を利用し映像の検索を行う方法を試みている.MPEG-7 を用いた報 告にはアプリケーションに関するものが多い中,この研究では MPEG-7 イン 6 スタンス自体を扱っている点が興味深い.この研究での提案手法による実験結 果の質は MPEG-7 インスタンス自体の質に依存する,という結論での指摘は MPEG-7 インスタンス作成の問題にも繋がるものである. 2.2 ウェアラブルカメラ映像 青木等 [5] は屋内で撮影した映像のヒストグラムを利用して利用者の位置を 検出する手法を提案している.一度訪れた場所の映像から辞書データを作成し ておき,次に同じ場所を訪れた時には辞書データを参照することで場所を認識 しようというものである.特徴量としてヒストグラムだけを用いることで,リ アルタイム性を実現している.屋内では GPS が使えないため,利用者の位置 検出としての利用が期待できる. 相澤等 [3] は,脳波を用いてウェアラブルカメラ映像の構造化や要約を自動 で行う手法を試みている.この研究では現実世界の出来事に対応して生じる α 波の状態を捉え,これを用いて利用者が興味を示したショットを抽出しようと している.脳波と利用者の感情との関連性が分かってくれば,非常に面白い手 法となるであろう. これらの研究は本研究とは異なるアプローチをとったものであり,本手法と 組み合わせることで,より利用者の検索要求に応じた映像検索が可能となる. また上田等 [37, 38] は地理オブジェクトに基づいてウェアラブルカメラ映像 の検索やダ イジェスト作成を行う研究を報告している.この研究では,ランド マークなどの地理オブジェクトの重要度が大きな役割を果たしている.重要度 は地理オブジェクトと利用者の位置による重みと,利用者が地理オブジェクト の方向を向いているかど うかという向きによる重みを統合した値である.この 重要度を本研究での提案手法と共に用いることにより,利用者にとって重要と 思われるシーンを構築し,対応する MPEG-7 インスタンスを生成することが できる.また MPEG-7 インスタンス中にその重要度も合わせて記述しておく ことで,後に容易に再利用することができる. 7 2.3 ウェアラブルコンピューティング ウェアラブルコンピュータを用いて利用者の状況(コンテキスト )を認識 しようという研究には,Clarkson 等 [9] や Farringdon 等 [14] のものがある. Clarkson 等は,ウェアラブルカメラとマイクロフォンのみを用いて,大まか な利用者の状況(仕事をしている,地下鉄に乗っているなど )やイベント( 会 話をしている,騒々しい道を歩いているなど )を認識する研究を行っている. また Farringdon 等は,利用者が身に付けたセンサからの情報を解析すること で,利用者の行動(立つ,座る,歩く,走るなど )を捉えようとしている.こ うした利用者の状況に関する情報はウェアラブルカメラ映像を検索する上で非 常に有効なメタデータであり,また MPEG-7 出版を行うためのデータとして も利用できる. 2.4 まとめ 映像の特徴量などの意味的な水準が低いメタデータのみを記述する MPEG-7 インスタンスであれば自動生成は容易であるが,それ以上の意味的な水準が高 いメタデータの記述になるとまだまだ人手による作業が必要である.本研究で 生成される MPEG-7 インスタンスは意味的な水準が高いメタデータの記述を 目指しており,そのインスタンスが動的に自動生成される点に特徴がある. また本章で紹介した他の研究により取得したデータを利用することにより, 先にも述べたように,より利用者の検索要求に適した形の MPEG-7 インスタ ンスを生成することが可能となる. 8 第3章 MPEG-7 本章では,まず MPEG-7 の概要について述べる.次に,MPEG-7 の応用領域 について簡単に触れ,最後に現状で MPEG-7 を利用するにあたっての問題点 を概観する. 3.1 MPEG-7 の概要 MPEG-7 はマルチメディアの内容を記述するための表記方法に関する国際 規格として,ISO/IEC JTC1 SC29/WG11 ( 通称 MPEG (Moving Picture Experts Group) ) において策定された [2].MPEG では,これまで MPEG-1, 2, 4 といったデジタル映像圧縮技術の規格化を手掛けてきたが,MPEG-7 はそ れらに取って代わるものではなく,併用するものである.すなわち,MPEG-1, 2, 4 などのデジタル映像の内容を MPEG-7 を用いて記述しておくことで,デ ジタル映像が持つ特徴であるインタラクティブ性を活用する機能,例えば映像 検索やナビゲーションなど ,を容易に利用することができる.このようなデジ タル映像のみならず,アナログ映像や静止画像なども MPEG-7 の対象となる が,MPEG-7 の真価が発揮されるのはやはりデジタルコンテンツに対してで あろう. MPEG-7 が標準化の対象としているのは,表記方法の部分だけであり,MPEG7 インスタンスを生成する部分や利用する部分は標準化の対象外となっている ( 図 3.1 ).これは,MPEG-7 インスタンスの生成方法や利用方法については 今後も発展する余地があり,産業界において競争する領域であるためである. 以下に標準化の対象である各項目の簡単な説明を記す. • 記述子 (Descriptor: D) :単一の特徴を記述するための基本ツール( 記 9 図 3.1 MPEG-7 の標準化領域 述形式).Xb • 記述スキーム (Description Scheme: DS):複数のツール間の構造や意味 的関係を規定した枠組み. • 記述定義言語 (Description Definition Language: DDL):記述子と記述ス キームの表記方法を定義するための言語. • バイナリフォーマット (Binary format for MPEG-7: BiM):テキストデー タである MPEG-7 インスタンスをバイナリデータへ圧縮したり,バイ ナリデータからテキストデータへ伸長するための仕組み. MPEG-7 では,これらの記述子や記述スキームを利用してハイレベル,ロー レベルの 2 種類のメタデータの記述を行うことができる.ハイレベルなメタ データとは,対象となるコンテンツの意味的な内容を表すものであり,その多 くは人手によるテキストデータとしての入力となる.ローレベルなメタデータ 10 <Mpeg7> <Description xsi:type="ContentEntityType"> <MultimediaContent xsi:type="AudioVisualType"> <AudioVisual> <MediaLocator>… </MediaLocator> <MediaTime>… </MediaTime> ( 中略) </AudioVisual> </MultimediaContent> </Description> </Mpeg7> 図 3.2 MPEG-7 インスタンス例 とは,コンテンツの特徴量など 計算機により自動的に計算できるものである. MPEG-7 では,これらの記述を行うためのツールがそれぞれの役割により八 つの文書にまとめられている. 記述定義言語は XML Schema [33] を基にマルチメディアの内容記述に必要 なデータ型を追加したものである.そのため MPEG-7 インスタンスは XML [13] を用いて表現される XML 文書である( 図 3.2 ).このことは,インター ネット等との親和性を高めているばかりではなく,XML を対象とした各種ツー ルが利用できることを意味している. 3.2 MPEG-7 の応用領域 これまでにもマルチメディアコンテンツの運用,管理は様々な方法で行われ てきたが,既存の映像ライブラリやデジタルアーカイブと呼ばれるようなシス テムでは一般的に異なるシステム間の検索はできず,コンテンツの相互運用も 11 容易ではない.MPEG-7 の目的は,まさにこの相互運用性の問題を解決する 事であり,これによりコンテンツの製作者側,利用者側を問わず多くの人々が 恩恵を受けるようになる. MPEG-7 は特定のアプリケーションを想定して策定された規格ではないが, 策定作業の当初にはその応用領域として実に様々な分野が考えられた.そのう ちの幾つかを以下に列挙する. • 教育 • ジャーナリズム • 観光情報サービ ス • 地理情報システム • 電子図書館 • 映像製作 • エンタテイメント • 建築,不動産,インテリアデザイン • ショッピング • バイオおよび医療関連 他多数 これらはあくまで MPEG-7 が利用可能な分野であるという提案であり,実 際の応用は産業界次第である.しかしながら,これだけを見ても MPEG-7 と いう規格が持つ可能性を伺い知ることができる. 例えば,デジタルアーカイブを考えるとアーカイブが複数存在した場合,そ れぞれのアーカイブに対して検索要求を発し,処理を行う事が一般的である. また保存しているコンテンツとそのメタデータを他のシステムから利用する ためには,新たなシステムが必要である.このような場合,MPEG-7 を利用 することでアーカイブを分散させて管理し,検索処理は単一の検索エンジンで 12 図 3.3 MPEG-7 の応用事例(ホームサーバ ) 行うことが可能となる.また MPEG-7 を仲介役としてコンテンツとそのメタ データの相互運用も容易に行うことができる. またホームサーバのようなアプリケーションを考えると,利用者が映像やそ の他様々なデータをホームサーバに蓄積し,ネットワークを介して様々な機器 やアプ リケーションから蓄積されたデータへアクセスする状況が生じてくる (図 3.3 ).こうした状況下において全ての機器やアプリケーションでデータを 同様に扱うためには,メタデータが統一された形で記述されていることが望ま しく,これは MPEG-7 の利用で解決することができる.またホームサーバに アクセスする機器に適した形で情報を提示したり(携帯端末からのアクセスに は画像,映像の質を下げる等),利用者の嗜好に応じて抽出した情報のみを提 示する,といったことも MPEG-7 を利用することで可能となる. 13 3.3 MPEG-7 の利用における問題点 MPEG-7 を利用するにあたって現状では幾つかの問題点が挙げられる.ま ず MPEG-7 インスタンスの作成の問題である.MPEG-7 を映像検索に用いる ためには,予め映像のメタデータが MPEG-7 インスタンスとして記述されて いる必要がある.またメタデータの相互運用を図る場合にも MPEG-7 インス タンスが存在することが前提となる.特徴量などの意味的な水準の低い(ロー レベルな)メタデータであれば,映像からデータを抽出し MPEG-7 インスタ ンス生成までを自動で行うことも可能である.しかしながら MPEG-7 の恩恵 を最大限に享受するためには,意味的な水準の高い(ハイレベルな)メタデー タがある程度詳細に記述されている必要がある.現時点では,映像の内容の意 味的な記述を自動化することは不可能であり,人手に頼らざるを得ない.その ため MPEG-7 インスタンスを作成するためのツール [4, 27] が開発されている が,作成にかかる時間の短縮が課題となっている [55]. 仮にオリジナルの映像データのメタデータが MPEG-7 を用いて記述されて いたとして,映像検索処理の結果その映像データから得られた映像データやダ イジェスト映像などに対応する MPEG-7 インスタンスをど のように得るか, という問題が生じる.というのもこれらの映像データは,対応するメタデータ が MPEG-7 を用いて記述されていることで,オリジナルの映像データとは独 立させて流通,相互運用させることが可能となるためである.ネットワークを 通した映像処理においては,このことによる利点は大きい.しかしながら,オ リジナルの映像データの MPEG-7 インスタンスは,あくまでオリジナルの映 像データ用に作成されたものであるため,そのまま検索結果の映像やダ イジェ スト映像に利用することはできない場合が多い.そこで先に述べた,検索結果 の映像やダ イジェスト映像に対応する MPEG-7 インスタンスをどのように作 成するか,という問題が生じるのである. また MPEG-7 を用いて記述を行う場合,映像シーンをどのように決定する かという問題もある.MPEG-7 では映像の注釈付けを行う部分を開始時刻と その長さにより特定する.例えば図 3.4 の場合, 「 天気の良い雪山」のシーンが 時刻 12 時 34 分 56 秒から 4 分間続く,といったようにである.これが,ニュー 14 図 3.4 映像への注釈付けの例 ス映像であれば一つのトピックに相当し,映画や演劇などの映像であれば一つ のシーンに相当する.これらの映像は切れ目が明確であり,予め MPEG-7 イ ンスタンスとして記述しておくことが容易である.しかしスポーツ映像などの 場合,シーンの切れ目が明確でないことも多く,またシーンを構成する際に何 に注目するかによってもシーンが変化することも十分に考えられる.こうした 映像に対しては, 予め MPEG-7 インスタンスに映像シーンとして記述してお くことは得策ではない. 現状では MPEG-7 を利用したキラーアプリケーションが存在しないことも 課題ではあるが,これは今後 MPEG-7 を利用した応用事例が増えてきたり, また MPEG-7 インスタンスが多く作成されることにより解決していくであろ う.こうした点からも,いかにして MPEG-7 インスタンスを作成する手間と 時間を短縮するかが重要になってくる. 15 第4章 MPEG-7 出版の提案とウェ アラブルコンピューティン グ環境への応用 本章では,最初に 4.1 節で提案手法である MPEG-7 出版について説明し,4.2 節以降では MPEG-7 出版をウェアラブルコンピューティング環境へ応用する ための議論を行う.4.2 節でまず,本研究で想定するウェアラブルコンピュー ティング環境について,利用する装備や,扱うデータなどの説明を行う.次に ウェアラブルカメラ映像に対して MPEG-7 を適用する際の問題点について議 論し,最後にこの問題点を解決する手法として MPEG-7 出版を用いる利点を 示し,応用事例であるビデオスクラップ作成システムについて触れる. 4.1 MPEG-7 出版の提案 本研究で提案する MPEG-7 出版は,3.3 節で述べたような問題を解決する 一つの手段を提供する.MPEG-7 出版では,利用するデータはそのデータ型 や格納方法に限定されない.テキストデータはもちろんのこと,静止画像や音 声,動画像も対象となる.それらのデータは,分散化されたサーバに異なる方 法で格納されているかもしれないし,ファイルシステムを利用しているかもし れない.MPEG-7 出版の基本的な考え方は,そうした様々な情報から必要な 情報だけを抽出し,利用者に返すという所にある.大量の映像からは必要な部 分だけを切り出し,またその他の情報からは映像のメタデータとして必要なも のだけを抽出する.このため,映像データベースが既にあり,メタデータも大 16 量に存在するが,それらは独自のシステムを用いて格納しており他システムと の相互運用性に欠ける,というような場合にも本手法は有効である. 既に MPEG-7 インスタンスが存在する映像に対して MPEG-7 出版を適用 することも,もちろん可能である.オリジナルの映像データの MPEG-7 イン スタンスを利用して,ダ イジェスト映像など の部分映像に対応する MPEG-7 インスタンスを作成するという方法は十分に考えられる.しかしながら,そう した映像は「 MPEG-7 インスタンス作成の問題」を解決したものであり,本 論文では議論の対象としない. 利用者が映像検索を行う際には,まず所与のメタデータを利用し検索要求 に応じた映像区間を特定する.MPEG-7 出版では利用者の要求に応じて映像 シーンを構築するため,シーンの構築処理は非常に重要である.本研究では, 地理情報を利用してシーンを構築しているがこれは一例に過ぎない.上田ら [37, 38] の手法で提案している地理オブジェクトの重要度を取り入れ,利用者 にとって重要と思われるシーンを構築する,というのも一つの方法である.他 の様々なシーン構築手法と組み合わせて利用できるのも,MPEG-7 出版の特 徴である.システムは映像区間を特定した後,その映像区間に含まれる(関連 する)メタデータを抽出し,そのデータを用いて MPEG-7 インスタンスを自 動生成する.生成した MPEG-7 インスタンスは検索結果の映像とともに利用 者へ返される. 自動生成された MPEG-7 インスタンスは,他の MPEG-7 対応アプ リケー ションに受け渡され処理されることを想定している.MPEG-7 対応の編集ツー ルを利用すれば,自動生成されたインスタンスを元により詳細な索引付けを行 うことができる.また MPEG-7 対応の映像ブラウザでは,利用者は映像の再生 と同時にインスタンス中に記述された様々な情報を見ることができる.MPEG- 7 (XML) 対応のデータベースを利用することで,自動生成された MPEG-7 イ ンスタンスを保管し,再利用することも可能となる. 以下,この MPEG-7 出版をウェアラブルコンピューティング環境へ応用す るための議論を行い,その利点を示す. 17 4.2 4.2.1 想定するウェアラブルコンピューティング環境 想定する環境および利用者の装備 本研究では,以下のようなウェアラブルコンピューティング環境を想定する. 利用者は常にウェアラブルコンピュータを身に付けて行動する.ウェアラブル コンピュータには,ウェアラブルカメラ,GPS レシーバ,デジタルコンパス, 音声認識用マイク等が装着され,利用者が日常生活で得る様々な情報が記録さ れる.図 4.1 は想定するウェアラブルコンピューティング環境を図式化したも のである.利用者はウェアラブルカメラを用いて映像を撮影すると同時に,時 刻,GPS データ,位置関連情報などの情報を取得し,また音声を利用してアノ テーション付けを行う. アノテーションとは利用者が意識的に行った注釈であり,そのデータタイプ には音声やテキストデータなど 様々なものが考えられる( 本研究では音声を 音声認識ソフトウェア等によりテキストに変換して利用することを想定して いる).また位置関連情報とは,ネットワークを通じて配信される情報などの ウェアラブルコンピュータが記録する情報のことである.その内容は情報を取 得した位置と結びつけて考えることができるため,本研究ではそのように呼ぶ ことにする.位置関連情報もアノテーションと同様にデータ型は様々である. 本研究で想定するウェアラブルコンピューティング環境では,日常生活で得 られる全ての情報をウェアラブルカメラ映像のメタデータと捉える.具体的な 例としては利用者の音声,取得したメール,閲覧したウェブのデータ,ネット ワークを通じて配信される電子データなどである.さらには,IC タグや RFID (Radio Frequency IDentification) タグの利用により身の回りのあらゆる物が 情報を持つようになれば,それらも対象となる. 取得したデータは全て時刻印と共に記録され,映像区間の特定に利用され る.これらのデータを利用することで,利用者がウェアラブルカメラを装着し て撮影した日常生活の映像の中から,例えば「奈良を訪れた時に,△●君を見 かけた時の映像」や「これまでに訪れた美術館で,ゴッホの絵を見ている全て の映像」といった検索が可能となる. 18 図 4.1 想定するウェアラブルコンピューティング環境で取得されるデータ例 4.2.2 利用するデータ 本節では,本研究で利用するデータの詳細について述べる. 本研究では,時刻印を元に取得した全てのデータの同期を取る.またその時 刻印を元に時区間を構成するため,まず時間軸について触れる必要がある [23]. 時間軸の表現にはいくつかのデータモデルがあるが,本研究では時間軸の表現 に離散モデルを用いる.すなわち,時間軸は利用者のコンテキストデータを取 得する単位時間(サンプリング時間)で区切られた固定長の区間の連続した集 まりとして表現される.このとき任意の時刻は,時間軸上の単一の区間に対応 する.時間軸上の 2 つの時刻 ts と te (ts < te ) を定めると,時区間 [ts , te ] が 得られる.時区間は時間軸上の連続した時刻の集合である.また,時区間の集 合は, 19 {[t1 , t2 ], [t3 , t4 ], . . . , [t2n−1 , t2n ]} として表される. これは, {t1 . . . t2 , t3 . . . t4 , . . . , t2n−1 . . . t2n } のように略記される. ある時区間 s = [ts , te ] の開始時刻,終了時刻,持続時間はそれぞれ,次のよ うに参照することができるものとする. start(s) = ts end(s) = te duration(s) = end(s) − start(s) 利用者が撮影した映像データの情報 v は,映像データの時区間 s,映像ファ イルの格納場所 vl を用いて次のように定義することができる. v = (s, vl) またある時刻 t における利用者のコンテキストデータ c は,利用者の位置 (x, y) ,高さ h,向き r ,速度 e を用いて次のように定義することができる. c = (x, y, h, r, e, t) 利用者がウェアラブルコンピューティング環境で付けたアノテーション a は, 時刻 t ,アノテーションデータ annt ,格納場所 al を用いて下記のように定 義することができる. 20 a = (annt, al, t) さらに利用者がある時刻 t にウェアラブルコンピューティング環境で取得し た位置関連情報 d は,位置関連情報 doc ,格納場所 dl を用いて次のように定 義される. d = (doc, dl, t) システム内に保持されている映像データ,コンテキストデータ,アノテーショ ン,位置関連情報の集合はそれぞれ V , C, A, D で表すものとする. 4.3 ウェアラブルカメラ映像への MPEG-7 の適用 の問題点 ウェアラブルカメラ映像に対して MPEG-7 を適用する場合,ウェアラブル カメラ映像と従来の映像との相違点が問題となる.このため,ウェアラブルカ メラ映像に特徴的なメタデータをどのように記述するかについて議論する必要 がある.本節では,位置情報,映像シーン,位置関連情報を取り上げ,これら を MPEG-7 を用いて記述する際の問題点について概観する. 4.3.1 位置情報 あるウェアラブルカメラ映像に関するメタデータを MPEG-7 を用いて記述 する場合,MPEG-7 インスタンスの容量と記述の複雑さが問題となる.仮に GPS データを1秒毎に取得し,それを MPEG-7 を用いて記述する場合,以下 のような表現が考えられる 1 . 1 MPEG-7 では同一の内容を記述する場合でも,記述方法が複数存在する場合がある.こ れをどのように利用するかはアプ リケーション次第である. 21 <AudioVisualSegment> <Header xsi:type="DescriptionMetadataType"> <CreationLocation> <GeographicPosition> <Point longitude="135.51" latitude="34.4"/> </GeographicPosition> </CreationLocation> </Header> <MediaTime> <MediaTimePoint>2002-08-08T14:40:34:000F00</MediaTimePoint> </MediaTime> </AudioVisualSegment> : 上記の記述は単に GPS データだけを表現したものであり,映像シーンや他の 索引付けを行うとさらに容量は大きくなる.また各映像シーンの階層構造も非 常に複雑なものとなる. この例ではテキストフォーマット (TeM:Textual format for MPEG-7) を用 いているが,MPEG-7 インスタンスの圧縮ツールである BiM (Binary format for MPEG-7) を用いることで空間効率に優れたデータの蓄積を行うことがで きる.しかしながら,このように表現されたデータを用いて効率的な検索処理 を行うためには,専用のシステムを用意するか,または関係データベースや XML データベース等の既存のシステムに,位置情報のための専用の外部索引 を付加する必要がある.いずれにしても,システムの構築にコストがかかるこ とが予想される. 4.3.2 映像シーン MPEG-7 を用いて映像の論理構造記述を行う場合,対象となる時区間の開 始時刻とその長さを AudioVisualSegment DS を用いて記述する.これは一般 22 的には映像中の各シーンやトピックに相当する2 .しかしながら,ウェアラブ ルカメラ映像では明確なシーンに相当するものはない.さらにシーン自身が利 用者の要求に応じて変化する.このため,従来の映像のように MPEG-7 を用 いて予め特定したシーンを記述しておくことは,利用者の要求に必ずしも合致 しない. 4.3.3 位置関連情報 位置関連情報のようなデータに対して MPEG-7 を利用する場合には,まず 内容そのものを MPEG-7 インスタンスの中に埋め込んでしまう方法がある. 各位置関連情報に関して,それを取得した位置と時刻を特定することができ るので,位置関連情報の内容を手がかりにした映像検索が可能になる.その反 面,取得した情報の容量が大きい場合には,MPEG-7 インスタンスの容量も 大きくなってしまい,処理効率の面からは好ましいとは言えない. 一つの方法として位置関連情報は MPEG-7 の外に何らかの方法で格納して おき,XLink [25] や XPath [28] ,XPointer [29] などを用いて必要な情報への リンクを MPEG-7 インスタンス中に記述することが考えられる.こうするこ とにより,情報を損なうことなく位置関連情報を記述することができる.さら に,位置関連情報のデータ型に適切な格納方式を選択することもできる.ただ し, MPEG-7 インスタンスを参照しただけでは位置関連情報の内容が分から ないので,一々リンクを辿らなければならない.これに対する対処法としては, 映像検索に必要なキーワード 等を位置関連情報から抽出し,MPEG-7 インス タンス中に記述しておくという方法が考えられる. 2 AudioVisualSegment DS では開始時刻とその長さにより時区間の並びや階層構造を表現 するものであり,必ずしも意味的なシーンに対応付ける必要はない. 23 4.4 ウェアラブルコンピューティング環境における MPEG-7 出版 ウェアラブルカメラ映像のメタデータを MPEG-7 を用いて記述することは, 映像の二次利用やメタデータの相互運用性のために極めて有益であると考えら れる [56, 57].しかしながら,前節でも述べたように,ウェアラブルカメラ映 像の映像シーンは固定されたものではなく,検索内容によって変化する.この ため,予め映像シーンを MPEG-7 を用いて記述しておくことは有効でない. この対処方法として,メディアの形式や制作情報などのコンテンツの管理に関 する部分 (Content management) だけを MPEG-7 で記述しておくことが考え られる.これによりコンテンツ管理に関する最低限のメタデータの相互運用性 は保たれるが,映像の意味的な内容記述 (Content description) は行っていな いため,MPEG-7 の恩恵を最大限に享受することができない. 本研究の提案手法である MPEG-7 出版を用いることで,前節の問題は全て 解決する.GPS データなどの位置情報は,予め MPEG-7 インスタンスとして 記述せず,既存の技術を用いて格納しておく.本研究では,ある時刻における GPS データや高さ,向きなどの利用者のコンテキストデータは,関係データ ベースを用いて格納している.これによりデータが大量の場合でも,検索,抽 出を容易に行うことができる. また MPEG-7 出版では,格納してあるメタデータを利用し,利用者の要求 に応じて映像シーンの構築,該当する時区間の特定を行う.映像シーンの構築 をどのように行うかという問題はあるが,これにより予め映像シーンを決めて おくよりもはるかに柔軟な処理が可能となる. 位置情報と同様に,位置関連情報も別の方法を用いて格納しておく.本手法 で生成される MPEG-7 インスタンス中には,位置関連情報の格納場所へのリ ンク情報のみを記述する.これにより位置関連情報はテキストデータのみなら ず,静止画像や動画像,音声なども対象となる.情報自体はそのデータ型に応 じた格納方法をとり,検索時にはデータ型に応じた検索方法を利用し情報を取 得した時刻を特定することになる.しかしながら,現時点ではテキストデータ 24 以外のデータではその内容まで考慮に入れた検索は困難であるため,本研究で はテキストデータを対象とした全文検索だけを用いている. 本研究では個人的な映像であるウェアラブルカメラ映像を対象としているた め,MPEG-7 出版により自動生成されたインスタンスの利用も個人的なもの がほとんどであると考えられる.ここではその一例として,ビデオスクラップ 作成システムを紹介する.図 4.2 の上半分は,従来のビデオスクラップの作成 手順である.従来のビデオスクラップの作成は,多少なりとも時間と手間がか かる作業である.また索引等は映像データへ直接埋め込むため,ある目的で作 成したビデオスクラップを他の用途へ再利用することは困難である.さらに, 索引として利用することができる情報は映像データへ埋め込むことができるも の(テキスト,図,音声など )に限られ,ビデオスクラップの保管にはその容 量に見合っただけの記録媒体も必要である. MPEG-7 出版を利用したビデオスクラップ作成システム(図 4.2 下半分)で は,自動生成された MPEG-7 インスタンスが従来の映像データであるビデオ スクラップに相当する.MPEG-7 インスタンス中にはアノテーションや位置 関連情報などの索引付けが既に行われており,これらの情報は MPEG-7 対応 ブラウザ等のツールで映像と共に利用者に提示される.さらに詳細な索引付け が必要であれば,編集ツールで MPEG-7 インスタンスを編集すればよい.テ キストデータである MPEG-7 インスタンスは映像自体を扱うよりも編集が容 易である.従来は限られていた索引として利用できる情報は,MPEG-7 の利 用により静止画像や動画像等も利用することができる.自動生成された,もし くは編集した MPEG-7 インスタンスはデータベース等を利用して保管してお く.テキストデータであるため,従来のビデオスクラップと比べると保管が容 易である. 本研究の試作システムである映像検索システムを用いることで,短時間でビ デオスクラップとしての簡単な MPEG-7 インスタンスを得ることができる. 25 図 4.2 ビデオスクラップ作成手順 26 第5章 MPEG-7 出版を利用した 映像検索システム 本章では,まず MPEG-7 出版を利用した映像検索システムの概要について述 べる.次に時間,位置,アノテーションおよび位置関連情報を利用した映像 検索処理について説明する.最後に,MPEG-7 出版の手順についての説明を 行う. 5.1 提案システムの概要 本節では,提案システムの概要について述べる.図 5.1 にシステムの概要図 を示す.図中央の濃い矩形の部分が提案するウェアラブルカメラ映像検索シス テムを表し,このシステムへのデータの入力は右側に,検索インタフェースは 左側に示されている.提案システムは大きく分けて,関連情報を格納するため の内部データベース,地理情報データベース,問合せ処理部,MPEG-7 生成 部から構成される. ウェアラブルコンピューティング環境で取得した全てのデータ,すなわちウェ アラブルカメラ映像,利用者の位置情報,音声アノテーション,位置関連情報 は,それらが取得された時刻と共に内部データベースへ格納される.これまで に述べたように,提案システムでは獲得したデータを MPEG-7 インスタンス として記述するのではなく,既存の技術を用いて格納しておき,利用者の要求 に応じて動的に MPEG-7 インスタンスが生成されるところに特徴がある. 利用者が発した問合せは問合せ処理部によって内部データベースおよび地理 情報データベースへの問合せに変換,処理される.地理情報データベースは位 27 図 5.1 システムの概要図 置情報(緯度,経度)から地理情報(住所,建物名等)を検索したり,逆に地 理情報から位置情報を得るために使われる.この図では地理情報データベース はシステム内部に描かれているが,無線ネットワークが使える環境では外部に おいても良いし,両者を併用することも考えられる. 映像シーンの構築手法は,検索要求や利用する情報により様々な手法が考え られる.本研究では一つの例として,利用者の位置情報と地理情報データベー スから地理領域を元にした映像シーンを構築する.図 5.2 はシーン分割の方法 を図示したものである.図中の利用者の行動は,市,町,街区,場地の四つの 地理領域に滞在した時刻により,図の下半分のような時区間に分割することが できる.ここで市,町,街区による時区間はきれいな階層構造になっており, XML 文書である MPEG-7 で容易に表現することができる( 場地のみきれい 28 図 5.2 地理領域を元にしたシーン分割 な階層構造とならない点については後述). ウェアラブルカメラ映像においては利用者の位置情報は非常に重要な意味を 持っているため,メタデータとして何らかの形で位置情報を記述する事は必要 である.地理領域を元にした映像シーンの表現はあくまで一つの例に過ぎない が,これにより必要最小限の位置情報を MPEG-7 インスタンス内に記述する ことができる. MPEG-7 生成部は,内部データベースからの検索結果と地理領域毎の映像 シーンを元に,後述の手法を用いて MPEG-7 インスタンスを生成する.生成 された MPEG-7 インスタンスは対応する映像データとともに利用者に返却さ れる.利用者はシステムの内部構造を意識することなく,あたかも MPEG-7 データベースが利用者の検索に応じて MPEG-7 インスタンスを返してくる, と感じるのである. 29 5.2 映像の検索処理 提案システムにおける検索処理について述べる.提案システムにおいて,利 用者は時間を直接指定する他に,メタデータを検索の手がかりとして利用する ことができる.これらを整理すると,1) 位置,2) 時間,3) ( 音声)アノテー ション,4) 位置関連情報の合計四つの軸にまとめることができる.利用者は これらを自由に組み合わせた検索が可能である. また本研究のような検索システムでは,使いやすい検索インタフェースを提 供することも重要である.例えば,通常の GUI スタイルの検索インタフェー スはもちろん,音声入力や単語ベースのインタフェースもこれに含まれる.検 索インタフェース自身のデザインに関してはこの論文の範疇を越えるのでここ では触れないが,入力されたあらゆる検索式は上記の四つの軸の条件式へと変 換されシステムに入力される.結果として四つの検索軸それぞれの時区間が求 められ,その共通集合を取ることにより利用者の問い合わせに対する解を得る. そこで以下では,この四つの軸に関してシステムがどのように処理を行うか について詳しく説明する. 時間 取得した情報は全てタイムスタンプと共に記録されているので,時間を元に した検索処理は容易に行うことができる.検索条件として時区間 stime が指定 された場合,指定された時区間内の時刻に取得した情報を選択する. 位置 位置を用いた検索は,ある位置が与えられると利用者の位置情報と比較し, その位置関係により時区間を特定する.以下,問合せとして点および領域での 位置指定が行われた時の時区間を決定する方法について述べる. • 点による位置指定( 図 5.3 左) ある点 Q(x, y) が与えられたとき,利用者の位置が点 Q に等しい時刻 30 図 5.3 位置指定による検索 ( 時区間) Sloc は以下の式で求めることができる. Sloc = {t | (x , y , h, r, e, t) ∈ C ∧ x = x ∧ y = y} ここで,C は 4.2.2 節で述べた利用者のコンテキストデータ c の集合を 表す. • 点と半径 r による位置指定( 図 5.3 中) ある点 Q(x, y) と半径 r が与えられたときには,利用者の位置と比較し, その2点間のユークリッド 距離がある一定の値以下である時区間 Sloc を 特定する.この場合は以下の通りである. Sloc = {t | (x , y , h, r, e, t) ∈ C ∧ ((x − x)2 + (y − y)2 ≤ r 2 )} • 領域での位置指定( 図 5.3 右) ある領域 R が与えられた時には利用者の位置と比較し,以下の条件を満 たす時区間 Sloc を返す. Sloc = {t | (x , y , h, r, e, t) ∈ C ∧ (x , y ) ∈ R} 31 アノテーションおよび位置関連情報 検索の軸がアノテーションや位置関連情報の場合には,キーワードに基づい た検索を基本とする.検索キーとしてキーワード の集合 K = {k1 , k2 , ..., kn } が 与えられたとき,アノテーションに K が含まれる時区間 Sannt は次式で求め ることができる. Sannt = {t | (annt, al, t) ∈ A ∧ K ⊆ annt} 同様に,位置関連情報に K が含まれる時区間 Sdoc は次式で求めることがで きる. Sdoc = {t | (doc, dl, t) ∈ D ∧ K ⊆ doc} ここで,A,D はそれぞれアノテーションと位置関連情報の集合である. MPEG-7 出版処理 5.3 本節では 5.2 節での映像検索の結果として返される時区間および時区間の集 合を用いて,MPEG-7 インスタンスを生成する手法について述べる. 5.3.1 MPEG-7 インスタンス生成アルゴリズム 本節で用いる主な記号の一覧表を,表 5.1 に示す. • PublishMP7 5.2 節での検索処理の結果,四つの検索軸それぞれの時区間および 時区 間の集合 stime , Sloc , Sannt , Sdoc が求まる.PublishMP7 はそれらを入力と して MPEG-7 インスタンスを生成するアルゴ リズムである.内部処理 として,MPEG-7 インスタンスの開始タグの記述,時区間の集合 S 中 32 表 5.1 記号一覧表 記号 意味 t s S v vl V c C a annt al A d dl doc D l pname ptime UP 時刻 時区間 s の集合 映像データに関する情報 映像データの格納場所 v の集合 時刻 t におけるコンテキストデータ c の集合 アノテーションデータに関する情報 時刻 t におけるアノテーションデータ アノテーションデータの格納場所 a の集合 位置関連情報に関する情報 位置関連情報の格納場所 時刻 t における位置関連情報 d の集合 地理領域の階層名 (si,tyome,gaiku,zyouti) 地理領域名 ある地理領域での滞在時区間 l ,pname,ptime の3つの組の集合 の各時区間 s に対応する MPEG-7 要素を出力する関数の呼び出し ,終 了タグの記述を行っている. Algorithm 1 PublishMP7 Input: stime , Sloc , Sannt , Sdoc Output: MPEG-7 description begin S ← stime ∩ {Sloc } ∩ {Sannt } ∩ {Sdoc } ; print(” <?xml version="1.0" encoding="euc-jp"?> <Mpeg7 xsi:schemaLocation="urn:mpeg:mpeg7:schema:2001 33 Mpeg7-2001.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:mpeg7:schema:2001" xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001"> <Description xsi:type="ContentEntityType"> ”); foreach s ∈ S do GenerateScene(s); end print(” </Description> </Mpeg7> ”); end end • GenerateScene GenerateScene は時区間 s を入力とし,対応する AudioVisual 要素の出 力を行う.本研究では,利用者は一日の行動が終わるとウェアラブルカ メラ映像の処理を行うことを想定しており,映像データは一日につき一 本作成される.従って,時区間 s に対応する映像データは一意に求まる. Algorithm 2 GenerateScene Input: 時区間 s Output: 時区間 s に対応する MultimediaContent 要素 begin (s , vl ) ← {(s , vl ) | (s , vl ) ∈ V ∧ s ∩ s = φ}; stime ← max(start(s ), start(s)) ; etime ← min(end(s ), end(s)) ; print(” <MultimediaContent xsi:type="AudioVisualType"> <AudioVisual> <MediaSourceDecomposition> 34 <AudioVisualSegment> <MediaInformation> <MediaProfile> <MediaInstance> <InstanceIdentifier/> <MediaLocator xsi:type="TemporalSegmentLocatorType"> <MediaUri> vl’ </MediaUri> <MediaTime> <MediaTimePoint> stime </MediaTimePoint> <MediaIncrDuration mediaTimeUnit="PT1S"> etime - stime </MediaIncrDuration> </MediaTime> </MediaLocator> </MediaInstance> </MediaProfile> </MediaInformation> </AudioVisualSegment> </MediaSourceDecomposition> </AudioVisual> ”); GeoSegment(s); DescribeData(s); print(”</MultimediaContent>”); end end • GeoSegment GeoSegment は時区間 s を入力とし,地理情報データベースを利用して, その間に利用者が訪れた地名とそれに対応する時区間を返す.地名は市, 町,街区( 町よりも詳細),場地( 公園など )の地理領域の階層構造に 基づいて求められるが,このために国土地理院の数値地図 2500 [54] を利 用する.この地理領域の階層構造は日本国内で広く用いられているもの 35 であり,他の地理情報データベースにおいても同様の階層構造が用いら れていると期待できる. 時区間の記述は AudioVisualSegment DS を利用し,各AudioVisualSegment 要素内で SemanticPlace DS のAdministrativeUnit 要素を用いて地理 領域名を記述する.その際に type 属性で地理領域の階層名の指定を行 う.本研究では前述の地理情報データベースの四つの階層構造をそれぞ れ si,tyome,gaiku,zyouti とし,これを type 属性に記述する.ここ で zyouti の情報は他の三つとは異なる TemporalDecomposition 要素 内に記述しているのは,1) zyouti は他の si,tyome,gaiku とは意味あ いが異なり,またその領域は複数のsi,tyome,gaiku にまたがる可能性 がある,2) zyouti のデータが存在しない領域もあり,時区間 s の全て の時刻において zyouti 名が求まるわけではない,ためである. Algorithm 3 GeoSegment Input: 時区間 s Output: 地理領域を元にした映像区間の TemporalDecomposition 要素 begin UP ← GetRegion(s); foreach (l, pname, ptime) ∈ {(l, pname, ptime) | (l, pname, ptime) ∈ UP ∧ l = ”si”} do OutputAVSegment(l, pname, ptime, UP ); end foreach (l , pname , ptime ) ∈ {(l , pname , ptime ) | (l , pname , ptime ) ∈ UP ∧ l = ”zyouti”} do OutputAVSegment(l , pname , ptime , UP ); end end end • GetRegion 36 GetRegion は時区間 s を入力とし,時区間 s 中に利用者が訪れた全ての 地理領域名を,地理領域の階層名 l ,地理領域名 pname とその滞在時 区間 ptime の組として出力する.関数 QueryGeoDB は緯度,経度のポ イントデータを引数にとり,その位置に対応する地理領域名を返す地理 情報データベースの呼び出しである.ここでは返り値は以下のクラスで 表されているものとする. class GeoName { String si; String tyome; String gaiku; String zyouti; } Algorithm 4 GetRegion Input: 時区間 s Output: UP begin g : 地理情報 DB の検索結果を格納するための GeoName クラスの オブジェクト ; U = φ; // U は時刻 t とオブジェクト g の組の集合 UP = φ; // UP は地理階層名 l ,地理領域名 pname,滞在時区間 ptime の3つの組の集合 N = φ; // N は地理領域名の集合 foreach t ∈ s do // 時区間 s 中の各時刻 t に対して以下の処理 を行う p ← {(x, y) | (x, y, h, r, e, t) ∈ C ∧ t = t} ; // 時刻 t におけ る利用者の座標 p = (x, y) を求める g = QueryGeoDB(p); // 地理情報 DB を利用し座標 p に対 応する地理領域名を求める U ← U ∪ {(t, g)} ; end foreach f ield ∈ {”si”, ”tyome”, ”gaiku”, ”zyouti”} do 37 N ← {g.f ield | (t, g) ∈ U}; foreach n ∈ N do foreach (t, g) ∈ U do S ← {t | g.f ield = n}; // S は時区間の集合である UP ← UP ∪ {(f ield, n, S)} end end end end なお本研究の実装では,このアルゴ リズムの最初の foreach の処理(時 刻 t における利用者の座標に対応する地理領域名を求める処理)を,関 係データベースへコンテキストデータを格納する時に同時に行っている. これは検索時の処理を軽減するためである. • OutputAVSegment OutputAVSegment は GetRegion により得られた UP を元に個々の AudioVisualSegment 要素を出力する. Algorithm 5 OutputAVSegment Input: (l, pname, ptime, UP ) Output: 地理領域を元にした個々の映像区間の AudioVisualSegment 要素 begin print(” <TemporalDecomposition> <AudioVisualSegment> <Semantic> <Label/> <SemanticBase xsi:type="SemanticPlaceType"> <Label/> <Place> 38 <AdministrativeUnit type=" l "> pname </AdministrativeUnit> </Place> </SemanticBase> </Semantic> <MediaTime> <MediaTimePoint> start(ptime) </MediaTimePoint> <MediaIncrDuration mediaTimeUnit="PT1S"> duration(ptime) </MediaIncrDuration> </MediaTime> ”); if (l == ”gaiku”||l == ”zyouti”) then print(” </AudioVisualSegment> </TemporalDecomposition> ”); return; end if (l == ”si”) then ll = ”tyome”; end if (l == ”tyome”) then ll = ”gaiku”; end foreach (l , pname , ptime ) ∈ {(l , pname , ptime ) | (l , pname , ptime ) ∈ UP ∧ l = ll ∧ ptime ∈ ptime do OutputAVSegment(ll, pname’, ptime’, Up); end print(” </AudioVisualSegment> </TemporalDecomposition> ”); 39 end end • OutputAnnotation OutputAnnotation は時区間 s に含まれるアノテーション A,位置関連 情報 D を抽出しその時刻とともに記述する.位置関連情報の記述には先 にも述べたように,1) 情報そのものを MPEG-7 インスタンスに記述する 方法と,2) 情報は MPEG-7 インスタンスには含めずにリンク情報のみを 記述する,方法が考えられる.1) の方法の場合記述方法はアノテーショ ンと同様であるが,アノテーションと比べて位置関連情報の場合は情報 量が多く,生成されるインスタンスが膨大なものとなる.2) の方法では XLink の機能や MPEG-7 のMediaLocator 要素を利用することが考えら れるが,本研究では MediaLocator 要素 を利用している.MediaLocator を利用することにより音声や動画像へのリンクも可能となる. Algorithm 6 OutputAnnotation Input: 時区間 s Output: 時区間 s 内の位置関連情報,アノテーションの TemporalDecomposition 要素 begin print(”<TemporalDecomposition>”); foreach t ∈ s do print(” <AudioVisualSegment>”); if (doc, dl, t) ∈ D ∧ t = t then print(” <MediaLocator xsi:type="TemporalSegmentLocatorType"> <MediaUri> dl </MediaUri> <MediaTime> <MediaTimePoint> t’ </MediaTimePoint> </MediaTime> </MediaLocator> 40 ”); end else if (annt, al, t”) ∈ A ∧ t” = t then print(” <TextAnnotation> <FreeTextAnnotation> annt </FreeTextAnnotation> </TextAnnotation> <MediaTime> <MediaTimePoint> t" </MediaTimePoint> </MediaTime> ”); end print(” </AudioVisualSegment>”); end print(”</TemporalDecomposition>”); end end 5.3.2 MPEG-7 記述例 前節のアルゴ リズムを用いた結果生成される MPEG-7 インスタンスの例を 示す.この例では,2003 年 1 月 13 日の 14 時 08 分 45 秒から 14 時 10 分 15 秒の 情報が記述されている.この時区間に居た地理領域の情報として,奈良市,春 日野町,東大寺,またアノテーションデータとして「鹿」という情報が記述さ れている.この例では単一の時区間だけが記述されているが,複数の時区間の 記述も可能である.いわゆるダ イジェスト映像である.本研究での実装では, いまのところ単一の時区間だけに対応している. <?xml version="1.0" encoding="euc-jp"?> <Mpeg7 xsi:schemaLocation="urn:mpeg:mpeg7:schema:2001 Mpeg7-2001.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:mpeg7:schema:2001" xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001"> <Description xsi:type="ContentEntityType"> <MultimediaContent xsi:type="AudioVisualType"> <AudioVisual> <MediaSourceDecomposition> 41 <AudioVisualSegment> <MediaInformation> <MediaProfile> <MediaInstance> <InstanceIdentifier/> <MediaLocator xsi:type="TemporalSegmentLocatorType"> <MediaUri>file:///d:/demo/video/20030113.mpg</MediaUri> <MediaTime> <MediaTimePoint>2003-01-13T14:08:45:00F00</MediaTimePoint> <MediaIncrDuration mediaTimeUnit="PT1S">90</MediaIncrDuration> </MediaTime> </MediaLocator> </MediaInstance> </MediaProfile> </MediaInformation> </AudioVisualSegment> </MediaSourceDecomposition> <TemporalDecomposition> <AudioVisualSegment> <Semantic> <Label/> <SemanticBase xsi:type="SemanticPlaceType"> <Label/> <Place> <AdministrativeUnit type="si"> 奈良市</AdministrativeUnit> </Place> </SemanticBase> </Semantic> <MediaTime> <MediaTimePoint>2003-01-13T14:08:45:00F00</MediaTimePoint> <MediaIncrDuration mediaTimeUnit="PT1S">90</MediaIncrDuration> </MediaTime> <TemporalDecomposition> <AudioVisualSegment> <Semantic> <Label/> <SemanticBase xsi:type="SemanticPlaceType"> <Label/> <Place> <AdministrativeUnit type="tyome"> 春日野町</AdministrativeUnit> </Place> </SemanticBase> </Semantic> <MediaTime> <MediaTimePoint>2003-01-13T14:08:45:00F00</MediaTimePoint> <MediaIncrDuration mediaTimeUnit="PT1S">34</MediaIncrDuration> </MediaTime> 42 </AudioVisualSegment> </TemporalDecomposition> (中略) </AudioVisualSegment> </TemporalDecomposition> <TemporalDecomposition> <AudioVisualSegment> <Semantic> <Label/> <SemanticBase xsi:type="SemanticPlaceType"> <Label/> <Place> <AdministrativeUnit type="zyouti"> 東大寺</AdministrativeUnit> </Place> </SemanticBase> </Semantic> <MediaTime> <MediaTimePoint>2003-01-13T14:09:22:00F00</MediaTimePoint> <MediaIncrDuration mediaTimeUnit="PT1S">53</MediaIncrDuration> </MediaTime> </AudioVisualSegment> </TemporalDecomposition> <TemporalDecomposition> <AudioVisualSegment> <TextAnnotation> <FreeTextAnnotation> 鹿</FreeTextAnnotation> </TextAnnotation> <MediaTime> <MediaTimePoint>2003-01-13T14:09:30:00F00</MediaTimePoint> </MediaTime> </AudioVisualSegment> </TemporalDecomposition> </AudioVisual> </MultimediaContent> </Description> </Mpeg7> 43 第6章 実装 本章では,5 章で述べた内容に基づき実装を行った試作システムについて解説 する.まずシステムの概要について述べ,次に実装にあたっての準備,地理情 報データベース,内部データベースについての説明を行う.その後,映像検索 時の問合せ処理に関する説明を行い,最後に自動で生成される MPEG-7 イン スタンスの検証を行う. 6.1 システムの概要 利用者がウェアラブル環境で種々のデータを取得し,実際にウェアラブルカ メラ映像の検索を行うまでの処理手順の概略を以下に示す. (1) ウェアラブルカメラで映像を撮影すると同時に,コンテキストデータ,ア ノテーション,位置関連情報などのデータを取得する. (2) 一日の行動が終了した後,データをサーバへ転送する. (3) 地理情報データベース内の情報と利用者の位置を照合し ,各時刻の利用 者が居た地理領域名を取得する.結果は,他のデータとともに関係データ ベースへ格納する. (4) 映像の検索時には,上記の関係データベースを利用し検索要求に該当する 時区間を特定し,対応する MPEG-7 インスタンスを自動生成する.映像 の再生には SMIL [35] を用いる. 本研究では,地理情報データ,コンテキストデータ,アノテーション,位置 関連情報など のデータの格納に,フリーのデータベース管理システムである PostgreSQL [30] を用いた.また検索や MPEG-7 インスタンス生成部分には 44 Java [22] を,インタフェース部分には CGI をそれぞれ用いた. 6.2 準備 本研究では,ウェアラブルカメラに Sony 社のカラービデオカメラまめカ ム (CCD-MC100) を,GPS レシーバに GARMIN 社のハンデ ィ GPS (eTrex Vista) を用いた.eTrex Vista では,時刻,位置( 緯度,経度),高度,向き, 速度など のデータを得る.eTrex Vista での GPS データ取得のサンプリング 周期は 1 秒に設定した.なお eTrex Vista の GPS データの測定誤差は± 15m 程度である. 本研究でのアノテーションは,音声によるものを想定している.利用者が 発した音声をそのまま,あるいは音声認識ソフト等によりテキストデータに 変換したものをデータとして持っておく.検索時には,利用者の問合せと蓄積 してあるデータとの照合を行う.しかしながら,現時点ではウェアラブルコン ピューティング環境に適した音声処理装置がないため,本研究ではアノテー ション付けを行った音声を映像とともに記録し ,行動終了後に映像からアノ テーションをテキストデータに変換する作業を行った. 位置関連情報は,ウェアラブルコンピューティング環境で取得する全ての情 報をそのように呼んでいるが,本研究では行動時間内に届いたメール,閲覧し たウェブの HTML データを用いることとした. 6.3 地理情報データベース 本研究で用いる地理情報データベースは,国土交通省国土地理院刊行の数値 地図 2500 [54] ( 以下,数値地図)の奈良県版を用いて作成した.この数値地 図には,表 6.1 の様な形で数値データが入力されており,この中から本研究で 利用する行政区域,街区,場地,建物のデータを以下の CREATE 文で作成され るテーブルを用いてそれぞれ格納した. 45 CREATE TABLE si ( kukaku CHAR(7), bunrui CHAR(5), no INT4, si_name CHAR(30), center_point POINT, arc POLYGON, PRIMARY KEY(kukaku, no, si_name) ); CREATE TABLE tyome ( kukaku CHAR(7), bunrui CHAR(5), no INT4, tyome_name CHAR(30), center_point POINT, arc POLYGON, PRIMARY KEY(kukaku, no, tyome_name) ); CREATE TABLE gaiku ( kukaku CHAR(7), bunrui CHAR(5), no INT4, gaiku_name CHAR(80), center_point POINT, arc POLYGON, PRIMARY KEY(kukaku, no, gaiku_name) ); CREATE TABLE zyouti ( kukaku CHAR(7), bunrui CHAR(5), no INT4, zyouti_name CHAR(30), center_point POINT, arc POLYGON, PRIMARY KEY(kukaku, no, zyouti_name) ); CREATE TABLE tatemono ( kukaku CHAR(7), bunrui CHAR(5), no INT4, tatemono_code INT4, tatemono_name CHAR(30), center_point POINT, arc POLYGON, PRIMARY KEY(kukaku, no, tatemono_name) ); 格納したデータ数は,市:878,町:5068,街区:29957,場地:492,建物: 885 である.なお数値地図で用いられている座標系は平面直角座標系 [51] であ るため,緯度,経度と平面直角座標系の変換にジャスミンソフト社提供の座標 変換クラスライブラリを利用した [31]1 . 各テーブルの項目について概説する. • kukaku :奈良県内をメッシュで区切った各区画のコード.全テーブル共 通である. • bunrui :各テーブル毎に格納されているデータの分類コード.平成 6 年 国土基本図図式に準拠した 4 桁のコード も含まれている. 1 平面直角座標と緯度,経度の変換アルゴ リズムは国土交通省国土地理院 測地部より提供 されている [59]. 46 表 6.1 数値地図 2500 のデータ項目 No 項目 構造 1 行政区域・海岸線(町丁 ベクタ線情報でポ リゴ 目/大字まで区分) ンを構成、点情報(位置 属性 行政コード、名称 参照情報) 2 街区(住居表示の「番」) ベクタ線情報でポ リゴ 街区符号 ンを構成、点情報(位置 参照情報) 3 4 道路中心線(ネットワー ベクタ線情報で道路ネッ ク) トワークを構成 道路中心線、車道/歩道 中心線はベクタ線情報 境界、道路界 (直轄国 でネットワーク化、その 主要なものの名称 路線名 道及び高速自動車国道) 他はベクタ線情報 5 河川中心線、河川の境界 ( 直轄河川) 6 鉄道、駅 中心線はベクタ線情報、 河川名 河川域はポリゴン ベクタ線情報、駅につい 名称( 路線名) ては点情報 7 内水面 、公園等の場地 ( 都市公園、飛行場等) 8 9 ベクタ線情報でポ リゴ 名称 ンを構成 建物(各圏の中心地域の ラスタ画像、公共建物は 公共建物については種 み) ポリゴン 別・名称 測地基準点( 三角点) 点情報 名称 • no :各テーブル毎に格納されているデータの個別コード. • *_name :各テーブル毎に格納されているデータの名称(市名,町名,街 区名,場地名,建物名). • center_point :各テーブル毎に格納されているデータの代表点の座標. • arc :各テーブル毎に格納されているデータの領域情報がポリゴン型で 格納されている. • tatemono_code :建物名を分類するための公共建物コード( tatemono テーブルのみ). 47 6.4 内部データベース 本システムでは,内部データベースとしてビデオ情報,コンテキストデータ, アノテーション,位置関連情報を格納するテーブルを有している.各テーブル の CREATE 文を示す. CREATE TABLE video ( video_name CHAR(12), video_start TIMESTAMP, video_end TIMESTAMP, vlocation CHAR(20), PRIMARY KEY(video_name, date) ); CREATE TABLE context ( location POINT, altitude FLOAT4, direction INT2, speed FLOAT4, timestamp TIMESTAMP, si CHAR(30), tyome CHAR(30), gaiku CHAR(80), zyouti CHAR(30), PRIMARY KEY(timestamp) ); CREATE TABLE annt ( timestamp TIMESTAMP, annotation TEXT, PRIMARY KEY(timestamp) ); CREATE TABLE digital_data ( timestamp TIMESTAMP, geoinfo TEXT, PRIMARY KEY(timestamp) ); 以下,各テーブルの内容について解説する. video video テーブルには,映像データの名前 (video_name),その開始時刻 (video_start) と終了時刻 (video_end),映像データの格納場所 (vlocation) を格納する.本 研究では,一日につき一つの映像データが作成されることを想定している.そ のため,video_name が求まれば他の情報は一意に決まる. 48 context context テーブルには,平面直角座標系に変換した利用者の位置 (location), 高度 (altitude),向き (direction),速度 (speed),日時 (timestamp) といっ た GPS レシーバにより取得されるデータと,地理情報データベースと利用者 の位置から求めた地理領域名 (si, tyome, gaiku, zyout) を格納する. annt annt テーブルには,アノテーションを付けた日時 (timestamp) とアノテー ションの内容 (annotation) を格納する. digital data digital_data テーブルには,位置関連情報を取得した日時 (timestamp) と 位置関連情報の内容 (geoinfo) を格納する. 6.5 問合せ処理 本システムの処理の流れを図 6.1 に示す.映像の検索は図 6.2 の検索インタ フェースを用いて行う.このインタフェースを通じて, 6.3 節,6.4 節で述べた データベースに対して四つの検索軸(時間,位置,アノテーション,位置関連 情報)を利用した検索を行うことができる.利用者が入力したデータは,問合 せ処理部によって内部データベース,地理情報データベースへの SQL 文へと 変換される.データベースを利用して求まった時区間,データを元に MPEG-7 生成部で MPEG-7 インスタンスが生成される.MPEG-7 対応ブラウザ等があ れば,この MPEG-7 インスタンスをアプリケーションに渡して映像再生,情 報提示という処理を行うことができる.本研究では映像の再生には SMIL を 用いている. 49 図 6.1 本システムの処理の流れ 6.5.1 時間指定による検索 時間を指定した場合には該当する時区間が一意に求まるため,それを基に MPEG-7 出版,SMIL ファイルの生成を行い,検索結果の表示画面へと移る ( 図 6.3 ). 6.5.2 アノテーションと位置関連情報を利用した検索 アノテーションと位置関連情報の検索軸を利用する場合には,キーワード に よる検索が基本となる.検索する対象を選択し,キーワード を入力すると,該 当するデータを取得した日時の選択画面になる( 図 6.4 -2 ).ここで日時を選 50 択し ,映像の長さを決定することで最終的な結果が表示される( 図 6.4 -3 ). キーワード にマッチするアノテーション,位置関連情報を取得した日時を問い 合わせる SQL 文の例を以下に示す. SELECT timestamp FROM annt WHERE annotation LIKE ’%東大寺%’ ; SELECT timestamp FROM digital_data WHERE geoinfo LIKE ’%興福寺%’; 6.5.3 位置指定による検索 検索軸に位置を利用する場合には,5.2 節で述べた指定方法を直接用いる以 外に,地理情報データベースを利用したキーワード による検索も可能となって 「 興福寺に居た時間」を求めるためには,図 6.5 -1 で いる(図 6.5 ).例えば, キーワード として “興福寺” と入力する.システムは地理情報データベースか ら “興福寺” を含む地理領域名を抽出し,利用者に提示する(図 6.5 -2 ).利用 者が選択した地理領域名を元にシステムは以下に示す SQL 文を生成し,この 問合せにより抽出された時刻が連続している区間を一つの時区間として利用者 に提示する( 図 6.5 -3 ).利用者は提示された時区間を選択することで映像を 見ることができ,同時に MPEG-7 インスタンスが生成される( 図 6.5-4 ). SELECT timestamp FROM context_timestamp WHERE location @ ( SELECT arc FROM zyouti WHERE zyouti_name = ’ 興福寺’) ; 51 6.6 生成された MPEG-7 インスタンスの検証 本研究の実装により自動生成される MPEG-7 インスタンスが妥当なもので あるかど うかを調べるため,XSV [39] という XML Schema の検証ツールを 用いて検証を行った.5.3.2 節の記述例を用いて検証を行った出力結果の一部 を以下に示す. <?xml version=’1.0’?> <?xml-stylesheet type=’text/xsl’ href=’xsv.xsl’?> <xsv xmlns=’http://www.w3.org/2000/05/xsv’ docElt="{urn:mpeg:mpeg7:schema:2001}Mpeg7" instanceAssessed="true" instanceErrors="0" rootType="[Anonymous]" schemaErrors="0" schemaLocs="urn:mpeg:mpeg7:schema:2001 -> Mpeg7-2001.xsd" target="file:///c:/Program Files/MovieTool/Data/MPEG-7/result3.xml" validation="strict" version="XSV 2.2-4 of 2003/01/21 23:23:04"> <schemaDocAttempt URI="file:///c:/Program Files/MovieTool/Data/MPEG-7/Mpeg7-2001.xsd" namespace="urn:mpeg:mpeg7:schema:2001" outcome="success" source="schemaLoc"/> ( 中略) </xsv> 検証の結果,自動生成された MPEG-7 インスタンスが妥当なものであるこ とを確認した. 52 図 6.2 検索インターフェイス 53 図 6.3 時間指定による検索 54 図 6.4 アノテーションおよび位置関連情報のキーワード 検索 55 図 6.5 地理情報データベースを利用した位置指定による検索 56 第7章 結論 本研究では,まず種々の背景により映像データが増加しており,それに伴い映 像データの管理や流通における問題が発生しつつあることに触れた.そしてこ の問題を解決する一つの手段としてマルチメディア情報の内容記述のための枠 組を提供する国際規格である MPEG-7 に注目し ,現状での MPEG-7 の利用 における問題点を概観した.問題点の一つとして,MPEG-7 インスタンスの 作成には時間と手間がかかる事が挙げられる. 本研究の提案手法である MPEG-7 出版は,その問題点を解決する一つの手 法である.映像に付随するメタデータは関係データベースなどの既存の技術を 用いて格納,管理しておき,利用者の検索要求に応じて必要なデータだけを利 用する.そこで抽出されたデータを利用して,動的に MPEG-7 インスタンス を自動生成する.MPEG-7 出版で利用するデータは,そのデータ型や格納方 法に限定されない.そのため,既にビデオライブラリなどのアーカイブがある 場合にも応用可能であるし,また特にメタデータが大量に存在するような状況 においては非常に有効である. 本研究では MPEG-7 出版の応用例としてウェアラブルコンピューティング 環境を取り上げ,議論を行ってきた.ウェアラブルコンピューティング環境で は,ウェアラブルカメラ映像のメタデータとして利用できる情報が多く存在す る.またウェアラブルカメラ映像には,明確なシーンが存在せず,利用者の要 求に応じて映像データ中の必要な部分が変化するため,MPEG-7 出版の対象 として非常に適している.逆に従来の手法では,処理が困難という事も挙げら れる. ウェアラブルカメラ映像のメタデータとしては,時刻,利用者の位置,アノ テーション,その他様々な電子データである位置関連情報を利用した.これら 57 の情報を取得した後,事前に加工することなく既存の技術を用いて格納してお く.本研究では,関係データベースを利用した.利用者が発した問合せは,提 案システム内部の問合せ処理部によって,内部データベースや地理情報データ ベースへの問合せに変換,処理される.それらのデータベースから必要な情報 を抽出した後,MPEG-7 生成部にて問合せに応じた MPEG-7 インスタンスが 自動生成される. 自動生成された MPEG-7 インスタンスは,他の MPEG-7 対応のアプリケー ションで処理されることを想定しているが,本研究では一つの例としてビデオ スクラップ作成システムを示した.本研究で試作した映像検索システムでは, 利用者は時間,位置,アノテーション,位置関連情報を利用してウェアラブル カメラ映像の検索を行うことができ,結果として MPEG-7 インスタンスを得 る.この MPEG-7 インスタンスが従来のビデオスクラップに相当するもので ある.MPEG-7 出版を実際にウェアラブルカメラ映像に適用した結果,短時 間でビデオスクラップを作成することができることを確認した. 今後の課題として,まず第一に MPEG-7 インスタンス内に記述する映像 シーンに関する問題がある.本研究では利用者の位置情報を利用し,地理領域 を元に映像シーンを構築した.これはあくまで一つの例に過ぎない.関連研究 でも紹介したような利用者に関する他の多くの情報を利用することで,より検 索要求に適した,利用者が意図する映像シーンを動的に構築することができる ものと考える. 第二の課題としては,MPEG-7 出版に利用するデータに関する問題が挙げ られる.本研究で利用したアノテーションや位置関連情報だけでは,まだまだ 情報の量が少ないため,自動生成されるビデオスクラップも限られたものでし かない.しかしながら,例えば授業の資料,会議で配布された PDF ファイル など ありとあらゆる情報をメタデータとして利用することで, 「 ある授業の一 つのトピックだけをまとめたビデオスクラップ 」や「 XML と 情報検索が話題 にのぼった会議のビデオスクラップ 」などの作成を簡単に行うことができるよ うになる. 第三の課題としては, MPEG-7 を利用した応用アプリケーションに関する 58 問題が挙げられる.本研究では MPEG-7 インスタンスの自動生成を行うシス テムの実装を行ったが,MPEG-7 出版の有効性を確かなものにするためには 自動生成された MPEG-7 インスタンスを利用するアプリケーションが必要で ある.現状では商用アプリケーションは存在しないため,そうした部分まで含 めた応用システムを開発する必要がある. 59 謝辞 本研究の遂行および論文執筆にあたり多くの方々の御指導ならびに御援助を頂 きました.ここに感謝の意を記します. 情報科学研究科 植村 俊亮 教授には,本研究の機会を与えて頂き,また本 研究を行うにあたり熱心な御指導,御鞭撻を賜わりました.日常生活において も,多くの刺激を与えて頂きました.心よりお礼申し上げます. 情報科学研究科 木戸出 正継 教授には,御多忙中にも関わらず論文審査委員 をお引き受け頂き,本研究に関する貴重な議論,御意見を頂きました.心から 感謝致します. 情報科学センター 砂原 秀樹 教授には,御多忙中にも関わらず論文審査委員 をお引き受け頂き,本研究に関する貴重な御意見,御助言を頂きました.心よ り感謝致します. 情報科学研究科 吉川 正俊 助教授には,本研究に関して熱心かつ丁寧な御指 導,御助言を頂きました.また研究活動を進めるにあたっての心構え,姿勢な ど 多くの事を教えて頂きました.心よりお礼申し上げます. 情報科学研究科 天笠 俊之 助手には,本研究の初期段階より研究内容に関す る議論を重ね,また論文執筆に至るまで,終始懇切丁寧な御指導,御助言を頂 きました.ここに深謝の意を表します. 情報科学研究科 波多野 賢治 助手には,研究会や日々の議論を通じて本研究 に関する多くの御意見,御助言を頂きました.深く感謝致します. 特許庁の 藤井 眞吾 氏には,共に過ごした 1 年間の学生生活において多くの 御協力,御助言を頂きました.また多くの刺激を与えて頂いたお蔭で,充実し た学生生活を送ることができました.心より感謝致します. 60 本研究室の同輩 江田 毅晴 氏には,学生生活を通じて多くの御協力,御助言 を頂きました.研究活動を行う姿勢,向上心など 見習うべき点も多く,常に刺 激を与えて頂き,学生生活を充実したものにすることができました.心より感 謝致します. 秘書の 今田 薫 氏には,研究活動を進めるにあたり日常生活面での多くの御 協力を頂きました.心よりお礼申し上げます. 本研究室の学生の皆様には,本研究を行うにあたり多くの御指導,御協力を 頂きました.また日常生活においても日頃より刺激を与えて頂き,大変感謝し ております.心よりお礼申し上げます. 最後に,本大学での学生生活と研究活動は,妻である穂の理解と協力なくし ては成し得ませんでした.心から感謝致します. 61 参考文献 [1] オーデ ィオビジュアル複合情報処理シンポジウム 2001 論文集. 情報処理 学会シンポジウムシリーズ , Vol. 2001, No. 10, 2001. [2] ISO/IEC 15938, 2002. Multimedia Content Description Interface. [3] Kiyoharu Aizawa, Kenichiro Ishijima, and Makoto Shiina. Automatic summarization of wearable video -indexing subjective interest-. In IEEE Pacific Rim Conference on Multimedia, pp. 16–23, October 2001. [4] MPEG-7 Annotation Tool. http: //www.alphaworks.ibm.com /tech/videoannex. ( 2003 年 1 月 15 日確認). [5] Hisashi Aoki, Bernt Schiele, and Alex Pentland. Realtime Personal Positioning System for Wearable Computers. In International Symposium on Wearable Computers(ISWC), pp. 37–43, 1999. [6] Daniel Ashbrook and Thad Starner. Learning Significant Locations and Predicting User Movement with GPS. In International Symposium on Wearable Computing(ISWC), 2002. [7] B.S.Manjunath, Phillipe Salembier, and Thomas Sikora, editors. Introduction to MPEG-7. JOHN WILEY & SONS, LTD, 2002. [8] Shih-Fu Chang, William Chen, Horace J. Meng, Hari Sundaram, and Di Zhong. VideoQ: An Automated Content Based Video Search System 62 Using Visual Cues. In Proc. of the fifth ACM international conference on Multimedia, pp. 313 – 324, 1997. [9] Brian Clarkson, Alex Pentland, and Kenji Mase. Recognizing User Context via Wearable Sensors: Baseline System. In International Symposium on Wearable Computers(ISWC), pp. 69–76, 2000. [10] COALA:Content-Oriented Audiovisual Library Access. http:// lithpc17.epfl.ch/. ( 2003 年 1 月 31 日確認). [11] DICEMAN:Distributed Internet Content Exchange with MPEG-7 and Agent Ne- gotiations. http://www.cordis.lu/infowin/acts/analysys/products/ thematic/agents/ch3/diceman.htm. ( 2003 年 1 月 15 日確認). [12] Margery Eldridge, Michael Lamming, and Mike Flynn. Does a Video Diary Help Recall. In Proceedings of the conference on People and computers VII, pp. 257–269, 1993. [13] Extensible Markup Language (XML) 1.0 (Second Edition). http://www.w3.org/tr/rec-xml. ( 2003 年 1 月 17 日確認). [14] Jonny Farringdon, Andrew J. Moore, Nancy Tilbury, James Church, and Pieter D. Biemond. Wearable Sensor Badge and Sensor Jacket for Context Awareness. In International Symposium on Wearable Computers(ISWC), pp. 107–113, 1999. [15] Myron Flickner, et al. Query by Image and Video Content: The QBIC System. IEEE Computer, Vol. 28, No. 9, pp. 23–32, 1995. [16] G-XML プロジェクト . http://gisclh.dpc.or.jp/gxml/contents/index.htm. ( 2003 年 1 月 15 日確認). 63 [17] Andrew Graves and Mounia Lalmas. Video Retrieval using an MPEG-7 based Inference Network. In The 25th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, August 2002. [18] Harmony. http://www.ilrt.bris.ac.uk/discovery/harmony/. ( 2003 年 1 月 15 日確認). [19] Alexander Hauptmann, et al. Video Retrieval with The Informedia Digital Video Library System. In Proc. of the Tenth Text Retrieval Conference (TREC), pp. 13–16, November 2001. [20] Jennifer Healey and Rosalind Picard. StartleCam: A Cybernetic Wearable Camera. In International Symposium on Wearable Computers(ISWC), pp. 42–49, 1998. [21] Jane Hunter and Jan Newmarch. An Indexing, Browsing, Search and Retrieval System for Audiovisual Libraries. In Third European Conference on Research and Advanced Technology for Digital Libraries(ECDL), 1999. [22] JavaTM2 SDK Standard Edition. http:// java.sun.com/products/ jdk/1.2/. ( 2003 年 1 月 17 日確認). [23] Christian S. Jensen and C. Dyreson, editors. The Consensus Glossary of Temporal Database Concepts. http://www.cs.auc.dk/ csj/Glossary/, ( 2003 年 1 月 15 日確認). [24] Rainer Lienhart, Silvia Pfeiffer, and Wolfgang Effelsberg. Video Abstracting. Communications of the ACM, pp. 55–62, 1997. [25] XML Linking Language (XLink) Version 1.0. tr/xlink/. ( 2003 年 1 月 15 日確認). 64 http: //www.w3.org/ [26] Jose M. Martinez. MPEG-7 Overview (version8). ISO/IEC JTC1/SC29 /WG11, July 2002. http://mpeg.telecomitalialab.com /standards/mpeg7/mpeg-7.htm ( 2003 年 1 月 15 日確認). [27] MovieTool. http://www.ricoh.co.jp/src/multimedia/movietool/ in- dex j.html. ( 2003 年 1 月 15 日確認). [28] XML Path Language (XPath) Version 1.0. http://www.w3.org/tr/xpath. ( 2003 年 1 月 17 日確認). [29] XML Pointer Language(XPointer). http://www.w3.org/tr/xpath. ( 2003 年 1 月 31 日確認). [30] PostgreSQL. http://www.postgresql.org/. ( 2003 年 1 月 17 日確認). [31] ジャス ミン ソ フト 社 座 標 変 換 ク ラ ス ラ イブ ラ リ 1.0. http:// www.jasminesoft.co.jp/scalc/. ( 2003 年 1 月 15 日確認). [32] Shinichi Satoh, Yuichi Nakamura, and Takeo Kanade. Name-It: Naming and Detecting Faces in News Videos. IEEE Multimedia, Vol. 6, No. 1, pp. 22–35, 1999. [33] XML Schema. http://www.w3.org/xml/schema. ( 2003 年 1 月 17 日確 認). [34] Michael A. Smith and Takeo Kanade. Video Skimming and Characterization through The Combination of Image and Language Understanding Techniques. IEEE CVPR, pp. 775–781, 1997. [35] Synchronized Multimedia Integration Language (SMIL 2.0). http: //www.w3.org/ tr/smil20/. ( 2003 年 1 月 17 日確認). [36] Hiroyuki Tarumi, Ken Morishita, Yusuke Ito, and Yahiko Kambayashi. Communication through Virtual Active Objects Overlaid onto the Real 65 World. In Proc. of The Third International Conference on Collaborative Virtual Environments (CVE), pp. 155–164, 2000. [37] Takamasa Ueda, Toshiyuki Amagasa, Masatoshi Yoshikawa, and Shunsuke Uemura. A System for Retrieval and Digest Creation of Video Data Based on Geographic Objects. In Proc. of 13th International Conference on Database and Expert Systems Applications (DEXA), 2002. [38] Takamasa Ueda, Toshiyuki Amagasa, Masatoshi Yoshikawa, and Shunsuke Uemura. Digest Creation of Video Data Recorded by Wearable Cameras using Locational and Geographical Information. In Proc. of The First International Workshop on Wireless Information Systems (WIS), pp. 94–105, 2002. [39] XSV (XML Schema Validator). http://www.ltg.ed.ac.uk/ ht/xsv- status.html. ( 2003 年 1 月 31 日確認). [40] Roy Want, Kenneth P. Fishkin, Anuj Gujar, and Beverly L. Harrison. Bridging Physical and Virtual Worlds with Electronic Tags. In Proc. of ACM Conference on Human Factors in Computing Systems(CHI’99), pp. 370–377, 1999. [41] XQuery 1.0: An XML Query Language. http://www.w3.org/tr/xquery/. ( 2003 年 3 月 6 日確認). [42] 株式会社エ ヌ・ティ・ティ・ド コモプレ ス・リリース( 2001 年 9 月 18 日). http://www.nttdocomo.co.jp/new/contents/01/whatnew0918.html. ( 2003 年 1 月 16 日確認). [43] 日本アイ・ビー・エム株式会社プレス・リリース( 2001 年 9 月 18 日). http://www-6.ibm.com/jp/newsdb.nsf/2001/09181. ( 2003 年 1 月 16 日 確認). 66 [44] 井手一郎, 山本晃司, 浜田玲子, 田中英彦. ショット分類に基づく映像への 自動的索引付け手法. 信学論 (D-II), Vol. 82, No. 10, pp. 1543–1551, 1999. [45] 椎尾一郎, 早坂達. モノに情報を貼りつける− RFID タグとその応用−. 情報処理, Vol. 40, No. 08, pp. 846–850, 1999. [46] 益満健, 越後富夫. 映像重要度を用いたパーソナライズ要約映像作成手法. 信学論 (D-II), Vol. 84, No. 8, pp. 1848–1855, 2001. [47] 石島健ー郎, 相澤清晴. ウェアラブルによる長時聞個人体験記録の編集─ 脳波を利用した映像の自動編集の試み─. 信学技報,PRMU 147-159, 電 子情報通信学会, 2001. [48] 南憲一, 阿久津明人, 浜田洋, 外村佳伸. 音情報を用いた映像インデクシン グとその応用. 信学論 (D-II), Vol. 81, No. 3, pp. 529–537, 1998. [49] 青木恒. ウェアラブル・コンピュータ向けリアルタイム Personal Positioning system. 情報処理学会論文誌, Vol. 41, No. 9, pp. 2404–2412, 2000. [50] 谷口行信, 南憲一, 佐藤隆, 桑野秀豪, 児島治彦, 外村佳伸. SceneCabinet:映 像解析技術を統合した映像インデクシングシステム. 信学論 (D-II), Vol. 84, No. 6, pp. 1112–1121, 2001. [51] 国 土 交 通 省 告 示 第 九 号. http://www.gsi.go.jp/law/heimencho.html. ( 2003 年 1 月 15 日確認). [52] 青木秀一, 青木輝勝, 安田浩. MPEG-7 を用いた画像検索における動き情 報の応用. 信学技報,IE 109-115, 電子情報通信学会, 2001. [53] 関口俊一, 栄藤稔, 江村恒一, 藤川渡, 益満健, 越後富夫. Mpeg-7 マルチメ デ ィア表現に基づくビデオダ イジェスト視聴およびオーサリングシステ ム. 信学技報,PRMU 85-93, 電子情報通信学会, 2001. [54] 数値地図2500( 空間データ基盤 ). http://www.gsi.go.jp/map/cdrom/2500/t2500.htm. ( 2003 年 1 月 15 日確認). 67 [55] 寺口正義, 益満健, 越後富夫, 関口俊一. 時区間インデックス生成による パーソナルビデオダ イジェスト . 信学技報,PRMU 85-93, 電子情報通信 学会, 2001. [56] 兵清弘, 天笠俊之, 吉川正俊, 植村俊亮. MPEG-7 を利用したウェアラブル カメラ映像の索引付け手法. 第 13 回データ工学ワークショップ (DEWS), 2002. [57] 兵清弘, 天笠俊之, 吉川正俊, 植村俊亮. ウェアラブル環境における MPEG7 出版に基づく映像検索システム. データベースと Web 情報システムに 関するシンポジウム (DBWeb), Vol. 2002, No. 19, pp. 343–350, 2002. [58] 横路誠司, 高橋克巳, 三浦信幸, 島健一. 位置指向の情報の収集,構造化お よび検索手法. 情報処理学会論文誌, Vol. 41, No. 7, pp. 1987–1998, 2000. [59] 国土地理院測地部. http://vldb.gsi.go.jp/sokuchi/. ( 2003 年 1 月 15 日 確認). [60] 上田隆正, 天笠俊之, 吉川正俊, 植村俊亮. 位置情報と地理情報を用いた ウェアラブルカメラ映像のダ イジェスト作成. 信学技報,DE 78-104, 電 子情報通信学会, 2001. 68 付録 A Multimedia Description Schemes ( 本研究での利用部分のみ抜粋) <!-- ##################################################################### <!-- ISO/IEC 15938 Information Technology - Multimedia Content Description <!-- Interface MPEG-7 Description Example developed by MPEG MDS Sub-group, <!-- ##################################################################### <schema targetNamespace="urn:mpeg:mpeg7:schema:2001" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" xmlns:xml="http://www.w3.org/XML/1998/namespace" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <documentation> This document contains MDS tools defined in ISO/IEC 15938-5 </documentation> </annotation> <!-- ####################################### --> <!-- Definition of MPEG-7 Base types (4.2) --> <!-- ####################################### --> <!-- Definition of MPEG-7 base type --> <complexType name="Mpeg7BaseType" abstract="true"> <complexContent> <restriction base="anyType"/> </complexContent> </complexType> <!-- Definition of generic D --> <complexType name="DType" abstract="true"> <complexContent> <extension base="mpeg7:Mpeg7BaseType"/> </complexContent> </complexType> <!-- Definition of generic DS --> <complexType name="DSType" abstract="true"> <complexContent> <extension base="mpeg7:Mpeg7BaseType"> <sequence> <element name="Header" type="mpeg7:HeaderType" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="id" type="ID" use="optional"/> <attributeGroup ref="mpeg7:timePropertyGrp"/> <attributeGroup ref="mpeg7:mediaTimePropertyGrp"/> </extension> 69 --> --> --> --> </complexContent> </complexType> <!-- Definition of Visual D --> <complexType name="VisualDType" abstract="true"> <complexContent> <extension base="mpeg7:DType"/> </complexContent> </complexType> <!-- Definition of Audio D --> <complexType name="AudioDType" abstract="true"> <complexContent> <extension base="mpeg7:DType"/> </complexContent> </complexType> <!-- Definition of Visual DS --> <complexType name="VisualDSType" abstract="true"> <complexContent> <extension base="mpeg7:DSType"/> </complexContent> </complexType> <!-- Definition of Audio DS --> <complexType name="AudioDSType" abstract="true"> <complexContent> <extension base="mpeg7:DSType"/> </complexContent> </complexType> <!-- Definition of Header datatype --> <complexType name="HeaderType" abstract="true"> <complexContent> <extension base="mpeg7:Mpeg7BaseType"> <attribute name="id" type="ID" use="optional"/> </extension> </complexContent> </complexType> <!-- ################################################ --> <!-- Definition of MPEG-7 root element (4.3) --> <!-- ################################################ --> <!-- Definition of Mpeg7 Type--> <complexType name="Mpeg7Type" abstract="true"> <sequence> <element name="DescriptionMetadata" type="mpeg7:DescriptionMetadataType" minOccurs="0"/> </sequence> <attribute ref="xml:lang" use="optional"/> <attributeGroup ref="mpeg7:timePropertyGrp"/> <attributeGroup ref="mpeg7:mediaTimePropertyGrp"/> </complexType> <!-- Definition of Mpeg7 Element --> <element name="Mpeg7"> <complexType> <complexContent> <extension base="mpeg7:Mpeg7Type"> <choice> <element name="DescriptionUnit" type="mpeg7:Mpeg7BaseType"/> <element name="Description" type="mpeg7:CompleteDescriptionType" minOccurs="1" maxOccurs="unbounded"/> </choice> </extension> </complexContent> </complexType> </element> <!-- ############################################################ --> 70 <!-- Definition of Complete description top-level types (4.4.2) --> <!-- ############################################################ --> <!-- Definition of CompleteDescription Top-level Type --> <complexType name="CompleteDescriptionType" abstract="true"> <sequence> <element name="DescriptionMetadata" type="mpeg7:DescriptionMetadataType" minOccurs="0"/> <element name="Relationships" type="mpeg7:GraphType" minOccurs="0" maxOccurs="unbounded"/> <element name="OrderingKey" type="mpeg7:OrderingKeyType" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> <!-- ########################################################### --> <!-- Definition of Content description top-level types (4.4.3) --> <!-- ########################################################### --> <!-- Definition of ContentDescription Top-level Type --> <complexType name="ContentDescriptionType" abstract="true"> <complexContent> <extension base="mpeg7:CompleteDescriptionType"> <sequence> <element name="Affective" type="mpeg7:AffectiveType" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of ContentEntity Top-level Type --> <complexType name="ContentEntityType"> <complexContent> <extension base="mpeg7:ContentDescriptionType"> <sequence> <element name="MultimediaContent" type="mpeg7:MultimediaContentType" minOccurs="1" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of ContentAbstraction Top-level Type --> <complexType name="ContentAbstractionType" abstract="true"> <complexContent> <extension base="mpeg7:ContentDescriptionType"/> </complexContent> </complexType> <!-- Definition of SemanticDescription Top-level Type --> <complexType name="SemanticDescriptionType"> <complexContent> <extension base="mpeg7:ContentAbstractionType"> <choice> <element name="Semantics" type="mpeg7:SemanticType" minOccurs="1" maxOccurs="unbounded"/> <element name="ConceptCollection" type="mpeg7:ConceptCollectionType" minOccurs="1" maxOccurs="unbounded"/> </choice> </extension> </complexContent> </complexType> <!-- Definition of ModelDescription Top-level Type --> <complexType name="ModelDescriptionType"> <complexContent> <extension base="mpeg7:ContentAbstractionType"> <sequence> <element name="Model" type="mpeg7:ModelType" 71 minOccurs="1" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of SummaryDescription Top-level Type --> <complexType name="SummaryDescriptionType"> <complexContent> <extension base="mpeg7:ContentAbstractionType"> <sequence> <element name="Summarization" type="mpeg7:SummarizationType" minOccurs="1" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of ViewDescription Top-level Type --> <complexType name="ViewDescriptionType"> <complexContent> <extension base="mpeg7:ContentAbstractionType"> <choice> <element name="View" type="mpeg7:ViewType" minOccurs="1" maxOccurs="unbounded"/> <element name="ViewSet" type="mpeg7:ViewSetType" minOccurs="1" maxOccurs="unbounded"/> <element name="ViewDecomposition" type="mpeg7:ViewDecompositionType" minOccurs="1" maxOccurs="unbounded"/> </choice> </extension> </complexContent> </complexType> <!-- Definition of VariationDescription Top-level Type --> <complexType name="VariationDescriptionType"> <complexContent> <extension base="mpeg7:ContentAbstractionType"> <choice> <element name="VariationSet" type="mpeg7:VariationSetType" minOccurs="1" maxOccurs="unbounded"/> <element name="Variation" type="mpeg7:VariationType" minOccurs="1" maxOccurs="unbounded"/> </choice> </extension> </complexContent> </complexType> <!-- ########################################################## --> <!-- Definition of Content management top-level types (4.4.4) --> <!-- ########################################################## --> <!-- Definition of ContentManagement Top-level Type --> <complexType name="ContentManagementType" abstract="true"> <complexContent> <extension base="mpeg7:CompleteDescriptionType"/> </complexContent> </complexType> <!-- Definition of UserDescription Top-level Type --> <complexType name="UserDescriptionType"> <complexContent> <extension base="mpeg7:ContentManagementType"> <sequence> <element name="User" type="mpeg7:AgentType" minOccurs="0"/> <element name="UserPreferences" type="mpeg7:UserPreferencesType" minOccurs="0" maxOccurs="unbounded"/> <element name="UsageHistory" type="mpeg7:UsageHistoryType" minOccurs="0" maxOccurs="unbounded"/> 72 </sequence> </extension> </complexContent> </complexType> <!-- Definition of MediaDescription Top-level Type --> <complexType name="MediaDescriptionType"> <complexContent> <extension base="mpeg7:ContentManagementType"> <sequence> <element name="MediaInformation" type="mpeg7:MediaInformationType" minOccurs="1" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of CreationDescription Top-level Type --> <complexType name="CreationDescriptionType"> <complexContent> <extension base="mpeg7:ContentManagementType"> <sequence> <element name="CreationInformation" type="mpeg7:CreationInformationType" minOccurs="1" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of UsageDescription Top-level Type --> <complexType name="UsageDescriptionType"> <complexContent> <extension base="mpeg7:ContentManagementType"> <sequence> <element name="UsageInformation" type="mpeg7:UsageInformationType" minOccurs="1" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of ClassificationSchemeDescription Top-level Type --> <complexType name="ClassificationSchemeDescriptionType"> <complexContent> <extension base="mpeg7:ContentManagementType"> <choice> <element name="ClassificationScheme" type="mpeg7:ClassificationSchemeType" minOccurs="1" maxOccurs="unbounded"/> <element name="ClassificationSchemeBase" type="mpeg7:ClassificationSchemeBaseType" minOccurs="1" maxOccurs="unbounded"/> </choice> </extension> </complexContent> </complexType> <!-- ####################################################### --> <!-- Definition of Multimedia content entity tools (4.4.5) --> <!-- ####################################################### --> <!-- Definition of MultimediaContent Content Entity --> <complexType name="MultimediaContentType" abstract="true"> <complexContent> <extension base="mpeg7:DSType"/> </complexContent> </complexType> <!-- Definition of Image Content Entity --> <complexType name="ImageType"> <complexContent> <extension base="mpeg7:MultimediaContentType"> 73 <sequence> <element name="Image" type="mpeg7:StillRegionType"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of Video Content Entity --> <complexType name="VideoType"> <complexContent> <extension base="mpeg7:MultimediaContentType"> <sequence> <element name="Video" type="mpeg7:VideoSegmentType"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of Audio Content Entity --> <complexType name="AudioType"> <complexContent> <extension base="mpeg7:MultimediaContentType"> <sequence> <element name="Audio" type="mpeg7:AudioSegmentType"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of AudioVisual Content Entity --> <complexType name="AudioVisualType"> <complexContent> <extension base="mpeg7:MultimediaContentType"> <sequence> <element name="AudioVisual" type="mpeg7:AudioVisualSegmentType"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of Multimedia Content Entity --> <complexType name="MultimediaType"> <complexContent> <extension base="mpeg7:MultimediaContentType"> <sequence> <element name="Multimedia" type="mpeg7:MultimediaSegmentType"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of MultimediaCollection Content Entity --> <complexType name="MultimediaCollectionType"> <complexContent> <extension base="mpeg7:MultimediaContentType"> <choice> <element name="Collection" type="mpeg7:CollectionType" minOccurs="1" maxOccurs="unbounded"/> <element name="StructuredCollection" type="mpeg7:StructuredCollectionType" minOccurs="1" maxOccurs="unbounded"/> </choice> </extension> </complexContent> </complexType> <!-- Definition of Signal Content Entity --> <complexType name="SignalType"> <complexContent> <extension base="mpeg7:MultimediaContentType"> 74 <choice> <element name="ImageSignal" type="mpeg7:StillRegionType"/> <element name="VideoSignal" type="mpeg7:VideoSegmentType"/> <element name="AudioSignal" type="mpeg7:AudioSegmentType"/> <element name="SignalRef" type="mpeg7:ReferenceType"/> </choice> </extension> </complexContent> </complexType> <!-- Definition of InkContent Content Entity --> <complexType name="InkContentType"> <complexContent> <extension base="mpeg7:MultimediaContentType"> <sequence> <element name="InkContent" type="mpeg7:InkSegmentType"/> </sequence> </extension> </complexContent> </complexType> <!-- Definition of AnalyticEditedVideo Content Entity --> <complexType name="AnalyticEditedVideoType"> <complexContent> <extension base="mpeg7:MultimediaContentType"> <sequence> <element name="AnalyticEditedVideo" type="mpeg7:AnalyticEditedVideoSegmentType"/> </sequence> </extension> </complexContent> </complexType> <!-- ########################################### --> <!-- Definition of MediaTime datatype (6.4.10) --> <!-- ########################################### --> <!-- Definition of MediaTime datatype --> <complexType name="MediaTimeType"> <sequence> <choice> <element name="MediaTimePoint" type="mpeg7:mediaTimePointType"/> <element name="MediaRelTimePoint" type="mpeg7:MediaRelTimePointType"/> <element name="MediaRelIncrTimePoint" type="mpeg7:MediaRelIncrTimePointType"/> </choice> <choice minOccurs="0"> <element name="MediaDuration" type="mpeg7:mediaDurationType"/> <element name="MediaIncrDuration" type="mpeg7:MediaIncrDurationType"/> </choice> </sequence> </complexType> <!-- ################################################ --> <!-- Definition of mediaTimePoint datatype (6.4.11) --> <!-- ################################################ --> <!-- Definition of mediaTimePoint datatype --> <simpleType name="mediaTimePointType"> <restriction base="mpeg7:basicTimePointType"> <pattern value="(\-?\d+(\-\d{2}(\-\d{2})?)?)? (T\d{2}(:\d{2}(:\d{2}(:\d+)?)?)?)?(F\d+)?"/> </restriction> </simpleType> <!-- ############################################### --> <!-- Definition of mediaDuration datatype (6.4.12) --> <!-- ############################################### --> <!-- Definition of mediaDuration datatype --> <simpleType name="mediaDurationType"> <restriction base="mpeg7:basicDurationType"> 75 <pattern value="\-?P(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?(\d+N)?)?(\d+F)?"/> </restriction> </simpleType> <!-- ################################################### --> <!-- Definition of MediaIncrDuration datatype (6.4.13) --> <!-- ################################################### --> <!-- Definition of MediaIncrDuration datatype --> <complexType name="MediaIncrDurationType"> <simpleContent> <extension base="integer"> <attribute name="mediaTimeUnit" type="mpeg7:mediaDurationType" use="optional"/> </extension> </simpleContent> </complexType> <!-- ################################################### --> <!-- Definition of MediaRelTimePoint datatype (6.4.14) --> <!-- ################################################### --> <!-- Definition of mediaTimeOffset datatype --> <simpleType name="mediaTimeOffsetType"> <restriction base="mpeg7:basicDurationType"> <pattern value="\-?P(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?(\d+N)?)?(\d+F)?"/> </restriction> </simpleType> <!-- Definition of MediaRelTimePoint datatype --> <complexType name="MediaRelTimePointType"> <simpleContent> <extension base="mpeg7:mediaTimeOffsetType"> <attribute name="mediaTimeBase" type="mpeg7:xPathRefType" use="optional"/> </extension> </simpleContent> </complexType> <!-- ####################################################### --> <!-- Definition of MediaRelIncrTimePoint datatype (6.4.15) --> <!-- ####################################################### --> <!-- Definition of MediaRelIncrTimePoint datatype --> <complexType name="MediaRelIncrTimePointType"> <simpleContent> <extension base="integer"> <attribute name="mediaTimeUnit" type="mpeg7:mediaDurationType" use="optional"/> <attribute name="mediaTimeBase" type="mpeg7:xPathRefType" use="optional"/> </extension> </simpleContent> </complexType> <!-- ########################################################## --> <!-- Definition of mediaTimeProperty attribute group (6.4.16) --> <!-- ########################################################## --> <!-- Definition of mediaTimePropertyGrp attribute group --> <attributeGroup name="mediaTimePropertyGrp"> <attribute name="mediaTimeBase" type="mpeg7:xPathRefType" use="optional"/> <attribute name="mediaTimeUnit" type="mpeg7:mediaDurationType" use="optional"/> </attributeGroup> <!-- ############################################# --> <!-- Definition of MediaLocator datatype (6.5.2) --> <!-- ############################################# --> <!-- Definition of MediaLocator datatype --> <complexType name="MediaLocatorType"> <sequence> 76 <choice minOccurs="0"> <element name="MediaUri" type="anyURI"/> <element name="InlineMedia" type="mpeg7:InlineMediaType"/> </choice> <element name="StreamID" type="nonNegativeInteger" minOccurs="0"/> </sequence> </complexType> <!-- ############################################ --> <!-- Definition of InlineMedia datatype (6.5.3) --> <!-- ############################################ --> <!-- Definition of InlineMedia datatype --> <complexType name="InlineMediaType"> <choice> <element name="MediaData16" type="hexBinary"/> <element name="MediaData64" type="base64Binary"/> </choice> <attribute name="type" type="mpeg7:mimeType" use="required"/> </complexType> <!-- ####################################################### --> <!-- Definition of TemporalSegmentLocator datatype (6.5.4) --> <!-- ####################################################### --> <!-- Definition of TemporalSegmentLocator datatype --> <complexType name="TemporalSegmentLocatorType"> <complexContent> <extension base="mpeg7:MediaLocatorType"> <choice minOccurs="0"> <element name="MediaTime" type="mpeg7:MediaTimeType"/> <element name="BytePosition"> <complexType> <attribute name="offset" type="nonNegativeInteger" use="required"/> <attribute name="length" type="positiveInteger" use="optional"/> </complexType> </element> </choice> </extension> </complexContent> </complexType> <!-- ######################################### --> <!-- Definition of Textual datatypes (7.2.2) --> <!-- ######################################### --> <!-- Definition of TextualBase datatype --> <complexType name="TextualBaseType" abstract="true"> <simpleContent> <extension base="string"> <attribute ref="xml:lang" use="optional"/> <attribute name="phoneticTranscription" use="optional"> <simpleType> <list itemType="mpeg7:PhoneType"/> </simpleType> </attribute> <attribute name="phoneticAlphabet" type="mpeg7:phoneticAlphabetType" use="optional" default="sampa"/> </extension> </simpleContent> </complexType> <!-- Definition of Textual datatype --> <complexType name="TextualType"> <simpleContent> <extension base="mpeg7:TextualBaseType"/> </simpleContent> 77 </complexType> <!-- ############################################### --> <!-- Definition of TextAnnotation datatype (7.2.3) --> <!-- ############################################### --> <!-- Definition of TextAnnotation datatype --> <complexType name="TextAnnotationType"> <choice minOccurs="1" maxOccurs="unbounded"> <element name="FreeTextAnnotation" type="mpeg7:TextualType"/> <element name="StructuredAnnotation" type="mpeg7:StructuredAnnotationType"/> <element name="DependencyStructure" type="mpeg7:DependencyStructureType"/> <element name="KeywordAnnotation" type="mpeg7:KeywordAnnotationType"/> </choice> <attribute name="relevance" type="mpeg7:zeroToOneType" use="optional"/> <attribute name="confidence" type="mpeg7:zeroToOneType" use="optional"/> <attribute ref="xml:lang"/> </complexType> <!-- ################################ --> <!-- Definition of Place DS (7.5.2) --> <!-- ################################ --> <!-- Definition of Place DS --> <complexType name="PlaceType"> <complexContent> <extension base="mpeg7:DSType"> <sequence> <element name="Name" type="mpeg7:TextualType" minOccurs="0" maxOccurs="unbounded"/> <element name="NameTerm" type="mpeg7:ControlledTermUseType" minOccurs="0" maxOccurs="unbounded"/> <element name="Role" type="mpeg7:TermUseType" minOccurs="0"/> <element name="GeographicPosition" minOccurs="0"> <complexType> <sequence> <element name="Point" type="mpeg7:GeographicPointType"/> </sequence> <attribute name="datum" type="string" use="optional"/> </complexType> </element> <element name="AstronomicalBody" type="mpeg7:TermUseType" minOccurs="0" maxOccurs="unbounded"/> <element name="Region" type="mpeg7:regionCode" minOccurs="0" maxOccurs="unbounded"/> <element name="AdministrativeUnit" minOccurs="0" maxOccurs="unbounded"> <complexType> <simpleContent> <extension base="string"> <attribute name="type" type="string" use="optional"/> </extension> </simpleContent> </complexType> </element> <element name="PostalAddress" minOccurs="0"> <complexType> <sequence> <element name="AddressLine" type="mpeg7:TextualType" minOccurs="1" maxOccurs="unbounded"/> <element name="PostingIdentifier" type="mpeg7:TextualType" minOccurs="0"/> 78 </sequence> <attribute ref="xml:lang" use="optional"/> </complexType> </element> <element name="InternalCoordinates" type="string" minOccurs="0"/> </sequence> <attribute ref="xml:lang" use="optional"/> </extension> </complexContent> </complexType> <!-- ########################################### --> <!-- Definition of MediaInformation DS (8.2.1) --> <!-- ########################################### --> <!-- Definition of MediaInformation DS --> <complexType name="MediaInformationType"> <complexContent> <extension base="mpeg7:DSType"> <sequence> <element name="MediaIdentification" type="mpeg7:MediaIdentificationType" minOccurs="0"/> <element name="MediaProfile" type="mpeg7:MediaProfileType" minOccurs="1" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- ############################################# --> <!-- Definition of MediaIdentification D (8.2.2) --> <!-- ############################################# --> <!-- Definition of MediaIdentification D --> <complexType name="MediaIdentificationType"> <complexContent> <extension base="mpeg7:DType"> <sequence> <element name="EntityIdentifier" type="mpeg7:UniqueIDType"/> <element name="AudioDomain" type="mpeg7:ControlledTermUseType" minOccurs="0" maxOccurs="unbounded"/> <element name="VideoDomain" type="mpeg7:ControlledTermUseType" minOccurs="0" maxOccurs="unbounded"/> <element name="ImageDomain" type="mpeg7:ControlledTermUseType" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- ####################################### --> <!-- Definition of MediaProfile DS (8.2.3) --> <!-- ####################################### --> <!-- Definition of MediaProfile DS --> <complexType name="MediaProfileType"> <complexContent> <extension base="mpeg7:DSType"> <sequence> <element name="ComponentMediaProfile" type="mpeg7:MediaProfileType" minOccurs="0" maxOccurs="unbounded"/> <element name="MediaFormat" type="mpeg7:MediaFormatType" minOccurs="0"/> <element name="MediaTranscodingHints" type="mpeg7:MediaTranscodingHintsType" minOccurs="0"/> <element name="MediaQuality" type="mpeg7:MediaQualityType" minOccurs="0"/> <element name="MediaInstance" type="mpeg7:MediaInstanceType" minOccurs="0" maxOccurs="unbounded"/> 79 </sequence> <attribute name="master" type="boolean" use="optional" default="false"/> </extension> </complexContent> </complexType> <!-- ######################################## --> <!-- Definition of MediaInstance DS (8.2.7) --> <!-- ######################################## --> <!-- Definition of MediaInstance DS --> <complexType name="MediaInstanceType"> <complexContent> <extension base="mpeg7:DSType"> <sequence> <element name="InstanceIdentifier" type="mpeg7:UniqueIDType"/> <choice> <element name="MediaLocator" type="mpeg7:MediaLocatorType"/> <element name="LocationDescription" type="mpeg7:TextualType"/> </choice> </sequence> </extension> </complexContent> </complexType> <!-- ################################################ --> <!-- Definition of SegmentDecomposition DS (11.2.3) --> <!-- ################################################ --> <!-- Definition of SegmentDecomposition DS --> <complexType name="SegmentDecompositionType" abstract="true"> <complexContent> <extension base="mpeg7:DSType"> <attribute name="criteria" type="string" use="optional"/> <attribute name="overlap" type="boolean" use="optional" default="false"/> <attribute name="gap" type="boolean" use="optional" default="false"/> </extension> </complexContent> </complexType> <!-- Definition of SpatialSegmentDecomposition DS --> <complexType name="SpatialSegmentDecompositionType" abstract="true"> <complexContent> <extension base="mpeg7:SegmentDecompositionType"/> </complexContent> </complexType> <!-- Definition of TemporalSegmentDecomposition DS --> <complexType name="TemporalSegmentDecompositionType" abstract="true"> <complexContent> <extension base="mpeg7:SegmentDecompositionType"/> </complexContent> </complexType> <!-- Definition of SpatioTemporalSegmentDecomposition DS --> <complexType name="SpatioTemporalSegmentDecompositionType" abstract="true"> <complexContent> <extension base="mpeg7:SegmentDecompositionType"/> </complexContent> </complexType> <!-- Definition of MediaSourceSegmentDecomposition DS --> <complexType name="MediaSourceSegmentDecompositionType" abstract="true"> <complexContent> <extension base="mpeg7:SegmentDecompositionType"/> </complexContent> </complexType> <!-- ############################################### --> 80 <!-- Definition of AudioVisualSegment DS (11.6.2) --> <!-- ############################################### --> <!-- Definition of AudioVisualSegment DS --> <complexType name="AudioVisualSegmentType"> <complexContent> <extension base="mpeg7:SegmentType"> <sequence> <choice minOccurs="0"> <element name="MediaTime" type="mpeg7:MediaTimeType"/> <element name="TemporalMask" type="mpeg7:TemporalMaskType"/> </choice> <choice minOccurs="0" maxOccurs="unbounded"> <element name="SpatialDecomposition" type="mpeg7:AudioVisualSegmentSpatialDecompositionType"/> <element name="TemporalDecomposition" type="mpeg7:AudioVisualSegmentTemporalDecompositionType"/> <element name="SpatioTemporalDecomposition" type="mpeg7:AudioVisualSegmentSpatioTemporalDecompositionType"/> <element name="MediaSourceDecomposition" type="mpeg7:AudioVisualSegmentMediaSourceDecompositionType"/> </choice> </sequence> </extension> </complexContent> </complexType> <!-- ############################################################# --> <!-- Definition of AudioVisualSegment decomposition DSs (11.6.3) --> <!-- ############################################################# --> <!-- Definition of AudioVisualSegmentSpatialDecomposition DS --> <complexType name="AudioVisualSegmentSpatialDecompositionType"> <complexContent> <extension base="mpeg7:SpatialSegmentDecompositionType"> <choice minOccurs="1" maxOccurs="unbounded"> <element name="AudioVisualRegion" type="mpeg7:AudioVisualRegionType"/> <element name="AudioVisualRegionRef" type="mpeg7:ReferenceType"/> </choice> </extension> </complexContent> </complexType> <!-- Definition of AudioVisualSegmentTemporalDecomposition DS --> <complexType name="AudioVisualSegmentTemporalDecompositionType"> <complexContent> <extension base="mpeg7:TemporalSegmentDecompositionType"> <choice minOccurs="1" maxOccurs="unbounded"> <element name="AudioVisualSegment" type="mpeg7:AudioVisualSegmentType"/> <element name="AudioVisualSegmentRef" type="mpeg7:ReferenceType"/> <element name="AudioVisualRegion" type="mpeg7:AudioVisualRegionType"/> <element name="AudioVisualRegionRef" type="mpeg7:ReferenceType"/> </choice> </extension> </complexContent> </complexType> <!-- Definition of AudioVisualSegmentSpatioTemporalDecomposition DS --> <complexType name="AudioVisualSegmentSpatioTemporalDecompositionType"> <complexContent> <extension base="mpeg7:SpatioTemporalSegmentDecompositionType"> <choice minOccurs="1" maxOccurs="unbounded"> <element name="AudioVisualRegion" type="mpeg7:AudioVisualRegionType"/> <element name="AudioVisualRegionRef" type="mpeg7:ReferenceType"/> </choice> 81 </extension> </complexContent> </complexType> <!-- Definition of AudioVisualSegmentMediaSourceDecomposition DS --> <complexType name="AudioVisualSegmentMediaSourceDecompositionType"> <complexContent> <extension base="mpeg7:MediaSourceSegmentDecompositionType"> <choice minOccurs="1" maxOccurs="unbounded"> <element name="AudioVisualSegment" type="mpeg7:AudioVisualSegmentType"/> <element name="AudioVisualSegmentRef" type="mpeg7:ReferenceType"/> <element name="VideoSegment" type="mpeg7:VideoSegmentType"/> <element name="VideoSegmentRef" type="mpeg7:ReferenceType"/> <element name="StillRegion" type="mpeg7:StillRegionType"/> <element name="StillRegionRef" type="mpeg7:ReferenceType"/> <element name="AudioSegment" type="mpeg7:AudioSegmentType"/> <element name="AudioSegmentRef" type="mpeg7:ReferenceType"/> </choice> </extension> </complexContent> </complexType> <!-- ######################################## --> <!-- Definition of SemanticBase DS (12.3.2) --> <!-- ######################################## --> <!-- Definition of SemanticBase DS --> <complexType name="SemanticBaseType" abstract="true"> <complexContent> <extension base="mpeg7:DSType"> <sequence> <element name="AbstractionLevel" type="mpeg7:AbstractionLevelType" minOccurs="0"/> <element name="Label" type="mpeg7:TermUseType" minOccurs="1" maxOccurs="unbounded"/> <element name="Definition" type="mpeg7:TextAnnotationType" minOccurs="0"/> <element name="Property" type="mpeg7:TermUseType" minOccurs="0" maxOccurs="unbounded"/> <element name="MediaOccurrence" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <choice minOccurs="0"> <element name="MediaInformation" type="mpeg7:MediaInformationType"/> <element name="MediaInformationRef" type="mpeg7:ReferenceType"/> <element name="MediaLocator" type="mpeg7:MediaLocatorType"/> </choice> <element name="Mask" type="mpeg7:MaskType" minOccurs="0"/> <element name="AudioDescriptor" type="mpeg7:AudioDType" minOccurs="0" maxOccurs="unbounded"/> <element name="AudioDescriptionScheme" type="mpeg7:AudioDSType" minOccurs="0" maxOccurs="unbounded"/> <element name="VisualDescriptor" type="mpeg7:VisualDType" minOccurs="0" maxOccurs="unbounded"/> <element name="VisualDescriptionScheme" type="mpeg7:VisualDSType" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="type" use="optional" default="perceivable"> <simpleType> <union> <simpleType> <restriction base="NMTOKEN"> <enumeration value="perceivable"/> <enumeration value="reference"/> 82 <enumeration value="symbol"/> </restriction> </simpleType> <simpleType> <restriction base="mpeg7:termReferenceType"/> </simpleType> </union> </simpleType> </attribute> </complexType> </element> <element name="Relation" type="mpeg7:RelationType" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <!-- #################################### --> <!-- Definition of Semantic DS (12.3.4) --> <!-- #################################### --> <!-- Definition of Semantic DS --> <complexType name="SemanticType"> <complexContent> <extension base="mpeg7:SemanticBagType"/> </complexContent> </complexType> <!-- ########################################## --> <!-- Definition of SemanticPlace DS (12.3.10) --> <!-- ########################################## --> <!-- Definition of SemanticPlace DS --> <complexType name="SemanticPlaceType"> <complexContent> <extension base="mpeg7:SemanticBaseType"> <sequence> <element name="Place" type="mpeg7:PlaceType" minOccurs="0"/> <element name="SemanticPlaceInterval" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="Position" type="mpeg7:PositionType" minOccurs="0"/> <element name="Extent" type="mpeg7:ExtentType" minOccurs="0"/> </sequence> </complexType> </element> </sequence> </extension> </complexContent> </complexType> 83