(57)【特許請求の範囲】
【請求項１】
音声信号から振動信号を生成する振動信号生成システムであって、
音声信号が示す少なくともユーザが振動を知覚可能な上限値を越える周波数帯域に属する音圧情報を、当該上限値以下の周波数帯域の音圧情報に変換する周波数シフト手段と、
前記周波数シフト手段が変換した後の音圧情報を用いて、振動信号を生成する振動信号生成手段とを備え、
前記周波数シフト手段は、所定タイミングにおける音圧情報を残して、前記上限値以下の周波数帯域の音圧情報に変換する、振動信号生成システム。
【請求項２】
前記周波数シフト手段は、前記音声信号が示す音圧のピークに基づいて、前記上限値を越える周波数帯域に属する音圧情報を、前記上限値以下の周波数帯域の音圧情報に変換する、請求項１に記載の振動信号生成システム。
【請求項３】
前記周波数シフト手段は、前記音声信号の波形データに対して一定区間毎の区間最大値を抽出し、当該区間最大値を用いて前記上限値を越える周波数帯域に属する音圧情報を、前記上限値以下の周波数帯域の音圧情報に変換する、請求項１または２に記載の振動信号生成システム。
【請求項４】
前記周波数シフト手段は、前記音声信号の波形データに対して移動する一定区間毎の移動最大値を抽出し、当該移動最大値を用いて前記上限値を越える周波数帯域に属する音圧情報を、前記上限値以下の周波数帯域の音圧情報に変換する、請求項１または２に記載の振動信号生成システム。
【請求項５】
前記周波数シフト手段は、前記音声信号の波形データにおける音圧の極大値を通る曲線を前記上限値以下の周波数帯域の音圧情報として用いる、請求項１または２に記載の振動信号生成システム。
【請求項６】
前記周波数シフト手段は、前記音声信号の時間軸を伸長し、当該伸長後の音声信号の一部を切り出して連結することによって、前記上限値を越える周波数帯域に属する音圧情報を前記上限値以下の周波数帯域の音圧情報に変換する、請求項１または２に記載の振動信号生成システム。
【請求項７】
前記周波数シフト手段が変換した音圧情報に対して、前記上限値に対応する周波数以下に設定された遮断周波数より高い周波数の成分を逓減させるローパスフィルタを、さらに備え、
前記振動信号生成手段は、前記遮断周波数より高い周波数の成分を逓減させた前記音圧情報を用いて、前記振動信号を生成する、請求項１乃至６の何れか１つに記載の振動信号生成システム。
【請求項８】
前記振動信号生成手段は、前記周波数シフト手段が変換した音圧情報を用いて特定の周波数の正弦波の強度を変化させることによって、前記振動信号を生成する、請求項１乃至７の何れか１つに記載の振動信号生成システム。
【請求項９】
前記周波数シフト手段は、ユーザが聴音できない周波数帯域の音圧情報に変換し、
前記振動信号生成手段は、前記周波数シフト手段が変換した音圧情報に当該周波数シフト手段が変換する前の前記音声信号を加えることによって、前記振動信号を生成する、請求項１乃至７の何れか１つに記載の振動信号生成システム。
【請求項１０】
少なくとも１つの振動手段と、
前記振動信号生成手段が生成した振動信号を用いて、前記振動手段を振動させる振動制御手段とを、さらに備える、請求項１乃至９の何れか１つに記載の振動信号生成システム。
【請求項１１】
少なくとも１つの音声出力手段と、
前記音声出力手段から出力する音声を制御する音声制御手段とを、さらに備え、
前記振動制御手段および前記音声制御手段は、前記振動手段から出力される振動と前記音声出力手段から出力される音声とが関連するように、それぞれ前記振動手段から出力される振動と前記音声出力手段から出力される音声とを制御する、請求項１０に記載の振動信号生成システム。
【請求項１２】
音声信号から振動信号を生成する振動信号生成システムであって、
音声信号が示す高周波数帯域に属する音圧情報を、低周波数帯域の音圧情報に変換する周波数シフト手段と、
前記周波数シフト手段が変換した後の音圧情報を用いて、振動信号を生成する振動信号生成手段とを備え、
前記周波数シフト手段は、所定タイミングにおける音圧情報を残して、前記低周波数帯域の音圧情報に変換する、振動信号生成システム。
【請求項１３】
音声信号から振動信号を生成する振動信号生成装置であって、
音声信号が示す少なくともユーザが振動を知覚可能な上限値を越える周波数帯域に属する音圧情報を、当該上限値以下の周波数帯域の音圧情報に変換する周波数シフト手段と、
前記周波数シフト手段が変換した後の音圧情報を用いて、振動信号を生成する振動信号生成手段とを備え、
前記周波数シフト手段は、所定タイミングにおける音圧情報を残して、前記上限値以下の周波数帯域の音圧情報に変換する、振動信号生成装置。
【請求項１４】
音声信号から振動信号を生成する振動信号生成装置に含まれるコンピュータで実行される振動信号生成プログラムであって、
前記コンピュータを、
音声信号が示す少なくともユーザが振動を知覚可能な上限値を越える周波数帯域に属する音圧情報を、当該上限値以下の周波数帯域の音圧情報に変換する周波数シフト手段と、
前記周波数シフト手段が変換した後の音圧情報を用いて、振動信号を生成する振動信号生成手段として機能させ、
前記周波数シフト手段は、所定タイミングにおける音圧情報を残して、前記上限値以下の周波数帯域の音圧情報に変換する、振動信号生成プログラム。
【請求項１５】
音声信号から振動信号を生成する振動信号生成方法であって、
音声信号が示す少なくともユーザが振動を知覚可能な上限値を越える周波数帯域に属する音圧情報を、当該上限値以下の周波数帯域の音圧情報に変換する周波数シフトステップと、
前記周波数シフトステップにおいて変換された後の音圧情報を用いて、振動信号を生成する振動信号生成ステップとを含み、
前記周波数シフトステップでは、所定タイミングにおける音圧情報を残して、前記上限値以下の周波数帯域の音圧情報に変換される、振動信号生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動生成システム、振動生成装置、振動信号生成プログラム、および振動生成方法に関し、特に例えば、ユーザに与える振動を生成する振動生成システム、振動生成装置、振動信号生成プログラム、および振動生成方法に関する。
【背景技術】
【０００２】
従来、装置本体に振動を与えるゲーム装置が知られている（例えば、特許文献１参照）。例えば、上記特許文献１で開示されたゲーム装置は、当該ゲーム装置に設けられたバイブレータを振動させることによって、当該ゲーム装置を把持するユーザの指や手に振動を伝える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２７５４６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１で開示されているような従来のゲーム装置では、バイブレータで一定の振動をユーザに与えるだけだった。
【０００５】
それ故に、本発明の目的は、バリエーションに富んだ振動を出力するための振動信号を生成することができる振動生成システム、振動信号生成プログラム、および振動生成方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明の振動信号生成システムの一構成例は、音声信号から振動信号を生成する。振動信号生成システムは、周波数シフト手段および振動信号生成手段を備える。周波数シフト手段は、音声信号が示す少なくともユーザが振動を知覚可能な上限値を越える周波数帯域に属する音圧情報を、当該上限値以下の周波数帯域の音圧情報に変換する。振動信号生成手段は、周波数シフト手段が変換した後の音圧情報を用いて、振動信号を生成する。
【０００８】
上記によれば、音声信号を用いて、振動信号を生成することができる。また、ユーザが振動として知覚することができない上限値を越える周波数帯域の音声信号を、当該上限値以下の周波数帯域にシフトすることによって、振動として知覚可能な振動信号を生成することができる。
【０００９】
また、上記周波数シフト手段は、所定タイミングにおける音圧情報を残して、上限値以下の周波数帯域の音圧情報に変換してもよい。
【００１０】
上記によれば、所定タイミングにおける音圧情報を利用して、当該音圧に応じた振動信号の生成が可能となる。
【００１１】
また、上記周波数シフト手段は、音声信号が示す音圧のピークに基づいて、上限値を越える周波数帯域に属する音圧情報を、上限値以下の周波数帯域の音圧情報に変換してもよい。
【００１２】
上記によれば、音声信号が示す音圧のピークを利用して、当該音声に応じた振動信号の生成が可能となる。
【００１３】
また、上記周波数シフト手段は、音声信号の波形データに対して一定区間毎の区間最大値を抽出し、当該区間最大値を用いて上限値を越える周波数帯域に属する音圧情報を、上限値以下の周波数帯域の音圧情報に変換してもよい。
【００１４】
上記によれば、区間最大値を用いて、上限値以下の周波数帯域の音圧情報に容易に変換することができる。
【００１５】
また、上記周波数シフト手段は、音声信号の波形データに対して移動する一定区間毎の移動最大値を抽出し、当該移動最大値を用いて上限値を越える周波数帯域に属する音圧情報を、上限値以下の周波数帯域の音圧情報に変換してもよい。
【００１６】
上記によれば、移動最大値を用いて、上限値以下の周波数帯域の音圧情報に容易に変換することができる。
【００１７】
また、上記周波数シフト手段は、音声信号の波形データにおける音圧の極大値を通る曲線を上限値以下の周波数帯域の音圧情報として用いてもよい。
【００１８】
上記によれば、音圧の極大値を用いて、上限値以下の周波数帯域の音圧情報に容易に変換することができる。
【００１９】
また、上記周波数シフト手段は、音声信号の時間軸を伸長し、当該伸長後の音声信号の一部を切り出して連結することによって、上限値を越える周波数帯域に属する音圧情報を上限値以下の周波数帯域の音圧情報に変換してもよい。
【００２０】
上記によれば、音声信号の時間軸を伸長することによって、上限値以下の周波数帯域の音圧情報に容易に変換することができる。
【００２１】
また、上記振動信号生成システムは、ローパスフィルタを、さらに備えてもよい。ローパスフィルタは、周波数シフト手段が変換した音圧情報に対して、上限値に対応する周波数以下に設定された遮断周波数より高い周波数の成分を逓減させる。この場合、上記振動信号生成手段は、遮断周波数より高い周波数の成分を逓減させた音圧情報を用いて、振動信号を生成してもよい。
【００２２】
上記によれば、ローパスフィルタ処理を行うことによって、周波数シフト処理後に残っている高周波成分を除去することができる。
【００２３】
また、上記振動信号生成手段は、周波数シフト手段が変換した音圧情報を用いて特定の周波数の正弦波の強度を変化させることによって、振動信号を生成してもよい。
【００２４】
上記によれば、特定の周波数を上限値以下にすることによって、振動として知覚可能な振動信号を生成することができる。また、特定の周波数を共振周波数とするデバイスに対してエネルギー効率よく振動させることが可能となる。
【００２５】
また、上記周波数シフト手段は、ユーザが聴音できない周波数帯域の音圧情報に変換してもよい。上記振動信号生成手段は、周波数シフト手段が変換した音圧情報に当該周波数シフト手段が変換する前の音声信号を加えることによって、振動信号を生成してもよい。
【００２６】
上記によれば、振動出力するためのユニットと音声出力するためのユニットとを組み合わせて一体化したモジュールを駆動する振動を生成することができる。
【００２７】
また、上記振動信号生成システムは、少なくとも１つの振動手段および振動制御手段を、さらに備えてもよい。振動制御手段は、振動信号生成手段が生成した振動信号を用いて、振動手段を振動させる。
【００２８】
上記によれば、振動信号生成システムで生成した振動信号に応じた振動を、当該振動信号生成システムから出力することができる。
【００２９】
また、上記振動信号生成システムは、少なくとも１つの音声出力手段と、音声制御手段を、さらに備えてもよい。音声制御手段は、音声出力手段から出力する音声を制御する。この場合、上記振動制御手段および上記音声制御手段は、振動手段から出力される振動と音声出力手段から出力される音声とが関連するように、それぞれ振動手段から出力される振動と音声出力手段から出力される音声とを制御してもよい。
【００３０】
上記によれば、音声信号に応じた音声を出力するとともに、当該音声に応じた振動も出力することができる。
【００３１】
また、本発明の振動信号生成システムの一構成例は、音声信号から振動信号を生成する。振動信号生成システムは、周波数シフト手段および振動信号生成手段を備える。周波数シフト手段は、音声信号が示す高周波数帯域に属する音圧情報を、低周波数帯域の音圧情報に変換する。振動信号生成手段は、周波数シフト手段が変換した後の音圧情報を用いて、振動信号を生成する。
【００３２】
上記によれば、音声信号を用いて、振動信号を生成することができる。また、振動として知覚しにくい高周波数帯域の音声信号を、低周波数帯域にシフトすることによって、振動として知覚可能な振動信号を生成することができる。
【００３３】
また、本発明は、上記各手段を備える振動信号生成装置および上記各手段としてコンピュータを機能させる振動信号生成プログラムや上記各手段で行われる動作を含む振動信号生成方法の形態で実施されてもよい。
【発明の効果】
【００３４】
本発明によれば、音声信号を用いて、振動信号を生成することができる。また、振動として知覚しにくい高周波数帯域（例えば、ユーザが振動を知覚可能な上限値を越える周波数帯域）の音声信号を、低周波数帯域（例えば、当該上限値以下の周波数帯域）にシフトすることによって、振動として知覚可能な振動信号を生成することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施例に係る情報処理装置３の外観の一例を示す平面図
【図２】情報処理装置３の構成の一例を示すブロック図
【図３】振動発生部３７の構成の一例を示すブロック図
【図４】表示部３５の表示画面に表示されている仮想オブジェクトＯＢＪの表示位置に応じて、情報処理装置３本体が振動するとともに音声が出力される一例を示す図
【図５】表示部３５の表示画面に表示されるゲーム例の画像を示す図である。
【図６】情報処理装置３本体に与えられる音声のスペクトラムの一例を説明するための図
【図７】音声アナログ信号に対して周波数シフト処理を行った際のスペクトラムの一例を説明するための図
【図８】周波数シフト処理を行った音声アナログ信号に対してローパスフィルタ処理を行った際のスペクトラムの一例を説明するための図
【図９】振動制御信号を生成する際に用いられる音声アナログ信号の一例を示す図
【図１０】音声アナログ信号に対して周波数シフト処理を行った一例を示す図
【図１１】周波数シフト処理を行ったアナログ信号に対してローパスフィルタ処理を行った一例を示す図
【図１２】図１１に示した波形を用いて生成した振動アナログ信号の一例を示す図
【図１３】振動制御信号生成処理を行う際に、情報処理装置３の記憶部３２に記憶される主なデータおよびプログラムの一例を示す図
【図１４】情報処理装置３において実行される振動制御信号生成処理の一例を示すフローチャート
【図１５】ゲーム処理を行う際に、情報処理装置３の記憶部３２に記憶される主なデータおよびプログラムの一例を示す図
【図１６】情報処理装置３において実行されるゲーム処理の一例を示すフローチャート
【発明を実施するための形態】
【００３６】
図面を参照して、本発明の一実施形態に係る振動信号生成プログラムを実行する振動信号生成装置（振動信号生成システム）について説明する。本発明の振動信号生成プログラムは、任意のコンピュータシステムで実行されることによって適用することができるが、振動信号生成装置（振動信号生成システム）の一例として携帯型の情報処理装置３（タブレット端末）を用い、情報処理装置３で実行される振動信号生成プログラムを用いて説明する。例えば、情報処理装置３は、交換可能な光ディスクやメモリーカード等の記憶媒体内に記憶された、または、他の装置から受信したプログラムや予めインストールされたプログラム（例えば、ゲームプログラム）を実行可能であり、一例として、仮想空間に設定された仮想カメラから見た仮想空間画像等のコンピュータグラフィックス処理により生成された画像を画面に表示することができる。情報処理装置３は、一般的なパーソナルコンピュータ、据置型ゲーム機、携帯電話機、携帯ゲーム機、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等のデバイスであってもかまわない。なお、図１は、情報処理装置３の外観の一例を示す平面図である。
【００３７】
図１において、情報処理装置３は、表示部３５、音声出力部３６、およびアクチュエータ３７３を備えている。一例として、表示部３５は、情報処理装置３本体前面に設けられている。例えば、表示部３５は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）によって構成されるが、例えばＥＬを利用した表示装置などが利用されてもよい。また、表示部３５は、立体視可能な画像を表示することが可能な表示装置であってもよい。
【００３８】
表示部３５の表示画面を覆うように、入力部３４の一例であるタッチパネル３４１が設けられている。タッチパネル３４１は、所定の入力面（例えば、表示部３５の表示画面）に対して入力された位置を検出する。なお、入力部３４は、情報処理装置３のユーザが操作入力可能な入力装置であり、どのような入力装置であってもよい。例えば、入力部３４として、スライドパッド、アナログスティック、十字キー、および操作ボタン等の操作部が、情報処理装置３本体の側面や背面等に備えられてもよい。また、入力部３４は、情報処理装置３本体の姿勢や動きを検出するためのセンサであってもよい。例えば、入力部３４は、情報処理装置３本体に生じる加速度を検出する加速度センサや情報処理装置３本体の回転量を検出する角速度センサ（ジャイロセンサ）等であってもよい。
【００３９】
音声出力部３６は、音声を出力するスピーカを含み、図１に示した一例では、情報処理装置３の上側面や背面に設けられたスピーカ（音声出力部３６）を含んでいる。音声出力部３６は、後述する制御部３１から出力される音声信号（音声制御信号）をＤ／Ａ変換してアナログ音声信号を生成し、当該アナログ音声信号をスピーカへ出力して音声を出力させる。
【００４０】
アクチュエータ３７３は、情報処理装置３の本体に所定の振動を与える振動アクチュエータ（振動子）であり、後述する振動発生部３７に含まれる。図１に示した一例では、アクチュエータ３７３は、情報処理装置３本体内部の中央付近に設けられたアクチュエータ３７３を有する。具体的には、図１の破線領域で示すように、ユーザが情報処理装置３の左端部を左手で把持し右端部を右手で把持した場合に、当該左手と右手との間の位置となる表示部３５の中央部にアクチュエータ３７３が設けられる。また、振動発生部３７は、後述する制御部３１から出力される振動制御信号をＤ／Ａ変換してアナログ振動信号を生成し、当該アナログ振動信号を増幅した駆動信号をアクチュエータ３７３へ出力してアクチュエータ３７３を駆動させる。
【００４１】
なお、図１から明らかなように、情報処理装置３に設けられる表示部３５の表示画面と音声出力部３６とがそれぞれ近接する位置に配置されており、表示部３５の表示画面とアクチュエータ３７３とがそれぞれ近接する位置に配置されている。また、音声出力部３６およびアクチュエータ３７３は、それぞれ互いに近接する位置に配置されているが、別の位置に配設される別のユニットである。これによって、振動出力専用のユニットと音声出力専用のユニットとを備えることができるため、汎用のユニットを共用する場合と比較すると精度の高い振動および音声をそれぞれ出力することができる。なお、振動出力するためのユニットと音声出力するためのユニットとを組み合わせて一体化したモジュールを、情報処理装置３に設けてもよい。
【００４２】
次に、図２を参照して、情報処理装置３の内部構成について説明する。なお、図２は、情報処理装置３の構成の一例を示すブロック図である。
【００４３】
図２において、上述した入力部３４、表示部３５、音声出力部３６、および振動発生部３７の他に、制御部３１、記憶部３２、およびプログラム格納部３３を備える。なお、情報処理装置３は、制御部３１を少なくとも含む情報処理装置と他の装置とを含む１以上の装置によって構成されてもよい。
【００４４】
制御部３１は、各種の情報処理を実行するための情報処理手段（コンピュータ）であり、例えばＣＰＵである。制御部３１は、各種の情報処理として、入力部３４に対するユーザの操作に応じた処理等を実行する機能を有する。例えば、ＣＰＵが所定のプログラムを実行することによって、制御部３１における各機能が実現される。
【００４５】
制御部３１は、各種の情報処理として、表示部３５に表示する画像の表示制御を行う。また、制御部３１は、各種の情報処理として、スピーカから出力する音声を制御するための音声制御信号（例えば、デジタル音声信号）を、音声出力部３６へ出力する。また、制御部３１は、各種の情報処理の一例として、音声制御信号に基づいて、アクチュエータ３７３の振動を制御するための振動制御信号（例えば、デジタル振動信号）を生成し、当該振動制御信号を振動発生部３７へ出力する。
【００４６】
記憶部３２は、制御部３１が上記情報処理を実行する際に用いる各種のデータを記憶する。記憶部３２は、例えばＣＰＵ（制御部３１）がアクセス可能なメモリである。
【００４７】
プログラム格納部３３は、プログラムを記憶（格納）する。プログラム格納部３３は、制御部３１がアクセス可能な記憶装置（記憶媒体）であればどのようなものであってもよい。例えば、プログラム格納部３３は、制御部３１を含む情報処理装置３内に設けられる記憶装置であってもよいし、制御部３１を含む情報処理装置３に着脱自在に装着される記憶媒体であってもよい。また、プログラム格納部３３は、制御部３１とネットワークを介して接続される記憶装置（サーバ等）であってもよい。制御部３１（ＣＰＵ）は、ゲームプログラムの一部または全部を適宜のタイミングで記憶部３２に読み出し、読み出されたプログラムを実行するようにしてもよい。
【００４８】
次に、図３を参照して、振動発生部３７の構成について説明する。なお、図３は、振動発生部３７の構成の一例を示すブロック図である。
【００４９】
図３において、振動発生部３７は、コーデック部３７１、増幅部３７２、およびアクチュエータ（振動子）３７３を備えている。
【００５０】
コーデック部３７１は、制御部３１から出力された振動制御信号を取得して所定の復号処理を行ってアナログ振動信号を生成し、増幅部３７２へ出力する。例えば、アクチュエータ３７３に振動を発生させる場合、当該振動を制御するための振動制御信号（例えば、振動制御信号ＣＳ）が制御部３１から出力される。この場合、コーデック部３７１は、制御部３１から出力された振動制御信号を復号して、アクチュエータ３７３に振動を発生させるためのアナログ振動信号（例えば、アナログ振動信号ＡＳ）を生成して、増幅部３７２へ出力する。
【００５１】
増幅部３７２は、コーデック部３７１から出力されたアナログ振動信号を増幅してアクチュエータ３７３を駆動するための駆動信号を生成し、アクチュエータ３７３へ出力する。例えば、増幅部３７２は、コーデック部３７１から出力されたアナログ振動信号（例えば、アナログ振動信号ＡＳ）の電流／電圧の振幅変化をそれぞれ増大させて駆動信号（例えば、駆動信号ＤＳ）を生成して、アクチュエータ３７３へ出力する。
【００５２】
アクチュエータ３７３は、増幅部３７２から出力された駆動信号に応じて駆動することによって、情報処理装置３の本体に当該駆動信号に応じた振動を与える。例えば、アクチュエータ３７３は、図１に示すように、表示部３５の表示画面の中心に設けられている。ここで、アクチュエータ３７３が情報処理装置３本体に振動を与える方式は、どのようなものでもかまわない。例えば、アクチュエータ３７３は、偏心モーター（ＥＲＭ：Ｅｃｃｅｎｔｒｉｃ  Ｒｏｔａｔｉｎｇ  Ｍａｓｓ）によって振動を生じさせる方式や、リニア・バイブレータ（ＬＲＡ：Ｌｉｎｅａｒ  Ｒｅｓｏｎａｎｔ  Ａｃｔｕａｔｏｒ）によって振動を生じさせる方式や、ピエゾ（圧電）素子によって振動を生じさせる方式等を用いた構成であってもよい。アクチュエータ３７３が振動を生じさせる方式に応じて、増幅部３７２から出力される駆動信号が生成されれば、どのような方式のアクチュエータであっても様々な振動を情報処理装置３のユーザに与えることができる。
【００５３】
なお、上述した説明では、コーデック部３７１で生成されたアナログ振動信号が増幅されてアクチュエータ３７３を駆動するための駆動信号が生成される例を用いたが、コーデック部３７１から増幅部３７２へ出力される信号は、デジタル信号であってもよい。例えば、パルス幅変調（ＰＷＭ：Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御によってアクチュエータ３７３を駆動する場合、コーデック部３７１がアクチュエータ３７３をオン／オフするためのパルス信号を生成すればよい。この場合、コーデック部３７１から増幅部３７２へ出力される信号は、パルス波を用いて駆動が制御されるデジタル振動信号となり、増幅部３７２は、当該デジタル振動信号を増幅することになる。
【００５４】
次に、情報処理装置３が行う具体的な処理を説明する前に、図４〜図１２を用いて情報処理装置３において行われる処理の概要について説明する。以下の説明では、表示部３５の表示画面内を仮想オブジェクトＯＢＪやプレイヤキャラクタＰＣが移動するゲームを行う際の処理を、情報処理装置３において行われる情報処理の一例として用いる。なお、図４は、表示部３５の表示画面に表示されている仮想オブジェクトＯＢＪが移動する際に、情報処理装置３本体が振動するとともに音声が出力される一例を示す図である。図５は、表示部３５の表示画面に表示されるゲーム例の画像を示す図である。図６は、ゲームにおいて情報処理装置３本体に与えられる音声のスペクトラムの一例を説明するための図である。図７は、上記音声を生成するための音声アナログ信号に対して周波数シフト処理を行った際のスペクトラムの一例を説明するための図である。図８は、周波数シフト処理を行った音声アナログ信号に対してローパスフィルタ処理を行った際のスペクトラムの一例を説明するための図である。図９は、振動制御信号を生成する際に用いられる音声アナログ信号の一例を示す図である。図１０は、音声アナログ信号に対して周波数シフト処理を行った一例を示す図である。図１１は、周波数シフト処理を行ったアナログ信号に対してローパスフィルタ処理を行った一例を示す図である。図１２は、図１１に示した波形を用いて生成した振動アナログ信号の一例を示す図である。
【００５５】
図４に示す例では、仮想世界内を移動する仮想オブジェクトＯＢＪが表示部３５の表示画面に表示される。仮想オブジェクトＯＢＪは、ユーザ操作に応じて、または自動的に仮想世界内を移動して表示部３５の表示画面に表示される。
【００５６】
仮想オブジェクトＯＢＪの移動に応じて、情報処理装置３から音声が出力されるとともに、情報処理装置３本体が振動する。例えば、情報処理装置３本体に設けられたスピーカ（音声出力部３６）は、表示部３５の表示画面に表示されて移動する仮想オブジェクトＯＢＪが音源となった音声を出力する。また、情報処理装置３本体に設けられたアクチュエータ３７３は、仮想オブジェクトＯＢＪが移動する際に生じる振動を生じさせる。本実施例では、情報処理装置３から出力される音声を示す音声信号（音声制御信号）を用いて、アクチュエータ３７３を振動させるための振動信号（振動制御信号）が生成される。
【００５７】
次に、図５を参照して、情報処理装置３でプレイ可能なゲーム例について説明する。後述するゲーム例では、情報処理装置３のユーザ操作に応じて、仮想世界内を移動可能なプレイヤキャラクタＰＣを含む当該仮想世界の少なくとも一部が表示部３５の表示画面に表示される。例えば、プレイヤキャラクタＰＣは、入力部３４を用いたユーザ操作に応じて、仮想世界内を移動する（例えば、図５（Ａ）に示す時刻Ｔ０の状態）。
【００５８】
表示部３５の表示画面に表示される仮想世界には、仮想オブジェクトＯＢＪが配置されている。仮想オブジェクトＯＢＪは、仮想世界内でプレイヤキャラクタＰＣと接触した場合（例えば、プレイヤキャラクタＰＣに踏まれた場合）、ゲーム進行において接触音（例えば、潰れる音）が情報処理装置３から出力されるとともに接触した際の振動が情報処理装置３に与えられる。例えば、時刻Ｔ０に対して時系列的に後となる時刻Ｔ１では、仮想世界においてプレイヤキャラクタＰＣが仮想オブジェクトＯＢＪと接触した様子が表示部３５の表示画面に表示されている（図５（Ｂ）参照）。このとき、当該ゲーム例では、仮想オブジェクトＯＢＪとプレイヤキャラクタＰＣとが接触したことを示す音声（効果音）が、スピーカ（音声出力部３６）から出力される。また、当該ゲーム例では、仮想オブジェクトＯＢＪとプレイヤキャラクタＰＣとが接触したことを示す振動が、アクチュエータ３７３によって与えられる。なお、時刻Ｔ１に対して時系列的に後となる時刻Ｔ２では、仮想世界においてプレイヤキャラクタＰＣが仮想オブジェクトＯＢＪと接触した後の様子が表示部３５の表示画面に表示されている（図５（Ｃ）参照）。
【００５９】
また、図６に示すように、情報処理装置３情報処理装置３から出力する音声は、広帯域のスペクトラムを有することができる。そして、本実施例では、当該音声の音圧情報を利用しながら、音声が有する周波数とは別の周波数を有する振動を情報処理装置３のユーザに与えることができる。例えば、情報処理装置３は、人間が振動を感じることができるとされる０−１０００Ｈｚの振動をユーザに与えることができるとともに、人間が耳に聞こえる可聴周波数である２０−２００００Ｈｚの広帯域を中心とした音声を出力することができ、それぞれ別の制御信号によって別の振動体（アクチュエータ３７３およびスピーカ）を制御することができる。
【００６０】
ここで、本実施例では、音声信号（音声制御信号）を用いて振動信号（振動制御信号）が生成される。例えば、上記ゲーム例では、仮想オブジェクトＯＢＪが仮想世界内でプレイヤキャラクタＰＣと接触した場合（例えば、プレイヤキャラクタＰＣに踏まれた場合）に生じる音（例えば、仮想オブジェクトＯＢＪが潰れる効果音）を出力するための音声信号を用いて、当該接触に対応する振動を生成するための振動信号が生成される。
【００６１】
図６および図９に示すように、振動信号の生成に用いられる音声信号（音声アナログ信号）は、人間が耳に聞こえる可聴周波数である２０−２００００Ｈｚの広帯域の音声を少なくとも出力するために、典型的には広帯域の周波数成分を有している。しかしながら、人間が振動を感じることができるとされる周波数帯域が１０００Ｈｚ以下であるため、上記音声信号をそのまま振動信号に流用したとしても、１０００Ｈｚ−２００００Ｈｚの周波数帯域の音声に対応する振動をユーザが感じることができない。例えば、１０００Ｈｚ−２００００Ｈｚの周波数帯域の音声のみが出力される音声信号の場合、当該音声信号を用いてアクチュエータ３７３を振動させたとしても、情報処理装置３のユーザは振動を感じることができなくなる。
【００６２】
本実施例における振動信号生成処理では、出力される音声に対応する振動を生成する際、当該音声を出力するための音声信号に対して周波数シフト処理を行う。例えば、振動信号の元となる音声信号が有する周波数成分が所定の周波数以下（例えば、１０００Ｈｚ以下や２０Ｈｚ以下）となるように、当該音声信号の波形データ（例えば、横軸が時間、縦軸が音圧（振幅）で示された波形データ）に対して移動する一定区間毎の最大値を抽出し、当該移動最大値のエンベロープ波形を用いることによって、当該音声信号における音圧情報に対する周波数シフト処理を行う。これによって、上記音声信号において高周波数帯域に属する音圧情報が、ユーザが振動を知覚可能な上限値（知覚閾値；例えば、１０００Ｈｚ）以下の周波数帯域の音圧情報に変換することができる。例えば、図１０に示した波形は、図９に示した音声信号において音圧情報がプラスとなる波形データに対して、当該音声信号が有する周波数成分が２０Ｈｚ以下となるように移動最大値を算出し、当該移動最大値のエンベロープをとった波形を示している。図７に示すように、図１０に示した上記移動最大値のエンベロープをとった波形のスペクトラムは、知覚閾値（例えば、１０００Ｈｚ）を越える周波数帯域に属する音圧情報が２０Ｈｚ以下の周波数帯域の音圧情報（パワー情報）に変換されていることがわかる。
【００６３】
次に、本実施例における振動信号生成処理では、上記移動最大値のエンベロープをとった信号に対して、所定の遮断周波数（例えば、１０００Ｈｚや２０Ｈｚ）より高い周波数の成分を逓減させるローパスフィルタ処理を行う。例えば、図１１に示した波形は、図９に示したエンベロープ波形に対して、遮断周波数が１０００Ｈｚに設定されたローパスフィルタ処理が行われた波形を示している。このローパスフィルタ処理によって、上記エンベロープ波形に残存している高周波成分を除去することができる。図８に示すように、図１１に示した上記ローパスフィルタ処理が行われた波形のスペクトラムは、遮断周波数（例えば、１０００Ｈｚ）を越える周波数帯域に属するパワー情報が除去されていることがわかる。
【００６４】
次に、高周波成分を除去した上記エンベロープ波形に基づいて、アクチュエータ３７３を駆動するための振動信号を生成する。例えば、図１２に示すように、特定の周波数の正弦波の強度（振幅）をエンベロープの形状に沿うように変化させ、当該変化後の正弦波を用いてアクチュエータ３７３を振動させるための振動信号を生成する。例えば、振動信号を生成するための特定の周波数は、知覚閾値（例えば、１０００Ｈｚ）以下の周波数であり、当該振動信号によって振動させるアクチュエータ（例えば、アクチュエータ３７３）の共振周波数（例えば、３００Ｈｚ）に設定してもよい。このような特定の周波数の正弦波は、当該特定の周波数を共振周波数とするデバイスに対してエネルギー効率よく振動させることが可能となり、アクチュエータ３７３のエネルギー効率を考慮した振動信号の生成が可能となる。
【００６５】
高周波成分を除去した上記エンベロープ波形に基づいて、上記振動信号の生成する他の例として、上記特定の周波数（例えば、アクチュエータの共振周波数）の正弦波の強度（振幅）を上記エンベロープの形状に沿うように変化させた波形に、他の周波数（知覚閾値（例えば、１０００Ｈｚ）以下の周波数であり、上記特定の周波数とは異なる周波数。例えば、１６０Ｈｚ）の正弦波の強度（振幅）を上記エンベロープの形状に沿うように変化させた波形を加算し、当該加算した波形を用いてアクチュエータ３７３を振動させるための振動信号を生成してもよい。これによって、アクチュエータ３７３から、単一の周波数成分のみの振動ではなく、それぞれ複数の周波数成分を有する振動を情報処理装置３本体に与えることができる。また、後述するように、ユーザに振動を与えるアクチュエータが情報処理装置３に複数（例えば、情報処理装置３の左右に一対のアクチュエータ）設けられている場合、当該複数のアクチュエータの共振周波数が異なることが考えられる。このような場合であっても、一方の共振周波数の正弦波の強度（振幅）を上記エンベロープの形状に沿うように変化させた波形に、他方の共振周波数の正弦波の強度（振幅）を当該エンベロープの形状に沿うように変化させた波形を加算し、当該加算した波形を用いてそれぞれのアクチュエータを振動させるための振動信号を生成してもよい。この場合、同一の振動信号を用いて、それぞれのアクチュエータのエネルギー効率を考慮した振動信号の生成が可能となる。また、上記特定周波数や上記他の周波数は、アクチュエータの共振周波数以外のものとして、増幅回路（増幅部２７２）のエネルギー効率のよい周波数や情報処理装置３の筐体の共振周波数でもよい。
【００６６】
このように、上述した振動信号生成処理では、音声出力するための音声信号を用いて、振動アクチュエータを駆動するための振動信号を容易に生成することができる。例えば、「バリエーションに富んだ振動」をユーザに与えるための振動信号を一から生成しようとすると、その作業量は膨大になるが、音声信号から振動信号を生成することによって、当該振動信号を容易に生成することができる。また、上記振動信号を音声信号に基づいて生成することができるため、振動信号を予め別に用意することなく振動信号を利用することができる。また、音声信号をそのまま振動信号として用いる場合、振動として知覚できない振動信号が生成されてしまうことが考えられるが、上述した振動信号生成処理では、振動として知覚することができない周波数帯域の音声信号に対して低周波数帯域に周波数シフトすることによって、振動として知覚できる振動信号を生成している。したがって、上述した振動信号生成処理では、ユーザに振動を確実に知覚させることができる振動信号の生成が可能となる。
【００６７】
なお、上述した説明では、高周波成分を除去した上記エンベロープ波形に基づいて、アクチュエータ３７３を駆動するための振動信号を生成しており、振動信号の元になる音声信号における音圧レベルを残して当該振動信号を生成している。しかしながら、振動信号の元になる音声信号における音圧レベルを上げた（例えば、１より大きい定数を乗算）上記エンベロープ波形を用いてもいいし、振動信号の元になる音声信号における音圧レベルを下げた（例えば、１より小さい定数を乗算）上記エンベロープ波形を用いてもよい。
【００６８】
また、上述した説明では、音声信号に対して移動最大値を算出することによって、当該音声信号に対する周波数シフト処理を行う例を用いたが、他の方法によって音声信号の周波数をシフトしてもよい。本実施例では、所定タイミング（例えば、音圧がピークとなるタイミング）における音声信号の音圧情報を残して、知覚閾値（例えば、１０００Ｈｚ）以下の周波数帯域の音圧情報に変換することができればどのような方法で周波数シフト処理を行ってもよい。
【００６９】
第１の例として、振動信号の元となる音声信号が有する周波数成分が所定の周波数以下（例えば、１０００Ｈｚ以下や２０Ｈｚ以下）となるように、当該音声信号の波形データに対して移動する一定区間毎の区間最大値を抽出し、当該区間最大値のエンベロープ波形を用いることによって、当該音声信号における音圧情報に対する周波数シフト処理を行ってもよい。
【００７０】
第２の例として、振動信号の元となる音声信号の波形データにおける音圧の極大値を通る曲線を用いることによって、当該音声信号における音圧情報に対する周波数シフト処理を行ってもよい。なお、上述した各周波数シフト処理を行う例では、振動信号の元となる音声信号が有する音圧のプラス成分のみを用いて行ってもいいし、振動信号の元となる音声信号の音圧の絶対値を示す波形データ（すなわち、上記音声信号が有する音圧のマイナス成分をプラス側に折り返した波形データ）を用いて行ってもよい。
【００７１】
第３の例として、振動信号の元となる音声信号が有する周波数成分が所定の周波数以下（例えば、１０００Ｈｚ以下や２０Ｈｚ以下）となるように、当該音声信号の時間軸を所定率で伸長し、当該伸長後の音声信号の一部を切り出して連結することによって、当該音声信号における音圧情報に対する周波数シフト処理を行ってもよい。具体的には、上記音声信号の波形データを時間軸方向に２０倍に伸長した場合、当該音声信号の周波数が１／２０にシフトされる。そして、自己相関関数等を用いて周波数を伸長した音声信号に対する周波数の規則性を検出して波形を切り出し、当該切り出した波形を伸長前と同じ時間長さとなるように連結することによって、周波数シフト処理が行われた振動信号を生成することができる。この場合、これによって、アクチュエータ３７３から、それぞれ広帯域の周波数成分を有する振動を情報処理装置３本体に与えることができる。
【００７２】
なお、アクチュエータ３７３から複数の周波数成分を有する振動（単一の周波数成分のみの振動ではない振動）が情報処理装置３本体に与えられる場合、所定幅を有する周波数帯域の振動（広帯域の振動）がアクチュエータ３７３から情報処理装置３本体に与えられてもよい。この場合、１０Ｈｚ（ヘルツ）より低い低周波数成分から高周波数成分までの周波数帯域に対する全域に対してパワーを有する振動が、アクチュエータ３７３から情報処理装置３本体に与えられてもよい。ここで、人間の皮膚感覚を受容する感覚受容器は、メルケル盤、マイスナー小体、パチニ小体、およびルフィニ終末等で構成されており、メルケル盤が０−２００Ｈｚの振動に応答するとされ、マイスナー小体が２０−１００Ｈｚの振動に応答し３０Ｈｚ付近の振動が最も感度が高いとされ、パチニ小体が１００−３００Ｈｚの振動に応答し２００Ｈｚ付近の振動が最も感度が高いとされている。アクチュエータ３７３から情報処理装置３本体に与えられる振動を、人間が振動を感じることができるとされる０−１ｋＨｚの周波数帯域の振動または当該周波数帯域の一部の振動を有するとともに、これらの感覚受容器がそれぞれ応答可能な周波数成分を有するように生成することよって、リアリティに富んだ触り心地を再現してユーザに提示することができる。
【００７３】
また、振動信号の生成の際、上述した振動信号生成処理によって生成された振動信号に、さらに当該振動信号の元となった音声信号を加えてもよい。この場合、上記振動信号生成処理によって生成された低周波数帯域の信号で構成される振動信号に、高周波数帯域の信号が含み得る音声信号が加えられることになり、さらにバリエーションに富んだ振動信号の生成が可能となる。
【００７４】
本実施例では、情報処理装置３本体に振動を与えるための振動データと情報処理装置３から音声を出力するための音声データとが、それぞれ別に予め用意されていてもよい。この場合、振動と連動して出力され得る音声毎に、当該音声を出力するための音声信号を元にして振動信号が予め生成され、当該音声信号に対応付けて用意されている。そして、情報処理装置３本体から出力する音声に応じた音声データおよび当該音声に対応する振動データを、上記用意された音声データおよび振動データの中から抽出して読み出すことによって、音声制御信号および振動制御信号が生成される。
【００７５】
また、本実施例では、音声出力時に当該出力される音声に対応する振動信号を生成するように、音声出力に対してリアルタイムに当該音声出力に対応する振動信号生成処理が行われてもよい。この場合、情報処理装置３から音声を出力するための音声データが予め用意され、出力する音声と連動して振動を生成する場合、当該音声を出力するための音声信号を用いて上記振動信号生成処理をリアルタイムで行い、情報処理装置３から音声出力を行うとともに生成された振動信号に応じた振動を情報処理装置３本体からユーザに与える。
【００７６】
また、上述した振動信号生成処理では、音声信号の音圧情報を残して、知覚閾値（例えば、１０００Ｈｚ）以下の周波数帯域の音圧情報に変換する例を用いたが、他の変換態様でもよい。例えば、音声信号が示す高周波数帯域に属する音圧情報が、低周波数帯域の音圧情報に変換される周波数シフト処理が行われれば、変換後の音圧情報の周波数帯域の少なくとも一部に知覚閾値以上の周波数成分が含まれていてもよい。この場合、周波数シフト処理によって、振動としては知覚されない周波数帯域の信号が残ることが考えられるが、振動としては知覚されない周波数帯域の音声信号の少なくとも一部が振動として知覚可能な周波数帯域の信号に変化されるため、ある程度の周波数シフトの効果を期待することができる。
【００７７】
次に、情報処理装置３において行われる処理の詳細を説明する。まず、図１３を参照して、振動制御信号生成処理において用いられる主なデータについて説明する。図１３は、振動制御信号生成処理を行う際に、情報処理装置３の記憶部３２に記憶される主なデータおよびプログラムの一例を示す図である。
【００７８】
図１３に示すように、記憶部３２のデータ記憶領域には、音声制御信号データＤａ、周波数シフト処理データＤｂ、ローパスフィルタ処理データＤｃ、および振動制御信号データＤｄ等が記憶される。なお、記憶部３２には、図１３に示すデータの他、実行するアプリケーションで用いるデータ等、処理に必要なデータ等が記憶されてもよい。また、記憶部３２のプログラム記憶領域には、振動信号生成プログラムを構成する各種プログラム群Ｐａが記憶される。
【００７９】
音声制御信号データＤａは、振動制御信号（振動制御信号ＣＳ；図３参照）を生成する処理の元になる音声制御信号を示すデータである。例えば、音声制御信号データＤａは、制御部３１から音声出力部３６へ出力する音声制御信号を示すデータでもよいし、音声出力を前提としない音声データでもよい。
【００８０】
周波数シフト処理データＤｂは、音声制御信号に対して周波数シフト処理を行ったデータである。ローパスフィルタ処理データＤｃは、周波数シフト処理を行ったデータに対してローパスフィルタ処理を行ったデータである。
【００８１】
振動制御信号データＤｄは、ローパスフィルタ処理を行ったデータを用いて生成された振動制御信号を示すデータである。例えば、振動制御信号データＤｄは、制御部３１から振動発生部３７へ出力するための振動制御信号（振動制御信号ＣＳ；図３参照）を示すデータでもよい。
【００８２】
次に、図１４を参照して、情報処理装置３において行われる情報処理の一例である振動制御信号生成処理の詳細を説明する。なお、図１４は、情報処理装置３において実行される振動制御信号生成処理の一例を示すフローチャートである。ここで、図１４に示すフローチャートにおいては、情報処理装置３における処理のうち、音声制御信号から振動制御信号を生成する処理について主に説明し、これらの処理と直接関連しない他の処理については詳細な説明を省略する。また、図１４では、制御部３１が実行する各ステップを「Ｓ」と略称する。
【００８３】
制御部３１のＣＰＵは、記憶部３２のメモリ等を初期化し、プログラム格納部３３から振動信号生成プログラムをメモリに読み込む。そして、ＣＰＵによって当該振動信号生成プログラムの実行が開始される。図１４に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【００８４】
なお、図１４に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えておよび／または代えて別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理を制御部３１（ＣＰＵ）が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を上記ＣＰＵが実行し、その他のステップの処理を上記ＣＰＵ以外のプロセッサや専用回路が実行するようにしてもよく、上記フローチャートにおける全部のステップの処理を上記ＣＰＵ以外のプロセッサや専用回路が実行するようにしてもよい。
【００８５】
図１４において、制御部３１は、振動制御信号を生成する処理の元になる音声制御信号を取得して（ステップ６１）、次のステップに処理を進める。例えば、制御部３１は、音声制御信号データＤａに格納されている音声制御信号から、振動制御信号生成処理の対象とする音声制御信号を選択して取得する。
【００８６】
次に、制御部３１は、周波数シフト処理の一例である移動最大値算出処理を行って（ステップ６２）、次のステップに処理を進める。例えば、制御部３１は、上記ステップ６１で取得した音声制御信号が有する周波数成分が所定の周波数以下（例えば、知覚閾値以下であり、１０００Ｈｚ以下や２０Ｈｚ以下）となるように、当該音声制御信号が示す波形データ（例えば、横軸が時間、縦軸が音圧で示された波形データ）に対して移動する一定区間毎の最大値を算出する。
【００８７】
次に、制御部３１は、上記ステップ６２で算出した移動最大値のエンベロープ波形を生成して（ステップ６３）、次のステップに処理を進める。例えば、制御部３１は、上記ステップ６２で算出した移動最大値のエンベロープをとった信号を生成して、当該信号を示すデータを周波数シフト処理データＤｂに格納する。
【００８８】
次に、制御部３１は、上記ステップ６３で移動最大値のエンベロープをとった信号に対して、所定の遮断周波数（例えば、１０００Ｈｚや２０Ｈｚ）より高い周波数の成分を逓減させるローパスフィルタ処理を行い（ステップ６４）、次のステップに処理を進める。例えば、制御部３１は、周波数シフト処理データＤｂに格納されているエンベロープをとった信号に対して、上記遮断周波数が設定されたローパスフィルタ処理を行って高周波成分を除去し、当該処理後の信号を示すデータをローパスフィルタ処理データＤｃに格納する。
【００８９】
次に、制御部３１は、高周波成分を除去したエンベロープを示す信号に基づいて、振動制御信号を生成し（ステップ６５）、当該フローチャートによる処理を終了する。例えば、制御部３１は、特定の周波数の正弦波の強度（振幅）を、ローパスフィルタ処理データＤｃに格納されている信号の形状に沿うように変化させ、当該変化後の正弦波を示すデータを振動制御信号として生成して、振動制御信号データＤｄに格納する。
【００９０】
次に、図１５を参照して、情報処理の一例であるゲーム処理において用いられる主なデータについて説明する。図１５は、ゲーム処理を行う際に、情報処理装置３の記憶部３２に記憶される主なデータおよびプログラムの一例を示す図である。なお、以下のゲーム処理の説明では、仮想世界内を仮想オブジェクトＯＢＪが移動するゲーム例（図４参照）を用いる。
【００９１】
図１５に示すように、記憶部３２のデータ記憶領域には、操作データＤｅ、オブジェクト位置データＤｆ、音声設定情報データＤｇ、音声制御信号データＤｈ、振動制御信号データＤｉ、音声データＤｊ、および表示画像データＤｋ等が記憶される。なお、記憶部３２には、図１５に示すデータの他、実行するアプリケーションで用いるデータ等、処理に必要なデータ等が記憶されてもよい。また、記憶部３２のプログラム記憶領域には、ゲームプログラムを構成する各種プログラム群Ｐｂが記憶される。例えば、各種プログラム群Ｐｂは、振動制御信号を生成して情報処理装置３に振動を与えるための振動信号生成プログラム、音声制御信号を生成して情報処理装置３から音声を出力するための音声生成プログラム、および表示部３５に画像を表示するための画像表示プログラム等が含まれる。また、音声出力とリアルタイムに振動制御信号を生成する場合、各種プログラム群Ｐｂは、当該音声出力するための音声制御信号から振動制御信号を生成するための振動制御信号生成プログラムが含まれる。
【００９２】
操作データＤｅは、入力部３４に対する操作内容を示すデータであり、例えばタッチパネル３４１に対するタッチ位置を示すデータを含んでいる。なお、入力部３４が情報処理装置３本体の姿勢や動きを検出するためのセンサを含んでいる場合、操作データＤｅは、情報処理装置３本体の姿勢や動きを算出するためのデータ（例えば、情報処理装置３本体に生じる加速度を示すデータや情報処理装置３本体の角速度を示すデータ）を含んでもよい。
【００９３】
オブジェクト位置データＤｆは、仮想世界内を移動する仮想オブジェクトＯＢＪ（図４参照）の位置を示すデータである。
【００９４】
音声設定情報データＤｇは、音源種類データＤｇ１等を含む。音源種類データＤｇ１は、情報処理装置３から出力する音声の種類を示すデータである。
【００９５】
音声制御信号データＤｈは、制御部３１から音声出力部３６へ出力する音声制御信号を示すデータである。振動制御信号データＤｉは、音声出力部３６へ出力する音声制御信号に基づいて生成された振動制御信号を示すデータであり、制御部３１から振動発生部３７へ出力する振動制御信号（振動制御信号ＣＳ；図３参照）を示すデータである。
【００９６】
音声データＤｊは、音声制御信号を生成するために予め用意されたデータであり、情報処理装置３から出力する音声の種類毎（例えば、音声を生じさせる仮想オブジェクト毎やＢＧＭの種類毎）にそれぞれ格納されている。
【００９７】
表示画像データＤｋは、仮想オブジェクトＯＢＪ等の各仮想オブジェクトの画像や背景画像等を生成して表示部３５に表示するためのデータである。
【００９８】
次に、図１６を参照して、情報処理装置３において行われる情報処理の一例であるゲーム処理の詳細を説明する。なお、図１６は、情報処理装置３において実行されるゲーム処理の一例を示すフローチャートである。ここで、図１６に示すフローチャートにおいては、情報処理装置３における処理のうち、仮想オブジェクトＯＢＪが仮想世界を移動することに応じた振動および音声が出力される処理について主に説明し、これらの処理と直接関連しない他の処理については詳細な説明を省略する。また、図１６では、制御部３１が実行する各ステップを「Ｓ」と略称する。
【００９９】
制御部３１のＣＰＵは、記憶部３２のメモリ等を初期化し、プログラム格納部３３からゲームプログラムをメモリに読み込む。そして、ＣＰＵによって当該ゲームプログラムの実行が開始される。図１６に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【０１００】
なお、図１６に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えておよび／または代えて別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理を制御部３１（ＣＰＵ）が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を上記ＣＰＵが実行し、その他のステップの処理を上記ＣＰＵ以外のプロセッサや専用回路が実行するようにしてもよく、上記フローチャートにおける全部のステップの処理を上記ＣＰＵ以外のプロセッサや専用回路が実行するようにしてもよい。
【０１０１】
図１６において、制御部３１は、初期設定を行い（ステップ４１）、次のステップに処理を進める。例えば、制御部３１は、表示部３５に表示するための仮想世界を構築し、各パラメータを初期設定する。一例として、制御部３１は、仮想世界における初期位置に仮想オブジェクトＯＢＪを配置してオブジェクト位置データＤｂを設定する。また、制御部３１は、表示部３５の表示画面に表示する表示範囲を仮想世界に対して設定する。
【０１０２】
次に、制御部３１は、入力部３４から操作データを取得し、操作データＤｅを更新して（ステップ４２）、次のステップに処理を進める。
【０１０３】
次に、制御部３１は、仮想世界において仮想オブジェクトＯＢＪを移動させる処理を行い（ステップ４３）、次のステップに処理を進める。例えば、制御部３１は、仮想世界内に予め定められた移動経路に沿って、予め定められた移動速度で仮想オブジェクトＯＢＪを移動させ、当該移動後の位置を用いてオブジェクト位置データＤｆを更新する。他の例として、制御部３１は、入力部３４に対する操作（情報処理装置３本体を移動させたり傾けたりする操作を含む）に応じて仮想オブジェクトＯＢＪを移動させる場合、上記ステップ４２において取得した操作データに応じて、仮想世界内で仮想オブジェクトＯＢＪを移動させ、当該移動後の位置を用いてオブジェクト位置データＤｆを更新する。
【０１０４】
次に、制御部３１は、音源の種類を設定して（ステップ４４）、次のステップに処理を進める。例えば、制御部３１は、音声生成プログラムおよび仮想世界に配置されている仮想オブジェクトＯＢＪの種類に基づいて、当該仮想オブジェクトＯＢＪが移動する際の音声の種類を設定し、当該音声の種類を示すデータを用いて音源種類データＤｇ１を更新する。
【０１０５】
次に、制御部３１は、音声設定情報に基づいて、音声制御信号を設定し（ステップ４５）、次のステップに処理を進める。例えば、制御部３１は、音声生成プログラムおよび音声設定情報データＤｇ（音源種類データＤｇ１）に基づいて、音声制御信号を生成して音声制御信号データＤｆに格納する。具体的には、制御部３１は、音源種類データＤｇ１が示す種類の音声を情報処理装置３のスピーカから出力されるように、音声データＤｊからデータを読み出して音声制御信号を生成する。
【０１０６】
次に、制御部３１は、上記ステップ４５において生成された音声制御信号を用いて、振動制御信号生成処理を行って（ステップ４６）、次のステップに処理を進める。なお、上記ステップ４６で行う振動制御信号生成処理については、図１４を用いて説明した振動制御信号生成処理と同様であるため、ここでは詳細な説明を省略する。上記ステップ４６においては、上記ステップ４５において生成された音声制御信号に対して、周波数シフト処理およびローパスフィルタ処理を行うことによって、振動制御信号（振動発生部３７へ出力する振動制御信号ＣＳ；図３参照）を生成し、振動制御信号データＤｉに格納する。これによって、音声制御信号に応じた振動が情報処理装置３本体に与えられる。なお、音声出力する音声制御信号に応じた振動制御信号が予め生成されている場合、上記ステップ４６では、予め生成されている振動制御信号から音声制御信号に対応する振動制御信号を抽出する処理を行う。
【０１０７】
次に、制御部３１は、表示制御処理を行い（ステップ４７）、次のステップに処理を進める。例えば、制御部３１は、画像生成プログラムおよびオブジェクト位置データＤｆに基づいて、仮想オブジェクトＯＢＪを配置した仮想世界の画像を生成し、設定されている表示範囲内の仮想世界の画像を表示部３５に表示する処理を行う。
【０１０８】
次に、制御部３１は、制御信号出力処理を行い（ステップ４８）、次のステップに処理を進める。例えば、制御部３１は、振動制御信号データＤｉが示す振動制御信号ＣＳを振動発生部３７へ出力する。これによって、振動発生部３７は、振動制御信号ＣＳに応じた振動をアクチュエータ３７３から発生させる。また、制御部３１は、音声制御信号データＤｈが示す音声制御信号を音声出力部３６へ出力する。これによって、音声出力部３６は、音声制御信号に応じた音声をスピーカから出力する。
【０１０９】
次に、制御部３１は、ゲーム処理を終了するか否かを判断する（ステップ４９）。ゲーム処理を終了する条件としては、例えば、ゲーム処理を終了させる条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。制御部３１は、ゲーム処理を終了しない場合に上記ステップ４２に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。
【０１１０】
このように、上述した実施例に係る処理では、音声出力するための音声制御信号を用いて、アクチュエータ３７３を駆動するための振動制御信号を容易に生成することができ、振動制御信号を予め別に用意することなく振動制御信号を用いた処理を行うことができる。また、上述した振動制御信号生成処理では、振動として知覚することができない周波数帯域の音声制御信号を、低周波数帯域に周波数シフトすることによって、振動として知覚可能な振動制御信号を生成しているため、ユーザに振動を確実に知覚させることができる振動制御信号の生成が可能となる。
【０１１１】
なお、上述した実施例では、情報処理装置３にアクチュエータ３７３が１つ設けられている例を用いたが、ユーザに振動を与えるアクチュエータが複数設けられてもよい。一例として、情報処理装置３の左右に一対のアクチュエータを設けてもよい。この場合、制御部３１は、１つの音声信号からそれぞれのアクチュエータを駆動するための振動制御信号をそれぞれ生成してもいいし、それぞれ別の音声信号（例えば、左スピーカから音声を出力するための左音声信号と右スピーカから音声を出力するための右音声信号）からそれぞれのアクチュエータを駆動するための振動制御信号をそれぞれ生成してもよい。
【０１１２】
例えば、アクチュエータ３７３が複数設けられており、それぞれのアクチュエータ３７３から独立した振動を発生させる場合、アクチュエータ３７３毎に振動を制御するための振動制御信号が制御部３１から出力される。この場合、コーデック部３７１は、制御部３１から出力された振動制御信号をそれぞれ復号して、アクチュエータ３７３毎に振動を発生させるためのアナログ振動信号を生成して、増幅部３７２へそれぞれ出力する。そして、増幅部３７２は、コーデック部３７１から出力されたアナログ振動信号の電流／電圧の振幅変化をそれぞれ増大させて駆動信号を生成して、複数のアクチュエータ３７３へそれぞれ出力する。複数のアクチュエータが情報処理装置３に備えられている場合、ユーザの皮膚における異なる２点（一例として、情報処理装置３本体を把持するユーザの左手と右手）に刺激を与えることによって擬似的な１点の刺激を知覚させるファントムセンセーションを利用して、当該アクチュエータは、表示部３５に表示している所定画像の位置が振動源であるように擬似的に知覚させる振動を情報処理装置３のユーザに与えることも可能となる。
【０１１３】
また、上述した説明では情報処理（振動制御信号生成処理、ゲーム処理）を情報処理装置３で行う例を用いたが、上記情報処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、情報処理装置３がさらに他の装置（例えば、別のサーバ、他のゲーム装置、他の携帯端末）と通信可能に構成されている場合、上記情報処理における処理ステップは、さらに当該他の装置が協働することによって実行してもよい。一例として、他の装置において、仮想世界の画像の生成処理、振動制御信号の生成処理、および音声制御信号の生成処理の少なくとも１つが行われ、当該処理の結果を示す画像データや制御信号を情報処理装置３が取得することも考えられる。このように、上記情報処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述した情報処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。なお、少なくとも１つの情報処理装置により構成される情報処理システムは、複数の情報処理装置により構成される情報処理システム（いわゆる、複数の装置の複合体で構成されるシステム）と１つの情報処理装置によって構成される情報処理システム（いわゆる、複数のユニットが構成された単独の装置で構成されるシステム）とが考えられる。また、上記実施例においては、情報処理装置３の制御部３１が所定の振動信号生成プログラムを実行することによって、上述したフローチャートによる処理が行われたが、情報処理装置３が備える専用回路によって上記情報処理の一部または全部が行われてもよい。
【０１１４】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置（据置型のゲーム装置）と携帯型の情報処理装置（携帯型のゲーム装置）との間で上記情報処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した情報処理の各ステップの処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【０１１５】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。また、上述した情報処理装置で用いられる各構成部品の形状、数、配置位置、部品が有する機能等は、単なる一例に過ぎず他の形状、数、配置位置であってもいいし、他の機能を有するものであっても、本実施例を実現できることは言うまでもない。一例として、情報処理装置に振動を与えるアクチュエータや情報処理装置から音声を出力するスピーカは、３つ以上であってもよい。また、情報処理装置は、複数の表示部を有してもよい。また、上述した説明では、携帯型の装置（例えば、タブレット端末）を情報処理装置３の一例として用いたが、情報処理装置３は、携帯型の装置より相対的に大きな手持ち型の装置または可搬型の装置でもよい。ここで、手持ち型の装置とは、ユーザが手に持って操作することができる装置であり、上述した携帯型の装置を含む概念である。また、可搬型の装置とは、当該装置を用いる際に当該装置本体を移動させたり、当該装置を用いる際に当該本体の姿勢を変えたり、当該装置本体を持ち運びしたりできる装置であり、上述した手持ち型の装置や携帯型の装置を含む概念である。
【０１１６】
また、上記振動信号生成プログラムは、外部メモリ等の外部記憶媒体を通じて情報処理装置３に供給されるだけでなく、有線または無線の通信回線を通じて情報処理装置３に供給されてもよい。また、上記振動信号生成プログラムは、情報処理装置３内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記振動信号生成プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記振動信号生成プログラムを記憶する情報記憶媒体としては、上記振動信号生成プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のゲームプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【０１１７】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１１８】
以上のように、本発明は、バリエーションに富んだ振動を出力するための振動信号を容易に生成すること等を目的として、例えば振動生成システム、振動生成装置、振動信号生成プログラム、および振動生成方法等として有用である。
【符号の説明】
【０１１９】
３…情報処理装置
３１…制御部
３２…記憶部
３３…プログラム格納部
３４…入力部
３４１…タッチパネル
３５…表示部
３６…音声出力部
３７…振動発生部
３７１…コーデック部
３７２…増幅部
３７３…アクチュエータ
【図１】
0006361872.tif 000002
【図２】
0006361872.tif 000003
【図３】
0006361872.tif 000004
【図４】
0006361872.tif 000005
【図５】
0006361872.tif 000006
【図６】
0006361872.tif 000007
【図７】
0006361872.tif 000008
【図８】
0006361872.tif 000009
【図９】
0006361872.tif 000010
【図１０】
0006361872.tif 000011
【図１１】
0006361872.tif 000012
【図１２】
0006361872.tif 000013
【図１３】
0006361872.tif 000014
【図１４】
0006361872.tif 000015
【図１５】
0006361872.tif 000016
【図１６】
0006361872.tif 000017