(57)【特許請求の範囲】
【請求項１】
操作装置を含む情報処理システムであって、
前記操作装置は、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記操作装置の姿勢を算出する姿勢算出部と、
前記中心に対する前記把持部の向きを前記操作装置の姿勢に基づいて判別する判別部と、
前記判別部による判別の後、前記操作装置に対する入力に基づく情報処理であって、前記判別部による判別結果に応じて処理内容が異なる情報処理を実行する処理実行部と、
前記情報処理の実行前に、前記情報処理が実行される際における前記操作装置の把持状態を表す画像および／または音声を出力する出力部とを備える、情報処理システム。
【請求項２】
操作装置を含む情報処理システムであって、
前記操作装置は、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記操作装置の姿勢を算出する姿勢算出部と、
前記把持部の向きが異なる複数の状態を表す画像および／または音声を出力する出力部と、
前記中心に対する前記把持部の向きを前記操作装置の姿勢に基づいて判別する判別部と、
前記判別部による判別の後、前記操作装置に対する入力に基づく情報処理であって、前記判別部による判別結果に応じて処理内容が異なる情報処理を実行する処理実行部とを備え、
前記判別部は、前記複数の状態のうちから前記把持部の向きを選択する、情報処理システム。
【請求項３】
前記出力部は、前記所定面に対して略垂直な方向から見た前記操作装置を表す画像および／または音声を出力する、請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記画像および／または音声が出力される場合に前記操作装置が当該画像および／または音声が表す所定の姿勢となったか否かを判定する判定部をさらに備え、
前記判別部は、前記操作装置が前記所定の姿勢となった場合における前記把持部の向きを判別する、請求項１から請求項３のいずれか１項に記載の情報処理システム。
【請求項５】
前記操作装置は、前記ハウジングに設けられる所定の入力面に対して入力された位置を検出する位置検出部をさらに備え、
前記処理実行部は、前記位置検出部によって検出された位置を少なくとも入力として前記情報処理を実行する、請求項１から請求項４のいずれか１項に記載の情報処理システム。
【請求項６】
前記処理実行部は、前記操作装置の姿勢を少なくとも入力として前記情報処理を実行する、請求項１から請求項５のいずれか１項に記載の情報処理システム。
【請求項７】
前記把持部は、前記所定面の左右方向に関して偏って形成され、
前記判別部は、前記把持部が中心に対して左向きか右向きかを判別し、
前記処理実行部は、前記操作装置の姿勢変化に応じて仮想空間における方向を変化させる処理を前記情報処理として実行し、前記左右方向を軸とする姿勢変化、および／または、前記所定面に平行であって前記左右方向と垂直な上下方向を軸とする姿勢変化に関して、前記仮想空間における方向の変化の向きを前記判別結果に応じて反転させる、請求項６に記載の情報処理システム。
【請求項８】
前記操作装置は、加速度センサをさらに備え、
前記姿勢算出部は、重力方向を基準とした前記操作装置の姿勢を前記加速度センサの検出結果に基づいて算出する、請求項１から請求項７のいずれか１項に記載の情報処理システム。
【請求項９】
操作装置の向きを判別する判別方法であって、
前記操作装置は、ハウジングと、前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記操作装置の姿勢を算出する姿勢算出ステップと、
前記中心に対する前記把持部の向きを前記操作装置の姿勢に基づいて判別する判別ステップと、
前記判別ステップによる判別の後、前記操作装置に対する入力に基づく情報処理であって、前記判別ステップによる判別結果に応じて処理内容が異なる情報処理を実行する処理実行ステップと、
前記情報処理の実行前に、前記情報処理が実行される際における前記操作装置の把持状態を表す画像および／または音声を出力する出力ステップとを備える、判別方法。
【請求項１０】
操作装置の向きを判別する判別方法であって、
前記操作装置は、ハウジングと、前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記操作装置の姿勢を算出する姿勢算出ステップと、
前記把持部の向きが異なる複数の操作装置の状態を表す画像および／または音声を出力する出力ステップと、
前記中心に対する前記把持部の向きを前記操作装置の姿勢に基づいて判別する判別ステップと、
前記判別ステップによる判別の後、前記操作装置に対する入力に基づく情報処理であって、前記判別ステップによる判別結果に応じて処理内容が異なる情報処理を実行する処理実行ステップとを備え、
前記判別ステップにおいては、前記複数の操作装置の状態のうちから前記把持部の向きが選択される、判別方法。
【請求項１１】
前記出力ステップにおいては、前記所定面に対して略垂直な方向から見た前記操作装置を表す画像および／または音声が出力される、請求項９または請求項１０に記載の判別方法。
【請求項１２】
前記画像および／または音声が出力される場合に前記操作装置が当該画像および／または音声が表す所定の姿勢となったか否かを判定する判定ステップをさらに備え、
前記判別ステップにおいては、前記操作装置が前記所定の姿勢となった場合における前記把持部の向きが判別される、請求項９から請求項１１のいずれか１項に記載の判別方法。
【請求項１３】
前記操作装置は、前記ハウジングに設けられる所定の入力面に対して入力された位置を検出する位置検出部をさらに備え、
前記処理実行ステップにおいては、前記位置検出部によって検出された位置を少なくとも入力として前記情報処理が実行される、請求項９から請求項１２のいずれか１項に記載の判別方法。
【請求項１４】
前記処理実行ステップにおいては、前記操作装置の姿勢を少なくとも入力として前記情報処理が実行される、請求項９から請求項１３のいずれか１項に記載の判別方法。
【請求項１５】
前記把持部は、前記所定面の左右方向に関して偏って形成され、
前記判別ステップにおいては、前記把持部が中心に対して左向きか右向きかが判別され、
前記処理実行ステップにおいては、前記操作装置の姿勢変化に応じて仮想空間における方向を変化させる処理が前記情報処理として実行され、前記左右方向を軸とする姿勢変化、および／または、前記所定面に平行であって前記左右方向と垂直な上下方向を軸とする姿勢変化に関して、前記仮想空間における方向の変化の向きが前記判別結果に応じて反転される、請求項１４に記載の判別方法。
【請求項１６】
前記操作装置は、加速度センサをさらに備え、
前記姿勢算出ステップにおいては、重力方向を基準とした前記操作装置の姿勢が前記加速度センサの検出結果に基づいて算出される、請求項９から請求項１５のいずれか１項に記載の判別方法。
【請求項１７】
情報処理装置であって、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部と、
自機の姿勢を算出する姿勢算出部と、
前記中心に対する前記把持部の向きを前記姿勢に基づいて判別する判別部と、
前記判別部による判別の後、前記情報処理装置に対する入力に基づく情報処理であって、前記判別部による判別結果に応じて処理内容が異なる情報処理を実行する処理実行部と、
前記情報処理の実行前に、前記情報処理が実行される際における前記情報処理装置の把持状態を表す画像および／または音声を出力する出力部とを備える、情報処理装置。
【請求項１８】
情報処理装置であって、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部と、
自機の姿勢を算出する姿勢算出部と、
前記把持部の向きが異なる複数の状態を表す画像および／または音声を出力する出力部と、
前記中心に対する前記把持部の向きを前記姿勢に基づいて判別する判別部と、
前記判別部による判別の後、前記情報処理装置に対する入力に基づく情報処理であって、前記判別部による判別結果に応じて処理内容が異なる情報処理を実行する処理実行部とを備え、
前記判別部は、前記複数の状態のうちから前記把持部の向きを選択する、情報処理装置。
【請求項１９】
操作装置と通信可能な情報処理装置であって、
前記操作装置は、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記操作装置の姿勢を算出する姿勢算出部と、
前記中心に対する前記把持部の向きを前記操作装置の姿勢に基づいて判別する判別部と、
前記判別部による判別の後、前記操作装置に対する入力に基づく情報処理であって、前記判別部による判別結果に応じて処理内容が異なる情報処理を実行する処理実行部と、
前記情報処理の実行前に、前記情報処理が実行される際における前記操作装置の把持状態を表す画像および／または音声を出力部に出力させる出力制御部とを備える、情報処理装置。
【請求項２０】
操作装置と通信可能な情報処理装置であって、
前記操作装置は、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記操作装置の姿勢を算出する姿勢算出部と、
前記把持部の向きが異なる複数の状態を表す画像および／または音声を出力部に出力させる出力制御部と、
前記中心に対する前記把持部の向きを前記操作装置の姿勢に基づいて判別する判別部と、
前記判別部による判別の後、前記操作装置に対する入力に基づく情報処理であって、前記判別部による判別結果に応じて処理内容が異なる情報処理を実行する処理実行部とを備え、
前記判別部は、前記複数の状態のうちから前記把持部の向きを選択する、情報処理装置。
【請求項２１】
情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記情報処理装置は、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記情報処理装置の姿勢を算出する姿勢算出手段と、
前記中心に対する前記把持部の向きを前記姿勢に基づいて判別する判別手段と、
前記判別手段による判別の後、前記情報処理装置に対する入力に基づく情報処理であって、前記判別手段による判別結果に応じて処理内容が異なる情報処理を実行する処理実行手段と、
前記情報処理の実行前に、前記情報処理が実行される際における前記情報処理装置の把持状態を表す画像および／または音声を出力部に出力させる出力制御手段として前記コンピュータを機能させる、情報処理プログラム。
【請求項２２】
情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記情報処理装置は、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記情報処理装置の姿勢を算出する姿勢算出手段と、
前記把持部の向きが異なる複数の状態を表す画像および／または音声を出力部に出力させる出力制御手段と、
前記中心に対する前記把持部の向きを前記姿勢に基づいて判別する判別手段と、
前記判別手段による判別の後、前記情報処理装置に対する入力に基づく情報処理であって、前記判別手段による判別結果に応じて処理内容が異なる情報処理を実行する処理実行手段として前記コンピュータを機能させ、
前記判別手段は、前記複数の状態のうちから前記把持部の向きを選択する、情報処理プログラム。
【請求項２３】
操作装置と通信可能な情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記操作装置は、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記操作装置の姿勢を算出する姿勢算出手段と、
前記中心に対する前記把持部の向きを前記操作装置の姿勢に基づいて判別する判別手段と、
前記判別手段による判別の後、前記操作装置に対する入力に基づく情報処理であって、前記判別手段による判別結果に応じて処理内容が異なる情報処理を実行する処理実行手段と、
前記情報処理の実行前に、前記情報処理が実行される際における前記操作装置の把持状態を表す画像および／または音声を出力部に出力させる出力制御手段として前記コンピュータを機能させる、情報処理プログラム。
【請求項２４】
操作装置と通信可能な情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記操作装置は、
ハウジングと、
前記ハウジングの所定面において中心から偏って形成される把持部とを備え、
前記操作装置の姿勢を算出する姿勢算出手段と、
前記把持部の向きが異なる複数の状態を表す画像および／または音声を出力部に出力させる出力制御手段と、
前記中心に対する前記把持部の向きを前記操作装置の姿勢に基づいて判別する判別手段と、
前記判別手段による判別の後、前記操作装置に対する入力に基づく情報処理であって、前記判別手段による判別結果に応じて処理内容が異なる情報処理を実行する処理実行手段として前記コンピュータを機能させ、
前記判別手段は、前記複数の状態のうちから前記把持部の向きを選択する、情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが把持可能な操作装置を用いて入力を行う情報処理システム、情報処理装置、情報処理プログラム、および判別方法に関する。
【背景技術】
【０００２】
従来、ユーザが操作装置を把持し、操作装置を用いて入力を行う情報処理システムがある。例えば特許文献１においては、操作装置が備えるタッチパネルに対してユーザが右手で入力を行う場合と左手で入力を行う場合とを想定し、左利きか右利きかを選択する入力をユーザ自身に行わせることで、いずれの場合であるかを判別する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３６１０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザ自身による入力のみによって把持状態を判別する場合には、誤入力によって把持状態が誤って判別されるおそれがある。
【０００５】
それ故、本発明の目的は、ユーザが把持する操作装置の把持状態をより精度良く判別することが可能な情報処理システム、情報処理装置、情報処理プログラム、および判別方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の（１）〜（１０）の構成を採用した。
【０００７】
（１）
本発明の一例は、操作装置を含む情報処理システムである。操作装置は、ハウジングと、ハウジングの所定面において中心から偏って形成される把持部とを備える。情報処理システムは、姿勢算出部と、判別部とを備える。姿勢算出部は、操作装置の姿勢を算出する。判別部は、中心に対する把持部の向きを操作装置の姿勢に基づいて判別する。
【０００８】
上記（１）の構成のように、把持部が偏って形成される場合には、ユーザの持ち手や持ち方の好みによって把持部の向きが異なる場合がある。ここで、上記（１）の構成によれば、操作装置の姿勢を算出することによって、操作装置の把持部の向きを判別することができる。これによって、情報処理システムは、操作装置がどのような操作状態で使用されるかを精度良く判別することができる。
【０００９】
（２）
情報処理システムは、判別部による判別の後、操作装置に対する入力に基づく情報処理であって、判別部による判別結果に応じて処理内容が異なる情報処理を実行する処理実行部をさらに備えていてもよい。
【００１０】
上記（２）の構成によれば、判別部による判別結果に応じて処理内容が異なる情報処理が実行される。したがって、情報処理システムは、操作装置の操作状態に応じた適切な内容で上記情報処理を実行することができる。これによって、ユーザは、把持部の向きが異なる複数種類の持ち方から１つを自由に選択することができるので、操作装置２の操作性を向上することができる。
【００１１】
（３）
情報処理システムは、情報処理の実行前に、情報処理が実行される際における操作装置の把持状態を表す画像および／または音声を出力する出力部をさらに備えていてもよい。
【００１２】
上記（３）の構成によれば、上記画像および／または音声によって、操作装置の把持状態（持ち方）がユーザに対して提示される。これによって、操作装置の持ち方をユーザにわかりやすく教示することができる。
【００１３】
（４）
情報処理システムは、把持部の向きが異なる複数の操作装置の状態を表す画像および／または音声を出力する出力部をさらに備えていてもよい。このとき、判別部は、複数の（操作装置の）状態のうちから把持部の向きを選択する。
【００１４】
上記（４）の構成によれば、上記画像および／または音声をユーザに提示することによって、情報処理システムは、操作装置の持ち方に複数の選択肢があることと、その具体的な持ち方とをユーザに提示することができる。これによって、ユーザは、複数の持ち方の候補のうちから自分の好みの持ち方を容易に選択することができる。
【００１５】
（５）
出力部は、所定面に対して略垂直な方向から見た操作装置を表す画像および／または音声を出力してもよい。
【００１６】
上記（５）の構成によれば、把持部が設けられる所定面に対して略垂直な方向から見た操作装置の画像および／または音声がユーザに提示されるので、ユーザに対して操作装置の持ち方をわかりやすく提示できる。
また、上記（５）の構成と下記（１０）の構成とを組み合わせる場合には、上記画像および／または音声がユーザに提示されることによって、加速度センサの検出結果から姿勢を算出することが可能な状態へと操作装置２の姿勢を変更するようにユーザを誘導することができる。つまり、加速度センサを用いて操作装置の姿勢を算出する場合であっても判別を容易に行うことができる。
【００１７】
（６）
情報処理システムは、画像および／または音声が出力される場合に操作装置が当該画像および／または音声が表す所定の姿勢となったか否かを判定する判定部をさらに備えていてもよい。このとき、判別部は、操作装置が所定の姿勢となった場合における把持部の向きを判別する。
【００１８】
上記（６）の構成によれば、情報処理システムは、上記画像および／または音声によって提示された持ち方で実際に操作装置が持たれている場合に把持部の向きを判別する。したがって、適切なタイミングで判別を行うことにより、より正確に把持部の向きを判別することができる。
【００１９】
（７）
操作装置は、ハウジングに設けられる所定の入力面に対して入力された位置を検出する位置検出部をさらに備えていてもよい。このとき、処理実行部は、位置検出部によって検出された位置を少なくとも入力として情報処理を実行する。
【００２０】
上記（７）の構成によれば、ユーザは、タッチパネルに対するタッチ入力を用いて操作装置に対する操作を行うことができ、直感的でわかりやすい操作が可能となる。なお、タッチ入力による操作を行う場合には、ユーザは操作装置を片手で持つので、上記（２）の構成によって操作装置が持ちやすくなることが有効である。
【００２１】
（８）
処理実行部は、操作装置の姿勢を少なくとも入力として情報処理を実行してもよい。
【００２２】
上記（８）の構成によれば、ユーザは、操作装置の向き（姿勢）を変化させる操作を行うことができ、直感的でわかりやすい操作が可能となる。
【００２３】
（９）
把持部は、所定面の左右方向に関して偏って形成されてもよい。このとき、判別部は、把持部が中心に対して左向きか右向きかを判別する。処理実行部は、操作装置の姿勢変化に応じて仮想空間における方向を変化させる処理を情報処理として実行する。また、処理実行部は、上記情報処理において、左右方向を軸とする姿勢変化、および／または、所定面に平行であって左右方向と垂直な上下方向を軸とする姿勢変化に関して、仮想空間における方向の変化の向きを判別結果に応じて反転させる。
【００２４】
上記（９）の構成のように、把持部が中心に対して左向きか右向きかを判別する場合、つまり、操作装置の上下を逆にした２通りの持ち方が可能である場合、操作装置の姿勢の変化に応じて仮想空間内の方向を変化させる向きは、持ち方によって異なる場合がある。上記（９）の構成によれば、持ち方に応じて上記向きを適切に設定することができるので、情報処理システムは、操作装置の姿勢を変化させる操作に応じた処理を正しく実行することができる。
【００２５】
（１０）
操作装置は、加速度センサをさらに備えていてもよい。このとき、姿勢算出部は、重力方向を基準とした操作装置の姿勢を加速度センサの検出結果に基づいて算出する。
【００２６】
上記（１０）の構成によれば、加速度センサの検出結果を用いることによって、操作装置の姿勢を容易に算出することができる。
【００２７】
なお、本発明の別の一例は、上記（１）〜（１０）の各部（把持部を除く）と同等の手段を備える情報処理装置であってもよいし、上記各部と同等の手段として情報処理装置のコンピュータを機能させる情報処理プログラムであってもよい。また、本発明の別の一例は、上記（１）〜（１０）において実行される向き判別方法（把持部の向きを判別する方法）であってもよい。
【発明の効果】
【００２８】
本発明によれば、操作装置のハウジングの所定面において中心から偏って形成される把持部の向きを、操作装置の姿勢に基づいて判別するので、操作装置がどのような操作状態で使用されるかを精度良く判別することができる。
【図面の簡単な説明】
【００２９】
【図１】本実施形態に係る情報処理システムの一例を示すブロック図
【図２】操作装置２の外観構成の一例を示す図
【図３】操作装置２の電気的な構成を示すブロック図
【図４】操作装置２を把持した様子の一例を示す図
【図５】操作装置２を把持した様子の他の一例を示す図
【図６】操作装置２を把持した様子の他の一例を示す図
【図７】本実施形態における向き判別方法の一例を示す図
【図８】本実施形態における向き判別方法の流れの一例を示す図
【図９】候補画像の一例を示す図
【図１０】確認画像が表示される場合における各表示装置の様子の一例を示す図
【図１１】ゲーム制御処理によって実行されるゲームの一例を示す図
【図１２】ピッチ方向に関して操作装置２の姿勢が変化する様子の一例を示す図
【図１３】キャリブレーション処理において表示される画像の一例を示す図
【図１４】本実施形態におけるキャリブレーション処理の一例を示す図
【図１５】暫定基準姿勢および所定範囲の一例を示す図
【図１６】他の実施形態におけるキャリブレーション処理において表示される画像の一例を示す図
【図１７】他の実施形態における各入力に対応する姿勢および所定範囲の一例を示す図
【図１８】本実施形態においてゲーム装置３のメモリ６に記憶されるデータの一例を示す図
【図１９】本実施形態においてゲーム装置のＣＰＵ５が実行する処理の流れの一例を示すフローチャート
【図２０】図１９に示す向き判別処理（ステップＳ１）の詳細な流れの一例を示すフローチャート
【図２１】図１９に示すキャリブレーション処理（ステップＳ２）の詳細な流れの一例を示すフローチャート
【図２２】図１９に示すゲーム制御処理（ステップＳ３）の詳細な流れの一例を示すフローチャート
【発明を実施するための形態】
【００３０】
［１．情報処理システムの構成］
以下、本実施形態の一例に係る情報処理システム、情報処理装置、情報処理プログラム、および判別方法について説明する。図１は、本実施形態に係る情報処理システムの一例を示すブロック図である。図１において、情報処理システム１は、操作装置２、ゲーム装置３、およびテレビ４を備える。本実施形態における情報処理システム１は、操作装置２に対するゲーム操作に応じてゲーム処理を実行するゲームシステムである。
【００３１】
本情報処理システム１においては、操作装置２に対する入力に応じてゲーム装置３が所定の情報処理（後述するゲーム制御処理）を実行し、実行の結果得られた画像（ゲーム画像）が操作装置２および／またはテレビ４に表示される。このように、本実施形態においては、情報処理システム１は、入力機能、情報処理機能、および表示機能が複数の装置によって実現される構成である。なお、他の実施形態においては、情報処理システム１は、これらの機能を有する単一の情報処理装置（例えば携帯型あるいは可搬型の情報処理装置）で構成されてもよい。
【００３２】
操作装置２は、ユーザが把持可能な入力装置である。操作装置２はゲーム装置３と通信可能である。操作装置２は、操作装置２に対する操作を表す操作データをゲーム装置３へ送信する。また、本実施形態においては、操作装置２は表示部（ＬＣＤ１１）を備えている。ゲーム装置３から画像（ゲーム画像）が送信されてくる場合、操作装置２は表示部に当該画像を表示する。なお、操作装置２の具体的な構成については後述する（図２および図３参照）。
【００３３】
ゲーム装置３は、情報処理装置の一例である。本実施形態においては、ゲーム装置３はＣＰＵ（制御部）５およびメモリ６を有し、ＣＰＵ５がメモリ６を用いて所定の情報処理プログラムを実行することによって、ゲーム装置３における各種機能（図１９に示すゲーム処理）が実現される。なお、ゲーム装置３は、上記の情報処理を実行することができればどのような構成であってもよい。ゲーム装置３は、操作装置２からの操作データを入力として情報処理を実行する。そして、ゲーム装置３は、情報処理の実行結果に応じて画像（ゲーム画像）を生成する。生成された画像は、表示装置である操作装置２および／またはテレビ４へ出力される。
【００３４】
テレビ４は、生成された画像を表示する表示装置の一例である。テレビ４はゲーム装置３から送信されるデータを受信可能である。ゲーム装置３において生成された画像がテレビ４へ送信されてくると、テレビ４は当該画像を表示する。
【００３５】
図２は、操作装置２の外観構成の一例を示す図である。図２に示すように、操作装置２は略板状のハウジング１０を備える。ハウジング１０は、ユーザが両手または片手で把持可能な大きさ（形状）である。また、操作装置２は、表示部の一例であるＬＣＤ１１を備える。ＬＣＤ１１は、ゲーム装置３における情報処理の結果得られる画像が表示される。また、操作装置２はタッチパネル１２を備える。タッチパネル１２は、ハウジング１０に設けられる所定の入力面（表示部の画面）に対して入力された位置を検出する位置検出部の一例である。さらに、操作装置２は、操作部（図３に示す操作部２２）として、スライドパッド１４、十字キー１５、およびボタン１６等を備える。
【００３６】
また、図２（ｃ）等に示すように、操作装置２は把持部１３を備える。把持部１３は、ハウジング１０の裏面において、上下方向に関する中心よりもやや上側の位置に突起して設けられる。このように、把持部１３は、ハウジング１０の所定面において中心から偏って形成される。なお、他の実施形態においては、把持部１３は、操作装置２の中心から偏った位置に配置されてもよいし、例えば中心から斜めに突起して形成されるように、中心から偏って形成されれば中心に配置されてもよい。また、本実施形態において、把持部１３は、ハウジング１０から突起した形状である。ただし、他の実施形態においては、ユーザが操作装置２を安定して把持できるように、把持部１３に指を当接させる（例えば指を乗せたり掛けたりする）ことが可能な形状であれば、把持部１３はどのような形状であってもよい。本実施形態においては、把持部１３は、ハウジング１０の長辺方向である左右方向に延びるように設けられる。そのため、操作装置２を縦持ちで持つ場合にはユーザは把持部１３に指を掛けることで操作装置２を容易に持つことができる（図４等参照）。
【００３７】
図３は、操作装置２の電気的な構成を示すブロック図である。図３に示すように、操作装置２は、上述のＬＣＤ１１、タッチパネル１２、および操作部２２を備える他、以下の構成を備えている。
【００３８】
図３に示すように、操作装置２は加速度センサ２３を備える。加速度センサ２３は、操作装置２の所定軸方向（本実施形態では３軸方向とするが、１軸以上でよい）に関する加速度を検出する。また、操作装置２は、ジャイロセンサ２４を備える。ジャイロセンサ２４は、操作装置２の所定軸方向（本実施形態では３軸方向とするが、１軸以上でよい）を軸とした回転に関する角速度を検出する。加速度センサ２３およびジャイロセンサ２４は、操作装置２の姿勢を算出するための情報（姿勢を算出あるいは推定可能な情報）を検出するセンサである。なお、他の実施形態においては、姿勢を算出するための情報を検出するセンサとして、磁気センサ（方位センサ）等、他のセンサが用いられてもよい。
【００３９】
上記のように本実施形態においては、操作装置２の姿勢を算出するためのセンサを操作装置２が備えるものとしたが、他の実施形態においては、情報処理システム１は、操作装置２以外の他の装置が当該センサを備える構成であってもよい。例えば、操作装置２を撮影可能なカメラを情報処理システム１が備えており、カメラによって撮影された画像に基づいて操作装置２の姿勢が算出されてもよい。
【００４０】
また、操作装置２は、ゲーム装置３との無線通信が可能な無線通信部２５を備える。このように、本実施形態においては、操作装置２とゲーム装置３との間では無線通信が行われるが、他の実施形態においては有線で通信が行われてもよい。
【００４１】
操作装置２は、操作装置２における動作を制御する制御部２１を備える。具体的には、制御部２１は、各入力部（タッチパネル１２、操作部２２、加速度センサ２３、およびジャイロセンサ２４）からの出力データを受け取り、操作データとして無線通信部２５を介してゲーム装置３へ送信する。また、制御部２１は、ゲーム装置３からの画像データが無線通信部２５において受信されると、必要に応じて適宜の処理（例えば、画像データが圧縮されている場合には伸張処理）を行い、ゲーム装置３からの画像をＬＣＤ１１に表示させる。
【００４２】
［２．把持部の向きを判別する処理］
以下、図４〜図１１を参照して、操作装置２の把持部１３の向き（操作装置２の把持状態）を判別する処理（向き判別処理）について説明する。なお、本実施形態においては、例えば図４〜図６に示すように、操作装置２を縦持ち（長辺方向（長手方向）が縦向きとなる持ち方）で使用する場合を想定する。ただし、本実施形態における把持部１３の向きの判別方法は、操作装置２を横持ちで使用する場合にも適用可能である。
【００４３】
本実施形態における操作装置２を縦持ちで使用する場合、ユーザは、例えば図４に示すように把持部１３に指を掛けることで安定的に操作装置２を持つことができる。ここで、把持部１３が持ち手に近い側に位置するようにユーザが操作装置２を持つとすれば、把持部１３は中心より偏って設けられることから、ユーザが左右のいずれの手で操作装置２を持つかによって、中心に対する把持部１３の向きは反対となる。具体的には、図４に示すようにユーザが左手で操作装置２を持つ場合、把持部１３は（ハウジング１０の表側から見て）中心より左側となる。一方、図５に示すようにユーザが右手で操作装置２を持つ場合、把持部１３は（ハウジング１０の表側から見て）中心より右側となる。
【００４４】
また、仮に操作装置２を持つ手を特定（推定）できる場合でも、ユーザの手の大きさあるいは持ち方の好み等によって把持部１３の向きは異なる。例えば手が大きいユーザは、図６に示すように、把持部１３が持ち手から遠い側に位置するように持つことも考えられるからである。このように、操作装置２の把持部１３が中心から偏った位置に設けられる場合には、ユーザにとって持ちやすい把持部１３の向きはユーザ毎に異なると考えられる。
【００４５】
以上のように、本実施形態においては、操作装置２の把持部１３が中心から偏った位置に設けられることから、操作時における把持部１３の向きを一通りに決めることが適切ではない。ここで、把持部１３の向きが異なると、ユーザが操作装置２に対して同じ操作を行っているつもりでも、情報処理システム１における処理上は操作が異なるものとして認識される場合があり、この場合、ユーザが正しく操作を行うことができないおそれがある。例えば、把持部１３が左向きとなる場合（図４）において、操作装置２の前方（図４に示す上方）へタッチ位置をスライドさせる操作は、タッチ位置の軌跡がｘ軸正方向を向く入力となる。一方、把持部１３が右向きとなる場合（図５）において、上記の操作は、タッチ位置の軌跡がｘ軸負方向を向く入力となり、把持部１３が左向きとなる場合とは反対向きの入力となる。このとき、把持部１３の向きが判別されなければ、ユーザは正しく操作を行うことができないおそれがある。
【００４６】
そこで、本実施形態においては、情報処理システム１は、把持部１３の向き、すなわち、ユーザが把持部１３をどの向きにして操作装置２を把持するかを判別する。さらに、本実施形態においては、ユーザによる操作に基づく情報処理（ゲーム制御処理）を、向き判別の結果に応じて異なるように実行する。これによって、情報処理システム１は、操作装置２の把持状態にかかわらず（把持部１３が右側であるか左側であるかにかかわらず）適切な情報処理を実行することができる。以下、向き判別処理について説明する。
【００４７】
（２−１）向き判別処理の概要
本実施形態においては、向き判別処理は、操作装置２の姿勢を用いて行われる。すなわち、情報処理システム１はまず、操作装置２の姿勢を算出する。そして、（把持部１３が設けられる面の中心に対する）把持部１３の向きを操作装置２の姿勢に基づいて判別する。
【００４８】
図７は、本実施形態における向き判別方法の一例を示す図である。なお、図７に示すｘｙｚ座標系は、操作装置２を基準に設定される座標系である（図２（ａ）参照）。図７に示すように、操作装置２を立てた状態において、ｘ軸負方向が下向きとなる姿勢が算出される場合、把持部１３は左側を向く（中心より左側に位置する）と判別することができる。また、操作装置２を立てた状態において、ｘ軸正方向が下向きとなる姿勢が算出される場合、把持部１３は右側を向く（中心より右側に位置する）と判別することができる。
【００４９】
なお、本実施形態においては、想定される把持部１３の向き（操作装置２の持ち方）は２通りであり、情報処理システム１は、把持部１３の向きが２通りのいずれであるかを判別する。ここで、他の実施形態においては、３通り以上のうちから把持部１３の向きを判別することも可能である。例えば、縦持ちと横持ちとの両方が想定される場合には、上下左右の４通りのうち把持部１３がどちらの方向を向くかを判別することも可能である。
【００５０】
（２−２）向き判別処理の流れ
本実施形態においては、向き判別処理は、操作装置２を用いたゲームの開始前に行われる。また、本実施形態においては、操作装置２の姿勢に関するキャリブレーション処理が実行されるので、向き判別処理は、キャリブレーション処理の前に実行される。このように、向き判別処理は、操作装置２に対する入力に基づく所定の情報処理（後述するゲーム制御処理およびキャリブレーション処理）の前に少なくとも実行される。なお、他の実施形態においては、上記所定の情報処理中（ゲーム中）においても向き判別処理が実行されるようにしてもよい。
【００５１】
図８は、本実施形態における向き判別方法の流れの一例を示す図である。図８に示すように、向き判別方法は、（１）候補画像３１の表示、（２）ユーザが操作装置２を実際に持つ動作、（３）確認画像３２の表示、（４）ユーザによる確認操作、および、（５）向き判別、という流れで行われる。
【００５２】
（２−３）候補画像の表示
本実施形態においては、向き判別の前に、候補画像３１がユーザに提示される（図８に示す（１）参照）。図９は、候補画像の一例を示す図である。図９に示すように、本実施形態における候補画像３１は、把持部１３が左向きとなる場合を表す画像３３と、把持部１３が右向きとなる場合を表す画像３４とを含む。このように、候補画像３１は、把持部１３の向き（操作装置２の持ち方）の候補（選択肢）を表す画像である。つまり、本実施形態においては、把持部１３の向きが異なる複数の（操作装置２の）状態を表す画像が表示され、当該複数の状態が表す向きのうちから１つが選択されることによって把持部１３の向きが判別される。
【００５３】
また、本実施形態においては、候補画像３１は、「コントローラを縦に持って下さい。」という文章を表す画像３５を含む。候補画像３１は、画像３３および３４のような図面を表すものであっても、画像３５のような文章を表すものであってもよい。また、他の実施形態においては、候補画像３１とともに、または、候補画像３１に代えて、上記複数の状態を表す音声が出力されてもよい。また、他の実施形態においては、候補画像３１が表示されずに向き判別が行われてもよい。
【００５４】
上記候補画像３１が提示されることによって、ユーザは、候補画像３１によって表される選択肢のうち、好みの（持ちやすい）持ち方で操作装置２を実際に持つ（図８に示す（２）参照）。候補画像３１をユーザに提示することによって、情報処理システム１は、操作装置２の持ち方に複数の選択肢があることをユーザに通知するとともに、その具体的な選択肢をユーザに提示することができる。これによって、ユーザは、複数の持ち方の候補のうちから自分の好みの持ち方を容易に選択することができる。
【００５５】
また、本実施形態においては、図９に示す画像３３および３４から明らかなように、候補画像３１は、上記所定の情報処理が実行される際における操作装置２の把持状態（持ち方）を表す。したがって、候補画像３１をユーザに提示することで、ゲーム時における操作装置２の持ち方をユーザに教示することができる。
【００５６】
なお、詳細は後述するが、本実施形態においては、加速度センサ２３の検出結果を用いて重力方向を基準とする姿勢を算出し、当該姿勢を用いて把持部１３の向きを判別する。そのため、ハウジング１０の裏面が水平となる状態では、把持部１３の向きが変化しても（当該裏面に対する）重力方向が変わらないので、重力方向を基準とする姿勢によって把持部１３の向きを判別することができない。一方、ハウジング１０の裏面が鉛直となる状態では、重力方向を基準とする姿勢によって把持部１３の向きを判別することができる。そのため、本実施形態においては、情報処理システム１は、候補画像３１として、操作装置２を立てた状態を表す画像を表示する（図９参照）。つまり、情報処理システム１は、把持部１３が設けられる所定面（ハウジング１０の裏面）に対して略垂直な方向から見た操作装置２を表す画像を表示する。これによれば、候補画像３１を見たユーザは操作装置２を立てて持つので、情報処理システム１は加速度センサ２３の検出結果を用いて把持部１３の向きを容易に判別することができる。つまり、本実施形態における候補画像３１によれば、把持部１３の向きの判別を行うことができる姿勢へと操作装置２の姿勢を変更するようにユーザを誘導することができる。
【００５７】
なお、本実施形態において、候補画像３１は、操作装置２のＬＣＤ１１およびテレビ４の両方に表示される。これによって、候補画像３１をユーザにより確実に気づかせることができる。ただし、他の実施形態においては、候補画像３１は少なくとも１つの表示装置に表示されてもよい。
【００５８】
（２−４）確認処理
本実施形態においては、上記候補画像３１の表示に応じて、候補画像３１が表す持ち方でユーザが操作装置２を実際に持つと、確認処理が行われる。すなわち、操作装置２の持ち方を確認するための確認画像３２が表示され（図８に示す（３）参照）、これに応じてユーザが確認操作を行う（図８に示す（４）参照）。以下、確認処理の詳細を説明する。
【００５９】
情報処理システム１は、上記候補画像３１を表示した後、操作装置２の姿勢を算出し、把持部１３の向きが、候補画像３１によって表される２通りの向きのいずれかとなったか否かを判定する。そして、把持部１３の向きが上記２通りのいずれかとなった場合、情報処理システム１は確認画像３２を表示する。
【００６０】
図１０は、確認画像が表示される場合における各表示装置の様子の一例を示す図である。確認画像３２は、候補画像３１が表す操作装置２の姿勢のうち、実際の（現時点の）操作装置２の姿勢（または、それに近い姿勢）を表す画像である。つまり、情報処理システム１は、候補画像３１に含まれる画像３３および３４のうち、現時点で算出された操作装置２の姿勢を表す画像を表示する。例えば図１０においては、実際の操作装置２は把持部１３が左向きとなる姿勢となっているので、当該姿勢を表す画像３３がテレビ４に表示される。このように、本実施形態においては、候補画像３１として提示された把持部１３の向きのうち、実際の（現時点の）把持部１３の向きを表す画像が確認画像３２として表示される。したがって、ユーザは、把持部１３の向きを容易に確認することができる。
【００６１】
確認画像３２は、候補画像３１が表す把持部１３の向きのうちからユーザによって選択された向きを表す画像であれば、どのような画像であってもよい。また、確認画像３２は、操作装置２およびテレビ４のどちらに表示されてもよく、少なくとも１つの表示装置に表示されればよい。また、他の実施形態においては、確認画像３２とともに、または、確認画像３２に代えて、上記選択された向きを表す音声が出力されてもよい。また、他の実施形態においては、確認画像３２は表示されずに把持部１３の向きの判別が行われてもよい。なお、確認画像３２が表示されない場合でも、情報処理システム１は、ユーザによる確認操作を条件として把持部１３の向きを判別してもよい。
【００６２】
本実施形態においては、上記確認画像３２がテレビ４に表示される場合、図１０に示すように、操作装置２には、確認操作を行うための画像（確認ボタン）３６が表示される。すなわち、確認画像３２が表示される状態において、情報処理システム１は、操作装置２に対する確認操作を受け付ける。確認操作は任意の操作であってよいが、本実施形態においては、上記確認ボタン３６をタッチする操作である。なお、本実施形態においては、情報処理システム１は、「この向きでいいですか？」という文章を表す画像３７をテレビ４および操作装置２に表示し、ユーザに対して確認操作を促す。
【００６３】
上記確認画像３２が提示された場合、ユーザは、現在の持ち方でよい場合には確認操作を行う（図８に示す（４）参照）。一方、現在の持ち方が気に入らない場合、ユーザは、操作装置２を持ち替えることが可能である。このとき、確認画像３２は、把持部１３の向き（操作装置２の姿勢）に応じて画像３３および３４が切り替えて表示される。
【００６４】
このように、本実施形態における向き判別処理においては、情報処理システム１は、ユーザに意思確認（確認操作）を行わせた上で、把持部１３の向きを判別する（把持部１３の向きを確定させる）。本実施形態においては、ユーザによる確認操作を条件として把持部１３の向きを確定するので、把持部１３の向きをより正確に判別することができる。また、ユーザは、操作装置２を実際に持ってみた後で気に入らなければ把持部１３の向きを別の向きに変更することも可能であり、より確実に自分の持ちやすい持ち方で操作装置２を使用することができる。なお、他の実施形態においては、情報処理システム１は、確認操作無しで向き判別を行ってもよい。例えば、情報処理システム１は、把持部１３の向きが上記候補画像３１が表す２通りの向きのいずれかとなったか否かを判定し、把持部１３の向きが上記２通りのいずれかとなった場合、その向きを判別結果として用いてもよい。
【００６５】
（２−５）向き判別
ユーザが確認操作を行ったことに応じて、情報処理システム１は把持部１３の向きを判別する（図８に示す（５）参照）。すなわち、確認操作が行われた時点における把持部１３の向きを判別結果とする。これによって、把持部１３の向きが判別されたこととなる。なお、向き判別の具体的な方法はどのような方法であってもよく、例えば、確認操作が行われた時点において算出される姿勢から把持部１３の向きを算出してもよいし、当該時点においてテレビ４に表示されている確認画像３２に対応する把持部１３の向きを判別結果としてもよい。
【００６６】
以上のように、本実施形態においては、情報処理システム１は、候補画像３１が表示される場合において操作装置２が当該候補画像３１によって表される所定の姿勢となったか否かを判定する。そして、操作装置２が上記所定の姿勢となった場合における把持部１３の向きを判別する。つまり、本実施形態においては、操作装置２の持ち方の候補を表す候補画像３１を表示し（図８に示す（１））、ユーザに操作装置２を実際に持たせ（図８に示す（２））、実際にユーザが持った場合の把持部１３の向きを判別する（図８に示す（５））。これによれば、ユーザに操作装置２を実際に持たせるので、誤操作（誤入力）の可能性は小さく、把持部１３の向きを正確に判別することができる。
【００６７】
また、本実施形態においては、図８に示す（１）〜（５）の流れによって、（ａ）操作装置２の持ち方の選択肢の提示、（ｂ）持ち方の誘導（教示）、および、（ｃ）ユーザが選択した持ち方の推定および確認を、向き判別処理が実行される間に自然な流れで行うことができる。したがって、ユーザは、面倒な設定作業を行わされている感覚を抱くことなく、快適に操作を行うことができる。
【００６８】
また、後述する図１１等から明らかなように、把持部１３の向きが判別された時の操作装置２の把持状態は、ユーザがゲーム操作を行う場合（キャリブレーション処理あるいはゲーム制御処理が実行される場合）における把持状態と同じである。つまり、本実施形態においては、向き判別処理においてユーザに操作装置２を実際に持たせることによって、ユーザはその持ち方のままでゲーム操作を開始することができる。これによれば、向き判別処理をユーザに意識させることなく自然にゲームを開始させることができるので、ユーザは余計な作業を行っている感覚がなく、快適に操作を行うことができる。
【００６９】
（２−６）姿勢の算出方法
向き判別処理における操作装置２の姿勢の算出方法はどのような方法であってもよいが、本実施形態においては、情報処理システム１は、操作装置２が備える加速度センサ２３の検出結果に基づいて姿勢を算出する。具体的には、情報処理システム１は、重力方向を基準とした操作装置２の姿勢を加速度センサ２３の検出結果に基づいて算出する。把持部１３の向きは、算出された姿勢に基づいて判別することができる。本実施形態においては、図７に示すように、加速度センサ２３の検出結果から算出される重力方向がｘ軸負方向を向く場合、把持部１３は左側を向くと判別することができる。また、算出される重力方向がｘ軸正方向を向く場合、把持部１３は右側を向くと判別することができる。
【００７０】
（２−７）判別結果に基づく情報処理
判別処理の後、判別結果に基づいて、操作装置２に対する操作を入力とする上記所定の情報処理が実行される。情報処理システム１は、判別処理の結果（把持部１３が右向きか左向きか）に応じて処理内容が異なるように所定の情報処理を実行する。なお、本実施形態においては、この情報処理として、キャリブレーション処理およびゲーム制御処理が実行される。ゲーム制御処理は、操作装置に対するゲーム操作を入力としてゲームを進行させる処理である。キャリブレーション処理については後述する。
【００７１】
図１１は、ゲーム制御処理によって実行されるゲームの一例を示す図である。図１１においては、操作装置２を用いて所定のオブジェクト（手裏剣）３８を発射して敵オブジェクト３９に当てることを目的とする射撃ゲームが行われる。本実施形態においては、操作装置２を所望の発射方向へ向け、タッチパネル１２に対して前方向に線を描くタッチ入力操作（スライド操作とも言う。図１１に示す矢印参照。）を行うことによって、発射方向に向けて手裏剣３８が発射される。発射された手裏剣３８はテレビ４に表示されるので、図１１に示すゲームによれば、ユーザは、手元から手裏剣を飛ばしているような感覚でゲームを行うことができる。
【００７２】
本実施形態においては、情報処理システム１は、操作装置２の姿勢を少なくとも入力として所定の情報処理を実行する。具体的には、情報処理システム１は、操作装置２の姿勢に基づいて手裏剣３８の発射方向を決定する。より具体的には、発射方向は、操作装置２を縦持ちで持った場合における操作装置２の前方向に応じて決められる。ここで、操作装置２の前方向は、把持部１３の向きが右向きになるか左向きになるかによって異なる。そのため、本実施形態においては、情報処理システム１は、向き判別処理によって判別された向きに応じて操作装置２の前方向を設定し、設定した前方向に応じて発射方向を決定する。具体的には、把持部１３の向きが左向きとなる場合（図１１に示す場合）、情報処理システム１は操作装置２のｘ軸正方向を前方向として設定する（図７参照）。一方、把持部１３の向きが右向きとなる場合、情報処理システム１は操作装置２のｘ軸負方向を前方向として設定する（図７参照）。このように、本実施形態においては、情報処理システム１は、操作装置２の姿勢を入力とする処理を、把持部１３の向きに応じて処理内容が異なるように実行する。
【００７３】
ここで、操作装置２の姿勢の変化に応じて発射方向が変化する向きは、把持部１３の向きに応じて異なる場合がある。図１２は、ピッチ方向に関して操作装置２の姿勢が変化する様子の一例を示す図である。ここで、図１２に示すように、操作装置２のｘ軸正方向が下方に下がる向きに姿勢が変化する状態を考える。把持部１３が右向き（図１２に示す実線の矢印が前方向）であると判別される場合において、上記の状態が生じたとすれば、ユーザは、操作装置２の前方向を上向きに変化させたと考えられる。一方、把持部１３が左向き（図１３に示す点線の矢印が前方向）であると判別される場合において、上記の状態が生じたとすれば、ユーザは、操作装置２の前方向を下向きに変化させたと考えられる。このように、ピッチ方向の変化（左右方向（ｙ軸方向）に関する姿勢変化）の変化に関しては、操作装置２の姿勢の変化に応じて発射方向が変化したと考えられる向きは、把持部１３の向き判別結果に応じて異なる。なお、ピッチ方向と同様、ロール方向（上下方向（ｘ軸方向）を軸とする姿勢変化）に関しても、発射方向が変化する向きは向き判別結果に応じて異なる。これに対して、ヨー方向（ｚ軸方向を軸とする姿勢変化）に関しては、発射方向が変化する向きは判別結果がいずれであっても同じである。
【００７４】
そこで、本実施形態においては、情報処理システム１は、ピッチ方向および／またはロール方向に関して、操作装置２の姿勢変化に応じた仮想空間における方向（発射方向）の変化の向きを、判別結果に応じて反転させる。例えばピッチ方向に関して言えば、把持部１３が右向きであると判別される場合において、図１３に示すように操作装置２の姿勢が変化したことに応じて、情報処理システム１は、発射方向を上向きに変化させる。一方、把持部１３が左向きであると判別される場合において、図１３に示すように操作装置２の姿勢が変化したことに応じて、情報処理システム１は、発射方向を下向きに変化させる。一方、ヨー方向に関しては、操作装置２の姿勢変化に応じた仮想空間における方向の変化の向きを、判別結果がいずれであっても一定とする（反転させない）。以上によれば、操作装置２の姿勢の変化に応じて仮想空間内の方向を変化させるゲーム制御処理を実行する場合において、当該方向を適切に算出することができる。
【００７５】
また、情報処理システム１は、タッチパネル１２によって検出された位置（タッチ位置）を少なくとも入力として所定の情報処理を実行する。具体的には、タッチパネル１２に対する前方向を向くスライド操作に応じて手裏剣３８を発射させる。この前方向は、上述した発射方向を決定するための前方向と同じである。したがって、本実施形態においては、情報処理システム１は、タッチパネル１２に対するタッチ操作を入力とする処理を、把持部１３の向きに応じて処理内容が異なるように実行する。具体的には、情報処理システム１は、タッチパネル１２における上下方向（ｘ軸方向）を判別結果に応じて反転させて、タッチ位置を認識する処理を行う。
【００７６】
また、情報処理システム１は、操作装置２のＬＣＤ１１に表示される画像の向きを、向き判別の結果に応じて変化させる。すなわち、判別結果に基づいて決定される上記前方向が上方向となるように、ＬＣＤ１１に表示される画像の向きが調整される。
【００７７】
以上のように、本実施形態では、向き判別の判別結果に応じて異なる情報処理が実行される。具体的には、情報処理システム１は、操作装置２に対して所定の操作が行われた場合に、把持部１３の向きがどの向きであっても同じ処理結果となるように、判別結果に応じて異なる内容の処理を実行する。例えば本実施形態においては、把持部１３が右向きとなる場合であっても左向きとなる場合であっても、ユーザは、操作装置２の前方向を所望の方向に向ける操作によって発射方向を設定することができ、タッチパネル１２上において前方向に線を描く操作によって射撃動作を行うことができる。このように、ユーザは、把持部１３がどの向きとなるように操作装置２を持っても、同じ操作でゲーム操作を行うことができる。以上のように、向き判別の判別結果に応じて異なる情報処理を実行することによって、情報処理システム１は、把持部１３の向きに応じた適切な内容で情報処理を実行することができる。また、どの持ち方を選択してもゲーム操作は同等であるので、ユーザは、持ちやすい持ち方を自由に選択することができる。
【００７８】
なお、本実施形態においては、向き判別の判別結果に応じて異なる情報処理において、情報処理システム１は、タッチパネル１２に対する入力の方向を判別結果に応じて反転させたり、操作装置２の姿勢に基づいて算出される方向（発射方向）を判別結果に応じて反転させたりした。ここで、他の実施形態においては、上記情報処理はどのような内容であってもよい。例えば、情報処理システム１は、所定の指示を行うための操作部（ボタン）の割り当てを、向き判別の判別結果に応じて異なるようにしてもよい。
【００７９】
［３．キャリブレーション処理］
以下、図１１〜図１７を参照して、情報処理システム１において実行されるキャリブレーション処理について説明する。本実施形態においては、操作装置２に対するゲーム操作を入力としてゲームを進行させるゲーム制御処理が実行され、このゲーム制御処理は操作装置２の姿勢に基づいて実行される。キャリブレーション処理は、ゲーム制御処理において用いる姿勢の基準となる姿勢（「基準姿勢」と呼ぶ。）を決定する処理である。
【００８０】
（３−１）キャリブレーション処理およびゲーム制御処理におけるゲーム操作
本実施形態におけるゲーム制御処理においては、図１１に示すように、ユーザが操作装置２の所定方向（ここでは、操作装置２の前方向）を所望の方向へ向けることで発射方向が指定され、タッチパネル１２に対して前方向に線を描くタッチ入力操作に応じて、発射方向に向けて手裏剣３８が発射される。
【００８１】
一方、図１３は、キャリブレーション処理において表示される画像の一例を示す図である。図１３に示すように、キャリブレーション処理においてはテレビ４に標的４１が表示される。また、テレビ４には「標的を狙って３回手裏剣を投げて下さい。」というメッセージが表示される。これに応じて、ユーザは、操作装置２を標的４１の方へ向け、所定のゲーム操作を行う。
【００８２】
ここで、上記所定のゲーム操作は、ゲーム中におけるゲーム操作と同様のゲーム操作、すなわち、操作装置２を所望の発射方向へ向けた状態でのスライド操作である。つまり、本実施形態におけるキャリブレーション処理においては、ゲーム中におけるゲーム操作と同様（同種）のゲーム操作をユーザに行わせることによって基準姿勢を決定する。これによれば、ユーザはゲーム中の操作と同じ操作でキャリブレーションのための操作を行うことができるので、情報処理システム１は、自然なゲーム操作でユーザに違和感を与えることなくキャリブレーション処理を実行することができる。
【００８３】
なお、上記所定のゲーム操作は、入力面上の位置を指定する操作（より具体的にはスライド操作）に限らず、ボタンを押下する操作等、どのような操作であってもよい。また、キャリブレーション処理におけるゲーム操作とゲーム制御処理におけるゲーム操作とは、厳密に同じである必要はない。例えば、上記スライド操作の方向は任意であってもよく、スライド操作の方向がキャリブレーション処理時とゲーム制御処理時とで一致する必要はない。例えば、上記所定のゲーム操作として、キャリブレーション処理においてもゲーム制御処理においてもタッチパネル１２に対して同じ（同種の）図形を描くジェスチャー入力が行われる場合は、ユーザに違和感を与えることなくキャリブレーション処理を実行することができる。また、キャリブレーション処理とゲーム制御処理とにおいて行われるゲーム操作が厳密に同じでなくても、当該ゲーム操作によって同種の動作制御（例えば、オブジェクトに対して同じ動作を行わせる制御）が行われる場合には、ユーザに違和感を与えることなくキャリブレーション処理を実行することができる。換言すれば、キャリブレーション処理におけるゲーム操作とゲーム制御処理におけるゲーム操作とによって同種の動作制御が行われる場合、これらのゲーム操作は同じ（同種）であると言うことができる。
【００８４】
（３−２）キャリブレーション処理の流れ
以下、本実施形態におけるキャリブレーション処理の流れを説明する。図１４は、本実施形態におけるキャリブレーション処理の流れを示す図である。本実施形態においては、複数回の入力（上記所定のゲーム操作）を受け付け、各入力が行われた場合の操作装置２の姿勢を用いて基準姿勢を決定する。
【００８５】
なお、本実施形態においては、現実空間におけるヨー方向（水平方向）に関する姿勢（鉛直方向を軸とした回転に関する姿勢）に関してキャリブレーション処理を実行する場合を例として説明する。ただし、本実施形態におけるキャリブレーション処理は、ピッチ方向およびロール方向に関する姿勢に対して適用することが可能である。
【００８６】
また、本実施形態においては、キャリブレーション処理は操作装置２を用いたゲームの前（上記ゲーム制御処理の前）に実行されるが、他の実施形態においては、ゲーム中に実行されてもよい。
【００８７】
（第１の入力）
情報処理システム１はまず、第１の入力として上記所定のゲーム操作を受け付ける。そして、第１の入力が行われた場合の操作装置２の姿勢（図１４に示すベクトルＶ１。なお、図に示す各ベクトルは、操作装置２の前方向を示す。）を算出する。この姿勢は暫定基準姿勢（図１４に示すベクトルＶｔ）として設定される。
【００８８】
本実施形態においては、第１の入力については、ヨー方向に関して操作装置２がいずれの方向を向いていても入力が受け付けられる。すなわち、ヨー方向に関する操作装置２の姿勢に関わらず、上記所定のゲーム操作が行われると情報処理システム１は当該ゲーム操作を第１の入力として受け付ける。したがって、ユーザは、操作装置２をテレビ４の方を向ける一般的な操作態様の他、操作装置２を自由な方向に向けてゲームを行うことができる。
【００８９】
なお、本実施形態においては、ピッチ方向に関しては、操作装置２の前方向が所定の基準より水平方向に近いことを条件として、第１の入力が受け付けられる。すなわち、操作装置２の前方向と水平方向とのなす角が所定角度以上である状態で上記所定のゲーム操作が行われた場合、情報処理システム１は、当該ゲーム操作を第１の入力としない（このゲーム操作は無視される）。また、ロール方向に関しては、操作装置２の表面（ＬＣＤ１１の面）の法線方向が所定の基準より鉛直上方向に近いことを条件として、第１の入力が受け付けられる。本実施形態においては、操作装置２は垂直方向よりも水平方向に近い姿勢で、かつ、ＬＣＤ１１が鉛直上向きとなる姿勢で使用されると想定されるので、上記条件を満たさない場合には誤操作あるいは誤検出であると推定できるからである。なお、他の実施形態においては、ロール、ピッチ、およびヨー方向に関して、第１の入力に関する条件を設定してもよいし、しなくてもよい。
【００９０】
（第２の入力）
第１の入力の後さらに、情報処理システム１は、追加入力として上記所定のゲーム操作を受け付ける。本実施形態においては、追加入力として第２の入力および第３の入力の２回の入力が受け付けられる。なお、他の実施形態においては、追加入力の回数は１回以上であれば何回でもよい。
【００９１】
第１の入力の後、情報処理システム１は、第２の入力を受け付け、第２の入力が行われた場合の操作装置２の姿勢（図１４に示すベクトルＶ２）を算出する。本実施形態においては、第２の入力に対応する姿勢を用いて上記暫定基準姿勢が修正される。具体的には、情報処理システム１は、上記暫定基準姿勢（ベクトルＶｔ）と第２の入力に対応する姿勢（ベクトルＶ２）とを所定の割合で合成する。この所定の割合は任意であるが、本実施形態においては、２つの姿勢が１：１の割合で合成される。図１４に示すように、合成されたベクトルが修正後の暫定基準姿勢（ベクトルＶｔ’）に設定される。
【００９２】
（第３の入力）
第２の入力の後、情報処理システム１は、第３の入力を受け付け、第３の入力が行われた場合の操作装置２の姿勢（図１４に示すベクトルＶ３）を算出する。本実施形態においては、第３の入力に対応する姿勢を用いて上記暫定基準姿勢が修正されることによって基準姿勢が決定される。具体的には、情報処理システム１は、上記暫定基準姿勢（ベクトルＶｔ’）と第３の入力に対応する姿勢（ベクトルＶ３）とを所定の割合で合成する。この所定の割合は任意であるが、本実施形態においては、２つの姿勢が１：１の割合で合成される。合成されたベクトルが基準姿勢（ベクトルＶｓ）に決定される。
【００９３】
（追加入力の条件）
本実施形態においては、上記追加入力（第２および第３の入力）は、操作装置２の姿勢が上述の暫定基準姿勢によって定められる所定範囲内となる状態で行われた入力であることを条件とする。図１５は、暫定基準姿勢および所定範囲の一例を示す図である。図１５において、ベクトルＶｔは暫定基準姿勢を表し、ベクトルＶ２は第２の入力時における操作装置２の姿勢を表す。本実施形態においては、暫定基準姿勢（ベクトルＶｔ）によって所定範囲４２が定められる。図１５においては、所定範囲４２は、暫定基準姿勢の向きを中心とした所定角度内の範囲である。なお、他の実施形態においては、所定範囲４２は、暫定基準姿勢によって定められればよく、例えば“（３−４）他の処理例”において後述するように、暫定基準姿勢を含まない範囲に設定されてもよい。情報処理システム１は、操作装置２の姿勢が上記所定範囲４２内となる状態で上記所定のゲーム操作が行われた場合、当該ゲーム操作を追加入力として受け付ける。なお、第２の入力と第３の入力とでは暫定基準姿勢が異なる可能性があり、それによって所定範囲４２が異なる可能性があるが、暫定基準姿勢によって所定範囲４２が定められる（具体的には、暫定基準姿勢の向きを中心とした所定角度内の範囲となるように設定される）点は、第２の入力と第３の入力とで同じである。
【００９４】
本実施形態においては、上記所定範囲４２は、標的４１に対応する範囲として設定される。つまり、暫定基準姿勢を基準姿勢として（ゲーム制御処理と同様に）発射方向を算出する場合において、手裏剣３８が標的４１に当たるような操作装置２の姿勢の範囲が所定範囲４２として設定される。これによれば、ユーザは所定範囲４２を認識することができるので、キャリブレーション処理における入力（所定のゲーム操作）を行いやすくなる。
【００９５】
以上のように、追加入力に関しては、操作装置２の姿勢が上記所定範囲内となることが条件とされる。これによって、ユーザが誤操作によって暫定基準姿勢とは全く異なる姿勢で上記所定のゲーム操作を行った場合には、当該ゲーム操作は追加入力とはみなされない。このように、誤操作による入力を無視することで、基準姿勢を精度良く決定することができる。なお、他の実施形態においては、追加入力についても第１の入力と同様、上記のような条件を設定しなくてもよい。
【００９６】
また、本実施形態においては、上記条件を満たさない所定のゲーム操作が行われた場合、暫定基準姿勢がリセットされる。すなわち、情報処理システム１は、第１の入力の後であって所定回数の追加入力が完了する前に、操作装置２の姿勢が上記所定範囲４２から外れた状態で上記所定のゲーム操作が行われた場合、暫定基準姿勢の設定を解除する。そして、解除された後に上記所定のゲーム操作が行われた場合、当該ゲーム操作が第１の入力として受け付けられる。すなわち、暫定基準姿勢の設定が解除された場合、情報処理システム１は、設定が解除された後において上記所定のゲーム操作が行われた場合の操作装置２の姿勢を暫定基準姿勢として再設定する。このように、本実施形態においては、暫定基準姿勢とは大きく異なる向きで所定のゲーム操作が行われた場合には、暫定基準姿勢がリセットされ、ユーザは第１の入力および追加入力を最初からやり直すことになる。これによれば、ユーザが誤って所定のゲーム操作を行ってしまった場合には最初から入力をやり直すことができるので、基準姿勢を精度良く決定することができる。
【００９７】
（基準姿勢の決定方法）
上記のように、本実施形態においては、情報処理システム１は、上記追加入力が所定回数（ここでは２回）行われたことに応じて、上記暫定基準姿勢と、当該所定回数の追加入力が行われた場合の操作装置２の姿勢とを用いて基準姿勢を決定する。このように、本実施形態においては、複数回の入力に対応する複数個の姿勢に基づいて基準姿勢を決定するので、基準姿勢を精度良く決定することができる。
【００９８】
なお、他の実施形態においては、基準姿勢は、複数回の入力に対応する各姿勢のうち少なくとも１つを用いて基準姿勢を決定してもよい。例えば、所定回数の追加入力が行われた場合、情報処理システム１は、暫定基準姿勢を基準姿勢として決定してもよい。つまり、第１の入力が行われた後、上記所定範囲に関する条件を満たす追加入力が行われた場合、第１の入力に対応する姿勢を基準姿勢として設定してもよい。これによっても本実施形態と同様、基準姿勢を適切に決定することができる。
【００９９】
また、本実施形態においては、情報処理システム１は、追加入力（第２の入力）が行われたことに応じて、当該追加入力が行われた場合における操作装置２の姿勢を用いて暫定基準姿勢を更新（修正）する。これによれば、暫定基準姿勢が修正されることに応じて上記の所定範囲４２も変化するので、所定範囲４２が適切な範囲となるように入力毎に変更することができる。
【０１００】
（３−３）キャリブレーション処理における制御
また、本実施形態においては、キャリブレーション処理においてユーザが上記所定のゲーム操作を行うと、情報処理システム１は、ゲーム制御処理と同様の制御処理を実行する。すなわち、図１３に示すように、ユーザによる所定のゲーム操作に応じて、ゲーム中と同様、操作装置２の姿勢に応じた発射方向へ手裏剣３８が発射される。本実施形態においては、各入力（第１の入力および追加入力）のそれぞれに応じて、情報処理システム１は手裏剣３８を発射する制御を行う。ただし、他の実施形態においては、各入力の少なくともいずれかに応じて上記制御が行われてもよい。
【０１０１】
以上のように、情報処理システム１は、第１の入力および所定回数の追加入力のうち少なくともいずれかに応じて、ゲーム制御処理におけるオブジェクトの動作の制御と同種の制御を実行する。これによれば、ゲーム中と同様のゲーム操作に応じて、仮想空間においてゲーム中と同様の動作が行われる。したがって、ユーザは、キャリブレーション処理における作業を例えばゲーム操作の練習であるように認識するので、キャリブレーション処理に対する違和感をより軽減することができる。
【０１０２】
なお、本実施形態においては、キャリブレーション処理時およびゲーム制御処理時に行われる制御として、情報処理システム１は、操作装置２の姿勢に基づいて決定される方向へオブジェクトを移動させる制御を行った。ここで、他の実施形態においては、上記制御はどのようなものであってもよく、例えば、オブジェクトに対して同じ動作（例えば、姿勢に基づいて決定される方向を向く動作）を行わせる制御であってもよい。
【０１０３】
また、キャリブレーション処理における上記制御は、ゲーム制御処理における制御と同種の内容であればよく、両者が厳密に一致する必要はない。例えば、ゲーム制御処理では手裏剣が発射される一方で、キャリブレーション処理では石が飛ばされるというように、制御の対象となるオブジェクトが２つの処理で異なっていてもよい。また、一方の処理ではオブジェクトが直線的に移動するのに対して他方の処理ではオブジェクトが放物線を描いて移動する等、動作のアルゴリズムが２つの処理で異なっていてもよい。
【０１０４】
また、本実施形態においてはゲーム制御処理およびキャリブレーション処理におけるゲーム画像はテレビ４に表示されたが、少なくとも１つの表示装置に表示されればよく、操作装置２のＬＣＤ１１にゲーム画像が表示されてもよい。
【０１０５】
なお、本実施形態においては、図１３に示すように、標的４１には、入力回数を表す画像（数字）が描かれる。本実施形態においてはこの画像は、キャリブレーションを完了するのに必要な上記所定のゲーム操作の入力回数を表す（図１４参照）が、例えば入力を行った回数を表してもよい。これによって、ユーザは、キャリブレーションにおける入力回数を容易に認識することができる。
【０１０６】
（３−４）他の処理例
なお、他の実施形態においては、標的を複数個表示させるようにしてもよい。図１６は、他の実施形態におけるキャリブレーション処理において表示される画像の一例を示す図である。図１６においては、３つの標的４３〜４５が表示される。また、テレビ４には「３つの標的に手裏剣を投げて下さい。」というメッセージが表示される。これに応じて、ユーザは、３つの標的４３〜４５に向かって１回ずつ、合計３回所定のゲーム操作を行う。
【０１０７】
キャリブレーション処理において狙い（標的）となるオブジェクトが複数表示される場合、情報処理システム１は、各入力（第１の入力および追加入力）を複数のオブジェクトのいずれかに対応付ける処理を各入力について行う。この対応付けはどのように行われてもよいが、情報処理システム１は、例えば、予め定められた順番で各オブジェクトを各入力に対応づけてもよい。図１６においては、標的に描かれた数字の順、すなわち、標的４３、４４、および４５の順に、第１、第２、および第３の入力に対応づけられる。つまり、ユーザは、標的４３、４４、および４５の順に狙って手裏剣を発射する。
【０１０８】
また、上記の場合、暫定基準姿勢によって定められる上記所定範囲は、暫定基準姿勢を含まない範囲となる。図１７は、他の実施形態における各入力に対応する姿勢および所定範囲の一例を示す図である。図１７においては、第２の入力に対して用いられる所定範囲４２は、標的４４に対応する姿勢を含むように設定される。図１７では図示していないが、第２の入力と同様に、第３の入力に対して用いられる所定範囲は、標的４５に対応する姿勢を含むように設定される。なお、上記「標的に対応する姿勢」とは、暫定基準姿勢を基準姿勢とした場合において、発射方向が当該標的への向きとなる姿勢である。
【０１０９】
上記の場合においても上記実施形態と同様、基準姿勢は、各入力に対応する各姿勢のうち少なくとも１つを用いて決定される。例えば、第１の入力に対応する姿勢（暫定基準姿勢）を基準姿勢として用いてもよいし、各姿勢の平均を基準姿勢としてもよい。
【０１１０】
また、上記のように、各入力における操作装置２の姿勢が異なることを想定する場合には、情報処理システム１は、操作装置２の姿勢の変化量に対する発射方向の変化量を決定することが可能である。例えば図１７において、第１の入力に対応する姿勢（ベクトルＶ１）から第２の入力に対応する姿勢（ベクトルＶ２）へと変化する場合の発射方向の変化量は、標的４３を向く方向から標的４４を向く方向への変化量として決定されてもよい。例えば、上記発射方向の変化量は、２つの入力に対応する２つの姿勢の間の変化量（角度θ）と、当該２つの入力に対応する２つの標的４３および４４の間の距離とに基づいて算出することができる。
【０１１１】
以上のように、上記他の処理例においては、情報処理システム１は、暫定基準姿勢と、複数回の追加入力に対応する各姿勢とのうち少なくとも２つの差に基づいて、姿勢の変化量に対するオブジェクトの動作方向（発射方向）の変化量を決定する。そして、ゲーム制御処理は、上記動作方向の変化量に基づいて実行される。これによれば、操作装置２の姿勢の変化に対する動作方向の変化の割合をキャリブレーション処理によって決定することができる。この割合の適切な値は、テレビ４の画面の大きさ、あるいは、テレビ４からユーザ（操作装置２）までの距離等によって異なるが、上記他の処理例によれば上記割合を適切な値に設定することができる。
【０１１２】
また、上記他の処理例においては、情報処理システム１は、複数の所定のオブジェクト（標的４３〜４５）を含む仮想空間を表す画像を生成し、各入力が受け付けられる場合に、操作装置２とは異なる表示装置（テレビ４）に当該画像を表示させる。そして、上記動作方向の変化量は、各入力のうちいずれか２つの入力に対応する２つの姿勢の間の変化量と、当該２つの入力に対応する２つのオブジェクト間の距離とに基づいて決定される。これによれば、ユーザは、各オブジェクトの方へ操作装置２を向けて所定のゲーム操作を行うことで、上記動作方向の変化量を設定することができる。
【０１１３】
（３−５）基準姿勢を用いたゲーム制御処理
上記キャリブレーション処理によって基準姿勢が決定された後、ゲーム制御処理が実行される。本実施形態においては、ゲーム制御処理として、操作装置２の姿勢と基準姿勢とに基づいてオブジェクトの移動方向（手裏剣３８の発射方向）を算出する処理が実行される。本実施形態においては、手裏剣３８の発射方向は、その時点における操作装置２の姿勢と、基準姿勢との関係に基づいて算出される。具体的には、操作装置２の姿勢が基準姿勢となる場合、発射方向は所定の基準方向となる。所定の基準方向は、仮想空間（ゲーム空間）内において予め定められた方向である。本実施形態においては、所定の基準方向は、仮想空間における正面方向、換言すれば、手裏剣３８の発射位置から標的４１の位置への方向である。また、操作装置２の姿勢が基準姿勢とは異なる場合、発射方向は、上記基準方向に対して、基準姿勢から当該姿勢への変化に応じた方向へ、基準姿勢から当該姿勢への変化量に応じた変化量だけ変化した方向として算出される。以上によって、ユーザは、操作装置２の姿勢を変化させる操作によって、仮想空間における方向（発射方向）を変化させることができる。
【０１１４】
以上のように、情報処理システム１は、ゲーム制御処理において、所定のゲーム操作が行われた場合の操作装置２の姿勢が基準姿勢となる場合、オブジェクトの動作方向（手裏剣３８の発射方向）として、キャリブレーション処理時に表示される標的４１の表示位置に対応する方向を算出する。したがって、ユーザは、標的４１を狙って複数回の所定のゲーム操作を行うことで、キャリブレーションのための作業を行うことができる。これによれば、操作装置２を一定の方向に向けた状態でユーザに複数回の入力を行わせるので、基準姿勢を精度良く算出することができる。
【０１１５】
なお、ゲーム制御処理において算出されるオブジェクトの動作方向は、操作装置２の姿勢と基準姿勢とに基づいて算出されればよい。例えば他の実施形態においては、操作装置２の姿勢および基準姿勢に加え、タッチパネル１２に対するスライド操作によって描かれる軌跡の向きを反映するように動作方向が算出されてもよい。
【０１１６】
［４．本実施形態の具体的な処理例］
以下、図１８〜図２２を参照して、本実施形態に係る情報処理システム１の具体的な処理および動作を説明する。図１８は、本実施形態においてゲーム装置３のメモリ６に記憶されるデータの一例を示す図である。図１８に示すように、ゲーム装置３のメモリ６には、情報処理プログラム５１および処理用データ５２が記憶される。なお、メモリ６には、図１８に示すデータの他、操作装置２から取得した操作データや、各表示装置へ出力すべき画像やそれを生成するために用いられる画像のデータ等が記憶されてもよい。
【０１１７】
情報処理プログラム５１は、ゲーム装置３のコンピュータ（ＣＰＵ５）に実行させるためのプログラムである。なお、情報処理プログラム５１は、ゲーム装置３がアクセス可能であってゲーム装置３の内部または外部に設けられるプログラム格納部（記憶装置または記憶媒体等）に記憶されている。プログラム格納部に記憶される情報処理プログラム５１の一部または全部が適宜のタイミングで読み込まれてメモリ６に記憶され、ＣＰＵ５によって実行される。また、情報処理プログラム５１の一部または全部は、情報処理プログラム５１を実行する情報処理装置内に（例えばライブラリとして）予め記憶されていてもよい。
【０１１８】
処理用データ５２は、ＣＰＵ５において実行される情報処理（図８に示すゲーム処理）において用いられるデータである。処理用データ５２は、姿勢データ５３、把持部データ５４、暫定基準姿勢データ５５、基準姿勢データ５６、および方向データ５７を含む。
【０１１９】
姿勢データ５３は、操作装置２の姿勢を表すデータである。姿勢データ５３は、所定の１軸周りの回転に関する１次元の値であってもよいし、２軸以上の回転に関する２次元以上の値であってもよい。
【０１２０】
把持部データ５４は、向き判別処理の判別結果を表すデータである。すなわち、把持部データ５４は、把持部１３の向きを表すデータであり、例えば、把持部１３が右向きか左向きかを表すフラグデータであってもよい。
【０１２１】
暫定基準姿勢データ５５は、上述の暫定基準姿勢を表すデータである。また、基準姿勢データ５６は、上述の基準姿勢を表すデータである。これらの各データは、姿勢データと同様、所定の１軸周りの回転に関する１次元の値であってもよいし、２軸以上の回転に関する２次元以上の値であってもよい。
【０１２２】
方向データ５７は、操作装置２の姿勢に基づいて算出される、仮想空間における方向（ここでは手裏剣３８の発射方向）を表すデータである。
【０１２３】
図１９は、本実施形態においてゲーム装置のＣＰＵ５が実行する処理の流れの一例を示すフローチャートである。例えば、ＣＰＵ５は、メモリ６等の記憶部を初期化し、プログラム格納部から情報処理プログラム（ゲームプログラム）４０をメモリ６に読み込む。そして、ＣＰＵ５によって当該情報処理プログラム５１の実行が開始される。図１９に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【０１２４】
なお、図１９に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をＣＰＵ５が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、ＣＰＵ５以外のプロセッサや専用回路が実行するようにしてもよい。
【０１２５】
まずステップＳ１において、ＣＰＵ５は上記の向き判別処理を実行する。図２０は、図１９に示す向き判別処理（ステップＳ１）の詳細な流れの一例を示すフローチャートである。ステップＳ１１において、ＣＰＵ５は候補画像を表示する。ＣＰＵ５は、上記“（２−３）候補画像の表示”で説明した候補画像３１を生成し、操作装置２およびテレビ４に表示させる。
【０１２６】
ステップＳ１２において、ＣＰＵ５は操作装置２の姿勢を算出する。操作装置２の姿勢は、上記“（２−６）姿勢の算出方法”で説明した方法で算出される。より具体的には、ＣＰＵ５は、操作装置２から操作データを取得し、操作データに含まれる加速度データに基づいて姿勢を算出する。操作装置２の姿勢としては、例えば、加速度データから算出される重力方向を表すベクトルが算出されてもよい。ＣＰＵ５は、算出された姿勢を表すデータを姿勢データ５３としてメモリ６に記憶する。
【０１２７】
ステップＳ１３において、ＣＰＵ５は、操作装置２の姿勢が、候補画像３１が表す姿勢のいずれかとなったか否かを判定する。本実施形態においては、ステップＳ１２で算出された姿勢が、操作装置２が立てられた状態で把持部１３が左向きとなる姿勢、または、操作装置２が立てられた状態で把持部１３が右向きとなる姿勢のいずれかになったか否かが判定される。この判定の具体的な方法はどのような方法であってもよいが、例えば、上記重力方向を表すベクトルが、操作装置２を基準に設定される上記ｘ軸に対して所定の基準よりも近づいたか否かによって行われてもよい。具体的には、ＣＰＵ５は、上記姿勢データ５３をメモリ６から読み出し、姿勢データ５３が表す姿勢を用いて上記の判定を行う。ステップＳ１３の判定結果が肯定である場合、ステップＳ１４の処理が実行される。一方、ステップＳ１３の判定結果が否定である場合、ステップＳ１２の処理が再度実行される。つまり、操作装置２の姿勢が候補画像３１によって表される姿勢となるまで、ステップＳ１２およびＳ１３の処理が繰り返し実行される。
【０１２８】
ステップＳ１４において、ＣＰＵ５は確認画像３２を表示する。ＣＰＵ５は、上記“（２−４）確認処理”で説明した確認画像３２を生成し、テレビ４に表示させる。また、本実施形態においては、上記“（２−４）確認処理”で説明した、確認ボタン３６を含む画像を操作装置２に表示させる。
【０１２９】
ステップＳ１５において、ＣＰＵ５は、ユーザによって確認操作が行われたか否かを判定する。すなわち、ＣＰＵ５は、操作装置２から操作データを取得し、操作データに含まれるタッチ位置データ（タッチパネル１２に対して入力された位置を表すデータ）に基づいて、確認操作が行われたか否かを判定する。ステップＳ１５の判定結果が肯定である場合、ステップＳ１６の処理が実行される。一方、ステップＳ１５の判定結果が否定である場合、ステップＳ１２の処理が再度実行される。つまり、確認操作が行われるまで、ステップＳ１２〜Ｓ１５の処理が繰り返し実行される。
【０１３０】
ステップＳ１６において、ＣＰＵ５は把持部１３の向きを判別する。すなわち、ＣＰＵ５は、上記“（２−５）向き判別”で説明した方法で把持部１３の向きを判別する。そして、判別結果を表すデータを把持部データ５４としてメモリ６に記憶する。ステップＳ１６の後、向き判別処理を終了する。
【０１３１】
上記向き判別処理（ステップＳ１）の次に、ステップＳ２の処理が実行される。ステップＳ２において、ＣＰＵは上記のキャリブレーション処理を実行する。図２１は、図１９に示すキャリブレーション処理（ステップＳ２）の詳細な流れの一例を示すフローチャートである。
【０１３２】
キャリブレーション処理においては、まずステップＳ２１において、ＣＰＵは、各表示装置（操作装置２のＬＣＤ１１およびテレビ４）に画像を表示する。すなわち、テレビ４に表示する画像を生成してテレビ４へ出力し、ＬＣＤ１１に表示する画像を生成して操作装置２へ出力する。なお、テレビ４に表示すべき画像は、標的４１を含む仮想空間の画像であり、操作装置２に表示する画像は手裏剣３８の画像である（図５参照）。また、図２１に示すフローチャートでは示されないが、各表示装置に表示される画像は、所定時間間隔に１回の割合で更新して表示される。
【０１３３】
ステップＳ２２において、ＣＰＵは第１の入力を受け付ける。すなわち、ＣＰＵは、操作装置２から操作データを逐次取得し、操作データに含まれるタッチ位置データに基づいて、上記所定のゲーム操作が行われたか否かを判定する。このとき、上記“（２−７）判別結果に基づく情報処理”で説明したように、ＣＰＵは、タッチパネル１２における上下方向（ｘ軸方向）を判別結果に応じて反転させて、上記の判定を行う。すなわち、ＣＰＵは、メモリ６から把持部データ５４を読み出し、把持部データ５４の内容に応じてタッチパネル１２における上下方向を反転させて上記判定を行う。
【０１３４】
上記ステップＳ２２において、ＣＰＵは、所定のゲーム操作が行われたと判定されるまで待機し、所定のゲーム操作が行われたと判定された場合、操作装置２の姿勢を算出する。この姿勢はどのように算出されてもよいが、本実施形態においては、加速度センサ２３および／またはジャイロセンサ２４の検出結果に基づいて算出される。ＣＰＵは、算出された姿勢を表すデータを姿勢データとしてメモリ６に記憶する。
【０１３５】
ステップＳ２３において、ＣＰＵは、第１の入力が所定の条件を満たすか否かを判定する。すなわち、ＣＰＵは、上述の“（第１の入力）”で説明した条件を満たすか否かを判定する。ステップＳ２３の判定結果が肯定である場合、ステップＳ２４の処理が実行される。ステップＳ２３の判定結果が否定である場合、ステップＳ２４の処理が実行される。
【０１３６】
ステップＳ２４において、ＣＰＵは暫定基準姿勢を設定する。すなわち、ＣＰＵは、暫定基準姿勢データとして、上記姿勢データの内容をメモリ６に記憶する。
【０１３７】
ステップＳ２５において、ＣＰＵは、追加入力として第２の入力を受け付ける。ステップＳ２５の処理は、上記ステップＳ２２と同様である。したがって、第２の入力が行われた時点の操作装置２の姿勢を表すデータが姿勢データとしてメモリ６に記憶される。
【０１３８】
ステップＳ２６において、ＣＰＵは、第２の入力に対応する姿勢が所定範囲内であるか否かを判定する。すなわち、上述の“（追加入力の条件）”で説明した方法によって判定が行われる。ステップＳ２６の判定結果が肯定である場合、後述するステップＳ２８の処理が実行される。ステップＳ２６の判定結果が否定である場合、ステップＳ２７の処理が実行される。
【０１３９】
ステップＳ２７において、ＣＰＵは、暫定基準姿勢の設定を解除する。すなわち、ＣＰＵは、メモリ６に記憶されている暫定基準姿勢データを削除する。ステップＳ２７の後、ステップＳ２２の処理が再度実行される。
【０１４０】
ステップＳ２８において、ＣＰＵは、暫定基準姿勢を更新（修正）する。暫定基準姿勢は、上述の“（第２の入力）”で説明した方法によって修正される。ＣＰＵは、修正後の暫定基準姿勢を表すデータを暫定基準姿勢データとしてメモリ６に記憶する。
【０１４１】
ステップＳ２９において、ＣＰＵは、追加入力として第３の入力を受け付ける。ステップＳ２９の処理は、上記ステップＳ２２と同様である。したがって、第３の入力が行われた時点の操作装置２の姿勢を表すデータが姿勢データとしてメモリ６に記憶される。
【０１４２】
ステップＳ３０において、ＣＰＵは、第３の入力に対応する姿勢が所定範囲内であるか否かを判定する。すなわち、上記ステップＳ２６と同様、上述の“（追加入力の条件）”で説明した方法によって判定が行われる。ステップＳ３０の判定結果が肯定である場合、ステップＳ３１の処理が実行される。ステップＳ３０の判定結果が否定である場合、上記ステップＳ２７の処理が実行される。
【０１４３】
ステップＳ３１において、ＣＰＵは、基準姿勢を決定する。基準姿勢は、上述の“（第３の入力）”で説明した方法によって算出される。ＣＰＵは、算出された基準姿勢を表すデータを基準姿勢データとしてメモリ６に記憶する。
【０１４４】
なお、図２１に示すフローチャートでは示されていないが、各入力が受け付けられたことに応じて、ＣＰＵは、手裏剣３８を発射する動作の制御を行う。この制御は、上記“（３−３）キャリブレーション処理における制御”で説明した方法で行われる。なお、手裏剣３８の発射方向を算出する方法は、後述するステップＳ４２の処理と同様である。
【０１４５】
上記キャリブレーション処理（ステップＳ２）の次に、ステップＳ３の処理が実行される。ステップＳ３において、ＣＰＵは上記のゲーム制御処理を実行する。図２２は、図１９に示すゲーム制御処理（ステップＳ３）の詳細な流れの一例を示すフローチャートである。
【０１４６】
ゲーム制御処理においては、まずステップＳ４１において、ＣＰＵは、上記所定のゲーム操作が行われたか否かを判定する。この判定は上記ステップＳ２２と同様、操作装置２から取得される操作データに含まれるタッチ位置データに基づいて行われる。ステップＳ４１の判定結果が肯定である場合、ステップＳ４２の処理が実行される。ステップＳ４１の判定結果が否定である場合、ステップＳ４２およびＳ４３の処理がスキップされてステップＳ４４の処理が実行される。
【０１４７】
ステップＳ４２において、ＣＰＵ５は、操作装置２の姿勢に基づいて仮想空間における方向（発射方向）を算出する。具体的には、まず、上記ステップＳ２２と同様の方法で操作装置２の姿勢が算出される。次に、上記“（２−７）判別結果に基づく情報処理”および上記“（３−５）基準姿勢を用いたゲーム制御処理”で説明した方法で、算出された姿勢に基づいて発射方向が算出される。すなわち、ＣＰＵ５は、メモリ６から把持部データ５４を読み出し、ピッチ方向および／またはロール方向に関して、操作装置２の姿勢変化に応じた発射方向の変化の向きを把持部データ５４の内容に応じて反転させるように、発射方向を算出する。ＣＰＵは、算出された発射方向を表すデータを方向データとしてメモリ６に記憶する。
【０１４８】
以上のように、本実施形態においては、上記ステップＳ４１およびＳ４２において、向き判別の判別結果に応じて異なる情報処理が実行される。
【０１４９】
ステップＳ４３において、ＣＰＵ５は、オブジェクト（手裏剣３８）の動作を制御する。すなわち、手裏剣３８を発射方向へ移動させる制御が実行される。続くステップＳ４４において、ＣＰＵは、操作装置２およびテレビ４に表示すべきゲーム画像を生成し、操作装置２およびテレビ４へゲーム画像を出力する。
【０１５０】
ステップＳ４５において、ＣＰＵ５は、ゲームを終了するか否かを判定する。ステップＳ４５の判定結果が否定の場合、ステップＳ４１の処理が再度実行される。一方、ステップＳ４５の判定結果が肯定の場合、ＣＰＵ５は図１９に示すゲーム処理を終了する。以降、ステップＳ４１〜Ｓ４５の一連の処理は、ステップＳ４５でゲームを終了すると判定されるまで繰り返し実行される。以上によって、図１８に示すゲーム処理の説明を終了する。
【０１５１】
［５．変形例］
他の実施形態においては、情報処理システム１は上記向き判別処理およびキャリブレーション処理のうち、いずれか一方のみを実行してもよい。すなわち、情報処理システム１は操作装置２の把持部１３の向きを判別することを目的として上記向き判別処理のみを実行してもよいし、操作装置２の基準姿勢を決定することを目的として上記キャリブレーション処理のみを実行してもよい。
【０１５２】
上記実施形態においては、情報処理システム１は、向き判別における判別結果に応じて処理内容が異なる情報処理を実行した。ここで、他の実施形態においては、向き判別における判別結果は、どのように用いられてもよい。例えば、他の実施形態において、操作装置２の正しい（推奨される）持ち方が定められている場合においては、情報処理システムは、判別結果に基づいて正しい持ち方であるか否かを判定し、正しい持ち方である場合には警告を行わず、正しい持ち方でない場合にユーザに対して警告を行うようにしてもよい。
【０１５３】
なお、他の実施形態においては、上記向き判別処理および／またはキャリブレーション処理は、ゲーム処理以外の他の情報処理に用いられてもよい。向き判別処理およびキャリブレーション処理は、操作装置に対する入力に基づく任意の情報処理に適用することが可能である。
【０１５４】
また、上記実施形態においては、横方向に長い形状である操作装置２を縦持ちにして使用する場合を例として説明した。ここで、他の実施形態においては、操作装置２が他の持ち方で使用される場合についても、上記向き判別処理および／またはキャリブレーション処理を適用することが可能である。つまり、情報処理システム１は、操作装置２の使用時の姿勢にかかわらず、上記向き判別処理を用いて把持部１３の向きを判別し、上記キャリブレーション処理を用いて基準姿勢を設定することができる。
【産業上の利用可能性】
【０１５５】
以上のように、本発明は、ユーザが把持する操作装置の把持状態をより精度良く判別すること等を目的として、例えば情報処理システム（ゲームシステム）や情報処理プログラム（ゲームプログラム）等に利用することが可能である。
【符号の説明】
【０１５６】
１  情報処理システム
２  操作装置
３  ゲーム装置
４  テレビ
５  ＣＰＵ
６  メモリ
１１  ＬＣＤ
１２  タッチパネル
１３  把持部
２２  操作部
２３  加速度センサ
２４  ジャイロセンサ
３１  候補画像
３８  手裏剣
４１  標的
４２  所定範囲
【図１】
0005967995.tif 000002
【図２】
0005967995.tif 000003
【図３】
0005967995.tif 000004
【図４】
0005967995.tif 000005
【図５】
0005967995.tif 000006
【図６】
0005967995.tif 000007
【図７】
0005967995.tif 000008
【図８】
0005967995.tif 000009
【図９】
0005967995.tif 000010
【図１０】
0005967995.tif 000011
【図１１】
0005967995.tif 000012
【図１２】
0005967995.tif 000013
【図１３】
0005967995.tif 000014
【図１４】
0005967995.tif 000015
【図１５】
0005967995.tif 000016
【図１６】
0005967995.tif 000017
【図１７】
0005967995.tif 000018
【図１８】
0005967995.tif 000019
【図１９】
0005967995.tif 000020
【図２０】
0005967995.tif 000021
【図２１】
0005967995.tif 000022
【図２２】
0005967995.tif 000023