(57)【特許請求の範囲】
【請求項１】
ユーザに呼吸動作の指示を行う呼吸指示装置のコンピュータを、
ユーザに指示する前記呼吸動作として、ユーザに呼気動作を指示する呼気期間およびユーザに吸気動作を指示する吸気期間を少なくとも設定する期間設定手段と、
前記呼気期間中において環状の経路を示す第１オブジェクトを拡大および当該第１オブジェクトを縮小の一方を行い、前記吸気期間中において当該第１オブジェクトを拡大および当該第１オブジェクトを縮小の他方を行う第１オブジェクト拡大縮小手段と、
前記呼気期間において当該呼気期間の開始から終了までの時間で第２オブジェクトを前記経路に沿って１周させ、前記吸気期間において当該吸気期間の開始から終了までの時間で当該第２オブジェクトを前記経路に沿って１周させる第２オブジェクト移動手段と、
前記第１オブジェクトおよび前記第２オブジェクトを表示装置に表示するオブジェクト表示手段として機能させる、呼吸指示プログラム。
【請求項２】
前記呼気期間において前記第２オブジェクトが移動する前記経路と、前記吸気期間において前記第２オブジェクトが移動する前記経路とを、異なる表示態様に設定する第１オブジェクト表示態様設定手段として、前記コンピュータをさらに機能させ、
前記オブジェクト表示手段は、前記第１オブジェクト表示態様設定手段が設定した表示態様に応じて前記第１オブジェクトを前記表示装置に表示する、請求項１に記載の呼吸指示プログラム。
【請求項３】
前記第１オブジェクト表示態様設定手段は、前記呼気期間において前記第２オブジェクトが移動する前記経路と、前記吸気期間において前記第２オブジェクトが移動する前記経路とを、異なる色に設定する、請求項２に記載の呼吸指示プログラム。
【請求項４】
前記第１オブジェクト表示態様設定手段は、前記呼気期間において前記第２オブジェクトが移動する前記経路と、前記吸気期間において前記第２オブジェクトが移動する前記経路とを、異なる線種に設定する、請求項２に記載の呼吸指示プログラム。
【請求項５】
前記第１オブジェクト表示態様設定手段は、前記環状の経路において前記第２オブジェクトが通過した部位の表示態様を、当該経路における次周の当該部位上を当該第２オブジェクトが移動する際にユーザに指示する呼吸動作に応じた表示態様に順次変化させて設定する、請求項２に記載の呼吸指示プログラム。
【請求項６】
前記環状の経路に対して、前記呼気期間において前記第２オブジェクトが移動する前記経路と前記吸気期間において前記第２オブジェクトが移動する前記経路との境界となる位置に、所定の標識を付与する標識付与手段として、前記コンピュータをさらに機能させ、
前記オブジェクト表示手段は、前記標識が付与された前記第１オブジェクトを前記表示装置に表示する、請求項１に記載の呼吸指示プログラム。
【請求項７】
前記呼気期間中に表示される前記第２オブジェクトと、前記吸気期間中に表示される前記第２オブジェクトとを、異なる表示態様に設定する第２オブジェクト表示態様設定手段として、前記コンピュータをさらに機能させ、
前記オブジェクト表示手段は、前記第２オブジェクト表示態様設定手段が設定した表示態様に応じて前記第２オブジェクトを前記表示装置に表示する、請求項１に記載の呼吸指示プログラム。
【請求項８】
前記第２オブジェクト表示態様設定手段は、前記呼気期間中に表示される前記第２オブジェクトと、前記吸気期間中に表示される前記第２オブジェクトとを、異なる色に設定する、請求項７に記載の呼吸指示プログラム。
【請求項９】
前記第２オブジェクト表示態様設定手段は、前記呼気期間中に表示される前記第２オブジェクトを吐く呼吸をしている表情に設定し、前記吸気期間中に表示される前記第２オブジェクトを吸う呼吸をしている表情に設定する、請求項７に記載の呼吸指示プログラム。
【請求項１０】
前記呼気期間中において前記第２オブジェクトを拡大および前記第２オブジェクトを縮小の一方を行い、前記吸気期間中において前記第２オブジェクトを拡大および前記第２オブジェクトを縮小の他方を行う第２オブジェクト拡大縮小手段として、前記コンピュータをさらに機能させる、請求項１に記載の呼吸指示プログラム。
【請求項１１】
ユーザから生体信号を取得する生体信号取得手段と、
前記生体信号取得手段が取得した生体信号を用いてユーザの呼吸周期を算出する呼吸周期算出手段として、さらに前記コンピュータを機能させ、
前記期間設定手段は、前記呼吸周期算出手段が算出した呼吸周期に基づいて、前記呼気期間および前記吸気期間を設定する、請求項１に記載の呼吸指示プログラム。
【請求項１２】
前記期間設定手段は、前記呼吸周期算出手段が算出した呼吸周期を所定割合変化させた周期になるように前記呼気期間および前記吸気期間を設定する、請求項１１に記載の呼吸指示プログラム。
【請求項１３】
前記第２オブジェクト移動手段は、前記呼気期間において当該呼気期間の開始から終了までの時間で前記第２オブジェクトを前記経路に沿って等角速度で１周させ、前記吸気期間において当該吸気期間の開始から終了までの時間で前記第２オブジェクトを前記経路に沿って等角速度で１周させる、請求項１に記載の呼吸指示プログラム。
【請求項１４】
前記第１オブジェクト拡大縮小手段は、前記呼気期間中において前記第１オブジェクトを拡大および前記第１オブジェクトを縮小の一方を正弦曲線に基づいて大きさが変化するように行い、前記吸気期間中において前記第１オブジェクトを拡大および前記第１オブジェクトを縮小の他方を正弦曲線に基づいて大きさが変化するように行う、請求項１または１３に記載の呼吸指示プログラム。
【請求項１５】
前記期間設定手段は、ユーザに指示する前記呼吸動作として、ユーザに止息動作を指示する止息期間をさらに設定し、
前記第１オブジェクト拡大縮小手段は、前記止息期間中において前記第１オブジェクトの大きさを一定に維持し、
前記第２オブジェクト移動手段は、前記止息期間において当該止息期間の開始から終了までの時間で前記第２オブジェクトを前記経路に沿って１周させる、請求項１に記載の呼吸指示プログラム。
【請求項１６】
前記第１オブジェクトは、円環形状の経路を示し、
前記第１オブジェクト拡大縮小手段は、前記円環の直径が伸長または短縮されるように前記経路を拡大または縮小して前記第１オブジェクトを拡大または縮小する、請求項１に記載の呼吸指示プログラム。
【請求項１７】
ユーザに呼吸動作の指示を行う呼吸指示装置であって、
ユーザに指示する前記呼吸動作として、ユーザに呼気動作を指示する呼気期間およびユーザに吸気動作を指示する吸気期間を少なくとも設定する期間設定手段と、
前記呼気期間中において環状の経路を示す第１オブジェクトを拡大および当該第１オブジェクトを縮小の一方を行い、前記吸気期間中において当該第１オブジェクトを拡大および当該第１オブジェクトを縮小の他方を行う第１オブジェクト拡大縮小手段と、
前記呼気期間において当該呼気期間の開始から終了までの時間で第２オブジェクトを前記経路に沿って１周させ、前記吸気期間において当該吸気期間の開始から終了までの時間で当該第２オブジェクトを前記経路に沿って１周させる第２オブジェクト移動手段と、
前記第１オブジェクトおよび前記第２オブジェクトを表示装置に表示するオブジェクト表示手段とを備える、呼吸指示装置。
【請求項１８】
複数の装置が通信可能に構成され、ユーザに呼吸動作の指示を行う呼吸指示システムであって、
ユーザに指示する前記呼吸動作として、ユーザに呼気動作を指示する呼気期間およびユーザに吸気動作を指示する吸気期間を少なくとも設定する期間設定手段と、
前記呼気期間中において環状の経路を示す第１オブジェクトを拡大および当該第１オブジェクトを縮小の一方を行い、前記吸気期間中において当該第１オブジェクトを拡大および当該第１オブジェクトを縮小の他方を行う第１オブジェクト拡大縮小手段と、
前記呼気期間において当該呼気期間の開始から終了までの時間で第２オブジェクトを前記経路に沿って１周させ、前記吸気期間において当該吸気期間の開始から終了までの時間で当該第２オブジェクトを前記経路に沿って１周させる第２オブジェクト移動手段と、
前記第１オブジェクトおよび前記第２オブジェクトを表示装置に表示するオブジェクト表示手段とを備える、呼吸指示システム。
【請求項１９】
ユーザに呼吸動作の指示を行う処理が可能な少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行される呼吸指示処理方法であって、
ユーザに指示する前記呼吸動作として、ユーザに呼気動作を指示する呼気期間およびユーザに吸気動作を指示する吸気期間を少なくとも設定する期間設定ステップと、
前記呼気期間中において環状の経路を示す第１オブジェクトを拡大および当該第１オブジェクトを縮小の一方を行い、前記吸気期間中において当該第１オブジェクトを拡大および当該第１オブジェクトを縮小の他方を行う第１オブジェクト拡大縮小ステップと、
前記呼気期間において当該呼気期間の開始から終了までの時間で第２オブジェクトを前記経路に沿って１周させ、前記吸気期間において当該吸気期間の開始から終了までの時間で当該第２オブジェクトを前記経路に沿って１周させる第２オブジェクト移動ステップと、
前記第１オブジェクトおよび前記第２オブジェクトを表示するオブジェクト表示ステップとを含む、呼吸指示処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、呼吸指示プログラム、呼吸指示装置、呼吸指示システム、および呼吸指示処理方法に関し、より特定的には、ユーザに対して呼吸をするべきタイミングを指示する呼吸指示プログラム、呼吸指示装置、呼吸指示システム、および呼吸指示処理方法に関する。
【背景技術】
【０００２】
従来、表示する円のサイズによって、ユーザに対して呼吸するべきタイミングを指示するゲーム装置がある（例えば、非特許文献１参照）。例えば、上記非特許文献１に記載されているゲーム装置では、円を徐々に小さく表示することによって吸気動作をユーザに促し、表示する円を徐々に大きく表示することによって呼気動作をユーザに促している。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】小田切英史編集、「わが家で健康！ＷｉｉＦｉｔオフィシャル徹底活用ブック」、株式会社主婦と生活社、ｐ．１８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記非特許文献１に記載されているゲーム装置では、ユーザが呼気動作および吸気動作を行うべきタイミングを、円を拡大／縮小する変化のみで表現している。したがって、ある時点において、残りどれくらいの時間吸うのか、またはどれくらいの時間吐くのかをユーザが認識できないために、吸気動作から呼気動作に切り替えるタイミングで呼吸が途切れたり、呼気動作から吸気動作に切り替えるタイミングで息が余ったりするなどして、呼吸を繰り返す動作がスムーズに行えないことがある。
【０００５】
それ故に、本発明の目的は、少なくとも呼気動作および／または吸気動作を促す期間が容易に認識可能となる呼吸指示プログラム、呼吸指示装置、呼吸指示システム、および呼吸指示処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
【０００７】
本発明の呼吸指示プログラムは、ユーザに呼吸動作の指示を行う呼吸指示装置のコンピュータを、期間設定手段、第１オブジェクト拡大縮小手段、第２オブジェクト移動手段、およびオブジェクト表示手段として機能させる。期間設定手段は、ユーザに指示する呼吸動作として、ユーザに呼気動作を指示する呼気期間およびユーザに吸気動作を指示する吸気期間を少なくとも設定する。第１オブジェクト拡大縮小手段は、呼気期間中において環状の経路を示す第１オブジェクトを拡大および当該第１オブジェクトを縮小の一方を行い、吸気期間中において当該第１オブジェクトを拡大および当該第１オブジェクトを縮小の他方を行う。第２オブジェクト移動手段は、呼気期間において当該呼気期間の開始から終了までの時間で第２オブジェクトを経路に沿って１周させ、吸気期間において当該吸気期間の開始から終了までの時間で当該第２オブジェクトを経路に沿って１周させる。オブジェクト表示手段は、第１オブジェクトおよび第２オブジェクトを表示装置に表示する。
【０００８】
上記によれば、第１オブジェクトの拡大または縮小する変化と、第２オブジェクトが当該第１オブジェクトの経路に沿って周回移動する位置によって、少なくとも呼気動作および／または吸気動作をユーザに促す期間が容易に認識可能となる。
【０００９】
また、上記呼吸指示プログラムは、第１オブジェクト表示態様設定手段として、コンピュータをさらに機能させてもよい。第１オブジェクト表示態様設定手段は、呼気期間において第２オブジェクトが移動する経路と、吸気期間において第２オブジェクトが移動する経路とを、異なる表示態様に設定する。この場合、オブジェクト表示手段は、第１オブジェクト表示態様設定手段が設定した表示態様に応じて第１オブジェクトを表示装置に表示してもよい。
【００１０】
また、上記第１オブジェクト表示態様設定手段は、呼気期間において第２オブジェクトが移動する経路と、吸気期間において第２オブジェクトが移動する経路とを、異なる色に設定してもよい。
【００１１】
また、上記第１オブジェクト表示態様設定手段は、呼気期間において第２オブジェクトが移動する経路と、吸気期間において第２オブジェクトが移動する経路とを、異なる線種に設定してもよい。
【００１２】
上記によれば、第２オブジェクトが移動する前方の経路の表示態様によって、予定されている呼気期間および吸気期間の長さや期間が切り換わるタイミングが把握できるため、予め呼吸動作の準備が可能となる。
【００１３】
また、上記第１オブジェクト表示態様設定手段は、環状の経路において第２オブジェクトが通過した部位の表示態様を、当該経路における次周の当該部位上を当該第２オブジェクトが移動する際にユーザに指示する呼吸動作に応じた表示態様に順次変化させて設定してもよい。
【００１４】
上記によれば、第２オブジェクトが環状の経路の次周で移動する際に到来する呼気期間および吸気期間の内訳が把握できるため、予め呼吸動作の準備が可能となる。また、第２オブジェクトが経路を１周する毎に呼吸動作を示す期間（例えば、呼気期間、吸気期間）が切り換わるため、経路において第２オブジェクトが通過することによって表示態様が変化した部位は、現時点において指示されている呼気期間または吸気期間が既に経過した時間（経過割合）を示す指標として用いることもできる。
【００１５】
また、上記呼吸指示プログラムは、標識付与手段として、コンピュータをさらに機能させてもよい。標識付与手段は、環状の経路に対して、呼気期間において第２オブジェクトが移動する経路と吸気期間において第２オブジェクトが移動する経路との境界となる位置に、所定の標識を付与する。この場合、オブジェクト表示手段は、標識が付与された第１オブジェクトを表示装置に表示してもよい。
【００１６】
上記によれば、第２オブジェクトが移動する前方の経路に付された標識によって、予定されている呼気期間および吸気期間の長さや期間が切り換わるタイミングが把握できるため、予め呼吸動作の準備が可能となる。
【００１７】
また、上記呼吸指示プログラムは、第２オブジェクト表示態様設定手段として、コンピュータをさらに機能させてもよい。第２オブジェクト表示態様設定手段は、呼気期間中に表示される第２オブジェクトと、吸気期間中に表示される第２オブジェクトとを、異なる表示態様に設定する。この場合、オブジェクト表示手段は、第２オブジェクト表示態様設定手段が設定した表示態様に応じて第２オブジェクトを表示装置に表示してもよい。
【００１８】
また、上記第２オブジェクト表示態様設定手段は、呼気期間中に表示される第２オブジェクトと、吸気期間中に表示される第２オブジェクトとを、異なる色に設定してもよい。
【００１９】
また、上記第２オブジェクト表示態様設定手段は、呼気期間中に表示される第２オブジェクトを吐く呼吸をしている表情に設定し、吸気期間中に表示される第２オブジェクトを吸う呼吸をしている表情に設定してもよい。
【００２０】
上記によれば、ユーザに指示する呼吸動作に応じて第２オブジェクトの表示態様を変化させることによって、さらに指示された呼吸動作が容易に認識可能となる。
【００２１】
また、上記呼吸指示プログラムは、第２オブジェクト拡大縮小手段として、コンピュータをさらに機能させてもよい。第２オブジェクト拡大縮小手段は、上記呼気期間中において第２オブジェクトを拡大および第２オブジェクトを縮小の一方を行い、吸気期間中において第２オブジェクトを拡大および第２オブジェクトを縮小の他方を行う。
【００２２】
上記によれば、ユーザに指示する呼吸動作に応じて第２オブジェクトも拡大または縮小して表示することによって、さらに指示された呼吸動作が容易に認識可能となる。
【００２３】
また、上記呼吸指示プログラムは、生体信号取得手段および呼吸周期算出手段として、さらにコンピュータを機能させてもよい。生体信号取得手段は、ユーザから生体信号を取得する。呼吸周期算出手段は、生体信号取得手段が取得した生体信号を用いてユーザの呼吸周期を算出する。この場合、期間設定手段は、呼吸周期算出手段が算出した呼吸周期に基づいて、呼気期間および吸気期間を設定してもかまわない。
【００２４】
上記によれば、予め定められた呼吸周期に基づいた固定的な呼吸動作の指示ではなく、現時点のユーザの呼吸状態に基づいた呼吸動作の指示が可能となる。
【００２５】
また、上記期間設定手段は、呼吸周期算出手段が算出した呼吸周期を所定割合変化させた周期になるように呼気期間および吸気期間を設定してもよい。
【００２６】
上記によれば、ユーザの呼吸周期を徐々に遅くするように促したり、ユーザの呼吸周期を徐々に速くするように促したりすることができる。
【００２７】
また、上記第２オブジェクト移動手段は、呼気期間において当該呼気期間の開始から終了までの時間で第２オブジェクトを経路に沿って等角速度で１周させ、吸気期間において当該吸気期間の開始から終了までの時間で第２オブジェクトを経路に沿って等角速度で１周させてもよい。
【００２８】
上記によれば、第２オブジェクトが等角速度で環状の経路を１周するため、現時点で指示されている呼気期間や吸気期間の残存時間や期間が切り換わるタイミングの把握が容易となる。
【００２９】
また、上記第１オブジェクト拡大縮小手段は、呼気期間中において第１オブジェクトを拡大および第１オブジェクトを縮小の一方を正弦曲線に基づいて大きさが変化するように行い、吸気期間中において第１オブジェクトを拡大および第１オブジェクトを縮小の他方を正弦曲線に基づいて大きさが変化するように行ってもよい。
【００３０】
上記によれば、第１オブジェクトが正弦曲線に基づいて拡大または縮小することによって、人体の肺の膨らみや萎みや風船を膨らます際の膨らみや萎み等をユーザにイメージさせることができる。
【００３１】
また、上記期間設定手段は、ユーザに指示する呼吸動作として、ユーザに止息動作を指示する止息期間をさらに設定してもよい。第１オブジェクト拡大縮小手段は、止息期間中において第１オブジェクトの大きさを一定に維持してもよい。第２オブジェクト移動手段は、止息期間において当該止息期間の開始から終了までの時間で第２オブジェクトを経路に沿って１周させてもよい。
【００３２】
上記によれば、一時的に呼吸動作を止める止息動作もユーザにさらに指示することができ、当該止息動作をユーザに促す期間も容易に認識可能となる。
【００３３】
また、上記第１オブジェクトは、円環形状の経路を示してもよい。この場合、第１オブジェクト拡大縮小手段は、円環の直径が伸長または短縮されるように経路を拡大または縮小して第１オブジェクトを拡大または縮小してもよい。
【００３４】
上記によれば、第２オブジェクトが円環形状の経路に沿って移動するため、現時点で指示されている呼気期間や吸気期間の残存時間や期間が切り換わるタイミングの把握が容易となる。
【００３５】
また、本発明は、上記各手段を備える呼吸指示装置および呼吸指示システムや上記各手段で行われる動作を含む呼吸指示処理方法の形態で実施されてもよい。
【発明の効果】
【００３６】
本発明によれば、第１オブジェクトの拡大または縮小する変化と、第２オブジェクトが当該第１オブジェクトの経路に沿って周回移動する位置によって、少なくとも呼気動作および／または吸気動作をユーザに促す期間が容易に認識可能となる。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態に係るゲームシステム１の一例を示す外観図
【図２】図１のゲーム装置本体５の一例を示すブロック図
【図３】図１のコアユニット７０の上面後方から見た一例を示す斜視図
【図４】図３のコアユニット７０を下面前方から見た一例を示す斜視図
【図５】図３のコアユニット７０の上筐体を外した状態の一例を示す斜視図
【図６】図４のコアユニット７０の下筐体を外した状態の一例を示す斜視図
【図７】図３のコアユニット７０の構成の一例を示すブロック図
【図８】バイタルセンサ７６の構成の一例を示すブロック図
【図９】バイタルセンサ７６から出力される生体信号の一例である脈波信号の例を示す図
【図１０】モニタ２に表示されるゲーム画像の一例を示す図
【図１１】モニタ２に表示されるゲーム画像の一例を示す図
【図１２Ａ】ユーザに吸気動作を促すためにモニタ２に表示される呼吸指示画像の一例を示す図
【図１２Ｂ】ユーザに吸気動作を促すためにモニタ２に表示される呼吸指示画像の一例を示す図
【図１２Ｃ】ユーザに吸気動作を促すためにモニタ２に表示される呼吸指示画像の一例を示す図
【図１３Ａ】ユーザに呼気動作を促すためにモニタ２に表示される呼吸指示画像の一例を示す図
【図１３Ｂ】ユーザに呼気動作を促すためにモニタ２に表示される呼吸指示画像の一例を示す図
【図１３Ｃ】ユーザに呼気動作を促すためにモニタ２に表示される呼吸指示画像の一例を示す図
【図１４】ゲーム装置本体５のメインメモリに記憶される主なデータおよびプログラムの一例を示す図
【図１５】ゲーム装置本体５において実行されるメイン処理の一例を示すフローチャート
【図１６】図１５のステップ５２に示すプレイヤキャラクタ処理の詳細な処理の一例を示すサブルーチン
【図１７】ユーザに止息動作を促すためにモニタ２に表示される呼吸指示画像の一例を示す図
【発明を実施するための形態】
【００３８】
図１を参照して、本発明の一実施形態に係る呼吸指示プログラムを実行する装置について説明する。以下、説明を具体的にするために、当該装置の一例である据置型のゲーム装置本体５を含むゲームシステムを用いて説明する。なお、図１は据置型のゲーム装置３を含むゲームシステム１の一例を示す外観図であり、図２はゲーム装置本体５の一例を示すブロック図である。以下、当該ゲームシステム１について説明する。
【００３９】
図１において、ゲームシステム１は、表示手段の一例の家庭用テレビジョン受像機（以下、モニタと記載する）２と、当該モニタ２に接続コードを介して接続する据置型のゲーム装置３とから構成される。モニタ２は、ゲーム装置３から出力された音声信号を音声出力するためのスピーカ２ａを備える。また、ゲーム装置３は、上記呼吸指示プログラムを記録した光ディスク４と、当該光ディスク４の呼吸指示プログラムを実行して呼吸指示画面をモニタ２に表示出力させるためのコンピュータを搭載したゲーム装置本体５と、モニタ２に表示されたキャラクタ等を操作するゲームに必要な操作情報をゲーム装置本体５に与えるためのコントローラ７とを備えている。
【００４０】
ゲーム装置本体５は、無線コントローラモジュール１９（図２参照）を内蔵する。無線コントローラモジュール１９は、コントローラ７から無線送信されるデータを受信し、ゲーム装置本体５からコントローラ７へデータを送信して、コントローラ７とゲーム装置本体５とを無線通信によって接続する。さらに、ゲーム装置本体５には、当該ゲーム装置本体５に対して交換可能に用いられる情報記憶媒体の一例の光ディスク４が脱着される。
【００４１】
ゲーム装置本体５には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ１７（図２参照）が搭載される。ゲーム装置本体５は、光ディスク４に記憶された呼吸指示プログラムやゲームプログラム等を実行することによって、その結果を呼吸指示画像やゲーム画像としてモニタ２に表示する。また、上記呼吸指示プログラムやゲームプログラムは、光ディスク４に限らず、フラッシュメモリ１７に予め記録されたものを実行するようにしてもよい。さらに、ゲーム装置本体５は、フラッシュメモリ１７に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ２に表示することもできる。そして、ゲーム装置３のユーザは、モニタ２に表示された呼吸指示画像を見ながらユーザ自身の呼吸動作が促され、モニタ２に表示されたゲーム画像を見ながらコントローラ７を操作することによって、ゲーム進行を楽しむことができる。
【００４２】
コントローラ７は、無線コントローラモジュール１９を内蔵するゲーム装置本体５へ、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて操作情報および生体信号等の送信データを無線送信する。コントローラ７は、コアユニット７０およびバイタルセンサ７６を備えており、コアユニット７０およびバイタルセンサ７６が屈曲自在な接続ケーブル７９を介して互いに接続されて構成されている。コアユニット７０は、主にモニタ２の表示画面に表示されるオブジェクト等を操作するための操作手段である。バイタルセンサ７６は、ユーザの身体（例えば、指）に装着されてユーザの生体信号を取得し、接続ケーブル７９を介してコアユニット７０へ生体信号を送る。コアユニット７０は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン（十字キーやスティック等を含む）とが設けられている。また、後述により明らかとなるが、コアユニット７０は、当該コアユニット７０から見た画像を撮像する撮像情報演算部７４を備えている。また、撮像情報演算部７４の撮像対象の一例として、モニタ２の表示画面近傍に２つのＬＥＤモジュール（以下、マーカと記載する）８Ｌおよび８Ｒが設置される。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって例えば赤外光を出力する。また、コントローラ７（例えば、コアユニット７０）は、ゲーム装置本体５の無線コントローラモジュール１９から無線送信された送信データを通信部７５で受信して、当該送信データに応じた音や振動を発生させることもできる。
【００４３】
なお、本実施例では、コアユニット７０とバイタルセンサ７６とを屈曲自在な接続ケーブル７９で接続したが、バイタルセンサ７６に無線ユニットを搭載することで、接続ケーブル７９をなくすこともできる。例えば、無線ユニットとしてＢｌｕｅｔｏｏｔｈユニットをバイタルセンサ７６に搭載することで、バイタルセンサ７６からコアユニット７０やゲーム装置本体５へ生体信号を送信することが可能になる。また、コアユニット７０にバイタルセンサ７６を固定して設けることによって、コアユニット７０とバイタルセンサ７６とを一体構成してもかまわない。この場合、ユーザは、コアユニット７０一体でバイタルセンサ７６を扱うことができる。
【００４４】
次に、図２を参照して、ゲーム装置本体５の内部構成について説明する。図２は、ゲーム装置本体５の構成を示すブロック図である。ゲーム装置本体５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、システムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ／Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１３、ディスクドライブ１４、およびＡＶ−ＩＣ（Ａｕｄｉｏ  Ｖｉｄｅｏ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１５等を有する。
【００４５】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラム（呼吸指示プログラム）を実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムＬＳＩ１１の内部構成については、後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出された呼吸指示プログラムおよびゲームプログラムや、フラッシュメモリ１７から読み出された呼吸指示プログラムおよびゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置本体５の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ３５または外部メインメモリ１２に読み出したデータを書き込む。
【００４６】
また、システムＬＳＩ１１には、入出力プロセッサ３１、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）３２、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３３、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３４、および内部メインメモリ３５が設けられる。図示は省略するが、これらの構成要素３１〜３５は、内部バスによって互いに接続される。
【００４７】
ＧＰＵ３２は、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）にしたがってって画像を生成する。ＶＲＡＭ３４は、ＧＰＵ３２がグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ３２は、ＶＲＡＭ３４に記憶されたデータを用いて画像データを作成する。
【００４８】
ＤＳＰ３３は、オーディオプロセッサとして機能し、内部メインメモリ３５や外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。
【００４９】
上述のように生成された画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、ＡＶコネクタ１６を介して、読み出した画像データをモニタ２に出力するとともに、読み出した音声データをモニタ２に内蔵されるスピーカ２ａに出力する。これによって、画像がモニタ２に表示されるとともに音がスピーカ２ａから出力される。
【００５０】
入出力プロセッサ（Ｉ／Ｏプロセッサ）３１は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ３１は、フラッシュメモリ１７、無線通信モジュール１８、無線コントローラモジュール１９、拡張コネクタ２０、および外部メモリカード用コネクタ２１に接続される。無線通信モジュール１８にはアンテナ２２が接続され、無線コントローラモジュール１９にはアンテナ２３が接続される。
【００５１】
入出力プロセッサ３１は、無線通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ３１は、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データがある場合には、無線通信モジュール１８およびアンテナ２２を介して当該データをネットワークに送信する。また、入出力プロセッサ３１は、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２、および無線通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０は、呼吸指示プログラムおよびゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出して呼吸指示プログラムおよびゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置本体５と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置本体５を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。
【００５２】
また、入出力プロセッサ３１は、アンテナ２３および無線コントローラモジュール１９を介して、コントローラ７から送信される操作データ等を受信し、内部メインメモリ３５または外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。なお、内部メインメモリ３５には、外部メインメモリ１２と同様に、光ディスク４から読み出された呼吸指示プログラムおよびゲームプログラムや、フラッシュメモリ１７から読み出された呼吸指示プログラムおよびゲームプログラム等のプログラムを記憶したり、各種データを記憶したりしてもよく、ＣＰＵ１０のワーク領域やバッファ領域として用いられてもかまわない。
【００５３】
さらに、入出力プロセッサ３１には、拡張コネクタ２０および外部メモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。外部メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ３１は、拡張コネクタ２０や外部メモリカード用コネクタ２１を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００５４】
また、ゲーム装置本体５（例えば、前部主面）には、当該ゲーム装置本体５の電源ボタン２４、ゲーム処理のリセットボタン２５、光ディスク４を脱着する投入口、およびゲーム装置本体５の投入口から光ディスク４を取り出すイジェクトボタン２６等が設けられている。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンされると、ゲーム装置本体５の各構成要素に対して、図示しないＡＣアダプタを介して電力が供給される。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置本体５の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００５５】
図３および図４を参照して、コアユニット７０について説明する。なお、図３は、コアユニット７０の上面後方から見た一例を示す斜視図である。図４は、コアユニット７０を下面前方から見た一例を示す斜視図である。
【００５６】
図３および図４において、コアユニット７０は、例えばプラスチック成型によって形成されたハウジング７１を有しており、当該ハウジング７１に複数の操作部７２が設けられている。ハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００５７】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。ユーザが十字キー７２ａのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばユーザが十字キー７２ａを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【００５８】
なお、十字キー７２ａは、上述したユーザの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に４つのプッシュスイッチを配設し、ユーザによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記４つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、４つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティック（いわゆる、ジョイスティック）を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、十字キー７２ａの代わりに設けてもかまわない。
【００５９】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、ユーザがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ａ〜７２ｇは、ゲーム装置本体５が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、ユーザが不意に誤って押下することのないタイプのボタンである。
【００６０】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置本体５の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、ユーザが不意に誤って押下することのないタイプのボタンである。
【００６１】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コアユニット７０は、他のコントローラと区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コアユニット７０に現在設定されている上記コントローラ種別をユーザに通知するために用いられる。具体的には、無線コントローラモジュール１９からコアユニット７０へ、複数のＬＥＤ７０２のうち、上記コントローラ種別に対応するＬＥＤを点灯させるための信号が送信される。
【００６２】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図５に示すスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００６３】
一方、ハウジング７１下面には、凹部が形成されている。ハウジング７１下面の凹部は、ユーザがコアユニット７０の前面をマーカ８Ｌおよび８Ｒに向けて片手で把持したときに、当該ユーザの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００６４】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コアユニット７０が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコアユニット７０の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７１の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００６５】
次に、図５および図６を参照して、コアユニット７０の内部構造について説明する。なお、図５は、コアユニット７０の上筐体（ハウジング７１の一部）を外した状態を後面側から見た一例を示す斜視図である。図６は、コアユニット７０の下筐体（ハウジング７１の一部）を外した状態を前面側から見た一例を示す斜視図である。ここで、図６に示す基板７００は、図５に示す基板７００の裏面から見た斜視図となっている。
【００６６】
図５において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１等（図６、図７参照）に接続される。また、無線モジュール７５３（図７参照）およびアンテナ７５４によって、コアユニット７０がワイヤレスコントローラとして機能する。なお、ハウジング７１内部には図示しない水晶振動子が設けられており、後述するマイコン７５１の基本クロックを生成する。また、基板７００の上主面上に、スピーカ７０６およびアンプ７０８が設けられる。また、加速度センサ７０１は、操作ボタン７２ｄの左側の基板７００上（つまり、基板７００の中央部ではなく周辺部）に設けられる。したがって、加速度センサ７０１は、コアユニット７０の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分が含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコアユニット７０の動きを良好な感度でゲーム装置本体５等が判定することができる。
【００６７】
一方、図６において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コアユニット７０の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられる。さらに、基板７００の下主面上にサウンドＩＣ７０７およびマイコン７５１が設けられている。サウンドＩＣ７０７は、基板７００等に形成された配線によってマイコン７５１およびアンプ７０８と接続され、ゲーム装置本体５から送信されたサウンドデータに応じてアンプ７０８を介してスピーカ７０６に音声信号を出力する。
【００６８】
そして、基板７００の下主面上には、バイブレータ７０４が取り付けられる。バイブレータ７０４は、例えば振動モータやソレノイドである。バイブレータ７０４は、基板７００等に形成された配線によってマイコン７５１と接続され、ゲーム装置本体５から送信された振動データに応じてその作動をオン／オフする。バイブレータ７０４が作動することによってコアユニット７０に振動が発生するので、それを把持しているユーザの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ７０４は、ハウジング７１のやや前方寄りに配置されるため、ユーザが把持している状態において、ハウジング７１が大きく振動することになり、振動を感じやすくなる。
【００６９】
次に、図７を参照して、コントローラ７の内部構成について説明する。なお、図７は、コントローラ７の構成の一例を示すブロック図である。
【００７０】
図７において、コアユニット７０は、上述した操作部７２、撮像情報演算部７４、加速度センサ７０１、バイブレータ７０４、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８の他に、その内部に通信部７５を備えている。また、バイタルセンサ７６は、接続ケーブル７９とコネクタ７９１および７３とを介して、マイコン７５１と接続される。
【００７１】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コアユニット７０の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コアユニット７０のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。
【００７２】
撮像情報演算部７４から出力される処理結果データは、コアユニット７０で指し示す位置等を示す操作データとして用いることもできる。例えば、ユーザは、コアユニット７０の前面（撮像情報演算部７４が撮像する光の入射口側）がモニタ２に向くようにコアユニット７０を把持する。一方、モニタ２の表示画面近傍には、２つのマーカ８Ｌおよび８Ｒが設置されている。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって赤外光を出力し、撮像情報演算部７４の撮像対象になる。そして、ゲーム装置本体５は、２つのマーカ８Ｌおよび８Ｒによる高輝度点に関する位置データを用いてコアユニット７０が指し示している位置を算出する。
【００７３】
コアユニット７０は、３軸の加速度センサ７０１を備えていることが好ましい。この３軸の加速度センサ７０１は、３方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、少なくとも１軸方向に沿った直線加速度を検知する加速度検出手段を使用してもよい。例えば、これらの加速度センサ７０１は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能であるタイプのものでもよい。加速度センサ７０１は、シリコン微細加工されたＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ：微小電子機械システム）の技術に基づいた静電容量式（静電容量結合式）であることが好ましい。しかしながら、既存の加速度検出手段の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて、加速度センサ７０１が提供されてもよい。
【００７４】
加速度センサ７０１に用いられるような加速度検出手段は、加速度センサ７０１の持つ各軸に対応する直線に沿った加速度（直線加速度）のみを検知することができる。つまり、加速度センサ７０１からの直接の出力は、それら３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ７０１は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。しかしながら、加速度センサ７０１から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ（例えばＣＰＵ１０）またはコントローラのプロセッサ（例えばマイコン７５１）等のコンピュータが処理を行うことによって、コアユニット７０に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば容易に理解できるであろう。
【００７５】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置本体５からのデータに応じて、サウンドＩＣ７０７およびバイブレータ（図示せず）の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置本体５から送信されたサウンドデータ等を処理する。また、マイコン７５１は、通信部７５を介してゲーム装置本体５から送信された振動データ（例えば、バイブレータをＯＮまたはＯＦＦする信号）等に応じて、バイブレータを作動させる。
【００７６】
コアユニット７０に設けられた操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの３軸方向の加速度信号（Ｘ、Ｙ、およびＺ軸方向加速度データ）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。また、接続ケーブル７９を介して、バイタルセンサ７６からの生体信号（生体信号データ）は、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、処理結果データ、生体信号データ）を無線コントローラモジュール１９へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から無線コントローラモジュール１９への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥースで構成される通信部７５の送信間隔は５ｍｓである。マイコン７５１は、無線コントローラモジュール１９への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばブルートゥースの技術を用いて、操作情報を示す電波信号を所定周波数の搬送波を用いてアンテナ７５４から放射する。つまり、コアユニット７０に設けられた操作部７２からのキーデータと、加速度センサ７０１からのＸ、Ｙ、およびＺ軸方向加速度データと、撮像情報演算部７４からの処理結果データと、バイタルセンサ７６からの生体信号データとがコアユニット７０から送信される。そして、ゲーム装置本体５の無線コントローラモジュール１９でその電波信号を受信し、ゲーム装置本体５で当該電波信号を復調や復号することによって、一連の操作情報（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、処理結果データ、生体信号データ）を取得する。そして、ゲーム装置本体５のＣＰＵ１０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥースの技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００７７】
次に、図８および図９を参照して、バイタルセンサ７６について説明する。なお、図８は、バイタルセンサ７６の構成の一例を示すブロック図である。図９は、バイタルセンサ７６から出力される生体信号の一例である脈波信号の例を示す図である。
【００７８】
図８において、バイタルセンサ７６は、制御部７６１、発光部７６２、および受光部７６３を備えている。
【００７９】
発光部７６２および受光部７６３は、ユーザの生体信号を得るセンサの一例であり、透過型指尖容積脈波センサを構成する。発光部７６２は、例えば赤外線ＬＥＤで構成され、所定波長（例えば、９４０ｎｍ）の赤外線を受光部７６３に向けて照射する。一方、受光部７６３は、発光部７６２が照射する波長に応じて照射される光を受光し、例えば赤外線フォトレジスタで構成される。そして、発光部７６２と受光部７６３とは、所定の間隙（空洞）を介して配置されている。
【００８０】
ここで、人体の血液中に存在するヘモグロビンは、赤外線を吸光する性質をもっている。例えば、上述した発光部７６２および受光部７６３間の間隙にユーザの身体の一部（例えば、指先）を挿入する。これによって、発光部７６２から照射された赤外線は、挿入した指先内に存在するヘモグロビンで吸光された後、受光部７６３で受光される。一方、人体の動脈は、脈拍動しているため、当該脈拍動に応じて動脈の太さ（血流量）が変化する。したがって、挿入した指先内の動脈も同様の脈拍動が生じており、当該脈拍動に応じて血流量が変化するため、当該血流量に応じて吸光される赤外線の量も変化する。具体的には、挿入した指先内の血流量が多い場合、ヘモグロビンで吸光される量も増加するために受光部７６３で受光する赤外線の光量が相対的に少なくなる。一方、挿入した指先内の血流量が少ない場合、ヘモグロビンで吸光される量も減少するために受光部７６３で受光する赤外線の光量が相対的に多くなる。発光部７６２および受光部７６３は、このような動作原理を利用し、受光部７６３で受光する赤外線の光量を光電信号に変換することによって、人体の脈拍動（以下、脈波と記載する）を検出している。例えば、図９に示すように、挿入した指先内の血流量が増加した場合に受光部７６３の検出値（例えば、受光部７６３が受光した際の光電電圧）が上昇し、挿入した指先内の血流量が減少した場合に受光部７６３の検出値が下降する。このように、受光部７６３の検出値が脈動する脈波部分が、脈波信号として生成される。なお、受光部７６３の回路構成によって、挿入した指先内の血流量が増加した場合に受光部７６３の検出値が下降し、挿入した指先内の血流量が減少した場合に受光部７６３の検出値が上昇するような脈波信号を生成してもかまわない。
【００８１】
制御部７６１は、例えばＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）で構成される。制御部７６１は、発光部７６２から照射される赤外線の光量を制御する。また、制御部７６１は、受光部７６３から出力された光電信号（脈波信号）をＡ／Ｄ変換して脈波データ（生体信号データ）を生成する。そして、制御部７６１は、接続ケーブル７９を介して、脈波データ（生体信号データ）をコアユニット７０へ出力する。
【００８２】
ゲーム装置本体５では、バイタルセンサ７６から得られた脈波データを分析することによって、バイタルセンサ７６を使用しているユーザの生体信号を検出して、様々なユーザの生体指標を検出／算出することができる。第１の生体指標の例として、ゲーム装置本体５では、バイタルセンサ７６から得られた脈波データが示す脈波の起伏によって、ユーザの拍タイミング（例えば、心収縮するタイミングであり、厳密にはバイタルセンサ７６を着用している部位の血管が収縮または膨張するタイミング）を検出することができる。具体的には、ゲーム装置本体５は、バイタルセンサ７６から得られた脈波データが示す脈波が極小値を示すタイミング、極大値を示すタイミング、血管が収縮する速度が最大となるタイミング、血管が膨張する速度が最大となるタイミング、血管膨張速度の加速率が最大となるタイミング、または血管膨張速度の減速率が最大となるタイミング等を、ユーザの拍タイミングとして検出することができる。なお、血管膨張速度の加速率が最大となるタイミングまたは血管膨張速度の減速率が最大となるタイミングを用いてユーザの拍タイミングとして検出する場合、血管が膨張または収縮する速度を微分したパラメータ、すなわち血管が膨張する加速度が最大または血管が収縮する加速度が最大となるタイミングをユーザの拍タイミングとして検出してもかまわない。
【００８３】
第２の生体指標の例として、脈波データが示す脈波から検出されたユーザの拍タイミングを用いて、心拍数ＨＲを算出することができる。例えば、６０秒を拍タイミングの間隔の周期で除算した値を、バイタルセンサ７６を使用しているユーザの心拍数ＨＲとして算出することができる。具体的には、脈波が極小値を示すタイミングを拍タイミングとする場合、当該極小値間の心拍間隔（図９に示すＲ−Ｒ間隔）で、６０秒を除算することによって心拍数ＨＲを算出することができる。
【００８４】
第３の生体指標の例として、心拍数ＨＲが上昇／下降する周期を用いてユーザの呼気動作／吸気動作を検出し、ユーザの呼吸周期を算出することができる。具体的には、本実施形態が算出している心拍数ＨＲは、上昇中であればユーザが吸う呼吸をしており、下降中であればユーザが吐く呼吸をしていると判断することができる。そして、心拍数ＨＲが上昇／下降する周期（ゆらぎ周期）を算出することによって、ユーザが呼吸している周期（呼吸周期）を算出することができる。
【００８５】
第４の生体指標の例として、バイタルセンサ７６から得られた脈波データが示す脈波の振幅ＰＡ（例えば、脈波の極大値から次の極小値まで高さの差；図９参照）を用いて、ユーザの苦楽度を判断することができる。具体的には、脈波振幅ＰＡが縮小した場合、ユーザが苦しい状態にあると判断することができる。
【００８６】
第５の生体指標の例として、脈波信号から得られる脈波面積ＰＷＡ（図９参照）を心拍数ＨＲで除算することによって、ユーザの血流量を得ることができる。
【００８７】
第６の生体指標の例として、脈波データが示す脈波から検出されたユーザの拍タイミングの間隔（心拍間隔；例えば、図９に示すＲ−Ｒ間隔）を用いて、ユーザの心拍変動係数（ＣＶＲＲ：ｃｏｅｆｆｉｃｉｅｎｔ  ｏｆ  ｖａｒｉａｎｃｅ  ｏｆ  Ｒ−Ｒ  ｉｎｔｅｒｖａｌ）を算出することができる。例えば、心拍変動係数は、バイタルセンサ７６から得られる脈波が示す過去１００拍における心拍間隔を用いて算出される。具体的には、
心拍変動係数＝（１００拍分の心拍間隔の標準偏差／１００拍分の心拍間隔の平均値）×１００
で算出される。そして、心拍変動係数を用いて、ユーザの自律神経量（例えば、副交感神経の活動度）を算出することができる。
【００８８】
次に、ゲーム装置本体５が行う具体的な処理を説明する前に、図１０〜図１３を用いてゲーム装置本体５で行う呼吸指示処理およびゲーム処理の概要について説明する。なお、図１０および図１１は、それぞれモニタ２に表示されるゲーム画像の一例を示す図である。図１２および図１３は、それぞれモニタ２に表示される呼吸指示画像の一例を示す図である。
【００８９】
図１０および図１１において、モニタ２には、障害物（天井Ｔ、地面Ｂ）とプレイヤキャラクタＰＣが配置された仮想ゲーム世界が表現される。そして、モニタ２には、ユーザに呼吸動作を促すための呼吸指示画像として、第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２が表示されている。
【００９０】
プレイヤキャラクタＰＣは、ユーザの生体信号（生体指標）に基づいて動作する。プレイヤキャラクタＰＣは、仮想ゲーム世界内において、例えば左から右へスクロールして移動する天井Ｔと地面Ｂとが障害物となった天井Ｔと地面Ｂとの間の空間（例えば、洞窟内）を飛行することが求められる。プレイヤキャラクタＰＣは、天井Ｔの高さを上限として上昇することができ、地面Ｂの高さを下限として下降することができる。ここで、プレイヤキャラクタＰＣは、ユーザの呼吸動作に応じて昇降する。例えば、プレイヤキャラクタＰＣは、ユーザが吸う呼吸をした場合（吸気動作をした場合）に上昇し、ユーザが吐く呼吸をした場合（呼気動作をした場合）に下降する。本実施形態においては、上記生体信号（脈波信号）を用いてユーザの心拍数ＨＲを算出し、心拍数ＨＲが上昇中であればユーザが吸気動作をしていると判断し、心拍数ＨＲが下降中であればユーザが呼気動作をしていると判断する。心拍数ＨＲは、６０秒間の鼓動回数で示されるが、本実施形態においては心拍間隔（Ｒ−Ｒ間隔；例えば、脈波の極小値から次の極小値までの時間；図９参照）で、６０秒を除算することによって算出している。
【００９１】
また、天井Ｔおよび地面Ｂの起伏は、ユーザに促す呼吸周期に基づいて算出される。例えば、本実施形態では、ユーザの呼吸周期が徐々に変化（例えば、遅く）するように設定され、設定された呼吸周期に応じて天井Ｔおよび地面Ｂの起伏が生成される。そして、天井Ｔや地面ＢとプレイヤキャラクタＰＣとが接触した場合、ゲームの得点が減じられる。つまり、ゲームで高得点を得るためには、天井Ｔや地面Ｂの起伏に合わせてプレイヤキャラクタＰＣを昇降させることによって天井Ｔおよび地面Ｂの起伏周期で呼吸するような呼吸動作、すなわちユーザ自身の呼吸周期を徐々に変化させるような呼吸が要求されることになる。
【００９２】
一方、ユーザが促される呼気動作／吸気動作のタイミングは、第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２（呼吸指示画像）によって示される。例えば、第２オブジェクトＯＢＪ２は、輪状に表示されている第１オブジェクトＯＢＪ１に沿って移動し、その表情や色によって現時点が呼気動作をする期間（図１０の状態）なのか吸気動作をする期間（図１１の状態）なのかを示す。一方、第１オブジェクトＯＢＪ１は、第２オブジェクトＯＢＪ２が移動するための例えば円環経路として表示されており、当該経路の表示態様によってユーザに呼気を促す期間（呼気期間）とユーザに吸気を促す期間（吸気期間）とを示している。
【００９３】
図１２Ａ〜図１２Ｃに示すように、呼吸指示画像は、第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２によって示される。ここで、図１２Ａ〜図１２Ｃは、ユーザに吸気動作を促すための呼吸指示画像の一例を示しており、第２オブジェクトＯＢＪ２が何れも吸う呼吸をしているような表情の顔画像で示されており、吸気動作を促す第１の色で表示されている。一方、第１オブジェクトＯＢＪ１は、円環形状で表示されており、第２オブジェクトＯＢＪ２が移動する経路となる。そして、第２オブジェクトＯＢＪ２は、円環状に表示されている第１オブジェクトＯＢＪ１に沿って図示Ａ方向へ移動し、当該円環を１周する間は等角速度円運動で移動する。
【００９４】
第１オブジェクトＯＢＪ１の円環（第２オブジェクトＯＢＪ２の経路）は、その表示態様によって少なくとも呼気期間および吸気期間を区別している。例えば、図１２Ａに示した例では、１周全てが吸気期間であることを示す実線で第１オブジェクトＯＢＪ１が示されており、第２オブジェクトＯＢＪ２が等角速度円運動で上記円環を１周する間は吸気期間であることを示している。
【００９５】
また、図１２Ｂに示した例では、図１２Ａの状態（円環の最上位置）から第２オブジェクトＯＢＪ２が第１オブジェクトＯＢＪ１の円環における４分の１程度まで図示Ａ方向へ移動した状態を示している。図１２Ｂでは、第２オブジェクトＯＢＪ２が位置している現時点Ｔｎから第１オブジェクトＯＢＪ１の円環における最上位置に第２オブジェクトＯＢＪ２が到達する時点Ｔ１までが吸気期間であることを示す実線で第１オブジェクトＯＢＪ１が示されており、第２オブジェクトＯＢＪ２が等角速度円運動で到達する時点Ｔ１までは吸気期間であることを示している。また、図１２Ｂで示す第１オブジェクトＯＢＪ１は、時点Ｔ１以降が呼気期間であることを示す破線で示されており、第２オブジェクトＯＢＪ２が等角速度円運動で円環の最上位置（時点Ｔ１）に到達したタイミングで吸気期間から呼気期間に切り換わることを示している。
【００９６】
また、図１２Ｃに示した例では、図１２Ａの状態（円環の最上位置）から第２オブジェクトＯＢＪ２が第１オブジェクトＯＢＪ１の円環における８分の７程度まで図示Ａ方向へさらに移動した状態を示している。図１２Ｃでは、第２オブジェクトＯＢＪ２が位置している現時点Ｔｎから第１オブジェクトＯＢＪ１の円環における最上位置に第２オブジェクトＯＢＪ２が到達する時点Ｔ１までが吸気期間であることを示す実線で第１オブジェクトＯＢＪ１が示されており、第２オブジェクトＯＢＪ２が等角速度円運動で到達する時点Ｔ１までは吸気期間であることを示している。また、図１２Ｃで示す第１オブジェクトＯＢＪ１は、時点Ｔ１以降が呼気期間であることを示す破線で示されており、第２オブジェクトＯＢＪ２が等角速度円運動で円環の最上位置（時点Ｔ１）に到達したタイミングで吸気期間から呼気期間に切り換わることを示している。
【００９７】
ここで、図１２Ａ〜図１２Ｃから明らかなように、ユーザに吸気動作を促す吸気期間における呼吸指示画像では、当該吸気期間が終了するまで第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２がそれぞれ漸増的に拡大されて表示される。例えば、図１２Ａで示した第１オブジェクトＯＢＪ１の円環直径をＤ１、図１２Ｂで示した第１オブジェクトＯＢＪ１の円環直径をＤ２、図１２Ｃで示した第１オブジェクトＯＢＪ１の円環直径をＤ３とした場合、Ｄ１＜Ｄ２＜Ｄ３となる。このように第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２を漸増的に拡大することによって、視感覚的にもユーザに吸う呼吸をするように促すことができる。
【００９８】
図１３Ａ〜図１３Ｃは、ユーザに呼気動作を促すための呼吸指示画像の一例を示しており、第２オブジェクトＯＢＪ２が何れも吐く呼吸をしているような表情の顔画像で示されており、呼気動作を促す第２の色で表示されている。一方、第１オブジェクトＯＢＪ１は、吸気期間と同様に円環形状で表示されている。そして、第２オブジェクトＯＢＪ２は、円環状に表示されている第１オブジェクトＯＢＪ１に沿って図示Ａ方向へ移動し、当該円環を１周する間は等角速度円運動で移動する。
【００９９】
図１３Ａに示した例では、１周全てが呼気期間であることを示す破線で第１オブジェクトＯＢＪ１が示されており、第２オブジェクトＯＢＪ２が等角速度円運動で上記円環を１周する間は呼気期間であることを示している。例えば、図１３Ａに示す呼吸指示画像の例は、図１２Ａ〜図１２Ｃで示した呼吸指示画像を表示した吸気期間が終了し、当該吸気期間から呼気期間に切り換わったタイミングで表示される。
【０１００】
また、図１３Ｂに示した例では、図１３Ａの状態（円環の最上位置）から第２オブジェクトＯＢＪ２が第１オブジェクトＯＢＪ１の円環における４分の１程度まで図示Ａ方向へ移動した状態を示している。図１３Ｂでは、第２オブジェクトＯＢＪ２が位置している現時点Ｔｎから第１オブジェクトＯＢＪ１の円環における最上位置に第２オブジェクトＯＢＪ２が到達する時点Ｔ２までが呼気期間であることを示す破線で第１オブジェクトＯＢＪ１が示されており、第２オブジェクトＯＢＪ２が等角速度円運動で到達する時点Ｔ２までは呼気期間であることを示している。また、図１３Ｂで示す第１オブジェクトＯＢＪ１は、時点Ｔ２以降が吸気期間であることを示す実線で示されており、第２オブジェクトＯＢＪ２が等角速度円運動で円環の最上位置（時点Ｔ２）に到達したタイミングで呼気期間から吸気期間に切り換わることを示している。
【０１０１】
また、図１３Ｃに示した例では、図１３Ａの状態（円環の最上位置）から第２オブジェクトＯＢＪ２が第１オブジェクトＯＢＪ１の円環における８分の７程度まで図示Ａ方向へさらに移動した状態を示している。図１３Ｃでは、第２オブジェクトＯＢＪ２が位置している現時点Ｔｎから第１オブジェクトＯＢＪ１の円環における最上位置に第２オブジェクトＯＢＪ２が到達する時点Ｔ２までが呼気期間であることを示す破線で第１オブジェクトＯＢＪ１が示されており、第２オブジェクトＯＢＪ２が等角速度円運動で到達する時点Ｔ２までは呼気期間であることを示している。また、図１３Ｃで示す第１オブジェクトＯＢＪ１は、時点Ｔ２以降が吸気期間であることを示す実線で示されており、第２オブジェクトＯＢＪ２が等角速度円運動で円環の最上位置（時点Ｔ２）に到達したタイミングで呼気期間から吸気期間に切り換わることを示している。そして、図１２Ａに示す呼吸指示画像の例は、図１３Ａ〜図１３Ｃで示した呼吸指示画像を表示した呼気期間が終了し、当該呼気期間から吸気期間に切り換わったタイミングで表示される。
【０１０２】
ここで、図１３Ａ〜図１３Ｃから明らかなように、ユーザに呼気動作を促す呼気期間における呼吸指示画像では、当該呼気期間が終了するまで第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２がそれぞれ漸減的に縮小されて表示される。例えば、図１３Ａで示した第１オブジェクトＯＢＪ１の円環直径をＤ４、図１３Ｂで示した第１オブジェクトＯＢＪ１の円環直径をＤ５、図１３Ｃで示した第１オブジェクトＯＢＪ１の円環直径をＤ６とした場合、Ｄ４＞Ｄ５＞Ｄ６となる。このように第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２を漸減的に縮小することによって、視感覚的にもユーザに吐く呼吸をするように促すことができる。
【０１０３】
なお、第２オブジェクトＯＢＪ２は、円環状に表示されている第１オブジェクトＯＢＪ１に沿って、当該円環を１周する間は等角速度円運動で移動し、現時点が呼気期間であることを示している間、および現時点が吸気期間であることを示している間は同じ角速度を保って円運動するため、ユーザは、呼気期間および吸気期間が終わるタイミングが把握しやすくなる。しかしながら、ユーザに促す呼吸周期を変化させようとする場合、呼気期間から吸気期間に切り換わりタイミングまたは吸気期間から呼気期間に切り換わるタイミングにおいて、円運動する角速度を変化させればよい。例えば、ユーザに促す呼吸周期を長く変化させようとする場合、上記タイミングにおいて第２オブジェクトＯＢＪ２が円運動する角速度を相対的に遅くすることによって、呼吸周期を長く変化させた呼気期間や吸気期間をユーザに指示することができる。
【０１０４】
また、上述した例では、第１オブジェクトＯＢＪ１の円環の線種（例えば、実線、破線）によって、吸気期間および呼気期間を区別して示したが、他の表示態様によって吸気期間および呼気期間を区別してモニタ２に表示してもかまわない。例えば、第１オブジェクトＯＢＪ１の円環の色によって、吸気期間および呼気期間を区別してモニタ２に表示してもかまわない。また、吸気期間および呼気期間によって、第１オブジェクトＯＢＪ１の円環の表示態様を区別することなくモニタ２に表示してもかまわない。例えば、呼吸動作が切り換わる時点（例えば、吸気期間から呼気期間に切り換わる時点、呼気期間から吸気期間に切り換わる時点）で第２オブジェクトＯＢＪ２が位置する上記円環上の場所に、所定のマーク（標識）を付与することによって期間の切り替わりのみをモニタ２に表示してもかまわない。
【０１０５】
また、図１２Ｂ、図１２Ｃ、図１３Ｂ、および図１３Ｃから明らかなように、第１オブジェクトＯＢＪ１の円環において第２オブジェクトＯＢＪ２が通過した部位の表示態様が、当該円環における次周の当該部位上を第２オブジェクトＯＢＪ２が再び通過する際にユーザに指示する呼吸動作に応じた表示態様に順次変化させている。これによって、第１オブジェクトＯＢＪ１の円環において次周に予定されている呼吸動作指示がユーザに示されるため、予めユーザが当該呼吸動作指示に応じた準備が可能である。また、第１オブジェクトＯＢＪ１の円環に沿って周回移動する第２オブジェクトＯＢＪ２は、呼気期間において当該呼気期間の開始から終了までの時間で当該円環を１周し、吸気期間において当該吸気期間の開始から終了までの時間で当該円環を１周し、これらの期間が連続して指示される。つまり、第１オブジェクトＯＢＪ１の円環の表示態様によって指示する呼吸動作は、当該円環の１周毎に切り換わる呼気期間または吸気期間を指示することになる。したがって、第１オブジェクトＯＢＪ１の円環において第２オブジェクトＯＢＪ２が通過することによって表示態様が変化した部位は、現時点において指示されている呼気期間または吸気期間が既に経過した時間（経過割合）を示す指標として用いることもできる。
【０１０６】
なお、上述した呼吸指示画像の一例では、第１オブジェクトＯＢＪ１の円環最上位置で呼気期間と吸気期間とが切り替えられており、後述においても当該円環最上位置で呼気期間と吸気期間とが切り替えられる例を用いて説明する。
【０１０７】
次に、ゲームシステム１において行われる呼吸指示処理およびゲーム処理の詳細を説明する。まず、図１４を参照して、呼吸指示処理およびゲーム処理において用いられる主なデータについて説明する。なお、図１４は、ゲーム装置本体５の外部メインメモリ１２および／または内部メインメモリ３５（以下、２つのメインメモリを総称して、単にメインメモリと記載する）に記憶される主なデータおよびプログラムの一例を示す図である。
【０１０８】
図１４に示すように、メインメモリのデータ記憶領域には、操作情報データＤａ、呼気期間データＤｂ、吸気期間データＤｃ、心拍数データＤｄ、点数データＤｅ、障害物設定データＤｆ、プレイヤキャラクタデータＤｇ、第１オブジェクトデータＤｈ、第２オブジェクトデータＤｉ、および画像データＤｊ等が記憶される。なお、メインメモリには、図１４に示すデータの他、ゲームに登場する他のオブジェクト等に関するデータ（位置データ等）や仮想ゲーム世界に関するデータ（背景のデータ等）等、呼吸指示処理やゲーム処理に必要なデータが記憶される。また、メインメモリのプログラム記憶領域には、ゲームプログラム（呼吸指示プログラム）を構成する各種プログラムＰａが記憶される。
【０１０９】
操作情報データＤａは、脈波データＤａ１等を含む。脈波データＤａ１は、バイタルセンサ７６から得られる脈波信号（生体信号）を示すデータであり、コアユニット７０から送信データとして送信されてくる一連の操作情報に含まれるデータである。脈波データＤａ１に格納される脈波データは、コアユニット７０から送信された操作情報の受信に応じて常に最新のデータに更新される。なお、脈波データＤａ１に格納される脈波データは、プレイされるゲームによって必要な時間長さ分だけ脈波信号の履歴が格納されることがあるが、この場合も操作情報の受信に応じて適宜更新される。また、ゲーム装置本体５に備える無線コントローラモジュール１９は、コアユニット７０から所定周期（例えば、１／２００秒毎）に送信されて操作情報に含まれる生体信号データを受信し、無線コントローラモジュール１９に備える図示しないバッファに受信したデータを蓄える。その後、上記バッファに蓄えられた生体信号データがゲーム処理周期である１フレーム毎（例えば、１／６０秒毎）に読み出されて、メインメモリの脈波データＤａ１が更新される。
【０１１０】
このとき、操作情報を受信する周期と処理周期とが異なるために、上記バッファには複数の時点に受信した操作情報が記述されていることになる。後述する処理の説明においては、後述する各ステップにおいて、複数の時点に受信した操作情報のうち最新の操作情報のみを常に用いて処理して、次のステップに進める態様を用いる。
【０１１１】
また、後述する処理フローでは、脈波データＤａ１がゲーム処理周期である１フレーム毎に更新される例を用いて説明するが、他の処理周期で更新されてもかまわない。例えば、コアユニット７０からの送信周期毎に脈波データＤａ１を更新し、当該更新された脈波データＤａ１をゲーム処理周期毎に利用する態様でもかまわない。この場合、脈波データＤａ１を更新する周期と、ゲーム処理周期とが異なることになる。
【０１１２】
呼気期間データＤｂは、ユーザに呼吸を促す際の吐く呼吸を行う時間（呼気期間の長さ）を示すデータである。吸気期間データＤｃは、ユーザに呼吸を促す際の吸う呼吸を行う時間（吸気期間の長さ）を示すデータである。
【０１１３】
心拍数データＤｄは、脈波データＤａ１に基づいて算出されたユーザの心拍数の所定時間分の履歴を示すデータである。点数データＤｅは、ゲームにおける得点を示すデータである。障害物設定データＤｆは、ユーザに促す呼吸周期に応じて算出された起伏周期に応じて設定される仮想ゲーム世界の障害物（天井Ｔおよび地面Ｂ）を示すデータである。プレイヤキャラクタデータＤｇは、仮想ゲーム世界に配置されるプレイヤキャラクタＰＣの位置等を示すデータである。
【０１１４】
第１オブジェクトデータＤｈは、第１オブジェクトＯＢＪ１に関するデータであり、呼吸タイミングデータＤｈ１およびサイズデータＤｈ２を含んでいる。呼吸タイミングデータＤｈ１は、第１オブジェクトＯＢＪ１が示す上記円環のうち、呼気期間として表示する範囲と吸気期間として表示する範囲とを示すデータである。サイズデータＤｈ２は、第１オブジェクトＯＢＪ１が示す上記円環の大きさ（例えば、直径Ｄ）を示すデータである。
【０１１５】
第２オブジェクトデータＤｉは、第２オブジェクトＯＢＪ２に関するデータであり、呼吸状態データＤｉ１、位置データＤｉ２、移動角速度データＤｉ３、およびサイズデータＤｉ４を含んでいる。呼吸状態データＤｉ１は、現時点においてユーザに促している呼吸動作（すなわち、呼気動作および吸気動作に何れか）に応じて、ユーザに示す第２オブジェクトＯＢＪ２の表示態様（例えば、表情や色）を示すデータである。位置データＤｉ２は、第１オブジェクトＯＢＪ１が示す上記円環における第２オブジェクトＯＢＪ２の位置を示すデータである。移動角速度データＤｉ３は、上記円環に沿って第２オブジェクトＯＢＪ２が円運動する角速度を示すデータである。サイズデータＤｉ４は、第２オブジェクトＯＢＪ２の大きさを示すデータである。
【０１１６】
画像データＤｊは、プレイヤキャラクタ画像データＤｊ１、第１オブジェクト画像データＤｊ２、第２オブジェクト画像データＤｊ３、および障害物画像データＤｊ４等を含んでいる。プレイヤキャラクタ画像データＤｊ１は、仮想ゲーム世界にプレイヤキャラクタＰＣを配置してゲーム画像を生成するためのデータである。第１オブジェクト画像データＤｊ２は、第１オブジェクトＯＢＪ１を表示して呼吸指示画像を生成するためのデータである。第２オブジェクト画像データＤｊ３は、第２オブジェクトＯＢＪ２を表示して呼吸指示画像を生成するためのデータである。障害物画像データＤｊ４は、仮想ゲーム世界に天井Ｔや地面Ｂ等の障害物を配置してゲーム画像を生成するためのデータである。
【０１１７】
次に、図１５および図１６を参照して、ゲーム装置本体５において行われる呼吸指示処理およびゲーム処理の詳細を説明する。なお、図１５は、ゲーム装置本体５において実行されるメイン処理の一例を示すフローチャートである。図１６は、図１５のステップ５２に示すプレイヤキャラクタ処理の詳細な処理の一例を示すサブルーチンである。なお、図１５および図１６に示すフローチャートにおいては、各種処理のうち、ユーザに呼吸動作を指示する処理およびバイタルセンサ７６からの生体信号を用いる処理について主に説明し、本願発明と直接関連しない他の処理については詳細な説明を省略する。また、図１５および図１６では、ＣＰＵ１０が実行する各ステップを「Ｓ」と略称する。
【０１１８】
ゲーム装置本体５の電源が投入されると、ゲーム装置本体５のＣＰＵ１０は、ＲＯＭ／ＲＴＣ１３に記憶されている起動用のプログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラム（呼吸指示プログラム）がメインメモリに読み込まれ、ＣＰＵ１０によって当該ゲームプログラムの実行が開始される。図１５に示すフローチャートは、以上の処理が完了した後に行われるメイン処理を示すフローチャートである。
【０１１９】
図１５において、ＣＰＵ１０は、ゲーム処理の初期設定を行い（ステップ４１）、次のステップに処理を進める。例えば、上記ステップ４１におけるゲーム処理の初期設定では、仮想ゲーム世界の設定やプレイヤキャラクタＰＣや天井Ｔおよび地面Ｂ等の初期設定を行い、障害物設定データＤｆおよびプレイヤキャラクタデータＤｇ等を更新する。また、上記ステップ４１におけるゲーム処理の初期設定では、以降のゲーム処理や呼吸指示処理で用いる各パラメータを初期化する。例えば、ＣＰＵ１０は、点数データＤｅについて満点を示す点数（例えば、１００点）に初期設定する。
【０１２０】
次に、ＣＰＵ１０は、ユーザに呼吸を促す呼気期間および吸気期間を設定し（ステップ４２）、次のステップに処理を進める。例えば、ＣＰＵ１０は、呼気期間データＤｂおよび吸気期間データＤｃに呼気期間および吸気期間が設定されていない初期状態である場合、予め定められた初期値を呼気期間および吸気期間に設定し、設定された呼気期間および吸気期間を用いて呼気期間データＤｂおよび吸気期間データＤｃを更新する。また、ＣＰＵ１０は、呼気期間データＤｂおよび吸気期間データＤｃに呼気期間および吸気期間が既に設定されている場合、予め定められた変更条件に基づいて、当該呼気期間および吸気期間を変化させる。一例として、ＣＰＵ１０は、呼気期間および吸気期間が更新された後に所定の呼吸回数が経過した場合に、呼気期間データＤｂおよび吸気期間データＤｃが示す呼気期間および吸気期間を、所定割合長くした時間（例えば、２０％長くした時間）や所定割合短くした時間（例えば、２０％短くした時間）に設定し、設定された呼気期間および吸気期間を用いて呼気期間データＤｂおよび吸気期間データＤｃを更新する。
【０１２１】
次に、ＣＰＵ１０は、設定されている呼気期間および吸気期間に基づいて、第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２を設定し（ステップ４３）、次のステップに処理を進める。例えば、ＣＰＵ１０は、これからユーザに呼気するように指示する場合、呼気期間を示す表示態様に第１オブジェクトＯＢＪ１の円環全てを設定し、当該円環のサイズを予め定められた最大のサイズに設定して、第１オブジェクトデータＤｈを更新する。また、ＣＰＵ１０は、呼気動作であることを示す表示態様（例えば、呼気している表情で第２の色）に第２オブジェクトＯＢＪ２を設定し、第２オブジェクトＯＢＪ２のサイズを予め定められた最大のサイズに設定し、第２オブジェクトＯＢＪ２の表示位置を第１オブジェクトＯＢＪ１の円環最上位置に設定して、第２オブジェクトデータＤｉを更新する。一方、ＣＰＵ１０は、これからユーザに吸気するように指示する場合、吸気期間を示す表示態様に第１オブジェクトＯＢＪ１の円環全てを設定し、当該円環のサイズを予め定められた最小のサイズに設定して、第１オブジェクトデータＤｈを更新する。また、ＣＰＵ１０は、吸気動作であることを示す表示態様（例えば、吸気している表情で第１の色）に第２オブジェクトＯＢＪ２を設定し、第２オブジェクトＯＢＪ２のサイズを予め定められた最小のサイズに設定し、第２オブジェクトＯＢＪ２の表示位置を第１オブジェクトＯＢＪ１の円環最上位置に設定して、第２オブジェクトデータＤｉを更新する。
【０１２２】
次に、ＣＰＵ１０は、設定されている呼気期間および吸気期間に基づいて、第２オブジェクトＯＢＪ２が移動する速度を設定し（ステップ４４）、次のステップに処理を進める。例えば、ＣＰＵ１０は、これからユーザに呼気するように指示する場合、呼気期間データＤｂが示す呼気期間の時間長さで第２オブジェクトＯＢＪ２が第１オブジェクトＯＢＪ１の円環を等角速度で１周するように、第２オブジェクトＯＢＪ２の角速度を設定する。そして、ＣＰＵ１０は、設定された角速度を用いて、移動角速度データＤｉ３を更新する。一方、ＣＰＵ１０は、これからユーザに吸気するように指示する場合、吸気期間データＤｃが示す吸気期間の時間長さで第２オブジェクトＯＢＪ２が第１オブジェクトＯＢＪ１の円環を等角速度で１周するように、第２オブジェクトＯＢＪ２の角速度を設定する。そして、ＣＰＵ１０は、設定された角速度を用いて、移動角速度データＤｉ３を更新する。
【０１２３】
次に、ＣＰＵ１０は、現時点が呼気期間内か否かを判断する（ステップ４５）。そして、ＣＰＵ１０は、現時点が呼気期間内である場合、次のステップ４６に処理を進める。一方、ＣＰＵ１０は、現時点が吸気期間内である場合、次のステップ４８に処理を進める。
【０１２４】
ステップ４６において、ＣＰＵ１０は、第１オブジェクトＯＢＪ１の大きさを縮小して設定し、次のステップに処理を進める。例えば、ＣＰＵ１０は、サイズデータＤｈ２が示す第１オブジェクトＯＢＪ１の円環の大きさを、所定の関数（例えば、呼気期間の開始時点が最大値となり、当該呼気期間中の時間経過とともに正弦曲線で漸減的に変化して当該呼気期間の終了時点で最小値となる関数）に基づいて縮小し、縮小した円環の大きさを用いてサイズデータＤｈ２を更新する。
【０１２５】
次に、ＣＰＵ１０は、第２オブジェクトＯＢＪ２の大きさを縮小して設定し（ステップ４７）、次のステップ５０に処理を進める。例えば、ＣＰＵ１０は、サイズデータＤｉ４が示す第２オブジェクトＯＢＪ２の大きさを、所定の関数（例えば、呼気期間の開始時点が最大値となり、当該呼気期間中の時間経過とともに正弦曲線で漸減的に変化して当該呼気期間の終了時点で最小値となる関数）に基づいて縮小し、縮小した大きさを用いてサイズデータＤｉ４を更新する。
【０１２６】
一方、ステップ４８において、ＣＰＵ１０は、第１オブジェクトＯＢＪ１の大きさを拡大して設定し、次のステップに処理を進める。例えば、ＣＰＵ１０は、サイズデータＤｈ２が示す第１オブジェクトＯＢＪ１の円環の大きさを、所定の関数（例えば、吸気期間の開始時点が最小値となり、当該吸気期間中の時間経過とともに正弦曲線で漸増的に変化して当該吸気期間の終了時点で最大値となる関数）に基づいて拡大し、拡大した円環の大きさを用いてサイズデータＤｈ２を更新する。
【０１２７】
次に、ＣＰＵ１０は、第２オブジェクトＯＢＪ２の大きさを拡大して設定し（ステップ４９）、次のステップ５０に処理を進める。例えば、ＣＰＵ１０は、サイズデータＤｉ４が示す第２オブジェクトＯＢＪ２の大きさを、所定の関数（例えば、吸気期間の開始時点が最小値となり、当該吸気期間中の時間経過とともに正弦曲線で漸増的に変化して当該吸気期間の終了時点で最大値となる関数）に基づいて拡大し、拡大した大きさを用いてサイズデータＤｉ４を更新する。
【０１２８】
ステップ５０において、ＣＰＵ１０は、第１オブジェクトＯＢＪ１の円環に沿って第２オブジェクトＯＢＪ２を移動させて第２オブジェクトＯＢＪ２を表示し、次のステップに処理を進める。例えば、ＣＰＵ１０は、位置データＤｉ２を用いて移動前の第２オブジェクトＯＢＪ２の位置を取得する。また、ＣＰＵ１０は、サイズデータＤｈ２および移動角速度データＤｉ３を用いて第１オブジェクトＯＢＪ１の円環の大きさおよび第２オブジェクトＯＢＪ２の移動角速度を取得する。そして、ＣＰＵ１０は、移動前の第２オブジェクトＯＢＪ２の位置、第１オブジェクトＯＢＪ１の円環の大きさ、および第２オブジェクトＯＢＪ２の移動角速度に基づいて、移動後の第２オブジェクトＯＢＪ２の位置を算出し、算出された位置を用いて位置データＤｉ２を更新する。そして、ＣＰＵ１０は、呼吸状態データＤｉ１、位置データＤｉ２、およびサイズデータＤｉ４に応じた表示態様、表示位置、および大きさで、第２オブジェクトＯＢＪ２をモニタ２に表示する。
【０１２９】
次に、ＣＰＵ１０は、第１オブジェクトＯＢＪ１の円環において、第２オブジェクトＯＢＪ２が移動した経路に対応する部位の表示態様を変更して第１オブジェクトＯＢＪ１を表示し（ステップ５１）、次のステップに処理を進める。例えば、ＣＰＵ１０は、位置データＤｉ２を用いて、現時点における第２オブジェクトＯＢＪ２の位置を取得する。そして、ＣＰＵ１０は、現時点における第２オブジェクトＯＢＪ２の位置から第２オブジェクトＯＢＪ２の移動方向（図１２〜図１３に示すＡ方向）へ第１オブジェクトＯＢＪ１の円環の最上位置までの円環（以下、前方経路と記載することがある）の表示態様に対して、第１オブジェクトＯＢＪ１の円環の最上位置から第２オブジェクトＯＢＪ２の移動方向へ現時点における第２オブジェクトＯＢＪ２の位置までの円環（以下、後方経路と記載することがある）を異なる表示態様に設定する。具体的には、現時点が吸気期間である場合、上記前方経路が吸気期間を示す表示態様（例えば、実線）となっており、ＣＰＵ１０は、呼気期間を示す表示態様（例えば、破線）に上記後方経路の全てを設定する（図１２Ｂ、図１２Ｃ参照）。一方、現時点が呼気期間である場合、上記前方経路が呼気期間を示す表示態様（例えば、破線）となっており、ＣＰＵ１０は、吸気期間を示す表示態様（例えば、実線）に上記後方経路の全てを設定する（図１３Ｂ、図１３Ｃ参照）。そして、ＣＰＵ１０は、設定後の第１オブジェクトＯＢＪ１の表示態様を用いて呼吸タイミングデータＤｈ１を更新し、当該表示態様に応じて第１オブジェクトＯＢＪ１をモニタ２に表示する。
【０１３０】
次に、ＣＰＵ１０は、プレイヤキャラクタＰＣに関する処理を行い（ステップ５２）、次のステップに処理を進める。以下、図１６を参照して、上記ステップ５２で行うプレイヤキャラクタ処理について説明する。
【０１３１】
図１６において、ＣＰＵ１０は、コアユニット７０から操作情報を示すデータを取得して（ステップ８１）、次のステップに処理を進める。例えば、ＣＰＵ１０は、コアユニット７０から受信した操作情報を取得し、コアユニット７０から受信した操作情報に含まれる最新の生体信号データが示す脈波信号（生体信号）を用いて脈波データＤａ１を更新する。
【０１３２】
次に、ＣＰＵ１０は、ユーザの心拍数ＨＲを算出して心拍数データＤｄの履歴を更新し（ステップ８２）、次のステップに処理を進める。例えば、ＣＰＵ１０は、脈波データＤａ１の脈波信号を参照して、現時点の心拍間隔（Ｒ−Ｒ間隔；図９参照）を算出する。そして、ＣＰＵ１０は、６０秒を心拍間隔で除算することによって心拍数ＨＲを算出し、新たに算出された心拍数ＨＲを示すデータを心拍数データＤｄに追加して、心拍数ＨＲの履歴を更新する。なお、後述により明らかとなるが、心拍数ＨＲの履歴は、少なくとも前回算出された心拍数ＨＲが確保されていれば処理が可能となるため、新しい心拍数ＨＲを追加する際、前回処理で算出された心拍数ＨＲ以外の履歴を削除してもかまわない。また、ユーザに促す呼吸周期を、実際に現時点でユーザが呼吸している周期に基づいて設定する場合、当該呼吸している周期を算出するために心拍数ＨＲの履歴を所定時間分（例えば、ユーザの呼吸周期分以上）確保することが必要となるため、この場合は、新しい心拍数ＨＲを追加する際、当該時間を超える過去の履歴を削除すればよい。
【０１３３】
次に、ＣＰＵ１０は、上記ステップ８２で算出された心拍数ＨＲが前回算出された心拍数ＨＲｂより大きいか否か（ステップ８３）、および上記ステップ８２で算出された心拍数ＨＲが前回算出された心拍数ＨＲｂより小さいか否か（ステップ８５）を判断する。そして、ＣＰＵ１０は、上記ステップ８２で算出された心拍数ＨＲが前回算出された心拍数ＨＲｂより大きい場合（ステップ８３でＹｅｓ）、次のステップ８４に処理を進める。また、ＣＰＵ１０は、上記ステップ８２で算出された心拍数ＨＲが前回算出された心拍数ＨＲｂより小さい場合（ステップ８５でＹｅｓ）、次のステップ８６に処理を進める。一方、ＣＰＵ１０は、上記ステップ８２で算出された心拍数ＨＲが前回算出された心拍数ＨＲｂと同じである場合（ステップ８３およびステップ８５が何れもＮｏ）、次のステップ８７に処理を進める。
【０１３４】
ステップ８４において、ＣＰＵ１０は、プレイヤキャラクタＰＣを仮想ゲーム世界において所定量上昇させてモニタ２に表示し、次のステップ８７に処理を進める。例えば、ＣＰＵ１０は、仮想ゲーム世界におけるプレイヤキャラクタＰＣの上昇量を算出し、当該上昇量を用いてプレイヤキャラクタデータＤｇを更新する。そして、ＣＰＵ１０は、プレイヤキャラクタデータＤｇが示す位置にプレイヤキャラクタＰＣを仮想ゲーム世界において上昇させて、モニタ２に表示する。なお、上記ステップ８４において上昇させるプレイヤキャラクタＰＣの位置は、一定量上昇させてもいいし、心拍数ＨＲｂと心拍数ＨＲとの差分値に応じて上昇量を変化させてもかまわない。
【０１３５】
一方、ステップ８６において、ＣＰＵ１０は、プレイヤキャラクタＰＣを仮想ゲーム世界において所定量下降させてモニタ２に表示し、次のステップ８７に処理を進める。例えば、ＣＰＵ１０は、仮想ゲーム世界におけるプレイヤキャラクタＰＣの下降量を算出し、当該下降量を用いてプレイヤキャラクタデータＤｇを更新する。そして、ＣＰＵ１０は、プレイヤキャラクタデータＤｇが示す位置にプレイヤキャラクタＰＣを仮想ゲーム世界において下降させて、モニタ２に表示する。なお、上記ステップ８６において下降させるプレイヤキャラクタＰＣの位置は、一定量下降させてもいいし、心拍数ＨＲｂと心拍数ＨＲとの差分値に応じて下降量を変化させてもかまわない。
【０１３６】
ステップ８７において、ＣＰＵ１０は、仮想ゲーム世界においてプレイヤキャラクタＰＣが障害物（天井Ｔおよび地面Ｂ）と接触したか否かを判断する。例えば、プレイヤキャラクタＰＣが飛行中に地面Ｂと接触する、またはプレイヤキャラクタＰＣが天井Ｔと接触した場合、ＣＰＵ１０は、プレイヤキャラクタＰＣが障害物と接触したと判断する。そして、ＣＰＵ１０は、プレイヤキャラクタＰＣが障害物と接触した場合、次のステップ８８に処理を進める。一方、ＣＰＵ１０は、プレイヤキャラクタＰＣが障害物と接触していない場合、次のステップ８９に処理を進める。
【０１３７】
ステップ８８において、ＣＰＵ１０は、ゲームの得点から所定の点数を減点して、次のステップ８９に処理を進める。例えば、ＣＰＵ１０は、点数データＤｅが示す点数から障害物との接触に応じた点数を減点し、減点後の点数を用いて点数データＤｅを更新する。ここで、減点する点数は、プレイヤキャラクタＰＣと障害物との接触状況に応じて変化させてもかまわない。第１の例として、プレイヤキャラクタＰＣが障害物と接触している時間に応じて減点数を増加させる。第２の例として、プレイヤキャラクタＰＣが障害物と接触して重複している量に応じて減点数を増加させる。第３の例として、プレイヤキャラクタＰＣが障害物と接触した回数に応じて減点数を増加させる。第４の例として、プレイヤキャラクタＰＣが接触している障害物の種類（例えば、天井Ｔ、地面Ｂ）に応じて、減点数を変化させる。第５の例として、上記第１〜第４の例の少なくとも２つを組み合わせて、減点数を変化させる。
【０１３８】
なお、上述した処理では、プレイヤキャラクタＰＣが障害物と接触または重複した場合、ゲームの得点を減点することによってマイナスの評価が与えられ、ゲームの得点が低い程、当該ゲームの評価が悪くなることになるが、他の方式によって得点を変化させてもかまわない。第１の例として、ゲームの開始時の得点を０点とし、プレイヤキャラクタＰＣが障害物と接触または重複した場合、ゲームの得点を加点することによってマイナスの評価が与えられる。この場合、ゲームの得点が高い程、当該ゲームの評価が悪くなることになる。第２の例として、ゲームの開始時の得点を０点とし、ゲームの時間経過と共に加点されていく。そして、ゲーム中にプレイヤキャラクタＰＣが障害物と接触または重複した場合、上記加点を行わないことによってマイナスの評価が与えられる。この場合、ゲームの得点が低い程、当該ゲームの評価が悪くなることになる。
【０１３９】
ステップ８９において、ＣＰＵ１０は、呼気期間データＤｂが示す呼気期間および吸気期間データＤｃが示す吸気期間に応じて、仮想ゲーム世界における障害物を設定して表示し、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ１０は、呼気期間データＤｂが示す呼気期間および吸気期間データＤｃが示す吸気期間に基づいてユーザに促す呼吸周期を算出し、当該呼吸周期に応じて障害物の起伏周期を設定する。そして、ＣＰＵ１０は、設定された起伏周期に基づいて、天井Ｔおよび地面Ｂ（障害物画像）を生成してモニタ２に表示する。一例として、ＣＰＵ１０は、仮想ゲーム世界においてプレイヤキャラクタＰＣが飛行する際の天井Ｔや地面Ｂが、上記起伏周期で起伏するように天井Ｔおよび地面Ｂの形状を調整してスクロールさせてモニタ２に表示する。
【０１４０】
図１５に戻り、ＣＰＵ１０は、上記ステップ５２におけるプレイヤキャラクタ処理の後、ゲームを終了するか否かを判断する（ステップ５３）。ゲームを終了する条件としては、例えば、ゲームオーバーとなる条件が満たされたことや、ユーザに指示する呼吸周期が予め定められた目標周期に到達したことや、ユーザがゲームを終了する操作を行ったこと等がある。ＣＰＵ１０は、ゲームを終了しない場合に次のステップ５４に処理を進め、ゲームを終了する場合に当該フローチャートによる処理を終了する。
【０１４１】
ステップ５４において、ＣＰＵ１０は、現在ユーザに促している呼気期間または吸気期間が終了したか否かを判断する。そして、ＣＰＵ１０は、現在ユーザに促している呼気期間または吸気期間が終了した場合、上記ステップ４２に戻って処理を繰り返す。一方、ＣＰＵ１０は、現在ユーザに促している呼気期間または吸気期間が終了しておらず当該期間中である場合、上記ステップ４５に戻って処理を繰り返す。一例として、ＣＰＵ１０は、現時点がユーザに呼気を促す呼気期間を終了するタイミングである場合、上記ステップ４２に処理を戻して、現在までの呼気期間指示に代えてこれから吸気期間であることを指示する呼吸指示画像をモニタ２に表示する（例えば、図１２Ａに示す呼吸指示画像）。他の例として、ＣＰＵ１０は、現時点がユーザに吸気を促す吸気期間を終了するタイミングである場合、上記ステップ４２に処理を戻して、現在までの吸気期間指示に代えてこれから呼気期間であることを指示する呼吸指示画像をモニタ２に表示する（例えば、図１３Ａに示す呼吸指示画像）。
【０１４２】
このように、第１オブジェクトＯＢＪ１の表示態様と第２オブジェクトＯＢＪ２の位置とによって、呼気動作および／または吸気動作を促す期間をユーザが容易に認識することができる。例えば、図１２Ａ〜図１２Ｃに示すように、ユーザが吸う呼吸を促される場合、第２オブジェクトＯＢＪ２が第１オブジェクトＯＢＪ１の最上位置まで移動するまで吸う動作をすればいいことが明確となっている。また、図１３Ａ〜図１３Ｃに示すように、ユーザが吐く呼吸を促される場合も、第２オブジェクトＯＢＪ２が第１オブジェクトＯＢＪ１の最上位置まで移動するまで吐く動作をすればいいことが明確となっている。したがって、ある時点において、残りどれくらいの時間吸うのか、またはどれくらいの時間吐くのかをユーザが認識できるため、吸気動作から呼気動作に切り替えるタイミングで呼吸が途切れたり、呼気動作から吸気動作に切り替えるタイミングで息が余ったりするなどすることなく、呼吸を繰り返す動作をスムーズに行うことができる。
【０１４３】
なお、上述した呼吸指示画像の例では、ユーザに呼気動作および吸気動作をそれぞれ促す２つの期間を指示しているが、さらに他の動作を示す期間を指示してもかまわない。ユーザに呼吸状態を指示する３つ以上の期間を指示することによって、より細かい呼吸動作指示が可能となる。例えば、図１７には、ユーザに呼吸を止める動作を促す期間（止息期間）を示す呼吸指示画像の一例が示されている。
【０１４４】
図１７において、止息期間を示す呼吸指示画像では、第２オブジェクトＯＢＪ２が呼吸を止めているような表情の顔画像で示されており、止息動作を促す第３の色で表示されている。そして、第２オブジェクトＯＢＪ２は、円環形状で表示されている第１オブジェクトＯＢＪ１に沿って図示Ａ方向へ移動し、当該円環を１周する間は等角速度円運動で移動する。
【０１４５】
図１７に示した例では、第１オブジェクトＯＢＪ１の円環の最上位置から第２オブジェクトＯＢＪ２が当該円環における４分の１程度まで図示Ａ方向へ移動した状態を示している。図１７では、第２オブジェクトＯＢＪ２が位置している現時点Ｔｎから第１オブジェクトＯＢＪ１の円環における最上位置に第２オブジェクトＯＢＪ２が到達する時点Ｔ３までが止息期間であることを示す一点鎖線で第１オブジェクトＯＢＪ１が示されており、第２オブジェクトＯＢＪ２が等角速度円運動で到達する時点Ｔ３までは止息期間であることを示している。また、図１７で示す第１オブジェクトＯＢＪ１は、時点Ｔ３以降が吸気期間であることを示す実線で示されており、第２オブジェクトＯＢＪ２が等角速度円運動で円環の最上位置（時点Ｔ３）に到達したタイミングで止息期間から吸気期間に切り換わることを示している。このように、ユーザは、第１オブジェクトＯＢＪ１の表示態様（線種や色等）と第２オブジェクトＯＢＪ２の位置とによって、止息動作を促す期間を容易に認識することができる。
【０１４６】
ここで、ユーザに止息動作を促す止息期間における呼吸指示画像では、当該止息期間が開始されてから終了するまで第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２がそれぞれ同じ大きさを保って表示され、拡大も縮小もしない。すなわち、図１７に示す例では、止息期間中は、第１オブジェクトＯＢＪ１の円環直径がＤ７一定で表示される。このように第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２の大きさを一定にして表示することによって、視感覚的にもユーザに呼吸を止めるように促すことができる。
【０１４７】
なお、上述した説明では、呼吸指示画像によってユーザに指示する呼気期間および吸気期間は、予め定められた変更条件に基づいて変化していく一例を用いたが、他のパラメータがユーザに指示する呼気期間および吸気期間の長さに影響するようにしてもかまわない。例えば、ユーザが実際に呼吸している周期に基づいて、ユーザに指示する呼気期間および吸気期間の長さを変化させてもかまわない。
【０１４８】
例えば、心拍数ＨＲが上昇中であればユーザが吸う呼吸をしており、下降中であればユーザが吐く呼吸をしていると判断することができ、ユーザの心拍数ＨＲが上昇／下降する周期（ゆらぎ周期）を算出することによってユーザが呼吸している周期を算出することができる。そして、算出されたユーザの呼吸周期を所定割合（例えば２０％）遅くしたり速くしたりした呼吸周期をユーザに指示するように、ユーザに指示する呼気期間および吸気期間の長さを変化させる。これによって、現時点のユーザの呼吸状態に基づいた呼吸動作の指示が可能となる。
【０１４９】
また、上述した例では、第１オブジェクトＯＢＪ１が円環で示される例を用いたが、第１オブジェクトＯＢＪ１は、他の形状のオブジェクトであってもかまわない。例えば、第１オブジェクトＯＢＪ１は、円とは異なる環状形状のオブジェクト（楕円や多角形）でもかまわない。また、第１オブジェクトＯＢＪ１は、第２オブジェクトＯＢＪ２が１周する経路が形成されていれば環状形状でなくてもよく、様々な形状のオブジェクトでも実現できることは言うまでもない。
【０１５０】
また、上述した説明では、ユーザに吸気動作を促す吸気期間において第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２を漸増的に拡大し、ユーザに呼気動作を促す呼気期間において第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２を漸減的に縮小する例を用いたが、第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２は、ユーザに指示する呼吸動作に応じて他の変形態様で変化して表示されてもかまわない。第１の例は、ユーザに吸気動作を促す吸気期間において第１オブジェクトＯＢＪ１のみを漸増的に拡大し、ユーザに呼気動作を促す呼気期間において第１オブジェクトＯＢＪ１のみを漸減的に縮小する。この場合、第２オブジェクトＯＢＪ２は、その大きさが変化することなく第１オブジェクトＯＢＪ１に沿って移動することになる。第２の例は、ユーザに吸気動作を促す吸気期間において第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２を漸減的に縮小し、ユーザに呼気動作を促す呼気期間において第１オブジェクトＯＢＪ１および第２オブジェクトＯＢＪ２を漸増的に拡大する。第３の例は、ユーザに吸気動作を促す吸気期間において第１オブジェクトＯＢＪ１のみを漸減的に縮小し、ユーザに呼気動作を促す呼気期間において第１オブジェクトＯＢＪ１のみを漸増的に拡大する。この場合も、第２オブジェクトＯＢＪ２は、その大きさが変化することなく第１オブジェクトＯＢＪ１に沿って移動することになる。
【０１５１】
また、上述した説明では、第１オブジェクトＯＢＪ１に含まれる第２オブジェクトＯＢＪ２の経路（円環）の表示態様（例えば、線種や色）によって吸気期間や呼気期間を区別して示したが、当該経路の表示態様によって吸気期間や呼気期間を区別しなくてもよい。本実施形態においては、少なくとも第１オブジェクトＯＢＪ１に、吸気期間において拡大および縮小の一方の変化が与えられ、呼気期間において拡大および縮小の他方の変化が与えられる。また、吸気期間においては第２オブジェクトＯＢＪ２が吸気している表情の第１の色で表示され、呼気期間においては第２オブジェクトＯＢＪ２が呼気している表情の第２の色で表示される。そして、上記経路に沿って周回移動する第２オブジェクトＯＢＪ２は、呼気期間において当該呼気期間の開始から終了までの時間で当該経路を１周し、吸気期間において当該吸気期間の開始から終了までの時間で当該経路を１周する。したがって、ユーザは、上記経路の表示態様が同じであっても、第１オブジェクトＯＢＪ１の拡大または縮小する変化や第２オブジェクトＯＢＪ２の表示態様の変化等によって呼気期間から吸気期間へ切り換わったタイミングおよび吸気期間から呼気期間に切り換わったタイミングを知ることができ、当該タイミングから上記経路を第２オブジェクトＯＢＪ２が１周するまでの時間を呼気または吸気を続ければいいことを認識することができる。また、呼気期間から吸気期間へ切り換わるタイミングおよび吸気期間から呼気期間に切り換わるタイミングにおける第２オブジェクトＯＢＪ２の位置を固定（例えば、第１オブジェクトＯＢＪ１の経路（円環）の最上位置で必ず期間が切り換わるように固定）すれば、上記経路の表示態様の区別がない場合であっても呼気期間および吸気期間の長さを容易に認識することができる。
【０１５２】
また、上述した説明では、ユーザの身体の一部（例えば、指先）に赤外線を照射し、当該身体の一部を透過して受光された赤外線の光量に基づいてユーザの生体信号（脈波信号）を得る、いわゆる光学方式によって血管の容積変化を検出して容積脈波を得る例を用いている。しかしながら、本発明では、ユーザが身体活動する際に起こる生理的な情報が得られる他の形式のセンサを用いて、ユーザの生体信号を取得してもかまわない。例えば、動脈の脈動による血管内の圧力変位を検出（例えば、圧電方式）して圧脈波を得ることによって、ユーザの生体信号を取得してもかまわない。また、ユーザの筋電位や心電位を、ユーザの生体信号として取得してもかまわない。筋電位や心電位は、電極を用いた一般的な検出方法により検出することができ、例えば、ユーザの身体における微細な電流の変化等に基づいて、ユーザの生体信号を取得することができる。また、ユーザの血流を、ユーザの生体信号として取得してもかまわない。血流は、電磁法や超音波法等を用いて１心拍ごとの脈動血流として測定され、当該脈動血流をユーザの生体信号として取得することができる。当然ながら、上述した各種生体信号を得るために、ユーザの指部以外の箇所（例えば、胸部、腕、耳たぶ等）にバイタルセンサを装着してもかまわない。取得する生体信号によっては、厳密には脈拍と心拍との差が生じることになるが、心拍数と脈拍数という見方をした場合ほぼ同じ値と考えられるので、取得される生体信号を上述した処理と同様に取り扱うことができる。
【０１５３】
また、上述した説明ではゲーム処理および呼吸指示処理をコントローラ７（バイタルセンサ７６、コアユニット７０）およびゲーム装置本体５（すなわち、ゲーム装置３）で行う例を用いたが、上記呼吸指示処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置３が他の装置（例えば、サーバや他のゲーム装置）と通信可能に構成されている場合、上記ゲーム処理および呼吸指示処理における処理ステップは、ゲーム装置３および当該他の装置が協働することによって実行してもよい。一例として、他の装置において呼気期間や吸気期間等が設定され、ゲーム装置３が当該設定情報を示すデータを取得して呼吸指示処理することによって呼吸指示画像をユーザに示すことが考えられる。また、他の装置において仮想ゲーム世界が設定されている場合、バイタルセンサ７６から出力される生体信号を他の装置へ送信し、他の装置において以降のゲーム処理を行った後、ゲーム装置３で表示処理を行うことが考えられる。また、他の例として、他の装置において仮想ゲーム世界が設定されている場合、上述したゲーム処理における途中段階のデータ（例えば、プレイヤキャラクタＰＣの位置を示すデータ）を、ゲーム装置３から他の装置へ送信し、送信したデータを用いた処理を当該他の装置で行った後、ゲーム装置３で表示処理を行うことが考えられる。このように、上記ゲーム処理や呼吸指示処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述したゲーム処理および呼吸指示処理と同様の処理が可能となるとともに、他の装置において実現されている仮想ゲーム世界に複数のゲーム装置のユーザが参加するゲーム処理（例えば、他の装置で動作しているゲームに複数のゲーム装置のユーザが参加してゲーム進行を共有するオンラインゲーム）や、複数のユーザに対して同じ呼吸周期を促す呼吸指示処理にも本発明を適用することも可能となる。上述したゲーム処理や呼吸指示処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。
【０１５４】
また、上記実施例では、据置型のゲーム装置３に本願発明を適用した例を説明したが、バイタルセンサと、当該バイタルセンサから得られる生体信号に応じた処理を実行する情報処理装置とがあればよく、例えば一般的なパーソナルコンピュータ、携帯電話機、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯ゲーム装置等のデバイスにも適用することができる。
【０１５５】
また、上述した説明では、コアユニット７０とゲーム装置本体５とが無線通信によって接続された態様を用いたが、コアユニット７０とゲーム装置本体５とがケーブルを介して電気的に接続されてもかまわない。この場合、コアユニット７０に接続されたケーブルをゲーム装置本体５の接続端子に接続する。
【０１５６】
また、コントローラ７を構成するコアユニット７０およびバイタルセンサ７６のうち、コアユニット７０のみに通信部７５を設けたが、バイタルセンサ７６にゲーム装置本体５へ生体信号データを無線送信する通信部を設けてもかまわない。また、コアユニット７０およびバイタルセンサ７６それぞれに上記通信部を設けてもかまわない。例えば、コアユニット７０およびバイタルセンサ７６に設けられた通信部がそれぞれゲーム装置本体５へ生体信号データや操作データを無線送信してもいいし、バイタルセンサ７６の通信部からコアユニット７０へ生体信号データを無線送信してコアユニット７０の通信部７５で受信した後、コアユニット７０の通信部７５がバイタルセンサ７６の生体信号データと共にコアユニット７０の操作データをゲーム装置本体５へ無線送信してもいい。これらの場合、コアユニット７０とバイタルセンサ７６とを電気的に接続する接続ケーブル７９が不要となる。
【０１５７】
また、上述したコアユニット７０の形状や、それに設けられている操作部７２の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述したバイタルセンサ７６の形状や、それに設けられている構成要素の種類、数、および設置位置等は、単なる一例に過ぎず他の種類、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した処理で用いられる係数、判定値、数式、処理順序等は、単なる一例に過ぎず他の値や数式や処理順序であっても、本発明を実現できることは言うまでもない。
【０１５８】
また、上記ゲームプログラム（呼吸指示プログラム）は、光ディスク４等の外部記憶媒体を通じてゲーム装置本体５に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体５に供給されてもよい。また、上記プログラムは、ゲーム装置本体５内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体の他に、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、不揮発性メモリなどでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【０１５９】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１６０】
本発明に係る呼吸指示プログラム、呼吸指示装置、呼吸指示システム、および呼吸指示処理方法は、呼気動作および／または吸気動作を促す期間等が容易に認識可能となり、ユーザに対して呼吸をするべきタイミングを指示する処理を行う呼吸指示プログラム、呼吸指示装置、呼吸指示システム、および呼吸指示処理方法等として有用である。
【符号の説明】
【０１６１】
１…ゲームシステム
２…モニタ
２ａ、７０６…スピーカ
３…ゲーム装置
４…光ディスク
５…ゲーム装置本体
１０…ＣＰＵ
１１…システムＬＳＩ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…無線通信モジュール
１９…無線コントローラモジュール
２０…拡張コネクタ
２１…外部メモリカード用コネクタ
２２、２３…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
３１…入出力プロセッサ
３２…ＧＰＵ
３３…ＤＳＰ
３４…ＶＲＡＭ
３５…内部メインメモリ
７…コントローラ
７０…コアユニット
７１…ハウジング
７２…操作部
７３、７９１…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
７００…基板
７０１…加速度センサ
７０２…ＬＥＤ
７０４…バイブレータ
７０７…サウンドＩＣ
７０８…アンプ
７６…バイタルセンサ
７６１…制御部
７６２…発光部
７６３…受光部
７９…接続ケーブル
８…マーカ
【図１】
0005578518.tif 000002
【図２】
0005578518.tif 000003
【図３】
0005578518.tif 000004
【図４】
0005578518.tif 000005
【図５】
0005578518.tif 000006
【図６】
0005578518.tif 000007
【図７】
0005578518.tif 000008
【図８】
0005578518.tif 000009
【図９】
0005578518.tif 000010
【図１０】
0005578518.tif 000011
【図１１】
0005578518.tif 000012
【図１２Ａ】
0005578518.tif 000013
【図１２Ｂ】
0005578518.tif 000014
【図１２Ｃ】
0005578518.tif 000015
【図１３Ａ】
0005578518.tif 000016
【図１３Ｂ】
0005578518.tif 000017
【図１３Ｃ】
0005578518.tif 000018
【図１４】
0005578518.tif 000019
【図１５】
0005578518.tif 000020
【図１６】
0005578518.tif 000021
【図１７】
0005578518.tif 000022