(57)【要約】【課題】３次元空間画像上で、ユーザの特定部位の可動範囲外においてもオブジェクトの操作を簡単に行うことができるようにする。【解決手段】ユーザの手の可動範囲に対応する３次元空間画像上の３次元範囲内の位置に第１の領域を設定する第１の領域設定部１５と、ユーザによる操作に基づいて調整された３次元空間画像上の３次元位置に第２の領域を設定する第２の領域設定部１６と、第１の領域内における３次元位置を第２の領域内における３次元位置に置換する位置情報置換部１７とを備え、ユーザが第１の領域に対して操作を行っときに、第２の領域に対して操作を行ったものとして処理するようにすることにより、ユーザの手の可動範囲外の３次元位置に第２の領域を設定しておくことで、ユーザが歩いて移動する操作を行うことなく、ユーザの手の可動範囲外においてオブジェクトの操作を行うことができるようにする。【選択図】図２
2018036942.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間画像内におけるユーザによる操作を制御するための３次元ユーザインタフェース装置であって、
上記ユーザの特定部位の可動範囲に対応する３次元空間画像上の３次元範囲内の３次元位置に、第１の領域を設定する第１の領域設定部と、
上記３次元空間画像上において、上記ユーザによる操作に基づいて調整された３次元位置に、第２の領域を設定する第２の領域設定部と、
上記第１の領域設定部により設定された上記第１の領域における３次元位置を、上記第２の領域設定部により設定された上記第２の領域における３次元位置に置換する位置情報置換部とを備えたことを特徴とする３次元ユーザインタフェース装置。
【請求項２】
上記第１の領域設定部は、上記ユーザによる操作に基づいて、上記第１の領域を設定することを特徴とする請求項１に記載の３次元ユーザインタフェース装置。
【請求項３】
上記第２の領域設定部は、上記３次元空間画像上に表示された操作子に対する上記ユーザによる操作に基づいて、上記第２の領域の設定位置を調整することを特徴とする請求項１または２に記載の３次元ユーザインタフェース装置。
【請求項４】
上記ユーザの特定部位の動きを検出する３次元検出装置から３次元情報を取得する３次元情報取得部と、
上記３次元情報取得部により取得される上記３次元情報を用いて、上記ユーザの特定部位に関する３次元空間画像上の３次元位置を算出する特定部位位置算出部とを更に備え、
上記位置情報置換部は、上記特定部位位置算出部により算出された上記特定部位に関する３次元空間画像上の３次元位置が、上記第１の領域設定部により設定された上記第１の領域内であった場合、上記特定部位に関する３次元空間画像上の３次元位置を、上記第２の領域設定部により設定された上記第２の領域における３次元位置に置換することを特徴とする請求項１〜３の何れか１項に記載の３次元ユーザインタフェース装置。
【請求項５】
ユーザの特定部位の動きを検出する３次元検出装置から３次元情報を取得する３次元情報取得手段、
上記３次元情報取得手段により取得される上記３次元情報を用いて、上記ユーザの特定部位に関する３次元空間画像上の３次元位置を算出する特定部位位置算出手段、
上記ユーザの特定部位の可動範囲に対応する上記３次元空間画像上の３次元範囲内の３次元位置に、第１の領域を設定する第１の領域設定手段、
上記３次元空間画像上において、上記ユーザによる操作に基づいて調整された３次元位置に、第２の領域を設定する第２の領域設定手段、および
上記第１の領域設定手段により設定された上記第１の領域における３次元位置を、上記第２の領域設定手段により設定された上記第２の領域における３次元位置に置換する位置情報置換手段
としてコンピュータを機能させるための３次元操作用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元ユーザインタフェース装置および３次元操作用プログラムに関し、特に、３次元空間画像内でオブジェクトを操作するためのユーザインタフェース技術に関するものである。
【背景技術】
【０００２】
従来、仮想現実の３次元空間画像内でオブジェクトを操作するためのユーザインタフェース技術が種々提供されている（例えば、特許文献１〜５参照）。特許文献１には、３次元仮想現実空間画像上にポインタを表示し、このポインタを３次元仮想現実空間画像の中に表示されているオブジェクトの何れかに重ね合わせることにより、所望のオブジェクトを指定することが記載されている。
【０００３】
また、特許文献２には、仮想３次元空間とは別に仮想オブジェクトを表示し、仮想オブジェクトを基準とした所定３次元範囲内に対象者の特定部位が存在しているか否かを判定し、その判定結果に応じて、仮想３次元空間に対して所定処理を実行させるか否かを決定することが記載されている。また、特許文献３には、所定の操作を契機に、選択操作に対するオブジェクトの反応領域またはポインティングカーソルのセンス範囲を変更することが記載されている。
【０００４】
また、特許文献４，５には、一部のオブジェクトが他のオブジェクトの陰に隠れて選択できない場合の操作方法が開示されている。例えば、特許文献４には、仮想空間上に複数の３次元オブジェクトを配置編集する場合、上面図で選択したオブジェクトを正面図で最前面に表示することが記載されている。また、特許文献５には、画面上におけるオブジェクトの選択操作イベントに対して選択候補となるオブジェクトを抽出し、抽出された選択候補オブジェクトの中から特定の１つまたは複数のオブジェクトを自動選択することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−１５４０５３号公報
【特許文献２】特許第５９３６１５５号公報
【特許文献３】特開２００３−５８７８号公報
【特許文献４】特開平９−３０５７９７号公報
【特許文献５】特開２００３−６６７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仮想現実に関する従来のユーザインタフェース技術では、ユーザの手の動きをグローブやコントローラ等の３次元検出装置により検出し、検出した手の動きに応じて、３次元空間画像上にあるオブジェクトを操作する場合、実際に手を動かすことができる範囲内でしかオブジェクトを操作することができない。例えば、手を動かすことのできる範囲が１ｍであれば、３次元空間画像上でも現在位置から１ｍの範囲内でしかオブジェクトを操作することができない。
【０００７】
ここで、ユーザの足にも３次元検出装置を装着しておき、ユーザが実際に歩く動作をすることにより、３次元空間画像上の現在位置を移動させれば、移動前に手の動きの範囲外にあった位置においてもオブジェクトを操作することが可能となる。しかしながら、数ｍ程度の移動であればまだよいが、遠方の位置においてオブジェクトを操作したい場合には移動距離が長くなり、現実的なユーザインタフェースとは言えない。すなわち、遠方の所望位置にオブジェクトを設定したり、遠方にあるオブジェクトに何らかの編集をしたりする操作に多大な手間がかかり、非常に不便であるという問題があった。
【０００８】
本発明は、このような問題を解決するために成されたものであり、３次元空間画像上で、ユーザの特定部位の可動範囲外においてもオブジェクトの操作を簡単に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記した課題を解決するために、本発明では、ユーザの特定部位の可動範囲に対応する３次元空間画像上の３次元範囲内の３次元位置に第１の領域を設定するとともに、ユーザによる操作に基づいて調整された３次元空間画像上の３次元位置に第２の領域を設定し、第１の領域における３次元位置を第２の領域における３次元位置に置換するようにしている。
【発明の効果】
【００１０】
上記のように構成した本発明によれば、ユーザが第１の領域に対して操作を行うと、第２の領域に対して操作を行ったものとして処理されることとなる。そのため、ユーザの特定部位の可動範囲外に対応する３次元空間画像上の３次元位置に第２の領域を設定しておけば、当該可動範囲外においてオブジェクトの操作を行ったものとすることが可能となる。これにより、ユーザが現在位置から移動するための操作を行うことなく、ユーザの特定部位の可動範囲外においてオブジェクトの操作を簡単に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態による３次元ユーザインタフェース装置を備えたコンピュータシステムの構成例を示す図である。
【図２】本実施形態による３次元ユーザインタフェース装置の機能構成例を示すブロック図である。
【図３】本実施形態の表示制御部によってＨＭＤに表示される画面の一例を示す図である。
【図４】本実施形態の位置情報置換部による処理の内容を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態による３次元ユーザインタフェース装置を備えたコンピュータシステムの構成例を示す図である。図１に示すように、本実施形態のコンピュータシステムは、コンピュータ１００、コントローラ２００およびＨＭＤ３００を備えて構成されている。
【００１３】
コンピュータ１００は、例えばパーソナルコンピュータにより構成され、再生装置１１０および本実施形態の３次元ユーザインタフェース装置（以下、３次元ＵＩ装置と記す）１２０を備えている。再生装置１１０は、３次元空間画像を再生する。３次元空間画像は、仮想現実の３次元空間を作るための視差画像であり、再生装置１１０により再生された３次元空間画像は、ユーザが装着したＨＭＤ３００に表示される。
【００１４】
この３次元空間画像が表示されるＨＭＤ３００には、ジャイロセンサや加速度センサが搭載されており、ユーザの頭の動きを検出することが可能となっている。そして、再生装置１１０は、ＨＭＤ３００のセンサにより検出されたユーザの頭の動きに応じて、ＨＭＤ３００の表示上に実現される３次元空間が動的に変わるように、３次元空間画像の再生を制御する。
【００１５】
すなわち、ユーザが正面を向くと、そのことがＨＭＤ３００のセンサにより検出され、再生装置１１０は、正面の３次元空間が広がるような３次元空間画像を再生する。ユーザが右の方に頭をｘ１度向けると、そのことがＨＭＤ３００のセンサにより検出され、再生装置１１０は、右側にｘ１度移動した３次元空間が広がるような３次元空間画像を再生する。また、ユーザが左の方に頭をｘ２度向けると、そのことがＨＭＤ３００のセンサにより検出され、再生装置１１０は、左側にｘ２度移動した３次元空間が広がるような３次元空間画像を再生する。
【００１６】
なお、表示する３次元空間画像は、経時的に内容が変化する動画像であってもよいし、経時的に内容が変化しない静止画像であってもよい。また、３次元空間画像は、動画像の１コマを構成するフレーム画像であってもよい。本実施形態では、これらの３次元空間画像内の任意の位置のオブジェクトを設定したり、３次元空間画像内に設定済みの任意のオブジェクトを指定して編集したりすることを可能にするものである。
【００１７】
３次元ＵＩ装置１２０は、再生装置１１０により再生される３次元空間画像内におけるユーザによる操作を制御する。ユーザによる操作は、コントローラ２００を通じて行われる。コントローラ２００は、ユーザの特定部位の動きを検出する３次元検出装置の一例である。本実施形態では、コントローラ２００はユーザが手に持って使用するものであり、ユーザの特定部位として手の動きを検出可能に構成されている。具体的には、コントローラ２００は、ジャイロセンサや加速度センサを搭載しており、これによってユーザの手の動きを検出することが可能となっている。
【００１８】
また、コントローラ２００は、操作ボタンも備えている。この操作ボタンは、例えば、３次元空間画像内のオブジェクトを把持するために使用される。すなわち、コントローラ２００を持った手を現実空間上で移動させることにより、３次元空間画像上に表示されるポインタの位置を移動させる。そして、３次元空間画像内にあるオブジェクトにポインタを合わせた状態で操作ボタンを押下することにより、オブジェクトを把持することが可能である。
【００１９】
コントローラ２００の操作ボタンを押下している間はオブジェクトを把持し続け、押下を止めると把持状態が解除される。これにより、操作ボタンを押下したままコントローラ２００を移動させることにより、その動きに合わせて３次元空間画像上でオブジェクトを移動させることが可能であり、任意の位置にオブジェクトを設定することができる。詳細は後述するが、本実施形態では、ユーザの手が届く可動範囲を超える３次元空間画像上の位置（例えば、現在位置から遠方の３次元位置）に対しても、オブジェクトを設定することが可能である。
【００２０】
また、コントローラ２００の操作ボタンは、３次元空間画像内のオブジェクトを編集するためにも使用される。そのための操作ボタンは、上記したオブジェクト把持用の操作ボタンとは別のものであってもよい。ここで、実施可能なオブジェクトの編集の内容は、任意に定めることが可能である。例えば、オブジェクトを変形させる操作や、オブジェクトのプロパティを開いて編集する操作などが一例として挙げられる。
【００２１】
図２は、本実施形態による３次元ＵＩ装置１２０の機能構成例を示すブロック図である。図２に示すように、本実施形態の３次元ＵＩ装置１２０は、その機能構成として、表示制御部１１、操作受付部１２、３次元情報取得部１３、特定部位位置算出部１４、第１の領域設定部１５、第２の領域設定部１６、位置情報置換部１７および操作実行部１８を備えて構成されている。
【００２２】
上記各機能ブロック１１〜１８は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック１１〜１８は、実際にはＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶された３次元操作用プログラムが動作することによって実現される。
【００２３】
表示制御部１１は、再生装置１１０により再生されてＨＭＤ３００に表示される３次元空間画像内に、ユーザインタフェースに関する各種の情報を重畳して表示させる制御を行う。例えば、表示制御部１１は、アイコン等のオブジェクトを３次元空間画像に重畳して表示させる。また、表示制御部１１は、オブジェクトを操作する際に用いるポインタ（３次元空間画像内にあるユーザの仮想の手に相当）や操作バーを３次元空間画像に重畳して表示させる。さらに、表示制御部１１は、ユーザの仮想の手の可動範囲外の位置でオブジェクトを操作する際に用いる所定の領域枠を３次元空間画像に重畳して表示させる。
【００２４】
操作受付部１２は、コントローラ２００を通じて行われるユーザの操作を受け付ける。ここでいうユーザの操作とは、コントローラ２００を現実空間上で移動させる操作、コントローラ２００の操作ボタンを押下する操作を含む。すなわち、操作受付部１２は、コントローラ２００を移動させたときにジャイロゼンサや角速度センサにより検出される、ユーザの手の動きを表す３次元情報を受け付ける。また、操作受付部１２は、操作ボタンの押下情報を受け付ける。
【００２５】
３次元情報取得部１３は、ユーザの手の動きを検出するコントローラ２００から操作受付部１２を通じて上述の３次元情報を取得する。特定部位位置算出部１４は、３次元情報取得部１３により取得される３次元情報を用いて、ユーザの手の動きに関する３次元空間画像上の３次元位置を算出する。すなわち、特定部位位置算出部１４は、現実空間上でユーザがコントローラ２００を所持した手を移動させたときに、その手の位置に対応する３次元空間画像上における仮想の手の３次元位置を算出する。なお、これについては公知の技術を適用することが可能である。
【００２６】
第１の領域設定部１５は、ユーザによるコントローラ２００に対する操作に基づいて、ユーザの手の可動範囲に対応する３次元空間画像上の３次元範囲内の３次元位置に、第１の領域を設定する。すなわち、第１の領域設定部１５は、コントローラ２００に対する操作ボタンの操作を操作受付部１２が受け付けたときに、３次元空間画像上に第１の領域を設定する。例えば、３次元空間画像に表示された領域設定用アイコンにポインタを合わせた状態で、ユーザがコントローラ２００の操作ボタンを押下すると、第１の領域設定部１５が３次元空間画像上に第１の領域を設定する。
【００２７】
ここで、第１の領域設定部１５が第１の領域を設定する３次元空間画像上の３次元位置は、ユーザの手を実際に動かすことができる可動範囲に対応する３次元空間画像上の可動範囲内の所定位置である。例えば、ユーザの手の可動範囲が半径１ｍの範囲であるとした場合、第１の領域設定部１５は、３次元空間画像上の現在位置から半径１ｍの範囲内の所定位置に、第１の領域を設定する。したがって、この第１の領域は、コントローラ２００の移動によって仮想の手が届く範囲内に設定される。
【００２８】
第１の領域は、所定の形状および所定の大きさにて設定される。例えば、第１の領域は、半径が１ｍの円形とする。なお、第１の領域に奥行はなく、平面状の領域である。第１の領域設定部１５は、例えば、３次元空間画像の奥行方向に対して第１の領域の平面が垂直となるように、第１の領域を設定する。
【００２９】
上述したように、表示制御部１１は、第１の領域設定部１５により設定された第１の領域を表す所定の領域枠を３次元空間画像に重畳して表示させる。なお、ユーザがコントローラ２００の操作ボタンを押下したときには、第１の領域が３次元空間画像上の所定位置に設定され、その所定位置に第１の領域の領域枠が表示される。その後、この領域枠にポインタを合わせて把持する操作を行い、コントローラ２００を移動させることにより、仮想の手の可動範囲内で領域枠を移動させることを可能にしてもよい。
【００３０】
第２の領域設定部１６は、３次元空間画像上において、ユーザによるコントローラ２００に対する操作に基づいて調整された３次元位置に、第２の領域を設定する。第２の領域設定部１６も、コントローラ２００に対する操作ボタンの操作を操作受付部１２が受け付けたときに、３次元空間画像上に第２の領域を設定する。すなわち、第２の領域設定部１６は、第１の領域設定部１５が第１の領域を設定するのと同時に、第２の領域を３次元空間画像上に設定する。第２の領域は、例えば、第１の領域と同形同大のものとして設定する。この第２の領域も奥行はなく、平面状の領域である。
【００３１】
ここで、第２の領域設定部１６が第２の領域を設定する３次元空間画像上の３次元位置は、３次元空間画像上の任意の３次元位置である。すなわち、ユーザの仮想の手を動かすことができる可動範囲内に限らず、当該可動範囲外の３次元位置にも第２の領域を設定することが可能である。また、第２の領域の設定位置は、ユーザによるコントローラ２００に対する操作に応じて任意に調整することが可能である。例えば、第２の領域設定部１６は、３次元空間画像上に表示された操作バー（操作子の一例）に対するユーザによる操作に基づいて、第２の領域の設定位置を調整する。
【００３２】
上述したように、表示制御部１１は、第２の領域設定部１６により設定された第２の領域を表す所定の領域枠を３次元空間画像に重畳して表示させる。なお、ユーザがコントローラ２００の操作ボタンを押下したときには、第２の領域が３次元空間画像上の所定位置に設定され、その所定位置に第２の領域の領域枠が表示される。その後、３次元空間画像上に表示された操作バーに対する操作により、３次元空間画像上の任意の３次元位置に第２の領域が移動されると、その設定位置の移動に合わせて領域枠も移動して表示される。
【００３３】
位置情報置換部１７は、第１の領域設定部１５により設定された第１の領域における３次元位置を、第２の領域設定部１６により設定された第２の領域における３次元位置に置換する。特に、本実施形態では、位置情報置換部１７は、第１の領域における奥行方向の３次元位置（現在位置からの距離）を、第２の領域における奥行方向の３次元位置に置換する。
【００３４】
例えば、３次元空間画像上で現在位置から５０ｃｍ前方の位置に第１の領域を設定するとともに、現在位置から１０ｍ前方の位置に第２の領域を設定したとする。この場合、位置情報置換部１７は、第１の領域内においては、現在位置から５０ｃｍ３次元位置を、現在位置から１０ｍの３次元位置に置換する。
【００３５】
すなわち、位置情報置換部１７は、特定部位位置算出部１４により算出されたユーザの手に関する３次元空間画像上の３次元位置（仮想の手の３次元位置）が、第１の領域設定部１５により設定された第１の領域内であった場合、仮想の手の３次元位置を、第２の領域設定部１６により設定された第２の領域における３次元位置に置換する。
【００３６】
これにより、ユーザが手に持ったコントローラ２００を操作して、第１の領域内に仮想の手を入れると、その仮想の手は第２の領域内に入れられたものとして扱われるようになる。一方、第１の領域の外に仮想の手がある場合は、特定部位位置算出部１４により算出された３次元位置そのものに仮想の手があるものとして扱われる。
【００３７】
なお、仮想の手については、これを３次元空間画像上に重畳して表示させてもよいし、表示させなくてもよい。仮想の手を３次元空間画像上に表示させない場合、特定部位位置算出部１４により算出された仮想の手の３次元位置が第１の領域内であった場合に、第１の領域内をハイライト表示させるとか、領域枠を強調表示させるなどすることにより、仮想の手が第１の領域内に入っていることが分かるようにするとよい。
【００３８】
操作実行部１８は、特定部位位置算出部１４により算出された３次元空間画像上の３次元位置、または、位置情報置換部１７により置換された３次元空間画像上の３次元位置に対して、操作受付部１２が受け付けたコントローラ２００に対する操作に応じた処理を実行する。例えば、上記何れかの３次元位置に対してオブジェクトを設定したり、上記何れかの３次元位置にあるオブジェクトに対して編集をしたりする処理を実行する。
【００３９】
図３は、表示制御部１１によってＨＭＤ３００に表示される画面の一例を示す図である。図３に示すように、ＨＭＤ３００の画面には、再生装置１１０により再生された３次元空間画像３０が表示されている。また、ＨＭＤ３００の画面には、第１の領域設定部１５により設定された第１の領域を表す領域枠（以下、第１の領域枠という）３１、第２の領域設定部１６により設定された第２の領域を表す領域枠（以下、第２の領域枠という）３２、第２の領域の設定位置を調整するための操作に使用する操作バー３３が３次元空間画像３０に重畳して表示されている。
【００４０】
第１の領域枠３１は、３次元空間画像３０内でユーザが存在する現在位置（画面最下部の位置）から、ユーザの仮想の手が届く可動範囲内の３次元位置に表示されている。なお、図３の例では、円形をした第１の領域の上半分を示す半円の領域枠を表示しているが、第１の領域の全体を示す円形の領域枠を表示するようにしてもよい。
【００４１】
一方、第２の領域枠３２は、ユーザの仮想の手が届く可動範囲内に限らず、当該可動範囲外も含めて、ユーザが指定した任意の３次元位置に表示されている。操作バー３３は、第１の領域枠３１の近傍に表示されている。これにより、操作バー３３にはユーザの仮想の手が届くため、コントローラ２００の操作を通じて操作バー３３を操作することが可能である。
【００４２】
操作バー３３は、第２の領域を設定する左右の方向と前後の距離とを調整するためのものである。例えば、操作バー３３を把持して左右に移動（または回転）させることにより、それに連動して第２の領域を左右に移動させることが可能である。図３（ａ）は正面方向に操作バー３３がある状態を示しており、そのため第２の領域枠３２も正面方向に表示されている。これに対し、図３（ｂ）は、操作バー３３を少し右側に移動させた状態を示しており、そのため第２の領域枠３２も正面から少し右側に移動した位置に表示されている。
【００４３】
また、操作バー３３は、距離設定ボタン３３ａを含んでいる。この距離設定ボタン３３ａは、ポインタを合わせて把持した状態で、操作バー３３の左端と右端との間をスライド操作することが可能に成されている。操作バー３３の左端に近い位置に距離設定ボタン３３ａがあるほど、現在位置からの距離が短いことを示す。一方、操作バー３３の右端に近い位置に距離設定ボタン３３ａがあるほど、現在位置からの距離が長いことを示す。
【００４４】
図３（ａ）は、現在位置から２ｍの位置に第２の領域を設定したことを示している。そのため、３次元空間画像３０の現在位置から２ｍ前方の３次元位置に第２の領域枠３２が表示されている。また、図３（ｂ）は、現在位置から１０ｍの位置に第２の領域を設定したことを示している。そのため、３次元空間画像３０の現在位置から１０ｍ前方の３次元位置に第２の領域枠３２が表示されている。図３（ｂ）では、図３（ａ）に比べて現在位置から遠い位置に第２の領域が設定されているので、その距離差に応じて奥行き感が出るように、第２の領域枠３２が小さく表示されている。
【００４５】
なお、図３では、ＨＭＤ３００を装着したユーザが頭を動かすことなく、コントローラ２００を操作したときの状態を示している。そのため、図３（ａ）、（ｂ）の何れにおいても、３次元空間画像３０の表示状態は変わっていない。これに対し、ユーザが頭を動かすと、それに連動して３次元空間画像３０も変化する。従って、図３に示した画面の外側の位置に第２の領域を設定したいときは、頭を動かして３次元空間画像３０を変化させ、その上でコントローラ２００を操作すればよい。
【００４６】
図４は、位置情報置換部１７による処理の内容を説明するための図である。図４は、３次元空間画像３０により表される３次元空間を模式的に示したものであり、この３次元空間の最下部が、仮想のユーザ４０が存在する現在位置に設定されている。この図４の例では、ユーザ４０の現在位置から５０ｃｍ前方の３次元位置に第１の領域４１が設定されるとともに、現在位置から１０ｍ前方の３次元位置に第２の領域４２が設定されている。第１の領域４１の設定位置は、ユーザの仮想の手４０ａが届く可動範囲内の位置である。
【００４７】
上述したように、位置情報置換部１７は、特定部位位置算出部１４により算出された仮想の手４０ａの３次元位置が第１の領域４１内であった場合、現在位置から５０ｃｍの３次元位置を、現在位置から１０ｍの３次元位置に置換する。このため、図４に示すように、第１の領域４１内に仮想の手４０ａを入れて現在位置から８０ｃｍ前方の３次元位置、すなわち、第１の領域４１から３０ｃｍ前方の３次元位置にオブジェクト４５を設定するような操作を行うと、５０ｃｍの３次元位置が置換された１０ｍ先の第２の領域４２から３０ｃｍ前方の３次元位置にオブジェクト４５が設定されるようになる。
【００４８】
以上詳しく説明したように、本実施形態では、コントローラ２００を所持したユーザの手の可動範囲に対応する３次元空間画像上の３次元範囲内の３次元位置に第１の領域を設定するとともに、ユーザによるコントローラ２００に対する操作に基づいて調整された３次元空間画像上の３次元位置に第２の領域を設定し、第１の領域における３次元位置を第２の領域における３次元位置に置換するようにしている。
【００４９】
このように構成した本実施形態によれば、ユーザが第１の領域に対して操作を行うと、第２の領域に対して操作を行ったものとして処理されることとなる。そのため、ユーザの手の可動範囲外に対応する３次元空間画像上の３次元位置に第２の領域を設定しておけば、当該可動範囲外においてオブジェクトの操作を行ったものとすることが可能となる。これにより、ユーザが現在位置から移動するための操作を行うことなく、ユーザの特定部位の可動範囲外においてオブジェクトの操作を簡単に行うことができる。
【００５０】
なお、上記実施形態では、ユーザの特定部位の動きを検出する３次元検出装置として、ユーザが手に持って使用するコントローラ２００を例に挙げて説明したが、本発明はこれに限定されない。例えば、ユーザが手に嵌めて使用するグローブであってもよい。あるいは、ユーザが足に嵌めて使用するコントローラであってもよい。この場合、コントローラは、ユーザの特定部位として足の動きを検出する。
【００５１】
また、上記実施形態では、ユーザによるコントローラ２００の操作に基づいて第１の領域を設定する例について説明したが、本発明はこれに限定されない。例えば、ＨＭＤ３００に表示されている３次元空間画像の範囲内において、仮想の手が届かない位置にオブジェクトが存在する場合は、第１の領域を自動的に設定するようにしてもよい。この場合、そのオブジェクトが存在する３次元位置に第２の領域を自動的に設定するようにしてもよい。
【００５２】
また、上記実施形態では、３次元空間画像上に表示された操作バー３３に対する操作に基づいて、第２の領域の設定位置を調整する例について説明したが、本発明はこれに限定されない。例えば、コントローラ２００に設けた操作ボタンの操作に基づいて第２の領域の設定位置を調整するようにしてもよい。あるいは、第１の領域枠３１に対する操作に基づいて、第２の領域の設定位置を調整するようにしてもよい。
【００５３】
第１の領域枠３１を操作子として用いる一例として、次のようにすることが可能である。すなわち、第１の領域枠３１を把持して左右に移動させることにより、その動きに連動させて第２の領域を左右に移動させるようにする。また、第１の領域枠３１に距離設定ボタン３３ａを表示させ、この距離設定ボタン３３ａを把持してスライド操作することにより、第２の領域の現在位置からの距離を調整するようにする。
【００５４】
また、上記実施形態では、第１の領域および第２の領域を設定しても、３次元空間画像の表示状態が変わらない例について説明したが、本発明はこれに限定されない。例えば、第１の領域枠内について３次元空間画像の表示を変えるようにしてもよい。具体的には、図４のように現在位置から５０ｃｍ前方に第１の領域４１を設定した場合、第２の領域４２の後方５０ｃｍの位置にユーザがいると仮定して、その仮定位置から第２の領域４２の方向を見た場合の３次元空間画像を第１の領域枠３１に表示させる。このようにすれば、第２の領域４２から前方の３次元空間画像が拡大して第１の領域枠３１に表示されるので、その拡大画像を参照しながらオブジェクトの操作を行うことができ、便利である。
【００５５】
また、上記実施形態では、仮想現実の３次元空間画像上に第１の領域および第２の領域を設定して３次元位置の置換を行う例について説明したが、本発明はこれに限定されない。例えば、拡張現実の３次元空間画像上に第１の領域および第２の領域を設定して３次元位置の置換を行うようにしてもよい。
【００５６】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５７】
１１  表示制御部
１２  操作受付部
１３  ３次元情報取得部
１４  特定部位位置算出部
１５  第１の領域設定部
１６  第２の領域設定部
１７  位置情報置換部
１８  操作実行部
３１  第１の領域枠
３２  第２の領域枠
３３  操作バー
３３ａ  距離設定ボタン
４１  第１の領域
４２  第２の領域
１２０  ３次元ＵＩ装置
２００  コントローラ
３００  ＨＭＤ
【図１】
2018036942.tif 000003
【図２】
2018036942.tif 000004
【図３】
2018036942.tif 000005
【図４】
2018036942.tif 000006