(57)【要約】【課題】操作デバイスに備えられたジャイロセンサの出力するセンサ信号に応じて、基準センサ信号の個体差や変動の影響を低減しつつ、当該操作デバイスの回転角に関する情報を取得することのできる操作デバイス制御装置を提供する。【解決手段】角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスの制御装置であって、ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号を取得し、当該出力信号に基づいて、ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定し、推定された基準センサ信号に応じて、所与の基準信号を変化させる操作デバイス制御装置である。【選択図】図７
2008077426.tif 000002
【特許請求の範囲】
【請求項１】
角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスの制御装置であって、
前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定する基準センサ信号推定手段と、
前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させる制御手段と、
を含むことを特徴とする操作デバイス制御装置。
【請求項２】
請求項１に記載の操作デバイス制御装置において、
前記センサ信号及び前記所与の基準信号は、電圧信号であって、
前記信号出力手段は、前記ジャイロセンサが出力するセンサ信号と、前記所与の基準信号と、の電位差を増幅して得られる電圧信号を、前記出力信号として出力する増幅回路である
ことを特徴とする操作デバイス制御装置。
【請求項３】
請求項２に記載の操作デバイス制御装置において、
前記操作デバイスは、
前記信号出力手段が出力する電圧信号をデジタル値に変換し、デジタル出力信号として出力するアナログデジタルコンバータと、
所与の基準デジタル信号を取得し、当該取得した基準デジタル信号に応じた電圧信号を、前記所与の基準信号として前記信号出力手段に入力する基準信号入力手段と、
をさらに含み、
前記基準センサ信号推定手段は、前記アナログデジタルコンバータが出力する前記デジタル出力信号に基づいて、前記基準センサ信号を推定し、
前記制御手段は、前記推定された基準センサ信号に応じたデジタル値を、前記基準デジタル信号として前記基準信号入力手段に入力することにより、前記所与の基準信号を変化させる
ことを特徴とする操作デバイス制御装置。
【請求項４】
請求項３に記載の操作デバイス制御装置において、
前記基準デジタル信号の変化量に対する前記デジタル出力信号の変化量の比率に基づいて、前記基準デジタル信号の入力に応じて前記基準センサ信号に対して出力されると想定される前記デジタル出力信号と、前記基準センサ信号に対して出力されるべき前記デジタル出力信号と、の差を補正する補正値を算出する補正値算出手段と、
前記算出された補正値に基づいて前記デジタル出力信号を補正する補正手段と、
をさらに含むことを特徴とする操作デバイス制御装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の操作デバイス制御装置において、
前記基準センサ信号推定手段は、前記信号出力手段から出力される出力信号を所定の時間区間に区切って得られる複数の評価区間のそれぞれについて、当該各評価区間における前記出力信号の代表値を算出し、当該算出された代表値に基づいて前記基準センサ信号を推定する
ことを特徴とする操作デバイス制御装置。
【請求項６】
請求項５に記載の操作デバイス制御装置において、
前記基準センサ信号推定手段は、互いに異なる長さの複数種類に前記評価区間についてそれぞれ前記代表値を算出し、当該算出された複数種類の代表値に基づいて前記基準センサ信号を推定する
ことを特徴とする操作デバイス制御装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の操作デバイス制御装置において、
前記基準センサ信号推定手段は、さらに前記操作デバイスに対するユーザの操作に関する情報に基づいて、前記基準センサ信号を推定する
ことを特徴とする操作デバイス制御装置。
【請求項８】
角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスの制御方法であって、
前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定するステップと、
前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させるステップと、
を含むことを特徴とする操作デバイス制御方法。
【請求項９】
角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスを制御するためのプログラムであって、
前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定する基準センサ信号推定手段、及び
前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させる制御手段、
としてコンピュータを機能させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１１】
角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサと、
前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段と、
前記信号出力手段が出力する出力信号に基づいて推定された、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号に応じた信号を、前記所与の基準信号として前記信号出力手段に入力する基準信号入力手段と、
を含むことを特徴とする操作デバイス。
【請求項１２】
請求項１１に記載の操作デバイスにおいて、
前記センサ信号及び前記所与の基準信号は、電圧信号であって、
前記信号出力手段は、前記ジャイロセンサが出力するセンサ信号と、前記所与の基準信号と、の電位差を増幅して得られる電圧信号を、前記出力信号として出力する増幅回路であって、
前記信号出力手段が出力する電圧信号をデジタル値に変換し、デジタル出力信号として出力するアナログデジタルコンバータをさらに含み、
前記基準信号入力手段は、前記デジタル出力信号に基づいて推定された前記基準センサ信号に応じたデジタル値を、所与の基準デジタル信号として取得し、当該取得した基準デジタル信号に応じた電圧信号を、前記所与の基準信号として前記信号出力手段に入力する
ことを特徴とする操作デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジャイロセンサを備えた操作デバイスを制御する操作デバイス制御装置、操作デバイス制御方法及びプログラムに関する。
【背景技術】
【０００２】
例えばデジタルスチルカメラ等の装置は、手ぶれ補正などの目的でジャイロセンサ（例えば圧電振動型ジャイロセンサなど）を備える場合がある。このような装置は、当該装置に搭載されたジャイロセンサを用いることにより、当該装置の姿勢や運動に関する情報を得ることができる。具体的に、このジャイロセンサは、装置に生じた角速度を検知し、検知した角速度に応じたセンサ信号（例えば電圧信号など）を出力する。例えば、基準軸に対して所定方向（例えば時計回り方向）にジャイロセンサが回転する場合には、基準センサ信号（角速度が生じていない状態において出力されるセンサ信号）より大きなセンサ信号が出力され、当該所定方向と反対方向（例えば反時計回り方向）にジャイロセンサが回転する場合には、基準センサ信号より小さいセンサ信号が出力される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記説明したジャイロセンサにおける基準センサ信号は、常に一定値を取るとは限らない。すなわち、基準センサ信号は、ジャイロセンサ自体の個体差などによって、個々のジャイロセンサごとに異なる場合がある。また、温度などの使用環境の変化による影響を受けて、使用中に変動する場合もある。この基準センサ信号の違いや変動によって、ジャイロセンサから出力されるセンサ信号の大きさも変わってしまうこととなる。
【０００４】
そこで、上述したデジタルスチルカメラ等の装置においては、ジャイロセンサの出力に対して、ハイパスフィルタによるフィルタリングを行い、低周波数成分の除去を行うことがある。これにより、ジャイロセンサが出力するセンサ信号から基準センサ信号の変動などによって生じる影響を取り除いて、所定の信号を中心とした出力信号を得ることができる。この出力信号を用いることにより、手ぶれ補正などにおいて用いられる、角速度の変動に関する情報が得られる。
【０００５】
しかしながら、上記方法によりセンサ信号をフィルタリングすると、センサ信号の低周波数成分に関する情報を除去してしまうため、例えば一定の角速度でジャイロセンサが回転した場合などにおいては、このような回転の動きに関する情報が失われるおそれがある。このため、フィルタリング後の出力信号を積分しても、ジャイロセンサの回転量を正確に取得できない。以上のことから、例えばユーザが把持して操作する操作デバイスに上記説明したジャイロセンサを搭載して、当該操作デバイスの回転角に関する情報を取得するなどの用途においては、ハイパスフィルタを用いる方法を適用することは困難である。
【０００６】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、操作デバイスに備えられたジャイロセンサの出力するセンサ信号に応じて、基準センサ信号の個体差や変動の影響を低減しつつ、当該操作デバイスの回転角に関する情報を取得することのできる操作デバイス制御装置、操作デバイス制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明に係る操作デバイス制御装置は、角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスの制御装置であって、前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定する基準センサ信号推定手段と、前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させる制御手段と、を含むことを特徴とする。
【０００８】
また、本発明に係る操作デバイス制御方法は、角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスの制御方法であって、前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定するステップと、前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させるステップと、を含むことを特徴とする。
【０００９】
また、本発明に係るプログラムは、角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスを制御するためのプログラムであって、前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定する基準センサ信号推定手段、及び前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させる制御手段、としてコンピュータを機能させるためのプログラムである。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。
【００１０】
また、本発明に係る操作デバイスは、角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサと、前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段と、前記信号出力手段が出力する出力信号に基づいて推定された、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号に応じた信号を、前記所与の基準信号として前記信号出力手段に入力する基準信号入力手段と、を含むことを特徴とする。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態について、図面を参照しながら説明する。
【００１２】
図１は、本実施形態に係るエンタテインメントシステム（情報処理装置）のハードウェア構成を示す図である。同図に示すように、エンタテインメントシステム１０は、ＭＰＵ（Micro Processing Unit）１１と、メインメモリ２０と、画像処理部２４と、モニタ２６と、入出力処理部２８と、音声処理部３０と、スピーカ３２と、光ディスク読み取り部３４と、ハードディスク３８と、インタフェース（Ｉ／Ｆ）４０，４４と、操作デバイス４２と、カメラユニット４６と、ネットワークインタフェース４８と、を含んで構成されるコンピュータシステムである。
【００１３】
図２は、ＭＰＵ１１の構成を示す図である。同図に示すように、ＭＰＵ１１は、メインプロセッサ１２と、サブプロセッサ１４ａ，１４ｂ，１４ｃ，１４ｄ，１４ｅ，１４ｆ，１４ｇ，１４ｈと、バス１６と、メモリコントローラ１８と、インタフェース（Ｉ／Ｆ）２２と、を含んで構成される。
【００１４】
メインプロセッサ１２は、図示しないＲＯＭ（Read Only Memory）に記憶されるオペレーティングシステム、例えばＤＶＤ（Digital Versatile Disk）−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ１４ａ乃至１４ｈに対する制御を行ったりする。
【００１５】
サブプロセッサ１４ａ乃至１４ｈは、メインプロセッサ１２からの指示に従って、各種情報処理を行ったり、エンタテインメントシステム１０の各部を、例えばＤＶＤ−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて制御したりする。
【００１６】
バス１６は、アドレス及びデータをエンタテインメントシステム１０の各部でやり取りするためのものである。メインプロセッサ１２、サブプロセッサ１４ａ乃至１４ｈ、メモリコントローラ１８、インタフェース２２は、バス１６を介して相互にデータ授受可能に接続される。
【００１７】
メモリコントローラ１８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、メインメモリ２０へのアクセスを行う。メインメモリ２０には、光ディスク３６やハードディスク３８から読み出されたプログラム及びデータや、通信ネットワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。メインメモリ２０はメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈの作業用としても用いられる。
【００１８】
インタフェース２２には画像処理部２４及び入出力処理部２８が接続される。メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、画像処理部２４又は入出力処理部２８と、の間のデータ授受はインタフェース２２を介して行われる。
【００１９】
画像処理部２４は、ＧＰＵ（Graphical Processing Unit）とフレームバッファとを含んで構成される。ＧＰＵは、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈから供給される画像データに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ２６に出力される。なお、モニタ２６には例えば家庭用テレビ受像機が用いられる。
【００２０】
入出力処理部２８には、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０及び４４、並びにネットワークインタフェース４８が接続される。入出力処理部２８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０及び４４、ネットワークインタフェース４８と、の間のデータ授受を制御する。
【００２１】
音声処理部３０は、ＳＰＵ（Sound Processing Unit）とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク３６やハードディスク３８から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。ＳＰＵは、これらの各種音声データを再生してスピーカ３２から出力させる。なお、スピーカ３２には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
【００２２】
光ディスク読み取り部３４は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、光ディスク３６に記憶されたプログラムやデータを読み取る。なお、エンタテインメントシステム１０は、光ディスク３６以外の他のコンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成されてもよい。
【００２３】
光ディスク３６は例えばＤＶＤ−ＲＯＭ等の一般的な光ディスク（コンピュータ読み取り可能な情報記憶媒体）である。また、ハードディスク３８は一般的なハードディスク装置である。光ディスク３６やハードディスク３８には各種プログラムやデータがコンピュータ読み取り可能に記憶される。
【００２４】
インタフェース（Ｉ／Ｆ）４０，４４は、操作デバイス４２やカメラユニット４６等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えばＵＳＢ（Universal Serial Bus）インタフェースが用いられる。また、例えばBluetooth（登録商標）インタフェースなどの無線通信インタフェースが用いられてもよい。
【００２５】
操作デバイス４２は汎用操作入力手段であり、ユーザが各種操作（例えばゲーム操作）を入力するために用いられる。入出力処理部２８は、所定時間（例えば１／６０秒）ごとに操作デバイス４２の各部の状態をスキャンし、その結果を表す操作信号をメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈに供給する。メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈは、ユーザによって行われた操作の内容をその操作信号に基づいて判断する。なお、エンタテインメントシステム１０は複数の操作デバイス４２を接続可能に構成されており、各操作デバイス４２から入力される操作信号に基づいて、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈが各種処理を実行するようになっている。
【００２６】
カメラユニット４６は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を所定時間（例えば１／６０秒）ごとに入力する。本実施の形態におけるカメラユニット４６は、撮影画像をＪＰＥＧ（Joint Photographic Experts Group）形式の画像データとして入力するようになっている。また、カメラユニット４６は、例えばレンズをプレイヤに向けた状態でモニタ２６の上に設置され、ケーブルを介してインタフェース４４に接続される。ネットワークインタフェース４８は入出力処理部２８と通信ネットワークとに接続されており、エンタテインメントシステム１０が通信ネットワークを介して他のエンタテインメントシステム１０とデータ通信するのを中継するようになっている。
【００２７】
また、本実施形態において、操作デバイス４２は、ユーザによる当該操作デバイス４２の保持状態を示す信号を出力する手段（例えば、操作デバイス４２の姿勢や運動を検知するモーションセンサ等）を備えている。具体例として、操作デバイス４２は、図３に示すように、その表面に、方向キーやアナログデバイス、操作ボタン、その他のキー（図中「Ａ」ないし「Ｄ」と描く）を備えており、その内部に加速度センサ５１及びジャイロセンサ５２を備える。加速度センサ５１及びジャイロセンサ５２は、後述するように、操作デバイス４２の保持状態を示す信号（センサ信号）をそれぞれ出力する。なお、本実施形態においては、加速度センサ５１及びジャイロセンサ５２が出力するセンサ信号は、いずれも電圧信号であることとする。
【００２８】
図４は、操作デバイス４２内部の概略の回路構成を示す図である。操作デバイス４２は、図４に示すように、加速度センサ５１と、ジャイロセンサ５２と、信号出力部５３と、アナログデジタル（Ａ／Ｄ）コンバータ５４ａ及び５４ｂと、基準信号入力部５５と、記憶部５６と、インタフェース（Ｉ／Ｆ）５７と、を含んで構成される。
【００２９】
加速度センサ５１は、梁に支持された錘を内蔵し、当該錘にかかる加速度によって、錘が変位して、それにより梁に生じるたわみ量を検出することで錘にかかる加速度を検出する。加速度センサ５１は、互いに略直交する３軸方向の加速度をそれぞれ検出する、３軸加速度センサであってもよい。具体例として、図３に示したように、加速度センサ５１は、操作デバイス４２の筐体内部に固定されており、互いに直交するｘ軸、ｙ軸、及びｚ軸の３つの基準軸が設定されている。ここで、例えばｘ軸は操作デバイス４２の長手方向（左右方向）、ｙ軸は操作デバイス４２の奥行方向（前後方向）、ｚ軸は操作デバイス４２の厚み方向（図３において紙面に対して鉛直手前側の方向）にそれぞれ対応させてもよい。そして、加速度センサ５１は、３つの基準軸のそれぞれに対する加速度を検知し、検知した加速度に応じた３つの電圧信号を、センサ信号として出力する。
【００３０】
図５は、加速度センサ５１が検知するいずれかの軸に対する加速度と、検知した加速度に応じて出力する電圧信号と、の対応関係を模式的に示すグラフである。図５に示すように、加速度センサ５１は加速度に略比例する電圧信号を出力し、加速度を検知しない状態では基準電圧信号Ｖarを出力する。出力される電圧信号の基準電圧信号Ｖarに対する高低により、各軸について、その正負いずれの方向に加速度が生じているかを検知できる。なお、図において１Ｇは、重力加速度に相当する加速度を示している。
【００３１】
ジャイロセンサ５２は、操作デバイス４２のｚ軸（ジャイロ基準軸）を中心とした回転の角速度を検知し、当該検知した角速度に応じたセンサ信号を出力する。例えばジャイロセンサ５２は、圧電素子を振動させ、当該圧電素子の回転によって生じるコリオリ力に応じた振動を検知する圧電振動型ジャイロセンサである。なお、以下では、ジャイロセンサ５２が角速度を検知しない状態（操作デバイス４２がｚ軸に対して回転していない状態）において出力する電圧信号を、基準センサ信号Ｖgrという。
【００３２】
エンタテインメントシステム１０は、加速度センサ５１の場合と同様に、ジャイロセンサ５２が出力するセンサ信号の基準センサ信号Ｖgrに対する高低によって、ｚ軸に対していずれの向きに回転が生じているかを検知できる。具体例として、図３におけるＲａ方向（紙面に向かって時計回り方向）に操作デバイス４２が回転している場合、基準センサ信号Ｖgrより高い電圧信号が出力され、図３におけるＲｂ方向（紙面に向かって反時計回り方向）に操作デバイス４２が回転している場合には、基準センサ信号Ｖgrより低い電圧信号が出力される。エンタテインメントシステム１０は、このジャイロセンサ５２の出力を一定時間ごとにサンプリングし、積分演算を行うことで、操作デバイス４２のｚ軸に対する回転の変位量（回転角）を取得できる。
【００３３】
信号出力部５３は、ジャイロセンサ５２が出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する。例えば信号出力部５３は、図４に例示する回路構成の増幅回路である。この増幅回路は、ジャイロセンサ５２が出力する電圧信号と、所与の電圧信号（以下、増幅基準信号Ｖｒという）と、の電位差を増幅して得られる電圧信号を、出力信号として出力する。信号出力部５３の増幅によって得られる出力信号は、Ａ／Ｄコンバータ５４ａに入力される。
【００３４】
この増幅回路による増幅は、ジャイロセンサ５２が出力するセンサ信号の角速度に対する感度が低い場合（すなわち、センサから出力される電圧信号の変動幅が小さい場合）に必要となる。ここで、増幅基準信号Ｖｒが基準センサ信号Ｖgrと乖離していると、ジャイロセンサ５２から出力されるセンサ信号は基準センサ信号Ｖgrに対して非対称に増幅されることとなる。その結果、特に乖離の度合いが大きい場合には、回路が想定する電圧変動範囲を超えてしまい、正しく増幅ができなくなるおそれがある。そのため、増幅回路に対して入力される増幅基準信号Ｖｒを、基準センサ信号Ｖgrに応じて制御する必要がある。本実施形態における増幅基準信号Ｖｒの制御方法については、後述する。
【００３５】
Ａ／Ｄコンバータ５４ａ及び５４ｂは、電圧信号などのアナログ信号を、所定範囲のデジタル出力信号に変換する回路である。本実施形態において、Ａ／Ｄコンバータ５４ａは、信号出力部５３が出力する増幅後の電圧信号を、デジタル出力信号に変換し、インタフェース５７に対して出力する。また、Ａ／Ｄコンバータ５４ｂは、加速度センサ５１が出力する各基準軸の加速度に応じた３つの電圧信号を、それぞれデジタル出力信号に変換し、インタフェース５７に対して出力する。ここで、Ａ／Ｄコンバータ５４ａ及び５４ｂが出力するデジタル出力信号は、いずれも１０ビットの分解能を有し、０から１０２３までの範囲の値をとり得ることとする。
【００３６】
基準信号入力部５５は、インタフェース５７を介して所与の基準デジタル信号Ｄｒを取得し、当該取得した基準デジタル信号Ｄｒに応じた電圧信号を、増幅基準信号Ｖｒとして信号出力部５３に入力する。本実施形態において、基準信号入力部５５は、ＰＷＭ（Pulse Width Modulation）信号ジェネレータ５５ａと、平滑回路５５ｂと、を含んでなる。
【００３７】
ＰＷＭ信号ジェネレータ５５ａは、後述する基準信号制御部６２ｂが出力する基準デジタル信号Ｄｒを、インタフェース５７を介して取得する。そして、取得した基準デジタル信号Ｄｒに応じたデューティー比によりパルス幅変調がなされた電圧信号（ＰＷＭ信号）を生成し、当該ＰＷＭ信号を平滑回路５５ｂに対して出力する。なお、ＰＷＭ信号ジェネレータ５５ａに入力される基準デジタル信号Ｄｒは、ここでは８ビットの分解能を有し、０から２５５までの範囲の値をとり得ることとする。
【００３８】
平滑回路５５ｂは、例えば図４に示すような回路構成のローパスフィルタであって、ＰＷＭ信号ジェネレータ５５ａによって生成されたＰＷＭ信号の平滑化を行う。これによって、基準デジタル信号Ｄｒに応じた大きさの電圧信号が生成され、増幅基準信号Ｖｒとして信号出力部５３に入力される。
【００３９】
なお、ここで説明した基準信号入力部５５の構成は例示である。基準信号入力部５５は、例えばデジタルアナログコンバータ等、上記構成とは異なる手段によって基準デジタル信号Ｄｒを増幅基準信号Ｖｒに変換し、信号出力部５３に対して出力することとしてもよい。
【００４０】
記憶部５６は、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）等であって、操作デバイス４２の生産工程などにおいて書き込まれたデータを記憶する。記憶部５６に記憶されたデータは、インタフェース５７を介して読み出され、エンタテインメントシステム１０のＭＰＵ１１が実行する処理に供される。なお、本実施形態において記憶部５６に記憶されるデータの内容については、後述する。
【００４１】
インタフェース５７は、ＵＳＢインタフェースやBluetooth（登録商標）インタフェースなどであって、インタフェース４０と操作デバイス４２との間のデータの送受信を中継する。
【００４２】
以下では、以上のハードウェア構成を有するエンタテインメントシステム１０が、加速度センサ５１やジャイロセンサ５２の出力するセンサ信号を用いて、操作デバイス４２の保持状態に応じた処理を行う場合に実現する機能について、説明する。
【００４３】
図６は、この場合のエンタテインメントシステム１０が実現する機能の一例を示す機能ブロック図である。エンタテインメントシステム１０は、機能的に、図６に示すように、出力値取得部６１と、ジャイロセンサ信号制御部６２と、キャリブレーション処理部６３と、フィルタリング処理部６４と、アプリケーション実行部６５と、を含んで構成される。これらの機能は、例えばＭＰＵ１１が、メインメモリ２０に格納されるプログラムに従って動作することにより、実現できる。このプログラムは、インターネット等の通信ネットワークを介して提供されるものであってもよいし、光ディスク、メモリカード等のコンピュータで読み取り可能な各種情報記憶媒体に格納されて提供されるものであってもよい。
【００４４】
出力値取得部６１は、操作デバイス４２の保持状態に応じて操作デバイス４２が出力する出力値を取得する。ここでは具体的に、Ａ／Ｄコンバータ５４ａが出力する操作デバイス４２の角速度を示すデジタル出力信号を、出力値Ｄｇとして取得する。また、Ａ／Ｄコンバータ５４ｂが出力する操作デバイス４２に対する各基準軸の加速度を示す３つのデジタル出力信号を、出力値Ｄａとして取得する。出力値取得部６１は、操作デバイス４２のインタフェース５７及びエンタテインメントシステム１０本体のインタフェース４０を介して、出力値を取得する。なお、出力値取得部６１は、所定時間ごと（例えば垂直同期信号が入力されたタイミングごと）に継続して出力値を取得することとする。
【００４５】
ジャイロセンサ信号制御部６２は、出力値取得部６１が取得する出力値のうち、ジャイロセンサ５２の出力に応じた出力値Ｄｇを用いて、前述した信号出力部５３に入力される増幅基準信号Ｖｒの制御を行う。ジャイロセンサ信号制御部６２の機能の詳細については、後述する。
【００４６】
キャリブレーション処理部６３は、出力値取得部６１が取得する出力値のうち、加速度センサ５１の出力に応じた出力値Ｄａに対して、キャリブレーション処理を行い、結果として得られるデジタル値を操作デバイス４２の保持状態を示す状態値Ｄｓとして出力する。また、フィルタリング処理部６４は、キャリブレーション処理部６３が出力する状態値Ｄｓを取得し、取得した状態値Ｄｓに対して所定のフィルタリング処理を実行することにより、状態値Ｄｓからノイズ性の信号による影響を除去する処理を行う。キャリブレーション処理部６３及びフィルタリング処理部６４の機能の詳細については、後述する。
【００４７】
アプリケーション実行部６５は、例えば光ディスク３６等から読み出されてメインメモリ２０に格納されたアプリケーションプログラムを実行することにより、ゲーム等の処理を実行する。ここで、アプリケーション実行部６５は、ジャイロセンサ信号制御部６２及び／又はフィルタリング処理部６４から出力されるデータを用いて、操作デバイス４２の保持状態に応じた処理を実現する。
【００４８】
次に、ジャイロセンサ信号制御部６２の機能例について、図７の機能ブロック図に基づいて説明する。ジャイロセンサ信号制御部６２は、機能的に、図７に示すように、基準センサ信号推定部６２ａと、基準信号制御部６２ｂと、出力値補正部６２ｃと、初期値設定部６２ｄと、を含んで構成される。これらの機能は、例えばエンタテインメントシステム１０に予め格納されたシステムソフトウェアをＭＰＵ１１が実行することによって実現される。
【００４９】
基準センサ信号推定部６２ａは、信号出力部５３から出力される出力信号に基づいて、ジャイロセンサ５２が角速度を検知しない状態において出力する基準センサ信号Ｖgrを推定する。ここでは具体的に、基準センサ信号推定部６２ａは、基準センサ信号Ｖgrと、後述する基準信号制御部６２ｂによって制御される増幅基準信号Ｖｒと、に応じて出力される出力値Ｄｇの推定値（基準センサ信号推定値Ｄｅ）を算出することにより、基準センサ信号Ｖgrの推定を行う。また、基準センサ信号推定部６２ａは、出力値取得部６１が出力値Ｄｇを所定時間ごとに取得して得られる出力値列に基づいて、基準センサ信号推定値Ｄｅの算出を行う。
【００５０】
ここで、基準センサ信号推定部６２ａが出力値列に基づいて基準センサ信号推定値Ｄｅを算出する推定値算出処理の具体例について、説明する。以下の例では、基準センサ信号推定部６２ａは、出力値列を構成する出力値Ｄｇの中から、処理の対象として用いる出力値Ｄｇを選択する。そして、当該選択された出力値Ｄｇの代表値（例えば平均値）を算出することにより、基準センサ信号推定値Ｄｅを算出する。
【００５１】
具体例として、基準センサ信号推定部６２ａは、出力値列を所定の時間区間に区切って得られる複数の評価区間Ｐｎのそれぞれについて、当該各評価区間Ｐｎにおける出力値Ｄｇの代表値を算出し、当該算出された代表値に基づいて基準センサ信号の推定を行う。ここで評価区間Ｐｎ（ｎ＝１，２，３・・・）には、出力値列において連続する所定のサンプル数の出力値Ｄｇが属している。基準センサ信号推定部６２ａは、この評価区間ごとに、各評価区間に属する出力値Ｄｇの平坦性（変動の程度）を示す評価指数Ｅｎを算出し、評価指数Ｅｎに基づいて基準センサ信号推定値Ｄｅの算出対象として用いる評価区間を選択する。そして、選択した評価区間における出力値Ｄｇの代表値（平均値等）に基づいて、基準センサ信号推定値Ｄｅを算出する。
【００５２】
以下、基準デジタル信号算出処理の具体例を、図８のフロー図に基づいて説明する。このフローによる処理は、出力値取得部６１が各評価区間Ｐｎに属する所定のサンプル数の出力値Ｄｇを取得するごとに、実行される。
【００５３】
まず基準センサ信号推定部６２ａは、処理対象となる現在の評価区間Ｐｎについて、当該評価区間Ｐｎに属する出力値Ｄｇの最大値（区間最大値）Ｄmaxｎ、最小値（区間最小値）Ｄminｎ、及び平均値（区間平均値）Ｄavgｎを算出する（Ｓ１）。続いて、Ｓ１で算出された区間最大値Ｄmaxｎ、区間最小値Ｄminｎ、及び区間平均値Ｄavgｎに基づいて、以下の計算式により、評価指数Ｅｎを算出する（Ｓ２）。
【数１】
2008077426.tif 000003
【００５４】
この計算式の例においては、評価指数Ｅｎは、区間最大値Ｄmaxｎ及び区間最小値Ｄminｎの区間平均値Ｄavgｎに対する分散の和となっている。これにより、評価指数Ｅｎは、評価区間Ｐｎにおける出力値Ｄｇが一定に近いほど、小さな値となる。通常、ユーザが操作デバイス４２を操作している状況においては、出力値Ｄｇの変動が大きくなり、逆にユーザが操作デバイス４２を操作していない場合には出力値Ｄｇの変動は小さくなると推定される。したがって、評価指数Ｅｎが小さく、出力値Ｄｇの変動の小さい状態における出力値Ｄｇは、ジャイロセンサ５２の基準センサ信号Ｖarに応じて出力された値に近いものと推定される。
【００５５】
ただし、操作デバイス４２の回転の角速度がジャイロセンサ５２の測定範囲を越える状況にある場合、センサ信号は最大値又は最小値に飽和してしまう。その結果、このような場合にも出力値Ｄｇは一定になり、評価指数Ｅｎの値は小さくなると考えられる。そこで、基準センサ信号推定部６２ａは、評価区間Ｐｎに属する出力値Ｄｇが所定の上限値ＴＨmax及び下限値ＴＨminの範囲内（すなわち、ＴＨmin＜Ｄｇ＜ＴＨmax）に含まれるか否かの判定を行う（Ｓ３）。判定の結果、出力値Ｄｇが所定の閾値の範囲内に含まれない場合には、当該評価区間Ｐｎに対する処理を終了する。
【００５６】
続いて基準センサ信号推定部６２ａは、評価指数Ｅｎが所定の閾値Ｅth未満（すなわち、Ｅｎ＜Ｅth）であるか否かを判定する（Ｓ４）。判定の結果、評価指数Ｅｎが閾値Ｅth以上であれば、当該評価区間Ｐｎの情報を基準センサ信号推定値Ｄｅの推定には使用しないこととし、評価区間Ｐｎに対する処理を終了する。
【００５７】
Ｓ３及びＳ４の処理の結果、判定条件が満たされると判定した場合には、基準センサ信号推定部６２ａは、評価区間Ｐｎの情報を基準センサ信号Ｖarの推定に用いることとする。この場合、基準センサ信号推定部６２ａは、Ｓ１で算出された区間平均値Ｄavgｎを、当該評価区間Ｐｎに属する出力値Ｄｇの代表値として、メインメモリ２０内に格納する（Ｓ５）。なお、この場合において、メインメモリ２０内には、常に所定数の評価区間に係る区間平均値の情報が保持されるよう制御される。すなわち、既に所定数の区間平均値の情報が保持されている場合、基準センサ信号推定部６２ａは、Ｓ５の処理において、新たな区間平均値の情報をメインメモリ２０に書き込むとともに、最も古い区間平均値の情報を削除する。
【００５８】
さらに、基準センサ信号推定部６２ａは、Ｓ５の処理によってメインメモリ２０内に格納された所定数の区間平均値の情報に基づいて、基準センサ信号推定値Ｄｅの算出を行う。ここで、Ｓ３及びＳ４の条件を満たす評価区間の区間平均値Ｄavgｎが所定数得られたとしても、この中には基準センサ信号Ｖarに対応しない情報が含まれている可能性がある。なぜなら、ユーザが操作デバイス４２を一定の角速度でゆっくり動かした場合など、特殊な状況においては、ジャイロセンサ５２が角速度を検知しない状態でないにもかかわらずＳ３及びＳ４の判定条件を満たすことがありうるからである。
【００５９】
そこで、基準センサ信号推定部６２ａは、Ｓ５の処理によってメインメモリ２０内に格納されている複数の区間平均値Ｄavgｎについて、その最大値と最小値との差Ｗが所定の閾値Ｗth未満（すなわち、Ｗ＜Ｗth）であるか否かを判定する（Ｓ６）。判定の結果、Ｗの値が所定の閾値以上と判定した場合には、処理を終了する。これにより、複数の区間平均値Ｄavgｎの間でばらつきがある場合には、その時点での基準センサ信号推定値Ｄｅの算出を中止することができる。
【００６０】
Ｓ６の判定条件が満たされる場合、基準デジタル信号推定部６２ａは、Ｓ５の処理によってメインメモリ２０内に格納されている所定数の区間平均値Ｄavgｎのさらに平均値を算出することによって、当該算出された平均値を基準センサ信号推定値Ｄｅとして決定する（Ｓ７）。
【００６１】
以上説明した例により、温度等の影響でジャイロセンサ５２の使用中に基準センサ信号Ｖgrが変動した場合であっても、基準センサ信号推定部６２ａは、この変化した基準センサ信号Ｖgrに応じた基準センサ信号推定値Ｄｅを算出できる。
【００６２】
なお、基準センサ信号推定部６２ａは、上述した例と異なる方法で基準センサ信号推定値Ｄｅの算出を行ってもよい。例えば基準センサ信号推定部６２ａは、互いに異なる長さの複数種類に評価区間についてそれぞれ代表値（平均値等）を算出し、当該算出された複数種類の代表値に基づいて基準センサ信号の推定を行ってもよい。すなわち、上述した例においては、基準センサ信号推定部６２ａは、比較的短周期の評価区間を用いて基準センサ信号推定値Ｄｅの算出を行っている。この場合、基準センサ信号Ｖarが使用中に変動した場合には、比較的早くこの変動に応じた基準センサ信号推定値Ｄｅの更新を行うことができる。しかし、一方で、ユーザが操作デバイス４２を頻繁に操作している間など、センサ出力が安定しない場合には、基準センサ信号推定値Ｄｅの更新を行う頻度が低下する。そこで、この短周期の推定値算出処理によって推定される推定値と、比較的長周期の評価区間による推定値算出処理によって推定される推定値と、のいずれか一方を選択することにより、より精度の高い基準センサ信号推定値Ｄｅの算出を実現することとしてもよい。
【００６３】
具体例として、基準センサ信号推定部６２ａは、上述した短周期の推定値算出処理のほかに、この推定値算出処理によって算出されたＤavgｎを出力値Ｄｇに代わる入力として用いて、短周期の推定値算出処理と同様の処理を実行してもよい。これは、より長周期の評価区間による推定値算出処理であって、出力値列に対してローパスフィルタによるフィルタリングがなされた後の信号列に対する推定値算出処理に相当する。そして、短周期の推定値算出処理によって基準センサ信号推定値Ｄｅが更新された場合には、長周期の推定値算出処理の処理結果をリセットする制御を行う（すなわち、これまで蓄積された長周期の評価区間の平均値に関する情報を削除する）。一方、短周期の推定値算出処理による基準センサ信号推定値Ｄｅの更新が一定時間なされない場合には、長周期の推定値算出処理によって得られた基準センサ信号推定値Ｄｅを、基準信号制御部６２ｂに対して出力することとする。こうすれば、可能な場合には、基準センサ信号Ｖgrに対する追従性のよい短周期の処理によって基準センサ信号推定値Ｄｅの更新を行い、一方で、短周期の処理によって基準センサ信号推定値Ｄｅの算出が行えない状況においては、長周期の処理によって基準センサ信号推定値Ｄｅの更新を行うことができる。
【００６４】
なお、アプリケーション実行部６５は、このような基準センサ信号推定部６２ａによる基準センサ信号推定値Ｄｅの算出を可能にするために、所定のタイミングで、ユーザに対して操作デバイス４２を静止させる指示情報を提示してもよい。この指示情報に応じてユーザが操作デバイス４２を静止させることで、基準センサ信号推定部６２ａは素早く精度のよい基準センサ信号推定値Ｄｅの算出を行うことができる。
【００６５】
また、上述した例においては、基準センサ信号推定部６２ａは、出力値取得部６１が取得したジャイロセンサ５２の出力に応じた出力値Ｄｇのみに基づいて、基準センサ信号Ｖgrの推定を行うこととしたが、これ以外の情報を用いてもよい。例えば基準センサ信号推定部６２ａは、加速度センサ５１などの他のセンサの出力や、操作デバイス４２に備えられたボタン等の状態を示す情報など、ユーザの操作デバイス４２に対する操作に関する情報を取得する。そして、この操作デバイス４２に対するユーザの操作に関する情報に基づいて、基準センサ信号の推定を行う。
【００６６】
具体例として、基準センサ信号推定部６２ａは、前述した評価指数Ｅｎとともに、操作デバイス４２に対するユーザの操作に関する情報を用いて、基準センサ信号推定値Ｄｅの算出に使用する出力値Ｄｇを選択する。これにより、操作デバイス４２の状態に応じて基準センサ信号Ｖgrの推定に用いるジャイロセンサ５２の出力値を選択でき、推定の精度を向上できる。さらに、基準センサ信号推定部６２ａは、操作デバイス４２の使用時間や、アプリケーション実行部６５が実行している処理の内容等に関する情報を用いて、基準センサ信号Ｖgrの推定を行うこととしてもよい。
【００６７】
基準信号制御部６２ｂは、基準センサ信号推定部６２ａによって推定された基準センサ信号に応じて、信号出力部５３に入力される増幅基準信号Ｖｒを変化させる制御を実行する。ここでは具体的に、基準信号制御部６２ｂは、基準センサ信号推定部６２ａによって算出された基準センサ信号推定値Ｄｅに応じて、基準デジタル信号Ｄｒの値を決定する。そして、この基準デジタル信号Ｄｒを操作デバイス４２のインタフェース５７を介して基準信号入力部５５に入力することにより、増幅基準信号Ｖｒの制御を行う。
【００６８】
具体例として、基準信号制御部６２ｂは、基準センサ信号Ｖgrに応じて得られる出力値Ｄｇが、所定の目標値Ｄｃに一致するように、基準センサ信号推定値Ｄｅに応じて基準デジタル信号Ｄｒを変化させる。すなわち、基準センサ信号推定値Ｄｅと、所定の目標値Ｄｃと、の差に応じて、現在出力している基準デジタル信号Ｄｒを変化させる。こうすれば、ジャイロセンサ５２から基準センサ信号Ｖgrが出力されている場合、基準信号制御部６２ｂの制御に応じて出力される出力値Ｄｇは所定の目標値Ｄｃに略一致することとなる。これにより、出力値Ｄｇは目標値Ｄｃを振幅中心として角速度の変動を示す値となる。
【００６９】
この場合の目標値Ｄｃは、例えばＡ／Ｄコンバータ５４ａが出力するデジタル出力信号のとり得る値の範囲の中央値（ここでは５１２）に設定される。また、アプリケーション実行部６５の指示に応じて決定される値であってもよい。
【００７０】
ここで、基準デジタル信号Ｄｒの分解能及びこれに応じて基準信号入力部５５が出力する増幅基準信号Ｖｒの精度が十分高ければ、基準センサ信号Ｖgrに応じて出力される出力値Ｄｇを正確に目標値Ｄｃに一致させるような微調整が可能となる。しかしながら、回路構成上の制約などによって、ある程度粗い精度でしか増幅基準信号Ｖｒの制御ができない場合がある。この場合、以下に説明する方法によって、基準デジタル信号Ｄｒの調整と、出力値Ｄｇに対する補正処理と、を組み合わせることで、基準センサ信号推定値Ｄｅに応じた出力値Ｄｇの微調整が可能となる。
【００７１】
例えば本実施形態において、信号出力部５３は、入力される２つの電圧信号の電位差を−Ａ倍に増幅する増幅回路であることとする。この場合、ジャイロセンサ５２が出力するセンサ信号Ｖｇと、信号出力部５３が出力する出力信号Ｖｏとの間には、以下の関係式が成り立つ。
Ｖｏ−Ｖｒ＝−Ａ（Ｖｇ−Ｖｒ）
この関係式を変形すると、以下の式になる。
Ｖｏ＝−Ａ・Ｖｇ＋（Ａ＋１）Ｖｒ
上記関係式より、増幅基準信号Ｖｒの変化量に対する出力信号Ｖｏの変化量の比率は、（Ａ＋１）となる。
【００７２】
さらに、上述したように、本実施形態において、出力信号Ｖｏに応じてＡ／Ｄコンバータ５４ａが出力するデジタル出力信号（すなわち出力値Ｄｇ）の分解能は１０ビットである。また、基準信号入力部５５に入力される基準デジタル信号Ｄｒの分解能は８ビットであり、この基準デジタル信号Ｄｒに応じて増幅基準信号Ｖｒは制御される。この出力値Ｄｇと基準デジタル信号Ｄｒの分解能の比率は、４倍（２ビット×２）となる。
【００７３】
以上のことから、本実施形態において、基準デジタル信号Ｄｒの変化量に対する出力値Ｄｇの変化量の比率は、４（Ａ＋１）となる。すなわち、基準デジタル信号Ｄｒの変化量ΔＤｒと、この変化に応じた出力値Ｄｇの変化量ΔＤｇと、の間に、以下の関係式が成り立つ。
ΔＤｇ＝４（Ａ＋１）ΔＤｒ
ここで、基準デジタル信号Ｄｒの変化量に対する出力値Ｄｇの変化量の比率を、以下では変動比率Ｒとする。この関係式から分かるように、本実施形態においては、基準デジタル信号Ｄｒを１変化させるごとに、出力値ＤｇはＲ（＝４（Ａ＋１））ずつ変化することとなる。ただし、Ａは整数値とは限らず、その場合、出力値Ｄｇの変化量ΔＤｇは上記計算式によって得られた値を例えば四捨五入等によって整数に変換した値となる。
【００７４】
以上説明したように、本実施形態においては、基準デジタル信号Ｄｒを変化させるだけでは、出力値Ｄｇを十分精度よく制御することはできない。そこで、ジャイロセンサ信号制御部６２は、基準デジタル信号Ｄｒの変化で調整しきれない範囲の調整を、出力値Ｄｇに対する補正によって行う。具体例として、基準信号制御部６２ｂは、上述した変動比率Ｒに基づいて、基準デジタル信号Ｄｒの現在の値に対する変化量ΔＤｒを決定し、決定した変化量を反映した新たな基準デジタル信号Ｄｒを基準信号入力部５５に対して出力する。また、併せて基準信号制御部６２ｂは、変動比率Ｒに基づいて、当該新たな基準デジタル信号Ｄｒの入力に応じて基準センサ信号Ｖgrに対して出力されると想定される出力値Ｄｇと、基準センサ信号推定部６２ａによって推定された基準センサ信号Ｖgrに対して出力されるべき出力値Ｄｇ（ここでは目標値Ｄｃ）と、の差を補正する補正値ΔＤｇを算出する。
【００７５】
例えば基準信号制御部６２ｂは、以下の関係式を満たすように、基準デジタル信号Ｄｒの変化量ΔＤｒ及び補正値ΔＤｇを算出する。
Ｄｃ−Ｄｅ＝Ｒ・ΔＤｒ＋ΔＤｇ
ここでΔＤｒは、ΔＤｇの絶対値がＲ未満となるような整数値に決定される。例えば、Ｄｃ−ＤｅをＲで割った商がΔＤｒ、余りがΔＤｇとなる。そして、基準信号制御部６２ｂは、現在出力している基準デジタル信号ＤｒにΔＤｒを加算した値を新たな基準デジタル信号Ｄｒとして出力するとともに、メインメモリ２０に格納されている補正値ΔＤｇを算出された値に更新する。この場合、新たな基準デジタル信号Ｄｒの入力に応じて基準センサ信号Ｖgrに対して出力されると想定される出力値Ｄｇは、Ｄｅ＋Ｒ・ΔＤｒとなる。なお、Ｄｃ−Ｄｅの絶対値がＲ未満の場合、基準信号制御部６２ｂは基準デジタル信号Ｄｒを変化させることなく、補正値ΔＤｇの更新のみ実行する。
【００７６】
出力値補正部６２ｃは、基準信号制御部６２ｂが算出し、メインメモリ２０内に格納した補正値ΔＤｇに基づいて、出力値取得部６１が取得した出力値Ｄｇの補正を行う。すなわち、基準信号制御部６２ｂが基準デジタル信号Ｄｒを変化させた後、当該変化に応じて出力される出力値Ｄｇに対して、基準信号制御部６２ｂが算出したΔＤｇを加算することにより、出力値Ｄｇの補正を行う。これにより、基準センサ信号Ｖgrに対して得られる出力値Ｄｇが目標値Ｄｃに略一致するように、出力値Ｄｇを補正できる。
【００７７】
本実施形態においては、この補正された出力値がアプリケーション実行部６５に対して出力される。アプリケーション実行部６５は、補正された出力値と、目標値Ｄｃと、の差を積分演算することで、操作デバイス４２の回転角に関する情報を取得できる。
【００７８】
初期値設定部６２ｄは、基準デジタル信号Ｄｒの初期値を取得し、基準信号制御部６２ｂに対して出力する。初期値設定部６２ｄは、例えばエンタテインメントシステム１０の電源投入時や、操作デバイス４２がエンタテインメントシステム１０に接続された時点などにおいて、操作デバイス４２の記憶部５６に格納されたデータを読み出すことで、基準デジタル信号Ｄｒの初期値を取得する。基準信号制御部６２ｂは、初期値設定部６２ｄが初期値を取得した場合、当該取得された初期値に応じて基準デジタル信号Ｄｒを決定し、基準信号入力部５５に対して出力する。
【００７９】
また、初期値設定部６２ｄは、出力値補正部６２ｃが出力値Ｄｇの補正に使用する補正値ΔＤｇの初期値についても、基準デジタル信号Ｄｒの初期値とともに取得し、メインメモリ２０に格納することとしてもよい。
【００８０】
本実施形態においては、出力値Ｄｇの時間変化に応じて基準デジタル信号Ｄｒを制御している。そのため、基準デジタル信号Ｄｒの初期値が例えば０などの所定値の場合、基準デジタル信号Ｄｒが基準センサ信号Ｖgrに応じた値に調整されるまでに、時間がかかってしまう場合がある。そこで、本実施形態においては、予め操作デバイス４２の記憶部５６に格納された基準デジタル信号Ｄｒの初期値に応じて、基準デジタル信号Ｄｒの制御を行うこととしている。
【００８１】
この場合において、記憶部５６に格納される基準デジタル信号Ｄｒの初期値は、例えば操作デバイス４２の生産工程などにおいて、操作デバイス４２を静止させた状態で、基準デジタル信号Ｄｒを変化させてＡ／Ｄコンバータ５４ａが出力するデジタル出力信号を測定することによって、このデジタル出力信号が目標値Ｄｃに最も近づくように決定される。また、この場合の基準デジタル信号Ｄｒの初期値に対して出力されるデジタル出力信号と、目標値Ｄｃと、の差が、補正値ΔＤｇの初期値として決定される。
【００８２】
以上説明した処理によって、ジャイロセンサ信号制御部６２は、信号出力部５３が出力した出力信号に基づいて推定された基準センサ信号に応じて、信号出力部５３に入力される基準信号を制御することにより、ジャイロセンサ５２が出力するセンサ信号を、振幅中心がセンサの個体差によらない所定値（ここでは目標値Ｄｃ）となるような出力信号に変換できる。これにより、アプリケーション実行部６５は、得られた出力信号を用いて積分演算を行うことで、操作デバイス４２のジャイロ基準軸に対する回転角の情報を精度よく求めることができる。
【００８３】
次に、キャリブレーション処理部６３の機能例について、図９の機能ブロック図に基づいて説明する。キャリブレーション処理部６３は、機能的に、図９に示すように、基準値取得部６３ａと、状態値算出部６３ｂと、を含んで構成される。これらの機能は、例えばエンタテインメントシステム１０に予め格納されたシステムソフトウェアをＭＰＵ１１が実行することによって実現される。
【００８４】
基準値取得部６３ａは、操作デバイス４２の所定の保持状態（基準状態）に応じた出力値を、基準値として取得する。基準値は、例えば操作デバイス４２の生産工程において、操作デバイス４２を基準状態に保ってセンサ出力を測定等することによって取得され、記憶部５６に格納される。基準値取得部６３ａは、例えばエンタテインメントシステム１０の電源投入時や、操作デバイス４２がエンタテインメントシステム１０に接続された時点などにおいて、記憶部５６に格納されたデータを読み出すことで基準値を取得する。読み出された基準値は、メインメモリ２０に格納される。
【００８５】
ここで、記憶部５６に格納される基準値の具体例について説明する。記憶部５６に格納される基準値は、操作デバイス４２の所定の第１保持状態（第１基準状態）に応じた出力値（第１基準値）と、第１基準状態とは異なる所定の第２保持状態（第２基準状態）に応じた出力値（第２基準値）と、を含む。ここで、第１基準状態及び第２基準状態は、出力値の特に精度が要求される範囲に応じて決定される。
【００８６】
また、記憶部５６は、所定の第３保持状態（第３基準状態）に応じた出力値（第３基準値）を含んでもよい。例えばこの場合の第３基準状態は、第１基準状態と第２基準状態の間の保持状態であって、加速度センサ５１が加速度を検知しない状態など、操作デバイス４２の標準的な保持状態を示している。なお、操作デバイス４２の標準的な保持状態が、前述した第１基準状態又は第２基準状態のいずれかに一致する場合などにおいては、記憶部５６は必ずしも第３基準状態に応じた第３基準値を保持しなくともよい。
【００８７】
これらの基準状態は、キャリブレーション処理部６３によるキャリブレーション処理の対象となる複数種類の出力値のそれぞれについて、予め定められているものとする。本実施形態においては、加速度センサ５１が測定する３つの基準軸の加速度に応じた３種類の出力値が、それぞれキャリブレーション処理の対象となる。したがって、３つの基準軸のそれぞれについて複数の基準状態が定められている。この各基準軸の基準状態に応じた出力値が、それぞれ測定され、基準値として記憶部５６に格納される。
【００８８】
具体例として、ここではｘ軸及びｙ軸の加速度に応じた出力値について、各軸の正方向が鉛直方向（重力方向）に一致する状態を第１基準状態とする。この場合、第１基準値は、＋１Ｇの重力加速度に応じた出力値となる。また、各軸の負方向が鉛直方向に一致する状態を第２基準状態とする。この場合、第２基準値は、−１Ｇの重力加速度に応じた出力値となる。さらに、各軸が鉛直方向に対して水平となった状態を、第３基準状態とする。この場合、第３基準値は、０Ｇの重力加速度に応じた出力値となる。図１０（ａ），（ｂ）及び（ｃ）は、ｘ軸の加速度に応じた出力値についての、基準状態の例を示す説明図である。図１０（ａ）が第１基準状態を、図１０（ｂ）が第２基準状態を、図１０（ｃ）が第３基準状態を、それぞれ示している。なお、いずれの図についても、図３に例示する操作デバイス４２をｙ軸の正方向に向かって見た様子を示している。また、図１０（ｃ）の状態は、ｙ軸の第３基準状態でもある。
【００８９】
また、ｚ軸の加速度に応じた出力値については、ｚ軸が鉛直方向に対して水平となった状態を、第１基準状態とする。この場合、第１基準値は、０Ｇの重力加速度に応じた出力値となる。また、ｚ軸の負方向が鉛直方向に一致する状態を第２基準状態とする。この場合、第２基準値は、−１Ｇの重力加速度に応じた出力値となる。
【００９０】
図１１は、以上説明した例において、操作デバイス４２の記憶部５６に格納される基準値の一例を示す説明図である。なお、この例においては、ｚ軸についての第３基準状態はないものとする。これは、一般的にユーザが操作デバイス４２を上下逆になるまで傾けて用いることは少ないと考えられるため、加速度センサ５１を操作デバイス４２の傾きを検出する用途に用いる場合、ｘ軸及びｙ軸については−１Ｇから＋１Ｇまで、ｚ軸については−１Ｇから０Ｇまでの範囲を精度よく測定することが求められるからである。
【００９１】
状態値算出部６３ｂは、出力値取得部６１が取得した出力値Ｄａと、基準値取得部６３ａが取得してメインメモリ２０に格納した第１及び第２基準値と、に基づいて、出力値Ｄａに応じた操作デバイス４２の保持状態を示す状態値Ｄｓを算出し、出力する。状態値算出部６３ｂは、出力値取得部６１によって出力値Ｄａが取得されるごとに状態値Ｄｓを算出する処理を実行し、各出力値Ｄａに対して補正がなされた状態値Ｄｓを出力する。なお、状態値算出部６３ｂは、さらに第３基準値も用いて、状態値Ｄｓを算出することとしてもよい。
【００９２】
ここで、状態値算出部６３ｂが状態値Ｄｓを算出する状態値算出処理の具体例について、説明する。まず、ｘ軸の加速度に応じた出力値Ｄａを補正して、状態値Ｄｓを算出する処理の例について、説明する。この場合、状態値算出部６３ｂは、以下の計算式により、第１及び第２基準値を用いた直線補間を行うことで、状態値Ｄｓを算出する。
【数２】
2008077426.tif 000004
この計算式において、Ｒ１ｘ，Ｒ２ｘ及びＲ３ｘは、それぞれ第１、第２及び第３基準値を示しており、Ｃ１ｘ及びＣ２ｘは所定の補正パラメタを示している。
【００９３】
操作デバイス４２が第３基準状態（ここでは０Ｇの重力加速度に対応した状態）にある場合、出力値Ｄａは第３基準値Ｒ３ｘになると想定される。この場合、状態値算出処理によって算出される状態値Ｄｓは、固定値であるＣ２ｘになる。したがって、第３基準値Ｒ３ｘがセンサの個体差等によって異なる値になっても、状態値算出部６３ｂは、操作デバイス４２の第３基準状態を示す状態値として常に所定の値Ｃ２ｘを出力する。このＣ２ｘは、例えばＡ／Ｄコンバータ５４ｂが出力するデジタル信号のとり得る値の範囲の中央値（ここでは５１２）に設定される。
【００９４】
また、状態値算出処理によって算出される状態値Ｄｓは、係数Ｃ１／（Ｒ１ｘ−Ｒ２ｘ）を比例定数として、出力値Ｄａに比例する値となる。その結果、第１基準状態を示す状態値と、第２基準状態を示す状態値と、の差は、センサの個体差等によらず所定の値Ｃ１ｘになる。したがって、センサの個体差等のために、第１基準状態と第２基準状態との間で、ユーザの一定量の操作に対する出力値Ｄａの変化量が異なったとしても、一定量の操作に対して補正後の状態値Ｄｓの変化量は一定になる。すなわち、重力加速度の変化量に対する状態値Ｄｓの変化量は、常に一定となる。これにより、前述した第３基準状態を示す状態値Ｃ２ｘを基準として、第１基準状態と第２基準状態との間の範囲（注目範囲）において、状態値Ｄｓが正しく操作デバイス４２の保持状態を示すこととなり、状態値Ｄｓの精度を向上できる。
【００９５】
なお、ｙ軸の加速度に応じた出力値Ｄａを補正する場合も、ｘ軸の場合と同様の計算式によって実現できる。この場合、Ｃ１ｙ，Ｃ２ｙはそれぞれＣ１ｘ，Ｃ２ｘと等しい値であってよい。
【００９６】
次に、ｚ軸の加速度に応じた出力値Ｄａを補正する処理の例について、説明する。この場合、状態値算出部６３ｂは、以下の計算式によって状態値Ｄｓを算出する。
【数３】
2008077426.tif 000005
ここで、（１）式の場合と同様に、Ｒ１ｚ及びＲ２ｚは、それぞれ第１及び第２基準値を示しており、Ｃ１ｚ及びＣ２ｚは所定の補正パラメタを示している。この（２）式によれば、第１基準値Ｒ１ｚ及び第２基準値Ｒ２ｚは、常に固定値Ｃ２ｚ及び（Ｃ２ｚ−Ｃ１ｚ）に補正されることとなる。
【００９７】
ｚ軸については、前述したように、第１基準状態は０Ｇの重力加速度に、第２基準状態は−１Ｇの重力加速度に、それぞれ対応している。この両者の間の範囲は、ｘ軸及びｙ軸の場合における注目範囲の１／２に対応する。したがって、
【数４】
2008077426.tif 000006
とすることで、いずれの基準軸についても、重力加速度の変化量に対する状態値Ｄｓの変化量が一定になるよう制御できる。また、（２）式においては、（１）式における第３基準値に代えて第１基準値が用いられており、ｚ軸についての第１基準状態はｘ軸及びｙ軸の場合の第３基準状態と同様に０Ｇの重力加速度に対応している。したがって、Ｃ２ｚ＝Ｃ２ｘ＝Ｃ２ｙとすることで、各基準軸について、０Ｇの重力加速度に対する状態値Ｄｓが同じ値になるよう制御できる。
【００９８】
また、以上説明した計算式によって算出された状態値Ｄｓが、Ａ／Ｄコンバータ５４ｂが出力するデジタル出力信号のとり得る値の範囲に含まれない場合、状態値算出部６３ｂは、状態値Ｄｓがこの範囲に含まれるように補正することとしてもよい。すなわち、状態値算出部６３ｂは、算出される状態値が所定の上限値及び下限値の間に含まれるように、状態値を補正する。具体例として、本実施形態においては、計算式によって算出された値が下限値０未満の場合には０を、上限値１０２３を超える場合には１０２３を、それぞれ状態値Ｄｓとして出力する。こうすれば、注目範囲における補正後の状態値Ｄｓの精度を保ったまま、出力値Ｄａの全体を、元の出力値Ｄａがとり得る値の範囲に含まれるよう補正し、状態値Ｄｓとして出力できる。これにより、例えば加速度に応じた出力値として１０ビットの分解能のデジタル値を取得することを前提にアプリケーションプログラムが設計されている場合、アプリケーション実行部６５は、このアプリケーションプログラムをそのまま実行して、キャリブレーション処理部６３によるキャリブレーション処理実行後の状態値Ｄｓに応じた処理を実現できる。
【００９９】
以上説明した機能によって、キャリブレーション処理部６３は、出力値取得部６１が取得した出力値Ｄａと、第１及び第２基準状態に応じて予め取得された第１及び第２基準値と、に基づいて状態値Ｄｓを算出することで、注目範囲における状態値Ｄｓの精度を確保しつつ、操作デバイス４２の個体差を吸収する補正を行うことができる。
【０１００】
次に、フィルタリング処理部６４の機能例について、図１２の機能ブロック図に基づいて説明する。フィルタリング処理部６４は、機能的に、図１２に示すように、パラメタセット保持部６４ａと、パラメタセット選択部６４ｂと、フィルタ演算実行部６４ｃと、を含んで構成される。パラメタセット保持部６４ａの機能は、メインメモリ２０等によって実現できる。また、パラメタセット選択部６４ｂ及びフィルタ演算実行部６４ｃの機能は、例えばアプリケーションプログラムとともに光ディスク３６等に格納されて提供されるライブラリプログラムをＭＰＵ１１が実行することによって実現される。
【０１０１】
パラメタセット保持部６４ａは、所定のフィルタリング処理に用いられるパラメタを少なくとも一つ含むパラメタセットを、複数保持する。具体例として、パラメタセット保持部６４ａは、パラメタセット番号と、所定の数のパラメタからなるパラメタセットと、を関連づけるテーブルを保持する。図１３は、このようなテーブルに格納される複数のパラメタセットの一例を示す説明図である。
【０１０２】
パラメタセット選択部６４ｂは、パラメタセット保持部６４ａが保持している複数のパラメタセットの中から、アプリケーション実行部６５の指示に応じて、一のパラメタセットを選択する。例えばパラメタセット選択部６４ｂは、アプリケーション実行部６５から通知されるパラメタセット番号に応じて、当該パラメタセット番号に関連づけられたパラメタセットを選択する。
【０１０３】
フィルタ演算実行部６４ｃは、パラメタセット選択部６４ｂが選択したパラメタセットを用いて、状態値Ｄｓに対する所定のフィルタリング処理を行う。具体的に、フィルタ演算実行部６４ｃは、状態値算出部６３ｂが所定時間ごとに出力する状態値Ｄｓを、状態値列として取得し、当該状態値列に対してフィルタリング処理を行う。
【０１０４】
フィルタ演算実行部６４ｃが実行するフィルタリング処理は、例えば状態値列の高周波数成分を除去するローパスフィルタ処理である。以下では、フィルタ演算実行部６４ｃが実行するフィルタリング処理がローパスフィルタ処理である場合の具体例について、説明する。
【０１０５】
この場合、パラメタセット保持部６４ａが保持する各パラメタセットに含まれるパラメタは、フィルタ処理に用いられるフィルタ係数である。一つのパラメタセットに含まれるパラメタの組を、Ｐ１，Ｐ２，Ｐ３，Ｐ４及びＰ５とすると、ローパスフィルタ処理は具体的に例えば以下の計算式によって実現される。
【数５】
2008077426.tif 000007
【０１０６】
ここで、Ｄｓ[ｎ]は、ｎ回目のサンプリングにおいて得られる状態値であり、Ｄｓ′[ｎ]はフィルタリング後の状態値を示す。また、ｕ[ｎ]は、（３）式によりサンプリングごとに一時的に算出される計算値である。このｕ[ｎ]は、過去所定回数分の値が一時的にメインメモリ２０に格納され、（３）式及び（４）式の演算に用いられる。なお、この計算式は、２次のＩＩＲ（Infinite Impulse Response）フィルタによるローパスフィルタ処理の例を示している。このようなフィルタによれば、ユーザの操作に対する状態値Ｄｓの変化の応答速度を比較的犠牲にせずに、ノイズ性の信号を除去することができる。
【０１０７】
上記の例において、パラメタセット保持部６４ａが保持する複数のパラメタセットは、それぞれ互いに異なるカットオフ周波数に対応しているものとする。したがって、各パラメタセットを用いたローパスフィルタ処理によって、それぞれ異なる範囲の周波数成分が除去されることとなる。具体例として、状態値Ｄｓを取得するサンプリング周波数が１００Ｈｚの場合に、カットオフ周波数２５Ｈｚ、１０Ｈｚ及び５Ｈｚにそれぞれ対応した３つのフィルタ係数の組が、パラメタセットとして保持される。この３つのパラメタセットのうち、アプリケーション実行部６５の指示によって選択されたパラメタセットにより、状態値列に対してカットオフ周波数以上の周波数成分を除去するフィルタリング処理が実行される。
【０１０８】
これにより、エンタテインメントシステム１０は、例えばメニュー画面をモニタ２６に表示させてユーザにメニュー項目を選択させる場面など、操作デバイス４２の操作に対する感度をそれほど必要としない場合には、より低いカットオフ周波数でフィルタリング処理を行うことにより、効果的にノイズ性の信号を状態値列から除去できる。逆に、アプリケーション実行部６５が例えばユーザの微妙な操作に応じて画面上に表示されたオブジェクト（ゲームキャラクタや、ポインタなど）の動作を制御する処理を実行する場合には、より高いカットオフ周波数でフィルタリング処理を行うことにより、ユーザの操作に対する応答性を向上させることができ、ユーザの操作性を向上できる。
【０１０９】
なお、フィルタリング処理部６４は、加速度センサ５１が出力する各基準軸の加速度を示す３つの状態値列に対して、共通するパラメタセットを用いてフィルタリング処理を実行してもよいし、それぞれの状態値列に対して互いに異なるパラメタセットを用いてフィルタリング処理を実行してもよい。
【０１１０】
例えばパラメタセット保持部６４ａは、一つのパラメタセット番号に関連づけて、複数種類の状態値列のそれぞれに対応したパラメタセットを保持することとしてもよい。この場合、パラメタセット選択部６４ｂは、アプリケーション実行部６５の指示に応じて、複数種類の状態値列のそれぞれについて、一つずつパラメタセットを選択する。そして、フィルタ演算実行部６４ｃは、複数種類の状態値列のそれぞれに対して、選択されたパラメタセットを用いたフィルタリング処理を行う。
【０１１１】
こうすれば、例えば加速度センサ５１が出力する各基準軸の加速度を示す状態値列について、それぞれ異なるカットオフ周波数によるローパスフィルタ処理が実現できる。これにより、例えばアプリケーション実行部６５が実行する処理の内容に応じて、特定方向の基準軸について特にノイズ性の信号が生じることが予測される場合（例えば操作デバイス４２の特定の面に配置されたボタンが使用される場合）、当該基準軸に応じた状態値列に対してより低いカットオフ周波数によるローパスフィルタ処理を行うことで、望ましい条件でノイズ性の信号を除去できる。また、ユーザが特定方向に操作デバイス４２を傾ける操作に応じた処理を実現する場合、当該方向に対応する基準軸以外の基準軸についてより低いカットオフ周波数によるローパスフィルタ処理を行うことで、ユーザの操作に対する感度を落とさずに、ノイズ性の信号を除去できる。
【０１１２】
アプリケーション実行部６５は、以上説明したフィルタリング処理部６４によるフィルタリング処理の結果得られる状態値Ｄｓ′を用いて、操作デバイス４２の保持状態に応じた処理を実行する。このように、アプリケーション実行部６５の指示に応じてフィルタリング処理部６４によるフィルタリング処理の条件を変化させることで、エンタテインメントシステム１０は、アプリケーション実行部６５の処理内容に応じたフィルタリング処理を実現でき、ユーザの操作性を向上できる。
【０１１３】
なお、本発明は上記実施形態に限定されるものではなく、種々の変形実施が可能である。
【０１１４】
例えば以上の説明においては、エンタテインメントシステム１０の本体が、信号出力部５３に入力される所与の基準信号を制御する操作デバイス制御装置として動作する場合の例について説明したが、操作デバイス制御装置は、操作デバイス４２に内蔵されてもよい。
【０１１５】
また、ジャイロセンサ５２が出力する電圧信号に対して、増幅回路による増幅が必要ない場合などにおいては、信号出力部５３は例えばエンタテインメントシステム１０本体が所定のプログラムを実行することによって実現されることとしてもよい。すなわち、信号出力部５３は、ジャイロセンサ５２の出力する電圧信号に応じたデジタル信号と、所与の基準信号（デジタル信号）と、の差に応じたデジタル信号を出力信号として出力する機能を持つソフトウェアとして実現される。
【０１１６】
また、以上の説明においては、加速度センサ５１の出力に応じた出力値Ｄａに基づいてキャリブレーション処理やフィルタリング処理を行うこととしたが、エンタテインメントシステム１０は、ジャイロセンサ５２の出力に応じた出力値Ｄｇに基づいて、キャリブレーション処理部６３によるキャリブレーション処理や、フィルタリング処理部６４によるフィルタリング処理を実行してもよい。この場合、前述した各基準状態は、加速度センサ５１の例のような操作デバイス４２が所定の姿勢で静止した状態ではなく、所定の角速度で回転している状態であってもよい。また、エンタテインメントシステム１０は、その他の操作デバイス４２の姿勢や運動を検知するモーションセンサ等を用いて、操作デバイス４２の保持状態に応じた出力値を取得し、この出力値に対してキャリブレーション処理やフィルタリング処理を実行してもよい。
【０１１７】
さらに、フィルタリング処理部６４は、ローパスフィルタによるフィルタリング処理に限らず、別の種類のフィルタリング処理を状態値列に対して実行することとしてもよい。
【図面の簡単な説明】
【０１１８】
【図１】本発明の実施の形態に係るエンタテインメントシステムのハードウェア構成図である。
【図２】ＭＰＵの詳細構成図である。
【図３】操作デバイスの外観の一例を示す図である。
【図４】操作デバイスの内部構成の一例を示す図である。
【図５】加速度センサが出力する電圧信号の一例を示すグラフ図である。
【図６】本発明の実施の形態に係るエンタテインメントシステムの機能例を示す機能ブロック図である。
【図７】ジャイロセンサ信号制御部の機能例を示す機能ブロック図である。
【図８】ジャイロセンサ信号制御部によって実行される処理の一例を示すフロー図である。
【図９】キャリブレーション処理部の機能例を示す機能ブロック図である。
【図１０】操作デバイスの所定の保持状態の例を示す説明図である。
【図１１】操作デバイスの記憶部に格納される基準値の一例を示す説明図である。
【図１２】フィルタリング処理部の機能例を示す機能ブロック図である。
【図１３】本実施形態に係るエンタテインメントシステムが保持する複数のパラメタセットの一例を示す説明図である。
【符号の説明】
【０１１９】
１０  エンタテインメントシステム、１１  ＭＰＵ、１２  メインプロセッサ、１４ａ〜１４ｈ  サブプロセッサ、１６  バス、１８  メモリコントローラ、２０  メインメモリ、２２，４０，４４，５７  インタフェース、２４  画像処理部、２６  モニタ、２８  入出力処理部、３０  音声処理部、３２  スピーカ、３４  光ディスク読み取り部、３６  光ディスク、３８  ハードディスク、４２  操作デバイス、４６  カメラユニット、４８  ネットワークインタフェース、５１  加速度センサ、５２  ジャイロセンサ、５３  信号出力部、５４ａ，５４ｂ  アナログデジタルコンバータ、５５  基準信号入力部、５６  記憶部、６１  出力値取得部、６２  ジャイロセンサ信号制御部、６２ａ  基準センサ信号推定部、６２ｂ  基準信号制御部、６２ｃ  出力値補正部、６２ｄ  初期値設定部、６３  キャリブレーション処理部、６３ａ  基準値取得部、６３ｂ  状態値算出部、６４  フィルタリング処理部、６４ａ  パラメタセット保持部、６４ｂ  パラメタセット選択部、６４ｃ  フィルタ演算実行部、６５  アプリケーション実行部。
【図１】
2008077426.tif 000008
【図２】
2008077426.tif 000009
【図３】
2008077426.tif 000010
【図４】
2008077426.tif 000011
【図５】
2008077426.tif 000012
【図６】
2008077426.tif 000013
【図７】
2008077426.tif 000014
【図８】
2008077426.tif 000015
【図９】
2008077426.tif 000016
【図１０】
2008077426.tif 000017
【図１１】
2008077426.tif 000018
【図１２】
2008077426.tif 000019
【図１３】
2008077426.tif 000020
【手続補正書】
【提出日】平成19年8月24日(2007.8.24)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、ジャイロセンサを備えた操作デバイス、また当該操作デバイスを制御する操作デバイス制御装置、操作デバイス制御方法及びプログラムに関する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、操作デバイスに備えられたジャイロセンサの出力するセンサ信号に応じて、基準センサ信号の個体差や変動の影響を低減しつつ、当該操作デバイスの回転角に関する情報を取得することのできる操作デバイス制御装置、操作デバイス制御方法及びプログラム並びに操作デバイスを提供することにある。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
以下、上述した処理の具体例を、図８のフロー図に基づいて説明する。このフローによる処理は、出力値取得部６１が各評価区間Ｐｎに属する所定のサンプル数の出力値Ｄｇを取得するごとに、実行される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
この計算式の例においては、評価指数Ｅｎは、区間最大値Ｄmaxｎ及び区間最小値Ｄminｎの区間平均値Ｄavgｎに対する分散の和となっている。これにより、評価指数Ｅｎは、評価区間Ｐｎにおける出力値Ｄｇが一定に近いほど、小さな値となる。通常、ユーザが操作デバイス４２を操作している状況においては、出力値Ｄｇの変動が大きくなり、逆にユーザが操作デバイス４２を操作していない場合には出力値Ｄｇの変動は小さくなると推定される。したがって、評価指数Ｅｎが小さく、出力値Ｄｇの変動の小さい状態における出力値Ｄｇは、ジャイロセンサ５２の基準センサ信号Ｖgrに応じて出力された値に近いものと推定される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
Ｓ３及びＳ４の処理の結果、判定条件が満たされると判定した場合には、基準センサ信号推定部６２ａは、評価区間Ｐｎの情報を基準センサ信号Ｖgrの推定に用いることとする。この場合、基準センサ信号推定部６２ａは、Ｓ１で算出された区間平均値Ｄavgｎを、当該評価区間Ｐｎに属する出力値Ｄｇの代表値として、メインメモリ２０内に格納する（Ｓ５）。なお、この場合において、メインメモリ２０内には、常に所定数の評価区間に係る区間平均値の情報が保持されるよう制御される。すなわち、既に所定数の区間平均値の情報が保持されている場合、基準センサ信号推定部６２ａは、Ｓ５の処理において、新たな区間平均値の情報をメインメモリ２０に書き込むとともに、最も古い区間平均値の情報を削除する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
さらに、基準センサ信号推定部６２ａは、Ｓ５の処理によってメインメモリ２０内に格納された所定数の区間平均値の情報に基づいて、基準センサ信号推定値Ｄｅの算出を行う。ここで、Ｓ３及びＳ４の条件を満たす評価区間の区間平均値Ｄavgｎが所定数得られたとしても、この中には基準センサ信号Ｖgrに対応しない情報が含まれている可能性がある。なぜなら、ユーザが操作デバイス４２を一定の角速度でゆっくり動かした場合など、特殊な状況においては、ジャイロセンサ５２が角速度を検知しない状態でないにもかかわらずＳ３及びＳ４の判定条件を満たすことがありうるからである。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
なお、基準センサ信号推定部６２ａは、上述した例と異なる方法で基準センサ信号推定値Ｄｅの算出を行ってもよい。例えば基準センサ信号推定部６２ａは、時間的長さが互いに異なる複数種類に評価区間についてそれぞれ代表値（平均値等）を算出し、当該算出された複数種類の代表値に基づいて基準センサ信号の推定を周期的に行ってもよい。すなわち、上述した例においては、基準センサ信号推定部６２ａは、比較的短周期の評価区間を用いて基準センサ信号推定値Ｄｅの算出を行っている。この場合、基準センサ信号Ｖgrが操作デバイス４２の使用中に変動した場合には、比較的早くこの変動に応じた基準センサ信号推定値Ｄｅの更新を行うことができる。しかし、一方で、ユーザが操作デバイス４２を頻繁に操作している間など、センサ出力が安定しない場合には、基準センサ信号推定値Ｄｅの更新を行う頻度が低下する。そこで、この短周期の推定値算出処理によって推定される推定値と、比較的長周期の評価区間による推定値算出処理によって推定される推定値と、のいずれか一方を選択することにより、より精度の高い基準センサ信号推定値Ｄｅの算出を実現することとしてもよい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
また、状態値算出処理によって算出される状態値Ｄｓは、係数Ｃ１ｘ／（Ｒ１ｘ−Ｒ２ｘ）を比例定数として、出力値Ｄａに比例する値となる。その結果、第１基準状態を示す状態値と、第２基準状態を示す状態値と、の差は、センサの個体差等によらず所定の値Ｃ１ｘになる。したがって、センサの個体差等のために、第１基準状態と第２基準状態との間で、ユーザの一定量の操作に対する出力値Ｄａの変化量が異なったとしても、一定量の操作に対して補正後の状態値Ｄｓの変化量は一定になる。すなわち、重力加速度の変化量に対する状態値Ｄｓの変化量は、常に一定となる。これにより、前述した第３基準状態を示す状態値Ｃ２ｘを基準として、第１基準状態と第２基準状態との間の範囲（注目範囲）において、状態値Ｄｓが正しく操作デバイス４２の保持状態を示すこととなり、状態値Ｄｓの精度を向上できる。