(57)【要約】ユーザが手に装着するコントローラ装置であって、コントローラ本体と、前記コントローラ本体をユーザが握ったときに、ユーザの複数の指が当接するコントローラ本体上の位置に配され、ユーザの複数の各指と自己自身の空間的な位置の変位を検出する第１のセンサと、前記ユーザの各指先が到達する位置に配され、それぞれ対応する指で操作可能なボタンと、前記第１のセンサと、前記ボタンとの間、及び前記ボタンの表面上に配され、ユーザの複数の各指と自己自身の空間的な位置の変位を検出する複数の第２のセンサと、を有することとした。
2020079853.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが手に装着可能なコントローラ装置と情報処理装置とを含み、
前記コントローラ装置が、
コントローラ本体と、
前記コントローラ本体をユーザが握ったときに、ユーザの複数の指が当接するコントローラ本体上の位置に配される第１のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する第１のセンサと、
前記ユーザの各指先が到達する位置に配され、それぞれ対応する指で操作可能なボタンと、
前記第１のセンサと、前記ボタンとの間、及び前記ボタンの表面上に配される第２のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する複数の第２のセンサと、
を有し、
前記情報処理装置が、
前記第１のセンサと、前記第２のセンサとの検出結果を受け入れ、当該第１のセンサと、前記第２のセンサとの検出結果に基づいて前記コントローラ装置の装着状態を判定する処理を実行する、情報処理システム。
【請求項２】
ユーザが手に装着するコントローラ装置であって、
コントローラ本体と、
前記コントローラ本体をユーザが握ったときに、ユーザの複数の指が当接するコントローラ本体上の位置に配される第１のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する第１のセンサと、
前記ユーザの各指先が到達する位置に配され、それぞれ対応する指で操作可能なボタンと、
前記第１のセンサと、前記ボタンとの間、及び前記ボタンの表面上に配される第２のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する複数の第２のセンサと、
を有するコントローラ装置。
【請求項３】
請求項２に記載のコントローラ装置であって、
前記第１のセンサは、前記コントローラ本体をユーザが握ったときに、ユーザの複数の指の付け根部分に対応する位置に配されるコントローラ装置。
【請求項４】
コントローラ本体をユーザが握ったときに、ユーザの複数の指が当接するコントローラ本体上の位置に配される第１のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する第１のセンサと、前記ユーザの各指先が到達する位置に配され、それぞれ対応する指で操作可能なボタンと、前記第１のセンサと、前記ボタンとの間、及び前記ボタンの表面上に配される第２のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する複数の第２のセンサと、を有するコントローラ装置に接続される情報処理装置であって、
前記第１のセンサと、前記第２のセンサとの検出結果を受け入れる手段と、
当該第１のセンサと、前記第２のセンサとの検出結果に基づいて前記コントローラ装置の装着状態を判定する処理を実行する手段と、
を含む情報処理装置。
【請求項５】
コントローラ本体をユーザが握ったときに、ユーザの複数の指が当接するコントローラ本体上の位置に配される第１のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する第１のセンサと、前記ユーザの各指先が到達する位置に配され、それぞれ対応する指で操作可能なボタンと、前記第１のセンサと、前記ボタンとの間、及び前記ボタンの表面上に配される第２のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する複数の第２のセンサと、を有するコントローラ装置に接続される情報処理装置を、
前記第１のセンサと、前記第２のセンサとの検出結果を受け入れる手段と、
当該第１のセンサと、前記第２のセンサとの検出結果に基づいて前記コントローラ装置の装着状態を判定する処理を実行する手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、コントローラ装置、情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
家庭用ゲーム機等で利用されるコントローラ装置のうちには、ユーザが手に装着した状態で利用することが想定されているものがある。このようなコントローラ装置は、ユーザの手にベルト等で締結して装着され、ユーザが各指を伸ばしたり屈曲させたりしたときに、当該指の屈伸を検出して、当該指の屈伸の状態に基づく操作の信号を出力する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、ユーザの手の大きさがユーザごとにまちまちであったり、また、ユーザが正しくコントローラ装置を装着していない場合があって、ユーザの指ごとの屈伸の状態を検出することが困難である場合があった。【０００４】
本発明は上記実情に鑑みて為されたもので、ユーザの指ごとの屈伸の状態を検出できる情報処理システム、コントローラ装置、情報処理装置、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００５】
上記従来例の問題点を解決する本発明の一態様は、ユーザが手に装着するコントローラ装置であって、コントローラ本体と、前記コントローラ本体をユーザが握ったときに、ユーザの複数の指が当接するコントローラ本体上の位置に配される第１のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する第１のセンサと、前記ユーザの各指先が到達する位置に配され、それぞれ対応する指で操作可能なボタンと、前記第１のセンサと、前記ボタンとの間、及び前記ボタンの表面上に配される第２のセンサであって、ユーザの前記複数の各指と自己自身との空間的な位置の変位を検出する複数の第２のセンサと、を有することとしたものである。
【発明の効果】
【０００６】
本発明によると、ユーザの指ごとの屈伸の状態を検出できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態に係るコントローラ装置の概略を表す構成図である。
【図２】本発明の実施の形態に係るコントローラ装置における第１、第２のセンサの配置例を表す説明図である。
【図３】本発明の実施の形態に係るコントローラ装置における第１、第２のセンサによる指の検出状態の例を表す説明図である。
【図４】本発明の実施の形態に係るコントローラ装置における第１、第２のセンサの出力信号の例を表す説明図である。
【図５】本発明の実施の形態に係るコントローラ装置の例を表す機能ブロック図である。
【図６】本発明の実施の形態に係るコントローラ装置における、指を検出するセンサの設定例を表す説明図である。
【図７】本発明の実施の形態に係るコントローラ装置における、指を検出するセンサの設定の別の例を表す説明図である。
【図８】本発明の実施の形態に係るコントローラ装置におけるジョイスティックの検出結果の補正方法の例を表す説明図である。
【発明を実施するための形態】
【０００８】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るコントローラ装置１は、図１に例示するように、コントローラ本体１０と、コントローラ本体１０とユーザの手との位置関係が保たれるようにする固定具２０とを含んで構成され、有線または無線にて情報処理装置２との間で通信可能に接続される。本実施の形態の以下の説明において、各部の大きさやその比、配置等は一例であり、本実施の形態の例は、図示等した大きさや比率、配置に限られるものではない。
【０００９】
なお図１（ａ）は、本発明の実施の形態のコントローラ装置１を正面やや左側から見た概略斜視図、図１（ｂ）は、当該コントローラ装置１を背面側から見た概略斜視図を示す。
【００１０】
コントローラ装置１の固定具２０は、例えばコントローラ本体１０に両端が固定された環状のベルト部材であり、ユーザはこの固定具２０とコントローラ本体１０との間に人差し指から小指までの４本の指を通した状態で固定具２０のベルト部材を締めて（固定具２０とコントローラ本体１０との間の間隙を狭くして）、コントローラ本体１０が手の平に接した状態で、ユーザの手にコントローラ本体１０を装着する。このように固定具２０によりコントローラ装置１を手に装着することで、ユーザがコントローラ本体１０を把持した状態（指をコントローラ本体１０に巻き付けて保持した状態）から、指を伸ばした状態としても、コントローラ本体１０がユーザの手から離れて落ちてしまうことがなくなる。
【００１１】
コントローラ本体１０は、ユーザが固定具２０に通した指の少なくとも一部（ここでは人差し指から小指）で把持可能な把持部１１と、操作部１２とを含む。把持部１１は、実質的に多角形柱状をなし、操作部１２が、この把持部１１から連続して形成される。また、操作部１２には、正面側にジョイスティック１５と、ボタン操作部１６とを含み、背面側に、揺動ボタン１７及びボタン１８を備えて構成される。またこの操作デバイス１０は、内部に制御回路１９を含んで構成されている。
【００１２】
この揺動ボタン１７は、ユーザが固定具２０によりコントローラ装置１を手に装着し、把持部１１を把持可能となったとき、ユーザの人差し指が到達する位置に配される。また、ジョイスティック１５及びボタン操作部１６は、このときにユーザの親指が到達する位置に配される。つまりユーザは、操作部１２の揺動ボタン１７は人差し指で操作し、親指で正面側のジョイスティック１５またはボタン操作部１６に含まれるボタンを操作する。
【００１３】
ボタン１８は、コントローラ装置１の背面側の、ユーザが固定具２０によりコントローラ装置１を手に装着して把持部１１を把持したときに中指、薬指、小指が到達する位置の少なくとも一箇所に設けられる。図１の例では、中指で操作されるボタン１８Ａと、薬指及び小指で操作されるボタン１８Ｂとを設けた例を示している。
【００１４】
本実施の形態の一例では、第２のセンサ２２の少なくとも一つがボタン１８のボタントップ（ボタンを押下するときに力を加える位置）に配される。またボタン１８は、図１に例示するように、把持部１１の背面に配され、把持部１１の長手方向に延びる回転軸を中心として、把持部１１の背面の当該回転軸の位置での接線方向に、ボタントップの面が位置する突出位置と、側面側の面に平行となるまで押し込まれた押し込み位置との間でボタントップが揺動可能なボタンであってもよい。この場合、ボタン１８の面のうち、このボタン１８を操作する際に必ず指が接触することとなる（指の長さによらずボタン１８の押下操作の際に指が触れることとなる）位置、例えば比較的上記回転軸に近い側の位置に第２のセンサ２２を配する。
【００１５】
ユーザが固定具２０によりコントローラ装置１を手に装着したとき、ユーザの中指、薬指、小指の指が当接する把持部１１上の位置には、ユーザの上記各指と第１のセンサ２１自身との空間的な位置の変位に応じた値を出力して、ユーザの各指が把持部１１の表面に対して近接しているかどうかを検出する少なくとも一つの第１のセンサ２１が配される。本実施の形態の一例では、この第１のセンサ２１は、ユーザの中指、薬指、小指の指の付け根部分が当接する把持部１１上の位置に配される。この第１のセンサ２１は例えば静電センサ２１Ｓと、当該静電センサ２１Ｓの検出結果を電気的信号に変換して出力するセンサ回路２１Ｔとを含んで構成される（図ではこれらをまとめて第１のセンサ２１として図示している）。
【００１６】
本実施の形態の例では、一般的な成人の手の幅の平均の長さを超える長さに亘って、複数の第１のセンサ２１を、実質的に把持部１１の長手方向に沿って一列に配する。図２の例では、６つの第１のセンサ２１を一列に配した例としているが、この数に限られるものではない。
【００１７】
さらにユーザが固定具２０によりコントローラ装置１を手に装着して把持部１１を把持したとき、ユーザの中指、薬指、小指の腹から先端までの範囲が当接するコントローラ本体１０上の位置には、複数の第２のセンサ２２が配される。この第２のセンサ２２は、ユーザの上記各指と第２のセンサ２２自身との空間的な位置の変位に応じた値を出力し、ユーザの各指がこれら第２のセンサ２２が配されている位置に対して近接しているかを検出する。この第２のセンサ２２もまた、例えば静電センサ２２Ｓと、当該静電センサ２２Ｓの検出結果を電気的信号に変換して出力するセンサ回路２２Ｔとを含んで構成される（図ではこれらをまとめて第２のセンサ２２として図示している）。
【００１８】
なお、ここでは第１，第２のセンサ２１，２２はいずれも静電センサである例としているが、本実施の形態はこれに限られず、カメラや、光学センサ、焦電センサ、超音波センサ等であっても、指や手の表面との相対的な位置関係（距離や変位等、空間的な位置の変位）に応じた情報が得られればよい。
【００１９】
本実施の形態の一例では、複数の第２のセンサ２２は二次元的に配される。図２の例では、把持部１１の長手方向に２列の第２のセンサ２２を配しており、第１のセンサ２１に近い側の第１の列の第２のセンサ２２は６つ、第１のセンサ２１から離れた側の第２の列の第２のセンサ２２は各ボタン１８上に一つ以上配されている。
【００２０】
操作部１２のジョイスティック１５は、ユーザにより傾倒操作可能なスティック１５Ｓを含む。本実施の形態の一例では、このスティック１５Ｓの頂部（ユーザがジョイスティック１５を操作する際に親指で触れる位置）には、親指との空間的な位置の変位に応じた値を出力し、指の位置を検出する指センサ２３を備えてもよい。
【００２１】
この指センサ２３は、第１，第２のセンサ２１，２２と同様、静電センサを用いたものでよい。または、この指センサ２３は、例えば、コントローラ本体１０の正面側であって、その表面の法線方向を中心とし、コントローラ本体１０から正面方向を見て、コントローラ本体１０の左側面側から右側面側までの比較的広角の角度範囲を検出可能範囲として、この検出可能範囲においてユーザの親指を検出してもよい。この場合、指センサ２３は、当該親指を検出した位置（上記角度範囲内の角度）や、指センサ２３からユーザの親指までの距離等を検出し、これらの情報を含む、検出結果情報を制御回路１９に出力することとなる。このような指センサ２３としては例えば、カメラや、光学センサ、超音波センサ、焦電センサ等を用いてもよい。
【００２２】
ジョイスティック１５及びボタン操作部１６は、ユーザの親指等によって傾倒操作または押下操作される。これらジョイスティック１５やボタン操作部１６は、当該操作がされたジョイスティック１５自身や、ボタン操作部１６に含まれるボタンを特定する情報とともに、傾倒方向や傾倒量（傾倒角度に応じた量）の情報や、押下された旨の情報等、操作の内容を表す情報を制御回路１９に出力する。
【００２３】
揺動ボタン１７は、ユーザの人差し指で押し込み操作され、その押し込み量（ボタンの移動量）を表す情報を制御回路１９に出力する。具体的にこの揺動ボタン１７は、ポテンショメータ等を含んで構成できるが、押し込み量が検出できれば、この構成に限られるものではない。
【００２４】
ボタン１８もまた、ユーザにより押下操作されたときに、自身を特定する情報とともに、押下された旨の情報等、操作の内容を表す情報を、制御回路１９に出力する。
【００２５】
制御回路１９は、マイクロコンピュータ等のプログラム制御デバイスを含み、メモリ等の記憶手段に格納されたプログラムに従って動作する。またこの制御回路１９は、第１，第２のセンサ２１，２２や、指センサ２３、操作部１２のジョイスティック１５，ボタン操作部１６，揺動ボタン１７（さらにボタン１８）に接続され、これら第１，第２のセンサ２１，２２及び指センサ２３の出力に基づく信号や、ジョイスティック１５、ボタン操作部１６等から入力される操作の内容を表す信号等、各種の信号を受け入れて情報処理装置２に対して送出する。この制御回路１９は、例えばブルートゥース（登録商標）等の無線通信インタフェース、またはＵＳＢや有線ＬＡＮ等の有線通信インタフェース等を含み、この無線通信インタフェースや有線インタフェースを介して、情報処理装置２との間で種々の信号を授受する。
【００２６】
［センサによる検出の状態］
ここで、種々の大きさの手に対する第１，第２のセンサ２１，２２による検出の例について説明する。図３（ａ）は比較的手の小さいユーザがコントローラ本体１０の把持部１１を把持したときの第１，第２のセンサ２１，２２と、ユーザの各指の位置関係を例示する説明図である。図３では、説明の便宜のため、ユーザの手を透過して示している。なお、図３では、実際には第１，第２のセンサ２１，２２はコントローラ装置１の表面である曲面状に配置されているが、模式的に平面に投影した状態で図示している。
【００２７】
また図３（ｂ）は、比較的手の大きいユーザがコントローラ本体１０の把持部１１を把持したときの第１，第２のセンサ２１，２２と、ユーザの各指の位置関係を例示する説明図である。なお図３の例では、第１のセンサ２１は、人差し指側（揺動ボタン１７に近い側）から順に、第１のセンサ２１Ａ，２１Ｂ，…２１Ｆと６つ配列されているものとする。また第２のセンサ２２は、２列に配列され、第１のセンサ２１に近い側の列には、人差し指側から順に、第２のセンサ２２Ａ，２２Ｂ，…２２Ｆが６つ配列され、第１のセンサ２１から遠い側の列には、中指により操作されるボタン１８Ａ上に第２のセンサ２２Ｇが配され、薬指と小指との二本の指で操作されるボタン１８Ｂ上には、第２のセンサ２２Ｈ，２２Ｉの２つが配されている例を示している。
【００２８】
図３（ａ）に例示するように、比較的手の小さいユーザが把持部１１を把持し、揺動ボタン１７を押下可能な位置に人差し指を配すると、揺動ボタン１７に近い側の第１のセンサ２１の一部、例えば第１のセンサ２１Ａ，Ｂ，Ｃ，Ｄの４つが指の接触を検出する。
【００２９】
既に説明したように、これら第１のセンサ２１は、ユーザの中指、薬指、小指の指の付け根部分が当接する部分に配されているので、ユーザが指を伸ばしていると曲げているとに関わらず、ユーザが把持部１１を把持可能な状態でコントローラ装置１を装着している限り、これら第１のセンサ２１Ａ，Ｂ，Ｃ，Ｄは定常的に指がコントローラ装置１の把持部１１の表面に接触している状態にあることを検出することとなる。
【００３０】
またこの状態でユーザが把持部１１を把持している間は、第２のセンサ２２Ａ，２２Ｃ，２２Ｄがそれぞれ中指，薬指，小指の基節骨に相当する部位（基節骨を内包する、中手指節間関節（ＭＰ）と近位指節間関節（ＰＩＰ）との間の部分）の皮膚に接触し、ユーザの指が接触している状態にあることを表す信号を出力している状態となる。
【００３１】
そこで以下では、中指の状態を検出するために第２のセンサ２２Ａを用いることとし、薬指（のみ）の状態を検出するために第２のセンサ２２Ｃを用いることとする。また小指（のみ）の状態を検出するために、第２のセンサ２２Ｄを用いることとする。このように、ユーザの各指の状態を検出する第２のセンサ２２を選択する方法については後に述べる。
【００３２】
ここでユーザが指をやや伸ばす（指先だけ伸ばす状態とする）と、第１のセンサ２１による指の検出状態は変化せず、第２のセンサ２２Ａ，２２Ｃ，２２Ｄは、ユーザの指が接触している状態にあることを表す信号を出力する。一方、指先がボタン１８から離れるため、第２のセンサ２２Ｇ，２２Ｈ，２２Ｉは、各指先までの距離を表す信号を出力している状態となる。
【００３３】
さらにユーザが指を伸ばしていくと、第１のセンサ２１による指の検出状態は変化しないが、指の腹の部分が把持部１１から離れた状態では、第２のセンサ２２Ａ，２２Ｃ，２２Ｄは、指との空間的な位置の変位に応じた信号を出力するか、指が検出されないことを表す信号を出力するようになる。また、第２のセンサ２２Ｇ，２２Ｈ，２２Ｉは、指先との空間的な位置の変位に応じた信号を出力している状態か、または指が検出されないことを表す信号を出力するようになる。なお、本実施の形態の例では、第２のセンサ２２は、指または指先との空間的な位置の変位に応じた信号として、例えば、指先が第２のセンサ２２自身から離れるほど、値が小さくなる検出値を出力する。
【００３４】
さらにユーザが中指だけを伸ばした場合、第１のセンサ２１による指の検出状態は変化しないが、把持したときに中指が接触していた第２のセンサ２２Ａ，２２Ｇは、指との空間的な位置の変位に応じた信号を出力するか、指が検出されないことを表す信号を出力するようになる。このとき、第２のセンサ２２Ｂは中指と薬指との双方に接触しているため、いずれかの指が接触している限り、指が接触している状態にあることを表す信号を出力している状態となる。つまりこの状態（中指だけを伸ばした状態）では、第２のセンサ２２Ｂは指が接触している状態にあることを表す信号を出力している状態となる。
【００３５】
また第２のセンサ２２Ｃ，２２Ｄ，２２Ｈ，２２Ｉは、それぞれ薬指、小指が接触した状態にあるため、指が接触している状態にあることを表す信号を出力する。
【００３６】
また比較的手の大きいユーザが把持部１１を把持し、揺動ボタン１７を押下可能な位置に人差し指を配すると、図３（ｂ）に例示するように、すべての第１のセンサ２１Ａ，２１Ｂ，…２１Ｆが、指が接触している状態にあることを検出する。なお、第１のセンサ２１は、ユーザの中指、薬指、小指の指の付け根部分が当接する部分に配されているので、ユーザが指を伸ばしていると曲げているとに関わらず、ユーザが把持部１１を把持可能な状態でコントローラ装置１を装着している限り、これら第１のセンサ２１Ａないし２１Ｆは定常的にユーザの指が接触している状態にあることを検出することとなる。
【００３７】
またこの状態でユーザが把持部１１を把持している間は、第２のセンサ２２Ａが中指、第２のセンサ２２Ｂは中指または薬指、第２のセンサ２２Ｃ，Ｄは薬指、第２のセンサ２２Ｅは薬指または小指、第２のセンサ２２Ｆは小指のそれぞれの基節骨に相当する部位（基節骨を内包する、中手指節間関節（ＭＰ）と近位指節間関節（ＰＩＰ）との間の部分）の皮膚に接触し、指が接触している状態にあることを表す信号を出力している状態となる。
【００３８】
そこで以下では、中指の状態を検出するために第２のセンサ２２Ａを用いることとし、薬指（のみ）の状態を検出するために第２のセンサ２２Ｄを用いることとする。また小指（のみ）の状態を検出するために、第２のセンサ２２Ｆを用いることとする（ユーザの各指の状態を検出する第２のセンサ２２を選択する方法及び、別の方法については後に述べる）。
【００３９】
ここでユーザが指をやや伸ばす（指先だけ伸ばす状態とする）と、第１のセンサ２１による指の検出状態は変化しないが、指先が把持部１１から離れたとき、第２のセンサ２２Ａ，２２Ｄ，２２Ｆは、指が接触している状態にあることを表す信号を出力する状態を維持し、第２のセンサ２２Ｇ，２２Ｈ，２２Ｉは、（ボタン１８から指先が離れるため）指先との空間的な位置の変位に応じた信号を出力している状態となる。
【００４０】
さらにユーザが指を伸ばしたとき、第１のセンサ２１による指の検出状態は変化しないが、指の腹の部分が把持部１１から離れるので、第２のセンサ２２Ａ，２２Ｄ，２２Ｆは、指との空間的な位置の変位に応じた信号を出力するか、指が検出されないことを表す信号を出力するようになる。また、第２のセンサ２２Ｇ，２２Ｈ，２２Ｉもまた、指先との空間的な位置の変位に応じた信号を出力している状態か、または指が検出されないことを表す信号を出力するようになる。
【００４１】
さらにユーザが中指だけを伸ばした場合、第１のセンサ２１による指の検出状態は変化しないが、把持したときに中指が接触していた第２のセンサ２２Ａ，２２Ｇは、指との空間的な位置の変位に応じた信号を出力するか、指が検出されないことを表す信号を出力するようになる。
【００４２】
また第２のセンサ２２Ｄ，２２Ｆ，２２Ｈ，２２Ｉは、それぞれ薬指、小指が接触した状態にあるため、指が接触している状態にあることを表す信号を出力する。
【００４３】
［センサの感度設定］
なお、ユーザが指を伸ばしきったときに第１のセンサ２１から指の付け根がわずかに離れても、第１のセンサ２１による指の検出状態を変化させないようにするために、第１のセンサ２１の検出感度は、第２のセンサ２２の検出感度より高く設定されることが好ましい。
【００４４】
具体的には図４に例示するように、第２のセンサ２２のセンサ回路２２Ｔが、静電センサ２２Ｓの静電容量（Ｃ）に対応して、検出対象であるユーザの指との空間的な位置の変位（Ｄ）に応じた値を多段階的に（例えば８ビットの信号として）出力する（図４において破線で示す）のに対し、第１のセンサ２１のセンサ回路２１Ｔは、静電センサ２１Ｓの静電容量（Ｃ）が所定のしきい値Ｃthを超えたときに８ビットの最大値であるディジタル値「２５５」、そうでない場合は最小値であるディジタル値「０」を出力するようにしておく。
【００４５】
これにより、第２のセンサ２２がユーザの指がどれだけ近接しているかにより、段階的な信号を出力するのに対して、第１のセンサ２１はユーザの指がある程度近接している場合には接触している状態にある場合と同じ信号を出力することとなる。
【００４６】
［ヒステリシス］
さらに第１のセンサ２１のセンサ回路２１Ｔは、その出力にヒステリシスが設定されてもよい。すなわち各センサ２１Ｓに対応するセンサ回路２１Ｔは、所定のタイミングごとに繰り返して、対応するセンサ２１Ｓの静電容量に基づく信号（ディジタル値）を得ているが、センサ回路２１Ｔはそれぞれが過去の所定回数（Ｎ回とする）に亘って得た信号（検出値）を保持し、当該保持している信号に対する所定の統計演算結果（例えば最大値、中央値、平均値等）を出力することとする。
【００４７】
例えば統計演算として最大値を出力するものとすると、ユーザの指の付け根が接触していたセンサ２１Ｓから一時的に離れた場合であっても、当該センサ２１Ｓに対応するセンサ回路２１Ｔは、過去Ｎ回に亘って得た信号の最大値の信号を出力するため、長期に亘って接触していない状態が継続しない限り、ユーザの指の付け根が接触しているものとして信号を出力し続ける。
【００４８】
［センサの選択］
また、本実施の形態の一例では制御回路１９が次のように動作する。本実施の形態の一例に係る制御回路１９は、保持しているプログラムを実行することにより、機能的に、図５に例示するように、手幅検出部５１と、割り当て設定部５２と、指検出部５３と、出力部５４とを含んで構成される。
【００４９】
なお、この制御回路１９は既に述べたように、ジョイスティック１５や、ボタン操作部１６、揺動ボタン１７等から得られる信号を処理するが、これらの処理は、広く知られた処理を採用できるので、ここでの詳しい説明を省略する。
【００５０】
手幅検出部５１は、第１のセンサ２１が出力する信号を得て、ユーザの手の幅を推定する。具体的にこの手幅検出部５１は、カウンタを「０」にリセットしてから、人差し指側（揺動ボタン１７側）に配されている第１のセンサ２１Ａから順に、第１のセンサ２１の出力信号（対応するセンサ２１Ｓの静電容量を表す信号、つまり検出値）を調べる。
【００５１】
そして手幅検出部５１は、調べた第１のセンサ２１が指の接触を検出していれば（調べた第１のセンサ２１の出力する検出値が予め定めた接触判定用のしきい値を超えていれば）カウンタを「１」だけインクリメントする。また、最初に指を検出していない第１のセンサ２１（出力する検出値が予め定めた接触判定用のしきい値を下回る第１のセンサ２１）が見いだされるか、または最後の第１のセンサ２１まで調べ終えると、手幅検出部５１は、その時点のカウンタの値を、手幅を表す情報として出力する。
【００５２】
一例として、比較的手の小さいユーザが把持した場合を表す図３（ａ）の例では、第１のセンサ２１Ａ，Ｂ，Ｃ，Ｄの４つが指の接触を検出し、第１のセンサ２１Ｅ，Ｆは指の接触を検出していない。
【００５３】
この場合、手幅検出部５１は、第１のセンサ２１Ａから順に出力を調べ、第１のセンサ２１Ｅで初めて指の接触を検出していないセンサを見いだす。従って、手幅検出部５１は、第１のセンサ２１Ａ，２１Ｂ，２１Ｃ，２１Ｄで指の接触を検出しているものとしてカウンタを「１」ずつインクリメントし、第１のセンサ２１Ｅを調べた時点でのカウンタの値「４」を出力する。
【００５４】
また、比較的手の大きいユーザが把持した場合を表す図３（ｂ）の例では、全ての第１のセンサ２１Ａないし２１Ｆが指の接触を検出している。この場合、手幅検出部５１は、第１のセンサ２１Ａから順に出力を調べつつカウンタをインクリメントしてゆき、最後の第１のセンサ２１Ｆにおいても指の接触を検出しているとしてカウンタをインクリメントする。従って、手幅検出部５１は、第１のセンサ２１Ａないし２１Ｆのすべてで指の接触を検出しているものとしてカウンタを「１」ずつインクリメントし、最後の第１のセンサ２１Ｆを調べた時点でのカウンタの値「６」を出力する。
【００５５】
割り当て設定部５２は、手幅検出部５１が出力する値を参照して、ユーザの中指、薬指、小指のそれぞれの曲げ伸ばしを検出する第２のセンサ２２を、複数の第２のセンサ２２のうちから選択して、当該選択した第２のセンサ２２を特定する情報を出力する。
【００５６】
具体的にこの割り当て設定部５２は、予め、手幅検出部５１が出力する値に対応して、ユーザの中指、薬指、小指のそれぞれの曲げ伸ばしを検出する第２のセンサ２２（本実施の形態では、第１のセンサ２１とボタン１８までの間に配される第２のセンサ２２Ａないし２２Ｆのいずれか）を特定する情報を関連付けて記憶しておく（図６）。
【００５７】
図６の例では、手幅検出部５１が出力する値（Ｗ）に対し、中指、薬指、小指のそれぞれの基節骨に相当する部位との空間的な位置の変位に対応する信号（検出値）を出力する第２のセンサ２２を特定する情報ＭＭ，ＲＭ，ＰＭを関連付けて保持している。
【００５８】
図６には、具体的な例として、図３に示した例に対応した設定が示されているが、この設定は、経験的な方法など、種々の方法で決定可能であり、コントローラ装置１の製造者側で予め定めて、制御回路１９内のメモリに記憶させておくものとする。なお、この設定は情報処理装置２等から入力される指示によって書き換えられてもよい。
【００５９】
以下の例では、手幅検出部５１が出力する値（Ｗ）に対応して、基節骨に相当する部位を検出する第２のセンサ２２を特定する情報を記憶しており、中指、薬指、小指のそれぞれの基節骨に相当する部位との空間的な位置の変位に対応する信号（検出値）を第２のセンサ２２Ａないし２２Ｆが出力する場合を例とする。
【００６０】
指検出部５３は、割り当て設定部５２が出力する情報を得て、当該情報で特定される第２のセンサ２２の出力に基づいて、ユーザの各指の曲げ伸ばしの状態を表す情報を選択的に出力する。
【００６１】
例えば、割り当て設定部５２が、中指、薬指、小指のそれぞれの基節骨に相当する部位との空間的な位置の変位を検出する第２のセンサ２２を特定する情報をＭＭ，ＲＭ，ＰＭとして、第２のセンサ２２Ａ、２２Ｃ、２２Ｄを特定する情報をそれぞれ出力しているとする。この場合、指検出部５３は、第２のセンサ２２Ａが出力する情報を中指の曲げ伸ばしを表す情報として、第２のセンサ２２Ｃが出力する情報を薬指の曲げ伸ばしを表す情報として、さらに第２のセンサ２２Ｄが出力する情報を小指の曲げ伸ばしを表す情報として選択して出力する。
【００６２】
このとき、第２のセンサ２２Ｂ，２２Ｅ，２２Ｆの出力する信号は、指検出部５３のこの処理により破棄される（出力されない）。出力部５４は、指検出部５３が出力する、割り当て設定部５２が選択した第２のセンサ２２の各々により検出された、各指との空間的な位置の変位に対応する情報（中指、薬指、小指の曲げ伸ばしの状態を表す情報として扱われる）を、情報処理装置２に対して送出する。
【００６３】
すなわち、指が曲げられていれば、コントローラ装置１の把持部１１に指が近接または接触するため、各指に対応するものとして選択された第２のセンサ２２の出力する信号である検出値が、指と当該センサ２２とが近接しているほど大きい値であり、接触しているときに最大値となる場合、この検出値の大きさが指の曲げ伸ばしの程度を表す情報としても利用できる。
【００６４】
［指の位置推定の別の例］
また、ここまでの説明では、制御回路１９が、ユーザの手に接触していることを検出している第１のセンサ２１の数によって手の幅を推定するとともに、当該手の幅の推定結果に基づいて、各指に係る情報を出力する第２のセンサ２２をそれぞれ選択し、選択した第２のセンサ２２が出力する検出値をそのまま用いて各指の曲げ伸ばしの状態を得ていたが、本実施の形態はこれに限られない。
【００６５】
本実施の形態のある例では、制御回路１９は、保持しているプログラムを実行することにより、機能的に、図５に例示したものと同様に、手幅検出部６１と、割り当て設定部６２と、指検出部６３と、出力部５４とを含む。なお、既に説明したものと同様の構成となるものについては、同じ符号を付して詳細な説明を省略する。
【００６６】
また以下の説明では制御回路１９によって実現される手幅検出部６１等は、図７（ａ）または図７（ｂ）に例示するように、第１のセンサ２１及び第２のセンサ２２が配列されている二次元的な領域を、ＸＹ直交座標系で表し、第１のセンサ２１や第２のセンサ２２のそれぞれの位置及び範囲をこのＸＹ直交座標系内の座標（ｘ，ｙ）によって表すものとする。
【００６７】
以下の説明では具体的に、ユーザがコントローラ装置１を自然に把持したときに中指の付け根にあたる位置に配されている矩形状の第１のセンサ２１ＡのＸ軸方向の位置を「１．０」、第１のセンサ２１ＢのＸ軸方向の位置を「２．０」、…第１のセンサ２１ＦのＸ軸方向の位置を「６．０」とする。
【００６８】
また、第１のセンサ２１の第２のセンサ２２が配されている側とは反対側の端に当たるＹ軸方向の位置を「０」として、第１のセンサ２１が配列されている方向をＸ軸、これに直交して第２のセンサ２２が配されている範囲の側へ向かう方向をＹ軸とする。
【００６９】
手幅検出部６１は、第１のセンサ２１Ａから順に、第１のセンサ２１の出力信号（対応するセンサ２１Ｓの静電容量を表す信号、つまり検出値）を調べる。
【００７０】
手幅検出部６１は、図７に例示するように、第１のセンサ２１Ａ，Ｂ…のそれぞれの幅方向の中心に相当する上記座標系内での位置にて、対応する第１のセンサ２１Ａ，Ｂ…が出力する検出値が得られたものとして、互いに隣接する第１のセンサ２１間（互いに隣接する一対の第１のセンサ２１の中心座標間の位置）での推定検出値を、第１のセンサ２１Ａ，Ｂ…の検出値を内挿することで決定する。
【００７１】
具体的にここでの例では互いに隣接する一対の第１のセンサ２１ごとに、当該一対の第１のセンサ２１の検出値を線形補間することで、当該一対の第１のセンサ２１間の位置における推定検出値を求める。
【００７２】
手幅検出部６１は、ここで得られた検出値または内挿して得られた推定検出値が、予め定めた接触判定用のしきい値を下回る座標を探索する。つまり手幅検出部６１は、図７に例示しているように、推定検出値（または検出値）を結んでできる折れ線または曲線が、接触判定用のしきい値の値を表す線分と交差する点を探索する。
【００７３】
図７（ａ）は、中指の付け根が第１のセンサ２１Ａの位置にあり、小指の付け根が第１のセンサ２１Ｄ，２１Ｅの間であって、第１のセンサ２１Ｄに近い側にある場合を示している（なお、ユーザがコントローラ装置１を自然に保持したときに、第１のセンサ２１Ａの幅方向（第１のセンサ２１の配列方向）の中心線の延長線上にユーザの中指が位置するように、揺動ボタン１７の位置と第１のセンサ２１Ａの位置とを実験的に調整しておく）。
【００７４】
このとき、第１のセンサ２１のそれぞれの検出値は、図７（ａ）に示されるように、第１のセンサ２１Ａから２１Ｄまではユーザの手（または指）が接触している状態にあることを表す検出値となっている。また第１のセンサ２１Ｄは、ユーザの手（または指）が接触しているが、ユーザの手や指の端に近いため、第１のセンサ２１Ａから２１Ｃの検出値に比べると、比較的低い検出値が生じている状態となっている。また、第１のセンサ２１Ｅにはユーザの手や指が近接していない状態となっているので、その検出値は実質的に「０」となっている（実際にはノイズの影響で「０」ではないが「０」と見なせる程度に小さい値となっている）。
【００７５】
手幅検出部６１は、互いに隣接する一対の第１のセンサ２１、つまり第１のセンサ２１Ａと２１Ｂ、第１のセンサ２１Ｂと２１Ｃ、第１のセンサ２１Ｃと２１Ｄ、…の間の線形補間Ｐ（互いに隣接する一対の第１のセンサ２１の検出値を線分で結んで補間した値）を得る。
【００７６】
手幅検出部６１は、線形補間の結果の値が、接触判定用のしきい値となる点Ｑを探索する。ここでは、隣接する第１のセンサ２１の検出値がいずれも接触判定用のしきい値を超えている第１のセンサ２１Ａと２１Ｂとの間、第１のセンサ２１Ｂと２１Ｃとの間、第１のセンサ２１Ｃと２１Ｄとの間では線形補間の結果が接触判定用のしきい値を下回る点はない。しかしながら第１のセンサ２１Ｄと、第１のセンサ２１Ｅとの間では、第１のセンサ２１Ｄ（中心が座標ｘｄにあるものとする）の検出値Ｖdが接触判定用のしきい値を超え、第１のセンサ２１Ｅ（中心が座標ｘeにあるものとする）の検出値Ｖeは接触判定用のしきい値を下回るので、これらの線形補間結果のうちには、接触判定用のしきい値Ｖthとなる点Ｑが存在し、当該点の座標が、（Ｖd−Ｖe）・ｘq／（ｘd−ｘe）＋Ｖd＝Ｖthの方程式の解として得られる。手幅検出部６１は、この方程式を数値的に解いて、点Ｑの位置の座標の情報を取得する。なお、点Ｑが見いだせない場合は、点ＱのＸ座標を、第１のセンサ２１のうち、その位置のＸ軸の値が最も大きい第１のセンサ２１のＸ軸の位置の値（ここでは第１のセンサ２１Ｆの「６．０」）とする。
【００７７】
そして手幅検出部６１は、第１のセンサ２１Ａの端（第１のセンサ２１Ｂとは離れた側の端）Ｒからこの点Ｑまでの範囲を、ユーザの手幅の範囲として検出する。
【００７８】
この例において、線形補間など内挿を用いない方法ではユーザの手幅は第１のセンサ２１Ｃまでの範囲と判断されるが、内挿を行うここでの例によれば、ユーザの手幅の情報がより精密に取得できる。
【００７９】
またこの例では、割り当て設定部６２は、次のようにして、手幅検出部６１が出力する値を参照して、ユーザの中指、薬指、小指のそれぞれの曲げ伸ばしを検出する第２のセンサ２２を、複数の第２のセンサ２２のうちから選択して、当該選択した第２のセンサ２２を特定する情報を出力する。
【００８０】
本実施の形態のこの例では、手幅に対する各指のＸ軸方向の位置を、手幅の値に対する割合で予め定めておく。具体的に手幅検出部６１により検出される手幅（中指と人差し指との間の位置から小指の外側端までの長さ）がＷｈであるとき、中指の中心位置（中指と人差し指との間の位置からの距離で表す。以下同じ）をＷｈ・αｍ、薬指の中心位置をＷｈ・αｒ、小指の中心位置をＷｈ・αｓとすることとして、このαｍ，αｒ，αｓ（αｍ＜αｒ＜αｓ）を予め定めておく。なお、中指については常に決まった第２のセンサ２２、例えば第２のセンサ２２Ａ及び２２Ｇを設定することとしてもよい。この場合、αｍを定める必要はない。
【００８１】
割り当て設定部６２は、この設定に基づいて、ユーザの中指、薬指、小指のそれぞれの中心位置の座標の情報を取得する。具体的に割り当て設定部６２は、例えばαｒ＝０．４５，αｓ＝０．７４として定めておくものとすると、図７（ａ）の例で、手幅がＷｈ＝５．２であれば、中指のＸ軸方向の座標αｒ×Ｗｈ＝２．３４、薬指のＸ軸方向の座標αｓ×Ｗｈ＝３．７なので、第２のセンサ２２Ａと同じ群では、中指については第２のセンサ２２Ａの中心、薬指については第２のセンサ２２Ｂと２２Ｃとの間、小指については第２のセンサ２２Ｃと２２Ｄとの間に位置するものと推定する。また第２のセンサ２２Ｇと同じ群では、中指については第２のセンサ２２Ｇの中心、薬指及び小指については（ボタンの操作のため）、それぞれ第２のセンサ２２Ｈ、第２のセンサ２２Ｉに位置するものと推定する。
【００８２】
また図７（ｂ）の例で、手幅Ｗｈ＝６と推定したときには、中指のＸ軸方向の座標がαｒ×Ｗｈ＝２．７、薬指のＸ軸方向の座標がαｓ×Ｗｈ＝４．４４なので、第２のセンサ２２Ａと同じ群では、中指については第２のセンサ２２Ａの中心、薬指については第２のセンサ２２Ｂと２２Ｃとの間、小指については第２のセンサ２２Ｄと２２Ｅとの間に位置するものと推定する。また第２のセンサ２２Ｇと同じ群では、中指については第２のセンサ２２Ｇの中心、薬指及び小指については（ボタンの操作のため）、それぞれ第２のセンサ２２Ｈ、第２のセンサ２２Ｉに位置するものと推定する。
【００８３】
すなわち割り当て設定部６２は、Ｙ軸方向の位置が互いに異なる第２のセンサ２２の群ごとに、ユーザの中指、薬指、小指のそれぞれの曲げ伸ばしの状態に係る情報を取得する第２のセンサ２２を決定する。
【００８４】
図７（ａ），（ｂ）の例では、第２のセンサ２２Ａから２２Ｆまでの列と、第２のセンサ２２Ｇから２２Ｉまでの列とが配されているので、Ｙ軸方向の位置が互いに異なる第２のセンサ２２の群は、第２のセンサ２２Ａから２２Ｆまでの群と、第２のセンサ２２Ｇから２２Ｉまでの群となる。またここでは第２のセンサ２２ＡのＸ軸方向の位置が「１．０」、第２のセンサＢのＸ軸方向の位置が「２．０」…となるように、各センサが配されているものとする。
【００８５】
割り当て設定部６２は、各群に含まれる第２のセンサ２２について、ユーザの中指、薬指、小指のそれぞれについて、当該取得した情報で表される座標が、（１）当該群に含まれるいずれかの第２のセンサ２２（第２のセンサ２２ｘとする）の中心座標Ｘに一致している場合には、割り当て設定部６２は、当該指の曲げ伸ばしを検出する第２のセンサ２２を、当該第２のセンサ２２ｘに設定する。
【００８６】
一方、ユーザの中指、薬指、小指のそれぞれについて、当該取得した情報で表される座標が、（２）当該群に含まれるいずれの第２のセンサ２２の中心座標にも一致しない場合は、割り当て設定部６２は、当該取得した座標に最も近接している第２のセンサ２２ｘと、その次に近接している第２のセンサ２２ｙとを検索する。
【００８７】
そして割り当て設定部６２は、検索により見いだされた２つの第２のセンサ２２ｘ，ｙを、当該指の曲げ伸ばしを検出する第２のセンサ２２として設定する。
【００８８】
この処理により、第２のセンサ２２の群（Ｙ軸方向の群）ごとに、ユーザの中指と薬指と小指とのそれぞれについての曲げ伸ばしを検出する第２のセンサ２２が設定される。
【００８９】
例えば図７（ａ）の例であれば、例えば第２のセンサ２２Ａと同じ群では、中指については第２のセンサ２２Ａの中心、薬指については第２のセンサ２２Ｂと２２Ｃとの間、小指については第２のセンサ２２Ｃと２２Ｄとの間に位置するものと推定されているので、中指については第２のセンサ２２Ａ，Ｇ、薬指については第２のセンサ２２Ｂ及びＣと、２２Ｈ、小指については第２のセンサ２２Ｃ及びＤと、２２Ｉが、それぞれの指の曲げ伸ばしを検出する第２のセンサ２２として設定される。
【００９０】
指検出部６３は、割り当て設定部６２による設定に応じて、各指の曲げ伸ばしを検出するものとして設定されている第２のセンサ２２の出力に基づいて、ユーザの各指の曲げ伸ばしの状態を表す情報を生成して出力する。
【００９１】
具体的にこの指検出部６３は、第２のセンサ２２のある群において各指の曲げ伸ばしを検出するものとして設定された第２のセンサ２２が１つであれば、当該第２のセンサ２２が出力する情報を、対応する指の曲げ伸ばしを表す情報として出力する。
【００９２】
また指検出部６３は、第２のセンサ２２のある群において各指の曲げ伸ばしを検出するものとして設定された第２のセンサ２２が２つあるときには、次のようにして対応する指の曲げ伸ばしを表す情報を得る。
【００９３】
すなわち、２つの第２のセンサ２２のＸ軸方向の位置をそれぞれＸα、Ｘβ，検出値をＶα，Ｖβとし、割り当て設定部６２が得た、対応する指の位置のＸ座標をＸｆとすると、求める指の曲げ伸ばしを表す情報Ｖを、
Ｖ＝（Ｖα・｜Ｘα−Ｘｆ｜＋Ｖβ・｜Ｘβ−Ｘｆ｜）／｜Ｘβ−Ｘα｜
（ただし、｜ｘ｜はｘの絶対値を意味する）
とする。このように指検出部６３は、各第２のセンサ２２（の中心）から指（の中心）までの距離に応じて各第２のセンサ２２の検出値を重みづけして平均することで、指の中心での検出値を推定し、当該推定した検出値を、対応する指の曲げ伸ばしを表す情報として出力する。
【００９４】
出力部５４は、指検出部６３が出力する各指とコントローラ装置１の表面との空間的な位置の変位に対応する情報（中指、薬指、小指の曲げ伸ばしの状態を表す情報として扱われる）を、情報処理装置２に対して送出する。
【００９５】
［キャリブレーション］
また、第２のセンサ２２の各センサ２２Ｓは、個別の検出結果にばらつきがあることがある。すなわち、指が近接していない場合の静電容量Ｃ０が互いに異なるのが一般的である。
【００９６】
そこで本実施の形態のある例では、コントローラ装置１の製造の際に、予め第２のセンサ２２の各センサ２２Ｓについて、検出の対象が近接していない状態での出力（以下、便宜的に基準静電容量と呼ぶ）Ｃ０を測定しておき、センサ２２Ｓを特定する情報に関連付けて、当該情報で特定されるセンサ２２Ｓの基準静電容量を、制御回路１９のメモリに記録しておく。
【００９７】
この例では、制御回路１９は、例えば指検出部５３の処理において、各第２のセンサ２２ｉのセンサ回路２２Ｔiの出力する信号（対応するセンサ２２Ｓの静電容量を表す情報）Ｃｉと、当該センサ２２Ｓに関連付けて記憶された基準静電容量Ｃｉ０とを用い、当該第２のセンサ２２ｉにより検出された信号として出力する値Ｃｉoutを次のように求めてもよい（ｉ＝Ａ，Ｂ，…）。
Ｃｉout＝floor［（Ｃｉ−Ｃｉ0）／（Ｃmax−Ｃｉ0）×Ｃoutmax］
ここで、Ｃmaxは測定される最大の静電容量の値、Ｃoutmaxは出力する信号の最大値（例えば８ビットであれば「２５５」）を示す。またfloor［Ｘ］は、演算されたＸの値を超えない最大の整数を求めることを表す。
【００９８】
これにより、基準静電容量からの変化が、当該センサ２２Ｓのダイナミックレンジ（測定可能範囲）に対してどれだけの割合となっているかを、検出結果として出力することとなり、センサごとのキャリブレーションを行うことができる。
【００９９】
なお、第１のセンサ２１のセンサ２１Ｓについても同様のキャリブレーションを行ってもよい。
【０１００】
この場合、各センサ２１Ｓについて同様に基準静電容量Ｃ０を測定し、対応するセンサ回路２１Ｔにこの値を記憶させる。そしてセンサ回路２１Ｔは、対応する静電センサ２１Ｓの静電容量（Ｃ）と、予め定められたしきい値Ｃthに基準静電容量Ｃ０を加えた補正しきい値Ｃth′とを比較する。センサ回路２１Ｔは、静電センサ２１Ｓの静電容量Ｃがこの補正しきい値Ｃth′を超えているときに、Ｃoutmax（出力する信号の最大値、例えば８ビットであれば「２５５」）を出力し、そうでないときには、Ｃoutmin（出力する信号の最小値、例えば８ビットであれば「０」）を出力する。
【０１０１】
［指の接触状態の検出閾値］
本実施の形態ではさらに、指の接触状態の検出閾値を低めに補正してもよい。つまり、制御回路１９は、指検出部５３の処理において、各第２のセンサ２２ｉのセンサ回路２２Ｔiの出力する信号（対応するセンサ２２Ｓの静電容量を表す情報）Ｃｉを用い、当該第２のセンサ２２ｉにより検出された信号として出力する値Ｃｉoutを次のように求めてもよい（ｉ＝Ａ，Ｂ，…）。
Ｃｉout＝ｆ［Ｃｉ／Ｃ′max×Ｃoutmax］
ここでｆ［Ｘ］は、ＸがＣoutmaxを超えない間は、Ｘを超えない最大の整数を表し、ＸがＣoutmaxを超えたときには、Ｃoutmaxとなるような関数である。このとき、Ｃ′maxは、Ｃｉの最大値Ｃmaxよりも小さい値（Ｃ′max＜Ｃmax）としておく。これによりＣｉがＣ′max以上となるときにＣoutmaxの値が出力されるようになり、指が、当該指を検出するものとして選択されたセンサ２２Ｓの全体ではなく、ややずれて部分的に接触する状態となってしまい、Ｃｉの本来の最大値よりもＣｉの出力値が低下したとしても、Ｃmaxoutが出力されることとなって、接触した状態であるとの識別が可能となる。
【０１０２】
さらにこの例においても、センサ２２Ｓのキャリブレーションを行ってもよい。この場合、制御回路１９は、例えば指検出部５３の処理において、各第２のセンサ２２ｉのセンサ回路２２Ｔiの出力する信号（対応するセンサ２２Ｓの静電容量を表す情報）Ｃｉと、当該センサ２２Ｓに関連付けて記憶された基準静電容量Ｃｉ０とを用い、当該第２のセンサ２２ｉにより検出された信号として出力する値Ｃｉoutを次のように求める（ｉ＝Ａ，Ｂ，…）。
Ｃｉout＝ｆ［（Ｃｉ−Ｃｉ0）／（Ｃ′max−Ｃｉ0）×Ｃoutmax］
ここでｆ［Ｘ］，Ｃ′maxについては上述と同様である。
【０１０３】
なお、ここでのＣ′maxの値（閾値補正値と呼ぶ）は、情報処理装置２からの指示によって設定されてもよい。この例によると、情報処理装置２では、指の曲げ伸ばしの検出のダイナミックレンジを広くしたいときにはＣ′maxの値をできるだけＣmaxに近い値とし、指の接触を確実に取得したいときにはＣmax−Ｃ′maxが比較的大きくなるようにＣ′maxを設定する、といった処理が可能となる。
【０１０４】
［人差し指の検出］
また揺動ボタン１７のボタントップ（揺動ボタン１７を操作するときにユーザの指先が接触する部分）にも、人差し指の指先との空間的な位置の変位を検出して、当該検出した指先との空間的な位置の変位に応じた情報を出力する第２のセンサ２２を配してもよい。
【０１０５】
［情報処理装置側での処理］
次に、本実施の形態のコントローラ装置１が送出した情報に基づく情報処理装置２における処理の例について説明する。
【０１０６】
本実施の形態のコントローラ装置１に接続された情報処理装置２は、コントローラ装置１からジョイスティック１５やボタン操作部１６の操作の内容と、揺動ボタン１７の押し込み量を表す情報とともに、手幅の検出結果を表す情報や、中指から小指までの各指の曲げ伸ばし量を表す情報を、所定のタイミングごと（例えば１／６０秒に一度のタイミングごと）に繰り返し受け入れる。
【０１０７】
ここで中指から小指までの各指の曲げ伸ばし量を表す情報は既に述べたように、指を伸ばしたときに「０」、指が曲げられて、把持部１１に接触している状態では最大値（例えば８ビットの情報とする場合「２５５」）となる情報である。また手幅を表す情報は、ユーザが手にコントローラ装置１を装着したときに、指または手の平の接触を検出している第１のセンサ２１の数（人差し指側の第１のセンサ２１から連続して指等の接触を検出している第１のセンサ２１の数）に相当する。
【０１０８】
情報処理装置２は、この中指から小指までの各指の曲げ伸ばし量を表す情報等を用いて、ゲームアプリケーションの処理を行うほか、例えば、コントローラ装置１の持ち方が適切であるか否かを判定する処理を行ってもよい。
【０１０９】
［持ち方の判定］
この処理では、情報処理装置２は、次のように動作する。情報処理装置２は、手幅の検出結果を表す情報や、中指から小指までの各指の曲げ伸ばし量を表す情報を参照して、ユーザのコントローラ装置１の持ち方を判定してもよい。
【０１１０】
具体的に情報処理装置２は、手幅の検出結果を表す情報である、コントローラ装置１の第１のセンサ２１の検出結果、すなわち人差し指側の第１のセンサ２１Ａから連続して指等の接触を検出している第１のセンサ２１の数Ｎｗを参照する。
【０１１１】
また情報処理装置２は、中指から小指までの各指の曲げ伸ばし量を表す情報を参照し、第１のセンサ２１の数Ｎｗが所定のしきい値を下回っているときに、中指から小指までの各指の曲げ伸ばし量を表す情報の少なくとも一つ（またはそのうち複数、あるいはその全てなどとしてもよい）が、指との空間的な位置の変位に応じた情報（検出値）が所定のしきい値を下回ることを表している場合（指が曲げられてコントローラ装置１に接触、あるいは近接している状態にあることを表している場合）に、コントローラ装置１の持ち方が異常であると判定する。
【０１１２】
例えばユーザが固定部２０に手を通すことなくコントローラ装置１を把持した場合に、第１のセンサ２１に触れることなく、第２のセンサ２２に触れることとなって、このような状態となる。
【０１１３】
情報処理装置２は、コントローラ装置１の持ち方が異常であると判定したときには、図示しないディスプレイ等に対し、「固定具を使って正しく装着してください」といったような案内を表示するなどして、ユーザに対して注意を促す。
【０１１４】
あるいは情報処理装置２は、コントローラ装置１の持ち方が異常であると判定したときには、コントローラ装置１から受信した、ユーザの操作に係る情報を破棄する（ゲームアプリケーションの処理等に利用しないよう制御する）こととしてもよい。このようにすると、コントローラ装置１を、想定された方法で把持しない限り、ゲーム等の操作を禁止するといった動作が可能となる。
【０１１５】
また別の例として、コントローラ装置１が左手用（コントローラ装置１の左側面に固定具２０が配されているもの）と、右手用（コントローラ装置１の右側面に固定具２０が配されているもの）との二種類ある場合に、情報処理装置２は、それぞれのコントローラ装置１における、第１のセンサ２１の数Ｎｗが所定のしきい値を下回っており、かつ、それぞれのコントローラ装置１から受信した、中指から小指までの各指の曲げ伸ばし量を表す情報の全て（あるいはその一部としてもよい）が、指が接触している状態（出力値が最大値となっている状態）であるときには、ユーザがコントローラ装置１を左右逆に保持しているとして、その旨を表す案内をディスプレイ等に対して出力してもよい。
【０１１６】
また本実施の形態のある例では、コントローラ装置１の制御回路１９が、コントローラ装置１に対して与えられた加速度を検出する加速度センサを備え、当該加速度センサによって検出した加速度を表す情報を、情報処理装置２に出力してもよい。
【０１１７】
この場合にも情報処理装置２は、第１のセンサ２１の数Ｎｗが所定のしきい値を下回っている状態で、加速度センサが表す値が所定のしきい値を超えるときに、コントローラ装置１の取り扱いが異常であると判断し、正しく装着することを求める案内をディスプレイ等に対して出力してもよい。
【０１１８】
なお、ここでは情報処理装置２は、正しく装着することを求める案内等をディスプレイ等に対して出力することとしたが、本実施の形態はこれに限られず、例えば音によって通知してもよいし、コントローラ装置１の制御回路１９がバイブレータやハプティックデバイス等のユーザに振動や触覚を与えるデバイスを備えるときには、このようなデバイスを駆動するようコントローラ装置１に対して指示し、装着状態についての注意喚起を行ってもよい。
【０１１９】
［ジョイスティックの補正］
ジョイスティック１５は、傾倒方向と傾倒角度とを表す情報を検出するが、ジョイスティック１５において傾倒操作されるスティック等の操作対象は、ユーザが指を放したときに原点（傾倒角度が０度の位置）に戻るよう付勢されている。
【０１２０】
しかしながら当該付勢力によって原点に復帰したとき、ジョイスティック１５の部品の製造ばらつきや、ユーザの取り扱いの次第によって必ずしも傾倒角度が０度の位置に戻らず、復帰誤差を有する場合がある。そこで従来、情報処理装置２は、復帰誤差の範囲として予め定めた角度Δθ未満の傾倒角度を検出している間は、ジョイスティック１５の出力を無視して、傾倒していない状態である（傾倒角度が「０」である）として処理を行っていた（いわゆる不感帯を設けていた）。
【０１２１】
この場合、復帰誤差による誤検出はなくなるが、ジョイスティック１５の操作可能範囲（ダイナミックレンジ）が縮小されることとなり、手に装着されるコントローラ装置１等、小型のデバイスに搭載される、比較的小型のジョイスティックの場合、操作性が課題となっていた。
【０１２２】
そこで本実施の形態では、ジョイスティック１５の操作対象であるスティック１５Ｓの頂部（ユーザがジョイスティック１５を操作する際に親指で触れる位置）に、親指との空間的な位置の変位を検出する指センサ２３を配し、この指センサ２３の出力を用いて、上記ダイナミックレンジを拡大する処理を、情報処理装置２に行わせることとしてもよい。
【０１２３】
具体的に、情報処理装置２は、指センサ２３が、親指が接触していないことを表す信号を出力しているとき（指との空間的な位置の変位に応じた情報（検出値）が、所定のしきい値より大きいとき）に、ジョイスティック１５が出力する傾倒方向を表す情報φ0と、傾倒角度の情報θ0を、原点方向情報として記録する（図８）。
【０１２４】
そして情報処理装置２は、その後、ジョイスティック１５が出力する傾倒方向を表す情報φ、及び傾倒角度の情報θにより表現される、ジョイスティック１５のスティック１５Ｓの向き（スティック１５Ｓの根元から頂点の方向に向かう線分）の情報を取得すると、次のように動作する。
【０１２５】
すなわち情報処理装置２は、図８に例示するように、この取得した情報によって表される仮想的な線分が、スティック１５Ｓの根元を中心とした仮想的球面Ｈと交差する位置Ｐを求め、原点がθ＝０であるとしたときの、この位置Ｐの傾倒方向φ及び傾倒角度θ（スティック１５Ｓの根元から見た傾倒方向及び傾倒角度）を、原点がφ＝φ0，θ＝θ0としたときにスティック１５Ｓの根元から見た傾倒方向φ′，傾倒角度θ′に補正する。
【０１２６】
なお、ここでの例では、スティック１５Ｓの根元が配される操作部１２の面に平行な面（仮想的な面）において、所定の方向（例えばコントローラ装置１を床面に立てたときに右側面側の水平方向）をＸ軸として、このＸ軸からの角度で、傾倒方向φを定める例としている。
【０１２７】
本実施の形態のこの例によると、不感帯を設ける必要がなくなり、ジョイスティック１５の操作性が向上する。
【符号の説明】
【０１２８】
１  コントローラ装置、２  情報処理装置、１０  コントローラ本体、１１  把持部、１２  操作部、１５  ジョイスティック、１６  ボタン操作部、１７  揺動ボタン、１８  ボタン、１９  制御回路、２０  固定具、２１  第１のセンサ、２２  第２のセンサ、２３  指センサ、５１，６１  手幅検出部、５２，６２  割り当て設定部、５３，６３  指検出部、５４  出力部。
【図１】
2020079853.tif 000003
【図２】
2020079853.tif 000004
【図３】
2020079853.tif 000005
【図４】
2020079853.tif 000006
【図５】
2020079853.tif 000007
【図６】
2020079853.tif 000008
【図７】
2020079853.tif 000009
【図８】
2020079853.tif 000010
【国際調査報告】
2020079853.tif 000011
2020079853.tif 000012