(57)【要約】      （修正有）【解決手段】ゲーム装置１０は、振動制御装置として機能し、複数のプログラムの実行中に、複数のプログラムから振動データを同時に入力されると、振動制御権が付与されたプログラムからの振動データを優先的に使用して、ゲーム装置に内蔵された振動モータ３２を駆動させる。振動制御権は、振動制御を優先的に実行する権限であり、基本的には、最前面に表示された画像に対応するプログラムに付与されるが、複数の画像が表示されている場合には、入力装置２０（コントローラ）の入力を取得する権限を有するプログラムに付与される。【効果】振動制御権が付与されたプログラムからの振動データに基づいて振動を発生させるので、複数のプログラムが実行されていても、適切に振動を提示することができる。【選択図】図１
2018110709.tif 000002
【特許請求の範囲】
【請求項１】
第１のソフトウェアが発生する第１の振動データを受け付ける第１振動受付部と、
第２のソフトウェアが発生する第２の振動データを受け付ける第２振動受付部と、
前記第１振動受付部が前記第１の振動データを受け付けるのと同時に、前記第２振動受付部が前記第２の振動データを受け付けたときに、当該第１の振動データおよび当該第２の振動データのいずれか一方を用いて所定の装置または前記所定の装置に接続する所定の端末を振動させる振動制御部を備える、振動制御システム。
【請求項２】
前記第１のソフトウェアと前記第２ソフトウェアについて振動制御の優先度を示すための優先権を設定する優先権設定部をさらに備え、
前記振動制御部は優先権設定部によって設定された優先権に応じて前記第１の振動データおよび前記第２の振動データのいずれか一方の振動データを用いる、請求項１記載の振動制御システム。
【請求項３】
前記第１のソフトウェアは第１の音声データをさらに発生し、
前記第２のソフトウェアは第２の音声データをさらに発生し、
前記第１のソフトウェアと前記第２ソフトウェアについて音声制御における音量バランスを設定する音量バランス設定部と、
前記第１の音声データを受け付ける第１音声受付部と、
前記第２の音声データを受け付ける第２音声受付部と、
前記第１音声受付部が前記第１の音声データを受け付けるのと同時に、前記第２音声受付部が前記第２の音声データを受け付けたとき、前記音量バランス設定部によって設定された音量バランスに応じて、当該第１の音声データおよび当該第２の音声データの少なくとも一方の振幅を変化させて出力する音声制御部をさらに備える、請求項２記載の振動制御システム。
【請求項４】
第１のソフトウェアが発生する第１の振動データを受け付ける第１振動受付部と、
第２のソフトウェアが発生する第２の振動データを受け付ける第２振動受付部と、
前記第１振動受付部が前記第１の振動データを受け付けるのと同時に、前記第２振動受付部が前記第２の振動データを受け付けたときに、当該第１の振動データおよび当該第２の振動データのいずれか一方を用いて振動制御装置自体または前記振動制御装置に接続する所定の端末を振動させる振動制御部を備える、振動制御装置。
【請求項５】
コンピュータによって実行される振動制御プログラムであって、
前記コンピュータのプロセッサに、
第１のソフトウェアが発生する第１の振動データを受け付ける第１振動受付ステップと、
第２のソフトウェアが発生する第２の振動データを受け付ける第２振動受付ステップと、
前記第１振動受付ステップが前記第１の振動データを受け付けるのと同時に、前記第２振動受付ステップが前記第２の振動データを受け付けたときに、当該第１の振動データおよび当該第２の振動データのいずれか一方を用いて前記コンピュータまたは前記コンピュータに接続する所定の端末を振動させる振動制御ステップを実行させる、振動制御プログラム。
【請求項６】
振動制御方法であって、
（ａ）第１のソフトウェアが発生する第１の振動データを受け付けるステップと、
（ｂ）第２のソフトウェアが発生する第２の振動データを受け付けるステップと、
前記第１振動受付ステップが前記第１の振動データを受け付けるのと同時に、前記第２振動受付ステップが前記第２の振動データを受け付けたときに、当該第１の振動データおよび当該第２の振動データのいずれか一方を用いて所定の装置または前記所定の装置に接続する所定の端末を振動させる振動制御ステップを実行させる、振動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法に関し、特にたとえば、振動モータを備える装置の振動を制御する、振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示される。この特許文献１には、敵キャラクタの表示態様の違いに応じて振動を変化させるゲーム装置が開示されている。
【０００３】
また、背景技術の他の例が特許文献２に開示される。この特許文献２には、グリップ部の内部に、情報処理装置（ゲーム装置）からの制御信号に基づいて振動を発生させる振動部が配置されているコントローラの構成が開示される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−６８２１０号公報
【特許文献２】特開２０１３−２３６９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１および特許文献２では、複数のソフトウェアが同時に実行されることは考慮されていないため、複数のソフトウェアから振動を提示することが同時に要求された場合の振動の提示方法についても考慮されていない。
【０００６】
それゆえに、この発明の主たる目的は、新規な、振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法を提供することである。
【０００７】
また、この発明の他の目的は、複数のソフトウェアから同時に要求された場合にも適切に振動を提示できる、振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法を提供することである。
【課題を解決するための手段】
【０００８】
第１の発明は、第１振動受付部と、第２振動受付部と、振動制御部を備える、振動制御システムである。第１振動受付部は、第１のソフトウェアが発生する第１の振動データを受け付ける。第２振動受付部は、第２のソフトウェアが発生する第２の振動データを受け付ける。振動制御部は、第１振動受付部が第１の振動データを受け付けるのと同時に、第２振動受付部が第２の振動データを受け付けたときに、当該第１の振動データおよび当該第２の振動データのいずれか一方を用いて所定の装置または所定の装置に接続する所定の端末を振動させる。
【０００９】
第１の発明によれば、２つのソフトウェアから振動データを同時に受け付けた場合には、いずれか一方を用いて所定の装置またはこれに接続された所定の端末を振動させるので、所定の装置または所定の端末を把持するユーザに、適切に振動を提示することができる。
【００１０】
第２の発明は、第１の発明に従属し、優先権設定部をさらに備える。優先権設定部は、たとえば、ソフトウェアの状態に応じて、第１のソフトウェアと第２ソフトウェアについて振動制御の優先度を示すための優先権を設定する。振動制御部は、優先権設定部によって設定された優先権に応じて第１の振動データおよび第２の振動データのいずれか一方の振動データを用いる。
【００１１】
第２の発明によれば、第１のソフトウェアおよび第２のソフトウェアについて振動制御の優先権を設定するので、優先権に応じて使用する振動データを適切に決定することができる。その結果、適切に振動を提示することができる。
【００１２】
第３の発明は、第２の発明に従属し、第１のソフトウェアは第１の音声データをさらに発生し、第２のソフトウェアは第２の音声データをさらに発生する。また、振動制御システムは、音量バランス設定部と、第１音声受付部と、第２音声受付部と、音声制御部をさらに備える。音量バランス設定部は、第１のソフトウェアと第２ソフトウェアについて音声制御における音量バランスを設定する。第１音声受付部は、第１の音声データを受け付ける。第２音声受付部は、第２の音声データを受け付ける。音声制御部は、第１音声受付部が第１の音声データを受け付けるのと同時に、第２音声受付部が第２の音声データを受け付けたとき、音量バランス設定部によって設定された音量バランスに応じて、当該第１の音声データおよび当該第２の音声データの少なくとも一方の振幅を変化させて出力する。つまり、音声データについては、音量が調整される。たとえば、入力装置またはコントローラのような入力手段からの入力情報を取得する権限（取得権）を有するソフトウェアの音量が取得権を有さないソフトウェアの音量よりも大きくなるように設定される。
【００１３】
第３の発明によれば、複数のソフトウェアから発生される音声データの振幅を、設定された音量バランスに応じて調整するので、振動制御に連動して出力する音を適切に制御することができる。
【００１４】
第４の発明は、第１のソフトウェアが発生する第１の振動データを受け付ける第１振動受付部と、第２のソフトウェアが発生する第２の振動データを受け付ける第２振動受付部と、第１振動受付部が第１の振動データを受け付けるのと同時に、第２振動受付部が第２の振動データを受け付けたときに、当該第１の振動データおよび当該第２の振動データのいずれか一方を用いて振動制御装置自体または振動制御装置に接続する所定の端末を振動させる振動制御部を備える、振動制御装置である。
【００１５】
第５の発明は、コンピュータによって実行される振動制御プログラムであって、コンピュータのプロセッサに、第１のソフトウェアが発生する第１の振動データを受け付ける第１振動受付ステップと、第２のソフトウェアが発生する第２の振動データを受け付ける第２振動受付ステップと、第１振動受付ステップが第１の振動データを受け付けるのと同時に、第２振動受付ステップが第２の振動データを受け付けたときに、当該第１の振動データおよび当該第２の振動データのいずれか一方を用いてコンピュータまたはコンピュータに接続する所定の端末を振動させる振動制御ステップを実行させる、振動制御プログラムである。
【００１６】
第６の発明は、振動制御方法であって、（ａ）第１のソフトウェアが発生する第１の振動データを受け付けるステップと、（ｂ）第２のソフトウェアが発生する第２の振動データを受け付けるステップと、第１振動受付ステップが第１の振動データを受け付けるのと同時に、第２振動受付ステップが第２の振動データを受け付けたときに、当該第１の振動データおよび当該第２の振動データのいずれか一方を用いて所定の装置または所定の装置に接続する所定の端末を振動させる振動制御ステップを実行させる、振動制御方法である。
【００１７】
第４ないし第６の発明においても、第１の発明と同様に、適切に振動を提示することができる。
【発明の効果】
【００１８】
この発明によれば、２つのソフトウェアから振動データを同時に受け付けた場合には、いずれか一方を用いて所定の装置またはこれに接続された所定の端末を振動させるので、所定の装置または所定の端末を把持するユーザに、適切に振動を提示することができる。
【００１９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２０】
【図１】図１はゲーム装置の電気的な構成の限定しない一例を示すブロック図である。
【図２】図２（Ａ）は図１に示す表示装置に表示される画像の限定しない一例を示す図解図であり、図２（Ｂ）は図１に示す表示装置に表示される画像の限定しない他の例を示す図解図であり、図２（Ｃ）は図１に示す表示装置に表示される画像の限定しないその他の例を示す図解図であり、図２（Ｄ）は図１に示す表示装置に表示される画像の限定しないさらに他の例を示す図解図であり、
【図３】図３は第１実施例の振動制御プロセスの限定しない一例を説明するための機能ブロック図である。
【図４】図４は第１実施例の音声制御プロセスの限定しない一例を説明するための機能ブロック図である。
【図５】図５は図１に示すゲーム装置のＲＡＭのメモリマップの限定しない一例を示す図解図である。
【図６】図６は図１に示すＣＰＵの振動制御権の設定処理の限定しない一例を示すフロー図である。
【図７】図７は図１に示すＣＰＵの振動制御処理の限定しない一例を示すフロー図である。
【図８】図８は図１に示すＣＰＵの音出力権の設定処理の限定しない一例を示すフロー図である。
【図９】図９は図１に示すＣＰＵの音制御処理の限定しない一例の一部を示すフロー図である。
【図１０】図１０は図１に示すＣＰＵの音制御処理の限定しない一例の他の一部であって、図９に後続するフロー図である。
【図１１】図１１は第２実施例のゲームシステムの電気的な構成の限定しない一例を示すブロック図である。
【図１２】図１２は図１１に示すコントローラの電気的な構成の限定しない一例を示すフロー図である。
【図１３】図１３は第２実施例の振動制御プロセスの限定しない一例を説明するため機能ブロック図である。
【発明を実施するための形態】
【００２１】
［第１実施例］
図１を参照して、限定しない一例のゲーム装置１０は、携帯型のゲーム装置のような所定の装置であり、ＣＰＵ１２を含む。このＣＰＵ１２には、ＲＡＭ１４、フラッシュメモリ１６、無線通信モジュール１８、入力装置２０、表示ドライバ２２、ディジタル・アナログ（Ｄ／Ａ）変換器２６およびモータドライバ３０が接続される。また、表示ドライバ２２には表示装置２４が接続され、Ｄ／Ａ変換器２６にはスピーカ２８が接続される。さらに、モータドライバ３０には振動モータ（振動子）３２が接続される。
【００２２】
なお、この明細書においては、情報処理装置ないし情報処理端末の一例として、携帯型のゲーム装置１０を使用する場合について説明するが、スマートフォンおよびタブレット端末などを用いることができる。
【００２３】
また、携帯型のゲーム装置１０では、入力装置２０（コントローラ）をゲーム装置１０の本体装置に着脱可能な構成にしてもよい。かかる場合には、入力装置２０が本体装置と分離状態にある場合には、本体装置は、入力装置２０と無線通信を行う。一方、入力装置２０が本体装置に装着されている場合には、本体装置は、入力装置２０と有線通信を行う。また、入力装置２０の内部にモータドライバ３０および振動モータ３２が設けられる。
【００２４】
さらに、携帯型の装置ないし端末のみならず、据置型のゲーム装置およびゲーム機能を有するＰＣなども使用可能である。この場合、入力装置２０をゲーム装置１０の本体装置から分離状態にある場合と同様に、ゲーム装置１０の本体装置に入力装置２０（コントローラ）が有線または無線で通信可能に接続され、この入力装置２０にモータドライバ３０および振動モータ３２が設けられる。同様に、ＰＣに有線または無線で通信可能に接続される入力手段にモータドライバ３０および振動モータ３２が設けられる。
【００２５】
ＣＰＵ１２は、ゲーム装置１０の全体的な制御を司る。ＲＡＭ１４は、揮発性の記憶装置であり、ＣＰＵ１２のワーキング領域およびバッファ領域として使用される。フラッシュメモリ１６は、不揮発性の記憶装置であり、ゲーム装置１０で実行される各種ソフトウェア（プログラム）およびセーブデータなどを記憶する。
【００２６】
ただし、ソフトウェアは、システムソフトウェア（システムプログラム）およびアプリケーションソフトウェア（アプリケーションプログラム）である。たとえば、システムプログラムは、コンピュータのハードウェア管理や制御などを行うソフトウェアであり、オペレーティングシステムおよびデバイスドライバなどの本体機能に関するプログラムが該当する。本体機能としては、音量の調整、画面の明るさ、無線通信機能のオン／オフなどが該当する。また、アプリケーションプログラム（情報処理プログラム）は、ゲーム、コンテンツ再生、ブラウザ、文字練習、語学演習、道案内、辞書、お絵かき、電子メール、ワープロ、表計算などの特定の目的のために使用するソフトウェアである。以下、この明細書において、システムプログラムおよびアプリケーションプログラムを区別する必要が無い場合には、単に「プログラム」ということにする。
【００２７】
無線通信モジュール１８は、たとえばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。したがって、ＣＰＵ１２は、無線通信モジュール１８を用いて、アクセスポイントおよびインターネット（ネットワーク）を介して他の機器（コンピュータや他のゲーム装置１０など）との間でデータを送受信する。ただし、他の機器との間で直接データを送受信することもできる。
【００２８】
または、無線通信モジュール１８は、近距離無線通信を行う機能を有する。具体的には、無線通信モジュール１８は、所定の通信方式（たとえば、赤外線方式）により、他の機器（他のゲーム装置など）との間で赤外線信号の送受信を行う機能、および所定の通信プロトコル（たとえば、マルチリンクプロトコル）に従って、同種のゲーム装置との間で無線通信を行う機能を有する。したがって、ＣＰＵ１２は、無線通信モジュール１８を用いて、同種の他のゲーム装置との間でデータを直接送受信することができる。ただし、赤外線方式の近距離無線通信に代えて、Bluetooth（登録商標）のような他の無線通信規格に従う近距離無線通信を行うようにしてもよい。
【００２９】
入力装置２０は、各種の操作ボタン、キーないしスイッチである。また、入力装置２０には、ジョイスティックまたは／およびスライドパットが含まれることもある。さらに、ゲーム装置１０がタッチパネルを備える場合には、このタッチパネルも入力装置２０の一部として機能する。たとえば、タッチパネルは、後述する表示装置２４の表示面上に設けられる。ただし、タッチパネルが表示装置２４と一体的に構成されたタッチディスプレイを設けるようにしてもよい。
【００３０】
表示ドライバ２２は、ＧＰＵおよびＶＲＡＭを含み、ＣＰＵ１２の指示の下、表示装置２４に表示するゲーム画面などの画像に対応する画像データをＶＲＡＭ上に生成し、表示装置２４に出力する。Ｄ／Ａ変換器２６は、ＣＰＵ１２から出力される音声データをアナログの音声信号に変換してスピーカ２８に出力する。
【００３１】
モータドライバ３０は、ＣＰＵ１２の指示に従って、振動モータ３２を駆動する。ただし、ＣＰＵ１２は、実行中のプログラムからの振動データを取得すると、取得した振動データをモータドライバ３０に与える。モータドライバ３０は、ＣＰＵ１２から与えられた振動データに基づいて、振動モータ３２を駆動させるための駆動信号を生成し、生成した駆動信号を振動モータ３２に与える。このため、振動モータ３２は、ＣＰＵ１２からの振動データに従って動作する。したがって、振動モータ３２が駆動することにより発生した振動がゲーム装置１０を把持するユーザないしプレイヤ（以下、単に「プレイヤ」という」に伝達される。
【００３２】
たとえば、振動モータ３２は、リニアモータであり、音声信号のようなアナログ信号（駆動信号）の入力波形（振動波形）に応じたパターンで出力（振動）する。ただし、この第１実施例では、振動データは、アナログ信号（振動信号）の各時点の信号値（周波数および振幅）に対応する周波数の値と振幅に対応する電圧値の組についてのデータである。振動モータ８２ｂとしてのリニアモータは、振動信号の各時点での信号値に応じて、振動データが示す電圧値を、振動データが示す周波数で増減するように印加することで、内部の錘の位置を変えることにより、入力波形に応じたパターンで出力する。
【００３３】
なお、この第１実施例では、振動モータ３２として、リニアモータを用いるようにしてあるが、これに限定される必要は無く、たとえば、圧電素子またはボイスコイルを用いることもできる。
【００３４】
また、振動データは、ＣＰＵ１２が、振動データを生成するプログラムを実行したり、保存された振動データを読み出したりして生成される。この第1実施例では、振動データは、振動波形（アナログ信号の波形）に対応する周波数の値と振幅に対応する電圧値の組についてのデータであるが、振動波形そのものの信号（振動信号）でも良いし、振動波形をデジタル化したものでも良い。また、振動データは、周波数の値と振幅に対応する電圧値の組とは異なる、周波数を示す値と振幅を示す値の組についてのデータでも良い。
【００３５】
また、図１に示すゲーム装置１０の電気的な構成は一例であり、限定されるべきでない。たとえば、ゲーム装置１０の向き（姿勢）または／および動きを検出するための慣性センサ（加速度センサまたは／およびジャイロセンサ）が設けられてもよい。
【００３６】
このような構成のゲーム装置１０では、たとえば、ゲームプログラムのような或るプログラム（プログラム（１））を実行中に、並行して、電子メールプログラムのような他のプログラム（プログラム（２））を実行し、ゲームをプレイしている場合に、電子メールを受信することができる。また、必要に応じて、ゲームを中断して、または、ゲームを中断せずに、電子メールを作成および送信することもできる。ただし、プログラム（１）（第１のソフトウェアに相当）およびプログラム（２）（第２のソフトウェアに相当）は一例であり、限定されるべきでない。
【００３７】
また、この明細書においては、ゲーム装置１０に記憶されているプログラムについてはアルファベットを用いて各プログラムを識別可能に表記し（図３参照）、そのうちの起動（実行）されている２つのプログラムについてはプログラム（１）およびプログラム（２）と表記することがある。
【００３８】
ゲーム装置１０がゲームのアプリケーションプログラム（プログラム（１））を実行している場合には、ゲーム画面が表示装置２４に表示され、スピーカ２８からゲームの音（音楽）が出力される。また、所定のイベントが発生したことに応じて、振動モータ３２が駆動される。また、ゲーム装置１０はゲームプログラムと並行して電子メールのアプリケーションプログラム（プログラム（２））を実行し、電子メールが受信される、または、電子メールの作成の指示が入力されるのを待機する。
【００３９】
上述したように、ゲームをプレイしている場合に、電子メールを受信すると、電子メールを受信したことをメッセージで通知するための画像（通知画像）がゲーム画面の一部に表示される。通知画像は、ゲーム画面に重ねて（前面に）表示される。このような通知画像は、ゲームの邪魔にならないように、ゲーム画面よりも小さいサイズで、表示装置２４の表示面の上部などの端に表示される。このとき、通知画像のみならず、電子メールの受信を音または／および振動で通知することもある。
【００４０】
電子メールの受信を音（通知音）で通知する場合には、プレイヤは、ゲームの音と通知音を聞き分けることができると考えられる。しかし、電子メールの受信を振動で通知する場合には、ゲーム内でイベントが発生したことによって振動しているのか、電子メールを受信したことによって振動しているのかを知覚するのは困難である。
【００４１】
したがって、この第１実施例では、所定のルールに従って、振動を発生する権限を付与するプログラムおよび音を出力する権限を付与するプログラムを決定し、プログラム（１）およびプログラム（２）から同時に振動の発生が要求された場合およびプログラム（１）およびプログラム（２）から同時に音の出力を要求された場合に、適切に制御するようにしてある。
【００４２】
図２（Ａ）は、表示装置２４にプログラム（１）の画面（第１の画像）が表示された状態（第１パターン）の限定しない一例を示す図解図である。図２（Ｂ）は、表示装置２４に表示される第１の画像の一部にプログラム（２）の画面（第２の画像）が表示された状態（第２パターン）の限定しない一例を示す図解図である。図２（Ｃ）は、表示装置２４に表示される第１の画像の一部に第２の画像が表示された状態（第３パターン）の他の例を示す図解図である。図２（Ｄ）は、第１の画像の全体を覆って第２の画像を表示装置２４に表示した状態（第４パターン）の限定しない一例を示す図解図である。つまり、図２（Ｄ）に示す場合には、第２の画像が第１の画像の前面に表示される。
【００４３】
第１パターンでは、プログラム（１）が実行され、図２（Ａ）に示すように、プログラム（１）についての第１の画像が表示装置２４に表示される。たとえば、第１の画像は、ゲーム画面である。この場合、プレイヤの操作に従って、ゲームがプレイされ、ゲーム画面が更新されるとともに、ゲームの音がスピーカ２８から出力される。また、ゲーム内でイベントが発生したことによって振動モータ３２が駆動される。
【００４４】
第２パターンでは、プログラム（１）に並行してプログラム（２）が実行され、図２（Ｂ）に示すように、プログラム（２）についての第２の画像が、第１の画像の左上部に表示される。たとえば、図２（Ｂ）に示す第２の画像は、電子メールの通知画像である。したがって、ゲーム画面の一部に通知画像が表示されるときに、通知音がスピーカ２８から出力される。このとき、ゲームの音の音量が低減されてもよい。上記のとおり、ゲーム内のイベントによる振動と電子メールの受信を通知するための振動を知覚するのは困難であるため、電子メールを受信したことを通知するための振動は発生されない。また、通知画像は、表示されてから数秒後に非表示にされる。この場合、第２の画像に対してプレイヤが操作をすることはないため、プログラム（２）はプレイヤの操作についての入力情報を受け取る必要がない。
【００４５】
なお、上記の例では、プログラム（２）が入力情報を受け取る必要が無い場合について説明したが、プログラム（２）が入力情報を受け取るようにしてもよい。たとえば、ゲーム画面の一部に通知画像が表示され、通知音がスピーカから出力されたときに、一時的に、プレイヤからの入力情報を、プログラム（１）ではなくプログラム（２）が受け取るようにしてもよい。この場合、プレイヤがボタン押下等の入力操作を行うまでの間、ゲーム（プログラム（１））についての操作は受け付けられない。つまり、プログラム（１）は入力情報を取得できず、プログラム（２）が入力情報を取得する。この間、ゲームの音が低減される、または、出力されない。ボタンが操作されると、通知画像が非表示にされ、その後は、プログラム（１）が入力情報を取得する。これによって、プログラム（２）についての通知（通知画像）をプレイヤに確実に認識させることができる。
【００４６】
第３パターンでは、プログラム（１）に並行してプログラム（２）が実行され、図２（Ｃ）に示すように、プログラム（２）についての第２の画像が、第１の画像の一部であり、第１の画像の略下半分を覆うように表示される。たとえば、図２（Ｃ）に示す第１の画像は、ゲーム画面である。一方、図２（Ｃ）に示す第２の画像は、受信メールの表示画面または返信（送信）メールの作成画面である。ただし、返信（送信）メールの作成画面が表示される場合には、ソフトウェアキーボードも表示される。このことは、返信（送信）メールの作成画面が表示される場合について同じである。
【００４７】
この第３パターンにおいては、第１の画像の略半分が第２の画像によって覆われており、プレイヤは、前面に表示される第２の画像についての操作を行うことができるが、背面に表示される第１の画像についての操作を行うことができない。
【００４８】
第３パターンにおいて、プレイヤが受信メールの表示画面の操作を行う場合には、プレイヤの操作に従って、表示画面がスクロールされたり、表示画面に代えて返信メールの作成画面が表示されたりする。また、第３パターンにおいて、プレイヤが返信（送信）メールの作成画面の操作を行う場合には、プレイヤの操作に従って、宛先および件名が入力または変更されたり、本文が入力されたり、返信メールまたは送信メールを送信することが指示されたりする。これらの場合には、電子メールについての操作に伴うクリック音がスピーカ２８から出力され、電子メールについての操作に伴う振動が振動モータ３２から提示される。かかる場合には、ゲームについてのプログラム（１）の音は、出力されない、または、電子メールについてのプログラム（２）の音のよりも音量を低減される。また、プログラム（１）からの振動データに従って振動モータ３２は駆動されない。
【００４９】
また、第３パターンでは、任意のアプリケーションについてのプログラム（１）と本体機能の設定についてのプログラム（２）が実行される場合もある。この場合、たとえば、第１の画像が任意のアプリケーションの実行画面であり、第２の画像が本体機能の設定画面である。上述したように、本体機能は、音量、画面の明るさおよび無線通信機能などである。
【００５０】
プレイヤが本体機能を設定する場合には、プレイヤの操作に従って、音量の調整、画面の明るさの調整および無線通信機能のオン／オフなどが行われる。このような場合には、本体機能を設定する操作に伴うクリック音がスピーカ２８から出力され、本体機能を設定する操作に伴う振動が振動モータ３２から提示される。このとき、任意のアプリケーションについては操作が行われないため、プログラム（１）の音は出力されない、または、プログラム（２）の音の音量よりも低減される。また、プログラム（１）からの振動データに従って振動モータ３２は駆動されない。
【００５１】
第４パターンでは、プログラム（１）に並行してプログラム（２）が実行され、図２（Ｄ）に示すように、プログラム（２）についての第２の画像がプログラム（１）についての第１の画像の全部を覆うように表示される。なお、プログラム（２）のみが実行され、第２の画像のみが表示装置２４に表示される状態は、上記の第１パターンに分類される。
【００５２】
第４パターンでは、たとえば、視認できない状態ではあるが、第１の画像はゲーム画面であり、第２の画像は受信メールの表示画面または返信（送信）メールの作成画面である。
【００５３】
この第４パターンにおいては、プログラム（１）については操作が行われない。したがって、プログラム（１）の音は出力されない、または、プログラム（２）の音の音量よりも低減される。また、プログラム（１）からの振動データに従って振動モータ３２は駆動されない。
【００５４】
第４パターンにおいて、プレイヤが受信メールの表示画面の操作を行うと、プレイヤの操作に従って、表示画面がスクロールされたり、表示画面に代えて返信メールの作成画面が表示されたりする。また、第４パターンにおいて、プレイヤが返信（送信）メールの作成画面の操作を行うと、プレイヤの操作に従って、宛先および件名が入力または変更されたり、本文が入力されたり、返信メールまたは送信メールを送信することが指示されたりする。これらの場合には、電子メールについての操作に伴うクリック音がスピーカ２８から出力され、電子メールについての操作に伴う振動が振動モータ３２から提示される。
【００５５】
このように、この第１実施例では、異なる２つのプログラムから振動データが同時に入力される場合には、所定のルール（第１ルール）に従って、振動制御の優先度を示すための優先権（以下、「振動制御権」という）を付与するプログラムが決定され、振動制御を行う場合に、振動制御権が付与されたプログラムからの振動データを優先的に用いるようにしてある。また、異なる２つのプログラムから音声データが同時に入力される場合には、第１ルールとは異なる所定のルール（第２ルール）に従って、音出力の制御（音制御）を実行する権限（音出力権）を付与する１または複数のプログラムが決定され、複数のプログラムに音出力権が付与された場合には、各プログラムからの音声データの音量を調整して用いるようにしてある。
【００５６】
この第１実施例では、振動制御権は、基本的には、表示装置２４の表示面の最上部（最前面）に表示される画像に対応するプログラムに付与される。このため、図２（Ａ）に示す場合（第１パターン）においては、振動制御権はプログラム（１）に付与される。この場合、入力装置２０（コントローラ）からの入力情報を取得する権限（以下、「取得権」という）は、プログラム（１）が持っている。同様に、図２（Ｄ）に示す場合（第４パターン）においては、振動制御権はプログラム（２）付与される。この場合、取得権は、プログラム（２）が持っている。
【００５７】
ただし、図２（Ｂ）および図２（Ｃ）に示す場合のように、複数の画像（第１の画像および第２の画像）が表示装置２４の表示面に表示される場合には、いずれの画像に対応するプログラムに振動制御権が付与されるかは、取得権をいずれのプログラムが持っているかによって決定される。
【００５８】
このような第１ルールに従って、振動制御権が、実行（起動）中の１または複数のプログラムのうちの１つのプログラムに付与される。そして、後述するように、複数のプログラムから振動の発生要求が同時に入力された場合には、振動制御権を有するプログラムからの振動値に基づいて振動モータ３２が振動される。
【００５９】
また、音出力権は、基本的には、実行中のプログラムに付与される。また、実行中のプログラムが複数の場合には、音出力権は実行中の各プログラムに付与され、各プログラムから入力された音声データの音量を調整するための音量のバランスの情報が設定される。
【００６０】
このため、図２（Ａ）に示す場合（第１パターン）においては、音出力権はプログラム（１）に付与される。この場合、プログラム（１）の音声データがＤ／Ａ変換器２６を介してスピーカ２８に出力される。
【００６１】
また、図２（Ｂ）−図２（Ｄ）に示す場合（第２パターン−第４パターン）においては、音出力権はプログラム（１）およびプログラム（２）に付与される。これらの場合には、一例として、取得権に基づいて音量のバランス情報が設定される。音量のバランス情報は、取得権を有するプログラムの音声データの音量と取得権を有さないプログラムの音声データの音量との比（たとえば、４：１）で設定される。また、音量のバランス情報は、取得権に関係無く、各プログラムについて音量をどの程度の割合で調整するかを指定することによって設定されてもよい。たとえば、プログラム（１）の音声データについては音量をそのままにして（調整しないで）、プログラム（２）の音声データについては音量を２０％に調整することができる。
【００６２】
このような第２ルールに従って、音出力権が、実行（起動）中の１または複数のプログラムに付与され、音出力権が複数のプログラムに付与される場合には、さらに、音量のバランス情報が設定される。
【００６３】
なお、音出力権および音量のバランス情報を設定するための第２ルールは、振動制御権を設定する第１ルールとは異なるが、同じルールが採用されてもよい。
【００６４】
図３はゲーム装置１０の振動制御機能を説明するための機能ブロック図である。ゲーム装置１０には、複数のプログラムが記憶される。図３に示す例では、プログラムＡ、プログラムＢおよびプログラムＣがゲーム装置１０に記憶される。
【００６５】
ゲーム装置１０に記憶されたプログラムＡ−プログラムＣは、振動を提示する処理を含み、振動を提示する場合には、自身の識別情報（プログラムＩＤ）とともに、振動データを振動制御プロセスに入力する。マネージャは、各プログラムの起動、終了および状態遷移等を管理し、振動制御権を有するプログラムＩＤを振動制御プロセスに通知する。ただし、マネージャは、上述した第１ルールに従って、振動制御権を有するプログラムを決定する。振動制御プロセスは、複数（第１実施例では、２つ）のプログラムから振動データが同時に入力された場合には、振動制御権を有するプログラムのプログラムＩＤとともに入力された振動データに基づく制御信号（振動値）をモータドライバ３０に出力する。モータドライバ３０は、振動制御権を有するプログラムからの振動データに基づいて振動モータ３２を駆動する。
【００６６】
次にゲーム装置１０の音出力制御機能について説明する。図４はゲーム装置１０の音出力制御機能を説明するための機能ブロック図である。上述した振動制御プロセスとは別に音制御プロセスが実行される。プログラムＡ−プログラムＣは、音（音声、音楽）を出力する処理も含み、音を出力する場合には、自身の識別情報（プログラムＩＤ）とともに、音声データを音制御プロセスに入力する。マネージャは、音出力の制御（音制御）についての優先権（音出力権）を有するプログラムのプログラムＩＤとともに、音量のバランスの情報を音制御プロセスに通知する。ただし、マネージャは、上述した第２ルールに従って、音出力権を付与するプログラムを決定する。つまり、基本的には、実行中のプログラムに音出力権が付与され、複数のプログラムが実行される場合には、各プログラムから入力された音声データの音量を調整するための音量のバランス情報が設定される。音制御プロセスは、複数（２つ）のプログラムから同時に音の出力要求があると、つまり、２つの音声データが入力されると、音量のバランス情報に基づいて、各プログラムからの音声データの音量を調整し、調整した２つの音声データを混合した音声データをＤ／Ａ変換器２６に出力する。このため、スピーカ２８から出力される音声（音）がプレイヤに聞こえる。
【００６７】
図５は図１に示したＲＡＭ１４のメモリマップ３００の限定しない一例を示す図解図である。図５に示すように、ＲＡＭ１４は、プログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、各種プログラムが記憶される。各種プログラムは、ゲーム装置１０に電源が投入された後の適宜のタイミングでフラッシュメモリ１６からその一部または全部が読み出されてＲＡＭ１４に記憶される。
【００６８】
なお、各種プログラムは、フラッシュメモリ１６に代えて、ゲーム装置１０に着脱可能なメモリまたは光ディスクから取得されてもよいし、ゲーム装置１０が他の情報処理装置（コンピュータ）との通信機能を備える場合には、当該他の情報処理装置から、直接的にまたはネットワークを介して取得（ダウンロード）されてもよい。
【００６９】
図５に示すように、プログラム記憶領域３０２には、メイン処理プログラム３０２ａ、画像生成プログラム３０２ｂ、画像表示プログラム３０２ｃ、通信プログラム３０２ｄ、操作検出プログラム３０２ｅ、振動制御プログラム３０２ｆ、音出力制御プログラム３０２ｇ、第１プログラム３０２ｈ、第２プログラム３０２ｉおよび第３プログラム３０２ｊなどが記憶される。
【００７０】
メイン処理プログラム３０２ａは、ゲーム装置１０の動作のメインルーチンを処理するための処理プログラム（たとえば、オペレーティングシステム）である。画像生成プログラム３０２ｂは、ポリゴンデータやテクスチャデータなどのデータを含む画像生成用データ３０４ｄを用いて、表示装置２４に表示する画像に対応する画像データを生成するための生成プログラムである。画像表示プログラム３０２ｃは、画像生成プログラム３０２ｂに従って生成した画像データを表示装置２４に出力するための出力プログラムである。
【００７１】
通信プログラム３０２ｄは、他のゲーム装置１０またはコンピュータと通信するための通信プログラムである。操作検出プログラム３０２ｅは、入力装置２０からの操作データを検出し、操作データバッファ３０４ａに記憶するための検出プログラムである。
【００７２】
振動制御プログラム３０２ｆは、振動制御権を有する第１プログラム３０２ｈ、第２プログラム３０２ｉまたは第３プログラム３０２ｊから入力される振動データを用いて、振動モータ３２を駆動制御するための制御プログラムである。また、振動制御プログラム３０２ｆは、システムプログラムおよびアプリケーションプログラムの起動、停止および状態遷移などを管理するとともに、振動制御権を付与するシステムプログラムおよびアプリケーションプログラムを決定するための管理プログラムを含む。
【００７３】
音出力制御プログラム３０２ｇは、音出力権を有する第１プログラム３０２ｈ、第２プログラム３０２ｉおよび第３プログラム３０２ｊの少なくとも１つから入力される音声データを用いて音（音声、音楽）を出力する制御（音出力制御）のための制御プログラムである。また、音出力制御プログラム３０２ｇは、システムプログラムおよびアプリケーションプログラムの起動、停止および状態遷移などを管理するとともに、音出力権を付与するシステムプログラムおよびアプリケーションプログラムを決定するとともに、音量バランスの情報を設定するための管理プログラムを含む。
【００７４】
第１プログラム３０２ｈ−第３プログラム３０２ｊは、それぞれ、システムプログラムまたはアプリケーションプログラムである。第１プログラム３０２ｈ−第３プログラム３０２ｊは、図３および図４に示したプログラムＡ−プログラムＣに相当し、振動を発生する処理および音を出力する処理を含む。
【００７５】
なお、図示等は省略するが、プログラム記憶領域３０２には、第１プログラム３０２ｈ−第３プログラム３０２ｊなどを実行したことにより生成されたデータをフラッシュメモリ１６に保存するためのセーブプログラムなども記憶される。
【００７６】
また、プログラム記憶領域３０２には、第１プログラム３０２ｈ−第３プログラム３０２ｊを記憶するようにしてあるが、少なくとも１つのプログラムが記憶されていればよく、また、４つ以上のプログラムが記憶されていてもよい。
【００７７】
データ記憶領域３０４には、操作データバッファ３０４ａ、振動データバッファ３０４ｂ、音声データバッファ３０４ｃ、画像生成用データ３０４ｄ、振動制御権データ３０４ｅ、音出力権データ３０４ｆおよびバランス情報データ３０４ｇなどが記憶される。
【００７８】
操作データバッファ３０４ａは、操作検出プログラム３０２ｅによって検出された操作データを時系列に従って記憶する。振動データバッファ３０４ｂは、実行中の１または複数のプログラムから入力された振動データ（プログラムＩＤが付加されている）を記憶する。音声データバッファ３０４ｃは、実行中の１または複数のプログラムから入力された音声データ（プログラムＩＤが付与されている）を記憶する。
【００７９】
画像生成用データ３０４ｄは、表示装置２４に表示する画像（画面）に対応する画像データを生成するためのポリゴンデータおよびテクスチャデータなどのデータである。振動制御権データ３０４ｅは、実行中の１つまたは複数のプログラムにおいて、振動制御権を有する１つのプログラムを示すプログラムＩＤについてのデータである。音出力権データ３０４ｆは、実行中の１つまたは複数のプログラムにおいて、音出力権を有する１つまたは複数のプログラムを示すプログラムＩＤについてのデータである。バランス情報データ３０４ｇは、音出力権を有する複数のプログラムからの音声データの音量のバランスを調整するためのバランス情報（比率または割合）についてのデータである。
【００８０】
図示は省略するが、データ記憶領域３０４には、ゲーム装置１０の動作を制御するために、必要な他のデータが記憶されたり、必要なカウンタ（タイマ）が設けられたりする。
【００８１】
図６は図１に示したＣＰＵ１２の振動制御権の設定処理の限定しない一例を示すフロー図である。ＣＰＵ１２は、振動を提示する処理を有するアプリケーションが開始されたとき、当該アプリケーションで所定のイベントが発生されたときなどの所定のタイミングに応じて、振動制御権の設定処理を開始する。
【００８２】
図６に示すように、ＣＰＵ１２は、振動制御権の設定処理（マネージャの処理）を開始すると、ステップＳ１で、単独で起動されているプログラム（１）に入力装置２０の入力の取得権および振動制御権を付与する。ここでは、ＣＰＵ１２は、プログラム（１）を示す識別情報についての振動制御権データ３０４ｅをデータ記憶領域３０４に記憶する。以下、振動制御権を付与する場合について同様である。
【００８３】
次のステップＳ３では、２つ目のプログラム（２）が起動されているかどうかを判断する。ステップＳ３で“ＮＯ”であれば、つまり、２つ目のプログラム（２）が起動されていなければ、ステップＳ５で、プログラム（１）が起動中であるかどうかを判断する。
【００８４】
ステップＳ５で“ＮＯ”であれば、つまり、プログラム（１）が終了していれば、振動制御権の設定処理を終了する。一方、ステップＳ５で“ＹＥＳ”であれば、つまり、プログラム（１）が起動中であれば、ステップＳ１に戻る。
【００８５】
また、ステップＳ３で“ＹＥＳ”であれば、つまり、２つ目のプログラム（２）が起動されていれば、ステップＳ７で、２つ目のプログラム（２）の画面はプログラム（１）の画面の一部に表示されるかどうかを判断する。
【００８６】
ステップＳ７で“ＮＯ”であれば、つまり、図２（Ｄ）に示した第４パターンのように、プログラム（２）の画面がプログラム（１）の画面を覆って前面に表示されている場合には、ステップＳ９で、プログラム（２）に振動制御権を付与して、ステップＳ３に戻る。
【００８７】
一方、ステップＳ７で“ＹＥＳ”であれば、つまり、２つ目のプログラム（２）の画面がプログラム（１）の画面の一部に表示されている場合には、ステップＳ１１で、プログラム（２）が入力装置２０の入力の取得権を有しているかどうかを判断する。
【００８８】
ステップＳ１１で“ＹＥＳ”であれば、つまり、図２（Ｃ）に示した第３パターンのように、プログラム（２）が入力装置２０の入力の取得権を有している場合には、ステップＳ９に進む。一方、ステップＳ１１で“ＮＯ”であれば、つまり、図２（Ｂ）に示した第２パターンのように、プログラム（１）が入力装置２０の入力の取得権を有している場合には、ステップＳ１３で、プログラム（１）に振動制御権を付与して、ステップＳ３に戻る。
【００８９】
図７は図１に示したＣＰＵ１２の振動制御処理（振動制御プロセス）の限定しない一例を示すフロー図である。振動制御処理は、ゲーム装置１０の電源がオンされたとき、または、いずれかのプログラム（図３では、プログラムＡ、Ｂ、Ｃ）が開始されると、開始される。
【００９０】
図７に示すように、ＣＰＵ１２は、振動制御処理を開始すると、ステップＳ３１で、振動制御権データ３０４ｅを参照して、振動制御権を有するプログラムを確認する。次のステップＳ３３では、プログラム（１）から振動データを受け付けたかどうかを判断する。ステップＳ３３で“ＮＯ”であれば、つまり、プログラム（１）から振動データを受け付けていなければ、ステップＳ３９に進む。一方、ステップＳ３３で“ＹＥＳ”であれば、つまり、プログラム（１）から振動データを受け付けていれば、ステップＳ３５で、プログラム（１）が振動制御権を有するかどうかを判断する。
【００９１】
ステップＳ３５で“ＮＯ”であれば、つまり、プログラム（１）が振動制御権を有さなければ、ステップＳ３９に進む。一方、ステップＳ３５で“ＹＥＳ”であれば、つまり、プログラム（１）が振動制御権を有すれば、ステップＳ３７で、プログラム（１）からの振動データをモータドライバ３０に出力して、ステップＳ４５に進む。
【００９２】
ステップＳ３９では、プログラム（２）から振動データを受け付けたかどうかを判断する。ステップＳ３９で“ＮＯ”であれば、つまり、プログラム（２）から振動データを受け付けていなければ、ステップＳ４５に進む。一方、ステップＳ３９で“ＹＥＳ”であれば、つまり、プログラム（２）から振動データを受け付けていれば、ステップＳ４１で、プログラム（２）が振動制御権を有するかどうかを判断する。
【００９３】
ステップＳ４１で“ＮＯ”であれば、つまり、プログラム（２）が振動制御権を有さなければ、ステップＳ４５に進む。一方、ステップＳ４１で“ＹＥＳ”であれば、つまり、プログラム（２）が振動制御権を有すれば、ステップＳ４３で、プログラム（２）からの振動データをモータドライバ３０に出力して、ステップＳ４５に進む。
【００９４】
ステップＳ４５では、終了かどうかを判断する。ここでは、ＣＰＵ１２は、すべてのアプリケーションプログラムの実行を終了したかどうか、または、ゲーム装置１０の電源をオフするかどうかを判断する。ステップＳ４５で“ＮＯ”であれば、つまり、終了でなければ、ステップＳ３１に戻る。一方、ステップＳ４５で“ＹＥＳ”であれば、つまり、終了であれば、振動制御処理を終了する。
【００９５】
図８は図１に示すＣＰＵ１２の音出力権の設定処理の限定しない一例を示すフロー図である。以下、音出力権の設定処理について説明するが、図５に示した振動制御権の設定処理と同じ内容については、簡単に説明することにする。
【００９６】
ＣＰＵ１２は、音を出力する処理を有するプログラムが開始されたときなどの所定のタイミングに応じて、音出力権の設定処理を開始する。図８に示すように、ＣＰＵ１２は、音出力権の設定処理を開始すると、ステップＳ６１で、単独で起動されているプログラム（１）に入力装置２０の入力の取得権および音出力権を付与する。ここでは、ＣＰＵ１２は、プログラム（１）を示す識別情報についての音出力権データ３０４ｆをデータ記憶領域３０４に記憶する。以下、音出力権を付与する場合について同様である。
【００９７】
次のステップＳ６３では、２つ目のプログラム（２）が起動されているかどうかを判断する。ステップＳ６３で“ＮＯ”であれば、ステップＳ６５で、プログラム（１）が起動中であるかどうかを判断する。ステップＳ６５で“ＮＯ”であれば、音出力権の設定を終了する。一方、ステップＳ６５で“ＹＥＳ”であれば、ステップＳ６１に戻る。
【００９８】
また、ステップＳ６３で“ＹＥＳ”であれば、ステップＳ６７で、プログラム（２）の画面はプログラム（１）の画面の一部に表示されるかどうかを判断する。ステップＳ６７で“ＮＯ”であれば、ステップＳ６９で、プログラム（２）に入力装置２０の入力の取得権および音出力権を付与して、ステップＳ６３に戻る。一方、ステップＳ６７で“ＹＥＳ”であれば、ステップＳ７１で、プログラム（１）またはプログラム（２）に入力装置２０の入力の取得権を付与し、プログラム（１）およびプログラム（２）に音出力権を付与する。ＣＰＵ１２は、プログラムの起動、停止および状態遷移などを管理するため、ステップＳ７１では、管理する内容に応じてプログラム（１）またはプログラム（２）に取得権を付与する。そして、ステップＳ７３では、音量のバランス情報を設定して、ステップＳ６３に戻る。ステップＳ７３では、バランス情報データ３０４ｇがデータ記憶領域３０４に記憶される。
【００９９】
図９および図１０は図１に示したＣＰＵ１２の音制御処理（音制御プロセス）の限定しない一例を示すフロー図である。音制御処理は、ゲーム装置１０の電源がオンされたとき、または、いずれかのアプリケーションプログラムが開始されると、開始される。以下、音制御処理について説明するが、図６に示した振動制御権の設定処理と同じ内容については、簡単に説明することにする。
【０１００】
図９に示すように、ＣＰＵ１２は、音制御処理を開始すると、ステップＳ９１で、音出力権データ３０４ｆを参照して、音出力権を有するプログラムを確認する。次のステップＳ９３では、プログラム（１）から音声データを受け付けたかどうかを判断する。
【０１０１】
ステップＳ９３で“ＹＥＳ”であれば、ステップＳ９５で、プログラム（２）から音声データを受け付けたかどうかを判断する。ステップＳ９５で“ＮＯ”であれば、図１０に示すステップＳ１０９で、プログラム（１）は音出力権を有するかどうかを判断する。ステップＳ１０９で“ＮＯ”であれば、図９のステップＳ１０７に進む。一方、ステップＳ１０９で“ＹＥＳ”であれば、ステップＳ１１１で、プログラム（１）からの音声データをＤ／Ａ変換器２６に出力して、ステップＳ１０７に進む。
【０１０２】
一方、ステップＳ９５で“ＹＥＳ”であれば、ステップＳ９７で、プログラム（１）およびプログラム（２）が音出力権を有するかどうかを判断する。ステップＳ９７で“ＮＯ”であれば、つまり、プログラム（１）およびプログラム（２）の少なくとも一方が音出力権を有さない場合には、図１０に示すステップＳ１１３で、プログラム（１）は音出力権を有するかどうかを判断する。ステップＳ１１３で“ＮＯ”であれば、図９のステップＳ１０３に進む。一方、ステップＳ１１３で“ＹＥＳ”であれば、ステップＳ１１５で、プログラム（１）からの音声データをＤ／Ａ変換器２６に出力して、ステップＳ１０７に進む。
【０１０３】
また、ステップＳ９７で“ＹＥＳ”であれば、つまり、プログラム（１）およびプログラム（２）が音出力権を有する場合には、ステップＳ９９で、バランス情報データ３０４ｇが示す音量のバランス情報に基づいて、プログラム（１）からの音声データの音量およびプログラム（２）からの音声データの音量のバランスを調整し、音量を調整した２つの音声データを混合した音声データをＤ／Ａ変換器２６に出力して、ステップＳ１０７に進む。
【０１０４】
また、ステップＳ９３で“ＮＯ”であれば、ステップＳ１０１で、プログラム（２）から音声データを受け付けたかどうかを判断する。ステップＳ１０１で“ＮＯ”であれば、ステップＳ１０７に進む。一方、ステップＳ１０１で“ＹＥＳ”であれば、ステップＳ１０３で、プログラム（２）は音出力権を有するかどうかを判断する。ステップＳ１０３で“ＮＯ”であれば、ステップＳ１０７に進む。一方、ステップＳ１０３で“ＹＥＳ”であれば、ステップＳ１０５で、プログラム（２）からの音声データをＤ／Ａ変換器２６に出力して、ステップＳ１０７に進む。
【０１０５】
ステップＳ１０７では、終了かどうかを判断する。ステップＳ１０７で“ＮＯ”であれば、ステップＳ９１に戻る。一方、ステップＳ１０７で“ＹＥＳ”であれば、つまり、終了であれば、音制御処理を終了する。
【０１０６】
この第１実施例によれば、複数のプログラムから振動の発生要求および音の出力要求がある場合に、プログラムに付与された振動制御権に基づいて振動を発生させるとともに、プログラムに付与された音出力権および音量のバランス情報に基づいて音を出力するので、振動のみならず、音についても適切に提示することができる。
【０１０７】
なお、この第１実施例では、プログラムＡ、プログラムＢおよびプログラムＣのうちの２つのプログラム（プログラム（１）および（２））が実行されている場合に、振動データが同時に入力されると、つまり、同時に振動の発生要求があると、振動制御権が付与されたプログラム（１）またはプログラム（２）からの振動データに基づいて振動モータが駆動される場合について説明したが、これに限定される必要はない。３つ以上のプログラムが実行されている場合には、所定のルールに従って各プログラムに振動制御の優先度をそれぞれ設定し、複数のプログラムから同時に振動の発生要求があると、優先度の最も高いプログラムからの振動データに基づいて振動モータが駆動される。
【０１０８】
また、この第１実施例では、振動制御権を有するプログラムからの振動データに基づいて振動モータを駆動するようにしたが、これに限定される必要はない。場合によっては、複数のプログラムに振動制御権を付与するとともに振動を混合する割合を設定し、振動制御権を有する複数のプログラムからの振動データを設定された割合で混合し、混合した振動データに基づいて振動モータを駆動するようにしてもよい。
【０１０９】
さらに、第１実施例では、音声（音）をスピーカ２８から出力する場合についてのみ説明してあるが、音声（音）を、イヤホンジャックを介してイヤホンに出力することもできる。
【０１１０】
さらにまた、第１実施例では、複数のプログラムから音声データの出力要求がある場合には、取得権を有するプログラムの音声データの音量と取得権を有さないプログラムの音声データの音量を調整して、それらの音声データを混合してＤ／Ａ変換器２６に出力するようにしたが、これに限定される必要はない。たとえば、取得権を有するプログラムから入力された音声データをフェードインし、取得権を有さないプログラムから入力された音声データをフェードアウトするように設定してもよい。かかる場合には、音制御プロセスは、フェードインする音声データの音量とフェードアウトする音声データの音量を調整して、それらの音声データを混合してＤ／Ａ変換器２６に出力する。ただし、フェードインするプログラムおよびフェードアウトするプログラムは、マネージャから音制御プロセスに通知される。
【０１１１】
また、第１実施例では、振動の発生および音の出力の両方を行う場合について説明したが、振動の発生または音の出力を行うようにしてもよい。
［第２実施例］
第２実施例のゲーム装置１０は、据置型のゲーム装置であり、入力装置２０に代えてゲーム装置１０の本体にコントローラ２００が通信可能に接続され、コントローラ２００において振動を発生させるようにした以外は、第１実施例と同様であるため、重複した説明は省略する。
【０１１２】
図１１に示すように、ゲーム装置１０には、コントローラ２００のような所定の端末が通信可能に接続されるとともに、テレビジョン受像機５０が接続される。ゲーム装置１０、複数のコントローラ２００およびテレビジョン受像機５０をまとめてゲームシステム１００と呼ぶ。また、２つのコントローラ２００を区別する必要がある場合には、一方のコントローラ２００を第１コントローラ２００ａと呼び、他方のコントローラ２００を第２コントローラ２００ｂと呼ぶことがある。
【０１１３】
第２実施例では、コントローラ２００において振動を発生させるため、図１に示したモータドライバ３０および振動モータ３２はコントローラ２００に設けられる。
【０１１４】
なお、図１１では、２つのコントローラ２００がゲーム装置１０に通信可能に接続されるが、コントローラ２００は１つでもよく、また、３つ以上でもよい。
【０１１５】
図１１に示すゲームシステム１００では、ゲーム装置１０に、１または複数のコントローラ２００が無線で通信可能に接続されるため、ゲーム装置１０には、コントローラ２００と無線で通信するためのコントローラ通信モジュール３４が設けられる。たとえば、コントローラ通信モジュール３４は、Ｂｌｕｅｔｏｏｔｈ（登録商標）の形式に従う無線通信を行う。ただし、Ｗｉ−Ｆｉまたは赤外線のような他の形式に従う無線通信を行うようにしてもよい。図１１に示すように、第２実施例では、コントローラ２００からゲーム装置１０に操作データが送信され、ゲーム装置１０からコントローラ２００に振動データが送信される。つまり、ゲームシステム１００は振動制御システムとしても機能する。
【０１１６】
なお、図１１に示す例では、ゲーム装置１０は、コントローラ２００と無線で通信するようにしてあるが、有線で通信するようにしてもよい。
【０１１７】
また、図１１に示すゲームシステム１００では、ゲーム装置１０は、テレビジョン受像機５０に接続されるため、ゲーム装置１０の表示装置２４は省略され、ＡＶ−ＩＣ３６が設けられる。ＡＶ−ＩＣ３６は、表示ドライバ２２から入力される画像（映像）データおよびＣＰＵ１２から入力される音声データをテレビジョン受像機５０に出力する。したがって、ゲーム装置１０で実行されるプログラムの画面はテレビモニタに表示されるとともに、そのプログラムの実行中に発生される音声（音）はテレビジョン受像機５０のスピーカから出力される。
【０１１８】
図１２は図１１に示すコントローラ２００の電気的な構成の限定しない一例を示すブロック図である。図１２に示すように、コントローラ２００は、コントローラ制御部７０を含み、コントローラ制御部７０には、無線通信モジュール７２、入力装置７４およびモータドライバ３０が接続される。また、モータドライバ３０には、振動モータ３２が接続される。
【０１１９】
コントローラ制御部７０は、たとえば、汎用のマイクロコンピュータであり、プロセッサおよびメモリなどの回路コンポーネントを含む。コントローラ制御部７０に含まれるプロセッサは、ゲーム装置１０との間におけるデータの送受信を制御する。また、コントローラ制御部７０に設けられるＲＯＭにコントローラ２００を識別するための識別情報が記憶される。
【０１２０】
無線通信モジュール７２は、ゲーム装置１０に設けられたコントローラ通信モジュール３４との間で通信するための通信回路であり、コントローラ通信モジュール３４と同じＢｌｕｅｔｏｏｔｈ（登録商標）の方式に従って通信する。ただし、コントローラ通信モジュール３４が他の方式に従う無線通信を実行する場合には、無線通信モジュール７２も同様に他の方式に従う無線通信を実行するものが使用される。
【０１２１】
入力装置７４は、図示は省略するが、コントローラ２００に設けられた各種の操作ボタンないしスイッチ、ジョイスティックまたは／およびスライドパットを含み、プレイヤの操作に応じた操作データをコントローラ制御部７０に入力する。コントローラ制御部７０は、無線通信モジュール７２を用いて、入力装置７４から入力された操作データを所定時間毎のタイミングでゲーム装置１０に送信する。操作データには、コントローラ２００の識別情報が付加される。
【０１２２】
また、ゲーム装置１０から送信される振動データはコントローラ通信モジュール３４で受信され、コントローラ制御部７０に入力される。コントローラ制御部７０は、入力された振動データをモータドライバ３０に出力する。モータドライバ３０は、振動データに基づいて駆動信号を生成し、生成した駆動信号を振動モータ３２に与える。このため、振動モータ３２は、振動データに従って動作する。したがって、振動モータ３２が駆動することにより発生した振動がコントローラ２００を把持するプレイヤに伝達される。
【０１２３】
なお、コントローラ２００に送信される振動データは、ゲーム装置１０のＣＰＵ１２（振動制御プロセス）から出力される振動データと同じである。
【０１２４】
図１３は第２実施例におけるゲーム装置１０の振動制御機能を説明するための機能ブロック図である。第２実施例では、複数のコントローラ２００が接続されるため、プログラムは、プログラムＩＤおよび振動データに加えて、振動させる（振動データを送信する）対象のコントローラの識別情報を振動制御プロセスに入力する。振動制御プロセスは、マネージャから通知されるプログラムＩＤに対応するプログラムの振動データを第１コントローラ２００ａまたは／および第２コントローラ２００ｂに送信する。振動データの送信先のコントローラ２００は、プログラムから振動制御プロセスに入力される対象コントローラに従って決定される。
【０１２５】
ただし、コントローラ２００の識別情報は、コントローラ２００をゲーム装置１０に接続（リンク処理）したときに、コントローラ２００からゲーム装置１０に送信（通知）される。
【０１２６】
図示は省略するが、第２実施例においても、図５に示したフロー図に従って振動制御権の設定処理が実行される。また、第２実施例においても、図６に示したフロー図に従って振動制御処理が実行される。ただし、上述したように、振動を提示する対象のコントローラ２００は、プログラムから指定される。
【０１２７】
第２実施例によれば、ゲーム装置に通信可能に接続されるコントローラを振動させる場合にも、第１実施例と同様に、適切に振動を提示することができる。
【０１２８】
なお、第２実施例では、据置型のゲーム装置を用いる場合について説明したが、コントローラ（入力装置）にモータドライバおよび振動モータを設けるようにすれば、アーケードゲームおよびゲーム機能を有するＰＣを用いることもできる。
【０１２９】
また、上記の各実施例で示した具体的な装置の構成および具体的な数値は一例であり、実際の製品に応じて適宜変更可能である。たとえば、図６−図９に示すフロー図は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。
【符号の説明】
【０１３０】
１０  …ゲーム装置
１２  …ＣＰＵ
１４  …ＲＡＭ
１６  …フラッシュメモリ
１８  …無線通信モジュール
２０  …入力装置
２４  …表示装置
２８  …スピーカ
３２  …振動モータ
３４  …コントローラ通信モジュール
３６  …ＡＶ−ＩＣ
１００  …ゲームシステム
２００  …コントローラ
【図１】
2018110709.tif 000003
【図２】
2018110709.tif 000004
【図３】
2018110709.tif 000005
【図４】
2018110709.tif 000006
【図５】
2018110709.tif 000007
【図６】
2018110709.tif 000008
【図７】
2018110709.tif 000009
【図８】
2018110709.tif 000010
【図９】
2018110709.tif 000011
【図１０】
2018110709.tif 000012
【図１１】
2018110709.tif 000013
【図１２】
2018110709.tif 000014
【図１３】
2018110709.tif 000015
【手続補正書】
【提出日】平成30年2月5日(2018.2.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
たとえば、振動モータ３２は、リニアモータであり、音声信号のようなアナログ信号（駆動信号）の入力波形（振動波形）に応じたパターンで出力（振動）する。ただし、この第１実施例では、振動データは、アナログ信号（振動信号）の各時点の信号値（周波数および振幅）に対応する周波数の値と振幅に対応する電圧値の組についてのデータである。振動モータ３２としてのリニアモータは、振動信号の各時点での信号値に応じて、振動データが示す電圧値を、振動データが示す周波数で増減するように印加することで、内部の錘の位置を変えることにより、入力波形に応じたパターンで出力する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
なお、上記の例では、プログラム（２）が入力情報を受け取る必要が無い場合について説明したが、プログラム（２）が入力情報を受け取るようにしてもよい。たとえば、ゲーム画面の一部に通知画像が表示され、通知音がスピーカ２８から出力されたときに、一時的に、プレイヤからの入力情報を、プログラム（１）ではなくプログラム（２）が受け取るようにしてもよい。この場合、プレイヤがボタン押下等の入力操作を行うまでの間、ゲーム（プログラム（１））についての操作は受け付けられない。つまり、プログラム（１）は入力情報を取得できず、プログラム（２）が入力情報を取得する。この間、ゲームの音が低減される、または、出力されない。ボタンが操作されると、通知画像が非表示にされ、その後は、プログラム（１）が入力情報を取得する。これによって、プログラム（２）についての通知（通知画像）をプレイヤに確実に認識させることができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
第３パターンでは、プログラム（１）に並行してプログラム（２）が実行され、図２（Ｃ）に示すように、プログラム（２）についての第２の画像が、第１の画像の一部であり、第１の画像の略下半分を覆うように表示される。たとえば、図２（Ｃ）に示す第１の画像は、ゲーム画面である。一方、図２（Ｃ）に示す第２の画像は、受信メールの表示画面または返信（送信）メールの作成画面である。ただし、返信（送信）メールの作成画面が表示される場合には、ソフトウェアキーボードも表示される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
図８は図１に示すＣＰＵ１２の音出力権の設定処理の限定しない一例を示すフロー図である。以下、音出力権の設定処理について説明するが、図６に示した振動制御権の設定処理と同じ内容については、簡単に説明することにする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１２６
【補正方法】変更
【補正の内容】
【０１２６】
図示は省略するが、第２実施例においても、図６に示したフロー図に従って振動制御権の設定処理が実行される。また、第２実施例においても、図７に示したフロー図に従って振動制御処理が実行される。ただし、上述したように、振動を提示する対象のコントローラ２００は、プログラムから指定される。