現実空間ユーザと仮想空間ユーザの リアルタイム情報共有のための

現実空間ユーザと仮想空間ユーザの
リアルタイム情報共有のためのフレームワークの提案
山本 眞也 村田 佳洋 柴田 直樹*
安本 慶一 伊藤 実
奈良先端科学技術大学院大学 情報科学研究科
滋賀大学 経済学部 情報管理学科*
Proposal of framework for CSCW
between real world and virtual world
Shinya YAMAMOTO Yoshihiro MURATA Naoki SHIBATA*
Keiichi YASUMOTO Minoru ITO
Graduate School of Information Science, Nara Institute of Science and Technology
Department of Information Processing and Management, Shiga University*
1
はじめに
近年,コンピュータグラフィックスにおける物体のモデル (以
後,仮想オブジェクト) を,ユーザの目の前に,あたかも存在す
るように表示し,複数人で仮想オブジェクトを共有する Mixed
Reality や Augmented Reality が注目されている.また,遠距
離にいるユーザがネットワークを介して協調作業を行う CSCW
(Computer Supported Cooperative Work) に関する研究も盛
んである.これらの技術を誰もが利用可能な情報共有手段とし
て考えた場合,大勢の一般的なユーザが同時に使うことを考慮
しなければならない.現状では,高価かつ特殊な装置や専用の
ネットワーク,サーバを設置することで実現している研究が多
く,大勢のユーザが一般的なネットワークを介してこのような
情報共有を行いたいといった要求を満たすことは難しい.
現在までに,大勢で情報を共有する手段として,文献 [5] が
提案されている.これは,インターネットベースの DVEs (Distributed Virtual Environments) を実現するための提案であり,
ユーザはブラウザを用いてアバタ (ユーザを表すコンピュータグ
ラフィックス) を操作することで,一つの仮想空間を共有する.
仮想空間上にショッピングモールなどを構築することで,より
リアルなウェブショッピングが可能であるとしている.しかし,
この研究は,手軽に多人数の情報共有手段としては有効である
が,共有した物体の仮想空間上での見え方が現実の物体に合わ
せて変化することが要求される CSCW に用いるためには,不
十分である.
我々は,Augmented Reality や Mixed Reality の技術を用
いることにより,CSCW 向け汎用 DVEs の実現を目指す.以
上を実現するためには,(1) 現実空間のオブジェクトが仮想空間
上で共有できること.また,そのオブジェクトの動作が,仮想
空間上にも反映されること,(2) 現実空間におけるユーザに加
え,一般的なネットワークと PC を介した仮想空間上のユーザ
が多数参加できること,(3) 実時間性およびオブジェクトの再生
品質が,対象とする CSCW に対して十分であること,などが
求められる.
本稿では,上記 (1)–(3) を実現するためのフレームワークを
提案する.
2
提案するフレームワーク
現実空間上のユーザと仮想空間上のユーザの間で情報を共有
できるようにするため,我々が提案するフレームワークでは,リ
アルモード,仮想モード,の 2 つのモードを提供する.リアル
モードでは,現実世界に会場が用意され,ユーザはこの会場内
で実際に移動しながら他のユーザとともにコミュニケーション
を行う.リアルモードの会場は複数用意することもできる.こ
の場合,自分と別の会場にいるユーザは,相互に共有される仮
想空間上のユーザとして観測される.このモードでは,現実空
間と仮想空間は一致し,各ユーザは,ヘッドマウントディスプ
レイなどを用いて,仮想空間上に設置されたオブジェクト (ユー
ザが持つオブジェクトなどを含む) と現実空間を重ね合わせた
映像を観測する.このとき,仮想空間上のユーザは,そのユー
ザを表現するアバタとして登録される.ユーザ・アバタ間では
ジェスチャ,テキスト,音声によるコミュニケーションが可能
である.
以上で述べたような仮想空間共有方式を,携帯端末ユーザを
対象に実現するためには,仮想空間と現実空間のマッピングお
よび合成,ユーザ間のコミュニケーション,オブジェクトやア
バタなどの状態の共有,仮想空間へのオブジェクトの登録・削除
などを実現する機構が必要である.また,これらの機構は,シ
ステムの開発・運用コストを低く抑えるため,高価かつ特殊な
装置,サーバ,回線を用いることなく,一般的な機器を用いて
安価に実現できることが望ましい.
2.1
想定環境
本研究では,多人数の利用者が,高価かつ特殊な装置,機器
を用いずに,ネットワークを介し,情報を共有することでコミュ
ニケーションを行うことを目的とする.
オブジェクトは,次のように大きく 2 つに分類される.
• リアルオブジェクト: 現実空間の会場に存在するユーザお
よび机,椅子などその他のオブジェクト.
• 仮想オブジェクト: 別の場所 (自宅や他の会場など) に存在
し,アバタとして登録されているユーザ,もしくは,モデ
リングデータにより仮想空間に仮想的に登録したオブジェ
クト.
リアルモードのユーザは,主に,ヘッドマウントディスプレ
イを有し,会場を Augmented Reality の技術 [7, 8] によって現
実空間を拡張することで,その会場以外に存在するユーザやオ
ブジェクトを観測する.仮想モードのユーザは,主に PC を用
い,3D ゲームの要領でアバタを操作し,ディスプレイ装置を介
して他のユーザやオブジェクトを観測する.
また,リアルオブジェクトは,文献 [3] などの技術を用いて
仮想空間上に登録する.これにより仮想空間上のユーザもリア
ルオブジェクトを認識できるようになるが,オブジェクトに影
響を与えるアクションは制限される.例えば,仮想空間上のユー
ザがリアルオブジェクトを移動させることは難しい.
各会場は,仮想的に同一の空間として統合される.会場の同
一化には,各会場の四隅に特徴点となるマーキングポインタを
設置し,それらの距離を測定することで,ある任意の特徴点を基
準にマッピング・合成を行う.このとき,各特徴点からなる面は
平面であると仮定する.会場の間取りが異なる場合,仮想空間
上のユーザが壁を擦り抜けるなどの状況が考えられるが,それ
は,ある会場に存在するユーザにしか移動できない場所,など
として設定することが可能なため,機能の一部として許容する.
主に使用する機器は以下の通りである.
• ヘッドマウントディスプレイなどのディスプレイ機器.
• ヘッドセットなどの音声入出力機器.
• bluetooth,3 次元位置姿勢センサなどの位置,姿勢推定
機器.
• PC,PDA,携帯電話端末などの計算機.
また,会場やオブジェクトを共有する場合には,文献 [3, 4]
などの既存の技術を用いる.このとき,次の装置を使用する.
• マーキングポインタ.
• デジタルカメラ,デジタルビデオカメラ.
また,これらの機器を用いず,直接のデータ入力によりオブジェ
クトを登録することも可能である.よって,既にデータが存在
する場合には,これらの装置は必要ない.
2.2
諸定義
本稿では,仮想空間として 3 次元空間を想定する.仮想空間
は,背景と複数のアバタやオブジェクトからなるものと定義す
る.アバタは,ユーザの仮想体であり,オブジェクトは,アバタ
を含む全ての移動体および静止物であるとする.これらは,そ
れぞれ,属性 (仮想空間上での位置,向き,状態など) を持つ.
これらの属性を変化させる出来事をイベントと呼ぶ1 .イベント
の例として,アバタの移動や,オブジェクトへの働きかけ,オ
ブジェクトの形状の変化などがある.仮想空間上の,ある時刻
t における全てのオブジェクトの属性情報を,状態と呼び,S(t)
と表記する.S(t) はイベントの発生により刻々と変化して行く.
空間内の一貫性を保証するため,時刻 t における状態 S(t) は,
ユーザ間で共有されなければならない.
仮想空間の上面図における,各ユーザの現在位置を中心とし
た矩形に相当する部分領域を視野範囲と定義する.時刻 t にお
いて,仮想空間上のある部分領域 v に存在する全てのオブジェ
クトの属性情報 (領域 v の状態) を S(t; v) と表記する.任意の
時刻 t において部分領域 v を視野範囲内に納めているユーザ間
で,状態 S(t; v) が矛盾なく共有されているとき,部分空間 v は
一貫性があると定義する.
3
フレームワークの実現方法
本節では,提案するフレームワークを実現するための各種機
構について述べる.
3.1
ロビーサーバの設置
まず,提案手法では,ユーザの参加,離脱,それにともなう
ユーザリストを管理するロビーサーバを用いる.
ロビーサーバは,システムが稼働している間は固定サーバと
して設置されるものとする.仮想空間の管理を行う計算機など
は,計算能力や帯域を基準にして,ユーザの計算機 (以下,ノー
ド) に割り当てられる.
また,ロビーサーバは,システムの一部を担うノードが離脱
した際に,それを補うためのバックアップノードをスタックし
ておくバックアップノードプールを持つ.バックアップノード
は,ユーザノードの中から計算能力や帯域に余裕があるものが
優先的に選ばれる.これを実現するために,ロビーサーバは定
期的にユーザノードの計算能力や帯域をチェックする.
ロビーサーバの負荷は小さいため,一般的な PC で処理を行
うことができる.
3.2
オブジェクトの管理
各オブジェクトは,そのオブジェクトの状態を管理し,観測
者にデータを送るための管理ノードが割り当てられる.このノー
ドの処理は,負荷分散のために固定サーバもしくはユーザの端
末で行われる.この割り当てはロビーサーバが行う.
オブジェクトを登録するには,まず,文献 [3, 4] などの手法
によりモデリングデータを取得しておき,担当ノード (3.3 節で
述べる) にオブジェクトの追加を通知する.モデリングデータ
は,ポリゴンモデルとテクスチャの品質に応じて数段階程度の
差分データから構成する.
それぞれのオブジェクトには,所有権を持つユーザが 1 名設
定される.所有権を持つユーザは,他のユーザがそのオブジェ
クトに対して許される操作 (移動,回転,変形,など) を設定す
1 音声はイベントではなく,ストリーミングデータとして別個に扱う
こととする.
図 3: イベント配送
3.4
図 1: 仮想空間の分割
subscribe
unsubscribe
図 2: 範囲の設定
ることができ,またオブジェクトを削除する権利を持つ.所有
権は譲渡可能であり,そのオブジェクトの管理ノードは誰が所
有権を持っているかのデータを管理する.
3.3
担当ノードの設置
提案手法では,アバタやオブジェクトの位置情報を管理する
ために担当ノードを用いる.図 1 に示すように,仮想空間を立
方体で均等な M 個の部分領域に分割し,そのそれぞれに 1 つの
担当ノードを割り当てる.担当ノードは,担当する部分領域上
のオブジェクトの座標とその管理ノードに関するデータを保持
する.ユーザはアバタを中心に視野範囲と呼ばれる領域を持っ
ており,視野範囲内のオブジェクトを観測する.
提案手法では,各ユーザの視野範囲を上下左右に一定の距離
d1 だけ広げた subscribe 範囲を設ける (図 2).ユーザノードは
その範囲と重なりを持つ各部分領域の担当ノードにあらかじめ
subscribe を行う.担当ノードは,subscribe しているユーザノー
ドに対し,管理している部分領域の各オブジェクトとアバタの
座標を配送する.また,担当する部分領域にある各オブジェク
トとアバタの距離を算出し,各オブジェクトの管理ノードに通
知する.この値は動的に変化するため,subscribe されている限
り一定時間間隔で送られ続ける.管理ノードは,この距離の値
に応じてユーザノードへ配送するデータの品質を調整するため
の QoS 制御 (3.6 節で述べる) を行う.ここではデータ量をオブ
ジェクトとユーザ間の距離だけに着目して調整しているが,こ
れはユーザの向いている方角や,複数オブジェクト間の相対的
な重要度などを考慮するように拡張することが可能である.
イベント配送の効率化
イベント配送の際に,ユニキャストによる個別の配送をする
と,通信量や配送遅延が増大する.そこで,無線ネットワーク
など低帯域の環境向けに,イベント配送を効率化する方法を以
下で提案する.
まず,ユーザは,それぞれがユニークなユーザ ID の他に,
会場毎に定められた会場 ID,部分領域毎に定められた部分領域
ID を持つ.会場 ID はそれぞれの無線アクセスポイントに定め
られているものとする.また,仮想モードのユーザはユニーク
な会場 ID を持つこととする.管理ノード,担当ノードは,配送
の際,会場 ID が同じユーザは同じ会場にいるものとみなし,会
場に設置された無線アクセスポイントを介してデータをブロー
ドキャストする (図 3).会場のアクセスポイントは,パケット
を受けとると,まず,ブロードキャストで部分領域 ID を送り,
さらにパケットをブロードキャストする.このとき,受信した
ものと同じ部分領域 ID を持つユーザはパケットを受信し,そ
れ以外のユーザはこのパケットを廃棄する.
また提案手法では,動的な配送木 [6] を導入することでさら
なる負荷分散が可能である.
3.5
オブジェクトデータの配送
オブジェクトが登録されると,各ユーザ (ノード) でそのオブ
ジェクトを認識できるように,オブジェクトのモデリングデー
タが配送される.オブジェクトのモデリングデータは,階層化
コーディングしておき,まず,最も低品質なモデリングデータ
が各ユーザに向けて配送される.次に,タイムスロット (3.6 節
で述べる) に従い,逐次,差分データが配送される.もし,ある
ユーザにとって,特定のオブジェクトの正確な形が重要である
場合には,そのユーザは担当ノードに通知することで,その他
のオブジェクトのリアルタイム性を犠牲にして,優先的にオブ
ジェクトデータのダウンロードを優先させることもできる.
3.6
QoS 制御
管理ノードがオブジェクトの属性の変化に関するすべての
データをすべてのユーザにストリーミングで送ると,送られる
データ量が膨大となる.そこで,本研究では,タイムスロット
方式を利用した通信量の削減を行う.
全てのプレイヤノードの時計は NTP (Network Time Protocol) [2] などを用いて緩やかに同期させる.空間における時刻
は,タイムスロットのシーケンス番号で表す.すなわち,タイ
ムスロットの長さを ∆ ,ゲームの開始時刻を T0 とすると,時
間 [T0 + i × ∆, T0 + (i + 1) × ∆) を,タイムスロット Ti で表す.
図 4: タイムスロットの多重化
を持ったさまざまな場所のユーザ間でコミュニケーション,イ
ンタラクションを行うことができる.さらに,注目する情報と
それ以外の情報の通信量を自動的に制御することが可能である.
今後,提案手法をミドルウェアとして実装し,テストアプリ
ケーションを構築して評価を行う予定である.
謝辞
本研究の一部は,(財) 中山隼雄科学技術文化財団の支援を受
けて行った.ここに記して謝意を表す.
参考文献
[1] A. S. Tanenbaum and M. V. Steen: “Distributed Systems - Principles and Paradigms”, Prentice Hall (2002).
図 5: 距離に基づいた QoS 制御
タイムスロットは,最小時間単位 δ ≤ ∆ の n 倍からなるも
のとし,オブジェクトやイベントの種類に対し個別に設定する
ことで,タイムスロットを多重化することが可能である.各タイ
ムスロットごとに対象オブジェクト (もしくは空間) の属性 (状
態) が最新のものに更新され,それを共有するユーザの間で一
貫性が保たれる.
例えば,システム全体のタイムスロット,オブジェクト O1 , O2
のタイムスロットに関して,システム全体のタイムスロットは
最小単位の 4 倍としたとき,O1 は重要なオブジェクトであるた
め,最小単位の 1 倍,O2 は滅多に変化のないオブジェクトであ
るため,最小単位の 8 倍というように設定することを可能とす
る (図 4).これにより,重要度や変化の低いイベントは,受信
するイベントの量を減らすことで利用可能な通信帯域の変化に
応じた QoS 適応が可能となる.
オブジェクトのデータには,モデリングデータ,座標,方向
の変化などがある.重要度の低いデータの場合,座標とラベル
だけが,低い頻度 (長いタイムスロット) にて送られる.変化の
データはタイムスロット内で集約することが可能であるため,重
要度の低いデータのデータ量を大きく削減することができる.
4
まとめ
本稿では,多人数参加型の CSCW を対象とした,多目的
情報共有フレームワークを提案した.本フレームワークは,
MMORPG のイベント配送機構 [6] を 2D 空間から 3D 空間
対応へと拡張したものであり,モバイル環境を考慮して,タイ
ムスロットの多重化による通信量の削減を行っている.
さらに,ユーザとオブジェクトの距離に応じて,動的に QoS
を制御する手法,無線通信を考慮し,同会場内におけるユーザ
の通信についてイベント配送の簡略化を行う手法,共有するオ
ブジェクトの管理機構について提案した.
提案方式を用いることで,高価かつ特殊な装置,サーバ,回
線を用いることなく,複数の現実の会場および遠隔地の PC か
らのアクセスを仮想的に融合することができる.また,さまざ
まなオブジェクトを仮想的に共有することができ,共通の目的
[2] D. L. Mills: “RFC 1305 - Network Time Protocol (Version 3) Specification, Implementation”, (March 1992),
http://www.faqs.org/rfcs/rfc1305.html.
[3] 不殿 健治, 佐藤 智和, 横矢 直和: “ハンドヘルドビデオカ
メラを用いた撮影支援インタフェースを有するインタラク
ティブ三次元モデリングシステム”, 日本バーチャルリアリ
ティ学会論文誌, Vol. 10, No. 4, pp. 599-608, (December
2005).
[4] オージス総研: “Virtual GAIA”,
http://www.ogisri.co.jp/product/vgaia/details j.html.
[5] M. Eraslan, N. D. Georganas, J. R. Gallardo and D.
Makrakis : “A Scalable Network Architecture for Distributed Virtual Environments with Dynamic QoS over
IPv6”, IEEE Symposium on Computers and Communications (ISCC‘ 2003), (June-July 2003).
[6] S. Yamamoto, Y. Murata, K. Yasumoto and M. Ito: “A
Distributed Event Delivery Method with Load Balancing for MMORPG”, ACM NetGames 2005 Workshop,
(October 2005).
[7] 濱口 明宏, 神原 誠之, 横矢 直和: “装着した 3 次元位置姿勢
センサによるウェアラブルユーザの自己位置推定”, 電子情
報通信学会技術研究報告, MVE-2005-59, (January 2006).
[8] R. Tenmoku, M. Kanbara and N. Yokoya: “A Wearable Augmented Reality System Using Positioning Infrastructures and a Pedometer”, Proc. IEEE Int. Symp.
on Wearable Computers, pp. 110-117, (Octber 2003).
[9] Intel Research: Place Lab,
http://www.placelab.org/.
[10] 北須賀 輝明, 久住 憲嗣, 中西 恒夫, 福田 晃: “測位方式
WiPS を用いた無線 LAN 端末の動き検出の応用”, 情報
処理学会研究会報告, Vol. 2004, No. 114, 2004-MBL-31,
2004-ITS-19, pp. 95-102, (November 2004).