(57)【特許請求の範囲】
【請求項１】
ユーザの手に固定されるデバイスを含む情報処理システムであって、
ユーザの前記手の人差指、中指、薬指、及び小指の一部の指について、指先の方向を検出する指位置センサと、
前記指位置センサが検出した人差指、中指、薬指、及び小指の一部の指についての指先の方向に基づき、当該指と、当該指に隣接する指との間の角度の情報を取得する取得手段と、
当該取得の結果に基づいて、前記ユーザの手の人差指、中指、薬指、及び小指の各指間の角度を推定する推定手段と、を含み、
前記推定されたユーザの前記手の各指間の角度の情報が、所定の処理に供される情報処理システム。
【請求項２】
ユーザの手に固定されるデバイスに接続される情報処理装置であって、
前記デバイスは、ユーザの前記手の人差指、中指、薬指、及び小指の一部の指について、指先の方向を検出する指位置センサを含み、
前記情報処理装置は、
前記デバイスから受け入れた、前記指位置センサが検出した人差指、中指、薬指、及び小指の一部の指についての指先の方向に基づき、当該指と、当該指に隣接する指との間の角度の情報を取得する取得手段と、
当該取得の結果に基づいて、前記ユーザの手の人差指、中指、薬指、及び小指の各指間の角度を推定する推定手段と、を含み、
前記情報処理装置は、推定されたユーザの前記手の各指間の角度の情報を、所定の処理に供する情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記指位置センサは、人差指の指先の方向を検出する指位置センサであり、
前記情報処理装置の取得手段は、前記デバイスから受け入れた、前記指位置センサが検出した人差指の指先の方向に基づいて、当該人差指と、当該人差指に隣接する中指との間の角度の情報を取得し、
前記推定手段は、当該取得の結果に基づいて、ユーザの前記ユーザの手の中指と薬指、及び薬指と小指の各指間の角度を推定する情報処理装置。
【請求項４】
ユーザの手に固定され、ユーザの前記手の人差指、中指、薬指、及び小指の一部の指について、指先の方向を検出する指位置センサを含むデバイスに接続されたコンピュータを用い、
取得手段が、前記デバイスから受け入れた、前記指位置センサが検出した人差指、中指、薬指、及び小指指の一部の指についての指先の方向に基づき、当該指と、当該指に隣接する指との間の角度の情報を取得する工程と、
推定手段が、当該取得の結果に基づいて、前記ユーザの手の人差指、中指、薬指、及び小指の各指間の角度を推定する工程と、
を含む制御方法。
【請求項５】
ユーザの手に固定され、ユーザの前記手の人差指、中指、薬指、及び小指の一部の指について、指先の方向を検出する指位置センサを含むデバイスに接続されたコンピュータを、
前記デバイスから受け入れた、前記指位置センサが検出した人差指、中指、薬指、及び小指指の一部の指についての指先の方向に基づき、当該指と、当該指に隣接する指との間の角度の情報を取得する取得手段と、
当該取得の結果に基づいて、前記ユーザの手の人差指、中指、薬指、及び小指の各指間の角度を推定する推定手段と、として機能させるプログラム。
【請求項６】
ユーザの手に固定され、ユーザの前記手の人差指、中指、薬指、及び小指の一部の指について、指先の方向を検出する指位置センサを含むデバイスに接続されたコンピュータを、
前記デバイスから受け入れた、前記指位置センサが検出した人差指、中指、薬指、及び小指指の一部の指についての指先の方向に基づき、当該指と、当該指に隣接する指との間の角度の情報を取得する取得手段と、
当該取得の結果に基づいて、前記ユーザの手の人差指、中指、薬指、及び小指の各指間の角度を推定する推定手段と、として機能させるプログラムを格納した、コンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
家庭用ゲーム機等の情報処理装置において、仮想空間内のキャラクタの動作等を制御するためのコントローラが広く用いられている。近年では、ユーザの各指の曲げ伸ばし動作や、指の間の角度を変化させる動作（指同士を互いに平行にしたり、指の間を開いたりする動作）を検出して、キャラクタの動作を制御することも考えられている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながらユーザの各指の曲げ伸ばし動作や指の角度を変化させる動作を検出することとすると、指ごとにこれらの動作を検出するセンサを設ける必要があり、コストが増大する。【０００４】
本発明は上記実情に鑑みて為されたもので、コストの増大を抑制できる情報処理システム、情報処理装置、制御方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００５】
上記従来例の問題点を解決する本発明は、ユーザの手に固定されるデバイスに接続される情報処理装置であって、前記デバイスは、ユーザの前記手の人差指、中指、薬指、及び小指の一部の指について、指先の方向を検出する指位置センサを含み、前記情報処理装置は、前記デバイスから受け入れた、前記指位置センサが検出した人差指、中指、薬指、及び小指の一部の指についての指先の方向に基づき、当該指と、当該指に隣接する指との間の角度の情報を取得する取得手段と、当該取得の結果に基づいて、前記ユーザの手の人差指、中指、薬指、及び小指の各指間の角度を推定する推定手段と、を含み、前記情報処理装置は、推定されたユーザの前記手の各指間の角度の情報を、所定の処理に供することとしたものである。
【発明の効果】
【０００６】
本発明によると、コストの増大を抑制できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態の情報処理装置に接続されるコントローラデバイスの例を表す概略斜視図である。
【図２】本発明の実施の形態の情報処理装置に接続されるコントローラデバイスの構成例を表すブロック図である。
【図３】本発明の実施の形態の情報処理装置の処理の内容例を表す説明図である。
【図４】本発明の実施の形態の情報処理装置の構成例を表すブロック図である。
【図５】本発明の実施の形態の情報処理装置の例を表す機能ブロック図である。
【図６】本発明の実施の形態の情報処理装置の動作例を表すフローチャート図である。
【図７】本発明の実施の形態の情報処理装置のもう一つの処理の内容例を表す説明図である。
【発明を実施するための形態】
【０００８】
本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明において各部の大きさやその比、配置等は一例であり、本実施の形態の例は、図示等した大きさや比率、配置に限られるものではない。
【０００９】
本発明の実施の形態に係る情報処理装置１は、例えば家庭用ゲーム機等のコンピュータ機器であり、この情報処理装置１にはコントローラデバイス２０が接続される。
【００１０】
コントローラデバイス２０は、ユーザの左手または右手に装着されて固定される。以下の説明において、ユーザの左手に固定されるコントローラデバイス２０と、右手に固定されるコントローラデバイス２０とを区別する必要がある場合は、ユーザの左手に固定されるコントローラデバイス２０をコントローラデバイス２０Ｌ、ユーザの右手に固定されるコントローラデバイス２０をコントローラデバイス２０ＲとそれぞれＬ，Ｒの符号を付して区別する。
【００１１】
このコントローラデバイス２０の一例は、図１にその概要を例示するように、デバイス本体２１０と、このデバイス本体２１０に固定された固定具２２０とを含んで構成される。また、このコントローラデバイス２０は、デバイス本体２１０内に、図２に示すように、制御部２１と、記憶部２２と、操作インタフェース２３と、センサ部２４と、通信部２５とを含んだ回路部を備えて構成される。
【００１２】
以下の説明において、デバイス本体２１０の長手方向をＺ軸（デバイス本体２１０を手に固定したとき、手の平を横断する方向、ユーザの親指が到達する側を正の方向とする）とし、正面側（デバイス本体２１０を手に固定して手の平を見たとき、手前となる側）と背面側とを結ぶ方向（奥行き方向）をＹ軸、左右方向（デバイス本体２１０を手に固定して手を開いた（指を伸ばした）とき、手首側から指先側へ向かう方向）をＸ軸とする（図１）。
【００１３】
デバイス本体２１０は、ユーザの左手に装着されるものと、右手に装着されるものとで、それぞれの形状が互いに同一となっていてよい。本実施の形態の例では、固定具２２０は可撓性あるベルトを環状としたものであり、この固定具２２０にユーザの人差指、中指、薬指、及び小指までを通し、デバイス本体２１０をユーザの親指の付根（人差指、中指、薬指、及び小指のＭＰ関節に相当する位置）に当接させた位置に固定して用いる。
【００１４】
またこのコントローラデバイス２０の大きさは、ユーザが自然にデバイス本体２１０を把持したときに、その一方端がユーザの親指の先端が到達する位置よりやや外側に位置し、その他方端が、小指の付け根（ＭＰ関節に相当する位置）からやや突出する位置にある程度の大きさとする。なおコントローラデバイス２０は、コントローラデバイス２０を装着した状態でユーザが手を開いても、固定具２２０によりユーザの手に固定されるので、落下することはない。
【００１５】
デバイス本体２１０は、ユーザにより把持される把持部２１１と、操作部２１２と、位置提示部２１３とを含む。把持部２１１は、本実施の形態の一例では実質的に多角形柱状をなしている。操作部２１２は、把持部２１１から連続して形成されており、図１の例では、ユーザの親指で操作可能な複数のボタンを備えたボタン操作部２３１を含む。このボタン操作部２３２は、当該ボタンに対するユーザの押下操作があったときに、押下操作がされたボタンを特定する情報を出力する。
【００１６】
またこのデバイス本体２１０の側面側（デバイス本体２１０の背面をユーザの手の平に当接させたときに指側に向いた面）には、人差指、中指、薬指、及び小指のうち、一部の指に対応して指位置センサ２４１が設けられる。また当該デバイス本体２１０の側面側には、対応する指位置センサ２４１が設けられていない指に対応して、指距離センサ２４２が設けられていてもよい。これら指位置センサ２４１や指距離センサ２４２については後に述べる。
【００１７】
さらに、ボタン操作部２３１にも、親指に対応して指位置センサ２４１または指距離センサ２４２のいずれかが設けられていてもよい。
【００１８】
位置提示部２１３は、デバイス本体２１０の上側（ユーザの手に固定した際の親指側）背面に配され、例えばＬＥＤ等の発光素子を少なくとも一つ含んで構成される。この位置提示部２１３は、コントローラデバイス２０の動作中はコントローラデバイス２０ごとに固有の、予め指定された色の光を発光するものとする。またこの位置提示部２１３は、コントローラデバイス２０ごとに固有な色のマーカー等、各コントローラデバイス２０の位置をそれぞれ外部から検出できればよく、必ずしも発光素子でなくてもよい。
【００１９】
本実施の形態の一例において、指位置センサ２４１及び指距離センサ２４２は光学センサであり、デバイス本体２１０の側面側（デバイス本体２１０の背面をユーザの手の平に当接させたときに指側に向いた面）に設けられた指位置センサ２４１または指距離センサ２４２は、ユーザがデバイス本体２１０を握ったときに、対応する指の基節骨に対応する位置が指位置センサ２４１または指距離センサ２４２に接する位置に配される。
【００２０】
また、ボタン操作部２３１に設けられた指位置センサ２４１または指距離センサ２４２は、ユーザがボタン操作部２３１のボタンに指をかけたときに、親指の基節骨に対応する部分が最も近接する位置に配される。
【００２１】
指位置センサ２４１は、指位置センサ２４１の表面の法線方向を中心とし、当該中心に向かって左側から右側までの比較的広角の角度範囲を検出可能範囲として、この検出可能範囲において対応する指の位置を検出し、当該検出結果の情報を出力する。この指位置センサ２４１は例えば、カメラや、光学センサ等の光学的センサに限られず、指の位置が検出できればどのようなものでも構わない。
【００２２】
一例として、ユーザの右手に固定されたコントローラデバイス２０において、人差指に対応して指位置センサ２４１として、デプスカメラ（赤外光を検出可能範囲に投射し、検出可能範囲内の赤外光の反射像を撮像するカメラ）を設けた場合の動作について述べる。この例では、指位置センサ２４１は、上記検出可能範囲を画角とする画像データを撮像して得る。
【００２３】
この例において、図３（ａ）に例示するようにユーザが右手の人差指を曲げた状態とすると、指位置センサ２４１としてのデプスカメラは、図３（ｂ）に示すように、対応する指の指先が全体的に撮像された画像データを撮像することとなる。なお、図３では、図３（ａ）に例示するように、指の曲げ伸ばし時に指先が移動する方向、すなわちデバイス本体２１０の長手方向に直交する面内の角度方向をθ軸とし、指間を開けたり閉じたりするときに指先が移動する方向、つまりデバイス本体２１０の長手方向に平行な面内の角度方向をφ軸とする。
【００２４】
また、図３（ｃ）に例示するように、ユーザが指間を開いて、人差指を伸ばした状態としたときには、この指位置センサ２４１が撮像する画像データには、図３（ｄ）に例示するように、θ軸方向にはやや右寄り（指側寄り）に、中央へ向かうほどφ軸上方（ボタン操作部２３１側）かつ遠方（赤外光が弱い状態）に伸びる像（当該方向に指先の方向がある像）として人差指が撮像される。
【００２５】
さらに図３（ｅ）に例示するように、ユーザが指間を閉じて、人差指を伸ばした状態としたときには、この指位置センサ２４１が撮像する画像データには、図３（ｆ）に例示するように、θ軸方向にやや右寄り（指側寄り）に、このθ軸に平行に、中央へ向かうほど遠方（赤外光が弱い状態）に伸びる像（当該方向に指先の方向がある像）として人差指が撮像される。なお、図３（ｃ）から（ｆ）に例示した状態では、中指の一部も撮像される。
【００２６】
本実施の形態の一例では、指位置センサ２４１は、これら撮像された画像データそのものを検出結果として出力してもよいし、所定の距離を下回る位置にある対象物の像の重心位置Ｐ（Ｐθ，Ｐφ）と、当該対象物までの距離の平均や分散等の値を、検出結果として出力してもよい。
【００２７】
この指位置センサ２４１が、本発明の指先の方向を検出する指位置センサに相当する。
【００２８】
また指距離センサ２４２は、赤外光を放射する発光部と、赤外光を検出する受光部とを有し、発光部から放射された光が対象物に反射して受光部に入射する割合を測定することで、赤外光の放射方向にある障害物までの距離を検出する。具体的にここでは指距離センサ２４２は、対応する指（のあるべき方向の障害物）までの距離を検出する。そして指距離センサ２４２は、当該検出した距離の情報を、検出結果の情報として出力する。
【００２９】
この例では、ユーザがデバイス本体２１０を手に固定し、人差指、中指、薬指、及び小指を伸ばした状態からデバイス本体２１０を握り込む形まで手を動かすとき、指距離センサ２４２は、対応する指が伸ばされた状態では、当該指の先端の方向にある対象物（例えばユーザが指を下方に向けて伸ばした状態であれば床面等）までの距離を検出することとなる。この距離は指を検出したときの距離に比べ十分大きい値となるため、以下の例ではこの値を「∞」と表す。
【００３０】
また、ユーザの指が曲げられると、曲げられた対応する指の第２関節または第３関節の表面までの距離が検出され、ユーザがデバイス本体２１０を握り込んだ状態では、指距離センサ２４２に対応する指の表面が接するため、この指距離センサ２４２が検出する距離は「０」となる。つまり、この指距離センサ２４２は指の屈伸状態を検出するセンサとして機能する。もっとも指の屈伸状態を検出する指距離センサ２４２としては、各指の屈伸（曲げているか伸ばしているか）の状態を検出できれば、ここで説明したような光学的なセンサに限られるものではない。
【００３１】
また制御部２１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部２２に格納されたプログラムに従って動作する。本実施の形態ではこの制御部２１は、操作インタフェース２３からユーザが操作部２１２においてした操作の内容を表す情報の入力を受け、当該情報を、通信部２５を介して情報処理装置１へ出力する。またこの制御部２１は、センサ部２４に含まれるセンサが出力する情報を、通信部２５を介して情報処理装置１へ出力する。
【００３２】
記憶部２２は、メモリデバイス等であり、制御部２１によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ、非一時的な記憶媒体に格納されて提供され、この記憶部２２に複写されたものであってもよいし、ネットワーク等の通信手段を介して提供され、この記憶部２２に格納されたものであってもよい。またこの記憶部２２は、制御部２１のワークメモリとしても動作する。
【００３３】
操作インタフェース２３は、操作部２１２にてユーザが行った操作の内容を表す情報を制御部２１に出力する。センサ部２４は、少なくとも一つのセンサを含み、当該センサが出力する情報を制御部２１に出力する。本実施の形態の一例では、このセンサ部２４は、既に説明した指位置センサ２４１や指距離センサ２４２のほか、コントローラデバイス２０のデバイス本体２１０の傾きを検出する傾きセンサ２４３や加速度センサ２４４を含んでもよい。
【００３４】
ここで傾きセンサ２４３は、デバイス本体２１０の長手方向のＺ軸の重力の向きに対する角度の情報を検出し、デバイス本体２１０のＺ軸の水平面からの仰俯角φの情報を演算して得る。また、この傾きセンサ２４３は、Ｚ軸まわりの回転角θの情報も検出し、このＺ軸まわりの回転角θと、Ｚ軸の水平面からの仰俯角φとを含む検出結果情報を出力する。加速度センサ２４４は、コントローラデバイス２０のＸ，Ｙ，Ｚ軸方向の加速度を検出して、その検出結果を表す検出結果情報を出力する。またこの加速度センサ２４４は、コントローラデバイス２０を装着している手（指を含む）が他の物体（もう一方の手や他人の手、壁など）に当たり、衝撃（加速度の時間変化を調べるとき、加速度がパルス状に大きくなる）が生じたときに、当該衝撃を検出して、衝撃を検出した旨の検出結果情報を出力する。
【００３５】
通信部２５は、ＵＳＢインタフェース等の有線インタフェースや、ブルートゥース（登録商標）等の無線インタフェースであり、制御部２１から入力される指示に従い、種々の情報を情報処理装置１に対して出力している。
【００３６】
情報処理装置１は、図４に例示するように、制御部１１と、記憶部１２と、インタフェース部１３と、撮像部１４と、出力部１５とを含んで構成されている。制御部１１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部１２に格納されたプログラムに従って動作する。
【００３７】
本実施の形態では制御部１１は、コントローラデバイス２０から指位置センサ２４１による、一部の指の隣接する指との間の角度の検出結果や、指距離センサ２４２の検出結果等を受け入れる。また制御部１１は、当該受け入れた検出結果に基づいて、ユーザの手の各指間の角度を推定し、この推定されたユーザの手の各指間の角度の情報を、所定の処理に供する。この制御部１１の詳しい動作については後に述べる。
【００３８】
記憶部１２は、メモリデバイスやディスクデバイス等であり、制御部１１によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部１２に格納されたものであってもよい。また、ネットワーク等の通信手段を介して提供され、この記憶部１２に格納されたものであってもよい。またこの記憶部１２は、制御部１１のワークメモリとしても動作する。
【００３９】
インタフェース部１３は、コントローラデバイス２０に無線又は有線にて接続され、コントローラデバイス２０からユーザの操作の内容を表す情報や、指位置センサ２４１において検出した情報や指距離センサ２４２が検出した情報を受け入れ、制御部１１に出力する。
【００４０】
撮像部１４は、ユーザの位置する範囲を撮像範囲として設置されたカメラ等であり、ユーザを含む画像を所定のタイミングごとに繰り返して撮像し、当該画像のデータを制御部１１に出力する。出力部１５は、例えばＨＤＭＩ（登録商標）インタフェース等、家庭用テレビジョンに対して映像等を出力するインタフェースを有する。この出力部１５は、制御部１１から入力される指示に従い、表示するべき映像の情報を出力する。
【００４１】
次に本実施の形態の制御部１１の動作について説明する。本実施の形態の制御部１１は、機能的には図５に例示するように、受入部１１１と、角度取得部１１２と、推定部１１３と、処理実行部１１４とを含む。
【００４２】
ここで受入部１１１は、コントローラデバイス２０から所定のタイミングごと（例えば一定の時間が経過するごと）に、指位置センサ２４１や指距離センサ２４２の検出結果の情報や、手の角度の検出結果の情報を受け入れる。またこの受入部１１１は、コントローラデバイス２０が衝撃を検出したときに、衝撃を検出した旨の情報を受け入れる。
【００４３】
角度取得部１１２は、受入部１１１が受け入れた、人差指、中指、薬指、及び小指のいずれかに対応して設けられた指位置センサ２４１の検出結果の情報に基づいて、当該指位置センサ２４１に対応する指と、当該指に隣接する指との間の角度の情報を取得する。具体的に、指位置センサ２４１がデプスカメラであり、撮像して得た画像データそのものを検出結果として出力している場合、この角度取得部１１２は、当該撮像された像に基づき、所定の距離を下回る位置にある対象物の像の重心位置Ｐを求める。そして角度取得部１１２は、指位置センサ２４１の検出結果情報である画像データ（θminからθmax、φminからφmaxまでの画角の画像データ）において、（θmax，（φmin＋φmax）／２）またはθmaxの一列の画素のうち、指が撮像されている画素の位置の平均あるいは重心の位置を起点Ｑとする。角度取得部１１２はこの起点Ｑと先に求めた重心位置Ｐとを結ぶ線分と、φが一定である仮想的な線分（θ軸に平行な線分）とのなす角度ξを求め、この角度の値ξを、対応する指と、当該指に隣接する指との間の角度の情報として出力する。
【００４４】
また、コントローラデバイス２０が、指位置センサ２４１の出力に基づいて所定の距離を下回る位置にある対象物の像の重心位置Ｐと、当該対象物までの距離の平均や分散等の値を、検出結果として出力している場合は、角度取得部１１２は、撮像される画像データの画角の情報（θminからθmax、φminからφmaxまで）を用い、（θmax，（φmin＋φmax）／２）の位置を起点Ｑとする。そして角度取得部１１２はこの起点Ｑと入力された重心位置Ｐとを結ぶ線分と、φが一定である仮想的な線分（θ軸に平行な線分）とのなす角度ξを求め、この角度の値ξを、対応する指と、当該指に隣接する指との間の角度の情報として出力する。
【００４５】
なお、既に述べたように、ユーザが指を伸ばしている状態では、指の像は指のある側（右手に装着されているコントローラデバイス２０において撮像される像ではθ方向であって、θの値が大きい側、左手に装着されているコントローラデバイス２０において撮像される像ではθ方向であって、θの値が小さい側）に撮像される。そこで、角度取得部１１２は、重心Ｐの位置（Ｐθ，Ｐφ）のうち、Ｐθと（θmin＋θmax）／２との差が予め定めたしきい値を下回る（重心Ｐの位置が比較的手のひらと反対側に位置している）ときには、指先のみが撮像されているものとして、角度を「不明」としてもよい。また角度取得部１１２は、この例に限らず、撮像された指の像の面積が予め定めたしきい値以上である場合など、指先のみが撮像されているものと判断できる場合は、角度を「不明」としてもよい。
【００４６】
推定部１１３は、角度取得部１１２が求めた角度の値ξに基づいて、ユーザの手の各指間の角度を推定する。具体的にこの推定部１１３は、角度取得部１１２が出力する情報が「不明」である場合は、角度に関する情報を出力しない。
【００４７】
一方、角度取得部１１２が出力する角度の値が、「不明」ではない場合（値ξである場合）は、推定部１１３は、当該角度の値ξを、人差指と中指との間の角度、中指と薬指との間の角度、薬指と小指との間の角度を表す情報として出力する。
【００４８】
すなわち本実施の形態のある例では、この推定部１１３は、人差指、中指、薬指、及び小指のいずれかの指と、それに隣接する指とがなす角度に関する情報を用い、当該情報をもって、人差指、中指、薬指、及び小指の他の指と、当該他の指に隣接する指とがなす角度であると推定する。
【００４９】
処理実行部１１４は、ここで推定されたユーザの手の各指間の角度の情報を、所定の処理に供する。一例として、この処理実行部１１４は、ユーザが指を揃えて伸ばしている（図３（ｅ））のか、指を開いて伸ばしている（図３（ｃ））のかを判別する。そして処理実行部１１４は、ゲームの処理において、指を揃えて伸ばしていると判断したときと、指を開いて伸ばしていると判断したときとで、ユーザが制御しているキャラクタの動作を異ならせる。
【００５０】
［動作］
本実施の形態の情報処理システムは、基本的に以上の構成を備えており、次のように動作する。以下の例では、コントローラデバイス２０には、人差指に対応する指位置センサ２４１としてのデプスカメラが設けられ、指位置センサ２４１が設けられていない中指、薬指、及び小指のそれぞれに対応して、指距離センサ２４２が設けられているものとする。
【００５１】
ユーザが、コントローラデバイス２０を左右の手にそれぞれ固定して、コントローラデバイス２０と情報処理装置１とを起動すると、人差指に対応する指位置センサ２４１が所定のタイミングごと（例えば一定の時間が経過するごと）に所定の検出可能範囲内の画像データを撮像する。
【００５２】
ここでユーザが、例えば右手の人差指、中指、薬指、及び小指を揃えて伸ばした状態（図３（ｅ））とすると、指位置センサ２４１が図３（ｆ）に例示した画像データを撮像する。コントローラデバイス２０はこの撮像した画像データから、指位置センサ２４１の出力に基づいて所定の距離を下回る位置にある（画素値の輝度がしきい値を超える範囲にある）対象物の像の重心位置Ｐと、当該対象物までの距離の平均や分散等の値を求める。
【００５３】
そしてコントローラデバイス２０は、当該求めた重心位置Ｐと、当該対象物までの距離の平均や分散等の値を指位置センサ２４１の検出結果として出力する。またコントローラデバイス２０は、指距離センサ２４２の検出結果の情報や、手の角度の検出結果の情報を出力する。
【００５４】
情報処理装置１は、図６に例示するように、コントローラデバイス２０から所定のタイミングごとに、指位置センサ２４１や指距離センサ２４２の検出結果の情報や、手の角度の検出結果の情報を受け入れる（Ｓ１）。
【００５５】
なお、情報処理装置１は、コントローラデバイス２０の指位置センサ２４１にて撮像される画像データの画角の情報（θminからθmax、φminからφmaxまで）を用い、（θmax，（φmin＋φmax）／２）の位置を起点Ｑとして求めておく。
【００５６】
情報処理装置１は、コントローラデバイス２０から受信した、対象物の像の重心位置Ｐの座標（Ｐθ，Ｐφ）と、起点Ｑとを結ぶ線分と、φが一定である仮想的な線分（θ軸に平行な線分）とのなす角度ξを求め、この角度の値ξを、対応する人差指と、当該人差指に隣接する中指との間の角度の値とする（Ｓ２）。
【００５７】
ここでは図３（ｆ）に例示したＰ，Ｑを結ぶ線分と、φが一定である仮想的な線分（θ軸に平行な線分）とのなす角度ξはほぼ０度となる。
【００５８】
情報処理装置１は、ここで求めた人差指と中指との間の角度の値ξを用い、中指と薬指との間の角度、及び薬指と小指との間の角度もこの値ξ（ここでは０度）であると推定する（Ｓ３）。
【００５９】
そして情報処理装置１は、処理Ｓ３で推定した値に基づいて、ユーザの右手において指が揃えて伸ばされた状態であるとした処理を実行する（Ｓ４）。情報処理装置１は、この処理Ｓ１からＳ４を繰り返し実行する。
【００６０】
次にユーザが、例えば右手の人差指、中指、薬指、及び小指を伸ばした状態で、各指間を開くと（図３（ｃ）の状態とすると）、指位置センサ２４１が図３（ｄ）に例示した画像データを撮像する。コントローラデバイス２０はこの撮像した画像データから、指位置センサ２４１の出力に基づいて所定の距離を下回る位置にある（画素値の輝度がしきい値を超える範囲にある）対象物の像の重心位置Ｐと、当該対象物までの距離の平均や分散等の値を求める。
【００６１】
そしてコントローラデバイス２０は、当該求めた重心位置Ｐと、当該対象物までの距離の平均や分散等の値を指位置センサ２４１の検出結果として出力する。またコントローラデバイス２０は、指距離センサ２４２の検出結果の情報や、手の角度の検出結果の情報を出力する。
【００６２】
このときには情報処理装置１は、図６に例示した処理Ｓ１にて、コントローラデバイス２０から指位置センサ２４１や指距離センサ２４２の検出結果の情報や、手の角度の検出結果の情報を受け入れると、処理Ｓ２にて、当該コントローラデバイス２０から受信した、対象物の像の重心位置Ｐの座標（Ｐθ，Ｐφ）と、予め求めておいた起点Ｑとを結ぶ線分と、φが一定である仮想的な線分（θ軸に平行な線分）とのなす角度ξを求め、この角度の値ξを、対応する人差指と、当該人差指に隣接する中指との間の角度の値とする。
【００６３】
ここでは図３（ｄ）に例示したＰ，Ｑを結ぶ線分と、φが一定である仮想的な線分（θ軸に平行な線分）とのなす角度ξは０より大きく、例えば１５度となる。
【００６４】
情報処理装置１は、処理Ｓ３にて、ここで求めた人差指と中指との間の角度の値ξを用い、中指と薬指との間の角度、及び薬指と小指との間の角度もこの値ξ（ここでは１５度）であると推定する。
【００６５】
そして情報処理装置１は、処理Ｓ４において、処理Ｓ３で推定した値に基づいて、ユーザの右手において指を開いて伸ばされた状態であるとした処理を実行する。
【００６６】
［中指、薬指における別の例］
なお、一般に人間の指では、人差指や小指に比べ、中指や薬指の可動範囲が狭くなっている。このため、上述の処理により中指または薬指の指先の方向（隣接する指との間の角度ξ）を推定すると、推定した値が実際の値より小さくなることがある。
【００６７】
そこで本実施の形態の一例では、情報処理装置１は、中指または薬指に対応する指位置センサ２４１の検出結果に基づいて演算した角度ξについては、そのまま隣接する指との間の角度とせず、予め定められた補正値（１を超える正の値）αを乗じて、対応する指と当該指に隣接する指との間の角度をα×ξと推定する。
【００６８】
この場合、情報処理装置１は、他の指間（人差指と中指との間、薬指と小指との間など）の角度も、この推定された角度α×ξと推定する。なお、補正値αは、指間ごと（人差指と中指との間、中指と小指との間、薬指と小指との間のそれぞれ）に異なって設定されてもよい。
【００６９】
［指距離センサの情報を用いる例］
また本実施の形態では、指距離センサ２４２の検出結果の情報を併せて用い、ユーザの手のポーズを推定することとしてもよい。この例では、推定部１１３は、角度取得部１１２が出力する角度の値ξと、受入部１１１が受け入れた指距離センサ２４２の検出結果の情報とを用いて、次のようにユーザの手のポーズを推定する。
【００７０】
以下では一例として、指位置センサ２４１が人差指に対応して設けられ、指距離センサ２４２が中指、薬指、及び小指に対応して設けられているものとする。このとき、ユーザが図７（ａ）に例示するように、指間を開いた状態で人差指、中指、薬指、及び小指の指を伸ばしているときには、角度の値ξは「０」より大きい値（例えば１５度）となる。また中指、薬指、及び小指に対応する指距離センサ２４２は、指を検出できず、指先の方向にある床や壁等までの距離（既に述べたように指を検出した場合に比べ十分大きいので、この値を便宜的に「∞」と表す）を検出する（図７（ｂ））。
【００７１】
情報処理装置１の制御部１１の推定部１１３は、この場合は、すべての指が伸びている状態で、人差指と中指との間の角度がξであるとして、当該角度の値ξを、人差指と中指との間の角度、中指と薬指との間の角度、薬指と小指との間の角度を表す情報として出力する。
【００７２】
一方、ユーザが図７（ｃ）に例示するように、人差指と中指とを開いた状態で伸ばし、薬指と小指とを曲げている（つまり、じゃんけんにおけるチョキの状態としている）と、角度の値ξは「０」より大きい値（例えば１５度）となり、また薬指と小指に対応する指距離センサ２４２は、コントローラデバイス２０に接触した指を検出するので、薬指と小指までの距離として「０」を検出する（図７（ｄ））。
【００７３】
このときには、制御部１１の推定部１１３は、人差指と中指との間の角度をξとし、中指と薬指との間の角度、薬指と小指との間の角度を表す情報を「不定」とする。
【００７４】
さらに、ユーザが図７（ｅ）に例示するように、人差指と中指とを揃えた状態で伸ばし、薬指と小指を曲げていると、角度の値ξは「０」となり、また薬指と小指に対応する指距離センサ２４２は、コントローラデバイス２０に接触した指を検出するので、薬指と小指までの距離として「０」を検出する（図７（ｆ））。
【００７５】
このときには、制御部１１の推定部１１３は、人差指と中指との間の角度をξ＝０とし、中指と薬指との間の角度、薬指と小指との間の角度を表す情報を「不定」とする。
【００７６】
以上に説明したように、本実施の形態では、人差指と中指との間を開いたときには、他の指間が開かれた状態となり、人差指と中指との間を閉じた（人差指と中指とを揃えた）ときには、他の指も揃えた状態となることが自然な姿勢であることに着目し、中指と薬指、薬指と小指間の角度が、人差指と中指との間の角度ξに実質的に等しいと推定する。このため、本実施の形態によれば、人差指、中指、薬指、及び小指の一部の指について、隣接する指との角度を検出するセンサを設けることで、他の指間の角度を検出するセンサを省くことができ、コストの増大を抑制できる。
【００７７】
［変形例］
また本実施の形態のここまでの説明では、受入部１１１と、角度取得部１１２と、推定部１１３としての処理を、情報処理装置１の制御部１１によって行うこととしていたが、本実施の形態はこれに限られない。
【００７８】
すなわち本実施の形態の一例では、コントローラデバイス２０の制御部２１において、指位置センサが検出した人差指、中指、薬指、及び小指の一部の指についての指先の方向に基づき、当該指と、当該指に隣接する指との間の角度の情報を取得し、当該取得の結果に基づいて、ユーザの手の人差指、中指、薬指、及び小指の各指間の角度を推定して、当該推定したユーザの手の各指間の角度の情報を、情報処理装置１に送出して、所定の処理に供させることとしてもよい。
【００７９】
この場合、中指または薬指に対応する指位置センサ２４１の検出結果に基づいて演算した角度ξについて、そのまま隣接する指との間の角度とせず、予め定められた補正値（１を超える正の値）αを乗じて、対応する指と当該指に隣接する指との間の角度をα×ξと推定する処理も、制御部２１にて行うこととしてもよい。
【００８０】
さらに、指距離センサ２４２の検出結果の情報を併せて用い、ユーザの手のポーズを推定する処理についても、制御部２１にて行ってもよい。
【符号の説明】
【００８１】
１  情報処理装置、１１  制御部、１２  記憶部、１３  インタフェース部、１４  撮像部、１５  出力部、２０  コントローラデバイス、２１  制御部、２２  記憶部、２３  操作インタフェース、２４  センサ部、２５  通信部、１１１  受入部、１１２  角度取得部、１１３  推定部、１１４  処理実行部、２１０  デバイス本体、２１１  把持部、２１２  操作部、２１３  位置提示部、２２０  固定具、２３１  ボタン操作部、２４１  指位置センサ、２４２  指距離センサ、２４３  傾きセンサ、２４４  加速度センサ。
【図１】
0006661783.tif 000002
【図２】
0006661783.tif 000003
【図３】
0006661783.tif 000004
【図４】
0006661783.tif 000005
【図５】
0006661783.tif 000006
【図６】
0006661783.tif 000007
【図７】
0006661783.tif 000008