(57)【要約】【課題】ユーザの意思を正しく伝達しやすいボディインタフェースを提供する。【解決手段】ユーザインタフェース処理装置１００のコントローラインタフェース処理部１３０は、ゲームコントローラ２００が内蔵するセンサからゲームコントローラ２００の傾きを回転値として取得する。操作量決定部１２０は、回転値に対する操作量の反応感度が異なる複数種類の感度特性パターンの中から、回転値の範囲の広狭に応じて感度特性パターンを選択し、選択された感度特性パターンを参照して、取得された回転値に対応する操作量を決定する。【選択図】図４
2008015679.tif 000002
【特許請求の範囲】
【請求項１】
物体の動きの大きさを検出可能なセンサを内蔵し、デバイス本体を把持するユーザの手の動きを操作量として伝達するための入力デバイスから、前記センサの検出値を取得する入力部と、
検出値に対する操作量の反応感度が異なる複数種類の感度特性パターンを記憶するパターン記憶部と、
検出値の範囲の広狭に応じて感度特性パターンを選択し、前記選択された感度特性パターンを参照して、前記取得された検出値に対応する操作量を決定する操作量決定部と、
を備えることを特徴とするユーザインタフェース装置。
【請求項２】
前記センサの検出値を所定の規則により変換する変換部、を更に備え、
前記パターン記憶部は、変換後の検出値に対する操作量を対応づけたパターンとして感度特性パターンを記憶し、
前記操作量決定部は、前記選択された感度特性パターンを参照して、変換後の検出値に対応する操作量を決定することを特徴とする請求項１に記載のユーザインタフェース装置。
【請求項３】
前記入力デバイスには、前記入力デバイスの第１の方向への動きの大きさを検出可能な第１のセンサと前記第１の方向とは異なる第２の方向への動きの大きさを検出可能な第２のセンサが内蔵されており、
前記入力部は、前記入力デバイスの第１の方向への動きの大きさを第１の検出値、前記第２の方向への動きの大きさを第２の検出値として取得し、
前記操作量決定部は、第１の検出値に対応する操作量と、第２の検出値に対応する操作量を互いに異なる感度特性パターンにより決定することを特徴とする請求項１に記載のユーザインタフェース装置。
【請求項４】
前記操作量決定部は、検出値の変化率に応じて感度特性パターンを選択することを特徴とする請求項１から３のいずれかに記載のユーザインタフェース装置。
【請求項５】
コンピュータゲーム中のグラフィックスオブジェクトの操作量を決定する場合において、
前記操作量決定部は、前記コンピュータゲームの種類に応じて感度特性パターンを選択することを特徴とする請求項１から４のいずれかに記載のユーザインタフェース装置。
【請求項６】
コンピュータゲーム中のグラフィックスオブジェクトの操作量を決定する場合において、
前記操作量決定部は、前記コンピュータゲームから発生するゲームイベントに応じて感度特性パターンを選択することを特徴とする請求項１から４のいずれかに記載のユーザインタフェース装置。
【請求項７】
コンピュータゲーム中のグラフィックスオブジェクトの操作量を決定する場合において、
前記操作量決定部は、ゲーム環境内における前記グラフィックスオブジェクトの仮想的な移動速度に応じて感度特性パターンを選択することを特徴とする請求項１から６のいずれかに記載のユーザインタフェース装置。
【請求項８】
前記操作量決定部は、検出値の変化に対して操作量が変化する割合が異なる複数種類の感度特性パターンからいずれかの感度特性パターンを選択することを特徴とする請求項１から７のいずれかに記載のユーザインタフェース装置。
【請求項９】
前記操作量決定部は、検出値が変化しても操作量が変化しない検出の遊び範囲が異なる複数種類の感度特性パターンからいずれかの感度特性パターンを選択することを特徴とする請求項１から８のいずれかに記載のユーザインタフェース装置。
【請求項１０】
前記操作量決定部は、更に、検出値の中央値に応じて、前記選択された感度特性パターンにおける検出値と操作量の対応関係を調整することを特徴とする請求項１から９のいずれかに記載のユーザインタフェース装置。
【請求項１１】
ユーザが把持する入力デバイスの動きを操作量として伝達するための方法であって、
前記入力デバイスの動きの大きさを検出するステップと、
前記入力デバイスが動く範囲の広狭に応じて、前記入力デバイスの動きに対する操作感度を決定するステップと、
前記決定された操作感度に応じて前記入力デバイスについて検出された動きの大きさに対応する操作量を決定するステップと、
を備えることを特徴とする操作感度調整方法。
【請求項１２】
物体の動きの大きさを検出可能なセンサを内蔵し、デバイス本体を把持するユーザの手の動きを操作量として伝達するための入力デバイスについて、前記センサの検出値と操作量とを対応づけた感度特性パターンとして、検出値に対する操作量の反応感度が異なる複数種類の感度特性パターンを記憶する機能と、
検出値の範囲の広狭に応じて感度特性パターンを選択し、選択された感度特性パターンを参照して、取得された検出値に対応する操作量を決定する機能と、
をコンピュータに発揮させることを特徴とするユーザインタフェース処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインタフェース技術に関し、特に、ユーザの操作感を調整する技術に関する。
【背景技術】
【０００２】
据え置き型のゲーム機器はいうに及ばず、携帯型のゲーム機器でコンピュータゲームを楽しむスタイルも定着した感がある。ユーザは、通常、複数の入力ボタンを駆使してコンピュータゲームを操作する（以下、このようなボタン入力によるユーザインタフェースのことを「ボタンインタフェース」とよぶことにする）。しかし、近年ではコンピュータゲームの高度化にともなってボタンインタフェースが複雑化しつつあり、ゲームの操作が難しくなってきている。また、多くのボタンを設置するためのスペースを小さなゲームコントローラ上に確保するという問題もある。
【０００３】
このようなボタンインタフェースの問題点を解決するために、ゲームコントローラや携帯型ゲーム機器本体の動きを入力とするユーザインタフェースが注目されている（以下、「ボディインタフェース」とよぶ）。たとえば、ゲームコントローラ内に内蔵される加速度センサにより、ゲームコントローラの動きを検出する。ゲームコントローラ自体の動きの大きさがゲームキャラクタの動きに反映される。ボディインタフェースは、直感的でわかりやすいというメリットがある。
【特許文献１】特開平１１−０９９２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ボディインタフェースも万能ではない。ユーザの意思とゲームコントローラの動きが一致するとは限らないからである。たとえば、右利きのユーザは、ゲームコントローラを右に傾けがちとなるかもしれない。ゲームコントローラを安定的に動かすことができるユーザもいれば、苦手なユーザもいるかもしれない。本発明者は、ユーザの動きを忠実にゲームに伝えるボディインタフェースが、必ずしもユーザの意思を正しくゲームに伝えるとは限らないという課題を発見した。
【０００５】
本発明は、本発明者のこのような課題認識に基づいてなされたものであり、その主たる目的は、ユーザの意思を好適に伝達可能なボディインタフェースを実現することである。
【課題を解決するための手段】
【０００６】
本発明のある態様は、物体の動きの大きさを検出可能なセンサを内蔵し、デバイス本体を把持するユーザの手の動きを操作量として伝達するための入力デバイスを介して、入力デバイスの動きを操作量に変換するユーザインタフェース装置である。
この装置は、入力デバイスからセンサの検出値を取得し、検出値に対する操作量の反応感度が異なる複数種類の感度特性パターンの中から、検出値の範囲の広狭に応じて感度特性パターンを選択し、選択された感度特性パターンを参照して、取得された検出値に対応する操作量を決定する。
【０００７】
このような処理方法によれば、センサの検出値に応じて検出値を操作量に変換するための変換規則を切り換えることができる。そのため、ユーザの操作内容にあわせて操作感度を調整できる。ここでいう感度特性パターンは、検出値と操作量があらかじめ対応づけられたデータテーブルであってもよいし、検出値を操作量に変換するための公式や規則、すなわち、アルゴリズムであってもよい。
【０００８】
なお、本発明を方法、システム、プログラム、記録媒体により表現したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、ユーザの意思を正しく伝達しやすいボディインタフェースを提供できる。
【発明を実施するための最良の形態】
【００１０】
図１は、本実施例におけるコンピュータゲームの実行環境を示す模式図である。
ゲーム装置２０２は、据え置き型のゲーム機器である。ＤＶＤ−ＲＯＭ（Digital Versatile Disk-ROM）やＣＤ−ＲＯＭなどの記録媒体からコンピュータゲームのプログラムを読み出して実行する。モニタ２０４は一般的なテレビモニタでありゲーム装置２０２と接続される。ゲーム装置２０２からの画像信号を受信して、ゲーム画像を表示する。ゲームコントローラ２００は、ユーザがコンピュータゲームを操作するための入力デバイスであり、ゲーム装置２０２に接続される。以下、レーシングゲームを題材として説明する。ユーザは、ゲームコントローラ２００を介して自車であるユーザオブジェクト２０６を操作する。
【００１１】
ゲームコントローラ２００は一般的な入力ボタンを備える。また、ゲームコントローラ２００自体の動きを検出するための加速度センサを内蔵している。ユーザがゲームコントローラ２００を前後左右に傾けると、その加速度が操作信号としてゲーム装置２０２に伝送される。このように、ゲームコントローラ２００はボタンインタフェース機能とボディインタフェース機能を両方備えるが、以下においてはボタンインタフェース機能を中心として説明する。
【００１２】
図２は、ゲームコントローラ２００を中心とした座標系を示す模式図である。
ゲームコントローラ２００を中心として、ｘ軸、ｙ軸、ｚ軸からなる直交座標系が仮想的に設定されている。この直交座標系は、ゲームコントローラ２００の動きに応じて向きが変化するローカルな座標系である。以下、各軸について述べる。
［ｘ軸：ピッチ］
ゲームコントローラ２００を把持するユーザからみて、左から右の方向にｘ軸が設定される。ｘ軸と中心として前方または後方に対する回転角のことを「ピッチ（Pitch）角」とよぶ。
［ｙ軸：ロール］
ゲームコントローラ２００を把持するユーザからみて、手前から前方に抜けるようにｙ軸が設定される。ｙ軸と中心として右方向または左方向に対する回転角のことを「ロール（Roll）角」とよぶ。
［ｚ軸：ヨー］
ゲームコントローラ２００を把持するユーザからみて、下方から上方に抜けるようにｚ軸が設定される。ｚ軸と中心として右方向または左方向に対する回転角のことを「ヨー（Yaw）角」とよぶ。
【００１３】
ゲームコントローラ２００は、３軸方向の加速度を検出するための加速度センサとｚ軸を中心とした回転、すなわちヨー回転の角速度を検出するためのジャイロセンサを内蔵している。加速度センサは、錘と、錘を支える梁、梁上に形成したピエゾ抵抗素子を含む。ゲームコントローラ２００の動きは錘に伝達される。錘の動きによって梁が歪み、その歪みがピエゾ抵抗素子の抵抗値に変化として検出される。このような既知のピエゾ抵抗方式によりｘ軸、ｙ軸、ｚ軸のそれぞれの方向についての加速度が検出される。ジャイロセンサは、物体の回転運動を圧電振動子の電圧変化として取り出す。このように、加速度センサやジャイロセンサは既知のセンシング技術を応用した一般的なセンサである。以下、ｘ軸方向の加速度のことを「ｘ加速度」とよぶ。ｙ軸、ｚ軸についても同様であり、それぞれ「ｙ加速度」、「ｚ加速度」とよぶ。
【００１４】
ゲームコントローラ２００の内蔵センサが検出したｘ加速度は、０〜２５５の範囲のデジタル値（以下、「ｘ加速値」とよぶ）に変換され、操作信号として伝送される。ｘ軸の正方向のｘ加速値は「１２７〜２５５」、ｘ軸の負方向のｘ加速値は「０〜１２７」となる。ｙ加速度、ｚ加速度もそれぞれ同様であり、ｙ加速値、ｚ加速値として伝送される。また、ジャイロセンサが検出した角速度も、０〜２５５の範囲のデジタル値（以下、「角速度値」とよぶ）に変換され、操作信号として伝送される。このように、ゲームコントローラ２００のボディインタフェースに関わる情報として、ｘ加速値、ｙ加速値、ｚ加速値および角速度値の４種類のデジタル値が操作信号として伝送される。
【００１５】
図３は、加速度と回転角の関係を示す模式図である。
同図に示すように、ゲームコントローラ２００が基本姿勢にあるときには、ｘ加速度は０、ｙ加速度も０、ｚ加速度は−１Ｇである（Ｇは重力加速度を示す）。ゲームコントローラ２００がロール回転すると、ｘ加速度とｚ加速度が大きくなるが、ｙ加速度は変化しない。ゲームコントローラ２００のロール回転が９０度を超え、裏返し方向に回転すると、ｘ加速度は減少に転じるが、ｚ加速度はいっそう大きくなる。
【００１６】
同様の理由からピッチ角やヨー角が変化してもｘ方向にかかる重力は変化しない。しかし、ロール角が変化するとｘ軸と地面が平行でなくなるのでｘ加速値が大きくなる。ｙ加速値はロール角やヨー角によって変化しないが、ピッチ回転によって変化する。ｚ加速値はヨー回転によって変化しないが、ロール角やピッチ角によって変化する。実際には、ｘ〜ｚ加速値からヨー角を特定するのが難しいため、ヨー角はジャイロセンサの角速度値に基づいて特定される。
【００１７】
本実施例に示すレーシングゲームの場合、ロール回転によりｘ加速値を変化させ、ユーザオブジェクト２０６を左右に移動させる。ロール角がハンドルの回転角を模している。また、ピッチ角によりユーザオブジェクト２０６の移動速度を調整できる。ピッチ角はアクセルやブレーキの踏み込み量を模している。ゲームコントローラ２００が前方に傾けられｙ加速度が大きくなると、アクセルが踏み込まれた状態となり、ユーザオブジェクト２０６は加速する。反対に、後方に傾けられｙ加速度が小さくなると、いいかえればｙ軸と逆方向に大きくなると、ブレーキが踏み込まれた状態となり、ユーザオブジェクト２０６は減速する。十字ボタンなどのボタンインタフェースやいわゆるアナログスティックは、ユーザの指の動きをユーザオブジェクト２０６に伝えるタイプの入力インタフェースである。これに対し、本実施例に示すボディインタフェースによれば、ユーザは手首や体全体を使ってユーザオブジェクト２０６を操作できる。より直感的でゲーム環境に没入しやすいユーザインタフェースとなっている。
【００１８】
以下においては、ｘ加速値とｙ加速値を中心として説明し、ｚ加速値や角速度値による制御については特に言及しない。しかし、ｘ加速値やｙ加速値を対象として説明する以下の制御方法とｚ加速値や角速度値に対する制御方法の原理は基本的に同じである。ｘ加速値やｙ加速値に加えてｚ加速値や角速度値を使うタイプのゲームとしてはシューティングゲームやフライトシミュレーションゲームなどが考えられる。シューティングゲームであればｘ加速値とｙ加速値によりオブジェクトを前後左右に移動させ、ｚ加速値や角速度値によって砲門の向きを変えるというユーザインタフェースが考えられる。また、フライトシミュレーションゲームであれば、角速度値の変化に基づきオブジェクトの位置を変えずに旋回させるというユーザインタフェースが考えられる。
【００１９】
ゲームコントローラ２００にて検出されたｘ加速値とｙ加速値はゲーム装置２０２に対して操作信号として定期的に伝送される。これらの加速値は、ゲーム装置２０２内にある後述のユーザインタフェース処理装置１００によって操作量に変換される。以下、ｘ加速値を変換した操作量のことを「ｘ操作量」とよぶ。ｙ加速値、ｚ加速値、角速度値は、それぞれ「ｙ操作量」、「ｚ操作量」、「角速度操作量」に変換される。操作量は、ゲーム環境内において、操作対象となるユーザオブジェクト２０６に作用する力の大きさを示すパラメータである。本実施例における操作量は、いずれも「０〜２５５」の範囲内の数値となる。
【００２０】
たとえば、ゲームコントローラ２００が右方向にロール回転し、ｘ加速値「＋１９０」が検出されたとする。ユーザインタフェース処理装置１００は、仮に、このｘ加速値「＋１９０」を所定の変換規則によりｘ操作量「＋１１０」に変換したとする。このとき、ゲームソフトウェアはｘ操作量「＋１１０」に応じて、ユーザオブジェクト２０６の進行方向を決定する。このようにして、ゲームコントローラ２００本体の動きがユーザオブジェクト２０６に伝えられる。加速値から操作量を特定するための変換規則は、図７以降に関連して詳述する「感度特性パターン」として定義される。上述の例の場合、感度特性パターンにおいて、ｘ加速値「＋１９０」がｘ操作量「＋１１０」と対応づけられていたことになる。詳しくは後述する。
【００２１】
図４は、ユーザインタフェース処理装置１００の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合わせによっていろいろなかたちで実現できることは、当業者には理解されるところである。
ここでは、主として各ブロックの発揮すべき機能について、その具体的な作用については、図５以降に関連して説明する。
【００２２】
ユーザインタフェース処理装置１００は、ゲームコントローラ２００から各種加速値と角速度値を取得し、加速値と角速度値からそれぞれに対応する操作量を特定し、ゲームコントローラ２００の制御部に対して操作量を送信するソフトウェアモジュールとして実現されてもよい。ユーザインタフェース処理装置１００は、たとえば、ＤＬＬ（Dynamic Link Library）のようなライブラリ形式で提供されてもよい。ユーザインタフェース処理装置１００は、ＤＶＤにゲームソフトウェアの一部として格納されてもよいし、ゲーム装置２０２のミドルウェアとして提供されてもよい。あるいは、ゲームコントローラ２００に搭載され、加速値や角速度値を操作量に変換して、操作量をゲームコントローラ２００に伝送する装置であってもよい。
【００２３】
本実施例のユーザインタフェース処理装置１００は、ゲーム装置２０２のミドルウェアとして提供されるソフトウェアモジュールである。ユーザインタフェース処理装置１００は、ゲームコントローラ２００からゲーム装置２０２に送信される各種操作信号のうち、ｘ加速値、ｙ加速値、ｚ加速値の各加速値と角速度値を取得する。そして、これらの加速値と角速度値を操作量に変換してゲームソフトウェアの処理用のパラメータとして提供する。
【００２４】
ユーザインタフェース処理装置１００は、コンテンツインタフェース処理部１１０、操作量決定部１２０、コントローラインタフェース処理部１３０、パターン記憶部１４０および操作履歴記憶部１５０を含む。
コンテンツインタフェース処理部１１０は、ゲーム装置２０２で実行されるゲームソフトウェアとのインタフェースを担当する。コントローラインタフェース処理部１３０は、ゲームコントローラ２００とのインタフェースを担当する。操作量決定部１２０は、検出された加速値や角速度値から操作量を特定する。また、操作量決定部１２０は、コンテンツインタフェース処理部１１０、コントローラインタフェース処理部１３０、パターン記憶部１４０、および操作履歴記憶部１５０の間のインタフェースの役割も果たす。
パターン記憶部１４０は、あらかじめ用意された複数種類の感度特性パターンを格納する。操作履歴記憶部１５０は、ユーザの操作履歴を示す操作履歴データを保持する。
【００２５】
コントローラインタフェース処理部１３０は、ｘ入力部１３２、ｙ入力部１３６、ｚ入力部１３４およびジャイロ入力部１３８を含む。ｘ入力部１３２はゲームコントローラ２００から送信された操作信号からｘ加速値を取得する。ｙ入力部１３６はｙ加速値を取得し、ｚ入力部１３４はｚ加速値を取得し、ジャイロ入力部１３８はジャイロセンサの検出した角速度値を取得する。ｘ入力部１３２、ｚ入力部１３４、ｙ入力部１３６、ジャイロ入力部１３８はそれぞれ所定の時間間隔、たとえば、０．０１秒ごとに各加速値と角速度値を定期的に取得し、操作履歴記憶部１５０の操作履歴データに記録する。操作履歴データにおいては、過去所定時間、たとえば、過去３分間における加速値と角速度値が記録される。以下、このような期間のことを「履歴期間」とよぶ。すなわち、３分間÷０．０１秒＝１８０００より、最新の１８０００個の加速値や角速度値が記録される。操作履歴データとして、ｘ加速値、ｙ加速値、ｚ加速値と角速度値の計４種類の検出値について、別々に変化の履歴が記録されることになる。
【００２６】
操作量決定部１２０は、パターン選択部１２２、入力変換部１２４、調整部１２６および回転値変換部１２８を含む。パターン選択部１２２は、パターン記憶部１４０から感度特性パターンを選択する。感度特性パターンも、加速値と角速度値に対応して計４種類選択される。もちろん、ある加速値について選択される感度特性パターンと別の加速値について選択される感度特性パターンは同一であってもよい。入力変換部１２４は、選択された感度特性パターンを参照して、操作量を特定する。すなわち、ｘ加速値をｘ操作量に、ｙ加速値をｙ操作量に、ｚ加速値をｚ操作量にそれぞれ変換する。また、角速度値を所定の操作量に変換する。調整部１２６は、特定された操作量を調整する。操作量の調整については図１１等に関連して詳述する。回転値変換部１２８は、各加速値と角速度値から、ヨー角、ピッチ角、ロール角を特定する。たとえば、図３を参照すると、ｘ加速度が０．５Ｇ、ｚ加速度が−０．５Ｇのときには、ロール角を３０度として特定される。
【００２７】
コンテンツインタフェース処理部１１０は、操作量伝送部１１２とコンテンツ情報取得部１１４を含む。操作量伝送部１１２は、操作量決定部１２０により特定された各操作量をゲームソフトウェアに伝達する。コンテンツ情報取得部１１４は、ゲームソフトウェアに関する各種情報（以下、「コンテンツ情報」とよぶ）を取得する。コンテンツ情報は、主として２種類に大別される。
【００２８】
１つ目は、実行対象となるゲームソフトウェアの種類である。たとえば、アクションゲームやシューティングゲームの場合、ユーザの動きに対するユーザオブジェクト２０６の追従性を高めるために操作感度を高く設定する方が好ましい。一方、シミュレーションゲームやアドベンチャーゲームの場合には、操作感度の高さよりも操作の確実性が重要である。後にも詳述するが、パターン選択部１２２はコンピュータゲームの種類に応じて感度特性パターンを選択する。
２つ目は、実行中のコンピュータゲームから発生する情報であり、いわゆるゲームイベントなどが該当する。たとえば、ユーザオブジェクト２０６がヘアピンカーブにさしかかったときや移動速度が所定速度を超えたときに、ゲームソフトウェアはさまざまなゲームイベントを発生させる。ユーザオブジェクト２０６の移動速度が小さいときには操作感度を高め、移動速度が大きいときには操作感度を下げることによりユーザオブジェクト２０６の安定走行を支援してもよい。コンテンツ情報取得部１１４はゲームイベントを取得し、パターン選択部１２２はゲームイベントに応じて感度特性パターンを選択する。
【００２９】
図５は、ユーザごとの加速値検出範囲の違いを説明するための模式図である。
図５（ａ）は、あるユーザＡの操作履歴データをグラフ化した図である。横軸は時間を示し、縦軸はｘ加速値を示す。図５（ａ）から図１１（ｂ）までは、主としてｘ加速値について説明するが、基本的な原理はｙ加速値やｚ加速値、角速度値についても同じである。ｘ入力部１３２は定期的にｘ加速値を取得し、操作履歴データに記録する。図５（ａ）によると、ユーザＡはゲームコントローラ２００を左右に大きく動かしていることがわかる。以下、操作履歴データにおけるｘ加速値の範囲のことを「ｘ加速値検出範囲」とよぶことにする。図５（ａ）の場合、ユーザＡのｘ加速値検出範囲は、ほぼ「０〜２５５」である。
【００３０】
図５（ｂ）は、別のユーザＢの操作履歴データをグラフ化した図である。図５（ａ）によると、ユーザＢはユーザＡに比べてゲームコントローラ２００を左右に小さく動かしている。すなわち、ユーザＢのｘ加速値検出範囲はユーザＡのｘ加速値検出範囲よりも狭い。図５（ａ）と図５（ｂ）が同じコンピュータゲームについて取得された操作履歴データであるとすると、ユーザＡとユーザＢはそもそもの操作のやり方が大きく異なっているといえる。したがって、ユーザＢにとっては、ｘ加速値の小さな変化でも機敏にｘ操作量が変化するような操作特性が好ましい。一方、大きくｘ加速値を変化させるユーザＡにとっては、小さなｘ加速値の変化によってｘ操作量が大きく反応するような操作特性はそぐわない。
【００３１】
図６も、ユーザごとの加速値検出変化率の違いを説明するための模式図である。
図６（ａ）は、あるユーザＣの操作履歴データをグラフ化した図である。図６（ａ）によると、ユーザＡはゲームコントローラ２００を左右に小刻みに動かしていることがわかる。以下、操作履歴データにおけるｘ加速値の変化率のことを「ｘ加速値検出変化率」とよぶことにする。たとえば、履歴期間の所定時点における０．１秒あたりのｘ加速値の変化量をｘ加速値検出変化率として定義してもよい。図６（ｂ）は、別のユーザＤの操作履歴データを示すグラフである。図６（ｂ）によると、ユーザＤはゲームコントローラ２００をゆったりと動かしていることがわかる。すなわち、ユーザＤのｘ加速値検出変化率はユーザＣのそれよりも小さい。
【００３２】
図７は、感度特性パターンの第１例を示す図である。
図７（ａ）から図１１（ｂ）に示す各グラフは、ｘ加速値とｘ操作量の対応関係を定めるさまざまな感度特性パターンを示す。図７（ａ）の感度特性パターンの場合、ｘ加速値とｘ操作量は正比例の関係にある。ｘ加速値の最大値「２５５」がｘ操作量の最大値「２５５」に対応し、同様に、ｘ加速値の最小値「０」がｘ操作量の最小値「０」に対応している。
図７（ｂ）に示す感度特性パターンでも、ｘ加速値とｘ操作量は正比例の関係にある。ただし、ｘ加速値が「１９１（＝２５５−６４）」以上となると、ｘ操作量は最大の「２５５」となる。また、ｘ加速値が「６３（＝１２７−６４）」以下となると、ｘ操作量は最小の「０」となる。以下、図７（ａ）から図１０（ｂ）までに示すような単調増加関数タイプの感度特性パターンにおいては、最小ｘ操作量から最大ｘ操作量までに達するときのｘ加速値の範囲のことを「ｘ加速値実質範囲」とよぶことにする。図７（ａ）の感度特性パターンの場合、ｘ加速値実質範囲は「０〜２５５」である。図７（ｂ）の感度特性パターンの場合、ｘ加速値実質範囲は「６３〜１９１」である。図７（ｂ）の方が、図７（ａ）よりもｘ加速値実質範囲が狭くなっている。また、感度特性パターンの傾きの大きさとして
ｘ加速値実質変化率＝（最大ｘ操作量−最小ｘ操作量）／ｘ加速値実質範囲
を定義する。
【００３３】
これら２種類の感度特性パターンを比べてみると、図７（ａ）の感度特性パターンよりも図７（ｂ）の感度特性パターンの方がｘ加速値実質変化率が大きい。すなわち、操作感度が高い。
【００３４】
ｘ加速値検出範囲が大きいユーザＡには図７（ａ）のような感度特性パターンの方を適用してもよい。図７（ａ）の感度特性パターンの場合、ｘ加速値実質範囲の広さとユーザＡのｘ加速値検出範囲の広さがマッチするため、より快適な操作性を提供できる。
【００３５】
ユーザＢにとっては図７（ｂ）の感度特性パターンの方を適用してもよい。図７（ｂ）の感度特性パターンの場合、ｘ加速値実質範囲の狭さとユーザＢのｘ加速値検出範囲の狭さがマッチするため、より快適な操作性を提供できる。
【００３６】
あるいは、別の観点から、ユーザＡに対して、図７（ｂ）の感度特性パターンを適用してもよい。
ユーザＡの様にゲームコントローラ２００を大きく動かすユーザに対して、図７（ｂ）のようにｘ加速値実質範囲の狭い感度特性パターンを適用すると、ユーザＡがゲームコントローラ２００の動きを小さくするように導くことができる。図７（ｂ）の感度特性パターンによれば大きくｘ加速値を変化させなくてもｘ操作量を変化させることができるので、ユーザＡはｘ加速値検出範囲を狭めるように操作方法を変更することになるからである。
また、ユーザＢの様にゲームコントローラ２００を小さく動かすユーザに対して、図７（ａ）の感度特性パターンを適用してもよい。ユーザＢは、ｘ加速値を小さく変化させており、ｘ操作量を細かく制御しようとしていると考えられる。したがって、図７（ａ）の様にｘ加速値に対してｘ操作量が緩やかに変化する感度特性パターンを適用することによりユーザＢの意思を操作内容に反映させやすくなる。
【００３７】
パターン選択部１２２は、操作履歴データにおけるｘ加速値が所定の閾値を超えるときには図７（ａ）の感度特性パターンを選択し、そうでないときには図７（ｂ）の感度特性パターンを選択する。あるいは、ｘ加速値検出範囲が所定の閾値を超えるか否かを選択条件としてもよい。履歴期間において、ｘ加速値が所定の閾値を超えた回数に応じて、いずれかの感度特性パターンを選択してもよい。このように、パターン選択部１２２は操作履歴データにおけるｘ加速値検出範囲の広狭に応じて、感度特性パターンを選択する。
【００３８】
ユーザＣのようにｘ加速値検出変化率が大きいユーザＣには、図７（ｂ）の感度特性パターンの方が図７（ａ）の感度特性パターンよりも好ましい。小刻みにｘ加速値を変化させ、機敏な操作を求めるユーザＣにとって、図７（ａ）のようなｘ加速値実質変化率が低い感度特性パターンよりも、図７（ｂ）のような操作感度が高い感度特性パターンの方がユーザＣにより適合した操作性を提供できる。
【００３９】
ｘ加速値をゆっくり変化させるユーザＤにとっては図７（ａ）の感度特性パターンの方が好ましい。ユーザＤは、慎重にゲームコントローラ２００を操作する傾向にあるため、ｘ加速値実質変化率が大きすぎると使いにくさを感じてしまう。したがって、図７（ａ）の感度特性パターンの場合、ｘ加速値実質変化率の小ささとユーザＢのｘ加速値検出変化率の小ささがマッチするため、より快適な操作性を提供できる。
【００４０】
パターン選択部１２２は、操作履歴データにおけるｘ加速値検出変化率が所定の閾値を超えるときには図７（ｂ）の感度特性パターンを選択し、そうでないときには図７（ａ）の感度特性パターンを選択する。あるいは、履歴期間において、ｘ加速値検出変化率が所定の閾値を超えた回数に応じて、いずれかの感度特性パターンを選択してもよい。このように、パターン選択部１２２は操作履歴データにおけるｘ加速値検出変化率の大小に応じて、感度特性パターンを選択する。
【００４１】
パターン選択部１２２は、刻々と更新される操作履歴データを参照しながら、感度特性パターンを動的に切り換える。入力変換部１２４は、感度特性パターンを参照して、検出されたｘ加速値に対応するｘ操作量を特定する。
【００４２】
なお、図７（ａ）と図７（ｂ）のいずれも、ｘ加速値の中央値である「１２７」に対して点対称のグラフとなっているが、これは感度特性パターンにとって必須の条件ではない。たとえば、右向きのｘ加速値（１２７〜２５５）が大きく、左向きのｘ加速値（０〜１２７）が小さくなりがちな操作履歴データを想定する。実際、ユーザの利き腕によっては、右向きのｘ加速値における操作履歴と左向きのｘ加速値における操作履歴は別々に扱った方が好適な場合もある。この場合、パターン選択部１２２は、ｘ加速値が「１２７〜２５５」のときには図７（ａ）の感度特性パターンを選択し、ｘ加速値「０〜１２７」のときには図７（ｂ）の感度特性パターンを選択してもよい。このような選択方法によれば、利き腕などユーザの身体的な癖まで考慮して好適な感度特性パターンを選択できる。同様の理由からｘ加速値「１２７」とｘ操作量「１２７」は必ずしも対応づけられる必要はない。ゲームコントローラ２００を右に動かしがちのユーザであれば、ｘ加速値が「１２７」以上の所定値にあるときにｘ操作量が中央値「１２７」となるように対応づけた方が、操作性が向上する。
【００４３】
図５（ａ）から図６（ｂ）において、ｘ加速度検出範囲の中央値は、いずれもほぼ「１２７」となっている。しかし、ｘ加速度検出範囲の中央値が「１２７」以上、あるいは、「１２７」以下となる場合もある。調整部１２６は、実際に検出されたｘ加速値の中央値とｘ操作量の中央値が対応するように感度特性パターンを調整してもよい。
たとえば、調整部１２６は履歴期間におけるｘ加速値の平均値をｘ加速度実質検出範囲の中央値として算出する。仮に、ｘ加速値の平均値が「１５０」であったとする。そして、このｘ加速値の平均値「１５０」とｘ操作量の中央値「１２７」が一致するように、感度特性パターンを平行移動させる。このような調整によれば、ｘ加速度の検出範囲に応じてｘ操作量とｘ加速値の対応関係を好適に追従させることができる。
【００４４】
調整部１２６は、選択された感度特性パターンを更に調整してもよい。たとえば、履歴期間において、ｘ加速値が「６３〜１９１」の範囲を逸脱した回数が１０回以上となるときには、パターン選択部１２２は図７（ｂ）の感度特性パターンを選択し、「３１〜２２３」の範囲を逸脱した回数も１０回以上となるときには、調整部１２６は図７（ｂ）のｘ加速値実質範囲を「６３〜１９１」から「３１〜２２３」に広げてもよい。また、これにあわせてｘ加速値実質変化率も調整されることになる。すなわち、ｘ加速値が「０〜３１」のときにはｘ操作量は「０」、ｘ加速値が「２２３〜２５５」のときにはｘ操作量は「２５５」となる。そして、ｘ加速値が「３１〜２２３」のときには、ｘ加速値に正比例してｘ操作量は０から２５５に変化する。
【００４５】
感度特性パターンが選択変更されたとき、ｘ加速値に対するｘ操作量の対応関係は瞬間的に切り換えられなくてもよい。図７（ａ）の感度特性パターンに代えて図７（ｂ）の感度特性パターンを選択するとする。このとき、調整部１２６は、図７（ａ）のｘ加速値実質範囲を徐々に狭めながら、図７（ａ）の感度特性パターンから図７（ｂ）の感度特性パターンに変化させてもよい。感度特性パターンを緩やかに変化させることにより、ユーザが操作感の変化に対応しやすくなる。図８（ａ）以降についても同様である。
調整部１２６は、アプリケーションソフトウェアからの指示に応じて感度特性パターンの切り換え速度を変化させてもよい。たとえば、複雑な操作や敏捷な操作をユーザに要求する場面では、調整部１２６は比較的ゆっくりと感度特性パターンを切り換える。これにより、ユーザは徐々に操作感の変化になじむことができる。一方、メニュー選択画面などのいわば静的な場面では、調整部１２６は比較的すばやく感度特性パターンを切り換えてもよい。
感度特性パターンが加速値と操作量の対応関係をあらかじめ定めるデータテーブルではなく、加速値から操作量を特定するための計算式である場合も同様である。たとえば、ｘ操作量＝ａ×ｘ加速値＋ｂという関係が成立しているときに、係数ａや係数ｂの大きさを徐々に変化させることにより、ある感度特性パターンから別の感度特性パターンへと変化させてもよい。
【００４６】
パターン選択部１２２は実行対象となるゲームソフトウェアの種類に応じて感度特性パターンを選択することもできる。たとえば、実行対象となるコンピュータゲームが高い操作感度を必要とするアクションゲームの場合、パターン選択部１２２は図７（ｂ）の感度特性パターンを選択する。また、実行対象となるコンピュータゲームが操作感度よりも操作の安定性が重要なシミュレーションゲームの場合、パターン選択部１２２は図７（ａ）の感度特性パターンを選択する。実行対象となるコンピュータゲームがゲーム装置２０２のメモリにロードされるときに、コンテンツ情報取得部１１４は、ゲームソフトウェアからゲームの種類を示す情報を受信し、パターン選択部１２２が対応する感度特性パターンを選択する。ゲームソフトウェアがどのような感度特性パターンを選ぶべきかを明示的にコンテンツ情報取得部１１４に通知してもよい。
【００４７】
パターン選択部１２２は、ゲームイベントに応じて感度特性パターンを選択してもよい。たとえば、レーシングゲームの場合、ユーザがユーザオブジェクト２０６のタイヤやサスペンションが交換されたとき、パターン選択部１２２は感度特性パターンを変更してもよい。このような選択方法によれば、ユーザオブジェクト２０６について選択されるスペックに応じて、操作感を変更することができる。また、ユーザオブジェクト２０６の移動速度が大きいときには図７（ａ）のように操作感度を下げ、移動速度が小さいときには図７（ｂ）のように操作感度を上げれば、ユーザはユーザオブジェクト２０６を操作しやすくなる。移動速度が大きいときはユーザオブジェクト２０６の直進性が重視される状況にあると考えられるため、このような選択方法によればよりユーザの意思に合致した操作性を提供できる。
【００４８】
図８は、感度特性パターンの第２例を示す図である。
図８（ａ）の感度特性パターンの場合、ｘ加速値が「９５〜１５９」のときｘ操作量は変化しない。このようなｘ加速値の範囲のことを「遊び範囲」とよぶ。遊び範囲を設けることにより、ｘ操作量を中央値「１２７」に設定しやすくなる。図８（ｂ）の感度特性パターンの遊び範囲は「１１１〜１４３」となっており、図８（ａ）の感度特性パターンの遊び範囲よりも狭くなっている。
【００４９】
ｘ加速値検出範囲が広いユーザＡには、図８（ｂ）よりも図８（ａ）のような感度特性パターンの方が好ましい。大きな操作を好むユーザＡにとって、図８（ｂ）のような遊び範囲が狭い感度特性パターンでは、ｘ操作量を中立的な「１２７」に戻すのが難しく感じられる。一方、図８（ａ）の感度特性パターンの場合、遊び範囲の広さとユーザＡのｘ加速値検出範囲の広さがマッチするため、より快適な操作性を実現できる。
【００５０】
ユーザＢにとっては図８（ｂ）の感度特性パターンの方が好ましい。ユーザＢのｘ加速値検出範囲は狭いので、図８（ａ）のような遊び範囲が広い感度特性パターンの場合、ユーザＢは反応性の悪さを感じてしまう。一方、図８（ｂ）の感度特性パターンの場合、遊び範囲の狭さとユーザＢのｘ加速値検出範囲の狭さがマッチするため、より快適な操作性を提供できる。図７に関連して説明したのと同様、パターン選択部１２２は操作履歴データにおけるｘ加速値検出範囲の広狭に応じて、感度特性パターンを選択する。
【００５１】
ユーザＣのようにｘ加速値検出変化率が大きいユーザＣには、図８（ａ）の感度特性パターンの方が図８（ｂ）の感度特性パターンよりも好ましい。小刻みにｘ加速値を変化させるユーザＣにとって、図８（ｂ）のような遊び範囲が狭い感度特性パターンよりも、図８（ｂ）のような遊び範囲が広い感度特性パターンの方が操作を安定させやすく、ユーザＣにより適合した操作性を提供できる。
【００５２】
ｘ加速値をゆっくり変化させるユーザＤにとっては図８（ｂ）の感度特性パターンの方が好ましい。ユーザＤは、慎重にゲームコントローラ２００を操作する傾向にあるため、ｘ操作量を細かく制御することができる。そのため、遊び範囲が広いとかえって使いにくさを感じてしまう。図８（ｂ）の感度特性パターンの場合、遊び範囲の狭さとユーザＢのｘ加速値検出変化率の小ささがマッチするため、より快適な操作性を提供できる。図７に関連して説明したのと同様、パターン選択部１２２は操作履歴データにおけるｘ加速値検出変化率の大小に応じて、感度特性パターンを選択してもよい。
【００５３】
調整部１２６は、選択された感度特性パターンを更に調整してもよい。たとえば、履歴期間において、ｘ加速値が「６３〜１９１」の範囲を逸脱した回数が１０回以上となるときには、パターン選択部１２２は図８（ａ）の感度特性パターンを選択し、「３１〜２２３」の範囲を逸脱した回数も１０回以上となるときには、調整部１２６は図８（ｂ）の遊び範囲を「１１１〜１４３」から「６３〜１９１」に更に広げてもよい。
【００５４】
パターン選択部１２２は実行対象となるゲームソフトウェアの種類に応じて感度特性パターンを選択することもできる。たとえば、実行対象となるコンピュータゲームがアクションゲームの場合、パターン選択部１２２は図８（ａ）のような遊び範囲が大きくて操作が安定しやすい感度特性パターンを選択する。あるいは、操作感度を優先して、図８（ｂ）のような感度特性パターンを選択するとしてもよい。
【００５５】
また、図７に関連して説明したようにパターン選択部１２２は、ゲームイベントに応じて感度特性パターンを選択してもよい。たとえば、ユーザオブジェクト２０６の移動速度が大きいときに遊び範囲を広げてやれば、直進安定性を増すことができる。また、図８（ａ）や図８（ｂ）においては、同じｘ加速値であっても、ｘ加速値が増加する方向と減少する方向で対応するｘ操作量を異ならせてもよい。すなわち、ちょうどヒステリシス曲線のように対応関係を設定することにより、操作の安定性をいっそう向上させてもよい。
【００５６】
図８（ａ）と図８（ｂ）のいずれも、ｘ加速値「１２７」となる中央値に対して点対称のグラフとなっているが、感度特性パターンにとって必須の条件でないことは図７（ａ）や図７（ｂ）と同様である。遊び範囲は必ずしもｘ加速値「１２７」を中心とする必要はない。たとえば、右方向へのｘ加速値が大きく、左方向へのｘ加速値が小さくなりがちな操作履歴データを想定する。この場合、遊び範囲をたとえば、「１０７〜１７１」のように右寄りにシフトした方が、操作性が向上する。調整部１２６は、ｘ加速値検出範囲の広狭やｘ加速値検出変化率の大小により、遊び範囲の大きさや位置を決定し、動的に感度特性パターンの対応関係を調整してもよい。
【００５７】
また、図７（ａ）、図７（ｂ）、図８（ａ）、図８（ｂ）のうちいずれか１つの感度特性パターンを選択するのではなく、いずれか２つ以上の感度特性パターンを選択して組み合わせてもよい。たとえば、パターン選択部１２２は、図７（ｂ）の感度特性パターンと図８（ａ）の感度特性パターンを選択し、調整部１２６はこれら２つの感度特性パターンを重畳し、ｘ操作量の範囲を「０〜２５５」に正規化してもよい。このような処理方法によれば、複数の感度特性パターンの特徴を反映した新たな感度特性パターンを生成することができる。
【００５８】
図９は、感度特性パターンの第３例を示す図である。
図９（ａ）や図９（ｂ）に示す感度特性パターンは、図８（ａ）や図８（ｂ）と異なり遊び範囲においてｘ操作量がわずかに変化している。遊び範囲とは、図８（ａ）や図８（ｂ）のようにｘ加速値の変化に対してｘ操作量が全く変化しない範囲に限らず、図９（ａ）や図９（ｂ）のようにｘ操作量の変化が鈍化する範囲であってもよい。
【００５９】
図１０は、感度特性パターンの第４例を示す図である。
図７（ａ）等に関連して説明したように、ｘ加速値とｘ操作量は比例関係にあってもよいが、ｘ操作量の変化率は滑らかに変化してもよい。図１０（ａ）においてはｘ加速値「１２７」付近におけるｘ操作量の増加率は小さいが、図１０（ｂ）においては逆に大きくなっている。大きくｘ加速値を変化させるユーザＡには、ｘ操作量が緩やかに変化する図１０（ａ）の感度特性パターン、小さくｘ加速値を変化させるユーザＢにはｘ操作量が機敏に変化する図１０（ｂ）の感度特性パターンが好ましい。
【００６０】
ｘ加速値を小刻みに変化させるユーザＣの場合、ｘ操作量が緩やかに変化する図１０（ａ）の感度特性パターンの方が好ましい。また、ゆっくりと安定的にｘ加速値を変化させるユーザＤの場合、ｘ操作量が機敏に変化する図１０（ｂ）の感度特性パターンの方が好ましい。くり返すまでもなく、パターン選択部１２２は、実行対象となるコンピュータゲームの種類やゲームイベントに応じて、図１０（ａ）または図１０（ｂ）のいずれかの感度特性パターンを選択してもよい。
【００６１】
図１１は、感度特性パターンの第５例を示す図である。
図１１（ａ）や図１１（ｂ）の感度特性パターンにおいては、ｘ操作量とｘ加速値は１対１にて対応するとは限らない。図１１（ａ）のグラフにおいては、ｘ加速値とｘ操作量の対応関係が波打つような形状なっている。たとえば、小舟の上のユーザオブジェクト２０６を操作するようなゲーム性の場合に図１１（ａ）の感度特性パターンを適用してもよい。所望のｘ操作量を出力するためのｘ加速値の設定が難しいため、ゲームコントローラ２００を左右に動かしながらユーザオブジェクト２０６のバランスをとるような操作感を実現できる。したがって、足場の悪さをユーザにより実感させることができる。
【００６２】
図１１（ｂ）においては、実線で示す感度特性パターンと点線で示す感度特性パターンが定期的に入れ替わる様子を示している。時間経過にともなって複数の感度特性パターンを動的に切り換えることによって、ユーザを翻弄するような操作感をいっそうリアルに表現できる。パターン選択部１２２が複数種類の感度特性パターンを適宜選択することによりこのような操作感を実現するとしてもよい。あるいは、調整部１２６が感度特性パターンにおける対応関係を動的に調整することによりこのような操作感を実現してもよい。たとえば、調整部１２６は、選択された感度特性パターンにおけるｘ操作量を＋１１０％から９０％の範囲で定期的に増減することにより、動的に変化する操作感を実現することができる。
【００６３】
なお、以上においては、ｘ加速値とｘ操作量の関係を示したが、ｙ加速値とｙ操作量、ｚ加速値とｚ操作量の関係についてもそれぞれ感度特性パターンの選択により決定される。これら３種類の感度特性パターンは共通であってもよいし、別々に選択されてもよい。人間の手首の構造上、ピッチ角に比べてロール角の方が大きく変化させやすい。そのため、ｙ加速値については操作感度を高く、ｘ加速値については操作感度を低くすることにより、いっそう快適な操作感を実現できる。
【００６４】
図１２は、ｙ加速値に応じてｘ加速値とｘ操作量の関係が変化する様子を示すグラフである。
図１２は、さまざまなｙ加速値について、ｘ加速値とｘ操作量の対応関係を示している。たとえば、ｙ加速値＝２５５の場合、ｘ加速値＝２５５のときｘ操作量＝２５５、ｘ加速値＝０でｘ操作量＝０となる。すなわち、ｘ加速値実質範囲は「０〜２５５」となっている。一方、ｙ加速値＝１２７の場合、ｘ加速値＝１９１でｘ操作量＝２５５、ｘ加速値＝６３でｘ操作量＝０となる。すなわち、ｘ加速値実質範囲は「６３〜１９１」である。このように、パターン選択部１２２は、ｙ加速値に応じて、ｘ加速値実質範囲が異なる感度特性パターンを選択してもよい。
【００６５】
ｙ加速値やｘ加速値が共に１２７付近にあるとき、すなわち、ゲームコントローラ２００が基本姿勢にあるときには、ユーザはゲームコントローラ２００を傾けやすい。しかし、ゲームコントローラ２００を前方に大きく傾けた状態で、更にロール回転させるのは比較的不自然な態勢となる。そこで、ｙ加速値が大きいときや小さいときには、ｘ加速値実質範囲を広げることにより、ロール回転方向の操作の安定させやすくなる。
【００６６】
特に、レーシングゲームの場合、ｙ加速値が大きく、ユーザオブジェクト２０６の移動速度が大きくなっているときには、ｘ加速値実質範囲を広げることで、ユーザオブジェクト２０６の直進安定性を操作性の面で支援している。
もちろん、これとは逆に、ｘ加速値が「２５５」のときには「１２７」のときよりもｘ加速値実質範囲を広くするとしてもよい。このような処理方法によれば、不自然な態勢にあるときの操作感度を基本姿勢にあるときの操作感度よりも高めることができる。どのようなｙ加速値においてどのようなｘ加速値実質範囲を選択するかは、実行対象となるコンピュータゲームの種類や実行状況に応じて決定すればよい。
【００６７】
３次元空間において操作対象物を移動させるアプリケーション、たとえば、飛行機や潜水艦などのように３次元航行が可能な物体を操作する場合において、ユーザがゲームコントローラ２００を前方に大きく傾けているとする。このとき、ユーザの「操作対象物を直進させたいという意思」が「ゲームコントローラ２００の前方への大きな傾き」として現れているといえる。このときのユーザにとって、操作対象物の前方への動きに比べれば左右への動きは重要ではない、あるいは、好ましくないとすら考えられる。したがって、ゲームコントローラ２００のピッチ角が大きいほど、ロール角に対する操作感度を下げることにより、ユーザの意思を反映した操作性を実現できる。このような処理方法によれば、第１の操作量から推測されるユーザの意思を考慮して、第２の操作量に対する操作感度を調整するという操作性を実現できる。
【００６８】
以上、本実施例に示したユーザインタフェース処理装置１００によれば、ボディインタフェースにおける操作性を向上させることができる。
本実施例において主たる説明の対象としたｘ加速値の場合、ｘ加速値に対するｘ操作量の感度特性を変化させる要因としては以下のものが挙げられる。括弧内は、本明細書における関連図である。
１．ｘ加速値検出範囲（図５（ａ）、図５（ｂ））
２．ｘ加速値検出変化率（図６（ａ）、図６（ｂ））
３．実行対象となるコンピュータゲームの種類
４．コンピュータゲームのゲームイベント
５．ユーザオブジェクト２０６の移動速度
６．時間経過（図１１（ａ）、図１１（ｂ））
７．ｘ加速値以外の加速値（図１２）
ｘ加速値に対するｘ操作量の感度特性を変化内容としては以下のものが挙げられる。
１．ｘ加速値実質範囲（図７（ａ）、図７（ｂ））
２．ｘ加速値実質変化率（図７（ａ）、図７（ｂ）、図１０（ａ）、図１０（ｂ））
３．遊び範囲（図８（ａ）、図８（ｂ）、図９（ａ）、図９（ｂ））
【００６９】
なお、本実施例においては、加速値から操作量を特定する処理について説明したが、本発明の適用はこれに限られるものではない。たとえば、ジャイロセンサから検出されるヨー角から操作量を特定してもよい。また、ｘ加速値、ｙ加速値、ｚ加速値から、図３に関連して説明した原理にて、ロール角やピッチ角を検出することも可能である。回転値変換部１２８は、ｘ加速値、ｙ加速値、ｚ加速値、角速度値から、ヨー角、ピッチ角、ロール角をそれぞれ「０〜２５５」の範囲のデジタル値に変換する。感度特性パターンは、これらの回転角と操作量との対応関係を定義するパターンであってもよい。この場合、入力変換部１２４は、算出された回転角と感度特性パターンを参照して、操作量を特定する。このように、ゲームコントローラ２００のセンサによって検出された加速値ではなく、加速値から特定された回転角に基づいて、操作量を特定してもよい。図１２の場合であれば、ピッチ回転角の大きさに応じて、ロール回転角と操作量の関係を調整してもよい。
【００７０】
ジョイスティックなどのユーザインタフェースにおいて、スティックの可動範囲は物理的な制約を受ける。これに対し、ゲームコントローラ２００の動きそのものを入力とするボディインタフェースの場合、実質的に物理的な制約がない。そのため、ユーザは、ゲームコントローラ２００を過度に大きく動かす可能性もある。感度特性パターンの切り換えにより、ユーザに操作のためにゲームコントローラ２００を動かす範囲を暗黙的に認識させることにより、ユーザの操作を好適に導くことができる。
【００７１】
このようなさまざまな要素によって操作感度を調整することにより、ユーザやコンテンツの種類、実行状況にあった操作性を提供できる。また、ゲームコントローラ２００に内蔵される各センサの検出精度が経年変化しても、自動的に補正することができるという副次的な効果もある。本実施例においては、ゲーム装置２０２に接続されるゲームコントローラ２００を対象として説明したが、携帯型のゲーム機器であれば本体そのものの傾きを検出対象としてもよい。また、本実施例においては、加速値や角速度値、ひいては、ゲームコントローラ２００の回転角の大きさを検出対象としたが、ボディインタフェースにおける入力は加速値や傾きに限る必要はない。たとえば、磁気センサにより空間内における位置を検出し、これを入力として操作量を決定する場合においても、本実施例に示した操作感度制御方法を応用可能である。
【００７２】
本実施例においては、所定形状となるような感度特性パターンを中心として説明したが、変形例としてベジェ曲線やＮＵＲＢＳ曲線のような自由曲線となる感度特性パターンにより操作感度を調整してもよい。また、自由曲線を決定する変数、たとえば、ベジェ曲線における制御点を変化させることによりその操作感度を変化させてもよい。
なお、本実施例においては、図５（ａ）に示す入力パターンに対しては、図７（ａ）に示す感度特性パターンが適合するとして説明したが、どのような入力変数に対してどのような感度特性パターンを割り当てるかは、設計方針に応じて任意に設定すればよいことはいうまでもない。
【００７３】
以上、本発明を実施例をもとに説明した。この実施例はあくまで例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７４】
請求項に記載の入力部の機能は、本実施例においてはｘ入力部１３２により実現されている。請求項に記載の検出値は、本実施例においては加速度値として表現されている。
これら請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【００７５】
以上の実施の形態および変形例から把握される発明のいろいろな態様をすでに特許請求の範囲に記載したものも含むかたちにて以下に例示する。
【００７６】
Ａ１．物体の動きの大きさと方向をそれぞれ検出可能なセンサを内蔵し、デバイス本体を把持するユーザの手の動きを操作量として伝達するための入力デバイスから、前記センサの第１方向への動きの大きさを示す第１検出値と前記第１方向とは異なる第２方向への動きの大きさを示す第２検出値をそれぞれ取得する入力部と、
第１検出値に対する操作量の反応感度が異なる複数種類の感度特性パターンを記憶するパターン記憶部と、
前記取得された第２検出値に応じて感度特性パターンを選択し、前記選択された感度特性パターンを参照して、前記取得された第１検出値に対応する操作量を決定する操作量決定部と、
を備えることを特徴とするユーザインタフェース装置。
【００７７】
Ａ２．前記操作量決定部は、第１検出値の変化に対して操作量が変化する割合が異なる複数種類の感度特性パターンからいずれかの感度特性パターンを選択することを特徴とするＡ１に記載のユーザインタフェース装置。
【００７８】
Ａ３．前記操作量決定部は、第１検出値が変化しても操作量が変化しない検出の遊び範囲が異なる複数種類の感度特性パターンからいずれかの感度特性パターンを選択することを特徴とするＡ１またはＡ２に記載のユーザインタフェース装置。
【００７９】
Ａ４．前記入力デバイスが内蔵する前記センサは、前記入力デバイスの第１の所定軸を中心とした回転角の大きさと、前記入力デバイスの第２の所定軸を中心とした回転角の大きさをそれぞれ検出可能なセンサであり、
前記入力部は、前記入力デバイスの前記第１の所定軸を中心とした回転角の大きさを第１検出値、前記第２の所定軸を中心とした回転角の大きさを第２検出値として取得することを特徴とするＡ１に記載のユーザインタフェース装置。
【００８０】
Ａ５．前記入力部は、前記入力デバイスを把持するユーザからみて前記入力デバイスが前方または後方に傾けられたときの回転角の大きさを第２検出値として取得することを特徴とするＡ４に記載のユーザインタフェース装置。
【００８１】
Ａ６．前記操作量決定部は、前記入力デバイスが基本姿勢にあるときの第２検出値を含む所定範囲から前記取得された第２検出値が外れたときには、前記所定範囲内にあるときよりも第１検出値に対する操作量の反応感度が低い感度特性パターンを選択することを特徴とするＡ４またはＡ５に記載のユーザインタフェース装置。
【００８２】
Ａ７．ユーザが把持する入力デバイスの動きを操作量として伝達するための方法であって、
前記入力デバイスの動きの大きさを所定の２方向についてそれぞれ検出するステップと、
前記２方向のうちの一方向への動きの大きさに応じて、他方向への動きの大きさに対する前記入力デバイスの操作感度を決定するステップと、
前記決定された操作感度に応じて前記他方向への動きに対する操作量を決定するステップと、
を備えることを特徴とする操作感度調整方法。
【００８３】
Ａ８．物体の動きの大きさと方向をそれぞれ検出可能なセンサを内蔵し、デバイス本体を把持するユーザの手の動きを操作量として伝達するための入力デバイスから、前記センサの第１方向への動きの大きさを示す第１検出値と前記第１方向とは異なる第２方向への動きの大きさを示す第２検出値を取得する機能と、
第１検出値に対する操作量の反応感度が異なる複数種類の感度特性パターンを記憶する機能と、
前記取得された第２検出値に応じて、いずれかの感度特性パターンを選択し、前記選択された感度特性パターンを参照して、前記取得された第１検出値に対応する操作量を決定する機能と、
をコンピュータに発揮させることを特徴とするユーザインタフェース処理プログラム。
【図面の簡単な説明】
【００８４】
【図１】本実施例におけるコンピュータゲームの実行環境を示す模式図である。
【図２】ゲームコントローラを中心とした座標系を示す模式図である。
【図３】加速度と回転角の関係を示す模式図である。
【図４】ユーザインタフェース処理装置の機能ブロック図である。
【図５】図５（ａ）は、ユーザごとのｘ加速値検出範囲の違いを説明するための模式図の第１例である。図５（ａ）は、ユーザごとのｘ加速値検出範囲の違いを説明するための模式図の第２例である。
【図６】図６（ａ）は、ユーザごとのｘ加速値検出変化率の違いを説明するための模式図の第１例である。図６（ａ）は、ユーザごとのｘ加速値検出変化率の違いを説明するための模式図の第２例である。
【図７】図７（ａ）は、感度特性パターンの第１例を示す図である。図７（ｂ）も、感度特性パターンの第１例を示す図である。
【図８】図８（ａ）は、感度特性パターンの第２例を示す図である。図８（ｂ）も、感度特性パターンの第２例を示す図である。
【図９】図９（ａ）は、感度特性パターンの第３例を示す図である。図９（ｂ）も、感度特性パターンの第３例を示す図である。
【図１０】図１０（ａ）は、感度特性パターンの第４例を示す図である。図１０（ｂ）も、感度特性パターンの第４例を示す図である。
【図１１】図１１（ａ）は、感度特性パターンの第５例を示す図である。図１１（ｂ）も、感度特性パターンの第５例を示す図である。
【図１２】ピッチ回転値に応じてロール回転値とロール操作量の関係が変化する様子を示すグラフ図である。
【符号の説明】
【００８５】
１００  ユーザインタフェース処理装置、  １１０  コンテンツインタフェース処理部、  １１２  操作量伝送部、  １１４  コンテンツ情報取得部、  １２０  操作量決定部、  １２２  パターン選択部、  １２４  入力変換部、  １２６  調整部、  １３０  コントローラインタフェース処理部、  １３２  ｘ入力部、  １３４  ｚ入力部、  １３６  ｙ入力部、  １４０  パターン記憶部、  １５０  操作履歴記憶部、  ２００  ゲームコントローラ、  ２０２  ゲーム装置、  ２０４  モニタ、  ２０６  ユーザオブジェクト。
【図１】
2008015679.tif 000003
【図２】
2008015679.tif 000004
【図３】
2008015679.tif 000005
【図４】
2008015679.tif 000006
【図５】
2008015679.tif 000007
【図６】
2008015679.tif 000008
【図７】
2008015679.tif 000009
【図８】
2008015679.tif 000010
【図９】
2008015679.tif 000011
【図１０】
2008015679.tif 000012
【図１１】
2008015679.tif 000013
【図１２】
2008015679.tif 000014