(57)【要約】      （修正有）【課題】仮想空間中のオブジェクトのうち、操作者側からみた見掛けの面積が小さい部分を容易に指定できる仮想空間位置指定方法を提供する。【解決手段】操作の対象となるオブジェクトＯ２を指定するための仮の視線について、仮想空間中の操作者の眼の位置ではなく、眼の位置からある一定の第１の距離ｙ１だけ上下方向に離れた位置からでるようにするとともに、ある一定の第２の距離ｘだけ水平方向に離れた位置で、操作者の眼の位置からの実際の視線と交差するように、仮の視線と実際の視線の間の垂直方向に角度αを設ける。【選択図】図４
2017004356.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間中に操作の対象となる場所を示すポインタを表示する方法であって、
仮想空間中の操作者の眼の位置Ａと前記位置Ａから仮想空間中の水平方向に距離ｘだけ離れた位置Ｃを結ぶ実際の視線と、仮想空間中の操作者の眼の位置Ａから仮想空間中の垂直方向に距離ｙ1だけ離れた位置Ｂと前記位置Ｃを結ぶ仮の視線を求める初期視線算出ステップと、
前記仮の視線と仮想空間中のオブジェクトが交わる点に、操作の対象となる位置を示すポインタを表示するポインタ表示ステップと、
前記実際の視線に基づいて、前記ポインタを含んだ仮想空間を描画することを特徴とする視野画像生成ステップと、
前記実際の視線の移動に基づいて前記仮の視線を移動させる視線移動ステップと、
を有することを特徴とする、仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定方法。
【請求項２】
前記初期視線算出ステップにおいて、前記位置Ｂは前記位置Ａに比べ仮想空間の垂直方向に距離ｙ1だけ高い位置にあり、前記位置Ｃは、前記位置Ａに比べ仮想空間の垂直方向に距離ｙ2だけ低い位置にあることを特徴とする、請求項１に記載の仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定方法。
【請求項３】
前記初期視線算出ステップにおいて、前記位置Ｂは前記位置Ａに比べ仮想空間の垂直方向に距離ｙ1だけ低い位置にあり、前記位置Ｃは、前記位置Ａに比べ仮想空間の垂直方向に距離ｙ2だけ高い位置にあることを特徴とする、請求項１に記載の仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定方法。
【請求項４】
前記ポインタ表示ステップが表示するポインタは、仮想空間中のオブジェクトの表面に張り付いた形で変形して表示されることを特徴とする、請求項１〜３のいずれか一項に記載の仮想空間位置指定方法。
【請求項５】
請求項１〜４のいずれか一項に記載の方法を実行するためのプログラム。
【請求項６】
請求項１〜４のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【請求項７】
仮想空間中に操作の対象となる場所を示すポインタを表示する装置であって、
仮想空間中の操作者の眼の位置Ａと前記位置Ａから仮想空間中の水平方向に距離ｘだけ離れた位置Ｃを結ぶ実際の視線と、仮想空間中の操作者の眼の位置Ａから仮想空間中の垂直方向に距離ｙ1だけ離れた位置Ｂと前記位置Ｃを結ぶ仮の視線を求める初期視線算出手段と、
前記仮の視線と仮想空間中のオブジェクトが交わる点に操作の対象となる位置を示すポインタを表示するポインタ表示手段と、
前記実際の視線に基づいて、前記ポインタを含んだ仮想空間を描画することを特徴とする視野画像生成手段と、
前記実際の視線の移動に基づいて前記仮の視線を移動させる視線移動手段と、
を有することを特徴とする、仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定装置。
【請求項８】
前記初期視線算出手段において、前記位置Ｂは前記位置Ａに比べ仮想空間の垂直方向に距離ｙ1だけ高い位置にあり、前記位置Ｃは、前記位置Ａに比べ仮想空間の垂直方向に距離ｙ2だけ低い位置にあることを特徴とする、請求項７に記載の仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定装置。
【請求項９】
前記初期視線算出手段において、前記位置Ｂは前記位置Ａに比べ仮想空間の垂直方向に距離ｙ1だけ低い位置にあり、前記位置Ｃは、前記位置Ａに比べ仮想空間の垂直方向に距離ｙ2だけ高い位置にあることを特徴とする、請求項７に記載の仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定装置。
【請求項１０】
前記ポインタ表示手段が表示するポインタは、仮想空間中のオブジェクトの表面に張り付いた形で変形して表示されることを特徴とする請求項７〜９のいずれか一項に記載の仮想空間位置指定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想現実空間(ＶＲ)、拡張現実空間（ＡＲ）において、操作者が操作を行うための操作者の操作の対象であるオブジェクトを特定するための、仮想空間における位置指定に関するものである。
【背景技術】
【０００２】
特許文献１，２には、ヘッドマウント・ディスプレイ（ＨＭＤ）を装着した操作者の視線をもとに操作者が注視している点を求め、そこに注視点を表示するカーソルないしポインタを表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０６−３３７７５６号公報
【特許文献２】特開平０９−１２８１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１，２に記載の技術では、仮想空間中のオブジェクトのうち、操作者側からみた見掛けの面積が小さい部分を指定することが難しい。本発明は、仮想空間中のオブジェクトの所定位置を容易に指定可能とすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明によれば、仮想空間における位置を指定するための仮の視線について、仮想空間中の操作者の眼の位置ではなく、眼の位置からある一定の第１の距離だけ上下方向に離れた位置からでるようにするとともに、ある一定の第２の距離だけ水平方向に離れた位置で、操作者の眼の位置からの実際の視線と交差するように、仮の視線と実際の視線の間の垂直方向に角度αを設けた、仮想空間位置指定方法ないし装置を得ることができる。
【発明の効果】
【０００６】
本発明によれば、仮想空間中のオブジェクトの所定位置を容易に指定可能となる。
このほかの、この発明の特徴及び利点は、この発明の実施例の説明、添付の図面、及び請求の範囲から明らかなものとなる。
【図面の簡単な説明】
【０００７】
【図１】図１は、操作者の眼の位置、仮の視線、実際の視線の関係を示す図である。
【図２】図２は、図１に示した仮の視線から注視点を求めた第１の例である。
【図３】図３は、図２に示した第１の例の視野の図である。
【図４】図４は、図１に示した仮の視線から注視点を求めた第２の例である。
【図５】図５は、図４に示した第２の例の視野の図である。
【図６】図６は、図１に示した仮の視線から注視点を求めた第３の例である。
【図７】図７は、図６に示した第３の例の視野の図である。
【図８】図８は、図１に示した仮の視線から注視点を求めた第４の例である。
【図９】図９は、図８に示した第４の例の視野の図である。
【図１０】図１０は、実際の視線が上下方向に振られることによって、仮の視線がどのように動くかについての第１の手法の図である。
【図１１】図１１は、実際の視線が上下方向に振られることによって、仮の視線がどのように動くかについての第２の手法の図である。
【図１２】図１２は、実際の視線が上下方向に振られることによって、仮の視線がどのように動くかについての第３の手法の図である。
【図１３】図１３は、オブジェクトＯの操作者に向いている面に厚みを持った星形のポインタＰが表示されている図である。
【図１４】図１４は、オブジェクトＯの上面に厚みを持った星形のポインタＰが表示されている図である。
【図１５】図１５は、ポインタＰの表示を実現するための方法を示すフローチャートである。
【図１６】図１６は、図１５で示したフローチャートに示した方法を実行するための装置を示すブロック図である。
【図１７】図１７は、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０の傾きセンサで検知可能な角度情報データを説明する図である。
【図１８】図１８は、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０上に設けられた、ポジション・トラッキング・カメラ（位置センサ）１６３０のために赤外線を発する点を示す図である。
【図１９】図１９は、図１５で示したフローチャートに示した方法を実行するためのコンポーネントの主要機能の構成を示す図である。
【発明を実施するための形態】
【０００８】
［本発明の実施形態の説明］
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態は、以下のような構成を備える。
【０００９】
（項目１）
仮想空間中に操作の対象となる場所を示すポインタを表示する方法であって、仮想空間中の操作者の眼の位置Ａと前記位置Ａから仮想空間中の水平方向に距離ｘだけ離れた位置Ｃを結ぶ実際の視線と、仮想空間中の操作者の眼の位置Ａから仮想空間中の垂直方向に距離ｙ1だけ離れた位置Ｂと前記位置Ｃを結ぶ仮の視線を求める初期視線算出ステップと、前記仮の視線と仮想空間中のオブジェクトが交わる点に、操作の対象となる位置を示すポインタを表示するポインタ表示ステップと、前記実際の視線に基づいて、前記ポインタを含んだ仮想空間を描画することを特徴とする視野画像生成ステップと、前記実際の視線の移動に基づいて前記仮の視線を移動させる視線移動ステップと、を有することを特徴とする、仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定方法。
【００１０】
（項目２）
前記初期視線算出ステップにおいて、前記位置Ｂは前記位置Ａに比べ仮想空間の垂直方向に距離ｙ1だけ高い位置にあり、前記位置Ｃは、前記位置Ａに比べ仮想空間の垂直方向に距離ｙ2だけ低い位置にあることを特徴とする、項目１に記載の仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定方法。
【００１１】
（項目３）
前記初期視線算出ステップにおいて、前記位置Ｂは前記位置Ａに比べ仮想空間の垂直方向に距離ｙ1だけ低い位置にあり、前記位置Ｃは、前記位置Ａに比べ仮想空間の垂直方向に距離ｙ2だけ高い位置にあることを特徴とする、項目１に記載の仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定方法。
【００１２】
（項目４）
前記ポインタ表示ステップが表示するポインタは、仮想空間中のオブジェクトの表面に張り付いた形で変形して表示されることを特徴とする、項目１〜３のいずれか一項に記載の仮想空間位置指定方法。項目４で示された仮想空間位置指定方法は、更に、ポインタがオブジェクトの上面にあるのか、それ以外の面にあるのかが強調されて表示され、操作性が向上する。
【００１３】
（項目５）
項目１〜４のいずれか一項に記載の方法を実行するためのプログラム。
（項目６）
項目１〜４のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【００１４】
（項目７）
仮想空間中に操作の対象となる場所を示すポインタを表示する装置であって、仮想空間中の操作者の眼の位置Ａと前記位置Ａから仮想空間中の水平方向に距離ｘだけ離れた位置Ｃを結ぶ実際の視線と、仮想空間中の操作者の眼の位置Ａから仮想空間中の垂直方向に距離ｙ1だけ離れた位置Ｂと前記位置Ｃを結ぶ仮の視線を求める初期視線算出手段と、前記仮の視線と仮想空間中のオブジェクトが交わる点に操作の対象となる位置を示すポインタを表示するポインタ表示手段と、前記実際の視線に基づいて、前記ポインタを含んだ仮想空間を描画することを特徴とする視野画像生成手段と、前記実際の視線の移動に基づいて前記仮の視線を移動させる視線移動手段と、を有することを特徴とする、仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定装置。
【００１５】
（項目８）
前記初期視線算出手段において、前記位置Ｂは前記位置Ａに比べ仮想空間の垂直方向に距離ｙ1だけ高い位置にあり、前記位置Ｃは、前記位置Ａに比べ仮想空間の垂直方向に距離ｙ2だけ低い位置にあることを特徴とする、項目７に記載の仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定装置。
【００１６】
（項目９）
前記初期視線算出手段において、前記位置Ｂは前記位置Ａに比べ仮想空間の垂直方向に距離ｙ1だけ低い位置にあり、前記位置Ｃは、前記位置Ａに比べ仮想空間の垂直方向に距離ｙ2だけ高い位置にあることを特徴とする、項目８に記載の仮想空間中に操作の対象となる場所を示すポインタを表示する仮想空間位置指定装置。
【００１７】
（項目１０）
前記ポインタ表示手段が表示するポインタは、仮想空間中のオブジェクトの表面に張り付いた形で変形して表示されることを特徴とする項目７〜９のいずれか一項に記載の仮想空間位置指定装置。項目１０で示された仮想空間位置指定装置は、更に、ポインタがオブジェクトの上面にあるのか、それ以外の面にあるのかが強調されて表示され、操作性が向上する。
【００１８】
［本発明の実施形態の詳細］
以下、図面を参照して、本発明の実施の形態を説明する。なお、この実施の形態は、各種センサ（例えば、加速度センサや角速度センサ）を備え、その姿勢データを計測できるヘッドマウント・ディスプレイ（ＨＭＤ）を用い、その姿勢データを用いてヘッドマウント・ディスプレイ（ＨＭＤ）に表示される画像をスクロールし仮想空間上の視線の移動を実現する没入型仮想空間を前提として記述されているが、通常のディスプレイ上に仮想空間を表示し、キーボード、マウスやジョイスティックなどによる入力によって、仮想空間上の視線を移動するものに適用することもできる。また、仮想空間は３次元仮想空間としているが、必ずしもそれに限られる必要はない。
【００１９】
また、図中、同一の構成要素には同一の符号を付してある。
図１は、本発明における、操作者の眼の位置、仮の視線、実際の視線の関係を示す図であり、図２〜９は、操作者とオブジェクトＯの間の距離に応じて、図１に示した仮の視線から注視点を求めた第１〜４の例を示す図である。
【００２０】
図１において、高さｙ0にある点Ａは、操作者の眼の位置を表している。点Ｂは、点Ａから垂直に第１の距離ｙ1だけ離れた位置である。点Ｃは、点Ａからみて水平に第２の距離ｘだけ離れ、第３の距離ｙ２だけ垂直に下がった位置にあり、点Ａと点Ｃを結ぶ直線ＡＣは実際の視線を示し、角度βで見下ろす形となっている。本発明では、この直線ＡＣを用いて、仮想空間を操作者の視野に描画する。
【００２１】
点Ｄは、点Ｃから垂直に第１の距離ｙ1だけ離れた位置にある点である。したがって、直線ＡＣと直線ＢＤは平行であり、直線ＢＣと直線ＢＤは点Ｂにおいて、直線ＢＣと直線ＡＣは点Ｃにおいて、互いに角度αで交わっており、角度β−αで見下ろす形となっている。この直線ＢＣが、操作の対象となるオブジェクトを指定するための仮の視線である。
【００２２】
なお、点Ａ，Ｂ，Ｃ，Ｄの位置関係は、上下方向に反対となり、実際の視線を示す直線ＡＣが見上げる形となってもよい。
本発明は、この操作の対象となるオブジェクトを指定するための仮の視線である直線ＢＣと、操作の対象となるオブジェクトが交わる点にポインタを表示し、そのポインタで指定されるオブジェクトを操作の対象とするものである。初期設定としての、高さｙ0，第１の距離ｙ1，第２の距離ｘ，第３の距離ｙ２や角度α，βは、操作の対象となるオブジェクトや、そのオブジェクトを用いるゲーム等の特性に合わせて設定すればよい。
【００２３】
以下、図２〜９を用いて、オブジェクトの位置とポインタの関係について説明する。
図２は、図１に操作対象の直方体のオブジェクトＯ1を置いた図である。
この図２では、実際の視線である直線ＡＣも操作の対象となるオブジェクトを指定するための仮の視線である直線ＢＣのいずれもが、オブジェクトＯ1の操作者に向いている面と交わっており、仮想空間中では、直線ＢＣとオブジェクトＯ1の操作者に向いている面の交わっている点にポインタＰが表示されている。実際に仮想空間を描画するときには、実際の視線である直線ＡＣが左右上下方向双方で視野の中央にくるように描画する場合が多いことを前提とすると、図２で示される場合には、ポインタＰは、実際の視線である直線ＡＣとオブジェクトＯ1の操作者に向いている面の交わっている注視点Ｐ’より上にあるから、図３に示したように、操作者の視野の中ではポインタＰは左右方向は注視点Ｐ’と同様に視野の中央、上下方向は注視点Ｐ’である視野の中央よりやや上に描画されることとなる。
【００２４】
図４は、図１に操作対象の直方体のオブジェクトＯ2を置いた図であって、オブジェクトＯ2の位置はオブジェクトＯ1の位置に比べ、操作者側に寄っている。オブジェクトＯ2とオブジェクトＯ1は同一形状、同一の大きさである。
【００２５】
この図４では、実際の視線である直線ＡＣはオブジェクトＯ2の操作者に向いている面と交わっているが、操作の対象となるオブジェクトを指定するための仮の視線である直線ＢＣはオブジェクトＯ2の上面と交わっている。
【００２６】
図４の場合には、図５に示すようにポインタＰはオブジェクトＯ2の上面に表示されることとなる。
図６は、図１に操作対象の直方体のオブジェクトＯ3を置いた図であって、オブジェクトＯ3の位置はオブジェクトＯ2の位置に比べ、更に操作者側に寄っている。オブジェクトＯ1，Ｏ2，Ｏ3はいずれも同一形状、同一の大きさである。
【００２７】
この図６では、実際の視線である直線ＡＣも操作の対象となるオブジェクトを指定するための仮の視線である直線ＢＣのいずれもが、オブジェクトＯ3の上面と交わっており、図７に示すようにポインタＰは注視点Ｐ’に比べオブジェクトＯ3の上面奥側に表示されることとなる。
【００２８】
図８は、図１に操作対象の直方体のオブジェクトＯ4を置いた図であって、オブジェクトＯ4の位置はオブジェクトＯ1の位置に比べ、操作者からみて奥側に寄っている。オブジェクトＯ1，Ｏ2，Ｏ3，Ｏ4はいずれも同一形状、同一の大きさである。
【００２９】
この図８では、実際の視線である直線ＡＣも操作の対象となるオブジェクトを指定するための仮の視線である直線ＢＣのいずれもが、オブジェクトＯ4の操作者に向いている面と交わっているが、図２とは反対に、ポインタＰは注視点Ｐ’よりも下側にある。すなわち、実際の視野では、図９に示すような表示となる。
【００３０】
特に、図４，５に示すように、実際の視線である直線ＡＣの代わりに、操作の対象となるオブジェクトを指定するための仮の視線である直線ＢＣを用いることによって、ポインタＰがオブジェクトＯの上面に表示される率が高まる。そして、このようにポインタＰがオブジェクトＯの上面に表示される率が高まることによって、オブジェクトＯの上面に対して操作を行うこと、例えば、オブジェクトＯを持ち上げたり、押しつぶしたりすることが容易となる。
【００３１】
ここまでは、説明を容易とするために操作者とオブジェクトＯの距離が変化すること、すなわち、図１７のＺ軸の方向に操作者やオブジェクトＯが移動することのみを説明してきたが、以下、操作者の視線が移動する場合について説明する。
【００３２】
まず、操作者の視線が移動することの第１の例として、操作者の視線が左右の水平方向に移動することがあげられ、それは、操作者の頭部を回転させること、すなわち、図１７のＹ軸を中心としたヨー角方向の回転によって視野が左右に移動したり、操作者自体が仮想空間を水平方向、すなわち、図１７のＸ軸の方向に移動したりすることによっておきる。この場合は、それらによって、視野が移動するのみならず、操作者とオブジェクトの距離が変化する場合があるが、それらを除けばポインタＰの表示に影響を与えないので、詳細な説明は割愛する。
【００３３】
つぎに、操作者の視線が移動することの第２の例として、操作者自体が仮想空間中で上下方向に移動する、すなわち、図１７のＹ軸の方向に移動するなどして、図１の高さｙ0が変化する場合があげられる。この場合は、実際の視線である直線ＡＣ、仮の視線である直線ＢＣが上下方向に平行移動するとして処理することができ、仮の視線である直線ＢＣが移動することによってポインタＰの位置が移動し、また、直線ＡＣが移動することによって視野の中での仮想空間の描画が変化することを除けば、特にポインタＰの表示に大きな影響を与えないので、やはり、詳細な説明は割愛する。
【００３４】
更に、操作者の視線が移動することの第３の例として、首を左右に傾ける、すなわち、図１７でいうＺ軸を中心としたロール角方向の回転をした場合があげられる。この場合も、全体が回転するだけで、実際の視線である直線ＡＣ、仮の視線である直線ＢＣの相対的位置関係は変わらないから、仮の視線である直線ＢＣが仮想空間中で移動したことに伴いポインタＰの位置が移動し、また、実際の視線である直線ＡＣが回転したことにより視野の上下方向が変化することを除けば、特にポインタＰの表示に大きな影響を与えないので、詳細な説明は割愛する。
【００３５】
これに対し、操作者の視線が移動することの第４の例として、首を上下に振る、すなわち、図１７でいうＸ軸を中心としたピッチ角方向の回転によって、操作者の視線が上下方向に振られる、すなわち、図１の角度βが変化する場合があげられるが、この場合は特別な処理が必要となる。
【００３６】
この第４の例に対する処理としては、いくつもの手法が考えられるが、そのうち、代表的な３つの手法を以下に示す。
まず、第１の手法は、図１０に示すように、見下ろす角度βが変化し直線ＡＣが直線ＡＣ’に移動するにもかかわらず、直線ＢＣは最初の位置から変化せず維持するものである。この場合は、オブジェクトＯの上のポインタＰの位置は変化しない状態で、視野の中での仮想空間の描画が変化することになる。
【００３７】
第２の手法は、図１１に示すように、見下ろす角度βが変化したことにより、直線ＡＣが直線ＡＣ’に移動することに伴い、直線ＢＣが直線ＢＣ’に移動する、すなわち、直線ＡＣと直線ＢＣが距離ｘの場所で交わることを維持するものである。この場合は、オブジェクトＯ上のポインタＰの位置も、視野の中での仮想空間の描画も、双方が変化する形となる。
【００３８】
第３の手法は、図１２に示すように、直線ＡＣの見下ろす角度がβからβ’に変化すると、直線ＢＣの見下ろす角度がβ−αからβ’−αに変化する、すなわち、直線ＡＣないし直線ＢＤと直線ＢＣの間の角度αを維持するものである。この場合も、第二の手法同様に、オブジェクトＯ上のポインタＰの位置も、視野の中での仮想空間の描画も、双方が変化する形となる。
【００３９】
第１の手法は、見下ろす角度βの変化がオブジェクトＯ上のポインタＰの位置に変化を与えないから、仮想空間中でポインタＰを主に左右方向のみに動かす場合には、見下ろす角度βの無意識な変化がオブジェクトＯ上のポインタＰの位置に影響を与えず都合がよい。逆にいえば、ポインタＰをオブジェクトＯ上で、視野の上下方向に移動させるためには、仮想空間中で、操作者とオブジェクトＯの距離を変化させるか、操作者自体が上下方向に移動する必要があることになるので、ポインタＰを仮想空間中ないしオブジェクトＯ上で視野の上下方向に移動させる必要がある場合には向かないこととなる。
【００４０】
これに対し、第２の手法および第３の手法は、見下ろす角度βの変化がオブジェクトＯ上のポインタＰの位置に変化を与えるので、ポインタＰを仮想空間中ないしオブジェクトＯ上で、視野の上下方向に移動させる必要がある場合に向くこととなるが、見下ろす角度βが変化すると、オブジェクトＯ上の注視点の位置Ｐ’と、オブジェクトＯ上のポインタＰがいずれも動くものの互いに異なる動きをするので、操作が難しくなる恐れがある。
【００４１】
既に述べたように、本実施例は、オブジェクトＯの上面に対して操作を行うこと、例えば、オブジェクトＯを持ち上げたり、押しつぶしたりすることが容易となるという効果を有するが、更に、ポインタＰ自体をオブジェクトＯの表面に張り付いた形に変形して表示すると、ポインタＰがオブジェクトＯの上面にあるのか、それ以外の面にあるのかが強調されて表示され、操作性が向上する。
【００４２】
図１３，１４は、その具体的な例として、ポインタＰを３次元の物体である厚みを持った星形として表示した例である。この例では、厚みを持った星形の操作者に向かった面が黒に着色され、それ以外の面は透明となっている。図１３は、オブジェクトＯの操作者に向いている面に厚みを持った星形のポインタＰが張り付いた形に見えるように変形して表示されている例であり、図１４は、オブジェクトＯの上面に厚みを持った星形のポインタＰが張り付いた形に見えるように変形して表示されている例である。
【００４３】
これらの例では、ポインタＰを３次元の物体である厚みを持ったものとしたため、ポインタＰがオブジェクトＯの上面にあるのか、それ以外の面にあるのかがより強調されているが、ポインタＰが厚みのないものであったとしても、オブジェクトＯの表面に張り付いた形に変形して表示させることによって、ポインタＰがオブジェクトＯの上面にあるのか、それ以外の面にあるのかを明示することができる。
【００４４】
図１５は、図１〜９を用いて説明したポインタＰの表示を実現するための方法を示すフローチャートである。図１０〜１２を用いて説明した部分に対応する部分の詳細は省略してある。
【００４５】
ステップＳ１５０１は初期視線算出ステップであって、仮想空間中の操作者の眼の位置Ａと前記位置Ａから仮想空間中の水平方向に距離ｘだけ離れた位置Ｃを結ぶ実際の視線と、仮想空間中の操作者の眼の位置Ａから仮想空間中の垂直方向に距離ｙ1だけ離れた位置Ｂと前記位置Ｃを結ぶ仮の視線を、初期値として求めている。
【００４６】
ステップＳ１５０２はポインタ表示ステップであって、仮の視線と仮想空間中のオブジェクトが交わる点に、操作の対象となる場所を示すポインタＰを表示する。図１３，１４で示したような表示を行う場合には、このポインタ表示ステップがポインタＰをオブジェクトＯの表面に張り付いた形として変形して表示する。
【００４７】
ステップＳ１５０３は視野画像生成ステップであって、実際の視線に基づいた視野において、前記ポインタを含んだ仮想空間を描画する。
ステップＳ１５０４は視線移動ステップであって、操作者の頭部を回転させることによって視野が左右に移動したり、操作者自体が仮想空間を水平方向に移動したり、操作者自体が仮想空間中で上下方向に移動するなどしておきる実際の視線の移動にともない、仮の視線を移動させる。図１０〜１２を用いて説明した首を上下に振るなどして操作者の視線が上下方向に振られる場合の処理も、この視線移動ステップで行う。
【００４８】
図１６は、図１５で示したフローチャートに示した方法を実行するための装置を示すブロック図である。
図１６に示すように、システム１６００は、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０、制御回路部１６２０、ポジション・トラッキング・カメラ（位置センサ）１６３０、並びに外部コントローラ１６４０を備える。
【００４９】
ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０は、ディスプレイ１６１２およびセンサ１６１４を具備する。ディスプレイ１６１２は、ユーザの視野を完全に覆うよう構成された非透過型の表示装置であり、ユーザはディスプレイ１６１２に表示される画面のみを観察することができる。そして、非透過型のヘッドマウント・ディスプレイ（ＨＭＤ）１６１０を装着したユーザは、外界の視野を全て失うため、制御回路部１６２０において実行されるアプリケーションにより表示される仮想空間に完全に没入する表示態様となる。
【００５０】
ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０が具備するセンサ１６１４は、ディスプレイ１６１２近辺に固定される。センサ１６１４は、地磁気センサ、加速度センサ、および／または傾き（角速度、ジャイロ）センサを含み、これらの１つ以上を通じて、ユーザの頭部に装着されたヘッドマウント・ディスプレイ（ＨＭＤ）１６１０（ディスプレイ１６１２）の各種動きを検知することができる。特に角速度センサの場合には、図１７のように、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０の動きに応じて、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０の３軸回りの角速度を経時的に検知し、各軸回りの角度（傾き）の時間変化を決定することができる。
【００５１】
図１７を参照して傾きセンサで検知可能な角度情報データについて説明する。図示のように、ヘッドマウント・ディスプレイ（ＨＭＤ）を装着したユーザの頭部を中心として、ＸＹＺ座標が規定される。ユーザが直立する垂直方向をＹ軸、Ｙ軸と直交しディスプレイ１６１２の中心とユーザを結ぶ方向をＺ軸、Ｙ軸およびＺ軸と直交する方向の軸をＸ軸とする。傾きセンサでは、各軸回りの角度（即ち、Ｙ軸を軸とした回転を示すヨー角、Ｘ軸を軸とした回転を示すピッチ角、Ｚ軸を軸とした回転を示すロール角で決定される傾き）を検知し、その経時的な変化により、動き検知部１９１０が視野情報として角度（傾き）情報データを決定する。
【００５２】
図１６に戻り、システム１６００が備える制御回路部１６２０は、ヘッドマウント・ディスプレイ（ＨＭＤ）を装着したユーザを３次元仮想空間に没入させ、３次元仮想空間に基づく動作を実施させるための制御回路部１６２０として機能する。図１６のように、制御回路部１６２０は、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０とは別のハードウェアとして構成してもよい。当該ハードウェアは、パーソナルコンピュータやネットワークを通じたサーバ・コンピュータのようなコンピュータとすることができる。即ち、互いにバス接続されたＣＰＵ、主記憶、補助記憶、送受信部、表示部、および入力部を備える任意のコンピュータとすることができる。
【００５３】
代替として、制御回路部１６２０は、オブジェクト操作装置として、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０内部に搭載されてもよい。ここでは、制御回路部１６２０は、オブジェクト操作装置の全部または一部の機能のみを実装することができる。一部のみを実装した場合には、残りの機能をヘッドマウント・ディスプレイ（ＨＭＤ）１６１０側、またはネットワークを通じたサーバ・コンピュータ（図示せず）側に実装してもよい。
【００５４】
システム１６００が備えるポジション・トラッキング・カメラ（位置センサ）１６３０は、制御回路部１６２０に通信可能に接続され、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０の位置追跡機能を有する。ポジション・トラッキング・カメラ（位置センサ）１６３０は、赤外線センサや複数の光学カメラを用いて実現される。ポジション・トラッキング・カメラ（位置センサ）１６３０を具備し、ユーザ頭部のヘッドマウント・ディスプレイ（ＨＭＤ）の位置を検知することによって、システム１６００は、３次元仮想空間における仮想カメラ／没入ユーザの仮想空間位置を正確に対応付け、特定することができる。
【００５５】
より具体的には、ポジション・トラッキング・カメラ（位置センサ）１６３０は、図１８に例示的に示すように、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０上に仮想的に設けられ、赤外線を検知する複数の検知点の実空間位置をユーザの動きに対応して経時的に検知する。そして、ポジション・トラッキング・カメラ（位置センサ）１６３０により検知された実空間位置の経時的変化に基づいて、ヘッドマウント・ディスプレイ（ＨＭＤ）１６１０の動きに応じた各軸回りの角度の時間変化を決定することができる。
【００５６】
再度、図１６に戻り、システム１６００は外部コントローラ１６４０を備える。外部コントローラ１６４０は、一般的なユーザ端末であり、図示のようなスマートフォンとすることができるが、これに限定されない。例えば、ＰＤＡ、タブレット型コンピュータ、ゲーム用コンソール、ノートＰＣのようなタッチ・ディスプレイを備える携帯型デバイス端末であれば如何なるデバイスにもすることができる。即ち、外部コントローラ１６４０は、互いにバス接続されたＣＰＵ、主記憶、補助記憶、送受信部、表示部、および入力部を備える任意の携帯型デバイス端末とすることができる。ユーザは、外部コントローラ１６４０のタッチ・ディスプレイに対し、タップ、スワイプおよびホールドを含む各種タッチ動作を実施可能である。
【００５７】
図１９のブロック図は、図１５で示したフローチャートに示した方法を実行するための制御回路部１６２０を中心にコンポーネントの主要機能の構成を示したものである。制御回路部１６２０では、主に、センサ１６１４／ポジション・トラッキング・カメラ（位置センサ）１６３０および外部コントローラ１６４０からの入力を受け、該入力を処理してディスプレイ１６１２への出力を行う。制御回路部１６２０は、主に、動き検知部１９１０、視野移動部１９２０および視野画像生成部１９３０、並びにポインタ制御部１９４０を含み、各種情報を処理する。
【００５８】
動き検知部１９１０では、センサ１６１４／ポジション・トラッキング・カメラ（位置センサ）１６３０からの動き情報の入力に基づいて、ユーザの頭部に装着されたヘッドマウント・ディスプレイ（ＨＭＤ）１６１０の動きデータを測定する。本発明では、特に、傾きセンサ１６１４により経時的に検知される角度情報、およびポジション・トラッキング・カメラ（位置センサ）１６３０により経時的に検知される位置情報を決定する。
【００５９】
視野移動部１９２０は、空間情報格納部１９５０に格納された３次元仮想空間情報、並びに傾きセンサ１６１４に検知される角度情報、および位置センサ１６３０に検知される位置情報に基づく仮想カメラの視野方向の検知情報に基づいて視野情報を求める。視野移動部１９２０に含まれる実視線移動部１９２２は、その視野情報に基づいて、３次元仮想空間における実際の視線、すなわち、直線ＡＣの移動を求める。なお、眼球の移動を検知したり、なんらかの補助的な入力を用いたりすることによって、実際の視線を移動させることができる場合には、これら、視野移動部１９２０、実視線移動部１９２２は、それも併せて処理することとなる。なお、この実視線移動部１９２２は、後で説明する仮視線移動部１９４６と併せ、視線移動ステップＳ１５０４に相当する処理を行うものであって、全体として視線移動部として扱うことができる。図１０〜１２を用いて説明した首を上下に振るなどして操作者の視線が上下方向に振られる場合の処理も、この視線移動部で行う。
【００６０】
視野画像生成部１９３０は、その視野情報と、ポインタ制御部１９４０から送られてくるポインタＰの位置に基づいて視野画像を生成するものであって、視野画像生成ステップＳ１５０３に対応する処理を行うものである。
【００６１】
ポインタ制御部１９４０は、図１５で示した制御の大半をつかさどる部分である。具体的には、ポインタ制御部１９４０は、初期視線算出部１９４２、ポインタ表示部１９４４、仮視線移動部１９４６を有している。
【００６２】
初期視線算出部１９４２は、実際の視線、すなわち、直線ＡＣと、仮の視線、すなわち、直線ＢＣの双方の初期値を設定するものであって、初期視線算出ステップＳ１５０１に対応する処理を行うものである。
【００６３】
ポインタ表示部１９４４は、仮の視線、すなわち、直線ＢＣと、オブジェクトＯの交点にポインタＰを置くものであって、ポインタ表示ステップＳ１５０２に対応する処理を行うものである。図１３，１４で示したような表示を行う場合には、このポインタ表示部１９４４がポインタＰをオブジェクトＯの表面に張り付いた形として変形して表示する。
【００６４】
仮視線移動部１９４６は、実際の視線、すなわち、直線ＡＣの移動に応じて、仮の視線、すなわち、直線ＢＣを移動させるものであり、先に説明した実視線移動部１９２２と併せ、視線移動ステップＳ１５０４に相当する処理を行うものであって、全体として視線移動部として扱うことができる。先に述べたように、図１０〜１２を用いて説明した首を上下に振るなどして操作者の視線が上下方向に振られる場合の処理も、この視線移動部で行う。
【００６５】
なお、図１９において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の集積回路で構成することができ、ソフトウェア的には、メモリにロードされた各種プログラムなどによって実現される。したがって、これらの機能ブロックがハードウェア、ソフトウェア、又はそれらの組み合わせによって実現できることが当業者に理解される。
【００６６】
以上、本発明の実施の形態について説明したが、本発明は上記実施形態に限定されるものではない。前述の請求項に記載されるこの発明の精神及び範囲から逸脱することなく、様々な実施形態の変更がなされ得ることを当業者は理解するであろう。
【符号の説明】
【００６７】
Ｓ１５０１         初期視線算出ステップ
Ｓ１５０２         ポインタ表示ステップ
Ｓ１５０３         視野画像生成ステップ
Ｓ１５０４         視線移動ステップ
１６００         システム
１６１０         ヘッドマウント・ディスプレイ（ＨＭＤ）
１６１２         ディスプレイ
１６１４         センサ
１６２０         制御回路部
１６３０         ポジション・トラッキング・カメラ（位置センサ）
１６４０         外部コントローラ
１９１０         動き検知部
１９２０         視野移動部
１９２２         実視線移動部
１９３０         視野画像生成部
１９４０         ポインタ制御部
１９４２         初期視線算出部
１９４４         ポインタ表示部
１９４６         仮視線移動部
１９５０         空間情報格納部
【図１】
2017004356.tif 000003
【図２】
2017004356.tif 000004
【図３】
2017004356.tif 000005
【図４】
2017004356.tif 000006
【図５】
2017004356.tif 000007
【図６】
2017004356.tif 000008
【図７】
2017004356.tif 000009
【図８】
2017004356.tif 000010
【図９】
2017004356.tif 000011
【図１０】
2017004356.tif 000012
【図１１】
2017004356.tif 000013
【図１２】
2017004356.tif 000014
【図１３】
2017004356.tif 000015
【図１４】
2017004356.tif 000016
【図１５】
2017004356.tif 000017
【図１６】
2017004356.tif 000018
【図１７】
2017004356.tif 000019
【図１８】
2017004356.tif 000020
【図１９】
2017004356.tif 000021
【手続補正書】
【提出日】平成27年12月8日(2015.12.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想空間中のポインタオブジェクトを視線の動きに連動させるように表示するコンピュータ実装方法であって、前記仮想空間には、対象オブジェクトが、ヘッドマウントディスプレイ（ＨＭＤ）の傾きに従って決定される前記視線の方向に配置されており、
前記視線と交差するように仮の視線を決定するステップと、
前記仮の視線が前記対象オブジェクトと交わる位置に前記ポインタオブジェクトを配置するステップと、
前記ポインタオブジェクトを含む仮想空間の視野画像を描画して前記ＨＭＤに表示するステップと
を含む、コンピュータ実装方法。
【請求項２】
前記視線が、前記仮想空間中に配置された視点からのものであり、
前記視線が前記視点から前記対象オブジェクトを見下ろす場合に、前記仮の視線が前記視点の上方からの視線となる、請求項１記載のコンピュータ実装方法。
【請求項３】
前記仮の視線を決定する前記ステップにおいて、前記仮想空間の水平方向における前記視線の向きが前記仮の視線の向きと同一となるように構成される、請求項１または２記載のコンピュータ実装方法。
【請求項４】
前記ポインタオブジェクトを配置する前記ステップにおいて、前記ポインタオブジェクトの所定の面を、前記位置における前記対象オブジェクトの表面に沿って配置する、請求項１から３のいずれか一項に記載のコンピュータ実装方法。
【請求項５】
請求項１から４のいずれか一項に記載のコンピュータ実装方法を実行するためのプログラム。
【請求項６】
請求項１から４のいずれか一項に記載のコンピュータ実装方法を実行するためのプログラムを記録した記録媒体。
【請求項７】
仮想空間中のポインタオブジェクトを視線の動きに連動させて表示するヘッドマウントディスプレイ（ＨＭＤ）システムであって、前記仮想空間には、対象オブジェクトが前記視線の方向に配置され、制御部によって実行されると、当該ＨＭＤシステムに、
前記視線をＨＭＤの傾きに従って決定させ、
前記視線と交差するように仮の視線を決定させ、
前記仮の視線が前記対象オブジェクトと交わる位置に前記ポインタオブジェクトを配置させ、
前記視線に基づいて、前記ポインタオブジェクトを含む仮想空間の視野画像を描画して前記ＨＭＤに表示させる
命令を格納する記憶部を備える、ＨＭＤシステム。
【請求項８】
前記視線が、前記仮想空間中に配置された視点からのものであり、
前記視線が前記視点から前記対象オブジェクトを見下ろす場合に、前記仮の視線が前記視点の上方からの視線となる、請求項７記載のＨＭＤシステム。
【請求項９】
前記仮想空間において、前記ポインタオブジェクトの所定の面が、前記位置における前記対象オブジェクトの表面に沿って配置される、請求項７または８記載のＨＭＤシステム。
【手続補正書】
【提出日】平成28年3月8日(2016.3.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想空間中のポインタオブジェクトを視線の動きに連動させるように表示するコンピュータ実装方法であって、前記仮想空間には、対象オブジェクトが、ヘッドマウントディスプレイ（ＨＭＤ）の傾きに従って決定される前記視線の方向に配置されており、
前記視線と交差するように仮の視線を決定するステップと、
前記仮の視線が前記対象オブジェクトと交わる位置に前記ポインタオブジェクトを配置するステップと、
前記視線に基づいて、前記ポインタオブジェクトを含む仮想空間の視野画像を描画して前記ＨＭＤに表示するステップと
を含む、コンピュータ実装方法。
【請求項２】
前記視線が、前記仮想空間中に配置された視点からのものであり、
前記視線が前記視点から前記対象オブジェクトを見下ろす場合に、前記仮の視線が前記視点の上方からの視線となる、請求項１記載のコンピュータ実装方法。
【請求項３】
前記仮の視線を決定する前記ステップにおいて、前記仮想空間の水平方向における前記視線の向きが前記仮の視線の向きと同一となるように構成される、請求項１または２記載のコンピュータ実装方法。
【請求項４】
前記ポインタオブジェクトを配置する前記ステップにおいて、前記ポインタオブジェクトの所定の面を、前記位置における前記対象オブジェクトの表面に沿って配置する、請求項１から３のいずれか一項に記載のコンピュータ実装方法。
【請求項５】
請求項１から４のいずれか一項に記載のコンピュータ実装方法を実行するためのプログラム。
【請求項６】
請求項１から４のいずれか一項に記載のコンピュータ実装方法を実行するためのプログラムを記録した記録媒体。
【請求項７】
仮想空間中のポインタオブジェクトを視線の動きに連動させて表示するヘッドマウントディスプレイ（ＨＭＤ）システムであって、前記仮想空間には、対象オブジェクトが前記視線の方向に配置され、制御部によって実行されると、当該ＨＭＤシステムに、
前記視線をＨＭＤの傾きに従って決定させ、
前記視線と交差するように仮の視線を決定させ、
前記仮の視線が前記対象オブジェクトと交わる位置に前記ポインタオブジェクトを配置させ、
前記視線に基づいて、前記ポインタオブジェクトを含む仮想空間の視野画像を描画して前記ＨＭＤに表示させる
命令を格納する記憶部を備える、ＨＭＤシステム。
【請求項８】
前記視線が、前記仮想空間中に配置された視点からのものであり、
前記視線が前記視点から前記対象オブジェクトを見下ろす場合に、前記仮の視線が前記視点の上方からの視線となる、請求項７記載のＨＭＤシステム。
【請求項９】
前記仮想空間において、前記ポインタオブジェクトの所定の面が、前記位置における前記対象オブジェクトの表面に沿って配置される、請求項７または８記載のＨＭＤシステム。
【手続補正書】
【提出日】平成28年7月22日(2016.7.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
３次元の仮想空間中のポインタオブジェクトを視線の動きに連動させるように表示するコンピュータ実装方法であって、前記仮想空間には、対象オブジェクトが、ヘッドマウントディスプレイ（ＨＭＤ）の傾きに従って決定される前記視線の方向に配置されており、
前記視線と交差するように仮の視線を決定するステップと、
前記仮の視線が前記対象オブジェクトと交わる位置に前記ポインタオブジェクトを配置するステップと、
前記視線に基づいて、前記ポインタオブジェクトを含む仮想空間の視野画像を描画して前記ＨＭＤに表示するステップと
を含む、コンピュータ実装方法。
【請求項２】
前記視線が、前記仮想空間中に配置された視点からのものであり、
前記視線が前記視点から前記対象オブジェクトを見下ろす場合に、前記仮の視線が前記視点の上方からの視線となる、請求項１記載のコンピュータ実装方法。
【請求項３】
前記仮の視線を決定する前記ステップにおいて、前記仮想空間の水平方向における前記視線の向きが前記仮の視線の向きと同一となるように構成される、請求項１または２記載のコンピュータ実装方法。
【請求項４】
前記ポインタオブジェクトを配置する前記ステップにおいて、前記ポインタオブジェクトの所定の面を、前記位置における前記対象オブジェクトの表面に沿って配置する、請求項１から３のいずれか一項に記載のコンピュータ実装方法。
【請求項５】
請求項１から４のいずれか一項に記載のコンピュータ実装方法を実行するためのプログラム。
【請求項６】
請求項１から４のいずれか一項に記載のコンピュータ実装方法を実行するためのプログラムを記録した記録媒体。
【請求項７】
３次元の仮想空間中のポインタオブジェクトを視線の動きに連動させて表示するヘッドマウントディスプレイ（ＨＭＤ）システムであって、前記仮想空間には、対象オブジェクトが前記視線の方向に配置され、制御部によって実行されると、当該ＨＭＤシステムに、
前記視線をＨＭＤの傾きに従って決定させ、
前記視線と交差するように仮の視線を決定させ、
前記仮の視線が前記対象オブジェクトと交わる位置に前記ポインタオブジェクトを配置させ、
前記視線に基づいて、前記ポインタオブジェクトを含む仮想空間の視野画像を描画して前記ＨＭＤに表示させる
命令を格納する記憶部を備える、ＨＭＤシステム。
【請求項８】
前記視線が、前記仮想空間中に配置された視点からのものであり、
前記視線が前記視点から前記対象オブジェクトを見下ろす場合に、前記仮の視線が前記視点の上方からの視線となる、請求項７記載のＨＭＤシステム。
【請求項９】
前記仮想空間において、前記ポインタオブジェクトの所定の面が、前記位置における前記対象オブジェクトの表面に沿って配置される、請求項７または８記載のＨＭＤシステム。