(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-02
(45)【発行日】2024-04-10
(54)【発明の名称】情報処理装置、情報処理方法
(51)【国際特許分類】
G06T 15/04 20110101AFI20240403BHJP
G06F 3/0484 20220101ALI20240403BHJP
【FI】
G06T15/04
G06F3/0484
(21)【出願番号】P 2020056622
(22)【出願日】2020-03-26
【審査請求日】2023-03-20
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】渡辺 貴文
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】特開2008-033531(JP,A)
【文献】特表2020-535557(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/04
G06F 3/04845
(57)【特許請求の範囲】
【請求項1】
背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成手段と、
現実空間の色画像を取得するデバイスと移動体との間の距離に応じたサイズを有する多面体に、該デバイスが取得した該移動体の色画像をマッピングすることで得られるマッピング済み多面体を第2環境マップとして生成する第2生成手段と、
仮想物体の画像を生成する第3生成手段と
を備え、
前記第3生成手段は、前記仮想物体の画像の画素値を、前記第1環境マップと、前記第2環境マップと、に基づいて決定する
ことを特徴とする情報処理装置。
【請求項2】
前記第1生成手段は、現実空間に対応する多面体を、該現実空間の距離画像に基づいて生成し、該多面体に該現実空間の色画像をマッピングしたマッピング済み多面体を、前記第1環境マップとして生成することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第2生成手段は、前記デバイスの位置を中心とし且つ前記距離に応じたサイズを有する多面体を設定し、該設定した多面体に前記デバイスが取得した移動体の色画像をマッピングしたマッピング済み多面体を、前記第2環境マップとして生成することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記第3生成手段は、
前記仮想物体の画像における着目画素に対応する前記仮想物体上の位置への視線ベクトルの、該位置における反射ベクトルを求める手段と、
前記第2環境マップにおいて前記反射ベクトルとの交点位置が、該第2環境マップにマッピングされている移動体の画像領域内であれば、前記第2環境マップの前記反射ベクトルとの交点位置における画素値に基づいて前記着目画素の画素値を決定し、前記第2環境マップにおいて前記反射ベクトルとの交点位置が、該第2環境マップにマッピングされている移動体の画像領域外であれば、前記第1環境マップの前記反射ベクトルとの交点位置における画素値に基づいて前記着目画素の画素値を決定する手段と
を備えることを特徴とする請求項1ないし3の何れか1項に記載の情報処理装置。
【請求項5】
背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成手段と、
移動体を含む現実空間の色画像をマッピングした多面体を第2環境マップとして生成する第2生成手段と、
仮想物体の画像を生成する第3生成手段と
を備え、
前記第3生成手段は、
前記仮想物体の画像における着目画素に対応する前記仮想物体上の対応位置への視線ベクトルの、該対応位置における反射ベクトルを求め、該反射ベクトルを前記第1環境マップおよび前記第2
環境マップのそれぞれについて補正した補正反射ベクトルと、前記第1環境マップと、前記第2環境マップと、に基づいて、前記着目画素の画素値を決定する
ことを特徴とする情報処理装置。
【請求項6】
前記第1生成手段は、現実空間の色画像を、該現実空間よりも大きいサイズの多面体にマッピングしたマッピング済み多面体を、前記第1環境マップとして生成することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記第2生成手段は、移動体を含む現実空間の色画像を、該現実空間よりも大きいサイズの多面体にマッピングしたマッピング済み多面体を、前記第2環境マップとして生成することを特徴とする請求項5または6に記載の情報処理装置。
【請求項8】
前記第3生成手段は、
前記反射ベクトルを、前記第1環境マップの中心位置から前記対応位置へのベクトルに基づいて補正した第1補正反射ベクトルを求める手段と、
前記反射ベクトルを、前記第2環境マップの中心位置から前記対応位置へのベクトルに基づいて補正した第2補正反射ベクトルを求める手段と、
前記第2環境マップにおいて前記第2補正反射ベクトルとの交点位置が、該第2環境マップにマッピングされている移動体の画像領域内であれば、前記第2環境マップの前記第2補正反射ベクトルとの交点位置における画素値に基づいて前記着目画素の画素値を決定し、前記第2環境マップにおいて前記第2補正反射ベクトルとの交点位置が、該第2環境マップにマッピングされている移動体の画像領域外であれば、前記第1環境マップの前記第1補正反射ベクトルとの交点位置における画素値に基づいて前記着目画素の画素値を決定する手段と
を備えることを特徴とする請求項5ないし7の何れか1項に記載の情報処理装置。
【請求項9】
前記第3生成手段は、
前記仮想物体の画像を、頭部装着型表示装置によって撮像された現実空間の画像と合成して該頭部装着型表示装置に出力することを特徴とする請求項1ないし8の何れか1項に記載の情報処理装置。
【請求項10】
前記現実空間は、複合現実空間を体感する空間であることを特徴とする請求項1ないし9の何れか1項に記載の情報処理装置。
【請求項11】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の第1生成手段が、背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成工程と、
前記情報処理装置の第2生成手段が、現実空間の色画像を取得するデバイスと移動体との間の距離に応じたサイズを有する多面体に、該デバイスが取得した該移動体の色画像をマッピングすることで得られるマッピング済み多面体を第2環境マップとして生成する第2生成工程と、
前記情報処理装置の第3生成手段が、仮想物体の画像を生成する第3生成工程と
を備え、
前記第3生成工程では、前記仮想物体の画像の画素値を、前記第1環境マップと、前記第2環境マップと、に基づいて決定する
ことを特徴とする情報処理方法。
【請求項12】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の第1生成手段が、背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成工程と、
前記情報処理装置の第2生成手段が、移動体を含む現実空間の色画像をマッピングした多面体を第2環境マップとして生成する第2生成工程と、
前記情報処理装置の第3生成手段が、仮想物体の画像を生成する第3生成工程と
を備え、
前記第3生成工程では、
前記仮想物体の画像における着目画素に対応する前記仮想物体上の対応位置への視線ベクトルの、該対応位置における反射ベクトルを求め、該反射ベクトルを前記第1環境マップおよび前記第2
環境マップのそれぞれについて補正した補正反射ベクトルと、前記第1環境マップと、前記第2環境マップと、に基づいて、前記着目画素の画素値を決定する
ことを特徴とする情報処理方法。
【請求項13】
コンピュータを、請求項1ないし10の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複合現実空間を提供するための技術に関するものである。
【背景技術】
【0002】
近年、現実空間と仮想空間とのつなぎ目のない結合を目的とした、複合現実感(Mixed Reality:MR)システムの開発が盛んに行われている。MRシステムの研究の進展に伴い、特許文献1や非特許文献1のように現実物体と仮想物体の合成を目的とした、マスキング技術も提案されている。
【0003】
現実空間と仮想空間の融合性を高める方法の一つとして、金属のように表面に光沢がある仮想物体を複合現実空間で提示する際、仮想物体の周囲に存在する現実空間の景色が、仮想物体の表面に反射して映り込む現象の再現が挙げられる。このような映り込みを正確に実現するためには、観察者に提示する複合現実空間の画像の画素に対応するすべての光線の伝播を物理法則に従ってシミュレートするレイトレーシングを利用する方法がある(特許文献2)。しなしながら、レイトレーシングは一般に計算量が大きいことが知られている。
【0004】
映り込みを簡易的に実現する方法として、コンピュータグラフィックの分野では、古くより環境マッピングと呼ばれる方法が取られてきた。環境マッピングは、物体に映り込むと想定される周囲環境の画像を用意し、物体に対してあたかも映り込んでいるかのようにテクスチャマッピングする方法である。特許文献3では、角度を制御できる撮像装置を利用して周囲の動画像を取得し、これを環境マッピングで利用することで映り込みを実現する方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2002-157606号公報
【文献】特許第4999711号公報
【文献】特開2011-175567号公報
【非特許文献】
【0006】
【文献】林建一,加藤博一,西田正吾,“境界線ベースステレオマッチングを用いた実物体と仮想物体の前後判定”,日本バーチャルリアリティ学会論文誌,Vol.10,No.3,pp.371-380,2005.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、一般に環境マッピングは、十分に大きな球体あるいは立方体といった多面体に周囲の様子を映した画像が貼付されていると想定し、観察者の視線が仮想物体の表面で反射した際のベクトル(以下、反射ベクトル)から該画像のどの画素の色と対応付くかを調べる方法であり、あくまで近似である。したがって、現実空間に存在する3次元物体の映り込みを正確に再現することはできず、映り込み位置が本来の位置から大きくずれることがある。本発明では、仮想物体の表面に現実空間の映り込みを実現する場合に、映り込み位置の不正確さを低減させるための技術を提供する。
【課題を解決するための手段】
【0008】
本発明の一様態は、背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成手段と、現実空間の色画像を取得するデバイスと移動体との間の距離に応じたサイズを有する多面体に、該デバイスが取得した該移動体の色画像をマッピングすることで得られるマッピング済み多面体を第2環境マップとして生成する第2生成手段と、仮想物体の画像を生成する第3生成手段とを備え、前記第3生成手段は、前記仮想物体の画像の画素値を、前記第1環境マップと、前記第2環境マップと、に基づいて決定することを特徴とする。
【発明の効果】
【0009】
本発明の構成によれば、仮想物体の表面に現実空間の映り込みを実現する場合に、映り込み位置の不正確さを低減させることができる。
【図面の簡単な説明】
【0010】
【
図2】環境マップを生成する処理および該環境マップに基づいて「周囲環境の映り込みが再現された仮想物体の画像」を生成する処理のフローチャート。
【
図3】第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を示す図。
【
図4】環境マップを生成する処理および該環境マップに基づいて「周囲環境の映り込みが再現された仮想物体の画像」を生成する処理のフローチャート。
【
図5】第1多面体、第2多面体、第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を示す図。
【
図6】第1多面体、第2多面体、第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を示す図。
【
図8】コンピュータ装置のハードウェア構成例を示すブロック図。
【
図9】情報処理装置1200が行う処理のフローチャート。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
[第1の実施形態]
環境マッピングにおいて、仮想物体における現実空間の映り込みの位置が正確に表現されない主な原因は、主に次の2点である。つまり、計算を省略するために、周囲の空間の形状を球体あるいは立方体などの多面体で近似することと、多面体の大きさを映り込みが発生する物体に対し十分に大きく設定することにある。これらの原因によって、特に仮想物体の近傍の周囲の現実空間の映り込みは誤差が大きくなることが多い。本実施形態を含む以下の各実施形態では、複合現実感において上記問題を低減するために、周囲の現実空間の形状や、現実空間に存在する特定物体までの距離や位置を計測し、この情報を利用して近似の精度を向上させる。
【0013】
本実施形態では、環境マッピングを実施する際の、計算上の想定としての、周囲の現実空間の画像を貼付する多面体の大きさや形状や位置を、現実空間の部屋の大きさや移動体の位置に合わせて設定することで、映り込み位置のずれの軽減を行う。
【0014】
先ず、本実施形態に係るシステムの構成例について、
図1のブロック図を用いて説明する。
図1に示す如く、本実施形態に係るシステムは、RGB-Dセンサ1100と、HMD1000と、情報処理装置1200と、を有する。情報処理装置1200とHMD1000との間は、互いにデータ通信が可能なように接続されており、例えば、LANやインターネットなどのネットワークを介して接続されている。なお、情報処理装置1200とHMD1000との間の接続形態については特定の接続形態に限らない。例えば、無線であっても良いし有線であっても良い。また、HMD1000と情報処理装置1200とを一体化させて1つの装置としてもよい。また、情報処理装置1200とRGB-Dセンサ1100との間は、互いにデータ通信が可能なように接続されている。情報処理装置1200とRGB-Dセンサ1100との間の接続形態についても、特定の接続形態に限らない。
【0015】
先ず、RGB-Dセンサ1100について説明する。RGB-Dセンサ1100は、現実空間中に配置され、その配置位置からの現実空間の色画像(例えばRGB画像)および距離画像を取得可能なセンサである。周知の如く、距離画像の各画素の画素値は該距離画像の撮像面からの奥行値を表していることから、該画素は現実空間(3次元空間)における1点(3次元点)に対応することになる。このように、距離画像は、該距離画像における各画素に対応する3次元点の集合(3次元点群)に対応していることから、以下では、距離画像を3次元点群と称する場合がある。
【0016】
なお、本実施形態では、現実空間の色画像および距離画像が取得できるのであれば、その方式は特定の方式に限らない。例えば、「RGBカメラ」と「Time of Flight方式あるいはアクティブステレオ方式、あるいは位相差検出方式などを利用した深度カメラ」とを組み合わせて、現実空間の色画像および距離画像を取得する方法を採用してもよい。また、ステレオのRGBカメラから距離画像を算出する方法や、単眼のRGBカメラから機械学習などによって距離画像を推定する方法を採用してもよい。
【0017】
次に、HMD1000について説明する。HMD1000は、現実空間と仮想空間とを融合させた複合現実空間をユーザに提供するための頭部装着型表示装置の一例である。ユーザは自身の頭部にHMD1000を装着して該HMD1000に表示される画像を観察することで該複合現実空間を体感することができる。
【0018】
撮像部1010は、HMD1000を頭部に装着したユーザの視線方向と略一致する視線方向の現実空間の動画像を撮像し、該撮像した動画像の各フレームの色画像(現実空間の撮像画像)は順次、情報処理装置1200に対して出力される。撮像部1010は、単一の撮像センサによって単一画像を取得するものであっても良いし、左眼用及び右眼用の二つの撮像センサによってステレオ画像を取得するものであっても良い。
【0019】
表示部1020は、HMD1000を自身の頭部に装着したユーザの眼前に位置するようにHMD1000に取り付けられており、情報処理装置1200から送信される画像や文字を表示する。表示部1020は、ステレオ立体視のために、左眼と右眼に個別に表示を行えるよう、左眼用表示部と右眼用表示部とを有する構成であっても良いし、どちらか一方の眼のみに提示する構成でも良い。
【0020】
なお、HMD1000に加えて若しくは代えて撮像機能と表示機能とを有する装置を用いてもよく、そのような装置には、例えば、スマートフォンやタブレット端末装置が適用可能である。
【0021】
次に、情報処理装置1200について説明する。情報処理装置1200には、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末装置などのコンピュータ装置を適用することができる。
【0022】
生成部1210は、RGB-Dセンサ1100から得られる現実空間の距離画像および色画像に基づいて、仮想物体に対する環境マッピングを実施するために用いる環境マップを生成する。
【0023】
算出部1220は、撮像部1010から出力された現実空間の撮像画像から、世界座標系(現実空間中における1点を原点とし、該原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系)における撮像部1010(視点)の位置姿勢を求める。本実施形態では、現実空間の撮像画像中に写っている特徴点に基づいて、Simultaneous Localization and Mapping(SLAM)の処理を実施することで、世界座標系における撮像部1010の位置姿勢を求める。なお、世界座標系における撮像部1010の位置姿勢を取得するための方法には様々な方法があり、特定の方法に限らない。例えば、撮像部1010に対する相対的な位置姿勢が既知のセンサをHMD1000に取り付け、該センサによる計測値を該相対的な位置姿勢に基づいて変換することで、世界座標系における撮像部1010の位置姿勢を求めるようにしても良い。また、モーションキャプチャシステムを利用して、世界座標系における撮像部1010の位置姿勢を求めてもよい。
【0024】
レンダリング部1230は、周囲環境の映り込みが再現された仮想物体を、生成部1210が生成した環境マップに基づいて生成し、該生成した仮想物体を算出部1220が求めた位置姿勢を有する視点から見た画像を、仮想物体画像として生成する。
【0025】
合成部1240は、撮像部1010から出力された現実空間の撮像画像と、レンダリング部1230によって生成された仮想物体画像と、を合成した合成画像を複合現実空間の画像として生成する。
【0026】
ここで、現実空間の撮像画像の画像領域における一部もしくは全部に仮想物体画像を合成(重畳)させる場合、現実物体と仮想物体との奥行きを考慮して、物体同士の隠蔽関係を整合させても良い。つまり、撮像画像における現実物体の画像領域において該現実物体よりも視点に近い仮想物体が重なっている部分領域については、仮想物体画像の重畳を許可する。一方、撮像画像における現実物体の画像領域において該現実物体よりも視点から遠い仮想物体が被っている部分領域については仮想物体画像の重畳を禁止する。
【0027】
そして合成部1240は、該生成した複合現実空間の画像をHMD1000(表示部1020)に対して出力する。これにより、HMD1000を自身の頭部に装着したユーザの眼前に、該複合現実空間の画像を提示することができる。
【0028】
次に、視点の位置姿勢に応じた複合現実空間の画像を生成してHMD1000に出力するために情報処理装置1200が行う処理について、
図9のフローチャートに従って説明する。なお、
図9のフローチャートに従った処理は、1フレーム分の複合現実空間の画像を生成してHMD1000に出力するための処理である。よって、実際には、情報処理装置1200は、
図9のフローチャートに従った処理を繰り返すことで、複数フレームの複合現実空間の画像を生成してHMD1000に出力する。
【0029】
ステップS901では、算出部1220は、撮像部1010から出力された現実空間の撮像画像を取得する。ステップS902では、算出部1220は、ステップS901で取得した撮像画像から、世界座標系における撮像部1010(視点)の位置姿勢を求める。
【0030】
ステップS903では、生成部1210は、RGB-Dセンサ1100から得られる現実空間の距離画像および色画像に基づいて環境マップを生成する。そして、レンダリング部1230は、周囲環境の映り込みが再現された仮想物体を、生成部1210が生成した環境マップに基づいて生成し、該生成した仮想物体をステップS902で求めた位置姿勢を有する視点から見た画像を、仮想物体画像として生成する。
【0031】
ステップS904では、合成部1240は、ステップS901で取得した現実空間の撮像画像と、ステップS903でレンダリング部1230によって生成された仮想物体画像と、を合成した合成画像を複合現実空間の画像として生成する。ステップS905では、合成部1240は、ステップS904で生成した複合現実空間の画像をHMD1000(表示部1020)に対して出力する。
【0032】
次に、環境マップを生成する処理および該環境マップに基づいて「周囲環境の映り込みが再現された仮想物体の画像」を生成する処理について、
図2のフローチャートに従って説明する。
【0033】
図2のフローチャートにおいてステップS2100およびステップS2200では、HMD1000を頭部に装着したユーザを含まない現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の環境マップを生成する。よって、ステップS2100およびステップS2200は、該ユーザが該部屋に入る前に前処理として実行される。
【0034】
ステップS2100では、生成部1210は、RGB-Dセンサ1100から出力された「HMD1000を頭部に装着したユーザを含まない現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の距離画像および色画像」を取得する。ここで、一般的なRGB-Dセンサ1100の視野角では、全周囲の距離画像および色画像を一度に取得することは困難である。よって本実施形態では、RGB-Dセンサ1100を様々な方向に向けて全周囲(部屋全体)の撮像を行って、部屋全体の距離画像(部屋全体の3次元点群)および色画像(部屋の全周囲色画像)を取得する。そして生成部1210は、このような撮像により得られた部屋全体の距離画像が表す該部屋の形状(部屋全体の3次元点群によって規定される形状)に最もフィットする多面体(直方体、立方体など)を第1多面体として求める。
【0035】
なお、第1多面体を取得する方法は特定の方法に限らない。例えば、RGB-Dセンサ1100が取得する距離画像は部屋の一部の距離画像であってもよく、一部の距離画像から構成が困難な第1多面体の面については、他の面の位置姿勢や所定の値を用いて補完しても良い。また、事前に部屋の形状をメジャーなどの計測器で計測しておき、該計測により得られた計測値をもとに、第1多面体を構成してもよい。
【0036】
このような撮像を行った後、本システムのオペレータはRGB-Dセンサ1100を、「HMD1000を装着して複合現実空間を体感するユーザが部屋内で行動すると推定される領域」を撮像可能な位置および姿勢に移動させる。該移動後のRGB-Dセンサ1100によって撮像された距離画像および色画像は生成部1210に出力される。生成部1210は、該距離画像が表す3次元点群が、部屋全体の距離画像が表す3次元点群のどの部分に最も一致するかを特定し、該特定した部分の3次元点群に基づいて、第1多面体に対するRGB-Dセンサ1100の相対的な位置姿勢(相対位置姿勢)を求める。また生成部1210は、第1多面体を規定する各頂点の位置を世界座標系における位置に変換する。この変換では、第1多面体を規定する各頂点の位置(RGB-Dセンサ1100の位置姿勢を基準とする座標系における位置)を、世界座標系におけるRGB-Dセンサ1100の位置姿勢と上記の相対位置姿勢とに基づいて変換する処理が行われる。世界座標系におけるRGB-Dセンサ1100の位置姿勢の取得方法は特定の取得方法に限らない。例えば、世界座標系における原点の位置にマーカを配置し、このマーカの色画像をRGB-Dセンサ1100で取得し、それを画像処理することによって自身の世界座標系における位置姿勢を推定しても良い。また、RGB-Dセンサ1100にモーションキャプチャなどの位置姿勢センサを取り付けて、自身の世界座標系における位置姿勢を計測しても良い。あるいは、RGB-Dセンサ1100にマーカを添付し、それを外部から撮影し、該撮影により得られる画像を画像処理することによって、RGB-Dセンサ1100の世界座標系における位置姿勢を推定しても良い。
【0037】
次に、ステップS2200では、生成部1210は、ステップS2100でRGB-Dセンサ1100から取得した全周囲色画像を第1多面体にマッピングしたマッピング済み多面体を、第1環境マップとして生成する。このマッピングでは、第1多面体の各頂点と、全周囲色画像上の画素位置と、を対応付けている。これにより、第1多面体上の着目位置に対応する全周囲色画像上の画素位置を特定することができ、第1多面体上の着目位置に対応する色が、該着目位置に対応する全周囲色画像上の画素位置における画素値(色)であると特定することができる。
【0038】
次に、ステップS2300~ステップS2500では、HMD1000を頭部に装着したユーザを含む現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の環境マップを生成する。ステップS2300~ステップS2500の処理は、仮想物体画像を生成する各フレームについて行ってもよいし、所定の時間間隔で行ってもよい。
【0039】
ステップS2300では生成部1210は、RGB-Dセンサ1100から出力された距離画像および色画像を取得する。そして生成部1210は、該取得した距離画像および色画像の両方若しくは一方を用いた背景差分によって、該色画像におけるユーザの画像領域および該距離画像における該ユーザの領域を特定する。例えば、事前にユーザを含まない現実空間の画像を背景情報として一度取得しておく。そして、その後、ユーザが存在する現実空間の画像と背景情報との差分から、該画像におけるユーザの画像領域を抽出する。この「画像」を色画像として上記の処理を行えば、色画像におけるユーザの画像領域を特定することができ、「画像」を距離画像として上記の処理を行えば、距離画像におけるユーザの画像領域を特定することができる。
【0040】
ステップS2400では、生成部1210は、RGB-Dセンサ1100からユーザまでの距離に基づいて、第2多面体を設定する。例えば、生成部1210は、ステップS2300で特定した「距離画像におけるユーザの画像領域」を構成する各画素の画素値のうち最も小さい画素値(ユーザとRGB-Dセンサ1100との間の最小距離)を距離dとして特定する。そして生成部1210は、RGB-Dセンサ1100の世界座標系における位置を中心とし、一辺が2dの立方体を第2多面体として設定する。
【0041】
なお、距離dに適用するものは、上記の例に限らず、例えば、ステップS2300で特定した「距離画像におけるユーザの画像領域」を構成する各画素の画素値の平均値を距離dとしてもよい。また、「距離画像におけるユーザの画像領域」に対応する3次元点群の領域の一部をセグメンテーションし、このセグメンテーションされた一部の領域の重心(該領域の3次元点群の位置から求める)までの距離であっても良い。また、第2多面体は立方体に限らず、例えば、RGB-Dセンサ1100の世界座標系における位置を中心とし、「距離画像におけるユーザの画像領域」に対応する3次元点群の一部若しくは全部を含む多面体であってもよい。
【0042】
ステップS2500では、生成部1210は、第2多面体において、「距離画像におけるユーザの画像領域」に対応する領域Rに、「色画像におけるユーザの画像領域」をマッピングしたマッピング済み多面体を、第2環境マップとして生成する。第2多面体において領域Rを除く他の領域には、「適当な値」を有する画素を有する画像をマッピングする。「適当な値」には、例えば、色画像がαチャンネルを有さない場合は、予め定義されたブランクの値を用いてもよいし、色画像がαチャンネルを有する場合は、α値「0」を用いてもよい。ユーザの画像領域は、環境マップの画像の一部にしか過ぎないため、メモリアクセスの処理時間を省くために画像領域のみを書き換える工夫などを適宜行っても良い。
【0043】
ここで、第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を
図3に示す。
図3では、部屋3000全体の3次元点群に最もフィットする多面体3030が第1多面体として求められており、該多面体3030には部屋3000全体の全周囲色画像がマッピングされており、これが第1環境マップとなる。また、
図3では、RGB-Dセンサ1100の位置を中心とし且つユーザ3010とRGB-Dセンサ1100との間の最小距離dの2倍の距離を一辺とする多面体3040が設定されている。多面体3040においてユーザの画像領域に対応する領域Rには、色画像における該画像領域がマッピングされており、これが第2環境マップとなる。また、ユーザ3010の頭部にはHMD1000が装着されている。
【0044】
次に、ステップS2600~S2800では、第1環境マップおよび第2環境マップを用いて、周囲の現実空間の映り込みを反映させた仮想物体の画像(仮想物体画像)を生成する。ステップS2600~ステップS2800の処理は、仮想物体画像を生成する各フレームについて行う。
【0045】
ステップS2600では、レンダリング部1230は先ず、仮想物体を生成して配置する。そしてレンダリング部1230は、視点の位置から、仮想物体画像の各画素(着目画素)に対応する仮想空間中の位置への方向ベクトルを視線ベクトルとして求める。そしてレンダリング部1230は、それぞれの視線ベクトルについて、仮想物体において該視線ベクトルとの交点位置(仮想物体上の位置)を求め、該交点位置における該視線ベクトルの反射ベクトルを求める。仮想物体は、該仮想物体を規定する規定データ(仮想物体がポリゴンで構成される場合は、該ポリゴンの頂点の位置データ、該ポリゴンの法線データ、該ポリゴンの材質を表すデータ等を含む)を用いて構成される。仮想物体において視線ベクトルとの交点位置が特定されると、該交点位置における法線ベクトルは上記の規定データから取得することができるので、該視線ベクトルおよび該法線ベクトルから周知の計算方法により、対応する反射ベクトルを求めることができる。
【0046】
図3の例では、仮想物体3020において視線ベクトル3050との交点位置3060を求め、該交点位置3060における法線ベクトル3070と、該視線ベクトル3050と、から該視線ベクトル3050に対応する反射ベクトル3080を求める。
図3に示す如く、反射ベクトル3080は、多面体3030と交差するサイズを有するものとする。
【0047】
ステップS2700では、レンダリング部1230は、ステップS2600で求めた反射ベクトルごとに次のような処理を行う。つまりレンダリング部1230は、第1環境マップにおいて反射ベクトルとの交点位置を求め、該第1環境マップにおいて該交点位置における画素値(色)を第1色情報として特定する。
図3の例では、第1環境マップである多面体3030において反射ベクトル3080との交点位置3100を求め、該交点位置3100における第1環境マップの画素値(色)を第1色情報として特定する。またレンダリング部1230は、第2環境マップにおいて反射ベクトルとの交点位置を求め、該第2環境マップにおいて該交点位置における画素値(色)を第2色情報として特定する。
図3の例では、第2環境マップである多面体3040において反射ベクトル3080との交点位置3090を求め、該交点位置3090における第2環境マップの画素値(色)を第2色情報として特定する。
【0048】
ステップS2800では、レンダリング部1230は、反射ベクトルごとに次のような処理を行うことで、仮想物体画像における各画素の画素値(色)を確定する。レンダリング部1230は、着目反射ベクトルについてステップS2700で特定した第2色情報が「適用な値」ではない場合(第2環境マップにおいて着目反射ベクトルとの交点位置が、該第2環境マップにマッピングされているユーザの画像領域内である場合)には、着目反射ベクトルに対応する仮想物体画像の画素の画素値を第2色情報に基づいて決定する。一方、レンダリング部1230は、着目反射ベクトルについてステップS2700で特定した第2色情報が「適用な値」である場合(第2環境マップにおいて着目反射ベクトルとの交点位置が、該第2環境マップにマッピングされているユーザの画像領域外である場合)には、着目反射ベクトルに対応する仮想物体画像の画素の画素値を第1色情報に基づいて決定する。画素の画素値を第1色情報に基づいて決定する場合であっても第2色情報に基づいて決定する場合であっても、該画素に対応する仮想物体の面のマテリアル情報や環境光などを勘案して、最終的な画素値を決定する。
【0049】
このような処理をそれぞれの視線ベクトルに対応する反射ベクトルについて行うことで、視点から見た仮想物体の画像(仮想物体画像)における各画素の画素値(色)を決定することができる。
【0050】
[第2の実施形態]
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。一般的な環境マッピングでは、環境マップに利用する立方体や球体などの多面体に対して、映り込みが発生する仮想物体を十分に大きく設定し、またユーザの視線ベクトルと仮想物体との交点が環境マップの多面体の中心に存在するものと仮定する。これにより、交点での反射ベクトルから、環境マップにおけるどの画素の色を交点における映り込みの色としてサンプリングするかを簡易な計算で求めることができる。
【0051】
本実施形態では、第1の実施形態のように、現実物体の形状や位置に応じて、環境マップに利用する多面体自体の形状や大きさ、位置を変化させるのではなく、反射ベクトルを補正する。これにより、既存の一般的な環境マッピングの仕組みを活用しつつ、映り込み位置の不正確さを低減する。
【0052】
環境マップを生成する処理および該環境マップに基づいて「周囲環境の映り込みが再現された仮想物体の画像」を生成する処理について、
図4のフローチャートに従って説明する。
【0053】
図4のフローチャートにおいてステップS4010~S4020では、HMD1000を頭部に装着したユーザを含まない現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の環境マップを生成する。よって、ステップS4010~S4020は、該ユーザが該部屋に入る前に前処理として実行される。
【0054】
ステップS4010では、生成部1210は、RGB-Dセンサ1100から出力された「HMD1000を頭部に装着したユーザを含まない現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の距離画像および色画像」を取得する。本実施形態では、RGB-Dセンサ1100を部屋の中央に配置して様々な方向に向けて全周囲(部屋全体)の撮像を行って、部屋全体の距離画像(部屋全体の3次元点群)および色画像(部屋の全周囲色画像)を取得する。そして生成部1210は、部屋に対して十分に大きいサイズの多面体に該全周囲色画像をマッピングすることで第1環境マップを生成する。つまり生成部1210は、全周囲色画像がこの多面体に貼付されていると想定し、該多面体の頂点と全周囲色画像の座標とを対応付ける。ステップS4020では、生成部1210は、上記のステップS2100と同様の処理を行うことで、第1多面体を求める。
【0055】
このような撮像を行った後、第1の実施形態と同様、本システムのオペレータはRGB-Dセンサ1100を、「HMD1000を装着して複合現実空間を体感するユーザが部屋内で行動すると推定される領域」を撮像可能な位置および姿勢に移動させる。
【0056】
次に、ステップS4030~ステップS4050では、HMD1000を頭部に装着したユーザを含む現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の環境マップを生成する。ステップS4030~ステップS4050の処理は、仮想物体画像を生成する各フレームについて行ってもよいし、所定の時間間隔で行ってもよい。
【0057】
ステップS4030では、生成部1210は、第1の実施形態と同様にして、色画像におけるユーザの画像領域および該距離画像における該ユーザの領域を特定する。
【0058】
ステップS4040では、生成部1210は、部屋に対して十分に大きいサイズの多面体にステップS4030で色画像から特定したユーザの画像領域をマッピングすることで第2環境マップを生成する。第2環境マップを立方体とすると、その立方体上のどの位置にユーザの画像領域を貼付するかの対応付けが整合的に行われる必要がある。これについては、世界座標系におけるRGB-Dセンサ1100の向きが規定されていれば、色画像座標が、環境マップ上のどこに位置づくかを一意に決定することができる。なお、多面体においてユーザの画像領域をマッピングしていない領域には、第1の実施形態と同様に、「適当な値」を有する画素を有する画像をマッピングする。ユーザの画像領域は、環境マップの画像の一部にしか過ぎないため、メモリアクセスの処理時間を省くために画像領域のみを書き換える工夫などを適宜行っても良い。ステップS4050では、生成部1210は、上記のステップS2400と同様の処理を行うことで、第2多面体を設定する。
【0059】
ここで、第1多面体、第2多面体、第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を
図5,6に示す。
図5,6において
図3に示した要素と同じ要素については同じ参照番号を付しており、該要素に係る説明は省略する。
【0060】
図5では、部屋3000よりも十分に大きいサイズを有する多面体5000には部屋3000全体の全周囲色画像がマッピングされており、これが第1環境マップとなる。
図6では、部屋3000よりも十分に大きいサイズを有する多面体6000にはステップS4030で色画像から特定したユーザの画像領域がマッピングされており、これが第2環境マップとなる。
【0061】
次に、ステップS4060~S4110では、第1環境マップおよび第2環境マップを用いて、周囲の現実空間の映り込みを反映させた仮想物体の画像(仮想物体画像)を生成する。ステップS4060~ステップS4110の処理は、仮想物体画像を生成する各フレームについて行う。
【0062】
ステップS4060でレンダリング部1230は第1の実施形態と同様に、仮想物体を生成して配置し、それぞれの視線ベクトルについて、仮想物体において該視線ベクトルとの交点位置(対応位置)を求め、該交点位置における該視線ベクトルの反射ベクトルを求める。
図5や
図6の例では、仮想物体3020において視線ベクトル3050との交点位置3060を求め、該交点位置3060における法線ベクトル3070と、該視線ベクトル3050と、から該視線ベクトル3050に対応する反射ベクトル5020を求める。なお、ステップS4060で求めた反射ベクトルは、後の処理で補正するため、「仮の反射ベクトル」と称する。
【0063】
一般的な環境マッピングにおいては、仮の反射ベクトルを利用して、環境マップから反射色をサンプリングする。しかしながら一般的な環境マップは、環境マップが仮想物体に対して十分に大きいことを想定しており、反射ベクトルは常に環境マップの中心から伸びている(
図5のベクトル5050参照)と近似することで計算を簡略化している。したがって、本実施形態のように有限の大きさの背景、例えば部屋などの映り込みの場合は、映り込み位置がずれることがある。そこで、以下のステップS4070~S4090の処理によって、この仮の反射ベクトルを補正して、映り込み位置のずれを補正する。以下では、
図5,6を例にとり説明する。また、以下の処理は、それぞれの視線ベクトルについて求めた仮の反射ベクトルについて行う。
【0064】
ステップS4070では、レンダリング部1230は、仮の反射ベクトル5020と第1多面体3030との交点位置5030(第1交点)を求めるとともに、仮の反射ベクトル5020と第2多面体3040との交点位置6020(第2の交点)を求める。
【0065】
ステップS4080では、レンダリング部1230は、第1環境マップである多面体5000において仮の反射ベクトル5020を補正した補正反射ベクトル5060を求める。一般的な環境マッピングの仕組みを活用するには、反射ベクトルが多面体5000の中心位置5010より伸びているという前提を壊さないことである。そこで、
図5に示す如く、レンダリング部1230は、多面体5000の中心位置5010から交点位置3060に伸びるベクトル5070を求める。そしてレンダリング部1230は、中心位置5010を始点とし且つ「ベクトル5070と反射ベクトル5020(交点位置3060を始点とし、交点位置5030を終点とするベクトル)との合成ベクトル」を、補正反射ベクトル5060として求める。
図5に示す如く、補正反射ベクトル5060は第1環境マップである多面体5000と交差するサイズを有する。
【0066】
ステップS4090では、レンダリング部1230は、第2環境マップである多面体6000において仮の反射ベクトル5020を補正した補正反射ベクトル6040を求める。つまり、
図6に示す如く、レンダリング部1230は、多面体6000の中心位置から交点位置3060に伸びるベクトル6030を求める。そしてレンダリング部1230は、該中心位置を始点とし且つ「ベクトル6030と反射ベクトル5020(交点位置3060を始点とし、交点位置6020を終点とするベクトル)との合成ベクトル」を、補正反射ベクトル6040として求める。
図6に示す如く、補正反射ベクトル6040は第2環境マップである多面体6000と交差するサイズを有する。
【0067】
ステップS4100では、レンダリング部1230は、第1環境マップである多面体5000において補正反射ベクトル5060との交点位置5040を求め、該多面体5000において該交点位置5040における画素値(色)を第1色情報として特定する。またレンダリング部1230は、第2環境マップである多面体6000において補正反射ベクトル6040との交点位置6050を求め、該多面体6000において該交点位置6050における画素値(色)を第2色情報として特定する。反射ベクトルが環境マップの中心から伸びている場合、環境マップにおいて色情報を取得する点は反射ベクトルの向きだけで決定することができる。
【0068】
ステップS4110では、レンダリング部1230は、着目補正反射ベクトルについてステップS4100で特定した第2色情報が「適当な値」ではない場合には、着目補正反射ベクトルに対応する仮想物体画像の画素の画素値を第2色情報に基づいて決定する。一方、レンダリング部1230は、着目補正反射ベクトルについてステップS4100で特定した第2色情報が「適当な値」である場合には、着目補正反射ベクトルに対応する仮想物体画像の画素の画素値を第1色情報に基づいて決定する。
【0069】
[第3の実施形態]
第1,2の実施形態では、RGB-Dセンサを用いて、環境マップの色画像を取得する取得デバイス(つまり該RGB-Dセンサ)から現実物体までの距離を直接的に計測している。しかし、環境マップの色画像を取得する取得デバイスと現実物体までの距離を計測することができれば、取得デバイスとして利用可能なデバイスはRGB-Dセンサに限らない。たとえば、色画像の取得デバイスとして広角カメラを用いてもよい。広角カメラは一般にRGB-Dセンサよりも入手性が高く、視野角も広いため、より簡便にシステムを構築・運用できると考えられる。本実施形態では、HMDの撮像部には複数のカメラもしくは深度センサが搭載されており、HMDからの深度情報を取得することで、環境マップの色画像を取得する広角カメラと現実物体までの距離情報を取得する場合について説明する。
【0070】
本実施形態に係るシステムの構成例について、
図7のブロック図を用いて説明する。本実施形態に係るシステムでは、RGB-Dセンサ1100の代わりに広角カメラ7000を有する。広角カメラ7000は、HMD7050や情報処理装置1200の外部装置として設けられ、ユーザが複合現実空間を体感する空間全体を撮像する。
【0071】
本実施形態に係るHMD7050が有する撮像部7010は、該HMD7050を自身の頭部に装着したユーザの視線と略一致する視線方向の現実空間のステレオ画像を撮像するステレオカメラとして機能する。なお、撮像部7010により撮像されるステレオ画像は、仮想物体画像と合成するために利用されるとともに、各画素が奥行値を有する距離画像(深度情報)を生成するためにも利用される。よって、撮像部7010は、仮想物体画像と合成するための色画像と、距離画像を生成するために必要な情報と、を取得できれば、ステレオカメラ以外の装置で構成されてもよい。
【0072】
本実施形態に係る情報処理装置1200が有する生成部7020は、撮像部7010からのステレオ画像から、「各画素が撮像部7010の撮像面からの奥行値を有する距離画像」を生成する。距離画像の生成方法は特定の生成方法に限らない。例えば、ステレオ画像からセミグローバルマッチング法により視差画像を算出し、ステレオ画像を取得した二つのカメラの相対的な位置関係から距離画像を生成する。なお、視差を得る方法は上記の方法に限らず、例えば、ステレオ画像で対応する特徴点やエッジから視差を得ても良いし、機械学習の推論によって視差を得ても良い。
【0073】
本実施形態に係る情報処理装置1200が有する算出部7030は、撮像部7010によるステレオ画像から第1の実施形態で説明した方法により、世界座標系における撮像部7010の位置姿勢を求める。そして算出部7030は、生成部7020が生成した距離画像中のユーザの領域を構成する各画素の奥行値(該画素に対応する3次元点の座標)を、世界座標系における撮像部7010の位置姿勢を用いて、世界座標系における3次元点の位置に変換する。そして算出部7030は、世界座標系における3次元点の位置の重心位置を、世界座標系におけるユーザの位置として求める。そして算出部7030は、前記、世界座標系におけるユーザの位置と世界座標における広角カメラ7000の位置姿勢からユーザと広角カメラ7000との間の相対的な位置姿勢(相対位置姿勢)を求める。なお広角カメラ7000の世界座標系における位置姿勢は、事前にメジャーで計測した値を利用しても良いし、広角カメラ7000にモーションキャプチャなどの位置姿勢センサを取り付けて計測しても良い。あるいは、広角カメラ7000にマーカを添付し、それを外部から撮影、画像処理をすることによって位置姿勢を推定しても良い。
【0074】
なお、複合現実感を体験する空間において、事前には何も物体が存在しない領域を指定しておくことで、体験中にこの領域に物体を検出した場合、その物体は移動体とみなすことができる。複合現実感においては、HMDを装着したユーザ自身の頭部や手などの身体が仮想物体へ映り込むことによって、現実空間と仮想空間の融合感がより高まると考えられる。そこで、算出部7030では、頭部や手といった特定の現実物体に特化して位置を算出しても良い。頭部位置は、撮像部に対して所定の相対位置に頭部が存在するとみなすことができる。また手の位置については、例えば、手の色を自身に登録しておき、色画像において手の色を有する画像領域を特定し、距離画像において該画像領域に対応する3次元点群の世界座標系における位置の重心位置を手の位置として利用することができる。
【0075】
生成部7040は、第1環境マップおよび第2環境マップを生成する。第1環境マップおよび第2環境マップの生成方法は、第1の実施形態で説明した生成方法であってもよいし、第2の実施形態で説明した生成方法であってもよい。
【0076】
なお、本実施形態では、第1多面体に色画像をマッピングすることで第1環境マップを生成する場合、次のような処理を行う。すなわち、HMD7050の向きを動かすことで部屋全体の距離画像を取得し、該取得した距離画像から、部屋全体の3次元点群に最もフィットする多面体を第1多面体として取得する。そして、該第1多面体に広角カメラ7000による撮像画像をマッピングすることで第1環境マップを生成する。
【0077】
また、本実施形態では、第2多面体にユーザの画像領域をマッピングすることで第2環境マップを生成する場合には、次のような処理を行う。すなわち、世界座標系におけるユーザの位置と上記の相対位置姿勢とを用いて世界座標系における広角カメラ7000の位置を求める。そして、上記の相対位置姿勢から得られる「ユーザと広角カメラ7000との間の距離」を距離dとして求める。そして、世界座標系における広角カメラ7000の位置を中心とし、一辺が2dの立方体を第2多面体として設定する。なお、上記のように算出部7030が頭部や手といった特定現実物体に特化して位置を算出した場合、この値を利用する。そして、第2多面体に、広角カメラ7000による撮像画像においてユーザの画像領域を対応する領域にマッピングし、そのほかの領域には「適用な値」を有する画素の画像をマッピングすることで、第2環境マップを生成する。
【0078】
[第4の実施形態]
上記の各実施形態では、HMDはビデオシースルー型のHMDであるものとして説明したが、光学シースルー方式のHMDであってもよい。後者の場合、合成部1240は、仮想物体画像をHMDの表示部に出力することになる。
【0079】
また、上記の各実施形態では、移動体は、HMDを頭部に装着したユーザであるものとして説明したが、該ユーザに加えて若しくは代えて他の物体を移動体としてもよい。また、移動体は単数であってもよいし、複数であってもよい。なお、「移動体」とは、常に動く物体に限らず、定期的もしくは不定期的に移動する物体であればよい。
【0080】
また、第1の環境マップは、背景用の色画像をマッピングした多面体の一例であり、ユーザが複合現実空間を体感する空間において背景となる場所の色画像をマッピングした多面体であれば、如何なる多面体であってもよい。
【0081】
また、
図1,7に示した情報処理装置1200が有するものとして示した各機能部はハードウェアで実装してもよいし、ソフトウェア(コンピュータプログラム)で実装してもよい。後者の場合、このコンピュータプログラムを実行可能なコンピュータ装置は情報処理装置1200に適用することができる。情報処理装置1200に適用可能なコンピュータ装置のハードウェア構成例について、
図8のブロック図を用いて説明する。
【0082】
CPU8200は、RAM8400やROM8300に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU8200は、コンピュータ装置全体の動作制御を行うとともに、情報処理装置1200が行うものとして上述した各処理を実行もしくは制御する。
【0083】
ROM8300には、コンピュータ装置の設定データや起動プログラムなどが格納されている。RAM8400は、外部記憶装置8450やROM8300からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。さらにRAM8400は、入力I/F8500を介して外部装置(RGB-Dセンサ1100、撮像部1010、撮像部7010、広角カメラ7000など)から受信した各種のデータを格納するためのエリアを有する。さらにRAM8400は、CPU8200が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM8400は各種のエリアを適宜提供することができる。
【0084】
外部記憶装置8450は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置8450には、OS(オペレーティングシステム)や、情報処理装置1200が行うものとして上述した各処理をCPU8200に実行もしくは制御させるためのコンピュータプログラムやデータが保存されている。
【0085】
外部記憶装置8450に保存されているコンピュータプログラムには、
図1,7に示した情報処理装置1200が有するものとして示した各機能部の機能をCPU8200に実行もしくは制御させるためのコンピュープログラムが含まれている。
【0086】
外部記憶装置8450に保存されているデータには、仮想物体に関連する上記の規定データ、仮想空間に関連するデータ(仮想空間中に配置される光源を規定するデータなど)、仮想物体画像と共に表示される画像や文字のデータが含まれている。
【0087】
外部記憶装置8450に保存されているコンピュータプログラムやデータは、CPU8200による制御に従って適宜RAM8400にロードされ、CPU8200による処理対象となる。
【0088】
入力I/F8500は、外部装置(HMD1000、RGB-Dセンサ1100、HMD7050、広角カメラ7000など)からのデータ入力を行うための通信インターフェースである。出力I/F8600は、外部装置(HMD1000、HMD7050など)に対するデータ出力を行うための通信インターフェースである。
【0089】
CPU8200、ROM8300、RAM8400、外部記憶装置8450、入力I/F8500、出力I/F8600は何れも、システムバス8100に接続されている。なお、情報処理装置1200に適用可能なコンピュータ装置のハードウェア構成は、
図8に示した構成に限らず、適宜変形/変更が可能である。
【0090】
なお、上記の説明において使用した数値、処理タイミング、処理順などは、具体的な説明を行うために一例として挙げたものであり、これらの数値、処理タイミング、処理順などに限定することを意図したものではない。
【0091】
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
【0092】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0093】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0094】
1000:HMD 1010:撮像部 1020:表示部 1100:RGB-Dセンサ 1200:情報処理装置 1210:生成部 1220:算出部 1230:レンダリング部 1240:合成部