(57)【要約】      （修正有）【課題】操作者の意図しない指示に従う情報処理の実行を防止できる、情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法を提供する。【解決手段】押下することによりプッシュボタンとしても機能するアナログスティック５８Ａ、５８Ｂを備える端末装置１４の操作に従って情報処理を実行するゲーム装置１２は、第１受付手段、第２受付手段および補正手段を備える。第１受付手段は、アナログスティック５８Ａ、５８Ｂのスティック部が傾けられたことを示す傾き情報を受け付ける。第２受付手段は、アナログスティック５８Ａ、５８Ｂのスティック部が押下されたことを示す押下情報を受け付ける。補正手段は、第１受付手段および第２受付手段の一方で情報を受け付けている場合に、他方で受け付けた情報を無効にする。【選択図】図１
2015207189.tif 000002
【特許請求の範囲】
【請求項１】
押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行する情報処理装置であって、
前記アナログスティックのスティック部が傾けられたことを示す傾き情報を受け付ける第１受付手段、
前記アナログスティックのスティック部が押下されたことを示す押下情報を受け付ける第２受付手段、および
前記第１受付手段および前記第２受付手段の一方で情報を受け付けている場合に、他方で受け付けた情報を無効にする補正手段を備える、情報処理装置。
【請求項２】
前記補正手段は、前記第１受付手段によって傾き情報を受け付けている場合に、前記第２受付手段によって押下情報を受け付けたとき、当該押下情報を無効にする、請求項１記載の情報処理装置。
【請求項３】
前記補正手段は、前記スティック部が押下されていない状態から押下された状態に変化したとき、前記第１受付手段によって受け付けられる傾き情報が示す傾き量に応じて、前記第２受付手段によって受け付けられた押下情報を無効にする、請求項２記載の情報処理装置。
【請求項４】
前記補正手段は、前記第１受付手段によって受け付けられる傾き情報が示す傾き量が一定量以上である場合に、前記第２受付手段によって受け付けられた押下情報を無効にする、請求項２または３記載の情報処理装置。
【請求項５】
前記補正手段は、前記押下情報を押下していない情報に補正することにより、当該押下情報を無効にする、請求項１ないし４のいずれかに記載の情報処理装置。
【請求項６】
前記補正手段は、前記第２受付手段によって押下情報を受け付けている場合、または前記第２受付手段によって押下情報を受けている状態から受付けていない状態に変化してから所定時間以内である場合に、前記第１受付手段によって傾き情報を受け付けたとき、当該傾き情報を無効にする、請求項１ないし５のいずれかに記載の情報処理装置。
【請求項７】
前記補正手段は、前記傾き情報を傾いていない情報に補正することにより、当該傾き情報を無効にする、請求項６記載の情報処理装置。
【請求項８】
押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行する情報処理装置であって、
前記操作装置から入力される第１操作情報を検出する第１検出手段、
前記第１検出手段によって検出された第１操作情報に基づいて前記アナログスティックの操作状況を検出する第２検出手段、および
前記第１検出手段によって検出された第１操作情報と前記第２検出手段によって検出された操作状況に基づいて、当該第１操作情報を前記情報処理で用いる第２操作情報に補正する補正手段を備える、情報処理装置。
【請求項９】
押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行する情報処理システムであって、
前記アナログスティックのスティック部が傾けられたことを示す傾き情報を受け付ける第１受付手段、
前記アナログスティックのスティック部が押下されたことを示す押下情報を受け付ける第２受付手段、および
前記第１受付手段および前記第２受付手段の一方で情報を受け付けている場合に、他方で受け付けた情報を無効にする補正手段を備える、情報処理システム。
【請求項１０】
押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行する情報処理システムであって、
前記操作装置から入力される第１操作情報を検出する第１検出手段、
前記第１検出手段によって検出された第１操作情報に基づいて前記アナログスティックの操作状況を検出する第２検出手段、および
前記第１検出手段によって検出された第１操作情報と前記第２検出手段によって検出された操作状況に基づいて、当該第１操作情報を前記情報処理で用いる第２操作情報に補正する補正手段を備える、情報処理システム。
【請求項１１】
押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従ってコンピュータに情報処理を実行させる情報処理プログラムであって、
前記コンピュータを、
前記アナログスティックのスティック部が傾けられたことを示す傾き情報を受け付ける第１受付手段、
前記アナログスティックのスティック部が押下されたことを示す押下情報を受け付ける第２受付手段、および
前記第１受付手段および前記第２受付手段の一方で情報を受け付けている場合に、他方で受け付けた情報を無効にする補正手段として機能させる、情報処理プログラム。
【請求項１２】
押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従ってコンピュータに情報処理を実行させる情報処理プログラムであって、
前記コンピュータを、
前記操作装置から入力される第１操作情報を検出する第１検出手段、
前記第１検出手段によって検出された第１操作情報に基づいて前記アナログスティックの操作状況を検出する第２検出手段、および
前記第１検出手段によって検出された第１操作情報と前記第２検出手段によって検出された操作状況に基づいて、当該第１操作情報を前記情報処理で用いる第２操作情報に補正する補正手段として機能させる、情報処理プログラム。
【請求項１３】
押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行するコンピュータの情報処理方法であって、
前記コンピュータは、
（ａ）前記アナログスティックのスティック部が傾けられたことを示す傾き情報を受け付け、
（ｂ）前記アナログスティックのスティック部が押下されたことを示す押下情報を受け付け、そして
（ｃ）前記ステップ（ａ）および前記ステップ（ｂ）の一方で情報を受け付けている場合に、他方で受け付けた情報を無効にする、情報処理方法。
【請求項１４】
押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行するコンピュータの情報処理方法であって、
前記コンピュータは、
（ａ）前記操作装置から入力される第１操作情報を検出し、
（ｂ）前記ステップ（ａ）において検出した第１操作情報に基づいて前記アナログスティックの操作状況を検出し、そして
（ｃ）前記ステップ（ａ）において検出した第１操作情報と前記ステップ（ｂ）において検出した操作状況に基づいて、当該第１操作情報を前記情報処理で用いる第２操作情報に補正する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法に関し、特にたとえば、ボタンおよびアナログスティックを有する操作装置から操作信号を受信する、情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示される。この特許文献１に開示のゲームコントローラでは、左スティックおよび右スティックは、３６０度の任意の方向に傾けることが可能であり、任意の方向を指示するために用いられる。また、左スティックおよび右スティックは、それぞれゲームコントローラのハウジングの背面方向に押し込むことができ、プッシュボタンとしての役割も有している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】WO 2013/157052 A1 [A63F 13/06]
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されたゲームコントローラでは、左スティックおよび右スティックのようなアナログスティックによって、任意の方向が指示されるとともに、押し込んだことが指示される場合がある。このため、プレイヤが方向だけを指示したい場合であっても、押し込んだことも指示されてしまうことがある。逆に、プレイヤが押し込んだことだけを指示したい場合であっても、方向についても指示されてしまうことがある。
【０００５】
それゆえに、この発明の主たる目的は、新規な、情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法を提供することである。
【０００６】
また、この発明の他の目的は、操作者の意図しない指示に従う情報処理の実行を防止できる、情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行する情報処理装置である。この情報処理装置は、第１受付手段、第２受付手段および補正手段を備える。第１受付手段は、アナログスティックのスティック部が傾けられたことを示す傾き情報を受け付ける。第２受付手段は、アナログスティックのスティック部が押下されたことを示す押下情報を受け付ける。補正手段は、第１受付手段および第２受付手段の一方で情報を受け付けている場合に、他方で受け付けた情報を無効にする。
【０００８】
第１の発明によれば、傾き情報または押下情報を受け付けている場合に、他方の情報を受け付けても無効にするので、操作者の意図しない指示に従う情報処理の実行を防止することができる。
【０００９】
第２の発明は、第１の発明に従属し、補正手段は、第１受付手段によって傾き情報を受け付けている場合に、第２受付手段によって押下情報を受け付けたとき、当該押下情報を無効にする。したがって、この押下情報は情報処理に使用されない。
【００１０】
第２の発明によれば、スティック部が傾けられている場合には、スティック部の押下情報は無効にされるので、押下情報を用いずに傾き情報を用いて情報処理を実行することができる。
【００１１】
第３の発明は、第２の発明に従属し、補正手段は、スティック部が押下されていない状態から押下された状態に変化したとき、第１受付手段によって受け付けられる傾き情報が示す傾き量に応じて、第２受付手段によって受け付けられた押下情報を無効にする。このように、スティック部が押下されていない状態から押下された状態に変化されたことを条件とするのは、スティック部を押下した状態で、スティック部の傾きを無くすように操作する場合に、無効にしていた押下情報を受け付けてしまうのを防止するためである。
【００１２】
第３の発明によれば、スティック部が押下されていない状態から押下された状態に変化したことを条件として加えるため、操作者の意図しない指示に従う情報処理の実行をより効果的に防止することができる。
【００１３】
第４の発明は、第２または第３の発明に従属し、補正手段は、第１受付手段によって受け付けられる傾き情報が示す傾き量が一定量以上である場合に、第２受付手段によって受け付けられた押下情報を無効にする。スティック部の傾ける量が増えるに従ってスティック部を押下してしまう傾向がある。また、スティック部を押下する場合には、スティック部は少し傾いてしまうこともある。したがって、傾き量が一定量以上であることが条件とされる。
【００１４】
第４の発明によれば、スティック部の傾き量が一定量以上である場合に受け付けられた押下情報を無効にするので、操作者の意図しない指示に従う情報処理の実行をより効果的に防止することができる。
【００１５】
第５の発明は、第１ないし第４の発明に従属し、補正手段は、押下情報を押下していない情報に補正することにより、当該押下情報を無効にする。
【００１６】
第５の発明によれば、押下していない情報に補正するだけなので、簡単に補正することができる。
【００１７】
第６の発明は、第１ないし第５の発明のいずれかに従属し、補正手段は、第２受付手段によって押下情報を受け付けている場合、または第２受付手段によって押下情報を受けている状態から受付けていない状態に変化してから所定時間以内である場合に、第１受付手段によって傾き情報を受け付けたとき、当該傾き情報を無効にする。したがって、この傾き情報は、情報処理に使用されない。
【００１８】
第６の発明によれば、スティック部が押下された状態と、その押下の状態が解除されてから所定時間において、傾き情報を無効にするので、スティック部をプッシュボタンとして使用する場合のオンやオフの操作によってスティック部が傾けられたとしても、傾き情報が情報処理に使用されることはない。したがって、操作者の意図しない指示に従う情報処理の実行を防止することができる。
【００１９】
第７の発明は、第６の発明に従属し、補正手段は、傾き情報を傾いていない情報に補正することにより、当該傾き情報を無効にする。
【００２０】
第７の発明によれば、傾いていない情報に補正するだけなので、簡単に補正することができる。
【００２１】
第８の発明は、押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行する情報処理装置である。情報処理装置は、第１検出手段、第２検出手段および補正手段を備える。第１検出手段は、操作装置から入力される第１操作情報を検出する。第２検出手段は、第１検出手段によって検出された第１操作情報に基づいてアナログスティックの操作状況を検出する。補正手段は、第１検出手段によって検出された第１操作情報と第２検出手段によって検出された操作状況に基づいて、当該第１操作情報を情報処理で用いる第２操作情報に補正する。
【００２２】
第８の発明によれば、アナログスティックの操作状況に応じて第１操作情報を第２操作情報に補正するので、操作者の意図しない指示に従う情報処理の実行を防止することができる。
【００２３】
第９の発明は、押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行する情報処理システムであって、アナログスティックのスティック部が傾けられたことを示す傾き情報を受け付ける第１受付手段、アナログスティックのスティック部が押下されたことを示す押下情報を受け付ける第２受付手段、および第１受付手段および第２受付手段の一方で情報を受け付けている場合に、他方で受け付けた情報を無効にする補正手段を備える、情報処理システムである。
【００２４】
第１０の発明は、押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行する情報処理システムであって、操作装置から入力される第１操作情報を検出する第１検出手段、第１検出手段によって検出された第１操作情報に基づいてアナログスティックの操作状況を検出する第２検出手段、および第１検出手段によって検出された第１操作情報と第２検出手段によって検出された操作状況に基づいて、当該第１操作情報を情報処理で用いる第２操作情報に補正する補正手段を備える、情報処理システムである。
【００２５】
第１１の発明は、押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従ってコンピュータに情報処理を実行させる情報処理プログラムであって、コンピュータを、アナログスティックのスティック部が傾けられたことを示す傾き情報を受け付ける第１受付手段、アナログスティックのスティック部が押下されたことを示す押下情報を受け付ける第２受付手段、および第１受付手段および第２受付手段の一方で情報を受け付けている場合に、他方で受け付けた情報を無効にする補正手段として機能させる、情報処理プログラムである。
【００２６】
第１２の発明は、押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従ってコンピュータに情報処理を実行させる情報処理プログラムであって、コンピュータを、操作装置から入力される第１操作情報を検出する第１検出手段、第１検出手段によって検出された第１操作情報に基づいてアナログスティックの操作状況を検出する第２検出手段、および第１検出手段によって検出された第１操作情報と第２検出手段によって検出された操作状況に基づいて、当該第１操作情報を情報処理で用いる第２操作情報に補正する補正手段として機能させる、情報処理プログラムである。
【００２７】
第１３の発明は、押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行するコンピュータの情報処理方法であって、コンピュータは、（ａ）アナログスティックのスティック部が傾けられたことを示す傾き情報を受け付け、（ｂ）アナログスティックのスティック部が押下されたことを示す押下情報を受け付け、そして（ｃ）ステップ（ａ）およびステップ（ｂ）の一方で情報を受け付けている場合に、他方で受け付けた情報を無効にする、情報処理方法である。
【００２８】
第１４の発明は、押下することによりプッシュボタンとしても機能するアナログスティックを備える操作装置の操作に従って情報処理を実行するコンピュータの情報処理方法であって、コンピュータは、（ａ）操作装置から入力される第１操作情報を検出し、（ｂ）ステップ（ａ）において検出した第１操作情報に基づいてアナログスティックの操作状況を検出し、そして（ｃ）ステップ（ａ）において検出した第１操作情報とステップ（ｂ）において検出した操作状況に基づいて、当該第１操作情報を情報処理で用いる第２操作情報に補正する、情報処理方法である。
【００２９】
第８ないし第１４の発明においても、第１の発明と同様に、操作者の意図しない指示に従う情報処理の実行を防止することができる。
【発明の効果】
【００３０】
この発明によれば、傾き情報または押下情報を受け付けている場合に、他方の情報を受け付けても無効にするので、操作者の意図しない指示に従う情報処理の実行を防止することができる。
【００３１】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００３２】
【図１】図１はゲームシステムの外観図である。
【図２】図２はゲーム装置の電気的な構成を示すブロック図である。
【図３】図３は端末装置の電気的な構成を示すブロック図である。
【図４】図４は端末操作データの内容の一例を示す図である。
【図５】図５は図２に示すメインメモリのメモリマップの一例を示す図である。
【図６】図６は図５に示すデータ記憶領域の具体的な内容の一例を示す図である。
【図７】図７は図３に示す内部メモリのメモリマップの一例を示す図である。
【図８】図８は図２に示すゲーム装置のＣＰＵの全体処理を示すフロー図である。
【図９】図９は図２に示すゲーム装置のＣＰＵの補正処理の一部を示すフロー図である。
【図１０】図１０は図２に示すゲーム装置のＣＰＵの補正処理の他の一部を示すフロー図である。
【発明を実施するための形態】
【００３３】
以下、図面を参照して、本発明の一実施例に係るゲームシステム１０について説明する。図１に示すゲームシステム１０は、据置型のゲーム装置１２および可搬型の端末装置１４を含む。また、ゲームシステム１０は、テレビジョン受像器等に代表される据置型のディスプレイ装置（以下、「テレビ」と記載する）１６を含み、接続コードを介して、ゲーム装置１２とテレビ１６が接続される。このゲームシステム１０は、端末装置１４を用いたゲーム操作に基づいて、ゲーム装置１２においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ１６および／または端末装置１４に表示するものである。
【００３４】
図示は省略するが、ゲーム装置１２には、当該ゲーム装置１２に対して交換可能に用いられる情報記憶媒体の一例である光ディスクが脱着可能に挿入される。光ディスクには、ゲーム装置１２において実行されるための情報処理プログラム（典型的にはゲームプログラムのようなアプリケーションプログラム）が記憶されている。ゲーム装置１２は、光ディスクに記憶されている情報処理プログラムを読み出して実行することによって情報処理（ゲーム処理）を実行する。
【００３５】
テレビ１６は、ゲーム装置１２において実行されるゲーム処理によって得られるゲーム画像を表示する。テレビ１６はスピーカ１６ａ（図２）を有しており、スピーカ１６ａは、上記ゲーム処理の結果得られるゲーム音声を出力する。
【００３６】
なお、他の実施例では、ゲーム装置１２と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置１２とテレビ１６との通信は無線通信であってもよい。
【００３７】
端末装置１４は、少なくとも、ゲーム装置１２との間でデータを送受信する。ユーザ（プレイヤ）は、端末装置１４を手に持って動かしたり、端末装置１４を自由な位置に配置したりして使用することが可能である。端末装置１４は、タッチパネル５６、アナログスティック５８および操作ボタン６０のような入力手段と、ＬＣＤ６２のような表示手段を備える。たとえば、Ｂｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術を用いた無線通信によってゲーム装置１２と通信可能である。ただし、端末装置１４とゲーム装置１２とは有線で接続されてもよい。端末装置１４は、ゲーム装置１２で生成された画像（たとえばゲーム画像）のデータをゲーム装置１２から受信し、受信した画像をＬＣＤ６２に表示する。また、端末装置１４は、自機に対して行われた操作の内容を表す端末操作データをゲーム装置１２に送信する。
【００３８】
なお、この実施例では表示装置としてＬＣＤを用いているが、端末装置１４は、たとえばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）を利用した表示装置等、他の任意の表示装置を有していてもよい。
【００３９】
また、図１では、ゲームシステム１０に含まれる端末装置１４は１つであるが、ゲーム装置１２は複数の端末装置１４と通信可能であり、所定台数の端末装置１４を同時に使用することによって複数人でゲームをプレイすることが可能である。
【００４０】
図２は、ゲーム装置１２の電気的な構成を示すブロック図である。ゲーム装置１２は、ＣＰＵ２０、システムＬＳＩ２２、外部メインメモリ２６、ＲＯＭ／ＲＴＣ２８、およびＡＶ−ＩＣ３６等を有する。
【００４１】
ＣＰＵ２０は、光ディスクに記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ２０は、システムＬＳＩ２２に接続される。このシステムＬＳＩ２２には、ＣＰＵ２０の他、外部メインメモリ２６、ＲＯＭ／ＲＴＣ２８およびＡＶ−ＩＣ３６が接続される。システムＬＳＩ２２は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部情報処理装置からのデータの取得等の処理を行う。
【００４２】
揮発性の外部メインメモリ２６は、光ディスクから読み出されたゲームプログラムや、フラッシュメモリ２４から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ２０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ２８は、ゲーム装置１２の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ）とを有する。
【００４３】
なお、光ディスクから読み出されたプログラムデータやテクスチャデータ等は、後述する内部メインメモリ２２ｅまたは外部メインメモリ２６に書き込まれる。
【００４４】
システムＬＳＩ２２には、入出力プロセッサ（Ｉ／Ｏプロセッサ）２２ａ、ＧＰＵ２２ｂ、ＤＳＰ２２ｃ、ＶＲＡＭ２２ｄ、および内部メインメモリ２２ｅが設けられる。図示は省略するが、これらの構成要素２２ａ〜２２ｅは内部バスによって互いに接続される。
【００４５】
ＧＰＵ２２ｂは、描画手段の一部を形成し、ＣＰＵ２０からのグラフィクスコマンド（作画命令）に従って画像データを生成する。ただし、ＶＲＡＭ２２ｄに、メインメモリ（２２ｅ、２６）から読み出したポリゴンデータやテクスチャデータ等のデータが記憶され、ＧＰＵ２２ｂは、そのデータを用いて画像データを生成する。この実施例においては、ゲーム装置１２は、テレビ１６に表示するゲーム画像と、端末装置１４に表示するゲーム画像との両方を生成する。以下では、テレビ１６に表示されるゲーム画像を「テレビ用ゲーム画像」と呼び、端末装置１４に表示されるゲーム画像を「端末用ゲーム画像」と呼ぶことがある。
【００４６】
ＤＳＰ２２ｃは、オーディオプロセッサとして機能し、内部メインメモリ２２ｅや外部メインメモリ２６に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。なお、この実施例においては、ゲーム音声についてもゲーム画像と同様、テレビ１６のスピーカ１６ａから出力するゲーム音声と、端末装置１４のスピーカ６６から出力するゲーム音声との両方が生成される。以下では、テレビ１６から出力されるゲーム音声を「テレビ用ゲーム音声」と呼び、端末装置１４から出力されるゲーム音声を「端末用ゲーム音声」と呼ぶことがある。
【００４７】
上記のように、ゲーム装置１２において生成される画像および音声のうちで、テレビ１６において出力される画像および音声（効果音や音楽なども含む。以下、同じ。）のデータは、ＡＶ−ＩＣ３６によって読み出される。ＡＶ−ＩＣ３６は、読み出した画像データを、ＡＶコネクタ３８を介してテレビ１６に出力するとともに、読み出した音声データを、テレビ１６に内蔵されるスピーカ１６ａに出力する。これによって、テレビ１６に画像が表示されるとともにスピーカ１６ａから音声が出力される。
【００４８】
また、ゲーム装置１２において生成される画像および音声のうちで、端末装置１４において出力される画像および音声のデータは、入出力プロセッサ２２ａ等によって端末装置１４へ送信される。入出力プロセッサ２２ａ等による端末装置１４へのデータの送信については後述する。
【００４９】
入出力プロセッサ２２ａは、それに接続される構成要素との間でデータの送受信を実行したり、外部情報処理装置からのデータのダウンロードを実行したりする。また、入出力プロセッサ２２ａは、フラッシュメモリ２４およびコーデックＬＳＩ３０に接続される。また、コーデックＬＳＩ３０は端末通信モジュール３２に接続され、端末通信モジュール３２にはアンテナ３４が接続される。
【００５０】
ＣＰＵ２０はゲームプログラムを実行することにより、フラッシュメモリ２４に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ２４には、ゲーム装置１２と外部情報処理装置との間で送受信されるデータの他、ゲーム装置１２を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。また、フラッシュメモリ２４にはゲームプログラムが記憶されてもよい。
【００５１】
なお、図示は省略するが、入出力プロセッサ２２ａは、ネットワーク通信モジュールを用いてインターネット等のネットワークに接続し、ネットワークに接続される外部情報処理装置（たとえば他のゲーム装置や、各種サーバ等）と通信する（データを送受信する）ことができる。
【００５２】
また、ゲーム装置１２は、端末装置１４との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ２２ａは、端末装置１４へゲーム画像（端末用ゲーム画像）を送信する場合、ＧＰＵ２２ｂが生成したゲーム画像のデータをコーデックＬＳＩ３０へ出力する。コーデックＬＳＩ３０は、入出力プロセッサ２２ａからの画像データに対して所定の圧縮処理を行う。端末通信モジュール３２は、端末装置１４との間で無線通信を行う。したがって、コーデックＬＳＩ３０によって圧縮された画像データは、端末通信モジュール３２によってアンテナ３４を介して端末装置１４へ送信される。この実施例では、コーデックＬＳＩ３０は、たとえばＨ．２６４規格といった高効率の圧縮技術を用いて画像データを圧縮する。
【００５３】
なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には圧縮せずに画像データを送信する構成であってもよい。
【００５４】
また、端末通信モジュール３２は、たとえばＷｉ−Ｆｉの認証を受けた通信モジュールであり、たとえばＩＥＥＥ８０２．１１ｎ規格で採用されるＭＩＭＯ（Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｍｕｌｔｉｐｌｅ  Ｏｕｔｐｕｔ）の技術を用いて、端末装置１４との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
【００５５】
また、ゲーム装置１２は、画像データの他、音声データを端末装置１４へ送信する。すなわち、入出力プロセッサ２２ａは、ＤＳＰ２２ｃが生成した音声データを、コーデックＬＳＩ３０を介して端末通信モジュール３２へ出力する。コーデックＬＳＩ３０は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよい。また、他の実施例においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール３２は、圧縮された画像データおよび音声データを、アンテナ３４を介して端末装置１４へ送信する。
【００５６】
また、ゲーム装置１２は、端末装置１４から各種データを受信（受付）可能である。この実施例では、端末装置１４は、端末操作データ、画像データ、および音声データを送信する。端末装置１４から送信される各データはアンテナ３４を介して端末通信モジュール３２によって受信される。ここで、端末装置１４からの画像データおよび音声データは、ゲーム装置１２から端末装置１４への画像データおよび音声データと同様の圧縮処理が施されている。
【００５７】
したがって、これら画像データおよび音声データについては、端末通信モジュール３２からコーデックＬＳＩ３０に送られ、コーデックＬＳＩ３０によって伸張処理が施されて入出力プロセッサ２２ａに出力される。
【００５８】
なお、端末装置１４からの画像データは、図示しないカメラで撮影された撮影画像に対応する画像データなどを含み、端末装置１４からの音声データは、マイク６８（図３参照）によって検出されたプレイヤが発生する音（音声ないし拍手等）に対応する音声データなどを含む。
【００５９】
一方、端末装置１４からの端末操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくともよい。端末操作データは、端末通信モジュール３２で受信された後、コーデックＬＳＩ３０を介して入出力プロセッサ２２ａに出力される。入出力プロセッサ２２ａは、端末装置１４から受信したデータを、内部メインメモリ２２ｅまたは外部メインメモリ２６のバッファ領域に記憶（一時記憶）する。
【００６０】
なお、ゲーム装置１２の構成は限定される必要は無い。たとえば、拡張機器を接続可能な構成とすることもできる。
【００６１】
図３は、端末装置１４の電気的な構成を示すブロック図である。図３に示すように、端末装置１４は、図１に示した構成の他、ユーザインタフェースコントローラ（ＵＩコントローラ）５０、タッチパネルコントローラ５４、コーデックＬＳＩ５２、スピーカ６６、サウンドＩＣ６４、マイク６８、無線モジュール７０、アンテナ７２、およびフラッシュメモリ７４を備える。これらの電子部品は、電子回路基板上に実装されてハウジング内に収納される。
【００６２】
ＵＩコントローラ５０は、各種の入出力部に対するデータの入出力を制御するための回路である。このＵＩコントローラ５０は、タッチパネルコントローラ５４、アナログスティック５８、および操作ボタン６０に接続される。また、ＵＩコントローラ５０は、コーデックＬＳＩ５２に接続される。
【００６３】
タッチパネルコントローラ５４は、タッチパネル５６に接続され、タッチパネル５６の制御を行う回路である。タッチパネルコントローラ５４は、タッチパネル５６からの信号に基づいて所定の形式のタッチ位置データを生成してＵＩコントローラ５０へ出力する。タッチ位置データは、タッチパネル５６の入力面において入力が行われた位置（タッチ位置）の座標を表す。
【００６４】
なお、タッチパネルコントローラ５４は、タッチパネル５６からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。また、ＵＩコントローラ５０からタッチパネルコントローラ５４へは、タッチパネル５６に対する各種の制御指示が出力される。
【００６５】
アナログスティック５８は、可動部材（たとえば、スティック部）が端末装置１４のハウジングの表面に対して任意の方向（上下左右の方向および斜め方向）に傾倒可能な方向入力部である。また、アナログスティック５８は、スティック部を端末装置１４の背面側に略垂直に押下可能なプッシュボタンでもある。ただし、端末装置１４の背面は、当該端末装置１４のハウジングにおいて、アナログスティック５８、操作ボタン６０およびＬＣＤ６２が設けられている面（表面）の裏側（反対側）の面である。つまり、この実施例のアナログスティック５８では、スティック部を任意の方向に傾倒させる操作と、スティック部を押下させる操作を行うことができる。したがって、アナログスティック５８は、スティック部を傾倒させた方向（傾き方向）および傾倒させた量（傾き量）についてのデータ（傾倒データ）と、スティック部を押下させたか否かの状況（以下、「ボタン押下状況」という）を表す操作ボタンデータを含むデータ（以下、「スティック操作データ」という）をＵＩコントローラ５０へ出力する。
【００６６】
なお、この実施例では、スティック部を傾倒させるアナログスティック５８を用いるようにしてあるが、これに限定される必要はない。アナログスティック５８は、スティック部が端末装置１４のハウジングの表面に対して任意の方向にスライド可能な方向入力部であってもよい。
【００６７】
また、操作ボタン６０は、各種のプッシュボタンないしキースイッチに対するボタン押下状況（押下されたか否かの状況）を表す操作ボタンデータをＵＩコントローラ５０へ出力する。たとえば、操作ボタン６０は、十字ボタン、Ａボタン、Ｂボタン、Ｘボタン、Ｙボタンなどのプッシュボタンを含む。
【００６８】
ＵＩコントローラ５０は、上記の各構成要素から受け取ったタッチ位置データ、スティック操作データ、および操作ボタンデータを含む端末操作データをコーデックＬＳＩ５２に出力する。
【００６９】
コーデックＬＳＩ５２は、ゲーム装置１２へ送信するデータに対する圧縮処理、および、ゲーム装置１２から送信されたデータに対する伸張処理を行う回路である。コーデックＬＳＩ５２には、ＬＣＤ６２、サウンドＩＣ６４、無線モジュール７０、およびフラッシュメモリ７４が接続される。また、コーデックＬＳＩ５２はＣＰＵ５２ａと内部メモリ５２ｂを含む。
【００７０】
端末装置１４はゲーム処理自体を行なわない構成であるが、端末装置１４の管理や通信のための最小限のプログラムを実行する必要がある。電源投入時にフラッシュメモリ７４に格納されたプログラムを内部メモリ５２ｂに読み出してＣＰＵ５２ａが実行することで、端末装置１４が起動する。ただし、端末装置１４は、ゲーム装置１２からの動作データに基づいて起動または停止する。この実施例では、端末装置１４の停止は、一部の回路コンポーネント（ＵＩコントローラ５０、コーデックＬＳＩ５２および無線モジュール７０）に電源が供給されているスリープの状態を意味する。また、内部メモリ５２ｂの一部の領域はＬＣＤ６２のためのＶＲＡＭとして使用される。
【００７１】
サウンドＩＣ６４は、スピーカ６６およびマイク６８に接続され、スピーカ６６およびマイク６８への音声データの入出力を制御する回路である。すなわち、コーデックＬＳＩ５２から音声データを受け取った場合、サウンドＩＣ６４は当該音声データに対してＤ／Ａ変換を行って得られる音声信号をスピーカ６６へ出力し、スピーカ６６から音を出力させる。また、マイク６８は、端末装置１４に伝わる音（ユーザの音声や手拍子等）を検知して、当該音を示す音声信号をサウンドＩＣ６４へ出力する。サウンドＩＣ６４は、マイク６８からの音声信号に対してＡ／Ｄ変換を行い、所定の形式の音声データをコーデックＬＳＩ５２へ出力する。
【００７２】
コーデックＬＳＩ５２は、カメラからの画像データ、マイク６８からの音声データ、および、ＵＩコントローラ５０からの端末操作データを、無線モジュール７０を介してゲーム装置１２へ送信する。この実施例では、コーデックＬＳＩ５２は、画像データおよび音声データに対して、コーデックＬＳＩ３０と同様の圧縮処理を行う。上記端末操作データ、ならびに、圧縮された画像データおよび音声データは、送信データとして無線モジュール７０に出力される。
【００７３】
無線モジュール７０にはアンテナ７２が接続されており、無線モジュール７０はアンテナ７２を介してゲーム装置１２へ上記送信データを送信する。無線モジュール７０は、ゲーム装置１２の端末通信モジュール３２と同様の機能を有している。すなわち、無線モジュール７０は、たとえばＩＥＥＥ８０２．１１ｎの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。送信されるデータは必要に応じて暗号化されていてもよいし、されていなくともよい。
【００７４】
以上のように、端末装置１４からゲーム装置１２へ送信される送信データには、端末操作データ、画像データ、および音声データが含まれる。
【００７５】
なお、この実施例の端末装置１４は、タッチパネル５６、アナログスティック５８、および操作ボタン６０といった操作手段を備えるが、これらの操作手段に限定される必要はない。たとえば、タッチパネル５６や操作ボタン６０の一部は設けなくてもよい。他の実施例においては、上記の操作手段とともに、他の操作手段を備える構成であってもよい。たとえば、端末装置１４の動き（位置や姿勢、あるいは、位置や姿勢の変化を含む）を算出するためのセンサとして、磁気センサ、加速度センサ、およびジャイロセンサの少なくとも１つを備えるようにしてよい。
【００７６】
また、端末装置１４は、カメラおよびマイク６８を備える構成であるが、他の実施例においては、カメラおよびマイク６８を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。
【００７７】
図４には、端末装置１４からゲーム装置１２に送信（入力）される端末操作データ（端末操作信号）の具体的な内容が示される。上述したように、端末操作データは、タッチパネル５６のタッチ位置データ、第１アナログスティック５８Ａおよび第２アナログスティック５８Ｂのスティック操作データ、および操作ボタン６０の操作ボタンデータを含む。この端末操作データは、所定のフォーマットに従って生成される。したがって、ゲーム装置１２では、受信した端末操作データを参照することにより、操作された操作手段および操作の内容を容易に知ることができるとともに、操作されていない操作手段を容易に知ることができる。
【００７８】
タッチ座標データは、タッチパネル５６で検出されたタッチ位置の座標データである。第１アナログスティック５８Ａのスティック操作データは、スティック部の傾き情報（傾き方向および傾き量）の傾倒データと、スティック部のボタン押下状況の操作ボタンデータである。ただし、上述したように、スティック部の傾き方向は、任意の方向（上下左右の方向および斜め方向）である。また、スティック部のボタン押下状況は、オン（押下げ有り）／オフ（押下げ無し）である。以下、他のプッシュボタンのボタン押下状況についても同様である。第２アナログスティック５８Ｂのスティック操作データは、スティック部の傾き情報のデータおよびスティック部のボタン押下状況のデータである。詳細は、第１アナログスティック５８Ａと同様であるため、重複した説明は省略する。
【００７９】
十字ボタンは、上ボタン、下ボタン、左ボタンおよび右ボタンで構成され、十字ボタンの操作ボタンデータは、これらのプッシュボタンの各々についてのボタン押下状況（オン／オフ）のデータである。Ａボタン、Ｂボタン、ＸボタンおよびＹボタンの各操作ボタンデータは、これらのプッシュボタンについてのボタン押下状況（オン／オフ）のデータである。図示は省略するが、端末装置１４に設けられる他のボタンの操作ボタンデータも同様である。
【００８０】
このようなゲームシステム１０では、ゲーム装置１２でゲームプログラムのような所定のアプリケーションプログラムが実行される。このとき、ゲーム装置１２は、端末装置１４からの端末操作データに従ってアプリケーションプログラムの処理（情報処理）を進行させる場合がある。
【００８１】
上述したように、アナログスティック５８のスティック操作データは、傾倒データと操作ボタンデータを含むため、スティック部が傾けられることによる方向の指示とスティック部が押下されることによる指示が同時に入力されることがある。
【００８２】
このため、たとえば、プレイヤがスティック部を傾けて方向だけを指示したい場合であっても、スティック部を押下してしまい、その押下による指示も与えられてしまうことがある。また、プレイヤがスティック部の押下による指示だけを与えたい場合であっても、スティック部を傾けてしまい、その傾きによる指示も与えてしまうこともある。
【００８３】
より具体的には、アナログスティック５８のスティック部を傾けることにより、３次元の仮想空間に配置された仮想カメラを移動させ、当該アナログスティック５８のスティック部を押し下げることにより、当該仮想カメラの位置をリセットする仕様において、スティック部を傾けて仮想カメラを移動させている途中に、スティック部を押し下げてしまうと、当該仮想カメラの位置がリセットされ、当該仮想カメラが元の位置（移動前の位置やデフォルトの位置）に戻ってしまうことがある。
【００８４】
また、たとえば、射撃ゲームにおいて、アナログスティック５８のスティック部を傾けることにより、仮想空間内で敵キャラクタに照準を合わせたり、銃口を向けたりし、当該アナログスティック５８のスティック部を押し下げることにより、弾を撃つ仕様において、スティック部を押し下げて弾を撃つときに、スティック部を傾けてしまうと、照準や銃口が移動されて（ずれて）しまい、弾が狙った方向とは異なる方向に発射されてしまうことがある。
【００８５】
このように、プレイヤが意図してしない動作（情報処理）が実行されてしまうのは不都合であるため、この実施例では、このような不都合を回避するようにしてある。
【００８６】
具体的には、ゲーム装置１２では、アナログスティック５８のスティック部の傾き量が一定量以上である場合には、スティック部が押下されたとしても、アプリケーションの処理においては、スティック部が押下されていないものとされる。つまり、スティック部が押下された状態が押下されていない状態に補正されることにより、スティック部が押下されたことが無効にされる。
【００８７】
このように、アナログスティック５８のスティック部の傾き量が一定量以上であることを条件としているのは、スティック部を押下する場合には、当該スティック部が少し傾いてしまうことがあるためである。また、スティック部を倒す量が増えるに従ってスティック部を押下してしまう傾向があるからでもある。たとえば、アナログスティック５８のスティック部が傾けられていないホームポジションである場合の傾き量を０とし、任意の方向にスティック部を最大限傾けた場合の傾き量を１０とすると、「一定量以上傾いている状態」とは傾き量が５以上（５〜１０）である状態を意味する。ただし、一定量を含めずに、一定量を超えて傾いている状態を条件としてもよい。
【００８８】
また、アナログスティック５８のスティック部が押下されている場合と、スティック部が押下された状態から押下されていない状態に変化してからの所定時間（たとえば、１０フレーム）においては、スティック部が傾けられても、アプリケーションの処理においては、スティック部が傾いていないものとされる。つまり、スティック部が傾いている状態が傾いていない状態に補正されることにより、スティック部が傾けられていることが無効にされる。ただし、フレームは、画面を更新する単位時間であり、たとえば１／６０秒である。
【００８９】
このようにするのは、上記のように、アナログスティック５８のスティック部を押下する場合には、スティック部を押下するときのみならず、スティック部の押下を解除（解放）するときにも、スティック部が傾いてしまう場合があり、解放時のスティック部の傾きによる指示を与えないようにしてある。
【００９０】
さらに、この実施例では、アナログスティック５８のスティック部が押下されていない状態（オフ）から押下された状態（オン）に変化した場合であり、かつアナログスティック５８の傾き量が５未満である場合にのみ、アプリケーションの処理において、スティック部が押下されているものとされる。これは、上記のように、この実施例では、スティック部の傾き量が一定量以上である場合には、スティック部の押下が無いものとしてアプリケーションで扱うようにしてあるためである。また、スティック部が押下されていない状態から押下された状態に変化したことを条件とするのは、アナログスティック５８のスティック部を押下したままその傾きを無くすように（ホームポジションに戻すように）操作し、傾き量が一定量未満になったときに、押し下げの指示を受け付けてしまうのを防止するためのである。
【００９１】
図５は、図２に示したゲーム装置１２のメインメモリ（２２ｅ，２６）のメモリマップ３００の一例を示す。図５に示すように、メインメモリ（２２ｅ，２６）は、プログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、ゲームプログラムなどの情報処理プログラムが記憶される。たとえば、ゲームプログラムは、ゲーム装置１２に電源が投入された後の適宜のタイミングで光ディスクからその一部または全部が読み込まれてメインメモリ（２２ｅ，２６）に記憶される。
【００９２】
なお、ゲームプログラムは、光ディスクに代えて、フラッシュメモリ２４やゲーム装置１２の外部情報処理装置から（たとえばインターネットを介して）取得されてもよい。また、ゲームプログラムに含まれる一部のプログラムについては、ゲーム装置１２内に予め記憶されていてもよい。
【００９３】
この実施例では、ゲームプログラムは、メイン処理プログラム３１０、画像生成プログラム３１２、画像表示プログラム３１４、音生成プログラム３１６、音出力プログラム３１８、操作検出プログラム３２０および補正プログラム３２２などによって構成される。
【００９４】
メイン処理プログラム３１０は、仮想ゲームのメインルーチンの処理（図８の全体処理）を実行するためのプログラムである。画像生成プログラム３１２は、ポリゴンデータやテクスチャデータなどのデータを用いて、テレビ用ゲーム画像を生成したり、端末用ゲーム画像を生成したりするためのプログラムである。
【００９５】
画像表示プログラム３１４は、画像生成プログラム３１２に従って生成したテレビ用ゲーム画像の画像データをＡＶ−ＩＣ３６に出力し、テレビ用ゲーム画像をテレビ１６に表示するためのプログラムである。また、画像表示プログラム３１４は、画像生成プログラム３１２に従って生成した端末用ゲーム画像の画像データを端末装置１４に送信するためのプログラムでもある。
【００９６】
音生成プログラム３１６は、ＣＰＵ２０の指示の下、ＤＳＰ２２ｃによって、テレビ用ゲーム音声を生成したり、端末用ゲーム音声を生成したりするためのプログラムである。音出力プログラム３１８は、音生成プログラム３１６に従って生成されたテレビ用ゲーム音声の音声データをＡＶ−ＩＣ３６に出力し、テレビ用ゲーム音声をテレビ１６のスピーカ１６ａから出力するためのプログラムである。また、音出力プログラム３１８は、音生成プログラム３１６に従って生成された端末用ゲーム音声の音声データを端末装置１４に送信するためのプログラムでもある。
【００９７】
操作検出プログラム３２０は、端末装置１４から入力（送信）される送信データに含まれる端末操作データを検出する（受け付ける）ためのプログラムである。補正プログラム３２２は、操作検出プログラム３２０に従って検出された端末操作データのうち、アナログスティック５８のスティック操作データを補正するためのプログラムである。
【００９８】
なお、プログラム記憶領域３０２には、通信プログラムおよびバックアッププログラムなども記憶される。
【００９９】
図６は図５に示したデータ記憶領域３０４の具体的な内容の一例を示す。図６に示すように、データ記憶領域３０４には、受信データ３３０、送信データ３３２、第１出力ボタンデータ３３４、第２出力ボタンデータ３３６、第１出力スティックデータ３３８、第２出力スティックデータ３４０、前回第１入力ボタンデータ３４２および前回第２入力ボタンデータ３４４などが記憶される。
【０１００】
受信データ３３０は、端末装置１４から受信される各種のデータである。受信データ３３０は、端末操作データ３３０ａを含む。端末装置１４がゲーム装置１２に複数接続される場合には、各端末装置１４に対応して、端末操作データ３３０ａも複数記憶される。
【０１０１】
端末操作データ３３０ａは、端末装置１４に対するプレイヤの操作を表すデータであり、上述したように、タッチ位置データ、スティック操作データおよび操作ボタンデータを含む。ただし、端末操作データ３３０ａは、端末装置１４を操作するプレイヤの操作を表すものであればよく、上記各データのいずれか１つのみを含むものであってもよい。端末操作データ３３０ａは、端末装置１４から送信されてゲーム装置１２において取得され、メインメモリ（２２ｅ，２６）に記憶される。
【０１０２】
なお、メインメモリ（２２ｅ，２６）には、最新の（最後に取得された）ものから順に所定個数の端末操作データが記憶されてもよい。
【０１０３】
送信データ３３２は、画像データ３３２ａおよび音声データ３３２ｂなどを含む。画像データ３３２ａは、ゲーム処理（後述する全体処理）によって生成され、端末装置１４で出力される端末用ゲーム画像の画像データなどである。音声データ３３２ｂは、ゲーム処理によって生成され、端末装置１４で出力される端末用ゲーム音声の音声データである。
【０１０４】
第１出力ボタンデータ３３４は、アプリケーション（この実施例では、「ゲーム」である。以下、同じ。）の処理で用いるためのアナログスティック５８Ａのスティック部のボタン押下状況についてのデータである。第２出力ボタンデータ３３６は、アプリケーションの処理で用いるためのアナログスティック５８Ｂのスティック部のボタン押下状況についてのデータである。
【０１０５】
第１出力スティックデータ３３８は、アプリケーションの処理で用いるためのアナログスティック５８Ａのスティック部の傾き方向および傾き量についてのデータである。第２出力スティックデータ３４０は、アプリケーションの処理で用いるためのアナログスティック５８Ｂの傾き方向および傾き量についてのデータである。
【０１０６】
ただし、第１出力ボタンデータ３３４、第２出力ボタンデータ３３６、第１出力スティックデータ３３８および第２出力スティックデータ３４０は、端末装置１４からゲーム装置１２に入力された端末操作データのうち、アナログスティック５８Ａおよびアナログスティックボタン５８Ｂについてのスティック操作データに補正プログラム３２２に従う補正処理を施したデータである。
【０１０７】
前回第１入力ボタンデータ３４２は、前フレームにおいて端末装置１４から入力された端末操作データのうち、アナログスティック５８Ａのスティック部のボタン押下状況についての操作ボタンデータである。前回第２入力ボタンデータ３４４は、前フレームにおいて端末装置１４から入力された端末操作データのうち、アナログスティック５８Ｂのスティック部のボタン押下状況についての操作ボタンデータである。
【０１０８】
また、データ記憶領域３０４には、第１入力ボタン変化フラグ３４６、第２入力ボタン変化フラグ３４８、第１カウンタ３５０および第２カウンタ３５２が設けられる。
【０１０９】
第１入力ボタン変化フラグ３４６は、端末装置１４においてアナログスティック５８Ａのスティック部のボタン押下状況がオフからオンに変化したかどうかを判別するためのフラグであり、１ビットのレジスタで構成される。端末装置１４においてアナログスティック５８Ａのスティック部のボタン押下状況がオフからオンに変化した場合には、第１入力ボタン変化フラグ３４６はオンされ、レジスタにデータ値「１」が設定される。一方、端末装置１４においてアナログスティック５８Ａのスティック部のボタン押下状況が変化していない場合やオンからオフに変化した場合には、第１入力ボタン変化フラグ３４６はオフされ、レジスタにデータ値「０」が設定される。
【０１１０】
第２入力ボタン変化フラグ３４８は、端末装置１４においてアナログスティック５８Ｂスティック部のボタン押下状況がオフからオンに変化したかどうかを判別するためのフラグであり、１ビットのレジスタで構成される。端末装置１４においてアナログスティック５８Ｂのスティック部のボタン押下状況がオフからオンに変化した場合には、第２入力ボタン変化フラグ３４８はオンされ、レジスタにデータ値「１」が設定される。一方、端末装置１４においてアナログスティック５８Ｂのスティック部のボタン押下状況が変化していない場合やオンからオフに変化した場合には、第２入力ボタン変化フラグ３４８はオフされ、レジスタにデータ値「０」が設定される。
【０１１１】
第１カウンタ３５０は、アナログスティック５８Ａのスティック部が押下されていない（オフされている）時間をカウントするためのカウンタであり、所定時間（この実施例では、１０フレーム）をカウントする。
【０１１２】
第２カウンタ３５２は、アナログスティック５８Ｂのスティック部が押下されていない（オフされている）時間をカウントするためのカウンタであり、所定時間（この実施例では、１０フレーム）をカウントする。
【０１１３】
図示は省略するが、データ記憶領域３０４には、サウンドデータや音波形データなどの他のデータが記憶されたり、他のフラグやカウンタ（タイマ）が設けられたりする。
【０１１４】
図７は、図３に示した端末装置１４の内部メモリ５２ｂのメモリマップ４００の一例を示す。図７に示すように、内部メモリ５２ｂは、データ記憶領域４０２を含む。
【０１１５】
データ記憶領域４０２には、送信データ４１０および受信データ４１２が記憶される。
【０１１６】
送信データ４１０は、端末操作データ４１０ａを含む。これは、上述した受信データ３３０に含まれる端末操作データ３３０ａと同じ内容であるため、重複した説明は省略する。
【０１１７】
受信データ４１２は、画像データ４１２ａおよび音声データ４１２ｂなどを含む。これらは、上述した送信データ３３２に含まれる画像データ３３２ａおよび音声データ３３２ｂと同じ内容であるため、重複した説明は省略する。
【０１１８】
図示は省略するが、データ記憶領域４０２には、端末装置１４の動作に必要な他のデータが記憶されたり、フラグやカウンタ（タイマ）が設けられたりする。
【０１１９】
図８は、図２に示したゲーム装置１２に設けられるＣＰＵ２０の全体処理についてのフロー図である。なお、図８（後述する図９および図１０についても同様。）に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、図８−図１０に示すフロー図の各ステップの処理をＣＰＵ２０が実行するものとして説明するが、ＣＰＵ２０以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
【０１２０】
ゲーム装置１２の電源が投入されると、全体処理の実行に先立って、ＣＰＵ２０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ（２２ｅ，２６）等の各ユニットが初期化される。そして、光ディスクに記憶されたゲームプログラムがメインメモリ（２２ｅ、２６）に読み込まれ、ＣＰＵ２０によって当該ゲームプログラムの実行が開始される。
【０１２１】
ＣＰＵ２０は、全体処理を開始すると、ステップＳ１で、初期処理を実行する。初期処理では、たとえば、ＣＰＵ２０は、ゲーム画面１００を生成および表示するための仮想のゲーム空間を構築し、このゲーム空間に登場するプレイヤキャラクタ等の各キャラクタないし各オブジェクトを初期位置に配置する。また、ＣＰＵ２０は、ゲーム処理で用いる各種パラメータの初期値を設定する。
【０１２２】
続いて、ＣＰＵ２０は、ステップＳ３で、端末装置１４から送信されてくる各種のデータを取得し、ステップＳ５で、入力ボタンフラグを更新する。ここでは、ＣＰＵ２０は、端末装置１４から受信した端末操作データを参照して、アナログスティック５８Ａのスティック部のボタン押下状況を取得し、前回第１入力ボタンデータ３４２が示すボタン押下状況と比較する。そして、ＣＰＵ２０は、アナログスティック５８Ａのスティック部のボタン押下状況がオフからオンに変化されている場合には、第１入力ボタン変化フラグ３４６をオンし、それ以外であれば、第１入力ボタン変化フラグ３４６をオフする。同様に、ＣＰＵ２０は、アナログスティック５８Ｂのスティック部のボタン押下状況および前回第２入力ボタンデータ３４４が示すボタン押下状況に基づいて、第２入力ボタン変化フラグ３４８をオンまたはオフする。さらに、ＣＰＵ２０は、第１入力ボタン変化フラグ３４６および第２入力ボタンフラグ３４８を更新した後に、今回受信した端末操作データに含まれるアナログスティック５８Ａのスティック部のボタン押下状況のデータを前回第１入力ボタンデータ３４２として記憶するとともに、今回受信した端末操作データに含まれるアナログスティック５８Ｂのスティック部のボタン押下状況の操作ボタンデータを前回第２入力ボタンデータ３４４として記憶する。
【０１２３】
続いて、ステップＳ７で、後述する補正処理（図９および図１０を参照）を実行し、ステップＳ９で、ゲーム制御処理を実行する。ステップＳ９では、ＣＰＵ２０は、プレイヤの操作に従って、または、プレイヤの操作に関係無く、プレイヤキャラクタなどのキャラクタを動作させたり、ゲームクリアまたはゲームオーバーを判定したりするなど、ゲームについての様々な処理を実行する。このように、ゲーム制御処理では、ステップＳ７の補正処理が施された端末操作データが用いられるのである。ただし、補正処理が施されるのは、アナログスティック５８Ａおよび５８Ｂについてのスティック操作データ（傾倒データおよび操作ボタンデータを含む）である。
【０１２４】
次のステップＳ１１では、ＣＰＵ２０およびＧＰＵ２２ｂは、テレビ１６に表示するためのテレビ用ゲーム画像の生成処理を実行する。簡単に説明すると、ＣＰＵ２０およびＧＰＵ２２ｂは、ステップＳ９のゲーム制御処理の結果を表すデータをメインメモリ（２２ｅ，２６）から読み出し、また、ゲーム画像を生成するために必要なデータをＶＲＡＭ２２ｄから読み出し、テレビ用ゲーム画像を生成する。
【０１２５】
次のステップＳ１３において、ＣＰＵ２０およびＧＰＵ２２ｂは、端末装置１４に表示するための端末用ゲーム画像の生成処理を実行する。簡単に説明すると、端末用ゲーム画像もまた、上記テレビ用ゲーム画像と同様に、ステップＳ９のゲーム制御処理の結果を表すデータをメインメモリ（２２ｅ，２６）から読み出し、また、ゲーム画像を生成するために必要なデータをＶＲＡＭ２２ｄから読み出して生成される。
【０１２６】
続いて、ステップＳ１５では、ＣＰＵ２０は、テレビ１６のスピーカ１６ａに出力するためのテレビ用ゲーム音声を生成する。すなわち、ＣＰＵ２０は、ステップＳ９のゲーム制御処理の結果に応じたゲーム音声をＤＳＰ２２ｃに生成させる。
【０１２７】
次に、ステップＳ１７では、ＣＰＵ２０は、端末装置１４のスピーカ６６に出力するための端末用ゲーム音声を生成する。すなわち、ＣＰＵ２０は、ステップＳ９のゲーム制御処理の結果に応じたゲーム音声をＤＳＰ２２ｃに生成させる。
【０１２８】
ただし、テレビ用ゲーム音声と端末用ゲーム音声とが同一である場合には、ステップＳ１５またはステップＳ１７の処理は実行されなくてよい。
【０１２９】
続いて、ステップＳ１９では、ＣＰＵ２０は、テレビ１６へデータを出力する。具体的には、ＣＰＵ２０は、ＶＲＡＭ２２ｄに記憶されたテレビ用ゲーム画像の画像データと、ステップＳ１５でＤＳＰ２２ｃによって生成されたテレビ用ゲーム音声の音声データとをＡＶ−ＩＣ３６へ送る。
【０１３０】
次に、ステップＳ２１で、ＣＰＵ２０は、端末装置１４へデータを送信する。具体的には、ＶＲＡＭ２２ｄに記憶された端末用ゲーム画像の画像データ、および、ステップＳ１７でＤＳＰ２２ｃによって生成された音声データは、ＣＰＵ２０によってコーデックＬＳＩ５２に送られ、コーデックＬＳＩ５２によって所定の圧縮処理が行われる。さらに、圧縮処理が施された画像および音声のデータは、端末通信モジュール３２によってアンテナ３４を介して端末装置１４へ送信される。端末装置１４は、ゲーム装置１２から送信されてくる画像および音声のデータを無線モジュール７０によって受信し、コーデックＬＳＩ５２によって所定の伸張処理を行う。伸張処理が行われた画像データはＬＣＤ６２に出力され、伸張処理が行われた音声データはサウンドＩＣ６４に出力される。
【０１３１】
そして、ステップＳ２３では、ＣＰＵ２０は、ゲームを終了するかどうかを判断する。ステップＳ２３の判断は、たとえば、ゲームオーバーになったか否か、あるいは、プレイヤがゲームを中止する指示を行ったか否か等によって行われる。
【０１３２】
ステップＳ２３で“ＮＯ”であれば、つまりゲームを終了しない場合には、ステップＳ３に戻る。一方、ステップＳ２３で“ＹＥＳ”であれば、つまりゲームを終了する場合には、全体処理を終了する。
【０１３３】
図９および図１０は、図８に示したステップＳ７の補正処理の一例を示すフロー図である。この補正処理は、アナログスティック５８Ａおよび５８Ｂのそれぞれについて実行される。ここでは、アナログスティック５８Ａについての補正処理のみを説明し、アナログスティック５８Ｂの補正処理はアナログスティック５８Ａの場合と同様であるため、アナログスティック５８Ｂの補正処理についての説明は割愛することにする。
【０１３４】
図９に示すように、ＣＰＵ２０は、補正処理を開始すると、ステップＳ３１で、出力ボタン状態がオンかどうかを判断する。ここでは、ＣＰＵ２０は、第１出力ボタンデータ３３４のボタン押下状況がオンであるかどうかを判断する。つまり、ＣＰＵ２０は、前フレームにおいて、補正処理を施された後のアナログスティック５８Ａのスティック部のボタン押下状況がオンであるかどうかを判断しているのである。
【０１３５】
ステップＳ３１で“ＮＯ”であれば、つまり出力ボタン状態がオフであれば、図１０に示すステップＳ４３に進む。一方、ステップＳ３１で“ＹＥＳ”であれば、つまり出力ボタン状態がオンであれば、ステップＳ３３で、入力ボタン状態がオンであるかどうかを判断する。ここでは、ＣＰＵ２０は、ステップＳ３で取得した端末操作データを参照し、現フレームにけるアナログスティック５８Ａのスティック部のボタン押下状況がオンであるかどうかを判断する。
【０１３６】
ステップＳ３３で“ＮＯ”であれば、つまり入力ボタン状態がオフであれば、ステップＳ３５で、出力ボタン状態をオフに変更する。つまり、ＣＰＵ２０は、ボタン押下状況がオフである第１出力ボタンデータ３３４をデータ記憶領域３０４に記憶する。次のステップＳ３７では、リリースカウンタに所定値を設定する。ここでは、ＣＰＵ２０は、第１カウンタ３５０に所定値（この実施例では、１０）を設定する。そして、ＣＰＵ２０は、ステップＳ４１に進む。
【０１３７】
一方、ステップＳ３３で“ＹＥＳ”であれば、つまり入力ボタン状態がオンであれば、ステップＳ３９で、出力ボタン状態をオンで継続して、つまり第１出力ボタンデータ３３４を更新せずに、ステップＳ４１に進む。
【０１３８】
ステップＳ４１では、出力スティックの値を傾き無しの値に補正して、図８に示した全体処理にリターンする。たとえば、ステップＳ４１では、ＣＰＵ２０は、傾き方向が無く（ｎｕｌｌ）、傾き量が０を示す第１出力スティックデータ３３８をデータ記憶領域３０４に記憶する。
【０１３９】
上述したように、出力ボタン状態がオフである場合には、ステップＳ３１で“ＮＯ”となり、図１０に示すステップＳ４３で、入力ボタン状態がオフからオンに変化したかどうかを判断する。ここでは、ＣＰＵ２０は、第１入力ボタン変化フラグ３４６がオンであるかどうかを判断する。
【０１４０】
ステップＳ４３で“ＮＯ”であれば、つまり入力ボタン状態がオフからオンに変化していなければ、ステップＳ４９に進む。一方、ステップＳ４３で“ＹＥＳ”であれば、つまり入力ボタン状態がオフからオンに変化すれば、ステップＳ４５で、入力スティックの値が一定量以上であるかどうかを判断する。ただし、この実施例では、一定量は、アナログスティック５８のスティック部がホームポジション（傾き無し）である場合の傾き量を「０」とし、任意の方向にスティック部を最大限傾けた場合の傾き量を「１０」とした場合の「５」である。
【０１４１】
ステップＳ４５で“ＮＯ”であれば、つまり入力スティックの値が一定量未満であれば、ステップＳ４７で、出力ボタン状態をオンに変更し、図９に示したステップＳ４１に進む。ただし、ＣＰＵ２０は、ステップＳ４７において、状態情報がオンである第１ボタン出力データ３３４をデータ記憶領域３０４に記憶する。
【０１４２】
一方、ステップＳ４５で“ＹＥＳ”であれば、つまり入力スティックの値が一定量以上であれば、ステップＳ４９で、出力ボタン状態をオフで継続し、ステップＳ５１に進む。つまり、ステップＳ４９では、ＣＰＵ２０は、第１出力ボタンデータ３３４を更新しない。このように、スティック部が押下されることにより、入力ボタン状態がオフからオン変化されたとしても（Ｓ４３で“ＹＥＳ”）、出力ボタン状態はオフで継続され、スティック部が押下されたことが無効にされる。
【０１４３】
ステップＳ５１では、リリースカウタンのカウント値が０かどうかを判断する。つまり、ＣＰＵ２０は、第１カウンタ３５０のカウント値が０になったかどうかを判断する。ステップＳ５１で“ＮＯ”であれば、つまりリリースカウンタのカウント値が０でなければ、ステップＳ５３で、リリースカウンタ（ここでは、第１カウンタ３５０）のカウント値を１減らして、図９のステップＳ４１に進む。一方、ステップＳ５１で“ＹＥＳ”であれば、つまりリリースカウンタのカウント値が０であれば、ステップＳ５５で、出力スティックの値を入力スティックの値に設定して、全体処理にリターンする。つまり、ＣＰＵ２０は、ステップＳ５５で、現フレームのアナログスティック５８Ａについてのスティック操作データを、第１出力スティックデータ３３８としてデータ記憶領域３０４に記憶する。このように、スティック部が傾けられても、スティック部の押下されている場合やスティック部が押下された状態から押下されていない状態に変化した後の所定期間においては、傾き量が「０」に補正され、スティック部が傾けられたことが無効にされる。
【０１４４】
この実施例によれば、ゲーム装置は、スティック部を押下することにより、プッシュボタンとしても機能するアナログスティックを操作する場合に、スティック部が一定量以上傾けられている場合には、スティック部の押下による入力を無効にし、また、スティック部が押下されている場合およびスティック部が押下された状態から押下されていない状態に変化してから所定期間においては、スティック部の傾きによる入力を無効にする。したがって、操作者の意図しない指示に従う処理が実行されるのを防止することができる。
【０１４５】
なお、この実施例では、端末装置にアナログスティックを２つ設けたが少なくとも１つ設けられていればよく、３つ以上設けられもよい。
【０１４６】
また、この実施例では、ゲーム装置と端末装置のような入力装置が無線で通信するゲームシステムについて説明したがこれに限定される必要はない。入力装置がゲーム装置にケーブルで接続されてもよいし、入力装置とゲーム装置が一体的に形成されたアーケードゲームや携帯型のゲーム装置であってもよい。
【０１４７】
さらに、この実施例では、端末装置のような入力装置がＬＣＤやスピーカを備えるため、図８において、端末用ゲーム画像を生成する（Ｓ１３）とともに、端末用ゲーム音声を生成して（Ｓ１７）、入力端末装置へ送信するようにした（Ｓ２１）がこれらの処理は実行されなくてもよい。ただし、端末用ゲーム画像を生成して（Ｓ１３）、または、端末用ゲーム音声を生成して（Ｓ１７）、生成した端末用ゲーム画像または端末用ゲーム音声を入力端末装置へ送信するようにしてもよい（Ｓ２１）。また、端末装置が、ＬＣＤやスピーカを備えていない場合には、これらの処理（Ｓ１３、Ｓ１７、Ｓ２１）は当然実行されない。
【０１４８】
さらにまた、この実施例では、情報処理装置の一例としてゲーム装置を挙げたが、汎用のＰＣやワークステーションのようなコンピュータについても適用可能である。かかる場合には、コンピュータの入力装置には、プッシュボタンとしても機能するアナログスティックが設けられる。
【０１４９】
また、この実施例では、プッシュボタンとしても機能するアナログスティックについて説明したが、これに限定される必要はない。たとえば、プッシュボタンとしも機能するマウスホイールの操作についても同様の補正処理を施すことができる。たとえば、プッシュボタンの操作を受け付けている場合には、マウスホイールの回転操作については無効にされる。一方、マウスホイールの回転操作を受け付けている場合には、プッシュボタンの操作については無効にされる。
【０１５０】
なお、上述の実施例で示した具体的な数値は単なる一例であり、実際の製品において、適宜設定されるべきある。
【符号の説明】
【０１５１】
１０  …ゲームシステム
１２  …ゲーム装置
１４  …端末装置
１６  …テレビ
２０，５２ａ  …ＣＰＵ
２２  …システムＬＳＩ
２２ａ  …入出力プロセッサ
２２ｅ  …内部メインメモリ
２６  …外部メインメモリ
５６  …タッチパネル
５８  …アナログスティック
６０  …操作ボタン
６２  …ＬＣＤ
【図１】
2015207189.tif 000003
【図２】
2015207189.tif 000004
【図３】
2015207189.tif 000005
【図４】
2015207189.tif 000006
【図５】
2015207189.tif 000007
【図６】
2015207189.tif 000008
【図７】
2015207189.tif 000009
【図８】
2015207189.tif 000010
【図９】
2015207189.tif 000011
【図１０】
2015207189.tif 000012