(57)【要約】【課題】より多様なユーザ操作を実現することができる情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置を提供する。【解決手段】装置の被検出部は、撮像部によって撮像可能である。装置の操作部は、ユーザによって操作が可能であって、当該操作に応じて被検出部を連動させる。処理部は、所定の情報処理である第１処理を行う。検出部は、撮像部によって撮像された撮像画像に含まれる被検出部を示す被検出部画像を検出する。特定部は、撮像画像における被検出部画像の位置および形状の少なくとも一方を特定する。判定部は、特定された被検出部画像の位置および形状の少なくとも一方に基づいて、第１処理を行うための所定条件を満たすかどうかを判定する。変更部は、慣性センサから出力されるデータに基づいて、所定条件を変更する。【選択図】図２０
2019122590.tif 000002
【特許請求の範囲】
【請求項１】
慣性センサと、
撮像部と、
前記撮像部によって撮像可能な被検出部と、
ユーザによって操作が可能であって、当該操作に応じて前記被検出部を連動させる操作部とを備える装置を含み、
所定の情報処理である第１処理を行う処理部と、
前記撮像部によって撮像された撮像画像に含まれる前記被検出部を示す被検出部画像を検出する検出部と、
前記撮像画像における前記被検出部画像の位置および形状の少なくとも一方を特定する特定部と、
前記特定された前記撮像画像における前記被検出部画像の位置および形状の少なくとも一方に基づいて、前記第１処理を行うための所定条件を満たすかどうかを判定する判定部と、
前記慣性センサから出力されるデータに基づいて、前記所定条件を変更する変更部とを備える、情報処理システム。
【請求項２】
前記被検出部は、前記操作に応じて所定の移動経路において移動可能であり、
前記判定部は、前記撮像画像における前記被検出部画像が前記所定の移動経路に基づいて所定の位置および所定の範囲の少なくとも一方に位置する場合、前記第１処理を行うための前記所定条件を満たすと判定する、請求項１に記載の情報処理システム。
【請求項３】
前記変更部は、前記慣性センサから出力されるデータに基づいて、前記所定の位置および前記所定の範囲の少なくとも一方を変更することによって、前記所定条件を変更する、請求項２に記載の情報処理システム。
【請求項４】
前記変更部は、前記移動経路に基づいて前記所定の位置および前記所定の範囲の少なくとも一方を変更することによって、前記所定条件を変更する、請求項３に記載の情報処理システム。
【請求項５】
前記変更部は、ユーザの所定の操作に応じて前記被検出部が前記移動経路に沿って移動する際の前記撮像画像における前記被検出部画像の移動方向へ、前記慣性センサから出力されるデータに基づいて前記所定の位置および前記所定の範囲の少なくとも一方を移動させることによって、前記所定条件を変更する、請求項４に記載の情報処理システム。
【請求項６】
前記変更部は、前記移動方向への前記所定の位置および前記所定の範囲の少なくとも一方の移動を、所定の限界値以内に制限して、前記所定条件を変更する、請求項５に記載の情報処理システム。
【請求項７】
前記変更部は、前記慣性センサから出力されるデータに基づいて、前記装置を操作するユーザの姿勢を推測し、当該姿勢が所定の姿勢である場合に前記所定条件を変更する、請求項１乃至６の何れか１つに記載の情報処理システム。
【請求項８】
前記被検出部は、前記操作部を操作するユーザの姿勢変化に応じて動く当該操作部の動きと連動して移動する、請求項１乃至７の何れか１つに記載の情報処理システム。
【請求項９】
所定のゲームオブジェクトを含むゲーム画像を生成するゲーム画像生成部を、さらに備え、
前記処理部は、前記被検出部画像の位置および形状の少なくとも一方に基づいて、前記ゲームオブジェクトの姿勢および動作の少なくとも一方の制御を行う処理を、前記第１処理として行う、請求項１乃至８の何れか１つに記載の情報処理システム。
【請求項１０】
前記処理部は、前記被検出部画像の位置および形状の少なくとも一方に基づいて前記第１処理を行い、前記慣性センサから出力されるデータに基づいて当該第１処理とは異なる所定の第２処理を行う、請求項１乃至９の何れか１つに記載の情報処理システム。
【請求項１１】
前記処理部は、前記慣性センサから出力されるデータに基づいて、所定のゲームオブジェクトの姿勢および動作の少なくとも一方の制御を行う処理を、前記第２処理として行う、請求項１０に記載の情報処理システム。
【請求項１２】
前記装置は、前記操作部と前記被検出部とを接続して、当該操作部の動きに当該被検出部を連動させる接続部を、さらに備える、請求項１乃至１１の何れか１つに記載の情報処理システム。
【請求項１３】
前記被検出部は、前記操作部への操作と連動して異なる撮像形状に変化可能であり、
前記判定部は、前記被検出部画像が前記所定の形状であると特定された場合、前記第１処理を行うと判定する、請求項１に記載の情報処理システム。
【請求項１４】
前記変更部は、前記慣性センサから出力されるデータが前記装置の所定の姿勢または動きを示す場合、前記所定条件を変更しない、請求項１乃至１３の何れか１つに記載の情報処理システム。
【請求項１５】
前記処理部は、前記被検出部画像の位置および形状の少なくとも一方に基づいて、所定のゲームオブジェクトを制御してゲームを進行する処理を、前記第１処理として行い、
前記変更部は、前記慣性センサから出力されるデータに基づいて、前記ゲーム中において繰り返し前記所定条件を変更する、請求項１乃至１４の何れか１つに記載の情報処理システム。
【請求項１６】
前記撮像部は、前記装置に対して着脱可能に固定される、請求項１乃至１５の何れか１つに記載の情報処理システム。
【請求項１７】
慣性センサ、撮像部、当該撮像部によって撮像可能な被検出部、およびユーザ操作に応じて当該被検出部を連動させる操作部を備える装置を用いた操作に基づいた処理を行う情報処理装置に含まれるコンピュータで実行される情報処理プログラムであって、
前記コンピュータを、
所定の情報処理である第１処理を行う処理手段と、
前記撮像部によって撮像された撮像画像に含まれる前記被検出部を示す被検出部画像の位置および形状の少なくとも一方に基づいて、前記第１処理を行うための所定条件を満たすかどうかを判定する判定手段と、
前記慣性センサから出力されるデータに基づいて、前記所定条件を変更する変更手段として機能させる、情報処理プログラム。
【請求項１８】
慣性センサ、撮像部、当該撮像部によって撮像可能な被検出部、およびユーザ操作に応じて当該被検出部を連動させる操作部を備える装置を用いた操作に基づいた処理を行う情報処理方法であって、
所定の情報処理である第１処理を行う処理ステップと、
前記撮像部によって撮像された撮像画像に含まれる前記被検出部を示す被検出部画像の位置および形状の少なくとも一方に基づいて、前記第１処理を行うための所定条件を満たすかどうかを判定する判定ステップと、
前記慣性センサから出力されるデータに基づいて、前記所定条件を変更する変更ステップを含む、情報処理方法。
【請求項１９】
慣性センサ、撮像部、当該撮像部によって撮像可能な被検出部、およびユーザ操作に応じて当該被検出部を連動させる操作部を備える装置を用いた操作に基づいた処理を行う情報処理装置であって、
所定の情報処理である第１処理を行う処理手段と、
前記撮像部によって撮像された撮像画像に含まれる前記被検出部を示す被検出部画像の位置および形状の少なくとも一方に基づいて、前記第１処理を行うための所定条件を満たすかどうかを判定する判定手段と、
前記慣性センサから出力されるデータに基づいて、前記所定条件を変更する変更手段とを備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ操作に応じた処理を行う情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置に関する。
【背景技術】
【０００２】
従来、携帯装置に接続されることによって携帯装置に機能を付加する付属機器がある（例えば、特許文献１参照）。例えば、上記特許文献１には、ゲーム装置のコントローラに設けられたコネクタに、付属機器として他のコントローラを接続する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０１７３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記付属機器は、コントローラに接続されることによってコントローラに機能を付加することができるが、より多様なゲーム操作を可能にすることについて改善の余地があった。
【０００５】
それ故、本発明の目的は、より多様なユーザ操作を実現することができる情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明の情報処理システムの一構成例は、慣性センサ、撮像部、被検出部、および操作部を備える装置を含む。被検出部は、撮像部によって撮像可能である。操作部は、ユーザによって操作が可能であって、当該操作に応じて被検出部を連動させる。上記情報処理システムは、処理部、検出部、特定部、判定部、および変更部を備える。処理部は、所定の情報処理である第１処理を行う。検出部は、撮像部によって撮像された撮像画像に含まれる被検出部を示す被検出部画像を検出する。特定部は、撮像画像における被検出部画像の位置および形状の少なくとも一方を特定する。判定部は、特定された撮像画像における被検出部画像の位置および形状の少なくとも一方に基づいて、第１処理を行うための所定条件を満たすかどうかを判定する。変更部は、慣性センサから出力されるデータに基づいて、所定条件を変更する。
【０００８】
上記によれば、操作と連動する被検出部を撮像した被検出部画像の位置および形状の少なくとも一方に基づいて、所定条件を満たす場合に第１処理が行われ、当該所定条件が慣性センサから出力されるデータに基づいて変更されるため、装置を用いた多様なユーザ操作を実現することができる。
【０００９】
また、上記被検出部は、操作に応じて所定の移動経路において移動可能でもよい。上記判定部は、撮像画像における被検出部画像が所定の移動経路に基づいて所定の位置および所定の範囲の少なくとも一方に位置する場合、第１処理を行うための所定条件を満たすと判定してもよい。
【００１０】
上記によれば、所定の移動経路において移動する被検出部の位置に基づいて、第１処理を行うか否かを判定することができる。
【００１１】
また、上記変更部は、慣性センサから出力されるデータに基づいて、所定の位置および所定の範囲の少なくとも一方を変更することによって、所定条件を変更してもよい。
【００１２】
上記によれば、容易に所定条件を変更することができる。
【００１３】
また、上記変更部は、移動経路に基づいて所定の位置および所定の範囲の少なくとも一方を変更することによって、所定条件を変更してもよい。
【００１４】
上記によれば、移動経路に合わせて所定条件を変更することができる。
【００１５】
また、上記変更部は、ユーザの所定の操作に応じて被検出部が移動経路に沿って移動する際の撮像画像における被検出部画像の移動方向へ、慣性センサから出力されるデータに基づいて所定の位置および所定の範囲の少なくとも一方を移動させることによって、所定条件を変更してもよい。
【００１６】
上記によれば、慣性センサから出力されるデータに基づいて、ユーザの所定の操作に応じて被検出部が動く方向と同じ方向に当該被検出部の位置を判定するための所定の位置および所定の範囲の少なくとも一方が移動するため、慣性センサから出力されるデータに応じて当該所定の操作が行われたと判定されにくくなり、慣性センサから出力されるデータを用いて当該所定の操作が行われたと誤判定されないように調整することができる。
【００１７】
また、上記変更部は、移動方向への所定の位置および所定の範囲の少なくとも一方の移動を、所定の限界値以内に制限して、所定条件を変更してもよい。
【００１８】
上記によれば、被検出部の位置を判定するための所定の位置および所定の範囲の少なくとも一方の移動に制限を設けることによって、予期しないユーザ操作に対応したり、誤判定に対応したりすることが可能となる。
【００１９】
また、上記変更部は、慣性センサから出力されるデータに基づいて、装置を操作するユーザの姿勢を推測し、当該姿勢が所定の姿勢である場合に所定条件を変更してもよい。
【００２０】
上記によれば、ユーザの操作姿勢に応じて、所定条件を変更することができる。
【００２１】
また、上記被検出部は、操作部を操作するユーザの姿勢変化に応じて動く当該操作部の動きと連動して移動してもよい。
【００２２】
上記によれば、操作部を用いたユーザの姿勢変化に応じて第１処理を行うことができる。
【００２３】
また、上記情報処理システムは、ゲーム画像生成部を、さらに備えてもよい。ゲーム画像生成部は、所定のゲームオブジェクトを含むゲーム画像を生成する。この場合、上記処理部は、被検出部画像の位置および形状の少なくとも一方に基づいて、所定のゲームオブジェクトの姿勢および動作の少なくとも一方の制御を行う処理を、第１処理として行ってもよい。
【００２４】
上記によれば、操作部を用いたユーザ操作に応じて、ゲームオブジェクトの姿勢および動作の少なくとも一方を制御することができる。
【００２５】
また、上記処理部は、被検出部画像の位置および形状の少なくとも一方に基づいて第１処理を行い、慣性センサから出力されるデータに基づいて当該第１処理とは異なる所定の第２処理を行ってもよい。
【００２６】
上記によれば、装置の操作部を用いたユーザ操作に応じた第１処理と、装置の姿勢および動きの少なくとも一方を用いたユーザ操作に応じた第２処理とを両立することができる。
【００２７】
また、上記処理部は、慣性センサから出力されるデータに基づいて、所定のゲームオブジェクトの姿勢および動作の少なくとも一方の制御を行う処理を、第２処理として行ってもよい。
【００２８】
上記によれば、装置の姿勢および動きの少なくとも一方を用いたユーザ操作に応じて、ゲームオブジェクトの姿勢および動作の少なくとも一方を制御する処理を第２処理として行うことができる。
【００２９】
また、上記装置は、接続部を、さらに備えてもよい。接続部は、操作部と被検出部とを接続して、当該操作部の動きに当該被検出部を連動させる。
【００３０】
上記によれば、操作部を操作することによって、接続部を介して接続された被検出部を連動させることができるため、操作部を用いた操作を多様にすることができる。
【００３１】
また、上記被検出部は、操作部への操作と連動して異なる撮像形状に変化可能でもよい。上記判定部は、被検出部画像が所定の形状であると特定された場合、第１処理を行うと判定してもよい。
【００３２】
上記によれば、操作部を用いた多様な操作を実現することができる。
【００３３】
また、上記変更部は、慣性センサから出力されるデータが装置の所定の姿勢または動きを示す場合、所定条件を変更しなくてもよい。
【００３４】
上記によれば、ユーザ操作に合わせた適切な所定条件を設定することができる。
【００３５】
また、上記処理部は、被検出部画像の位置および形状の少なくとも一方に基づいて、所定のゲームオブジェクトを制御してゲームを進行する処理を、第１処理として行ってもよい。上記変更部は、慣性センサから出力されるデータに基づいて、ゲーム中において繰り返し所定条件を変更してもよい。
【００３６】
上記によれば、ゲーム開始前にのみ行われるキャリブレーション処理と比較して、所定条件がゲーム中に繰り返し変更されるため、ゲーム中におけるユーザ操作に適切に対応することができる。
【００３７】
また、上記撮像部は、装置に対して着脱可能に固定されてもよい。
【００３８】
上記によれば、操作部の操作やユーザの姿勢に応じて被検出部が装置において移動する一方、撮像部が装置に対して移動せずに固定されるため、被検出部の動きを正確に検出することができる。
【００３９】
また、本発明は、情報処理プログラム、情報処理方法、および情報処理装置の形態で実施されてもよい。
【発明の効果】
【００４０】
本発明によれば、より多様なユーザ操作を実現することができる。
【図面の簡単な説明】
【００４１】
【図１】本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図
【図２】本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図
【図３】本体装置２の一例を示す六面図
【図４】左コントローラ３の一例を示す六面図
【図５】右コントローラ４の一例を示す六面図
【図６】本体装置２の内部構成の一例を示すブロック図
【図７】本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図
【図８】ユーザがケース２００および頭部装着具３００を装着してゲーム操作する様子の一例を示す図
【図９】ケース２００の外観の一例を示す図
【図１０】ケース２００のコントローラ配置部２０２に右コントローラ４が装着された状態の一例を示す図
【図１１】ケース２００内部に設けられた撮像対象部材２０５を撮像する右コントローラ４の状態の一例を示す図
【図１２】操作部２５０、操作部２６０、および紐部材２０４の動きに応じて、撮像対象部材２０５がスライド移動する一例を示す図
【図１３】第１モード（クラスタリングモード）において算出する撮像対象部材の情報の一例を説明するための図
【図１４】第２モード（モーメントモード）において算出する撮像対象部材の情報の一例を説明するための図
【図１５】ケース２００を組み立てる際の主要部品の組み合わせ例を示す図
【図１６】ケース２００および頭部装着具３００を装着したユーザが左足を上げた様子の一例を示す図
【図１７】ユーザが左足を上げた場合の撮像対象部材２０５の動きの一例を示す図
【図１８】ユーザが左足を上げた場合のプレイヤオブジェクトＰＯの動作の一例を示す図
【図１９】ケース２００および頭部装着具３００を装着したユーザが左に身体を傾けた様子の一例を示す図
【図２０】ユーザが身体を左に傾けた場合の撮像対象部材２０５の動きの一例を示す図
【図２１】ユーザが身体を左に傾けた場合に行われる閾値補正処理の一例を示す図
【図２２】ユーザが身体を後ろに傾けた場合に行われる閾値補正処理の一例を示す図
【図２３】ユーザが身体を左に傾けた場合のプレイヤオブジェクトＰＯの動作の一例を示す図
【図２４】本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図
【図２５】本体装置２で実行される情報処理の一例を示すフローチャート
【図２６】図２５のステップＳ１３３における操作内容算出処理の詳細な処理の一例を示すサブルーチン
【発明を実施するための形態】
【００４２】
以下、本実施形態の一例に係る情報処理システムの一例であるゲームシステムについて説明する。本実施形態におけるゲームシステムは、本体装置（情報処理装置；本実施形態ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とケース２００と頭部装着具３００とによって構成される。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能である。つまり、ゲームシステムは、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用できる。また、ゲームシステムは、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。また、ゲームシステムにおけるケース２００および頭部装着具３００は、その内部にコントローラ（例えば、左コントローラ３や右コントローラ４）を装着することによって、それぞれ拡張操作装置として利用することができる。以下では、本実施形態のゲームシステムのハードウェア構成について説明し、その後に本実施形態のゲームシステムの制御について説明する。なお、内部に右コントローラ４が装着された拡張操作装置（ケース２００）が、本実施例における慣性センサ、撮像部、被検出部、および操作部を備える装置の一例に相当する。
【００４３】
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステムにおける各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００４４】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００４５】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。本実施形態において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００４６】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００４７】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。本実施形態においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００４８】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施形態においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００４９】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００５０】
また、本体装置２は、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７と、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００５１】
図３に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステムおよびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。所定の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００５２】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。本実施形態において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステムは、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００５３】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。本実施形態においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１および図４に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５４】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、左コントローラ３は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック３２を押下する入力が可能である。
【００５５】
左コントローラ３は、各種操作ボタンを備える。左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および左方向ボタン３６）を備える。さらに、左コントローラ３は、録画ボタン３７および−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上に第１Ｌボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面の、本体装置２に装着される際に装着される側の面に第２Ｌボタン４３および第２Ｒボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００５６】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００５７】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。本実施形態においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５８】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施形態においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、およびＹボタン５６）を備える。さらに、右コントローラ４は、＋（プラス）ボタン５７およびホームボタン５８を備える。また、右コントローラ４は、ハウジング５１の側面の右上に第１Ｒボタン６０およびＺＲボタン６１を備える。また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。
【００５９】
また、ハウジング５１の下側面には、窓部６８が設けられる。詳細は後述するが、右コントローラ４は、ハウジング５１の内部に配置される赤外撮像部１２３および赤外発光部１２４を備えている。赤外撮像部１２３は、右コントローラ４の下方向（図５に示すｙ軸負方向）を撮像方向として、窓部６８を介して右コントローラ４の周囲を撮像する。赤外発光部１２４は、右コントローラ４の下方向（図５に示すｙ軸負方向）を中心とする所定範囲を照射範囲として、赤外撮像部１２３が撮像する撮像対象に窓部６８を介して赤外光を照射する。窓部６８は、赤外撮像部１２３のカメラのレンズや赤外発光部１２４の発光体等を保護するためのものであり、当該カメラが検知する波長の光や当該発光体が照射する光を透過する材質（例えば、透明な材質）で構成される。なお、窓部６８は、ハウジング５１に形成された孔であってもよい。なお、本実施形態においては、カメラが検知する光（本実施形態においては、赤外光）以外の波長の光の透過を抑制するフィルタ部材を赤外撮像部１２３自身が有する。ただし、他の実施形態においては、窓部６８がフィルタの機能を有していてもよい。
【００６０】
また、詳細は後述するが、右コントローラ４は、ＮＦＣ通信部１２２を備える。ＮＦＣ通信部１２２は、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）の規格に基づく近距離無線通信を行う。ＮＦＣ通信部１２２は、近距離無線通信に用いられるアンテナ１２２ａと、アンテナ１２２ａから送出すべき信号（電波）を生成する回路（例えばＮＦＣチップ）とを有する。なお、ＮＦＣ通信部１２２は、ＮＦＣの規格に基づく近距離無線通信を行う代わりに、任意の近接通信（非接触通信とも言う）で近距離無線通信を行うようにしてもよい。ここで、ＮＦＣの規格は、近接通信（非接触通信）に用いることができるものであり、「任意の近接通信で近距離無線通信を行うようにしてもよい」とは、ＮＦＣの規格による近接通信を除いた他の近接通信で近距離無線通信を行ってもよいことを意図している。
【００６１】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００６２】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９１、９７、および９８を備える。これらの構成要素８１〜９１、９７、および９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００６３】
本体装置２は、プロセッサ８１を備える。プロセッサ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のみから構成されてもよいし、ＣＰＵ機能、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）から構成されてもよい。プロセッサ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００６４】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、プロセッサ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００６５】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。スロットＩ／Ｆ９１は、プロセッサ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された所定の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、プロセッサ８１の指示に応じて行う。
【００６６】
プロセッサ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００６７】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、プロセッサ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００６８】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、プロセッサ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施形態においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００６９】
プロセッサ８１は、上述の左側端子１７、右側端子２１、および下側端子２７に接続される。プロセッサ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、プロセッサ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、プロセッサ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００７０】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、複数のユーザは、左コントローラ３および右コントローラ４のセットをそれぞれ用いて、本体装置２に対する入力を同時に行うことができる。一例として、第１ユーザが左コントローラ３および右コントローラ４の第１セットを用いて本体装置２に対して入力を行うと同時に、第２ユーザが左コントローラ３および右コントローラ４の第２セットを用いて本体装置２に対して入力を行うことが可能となる。
【００７１】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とプロセッサ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ８１へ出力する。
【００７２】
また、ディスプレイ１２は、プロセッサ８１に接続される。プロセッサ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００７３】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、プロセッサ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００７４】
また、本体装置２は、加速度センサ８９を備える。本実施形態においては、加速度センサ８９は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。
【００７５】
また、本体装置２は、角速度センサ９０を備える。本実施形態においては、角速度センサ９０は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。
【００７６】
加速度センサ８９および角速度センサ９０は、プロセッサ８１に接続され、加速度センサ８９および角速度センサ９０の検出結果は、プロセッサ８１へ出力される。プロセッサ８１は、上記の加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。
【００７７】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびプロセッサ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、プロセッサ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００７８】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００７９】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００８０】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施形態においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００８１】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００８２】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、および４７）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００８３】
左コントローラ３は、慣性センサを備える。具体的には、左コントローラ３は、加速度センサ１０４を備える。また、左コントローラ３は、角速度センサ１０５を備える。本実施形態においては、加速度センサ１０４は、所定の３軸（例えば、図４に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ１０５は、所定の３軸（例えば、図４に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００８４】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、またはセンサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００８５】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００８６】
左コントローラ３は、電力供給部１０８を備える。本実施形態において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００８７】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００８８】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００８９】
右コントローラ４は、ＮＦＣの規格に基づく近距離無線通信を行うＮＦＣ通信部１２２を備える。ＮＦＣ通信部１２２は、いわゆるＮＦＣリーダ・ライタの機能を有する。ここで、本明細書において近距離無線通信とは、一方の装置（ここでは、右コントローラ４）からの電波によって（例えば電磁誘導によって）他方の装置（ここでは、アンテナ１２２ａと近接する装置）に起電力を発生させる通信方式が含まれる。他方の装置は、発生した起電力によって動作することが可能であり、電源を有していてもよいし有していなくてもよい。ＮＦＣ通信部１２２は、右コントローラ４（アンテナ１２２ａ）と通信対象とが接近した場合（典型的には、両者の距離が十数センチメートル以下となった場合）に当該通信対象との間で通信可能となる。通信対象は、ＮＦＣ通信部１２２との間で近距離無線通信が可能な任意の装置であり、例えばＮＦＣタグやＮＦＣタグの機能を有する記憶媒体である。ただし、通信対象は、ＮＦＣのカードエミュレーション機能を有する他の装置であってもよい。一例として、本実施例では、ＮＦＣ通信部１２２は、ケース２００内に装着された通信対象（例えば、ＮＦＣタグ）との間で無線通信することによって、ケース２００の種別情報や識別情報等を取得してもよい。
【００９０】
また、右コントローラ４は、赤外撮像部１２３を備える。赤外撮像部１２３は、右コントローラ４の周囲を撮像する赤外線カメラを有する。本実施形態においては、赤外撮像部１２３は、拡張操作装置（例えば、ケース２００）内部に配置された撮像対象部材を撮像するために用いられる。本体装置２および／または右コントローラ４は、撮像された撮像対象部材の情報（例えば、撮像対象部材の平均輝度、面積、重心座標等）を算出し、当該情報に基づいて、拡張操作装置に対して操作された操作内容を判別する。また、赤外撮像部１２３は、環境光によって撮像を行ってもよいが、本実施例においては、赤外線を照射する赤外発光部１２４を有する。赤外発光部１２４は、例えば、赤外線カメラが画像を撮像するタイミングと同期して、赤外線を照射する。そして、赤外発光部１２４によって照射された赤外線が撮像対象部材によって反射され、当該反射された赤外線が赤外線カメラによって受光されることで、赤外線の画像が取得される。これによって、赤外撮像部１２３は、より鮮明な赤外線画像を得ることができる。なお、赤外撮像部１２３と赤外発光部１２４とは、それぞれ別のデバイスとして右コントローラ４内に設けられてもよいし、同じパッケージ内に設けられた単一のデバイスとして右コントローラ４内に設けられてもよい。また、本実施形態においては、赤外線カメラを有する赤外撮像部１２３が用いられるが、他の実施形態においては、撮像手段として、赤外線カメラに代えて可視光カメラ（可視光イメージセンサを用いたカメラ）が用いられてもよい。
【００９１】
右コントローラ４は、処理部１２１を備える。処理部１２１は、通信制御部１１１に接続される。また、処理部１２１は、ＮＦＣ通信部１２２、赤外撮像部１２３、および赤外発光部１２４に接続される。処理部１２１は、本体装置２からの指令に応じて、ＮＦＣ通信部１２２に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じてＮＦＣ通信部１２２の動作を制御する。また、処理部１２１は、ＮＦＣ通信部１２２の起動を制御したり、通信対象（例えば、ＮＦＣタグ）に対するＮＦＣ通信部１２２の動作（具体的には、読み出しおよび書き込み等）を制御したりする。また、処理部１２１は、通信制御部１１１を介して通信対象に送信されるべき情報を本体装置２から受信してＮＦＣ通信部１２２へ渡したり、通信対象から受信された情報をＮＦＣ通信部１２２から取得して通信制御部１１１を介して本体装置２へ送信したりする。
【００９２】
また、処理部１２１は、ＣＰＵやメモリ等を含み、右コントローラ４に備えられた図示しない記憶装置（例えば、不揮発性メモリ等）に記憶された所定のプログラム（例えば、画像処理や各種演算を行うためのアプリケーションプログラム）に基づいて、本体装置２からの指令に応じて赤外撮像部１２３に対する管理処理を実行する。例えば、処理部１２１は、赤外撮像部１２３に撮像動作を行わせたり、撮像結果に基づく情報（撮像画像の情報、あるいは、当該情報から算出される情報等）を取得および／または算出して通信制御部１１１を介して本体装置２へ送信したりする。また、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４の発光を制御する。なお、処理部１２１が処理を行う際に用いるメモリは、処理部１２１内に設けられてもいいし、メモリ１１２であってもよい。
【００９３】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００９４】
次に、図８を参照して、拡張操作装置の一例であるケース２００および頭部装着具３００を用いた操作について説明する。図８は、ユーザがケース２００および頭部装着具３００を装着してゲーム操作する様子の一例を示す図である。本実施例において、ケース２００には右コントローラ４を装着することが可能であり、ケース２００に装着された右コントローラ４から送信されるデータに基づいて、ケース２００に対する操作内容に応じた処理が実行される。また、頭部装着具３００には左コントローラ３を装着することが可能であり、頭部装着具３００に装着された左コントローラ３から送信されるデータに基づいて、頭部装着具３００に対する操作内容に応じた処理が実行される。ここで、詳細は後述するが、ケース２００に対する操作内容は、赤外撮像部１２３によって撮像された撮像画像や右コントローラ４に設けられた慣性センサの検出結果に基づいて検出される。したがって、ケース２００は、ユーザによる操作内容を検出したり、検出結果を本体装置２へ送信したりする電子回路等の電気的構成を必要としない。また、頭部装着具３００に対する操作内容は、左コントローラ３に設けられた慣性センサの検出結果に基づいて検出される。したがって、頭部装着具３００も、ユーザによる操作内容を検出したり、検出結果を本体装置２へ送信したりする電子回路等の電気的構成を必要としない。そのため、本実施例によれば、拡張操作装置の一例であるケース２００や頭部装着具３００の構成を簡易化することができる。
【００９５】
例えば、本実施例では、図８に示すように、ユーザは、ケース２００を背負って装着し、ケース２００に備えられている複数の紐部材２０４を引っ張ったり緩めたりすることによって、ケース２００を用いた操作を行う。例えば、ユーザは、紐部材２０４の一端に設けられた操作部（後述する操作部２５０および操作部２６０）を両足および両手にそれぞれ装着する。これによって、ユーザが左足を動かした場合、左足に装着された操作部２５０に接続された紐部材２０４が引っ張られたり緩められたりし、ユーザが右足を動かした場合、右足に装着された操作部２５０に接続された紐部材２０４が引っ張られたり緩められたりする。また、ユーザが左手を動かした場合、左手に装着された操作部２６０に接続された紐部材２０４が引っ張られたり緩められたりし、ユーザが右手を動かした場合、右手に装着された操作部２６０に接続された紐部材２０４が引っ張られたり緩められたりする。このように、ユーザが両手両足を動かす態様に応じて、異なる紐部材２０４が引っ張られたり緩められたりすることになる。また、本実施例では、ユーザは、背負っているケース２００を傾けることによって、ケース２００を用いた操作を行うことも可能である。なお、ケース２００が、慣性センサ、撮像部、被検出部、および操作部等を含む装置の一例に相当する。
【００９６】
また、本実施例では、図８に示すように、ユーザは、頭部装着具３００をヘルメットや帽子のように頭部に被り、頭部装着具３００を前後左右に傾けることによって、頭部装着具３００を用いた操作を行う。
【００９７】
このようなケース２００および頭部装着具３００を用いた操作に応じて、仮想空間に配置されたプレイヤオブジェクトＰＯが動作し、当該プレイヤオブジェクトＰＯの動作が反映された仮想空間の画像が表示装置（例えば、本体装置１１のディスプレイ１２）に表示される。例えば、操作部２６０が装着された左手を縮めた状態から伸ばした状態になるようにユーザが動作した場合、当該操作部２６０に接続された紐部材２０４が引っ張られることになる。この紐部材２０４を引っ張る操作によって、当該紐部材２０４は、ケース２００のケース本体２０１（図９参照）から引っ張り出されるように動く。このような紐部材２０４の動きをケース２００内部において検出することによって、ケース２００を背負ったユーザが左手を伸ばすような動作をしたことが推測され、プレイヤオブジェクトＰＯも仮想空間において左手を伸ばすように動作する。また、操作部２５０が装着された左足を伸ばした状態から上げるようにユーザが動作した場合、当該操作部２５０に接続された紐部材２０４が緩むことになる。この紐部材２０４を緩める操作によって、当該紐部材２０４は、ケース２００のケース本体２０１（図９参照）に戻るように動く。このような紐部材２０４の動きをケース２００内部において検出することによって、ケース２００を背負ったユーザが左足を上げるような動作をしたことが推測され、プレイヤオブジェクトＰＯも仮想空間において左足を上げるように動作する。つまり、紐部材２０４が接続された操作部２５０または操作部２６０が装着された部位をユーザが動作させた場合、当該部位に対応するプレイヤオブジェクトＰＯの一部（例えば、ユーザが動かした部位と同じ部位）が動作することになる。なお、ケース２００を用いた操作に応じて、仮想空間に配置されたプレイヤオブジェクトＰＯが動作するだけでなく、プレイヤオブジェクトＰＯが仮想空間において他の態様で変化してもよい。例えば、ケース２００を用いた所定の操作に応じて、プレイヤオブジェクトＰＯの表示態様が変化（例えば、色が変わる、他のオブジェクトに変異する、サイズが変わる、能力が変わる等）してもよい。
【００９８】
また、ケース２００に装着されている右コントローラ４には、慣性センサ（加速度センサ１１４および角速度センサ１１５）が備えられており、当該慣性センサの検出結果を用いて、右コントローラ４の姿勢および／または動き（すなわち、ケース２００の姿勢および／または動き）を算出することが可能である。本実施例では、このようなケース２００の姿勢および／または動きに応じて、プレイヤオブジェクトＰＯの動作を制御することが可能である。例えば、ケース２００を背負うユーザが身体全体を右に倒すように動いた場合、ケース２００自体も右に倒れるように動くため、このような動きを右コントローラ４の慣性センサで検出することによって、ケース２００を背負ったユーザが右に倒れるような動作をしたことが推測できる。そして、ユーザが右に倒れるような動作をしたと推測された場合、プレイヤオブジェクトＰＯも仮想空間において右に倒れたり右に旋回したりするように動作する。また、ケース２００を背負うユーザがジャンプした場合、ケース２００自体も上下に動くため、このような動きを右コントローラ４の慣性センサで検出することによって、ケース２００を背負ったユーザがジャンプしたことが推測できる。そして、ユーザがジャンプしたと推測された場合、プレイヤオブジェクトＰＯも仮想空間においてジャンプしたり空中を飛んだりする。つまり、ユーザがケース２００全体を動かした場合、プレイヤオブジェクトＰＯ全体が当該ケース２００全体の動きや姿勢に応じて動作することになる。なお、本実施例では、ケース２００に右コントローラ４が装着されることによってケース２００内に慣性センサが設けられるため、当該慣性センサがケース２００に対して着脱自在に装着されることになる。しかしながら、他の態様においては、慣性センサがケース２００に固設（すなわち、着脱不可能）されていてもよい。また、右コントローラ４自体がケース２００に固設（すなわち、着脱不可能）されていてもよい。この場合、右コントローラ４に内蔵されている赤外撮像部１２３（撮像部）もケース２００に固設されることになる。
【００９９】
また、頭部装着具３００に装着されている左コントローラ３には、慣性センサ（加速度センサ１０４および角速度センサ１０５）が備えられており、当該慣性センサの検出結果を用いて、左コントローラ３の姿勢および／または動き（すなわち、頭部装着具３００の姿勢および／または動き）を算出することが可能である。本実施例では、このような頭部装着具３００の姿勢および／または動きに応じて、プレイヤオブジェクトＰＯの動作を制御することが可能である。例えば、頭部装着具３００を被るユーザが頭部を右に倒すように動いた場合、頭部装着具３００自体も右に倒れるように動くため、このような動きを左コントローラ３の慣性センサで検出することによって、頭部装着具３００を背負ったユーザが右に傾くような動作をしたことが推測できる。そして、ユーザが右に傾くような動作をしたと推測された場合、プレイヤオブジェクトＰＯも仮想空間において右に傾いたり右に旋回したりするように動作する。つまり、ユーザが頭部装着具３００全体を動かした場合、プレイヤオブジェクトＰＯ全体が当該頭部装着具３００全体の動きや姿勢に応じて動作することになる。なお、本実施例では、頭部装着具３００に左コントローラ３が装着されることによって頭部装着具３００に慣性センサが設けられるため、当該慣性センサが頭部装着具３００に対して着脱自在に装着されることになる。しかしながら、他の態様においては、慣性センサが頭部装着具３００に固設（すなわち、着脱不可能）されていてもよい。
【０１００】
上述したように、ケース２００および頭部装着具３００を用いた操作に応じて動作するプレイヤオブジェクトＰＯは、表示装置（例えば、本体装置１１のディスプレイ１２）に表示される。したがって、ケース２００および頭部装着具３００を装着して操作するユーザは、プレイヤオブジェクトＰＯが表示される表示装置を見ることによってゲームを楽しむことになるが、当該表示装置にプレイヤオブジェクトＰＯを表示するための視点は、仮想空間においてどのような位置に配置されてもよい。第１の例として、プレイヤオブジェクトＰＯの背後からプレイヤオブジェクトＰＯを見た仮想空間画像を上記表示装置に表示してもよい。第２の例として、プレイヤオブジェクトＰＯの第１人称視点によって、上記表示装置に仮想空間画像を表示してもよい。第３の例として、プレイヤオブジェクトＰＯの正面からプレイヤオブジェクトＰＯを見た仮想空間画像を上記表示装置に表示してもよい。ここで、仮想空間に配置する視点および視線方向によっては、ユーザにとって自分自身の動きに対するプレイヤオブジェクトＰＯの動きを把握することが難しくなることが考えられるが、ケース２００および頭部装着具３００を用いた操作に対応して動作するプレイヤオブジェクトＰＯの部位や動作方向を当該視点および視線方向に応じて設定することによって、臨場感のあるゲームプレイを提供することが可能となる。
【０１０１】
次に、図９〜図１２を参照して、拡張操作装置の一例であるケース２００について説明する。なお、図９は、ケース２００の外観の一例を示す図である。図１０は、ケース２００のコントローラ配置部２０２に右コントローラ４が装着された状態の一例を示す図である。図１１は、ケース２００内部に設けられた撮像対象部材２０５を撮像する右コントローラ４の状態の一例を示す図である。図１２は、操作部２５０、操作部２６０、および紐部材２０４の動きに応じて、撮像対象部材２０５がスライド移動する一例を示す図である。
【０１０２】
図９において、ケース２００は、ケース本体２０１、コントローラ配置部２０２、肩ベルト２０３、紐部材２０４、操作部２５０、および操作部２６０を有している。ケース２００は、全体として背負いカバンのような形状であり、ケース本体２０１に２本の肩ベルト２０３が取り付けられていることによって、ユーザがケース２００を背負うことが可能である。ケース本体２０１は、２本の肩ベルト２０３が取り付けられるとともにユーザがケース２００を背負った場合にユーザの背中と接する部分となる前側本体２０１ａと、ユーザがケース２００を背負った場合に背面部分となる後側本体２０１ｂとによって構成されている。そして、前側本体２０１ａと後側本体２０１ｂとを組み合わせることによって、ケース本体２０１内には、外部からの光が遮られた内部空間が形成される。
【０１０３】
前側本体２０１ａは、ケース本体２０１から引き出したりケース本体２０１へ戻したりする操作が可能に構成される複数（図９においては４本）の紐部材２０４が設けられている。具体的には、紐部材２０４は、それぞれ前側本体２０１ａの上面に形成された複数の孔から一方端が外部に引き出された状態で配置され、他方端が前側本体２０１ａの内部に設けられている複数の撮像対象部材２０５（図１１、図１２参照）にそれぞれ接続されている。そして、図８を用いて説明したように、ユーザがケース２００を背負って装着した場合、紐部材２０４の一方端に接続された操作部２５０および操作部２６０をそれぞれユーザの両足、両手等にそれぞれ装着することによって、ケース２００を用いた操作が行われる。
【０１０４】
後側本体２０１ｂは、背面中央付近にコントローラ配置部２０２を有している。コントローラ配置部２０２は、前側本体２０１ａおよび後側本体２０１ｂによって形成されるケース本体２０１の内部空間を後側本体２０１ｂの背面側外部（すなわち、ケース本体２０１の外部）に開放する開口部が形成される。図１０に示すように、コントローラ配置部２０２の開口部は、その上下方向の長さが右コントローラ４のハウジング５１の厚さ（図１に示すｚ軸方向の長さ）とほぼ同じであり、その左右方向の長さが右コントローラ４のハウジング５１の左右方向の長さ（図１に示すｘ軸方向の最大長さ）とほぼ同じである。したがって、右コントローラ４の下面がケース本体２０１の内部に進入するようにコントローラ配置部２０２の開口部に右コントローラ４が挿入された状態で配置された場合には、ハウジング５１によって当該開口部が塞がれるような状態となる。そして、コントローラ配置部２０２の開口部の上面には、切り欠き部Ｎａが形成されている。これによって、右コントローラ４の上面が上方を向いた状態で右コントローラ４のｙ軸負方向がケース２００の前方方向となるように右コントローラ４が当該開口部に挿入された場合に、右コントローラ４のアナログスティック５２の操作軸部が切り欠き部Ｎａに嵌合する状態となって、右コントローラ４がコントローラ配置部２０２に配置される（図１０下図参照）。このように、右コントローラ４がコントローラ配置部２０２に配置されてケース２００に装着された場合、右コントローラ４の一部がケース２００の内部空間に内包されるとともに、赤外撮像部１２３が当該内部空間内を撮像可能な状態となる。なお、図１０に例示している右コントローラ４は、その一部がケース２００の内部空間に内包されて装着されているが、その全部がケース２００の内部空間に内包されて装着されてもよいし、その下面（窓部６８が設けられている面）だけがケース２００の内部空間に面するように装着されてもよい。
【０１０５】
なお、後側本体２０１ｂは、コントローラ配置部２０２の近傍にＮＦＣ通信部１２２の通信対象（例えば、ＮＦＣタグ）が備えられていてもよい。例えば、右コントローラ４がコントローラ配置部２０２に配置された状態で、後側本体２０１ｂにおける当該右コントローラ４のアンテナ１２２ａと近接する位置に上記通信対象を配置する。これによって、右コントローラ４がコントローラ配置部２０２に装着されると同時に上記通信対象との間で近距離無線通信が可能な状態となり、当該通信対象に拡張操作装置の種別（ここでは、ケース２００）や固有の識別情報等を記憶させておくことによって、右コントローラ４が装着された拡張操作装置の信頼性を確認することができる。
【０１０６】
図１１および図１２に示すように、ケース本体２０１の内部空間には複数の撮像対象部材２０５が配置される。複数の撮像対象部材２０５は、それぞれ上下方向（図１２に示すＡ方向およびＢ方向）にスライド移動可能にするスライド部２０６内に配置される。スライド部２０６は、スライド部２０６内の空間を複数の撮像対象部材２０５がそれぞれ上記スライド方向にスライド移動するレーンに分割する仕切り部２０７を有している。また、スライド部２０６は、上記各レーンの上方開口部がそれぞれ前側本体２０１ａの上面に形成された複数の孔の下方位置に配置されるように、ケース本体２０１の内部空間における前側本体２０１ａ内に固設される。
【０１０７】
撮像対象部材２０５は、それぞれ所定の重量を有しており、紐部材２０４の他方端にそれぞれ接続されている。そして、撮像対象部材２０５に接続されている紐部材２０４は、スライド部２０６のレーン内および当該レーン上方に形成されている前側本体２０１ａの上面に形成された孔を通って、ケース本体２０１の外部へ引き出されている。したがって、撮像対象部材２０５に接続されている紐部材２０４が、当該撮像部材２０５の重量より大きな力でケース本体２０１の外部へ引っ張られた場合、当該撮像部材２０５がスライド部２０６のレーンに沿って上方向（図１２におけるＡ方向）に上昇することになる。また、撮像部材２０５を上昇させている紐部材２０４が緩められた場合、当該撮像部材２０５が自重によってスライド部２０６のレーンに沿って下方向（図１２におけるＢ方向）に下降することになる。このように、複数の撮像対象部材２０５は、それぞれ接続された紐部材２０４が操作部２５０または２６０を用いて引っ張られたり緩められたりする操作に応じて、ケース本体２０１の内部空間内で昇降するスライド移動して連動することになる。なお、紐部材２０４が、接続部の一例に相当する。
【０１０８】
図１１に示すように、スライダ部２０６は、コントローラ配置部２０２に装着された右コントローラ４の赤外撮像部１２３と対向する位置となる。したがって、右コントローラ４がコントローラ配置部２０２に装着された状態では、赤外撮像部１２３は、スライダ部２０６を撮像可能である。また、上記状態では、赤外発光部１２４は、スライダ部２０６に赤外光を照射可能である。したがって、ケース本体２０１の内部空間は、外部光が遮られた状態となっているが、赤外発光部１２４によって赤外光がスライダ部２０６に照射されているため、赤外撮像部１２３によってスライダ部２０６を撮像することができる。
【０１０９】
スライダ部２０６は、コントローラ配置部２０２に装着された右コントローラ４と対向する面（後側となる面）に複数のスリットが形成されている。上記スリットは、右コントローラ４側から見て、スライダ部２０６に配置されている各撮像対象部材２０５の位置が見えるように、上記スライド方向を長軸方向として上記レーン毎に形成されている。したがって、赤外撮像部１２３が撮像した撮像画像は、上記スリットを介して、スライダ部２０６における各撮像対象部材２０５の位置を認識することができる。
【０１１０】
撮像対象部材２０５の少なくとも一部（典型的には、上記スリットを介して赤外撮像部１２３から見える部分を少なくとも含む部分）は、赤外撮像部１２３が撮像する撮像画像において他の部分と区別可能な材質で構成される認識部２０５ａで構成される。例えば、認識部２０５ａは、再帰性反射の特性を有する材質で構成されてもよい。これによって、赤外発光部１２４から照射された赤外光がより多く反射するため、赤外撮像部１２３が撮像する撮像画像において認識部２０５ａ、すなわち撮像対象部材２０５をより認識しやすくなる。なお、上述した認識部２０５ａは、受動的に赤外光を反射することによって発光するマーカとして機能するが、撮像部の特性に応じて受動的に他の光（例えば、可視光や紫外光）を反射することによって発光するマーカとして機能するものであってもよい。また、認識部２０５ａは、能動的に光を発光するものでもよい。この場合、認識部２０５ａは、赤外発光装置や可視光を強発光する装置等で構成されることが考えられる。また、認識部２０５ａは、特殊な形状の指標（マーカ）であってもよい。一例として、認識部２０５ａは、渦巻き型、矢印型、多角形型等、様々な形状であってもよい。なお、撮像対象部材２０５および／または認識部２０５ａは、被検出部の一例に相当する。
【０１１１】
なお、上述した実施例では、ケース２００に設けられた紐部材２０４を操作部２５０または２６０を用いて引っ張ったり緩めたりすることによって、ケース２００に対する操作が行われる例を用いたが、他の操作方法によってケース本体２０１内の撮像対象部材２０５を動かす操作手段が含まれていてもよい。例えば、ケース２００内に差し込まれている棒状部材の一部を撮像対象部材として、当該撮像対象部材の位置や当該撮像対象部材がケース２００内に存在するか否かを検出してもよい。この場合、ケース２００内に差し込まれている棒状部材を差し込む深さを変えたり、当該棒状部材を引き抜いたり、当該棒状部材を差し戻したりする操作によって、ケース２００に対する操作が行われることになる。
【０１１２】
次に、図１３および図１４を参照して、赤外撮像部１２３が撮像した撮像画像から算出する撮像対象部材の情報について説明する。なお、図１３は、第１モード（クラスタリングモード）において算出する撮像対象部材の情報の一例を説明するための図である。図１４は、第２モード（モーメントモード）において算出する撮像対象部材の情報の一例を説明するための図である。
【０１１３】
図１３において、第１モードでは、赤外撮像部１２３が撮像した撮像画像の中から高輝度画素の塊（クラスタ）を検出し、当該撮像画像における当該クラスタの位置やサイズを算出する。例えば、図１３に示すように、赤外撮像部１２３が撮像した撮像画像全体または当該撮像画像から情報を算出する撮像画像の一部領域（後述する解析ウインドウ）に対して、所定の座標軸（例えば、横方向をＸ軸、縦方向をＹ軸とする座標軸）を設定する。そして、上記座標軸が設定された画像から、所定の閾値以上の輝度を有する画素が隣接している画素群を抽出し、当該画素群が所定の範囲内のサイズ（第１閾値以上、かつ、第２閾値以下のサイズ）であればクラスタであると判定する。例えば、ケース２００内のスライダ部２０６が撮像された撮像画像の場合、赤外発光部１２４から照射された赤外光をより多く反射する認識部２０５ａが高輝度画素として抽出されるため、上記スリットを介して撮像された各認識部２０５ａがそれぞれクラスタとして判定されることになる。そして、上記第１モードでは、このように抽出されたクラスタの総数が算出されるとともに、各クラスタの平均輝度、面積（画素数）、重心座標、および外接長方形が算出され、これらの算出結果が撮像対象部材の情報として算出される。
【０１１４】
なお、上記第１モードにおいて、各クラスタの位置（重心座標や外接長方形の位置）を算出する際、撮像画像において設定された基準位置を基準として算出してもよい。一例として、上記基準位置は、撮像画像に撮像されている所定の被撮像物の位置に設定してもよい。具体的には、上述した撮像対象部材２０５（認識部２０５ａ）とは別に、再帰性反射の特性を有する材質で予め定められた形状で構成された基準マーカをスライダ部２０６付近（赤外撮像部１２３によって撮像可能な位置）の他の撮像対象部材２０５との位置関係が予め定められた位置に設け、当該基準マーカの位置を上記基準位置として機能させる。そして、赤外撮像部１２３の撮像画像を解析する際に、当該撮像画像に対してパターンマッチングを用いた画像処理等を行うことによって、当該撮像画像内から基準マーカが撮像されている位置を算出する。このような基準マーカの撮像位置を基準として各クラスタの位置を算出することによって、各クラスタの位置、向き、形状等を精度よく検出することができる。また、撮像画像内に撮像されている基準マーカと他の撮像対象部材２０５との位置関係や基準マーカが撮像されている形状を用いることによって、撮像対象部材２０５それぞれを特定することが容易になるとともに、当該位置関係や基準マーカの形状を拡張操作装置固有のものにすることによって、赤外撮像部１２３の撮像画像から拡張操作装置の種別等を判別することも可能となる。
【０１１５】
図１４において、第２モードでは、赤外撮像部１２３が撮像した撮像画像を複数のブロックに分割し、ブロック毎の平均輝度や重心位置を算出する。例えば、図１４に示すように、赤外撮像部１２３が撮像した撮像画像全体または当該撮像画像から情報を算出する撮像画像の一部領域（後述する解析ウインドウ）に所定の座標軸（例えば、横方向をＸ軸、縦方向をＹ軸とする座標軸）を設定するとともに、当該座標軸が設定された画像を所定のブロック（例えば、８×６の４８ブロック）に分割する。そして、各ブロックにおいて所定の閾値以上の輝度を有する画素を処理対象として、各ブロックの輝度の総和、各ブロックの横方向の一次モーメント、および各ブロックの縦方向の一次モーメントが算出され、これらの算出結果が撮像対象部材の情報として算出される。例えば、各ブロックの輝度の総和は、各ブロック内の画素が有する輝度を全画素について合計した値であり、当該総和を当該ブロックの画素数で除算することによって当該ブロックの平均輝度が得られるパラメータである。また、各ブロックの横方向の一次モーメントは、各ブロック内の画素が有する輝度に当該画素のＸ軸方向位置を乗算した値を全画素について合計した値であり、当該ブロックの横方向の一次モーメントを当該ブロックの輝度の総和で除算することによって当該ブロックにおける輝度の横方向重心位置が得られるパラメータである。また、各ブロックの縦方向の一次モーメントは、各ブロック内の画素が有する輝度に当該画素のＹ軸方向位置を乗算した値を全画素について合計した値であり、当該ブロックの縦方向の一次モーメントを当該ブロックの輝度の総和で除算することによって当該ブロックにおける輝度の縦方向重心位置が得られるパラメータである。
【０１１６】
なお、これら第１モードにおける撮像対象部材の情報や第２モードにおける撮像対象部材の情報は、右コントローラ４内の処理部１２１において算出されて本体装置２へ送信される。したがって、赤外撮像部１２３が撮像した撮像画像そのものを示すデータを送信する場合と比較すると、本体装置２へ送信するデータ量を削減することができるとともに、本体装置２側における処理負荷も低減することができる。また、撮像対象部材の情報のデータ量が小さいため、右コントローラ４から送信する他の操作データに含ませて当該撮像対象部材の情報を本体装置２へ送信することも可能であり、右コントローラ４と本体装置２との間の通信処理自体も簡素に構成することができる。なお、撮像対象部材の情報を算出する右コントローラ４（処理部１２１）は、検出部および特定部の一例に相当する。
【０１１７】
次に、図１５を参照して、ケース２００の組立方法について説明する。なお、図１５は、ケース２００を組み立てる際の主要部品の組み合わせ例を示す図である。
【０１１８】
図１５において、例えば、紐部材２０４を除くケース２００における各構成部品は、厚紙部材を折り曲げることによって構成されている。なお、図１５では、肩ベルト２０３、紐部材２０４、撮像対象部材２０５、操作部２５０、および操作部２６０の図示を省略している。スライド部２０６は、紐部材２０４が接続された複数の撮像対象部材２０５を各レーンに配置した状態で、仕切り部２０７を角筒部材２０８の内部に挿入することによって組み立てられる。具体的には、仕切り部２０７は、レーン毎の切り込みが生成された保持板材に複数の仕切り板材を挿入することによって組み立てられ、各板材が厚紙部材によって構成される。また、角筒部材２０８は、上記スリットが形成された板材を上記スライド方向が開口した角筒状に折り曲げることによって組み立てられ、当該板材が厚紙部材によって構成される。
【０１１９】
なお、本実施例における厚紙部材は、積層構造を有する板紙単体や複数の板紙を貼り合わせた部材であってよい。一例として、波状に成形した板紙の片面または両面に板紙を貼り合わせた、いわゆる段ボール部材であってもよい。
【０１２０】
また、前側本体２０１ａおよび後側本体２０１ｂは、後側本体２０１ｂが有する４つの差し込み片Ｐｂを前側本体２０１ａに形成された４つの差し込み孔Ｈｃにそれぞれ嵌合させることによって、スライド部２０６を設置する前のケース本体２０１が組み立てられる。
【０１２１】
前側本体２０１ａは、紐部材２０４を貫装するための複数の貫装孔Ｈａ、肩ベルト２０３を装着するための４つの装着孔Ｈｂ、後側本体２０１ｂが有する４つの差し込み片Ｐｂを差し込むための４つの差し込み孔Ｈｃ、後側本体２０１ｂに形成された差し込み孔Ｈｆに差し込むための差し込み片Ｐａ等がそれぞれ形成された板材を折り曲げることによって組み立てられる。具体的には、上記板材は、厚紙部材によって構成され、後面の一部が開口した略六面体形状に当該厚紙部材を折り曲げることによって、前側本体２０１ａが組み立てられる。
【０１２２】
後側本体２０１ｂは、前側本体２０１ａに形成された４つの差し込み孔Ｈｃに差し込むための４つの差し込み片Ｐｂ、前側本体２０１ａが有する差し込み片Ｐａを差し込むための差し込み孔Ｈｆ、コントローラ配置部２０２を挿設するための挿設孔Ｈｄ等がそれぞれ形成された板材を折り曲げることによって組み立てられる。具体的には、上記板材は、厚紙部材によって構成される。そして、上記厚紙部材の一部には、当該厚紙部材を切り出して折り曲げることによってコントローラ配置部２０２を形成する切り出し領域が形成されており、当該切り出し領域の厚紙部材を角筒状に折り曲げた状態で挿設孔Ｈｄに貫装することによって、後側本体２０１ｂにコントローラ配置部２０２が形成される。そして、コントローラ配置部２０２が形成された状態で、略六面体形状に上記厚紙部材を折り曲げることによって、後側本体２０１ｂが組み立てられる。
【０１２３】
このように組み立てられたケース本体２０１の４つの装着孔Ｈｂに肩ベルト２０３を取り付ける。そして、ケース本体２０１の上面を開放した状態で、当該ケース本体２０１の前面側の内部空間にスライド部２０６を設置する。そして、各紐部材２０４を貫装孔Ｈａに貫装した状態で、前側本体２０１ａが有する差し込み片Ｐａを後側本体２０１ｂに形成された差し込み孔Ｈｆに嵌合させるように、ケース本体２０１の上面を閉じることによって、ケース２００が組み立てられる。
【０１２４】
このように、上述したケース２００は、厚紙部材を折り曲げることによって組み立てられる各構成部品を組み合わせることによって構成されるため、板状の部材群を商品形態としてユーザが組み立てるような拡張操作装置を実現することができる。また、上述したように、当該拡張操作装置は、ユーザによる操作内容を検出したり、検出結果を本体装置２へ送信したりする電子回路等の電気的構成を必要としないため、上述したユーザ組立による商品として実現することが可能となる。
【０１２５】
なお、上述した厚紙部材を折り曲げて多面体を形成する際の面同士の接合方法については、任意の方法でかまわない。例えば、当該面同士の接合辺を粘着テープで貼り合わせてもよいし、当該接合辺に差し込み辺および差し込み孔を形成して当該差し込みによって当該接合辺を接合してもよいし、当該接合辺同士を接着剤で接合してもよい。また、ケース２００を構成する各部品が厚紙部材で構成される例を用いたが、これらの各部品の少なくとも一部は、薄紙部材や他の材質の板材であってもよい。例えば、上記各部品の少なくとも一部は、樹脂製や木製や金属製の薄板材や厚板材を折り曲げることによって組み立てられてもよいし、肩ベルト２０３が帯状の繊維材で構成されてもよい。また、上記各部品の一部に他の材質の部品が組み付けられていてもよい。例えば、紐部材２０４が貫装される孔は、当該紐部材２０４の移動によって削られることが考えられるため、当該孔において紐部材２０４と接触する部分に樹脂製等のリング部材をはめ込むことが考えられる。また、上記各部品の少なくとも一部は、予め多面体形状の部品として形成されていてもよい。
【０１２６】
また、頭部装着具３００（図８参照）は、上述したケース２００のように、厚紙部材を折り曲げることによって、ヘルメットや帽子のような頭部に被ることができる部材として組み立てられてもよい。そして、頭部装着具３００には、左コントローラ３の下面（図４に示すｙ軸負方向側に形成されている面）を下方としてy軸負方向に左コントローラ３を上方から縦に挿入して、左コントローラ３の主面（図４に示すｚ軸負方向側に形成されている面）がユーザの頭部左方向を向くように固定できる挿入孔が設けられる。したがって、左コントローラ３が縦方向に挿入されて固定された頭部装着具３００をユーザが頭部に被って装着した場合、ユーザの首から頭部への方向が左コントローラ３のｙ軸正方向となり、ユーザの頭部左方向がｚ軸負方向となるため、左コントローラ３の慣性センサの検出結果に基づいて、ユーザの頭部が倒れている方向を推定することができる。なお、頭部装着具３００は、ケース２００とセットで商品化され、ユーザによって組立可能に構成されてもよい。
【０１２７】
次に、図１６〜図１８を参照して、ケース２００および頭部装着具３００を装着したユーザが足を上げた場合の処理について説明する。なお、図１６は、ケース２００および頭部装着具３００を装着したユーザが左足を上げた様子の一例を示す図である。図１７は、ユーザが左足を上げた場合の撮像対象部材２０５の動きの一例を示す図である。図１８は、ユーザが左足を上げた場合のプレイヤオブジェクトＰＯの動作の一例を示す図である。
【０１２８】
図１６において、ケース２００および頭部装着具３００を装着したユーザが左足を上げた場合、当該左足に装着されている操作部２５０が当該左足の上昇とともに上方へ移動し、当該操作部２５０にその一方端が接続されている紐部材２０４が緩む。したがって、ユーザが足を下ろした状態で当該足に対応する撮像対象部材２０５がスライド部２０６の上方に配置されるように紐部材２０４の長さ等が調整されている場合、ユーザが左足を上げることによって緩んだ紐部材２０４の他方端に接続されている撮像対象部材２０５は、スライド部２０６に沿って下方に降下する（図１６に示す矢印方向）。
【０１２９】
図１７において、複数の撮像対象部材２０５がそれぞれスライド移動する経路に対して、撮像対象部材２０５の位置を判定するための閾値がそれぞれ設定されている。例えば、左足の動作に応じて昇降する左足用の撮像対象部材２０５は、左足用スライド部材２０６に沿ってスライド移動し、当該スライド移動に対して上限閾値ＦＬＨと下限閾値ＦＬＬとが設定されている。そして、左足用の撮像対象部材２０５の位置ＦＬＰ（例えば、左足用の撮像対象部材２０５を構成する認識部２０５ａの重心位置）が、上限閾値ＦＬＨの上方か否か、上限閾値ＦＬＨと下限閾値ＦＬＬとの間の範囲内か否か、下限閾値ＦＬＬの下方か否かを判定することによって、ユーザの左足動作を推定する。一例として、上限閾値ＦＬＨ＝１７０および下限閾値ＦＬＬ＝１００にそれぞれ設定し、撮像対象部材２０５の位置ＦＬＰが１７０より大きな値である場合にユーザの左足が下ろされた状態と判定し、撮像対象部材２０５の位置ＦＬＰが１００〜１７０の範囲である場合にユーザの左足が上げられている状態と判定し、撮像対象部材２０５の位置ＦＬＰが１００より小さな値である場合にユーザの左足が最大限で上げられている状態と判定する。なお、撮像対象部材２０５の位置ＦＬＰが１００より小さな値である場合、異常値であると判定してエラー判定してもよいし、位置ＦＬＰの値と同じ値または下限閾値ＦＬＬと位置ＦＬＰの値との間の値に下限閾値ＦＬＬを変化させてもかまわない。
【０１３０】
撮像対象部材２０５の位置を判定するための閾値は、さらに細分化されてもよい。例えば、上限閾値ＦＬＨ＝１７０および下限閾値ＦＬＬ＝１００に加えて、上限近傍判定値＝１６３（上限より上記範囲の１０％下方）および中間判定値＝１３５（上記範囲の中央）を設定する。この場合、撮像対象部材２０５の位置ＦＬＰが１７０より大きな値である場合にユーザの左足が下ろされた状態と判定し、撮像対象部材２０５の位置ＦＬＰが１６３〜１７０の範囲である場合にユーザの左足が上げられようとしている準備状態と判定し、撮像対象部材２０５の位置ＦＬＰが１３５〜１６３の範囲である場合にユーザの左足が小さく上げられている状態（小股状態）と判定し、撮像対象部材２０５の位置ＦＬＰが１００〜１３５である場合にユーザの左足が大きく上げられている状態（大股状態）と判定し、撮像対象部材２０５の位置ＦＬＰが１００より小さな値である場合にユーザの左足が最大限で上げられている状態と判定してもよい。
【０１３１】
また、左足用の撮像対象部材２０５と同様に、右足用の撮像対象部材２０５、左手用の撮像対象部材２０５、および右手用の撮像対象部材２０５にも、それぞれ撮像対象部材２０５の位置を判定するための閾値が設定されている。例えば、右足の動作に応じて昇降する右足用の撮像対象部材２０５は、右足用スライド部材２０６に沿ってスライド移動し、当該スライド移動に対して上限閾値ＦＲＨ（例えば、ＦＲＨ＝１７０）と下限閾値ＦＲＬ（例えば、ＦＲＬ＝１００）とが設定されている。そして、右足用の撮像対象部材２０５の位置ＦＲＰが、上限閾値ＦＲＨの上方か否か、上限閾値ＦＲＨと下限閾値ＦＲＬとの間の範囲内か否か、下限閾値ＦＲＬの下方か否かを判定することによって、ユーザの右足動作（右足が上げられているか否かおよびその高さ）を推定する。また、左手の動作に応じて昇降する左手用の撮像対象部材２０５は、左手用スライド部材２０６に沿ってスライド移動し、当該スライド移動に対して上限閾値ＨＬＨ（例えば、ＨＬＨ＝２２０）と下限閾値ＨＬＬ（例えば、ＨＬＬ＝１００）とが設定されている。そして、左手用の撮像対象部材２０５の位置ＨＬＰが、上限閾値ＨＬＨの上方か否か、上限閾値ＨＬＨと下限閾値ＨＬＬとの間の範囲内か否か、下限閾値ＨＬＬの下方か否かを判定することによって、ユーザの左手動作（左手が伸ばされているか否かおよび左手までの距離）を推定する。そして、右手の動作に応じて昇降する右手用の撮像対象部材２０５は、右手用スライド部材２０６に沿ってスライド移動し、当該スライド移動に対して上限閾値ＨＲＨ（例えば、ＨＲＨ＝２２０）と下限閾値ＨＲＬ（例えば、ＨＲＬ＝１００）とが設定されている。そして、右手用の撮像対象部材２０５の位置ＨＲＰが、上限閾値ＨＲＨの上方か否か、上限閾値ＨＲＨと下限閾値ＨＲＬとの間の範囲内か否か、下限閾値ＨＲＬの下方か否かを判定することによって、ユーザの右手動作（右手が伸ばされているか否かおよび右手までの距離）を推定する。
【０１３２】
そして、図１８に示すように、撮像対象部材２０５の位置に応じて推定されたユーザの両足および両手の動作に基づいて、プレイヤオブジェクトＰＯを動作させ、当該プレイヤオブジェクトＰＯが表示された仮想空間を表示画面（例えば、ディスプレイ１２）に表示する。例えば、左足用の撮像対象部材２０５の位置ＦＬＰによってユーザが左足を上げていると推定された場合、左足を踏み出して歩行する動作をプレイヤオブジェクトＰＯに行わせ、プレイヤオブジェクトＰＯが左足を踏み出して仮想空間を歩行する様子がディスプレイ１２に表示される。なお、プレイヤオブジェクトＰＯが左足を踏み出す長さや左足を上げる高さについては、ユーザの左足が小股状態か大股状態かによって変化させたり、左足用の撮像対象部材２０５の位置ＦＬＰの値に応じて変化させたりしてもよい。
【０１３３】
次に、図１９〜図２３を参照して、ケース２００および頭部装着具３００を装着したユーザが身体を傾けた場合の処理について説明する。なお、図１９は、ケース２００および頭部装着具３００を装着したユーザが左に身体を傾けた様子の一例を示す図である。図２０は、ユーザが身体を左に傾けた場合の撮像対象部材２０５の動きの一例を示す図である。図２１は、ユーザが身体を左に傾けた場合に行われる閾値補正処理の一例を示す図である。図２２は、ユーザが身体を後ろに傾けた場合に行われる閾値補正処理の一例を示す図である。図２３は、ユーザが身体を左に傾けた場合のプレイヤオブジェクトＰＯの動作の一例を示す図である。
【０１３４】
図１９において、ケース２００および頭部装着具３００を装着したユーザが身体を左に傾けた場合、ケース２００および頭部装着具３００がそれぞれ左に傾く。したがって、ケース２００に固定されている右コントローラ４および頭部装着具３００に固定されている左コントローラ３もそれぞれ左に傾けられるため、右コントローラ４の慣性センサおよび／または左コントローラ３の慣性センサによる検出結果を解析することによって、ユーザが身体を左に傾けたことを推定することができる。
【０１３５】
一方、ケース２００が左に傾いた場合、ユーザの左足に装着されている操作部２５０にその一方端が接続されている紐部材２０４も緩むことになる。したがって、ユーザが身体を左に傾けることによって緩んだ紐部材２０４の他方端に接続されている左足用の撮像対象部材２０５は、スライド部２０６に沿って下方に降下する（図１９に示す矢印方向）。つまり、左足用の撮像対象部材２０５は、ユーザが身体を左に傾けた場合もユーザが左足を上げた場合と同様に下方に降下することになる。したがって、左足用の撮像対象部材２０５のスライド移動に対して設定されている上限閾値ＦＬＨと下限閾値ＦＬＬとを用いてユーザの左足動作を推定する処理を行うと、ユーザが左足を上げていない状態でも左足を上げていると誤認することが考えられる。このように、固定された閾値を用いて撮像対象部材２０５の位置を判定する場合、ユーザ動作を正確に検出できないことが考えられる。
【０１３６】
本実施例では、ケース２００を装着したユーザの姿勢、すなわち右コントローラ４の慣性センサの検出結果に基づいた右コントローラ４の姿勢に応じて、撮像対象部材２０５の位置を判定するための閾値（範囲）を補正する。具体的には、本実施例では、ケース２００を装着したユーザが左に傾いた場合、左足用の撮像対象部材２０５の位置を判定するための上限閾値ＦＬＨおよび下限閾値ＦＬＬをそれぞれ下げる補正を行う。また、本実施例では、ケース２００を装着したユーザが右に傾いた場合、右足用の撮像対象部材２０５の位置を判定するための上限閾値ＦＲＨおよび下限閾値ＦＲＬをそれぞれ下げる補正を行う。また、本実施例では、ケース２００を装着したユーザが後ろに傾いた場合、左足用の撮像対象部材２０５の位置を判定するための上限閾値ＦＬＨおよび下限閾値ＦＬＬと、右足用の撮像対象部材２０５の位置を判定するための上限閾値ＦＲＨおよび下限閾値ＦＲＬとを、それぞれ下げる補正を行う。そして、ケース２００を装着したユーザの傾きが左右にも後ろにも傾いていない状態（例えば、鉛直方向）に戻った場合、それぞれの閾値を上述した初期値に戻す。
【０１３７】
例えば、図２０に示すように、ケース２００を装着したユーザが左に傾いた場合、左足用の撮像対象部材２０５の位置ＦＬＰを判定するための上限閾値ＦＬＨを当該傾きに応じた補正量だけ図示ａ方向に下げ、下限閾値ＦＬＬを当該傾きに応じた補正量だけ図示ｂ方向に下げる補正が行われる。このように、ケース２００を装着したユーザが左に傾くことによって左足用の撮像対象部材２０５の位置ＦＬＰの値が上限閾値ＦＬＨの初期値（例えば、ＦＬＨ＝１７０）より小さい場合であっても、上限閾値ＦＬＨおよび下限閾値ＦＬＬをそれぞれ下げる補正を行うことによって、補正後の上限閾値ＦＬＨより大きな値となる。したがって、ケース２００を装着したユーザが左に傾くことによって左足用の撮像対象部材２０５が降下したとしても、当該降下によってユーザが左足を上げていると判定されることを防止することができる。このように、ケース２００を装着したユーザの姿勢、すなわち右コントローラ４の慣性センサの検出結果に基づいた右コントローラ４の姿勢に応じて、撮像対象部材２０５の位置を判定するための閾値を補正することによって、ユーザ動作を正確に検出することが可能となる。つまり、紐部材２０４を引き出したり緩めたりすることによるユーザ操作を検出する際、当該操作とは別のユーザ動作（例えば、身体を傾ける）によって同様に紐部材２０４が動く場合、これらのユーザ操作とユーザ動作との区別が難しくなるため、当該区別を正確に行うために閾値補正が必要となる。
【０１３８】
図２１に示すように、ケース２００を装着したユーザが左または右に傾いた場合、当該傾き角度に応じて左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬまたは右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬがそれぞれ補正される。一例として、ケース２００を装着したユーザが左に傾いた場合、右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬがそれぞれ初期値に維持され、図２１に示す傾き角度に応じた閾値補正量で左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬがそれぞれ下げられる補正が行われる。また、ケース２００を装着したユーザが右に傾いた場合、左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬがそれぞれ初期値に維持され、図２１に示す傾き角度に応じた閾値補正量で右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬがそれぞれ下げられる補正が行われる。
【０１３９】
例えば、ケース２００を装着したユーザが左に傾いた場合、当該左に傾いた傾斜角度の１°あたり約６．６７の補正量が増加していく関数に基づいて、左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬがそれぞれ下げられる補正が行われる。そして、それぞれの閾値に対する補正限界（例えば、上限閾値ＦＬＨの補正限界が１２５（補正量４５）、下限閾値ＦＬＬの補正限界が６５（補正量３５））に到達した場合、補正限界に到達した上限閾値ＦＬＨまたは下限閾値ＦＬＬの補正は行われない。したがって、上限閾値ＦＬＨと下限閾値ＦＬＬとの間となる範囲は、補正処理において下限閾値ＦＬＬが先に補正限界に到達する場合、上限閾値ＦＬＨおよび下限閾値ＦＬＬがともに補正限界に到達した状態において最小幅となる。例えば、上述した例の場合、上限閾値ＦＬＨと下限閾値ＦＬＬとの間となる範囲は、補正前の初期状態において７０であり、上記補正が行われることによって最小幅６０まで縮小されることになる。
【０１４０】
また、ケース２００を装着したユーザが右に傾いた場合、左に傾いた場合と同様に当該右に傾いた傾斜角度の１°あたり約６．６７の補正量が増加していく関数に基づいて、右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬがそれぞれ下げられる補正が行われる。そして、それぞれの閾値に対する補正限界（例えば、上限閾値ＦＲＨの補正限界が１２５（補正量４５）、下限閾値ＦＲＬの補正限界が６５（補正量３５））に到達した場合、補正限界に到達した上限閾値ＦＲＨまたは下限閾値ＦＲＬの補正は行われない。したがって、上限閾値ＦＲＨと下限閾値ＦＲＬとの間となる範囲も、補正処理において下限閾値ＦＲＬが先に補正限界に到達する場合、上限閾値ＦＲＨおよび下限閾値ＦＲＬがともに補正限界に到達した状態において最小幅となる。例えば、上述した例の場合、上限閾値ＦＲＨと下限閾値ＦＲＬとの間となる範囲は、補正前の初期状態において７０であり、上記補正が行われることによって最小幅６０まで縮小されることになる。
【０１４１】
図２２に示すように、ケース２００を装着したユーザが後ろに傾いた場合、当該後傾角度に応じて左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬと右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬとの全てがそれぞれ補正される。一例として、ケース２００を装着したユーザが後ろに傾いた場合、図２２に示す後傾角度に応じた閾値補正量で左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬと右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬとがそれぞれ下げられる補正が行われる。
【０１４２】
例えば、ケース２００を装着したユーザが後ろに傾いた場合、当該後傾角度の１°あたり約１０．０の補正量が増加していく関数に基づいて、左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬと右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬとがそれぞれ下げられる補正が行われる。そして、それぞれの閾値に対する補正限界（例えば、上限閾値ＦＬＨおよびＦＲＨの補正限界が１２５（補正量４５）、下限閾値ＦＬＬおよびＦＲＬの補正限界が６５（補正量３５））に到達した場合、補正限界に到達した閾値の補正は行われない。したがって、ケース２００を装着したユーザが後ろに傾いた場合でも、上限閾値ＦＬＨと下限閾値ＦＬＬとの間となる範囲は、補正処理において下限閾値ＦＬＬが先に補正限界に到達する場合、上限閾値ＦＬＨおよび下限閾値ＦＬＬがともに補正限界に到達した状態において最小幅となる。例えば、上述した例の場合、上限閾値ＦＬＨと下限閾値ＦＬＬとの間となる範囲は、補正前の初期状態において７０であり、上記補正が行われることによって最小幅６０まで縮小されることになる。また、上限閾値ＦＲＨと下限閾値ＦＲＬとの間となる範囲も、補正処理において下限閾値ＦＲＬが先に補正限界に到達する場合、上限閾値ＦＲＨおよび下限閾値ＦＲＬがともに補正限界に到達した状態において最小幅となる。例えば、上述した例の場合、上限閾値ＦＲＨと下限閾値ＦＲＬとの間となる範囲は、補正前の初期状態において７０であり、上記補正が行われることによって最小幅６０まで縮小されることになる。
【０１４３】
なお、ケース２００を装着したユーザの傾きが鉛直方向へ近づくように戻される場合、それぞれの閾値を上述した初期値に戻すことになるが、撮像対象部材２０５が通常の位置に戻るよりも閾値が初期値に戻る方が早い場合、一時的に誤判定されることが考えられる。したがって、それぞれの閾値を上述した初期値に戻す場合、所定の係数に基づいてユーザの傾きが戻る速度よりも遅い速度でそれぞれの閾値を変化させてもかまわない。一例として、閾値補正量が小さくなる場合、当該閾値補正量が減少する量に１以下の係数（例えば、０．０８）を乗算した値を用いて、当該閾値補正量を変化させてもよい。
【０１４４】
また、実空間においてユーザが装着しているケース２００が傾いている方向は、例えば重力加速度方向を基準として判定することが可能である。一例として、右コントローラ４に設けられている加速度センサ１１４が検出する加速度の値を解析することによって、任意の方法を用いて重力加速度の方向を算出することが可能であり、当該重力加速度の方向を基準とした右コントローラ４の姿勢を算出することによって、実空間においてケース２００が傾いている方向を推定することができる。しかしながら、実空間においてユーザが装着しているケース２００が傾いている方向は、この方法に限定されず、他の方法を用いてもかまわない。
【０１４５】
また、ケース２００を装着したユーザが左後ろに傾いた場合や右後ろに傾いた場合等、左または右への傾きと後ろへの傾きとが同時に生じた場合、最も大きい補正量となるものを選択して上記閾値を補正してもよいし、最も小さい補正量となるものを選択して上記閾値を補正してもよいし、算出された２つの閾値補正量の平均値や加算値を用いて上記閾値を補正してもよい。また、上述した補正では、ケース２００を装着したユーザが前に傾いた場合、各閾値の補正が行われないが、当該前傾角度に応じて各閾値の補正が行われてもかまわない。また、上述した説明では左足用および右足用の撮像対象部材２０５の位置を判定するための閾値を補正する例を用いたが、ケース２００を装着したユーザの傾き等に応じて、左手用または右手用の撮像対象部材２０５の位置を判定するための閾値を補正してもかまわない。
【０１４６】
また、上述した閾値の補正処理では、閾値そのものや補正量に補正限界を設けているが、他の方法を用いて補正限界を設けてもかまわない。例えば、閾値を補正するケース２００の最大傾斜角度を設定し、当該最大傾斜角度以上のケース２００の傾きに対しては当該最大傾斜角度の補正量で補正してもよい。一例として、ケース２００を装着したユーザが左右に傾いた場合の最大傾斜角度を３０°に設定し、当該３０°より大きな傾斜角度でケース２００を装着したユーザが左右に傾いた場合には当該最大傾斜角度に対応する閾値補正量を用いてそれぞれの閾値を補正してもかまわない。また、ケース２００を装着したユーザが後ろに傾いた場合の最大後傾角度を２０°に設定し、当該２０°より大きな後傾角度でケース２００を装着したユーザが後ろに傾いた場合には当該最大後傾角度に対応する閾値補正量を用いてそれぞれの閾値を補正してもかまわない。
【０１４７】
また、上述した閾値の補正処理では、複数の補正限界を組み合わせてもかまわない。例えば、上述した閾値そのものや補正量に設ける補正限界と傾斜角度に設ける補正限界とを組み合わせる場合、上限閾値に何れか一方による補正限界を採用し、下限閾値に何れか他方による補正限界を採用することが考えられる。
【０１４８】
また、上述した説明では、ケース２００を装着したユーザが左右およびまたは後ろに傾いた場合、当該傾斜角度に応じて各閾値が足を上げたと判定されにくい方向に補正される例を用いたが、他の方向に補正されてもかまわない。例えば、検出するユーザの動作によっては、ケース２００を装着したユーザの傾きに応じて、足を上げたと判定されやすい方向に各閾値を補正することも考えられる。また、ケース２００を装着したユーザが左右および／または後ろに傾いた場合であっても、傾斜角度に応じて閾値が何れの方向にも補正されない範囲が設けられてもよい。
【０１４９】
また、上述した説明では、ケース２００を装着したユーザが左に傾いた場合、右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬがそれぞれ初期値に維持され、ケース２００を装着したユーザが右に傾いた場合、左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬがそれぞれ初期値に維持されて、各閾値が補正されない例を用いたが、これらの閾値においても補正されるような例も考えられる。例えば、ケース２００を装着したユーザが左に傾いた場合、左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬが上記説明のようにそれぞれ下げられる補正が行われて左足が上げられたと判定されにくい状態に補正するとともに、右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬがそれぞれ上げられる補正が行われて右足が上げられたと判定されやすい状態に補正することが考えられる。また、ケース２００を装着したユーザが右に傾いた場合、右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬが上記説明のようにそれぞれ下げられる補正が行われて右足が上げられたと判定されにくい状態に補正するとともに、左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬがそれぞれ上げられる補正が行われて左足が上げられたと判定されやすい状態に補正することが考えられる。
【０１５０】
このように、ケース２００および頭部装着具３００を装着したユーザが身体を左右や後ろに傾けた場合、足を上げたと誤認されないように閾値の補正が行われるため、右コントローラ４の慣性センサおよび／または左コントローラ３の慣性センサによる検出結果を解析することによって、ユーザが身体の傾きに応じてプレイヤオブジェクトＰＯの動作を制御する処理を正確に行うことができる。例えば、図２３に示すように、右コントローラ４の慣性センサおよび／または左コントローラ３の慣性センサによる検出結果に基づいて、プレイヤオブジェクトＰＯを動作させ、当該プレイヤオブジェクトＰＯが表示された仮想空間を表示画面（例えば、ディスプレイ１２）に表示する。例えば、右コントローラ４の慣性センサおよび／または左コントローラ３の慣性センサによる検出結果に基づいて、ユーザが左に傾いていると推定された場合、左に傾きながら左に旋回させる動作をプレイヤオブジェクトＰＯに行わせ、仮想空間においてプレイヤオブジェクトＰＯが左に傾きながら左に旋回する様子がディスプレイ１２に表示される。なお、プレイヤオブジェクトＰＯが左に旋回する速さや左に傾く角度については、右コントローラ４の慣性センサによって推定されるケース２００の傾きおよび左コントローラ３の慣性センサによって推定される頭部装着具３００の傾きの両方（例えば、平均値、加算値、差分値）に応じて変化させてもよいし、何れか一方の傾きに応じて変化させてもよい。
【０１５１】
次に、図２４〜図２６を参照して、本実施例において本体装置２で実行される具体的な処理の一例について説明する。図２４は、本実施例において本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図である。なお、ＤＲＡＭ８５には、図２４に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。また、後述する本体装置２で実行される情報処理では、第１モード（クラスタリングモード）によって算出された撮像対象部材の情報を取得する例を用いる。
【０１５２】
ＤＲＡＭ８５のプログラム記憶領域には、本体装置２で実行される各種プログラムＰａが記憶される。本実施形態においては、各種プログラムＰａは、上述した左コントローラ３および／または右コントローラ４との間で無線通信するための通信プログラムや、左コントローラ３および／または右コントローラ４から取得したデータに基づいた情報処理（例えば、ゲーム処理）を行うためのアプリケーションプログラム等が記憶される。なお、各種プログラムＰａは、フラッシュメモリ８４に予め記憶されていてもよいし、本体装置２に着脱可能な記憶媒体（例えば、スロット２３に装着された記憶媒体）から取得されてＤＲＡＭ８５に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてＤＲＡＭ８５に記憶されてもよい。プロセッサ８１は、ＤＲＡＭ８５に記憶された各種プログラムＰａを実行する。
【０１５３】
また、ＤＲＡＭ８５のデータ記憶領域には、本体装置２において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、ＤＲＡＭ８５には、操作データＤａ、姿勢データＤｂ、閾値データＤｃ、操作内容データＤｄ、オブジェクト動作データＤｅ、および画像データＤｆ等が記憶される。
【０１５４】
操作データＤａは、左コントローラ３および右コントローラ４からそれぞれ適宜取得した操作データである。上述したように、右コントローラ４から送信される操作データには、各入力部（具体的には、各ボタン、アナログスティック、各センサ）からの入力に関する情報（具体的には、操作に関する情報、または、センサによる検出結果）と、赤外撮像部１２３の撮像画像の撮像結果に基づく情報が含まれている。また、左コントローラ３から送信される操作データには、各入力部からの入力に関する情報が含まれている。本実施形態では、無線通信によって左コントローラ３および右コントローラ４から所定周期で操作データが送信されており、当該受信した操作データを用いて操作データＤａが適宜更新される。なお、操作データＤａの更新周期は、後述する本体装置２で実行される処理の周期である１フレーム毎に更新されてもよいし、上記無線通信によって操作データが送信される周期毎に更新されてもよい。操作データＤａは、ボタン操作データＤａ１、クラスタデータＤａ２、クラスタ数データＤａ３、角速度データＤａ４、および加速度データＤａ５を含んでいる。ボタン操作データＤａ１は、左コントローラ３および右コントローラ４の各ボタンやアナログスティックからの入力に関する情報を示すデータである。クラスタデータＤａ２は、右コントローラ４の処理部１２１において算出されたクラスタ毎の情報を示すデータである。クラスタ数データＤａ３は、右コントローラ４の処理部１２１において抽出されたクラスタの数を示すデータである。角速度データＤａ４は、左コントローラ３およびの角速度センサ１０５および右コントローラ４の角速度センサ１１５によって検出された左コントローラ３および右コントローラ４にそれぞれ生じている角速度に関する情報を示すデータである。例えば、角速度データＤａ４は、左コントローラ３および右コントローラ４にそれぞれ生じているｘｙｚ軸周りの角速度を示すデータ等を含んでいる。加速度データＤａ５は、左コントローラ３の加速度センサ１０４および右コントローラ４の加速度センサ１１４によって検出された左コントローラ３および右コントローラ４にそれぞれ生じている加速度に関する情報を示すデータである。例えば、加速度データＤａ５は、左コントローラ３および右コントローラ４にそれぞれ生じているｘｙｚ軸方向の加速度を示すデータ等を含んでいる。
【０１５５】
姿勢データＤｂは、実空間における重力加速度の方向を基準とした左コントローラ３および右コントローラ４のそれぞれの姿勢を示すデータである。例えば、姿勢データＤｃは、左コントローラ３および右コントローラ４にそれぞれ作用している重力加速度の方向を示すデータや、当該重力加速度方向に対するそれぞれのｘｙｚ軸方向を示すデータ等を含んでいる。
【０１５６】
閾値データＤｃは、撮像対象部材２０５の位置を判定するための閾値を示すデータである。例えば、閾値データＤｃは、上限閾値ＦＬＨ、下限閾値ＦＬＬ、上限閾値ＦＲＨ、下限閾値ＦＲＬ、上限閾値ＨＬＨ、下限閾値ＨＬＬ、上限閾値ＨＲＨ、および下限閾値ＨＲＬをそれぞれ示すデータである。
【０１５７】
操作内容データＤｄは、クラスタデータＤａ２およびクラスタ数データＤａ３に基づいて算出されたケース２００を用いた操作内容を示すデータと、角速度データＤａ４および加速度データＤａ５に基づいて算出されたケース２００および／または頭部装身具３００を用いた操作内容を示すデータとを示すデータである。
【０１５８】
オブジェクト動作データＤｅは、仮想世界に配置されるプレイヤオブジェクトの動作に関するデータである。画像データＤｆは、ゲームの際に表示装置（例えば、本体装置２のディスプレイ１２）に画像（例えば、プレイヤオブジェクトの画像、他のオブジェクトの画像、背景画像等）を表示するためのデータである。
【０１５９】
次に、本実施形態における情報処理（例えば、ゲーム処理）の詳細な一例を説明する。なお、図２５は、本体装置２で実行される情報処理の一例を示すフローチャートである。図２６は、図２５のステップＳ１３３における操作内容算出処理の詳細な処理の一例を示すサブルーチンである。本実施形態においては、図２５および図２６に示す一連の処理は、プロセッサ８１が各種プログラムＰａに含まれる通信プログラムや所定のアプリケーションプログラム（例えば、ゲームプログラム）を実行することによって行われる。また、図２５および図２６に示す情報処理が開始されるタイミングは任意である。
【０１６０】
なお、図２５および図２６に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をプロセッサ８１が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ８１以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置２において実行される処理の一部は、本体装置２と通信可能な他の情報処理装置（例えば、本体装置２とネットワークを介して通信可能なサーバ）によって実行されてもよい。すなわち、図２５および図２６に示す各処理は、本体装置２を含む複数の情報処理装置が協働することによって実行されてもよい。
【０１６１】
図２５において、プロセッサ８１は、ゲーム処理における初期設定を行い（ステップＳ１３１）、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ８１は、以下に説明する処理を行うためのパラメータを初期化する。また、上記初期設定において、プロセッサ８１は、左コントローラ３および右コントローラ４が装着されている拡張操作装置の種別や識別情報を必要に応じて設定する。例えば、本体装置２、左コントローラ３、または右コントローラ４を用いて、ユーザが拡張操作装置の種別を選択する操作を行うことによって、拡張操作装置の種別が初期設定されてもよい。また、他の例として、ＮＦＣ通信部１２２を介して、右コントローラ４が拡張操作装置（ケース２００）に設けられた通信対象と近距離無線通信が可能である場合、当該通信対象から拡張操作装置の種別や識別情報を取得することによって、拡張操作装置の種別や識別情報が初期設定されてもよい。さらに、上述した基準マーカが赤外撮像部１２３の撮像画像に撮像されている場合、当該基準マーカの撮像形状や当該基準マーカと他の撮像対象部材との撮像位置関係に基づいて特定された拡張操作装置の種別を取得することによって、拡張操作装置の種別が初期設定されてもよい。また、上記初期設定において、プロセッサ８１は、赤外撮像部１２３の撮像画像のうち、撮像結果に基づく情報を算出するために解析する範囲（解析ウインドウ）を初期設定して、右コントローラ４へ当該設定内容を指示してもよい。
【０１６２】
次に、プロセッサ８１は、左コントローラ３および右コントローラ４からそれぞれ操作データを取得して操作データＤａを更新し（ステップＳ１３２）、次のステップに処理を進める。例えば、プロセッサ８１は、左コントローラ３および右コントローラ４からそれぞれ取得した操作データに応じて、ボタン操作データＤａ１、クラスタデータＤａ２、クラスタ数データＤａ３、角速度データＤａ４、および加速度データＤａ５を更新する。
【０１６３】
次に、プロセッサ８１は、操作内容算出処理を行って（ステップＳ１３３）、ステップＳ１３４に処理を進める。以下、図２６を参照して、上記ステップＳ１３３において行われる操作内容算出処理について説明する。
【０１６４】
図２６において、プロセッサ８１は、左コントローラ３および右コントローラ４の姿勢を算出し（ステップＳ１４１）、次のステップに処理を進める。例えば、プロセッサ８１は、左コントローラ３に生じている加速度を示すデータを加速度データＤａ５から取得し、左コントローラ３に作用している重力加速度の方向を算出して、当該方向を示すデータを用いて姿勢データＤｃを更新する。また、プロセッサ８１は、右コントローラ４に生じている加速度を示すデータを加速度データＤａ５から取得し、右コントローラ４に作用している重力加速度の方向を算出して、当該方向を示すデータを用いて姿勢データＤｃを更新する。重力加速度を抽出する方法については任意の方法を用いればよく、例えば左コントローラ３や右コントローラ４に平均的に生じている加速度成分を算出して当該加速度成分を重力加速度として抽出してもよい。そして、プロセッサ８１は、左コントローラ３に生じている角速度を示すデータを角速度データＤａ４から取得し、左コントローラ３のｘｙｚ軸周りの角速度を算出して、当該角速度を示すデータを用いて重力加速度の方向を基準とした左コントローラ３のｘｙｚ軸方向を算出して姿勢データＤｃを更新する。また、プロセッサ８１は、右コントローラ４に生じている角速度を示すデータを角速度データＤａ４から取得し、右コントローラ４のｘｙｚ軸周りの角速度を算出して、当該角速度を示すデータを用いて重力加速度の方向を基準とした右コントローラ４のｘｙｚ軸方向を算出して姿勢データＤｃを更新する。
【０１６５】
なお、左コントローラ３および右コントローラ４の姿勢については、重力加速度を基準としたｘｙｚ軸方向が算出された以降は、ｘｙｚ各軸周りの角速度のみに応じてそれぞれ更新してもよい。しかしながら、左コントローラ３および右コントローラ４の姿勢と重力加速度の方向との関係が誤差の累積によってずれていくことを防止するために、所定周期毎に重力加速度の方向に対するｘｙｚ軸方向を算出して左コントローラ３および右コントローラ４の姿勢をそれぞれ補正してもよい。
【０１６６】
次に、プロセッサ８１は、ケース２００を装着しているユーザが左に傾いていることを、右コントローラ４の姿勢が示しているか否かを判定する（ステップＳ１４２）。そして、プロセッサ８１は、ユーザが左に傾いていることを右コントローラ４の姿勢が示している場合、次のステップＳ１４３に処理を進める。一方、プロセッサ８１は、ユーザが左に傾いていることを右コントローラ４の姿勢が示していない場合、次のステップＳ１４４に処理を進める。例えば、プロセッサ８１は、姿勢データＤｃを参照して、右コントローラ４の姿勢を取得する。そして、図１０に示すように、右コントローラ４の上面（ｚ軸負方向）が上方を向いた状態で右コントローラ４のｙ軸負方向がケース２００の前方方向となるように右コントローラ４がケース２００の開口部に挿入されて固定されている場合、右コントローラ４の図５に示すｘ軸正方向が実空間の水平より上方を向いていれば、プロセッサ８１は、上記ステップＳ１４２において肯定判定する。
【０１６７】
ステップＳ１４３において、プロセッサ８１は、右コントローラ４の姿勢に応じて左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬを補正し、ステップＳ１４６に処理を進める。例えば、プロセッサ８１は、姿勢データＤｃが示す右コントローラ４のｘ軸正方向と水平方向との角度差（すなわち、ユーザが左に傾いている傾斜角度）と、図２１を用いて説明した補正関数とを用いて、左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬを補正し、補正後の上限閾値ＦＬＨおよび下限閾値ＦＬＬを用いて閾値データＤｃを更新する。なお、プロセッサ８１は、右コントローラ４のｘ軸正方向と水平方向との角度差が小さくなる方向に変化している場合、補正による上限閾値ＦＬＨおよび下限閾値ＦＬＬの変化量に所定の補正係数（１以下の係数であり、例えば、０．０８）を乗算し、乗算した変化量を用いて上限閾値ＦＬＨおよび下限閾値ＦＬＬを補正する。
【０１６８】
ステップＳ１４４において、プロセッサ８１は、ケース２００を装着しているユーザが右に傾いていることを、右コントローラ４の姿勢が示しているか否かを判定する。そして、プロセッサ８１は、ユーザが右に傾いていることを右コントローラ４の姿勢が示している場合、次のステップＳ１４５に処理を進める。一方、プロセッサ８１は、ユーザが右に傾いていることを右コントローラ４の姿勢が示していない場合、次のステップＳ１４６に処理を進める。例えば、プロセッサ８１は、姿勢データＤｃを参照して、右コントローラ４の姿勢を取得する。そして、図１０に示すように、右コントローラ４の上面（ｚ軸負方向）が上方を向いた状態で右コントローラ４のｙ軸負方向がケース２００の前方方向となるように右コントローラ４がケース２００の開口部に挿入されて固定されている場合、右コントローラ４の図５に示すｘ軸正方向が実空間の水平より下方を向いていれば、プロセッサ８１は、上記ステップＳ１４４において肯定判定する。
【０１６９】
ステップＳ１４５において、プロセッサ８１は、右コントローラ４の姿勢に応じて右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬを補正し、ステップＳ１４６に処理を進める。例えば、プロセッサ８１は、姿勢データＤｃが示す右コントローラ４のｘ軸正方向と水平方向との角度差（すなわち、ユーザが右に傾いている傾斜角度）と、図２１を用いて説明した補正関数とを用いて、右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬを補正し、補正後の上限閾値ＦＲＨおよび下限閾値ＦＲＬを用いて閾値データＤｃを更新する。なお、プロセッサ８１は、右コントローラ４のｘ軸正方向と水平方向との角度差が小さくなる方向に変化している場合、補正による上限閾値ＦＲＨおよび下限閾値ＦＲＬの変化量に所定の補正係数（１以下の係数であり、例えば、０．０８）を乗算し、乗算した変化量を用いて上限閾値ＦＲＨおよび下限閾値ＦＲＬを補正する。
【０１７０】
ステップＳ１４６において、プロセッサ８１は、ケース２００を装着しているユーザが後傾していることを、右コントローラ４の姿勢が示しているか否かを判定する。そして、プロセッサ８１は、ユーザが後傾していることを右コントローラ４の姿勢が示している場合、次のステップＳ１４７に処理を進める。一方、プロセッサ８１は、ユーザが後傾していることを右コントローラ４の姿勢が示していない場合、次のステップＳ１４８に処理を進める。例えば、プロセッサ８１は、姿勢データＤｃを参照して、右コントローラ４の姿勢を取得する。そして、図１０に示すように、右コントローラ４の上面（ｚ軸負方向）が上方を向いた状態で右コントローラ４のｙ軸負方向がケース２００の前方方向となるように右コントローラ４がケース２００の開口部に挿入されて固定されている場合、右コントローラ４の図５に示すｙ軸正方向が実空間の水平より下方を向いていれば、プロセッサ８１は、上記ステップＳ１４６において肯定判定する。
【０１７１】
ステップＳ１４７において、プロセッサ８１は、右コントローラ４の姿勢に応じて左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬと右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬとを補正し、ステップＳ１４８に処理を進める。例えば、プロセッサ８１は、姿勢データＤｃが示す右コントローラ４のｙ軸正方向と水平方向との角度差（すなわち、ユーザの後傾角度）と、図２２を用いて説明した補正関数とを用いて、左足用の上限閾値ＦＬＨおよび下限閾値ＦＬＬと右足用の上限閾値ＦＲＨおよび下限閾値ＦＲＬとを補正し、補正後の上限閾値ＦＬＨおよび下限閾値ＦＬＬと上限閾値ＦＲＨおよび下限閾値ＦＲＬとを用いて閾値データＤｃを更新する。なお、プロセッサ８１は、右コントローラ４のｙ軸正方向と水平方向との角度差が小さくなる方向に変化している場合、補正による上限閾値ＦＬＨおよび下限閾値ＦＬＬと上限閾値ＦＲＨおよび下限閾値ＦＲＬとの変化量に所定の補正係数（１以下の係数であり、例えば、０．０８）を乗算し、乗算した変化量を用いて上限閾値ＦＬＨおよび下限閾値ＦＬＬと上限閾値ＦＲＨおよび下限閾値ＦＲＬとを補正する。
【０１７２】
なお、上記ステップＳ１４３またはステップＳ１４５における閾値補正と上記ステップＳ１４７における閾値補正とがともに行われる場合、双方の補正から最も大きい補正量となるものを選択して閾値補正してもよいし、双方の補正から最も小さい補正量となるものを選択して閾値補正してもよいし、双方の補正においてそれぞれ算出された２つの閾値補正量の平均値や加算値を用いて閾値補正してもよい。なお、上記ステップＳ１４１〜ステップＳ１４７の処理を行うプロセッサ８１が、変更部の一例に相当する。
【０１７３】
ステップＳ１４８において、プロセッサ８１は、赤外撮像部１２３の撮像画像から抽出されたクラスタ毎の重心座標と各閾値とに基づいて、ケース２００を用いた操作内容を算出し、次のステップに処理を進める。例えば、プロセッサ８１は、上記ステップＳ１３２において更新されたクラスタデータＤａ２およびクラスタ数データＤａ３におけるクラスタ毎の重心座標データおよびクラスタの数と閾値データＤｃにおける各閾値とに基づいて、ケース２００を用いた操作内容を算出して、操作内容データＤｄを更新する。例えば、プロセッサ８１は、ユーザの左足に装着されている操作部２５０に接続されている撮像対象部材２０５の位置、すなわち左足用の撮像対象部材２０５に対応するクラスタの位置が上限閾値ＦＬＨより降下した場合、ユーザが左足を上げたと判定する。また、プロセッサ８１は、ユーザの右足に装着されている操作部２５０に接続されている撮像対象部材２０５の位置、すなわち右足用の撮像対象部材２０５に対応するクラスタの位置が上限閾値ＦＲＨより降下した場合、ユーザが右足を上げたと判定する。また、プロセッサ８１は、ユーザの左手に装着されている操作部２６０に接続されている撮像対象部材２０５の位置、すなわち左手用の撮像対象部材２０５に対応するクラスタの位置が上限閾値ＨＬＨより降下した場合、ユーザが左手を伸ばすような操作をしたと判定する。また、プロセッサ８１は、ユーザの右手に装着されている操作部２６０に接続されている撮像対象部材２０５の位置、すなわち右手用の撮像対象部材２０５に対応するクラスタの位置が上限閾値ＨＲＨより降下した場合、ユーザが右手を伸ばすような操作をしたと判定する。さらに、プロセッサ８１は、左足用の撮像対象部材２０５および右足用の撮像対象部材２０５に対応するクラスタの位置が両方とも上限閾値ＦＬＨおよび上限閾値ＦＲＨより下降した場合、ユーザがしゃがむような操作をしたと判定する。なお、上記ステップＳ１４８の処理を行うプロセッサ８１が、判定部および処理部の一例に相当する。
【０１７４】
次に、プロセッサ８１は、左コントローラ３および右コントローラ４の姿勢に基づいて、ケース２００および頭部装着具３００を用いた操作内容を算出し（ステップＳ１４９）、当該サブルーチンによる処理を終了する。例えば、プロセッサ８１は、上記ステップＳ１４１において更新された姿勢データＤｂにおける左コントローラ３および右コントローラ４の姿勢に基づいて、ケース２００および頭部装着具３００を用いた操作内容を算出して、操作内容データＤｄを更新する。例えば、右コントローラ４の上面（ｚ軸負方向）が上方を向いた状態で右コントローラ４のｙ軸負方向がケース２００の前方方向となるように右コントローラ４がケース２００の開口部に固定され、左コントローラ３の下面を下方として左コントローラ３の上面（図４に示すｚ軸負方向）がユーザの頭部左方向を向くように左コントローラ３が頭部装着具３００に固定されている場合、右コントローラ４のｘ軸正方向が実空間の水平より上方を向き、左コントローラ３のｚ軸正方向が実空間の水平より上方を向いていれば、プロセッサ８１は、ユーザが身体を左に傾ける操作を行っていると判定する。また、右コントローラ４のｘ軸正方向が実空間の水平より下方を向き、左コントローラ３のｚ軸正方向が実空間の水平より下方を向いていれば、プロセッサ８１は、ユーザが身体を右に傾ける操作を行っていると判定する。なお、上記ステップＳ１４９の処理を行うプロセッサ８１が、処理部の一例に相当する。
【０１７５】
図２５に戻り、上記ステップＳ１３３における操作内容算出処理の後、プロセッサ８１は、ケース２００および／または頭部装着具３００を用いた操作内容に基づいて、プレイヤオブジェクトＰＯの各部位（パーツ）の動作を設定し（ステップＳ１３４）、次のステップに処理を進める。例えば、プロセッサ８１は、上記ステップＳ１３３において算出された操作内容に基づいて、ユーザの操作内容と類似した動きでプレイヤオブジェクトＰＯの各部位の動作を設定し、当該動作を用いてプレイヤオブジェクト動作データＤｅを更新する。一例として、上記ステップＳ１３３において、ケース２００および／または頭部装着具３００を用いてユーザが左足を上げたと判定された場合、プレイヤオブジェクトＰＯも仮想空間において左足を上げて歩行する動作（図１８参照）に設定され、当該動作を用いてプレイヤオブジェクト動作データＤｅが更新される。なお、プレイヤオブジェクトＰＯが足を上げる高さや歩行する速度については、ユーザが上げた左足が小股状態か大股状態かによって変化させたり、左足用の撮像対象部材２０５の位置ＦＬＰの値に応じて変化させたりして設定してもよい。他の例として、上記ステップＳ１３３において、ケース２００および／または頭部装着具３００を用いてユーザが身体を左に傾けたと判定された場合、プレイヤオブジェクトＰＯも仮想空間において身体を左に傾けて左に旋回する動作（図２３参照）に設定され、当該動作を用いてプレイヤオブジェクト動作データＤｅが更新される。なお、プレイヤオブジェクトＰＯが左に身体を傾ける角度や旋回する速度については、右コントローラ４の姿勢によって推定されるケース２００の傾きおよび左コントローラ３の姿勢によって推定される頭部装着具３００の傾きの両方（例えば、平均値、加算値、差分値）に応じて設定されてもよいし、何れか一方の傾きに応じて設定されてもよい。なお、上記ステップＳ１３４の処理を行うプロセッサ８１が、処理部の一例に相当する。
【０１７６】
次に、プロセッサ８１は、表示装置にプレイヤオブジェクトＰＯが配置された仮想空間の画像を表示する処理を行い（ステップＳ１３５）、次のステップに処理を進める。例えば、プロセッサ８１は、プレイヤオブジェクト動作データＤｅに基づいてプレイヤオブジェクトＰＯの姿勢や位置を変化させ、当該変化させた後の姿勢および位置に基づいてプレイヤオブジェクトＰＯを仮想空間に配置する。そして、プロセッサ８１は、所定の位置（例えば、プレイヤオブジェクトＰＯの背後の視点や第１人称視点）に配置された仮想カメラから、プレイヤオブジェクトＰＯが配置された仮想空間を見た仮想空間画像を生成し、当該仮想空間画像を表示装置（例えば、本体装置１１のディスプレイ１２）に表示する処理を行う。なお、上記ステップＳ１３５の処理を行うプロセッサ８１が、ゲーム画像生成部の一例に相当する。
【０１７７】
次に、プロセッサ８１は、ゲームを終了するか否かを判定する（ステップＳ１３６）。上記ステップＳ１３６においてゲームを終了する条件としては、例えば、上記ゲームを終了する条件が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。プロセッサ８１は、ゲームを終了しない場合に上記ステップＳ１３２に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップＳ１３２〜ステップＳ１３６の一連の処理は、ステップＳ１３６でゲームを終了すると判定されるまで繰り返し実行される。
【０１７８】
このように、本実施例においては、拡張操作装置に含まれるケース２００に対する操作内容は、赤外撮像部１２３によって撮像された撮像画像に基づいて検出される。そして、ケース２００および頭部装着具３００を装着したユーザが身体を左右や後ろに傾けた場合、足を上げたと誤認されないように閾値の補正が行われるため、右コントローラ４の慣性センサおよび／または左コントローラ３の慣性センサによる検出結果を解析することによって、ユーザが身体の傾きに応じてプレイヤオブジェクトＰＯの動作を制御する処理を正確に行うことができる。
【０１７９】
なお、上述した実施例では、右コントローラ４の姿勢に基づいて、被検出部画像の位置を判定するための閾値を変更しているが、左コントローラ３の姿勢に基づいて、被検出部画像の位置を判定するための閾値を変更してもよい。例えば、左コントローラ３が固定された頭部装着具３００を装着したユーザの頭部が左に傾いた場合に左足用の閾値を変更し、ユーザの頭部が右に傾いた場合に右足用の閾値を変更し、ユーザの頭部が後ろに傾いた場合に左足用および右足用の閾値を変更することにより、右コントローラ４の姿勢を用いた制御と同様の効果を期待してもよい。
【０１８０】
また、左コントローラ３の姿勢と右コントローラ４の姿勢との両方に基づいて、被検出部画像の位置を判定するための閾値を変更してもよい。この場合、左コントローラ３の姿勢と右コントローラ４の姿勢との平均値、左コントローラ３の姿勢と右コントローラ４の姿勢との加算値、左コントローラ３の姿勢と右コントローラ４の姿勢との差分値、左コントローラ３の姿勢と右コントローラ４の姿勢とのうち傾斜角度が大きい方の値、左コントローラ３の姿勢と右コントローラ４の姿勢とのうち傾斜角度が小さい方の値等に基づいて、被検出部画像の位置を判定するための閾値を変更することが考えられる。
【０１８１】
また、上述した実施例では、ケース２００および頭部装着具３００によって構成される拡張操作装置を用いているが、拡張操作装置は、他の操作装置がさらに加えられた構成でもよいし、何れか一方（例えば、ケース２００）のみによって構成されてもよい。例えば、拡張操作装置がケース２００のみによって構成される場合、左コントローラ３が不要となるため、右コントローラ４の姿勢のみのよって、ユーザの身体の傾きによる操作内容が判定されてもよい。
【０１８２】
また、上述した実施例では、紐部材２０４の一端に操作部２５０または操作部２６０が設けられているが、紐部材２０４の一端に操作部２５０または操作部２６０が設けられていない態様でもかまわない。例えば、紐部材２０４の一端をユーザが手で握って操作したり、紐部材２０４の一端を足にむすびつけて操作したりすることによって、ユーザがケース２００を背負って操作してもよい。この場合、紐部材２０４自体がユーザ操作に応じて撮像対象部材２０５と連動する操作部として機能することになる。
【０１８３】
また、上述した実施例において、右コントローラ４から本体装置２へ送信する撮像画像に基づいたデータは、赤外撮像部１２３が撮像した撮像画像そのものを示すデータでもよい。この場合、右コントローラ４から本体装置２へ送信されるデータ量が増加することが考えられるが、本体装置２側において、上記撮像画像に関する様々な解析処理を行うことが可能となる。
【０１８４】
また、上述した拡張操作装置では、ケース２００内に設けられた撮像対象部材２０５がユーザ操作に応じて上下方向に移動し、当該撮像対象部材２０５の位置に基づいてケース２００を用いた操作内容を算出しているが、ケース２００に対するユーザ操作に応じて操作対象部材が他の方向に動いてもよい。第１の例として、ユーザ操作に応じて、撮像対象部材が左右方向または前後方向に移動し、当該撮像対象の位置に基づいて拡張操作装置に対する操作内容を算出してもよい。第２の例として、赤外撮像部１２３の撮像方向に対して平行に設けられた回転軸を中心に撮像対象部材が回転する場合、所定の方向を指し示すことが可能なマーカを当該撮像対象部材の赤外撮像部１２３側の面に貼り付ける。そして、赤外撮像部１２３の撮像画像において上記マーカが指し示す方向を検出することによって、上記撮像対象部材が回転している回転角度を算出することが可能となり、当該回転角度に基づいて拡張操作装置に対する操作内容を算出することができる。この場合、慣性センサから出力されるデータに基づいて、上記回転角度を判定するための閾値を変更することが考えられる。第３の例として、赤外撮像部１２３の撮像方向に対して垂直に設けられた回転軸を中心に撮像対象部材が回転する場合、ユーザ操作に応じて撮像される被検出部の形状を変化させることが考えられる。例えば、赤外撮像部１２３と対向する位置における長さや模様等の形状が回転角度によって異なるマーカを当該撮像対象部材の側面に貼り付ける。そして、赤外撮像部１２３の撮像画像において上記マーカの長さや模様等の形状を検出することによって、上記撮像対象部材が回転している回転角度を算出することが可能となり、当該回転角度に基づいて拡張操作装置に対する操作内容を算出することができる。この場合、慣性センサから出力されるデータに基づいて、上記回転角度を判定するための閾値を変更することが考えられる。
【０１８５】
なお、撮像される被検出部の形状を変化させる場合、第１の例として「○」「×」「△」等、全く別個の形状へと被検出部（例えば、マーカ）が差し替わって変化することが考えられる。また、第２の例として、１つの被検出部（例えば、マーカ）の一部が赤外撮像部１２３によって撮像可能な位置に配置され、当該被検出部の一部である第１部分が撮像されている状態から、当該第１部分とは異なる形状となる当該被検出部の他部である第２部分が撮像されている状態へと変化することが考えられる。なお、上記撮像される被検出部の形状を変化させる例は、被検出部が操作部への操作と連動して異なる撮像形状に変化する一例に相当する。
【０１８６】
また、上述した実施例において、左コントローラ３の動きや姿勢および右コントローラ４の動きや姿勢を検出する方法については、単なる一例であって、他の方法や他のデータを用いて左コントローラ３の動きや姿勢および右コントローラ４の動きや姿勢を検出してもよい。例えば、左コントローラ３の姿勢および右コントローラ４の姿勢を、当該左コントローラ３および右コントローラ４にそれぞれ生じる角速度のみで算出、または当該左コントローラ３および右コントローラ４にそれぞれ生じる角速度と加速度とを組み合わせて算出しているが、当該左コントローラ３および右コントローラ４にそれぞれ生じる加速度のみで姿勢を算出してもかまわない。左コントローラ３および右コントローラ４にそれぞれ生じる加速度のみ検出する場合であっても、左コントローラ３および右コントローラ４にそれぞれ生じる重力加速度が生じている方向を算出可能であり、当該重力加速度を基準としたｘｙｚ軸方向を逐次算出すれば上述した実施例と同様の処理が可能であることは言うまでもない。
【０１８７】
また、本体装置２と左コントローラ３および右コントローラ４とは、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器（ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、パーソナルコンピュータ、カメラ、タブレット等）等であってもよい。
【０１８８】
また、上述した説明では情報処理（ゲーム処理）を本体装置２でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、本体装置２がさらに他の装置（例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末）と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理（ゲーム処理）は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、本体装置２のプロセッサ８１が所定のプログラムを実行することによって情報処理を行うことが可能であるが、本体装置２が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０１８９】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置（据置型のゲーム装置）と携帯型の情報処理装置（携帯型のゲーム装置）との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【０１９０】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【０１９１】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じて本体装置２や右コントローラ４に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【０１９２】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１９３】
以上のように、本発明は、より多様なユーザ操作を実現することができる情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置等として利用することができる。
【符号の説明】
【０１９４】
２…本体装置
３…左コントローラ
４…右コントローラ
１１…ハウジング
１２…ディスプレイ
８１…プロセッサ
８３…コントローラ通信部
８５…ＤＲＡＭ
１１１…通信制御部
１２１…処理部
１２３…赤外撮像部
１２４…赤外発光部
２００…ケース
２０１…ケース本体
２０２…コントローラ配置部
２０３…肩ベルト
２０４…紐部材
２０５…撮像対象部材
２０６…スライド部
３００…頭部装着具
【図１】
2019122590.tif 000003
【図２】
2019122590.tif 000004
【図３】
2019122590.tif 000005
【図４】
2019122590.tif 000006
【図５】
2019122590.tif 000007
【図６】
2019122590.tif 000008
【図７】
2019122590.tif 000009
【図８】
2019122590.tif 000010
【図９】
2019122590.tif 000011
【図１０】
2019122590.tif 000012
【図１１】
2019122590.tif 000013
【図１２】
2019122590.tif 000014
【図１３】
2019122590.tif 000015
【図１４】
2019122590.tif 000016
【図１５】
2019122590.tif 000017
【図１６】
2019122590.tif 000018
【図１７】
2019122590.tif 000019
【図１８】
2019122590.tif 000020
【図１９】
2019122590.tif 000021
【図２０】
2019122590.tif 000022
【図２１】
2019122590.tif 000023
【図２２】
2019122590.tif 000024
【図２３】
2019122590.tif 000025
【図２４】
2019122590.tif 000026
【図２５】
2019122590.tif 000027
【図２６】
2019122590.tif 000028