(57)【特許請求の範囲】
【請求項１】
ユーザの身体の少なくとも一部を乗せることが可能な第１の入力装置と当該第１の入力装置から得られたデータを処理する情報処理装置とを含む情報処理システムであって、
前記第１の入力装置は、
ユーザの身体の少なくとも一部を乗せる第１の台部と、
前記第１の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを出力する距離データ出力手段とを備え、
前記情報処理装置は、
前記距離データ出力手段から出力された距離データを取得するデータ取得手段と、
前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
前記第１の台部は、ユーザが足裏を置くための面が前記台面上に設定され、
前記距離データ出力手段は、前記面の下部に少なくとも１つ設けられ、当該面上に存在するユーザの身体の一部までの距離にしたがって決められる距離データを出力する、情報処理システム。
【請求項２】
ユーザの身体の少なくとも一部を乗せることが可能な第１の入力装置と当該第１の入力装置から得られたデータを処理する情報処理装置とを含む情報処理システムであって、
前記第１の入力装置は、
ユーザの身体の少なくとも一部を乗せる第１の台部と、
前記第１の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを出力する距離データ出力手段とを備え、
前記情報処理装置は、
前記距離データ出力手段から出力された距離データを取得するデータ取得手段と、
前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
前記距離データ出力手段は、前記台面の下部に、当該台面に沿った方向に所定の間隔をあけて２つ設けられる、情報処理システム。
【請求項３】
ユーザの身体の少なくとも一部を乗せることが可能な第１の入力装置と当該第１の入力装置から得られたデータを処理する情報処理装置とを含む情報処理システムであって、
前記第１の入力装置は、
ユーザの身体の少なくとも一部を乗せる第１の台部と、
前記第１の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを出力する距離データ出力手段とを備え、
前記情報処理装置は、
前記距離データ出力手段から出力された距離データを取得するデータ取得手段と、
前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
前記第１の台部は、前記台面から突出する複数の突起部を備える、情報処理システム。
【請求項４】
ユーザの身体の少なくとも一部を乗せることが可能な第１の入力装置と当該第１の入力装置から得られたデータを処理する情報処理装置とを含む情報処理システムであって、
前記第１の入力装置は、
ユーザの身体の少なくとも一部を乗せる第１の台部と、
前記第１の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを出力する距離データ出力手段とを備え、
前記情報処理装置は、
前記距離データ出力手段から出力された距離データを取得するデータ取得手段と、
前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
前記第１の入力装置は、前記第１の台部に加わる荷重にしたがって決められる荷重データを出力する少なくとも１つの荷重データ出力手段を、さらに含み、
前記データ取得手段は、前記距離データ出力手段および前記荷重データ出力手段から出力された距離データおよび荷重データを取得し、
前記処理手段は、前記データ取得手段が取得した距離データおよび荷重データに基づいて、前記所定の処理を行う、情報処理システム。
【請求項５】
前記第１の台部は、ユーザが両足裏をそれぞれ置くための一対の面が前記台面上に設定され、
前記距離データ出力手段は、前記一対の面の少なくとも一方の下部に少なくとも１つ設けられ、当該面上に存在するユーザの身体の一部までの距離にしたがって決められる距離データを出力する、請求項１に記載の情報処理システム。
【請求項６】
前記距離データ出力手段は、前記一対の面のそれぞれの下部に１つずつ設けられ、当該面上に存在するユーザの身体の一部までの距離それぞれにしたがって決められる距離データをそれぞれ出力する、請求項５に記載の情報処理システム。
【請求項７】
前記複数の突起部は、前記台面から突出した状態と当該台面から退避した状態とに昇降可能に構成される、請求項３に記載の情報処理システム。
【請求項８】
前記処理手段は、前記距離データに応じた距離に基づいて、ユーザが消費したエネルギーに対応するパラメータを算出するパラメータ算出手段を含み、
前記処理手段は、前記パラメータ算出手段が算出したパラメータに基づいて、所定の処理を行う、請求項１乃至４の何れか１つに記載の情報処理システム。
【請求項９】
前記パラメータ算出手段は、前記距離データに応じた距離が長いほど、前記エネルギーが相対的に大きくなるように前記パラメータを算出する、請求項８に記載の情報処理システム。
【請求項１０】
前記距離データ出力手段は、前記離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを繰り返し出力し、
前記データ取得手段は、前記距離データ出力手段から繰り返し出力された距離データを繰り返し取得し、
前記パラメータ算出手段は、前記データ取得手段が繰り返し距離データを取得する毎に、前記パラメータを算出する、請求項８または９に記載の情報処理システム。
【請求項１１】
前記パラメータ算出手段は、前記距離データに応じた距離が所定の値以上を示している期間中における当該距離の最大値に基づいて、前記パラメータを算出する、請求項８または９に記載の情報処理システム。
【請求項１２】
前記パラメータ算出手段は、前記距離データに応じた距離の積分値に基づいて、前記パラメータを算出する、請求項８または９に記載の情報処理システム。
【請求項１３】
前記パラメータ算出手段は、前記距離データに応じた距離の極大値に基づいて、前記パラメータを算出する、請求項８または９に記載の情報処理システム。
【請求項１４】
前記距離データ出力手段は、前記台面の下部に複数設けられ、当該台面上に存在するユーザの身体の一部までの距離にしたがって決められる距離データをそれぞれ出力し、
前記パラメータ算出手段は、前記複数の距離データ出力手段が出力したそれぞれの距離データに応じた距離に基づいて前記パラメータをそれぞれ算出し、当該パラメータを合計することによってユーザが消費した累積エネルギーに対応するパラメータを算出する、請求項８または９に記載の情報処理システム。
【請求項１５】
前記処理手段は、前記第１の入力装置から出力されたデータに基づいて、ユーザが前記台面上で足を上下させた回数を算出する回数算出手段を含み、
前記パラメータ算出手段は、前記回数算出手段が算出した回数および前記距離データに応じた距離に基づいて、前記パラメータを算出する、請求項８に記載の情報処理システム。
【請求項１６】
前記パラメータ算出手段は、前記回数算出手段が算出した回数が多いほど、前記エネルギーが相対的に大きくなるように前記パラメータを算出する、請求項１５に記載の情報処理システム。
【請求項１７】
前記距離データ出力手段は、
前記離間する方向に所定の波動を照射する照射手段と、
前記ユーザの身体の一部で前記波動が反射した反射波動を受信する受信手段と、
前記受信手段が受信した前記反射波動の情報を用いて、前記離間する方向に位置するユーザの身体の一部までの距離を検出する検出手段とを含む、請求項１乃至４の何れか１つに記載の情報処理システム。
【請求項１８】
前記検出手段は、前記反射波動を受信した位置に基づいて、前記距離を検出する、請求項１７に記載の情報処理システム。
【請求項１９】
前記検出手段は、前記反射波動を受信した時間に基づいて、前記距離を検出する、請求項１７に記載の情報処理システム。
【請求項２０】
前記距離データ出力手段は、前記距離データを、前記情報処理装置へ直接または他の装置を介して無線送信する、請求項１乃至４の何れか１つに記載の情報処理システム。
【請求項２１】
前記情報処理システムは、
ユーザによる操作入力が可能な第２の入力装置と、
前記第１の入力装置と前記第２の入力装置とを接続するケーブルとを、さらに含み、
前記距離データ出力手段は、前記ケーブルを介して、前記第２の入力装置へ前記距離データを出力し、
前記第２の入力装置は、前記距離データ出力手段が出力した前記距離データとともに、当該第２の入力装置に対する操作入力を示すデータを前記情報処理装置へ無線送信する送信手段を備える、請求項１乃至４の何れか１つに記載の情報処理システム。
【請求項２２】
前記荷重データ出力手段は、前記第１の台部の下部における異なる位置に複数設けられ、それぞれ前記第１の台部に加わる荷重にしたがって決められる荷重データを出力する、請求項４に記載の情報処理システム。
【請求項２３】
前記第１の入力装置は、
ユーザの身体の少なくとも一部を乗せる第２の台部を有する第１のハウジングと、
前記第１の台部を有し、当該第１の台部を上面に向けた状態で前記第１のハウジングの前記第２の台部の台面上に着脱自在に載置される第２のハウジングとを含み、
前記第１のハウジングには、前記荷重データ出力手段が少なくとも設けられ、
前記第２のハウジングには、前記距離データ出力手段が少なくとも設けられ、
前記荷重データ出力手段は、前記第２のハウジングを介して、前記第１の台部に加わる荷重にしたがって決められる荷重データを出力する、請求項４または２２に記載の情報処理システム。
【請求項２４】
前記情報処理装置は、前記処理手段で行われた前記所定の処理の結果を表示手段に表示する表示制御手段を、さらに備える、請求項１乃至４の何れか１つに記載の情報処理システム。
【請求項２５】
前記処理手段は、
前記データ取得手段が取得した距離データに応じた距離が所定値に到達しているか否かを判定する判定手段と、
前記判定手段の判定結果にしたがって決められるメッセージをユーザに通知する通知手段とを含む、請求項１乃至４の何れか１つに記載の情報処理システム。
【請求項２６】
前記第１の入力装置は、前記第１の台部に加わる荷重にしたがって決められる荷重データを出力する少なくとも１つの荷重データ出力手段を、さらに含み、
前記データ取得手段は、前記距離データ出力手段および前記荷重データ出力手段から出力された距離データおよび荷重データを取得し、
前記パラメータ算出手段は、前記距離データに応じた距離および前記荷重データに応じた荷重に基づいて、前記パラメータを算出する、請求項８に記載の情報処理システム。
【請求項２７】
前記情報処理装置は、ユーザ入力に応じて、前記第１の入力装置に乗るユーザが身につけるおもりの重量を取得する重量取得手段を、さらに備え、
前記パラメータ算出手段は、前記距離データに応じた距離および前記重量取得手段が取得した重量に基づいて、前記パラメータを算出する、請求項８に記載の情報処理システム。
【請求項２８】
前記距離データ出力手段は、前記第１の台部の台面に対して離間する方向に位置する物
体までの距離を検出し、当該距離を示す距離データを出力する、請求項１乃至４の何れか１つに記載の情報処理システム。
【請求項２９】
ユーザの身体の少なくとも一部を乗せることが可能な第１の入力装置から出力されるデータが利用可能であり、当該第１の入力装置から得られたデータを処理する情報処理装置のコンピュータで実行される情報処理プログラムであって、
前記コンピュータを、
前記第１の入力装置の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを、当該第１の入力装置から取得するデータ取得手段と、
前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段として機能させ、
前記データ取得手段は、前記距離データおよび前記第１の入力装置の台面に加わる荷重にしたがって決められる荷重データを当該第１の入力装置から取得し、
前記処理手段は、前記データ取得手段が取得した距離データおよび荷重データに基づいて、前記所定の処理を行う、情報処理プログラム。
【請求項３０】
ユーザの身体の少なくとも一部を乗せることが可能な第１の入力装置から出力されるデータが利用可能であり、当該第１の入力装置から得られたデータを処理する情報処理装置であって、
前記第１の入力装置の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを、当該第１の入力装置から取得するデータ取得手段と、
前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
前記データ取得手段は、前記距離データおよび前記第１の入力装置の台面に加わる荷重にしたがって決められる荷重データを当該第１の入力装置から取得し、
前記処理手段は、前記データ取得手段が取得した距離データおよび荷重データに基づいて、前記所定の処理を行う、情報処理装置。
【請求項３１】
ユーザの身体の少なくとも一部を乗せる第１の台部と、
前記第１の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを他の装置へ出力する距離データ出力手段とを備え、
前記第１の台部は、ユーザが足裏を置くための面が前記台面上に設定され、
前記距離データ出力手段は、前記面の下部に少なくとも１つ設けられ、当該面上に存在するユーザの身体の一部までの距離にしたがって決められる距離データを出力する、入力装置。
【請求項３２】
ユーザの身体の少なくとも一部を乗せる第１の台部と、
前記第１の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを他の装置へ出力する距離データ出力手段とを備え、
前記距離データ出力手段は、前記台面の下部に、当該台面に沿った方向に所定の間隔をあけて２つ設けられる、入力装置。
【請求項３３】
ユーザの身体の少なくとも一部を乗せる第１の台部と、
前記第１の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを他の装置へ出力する距離データ出力手段とを備え、
前記第１の台部は、前記台面から突出する複数の突起部を備える、入力装置。
【請求項３４】
ユーザの身体の少なくとも一部を第１の台部に乗せることが可能な第１の入力装置から得られたデータを処理する情報処理方法であって、
前記第１の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離を検出する距離検出ステップと、
前記第１の台部に加わる荷重を検出する荷重検出ステップと、
前記距離検出ステップにおいて検出された距離および前記荷重検出ステップにおいて検出された荷重に基づいて、所定の処理を行う処理ステップとを含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法に関し、特に例えば、ユーザの動作に基づいた処理を行う情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法に関する。
【背景技術】
【０００２】
従来、歩行時の人体の上下動を検出することにより歩数を計数する歩数計がある（例えば、特許文献１参照）。上記特許文献１で開示された歩数計は、人体に装着して用いられる。人体に装着された上記歩数計が歩行または走行に伴う身体の上下運動によって上下に揺動した場合、歩数計内の振子が揺動し、振子の先端に取り付けられた永久磁石がリードスイッチの側方を上下に揺れ、永久磁石がリードスイッチに対して接近したり離れたりすることにより、リードスイッチの両端に振子の上下動に対応した開閉信号が得られる。そして、上記開閉信号をカウンタで計数することによって、当該計数値が歩数として表示器に表示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭５８−５００８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１で開示されている歩数計は、単に装着しているユーザの歩数しか計測することはできない。すなわち、上記歩数計は、歩いたか否かの判定のみ可能であり、ユーザの歩き方や走り方を判定することはできない。例えば、上記歩数計では、ユーザが力強く歩いた場合も軽く歩いた場合も同じ１歩と判定されるだけであるため、ユーザの歩き方による運動の強弱を考慮することができない。
【０００５】
それ故に、本発明の目的は、ユーザの動作をより細かく判定することができる情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明の情報処理システムの一構成例は、ユーザの身体の少なくとも一部を乗せることが可能な第１の入力装置と当該第１の入力装置から得られたデータを処理する情報処理装置とを含む。第１の入力装置は、ユーザの身体の少なくとも一部を乗せる第１の台部、および距離データ出力手段を備える。距離データ出力手段は、第１の台部の台面に対して離間する方向に位置する物体までの距離にしたがって決められる距離データを出力する。情報処理装置は、データ取得手段および処理手段を備える。データ取得手段は、距離データ出力手段から出力された距離データを取得する。処理手段は、データ取得手段が取得した距離データに基づいて、所定の処理を行う。
【０００８】
上記によれば、第１の台部上の物体までの距離が検出されて、当該距離を用いた処理が可能となる。例えば、第１の台部上のユーザの部位（例えば、足）の高さの検出が可能となるため、ユーザの動作をより細かく判定することが可能となる。
【０００９】
また、上記第１の台部は、ユーザが足裏を置くための面が台面上に設定されてもよい。この場合、距離データ出力手段は、面の下部に少なくとも１つ設けられ、当該面上に存在する物体までの距離にしたがって決められる距離データを出力してもよい。
【００１０】
また、上記第１の台部は、ユーザが両足裏をそれぞれ置いて乗るための一対の面が台面上に設定されてもよい。この場合、上記距離データ出力手段は、一対の面の少なくとも一方の下部に少なくとも１つ設けられ、当該面上に存在する物体までの距離にしたがって決められる距離データを出力してもよい。
【００１１】
上記によれば、ユーザの少なくとも一方の足が上げられた高さを用いた処理が可能となる。
【００１２】
また、上記距離データ出力手段は、一対の面のそれぞれの下部に１つずつ設けられ、当該面上に存在する物体までの距離それぞれにしたがって決められる距離データを出力してもよい。
【００１３】
上記によれば、ユーザの両足がそれぞれ上げられた高さを用いた処理が可能となる。
【００１４】
また、上記距離データ出力手段は、台面の下部に、当該台面に沿った方向に所定の間隔をあけて２つ設けられてもよい。
【００１５】
上記によれば、第１の台部上のユーザの複数部位の高さや単一部位の姿勢（例えば、角度）等の検出が可能となり、これらの情報を用いた処理が可能となる。
【００１６】
また、上記第１の台部は、台面から突出する複数の突起部を備えてもよい。
【００１７】
上記によれば、第１の台部に乗るユーザの足裏を指圧することができる。
【００１８】
また、上記複数の突起部は、台面から突出した状態と当該面から退避した状態とに昇降可能に構成されてもよい。
【００１９】
上記によれば、足裏を指圧するか否かをユーザの好みによって適宜変更することができる。
【００２０】
また、上記処理手段は、パラメータ算出手段を含んでもよい。パラメータ算出手段は、距離データに応じた距離に基づいて、ユーザが消費したエネルギーに対応するパラメータを算出する。この場合、上記処理手段は、パラメータ算出手段が算出したパラメータに基づいて、所定の処理を行ってもよい。
【００２１】
上記によれば、ユーザの動作をより細かく判定した結果に基づいたユーザの消費エネルギーの算出が可能となる。
【００２２】
また、上記パラメータ算出手段は、距離データに応じた距離が長いほど、エネルギーが相対的に大きくなるようにパラメータを算出してもよい。
【００２３】
上記によれば、例えばユーザが足を高く上げれば相対的に多く消費されるような消費エネルギーを算出することができる。
【００２４】
また、上記距離データ出力手段は、離間する方向に位置する物体までの距離にしたがって決められる距離データを繰り返し出力してもよい。上記データ取得手段は、距離データ出力手段から繰り返し出力された距離データを繰り返し取得してもよい。上記パラメータ算出手段は、データ取得手段が繰り返し距離データを取得する毎に、パラメータを算出してもよい。
【００２５】
上記によれば、ユーザの動作に対してリアルタイムに消費エネルギーを算出することができる。
【００２６】
また、上記パラメータ算出手段は、距離データに応じた距離が所定の値以上を示している期間中における当該距離の最大値に基づいて、パラメータを算出してもよい。
【００２７】
上記によれば、距離情報に応じた消費エネルギーを容易に算出することができる。
【００２８】
また、上記パラメータ算出手段は、距離データに応じた距離の積分値に基づいて、パラメータを算出してもよい。
【００２９】
上記によれば、距離情報に応じた消費エネルギーを容易に算出することができる。
【００３０】
また、上記パラメータ算出手段は、距離データに応じた距離の極大値に基づいて、パラメータを算出してもよい。
【００３１】
上記によれば、距離情報に応じた消費エネルギーを容易に算出することができる。
【００３２】
また、上記距離データ出力手段は、台面の下部に複数設けられ、当該台面上に存在する物体までの距離にしたがって決められる距離データをそれぞれ出力してもよい。この場合、上記パラメータ算出手段は、複数の距離データ出力手段が出力したそれぞれの距離データに応じた距離に基づいてパラメータをそれぞれ算出し、当該パラメータを合計することによってユーザが消費した累積エネルギーに対応するパラメータを算出してもよい。
【００３３】
上記によれば、複数の距離情報に応じた消費エネルギーを合計して累積エネルギーを算出することができる。
【００３４】
また、上記処理手段は、回数算出手段を含んでいてもよい。回数算出手段は、第１の入力装置から出力されたデータに基づいて、ユーザが台面上で足を上下させた回数を算出する。この場合、上記パラメータ算出手段は、回数算出手段が算出した回数および距離データに応じた距離に基づいて、パラメータを算出してもよい。
【００３５】
上記によれば、ユーザが第１の台部上で上下動作（例えば、足踏み）した回数を考慮した消費エネルギーの算出が可能となる。
【００３６】
また、上記パラメータ算出手段は、回数算出手段が算出した回数が多いほど、エネルギーが相対的に大きくなるようにパラメータを算出してもよい。
【００３７】
上記によれば、ユーザが上下動作した回数が多ければ相対的に多く消費されるような消費エネルギーを算出することができる。
【００３８】
また、上記距離データ出力手段は、照射手段、受信手段、および検出手段を含んでいてもよい。照射手段は、離間する方向に所定の波動を照射する。受信手段は、物体で波動が反射した反射波動を受信する。検出手段は、受信手段が受信した反射波動の情報を用いて、離間する方向に位置する物体までの距離を検出する。
【００３９】
また、上記検出手段は、反射波動を受信した位置に基づいて、距離を検出してもよい。
【００４０】
また、上記検出手段は、反射波動を受信した時間に基づいて、距離を検出してもよい。
【００４１】
上記によれば、電磁波や音波等の波動の反射を利用して、物体までの距離を検出することができる。
【００４２】
また、上記距離データ出力手段は、距離データを、情報処理装置へ直接または他の装置を介して無線送信してもよい。
【００４３】
上記によれば、情報処理装置との通信のためのケーブル等が第１の入力装置に接続する必要がないため、第１の入力装置の移動が容易になるとともに、情報処理装置と第１の入力装置との間の配置距離が当該ケーブル長さ等によって制限されることがない。
【００４４】
また、上記情報処理システムは、第２の入力装置およびケーブルを、さらに含んでいてもよい。第２の入力装置は、ユーザによる操作入力が可能である。ケーブルは、第１の入力装置と第２の入力装置とを接続する。この場合、上記距離データ出力手段は、ケーブルを介して、第２の入力装置へ距離データを出力してもよい。上記第２の入力装置は、距離データ出力手段が出力した距離データとともに、当該第２の入力装置に対する操作入力を示すデータを情報処理装置へ無線送信する送信手段を備えていてもよい。
【００４５】
上記によれば、一度の無線送信によって複数のデバイスのデータが送信されるため、無線送信に要するコストの削減が期待できる。
【００４６】
また、上記第１の入力装置は、少なくとも１つの荷重データ出力手段を、さらに含んでいてもよい。荷重データ出力手段は、第１の台部に加わる荷重にしたがって決められる荷重データを出力する。この場合、上記データ取得手段は、距離データ出力手段および荷重データ出力手段から出力された距離データおよび荷重データを取得してもよい。上記処理手段は、データ取得手段が取得した距離データおよび荷重データに基づいて、所定の処理を行ってもよい。
【００４７】
上記によれば、第１の台部へ加わるユーザの荷重や荷重変化を用いた処理も可能となるため、ユーザの動作をさらにより細かく判定することが可能となる。
【００４８】
また、上記荷重データ出力手段は、第１の台部の下部における異なる位置に複数設けられそれぞれ第１の台部に加わる荷重にしたがって決められる荷重データを出力してもよい。
【００４９】
上記によれば、第１の台部に加わる荷重の位置（例えば、重心位置）を用いた処理も可能となるため、ユーザの動作をさらにより細かく判定することが可能となる。
【００５０】
また、上記第１の入力装置は、第１のハウジングおよび第２のハウジングを含んでいてもよい。第１のハウジングは、ユーザの身体の少なくとも一部を乗せる第２の台部を有する。第２のハウジングは、第１の台部を有し、当該第１の台部を上面に向けた状態で第１のハウジングの第２の台部の台面上に着脱自在に載置される。この場合、上記第１のハウジングには、荷重データ出力手段が少なくとも設けられてもよい。上記第２のハウジングには、距離データ出力手段が少なくとも設けられてもよい。上記荷重データ出力手段は、第２のハウジングを介して、第１の台部に加わる荷重にしたがって決められる荷重データを出力してもよい。
【００５１】
上記によれば、荷重データ出力手段が設けられた第１のハウジングに対して、距離データ出力手段が設けられた第２のハウジングが着脱自在に構成されているため、ユーザの使用用途に応じて第１の入力装置を使い分けることが可能となる。また、荷重データ出力手段が設けられた第１のハウジングに相当する入力装置が既存している場合、新たに第２のハウジングを既存の入力装置に取り付けることによって新たな機能が付加されるため、既存の入力装置の有効利用や付加する機能に対するコスト削減が期待できる。
【００５２】
また、上記情報処理装置は、処理手段で行われた所定の処理の結果を表示手段に表示する表示制御手段を、さらに備えていてもよい。
【００５３】
上記によれば、ユーザの動作をより細かく判定した結果に基づいた画像を、ユーザに画像で示すことができる。
【００５４】
また、上記処理手段は、判定手段および通知手段を含んでいてもよい。判定手段は、データ取得手段が取得した距離データに応じた距離が所定値に到達しているか否かを判定する。通知手段は、判定手段の判定結果にしたがって決められるメッセージをユーザに通知する。
【００５５】
上記によれば、ユーザに促す運動を行うにあたって、検出対象となっているユーザの部位が高い場合や低い場合にメッセージを通知することによって、ユーザが行っている運動の善し悪しをユーザに報知することができる。
【００５６】
また、上記第１の入力装置は、少なくとも１つの荷重データ出力手段を、さらに含んでいてもよい。荷重データ出力手段は、第１の台部に加わる荷重にしたがって決められる荷重データを出力する。この場合、上記データ取得手段は、距離データ出力手段および荷重データ出力手段から出力された距離データおよび荷重データを取得してもよい。上記パラメータ算出手段は、距離データに応じた距離および荷重データに応じた荷重に基づいて、パラメータを算出してもよい。
【００５７】
上記によれば、ユーザの体重を考慮した消費エネルギーの算出が可能となる。
【００５８】
また、上記情報処理装置は、重量取得手段を、さらに備えていてもよい。重量取得手段は、ユーザ入力に応じて、第１の入力装置に乗るユーザが身につけるおもりの重量を取得する。この場合、上記パラメータ算出手段は、距離データに応じた距離および重量取得手段が取得した重量に基づいて、パラメータを算出してもよい。
【００５９】
上記によれば、ユーザが身につけているおもりの重量を考慮した消費エネルギーの算出が可能となる。
【００６０】
また、上記距離データ出力手段は、第１の台部の台面に対して離間する方向に位置する物体までの距離を検出し、当該距離を示す距離データを出力してもよい。
【００６１】
また、本発明は、上記構成要素の少なくとも一部としてコンピュータを機能させる情報処理プログラム、上記情報処理システムに含まれる情報処理装置、上記情報処理システムに含まれる入力装置、上記構成要素の少なくとも一部で行われる動作を含む情報処理方法の形態で実施されてもよい。
【発明の効果】
【００６２】
本発明によれば、第１の台部上の物体までの距離が検出されて、当該距離を用いた処理が可能となる。例えば、第１の台部上のユーザの部位（例えば、足）の高さの検出が可能となるため、ユーザの動作をより細かく判定することが可能となる。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態に係るゲームシステム１を説明するための外観図
【図２】図１のゲーム装置本体５の機能ブロック図
【図３】図１のコントローラ７の上面後方から見た斜視図
【図４】図３のコントローラ７を下面前方から見た斜視図
【図５】図３のコントローラ７の構成の一例を示すブロック図
【図６】図１のボード型コントローラ９の外観の一例を示す斜視図
【図７】図６に示したボード型コントローラ９のＡ−Ａ断面図の一例を示すとともに、荷重センサ９４が配置された隅の部分を拡大表示した一例を示す図
【図８】図６に示したボード型コントローラ９のＢ−Ｂ断面図の一部を拡大した一例を示す図
【図９】図１のボード型コントローラ９の電気的な構成の一例を示すブロック図
【図１０】図１のボード型コントローラ９を用いて操作するユーザの様子の一例を示す図
【図１１】図１のモニタ２に表示される画像の一例を示す図
【図１２】図１のゲーム装置本体５のメインメモリに記憶される主なデータおよびプログラムの一例を示す図
【図１３】図１のゲーム装置本体５において実行される処理の一例を示すフローチャート
【図１４】図１３におけるステップ４５の動作設定処理の一例を示すサブルーチン
【図１５】突起９８Ｌおよび９８Ｒが設けられたボード型コントローラ９の外観の一例を示す斜視図
【図１６Ａ】図１５に示したボード型コントローラ９のＣ−Ｃ断面図の一例であり、上面から突出した状態で突起９８Ｒが配置された部分の一例を示す拡大表示図
【図１６Ｂ】図１５に示したボード型コントローラ９のＣ−Ｃ断面図の一例であり、上面から退避した状態で突起９８Ｒが配置された部分の一例を示す拡大表示図
【図１７】距離センサ９７Ｌおよび９７Ｒを着脱可能に構成した中空板９９およびボード型コントローラ９’の外観の一例を示す斜視図
【図１８】図１のボード型コントローラ９を用いて操作するユーザの様子の他の例を示す図
【発明を実施するための形態】
【００６４】
図１を参照して、本発明の一実施形態に係る情報処理プログラムを実行する情報処理装置および当該情報処理装置を含む情報処理システムについて説明する。以下、説明を具体的にするために、当該情報処理装置の一例として据置型のゲーム装置本体５を用い、ゲーム装置本体５を含むゲームシステムを用いて説明する。なお、図１は、据置型のゲーム装置３を含むゲームシステム１の一例を示す外観図である。図２は、ゲーム装置本体５の一例を示すブロック図である。以下、当該ゲームシステム１について説明する。
【００６５】
図１において、ゲームシステム１は、表示手段の一例である家庭用テレビジョン受像機（以下、モニタと記載する）２と、モニタ２に接続コードを介して接続する据置型のゲーム装置３とから構成される。モニタ２は、ゲーム装置３から出力された音声信号を音声出力するためのスピーカ２ａを備える。また、ゲーム装置３は、本願発明の情報処理プログラムの一例となるプログラム（例えば、ゲームプログラム）を記録した光ディスク４と、光ディスク４のプログラムを実行してゲーム画面をモニタ２に表示出力させるためのコンピュータを搭載したゲーム装置本体５と、表示画面に表示されたオブジェクト等を操作するために必要な操作情報をゲーム装置本体５に与えるためのコントローラ７と、ボード型コントローラ９とを含む。なお、ゲーム装置本体５とコントローラ７およびボード型コントローラ９とは、無線によって無線通信可能に接続される。例えば、上記無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。
【００６６】
ゲーム装置本体５は、無線コントローラモジュール１９（図２参照）を内蔵する。無線コントローラモジュール１９は、コントローラ７および／またはボード型コントローラ９から無線送信されるデータを受信し、ゲーム装置本体５からコントローラ７へデータを送信して、コントローラ７および／またはボード型コントローラ９とゲーム装置本体５とを無線通信によって接続する。また、ゲーム装置本体５には、ゲーム装置本体５に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着される。
【００６７】
ゲーム装置本体５には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ１７（図２参照）が搭載される。ゲーム装置本体５は、光ディスク４に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ２に表示する。ゲームプログラム等は、光ディスク４に限らず、フラッシュメモリ１７に予め記録されたものを実行するようにしてもよい。また、ゲーム装置本体５は、フラッシュメモリ１７に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ２に表示することもできる。そして、ゲーム装置３のユーザは、モニタ２に表示されたゲーム画像を見ながら、コントローラ７を操作することによって、ゲーム進行を楽しむことができる。
【００６８】
コントローラ７およびボード型コントローラ９は、無線コントローラモジュール１９を内蔵するゲーム装置本体５へ、例えばＢｌｕｅｔｏｏｔｈの技術を用いて操作情報等の送信データをそれぞれ無線送信する。コントローラ７は、主にモニタ２の表示画面に表示された選択肢の選択等をするための操作手段である。コントローラ７は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン（十字キー等を含む）とが設けられている。また、後述により明らかとなるが、コントローラ７は、コントローラ７から見た画像を撮像する撮像情報演算部７４を備えている。そして、撮像情報演算部７４の撮像対象の一例として、モニタ２の表示画面近傍に２つのＬＥＤモジュール（以下、マーカと記載する）８Ｌおよび８Ｒが設置される。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって例えば赤外光を出力する。また、コントローラ７は、ゲーム装置本体５の無線コントローラモジュール１９から無線送信された送信データを通信部７５で受信して、当該送信データに応じた音や振動を発生させることもできる。
【００６９】
次に、図２を参照して、ゲーム装置本体５の内部構成について説明する。図２は、ゲーム装置本体５の構成の一例を示すブロック図である。ゲーム装置本体５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、システムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ／Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１３、ディスクドライブ１４、およびＡＶ−ＩＣ（Ａｕｄｉｏ  Ｖｉｄｅｏ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１５等を有する。
【００７０】
ＣＰＵ１０は、光ディスク４に記憶されたプログラムを実行することによって処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムＬＳＩ１１の内部構成については、後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたプログラムや、フラッシュメモリ１７から読み出されたプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置本体５の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ３５または外部メインメモリ１２に読み出したデータを書き込む。
【００７１】
システムＬＳＩ１１には、入出力プロセッサ３１、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）３２、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３３、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３４、および内部メインメモリ３５が設けられる。図示は省略するが、これらの構成要素３１〜３５は、内部バスによって互いに接続される。
【００７２】
ＧＰＵ３２は、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。ＶＲＡＭ３４は、ＧＰＵ３２がグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ３２は、ＶＲＡＭ３４に記憶されたデータを用いて画像データを作成する。
【００７３】
ＤＳＰ３３は、オーディオプロセッサとして機能し、内部メインメモリ３５や外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。
【００７４】
上述のように生成された画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、ＡＶコネクタ１６を介して、読み出した画像データをモニタ２に出力するとともに、読み出した音声データをモニタ２に内蔵されるスピーカ２ａに出力する。これによって、画像がモニタ２に表示されるとともに音がスピーカ２ａから出力される。
【００７５】
入出力プロセッサ（Ｉ／Ｏプロセッサ）３１は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ３１は、フラッシュメモリ１７、無線通信モジュール１８、無線コントローラモジュール１９、拡張コネクタ２０、および外部メモリカード用コネクタ２１に接続される。無線通信モジュール１８にはアンテナ２２が接続され、無線コントローラモジュール１９にはアンテナ２３が接続される。
【００７６】
入出力プロセッサ３１は、無線通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ３１は、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データがある場合には、無線通信モジュール１８およびアンテナ２２を介して当該データをネットワークに送信する。また、入出力プロセッサ３１は、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２、および無線通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０は、プログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してプログラムで利用する。フラッシュメモリ１７には、ゲーム装置本体５と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置本体５を利用してプレイしたゲームのセーブデータ（処理の結果データまたは途中データ）が記憶されてもよい。
【００７７】
入出力プロセッサ３１は、アンテナ２３および無線コントローラモジュール１９を介して、コントローラ７および／またはボード型コントローラ９から送信される操作データ等を受信し、内部メインメモリ３５または外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。なお、内部メインメモリ３５には、外部メインメモリ１２と同様に、光ディスク４から読み出されたプログラムや、フラッシュメモリ１７から読み出されたプログラムを記憶したり、各種データを記憶したりしてもよく、ＣＰＵ１０のワーク領域やバッファ領域として用いられてもかまわない。
【００７８】
入出力プロセッサ３１には、拡張コネクタ２０および外部メモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。外部メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ３１は、拡張コネクタ２０や外部メモリカード用コネクタ２１を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００７９】
ゲーム装置本体５（例えば、前部主面）には、当該ゲーム装置本体５の電源ボタン２４、ゲーム処理のリセットボタン２５、光ディスク４を脱着する投入口、およびゲーム装置本体５の投入口から光ディスク４を取り出すイジェクトボタン２６等が設けられている。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンされると、ゲーム装置本体５の各構成要素に対して、図示しないＡＣアダプタを介して電力が供給される。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置本体５の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００８０】
図３および図４を参照して、コントローラ７について説明する。なお、図３は、コントローラ７の上面後方から見た一例を示す斜視図である。図４は、コントローラ７を下面前方から見た一例を示す斜視図である。
【００８１】
図３および図４において、コントローラ７は、例えばプラスチック成型によって形成されたハウジング７１を有しており、当該ハウジング７１に複数の操作部７２が設けられている。ハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００８２】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。ユーザが十字キー７２ａの何れかの操作部分を押下することによって上下左右（前後左右）何れかの方向を選択される。例えばユーザが十字キー７２ａを操作することによって、仮想世界に登場するオブジェクト等の移動方向を指示したり、複数の選択肢から選択する指示をしたりすることができる。
【００８３】
なお、十字キー７２ａは、上述したユーザの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に４つのプッシュスイッチを配設し、ユーザによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記４つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、４つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティック（いわゆる、ジョイスティック）を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、十字キー７２ａの代わりに設けてもかまわない。
【００８４】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、ユーザがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ａ〜７２ｇは、ゲーム装置本体５が実行するプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、ユーザが不意に誤って押下することのないタイプのボタンである。
【００８５】
ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置本体５の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、ユーザが不意に誤って押下することのないタイプのボタンである。
【００８６】
ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コントローラ７は、他のコントローラ７と区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コントローラ７に現在設定されている上記コントローラ種別をユーザに通知するために用いられる。具体的には、無線コントローラモジュール１９からコントローラ７へ、複数のＬＥＤ７０２のうち、上記コントローラ種別に対応するＬＥＤを点灯させるための信号が送信される。
【００８７】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図５に示すスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００８８】
ハウジング７１下面には、凹部が形成されている。ハウジング７１下面の凹部は、ユーザがコントローラ７の前面をマーカ８Ｌおよび８Ｒに向けて片手で把持したときに、当該ユーザの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００８９】
ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コントローラ７が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコントローラ７の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７１の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００９０】
次に、図５を参照して、コントローラ７の内部構成について説明する。なお、図５は、コントローラ７の構成の一例を示すブロック図である。
【００９１】
図５において、コントローラ７は、操作部７２、撮像情報演算部７４、通信部７５、加速度センサ７０１、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８を備えている。
【００９２】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コントローラ７の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コントローラ７のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。
【００９３】
撮像情報演算部７４から出力される処理結果データは、コアユニット７０で指し示す位置等を示す操作データとして用いることもできる。例えば、ユーザは、コントローラ７の前面（撮像情報演算部７４が撮像する光の入射口側）がモニタ２に向くようにコントローラ７を把持する。一方、モニタ２の表示画面近傍には、２つのマーカ８Ｌおよび８Ｒが設置されている。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって赤外光を出力し、撮像情報演算部７４の撮像対象になる。そして、ゲーム装置本体５は、２つのマーカ８Ｌおよび８Ｒによる高輝度点に関する位置データを用いてコントローラ７が指し示している位置を算出する。
【００９４】
加速度センサ７０１は、３方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。なお、加速度センサ７０１は、少なくとも１軸方向に沿った直線加速度を検知する加速度検出手段を使用してもよい。例えば、加速度センサ７０１は、静電容量式（静電容量結合式）のものが用いられるが、既存の加速度検出手段の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて提供されてもよい。
【００９５】
加速度センサ７０１に用いられるような加速度検出手段は、加速度センサ７０１の持つ各軸に対応する直線に沿った加速度（直線加速度）のみを検知することができる。つまり、加速度センサ７０１からの直接の出力は、それら３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ７０１は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。しかしながら、加速度センサ７０１から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ（例えばＣＰＵ１０）またはコントローラ７のプロセッサ（例えばマイコン７５１）等のコンピュータが処理を行うことによって、コントローラ７に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば容易に理解できるであろう。
【００９６】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置本体５からのデータに応じて、サウンドＩＣ７０７の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置本体５から送信されたサウンドデータ等を処理する。
【００９７】
コントローラ７に設けられた操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの３軸方向の加速度信号（Ｘ、Ｙ、およびＺ軸方向加速度データ）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、処理結果データ）を無線コントローラモジュール１９へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から無線コントローラモジュール１９への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥースで構成される通信部７５の送信間隔は５ｍｓである。マイコン７５１は、無線コントローラモジュール１９への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばブルートゥースの技術を用いて、操作情報を示す電波信号を所定周波数の搬送波を用いてアンテナ７５４から放射する。つまり、コントローラ７に設けられた操作部７２からのキーデータ、加速度センサ７０１からのＸ、Ｙ、およびＺ軸方向加速度データ、および撮像情報演算部７４からの処理結果データがコントローラ７から送信される。そして、ゲーム装置本体５の無線コントローラモジュール１９でその電波信号を受信し、ゲーム装置本体５で当該電波信号を復調や復号することによって、一連の操作情報（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、および処理結果データ）を取得する。そして、ゲーム装置本体５のＣＰＵ１０は、取得した操作情報とプログラムとに基づいて、処理を行う。なお、ブルートゥース（登録商標）の技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００９８】
図６は、図１に示したボード型コントローラ９の外観の一例を示す斜視図である。図６に示されるように、ボード型コントローラ９は、ユーザがその上に乗る（ユーザの足を乗せる）台９ａ、台９ａにかかる荷重を検出するための少なくとも４つの荷重センサ９４ａ〜９４ｄ、台９ａから足までの距離を検出するための少なくとも１つの距離センサ９７（実施例では２つの距離センサ９７Ｌおよび９７Ｒ）を備える。各荷重センサ９４ａ〜９４ｄと距離センサ９７Ｌおよび９７Ｒとは、それぞれ台９ａに内包されており（図９参照）、図６においてはそれらの配置位置がそれぞれ破線で示されている。なお、以下の説明において、４つの荷重センサ９４ａ〜９４ｄを総称して説明する場合、荷重センサ９４と記載することがある。また、以下の説明において、２つの距離センサ９７Ｌおよび９７Ｒを総称して説明する場合、距離センサ９７と記載することがある。
【００９９】
台９ａは、略直方体に形成されており、上面視で略長方形状である。例えば、台９ａは、長方形状の短辺が３０ｃｍ程度に設定され、長辺が５０ｃｍ程度に設定される。台９ａの上面は、平坦に形成され、ユーザが両足裏をそれぞれ置いて乗るための一対の面が設定されている。具体的には、台９ａの上面には、ユーザが左足を乗せるための面（図６における左奥側に２重線で囲まれた領域）および左足を乗せるための面（図６における右手前側に２重線で囲まれた領域）がそれぞれ設定されている。そして、台９ａの４隅の側面は、例えば部分的に円柱状に張り出すように形成されている。
【０１００】
台９ａにおいて、４つの荷重センサ９４ａ〜９４ｄは、所定の間隔を置いて配置される。当該実施例では、４つの荷重センサ９４ａ〜９４ｄは、台９ａの周縁部に、具体的には４隅にそれぞれ配置される。荷重センサ９４ａ〜９４ｄの間隔は、台９ａに対するユーザの荷重のかけ方によるゲーム操作の意図をより精度良く検出できるように適宜な値に設定される。
【０１０１】
距離センサ９７Ｌは、台９ａにおける左足を乗せるための面の中央下部に配置される。そして、左足を乗せるための面の中央には、距離センサ９７Ｌから出力される赤外線等の光を透過させて当該面の上方空間へ放射させるための透過領域９０ａ１Ｌと、放射された光のうち当該上方空間に存在する物体で反射した光を透過させて距離センサ９７Ｌに入射させるための透過領域９０ａ２Ｌとが形成されている。また、距離センサ９７Ｒは、台９ａにおける右足を乗せるための面の中央下部に配置される。そして、右足を乗せるための面の中央には、距離センサ９７Ｒから出力される赤外線等の光を透過させて当該面の上方空間へ放射させるための透過領域９０ａ１Ｒと、放射された光のうち当該上方空間に存在する物体で反射した光を透過させて距離センサ９７Ｒに入射させるための透過領域９０ａ２Ｒとが形成されている。なお、距離センサ９７Ｌおよび距離センサ９７Ｒは、上方空間に存在する物体の位置（距離）を検出するために例えば赤外線を放射するが、他の電磁波や音波等の波動を放射してもかまわない。また、透過領域９０ａ１Ｌ、９０ａ２Ｌ、９０ａ１Ｒ、および９０ａ２Ｒは、それぞれ距離センサ９７Ｌおよび９７Ｒから出力される波動（例えば、赤外線）を透過させる領域であればよく、例えば、当該波動を透過させる部材や空孔で形成されていてもかまわない。
【０１０２】
図７は、図６に示したボード型コントローラ９のＡ−Ａ断面図の一例を示すとともに、荷重センサ９４が配置された隅の部分が拡大表示された一例を示している。図７において、台９ａは、ユーザが乗るための支持板９０と脚９２とを含む。脚９２は、荷重センサ９４ａ〜９４ｄが配置される箇所にそれぞれ設けられる。この実施例では、４つの荷重センサ９４ａ〜９４ｄがそれぞれ４隅に配置されるので、４つの脚９２が４隅に設けられることになる。脚９２は、例えばプラスチック成型によって略有底円筒状に形成されており、荷重センサ９４は、脚９２内の底面に設けられた球面部品９２ａ上に配置される。支持板９０は、荷重センサ９４を介して脚９２に支持される。
【０１０３】
支持板９０は、上面と側面上部とを形成する上層板９０ａ、下面と側面下部とを形成する下層板９０ｂ、および上層板９０ａと下層板９０ｂとの間に設けられる中層板９０ｃを含む。上層板９０ａと下層板９０ｂとは、例えばプラスチック成型により形成されており、接着等により一体化される。中層板９０ｃは、例えば１枚の金属板のプレス成型により形成されている。中層板９０ｃは、４つの荷重センサ９４ａ〜９４ｄの上に固定される。上層板９０ａは、その下面に格子状のリブ（図示しない）を有しており、当該リブを介して中層板９０ｃに支持されている。したがって、台９ａにユーザが乗ったときには、その荷重は、支持板９０および荷重センサ９４ａ〜９４ｄを介して、４つの脚９２に伝達する。図７に矢印で示したように、入力された荷重によって生じた床からの反作用は、脚９２から、球面部品９２ａ、荷重センサ９４ａ〜９４ｄ、および中層板９０ｃを介して、上層板９０ａに伝達する。
【０１０４】
荷重センサ９４は、例えば歪ゲージ（歪センサ）式ロードセルであり、入力された荷重を電気信号に変換する荷重変換器である。荷重センサ９４では、荷重入力に応じて、起歪体９５が変形して歪が生じる。この歪が、起歪体に貼り付けられた歪センサ９６によって、電気抵抗の変化に変換され、さらに電圧変化に変換される。したがって、荷重センサ９４は、入力荷重を示す電圧信号を出力端子から出力することができる。
【０１０５】
なお、荷重センサ９４は、音叉振動式、弦振動式、静電容量式、圧電式、磁歪式、またはジャイロ式のような他の方式の荷重センサであってもよい。
【０１０６】
図８は、図６に示したボード型コントローラ９のＢ−Ｂ断面図の一部を拡大した一例を示す図であり、距離センサ９７Ｒが配置された部分が拡大表示されている。図８において、距離センサ９７Ｒは、上層板９０ａにおける右足を乗せるための面の中央下部となる、中層板９０ｃ上に固設される。距離センサ９７Ｒは、赤外線等の光を上層板９０ａ側へ放射する光放射部９７１Ｒと、上層板９０ａの上方空間に存在する物体で反射した光を受光する光受光部９７２Ｒとを備えている。一例として、光放射部９７１Ｒは、赤外線を上層板９０ａ側へ放射する赤外線ＬＥＤで構成され、光受光部９７２Ｒは、赤外線を受光した位置を検出するＰＳＤ（ポジション・センシング・ディテクタ）で構成される。そして、光放射部９７１Ｒの直上位置となる上層板９０ａには透過領域９０ａ１Ｒ（例えば、空孔）が形成され、光受光部９７２Ｒの直上位置となる上層板９０ａには透過領域９０ａ２Ｒ（例えば、赤外線が透過可能な部材で構成される面材）が形成される。なお、光放射部９７１Ｒは、赤外線ＬＥＤの他にＬＥＤやレーザのような発光素子を用いてもよい。また、光受光部９７２Ｒは、ＰＳＤの他にＣＣＤやフォトダイオードのような受光素子を用いてもよい。また、上層板９０ａにおける左足を乗せるための面の中央下部には距離センサ９７Ｌが固設されるが、上述した距離センサ９７Ｒと同様の構造および配置位置となるため詳細な説明を省略する。
【０１０７】
台９ａにユーザが乗ったときには、左足が上層板９０ａにおける左足を乗せるための面の中央付近に乗せられ、右足が上層板９０ａにおける右足を乗せるための面の中央付近に乗せられる。したがって、透過領域９０ａ１Ｌおよび９０ａ２Ｌがユーザ左足の直下となる位置に配設されることになり、透過領域９０ａ１Ｒおよび９０ａ２Ｒがユーザ右足の直下となる位置に配設されることになる。そして、台９ａ上に乗ったユーザが左足を上げた場合、当該左足の位置（ボード型コントローラ９から左足までの距離であり、厳密には距離センサ９７Ｌから左足までの台９ａ上面に垂直な方向への距離）が距離センサ９７Ｌによって検出される。また、台９ａ上に乗ったユーザが右足を上げた場合（図１０参照）、当該右足の位置（ボード型コントローラ９から右足までの距離であり、厳密には距離センサ９７Ｒから右足までの台９ａ上面に垂直な方向への距離）が距離センサ９７Ｒによって検出される。
【０１０８】
具体的には、距離センサ９７Ｌおよび９７Ｒは、それぞれ検出物体（ユーザの左足または右足）からの反射光が光受光部９７２Ｌおよび９７２Ｒに入射すると入射した反射光の位置を検出し、当該位置が検出物体と距離センサ９７Ｌおよび９７Ｒとの距離に応じて変化することを用いる三角測量方式に基づいて、当該距離をそれぞれ検出する。一例として、距離センサ９７Ｌおよび９７Ｒは、それぞれ検出物体までの上記距離に応じて、異なる電圧を有する信号を出力する。したがって、距離センサ９７Ｌおよび９７Ｒは、検出物体までの距離を示す電圧信号を出力端子からそれぞれ出力することができる。
【０１０９】
図６に戻って、ボード型コントローラ９には、さらに、電源ボタン９ｃが設けられる。ボード型コントローラ９が起動していない状態で電源ボタン９ｃが操作（例えば、電源ボタン９ｃの押下）されると、ボード型コントローラ９の各回路コンポーネント（図９参照）に電力が供給される。ただし、ボード型コントローラ９は、ゲーム装置本体５からの指示に従って電源オンされて各回路コンポーネントに電力供給が開始される場合もある。なお、ボード型コントローラ９は、ユーザが乗っていない状態が一定時間（例えば、３０秒）以上継続すると、自動的に電源がオフされてもよい。また、ボード型コントローラ９が起動している状態で、電源ボタン９ｃが再度操作された場合、電源がオフされて各回路コンポーネントへの電力供給が停止されてもよい。
【０１１０】
図９は、ボード型コントローラ９の電気的な構成の一例を示すブロック図である。なお、図９では、信号およびデータの流れは実線矢印で示され、電力の供給が破線矢印で示されている。
【０１１１】
ボード型コントローラ９は、その動作を制御するためのマイクロコンピュータ（マイコン）１００を含む。マイコン１００は、図示しないＣＰＵ、ＲＯＭ、およびＲＡＭ等を含み、ＣＰＵがＲＯＭに記憶されたプログラムに従ってボード型コントローラ９の動作を制御する。
【０１１２】
マイコン１００には、電源ボタン９ｃ、ＡＤコンバータ１０２、ＤＣ−ＤＣコンバータ１０４、および無線モジュール１０６が接続される。さらに、無線モジュール１０６には、アンテナ１０６ａが接続される。４つの荷重センサ９４ａ〜９４ｄは、それぞれ増幅器１０８を介してＡＤコンバータ１０２に接続される。２つの距離センサ９７Ｌおよび９７Ｒは、それぞれ増幅器１０９を介してＡＤコンバータ１０２に接続される。
【０１１３】
また、ボード型コントローラ９には、各回路コンポーネントへの電力供給のために電池１１０が収容されている。他の実施例では、電池１１０に代えてＡＣアダプタをボード型コントローラ９に接続し、商用電力を各回路コンポーネントに供給するようにしてもよい。この場合、ＤＣ−ＤＣコンバータ１０４に代えて、交流を直流に変換し、直流電圧を降圧および整流する電源回路をボード型コントローラ９内に設ける必要がある。この実施例では、マイコン１００および無線モジュール１０６への電力供給は、電池１１０から直接的に行われる。つまり、マイコン１００内部の一部のコンポーネント（ＣＰＵ）と無線モジュール１０６とには、常に電池１１０からの電力が供給されており、電源ボタン９ｃがオンされたか否か、ゲーム装置本体５から電源オンを指示するコマンドが送信されたか否かを検出する。一方、荷重センサ９４ａ〜９４ｄと、距離センサ９７Ｌおよび９７Ｒと、ＡＤコンバータ１０２と、増幅器１０８および１０９とには、ＤＣ−ＤＣコンバータ１０４を介して電池１１０からの電力が供給される。ＤＣ−ＤＣコンバータ１０４は、電池１１０からの直流電流の電圧値を異なる電圧値に変換して、荷重センサ９４ａ〜９４ｄと、距離センサ９７Ｌおよび９７Ｒと、ＡＤコンバータ１０２と、増幅器１０８および１０９とに与える。
【０１１４】
これら荷重センサ９４ａ〜９４ｄと、距離センサ９７Ｌおよび９７Ｒと、ＡＤコンバータ１０２と、増幅器１０８および１０９とへの電力供給は、マイコン１００によるＤＣ−ＤＣコンバータ１０４の制御によって、必要に応じて行われるようにしてもよい。つまり、マイコン１００は、荷重センサ９４ａ〜９４ｄを動作させて荷重を検出する必要があると判断される場合や、距離センサ９７Ｌおよび９７Ｒを動作させて検出物体までの距離を検出する必要があると判断される場合に、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ９４ａ〜９４ｄと、距離センサ９７Ｌおよび９７Ｒと、ＡＤコンバータ１０２と、増幅器１０８および１０９とから少なくとも１つを選択して電力を供給するようにしてよい。
【０１１５】
電力が供給されると、荷重センサ９４ａ〜９４ｄは、入力された荷重を示す信号をそれぞれ出力する。また、電力が供給されると、距離センサ９７Ｌおよび９７Ｒは、検出物体までの距離を示す信号をそれぞれ出力する。これらの信号は、各増幅器１０８または１０９で増幅され、ＡＤコンバータ１０２でアナログ信号からディジタルデータに変換されて、マイコン１００に入力される。荷重センサ９４ａ〜９４ｄの検出値には荷重センサ９４ａ〜９４ｄの識別情報が付与されて、いずれの荷重センサ９４ａ〜９４ｄの検出値であるかが識別可能にされる。また、距離センサ９７Ｌおよび９７Ｒの検出値には距離センサ９７Ｌおよび９７Ｒの識別情報が付与されて、いずれの距離センサ９７Ｌおよび９７Ｒの検出値であるかが識別可能にされる。このようにして、マイコン１００は、同一時刻における４つの荷重センサ９４ａ〜９４ｄそれぞれの荷重検出値と２つの距離センサ９７Ｌおよび９７Ｒそれぞれの距離検出値とを示すデータを取得することができる。
【０１１６】
一方、マイコン１００は、荷重センサ９４ａ〜９４ｄや距離センサ９７Ｌおよび９７Ｒを動作させる必要がないと判断される場合、つまり、荷重検出タイミングでも距離検出タイミングでない場合、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ９４ａ〜９４ｄと、距離センサ９７Ｌおよび９７Ｒと、ＡＤコンバータ１０２と、増幅器１０８および１０９とへの電力の供給を停止する。このように、ボード型コントローラ９は、必要な場合にだけ、荷重センサ９４ａ〜９４ｄや距離センサ９７Ｌおよび９７Ｒを動作させて荷重や距離の検出を行うことができるので、荷重検出や距離検出のための電力消費を抑制することができる。
【０１１７】
荷重検出や距離検出が必要な場合とは、典型的には、ゲーム装置本体５（図１）が荷重データや距離データを取得したいときである。例えば、ゲーム装置本体５が荷重情報や距離情報を必要とするとき、ゲーム装置本体５は、ボード型コントローラ９に対して情報取得命令を送信する。マイコン１００は、ゲーム装置本体５から情報取得命令を受信したときに、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ９４ａ〜９４ｄや距離センサ９７Ｌおよび９７Ｒ等に電力を供給し、荷重や距離を検出する。一方、マイコン１００は、ゲーム装置本体５から情報取得命令を受信していないときには、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ９４ａ〜９４ｄや距離センサ９７Ｌおよび９７Ｒ等への電力供給を停止する。
【０１１８】
なお、マイコン１００は、一定時間ごとに荷重検出タイミングおよび距離検出タイミングが到来すると判断して、ＤＣ−ＤＣコンバータ１０４を制御するようにしてもよい。このような周期的な荷重検出および距離検出を行う場合、周期情報は、例えば、ゲーム開始時点においてゲーム装置本体５からボード型コントローラ９のマイコン１００に与えられて記憶されてもよいし、予めマイコン１００にプリインストールされてもよい。
【０１１９】
荷重センサ９４ａ〜９４ｄからの検出値を示すデータや距離センサ９７Ｌおよび９７Ｒからの検出値を示すデータは、ボード型コントローラ９の操作データ（入力データ）として、マイコン１００から無線モジュール１０６およびアンテナ１０６ａを介してゲーム装置本体５に送信される。例えば、ゲーム装置本体５からの命令を受けて荷重検出および距離検出を行った場合、マイコン１００は、ＡＤコンバータ１０２から荷重センサ９４ａ〜９４ｄの検出値データおよび距離センサ９７Ｌおよび９７Ｒの検出値データを受信したことに応じて、当該検出値データをゲーム装置本体５に送信する。なお、マイコン１００は、一定時間ごとに上記検出値データをゲーム装置本体５に送信するようにしてもよい。荷重および距離の検出周期よりも送信周期が長い場合には、送信タイミングまでに検出された複数の検出タイミングの荷重値および距離値を含むデータを送信すればよい。
【０１２０】
なお、無線モジュール１０６は、ゲーム装置本体５の無線コントローラモジュール１９と同じ無線規格（Ｂｌｕｅｔｏｏｔｈ、無線ＬＡＮなど）で通信可能にされる。したがって、ゲーム装置本体５のＣＰＵ１０は、無線コントローラモジュール１９等を介して情報取得命令をボード型コントローラ９に送信することができる。このように、ボード型コントローラ９は、無線モジュール１０６およびアンテナ１０６ａを介して、ゲーム装置本体５からの命令を受信することができる。また、ボード型コントローラ９は、荷重センサ９４ａ〜９４ｄの荷重検出値（または荷重算出値）と距離センサ９７Ｌおよび９７Ｒの距離検出値（または距離算出値）を含む操作データをゲーム装置本体５に送信することができる。
【０１２１】
例えば４つの荷重センサ９４ａ〜９４ｄで検出される４つの荷重値の単なる合計値や２つの距離センサ９７Ｌおよび９７Ｒで検出される２つの距離の最大値、最小値、平均値等に基づいて実行されるようなゲームの場合には、ユーザはボード型コントローラ９の４つの荷重センサ９４ａ〜９４ｄや２つの距離センサ９７Ｌおよび９７Ｒに対して任意の位置をとることができる。つまり、ユーザは、台９ａの上の任意の位置に任意の向きで乗ってゲームをプレイすることができる。しかしながら、ゲームの種類によっては、４つの荷重センサ９４で検出される荷重値がユーザから見ていずれの方向の荷重値であるか、および２つの距離センサ９７で検出される距離値がユーザの何れの足の距離値であるかを識別して処理を行う必要がある。つまり、ボード型コントローラ９の４つの荷重センサ９４および２つの距離センサ９７とユーザとの位置関係が把握されている必要がある。この場合、例えば、４つの荷重センサ９４および２つの距離センサ９７とユーザとの位置関係を予め規定しておき、当該所定の位置関係が得られるようにユーザが台９ａ上に乗ることが前提とされてもよい。典型的には、台９ａの中央に乗ったユーザの前後左右にそれぞれ荷重センサ９４ａ〜９４ｄが２つずつ存在し、ユーザの左足直下に距離センサ９７Ｌが存在し、ユーザの右足直下に距離センサ９７Ｒが存在するような位置関係、つまり、ユーザがボード型コントローラ９の台９ａの中央に乗った位置関係が規定される。この場合、この実施例では、ボード型コントローラ９の台９ａが平面視で矩形状に形成されるとともにその矩形の１辺（長辺）に電源ボタン９ｃが設けられているので、この電源ボタン９ｃを目印として利用して、ユーザには電源ボタン９ｃの設けられた長辺が所定の方向（前、後、左または右）に存在するようにして台９ａに乗ってもらうことを予め決めておく。このようにすれば、荷重センサ９４ａ〜９４ｄで検出される荷重値は、ユーザから見て所定の方向（右前、左前、右後および左後）の荷重値となり、距離センサ９７Ｌおよび９７Ｒで検出される距離値は、ユーザが左足および右足をそれぞれ上げている距離となる。したがって、ボード型コントローラ９およびゲーム装置本体５は、荷重検出値データに含まれる荷重センサ９４の識別情報と、距離検出値データに含まれる距離センサ９７の識別情報と、予め設定（記憶）された荷重センサ９４および距離センサ９７のユーザに対する位置ないし方向を示す配置データとに基づいて、各荷重検出値がユーザから見ていずれの方向に対応するか、および各距離検出値がユーザの何れの足に対応するのかを把握することができる。これにより、例えば前後左右の操作方向や上げている足の区別のようなユーザによるゲーム操作の意図を把握することが可能になる。
【０１２２】
次に、ゲーム装置本体５が行う具体的な処理を説明する前に、図１０および図１１を用いてゲーム装置本体５で行う情報処理の概要について説明する。図１０は、ボード型コントローラ９を用いて操作するユーザの様子の一例を示す図である。図１１は、モニタ２に表示される画像の一例を示す図である。
【０１２３】
図１０に示すように、ゲームシステム１でボード型コントローラ９を用いて操作するためには、ユーザは、モニタ２に表示されたプレイヤオブジェクトＰｏを見ながら、ボード型コントローラ９上で足を上下させる動作（例えば、ボード型コントローラ９上で歩く、走る、飛ぶ、腿を上げる、踊る動作等）を行う。一方、図１１に示すように、モニタ２には仮想世界内を移動するプレイヤオブジェクトＰｏが表示され、ボード型コントローラ９上におけるユーザ動作に応じて、仮想世界においてプレイヤオブジェクトＰｏが動作するように表現される。一例として、図１１においては、仮想世界内をウォーキング、ジョギング、またはランニングするプレイヤキャラクタＰｏが表示されている。そして、ユーザは、ボード型コントローラ９上で、ウォーキング、ジョギング、またはランニングするように足踏みする。この場合、ユーザが足踏みする歩数および足を上げた高さＨに応じた速度で、プレイヤキャラクタＰｏが仮想世界内を移動する。
【０１２４】
例えば、上述したように、ボード型コントローラ９からはボード型コントローラ９上のユーザ動作に応じた荷重検出値や距離検出値が出力される。そして、モニタ２に表示されたプレイヤオブジェクトＰｏは、上記荷重検出値および／または上記距離検出値に応じて、仮想世界内で動作する。一例として、上記距離検出値に基づいて、ボード型コントローラ９から上げたユーザの足までの高さＨが算出され、当該高さＨに応じて上記プレイヤオブジェクトＰｏが足を上げるようにして仮想世界内を歩くまたは走る動作をする。また、上記荷重検出値および／または上記距離検出値に応じて、ユーザの歩数および足を上げる毎の高さＨが逐次算出され、当該歩数および高さＨに基づいて仮想世界内におけるプレイヤオブジェクトＰｏの走行速度、走行距離、および累積運動量等が算出されて表示される（運動情報Ｉｏ）。なお、本明細書における「累積運動量」は、ボード型コントローラ９上での走行や歩行を模した足踏み等の身体活動によって消費される代謝量の増分となる、運動の身体活動量（エネルギー消費量）を示している。例えば、「累積運動量」は、「キロカロリー（ｋｃａｌ）」を単位として一般的に目安が示されるエネルギー消費量に相当するパラメータである。また、算出されるプレイヤオブジェクトＰｏの走行速度、走行距離、および累積運動量等は、実際のユーザ動作に基づいているため、現実世界にシミュレーションすることによって、ユーザの走行速度、走行距離、および累積運動量と密接に関連付けて表示することも可能である。
【０１２５】
次に、ゲームシステム１において行われる処理の詳細を説明する。まず、図１２を参照して、処理において用いられる主なデータについて説明する。なお、図１２は、ゲーム装置本体５の外部メインメモリ１２および／または内部メインメモリ３５（以下、２つのメインメモリを総称して、単にメインメモリと記載する）に記憶される主なデータおよびプログラムの一例を示す図である。
【０１２６】
図１２に示すように、メインメモリのデータ記憶領域には、操作データＤａ、荷重値データＤｂ、重心位置データＤｃ、左足高さデータＤｄ、右足高さデータＤｅ、左足フラグデータＤｆ、オブジェクト動作データＤｇ、走行速度データＤｈ、走行距離データＤｉ、累積運動量データＤｊ、メッセージデータＤｋ、および画像データＤｍ等が記憶される。なお、メインメモリには、図１２に示す情報に含まれるデータの他、モニタ２に表示される他のオブジェクト等に関するデータ等、処理に必要なデータ等が適宜記憶される。また、メインメモリのプログラム記憶領域には、情報処理プログラムを構成する各種プログラム群Ｐａが記憶される。
【０１２７】
操作データＤａは、コントローラ７やボード型コントローラ９から送信データとして送信されてくる一連の操作情報が格納され、最新の操作データに更新される。例えば、操作データＤａは、荷重データＤａ１および距離データＤａ２等を含んでいる。荷重データＤａ１は、ボード型コントローラ９の荷重センサ９４ａ〜９４ｄがそれぞれ検出した荷重検出値を示すデータである。距離データＤａ２は、ボード型コントローラ９の距離センサ９７Ｌおよび９７Ｒがそれぞれ検出した距離検出値を示すデータである。
【０１２８】
なお、ゲーム装置本体５に備える無線コントローラモジュール１９は、コントローラ７やボード型コントローラ９から所定周期（例えば、１／２００秒毎）に送信される操作情報に含まれるデータ（例えば、荷重検出値を示すデータおよび距離検出値を示すデータ）を受信し、無線コントローラモジュール１９に備える図示しないバッファに蓄えられる。その後、上記バッファに蓄えられたデータが処理周期である１フレーム毎（例えば、１／６０秒毎）に読み出されて、メインメモリの操作データＤａ（例えば、荷重データＤａ１および距離データＤａ２）がそれぞれ更新される。
【０１２９】
このとき、操作情報を受信する周期と処理周期とが異なるために、上記バッファには複数の時点に受信した操作情報が記述されていることになる。後述する処理の説明においては、後述する各ステップにおいて、複数の時点に受信した操作情報のうち最新の操作情報のみまたは複数の時点に受信した操作情報全てを用いて処理して、次のステップに進める態様を用いる。
【０１３０】
また、後述する処理フローでは、荷重データＤａ１および距離データＤａ２が処理周期である１フレーム毎に更新される例を用いて説明するが、他の処理周期で更新されてもかまわない。例えば、ボード型コントローラ９からの送信周期毎に荷重データＤａ１および距離データＤａ２をそれぞれ更新し、当該更新された荷重データＤａ１および距離データＤａ２を処理周期毎に利用する態様でもかまわない。この場合、荷重データＤａ１および距離データＤａ２を更新する周期と、他の処理周期とが異なることになる。
【０１３１】
荷重値データＤｂは、ボード型コントローラ９が検出する荷重値を示すデータの集合である。例えば、荷重値データＤｂは、荷重センサ９４ａ〜９４ｄがそれぞれ検出した荷重の合計値（合計荷重値）を示すデータの集合である。具体的には、荷重値データＤｂは、時系列的に算出された所定期間内の上記合計荷重値を示すデータの配列であり、配列の各要素に上記合計荷重値を示すデータが時系列に格納される。
【０１３２】
重心位置データＤｃは、ボード型コントローラ９に加わっている荷重の重心位置を示すデータの集合である。例えば、重心位置データＤｃは、荷重センサ９４ａ〜９４ｄがそれぞれ検出した荷重値から所定の数式を用いて算出される重心位置を示すデータの集合である。具体的には、重心位置データＤｃは、時系列的に算出された所定期間内の上記重心位置を示すデータの配列であり、配列の各要素に上記重心位置を示すデータが時系列に格納される。
【０１３３】
左足高さデータＤｄは、ボード型コントローラ９上でユーザが左足を上げた高さＨ（図１０参照）を示すデータの集合である。例えば、左足高さデータＤｄは、距離センサ９７Ｌが検出した距離検出値から算出される高さＨを示すデータの集合である。具体的には、左足高さデータＤｄは、時系列的に算出された所定期間内の左足の高さＨを示すデータの配列であり、配列の各要素に左足の高さＨを示すデータが時系列に格納される。
【０１３４】
右足高さデータＤｅは、ボード型コントローラ９上でユーザが右足を上げた高さＨを示すデータの集合である。例えば、右足高さデータＤｅは、距離センサ９７Ｒが検出した距離検出値から算出される高さＨを示すデータの集合である。具体的には、右足高さデータＤｅは、時系列的に算出された所定期間内の右足の高さＨを示すデータの配列であり、配列の各要素に右足の高さＨを示すデータが時系列に格納される。
【０１３５】
左足フラグデータＤｆは、ボード型コントローラ９上でユーザが左足を上げていると判定された際にオンに設定され、ユーザが右足を上げていると判定された際にオフに設定される左足フラグを示すデータである。
【０１３６】
オブジェクト動作データＤｇは、仮想世界におけるプレイヤオブジェクトＰｏの動作や位置を示すデータである。走行速度データＤｈは、仮想世界内を走行（歩行）するプレイヤオブジェクトＰｏの速度を示すデータである。走行距離データＤｉは、仮想世界内を走行（歩行）したプレイヤオブジェクトＰｏの距離を示すデータである。累積運動量データＤｊは、仮想世界内を走行（歩行）することによるプレイヤオブジェクトＰｏの運動量を示すデータである。
【０１３７】
メッセージデータＤｋは、算出されたユーザの左足の高さＨおよび／または右足の高さＨが閾値に到達していない場合に、ユーザに通知されるメッセージを示すデータである。
【０１３８】
画像データＤｍは、プレイヤオブジェクトデータＤｍ１および背景画像データＤｍ２等を含んでいる。プレイヤオブジェクトデータＤｍ１は、仮想世界にプレイヤオブジェクトＰｏを配置してゲーム画像を生成するためのデータである。背景画像データＤｍ２は、仮想世界に背景を配置してゲーム画像を生成するためのデータである。
【０１３９】
次に、図１３および図１４を参照して、ゲーム装置本体５において行われる処理の詳細を説明する。なお、図１３は、ゲーム装置本体５において実行される処理の一例を示すフローチャートである。図１４は、図１３におけるステップ４５の動作設定処理の一例を示すサブルーチンである。ここで、図１３および図１４に示すフローチャートにおいては、処理のうち、ボード型コントローラ９を用いたユーザの操作に応じて、プレイヤオブジェクトＰｏが動作して表示される処理について主に説明し、本願発明と直接関連しない他の処理については詳細な説明を省略する。また、図１３および図１４では、ＣＰＵ１０が実行する各ステップを「Ｓ」と略称する。
【０１４０】
ゲーム装置本体５の電源が投入されると、ゲーム装置本体５のＣＰＵ１０は、ＲＯＭ／ＲＴＣ１３に記憶されている起動用のプログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク４に記憶された情報処理プログラムがメインメモリに読み込まれ、ＣＰＵ１０によって当該プログラムの実行が開始される。図１３および図１４に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【０１４１】
図１３において、ＣＰＵ１０は、処理の初期設定を行い（ステップ４１）、次のステップに処理を進める。例えば、上記ステップ４１における初期設定において、ＣＰＵ１０は、仮想世界の設定やプレイヤオブジェクトＰｏの配置および姿勢等の初期設定を行って、オブジェクト動作データＤｇ等を更新する。また、上記ステップ４１における初期設定では、以下の情報処理を行うために他のパラメータを初期化する。例えば、ＣＰＵ１０は、上述したメインメモリに格納される各データが示す他のパラメータをそれぞれ所定値（例えば０、空値、またはＮｕｌｌ値）に初期化する。
【０１４２】
次に、ＣＰＵ１０は、操作データを取得して（ステップ４２）、次のステップに処理を進める。例えば、ＣＰＵ１０は、ボード型コントローラ９から受信した操作データを用いて、当該操作データに含まれる荷重検出値を示すデータを用いて荷重データＤａ１を更新する。ここで、上記操作データには、荷重センサ９４ａ〜９４ｄがそれぞれ検出した荷重検出値を示すデータが含まれており、荷重センサ９４ａ〜９４ｄの識別情報によって区別された当該データをそれぞれ用いて、荷重データＤａ１が更新される。また、ＣＰＵ１０は、ボード型コントローラ９から受信した操作データを用いて、当該操作データに含まれる距離検出値を示すデータを用いて距離データＤａ２を更新する。ここで、上記操作データには、距離センサ９７Ｌおよび９７Ｒがそれぞれ検出した距離検出値を示すデータが含まれており、距離センサ９７Ｌおよび９７Ｒの識別情報によって区別された当該データをそれぞれ用いて、距離データＤａ２が更新される。なお、操作データを受信する周期と上記ステップ４２を行う処理周期とが異なるために、当該処理周期の間に複数回の操作データが受信されてバッファに格納されている。上記ステップ４２においては、上記複数回受信された操作データのうち最新の操作データのみを用いて操作データＤａが更新される例を用いる。
【０１４３】
次に、ＣＰＵ１０は、荷重値および重心位置を算出して（ステップ４３）、次のステップに処理を進める。例えば、ＣＰＵ１０は、荷重データＤａ１が示す荷重検出値を合計して合計荷重値を算出し、当該合計荷重値を示すデータを用いて荷重値データＤｂにおける時系列データ配列のうち最新のデータを更新する。具体的には、荷重データＤａ１は、荷重センサ９４ａ〜９４ｄがそれぞれ検出した最新の荷重検出値を示しているため、当該荷重検出値を合計することによって、上記合計荷重値が算出される。また、ＣＰＵ１０は、荷重データＤａ１が示す荷重検出値を用いて重心位置を算出し、当該重心位置を示すデータを用いて重心位置データＤｃにおける時系列データ配列のうち最新のデータを更新する。以下、重心位置の算出方法の一例を説明する。
【０１４４】
上記重心位置は、ボード型コントローラ９の台９ａに加わる荷重の重心位置であり、各荷重センサ９４ａ〜９４ｄ（図６参照）が検出する荷重値によって定められる。例えば、上記重心位置は、ボード型コントローラ９の台９ａ上の位置に対応する所定の座標系（例えば、台９ａの中心を原点、台９ａの長辺方向をＸ軸方向、短辺方向をＹ軸方向とするＸＹ座標系）に基づいた座標値によって表される。そして、荷重センサ９４ａが検出する荷重値をａ、荷重センサ９４ｂが検出する荷重値をｂ、荷重センサ９４ｃが検出する荷重値をｃ、荷重センサ９４ｄが検出する荷重値をｄとした場合、重心のＸ軸座標値（Ｘ）およびＹ軸座標値（Ｙ）は、以下の数式を用いて算出することができる。
Ｘ＝（（ａ＋ｃ）―（ｂ＋ｄ））×ｍ
Ｙ＝（（ｃ＋ｄ）―（ａ＋ｂ））×ｎ
ここで、ｍおよびｎは、それぞれ予め定められた定数である。このようにして算出される重心位置は、ボード型コントローラ９上のユーザ動作や体重移動（姿勢）に応じて変化する。例えば、ユーザが左足を上げた場合に重心位置のＸ軸座標値が正の値となり、ユーザが右足を上げた場合に重心位置のＸ軸座標値が負の値となる。なお、上記重心位置の算出式は単なる一例であり、その他の方法によって重心位置が算出されてもよい。
【０１４５】
次に、ＣＰＵ１０は、左足高さおよび右足高さを算出して（ステップ４４）、次のステップに処理を進める。例えば、ＣＰＵ１０は、距離データＤａ２が示す距離センサ９７Ｌが検出した距離検出値を用いて左足高さを算出し、当該左足高さを示すデータを用いて左足高さデータＤｄにおける時系列データ配列のうち最新のデータを更新する。また、ＣＰＵ１０は、距離データＤａ２が示す距離センサ９７Ｒが検出した距離検出値を用いて右足高さを算出し、当該右足高さを示すデータを用いて右足高さデータＤｅにおける時系列データ配列のうち最新のデータを更新する。一例として、左足高さＨＬおよび右足高さＨＲは、以下の数式を用いて算出される。
ＨＬ＝ｆ１（ＤＬ）
ＨＲ＝ｆ２（ＤＲ）
ここで、ＤＬは距離センサ９７Ｌが検出した距離検出値であり、ＤＲは距離センサ９７Ｒが検出した距離検出値である。また、ｆ１およびｆ２は、それぞれ距離検出値が代入されることによって当該距離検出値が実世界における長さに換算される数式である。数式ｆ１およびｆ２は、それぞれ距離センサ９７Ｌおよび／または９７Ｒの出力特性に基づいて予め定められてもいいし、当該情報処理前に行われたユーザの距離調整作業等によって定められてもよい。なお、ゲーム装置本体５が取得する距離センサ９７Ｌおよび９７Ｒの距離検出値が実世界における長さをそのまま示す場合は、ＨＬ＝ＤＬおよびＨＲ＝ＤＲとしてもよい。
【０１４６】
次に、ＣＰＵ１０は、動作設定処理を行って（ステップ４５）、次のステップに処理を進める。以下、図１４を参照して、上記ステップ４５で行う動作設定処理の一例について説明する。
【０１４７】
図１４において、ＣＰＵ１０は、ユーザが左足を上げているか否かを判断する（ステップ５１）。そして、ＣＰＵ１０は、ユーザが左足を上げていると判断される場合、次のステップ５２に処理を進める。一方、ＣＰＵ１０は、ユーザが左足を上げていないと判断される場合、次のステップ５８に処理を進める。第１の例として、ＣＰＵ１０は、左足高さデータＤｄが示す最新の左足高さＨＬが、所定の判定条件を満たす場合（例えば、最新の左足高さＨＬが第１判定値以上である場合）、ユーザが左足を上げていると判断する。なお、第１の例においては、右足高さデータＤｅが示す最新の右足高さＨＲに対しても、所定の判定条件（例えば、最新の右足高さＨＲが実質的に０）を設定してもよい。すなわち、最新の左足高さＨＬおよび最新の右足高さＨＲがそれぞれ所定の判定条件を満たす場合に、ユーザが左足を上げていると判断されることになる。第２の例として、ＣＰＵ１０は、重心位置データＤｃが示す最新の重心位置が、所定の判定条件を満たす場合（例えば、最新の重心位置のＸ軸座標値が第２判定値以上の正の値である場合）、ユーザが左足を上げていると判断する。第３の例として、上記第１の例における判断が肯定または上記第２の例における判断が肯定である場合、ユーザが左足を上げていると判断する。第４の例として、上記第１の例における判断および上記第２の例における判断がともに肯定である場合、ユーザが左足を上げていると判断する。
【０１４８】
ステップ５２において、ＣＰＵ１０は、左足高さＨＬに基づいてプレイヤオブジェクトＰｏの動作を設定し、次のステップに処理を進める。例えば、ＣＰＵ１０は、左足高さデータＤｄが示す最新の左足高さＨＬに相当する高さまで左足を上げて、走る、歩く、またはその場で停止するように、プレイヤオブジェクトＰｏの動作を設定してオブジェクト動作データＤｇを更新する。ここで、プレイヤオブジェクトＰｏが走っているのか、歩いているのか、その場で停止しているのかについては、走行速度データＤｈが示す速度に基づいて設定される。なお、左足高さデータＤｄが示す最新の左足高さＨＬが上記第１判定値未満である場合や物体未検出を示す場合、ＣＰＵ１０は、プレイヤオブジェクトＰｏが上げる左足の高さを所定の値に設定してオブジェクト動作データＤｇを更新してもよい。
【０１４９】
次に、ＣＰＵ１０は、左足フラグがオンに設定されているか否かを判断する（ステップ５３）。そして、ＣＰＵ１０は、左足フラグがオフまたはＮｕｌｌ値に設定されている場合、次のステップ５４に処理を進める。一方、ＣＰＵ１０は、左足フラグがオンに設定されている場合、当該サブルーチンによる処理を終了する。上記ステップ５３において、ＣＰＵ１０は、例えば左足フラグデータＤｆを参照して左足フラグがオンに設定されているか否かを判断する。
【０１５０】
ステップ５４において、ＣＰＵ１０は、走行速度、走行距離、および累積運動量を算出して、次のステップに処理を進める。例えば、ＣＰＵ１０は、左足フラグがオフされてから現時点までを処理対象期間として、当該処理対象期間の長さ（時間）、当該処理対象期間における右足高さＨＲの推移、当該処理対象期間における合計荷重値の推移、および当該処理対象期間における重心位置の推移の少なくとも１つを用いて、走行速度、走行距離、および累積運動量を算出する。
【０１５１】
例えば、処理対象期間の長さ（時間）および処理対象期間における右足高さＨＲの推移に基づいて、上記走行速度（プレイヤオブジェクトＰｏが移動する速度）が算出され、算出された速度を用いて走行速度データＤｈが更新される。具体的には、ＣＰＵ１０は、上記処理対象期間の長さが短い程、プレイヤオブジェクトＰｏが移動する速度を速く算出するとともに、処理対象期間における右足高さＨＲの最大値が長い程、プレイヤオブジェクトＰｏが移動する速度を速く算出する。つまり、ユーザがボード型コントローラ９上で足踏みするピッチが短いほどプレイヤオブジェクトＰｏが仮想世界内を移動する速度が速くなり、ユーザがボード型コントローラ９上で足踏みして足を上げる高さが高いほどプレイヤオブジェクトＰｏが仮想世界内を移動する速度が速くなることになる。また、ユーザがボード型コントローラ９上であまり足を上げずに速いピッチで足踏みした場合、処理対象期間の長さが短くなっても処理対象期間における右足高さＨＲの最大値が短くなるため、結果的にプレイヤオブジェクトＰｏが仮想世界内を移動する速度が上がらないこともあり得る。
【０１５２】
また、処理対象期間の長さ（時間）および上述のように算出されたプレイヤオブジェクトＰｏの移動速度に基づいて、上記走行距離（プレイヤオブジェクトＰｏが移動した距離）が算出され、算出された距離を用いて走行距離データＤｉが更新される。具体的には、ＣＰＵ１０は、処理対象期間の長さおよびプレイヤオブジェクトＰｏの移動速度に基づいて、当該処理対象期間中にプレイヤオブジェクトＰｏが仮想世界内を移動した距離を算出する。そして、ＣＰＵ１０は、走行距離データＤｉが示す走行距離に算出された移動距離を加算することによって新たな走行距離を算出し、当該新たな走行距離を用いて走行距離データＤｉを更新する。なお、ＣＰＵ１０は、上記新たな走行距離に基づいて、プレイヤオブジェクトＰｏの仮想世界における新たな配置位置を算出し、当該新たな配置位置を用いてオブジェクト動作データＤｇを更新する。
【０１５３】
また、処理対象期間における右足高さＨＲの推移に基づいて、上記累積運動量が算出され、算出された累積運動量を用いて累積運動量データＤｊが更新される。一例として、ＣＰＵ１０は、処理対象期間における右足高さＨＲの最大値が長いほど、当該処理対象期間中の運動量（すなわち、処理対象期間中のエネルギー消費量）Ｃｒを大きく算出する。具体的には、処理対象期間中の運動量Ｃｒは、
Ｃｒ＝（ＨＲｍａｘ）×ｐ１
で算出される。ここで、ＨＲｍａｘは処理対象期間における右足高さＨＲの最大値であり、ｐ１は上げた足の高さの最大値を運動量に換算するための定数である。そして、ＣＰＵ１０は、累積運動量データＤｊが示す累積運動量に算出された運動量Ｃｒを加算することによって新たな累積運動量を算出し、当該新たな累積運動量を用いて累積運動量データＤｊを更新する。後述により明らかとなるが、この場合、累積運動量は、右足高さＨＲの最大値ＨＲｍａｘおよび左足高さＨＬの最大値ＨＬｍａｘを累積した値に基づいて算出されることになる。
【０１５４】
なお、上述した一例では、処理対象期間における右足高さＨＲの最大値を用いて運動量Ｃｒを算出しているが、当該処理対象期間における右足高さＨＲの極大値を用いて運動量Ｃｒを算出してもよい。例えば、上記処理対象期間中における右足高さＨＲの推移が一度の上げ下げ動作を示すものであれば、当該処理対象期間中の極大値は上記最大値と同じとなる。しかしながら、上記処理対象期間中における右足高さＨＲの推移が複数回上げ下げしている動作を示すものであれば、当該処理対象期間中の極大値が複数抽出することができるため、これらの極大値それぞれに対して運動量Ｃｒを算出することによって、このような処理対象期間中の動作の違いを考慮した運動量の算出が可能となる。なお、以下の説明においても右足高さＨＲの最大値を用いる処理が記載されているが、当該処理においても同様に極大値を用いることができる。
【０１５５】
他の例として、ＣＰＵ１０は、処理対象期間に得られた右足高さＨＲの積分値が大きいほど、当該処理対象期間中の運動量Ｃｒを大きく算出する。具体的には、処理対象期間中の運動量Ｃｒは、
Ｃｒ＝（ＨＲｉｎｔ）×ｑ１
で算出される。ここで、ＨＲｉｎｔは処理対象期間に得られた右足高さＨＲの積分値であり、ｑ１は上げた足の高さの積分値を運動量に換算するための定数である。そして、ＣＰＵ１０は、累積運動量データＤｊが示す累積運動量に算出された運動量Ｃｒを加算することによって新たな累積運動量を算出し、当該新たな累積運動量を用いて累積運動量データＤｊを更新する。後述により明らかとなるが、この場合、累積運動量は、右足高さＨＲの積分値ＨＲｉｎｔおよび左足高さＨＬの積分値ＨＬｉｎｔを累積した値に基づいて算出されることになる。
【０１５６】
なお、処理対象期間中の運動量Ｃｒは、さらにユーザの体重を考慮して算出してもかまわない。例えば、ジョギング時の運動量（ｋｃａｌ）の目安は、体重（ｋｇ）×距離（ｋｍ）で算出されることもあり、このような概算を用いる場合、処理対象期間中の運動量Ｃｒを、
Ｃｒ＝（ＨＲｍａｘ）×Ｗ×ｐ２
や
Ｃｒ＝（ＨＲｉｎｔ）×Ｗ×ｑ２
によって算出してもよい。ここで、Ｗはユーザの体重であり、ｐ２は上げた足の高さの最大値にユーザの体重を乗算した値を運動量に換算するための定数であり、ｑ２は上げた足の高さの積分値にユーザの体重を乗算した値を運動量に換算するための定数である。なお、体重Ｗは、上記処理対象期間における合計荷重値の推移（例えば、平均値）を体重Ｗとしてもいいし、ユーザが予め入力した値を体重Ｗとして用いてもよい。
【０１５７】
また、処理対象期間中の運動量Ｃｒは、さらに処理対象期間における重心位置の推移を考慮して算出してもかまわない。例えば、重心位置が移動する距離が長い程、ボード型コントローラ９上でユーザが強い運動を行っていることが想定できるため、上記処理対象期間中の重心位置の移動距離を乗算して処理対象期間中の運動量Ｃｒを算出してもかまわない。この場合、処理対象期間中の運動量Ｃｒは、
Ｃｒ＝（ＨＲｍａｘ）×ＧＬ×ｐ３
や
Ｃｒ＝（ＨＲｉｎｔ）×ＧＬ×ｑ３
によって算出してもよい。ここで、ＧＬは処理対象期間中の重心位置の移動距離であり、ｐ３は上げた足の高さの最大値に重心位置の移動距離を乗算した値を運動量に換算するための定数であり、ｑ３は上げた足の高さの積分値に重心位置の移動距離を乗算した値を運動量に換算するための定数である。なお、上述したユーザの体重を考慮して算出する運動量Ｃｒに、さらに処理対象期間における重心位置の推移も考慮して運動量Ｃｒを算出してもよいことは、言うまでもない。
【０１５８】
次に、ＣＰＵ１０は、左足フラグをオンに設定して（ステップ５５）、次のステップに処理を進める。例えば、ＣＰＵ１０は、左足フラグをオンに設定して左足フラグデータＤｆを更新する。
【０１５９】
次に、ＣＰＵ１０は、左足フラグがオフされてから現時点までの処理対象期間における右足高さＨＲの推移を用いて、当該処理対象期間における右足高さＨＲの最大値ＨＲｍａｘが第３判定値に到達しているか否かを判断する（ステップ５６）。ここで、第３判定値は、ユーザに適切な運動を促すために設けられる閾値である。例えば、第３判定値以上の高さまで右足を上げた場合にユーザの運動が適切に行われたと判断され、ユーザに実行を促している運動の種類に応じて第３判定値が設定される。そして、ＣＰＵ１０は、右足高さＨＲの最大値ＨＲｍａｘが第３判定値に到達していない場合、次のステップ５７に処理を進める。一方、ＣＰＵ１０は、右足高さＨＲの最大値ＨＲｍａｘが第３判定値に到達している場合、次のステップ６５に処理を進める。
【０１６０】
ステップ５７において、ＣＰＵ１０は、ユーザに通知するメッセージを設定して、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ１０は、ユーザにもっと足を上げて運動するように促すメッセージを設定し、当該設定したメッセージを示すデータを用いてメッセージデータＤｋを更新する。
【０１６１】
一方、ステップ６５において、ＣＰＵ１０は、ユーザに通知するメッセージを削除して、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ１０は、もっと足を上げて運動するようにユーザに促すメッセージがメッセージデータＤｋに設定されている場合、当該メッセージを削除してメッセージデータＤｋを更新する。
【０１６２】
ユーザが左足を上げていないと判断（上記ステップ５１で否定判断）された場合、ＣＰＵ１０は、ユーザが右足を上げているか否かを判断する（ステップ５８）。そして、ＣＰＵ１０は、ユーザが右足を上げていると判断される場合、次のステップ５９に処理を進める。一方、ＣＰＵ１０は、ユーザが右足を上げていないと判断される場合、次のステップ６６に処理を進める。第１の例として、ＣＰＵ１０は、右足高さデータＤｅが示す最新の右足高さＨＲが、所定の判定条件を満たす場合（例えば、最新の右足高さＨＲが上記第１判定値以上である場合）、ユーザが右足を上げていると判断する。なお、第１の例においては、左足高さデータＤｄが示す最新の左足高さＨＬに対しても、所定の判定条件（例えば、最新の左足高さＨＬが実質的に０）を設定してもよい。すなわち、最新の右足高さＨＲおよび最新の左足高さＨＬがそれぞれ所定の判定条件を満たす場合に、ユーザが右足を上げていると判断されることになる。第２の例として、ＣＰＵ１０は、重心位置データＤｃが示す最新の重心位置が、所定の判定条件を満たす場合（例えば、最新の重心位置のＸ軸座標値が上記第２判定値以下の負の値である場合）、ユーザが右足を上げていると判断する。第３の例として、上記第１の例における判断が肯定または上記第２の例における判断が肯定である場合、ユーザが右足を上げていると判断する。第４の例として、上記第１の例における判断および上記第２の例における判断がともに肯定である場合、ユーザが右足を上げていると判断する。
【０１６３】
ステップ５９において、ＣＰＵ１０は、右足高さＨＲに基づいてプレイヤオブジェクトＰｏの動作を設定し、次のステップに処理を進める。なお、上記ステップ５９におけるプレイヤオブジェクトＰｏの動作の設定については、上記ステップ５２の動作設定に対して左右が異なるだけであって他の処理は同様の処理となるため、詳細な説明を省略する。
【０１６４】
次に、ＣＰＵ１０は、左足フラグがオフに設定されているか否かを判断する（ステップ６０）。そして、ＣＰＵ１０は、左足フラグがオンまたはＮｕｌｌ値に設定されている場合、次のステップ６１に処理を進める。一方、ＣＰＵ１０は、左足フラグがオフに設定されている場合、当該サブルーチンによる処理を終了する。上記ステップ６０において、ＣＰＵ１０は、例えば左足フラグデータＤｆを参照して左足フラグがオフに設定されているか否かを判断する。
【０１６５】
ステップ６１において、ＣＰＵ１０は、走行速度、走行距離、および累積運動量を算出して、次のステップに処理を進める。例えば、ＣＰＵ１０は、左足フラグがオンされてから現時点までを処理対象期間として、上記ステップ５４と同様に、当該処理対象期間の長さ（時間）、当該処理対象期間における左足高さＨＬの推移、当該処理対象期間における合計荷重値の推移、および当該処理対象期間における重心位置の推移の少なくとも１つを用いて、走行速度、走行距離、および累積運動量を算出する。
【０１６６】
例えば、処理対象期間の長さ（時間）および処理対象期間における左足高さＨＬの推移に基づいて、上記走行速度（プレイヤオブジェクトＰｏが移動する速度）が算出され、算出された速度を用いて走行速度データＤｈが更新される。具体的には、ＣＰＵ１０は、上記処理対象期間の長さが短い程、プレイヤオブジェクトＰｏが移動する速度を速く算出するとともに、処理対象期間における左足高さＨＬの最大値が長い程、プレイヤオブジェクトＰｏが移動する速度を速く算出する。
【０１６７】
また、上記ステップ５４と同様に、処理対象期間の長さ（時間）および上述のように算出されたプレイヤオブジェクトＰｏの移動速度に基づいて、上記走行距離（プレイヤオブジェクトＰｏが移動した距離）が算出され、算出された走行距離を用いて走行距離データＤｉが更新される。また、ＣＰＵ１０は、上記算出された走行距離に基づいて、プレイヤオブジェクトＰｏの仮想世界における新たな配置位置を算出し、当該新たな配置位置を用いてオブジェクト動作データＤｇを更新する。
【０１６８】
また、処理対象期間における左足高さＨＬの推移に基づいて、上記累積運動量が算出され、算出された累積運動量を用いて累積運動量データＤｊが更新される。一例として、ＣＰＵ１０は、処理対象期間における左足高さＨＬの最大値が長いほど、当該処理対象期間中の運動量（すなわち、処理対象期間中のエネルギー消費量）Ｃｌを大きく算出する。具体的には、処理対象期間中の運動量Ｃｌは、
Ｃｌ＝（ＨＬｍａｘ）×ｐ１
で算出される。ここで、ＨＬｍａｘは処理対象期間における左足高さＨＬの最大値であり、ｐ１は上げた足の高さの最大値を運動量に換算するための定数である。そして、ＣＰＵ１０は、累積運動量データＤｊが示す累積運動量に算出された運動量Ｃｌを加算することによって新たな累積運動量を算出し、当該新たな累積運動量を用いて累積運動量データＤｊを更新する。したがって、この場合、累積運動量は、上記ステップ５４の処理と合わせて右足高さＨＲの最大値ＨＲｍａｘおよび左足高さＨＬの最大値ＨＬｍａｘを累積した値に基づいて算出されることになる。
【０１６９】
なお、上述した一例では、処理対象期間における左足高さＨＬの最大値を用いて運動量Ｃｌを算出しているが、当該処理対象期間における左足高さＨＬの極大値を用いて運動量Ｃｌを算出してもよい。例えば、上記処理対象期間中における左足高さＨＬの推移が一度の上げ下げ動作を示すものであれば、当該処理対象期間中の極大値は上記最大値と同じとなる。しかしながら、上記処理対象期間中における左足高さＨＬの推移が複数回上げ下げしている動作を示すものであれば、当該処理対象期間中の極大値が複数抽出することができるため、これらの極大値それぞれに対して運動量Ｃｌを算出することによって、このような処理対象期間中の動作の違いを考慮した運動量の算出が可能となる。なお、以下の説明においても左足高さＨＬの最大値を用いる処理が記載されているが、当該処理においても同様に極大値を用いることができる。
【０１７０】
他の例として、ＣＰＵ１０は、処理対象期間に得られた左足高さＨＬの積分値が大きいほど、当該処理対象期間中の運動量Ｃｌを大きく算出する。具体的には、処理対象期間中の運動量Ｃｌは、
Ｃｌ＝（ＨＬｉｎｔ）×ｑ１
で算出される。ここで、ＨＬｉｎｔは処理対象期間に得られた左足高さＨＬの積分値であり、ｑ１は上げた足の高さの積分値を運動量に換算するための定数である。そして、ＣＰＵ１０は、累積運動量データＤｊが示す累積運動量に算出された運動量Ｃｌを加算することによって新たな累積運動量を算出し、当該新たな累積運動量を用いて累積運動量データＤｊを更新する。したがって、この場合、累積運動量は、上記ステップ５４の処理と合わせて右足高さＨＲの積分値ＨＲｉｎｔおよび左足高さＨＬの積分値ＨＬｉｎｔを累積した値に基づいて算出されることになる。
【０１７１】
なお、上記ステップ５４と同様に、処理対象期間中の運動量Ｃｌも、さらにユーザの体重Ｗを考慮して算出してもかまわない。また、処理対象期間中の運動量Ｃｌも、さらに処理対象期間における重心位置の推移を考慮して算出してもかまわない。また、ユーザの体重Ｗを考慮して算出する運動量Ｃｌに、さらに処理対象期間における重心位置の推移も考慮して運動量Ｃｌを算出してもよいことは、言うまでもない。
【０１７２】
次に、ＣＰＵ１０は、左足フラグをオフに設定して（ステップ６２）、次のステップに処理を進める。例えば、ＣＰＵ１０は、左足フラグをオフに設定して左足フラグデータＤｆを更新する。
【０１７３】
次に、ＣＰＵ１０は、左足フラグがオンされてから現時点までの処理対象期間における左足高さＨＬの推移を用いて、当該処理対象期間における左足高さＨＬの最大値ＨＬｍａｘが上記第３判定値に到達しているか否かを判断する（ステップ６３）。そして、ＣＰＵ１０は、左足高さＨＬの最大値ＨＬｍａｘが上記第３判定値に到達していない場合、次のステップ６４に処理を進める。一方、ＣＰＵ１０は、左足高さＨＬの最大値ＨＬｍａｘが上記第３判定値に到達している場合、上記ステップ６５に処理を進める。
【０１７４】
ステップ６４において、ＣＰＵ１０は、上記ステップ５７と同様にユーザに通知するメッセージを設定して、当該サブルーチンによる処理を終了する。
【０１７５】
ユーザが左足を上げていないと判断（上記ステップ５１で否定判断）され、かつ、ユーザが右足を上げていないと判断（上記ステップ５８で否定判断）された場合、ＣＰＵ１０は、その他の処理を行って（ステップ６６）、当該サブルーチンによる処理を終了する。一例として、ＣＰＵ１０は、左足高さデータＤｄが示す最新の左足高さＨＬおよび右足高さデータＤｅが示す最新の右足高さＨＲがそれぞれ実質的に０である場合、ユーザがボード型コントローラ９上で両足を乗せて動作を停止していると判断する。また、ＣＰＵ１０は、左足高さデータＤｄが示す最新の左足高さＨＬおよび右足高さデータＤｅが示す最新の右足高さＨＲがそれぞれ物体未検出を示す場合、ユーザがボード型コントローラ９上から下りたと判断する。これらの場合、ＣＰＵ１０は、仮想世界においてプレイヤオブジェクトＰｏが静止するようにオブジェクト動作データＤｇを設定し、走行速度を０に走行速度データＤｈを設定し、左足フラグの設定をＮｕｌｌ値に変更して左足フラグデータＤｆを設定する。他の例として、ＣＰＵ１０は、左足高さデータＤｄが示す最新の左足高さＨＬおよび右足高さデータＤｅが示す最新の右足高さＨＲがそれぞれ所定の閾値以上の高さである場合、ユーザがボード型コントローラ９上でジャンプしていると判断する。この場合、ＣＰＵ１０は、仮想世界においてプレイヤオブジェクトＰｏが最新の左足高さＨＬに相当する高さまで左足を上げ、最新の右足高さＨＲに相当する高さまで右足を上げてジャンプするようにオブジェクト動作データＤｇを設定し、走行速度を０に走行速度データＤｈを設定し、左足フラグの設定をＮｕｌｌ値に変更して左足フラグデータＤｆを設定する。
【０１７６】
図１３に戻り、上記ステップ４５における動作設定処理の後、ＣＰＵ１０は、表示制御処理を行って（ステップ４６）、次のステップに処理を進める。例えば、ＣＰＵ１０は、オブジェクト動作データＤｇが示すオブジェクトの動作や位置に基づいて、プレイヤオブジェクトＰｏを動作させて仮想世界に配置してモニタ２に表示する。また、ＣＰＵ１０は、走行速度データＤｈ、走行距離データＤｉ、および累積運動量データＤｊに基づいて、運動情報Ｉｏ（図１１参照）を生成し、当該運動情報Ｉｏをモニタ２に表示する。さらに、ＣＰＵ１０は、メッセージデータＤｋにメッセージが設定されている場合、当該メッセージを示す情報（例えば、文字情報やアイコン情報）をモニタ２に表示する。
【０１７７】
次に、ＣＰＵ１０は、ゲームを終了するか否かを判断する（ステップ４７）。ゲームを終了する条件としては、例えば、ゲームオーバーやゲームクリアとなる条件が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。ＣＰＵ１０は、ゲームを終了しない場合に上記ステップ４２に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
【０１７８】
このように、上述した処理によれば、ユーザがボード型コントローラ９上の歩数（足踏み回数）だけでなく、ユーザが上げた足の高さも用いられているため、ユーザの動作をより細かく判定することが可能である。例えば、同じ歩数であっても、上げた足の高さの高低に応じて、ユーザの動作判定を変えることも可能であるため、当該動作判定に基づいた様々な情報処理が可能となる。
【０１７９】
なお、上述した処理例においては、ユーザがボード型コントローラ９上で足踏み動作する例を用いたが、ボード型コントローラ９を用いて他のユーザ動作を判定してもかまわない。一例として、ボード型コントローラ９上でユーザが走るような動作を、ボード型コントローラ９を用いて判定する。この場合、ボード型コントローラ９から両足が浮いた状態となることが考えられる。このような場合、図１４に示した動作設定処理において、ステップ５１で否定判定された場合に加えて、左足が上げられている場合の処理（例えば、ステップ５２〜ステップ５７、およびステップ６５）の後も、ステップ５８の処理を行う。そして、ステップ５５およびステップ６２の処理に代えて、左足フラグを左足が上げられている場合にオンに設定し、左足がボード型コントローラ９に乗せられている場合にオフに設定する処理を追加する。また、右足が上げられている場合にオンに設定し、右足がボード型コントローラ９に乗せられている場合にオフに設定する右足フラグを新たに設定し、当該右足フラグを設定する処理を追加する。このように処理を変更すれば、左足がボード型コントローラ９に乗せられた際に、それまで左足が上げられていた期間に対する処理（例えば、当該期間中の左足の高さに基づいた走行速度、走行距離、累積運動量を算出する処理やメッセージを設定する処理）が行われる。また、右足がボード型コントローラ９に乗せられた際に、それまで右足が上げられていた期間に対する処理（例えば、当該期間中の右足の高さに基づいた走行速度、走行距離、累積運動量を算出する処理やメッセージを設定する処理）が行われる。したがって、ボード型コントローラ９から両足が浮いた状態となるような動作をユーザが行ったとしても、足踏み動作と同様に情報処理が可能となる。
【０１８０】
また、距離センサ９７Ｌおよび９７Ｒが検出対象にする物体は、台９ａから垂直方向へ離間するユーザの両足でなくてもよく、ユーザの身体の一部（例えば、片足、手、腿、頭等）やユーザが把持したり身につけたりしている物でもかまわない。一例として、台９ａから垂直方向へ離間する単一の物体に対して、当該物体における異なる２箇所を距離センサ９７Ｌおよび９７Ｒの検出対象にすることよって、台９ａから当該物体の２箇所までの距離がそれぞれ検出されるため、台９ａから垂直方向へ離間して存在する物体の角度も算出して、当該角度を用いて上記情報処理を行うことも可能である。このように、様々な部位や物を距離センサ９７Ｌおよび９７Ｒの検出対象にすることによって、様々なユーザ動作の判定が可能となる。なお、ボード型コントローラ９における距離センサ９７Ｌおよび９７Ｒを設置する位置を、検出対象に応じて適宜変更してもよいことは言うまでもない。
【０１８１】
また、上述した処理例においては、ボード型コントローラ９を用いて判定されたユーザ動作に応じて、プレイヤオブジェクトＰｏが仮想世界内を走ったり歩いたりする画像がモニタ２に表示される例を用いたが、他の情報処理にも本発明が適用できることは言うまでもない。例えば、ボード型コントローラ９を用いて判定されたユーザ動作に応じて、プレイヤオブジェクトＰｏが仮想世界内で自転車や一輪車等の乗り物を操って移動する画像がモニタ２に表示されてもかまわない。また、ボード型コントローラ９を用いて判定されたユーザ動作に応じた画像が表示されなくてもよい。例えば、ボード型コントローラ９を用いて判定されたユーザ動作に応じた運動情報が音声のみでユーザに報知されてもかまわないし、当該運動情報が所定の記録媒体に蓄積されたり他の装置に送信されたりするような情報処理システムであってもかまわない。
【０１８２】
また、上述した処理例では、ボード型コントローラ９に２つの距離センサ９７Ｌおよび９７Ｒを設けたが、ボード型コントローラ９に１つの距離センサ９７（例えば、距離センサ９７Ｌ）を設けた場合も同様の処理が可能となる。例えば、ユーザがボード型コントローラ９上で足踏み動作をする場合、左足の足踏み動作と右足の足踏み動作とは同様の動作が交互に繰り返されると仮定することができる。したがって、１つの距離センサ９７によって検出された片足の高さ変化の推移が、他方の足の高さ変化の推移も同様であると仮定すれば、１つの距離センサ９７によって同様の処理が可能となる。
【０１８３】
また、台９ａから垂直方向へ離間する物体までの距離を検出する距離センサ９７を、ボード型コントローラ９に３つ以上設けてもかまわない。例えば、片足に対応する場所に複数の距離センサ９７を設ける場合、ボード型コントローラ９上で足踏み動作するユーザの足の高さだけでなく、上げた足の角度（足の姿勢）等もユーザの動作判定に用いることが可能となる。また、片足に対して複数箇所の距離が検出可能となるため、それらの距離の最大値や最小値を考慮したより正確な距離を情報処理に用いることが可能となる。また、ボード型コントローラ９に３つ以上の距離センサ９７を設ける場合、ユーザが上げる両足だけでなく、両足以外の部位やユーザが所持する物も距離検出対象にできることは言うまでもない。
【０１８４】
また、上述した説明では、ボード型コントローラ９に複数の荷重センサ９４を設けているが、上記処理においてボード型コントローラ９に加わっている荷重の重心位置の情報が不要であれば、荷重センサ９４を少なくとも１つボード型コントローラ９に設けてもかまわない。また、上記処理においてボード型コントローラ９に加わっている荷重の情報および重心位置の情報が何れも不要であれば、ボード型コントローラ９に荷重センサ９４がなくてもかまわない。何れの場合であっても、ボード型コントローラ９上で足踏みするユーザ動作は、距離センサ９７Ｌおよび９７Ｒから得られる距離検出値だけでも判定が可能であるため、荷重センサ９４が１つまたは荷重検出値が得られない場合であっても同様のユーザ動作の判定が可能となる。
【０１８５】
また、ユーザがおもり（ウエイト）を足等に身につけてボード型コントローラ９上で運動することも考えられる。例えば、ユーザは、鉛等の金属で構成された一般的なおもりの他、ペットボトル等の容器に水や砂等を入れて重量を調整することができるおもりを身につけて、ボード型コントローラ９上で運動することが考えられる。この場合、例えば、コントローラ７を用いて、ユーザ自身が身につけるおもりの重量をゲーム装置本体５に予め入力することによって、当該重量を考慮した情報処理が可能となる。例えば、処理対象期間における足の高さＨの推移を用いて累積運動量を算出する際、予め入力された重量が考慮されればよい。具体的には、処理対象期間中の運動量Ｃを、
Ｃ＝（Ｈｍａｘ）×Ｗｐ×ｐ３
や
Ｃ＝（Ｈｉｎｔ）×Ｗｐ×ｑ３
によって算出することによって、予め入力された重量を考慮した運動量（すなわち、処理対象期間中のエネルギー消費量）の算出が可能となる。ここで、Ｈｍａｘは処理対象期間における左足または右足の高さＨの最大値であり、Ｈｉｎｔは処理対象期間に得られた左足または右足の高さＨの積分値であり、Ｗｐは予め入力されたおもりの重量であり、ｐ３は上げた足の高さの最大値におもりの重量を乗算した値を運動量に換算するための定数であり、ｑ３は上げた足の高さの積分値におもりの重量を乗算した値を運動量に換算するための定数である。
【０１８６】
なお、上記処理対象期間における合計荷重値の推移（例えば、平均値）をユーザの体重Ｗとし、体重Ｗを考慮して処理対象期間中の運動量ＣｌおよびＣｒを算出する場合、ユーザ自身が身につける上記おもりの重量をゲーム装置本体５に予め入力しなくてもかまわない。この場合、上記処理対象期間における合計荷重値は、ユーザ自身が身につけているおもりの重量も加わっているため、当該合計荷重値から取得した体重Ｗに既におもりの重量が考慮されていることになる。
【０１８７】
また、ボード型コントローラ９の台９ａに、ユーザの足裏を指圧するための突起を設けてもかまわない。以下、図１５、図１６Ａ、および図１６Ｂを参照して、ボード型コントローラ９に設ける突起の一例について説明する。なお、図１５は、突起９８Ｌおよび９８Ｒが設けられたボード型コントローラ９の外観の一例を示す斜視図である。図１６Ａは、図１５に示したボード型コントローラ９のＣ−Ｃ断面図の一例であり、上面から突出した状態で突起９８Ｒが配置された部分の一例を示す拡大表示図である。図１６Ｂは、図１５に示したボード型コントローラ９のＣ−Ｃ断面図の一例であり、上面から退避した状態で突起９８Ｒが配置された部分の一例を示す拡大表示図である。
【０１８８】
図１５において、台９ａの上面には、複数の突起９８Ｌおよび９８Ｒが設けられている。例えば、台９ａにおける左足を乗せるための面には、当該面から上方へ突出するように複数の突起９８Ｌが設けられている。また、台９ａにおける右足を乗せるための面には、当該面から上方へ突出するように複数の突起９８Ｒが設けられている。したがって、ユーザがボード型コントローラ９上で足踏み動作した場合、左足裏が突起９８Ｌの頂部上に乗せられ右足裏が突起９８Ｒの頂部上に乗せられるため、当該動作によって両足裏を指圧する効果を加えることができる。
【０１８９】
なお、複数の突起９８Ｌおよび９８Ｒは、ボード型コントローラ９の内部に収納可能に構成されてもかまわない。一例として、複数の突起９８Ｌおよび９８Ｒは、単一の板状部材の上面に形成される。これによって、上記板状部材を上下させることに伴って、当該板状部材の上面に形成された複数の突起９８Ｌおよび９８Ｒ全ても上下に移動する。また、図１６Ａおよび図１６Ｂに示すように、複数の突起９８Ｌおよび９８Ｒを嵌挿して台９ａの上面からそれぞれ突出させるための複数の孔を上層板９０ａに形成する（図１６Ａおよび図１６Ｂにおいては、突起９８Ｒを嵌挿する孔９０ａ３Ｒが代表的に図示されている。）。そして、複数の突起９８Ｌおよび９８Ｒが上記孔に嵌挿された状態で上記板状部材を上層板９０ａの下面側から押し上げた状態で任意のロック機構（図示せず）で当該板状部材を固定することによって、当該孔から複数の突起９８Ｌおよび９８Ｒが台９ａの上面から突出して固定された状態となる（図１６Ａの状態）。また、上記ロック機構を解除して複数の突起９８Ｌおよび９８Ｒが台９ａの上面から突出して固定された状態を解除し、上記板状部材を上層板９０ａの下面から離間させるように降下させることによって、当該孔から複数の突起９８Ｌおよび９８Ｒが台９ａの上面から退避した状態となる（図１６Ｂの状態）。このように、複数の突起９８Ｌおよび９８Ｒは、ボード型コントローラ９の内部に収納可能に構成することによって、ボード型コントローラ９を使用するユーザの好みに応じて、複数の突起９８Ｌおよび９８Ｒの有無を適宜変更することができる。
【０１９０】
また、複数の突起９８Ｌおよび９８Ｒは、ボード型コントローラ９に対して着脱自在に構成してもかまわない。例えば、複数の突起９８Ｌおよび９８Ｒを１枚の板状部材の上面に形成する。そして、その下面を台９ａの上面に当接させた状態で上記板状部材を台９ａ上に載置可能に構成し、台９ａの上面に当接した際に、透過領域９０ａ１Ｌ、９０ａ２Ｌ、９０ａ１Ｒ、および９０ａ２Ｒと重なる上記板状部材の部位に開口孔を形成する。これによって、ボード型コントローラ９上に複数の突起９８Ｌおよび９８Ｒが設けられた板状部材を載置した状態で、上述したユーザ動作が可能となる。
【０１９１】
また、距離センサ９７Ｌおよび９７Ｒは、ボード型コントローラ９に対して着脱自在に構成してもかまわない。以下、図１７を参照して、ボード型コントローラ９’に対して距離センサ９７Ｌおよび９７Ｒを着脱可能に構成する一例について説明する。なお、図１７は、距離センサ９７Ｌおよび９７Ｒを着脱可能に構成した中空板９９およびボード型コントローラ９’の外観の一例を示す斜視図である。
【０１９２】
図１７において、距離センサ９７Ｌおよび９７Ｒ（図示せず）は、ボード型コントローラ９’とは別体構成されている中空板９９の内部に内蔵されており、ボード型コントローラ９’内には設けられていない。そして、図１７に示すボード型コントローラ９’は、距離センサ９７Ｌおよび９７Ｒを内蔵しておらず、透過領域９０ａ１Ｌ、９０ａ２Ｌ、９０ａ１Ｒ、および９０ａ２Ｒが形成されていないことを除いては、図６等を用いて上述したボード型コントローラ９と同様の構造を有している。なお、ボード型コントローラ９と同様の構成要素と同様となるボード型コントローラ９’の構成要素については、以下の説明おいて同一の参照符号に「’」を付与して区別する。
【０１９３】
中空板９９は、例えばプラスチック成型により形成されており、ボード型コントローラ９’の台９ａ’が有する略長方形状の上面とサイズを含めて類似した上主面が形成された中空板状のハウジングを有している。例えば、中空板９９は、台９ａ’と同様に、長方形状の短辺が３０ｃｍ程度に設定され、長辺が５０ｃｍ程度に設定される。中空板９９の上主面は、平坦に形成され、ユーザが左足を乗せるための面（図１７における左奥側に２重線で囲まれた領域）および左足を乗せるための面（図１７における右手前側に２重線で囲まれた領域）が設定されている。そして、中空板９９の下部には、中空板９９の下面縁部から下方向にそれぞれ垂設され、ボード型コントローラ９’の台９ａ’上に載置された際にボード型コントローラ９’の４つの側面とそれぞれ当接する４つの当接ガイド片が形成されている。
【０１９４】
距離センサ９７Ｌは、中空板９９における左足を乗せるための面の中央下部となる中空空間内部に固設される。そして、左足を乗せるための面の中央には、距離センサ９７Ｌから出力される赤外線等の光を透過させて当該面の上方空間へ放射させるための透過領域９９ａ１Ｌと、放射された光のうち当該上方空間に存在する物体で反射した光を透過させて距離センサ９７Ｌに入射させるための透過領域９９ａ２Ｌとが形成されている。また、距離センサ９７Ｒは、中空板９９における右足を乗せるための面の中央下部となる中空空間内部に固設される。そして、右足を乗せるための面の中央には、距離センサ９７Ｒから出力される赤外線等の光を透過させて当該面の上方空間へ放射させるための透過領域９９ａ１Ｒと、放射された光のうち当該上方空間に存在する物体で反射した光を透過させて距離センサ９７Ｒに入射させるための透過領域９９ａ２Ｒとが形成されている。なお、透過領域９９ａ１Ｌ、９９ａ２Ｌ、９９ａ１Ｒ、および９９ａ２Ｒは、透過領域９０ａ１Ｌ、９０ａ２Ｌ、９０ａ１Ｒ、および９０ａ２Ｒと同様に、それぞれ距離センサ９７Ｌおよび９７Ｒから出力される波動（例えば、赤外線）を透過させる領域であればよく、例えば、当該波動を透過させる部材や空孔で形成されていてもかまわない。
【０１９５】
台９ａ’の上面上に中空板９９の下面を当接させ、台９ａ’における左足を乗せるための面の上部に中空板９９における左足を乗せるための面が配置されるように、中空板９９をボード型コントローラ９’の台９ａ’上に載置した場合、中空板９９の下面が台９ａ’の上面と当接するとともに、４つの当接ガイド片がボード型コントローラ９’の４つの側面それぞれと当接する。したがって、中空板９９は、ボード型コントローラ９’の台９ａ’上に載置された場合、ボード型コントローラ９’の台９ａ’上に止着されて固定される。そして、ボード型コントローラ９’の台９ａ’上に載置された中空板９９は、透過領域９９ａ１Ｌ、９９ａ２Ｌ、９９ａ１Ｒ、および９９ａ２Ｒが形成された上主面を上方に向けて配置されることになる。
【０１９６】
このように、ボード型コントローラ９’に載置された中空板９９上にユーザが乗る場合は、左足が中空板９９の上主面における左足を乗せるための面の中央付近に乗せられ、右足が中空板９９の上主面における右足を乗せるための面の中央付近に乗せられる。したがって、透過領域９９ａ１Ｌおよび９９ａ２Ｌがユーザ左足の直下となる位置に配設されることになり、透過領域９９ａ１Ｒおよび９９ａ２Ｒがユーザ右足の直下となる位置に配設されることになる。そして、中空板９９上に乗ったユーザが左足を上げた場合、当該左足の位置（中空板９９から左足までの距離であり、厳密には距離センサ９７Ｌから左足までの中空板９９上主面に垂直な方向への距離）が距離センサ９７Ｌによって検出される。また、中空板９９上に乗ったユーザが右足を上げた場合、当該右足の位置（中空板９９から右足までの距離であり、厳密には距離センサ９７Ｒから右足までの中空板９９上主面に垂直な方向への距離）が距離センサ９７Ｒによって検出される。
【０１９７】
また、ボード型コントローラ９’に載置された中空板９９上にユーザが乗った場合には、その荷重が、中空板９９、支持板９０’、および荷重センサ９４ａ’〜９４ｄ’を介して、４つの脚９２に伝達する。したがって、入力された荷重によって生じた床からの反作用は、脚９２’から、球面部品９２ａ’、荷重センサ９４ａ’〜９４ｄ’、中層板９０ｃ’、および上層板９０ａ’を介して、中空板９９に伝達する。したがって、ボード型コントローラ９’の荷重センサ９４ａ’〜９４ｄ’は、ボード型コントローラ９の荷重センサ９４ａ〜９４ｄと同様に、中空板９９上への入力荷重を示す電圧信号を出力端子から出力することができる。
【０１９８】
また、上述した実施形態では、ユーザがボード型コントローラ９の上に乗って足踏みする動作を行う例を用いたが、ボード型コントローラ９上において他の姿勢でユーザが動作することによって操作してもかまわない。例えば、図１８に示すように、ボード型コントローラ９を用いて、ユーザが椅子に座った状態で両足を上げ下げするような動作を検出してもかまわない。この場合、ユーザは、椅子に座ってモニタ２を見る姿勢で足下にボード型コントローラ９を配置し、右足を台９ａにおける右足を乗せるための面に置き、左足を台９ａにおける左足を乗せるための面に置く。そして、ユーザは、椅子に座った状態で足を上げ下げする動作をボード型コントローラ９上で行う。このようなユーザ動作であっても、ボード型コントローラ９は、それぞれの足が上げられた距離の検出することが可能であるとともに、それぞれの足の重さ（荷重）を検出することが可能となる。したがって、ユーザがボード型コントローラ９の上に乗って足踏みする動作を行う例と同様に、ユーザ動作に応じた情報処理が可能となる。
【０１９９】
ここで、ボード型コントローラ９を用いて、ユーザが椅子に座った状態で両足を上げ下げするような動作を検出する場合、ボード型コントローラ９で検出できる荷重はユーザの体重ではなくユーザの足の重さとなる。この場合、上記処理対象期間中の運動量Ｃを、ユーザの足の重さを考慮して算出してもかまわない。例えば、ユーザが椅子に座った状態で両足を上げ下げするような動作における処理対象期間中の運動量Ｃを、
Ｃ＝（Ｈｍａｘ）×Ｗｌ×ｐ４
や
Ｃ＝（Ｈｉｎｔ）×Ｗｌ×ｑ４
によって算出してもよい。ここで、ここで、Ｈｍａｘは処理対象期間における左足または右足の高さＨの最大値であり、Ｈｉｎｔは処理対象期間に得られた左足または右足の高さＨの積分値であり、Ｗｌはユーザの片足の重さであり、ｐ４は上げた足の高さの最大値にユーザの片足の重さを乗算した値を運動量に換算するための定数であり、ｑ４は上げた足の高さの積分値にユーザの片足の重さを乗算した値を運動量に換算するための定数である。なお、片足の重さＷｌは、一方の足を上げている上記処理対象期間における合計荷重値の推移（例えば、平均値）を片足の重さＷｌとしてもいいし、ユーザが予め入力した値を片足の重さＷｌとして用いてもよい。
【０２００】
また、ユーザがおもり（ウエイト）を両足に身につけた状態で椅子に座って、足を上げ下げする運動をボード型コントローラ９上で行うことも考えられる。この場合、例えば、コントローラ７を用いて、ユーザ自身が身につけるおもりの重量をゲーム装置本体５に予め入力することによって、当該重量を考慮した情報処理が可能となる。例えば、ユーザが椅子に座った状態で両足を上げ下げするような動作における処理対象期間中の運動量Ｃを、
Ｃ＝（Ｈｍａｘ）×（Ｗｌ＋Ｗｐ）×ｐ５
や
Ｃ＝（Ｈｉｎｔ）×（Ｗｌ＋Ｗｐ）×ｑ５
によって算出することによって、予め入力された重量を考慮した運動量（すなわち、処理対象期間中のエネルギー消費量）の算出が可能となる。ここで、Ｗｐは予め入力されたおもりの重量であり、ｐ５は上げた足の高さの最大値に片足＋おもりの重量を乗算した値を運動量に換算するための定数であり、ｑ５は上げた足の高さの積分値に片足＋おもりの重量を乗算した値を運動量に換算するための定数である。
【０２０１】
なお、一方の足を上げている上記処理対象期間における合計荷重値の推移（例えば、平均値）をユーザの片足の重さＷｌとし、片足の重さＷｌを考慮して処理対象期間中の運動量Ｃを算出する場合、ユーザ自身が足に身につける上記おもりの重量をゲーム装置本体５に予め入力しなくてもかまわない。この場合、上記処理対象期間における合計荷重値は、ユーザ自身が足に身につけているおもりの重量も加わっているため、当該合計荷重値から取得した片足の重さＷｌに既におもりの重量が考慮されていることになる。
【０２０２】
また、ボード型コントローラ９を用いて、ユーザが椅子に座った状態で両足を上げ下げするような動作を検出する場合やユーザの足以外の身体の一部の動作を検出する場合、ユーザがボード型コントローラ９に乗らない状態となり得るため、ボード型コントローラ９自体を小型のデバイスで構成することが可能となる。例えば、ユーザが椅子に座った状態で両足を上げ下げするような動作を検出する場合に、片足のみの高さＨを検出してもよく、ユーザの片足が乗る程度のサイズでボード型コントローラ９を構成することが可能となる。
【０２０３】
上述した説明では、コントローラ７とゲーム装置本体５とが無線通信によって接続されるとともに、ボード型コントローラ９とゲーム装置本体５とが無線通信によって接続された態様を用いたが、他の態様によって無線通信が行われてもかまわない。第１の例として、ボード型コントローラ９の操作データがコントローラ７へ無線送信され、ボード型コントローラ９から受信した操作データと共にコントローラ７の操作データを、コントローラ７がゲーム装置本体５へ無線送信する。この場合、コントローラ７とゲーム装置本体５とが無線通信によって直接的に接続されるが、ボード型コントローラ９とゲーム装置本体５とはコントローラ７を介した無線通信によって接続されることになる。第２の例として、コントローラ７の操作データがボード型コントローラ９へ無線送信され、コントローラ７から受信した操作データと共にボード型コントローラ９の操作データを、ボード型コントローラ９がゲーム装置本体５へ無線送信する。この場合、ボード型コントローラ９とゲーム装置本体５とが無線通信によって直接的に接続されるが、コントローラ７とゲーム装置本体５とはボード型コントローラ９を介した無線通信によって接続されることになる。第３の例として、コントローラ７とボード型コントローラ９とがケーブルを介して電気的に接続され、ボード型コントローラ９の操作データが当該ケーブルを介してコントローラ７へ送信される。そして、ボード型コントローラ９から上記ケーブルを介して受信した操作データと共にコントローラ７の操作データを、コントローラ７がゲーム装置本体５へ無線送信する。第４の例として、コントローラ７とボード型コントローラ９とがケーブルを介して電気的に接続され、コントローラ７の操作データが当該ケーブルを介してボード型コントローラ９へ送信される。そして、コントローラ７から上記ケーブルを介して受信した操作データと共にボード型コントローラ９の操作データを、ボード型コントローラ９がゲーム装置本体５へ無線送信する。
【０２０４】
また、コントローラ７および／またはボード型コントローラ９とゲーム装置本体５とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ７および／またはボード型コントローラ９に接続されたケーブルをゲーム装置本体５の接続端子に接続する。第１の例として、コントローラ７とゲーム装置本体５とが第１のケーブルを介して電気的に接続され、ボード型コントローラ９とゲーム装置本体５とも第２のケーブルを介して電気的に接続される。第２の例として、コントローラ７とゲーム装置本体５との間のみがケーブルを介して電気的に接続される。この場合、ボード型コントローラ９の操作データは、コントローラ７へ無線送信された後に上記ケーブルを介してゲーム装置本体５に送信されてもいいし、ボード型コントローラ９から直接ゲーム装置本体５に無線送信されてもよい。第３の例として、ボード型コントローラ９とゲーム装置本体５との間のみがケーブルを介して電気的に接続される。この場合、コントローラ７の操作データは、ボード型コントローラ９へ無線送信された後に上記ケーブルを介してゲーム装置本体５に送信されてもいいし、コントローラ７から直接ゲーム装置本体５に無線送信されてもよい。
【０２０５】
また、上述した説明では、距離センサ９７Ｌおよび距離センサ９７Ｒは、赤外線等の光を放射し、検出対象物からの反射波動の情報（位置）によって当該検出対象物までの距離を求める、いわゆる三角測量方式を用いているが、他の距離検出方式によって検出対象物までの距離を求めるデバイスであってもかまわない。例えば、距離センサ９７Ｌおよび距離センサ９７Ｒは、時間飛行法やドップラ干渉方式等の光学的な距離検出方式を用いて、検出対象物までの距離を求めるデバイスであってもかまわない。また、距離センサ９７Ｌおよび距離センサ９７Ｒは、ステレオカメラから得られた画像を分析することによって被写体までの距離を測定するステレオ画像を用いた距離検出方式、当該方式の一方をスポット光源、スリット光源、パターン光源等に置き換えて他方のカメラから得られた画像を分析することによって被写体までの距離を測定する距離検出方式を用いて、検出対象物までの距離を求めるデバイスであってもかまわない。さらに、距離センサ９７Ｌおよび距離センサ９７Ｒは、超音波を放射して、検出対象物からの反射波または透過波の強度や伝搬時間等を測定することによって得られる検出対象物に関する情報から検出対象物までの距離を測定する距離検出方式を用いるデバイスであってもかまわない。また、距離センサ９７Ｌおよび距離センサ９７Ｒは、検出対象物にレーザ（例えば、赤外線レーザ）を照射し、反射して戻ってくる時間を用いて検出対象物までの距離を測定する距離検出方式を用いるデバイスであってもかまわない。
【０２０６】
また、上記実施例では、据置型のゲーム装置３を用いて説明したが、携帯型のゲーム装置や一般的なパーソナルコンピュータ等の情報処理装置で本発明の情報処理プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話、パーソナルコンピュータ、カメラ等であってもよい。何れの装置であっても、当該装置とボード型コントローラ９とを無線または有線で接続することによって、本発明を実現することができる。
【０２０７】
また、上述した説明では情報処理をゲーム装置本体５で行う例を用いたが、上記情報処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置本体５が他の装置（例えば、サーバや他のゲーム装置）と通信可能に構成されている場合、上記情報処理における処理ステップは、ゲーム装置本体５および当該他の装置が協働することによって実行してもよい。一例として、他の装置において、プレイヤオブジェクトＰｏおよび仮想世界等を設定する処理が行われ、ゲーム装置本体５からオブジェクト動作データ、走行速度データ、走行距離データ、累積運動量データ等が他の装置へ送信されて、上記情報処理が行われることが考えられる。そして、他の装置で生成された仮想世界を示す画像データがゲーム装置本体５へ送信され、当該仮想世界がモニタ２に表示される。このように、上記情報処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述した情報処理と同様の処理が可能となる。なお、上記情報処理における処理ステップの少なくとも一部をボード型コントローラ９（マイコン１００）で行ってもよい。また、上述した情報処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置本体５のＣＰＵ１０が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置本体５が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０２０８】
また、上述したゲーム装置本体５の形状や、コントローラ７やボード型コントローラ９の形状および各種操作ボタンやセンサの形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、表示態様、判定に用いられる値等は、単なる一例に過ぎず他の順序、表示態様、値であっても、本発明を実現できることは言うまでもない。
【０２０９】
また、上記情報処理プログラム（ゲームプログラム）は、光ディスク４等の外部記憶媒体を通じてゲーム装置本体５に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体５に供給されてもよい。また、情報処理プログラムは、ゲーム装置本体５内部の不揮発性記憶装置に予め記録されていてもよい。なお、情報処理プログラムを記憶する情報記憶媒体としては、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープなどでもよい。また、上記情報処理プログラムを記憶する情報記憶媒体としては、不揮発性半導体メモリや揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【０２１０】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０２１１】
本発明に係る情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法は、ユーザの動作をより細かく判定することができ、ユーザの動作に基づいた処理等を行う情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法として有用である。
【符号の説明】
【０２１２】
１…ゲームシステム
２…モニタ
７０６…スピーカ
３…ゲーム装置
４…光ディスク
５…ゲーム装置本体
１０…ＣＰＵ
１１…システムＬＳＩ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…無線通信モジュール
１９…無線コントローラモジュール
２０…拡張コネクタ
２１…外部メモリカード用コネクタ
２２、２３…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
３１…入出力プロセッサ
３２…ＧＰＵ
３３…ＤＳＰ
３４…ＶＲＡＭ
３５…内部メインメモリ
７…コントローラ
７１…ハウジング
７２…操作部
７３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
１００、７５１…マイコン
７５２…メモリ
１０６、７５３…無線モジュール
７５４…アンテナ
７０１…加速度センサ
７０２…ＬＥＤ
７０７…サウンドＩＣ
７０８…アンプ
８…マーカ
９…ボード型コントローラ
９０…支持板
９２…脚
９４…荷重センサ
９５…起歪体
９６…歪センサ
９７…距離センサ
９７１…光放射部
９７２…光受光部
９８…突起
９９…中空板
１０２…ＡＤコンバータ
１０４…ＤＣ−ＤＣコンバータ
１０８、１０９…増幅器
１１０…電池
【図１】
0005689705.tif 000002
【図２】
0005689705.tif 000003
【図３】
0005689705.tif 000004
【図４】
0005689705.tif 000005
【図５】
0005689705.tif 000006
【図６】
0005689705.tif 000007
【図７】
0005689705.tif 000008
【図８】
0005689705.tif 000009
【図９】
0005689705.tif 000010
【図１０】
0005689705.tif 000011
【図１１】
0005689705.tif 000012
【図１２】
0005689705.tif 000013
【図１３】
0005689705.tif 000014
【図１４】
0005689705.tif 000015
【図１５】
0005689705.tif 000016
【図１６Ａ】
0005689705.tif 000017
【図１６Ｂ】
0005689705.tif 000018
【図１７】
0005689705.tif 000019
【図１８】
0005689705.tif 000020