(57)【要約】  少なくともユーザの指ごとに設けられた近接センサを備えたコントローラデバイスに接続され、当該近接センサの検出結果に基づき、ユーザの指の曲げ量を第１の方法で推定し、また、その第１の推定方法とは異なる第２の方法で、ユーザの手の姿勢・形状を推定し、当該第２の方法で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報を、第１の方法で推定された情報を用いて修正し、ユーザの手の姿勢・形状に関する情報を生成する情報処理装置である。
2019159332.tif 000002
【特許請求の範囲】
【請求項１】
近接センサを用い、当該近接センサの検出結果に基づき、ユーザの指の曲げ量を推定する第１の推定手段と、
前記第１の推定手段とは異なる方法で、ユーザの手の姿勢・形状を推定する第２の推定手段と、
前記第２の推定手段で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報を、前記第１の推定手段で推定された情報を用いて修正し、ユーザの手の姿勢・形状に関する情報を生成する生成手段と、
を含む情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記第１の推定手段が用いる前記近接センサは赤外線センサまたは静電容量センサである情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記第２の推定手段は、一次元的または二次元的に配列されたセンサ群の出力を用い、当該センサ群の出力に基づいて手の姿勢・形状を推定する情報処理装置。
【請求項４】
請求項１または２に記載の情報処理装置であって、
前記近接センサは、ユーザの手に把持されるデバイス表面に配された、手の接触状態を検出するセンサであり、
前記第１の推定手段は、当該ユーザの手に把持されるデバイス表面に配された、手の接触状態を検出するセンサの検出結果の情報に基づいて、ユーザの指の曲げ量を推定する情報処理装置。
【請求項５】
情報処理装置と、ユーザの手に把持されるコントローラデバイスとを含む情報処理システムであって、
前記コントローラデバイスは、
ユーザの手にコントローラデバイス自身を接触させた状態で固定する固定具と、
少なくともユーザの指ごとに設けられた近接センサと、を備え、
当該近接センサによるユーザの各指までの距離を表す情報を検出結果の情報として前記情報処理装置に出力し、
前記情報処理装置は、前記コントローラデバイスから入力される前記近接センサの検出結果の情報に基づいてユーザの各指の曲げ量を推定する第１の推定手段と、
前記第１の推定手段とは異なる方法で、ユーザの手の姿勢・形状を推定する第２の推定手段と、
前記第２の推定手段で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報を、前記第１の推定手段で推定された情報を用いて修正し、ユーザの手の姿勢・形状に関する情報を生成する生成手段と、
を含み、
前記コントローラデバイスの前記近接センサの少なくとも一部は、前記固定具上に配されてなる情報処理システム。
【請求項６】
ユーザの手に把持されるコントローラデバイスであって、
ユーザの手にコントローラデバイス自身を接触させた状態で固定する固定具と、
少なくともユーザの指ごとに設けられた近接センサと、
当該近接センサによるユーザの指までの距離を表す情報を検出結果の情報として出力する制御部とを備え、
前記近接センサの少なくとも一部は、前記固定具上に配されてなるコントローラデバイス。
【請求項７】
コンピュータを用い、
第１の推定手段が、少なくともユーザの指ごとに設けられた近接センサを用い、当該近接センサの検出結果に基づき、ユーザの指の曲げ量を推定する工程と、
第２の推定手段が、前記第１の推定手段とは異なる方法で、ユーザの手の姿勢・形状を推定する工程と、
生成手段が、前記第２の推定手段で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報を、前記第１の推定手段で推定された情報を用いて修正し、ユーザの手の姿勢・形状に関する情報を生成する工程と、
を含む情報処理方法。
【請求項８】
コンピュータに、
少なくともユーザの指ごとに設けられた近接センサを用い、当該近接センサの検出結果に基づき、ユーザの指の曲げ量を推定する第１の推定工程と、
前記第１の推定工程とは異なる方法で、ユーザの手の姿勢・形状を推定する第２の推定工程と、
前記第２の推定工程で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報を、前記第１の推定工程で推定された情報を用いて修正し、ユーザの手の姿勢・形状に関する情報を生成する生成工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、コントローラデバイス、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
家庭用ゲーム機等におけるコントローラデバイスは、ユーザが行ったボタン押下やデバイスを振る等の動作を検出して、ゲーム機等の本体に当該検出したユーザの動作を表す情報を送出している。【０００３】
また近年、こうしたコントローラデバイスの一つとして、カメラによりユーザの手や指を撮像して、ユーザの手の姿勢や形状（位置や向き、ポーズなど）の情報を取得するものが知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、カメラによりユーザの手や指を撮像してユーザの手の姿勢や形状の情報を取得しようとする場合、カメラの配置とユーザの手の位置によっては、カメラから指の動きが撮像できず、ユーザの手の姿勢や形状について十分な情報が得られない場合がある。また、カメラからの映像では、映像の解像度に限界があるために、ユーザの指先の詳細な動きを認識することが難しい。【０００５】
本発明は上記実情に鑑みて為されたもので、ユーザの手の姿勢や形状の情報をより精密に取得できる情報処理装置、情報処理システム、コントローラデバイス、情報処理方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００６】
上記従来例の問題点を解決する本発明の一態様は、情報処理装置であって、近接センサを用い、当該近接センサの検出結果に基づき、ユーザの指の曲げ量を推定する第１の推定手段と、前記第１の推定手段とは異なる方法で、ユーザの手の姿勢・形状を推定する第２の推定手段と、前記第２の推定手段で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報を、前記第１の推定手段で推定された情報を用いて修正し、ユーザの手の姿勢・形状に関する情報を生成する生成手段と、を含むこととしたものである。
【発明の効果】
【０００７】
本発明によると、近接センサにより取得される指の曲げ量の情報を用いて、カメラによる撮像画像等、近接センサ以外の方法によって推定されたユーザの手の姿勢・形状の情報を修正するので、ユーザの手の姿勢や形状の情報をより精密に取得できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る情報処理システムの構成例を表すブロック図である。
【図２】本発明の実施の形態に係るコントローラデバイスの例を表す概略斜視図である。
【図３】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【図４】本発明の実施の形態に係るコントローラデバイスが出力する検出結果の例を表す説明図である。
【図５】本発明の実施の形態に係る情報処理装置が推定する指に関する情報の例を表す説明図である。
【図６】本発明の実施の形態に係る情報処理装置の動作例を表すフローチャート図である。
【発明を実施するための形態】
【０００９】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システム１は、図１に例示するように、ユーザの手に把持されるコントローラデバイス１０と、情報処理装置２０とを含んで構成される。
【００１０】
コントローラデバイス１０は、図２にその概要を例示するように、実質的に柱状の筐体１１を有し、この筐体１１には、ユーザの指に通して筐体１１をユーザの指の付け根付近に固定する固定具１２が取り付けられている。本実施の形態の一例では、この固定具１２は、環状のベルトであり、環状部の径を調整することで、ユーザの手に筐体１１を固定可能となっている。
【００１１】
なお、本実施の形態の説明において、各部の大きさやその比、配置等は一例であり、本実施の形態の例は、図示等した大きさや比率、配置に限られるものではない。
【００１２】
また本実施の形態のある例では、筐体１１の表面に、複数の近接センサ１３が、少なくともユーザの指ごとに（少なくとも各指に対応する数だけ）設けられている。この近接センサ１３は、例えば赤外線（ＩＲ）センサであり、赤外線発光部１３ｓと赤外線受光部１３ｒとを含んで構成される。この例の近接センサ１３は、コントローラデバイス１０をユーザの手に固定したとき、赤外線発光部１３ｓと赤外線受光部１３ｒとが、ユーザの指の方向に赤外線を放射し、また、当該ユーザの指の方向から反射されて戻ってきた赤外線を検出する。
【００１３】
そしてこの例の近接センサ１３は、赤外線発光部１３ｓが放射した赤外線を赤外線受光部１３ｒで受光したときの結像位置を用いた三角測距法等により、各近接センサ１３と、当該近接センサ１３からユーザの指の方向を見たときに最初に出会う物体（ユーザの指等）までの距離を表す情報を取得する。そしてこの近接センサ１３は、当該距離の情報を出力する。
【００１４】
本実施の形態の例では、近接センサ１３が少なくとも指ごとに設けられる（各指を個別に検出可能なよう、少なくとも指の数だけ設けられる）こととしているので、コントローラデバイス１０は、この近接センサ１３により、コントローラデバイス１０自身の筐体１１と、各近接センサ１３に対応するユーザの各指との距離の情報を得ることとなる。ここで、近接センサ１３が検出するユーザの指までの距離は、ユーザの指先までの距離であってもよいし、指の根元（中手指関節（ＭＰ関節）から、近位指節間関節（ＰＩＰ関節）までの間）までの距離であってもよい。指の根元までの距離であっても、ユーザが指を伸ばしたときには当該距離は大きくなり、ユーザが指を曲げると、その曲げ量に応じて筐体１１と指の根元までの距離は小さくなるので、この距離によってユーザの指の曲げ量が検出可能となる。
【００１５】
さらにコントローラデバイス１０の筐体１１には、筐体１１をユーザが把持したときに、ユーザの指（親指や、人指指等一部の指でもよい）が到達する位置に、操作部１４が配されている。この操作部１４は、例えばボタンや、傾倒操作可能なジョイスティック等を含んでもよい。
【００１６】
またコントローラデバイス１０は、筐体１１内部に回路部１５を備える。この回路部１５は、マイクロコンピュータのほか、ＵＳＢ等の有線通信ユニット、あるいはブルートゥース（登録商標）等の無線通信ユニット等を備え、情報処理装置２０との間で情報を送受する。この回路部１５は、各近接センサ１３が得た、対応するユーザの指までの距離を表す情報を情報処理装置２０に対して所定のタイミングごと（例えば定期的なタイミングごと）に繰り返して送出している。またこの回路部１５は、ユーザが操作部１４に対して行った操作を表す情報（ボタンの押下量や、ジョイスティックの傾倒方向、傾倒量等の情報）を、所定のタイミングごと（例えば定期的なタイミングごと）に繰り返して送出する。
【００１７】
情報処理装置２０は、例えば家庭用ゲーム機であり、図１に示したように、制御部２１と、記憶部２２と、操作部２３と、表示制御部２４と、通信部２５と、検出部２６とを含んで構成される。
【００１８】
ここで制御部２１は、ＣＰＵなどのプログラム制御デバイスであり、記憶部２２に格納されたプログラムに従って動作する。本実施の形態の制御部２１は、コントローラデバイス１０から受信した、ユーザの指ごとに設けられた近接センサ１３の検出結果（ここでは例えば対応する指までの距離の情報）に基づき、ユーザの指の曲げ量を推定する（以下、このコントローラデバイス１０の近接センサ１３での検出結果を用いて推定をする方法を第１の推定方法と呼ぶ）。また制御部２１は、第１の推定方法とは異なる方法（第２の推定方法と呼ぶ）で、ユーザの手の姿勢・形状を推定する。
【００１９】
この第２の推定方法は、例えば後に説明する検出部２６にて得られた画像の情報等に基づいて、ユーザの手の姿勢・形状を推定する方法がある。この第２の推定方法の例としてはボーンモデルを用いる方法や、機械学習を用いる方法等、広く知られたものが採用でき、また、例えばリープモーション社の製品であるリープモーション等を用いることもできるので、ここでの詳しい説明を省略する。
【００２０】
制御部２１は、また、第２の推定方法で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報を、第１の推定方法で推定された情報を用いて修正し、ユーザの手の姿勢・形状に関する情報を生成する。この制御部２１の動作についても後に詳しく述べる。
【００２１】
記憶部２２は、メモリデバイスやディスクデバイス等であり、制御部２１によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読、かつ非一時的な記録媒体に格納されて提供され、この記憶部２２に格納されたものであってもよい。またこの記憶部２２は、制御部２１のワークメモリとしても動作する。
【００２２】
操作部２３は、コントローラデバイス１０との間で有線または無線にて通信を行い、コントローラデバイス１０にて行われたユーザの操作の内容を表す情報を受け入れて制御部２１に出力する。またこの操作部２３は、コントローラデバイス１０から、ユーザの指ごとに設けられた近接センサ１３の検出結果を受け入れて、制御部２１に出力する。
【００２３】
表示制御部２４は、ディスプレイ等に接続され、制御部２１から入力される指示に従って、情報を表示出力するよう、ディスプレイ等を制御する。通信部２５は、例えばネットワークインタフェースであり、制御部２１から入力される指示に従い、ネットワークを介して情報を送受する。
【００２４】
検出部２６は、例えばコントローラデバイス１０を把持するユーザを撮像する方向を撮像するよう設置された一対のカメラであり、二次元的に（マトリクス状または千鳥配列等平面的に）配列された光学センサの群（センサ群）を含む。この光学センサは、例えばＣＣＤやＣＭＯＳ等のセンサであってもよい。また、赤外線検出素子であってもよい。
【００２５】
この検出部２６は、ユーザを撮像した画像データを所定のタイミングごとに繰り返し得て、制御部２１に対して当該画像データを出力している。なお、この検出部２６は一例であり、本実施の形態の別の例では、検出部２６は、ユーザの像を撮像した画像データをそのまま出力するのではなく、例えば得られた画像の各画素に対応する方向に最初にある物体表面までの距離を表す、いわゆるデプスマップの画像を出力するものであってもよいし、赤外線検出素子を含んで、赤外線サーモグラフィの出力（赤外光の撮像結果、すなわちヒートマップ）を行うものなど、撮像により得られる種々の情報であってもよい。
【００２６】
次に制御部２１の動作について説明する。本実施の形態の制御部２１は、記憶部２２に格納されたプログラムを実行することで、図３に例示するように、機能的に、第１の推定処理部３１と、第２の推定処理部３２と、修正処理部３３と、出力部３４とを含む情報処理装置を実現する。
【００２７】
ここで第１の推定処理部３１は、コントローラデバイス１０の近接センサ１３の検出結果に基づき、ユーザの各指の曲げ量を推定する。すなわち、この第１の推定処理部３１は、コントローラデバイス１０から、各近接センサ１３が測定した距離の情報を取得する。
【００２８】
具体的にこの各近接センサ１３が測定した距離の情報は、コントローラデバイス１０が固定されているユーザの手の人差指側から小指側にかけての配列順にグラフとして示すと、図４に例示するように、ユーザがすべての指を曲げている場合は、近接センサ１３から曲げられた指までの距離となるので、各指までの位置が、指ごとのピーク（下側のピーク）Ｐ１，Ｐ２…として現れる。
【００２９】
そこで第１の推定処理部３１は、初期のキャリブレーションの処理として、ユーザがすべての指を曲げてコントローラデバイス１０を把持したポーズをしているときに、上記ピークの位置を検出して、各指に対応する近接センサ１３を少なくとも一つずつ選択して、当該選択した近接センサ１３を特定する情報（人差指側からｎ番目などとしたときの値ｎで特定すればよい）を記憶しておく。このキャリブレーションの結果は、ユーザを特定する情報とともに記憶部２２に蓄積しておき、一度キャリブレーションを行った後は、情報処理装置２０を利用するユーザを認証したときに、当該認証したユーザを特定する情報に関連付けたキャリブレーションの結果を読み出して利用することとしてもよい。また、平均的な手の大きさのユーザについてキャリブレーションを行っておき、ユーザが誰であるかに関わらず当該平均的な手の大きさのユーザについてのキャリブレーション結果を用いることとしてもよい。
【００３０】
第１の推定処理部３１は、その後、指ごとに当該記憶している近接センサ１３が出力する距離の情報に基づいて、各指の曲げ量（図５のピッチ角θＰ）を検出する。
【００３１】
本実施の形態の一例では、近接センサ１３が出力する距離の情報の変化に対して、当該近接センサ１３の出力に対応して指の曲げ量（ピッチ角θＰ）がどのように変化するかを表すデータテーブルを予め実験的に得て、記憶部２２に格納しておき、第１の推定処理部３１は、このデータテーブルを参照して、指ごとに当該記憶している近接センサ１３が出力する距離の情報（ある指に対応する近接センサ１３が複数ある場合はその平均、あるいは最小値などとしておく）に基づいて、各指の曲げ量（図５のピッチ角θＰ）を表す情報を得る。
【００３２】
第２の推定処理部３２は、検出部２６が出力する情報を用いて、ユーザの手の姿勢・形状を推定する。この第２の推定処理部３２は、例えばユーザの手を撮像するデプスセンサが出力するデプスマップに基づいて、ユーザの各指の傾き，回転角，曲げ量（図５のヨー角θＹ（手の平の面内の指の傾き、つまり指間の開き方向の角度），ロール角θＲ（指の軸Ａ周りの回転角），ピッチ角θＰ（指の曲げ方向の回転角））を推定する。この第２の推定処理部３２では、例えばデプスマップに基づいてユーザの手の位置及び各指の傾き，回転角，曲げ量（図５のヨー角θＹ，ロール角θＲ，ピッチ角θＰ）を、機械学習結果を用いて推定する。
【００３３】
また、この第２の推定処理部３２は、ユーザの手を撮像するデプスマップに基づき、さらにユーザの手の位置を表す情報を得てもよい。この情報は例えばデプスマップを出力するデプスセンサの位置を基準とした三次元座標の値で表すこととすればよい。
【００３４】
修正処理部３３は、第２の推定処理部３２が出力する各指の傾き，回転角，曲げ量（図５のヨー角θＹ，ロール角θＲ，ピッチ角θＰ）のうち、対応する指ごとに第１の推定処理部３１が得た指の曲げ量（図５のピッチ角θＰ）の情報を置き換えて修正して出力する。なお、修正処理部３３は、第２の推定処理部３２が得る情報のうち、第１の推定処理部３１が得る情報（ここでの例では、ユーザの各指のピッチ角θＰ）以外の情報については、修正を行わず、そのまま出力する。
【００３５】
出力部３４は、修正処理部３３が出力する情報を出力し、アプリケーションプログラム（例えばゲームプログラム等）の処理に供する。
【００３６】
［動作］
本発明の実施の形態に係る情報処理システム１は、以上の構成を備えてなり、次のように動作する。
【００３７】
ユーザがコントローラデバイス１０を手（左手、または右手の少なくとも一方の手）に把持し、固定具１２に指を通して締結し、指の付け根に筐体１１が当接する位置に固定する。これにより、ユーザが手を開いても（指を伸ばしても）、コントローラデバイス１０は落下することがなくなる。
【００３８】
コントローラデバイス１０は、例えばユーザの指の方向に赤外線を放射し、また、当該ユーザの指の方向から反射されて戻ってきた赤外線を検出する近接センサ１３を複数備え、コントローラデバイス１０を把持しているユーザの手の各指（ここでは人差指、中指、薬指、小指とするが、親指についても親指を検出する近接センサ１３を配してその曲げ量を検出してもよい）の曲げ量（ピッチ角θＰ）の情報を所定のタイミングごとに繰り返し得て、情報処理装置２０に対して送信する。
【００３９】
情報処理装置２０は、図６に例示する処理を実行し、コントローラデバイス１０から受信した、ユーザの指ごとに設けられた近接センサ１３の検出結果（ここでは例えば対応する指までの距離の情報）に基づく第１の推定方法により、ユーザの指の曲げ量としてユーザの各指（ここでは人差指、中指、薬指、小指とする）のピッチ角θＰ′１，θＰ′２，θＰ′３，θＰ′４を推定する（Ｓ１）。
【００４０】
また情報処理装置２０は、自身に接続された検出部２６であるカメラにて撮像されたユーザの手の画像、あるいは、デプスセンサによる撮像結果（デプスマップ）に基づく、第１の推定方法とは異なる第２の推定方法により、コントローラデバイス１０を把持しているユーザの手の位置、及び姿勢・形状を推定する（Ｓ２）。
【００４１】
この処理Ｓ２では、コントローラデバイス１０を把持しているユーザの手の位置（ｘ，ｙ，ｚ）と、姿勢・形状の情報（ユーザの手首の下腕方向まわりの角度α、手首関節の曲げ量β、及び各指の傾きθＹ１，θＹ２…、各指の回転角θＲ１，θＲ２，…、各指の曲げ量θＰ１，θＰ２，…）を得る。なお、各指の傾きや回転角、曲げ量の情報は、ユーザの手の平の面を基準として（指の付け根を基準として、例えば指をそろえてまっすぐに伸ばしたときの傾きθＹ＝０、回転角θＲ＝０、曲げ量θＰ＝０などとして）表すように検出する。
【００４２】
情報処理装置２０は、第２の推定方法で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報θＰ１，θＰ２，θＰ３，θＰ４を、第１の推定方法で推定された情報θＰ′１，θＰ′２，θＰ′３，θＰ′４で置き換えて修正し（Ｓ３）、ユーザの手の姿勢・形状に関する情報を生成して出力する（Ｓ４）。
【００４３】
なお、情報処理装置２０は、処理Ｓ３において第２の推定方法で得られる情報のうち、第１の推定方法により得られる情報（ここでの例では、ユーザの各指のピッチ角θＰ）以外の情報については、修正を行わない。従って、処理Ｓ４で出力される情報は、処理Ｓ２で推定されたユーザの手の位置（ｘ，ｙ，ｚ）と、姿勢・形状の情報のうち、ユーザの手首の下腕方向まわりの角度α、手首関節の曲げ量β、及び各指の傾きθＹ１，θＹ２…の情報、並びに、処理Ｓ１で推定された  ユーザの各指のピッチ角θＰ′１，θＰ′２，θＰ′３，θＰ′４となる。
【００４４】
このユーザの手の位置や、姿勢・形状の情報（ただし、指のピッチ角など、コントローラデバイス１０側のセンサの出力により修正されているもの）は、ゲーム等のアプリケーションプログラムの処理に利用される。
【００４５】
［近接センサの位置］
なお、本実施の形態のここまでの説明では、コントローラデバイス１０の近接センサ１３は、筐体１１のうち、ユーザの手に把持されたとき、ユーザの指の側の面に配されるものとしていた（ユーザの指の側に赤外線を放射し、当該側からの反射光を受光可能な位置に配していた）が、本実施の形態はこれに限られない。
【００４６】
一例として本実施の形態のコントローラデバイス１０の近接センサ１３の少なくとも一部は、固定具１２上に配されてもよい。すなわち、本実施の形態では、固定具１２のユーザの指の側に向く面にも近接センサ１３を配してもよい。この場合、当該固定具１２上に配した近接センサ１３は、ユーザが指を伸ばしていくにつれて、指が近接しているものとして検出することとなる。
【００４７】
従ってこの例では、情報処理装置２０の制御部２１はさらに、ユーザがすべての指を伸ばしたポーズをしているときに、固定具１２上に配した各近接センサ１３のうち、各指を実際に検出している近接センサ１３を一つずつ選択する（例えば初期のキャリブレーションの処理として、ユーザに人差指から順番に伸ばしてもらい、その間の検出結果に基づいて、各指を検出している近接センサ１３を特定することとしてもよい）。このキャリブレーションの結果も、記憶部２２に、ユーザを特定する情報とともに蓄積しておき、後の処理に供してもよい。
【００４８】
情報処理装置２０の制御部２１は、指ごとに当該記憶している近接センサ１３が出力する距離の情報に基づいて、各指の曲げ量（図５のピッチ角θＰ）を検出するが、この際、近接センサ１３のうち、筐体１１に配されているものについては、筐体１１側に配した近接センサ１３の出力に対応して指の曲げ量（ピッチ角θＰ）がどのように変化するかを表す第１のデータテーブルを予め実験的に得て、記憶部２２に格納しておき、また、固定具１２に配した近接センサ１３の出力に対応して指の曲げ量（ピッチ角θＰ）がどのように変化するかを表す第２のデータテーブルも予め実験的に得て、記憶部２２に格納しておく。
【００４９】
情報処理装置２０は、筐体１１側に配された、指ごとに当該記憶している近接センサ１３が出力する距離の情報（ある指に対応する近接センサ１３が複数ある場合はその平均、あるいは最小値などとしておく）に基づいて、第１のデータテーブルを参照して、各指の曲げ量（図５のピッチ角θＰ）を表す情報を得る。
【００５０】
また情報処理装置２０は、固定具１２側に配された、指ごとに当該記憶している近接センサ１３が出力する距離の情報（ある指に対応する近接センサ１３が複数ある場合はその平均、あるいは最小値などとしておく）に基づいて、第２のデータテーブルを参照して、各指の曲げ量（図５のピッチ角θＰ）を表す情報を得る。
【００５１】
この例では、筐体１１及び固定具１２のそれぞれに配された近接センサ１３から同じ指（例えば人差指）について複数のピッチ角θＰの情報が得られたならば、情報処理装置２０は、それらの平均値を求めて、当該平均値により、第２の推定方法で推定されたユーザの手の姿勢・形状の情報を修正してもよい。
【００５２】
［修正方法の別の例］
またここまでの例では、情報処理装置２０は、第２の推定方法で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報θＰ１，θＰ２，θＰ３，θＰ４を、第１の推定方法で推定された情報θＰ′１，θＰ′２，θＰ′３，θＰ′４で置き換えて修正することとしていたが、本実施の形態はこれに限られない。
【００５３】
例えば、情報処理装置２０は、第２の推定方法で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報θＰ１，θＰ２，θＰ３，θＰ４と、第１の推定方法で推定された情報θＰ′１，θＰ′２，θＰ′３，θＰ′４との加重平均により、第２の推定方法で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報θＰ１，θＰ２，θＰ３，θＰ４を修正してもよい。
【００５４】
一例として、情報処理装置２０は、第２の推定方法で推定されたユーザの手の姿勢・形状の情報のうち、各指の曲げ方向の移動量の情報θＰ１，θＰ２，θＰ３，θＰ４を、当該各指の曲げ方向の移動量の情報θＰ１，θＰ２，θＰ３，θＰ４と、第１の推定方法で推定された情報θＰ′１，θＰ′２，θＰ′３，θＰ′４との加重平均、すなわち
θＰ″１＝（ａ・θＰ１＋ｂ・θＰ′１）／（ａ＋ｂ）
θＰ″２＝（ａ・θＰ２＋ｂ・θＰ′２）／（ａ＋ｂ）
θＰ″３＝（ａ・θＰ３＋ｂ・θＰ′３）／（ａ＋ｂ）
θＰ″４＝（ａ・θＰ４＋ｂ・θＰ′４）／（ａ＋ｂ）
で置き換えることとしてもよい。ここで、ａ，ｂはそれぞれ実数であり、予め実験的に定めておくこととすればよい。
【００５５】
また別の例では、θＰやθＰ′の大きさによって加重平均の重みａ，ｂを異ならせてもよい。例えば指を曲げるほど、近接センサ１３に基づく推定（第１の推定方法）の結果が信頼できると判断される場合は、第２の推定方法による推定結果θＰや、近接センサ１３に基づく推定の結果θＰ′が大きいほど、対応する加重平均値ｂがａに比べて大きくなるように設定する。例えばｂ＝ｆ（（θＰ＋θＰ′）／２）とする。ここでｆ（ｘ）は、ｘについての単調増加関数とする。
【００５６】
［近接センサの別の例］
また以上の説明では、近接センサ１３として赤外線を用いたセンサを例として説明したが、本実施の形態はこれだけに限られない。例えば、近接センサ１３は、コントローラデバイス１０の筐体１１の表面に配された、手の接触状態を検出する静電容量センサ等であってもよい。この場合、静電容量センサは、必ずしも指ごとに設けられなくてもよく、一体の静電容量センサにより複数の指の曲げ量の情報を検出してもよい。
【００５７】
一例として、コントローラデバイス１０は当該センサの出力を情報処理装置２０に送出し、情報処理装置２０が、当該の手の接触状態を検出する静電容量センサ等の検出結果の情報（各指がどの程度筐体１１から離れているか）に基づいて、指の曲げ量の情報θＰ′１，θＰ′２，θＰ′３，θＰ′４を推定する。
【００５８】
なお、本実施の形態の例において、第２の推定処理部３２は、検出部２６が出力する情報を用いて、ユーザの手の姿勢・形状を推定するものとしたが、この検出部２６は例えば、コントローラデバイス１０の表面にマトリクス状等、二次元的に配列した複数の近接センサ（静電容量センサ等のセンサの群）を含むものであってもよい。
【００５９】
この、検出部２６として機能する近接センサは、近接センサ１３とは異なるものであることが好ましく、例えば近接センサ１３として、比較的面積の広い静電容量センサを用いて、コントローラデバイス１０から指までの距離について比較的高い精度で検出するものを用いるとすると、この検出部２６の近接センサは、二次元的に配列した複数の、比較的面積の小さい静電容量センサを用い、コントローラデバイス１０から指までの距離の精度よりも、指の位置を検出することを重視したものとしてもよい。
【００６０】
また、近接センサ１３がコントローラデバイス１０に搭載されているものであるのに対し、検出部２６は、コントローラデバイス１０に取り付けられるもの（着脱可能なもの）としておいてもよい。この場合、コントローラデバイス１０は、製品としては、検出部２６の近接センサを含まないものとなる。
【００６１】
このように近接センサを用いる場合、検出部２６は、各近接センサからユーザの指までの距離（最短距離）を表す情報を出力することとなる。さらにこの場合の近接センサは二次元的に配列する例ばかりでなく、一列に（例えば指の数より多い数の近接センサを）一次元的に配列することとしてもよい。この場合、検出部２６が出力する情報は、各近接センサからユーザの指までの距離（最短距離）を表す波形情報となる。このような情報からユーザの手の姿勢・形状を推定する方法は、広く知られた方法を採用できるので、ここでの詳しい説明を省略する。
【符号の説明】
【００６２】
１  情報処理システム、１０  コントローラデバイス、１１  筐体、１２  固定具、１３  近接センサ、１４  操作部、１５  回路部、２０  情報処理装置、２１  制御部、２２  記憶部、２３  操作部、２４  表示制御部、２５  通信部、２６  検出部、３１  第１の推定処理部、３２  第２の推定処理部、３３  修正処理部、３４  出力部。
【図１】
2019159332.tif 000003
【図２】
2019159332.tif 000004
【図３】
2019159332.tif 000005
【図４】
2019159332.tif 000006
【図５】
2019159332.tif 000007
【図６】
2019159332.tif 000008
【国際調査報告】
2019159332.tif 000009
2019159332.tif 000010
2019159332.tif 000011
2019159332.tif 000012
2019159332.tif 000013
2019159332.tif 000014
2019159332.tif 000015
2019159332.tif 000016