仮想空間における複数の立体映像を用いた TV 会議システムの開発 折田 真一( 310201110 ) 名古屋大学大学院 人間情報学研究科 物質・生命情報学専攻 1 はじめに 近年,マルチメディアに関するハード ウェア及びソフト ウェアの性能向上に伴い,VR( Virtual Reality )が比較的身 近なものになってきた.コンピュータの低価格化などにより, 従来では困難であったリアルタイム 3D レンダリング処理が 市販されているパソコンで十分まかなえるようになってき たからである.そのような流れを受け,2003 年 3 月に ”3D コンソーシアム”[1] が設立され,3D を扱った多くのアプリ ケーションが登場した.NTT-X 社の ”3DFieldExplorer”[2], 3DNA 社の ”3DNA デスクトップ ”[3] などが記憶に新しい. さらに,裸眼立体視液晶ディスプレイを搭載したノート PC [4, 5] も一般に市販され,一般人に対する VR への敷居は 徐々に低くなってきている. このように,今後,マルチメディアインタフェースが 3D へ移行するに伴い,従来とは異なった三次元画像を活用し たコミュニケーションツールの必要性が高まることが予想 される.なぜなら,3D インタフェースは 2D インタフェー スに比べ,臨場感,情報伝達能力,そして表現力において 優れており,またエンターテインメント,医療,そして教 育といった多方面での応用が考えられるからである. 図 1 仮想空間における立体映像の原理 そのような VR を利用したコミュニケーションツールの ひとつとして,仮想空間における複数の立体映像を用いた ミティブ )を作成する.それとは別に,実空間の対象物を TV 会議システムが考えられる.これは,仮想空間における 複数の仮想立体 TV を通して,遠隔地にいる相手とコミュ ニケーションを行なうシステムであり,ユーザーは仮想空 して,仮想空間内から切り出された左眼用と右眼用の画像 間内で仮想立体 TV を覗くことで,まるでその場にいるか をそれぞれ貼り付け,この視差画像を立体視する.すると, 2 台のカメラで撮影し,各カメラから画像を取り込む.そ に描かれたオブジェクト上に,カメラから取り込んだ画像 のように相手と会話することができる. 観察者は仮想空間に対して立体感を知覚でき,さらにオブ そこで本研究では,仮想空間における複数の立体映像を ジェクトに投影された実空間の映像に対しても立体感を知 用いた TV 会議システムの開発を行なった.また,従来の 覚できる. VR システムは,高価なデバイスやソフトウェアを必要と しかし ,これを実現するには,3D レンダリング方法に し,実現性や可搬性が低かったため,比較的汎用性の高い 大きく依存する.最も重要な要素は,仮想空間内の視点に システムの構築を目指した. 対して描画するオブジェクトを指定できるかど うかである. 2 なぜなら,仮想空間内で立体映像を見るには,左眼画像, 仮想空間における立体映像の原理 右眼画像のそれぞれにしか描画されないオブジェクトが必 本システムで使用した仮想空間における立体映像を実現 要だからである. する原理について説明する. Java3D では,オブジェクト(プリミティブ )に対して 2 図 1 は,仮想空間における立体映像の原理を示した図 つの属性を指定でき,各視点に対してどちらの属性のオブ である.まず,PC 上において仮想空間を構築し ,視差を ジェクトを可視化するかを決定できる.この機能を利用す 持った視点及び立体映像を表示させるオブジェクト(プリ ることで,仮想空間における立体映像を実現できる. 1 図 2 システム構成 開発したシステム 3 図3 画像・音声サーバーアプリケーションの構成 3.1 システム構成 本研究で開発した仮想空間における複数の立体映像を用 いた TV 会議システムの構成を図 2 に示す.本システム は,画像・音声サーバーアプリケーション,TV 会議クライ アントアプリケーションから構成されている.なお,入力 インタフェースにはマウス,マイク,キーボード,そして USB カメラといった標準的なデバイスを,出力デバイス には立体視ディスプレイ(又はその代替となるデバイス), スピーカー(ヘッド フォンなど )を使用する. 3.2 Java による USB カメラ画像の獲得 本研究では,汎用性の高いシステムを構築するにあたり, Java による USB カメラの画像の獲得を試みた.本システ ムでは,javax.usb [6] 及び JMF [7] を用いて USB カメラの 画像を獲得している.これらについて,以下で説明する. 図 4 TV 会議クライアントアプリケーションの構成 javax.usb を 利用し たド ラ イバの 開発 本研究では , javax.usb を用いて USB カメラド ライバ ”usbcamera パッ ケージ ” を作成した.usbcamera パッケージは,Pure Java ( Java のみで記述されている)の USB カメラド ライバで あるため,ド ライバレベルからアプリケーションレベルま で,完全に Java ベースで記述できるようになり,非常に コルにより送信するサーバーアプリケーションである. 画像生成 サーバーに接続された USB カメラからの画 像情報は javax.usb,もしくは JMF によって構成された画 像生成モジュールに送られる.そこで,JPEG ストリーム 汎用的なシステムを構築することができる. が生成され,サーバーへ渡される.この時点から,USB カ JMF の利用 JMF は メデ ィアコンテンツの取り込み, メラの画像は HTTP プロトコルによりダウンロード 可能と 再生,ストリーミング,そしてコード 変換などを取り扱う なり,次の画像が生成されるまで公開を続ける. ための API であり,J2SE のオプションとして提供されて 音声生成 サーバーに接続されたマイクからの音声情報 いる.本システムでは,JMF によって USB カメラの画像 は,Java Sound API によって構成された音声解析モジュー を獲得することも可能である. ルに常に送られる.このモジュールはマイクから入力され 3.3 画像・音声サーバーアプリケーション る音声情報を常に監視し,音声の有無を解析する.音声が 本研究で開発した 画像・音声サーバーアプリケーション 検出されると,その音声の開始から終了までの区間を音声 の構成を図 3 を示す.本サーバーアプリケーションは,コ ストリームとして生成し,サーバーへ渡す.その後,HTTP ンピュータに接続された USB カメラの画像及び接続され プロトコルによりダウンロード 可能となり,その音声期間 たマイクの音声をストリームとして生成し,HTTP プロト だけ公開を続ける. 2 3.4 TV 会議クライアント アプリケーション 本研究で開発した TV 会議クライアントアプリケーショ ンの構成を図 4 に示す. 本クライアントアプリケーションは,クライアント PC 上で仮想空間を構築し,サーバーから逐次ダウンロード さ れた画像及び音声ファイルをもとに,仮想空間において立 体映像及び立体音響を提供するアプリケーションである. なお,本クライアントは立体視可能な映像を提供する機 能を持ち,立体映像を体験するには立体視用のディスプレ イやメガネを,立体音響を体験するにはステレオスピー カーを必要とする.本クライアントアプリケーションでは, 下記の 3 つの立体視用デバイスに対応している. 図5 • 偏光プロジェクタ • プリズムメガネ • Parallax Illumination 方式の 3D 液晶デ ィスプレ イ 操作パネルのスナップショット であった.また,写真を仮想空間内のオブジェクトに貼り 付け,リアリティを向上させたり,TV のように演出する また,操作パネルを図 5 に示す.操作パネルでは,クラ 試みも数多く存在したが,仮想空間において実空間までも イアントアプリケーションの設定を行なう.設定は,User 立体的に知覚しようとする試みは,調査した限りでは全く Data(接続するサーバーの情報),GUI Type( GUI のタイ プ ),Screen Type(スクリーンのタイプ ),Separate & Ratio Type( 映像とアスペクト比のタイプ ),Physical Parameter ( スクリーンとスピーカーの設定等)が行なえる. なかった.さらに,VR システムには視覚的に演出するも のが多く,聴覚的な演出,つまり立体音響を提供するシス テムは少なかった.本研究で作成したシステムは,従来の システムにはない仮想空間における複数の立体映像及び立 体音響を提供する. 3.5 システムの特徴 本システムの特徴を以下に記す. 実験 4 Pure Java アプリケーション 本システムでは,Java か ら USB カメラの画像を獲得するために,本研究で作成し た USB カメラド ライバ ”usbcamera パッケージ ” 及び JMF を用いた.また,本システムの他のモジュールにおいても 完全に Java によって作成されているため,極めて汎用性 が高く,また統一的なインタフェースを提供可能である. 本研究で開発した,仮想空間における複数の立体映像を 用いた TV 会議システムを用いて,実際に TV 会議を行 なった. 4.1 実験方法 実験方法及び実験環境を以下に記す. 容易なシステムの導入 本システムでは,立体視用デ 実験はローカルエリアネットワーク内で行ない,クライ バイスを除き,標準的なデバイスを使用する.また,数種 アント PC 1 台及びサーバー PC 4 台の計 5 台の PC を使用 類の立体視用デバイスに対応しており,システム導入時に した.クライアントアプリケーションを実行するには,比 ユーザー側において適当な立体視用デバイスを選択するこ 較的高い性能が要求されると思われたため,使用する PC とが可能である.さらに,マルチプラットフォームを実現 の中で最も性能が高い PC を選択した. しており,実際に Windows,Linux,Macintosh( クライア 4.2 ントのみ)システムでの動作を確認した. 実験結果 標準的なプロト コルを使用 本システムでは,サーバ−/ 本実験において,TV 会議システムにより生成された映 クライアント間の通信プロトコルに,HTTP プロトコルを 像のスナップショットを図 6 に示す.(a) GridLayout は仮 使用している.これは,WWW でのファイル転送に使用さ 想 TV を格子状に配置した時,(b) H-RingLayout は水平リ れているプロトコルであり,きわめて標準的なプロトコル ング状に配置した時,(c) V-RingLayout は垂直リング状に である.また,画像フォーマット( JPEG )及び音声フォー 配置した時のスナップショットである.各図に表示されて マット( AU,WAVE,AIFF )においても,標準的なものを いる立方体のオブジェクトが立体映像を写し出す仮想 TV 採用しており,すでに利用されている画像,音声サーバー であり,それらの上にある立体文字がサーバー名を表して による代用も可能である. いる.画面左上には,マウスで選択された TV の情報が空 仮想空間における立体映像及び立体音響 従来の VR シ 間内に表示され,サーバー名,左眼画像 URL,右眼画像 ステムでは,視覚対象は全て仮想的なオブジェクトばかり URL,画像状態,音声状態を確認できる.画面右下には, 3 (a) GridLayout (b) H-RingLayout (c) V-RingLayout 図 6 TV 会議システムによって生成された映像のスナップショット (a) 偏光プロジェクタ (b) プリズムメガネ (c) Parallax Illumination 方式 の 3D 液晶ディスプレ イ 図 7 立体視用デバイスによる実験の様子 操作用コマンド が空間内に表示され,TV の格子状配置, JMF を用いた.さらに,標準的な入力デバイス,数種類の 立体視用デバイスに対応させ,本システムの導入を比較的 容易にできるようにした. 最後に,本システムを用いて実際に TV 会議を行なった 結果,仮想空間において複数の立体映像及び立体音響を確 認することができた.従って,本システムで使用した手法 を用いることで,仮想空間において複数の立体映像及び立 体音響を実現できることが分かった. 水平リング状配置,垂直リング状配置,TV 情報の表示切 替,視点の初期化をマウスによって指定できる. また,立体視用デバイスによる実験時の様子を図 7 に 示す.左から偏光プロジェクタ,プリズムメガネ,Parallax Illumination 方式の 3D 液晶デ ィスプレ イを使用した時の 様子を示しており,どのデバイスを使用しても仮想空間に おいて複数の立体映像及び立体音響を確認できた. 参考文献 5 まとめ [1] 3D コンソーシアム http://www.3dc.gr.jp/ 本研究では,仮想空間における複数の立体映像を用いた TV 会議システムの開発を行なった. [2] 3D ウェブ検索 (NTT-X) 本システムは,画像・音声サーバーアプリケーション及 http://goo.ntt-infolead.net/ び TV 会議クライアントアプリケーションから構成される. [3] 3DNA デスクトップ (3DNA) サーバーアプリケーションは,サーバーに接続された 2 つ http://www.3dna.ne.jp/ の USB カメラからの画像及びマイクからの音声をストリー [4] 3D 液晶搭載ノートパソコン (SHARP) http://www.sharp.co.jp/products/pcrd3d/ ムとして生成し,HTTP プロトコルで公開するサーバーで ある.一方,クライアントアプリケーションは,サーバー [5] 3D 液晶搭載ノートパソコン (NEC) http://121ware.com/lavie/s/ からダウンロード された画像及び音声ファイルをもとに仮 想空間において立体映像及び立体音響を提供するシステム [6] javax.usb である. http://sourceforge.net/projects/javax-usb/ なお,システムのコーディングには,高い汎用性を持た [7] Java Media Framework API せるために Java のみを使用した.また,USB カメラの画 http://java.sun.com/products/java-media/jmf/ 像の獲得には,javax.usb を用いて作成したド ライバ及び 4
© Copyright 2024 ExpyDoc