(57)【特許請求の範囲】
【請求項１】
ジャイロセンサを備えた操作装置に対する操作に基づいて、少なくとも角速度に基づいたゲーム処理を行うゲーム装置であって、
第１ゲーム開始前の初期画面を提示する初期画面提示部と、
前記初期画面を提示しているとき、前記操作装置の姿勢が安定しているかどうかを判定する判定部と、
前記初期画面を提示しているときに、所定の操作に応じて、第１ゲームを開始する第１ゲーム開始部と、
前記操作装置から取得される角速度に基づいて前記第１ゲームを行う第１ゲーム処理部と、
前記判定部によって前記操作装置の姿勢が安定していることが判定された後、前記所定の操作が行われずに所定時間が経過したとき、前記第１ゲームとは異なる第２ゲームを開始する第２ゲーム開始部と、
前記操作装置から取得される角速度に基づいて前記第２ゲームを行う第２ゲーム処理部を備える、ゲーム装置。
【請求項２】
前記操作装置は少なくとも１つのキーを備え、
前記第１ゲーム開始部は、前記キーが操作されたことに応じて前記第１ゲームを開始する、請求項１記載のゲーム装置。
【請求項３】
前記第２ゲーム処理部は、前記第２ゲームが開始されてから所定時間経過後に当該第２ゲームを終了し、
前記初期画面提示部は、前記第２ゲームの終了後さらに前記初期画面を提示する、請求項１または２記載のゲーム装置。
【請求項４】
前記第１ゲーム開始部によって前記第１ゲームが開始されるとき、前記判定部によって前記操作装置の姿勢が安定していないことが判定されると、当該操作装置の姿勢を安定させるための指示を提示する指示提示部をさらに備え、
前記第１ゲーム開始部は、前記判定部によって前記操作装置の姿勢が安定したことが判定された後に、前記第１ゲームを開始する、請求項１ないし３のいずれかに記載のゲーム装置。
【請求項５】
ジャイロセンサを備えた操作装置に対する操作に基づいて、少なくとも角速度に基づいたゲーム処理を行うゲームプログラムであって、
コンピュータを、
第１ゲーム開始前の初期画面を提示する初期画面提示部と、
前記初期画面を提示しているとき、前記操作装置の姿勢が安定しているかどうかを判定する判定部と、
前記初期画面を提示しているときに、所定の操作に応じて、第１ゲームを開始する第１ゲーム開始部と、
前記操作装置から取得される角速度に基づいて前記第１ゲームを行う第１ゲーム処理部と、
前記判定部によって前記操作装置の姿勢が安定していることが判定された後、前記所定の操作が行われずに所定時間が経過したとき、前記第１ゲームとは異なる第２ゲームを開始する第２ゲーム開始部と、
前記操作装置から取得される角速度に基づいて前記第２ゲームを行う第２ゲーム処理部として機能させる、ゲームプログラム。
【請求項６】
前記操作装置は少なくとも１つのキーを備え、
前記第１ゲーム開始部は、前記キーが操作されたことに応じて前記第１ゲームを開始する、請求項５記載のゲームプログラム。
【請求項７】
前記第２ゲーム処理部は、前記第２ゲームが開始されてから所定時間経過後に当該第２ゲームを終了し、
前記初期画面提示部は、前記第２ゲームの終了後さらに前記初期画面を提示する、請求項５または６記載のゲームプログラム。
【請求項８】
前記第１ゲーム開始部によって前記第１ゲームが開始されるとき、前記判定部によって前記操作装置の姿勢が安定していないことが判定されると、当該操作装置の姿勢を安定させるための指示を提示する指示提示部として前記コンピュータをさらに機能させ、
前記第１ゲーム開始部は、前記判定部によって前記操作装置の姿勢が安定したことが判定された後に、前記第１ゲームを開始する、請求項５ないし７のいずれかに記載のゲーム装置。
【請求項９】
ジャイロセンサを備えた操作装置に対する操作に基づいて、少なくとも角速度に基づいたゲーム処理を行うゲーム装置のゲーム制御方法であって、
（ａ）第１ゲーム開始前の初期画面を提示し、
（ｂ）前記初期画面を提示しているとき、前記操作装置の姿勢が安定しているかどうかを判定し、
（ｃ）前記初期画面を提示しているときに、所定の操作に応じて、第１ゲームを開始し、
（ｄ）前記操作装置から取得される角速度に基づいて前記第１ゲームを行い、
（ｅ）前記ステップ（ｂ）によって前記操作装置の姿勢が安定していることが判定された後、前記所定の操作が行われずに所定時間が経過したとき、前記第１ゲームとは異なる第２ゲームを開始し、そして
（ｆ）前記操作装置から取得される角速度に基づいて前記第２ゲームを行う、ゲーム制御方法。
【請求項１０】
前記操作装置は少なくとも１つのキーを備え、
前記ステップ（ｃ）は、前記キーが操作されたことに応じて前記第１ゲームを開始する、請求項９記載のゲーム制御方法。
【請求項１１】
前記ステップ（ｅ）は、前記第２ゲームが開始されてから所定時間経過後に当該第２ゲームを終了し、
前記ステップ（ａ）は、前記第２ゲームの終了後さらに前記初期画面を提示する、請求項９または１０記載のゲーム制御方法。
【請求項１２】
（ｇ）前記ステップ（ｃ）によって前記第１ゲームが開始されるとき、前記ステップ（ｂ）によって前記操作装置の姿勢が安定していないことが判定されると、当該操作装置の姿勢を安定させるための指示を提示し、
前記ステップ（ｃ）は、前記ステップ（ｂ）によって前記操作装置の姿勢が安定したことが判定された後に、前記第１ゲームを開始する、請求項９ないし１１のいずれかに記載のゲーム制御方法。
【請求項１３】
ジャイロセンサを備えた操作装置に対する操作に基づいて、少なくとも角速度に基づいたゲーム処理を行うゲームシステムであって、
第１ゲーム開始前の初期画面を提示する初期画面提示部と、
前記初期画面を提示しているとき、前記操作装置の姿勢が安定しているかどうかを判定する判定部と、
前記初期画面を提示しているときに、所定の操作に応じて、第１ゲームを開始する第１ゲーム開始部と、
前記操作装置から取得される角速度に基づいて前記第１ゲームを行う第１ゲーム処理部と、
前記判定部によって前記操作装置の姿勢が安定していることが判定された後、前記所定の操作が行われずに所定時間が経過したとき、前記第１ゲームとは異なる第２ゲームを開始する第２ゲーム開始部と、
前記操作装置から取得される角速度に基づいて前記第２ゲームを行う第２ゲーム処理部を備える、ゲームシステム。
【請求項１４】
前記操作装置は少なくとも１つのキーを備え、
前記第１ゲーム開始部は、前記キーが操作されたことに応じて前記第１ゲームを開始する、請求項１３記載のゲームシステム。
【請求項１５】
前記第２ゲーム処理部は、前記第２ゲームが開始されてから所定時間経過後に当該第２ゲームを終了し、
前記初期画面提示部は、前記第２ゲームの終了後さらに前記初期画面を提示する、請求項１３または１４記載のゲームシステム。
【請求項１６】
前記第１ゲーム開始部によって前記第１ゲームが開始されるとき、前記判定部によって前記操作装置の姿勢が安定していないことが判定されると、当該操作装置の姿勢を安定させるための指示を提示する指示提示部をさらに備え、
前記第１ゲーム開始部は、前記判定部によって前記操作装置の姿勢が安定したことが判定された後に、前記第１ゲームを開始する、請求項１３ないし１５のいずれかに記載のゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲーム装置、ゲームプログラム、ゲーム制御方法およびゲームシステムに関し、特にたとえば、ジャイロセンサを備えた操作装置を用いる、ゲーム装置、ゲームプログラム、ゲーム制御方法およびゲームシステムに関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示されている。この特許文献１では、ゲームシステムを起動してからゲームを実行して終了するまでの特定の場面において、所定の条件を満たす場合に、使用される入力装置毎のジャイロセンサの安定が確認される。たとえば、入力装置を机の上などに置いて静止させることにより、ジャイロセンサを静止している状態にして当該状態におけるジャイロセンサからの出力（静止時出力）が得られる。ジャイロセンサは、この静止時出力を基準として、Ｘ、ＹおよびＺ軸周りの角速度データを出力する。
【特許文献１】特開２０１０−２２７３６６［A63F 13/00, A63F 13/06］
【発明の概要】
【発明が解決しようとする課題】
【０００３】
この特許文献１のゲームシステムでは、入力装置を机の上などに置いて待たなければならないので、待つのが面倒に感じられる可能性がある。また、ジャイロセンサの安定が確認されたことの表示を見逃すと、待ち過ぎてしまう場合もある。
【０００４】
それゆえに、この発明の主たる目的は、新規な、ゲーム装置、ゲームプログラム、ゲーム制御方法およびゲームシステムを提供することである。
【０００５】
また、この発明の他の目的は、ゲーム開始前に待つ必要が有る場合で、待ち過ぎてしまった場合にも楽しむことができる、ゲーム装置、ゲームプログラム、ゲーム制御方法およびゲームシステムを提供することである。
【課題を解決するための手段】
【０００６】
第１の発明は、ジャイロセンサを備えた操作装置に対する操作に基づいて、少なくとも角速度に基づいたゲーム処理を行うゲーム装置であって、初期画面提示部と、判定部と、第１ゲーム開始部と、第１ゲーム処理部と、第２ゲーム開始部と、第２ゲーム処理部とを備える。初期画面提示部は、第１ゲーム開始前の初期画面を提示する。判定部は、初期画面を提示しているとき、操作装置の姿勢が安定しているかどうかを判定する。たとえば、操作装置を机の上に置くなどして静止された状態が継続しているかどうかを判定するのである。第１ゲーム開始部は、初期画面を提示しているときに、所定の操作に応じて、第１ゲームを開始する。第１ゲーム処理部は、操作装置から取得される角速度に基づいて第１ゲームを行う。第２ゲーム開始部は、判定部によって操作装置の姿勢が安定していることが判定された後、所定の操作が行われずに所定時間が経過したとき、第１ゲームとは異なる第２ゲームを開始する。たとえば、初期画面が表示されているときに、所定の条件を満たせば、第２ゲームが開始される。第２ゲーム処理部は、操作装置から取得される角速度に基づいて第２ゲームを行う。
【０００７】
第１の発明によれば、たとえば、初期画面が表示されているときに、操作装置の姿勢が安定していることが判定され、その後に、所定の操作が行われずに所定時間が経過したときに、第２ゲームをプレイすることができる。したがって、操作装置の姿勢が安定するのを待つことに意味を与えることができる。また、待ち過ぎた場合にも、第２ゲームをプレイできるので、楽しむことができる。さらに、第２ゲームをプレイするために待っている間に、操作装置の姿勢が安定していることが判定されるので、自然に待つことができる。
【０００８】
第２の発明は、第１の発明に従属し、操作装置は少なくとも１つのキーを備え、第１ゲーム開始部は、キーが操作されたことに応じて第１ゲームを開始する。つまり、キーが操作されると、第１ゲームが開始され、操作装置の姿勢が安定していることが判定され、キーが操作されないで所定時間を経過したときに、第２ゲームが開始される。
【０００９】
第２の発明によれば、キー操作の有無で第１ゲームまたは第２ゲームを選択的にプレイすることができる。
【００１０】
第３の発明は、第１または第２の発明に従属し、第２ゲーム処理部は、第２ゲームが開始されてから所定時間経過後に当該第２ゲームを終了し、初期画面提示部は、第２ゲームの終了後さらに初期画面を提示する。
【００１１】
第３の発明によれば、第２ゲームは所定時間で終了し、その後、初期画面に戻るので、初期画面において遊びの要素を持たせることができる。
【００１２】
第４の発明は、第１ないし第３の発明に従属し、ゲーム装置は、指示提示部をさらに備える。指示提示部は、第１ゲーム開始部によって第１ゲームが開始されるとき、判定部によって操作装置の姿勢が安定していないことが判定されると、当該操作装置の姿勢を安定させるための指示を提示する。これに応じて、プレイヤは操作装置を机の上に置くなどして、その姿勢を安定させる。第１ゲーム開始部は、判定部によって操作装置の姿勢が安定したことが判定された後に、第１ゲームを開始する。つまり、操作装置の姿勢を安定させていない場合には、第１ゲームの開始に先立って、操作装置の姿勢を安定させるための指示を提示して、操作装置の姿勢が安定したかどうかを判定する必要である。これに対して、プレイヤが、第２ゲームをプレイするために、操作装置を机の上などに置いて待っておけば、操作装置の姿勢が安定していることが既に判定されているため、その後に、第１ゲームをプレイする場合には、判定処理が不要である。
【００１３】
第４の発明によれば、第２ゲームをプレイするために、操作装置を机の上に置くなどして、その姿勢を安定させておけば、その後に、第１ゲームをプレイするときに判定処理が不要であるため、速やかに第１ゲームをプレイすることができる。
【００１４】
第５の発明は、ジャイロセンサを備えた操作装置に対する操作に基づいて、少なくとも角速度に基づいたゲーム処理を行うゲームプログラムであって、コンピュータを、第１ゲーム開始前の初期画面を提示する初期画面提示部と、初期画面を提示しているとき、操作装置の姿勢が安定しているかどうかを判定する判定部と、初期画面を提示しているときに、所定の操作に応じて、第１ゲームを開始する第１ゲーム開始部と、操作装置から取得される角速度に基づいて第１ゲームを行う第１ゲーム処理部と、判定部によって操作装置の姿勢が安定していることが判定された後、所定の操作が行われずに所定時間が経過したとき、第１ゲームとは異なる第２ゲームを開始する第２ゲーム開始部と、操作装置から取得される角速度に基づいて第２ゲームを行う第２ゲーム処理部として機能させる、ゲームプログラムである。
【００１５】
第５の発明においても、第１の発明と同様に、待つことに意味を与えることでき、待ち過ぎた場合にも楽しむことができる。しかも、自然に待つことができる。
【００１６】
第６の発明は、第５の発明に従属し、操作装置は少なくとも１つのキーを備え、第１ゲーム開始部は、キーが操作されたことに応じて第１ゲームを開始する。
【００１７】
第６の発明においても、第２の発明と同様に、キー操作の有無で第１ゲームまたは第２ゲームを選択的にプレイすることができる。
【００１８】
第７の発明は、第５または第６の発明に従属し、第２ゲーム処理部は、第２ゲームが開始されてから所定時間経過後に当該第２ゲームを終了し、初期画面提示部は、第２ゲームの終了後さらに初期画面を提示する。
【００１９】
第７の発明においても、第３の発明と同様に、初期画面において遊びの要素を持たせることができる。
【００２０】
第８の発明は、第５ないし第７の発明のいずれかに従属し、第１ゲーム開始部によって第１ゲームが開始されるとき、判定部によって操作装置の姿勢が安定していないことが判定されると、当該操作装置の姿勢を安定させるための指示を提示する指示提示部としてコンピュータをさらに機能させ、第１ゲーム開始部は、判定部によって操作装置の姿勢が安定したことが判定された後に、第１ゲームを開始する。
【００２１】
第８の発明においても、第４の発明と同様に、速やかに第１ゲームをプレイすることができる。
【００２２】
第９の発明は、ジャイロセンサを備えた操作装置に対する操作に基づいて、少なくとも角速度に基づいたゲーム処理を行うゲーム装置のゲーム制御方法であって、（ａ）第１ゲーム開始前の初期画面を提示し、（ｂ）初期画面を提示しているとき、操作装置の姿勢が安定しているかどうかを判定し、（ｃ）初期画面を提示しているときに、所定の操作に応じて、第１ゲームを開始し、（ｄ）操作装置から取得される角速度に基づいて第１ゲームを行い、（ｅ）ステップ（ｂ）によって操作装置の姿勢が安定していることが判定された後、所定の操作が行われずに所定時間が経過したとき、第１ゲームとは異なる第２ゲームを開始し、そして（ｆ）操作装置から取得される角速度に基づいて第２ゲームを行う、ゲーム制御方法である。
【００２３】
第９の発明においても、第１の発明と同様に、待つことに意味を与えることでき、待ち過ぎた場合にも楽しむことができる。しかも、自然に待つことができる。
【００２４】
第１０の発明は、第９の発明に従属し、操作装置は少なくとも１つのキーを備え、ステップ（ｃ）は、キーが操作されたことに応じて第１ゲームを開始する。
【００２５】
第１０の発明においても、第２の発明と同様に、キー操作の有無で第１ゲームまたは第２ゲームを選択的にプレイすることができる。
【００２６】
第１１の発明は、第９または第１０の発明に従属し、ステップ（ｅ）は、第２ゲームが開始されてから所定時間経過後に当該第２ゲームを終了し、ステップ（ａ）は、第２ゲームの終了後さらに初期画面を提示する。
【００２７】
第１１の発明においても、第３の発明と同様に、初期画面において遊びの要素を持たせることができる。
【００２８】
第１２の発明は、第９ないし第１１の発明のいずれかに従属し、（ｇ）ステップ（ｃ）によって第１ゲームが開始されるとき、ステップ（ｂ）によって操作装置の姿勢が安定していないことが判定されると、当該操作装置の姿勢を安定させるための指示を提示し、ステップ（ｃ）は、ステップ（ｂ）によって操作装置の姿勢が安定したことが判定された後に、第１ゲームを開始する。
【００２９】
第１２の発明においても、第４の発明と同様に、速やかに第１ゲームをプレイすることができる。
【００３０】
第１３の発明は、ジャイロセンサを備えた操作装置に対する操作に基づいて、少なくとも角速度に基づいたゲーム処理を行うゲームシステムであって、第１ゲーム開始前の初期画面を提示する初期画面提示部と、初期画面を提示しているとき、操作装置の姿勢が安定しているかどうかを判定する判定部と、初期画面を提示しているときに、所定の操作に応じて、第１ゲームを開始する第１ゲーム開始部と、操作装置から取得される角速度に基づいて第１ゲームを行う第１ゲーム処理部と、判定部によって操作装置の姿勢が安定していることが判定された後、所定の操作が行われずに所定時間が経過したとき、第１ゲームとは異なる第２ゲームを開始する第２ゲーム開始部と、操作装置から取得される角速度に基づいて第２ゲームを行う第２ゲーム処理部を備える、ゲームシステムである。
【００３１】
第１３の発明においても、第１の発明と同様に、待つことに意味を与えることでき、待ち過ぎた場合にも楽しむことができる。しかも、自然に待つことができる。
【００３２】
第１４の発明は、第１３の発明に従属し、操作装置は少なくとも１つのキーを備え、第１ゲーム開始部は、キーが操作されたことに応じて第１ゲームを開始する。
【００３３】
第１４の発明においても、第２の発明と同様に、キー操作の有無で第１ゲームまたは第２ゲームを選択的にプレイすることができる。
【００３４】
第１５の発明は、第１３または第１４の発明に従属し、第２ゲーム処理部は、第２ゲームが開始されてから所定時間経過後に当該第２ゲームを終了し、初期画面提示部は、第２ゲームの終了後さらに初期画面を提示する。
【００３５】
第１５の発明においても、第３の発明と同様に、初期画面において遊びの要素を持たせることができる。
【００３６】
第１６の発明は、第１３ないし第１５の発明のいずれかに従属し、第１ゲーム開始部によって第１ゲームが開始されるとき、判定部によって操作装置の姿勢が安定していないことが判定されると、当該操作装置の姿勢を安定させるための指示を提示する指示提示部をさらに備え、第１ゲーム開始部は、判定部によって操作装置の姿勢が安定したことが判定された後に、第１ゲームを開始する。
【００３７】
第１６の発明においても、第４の発明と同様に、速やかに第１ゲームをプレイすることができる。
【発明の効果】
【００３８】
この発明によれば、初期画面が表示されている場合に、操作装置の姿勢が安定し、所定の操作を行わずに所定時間が経過したときに、第１ゲームとは異なる第２ゲームが開始されるので、ゲーム開始前に待つ必要が有る場合に、待つことに意味を持たせることができ、待ち過ぎてしまった場合にも楽しむことができる。また、第２ゲームをプレイするために待っている間に、操作装置の姿勢が安定していることが判定されるので、自然に待つことができる。
【００３９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００４０】
【図１】図１はこの発明のゲームシステムの一実施例を示す図解図である。
【図２】図２は図１に示すゲームシステムの電気的な構成を示すブロック図である。
【図３】図３は図１に示すコントローラの外観を説明するための図解図である。
【図４】図４は図１に示すジャイロユニットを接続したコントローラおよびジャイロユニットの外観を説明するための図解図である。
【図５】図５は図１に示すジャイロユニットが接続されたコントローラの電気的な構成を示すブロック図である。
【図６】図６は図１に示すジャイロユニットが接続されたコントローラを用いてゲームプレイするときの状態を概説するための図解図である。
【図７】図７は図１に示すマーカおよびコントローラの視野角を説明するための図解図である。
【図８】図８は対象画像を含む撮像画像の一例を示す図解図である。
【図９】図９は図１に示すモニタに表示されるタイトル画面の一例を示す図解図である。
【図１０】図１０は図１に示すモニタに表示される第１ゲーム選択画面の一例を示す図解図である。
【図１１】図１１は図１に示すモニタに表示される安定確認画面の例を示す図解図である。
【図１２】図１２は図１に示すモニタに表示される第２ゲーム画面の一例を示す図解図である。
【図１３】図１３は図１に示すモニタに表示される第２ゲーム画面の他の例を示す図解図である。
【図１４】図１４は図２に示すメインメモリのメモリマップの一例を示す図解図である。
【図１５】図１５は図２に示すＣＰＵのゲーム全体処理の一部を示すフロー図である。
【図１６】図１６は図２に示すＣＰＵのゲーム全体処理の他の一部であって、図１５に後続するフロー図である。
【図１７】図１７は図２に示すＣＰＵの第２ゲーム処理のフロー図である。
【図１８】図１８は図２に示すＣＰＵの安定確認処理のフロー図である。
【発明を実施するための形態】
【００４１】
図１を参照して、この発明の一実施例であるゲームシステム１０は、ビデオゲーム装置（以下、単に「ゲーム装置」という。）１２およびコントローラ２２を含む。なお、図示は省略するが、この実施例のゲーム装置１２は、最大４つのコントローラ２２と通信可能に設計されている。また、ゲーム装置１２と各コントローラ２２とは、無線によって接続される。たとえば、無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。また、この実施例では、コントローラ２２には、ジャイロユニット２４が接続（連結）されている。
【００４２】
ゲーム装置１２は、略直方体のハウジング１４を含み、ハウジング１４の前面にはディスクスロット１６が設けられる。ディスクスロット１６から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク１８が挿入されて、ハウジング１４内のディスクドライブ５４（図２参照）に装着される。図示は省略するが、ディスクスロット１６の周囲には、ＬＥＤと導光板とが配置され、様々な処理に応答させて、ディスクスロット１６を点灯または点滅させることが可能である。
【００４３】
また、ゲーム装置１２のハウジング１４の前面であり、その上部には、電源ボタン２０ａおよびリセットボタン２０ｂが設けられ、その下部には、イジェクトボタン２０ｃが設けられる。さらに、リセットボタン２０ｂとイジェクトボタン２０ｃとの間であり、ディスクスロット１６の近傍には、外部メモリカード用コネクタカバー２８が設けられる。この外部メモリカード用コネクタカバー２８の内側には、外部メモリカード用コネクタ６２（図２参照）が設けられ、図示しない外部メモリカード（以下、単に「メモリカード」という。）が挿入される。メモリカードは、光ディスク１８から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ）を保存（セーブ）しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカードに対して行うことに代えて、たとえばゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）のような内部メモリに対して行うようにしてもよい。また、メモリカードは、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置１２では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカードには当該他のアプリケーションのデータを保存することができる。
【００４４】
なお、メモリカードとしては、汎用のＳＤカードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。
【００４５】
図１では省略するが、ゲーム装置１２のハウジング１４の後面には、ＡＶケーブルコネクタ５８（図２参照）が設けられ、そのＡＶコネクタ５８を用いて、ＡＶケーブル３２ａを通してゲーム装置１２にモニタ３４およびスピーカ３４ａを接続する。このモニタ３４およびスピーカ３４ａは典型的にはカラーテレビジョン受像機であり、ＡＶケーブル３２ａによって、ゲーム装置１２からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置１２からの音声信号が音声入力端子に入力される。したがって、カラーテレビ（モニタ）３４の画面上にたとえば３次元（３Ｄ）ビデオゲームのゲーム画像が表示され、左右のスピーカ３４ａからゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ３４の周辺（この実施例では、モニタ３４の上側）には、２つの赤外ＬＥＤ（マーカ）３４ｍ，３４ｎを備えるマーカ部３４ｂが設けられる。このマーカ部３４ｂは、電源ケーブル３２ｂを通してゲーム装置１２に接続される。したがって、マーカ部３４ｂには、ゲーム装置１２から電源が供給される。これによって、マーカ３４ｍ，３４ｎは発光し、それぞれモニタ３４の前方に向けて赤外光を出力する。
【００４６】
なお、ゲーム装置１２の電源は、一般的なＡＣアダプタ（図示せず）によって与えられる。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置１２は、家庭用電源（商用電源）を、駆動に適した低いＤＣ電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【００４７】
このゲームシステム１０において、ユーザまたはプレイヤがゲーム（またはゲームに限らず、他のアプリケーション）をプレイするために、ユーザはまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）のプログラムを記録している適宜の光ディスク１８を選択し、その光ディスク１８をゲーム装置１２のディスクドライブ５４にローディングする。応じて、ゲーム装置１２がその光ディスク１８に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置１２に入力を与えるためにコントローラ２２を操作する。たとえば、入力手段２６のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。また、入力手段２６に対する操作以外にも、コントローラ２２自体を動かすことによって、動画オブジェクト（プレイヤオブジェクト）を異なる方向に移動させ、または３Ｄのゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。
【００４８】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置１２の内部メモリ（フラッシュメモリ４２（図２参照））に記憶（インストール）しておき、当該内部メモリから実行するようにしてもよい。かかる場合には，光ディスク１８のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
【００４９】
図２は図１実施例のビデオゲームシステム１０の電気的な構成を示すブロック図である。図示は省略するが、ハウジング１４内の各コンポーネントは、プリント基板に実装される。図２に示すように、ゲーム装置１２には、ＣＰＵ４０が設けられ、ゲームプロセッサとして機能する。また、ＣＰＵ４０には、システムＬＳＩ４２が接続される。このシステムＬＳＩ４２には、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８、ディスクドライブ５４およびＡＶ  ＩＣ５６が接続される。
【００５０】
外部メインメモリ４６は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、ＣＰＵ４０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ４８は、いわゆるブートＲＯＭであり、ゲーム装置１２の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ５４は、光ディスク１８からプログラム，画像データや音声データ等を読み出し、ＣＰＵ４０の制御の下で、後述する内部メインメモリ４２ｅまたは外部メインメモリ４６に書き込む。
【００５１】
システムＬＳＩ４２には、入出力プロセッサ４２ａ、ＧＰＵ(Graphics Processor Unit)４２ｂ，ＤＳＰ(Digital Signal Processor)４２ｃ，ＶＲＡＭ４２ｄおよび内部メインメモリ４２ｅが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。入出力プロセッサ（Ｉ／Ｏプロセッサ）４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。データの送受信やダウンロードについては後述する。
【００５２】
ＧＰＵ４２ｂは、描画手段の一部を形成し、ＣＰＵ４０からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵ４０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ４２ｂに与える。
【００５３】
図示は省略するが、上述したように、ＧＰＵ４２ｂにはＶＲＡＭ４２ｄが接続される。ＧＰＵ４２ｂが作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ４２ｂがＶＲＡＭ４２ｄにアクセスして取得する。ただし、ＣＰＵ４０は、描画に必要な画像データを、ＧＰＵ４２ｂを介してＶＲＡＭ４２ｄに書き込む。ＧＰＵ４２ｂは、ＶＲＡＭ４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００５４】
なお、この実施例では、ＧＰＵ４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、ＧＰＵ４２ｂは当該任意のアプリケーションについての画像データを生成する。
【００５５】
また、ＤＳＰ４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ４２ｅや外部メインメモリ４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ３４ａから出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００５６】
上述のように生成されたゲーム画像データおよびオーディオデータは、ＡＶ  ＩＣ５６によって読み出され、ＡＶコネクタ５８を介してモニタ３４およびスピーカ３４ａに出力される。したがって、ゲーム画面がモニタ３４に表示され、ゲームに必要な音（音楽）がスピーカ３４ａから出力される。
【００５７】
また、入出力プロセッサ４２ａには、フラッシュメモリ４４、無線通信モジュール５０および無線コントローラモジュール５２が接続されるとともに、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。また、無線通信モジュール５０にはアンテナ５０ａが接続され、無線コントローラモジュール５２にはアンテナ５２ａが接続される。
【００５８】
図示は省略するが、入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ４２ａは、定期的にフラッシュメモリ４４にアクセスし、ネットワークへ送信する必要があるデータ（「送信データ」とする）の有無を検出し、当該送信データが有る場合には、無線通信モジュール５０およびアンテナ５０ａを介してネットワークに送信する。また、入出力プロセッサ４２ａは、他のゲーム装置から送信されるデータ（「受信データ」とする）を、ネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、当該受信データをフラッシュメモリ４４に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ４２ａは、ダウンロードサーバからダウンロードしたデータ（ダウンロードデータとする）をネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、そのダウンロードデータをフラッシュメモリ４４に記憶する。
【００５９】
また、入出力プロセッサ４２ａは、コントローラ２２から送信されるコントローラデータをアンテナ５２ａおよび無線コントローラモジュール５２を介して受信し、内部メインメモリ４２ｅまたは外部メインメモリ４６のバッファ領域に記憶（一時記憶）する。コントローラデータは、ＣＰＵ４０の処理（たとえば、ゲーム処理）によって利用された後、バッファ領域から消去される。
【００６０】
なお、この実施例では、上述したように、無線コントローラモジュール５２は、Ｂｌｕｅｔｏｏｔｈ規格に従ってコントローラ２２との間で通信を行う。
【００６１】
さらに、入出力プロセッサ４２ａには、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。拡張コネクタ６０は、ＵＳＢやＳＣＳＩのようなインターフェイスのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ２２とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ６０に有線ＬＡＮアダプタを接続し、無線通信モジュール５０に代えて当該有線ＬＡＮを利用することもできる。メモリカード用コネクタ６２には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ４２ａは、拡張コネクタ６０やメモリカード用コネクタ６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００６２】
詳細な説明は省略するが、図１にも示したように、ゲーム装置１２（ハウジング１４）には、電源ボタン２０ａ，リセットボタン２０ｂおよびイジェクトボタン２０ｃが設けられる。電源ボタン２０ａは、システムＬＳＩ４２に接続される。この電源ボタン２０ａがオンされると、システムＬＳＩ４２には、ゲーム装置１２の各コンポーネントに図示しないＡＣアダプタを経て電源が供給され、通常の通電状態となるモード（「通常モード」と呼ぶこととする）が設定される。一方、電源ボタン２０ａがオフされると、システムＬＳＩ４２には、ゲーム装置１２の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード（以下、「スタンバイモード」という）が設定される。
【００６３】
この実施例では、スタンバイモードが設定された場合には、システムＬＳＩ４２は、入出力プロセッサ４２ａ、フラッシュメモリ４４、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８および無線通信モジュール５０、無線コントローラモジュール５２以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、ＣＰＵ４０がアプリケーションを実行することはない。
【００６４】
なお、システムＬＳＩ４２には、スタンバイモードにおいても電源が供給されるが、ＧＰＵ４２ｂ、ＤＳＰ４２ｃおよびＶＲＡＭ４２ｄへのクロックの供給を停止することにより、これらを駆動しないようにして、消費電力を低減するようにしてある。
【００６５】
また、図示は省略するが、ゲーム装置１２のハウジング１４内部には、ＣＰＵ４０やシステムＬＳＩ４２などのＩＣの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。
【００６６】
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン２０ａがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
【００６７】
また、通常モードとスタンバイモードとの切り替えは、コントローラ２２の電源スイッチ２６ｈのオン／オフの切り替えによって、遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール５２ａへの電源供給を行わない設定にしてもよい。
【００６８】
リセットボタン２０ｂもまた、システムＬＳＩ４２に接続される。リセットボタン２０ｂが押されると、システムＬＳＩ４２は、ゲーム装置１２の起動プログラムを再起動する。イジェクトボタン２０ｃは、ディスクドライブ５４に接続される。イジェクトボタン２０ｃが押されると、ディスクドライブ５４から光ディスク１８が排出される。
【００６９】
図３（Ａ）ないし図３（Ｅ）は、コントローラ２２の外観の一例を示す。図３（Ａ）はコントローラ２２の先端面を示し、図３（Ｂ）はコントローラ２２の上面を示し、図３（Ｃ）はコントローラ２２の右側面を示し、図３（Ｄ）はコントローラ２２の下面を示し、そして、図３（Ｅ）はコントローラ２２の後端面を示す。
【００７０】
図３（Ａ）ないし図３（Ｅ）を参照して、コントローラ２２は、たとえばプラスチック成型によって形成されたハウジング２２ａを有している。ハウジング２２ａは、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング２２ａ（コントローラ２２）には、入力手段（複数のキーないしボタン或いはスイッチ）２６が設けられる。具体的には、図３（Ｂ）に示すように、ハウジング２２ａの上面には、十字キー２６ａ，１ボタン２６ｂ，２ボタン２６ｃ，Ａボタン２６ｄ，−（マイナス）ボタン２６ｅ，ＨＯＭＥボタン２６ｆ，＋（プラス）ボタン２６ｇおよび電源スイッチ２６ｈが設けられる。また、図３（Ｃ）および図３（Ｄ）に示すように、ハウジング２２ａの下面に傾斜面が形成されており、この傾斜面に、Ｂトリガースイッチ２６ｉが設けられる。
【００７１】
十字キー２６ａは、４方向プッシュスイッチであり、矢印で示す４つの方向、前（または上）、後ろ（または下）、右および左の操作部を含む。この操作部のいずれか１つを操作することによって、プレイヤによって操作可能なキャラクタまたはオブジェクト（プレイヤキャラクタまたはプレイヤオブジェクト）の移動方向を指示したり、カーソルの移動方向を指示したり、単に方向を指示したりすることができる。
【００７２】
１ボタン２６ｂおよび２ボタン２６ｃは、それぞれ、押しボタンスイッチである。たとえば３次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。または、１ボタン２６ｂおよび２ボタン２６ｃは、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉと同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
【００７３】
Ａボタンスイッチ２６ｄは、押しボタンスイッチであり、プレイヤキャラクタまたはプレイヤオブジェクトに、方向指示以外の動作、すなわち、打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、Ａボタンスイッチ２６ｄは、コントローラ２２をポインティングデバイスとして用いる場合に、ゲーム画面上でポインタ（指示画像）が指示するアイコンないしボタン画像の決定を指示するために使用される。たとえば、アイコンやボタン画像が決定されると、これらに対応して予め設定されている指示ないし命令（コマンド）を入力することができる。
【００７４】
−ボタン２６ｅ、ＨＯＭＥボタン２６ｆ、＋ボタン２６ｇおよび電源スイッチ２６ｈもまた、押しボタンスイッチである。−ボタン２６ｅは、ゲームモードを選択するために使用される。ＨＯＭＥボタン２６ｆは、ゲームメニュー（メニュー画面）を表示するために使用される。＋ボタン２６ｇは、ゲームを開始（再開）したり、一時停止したりするなどのために使用される。電源スイッチ２６ｈは、ゲーム装置１２の電源を遠隔操作によってオン／オフするために使用される。
【００７５】
なお、この実施例では、コントローラ２２自体をオン／オフするための電源スイッチは設けておらず、コントローラ２２の入力手段２６のいずれかを操作することによってコントローラ２２はオンとなり、一定時間（たとえば、３０秒）以上操作しなければ自動的にオフとなるようにしてある。
【００７６】
Ｂトリガースイッチ２６ｉもまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ２２で選択した位置を指定したりするために使用される。また、Ｂトリガースイッチ２６ｉを押し続けると、プレイヤオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Ｂトリガースイッチ２６ｉは、通常のＢボタンと同様に機能し、Ａボタン２６ｄによって決定したアクションやコマンドなどを取り消すなどのために使用される。
【００７７】
また、図３（Ｅ）に示すように、ハウジング２２ａの後端面に外部拡張コネクタ２２ｂが設けられ、また、図３（Ｂ）に示すように、ハウジング２２ａの上面であり、後端面側にはインジケータ２２ｃが設けられる。外部拡張コネクタ２２ｂは、コントローラ２２とは異なる拡張コントローラ（図示せず）を接続するためなどに使用される。インジケータ２２ｃは、たとえば、４つのＬＥＤで構成される。たとえば、インジケータ２２ｃでは、４つのうちのいずれか１つを点灯させることにより、点灯したＬＥＤに応じて、コントローラ２２の識別情報（コントローラ番号）を示すことができる。また、インジケータ２２ｃでは、点灯させるＬＥＤの個数によってコントローラ２２の電池残量を示すこともできる。
【００７８】
さらに、コントローラ２２は、撮像情報演算部８０（図５参照）を有しており、図３（Ａ）に示すように、ハウジング２２ａの先端面には撮像情報演算部８０の光入射口２２ｄが設けられる。また、コントローラ２２は、スピーカ８６（図５参照）を有しており、このスピーカ８６は、図３（Ｂ）に示すように、ハウジング２２ａの上面であり、１ボタン２６ｂとＨＯＭＥボタン２６ｆとの間に設けられる音抜き孔２２ｅに対応して、ハウジング２２ａ内部に設けられる。
【００７９】
なお、図３（Ａ）ないし図３（Ｅ）に示したコントローラ２２の形状や、各入力手段２６の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変された場合であっても、本発明を実現できることは言うまでもない。
【００８０】
図４（Ａ）は、図１に示したように、コントローラ２２にジャイロユニット２４を接続した状態を示す図解図である。ジャイロユニット２４は、コントローラ２２の後端面側（インジケータ２２ｃ側）に接続される。図４（Ｂ）に示すように、ジャイロユニット２４は、コントローラ２２と同様に、プラスチック成型によって形成されたハウジング２４ａを有している。ハウジング２４ａは、略立方体形状であり、コントローラ２２に接続される側の面に、コントローラ２２の外部拡張コネクタ２２ｂに接合される差し込みプラグ２４ｂが設けられる。また、図４（Ｃ）に示すように、この差し込みプラグ２４が設けられる面の反対側の面には、外部拡張コネクタ２４ｃが設けられる。詳細な説明は省略するが、ジャイロユニット２４が第１コントローラ２２に連結させると、ロック機構によって、その連結状態が維持される。この連結状態は、ジャイロユニット２４の両側面に設けられた解除ボタン２４ｄが押されると、解除される。したがって、第１コントローラ２２にジャイロユニット２４を着脱することが可能である。
【００８１】
図５はコントローラ２２およびジャイロユニット２４の電気的な構成を示すブロック図である。この図５を参照して、コントローラ２２はプロセッサ７０を含み、このプロセッサ７０には、内部バス（図示せず）によって、外部拡張コネクタ２２ｂ、入力手段２６、メモリ７２、加速度センサ７４、無線モジュール７６、撮像情報演算部８０、ＬＥＤ８２（インジケータ２２ｃ）、バイブレータ８４、スピーカ８６および電源回路８８が接続される。また、無線モジュール７６には、アンテナ７８が接続される。
【００８２】
なお、簡単のため、図５では省略するが、上述したように、インジケータ２２ｃは４つのＬＥＤ８２によって構成される。
【００８３】
プロセッサ７０は、コントローラ２２の全体制御を司り、入力手段２６、加速度センサ７４および撮像情報演算部８０によって入力された情報（入力情報）を、コントローラデータとして無線モジュール７６およびアンテナ７８を介してゲーム装置１２に送信（入力）する。このとき、プロセッサ７０は、メモリ７２を作業領域ないしバッファ領域として用いる。また、上述した入力手段２６（２６ａ−２６ｉ）からの操作信号（操作データ）は、プロセッサ７０に入力され、プロセッサ７０は操作データを一旦メモリ７２に記憶する。
【００８４】
加速度センサ７４は、図４に示したように、コントローラ２２の縦方向（Ｙ軸方向）、横方向（Ｘ軸方向）および前後方向（Ｚ軸方向）の３軸で各々の加速度を検出する。この加速度センサ７４は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
【００８５】
加速度センサ７４は、Ｘ軸，Ｙ軸，Ｚ軸の各々についての加速度（ａｘ，ａｙ，ａｚ）を検出すると、検出した加速度のデータ（加速度データ）をプロセッサ７０に入力する。たとえば、加速度センサ７４は、各軸方向の加速度を、−２．０ｇ〜２．０ｇ（ｇは重力加速度である。以下、同じ。）の範囲で検出する。プロセッサ７０は、加速度センサ７４から与えられる加速度データを、一旦メモリ７２に記憶する。
【００８６】
プロセッサ７０は、操作データ、加速度データ、後述するマーカ座標データおよび後述する角速度データの少なくとも１つを含むコントローラデータを作成し、作成したコントローラデータを、ゲーム装置１２に送信する。
【００８７】
なお、図３（Ａ）−図３（Ｅ）では省略したが、この実施例では、加速度センサ７４は、ハウジング２２ａ内部の基板上の十字キー２６ａが配置される付近に設けられる。
【００８８】
無線モジュール７６は、たとえばＢｌｕｅｔｏｏｔｈの技術を用いて、所定周波数の搬送波をコントローラデータで変調し、その微弱電波信号をアンテナ７８から放射する。つまり、コントローラデータは、無線モジュール７６によって微弱電波信号に変調されてアンテナ７８（コントローラ２２）から送信される。この微弱電波信号が上述したゲーム装置１２に設けられた無線コントローラモジュール５２によって受信される。受信された微弱電波は、復調および復号の処理を施され、したがって、ゲーム装置１２（ＣＰＵ４０）は、コントローラ２２からのコントローラデータを取得することができる。そして、ＣＰＵ４０は、取得したコントローラデータとアプリケーションプログラム（ゲームプログラム）とに従ってアプリケーションの処理（ゲーム処理）を行う。
【００８９】
さらに、上述したように、コントローラ２２には、撮像情報演算部８０が設けられる。この撮像情報演算部８０は、赤外線フィルタ８０ａ、レンズ８０ｂ、撮像素子８０ｃおよび画像処理回路８０ｄによって構成される。赤外線フィルタ８０ａは、コントローラ２２の前方から入射する光から赤外線のみを通過させる。上述したように、モニタ３４の表示画面近傍（周辺）に配置されるマーカ３４０ｍおよび３４０ｎは、モニタ３４の前方に向かって赤外光を出力する赤外ＬＥＤである。したがって、赤外線フィルタ８０ａを設けることによってマーカ３４０ｍおよび３４０ｎの画像をより正確に撮像することができる。レンズ８０ｂは、赤外線フィルタ８０ａを透過した赤外線を集光して撮像素子８０ｃへ出射する。撮像素子８０ｃは、たとえばＣＭＯＳセンサあるいはＣＣＤのような固体撮像素子であり、レンズ８０ｂによって集光された赤外線を撮像する。したがって、撮像素子８０ｃは、赤外線フィルタ８０ａを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子８０ｃによって撮像された画像を撮像画像と呼ぶ。撮像素子８０ｃによって生成された画像データは、画像処理回路８０ｄで処理される。画像処理回路８０ｄは、撮像画像内における撮像対象（マーカ３４０ｍおよび３４０ｎ）の位置を算出し、当該位置を示す各座標値を撮像データ（後述するマーカ座標データ）としてプロセッサ７０に出力する。なお、画像処理回路８０ｄにおける処理については後述する。
【００９０】
また、コントローラ２２には、ジャイロユニット２４が接続される。図５からも分かるように、差し込みプラグ２４ｂは、外部拡張コネクタ２２ｂに接続される。差し込みプラグ２４ｂは信号線によって、マイコン９０に接続される。マイコン９０には、ジャイロセンサ９２が接続されるとともに、信号線によって外部拡張コネクタ２４ｃが接続される。
【００９１】
ジャイロセンサ９２は、コントローラ２２の縦方向の軸回り（Ｙ軸回り）、横方向の軸回り（Ｘ軸回り）および前後方向の軸回り（Ｚ軸回り）の３軸回りについての各々の角速度を検出する。ただし、図４に示したように、Ｙ軸の回転はヨー角で表わされ、Ｘ軸の回転はピッチ角で表わされ、そして、Ｚ軸の回転はロール角で表わされる。このジャイロセンサ７４は、典型的には、圧電振動型のものを用いることができるが、他の方式のものを用いるようにしてもよい。
【００９２】
たとえば、ジャイロセンサ９２は、Ｘ軸，Ｙ軸，Ｚ軸の各々についての角速度（ωｘ，ωｙ，ωｚ）を検出し、検出した角速度をマイコン９０に入力する。ただし、角速度は、マイコン９０に入力されるときに、アナログ信号からディジタルのデータに変換される。この実施例で使用するジャイロセンサ９２は、各軸についての角速度を０〜１５００ｄｐｓ（ｄｅｇｒｅｅ  ｐｅｒｃｅｎｔ  ｓｅｃｏｎｄ）の範囲で計測可能である。ただし、後述するこの実施例の仮想ゲームにおいては、ヨー角については、９００ｄｐｓ〜１５００ｄｐｓの範囲を計測範囲とし、ピッチ角とロール角とについては、０〜１５００ｄｐｓの範囲を計測範囲としてある。
【００９３】
マイコン９０は、ジャイロセンサ９２から与えられる角速度を検出し、角速度に対応する角速度データをマイコン９０に内蔵されるメモリ（図示せず）に一時記憶する。そして、マイコン９０は、メモリに一時記憶された角速度データをコントローラ２２（プロセッサ７０）に送信する。
【００９４】
なお、この実施例では、マイコン９０は、角速度データをメモリに一時記憶し、或る程度まとめてプロセッサ７０に送信するようにしてあるが、メモリに一時記憶せずに、そのままプロセッサ７０に送信するようにしてもよい。
【００９５】
図６は、コントローラ２２を用いてゲームプレイするときの状態を概説する図解図である。ただし、ゲームプレイのみならず、他のアプリケーションを実行したり、ＤＶＤを再生したりする場合も同様である。図６に示すように、ビデオゲームシステム１０でコントローラ２２を用いてゲームをプレイする際、プレイヤは、一方の手でコントローラ２２を把持する。厳密に言うと、プレイヤは、コントローラ２２の先端面（撮像情報演算部８０が撮像する光の入射口２２ｄ側）がマーカ３４０ｍおよび３４０ｎの方を向く状態でコントローラ２２を把持する。ただし、図１からも分かるように、マーカ３４０ｍおよび３４０ｎは、モニタ３４の画面の横方向と平行に配置されている。この状態で、プレイヤは、コントローラ２２が指示する画面上の位置を変更したり、コントローラ２２と各マーカ３４０ｍおよび３４０ｎとの距離を変更したりすることによってゲーム操作を行う。
【００９６】
なお、図６では分かり難いが、上述したジャイロユニット２４がコントローラ２２に接続される場合も同様である。
【００９７】
図７は、マーカ３４０ｍおよび３４０ｎと、コントローラ２２との視野角を説明するための図である。図７に示すように、マーカ３４０ｍおよび３４０ｎは、それぞれ、視野角θ１の範囲で赤外光を放射する。また、撮像情報演算部８０の撮像素子８０ｃは、コントローラ２２の視線方向を中心とした視野角θ２の範囲で入射する光を受光することができる。たとえば、マーカ３４０ｍおよび３４０ｎの視野角θ１は、共に３４°（半値角）であり、一方、撮像素子８０ｃの視野角θ２は４１°である。プレイヤは、撮像素子８０ｃが２つのマーカ３４０ｍおよび３４０ｎからの赤外光を受光することが可能な位置および向きとなるように、コントローラ２２を把持する。具体的には、撮像素子８０ｃの視野角θ２の中にマーカ３４０ｍおよび３４０ｎの少なくとも一方が存在し、かつ、マーカ３４０ｍまたは３４０ｎの少なくとも一方の視野角θ１の中にコントローラ２２が存在する状態となるように、プレイヤはコントローラ２２を把持する。この状態にあるとき、コントローラ２２は、マーカ３４０ｍおよび３４０ｎの少なくとも一方を検知することができる。プレイヤは、この状態を満たす範囲でコントローラ２２の位置および向きを変化させることによってゲーム操作を行うことができる。
【００９８】
なお、コントローラ２２の位置および向きがこの範囲外となった場合、コントローラ２２をポインティングデバイスとして用いてゲーム操作を行うことができなくなる。以下では、上記範囲を「ポインティング操作可能範囲」と呼ぶ。
【００９９】
ポインティング操作可能範囲内でコントローラ２２が把持される場合、撮像情報演算部８０によって各マーカ３４０ｍおよび３４０ｎの画像が撮像される。すなわち、撮像素子８０ｃによって得られる撮像画像には、撮像対象である各マーカ３４０ｍおよび３４０ｎの画像（対象画像）が含まれる。図８は、対象画像を含む撮像画像の一例を示す図である。対象画像を含む撮像画像の画像データを用いて、画像処理回路８０ｄは、各マーカ３４０ｍおよび３４０ｎの撮像画像における位置を表す座標（マーカ座標）を算出する。
【０１００】
撮像画像の画像データにおいて対象画像は高輝度部分として現れるため、画像処理回路８０ｄは、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路８０ｄは、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、対象画像である２つのマーカ３４０ｍおよび３４０ｎに対応する画像３４０ｍ’および３４０ｎ’のみならず、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、対象画像である画像３４０ｍ’および３４０ｎ’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【０１０１】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路８０ｄは当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子８０ｃの解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子８０ｃによって撮像された撮像画像の解像度が１２６×９６であるとし、重心位置は１０２４×７６８のスケールで算出されるものとする。つまり、マーカ座標は、（０，０）から（１０２４，７６８）までの整数値で表現される。
【０１０２】
なお、撮像画像における位置は、撮像画像の左上を原点とし、下向きをＹ軸正方向とし、右向きをＸ軸正方向とする座標系（ＸＹ座標系）で表現されるものとする。
【０１０３】
また、対象画像が正しく検出される場合には、判定処理によって２つの高輝度部分が対象画像として判定されるので、２箇所のマーカ座標が算出される。画像処理回路８０ｄは、算出された２箇所のマーカ座標を示すデータを出力する。出力されたマーカ座標のデータ（マーカ座標データ）は、上述したように、プロセッサ７０によってコントローラデータに含まれ、ゲーム装置１２に送信される。
【０１０４】
ゲーム装置１２（ＣＰＵ４０）は、受信したコントローラデータからマーカ座標データを検出すると、このマーカ座標データに基づいて、モニタ３４の画面上におけるコントローラ２２の指示位置（指示座標）と、コントローラ２２からマーカ３４０ｍおよび３４０ｎまでの各距離とを算出することができる。具体的には、２つのマーカ座標の中点の位置から、コントローラ２２の向いている位置すなわち指示位置が算出される。また、撮像画像における対象画像間の距離が、コントローラ２２と、マーカ３４０ｍおよび３４０ｎとの距離に応じて変化するので、２つのマーカ座標間の距離を算出することによって、ゲーム装置１２はコントローラ２２と、マーカ３４０ｍおよび３４０ｎとの間の距離を把握できる。
【０１０５】
なお、上述したプロセッサ７０への各出力は、たとえば１／２００秒周期で実行される。したがって、任意の１／２００秒間に、入力手段２６からの操作データと、撮像情報演算部８０のからの位置座標データと、加速度センサ７４からの加速度データと、ジャイロセンサ９２からの角速度データとが、１回ずつプロセッサ７０に出力される。また、コントローラデータは、たとえば、１／２００秒毎に、ゲーム装置１２に送信される。無線コントローラモジュール５２は、コントローラ２２から所定周期（たとえば、１／２００秒）で送信されるコントローラデータを受信し、当該無線コントローラモジュール５２が備える図示しないバッファに蓄積する。その後、ゲーム装置１２では、ＣＰＵ４０の指示の下、入力プロセッサ４２ａによって、１フレーム（画面更新単位時間：１／６０秒）毎に、当該期間中に蓄積されたコントローラデータが読み出される。
【０１０６】
このようなゲームシステム１０では、この実施例のゲームアプリケーション（仮想ゲーム）を実行することが選択（指示）されると、初期画面として、図９に示すようなタイトル画面１００がモニタ３４に表示される。タイトル画面１００には、画面全体に表示領域１０２が設けられ、この表示領域１０２に、ゲームタイトルの文字列が表示されるとともに、図示は省略するが、たとえば、仮想ゲームの本編に登場するキャラクタないしオブジェクトの画像が表示される。
【０１０７】
なお、実際のタイトル画面１００では、「ゲームタイトル」の文字列に代えて、仮想ゲームのタイトル名についての文字列が表示される。
【０１０８】
また、タイトル画面１００の下端部には、表示領域１０２の前面に、表示領域１０４が設けられる。この表示領域１０４には、トップメニューに移行するための操作方法ないし操作する所定のキーないしボタン或いはスイッチ（以下、「所定のキー等」という）を示すメッセージが表示される。さらに、タイトル画面１００の右下端部であり、表示領域１０４の前面に、トップメニューに移行するための操作方法ないし操作する所定のキー等を示す画像（以下、「操作説明画像」という）１０６が表示される。
【０１０９】
タイトル画面１００が表示されているときに、所定のキー等（ここでは、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉの両方）がオンされると、トップメニューに移行する。つまり、図１０に示すような第１ゲーム選択画面１５０がモニタ３４に表示される。第１ゲーム選択画面１５０は、この実施例の仮想ゲームの本編でプレイすることができる第１ゲームを選択するための画面である。たとえば、第１ゲームは、複数のミニゲーム（この実施例では、ゲームＡ、ゲームＢ、ゲームＣ、ゲームＤ、ゲームＥおよびゲームＦ）である。ただし、これは単なる一例であり、第１ゲームの数や種類は限定されるべきでない。
【０１１０】
図１０を参照して分かるように、第１ゲーム選択画面１５０の中央上部には、第１ゲームを選択するための画面であることを示す「トップメニュー」の文字列が表示される。また、この「トップメニュー」の文字列の下方に、ボタン画像１５２、ボタン画像１５４、ボタン画像１５６、ボタン画像１５８、ボタン画像１６０、ボタン画像１６２およびボタン画像１６４が表示される。
【０１１１】
ボタン画像１５２−１６２は、それぞれに対応するゲームＡ−Ｆを選択（開始）するために設けられる。したがって、プレイヤがコントローラ２２を用いて、ボタン画像１５２−１６２のいずれか１つを選択（オン）すると、オンされたボタン画像（１５２−１６２）に対応するゲーム（Ａ−Ｆ）が開始される。
【０１１２】
ボタン画像１６４は、図９に示したタイトル画面１００に戻るために設けられる。したがって、ボタン画像１６４がオンされると、第１ゲーム選択画面１５０に代えてタイトル画面１００がモニタ３４に表示される。
【０１１３】
たとえば、上記の第１ゲームでは、コントローラ２２から送信されるコントローラデータのうち、少なくとも角速度データを用いて、ゲーム処理が実行される。ジャイロセンサ９２では、静止安定状態における出力（静止時出力）を基準に、回転角速度が正方向のときに出力電圧が高くなり、回転速度が負方向のときに出力電圧が低くなる。したがって、静止時出力に誤差が含まれていると、ジャイロセンサ９２から出力される角速度データが示す角速度にも誤差が含まれてしまう。したがって、ジャイロセンサ９２を安定状態にして、ジャイロセンサ９２の正確な静止時出力を得ることによって、結果的に正確な角速度を得ることができる。
【０１１４】
ここで、ジャイロセンサ９２は、Ｘ軸、Ｙ軸およびＺ軸周りの角速度データを出力するための基準値（ゼロ点）を固定値として予め有していることがあるが、現実の静止時出力と当該固定値とがずれていることがある。また、一旦、静止時出力が決定された後であっても、ジャイロセンサ９２の出力が時間経過とともに変動することがあり、この場合、静止時出力も時間経過とともに変動する（ドリフト現象）。このような静止時出力の誤差を低減するために、ジャイロセンサ９２の姿勢が安定しているかどうか（安定状態）を確認するようにしてある。ただし、ジャイロセンサ９２の姿勢の安定とは、ジャイロセンサ９２の姿勢を静止した状態にし、この状態におけるジャイロセンサ９２からの出力すなわち静止時出力を得ていることを意味する。そして、安定状態とは、ジャイロセンサ９２の姿勢を静止した状態が継続することにより、静止時出力を継続的に得ている状態を意味する。この実施例では、ジャイロユニット２４は、コントローラ２２に接続されるため、このジャイロユニット２４が接続されたコントローラ２２の姿勢が静止されている場合に、ジャイロセンサ９２の姿勢も静止される。したがって、ジャイロセンサ９２の安定状態を確認すると言うのは、コントローラ２２の安定状態を確認するとも言える。
【０１１５】
したがって、通常、第１ゲーム（ゲームＡ−Ｆのうちのいずれかのゲーム）の開始が指示されると、ゲーム処理が開始される前に、安定状態の確認処理が実行される。安定状態の確認処理が開始されると、図１１（Ａ）に示すような安定確認画面２００がモニタ３４に表示される。この安定確認画面２００では、上半分に表示領域２０２が設けられ、この表示領域２０２の下方に、状態確認画像２０４が表示される。
【０１１６】
表示領域２０２には、コントローラ２２を机の上などにおいて静止させた状態（姿勢が安定された状態）にするべきことを指示するためのメッセージが表示される。図示は省略するが、コントローラ２２を机に置いている状態を示す画像も表示するようにしてもよい。状態確認画像２０４は、コントローラ２２が安定状態であるかどうかを示す画像および確認中であるか確認済みであるかを示す文字列を含む。
【０１１７】
たとえば、図１１（Ａ）に示すように、安定状態の確認中では、状態確認画像２０４において、コントローラ２２を模した画像が回転するアニメーションが表示され、当該画像の下方に「確認中」の文字列が表示される。安定状態が確認されると、図１１（Ｂ）に示すように、状態確認画像２０４において、コントローラ２２を模した画像の静止画像が表示され、当該画像の下方に「ＯＫ！」の文字列が表示される。図示は省略するが、安定状態が確認されると、上記のトップメニューで選択された第１ゲームが開始される。
【０１１８】
なお、この実施例では、安定状態の確認処理が一度行われた後では、トップメニューに戻って、他の第１ゲームが選択されると、そのまま当該他の第１ゲームが開始される。ただし、トップメニューにおいて、第１ゲームが選択される度に、安定状態の確認処理を実行してもよいし、所定時間（たとえば、３０分）が経過する度に、または、所定回数（たとえば、１０回）プレイする度に、安定状態の確認処理を実行してもよい。
【０１１９】
ここで、実際の安定状態の確認処理について説明する。安定状態の確認処理が開始されると、コントローラ２２から送信されたコントローラデータに含まれる角速度データが検出され、検出された角速度データを用いて角度データが算出される。つまり、Ｘ軸、Ｙ軸およびＺ軸の各軸周りについての角度が算出され、コントローラ２２の現在の姿勢が検出される。このような検出等の処理が１フレーム毎に行われる。
【０１２０】
次に、コントローラ２２が静止された状態であるかどうかが判断される。ここでは、現在のフレーム（現フレーム）の角度データと１つ前のフレーム（前フレーム）の角度データとの差が所定値以下であるかどうかが判断される。ただし、Ｘ軸、Ｙ軸およびＺ軸の各軸周りで判断される。また、コントローラ２２が静止された状態であるかどうかを判断するようにしてあるため、所定値は０に近い値に設定される。
【０１２１】
現フレームの角度データと前フレームの角度データとの差が所定値以下である場合には、コントローラ２２が静止された状態であると判断して、その状態のカウント数が１加算される。コントローラ２２が静止された状態であるかどうかの判断が繰り返し行われ、カウント数が所定数（閾値Ｐ）以上になると、安定状態が確認されたと判定される。ただし、所定数（閾値Ｐ）は、静止時出力を得るために十分な値である。
【０１２２】
ただし、角速度データを取得できない場合や現フレームの角度データと前フレームの角度データとの差が所定値を超える場合すなわちコントローラ２２が静止されていない状態であると判断された場合には、カウント数はリセットされる。
【０１２３】
また、後述するように、コントローラ２２から送信されたコントローラデータに含まれる角速度データが補正され、静止時出力の値（ゼロ点オフセット値ｏｆｓ）が安定するまでには或る程度の時間を要する。また、コントローラ２２が静止された状態であることが判定された回数が所定数（閾値Ｐ）以上になると、安定状態が確認されるため、この確認処理も或る程度の時間を要する。
【０１２４】
ただし、上述した安定状態の確認処理は、タイトル画面１００がモニタ３４に表示されている状態においても実行されている。したがって、タイトル画面１００が表示されている場合に、コントローラ２２を机の上に置くなどして静止させ、安定状態の確認が行われた場合には、その後に、トップメニューで第１ゲー選択されると、安定状態の確認処理が行われずに、そのまま第１ゲームのゲーム処理が開始される。
【０１２５】
また、この実施例では、タイトル画面１００がモニタ３４に表示されている場合に、安定状態の確認が行われた後に、放置状態が所定時間（たとえば、１０秒）以上継続すると、本編でプレイする第１ゲームとは異なる第２ゲームが開始される。
【０１２６】
ただし、この実施例では、「放置状態」とは、コントローラ２２の所定のキー等（この実施例では、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉの両方）が操作されていない状態を意味する。
【０１２７】
第２ゲームもまた、角速度データを用いてゲーム処理を実行するゲームである。この実施例では、２種類の第２ゲームが用意されている。たとえば、第２ゲームは、第１ゲームをプレイするための操作方法を知得したり、練習したりするようなゲームである。ただし、すべての第１ゲームをクリアすることにより、プレイできるようになる特別なゲームが第２ゲームとして追加されてもよい。
【０１２８】
図１２には、１つ目の第２ゲームについての第２ゲーム画面２５０が示される。この第２ゲームでは、コントローラ２２を万華鏡に見立てて、万華鏡の中を覗いた場合に見える模様が第２ゲーム画面２５０（モニタ３４）に表示される。したがって、図１２に示す第２ゲーム画面２５０では、画面全体に設定される表示領域２５２に、所定の模様が表示される。また、第２ゲーム画面２５０の下端部には、表示領域２５２の前面に、タイトル画面１００に戻るための操作方法ないし操作する所定のキー等を示すメッセージが表示される表示領域２５４が設けられる。後述する表示領域３０４（図１３参照）についても同じ。さらに、この表示領域２５４の前面であり、ゲーム画面２５０の右下端部には、タイトル画面１００に戻るための操作方法ないし操作する所定のキー等を示す操作説明画像２５６が表示される。後述する操作説明画像３０６（図１３参照）についても同じ。
【０１２９】
図示は省略するが、たとえば、万華鏡についての第２ゲームでは、プレイヤがコントローラ２２をＺ軸周りに回転させると、仮想の万華鏡が回転され、これに応じて、第２ゲーム画面２５０に表示される模様が変化される。詳細な説明は省略するが、図４（Ａ）に示す状態において、ロール角がマイナス方向に大きくされると、コントローラ２２がＺ軸を中心に左方向に回転されたことが判断される。また、ロール角がプラス方向に大きくされると、コントローラ２２がＺ軸を中心に右方向に回転されたことが判断される。
【０１３０】
また、プレイヤが、コントローラ２２の先端面を上方向に向けると、第２ゲーム画面２５０（表示領域２５２）の背景が明るく（白く）なり、コントローラ２２の先端面を下方向に向けると、第２ゲーム画面２５０（表示領域２５２）の背景が暗くなる。詳細な説明は省略するが、図４（Ａ）に示す状態において、ピッチ角がマイナス方向に大きくされると、コントローラ２２の先端面が上方向に向けられたことが判断される。一方、ピッチ角がプラス方向に大きくされると、コントローラ２２の先端面が下方向に向けられたことが判断される。
【０１３１】
さらに、プレイヤが、コントローラ２２の先端面を左右に向けると、第２ゲーム画面２５０（表示領域２５２）の背景の色相が変化される。詳細な説明は省略するが、図４（Ａ）に示す状態において、ヨー角がマイナス方向に大きくされると、コントローラ２２の先端面が左方向に向けられたことが判断される。一方、ヨー角がプラス方向に大きくされると、コントローラ２２の先端面が右方向にもけられたことが判断される。
【０１３２】
また、図１３には、２つ目の第２ゲームについての第２ゲーム画面３００が示される。この第２ゲームでは、コントローラ２２をシャボン玉を作るリングに見立てて、コントローラ２２を自由に動かすことにより、シャボン玉が作られ、第２ゲーム画面３００（モニタ３４）に表示される。したがって、図１３に示す第２ゲーム画面３００では、画面全体についての表示領域３０２にリングを模したオブジェクト（リングオブジェクト）３１０が表示されるとともに、作られたシャボン玉を模したオブジェクト（シャボン玉オブジェクト）３１２が表示される。また、第２ゲーム画面３００の下端部には、表示領域３０２の前面に、表示領域３０４が設けられる。さらに、この表示領域３０４の前面であり、ゲーム画面３００の右下端部には、操作説明画像３０６が表示される。
【０１３３】
たとえば、シャボン玉についての第２ゲームでは、プレイヤがコントローラ２２を動かすと、その動きと連動して、ゲーム画面３００内のリングオブジェクト３１０が動かされたり、向きを変えたりする。詳細な説明は省略するが、リングオブジェクト３１０の移動や回転は、コントローラ２２から送信されたコントローラデータに含まれる角速度データに基づいて制御される。
【０１３４】
ゲーム画面３００内のリングオブジェクト３１０がゆっくり動かされると、リングオブジェクト３１０からシャボン膜（図示せず）が長く伸びて、大きいシャボン玉が作られる。ただし、所定の大きさ（長さ）になると、シャボン膜はリングオブジェクト３１０から離れる。一方、ゲーム画面３００内のリングオブジェクト３１０が早く動かされると、シャボン膜がすぐにリングオブジェクト３１０から離れて、小さいシャボン玉が作られる。
【０１３５】
シャボン玉が作られると、ゲーム画面３００の奥に移動するため、シャボン玉オブジェクト３１２同士が干渉（衝突）することはない。また、一度作られたシャボン玉オブジェクト３１２は、所定時間（たとえば、３〜５秒）が経過すると割れたり、上昇して画面外に移動されることにより消去されたりする。
【０１３６】
万華鏡やシャボン玉についての第２ゲームは、所定時間（たとえば、９０秒）だけプレイすることができる。たとえば、所定時間を経過し、第２ゲームのゲーム処理が終了すると、モニタ３４の画面がブラックアウトされた後に、タイトル画面１００に戻る。
【０１３７】
ただし、第２ゲームのプレイ中に、所定のキー等（この実施例では、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉの両方）が操作されると、第２ゲームが途中で終了され、モニタ３４の画面がブラックアウトされた後に、タイトル画面１００に戻る。
【０１３８】
図１４は、図２に示したメインメモリ（４２ｅまたは４６）のメモリマップの一例を示す。図１４に示すように、メインメモリ（４２ｅまたは４６）は、プログラム記憶領域５００およびデータ記憶領域５０２を含む。プログラム記憶領域５００は、ゲームプログラムを記憶し、このゲームプログラムは、ゲームメイン処理プログラム５００ａ、画像生成プログラム５００ｂ、画像表示プログラム５００ｃ、角速度検出プログラム５００ｄ、安定確認プログラム５００ｅ、安定指示プログラム５００ｆ、第１ゲームプログラム５００ｇおよび第２ゲームプログラム５００ｈなどによって構成される。
【０１３９】
ゲームメイン処理プログラム５００ａは、この実施例の仮想ゲームのメインルーチンを処理するためのプログラムである。画像生成プログラム５００ｂは、後述する画像データ５０２ａを用いて、各種の画面（１００、１５０、２００、２５０、３００など）をモニタ３４に表示するためのゲーム画像データを生成するためのプログラムである。画像表示プログラム５００ｃは、画像生成プログラム５００ｂによって生成されたゲーム画像データをモニタ３４に表示（出力）するためのプログラムである。
【０１４０】
角速度検出プログラム５００ｄは、コントローラ２２から送信されたコントローラデータから角速度データを検出（取得）するためのプログラムである。ただし、角速度検出プログラム５００ｄは、角速度を補正するためのプログラムを含む。また、角速度検出プログラム５００ｄは、検出した角速度データに対応する角速度を累積した角度の算出も行う。安定確認プログラム５００ｅは、コントローラ２２の安定状態を確認するためのプログラムである。安定指示プログラム５００ｆは、コントローラ２２の安定状態を確認する旨の指示を提示するためのプログラムである。
【０１４１】
第１ゲームプログラム５００ｇは、第１ゲームのゲームプログラムであって、ゲームＡ−ゲームＦのそれぞれについて記憶される。第２ゲームプログラム５００ｈは、第２ゲームのゲームプログラムであって、２種類の第２ゲームのそれぞれについて記憶される。
【０１４２】
図示は省略するが、プログラム記憶領域５００には、音出力プログラムやバックアッププログラムなども記憶される。音出力プログラムは、サウンドデータや音波形データを用いて、プレイヤオブジェクトやノンプレイヤオブジェクトについての音声（擬制音）、効果音および音楽（ＢＧＭ）などのゲームに必要な音を生成および出力するためのプログラムである。バックアッププログラムは、プレイヤの指示や所定のゲームイベントに従って、ゲームデータ（途中データ、結果データ）をフラッシュメモリ４４やメモリカードに保存（セーブ）するためのプログラムである。
【０１４３】
データ記憶領域５０２には、画像データ５０２ａ、角速度データ５０２ｂ、角度データ５０２ｃおよび過去角度データ５０２ｄが記憶される。また、データ記憶領域５０２には、タイマ５０２ｅおよび安定確認フラグ５０２ｆが設けられる。
【０１４４】
画像データ５０２ａは、ポリゴンデータ、テクスチャデータおよびオブジェクトについてのデータなどである。角速度データ５０２ｂは、コントローラ２２から送信されるコントローラデータに含まれる角速度のデータである。上述したように、コントローラデータに含まれる角速度データは、無線コントローラモジュール５２に設けられるバッファ（図示せず）に蓄積され、このバッファに蓄積された角速度データが１フレーム毎に読み出され、メインメモリ（４２ｅ、４６）の角速度データ５０２ｂが更新される。つまり、角速度データ５０２ｂは、現フレームにおける、コントローラ２２に対して設定されたＸ軸、Ｙ軸、Ｚ軸の各軸周りの角速度のデータである。
【０１４５】
ただし、角速度データ５０２ｂは、メインメモリ（４２ｅ、４６）に記憶される前に、所定の補正が行われる。ここで、角速度データ５０２ｂの補正処理ないし補正方法について説明する。
【０１４６】
なお、この角速度データの補正処理ないし補正方法については、本件出願人が先に出願し既に出願公開されている特開２０１０−１９７５１号に詳細に開示されるため、ここでは、簡単に説明することにする。
【０１４７】
まず、ジャイロセンサ９２から出力された角速度データが示す角速度ｖは、数１に従って一次補正される。ただし、角速度ｖは、３軸のうちのいずれか１軸の角速度である。ここでは、１軸についての角速度ｖの補正処理（補正方法）について説明するが、他の軸についても同様である。また、数１において（数２、数３も同じ）、“＝”は代入を意味する。
【０１４８】
［数１］
ｖ＝ｖ＋（ｓｕｍ／ｃｔ−ｖ）×ａ
ここで、ｃｔは、現フレームの角速度ｖから遡って、角速度が連続して安定範囲（下限）ｄ１および安定範囲（上限）ｄ２で設定された安定範囲内に収まると判断された角速度ｖ（角速度ｖのデータ）の数（連続個数ｃｔ）である。ただし、角速度ｖのデータは、データ記憶領域５０２に設けられたデータバッファ（図示せず）に、時系列に従う順序で１フレーム毎に記憶される。また、ｓｕｍは、上記の安定範囲内に収まると判断された角速度の値の合計値である。ただし、検索する角速度の数の最大数（検索上限数）は予め設定されている。また、ａは、静止具合値を示す。静止具合値ａは、ジャイロセンサ９２がどの程度安定している状態であるかを示す指標であり、０〜１の間で設定される。この静止具合値ａは、ジャイロセンサ９２の動きの変化が少ない（安定している）期間が長い程、１に近づく。そして、静止具合値ａは、現フレームから遡って連続して検索上限数（たとえば、４００）分の角速度データの値がすべて上記の安定範囲内に入っていたときに、最大値（１）になるようにして正規化される。ただし、静止具合値ａをｋ乗する（ｋ≧１）（ａｋ）ことにより、コントローラ２２（ジャイロセンサ９２）の変動の少ない状態が長く続いたとき、すなわち連続個数ｃｔが多い（大きい）ときと、少ない（小さい）ときとの差を大きくするようにしてもよい。つまり、静止具合値ａをそのまま使用すると連続個数ｃｔに比例するだけであるが、べき乗（たとえば、ｋ乗）することにより、連続個数ｃｔに対して累乗的に静止具合値ａが変化するように設定することができる。
【０１４９】
そして、上記の一次補正後の角速度ｖからゼロ点オフセット値（静止時出力値）ｏｆｓを減算することでオフセット補正（キャリブレーション）する。ここで、ゼロ点オフセット値ｏｆｓは、ジャイロセンサ９２が静止時に示すと想定される角速度データの値であって、その初期値は予め定められたデバイス固有値に設定されているが、上記の一次補正後の角速度ｖに応じて、順次補正されて再設定（更新）される。具体的には、数２に従って、ゼロ点オフセット値ｏｆｓは順次補正されて再設定される。
【０１５０】
［数２］
ｏｆｓ＝ｏｆｓ＋（ｖ−ｏｆｓ）×ａ×Ｃ
ただし、Ｃは、定数であり、たとえば、０．０１に設定される。定数Ｃを小さい値に設定することにより、短期間で角速度ｖがコントローラ２２の静止された状態におけるゼロ点に補正されることを防止してある。また、静止出力値のずれの原因となるドリフト現象は変化が激しい現象ではなく、すばやく反応する必要がないため、定数Ｃを小さい値にすることによって、高精度なゼロ点オフセット値ｏｆｓを得ることができる。
【０１５１】
なお、ジャイロユニット２４を接続したコントローラ２２を用いるゲームの種類等に応じて、定数Ｃの値を変化させても構わない。たとえば、静止具合値ａに定数Ｃを乗算した値が大きい程、すなわちコントローラ２２（ジャイロセンサ９２）の動きの変化が少ない安定した状態となった期間が長い程、ゼロ点オフセット値ｏｆｓが上記の一次補正された角速度ｖに近い値に補正される。したがって、コントローラ２２（ジャイロセンサ９２）が静止された状態であれば、ゼロ点オフセット値ｏｆｓが上記の一次補正された角速度ｖに収束する割合が大きくなる。つまり、ジャイロセンサ９２の静止時のように角速度に変化が少ない場合には、ゼロ点が平均値に近づいて行くように、ゼロ点の補正が行われる。すなわち、コントローラ２２が少なくとも一度静止すれば、補正によって、それ以降の角速度の誤差が除かれることになる。したがって、この実施例では、安定状態の確認を予め実行することによって、ジャイロセンサ９２の誤差が補正済みの状態で第１ゲームや第２ゲームを行うことができるのである。
【０１５２】
そして、上記の一次補正後の角速度ｖは、ゼロ点オフセット値ｏｆｓを用いてオフセット補正される。具体的には、一次補正後の角速度ｖは、数３に従ってオフセット補正される。
【０１５３】
［数３］
ｖ＝ｖ−ｏｆｓ
これによって、ジャイロセンサ９２から出力された角速度データが示す角速度ｖは、ゼロ点（静止時出力の値）を考慮した上で再度補正される。そして、上記のオフセット補正後の角速度ｖを用いて、角速度データ５０２ｂが適宜更新されることになる。
【０１５４】
角度データ５０２ｃは、角速度データ５０２ｂに対応する角速度を累積することより得られた各軸周りについての角度（姿勢）についてのデータである。過去角度データ５０２ｄは、角度の変化量を算出するために用いられ、過去（１フレーム前）に算出された各軸周りについての角度（姿勢）を示すデータである。
【０１５５】
タイマ５０２ｆは、コントローラ２２が放置されている状態の時間（たとえば、１０秒）や第２ゲームのプレイ可能な時間（たとえば、９０秒）をカウントするためのタイマである。ただし、タイマは、各用途に応じて個別に設けるようにしてもよい。
【０１５６】
安定確認フラグ５０２ｆは、安定状態が確認されたかどうかを判定するためのフラグであり、１ビットのレジスタによって構成される。安定確認フラグ５０２ｆがオンされると、レジスタにデータ値「１」が記憶される。一方、安定確認フラグ５０２ｆがオフされると、レジスタにデータ値「０」が記憶される。また、対応するコントローラ２２の安定状態が確認されたときに、安定確認フラグ５０２ｆはオンされ、対応するコントローラ２２の安定状態が確認されていないときに、安定確認フラグ５０２ｆはオフされる。
【０１５７】
なお、図示は省略するが、データ記憶領域５０２には、ゲーム処理に必要な、他のデータが記憶されたり、他のタイマ（カウンタ）や他のフラグが設けられたりする。
【０１５８】
具体的には、図２に示したＣＰＵ４０が図１５および図１６に示すゲーム全体処理を実行する。図１５に示すように、ＣＰＵ４０は、ゲーム全体処理を開始すると、ステップＳ１で、図９に示したようなタイトル画面１００をモニタ３４に表示する。次のステップＳ３では、安定確認フラグ５０２ｆがオンであるかどうかを判断する。ただし、ゲーム全体処理が開始された当初では、安定確認フラグ５０２ｆはオフである。
【０１５９】
ステップＳ３で“ＹＥＳ”であれば、つまり安定確認フラグ５０２ｆがオンであれば、そのままステップＳ７に進む。一方、ステップＳ３で“ＮＯ”であれば、つまり安定確認フラグ５０２ｆがオフであれば、ステップＳ５で、安定確認処理（図１８参照）を開始して、ステップＳ７に進む。したがって、安定確認フラグ５０２ｆがオフである場合には、タイトル画面１００が表示されている場合にも、安定確認処理が実行される。ただし、安定確認処理は、ゲーム全体処理とは別のタスクで並列的に実行される。
【０１６０】
ステップＳ７では、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉの両方がオンされたかどうかを判断する。ここでは、ＣＰＵ４０は、コントローラデータに含まれる操作データを検出して、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉが同時に操作されたかどうかを判断する。ステップＳ７で“ＹＥＳ”であれば、つまりＡボタン２６ｄおよびＢトリガースイッチ２６ｉの両方がオンされれば、図１６に示すステップＳ１５に進む。一方、ステップＳ７で“ＮＯ”であれば、つまりＡボタン２６ｄおよびＢトリガースイッチ２６ｉの少なくとも一方がオンされていなければ、ステップＳ９で、安定確認フラグ５０２ｆがオンであるかどうかを判断する。
【０１６１】
ステップＳ９で“ＮＯ”であれば、そのままステップＳ３に戻る。一方、ステップＳ９で“ＹＥＳ”であれば、ステップＳ１１で、放置状態が１０秒以上継続したかどうかを判断する。つまり、ＣＰＵ４０は、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉの少なくとも一方がオンされない状態が１０秒以上継続したかどうかを判断する。
【０１６２】
図示は省略するが、安定確認フラグ５０２ｆがオフからオンに変化したときに、ＣＰＵ４０の指示に従ってタイマ５０２ｅのカウントが開始される。
【０１６３】
ステップＳ１１で“ＮＯ”であれば、つまり放置状態でない場合や放置状態が１０秒以上継続していない場合には、そのままステップＳ７に戻る。一方、ステップＳ１１で“ＹＥＳ”であれば、つまり放置状態が１０秒以上継続すれば、ステップＳ１３で、後述する第２ゲーム処理（図１６参照）を実行し、ステップＳ１５で、画面をブラックアウトして、ステップＳ１に戻る。図示は省略するが、このとき、タイマ５０２ｅは、リセットおよびスタートされる。
【０１６４】
図１６に示すように、ステップＳ１７では、図１０に示したような第１ゲーム選択画面１５０すなわちトップメニューをモニタ３４に表示する。続くステップＳ１９では、第１ゲームが選択されたかどうかを判断する。つまり、ＣＰＵ４０は、ボタン画像１５２−１６２のいずれかがオンされたかどうかを判断する。ステップＳ１９で“ＮＯ”であれば、つまり第１ゲームが選択されていなければ、ステップＳ２１で、タイトルに戻るかどうかを判断する。つまり、ＣＰＵ４０は、ボタン画像１６４がオンされたかどうかを判断する。ステップＳ２１で“ＮＯ”であれば、つまりタイトルに戻らない場合には、そのままステップＳ１９に戻る。一方、ステップＳ２１で“ＹＥＳ”であれば、つまりタイトルに戻る場合には、図１５に示したステップＳ１に戻る。ただし、このとき、安定確認フラグ５０２ｆがオンされている場合には、タイマ５０２ｅがリセットおよびスタートされる。
【０１６５】
また、ステップＳ１９で“ＹＥＳ”であれば、つまり第１ゲームが選択されれば、ステップＳ２３で、安定確認フラグ５０２ｆがオンであるかどうかを判断する。ステップＳ２３で“ＹＥＳ”であれば、そのままステップＳ３５に進む。一方、ステップＳ２３で“ＮＯ”であれば、ステップＳ２５で、図１１（Ａ）に示したような安定確認画面２００をモニタ３４に表示し、ステップＳ２７で、安定確認処理を開始する。さらに、ステップＳ２９では、コントローラ２２の画像を回転させる。つまり、図１１（Ａ）に示したように、安定確認画面２００の状態確認画像２０４において、コントローラ２２を模した画像が回転する様子のアニメーションが表示される。
【０１６６】
続くステップＳ３１では、安定確認フラグ５０２ｆがオンであるかどうかを判断する。ステップＳ３１で“ＮＯ”であれば、そのままステップＳ２９に戻る。一方、ステップＳ３１で“ＹＥＳ”であれば、ステップＳ３３で、コントローラ２２の画像を停止させるとともに、確認終了を表示して、ステップＳ３５に進む。する。つまり、図１１（Ｂ）に示したように、安定確認画面２００の状態確認画像２０４において、コントローラ２２を模した画像の静止画像が表示され、当該画像の下方に「ＯＫ！」の文字列が表示される。
【０１６７】
ステップＳ３５では、選択された第１ゲームのゲーム処理を開始する。図示等は省略するが、第１ゲームのゲーム処理は、ゲーム全体処理とは別のタスクで並列的に実行される。また、第１ゲームは、コントローラ２２から送信されたコントローラデータのうち、少なくとも角速度データを使用して、ゲーム処理を実行するゲームである。
【０１６８】
そして、ステップＳ２９では、第１ゲームの終了かどうかを判断する。ステップＳ２９で“ＮＯ”であれば、つまり第１ゲームの終了でなければ、そのままステップＳ２９に戻る。一方、ステップＳ２９で“ＹＥＳ”であれば、つまり第１ゲームの終了であれば、ステップＳ１５に戻る。
【０１６９】
図１７は、図１５に示したステップＳ１３の第２ゲーム処理のフロー図である。ここでは、簡単のため、上述した万華鏡の第２ゲームおよびシャボン玉の第２ゲームの両方が当てはまるように記載してあるが、実際には、各第２ゲームでは別の処理が実行される。
図１７に示すように、ＣＰＵ４０は、第２ゲーム処理を開始すると、ステップＳ５１で、タイマ５０２ｅをスタートする。つまり、第２ゲームのプレイ時間のカウントが開始される。ただし、この実施例では、２種類の第２ゲームが用意されており、前回プレイしていない第２ゲームについてのゲーム処理が開始される。
【０１７０】
次のステップＳ５３では、第２ゲームのゲーム画面（２５０または３００）をモニタ３４に表示する。続くステップＳ５５では、角速度を取得する。つまり、データ記憶領域５０２に記憶された角速度データ５０２ｂが取得される。次のステップＳ５７では、角速度に基づいた処理が実行される。このステップＳ５７では、万華鏡の第２ゲームおよびシャボン玉の第２ゲームのそれぞれで、上述したように異なる処理が実行される。詳細については、上述のとおりである。
【０１７１】
続いて、ステップＳ５９で、所定時間を経過したかどうかを判断する。ここでは、ＣＰＵ４０は、タイマ５０２ｅのカウント値が９０秒になったかどうかを判断する。ステップＳ５９で“ＹＥＳ”であれば、つまり所定時間を経過すれば、そのまま第２ゲーム処理を終了して、ゲーム全体処理にリターンする。一方、ステップＳ５９で“ＮＯ”であれば、つまり所定時間を経過していなければ、ステップＳ６１で、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉの両方がオンされたかどうかを判断する。
【０１７２】
ステップＳ６１で“ＮＯ”であれば、そのままステップＳ５５に戻って、第２ゲームを続行する。一方、ステップＳ６１で“ＹＥＳ”であれば、第２ゲーム処理を終了して、ゲーム全体処理にリターンする。つまり、第２ゲームの途中であっても、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉの両方がオンされれば、ゲームタイトル（タイトル画面１００）に戻る。
【０１７３】
なお、この実施例では、所定時間が経過した場合や所定のキー等が操作された場合に、第２ゲームを終了するようにしてあるが、これに限定される必要はない。たとえば、第２ゲームにゲームクリアの条件が設定されている場合には、所定時間が経過する前に、当該ゲームクリアの条件が満たされると、第２ゲームを終了するようにしてもよい。
【０１７４】
図１８は、ＣＰＵ４０の安定確認処理を示すフロー図である。図１８に示すように、ＣＰＵ４０は、安定確認処理を開始すると、ステップＳ８１で、角速度データおよび角度データを取得する。ただし、ＣＰＵ４０は、角速度データに対応する角速度を累積することにより角度を取得する。続くステップＳ８３では、角速度データの取得が可能かどうかを判断する。つまり、ステップＳ８１において、角速度データを取得できたかどうかを判断する。
【０１７５】
ステップＳ８３で“ＮＯ”であれば、つまり角速度データを取得できなければ、ステップＳ８５で、安定確認フラグ５０２ｆをオフし、ステップＳ８７で、変数ｃｏｕｎｔに０を設定して（ｃｏｕｎｔ＝０）、ステップＳ８１に戻る。ただし、ｃｏｕｎｔは、コントローラ２２の角度（姿勢）が変化していない（コントローラ２２が静止された状態である）と判断された回数についての変数である。
【０１７６】
一方、ステップＳ８３で“ＹＥＳ”であれば、つまり角速度データを取得できれば、ステップＳ８９で、各軸周りの角度変化量を算出する。つまり、ＣＰＵ４０は、角度データ５０２ｃが示す現フレームのＸ軸、Ｙ軸、Ｚ軸の各軸周りの角度から、過去角度データ５０２ｄが示す前フレームのＸ軸、Ｙ軸、Ｚ軸の各軸周りの角度を、軸毎に減算することにより、軸毎の角度の変化量を算出する。つまり、コントローラ２２の姿勢の変化量が求められる。
【０１７７】
次のステップＳ９１では、各軸周りの角度変化量がすべて所定値内であるかどうかを判断する。つまり、ＣＰＵ４０は、コントローラ２２が静止されている状態であるかどうかを判断するのである。ステップＳ９１で“ＮＯ”であれば、つまりいずれか１つの軸周りの角度変化量でも所定値を超えていれば、ステップＳ９３で、安定確認フラグ５０２ｆをオフし、ステップＳ９５で、変数ｃｏｕｎｔに０を設定して、ステップＳ８１に戻る。
【０１７８】
一方、ステップＳ９１で“ＹＥＳ”であれば、つまり各軸周りの角度変化量がすべて所定値内であれば、ステップＳ９７で、変数ｃｏｕｎｔを１加算して（ｃｏｕｎｔ＝ｃｏｕｎｔ＋１）、ステップＳ９９で、変数ｃｏｕｎｔが閾値Ｐ以上であるかどうかを判断する。ステップＳ９９で“ＮＯ”であれば、つまり変数ｃｏｕｎｔが閾値Ｐ未満であれば、そのままステップＳ８１に戻る。一方、ステップＳ９９で“ＹＥＳ”であれば、つまり変数ｃｏｕｎｔが閾値Ｐ以上であれば、ステップＳ１０１で、安定確認フラグ５０２ｆをオンして、安定確認処理を終了する。
【０１７９】
この実施例によれば、タイトル画面が表示されている場合に、安定状態が確認され、その後、コントローラを放置している状態が所定時間以上継続したときに、本編でプレイする第１ゲームとは異なる第２ゲームを開始するので、ジャイロセンサを備えるコントローラの安定状態が確認されるのを待つと、第２ゲームをプレイすることができる。したがって、待つことに意味を与えることができる。また、待ち過ぎた場合にも、第２ゲームをプレイすることにより、楽しむことができる。
【０１８０】
また、この実施例によれば、第２ゲームをプレイするために、コントローラを机の上に置くなどして待っている間に、コントローラの安定状態が確認されるので、第１ゲームをプレイするために必要なコントローラの安定状態の確認処理を自然に行うことができる。このため、速やかに第１ゲームを開始することができる。
【０１８１】
なお、この実施例では、１つのコントローラを用いる場合についてのみ説明したが、複数のコントローラを用いるようにしてもよい。かかる場合には、安定確認処理は、すべてのコントローラについて実行され、すべてのコントローラについて安定状態が確認された場合に、安定確認フラグがオンされる。また、第１ゲームが選択されたときには、すべてのコントローラについて安定状態が確認されている場合に、そのまま第１ゲームが開始される。したがって、１つでも安定状態が確認されていないコントローラがある場合には、第１ゲームの開始に先立って、少なくとも当該コントローラについての安定確認の処理が実行される。
【０１８２】
また、この実施例では、コントローラにジャイロユニットを接続するようにしたが、ジャイロユニットは内蔵してもよい。または、ジャイロセンサのみをコントローラに内蔵してもよい。
【０１８３】
さらに、この実施例では、タイトル画面が表示されている場合に、所定のキー等を操作すると、トップメニューを表示して、第１ゲームを選択するようにしたが、第１ゲームを選択せずに、すぐに第１ゲームを開始するようにしてもよい。
【０１８４】
さらにまた、この実施例では、角速度データを補正してデータ記憶領域に記憶するようにしたが、この安定状態の確認処理では、安定かどうかを判断するだけなので、角速度データを補正する必要はない。つまり、無線コントローラモジュールに設けられたバッファに記憶された角速度データをそのまま使用することができる。
【０１８５】
また、この発明は、ゲーム全体処理、第１ゲーム処理、第２ゲーム処理および安定確認処理の各処理が複数のコンピュータ等によって分散処理されるようなゲームシステムにも適用可能である。
【符号の説明】
【０１８６】
１０  …ゲームシステム
１２  …ゲーム装置
１８  …光ディスク
２２  …コントローラ
２４  …ジャイロユニット
２６，１００  …入力手段
３４  …モニタ
３４ａ  …スピーカ
４０  …ＣＰＵ
４２  …システムＬＳＩ
４２ａ  …入出力プロセッサ
４２ｂ  …ＧＰＵ
４２ｃ  …ＤＳＰ
４２ｄ  …ＶＲＡＭ
４２ｅ  …内部メインメモリ
４４  …フラッシュメモリ
４６  …外部メインメモリ
４８  …ＲＯＭ／ＲＴＣ
５０  …無線通信モジュール
５２  …無線コントローラモジュール
５４  …ディスクドライブ
５６  …ＡＶ  ＩＣ
５８  …ＡＶコネクタ
６０  …拡張コネクタ
６２  …メモリカード用コネクタ
７０  …プロセッサ
７４，１０２  …加速度センサ
８０  …画像情報演算部
８０ｃ  …撮像素子
８０ｄ  …画像処理回路
９０  …マイコン
９２  …ジャイロセンサ
【図１】
0005806003.tif 000002
【図２】
0005806003.tif 000003
【図３】
0005806003.tif 000004
【図４】
0005806003.tif 000005
【図５】
0005806003.tif 000006
【図６】
0005806003.tif 000007
【図７】
0005806003.tif 000008
【図８】
0005806003.tif 000009
【図９】
0005806003.tif 000010
【図１０】
0005806003.tif 000011
【図１１】
0005806003.tif 000012
【図１２】
0005806003.tif 000013
【図１３】
0005806003.tif 000014
【図１４】
0005806003.tif 000015
【図１５】
0005806003.tif 000016
【図１６】
0005806003.tif 000017
【図１７】
0005806003.tif 000018
【図１８】
0005806003.tif 000019