3次元ビデオストリーミングシステムの提案と実装 中村 暢大 1. はじめに 近年,インターネットやコンピュータの低価格と高速化 が進み,一般家庭に普及してきている.それに伴って, Chat,Instant Messenger,Skype,IP 電話といったコ ミュニケーションツールが利用されるようになってきた. このようなツールは世界中どこからでもコミュニケーシ ョンが可能であり,インターネットの普及とともに利用者 が増加してきている. しかし,コミュニケーションツールは,現実の Face-to-Face でのコミュニケーションのレベルには程 遠状態である.特に現在のコミュニケーションツールでは, 相手を理解するのに必要となる距離感,存在感,迫力感な どの非言語情報を伝えることができず,言葉のニュアン ス・意図することが伝わらないといったことがしばし発生 する. このような問題を解決するため,現実に行われるコミュ ニケーション形態へ近づける3次元ビデオに関する研究 が行われている.これらの研究では,視聴する角度を選ぶ ことができる3次元ビデオ[1]や3次元アバタのリアルタ イム表示[2]に関する提案がされている.しかし,複数台 のカメラや PC クラスターなどの膨大なリソースと事前 の準備に時間がかかるという問題がある. そこで,本研究では,臨場感がある3次元ビデオをリア ルタイムに誰でも配信・視聴が可能なシステムの実現を目 的とし,3次元ビデオストリーミングシステムを提案し, 実装する.このシステムの特徴としては,視点移動があり, 奥行き情報を伝えることができる点である.さらに,視聴 側では,PC や CAVE System[3]の双方に対応し,多く の人が利用できるシステムと高臨場感を演出できるシス テムの両立をはかっている. 2.3次元ビデオシステムの構成 本システムのネットワークモデルは,サーバクライアン ト モ デ ル で あ る . サ ー バ に つ い て は Video Capture Side(VCS) , ク ラ イ ア ン ト に つ い て は 3D Display Side(3DS)としている.さらに,Video と Audio は別々 のスレッドにて処理を行う.VCS では,ビデオのキャプ チャを行い,3次元ビデオを作成するための材料を作る. 3DS では,サーバで作られた材料をもとに 3 次元ビデオ を生成する. 2.1. Video Capture Side 図1.Video Capture Side の概要 図1は,Video Capture Sideの構成を表したものである. Videoを処理する側では,Camera1とCamera2からフレ ーム画像を入力し,出力として3D CoordinatesとResize Texture を 送 信 す る . Audio を 処 理 す る 側 で は , Microphoneを使って音声を入力し,Raw PCMを出力す る.以下に,重要なモジュールについて説明する. ・VCSのインターフェイス 自分が写している被写体がわかるように,2つのカメラ位 置からキャプチャする画像をカメラ毎にディスプレイへ 表示する. ・Video Capture Video Capture は,2つのカメラを制御し,1秒間にお けるフレーム数やキャプチャを行うフレームサイズ,カメ ラからキャプチャをする内容を表示するウィンドウの設 定を行い,同期を取りながらキャプチャを行う.そして, フレームデータを2枚出力する. ・Template Matching Template Matching は,同じ大きさで同じフォーマット の画像を2枚入力する.それからテンプレートマッチング で説明した様に画素値を下の式に代入し順番に比較,加算 した結果を差異値として出力する. 1 w 1 h 1 (RP1 RP 2 )2 + (GP1 GP 2 )2 + (BP1 BP 2 )2 tp x = 0 y = 0 ・2D/3D Converter 2D/3D Converterは,2枚の2次元画像を入力する.そ して,3次元座標変換を使って,入力された2次元画像2 枚を利用して3次元座標を求め,X座標→Y座標→Z座標 の順番に並べて格納し,1画面における3次元座標の纏ま りとして出力をする. ・Texture Cutting Template Cuttingは,ステレオカメラで出力したうちの 片方のフレームを入力する.そのフレームを3次元座標変 換で説明した検索ポイント内に入っていない画像部分を 切り取る.そしてネットワークプロトコルに合わせるため にRGBの順番に並べ,ネットワーク送信ができる状態へ 画像を変換したテクスチャを出力する. ・ Network Interface Network Interface は,VCS からネットワークプロトコ ルの通りに3次元座標データとテクスチャデータと加え て音声データを 3DS へネットワークを通して送信する. 2.2. 3D Display Side 図2は,3D Display Sideの構成を表したものである. Video を 処 理 す る 側 で は , ネ ッ ト ワ ー ク を 通 じ て 3D CoordinatesとResize Textureを入力し, Displayへ3D Videoを出力する.Audioを処理する側では,ネットワー クを通してRaw PCMを入力しSpeakerへ3D Audioを出 力する.以下に,重要なモジュールについて説明する. 図3 .PC 版での3次元ビデオ再生 図2.3D Display Side の概要 ・3D Video Player 3D Video Playerでは,サーバから送られてきた3次元座 標とテクスチャをもとに3次元ビデオフレームを作り出 す.さらに,3D Audioの仮想環境を構築するために,仮 想空間内での視聴者の視点(リスナー)と3次元ビデオの 表示場所(ソース)の位置と向きを出力する処理も担って いる. ・3DSのインターフェイス 視点移動を行うために外部入力を使用して視点を移動さ せ,その結果を反映した3D Videoをディスプレイへ表示 する. ・3D Audio 3D Audioでは,VCSでマイクから音声をキャプチャし, ネ ッ ト ワ ー ク を 通 し て 3DS で 受 け 取 る . そ し て , 3D Displayからリスナーとソースの位置と向きを取得し,音 声に反映させてスピーカへ音声を出力する. 4. 実装 図4.CAVE System 版での3次元ビデオ再生 5. 評価 表2.コミュニケーションツールとしての比較 表1.実装環境 一般的に使用されているコミュニケーションツールと 関連研究,本システムの比較を行った.比較結果を表2に 示す. 6. まとめ 本システムは,表1に示したものを使用して実装した. 本 シ ス テ ム は , 立 体 表 示 と 立 体 視 の 点 で は , CAVE System 版で対応することができた.手軽さという点では, ウェブカメラを2台使用し,PC 版を実装することで,一 般的なコミュニケーションツールには,劣るが関連研究よ りも容易に使用することができるようになった.最後に, 処理工程を格段に減らすことによってリアルタイムに実 行することができた. 5. 結果 図3に PC 版,図4に CAVE System 版での 3D Video のストリーミング再生している様子である.PC 版では, 普通のビデオに凹凸が出来て,大まかな距離感は認識でき た. CAVE System 版では,PC 版の特徴に加えてビデ オが浮き出て見え,迫力のあるビデオストリーミングが実 現できた. 本稿では3次元ビデオストリーミングシステムの提案 と実装を行った.本システムは一般的な PC と CAVE シ ステムの双方で視聴することが可能であり,3次元表示と 視聴者の位置や向きを考慮した立体表示の双方に対応す ることが可能となった. 今後の課題としては,処理速度と画像精度の双方を考慮 した最適化,クロスプラットフォーム対応,VCS と 3DS を統合,マルチユーザ対応,バーチャルリアリティに対応 した入力ディバイスのサポートが挙げられる. [参考文献] [1]松山隆司, 高井勇志, ウ小軍,延原章平:“ 3 次元ビデオ映像の 撮影・編集・表 示 ”,日本バーチャルリアリティ学会論文 誌,Vol.7,No.4,pp.521-532, 2002. [2]小木哲朗,山田俊郎,栗田裕二,服部陽一,廣瀬通孝:”仮想空間共 有のためのビデオアバタ技術とその利用法”” ,日本バーチャル リアリティ学会論文誌,Vol.8,No.1,pp.37-46,2003. [3]http://www.evl.uic.edu/pape/CAVE/ [4]OpenAL.org: OpenAL. http://www.openal.org/ [5]OpenGL.org: OpenGL. http://www.opengl.org/ [6]Intel Corporation: OpenCV. http://www.intel.com/technology/computing/opencv/ [指導教員]杉田 薫
© Copyright 2024 Paperzz