JP5689705B2 - 情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法 - Google Patents

情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法 Download PDF

Info

Publication number
JP5689705B2
JP5689705B2 JP2011027448A JP2011027448A JP5689705B2 JP 5689705 B2 JP5689705 B2 JP 5689705B2 JP 2011027448 A JP2011027448 A JP 2011027448A JP 2011027448 A JP2011027448 A JP 2011027448A JP 5689705 B2 JP5689705 B2 JP 5689705B2
Authority
JP
Japan
Prior art keywords
distance
user
data
information processing
distance data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011027448A
Other languages
English (en)
Other versions
JP2012165818A (ja
Inventor
玄洋 竹田
玄洋 竹田
昇 脇谷
昇 脇谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2011027448A priority Critical patent/JP5689705B2/ja
Priority to US13/357,940 priority patent/US9555330B2/en
Priority to EP12153093.5A priority patent/EP2486964B1/en
Publication of JP2012165818A publication Critical patent/JP2012165818A/ja
Application granted granted Critical
Publication of JP5689705B2 publication Critical patent/JP5689705B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/218Input arrangements for video game devices characterised by their sensors, purposes or types using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/46Computing the game score
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/98Accessories, i.e. detachable arrangements optional for the use of the video game device, e.g. grip supports of game controllers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/816Athletics, e.g. track-and-field sports
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1043Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being characterized by constructional details
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1056Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals involving pressure sensitive buttons
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/61Score computation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8005Athletics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Position Input By Displaying (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法に関し、特に例えば、ユーザの動作に基づいた処理を行う情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法に関する。
従来、歩行時の人体の上下動を検出することにより歩数を計数する歩数計がある(例えば、特許文献1参照)。上記特許文献1で開示された歩数計は、人体に装着して用いられる。人体に装着された上記歩数計が歩行または走行に伴う身体の上下運動によって上下に揺動した場合、歩数計内の振子が揺動し、振子の先端に取り付けられた永久磁石がリードスイッチの側方を上下に揺れ、永久磁石がリードスイッチに対して接近したり離れたりすることにより、リードスイッチの両端に振子の上下動に対応した開閉信号が得られる。そして、上記開閉信号をカウンタで計数することによって、当該計数値が歩数として表示器に表示される。
特開昭58−50080号公報
しかしながら、上記特許文献1で開示されている歩数計は、単に装着しているユーザの歩数しか計測することはできない。すなわち、上記歩数計は、歩いたか否かの判定のみ可能であり、ユーザの歩き方や走り方を判定することはできない。例えば、上記歩数計では、ユーザが力強く歩いた場合も軽く歩いた場合も同じ1歩と判定されるだけであるため、ユーザの歩き方による運動の強弱を考慮することができない。
それ故に、本発明の目的は、ユーザの動作をより細かく判定することができる情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法を提供することである。
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
本発明の情報処理システムの一構成例は、ユーザの身体の少なくとも一部を乗せることが可能な第1の入力装置と当該第1の入力装置から得られたデータを処理する情報処理装置とを含む。第1の入力装置は、ユーザの身体の少なくとも一部を乗せる第1の台部、および距離データ出力手段を備える。距離データ出力手段は、第1の台部の台面に対して離間する方向に位置する物体までの距離にしたがって決められる距離データを出力する。情報処理装置は、データ取得手段および処理手段を備える。データ取得手段は、距離データ出力手段から出力された距離データを取得する。処理手段は、データ取得手段が取得した距離データに基づいて、所定の処理を行う。
上記によれば、第1の台部上の物体までの距離が検出されて、当該距離を用いた処理が可能となる。例えば、第1の台部上のユーザの部位(例えば、足)の高さの検出が可能となるため、ユーザの動作をより細かく判定することが可能となる。
また、上記第1の台部は、ユーザが足裏を置くための面が台面上に設定されてもよい。この場合、距離データ出力手段は、面の下部に少なくとも1つ設けられ、当該面上に存在する物体までの距離にしたがって決められる距離データを出力してもよい。
また、上記第1の台部は、ユーザが両足裏をそれぞれ置いて乗るための一対の面が台面上に設定されてもよい。この場合、上記距離データ出力手段は、一対の面の少なくとも一方の下部に少なくとも1つ設けられ、当該面上に存在する物体までの距離にしたがって決められる距離データを出力してもよい。
上記によれば、ユーザの少なくとも一方の足が上げられた高さを用いた処理が可能となる。
また、上記距離データ出力手段は、一対の面のそれぞれの下部に1つずつ設けられ、当該面上に存在する物体までの距離それぞれにしたがって決められる距離データを出力してもよい。
上記によれば、ユーザの両足がそれぞれ上げられた高さを用いた処理が可能となる。
また、上記距離データ出力手段は、台面の下部に、当該台面に沿った方向に所定の間隔をあけて2つ設けられてもよい。
上記によれば、第1の台部上のユーザの複数部位の高さや単一部位の姿勢(例えば、角度)等の検出が可能となり、これらの情報を用いた処理が可能となる。
また、上記第1の台部は、台面から突出する複数の突起部を備えてもよい。
上記によれば、第1の台部に乗るユーザの足裏を指圧することができる。
また、上記複数の突起部は、台面から突出した状態と当該面から退避した状態とに昇降可能に構成されてもよい。
上記によれば、足裏を指圧するか否かをユーザの好みによって適宜変更することができる。
また、上記処理手段は、パラメータ算出手段を含んでもよい。パラメータ算出手段は、距離データに応じた距離に基づいて、ユーザが消費したエネルギーに対応するパラメータを算出する。この場合、上記処理手段は、パラメータ算出手段が算出したパラメータに基づいて、所定の処理を行ってもよい。
上記によれば、ユーザの動作をより細かく判定した結果に基づいたユーザの消費エネルギーの算出が可能となる。
また、上記パラメータ算出手段は、距離データに応じた距離が長いほど、エネルギーが相対的に大きくなるようにパラメータを算出してもよい。
上記によれば、例えばユーザが足を高く上げれば相対的に多く消費されるような消費エネルギーを算出することができる。
また、上記距離データ出力手段は、離間する方向に位置する物体までの距離にしたがって決められる距離データを繰り返し出力してもよい。上記データ取得手段は、距離データ出力手段から繰り返し出力された距離データを繰り返し取得してもよい。上記パラメータ算出手段は、データ取得手段が繰り返し距離データを取得する毎に、パラメータを算出してもよい。
上記によれば、ユーザの動作に対してリアルタイムに消費エネルギーを算出することができる。
また、上記パラメータ算出手段は、距離データに応じた距離が所定の値以上を示している期間中における当該距離の最大値に基づいて、パラメータを算出してもよい。
上記によれば、距離情報に応じた消費エネルギーを容易に算出することができる。
また、上記パラメータ算出手段は、距離データに応じた距離の積分値に基づいて、パラメータを算出してもよい。
上記によれば、距離情報に応じた消費エネルギーを容易に算出することができる。
また、上記パラメータ算出手段は、距離データに応じた距離の極大値に基づいて、パラメータを算出してもよい。
上記によれば、距離情報に応じた消費エネルギーを容易に算出することができる。
また、上記距離データ出力手段は、台面の下部に複数設けられ、当該台面上に存在する物体までの距離にしたがって決められる距離データをそれぞれ出力してもよい。この場合、上記パラメータ算出手段は、複数の距離データ出力手段が出力したそれぞれの距離データに応じた距離に基づいてパラメータをそれぞれ算出し、当該パラメータを合計することによってユーザが消費した累積エネルギーに対応するパラメータを算出してもよい。
上記によれば、複数の距離情報に応じた消費エネルギーを合計して累積エネルギーを算出することができる。
また、上記処理手段は、回数算出手段を含んでいてもよい。回数算出手段は、第1の入力装置から出力されたデータに基づいて、ユーザが台面上で足を上下させた回数を算出する。この場合、上記パラメータ算出手段は、回数算出手段が算出した回数および距離データに応じた距離に基づいて、パラメータを算出してもよい。
上記によれば、ユーザが第1の台部上で上下動作(例えば、足踏み)した回数を考慮した消費エネルギーの算出が可能となる。
また、上記パラメータ算出手段は、回数算出手段が算出した回数が多いほど、エネルギーが相対的に大きくなるようにパラメータを算出してもよい。
上記によれば、ユーザが上下動作した回数が多ければ相対的に多く消費されるような消費エネルギーを算出することができる。
また、上記距離データ出力手段は、照射手段、受信手段、および検出手段を含んでいてもよい。照射手段は、離間する方向に所定の波動を照射する。受信手段は、物体で波動が反射した反射波動を受信する。検出手段は、受信手段が受信した反射波動の情報を用いて、離間する方向に位置する物体までの距離を検出する。
また、上記検出手段は、反射波動を受信した位置に基づいて、距離を検出してもよい。
また、上記検出手段は、反射波動を受信した時間に基づいて、距離を検出してもよい。
上記によれば、電磁波や音波等の波動の反射を利用して、物体までの距離を検出することができる。
また、上記距離データ出力手段は、距離データを、情報処理装置へ直接または他の装置を介して無線送信してもよい。
上記によれば、情報処理装置との通信のためのケーブル等が第1の入力装置に接続する必要がないため、第1の入力装置の移動が容易になるとともに、情報処理装置と第1の入力装置との間の配置距離が当該ケーブル長さ等によって制限されることがない。
また、上記情報処理システムは、第2の入力装置およびケーブルを、さらに含んでいてもよい。第2の入力装置は、ユーザによる操作入力が可能である。ケーブルは、第1の入力装置と第2の入力装置とを接続する。この場合、上記距離データ出力手段は、ケーブルを介して、第2の入力装置へ距離データを出力してもよい。上記第2の入力装置は、距離データ出力手段が出力した距離データとともに、当該第2の入力装置に対する操作入力を示すデータを情報処理装置へ無線送信する送信手段を備えていてもよい。
上記によれば、一度の無線送信によって複数のデバイスのデータが送信されるため、無線送信に要するコストの削減が期待できる。
また、上記第1の入力装置は、少なくとも1つの荷重データ出力手段を、さらに含んでいてもよい。荷重データ出力手段は、第1の台部に加わる荷重にしたがって決められる荷重データを出力する。この場合、上記データ取得手段は、距離データ出力手段および荷重データ出力手段から出力された距離データおよび荷重データを取得してもよい。上記処理手段は、データ取得手段が取得した距離データおよび荷重データに基づいて、所定の処理を行ってもよい。
上記によれば、第1の台部へ加わるユーザの荷重や荷重変化を用いた処理も可能となるため、ユーザの動作をさらにより細かく判定することが可能となる。
また、上記荷重データ出力手段は、第1の台部の下部における異なる位置に複数設けられそれぞれ第1の台部に加わる荷重にしたがって決められる荷重データを出力してもよい。
上記によれば、第1の台部に加わる荷重の位置(例えば、重心位置)を用いた処理も可能となるため、ユーザの動作をさらにより細かく判定することが可能となる。
また、上記第1の入力装置は、第1のハウジングおよび第2のハウジングを含んでいてもよい。第1のハウジングは、ユーザの身体の少なくとも一部を乗せる第2の台部を有する。第2のハウジングは、第1の台部を有し、当該第1の台部を上面に向けた状態で第1のハウジングの第2の台部の台面上に着脱自在に載置される。この場合、上記第1のハウジングには、荷重データ出力手段が少なくとも設けられてもよい。上記第2のハウジングには、距離データ出力手段が少なくとも設けられてもよい。上記荷重データ出力手段は、第2のハウジングを介して、第1の台部に加わる荷重にしたがって決められる荷重データを出力してもよい。
上記によれば、荷重データ出力手段が設けられた第1のハウジングに対して、距離データ出力手段が設けられた第2のハウジングが着脱自在に構成されているため、ユーザの使用用途に応じて第1の入力装置を使い分けることが可能となる。また、荷重データ出力手段が設けられた第1のハウジングに相当する入力装置が既存している場合、新たに第2のハウジングを既存の入力装置に取り付けることによって新たな機能が付加されるため、既存の入力装置の有効利用や付加する機能に対するコスト削減が期待できる。
また、上記情報処理装置は、処理手段で行われた所定の処理の結果を表示手段に表示する表示制御手段を、さらに備えていてもよい。
上記によれば、ユーザの動作をより細かく判定した結果に基づいた画像を、ユーザに画像で示すことができる。
また、上記処理手段は、判定手段および通知手段を含んでいてもよい。判定手段は、データ取得手段が取得した距離データに応じた距離が所定値に到達しているか否かを判定する。通知手段は、判定手段の判定結果にしたがって決められるメッセージをユーザに通知する。
上記によれば、ユーザに促す運動を行うにあたって、検出対象となっているユーザの部位が高い場合や低い場合にメッセージを通知することによって、ユーザが行っている運動の善し悪しをユーザに報知することができる。
また、上記第1の入力装置は、少なくとも1つの荷重データ出力手段を、さらに含んでいてもよい。荷重データ出力手段は、第1の台部に加わる荷重にしたがって決められる荷重データを出力する。この場合、上記データ取得手段は、距離データ出力手段および荷重データ出力手段から出力された距離データおよび荷重データを取得してもよい。上記パラメータ算出手段は、距離データに応じた距離および荷重データに応じた荷重に基づいて、パラメータを算出してもよい。
上記によれば、ユーザの体重を考慮した消費エネルギーの算出が可能となる。
また、上記情報処理装置は、重量取得手段を、さらに備えていてもよい。重量取得手段は、ユーザ入力に応じて、第1の入力装置に乗るユーザが身につけるおもりの重量を取得する。この場合、上記パラメータ算出手段は、距離データに応じた距離および重量取得手段が取得した重量に基づいて、パラメータを算出してもよい。
上記によれば、ユーザが身につけているおもりの重量を考慮した消費エネルギーの算出が可能となる。
また、上記距離データ出力手段は、第1の台部の台面に対して離間する方向に位置する物体までの距離を検出し、当該距離を示す距離データを出力してもよい。
また、本発明は、上記構成要素の少なくとも一部としてコンピュータを機能させる情報処理プログラム、上記情報処理システムに含まれる情報処理装置、上記情報処理システムに含まれる入力装置、上記構成要素の少なくとも一部で行われる動作を含む情報処理方法の形態で実施されてもよい。
本発明によれば、第1の台部上の物体までの距離が検出されて、当該距離を用いた処理が可能となる。例えば、第1の台部上のユーザの部位(例えば、足)の高さの検出が可能となるため、ユーザの動作をより細かく判定することが可能となる。
本発明の一実施形態に係るゲームシステム1を説明するための外観図 図1のゲーム装置本体5の機能ブロック図 図1のコントローラ7の上面後方から見た斜視図 図3のコントローラ7を下面前方から見た斜視図 図3のコントローラ7の構成の一例を示すブロック図 図1のボード型コントローラ9の外観の一例を示す斜視図 図6に示したボード型コントローラ9のA−A断面図の一例を示すとともに、荷重センサ94が配置された隅の部分を拡大表示した一例を示す図 図6に示したボード型コントローラ9のB−B断面図の一部を拡大した一例を示す図 図1のボード型コントローラ9の電気的な構成の一例を示すブロック図 図1のボード型コントローラ9を用いて操作するユーザの様子の一例を示す図 図1のモニタ2に表示される画像の一例を示す図 図1のゲーム装置本体5のメインメモリに記憶される主なデータおよびプログラムの一例を示す図 図1のゲーム装置本体5において実行される処理の一例を示すフローチャート 図13におけるステップ45の動作設定処理の一例を示すサブルーチン 突起98Lおよび98Rが設けられたボード型コントローラ9の外観の一例を示す斜視図 図15に示したボード型コントローラ9のC−C断面図の一例であり、上面から突出した状態で突起98Rが配置された部分の一例を示す拡大表示図 図15に示したボード型コントローラ9のC−C断面図の一例であり、上面から退避した状態で突起98Rが配置された部分の一例を示す拡大表示図 距離センサ97Lおよび97Rを着脱可能に構成した中空板99およびボード型コントローラ9’の外観の一例を示す斜視図 図1のボード型コントローラ9を用いて操作するユーザの様子の他の例を示す図
図1を参照して、本発明の一実施形態に係る情報処理プログラムを実行する情報処理装置および当該情報処理装置を含む情報処理システムについて説明する。以下、説明を具体的にするために、当該情報処理装置の一例として据置型のゲーム装置本体5を用い、ゲーム装置本体5を含むゲームシステムを用いて説明する。なお、図1は、据置型のゲーム装置3を含むゲームシステム1の一例を示す外観図である。図2は、ゲーム装置本体5の一例を示すブロック図である。以下、当該ゲームシステム1について説明する。
図1において、ゲームシステム1は、表示手段の一例である家庭用テレビジョン受像機(以下、モニタと記載する)2と、モニタ2に接続コードを介して接続する据置型のゲーム装置3とから構成される。モニタ2は、ゲーム装置3から出力された音声信号を音声出力するためのスピーカ2aを備える。また、ゲーム装置3は、本願発明の情報処理プログラムの一例となるプログラム(例えば、ゲームプログラム)を記録した光ディスク4と、光ディスク4のプログラムを実行してゲーム画面をモニタ2に表示出力させるためのコンピュータを搭載したゲーム装置本体5と、表示画面に表示されたオブジェクト等を操作するために必要な操作情報をゲーム装置本体5に与えるためのコントローラ7と、ボード型コントローラ9とを含む。なお、ゲーム装置本体5とコントローラ7およびボード型コントローラ9とは、無線によって無線通信可能に接続される。例えば、上記無線通信は、Bluetooth(登録商標)規格に従って実行されるが、赤外線や無線LANなど他の規格に従って実行されてもよい。
ゲーム装置本体5は、無線コントローラモジュール19(図2参照)を内蔵する。無線コントローラモジュール19は、コントローラ7および/またはボード型コントローラ9から無線送信されるデータを受信し、ゲーム装置本体5からコントローラ7へデータを送信して、コントローラ7および/またはボード型コントローラ9とゲーム装置本体5とを無線通信によって接続する。また、ゲーム装置本体5には、ゲーム装置本体5に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着される。
ゲーム装置本体5には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ17(図2参照)が搭載される。ゲーム装置本体5は、光ディスク4に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ2に表示する。ゲームプログラム等は、光ディスク4に限らず、フラッシュメモリ17に予め記録されたものを実行するようにしてもよい。また、ゲーム装置本体5は、フラッシュメモリ17に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ2に表示することもできる。そして、ゲーム装置3のユーザは、モニタ2に表示されたゲーム画像を見ながら、コントローラ7を操作することによって、ゲーム進行を楽しむことができる。
コントローラ7およびボード型コントローラ9は、無線コントローラモジュール19を内蔵するゲーム装置本体5へ、例えばBluetoothの技術を用いて操作情報等の送信データをそれぞれ無線送信する。コントローラ7は、主にモニタ2の表示画面に表示された選択肢の選択等をするための操作手段である。コントローラ7は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン(十字キー等を含む)とが設けられている。また、後述により明らかとなるが、コントローラ7は、コントローラ7から見た画像を撮像する撮像情報演算部74を備えている。そして、撮像情報演算部74の撮像対象の一例として、モニタ2の表示画面近傍に2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって例えば赤外光を出力する。また、コントローラ7は、ゲーム装置本体5の無線コントローラモジュール19から無線送信された送信データを通信部75で受信して、当該送信データに応じた音や振動を発生させることもできる。
次に、図2を参照して、ゲーム装置本体5の内部構成について説明する。図2は、ゲーム装置本体5の構成の一例を示すブロック図である。ゲーム装置本体5は、CPU(Central Processing Unit)10、システムLSI(Large Scale Integration)11、外部メインメモリ12、ROM/RTC(Read Only Memory/Real Time Clock)13、ディスクドライブ14、およびAV−IC(Audio Video−Integrated Circuit)15等を有する。
CPU10は、光ディスク4に記憶されたプログラムを実行することによって処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムLSI11の内部構成については、後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたプログラムや、フラッシュメモリ17から読み出されたプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置本体5の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ35または外部メインメモリ12に読み出したデータを書き込む。
システムLSI11には、入出力プロセッサ31、GPU(Graphics Processor Unit)32、DSP(Digital Signal Processor)33、VRAM(Video RAM)34、および内部メインメモリ35が設けられる。図示は省略するが、これらの構成要素31〜35は、内部バスによって互いに接続される。
GPU32は、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM34は、GPU32がグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU32は、VRAM34に記憶されたデータを用いて画像データを作成する。
DSP33は、オーディオプロセッサとして機能し、内部メインメモリ35や外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。
上述のように生成された画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、AVコネクタ16を介して、読み出した画像データをモニタ2に出力するとともに、読み出した音声データをモニタ2に内蔵されるスピーカ2aに出力する。これによって、画像がモニタ2に表示されるとともに音がスピーカ2aから出力される。
入出力プロセッサ(I/Oプロセッサ)31は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ31は、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、および外部メモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
入出力プロセッサ31は、無線通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ31は、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データがある場合には、無線通信モジュール18およびアンテナ22を介して当該データをネットワークに送信する。また、入出力プロセッサ31は、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22、および無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10は、プログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してプログラムで利用する。フラッシュメモリ17には、ゲーム装置本体5と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置本体5を利用してプレイしたゲームのセーブデータ(処理の結果データまたは途中データ)が記憶されてもよい。
入出力プロセッサ31は、アンテナ23および無線コントローラモジュール19を介して、コントローラ7および/またはボード型コントローラ9から送信される操作データ等を受信し、内部メインメモリ35または外部メインメモリ12のバッファ領域に記憶(一時記憶)する。なお、内部メインメモリ35には、外部メインメモリ12と同様に、光ディスク4から読み出されたプログラムや、フラッシュメモリ17から読み出されたプログラムを記憶したり、各種データを記憶したりしてもよく、CPU10のワーク領域やバッファ領域として用いられてもかまわない。
入出力プロセッサ31には、拡張コネクタ20および外部メモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。外部メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ31は、拡張コネクタ20や外部メモリカード用コネクタ21を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
ゲーム装置本体5(例えば、前部主面)には、当該ゲーム装置本体5の電源ボタン24、ゲーム処理のリセットボタン25、光ディスク4を脱着する投入口、およびゲーム装置本体5の投入口から光ディスク4を取り出すイジェクトボタン26等が設けられている。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、ゲーム装置本体5の各構成要素に対して、図示しないACアダプタを介して電力が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置本体5の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
図3および図4を参照して、コントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た一例を示す斜視図である。図4は、コントローラ7を下面前方から見た一例を示す斜視図である。
図3および図4において、コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有しており、当該ハウジング71に複数の操作部72が設けられている。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。ユーザが十字キー72aの何れかの操作部分を押下することによって上下左右(前後左右)何れかの方向を選択される。例えばユーザが十字キー72aを操作することによって、仮想世界に登場するオブジェクト等の移動方向を指示したり、複数の選択肢から選択する指示をしたりすることができる。
なお、十字キー72aは、上述したユーザの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に4つのプッシュスイッチを配設し、ユーザによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記4つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、4つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティック(いわゆる、ジョイスティック)を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、十字キー72aの代わりに設けてもかまわない。
ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、ユーザがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、1番ボタン、2番ボタン、およびAボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン72a〜72gは、ゲーム装置本体5が実行するプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、ユーザが不意に誤って押下することのないタイプのボタンである。
ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置本体5の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、ユーザが不意に誤って押下することのないタイプのボタンである。
ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をユーザに通知するために用いられる。具体的には、無線コントローラモジュール19からコントローラ7へ、複数のLED702のうち、上記コントローラ種別に対応するLEDを点灯させるための信号が送信される。
また、ハウジング71上面には、操作ボタン72bおよび操作ボタン72e〜72gの間に後述するスピーカ(図5に示すスピーカ706)からの音を外部に放出するための音抜き孔が形成されている。
ハウジング71下面には、凹部が形成されている。ハウジング71下面の凹部は、ユーザがコントローラ7の前面をマーカ8Lおよび8Rに向けて片手で把持したときに、当該ユーザの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部である。
ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング71の後面には、コネクタ73が設けられている。コネクタ73は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
次に、図5を参照して、コントローラ7の内部構成について説明する。なお、図5は、コントローラ7の構成の一例を示すブロック図である。
図5において、コントローラ7は、操作部72、撮像情報演算部74、通信部75、加速度センサ701、スピーカ706、サウンドIC707、およびアンプ708を備えている。
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部75へ出力する。なお、これらの撮像情報演算部74は、コントローラ7のハウジング71に固設されており、ハウジング71自体の方向を変えることによってその撮像方向を変更することができる。
撮像情報演算部74から出力される処理結果データは、コアユニット70で指し示す位置等を示す操作データとして用いることもできる。例えば、ユーザは、コントローラ7の前面(撮像情報演算部74が撮像する光の入射口側)がモニタ2に向くようにコントローラ7を把持する。一方、モニタ2の表示画面近傍には、2つのマーカ8Lおよび8Rが設置されている。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって赤外光を出力し、撮像情報演算部74の撮像対象になる。そして、ゲーム装置本体5は、2つのマーカ8Lおよび8Rによる高輝度点に関する位置データを用いてコントローラ7が指し示している位置を算出する。
加速度センサ701は、3方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。なお、加速度センサ701は、少なくとも1軸方向に沿った直線加速度を検知する加速度検出手段を使用してもよい。例えば、加速度センサ701は、静電容量式(静電容量結合式)のものが用いられるが、既存の加速度検出手段の技術(例えば、圧電方式や圧電抵抗方式)あるいは将来開発される他の適切な技術を用いて提供されてもよい。
加速度センサ701に用いられるような加速度検出手段は、加速度センサ701の持つ各軸に対応する直線に沿った加速度(直線加速度)のみを検知することができる。つまり、加速度センサ701からの直接の出力は、それら3軸のそれぞれに沿った直線加速度(静的または動的)を示す信号である。このため、加速度センサ701は、非直線状(例えば、円弧状)の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。しかしながら、加速度センサ701から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ(例えばCPU10)またはコントローラ7のプロセッサ(例えばマイコン751)等のコンピュータが処理を行うことによって、コントローラ7に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば容易に理解できるであろう。
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。また、マイコン751は、アンテナ754を介して無線モジュール753が受信したゲーム装置本体5からのデータに応じて、サウンドIC707の動作を制御する。サウンドIC707は、通信部75を介してゲーム装置本体5から送信されたサウンドデータ等を処理する。
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの3軸方向の加速度信号(X、Y、およびZ軸方向加速度データ)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、X、Y、およびZ軸方向加速度データ、処理結果データ)を無線コントローラモジュール19へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から無線コントローラモジュール19への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥースで構成される通信部75の送信間隔は5msである。マイコン751は、無線コントローラモジュール19への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばブルートゥースの技術を用いて、操作情報を示す電波信号を所定周波数の搬送波を用いてアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からのX、Y、およびZ軸方向加速度データ、および撮像情報演算部74からの処理結果データがコントローラ7から送信される。そして、ゲーム装置本体5の無線コントローラモジュール19でその電波信号を受信し、ゲーム装置本体5で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、X、Y、およびZ軸方向加速度データ、および処理結果データ)を取得する。そして、ゲーム装置本体5のCPU10は、取得した操作情報とプログラムとに基づいて、処理を行う。なお、ブルートゥース(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
図6は、図1に示したボード型コントローラ9の外観の一例を示す斜視図である。図6に示されるように、ボード型コントローラ9は、ユーザがその上に乗る(ユーザの足を乗せる)台9a、台9aにかかる荷重を検出するための少なくとも4つの荷重センサ94a〜94d、台9aから足までの距離を検出するための少なくとも1つの距離センサ97(実施例では2つの距離センサ97Lおよび97R)を備える。各荷重センサ94a〜94dと距離センサ97Lおよび97Rとは、それぞれ台9aに内包されており(図9参照)、図6においてはそれらの配置位置がそれぞれ破線で示されている。なお、以下の説明において、4つの荷重センサ94a〜94dを総称して説明する場合、荷重センサ94と記載することがある。また、以下の説明において、2つの距離センサ97Lおよび97Rを総称して説明する場合、距離センサ97と記載することがある。
台9aは、略直方体に形成されており、上面視で略長方形状である。例えば、台9aは、長方形状の短辺が30cm程度に設定され、長辺が50cm程度に設定される。台9aの上面は、平坦に形成され、ユーザが両足裏をそれぞれ置いて乗るための一対の面が設定されている。具体的には、台9aの上面には、ユーザが左足を乗せるための面(図6における左奥側に2重線で囲まれた領域)および左足を乗せるための面(図6における右手前側に2重線で囲まれた領域)がそれぞれ設定されている。そして、台9aの4隅の側面は、例えば部分的に円柱状に張り出すように形成されている。
台9aにおいて、4つの荷重センサ94a〜94dは、所定の間隔を置いて配置される。当該実施例では、4つの荷重センサ94a〜94dは、台9aの周縁部に、具体的には4隅にそれぞれ配置される。荷重センサ94a〜94dの間隔は、台9aに対するユーザの荷重のかけ方によるゲーム操作の意図をより精度良く検出できるように適宜な値に設定される。
距離センサ97Lは、台9aにおける左足を乗せるための面の中央下部に配置される。そして、左足を乗せるための面の中央には、距離センサ97Lから出力される赤外線等の光を透過させて当該面の上方空間へ放射させるための透過領域90a1Lと、放射された光のうち当該上方空間に存在する物体で反射した光を透過させて距離センサ97Lに入射させるための透過領域90a2Lとが形成されている。また、距離センサ97Rは、台9aにおける右足を乗せるための面の中央下部に配置される。そして、右足を乗せるための面の中央には、距離センサ97Rから出力される赤外線等の光を透過させて当該面の上方空間へ放射させるための透過領域90a1Rと、放射された光のうち当該上方空間に存在する物体で反射した光を透過させて距離センサ97Rに入射させるための透過領域90a2Rとが形成されている。なお、距離センサ97Lおよび距離センサ97Rは、上方空間に存在する物体の位置(距離)を検出するために例えば赤外線を放射するが、他の電磁波や音波等の波動を放射してもかまわない。また、透過領域90a1L、90a2L、90a1R、および90a2Rは、それぞれ距離センサ97Lおよび97Rから出力される波動(例えば、赤外線)を透過させる領域であればよく、例えば、当該波動を透過させる部材や空孔で形成されていてもかまわない。
図7は、図6に示したボード型コントローラ9のA−A断面図の一例を示すとともに、荷重センサ94が配置された隅の部分が拡大表示された一例を示している。図7において、台9aは、ユーザが乗るための支持板90と脚92とを含む。脚92は、荷重センサ94a〜94dが配置される箇所にそれぞれ設けられる。この実施例では、4つの荷重センサ94a〜94dがそれぞれ4隅に配置されるので、4つの脚92が4隅に設けられることになる。脚92は、例えばプラスチック成型によって略有底円筒状に形成されており、荷重センサ94は、脚92内の底面に設けられた球面部品92a上に配置される。支持板90は、荷重センサ94を介して脚92に支持される。
支持板90は、上面と側面上部とを形成する上層板90a、下面と側面下部とを形成する下層板90b、および上層板90aと下層板90bとの間に設けられる中層板90cを含む。上層板90aと下層板90bとは、例えばプラスチック成型により形成されており、接着等により一体化される。中層板90cは、例えば1枚の金属板のプレス成型により形成されている。中層板90cは、4つの荷重センサ94a〜94dの上に固定される。上層板90aは、その下面に格子状のリブ(図示しない)を有しており、当該リブを介して中層板90cに支持されている。したがって、台9aにユーザが乗ったときには、その荷重は、支持板90および荷重センサ94a〜94dを介して、4つの脚92に伝達する。図7に矢印で示したように、入力された荷重によって生じた床からの反作用は、脚92から、球面部品92a、荷重センサ94a〜94d、および中層板90cを介して、上層板90aに伝達する。
荷重センサ94は、例えば歪ゲージ(歪センサ)式ロードセルであり、入力された荷重を電気信号に変換する荷重変換器である。荷重センサ94では、荷重入力に応じて、起歪体95が変形して歪が生じる。この歪が、起歪体に貼り付けられた歪センサ96によって、電気抵抗の変化に変換され、さらに電圧変化に変換される。したがって、荷重センサ94は、入力荷重を示す電圧信号を出力端子から出力することができる。
なお、荷重センサ94は、音叉振動式、弦振動式、静電容量式、圧電式、磁歪式、またはジャイロ式のような他の方式の荷重センサであってもよい。
図8は、図6に示したボード型コントローラ9のB−B断面図の一部を拡大した一例を示す図であり、距離センサ97Rが配置された部分が拡大表示されている。図8において、距離センサ97Rは、上層板90aにおける右足を乗せるための面の中央下部となる、中層板90c上に固設される。距離センサ97Rは、赤外線等の光を上層板90a側へ放射する光放射部971Rと、上層板90aの上方空間に存在する物体で反射した光を受光する光受光部972Rとを備えている。一例として、光放射部971Rは、赤外線を上層板90a側へ放射する赤外線LEDで構成され、光受光部972Rは、赤外線を受光した位置を検出するPSD(ポジション・センシング・ディテクタ)で構成される。そして、光放射部971Rの直上位置となる上層板90aには透過領域90a1R(例えば、空孔)が形成され、光受光部972Rの直上位置となる上層板90aには透過領域90a2R(例えば、赤外線が透過可能な部材で構成される面材)が形成される。なお、光放射部971Rは、赤外線LEDの他にLEDやレーザのような発光素子を用いてもよい。また、光受光部972Rは、PSDの他にCCDやフォトダイオードのような受光素子を用いてもよい。また、上層板90aにおける左足を乗せるための面の中央下部には距離センサ97Lが固設されるが、上述した距離センサ97Rと同様の構造および配置位置となるため詳細な説明を省略する。
台9aにユーザが乗ったときには、左足が上層板90aにおける左足を乗せるための面の中央付近に乗せられ、右足が上層板90aにおける右足を乗せるための面の中央付近に乗せられる。したがって、透過領域90a1Lおよび90a2Lがユーザ左足の直下となる位置に配設されることになり、透過領域90a1Rおよび90a2Rがユーザ右足の直下となる位置に配設されることになる。そして、台9a上に乗ったユーザが左足を上げた場合、当該左足の位置(ボード型コントローラ9から左足までの距離であり、厳密には距離センサ97Lから左足までの台9a上面に垂直な方向への距離)が距離センサ97Lによって検出される。また、台9a上に乗ったユーザが右足を上げた場合(図10参照)、当該右足の位置(ボード型コントローラ9から右足までの距離であり、厳密には距離センサ97Rから右足までの台9a上面に垂直な方向への距離)が距離センサ97Rによって検出される。
具体的には、距離センサ97Lおよび97Rは、それぞれ検出物体(ユーザの左足または右足)からの反射光が光受光部972Lおよび972Rに入射すると入射した反射光の位置を検出し、当該位置が検出物体と距離センサ97Lおよび97Rとの距離に応じて変化することを用いる三角測量方式に基づいて、当該距離をそれぞれ検出する。一例として、距離センサ97Lおよび97Rは、それぞれ検出物体までの上記距離に応じて、異なる電圧を有する信号を出力する。したがって、距離センサ97Lおよび97Rは、検出物体までの距離を示す電圧信号を出力端子からそれぞれ出力することができる。
図6に戻って、ボード型コントローラ9には、さらに、電源ボタン9cが設けられる。ボード型コントローラ9が起動していない状態で電源ボタン9cが操作(例えば、電源ボタン9cの押下)されると、ボード型コントローラ9の各回路コンポーネント(図9参照)に電力が供給される。ただし、ボード型コントローラ9は、ゲーム装置本体5からの指示に従って電源オンされて各回路コンポーネントに電力供給が開始される場合もある。なお、ボード型コントローラ9は、ユーザが乗っていない状態が一定時間(例えば、30秒)以上継続すると、自動的に電源がオフされてもよい。また、ボード型コントローラ9が起動している状態で、電源ボタン9cが再度操作された場合、電源がオフされて各回路コンポーネントへの電力供給が停止されてもよい。
図9は、ボード型コントローラ9の電気的な構成の一例を示すブロック図である。なお、図9では、信号およびデータの流れは実線矢印で示され、電力の供給が破線矢印で示されている。
ボード型コントローラ9は、その動作を制御するためのマイクロコンピュータ(マイコン)100を含む。マイコン100は、図示しないCPU、ROM、およびRAM等を含み、CPUがROMに記憶されたプログラムに従ってボード型コントローラ9の動作を制御する。
マイコン100には、電源ボタン9c、ADコンバータ102、DC−DCコンバータ104、および無線モジュール106が接続される。さらに、無線モジュール106には、アンテナ106aが接続される。4つの荷重センサ94a〜94dは、それぞれ増幅器108を介してADコンバータ102に接続される。2つの距離センサ97Lおよび97Rは、それぞれ増幅器109を介してADコンバータ102に接続される。
また、ボード型コントローラ9には、各回路コンポーネントへの電力供給のために電池110が収容されている。他の実施例では、電池110に代えてACアダプタをボード型コントローラ9に接続し、商用電力を各回路コンポーネントに供給するようにしてもよい。この場合、DC−DCコンバータ104に代えて、交流を直流に変換し、直流電圧を降圧および整流する電源回路をボード型コントローラ9内に設ける必要がある。この実施例では、マイコン100および無線モジュール106への電力供給は、電池110から直接的に行われる。つまり、マイコン100内部の一部のコンポーネント(CPU)と無線モジュール106とには、常に電池110からの電力が供給されており、電源ボタン9cがオンされたか否か、ゲーム装置本体5から電源オンを指示するコマンドが送信されたか否かを検出する。一方、荷重センサ94a〜94dと、距離センサ97Lおよび97Rと、ADコンバータ102と、増幅器108および109とには、DC−DCコンバータ104を介して電池110からの電力が供給される。DC−DCコンバータ104は、電池110からの直流電流の電圧値を異なる電圧値に変換して、荷重センサ94a〜94dと、距離センサ97Lおよび97Rと、ADコンバータ102と、増幅器108および109とに与える。
これら荷重センサ94a〜94dと、距離センサ97Lおよび97Rと、ADコンバータ102と、増幅器108および109とへの電力供給は、マイコン100によるDC−DCコンバータ104の制御によって、必要に応じて行われるようにしてもよい。つまり、マイコン100は、荷重センサ94a〜94dを動作させて荷重を検出する必要があると判断される場合や、距離センサ97Lおよび97Rを動作させて検出物体までの距離を検出する必要があると判断される場合に、DC−DCコンバータ104を制御して、荷重センサ94a〜94dと、距離センサ97Lおよび97Rと、ADコンバータ102と、増幅器108および109とから少なくとも1つを選択して電力を供給するようにしてよい。
電力が供給されると、荷重センサ94a〜94dは、入力された荷重を示す信号をそれぞれ出力する。また、電力が供給されると、距離センサ97Lおよび97Rは、検出物体までの距離を示す信号をそれぞれ出力する。これらの信号は、各増幅器108または109で増幅され、ADコンバータ102でアナログ信号からディジタルデータに変換されて、マイコン100に入力される。荷重センサ94a〜94dの検出値には荷重センサ94a〜94dの識別情報が付与されて、いずれの荷重センサ94a〜94dの検出値であるかが識別可能にされる。また、距離センサ97Lおよび97Rの検出値には距離センサ97Lおよび97Rの識別情報が付与されて、いずれの距離センサ97Lおよび97Rの検出値であるかが識別可能にされる。このようにして、マイコン100は、同一時刻における4つの荷重センサ94a〜94dそれぞれの荷重検出値と2つの距離センサ97Lおよび97Rそれぞれの距離検出値とを示すデータを取得することができる。
一方、マイコン100は、荷重センサ94a〜94dや距離センサ97Lおよび97Rを動作させる必要がないと判断される場合、つまり、荷重検出タイミングでも距離検出タイミングでない場合、DC−DCコンバータ104を制御して、荷重センサ94a〜94dと、距離センサ97Lおよび97Rと、ADコンバータ102と、増幅器108および109とへの電力の供給を停止する。このように、ボード型コントローラ9は、必要な場合にだけ、荷重センサ94a〜94dや距離センサ97Lおよび97Rを動作させて荷重や距離の検出を行うことができるので、荷重検出や距離検出のための電力消費を抑制することができる。
荷重検出や距離検出が必要な場合とは、典型的には、ゲーム装置本体5(図1)が荷重データや距離データを取得したいときである。例えば、ゲーム装置本体5が荷重情報や距離情報を必要とするとき、ゲーム装置本体5は、ボード型コントローラ9に対して情報取得命令を送信する。マイコン100は、ゲーム装置本体5から情報取得命令を受信したときに、DC−DCコンバータ104を制御して、荷重センサ94a〜94dや距離センサ97Lおよび97R等に電力を供給し、荷重や距離を検出する。一方、マイコン100は、ゲーム装置本体5から情報取得命令を受信していないときには、DC−DCコンバータ104を制御して、荷重センサ94a〜94dや距離センサ97Lおよび97R等への電力供給を停止する。
なお、マイコン100は、一定時間ごとに荷重検出タイミングおよび距離検出タイミングが到来すると判断して、DC−DCコンバータ104を制御するようにしてもよい。このような周期的な荷重検出および距離検出を行う場合、周期情報は、例えば、ゲーム開始時点においてゲーム装置本体5からボード型コントローラ9のマイコン100に与えられて記憶されてもよいし、予めマイコン100にプリインストールされてもよい。
荷重センサ94a〜94dからの検出値を示すデータや距離センサ97Lおよび97Rからの検出値を示すデータは、ボード型コントローラ9の操作データ(入力データ)として、マイコン100から無線モジュール106およびアンテナ106aを介してゲーム装置本体5に送信される。例えば、ゲーム装置本体5からの命令を受けて荷重検出および距離検出を行った場合、マイコン100は、ADコンバータ102から荷重センサ94a〜94dの検出値データおよび距離センサ97Lおよび97Rの検出値データを受信したことに応じて、当該検出値データをゲーム装置本体5に送信する。なお、マイコン100は、一定時間ごとに上記検出値データをゲーム装置本体5に送信するようにしてもよい。荷重および距離の検出周期よりも送信周期が長い場合には、送信タイミングまでに検出された複数の検出タイミングの荷重値および距離値を含むデータを送信すればよい。
なお、無線モジュール106は、ゲーム装置本体5の無線コントローラモジュール19と同じ無線規格(Bluetooth、無線LANなど)で通信可能にされる。したがって、ゲーム装置本体5のCPU10は、無線コントローラモジュール19等を介して情報取得命令をボード型コントローラ9に送信することができる。このように、ボード型コントローラ9は、無線モジュール106およびアンテナ106aを介して、ゲーム装置本体5からの命令を受信することができる。また、ボード型コントローラ9は、荷重センサ94a〜94dの荷重検出値(または荷重算出値)と距離センサ97Lおよび97Rの距離検出値(または距離算出値)を含む操作データをゲーム装置本体5に送信することができる。
例えば4つの荷重センサ94a〜94dで検出される4つの荷重値の単なる合計値や2つの距離センサ97Lおよび97Rで検出される2つの距離の最大値、最小値、平均値等に基づいて実行されるようなゲームの場合には、ユーザはボード型コントローラ9の4つの荷重センサ94a〜94dや2つの距離センサ97Lおよび97Rに対して任意の位置をとることができる。つまり、ユーザは、台9aの上の任意の位置に任意の向きで乗ってゲームをプレイすることができる。しかしながら、ゲームの種類によっては、4つの荷重センサ94で検出される荷重値がユーザから見ていずれの方向の荷重値であるか、および2つの距離センサ97で検出される距離値がユーザの何れの足の距離値であるかを識別して処理を行う必要がある。つまり、ボード型コントローラ9の4つの荷重センサ94および2つの距離センサ97とユーザとの位置関係が把握されている必要がある。この場合、例えば、4つの荷重センサ94および2つの距離センサ97とユーザとの位置関係を予め規定しておき、当該所定の位置関係が得られるようにユーザが台9a上に乗ることが前提とされてもよい。典型的には、台9aの中央に乗ったユーザの前後左右にそれぞれ荷重センサ94a〜94dが2つずつ存在し、ユーザの左足直下に距離センサ97Lが存在し、ユーザの右足直下に距離センサ97Rが存在するような位置関係、つまり、ユーザがボード型コントローラ9の台9aの中央に乗った位置関係が規定される。この場合、この実施例では、ボード型コントローラ9の台9aが平面視で矩形状に形成されるとともにその矩形の1辺(長辺)に電源ボタン9cが設けられているので、この電源ボタン9cを目印として利用して、ユーザには電源ボタン9cの設けられた長辺が所定の方向(前、後、左または右)に存在するようにして台9aに乗ってもらうことを予め決めておく。このようにすれば、荷重センサ94a〜94dで検出される荷重値は、ユーザから見て所定の方向(右前、左前、右後および左後)の荷重値となり、距離センサ97Lおよび97Rで検出される距離値は、ユーザが左足および右足をそれぞれ上げている距離となる。したがって、ボード型コントローラ9およびゲーム装置本体5は、荷重検出値データに含まれる荷重センサ94の識別情報と、距離検出値データに含まれる距離センサ97の識別情報と、予め設定(記憶)された荷重センサ94および距離センサ97のユーザに対する位置ないし方向を示す配置データとに基づいて、各荷重検出値がユーザから見ていずれの方向に対応するか、および各距離検出値がユーザの何れの足に対応するのかを把握することができる。これにより、例えば前後左右の操作方向や上げている足の区別のようなユーザによるゲーム操作の意図を把握することが可能になる。
次に、ゲーム装置本体5が行う具体的な処理を説明する前に、図10および図11を用いてゲーム装置本体5で行う情報処理の概要について説明する。図10は、ボード型コントローラ9を用いて操作するユーザの様子の一例を示す図である。図11は、モニタ2に表示される画像の一例を示す図である。
図10に示すように、ゲームシステム1でボード型コントローラ9を用いて操作するためには、ユーザは、モニタ2に表示されたプレイヤオブジェクトPoを見ながら、ボード型コントローラ9上で足を上下させる動作(例えば、ボード型コントローラ9上で歩く、走る、飛ぶ、腿を上げる、踊る動作等)を行う。一方、図11に示すように、モニタ2には仮想世界内を移動するプレイヤオブジェクトPoが表示され、ボード型コントローラ9上におけるユーザ動作に応じて、仮想世界においてプレイヤオブジェクトPoが動作するように表現される。一例として、図11においては、仮想世界内をウォーキング、ジョギング、またはランニングするプレイヤキャラクタPoが表示されている。そして、ユーザは、ボード型コントローラ9上で、ウォーキング、ジョギング、またはランニングするように足踏みする。この場合、ユーザが足踏みする歩数および足を上げた高さHに応じた速度で、プレイヤキャラクタPoが仮想世界内を移動する。
例えば、上述したように、ボード型コントローラ9からはボード型コントローラ9上のユーザ動作に応じた荷重検出値や距離検出値が出力される。そして、モニタ2に表示されたプレイヤオブジェクトPoは、上記荷重検出値および/または上記距離検出値に応じて、仮想世界内で動作する。一例として、上記距離検出値に基づいて、ボード型コントローラ9から上げたユーザの足までの高さHが算出され、当該高さHに応じて上記プレイヤオブジェクトPoが足を上げるようにして仮想世界内を歩くまたは走る動作をする。また、上記荷重検出値および/または上記距離検出値に応じて、ユーザの歩数および足を上げる毎の高さHが逐次算出され、当該歩数および高さHに基づいて仮想世界内におけるプレイヤオブジェクトPoの走行速度、走行距離、および累積運動量等が算出されて表示される(運動情報Io)。なお、本明細書における「累積運動量」は、ボード型コントローラ9上での走行や歩行を模した足踏み等の身体活動によって消費される代謝量の増分となる、運動の身体活動量(エネルギー消費量)を示している。例えば、「累積運動量」は、「キロカロリー(kcal)」を単位として一般的に目安が示されるエネルギー消費量に相当するパラメータである。また、算出されるプレイヤオブジェクトPoの走行速度、走行距離、および累積運動量等は、実際のユーザ動作に基づいているため、現実世界にシミュレーションすることによって、ユーザの走行速度、走行距離、および累積運動量と密接に関連付けて表示することも可能である。
次に、ゲームシステム1において行われる処理の詳細を説明する。まず、図12を参照して、処理において用いられる主なデータについて説明する。なお、図12は、ゲーム装置本体5の外部メインメモリ12および/または内部メインメモリ35(以下、2つのメインメモリを総称して、単にメインメモリと記載する)に記憶される主なデータおよびプログラムの一例を示す図である。
図12に示すように、メインメモリのデータ記憶領域には、操作データDa、荷重値データDb、重心位置データDc、左足高さデータDd、右足高さデータDe、左足フラグデータDf、オブジェクト動作データDg、走行速度データDh、走行距離データDi、累積運動量データDj、メッセージデータDk、および画像データDm等が記憶される。なお、メインメモリには、図12に示す情報に含まれるデータの他、モニタ2に表示される他のオブジェクト等に関するデータ等、処理に必要なデータ等が適宜記憶される。また、メインメモリのプログラム記憶領域には、情報処理プログラムを構成する各種プログラム群Paが記憶される。
操作データDaは、コントローラ7やボード型コントローラ9から送信データとして送信されてくる一連の操作情報が格納され、最新の操作データに更新される。例えば、操作データDaは、荷重データDa1および距離データDa2等を含んでいる。荷重データDa1は、ボード型コントローラ9の荷重センサ94a〜94dがそれぞれ検出した荷重検出値を示すデータである。距離データDa2は、ボード型コントローラ9の距離センサ97Lおよび97Rがそれぞれ検出した距離検出値を示すデータである。
なお、ゲーム装置本体5に備える無線コントローラモジュール19は、コントローラ7やボード型コントローラ9から所定周期(例えば、1/200秒毎)に送信される操作情報に含まれるデータ(例えば、荷重検出値を示すデータおよび距離検出値を示すデータ)を受信し、無線コントローラモジュール19に備える図示しないバッファに蓄えられる。その後、上記バッファに蓄えられたデータが処理周期である1フレーム毎(例えば、1/60秒毎)に読み出されて、メインメモリの操作データDa(例えば、荷重データDa1および距離データDa2)がそれぞれ更新される。
このとき、操作情報を受信する周期と処理周期とが異なるために、上記バッファには複数の時点に受信した操作情報が記述されていることになる。後述する処理の説明においては、後述する各ステップにおいて、複数の時点に受信した操作情報のうち最新の操作情報のみまたは複数の時点に受信した操作情報全てを用いて処理して、次のステップに進める態様を用いる。
また、後述する処理フローでは、荷重データDa1および距離データDa2が処理周期である1フレーム毎に更新される例を用いて説明するが、他の処理周期で更新されてもかまわない。例えば、ボード型コントローラ9からの送信周期毎に荷重データDa1および距離データDa2をそれぞれ更新し、当該更新された荷重データDa1および距離データDa2を処理周期毎に利用する態様でもかまわない。この場合、荷重データDa1および距離データDa2を更新する周期と、他の処理周期とが異なることになる。
荷重値データDbは、ボード型コントローラ9が検出する荷重値を示すデータの集合である。例えば、荷重値データDbは、荷重センサ94a〜94dがそれぞれ検出した荷重の合計値(合計荷重値)を示すデータの集合である。具体的には、荷重値データDbは、時系列的に算出された所定期間内の上記合計荷重値を示すデータの配列であり、配列の各要素に上記合計荷重値を示すデータが時系列に格納される。
重心位置データDcは、ボード型コントローラ9に加わっている荷重の重心位置を示すデータの集合である。例えば、重心位置データDcは、荷重センサ94a〜94dがそれぞれ検出した荷重値から所定の数式を用いて算出される重心位置を示すデータの集合である。具体的には、重心位置データDcは、時系列的に算出された所定期間内の上記重心位置を示すデータの配列であり、配列の各要素に上記重心位置を示すデータが時系列に格納される。
左足高さデータDdは、ボード型コントローラ9上でユーザが左足を上げた高さH(図10参照)を示すデータの集合である。例えば、左足高さデータDdは、距離センサ97Lが検出した距離検出値から算出される高さHを示すデータの集合である。具体的には、左足高さデータDdは、時系列的に算出された所定期間内の左足の高さHを示すデータの配列であり、配列の各要素に左足の高さHを示すデータが時系列に格納される。
右足高さデータDeは、ボード型コントローラ9上でユーザが右足を上げた高さHを示すデータの集合である。例えば、右足高さデータDeは、距離センサ97Rが検出した距離検出値から算出される高さHを示すデータの集合である。具体的には、右足高さデータDeは、時系列的に算出された所定期間内の右足の高さHを示すデータの配列であり、配列の各要素に右足の高さHを示すデータが時系列に格納される。
左足フラグデータDfは、ボード型コントローラ9上でユーザが左足を上げていると判定された際にオンに設定され、ユーザが右足を上げていると判定された際にオフに設定される左足フラグを示すデータである。
オブジェクト動作データDgは、仮想世界におけるプレイヤオブジェクトPoの動作や位置を示すデータである。走行速度データDhは、仮想世界内を走行(歩行)するプレイヤオブジェクトPoの速度を示すデータである。走行距離データDiは、仮想世界内を走行(歩行)したプレイヤオブジェクトPoの距離を示すデータである。累積運動量データDjは、仮想世界内を走行(歩行)することによるプレイヤオブジェクトPoの運動量を示すデータである。
メッセージデータDkは、算出されたユーザの左足の高さHおよび/または右足の高さHが閾値に到達していない場合に、ユーザに通知されるメッセージを示すデータである。
画像データDmは、プレイヤオブジェクトデータDm1および背景画像データDm2等を含んでいる。プレイヤオブジェクトデータDm1は、仮想世界にプレイヤオブジェクトPoを配置してゲーム画像を生成するためのデータである。背景画像データDm2は、仮想世界に背景を配置してゲーム画像を生成するためのデータである。
次に、図13および図14を参照して、ゲーム装置本体5において行われる処理の詳細を説明する。なお、図13は、ゲーム装置本体5において実行される処理の一例を示すフローチャートである。図14は、図13におけるステップ45の動作設定処理の一例を示すサブルーチンである。ここで、図13および図14に示すフローチャートにおいては、処理のうち、ボード型コントローラ9を用いたユーザの操作に応じて、プレイヤオブジェクトPoが動作して表示される処理について主に説明し、本願発明と直接関連しない他の処理については詳細な説明を省略する。また、図13および図14では、CPU10が実行する各ステップを「S」と略称する。
ゲーム装置本体5の電源が投入されると、ゲーム装置本体5のCPU10は、ROM/RTC13に記憶されている起動用のプログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク4に記憶された情報処理プログラムがメインメモリに読み込まれ、CPU10によって当該プログラムの実行が開始される。図13および図14に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
図13において、CPU10は、処理の初期設定を行い(ステップ41)、次のステップに処理を進める。例えば、上記ステップ41における初期設定において、CPU10は、仮想世界の設定やプレイヤオブジェクトPoの配置および姿勢等の初期設定を行って、オブジェクト動作データDg等を更新する。また、上記ステップ41における初期設定では、以下の情報処理を行うために他のパラメータを初期化する。例えば、CPU10は、上述したメインメモリに格納される各データが示す他のパラメータをそれぞれ所定値(例えば0、空値、またはNull値)に初期化する。
次に、CPU10は、操作データを取得して(ステップ42)、次のステップに処理を進める。例えば、CPU10は、ボード型コントローラ9から受信した操作データを用いて、当該操作データに含まれる荷重検出値を示すデータを用いて荷重データDa1を更新する。ここで、上記操作データには、荷重センサ94a〜94dがそれぞれ検出した荷重検出値を示すデータが含まれており、荷重センサ94a〜94dの識別情報によって区別された当該データをそれぞれ用いて、荷重データDa1が更新される。また、CPU10は、ボード型コントローラ9から受信した操作データを用いて、当該操作データに含まれる距離検出値を示すデータを用いて距離データDa2を更新する。ここで、上記操作データには、距離センサ97Lおよび97Rがそれぞれ検出した距離検出値を示すデータが含まれており、距離センサ97Lおよび97Rの識別情報によって区別された当該データをそれぞれ用いて、距離データDa2が更新される。なお、操作データを受信する周期と上記ステップ42を行う処理周期とが異なるために、当該処理周期の間に複数回の操作データが受信されてバッファに格納されている。上記ステップ42においては、上記複数回受信された操作データのうち最新の操作データのみを用いて操作データDaが更新される例を用いる。
次に、CPU10は、荷重値および重心位置を算出して(ステップ43)、次のステップに処理を進める。例えば、CPU10は、荷重データDa1が示す荷重検出値を合計して合計荷重値を算出し、当該合計荷重値を示すデータを用いて荷重値データDbにおける時系列データ配列のうち最新のデータを更新する。具体的には、荷重データDa1は、荷重センサ94a〜94dがそれぞれ検出した最新の荷重検出値を示しているため、当該荷重検出値を合計することによって、上記合計荷重値が算出される。また、CPU10は、荷重データDa1が示す荷重検出値を用いて重心位置を算出し、当該重心位置を示すデータを用いて重心位置データDcにおける時系列データ配列のうち最新のデータを更新する。以下、重心位置の算出方法の一例を説明する。
上記重心位置は、ボード型コントローラ9の台9aに加わる荷重の重心位置であり、各荷重センサ94a〜94d(図6参照)が検出する荷重値によって定められる。例えば、上記重心位置は、ボード型コントローラ9の台9a上の位置に対応する所定の座標系(例えば、台9aの中心を原点、台9aの長辺方向をX軸方向、短辺方向をY軸方向とするXY座標系)に基づいた座標値によって表される。そして、荷重センサ94aが検出する荷重値をa、荷重センサ94bが検出する荷重値をb、荷重センサ94cが検出する荷重値をc、荷重センサ94dが検出する荷重値をdとした場合、重心のX軸座標値(X)およびY軸座標値(Y)は、以下の数式を用いて算出することができる。
X=((a+c)―(b+d))×m
Y=((c+d)―(a+b))×n
ここで、mおよびnは、それぞれ予め定められた定数である。このようにして算出される重心位置は、ボード型コントローラ9上のユーザ動作や体重移動(姿勢)に応じて変化する。例えば、ユーザが左足を上げた場合に重心位置のX軸座標値が正の値となり、ユーザが右足を上げた場合に重心位置のX軸座標値が負の値となる。なお、上記重心位置の算出式は単なる一例であり、その他の方法によって重心位置が算出されてもよい。
次に、CPU10は、左足高さおよび右足高さを算出して(ステップ44)、次のステップに処理を進める。例えば、CPU10は、距離データDa2が示す距離センサ97Lが検出した距離検出値を用いて左足高さを算出し、当該左足高さを示すデータを用いて左足高さデータDdにおける時系列データ配列のうち最新のデータを更新する。また、CPU10は、距離データDa2が示す距離センサ97Rが検出した距離検出値を用いて右足高さを算出し、当該右足高さを示すデータを用いて右足高さデータDeにおける時系列データ配列のうち最新のデータを更新する。一例として、左足高さHLおよび右足高さHRは、以下の数式を用いて算出される。
HL=f1(DL)
HR=f2(DR)
ここで、DLは距離センサ97Lが検出した距離検出値であり、DRは距離センサ97Rが検出した距離検出値である。また、f1およびf2は、それぞれ距離検出値が代入されることによって当該距離検出値が実世界における長さに換算される数式である。数式f1およびf2は、それぞれ距離センサ97Lおよび/または97Rの出力特性に基づいて予め定められてもいいし、当該情報処理前に行われたユーザの距離調整作業等によって定められてもよい。なお、ゲーム装置本体5が取得する距離センサ97Lおよび97Rの距離検出値が実世界における長さをそのまま示す場合は、HL=DLおよびHR=DRとしてもよい。
次に、CPU10は、動作設定処理を行って(ステップ45)、次のステップに処理を進める。以下、図14を参照して、上記ステップ45で行う動作設定処理の一例について説明する。
図14において、CPU10は、ユーザが左足を上げているか否かを判断する(ステップ51)。そして、CPU10は、ユーザが左足を上げていると判断される場合、次のステップ52に処理を進める。一方、CPU10は、ユーザが左足を上げていないと判断される場合、次のステップ58に処理を進める。第1の例として、CPU10は、左足高さデータDdが示す最新の左足高さHLが、所定の判定条件を満たす場合(例えば、最新の左足高さHLが第1判定値以上である場合)、ユーザが左足を上げていると判断する。なお、第1の例においては、右足高さデータDeが示す最新の右足高さHRに対しても、所定の判定条件(例えば、最新の右足高さHRが実質的に0)を設定してもよい。すなわち、最新の左足高さHLおよび最新の右足高さHRがそれぞれ所定の判定条件を満たす場合に、ユーザが左足を上げていると判断されることになる。第2の例として、CPU10は、重心位置データDcが示す最新の重心位置が、所定の判定条件を満たす場合(例えば、最新の重心位置のX軸座標値が第2判定値以上の正の値である場合)、ユーザが左足を上げていると判断する。第3の例として、上記第1の例における判断が肯定または上記第2の例における判断が肯定である場合、ユーザが左足を上げていると判断する。第4の例として、上記第1の例における判断および上記第2の例における判断がともに肯定である場合、ユーザが左足を上げていると判断する。
ステップ52において、CPU10は、左足高さHLに基づいてプレイヤオブジェクトPoの動作を設定し、次のステップに処理を進める。例えば、CPU10は、左足高さデータDdが示す最新の左足高さHLに相当する高さまで左足を上げて、走る、歩く、またはその場で停止するように、プレイヤオブジェクトPoの動作を設定してオブジェクト動作データDgを更新する。ここで、プレイヤオブジェクトPoが走っているのか、歩いているのか、その場で停止しているのかについては、走行速度データDhが示す速度に基づいて設定される。なお、左足高さデータDdが示す最新の左足高さHLが上記第1判定値未満である場合や物体未検出を示す場合、CPU10は、プレイヤオブジェクトPoが上げる左足の高さを所定の値に設定してオブジェクト動作データDgを更新してもよい。
次に、CPU10は、左足フラグがオンに設定されているか否かを判断する(ステップ53)。そして、CPU10は、左足フラグがオフまたはNull値に設定されている場合、次のステップ54に処理を進める。一方、CPU10は、左足フラグがオンに設定されている場合、当該サブルーチンによる処理を終了する。上記ステップ53において、CPU10は、例えば左足フラグデータDfを参照して左足フラグがオンに設定されているか否かを判断する。
ステップ54において、CPU10は、走行速度、走行距離、および累積運動量を算出して、次のステップに処理を進める。例えば、CPU10は、左足フラグがオフされてから現時点までを処理対象期間として、当該処理対象期間の長さ(時間)、当該処理対象期間における右足高さHRの推移、当該処理対象期間における合計荷重値の推移、および当該処理対象期間における重心位置の推移の少なくとも1つを用いて、走行速度、走行距離、および累積運動量を算出する。
例えば、処理対象期間の長さ(時間)および処理対象期間における右足高さHRの推移に基づいて、上記走行速度(プレイヤオブジェクトPoが移動する速度)が算出され、算出された速度を用いて走行速度データDhが更新される。具体的には、CPU10は、上記処理対象期間の長さが短い程、プレイヤオブジェクトPoが移動する速度を速く算出するとともに、処理対象期間における右足高さHRの最大値が長い程、プレイヤオブジェクトPoが移動する速度を速く算出する。つまり、ユーザがボード型コントローラ9上で足踏みするピッチが短いほどプレイヤオブジェクトPoが仮想世界内を移動する速度が速くなり、ユーザがボード型コントローラ9上で足踏みして足を上げる高さが高いほどプレイヤオブジェクトPoが仮想世界内を移動する速度が速くなることになる。また、ユーザがボード型コントローラ9上であまり足を上げずに速いピッチで足踏みした場合、処理対象期間の長さが短くなっても処理対象期間における右足高さHRの最大値が短くなるため、結果的にプレイヤオブジェクトPoが仮想世界内を移動する速度が上がらないこともあり得る。
また、処理対象期間の長さ(時間)および上述のように算出されたプレイヤオブジェクトPoの移動速度に基づいて、上記走行距離(プレイヤオブジェクトPoが移動した距離)が算出され、算出された距離を用いて走行距離データDiが更新される。具体的には、CPU10は、処理対象期間の長さおよびプレイヤオブジェクトPoの移動速度に基づいて、当該処理対象期間中にプレイヤオブジェクトPoが仮想世界内を移動した距離を算出する。そして、CPU10は、走行距離データDiが示す走行距離に算出された移動距離を加算することによって新たな走行距離を算出し、当該新たな走行距離を用いて走行距離データDiを更新する。なお、CPU10は、上記新たな走行距離に基づいて、プレイヤオブジェクトPoの仮想世界における新たな配置位置を算出し、当該新たな配置位置を用いてオブジェクト動作データDgを更新する。
また、処理対象期間における右足高さHRの推移に基づいて、上記累積運動量が算出され、算出された累積運動量を用いて累積運動量データDjが更新される。一例として、CPU10は、処理対象期間における右足高さHRの最大値が長いほど、当該処理対象期間中の運動量(すなわち、処理対象期間中のエネルギー消費量)Crを大きく算出する。具体的には、処理対象期間中の運動量Crは、
Cr=(HRmax)×p1
で算出される。ここで、HRmaxは処理対象期間における右足高さHRの最大値であり、p1は上げた足の高さの最大値を運動量に換算するための定数である。そして、CPU10は、累積運動量データDjが示す累積運動量に算出された運動量Crを加算することによって新たな累積運動量を算出し、当該新たな累積運動量を用いて累積運動量データDjを更新する。後述により明らかとなるが、この場合、累積運動量は、右足高さHRの最大値HRmaxおよび左足高さHLの最大値HLmaxを累積した値に基づいて算出されることになる。
なお、上述した一例では、処理対象期間における右足高さHRの最大値を用いて運動量Crを算出しているが、当該処理対象期間における右足高さHRの極大値を用いて運動量Crを算出してもよい。例えば、上記処理対象期間中における右足高さHRの推移が一度の上げ下げ動作を示すものであれば、当該処理対象期間中の極大値は上記最大値と同じとなる。しかしながら、上記処理対象期間中における右足高さHRの推移が複数回上げ下げしている動作を示すものであれば、当該処理対象期間中の極大値が複数抽出することができるため、これらの極大値それぞれに対して運動量Crを算出することによって、このような処理対象期間中の動作の違いを考慮した運動量の算出が可能となる。なお、以下の説明においても右足高さHRの最大値を用いる処理が記載されているが、当該処理においても同様に極大値を用いることができる。
他の例として、CPU10は、処理対象期間に得られた右足高さHRの積分値が大きいほど、当該処理対象期間中の運動量Crを大きく算出する。具体的には、処理対象期間中の運動量Crは、
Cr=(HRint)×q1
で算出される。ここで、HRintは処理対象期間に得られた右足高さHRの積分値であり、q1は上げた足の高さの積分値を運動量に換算するための定数である。そして、CPU10は、累積運動量データDjが示す累積運動量に算出された運動量Crを加算することによって新たな累積運動量を算出し、当該新たな累積運動量を用いて累積運動量データDjを更新する。後述により明らかとなるが、この場合、累積運動量は、右足高さHRの積分値HRintおよび左足高さHLの積分値HLintを累積した値に基づいて算出されることになる。
なお、処理対象期間中の運動量Crは、さらにユーザの体重を考慮して算出してもかまわない。例えば、ジョギング時の運動量(kcal)の目安は、体重(kg)×距離(km)で算出されることもあり、このような概算を用いる場合、処理対象期間中の運動量Crを、
Cr=(HRmax)×W×p2

Cr=(HRint)×W×q2
によって算出してもよい。ここで、Wはユーザの体重であり、p2は上げた足の高さの最大値にユーザの体重を乗算した値を運動量に換算するための定数であり、q2は上げた足の高さの積分値にユーザの体重を乗算した値を運動量に換算するための定数である。なお、体重Wは、上記処理対象期間における合計荷重値の推移(例えば、平均値)を体重Wとしてもいいし、ユーザが予め入力した値を体重Wとして用いてもよい。
また、処理対象期間中の運動量Crは、さらに処理対象期間における重心位置の推移を考慮して算出してもかまわない。例えば、重心位置が移動する距離が長い程、ボード型コントローラ9上でユーザが強い運動を行っていることが想定できるため、上記処理対象期間中の重心位置の移動距離を乗算して処理対象期間中の運動量Crを算出してもかまわない。この場合、処理対象期間中の運動量Crは、
Cr=(HRmax)×GL×p3

Cr=(HRint)×GL×q3
によって算出してもよい。ここで、GLは処理対象期間中の重心位置の移動距離であり、p3は上げた足の高さの最大値に重心位置の移動距離を乗算した値を運動量に換算するための定数であり、q3は上げた足の高さの積分値に重心位置の移動距離を乗算した値を運動量に換算するための定数である。なお、上述したユーザの体重を考慮して算出する運動量Crに、さらに処理対象期間における重心位置の推移も考慮して運動量Crを算出してもよいことは、言うまでもない。
次に、CPU10は、左足フラグをオンに設定して(ステップ55)、次のステップに処理を進める。例えば、CPU10は、左足フラグをオンに設定して左足フラグデータDfを更新する。
次に、CPU10は、左足フラグがオフされてから現時点までの処理対象期間における右足高さHRの推移を用いて、当該処理対象期間における右足高さHRの最大値HRmaxが第3判定値に到達しているか否かを判断する(ステップ56)。ここで、第3判定値は、ユーザに適切な運動を促すために設けられる閾値である。例えば、第3判定値以上の高さまで右足を上げた場合にユーザの運動が適切に行われたと判断され、ユーザに実行を促している運動の種類に応じて第3判定値が設定される。そして、CPU10は、右足高さHRの最大値HRmaxが第3判定値に到達していない場合、次のステップ57に処理を進める。一方、CPU10は、右足高さHRの最大値HRmaxが第3判定値に到達している場合、次のステップ65に処理を進める。
ステップ57において、CPU10は、ユーザに通知するメッセージを設定して、当該サブルーチンによる処理を終了する。例えば、CPU10は、ユーザにもっと足を上げて運動するように促すメッセージを設定し、当該設定したメッセージを示すデータを用いてメッセージデータDkを更新する。
一方、ステップ65において、CPU10は、ユーザに通知するメッセージを削除して、当該サブルーチンによる処理を終了する。例えば、CPU10は、もっと足を上げて運動するようにユーザに促すメッセージがメッセージデータDkに設定されている場合、当該メッセージを削除してメッセージデータDkを更新する。
ユーザが左足を上げていないと判断(上記ステップ51で否定判断)された場合、CPU10は、ユーザが右足を上げているか否かを判断する(ステップ58)。そして、CPU10は、ユーザが右足を上げていると判断される場合、次のステップ59に処理を進める。一方、CPU10は、ユーザが右足を上げていないと判断される場合、次のステップ66に処理を進める。第1の例として、CPU10は、右足高さデータDeが示す最新の右足高さHRが、所定の判定条件を満たす場合(例えば、最新の右足高さHRが上記第1判定値以上である場合)、ユーザが右足を上げていると判断する。なお、第1の例においては、左足高さデータDdが示す最新の左足高さHLに対しても、所定の判定条件(例えば、最新の左足高さHLが実質的に0)を設定してもよい。すなわち、最新の右足高さHRおよび最新の左足高さHLがそれぞれ所定の判定条件を満たす場合に、ユーザが右足を上げていると判断されることになる。第2の例として、CPU10は、重心位置データDcが示す最新の重心位置が、所定の判定条件を満たす場合(例えば、最新の重心位置のX軸座標値が上記第2判定値以下の負の値である場合)、ユーザが右足を上げていると判断する。第3の例として、上記第1の例における判断が肯定または上記第2の例における判断が肯定である場合、ユーザが右足を上げていると判断する。第4の例として、上記第1の例における判断および上記第2の例における判断がともに肯定である場合、ユーザが右足を上げていると判断する。
ステップ59において、CPU10は、右足高さHRに基づいてプレイヤオブジェクトPoの動作を設定し、次のステップに処理を進める。なお、上記ステップ59におけるプレイヤオブジェクトPoの動作の設定については、上記ステップ52の動作設定に対して左右が異なるだけであって他の処理は同様の処理となるため、詳細な説明を省略する。
次に、CPU10は、左足フラグがオフに設定されているか否かを判断する(ステップ60)。そして、CPU10は、左足フラグがオンまたはNull値に設定されている場合、次のステップ61に処理を進める。一方、CPU10は、左足フラグがオフに設定されている場合、当該サブルーチンによる処理を終了する。上記ステップ60において、CPU10は、例えば左足フラグデータDfを参照して左足フラグがオフに設定されているか否かを判断する。
ステップ61において、CPU10は、走行速度、走行距離、および累積運動量を算出して、次のステップに処理を進める。例えば、CPU10は、左足フラグがオンされてから現時点までを処理対象期間として、上記ステップ54と同様に、当該処理対象期間の長さ(時間)、当該処理対象期間における左足高さHLの推移、当該処理対象期間における合計荷重値の推移、および当該処理対象期間における重心位置の推移の少なくとも1つを用いて、走行速度、走行距離、および累積運動量を算出する。
例えば、処理対象期間の長さ(時間)および処理対象期間における左足高さHLの推移に基づいて、上記走行速度(プレイヤオブジェクトPoが移動する速度)が算出され、算出された速度を用いて走行速度データDhが更新される。具体的には、CPU10は、上記処理対象期間の長さが短い程、プレイヤオブジェクトPoが移動する速度を速く算出するとともに、処理対象期間における左足高さHLの最大値が長い程、プレイヤオブジェクトPoが移動する速度を速く算出する。
また、上記ステップ54と同様に、処理対象期間の長さ(時間)および上述のように算出されたプレイヤオブジェクトPoの移動速度に基づいて、上記走行距離(プレイヤオブジェクトPoが移動した距離)が算出され、算出された走行距離を用いて走行距離データDiが更新される。また、CPU10は、上記算出された走行距離に基づいて、プレイヤオブジェクトPoの仮想世界における新たな配置位置を算出し、当該新たな配置位置を用いてオブジェクト動作データDgを更新する。
また、処理対象期間における左足高さHLの推移に基づいて、上記累積運動量が算出され、算出された累積運動量を用いて累積運動量データDjが更新される。一例として、CPU10は、処理対象期間における左足高さHLの最大値が長いほど、当該処理対象期間中の運動量(すなわち、処理対象期間中のエネルギー消費量)Clを大きく算出する。具体的には、処理対象期間中の運動量Clは、
Cl=(HLmax)×p1
で算出される。ここで、HLmaxは処理対象期間における左足高さHLの最大値であり、p1は上げた足の高さの最大値を運動量に換算するための定数である。そして、CPU10は、累積運動量データDjが示す累積運動量に算出された運動量Clを加算することによって新たな累積運動量を算出し、当該新たな累積運動量を用いて累積運動量データDjを更新する。したがって、この場合、累積運動量は、上記ステップ54の処理と合わせて右足高さHRの最大値HRmaxおよび左足高さHLの最大値HLmaxを累積した値に基づいて算出されることになる。
なお、上述した一例では、処理対象期間における左足高さHLの最大値を用いて運動量Clを算出しているが、当該処理対象期間における左足高さHLの極大値を用いて運動量Clを算出してもよい。例えば、上記処理対象期間中における左足高さHLの推移が一度の上げ下げ動作を示すものであれば、当該処理対象期間中の極大値は上記最大値と同じとなる。しかしながら、上記処理対象期間中における左足高さHLの推移が複数回上げ下げしている動作を示すものであれば、当該処理対象期間中の極大値が複数抽出することができるため、これらの極大値それぞれに対して運動量Clを算出することによって、このような処理対象期間中の動作の違いを考慮した運動量の算出が可能となる。なお、以下の説明においても左足高さHLの最大値を用いる処理が記載されているが、当該処理においても同様に極大値を用いることができる。
他の例として、CPU10は、処理対象期間に得られた左足高さHLの積分値が大きいほど、当該処理対象期間中の運動量Clを大きく算出する。具体的には、処理対象期間中の運動量Clは、
Cl=(HLint)×q1
で算出される。ここで、HLintは処理対象期間に得られた左足高さHLの積分値であり、q1は上げた足の高さの積分値を運動量に換算するための定数である。そして、CPU10は、累積運動量データDjが示す累積運動量に算出された運動量Clを加算することによって新たな累積運動量を算出し、当該新たな累積運動量を用いて累積運動量データDjを更新する。したがって、この場合、累積運動量は、上記ステップ54の処理と合わせて右足高さHRの積分値HRintおよび左足高さHLの積分値HLintを累積した値に基づいて算出されることになる。
なお、上記ステップ54と同様に、処理対象期間中の運動量Clも、さらにユーザの体重Wを考慮して算出してもかまわない。また、処理対象期間中の運動量Clも、さらに処理対象期間における重心位置の推移を考慮して算出してもかまわない。また、ユーザの体重Wを考慮して算出する運動量Clに、さらに処理対象期間における重心位置の推移も考慮して運動量Clを算出してもよいことは、言うまでもない。
次に、CPU10は、左足フラグをオフに設定して(ステップ62)、次のステップに処理を進める。例えば、CPU10は、左足フラグをオフに設定して左足フラグデータDfを更新する。
次に、CPU10は、左足フラグがオンされてから現時点までの処理対象期間における左足高さHLの推移を用いて、当該処理対象期間における左足高さHLの最大値HLmaxが上記第3判定値に到達しているか否かを判断する(ステップ63)。そして、CPU10は、左足高さHLの最大値HLmaxが上記第3判定値に到達していない場合、次のステップ64に処理を進める。一方、CPU10は、左足高さHLの最大値HLmaxが上記第3判定値に到達している場合、上記ステップ65に処理を進める。
ステップ64において、CPU10は、上記ステップ57と同様にユーザに通知するメッセージを設定して、当該サブルーチンによる処理を終了する。
ユーザが左足を上げていないと判断(上記ステップ51で否定判断)され、かつ、ユーザが右足を上げていないと判断(上記ステップ58で否定判断)された場合、CPU10は、その他の処理を行って(ステップ66)、当該サブルーチンによる処理を終了する。一例として、CPU10は、左足高さデータDdが示す最新の左足高さHLおよび右足高さデータDeが示す最新の右足高さHRがそれぞれ実質的に0である場合、ユーザがボード型コントローラ9上で両足を乗せて動作を停止していると判断する。また、CPU10は、左足高さデータDdが示す最新の左足高さHLおよび右足高さデータDeが示す最新の右足高さHRがそれぞれ物体未検出を示す場合、ユーザがボード型コントローラ9上から下りたと判断する。これらの場合、CPU10は、仮想世界においてプレイヤオブジェクトPoが静止するようにオブジェクト動作データDgを設定し、走行速度を0に走行速度データDhを設定し、左足フラグの設定をNull値に変更して左足フラグデータDfを設定する。他の例として、CPU10は、左足高さデータDdが示す最新の左足高さHLおよび右足高さデータDeが示す最新の右足高さHRがそれぞれ所定の閾値以上の高さである場合、ユーザがボード型コントローラ9上でジャンプしていると判断する。この場合、CPU10は、仮想世界においてプレイヤオブジェクトPoが最新の左足高さHLに相当する高さまで左足を上げ、最新の右足高さHRに相当する高さまで右足を上げてジャンプするようにオブジェクト動作データDgを設定し、走行速度を0に走行速度データDhを設定し、左足フラグの設定をNull値に変更して左足フラグデータDfを設定する。
図13に戻り、上記ステップ45における動作設定処理の後、CPU10は、表示制御処理を行って(ステップ46)、次のステップに処理を進める。例えば、CPU10は、オブジェクト動作データDgが示すオブジェクトの動作や位置に基づいて、プレイヤオブジェクトPoを動作させて仮想世界に配置してモニタ2に表示する。また、CPU10は、走行速度データDh、走行距離データDi、および累積運動量データDjに基づいて、運動情報Io(図11参照)を生成し、当該運動情報Ioをモニタ2に表示する。さらに、CPU10は、メッセージデータDkにメッセージが設定されている場合、当該メッセージを示す情報(例えば、文字情報やアイコン情報)をモニタ2に表示する。
次に、CPU10は、ゲームを終了するか否かを判断する(ステップ47)。ゲームを終了する条件としては、例えば、ゲームオーバーやゲームクリアとなる条件が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。CPU10は、ゲームを終了しない場合に上記ステップ42に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
このように、上述した処理によれば、ユーザがボード型コントローラ9上の歩数(足踏み回数)だけでなく、ユーザが上げた足の高さも用いられているため、ユーザの動作をより細かく判定することが可能である。例えば、同じ歩数であっても、上げた足の高さの高低に応じて、ユーザの動作判定を変えることも可能であるため、当該動作判定に基づいた様々な情報処理が可能となる。
なお、上述した処理例においては、ユーザがボード型コントローラ9上で足踏み動作する例を用いたが、ボード型コントローラ9を用いて他のユーザ動作を判定してもかまわない。一例として、ボード型コントローラ9上でユーザが走るような動作を、ボード型コントローラ9を用いて判定する。この場合、ボード型コントローラ9から両足が浮いた状態となることが考えられる。このような場合、図14に示した動作設定処理において、ステップ51で否定判定された場合に加えて、左足が上げられている場合の処理(例えば、ステップ52〜ステップ57、およびステップ65)の後も、ステップ58の処理を行う。そして、ステップ55およびステップ62の処理に代えて、左足フラグを左足が上げられている場合にオンに設定し、左足がボード型コントローラ9に乗せられている場合にオフに設定する処理を追加する。また、右足が上げられている場合にオンに設定し、右足がボード型コントローラ9に乗せられている場合にオフに設定する右足フラグを新たに設定し、当該右足フラグを設定する処理を追加する。このように処理を変更すれば、左足がボード型コントローラ9に乗せられた際に、それまで左足が上げられていた期間に対する処理(例えば、当該期間中の左足の高さに基づいた走行速度、走行距離、累積運動量を算出する処理やメッセージを設定する処理)が行われる。また、右足がボード型コントローラ9に乗せられた際に、それまで右足が上げられていた期間に対する処理(例えば、当該期間中の右足の高さに基づいた走行速度、走行距離、累積運動量を算出する処理やメッセージを設定する処理)が行われる。したがって、ボード型コントローラ9から両足が浮いた状態となるような動作をユーザが行ったとしても、足踏み動作と同様に情報処理が可能となる。
また、距離センサ97Lおよび97Rが検出対象にする物体は、台9aから垂直方向へ離間するユーザの両足でなくてもよく、ユーザの身体の一部(例えば、片足、手、腿、頭等)やユーザが把持したり身につけたりしている物でもかまわない。一例として、台9aから垂直方向へ離間する単一の物体に対して、当該物体における異なる2箇所を距離センサ97Lおよび97Rの検出対象にすることよって、台9aから当該物体の2箇所までの距離がそれぞれ検出されるため、台9aから垂直方向へ離間して存在する物体の角度も算出して、当該角度を用いて上記情報処理を行うことも可能である。このように、様々な部位や物を距離センサ97Lおよび97Rの検出対象にすることによって、様々なユーザ動作の判定が可能となる。なお、ボード型コントローラ9における距離センサ97Lおよび97Rを設置する位置を、検出対象に応じて適宜変更してもよいことは言うまでもない。
また、上述した処理例においては、ボード型コントローラ9を用いて判定されたユーザ動作に応じて、プレイヤオブジェクトPoが仮想世界内を走ったり歩いたりする画像がモニタ2に表示される例を用いたが、他の情報処理にも本発明が適用できることは言うまでもない。例えば、ボード型コントローラ9を用いて判定されたユーザ動作に応じて、プレイヤオブジェクトPoが仮想世界内で自転車や一輪車等の乗り物を操って移動する画像がモニタ2に表示されてもかまわない。また、ボード型コントローラ9を用いて判定されたユーザ動作に応じた画像が表示されなくてもよい。例えば、ボード型コントローラ9を用いて判定されたユーザ動作に応じた運動情報が音声のみでユーザに報知されてもかまわないし、当該運動情報が所定の記録媒体に蓄積されたり他の装置に送信されたりするような情報処理システムであってもかまわない。
また、上述した処理例では、ボード型コントローラ9に2つの距離センサ97Lおよび97Rを設けたが、ボード型コントローラ9に1つの距離センサ97(例えば、距離センサ97L)を設けた場合も同様の処理が可能となる。例えば、ユーザがボード型コントローラ9上で足踏み動作をする場合、左足の足踏み動作と右足の足踏み動作とは同様の動作が交互に繰り返されると仮定することができる。したがって、1つの距離センサ97によって検出された片足の高さ変化の推移が、他方の足の高さ変化の推移も同様であると仮定すれば、1つの距離センサ97によって同様の処理が可能となる。
また、台9aから垂直方向へ離間する物体までの距離を検出する距離センサ97を、ボード型コントローラ9に3つ以上設けてもかまわない。例えば、片足に対応する場所に複数の距離センサ97を設ける場合、ボード型コントローラ9上で足踏み動作するユーザの足の高さだけでなく、上げた足の角度(足の姿勢)等もユーザの動作判定に用いることが可能となる。また、片足に対して複数箇所の距離が検出可能となるため、それらの距離の最大値や最小値を考慮したより正確な距離を情報処理に用いることが可能となる。また、ボード型コントローラ9に3つ以上の距離センサ97を設ける場合、ユーザが上げる両足だけでなく、両足以外の部位やユーザが所持する物も距離検出対象にできることは言うまでもない。
また、上述した説明では、ボード型コントローラ9に複数の荷重センサ94を設けているが、上記処理においてボード型コントローラ9に加わっている荷重の重心位置の情報が不要であれば、荷重センサ94を少なくとも1つボード型コントローラ9に設けてもかまわない。また、上記処理においてボード型コントローラ9に加わっている荷重の情報および重心位置の情報が何れも不要であれば、ボード型コントローラ9に荷重センサ94がなくてもかまわない。何れの場合であっても、ボード型コントローラ9上で足踏みするユーザ動作は、距離センサ97Lおよび97Rから得られる距離検出値だけでも判定が可能であるため、荷重センサ94が1つまたは荷重検出値が得られない場合であっても同様のユーザ動作の判定が可能となる。
また、ユーザがおもり(ウエイト)を足等に身につけてボード型コントローラ9上で運動することも考えられる。例えば、ユーザは、鉛等の金属で構成された一般的なおもりの他、ペットボトル等の容器に水や砂等を入れて重量を調整することができるおもりを身につけて、ボード型コントローラ9上で運動することが考えられる。この場合、例えば、コントローラ7を用いて、ユーザ自身が身につけるおもりの重量をゲーム装置本体5に予め入力することによって、当該重量を考慮した情報処理が可能となる。例えば、処理対象期間における足の高さHの推移を用いて累積運動量を算出する際、予め入力された重量が考慮されればよい。具体的には、処理対象期間中の運動量Cを、
C=(Hmax)×Wp×p3

C=(Hint)×Wp×q3
によって算出することによって、予め入力された重量を考慮した運動量(すなわち、処理対象期間中のエネルギー消費量)の算出が可能となる。ここで、Hmaxは処理対象期間における左足または右足の高さHの最大値であり、Hintは処理対象期間に得られた左足または右足の高さHの積分値であり、Wpは予め入力されたおもりの重量であり、p3は上げた足の高さの最大値におもりの重量を乗算した値を運動量に換算するための定数であり、q3は上げた足の高さの積分値におもりの重量を乗算した値を運動量に換算するための定数である。
なお、上記処理対象期間における合計荷重値の推移(例えば、平均値)をユーザの体重Wとし、体重Wを考慮して処理対象期間中の運動量ClおよびCrを算出する場合、ユーザ自身が身につける上記おもりの重量をゲーム装置本体5に予め入力しなくてもかまわない。この場合、上記処理対象期間における合計荷重値は、ユーザ自身が身につけているおもりの重量も加わっているため、当該合計荷重値から取得した体重Wに既におもりの重量が考慮されていることになる。
また、ボード型コントローラ9の台9aに、ユーザの足裏を指圧するための突起を設けてもかまわない。以下、図15、図16A、および図16Bを参照して、ボード型コントローラ9に設ける突起の一例について説明する。なお、図15は、突起98Lおよび98Rが設けられたボード型コントローラ9の外観の一例を示す斜視図である。図16Aは、図15に示したボード型コントローラ9のC−C断面図の一例であり、上面から突出した状態で突起98Rが配置された部分の一例を示す拡大表示図である。図16Bは、図15に示したボード型コントローラ9のC−C断面図の一例であり、上面から退避した状態で突起98Rが配置された部分の一例を示す拡大表示図である。
図15において、台9aの上面には、複数の突起98Lおよび98Rが設けられている。例えば、台9aにおける左足を乗せるための面には、当該面から上方へ突出するように複数の突起98Lが設けられている。また、台9aにおける右足を乗せるための面には、当該面から上方へ突出するように複数の突起98Rが設けられている。したがって、ユーザがボード型コントローラ9上で足踏み動作した場合、左足裏が突起98Lの頂部上に乗せられ右足裏が突起98Rの頂部上に乗せられるため、当該動作によって両足裏を指圧する効果を加えることができる。
なお、複数の突起98Lおよび98Rは、ボード型コントローラ9の内部に収納可能に構成されてもかまわない。一例として、複数の突起98Lおよび98Rは、単一の板状部材の上面に形成される。これによって、上記板状部材を上下させることに伴って、当該板状部材の上面に形成された複数の突起98Lおよび98R全ても上下に移動する。また、図16Aおよび図16Bに示すように、複数の突起98Lおよび98Rを嵌挿して台9aの上面からそれぞれ突出させるための複数の孔を上層板90aに形成する(図16Aおよび図16Bにおいては、突起98Rを嵌挿する孔90a3Rが代表的に図示されている。)。そして、複数の突起98Lおよび98Rが上記孔に嵌挿された状態で上記板状部材を上層板90aの下面側から押し上げた状態で任意のロック機構(図示せず)で当該板状部材を固定することによって、当該孔から複数の突起98Lおよび98Rが台9aの上面から突出して固定された状態となる(図16Aの状態)。また、上記ロック機構を解除して複数の突起98Lおよび98Rが台9aの上面から突出して固定された状態を解除し、上記板状部材を上層板90aの下面から離間させるように降下させることによって、当該孔から複数の突起98Lおよび98Rが台9aの上面から退避した状態となる(図16Bの状態)。このように、複数の突起98Lおよび98Rは、ボード型コントローラ9の内部に収納可能に構成することによって、ボード型コントローラ9を使用するユーザの好みに応じて、複数の突起98Lおよび98Rの有無を適宜変更することができる。
また、複数の突起98Lおよび98Rは、ボード型コントローラ9に対して着脱自在に構成してもかまわない。例えば、複数の突起98Lおよび98Rを1枚の板状部材の上面に形成する。そして、その下面を台9aの上面に当接させた状態で上記板状部材を台9a上に載置可能に構成し、台9aの上面に当接した際に、透過領域90a1L、90a2L、90a1R、および90a2Rと重なる上記板状部材の部位に開口孔を形成する。これによって、ボード型コントローラ9上に複数の突起98Lおよび98Rが設けられた板状部材を載置した状態で、上述したユーザ動作が可能となる。
また、距離センサ97Lおよび97Rは、ボード型コントローラ9に対して着脱自在に構成してもかまわない。以下、図17を参照して、ボード型コントローラ9’に対して距離センサ97Lおよび97Rを着脱可能に構成する一例について説明する。なお、図17は、距離センサ97Lおよび97Rを着脱可能に構成した中空板99およびボード型コントローラ9’の外観の一例を示す斜視図である。
図17において、距離センサ97Lおよび97R(図示せず)は、ボード型コントローラ9’とは別体構成されている中空板99の内部に内蔵されており、ボード型コントローラ9’内には設けられていない。そして、図17に示すボード型コントローラ9’は、距離センサ97Lおよび97Rを内蔵しておらず、透過領域90a1L、90a2L、90a1R、および90a2Rが形成されていないことを除いては、図6等を用いて上述したボード型コントローラ9と同様の構造を有している。なお、ボード型コントローラ9と同様の構成要素と同様となるボード型コントローラ9’の構成要素については、以下の説明おいて同一の参照符号に「’」を付与して区別する。
中空板99は、例えばプラスチック成型により形成されており、ボード型コントローラ9’の台9a’が有する略長方形状の上面とサイズを含めて類似した上主面が形成された中空板状のハウジングを有している。例えば、中空板99は、台9a’と同様に、長方形状の短辺が30cm程度に設定され、長辺が50cm程度に設定される。中空板99の上主面は、平坦に形成され、ユーザが左足を乗せるための面(図17における左奥側に2重線で囲まれた領域)および左足を乗せるための面(図17における右手前側に2重線で囲まれた領域)が設定されている。そして、中空板99の下部には、中空板99の下面縁部から下方向にそれぞれ垂設され、ボード型コントローラ9’の台9a’上に載置された際にボード型コントローラ9’の4つの側面とそれぞれ当接する4つの当接ガイド片が形成されている。
距離センサ97Lは、中空板99における左足を乗せるための面の中央下部となる中空空間内部に固設される。そして、左足を乗せるための面の中央には、距離センサ97Lから出力される赤外線等の光を透過させて当該面の上方空間へ放射させるための透過領域99a1Lと、放射された光のうち当該上方空間に存在する物体で反射した光を透過させて距離センサ97Lに入射させるための透過領域99a2Lとが形成されている。また、距離センサ97Rは、中空板99における右足を乗せるための面の中央下部となる中空空間内部に固設される。そして、右足を乗せるための面の中央には、距離センサ97Rから出力される赤外線等の光を透過させて当該面の上方空間へ放射させるための透過領域99a1Rと、放射された光のうち当該上方空間に存在する物体で反射した光を透過させて距離センサ97Rに入射させるための透過領域99a2Rとが形成されている。なお、透過領域99a1L、99a2L、99a1R、および99a2Rは、透過領域90a1L、90a2L、90a1R、および90a2Rと同様に、それぞれ距離センサ97Lおよび97Rから出力される波動(例えば、赤外線)を透過させる領域であればよく、例えば、当該波動を透過させる部材や空孔で形成されていてもかまわない。
台9a’の上面上に中空板99の下面を当接させ、台9a’における左足を乗せるための面の上部に中空板99における左足を乗せるための面が配置されるように、中空板99をボード型コントローラ9’の台9a’上に載置した場合、中空板99の下面が台9a’の上面と当接するとともに、4つの当接ガイド片がボード型コントローラ9’の4つの側面それぞれと当接する。したがって、中空板99は、ボード型コントローラ9’の台9a’上に載置された場合、ボード型コントローラ9’の台9a’上に止着されて固定される。そして、ボード型コントローラ9’の台9a’上に載置された中空板99は、透過領域99a1L、99a2L、99a1R、および99a2Rが形成された上主面を上方に向けて配置されることになる。
このように、ボード型コントローラ9’に載置された中空板99上にユーザが乗る場合は、左足が中空板99の上主面における左足を乗せるための面の中央付近に乗せられ、右足が中空板99の上主面における右足を乗せるための面の中央付近に乗せられる。したがって、透過領域99a1Lおよび99a2Lがユーザ左足の直下となる位置に配設されることになり、透過領域99a1Rおよび99a2Rがユーザ右足の直下となる位置に配設されることになる。そして、中空板99上に乗ったユーザが左足を上げた場合、当該左足の位置(中空板99から左足までの距離であり、厳密には距離センサ97Lから左足までの中空板99上主面に垂直な方向への距離)が距離センサ97Lによって検出される。また、中空板99上に乗ったユーザが右足を上げた場合、当該右足の位置(中空板99から右足までの距離であり、厳密には距離センサ97Rから右足までの中空板99上主面に垂直な方向への距離)が距離センサ97Rによって検出される。
また、ボード型コントローラ9’に載置された中空板99上にユーザが乗った場合には、その荷重が、中空板99、支持板90’、および荷重センサ94a’〜94d’を介して、4つの脚92に伝達する。したがって、入力された荷重によって生じた床からの反作用は、脚92’から、球面部品92a’、荷重センサ94a’〜94d’、中層板90c’、および上層板90a’を介して、中空板99に伝達する。したがって、ボード型コントローラ9’の荷重センサ94a’〜94d’は、ボード型コントローラ9の荷重センサ94a〜94dと同様に、中空板99上への入力荷重を示す電圧信号を出力端子から出力することができる。
また、上述した実施形態では、ユーザがボード型コントローラ9の上に乗って足踏みする動作を行う例を用いたが、ボード型コントローラ9上において他の姿勢でユーザが動作することによって操作してもかまわない。例えば、図18に示すように、ボード型コントローラ9を用いて、ユーザが椅子に座った状態で両足を上げ下げするような動作を検出してもかまわない。この場合、ユーザは、椅子に座ってモニタ2を見る姿勢で足下にボード型コントローラ9を配置し、右足を台9aにおける右足を乗せるための面に置き、左足を台9aにおける左足を乗せるための面に置く。そして、ユーザは、椅子に座った状態で足を上げ下げする動作をボード型コントローラ9上で行う。このようなユーザ動作であっても、ボード型コントローラ9は、それぞれの足が上げられた距離の検出することが可能であるとともに、それぞれの足の重さ(荷重)を検出することが可能となる。したがって、ユーザがボード型コントローラ9の上に乗って足踏みする動作を行う例と同様に、ユーザ動作に応じた情報処理が可能となる。
ここで、ボード型コントローラ9を用いて、ユーザが椅子に座った状態で両足を上げ下げするような動作を検出する場合、ボード型コントローラ9で検出できる荷重はユーザの体重ではなくユーザの足の重さとなる。この場合、上記処理対象期間中の運動量Cを、ユーザの足の重さを考慮して算出してもかまわない。例えば、ユーザが椅子に座った状態で両足を上げ下げするような動作における処理対象期間中の運動量Cを、
C=(Hmax)×Wl×p4

C=(Hint)×Wl×q4
によって算出してもよい。ここで、ここで、Hmaxは処理対象期間における左足または右足の高さHの最大値であり、Hintは処理対象期間に得られた左足または右足の高さHの積分値であり、Wlはユーザの片足の重さであり、p4は上げた足の高さの最大値にユーザの片足の重さを乗算した値を運動量に換算するための定数であり、q4は上げた足の高さの積分値にユーザの片足の重さを乗算した値を運動量に換算するための定数である。なお、片足の重さWlは、一方の足を上げている上記処理対象期間における合計荷重値の推移(例えば、平均値)を片足の重さWlとしてもいいし、ユーザが予め入力した値を片足の重さWlとして用いてもよい。
また、ユーザがおもり(ウエイト)を両足に身につけた状態で椅子に座って、足を上げ下げする運動をボード型コントローラ9上で行うことも考えられる。この場合、例えば、コントローラ7を用いて、ユーザ自身が身につけるおもりの重量をゲーム装置本体5に予め入力することによって、当該重量を考慮した情報処理が可能となる。例えば、ユーザが椅子に座った状態で両足を上げ下げするような動作における処理対象期間中の運動量Cを、
C=(Hmax)×(Wl+Wp)×p5

C=(Hint)×(Wl+Wp)×q5
によって算出することによって、予め入力された重量を考慮した運動量(すなわち、処理対象期間中のエネルギー消費量)の算出が可能となる。ここで、Wpは予め入力されたおもりの重量であり、p5は上げた足の高さの最大値に片足+おもりの重量を乗算した値を運動量に換算するための定数であり、q5は上げた足の高さの積分値に片足+おもりの重量を乗算した値を運動量に換算するための定数である。
なお、一方の足を上げている上記処理対象期間における合計荷重値の推移(例えば、平均値)をユーザの片足の重さWlとし、片足の重さWlを考慮して処理対象期間中の運動量Cを算出する場合、ユーザ自身が足に身につける上記おもりの重量をゲーム装置本体5に予め入力しなくてもかまわない。この場合、上記処理対象期間における合計荷重値は、ユーザ自身が足に身につけているおもりの重量も加わっているため、当該合計荷重値から取得した片足の重さWlに既におもりの重量が考慮されていることになる。
また、ボード型コントローラ9を用いて、ユーザが椅子に座った状態で両足を上げ下げするような動作を検出する場合やユーザの足以外の身体の一部の動作を検出する場合、ユーザがボード型コントローラ9に乗らない状態となり得るため、ボード型コントローラ9自体を小型のデバイスで構成することが可能となる。例えば、ユーザが椅子に座った状態で両足を上げ下げするような動作を検出する場合に、片足のみの高さHを検出してもよく、ユーザの片足が乗る程度のサイズでボード型コントローラ9を構成することが可能となる。
上述した説明では、コントローラ7とゲーム装置本体5とが無線通信によって接続されるとともに、ボード型コントローラ9とゲーム装置本体5とが無線通信によって接続された態様を用いたが、他の態様によって無線通信が行われてもかまわない。第1の例として、ボード型コントローラ9の操作データがコントローラ7へ無線送信され、ボード型コントローラ9から受信した操作データと共にコントローラ7の操作データを、コントローラ7がゲーム装置本体5へ無線送信する。この場合、コントローラ7とゲーム装置本体5とが無線通信によって直接的に接続されるが、ボード型コントローラ9とゲーム装置本体5とはコントローラ7を介した無線通信によって接続されることになる。第2の例として、コントローラ7の操作データがボード型コントローラ9へ無線送信され、コントローラ7から受信した操作データと共にボード型コントローラ9の操作データを、ボード型コントローラ9がゲーム装置本体5へ無線送信する。この場合、ボード型コントローラ9とゲーム装置本体5とが無線通信によって直接的に接続されるが、コントローラ7とゲーム装置本体5とはボード型コントローラ9を介した無線通信によって接続されることになる。第3の例として、コントローラ7とボード型コントローラ9とがケーブルを介して電気的に接続され、ボード型コントローラ9の操作データが当該ケーブルを介してコントローラ7へ送信される。そして、ボード型コントローラ9から上記ケーブルを介して受信した操作データと共にコントローラ7の操作データを、コントローラ7がゲーム装置本体5へ無線送信する。第4の例として、コントローラ7とボード型コントローラ9とがケーブルを介して電気的に接続され、コントローラ7の操作データが当該ケーブルを介してボード型コントローラ9へ送信される。そして、コントローラ7から上記ケーブルを介して受信した操作データと共にボード型コントローラ9の操作データを、ボード型コントローラ9がゲーム装置本体5へ無線送信する。
また、コントローラ7および/またはボード型コントローラ9とゲーム装置本体5とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ7および/またはボード型コントローラ9に接続されたケーブルをゲーム装置本体5の接続端子に接続する。第1の例として、コントローラ7とゲーム装置本体5とが第1のケーブルを介して電気的に接続され、ボード型コントローラ9とゲーム装置本体5とも第2のケーブルを介して電気的に接続される。第2の例として、コントローラ7とゲーム装置本体5との間のみがケーブルを介して電気的に接続される。この場合、ボード型コントローラ9の操作データは、コントローラ7へ無線送信された後に上記ケーブルを介してゲーム装置本体5に送信されてもいいし、ボード型コントローラ9から直接ゲーム装置本体5に無線送信されてもよい。第3の例として、ボード型コントローラ9とゲーム装置本体5との間のみがケーブルを介して電気的に接続される。この場合、コントローラ7の操作データは、ボード型コントローラ9へ無線送信された後に上記ケーブルを介してゲーム装置本体5に送信されてもいいし、コントローラ7から直接ゲーム装置本体5に無線送信されてもよい。
また、上述した説明では、距離センサ97Lおよび距離センサ97Rは、赤外線等の光を放射し、検出対象物からの反射波動の情報(位置)によって当該検出対象物までの距離を求める、いわゆる三角測量方式を用いているが、他の距離検出方式によって検出対象物までの距離を求めるデバイスであってもかまわない。例えば、距離センサ97Lおよび距離センサ97Rは、時間飛行法やドップラ干渉方式等の光学的な距離検出方式を用いて、検出対象物までの距離を求めるデバイスであってもかまわない。また、距離センサ97Lおよび距離センサ97Rは、ステレオカメラから得られた画像を分析することによって被写体までの距離を測定するステレオ画像を用いた距離検出方式、当該方式の一方をスポット光源、スリット光源、パターン光源等に置き換えて他方のカメラから得られた画像を分析することによって被写体までの距離を測定する距離検出方式を用いて、検出対象物までの距離を求めるデバイスであってもかまわない。さらに、距離センサ97Lおよび距離センサ97Rは、超音波を放射して、検出対象物からの反射波または透過波の強度や伝搬時間等を測定することによって得られる検出対象物に関する情報から検出対象物までの距離を測定する距離検出方式を用いるデバイスであってもかまわない。また、距離センサ97Lおよび距離センサ97Rは、検出対象物にレーザ(例えば、赤外線レーザ)を照射し、反射して戻ってくる時間を用いて検出対象物までの距離を測定する距離検出方式を用いるデバイスであってもかまわない。
また、上記実施例では、据置型のゲーム装置3を用いて説明したが、携帯型のゲーム装置や一般的なパーソナルコンピュータ等の情報処理装置で本発明の情報処理プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話、パーソナルコンピュータ、カメラ等であってもよい。何れの装置であっても、当該装置とボード型コントローラ9とを無線または有線で接続することによって、本発明を実現することができる。
また、上述した説明では情報処理をゲーム装置本体5で行う例を用いたが、上記情報処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置本体5が他の装置(例えば、サーバや他のゲーム装置)と通信可能に構成されている場合、上記情報処理における処理ステップは、ゲーム装置本体5および当該他の装置が協働することによって実行してもよい。一例として、他の装置において、プレイヤオブジェクトPoおよび仮想世界等を設定する処理が行われ、ゲーム装置本体5からオブジェクト動作データ、走行速度データ、走行距離データ、累積運動量データ等が他の装置へ送信されて、上記情報処理が行われることが考えられる。そして、他の装置で生成された仮想世界を示す画像データがゲーム装置本体5へ送信され、当該仮想世界がモニタ2に表示される。このように、上記情報処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述した情報処理と同様の処理が可能となる。なお、上記情報処理における処理ステップの少なくとも一部をボード型コントローラ9(マイコン100)で行ってもよい。また、上述した情報処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置本体5のCPU10が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置本体5が備える専用回路によって上記処理の一部または全部が行われてもよい。
また、上述したゲーム装置本体5の形状や、コントローラ7やボード型コントローラ9の形状および各種操作ボタンやセンサの形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、表示態様、判定に用いられる値等は、単なる一例に過ぎず他の順序、表示態様、値であっても、本発明を実現できることは言うまでもない。
また、上記情報処理プログラム(ゲームプログラム)は、光ディスク4等の外部記憶媒体を通じてゲーム装置本体5に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体5に供給されてもよい。また、情報処理プログラムは、ゲーム装置本体5内部の不揮発性記憶装置に予め記録されていてもよい。なお、情報処理プログラムを記憶する情報記憶媒体としては、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープなどでもよい。また、上記情報処理プログラムを記憶する情報記憶媒体としては、不揮発性半導体メモリや揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
本発明に係る情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法は、ユーザの動作をより細かく判定することができ、ユーザの動作に基づいた処理等を行う情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法として有用である。
1…ゲームシステム
2…モニタ
706…スピーカ
3…ゲーム装置
4…光ディスク
5…ゲーム装置本体
10…CPU
11…システムLSI
12…外部メインメモリ
13…ROM/RTC
14…ディスクドライブ
15…AV−IC
16…AVコネクタ
17…フラッシュメモリ
18…無線通信モジュール
19…無線コントローラモジュール
20…拡張コネクタ
21…外部メモリカード用コネクタ
22、23…アンテナ
24…電源ボタン
25…リセットボタン
26…イジェクトボタン
31…入出力プロセッサ
32…GPU
33…DSP
34…VRAM
35…内部メインメモリ
7…コントローラ
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
100、751…マイコン
752…メモリ
106、753…無線モジュール
754…アンテナ
701…加速度センサ
702…LED
707…サウンドIC
708…アンプ
8…マーカ
9…ボード型コントローラ
90…支持板
92…脚
94…荷重センサ
95…起歪体
96…歪センサ
97…距離センサ
971…光放射部
972…光受光部
98…突起
99…中空板
102…ADコンバータ
104…DC−DCコンバータ
108、109…増幅器
110…電池

Claims (34)

  1. ユーザの身体の少なくとも一部を乗せることが可能な第1の入力装置と当該第1の入力装置から得られたデータを処理する情報処理装置とを含む情報処理システムであって、
    前記第1の入力装置は、
    ユーザの身体の少なくとも一部を乗せる第1の台部と、
    前記第1の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを出力する距離データ出力手段とを備え、
    前記情報処理装置は、
    前記距離データ出力手段から出力された距離データを取得するデータ取得手段と、
    前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
    前記第1の台部は、ユーザが足裏を置くための面が前記台面上に設定され、
    前記距離データ出力手段は、前記面の下部に少なくとも1つ設けられ、当該面上に存在するユーザの身体の一部までの距離にしたがって決められる距離データを出力する、情報処理システム。
  2. ユーザの身体の少なくとも一部を乗せることが可能な第1の入力装置と当該第1の入力装置から得られたデータを処理する情報処理装置とを含む情報処理システムであって、
    前記第1の入力装置は、
    ユーザの身体の少なくとも一部を乗せる第1の台部と、
    前記第1の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを出力する距離データ出力手段とを備え、
    前記情報処理装置は、
    前記距離データ出力手段から出力された距離データを取得するデータ取得手段と、
    前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
    前記距離データ出力手段は、前記台面の下部に、当該台面に沿った方向に所定の間隔をあけて2つ設けられる、情報処理システム。
  3. ユーザの身体の少なくとも一部を乗せることが可能な第1の入力装置と当該第1の入力装置から得られたデータを処理する情報処理装置とを含む情報処理システムであって、
    前記第1の入力装置は、
    ユーザの身体の少なくとも一部を乗せる第1の台部と、
    前記第1の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを出力する距離データ出力手段とを備え、
    前記情報処理装置は、
    前記距離データ出力手段から出力された距離データを取得するデータ取得手段と、
    前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
    前記第1の台部は、前記台面から突出する複数の突起部を備える、情報処理システム。
  4. ユーザの身体の少なくとも一部を乗せることが可能な第1の入力装置と当該第1の入力装置から得られたデータを処理する情報処理装置とを含む情報処理システムであって、
    前記第1の入力装置は、
    ユーザの身体の少なくとも一部を乗せる第1の台部と、
    前記第1の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを出力する距離データ出力手段とを備え、
    前記情報処理装置は、
    前記距離データ出力手段から出力された距離データを取得するデータ取得手段と、
    前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
    前記第1の入力装置は、前記第1の台部に加わる荷重にしたがって決められる荷重データを出力する少なくとも1つの荷重データ出力手段を、さらに含み、
    前記データ取得手段は、前記距離データ出力手段および前記荷重データ出力手段から出力された距離データおよび荷重データを取得し、
    前記処理手段は、前記データ取得手段が取得した距離データおよび荷重データに基づいて、前記所定の処理を行う、情報処理システム。
  5. 前記第1の台部は、ユーザが両足裏をそれぞれ置くための一対の面が前記台面上に設定され、
    前記距離データ出力手段は、前記一対の面の少なくとも一方の下部に少なくとも1つ設けられ、当該面上に存在するユーザの身体の一部までの距離にしたがって決められる距離データを出力する、請求項1に記載の情報処理システム。
  6. 前記距離データ出力手段は、前記一対の面のそれぞれの下部に1つずつ設けられ、当該面上に存在するユーザの身体の一部までの距離それぞれにしたがって決められる距離データをそれぞれ出力する、請求項5に記載の情報処理システム。
  7. 前記複数の突起部は、前記台面から突出した状態と当該台面から退避した状態とに昇降可能に構成される、請求項3に記載の情報処理システム。
  8. 前記処理手段は、前記距離データに応じた距離に基づいて、ユーザが消費したエネルギーに対応するパラメータを算出するパラメータ算出手段を含み、
    前記処理手段は、前記パラメータ算出手段が算出したパラメータに基づいて、所定の処理を行う、請求項1乃至4の何れか1つに記載の情報処理システム。
  9. 前記パラメータ算出手段は、前記距離データに応じた距離が長いほど、前記エネルギーが相対的に大きくなるように前記パラメータを算出する、請求項8に記載の情報処理システム。
  10. 前記距離データ出力手段は、前記離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを繰り返し出力し、
    前記データ取得手段は、前記距離データ出力手段から繰り返し出力された距離データを繰り返し取得し、
    前記パラメータ算出手段は、前記データ取得手段が繰り返し距離データを取得する毎に、前記パラメータを算出する、請求項8または9に記載の情報処理システム。
  11. 前記パラメータ算出手段は、前記距離データに応じた距離が所定の値以上を示している期間中における当該距離の最大値に基づいて、前記パラメータを算出する、請求項8または9に記載の情報処理システム。
  12. 前記パラメータ算出手段は、前記距離データに応じた距離の積分値に基づいて、前記パラメータを算出する、請求項8または9に記載の情報処理システム。
  13. 前記パラメータ算出手段は、前記距離データに応じた距離の極大値に基づいて、前記パラメータを算出する、請求項8または9に記載の情報処理システム。
  14. 前記距離データ出力手段は、前記台面の下部に複数設けられ、当該台面上に存在するユーザの身体の一部までの距離にしたがって決められる距離データをそれぞれ出力し、
    前記パラメータ算出手段は、前記複数の距離データ出力手段が出力したそれぞれの距離データに応じた距離に基づいて前記パラメータをそれぞれ算出し、当該パラメータを合計することによってユーザが消費した累積エネルギーに対応するパラメータを算出する、請求項8または9に記載の情報処理システム。
  15. 前記処理手段は、前記第1の入力装置から出力されたデータに基づいて、ユーザが前記台面上で足を上下させた回数を算出する回数算出手段を含み、
    前記パラメータ算出手段は、前記回数算出手段が算出した回数および前記距離データに応じた距離に基づいて、前記パラメータを算出する、請求項8に記載の情報処理システム。
  16. 前記パラメータ算出手段は、前記回数算出手段が算出した回数が多いほど、前記エネルギーが相対的に大きくなるように前記パラメータを算出する、請求項15に記載の情報処理システム。
  17. 前記距離データ出力手段は、
    前記離間する方向に所定の波動を照射する照射手段と、
    前記ユーザの身体の一部で前記波動が反射した反射波動を受信する受信手段と、
    前記受信手段が受信した前記反射波動の情報を用いて、前記離間する方向に位置するユーザの身体の一部までの距離を検出する検出手段とを含む、請求項1乃至4の何れか1つに記載の情報処理システム。
  18. 前記検出手段は、前記反射波動を受信した位置に基づいて、前記距離を検出する、請求項17に記載の情報処理システム。
  19. 前記検出手段は、前記反射波動を受信した時間に基づいて、前記距離を検出する、請求項17に記載の情報処理システム。
  20. 前記距離データ出力手段は、前記距離データを、前記情報処理装置へ直接または他の装置を介して無線送信する、請求項1乃至4の何れか1つに記載の情報処理システム。
  21. 前記情報処理システムは、
    ユーザによる操作入力が可能な第2の入力装置と、
    前記第1の入力装置と前記第2の入力装置とを接続するケーブルとを、さらに含み、
    前記距離データ出力手段は、前記ケーブルを介して、前記第2の入力装置へ前記距離データを出力し、
    前記第2の入力装置は、前記距離データ出力手段が出力した前記距離データとともに、当該第2の入力装置に対する操作入力を示すデータを前記情報処理装置へ無線送信する送信手段を備える、請求項1乃至4の何れか1つに記載の情報処理システム。
  22. 前記荷重データ出力手段は、前記第1の台部の下部における異なる位置に複数設けられ、それぞれ前記第1の台部に加わる荷重にしたがって決められる荷重データを出力する、請求項4に記載の情報処理システム。
  23. 前記第1の入力装置は、
    ユーザの身体の少なくとも一部を乗せる第2の台部を有する第1のハウジングと、
    前記第1の台部を有し、当該第1の台部を上面に向けた状態で前記第1のハウジングの前記第2の台部の台面上に着脱自在に載置される第2のハウジングとを含み、
    前記第1のハウジングには、前記荷重データ出力手段が少なくとも設けられ、
    前記第2のハウジングには、前記距離データ出力手段が少なくとも設けられ、
    前記荷重データ出力手段は、前記第2のハウジングを介して、前記第1の台部に加わる荷重にしたがって決められる荷重データを出力する、請求項4または22に記載の情報処理システム。
  24. 前記情報処理装置は、前記処理手段で行われた前記所定の処理の結果を表示手段に表示する表示制御手段を、さらに備える、請求項1乃至4の何れか1つに記載の情報処理システム。
  25. 前記処理手段は、
    前記データ取得手段が取得した距離データに応じた距離が所定値に到達しているか否かを判定する判定手段と、
    前記判定手段の判定結果にしたがって決められるメッセージをユーザに通知する通知手段とを含む、請求項1乃至4の何れか1つに記載の情報処理システム。
  26. 前記第1の入力装置は、前記第1の台部に加わる荷重にしたがって決められる荷重データを出力する少なくとも1つの荷重データ出力手段を、さらに含み、
    前記データ取得手段は、前記距離データ出力手段および前記荷重データ出力手段から出力された距離データおよび荷重データを取得し、
    前記パラメータ算出手段は、前記距離データに応じた距離および前記荷重データに応じた荷重に基づいて、前記パラメータを算出する、請求項8に記載の情報処理システム。
  27. 前記情報処理装置は、ユーザ入力に応じて、前記第1の入力装置に乗るユーザが身につけるおもりの重量を取得する重量取得手段を、さらに備え、
    前記パラメータ算出手段は、前記距離データに応じた距離および前記重量取得手段が取得した重量に基づいて、前記パラメータを算出する、請求項8に記載の情報処理システム。
  28. 前記距離データ出力手段は、前記第1の台部の台面に対して離間する方向に位置する物
    体までの距離を検出し、当該距離を示す距離データを出力する、請求項1乃至4の何れか1つに記載の情報処理システム。
  29. ユーザの身体の少なくとも一部を乗せることが可能な第1の入力装置から出力されるデータが利用可能であり、当該第1の入力装置から得られたデータを処理する情報処理装置のコンピュータで実行される情報処理プログラムであって、
    前記コンピュータを、
    前記第1の入力装置の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを、当該第1の入力装置から取得するデータ取得手段と、
    前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段として機能させ、
    前記データ取得手段は、前記距離データおよび前記第1の入力装置の台面に加わる荷重にしたがって決められる荷重データを当該第1の入力装置から取得し、
    前記処理手段は、前記データ取得手段が取得した距離データおよび荷重データに基づいて、前記所定の処理を行う、情報処理プログラム。
  30. ユーザの身体の少なくとも一部を乗せることが可能な第1の入力装置から出力されるデータが利用可能であり、当該第1の入力装置から得られたデータを処理する情報処理装置であって、
    前記第1の入力装置の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを、当該第1の入力装置から取得するデータ取得手段と、
    前記データ取得手段が取得した距離データに基づいて、所定の処理を行う処理手段とを備え、
    前記データ取得手段は、前記距離データおよび前記第1の入力装置の台面に加わる荷重にしたがって決められる荷重データを当該第1の入力装置から取得し、
    前記処理手段は、前記データ取得手段が取得した距離データおよび荷重データに基づいて、前記所定の処理を行う、情報処理装置。
  31. ユーザの身体の少なくとも一部を乗せる第1の台部と、
    前記第1の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを他の装置へ出力する距離データ出力手段とを備え、
    前記第1の台部は、ユーザが足裏を置くための面が前記台面上に設定され、
    前記距離データ出力手段は、前記面の下部に少なくとも1つ設けられ、当該面上に存在するユーザの身体の一部までの距離にしたがって決められる距離データを出力する、入力装置。
  32. ユーザの身体の少なくとも一部を乗せる第1の台部と、
    前記第1の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを他の装置へ出力する距離データ出力手段とを備え、
    前記距離データ出力手段は、前記台面の下部に、当該台面に沿った方向に所定の間隔をあけて2つ設けられる、入力装置。
  33. ユーザの身体の少なくとも一部を乗せる第1の台部と、
    前記第1の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離にしたがって決められる距離データを他の装置へ出力する距離データ出力手段とを備え、
    前記第1の台部は、前記台面から突出する複数の突起部を備える、入力装置。
  34. ユーザの身体の少なくとも一部を第1の台部に乗せることが可能な第1の入力装置から得られたデータを処理する情報処理方法であって、
    前記第1の台部の台面に対して離間する方向に位置するユーザの身体の一部までの距離を検出する距離検出ステップと、
    前記第1の台部に加わる荷重を検出する荷重検出ステップと、
    前記距離検出ステップにおいて検出された距離および前記荷重検出ステップにおいて検出された荷重に基づいて、所定の処理を行う処理ステップとを含む、情報処理方法。
JP2011027448A 2011-02-10 2011-02-10 情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法 Active JP5689705B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011027448A JP5689705B2 (ja) 2011-02-10 2011-02-10 情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法
US13/357,940 US9555330B2 (en) 2011-02-10 2012-01-25 Information processing system, storage medium having stored therein information processing program, information processing apparatus, input device, and information processing method
EP12153093.5A EP2486964B1 (en) 2011-02-10 2012-01-30 Information processing system, information processing program, information processing apparatus, input device, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011027448A JP5689705B2 (ja) 2011-02-10 2011-02-10 情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法

Publications (2)

Publication Number Publication Date
JP2012165818A JP2012165818A (ja) 2012-09-06
JP5689705B2 true JP5689705B2 (ja) 2015-03-25

Family

ID=45529002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011027448A Active JP5689705B2 (ja) 2011-02-10 2011-02-10 情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法

Country Status (3)

Country Link
US (1) US9555330B2 (ja)
EP (1) EP2486964B1 (ja)
JP (1) JP5689705B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108783B2 (en) 2011-07-05 2018-10-23 Saudi Arabian Oil Company Systems, computer medium and computer-implemented methods for monitoring health of employees using mobile devices
US9492120B2 (en) * 2011-07-05 2016-11-15 Saudi Arabian Oil Company Workstation for monitoring and improving health and productivity of employees
US10307104B2 (en) 2011-07-05 2019-06-04 Saudi Arabian Oil Company Chair pad system and associated, computer medium and computer-implemented methods for monitoring and improving health and productivity of employees
US9962083B2 (en) 2011-07-05 2018-05-08 Saudi Arabian Oil Company Systems, computer medium and computer-implemented methods for monitoring and improving biomechanical health of employees
EP2729058B1 (en) 2011-07-05 2019-03-13 Saudi Arabian Oil Company Floor mat system and associated, computer medium and computer-implemented methods for monitoring and improving health and productivity of employees
US9443352B1 (en) * 2012-12-21 2016-09-13 Motion Reality, Inc. Navigating through a virtual environment having a real-world elevation characteristics using motion capture
JP2014161514A (ja) * 2013-02-25 2014-09-08 Nintendo Co Ltd 情報処理システム、情報処理プログラム、情報処理装置及び情報処理方法
US10475351B2 (en) 2015-12-04 2019-11-12 Saudi Arabian Oil Company Systems, computer medium and methods for management training systems
US10642955B2 (en) 2015-12-04 2020-05-05 Saudi Arabian Oil Company Devices, methods, and computer medium to provide real time 3D visualization bio-feedback
US9889311B2 (en) 2015-12-04 2018-02-13 Saudi Arabian Oil Company Systems, protective casings for smartphones, and associated methods to enhance use of an automated external defibrillator (AED) device
US10628770B2 (en) 2015-12-14 2020-04-21 Saudi Arabian Oil Company Systems and methods for acquiring and employing resiliency data for leadership development
US10119807B2 (en) * 2016-11-18 2018-11-06 Child Mind Institute, Inc. Thermal sensor position detecting device
US11790647B2 (en) * 2017-03-22 2023-10-17 Huawei Technologies Co., Ltd. Object recognition in photographs and automatic sharing
US10824132B2 (en) 2017-12-07 2020-11-03 Saudi Arabian Oil Company Intelligent personal protective equipment
US12098947B2 (en) 2019-05-29 2024-09-24 Nec Corporation Information processing device, weight estimation device, weight estimation system, information processing method, and storage medium
JP6688425B1 (ja) * 2019-08-30 2020-04-28 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
JP6688424B1 (ja) 2019-08-30 2020-04-28 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
JP6670030B1 (ja) 2019-08-30 2020-03-18 任天堂株式会社 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法
CN111589069A (zh) * 2020-06-18 2020-08-28 深圳市熙龙玩具有限公司 一种踏步健身装置及其实现方法
KR102476285B1 (ko) * 2020-10-27 2022-12-13 (주)투핸즈인터랙티브 증강현실 인터랙티브 스포츠 장치를 이용한 개인별 운동량 측정 방법
JP7037158B1 (ja) 2021-12-20 2022-03-16 有限会社池谷製作所 仮想空間における移動を操作する家具型機器

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54159029A (en) * 1978-06-02 1979-12-15 Ricoh Co Ltd Fixed spot running device
JPS5850080A (ja) 1981-09-21 1983-03-24 Matsushita Electric Works Ltd 歩数計
US5076584A (en) 1989-09-15 1991-12-31 Openiano Renato M Computer game controller with user-selectable actuation
US5442168A (en) * 1991-10-15 1995-08-15 Interactive Light, Inc. Dynamically-activated optical instrument for producing control signals having a self-calibration means
US6430997B1 (en) * 1995-11-06 2002-08-13 Trazer Technologies, Inc. System and method for tracking and assessing movement skills in multidimensional space
US6122960A (en) * 1995-12-12 2000-09-26 Acceleron Technologies, Llc. System and method for measuring movement of objects
US5724265A (en) * 1995-12-12 1998-03-03 Hutchings; Lawrence J. System and method for measuring movement of objects
JP3912867B2 (ja) 1997-09-29 2007-05-09 シーケーディ株式会社 足型計測装置
US20020055383A1 (en) 2000-02-24 2002-05-09 Namco Ltd. Game system and program
IL139387A0 (en) * 2000-11-01 2001-11-25 Dintex Ltd Feedback system and method for monitoring and measuring physical exercise related information
US6955603B2 (en) 2001-01-31 2005-10-18 Jeffway Jr Robert W Interactive gaming device capable of perceiving user movement
US7604571B2 (en) * 2003-06-18 2009-10-20 Scott & Wilkins Enterprises, Llc Exercise device with a user-defined exercise mode
US20080191864A1 (en) * 2005-03-31 2008-08-14 Ronen Wolfson Interactive Surface and Display System
US9182837B2 (en) 2005-11-28 2015-11-10 Synaptics Incorporated Methods and systems for implementing modal changes in a device in response to proximity and force indications
US20070237029A1 (en) 2006-04-07 2007-10-11 Hup, Llc Frequency matched relative position tracking system
JP4580373B2 (ja) * 2006-09-12 2010-11-10 株式会社タイトー 体感型ゲーム機
US20080119763A1 (en) 2006-11-21 2008-05-22 Jay Wiener Acquisition processing and reporting physical exercise data
US20090221338A1 (en) 2008-02-29 2009-09-03 Benjamin Stewart Physical exercise video game method and apparatus
JP5332313B2 (ja) 2008-05-29 2013-11-06 富士通株式会社 携帯端末および歩幅算出方法
US8384565B2 (en) 2008-07-11 2013-02-26 Nintendo Co., Ltd. Expanding operating device and operating system
JP5271121B2 (ja) * 2009-03-09 2013-08-21 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
US8253586B1 (en) * 2009-04-24 2012-08-28 Mayfonk Art, Inc. Athletic-wear having integral measuring sensors
US9383881B2 (en) 2009-06-03 2016-07-05 Synaptics Incorporated Input device and method with pressure-sensitive layer

Also Published As

Publication number Publication date
EP2486964A2 (en) 2012-08-15
JP2012165818A (ja) 2012-09-06
US9555330B2 (en) 2017-01-31
EP2486964A3 (en) 2013-11-20
US20120209563A1 (en) 2012-08-16
EP2486964B1 (en) 2017-06-07

Similar Documents

Publication Publication Date Title
JP5689705B2 (ja) 情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法
JP5792971B2 (ja) 情報処理システム、情報処理プログラム、および情報処理方法
US9421456B2 (en) Storage medium storing a load detecting program and load detecting apparatus
US8152640B2 (en) Information processing apparatus and computer readable storage medium
US9480918B2 (en) Computer-readable storage medium having information processing program stored therein and information processing apparatus
JP5436909B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
US9205327B2 (en) Storage medium having information processing program stored thereon, information processing apparatus, information processing system, and information processing method
JP5610735B2 (ja) 情報処理プログラム、情報処理装置、情報処理方法、および、情報処理システム
US11446564B2 (en) Information processing system, storage medium storing information processing program, information processing apparatus, and information processing method
US20090093315A1 (en) Storage medium storing load detection program, load detection apparatus, and load detection method
US20100224420A1 (en) Computer readable storage medium storing information processing program and information processing apparatus
JP5427346B2 (ja) 荷重検出プログラム、荷重検出装置、荷重検出システムおよび荷重検出方法
KR101805752B1 (ko) 아웃도어 게이밍을 위한 근접도 및 스턴트 기록의 방법 및 장치
JP2003241639A (ja) 仮想空間シミュレーション装置
US8523678B2 (en) Game apparatus and game program
JP2011244964A (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
US8337307B2 (en) Computer-readable storage medium having stored therein music performance program, music performance apparatus, music performance method, and music performance system
JP7336495B2 (ja) ステップ検知ユニット
JP2013088838A (ja) 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
KR20170059120A (ko) 스텝퍼용 게임 컨트롤러 및 그 조립체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150129

R150 Certificate of patent or registration of utility model

Ref document number: 5689705

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250