(57)【要約】【課題】  ３次元空間で現在の視点で既に見えている、現実もしくは仮想的に存在する物体に対して、それらとの位置関係や距離感を明確に把握しながら新しい点を指定する。【解決方法】  カメラ視点ＶＣから対象物Ｏｂを見ることにより、第一点Ｐ１を指定する。この第一点Ｐ１に基づき、仮想平面Ｓが設定され、カメラ視点ＶＣを移動することにより第二点Ｐ２を指定する。指定された第二点Ｐ２から見える仮想画像を生成し、ユーザに提示することにより、新たな視点から見える画像を、ユーザに提示することができる。【選択図】  図１
2008293357.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作するデバイスの方向を計測手段で計測する計測工程と、
前記計測工程で計測された方向に基づいて、第一点を指定手段で指定する指定工程と、
前記指定された第一点の３次元位置を算出手段で算出する算出工程と、
前記算出された３次元位置に基づく第一面を設定手段で設定する設定工程とを有することを特徴とする情報処理方法。
【請求項２】
前記第一面が設定された後の前記デバイスの方向を、前記計測手段で計測する計測工程と、
前記計測された方向に応じて前記第一面に含まれる第二点を前記指定手段で指定する指定工程と、
前記第二点の３次元位置を算出する算出工程とを更に有することを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記算出手段は、前記デバイスが操作される環境の３次元モデルを記憶手段から読込み、前記第一点を、前記３次元モデルと前記計測された方向によって算出することを特徴とする請求項１に記載の情報処理方法。
【請求項４】
撮像手段が撮像した実写画像を取得する取得工程と、
前記第一面を表す仮想画像を生成手段が生成する工程と、
前記実写画像と前記仮想画像を合成手段が合成する合成工程と、
前記合成された合成画像を表示手段に表示する表示工程とを更に有するとを特徴とする請求項１乃至３の何れか１項に記載の情報処理方法。
【請求項５】
前記方向を示す視線の情報の奥行きを計測する計測工程をさらに有し、
前記第一点は、前記方向と前記奥行きとによって演算されることを特徴とする請求項１に記載の情報処理方法。
【請求項６】
前記第一面と前記撮像手段との間に現実物体がある領域は、前記表示手段に表示される前記合成画像の表示の態様を変えることを特徴とする請求項４に記載の画像処理方法。
【請求項７】
前記第一点を指定するときに、前記第一点の高さを示す情報を表示することを特徴とする請求項１に記載の情報処理方法。
【請求項８】
前記第一点を指定するときに、俯瞰ビューを表示することを特徴とする請求項１に記載の情報処理方法。
【請求項９】
前記方向を示す視線の情報の長さを指定手段で指定する工程を更に有することを特徴とする請求項１に記載の情報処理方法。
【請求項１０】
前記第二点を視点とした画像を、前記表示手段に表示する表示工程を更に有することを特徴とする請求項２に記載の情報処理方法。
【請求項１１】
撮像装置と、表示装置と、シーンの３次元モデルを記憶した記憶手段とを備えた情報処理装置における情報処理方法であって、
前記撮像装置で撮像した現実空間を前記表示装置に表示し、表示された画像を用いて被写体へと結ぶ方向を第一視線の方向として指定する工程と、
前記第一視線の方向と前記３次元モデルとの交点を用いて第一点を指定する工程と、
前記第一点の３次元位置を前記３次元モデルから算出する工程と、
前記第一点の３次元位置に基づいて第一面を設定する工程と、
前記撮像装置で撮像した現実空間を前記表示装置に表示し、表示された画像を用いて被写体へと結ぶ方向を第二視線の方向として指定する工程と、
前記第二視線の方向と前記第一面との交点を用いて第二点を指定する工程と、
前記第二点の３次元位置を算出する工程とを有することを特徴とする情報処理方法。
【請求項１２】
撮像装置と、表示装置とを備えた情報処理装置における情報処理方法であって、
前記撮像装置で撮像した現実空間を前記表示装置に表示し、表示された画像を用いて被写体へと結ぶ方向を第一視線の方向として指定する工程と、
前記第一視線の方向の奥行きを計測する工程と、
前記第一視線の方向と前記奥行きとを用いて第一点を指定する工程と、
前記撮像装置の位置と、前記第一視線の方向と、前記奥行きとを用いて第一点の３次元位置をを算出する工程と、
前記第一点の３次元位置に基づいて第一面を設定する工程と、
前記撮像装置で撮像した現実空間を前記表示装置に表示し、表示された画像を用いて被写体へと結ぶ方向を第二視線の方向として指定する工程と、
前記第二視線の方向と前記第一面との交点を用いて第二点を指定する工程と、
前記第二点の３次元位置を算出する工程とを有することを特徴とする情報処理方法。
【請求項１３】
ユーザが操作するデバイスの方向を計測する計測手段と、
前記計測手段で計測された方向に基づいて、第一点を指定する指定手段と、
前記指定された第一点の３次元位置を算出する算出手段と、
前記算出された３次元位置に基づく第一面を設定する設定手段とを有することを特徴とする情報処理装置。
【請求項１４】
前記第一面が設定された後の前記デバイスの方向を計測する計測手段と、
前記計測された方向に応じて前記第一面に含まれる第二点を指定する指定手段と、
前記第二点の３次元位置を算出する算出手段とを更に有することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
撮像装置と、表示装置と、シーンの３次元モデルを記憶した記憶手段とを備えた情報処理装置であって、
前記表示装置に表示された前記撮像装置で撮像した現実空間の画像を用いて被写体へと結ぶ方向を第一視線の方向として指定する手段と、
前記第一視線の方向と前記３次元モデルとの交点を用いて第一点を指定する手段と、
前記第一点の３次元位置を前記３次元モデルから算出する手段と、
前記第一点の３次元位置に基づいて第一面を設定する手段と、
前記表示装置に表示された前記撮像装置で撮像した現実空間の画像を用いて被写体へと結ぶ方向を第二視線の方向として指定する手段と、
前記第二視線の方向と前記第一面との交点を用いて第二点を指定する手段と、
前記第二点の３次元位置を算出する手段とを有することを特徴とする情報処理装置。
【請求項１６】
撮像装置と、表示装置とを備えた情報処理装置であって、
前記表示装置に表示された前記撮像装置で撮像した現実空間の画像を用いて被写体へと結ぶ方向を第一視線の方向として指定する手段と、
前記第一視線の方向の奥行きを計測する手段と、
前記第一視線の方向と前記奥行きとを用いて第一点を指定する手段と、
前記撮像装置の位置と、前記第一視線の方向と、前記奥行きとを用いて第一点の３次元位置を算出する手段と、
前記第一点の３次元位置に基づいて第一面を設定する手段と、
前記表示装置に表示された前記撮像装置で撮像した現実空間の画像を用いて被写体へと結ぶ方向を第二視線の方向として指定する手段と、
前記第二視線の方向と前記第一面との交点を用いて第二点を指定する手段と、
前記第二点の３次元位置を算出する手段とを有することを特徴とする情報処理装置。
【請求項１７】
請求項１乃至請求項１２の何れか１項に記載の情報処理方法を、コンピュータで実現するためのプログラム。
【請求項１８】
請求項１７に記載のプログラムを記憶したコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法および情報処理装置に関し、特に、３次元空間内の特定の点を指定するための情報処理方法および情報処理装置に関する。
【背景技術】
【０００２】
近年、撮像技術やセンサ技術及び画像処理技術等の進展により、仮想的に物体や人などの３次元情報を表示する、または、現実環境に仮想環境を重畳させて３次元表示することができるようになった。さらには、物体を異なる角度から撮像し、それらを合成して仮想視点の画像を表示することなどができるようになった。
【０００３】
このような３次元環境の表示は、ユーザの視界内に、物体や人などが上下左右だけでなく近い／遠い、表側／裏側などといった奥行き情報を伴って提示される。このため、視点を別の視点に切り替えて状況を観測することが重要な機能となる。
【０００４】
例えば、現実環境においては、空地の場所に高層ビルを建設する場合に上階からみた風景を実際にビルを建築する前に知るなど、現在の視点と異なる視点で３次元環境を見たいという要求がある。同様に３次元的な仮想環境においても、現在の視点では物体の影にあって見ることができない部分を、別の角度から見るなどの要求が作業シミュレーション等で存在する。
【０００５】
このような場合、３次元空間で現在の視点から新しい視点をどのように決めるかが重要になる。３次元空間において、点や面を指定する技術は、特許文献１、特許文献２に開示されている。
【０００６】
特許文献１において、３次元空間内にある操作対象物体に対する操作指示を、２次元平面に表示されている操作画面上から、簡単に効率よく操作入力できる入力装置が開示されている（特許文献１の図３）。ここでは平面上のカーソル（平面カーソル）を用いて、指定したい視点の３次元位置と方向を設定する。平面カーソルは正面向きであれば正方形、斜めになっていれば長方形になり、向きに応じて変形するため、形状により視点の向きが分かるというものである。平面カーソルの位置と向きの入力はジョイスティック等で行い、まず平面カーソルを移動し次に向きを設定する等で指定される。
【０００７】
また、特許文献２では、矢印状の３次元ポインタを用いて、視点の位置と方向を指定することが開示されている。この場合、３次元ポインタと物体との交点の中間点にさらに別の３次元ポインタを表示させることで設定場所をわかりやすくすることが開示されている（特許文献２の図３）。
【特許文献１】特開平１１−１２０３８４号公報
【特許文献２】特開平６−１０３３６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示の技術では、平面カーソルの位置を指定し、さらに向きを指定するプロセスをジョイスティックで行い、その確認を全て２次元平面で行うため、指定に要する動作が煩雑になりやすい。また、指定した視点が、上部からみた２次元平面における場所のどこに位置されているかががわかりにくい。もしくは、高さ方向と同時に横方向の位置を指定するために、操作が煩雑になりやすいといった課題がある。
【０００９】
また、特許文献２に開示の技術では、３次元ポインタの位置と方向を指定するために操作が煩雑になる、上部からみた２次元平面上での場所のどこに位置されているかがが把握しにくいといった課題がある。
【００１０】
さらに、これらの文献においては、カーソルや３次元ポインタをジョイスティック等のユーザインタフェースで動かすために、これらの技術を携帯機器に応用した場合などは、特に操作上の煩雑さがユーザに大きな負荷となってしまう。
【００１１】
本発明は、上記の問題を解決するために、３次元空間で視点位置を容易に指定することができることを目的とする。
【００１２】
また、本発明は、３次元空間で視点の位置を指示する際に、距離感が明確で指定のための確認が容易で、操作の煩雑さを無くすことを目的とする。
【００１３】
さらには、本発明は、現在の視点で既に見えている、現実もしくは仮想的に存在する物体に対して、それらとの位置関係を明確に把握しながら指定すること、及び、３次元空間における特定のポイントを容易に指定でき、携帯機器などの小さな画面でもこれらの動作が容易に実行可能にすることを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明の情報処理方法は，ユーザが操作するデバイスの方向を計測手段で計測する計測工程と、前記計測工程で計測された方向に基づいて、第一点を指定手段で指定する指定工程と、前記指定された第一点の３次元位置を算出手段で算出する算出工程と、前記算出された３次元位置に基づく第一面を設定手段で設定する設定工程とを有する。
【００１５】
また、本発明の情報処理方法は、撮像装置と、表示装置と、シーンの３次元モデルを記憶した記憶手段とを備えた情報処理装置における情報処理方法であって、前記撮像装置で撮像した現実空間を前記表示装置に表示し、表示された画像を用いて被写体へと結ぶ方向を第一視線の方向として指定する工程と、前記第一視線の方向と前記３次元モデルとの交点を用いて第一点を指定する工程と、前記第一点の３次元位置を前記３次元モデルから算出する工程と、前記第一点の３次元位置に基づいて第一面を設定する工程と、前記撮像装置で撮像した現実空間を前記表示装置に表示し、表示された画像を用いて被写体へと結ぶ方向を第二視線の方向として指定する工程と、前記第二視線の方向と前記第一面との交点を用いて第二点を指定する工程と、前記第二点の３次元位置を算出する工程とを有する。
【００１６】
また、本発明の情報処理方法は、撮像装置と、表示装置とを備えた情報処理装置における情報処理方法であって、前記撮像装置で撮像した現実空間を前記表示装置に表示し、表示された画像を用いて被写体へと結ぶ方向を第一視線の方向として指定する工程と、前記第一視線の方向の奥行きを計測する工程と、前記第一視線の方向と前記奥行きとを用いて第一点を指定する工程と、前記撮像装置の位置と、前記第一視線の方向と、前記奥行きとを用いて第一点の３次元位置を算出する工程と、前記第一点の３次元位置に基づいて第一面を設定する工程と、前記撮像装置で撮像した現実空間を前記表示装置に表示し、表示された画像を用いて被写体へと結ぶ方向を第二視線の方向として指定する工程と、前記第二視線の方向と前記第一面との交点を用いて第二点を指定する工程と、前記第二点の３次元位置を算出する工程とを有する。
【００１７】
更に、本発明の情報処理装置は、ユーザが操作するデバイスの方向を計測する計測手段と、前記計測手段で計測された方向に基づいて、第一点を指定する指定手段と、前記指定された第一点の３次元位置を算出する算出手段と、前記算出された３次元位置に基づく第一面を設定する設定手段とを有する。
【００１８】
また、本発明の情報処理装置は、撮像装置と、表示装置と、シーンの３次元モデルを記憶した記憶手段とを備えた情報処理装置であって、前記表示装置に表示された前記撮像装置で撮像した現実空間の画像を用いて被写体へと結ぶ方向を第一視線の方向として指定する手段と、前記第一視線の方向と前記３次元モデルとの交点を用いて第一点を指定する手段と、前記第一点の３次元位置を前記３次元モデルから算出する手段と、前記第一点の３次元位置に基づいて第一面を設定する手段と、前記表示装置に表示された前記撮像装置で撮像した現実空間の画像を用いて被写体へと結ぶ方向を第二視線の方向として指定する手段と、前記第二視線の方向と前記第一面との交点を用いて第二点を指定する手段と、前記第二点の３次元位置を算出する手段とを有する。
【００１９】
また、本発明の情報処理装置は、撮像装置と、表示装置とを備えた情報処理装置であって、前記表示装置に表示された前記撮像装置で撮像した現実空間の画像を用いて被写体へと結ぶ方向を第一視線の方向として指定する手段と、前記第一視線の方向の奥行きを計測する手段と、前記第一視線の方向と前記奥行きとを用いて第一点を指定する手段と、前記撮像装置の位置と、前記第一視線の方向と、前記奥行きとを用いて第一点の３次元位置を算出する手段と、前記第一点の３次元位置に基づいて第一面を設定する手段と、前記表示装置に表示された前記撮像装置で撮像した現実空間の画像を用いて被写体へと結ぶ方向を第二視線の方向として指定する手段と、前記第二視線の方向と前記第一面との交点を用いて第二点を指定する手段と、前記第二点の３次元位置を算出する手段とを有する。
【発明の効果】
【００２０】
本発明によれば、現実空間または仮想空間またはこれらが混在した、３次元空間において、新しい点や面を、容易に設定することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の好適な実施形態を、図面を用いて説明する。
【００２２】
［第一の実施の形態］
まず、本実施の形態における３次元位置指定を、図１を用いて説明する。
【００２３】
図１は、本実施の形態の３次元位置指定の流れを、概念的に説明するための図である。
図１は、地上面ＧＰに物体Ｏｂがあり、この物体から少し離れた地点にユーザの視点ＶＣがある状態を側面から示したものである。この物体Ｏｂや地上面ＧＰなどは、形状や位置などの幾何学的な数値データに基づき仮想的に表示された仮想物体であっても、現実空間における現実物体であっても良く、仮想物体と現実物体が混在している環境であっても良い。
【００２４】
以下では、視点ＶＣから観測される物体Ｏｂ、地上面ＧＰなどの３次元環境は、仮想的に用意されたものとして説明する。具体的には、物体Ｏｂが地上面ＧＰと接した部分の上部にある点（位置）を、新たな視点として指定する場合について説明する。
【００２５】
デバイスは，視点ＶＣの位置や方向を指定するツールである。この視点ＶＣの位置や方向を指定するデバイスとして、例えば、ユーザに提示する仮想物体を描画する際の基準となる仮想カメラを用いる。具体的なデバイスとしては、既知の方法で位置や姿勢が求められるディスプレイやヘッドマウントディスプレイ、または他のユーザインタフェースを用いることで実現することができる。なお、仮想カメラから見た仮想画像は，ディスプレイやヘッドマウントディスプレイ等に表示されるが、その生成等については、公知であるのでその詳細な説明は省略する。
【００２６】
視点ＶＣは、これらのディスプレイを動かしたり、ユーザがヘッドマウントディスプレイを装着して移動や頭の角度を変えるなどにより視点ＶＣの位置を変更することができる。
【００２７】
まず、物体Ｏｂが存在する環境に仮想カメラを視点ＶＣとして設定された状態において（図１（ａ））、ユーザが仮想カメラを動かすことにより、仮想カメラの視軸（視点）を物Ｏｂ体に向けた状態での視線Ｖ１の方向を計測する（図１（ｂ））。視線Ｖ１の方向の計測は、例えば仮想環境の場合には、仮想カメラの設定条件から取得した各種パラメータを用いて求められ、視点位置決めのためのユーザインタフェースなどを用いる場合には、位置や姿勢センサの情報から求められる。
【００２８】
尚、仮想カメラの位置を変更しながら撮像する場合は、３次元空間内の不動の点を３次元位置座標の原点として定め、原点に対する仮想カメラの３次元位置も同時に求めることが望ましい。
【００２９】
以下では、仮想カメラの視点の３次元位置と視線方向を求めるとする。しかし、例えば仮想カメラの位置を原点として全ての仮想物体を仮想カメラの位置に対して相対的に表示する場合は、必ずしも仮想カメラの位置を求めなくとも良い。この場合、仮想カメラの位置は常に原点として設定されていることとなる。
【００３０】
仮想カメラの視点ＶＣの３次元位置と視線方向の特定により、仮想カメラの第一視線Ｖ１の方向は、３次元中空間中でその位置と方向が特定される。例えば、第一視線Ｖ１は、３次元で表現された直線の方程式で記述される。
【００３１】
次に、第一視線Ｖ１の方向に基づいて第一点を指定する（図１（ｂ））。例えば、第一視線Ｖ１と、仮想物体や地面を構成する面とが、仮想カメラ側から見て最初に交わった点を、仮想物体や地面を構成する面を構成する点群の中から抽出する。
【００３２】
図１（ｂ）においては、物体ＯＢと地面ＧＰとが接する点が、第一視線Ｖ１と交わった点を第一点Ｐ１としている。
【００３３】
次に、第一点Ｐ１の３次元位置を算出する。仮想物体や地面の３次元データには、それらを構成する点群の位置、もしくは線や面を規定する数式が含まれている。このため、仮想物体や地面を構成する複数の面のうち、第一視線Ｖ１と交わった点をＰ１として抽出すれば、第一点Ｐ１の３次元位置として求めることができる。求めた３次元位置に、第一点Ｐ１を示す仮想物体のデータに基づく仮想画像を提示することで、ユーザは第一点が設定されたことを把握することができる。
【００３４】
次に、求められた第一点Ｐ１の３次元位置に基づいて、第一面Ｓを設定する（図１（ｃ）。この第一面Ｓは、第一点Ｐ１と、あらかじめ設定された条件、もしくはユーザがその都度設定する条件に基づいて設定される。
【００３５】
本実施の形態において、この条件は、第一点Ｐ１を含み、地上面に垂直な平面であり、視点ＶＣと第一点Ｐ１を含む面に対して垂直な平面である。
【００３６】
この条件から３次元空間中での平面の位置は決定される。このため、第一面Ｓの３次元空間における位置や配向を特定する条件、例えば平面を表す数式や平面を構成する点群の集合体が求まる。
【００３７】
次に、仮想カメラを動かすことにより、選択したい第一面Ｓ上の特定のポイントに視点ＶＣを向ける。第一点Ｐ１を求めたのと同様に、この時の仮想カメラの視線（第二視線Ｖ２とする）の方向を求める（図１（ｄ））。ここで、第一視線Ｖ１と第二視線Ｖ２とは、全く異なる方向で良い。
【００３８】
次に、第二視線Ｖ２の方向に応じて第一面Ｓ上の第二点Ｐ２を指定する。例えば、第二視線Ｖ２の方向と第一面Ｓとの交点Ｐ２を求める。この交点Ｐ２が第二点となる。第二点Ｐ２の３次元位置は、第一面Ｓと第二視線Ｖ２の方向の位置姿勢情報より求めることができるので、最終的に３次元空間中に第二点Ｐ２が指定され、ユーザは、その３次元位置が前述と同様に仮想物体のデータを用いて提示されることで把握することができる（図１（ｅ））。
【００３９】
上述のように、ユーザは、第一視線方向および第二視線方向をデバイスの方向を変えて選択する操作を行うだけで、現在の視点とは異なる位置に存在する点を容易に求めることができる。
【００４０】
また、デバイスを仮想カメラとし、その反対面に、３次元空間を表示するディスプレイを設け、仮想カメラの視点での画像を、ユーザ視点の方向と一致するようにディスプレイに表示させることでさらに容易に３次元位置を指定することができる。この場合の操作は、３次元空間を見ながら、第一点や第二点などを指定したい方向にデバイスの向きを変えて、ボタン操作などで、３次元位置が容易に設定できる。これは小型の携帯機器を用いて３次元位置を指定する際には、デバイスを対象に向ける動作とボタンを押す動作だけで実行できるため、特に有用である。
【００４１】
［第二の実施の形態］
第一の実施の形態においては、視点から観測される物体、地上面などの３次元環境は、仮想的に用意されたものとしたが、現実環境下で現実物体を対象として行っても良い。
【００４２】
この場合には、ユーザ視点から見た３次元環境情報は、撮像装置を用いて取得するため、第一の実施の形態に加えて、撮像装置をさらに有し、撮像装置で撮像した実写画像を、表示手段に表示して処理を行う。
【００４３】
以下、図２を用いて、本実施の形態、即ち、撮像装置で撮像した実写画像を表示装置に表示して、３次元位置の指定を行う場合について、説明する。
【００４４】
図２は、ユーザが見ている風景（シーン）の３次元モデルの例である。図２は，ユーザの前方の視野内に、２つの建物Ｂ１、Ｂ２と、その間に木Ｔがあり、最終的なターゲットポイントＴＰを第二点として指定する場合を３次元的に示したものである。
【００４５】
ユーザは、ボタンＢ、ディスプレイＤを有した携帯機器ＭＵを用いて現実環境を撮像する。図示していないが携帯機器ＭＵには、ディスプレイと反対面に撮像デバイスがあり、この撮像デバイスで撮像した実写画像がディスプレイＤ上に表示されるようになっている。
【００４６】
ここで、ユーザは木Ｔの上の方で、かつ、左の建物Ｂ１に少し寄った上部のポイントを第二点として選択するものとする。
【００４７】
図３（ａ）〜（ｅ）は、図２に示した３次元環境を上部から見た図で、第二点を選択するまでのプロセスを模式的に表したものである。
【００４８】
まず、処理開始時の位置関係を図３（ａ）に示す。ユーザＵは、携帯機器ＭＵを用いてユーザの視点から木Ｔを撮像する。このとき、図２に示した携帯機器ＭＵのディスプレイＤには、２つの建物Ｂ１、Ｂ２と、その間に木Ｔが表示されている。
【００４９】
次の図３（ｂ）で示すように、ユーザＵが、木Ｔに向けた第一視線がＶ１である。第一視線Ｖ１の方向の設定には、例えば、携帯機器ＭＵのディスプレイＤ上にあらかじめ撮像装置の視線（以下、カメラ視線）と一致するマーカを表示させておいてこれを活用する。例えばディスプレイＤ上のマーカが木Ｔの一点、例えば木Ｔの根元の点、に一致したときに、携帯機器ＭＵのボタンＵを押す。ボタンＵが押された時点で携帯機器ＭＵの撮像デバイスの位置および姿勢、が測定され記録される。この撮像デバイスの位置および姿勢から、第一視線Ｖ１の方向が求められる。
【００５０】
第一視線Ｖ１と木Ｔ、正確には木Ｔのうちユーザから見て最も近い点、との交点が第一点Ｐ１である。
【００５１】
このとき、第一点Ｐ１の位置取得には、例えば、あらかじめ用意した木Ｔの仮想データを用いる。仮想データには、３次元空間中の物体の形状データが位置と姿勢データとともに記録されている。仮想データに現実環境と対応した座標（世界座標）が含まれていれば、第一の実施形態と同様に、木Ｔのポイントを指定するだけで、第一点Ｐ１の位置が算出できる。
【００５２】
また、携帯機器ＭＵの現実環境における位置情報が得られれば、仮想データに現実環境と対応した座標（世界座標）が含まれていなくとも、第一点Ｐ１の位置の絶対位置（世界座標における位置）を取得することができる。
【００５３】
また、携帯機器ＭＵの現実環境における位置情報が得られておらず、また、仮想データに現実環境と対応した座標（世界座標）が含まれていなくとも、携帯機器ＭＵと仮想データである木Ｔとの相対的な位置関係は把握できる。
【００５４】
また、仮想データに現実環境と対応した座標（世界座標）が含まれていれば、表示した画像を携帯機器ＭＵで取得した画像に照し合せることによって、携帯機器ＭＵの位置および姿勢を取得することもできる。
【００５５】
以上の仮想と現実の画像を照し合せて、第一点Ｐ１や携帯機器ＭＵの位置や姿勢を取得するには、次の方法がある。
【００５６】
まず、撮像デバイスを用いて現実環境（図２、図３の例では建物Ｂ１、Ｂ２や木Ｔ）を撮像し、画像処理によってそれらの輪郭などの特徴点を抽出する。これらの現実環境に存在する物体の特徴点を、用意した仮想データの特徴点と比較する。現実と仮想の特徴点を一致させることにより、現実物体や仮想物体の位置や姿勢を取得できる。
【００５７】
次に、図３（ｃ）に示すように、第一点Ｐ１を通り第一視線Ｖ１及び地面と垂直な第一面Ｓを定義し表示する。この定義は、第一の実施の形態に記述した方法と同様である。第一面Ｓは、現実環境に重ねてディスプレイＤに表示される。
【００５８】
次に、図３（ｄ）に示すように、第二視線Ｖ２の方向を指定して面Ｓ上に第二点Ｐ２を指定する。図３（ｅ）は、最終的に第二点Ｐ２が指定された状態を示す。
【００５９】
以上のように、ユーザは、最終ターゲットポイントとなる第二点を指定することができる。
【００６０】
図３（ｆ）は、新しい視点位置が指定された後に、方向を指定する場合を説明した図である。ユーザは、第二点Ｐ２を指定した時点では、表示画像は新しい視点Ｐ２から見た仮想画像を得ることができる。
【００６１】
即ち、ユーザはあたかもＰ２の位置にいるように感じることができ、カメラを好きな方向に動かして得たい画像を取得することができる。例えば視点Ｐ２で、図３（ｆ）に示すように木がある方向Ｖ２’の画像を取得したい場合、それと同じ方向であるＶ２にカメラを向けることにより画像を得ることができる。
【００６２】
尚、携帯機器ＭＵのディスプレイＤには、現実の撮像画像が表示されるが、これに仮想画像を表示することもできる。このような現実画像に仮想画像とが混在した複合現実感環境では、第一視線方向、第一点、第一面、第二視線の方向、第二点などの仮想データを現実環境上に重ねて表示することができる。また、携帯機器ＭＵの位置姿勢情報が誤差を含むと、仮想画像と現実画像にずれが生じるため、携帯機器ＭＵの位置姿勢の誤差が生じたことをすぐに把握することができる。
【００６３】
以上のように本実施の形態によれば、ユーザが行うことは、設置したい第一点および第二点に向けて携帯機器ＭＵの向きを変え、画像を見ながら指定したいポイントのところでボタンを押す動作だけで第二点を３次元空間中で指定し入力することができる。
【００６４】
従って、マウスやジョイスティックなどを用いた複雑な入力操作が不要となり、３次元位置の指定がより直感的で携帯機器での指定操作が容易となる。
【００６５】
次に、本実施の形態の３次元位置の指定方法を用いて、現実環境において特定の３次元位置を指定し、その視点からの仮想画像を表示する場合を説明する。
【００６６】
図４に、本発明に係る情報処理装置の構成例を示す。
本実施の形態の情報処理装置は、センサー１０、撮像表示装置２０、情報処理装置３０、操作部４０から構成される。尚、このセンサー１０、撮像表示装置２０、画像処理装置３０、操作部４０は、例えば、図２に示したような１つの携帯機器として構成してもよく、センサー１０、撮像表示装置２０、操作部４０が１つの携帯機器として構成し、画像処理装置と無線により通信する構成としても良い。
【００６７】
センサー１０は、撮像表示装置２０に設置され、撮像表示装置２０を視点とする位置及び姿勢（以下、視点の位置姿勢）を計測する。このセンサー１０は、超音波式、磁気式、光学式等で実現することができ、既に、公知であるので、その詳細な説明は省略する。
【００６８】
撮像表示装置２０は、撮像部２１と表示部２２とで構成され、撮像部２１で撮像された実写画像を画像処理装置３０へ送信し、画像処理装置３０から送信される画像を表示部２２で表示する。この撮像表示装置２０は、頭部搭載型の表示装置や、ハンドヘルド型の表示装置であってもよい。
【００６９】
画像処理装置３０は、制御部３１、視点位置演算部３２、センサー入力部３３、画像入力部３４、画像出力部３５、操作入力部３６、記憶部３７から構成される。
【００７０】
制御部３１は、記憶部３７に記憶された後述する処理を実現するための制御プログラムを実行することにより、各部を制御する。視点位置演算部３２は、センサー入力部３３を介して入力されるセンサー１０の計測値、及び、画像入力部３４を介して入力される実写画像に基づいて、視点の位置姿勢を演算する。画像出力部３５は、制御部３２から出力される画像を、撮像表示装置２０へ送信する。操作入力部３６は、操作部４０を介したユーザの指示を、制御部３１へ出力する。
【００７１】
記憶部３７には、３次元（３Ｄ）環境モデルが記憶される。３次元環境モデルは、３次元空間でのシーンを較正するための３次元モデルである。この３次元モデルには、ユーザが３次元位置の指定方法を実行する３次元空間に存在する、物体（建物や木、物品、人物など）の３次元形状データ、および、３次元位置、姿勢データの一部もしくは全部が、含まれているものである。
【００７２】
次に、図４に示した情報処理装置を用いて、現実環境において３次元位置を指定する方法を、フローチャートを用いて説明する。
【００７３】
図５は、本実施の形態に関わる３次元位置取得方法の全体の処理プロセスを示したフローチャートである。
【００７４】
本処理プロセスでは、現実環境と仮想環境を混在させる複合現実感（ＭＲ）環境において、本実施の形態の３次元位置指定方法を用いる場合を示す。ここでＭＲ環境とは、カメラで撮像した現実物体をディスプレイに表示するときに、仮想物体、点、ポインタなどを、現実物体との位置関係を考慮して、現実物体と同画面内に表示した状態もしくは表示可能な状態を言う。
【００７５】
図５において、まず、ＭＲ環境における視野（ＭＲ視野）で、現実環境を撮像する。撮像部２１がキャプチャした現実画像上には仮想的な視線光線を示す仮想物体が合成され、合成された画像を表示部２２に表示される（ステップＳ１０）。この仮想的な視線光線は、撮像部２１の現状の視線方向を示すもので、例えば、視点と対象物までを赤い線で結んだ仮想的なレーザポインタである。そして、ユーザが指定したい第一点と仮想的に表示されたレーザポインタの端点が一致したときに、操作部４０の操作ボタンを押す。この操作ボタンが押されたことが入力されたか否かを判断する（ステップＳ２０）。入力が無い場合は、ステップＳ１０へ戻り、処理が繰返される。
【００７６】
入力が行われた場合、ステップＳ３０へ進む。ステップＳ３０においては、指定され位置（第一点）が算出される。
【００７７】
次にステップＳ４０に進み、指定した第一点を元に仮想壁である第一面が形成されて、現実画像上に合成され、表示される。第一面が表示された後に、再度、仮想的なレーザポインタが表示される。そして、ユーザは、指定したい第二点を、仮想的に表示されたレーザポインタで前述と同様に、操作部４０の操作ボタンを操作することで入力する。入力が無い場合、ステップＳ４０に戻り処理を繰り替える。
【００７８】
入力が行われた場合、ステップＳ６０へ進む。ステップＳ６０において、第二点の視点位置を計算する。尚、計算は第一点と同様に求めればよい。尚、取消ボタンによる取消が入力された場合、ステップＳ１０に戻る。
【００７９】
ステップＳ６０において第二点の３次元位置が計算されたのち、ステップＳ７０において第二点からみた仮想環境での視野（ＶＲ視野）で画像が形成され表示される。このＶＲ視野では、表示されるものはすべて仮想的な物体である。しかし、必ずしもコンピュータで生成したグラフィックスに限らず、複数の現実画像から再構成して作成された第二点における現実画像でも良い。
【００８０】
図６〜図９を用いて、図５の各ステップの詳細を述べる。
図６は、図５のステップＳ１０の詳細な処理のフローチャートである。
【００８１】
ステップＳ１１０において、制御部３１は、現在の実写画像を取得すると共に、視点位置演算部３２が演算した撮像表示装置２０の位置姿勢を取得する。
【００８２】
ステップＳ１２０において、制御部３１は、取得した位置姿勢に対応する記憶部３７に記憶されているデータに基づいて、取得した位置姿勢から見える仮想画像を生成する。この仮想画像には、前述の視線画像が含まれている。
【００８３】
ステップＳ１３０において、制御部３１は、生成した仮想画像を、取得した実写画像に合成する。
【００８４】
ステップＳ１４０において、合成した合成画像を画像出力部３５から表示部２２へ送信し、表示部２２において合成画像が表示される。
【００８５】
図７は、図５のステップＳ３０の詳細な処理のフローチャートである。
【００８６】
ステップＳ３１０において、制御部３１は、操作ボタンが押されたときの視点の位置姿勢情報に対応する環境情報を、記憶部３７から読込む。
【００８７】
ステップＳ３２０において、制御部３１は、読込んだ環境情報と、視点の位置姿勢から、視線画像と交差する物体（仮想物体、又は、現実物体）の交差する点（第一点）を算出する。
【００８８】
図８は、図５のステップＳ４０の詳細な処理のフローチャートである。
ステップＳ４１０において、制御部３１は、撮像部２１で撮像された実写画像と、撮像表示装置２０の位置姿勢を取得する。
【００８９】
ステップＳ４２０において、制御部３１は、第一点、位置姿勢に基づいて、第一面を表す仮想壁、及び、新たな視線画像を含む仮想画像を生成する。
【００９０】
ステップＳ４３０において、制御部３１は、実写画像に、生成した仮想画像を合成する。
ステップＳ４４０において、合成した合成画像を画像出力部３５が表示部２２へ出力し、表示部２２が合成画像を表示する。
【００９１】
図９は、図５のステップＳ７０の詳細な処理のフローチャートである。
ステップＳ７１０において、制御部３１は、視点位置演算部３２が算出した位置姿勢を取得する。尚、後の処理では、姿勢のみを用いる。
【００９２】
ステップＳ７２０において、制御部３１は、ステップＳ６０で計算された第二点と取得した姿勢に基づいて、第二点の取得した姿勢方向から見える仮想画像を生成する。
【００９３】
ステップＳ７３０において、画像出力部３５を介して表示部２２へ生成した仮想画像を送信し、表示部２２は受信した仮想画像を表示する。
【００９４】
本実施の形態においては、撮像デバイス（撮像装置）で取得した撮像画像が、ユーザが被写体である現実物体を見る視線方向とディスプレイを見る視点の方向とが同じ方向になるようにディスプレイに表示される。このため、携帯機器に本実施の形態を提供した場合、３次元空間を見ながら、第一点を指定したい方向に撮像部を向け、ボタン操作で第一点の位置を特定し、第一面が表示される。次に第二点を指定したい方向に撮像部を向け、ボタン操作で第二点の位置が特定される。最終的なターゲットポイントである第二点を指定するのに必要な操作は、指定箇所が見えるように撮像部を向けることと、ボタン操作だけである。
【００９５】
このため、簡単に旅行先などで、本発明の３次元位置指定方法を搭載した携帯機器を用いて、仮想視点からの画像を取得して見ることなどができる。
【００９６】
例えば、近年、上空から撮像された世界中の詳細な画像が、インターネット上で一般に公開されている。また、ユーザが各地で独自に撮像した画像をアップロードするウエブページもいくつか公開されている。第二点の位置や姿勢の情報を元に、第二点を視点とした画像を、これらの画像を用いて画像合成処理によって作製すれば、旅行先でユーザに簡単に提示することができる。
【００９７】
［第三の実施の形態］
前述の実施の形態における視線方向は、撮像装置と表示装置とを備え、撮像装置で撮像した現実空間を表示装置に表示することによって、表示された画像を用いて被写体へと結ぶ方向を視線方向として指定しても良い。
【００９８】
また、撮像装置と表示装置とを備え、撮像装置で撮像した現実空間を表示装置に表示し、表示された画像内の被写体上の点を指定することによって、視点から被写点へと結ぶ方向を視線方向として指定しても良い。
【００９９】
具体的には、携帯機器ＭＵのディスプレイＤ上にあらかじめカメラ視線と一致するマーカを表示させておき、これを活用する方法を示した。これは、第一点および第二点を画面上で選択する場合、カメラ光線と完全に一致させる場合には、例えば画面中心とカメラの光軸を一致させて、画面の中心にマーカを置いて、セッティングする方法である。
【０１００】
しかし、上記のように、カメラの光学系の光軸とディスプレイの中心を必ずしも一致させる必要は無い。例えば、画面上で上下左右にカーソルを動かし、ディスプレイ上に表示された撮像画像の内、特定のポイントを指定してもよい。
【０１０１】
但し、画面上でカーソルを動かす動作は、全体の操作を煩雑にさせることになるので、特に携帯機器で本発明の３次元位置指定方法を用いる場合は、望ましくは、カーソルを移動させずに、画面上の固定マーカを用いて携帯機器を動かすことで、目標の第一点、もしくは、第二点を選択すると良い。
【０１０２】
［第四の実施の形態］
上述の実施の形態では、所謂ビデオシースルー型の表示装置について、説明した。しかしながら、光学的に透過する所謂光学シースルー型の表示装置であっても良い。
【０１０３】
具体的には、例えば、透明型のタッチパネルや光学シースルー型のヘッドマウントディスプレイなどをデバイスとして用いて用いる。透明型のタッチパネルを用いる場合、被写体が透過して見えると同時に、その画面上で視線上の点を指定することができる。よって、ＣＣＤやＣＭＯＳなどの撮像デバイスやそれを表示する液晶ディスプレイなどを用意しなくとも良い、さらには、透明の板の一部に赤い点が設けてあるデバイスを用いて、その赤い点と指定したい点を一致させても良い。さらには、空孔の筒などをデバイスに用いても、指定したい点を覗くようにしても良い
また、光学シースルー型のヘッドマウントディスプレイなどをデバイスとして用いると、透過して見える被写体と仮想物体とを同時に表示させることができる。これにより第一視線の方向、第二視線の方向、第一点、第二点、第一面の一部もしくは全部を指定したり表示させることができる。
【０１０４】
さらに、以上で述べたデバイスの位置と姿勢を検出する工程を設ければ、指定した視線の方向や点などの位置や姿勢を算出することができる。
【０１０５】
［第五の実施の形態］
前述の実施の形態に、視線の奥行きを計測するための手段をさらに備え、視線方向と奥行きとを用いる構成にしても良い。
【０１０６】
具体的には、第二の実施の形態において、第一点を指定するために、３Ｄ環境モデルを用いてカメラ視線との交点の位置を求めた。しかし、カメラと求めたい地点との距離を計測すれば、カメラの位置と姿勢（カメラ視線方向）および、カメラからの距離から、第一点の３次元位置の計算が可能となる。この場合には、３Ｄ環境モデルを用いずに、第一点を求めることができる。
【０１０７】
奥行き計測方法としては、赤外線や超音波あるいはその他の電磁波を対象物に照射して反射した光、電波、音波を観測し反射までに要した時間を計測して、距離を算出するタイム・オブ・フライト方式などを活用することができる。
【０１０８】
［第六の実施の形態］
第一面よりも手前に現実物体がある領域は、第一面の表示態様を変えても良い。
【０１０９】
具体的には、第二の実施の形態において、第一面よりも手前に現実物体がある場合、仮想的に表示した第一面が視界にある現実物体を覆い隠してしまうと第一面と現実環境との位置関係が把握しにくくなる場合がある。
【０１１０】
このような場合には、第一面を半透明型にして、第一面より背後の物体も一部透過して見えるようにしても良い。
【０１１１】
さらに、第一面より手前に物体があるときは表示せず、第一面より背後の物体があるときは第一面を表示するようにしても良い。
【０１１２】
または、第一面より手前に物体があるときは、その物体の仮想データを重畳させてあたかも第一面よりも手前にあるように表示させても良い。
【０１１３】
以上の操作により、現実物体と第一面との位置関係が、第一面を設定して表示した後も把握しやすくなり、その後に第二点の指定も容易に行うことができる。
【０１１４】
［第七の実施の形態］
第一面は平面であってよい。または、平面は水平面に垂直でも良い。または、面の設定は、第一視線の方向によって平面の向きを決定しても良い。または、第一面は、撮像デバイスを中心とする円筒面であって、その軸が水平面に垂直であること、もしくは、球状であっても良い。
【０１１５】
具体的には、第一の実施の形態においては、仮想壁である第一面の設定方法は、平面であり、第一点を含み、地上面に垂直であり、仮想カメラ視点と第一点を含む平面に垂直である、とした。しかし、これに限定されること無く、以下の条件で設定を行っても良い。
【０１１６】
第一の実施の形態において、仮想壁である第一面は、平面としたが、円筒面、球面、もしくは部分的な円筒面、部分的な球面としてもよい。例えば地面における一体の半径内において視点を指定するなどの場合は、円筒面を設定する。
【０１１７】
また、仮想壁である第一面の向きをユーザに対して垂直方向としたが、これに限定することは無く、例えば３０°、６０°などとして良いし、ユーザが状況に応じて設定しても良い。例えば、道路や線路があり、この線上において上部からの視点画像を得たい場合は、それらに一致するように、仮想壁を回転させるなどの方法がある。
【０１１８】
また、仮想壁である第一面の向きを地面に垂直としたが、これに限定することは無く、例えば、１０°、３０°と地面垂直方向から傾けても良い。
以上の、仮想壁である第一面の形状や向きは、ユーザが状況に応じて変更しても良い。
【０１１９】
［第八の実施の形態］
また、第一点の指定において、第一視線の長さを変更しても良い。また、第一点指定において、第二点の影を地平面上に描画して良い。また、第一点指定において、第二の点の高さを点の横に表示しても良い。
【０１２０】
また、第一面を設定する代わりに、第一点の３次元位置に基づいてモデル平面に垂直な棒を設定し、この棒上の１点を第二点の指定に用いても良い。
【０１２１】
具体的には、第二の実施の形態においては、第一点Ｐ１を指定するために、３Ｄ環境モデルを用いてカメラ視線との交点の位置を求めた。しかし、必ずしも対象物体との交点を求めなくとも、仮想的にカメラ視線方向に光線を表示させ、この長さを変更することで、カメラからの距離を設定することもできる。
【０１２２】
例えば、図１０に示すように、第一点を指定するときに、第一視線Ｖ１の長さをユーザの操作に基づき変更し、視点ＶＣの位置と第一視線Ｖ１の方向と長さにより、第一点Ｐ１を指定しても良い。但し、第一視線の光線の長さを変化させるだけでは、周囲の物体との位置関係がはっきりしないので、好ましくは第一もしくは第二の実施の形態で述べたように、物体と光線との交点である第一点を選択するのが望ましい。このため、周囲に適当な物体が存在しない場合、レンジファインダーなどによる距離計測の精度が十分でない場合、仮想データの精度が悪い場合などの状況で用いるのが効果的である。
【０１２３】
または、図１１で示すように、第一点の指定において、第一視線Ｖ１の長さを変更するとともに、第一視線Ｖ１の端点から垂直方向や横方向に補助線を延ばして、地面や隣接する物体との位置関係が判るようにすると良い。これにより、第一点の高さや方向がより明確に理解できる。
【０１２４】
図１１の例では、図２に示した構成から木が無い状態で、建物Ｂ１、Ｂ２の間に、第一視線Ｖ１を出し、この端点から垂直下方向に伸ばして地面と接した点と、横左方向に伸ばして隣接する建物Ｂ１と接した点とを表示した。これにより第一視線Ｖ１の端点の３次元空間上での位置を、ユーザが明確に理解することができる。
【０１２５】
このように表示されている状態で、第一視線Ｖ１の方向や長さを調節し、狙いのところでボタンを押すことにより、第二点Ｐ２を指定することができる。
【０１２６】
また、第一点の指定において、連続的に面を表示しても良い。また、第一点の指定において、俯瞰ビューを表示しても良い。
【０１２７】
［第九の実施の形態］
第一の実施の形態において、第一面を指定した。第一面を設定することにより、新しい視点を選択する以外の応用も可能である。例えば、仮想環境と現実環境が混在した状況において、仮想的に表示された第一面を基準にして、現実物体、例えばいくつかの箱、を並べるなどの応用も可能となる。
【０１２８】
［第十の実施の形態］
３次元モデルは水平面を含むと良い。これは第一面を設定する際の基準として水平面を用いることができるためである。水平面としては仮想環境においては、仮想物体が設置されるときのベースとなる地上面や、室内であれば床面などとして設定して表示する。現実環境としても、同様に現実環境に存在する地上面や床面など水平な面を活用できる。
【０１２９】
［その他の実施の形態］
なお、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ可読記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がコンピュータ可読記憶媒体に記憶されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１３０】
この場合、コンピュータ可読記憶媒体から読出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶したコンピュータ可読記憶媒体は本発明を構成することになる。
【０１３１】
プログラムコードを供給するためのコンピュータ可読記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１３２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１３３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１３４】
【図１】第一の実施の形態の３次元位置指定の流れを概念的に説明するための図である。
【図２】第二の実施の形態における位置指定行う場合の状態を説明するための図である。
【図３】第二の実施の形態における選択プロセスを模式的に示した図である。
【図４】第二の実施の形態に係る情報処理装置の構成を示す図である。
【図５】第二の実施の形態における処理動作のフローチャートである。
【図６】第二の実施の形態における処理動作のフローチャートである。
【図７】第二の実施の形態における処理動作のフローチャートである。
【図８】第二の実施の形態における処理動作のフローチャートである。
【図９】第二の実施の形態における処理動作のフローチャートである。
【図１０】第八の実施の形態を説明するための図である。
【図１１】第八の実施の形態を説明するための図である。
【図１】
2008293357.tif 000003
【図２】
2008293357.tif 000004
【図３】
2008293357.tif 000005
【図４】
2008293357.tif 000006
【図５】
2008293357.tif 000007
【図６】
2008293357.tif 000008
【図７】
2008293357.tif 000009
【図８】
2008293357.tif 000010
【図９】
2008293357.tif 000011
【図１０】
2008293357.tif 000012
【図１１】
2008293357.tif 000013