JP2018106297A - 複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム - Google Patents
複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム Download PDFInfo
- Publication number
- JP2018106297A JP2018106297A JP2016249998A JP2016249998A JP2018106297A JP 2018106297 A JP2018106297 A JP 2018106297A JP 2016249998 A JP2016249998 A JP 2016249998A JP 2016249998 A JP2016249998 A JP 2016249998A JP 2018106297 A JP2018106297 A JP 2018106297A
- Authority
- JP
- Japan
- Prior art keywords
- model
- avatar
- information
- hmd
- orientation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
- Studio Devices (AREA)
Abstract
【課題】 体験者が体感しているCGモデルが、異なるローカル座標空間に属する共同体験者に遮られて視認し難くなることを抑制する。【解決手段】 HMDを接続しているPCは、HMDの位置姿勢に基づき、HMDで撮像した画像にCGモデルを合成し、HMDのディスプレイに表示させる。また、PCは、自身とは異なるローカル座標空間に位置する他のPCと通信し、互いの体験者の位置姿勢を共有している。共同体験者のアバターを、合成対象として更に合成する。このとき、自装置の体験者とCGモデルとの間に、共同体験者が位置する場合には、共同体験者のアバターを透過などの出力制御して合成する。【選択図】 図1
Description
本発明は、複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラムに関するものである。
近年、複合現実(Mixed Reality/以下、MRと記載)の技術が普及している。複合現実の技術を用いて、ヘッドマウントディスプレイ(HMD)を装着したユーザに対し、現実画像にCGモデルを重畳配置した複合現実画像を提供し、現実と仮想を複合した複合現実の世界を体験させることができる。複合現実画像を生成するにあたり、HMDの位置とCGモデルの位置とを、センサや二次元マーカを用いて特定する手法が取られている。
特許文献1には、HMDで撮像された画像の中に写る二次元マーカを用いてHMDの位置姿勢を特定し、複合現実画像を提供する技術が記載されている。また、特許文献2には、磁気センサを用いてHMDの位置姿勢を特定し、複合現実画像を提供する技術が記載されている。
また、特許文献3にはHMDから見える現実画像の特定のものについて、仮想CGオブジェクトが隠してしまう場合に、仮想CGを透明にするする技術が記載されている。
特許文献3では、仮想CGが現実空間の特定のものを遮っている場合、仮想CGを透明化する事により、現実空間の特定のものが見えない状態を防ぐ事ができる。
しかし、仮想CGに遮られて見えなくなるものの対象は現実空間の特定のものだけではなく、複数の仮想CGやアバターが存在する世界(例えば、同じ仮想CGを複数の現実空間上で共有して、HMDを利用した状態で会議を行う)においては、仮想CGを見ている時に、移動したユーザに対応するアバターによって仮想CGを遮ってしまうことが存在する。
実際に体験者が現実空間の特定のものを見ていない場合でも、不要に仮想CG(アバター含む)を透明化すると、没入感を失うという課題がある。実際の体験においては、複数の仮想CGが表示されているため、適切な仮想CGの透明化(非表示含む)の制御することが望まれる。
そこで、本発明は、撮像装置を用いて体験しているユーザが見ている仮想物体を他の体験しているユーザの移動により遮ることを防ぐ技術を提供する。
この課題を解決するため、例えば本発明の複合現実感提示システムは以下の構成を有する。すなわち、
複合現実感提示システムであって、
撮像手段及び表示手段を有する、複数の頭部装着可能なデバイスと、
前記デバイスそれぞれが属するローカル座標空間の識別情報、前記撮像手段で撮像する画像への合成対象のCGモデルの描画のためのCGモデル情報、及び、各デバイスを装着する体験者に代わって表示されるアバターの描画のためのアバター情報を記憶する記憶手段と、
前記デバイスそれぞれの位置姿勢を検出する検出手段と、
前記デバイスそれぞれの撮像手段が撮像した画像に、前記CGモデル及び前記アバターをそれぞれの位置姿勢に基づいて合成し、当該合成して得た合成画像を、それぞれの表示手段に出力する制御手段とを有し、
前記制御手段は、
前記複数のデバイスにおける1つを着目デバイスとしたとき、当該着目デバイスの撮像手段が撮像した画像に、
(1)当該着目デバイスの位置姿勢に基づく前記CGモデル、
(2)前記着目デバイスとは異なるローカル座標空間に属する他デバイスに対応するアバター
を合成する合成手段を含み、
前記合成手段は、前記着目デバイス、前記CGモデル及び前記他デバイスとの位置関係に基づき、前記CGモデルを視認させるべく当該他デバイスに対応するアバターの出力を制御して、前記CGモデル及び前記アバターを合成することを特徴とする。
複合現実感提示システムであって、
撮像手段及び表示手段を有する、複数の頭部装着可能なデバイスと、
前記デバイスそれぞれが属するローカル座標空間の識別情報、前記撮像手段で撮像する画像への合成対象のCGモデルの描画のためのCGモデル情報、及び、各デバイスを装着する体験者に代わって表示されるアバターの描画のためのアバター情報を記憶する記憶手段と、
前記デバイスそれぞれの位置姿勢を検出する検出手段と、
前記デバイスそれぞれの撮像手段が撮像した画像に、前記CGモデル及び前記アバターをそれぞれの位置姿勢に基づいて合成し、当該合成して得た合成画像を、それぞれの表示手段に出力する制御手段とを有し、
前記制御手段は、
前記複数のデバイスにおける1つを着目デバイスとしたとき、当該着目デバイスの撮像手段が撮像した画像に、
(1)当該着目デバイスの位置姿勢に基づく前記CGモデル、
(2)前記着目デバイスとは異なるローカル座標空間に属する他デバイスに対応するアバター
を合成する合成手段を含み、
前記合成手段は、前記着目デバイス、前記CGモデル及び前記他デバイスとの位置関係に基づき、前記CGモデルを視認させるべく当該他デバイスに対応するアバターの出力を制御して、前記CGモデル及び前記アバターを合成することを特徴とする。
本発明によれば、体験者が体感しているCGモデルが、異なるローカル座標空間に属する共同体験者に遮られて視認し難くなることを抑制することが可能になる。
以下、添付図面に従って発明に係る実施形態を詳細に説明する。
図1は、本実施形態における複合現実感提示システムの構成図である。図示のように、実施形態における本システムの各種装置は拠点毎にネットワーク151、ネットワーク152を介して通信可能に接続されている。つまり、それぞれがネットワーク通信インターフェースを有する。拠点間はネットワーク150によって通信可能に接続されている。例えば拠点1においてPC(情報処理装置)100a乃至100cからサーバ200と通信する場合はネットワーク152を介して通信可能に接続される。拠点2のPC100d乃至100dからサーバ200と通信する場合はネットワーク151、ネットワーク150を介して通信可能に接続される。なお、ここで言う、拠点とは、ローカル座標空間を区別すするための表現であり、例えば、東京地区、大阪地区を指していると考えると理解しやすい。また、同じ建屋であっても、異なる部屋、異なるフロアでも構わない。
なお、ネットワーク151、152はローカルネットワーク、ネットワーク150はインターネットがその典型である。また、各デバイス(HMD,PC,サーバ)間の通信形態は有線、無線を問わない。なお、HMDは、一般に、Head Mounted Displayを指すが、例えば、スマホ及びそれを収納して頭部装着可能にする筐体であっても構わない。更に、以下の説明において、例えば「PC100a」と表記した場合には特定の1つのPCを指し示すものとし、a、b…等の添え字無し参照番号で「PC100」とした場合には、図示のPC100a,b,c、…の全てについて表すものと理解されたい。参照符号103、104についても同様である。
HMD101aには、HMD101に固有の光学式マーカ103aが搭載されている。この光学式マーカ103aを、フロアの天井等に設置された複数のカメラ104a,104bにて撮像して、光学式マーカ103aを搭載したHMD101aの位置姿勢を検出可能となっている。なお、位置姿勢の検出処理は、それぞれのPCにて行われるものとする。例えば、HMD101aの位置姿勢は、HMD101aを接続しているPC100aにて実行されるアプリケーションにて検出(算出)される。これは拠点2でも同じである。
なお、特許文献1に開示されているように、HMD100aが有するカメラで撮像した画像内に2次元マーカが複数存在する程度に、それら2次元マーカを現実空間に配置し、HMD100aによる撮像画像内の2次元マーカをPC100aの処理にて識別することで、そのHMD100の位置姿勢を検出する技術を用いても構わない。図1の構成は、あくまで例示であると認識されたい。
PC100aには、HMD101a(撮像装置ともいう)により撮像される現実画像に重畳する、合成対象の3次元モデル(CGモデル/仮想オブジェクト)を表すデータ(描画データ、現実空間における位置・姿勢を示すデータ)が記憶されている。
また、PC100aは、自機の管理するHMD101aより現実画像を取得して、PC100aが有する記憶部に取得した画像を記憶する。また、PC100aは、カメラ104a,104bで撮像された画像内の、自機が管理するHMD100aの光学式マーカから、そのHMD101aの位置姿勢を特定し、記憶部にその位置姿勢を記憶する。
PC100aでは、HMD101aの位置姿勢と、記憶部に記憶されている3次元モデル及び3次元モデルの位置姿勢の情報を用いて、現実画像に3次元モデルを重畳した複合現実画像を生成する。そして、当該複合現実画像をHMD101aのディスプレイに表示させるべく、HMD101aに送信する。HMD101aは受信した複合現実画像を内部に設けられたディスプレイに表示し、装着者に提示することになる。
上記はPC100a、HMD101aについての説明であるが、他のPCとHMDでも同様であるものとする。
なお、実施形態では1台のPCに対して1台のHMDを接続する構成としたが、1台のPCに対して複数のHMDが接続する構成であっても構わない。この場合、PCは、接続された各HMDぞれぞれの位置姿勢を特定し、それぞれに応じた複合現実画像を生成する。そして、PCは、それぞれのHMDに向けて、対応する複合現実画像を送信することになる。
以上、図1のシステムについて説明した。次に図2を参照して、本実施形態における、各種装置のハードウェア構成の一例について説明する。
図2はPC100aとHMD101aとのブロック構成図を示している。他のPC、HMDでも同様である。
PC100a内のCPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。なお、サーバ200とPC100aは、CPUの処理能、メモリ容量、実行するプログラムの差があっても。基本ハードウェアは実質的に同じである。
また、ROM202には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステム(OS)、その他各種装置の実行する機能を実現するために必要な各種プログラムが記憶されている。
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
本実施形態のPC100aが後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本実施形態に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
入力コントローラ(入力C)205は、入力デバイス(キーボードやマウス等のポインティングデバイス)209からの入力を制御する。また、入力デバイス209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。なお、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
ビデオコントローラ(VC)206は、HMD100aが備える右目・左目ディスプレイ222等の表示器への表示を制御する。右目・左目ディスプレイ222に対しては、例えば外部出力端子(例えば、Digital Visual Interface)を用いて出力される。また、右目・左目ディスプレイ222は、右目用のディスプレイと左目用のディスプレイとから構成されている。また、ビデオコントローラ206は、PC100aの備えるディスプレイ210(CRTディスプレイ等)の表示器への表示を制御する。なお、図2では、表示器はCRTディスプレイだけでなく、液晶ディスプレイ等の他の表示器であってもよい。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。また、通信I/Fコントローラ208は、ギガビットイーサネット(登録商標)等を通じて光学式センサ104との通信も制御する。
汎用バス212は、HMD100aの右目・左目ビデオカメラ221からの映像を取り込む用途と、視線センサ223からHMD体験者(ユーザ)の視線位置を取り込む用途に使用される。右目・左目ビデオカメラ221からは、外部入力端子(例えば、IEEE1394端子)を用いて入力される。右目・左目ビデオカメラ221は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。視線センサ223はHMD体験者の視線情報を取得するためのセンサである。視線センサ223は、視線検出(アイトラッキング)技術を用いて実現されるものである。視線検出技術は、様々な技術があるが、例えば、赤外線を用いて、目の動きを検知する技術があげられる。視線センサ223に備わる赤外線LEDが赤外線を出力し,その赤外線が体験者の瞳孔で反射される。この反射光を赤外線センサが検出し、瞳孔の動きとして視線を特定する。赤外線を用いず、目の動きを捉えるカメラで、目頭、眼球の虹彩の位置関係で視線を特定するようにしてもよい。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ上での表示を可能としている。また、CPU201は、ディスプレイ上の不図示のマウスカーソル等でのユーザ指示を可能とする。なお、HMD101aとPC100aが同一筐体とする構成であってもよい。
以上、図2について説明した。次に図3(a),(b)を参照して、本実施形態における各種装置の機能構成の一例について説明する。
図3(a)はサーバ200、同図(b)はPC100aの機能構成図である。他のPCも同図(b)の機能構成であると理解されたい。
サーバ200は、通信制御部301、位置情報管理部302、位置情報送信部303、位置情報受信部304、モデルデータ管理部305、モデルデータ送信部306を含む。
通信制御部301は、各PC100との通信を制御する。位置情報管理部302は、複数のHMD100の位置・姿勢情報(拠点を示す情報も含む)を管理する。位置情報送信部303は、HMD100aの位置・姿勢情報を、HMD100aを接続するPCを除く他のPCに送信する。位置情報受信部304は、各PC100から、それぞれに接続されたHMD100の位置・姿勢情報を受信する。モデルデータ管理部305は、仮想CGモデルの描画データ、並びに、アバターの描画データを管理する。また、モデルデータ管理部305は、仮想CGモデル、アバターの位置情報をも管理する。モデルデータ送信部306は、仮想CGモデルやアバターに係る情報(描画データ、位置情報)を各PC100に送信する。
PC100aは通信制御部311、位置特定部312、注視モデル特定部313、除外アバター特定部314、位置情報送信部315、位置情報受信部316、モデルデータ受信部317、モデルデータ表示部318、モデルデータ管理部319を含む。
通信制御部311は、サーバ200との通信を制御する。位置特定部312は、PC100自身に接続されたHMD101aの位置・姿勢を特定する。注視モデル特定部313は、自身に接続されたHMD100aにある視線センサ223により取得した視線情報を元に、HMD101aのカメラの視線の先にある仮想CGモデルを特定する。除外アバター特定部314は、注視モデル特定部313により注視している仮想モデルを遮るアバターを特定する。
位置情報送信部315は、PC100aに接続されているHMD101aの位置・姿勢情報(拠点を示す情報を含む)をサーバ200に送信する。位置情報受信部316は、サーバ200から、PC100a以外の他のPC100それぞれに接続されたHMD101の位置、姿勢情報を受信する。
モデルデータ受信部317は、サーバ200から仮想CGモデルやアバターの描画データを受信する。モデルデータ表示部318は、仮想CGモデルやアバターを現実映像に重畳し表示させる。モデルデータ管理部319は、サーバ201から受信した仮想CGモデルデータ、アバターの描画データを管理する。
上記の説明からわかるように、PC100aは、自身がどの拠点に属しているかを示す情報と自身の管理対象のHMD101aに係る位置姿勢情報をサーバ200に送信する。そして、PC100aは、他のPC100b〜100fに接続されたHMD101b〜101fの位置姿勢情報やその拠点に関する情報をサーバ200から受信する。つまり、システムにおける各PC100は、システム上に存在する全HMD101の位置姿勢とその拠点を共に共有することになる。
以上、図3について説明した。なお、本実施形態においては、PC100aとHMD101aを別筐体で実現して説明しているが、PC100aとHMD101aが同一筐体で実現する場合、PC100の機能をHMD101に備えてもよい。
次に図4を参照して、実施形態における、各種装置のモジュール構成の一例について説明する。なお、同図は、PC100aと、PC100aに接続されたHMD101aとの関係を示しているが、他のPCとHMDとの関係も同様である。
PC100aは、オペレーティングシステム401(OS)、グラフィックエンジン402、複合現実感プラットフォーム403(MRプラットフォームともいう)、複合現実感アプリケーション404(MRアプリケーションやビューアアプリケーションともいう)で構成され、CPU201により制御されている。
オペレーティングシステム401は、HMD101の入出力を制御しカメラ221から入力インターフェースを介して得られた現実画像を複合現実感プラットフォーム403へ受け渡す。またグラフィックエンジン402で描画された複合現実画像を、出力インターフェースを介して、ディスプレイ222へ出力する。
グラフィックエンジン402は、外部メモリ211に記憶されている3次元モデルから描画する画像を生成し、現実画像に重畳し、合成する。描画に利用するエンジンは、例えば、OpenGLやDirectXなどの広く利用されているグラフィックエンジンでも、独自に開発したグラフィックエンジンでもよい。なお、本実施形態ではグラフィックライブラリとしてOpenGLを利用するものとする。
複合現実感プラットフォーム403は、例えばカメラ104a、104bで撮像した光学マーカ103の検出し、マーカ103の向き、カメラかたマーカに向かう方向と距離とからHMD101aの位置姿勢を特定し、現実空間と仮想空間の位置合わせを行う。
なお、位置姿勢や位置合わせの技術は、既知の技術として開示されている、特開2002−32784号公報、特開2006−072903号公報、特開2007−166427号公報等を用いて実現することも可能である。
複合現実感アプリケーション404は、複合現実感プラットフォーム403からHMD101aの位置姿勢、3次元モデルの形状の情報、位置姿勢(アバターを含む)の情報を受け付け、グラフィックエンジン402に対して、3次元モデルの描画命令を発行する。この時、OpenGLのAPIを用いて、描画する3次元モデルの識別情報、位置姿勢の情報を設定した命令を発行する。
以上が図4について説明した。次に図5を参照して、本実施形態における複合現実画像の生成及び表示処理について説明する。
HMD101は、ステップS501で起動後、カメラ221の機能を用いて現実画像の撮像を開始する(ステップS502)。カメラ221の撮像フレームレートは特に問わないが、自然な映像とするため、実施形態では30フレーム/秒とする。そして、HMD101は、撮像処理によって取得した現実画像をPC100aに送信する(ステップS503)。なおステップS503と並行して、HMD101は、視線センサ223から視線情報もPC100aに送信するものとする。
PC100aのCPU201は、HMD101aから現実画像(撮像画像)を受信し(ステップS504)、受信した現実画像を外部メモリ211に記憶する(ステップS505)。
PC100aのCPU201は、カメラ104a,104bからの撮像画像に基づき、HMD101aの位置姿勢を取得して(ステップS506)、外部メモリ211に記憶する(ステップS507)。例えば、図11(a)のHMD情報1110に示すように、HMD101aの識別情報であるHMD ID1111と、当該HMDの位置1113(X,Y,Z座標)、姿勢1114(X,Y,Z座標の値により表現されるHMD101の向いている方向)を記憶する。なお、アバターID1115は、個々のHMDに代わって表示されるアバターの識別子であり、本システム(サーバ200)にログインした際に、各PCのHMDに割り当てられるものである。アバターIDは、ログイン時に、HMDを装着するユーザが、サーバから提示された中から選択するものとする。アバターIDは、同図(g)の符号1170に示すように、アバターの描画データを特定する情報としても利用される。なお、サーバ200は、HMDを装着するユーザ(PC)からのログインが行われる度に、それ以前にログイン済みのユーザに対して、割り当てたアバターID,アバターの描画データを送信するものとする。この結果、ログイン中の全PCは、仮想CGモデルに加え、全HMDに対応するアバターID,アバター描画データを共有することになる。
図11のように、HMD(HMD ID)ごとにアバターIDを保持するようにしたが、アバターの描画データは、拠点ごとに管理するようにしてもよい。この場合、例えば、他拠点で同じ拠点のHMDに対する位置には、同じアバターの描画データを用いて合成し、HMDに表示する。この時、HMD情報1110に予め登録した体験者を識別するための体験者名(不図示)を表示することが望ましい。
さて、PC100aのCPU201は、外部メモリ211から3Dモデル(仮想CGモデルやアバター)の情報を取得し、HMD101から受信した現実画像に重畳して複合現実画像(MR画像)を生成して(ステップS508)、HMD101に送信する(ステップS509)。
3Dモデルの情報は、例えば図11(b)のモデル情報1120に示す情報、図11(g)のアバター情報1170である。なお、モデル情報1120は、予めPC100の外部メモリ211に記憶されていても構わない。モデルID1121は3Dモデルの識別情報である。モデル名1122は、3Dモデルのファイル名である。ファイルパス1123は、ファイルが記憶されている場所を示す。位置1124、姿勢1125は3Dモデルの位置姿勢を示す。PC100aのCPU201は、HMDの位置1113、姿勢1114から、HMD101aと同じ画角を持つカメラが、位置1124、姿勢1125の3Dモデルを撮像した場合の、当該3Dモデルの画像を描画データ1141として生成する。そして、当該描画データを現実画像と合成することで、図11のMR画像テーブル1150に示す複合現実画像(MR画像)を生成する。生成した画像データ1151を、HMD101aに送信するため記憶する。
HMD101aは、PC100aから複合現実画像を受信し(ステップS510)、表示画面に表示する(ステップS511)。
以上、図5について説明した。次に図6を参照して、本実施形態における、サーバ200の起動処理について説明する。
図6のフローチャートは、サーバ200の起動処理であり、サーバ200の起動からPC100との接続処理を示すフローチャートである。
ステップS601にてサーバ201が起動する。そして、サーバ200は、仮想CGモデル及びその位置、姿勢を読み込み(S602)、読み込んだ仮想CGモデル及びその位置、姿勢情報を保存する(S603)。保存した情報がモデル情報1120である。
PC100が起動し接続(ログイン)するのを待つ(S604)。接続されたらPC100から送信されたHMD情報及び拠点情報を保存する(S605)。その際に、各HMDにはアバターIDも割り当てる。保存された情報がHMD情報1110である。なお、サーバは、PCからの新規接続が行われた際、それ以前に既に接続しているPCに対して、新規接続のPC(HMD)に割り当てたアバターの描画データも送信する。
以上が図6の説明である。次に図7を参照して、本実施形態における、PC100aの起動処理について説明する。なお、同図に示すフローチャートは、PC100aの起動処理であり、PC100aの起動からサーバ200への接続処理を示す。
ステップS701にて、PC100aが起動する。PC100aは、HMD情報(HMD101aのID)及び拠点情報(拠点情報となる拠点IDは各PCが予め保持している)を読み込み(S702)、図6で説明したように、事前に起動しているサーバ200に接続する(S703)。また、この際、PC101aは、HMD情報、拠点情報、アバターIDをサーバに送信する(S704)。
以上が図7の説明である。次に図8を参照して、本実施形態における、PC100aにおける、自身が管理するHMD101aの位置・姿勢情報のサーバ200への送信する処理について説明する。
図8のフローチャートは、PC100aが自身に接続されたHMD101aの位置、姿勢情報のサーバ200への送信、サーバによる管理処理を示している。他のPCの同様の処理を行うことで、本システムにおける全HMDがサーバ200にて管理されることになる。
ステップS801では、PC100aは自身に接続されたHMD101aから現実画像を受信する。そして、PC100aは、自身に接続されたHMD101aの位置、姿勢を特定する(S802)。実施形態では、カメラ104a,104bが撮像したHMD101aの光学式マーカ103aから、HMD101aの位置姿勢を求めるが、HMD101aが撮像した画像内の2次元マーカから求めるようにしても構わない。次いで、PC100aは、HMD101aの特定した位置、姿勢情報をサーバ200に送信する(S803)。
サーバ200は、HMD101aの位置、姿勢情報を受信する(S804)。サーバ200は、受信した情報を自身が有する記憶部(RAMやHDD等)に保存する(S805)。図11(a)は、サーバ200が記憶する各HMDの記憶状態を示している。
以上、図8について説明した。次に図9を参照して、本実施形態における、アバターの重畳処理について説明する。
図9のフローチャートは、サーバ200からPC100aへの、仮想CGモデルや他のPCのHMD101b乃至101fの位置・姿勢情報の送信、及び、PC100aにおける現実画像に仮想CGモデル(仮想オブジェクトともいう)及びアバター(ユーザオブジェクトともいう)を重畳する処理を示すフローチャートである。なお、説明が前後するが、拠点1と2では、それぞれ予め設定された原点に対してのHMDの位置姿勢を検出するものとする。そして、拠点1、2における原点、及び、それらにおける3次元の3軸の軸方向の対応づけが行われているものとする。
ステップS901では、サーバ200に記憶されている、モデル情報1120やアバター情報1170をPC100aに送信する。これにより、PC100aは、仮想CGモデルの位置を取得できる。また、PC100aは、自身に接続されたHMD100aだけでなく、他のHMD100b乃至100fの位置情報も取得できる。なお、サーバ200は、HMD101の位置姿勢情報を基に、現実画像に重畳表示する仮想CGモデルを特定して、この特定された仮想CGモデル情報をPC100に送信する構成であってもよい。仮想CGモデル情報を受信した(S902)PC100aは、HMD101で撮像した現実画像に、そのHMD101aの位置姿勢から表示する仮想CGモデル画像を重畳させる(S903)。つまり、HMD101aを装着したユーザから見える、アバターを除く、MR画像を生成する。
サーバ200は、PC100aに、他のPC100a以外のHMD101の位置、姿勢情報及び拠点情報を送信するため、HMD情報1110をPC100aに送信する(S904)。なお、PC100aは、HMD101aの位置姿勢の情報を所有している。従って、サーバ200は、HMD情報1110から、HMD101aの位置姿勢の情報を除外した上でPC100aに送信しても良い。ただし、この場合、サーバは、送信先PC毎に、除外する処理を行うことになり、その負担が増える。そこで、実施形態では、サーバ200は、単純にHMD情報1110を全PCに送信するようにした。
PC100aは、サーバ200から受信したHMD情報1110(各HMDの位置姿勢情報及び拠点情報)を、一旦、メモリ等に保存する(S905)。
PC100aは自身のHMD101aの位置、姿勢及び、視線情報に基づき、HMD101aを装着しているユーザが注視している仮想CGモデルを特定し、特定した仮想CGモデルを注視モデルテーブル1130に保存する(S906)。特定には、視線情報から注視点が特定されるため、この注視点にある仮想CGモデルを特定する。
なお、実施形態では、視線センサ223で検出した視線情報を用いるものとして説明したが、高い精度を求めないのであれば、HMD101aのカメラの撮像範囲内に存在する仮想CGモデルの全てを注視していると見なようにしても良い。この場合、HMD101aの視線センサ223を不要とすることができる。
S907以降は、仮想CGモデルの合成画像に対する、アバターの合成処理となる。PC100aは、HMD情報1110内に、自身が管理するHMD101aを除く他のHMD101b〜101fをその処理対象とし、以下の処理を行う。
まず、PC100aは、HMD情報1110から、1つの処理対象のHMDの位置姿勢、拠点を読み出し、PC100a(正確にはHMD101a)が属する拠点と同じか否かを判定する(S907)。同じであれば、処理対象のHMDを装着しているユーザは、HMD101aを装着しているユーザと同じ現実空間内に位置することになるので、処理対象HMDのユーザに代わるアバターを描画する必要がないので、アバター重畳処理をスキップする。同じ拠点のHMDについては、現実画像から人を検出して、仮想CGが表示されないように制御しているためである。例えば、HMD101aのユーザが拠点1内に位置している場合には、図12のHMD101a以外のHMDを装着している体験者A、B、Cのように、実際の体験者の画像が表示される。
これにより、他の拠点(異なる体験エリア)のHMD(撮像装置)の体験者と、同じ拠点の体験者とを識別させることが可能となり、複数拠点を連携した体験でのコミュニケーションをしやすくすることができる。
処理対象のHMDの拠点が、HMD101aが位置する拠点と異なっている場合、PC100aは、HMD101aを装着しているユーザが注視している仮想CGモデルがあるか否かを判定する(S908)。この判定は、S906において仮想CGモデルが特定できたか否かに対応する。
そして、注視している仮想CGモデルが存在すると判断した場合、PC100aは、処理対象HMDが、注視している仮想CGモデルを遮る(仮想CGモデルの表示を抑制する)ように位置しているか否かを判定する(S909)。具体的には、PC100aは、処理対象HMDの座標位置が、HMD101aの視点(カメラ221)と仮想CGモデルとの間にあるか否かを判定する。なお、HMD101aの視点位置から見て、処理対象のHMDまでの距離の方が短く、且つ、仮想CGモデルと処理対象のHMDの角度が閾値以下である、ことを条件にしても良い。
さて、処理対象HMDが、注視している仮想CGモデルを遮るように位置していると判断された場合、PC100aは、注視している仮想CGモデルが邪魔されないようにするため、処理対象のHMDに対するアバターの透過度を100%(非表示もしくは非合成などの出力を制御することと等価)とする(S911)。
一方、処理対象HMDが、注視している仮想CGモデルを遮らないように位置していると判断した場合、処理対象のHMD用のアバターを、その位置と姿勢に応じて描画し、仮想CGモデルと合成する(S910)。
そして、上記S907以降の処理を、HMD101aを除く、全てのHMDに対して行う。この重畳処理を終えた画像を、HMD101aへ出力し、表示させる。
なお、上記実施形態では、HMD101aと同じ拠点のHMDに対してはアバターの描画・合成を行わないとしたが、同じ拠点に属するユーザはHMDを装着しているので、HMDから適当な空間範囲を頭部と推定し、頭部(顔)についてはアバターを描画するようにしても良い。
また、デフォルトの設定で、アバターを非表示として制御させてもよい。また、急にアバターが非表示とならないようにするため、段階的にアバターを透明になるようにしてもよい。すなわち、重なるアバターであることを管理しておき、次の複合現実画像(MR画像)を生成する際に、透過率を変えたアバターを生成して、現実画像に仮想CGモデルの画像と透過率を変えたアバターの画像を重畳する。
以上、図9について説明した。次に図10を参照して、本実施形態における、注視しているモデルの特定処理について説明する。
図10のフローチャートは、PC100aに保持しているHMD101aの位置、姿勢及び、視線センサ223より取得した視線情報によりHMD101aを装着した体験者(ユーザ)が見ている仮想CGモデルを特定する処理のフローチャートである。
PC100aは、S1001にて、視線センサ223より取得し、図11(f)の視線情報1160の位置1161に記憶された視線情報を読み出す。これによりHMD101aを装着しいている体験者の視線位置を特定する。
S1002にて、PC101aは、図11の視線情報1160の位置1161から視線情報と自身のHMD情報1110の位置1113、姿勢1114(自身の位置、姿勢)よりより、HMD101aの見ている位置(カメラ221の視線方向の位置)を特定する。見ている位置に仮想CGモデルがあるか判断するため、PC101aは、図11(b)のモデル情報1120の全てのモデルについて位置1124、姿勢1125を取り出す。視線の位置(視線情報に重なる位置)に仮想CGモデルがある場合は、視線の先にモデルがあると判断し、PC101aのメモリに予め確保された図11(c)の注視しているモデル情報1130の注視モデルID1131に、対象のモデルID1120を保存する(S1003)。
視線の位置に仮想CGモデルがない場合は、PC101aは、視線の先にモデルがないと判断し、図11の注視しているモデル情報1130の注視モデルID1131にあるモデルIDを削除する(S1004)。
なお、注視しているモデルは、所定時間(例えば、2秒間)、同一の仮想CGモデルに、視線があるものを注視しているモデルとして決定するようにする。すなわち、一瞬、或いは、視線が頻繁に移動している場合には、モデル情報1130には保存されない。
以上が図10の説明である。次に図11(a)乃至(f)を参照して、本実施形態における、各種データの構成の一例について説明する。
HMD情報1110は、PC100及びサーバ200の外部メモリに記憶される。HMD情報1110はHMD101を一意に示す識別情報であるHMD ID1111、HMD101の所属する拠点を位置に示す識別情報である拠点ID1112(拠点名であってもよい)、HMD101の位置情報である1113、HMD101の姿勢情報である姿勢1114、さらには、HMDに代えて表示するアバターを特定するアバターIDを含む情報である。なお、HMDを使用しているユーザ名も保持するものとする。また、サーバは、PCからログイン要求があるたびに、このHMD情報1110を更新し、既ログインのPCにはその差分を送信して、互いに最新のHMD情報を共有するようになっている。
モデル情報1120は、PC100及びサーバ200の外部メモリに記憶される。モデルID1121は仮想CGモデルを一意に示すモデルID、モデルファイルを示すモデル名1122、モデルのファイルパスを示すファイルパス1123、モデルを仮想空間に配置する位置情報を示す位置1124、モデルを仮想空間に配置した時の姿勢情報を示す姿勢1125を含む情報である。
注視モデル情報1130は、各PC100の外部メモリに記憶されるものである。この情報は、HMD101が注視しているモデルを示す注視モデルID1131を含む情報である。
描画データ情報1140は、PC100の外部メモリに記憶される。HMD101に表示する仮想CGデータを示す描画データ1141を含む情報である。MR画像情報1150は、PC100の外部メモリに記憶される。HMD101に表示するMR画像を示す画像データ1151を含む情報である。視線情報1160はPC100の外部メモリに記憶される。HMD101の視線位置を示す位置1161を含む情報である。
そして、アバター情報1170は、サーバ200及び各PC100の外部メモリに記憶されるものである。なお、着目HMD(着目デバイス)に表示すべき合成画像を生成する際に、その着目HMDと同じ拠点に位置する他HMD(他デバイス)に対してはアバターを表示しない(透過表示する)。従って、着目HMDとは異なる拠点のアバター情報が、各PCの外部メモリに記憶されるようにしてもよい。以上が図11の説明である。
次に図12を参照して、本実施形態における、複数拠点で仮想空間を共有するイメージについて説明する。
図12の参照符号1201、1202に示す通り、体験者Aと同じ拠点1には体験者Bと体験者Cが存在し、体験者1と異なる拠点2には体験者Dと体験者Eが存在しているものとする。そして仮想空間を共有して各体験者の位置にアバター(各体験者の位置、姿勢を示す3次元モデル)を表示する事で、図12の参照符号1203のように別拠点の体験者があたかも同じ空間に存在するように見せることができる。
したがって、例えば、東京に居る体験者から見て、大阪という別の拠点に居る体験者(のアバター)をテーブルを挟んで会議を行う等が行えるようになる。なお、ここで言う拠点とは、図9のS907における判定に用いるものであり、拠点の数に制限はない。例えば、3以上の拠点に分散した体験者が、あたまも一カ所に集って会議するなども可能になる。
次に図13を参照して、本実施形態における、解決する課題について説明する。
図13の参照1301は、複数の拠点で仮想空間を共有しており、図12の体験者AのHMDでの視界のイメージである。図示は、新製品(複合装置;MFP)に対応する仮想CGモデルを、各体験者が囲んでいることを示している。体験者Aからは、同一拠点にいる体験者Bと体験者Cは現実画像として見えるが、別拠点にいる体験者Dと体験者Eは、それぞれの位置、姿勢情報を元にアバターとして知覚される。
ここで、図13の参照符号1302では体験者Aが仮想CGモデルを注視している状態で、体験者E(アバター)が体験者Aと仮想CGモデルの前を横切り視界を遮った場合、体験者Aが見たい仮想CGが見にくい状態が発生する。以上が図13の説明である。
次に図14を参照して、本実施形態における、課題の解決イメージついて説明する。
図14の参照符号1401は図13の参照1301と同様で、複数の拠点で仮想空間を共有しており、図12の体験者AのHMDでの視界のイメージである。同一拠点にいる体験者Bと体験者Cは現実画像において確認できるため視認できる状態となっている。体験者Dと体験者Eは、体験者Aとは別拠点にいるため、それら位置、姿勢情報を元にアバターとして表示される。
図14の参照符号1402は、体験者Aの視線や位置、視線より体験者Aが注視している仮想CGオブジェクトが特定されていることを示している。図14の参照符号1403は、体験者Aが注視している仮想CGオブジェクトと体験者Aの間に別拠点の体験者Eが移動した場合の状態を示している。すなわち、本実施形態では、体験者Aが注視している仮想CGオブジェクトを、体験者Eのアバターが邪魔している(重なる)と判定される状態である。本実施形態では、かかる状態にあるとき、体験者Eのアバターを消すもしくは半透明にする。
図14の参照符号1404は体験者Aが注視している仮想CGオブジェクトの前に体験者Eのアバターがいる状態であるが、アバターが消えているので注視している事を邪魔されない。
また、非表示としたアバターに対応するHMD101の拠点IDとHMDの識別情報(IDやユーザ名)を取得し、重なっている仮想CGオブジェクトのモデル名を取得し、体験者Aに通知しても良い、例えば、「非表示となっている体験者Eが、MFPの前を移動中」というメッセージを体験者Aの画像に重畳表示する。
また、着目HMDから見て、CGモデルを遮る位置に、異なる拠点のHMDが位置する場合には、そのHMDに対するアバターの透過度を100%としたが、存在するがわかる程度まで透過度を設定して、合成しても良い。
上記実施形態によれば、複数のHMDの体験者に対して、それぞれの体験者が共通な仮想CGモデルを含む仮想空間内に存在するかのような体験を提示することができる。このとき、在る一人の体験者に着目したとき、その着目体験者が見ている仮想CGモデルが、別拠点に居る体験者のアバターで遮られることを無くすことが可能になる。
[他の実施形態]
他の実施形態について、図15のフローチャートを用いて説明する。図15のフローチャートは、PC100aにおける図9のS910の処理の一例を示している。つまり、アバターを合成する場合の処理である。
他の実施形態について、図15のフローチャートを用いて説明する。図15のフローチャートは、PC100aにおける図9のS910の処理の一例を示している。つまり、アバターを合成する場合の処理である。
ステップS1501にて、PC100aは、他の拠点のHMD101の位置姿勢を取得し、MR画像を表示するHMD101aの位置姿勢とに基づき、所定の範囲内の距離に位置するかを特定する。所定の範囲は、システムで予め設定されているものとするが、例えば、MR画像を表示するHMD101の位置から半径Ncmの範囲などである。
ステップS1502では、所定の範囲内に他の拠点のHMD101の位置がある場合に、アバター画像を拡大処理したオブジェクトを取得する。
ステップS1503では、所定の範囲より通り位置に他の拠点のHMD101の位置がある場合に、離れている距離に応じたアバター画像を拡大または縮小処理して、取得する。
なお、拡大や縮小処理せず、距離に応じたアバター画像を記憶しておき、他の拠点のHMD101の位置に応じたアバター画像を取得するようにしてもよい。
ステップS1504では、ステップS903で生成した現実画像と仮想CGモデルの画像とを合成したMR画像に、取得したアバター画像を重畳する。この重畳されたMR画像がHMD101へ出力され、表示される。なお、仮想CGモデルの後ろに見える位置にユーザがいる場合には、アバターを重畳させた後に仮想CGモデルの画像を表示し、前後関係を制御する。
なお、本実施形態では、アバター画像を予め準備し、表示するように構成したが、他の拠点の体験者の顔画像を取得して、アバター画像として表示するようにしてもよい。また、実施形態では、HMD毎に異なるアバターを割り当てるものとして説明したが、アバターに、例えば名札を付加するのであれば、アバターは1種類でも構わない。
以上説明したように、本実施形態によれば、撮像装置を用いて体験しているユーザが見ている仮想物体を他の体験しているユーザの移動により遮ることを防ぐことができる。
また、注視している仮想物体以外に重なるユーザのアバターは表示制御することなく表示されるため、没入感を維持した体験が可能となる。特に、複数の拠点で連携した体験(遠隔拠点間での会議の実施)において、本来同じ環境にいない体験者が邪魔になりスムーズな体験を阻害することを防止することが可能となる。
一方、同じ拠点の体験者については、透過や非表示等の制御をしないため、実際の体験環境を表現することができる。特に、他の環境の体験者との衝突を意識することなく体験できると共に、同じ環境の体験者との衝突を回避することが可能となる。
なお、実施形態では、各PC101とサーバ200とのネットワーク通信を前提にして説明した。しかし、拠点1、2が物理的に近い位置にあって(例えば隣り合う部屋やフロア)、1つの装置が十分な処理能力を有するのであれば、その1つの装置が拠点1、2に属する全てのHMDを接続し、それらの合成画像を生成するようにしても構わない。この場合、上記実施形態にて説明した通信に係る処理は無くなり、PC、サーバに係る処理(が1つの装置上で実行されることになる。なお、サーバは、PC間で情報を共有する際の中継装置として機能するものであり、ネットワークの通信帯域が十分に広く、且つ、PCそれぞれが十分に高い処理能力を有するのであれば、サーバを不要とし、各PCはピアツーピア接続するものとしても構わない。
以上、本発明に係る実施形態について示したが、本発明は、例えば、システム、装置、方法、アプリケーションプログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
例えば、図2に示すPC100の構成を全て備えるHMD101が、自機の機能をCPU201で実行して、上述した実施形態においてPC100の実行するものとして説明した処理の全てを、実行するようにしてもよい。
また、本実施形態におけるプログラムは、図5〜図9、図15に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、記憶媒体は図5〜図9、図15の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図5〜図9、図15の各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
100…PC、101…HMD、103…光学式マーカ、104…光学式センサ、150…ネットワーク
Claims (13)
- 複合現実感提示システムであって、
撮像手段及び表示手段を有する、複数の頭部装着可能なデバイスと、
前記デバイスそれぞれが属するローカル座標空間の識別情報、前記撮像手段で撮像する画像への合成対象のCGモデルの描画のためのCGモデル情報、及び、各デバイスを装着する体験者に代わって表示されるアバターの描画のためのアバター情報を記憶する記憶手段と、
前記デバイスそれぞれの位置姿勢を検出する検出手段と、
前記デバイスそれぞれの撮像手段が撮像した画像に、前記CGモデル及び前記アバターをそれぞれの位置姿勢に基づいて合成し、当該合成して得た合成画像を、それぞれの表示手段に出力する制御手段とを有し、
前記制御手段は、
前記複数のデバイスにおける1つを着目デバイスとしたとき、当該着目デバイスの撮像手段が撮像した画像に、
(1)当該着目デバイスの位置姿勢に基づく前記CGモデル、
(2)前記着目デバイスとは異なるローカル座標空間に属する他デバイスに対応するアバター
を合成する合成手段を含み、
前記合成手段は、前記着目デバイス、前記CGモデル及び前記他デバイスとの位置関係に基づき、前記CGモデルを視認させるべく当該他デバイスに対応するアバターの出力を制御して前記CGモデル及び前記アバターを合成する
ことを特徴とする複合現実感提示システム。 - 前記合成手段は、前記着目デバイス、前記CGモデルとの間に、前記他デバイスが位置する場合、当該他デバイスに対応するアバターを透過して合成することを特徴とする請求項1に記載の複合現実感提示システム。
- 体験者の視点からの視線方向に位置するCGモデルを特定する特定手段を有し、
前記合成手段は、前記特定手段で特定したCGモデルと前記体験者の視点との間に、前記他デバイスが位置するとき、当該他デバイスのアバターを透過して合成する
ことを特徴とする請求項1に記載の複合現実感提示システム。 - 前記合成手段は、
透過して合成するアバターが存在する場合、当該アバターが透過合成されることを示すメッセージを、前記着目デバイスの撮像手段が撮像した画像に合成する
ことを特徴とする請求項2又は3に記載の複合現実感提示システム。 - 前記合成手段は、前記着目デバイスと同じローカル座標空間に属する他デバイスについては、当該他デバイスの体験者の頭部のアバターを合成する
ことを特徴とする請求項1乃至4のいずれか1項に記載の複合現実感提示システム。 - 前記デバイスそれぞれと通信するサーバを更に有し、
前記検出手段、及び、前記合成手段は、前記デバイスそれぞれが有し、
前記サーバは、各デバイスが検出した位置姿勢情報、及び、各デバイスが属するローカル座標空間を示す識別情報を、他のデバイスに向けて送信することで、各デバイスが互いの位置姿勢情報及び前記識別情報を共有させる
ことを特徴とする請求項1乃至5のいずれか1項に記載の複合現実感提示システム。 - 前記デバイスは、
前記サーバと通信すると共に、前記検出手段、及び、前記合成手段として機能するアプリケーションプログラムを実行する情報処理装置と、
前記表示手段としての表示装置及び前記撮像手段としてのカメラ、並びに、前記情報処理装置と通信するための通信インターフェースとを有するHMD装置と
を含むことを特徴とする請求項6に記載の複合現実感提示システム。 - ディスプレイ及びカメラを有する頭部装着可能なデバイスと通信可能に接続される情報処理装置であって、
CGモデルを描画するためのCG描画情報を記憶する記憶手段と、
体験者に装着される前記デバイスの位置姿勢を検出する検出手段と、
前記デバイスから、当該デバイスが有するカメラで撮像した画像を受信し、前記検出した位置姿勢に基づく前記CGモデルを前記画像に合成し、合成して得た合成画像を前記デバイスが有するディスプレイに表示させるために送信する合成手段とを有し、
前記情報処理装置は、
当該情報処理装置とは異なるローカル座標空間に属する他の情報処理装置とネットワークを介して通信するための通信手段と、
前記通信手段を介して、それぞれが有するデバイスの位置姿勢を、それぞれの体験者の頭部の位置姿勢を表す情報として共有する共有手段を更に有し、
前記記憶手段は、
前記他の情報処理装置における共同体験者に代わるアバターを描画するためのアバター描画情報を更に記憶し、
前記合成手段は、
前記デバイス、前記CGモデル及び前記共同体験者が装着するデバイスの位置関係に基づき、前記CGモデルを視認させるべく当該共同体験者に対応するアバターの出力を制御して前記CGモデル及び前記アバターを合成する
ことを特徴とする情報処理装置。 - 前記通信手段は、
ネットワーク上の、前記他の情報処理装置との中継装置として機能するサーバと通信することを特徴とする請求項8に記載の情報処理装置。 - 前記合成手段は、前記デバイス、前記CGモデルとの間に、前記共同体験者が位置する場合、当該共同体験者に対応するアバターを透過して合成することを特徴とする請求項8又は9に記載の情報処理装置。
- 体験者の視点からの視線方向に位置するCGモデルを特定する特定手段を有し、
前記合成手段は、前記特定手段で特定したCGモデルと前記体験者の視点との間に、前記共同体験者が位置するとき、当該共同体験者のアバターを透過して合成する
ことを特徴とする請求項8又は9に記載の情報処理装置。 - 体験者の頭部に装着可能であって、ディスプレイ及びカメラを搭載したデバイスと通信可能に接続され、記憶手段、及び、ネットワークと通信するための通信手段を有する情報処理装置の制御方法であって、
前記記憶手段は、CGモデルを描画するためのCG描画情報、及び、共同体験者に代わるアバターを描画するためのアバター描画情報を記憶し、
前記方法は、
前記体験者に装着される前記デバイスの位置姿勢を検出する検出工程と、
前記通信手段を介して、それぞれが有するデバイスの前記位置姿勢を、それぞれの体験者の頭部の位置姿勢を表す情報として共有する共有工程と、
前記デバイスから、当該デバイスが有するカメラで撮像した画像を受信し、前記検出した位置姿勢に基づく前記CGモデル並びに前記共同体験者の位置姿勢に基づくアバターを前記画像に合成し、合成して得た合成画像を前記デバイスが有するディスプレイに表示させるために送信する合成工程とを有し、
前記合成工程は、
前記デバイス、前記CGモデル及び前記共同体験者が装着するデバイスの位置関係に基づき、前記CGモデルを視認させるべく当該共同体験者に対応するアバターの出力を制御して前記CGモデル及び前記アバターを合成する
ことを特徴とする情報処理装置の制御方法。 - 体験者の頭部に装着可能であって、ディスプレイ及びカメラを搭載したデバイスと通信可能に接続され、記憶手段、及び、ネットワークと通信するための通信手段を有するコンピュータに読み込ませ実行させることで、前記コンピュータに、請求項12に記載の方法の各工程を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016249998A JP2018106297A (ja) | 2016-12-22 | 2016-12-22 | 複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016249998A JP2018106297A (ja) | 2016-12-22 | 2016-12-22 | 複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018106297A true JP2018106297A (ja) | 2018-07-05 |
Family
ID=62787874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016249998A Pending JP2018106297A (ja) | 2016-12-22 | 2016-12-22 | 複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018106297A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020038468A (ja) * | 2018-09-04 | 2020-03-12 | 株式会社コロプラ | プログラム、情報処理装置、および方法 |
CN111651048A (zh) * | 2020-06-08 | 2020-09-11 | 浙江商汤科技开发有限公司 | 多虚拟对象排列展示方法、装置、电子设备及存储介质 |
WO2021020150A1 (ja) * | 2019-07-26 | 2021-02-04 | 富士フイルム株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2021117593A (ja) * | 2020-01-23 | 2021-08-10 | 株式会社ドワンゴ | コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信プログラム |
CN113632089A (zh) * | 2019-03-29 | 2021-11-09 | 平田机工株式会社 | 图面检验系统、客户端装置、程序及记录介质 |
WO2024004306A1 (ja) * | 2022-06-29 | 2024-01-04 | キヤノン株式会社 | 制御装置、システム、制御方法、プログラム |
US11909945B2 (en) | 2019-06-28 | 2024-02-20 | Fujifilm Corporation | Display control device, display control method, and program |
-
2016
- 2016-12-22 JP JP2016249998A patent/JP2018106297A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020038468A (ja) * | 2018-09-04 | 2020-03-12 | 株式会社コロプラ | プログラム、情報処理装置、および方法 |
CN113632089A (zh) * | 2019-03-29 | 2021-11-09 | 平田机工株式会社 | 图面检验系统、客户端装置、程序及记录介质 |
CN113632089B (zh) * | 2019-03-29 | 2023-10-20 | 平田机工株式会社 | 图面检验系统、客户端装置、程序、记录介质、服务器装置及控制方法 |
US11843761B2 (en) | 2019-03-29 | 2023-12-12 | Hirata Corporation | Drawing verification system, client apparatus, recording medium, server apparatus and control method |
US11909945B2 (en) | 2019-06-28 | 2024-02-20 | Fujifilm Corporation | Display control device, display control method, and program |
WO2021020150A1 (ja) * | 2019-07-26 | 2021-02-04 | 富士フイルム株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JPWO2021020150A1 (ja) * | 2019-07-26 | 2021-02-04 | ||
JP7317119B2 (ja) | 2019-07-26 | 2023-07-28 | 富士フイルム株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2021117593A (ja) * | 2020-01-23 | 2021-08-10 | 株式会社ドワンゴ | コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信プログラム |
CN111651048A (zh) * | 2020-06-08 | 2020-09-11 | 浙江商汤科技开发有限公司 | 多虚拟对象排列展示方法、装置、电子设备及存储介质 |
CN111651048B (zh) * | 2020-06-08 | 2024-01-05 | 浙江商汤科技开发有限公司 | 多虚拟对象排列展示方法、装置、电子设备及存储介质 |
WO2024004306A1 (ja) * | 2022-06-29 | 2024-01-04 | キヤノン株式会社 | 制御装置、システム、制御方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102517876B1 (ko) | 증강 현실 데이터를 레코딩하기 위한 기술 | |
JP2018106297A (ja) | 複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム | |
US7843470B2 (en) | System, image processing apparatus, and information processing method | |
JP7042644B2 (ja) | 情報処理装置、画像生成方法およびコンピュータプログラム | |
JP2020024752A (ja) | 情報処理装置及びその制御方法、プログラム | |
JP2016522463A5 (ja) | ||
WO2019014285A1 (en) | METHOD, APPARATUS AND SYSTEM PROVIDING AN ALTERNATIVE REALITY ENVIRONMENT | |
JP6920057B2 (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JP7060778B2 (ja) | 情報処理システム、情報処理システムの制御方法及びプログラム | |
JP6677890B2 (ja) | 情報処理システム、その制御方法、及びプログラム、並びに情報処理装置、その制御方法、及びプログラム | |
JP6409861B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP6871501B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP2016035742A (ja) | 情報処理システム、その制御方法、及びプログラム、並びに、情報処理装置、その制御方法、及びプログラム | |
JP2005174021A (ja) | 情報提示方法及び装置 | |
JP2016122392A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JPWO2017068925A1 (ja) | 情報処理装置及び情報処理装置の制御方法、並びにコンピュータ・プログラム | |
JP7273325B2 (ja) | 情報処理装置、情報処理システム、情報処理方法及びプログラム | |
EP3542877A1 (en) | Optimized content sharing interaction using a mixed reality environment | |
CN111699460A (zh) | 多视图虚拟现实用户界面 | |
JP7279113B2 (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JP6810342B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP2020074108A (ja) | 情報処理システム、その制御方法、及びプログラム | |
JP2016115230A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP7113065B2 (ja) | コンピュータプログラム、方法、及び、サーバ | |
JP2017199404A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム |