(57)【要約】  ボタンやスティックの操作により進む方向を入力する方法とは異なりかつ直観的に仮想空間内の視点を移動させる操作方法を提供すること。  画像処理装置は、実空間においてユーザにより指示された実位置を取得する実位置取得手段と、所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定する代表位置決定手段と、前記決定された仮想代表位置に基づく３次元画像を描画する描画手段と、を含む。
2017065126.tif 000002
【特許請求の範囲】
【請求項１】
実空間においてユーザにより指示された実位置を取得する実位置取得手段と、
所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定する代表位置決定手段と、
前記決定された仮想代表位置に基づく３次元画像を描画する描画手段と、
を含む画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記代表位置決定手段は、前記実位置の移動量に応じて前記仮想代表位置の移動量が定まるように前記仮想代表位置を移動させる、
画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置において、
前記代表位置決定手段は、前記実位置が前記ユーザを代表する実代表位置へ近づいた場合に、仮想空間において自分を代表する位置である仮想代表位置が前記仮想空間における前記実位置に対応する仮想位置に近づくように、前記仮想代表位置を決定する、
画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記代表位置決定手段は、所与の時点に前記ユーザにより指示された実位置である実基準位置から前記ユーザにより指示された現在の位置である実現在位置への移動ベクトルの第１の方向の成分に基づいて前記仮想代表位置を決定する、
画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記第１の方向は、水平面に投影された前記実基準位置および前記実代表位置を結ぶ直線の方向である、
画像処理装置。
【請求項６】
請求項４または５に記載の画像処理装置において、
前記代表位置決定手段は、実空間における前記移動ベクトルの第２の方向の成分に基づいて仮想空間における前記ユーザの向きを決定し、
前記第２の方向は前記第１の方向と異なる、
画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、
前記代表位置決定手段は、前記実基準位置が第１の領域にある場合に、前記実基準位置から前記実現在位置への移動ベクトルの前記第１の方向の成分に基づいて前記仮想代表位置を決定し、前記実基準位置が第１の領域と異なる第２の領域にある場合に、前記移動ベクトルの前記第２の方向の成分に基づいて仮想空間における前記ユーザの向きを決定する、
画像処理装置。
【請求項８】
請求項７に記載の画像処理装置において、
前記第１の領域は前記実代表位置の前方にあり、前記第２の領域は、前記第１の領域の側方にある、
画像処理装置。
【請求項９】
実空間においてユーザにより指示された実位置を取得するステップと、
所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定するステップと、
前記決定された仮想代表位置に基づく３次元画像を描画するステップと、
を含む画像処理方法。
【請求項１０】
実空間においてユーザにより指示された実位置を取得する実位置取得手段、
所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定する代表位置決定手段、および、
前記決定された仮想代表位置に基づく３次元画像を描画する描画手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
ユーザが、コントローラのボタンやスティックの操作により進む方向を入力すると、その入力された方向に仮想空間内の自分の位置を移動し、その移動された自分の位置からみた３次元画像を表示させる技術がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
仮想空間における３次元画像を表示する場合、その視点をコントローラのボタンやスティックの操作で変化させることは、少なくとも一部のユーザにとって直観的な操作ではなかった。【０００４】
本発明は上記課題を鑑みてなされたものであって、その目的は、ボタンやスティックの操作により進む方向を入力する方法とは異なりかつ、直観的な仮想空間内の視点移動のための操作方法を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明にかかる画像処理装置は、実空間においてユーザにより指示された実位置を取得する実位置取得手段と、所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定する代表位置決定手段と、前記決定された仮想代表位置に基づく３次元画像を描画する描画手段と、を含む。【０００６】
また、本発明にかかる画像処理方法は、実空間においてユーザにより指示された実位置を取得するステップと、所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定するステップと、前記決定された仮想代表位置に基づく３次元画像を描画するステップと、を含む。【０００７】
また、本発明にかかるプログラムは、実空間においてユーザにより指示された実位置を取得する実位置取得手段、所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定する代表位置決定手段、および、前記決定された仮想代表位置に基づく３次元画像を描画する描画手段、としてコンピュータを機能させる。【０００８】
本発明によれば、ボタンやスティックの操作により進む方向を入力する方法とは異なる操作方法で直観的に仮想空間内の視点を変化させることができる。【０００９】
本発明の一形態では、前記代表位置決定手段は、前記実位置の移動量に応じて前記仮想代表位置の移動量が定まるように前記仮想代表位置を移動させてもよい。【００１０】
本発明の一形態では、前記代表位置決定手段は、前記実位置が前記ユーザを代表する実代表位置へ近づいた場合に、仮想空間において自分を代表する位置である仮想代表位置が前記仮想空間における前記実位置に対応する仮想位置に近づくように、前記仮想代表位置を決定してもよい。【００１１】
本発明の一形態では、前記代表位置決定手段は、所与の時点に前記ユーザにより指示された実位置である実基準位置から前記ユーザにより指示された現在の位置である実現在位置への移動ベクトルの第１の方向の成分に基づいて前記仮想代表位置を決定してもよい。【００１２】
本発明の一形態では、前記第１の方向は、水平面に投影された前記実基準位置および前記実代表位置を結ぶ直線の方向であってもよい。【００１３】
本発明の一形態では、前記代表位置決定手段は、実空間における前記移動ベクトルの第２の方向の成分に基づいて仮想空間における前記ユーザの向きを決定し、前記第２の方向は前記第１の方向と異ってもよい。【００１４】
本発明の一形態では、前記代表位置決定手段は、前記実基準位置が第１の領域にある場合に、前記実基準位置から前記実現在位置への移動ベクトルの前記第１の方向の成分に基づいて前記仮想代表位置を決定し、前記実基準位置が第１の領域と異なる第２の領域にある場合に、前記移動ベクトルの前記第２の方向の成分に基づいて仮想空間における前記ユーザの向きを決定してもよい。【００１５】
本発明の一形態では、前記第１の領域は前記実代表位置の前方にあり、前記第２の領域は、前記第１の領域の側方にあってもよい。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態にかかる画像処理装置のハードウェア構成の一例を示す図である。
【図２】ユーザが画像処理装置を使用する際の入出力デバイスの使用方法を説明する図である。
【図３】表示される画像の一例を示す図である。
【図４】実指示位置が手前に動く場合の仮想代表位置の動きを模式的に示す図である。
【図５】実指示位置が遠方に動く場合の仮想代表位置の動きを模式的に示す図である。
【図６】実指示位置が右へ動く場合の仮想代表位置の動きを模式的に示す図である。
【図７】画像処理装置が実現する機能を示すブロック図である。
【図８】画像処理装置の処理フローの一例を示す図である。
【図９】モード決定部および基準位置設定部の処理フローの一例を示す図である。
【図１０】実空間における移動判定領域と回転判定領域とを説明する図である。
【図１１】仮想代表位置および視点の向きの決定についての処理フローの一例を示す図である。
【図１２】実空間における基準位置と実指示位置と実代表位置との関係を示す図である。
【図１３】プロキシの一例を示す図である。
【図１４】仮想空間におけるプロキシと地面との関係の一例を示す図である。
【図１５】両手を交互に動かすことによる仮想代表位置の移動を模式的に示す図である。
【図１６】仮想空間に表示される操作ガイドの一例を示す図である。
【図１７】仮想空間に表示される操作ガイドを用いた操作を説明する図である。
【図１８】仮想空間に表示される操作ガイドの他の一例を示す図である。
【図１９】実指示位置の動きと仮想代表位置との関係の他の一例を説明する図である。
【図２０】図１９の例における実指示位置の動きを側方から見た図である。
【図２１】仮想ホイールを用いた実指示位置の動きと仮想代表位置との関係を説明する図である。
【図２２】仮想ホイールを用いた実指示位置の動きと仮想代表位置との関係を説明する図である。
【発明を実施するための形態】
【００１７】
以下では、本発明の実施形態について図面に基づいて説明する。出現する構成要素のうち同一機能を有するものには同じ符号を付し、その説明を省略する。
【００１８】
図１は、本発明の実施形態にかかる画像処理装置１のハードウェア構成の一例を示す図である。画像処理装置１は、パーソナルコンピュータや家庭用ゲーム機、または携帯情報端末である。画像処理装置１は、プロセッサ１１、記憶部１２、通信部１３、操作入力部１４、表示制御部１５を含む。
【００１９】
プロセッサ１１は、記憶部１２に格納されているプログラムに従って動作し、通信部１３や操作入力部１４、表示制御部１５等を制御する。なお、上記プログラムは、フラッシュメモリ等のコンピュータで読み取り可能な記憶媒体に格納されて提供されるものであってもよいし、インターネット等のネットワークを介して提供されるものであってもよい。
【００２０】
記憶部１２は、ＤＲＡＭやフラッシュメモリ等のメモリ素子によって構成されている。記憶部１２は、上記プログラムを格納する。また、記憶部１２は、プロセッサ１１や通信部１３等から入力される情報や演算結果を格納する。
【００２１】
通信部１３は有線ＬＡＮや無線ＬＡＮを構成する集積回路やコネクタ、アンテナなどにより構成されている。通信部１３は、ネットワークを介して他の装置と通信する機能を有する。通信部１３は、プロセッサ１１の制御に基づいて、他の装置から受信した情報をプロセッサ１１や記憶部１２に入力し、他の装置に情報を送信する。
【００２２】
操作入力部１４は、ユーザの操作を検出するハードウェアからの入力を取得する回路である。操作入力部１４は、例えばユーザが位置を入力する位置入力デバイスやキーボード等の入力デバイスから入力を取得し、検出された情報をプロセッサ１１や記憶部１２に入力する。
【００２３】
表示制御部１５はディスプレイ等の表示出力デバイスを制御する回路を含んでいる。表示制御部１５は、プロセッサ１１の制御に基づいて、表示出力デバイスに画像を表示させる。
【００２４】
図２は、ユーザ６１が画像処理装置１を使用する際の入力デバイス等の使用方法の一例を説明する図である。図２の例は、ユーザ６１を上からみた図である。本実施形態の例では、入力デバイスとしてモーションコントローラ６２，６３、カメラ６４を用い、表示出力デバイスとしてヘッドマウントディスプレイ６５を用いる。
【００２５】
モーションコントローラ６２，６３のそれぞれは、カメラに位置を認識させるためのボール部と、ユーザ６１に握らせるための把持部とを有する。把持部には、ボタンが設けられており、ユーザ６１がボタンを操作すると、モーションコントローラ６２，６３は無線を介して操作入力部１４へそのボタンの操作の情報を送信し、操作入力部１４はその情報を取得する。カメラ６４は、モーションコントローラ６２，６３のボール部を含む画像を撮影し、その撮影された画像内でのボール部の位置および大きさに基づいて、モーションコントローラ６２，６３が実空間において指示する実指示位置を検出する。操作入力部１４は、その検出されたモーションコントローラ６２，６３の実指示位置を取得する。
【００２６】
ヘッドマウントディスプレイ６５は、ユーザ６１の頭部に装着するディスプレイであり、ユーザ６１の目前に画像を表示する。その表示された画像が視差を考慮したものである場合は、ユーザ６１は画像に含まれる物体を立体的に認識することができる。ヘッドマウントディスプレイ６５は、ユーザ６１にとって臨場感が高い画像を表示することができる。
【００２７】
図３は、表示される画像の一例を示す図である。本実施形態で表示される画像は、仮想空間内のユーザ６１の位置（以下では「仮想代表位置」と記載する）における視点の向きに対する３次元画像である、この画像において、モーションコントローラ６２，６３が指示する実指示位置に相当する仮想空間内の位置（以下では「仮想指示位置」とも呼ぶ）に指示オブジェクト７２，７３が表示されている。また、モーションコントローラ６２，６３の操作により仮想代表位置が移動したり、仮想空間におけるユーザ６１の視点の向き（以下では「仮想視点方向」と記載する）が変化したり、仮想空間内で画像が描画される範囲内にあるオブジェクトの位置や向きが変化すると、画像処理装置１はそれらの変化が反映された画像を描画し、その画像をヘッドマウントディスプレイ６５に表示させる。
【００２８】
本実施形態にかかる画像処理装置１は、所定の操作をしている間（例えばユーザ６１がボタンを押してから離すまでの間）の、モーションコントローラ６２，６３のうちいずれかの動きの水平成分に基づいて、仮想代表位置を移動させている。図４は、実指示位置が手前に動く場合の仮想代表位置の動きを模式的に示す図であり、図５は、実指示位置が遠方へ動く場合の仮想代表位置の動きを模式的に示す図である。例えば、ユーザ６１が、モーションコントローラ６２，６３を手前に動かすと仮想代表位置が前進し（図４の破線で描かれた矢印参照）、モーションコントローラ６２，６３を前方へ動かすと仮想代表位置が後退する（図５の破線で描かれた矢印参照）。また、図６は実指示位置が右へ動く場合の仮想代表位置の動きを模式的に示す図である。例えば、ユーザ６１がモーションコントローラ６２，６３を右方向に動かすと、仮想代表方向はその動いた向きと反対の方向（左方向）へ向けて回転する（図６の破線で描かれた矢印参照）。
【００２９】
別の言い方をすると、ユーザがボタンを押し続けている間のモーションコントローラ６２または６３の仮想指示位置の移動を制限し、その後のモーションコントローラ６２または６３の移動では、モーションコントローラ６２または６３とユーザ６１との水平的な位置関係が維持されるように仮想代表位置や仮想視点方向を決定している。このような動作は壁の手すり等の物体を掴んで移動する動作にも似ており、直観的に理解しやすい動作である。
【００３０】
なお、ユーザ６１がボタンを押下してから離すまでのモーションコントローラ６２，６３のうちいずれかの動きの代わりに、ユーザ６１がボタンを押下してから次に押下するまでの動きに基づいて画像処理装置１が仮想代表位置を移動させてもよい。
【００３１】
以下では実指示位置の動きから仮想代表位置の動きを決定し画像を描画する処理について説明する。図７は、本発明の実施形態にかかる画像処理装置１が実現する機能を示すブロック図である。画像処理装置１は機能的に、実位置取得部５１、モード決定部５２、基準位置設定部５３、仮想位置決定部５４、オブジェクト位置決定部５５、画像描画部５６を含む。
【００３２】
実位置取得部５１は、主に、プロセッサ１１が記憶部１２に記憶されるプログラムを実行し、モーションコントローラ６２または６３やカメラ６４からの情報を取得する操作入力部１４からの情報を処理し、処理結果を記憶部１２に格納することにより実現される。モード決定部５２、基準位置設定部５３、仮想位置決定部５４、オブジェクト位置決定部５５は、主に、プロセッサ１１が記憶部１２に記憶されるプログラムを実行し、記憶部１２等に格納された情報を処理し、処理結果を記憶部１２に格納することにより実現される。画像描画部５６は、主に、プロセッサ１１が記憶部１２に記憶されるプログラムを実行し、記憶部１２等に格納された情報を処理し、表示出力デバイスが画像を表示するよう表示制御部１５を制御することにより実現される。
【００３３】
実位置取得部５１は、実空間においてユーザ６１により指示された実指示位置を取得する。また、実位置取得部５１は、実空間におけるユーザ６１の位置（「実代表位置」と呼ぶ）を取得する。実位置取得部５１が取得する実指示位置および実代表位置は、３次元空間における位置である。実指示位置はモーションコントローラ６２，６３が指示する位置であり、実代表位置は例えばヘッドマウントディスプレイ６５の位置である。
【００３４】
モード決定部５２は、ユーザ６１の操作に基づいて、現在のモードが、ナビゲーションモードであるか否かを決定する。ナビゲーションモードは、仮想代表位置を移動させるモードであり、ナビゲーションモードが設定されている期間は、ユーザ６１がボタンの押下などの所定の操作をしている期間である。また、モード決定部５２は、ユーザ６１の操作がされた実位置が第１の領域または第２の領域に含まれるか否かに基づいて、ナビゲーションモードにおいて、仮想代表位置を変更可能とするか否かのフラグ（移動フラグ）と、仮想視点方向を変更可能とするか否かのフラグ（回転フラグ）とを設定する。
【００３５】
基準位置設定部５３は、ユーザ６１の操作に基づいて、仮想代表位置や仮想視点方向を決定する際に基準となる、ボタン押下時の実指示位置（基準位置）と、ボタン押下時の実代表位置（基準実代表位置）、仮想代表位置（基準仮想代表位置）および仮想視点方向（基準視点方向）とを記憶部１２に記憶させる。なお、本実施形態では、仮想視点方向は高さ方向を軸とした角度で表され、上下方向の成分は含まない。
【００３６】
仮想位置決定部５４は、所定の入力をしている間におけるた実指示位置の動きに基づいて、仮想代表位置や仮想空間におけるユーザ６１の仮想代表方向を決定する。別の見方では、仮想位置決定部５４は実指示位置の移動量に応じて仮想代表位置の移動量が定まるように仮想代表位置を移動させる。より具体的には、仮想位置決定部５４は、取得された実指示位置と、基準位置とに基づいて仮想代表位置や仮想視点方向を決定する。実指示位置が実代表位置に近づいた場合には、仮想位置決定部５４は仮想代表位置が仮想指示位置に近づくように仮想代表位置を決定する。一方、実指示位置が実代表位置から遠ざかる場合には、仮想位置決定部５４は仮想代表位置が仮想指示位置から遠ざかるように仮想代表位置を決定する。また、仮想位置決定部５４は、現在の実指示位置が基準位置より実代表位置に近い場合に、現在の仮想代表位置が、基準仮想代表位置より実指示位置に対応する仮想指示位置に近づくように、仮想代表位置を決定する。仮想位置決定部５４は、実指示位置の移動量が大きいほど、仮想代表位置の移動量も大きくなるように仮想代表位置を決定する。
【００３７】
オブジェクト位置決定部５５は、オブジェクトの動作を定義するデータや他のオブジェクトとの衝突の有無に基づいて、現時点における仮想空間内のオブジェクトの位置や向きを決定する。
【００３８】
画像描画部５６は、決定された仮想代表位置や仮想視点方向と、決定されたオブジェクトの位置や向きとに基づいて、仮想空間におけるオブジェクトの３次元画像を描画する。
【００３９】
図８は、画像処理装置１の処理フローの一例を示す図である。はじめに、実位置取得部５１は、実指示位置やボタン操作を取得する（ステップＳ１０１）。実位置取得部５１は、そのボタン操作として、例えば、現時点でボタンが押されているか、ボタンが新たに押下されたか、ボタンが離されたか、のそれぞれを検出する。また、実位置取得部５１は現在の実指示位置および実代表位置も取得する。
【００４０】
次に、モード決定部５２は、ユーザ６１のボタン操作や実指示位置に基づいて、現在の動作モードを決定する（ステップＳ１０２）。具体的には、モード決定部５２は、現在の動作モードがナビゲーションモードであるか否かを決定するとともに、ナビゲーションモードの場合にはモーションコントローラ６２，６３のうち仮想代表位置や仮想視点方向の変更に用いられるもの（「対象コントローラ」と記載する）を示す対象コントローラ情報、移動フラグおよび回転フラグを設定する。なお、現在のモードが新たに、ナビゲーションモードに決定されると、基準位置設定部５３は、その時点における、実指示位置（基準位置）、実代表位置（基準実代表位置）、仮想代表位置（基準仮想代表位置）、仮想視点方向（基準視点方向）を記憶部１２に記憶させる。
【００４１】
以下では、ステップＳ１０２およびこれに関連する処理について説明する。図９は、モード決定部５２および基準位置設定部５３の処理フローの一例を示す図である。モード決定部５２は、はじめに、モーションコントローラ６２，６３からの入力に基づいて、ユーザ６１がモーションコントローラ６２，６３のいずれかに含まれるボタンを新たに押下したか否かを検出する（ステップＳ２０１）。ここで、ボタンが新たに押下された場合には（ステップＳ２０１のＹ）、モード決定部５２はボタンが押下されたモーションコントローラを対象コントローラとして決定し、さらに対象コントローラの実指示位置がどの領域にあるかを判定する。より具体的には、モード決定部５２は、その実指示位置が移動判定領域８１にある場合（ステップＳ２０２のＹ）には、動作モードにナビゲーションモードを設定するとともに移動フラグをＯＮに設定し（ステップＳ２０３）さらに対象コントローラを示す対象コントローラ情報を記憶部１２に記憶させる。またその実指示位置が回転判定領域８２にある場合には（ステップＳ２０４のＹ）、モード決定部５２は動作モードにナビゲーションモードを設定するとともに回転フラグをＯＮに設定し（ステップＳ２０５）、さらに対象コントローラを示す対象コントローラ情報を記憶部１２に記憶させる。
【００４２】
図１０は、実空間における移動判定領域８１と回転判定領域８２とを説明する図である。図１０の例では、移動判定領域８１はユーザ６１の実代表位置ｄの前方にありかつ実代表位置ｄからの距離が所定の範囲にある領域である。また、回転判定領域８２は、移動判定領域８１の側方にありかつ実代表位置ｄからの距離が所定の範囲にある領域である。より具体的には、移動判定領域８１は、実代表位置ｄからユーザ６１の前方に延びる直線とのなす角が第１の閾値以下であり、かつ実代表位置ｄからの距離が所定の範囲にある領域である。回転判定領域８２は、その角が第１の閾値より大きく第２の閾値以下でありかつ実代表位置ｄからの距離が所定の範囲にある領域である。なお、移動判定領域８１と回転判定領域８２とが重なっていてもよい。重なっている領域に実指示位置があった場合、仮想位置決定部５４は仮想代表位置と仮想視点方向との両方の変更を行ってよい。
【００４３】
ステップＳ２０４で実指示位置が回転判定領域８２にない場合、またはステップＳ２０５の処理がなされた後に、基準位置設定部５３は、新たにボタンが押下された時点の実指示位置を基準位置として記憶部１２に記憶させ、また新たにボタンが押下された時点の実代表位置、仮想代表位置、仮想視点方向をそれぞれ基準実代表位置、基準仮想代表位置、基準視点方向として記憶部１２に記憶させる（ステップＳ２０６）。記憶部１２に記憶された基準位置、基準実代表位置、基準仮想代表位置は仮想位置決定部５４にて仮想代表位置や仮想視点方向を決定する際に用いられる。ステップＳ２０６の処理は、ナビゲーションモードに設定された場合のみ行われてもよい。
【００４４】
ここで、ステップＳ２０１においてユーザ６１がボタンを新たに押下しておらず（ステップＳ２０１のＮ）、かつ、ユーザ６１が対象コントローラ情報が示す対象コントローラのボタンを離した場合には（ステップＳ２０７のＹ）、モード決定部５２は動作モードをナビゲーションモードと異なるモードに設定し、ナビゲーションモードを解除する（ステップＳ２０８）。ユーザ６１がそのボタンを離していない場合には（ステップＳ２０７のＮ）、モード決定部５２は動作モードを変更しない。
【００４５】
ステップＳ１０２のモード決定部５２の処理等が行われると、仮想位置決定部５４は、現在の動作モードがナビゲーションモードか否かを判定する（ステップＳ１０３）。動作モードがナビゲーションモードである場合には（ステップＳ１０３のＹ）、仮想位置決定部５４は仮想代表位置の移動または仮想視点方向を算出する（ステップＳ１０４）。動作モードがナビゲーションモードでない場合には（ステップＳ１０３のＮ）、ステップＳ１０４の処理をスキップする。その後、仮想位置決定部５４はモーションコントローラ６２，６３の実指示位置に基づいて仮想指示位置を決定する（ステップＳ１０５）。
【００４６】
図１１は、仮想代表位置および仮想視点方向の決定についての処理フローの一例を示す図である。図１１は、ステップＳ１０４の処理の詳細を示す。図１１に示す処理において、はじめに、仮想位置決定部５４は、実位置取得部５１により取得された対象コントローラの現在の実指示位置ｃと、基準位置設定部５３により記憶部１２に格納された基準位置ｂ、基準実代表位置ｐ、基準視点方向とを取得する（ステップＳ３０１）。以下の処理では水平成分のみを利用するため、仮想位置決定部５４は、例えば実指示位置ｃ、基準位置ｂ、基準実代表位置ｐが３次元の直交座標系の３つの値で表される場合は、仮想位置決定部５４は実指示位置ｃ、基準位置ｂ、基準実代表位置ｐの高さ方向を除く座標の２つの値のみを取得してよい。
【００４７】
次に、仮想位置決定部５４は、基準位置ｂから実指示位置ｃへの移動ベクトルＶの水平成分の距離方向成分Ｒと回転角θとを算出する（ステップＳ３０２）。
【００４８】
図１２は、実空間における基準位置ｂと実指示位置ｃと基準実代表位置ｐとの関係を示す図である。図１２は上から見た図であり、水平成分のみを示している。基準位置ｂから実指示位置ｃへ向かうベクトルの水平成分が、移動ベクトルＶである。仮想位置決定部５４は、基準実代表位置ｐから基準位置ｂへ向かう直線の水平成分へ、この移動ベクトルＶの水平成分を射影したベクトルを、移動ベクトルＶの距離方向成分Ｒとして取得する。また、仮想位置決定部５４は、基準実代表位置ｐから基準位置ｂへ向かうベクトルと、基準実代表位置ｐから実指示位置ｃへ向かうベクトルとのなす角を、移動ベクトルＶに関する回転角θとして取得する。ここで、回転角θは、移動ベクトルＶの距離方向成分Ｒと異なる方向の成分（例えば距離方向に直交する方向の成分）に応じて定まる。なお、基準実代表位置ｐとして、新たにボタンが押下された時点の実代表位置の代わりに現在の実代表位置を用いてもよい。
【００４９】
そして、仮想位置決定部５４は、移動フラグが設定されている場合には（ステップＳ３０３のＹ）、記憶部１２に記憶された仮想代表位置と移動ベクトルＶの距離方向成分Ｒとから、現在の新たな仮想代表位置を算出する（ステップＳ３０４）。より具体的には、例えば、ステップＳ３０４において、仮想位置決定部５４は、記憶部１２に記憶された基準実代表位置ｐから、移動ベクトルＶの距離方向成分Ｒの反対ベクトルの分だけ移動された実空間上の仮の位置を求め、その仮の位置を座標変換する。これにより、仮想位置決定部５４はその仮の位置に相当する仮想空間内の位置を、新たな仮想代表位置（厳密には仮想代表位置のうち水平成分）として取得する。また、仮想位置決定部５４は移動ベクトルＶの距離方向成分Ｒの反対ベクトルに対して座標変換を行って仮想空間内の距離方向成分Ｒの反対ベクトルを取得し、基準時の仮想代表位置を取得された反対ベクトルだけ動かした位置を求めることで新たな仮想代表位置（仮想代表位置の水平成分）を取得してもよい。
【００５０】
また、仮想位置決定部５４は仮想代表位置の高さ成分を、取得された新たな仮想代表位置の水平位置における地面７４の高さに基づいて取得する。図１３は、仮想空間におけるユーザ６１を示すプロキシ７１の一例を説明する図である。また、図１４は、仮想空間におけるプロキシ７１と地面７４との関係の一例を示す図である。プロキシ７１の中心は、仮想代表位置に存在する。プロキシ７１は、地面７４からわずかに浮いており、高さ方向の軸に沿った回転であって水平面上で認識される回転のみが可能である。またプロキシ７１の中心は、その水平位置における地面から一定の距離だけ離れている。仮想位置決定部５４は、例えば、求められた新たな仮想代表位置の水平位置における地面７４の高さに一定の値を加算することで、新たな仮想代表位置の高さを取得する。なお、仮想位置決定部５４は、水平移動に伴う姿勢の変化等も考慮して仮想代表位置の高さを取得してもよい。
【００５１】
新たな仮想代表位置が算出されると、仮想位置決定部５４は、新たな仮想代表位置に基づいて、仮想代表位置の移動速度を算出する（ステップＳ３０４）。仮想位置決定部５４は、単に新たな仮想代表位置と１つ前のフレームにおける仮想代表位置との差を移動速度として算出してもよいし、さらに姿勢変化等の他の要因にも基づいて移動速度を算出してもよい。
【００５２】
なお、ステップＳ３０３において移動フラグが設定されていない場合（ステップＳ３０３のＮ）には、ステップＳ３０４とステップＳ３０５の処理はスキップされる。そして、仮想位置決定部５４は、回転フラグが設定されているか否かを判定する（ステップＳ３０６）。回転フラグが設定されていない場合には（ステップＳ３０６のＮ）、ステップＳ３０７をスキップする。回転フラグが設定されている場合には（ステップＳ３０６のＹ）、仮想位置決定部５４は、基準視点方向と回転角θとから、新たな仮想視点方向を算出する（ステップＳ３０７）。より具体的には、仮想位置決定部５４は、基準視点方向を回転角（−θ）だけ回転させる（逆方向に回転させる）ことで、新たな仮想視点方向を算出する。なお、仮想位置決定部５４は、実空間における、基準代表位置が記憶された時点の視点の向きと、現在における視点の向きとの差をさらに用いて仮想視点方向を算出してもよい。つまり、仮想位置決定部５４は、基準視点方向を回転角（−θ）だけ回転させ、さらに実空間の回転方向に前述の差だけ回転させることにより、仮想視点方向を算出してよい。
【００５３】
ステップＳ３０１からステップＳ３０７の処理等では、基準位置ｂ、基準実代表位置ｐ、基準仮想代表位置、基準視点方向として、１つ前のフレームにおける実指示位置、実代表位置、仮想代表位置、仮想視点方向を用いてもよい。
【００５４】
これまでは、動作モードがナビゲーションモードの場合について説明した。一方、ステップＳ１０３において、動作モードがナビゲーションモードでない場合には（ステップＳ１０３のＮ）、この処理をスキップする。そして、仮想位置決定部５４は決定された仮想代表位置や仮想視点方向に基づいて、モーションコントローラ６２，６３の実指示位置に対応する仮想指示位置を決定する（ステップＳ１０５）。そして、オブジェクト位置決定部５５は現時点における仮想空間内のオブジェクトの位置や向きを決定し（ステップＳ１０６）、画像描画部５６は、移動された仮想代表位置や仮想視点方向に基づいて、オブジェクトの三次元画像を描画する（ステップＳ１０７）。
【００５５】
本実施形態では、基準位置から実指示位置までの移動のうち、ある方向の成分を仮想代表位置が移動する先の仮想代表位置の決定のために用い、その方向と異なる方向の成分に基づいて仮想視点方向の回転角を求めることで、実指示位置の移動だけで仮想代表位置の移動だけでなく視点の向きの変更も行うことが可能になる。また、基準位置ｂが移動判定領域８１にある場合に仮想代表位置を求め、基準位置ｂが回転判定領域８２にある場合に仮想視点方向を求めるようにすることで、回転を意図していない操作で回転してしまう現象や、移動を意図していない操作で移動してしまう現象の発生を抑え、ユーザ６１が仮想代表位置や仮想視点方向を容易に調整することが可能になる。
【００５６】
また、この画像処理装置１において、ユーザ６１が左右のモーションコントローラ６２，６３を交互に仮想代表位置および仮想視点方向の変更に用いることで、ユーザ６１が連続的かつ容易に仮想空間内を移動または回転することが可能になる。図１５は、両手を交互に動かすことによる仮想代表位置の移動を模式的に示す図である。例えば、右手で掴んでいるモーションコントローラ６２を前に出した上でナビゲーションモードにてそのモーションコントローラ６２を手前に動かすことで仮想空間内のユーザ６１の位置を前方に動かす間に、左手で掴んでいるモーションコントローラ６３を前に出し、モーションコントローラ６２による移動が終わりナビゲーションモードを解除したらすぐに、ナビゲーションモードにてモーションコントローラ６３を手前に動かす。本実施形態にかかる画像処理装置１がこういった動作を可能にすることで、仮想空間におけるユーザ６１の位置が止まっている時間を最小化し、ユーザ６１が直観的かつスムーズに仮想空間内を移動することが可能になる。
【００５７】
ここで、動作モードがナビゲーションモードの場合に、画像描画部５６がオブジェクトの三次元画像に加えて、ユーザ６１の操作の目安となる操作ガイドの画像を描画してもよい。図１６は仮想空間に表示される操作ガイドの一例を示す図である。また、図１７は、仮想空間に表示される操作ガイドを用いた操作を説明する図である。図１６および図１７の例では、仮想空間において操作ガイドとして、ユーザ６１の位置を中心とする環状の回転ガイド８３と、ユーザ６１の前方に向かう矢印の形を有する移動ガイド８４とが表示されている。ユーザ６１は、例えば図１７に示されるようにモーションコントローラ６２，６３が示す実指示位置が移動ガイド８４をたぐり寄せるような動きをした場合に、仮想位置決定部５４が仮想代表位置を移動させてもよい。この際、仮想代表位置の決定の手法は、これまでに説明したものと同じであってもよい。また、ナビゲーションモードにおいて仮想位置決定部５４は、ユーザ６１による回転ガイド８３に沿った実指示位置の移動に応じて仮想視点方向を回転させてよい。
【００５８】
ユーザ６１が、モーションコントローラ６２，６３の実指示位置を操作ガイドに沿って動かすことをより、回転や移動のための操作をより直感的に行うことができる。
【００５９】
また、移動ガイド８４は必ずしも水平方向でなくてもよい。図１８は、仮想空間に表示される操作ガイドの他の一例を示す図である。図１８の例では、画像描画部５６により表示される回転ガイド８３は図１６の例と同様であるが、移動ガイド８４は上下方向を向いている。例えば、仮想空間内で上下移動が可能な領域に仮想代表位置が存在しかつナビゲーションモードである場合に、画像描画部５６が上下方向に延びる移動ガイド８４を描画し、仮想位置決定部５４はモーションコントローラ６２，６３のうち少なくとも一方の実指示位置が移動ガイド８４に相当する仮想線に沿って移動した場合に、仮想位置決定部５４は仮想代表位置をその移動ガイド８４の方向（実指示位置の移動方向の逆方向）に移動させてよい。また、仮想位置決定部５４は、実指示位置の移動ガイド８４の方向に沿った移動量が大きくなるほどその仮想代表位置の移動量が大きくなるように仮想代表位置を決定する。
【００６０】
また、仮想位置決定部５４がナビゲーションモードにおけるユーザ６１による実指示位置の移動のパターンに応じて仮想代表位置を決定してもよい。図１９は実指示位置の動きと仮想代表位置との関係の他の一例を示す図である。図２０は図１９の例における実指示位置の動きを側方から見た図である。図１９や２０は、例えば仮想代表位置が水中にあるような場合の例である。図１９，２０の実線は実指示位置の動きを示し、破線は仮想代表位置の動きを示す。実指示位置が水をかくような動きをした場合、仮想位置決定部５４はその動きの移動量や向きに応じて仮想代表位置を移動させてよい。図１９，２０の例においても、仮想位置決定部５４は実指示位置の移動量が大きいほど、仮想代表位置の移動量が大きくなるように仮想代表位置を決定する。
【００６１】
実指示位置の移動のパターンとして図１９と異なるものが用いられてもよい。図２１，２２は、仮想ホイール８５，８６を用いた実指示位置の動きと仮想代表位置との関係を説明する図である。図２１，２２の例では、仮想位置決定部５４は、ナビゲーションモードにおける、ユーザ６１の左右かつ腰から下の位置にある仮想ホイール８５，８６を回す実指示位置の動き（図２１の実線参照）に応じて仮想代表位置を決定する。その際、仮想位置決定部５４は、実指示位置の移動量に応じた量だけ仮想代表位置が移動するように仮想代表位置を決定する。仮想ホイール８５，８６は、車いすの車輪のようなものである。ユーザ６１がナビゲーションモードにおいて仮想ホイール８５，８６を回すように実指示位置を動かすと、仮想位置決定部５４は、その動きによる仮想ホイール８５，８６の仮想的な回転に応じて仮想代表位置を移動させる。例えば、図２１のように、仮想ホイール８５，８６の両方について左右のモーションコントローラ６２，６３の実指示位置が同じ方向に回転する動きをした場合に、仮想位置決定部５４は前方または後方に仮想代表位置を移動させる。この場合、仮想位置決定部５４は実指示位置の移動量が大きいほど、仮想代表位置の移動量が大きくなるように仮想代表位置を決定する。また、図２２のように実指示位置の移動が示す仮想ホイール８５，８６の回転の向きが反対である場合には、仮想位置決定部５４は仮想視点方向を回転させる。
【図１】
2017065126.tif 000003
【図２】
2017065126.tif 000004
【図３】
2017065126.tif 000005
【図４】
2017065126.tif 000006
【図５】
2017065126.tif 000007
【図６】
2017065126.tif 000008
【図７】
2017065126.tif 000009
【図８】
2017065126.tif 000010
【図９】
2017065126.tif 000011
【図１０】
2017065126.tif 000012
【図１１】
2017065126.tif 000013
【図１２】
2017065126.tif 000014
【図１３】
2017065126.tif 000015
【図１４】
2017065126.tif 000016
【図１５】
2017065126.tif 000017
【図１６】
2017065126.tif 000018
【図１７】
2017065126.tif 000019
【図１８】
2017065126.tif 000020
【図１９】
2017065126.tif 000021
【図２０】
2017065126.tif 000022
【図２１】
2017065126.tif 000023
【図２２】
2017065126.tif 000024
【手続補正書】
【提出日】平成29年11月28日(2017.11.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
実空間においてユーザにより指示された実位置を取得する実位置取得手段と、
所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定する代表位置決定手段と、
前記決定された仮想代表位置に基づく３次元画像を描画する描画手段と、
を含み、
前記代表位置決定手段は、前記実位置が前記ユーザを代表する実代表位置へ近づいた場合に、仮想空間において自分を代表する位置である仮想代表位置が前記仮想空間における前記実位置に対応する仮想位置に近づくように、前記仮想代表位置を決定する、
画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記代表位置決定手段は、前記実位置の移動量に応じて前記仮想代表位置の移動量が定まるように前記仮想代表位置を移動させる、
画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置において、
前記代表位置決定手段は、所与の時点に前記ユーザにより指示された実位置である実基準位置から前記ユーザにより指示された現在の位置である実現在位置への移動ベクトルの第１の方向の成分に基づいて前記仮想代表位置を決定する、
画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記第１の方向は、水平面に投影された前記実基準位置および前記実代表位置を結ぶ直線の方向である、
画像処理装置。
【請求項５】
請求項３または４に記載の画像処理装置において、
前記代表位置決定手段は、実空間における前記移動ベクトルの第２の方向の成分に基づいて仮想空間における前記ユーザの向きを決定し、
前記第２の方向は前記第１の方向と異なる、
画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
前記代表位置決定手段は、前記実基準位置が第１の領域にある場合に、前記実基準位置から前記実現在位置への移動ベクトルの前記第１の方向の成分に基づいて前記仮想代表位置を決定し、前記実基準位置が第１の領域と異なる第２の領域にある場合に、前記移動ベクトルの前記第２の方向の成分に基づいて仮想空間における前記ユーザの向きを決定する、
画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、
前記第１の領域は前記実代表位置の前方にあり、前記第２の領域は、前記第１の領域の側方にある、
画像処理装置。
【請求項８】
実空間においてユーザにより指示された実位置を取得するステップと、
所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定するステップと、
前記決定された仮想代表位置に基づく３次元画像を描画するステップと、
を含み、
前記仮想代表位置を決定するステップでは、前記実位置が前記ユーザを代表する実代表位置へ近づいた場合に、仮想空間において自分を代表する位置である仮想代表位置が前記仮想空間における前記実位置に対応する仮想位置に近づくように、前記仮想代表位置を決定する、
画像処理方法。
【請求項９】
実空間においてユーザにより指示された実位置を取得する実位置取得手段、
所定の入力をしている間における前記取得された実位置の動きに基づいて、仮想空間において自分を代表する位置である仮想代表位置を決定する代表位置決定手段、および、
前記決定された仮想代表位置に基づく３次元画像を描画する描画手段、
としてコンピュータを機能させ、
前記代表位置決定手段は、前記実位置が前記ユーザを代表する実代表位置へ近づいた場合に、仮想空間において自分を代表する位置である仮想代表位置が前記仮想空間における前記実位置に対応する仮想位置に近づくように、前記仮想代表位置を決定する、
プログラム。
【国際調査報告】
2017065126.tif 000025
2017065126.tif 000026