(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025062768
(43)【公開日】2025-04-15
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06F 3/04815 20220101AFI20250408BHJP
G06F 3/01 20060101ALI20250408BHJP
G06T 19/00 20110101ALI20250408BHJP
【FI】
G06F3/04815
G06F3/01 510
G06T19/00 300B
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2023172005
(22)【出願日】2023-10-03
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】郷司 和則
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050BA09
5B050DA01
5B050EA07
5B050EA19
5B050EA27
5B050FA02
5B050FA16
5B050FA17
5E555AA06
5E555AA27
5E555AA63
5E555AA76
5E555BA01
5E555BA04
5E555BB01
5E555BB04
5E555BC04
5E555BC08
5E555BE17
5E555CA17
5E555CA42
5E555CA44
5E555CB20
5E555CB21
5E555CB42
5E555CB65
5E555CC03
5E555DA08
5E555DA09
5E555DB06
5E555DB11
5E555DB56
5E555DB57
5E555DC09
5E555DC77
5E555DC90
5E555DD02
5E555EA07
5E555EA08
5E555EA11
5E555EA14
5E555EA22
5E555FA00
(57)【要約】
【課題】ユーザの姿勢情報に基づき仮想空間内でユーザの操作が可能な情報処理装置において、ユーザの操作に係る負担を軽減する。
【解決手段】仮想空間を見るユーザの視線に基づいて、仮想空間内の領域を設定する第1設定手段と、ユーザの姿勢に基づいて、仮想空間内の位置を設定する第2設定手段と、を有し、第2設定手段は、第1設定手段によって領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理装置。
【選択図】
図2
【特許請求の範囲】
【請求項1】
仮想空間を見るユーザの視線に基づいて、前記仮想空間内の領域を設定する第1設定手段と、
前記ユーザの姿勢に基づいて、前記仮想空間内の位置を設定する第2設定手段と、
を有し、
前記第2設定手段は、前記第1設定手段によって前記領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理装置。
【請求項2】
前記ユーザの視線に基づいて前記仮想空間に配置されたオブジェクトを選択する選択手段を有し、
前記第1設定手段は、前記オブジェクトの情報に基づいて、前記領域を設定する請求項1に記載の情報処理装置。
【請求項3】
前記第1設定手段は、前記オブジェクトの形状情報に基づいて前記領域を設定する請求項2に記載の情報処理装置。
【請求項4】
前記第1設定手段によって前記領域が設定された後には、前記仮想空間内にユーザの視線の位置を示す情報を表示しない請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第1設定手段によって前記領域が設定された後、ユーザの視線が前記領域の外に出た場合、前記仮想空間内にユーザの視線の位置を示す情報を再度、表示する請求項4に記載の情報処理装置。
【請求項6】
前記第1設定手段によって前記領域が設定された後、ユーザの視線が前記領域の外に出た場合、その旨をユーザに報知する請求項1~3のいずれか1項に記載の情報処理装置。
【請求項7】
前記第1設定手段によって前記領域が設定された後、ユーザの姿勢に基づいて指定される前記仮想空間内の位置が前記領域の外に出た場合、その旨をユーザに報知する請求項1~3のいずれか1項に記載の情報処理装置。
【請求項8】
前記第1設定手段によって前記領域が設定された後、ユーザの姿勢に基づいて指定される前記仮想空間内の位置が前記領域の外にあり、かつ、ユーザの視線が前記領域の外にある状態が所定時間継続した場合、前記第1設定手段は、前記領域の設定を解除する請求項1~3のいずれか1項に記載の情報処理装置。
【請求項9】
仮想空間を見るユーザの姿勢に基づいて前記仮想空間内の位置を設定する第2設定手段と、
前記第2設定手段によって設定された位置に基づいて、前記仮想空間に配置されたオブジェクトを選択する選択手段と、
前記オブジェクトの情報に基づいて、前記仮想空間内の領域を設定する第3設定手段と、
を有し、
前記第2設定手段は、前記第3設定手段によって前記領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理装置。
【請求項10】
前記第3設定手段は、前記オブジェクトの形状情報に基づいて前記領域を設定する請求項9に記載の情報処理装置。
【請求項11】
前記第3設定手段によって前記領域が設定された後には、前記仮想空間内にユーザの視
線の位置を示す情報を表示しない請求項9又は10に記載の情報処理装置。
【請求項12】
前記第3設定手段によって前記領域が設定された後、ユーザの視線が前記領域の外に出た場合、前記仮想空間内にユーザの視線の位置を示す情報を再度、表示する請求項11に記載の情報処理装置。
【請求項13】
前記第3設定手段によって前記領域が設定された後、ユーザの視線が前記領域の外に出た場合、その旨をユーザに報知する請求項9又は10に記載の情報処理装置。
【請求項14】
前記第3設定手段によって前記領域が設定された後、ユーザの姿勢に基づいて指定される前記仮想空間内の位置が前記領域の外に出た場合、その旨をユーザに報知する請求項9又は10に記載の情報処理装置。
【請求項15】
前記第3設定手段によって前記領域が設定された後、ユーザの姿勢に基づいて指定される前記仮想空間内の位置が前記領域の外にあり、かつ、ユーザの視線が前記領域の外にある状態が所定時間継続した場合、前記第3設定手段は、前記領域の設定を解除する請求項9又は10に記載の情報処理装置。
【請求項16】
仮想空間を見るユーザの視線に基づいて、前記仮想空間内の領域を設定する第1設定工程と、
前記ユーザの姿勢に基づいて、前記仮想空間内の位置を設定する第2設定工程と、
を有し、
前記第2設定工程では、前記第1設定工程において前記領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理方法。
【請求項17】
仮想空間を見るユーザの姿勢に基づいて前記仮想空間内の位置を設定する第2設定工程と、
前記第2設定工程において設定された位置に基づいて、前記仮想空間に配置されたオブジェクトを選択する選択工程と、
前記オブジェクトの情報に基づいて、前記仮想空間内の領域を設定する第3設定工程と、
を有し、
前記第2設定工程では、前記第3設定工程において前記領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理方法。
【請求項18】
コンピュータを、請求項1~3、9、10のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
ユーザに仮想現実や複合現実を体感させるクロスリアリティ(XR)のシステムにおいて、ヘッドマウントディスプレイ(HMD)の表示を制御する際に、ユーザの手の動きを仮想空間の動作に変換するためにハンドコントローラが活用されている。HMDは、ユーザが頭部に装着する小型ディスプレイを備えた眼鏡型装置である。
【0003】
特許文献1では、ユーザの視線情報から仮想空間内におけるオブジェクトの操作開始位置を選択し、ハンドコントローラを用いてオブジェクトを操作する方法が提案されている。また、特許文献2では、選択された仮想オブジェクトを引き寄せて表示サイズを大きくすることで、仮想オブジェクトを操作しやすくする方法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特表2020-519986号公報
【特許文献2】特開2017-027206号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された技術では、ハンドコントローラの位置及び姿勢を検出してオブジェクトを操作するため、特定のオブジェクトを操作するためには、ユーザは手の位置及び姿勢を保持し続ける必要があり、負担が大きい。また、特許文献2に開示された技術では、選択された仮想オブジェクトだけが拡大表示されるため、表示画面内での仮想オブジェクトの配置が変更され、選択された仮想オブジェクトに対する操作中は他の仮想オブジェクトの状態を確認できない。
【0006】
本発明は、ユーザの姿勢情報に基づき仮想空間内でユーザの操作が可能な情報処理装置において、ユーザの操作に係る負担を軽減することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、仮想空間を見るユーザの視線に基づいて、前記仮想空間内の領域を設定する第1設定手段と、
前記ユーザの姿勢に基づいて、前記仮想空間内の位置を設定する第2設定手段と、
を有し、
前記第2設定手段は、前記第1設定手段によって前記領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理装置である。
【0008】
また、本発明は、仮想空間を見るユーザの姿勢に基づいて前記仮想空間内の位置を設定する第2設定手段と、
前記第2設定手段によって設定された位置に基づいて、前記仮想空間に配置されたオブジェクトを選択する選択手段と、
前記オブジェクトの情報に基づいて、前記仮想空間内の領域を設定する第3設定手段と、
を有し、
前記第2設定手段は、前記第3設定手段によって前記領域が設定された後には、設定す
る位置を当該領域内に制限することを特徴とする情報処理装置である。
【発明の効果】
【0009】
本発明によれば、ユーザの姿勢情報に基づき仮想空間内でユーザの操作が可能な情報処理装置において、ユーザの操作に係る負担を軽減することができる。
【図面の簡単な説明】
【0010】
【
図1】実施例1に係る情報処理システムを説明する図である。
【
図2】実施例1に係るHMDの内部構成等を説明する図である。
【
図3】実施例1に係る処理のフローチャートである。
【
図4】実施例1に係るHMDの1つの表示例を示す図である。
【
図5】実施例1に係るHMDの1つの表示例を示す図である。
【
図6】実施例1に係るHMDの1つの表示例を示す図である。
【
図7】実施例1に係るHMDの1つの表示例を示す図である。
【
図8】実施例1に係るHMDの1つの表示例を示す図である。
【
図9】変形例1に係るHMDの1つの表示例を示す図である。
【
図10】変形例2に係るHMDの1つの表示例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【0012】
(実施例1)
図1を参照して、実施例1に係る情報処理システム1について説明する。情報処理システム1は、HMD100、画像処理装置110、及びコントローラ120を有する情報処理装置である。
【0013】
HMD100は、ユーザの頭部に装着可能な頭部装着型の表示装置(電子機器)であるヘッドマウントディスプレイである。HMD100は、ビデオシースルー型のHMDであり、HMD100がユーザの正面の範囲を撮像した撮像画像と、HMD100の姿勢に応じた形態のCG(コンピュータグラフィックス)等のコンテンツとが合成された合成画像が表示される。
【0014】
画像処理装置110は、HMD100を制御する制御装置(情報処理装置;電子機器)である。画像処理装置110は、例えば、スマートフォン、タブレット端末、又はPC(パーソナルコンピュータ)である。画像処理装置110は、無線又は有線によりHMD100と接続される。画像処理装置110は、HMD100から取得した撮像画像とCG(グラフィックス画像)とを合成することにより仮想空間の合成画像を生成して、合成画像をHMD100に送信する。なお、画像処理装置110の各構成は、HMD100が有していてもよい。
【0015】
コントローラ120は、HMD100の各種制御を行うための装置である。コントローラ120に対してユーザの操作が行われると、画像処理装置110はユーザの操作に応じてHMD100を制御する。コントローラ120は、例えば、
図1に示すように、ユーザの指に装着可能な指輪型(リング型)の形状を有するハンドコントローラである。コントローラ120がユーザの指に装着可能であれば、ユーザはコントローラ120を保持しながらも自由に手を動かすことができる。また、コントローラ120は、平面的な移動量を感知できるオプティカルトラックパッド(以下、「OTP」と呼ぶ)を内蔵したボタンを有する。コントローラ120は、無線により画像処理装置110と通信を行う。
【0016】
ユーザは、例えば、ボタンの長押しによりポインタを含むメニューをHMD100に表
示させる。その後、ユーザは、OTPに指をあてて任意の方向にスライドさせることで、所望の項目にポインタを合わせることができる。そして、ユーザは、ボタンを押し込むことにより、当該項目の選択を決定するような決定動作を行うことができる。なお、コントローラ120の形状は指輪型であるとしたが、これに限定されるものではない。
【0017】
例えば、コントローラ120の形状は、グローブ型のような手に装着可能な形状のハンドコントローラであってもよい。このように、コントローラ120は、ユーザが使用しやすいように、ユーザの手により保持可能、又は手に装着可能な形態であるとよい。
【0018】
(HMDの内部構成について)
図2を参照して、HMD100の内部構成を説明する。HMD100は、HMD制御部201、撮像部202、画像表示部203、姿勢センサ部204、視線検出部205を有する。
【0019】
HMD制御部201は、HMD100の各構成を制御する。HMD制御部201は、画像処理装置110から合成画像(撮像部202がユーザの正面の空間を撮像した撮像画像と、CGとが合成された画像)を取得すると、合成画像を表示手段である画像表示部203に表示する。
【0020】
このため、ユーザは、HMD100を装着することにより、画像表示部203に表示される合成画像を見ることができる。ユーザは、現実空間にCGが融合したような、様々な複合現実を体験することができる。
【0021】
撮像部202は、2台のカメラ(撮像装置、撮像手段)を含む。2台のカメラは、ユーザがHMDを装着せずに見ている空間と同様の空間を撮像するために、HMD100の装着時のユーザの左右の眼の位置の近くに配置される。2台のカメラが撮像により被写体(ユーザの正面の範囲)を撮像した画像(撮像画像)は、画像処理装置110に出力される。また、撮像部202における2台のカメラは、ステレオカメラによる測距により、2台のカメラから被写体までの距離の情報を距離情報として取得できる。
【0022】
画像表示部203は、合成画像を表示する。画像表示部203は、例えば、液晶パネル又は有機ELパネル等を有する。ユーザがHMD100を装着している状態では、ユーザの左右の目に応じた画像がそれぞれ表示される。
【0023】
なお、画像表示部203には、半透過型のハーフミラーを用いたデバイスを用いることも可能である。例えば、画像表示部203は、ハーフミラーを透過して見える現実空間に直接CGが重畳されて見えるように画像を表示してもよい。この場合、HMD100は、(ビデオシースルー型ではなく)光学シースルー型のHMDと呼ばれる。また、画像表示部203は、現実空間の撮像画像(又は現実空間)を用いずに、完全な仮想空間の画像だけを表示してもよい。なお、本明細書では、仮想現実(VR)のような完全な仮想空間だけでなく、複合現実(MR)のような現実空間が混合する仮想空間も、仮想空間と呼ぶ。
【0024】
姿勢センサ部204は、HMD100の姿勢及び位置を検出する。姿勢センサ部204は、例えば、慣性計測装置(IMU;Inertial Measurement Unit)を有する。姿勢センサ部204は、HMD100の姿勢の情報を姿勢情報として、画像処理装置110に出力する。
【0025】
視線検出部205は、HMD100を装着したユーザの視線情報を検出する視線検出手段である。視線検出部205は、例えば、HMD100に設けられたカメラ等の撮像手段を有する。視線検出部205は、撮像手段でユーザの目を撮像し、撮像した画像を解析す
ることで視線検出を行う。
【0026】
(画像処理装置の内部構成)
図2を参照して、画像処理装置110の内部構成を説明する。画像処理装置110は、制御部211、コンテンツDB212、通信部213を有する。
【0027】
制御部211は、HMD100の撮像部202が取得した画像(撮像画像)と、姿勢センサ部204が取得した姿勢情報と、視線検出部205が取得した視線情報と、をHMD100から受け取る。そして、制御部211は、撮像画像と任意のCGとを合成して、HMD100で表示する合成画像を生成する。また、制御部211は視線情報に基づいて、ユーザからの指示を解釈することができる。
【0028】
制御部211は、HMD100のHMD制御部201に合成画像を送信する。なお、制御部211は、HMD100が取得した情報(距離情報及び姿勢情報)に基づき、合成画像におけるCGの位置、向き、及び大きさを制御する。例えば、制御部211は、合成画像が表す仮想空間において、現実空間に存在する特定の物体の近くに、CGが示す仮想オブジェクトを配置する場合には、特定の物体と撮像部202との距離が近いほど仮想オブジェクト(CG)を大きくする。このようにCGの位置、向き及び大きさを制御することにより、制御部211は、現実空間に配置されていないCGの物体が、あたかも現実空間に配置されているかのような合成画像を生成することができる。
【0029】
コンテンツDB212は、CG等の情報を格納する記憶部である。なお、制御部211は、コンテンツDB212から読み出すCG(つまり、合成画像の生成に用いるCG)を切り替えることが可能である。
【0030】
(コントローラの内部構成)
図2を参照して、コントローラ120の内部構成を説明する。コントローラ120は、コントローラ制御部221、操作部222、通信部223、動き検出部224を有する。
【0031】
コントローラ制御部221は、コントローラ120の各構成を制御する。
【0032】
操作部222は、OTPを内蔵したボタンを含む。操作部222におけるOTPに対する押下や指のスライドの情報(操作情報)は、通信部223を介して画像処理装置110に送信される。
【0033】
例えば、ユーザは、OTPにおける指のスライドにより、HMD100に表示されたポインタを所定の位置に移動させることができる。また、ユーザは、OTPのボタンを押下することにより、HMD100や画像処理装置110に特定の処理を指示することができる。このように、ユーザは、OTPにおける指のスライドとボタンの押下との組み合わせにより、HMD100を制御することができる。より具体的には、ユーザは、例えば、OTPのボタンの長押しによりHMD100にメニューを表示させて、所望の場所にポインタを合わせた後にOTPボタンを押し込むことで、当該場所を選択するような制御ができる。操作部222は、ユーザが物理的接触により操作を行うことが可能であれば、OTPの代わりに、任意の操作部材を含んでいてもよい。例えば、操作部222は、OTPの代わりに、タッチパッド、タッチパネル、十字キー、ジョイスティック、及びトラックパッド装置のいずれかを含んでいてもよい。
【0034】
通信部223は、画像処理装置110(通信部213)と無線により通信を行う。
【0035】
動き検出部224は、コントローラ120の慣性情報(空間的な移動量や角度)を検出
できるIMU(慣性計測装置;慣性センサ)を有する。なお、動き検出部224は、コントローラ120の小型化を阻害しないような装置であって、慣性情報(位置変位、速度、又は加速度等の情報)を検出できる装置であれば、任意の装置を有していてもよい。
【0036】
以上のように、HMD100の撮像部202は、ユーザの視線情報を検出する視線検出手段である。またコントローラ120の動き検出部224は、ユーザの姿勢情報を検出する姿勢検出手段である。画像処理装置110は、視線情報及び姿勢情報に基づき仮想空間の画像を生成する画像処理手段である。
【0037】
図3のフローチャートと
図4~
図7を参照して、実施例1における処理について説明する。
【0038】
動作を開始すると、制御部211は、
図4で示すように、画像表示部203に、画像表示領域401において、複数の仮想オブジェクト402、403、404を表示させる。制御部211は、仮想オブジェクト402~404を、コンテンツDB212に保存されている情報に基づいて生成する。制御部211は、表示されている仮想オブジェクトのうちいずれか1つがユーザにより選択されると、当該仮想オブジェクトに関して、さらに詳細な項目を選択可能な状態(選択状態)とする。このとき、制御部211は、撮像部202で撮像した画像と仮想オブジェクトを合成表示してもよい。
【0039】
ステップS1001では、制御部211は、視線検出部205により検出された視線情報に基づいてHMD100を装着したユーザの視線を検出する。制御部211は、検出した視線情報と仮想空間上にある仮想オブジェクトとの交点を算出し、仮想空間内のユーザの視線位置を設定(決定)し、仮想オブジェクト上に視線カーソルを表示する。視線カーソルは、ユーザが操作対象としている位置を示す画像である。
図5は、仮想オブジェクト403上に視線カーソル410を表示している例を示している。視線カーソル410は、外枠と中心点とを有し、視線が検出された段階では、制御部211は、視線カーソル410の外枠を実線で表示させる。視線カーソルの画像の構成はこの例に限られない。
【0040】
ステップS1002では、制御部211は、ユーザが仮想空間内で注視している位置があるか判定する。例えば、制御部211は、視線検出部205により検出された視線情報に基づき設定した仮想空間内のユーザの視線位置が仮想空間内の一定の範囲内にある状態が所定時間継続した場合、当該範囲内にユーザが注視している位置があると判定する。制御部211は、ユーザが仮想空間内で注視している位置を注視位置として設定する。注視位置に仮想オブジェクトが存在する場合、制御部211は、ユーザが当該仮想オブジェクトを注視していると判定する。仮想空間内に注視位置があると判定した場合、制御部211は、ステップS1003の処理を実行し、そうでない場合、制御部211は、ステップS1001の処理に戻り、視線検出処理を繰り返す。
【0041】
ステップS1003では、制御部211は、ユーザの注視位置に基づいて仮想空間内に操作可能範囲を設定する。制御部211は、ユーザの注視位置に存在する仮想オブジェクトを検出し、仮想オブジェクトの形状情報に基づいて、仮想オブジェクトが存在する領域を操作可能範囲として設定する。したがって画像処理装置110は、仮想空間を見るユーザの視線に基づいて、仮想空間内の領域を設定する第1設定手段と、ユーザの視線に基づいて仮想空間に配置されたオブジェクトを選択する選択手段と、を有する。
図5を例にすると、制御部211は、視線カーソル410で示す注視位置にある仮想オブジェクト403の存在する領域を操作可能範囲として設定する。このとき、操作可能範囲として、仮想オブジェクト403の存在する領域の全体を設定してもよいし、仮想オブジェクト403の存在する領域のうちユーザの注視位置の周辺のみを設定してもよい。
【0042】
ステップS1004では、制御部211は、仮想オブジェクトを操作するためのレイを表示する。レイとは、仮想空間内のユーザが操作対象としている位置を示す画像であり、例えば光線のような画像で表示される。ユーザは手や指の姿勢により仮想空間内の位置を指定することができる。制御部211は、ユーザの手405に装着された姿勢検出手段であるコントローラ120により検出された姿勢情報に基づき、仮想空間内のユーザが姿勢により指定する指定位置を設定する。したがって画像処理装置110は、ユーザの姿勢に基づいて、仮想空間内の位置を設定する第2設定手段を有する。実施例1では、指定位置は、ハンドコントローラであるコントローラ120の姿勢に基づき設定される。そして、制御部211は、指定位置に基づきレイの先端の位置、光線の位置、長さ、方向等を設定する。
図6にレイの表示例を示す。ユーザの手405に装着されたコントローラ120から、仮想オブジェクト403の存在する領域内に向かってレイ420が表示されている。
【0043】
制御部211は、レイの先端の初期位置を、操作可能範囲内の所定の位置とする。実施例1では、操作可能範囲は注視判定された仮想オブジェクトの存在する領域に設定されるため、制御部211は、レイの先端の初期位置を、注視している仮想オブジェクトの中心位置や上端等の所定の位置とする。なお、レイの先端の初期位置はこれに限らず、例えば、仮想オブジェクト毎に決められた位置としてもよい。
【0044】
さらに、制御部211は、ステップS1003において設定した操作可能範囲内に、レイの先端位置の移動を制限する。
図6の例では、制御部211は、注視判定された仮想オブジェクト403の存在する領域の内部でのみレイの先端位置が移動可能となるように制限する。したがって画像処理装置110は、ユーザの視線に基づいて仮想空間内に領域(操作可能範囲)が設定された後には、ユーザの姿勢に基づいて仮想空間内に設定する位置を当該領域内に制限する第2設定手段を有する。具体的には、コントローラ120により検出された姿勢情報に基づいて設定される、仮想空間内のユーザの指定位置が、ステップS1003で操作可能範囲を設定後に操作可能範囲外に出たとする。この場合、制御部211は、操作可能範囲内に制限された位置である制限位置を設定し、ユーザが操作対象としている位置を示す画像(レイの先端)が制限位置に表示されるように画像を生成する。一方、コントローラ120により検出された姿勢情報に基づいて設定される仮想空間内のユーザの指定位置が操作可能範囲内にある場合、制御部211は、ユーザが操作対象としている位置を示す画像(レイの先端)が指定位置に表示されるように画像を生成する。
【0045】
さらに、制御部211は、操作可能範囲を示す画像が表示されるように、仮想空間の画像を生成する。
図6に示す例では、注視判定された仮想オブジェクト403の周囲に、破線で構成された枠状の画像で操作可能範囲430が表示されている。操作可能範囲を示す画像を表示することで、ユーザは、コントローラ120を用いてレイ420の先端を移動させることが可能な位置が、操作可能範囲内に制限されていることを知ることができる。
【0046】
さらに、制御部211は、ステップS1003で操作可能範囲を設定後は、視線検出部205により検出された視線情報に基づき設定した視線位置を示す情報(視線カーソル)が表示されないように、仮想空間の画像を生成する。
図6に示す例では、
図5で表示していた視線カーソル410が非表示となっている。
【0047】
ステップS1005では、制御部211は、視線検出部205によりユーザの視線情報を検出する。
【0048】
ステップS1006では、制御部211は、ステップS1005で検出したユーザの視線情報に基づき設定した仮想空間内のユーザの視線位置が操作可能範囲外にあるかどうかを判定する。ユーザの視線位置が操作可能範囲外にあると判定した場合(ステップS1006:YES)、制御部211は、ステップS1007の処理を実行する。ユーザの視線
位置が操作可能範囲内にあると判定した場合(ステップS1006:NO)、制御部211は、ステップS1008の処理を実行する。
【0049】
ステップS1007では、制御部211は、ステップS1004で非表示とした視線カーソルを再度表示する。
図7は、操作可能範囲を設定後、視線位置が操作可能範囲外に出て仮想オブジェクト402上に移動した場合の表示例を示している。
図7に示すように、
図6で非表示となった視線カーソルが
図7では視線カーソル411として表示されている。制御部211は、操作可能範囲の設定後にユーザの視線位置が操作可能範囲外に出た場合に表示する視線カーソルと、操作可能範囲が設定されていない状態で表示する視線カーソルと、を異ならせてもよい。
図7の例では、視線カーソル411は、点線で構成された外枠と中心点とからなる画像であり、
図5の視線カーソル410が実線で構成された外枠と中心点とからなっているのとは異なっている。このように、視線カーソルを異なる態様で表示することにより、操作可能範囲の設定後に視線位置が操作可能範囲外に出た場合に、その旨をユーザに報知することができる。
【0050】
ステップS1008では、制御部211は、ステップS1004で視線カーソルを非表示とした状態を維持する。
【0051】
ステップS1009では、制御部211は、コントローラ120の位置情報や姿勢情報と、操作可能範囲と、に基づいて、仮想空間内でユーザが操作対象としている位置を示す画像(レイ)の表示を設定する。制御部211は、コントローラ120の姿勢情報に基づき設定したユーザの姿勢による仮想空間内の指定位置が操作可能範囲外であるか否かに応じて、仮想空間内でユーザが操作対象としている位置を示す画像(レイ)の表示を制御する。具体的には、制御部211は、ユーザの姿勢による指定位置が操作可能範囲内である場合、指定位置にレイの先端を表示し、指定位置が操作可能範囲外である場合、操作可能範囲内に制限された制限位置にレイの先端を表示する。制限位置は、例えば、操作可能範囲の境界線において、指定位置から最も近い位置とする。これにより、ユーザがレイの先端を操作可能範囲から逸脱させるような操作をコントローラ120によって行っても、レイの先端位置は操作可能範囲の境界を越えて外には移動しない表示がなされる。指定位置が操作可能範囲外に出て、制限位置にレイの先端が表示されている状態を「制限状態」と称する。
【0052】
ステップS1010では、制御部211は、レイの先端位置が制限状態であるかどうかを判定する。制限状態であると判定した場合、制御部211は、ステップS1011の処理を実行し、そうでない場合は、ステップS1012の処理を実行する。
【0053】
ステップS1011では、制御部211は、操作可能範囲の表示を警告表示に切り替える。
図7に示す例では、操作可能範囲431を示す画像は点線で構成された枠状の画像となっており、
図6に示す制限状態でない場合の操作可能範囲430を示す画像とは異なっている。また、レイ421の先端位置は操作可能範囲431内に表示されているが、レイ421の起点はコントローラ120とは離れた位置に表示されている。また、制御部211は、制限状態にある場合のレイを示す画像と制限状態にない場合のレイを示す画像とを異ならせる。
図7の例では、制限状態にあるレイ421は破線で表示されており、
図6に示す制限状態にない通常状態のレイ420とは異なっている。このように、操作可能範囲の設定後、指定位置が操作可能範囲外に出た場合と操作可能範囲内にある場合とで、操作可能範囲を示す画像やレイの画像を異ならせることで、指定位置が操作可能範囲外に出た旨をユーザに報知することできる。
【0054】
なお、制限状態にある場合のレイの表示方法はこれに限らない。例えば、
図8に示すように、レイの起点の位置をコントローラ120とし、曲線状にレイ422を表示してもよ
い。
【0055】
ステップS1012では、制御部211は、操作可能範囲の表示を通常表示とする。例えば、
図6に示す操作可能範囲430を表示する。
【0056】
ステップS1013では、制御部211は、ユーザの視線位置が操作可能範囲外にあり(条件A)、かつ、ユーザの指定位置が操作可能範囲外にある(条件B)、という状態が所定時間継続したかどうかを判定する。条件Bは、レイの先端位置が制限状態にあるということもできる。条件Aの判定方法はステップS1006の判定方法と同じである。条件Bの判定方法はステップS1010の判定方法と同じである。条件Aかつ条件Bが所定時間継続したと判定した場合、制御部211は、ステップS1014の処理を実行し、そうでない場合は、ステップS1005に戻って処理を繰り返す。
【0057】
ステップS1014では、制御部211は、ステップS1003で設定した操作可能範囲を解除し、ユーザが操作対象としている位置を示す画像(レイの先端)をユーザの姿勢による指定位置に表示するような仮想空間の画像を生成する。実施例1では、制御部211は、
図6に示した操作可能範囲430とレイ420を非表示とし、
図5で示した視線カーソル410を表示させる。これにより
図5で示す表示となる。
【0058】
実施例1によれば、仮想オブジェクト403を選択した後は、コントローラ120を用いた操作範囲を仮想オブジェクト403の存在する領域に設定された操作可能範囲内に制限することができる。そのため、ユーザは、コントローラ120によってレイの先端位置を操作したい仮想オブジェクトの存在する領域内に維持するような操作をする必要がない。したがって、ユーザの負担を軽減することができる。
【0059】
なお、実施例1では、ユーザの注視位置に存在する仮想オブジェクトを選択し、選択した仮想オブジェクトに基づいて操作可能範囲を設定する例を示したが、操作可能範囲を設定する方法はこれに限らない。例えば、ユーザの注視位置を中心とする所定範囲を操作可能範囲として設定してもよい。また、仮想オブジェクトに基づいて操作可能範囲を設定する方法は、上記のように当該仮想オブジェクトの存在する領域を操作可能範囲とする方法に限らない。例えば、仮想オブジェクトの存在する領域の周囲の所定範囲を含む領域を操作可能範囲としてもよいし、仮想オブジェクトの存在する領域の一部を操作可能範囲としてもよい。
【0060】
<変形例1>
変形例1では、
図3のステップS1002における注視判定の条件を変更した例について説明する。実施例1では視線検出部205により検出された視線情報に基づいて設定された仮想空間内のユーザの視線位置が所定時間、一定の範囲内に存在した場合に、ユーザが当該範囲内の注視位置を注視していると判定した。また、ユーザの視線位置が所定時間、ある仮想オブジェクトの存在する範囲内にある場合、当該仮想オブジェクトをユーザが注視していると判定した。変形例1では、さらに、コントローラ120により検出された姿勢情報に基づいて設定された仮想空間内のユーザの指定位置が所定時間、一定の範囲内に存在した場合に、ユーザが当該範囲内の注視位置を注視していると判定する。すなわち、画像処理装置110の制御部211は、視線位置及び指定位置が仮想空間内の一定の範囲内にある状態が所定時間継続した場合に、当該範囲内に注視位置を設定する。また、制御部211は、ユーザの視線位置及び指定位置が、ある仮想オブジェクトの存在する範囲内にある状態が所定時間継続した場合、当該仮想オブジェクトをユーザが注視していると判定する。
【0061】
図9では、
図5で示した視線カーソル410に加え、コントローラ120から、仮想オ
ブジェクト403の領域内に向かってレイ420が表示されている。仮想オブジェクト403上に視線カーソル410とレイ420の先端が存在する状態が所定時間継続している場合、制御部211は、仮想オブジェクト403に対して注視判定し、ステップS1003の処理を実行する。このとき、所定時間(判定閾値)を実施例1の場合に比べて短くしてもよい。このような注視判定を行う場合、制御部211は、ステップS1001の時点で画像表示領域401に視線カーソル410とレイ420を表示する。
【0062】
また、視線検出部205により検出された視線情報を用いずに、コントローラ120により検出された姿勢情報のみに基づいて注視判定してもよい。この場合、制御部211は、コントローラ120による姿勢情報に基づいて仮想空間内のユーザの姿勢による指定位置を設定し、指定位置に基づいて仮想空間内に配置されたオブジェクトを選択する。そして、制御部211は、選択したオブジェクトの情報に基づいて仮想空間内に操作可能範囲を設定する。この場合、画像処理装置110は、仮想空間を見るユーザの姿勢に基づいて仮想空間内の位置を設定する第2設定手段と、当該設定された位置に基づいて、仮想空間に配置されたオブジェクトを選択する選択手段と、を有する。また、画像処理装置110は、当該オブジェクトの情報に基づいて仮想空間内に領域を設定する第3設定手段と、を有する。なお、制御部211は、実施例1と同様に、オブジェクトの形状情報に基づき操作可能範囲を設定することができる。また、制御部211は、操作可能範囲が設定された後には、ユーザの姿勢による指定位置を操作可能範囲内に制限することができる。また、制御部211は、操作可能範囲が設定された後には、仮想空間内のユーザの視線の位置を示す情報(視線カーソル)を表示しないように制御することができる。また、制御部211は、操作可能範囲が設定された後、ユーザの視線が操作可能範囲の外に出た場合、仮想空間内にユーザの視線の位置を示す情報(視線カーソル)を再度、表示するように制御することができる。また、制御部211は、操作可能範囲が設定された後、ユーザの視線が操作可能範囲の外に出た場合、視線カーソルの描画態様を変化させる等により、ユーザに報知することができる。また、制御部211は、操作可能範囲が設定された後、ユーザの姿勢に基づいて指定される仮想空間内の位置が操作可能範囲の外に出た場合、操作可能範囲を示す画像やレイの画像を変化させる等により、ユーザに報知することができる。また、制御部211は、操作可能範囲が設定された後、ユーザの姿勢に基づく指定位置が操作可能範囲の外にあり、かつ、ユーザの視線が操作可能範囲の外にある状態が所定時間継続した場合、操作可能範囲の設定を解除することができる。制御部211は、コントローラ120により検出された姿勢情報に基づいて設定されたユーザの姿勢による指定位置が所定時間、一定の範囲内に存在した場合に、ユーザが当該範囲内の注視位置を注視していると判定することができる。また、制御部211は、ユーザの姿勢による指定位置が、ある仮想オブジェクトの存在する範囲内にある状態が所定時間継続した場合、当該仮想オブジェクトをユーザが注視していると判定することができる。また、制御部211は、ユーザの姿勢による指定位置が、ある仮想オブジェクトの存在する範囲内にある状態でコントローラ120に搭載されたボタンが操作された場合に、当該仮想オブジェクトをユーザが注視していると判定することができる。
【0063】
<変形例2>
実施例1及び変形例1では、コントローラ120の位置情報や姿勢情報に基づいてレイの表示を制御する例を説明したが、変形例2では、撮像画像からユーザの手を検出し、検出したユーザの手の情報に基づいてレイを制御する方法について説明する。
【0064】
図10では、ユーザの手406の指先から仮想オブジェクト403の領域内に向かってレイ420が表示されている様子を示している。制御部211は、撮像部202で撮像した画像に映っているユーザの手を検出してユーザの手の位置情報と姿勢情報を取得する。続いて、制御部211は、ユーザの手の位置情報と姿勢情報に基づいてレイの表示位置や方向を設定し、画像表示領域401内にレイ420を表示する。
【0065】
実施例1及び変形例1で説明したコントローラ120の位置情報や姿勢情報に基づくレイ420の制御は、ユーザの手406の位置情報や姿勢情報に基づくレイ420の制御に置き換えることができる。
【0066】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0067】
<その他の実施例>
本発明は、上記の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0068】
本実施形態の開示は、以下の構成、方法、及びプログラムを含む。
(構成1)
仮想空間を見るユーザの視線に基づいて、前記仮想空間内の領域を設定する第1設定手段と、
前記ユーザの姿勢に基づいて、前記仮想空間内の位置を設定する第2設定手段と、
を有し、
前記第2設定手段は、前記第1設定手段によって前記領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理装置。
(構成2)
前記ユーザの視線に基づいて前記仮想空間に配置されたオブジェクトを選択する選択手段を有し、
前記第1設定手段は、前記オブジェクトの情報に基づいて、前記領域を設定する構成1に記載の情報処理装置。
(構成3)
前記第1設定手段は、前記オブジェクトの形状情報に基づいて前記領域を設定する構成2に記載の情報処理装置。
(構成4)
前記第1設定手段によって前記領域が設定された後には、前記仮想空間内にユーザの視線の位置を示す情報を表示しない構成1~3のいずれか1項に記載の情報処理装置。
(構成5)
前記第1設定手段によって前記領域が設定された後、ユーザの視線が前記領域の外に出た場合、前記仮想空間内にユーザの視線の位置を示す情報を再度、表示する構成4に記載の情報処理装置。
(構成6)
前記第1設定手段によって前記領域が設定された後、ユーザの視線が前記領域の外に出た場合、その旨をユーザに報知する構成1~5のいずれか1項に記載の情報処理装置。
(構成7)
前記第1設定手段によって前記領域が設定された後、ユーザの姿勢に基づいて指定される前記仮想空間内の位置が前記領域の外に出た場合、その旨をユーザに報知する構成1~6のいずれか1項に記載の情報処理装置。
(構成8)
前記第1設定手段によって前記領域が設定された後、ユーザの姿勢に基づいて指定される前記仮想空間内の位置が前記領域の外にあり、かつ、ユーザの視線が前記領域の外にある状態が所定時間継続した場合、前記第1設定手段は、前記領域の設定を解除する構成1~7のいずれか1項に記載の情報処理装置。
(構成9)
仮想空間を見るユーザの姿勢に基づいて前記仮想空間内の位置を設定する第2設定手段と、
前記第2設定手段によって設定された位置に基づいて、前記仮想空間に配置されたオブジェクトを選択する選択手段と、
前記オブジェクトの情報に基づいて、前記仮想空間内の領域を設定する第3設定手段と、
を有し、
前記第2設定手段は、前記第3設定手段によって前記領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理装置。
(構成10)
前記第3設定手段は、前記オブジェクトの形状情報に基づいて前記領域を設定する構成9に記載の情報処理装置。
(構成11)
前記第3設定手段によって前記領域が設定された後には、前記仮想空間内にユーザの視線の位置を示す情報を表示しない構成9又は10に記載の情報処理装置。
(構成12)
前記第3設定手段によって前記領域が設定された後、ユーザの視線が前記領域の外に出た場合、前記仮想空間内にユーザの視線の位置を示す情報を再度、表示する構成11に記載の情報処理装置。
(構成13)
前記第3設定手段によって前記領域が設定された後、ユーザの視線が前記領域の外に出た場合、その旨をユーザに報知する構成9~12のいずれか1項に記載の情報処理装置。(構成14)
前記第3設定手段によって前記領域が設定された後、ユーザの姿勢に基づいて指定される前記仮想空間内の位置が前記領域の外に出た場合、その旨をユーザに報知する構成9~13のいずれか1項に記載の情報処理装置。
(構成15)
前記第3設定手段によって前記領域が設定された後、ユーザの姿勢に基づいて指定される前記仮想空間内の位置が前記領域の外にあり、かつ、ユーザの視線が前記領域の外にある状態が所定時間継続した場合、前記第3設定手段は、前記領域の設定を解除する構成9~14のいずれか1項に記載の情報処理装置。
(方法1)
仮想空間を見るユーザの視線に基づいて、前記仮想空間内の領域を設定する第1設定工程と、
前記ユーザの姿勢に基づいて、前記仮想空間内の位置を設定する第2設定工程と、
を有し、
前記第2設定工程では、前記第1設定工程において前記領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理方法。
(方法2)
仮想空間を見るユーザの姿勢に基づいて前記仮想空間内の位置を設定する第2設定工程と、
前記第2設定工程において設定された位置に基づいて、前記仮想空間に配置されたオブジェクトを選択する選択工程と、
前記オブジェクトの情報に基づいて、前記仮想空間内の領域を設定する第3設定工程と、
を有し、
前記第2設定工程では、前記第3設定工程において前記領域が設定された後には、設定する位置を当該領域内に制限することを特徴とする情報処理方法。
(プログラム)
コンピュータを、構成1~15のいずれか1項に記載の情報処理装置の各手段として機
能させるためのプログラム。
【符号の説明】
【0069】
1:情報処理システム、110:画像処理装置、205:視線検出部、211:制御部、224:動き検出部