(57)【要約】  【課題】  仮想音源と仮想マイクとの相対速度に基づくドップラー効果を、ユーザが知覚しやすくすること。  【解決手段】  音声処理プログラムは、ＣＰＵ３１に、音声を出力するための音声データを取得する音声取得ステップと、音声を出力する仮想音源１０２と仮想音源１０２から出力された音声を仮想的に聴取する仮想マイク１０１とがそれぞれ設定された仮想空間において、仮想音源１０２及び／又は仮想マイク１０１を移動させる移動ステップと、音声データの音声に対して、当該音声が仮想音源１０２から出力されたときに仮想マイク１０１にて仮想的に観測されるドップラー効果を、仮想音源１０２の速度及び／又は仮想マイク１０１の速度の大きさに制限を加えた値を用いた演算によって加えることで、修正音声を生成する音声修正ステップと、修正音声を出力する修正音声出力ステップとを実行させる。【選択図】  図６
2018023601.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
音声を出力するための音声データを取得する音声取得ステップと、
仮想空間内において、音声を仮想的に発生する仮想音源と、前記仮想音源から仮想的に発生された音声を仮想的に聴取する仮想マイクとをそれぞれ設定する設定ステップと、
前記仮想空間において、前記仮想音源及び／又は前記仮想マイクを移動させる移動ステップと、
前記音声データの音声に対して、当該音声が前記仮想音源から仮想的に発生されたときに前記仮想マイクにて仮想的に観測されるドップラー効果を、前記仮想音源の速度及び／又は前記仮想マイクの速度の大きさに制限を加えた値を用いた演算によって加えることで、修正音声を生成する音声修正ステップと、
前記修正音声を出力する修正音声出力ステップと、
を実行させる音声処理プログラム。
【請求項２】
前記仮想空間における前記仮想音源の位置は、前記仮想空間における第１のオブジェクトの位置に関連付けられ、
前記仮想空間における前記仮想マイクの位置は、前記仮想空間における第２のオブジェクトの位置に関連付けられる、
請求項１に記載の音声処理プログラム。
【請求項３】
前記第２のオブジェクトは、ユーザの操作に基づいて前記仮想空間内を移動するプレイヤオブジェクトである請求項２に記載の音声処理プログラム。
【請求項４】
前記制限は、前記仮想音源と前記仮想マイクとの相対速度が所定の上限値を超える場合に、前記相対速度の大きさを前記上限値にすることである請求項１ないし３のいずれかに記載の音声処理プログラム。
【請求項５】
前記制限は、前記仮想音源の速度が所定の上限値を超える場合に、前記仮想音源の速度の大きさを前記上限値にすることである請求項１ないし３のいずれかに記載の音声処理プログラム。
【請求項６】
前記制限は、前記仮想マイクの速度が所定の上限値を超える場合に、前記仮想マイクの速度の大きさを前記上限値にすることである請求項１ないし３のいずれかに記載の音声処理プログラム。
【請求項７】
前記制限は、前記仮想音源の速度が所定の上限値を超える場合に、前記仮想音源の速度の大きさを前記上限値にし、かつ、前記仮想マイクの速度が所定の上限値を超える場合に、前記仮想マイクの速度の大きさを前記上限値にすることである請求項１ないし３のいずれかに記載の音声処理プログラム。
【請求項８】
コンピュータに、
情報を出力するためのデータを取得する音声取得ステップと、
仮想空間内において、情報を仮想的に出力する仮想出力源と前記仮想出力源から仮想的に出力された情報を仮想的に観測する仮想観測点とをそれぞれ設定する設定ステップと、
前記仮想空間において、前記仮想出力源及び／又は前記仮想観測点を移動させる移動ステップと、
前記情報に対して、当該情報が前記仮想出力源から仮想的に出力されたときに前記仮想観測点にて仮想的に観測される、前記値を用いた効果を、前記仮想出力源の速度及び／又は前記仮想観測点の速度の大きさに制限を加えた値を用いた演算によって加えることで、修正情報を生成する情報修正ステップと、
前記修正情報を出力する修正情報出力ステップと、
を実行させる情報処理プログラム。
【請求項９】
音声を出力するための音声データを取得する音声取得ステップと、
仮想空間内において、音声を仮想的に発生する仮想音源と前記仮想音源から仮想的に発生された音声を仮想的に聴取する仮想マイクとをそれぞれ設定する設定ステップと、
前記仮想空間において、前記仮想音源及び／又は前記仮想マイクを移動させる移動ステップと、
前記音声データの音声に対して、当該音声が前記仮想音源から仮想的に発生されたときに前記仮想マイクにて仮想的に観測されるドップラー効果を、前記仮想音源の速度及び／又は前記仮想マイクの速度の大きさに制限を加えた値を用いた演算によって加えることで、修正音声を生成する音声修正ステップと、
前記修正音声を出力する修正音声出力ステップと、
を含む音声処理方法。
【請求項１０】
ユーザが操作入力をするためのコントローラと、
音声を出力するための音声データを記憶した記憶部と、
音声を仮想的に発生する仮想音源と前記仮想音源から仮想的に発生された音声を仮想的に聴取する仮想マイクとをそれぞれ設定する設定部と、
前記仮想空間において、前記コントローラに入力された操作入力に基づいて少なくとも前記仮想マイクを移動させる移動処理部と、
前記音声データの音声に対して、当該音声が前記仮想音源から仮想的に発生されたときに前記仮想マイクにて仮想的に観測されるドップラー効果を、前記仮想音源の速度及び／又は前記仮想マイクの速度の大きさに制限を加えた値を用いた演算によって加えることで、修正音声を生成する音声修正部と、
前記修正音声を出力するスピーカと、
を備えた音声処理装置。
【請求項１１】
ユーザが操作入力をするためのコントローラと、音声を出力するための音声データを記憶した記憶部と、音声を出力するためのスピーカと、にそれぞれ接続されたコンピュータに、
仮想空間内において、少なくとも第１のオブジェクト及び第２のオブジェクトを設定する設定ステップと、
前記仮想空間内における前記第２のオブジェクトの移動の指示を前記コントローラから受け付ける移動指示受付ステップと、
前記仮想空間内において、前記第２オブジェクトから所定の距離内にある前記第１オブジェクトに関連付けられた前記音声データを前記記憶部から読み出す読出ステップと、
音声を出力するための音声データを取得する音声取得ステップと、
前記移動の指示に応じて、前記第２のオブジェクトを移動させる移動ステップと、
読み出した前記音声データの音声に対して、当該音声が前記第１オブジェクトから仮想的に発生されたときに前記第２オブジェクトにて仮想的に観測されるドップラー効果を、前記第１オブジェクトの速度及び／又は前記第２オブジェクトの速度の大きさに制限を加えた値を用いた演算によって加えることで、修正音声を生成する音声修正ステップと、
前記修正音声を前記スピーカに出力させる修正音声出力ステップと、
を実行させるゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間を提供するとともに、仮想空間における音声ないし情報を出力する音声処理プログラム、情報処理プログラム、音声処理方法、音声処理装置、及びゲームプログラムに関するものである。
【背景技術】
【０００２】
仮想空間内に仮想的に音声を発生するオブジェクトと、ユーザの操作によって動作するプレイヤオブジェクトとが設定されたゲームにおいて、プレイヤオブジェクトが音声を発生するオブジェクトを横切るときに、プレイヤオブジェクトによって仮想的に観測されるドップラー効果を加えて、音声を出力するゲームが知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９４２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来のゲームでは、仮想音源である攻撃オブジェクトと聴取位置であるプレイヤオブジェクトとの距離に基づいて疑似的にドップラー効果を加えているだけであるので、実際とは異なる効果になり、また、対応できない状況がある可能性もある。
【０００５】
一方、物理法則通りに演算を行うと、ゲームにおいてはオブジェクトの移動速度が現実にはありえないほど高速になることもあり、そのような場合には、現実には聞く機会がないほどにドップラー効果がかかるため違和感が生じ、はなはだしい場合にはドップラー効果であると知覚できない可能性もある。したがって、意図した演出効果が十分に得られない可能性がある。
【０００６】
本発明は、仮想的な出力源と仮想的な観測点との相対速度に基づく効果（例えば、仮想音源と仮想マイクとの相対速度に基づくドップラー効果）について、ユーザがそのような効果を知覚しやすくすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様の音声処理プログラムは、コンピュータに、音声を出力するための音声データを取得する音声取得ステップと、仮想空間内において、音声を仮想的に発生する仮想音源と、前記仮想音源から仮想的に発生された音声を仮想的に聴取する仮想マイクとをそれぞれ設定する設定ステップと、前記仮想空間において、前記仮想音源及び／又は前記仮想マイクを移動させる移動ステップと、前記音声データの音声に対して、当該音声が前記仮想音源から仮想的に発生されたときに前記仮想マイクにて仮想的に観測されるドップラー効果を、前記仮想音源の速度及び／又は前記仮想マイクの速度の大きさに制限を加えた値を用いた演算によって加えることで、修正音声を生成する音声修正ステップと、前記修正音声を出力する修正音声出力ステップとを実行させる構成を有している。
【０００８】
この構成により、仮想音源の速度及び／又は仮想マイクの速度の大きさに制限を加えた値を用いてドップラー効果が加えられるので、仮想音源の速度及び／又は仮想マイクの速度が大きくなりすぎてユーザがドップラー効果を知覚できないという問題を軽減できる。
【０００９】
上記の音声処理プログラムにおいて、前記仮想空間における前記仮想音源の位置は、前記仮想空間における第１のオブジェクトの位置に関連付けられてよく、前記仮想空間における前記仮想マイクの位置は、前記仮想空間における第２のオブジェクトの位置に関連付けられてよい。
【００１０】
この構成により、第１オブジェクトから発せられている音声を第２オブジェクトにおいて仮想的に聴取した場合の音響効果を得ることができる。
【００１１】
上記の音声処理プログラムにおいて、前記第２のオブジェクトは、ユーザの操作に基づいて前記仮想空間内を移動するプレイヤオブジェクトであってよい。
【００１２】
この構成により、ユーザの操作によって第２オブジェクトが移動する（速度を持つ）場合のドップラー効果を得ることができる。
【００１３】
上記の音声処理プログラムにおいて、前記制限は、前記仮想音源と前記仮想マイクとの相対速度が所定の上限値を超える場合に、前記相対速度の大きさを前記上限値にすることであってよい。
【００１４】
上記の音声処理プログラムにおいて、前記制限は、前記仮想音源の速度が所定の上限値を超える場合に、前記仮想音源の速度の大きさを前記上限値にすることであってもよい。
【００１５】
上記の音声処理プログラムにおいて、前記制限は、前記仮想マイクの速度が所定の上限値を超える場合に、前記仮想マイクの速度の大きさを前記上限値にすることであってもよい。
【００１６】
上記の音声処理プログラムにおいて、前記制限は、前記仮想音源の速度が所定の上限値を超える場合に、前記仮想音源の速度の大きさを前記上限値にし、かつ、前記仮想マイクの速度が所定の上限値を超える場合に、前記仮想マイクの速度の大きさを前記上限値にすることであってもよい。
【００１７】
本発明の一態様の情報処理プログラムは、コンピュータに、情報を出力するためのデータを取得する音声取得ステップと、仮想空間内において、情報を仮想的に出力する仮想出力源と前記仮想出力源から仮想的に出力された情報を仮想的に観測する仮想観測点とをそれぞれ設定する設定ステップと、前記仮想空間において、前記仮想出力源及び／又は前記仮想観測点を移動させる移動ステップと、前記情報に対して、当該情報が前記仮想出力源から仮想的に出力されたときに前記仮想観測点にて仮想的に観測される、前記値を用いた効果を、前記仮想出力源の速度及び／又は前記仮想観測点の速度の大きさに制限を加えた値を用いた演算によって加えることで、修正情報を生成する情報修正ステップと、前記修正情報を出力する修正情報出力ステップとを実行させる構成を有していてよい。
【００１８】
この構成によれば、仮想出力源の速度及び／又は仮想観測点の速度の大きさに制限を加えた値を用いて、情報に対して相対速度効果が加えられるので、仮想出力源の速度及び／又は仮想観測点の速度が大きくなりすぎてユーザが相対速度効果を知覚できないという問題を軽減できる。
【００１９】
本発明の一態様の音声処理方法は、音声を出力するための音声データを取得する音声取得ステップと、仮想空間内において、音声を仮想的に発生する仮想音源と前記仮想音源から仮想的に発生された音声を仮想的に聴取する仮想マイクとをそれぞれ設定する設定ステップと、前記仮想空間において、前記仮想音源及び／又は前記仮想マイクを移動させる移動ステップと、前記音声データの音声に対して、当該音声が前記仮想音源から仮想的に発生されたときに前記仮想マイクにて仮想的に観測されるドップラー効果を、前記仮想音源の速度及び／又は前記仮想マイクの速度の大きさに制限を加えた値を用いた演算によって加えることで、修正音声を生成する音声修正ステップと、前記修正音声を出力する修正音声出力ステップとを含む構成を有している。
【００２０】
この構成によっても、仮想音源の速度及び／又は仮想マイクの速度の大きさに制限を加えた値を用いてドップラー効果が加えられるので、仮想音源の速度及び／又は仮想マイクの速度が大きくなりすぎてユーザがドップラー効果を知覚できないという問題を軽減できる。
【００２１】
本発明の一態様の音声処理装置は、ユーザが操作入力をするためのコントローラと、音声を出力するための音声データを記憶した記憶部と、音声を仮想的に発生する仮想音源と前記仮想音源から仮想的に発生された音声を仮想的に聴取する仮想マイクとをそれぞれ設定する設定部と、前記仮想空間において、前記コントローラに入力された操作入力に基づいて少なくとも前記仮想マイクを移動させる移動処理部と、前記音声データの音声に対して、当該音声が前記仮想音源から仮想的に発生されたときに前記仮想マイクにて仮想的に観測されるドップラー効果を、前記仮想音源の速度及び／又は前記仮想マイクの速度の大きさに制限を加えた値を用いた演算によって加えることで、修正音声を生成する音声修正部と、前記修正音声を出力するスピーカとを備えた構成を有している。
【００２２】
この構成によっても、仮想音源の速度及び／又は仮想マイクの速度の大きさに制限を加えた値を用いてドップラー効果が加えられるので、仮想音源の速度及び／又は仮想マイクの速度が大きくなりすぎてユーザがドップラー効果を知覚できないという問題を軽減できる。
【００２３】
本発明の一態様のゲームプログラムは、ユーザが操作入力をするためのコントローラと、音声を出力するための音声データを記憶した記憶部と、音声を出力するためのスピーカと、にそれぞれ接続されたコンピュータに、仮想空間内において、少なくとも第１のオブジェクト及び第２のオブジェクトを設定する設定ステップと、前記仮想空間内における前記第２のオブジェクトの移動の指示を前記コントローラから受け付ける移動指示受付ステップと、前記仮想空間内において、前記第２オブジェクトから所定の距離内にある前記第１オブジェクトに関連付けられた前記音声データを前記記憶部から読み出す読出ステップと、音声を出力するための音声データを取得する音声取得ステップと、前記移動の指示に応じて、前記第２のオブジェクトを移動させる移動ステップと、読み出した前記音声データの音声に対して、当該音声が前記第１オブジェクトから仮想的に発生されたときに前記第２オブジェクトにて仮想的に観測されるドップラー効果を、前記第１オブジェクトの速度及び／又は前記第２オブジェクトの速度の大きさに制限を加えた値を用いた演算によって加えることで、修正音声を生成する音声修正ステップと、前記修正音声を前記スピーカに出力させる修正音声出力ステップととを実行させる構成を有している。
【００２４】
この構成によっても、仮想音源の速度及び／又は仮想マイクの速度の大きさに制限を加えた値を用いてドップラー効果が加えられるので、仮想音源の速度及び／又は仮想マイクの速度が大きくなりすぎてユーザがドップラー効果を知覚できないという問題を軽減できる。
【発明の効果】
【００２５】
本発明によれば、仮想音源の速度及び／又は仮想マイクの速度の大きさに制限を加えた値を用いてドップラー効果が加えられるので、仮想音源の速度及び／又は仮想マイクの速度が大きくなりすぎてユーザがドップラー効果を知覚できないという問題を軽減できる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施の形態のゲームシステムの一例において、本体装置に左コントローラ及び右コントローラを装着した状態を示す図
【図２】本発明の実施の形態の本体装置から左コントローラ及び右コントローラをそれぞれ外した状態の一例を示す図
【図３】本発明の実施の形態の本体装置の内部の主要な構成の一例を示すブロック図
【図４】本発明の実施の形態のゲームシステムの内部の主要な構成の一例を示すブロック図
【図５】本発明の実施の形態のゲーム画面の例を示す図
【図６】本発明の実施の形態の仮想音源と仮想マイクとの仮想空間における位置関係及び速度の関係を示す図
【図７】本発明の実施の形態の仮想音源の速度の仮想マイク方向成分の時間変化を示すグラフ
【図８】仮想音源の速度のマイク方向成分の時間変化を示すグラフ
【図９】本発明の実施の形態の仮想音源と仮想マイクとの仮想空間における位置関係及び速度の関係を示す図
【図１０】本発明の実施の形態の仮想音源と仮想マイクとの仮想空間における位置関係及び速度の関係を示す図
【図１１】本発明の実施の形態の仮想音源と仮想マイクとの仮想空間における位置関係及び速度の関係を示す図
【図１２】本発明の実施の形態の仮想音源と仮想マイクとの仮想空間における位置関係及び速度の関係を示す図
【発明を実施するための形態】
【００２７】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【００２８】
以下、本実施形態の一例に係るゲーム処理装置、ゲームシステム、及びゲームプログラムについて説明する。本実施形態では、ゲームシステム１は、本体装置（ゲーム処理装置）２と左コントローラ４及び右コントローラ６とを含んで構成される。また、ゲームシステム１の他の態様は、上記の構成にクレードルを加えて構成されることもある。本実施形態のゲームシステム１において、本体装置２に対して左コントローラ４及び右コントローラ６が着脱可能であり、左コントローラ４及び右コントローラ６をそれぞれ本体装置２に装着して一体化された装置として利用でき（図１参照）、また、本体装置２と左コントローラ４及び右コントローラ６とを別体として利用することもできる（図２参照）。また、ゲームシステム１は、本体装置２に画像を表示する態様での利用と、テレビ等の他の表示装置に画像を表示させる態様での利用が可能である。前者の態様において、ゲームシステム１は、携帯型装置（例えば、携帯ゲーム機）として利用することができる。また、後者の態様において、ゲームシステム１は、据置型装置（例えば、据置型ゲーム機）として利用することができる。
【００２９】
図１は、本実施形態におけるゲームシステム１の一例において、本体装置２に左コントローラ４及び右コントローラ６を装着した状態を示す図である。図１に示すように、ゲームシステム１は、本体装置２と、左コントローラ４と、右コントローラ６とを含む。左コントローラ４及び右コントローラ６は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理を実行する装置である。本体装置２は、ディスプレイ２２を備える。左コントローラ４及び右コントローラ６は、ユーザが入力を行うための操作部を備える装置である。
【００３０】
図２は、本体装置２から左コントローラ４及び右コントローラ６をそれぞれ外した状態の一例を示す図である。図１及び図２に示すように、左コントローラ４及び右コントローラ６は、本体装置２に着脱可能である。左コントローラ４は、本体装置２の左側面（図１に示すｘ軸正方向側の側面）に装着することができ、本体装置２の左側面に沿って図１に示すｙ軸方向にスライドさせることによって本体装置２に着脱可能となっている。また、右コントローラ６は、本体装置２の右側面（図１に示すｘ軸負方向側の側面）に装着することができ、本体装置２の右側面に沿って図１に示すｙ軸方向にスライドさせることによって本体装置２に着脱可能となっている。
【００３１】
図３は、本体装置２の内部の主要な構成の一例を示すブロック図である。本体装置２の構成要素のいくつかは、電子部品として電子回路基板上に実装されてハウジング２１内に収納されてもよい。図４は、ゲームシステム１の内部の主要な構成の一例を示すブロック図である。なお、ゲームシステム１のうちの本体装置２に関する内部構成の詳細については、図３で示しているため図４では省略している。以下、図１ないし図４を参照して、ゲームシステム１の外観構成及び内部構成を説明する。
【００３２】
［ゲームシステム１の外観構成］
（本体装置２）
まず、主に図１及び図２を参照して、ゲームシステム１の外観構成を説明する。本体装置２は、略板状のハウジング２１を備える。本実施形態において、ハウジング２１の主面（換言すれば、表側の面、すなわち、ディスプレイ２２が設けられる面）は、大略的には矩形形状である。本実施形態においては、ハウジング２１は、横長の形状であるものとする。つまり、本実施形態においては、ハウジング２１の主面の長手方向（すなわち、図１に示すｘ軸方向）を横方向（左右方向とも言う）と呼び、当該主面の短手方向（すなわち、図１に示すｙ軸方向）を縦方向（上下方向とも言う）と呼び、主面に垂直な方向（すなわち、図１に示すｚ軸方向）を奥行方向（前後方向とも言う）と呼ぶこととする。本体装置２は、本体装置２が横長となる向きで利用されることが可能である。また、本体装置２が縦長となる向きで利用されることも可能である。その場合には、ハウジング２１を縦長の形状であるものと見なしてもよい。
【００３３】
なお、ハウジング２１の形状及び大きさは、任意である。一例として、ハウジング２１は、携帯可能な大きさであってよい。また、本体装置２単体又は本体装置２に左コントローラ４及び右コントローラ６が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２又は一体型装置が手持ち型の装置となってもよい。また、本体装置２又は一体型装置が可搬型装置となってもよい。
【００３４】
本体装置２は、ハウジング２１の主面に設けられるディスプレイ２２を備える。ディスプレイ２２は、本体装置２が取得又は生成した画像（静止画であってもよいし、動画であってもよい）を表示する。本実施形態においては、ディスプレイ２２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ２２は任意の種類の表示装置であってよい。また、本体装置２は、ディスプレイ２２の画面上にタッチパネル２３を備える。本実施形態においては、タッチパネル２３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル２３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００３５】
本体装置２は、ハウジング２１の内部においてスピーカ８１を備えている。ハウジング２１の主面には、スピーカ孔２１ａ及び２１ｂが形成される。そして、スピーカの出力音は、これらのスピーカ孔２１ａ及び２１ｂからそれぞれ出力される。
【００３６】
本体装置２は、ハウジング２１の左側面において左レール部材２４を備える。左レール部材２４は、左コントローラ４を本体装置２に着脱可能に装着するための部材である。左レール部材２４は、ハウジング２１の左側面において、上下方向に沿って延びるように設けられる。左レール部材２４は、左コントローラ４のスライダ４１と係合可能な形状を有しており、左レール部材２４とスライダ４１とによってスライド機構が形成される。このスライド機構によって、左コントローラ４を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００３７】
また、本体装置２は左側端子２６（図３参照）を備える。左側端子２６は、本体装置２が左コントローラ４と有線通信を行うための端子である。左側端子２６は、左コントローラ４が本体装置２に装着された場合に、左コントローラ４の端子５２と接触する位置に設けられる。左側端子２６の具体的な位置は任意である。本実施形態においては、左側端子２６は、左レール部材２４の底面に設けられる。また、本実施形態においては、左側端子２６は、左レール部材２４の底面における下側の端部付近に設けられる。
【００３８】
ハウジング２１の右側面には、左側面に設けられる構成と同様の構成が設けられる。すなわち、本体装置２は、ハウジング２１の右側面において右レール部材２５を備える。右レール部材２５は、ハウジング２１の右側面において、上下方向に沿って延びるように設けられる。右レール部材２５は、右コントローラ６のスライダ６１と係合可能な形状を有しており、右レール部材２５とスライダ６１とによってスライド機構が形成される。このスライド機構によって、右コントローラ６を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００３９】
また、本体装置２は右側端子２７（図３参照）を備える。右側端子２７は、本体装置２が右コントローラ６と有線通信を行うための端子である。右側端子２７は、右コントローラ６が本体装置２に装着された場合に、右コントローラ６の端子７２と接触する位置に設けられる。右側端子２７の具体的な位置は任意である。本実施形態においては、右側端子２７は、右レール部材２５の底面に設けられる。また、本実施形態においては、右側端子２７は、右レール部材２５の底面における下側の端部付近に設けられる。
【００４０】
本体装置２は、スロット２８（図３参照）を備える。スロット２８は、ハウジング２１の上側面に設けられる。スロット２８は、記憶媒体を装着可能な形状を有する。記憶媒体は、例えば、ゲームシステム１及びそれと同種のゲーム処理装置に専用の記憶媒体（例えば、専用メモリカード）である。記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、及び／又は、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２９（図３参照）を備える。電源ボタン２９は、ハウジング２１の上側面に設けられる。電源ボタン２９は、本体装置２の電源のオン／オフを切り替えるためのボタンである。
【００４１】
本体装置２は、下側端子３０（図３参照）を備える。下側端子３０は、本体装置２が、後述するクレードル８（図９参照）と通信を行うための端子である。下側端子３０は、ハウジング２１の下側面に設けられる。本体装置２がクレードル８に装着された場合、下側端子３０は、クレードル８の端子（不図示）に接続される。本実施形態において、下側端子３０は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。
【００４２】
本体装置２は、音声入出力端子（具体的には、イヤホンジャック）８２（図３参照）を備える。すなわち、本体装置２は、音声入出力端子８２にマイクやイヤホンを装着することができる。音声入出力端子８２は、ハウジング２１の上側面に設けられる。
【００４３】
本体装置２は、音量ボタン８３を備える（図３参照）。音量ボタン８３は、ハウジング２１の上側面に設けられる。音量ボタン８３は、本体装置２によって出力される音量を調整する指示を行うためのボタンである。すなわち、音量ボタン８３は、音量を下げる指示を行うためのボタンと、音量を上げる指示を行うためのボタンとからなる。
【００４４】
以上に説明した、ハウジング２１に設けられる各構成要素（具体的には、ボタン、スロット、端子等）の形状、数、及び設置位置は、任意である。例えば、他の実施形態においては、電源ボタン２９及びスロット２８は、ハウジング２１の他の側面あるいは背面に設けられてもよい。また、他の実施形態においては、本体装置２は、上記各構成要素のうちいくつかを備えていない構成であってもよい。
【００４５】
（左コントローラ４）
左コントローラ４は、ハウジング４２を備える。本実施形態において、ハウジング４２は、略板状である。又はウジング４２の主面（換言すれば、表側の面、すなわち、図１に示すｚ軸負方向側の面）は、大略的には矩形形状である。また、本実施形態においては、ハウジング４２は、縦長の形状、すなわち、上下方向（すなわち、図１に示すｙ軸方向）に長い形状である。左コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング４２は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状及び大きさをしている。また、左コントローラ４は、横長となる向きで把持されることも可能である。左コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。なお、ハウジング４２の形状は任意であり、他の実施形態においては、ハウジング４２は略板状でなくてもよい。又はウジング４２は、矩形形状でなくてもよく、例えば半円状の形状等であってもよい。又はウジング４２は、縦長の形状でなくてもよい。
【００４６】
ハウジング４２の上下方向の長さは、本体装置２のハウジング２１の上下方向の長さとほぼ同じである。又はウジング４２の厚さ（すなわち、前後方向の長さ、換言すれば、図１に示すｚ軸方向の長さ）は、本体装置２のハウジング２１の厚さとほぼ同じである。したがって、左コントローラ４が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と左コントローラ４とを一体の装置のような感覚で把持することができる。
【００４７】
ハウジング４２の主面は、左側の角部分が、右側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング４２の上側面と左側面との接続部分、及び、ハウジング４２の下側面と左側面との接続部分は、その上側面と右側面との接続部分、及び、その下側面と右側面との接続部分に比べて、丸くなっている（換言すれば、面取りにおけるＲが大きい）。したがって、左コントローラ４が本体装置２に装着された場合（図１参照）には、一体型装置となったゲームシステム１の左側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００４８】
左コントローラ４は、スティック４３を備える。スティック４３は、ハウジング４２の主面に設けられる。スティック４３は、方向を入力することが可能な方向入力部の一例である。スティック４３は、ハウジング４２の主面に平行な全方向（すなわち、上下左右及び斜め方向を含む、３６０°の方向）に傾倒可能なスティック部材を有する。ユーザは、スティック部材を傾倒することによって傾倒方向に応じた方向の入力、及び、傾倒した角度に応じた大きさの入力が可能である。なお、方向入力部は、十字キー又はスライドスティック等であってもよい。
【００４９】
また、本実施形態においては、スティック部材を（ハウジング４２に垂直な方向に）押し込む押込入力が可能である。すなわち、スティック４３は、スティック部材の傾倒方向及び傾倒量に応じた方向及び大きさの傾倒入力と、スティック部材をその軸方向に押し込む押込入力とを行うことが可能な入力部である。傾倒入力と押込入力とは同時に行うこともできる。
【００５０】
左コントローラ４は、４つの操作ボタン４４ａ〜４４ｄ（具体的には、右方向ボタン４４ａ、下方向ボタン４４ｂ、左方向ボタン４４ｃ、及び、上方向ボタン４４ｄ）を備える。これら４つの操作ボタン４４ａ〜４４ｄは、ハウジング４２の主面においてスティック４３の下側に設けられる。なお、本実施形態においては、左コントローラ４の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。これらの操作ボタン４４ａ〜４４ｄは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。なお、本実施形態においては、各操作ボタン４４ａ〜４４ｄは方向入力を行うために用いられてもよいことから、各操作ボタン４４ａ〜４４ｄを、右方向ボタン４４ａ、下方向ボタン４４ｂ、左方向ボタン４４ｃ、及び、上方向ボタン４４ｄと呼んでいる。ただし、各操作ボタン４４ａ〜４４ｄは、方向入力以外の指示を行うために用いられてもよい。
【００５１】
また、左コントローラ４は−（マイナス）ボタン４５を備える。図１に示すように、−ボタン４５は、ハウジング４２の主面に設けられ、より具体的には、主面における右上領域に設けられる。−ボタン４５は、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。−ボタン４５は、例えば、ゲームアプリケーションにおいてセレクトボタン（例えば、選択項目の切り替えに用いられるボタン）として用いられる。
【００５２】
左コントローラ４の主面に設けられる各操作部（具体的には、スティック４３及び上記各ボタン４４ａ〜４４ｄ）は、左コントローラ４が本体装置２に装着される場合、一体型装置となったゲームシステム１を把持するユーザの例えば左手の親指によって操作される。また、左コントローラ４が本体装置２から外された状態において両手で横向きに把持されて使用される場合、上記各操作部は、左コントローラ４を把持するユーザの例えば左右の手の親指で操作される。具体的には、この場合、スティック４３はユーザの左手の親指で操作され、各操作ボタン４４ａ〜４４ｄはユーザの右手の親指で操作される。
【００５３】
左コントローラ４は、第１Ｌボタン４６を備える。また、左コントローラ４は、ＺＬボタン（不図示）を備える。これらの第１Ｌボタン４６及びＺＬボタンは、上記操作ボタン４４ａ〜４４ｄと同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。第１Ｌボタン４６は、ハウジング４２の側面のうちの左上部分に設けられる。また、ＺＬボタンは、ハウジング４２の側面から裏面にかけての左上部分（厳密には、ハウジング４２を表側から見たときの左上部分）に設けられる。つまり、ＺＬボタンは、第１Ｌボタン４６の後側（図１に示すｚ軸正方向側）に設けられる。本実施形態においては、ハウジング４２の左上部分が丸みを帯びた形状であるので、第１Ｌボタン４６及びＺＬボタンは、ハウジング４２の当該左上部分の丸みに応じた丸みを帯びた形状を有する。左コントローラ４が本体装置２に装着される場合、第１Ｌボタン４６及びＺＬボタンは、一体型装置となったゲームシステム１における左上部分に配置されることになる。
【００５４】
左コントローラ４は、上述のスライダ４１を備えている。スライダ４１は、ハウジング４２の右側面において、上下方向に延びるように設けられる。スライダ４１は、本体装置２の左レール部材２４（より具体的には、左レール部材２４の溝）と係合可能な形状を有している。したがって、左レール部材２４に係合したスライダ４１は、スライド方向（換言すれば左レール部材２４が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。
【００５５】
左コントローラ４の右側面には、第２Ｌボタン４７及び第２Ｒボタン４８（図２参照）が設けられる。第２Ｌボタン４７及び第２Ｒボタン４８は、離脱状態において後述するように１人のユーザが左コントローラ４を両手で把持して使用する場合に用いられる。１人のユーザが左コントローラ４を両手で把持して使用する場合には、図２の左側面が下になり、右側面が上になる向きで使用される（図８参照）。この場合に第２Ｌボタン４７は左上に位置し、第２Ｒボタン４８は右上に位置する。
【００５６】
また、左コントローラ４は、左コントローラ４が本体装置２と有線通信を行うための端子５２（図４参照）を備える。端子５２は、左コントローラ４が本体装置２に装着された場合に、本体装置２の左側端子２６と接触する位置に設けられる。端子５２の具体的な位置は任意である。本実施形態においては、端子５２は、スライダ４１の装着面における下側の端部付近に設けられる。
【００５７】
（右コントローラ６）
右コントローラ６は、ハウジング６２を備える。本実施形態において、ハウジング６２は、略板状である。ハウジング６２の主面（換言すれば、表側の面、すなわち、図１に示すｚ軸負方向側の面）は、大略的には矩形形状である。また、本実施形態においては、ハウジング６２は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ６は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング６２は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状及び大きさをしている。また、右コントローラ６は、横長となる向きで把持されることも可能である。右コントローラ６が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５８】
右コントローラ６のハウジング６２は、左コントローラ４のハウジング４２と同様、その上下方向の長さは、本体装置２のハウジング２１の上下方向の長さとほぼ同じであり、その厚さは、本体装置２のハウジング２１の厚さとほぼ同じである。したがって、右コントローラ６が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と右コントローラ６とを一体の装置のような感覚で把持することができる。
【００５９】
又はウジング６２の主面は、右側の角部分が、左側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング６２の上側面と右側面との接続部分、及び、ハウジング６２の下側面と右側面との接続部分は、その上側面と左側面との接続部分、及び、その下側面と左側面との接続部分に比べて、丸くなっている（換言すれば、面取りにおけるＲが大きい）。したがって、右コントローラ６が本体装置２に装着された場合（図１参照）には、一体型装置となったゲームシステム１の右側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００６０】
右コントローラ６は、左コントローラ４と同様、方向入力部としてスティック６３を備える。本実施形態においては、スティック６３は、左コントローラ４のスティック４３と同じ構成である。また、右コントローラ６は、左コントローラ４と同様、４つの操作ボタン６４ａ〜６４ｄ（具体的には、Ａボタン６４ａ、Ｂボタン６４ｂ、Ｙボタン６４ｃ、及び、Ｘボタン６４ｄ）を備える。本実施形態においては、これら４つの操作ボタン６４ａ〜６４ｄは、左コントローラ４の４つの操作ボタン４４ａ〜４４ｄと同じ機構である。これらスティック６３及び各操作ボタン６４ａ〜６４ｄは、ハウジング６２の主面に設けられる。なお、本実施形態においては、右コントローラ６の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。
【００６１】
ここで、本実施形態においては、右コントローラ６における２種類の操作部（スティック６３及び操作ボタン６４ａ〜６４ｄ）の位置関係は、左コントローラ４におけるこれら２種類の操作部（スティック４３及び操作ボタン４４ａ〜４４ｄ）の位置関係とは反対になっている。すなわち、右コントローラ６においては、スティック６３は各操作ボタン６４ａ〜６４ｄの上方に配置されるのに対して、左コントローラ４においては、スティック４３は各操作ボタン４４ａ〜４４ｄの下方に配置される。このような配置によって、左コントローラ４及び右コントローラ６を本体装置２から外して使用する場合に似たような操作感覚で使用することができる。
【００６２】
また、右コントローラ６は、＋（プラス）ボタン６５を備える。＋ボタン６５は、ハウジング６２の主面に設けられ、より具体的には、主面の左上領域に設けられる。＋ボタン６５は、他の操作ボタン６４ａ〜６４ｄと同様、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。＋ボタン６５は、例えば、ゲームアプリケーションにおいてスタートボタン（例えば、ゲーム開始の指示に用いられるボタン）として用いられる。
【００６３】
右コントローラ６は、ホームボタン６６を備える。図１に示すように、ホームボタン６６は、ハウジング６２の主面に設けられ、より具体的には、主面の左下領域に設けられる。ホームボタン６６は、本体装置２のディスプレイ２２に所定のメニュー画面を表示させるためのボタンである。メニュー画面は、例えば、本体装置２において実行可能な１以上のアプリケーションのうちからユーザが指定したアプリケーションを起動することが可能な画面である。メニュー画面は、例えば、本体装置２の起動時に表示されてもよい。本実施形態においては、本体装置２においてアプリケーションが実行されている状態（すなわち、当該アプリケーションの画像がディスプレイ２２に表示されている状態）において、ホームボタン６６が押下されると、所定の操作画面がディスプレイ２２に表示されてもよい（このとき、操作画面に代えてメニュー画面が表示されてもよい）。なお、操作画面は、例えば、アプリケーションを終了してメニュー画面をディスプレイ２２に表示させる指示、及び、アプリケーションを再開する指示等を行うことが可能な画面である。
【００６４】
右コントローラ６の主面に設けられる各操作部（具体的には、スティック６３及び上記各ボタン６４ａ〜６４ｄ）は、右コントローラ６が本体装置２に装着される場合、ゲームシステム１を把持するユーザの例えば右手の親指によって操作される。また、右コントローラ６が本体装置２から外された状態において両手で横向きに把持されて使用される場合、上記各操作部は、右コントローラ６を把持するユーザの例えば左右の手の親指で操作される。具体的には、この場合、スティック６３はユーザの左手の親指で操作され、各操作ボタン６４ａ〜６４ｄはユーザの右手の親指で操作される。
【００６５】
右コントローラ６は、第１Ｒボタン６７を備える。また、右コントローラ６は、ＺＲボタン（不図示）を備える。第１Ｒボタン６７は、ハウジング６２の側面のうちの右上部分に設けられる。また、ＺＲボタンは、ハウジング６２の側面から裏面にかけての右上部分（厳密には、ハウジング６２を表側から見たときの右上部分）に設けられる。つまり、ＺＲボタンは、第１Ｒボタン６７の後側（図１に示すｚ軸正方向側）に設けられる。本実施形態においては、ハウジング６２の右上部分が丸みを帯びた形状であるので、第１Ｒボタン６７及びＺＲボタンは、ハウジング６２の当該右上部分の丸みに応じた丸みを帯びた形状を有する。右コントローラ６が本体装置２に装着される場合、第１Ｒボタン６７及びＺＲボタンは、ゲームシステム１における右上部分に配置されることになる。
【００６６】
右コントローラ６は、左コントローラ４と同様のスライダ機構を備えている。すなわち、右コントローラ６は、上述のスライダ６１を備えている。スライダ６１は、ハウジング６２の左側面において、上下方向に延びるように設けられる。スライダ６１は、本体装置２の右レール部材２５（より具体的には、右レール部材２５の溝）と係合可能な形状を有している。したがって、右レール部材２５に係合したスライダ６１は、スライド方向（換言すれば右レール部材２５が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。
【００６７】
右コントローラ６の左側面には、第２Ｒボタン６８及び第２Ｌボタン６９（図２参照）が設けられる。第２Ｒボタン６８及び第２Ｌボタン６９は、離脱状態において後述するように１人のユーザが右コントローラ６を両手で把持して使用する場合に用いられる。１人のユーザが右コントローラ６を両手で把持して使用する場合には、図２の右側面が下になり、左側面が上になる向きで使用される。この場合に第２Ｒボタン６８は右上に位置し、第ＬＲボタン６９は左上に位置する。
【００６８】
また、右コントローラ６は、右コントローラ６が本体装置２と有線通信を行うための端子７２（図４参照）を備える。端子７２は、右コントローラ６が本体装置２に装着された場合に、本体装置２の右側端子２７と接触する位置に設けられる。端子７２の具体的な位置は任意である。本実施形態においては、端子７２は、スライダ６１の装着面における下側の端部付近に設けられる。
【００６９】
なお、上記左コントローラ４及び右コントローラ６において、ハウジング４２又は６２に設けられる各構成要素（具体的には、スライダ、スティック、及びボタン等）の形状、数、及び、設置位置は任意である。例えば、他の実施形態においては、左コントローラ４及び右コントローラ６は、スティックとは別の種類の方向入力部を備えていてもよい。また、スライダ４１又は６１は、本体装置２に設けられるレール部材２４又は２５の位置に応じた位置に配置されてよく、例えば、ハウジング４２又は６２の主面又は裏面に配置されてもよい。また、他の実施形態においては、左コントローラ４及び右コントローラ６は、上記各構成要素のうちいくつかを備えていない構成であってもよい。
【００７０】
［ゲームシステム１の内部構成］
（本体装置２）
図３は、本体装置２の内部構成の一例を示すブロック図である。本体装置２の構成要素のいくつかは、電子部品として電子回路基板上に実装されてハウジング２１内に収納されてもよい。
【００７１】
本体装置２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１を備える。ＣＰＵ３１は、本体装置２において実行される各種の情報処理を実行する制御部である。ＣＰＵ３１は、記憶部（具体的には、フラッシュメモリ３２等の内部記憶媒体、あるいは、スロット２８に装着される外部記憶媒体等）に記憶されるゲームプログラムを実行することによって、各種の情報処理を実行する。
【００７２】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ３２及びＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３３を備える。フラッシュメモリ３２及びＤＲＡＭ３３は、ＣＰＵ３１に接続される。フラッシュメモリ３２は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ３３は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００７３】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）３４を備える。スロットＩ／Ｆ３４は、ＣＰＵ３１に接続される。スロットＩ／Ｆ３４は、スロット２８に接続され、スロット２８に装着された記憶媒体（例えば、専用メモリカード）に対するデータの読み出し及び書き込みを、ＣＰＵ３１の指示に応じて行う。
【００７４】
ＣＰＵ３１は、フラッシュメモリ３２及びＤＲＡＭ３３、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００７５】
本体装置２は、ネットワーク通信部３５を備える。ネットワーク通信部３５は、ＣＰＵ３１に接続される。ネットワーク通信部３５は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部３５は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部３５は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００７６】
本体装置２は、コントローラ通信部３６を備える。コントローラ通信部３６は、ＣＰＵ３１に接続される。コントローラ通信部３６は、左コントローラ４及び／又は右コントローラ６と無線通信を行う。本体装置２と左コントローラ４及び右コントローラ６との通信方式は任意であるが、本実施形態においては、コントローラ通信部３６は、左コントローラ４との間及び右コントローラ６との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００７７】
ＣＰＵ３１は、上述の左側端子２６、右側端子２７、及び、下側端子３０に接続される。ＣＰＵ３１は、左コントローラ４と有線通信を行う場合、左側端子２６を介して左コントローラ４にデータを送信するとともに、左側端子２６を介して左コントローラ４から操作データを受信する。また、ＣＰＵ３１は、右コントローラ６と有線通信を行う場合、右側端子２７を介して右コントローラ６にデータを送信するとともに、右側端子２７を介して右コントローラ６から操作データを受信する。また、ＣＰＵ３１は、クレードル８と通信を行う場合、下側端子３０を介してクレードル８にデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ４及び右コントローラ６との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ４及び右コントローラ６が本体装置２に装着された一体型装置がクレードル８に装着された場合、本体装置２は、クレードル８を介してデータ（例えば、画像データや音声データ）を据置型モニタ６に出力することができる。
【００７８】
ここで、本体装置２は、複数の左コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ６と同時に（換言すれば、並行して）通信を行うことができる。したがって、ユーザは、複数の左コントローラ４及び複数の右コントローラ６を用いて本体装置２に対する入力を行うことができる。
【００７９】
本体装置２は、タッチパネル２３の制御を行う回路であるタッチパネルコントローラ３７を備える。タッチパネルコントローラ３７は、タッチパネル２３とＣＰＵ３１との間に接続される。タッチパネルコントローラ３７は、タッチパネル２３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、ＣＰＵ３１へ出力する。
【００８０】
また、ディスプレイ２２は、ＣＰＵ３１に接続される。ＣＰＵ３１は、（例えば、上記の情報処理の実行によって）生成した画像及び／又は外部から取得した画像をディスプレイ２２に表示する。
【００８１】
本体装置２は、電力制御部３８及びバッテリ３９を備える。電力制御部３８は、バッテリ３９及びＣＰＵ３１に接続される。また、図示しないが、電力制御部３８は、本体装置２の各部（具体的には、バッテリ３９の電力の給電を受ける各部、左側端子２６、及び右側端子２７）に接続される。
【００８２】
また、電力制御部３８は、ＣＰＵ３１からの指令に基づいて、バッテリ３９から上記各部への電力供給を制御する。また、電力制御部３８は、電源ボタン２９に接続される。電力制御部３８は、電源ボタン２９に対する入力に基づいて、上記各部への電力供給を制御する。すなわち、電力制御部３８は、電源ボタン２９に対して電源をオフする操作が行われた場合、上記各部の全部又は一部への電力供給を停止し、電源ボタン２９に対して電源をオンする操作が行われた場合、電力制御部３８は、上記各部の全部又は一部への電力供給を開始する。また、電力制御部３８は、電源ボタン２９に対する入力を示す情報（具体的には、電源ボタン２９が押下されているか否かを示す情報）をＣＰＵ３１へ出力する。
【００８３】
また、バッテリ３９は、下側端子３０に接続される。外部の充電装置（例えば、クレードル８）が下側端子３０に接続され、下側端子３０を介して本体装置２に電力が供給される場合、供給された電力がバッテリ３９に充電される。
【００８４】
本体装置２は、コーデック回路８４及びスピーカ（具体的には、左スピーカ及び右スピーカ）８１を備える。コーデック回路８４は、スピーカ８１及び音声入出力端子８２に接続されるとともに、ＣＰＵ３１に接続される。コーデック回路８４は、スピーカ８１及び音声入出力端子８２に対する音声データの入出力を制御する回路である。すなわち、コーデック回路８４は、ＣＰＵ３１から音声データを受け取った場合、当該音声データに対してＤ／Ａ変換を行って得られる音声信号をスピーカ８１又は音声入出力端子８２へ出力する。これによって、スピーカ８１あるいは音声入出力端子８２に接続された音声出力部（例えば、イヤホン）から音が出力される。また、コーデック回路８４は、音声入出力端子８２から音声信号を受け取った場合、音声信号に対してＡ／Ｄ変換を行い、所定の形式の音声データをＣＰＵ８１へ出力する。また、音量ボタン８３は、ＣＰＵ８１に接続される。ＣＰＵ８１は、音量ボタン２６に対する入力に基づいて、スピーカ８１又は上記音声出力部から出力される音量を制御する。
【００８５】
（左コントローラ４）
図４に示すように、左コントローラ４は、本体装置２との間で行う通信を制御する通信制御部５０を備える。通信制御部５０は、端子５２及び本体通信部５３を含む各構成要素に接続される。本実施形態においては、通信制御部５０は、端子５２を介した有線通信と、端子５２を介さずに本体通信部５３を介した無線通信との両方で本体装置２と通信を行うことが可能である。
【００８６】
本体通信部５３は、通信制御部５０に接続される。本体通信部５３は、本体装置２と無線通信を行う。本体装置２と左コントローラ４との通信方式は任意であるが、本実施形態においては、上述のように、本体通信部５３は、本体装置２との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００８７】
通信制御部５０は、左コントローラ４が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ４が本体装置２に装着されている場合、通信制御部５０は、端子５２を介して本体装置２と有線通信を行う。また、左コントローラ４が本体装置２から外されている場合、通信制御部５０は、本体通信部５３を介して本体装置２（具体的には、コントローラ通信部３６）との間で無線通信を行う。
【００８８】
また、左コントローラ４は、例えばフラッシュメモリ等のメモリ５１を備える。通信制御部５０は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ５１に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００８９】
左コントローラ４は、各ボタン４４ａ〜４４ｄ、４５〜４８を備える。また、左コントローラ４は、スティック４３を備える。各ボタン４４ａ〜４４ｄ、４５〜４８及びスティック４３は、自身に対して行われた操作に関する情報を、操作データとして適宜のタイミングで繰り返し通信制御部５０へ出力する。
【００９０】
通信制御部５０は、各入力部（具体的には、各ボタン４４ａ〜４４ｄ、４５〜４８、スティック４３）から、入力に関する情報（具体的には、操作に関する情報、又は、センサによる検出結果）を取得する。通信制御部５０は、取得した情報（又は取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００９１】
操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ４に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン４４ａ〜４４ｄ、４５〜４８及びスティック４３に対する操作を、操作データに基づいて判別することができる。
【００９２】
左コントローラ４は、電力供給部５４を備える。本実施形態において、電力供給部５４は、バッテリ及び電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ４の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。電力制御回路は、バッテリから上記各部への電力供給を制御する。また、バッテリは、端子５２に接続される。本実施形態においては、左コントローラ４が本体装置２に装着される場合、所定の条件下で、バッテリは、端子５２を介して本体装置２からの給電によって充電される。
【００９３】
（右コントローラ６）
右コントローラ６は、本体装置２との間で行う通信を制御する通信制御部７０を備える。また、右コントローラ６は、通信制御部７０に接続されるメモリ７１を備える。通信制御部７０は、端子７２及び本体通信部７３を含む各構成要素に接続される。本体通信部７３は、通信制御部７０に接続される。本体通信部７３は、本体装置２と無線通信を行う。本体装置２と左コントローラ６との通信方式は任意であるが、本実施形態においては、上述のように、本体通信部７３は、本体装置２との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００９４】
通信制御部７０、メモリ７１、端子７２、及び本体通信部７３は、左コントローラ４の通信制御部５０、メモリ５１、端子５２、及び本体通信部５３と同様の機能を有する。したがって、通信制御部７０は、端子７２を介した有線通信と、端子７２を介さずに本体通信部７３を介した無線通信との両方で本体装置２と通信を行うことが可能であり、右コントローラ６が本体装置２に対して行う通信方法を制御する。
【００９５】
右コントローラ６は、左コントローラ４の各入力部と同様の各入力部（具体的には、各ボタン６４ａ〜６４ｄ、６５〜６９、スティック６３）を備える。これらの各入力部については、左コントローラ４の各入力部と同様の機能を有し、同様に動作する。また、スティック６３は、スティック４３と同様に、スティック６３の傾倒の方向及び大きさを検知する傾倒センサ６３１及び押下センサ６３２を備えている（図５参照）。傾倒センサ６３１は、スティック６３に対する入力に関する情報として、スティック６３の傾倒の方向及び大きさを示す操作情報を通信制御部７０に出力する。また、押下センサ６３２は、スティック６３に対する入力に関する情報として、スティック６３の押下の有無を示す操作情報を通信制御部７０に出力する。
【００９６】
右コントローラ６は、電力供給部７４を備える。電力供給部７４は、左コントローラ４の電力供給部５４と同様の機能を有し、同様に動作する。すなわち、電力供給部７４は、バッテリから給電を受ける各部への電力供給を制御する。また、右コントローラ６が本体装置２に装着される場合、所定の条件下で、バッテリは、端子７２を介して本体装置２からの給電によって充電される。
【００９７】
［ゲーム処理］
フラッシュメモリ３２には、本実施の形態のゲームプログラム及び各種のデータ（画像データ及び音声データを含む）が記憶されている。ゲーム処理を行う場合には、ＣＰＵ３１は、フラッシュメモリ３２からゲームプログラム及びデータをＤＲＡＭ３３に読み出して、ゲームプログラムを実行し、その際に各種のデータを利用する。なお、スロット２８に挿入された記憶媒体にゲームプログラム及び各種のデータが記憶されている場合には、ＣＰＵ３１は、記憶媒体からゲームプログラム及び各種のデータをＤＲＡＭ３３に読み出して、ゲームプログラムを実行してもよい。
【００９８】
本実施の形態のゲームプログラムによって実行されるゲームでは、仮想空間にプレイヤオブジェクト及びノンプレイヤオブジェクトを含む複数のオブジェクトが設定されている。ＣＰＵ３１は、ゲームプログラムに従ってオブジェクトを含む仮想空間の画像（ゲーム画面）を生成して、ディスプレイ２２に出力する。図５は、ゲーム画面の例を示す図である。図５の例のゲーム画面には、プレイヤオブジェクト１０１と、ノンプレイヤオブジェクト１０２とが表示されている。ゲームプログラムで用いられるデータには、仮想空間や各オブジェクトを描画するための描画データ、かつ、各種の音声データが含まれる。
【００９９】
ユーザは、ディスプレイ２２に表示されるゲーム画面を見ながらゲームを進める。例えば、ユーザがコントローラ４ないしコントローラ６のうちの、プレイヤキャラクタの移動に割り当てられた操作部材（例えば、左コントローラ４のスティック４３）を操作すると、その操作データが本体装置２に送られて、ＣＰＵ３１は、この操作データに応じてプレイヤオブジェクトを仮想空間内で移動させ、それに応じたゲーム画像を生成してディスプレイ２２に出力する。
【０１００】
ノンプレイヤオブジェクトの中には音声を発生するオブジェクトが含まれる。このようなノンプレイヤオブジェクト１０２には所定の音声データが関連付けられており、プレイヤオブジェクト１０１が仮想空間内において、音声を発生するノンプレイヤオブジェクト１０２に近づくと、ＣＰＵ３１は、このノンプレイヤオブジェクト１０２に関連付けられた音声データをコーデック回路８４に出力し、ＣＰＵ３１から音声データを受け取ったコーデック回路８４は、当該音声データに対してＤ／Ａ変換を行って得られる音声信号をスピーカ８１又は音声入出力端子８２に出力する。
【０１０１】
ＣＰＵ３１は、仮想空間内において仮想的に音声を発生する仮想音源であるノンプレイヤオブジェクト１０２と、仮想空間内においてノンプレイヤオブジェクトから発せられた音声を仮想的に聴取する仮想マイクが設定されたプレイヤオブジェクト１０１との距離に応じた音量で音声が出力されるように、音声データに対して音量の調整を行った上でコーデック回路８４に出力する。また、ＣＰＵ３１は、後述するように、ノンプレイヤオブジェクト１０２及びプレイヤオブジェクト１０１の速度ベクトルに応じて音声データの周波数の調整も行う。なお、このように音声処理を行うとき、ＣＰＵ３１ないし本体装置２は、音声処理装置として機能し、そのような機能させるためのゲームプログラムは音声処理プログラムということもできる。
【０１０２】
一般的には、仮想音源の位置はノンプレイヤオブジェクト１０２の位置と完全に一致していなくても、ノンプレイヤオブジェクト１０２に関連付けられた位置であればよく、例えばノンプレイヤオブジェクト１０２から若干ずれた位置であってもよい。また、音声を仮想的に聴取する仮想マイクの位置もプレイヤオブジェクト１０１の位置と完全に一致していなくても、ノンプレイヤオブジェクト１０２に関連付けられた位置であればよく、例えばプレイヤオブジェクト１０１から若干ずれた位置であってもよい。本実施の形態では、ノンプレイヤオブジェクト１０２の位置と仮想音源の位置とが一致しているので、以下ではノンプレイヤオブジェクト１０２を仮想音源１０２とも表記し、プレイヤオブジェクト１０１の位置と仮想マイクの位置とが一致しているので、以下ではプレイヤオブジェクト１０１を仮想マイク１０１とも表記する。
【０１０３】
プレイヤオブジェクト１０１は、ユーザの操作に応じて仮想空間内を任意の方向に移動し、音声を発生するノンプレイヤオブジェクト１０２もゲームプログラムに従って仮想空間内を任意の方向に移動する。また、ユーザは、プレイヤオブジェクト１０１の移動の速度を調整することができる。音声を発生するノンプレイヤオブジェクト１０２についても、その種類ないしゲームの状況に応じて異なる速度で移動する。このように、仮想音源１０２及び／又は仮想マイク１０１に速度が生じると、仮想マイク１０１にて仮想的に聴取する仮想音源１０２からの音声にはドップラー効果がかかることになる。
【０１０４】
本実施の形態では、ノンプレイヤオブジェクト１０２に関連付けられた音声データを単に出力するのではなく、この音声データにドップラー効果に基づく周波数調整をすることで修正音声を生成してスピーカ８１を介して出力しようとするものである。以下、周波数調整のための具体的な処理を説明する。
【０１０５】
（第１の処理例：仮想マイクが停止している場合）
図６は、音声を発生する仮想音源であるノンプレイヤオブジェクト１０２と、ノンプレイヤオブジェクトから発せられた音声を仮想的に聴取する仮想マイクが設定されたプレイヤオブジェクト１０１との仮想空間における位置関係及び速度の関係を示す図である。なお、一般的には、仮想音源の位置はノンプレイヤオブジェクト１０２の位置と完全に一致していなくても、ノンプレイヤオブジェクト１０２に関連付けられた位置であればよく、例えばノンプレイヤオブジェクト１０２から若干ずれた位置であってもよい。また、音声を仮想的に聴取する仮想マイクの位置もプレイヤオブジェクト１０１の位置と完全に一致していなくても、ノンプレイヤオブジェクト１０２に関連付けられた位置であればよく、例えばプレイヤオブジェクト１０１から若干ずれた位置であってもよい。本実施の形態では、ノンプレイヤオブジェクト１０２の位置と仮想音源の位置とが一致しているので、以下ではノンプレイヤオブジェクト１０２を仮想音源１０２とも表記し、プレイヤオブジェクト１０１の位置と仮想マイクの位置とが一致しているので、以下ではプレイヤオブジェクト１０１を仮想マイク１０１とも表記する。
【０１０６】
図６の例では、仮想マイク１０１は静止しており、仮想音源１０２が速度ベクトルＶｓ（以下単に「速度Ｖｓ」等という。）で移動しているものとする。図６の例では、仮想マイク１０１は静止しているので、この速度Ｖｓは、すなわち仮想音源１０２の仮想マイク１０１に対する相対速度（ベクトル）ということになる。この仮想音源１０２の速度Ｖｓのうち、仮想マイク１０１に向かう（又は仮想マイク１０１から遠ざかる）方向の成分（以下、「マイク方向成分」という。）をＶｓ＿ｍとすると、このマイク方向成分Ｖｓ＿ｍがドップラー効果に寄与する。すなわち、ドップラー効果を考慮すると、仮想マイク１０１で観察される音声の周波数ｆは、音速をＣとし音の周波数をｆ０とすると、以下の式（１）によって表現される。
【数１】
2018023601.tif 000003
【０１０７】
仮想音源１０２が速度Ｖｓで移動することにより、マイク方向成分Ｖｓ＿ｍが三角関数に従って変化するので、仮想マイク１０１にて仮想的に聴取する音声の周波数が変化し、ドップラー効果を知覚することができる。しかしながら、この速度Ｖｓが大きすぎると、現実に人間が感じることができる周波数の変化を超えて、ドップラー効果を知覚しにくくなる。
【０１０８】
そこで、本実施の形態では、ＣＰＵ３１は、この速度Ｖｓの大きさに上限値Ｖｓ＿ｍａｘを設けて、速度Ｖｓの大きさが上限値Ｖｓ＿ｍａｘを超える場合には、速度Ｖｓの大きさを上限値Ｖｓ＿ｍａｘにクランプ（固定）し、ドップラー効果の演算には、この上限値Ｖｓ＿ｍａｘのうちのマイク方向成分Ｖｓ＿ｍａｘ＿ｍを用いる。こうすることで、仮想マイク１０１と仮想音源１０２との仮想空間内における相対速度が現実にはありえないほど大きくなる場合にも、ユーザはドップラー効果を知覚できる。
【０１０９】
図７は、仮想音源の速度のマイク方向成分の時間変化を示すグラフである。図７に示すように速度Ｖｓの速度成分Ｖｓ＿ｍは落差が比較的大きく、変化が急であるのに対して、速度成分Ｖｓ＿ｍａｘ＿ｍは落差が比較的小さく、変化が緩やかである。
【０１１０】
なお、速度Ｖｓのうちのマイク方向の速度成分Ｖｓ＿ｍに上限を設けて、当該速度成分Ｖｓ＿ｍがこの上限を超えるときにその速度成分Ｖｓ＿ｍを上限値にクランプすることも考えられる。図８は、仮想音源の速度のマイク方向成分の時間変化を示すグラフである。仮想音源１０２が一定速度で移動する場合には、その速度Ｖｓを上限値Ｖｓ＿ｍａｘにクランプしたとしても、図７に示すように、移動に伴って仮想マイク１０１に向かう（又は仮想マイク１０１から遠ざかる）速度成分Ｖｓ＿ｍａｘ＿ｍの大きさが変化することになり、有効にドップラー効果が得られるが、マイク方向の速度成分Ｖｓ＿ｍを上限値Ｖｓ＿ｍａｘ＿ｍにクランプした場合には、図８に示すように、仮想マイク１０１と仮想音源１０２との距離が十分に近づくまでマイク方向の速度成分が上限値Ｖｓ＿ｍａｘ＿ｍから変化しないこととなり、また、仮想マイク１０１と仮想音源１０２との距離が十分に近づいて変化し始めたときにもその変化は急激であり、有効にドップラー効果が得られない。これに対して、本実施の形態では、仮想音源１０２の速度Ｖｓを上限値にクランプするので、仮想音源１０２の速度自体は固定されていても、図８に点線で示すように、移動に伴ってマイク方向の速度成分Ｖｓ＿ｍａｘ＿ｍは変化をするので、仮想マイク１０１で仮想的に観測する周波数に変化が生じてドップラー効果を知覚できる。
【０１１１】
以上のように、本実施の形態によれば、仮想音源１０２が仮想マイク１０１に一定速度で近づいてきて、仮想マイク１０１の横を通り過ぎるような場合に、仮想音源１０２が高速であっても、仮想マイク１０１にて仮想的に観測される周波数は滑らかに変化することになり、ドップラー効果を知覚しやすくなる。
【０１１２】
なお、式（１）で周波数を計算する際に、音響効果ごと（例えば、音声データが関連付けられているノンプレイヤオブジェクトの種類ごと、あるいは音声データの種類ごと）に、仮想音源１０２の速度のマイク方向成分Ｖｓ＿ｍに所定の係数をかけてもよい。また、式（１）のＣに必ずしも音速（３４０ｍ／秒）を採用しなくてもよい。
【０１１３】
（第２の処理例：仮想マイクと仮想音源がいずれも移動している場合−相対速度）
図９は、仮想音源１０２と仮想マイク１０１との仮想空間における位置関係及び速度の関係を示す図である。図９の例では、仮想マイク１０１が速度Ｖｍで移動しているので、その仮想音源方向成分をＶｍ＿ｓとすると、ドップラー効果は下式（２）によって表現される。
【数２】
2018023601.tif 000004
【０１１４】
しかしながら、この例では、仮想音源１０２の仮想マイク１０１に対する相対速度Ｖｓｍ（＝Ｖｓ−Ｖｍ）を求めて、この相対速度Ｖｓｍに基づいてドップラー効果を計算する。この場合にも、この相対速度Ｖｓｍに上限値Ｖｓｍ＿ｍａｘを設け、相対速度Ｖｓｍの大きさがこの上限値Ｖｓｍ＿ｍａｘを超える場合には、相対速度Ｖｓｍの大きさを上限値Ｖｓｍ＿ｍａｘにクランプする。そして、このＶｓｍ＿ｍａｘのマイク方向成分Ｖｓｍ＿ｍａｘ＿ｍを用いて、下式（３）によって、仮想マイク１０１における周波数を計算する。
【数３】
2018023601.tif 000005
これにより、急激な周波数変化を回避して、ドップラー効果による周波数の変化を知覚しやすいようにする。
【０１１５】
この場合にも、相対速度Ｖｓｍのマイク方向成分Ｖｓｍ＿ｍを上限値にクランプするのではなく、相対速度Ｖｓｍ自体をクランプした上でそのマイク方向成分Ｖｓｍ＿ｍａｘ＿ｍを求めて周波数を計算する。このようにすることで、滑らかな周波数変化を実現する。
【０１１６】
（第３の処理例：仮想マイクと仮想音源がいずれも移動している場合−両速度をクランプ）
図１０は、仮想音源１０２と仮想マイク１０１との仮想空間における位置関係及び速度の関係を示す図である。上述のように、仮想マイク１０１と仮想音源１０２がいずれも移動している場合には、ドップラー効果は式（２）によって計算される。本処理例では、仮想音源１０２の速度Ｖｓに上限値Ｖｓ＿ｍａｘを設けて、速度Ｖｓの大きさがこの上限値Ｖｓ＿ｍａｘを超える場合には、速度Ｖｓの大きさを上限値Ｖｓ＿ｍａｘにクランプし、かつ、仮想マイク１０１の速度Ｖｍにも上限値Ｖｍ＿ｍａｘを設けて、速度Ｖｍの大きさがこの上限値Ｖｍ＿ｍａｘを超える場合には、速度Ｖｍの大きさを上限値Ｖｍ＿ｍａｘにクランプする。
【０１１７】
そして、仮想音源１０２の速度Ｖｓ及び仮想マイク１０１の速度Ｖｍがいずれも上限値を超える場合には、上限値を用いて下式（４）によって周波数を計算する。
【数４】
2018023601.tif 000006
【０１１８】
この処理例によっても、仮想マイク１０１及び／又は仮想音源１０２の速度が大きい場合にも、急激な周波数変化を抑え、かつ、滑らかな周波数変化を実現できる。なお、仮想音源１０２の速度Ｖｓがその上限値Ｖｓ＿ｍａｘを超えない場合には、そのまま速度Ｖｓを用い、仮想マイク１０１の速度Ｖｍがその上限値Ｖｍ＿ｍａｘを超えない場合には、そのまま速度Ｖｍを用いて周波数を計算する。
【０１１９】
（第４の処理例：仮想マイクと仮想音源がいずれも移動している場合−仮想音源の速度をクランプ）
図１１は、仮想音源１０２と仮想マイク１０１との仮想空間における位置関係及び速度の関係を示す図である。本処理例では、仮想音源１０２の速度Ｖｓに上限値Ｖｓ＿ｍａｘを設けて、速度Ｖｓの大きさがこの上限値Ｖｓ＿ｍａｘを超える場合には、速度Ｖｓの大きさを上限値Ｖｓ＿ｍａｘにクランプする。仮想マイク１０１の速度Ｖｍについては、これをそのまま用いる。
【０１２０】
そうすると、仮想音源１０２の速度Ｖｓがその上限値Ｖｓ＿ｍａｘを超える場合には、上限値Ｖｓ＿ｍａｘを用いて下式（５）によって周波数を計算する。
【数５】
2018023601.tif 000007
【０１２１】
この処理例によっても、仮想音源１０２の速度Ｖｓが大きい場合にも、急激な周波数変化を抑え、かつ、滑らかな周波数変化を実現できる。なお、仮想音源１０２の速度Ｖｓがその上限値Ｖｓ＿ｍａｘを超えない場合には、そのまま速度Ｖｓを用いて周波数を計算する。
【０１２２】
（第５の処理例：仮想マイクと仮想音源がいずれも移動している場合−仮想マイクの速度をクランプ）
図１２は、仮想音源１０２と仮想マイク１０１との仮想空間における位置関係及び速度の関係を示す図である。本処理例では、仮想マイク１０１の速度Ｖｍに上限値Ｖｍ＿ｍａｘを設けて、速度Ｖｍの大きさがこの上限値Ｖｍ＿ｍａｘを超える場合には、速度Ｖｍの大きさを上限値Ｖｍ＿ｍａｘにクランプする。仮想音源の速度Ｖｓについては、これをそのまま用いる。
【０１２３】
そうすると、仮想マイク１０１の速度Ｖｍがその上限値Ｖｍ＿ｍａｘを超える場合には、上限値Ｖｍ＿ｍａｘを用いて、その音源方向成分Ｖｍ＿ｍａｘ＿ｍを求め、下式（６）によって周波数を計算する。
【数６】
2018023601.tif 000008
【０１２４】
この処理例によっても、仮想マイク１０１の速度Ｖｍが大きい場合にも、急激な周波数変化を抑え、かつ、滑らかな周波数変化を実現できる。なお、仮想マイク１０１の速度Ｖｍがその上限値Ｖｍ＿ｍａｘを超えない場合には、そのまま速度Ｖｍを用いて周波数を計算する。
【０１２５】
ＣＰＵ３１は、以上のいずれかの処理例によってドップラー効果を反映した周波数ｆを算出すると、この仮想音源１０２が発生する音声（ノンプレイヤキャラクタ１０２に関連付けられた音声データ）に対して、その周波数が算出された周波数ｆになるように周波数変換を行う。
【０１２６】
以上のように、本実施の形態によれば、ＣＰＵ３１は、仮想音源１０２と仮想マイク１０１とが仮想空間内において近づいたときに、仮想音源１０２から発せられるものとして設定されている音声を出力するが、仮想音源１０２及び／又は仮想マイク１０１が速度を持っている場合には、その速度に応じたドップラー効果に従って設定されている音声の周波数を調整して出力する。この際に、ＣＰＵ３１は、仮想音源１０２及び／又は仮想マイク１０１の速度が大きい場合に（仮想音源１０２及び仮想マイク１０１の速度が大きい場合には、仮想音源１０２と仮想マイク１０１との相対速度が大きい場合も含む）には、仮想音源１０２及び／又は仮想マイク１０１の速度を所定の上限値にクランプした上で、仮想マイク１０１におけるドップラー効果による周波数の変化を計算する。したがって、大きい速度をそのまま用いることによる周波数の急激な変化を抑えることができ、よって、ユーザは周波数の変化（ドップラー効果が作用していること）を好適に知覚できる。
【０１２７】
さらに、上記のように速度に制限を加えるにあたって、本実施の形態では、ドップラー効果に寄与する速度成分、すなわち、仮想マイク１０１の速度のうちの音源方向成分、及び仮想音源１０２の速度のうちのマイク方向成分を上限値にクランプするのではなく、仮想マイク１０１の速度及び／又は仮想音源１０２の速度それ自体を上限値にクランプしたうえで、そのように制限された速度の音源方向成分及び／又はマイク方向成分を求めてドップラー効果を受けた周波数の計算を行う。よって、速度に制限を加えた場合にも周波数は滑らかに変化し、この点でもユーザはドップラー効果を知覚しやすくなる。
【０１２８】
なお、上記の実施の形態では、仮想マイクがプレイヤオブジェクトに関連付けられており、仮想音源がノンプレイヤオブジェクトに関連付けられていたが、本発明はこれに限らず、例えば、仮想音源がプレイヤオブジェクトに関連付けられていてもよい（即ち、仮想音源の位置や速度をユーザが制御可能であってよい）。
【０１２９】
また、上記の実施の形態では、プレイヤオブジェクトに仮想マイク１０１が関連付けられ、ノンプレイヤオブジェクトに仮想音源１０２が関連付けられ、音響効果としてドップラー効果を計算したが、本発明は、プレイヤオブジェクト及び／又はノンプレイヤオブジェクトが互いに対する相対速度を持つ場合に、その相対速度に応じた効果を計算する場合に同様に適用できる。例えば、プレイヤオブジェクトとノンプレイヤオブジェクトとが仮想空間内において高速ですれ違うときにプレイヤオブジェクトにおいて感じるべき風圧も、プレイヤオブジェクトとノンプレイヤオブジェクトとの相対速度によるものであり、このような相対速度による効果としての仮想的な風圧の計算にも本発明を適用することができる。
【０１３０】
すなわち、ＣＰＵ３１は、情報を出力するためのデータを取得し、この情報を出力する出力源とこの出力源から仮想的に出力された情報を仮想的に観測する仮想観測点とがそれぞれ設定された仮想空間において、出力源及び／又は仮想観測点を移動させ、出力源の速度及び／又は仮想観測点の速度の大きさに制限を加えた値を用いて、当該情報に対して、当該情報が出力源から出力されたときに仮想観測点にて仮想的に観測される、制限された値を用いた効果を加えて、修正情報を生成し、この修正情報を出力するものであってもよい。
【符号の説明】
【０１３１】
１  ゲームシステム
２  本体装置（ゲーム処理装置）
２１  ハウジング
２２  ディスプレイ
２３  タッチパネル
２４  左レール部材
２５  右レール部材
２６  左側端子
２７  右側端子
２８  スロット
２９  電源ボタン
３０  下側端子
３１  ＣＰＵ
３２  フラッシュメモリ
３３  ＤＲＡＭ
３４  スロットＩ／Ｆ
３５  ネットワーク通信部
３６  コントローラ通信部
３７  タッチパネルコントローラ
３８  電力制御部
３９  バッテリ
４  左コントローラ
４１  スライダ
４２  ハウジング
４３  スティック
４３１  傾倒検知部
４３２  押込検知部
４４ａ  右方向ボタン
４４ｂ  下方向ボタン
４４ｃ  左方向ボタン
４４ｄ  上方向ボタン
４５  −ボタン
４６  第１Ｌボタン
４７  第２Ｌボタン
４８  第２Ｒボタン
５０  通信制御部
５１  メモリ
５２  端子
５３  本体通信部
５４  電力供給部
６  右コントローラ
６１  スライダ
６２  ハウジング
６３  スティック
６３１  傾倒センサ（傾倒検知部）
６３２  押下センサ（押込検知部）
６４ａ  Ａボタン
６４ｂ  Ｂボタン
６４ｃ  Ｙボタン
６４ｄ  Ｘボタン
６５  ＋ボタン
６６  ホームボタン
６７  第１Ｒボタン
６８  第２Ｒボタン
６９  第２Ｌボタン
７０  通信制御部
７１  メモリ
７２  端子
７３  本体通信部
７４  電力供給部
８１  スピーカ
８２  音声入出力端子
８３  音量ボタン
８４  コーデック回路
１０１  プレイヤオブジェクト（仮想マイク）
１０２  ノンプレイヤオブジェクト（仮想音源）
【図１】
2018023601.tif 000009
【図２】
2018023601.tif 000010
【図３】
2018023601.tif 000011
【図４】
2018023601.tif 000012
【図５】
2018023601.tif 000013
【図６】
2018023601.tif 000014
【図７】
2018023601.tif 000015
【図８】
2018023601.tif 000016
【図９】
2018023601.tif 000017
【図１０】
2018023601.tif 000018
【図１１】
2018023601.tif 000019
【図１２】
2018023601.tif 000020