(57)【特許請求の範囲】
【請求項１】
コントローラに備えられ、該コントローラの第１の基準方向に対する第１の加速度を検知して出力する第１の加速度検知手段と、
前記出力される第１の加速度に応じたユーザ提示情報を出力する情報出力手段と、
を含む情報処理装置において、
前記コントローラの前記第１の基準方向とは異なる第２の基準方向に対する第２の加速度を検知して出力する第２の加速度検知手段と、
前記出力される第２の加速度に応じて、前記ユーザ提示情報の出力を、前記第１の加速度が所定の値を示す場合の出力に維持する出力情報維持手段と、
を含むことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記出力情報維持手段は、前記出力される第２の加速度が所定の範囲に含まれる場合に、前記ユーザ提示情報の出力を前記第１の加速度が所定の値を示す場合の出力に維持する
ことを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置において、
前記所定の値は、前記コントローラの姿勢に応じて出力される前記第１の加速度の極大値又は極小値である
ことを特徴とする情報処理装置。
【請求項４】
コントローラに備えられ、該コントローラの第１の基準方向に対する第１の加速度を検知するセンサの出力を取得するステップと、
前記取得した第１の加速度に応じたユーザ提示情報を出力するステップと、
前記コントローラの前記第１の基準方向とは異なる第２の基準方向に対する第２の加速度を検知するセンサの出力を取得するステップと、
前記取得した第２の加速度に応じて、前記ユーザ提示情報の出力を、前記第１の加速度が所定の値を示す場合の出力に維持するステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項５】
コントローラに備えられ、該コントローラの第１の基準方向に対する第１の加速度を検知するセンサの出力を取得する第１の加速度取得手段、
前記取得した第１の加速度に応じたユーザ提示情報を出力する情報出力手段、
前記コントローラの前記第１の基準方向とは異なる第２の基準方向に対する第２の加速度を検知するセンサの出力を取得する第２の加速度取得手段、
及び
前記取得した第２の加速度に応じて、前記ユーザ提示情報の出力を、前記第１の加速度が所定の値を示す場合の出力に維持する出力情報維持手段、
としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラに対するユーザの操作により処理を実行する情報処理装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
例えば家庭用ゲーム機など、コントローラを備えた情報処理装置がある。このような情報処理装置においては、コントローラが、当該コントローラに対する加速度を検知する加速度センサを備える場合がある。この場合、ユーザがコントローラを傾けてその姿勢を変化させることにより、情報処理装置は、コントローラの傾きに応じたユーザ提示情報を出力する処理を実行することができる。具体的には、例えばコントローラの傾きの向きや量に応じて、画面上に表示されるオブジェクトを移動させたり、出力する音声を変化させたりすることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来例の技術においては、以下のような問題が生じる場合がある。すなわち、ユーザがある方向に大きくコントローラを傾けていくと、増加していた加速度センサの出力値が、途中から減少することがありうる。また、逆にそれまで減少していた加速度センサの出力値が、ユーザがコントローラを傾けすぎることによって増加に転じる場合もある。このような現象が起こった場合、必ずしも傾きの量に応じたユーザ提示情報が出力されるとは限らず、ユーザに違和感を生じさせる場合がある。
【０００４】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、ユーザのコントローラを傾ける動作に応じてユーザ提示情報を出力する場合において、ユーザの違和感を少なくできる情報処理装置、その制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するための本発明に係る情報処理装置は、コントローラに備えられ、該コントローラの第１の基準方向に対する第１の加速度を検知して出力する第１の加速度検知手段と、前記出力される第１の加速度に応じたユーザ提示情報を出力する情報出力手段と、を含む情報処理装置において、前記コントローラの前記第１の基準方向とは異なる第２の基準方向に対する第２の加速度を検知して出力する第２の加速度検知手段と、前記出力される第２の加速度に応じて、前記ユーザ提示情報の出力を、前記第１の加速度が所定の値を示す場合の出力に維持する出力情報維持手段と、を含むことを特徴とする。
【０００６】
また、上記情報処理装置において、前記出力情報維持手段は、前記出力される第２の加速度が所定の範囲に含まれる場合に、前記ユーザ提示情報の出力を前記第１の加速度が所定の値を示す場合の出力に維持することとしてもよい。
【０００７】
また、上記情報処理装置において、前記所定の値は、前記コントローラの姿勢に応じて出力される前記第１の加速度の極大値又は極小値であることとしてもよい。
【０００８】
また、本発明に係る情報処理装置の制御方法は、コントローラに備えられ、該コントローラの第１の基準方向に対する第１の加速度を検知するセンサの出力を取得するステップと、前記取得した第１の加速度に応じたユーザ提示情報を出力するステップと、前記コントローラの前記第１の基準方向とは異なる第２の基準方向に対する第２の加速度を検知するセンサの出力を取得するステップと、前記取得した第２の加速度に応じて、前記ユーザ提示情報の出力を、前記第１の加速度が所定の値を示す場合の出力に維持するステップと、を含むことを特徴とする。
【０００９】
また、本発明に係るプログラムは、コントローラに備えられ、該コントローラの第１の基準方向に対する第１の加速度を検知するセンサの出力を取得する第１の加速度取得手段、前記取得した第１の加速度に応じたユーザ提示情報を出力する情報出力手段、前記コントローラの前記第１の基準方向とは異なる第２の基準方向に対する第２の加速度を検知するセンサの出力を取得する第２の加速度取得手段、及び前記取得した第２の加速度に応じて、前記ユーザ提示情報の出力を、前記第１の加速度が所定の値を示す場合の出力に維持する出力情報維持手段、としてコンピュータを機能させることを特徴とする。ここでコンピュータは、例えばコンテンツプレーヤ、家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、パーソナルコンピュータ、サーバコンピュータ、携帯電話機等である。また、プログラムはＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な各種情報記憶媒体に記憶されてもよい。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態について、図面を参照しながら説明する。
【００１１】
図１は、本実施形態に係るエンタテインメントシステム（情報処理装置）のハードウェア構成を示す図である。同図に示すように、エンタテインメントシステム１０は、ＭＰＵ（Micro Processing Unit）１１と、メインメモリ２０と、画像処理部２４と、モニタ２６と、入出力処理部２８と、音声処理部３０と、スピーカ３２と、光ディスク読み取り部３４と、光ディスク３６と、ハードディスク３８と、インタフェース（Ｉ／Ｆ）４０，４４と、コントローラ４２と、カメラユニット４６と、ネットワークインタフェース４８と、を含んで構成されるコンピュータシステムである。
【００１２】
図２は、ＭＰＵ１１の構成を示す図である。同図に示すように、ＭＰＵ１１は、メインプロセッサ１２と、サブプロセッサ１４ａ，１４ｂ，１４ｃ，１４ｄ，１４ｅ，１４ｆ，１４ｇ，１４ｈと、バス１６と、メモリコントローラ１８と、インタフェース（Ｉ／Ｆ）２２と、を含んで構成される。
【００１３】
メインプロセッサ１２は、図示しないＲＯＭ（Read Only Memory）に記憶されるオペレーティングシステム、例えばＤＶＤ（Digital Versatile Disk）−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ１４ａ乃至１４ｈに対する制御を行ったりする。
【００１４】
サブプロセッサ１４ａ乃至１４ｈは、メインプロセッサ１２からの指示に従って、各種情報処理を行ったり、エンタテインメントシステム１０の各部を、例えばＤＶＤ−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて制御したりする。
【００１５】
バス１６は、アドレス及びデータをエンタテインメントシステム１０の各部でやり取りするためのものである。メインプロセッサ１２、サブプロセッサ１４ａ乃至１４ｈ、メモリコントローラ１８、インタフェース２２は、バス１６を介して相互にデータ授受可能に接続される。
【００１６】
メモリコントローラ１８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、メインメモリ２０へのアクセスを行う。メインメモリ２０には、光ディスク３６やハードディスク３８から読み出されたプログラム及びデータや、通信ネットワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。メインメモリ２０はメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈの作業用としても用いられる。
【００１７】
インタフェース２２には画像処理部２４及び入出力処理部２８が接続される。メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、画像処理部２４又は入出力処理部２８と、の間のデータ授受はインタフェース２２を介して行われる。
【００１８】
画像処理部２４は、ＧＰＵ（Graphical Processing Unit）とフレームバッファとを含んで構成される。ＧＰＵは、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈから供給される画像データに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ２６に出力される。なお、モニタ２６には例えば家庭用テレビ受像機が用いられる。
【００１９】
入出力処理部２８には、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０,４４が接続される。入出力処理部２８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０,４４、ネットワークインタフェース４８と、の間のデータ授受を制御する。
【００２０】
音声処理部３０は、ＳＰＵ（Sound Processing Unit）とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク３６やハードディスク３８から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。ＳＰＵは、これらの各種音声データを再生してスピーカ３２から出力させる。なお、スピーカ３２には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
【００２１】
光ディスク読み取り部３４は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、光ディスク３６に記憶されたプログラムやデータを読み取る。なお、エンタテインメントシステム１０は、光ディスク３６以外の他のコンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成してもよい。
【００２２】
光ディスク３６は例えばＤＶＤ−ＲＯＭ等の一般的な光ディスク（コンピュータ読み取り可能な情報記憶媒体）である。また、ハードディスク３８は一般的なハードディスク装置である。光ディスク３６やハードディスク３８には各種プログラムやデータがコンピュータ読み取り可能に記憶される。
【００２３】
インタフェース（Ｉ／Ｆ）４０，４４は、コントローラ４２やカメラユニット４６等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えばＵＳＢ（Universal Serial Bus）インタフェースが用いられる。また、例えばBluetooth（登録商標）インタフェースなどの無線通信インタフェースが用いられてもよい。
【００２４】
コントローラ４２は汎用操作入力手段であり、ユーザが各種操作（例えばゲーム操作）を入力するために用いられる。入出力処理部２８は、所定時間（例えば１／６０秒）ごとにコントローラ４２の各部の状態をスキャンし、その結果を表す操作信号をメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈに供給する。メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈは、ユーザによって行われた操作の内容をその操作信号に基づいて判断する。なお、エンタテインメントシステム１０は複数のコントローラ４２を接続可能に構成されており、各コントローラ４２から入力される操作信号に基づいて、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈが各種処理を実行するようになっている。
【００２５】
また本実施の形態においては、コントローラ４２は、当該コントローラ４２の状態を検知して出力するセンサ４３を備えている。これにより、ユーザが例えばコントローラ４２の姿勢を変えるなどコントローラ４２の状態を変化させることで、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈは当該コントローラ４２の状態に応じた処理を実行することができる。
【００２６】
センサ４３は、加速度センサ４３ａ及びジャイロセンサ４３ｂを含んで構成されている。また、ここでは加速度センサ４３ａは、３軸加速度センサであることとする。図３に示されるように、加速度センサ４３ａは、コントローラ４２内に固定されており、互いに直交するｘ軸、ｙ軸、及びｚ軸の３つの基準軸が設定されている。ここで、ｘ軸はコントローラ４２の長手方向、ｙ軸はコントローラ４２の奥行方向、ｚ軸はコントローラ４２の厚み方向にそれぞれ対応している。そして、加速度センサ４３ａは、３つの基準軸のそれぞれに対する加速度を検知し、検知した加速度に応じた３つの電圧値を出力する。
【００２７】
図４は、加速度センサ４３ａが検知するいずれかの軸に対する加速度と、検知した加速度に応じて出力する電圧値と、の対応関係を模式的に示すグラフである。図４に示すように、加速度センサ４３ａは加速度に略比例する電圧値を出力し、加速度を検知しない状態では基準電圧Ｖｏを出力する。出力される電圧値の基準電圧Ｖｏに対する高低により、各軸の正負いずれの方向に加速度が生じているかを検知することができる。なお、図において１Ｇは、重力加速度に相当する加速度を示している。
【００２８】
この加速度センサ４３ａの出力のうち、ｘ軸の加速度は、コントローラ４２のｙ軸を中心とした傾きによって変化する。例えばコントローラ４２が図５（ａ）に示すように水平面に対して長手方向にθy1度傾いた姿勢となっている場合、ｘ軸の加速度はＧsinθy1となる。また、図５（ｂ）に示すようにコントローラ４２が図５（ａ）とは逆向きにθy2度傾いている場合、ｘ軸の加速度は−Ｇsinθy2となる。
【００２９】
同様に、ｙ軸の加速度は、コントローラ４２のｘ軸を中心とした傾きによって変化する。例えばコントローラ４２が図６（ａ）に示すように水平面に対して奥行方向にθx1度傾いた姿勢となっている場合、ｙ軸の加速度はＧsinθx1となる。また、図６（ｂ）に示すように図６（ａ）とは逆向きにθx2度傾いている場合、ｙ軸の加速度は−Ｇsinθx2となる。
【００３０】
また、加速度センサ４３ａの出力を十分短い間隔でサンプリングすることによって、エンタテインメントシステム１０は急激に大きな加速度がコントローラ４２にかかったことを検知することができる。例えば一時的に１Ｇを超える加速度がコントローラ４２にかかった場合には、ユーザがなんらかの力をコントローラ４２に対して加えたと考えられる。これにより、例えばユーザがコントローラ４２を叩いたり振ったりした場合に、エンタテインメントシステム１０は、加速度センサ４３ａの出力を用いてこのようなユーザの動作を検知することができる。
【００３１】
ジャイロセンサ４３ｂは、コントローラ４２のｚ軸を中心とした回転の角速度を検知し、当該角速度の情報を出力する。このジャイロセンサ４３ｂの出力を、一定時間ごとでサンプリングし、積分する演算を行うことで、エンタテインメントシステム１０はコントローラ４２のｚ軸に対する回転の変位量を取得できる。
【００３２】
カメラユニット４６は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を所定時間（例えば１／６０秒）ごとに入力する。本実施の形態におけるカメラユニット４６は、撮影画像をＪＰＥＧ（Joint Photographic Experts Group）形式の画像データとして入力するようになっている。また、カメラユニット４６は、例えばレンズをプレイヤに向けた状態でモニタ２６の上に設置され、ケーブルを介してインタフェース４４に接続される。ネットワークインタフェース４８は入出力処理部２８と通信ネットワークとに接続されており、エンタテインメントシステム１０が通信ネットワークを介して他のエンタテインメントシステム１０とデータ通信するのを中継するようになっている。
【００３３】
以下、以上のハードウェア構成を有するエンタテインメントシステム１０が、加速度センサ４３ａの出力に応じてユーザ提示情報を出力する処理の一例について、説明する。
【００３４】
エンタテインメントシステム１０は、機能的に、図７に示すように、ユーザ提示情報出力部５１、及び出力情報制御部５２を含んで構成されている。
【００３５】
ユーザ提示情報出力部５１は、コントローラ４２のｘ軸及びｙ軸に対する加速度に応じたユーザ提示情報を出力する。ここでユーザ提示情報は、エンタテインメントシステム１０がユーザに提示する情報であって、例えばモニタ２６に表示される映像情報であってもよいし、スピーカ３２から出力される音声情報であってもよい。
【００３６】
ここでユーザ提示情報の内容は、ｘ軸及びｙ軸の加速度の情報に応じて決まる。この場合において、ユーザ提示情報出力部５１は、ユーザ提示情報の決定の際に用いるｘ軸及びｙ軸の加速度を、加速度センサ４３ａの出力値そのものではなく、出力情報制御部５２によって出力される情報に基づいて取得する。
【００３７】
以下では具体例として、ユーザ提示情報は、仮想３次元空間内に配置されたオブジェクトを、所与の視点位置から所与の視線方向に向かって見た様子を示す画像であることとする。なお、ここでは視点位置及び視線方向は、当該オブジェクトが視界範囲内に収まるように、オブジェクトの位置及び向きに応じて決まるものとする。
【００３８】
また、当該オブジェクトは、ｘ軸及びｙ軸に対する加速度に応じた方向及び速度で、仮想３次元空間内を移動することとする。すなわち、例えばユーザがコントローラ４２を把持した状態で、図５（ａ）に例示するように向かって右側にコントローラ４２を傾けると、この動作によって加速度センサ４３ａはｘ軸に正方向の加速度がかかっていることを示す出力値を出力する。この出力値に応じて、オブジェクトは仮想３次元空間内を視線方向に対して右方向に移動する。逆に図５（ｂ）に例示するようにユーザがコントローラ４２を左側に傾けると、この動作によって出力される加速度センサ４３ａの出力値に応じて、オブジェクトは仮想３次元空間内を視線方向に対して左方向に移動する。
【００３９】
また、図６（ａ）に例示するようにユーザがコントローラ４２を前方に向けて倒すと、この動作によって加速度センサ４３ａはｙ軸に正方向の加速度がかかっていることを示す出力値を出力する。この出力値に応じて、オブジェクトは仮想３次元空間を視線方向に沿って移動する。逆に図６（ｂ）に例示するようにユーザがコントローラ４２を手前に向けると、オブジェクトは視線方向の逆方向（画面手前方向）に移動する。
【００４０】
さらにこの場合において、オブジェクトの移動速度は、コントローラ４２の水平面に対する傾き度合いに応じて変化することとする。
【００４１】
ユーザ提示情報出力部５１は、以上説明したような仮想３次元空間の様子を示す画像を出力し、モニタ２６に表示させる。これにより、ユーザは、コントローラ４２を傾ける動作によって、モニタ２６に表示されているオブジェクトを操作できる。
【００４２】
出力情報制御部５２は、加速度センサ４３ａから出力される各軸の加速度を示す出力値を取得する。そして、所定の処理を実行した後、ｘ軸及びｙ軸の加速度の情報をユーザ提示情報出力部５１に対して出力する。具体的には、出力情報制御部５２は、加速度センサ４３ａから出力されるｚ軸の加速度に応じて、当該ｚ軸の加速度が所定の条件を満たす場合には加速度センサ４３ａから出力されるｘ軸及びｙ軸の加速度を所定の値に変更して、ユーザ提示情報出力部５１に対して出力する。これによって、ユーザ提示情報出力部５１によるユーザ提示情報の出力は、ｚ軸の加速度に応じて、ｘ軸及びｙ軸の加速度が所定の値を示す場合の出力に維持されることとなる。
【００４３】
以下、出力情報制御部５２が実行する処理の具体例について説明する。ここではまず第１の例として、ユーザがコントローラ４２を把持した状態で右側にコントローラ４２を傾ける場合の例について、説明する。ここで、ユーザの動作によるコントローラ４２のｙ軸を中心とした回転量を、角度φ1で表す。ｘ軸が水平面上にある場合には、φ1＝０度である。
【００４４】
図８は、第１の例におけるコントローラ４２の姿勢の変化と、各軸の加速度の変化との対応関係を示す説明図である。図中において、最上段の図がコントローラ４２の姿勢の変化を、その下のグラフがこの姿勢に応じた加速度センサ４３ａの出力するｘ軸の加速度の変化を、さらにその下のグラフが加速度センサ４３ａの出力するｚ軸の加速度の変化を、それぞれ示している。なお、この例においては、コントローラ４２はｙ軸を中心に回転しているため、ｙ軸の加速度は０Ｇのまま変化しない。
【００４５】
この第１の例においては、φ1＜９０度の間は、ｘ軸の加速度は単調に増加するが、φ1の値が９０度以上になると、ｘ軸の加速度は減少する。したがって、ｘ軸の加速度に応じた速度で仮想３次元空間上のオブジェクトを移動させる場合、ユーザが同じ方向にコントローラ４２を傾け続けても、φ1が９０度を超えるとオブジェクトの移動速度は遅くなり始めることとなり、ユーザに違和感を生じさせる場合がある。
【００４６】
そこで本実施の形態においては、出力情報制御部５２は、ｚ軸の加速度に応じて、ｘ軸の加速度として所定の値をユーザ提示情報出力部５１に出力する。具体的には、ｚ軸の加速度として０Ｇ以上が出力されている場合には、これに応じてｘ軸の加速度として＋１Ｇを出力する。ここで、ｘ軸の加速度＋１Ｇは、コントローラ４２の姿勢に応じて加速度センサ４３ａが出力するｘ軸の加速度の極大値に相当する。
【００４７】
以上説明した制御により、出力情報制御部５２がユーザ提示情報出力部５１に対して出力するｘ軸の加速度は、図８において最下段のグラフに示されるように、ｚ軸の加速度が０Ｇ以上の場合に一定値＋１Ｇとなる。これにより、ユーザ提示情報出力部５１によるユーザ提示情報の出力は、φ1＞９０度の場合であっても、φ1＝９０度の場合と同様の出力となる。
【００４８】
次に、第２の例として、第１の例とは逆にユーザが左側にコントローラ４２を傾ける場合の例について、説明する。ここで、ユーザの動作によるコントローラ４２のｙ軸を中心とした回転量を、角度φ2で表す。
【００４９】
図９は、第２の例におけるコントローラ４２の姿勢の変化と、各軸の加速度の変化との対応関係を示す説明図である。ここで最上段の図は、第２の例におけるコントローラ４２の姿勢の変化を示している。また、図に含まれる各グラフは、第１の例における図８と同様に、加速度センサ４３ａの出力する各軸の加速度の変化、又は出力情報制御部５２の出力するｘ軸の加速度の変化を示している。
【００５０】
この例においては、第１の例の場合とは逆に、φ2＜９０度の間はｘ軸の加速度は単調に減少するが、φ2の値が９０度以上になると、ｘ軸の加速度は増加に転じる。そこで出力情報制御部５２は、ｚ軸の加速度が０Ｇ以上を出力している場合には、これに応じてｘ軸の加速度として−１Ｇを出力する。ここで、ｘ軸の加速度−１Ｇは、コントローラ４２の姿勢に応じて加速度センサ４３ａが出力するｘ軸の加速度の極小値に相当する。
【００５１】
以上説明した制御により、出力情報制御部５２がユーザ提示情報出力部５１に対して出力するｘ軸の加速度は、図９において最下段のグラフに示されるように、ｚ軸の加速度が０Ｇ以上の場合に一定値−１Ｇとなる。これにより、第１の例の場合と同様に、ユーザ提示情報出力部５１によるユーザ提示情報の出力は、φ1＞９０度の場合であっても、φ1＝９０度の場合と同様の出力となる。
【００５２】
なお、以上説明した第１及び第２の例においては、いずれもｚ軸の加速度が０Ｇ以上の場合にｘ軸の加速度を所定の値に維持することとしたが、これ以外の条件に応じてｘ軸の加速度を維持することとしてもよい。例えばｚ軸の加速度が所定の範囲に含まれる場合に、ｘ軸の加速度を所定の値に維持することとしてもよい。こうすれば、例えばコントローラ４２の回転量が９０度を超えない場合であっても、回転量が所定量を超えた場合にはｘ軸の加速度を所定値に維持するような制御を行うことができる。
【００５３】
また、ｘ軸の加速度を所定値に維持する条件となるｚ軸の加速度の所定の範囲は、第１の例（右方向への傾き）の場合と第２の例（左方向への傾き）の場合とで、異なるものであってもよい。例えばユーザが通常コントローラ４２を把持している状態（基準状態）において、既にｘ軸が水平面に対して傾いている場合がある。このような場合に、基準状態におけるｘ軸の水平面に対する傾きに応じて、ｚ軸の加速度の所定範囲を決定する。そして、ｚ軸の加速度がこのように決定された所定範囲に含まれる場合に、ｘ軸の加速度を所定値に維持することとする。これにより、基準状態からある回転量以上コントローラ４２を回転させた場合に、それが左右どちらの向きの回転であっても、ｘ軸の加速度が所定値になるような制御を行うことができる。
【００５４】
また以上の説明においては、ｚ軸の加速度が所定の範囲に含まれる場合に、ｘ軸の加速度はコントローラ４２の姿勢に応じて出力される加速度の極大値又は極小値に維持されることとしたが、これ以外の値に維持されることとしてもよい。
【００５５】
さらに、出力情報制御部５２は、以上説明したｘ軸の加速度を所定値に維持する処理と同様にして、ｙ軸の加速度についても、ｚ軸の加速度に応じて所定値に維持する処理を実行することとしてもよい。これにより、ユーザが手前又は奥にコントローラ４２を傾けた場合であっても、左右に傾けた場合と同様にユーザの違和感を少なくできるような制御を実行できる。
【００５６】
次に、エンタテインメントシステム１０が実行する処理フローの一例について、図１０のフロー図に基づいて説明する。同図に示す処理は所定時間毎（例えば１／６０秒毎）に実行されるものであり、光ディスク３６やハードディスク３８から読み出されてメインメモリ２０に格納されたプログラムを、ＭＰＵ１１が実行することにより実現されるものである。
【００５７】
まず出力情報制御部５２が、加速度センサ４３ａの出力する各軸の加速度を取得する（Ｓ１）。そして、ｚ軸の加速度が、所定の範囲に含まれるか否かを判定する（Ｓ２）。
【００５８】
ｚ軸の加速度が所定の範囲に含まれると判定した場合、出力情報制御部５２は、ｘ軸及びｙ軸の加速度として、それぞれの値の正負に応じて決まる所定の値（ここでは＋１Ｇ又は−１Ｇ）を出力する（Ｓ３）。一方、ｚ軸の加速度が所定の範囲に含まれないと判定した場合、出力情報制御部５２はＳ１で取得したｘ軸及びｙ軸の加速度の値をそのまま出力する（Ｓ４）。
【００５９】
ユーザ提示情報出力部５１は、Ｓ３又はＳ４で出力されたｘ軸及びｙ軸の加速度に基づいて、出力すべきユーザ提示情報を生成する（Ｓ５）。ここでは、仮想３次元空間上に配置されたオブジェクトを、ｘ軸及びｙ軸の加速度に基づいて決まる新たな位置に移動させる。そして、当該オブジェクトを所与の視点位置から見た画像をユーザ提示情報として生成する。
【００６０】
さらにユーザ提示情報出力部５１は、Ｓ５で生成されたユーザ提示情報を所定の出力デバイスに対して出力する（Ｓ６）。ここでは、Ｓ５で生成した画像を画像処理部２４のフレームバッファに出力することにより、モニタ２６に表示させる。これにより、コントローラ４２の傾きに応じたユーザ提示情報が出力されて、ユーザに提示される。
【００６１】
以上説明した本実施形態によれば、ユーザがコントローラ４２を所定回転量以上に回転させる結果、加速度センサ４３ａの出力するｘ軸及びｙ軸の加速度が回転量の変化に追随しなくなってしまう場合であっても、ｚ軸の加速度を用いて、ｘ軸及びｙ軸の加速度が所定の値を示す場合と同様のユーザ提示情報を出力できる。これにより、エンタテインメントシステム１０は、ユーザのコントローラ４２を傾ける動作に応じてユーザ提示情報を出力する場合において、ユーザの違和感を少なくすることができる。
【００６２】
なお、本実施形態は種々の変形実施が可能である。
【００６３】
例えば出力情報制御部５２によって出力される所定の値は、加速度センサ４３ａによって過去に出力された加速度の値に基づいて変化することとしてもよい。例えば一定時間おきに加速度センサ４３ａによって出力される出力値をサンプリングする場合において、今回サンプリングされた加速度と、前回サンプリングされた加速度とを比較することにより、加速度の遷移量を算出することができる。この遷移量の正負（前回から加速度が増加しているか、又は減少しているか）や、遷移量の絶対値の大きさに応じて、所定の値を決定することとしてもよい。
【００６４】
具体例として、ｘ軸及びｙ軸それぞれの加速度の前回サンプリングデータからの遷移量が所定値以上の場合は、ユーザが単にコントローラ４２を傾けているのではなく、コントローラ４２を叩いたり、振ったり、あるいは非常に速く回転させていることが考えられる。このような場合、所定の値として、通常のコントローラ４２の姿勢変化によって出力される−１Ｇから＋１Ｇまでの範囲の加速度ではなく、それを超える範囲の加速度が出力されるように、出力情報制御部５２が出力する加速度の値の上限値又は下限値を変化させる。一方で、遷移量が所定値未満の場合には、出力情報制御部５２は上述した方法により−１Ｇから＋１Ｇまでの値をユーザ提示情報出力部５１に対して出力する。
【００６５】
このような制御を行うことにより、出力情報制御部５２は、加速度センサ４３ａが出力する加速度の時間変化に応じて、ユーザ提示情報出力部５１が用いる加速度の値のとり得る範囲を変化させることができる。
【００６６】
また、出力情報制御部５２は、例えば予めメインメモリ２０に格納された変換テーブル等を用いることにより、上述した例においてｚ軸の加速度が所定の範囲に含まれない場合のｘ軸及びｙ軸の加速度についても、異なる値に変換して出力することとしてもよい。これにより、ユーザ提示情報出力部５１は、ｘ軸及びｙ軸の加速度について、ｚ軸の加速度に関わらず、加速度センサ４３ａの出力する加速度を所定の条件に基づいて変換して得られる値を用いて、ユーザ提示情報を出力する処理を実行できる。
【００６７】
具体例として、出力情報制御部５２は、加速度センサ４３ａの出力する加速度が所定の範囲に含まれる場合には、当該加速度の値を線形に変換して（又は変換せずに）ユーザ提示情報出力部５１に対して出力する。一方で、所定の範囲に含まれない加速度については、予め定められた非線形の変換を行って得られる加速度の値を、ユーザ提示情報出力部５１に対して出力する。これにより、例えばユーザ提示情報出力部５１は、加速度センサ４３ａの出力するｘ軸及びｙ軸の加速度が−１Ｇから＋１Ｇまでの範囲に含まれる場合（コントローラ４３の姿勢に応じた加速度が出力されていると想定される場合）には、回転量に比例した速度でオブジェクトを移動させ、−１Ｇ未満又は＋１Ｇを超える場合には、加速度の変化に応じた速度の変化を抑制して、オブジェクトを移動させる制御が可能となる。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施の形態に係るエンタテインメントシステム（情報処理装置）のハードウェア構成図である。
【図２】ＭＰＵの詳細構成図である。
【図３】コントローラの一例を示す図である。
【図４】加速度センサの出力値の一例を示すグラフ図である。
【図５】コントローラの姿勢に応じて検知される加速度の一例を説明する説明図である。
【図６】コントローラの姿勢に応じて検知される加速度の別の例を説明する説明図である。
【図７】本発明の実施の形態に係るエンタテインメントシステムの機能の一例を示す機能ブロック図である。
【図８】コントローラの姿勢に応じて出力情報制御部が出力する加速度の値の一例を示す説明図である。
【図９】コントローラの姿勢に応じて出力情報制御部が出力する加速度の値の別の例を示す説明図である。
【図１０】本発明の実施の形態に係るエンタテインメントシステムの動作の一例を示すフロー図である。
【符号の説明】
【００６９】
１０  エンタテインメントシステム、１１  ＭＰＵ、１２  メインプロセッサ、１４ａ〜１４ｈ  サブプロセッサ、１６  バス、１８  メモリコントローラ、２０  メインメモリ、２２，４０，４４  インタフェース、２４  画像処理部、２６  モニタ、２８  入出力処理部、３０  音声処理部、３２  スピーカ、３４  光ディスク読み取り部、３６  光ディスク、３８  ハードディスク、４２  コントローラ、４３  センサ、４３ａ  加速度センサ、４３ｂ  ジャイロセンサ、４６  カメラユニット、４８  ネットワークインタフェース、５１  ユーザ提示情報出力部、５２  出力情報制御部。
【図１】
0004668839.tif 000002
【図２】
0004668839.tif 000003
【図３】
0004668839.tif 000004
【図４】
0004668839.tif 000005
【図５】
0004668839.tif 000006
【図６】
0004668839.tif 000007
【図７】
0004668839.tif 000008
【図８】
0004668839.tif 000009
【図９】
0004668839.tif 000010
【図１０】
0004668839.tif 000011