以下、図面を参照して、本発明に係る入力装置の第1実施形態について説明する。
(情報処理システム99の概要)
図1を参照して、この発明の情報処理システムの一実施形態である情報処理システム99について説明する。情報処理システム99は、歩数計1、ゲーム装置2、携帯端末3を備える。情報処理システム99のゲーム装置2は、ネットワーク204を介して専門家端末4と接続されている。本実施形態の情報処理システム99は、この構成により、ユーザが歩いた歩数を計測して、ゲーム装置2または携帯端末3に歩数結果を表示したり、専門家端末4と通信して、専門的なバックアップをユーザに提供したりする。
情報処理システム99は、ユーザがゲーム装置2を操作できるために、さらに、リモコン6を備える。また、ゲーム装置2が生成した画像を表示するため、情報処理システム99には、テレビジョン5(TV)が接続されている。
歩数計1は、使用者の歩行に応じて歩数を計測し、これを歩数データとして記憶する。歩数計1は、赤外線通信、たとえばIrDA(Infrared Data Association)規格の通信方式により歩数データを携帯端末3に送信する。
ゲーム装置2は、ゲーム装置CPU21、ゲーム装置記憶部22、ゲーム装置画像処理部24、第1LAN送受信部25、第1無線送受信部26を備え、これらの構成は図示しないデータバスにより接続されている。ゲーム装置CPU21は、ゲーム装置記憶部22内に記憶したプログラムを動作させる。ゲーム装置記憶部22は、ゲーム装置CPU21のワーク領域である。これらのプログラムの実行に伴って、ゲーム装置画像処理部24は、画像を生成し、テレビジョン5に画像を出力する。また、第1無線送受信部26は、携帯端末3から、歩数データを受信する。
携帯端末3は、持ち歩き可能な電子機器であり、たとえば、携帯ゲーム機、携帯電話機、PDAなどとすることができる。ただし、本発明の実施形態としては、携帯端末3の代替として、据え置き式の電子機器を用いてもよい(以下で携帯端末3というときも同様とする)。携帯端末3は、表示部31、入力部32、携帯端末画像処理部34、携帯端末CPU36、携帯端末記憶部37、第2無線送受信部38、および第2赤外線通信部39を備え、これらの構成は図示しないデータバスにより接続されている。入力部32は、押しボタン等のスイッチ、または、タッチパネルまたはマウスホイールなどのポインティングデバイスとすることができる。入力部32は、ゲーム装置CPU21にユーザの指示を伝達する。携帯端末CPU36は、携帯端末記憶部37に記憶された転送プログラム379を実行する。このプログラムの実行により、携帯端末画像処理部34は、画像を生成し、画像を表示部31に出力する。第2赤外線通信部39は、歩数計1から歩数データを受信する。また、携帯端末CPU36による転送プログラム379の実行により、第2無線送受信部38は、ゲーム装置2の第1無線送受信部26と通信し、歩数計1から受信した歩数データをゲーム装置2へ送信する。
専門家端末4は保健師、医師などの専門家が使用するコンピュータである。専門家端末4は、たとえば汎用のコンピュータで構成でき、CPU、RAM、HDD等を含む。専門家端末4は、ネットワーク204を介して、複数のゲーム装置2と通信可能に接続される。ネットワーク204は、たとえば、無線LAN、インターネット等の通信網である。専門家端末4は、ゲーム装置2から、歩数データを受信する。
なお、以上の実施形態では、歩数データを扱ったが、本発明の実施形態としては、データの種類は歩数データに限られない。また、本発明の実施形態として歩数計1を扱う場合では、確かにデータの流れは歩数計1から携帯端末3へ流れるのが典型的である。しかし、本発明の実施形態としては、歩数計1をその代わりにコンピュータ、端末へ代替した代替物とすることもでき、その場合には、ゲーム装置2が記憶するデータを携帯端末3を介して当該代替物へ送信するようにしてもよい。
(情報処理システム99の例)
図2A〜図30を用いて、図1に示す情報処理システム99の1実施例である情報処理システム990について説明する。図2A、図2Bは、情報処理システム990の概要を示す。図2Aは、図1に示す情報処理システム990の構成例の概要である。図2Bは、図2Aに示す情報処理システム990を用いて行う通信の概要を示している。なお、図2Aは、情報処理システム990に接続されるネットワーク204および専門家端末4の図示を省略している。
図2Aに示すように、情報処理システム990は、上記の歩数計1、ゲーム装置2、携帯端末3、テレビジョン5、リモコン6、および携帯端末3に接続するメモリカード7を備える。ゲーム装置2とテレビジョン5は、AVケーブル232aで接続されており、ゲーム装置2は、AVケーブル232aを介して、AV信号をテレビジョン5へ出力する。マーカ部51とゲーム装置2は、電源ケーブル232bで接続されており、ゲーム装置2は、電源ケーブル232bを介して、電源をマーカ部51に供給する。マーカ部51は、リモコン6をポインティングデバイスとして機能させるものである。マーカ部51の詳細は後述する。
また、ゲーム装置2には、ユーザにより、ゲームプログラムなどを記憶する光ディスク218が挿入される。これにより、ユーザはゲーム装置2に種々のゲームなどを入力できる。携帯端末3は、たとえば、携帯型ゲーム装置である。携帯端末3には、ゲームプログラムを記憶するメモリカード7が挿入される。これにより、ユーザは携帯端末3に種々のゲームを入力できる。さらに、携帯端末3には、タッチペン326が付属しており、ユーザは、タッチペン326を用いて、携帯端末3の画面上の座標を入力する。
ゲーム装置2のハウジング214の後面には、AVケーブルコネクタ258(図4参照)が設けられ、そのAVケーブルコネクタ258を用いて、AVケーブル232aを通してゲーム装置2にテレビジョン5、スピーカ50a、および50bを接続する。このテレビジョン5およびスピーカ50a、50bは典型的にはカラーテレビジョン受像機である。AVケーブル232aは、ゲーム装置2からの映像信号をテレビジョン5のビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、テレビジョン5の画面上に、たとえば3次元(3D)ビデオゲームのゲーム画像が表示され、左右のスピーカ50a、50bからゲーム音楽や効果音などのステレオゲーム音声が出力される。また、テレビジョン5の周辺(この実施例では、テレビジョン5の上側)には、2つの赤外LED(マーカ)52,53を備えるマーカ部51が設けられる。マーカ部51は、電源ケーブル232bを通してゲーム装置2に接続される。したがって、マーカ部51には、ゲーム装置2から電源が供給される。これによって、LED52,53は発光し、それぞれテレビジョン5の前方に向けて赤外光を出力する。リモコン6に設けられた撮像部は、赤外光を撮像することにより、当該リモコン6の方向を検出する。これにより、ゲーム装置2は、矢印などのポインタ(図16AのP参照)をテレビジョン5に表示する。
なお、ゲーム装置2の電源は、一般的なACアダプタ(図示せず)によって与えられる。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置2は、家庭用電源(商用電源)を、駆動に適した低いDC電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。また、ゲーム装置2とリモコン6(リモートコントローラ)とは、無線によって接続される。リモコン6の無線通信の方法としては、Bluetooth(登録商標)規格などの近距離通信方式に従って実行されるが、ほかの通信方法として、赤外線や無線LANなど他の規格に従って実行されてもよい。また、本発明の実施形態としては、テレビジョン5は、単に入力した画像をディスプレイに表示させることが出来れば足り、必ずしも放送信号を受信する受信部を備える必要はない。
図2Bは、上述のとおり、図2Aに示す情報処理システム990を用いて行う通信の概要を示している。歩数計1と携帯端末3との間では、赤外線を用いた近距離無線通信により通信が行われる。ゲーム装置2と携帯端末3との間での無線通信は、たとえば、ゲーム機間で通信を行う近距離無線通信用のプロトコルであり、IEEE802.11上の、独自に改良されたプロトコルとしてもよい。このプロトコルでは、親機と子機で接続が確立されるとデータ送受信を行う。なお、このゲーム装置と携帯端末3との間での無線通信のデータ通信速度は、歩数計1と携帯端末3との間での赤外線を用いた無線通信のデータ通信速度よりも高速のものが選ばれる。
ゲーム装置2と専門家端末4との間は、ネットワーク204により、LAN(ローカルエリアネットワーク)、あるいはインターネットにより接続される。歩数データの流れは、歩数計1から携帯端末3へ、携帯端末3からゲーム装置2へゲーム装置2から専門家端末4へ順次送信される。
携帯端末3は、歩数計1の赤外線を受信する無線通信部(第2赤外線通信部39)と、無線通信を行う通信部(第2無線送受信部38に相当する)の両方を備えている。これにより、歩数計1、ゲーム装置2の通信方法が異なっていても、情報処理システム990は、携帯端末3を介して、歩数計1、ゲーム装置2間で歩数データを送信できる。また、ゲーム装置2は、無線通信を行う通信部(第1無線送受信部26に相当する)と、LANにより通信を行う通信部(第1LAN送受信部25に相当する)の両方を備えている。これにより、携帯端末3と、専門家端末4の通信方式が異なっていても、情報処理システム99は、ゲーム装置2を介して、歩数データを専門家端末4へ送信できる。
(ゲーム装置2、携帯端末3、歩数計1の構成の説明)
次に、図3〜図13を用いて、ゲーム装置2、携帯端末3、歩数計1の構成をより詳細に説明する。以下の説明は、ゲーム装置2、携帯端末3、歩数計1の順序で行う。
(ゲーム装置2)
図3、図4、図5は、図2に示すゲーム装置2の構成例である。
図3は、ゲーム装置2の外観図の例である。
ゲーム装置2は、その外側には、ハウジング214、ディスクスロット216、電源ボタン20a、リセットボタン20b、イジェクトボタン20c、および外部メモリカード用コネクタカバー228を備える。
ゲーム装置2は、略直方体のハウジング214で覆われている。ハウジング214の前面にはディスクスロット216が設けられる。ディスクスロット216から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク218が挿入されて、ハウジング214内のディスクドライブ254(図4参照)に装着される。ディスクスロット216の周囲には、LEDと導光板が配置され、ゲーム装置2は、さまざまな処理に対応してこれらのLEDを点灯させることが可能である。
また、ゲーム装置2のハウジング214の前面であってかつその上部には、電源ボタン20aおよびリセットボタン20bが設けられている。ハウジング214の下部には、イジェクトボタン20cが設けられる。さらに、リセットボタン20bとイジェクトボタン20cとの間であり、ディスクスロット216の近傍には、外部メモリカード用コネクタカバー228が設けられる。この外部メモリカード用コネクタカバー228の内側には、外部メモリカード用コネクタ262(図4参照)が設けられ、図示しない外部メモリカード(以下、「ゲーム装置2のメモリカード」という。)が挿入される。ゲーム装置2のメモリカードは、光ディスク218から読み出したゲームプログラム等をローディングして一時的に記憶したり、この情報処理システム990を利用してプレイしたゲームのゲームデータ(ゲームの結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。ただし、上記のゲームデータの保存は、ゲーム装置2に着脱する外部メモリカード(図4の外部メモリカード用コネクタ参照)に対して行うことに代えて、たとえばゲーム装置2の内部に設けられるフラッシュメモリ244(図4参照)のような内部メモリに対して行うようにしてもよい。また、ゲーム装置2のメモリカードは、内部メモリのバックアップ用メモリとして用いるようにしてもよい。
なお、ゲーム装置2の外部メモリカードとしては、汎用のSDカード(登録商標)を用いることができるが、メモリスティック(登録商標)やマルチメディアカード(登録商標)のような他の汎用のメモリカードを用いることもできる。
図4は、図3に示す実施例のゲーム装置2の電気的な構成を示すブロック図である。図示は省略するが、ハウジング214内の各コンポーネントは、プリント基板に実装される。
ここで、図1との対応関係について説明する。図4のCPU210は、図1のゲーム装置CPU21の例である。図4の外部メインメモリ220、内部メインメモリ242e、フラッシュメモリ244のいずれか1以上は、図1のゲーム装置記憶部22の例である。図4のGPU242b、VRAM242d、およびAV IC256全体は、図1のゲーム装置画像処理部24の例である。図4の無線通信モジュール250は、図1の第1LAN送受信部25、第1無線送受信部26の例であり、これらの送受信部の機能を兼ね備える。
図4に示すように、ゲーム装置2には、CPU210が設けられる。このCPU210は、ゲームプロセッサとして機能する。このCPU210には、システムLSI242が接続される。このシステムLSI242には、外部メインメモリ220、ROM/RTC248、ディスクドライブ254およびAV IC256が接続される。
外部メインメモリ220は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりし、CPU210のワーク領域やバッファ領域として用いられる。ROM/RTC248は、いわゆるブートROMであり、ゲーム装置2の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ254は、光ディスク218からプログラムデータやテクスチャデータ等を読み出し、CPU210の制御の下で、後述する内部メインメモリ242eまたは外部メインメモリ220に書き込む。
システムLSI242には、入出力プロセッサ242a、GPU(Graphics Processor Unit)242b,DSP(Digital Signal Processor)242c、VRAM242dおよび内部メインメモリ242eが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。
入出力プロセッサ(I/Oプロセッサ)242aは、データの送受信を実行したり、データのダウンロードを実行したりする。
GPU242bは、描画手段の一部を形成し、CPU210からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、CPU210は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU242bに与える。
図示は省略するが、上述したように、GPU242bにはVRAM242dが接続される。GPU242bが作画コマンドを実行するにあたって必要なデータ(画像データ:ポリゴンデータやテクスチャデータなどのデータ)は、GPU242bがVRAM242dにアクセスして取得する。なお、CPU210は、描画に必要な画像データを、GPU242bを介してVRAM242dに書き込む。GPU242bは、VRAM242dにアクセスして描画のためのゲーム画像データを作成する。
なお、この実施例では、GPU242bがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、GPU242bは当該任意のアプリケーションについての画像データを生成する。
また、DSP242cは、オーディオプロセッサとして機能し、内部メインメモリ242eや外部メインメモリ220に記憶されるサウンドデータや音波形(音色)データを用いて、スピーカ50から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
上述のように生成されたゲーム画像データおよびオーディオデータは、AV IC256によって読み出され、AVコネクタ258を介してテレビジョン5およびスピーカ50に出力される。したがって、ゲーム画面がテレビジョン5に表示され、ゲームに必要な音(音楽)がスピーカ50から出力される。
また、入出力プロセッサ242aには、フラッシュメモリ244、無線通信モジュール250、無線コントローラモジュール252が接続されるとともに、拡張コネクタ261および外部メモリカード用コネクタ262が接続される。また、無線通信モジュール250にはアンテナ250aが接続され、無線コントローラモジュール252にはアンテナ252aが接続されている。
入出力プロセッサ242aは、無線通信モジュール250を介して、ネットワーク204に接続される他のゲーム装置や各種サーバと通信することができる。また、入出力プロセッサ242aは、無線通信モジュール250を介して、携帯端末3と通信することができる。ここで、ゲーム装置2と携帯端末3との間での無線通信は、ネットワーク204と接続する無線LANの通信方式とは異なっている。ゲーム装置2、携帯端末3間の通信方式のプロトコルを、たとえば、ゲーム機間で通信を行う近距離無線通信用のプロトコルであり、IEEE802.11上の、独自に改良されたプロトコルとしてもよい。このように、無線通信モジュール250は、互いに異なる通信方式で通信する2つの通信部として機能する。
ここで、無線通信モジュール250の別の実施例としては、無線通信モジュール250は、ネットワークを介さずに、直接的に他のゲーム装置と通信するようにしてもよい。入出力プロセッサ242aは、定期的にフラッシュメモリ244にアクセスし、ネットワークへ送信する必要があるデータ(送信データとする)の有無を検出し、当該送信データが有る場合には、無線通信モジュール250およびアンテナ250aを介してネットワーク204へ送信するようにしてもよい。また、入出力プロセッサ242aは、他のゲーム装置から送信されるデータ(受信データとする)を、ネットワーク、アンテナ250aおよび無線通信モジュール250を介して受信し、受信データをフラッシュメモリ244に記憶する。ただし、一定の場合には、受信データをそのまま破棄する。さらに、入出力プロセッサ242aは、ダウンロードサーバからダウンロードしたデータ(ダウンロードデータとする)をネットワーク、アンテナ250aおよび無線通信モジュール250を介して受信し、ダウンロードデータをフラッシュメモリ244に記憶する。
また、入出力プロセッサ242aは、リモコン6から送信される入力データをアンテナ252aおよび無線コントローラモジュール252を介して受信し、内部メインメモリ242eまたは外部メインメモリ220のバッファ領域に記憶(一時記憶)する。入力データは、CPU210のゲーム処理によって利用された後、バッファ領域から消去される。
なお、この実施例では、上述したように、無線コントローラモジュール252は、Bluetooth規格にしたがってリモコン6との間で通信を行う。
さらに、入出力プロセッサ242aには、拡張コネクタ261および外部メモリカード用コネクタ262が接続される。拡張コネクタ261は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ261に有線LANアダプタを接続し、無線通信モジュール250に代えて当該有線LANを利用することもできる。外部メモリカード用コネクタ262には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ242aは、拡張コネクタ261や外部メモリカード用コネクタ262を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
詳細な説明は省略するが、図3にも示したように、ゲーム装置2(ハウジング214)には、電源ボタン20a、リセットボタン20bおよびイジェクトボタン20cが設けられる。電源ボタン20aは、システムLSI242に接続される。この電源ボタン20aがオンされると、ゲーム装置2の各コンポーネントに図示しないACアダプタを経て電源が供給され、システムLSI242は、通常の通電状態となるモード(通常モードと呼ぶこととする)を設定する。一方、電源ボタン20aがオフされると、ゲーム装置2の一部のコンポーネントのみに電源が供給され、システムLSI242は、消費電力を必要最低限に抑えるモード(以下、「スタンバイモード」という。)にゲーム装置2を設定する。この実施例では、スタンバイモードが設定された場合には、システムLSI242は、入出力プロセッサ242a、フラッシュメモリ244、外部メインメモリ220、ROM/RTC248および無線通信モジュール250、無線コントローラモジュール252以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、このスタンバイモードは、CPU210によってアプリケーションの実行が行われないモードである。
なお、システムLSI242には、スタンバイモードにおいても電源が供給されるが、GPU242b、DSP242cおよびVRAM242dへのクロックの供給を停止することにより、これらを駆動させないようにして、消費電力を低減するようにしてある。
また、図示は省略するが、ゲーム装置2のハウジング214内部には、CPU210やシステムLSI42などのICの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン20aがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
また、通常モードとスタンバイモードの切り替えは、リモコン6の電源スイッチ626h(図6参照)のオン/オフの切り替えによっても遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール252aへの電源供給を行わない設定にしてもよい。
リセットボタン20bもまた、システムLSI242に接続される。リセットボタン20bが押されると、システムLSI242は、ゲーム装置2の起動プログラムを再起動する。イジェクトボタン20cは、ディスクドライブ254に接続される。イジェクトボタン20cが押されると、ディスクドライブ254から光ディスク218が排出される。
図5は、外部メインメモリ220のメモリマップの一例を示す。内部メインメモリ242e、フラッシュメモリ244のメモリマップもこのメモリマップと同様とすることができる。メモリマップはプログラム記憶領域22Aおよびデータ記憶領域22Kを含む。プログラムとデータは、光ディスク218から一度に全部または必要に応じて部分的に、かつ順次的に読み出され、外部メインメモリ220または内部メインメモリ242eに記憶される。また、データ記憶領域22Kには、処理によって生成または取得されたデータも記憶される。
プログラム記憶領域22Aには、メインメニュー動作プログラム22B、歩数データ受信プログラム22C、メール送信プログラム22D、データ生成プログラム22E、および回答処理プログラム22Fが記憶される。CPU210は、メインメニュー動作プログラム22Bを実行すると、ゲーム装置画像処理部24は、ゲーム装置2の動作を受け付けるためのメインメニューをテレビジョン5に表示する。CPU210は、歩数データ受信プログラム22Cを実行すると、無線通信モジュール250は、携帯端末3から歩数データを受信する。CPU210は、メール送信プログラム22Dを実行すると、専門家端末4に対し、メールを送信する。このとき、CPU210は、歩数データ、その他ユーザに関する健康状態を表すデータを自動的に添付して専門家端末4に送信する。データ生成プログラム22Eは、携帯端末3から受信した歩数データをユーザごとに整理し、歩数結果を統計したデータ、歩数データから派生するデータを統合した統合データ22V、BMIの値、歩数合計値22Q、および、後述する歩数結果画面D1を生成するためのデータを生成する。CPU210は、上記メールの送信時には、データ生成プログラム22Eで生成した統合データ22Vも合わせて送信するようにしてもよい。
CPU210が回答処理プログラム22Fを実行すると、ゲーム装置2は、メニュー等をテレビジョン5に表示して、専門家端末4から受信したメッセージに対する回答メッセージの入力を受け付ける。ユーザがこのメニューの所定の項目を選択すると、ゲーム装置2は、テレビジョン5に未回答質問メッセージ22W、または送信済み回答メッセージ22Xを表示する(図23参照)。
データ記憶領域22Kには、登録情報(ID、ユーザ名、キャラクタ画像)22M、受信日時22P、歩数合計値22Q、メール送信データ22S、メール受信データ22T、体重22U、統合データ22V、未回答質問メッセージ22W、送信済み回答メッセージ22X、および運動時間データ22Zが記憶される。登録情報(ID、ユーザ名、キャラクタ画像)22Mは、登録されたユーザの固有の情報である。受信日時22Pは、歩数データを受信した日付である。メール送信データ22Sは、専門家端末4へ送信されたメールのデータおよびこれから送信されるメールのデータである。メール受信データ22Tは、これまでに専門家端末4から受信したメールのデータである。外部メインメモリ220は、歩数合計値22Qとして、日ごと、月ごとなどのデータを記憶してもよい。ただし、歩数合計値37Jは、本発明の実施形態として必須ではない。体重22Uは、ユーザの体重データであり、BMIを計算するのに用いられる。体重の入力は、リモコン6から入力してもよいし、ひずみセンサを設けたボードをゲーム装置2に接続して、これを用いて測定した体重の値をそのボートから入力してもよい。統合データ22Vは、無線通信モジュール250によって携帯端末3からゲーム装置2へ歩数データが送られた際、前回通信時からの差分を受信し蓄積されたものである。前述したように未回答質問メッセージ22Wは、後述の回答処理で用いるデータであり、専門家端末4を所有する専門家のメッセージであって、未だユーザがそのメッセージに回答していないメッセージである。送信済み回答メッセージ22Xは、上記専門家のメッセージであって、ユーザがそのメッセージに既に回答したメッセージである。運動時間データ22Zは、ユーザの運動時間のデータである。ゲーム装置2は、図25、図29に示すような数値入力式回答処理により、このデータの入力を受け付けることができる。
なお、図5にはメモリマップの一部のみが示されており、外部メインメモリ220またはフラッシュメモリ244等には、処理に必要な他のプログラムおよびデータも記憶される。たとえば、音声、効果音、音楽などの音を出力するためのサウンドデータ、画面を生成するための画像データ、音出力プログラム、画像生成表示プログラムなどが、光ディスク218から読み出されてまたはプログラム記憶領域22Aまたはデータ記憶領域22Kに記憶される。なお、本実施例においては、プログラムとデータは光ディスク218から読み出されるが、別の実施例においては、たとえばゲーム装置2に内蔵されるフラッシュメモリ244等の不揮発的な記憶媒体に予め記憶したプログラムやデータを読み出して、外部メインメモリ220または内部メインメモリ242eに記憶するようにしてもよい。その際さらに、ゲーム装置2の無線通信モジュール250または拡張コネクタ261に接続される通信モジュール等を用いて、ネットワーク経由でダウンロードしたプログラム等を当該記憶媒体に記憶しておくようにしてもよい。
図6Aないし図6Eを参照して、リモコン6の構成について説明する。これらの図6Aないし図6Eは、リモコン6の外観の一例を示す。図6Aはリモコン6の先端面を示し、図6Bはリモコン6の上面を示し、図6Cはリモコン6の右側面を示し、図6Dはリモコン6の下面を示し、そして、図6Eはリモコン6の後端面を示す。
図6Aないし図6Eに示すように、リモコン6は、たとえばプラスチック成型によって形成されたハウジング622aを有している。ハウジング622aは、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング622aには、入力ボタン626(複数のボタンないしスイッチ)が設けられる。具体的には、図6Bに示すように、ハウジング622aの上面には、十字キー626a,1ボタン626b,2ボタン626c,Aボタン626d,−ボタン626e,HOMEボタン626f,+ボタン626gおよび電源スイッチ626hが設けられる。また、図6Cおよび図6Dに示すように、ハウジング622aの下面に傾斜面が形成されており、この傾斜面に、Bトリガースイッチ626iが設けられる。
十字キー626aは、4方向プッシュスイッチであり、矢印で示す4つの方向、前(または上)、後ろ(または下)、右および左の操作の指示が可能である。この操作部のいずれか1つを操作することによって、プレイヤによって操作可能なキャラクタまたはオブジェクト(プレイヤキャラクタまたはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
1ボタン626bおよび2ボタン626cは、それぞれ、押しボタンスイッチである。たとえば3次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作にも使用される。または、1ボタン626bおよび2ボタン626cは、Aボタン626dおよびBトリガースイッチ626iと同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
Aボタンスイッチ626dは、押しボタンスイッチであり、プレイヤキャラクタまたはプレイヤオブジェクトに、方向指示以外の動作、すなわち、打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。
−ボタン626e、HOMEボタン626f、+ボタン626gおよび電源スイッチ626hもまた、押しボタンスイッチである。−ボタン626eは、ゲームモードを選択するために使用される。HOMEボタン626fは、ゲームメニュー(メニュー画面)を表示するために使用される。+ボタン626gは、ゲームを開始(再開)したり、一時停止したりするなどのために使用される。電源スイッチ626hは、ゲーム装置2の電源を遠隔操作によってオン/オフするために使用される。
なお、この実施例では、リモコン6自体をオン/オフするための電源スイッチは設けておらず、リモコン6の入力ボタン626のいずれかを操作することによってリモコン6はオンとなり、一定時間(たとえば、30秒)以上操作しなければ自動的にオフとなるようにしてある。
Bトリガースイッチ626iもまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、リモコン6で選択した位置を指定したりするために使用される。また、Bトリガースイッチ626iを押し続けると、プレイヤオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Bトリガースイッチ626iは、通常のBボタンと同様に機能し、Aボタン626dによって決定したアクションを取り消すなどのために使用される。
また、図6Eに示すように、ハウジング622aの後端面に外部拡張コネクタ622bが設けられる。また、図6Bに示すように、ハウジング622aの上面でありかつ後端面側にはインジケータ622cが設けられる。外部拡張コネクタ622bは、図示しない別の拡張コントローラを接続するためなどに使用される。インジケータ622cは、たとえば、4つのLEDで構成され、4つのうちのいずれか1つを点灯することにより、点灯LEDに対応するリモコン6の識別情報(コントローラ番号)を示したり、点灯させるLEDの個数によってリモコン6の電源残量を示したりすることができる。
さらに、リモコン6は、撮像情報演算部60(図7参照)を有しており、図6Aに示すように、ハウジング622aの先端面には撮像情報演算部60の光入射口622dが設けられる。また、リモコン6は、スピーカ66(図7参照)を有しており、このスピーカ66は、図6Bに示すように、ハウジング622aの上面であり、1ボタン626bとHOMEボタン626fとの間に設けられる音抜き孔622eに対応して、ハウジング622a内部に設けられる。
なお、図6Aないし図6Eに示したリモコン6の形状や、各入力ボタン626の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変された場合であっても、本発明を実現できることは言うまでもない。本発明の実施形態としては、リモコン6を含めゲーム装置2に対する操作を行う操作手段は必須ではない。ゲーム装置2の操作が必要であれば、情報処理システム990は、操作ボタンや、赤外式無線でなく有線式のコントローラ、ポインティングデバイス、本体操作スイッチのいずれか1以上を備えることも可能である。この点は後述する携帯端末3も同様である。
図7はリモコン6の電気的な構成を示すブロック図である。この図7に示すように、リモコン6はプロセッサ600を含み、このプロセッサ600には、内部バス(図示せず)によって、外部拡張コネクタ622b、入力ボタン626、メモリ672、加速度センサ674、無線通信モジュール676、撮像情報演算部60、LED62、バイブレータ64、スピーカ66および電源回路68が接続される。また、無線通信モジュール676には、アンテナ678が接続される。
プロセッサ600は、リモコン6の全体制御を司る。プロセッサ600は、入力ボタン626(626a〜626i)、加速度センサ674および撮像情報演算部60によって入力された情報(入力情報)を、入力データとして無線通信モジュール676およびアンテナ678を介してゲーム装置2に送信(入力)する。このとき、プロセッサ600は、メモリ672を作業領域ないしバッファ領域として用いる。
上述した入力ボタン626(626a〜626i)からの操作信号(操作データ)は、プロセッサ600に入力され、プロセッサ600は、操作データを一旦メモリ672に記憶する。
また、加速度センサ674は、リモコン6の縦方向(y軸方向)、横方向(x軸方向)および前後方向(z軸方向)の3軸で各々の加速度を検出する。この加速度センサ674は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
たとえば、加速度センサ674は、第1所定時間毎に、x軸,y軸,z軸の各々についての加速度(ax,ay,az)を検出し、検出した加速度のデータ(加速度データ)をプロセッサ600に入力する。たとえば、加速度センサ674は、各軸方向の加速度を、−2.0g〜2.0g(gは重力加速度である。以下、同じ。)の範囲で検出する。プロセッサ600は、加速度センサ674から与えられる加速度データを、第2所定時間毎に検出し、一旦メモリ672に記憶する。プロセッサ600は、操作データ、加速度データおよび後述するマーカ座標データの少なくとも1つを含む入力データを作成し、作成した入力データを、第3所定時間(たとえば、5msec)毎にゲーム装置2に送信する。
なお、図6Aないし図6Eでは省略したが、この実施例では、加速度センサ674は、ハウジング622a内部の基板上の十字キー626aが配置される付近に設けられる。また、加速度センサ674は本発明の実施には必須ではない。
無線通信モジュール676は、たとえばBluetoothの技術を用いて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ678から放射する。つまり、入力データは、無線通信モジュール676によって微弱電波信号に変調されてアンテナ678(リモコン6)から送信される。この微弱電波信号が上述したゲーム装置2に設けられた無線コントローラモジュール252によって受信される。受信された微弱電波は、復調および復号の処理を施される。これにより、装置2(CPU210)は、リモコン6からの入力データを取得することができる。そして、CPU210は、取得した入力データとプログラム(ゲームプログラム)とに従ってゲーム処理を行う。
さらに、上述したように、リモコン6には、撮像情報演算部60が設けられる。この撮像情報演算部60は、赤外線フィルタ60a、レンズ60b、撮像素子60cおよび画像処理回路60dによって構成される。赤外線フィルタ60aは、リモコン6の前方から入射する光から赤外線のみを通過させる。上述したように、テレビジョン5の表示画面近傍(周辺)に配置されるLED52および53は、テレビジョン5の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ60aを設けることによってLED52および53の画像をより正確に撮像することができる。レンズ60b、赤外線フィルタ60aを透過した赤外線を集光して撮像素子60cへ出射する。撮像素子60cは、たとえばCMOSセンサあるいはCCDのような固体撮像素子であり、レンズ60bによって集光された赤外線を撮像する。したがって、撮像素子60cは、赤外線フィルタ60aを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子60cによって撮像された画像を撮像画像と呼ぶ。撮像素子60cによって生成された画像データは、画像処理回路60dで処理される。画像処理回路60dは、撮像画像内における撮像対象(LED52および53)の位置を算出し、所定時間毎に、当該位置を示す各座標値を撮像データとしてプロセッサ600に出力する。ゲーム装置2は、この座標値に基づいて、テレビジョン5にポインタを表示する。テレビジョン5の表示は、ポインタの操作と対応して構成されている。これにより、ユーザは、ゲーム装置2に対し画面上のアイコン、ボタンなどを見ながら、そのアイコンにポインタを合わせることにより、種々の操作をすることができる。
図8は、図2に示す情報処理システム990に含まれる携帯端末3を示す。携帯端末3は、1または複数の歩数計1によってそれぞれ計測された複数の歩数データを用いて所定の処理を行うための処理装置である。携帯端末3と各歩数計1とは、たとえば赤外線通信や、IrDAのような近距離無線通信により互いにデータを送受信する。
図8に示す携帯端末3は、一例として携帯型のゲーム装置の形態で実現される。ただし、携帯端末3の形態は任意であり、たとえば、モバイル機器、ノートパソコン、PDA(携帯情報端末Personal Digital Assistant)、携帯電話機であってもよい。
携帯端末3は、第1の液晶表示器(LCD)312および第2のLCD314を含む。LCD312およびLCD314は、所定の配置位置となるようにハウジング316に収納される。この実施例では、ハウジング316は、上側ハウジング316aと下側ハウジング316bとによって構成され、LCD312は上側ハウジング316aに収納され、LCD314は下側ハウジング316bに収納される。したがって、LCD312とLCD314とは縦(上下)に並ぶように近接して配置される。
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
図8からも分かるように、上側ハウジング316aは、LCD312の平面形状よりも少し大きな平面形状を有し、一方主面からLCD312の表示面を露出するように開口部が形成される。一方、下側ハウジング316bの平面形状およびサイズも上側ハウジング316aと同等に選ばれ、横方向の中央部にLCD314の表示面を露出するように開口部が形成される。下側ハウジング316bの右側面には電源スイッチ318が設けられる。
また、上側ハウジング316aには、LCD312を挟んで左右に、スピーカ336aおよび336b(図9参照)のための音抜き孔320aおよび320bが形成される。
上側ハウジング316aと下側ハウジング316bとは、上側ハウジング316aの下辺(下端)と下側ハウジング316bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD312の表示面とLCD314の表示面とが対面するように、上側ハウジング316aを回動させて折りたたんでおけば、LCD312の表示面およびLCD314の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング316aと下側ハウジング316bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング316を形成するようにしてもよい。
そして、上側ハウジング316aと下側ハウジング316bとの連結部の中央には、マイク(図示せず)のためのマイク孔320cが形成される。マイクから取り込んだ音、音声または息などによる音声信号に基づいてゲーム処理を行うことが可能である。
また、下側ハウジング316bには、操作スイッチ322(322a,322b,322c,322d,322e,322f,322g,322Lおよび322R)が設けられる。
操作スイッチ322は、方向指示スイッチ(十字スイッチ)322a,スタートスイッチ322b、セレクトスイッチ322c、動作スイッチ(Aボタン)322d、動作スイッチ(Bボタン)322e、動作スイッチ(Xボタン)322f、動作スイッチ(Yボタン)322g、動作スイッチ(Lボタン)322Lおよび動作スイッチ(Rボタン)322Rを含む。スイッチ322aは、下側ハウジング316bの一方主面であり、LCD314の左側に配置される。その他のスイッチ322b−322gは、下側ハウジング316bの一方主面であり、LCD314の右側に配置される。さらに、動作スイッチ322Lおよび322Rは、それぞれ下側ハウジング316bの上端面の左右角部に配置される。なお、動作スイッチ322Lおよび322Rは下側ハウジング316bの背面に設けられており、図2のような正面視では連結部の背後に隠れているので破線で示されている。
方向指示スイッチ322aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、ユーザないしプレイヤによって操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)の進行方向(移動方向)を指示したり、カーソルの進行方向を指示したりする等のために用いられる。また、各押圧部には、特定の役割を割り当てることができ、4つの押圧部の1つを操作することによって、割り当てられた役割を指示(指定)することができる。
スタートスイッチ322bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止(Pause)したりする等に用いられる。また、セレクトスイッチ322cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
動作スイッチ322dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤオブジェクトに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ322eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ322cで選択したゲームモードの変更やAボタン322dで決定したアクションの取り消し等のために用いられる。
動作スイッチ322fすなわちXボタン、および動作スイッチ322gすなわちYボタンは、プッシュボタンで構成され、Aボタン322dとBボタン322eだけでは、ゲーム進行ができないときに、補助的な操作に用いられる。ただし、Xボタン322fおよびYボタン322gは、Aボタン322dおよびBボタン322eと同様の操作に用いることも可能である。
もちろん、ゲームプレイにおいてXボタン322fとYボタン322gとを必ずしも使用しなくてよい。
動作スイッチ322L(左押しボタン)および動作スイッチ322R(右押しボタン)は、プッシュボタンで構成され、左押しボタン(Lボタン)322Lおよび右押しボタン(Rボタン)322Rは、Aボタン322dおよびBボタン322eと同様の操作に用いることができ、また、Aボタン322dおよびBボタン322eの補助的な操作に用いることができる。さらに、Lボタン322LおよびRボタン322Rは、方向スイッチ322a,Aボタン322d,Bボタン322e,Xボタン322f,Yボタン322gに割り当てられた役割を、他の役割に変更することができる。
また、LCD314の上面には、タッチパネル324が装着される。タッチパネル324としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。タッチパネル324はLCD314の画面内の任意の位置(座標)をユーザが指示するためのポインティングデバイスである。タッチパネル324は、その上面をスティック326ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック326等」という場合がある。)で、押圧したり、撫でたり、触れたりすることにより操作(タッチ入力)すると、スティック326等の操作位置の座標を検出して、当該検出座標に対応する座標データを出力する。
なお、この実施例では、LCD314(LCD312も同じ、または略同じ。)の表示面の解像度は256dot×192dotとすることができる(それ以外でもよい)。タッチパネル324の検出精度も表示画面に対応して256dot×192dotとしてあるが、タッチパネル324の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
LCD312およびLCD314は互いに異なるゲーム画面を表示することができる。たとえば、レースゲームでは一方のLCDに運転席からの視点による画面を表示し、他方のLCDにレース(コース)全体の画面を表示することができる。また、RPGでは、一方のLCDにマップやプレイヤオブジェクト等のキャラクタを表示し、他方のLCDにプレイヤオブジェクトが所有するアイテムを表示することができる。さらに、一方のLCDにプレイヤオブジェクトやノンプレイヤオブジェクトなどを含むゲーム画面を表示し、他方のLCDに当該プレイヤオブジェクトやノンプレイヤオブジェクトに関する情報を含む他のゲーム画面または当該プレイヤオブジェクトを操作するための操作画面を表示することができる。さらには、2つのLCD312およびLCD314を合わせて1つの画面として用いることにより、プレイヤオブジェクトが倒さなければならない巨大な怪物(敵オブジェクト)を表示することもできる。
したがって、プレイヤはスティック326等でタッチパネル324を操作することにより、LCD314の画面に表示されるプレイヤオブジェクト、敵オブジェクト、アイテムオブジェクト、操作オブジェクトなどの画像を指示(操作)したり、コマンドを選択したり入力したりすることができる。また、仮想ゲーム空間(3次元ゲーム空間)に設けられる仮想カメラ(視点)の方向(視線の向き)を変化させたり、ゲーム画面(マップ)のスクロール(徐々に移動表示)方向を指示したりすることもできる。
なお、ゲームの種類によっては、タッチパネル324を用いることにより、その他の入力指示も可能である。たとえば、LCD314上のタッチパネル324において文字,数字,記号等を手書き入力することができる。
このように、携帯端末3は、2画面分の表示部となるLCD312およびLCD314を有し、いずれか一方(この実施例では、LCD314)の上面にタッチパネル324が設けられるので、2画面(312,314)と2系統の操作部(322,324)とを有する構成になっている。
なお、この実施例では、第1のLCD312と第2のLCD314とを縦方向に並べて配置するようにしているが、2つのLCDの配置は適宜に変更され得る。他の実施例では、第1のLCD312と第2のLCD314とを横方向に並べて配置するようにしてもよい。
また、この実施例では、2つのLCDを設けるようにしているが、表示手段としてのLCDの数は適宜変更され得る。他の実施例では、縦長形状の1つのLCDを設けて、表示領域を上下に分けて、2つのゲーム画面をそれぞれの表示領域に表示するようにしてもよいし、あるいは、横長形状の1つのLCDを設けて、表示領域を左右に分割し、2つゲーム画面をそれぞれの表示領域に表示するようにしてもよい。
また、スティック326は、たとえば下側ハウジング316bに設けられる収納部(図示せず)に収納することができ、必要に応じて取り出される。ただし、スティック326を設けない場合には、その収納部も設ける必要はない。
さらに、携帯端末3はメモリカード(またはカートリッジ)7を着脱自在に挿入可能に構成されている。メモリカード7は、下側ハウジング316bの上端面に設けられる挿入部30(図8では点線で示す)に挿入される。図8では省略するが、挿入部30の奥部には、メモリカード7の挿入方向先端部に設けられるコネクタ71と接合するためのコネクタ332(図9参照)が設けられており、したがって、メモリカード7が挿入部30に挿入されると、コネクタ同士が接合され、携帯端末3のCPUコア360(図9参照)がメモリカード7にアクセス可能となる。
なお、図11において、歩数の合計値などを表示する表示部108を設けるようにしてもよい。また、図8では省略するが、たとえば、下側ハウジング316bにおいて、その裏面には電池収容ボックスが設けられ、下端面(底面)には、音量スイッチおよびイヤフォンジャックなどが設けられ、上端面(天面)には、外部拡張コネクタなどが設けられる。
図9は、携帯端末3の電気的な構成を示すブロック図である。
まず、図1のゲーム装置2との対応関係について説明する。LCD312および/またはLCD314は、表示部31の例である。図9の操作スイッチ322は、入力部32の例である。図9の第1VRAM352、第2VRAM354、第1GPU344、第2GPU346、LCDコントローラ350を合わせたものは、携帯端末画像処理部34の例である。図9のCPUコア360は、図1の携帯端末CPU36の例である。図9のRAM370は、図1の携帯端末記憶部37の例である。図9の無線通信部380は、第2無線送受信部38の例である。図9のIr通信用回路70または赤外線通信部390は、第2赤外線通信部39の例である。
この図9に示すように、携帯端末3は電子回路基板338を含み、この電子回路基板338には、上述のCPUコア360等の回路コンポーネントが実装される。CPUコア360は、バス340を介して前述のコネクタ332に接続されるとともに、RAM370、第1グラフィック処理ユニット(GPU)344、第2GPU346、入出力インターフェース回路(以下、「I/F回路」という。)348、LCDコントローラ350および無線通信部380に接続される。
コネクタ332には、上述したように、メモリカード7が着脱自在に接続される。メモリカード7は、コネクタ332と接合されるコネクタ71を含み、コネクタ71には、バス72を介してROM74およびマイコン76が接続される。マイコン76(マイクロコンピュータ)には、バックアップ用メモリ78およびIr通信用回路70が接続される。
マイコン76は、CPUコア360の制御下で、バックアップ用メモリ78の書込みおよび読出し、ならびにIr通信用回路70を用いた赤外線通信(Ir通信)を制御する。つまり、CPUコア360は、マイコン76を介してバックアップ用メモリ78にデータを書き込み、バックアップ用メモリ78からデータを読み出す。また、CPUコア360は、マイコン76およびIr通信用回路70を介して、歩数計1とデータを送受信する。なお、図8では見えないが、Ir通信用回路70の通信ポートが、メモリカード7が挿入部30に装着されたときに露出する部分(たとえば上端面)に設けられている。
なお、歩数計1において、表示部108を設ける場合には、表示部108は、マイコン110に接続される。本実施形態では、携帯端末3側には、赤外線通信部390を設けないものとするが、Ir通信用回路70の代替の実施例として、携帯端末3に赤外線通信部390を内蔵して、そこで赤外線通信を行っても良い。
ROM74は、携帯端末3で実行すべきゲームのためのゲームプログラム、画像データ(文字やオブジェクトの画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)およびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。バックアップ用メモリ78は、そのゲームの途中データやゲームの結果データなどを記憶(セーブ)するためのものである。バックアップ用メモリ78としては、フラッシュメモリのような不揮発性メモリ、または電池から電源が供給されるSRAMなどが用いられ得る。
RAM370は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア360は、メモリカード7のROM74に記憶されたゲームプログラム、画像データおよび音データ等をRAM370にロードし、ロードしたゲームプログラムに従って処理を実行する。また、CPUコア360は、ゲームの進行に応じて一時的に生成するデータ(ゲームデータやフラグデータ等)をRAM370に記憶しつつゲーム処理を実行する。
第1GPU344および第2GPU346は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成される。第1GPU344および第2GPU346は、それぞれ、CPUコア360からのグラフィックスコマンド(作画命令)を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、CPUコア360は、グラフィックスコマンドおよび、画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)を、第1GPU344および第2GPU346のそれぞれに与える。
また、第1GPU344には、第1ビデオRAM(以下、「VRAM」という。)352が接続され、第2GPU346には、第2VRAM354が接続される。第1GPU344および第2GPU346が作画コマンドを実行するにあたって必要なデータ(画像データ:ポリゴンやテクスチャ等のデータ)は、第1GPU344および第2GPU346が、それぞれ、第1VRAM352および第2VRAM354にアクセスして取得する。
なお、CPUコア360は、描画に必要な画像データを第1GPU344および第2GPU346を介して第1の第1VRAM352および第2VRAM354に書き込む。第1GPU344は第1VRAM352にアクセスして描画のための画像データを作成し、その画像データを第1VRAM352の描画バッファに記憶する。第2GPU346は第2VRAM354にアクセスして描画のための画像データを作成し、その画像データを第2VRAM354の描画バッファに記憶する。描画バッファとしてはフレームバッファまたはラインバッファ等が採用されてよい。
第1VRAM352および第2VRAM354は、LCDコントローラ350に接続される。LCDコントローラ350はレジスタ356を含み、レジスタ356はたとえば1ビットで構成され、CPUコア360の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ350は、レジスタ356のデータ値が「0」である場合には、第1GPU344によって作成された画像データをLCD312に出力し、第2GPU346によって作成された画像データをLCD314に出力する。また、LCDコントローラ250は、レジスタ356のデータ値が「1」である場合には、第1GPU344によって作成された画像データをLCD314に出力し、第2GPU346によって作成された画像データをLCD312に出力する。
なお、LCDコントローラ350は、第1VRAM352および第2VRAM354から直接画像データを読み出したり、第1GPU344および第2GPU346を介して第1VRAM352および第2VRAM354から画像データを読み出したりする。
また、第1VRAM352および第2VRAM354は第1RAM370に設けられてもよいし、あるいはその描画バッファおよびZバッファが第1RAM370に設けられてもよい。
I/F回路348には、操作スイッチ322,タッチパネル324およびスピーカ336a,336bが接続される。ここで、操作スイッチ322は、上述したスイッチ322a,322b,322c,322d,322e,322f,322g,322Lおよび322Rであり、操作スイッチ322が操作されると、対応する操作信号(操作データ)がI/F回路348を介してCPUコア360に入力される。また、タッチパネル324からの座標データがI/F回路348を介してCPUコア360に入力される。さらに、CPUコア360は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM370から読み出し、I/F回路348を介してスピーカ336a,336bから当該音を出力する。
無線通信部380は他の携帯端末3やゲーム装置2との間で無線通信によってデータを送受信するための通信手段である。なお、携帯端末3が送受信する微弱電波は、電波法による規制のかからない強度に設定されている。CPUコア360がゲームデータやコマンドなどのデータを無線通信部380に与えると、無線通信部380は、相手方へのデータを無線信号に変調してアンテナから送信する。また、無線通信部380は、相手方からの無線信号を同じアンテナで受信してデータに復調し、当該データをCPUコア360に与える。この無線通信部380を介して、携帯端末3は、他の携帯端末3との間でデータを通信して通信ゲームを実行することが可能である。携帯端末3は、この無線通信部380を介してゲーム装置2と通信することができる。
図10は、携帯端末3のRAM370のメモリマップの一例を示す。メモリマップはプログラム記憶領域37Aおよびデータ記憶領域37Eを含む。なお、図7はメモリマップの一部を示しており、プログラム記憶領域37Aおよびデータ記憶領域37Eには、画像生成表示プログラム、操作データ取得プログラムおよび画像データなど、処理の実行に必要な他のプログラムおよびデータも記憶されている。
プログラム記憶領域37Aには、歩数データ取得プログラム37B、データ集計処理プログラム37C、データ統合処理プログラム371C、および歩数データ送信プログラム37Dが記憶されている。なお、これらすべてのプログラムを合わせたものは、データ転送プログラム379に相当する。
CPUコア360が歩数データ取得プログラム37Bを実行すると、CPUコア360は、歩数計1から歩数データを取得する。CPUコア360がデータ集計処理プログラム37Cを実行すると、CPUコア360は、歩数計1から受信した1分ごとまたは/および1時間ごとのデータを集計することにより、1日ごとの集計データを作成する。この集計データを生成する方法としては、CPUコア360は、1分ごとのデータ又は1時間ごとのデータの平均値を算出してもよいし、最大値と最小値の差分値を算出等してもよい。
携帯端末3が最初に歩数データを歩数計1から受信したときは、CPUコア360がデータ集計処理プログラム37Cを実行すると、受信したすべてのデータについて1日ごとの歩数データを作成する。最初にデータを歩数計1から受信したときは、この1日ごとのデータ、および受信した1分ごとのデータがデータ記憶領域37Eに記憶する統合データ37Kである。
2回目以降に歩数データを歩数計1から受信したときは、CPUコア360がデータ集計処理プログラム37Cを実行すると、新たに受信した歩数データを検出し、新たに受信した歩数データを元に1日ごとの歩数データ(「追加された1日ごとの集計データ」と称する)を作成する。
CPUコア360がデータ統合処理プログラム37Dを実行すると、CPUコア360は、歩数計1から受信した1分ごとの歩数データ、および、受信した1分ごとまたは/および1時間ごとの歩数データから生成された、追加された1日ごとの集計データを追加記憶の形式で記憶する。すなわち、CPUコア360は、従前に生成した1日ごとのデータと上記「追加された1日ごとの集計データ」とを合成し記憶する。さらに、従前に記憶されている1分ごとのデータと新たに受信した1分ごとのデータとを合成して記憶する。これにより記憶された1分ごとのデータの合成結果および1日ごとのデータの合成結果が統合データ37Kである。なお、統合データ37Kは、1分ごとのデータの合成結果および1日ごとの集計データのいずれか一方のみであってもよい。また、統合データ37Kは、上記に限らず、受信した1分ごとまたは/および1時間ごとのデータを他の演算方法によって演算した結果の値(例えば、平均値、最大値と最小値の差分等)であってもよい。
なお、CPUコア360は、このデータ統合処理プログラム37Dの実行により、受信したデータをユーザごとに整理し、歩数データから派生するデータを生成し、バックアップ用メモリ78に統合データ37Kとして記憶させてもよい。また、この実行により、CPUコア360は、1時間ごと、1日ごとのデータを受信してもよい。また、上記の実施例では、CPUコア360は、1日ごとのデータを集計しているが、その代わりに1週ごとなどの歩数データの集計を行ってもよい。
なお、この統合データ37Kは、たとえば、1分ごとのデータを28日分、1日ごとのデータを最大5年分記録可能なデータ容量とすることができる。この場合、CPUコア360は、それ以前のデータを破棄することができる。また、受信した1分ごとまたは1時間ごとのデータから1日ごとのデータを集計し、集計した1日ごとのデータをメモリカード7内のセーブデータに追記(蓄積)する。さらに、受信した1分ごとのデータをメモリカード7内のセーブデータに追記(蓄積)する。このようにデータを蓄積していく処理がデータ統合処理プログラム37Dの処理である。つまり、歩数計から受信した複数のデータに基づいてセーブデータを生成する。なお、統合データ37Kは、複数のデータを集計したものだけであってもよいし、複数のデータを蓄積していったものだけでもよい。
CPUコア360が歩数データ送信プログラム37Dを実行すると、CPUコア360は、歩数データをゲーム装置2に送信する。このとき、携帯端末3は、RAM370内のセーブデータにある「統合データ37K」全てをゲーム装置2へ送信する。ゲーム装置2は、携帯端末3内の統合データ37K全てを受信したのちに、統合データ37Kの一部(たとえば1日ごとのデータの直近210日分だけ)を取り出し、外部メインメモリ220内に保存する。それ以外の他のデータ(1分毎のデータ、および上記210日より以前の1日ごとのデータ)は受信するものの破棄する。
データ記憶領域37Eは、ROM74またはバックアップ用メモリ78から読み出されたデータや、処理によって生成されたデータまたは取得されたデータである。
登録情報37Fは、歩数計1のユーザの登録情報である。具体的には、CPUコア360は、歩数計1のIDに対応付けて、ユーザ名およびキャラクタ画像(ゲームにおいて当該ユーザが使用するキャラクタの画像データ)などを記憶する。上述のように、この実施例では、1つの携帯端末3には、最大4つの歩数計1を登録することができる。また、ユーザ名およびキャラクタ画像は、初期設定でユーザによって入力または指定される。登録情報はバックアップ用メモリ78に記憶され、必要に応じてバックアップ用メモリ78からRAM370に読み出される。
受信日時37Hは、歩数計1から最後に歩数データの取得処理を行った際の受信日時が当該IDに対応付けたデータである。この受信日時はバックアップ用メモリ78に記憶されている。歩数計1からの歩数データの取得処理を行う際には、受信日時はバックアップ用メモリ78から読み出される。したがって、内蔵の時計回路から取得した現在日時から受信日時までの歩数データを歩数計1から取得することができる。歩数データを取得すると、受信日時は現在日時に更新され、また、バックアップ用メモリ78にも記憶される。
歩数合計値37Jは、歩数データに基づいてCPU360が作成した、これまでにユーザが歩いた歩数のデータである。歩数合計値37Jとしては、日ごと、月ごとのデータを記憶してもよい。ただし、歩数合計値37Jは、本発明の実施形態として必須ではない。
統合データ37Kは、前述したように、1日ごとに集計した歩数データおよび1分ごとの歩数データである。赤外線通信部390が最初にデータを受信したときは、統合データ37Kは、CPUコア360がデータ集計プログラム37Cを用いて、その新たに受信したデータについて1日ごとのデータを集計したデータ、および、受信した1分ごとのデータである。歩数計1からさらにデータを受信したときは、統合データ37Kは、CPUコア360がその新たに受信したデータについて1日ごとのデータをデータ集計プログラム37Cを用いて集計し、データ統合プログラム371Cにより、既存のデータに対し、当該新たに集計した1日ごとのデータ、および受信した1分ごとのデータを追記することにより生成される。
(歩数計1の構成)
図11〜図13を用いて歩数計1について説明する。
図11は、歩数計1の一例を示す斜視図である。歩数計1は、略直方体形状のハウジング102を有し、ハウジング102は、ユーザのポケット等に簡単に収容可能なように小型化されており、一例として、縦横の長さは3〜4cm程度、厚さは1cm程度である。ハウジング102の一方主面(上面)には押しボタン104が設けられる。メモリカード7のIr通信用回路70が通信待機状態にある場合に、ユーザによってこの押しボタン104が押されると、歩数計1はメモリカード7すなわち携帯端末3と通信を開始する。また、押しボタン104の端部にはLED106が設けられる。LED106は、たとえば2色LEDであり、色や点滅パターンによって、歩数計1の動作状態を表現する。また、ハウジング102の側面(先端面)には、Ir通信用回路118が設けられる。なお、歩数計1動作電源としては、たとえばコイン型リチウム電池(CR2032)が使用され、ハウジング102の他方主面(下面)には電池蓋が取り外し可能に設けられている。
図12は、歩数計1の電気的な構成の一例を示すブロック図である。歩数計1はマイコン110を含み、マイコン110には、増幅回路112を介してショックセンサ114が接続される。また、マイコン110には、押しボタン104、LED106、EEPROM116およびIr通信用回路118が接続される。
マイコン110は、歩数計アルゴリズムを内蔵した低消費電力マイコンであり、ショックセンサ114からの出力データの検出、EEPROM116の書込みおよび読出し、LED106の点滅、Ir通信用回路118を用いた赤外線通信など、歩数計1全体動作を制御する。
ショックセンサ114は、ユーザの歩行に応じた動きを検出するためのセンサであり、たとえばHDDの衝撃検知に用いられるショックセンサ(加速度センサ)が適用され得る。ショックセンサ114は、この実施例では2軸に配置され、これによって、歩数計1をポケットや鞄等に入れた状態で歩数を計測または検出することが可能になっている。ショックセンサ114の出力は増幅回路112で増幅されてマイコン110に入力される。マイコン110にはADコンバータが内蔵されているので、マイコン110はショックセンサ114の出力をサンプリングして出力データ(加速度データ)を取得する。マイコン110は、出力データと歩数計アルゴリズムに基づいて歩数をカウントし、単位時間ごとに歩数の累計値(カウント数)を順次EEPROM116に記憶する。つまり、EEPROM116には歩数データとして単位時間ごとの歩数値の履歴が保存される。
ただし、EEPROM116の歩数データの保存領域には限りがある。たとえば、1分単位ごとに歩数値を記憶する場合には、EEPROM116には約7日分の歩数履歴を保存することができる。保存領域が一杯になった場合には、最も古く記憶された歩数値が上書きされる。また、この実施例では、歩数値の記録の単位時間は1分に設定されるが、たとえば1時間、1日などに適宜変更可能である。
マイコン110は、動作状態に応じてLED106の色や点滅パターンを制御する。たとえば、当日の歩数が予め設定しておいた歩数を超えたときには、LED106の色が赤から黄緑に変更される。また、押しボタン104が押されたときには、マイコン110は、Ir通信用回路118を用いて携帯端末3(メモリカード7)との通信を開始するとともに、当該通信開始確認と動作確認のためにLED106を点滅させる。
押しボタン104が押されることによって通信を開始すると、マイコン110は、歩数計ID(識別情報)を内蔵ROMまたはEEPROM116から読み出し、当該IDを含むデータをIr通信用回路118を介して携帯端末3に送信する。その後、携帯端末3から歩数データの要求を受信すると、マイコン110は、EEPROM116から必要な歩数データを読み出して携帯端末3に送信する。なお、携帯端末3は、前回歩数計1から歩数データを受信したときの日時情報(受信日時37H)を記憶しており、必要な時間または個数の歩数値を要求するので、マイコン110は、現在の歩数値から過去に遡って、必要な時間または個数の歩数値を読み出して、携帯端末3に送信することができる。
図13は、EPROM116が記憶する歩数データのデータ形式の例を示す。図13に示すように、EPROM116は、分ごとの歩数の合計を分単位の時刻と合わせて記憶する(たとえば、時刻2008年12月15日5時5分と合わせて60歩を記憶する)。なお、EPROM116は、このデータ形式に限らず、たとえば、10分単位、1時間単位で記憶してもよい。
(情報処理システム990の動作説明)
以下、図14A〜図21を用いて、以上の図2A〜図13の説明を踏まえ、図2に示す情報処理システム990の作用、動作について説明する。
(歩数計1と携帯端末3との通信)
図14A〜図14C、図15を用いて、歩数計1と携帯端末3との間で歩数データを通信する処理について説明する。
図14Aは、歩数データの通信を開始する直前に、携帯端末3の第1のLCD312に表示させる画像D1を示している。ここでは、「歩数計の送信ボタンを押してください。通信待機中」などと表示する。この表示は、ユーザが携帯端末3を操作して、後述の健康ソフトウェアを起動し、所定のメニュー上から、「歩数計からデータを取得する」という項目(図19A参照)を選択した場合に、CPUコア360は、画像D1を第1のLCD312に表示する。この状態で、携帯端末3は待機状態となり、歩数計1からの赤外線を検出する。なお、CPUコア360は、画像D1をLCD314に表示してもよい(この点は、以下で携帯端末3の画面について説明するときは、すべて同様である)。
図14Bは、携帯端末3が歩数計1との通信に成功した場合にLCD312に表示する画面D2を示す。携帯端末3は、たとえば、「携帯端末との通信に成功しました。」と表示する。この場合、画面D2のとおり、記録データ番号xxxx(xは数字、記号、アルファベットなど)を示すのが好ましい。
図14Cは、携帯端末3が歩数計1との通信に失敗した場合にLCD312に表示する画面D3を示す。携帯端末3は、たとえば、「通信に失敗しました。」「再試行しますか」と表示することができる。
図15は、携帯端末3が実行する歩数データ取得処理のフロー図である。この処理は、携帯端末3が歩数データ取得プログラム37Bを実行することにより行われる。
S1において、CPUコア360は、歩数計1の押しボタン104(歩数データの送信ボタン)を押すよう促す画面D1をLCD312に表示する。
S2において、CPUコア360は、CPUコア360は、Ir通信用回路70を用いて、携帯端末3との赤外線通信を開始し、歩数計1を検出する。より具体的には、CPUコア360は、歩数計1からの赤外線でACK信号(ACKNowledgement)の受信を待機する。
S3において、CPUコア360は、歩数計1を検出できたか否か判定する。歩数計1を検出できた場合は(S3のYes)、図15のフローは、S4へ移動する。歩数計1を検出できなかった場合は(S3のNo)、図15のフローは、S9へ移動する。
S4において、CPUコア360は、歩数データと計測日を歩数計1から受信する。ここでは、携帯端末3は、歩数計1から受信した図13のデータ形式で(すなわち、計測日/時/分ごとに表した歩数データの形式で)歩数データを受信する。このとき、携帯端末3に記憶されていない新たなデータだけを選択的に受信してもよいし、すべて受信した後、既に携帯端末3が記憶するデータを破棄してもよい。なお、S4の処理は、タッチパネル324または操作スイッチ322から所定の入力があったときに行うようにしてもよい。
S5において、CPUコア360は、歩数データを受信できたか否か判定する。歩数データを受信できた場合は(S5のYes)、図15のフローは、S6へ移動する。歩数データを受信できなかった場合(S5のNo)、図15のフローは、S9(エラー画面出力)へ移動する。
S6において、CPUコア360は、S4で受信した歩数データと計測日をメモリに保存する。このとき、メモリに保存するデータは、データ集計処理プログラム37C、データ統合処理プログラム371Cを用いて作成された統合データ37Kである。
S7において、CPUコア360は、送信成功をユーザに知らせる画面D2(図14参照)を第1のLCD312に表示させる。ここでは、第2のLCD314に表示させてもよい。また、CPUコア360は、受信した歩数データの内容を第1のLCD312または第2のLCD314に表示するようにしてもよい。
S8において、CPUコア360は、携帯端末3は、無線通信を終了する。
S8の後、フローは、終了する。S8の後、S1へ移動してもよい。
S9において、CPUコア360は、エラー画面D3(図14C参照)を出力する。
S10において、CPUコア360は、ユーザから送信の再試行の指示がなされたか否か判定する。ユーザから送信の再試行の指示がなされていなければ(S10のNo)、通信を終了する(S8)。その後フローは終了する。
ユーザから送信の再試行の指示がなされれば(S10のYes)、いったん無線通信を終了して(S11)、S2に戻り、無線通信を再開する。
(ゲーム装置2のメインメニュー動作)
図16A、図16B、図16C、図17を用いて、ゲーム装置2がメインメニュー動作プログラム22Bを用いて実行する、メインメニュー動作処理について説明する。ここでのメインメニューは、ユーザが肥満解消計画を実行するためのメニューである。より具体的には、肥満解消計画は、肥満気味の方を対象として、肥満を解消するためのプログラムを専門家端末4の専門家のアドバイスを受けて、実行する計画である。
図16A、図16B、図16Cは、テレビジョン5に表示させる画面の例(画面D11〜D13)を示す。
図16Aの画面D11に示すように、ゲーム装置2のCPU210は、メインメニュー動作処理を実行すると、まず画面D11をテレビジョン5に表示させて、このプログラムを使用するユーザの選択を受け付ける。画面D11には、複数のユーザUのアイコンが表示される。ポインタPを移動させて、たとえばAボタン626dが押されると、複数のユーザUのうちの1人が決定される。
次に、図16Bの画面D12に示すように、CPU210は、選択されたユーザの歩数結果とBMIの画面D12をテレビジョン5に表示させる。たとえば、ユーザの名称を予め入力を受け付けて、ユーザの名前がAさん(Mr.A)であったとすると、CPU210は、表題を「Aさんの8月の歩数結果」などとテレビジョン5に表示させる。ここで、8月は現在からみて直近の月(month)でもよいし、選択された月でもよい。CPU210は、上記歩数結果の代替として、たとえば、画面D12は、日付ごと(または午前、午後に分けてもよい)の歩数のグラフを含んでいてもよい。
その後、図16Cの画面D13に示すように、リモコン6の所定の操作によって、CPU210は、画面D13をテレビジョン5に表示させる。メインメニューには、「質問に答える」B1、「メールを送る」B2、「回答の記録」B3、および「歩数データ受信」B4の各項目を含む。CPU210は、画面D13にポインタPを重ねて表示する。ポインタPの位置がこれらの項目のいずれかである場合には、所定のボタンたとえばAボタン626dが押されると、CPU210は、このB1〜B4の各項目に対応する処理を実行する。
図17は、ゲーム装置2がメインメニュー動作プログラム22Bにより、メインメニュー動作処理を実行するフロー図を表している。ここで、「S」は、ステップ番号を表している。以下も同様である。
S21において、CPU210は、初期化処理を実行する。ここでは、各種の変数を初期化する。
S22において、CPU210は、メインメニューの画面(画面D11)をテレビジョン5に表示して、ユーザの選択を受け付ける。
S23において、CPU210は、選択されたユーザのデータをロードして歩数を表示する。たとえば、CPU210は、歩数結果の画面(画面D12)をテレビジョン5に表示する。
S24において、CPU210は、メニューを表示してユーザのメニュー選択を受け付ける。
S25において、CPU210は、メニュー選択が「質問に答える!」であるか否か判定する。メニュー選択が「質問に答える!」であれば(S25のYes)、図17のフローは、S26へ移動する。メニュー選択が「質問に答える!」でなければ(S25のNo)、図17のフローは、S27へ移動する。
S26において、CPU210は、専門家端末4を所有する専門家へ、専門家が出題した問題(質問した内容)に対する回答を受け付ける、回答処理を実行する。回答処理については、後述する。
S27において、CPU210は、メニュー選択が「メールを送る」であるか否か判定する。メニュー選択が「メールを送る」であれば(S27のYes)、図17のフローは、S28へ移動する。メニュー選択が「メールを送る」でなければ(S27のNo)、図17のフローは、S29へ移動する。
S28において、CPU210は、専門家へメールを送信する処理を実行する。
S29において、CPU210は、メニュー選択が「回答の記録」(ここでいう「回答の記録」とは保存済みの回答記録を見るというものである)であるか否か判定する。メニュー選択が「回答の記録」であれば(S29のYes)、図17のフローは、S30へ移動する。メニュー選択が「回答の記録」でなければ(S29のNo)、図17のフローは、S31へ移動する。
S30において、CPU210は、回答記録表示処理を実行する。回答記録表示処理は、ユーザが「質問に答える!」を選択して、繰り返し回答処理(S26)を実行した結果集積された回答記録を表示する処理である。
S31において、CPU210は、メニュー選択が「歩数データ受信」であるか否か判定する。メニュー選択が「歩数データ受信」であれば(S31のYes)、図17のフローは、S32へ移動する。メニュー選択が「歩数データ受信」でなければ(S31のNo)、図17のフローは、S24へ戻る。
S32において、CPU210は、歩数データ受信プログラム22Cを用いて、歩数データ受信処理を実行する。
なお、参照記号Aについては、後述の図27、図29で参照する。また、S25、S27、S29、S31の判定順序はどのような順序でもよい。メニュー(たとえば図16Cの画像D13参照)から、CPU210が実行すべき項目をユーザが選択できるようにすればよい。
(ゲーム装置2、携帯端末3間の通信)
次に、図18A〜図18D、図19A〜図19D、図20、図21を用いて、ゲーム装置2、携帯端末3間で歩数データの通信を行う処理について説明する。図18A〜図18D、図19A〜図19Dは、この通信時に、それぞれゲーム装置2、携帯端末3に表示する画面の例を示す。
図18A〜図18Dに示す画面D21〜D24は、テレビジョン5に表示される。図18Aは、ゲーム装置2が起動している状態で、ゲーム装置2が携帯端末3と通信を開始するための携帯端末3側のソフトウェアをユーザに促す画面D21を示す。ゲーム装置2は、たとえば、「歩いてわかる生活リズムDSを起動してください。」と表示することができる。ここでのソフトウェアは、たとえば「歩いてわかる生活リズムDS」(商品名)とすることができる。
図18Bは、上記ソフトウェアが起動している状態で、ゲーム装置2が携帯端末3と通信を開始するためにすべき操作をユーザに促す画面D22を示す。ゲーム装置2は、たとえば「携帯端末のボタンA+B+X+Yを押してください。」と表示することができる。ここで、ボタンA+B+X+Yは、隠しコマンドとするのが好ましい。このようにすれば、携帯端末3が表示するメニューから選択したりするなどの通常の操作では携帯端末3には現れないが、S41(後述図20参照)でテレビジョン5に表示する指示に従う場合にのみ、ゲーム装置2との歩数データの通信が可能になる。これにより、携帯端末3のみ使用するユーザにとっては、使用できない機能が表示されず、余分な表示がなされなくて済むメリットがある。
図18Cは、ゲーム装置2が携帯端末3との通信に成功した場合にテレビジョン5に表示する画面D23を示す。ゲーム装置2は、たとえば、「携帯端末との通信に成功しました。」と表示する。この場合、画面D23のとおり、記録データ番号xxxx(xは数字、記号、アルファベットなど)を示すのが好ましい。
図18Dは、ゲーム装置2が携帯端末3との通信に失敗した場合にテレビジョン5に表示する画面D24を示す。ゲーム装置2は、たとえば、「通信に失敗しました。」「再試行しますか」と表示することができる。
図19Aは、図18Aの画面D21の指示に応じてユーザが携帯端末3の健康ソフトウェア「歩いてわかる生活リズムDS」を起動し、図18Bの画面D22の指示に応じて上記隠しコマンドを入力した場合の画面D31を示している。ユーザが隠しコマンドを入力すると初めて「歩数データをゲーム機へ送信する」という項目D311を表示する(ここで表示するゲーム機は、ゲーム装置2を表している。)。一旦隠しコマンドが入力されると、次回以降に健康ソフトウェアを起動するときには、LCD312は、この項目を表示する。
図19Bは、通信開始時の画面D32を示す。CPUコア360が、この項目D311の選択の操作を受け付けた場合には、携帯端末3はゲーム装置2と通信を開始する。画面D32は、携帯端末3がこの通信を開始した状態を示している。
図19Bは、携帯端末3がゲーム装置2との通信に成功した場合にLCD312に表示する画面D33を表している。携帯端末3は、たとえば、「携帯端末との通信に成功しました。」と表示する。この場合、画面D33のとおり、記録データ番号xxxx(xは数字、記号、アルファベットなど)を示すのが好ましい。
図19Cは、携帯端末3がゲーム装置2との通信に失敗した場合にLCD312に表示する画面D34を示す。携帯端末3は、たとえば、「通信に失敗しました。」、「再試行しますか」と表示することができる。
図20は、ゲーム装置2、携帯端末3間で歩数データの通信時におけるゲーム装置2側の処理(歩数データ受信処理)のフローを示す。なお、歩数データ受信処理は、CPU210が歩数データ受信プログラム22C(図5参照)を実行することにより行われる。
図20は、ゲーム装置2のCPU210が行う歩数データ送信処理を表している。
S41において、CPU210は、携帯端末3の起動を促す画面D21を表示する。
S42において、CPU210は、無線通信モジュール250を用いて、携帯端末3と無線通信を開始する。
S43において、CPU210は、携帯端末3を検出したか否か判定する。携帯端末3を検出した場合には(S43のYes)、図20のフローは、S44へ移動する。携帯端末3を検出できない場合には(S43のNo)、図20のフローは、S50(エラー画面出力)へ移動する。
S44において、CPU210は、携帯端末3の所定の操作をテレビジョン5に示して、携帯端末3で「通信する」を操作するようにユーザに促す画面D11、D12(図18参照)をテレビジョン5に表示する。
S45において、CPU210は、携帯端末3から統合データ37Kを受信する。携帯端末3が記憶するすべての統合データを受信する。
なお、S45の処理は、リモコン6から所定の入力があったときに行うようにしてもよい。
S46において、CPU210は、携帯端末3から統合データ37Kを受信できたか否か判定する。携帯端末3から統合データ37Kを受信できた場合には(S46のYes)、図20のフローは、S461へ移動する。携帯端末3から統合データ37Kを受信できなければ(S46のNo)、図20のフローは、S50へ移動する。
S461において、既にゲーム装置2が受信した統合データ37Kがゲーム装置2に記憶されているか判定し、記憶されている場合には(S461のYes)、受信した統合データ(1分ごとのデータ、および、1日ごとのデータを含む)のうち、1分ごとのデータのすべてと、既にゲーム装置2が記憶している重複する1日ごとのデータを削除する(S462)。既にゲーム装置2が受信した統合データ37Kがゲーム装置2に記憶されていない場合には(S461のNo)、フローはS47へ進む。なお、CPU210は、S45、S461、S462を処理する代わりに、新たなデータだけを携帯端末3から受信してもよい。また、本実施形態では外部メインメモリ220にデータを保存する前に不要なデータを削除するようにしているが、保存後に不要なデータを削除するようにしてもよい。
S47において、CPU210は、統合データ37Kを外部メインメモリ220に保存する。
S48において、CPU210は、受信成功を知らせる画面をテレビジョン5に表示する。このとき、受信した統合データ37Kの内容をテレビジョン5に表示するようにしてもよい。
S49において、CPU210は、携帯端末3との無線通信を終了する。
S49の後、図20のフローは、終了する。
S50において、CPU210は、エラー画面(画面D24)をテレビジョン5に出力する。
S51において、CPU210は、無線通信の再試行を指示の操作がなされたか否か判定する。無線通信の再試行を指示の操作がなされた場合には(S51のYes)、図21のフローは、S52へ移動する。無線通信の再試行を指示の操作がなされていない場合には(S51のNo)、無線通信を終了する(S49)。
S52において、CPU210は、無線通信の試行をいったん終了する。
S52の後、図20のフローは、S42へ移動し、無線通信をやり直す。
図21は、ゲーム装置2、携帯端末3間で歩数データを通信する時に、携帯端末3側が行う歩数データ送信処理のフローを示す。この処理は、図18Aの携帯端末3の歩数データ送信プログラムの起動を促す画面D21に応じて、ユーザが携帯端末3について、上記の健康ソフトウェア(たとえば「歩いてわかる生活リズムDS」)を実行した場合に実行される。
ユーザが健康ソフトウェアを起動すると、メニューの画面が表示される。そして上記の隠しコマンドのボタンを押すと、このメニューの画面に、CPUコア360は、「歩数データをゲーム機へ送信する」という項目D311を追加する(画面D31参照)。いったんメニューが追加されると、そのことがバックアップ用メモリ78に、たとえばメニューが追加されたか否かを表すフラグのデータの形で記憶される。これにより、次回からは、ユーザは、隠しコマンドを押さなくても、携帯端末3に表示されるメニューから項目D311を選択できる。なお、上記フラグを送信メニュー追加フラグと称することにする。
S61において、ユーザが健康ソフトウェアを起動すると、CPUコア360は、そのソフトウェアを実行することを示すタイトル画面を表示する。ここで、図示しないが、上記の隠しコマンドが入力された場合、送信メニュー追加フラグを1にする。
S62において、送信メニュー追加フラグが1であるか否か判定する。送信メニュー追加フラグが1であれば(S62のYes)、図21のフローは、S63へ移動する。送信メニュー追加フラグが0であれば(S62のNo)、図21のフローは、S61へ戻る。
S63で、携帯端末3のメニューに、項目D311を新たに表示する。
S64において、CPUコア360は、ユーザにより携帯端末3の所定の「歩数データをゲーム機へ送信する」ボタンが押されたか否か判定する。なお、ここでは、ボタンの代替として、図19の画面31で「歩数データをゲーム装置へ送信する」の項目がタッチパネルから選択されたかを判定してもよい。
ユーザにより携帯端末3の所定の「歩数データをゲーム機へ送信する」ボタンが押された場合には(S64のYes)、図21のフローは、S65へ移動する。ユーザにより携帯端末3の所定の「歩数データをゲーム機へ送信する」ボタンが押されていない場合には(S64のNo)、図21のフローは、S61へ戻る。
S65において、CPUコア360は、無線通信部380を用いて、ゲーム装置2との無線通信を開始する。このとき、CPUコア360は、接続可能なゲーム装置2を探す。携帯端末3は、携帯端末3との通信待機状態のゲーム装置2を見つけると、自動的に、ゲーム装置2と通信の接続を行う。携帯端末3は、ゲーム装置2を見つけることができない場合には、図21の点線のフローのとおり、S691(エラー画面表示)へ移動する。
S651において、CPUコア360は、どのデータを送るかキャラクタを選択するモードに移行して、キャラクタの選択を受け付ける。ここで、キャラクタは、携帯端末3を使用するユーザを表すものであり、複数ユーザが携帯端末3を使用する場合に区別するためのものである。ユーザがキャラクタを選択すると、S66に移動する。
なお、上記のとおり、CPUコア360がキャラクタの選択を受け付ける場合には、S66では、携帯端末3は、そのキャラクタに対応するデータを自動的に選択して、これをゲーム装置2へ転送する。また、キャラクタが1つである場合には、このS651の処理は必須ではない。
S66において、CPUコア360は、歩数データと計測日をゲーム装置2へ送信する。ここでは、CPUコア360は、歩数計1から受信したデータそのままでなく、データ統合処理プログラム371Cにより追記された統合データ37K(1日ごとの歩数データと1分ごとの歩数データ)を送信する。なお、ここでは、CPUコア360は、図13のデータ形式で(すなわち、計測日ごと、1時間ごと、または、分ごとに表した歩数データの形式で歩数データをゲーム装置2へ送信してもよいし、1時間ごとに整理したデータを送信してもよい。また、ここでは、CPUコア360は、歩数合計値37Jを送信してもよい。
S67において、CPUコア360は、統合データ37Kをゲーム装置2へ送信することに成功したか否か判定する。CPUコア360が統合データ37Kをゲーム装置2へ送信することに成功した場合には(S67のYes)、S68に移動する。CPUコア360が統合データ37Kをゲーム装置2へ送信をすることに失敗した場合には(S67のNo)、図21のフローは、S691へ移動する。
S68において、CPUコア360は、送信成功をユーザに知らせる画面D33を第1のLCD312に表示させる。このとき、送信した統合データ37Kの内容を第1のLCD312または第2のLCD314に表示するようにしてもよい。
S69において、CPUコア360は、携帯端末3の無線通信を終了する。
S69の後、フローは、S61へ戻る。
S691において、CPUコア360は、エラー画面(画面D34)を出力する。
S692において、CPUコア360は、ユーザから送信の再試行の指示があったか否か判定する。ユーザから送信の再試行の指示があった場合には(S692のYes)、CPUコア360は、無線通信をいったん終了し(S693)、その後、図21のフローは、S65へ戻る。
また、ユーザから送信の再試行の指示があった場合でなければ(S692のNo)、CPUコア360は、通信を終了し(S69)、タイトル画面へ戻る。
(回答処理)
次に、図22〜図29を参照して、図17のS26の回答処理の詳細を説明する。図22は、回答処理全体のフローを表し、図23〜図26は、この回答処理時に表示される画面の例を示す。図27〜図29は、ゲーム装置2による回答処理に含まれる選択式回答処理および数値入力式回答処理を表している。
回答処理が開始されると、図22のS70で、CPU210は、フラッシュメモリ244に保存されている(外部メインメモリ220に保存してもよい。以下メモリ244に保存するというときは、同じ。)未回答質問メッセージ22Wから、現在操作中のユーザ宛の質問メッセージを回答対象質問メッセージとして選択し、その回答対象質問メッセージを構成している1以上の質問またはメッセージのうち、最初の質問またはメッセージをフラッシュメモリ244から読み出す。
S71では、CPU210は、フラッシュメモリ244から読み出された質問またはメッセージが「選択式質問」であるかどうかを判断し、「選択式質問」である場合にはS72に進み、そうでない場合にはS73に進む。
S72では、CPU210は、選択式回答処理を行う。選択式回答処理とは、「選択式質問」をユーザに提示し、それに対する回答をユーザに入力させる処理である。選択式回答処理の詳細については後述する。選択式回答処理が終了すると、処理はS78に進む。
S73では、CPU210は、フラッシュメモリ244から読み出された質問またはメッセージが「文字入力式質問」であるかどうかを判断し、「文字入力式質問」である場合にはS74に進み、そうでない場合にはS75に進む。
S74では、CPU210は、文字入力式回答処理を行う。文字入力式回答処理とは、「文字入力式質問」をユーザに提示し、それに対する回答をユーザに入力させる処理である。文字入力式回答処理の詳細については後述する。文字入力式回答処理が終了すると、処理はS78に進む。
S75では、CPU210は、フラッシュメモリ244から読み出された質問またはメッセージが「数値入力式質問」であるかどうかを判断し、「数値入力式質問」である場合にはS76に進み、そうでない場合にはS77に進む。
S76では、CPU210は、数値入力式回答処理を行う。数値入力式回答処理とは、「数値入力式質問」をユーザに提示し、それに対する回答をユーザに入力させる処理である。数値入力式回答処理の詳細については後述する。数値入力式回答処理が終了すると、処理はS78に進む。
S77では、CPU210は、メッセージ表示処理を行う。メッセージ表示処理とは、「メッセージ」をテレビジョン5に表示する処理である。
図23は、S77で表示するメッセージの例を示す。メッセージ表示画面は、メッセージ欄M1、「前へ」ボタンB5、および「次へ」ボタンB6を含んでいる。ユーザが「前へ」ボタンB5、または「次へ」ボタンB6のアイコンを押すと、CPU210は、テレビジョン5に別のメッセージが表示する。メッセージ表示処理が終了すると、処理はS78に進む。
S78では、CPU210は、現在の回答対象質問メッセージの中に、次の質問またはメッセージが存在するかどうかを判断し、次の質問またはメッセージが存在する場合にはS79に進み、次の質問またはメッセージが存在しない場合(すなわち、回答対象質問メッセージを構成する全ての質問またはメッセージに対する回答の入力が完了している場合)にはS80に進む。
S79では、CPU210は、現在の回答対象質問メッセージに含まれている、次の質問またはメッセージをフラッシュメモリ244から読み出す。そして、処理はS71に戻る。
S80では、CPU210は、例えば図26に示すような送信確認画面をモニタ34に表示する。ユーザは、送信確認画面に表示されている回答内容の一覧表示を見て回答メッセージの内容を確認し、問題が無ければポインタPで「送信」ボタンB8を選択する。回答メッセージの内容を変更したい場合には、ユーザはポインタPで「戻る」ボタンB7を選択すればよい。
S81では、CPU210は、「送信」ボタンB8(図26参照)が選択されたかどうかを判断し、「送信」ボタンB8が選択された場合にはS82に進み、そうでない場合にはS85に進む。
S82では、CPU210は、フラッシュメモリ244から、現在操作中のユーザ(すなわち、図17のS22において選択されたユーザ)の生体情報を読み出す。例えば、現在操作中のユーザがユーザBである場合、CPU210は、フラッシュメモリ244に保存されているユーザBの体重データ22U、ユーザBの運動時間データ22Z、およびユーザBの歩数に関する統合データ22Vを読み出す。このとき、フラッシュメモリ244に保存されている生体情報に測定日の情報が付加されている場合には、CPU210は、過去一定期間(例えば、過去1ヶ月間)に測定された生体情報だけを読み出すようにしてもよい。なお、本実施形態では生体情報をフラッシュメモリ244から取得しているが、本発明はこれに限らず、ゲーム装置2の内部または外部の他の記憶装置から生体情報を取得するようにしても構わない。
S83では、CPU210は、作成された回答メッセージとS82でフラッシュメモリ244から読み出した生体情報を1つのファイルに構成して、送信ファイルを生成する。
S84では、CPU210は、S83において生成した送信ファイルを専門家端末4へ送信する。そして、回答処理を終了する。ゲーム装置2から専門家端末4へのファイルの送信は、例えば、一般的な電子メールの転送プロトコルを利用して、生成した送信ファイルを電子メールの添付ファイルとして送信することができる。この場合、電子メールの本文は、空欄もしくは定型文が挿入されるようにしてもよい。
S85では、CPU210は、「戻る」ボタンB7が選択されたかどうかを判断し、「戻る」ボタンB7が選択された場合にはS86に進み、そうでない場合にはS80に戻る。
S86では、CPU210は、現在の回答対象質問メッセージに含まれている、最後の質問またはメッセージをフラッシュメモリ244から再び読み出す。そして、処理はS71に戻る。なお、送信確認画面において「戻る」ボタンB7が選択された場合に、最後の質問またはメッセージに戻る代わりに、最初の質問またはメッセージに戻るようにしても構わない。
(ゲーム装置における選択式回答処理)
次に、図24、図27を参照して、図22のS72の選択式回答処理の詳細を説明する。
選択式回答処理が開始されると、S90で、CPU210は、図24Aに示すような選択式回答画面を表示する。選択式回答画面は、質問文欄Q1、選択肢欄A1、「前へ」ボタンB5、および「次へ」ボタンB6を含んでいる。
S91では、CPU210は、選択肢欄A1に表示されている選択肢の中のいずれかの選択肢がユーザによって指定されたかどうかを判断し、いずれかの選択肢が指定された場合にはS92に進み、そうでない場合にはS93に進む。ユーザによる選択肢の指定は、リモコン6を操作することによって行われる。
S92では、CPU210は、ユーザによって指定された選択肢を強調表示する。そして、処理はS90に戻る。強調表示の例としては、図24Aのように、指定された選択肢の先頭にチェックマークを付けたり、指定された選択肢の文字色や背景色を変更したりすることが挙げられる。
S93では、CPU210は、ユーザによって「次へ」ボタンB6が選択されたかどうかを判断し、「次へ」ボタンB6が選択された場合には選択式回答処理を終了して図22のS78に進み、そうでない場合にはS94に進む。
S94では、CPU210は、ユーザによって「前へ」ボタンB5が選択されたかどうかを判断し、「前へ」ボタンB5が選択された場合にはS95に進み、そうでない場合にはS90に戻る。
S95では、CPU210は、現在の回答対象質問メッセージの中に、1つ前の質問またはメッセージが存在するかどうかを判断し、1つ前の質問またはメッセージが存在する場合にはS96に進み、1つ前の質問またはメッセージが存在しない場合(すなわち、現在表示されている質問またはメッセージが、現在の回答対象質問メッセージにおける最初の質問またはメッセージである場合)には、選択式回答処理を終了して図17のS24に戻る(すなわち、メニュー表示画面(D13)に戻る)。
S96では、CPU210は、現在の回答対象質問メッセージに含まれている、1つ前の質問またはメッセージをフラッシュメモリ244から読み出す。そして、選択式回答処理を終了して図22のS71に戻る。
(ゲーム装置における文字入力式回答処理)
次に、図24B、図28を参照して、図22のS74の文字入力式回答処理の詳細を説明する。
文字入力式回答処理が開始されると、S100で、CPU210は、図24に示すような文字入力式回答画面を表示する。文字入力式回答画面は、質問文欄Q2、文字入力欄A2、「前へ」ボタンB5、および「次へ」ボタンB6を含んでいる。
S101では、CPU210は、文字入力欄A2がユーザによって指定されたかどうかを判断し、文字入力欄A2が指定された場合にはS102に進み、そうでない場合にはS103に進む。ユーザによる文字入力欄A2の指定は、リモコン6を操作することによって行われる。
S102では、CPU210は、ソフトウェアキーボードによりユーザからの文字入力を受け付ける。そして、処理はS100に戻る。ソフトウェアキーボードによる文字入力は、画面に表示されたキーボード内の所望のキーをユーザがポインタPで順次指定することによって行われる。
S103では、CPU210は、ユーザによって「次へ」ボタンB6が選択されたかどうかを判断し、「次へ」ボタンB6が選択された場合には文字入力式回答処理を終了して図22のS78に進み、そうでない場合にはS104に進む。
S104では、CPU210は、ユーザによって「前へ」ボタンB5が選択されたかどうかを判断し、「前へ」ボタンB5が選択された場合にはS105に進み、そうでない場合にはS100に戻る。
S105では、CPU210は、現在の回答対象質問メッセージの中に、1つ前の質問またはメッセージが存在するかどうかを判断し、1つ前の質問またはメッセージが存在する場合にはS106に進み、1つ前の質問またはメッセージが存在しない場合には、文字入力式回答処理を終了して図17のS24に戻る。
S106では、CPU210は、現在の回答対象質問メッセージに含まれている、1つ前の質問またはメッセージをフラッシュメモリ244から読み出す。そして、文字入力式回答処理を終了して図22のS71に戻る。
(ゲーム装置における数値入力式回答処理)
次に、図25の画面の例、図29のフロー図を参照して、図22のS76の数値入力式回答処理の詳細を説明する。
数値入力式回答処理が開始されると、図29のS110で、CPU210は、図25に示すような数値入力式回答画面を表示する。数値入力式回答画面は、質問文欄Q3、数値入力欄A3、「前へ」ボタンB5、および「次へ」ボタンB6を含んでいる。
S111では、CPU210は、数値入力欄A3がユーザによって指定されたかどうかを判断し、数値入力欄A3が指定された場合にはS112に進み、そうでない場合にはS113に進む。ユーザによる数値入力欄A3の指定は、リモコン6を操作することによって行われる。
S112では、CPU210は、ソフトウェアキーボード(テンキーのみ)によりユーザからの数値入力を受け付ける。そして、処理はS110に戻る。ソフトウェアキーボードによる数値入力は、画面に表示されたテンキー内の所望のキーをユーザがポインタPで順次指定することによって行われる。
S113では、CPU210は、ユーザによって「次へ」ボタンB6が選択されたかどうかを判断し、「次へ」ボタンB6が選択された場合には数値入力式回答処理を終了して図22のS78に進み、そうでない場合にはS114に進む。
S114では、CPU210は、ユーザによって「前へ」ボタンB5が選択されたかどうかを判断し、「前へ」ボタンB5が選択された場合にはS115に進み、そうでない場合にはS110に戻る。
S115では、CPU210は、現在の回答対象質問メッセージの中に、1つ前の質問またはメッセージが存在するかどうかを判断し、1つ前の質問またはメッセージが存在する場合にはS116に進み、1つ前の質問またはメッセージが存在しない場合には、数値入力式回答処理を終了して図17のS24に戻る。
S116では、CPU210は、現在の回答対象質問メッセージに含まれている、1つ前の質問またはメッセージをフラッシュメモリ244から読み出す。そして、数値入力式回答処理を終了して図22のS71に戻る。
なお、図27〜図29のフローチャートでは、選択肢指定、文字入力、数値入力がされなくてもユーザが「次へ」ボタンB6を選択することによって次の質問またはメッセージに進むことができるが、選択肢指定、文字入力、数値入力がされないと次の質問またはメッセージに進むことができないようにしてもよい(例えば、選択肢指定、文字入力、数値入力がされるまで「次へ」ボタンB6をグレーアウトにするなどが可能である)。
(保健指導者端末における回答受信処理)
次に、図30を用いて、専門家端末4において回答メッセージの受信処理が実行されたときの専門家端末4の動作について説明する。回答メッセージの受信処理は、典型的には、光ディスク等のコンピュータ読み取り可能な記憶媒体もしくはインターネットを通じて専門家端末4に供給され、専門家端末4のハードディスクにインストールされる。前述の質問メッセージ作成アプリケーションの機能と回答メッセージの受信処理の機能が1つのアプリケーションにより実現されても構わない。図30は、回答メッセージの受信処理にしたがって専門家端末4のCPUによって行われる回答受信処理の流れを示すフローである。
回答受信処理が開始されると、S140で、専門家端末4のCPUは、メールサーバにアクセスし、保健指導対象者(すなわち、ゲーム装置2)からの回答メッセージがメールサーバに届いているかどうかを判断する。そして、保健指導対象者からの回答メッセージがメールサーバに届いている場合にはS141に進み、そうでない場合にはS143に進む。
S141では、専門家端末4のCPUは、メールサーバに届いている保健指導対象者からの回答メッセージ(より正確には、前述のように回答メッセージと生体情報とで構成されたファイル)を受信する。
S142では、専門家端末4のCPUは、S141において受信した回答メッセージを、専門家端末4のハードディスクに保存する。
S143では、専門家端末4のCPUは、ハードディスクに保存されている回答メッセージを、専門家端末4のモニタに一覧表示する。
S144では、専門家端末4のCPUは、モニタに一覧表示されている回答メッセージの中のいずれかの回答メッセージについて、操作者(保健指導者)から閲覧指示があったかどうかを判断し、いずれかの回答メッセージの閲覧指示があった場合にはS145に進み、そうでない場合には回答受信処理を終了する。
S145では、専門家端末4のCPUは、操作者から閲覧指示のあった回答メッセージを、対応する生体情報とともにモニタに表示する。
以上のように、本実施形態によれば、保健指導者からの質問メッセージに対する回答メッセージがゲーム装置2から専門家端末4へ送信される際に、保健指導対象者の生体情報がフラッシュメモリ244から自動的に読み出されて回答メッセージとともに専門家端末4へ送信される。よって、保健指導対象者は、回答メッセージを送信する際に生体情報を入力する手間が省け、生体情報を送信し忘れることもない。また、保健指導者は、保健指導のために必要となる生体情報を確実に把握することができるので、適切でかつ効率の良い保健指導が可能となる。
以上の実施形態について、以下に補足説明を行う。
本発明の実施形態としては、以上に示した実施例のほかに、種々のバリエーションを採用することができる。また、以上の実施例で、図1に記載していない構成は、必ずしも発明の実施に必須ではない。
上述したように、本発明の実施形態として、歩数計1(本発明の「第1装置」に相当する)の代替としては、携帯型ゲーム機、据置型ゲーム機、パーソナルコンピュータ、PDA、その他の情報処理装置であってもよい。なお、歩数計1の代替として、他の機器を用いる場合は、当該機器に設けられた入力手段からの入力に応じて、携帯端末(本発明の「第3装置」に相当する)との間でデータの送信または受信を行うようにし、送信または受信されるデータの内容を当該機器に設けられた表示手段に表示するようにしてもよい。
ゲーム装置2(本発明の「第2装置」に相当する)は、据置型ゲーム機に限らず、携帯型ゲーム機、パーソナルコンピュータ、PDA、その他の情報処理装置であってもよい。
携帯端末3(本発明の「第3装置」に相当する)は、以上の実施形態では、携帯型ゲーム機としたが、その代替としては、据置型ゲーム機、パーソナルコンピュータ、PDA、その他の情報処理装置であってもよい。
歩数計1のIr通信用回路118の通信手段(本発明の「第1近距離無線通信」に相当する)は、上記IrDA方式に限らず、レーザー方式、WPAN(Wireless Personal Area Network)、Bluetooth(登録商標)、ZigBee(登録商標)、Wibree(登録商標)、無線通信、または家庭内無線LANなど、赤外線以外の近距離無線を用いてもよい。ゲーム装置2、携帯端末3間の通信方式(本発明の「第2近距離無線通信」に相当する)を、以上の実施形態では、無線通信独自方式としたが、これに限らず、他の電波方式、たとえば、上記Ir通信用回路118の通信手段と同様の手段を用いてもよい。
携帯端末3(本発明の「第3装置」に相当する)は、以上では、データ統合処理プログラム37Dにより、分析・集計などのデータ処理を行い統合データ37Kを生成するとした。しかし、携帯端末3は、歩数計1から受信したデータをそのままゲーム装置2その他へ転送する形でもよい。
また、以上の図1、図4、図7、図9、図12の説明では、機能ごとに分離したブロックを用いて説明したが、実装上は、これらの機能のうち、いずれかが複数の機能が一体として構成してもよいし、一つのブロックを複数に分離して構成してもよい。ブロックとして記載した構成の役割分担は、その他の実施例が考えられる。たとえば、以上で示したプログラムごとに別のCPUを設けてもよいし、1または複数のCPUが各プログラムを同時または順次に実行してもよいし、複数のCPUが各プログラムを分担して実行してもよい。
携帯端末3のRAM370は、図10に記載したプログラム以外にさらに演算プログラム、ゲームプログラムを記憶して、CPUコア360がこれらを実行してもよい。CPUコア360が演算プログラムを実行すると、CPUコア360は、複数の歩数データを用いて所定の演算を実行する。たとえば、RAM370は、ユーザが歩いたことにより消費した総カロリー量を記憶する。CPUコア360がゲームプログラムを実行すると、このゲームプログラムは、演算結果をゲームに反映させるためのプログラムであり、たとえば、CPUコア360は、ユーザが歩くことが楽しくなるようなゲームを実行するのが好ましい。たとえば、月までの距離を歩数で割り算してあと何歩歩けばよいのかなどの宇宙旅行のゲームを実行したり、総合カロリー量をユーザごとに比較したりしてもよい。