(57)【要約】【課題】送信するデータ量が比較的大きい、機能を拡張する拡張機器であっても周辺機器と接続することが可能な入力システムを提供する。【解決手段】プロセッサは、所定期間が経過したかどうかを判断する（ステップＳ４）。所定期間が経過したと判断した場合には、モード０か否かを判断する（ステップＳ６）。モード０であると判断した場合には、リモコンボタンデータ、リモコン加速度データ、リモコンＤＰＤデータを含めた無線パケットを生成する（ステップＳ８）。そして、生成した無線パケットをゲーム装置に送信する（ステップＳ１０）。プロセッサは、モード１であると判断した場合には、リモコンボタンデータ、リモコン加速度データのリモコン情報と、リモコンＤＰＤデータの代わりに前回の脈波データと今回の脈波データと受光レベルデータを含めた生体情報とを含めた無線パケットを生成する（ステップＳ１４）。【選択図】図１４
2010246684.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置にデータを送信する周辺機器と、前記周辺機器と接続可能な拡張機器とにより構成される入力システムであって、
前記周辺機器は、
第１の入力データを生成する第１のデータ生成手段と、
前記情報処理装置に対して所定量の送信データを送信することが可能な通信手段とを含み、
前記拡張機器は、拡張機器データを生成する拡張機器データ生成手段を含み、
前記通信手段は、第１のモードにおいて、前記第１のデータ生成手段で生成された前記第１の入力データを前記送信データに含めて送信し、第２のモードにおいて、前記第１の入力データの代わりに前記拡張機器から入力された前記拡張機器データを前記送信データに含めて送信する、入力システム。
【請求項２】
前記周辺機器は、第２の入力データを生成する第２のデータ生成手段をさらに含み、
前記通信手段は、前記第１のモードにおいて、前記第１および第２の入力データを前記送信データに含めて送信し、前記第２のモードにおいて、前記第２のデータ生成手段で生成された前記第２の入力データおよび前記拡張機器データを前記送信データに含めて送信する、請求項１記載の入力システム。
【請求項３】
前記通信手段は、前記情報処理装置との間で無線通信を実行する、請求項１記載の入力システム。
【請求項４】
前記拡張機器と前記周辺機器とは有線で接続される、請求項１記載の入力システム。
【請求項５】
前記通信手段は、前記送信データを生成する送信データ生成手段を有し、
前記送信データ生成手段は、第３のモードにおいて、前記拡張機器から入力された前記拡張機器データのデータ量を縮小した拡張機器縮小データを生成し、前記第１の入力データおよび前記拡張機器縮小データを含めた前記送信データを生成する、請求項１記載の入力システム。
【請求項６】
前記通信手段は、前記送信データを生成する送信データ生成手段を有し、
前記送信データ生成手段は、第３のモードにおいて、前記拡張機器から入力された前記拡張機器データのデータ量を縮小した拡張機器縮小データを生成し、前記第１および第２の入力データと、前記拡張機器縮小データを含めた前記送信データを生成する、請求項２記載の入力システム。
【請求項７】
前記拡張機器データは、データを補間するための補間データを含み、
前記送信データ生成手段は、前記第３のモードにおいて、前記補間データを含まない前記拡張機器縮小データを生成する、請求項５または６記載の入力システム。
【請求項８】
前記拡張機器データ生成手段は、指示に従って調整が可能なサンプリング周波数に応じた複数個のデータを前記拡張機器データとして前記周辺機器に出力し、
前記送信データ生成手段は、前記拡張機器の前記サンプリング周波数を調整するように指示する、請求項５または６記載の入力システム。
【請求項９】
前記拡張機器データは、各々が複数ビットで構成される複数個のデータで構成され、
前記送信データ生成手段は、各データのビット数を縮小した前記拡張機器縮小データを生成する、請求項５または６記載の入力システム。
【請求項１０】
前記拡張機器縮小データは、前記拡張機器データよりもデータ量が少ない、請求項５または６記載の入力システム。
【請求項１１】
前記第１の入力データは、座標指示データである、請求項１記載の入力システム。
【請求項１２】
前記周辺機器は、撮像画像データを取得する撮像部を含み、
前記第１の入力データは、前記撮像部によって取得した撮像画像データ自体あるいは前記撮像部によって取得した撮像画像データに所定の演算処理を実行したデータである、請求項１記載の入力システム。
【請求項１３】
前記第２の入力データは、加速度データである、請求項２記載の入力システム。
【請求項１４】
前記拡張機器データは、生体情報データである、請求項１記載の入力システム。
【請求項１５】
情報処理装置と、前記情報処理装置の操作機器と、前記操作機器と接続可能な拡張機器とを備える情報処理システムであって、
前記操作機器は、
操作データを生成する操作データ生成手段と、
座標指示データを生成する座標指示データ生成手段と、
前記情報処理装置に対して所定量の送信データを送信することが可能な通信手段とを備え、
前記拡張機器は、拡張機器データを生成する拡張機器データ生成手段を含み、
前記通信手段は、第１のモードにおいて、前記操作データ生成手段で生成された前記操作データと、前記座標指示データ生成手段で生成された前記座標指示データとを前記送信データに含めて送信し、第２のモードにおいて、前記操作データと、前記座標指示データの代わりに前記拡張機器から入力された前記拡張機器データとを前記送信データに含めて送信する、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、周辺機器に機能の拡張が可能な拡張機器を接続した入力システムおよび情報処理システムに関する。
【背景技術】
【０００２】
従来から、本体となる情報処理装置の周辺機器に対して、さらに拡張機器を接続することで機能の拡張が可能となるような構成が採用されている。例えば、特開平１１−３１２０４３号公報においては、キーボードに周辺機器ユニット装着用のスロットが形成されており、当該スロットに機能ユニットを装着することで、ユーザの手元で機能ユニットを操作することが可能な構成が開示されている。
【０００３】
また、特開平２００７−８３０１３号公報には、「Ｗｉｉリモコン」（Ｗｉｉ：登録商標）に拡張コントローラを装着した構成が示されている。Ｗｉｉリモコンには、自身の傾きや動きの変化を検出する３軸のモーションセンサが備えられている。拡張コントローラである「ヌンチャク」にもまた、３軸のモーションセンサが備えられている。メインのコントローラであるＷｉｉリモコンには、拡張コネクタが設けられており、拡張コントローラであるヌンチャクは、この拡張コネクタを介してＷｉｉリモコンに接続される。
【０００４】
ユーザは、あるゲームでは、Ｗｉｉリモコンを片方の手で把持して、Ｗｉｉリモコンを動かすことにより操作を行う。別のゲームでは、Ｗｉｉリモコンを片方の手で、ヌンチャクをもう片方の手でそれぞれ把持して、Ｗｉｉリモコンおよびヌンチャクをそれぞれ動かすことにより操作が可能な構成が示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３１２０４３号公報
【特許文献２】特開２００７−８３０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方で、上記構成においては、情報処理装置と直接データの送受信を実行するのは周辺機器であるＷｉｉリモコンであり、当該周辺機器であるＷｉｉリモコンは、自身の操作データとともに、拡張機器の操作データとの両方を本体である情報処理装置とやり取りしていた。
【０００７】
しかしながら、周辺機器であるＷｉｉリモコンが本体である情報処理装置と通信可能なデータ量には限りがあるため、送信するデータ量が大きい機器は、拡張機器として周辺機器と接続することはできないという問題があった。
【０００８】
本発明の目的は、上記のような問題を解決するためになされたものであって、送信するデータ量が比較的大きい、機能を拡張する拡張機器であっても周辺機器と接続することが可能な入力システム、および情報処理システムを提供することである。
【課題を解決するための手段】
【０００９】
この発明の第１の局面に従う情報処理装置（１２：実施の形態で相当する参照符号。以下同じ。）にデータを送信する周辺機器（２２）と、周辺機器と接続可能な拡張機器（７８）とにより構成される入力システムであって、周辺機器は、第１の入力データ（Ｄｄ）を生成する第１のデータ生成手段（８０）と、情報処理装置に対して所定量の送信データを送信することが可能な通信手段（７５）とを含む。拡張機器は、拡張機器データ（Ｄｖ０）を生成する拡張機器データ生成手段（７６１）を含む。通信手段は、第１のモードにおいて、第１のデータ生成手段で生成された第１の入力データを送信データに含めて送信し、第２のモードにおいて、第１の入力データの代わりに拡張機器から入力された拡張機器データを送信データに含めて送信する。
【００１０】
第１の局面によれば、第２のモード（モード１）の場合に、第１のモード（モード０）の場合に送信する入力データとしてパケットに含められていたリモコンＤＰＤデータの代わりに、バイタルセンサから出力される生体情報データを入力データとしてパケットに含める。したがって、送信するデータ量に限りがある場合に、生体情報データのような比較的大きいデータ量を送信する場合であってもリモコンＤＰＤデータの代わりに、パケットに含めることにより送信することが可能となる。すなわち、送信するデータ量が比較的大きい、機能を拡張する拡張機器であっても周辺機器に接続することが可能となる。それゆえ、拡張機器として接続可能なデバイスの幅を広げることが可能である。
【００１１】
好ましい第２の局面に従えば、周辺機器は、第２の入力データ（Ｄｃ）を生成する第２のデータ生成手段（７４）をさらに含む。通信手段は、第１のモードにおいて、第１および第２の入力データを送信データに含めて送信し、第２のモードにおいて、第２のデータ生成手段で生成された第２の入力データおよび拡張機器データを送信データに含めて送信する。
【００１２】
第２の局面によれば、第２のモード（モード１）の場合において、バイタルセンサから出力される生体情報データと、リモコン加速度データを入力データとしてパケットに含める。したがって、生体情報データとともに、リモコン加速度データとをパケットに含めることにより、情報処理装置に入力される入力データの種類が増えることにより、例えばゲームのようなアプリケーションにおいて、さらに自由度の高いゲーム操作が可能となる。
【００１３】
好ましい第３の局面に従えば、通信手段は、情報処理装置との間で無線通信を実行する。
【００１４】
第３の局面によれば、情報処理装置との間で無線通信を実行することにより、コントローラの操作性がさらに向上する。
【００１５】
好ましい第４の局面に従えば、拡張機器と周辺機器とは有線（７９）で接続される。
第４の局面によれば、バイタルセンサとコントローラとを有線接続することにより、バイタルセンサからコントローラへのデータの送信において、コントローラの通信手段との間での電波干渉を考慮する必要が無く、安定してデータをバイタルセンサからコントローラに出力することが可能である。
【００１６】
好ましい第５の局面に従えば、通信手段は、送信データを生成する送信データ生成手段（７０）を有する。送信データ生成手段は、第３のモードにおいて、拡張機器から入力された拡張機器データのデータ量を縮小した拡張機器縮小データを生成し、第１の入力データおよび拡張機器縮小データを含めた送信データを生成する。
【００１７】
好ましい第６の局面に従えば、通信手段は、送信データを生成する送信データ生成手段（７０）を有する。送信データ生成手段は、第３のモードにおいて、拡張機器から入力された拡張機器データのデータ量を縮小した拡張機器縮小データを生成し、第１および第２の入力データと、拡張機器縮小データを含めた送信データを生成する。
【００１８】
第５または第６の局面によれば、バイタルセンサから入力される生体情報データのデータ量を縮小するため、生体情報データのデータ量を抑制して、ＤＰＤデータ等とともに、情報処理装置に送信するため、送信可能なデータ量を有効に用いて送信することが可能となり、入力データの種類が異なる種々のアプリケーションに対応させたデータ送信が可能となる。
【００１９】
好ましい第７の局面に従えば、拡張機器データは、データを補間するための補間データ（Ｄｆ１）を含む。送信データ生成手段（７０；Ｓ１８，Ｓ２０）は、第３のモードにおいて、補間データを含まない拡張機器縮小データ（Ｄｖ１）を生成する。
【００２０】
第７の局面によれば、生体情報データに補間データが含まれるためパケットロスにより、前回の無線パケットが消失した場合であっても１つ前の生体情報データが含まれているためパケットロスを補間することが可能である。すなわち、通信障害によってパケットロスが発生した場合であっても、情報処理装置におけるユーザの生体信号の再現性を確保することが可能であり、情報処理装置における処理を円滑に実行することが可能である。
【００２１】
好ましい第８の局面に従えば、拡張機器データ生成手段は、指示に従って調整が可能なサンプリング周波数に応じた複数個のデータを周辺機器に出力する。送信データ生成手段は、拡張機器のサンプリング周波数を調整するように指示する。
【００２２】
好ましい第９の局面に従えば、拡張機器データは、各々が複数ビットで構成される複数個のデータで構成される。送信データ生成手段（７０；Ｓ２４，Ｓ２６）は、各データのビット数を縮小した拡張機器縮小データ（Ｄｈ４）を生成する。
【００２３】
好ましい第１０の局面に従えば、拡張機器縮小データは、拡張機器データよりもデータ量が少ない。
【００２４】
第８ないし第１０の局面によれば、バイタルセンサから入力される生体情報データのデータ量を簡易に縮小することが可能である。
【００２５】
好ましい第１１の局面に従えば、第１の入力データは、座標指示データ（Ｄｄ）である。
【００２６】
第１１の局面によれば、リモコンＤＰＤデータの代わりに、拡張機器データを送信データに含めるためリモコンＤＰＤデータと同程度の比較的大きなデータ量の拡張機器データを送信することが可能である。
【００２７】
好ましい第１２の局面に従えば、周辺機器は、撮像画像データを取得する撮像部（８０ｃ）を含む。第１の入力データは、撮像部によって取得した撮像画像データ自体あるいは撮像部によって取得した撮像画像データに所定の演算処理を実行したデータである。
【００２８】
第１２の局面によれば、撮像画像データ自体あるいは撮像画像データに所定の演算処理を実行したデータの代わりに、拡張機器データを送信データに含めるため、比較的大きなデータ量の拡張機器データを送信することが可能である。
【００２９】
好ましい第１３の局面に従えば、第２の入力データは、加速度データ（Ｄｃ）である。
第１３の局面によれば、バイタルセンサから出力される生体情報データと、リモコン加速度データを入力データとしてパケットに含める。したがって、生体情報データとともに、リモコン加速度データとをパケットに含めることにより、情報処理装置に入力される入力データの種類が増えることにより、例えばゲームのようなアプリケーションにおいて、さらに自由度の高いゲーム操作が可能となる。
【００３０】
好ましい第１４の局面に従えば、拡張機器データは、生体情報データ（Ｄｖ０）である。
【００３１】
第１４の局面によれば、生体情報データのような比較的大きいデータ量を送信することが可能である。
【００３２】
この発明の第１５の局面に従う情報処理システム（１）は、情報処理装置（１２）と、情報処理装置の操作機器（２２）と、操作機器と接続可能な拡張機器（７８）とを備える情報処理システムであって、操作機器は、操作データを生成する操作データ生成手段（２６）と、座標指示データを生成する座標指示データ生成手段（８０）と、情報処理装置に対して所定量の送信データを送信することが可能な通信手段（７５）とを含む。拡張機器は、拡張機器データを生成する拡張機器データ生成手段（７６１）を含む。通信手段は、第１のモードにおいて、操作データ生成手段で生成された操作データ（Ｄｂ）と、座標指示データ生成手段で生成された座標指示データ（Ｄｄ）とを送信データに含めて送信し、第２のモードにおいて、操作データと、座標指示データの代わりに拡張機器から入力された拡張機器データ（Ｄｖ０）とを送信データに含めて送信する。
【００３３】
第１５の局面によれば、第２のモード（モード１）の場合に、第１のモード（モード０）の場合に送信する入力データとしてパケットに含められていたリモコンＤＰＤデータの代わりに、バイタルセンサから出力される生体情報データを入力データとしてパケットに含める。したがって、送信するデータ量に限りがある場合に、生体情報データのような比較的大きいデータ量を送信する場合であってもリモコンＤＰＤデータの代わりに、パケットに含めることにより送信することが可能となる。すなわち、送信するデータ量が比較的大きい、機能を拡張する拡張機器であっても周辺機器に接続することが可能となる。それゆえ、拡張機器として接続可能なデバイスの幅を広げた情報処理システムを実現することが可能となる。
【００３４】
上述の記載においては、本発明の理解を助けるために後述の実施形態との対応関係を示すための参照符号および補足説明等を付したが、これらは本発明を何ら限定するものではない。
【発明の効果】
【００３５】
この発明によれば、送受信するデータ量が比較的大きい拡張機器であっても周辺機器に接続して機能を拡張することが可能である。
【図面の簡単な説明】
【００３６】
【図１】この発明の実施の形態に従う情報処理システムの一種であるビデオゲームシステム１について説明する図である。
【図２】図１に示すビデオゲームシステム１の電気的な構成を示すブロック図である。
【図３】コントローラ２２の外観の一例を示す図である図である。
【図４】コントローラ２２の電気的な構成について主に説明する図である。
【図５】コントローラ２２を用いてゲームプレイする状態の一例について説明する図である。
【図６】マーカ３４０ｍおよび３４０ｎと、コントローラ２２との視野角について説明する図である。
【図７】対象画像を含む撮像画像の一例について説明する図である。
【図８】バイタルセンサ７８について説明する図である。
【図９】脈波信号について説明する図である。
【図１０】バイタルセンサ７８と接続されたコントローラ２２を用いてゲームプレイする状態の一例について説明する図である。
【図１１】バイタルセンサ７８を用いたゲームについて説明する図である。
【図１２】ゲーム処理において用いられるコントローラ２２からゲーム装置１２に出力される無線パケットのデータ構成について説明する図である。
【図１３】無線パケットの各モードに従うフォーマットのデータ構成について説明する図である。
【図１４】コントローラ２２の通信部で実行される無線パケットの処理について説明する図である。
【発明を実施するための最良の形態】
【００３７】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００３８】
＜ゲーム装置の構成＞
図１を用いて、この発明の実施の形態に従う情報処理システムの一種であるビデオゲームシステム１について説明する。
【００３９】
図１を参照して、この発明の実施の形態に従うビデオゲームシステム１は、ゲーム装置１２、コントローラ２２、バイタルセンサ７８を含む。ゲーム装置１２は、据置型ゲーム装置である。コントローラ２２は、ユーザないしプレイヤの入力装置ないし操作装置であるゲーム装置１２の周辺機器の一種である。バイタルセンサ７８は人の生体情報を検知する拡張機器の一種であり、コントローラ２２と接続することが可能である。
【００４０】
本実施の形態に従うゲーム装置１２は、コントローラ２２と通信可能に設計されている。また、ゲーム装置１２とコントローラ２２とは、無線によって接続される。たとえば、無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
【００４１】
ゲーム装置１２は、略直方体のハウジング１４を含み、ハウジング１４の前面にはディスクスロット１６が設けられる。ディスクスロット１６から、ゲームプログラム等を記憶した記憶媒体の典型例である光ディスク１８が挿入されて、ハウジング１４内のディスクドライブ５４（図２参照）に装着される。ディスクスロット１６の周囲には、ＬＥＤと導光板が配置され、さまざまな処理に応答させて点灯させることが可能である。
【００４２】
また、ゲーム装置１２のハウジング１４の前面において、その上部には、電源ボタン２０ａおよびリセットボタン２０ｂが設けられ、その下部には、イジェクトボタン２０ｃが設けられる。さらに、リセットボタン２０ｂとイジェクトボタン２０ｃとの間であり、ディスクスロット１６の近傍には、外部メモリカード用コネクタカバー２８が設けられる。この外部メモリカード用コネクタカバー２８の内側には、外部メモリカード用コネクタ６２（図２参照）が設けられ、図示しない外部メモリカード（以下、単に「メモリカード」とも称す。）が挿入される。メモリカードは、光ディスク１８から読み出したゲームプログラム等をローディングして一時的に記憶したり、このビデオゲームシステム１を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ）を保存（セーブ）しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカードに対して行なうことに代えて、たとえばゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）のような内部メモリに対して行なうようにしてもよい。また、メモリカードは、内部メモリのバックアップメモリとして用いるようにしてもよい。また、ゲームプログラム等は、ネットワーク接続されたサーバなどから、有線または無線の通信回線を通じて、ゲーム装置１２に供給（ダウンロード）されてもよい。このようにダウンロードされたゲームプログラム等については、ゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）やメモリカードに記憶される。
【００４３】
なお、メモリカードとしては、汎用のＳＤ（Secured Digital）カードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。
【００４４】
ゲーム装置１２のハウジング１４の後面には、ＡＶケーブルコネクタ５８（図２参照）が設けられる。そのＡＶケーブルコネクタ５８には、ＡＶケーブル３２ａを通してゲーム装置１２にモニタ３４（表示部）およびスピーカ３４ａ（音声出力部）が接続される。このモニタ３４およびスピーカ３４ａは、典型的には、カラーテレビジョン受像機である。ＡＶケーブル３２ａは、ゲーム装置１２からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ（モニタ）３４の画面上には、たとえば３次元（３Ｄ）ビデオゲームのゲーム画像が表示され、左右のスピーカ３４ａからは、ゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ３４の周辺（図１に示す例では、モニタ３４の上側）には、２つの赤外線ＬＥＤ（マーカ）３４０ｍ，３４０ｎを有するマーカ部３４ｂが設けられる。このマーカ部３４ｂは、電源ケーブル３２ｂを通してゲーム装置１２に接続される。したがって、マーカ部３４ｂには、ゲーム装置１２から電源が供給される。これによって、マーカ３４０ｍ，３４０ｎは発光し、それぞれモニタ３４の前方に向けて赤外光を出力する。
【００４５】
なお、ゲーム装置１２の電源は、一般的なＡＣアダプタ（図示せず）によって供給される。ＡＣアダプタは、家庭用の標準的な壁ソケットに差し込まれ、家庭用電源（商用電源）を、ゲーム装置１２の駆動に適した低いＤＣ電圧信号に変換する。他の実現例では、電源としてバッテリが用いられてもよい。
【００４６】
このビデオゲームシステム１において、ユーザがゲーム（または、ゲームに限らず、他のアプリケーション）をプレイする場合には、ユーザは、まずゲーム装置１２の電源をオンし、次いで、ビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）のプログラムを記録している適宜の光ディスク１８を選択し、その光ディスク１８をゲーム装置１２のディスクドライブ５４にローディングする。すると、ゲーム装置１２は、その光ディスク１８に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。あるいは、ゲーム装置１２は、予めサーバからダウンロードされフラッシュメモリ４４（図２参照）などに格納されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始めることもできる。
【００４７】
ユーザは、コントローラ２２を操作して、ゲーム装置１２に入力を与える。たとえば、入力部２６のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。また、入力部２６に対する操作以外にも、コントローラ２２自体を動かすことによって、動画オブジェクト（ユーザオブジェクト）を異なる方向に移動させ、または３Ｄのゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。
【００４８】
図２を用いて、図１に示すビデオゲームシステム１の電気的な構成について説明する。
図２を参照して、ハウジング１４内の各コンポーネントは、プリント基板に実装される。図２に示すように、ゲーム装置１２には、ＣＰＵ４０が設けられる。このＣＰＵ４０は、ゲームプロセッサとして機能する。このＣＰＵ４０には、システムＬＳＩ４２が接続される。このシステムＬＳＩ４２には、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８、ディスクドライブ５４およびＡＶ＿ＩＣ５６が接続される。
【００４９】
外部メインメモリ４６は、各種アプリケーションのプログラムを記憶したり、各種データを記憶したりし、ＣＰＵ４０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ４８は、いわゆるブートＲＯＭであり、ゲーム装置１２の起動用のプログラムが組み込まれるとともに、時間をカウントする計時回路が設けられる。すなわち、ＣＰＵ４０は、ＲＯＭ／ＲＴＣ４８を参照することで、現在の日時（年月日および時刻）を取得する。ディスクドライブ５４は、光ディスク１８からプログラムデータやテクスチャデータ等を読み出し、ＣＰＵ４０の制御の下で、後述する内部メインメモリ４２ｅまたは外部メインメモリ４６に書込む。
【００５０】
システムＬＳＩ４２には、入出力プロセッサ４２ａ、ＧＰＵ(Graphics Processor Unit)４２ｂ、ＤＳＰ(Digital Signal Processor)４２ｃ、ＶＲＡＭ４２ｄ、および内部メインメモリ４２ｅが設けられ、これらは内部バスによって互いに接続される。
【００５１】
入出力プロセッサ（Ｉ／Ｏプロセッサ）４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。データの送受信やダウンロードについては後で詳細に説明する。
【００５２】
ＧＰＵ４２ｂは、描画手段の一部を形成し、ＣＰＵ４０からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵ４０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ４２ｂに与える。
【００５３】
上述したように、ＧＰＵ４２ｂにはＶＲＡＭ４２ｄが接続される。ＧＰＵ４２ｂが作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ４２ｂがＶＲＡＭ４２ｄにアクセスして取得する。なお、ＣＰＵ４０は、描画に必要な画像データを、ＧＰＵ４２ｂを介してＶＲＡＭ４２ｄに書込む。ＧＰＵ４２ｂは、ＶＲＡＭ４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００５４】
なお、この本実施の形態では、ＧＰＵ４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外のなんらかのアプリケーションを実行する場合には、ＧＰＵ４２ｂは当該アプリケーションについての画像データを生成する。
【００５５】
また、ＤＳＰ４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ４２ｅや外部メインメモリ４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ３４ａから出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００５６】
上述のように生成されたゲーム画像データおよびオーディオデータは、ＡＶ＿ＩＣ５６によって読み出され、ＡＶケーブルコネクタ５８を介してモニタ３４およびスピーカ３４ａに出力される。したがって、ゲーム画面がモニタ３４に表示され、ゲームに必要な音（音楽）がスピーカ３４ａから出力される。
【００５７】
また、入出力プロセッサ４２ａには、フラッシュメモリ４４、無線通信モジュール５０および無線コントローラモジュール５２が接続されるとともに、拡張コネクタ６０および外部メモリカード用コネクタ６２が接続される。また、無線通信モジュール５０にはアンテナ５０ａが接続され、無線コントローラモジュール５２にはアンテナ５２ａが接続される。
【００５８】
入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。
【００５９】
また、入出力プロセッサ４２ａは、コントローラ２２から送信される入力データをアンテナ５２ａおよび無線コントローラモジュール５２を介して受信し、内部メインメモリ４２ｅまたは外部メインメモリ４６のバッファ領域に記憶（一時記憶）する。入力データは、ＣＰＵ４０のゲーム処理によって利用された後、バッファ領域から消去される。
【００６０】
なお、この本実施の形態では、上述したように、無線コントローラモジュール５２は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格にしたがってコントローラ２２との間で通信を行なう。
【００６１】
さらに、入出力プロセッサ４２ａには、拡張コネクタ６０および外部メモリカード用コネクタ６２が接続される。拡張コネクタ６０は、ＵＳＢやＳＣＳＩのようなインターフェイスのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ６０に有線ＬＡＮアダプタを接続し、無線通信モジュール５０に代えて当該有線ＬＡＮを利用することもできる。外部メモリカード用コネクタ６２には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ４２ａは、拡張コネクタ６０や外部メモリカード用コネクタ６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００６２】
図２にも示したように、ゲーム装置１２（ハウジング１４）には、電源ボタン２０ａ、リセットボタン２０ｂおよびイジェクトボタン２０ｃが設けられる。電源ボタン２０ａは、システムＬＳＩ４２に接続される。この電源ボタン２０ａがオンされると、システムＬＳＩ４２は、ゲーム装置１２の各コンポーネントに図示しないＡＣアダプタを経て電源が供給され、通常の通電状態となるモード（通常モードと呼ぶこととする）を設定する。一方、電源ボタン２０ａがオフされると、システムＬＳＩ４２は、ゲーム装置１２の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード（以下、「スタンバイモード」とも称す。）を設定する。この本実施の形態では、スタンバイモードが設定された場合には、システムＬＳＩ４２は、入出力プロセッサ４２ａ、フラッシュメモリ４４、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８および無線通信モジュール５０、無線コントローラモジュール５２以外のコンポーネントに対して、電源供給を停止する指示を行なう。したがって、このスタンバイモードは、ＣＰＵ４０によってアプリケーションの実行が行なわれないモードである。
【００６３】
なお、システムＬＳＩ４２には、スタンバイモードにおいても電源が供給されるが、ＧＰＵ４２ｂ、ＤＳＰ４２ｃおよびＶＲＡＭ４２ｄへのクロックの供給を停止することにより、これらを駆動させないようにして、消費電力を低減するようにしてある。
【００６４】
また、ゲーム装置１２のハウジング１４内部には、ＣＰＵ４０やシステムＬＳＩ４２などのＩＣの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン２０ａがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
【００６５】
また、通常モードとスタンバイモードの切り替えは、コントローラ２２の電源スイッチ２６ｈのオン／オフの切り替えによっても遠隔操作によって行なうことが可能である。当該遠隔操作を行なわない場合には、スタンバイモードにおいて無線コントローラモジュール５２への電源供給を行なわない設定にしてもよい。
【００６６】
リセットボタン２０ｂもまた、システムＬＳＩ４２に接続される。リセットボタン２０ｂが押されると、システムＬＳＩ４２は、ゲーム装置１２の起動プログラムを再起動する。イジェクトボタン２０ｃは、ディスクドライブ５４に接続される。イジェクトボタン２０ｃが押されると、ディスクドライブ５４から光ディスク１８が排出される。
【００６７】
＜コントローラの構成＞
図３（Ａ）〜図３（Ｅ）は、コントローラ２２の外観の一例を示す。図３（Ａ）はコントローラ２２の先端面を示し、図３（Ｂ）はコントローラ２２の上面を示し、図３（Ｃ）はコントローラ２２の右側面を示し、図３（Ｄ）はコントローラ２２の下面を示し、そして、図３（Ｅ）はコントローラ２２の後端面を示す。
【００６８】
図３（Ａ）〜図３（Ｅ）を参照して、コントローラ２２は、たとえばプラスチック成型によって形成されたハウジング２２ａを有している。ハウジング２２ａは、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング２２ａ（コントローラ２２）には、入力手段（複数のボタンないしスイッチ）２６が設けられる。具体的には、図３（Ｂ）に示すように、ハウジング２２ａの上面には、十字キー２６ａ，１ボタン２６ｂ，２ボタン２６ｃ，Ａボタン２６ｄ，−ボタン２６ｅ，ＨＯＭＥボタン２６ｆ，＋ボタン２６ｇおよび電源スイッチ２６ｈが設けられる。また、図３（Ｃ）および図３（Ｄ）に示すように、ハウジング２２ａの下面に傾斜面が形成されており、この傾斜面に、Ｂトリガースイッチ２６ｉが設けられる。
【００６９】
十字キー２６ａは、４方向プッシュスイッチであり、矢印で示す４つの方向、前（または上）、後ろ（または下）、右および左の操作部を含む。この操作部のいずれか１つを操作することによって、ユーザによって操作可能なキャラクタまたはオブジェクト（ユーザキャラクタまたはユーザオブジェクト）の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【００７０】
１ボタン２６ｂおよび２ボタン２６ｃは、それぞれ、押しボタンスイッチである。たとえば３次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。または、１ボタン２６ｂおよび２ボタン２６ｃは、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉと同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
【００７１】
Ａボタン２６ｄは、押しボタンスイッチであり、ユーザキャラクタまたはユーザオブジェクトに、方向指示以外の動作、すなわち、打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。
【００７２】
−ボタン２６ｅ、ＨＯＭＥボタン２６ｆ、＋ボタン２６ｇおよび電源スイッチ２６ｈもまた、押しボタンスイッチである。−ボタン２６ｅは、ゲームモードを選択するために使用される。ＨＯＭＥボタン２６ｆは、ゲームメニュー（メニュー画面）を表示するために使用される。＋ボタン２６ｇは、ゲームを開始（再開）したり、一時停止したりするなどのために使用される。電源スイッチ２６ｈは、ゲーム装置１２の電源を遠隔操作によってオン／オフするために使用される。
【００７３】
なお、この本実施の形態では、コントローラ２２自体をオン／オフするための電源スイッチは設けておらず、コントローラ２２の入力部２６のいずれかを操作することによってコントローラ２２はオンとなり、一定時間（たとえば、３０秒）以上操作しなければ自動的にオフとなるようにしてある。
【００７４】
Ｂトリガースイッチ２６ｉもまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ２２で選択した位置を指定したりするために使用される。また、Ｂトリガースイッチ２６ｉを押し続けると、ユーザオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Ｂトリガースイッチ２６ｉは、通常のＢボタンと同様に機能し、Ａボタン２６ｄによって決定したアクションを取り消すなどのために使用される。
【００７５】
また、図３（Ｅ）に示すように、ハウジング２２ａの後端面に外部拡張コネクタ２２ｂが設けられ、また、図３（Ｂ）に示すように、ハウジング２２ａの上面であり、後端面側にはインジケータ２２ｃが設けられる。外部拡張コネクタ２２ｂは、後述する拡張機器であるバイタルセンサ７８を接続するためなどに使用される。インジケータ２２ｃは、たとえば、４つのＬＥＤで構成され、４つのうちのいずれか１つを点灯することにより、点灯ＬＥＤに対応するコントローラ２２の識別情報（コントローラ番号）を示したり、点灯させるＬＥＤの個数によってコントローラ２２の電源残量を示したりすることができる。
【００７６】
さらに、コントローラ２２は、撮像情報演算部８０（図３参照）を有しており、図３（Ａ）に示すように、ハウジング２２ａの先端面には撮像情報演算部８０の光入射口２２ｄが設けられる。また、コントローラ２２は、スピーカ８６（図３参照）を有しており、このスピーカ８６は、図３（Ｂ）に示すように、ハウジング２２ａの上面であり、１ボタン２６ｂとＨＯＭＥボタン２６ｆとの間に設けられる音抜き孔２２ｅに対応して、ハウジング２２ａ内部に設けられる。
【００７７】
なお、図３（Ａ）〜図３（Ｅ）に示したコントローラ２２の形状や、各入力部２６の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変された場合であっても、本発明の本質に包含される。
【００７８】
当該コントローラ２２は、この本実施の形態では、図１に示される拡張機器であるバイタルセンサ７８と接続された状態で用いられる。具体的には、ハウジング２２ａの後端面に設けられた外部拡張コネクタ２２ｂとバイタルセンサ７８のコネクタとが接続される。
【００７９】
図４を用いて、コントローラ２２の電気的な構成について主に説明する。
この図４を参照して、コントローラ２２はプロセッサ７０を含み、このプロセッサ７０には、内部バス（図示せず）によって、外部拡張コネクタ２２ｂ、入力部２６、メモリ７２、加速度センサ７４、無線モジュール７６、撮像情報演算部８０、ＬＥＤ８２（インジケータ２２ｃ）、バイブレータ８４、スピーカ８６および電源回路８８が接続される。また、無線モジュール７６には、アンテナ７１が接続される。当該無線モジュール７６とプロセッサ７０によりゲーム装置１２とデータ通信を実行する通信部７５を構成する。なお、外部拡張コネクタ２２ｂは、バイタルセンサ７８のコネクタ７７と接続されている。そして、バイタルセンサ本体７３は、ケーブル７９、コネクタ７７、外部拡張コネクタ２２ｂを介してプロセッサ７０と接続され、プロセッサ７０に、バイタルセンサ本体７３からの生体情報データが入力される。バイタルセンサ７８は、ケーブル７９を介してコントローラ２２と接続されているためコントローラ２２の無線モジュール７６との間で電波干渉を考慮する必要が無く、安定してデータをコントローラ２２に出力することが可能である。
【００８０】
プロセッサ７０は、コントローラ２２の全体制御を司り、入力部２６、加速度センサ７４、撮像情報演算部８０および外部拡張コネクタ２２ｂによって入力された情報（入力情報）を、入力データとして無線モジュール７６およびアンテナ７１を介してゲーム装置１２に送信（入力）する。このとき、プロセッサ７０は、メモリ７２を作業領域ないしバッファ領域として用いる。
【００８１】
上述した入力部２６（２６ａ−２６ｉ）からの操作信号（操作データ）である入力情報は、プロセッサ７０に入力され、プロセッサ７０は操作データを一旦メモリ７２に記憶する。
【００８２】
また、加速度センサ７４は、コントローラ２２の縦方向（ｙ軸方向）、横方向（ｘ軸方向）および前後方向（ｚ軸方向）の３軸で各々の加速度を検出する。この加速度センサ７４は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
【００８３】
たとえば、加速度センサ７４は、第１所定時間毎に、ｘ軸，ｙ軸，ｚ軸の各々についての加速度（ａｘ，ａｙ，ａｚ）を検出し、検出した加速度のデータ（加速度データ）をプロセッサ７０に入力する。たとえば、加速度センサ７４は、各軸方向の加速度を、−２．０Ｇ〜２．０Ｇ（Ｇは重力加速度である。以下、同じ。）の範囲で検出する。プロセッサ７０は、加速度センサ７４から与えられる加速度データを、第２所定時間毎に検出し、一旦メモリ７２に記憶する。
【００８４】
また、バイタルセンサ７８は、外部拡張コネクタ２２ｂを介してプロセッサ７０に生体情報データを入力する。プロセッサ７０は、入力された生体情報データを一旦メモリ７２に記憶する。
【００８５】
そして、プロセッサ７０は、後述するが、操作データ、加速度データ、後述するマーカ座標データおよび生体情報データの少なくとも１つを含む入力データを作成し、作成した入力データを、ゲーム装置１２に送信する。ここで、通信部から、ゲーム装置本体５に備える無線コントローラモジュール５２への無線通信は、所定の周期毎に行なわれるが、ゲームの処理は１／６０ｓを単位として行われることが一般的であるので、それよりも短い周期で送信を行う必要がある。具体的には、ゲームの処理単位は、１６．７ｍｓ（１／６０ｓ）であり、本例においては、一例としてコントローラ２２から所定周期（１／２００ｓ毎）に無線パケットが送信される。
【００８６】
なお、図３（Ａ）〜図３（Ｅ）には表れていないが、本実施形態では、加速度センサ７４は、ハウジング２２ａ内部の基板上の十字キー２６ａが配置される付近に設けられる。
【００８７】
ここで、加速度センサ７４から出力される加速度データに基づいて、ゲーム装置１２のプロセッサ（たとえば、ＣＰＵ４０）またはコントローラ２２のプロセッサ（たとえば、プロセッサ７０）などのコンピュータが処理を行なうことによって、コントローラ２２に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。
【００８８】
たとえば、１軸の加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合、すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合、コントローラ２２が現実に静的な状態であれば、検出された加速度データに基づいてコントローラ２２の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向である状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかを知ることができる。
【００８９】
また、多軸の加速度センサの場合には、さらに各軸の加速度データに対して処理を施すことによって、重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサの出力に基づいて、プロセッサ７０がコントローラ２２の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータの算出処理を行なうことなく、加速度センサからの出力に基づいて、おおよその傾きを推定できるような処理としてもよい。このように、加速度センサをプロセッサと組み合わせることによって、コントローラ２２の傾き、姿勢または位置を判定することができる。
【００９０】
一方、加速度センサが動的な状態を前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動きの方向などを知ることができる。具体的には、加速度センサを有するコントローラ２２がユーザの手で動的に加速されて動かされている場合に、加速度センサによって生成される加速度データを処理することによって、コントローラ２２の様々な動きおよび／または位置を算出することができる。
【００９１】
なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることができる。他の実施の形態では、加速度センサは、加速度データをプロセッサ７０に出力する前に、内蔵の加速度検出手段から出力される加速度信号（加速度データ）に対して所望の処理を行なうための、組込み式の信号処理装置また他の種類の専用の処理装置を搭載してもよい。たとえば、組込み式または専用の処理装置は、加速度センサが静的な加速度（たとえば、重力加速度）を検出するためのものである場合、検知された加速度データをそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００９２】
無線モジュール７６は、たとえばＢｌｕｅｔｏｏｔｈ（登録商標）の技術を用いて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ７１から放射する。つまり、入力データは、無線モジュール７６によって微弱電波信号に変調されてアンテナ７１（コントローラ２２）から送信される。この微弱電波信号が上述したゲーム装置１２に設けられた無線コントローラモジュール５２によって受信される。受信された微弱電波は、復調および復号の処理を施され、したがって、ゲーム装置１２（ＣＰＵ４０）は、コントローラ２２からの入力データを取得することができる。そして、ＣＰＵ４０は、取得した入力データとプログラム（ゲームプログラム）とに従ってゲーム処理を行なう。
【００９３】
さらに、上述したように、コントローラ２２には、撮像情報演算部８０が設けられる。この撮像情報演算部８０は、赤外線フィルタ８０ａ、レンズ８０ｂ、撮像素子８０ｃおよび画像処理回路８０ｄによって構成される。赤外線フィルタ８０ａは、コントローラ２２の前方から入射する光から赤外線のみを通過させる。上述したように、モニタ３４の表示画面近傍（周辺）に配置されるマーカ３４０ｍおよび３４０ｎは、モニタ３４の前方に向かって赤外光を出力する赤外線ＬＥＤである。したがって、赤外線フィルタ８０ａを設けることによってマーカ３４０ｍおよび３４０ｎの画像をより正確に撮像することができる。レンズ８０ｂは、赤外線フィルタ８０ａを透過した赤外線を集光して撮像素子８０ｃへ出射する。撮像素子８０ｃは、たとえばＣＭＯＳセンサあるいはＣＣＤのような固体撮像素子であり、レンズ８０ｂによって集光された赤外線を撮像する。したがって、撮像素子８０ｃは、赤外線フィルタ８０ａを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子８０ｃによって撮像された画像を撮像画像と呼ぶ。撮像素子８０ｃによって生成された画像データは、画像処理回路８０ｄで処理される。画像処理回路８０ｄは、撮像画像内における撮像対象（マーカ３４０ｍおよび３４０ｎ）の位置を算出し、第４所定時間毎に、当該位置を示す各座標値を撮像データとしてプロセッサ７０に出力する。なお、画像処理回路８０ｄにおける処理については後述する。
【００９４】
図５を用いて、コントローラ２２を用いてゲームプレイする状態の一例について説明する。
【００９５】
図５を参照して、ビデオゲームシステム１でコントローラ２２を用いてゲームをプレイする際、ユーザは、一方の手でコントローラ２２を把持する。厳密に言うと、ユーザは、コントローラ２２の先端面（撮像情報演算部８０が撮像する光の入射口２２ｄ側）がマーカ３４０ｍおよび３４０ｎの方を向く状態でコントローラ２２を把持する。ただし、図１からも分かるように、マーカ３４０ｍおよび３４０ｎは、モニタ３４の画面の横方向と平行に配置されている。この状態で、ユーザは、コントローラ２２が指示する画面上の位置を変更したり、コントローラ２２と各マーカ３４０ｍおよび３４０ｎとの距離を変更したりすることによってゲーム操作を行なう。
【００９６】
図６を用いて、マーカ３４０ｍおよび３４０ｎと、コントローラ２２との視野角について説明する。
【００９７】
図６を参照して、マーカ３４０ｍおよび３４０ｎは、それぞれ、視野角θ１の範囲で赤外光を放射する。また、撮像情報演算部８０の撮像素子８０ｃは、コントローラ２２の視線方向を中心とした視野角θ２の範囲で入射する光を受光することができる。たとえば、マーカ３４０ｍおよび３４０ｎの視野角θ１は、共に３４°（半値角）であり、一方、撮像素子８０ｃの視野角θ２は４１°である。ユーザは、撮像素子８０ｃが２つのマーカ３４０ｍおよび３４０ｎからの赤外光を受光することが可能な位置および向きとなるように、コントローラ２２を把持する。具体的には、撮像素子８０ｃの視野角θ２の中に少なくとも一方のマーカ３４０ｍおよび３４０ｎが存在し、かつ、マーカ３４０ｍまたは３４０ｎの少なくとも一方の視野角θ１の中にコントローラ２２が存在する状態となるように、ユーザはコントローラ２２を把持する。この状態にあるとき、コントローラ２２は、マーカ３４０ｍおよび３４０ｎの少なくとも一方を検知することができる。ユーザは、この状態を満たす範囲でコントローラ２２の位置および向きを変化させることによってゲーム操作を行なうことができる。
【００９８】
なお、コントローラ２２の位置および向きがこの範囲外となった場合、コントローラ２２の位置および向きに基づいたゲーム操作を行なうことができなくなる。以下では、上記範囲を「操作可能範囲」と呼ぶ。
【００９９】
操作可能範囲内でコントローラ２２が把持される場合、撮像情報演算部８０によって各マーカ３４０ｍおよび３４０ｎの画像が撮像される。すなわち、撮像素子８０ｃによって得られる撮像画像には、撮像対象である各マーカ３４０ｍおよび３４０ｎの画像（対象画像）が含まれる。
【０１００】
図７を用いて、対象画像を含む撮像画像の一例について説明する。
図７を参照して、対象画像を含む撮像画像の画像データを用いて、画像処理回路８０ｄは、各マーカ３４０ｍおよび３４０ｎの撮像画像における位置を表す座標（マーカ座標）を算出する。
【０１０１】
撮像画像の画像データにおいて対象画像は高輝度部分として現れるため、画像処理回路８０ｄは、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路８０ｄは、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、対象画像である２つのマーカ３４０ｍおよび３４０ｎの画像３４０ｍ’および３４０ｎ’のみならず、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、対象画像であるマーカ３４０ｍおよび３４０ｎの画像３４０ｍ’および３４０ｎ’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【０１０２】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路８０ｄは当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子８０ｃの解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子８０ｃによって撮像された撮像画像の解像度が１２６ドット×９６ドットであるとし、重心位置は１０２４ドット×７６８ドットのスケールで算出されるものとする。つまり、マーカ座標は、（０，０）から（１０２４，７６８）までの整数値で表現される。
【０１０３】
なお、撮像画像における位置は、撮像画像の左上を原点とし、下向きをＹ軸正方向とし、右向きをＸ軸正方向とする座標系（ＸＹ座標系）で表現されるものとする。
【０１０４】
また、対象画像が正しく検出される場合には、判定処理によって２つの高輝度部分が対象画像として判定されるので、２箇所のマーカ座標が算出される。画像処理回路８０ｄは、算出された２箇所のマーカ座標を示すデータを出力する。出力されたマーカ座標のデータ（マーカ座標データ）は、上述したように、プロセッサ７０によって入力データに含まれ、ゲーム装置１２に送信される。
【０１０５】
ゲーム装置１２（ＣＰＵ４０）は、受信した入力データからマーカ座標データを検出すると、このマーカ座標データに基づいて、モニタ３４の画面上におけるコントローラ２２の指示位置（指示座標）と、コントローラ２２からマーカ３４０ｍおよび３４０ｎまでの各距離とを算出することができる。具体的には、２つのマーカ座標の中点の位置から、コントローラ２２の向いている位置すなわち指示位置が算出される。また、撮像画像における対象画像間の距離が、コントローラ２２と、マーカ３４０ｍおよび３４０ｎとの距離に応じて変化するので、２つのマーカ座標間の距離を算出することによって、ゲーム装置１２はコントローラ２２とマーカ３４０ｍおよび３４０ｎとの間の距離を把握できる。
【０１０６】
なお、本実施例においては、画像処理回路８０ｄが撮像画像の画像データを処理し、得られたマーカ座標データをコントローラ２２からゲーム装置１２に送信する構成について説明したが、他の実施例においては、撮影画像の画像データそのものをコントローラ２２からゲーム装置１２に送信し、ゲーム装置１２が撮像画像の画像データを処理してマーカ座標データを求めるようにしても良い。この場合、コントローラ２２に設けられた画像処理回路８０ｄは不要となる。あるいは、上記、画像データの処理の途中のデータをコントローラ２２からゲーム装置１２に送信する構成とすることも可能である。具体的には、画像データから得られる輝度、位置、および面積等を示すデータをコントローラ２２からゲーム装置１２に送信し、ゲーム装置１２のＣＰＵ４０が残りの処理を実行してマーカ座標データを求めるようにしても良い。
【０１０７】
また、本実施例においては、マーカ３４０ｍおよび３４０ｎを撮像情報演算部８０の撮像対象とする場合について説明したが、他のものを撮像対象としても良い。例えば、１つまたは３つ以上のＬＥＤモジュールをモニタ３４の近傍に設置し、それらのＬＥＤモジュールからの赤外光を撮像情報演算部８０の撮像対象としても良い。また、モニタ３４の表示画面自体や他の発光体（室内灯等）を撮像情報演算部８０の撮像対象としても良い。撮像対象とモニタ３４の表示画面との配置関係に基づいて、当該表示画面に対するコントローラ２２の位置を演算すれば、様々な発光体を撮像情報演算部８０の撮像対象として利用することが可能である。
【０１０８】
次に、図８を用いて、バイタルセンサ７８について説明する。
図８を参照して、バイタルセンサ７８は、制御部７６１、発光部７６２、および受光部７６３と、信号処理部７６４とを含む。
【０１０９】
発光部７６２および受光部７６３は、ユーザの生体情報を得るセンサの一例であり、透過型指尖容積脈波センサを構成する。発光部７６２は、例えば赤外線ＬＥＤで構成され、所定波長（例えば、９４０ｎｍ）の赤外線を受光部７６３に向けて照射する。一方、受光部７６３は、発光部７６２が照射する波長に応じて照射される光を受光し、例えば赤外線のフォトレジスタで構成される。そして、発光部７６２と受光部７６３とは所定の間隙（空洞）を介して配置されている。
【０１１０】
発光部７６２で光電信号に変換した受光信号は、信号処理部７６４に出力されるとともに、制御部７６１に直接出力される。
【０１１１】
ここで、人体の血液中に存在するヘモグロビンは、赤外線を吸光する性質を持っている。例えば、上述した発光部７６２および受光部７６３間の間隙にユーザの身体の一部（例えば、指先）を挿入する。これによって、発光部７６２から照射された赤外線は、挿入した指先内に存在するヘモグロビンで吸光された後、受光部７６３で受光される。一方、人体の動脈は、脈拍動しているため、当該脈拍動に応じて動脈の太さ（血液量）が変化する。したがって、挿入した指先内の動脈も同様の脈拍動が生じており、当該脈拍動に応じて血液量が変化するため、当該血液量に応じて吸光される赤外線の量も変化する。具体的には、挿入した指先内の血流量が多い場合、ヘモグロビンで吸光される量も増加するために受光部７６３で受光する赤外線の光量が相対的に少なくなる。
【０１１２】
一方、挿入した指先内の血流量が少ない場合、ヘモグロビンで吸光される量も減少するために受光部７６３で受光する赤外線の光量が相対的に多くなる。発光部７６２および受光部７６３は、このような動作原理を利用し、受光部７６３で受光する赤外線の光量を光電信号（受光信号）に変換した後、信号処理部７６４で所定のフィルタリング処理を実行することによって、人体の脈拍動（以下、脈波とも称する）を検出している。
【０１１３】
図９を用いて、脈波信号について説明する。
図９を参照して、受光部７６３で受光される受光信号は、最大受光レベルの値から静脈血および人体の組織により吸光された残りの信号となる。
【０１１４】
そして、例えば、挿入した指先内の血流量が増加した場合に受光部７６３で検出した受光信号の値が下降する。一方、挿入した指先内の血流量が減少した場合に受光部７６３で検出した受光信号の値が上昇する。このように、受光部７６３の検出値が脈動する脈波部分が脈波信号として生成される。なお、受光部７６３の回路構成によって、挿入した指先内の血流量が減少した場合に受光部７６３で検出した受光信号の値が下降し、挿入した指先内の血流量が増加した場合に受光部７６３の検出値が上昇するような脈波信号を生成することも可能である。
【０１１５】
なお、図９に示されるように最大受光レベルに対して脈波信号は微弱である。したがって、脈波信号と、受光部７６３で生じるノイズ信号とを区別するため、本実施の形態においては、受光信号の値も検出する。
【０１１６】
この受光信号の値（受光レベルデータ）に基づいて指がバイタルセンサ７８に挿入されたことを検知するものとする。
【０１１７】
制御部７６１は、例えばＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）で構成される。制御部７６１は、発光部７６２から照射される赤外線の光量を制御する。また、制御部７６１は、受光部７６３から出力された受光信号のうち信号処理部７６４でフィルタリング処理された脈波信号をＡ／Ｄ変換して脈波データ（生体情報データ）を生成する。また、制御部７６１は、受光部７６３から出力された受光信号をＡ／Ｄ変換して受光レベルデータ（生体情報データ）を生成する。なお、Ａ／Ｄ変換の分解能は、ともに１０ビット（ｂｉｔ）に設定されているものとする。
【０１１８】
本実施の形態においては、脈波データを生成するためのサンプリング周期は、１ｍｓ（１／１０００ｓ）に設定されているものとする。また、受光レベルデータを生成するためのサンプリング周期は５ｍｓ（１／２００ｓ）に設定されているものとする。
【０１１９】
そして、そして、制御部７６１は、図示しないバッファに脈波データおよび受光レベルデータを蓄積し、所定周期毎にケーブル７９を介して脈波データ（生体情報データ）および受光レベルデータをコントローラ２２に出力する。
【０１２０】
本実施の形態においては、制御部７６１がコントローラ２２に脈波データ（生体情報データ）および受光レベルデータを出力する送信タイミングは、５ｍｓ（１／２００ｓ）に設定されているものとする。
【０１２１】
したがって、制御部７６１がコントローラ２２への送信タイミングが到来するまでに、サンプリングされた５個の分解能１０ビットの脈波データと１個の分解能１０ビットの受光レベルデータがバッファに蓄積されている。
【０１２２】
そして、制御部７６１は、送信タイミングが到来すると、サンプリングされた５個の分解能１０ビットの脈波データと１個の分解能１０ビットの受光レベルデータとの生体情報データをコントローラ２２に出力する。
【０１２３】
そして、通信部７５のプロセッサ７０は、外部拡張コネクタ２２ｂを介して入力される生体情報データを上述したように一旦メモリ７２に格納する。
【０１２４】
図１０を用いて、バイタルセンサ７８と接続されたコントローラ２２を用いてゲームプレイする状態の一例について説明する。
【０１２５】
図１０を参照して、バイタルセンサ７８と接続されたコントローラ２２を用いてゲームをプレイする際、ユーザは、一方の手でコントローラ２２を把持するとともに、他方の手の指をバイタルセンサ７８に挿入してゲームをプレイする。
【０１２６】
この状態で、ユーザは、コントローラ２２が指示する画面上の位置を変更したり、あるいは、コントローラ２２を傾けたりすることによってゲーム操作を行なう。
【０１２７】
図１１（Ａ）〜（Ｃ）を用いて、バイタルセンサ７８を用いたゲームについて説明する。
【０１２８】
図１１（Ａ）を参照して、当該ゲームでは、ユーザの生体信号（脈波信号）およびユーザの動きや姿勢（コントローラ２２の傾き）に基づいて、例えばプレイヤキャラクタが動作するゲームが行われる。本例においては、後述する通信方式のモードはモード１に設定されているものとする。すなわち、リモコンボタンデータと、リモコン加速度データ（Ｘ，Ｙ，Ｚ）と、生体情報とがコントローラ２２からゲーム装置１２に対して送信されている。
【０１２９】
プレイヤキャラクタＰＣは、仮想ゲーム世界内において、例えば左から右へスクロールして移動する天井Ｔと地面Ｂとが障害物となった天井Ｔと地面Ｂとの間の空間（例えば、洞窟内）を飛行することが求められる。
【０１３０】
プレイヤキャラクタＰＣは、第１プレイヤキャラクタＰＣ１と、第１プレイヤキャラクタＰＣ１の上部に配置されている第２プレイヤキャラクタとに分離可能に構成されている。
【０１３１】
図１１（Ｂ）を参照して、第２プレイヤキャラクタＰＣ２は、第１プレイヤキャラクタＰＣ１に対して天井Ｔの高さを限度として上昇することができる。ここで、第２プレイヤキャラクタＰＣ２は、ユーザの呼吸状態に応じて昇降する。例えば、第２プレイヤキャラクタＰＣ２は、ユーザが吐く呼吸をした場合に第１プレイヤキャラクタＰＣ１に対して上昇し、ユーザが吸う呼吸をした場合に第１プレイヤキャラクタＰＣ１に対して下降する。本実施形態においては、上記脈波信号を用いてユーザの心拍数を算出し、心拍数が上昇中であればユーザが吸う呼吸をしていると判断し、心拍数が下降中であればユーザが吐く呼吸をしていると判断する。また、初期の点数として１００点が与えられ、第２プレイヤキャラクタＰＣ２が障害物である天井Ｔと接触する、あるいは、第１プレイヤキャラクタＰＣ１が障害物である地面Ｂと接触する場合、減点するものとする。
【０１３２】
図１１（Ｃ）を参照して、プレイヤキャラクタＰＣは、地面Ｂに沿って傾斜して飛行することができる。ここで、プレイヤキャラクタＰＣは、コントローラ２２の傾きに応じてその飛行姿勢が傾くものとする。例えば、ユーザがコントローラ２２をモニタ２に向かって右に角度α１傾けた場合、当該傾き動作と同期してプレイヤキャラクタＰＣも右に角度α１傾いて表示される。
【０１３３】
上記方式により、ユーザは、バイタルセンサ７８を用いた仮想ゲーム世界内において第１および第２プレイヤキャラクタＰＣ１およびＰＣ２を操作することが可能となる。
【０１３４】
図１２を用いて、ゲーム処理において用いられるコントローラ２２からゲーム装置１２に出力される無線パケットのデータ構成について説明する。
【０１３５】
本実施の形態においては、通信方式のモードに従ってコントローラ２２において入力データに従って無線パケットが生成され、ゲーム装置１２に対して生成された無線パケットが出力される。
【０１３６】
図１２を参照して、ここでは、通信方式のモードに従ってゲーム装置１２に対して出力される４つのパターンの無線パケットが示されている。
【０１３７】
具体的には、モード０〜３の４つのパターンの無線パケットの例が示されている。
図１２に示すように、１回の無線パケットによりゲーム装置１２に対して送信することが可能なデータ量は定まっており、送信可能なデータ量の範囲内で各種の入力データがコントローラ２２の無線モジュール７６からゲーム装置１２に対して出力される。
【０１３８】
ここで、モード０の無線パケットとは、パケットを構成する入力データに関する各種制御情報が含まれているヘッダ情報Ｄａ、リモコンボタンデータＤｂ、リモコン加速度データ（Ｘ，Ｙ，Ｚ）Ｄｃ、リモコンＤＰＤデータＤｄで構成されている。なお、データが無効である無効データＤｚも付加されて、１つの無線パケットとして送信されることになる。なお、本例においては、無線パケットとして送信されるデータ量はどのモードでも同じ量であり、空き領域には、無効データが付加して送信する場合について説明するが、ヘッダ情報内に送信するデータ量を含めておくことにより、モードに応じて送信するデータ量を変えるようにしても良い。
【０１３９】
モード０は、バイタルセンサ７８を利用しない場合に用いられる通信方式である。なお、モード１〜３は、バイタルセンサ７８をコントローラ２２に接続した場合に用いられる通信方式である。
【０１４０】
プロセッサ７０は、上述したようにメモリ７２に一旦格納されたこれらの当該データを読み出して無線パケットを生成する。
【０１４１】
ヘッダ情報Ｄａは、無線パケットのフォーマットの入力データに関する各種情報およびモードの種類、例えばモード０等の情報も含まれている。
【０１４２】
リモコンボタンデータＤｂは、コントローラ２２の入力部２６（２６ａ−２６ｉ）からの操作データである。
【０１４３】
また、リモコン加速度データ（Ｘ，Ｙ，Ｚ）Ｄｃは、加速度センサ７４においてＸ軸成分、Ｙ軸成分およびＺ軸成分に対して検出した加速度値を示すデータである。
【０１４４】
リモコンＤＰＤデータＤｄは、上述した画像処理回路８０ｄで算出されたマーカ座標データである。
【０１４５】
次に、モード１〜３に従う通信方式の無線パケットについて説明する。
モード１の無線パケットは、ヘッダ情報Ｄａ、リモコンボタンデータＤｂ、リモコン加速度データ（Ｘ，Ｙ，Ｚ）Ｄｃ、生体情報Ｄｖ０で構成されている。
【０１４６】
バイタルセンサ７８を利用する通信方式の場合、ゲーム装置１２におけるユーザの生体信号（脈波信号）の再現性を確保するために、比較的大きなデータ量の生体情報をゲーム装置１２に対して送信する必要がある。そのため、１回の無線パケットの送信可能なデータ量を考慮した場合、リモコンＤＰＤデータＤｄを無線パケットに含めながら、生体情報を送信することは難しいためリモコンＤＰＤデータＤｄの代わりに生体情報Ｄｖ０を無線パケットに含めて送信する。
【０１４７】
ヘッダ情報Ｄａ、リモコンボタンデータＤｂ、リモコン加速度データ（Ｘ，Ｙ，Ｚ）Ｄｃについては同様である。
【０１４８】
生体情報Ｄｖ０は、タイムスタンプと、脈波データおよび受光レベルデータとで構成される生体情報データとを含む。
【０１４９】
具体的には、生体情報Ｄｖ０は、タイムスタンプ０Ｄｅと、タイムスタンプ０に対応する１ｔｈ−５ｔｈ脈波データＤｆ１および受光レベルデータＤｆ２とで構成される生体情報データと、タイムスタンプ１Ｄｇと、タイムスタンプ１に対応する１ｔｈ−５ｔｈ脈波データＤｈ１および受光レベルデータＤｈ２とで構成される生体情報データとを含む。
【０１５０】
タイムスタンプは、プロセッサ７０がバイタルセンサ７８から生体情報データの入力を受けて、メモリ７２に格納した時刻を示す情報である。
【０１５１】
１ｔｈ−５ｔｈ脈波データＤｆ１，Ｄｈ１は、５個の脈波データを表している。各脈波データは、一例として分解能１０ビット（ｂｉｔ）で構成されている。
【０１５２】
受光レベルデータは、受光信号をＡ／Ｄ変換した情報である。
生体情報Ｄｖ０は、タイムスタンプ０Ｄｅと、タイムスタンプ１Ｄｇにそれぞれ対応する１ｔｈ−５ｔｈ脈波データＤｆ１，Ｄｈ１と、受光レベルデータＤｆ２，Ｄｈ２とを含む。
【０１５３】
ここで、タイムスタンプ０に対応する１ｔｈ−５ｔｈ脈波データＤｆ１および受光レベルデータＤｆ２は、１つ前に取得した脈波データおよび受光レベルデータに相当する。
【０１５４】
そして、タイムスタンプ１に対応する１ｔｈ−５ｔｈ脈波データＤｈ１および受光レベルデータＤｈ２は、今回、取得した脈波データおよび受光レベルデータに相当する。
【０１５５】
当該データ構成により、１つ前の脈波データおよび受光レベルデータが無線パケットの中に含まれているため、パケットロスにより、前回の無線パケットが消失した場合であっても１つ前の脈波データが含まれているためパケットロスを補間することが可能である。
【０１５６】
すなわち、無線通信において、通信障害によってパケットロスが発生した場合であっても、ゲーム装置１２におけるユーザの生体信号（脈波信号）の再現性を確保することが可能であり、ユーザのゲーム操作に支障をきたすことが無く快適にゲーム操作をすることが可能である。
【０１５７】
モード２の無線パケットは、ヘッダ情報Ｄａと、リモコンボタンデータＤｂと、リモコンＤＰＤデータＤｄと、生体情報Ｄｖ１とで構成されている。
【０１５８】
生体情報Ｄｖ１は、タイムスタンプ１Ｄｇと、タイムスタンプ１Ｄｇに対応する１ｔｈ−５ｔｈ脈波データＤｈ１と、受光レベルデータＤｈ３とを含む。
【０１５９】
当該モードは、無線パケットの構成として、補間データを含まない代わりにリモコンＤＰＤデータを無線パケットに含める構成である。
【０１６０】
補間データを含めないことにより、送信可能なデータ量の範囲内でリモコンＤＰＤデータＤｄと、生体情報とを送信することが可能である。
【０１６１】
したがって、バイタルセンサ７８を用いながらマーカ座標データを送信することが可能であるため、モニタ３４の画面上におけるコントローラ２２の指示位置（指示座標）を変更したり、コントローラ２２と各マーカ３４０ｍおよび３４０ｎとの距離を変更したりすることによってゲーム操作を行なうことが可能となり、ユーザは、自由度の高いゲーム操作が可能となる。
【０１６２】
モード３の無線パケットは、ヘッダ情報Ｄａと、リモコンボタンデータＤｂと、リモコン加速度データＤｃと、リモコンＤＰＤデータＤｄ、生体情報Ｄｖ２とで構成されている。
【０１６３】
生体情報Ｄｖ２は、タイムスタンプ１Ｄｇと、タイムスタンプ１Ｄｇに対応する１ｔｈ−５ｔｈ脈波データＤｈ４とを含む。
【０１６４】
当該モードは、生体情報を縮小することにより、全てのリモコン情報と、縮小した生体情報を無線パケットに含める構成である。
【０１６５】
具体的には、１ｔｈ−５ｔｈ脈波データＤｈ４は、５個の脈波データを表しているが、各脈波データは、一例として８ビット（ｂｉｔ）で構成されているものとする。なお、受光レベルデータは含まれていない。
【０１６６】
当該構成により、生体情報Ｄｖ２のデータ量を調整することにより、リモコンボタンデータＤｂ、リモコン加速度データ（Ｘ，Ｙ，Ｚ）ＤｃおよびリモコンＤＰＤデータを全て送信することが可能となり、バイタルセンサ７８を用いながら、リモコンボタンデータ、加速度データおよびマーカ座標データを送信することが可能であるため、当該データを用いて、コントローラ２２の入力に関する全ての機能を利用して、さらに自由度の高いゲーム操作を行なうことが可能となる。
【０１６７】
図１３を用いて、無線パケットの各モードに従うフォーマットのデータ構成について説明する。
【０１６８】
図１３を参照して、モード０においては、リモコン情報として、リモコンボタンデータ、リモコン加速度データ、リモコンＤＰＤデータを送信することが可能である。なお、このモード０の場合には、生体情報は送信されない。
【０１６９】
この場合には、バイタルセンサ７８を利用しない場合であり、通常の通信方式として用いられる。
【０１７０】
モード１においては、リモコン情報として、リモコンボタンデータと、リモコン加速度データとともに生体情報を送信することが可能である。生体情報としては、分解能が１０ビットの５個の脈波データが含められるとともに、補間データとして、１つ前の５個の脈波データも含められている。また、受光レベルデータは、５個の脈波データに対して、分解能が１０ビットの１つの受光レベルデータが含められている。当該受光レベルデータは、指の装着の有無に用いるデータであり、指の装着の有無が検知できれば良いため５個の脈波データに対して１つの受光レベルデータとすることにより、生体情報のデータ量の増加を抑制している。
【０１７１】
モード２においては、リモコン情報として、リモコンボタンデータと、リモコンＤＰＤデータとともに、生体情報を送信することが可能である。生体情報としては、分解能が１０ビットの５個の脈波データが含められている。また、受光レベルデータは、５個の脈波データに対して１つの受光レベルデータが含められており、受光レベルデータの分解能は８ビット（ｂｉｔ）である。
【０１７２】
後述するが、プロセッサ７０は、一旦メモリ７２に格納されたバイタルセンサ７８から出力される受光レベルデータ（１０ｂｉｔ）について、無線パケットを作成する際に、１０ｂｉｔの受光レベルデータを８ｂｉｔに縮小する。縮小の方法は種々の方式を用いることが可能であるが、一例として、本例においては、１０ｂｉｔの受光レベルデータのうちの上位８ｂｉｔを抽出、すなわち下位２ｂｉｔを間引いてデータ量を縮小するものとする。
【０１７３】
当該受光レベルデータは、指の装着の有無に用いるデータであり、指の装着の有無が検知できれば良いためデータを忠実に再現しなくても良いような場合には、受光レベルデータのデータ量を縮小することにより、生体情報のデータ量を抑制する。これにより、送信が可能な限られたデータ量の中でリモコンＤＰＤデータを含めることが可能となる。
【０１７４】
モード３においては、リモコン情報として、リモコンボタンデータと、リモコン加速度データと、リモコンＤＰＤデータとともに生体情報を送信することが可能である。生体情報としては、分解能が８ビットの５個の脈波データが含められている。なお、受光レベルデータは含められていない。
【０１７５】
後述するが、プロセッサ７０は、一旦メモリ７２に格納されたバイタルセンサ７８から出力される脈波データ（１０ｂｉｔ）について、無線パケットを作成する際に、１０ｂｉｔの脈波データを８ｂｉｔに縮小する。
【０１７６】
本実施の形態における上記の通信方式のモードはゲーム装置１２のアプリケーションによって設定されるものであり、アプリケーションで要求される入力データの種類に応じて通信方式のモードを切り替えるようにすることが可能である。
【０１７７】
具体的には、コントローラ２２のボタンデータと、加速度データと、バイタルセンサの生体情報を利用するアプリケーションの場合には、モード１に設定する。
【０１７８】
また、コントローラ２２のボタンデータと、ＤＰＤデータと、バイタルセンサの生体情報を利用するアプリケーションの場合には、モード２に設定する。
【０１７９】
また、コントローラ２２のボタンデータと、加速度データと、ＤＰＤデータと、バイタルセンサの生体情報を利用するアプリケーションの場合には、モード３に設定する。
【０１８０】
当該通信方式のモードを切り替えることにより、送信可能なデータ量が限られている場合に、生体情報のような比較的大きいデータ量を送信することが可能となり、バイタルセンサ７８をコントローラ２２に接続して機能を拡張することが可能となる。なお、本例においては、一例として、バイタルセンサ７８を利用する通信方式のモード１〜３について説明したが、特に上記したモードに限られず別の通信方式のモードに設定することも可能である。具体的には、操作データ、加速度データ、マーカ座標データおよび生体情報データの少なくとも１つを含む入力データであればその組合せは自由に設定することが可能である。
【０１８１】
次に、コントローラ２２で実行される無線パケットの出力について説明する。
図１４を用いて、コントローラ２２の通信部で実行される無線パケットの処理について説明する。
【０１８２】
図１４を参照して、まず、ゲーム装置１２においてアプリケーションが実行されるとゲーム装置１２との間で通信部は初期設定を実行する（ステップＳ２）。
【０１８３】
具体的には、まず、ゲーム装置１２との間で通信状態の確認、通信方式の設定等を実行する。その際、ゲーム装置１２のアプリケーションによってコントローラ２２とゲーム装置１２との間の通信方式の取り決め（約束事）が交わされる。具体的には、図１２で説明したフォーマットに従って無線パケットを生成して送信するプログラムがゲーム装置１２からコントローラ２２に送信される。そして、コントローラ２２のメモリ７２に格納する。以降、ゲーム装置１２からコントローラ２２に対するモード変更指示に従って、指定されたモードに従うフォーマットの無線パケットがプロセッサ７０により生成される。あるいは、予めメモリ７２にモード変更指示に従って無線パケットのフォーマットを変更するプログラムを格納しておいても良い。なお、初期状態の通信方式としてはモード０が設定されているものとする。
【０１８４】
そして、プロセッサ７０は、所定期間（５ｍｓ）が経過したかどうかを判断する（ステップＳ４）。プロセッサ７０は、所定期間が経過したと判断した場合（ステップＳ４においてＹＥＳ）には、次に、モード０か否かを判断する（ステップＳ６）。
【０１８５】
プロセッサ７０は、モード０であると判断した場合（ステップＳ６においてＹＥＳ）には、メモリ７２に格納された、リモコンボタンデータ、リモコン加速度データ、リモコンＤＰＤデータを含めた無線パケットを生成する（ステップＳ８）。
【０１８６】
そして、プロセッサ７０は、無線モジュール７６を介して生成した無線パケットをゲーム装置１２に送信する（ステップＳ１０）。そして、再び、ステップＳ４に戻る。
【０１８７】
ゲーム装置１２の無線コントローラモジュール５２は、上述したようにコントローラ２２から送信された無線パケットを受信する。そして、ゲーム装置１２は、無線パケットに含まれているリモコン情報である入力データに基づいて所定の操作処理を実行する。
【０１８８】
一方、プロセッサ７０は、モード０でないと判断した場合（ステップＳ６においてＮＯ）には、モード１か否かを判断する（ステップＳ１２）。
【０１８９】
プロセッサ７０は、モード１であると判断した場合（ステップＳ１２においてＹＥＳ）には、メモリ７２に格納された、リモコンボタンデータ、リモコン加速度データのリモコン情報と、前回の脈波データと今回の脈波データと受光レベルデータを含めた生体情報とを含めた無線パケットを生成する（ステップＳ１４）。
【０１９０】
そして、プロセッサ７０は、無線モジュール７６を介して生成した無線パケットをゲーム装置１２に送信する（ステップＳ１０）。そして、再び、ステップＳ４に戻る。
【０１９１】
一方、プロセッサ７０は、モード１でないと判断した場合（ステップＳ１２においてＮＯ）には、モード２か否かを判断する（ステップＳ１６）。
【０１９２】
プロセッサ７０は、モード２であると判断した場合（ステップＳ１６においてＹＥＳ）には、受光レベルデータを縮小する（ステップＳ１８）。具体的には、分解能が１０ビットの受光レベルデータを８ビットに縮小する。
【０１９３】
より具体的には、プロセッサ７０は、メモリ７２に格納された、バイタルセンサ７８から出力された受光レベルデータ（１０ｂｉｔ）を読み出して、上位８ビットを抽出して、縮小した受光レベルデータ（８ｂｉｔ）を生成する。
【０１９４】
次に、プロセッサ７０は、メモリ７２に格納された、リモコンボタンデータ、リモコンＤＰＤデータのリモコン情報と、今回の脈波データと縮小した受光レベルデータを含めた生体情報とを含めた無線パケットを生成する（ステップＳ２０）。
【０１９５】
そして、プロセッサ７０は、無線モジュール７６を介して生成した無線パケットをゲーム装置１２に送信する（ステップＳ１０）。そして、再び、ステップＳ４に戻る。
【０１９６】
一方、プロセッサ７０は、モード２でないと判断した場合（ステップＳ１６においてＮＯ）には、モード３か否かを判断する（ステップＳ２２）。
【０１９７】
プロセッサ７０は、モード３であると判断した場合（ステップＳ２２においてＹＥＳ）には、今回の脈波データを縮小する（ステップＳ２４）。具体的には、分解能が１０ビットの脈波データを８ビットに縮小する。
【０１９８】
より具体的には、プロセッサ７０は、メモリ７２に格納された、バイタルセンサ７８から出力された脈波データ（１０ｂｉｔ）を読み出して、上位８ビットを抽出して、縮小した脈波データ（８ｂｉｔ）を生成する。
【０１９９】
次に、プロセッサ７０は、リモコンボタンデータ、リモコン加速度データ、リモコンＤＰＤデータのリモコン情報と、今回の縮小した脈波データである生体情報とを含めた無線パケットを生成する（ステップＳ２６）。
【０２００】
そして、プロセッサ７０は、無線モジュール７６を介して生成した無線パケットをゲーム装置１２に送信する（ステップＳ１０）。そして、再び、ステップＳ４に戻る。
【０２０１】
一方、プロセッサ７０は、モード３でないと判断した場合（ステップＳ２２においてＮＯ）には、規定されたモードが無いとしてエラー処理とする（ステップＳ２８）。そして処理を終了する。すなわち、無線パケットの生成を中止する。
【０２０２】
一方、ステップＳ４において、プロセッサ７０は、所定期間（５ｍｓ）が経過していないと判断した場合には、モードの変更指示があったかどうかを判断する（ステップＳ３０）。
【０２０３】
ステップＳ３０においてモードの変更指示があった場合（ステップＳ３０においてＹＥＳ）には、通信方式のモードを変更する（ステップＳ３２）。そして、ステップＳ４に戻る。
【０２０４】
一方、ステップＳ３０において、プロセッサ７０は、モードの変更指示が無いと判断した場合（ステップＳ３０においてＮＯ）には、再び、ステップＳ４に戻る。
【０２０５】
このように上述した処理によれば、ゲーム装置１２のアプリケーションからの指示に従って通信方式のモードが変更されて、変更されたモードに従う無線パケットを送信することが可能となり、送信可能なデータ量が限られている場合に、生体情報のような比較的大きいデータ量を送信することが可能となる。すなわち、比較的大きいデータ量を出力する拡張機器であるバイタルセンサ７８を周辺機器であるコントローラ２２に接続して機能を拡張する入力システムを構成することが可能となる。
【０２０６】
また、本例においては、バイタルセンサとして、ユーザの身体の一部（例えば、指先）に赤外線を照射し、当該身体の一部を透過して受光された赤外線の光量に基づいてユーザの生体情報を取得する、いわゆる光学方式によって血管の容積変化を検出して容積脈波信号である生体情報を得ている。しかしながら、特にこの方式に限られず、例えば、動脈の脈動による血管内の圧力変位を検出（例えば、圧電方式）して、圧脈波を得ることによって生体情報を取得することも可能である。また、ユーザの筋電位や心電位をユーザの生態情報として取得しても良い。また、筋電位や心電位は、電極を用いた一般的な検出方法により検出することができ、例えば、ユーザの身体における微細な電流の変化等に基づいて、ユーザの生体情報を取得するようにしても良い。また、ユーザの血流をユーザの生体情報として取得しても良い。例えば、血流は、電磁法や超音波法等を用いて１心拍ごとの脈動血流として測定され、当該脈動血流を生体情報として取得することができる。また、生体情報を得るために本例においては、ユーザの指部から取得する場合について説明したが、指部に限らず、例えば、胸部、腕、耳たぶ等にバイタルセンサを装着するようにしても良い。
【０２０７】
また、本例においては、送信するデータ量が比較的大きい拡張機器の一例としてバイタルセンサをコントローラ２２に装着して利用する場合について一例として説明したが、特にバイタルセンサに限られず、他の拡張機器をコントローラ２２に装着して利用する場合についても同様に適用可能である。例えば、コントローラ２２にさらに別のコントローラを装着して利用する場合（例えば、一方の手にコントローラ２２、他方の手に別のコントローラを把持）等において、別のコントローラから送信するデータ量が比較的大きい場合には、上記で説明したのと同様の方式に従って、通信方式を所定のモードに設定することにより、コントローラ２２と別のコントローラからのデータを１つの無線パケットに含めることにより、拡張機器である別のコントローラが有する機能を利用可能とすることも可能である。すなわち、本方式により、拡張機器として接続可能なデバイスの幅を広げることが可能である。
【０２０８】
また、本例においては、バイタルセンサ７８と、コントローラ２２との間との接続において、ケーブル７９を用いた接続について説明したが無線通信によって、バイタルセンサ７８からコントローラ２２に対して生体情報を送信することも可能である。
【０２０９】
また、上記の例において、生体情報のデータ量を抑えるために脈波データ等のデータビットを間引くことにより、データ量を縮小する方式について説明したが、間引かずに、脈波データ等を圧縮することによりデータ量を縮小するようにしても良い。具体的には、プロセッサ７０が、メモリ７２に格納されている圧縮アプリを用いて脈波データ等を１０ビットから８ビットに圧縮すればよい。当該圧縮アプリは、メモリ７２に予め設けられていても良いし、本実施例では、通信によってゲーム装置１２からコントローラ２２を制御することが可能であるので当該圧縮アプリをゲーム装置１２から送信してメモリ７２に格納させるようにすることも可能である。そして、圧縮した脈波データ等をゲーム装置１２側のＣＰＵ４０において、フラッシュメモリ４４等に格納されている圧縮アプリと対を成す解凍アプリを用いることにより元の１０ビットのデータに戻すことにより、精度の高い生体情報を取得することが可能となる。なお、圧縮アプリと対を成す解凍アプリは、予めゲーム装置１２側のフラッシュメモリ４４等に予め設けられていても良いし、光ディスク１８をゲーム装置１２のディスクドライブ５４にローディングする際に、光ディスク１８内に書き込まれていた解凍アプリをフラッシュメモリ４４等に格納するようにしても良い。
【０２１０】
また、脈波データのデータ量を縮小する方式として、圧縮せずに、送信する脈波データの個数を調整することにより生体情報のデータ量を抑えることも可能である。具体的には、バイタルセンサ７８の制御部７６１におけるＡ／Ｄ変換のサンプリング周波数を可変可能とし、ゲーム装置１２のアプリケーションによって、コントローラ２２を制御して、コントローラ２２からバイタルセンサ７８のＡ／Ｄ変換のサンプリング周期（あるいはサンプリング周波数）を調整することにより実現可能である。例えば、バイタルセンサ７８のＡ／Ｄ変換のサンプリング周期１ｍｓ（あるいはサンプリング周波数）を２．５ｍｓに調整することにより、５ｍｓの所定周期間隔で送信される脈波データの個数を２個に調整することが可能である。これにより、送信する脈波データの個数を調整することにより生体情報のデータ量を抑えることが可能である。
【０２１１】
また、本例においては、ゲーム装置１２の周辺機器であるコントローラ２２と拡張機器とを接続する構成について説明したが、特に、コントローラ２２に限られず、拡張機器と接続可能であり、データを生成して、送信する通信部を備えた周辺機器であればどのような周辺機器であっても同様に適用可能である。
【０２１２】
＜その他の形態＞
上述の実施の形態においては、本発明に係る情報処理装置の代表例として、ゲーム装置１２について例示したが、これに限定されることはない。すなわち、本発明に係るプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本発明に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組み込まれてもよい。
【０２１３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２１４】
１  ビデオゲームシステム、１２  ゲーム装置、１４  ハウジング、１６  ディスクスロット、１８  光ディスク、２０ａ  電源ボタン、２０ｂ  リセットボタン、２０ｃ  イジェクトボタン、２２  コントローラ、２２ａ  ハウジング、２２ｂ  外部拡張コネクタ、２２ｃ  インジケータ、２２ｄ  光入射口、２２ｄ  入射口、２２ｅ  音抜き孔、２６  入力部、２６ａ  十字キー、２６ｂ  １ボタン、２６ｃ  ２ボタン、２６ｄ  Ａボタン、２６ｅ  −ボタン、２６ｆ  ＨＯＭＥボタン、２６ｇ  ＋ボタン、２６ｈ  電源スイッチ、２６ｉ  トリガースイッチ、２８  外部メモリカード用コネクタカバー、３２ａ  ＡＶケーブル、３２ｂ  電源ケーブル、３４  モニタ、３４ａ  スピーカ、３４ｂ  マーカ部、３４０ｍ，３４０ｎ  マーカ、４０  ＣＰＵ、４２  システムＬＳＩ、４２ａ  入出力プロセッサ、４２ｂ  ＧＰＵ、４２ｃ  ＤＳＰ、４２ｄ  ＶＲＡＭ、４２ｅ  内部メインメモリ、４４  フラッシュメモリ、４６  外部メインメモリ、５０  無線通信モジュール、５０ａ，５２ａ  アンテナ、５２  無線コントローラモジュール、５４  ディスクドライブ、５６  ＡＶ＿ＩＣ、５８  ＡＶケーブルコネクタ、６０  拡張コネクタ、６２  外部メモリカード用コネクタ、７０  プロセッサ、７１  アンテナ、７２  メモリ、７３  バイタルセンサ本体、７４  加速度センサ、７５  通信部、７６  無線モジュール、７７  コネクタ、７８  バイタルセンサ、７９  ケーブル、８０  撮像情報演算部、８０ａ  赤外線フィルタ、８０ｂ  レンズ、８０ｃ  撮像素子、８０ｄ  画像処理回路、８４  バイブレータ、８６  スピーカ、８８  電源回路、７６１  制御部、７６２  発光部、７６３  受光部、７６４  信号処理部。
【図１】
2010246684.tif 000003
【図２】
2010246684.tif 000004
【図３】
2010246684.tif 000005
【図４】
2010246684.tif 000006
【図５】
2010246684.tif 000007
【図６】
2010246684.tif 000008
【図７】
2010246684.tif 000009
【図８】
2010246684.tif 000010
【図９】
2010246684.tif 000011
【図１０】
2010246684.tif 000012
【図１１】
2010246684.tif 000013
【図１２】
2010246684.tif 000014
【図１３】
2010246684.tif 000015
【図１４】
2010246684.tif 000016