(57)【要約】【課題】利用者がジェスチャー等の操作を行いやすくできることを目的とする。【解決手段】データを処理する情報処理であって、利用者の手に係るパラメータを入力し、前記利用者の手の位置を検出して前記利用者の手の位置データを出力する検出装置から前記利用者の手の位置データを取得する取得処理を行い、少なくとも前記入力で入力する前記利用者の手に係るパラメータ、前記取得で取得する前記利用者の手の位置データに対応する前記利用者の手の位置が検出される検出範囲、及び前記利用者の視野範囲に基づくパラメータを計算する計算処理を行い、前記計算処理で計算する前記パラメータが用いられる計算の計算結果に基づいて前記検出装置の前記検出範囲を補正する補正処理を行うことで上記課題を解決する。【選択図】図１３
2016031614.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する情報処理装置であって、
前記情報処理装置の利用者の手に係るパラメータを入力する入力手段と、
前記情報処理装置の利用者の手の位置を検出して前記利用者の手の位置データを出力する検出装置から前記利用者の手の位置データを取得する取得処理を行う取得手段と、
少なくとも前記入力手段で入力する前記利用者の手に係るパラメータ、前記取得手段で取得する前記利用者の手の位置データに対応する前記利用者の手の位置が検出される検出範囲、及び前記情報処理装置を介した前記利用者の視野範囲に基づくパラメータを計算する計算処理を行う計算手段と、
前記計算処理で計算する前記パラメータが用いられる計算の計算結果に基づいて前記検出装置の前記検出範囲を補正する補正処理を行う補正手段と
を有する情報処理装置。
【請求項２】
前記検出装置は、ステレオカメラである請求項１に記載の情報処理装置。
【請求項３】
前記計算手段は、前記検出装置の検出範囲と前記情報処理装置の視野範囲の共通範囲を調整するのに用いる第一パラメータを計算する請求項１又は２に記載の情報処理装置。
【請求項４】
前記計算手段は、前記検出装置の高精度検出範囲を前記入力手段が入力する前記利用者の手に係るパラメータに基づいて調整するのに用いる第二パラメータを計算する請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記計算手段は、前記取得処理で取得される前記利用者の手の位置データに基づいて計算する前記情報処理装置の利用者の手の可動範囲と前記検出範囲と前記視野範囲の共通範囲を調整するのに用いる第三パラメータを計算する請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
前記取得手段は、２以上の検出装置から前記利用者の手の位置データを取得し、
前記計算手段は、前記検出装置から前記取得手段が取得する前記利用者の手の位置データから、ジェスチャー操作に使用する前記利用者の手の位置データを選択するのに用いる第四パラメータを計算する請求項１乃至５のいずれかに記載の情報処理装置。
【請求項７】
データを処理する情報処理装置、及び検出範囲で前記情報処理装置の利用者の手を検出する検出装置を有する情報処理システムであって、
前記情報処理装置の利用者の手に係るパラメータを入力する入力手段と、
前記情報処理装置の利用者の手の位置を検出して前記利用者の手の位置データを出力する検出装置から前記利用者の手の位置データを取得する取得処理を行う取得手段と、
少なくとも前記入力手段で入力する前記利用者の手に係るパラメータ、前記取得手段で取得する前記利用者の手の位置データに対応する前記利用者の手の位置が検出される検出範囲、及び前記情報処理装置を介した前記利用者の視野範囲に基づくパラメータを計算する計算処理を行う計算手段と、
前記計算処理で計算する前記パラメータが用いられる計算の計算結果に基づいて前記検出装置の前記検出範囲を補正する補正処理を行う補正手段と
を有する情報処理システム。
【請求項８】
データを処理する情報処理装置が行う情報処理方法であって、
前記情報処理装置が、前記情報処理装置の利用者の手に係るパラメータを入力する入力手順と、
前記情報処理装置が、前記情報処理装置の利用者の手の位置を検出して前記利用者の手の位置データを出力する検出装置から前記利用者の手の位置データを取得する取得処理を行う取得手順と、
前記情報処理装置が、少なくとも前記入力手順で入力する前記利用者の手に係るパラメータ、前記取得手順で取得する前記利用者の手の位置データに対応する前記利用者の手の位置が検出される検出範囲、及び前記情報処理装置を介した前記利用者の視野範囲に基づくパラメータを計算する計算処理を行う計算手順と、
前記情報処理装置が、前記計算手順で計算する前記パラメータが用いられる計算の計算結果に基づいて前記検出装置の前記検出範囲を補正する補正処理を行う補正手順と、
を行う情報処理方法。
【請求項９】
情報処理装置にデータの処理を実行させるためのプログラムであって、
前記情報処理装置が、前記情報処理装置の利用者の手に係るパラメータを入力する入力手順と、
前記情報処理装置が、前記情報処理装置の利用者の手の位置を検出して前記利用者の手の位置データを出力する検出装置から前記利用者の手の位置データを取得する取得処理を行う取得手順と、
前記情報処理装置が、少なくとも前記入力手順で入力する前記利用者の手に係るパラメータ、前記取得手順で取得する前記利用者の手の位置データに対応する前記利用者の手の位置が検出される検出範囲、及び前記情報処理装置を介した前記利用者の視野範囲に基づくパラメータを計算する計算処理を行う計算手順と、
前記情報処理装置が、前記計算手順の前記パラメータが用いられる計算の計算結果に基づいて前記検出装置の前記検出範囲を補正する補正処理を行う補正手順と、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理システム、及びプログラムに関する。
【背景技術】
【０００２】
従来、人の頭部に装着するいわゆるヘッドマウントディスプレイ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）（以下、ＨＭＤという。）が知られている。
【０００３】
被験者に年齢を入力させ、被験者の年齢が変化した際の身体状況に対応する透過率に応じた画像表示をＨＭＤによって表示する方法が知られている。また、表示の際、被験者の動作を制限する制御等をＨＭＤによって行う方法が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では、視野範囲等に基づいたパラメータを利用しないため、利用者の手の可動範囲とセンサ（ｓｅｎｓｏｒ）による検出範囲の一致する範囲が狭くなるため、利用者がジェスチャー（ｇｅｓｔｕｒｅ）等の操作を行いにくい場合があった。
【０００５】
本発明の１つの側面は、利用者がジェスチャー等の操作を行いやすくできることを目的とする。
【課題を解決するための手段】
【０００６】
一態様における、データを処理する情報処理装置であって、前記情報処理装置の利用者の手に係るパラメータを入力する入力手段と、前記情報処理装置の利用者の手の位置を検出して前記利用者の手の位置データを出力する検出装置から前記利用者の手の位置データを取得する取得処理を行う取得手段と、少なくとも前記入力手段で入力する前記利用者の手に係るパラメータ、前記取得手段で取得する前記利用者の手の位置データに対応する前記利用者の手の位置が検出される検出範囲、及び前記情報処理装置を介した前記利用者の視野範囲に基づくパラメータを計算する計算処理を行う計算手段と、前記計算処理で計算する前記パラメータが用いられる計算の計算結果に基づいて前記検出装置の前記検出範囲を補正する補正処理を行う補正手段とを有することを特徴とする。
【発明の効果】
【０００７】
利用者がジェスチャー等の操作を行いやすくできる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る情報処理装置の利用場面の一例を説明する全体図である。
【図２】本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を説明するブロック図である。
【図３】本発明の一実施形態に係る座標系、及び関連するパラメータの一例を説明する図である。
【図４】本発明の一実施形態に係る利用者の手に係るパラメータを用いることによる効果の一例を説明する図である。
【図５】本発明の一実施形態に係る情報処理装置の全体処理の一例を説明するフローチャートである。
【図６】本発明の一実施形態に係る視野範囲と検出範囲の共通範囲に係る計算処理の一例を説明する図である。
【図７】本発明の一実施形態に係る高精度検出範囲の位置を調整するための計算処理の一例を説明する図である。
【図８】本発明の一実施形態に係る高精度検出範囲の一例を説明する図である。
【図９】本発明の一実施形態に係る可動範囲に係る計算処理の一例を説明する図である。
【図１０】本発明の一実施形態に係る検出装置を選択するための計算処理の一例を説明する図である。
【図１１】本発明の一実施形態に係る複数の検出装置を用いる場合の一例を説明する図である。
【図１２】本発明の一実施形態に係るガウスニュートン法による各パラメータの最適化計算処理の一例を説明するフローチャートである。
【図１３】本発明の一実施形態に係る情報処理装置の機能構成の一例を説明する機能ブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について説明する。
【００１０】
情報処理装置は、例えばＨＭＤ１０である。以下、情報処理装置がＨＭＤ１０である場合を例に説明する。
【００１１】
＜全体図＞
図１は、本発明の一実施形態に係る情報処理装置の利用場面の一例を説明する全体図である。
【００１２】
ＨＭＤ１０は、利用者の頭部に装着して使用される。ＨＭＤ１０は、センサを有し、図示するように検出範囲にある利用者の手等を検出する。利用者は、所定の形状を手で形作ったり、又は手を動かして所定の動作を行う。ＨＭＤ１０は、ＨＭＤ１０が有するセンサによって、手の形状、及び所定の動作を検出する。ＨＭＤ１０は、センサが手の形状、及び所定の動作を検出することによって、利用者が様々な操作をＨＭＤ１０に入力することができる、いわゆるジェスチャーによる操作ができる。以下、利用者がジェスチャーによる操作を行う場合を例に説明する。
【００１３】
＜ハードウェア構成＞
図２は、本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を説明するブロック図である。
【００１４】
ＨＭＤ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０Ｈ１と、記憶装置１０Ｈ２と、ネットワークＩ／Ｆ（ｉｎｔｅｒｆａｃｅ）１０Ｈ３と、センサ１０Ｈ４と、出力装置１０Ｈ５とを有する。
【００１５】
ＣＰＵ１０Ｈ１は、ＨＭＤ１０が行う各処理を実現するための演算、及び各ハードウェアの制御を行う。
【００１６】
記憶装置１０Ｈ２は、ＣＰＵ１０Ｈ１が用いるデータ、ファームウェアを含むプログラム、及び設定等を記憶する。記憶装置１０Ｈ２は、いわゆるメモリ（Ｍｅｍｏｒｙ）等である。ＨＭＤ１０は、補助記憶装置（図示せず）を有してもよい。
【００１７】
ネットワークＩ／Ｆ１０Ｈ３は、ネットワークを介してデータをＨＭＤ１０の外部装置と入出力するためのインタフェースである。ネットワークＩ／Ｆ１０Ｈ３は、例えばＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）、コネクタ、及びドライバ等である。
【００１８】
センサ１０Ｈ４は、例えばステレオカメラ（ｓｔｅｒｅｏ  ｃａｍｅｒａ）等である。センサ１０Ｈ４は、３次元位置情報を計測する装置である。センサ１０Ｈ４は、赤外光等を用いる装置でもよい。センサ１０Ｈ４は、ステレオカメラに限られない。センサ１０Ｈ４は、３次元位置を計測できる装置であればよく、複数のセンサ、及び計測装置等を組み合わせるシステムであってもよい。以下、センサ１０Ｈ４がステレオカメラである場合を例に説明する。ステレオカメラの場合、センサ１０Ｈ４は、所定の物体を撮像した画像データ等が予め入力され、所定の物体をパターンマッチング法等で物体認識できる。
【００１９】
出力装置１０Ｈ５は、例えばディスプレイ（ｄｉｓｐｌａｙ）である。出力装置１０Ｈ５は、利用者に処理結果、及びデータの内容等を出力するための装置である。出力装置１０Ｈ５は、例えばＣＧ（ｃｏｍｐｕｔｅｒ  ｇｒａｐｈｉｃｓ）画像等を表示する装置である。出力装置１０Ｈ５は、ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）、又はＶＲ（Ｖｉｒｕａｌ  Ｒｅａｌｉｔｙ）等を実現するために、所定の画像を表示する装置である。
【００２０】
また、ＨＭＤ１０のハードウェア構成は、図示した構成に限られない。ハードウェア構成は、例えば各ハードウェアが行う処理、及び記憶の一部、又は全部を分散、冗長、又は並列に行う補助装置（図示せず）を有する構成等でもよい。ハードウェア構成は、例えばネットワーク等を介して各ハードウェアが行う処理、及び記憶の一部、又は全部を分散、冗長、又は並列に行うサーバ等の情報処理装置（図示せず）と接続している構成でもよい。なお、ＨＭＤ１０は、スイッチ等の入力装置（図示せず）を有する構成でもよい。
【００２１】
ＨＭＤ１０は、出力装置１０Ｈ５が透過率の高い表示装置である、いわゆる透過型のヘッドマウントディスプレイ、又は出力装置１０Ｈ５が透過率の低い表示装置である、いわゆる没入型のヘッドマウントディスプレイである。
【００２２】
＜座標系、及び関連するパラメータ＞
図３は、本発明の一実施形態に係る座標系、及び関連するパラメータの一例を説明する図である。
【００２３】
図３（Ａ）、及び図３（Ｂ）は、本発明の一実施形態に係る座標系、及び関連するパラメータの一例を説明する図である。
【００２４】
ＨＭＤ１０は、図３で図示するように、利用者の頭部に装着した状態で使用される装置である。以下、図２のセンサ１０Ｈ４が図示するように、ＨＭＤ１０の付近に設置、又は一体となっている場合を例に説明する。
【００２５】
座標系は、図３（Ａ）、及び図３（Ｂ）で図示するように、利用者の視線方向、いわゆる奥行き方向をＺ軸とする。座標系は、図３（Ａ）及び図３（Ｂ）で図示するように、利用者の視点において上下方向、いわゆる垂直方向をＹ軸とする。座標系は、図３（Ｂ）で図示するように、利用者の視点において左右方向、いわゆる水平方向をＸ軸とする。なお、座標系は、設定等によって変更され、説明した座標系以外の構成でもよい。
【００２６】
座標系は、図３（Ａ）で図示するように、センサ１０Ｈ４による計測結果を示すセンサ座標系と、図３（Ｂ）で図示するように、図２の出力装置１０Ｈ５による表示等に用いるＨＭＤ座標系がある。
【００２７】
以下、センサ座標系原点ＳＯを原点とするＸＹＺ座標系をセンサ座標系という。以下、ＨＭＤ座標系原点ＨＭＤＯを原点とするＸＹＺ座標系をＨＭＤ座標系という。
【００２８】
センサ座標系原点ＳＯの位置は、センサ１０Ｈ４の設置位置、及びセンサ１０Ｈ４の設定等で定まる。センサ１０Ｈ４には、図３（Ａ）で図示するように、センサ座標系原点ＳＯを中心にして検出範囲ＳＡｒｅａが設定される。検出範囲ＳＡｒｅａは、図３（Ａ）で図示するように、センサ座標系原点ＳＯを原点とし、センサ角度ＳＡｎｇｌｅによって設定される軸を中心にして放射状に設定される。図２のセンサ１０Ｈ４がカメラを使用するセンサである場合、検出範囲ＳＡｒｅａは、図２のセンサ１０Ｈ４が使用するカメラの撮像範囲、例えば画角等で定まる。センサ座標系原点ＳＯの位置、及びセンサ角度ＳＡｎｇｌｅは、ＨＭＤ１０による制御、又は利用者による操作によって設定される。図２のセンサ１０Ｈ４は、検出範囲ＳＡｒｅａで検出する物体を、センサ座標系の座標値である位置データとして出力する。センサ角度ＳＡｎｇｌｅは、例えばＺ軸に対する角度で示される。
【００２９】
ＨＭＤ１０は、利用者の手に係るパラメータを用いて各種処理を行う。利用者の手に係るパラメータは、例えば図３（Ａ）で図示する腕の太さＡＷ、腕の長さＡＬ、手の大きさＨＳ、及び腕の角度ＡＡｎｇｌｅ等である。各パラメータは、センサ１０Ｈ４、又は他の計測装置（図示せず）で計測して入力する。
【００３０】
利用者の手の位置データは、例えばセンサ座標系における利用者の手の座標値である。図２のセンサ１０Ｈ４は、利用者の手が認識された位置を、センサ座標系の座標値として出力する。
【００３１】
図４は、本発明の一実施形態に係る利用者の手に係るパラメータを用いることによる効果の一例を説明する図である。
【００３２】
図４（Ａ）、図４（Ｂ）、及び図４（Ｃ）は、本発明の一実施形態に係る利用者の手に係るパラメータを用いる効果の一例を、それぞれ異なる利用者がＨＭＤ１０を使用する場合において説明する図である。
【００３３】
図４では、腕の長さＡＬのパラメータを用いる場合を例に説明する。腕の長さＡＬは、利用者の体格等によって異なる値となるパラメータである。図４（Ａ）と図４（Ｂ）を比較した場合、腕の長さＡＬは、図４（Ａ）の値が図４（Ｂ）の値より大きい値となる。同様に、図４（Ｂ）と図４（Ｃ）を比較した場合、腕の長さＡＬは、図４（Ｂ）の値が図４（Ｃ）の値より大きい値となる。
【００３４】
図４（Ａ）の場合、利用者の手は、図４（Ｂ）の場合と比較して、センサ座標系原点ＳＯが同一の位置の場合、ＨＭＤ１０からＺ軸方向で遠い位置、即ちＺ軸座標値が大きい値の位置で検出される場合が多い。
【００３５】
図４（Ｃ）の場合、利用者の手は、図４（Ｂ）の場合と比較して、センサ座標系原点ＳＯが同一の位置の場合、ＨＭＤ１０からＺ軸方向で近い位置、即ちＺ軸座標値が小さい値の位置で検出される場合が多い。
【００３６】
図示するように、利用者の手は、利用者の体格等によって、検出される位置等がばらついて検出される。そのため、図２のセンサ１０Ｈ４は、設置位置の調整が必要となる場合がある。したがって、腕の長さＡＬをパラメータとして利用する計算によって、ＨＭＤ１０は、利用者の手を検出する範囲を計算することができる。
【００３７】
また、ＨＭＤ１０が利用者の手に係るパラメータを予め入力することで、図２のセンサ１０Ｈ４が物体認識を行う場合、図２のセンサ１０Ｈ４は、利用者の手を認識する精度を向上できる。なお、利用者の手に係るパラメータは、腕の太さＡＷ、腕の長さＡＬ、手の大きさＨＳ、及び腕の角度ＡＡｎｇｌｅに限られない。例えば利用者の手に係るパラメータは、利用者の身長等でもよい。利用者の身長等によって、図２のセンサ１０Ｈ４を設置する設置位置が変化するため、センサ座標系原点ＳＯの位置は、利用者によって変化する。利用者の手に係るパラメータに利用者の身長等を利用することによって、図２のセンサ１０Ｈ４は、利用者の手の検出精度を向上させることができる。
【００３８】
視野範囲ＶＡｒｅａは、利用者がＨＭＤ１０を装着した際の視野となる範囲である。視野範囲ＶＡｒｅａは、図２の出力装置１０Ｈ５の光学要素等によって定まる。例えばＨＭＤ１０が透過型の場合、視野範囲ＶＡｒｅａは、図２の出力装置１０Ｈ５が画像を表示できる範囲、かつ、利用者がＨＭＤ１０を通して周囲を見られる範囲である。ＨＭＤ１０が没入型の場合、視野範囲ＶＡｒｅａは、図２の出力装置１０Ｈ５が画像を表示できる範囲である。図２の出力装置１０Ｈ５で表示される画像は、ＨＭＤ座標系原点ＨＭＤＯを原点とした座標値で処理される。
【００３９】
＜全体処理＞
図５は、本発明の一実施形態に係る情報処理装置の全体処理の一例を説明するフローチャートである。
【００４０】
ステップＳ０５０１では、ＨＭＤ１０は、パラメータの入力処理を行う。ステップＳ０５０１では、ＨＭＤ１０は、図３で説明した各種パラメータを入力する処理を行う。ステップＳ０５０１の処理は、いわゆる初期値として記憶され、パラメータの一部、又は全部の入力が省略された処理でもよい。
【００４１】
ステップＳ０５０２では、ＨＭＤ１０は、視野範囲と検出範囲の共通範囲を調整するための計算処理を行う。
【００４２】
図６は、本発明の一実施形態に係る視野範囲と検出範囲の共通範囲に係る計算処理の一例を説明する図である。
【００４３】
図６（Ａ）は、本発明の一実施形態に係るＨＭＤ１０が視野範囲と検出範囲の共通範囲を計算する処理の一例を説明する図である。
【００４４】
視野範囲と検出範囲の共通範囲ＣＡｒｅａは、図６（Ａ）で図示するように、視野範囲ＶＡｒｅａと検出範囲ＳＡｒｅａが重複する範囲である。
【００４５】
図６（Ｂ）は、本発明の一実施形態に係る視野範囲と検出範囲の共通範囲を算出する処理の一例をビューコーン（ｖｉｅｗ  ｃｏｒｎ）模式図で説明する図である。
【００４６】
図６（Ｂ）は、視野範囲ＶＡｒｅａ、及び検出範囲ＳＡｒｅａの領域を四角錐型のビューコーンで表現する場合の図である。図６（Ｂ）で図示するように、視野範囲と検出範囲の共通範囲ＣＡｒｅａは、視野範囲ＶＡｒｅａと検出範囲ＳＡｒｅａが重複する範囲である。
【００４７】
なお、視野範囲ＶＡｒｅａと検出範囲ＳＡｒｅａは、領域の形状が台形型でもよい。台形型の場合は、ＨＭＤに近い箇所が、視野範囲、及び検出範囲ではない場合、かつ、ＨＭＤから遠い箇所が、視野範囲、及び検出範囲でない場合等である。以下、説明では、ビューコーンの形状は、図６（Ｂ）で図示するように、四角錐型の形状である場合を例に説明する。
【００４８】
視野範囲と検出範囲の共通範囲ＣＡｒｅａは、図２のセンサ１０Ｈ４が利用者の検出を行うことができ、かつ、利用者が見ることができる範囲である。ステップＳ０５０２では、ＨＭＤ１０は、入力処理で入力されたパラメータ等から視野範囲ＶＡｒｅａ、及び検出範囲ＳＡｒｅａの範囲をそれぞれ算出し、それぞれの範囲が重複する座標を視野範囲と検出範囲の共通範囲ＣＡｒｅａとして算出する。
【００４９】
視野範囲ＶＡｒｅａ、及び検出範囲ＳＡｒｅａは、ＨＭＤ１０による制御、又は利用者による操作によって変更される。即ち、図６（Ｂ）で図示する各ビューコーンの位置、及び大きさは、ＨＭＤ１０による制御、又は利用者による操作によって変更される。
【００５０】
例えば検出範囲ＳＡｒｅａは、図２のセンサ１０Ｈ４が設置されている位置を移動、又は図２のセンサ１０Ｈ４を回転させることによって変更できる。ＨＭＤ１０は、例えば図２のセンサ１０Ｈ４をＸＹＺ軸のいずれかの方向に並行移動、又は各軸のいずれかを中心に回転させる機構等を有し、図２のセンサ１０Ｈ４の位置を移動、又は回転させる。図２のセンサ１０Ｈ４をＸ軸について回転、いわゆるピッチ（Ｐｉｔｃｈ）回転させる場合、図２のセンサ角度ＳＡｎｇｌｅが回転し、検出範囲ＳＡｒｅａは、Ｘ軸を中心に回転する変更が行われる。図２のセンサ１０Ｈ４が移動、又は回転することによって、図２のセンサ１０Ｈ４は、検出範囲ＳＡｒｅａを変更できる。
【００５１】
例えば検出範囲ＳＡｒｅａは、センサ座標系原点ＳＯを移動、又は回転させることで変更できる。ＨＭＤ１０は、例えばセンサ座標系原点ＳＯをＸＹＺ軸のいずれかの方向に並行移動、又は各軸のいずれかを中心にしてセンサ座標系原点ＳＯを回転させる入力装置等を有する。ＨＭＤ１０は、入力装置等に利用者が入力する操作に基づいて、センサ座標系原点ＳＯを移動、又は回転させる。図６（Ｂ）のセンサ座標系原点ＳＯをＸ軸について左方向に移動させる場合、検出範囲ＳＡｒｅａは、検出範囲ＳＡｒｅａのビューコーンが左側に並行移動する変更が行われる。センサ座標系原点ＳＯを移動、又は回転させることによって、図２のセンサ１０Ｈ４は、検出範囲ＳＡｒｅａを変更できる。
【００５２】
例えば視野範囲ＶＡｒｅａは、図２の出力装置１０Ｈ５を移動、又は回転させることで変更できる。ＨＭＤ１０は、例えば出力装置１０Ｈ５をＸＹＺ軸のいずれかの方向に並行移動、又は各軸のいずれかを中心にして出力装置１０Ｈ５を回転させる機構等を有する。ＨＭＤ１０は、機構等によって、出力装置１０Ｈ５を移動、又は回転させる。出力装置１０Ｈ５を移動、又は回転させることによって、出力装置１０Ｈ５は、視野範囲ＶＡｒｅａを変更できる。
【００５３】
例えば視野範囲ＶＡｒｅａは、ＨＭＤ座標系原点ＨＭＤＯを移動、又は回転させることで変更できる。ＨＭＤ１０は、例えばＨＭＤ座標系原点ＨＭＤＯをＸＹＺ軸のいずれかの方向に並行移動、又は各軸のいずれかを中心にしてＨＭＤ座標系原点ＨＭＤＯを回転させる入力装置等を有する。ＨＭＤ１０は、利用者の入力装置による操作に基づいて、ＨＭＤ座標系原点ＨＭＤＯを移動、又は回転させる。図６（Ｂ）のＨＭＤ座標系原点ＨＭＤＯの位置をＸ軸について右方向に移動させる場合、視野範囲ＶＡｒｅａは、視野範囲ＶＡｒｅａのビューコーンが右側に並行移動する変更が行われる。ＨＭＤ座標系原点ＨＭＤＯの位置を移動、又は回転させることによって、ＨＭＤ１０は、視野範囲ＶＡｒｅａを変更できる。
【００５４】
視野範囲ＶＡｒｅａは、図２の出力装置１０Ｈ５による出力範囲（図示せず）が変更されることによって、視野範囲ＶＡｒｅａが拡大縮小されてもよい。同様に、検出範囲ＳＡｒｅａは、図２のセンサ１０Ｈ４によるセンサ入力範囲（図示せず）が変更されることによって、センサ入力範囲が拡大縮小されてもよい。
【００５５】
検出範囲ＳＡｒｅａ、又は視野範囲ＶＡｒｅａを変更することによって、ＨＭＤ１０は、視野範囲と検出範囲の共通範囲ＣＡｒｅａを調整することができる。利用者が見ることができ、かつ、ＨＭＤ１０が利用者の手を検出する範囲が広いほど、利用者は操作を行いやすいため、視野範囲と検出範囲の共通範囲ＣＡｒｅａは、広い方が望ましい。
【００５６】
視野範囲ＶＡｒｅａでは、特にＨＭＤ１０が没入型の場合、ＨＭＤ１０は、図２の出力装置１０Ｈ５によって表示するＣＧの画像内に、利用者の手を画像として出力する場合がある。
【００５７】
検出範囲ＳＡｒｅａで検出される利用者の手は、図２の出力装置１０Ｈ５によって視野範囲ＶＡｒｅａに表示するＣＧの画像内に、いわゆる仮想的な手として出力される場合がある。
【００５８】
仮想的な手がバーチャル画像内に出力される場合、視野範囲と検出範囲の共通範囲ＣＡｒｅａによって、利用者は、利用者が行うジェスチャー等の操作を、操作中の手を表示するＣＧの画像によって見ることができる。仮想的な手がＣＧの画像内に表示される場合、視野範囲と検出範囲の共通範囲ＣＡｒｅａを広くすることによって、ＨＭＤ１０は、利用者が操作を行いやすくさせることができる。仮想的な手がＣＧの画像内に表示される場合、視野範囲と検出範囲の共通範囲ＣＡｒｅａを広くすることによって、ＨＭＤ１０は、利用者がＣＧの画像内で利用者の手を見やすくすることができる。
【００５９】
視野範囲と検出範囲の共通範囲ＣＡｒｅａを調整する処理は、例えば検出範囲ＳＡｒｅａ、及び視野範囲ＶＡｒｅａが重複する範囲を広くするために、検出範囲ＳＡｒｅａ、又は視野範囲ＶＡｒｅａ、若しくは両方の範囲を変更する処理である。なお、変更は、ＨＭＤ１０が各装置等を制御して行ってもよい。視野範囲と検出範囲の共通範囲ＣＡｒｅａを調整する処理によって、ＨＭＤ１０は、視野範囲と検出範囲の共通範囲ＣＡｒｅａを広くすることができる。
【００６０】
ステップＳ０５０３では、ＨＭＤ１０は、高精度検出範囲を調整するための計算処理を行う。
【００６１】
ステップＳ０５０３では、ＨＭＤ１０は、図２のセンサ１０Ｈ４が精度良く利用者の手を検出できる範囲に、利用者の手の可動範囲中心点する範囲を含むように調整する計算処理を行う。
【００６２】
図７は、本発明の一実施形態に係る高精度検出範囲の位置を調整するための計算処理の一例を説明する図である。
【００６３】
図７（Ａ）は、本発明の一実施形態に係る高精度検出範囲をセンサ１０Ｈ４の移動によって調整する場合の計算処理の一例を説明する図である。
【００６４】
高精度検出範囲を調整する処理は、図６の検出範囲ＳＡｒｅａを変更する方法と同様の方法で処理する。図７（Ａ）は、センサ１０Ｈ４を垂直方向であるＹ軸方向に並行移動させて調整する場合である。図７（Ａ）のように、センサ１０Ｈ４の設置位置がＹ軸方向に移動する場合、調整前の検出範囲ＳＡｒｅａ１は、センサ１０Ｈ４の移動によって、調整後の検出範囲ＳＡｒｅａ２になる。ＨＭＤ１０は、検出範囲ＳＡｒｅａに、利用者の手の可動範囲中心点ＨＣＰを含むように調整する処理を行う。
【００６５】
図７（Ｂ）は、本発明の一実施形態に係る可動範囲中心点を含むように調整する場合の計算処理の一例を説明する図である。
【００６６】
可動範囲中心点ＨＣＰは、手に係るパラメータから計算される。可動範囲中心点ＨＣＰは、例えば入力処理で入力された図３の腕の角度ＡＡｎｇｌｅを１／２倍した角度の値に基づいて計算される。可動範囲中心点ＨＣＰは、例えば入力処理で入力された図３の腕の長さＡＬと所定の腕の角度における腕の長さＡＬ２の平均値である可動範囲中心点の腕の長さＡＬ３に基づいて計算される。
【００６７】
可動範囲中心点ＨＣＰは、利用者が手を動かす場合、動きの中心となる座標の点である。可動範囲中心点ＨＣＰが検出範囲ＳＡｒｅａに含まれるように調整することで、利用者は、自然な腕の動きでジェスチャー等の操作を行うことができる。
【００６８】
ＨＭＤ１０は、高精度検出範囲が可動範囲中心点ＨＣＰを含むように、調整することが望ましい。
【００６９】
図８は、本発明の一実施形態に係る高精度検出範囲の一例を説明する図である。
【００７０】
図８（Ａ）は、本発明の一実施形態に係る高精度検出範囲の一例を説明する図である。図示するように、高精度検出範囲は、センサ１０Ｈ４に近い範囲である。高精度検出範囲は、センサ１０Ｈ４の仕様、設定、及びセンサの種類等によって異なる。
【００７１】
図８（Ｂ）は、センサ１０Ｈ４がステレオカメラである場合の本発明の一実施形態に係る高精度検出範囲の一例を説明する図である。
【００７２】
図８（Ｂ）は、センサ１０Ｈ４が第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２を有するステレオカメラである場合の例である。図８（Ｂ）の場合を例に高精度検出範囲を説明する。
【００７３】
図８（Ｂ）は、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の光軸がＺ軸であり、かつ、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２がＸ軸方向において平行となるように設置された場合である。
【００７４】
高精度検出範囲は、図８（Ｂ）の場合、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の画角と各光学系が有する光学センサの画素数等から定まる範囲である。高精度検出範囲は、図示するように、高精度検出範囲の第一境界点ＢＰ１、及び高精度検出範囲の第二境界点ＢＰ２を求めることで定まる。
【００７５】
高精度検出範囲の第一境界点ＢＰ１は、例えば第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の設置間隔、いわゆるステレオカメラの基線長ＢＬと第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の画角θから計算される。
【００７６】
図８（Ｃ）は、高精度検出範囲の第一境界点ＢＰ１を計算する計算条件の一例を示す図である。
【００７７】
例えば基線長が１００ｍｍであり、かつ、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の画角が６０°の場合、即ち図８（Ｃ）で図示する場合を例に説明する。高精度検出範囲の第一境界点ＢＰ１は、下記（１）式で計算する。
【００７８】
【数１】
2016031614.tif 000003
図８（Ｃ）の場合、（１）式による計算は、下記（２）式のようになる。
【００７９】
【数２】
2016031614.tif 000004
図８（Ｃ）の場合、高精度検出範囲の第一境界点ＢＰ１は、８７ｍｍと計算できる。
【００８０】
図８（Ｄ）は、高精度検出範囲の第二境界点ＢＰ２を計算する計算条件の一例を示す図である。
【００８１】
図８（Ｃ）と同様に、図８（Ｄ）では、基線長ＢＬが１００ｍｍであり、かつ、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の画角θが６０°である場合を例に説明する。
【００８２】
ＨＭＤ１０は、ＨＭＤ１０がジェスチャー等の操作を精度良く検出する場合、利用者の手の形状、及び利用者の手の位置等を精度良く計測できるのが望ましい。利用者の手の形状、及び利用者の手の位置等を精度良く計測するためには、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の生成する画像の１画素が１ｍｍ以下の長さに対応していることが望ましい。
【００８３】
高精度検出範囲の第二境界点ＢＰ２は、例えば基線長ＢＬと、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の焦点距離ｆと、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の１画素のサイズδを用いて計算される。
【００８４】
高精度検出範囲の第二境界点ＢＰ２までのＺ軸方向における距離を距離ｚ１とする。距離ｚ１をＺ軸方向に１ｍｍ進めた距離を距離ｚ２とする。距離ｚ１と距離ｚ２の差をΔｚとする。距離ｚ１は、下記（３）式から計算される。
【００８５】
【数３】
2016031614.tif 000005
上記（３）式においてｚ２＝ｚ１＋１、Δｚ＝１とすると、下記（４）式のようになる。
【００８６】
【数４】
2016031614.tif 000006
上記（４）式においてＢＬ＝１００、ｆ＝３．３２６、δ＝０．００６とすると、ｚ１＝２３４．４４３３８・・・≒２３４ｍｍとなる。
図８（Ｄ）の場合、高精度検出範囲の第二境界点ＢＰ２は、２３４ｍｍと計算できる。
【００８７】
利用者の手のＺ座標値が高精度検出範囲の第一境界点ＢＰ１以下である場合、ステレオカメラのセンサ１０Ｈ４は、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の両方の光学系によって利用者の手を撮像することができない。被写体が高精度検出範囲の第一境界点ＢＰ１からセンサ１０Ｈ４に対して遠い場合、ステレオカメラのセンサ１０Ｈ４は、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２の両方の光学系によって利用者の手を撮像することができる。被写体は、各光学系に近いほど大きく撮像される。被写体が大きく撮像されるほど、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２は、多くの画素を用いて被写体を撮像できる。被写体が多くの画素によって撮像された場合、ステレオカメラのセンサ１０Ｈ４は、長さの精度を良くできる。したがって、高精度検出範囲の第一境界点ＢＰ１は、ステレオカメラによる計測ができ、かつ、被写体の計測を精度良くできる位置である。
【００８８】
また、図８（Ａ）で図示するように、ＨＭＤ１０は、ビューコーンの中心を通るベクトルＣＶ上に可動範囲中心点ＨＣＰが位置するように調整するのが望ましい。ビューコーンの中心を通るベクトルＣＶ上に可動範囲中心点ＨＣＰが位置する場合、可動範囲中心点ＨＣＰは、センサ１０Ｈ４による計測の中心に位置する。利用者の手は、可動範囲中心点ＨＣＰを中心にして動く場合が多い。可動範囲中心点ＨＣＰがセンサ１０Ｈ４による計測の中心に位置する場合、利用者の手は、利用者の手がジェスチャー等で動いた際でも検出範囲ＳＡｒｅａの範囲内に位置する場合が多い。したがって、センサ１０Ｈ４は、利用者の手がジェスチャー等で動いた際、検出範囲ＳＡｒｅａで利用者の手を検出できる場合を多くできる。
【００８９】
高精度検出範囲の第二境界点ＢＰ２は、（３）式より、画像上において１ｍｍの長さが１ｐｉｘｅｌで表示される位置である。被写体は、第一光学系１０Ｈ４１、及び第二光学系１０Ｈ４２に近づくほど拡大されて撮像される。被写体が高精度検出範囲の第二境界点ＢＰ２よりセンサ１０Ｈ４に近い場合、ステレオカメラのセンサ１０Ｈ４は、被写体の１ｍｍ以下の移動、及び変形等を計測することができる。したがって、高精度検出範囲の第二境界点ＢＰ２は、ステレオカメラのセンサ１０Ｈ４が被写体の計測を精度良くできる位置である。
【００９０】
図８の場合、ＨＭＤ１０は、図７で計算した可動範囲中心点ＨＣＰを高精度検出範囲の第一境界点ＢＰ１から高精度検出範囲の第二境界点ＢＰ２の範囲に含むようにセンサ１０Ｈ４の設置位置、及び角度等を調整する。図６で説明した通り、センサ１０Ｈ４の設置位置、及び角度等を調整することによって検出範囲ＳＡｒｅａを変更することができる。高精度検出範囲は、検出範囲ＳＡｒｅａの一部であるため、検出範囲ＳＡｒｅａを変更することによって高精度検出範囲を調整することができる。
【００９１】
ＨＭＤ１０は、調整によって、利用者の手の位置を精度良く計測できる高精度検出範囲に、可動範囲中心点ＨＣＰを含ませることができる。利用者は、可動範囲中心点ＨＣＰを中心にジェスチャー等の操作を行うことが多い。したがって、ＨＭＤ１０は、高精度検出範囲を調整する処理によって、利用者の手の位置等を精度良く検出できるため、ジェスチャー等による操作が精度良く入力できる。よって、ＨＭＤ１０は、利用者がジェスチャー等の操作を行いやすくできる。
【００９２】
ステップＳ０５０４では、ＨＭＤ１０は、可動範囲と検出範囲と視野範囲の共通範囲を調整するための計算処理を行う。
【００９３】
図９は、本発明の一実施形態に係る可動範囲に係る計算処理の一例を説明する図である。
【００９４】
ステップＳ０５０４では、ＨＭＤ１０は、可動範囲ＨＯＡｒｅａを計算し、可動範囲ＨＯＡｒｅａと検出範囲ＳＡｒｅａの共通領域が広くなるように、検出範囲ＳＡｒｅａを調整する処理である。
【００９５】
図９（Ａ）は、本発明の一実施形態に係る可動範囲ＨＯＡｒｅａ、及び検出範囲ＳＡｒｅａの共通領域の一例を説明する図である。
【００９６】
検出範囲ＳＡｒｅａは、他の処理で説明したのと同様に、センサ１０Ｈ４の位置を移動する等で調整でき、センサ１０Ｈ４が利用者の手の位置を検出できる範囲である。
【００９７】
可動範囲ＨＯＡｒｅａは、利用者が手を動かすことができる範囲である。
【００９８】
図９（Ｂ）は、本発明の一実施形態に係る可動範囲ＨＯＡｒｅａの一例を説明する図である。
【００９９】
可動範囲ＨＯＡｒｅａは、例えば第一可動範囲点ＨＯＰ１、第二可動範囲点ＨＯＰ２、第三可動範囲点ＨＯＰ３、及び第四可動範囲点ＨＯＰ４で計算する。
【０１００】
第一可動範囲点ＨＯＰ１、及び第三可動範囲点ＨＯＰ３は、腕の長さＡＬの場合における手の位置である。第三可動範囲点ＨＯＰ３は、第一可動範囲点ＨＯＰ１から腕の角度ＡＡｎｇｌｅ回転させた位置である。
【０１０１】
第二可動範囲点ＨＯＰ２、及び第四可動範囲点ＨＯＰ４は、可動範囲中心点の腕の長さＡＬ３の場合における手の位置である。第四可動範囲点ＨＯＰ４は、第二可動範囲点ＨＯＰ２から腕の角度ＡＡｎｇｌｅ回転させた位置である。
【０１０２】
第三可動範囲点ＨＯＰ３、及び第四可動範囲点ＨＯＰ４は、腕が一定の長さで回転する場合、弧状に移動すると近似して計算できる。弧状は、３次元では、球面の一部で近似できる。
【０１０３】
腕の長さＡＬ、腕の角度ＡＡｎｇｌｅは、入力処理で入力される値である。可動範囲中心点における腕の長さＡＬ３は、図７と同様に、腕の長さＡＬに基づいて計算される値である。可動範囲ＨＯＡｒｅａは、例えば第一可動範囲点ＨＯＰ１、第二可動範囲点ＨＯＰ２、第三可動範囲点ＨＯＰ３、及び第四可動範囲点ＨＯＰ４で囲まれた範囲である。ＨＭＤ１０は、手の大きさＨＳ等を考慮して、囲まれた範囲の外側にさらに広くした領域を可動範囲ＨＯＡｒｅａとしてもよい。３次元では、可動範囲ＨＯＡｒｅａは、第一可動範囲点ＨＯＰ１と第三可動範囲点ＨＯＰ３から計算される球面の一部、及び第二可動範囲点ＨＯＰ２と第四可動範囲点ＨＯＰ４から計算される球面の一部の端部をそれぞれ接続させた閉形状である。
【０１０４】
可動範囲中心点の腕の長さＡＬ３は、利用者の手が動く場合に、動きの中心となる座標における利用者の腕の長さである。即ち、可動範囲中心点の腕の長さＡＬ３は、利用者が自然な動きをすることができる腕の長さの一例である。腕の長さＡＬは、利用者が腕を伸ばした場合等であり、ＨＭＤ１０に対して利用者の手が、最も遠くに位置する場合の一例である。したがって、第一可動範囲点ＨＯＰ１、第二可動範囲点ＨＯＰ２、第三可動範囲点ＨＯＰ３、及び第四可動範囲点ＨＯＰ４で囲まれた範囲内では、利用者は、手を自然に動かすことができる。利用者が自然に手を動かせる範囲、及び検出範囲ＳＡｒｅａを重複させることで、ＨＭＤ１０は、利用者に自然な動きで、ジェスチャー等の操作を行わせることができる。ＨＭＤ１０は、自然な動きのジェスチャーを検出することができる。
【０１０５】
さらに、ＨＭＤ１０は、視野範囲ＶＡｒｅａ、及び可動範囲ＨＯＡｒｅａが重複するように調整する処理を行う。図６で説明した場合と同様に、ＨＭＤ１０は、仮想的な手をバーチャル画像内に表示する場合がある。図６の場合と同様に、仮想的な手がバーチャル画像内に表示される場合、利用者は、視野範囲と検出範囲と可動範囲の共通範囲で操作し、操作している手を視野範囲ＶＡｒｅａのバーチャル画像内で見ることができる。可動範囲が共通範囲となっていることで、ＨＭＤ１０は、自然な動きで、利用者に操作を行わせることができる。
【０１０６】
ステップＳ０５０４では、ＨＭＤ１０は、検出装置を選択するための計算処理を行う。
【０１０７】
検出装置は、ＨＭＤ１０の有する図２のセンサ１０Ｈ４に限られない。ＨＭＤ１０は、ＨＭＤ１０の外部装置である他のセンサから利用者の手の位置データを取得してもよい。
【０１０８】
検出装置は、利用者の手を検出する場合に利用者の腕等によって遮蔽され、検出が妨げられることが少ない位置にある検出装置が望ましい。検出装置１１は、図２のセンサ１０Ｈ４と同様の装置である。
【０１０９】
図１０は、本発明の一実施形態に係る検出装置を選択するための計算処理の一例を説明する図である。
【０１１０】
図１０（Ａ）、及び図１０（Ｂ）は、本発明の一実施形態に係る検出装置による検出の一例を説明する図である。
【０１１１】
図１０（Ａ）は、検出装置１１をＨＭＤ１０とは別に配置した場合の一例の図である。図示するように、検出装置１１は、ＨＭＤ１０の支持体によって、ＨＭＤ１０からＺ軸方向にＺ軸の座標値が大きくなる位置に配置された場合の例である。ＨＭＤ１０と図２のセンサ１０Ｈ４が一体、又はＨＭＤ１０の近くに図２のセンサ１０Ｈ４が配置された場合と比較して、図１０（Ａ）は、検出装置１１の検出が妨げられる場合が少ない位置にある場合の一例である。ＨＭＤ１０と図２のセンサ１０Ｈ４が一体、又はＨＭＤ１０の近くに図２のセンサ１０Ｈ４が配置された場合は、例えば図３（Ａ）の場合である。
【０１１２】
図３（Ａ）の場合、検出装置１１は、遮蔽が少ないため、検出の対象となる利用者の手の周辺まで検出範囲ＳＡｒｅａに含むことができる。即ち、図３（Ａ）の場合、検出装置１１は、利用者の腕等による遮蔽を少なくできる。
【０１１３】
検出装置１１は、ＨＭＤ１０の外部装置でもよい。
【０１１４】
図１０（Ｂ）は、検出装置１１がＨＭＤ１０の外部装置である場合の一例の図である。
【０１１５】
図示するように、検出装置１１は、ＨＭＤ１０と物理的な接続のない装置でもよい。ＨＭＤ１０は、無線通信等で検出装置１１から各種データを取得する処理を行う。図１０（Ｂ）の場合は、図１０（Ａ）と同様に、図３（Ａ）等の場合と比較して、検出装置１１による検出が妨げられない場合の一例である。
【０１１６】
検出装置１１は、検出が妨げられない位置にある検出装置を利用して、ＨＭＤ１０が検出するのが望ましい。ステップＳ０５０４では、ＨＭＤ１０は、検出が妨げられない位置にある検出装置を選択するための計算処理を行う。検出が妨げられない位置にあるかの判定は、例えば各検出装置による検出範囲のビューコーンの中心を通るベクトルと、利用者の腕を水平にした際の線による角度に基づいて行う。即ち、ステップＳ０５０４では、ＨＭＤ１０は、各検出装置のビューコーンの中心を通るベクトルと利用者の腕を水平にした際の線による角度を各検出装置について計算する処理を行う。
【０１１７】
図１０（Ｃ）は、各検出装置のビューコーンの中心を通るベクトルと利用者の腕を水平にした際の線による角度を検出装置ごとに計算する処理の一例を説明する図である。
【０１１８】
図１０（Ｃ）では、図３（Ａ）のＨＭＤ１０と一体となっている図２のセンサ１０Ｈ４を用いる場合（以下、図３（Ａ）の場合という。）と、図１０（Ａ）の検出装置１１がＨＭＤ１０とは別に配置された場合（以下、図１０（Ａ）の場合という。）を例に処理を説明する。図３（Ａ）の場合、図２のセンサ１０Ｈ４が検出装置となる。
【０１１９】
図３（Ａ）の場合、検出装置のビューコーンの中心を通るベクトルは、ビューコーンの中心を通るベクトルＣＶ（ａ）である。図３（Ａ）の場合、検出装置のビューコーンの中心を通るベクトルと利用者の腕を水平にした際の線の角度は、角度ａである。
【０１２０】
図１０（Ａ）の場合、検出装置のビューコーンの中心を通るベクトルは、ビューコーンの中心を通るベクトルＣＶ（ｂ）である。図１０（Ａ）の場合、検出装置のビューコーンの中心を通るベクトルと利用者の腕を水平にした際の線の角度は、角度ｂである。
【０１２１】
ステップＳ０５０４では、ＨＭＤ１０は、図１０（Ｃ）の場合、角度ａと角度ｂを計算する処理を行う。ステップＳ０５０４では、ＨＭＤ１０は、図１０（Ｃ）の場合、計算した角度ａと角度ｂを比較する処理を行う。ＨＭＤ１０は、検出装置のビューコーンの中心を通るベクトルと利用者の腕を水平にした際の線による角度が鈍角、即ち、角度が大きいほど検出が妨げられない位置にあると判定できる。
【０１２２】
なお、検出装置は、２以上の複数の検出装置を用いてもよい。
【０１２３】
図１１は、本発明の一実施形態に係る複数の検出装置を用いる場合の一例を説明する図である。
【０１２４】
図１１は、センサ１０Ｈ４とＨＭＤ１０の外部装置の検出装置１１を検出装置として用いる場合である。
【０１２５】
センサ１０Ｈ４の検出範囲は、センサ１０Ｈ４の検出範囲ＳＡｒｅａ３である。外部装置の検出装置１１の検出範囲は、外部装置の検出装置１１の検出範囲ＳＡｒｅａ４である。図１１の場合、ＨＭＤ１０は、センサ１０Ｈ４の検出範囲ＳＡｒｅａ３及び外部装置の検出装置１１の検出範囲ＳＡｒｅａ４によって利用者の手を検出できる。図１１の場合、検出は、センサ１０Ｈ４のみを用いる図３（Ａ）等の場合と比較して、検出が妨げられない場合の一例である。また、複数のセンサの検出によって利用者の手が検出されるため、ＨＭＤ１０は、利用者の手の位置を精度良く検出できる。さらに、複数のセンサの検出によって利用者の手が検出されるため、ＨＭＤ１０は、利用者の手を広い範囲で検出することができる。
【０１２６】
ステップＳ０５０６では、ＨＭＤ１０は、各パラメータの最適化計算処理を行う。ステップＳ０５０６では、ＨＭＤ１０は、ステップＳ０５０２乃至ステップＳ０５０５の処理の計算結果である各パラメータの最適化計算処理を行う。パラメータは、ステップＳ０５０２乃至ステップＳ０５０５の処理の各計算結果である。
【０１２７】
第一パラメータＰ１は、例えばステップＳ０５０２の計算結果である。第一パラメータＰ１は、図６の場合、図６の視野範囲と検出範囲の共通範囲ＣＡｒｅａが最大となる位置に図６のセンサ１０Ｈ４を移動、及び回転させるためのパラメータ等である。
【０１２８】
第二パラメータＰ２は、例えばステップＳ０５０３の計算結果である。第二パラメータＰ２は、図８の場合、図８の可動範囲中心点ＨＣＰが高精度検出範囲に含まれる位置に図８のセンサ１０Ｈ４を移動、及び回転させるためのパラメータ等である。
【０１２９】
第三パラメータＰ３は、例えばステップＳ０５０４の計算結果である。第三パラメータＰ３は、図９の場合、図９の可動範囲ＨＯＡｒｅａが検出範囲と視野範囲に含まれる位置に図８のセンサ１０Ｈ４を移動、及び回転させるためのパラメータ等である。
【０１３０】
第四パラメータＰ４は、例えばステップＳ０５０５の計算結果である。第四パラメータＰ４は、図１０の場合、検出装置のビューコーンの中心を通るベクトルと利用者の腕を水平にした際の線による角度のパラメータ等である。
【０１３１】
ステップＳ０５０６では、ＨＭＤ１０は、第一パラメータＰ１、第二パラメータＰ２、第三パラメータＰ３、及び第四パラメータＰ４の最適化計算処理を行う。
【０１３２】
最適化計算処理は、例えばガウスニュートン（Ｇａｕｓｓ−Ｎｅｗｔｏｎ）法、ニュートン（Ｎｅｗｔｏｎ）法、及びレーベンバーグマルカート（Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ）法等を用いる処理である。以下、最適化計算処理をガウスニュートン法を用いる場合を例に説明する。
【０１３３】
ステップＳ０５０６では、ＨＭＤ１０は、最適化計算処理によって最小二乗法を解く処理を行う。コスト関数をＥ（ｔ）とした場合、第一パラメータＰ１、第二パラメータＰ２、第三パラメータＰ３、及び第四パラメータＰ４の最適化計算処理は、下記（５）式で示せる。
【０１３４】
【数５】
2016031614.tif 000007
（５）式について、残差をｅとすると、（５）式は、下記（６）式のように示せる。
【０１３５】
【数６】
2016031614.tif 000008
（６）式において、「｜｜」は、ユークリッドノルム（ｅｕｃｌｉｄｅａｎ  ｎｏｒｍ）である。
【０１３６】
ガウスニュートン法は、関数を並べたベクトルの線形近似で示せる。（６）式がテイラー（ｔａｙｌｏｒ）展開された場合、下記（７）式で示せる。
【０１３７】
【数７】
2016031614.tif 000009
（７）式において、ｇは、Ｅのｔでの勾配である。（７）式において、Ｈは、ヘッセ（Ｈｅｓｓｉａｎ）行列である。
【０１３８】
ｔが下記（８）式の場合について説明する。
【０１３９】
【数８】
2016031614.tif 000010
ｔが（８）式の場合、（７）式のｇ、及びＨは、下記（９）式、及び（１０）式のようになる。
【０１４０】
【数９】
2016031614.tif 000011
【０１４１】
【数１０】
2016031614.tif 000012
ｔを定数、及びδｔを変数とすると、（７）式の右辺に最小値を与えるδｔは、下記（１１）式を満たす値となる。
【０１４２】
【数１１】
2016031614.tif 000013
つまり、（１１）式から求めたいのは、下記（１２）式である。
【０１４３】
【数１２】
2016031614.tif 000014
ｔが十分に解に近い場合、Ｈは、正定値であり、計算を更新することで解に近づく。ｔが十分に解に近い場合でない場合、Ｈは、正定値とならない場合があり、解が安定しない。解が安定しないのを避けるため、（６）式のように示せることを利用して、Ｈを下記（１３）式の近似式で計算する。
【０１４４】
【数１３】
2016031614.tif 000015
（１３）式において、Ｊは、ヤコビ（Ｊａｃｏｂｉａｎ）行列である。
【０１４５】
ヤコビ行列を使った（１３）式から、（１１）式の右辺は、下記（１４）式とでき、Ａ、及びａを用いてδｔを求める式を下記（１５）式のように計算する。
【０１４６】
【数１４】
2016031614.tif 000016
【０１４７】
【数１５】
2016031614.tif 000017
図１２は、本発明の一実施形態に係るガウスニュートン法による各パラメータの最適化計算処理の一例を説明するフローチャートである。
【０１４８】
図１２で説明する処理は、図５のステップＳ０５０６で行う処理の一例である。
【０１４９】
ステップＳ１２０１では、ＨＭＤ１０は、ｔの初期値を設定する処理を行う。
【０１５０】
ステップＳ１２０２では、ＨＭＤ１０は、Ａ、及びａを計算する処理を行う。Ａ、及びａを計算する処理は、（１４）式等を計算する処理である。
【０１５１】
ステップＳ１２０３では、ＨＭＤ１０は、（１５）式を用いてδｔを計算する処理を行う。
【０１５２】
ステップＳ１２０４では、ＨＭＤ１０は、δＥ＝Ｅ（ｔ+δｔ）−Ｅ（ｔ）を計算し、ｔを（ｔ+δｔ）に更新する処理を行う。
【０１５３】
ステップＳ１２０５では、ＨＭＤ１０は、δＥが十分に小さいか否かを判断する。δＥが十分に小さい場合（ステップＳ１２０５でＹＥＳ）、ＨＭＤ１０は、ガウスニュートン法による各パラメータの最適化計算処理を終了する。δＥが十分に小さい場合でない場合（ステップＳ１２０５でＮＯ）、ＨＭＤ１０は、ステップＳ１２０２の処理に戻る。ステップＳ１２０５では、ＨＭＤ１０は、例えば予め入力しておく閾値によって判断する。
【０１５４】
ステップＳ０５０６の処理によって、ＨＭＤ１０は、検出装置の位置等を設定するためのパラメータを計算することができる。例えばステップＳ０５０６の処理によって、図２のセンサ１０Ｈ４を検出装置として用いると計算した場合、ステップＳ０５０６の処理結果は、図２のセンサ１０Ｈ４の位置を決定するためのパラメータが計算される。図２のセンサ１０Ｈ４が図７（Ａ）のように垂直方向に移動する場合、ＨＭＤ１０は、各パラメータの最適化計算処理によって、図２のセンサ１０Ｈ４の移動量等を計算することができる。
【０１５５】
なお、各パラメータの最適化計算処理は、ガウスニュートン法による各パラメータの最適化計算処理に限られない。各パラメータの最適化計算処理は、ガウスニュートン法による各パラメータの最適化計算処理に代えて、遺伝的アルゴリズム等によって実現されてもよい。また、各パラメータの最適化計算処理は、パラメータとして外乱光、及び手の数等のパラメータを加えて、多数の変量を計算する処理でもよい。
【０１５６】
ステップＳ０５０７では、ＨＭＤ１０は、補正処理を行う。
【０１５７】
補正処理は、ステップＳ０５０６で計算されたパラメータに現在のパラメータを補正する処理である。ステップＳ０５０６の処理の説明と同様に、図２のセンサ１０Ｈ４を検出装置として用いる場合を例に説明する。図２のセンサ１０Ｈ４を検出装置として用いる場合、ステップＳ０５０６の処理結果は、図２のセンサ１０Ｈ４の位置を決定するためのパラメータが計算される。補正処理は、図２のセンサ１０Ｈ４の現在位置からステップＳ０５０６の処理結果であるパラメータの位置に図２のセンサ１０Ｈ４を移動させる処理である。
【０１５８】
図２のセンサ１０Ｈ４が移動、及び回転する場合、センサ座標系は、図２のセンサ１０Ｈ４が移動、及び回転に伴って移動、及び回転する。例えば図２のセンサ１０Ｈ４が移動する場合、センサ座標系原点ＳＯは、同様に移動する。
【０１５９】
補正処理は、ステップＳ０５０６で計算されたパラメータに、図２のセンサ１０Ｈ４の現在位置を補正するための移動量、及び回転量を計算する処理である。
【０１６０】
図２のセンサ１０Ｈ４の並進移動量は、並進行列Ｔで示す。図２のセンサ１０Ｈ４の回転量は、回転行列Ｒ（φ）で示す。図２のセンサ１０Ｈ４が回転行列Ｒ（φ）の回転、及び並進行列Ｔの移動をする場合、現在のセンサ１０Ｈ４は、補正処理よって、ステップＳ０５０６で計算された位置となり、センサ座標系が変更される。補正処理による変更前のセンサ座標系をＳＡｘｉｓ１とし、補正処理による変更後のセンサ座標系をＳＡｘｉｓ２とすると、変更前のセンサ座標系ＳＡｘｉｓ１と変更後のセンサ座標系ＳＡｘｉｓ２は、下記（１６）式のように示せる。
【０１６１】
【数１６】
2016031614.tif 000018
補正処理によって、ＨＭＤ１０は、センサ座標系をステップＳ０５０６の処理で計算したセンサ座標系となるように変更することができる。
【０１６２】
＜機能構成＞
図１３は、本発明の一実施形態に係る情報処理装置の機能構成の一例を説明する機能ブロック図である。
【０１６３】
ＨＭＤ１０は、制御部１０Ｆ１と、入力部１０Ｆ２と、検出部１０Ｆ３と、取得部１０Ｆ４と、記憶部１０Ｆ５と、計算部１０Ｆ６と、補正部１０Ｆ７とを有する。
【０１６４】
制御部１０Ｆ１は、ＨＭＤ１０の行う各種処理を実現するために、ＨＭＤ１０の有する各ハードウェアを制御する。制御部１０Ｆ１は、図２のＣＰＵ１０Ｈ１等によって実現される。制御部１０Ｆ１は、ネットワーク等を介して、外部装置（図示せず）を制御してもよい。
【０１６５】
入力部１０Ｆ２は、ＨＭＤ１０の利用者の手に係るパラメータ等の各種パラメータ、及びデータ等を入力するための入力処理を行う。入力部１０Ｆ２は、図２のネットワークＩ／Ｆ１０Ｈ３、センサ１０Ｈ４、及びＨＭＤ１０に接続した入力装置（図示せず）等によって実現される。
【０１６６】
検出部１０Ｆ３は、検出範囲でＨＭＤ１０の利用者の手を検出する。検出部１０Ｆ３は、図２のセンサ１０Ｈ４等によって実現される。検出部１０Ｆ３は、検出範囲で利用者の手を検出し、手の位置データ等を出力する。なお、検出部１０Ｆ３は、ＨＭＤ１０が有する検出装置を用いて実現される場合に限られない。検出部１０Ｆ３は、外部装置の検出装置によって実現されてもよい。検出部１０Ｆ３は、図１１で示したように、図２のセンサ１０Ｈ４と外部装置の検出装置を組み合わせることで実現されてもよい。
【０１６７】
取得部１０Ｆ４は、検出装置から利用者の手の位置データを取得する取得処理を行う。取得部１０Ｆ４は、図２のＣＰＵ１０Ｈ１、及びネットワークＩ／Ｆ１０Ｈ３等によって実現される。取得処理は、検出部１０Ｆ３、外部装置の検出装置、又は図２のセンサ１０Ｈ４と外部装置の検出装置の両方から利用者の手の位置データを取得する取得処理を行う。
【０１６８】
記憶部１０Ｆ５は、各種データ、及びパラメータを記憶する。記憶部１０Ｆ５は、図２の記憶装置１０Ｈ２等によって実現される。記憶部１０Ｆ５は、ＨＭＤ１０、及び検出装置の仕様等を記憶する。
【０１６９】
計算部１０Ｆ６は、各種パラメータ等を計算する。計算部１０Ｆ６は、第一パラメータ計算部１０Ｆ６１、第二パラメータ計算部１０Ｆ６２、第三パラメータ計算部１０Ｆ６３、第四パラメータ計算部１０Ｆ６４、最適化計算部１０Ｆ６５、可動範囲計算部１０Ｆ６６、可動範囲中心点計算部１０Ｆ６７を有する。計算部１０Ｆ６は、図２のＣＰＵ１０Ｈ１等によって実現される。
【０１７０】
第一パラメータ計算部１０Ｆ６１は、検出装置の検出範囲とＨＭＤ１０の視野範囲の共通範囲を調整するための第一パラメータを計算するための処理を行う。第一パラメータは、例えばステップＳ０５０２の計算結果である。したがって、第一パラメータ計算部１０Ｆ６１は、図６で説明した各種計算等を行う。
【０１７１】
第二パラメータ計算部１０Ｆ６２は、検出装置の高精度検出範囲を調整するための第二パラメータを計算するための処理を行う。第二パラメータは、例えばステップＳ０５０３の計算結果である。したがって、第二パラメータ計算部１０Ｆ６２は、図７、及び図８で説明した各種計算等を行う。
【０１７２】
第三パラメータ計算部１０Ｆ６３は、ＨＭＤ１０の利用者の手の可動範囲と検出範囲とＨＭＤ１０の視野範囲の共通範囲を調整するための第三パラメータを計算するための処理を行う。第三パラメータは、例えばステップＳ０５０４の計算結果である。したがって、第三パラメータ計算部１０Ｆ６３は、図９で説明した各種計算等を行う。
【０１７３】
第四パラメータ計算部１０Ｆ６４は、検出装置を選択するための第四パラメータを計算するための処理を行う。第四パラメータは、例えばステップＳ０５０５の計算結果である。したがって、第四パラメータ計算部１０Ｆ６４は、図１０で説明した各種計算等を行う。
【０１７４】
最適化計算部１０Ｆ６５は、各パラメータの最適化計算処理を行う。最適化計算部１０Ｆ６５は、ステップＳ０５０６等の処理を行う。
【０１７５】
可動範囲計算部１０Ｆ６６は、可動範囲を計算する処理を行う。可動範囲計算部１０Ｆ６６は、可動範囲を計算するために、図９の第一可動範囲点ＨＯＰ１、第二可動範囲点ＨＯＰ２、第三可動範囲点ＨＯＰ３、及び第四可動範囲点ＨＯＰ４等を計算する処理を行う。可動範囲計算部１０Ｆ６６が計算した可動範囲は、第三パラメータの計算の際等に利用される。
【０１７６】
可動範囲中心点計算部１０Ｆ６７は、図７（Ｂ）の可動範囲中心点ＨＣＰ等を計算する処理を行う。可動範囲中心点計算部１０Ｆ６７が計算した図７（Ｂ）の可動範囲中心点ＨＣＰは、第二パラメータの計算の際等に利用される。
【０１７７】
補正部１０Ｆ７は、補正処理を行う。補正部１０Ｆ７は、最適化計算部１０Ｆ６５が計算した最適化計算結果に基づいて検出部１０Ｆ３に係る図２のセンサ１０Ｈ４の位置等を補正する補正処理を行う。補正部１０Ｆ７は、図５のステップＳ０５０７等の処理を行う。補正部１０Ｆ７は、図２のＣＰＵ１０Ｈ１等によって実現される。補正部１０Ｆ７は、補正処理用のパラメータを計算し、各種ハードウェアの制御を制御部１０Ｆ１に行わせてもよい。
【０１７８】
ＨＭＤ１０は、検出部１０Ｆ３、又は外部装置の検出装置が検出した利用者の手に係る位置データを取得部１０Ｆ４によって取得処理する。取得処理した位置データ、及び入力処理した利用者の手に係るパラメータ等から第一パラメータ、第二パラメータ、第三パラメータ、及び第四パラメータを計算する。
【０１７９】
第一パラメータを計算することで、ＨＭＤ１０は、利用者が見ることができ、かつ、見える範囲で利用者の手が検出される範囲が広い視野範囲と検出範囲の共通範囲を広くできるため、利用者のジェスチャー等の操作を行いやすくできる。
【０１８０】
第二パラメータを計算することで、ＨＭＤ１０は、可動範囲中心点を検出範囲に含まれるように調整できるため、利用者に自然な腕の動きの範囲でジェスチャー等の操作を行わせることができる。
【０１８１】
第三パラメータを計算することで、ＨＭＤ１０は、可動範囲が視野範囲と検出範囲の共通範囲とすることができ、利用者が操作等の際、利用者に自然な動きでジェスチャー等の操作を行わせることができる。
【０１８２】
第四パラメータを計算することで、ＨＭＤ１０は、検出装置に利用者の腕等によって遮蔽されることを少なくでき、利用者が操作等の際、ジェスチャー等の操作を検出しやすくできる。
【０１８３】
ＨＭＤ１０は、最適化計算部１０Ｆ６５によって、第一パラメータ、第二パラメータ、第三パラメータ、及び第四パラメータに基づいた最適化計算処理結果を計算することができる。ＨＭＤ１０は、補正部１０Ｆ７の補正処理によって、最適化計算処理結果に基づいた位置等に検出装置を移動、又は回転等することができる。ＨＭＤ１０は、最適化計算処理結果に基づいて補正された検出装置に利用者の手を検出させるため、利用者に自然な動きでジェスチャー等の操作を行わせることができる。したがって、ＨＭＤ１０は、利用者がジェスチャー等の操作を行いやすくできる。
【０１８４】
なお、処理順序は、図５の場合に限られない。処理順序は、図５のステップＳ０５０２乃至ステップＳ０５０５の処理が図５で示した順序と異なる順序で行われてもよい。
【０１８５】
なお、実施形態で説明した１つの情報処理装置による構成は、一例であり、用途、又は目的に応じて様々なシステム構成があることは言うまでもない。例えば、各処理は、ネットワークを介して１以上のサーバ等の別の情報処理装置（図示せず）によって分散、冗長、又は並列に処理されてもよい。
【０１８６】
また、実施形態は、説明した情報処理装置によって実現される場合に限られない。実施形態は、例えばＣＰＵを有する情報処理装置、又は情報処理システムに各種処理を実行させるためのプログラムによって実現されてもよい。
【０１８７】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０１８８】
１０  ＨＭＤ
１０Ｈ１  ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
１０Ｈ２  記憶装置
１０Ｈ３  ネットワークＩ／Ｆ（ｉｎｔｅｒｆａｃｅ）
１０Ｈ４  センサ（ｓｅｎｓｏｒ）
１０Ｈ４１  第一光学系
１０Ｈ４２  第二光学系
１０Ｆ１  制御部
１０Ｆ２  入力部
１０Ｆ３  検出部
１０Ｆ４  取得部
１０Ｆ５  記憶部
１０Ｆ６  計算部
１０Ｆ６１  第一パラメータ計算部
１０Ｆ６２  第二パラメータ計算部
１０Ｆ６３  第三パラメータ計算部
１０Ｆ６４  第四パラメータ計算部
１０Ｆ６５  最適化計算部
１０Ｆ６６  可動範囲計算部
１０Ｆ６７  可動範囲中心点計算部
１０Ｆ７  補正部
１１  検出装置
ＢＬ  基線長
θ  画角
１０Ｈ５  出力装置
ＳＡｎｇｌｅ  センサ角度
ＳＯ  センサ座標系原点
ＨＭＤＯ  ＨＭＤ座標系原点
ＡＷ  腕の太さ
ＡＬ  腕の長さ
ＨＳ  手の大きさ
ＡＡｎｇｌｅ  腕の角度
ＳＡｒｅａ、ＳＡｒｅａ（ａ）、ＳＡｒｅａ（ｂ）  検出範囲
ＳＡｒｅａ１  調整前の検出範囲
ＳＡｒｅａ２  調整後の検出範囲
ＳＡｒｅａ３  センサの検出範囲
ＳＡｒｅａ４  検出装置の検出範囲
ＨＣＰ  可動範囲中心点
ＡＬ３  可動範囲中心点の腕の長さ
ＶＡｒｅａ  視野範囲
ＣＡｒｅａ  視野範囲と検出範囲の共通範囲
ＣＶ、ＣＶ（ａ）、ＣＶ（ｂ）  ビューコーンの中心を通るベクトル
Ｐ１  高精度範囲の第一境界点
Ｐ２  高精度範囲の第二境界点
ＨＯＡｒｅａ  可動範囲
ＨＯＰ１  第一可動範囲点
ＨＯＰ２  第二可動範囲点
ＨＯＰ３  第三可動範囲点
ＨＯＰ４  第四可動範囲点
ａ、ｂ  角度
Ｐ１  第一パラメータ
Ｐ２  第二パラメータ
Ｐ３  第三パラメータ
Ｐ４  第四パラメータ
【先行技術文献】
【特許文献】
【０１８９】
【特許文献１】特開平１０−３４００３９号公報
【図１】
2016031614.tif 000019
【図２】
2016031614.tif 000020
【図３】
2016031614.tif 000021
【図４】
2016031614.tif 000022
【図５】
2016031614.tif 000023
【図６】
2016031614.tif 000024
【図７】
2016031614.tif 000025
【図８】
2016031614.tif 000026
【図９】
2016031614.tif 000027
【図１０】
2016031614.tif 000028
【図１１】
2016031614.tif 000029
【図１２】
2016031614.tif 000030
【図１３】
2016031614.tif 000031