JP6527339B2 - 振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法 - Google Patents

振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法 Download PDF

Info

Publication number
JP6527339B2
JP6527339B2 JP2015013041A JP2015013041A JP6527339B2 JP 6527339 B2 JP6527339 B2 JP 6527339B2 JP 2015013041 A JP2015013041 A JP 2015013041A JP 2015013041 A JP2015013041 A JP 2015013041A JP 6527339 B2 JP6527339 B2 JP 6527339B2
Authority
JP
Japan
Prior art keywords
vibration
algorithm
vibration signal
generating
signal generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015013041A
Other languages
English (en)
Other versions
JP2016137037A (ja
Inventor
圭 山下
圭 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2015013041A priority Critical patent/JP6527339B2/ja
Priority to US14/995,494 priority patent/US9901819B2/en
Publication of JP2016137037A publication Critical patent/JP2016137037A/ja
Application granted granted Critical
Publication of JP6527339B2 publication Critical patent/JP6527339B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法に関し、特に例えば、ユーザに与える振動を生成する振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法に関する。
従来、装置本体に振動を与えるゲーム装置が知られている(例えば、特許文献1参照)。例えば、上記特許文献1で開示されたゲーム装置は、予め定められた振動パターンで振動することによって、当該ゲーム装置を把持するユーザの指や手に振動を伝える。
特開2002−191864号公報
しかしながら、上記特許文献1で開示されているような従来のゲーム装置では、ユーザの指や手に伝える振動のバリエーションに乏しかった。
それ故に、本発明の目的は、バリエーションに富んだ振動を出力するための振動信号を生成することができる振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法を提供することである。
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
本発明の振動信号生成プログラムの一構成例は、アプリケーションの実行に応じて振動信号を生成する振動信号生成装置に含まれるコンピュータで実行される。振動信号生成プログラムは、パラメータ取得手段、アルゴリズム設定手段、および振動信号生成手段として、コンピュータを機能させる。パラメータ取得手段は、アプリケーションの実行中に所定のパラメータを取得する。アルゴリズム設定手段は、振動を生成するタイミングおよび強度を少なくとも示す所定のアルゴリズムを、パラメータ取得手段によって取得されたパラメータに応じて動的に変化させて設定する。振動信号生成手段は、振動または音の素材とアルゴリズム設定手段が設定したアルゴリズムとを用いて、または当該素材を生成可能なフィルタとアルゴリズム設定手段が設定したアルゴリズムとを用いて、振動信号を生成する。
上記によれば、バリエーションに富んだ振動を出力するための振動信号を生成することができる。
また、上記振動信号生成プログラムは、音声信号生成手段として、さらにコンピュータを機能させてもよい。音声信号生成手段は、アルゴリズム設定手段が設定した同じアルゴリズムを用いて、音声信号を生成する。
上記によれば、発振タイミングと発音タイミングとを容易に一致させることができ、振動信号および音声信号を生成するための処理負荷が軽減される。
また、上記振動信号生成プログラムは、出力手段として、さらにコンピュータを機能させてもよい。出力手段は、振動信号生成手段により生成された振動信号を示す振動と音声信号生成手段により生成された音声信号を示す音声とを略同時に出力する。
上記によれば、生成された振動信号によって振動するタイミングと生成された音声信号による音声が出力するタイミングとを容易に一致させることができる。
また、上記振動信号生成手段は、振動または音の第1の素材とアルゴリズム設定手段が設定したアルゴリズムとを用いて、または当該第1の素材を生成可能なフィルタとアルゴリズム設定手段が設定したアルゴリズムとを用いて、振動信号を生成してもよい。上記音声信号生成手段は、第1の素材とは異なる音の第2の素材と同じアルゴリズムとを用いて、または当該第2の素材を生成可能なフィルタと同じアルゴリズムとを用いて、音声信号を生成してもよい。
上記によれば、振動信号を生成するための素材と音声信号を生成するための素材とを用いることによって、それぞれの特徴に合わせた振動および音声の出力が可能となる。
また、上記振動信号生成手段は、素材を生成可能なフィルタとアルゴリズム設定手段が設定したアルゴリズムとを用いて、振動信号を生成してもよい。上記音声信号生成手段は、素材と同じアルゴリズムを用いて、音声信号を生成してもよい。
上記によれば、フィルタおよびアルゴリズムの組み合わせによって振動信号を生成することによって、振動生成のために複数の素材を用意する必要がないため、振動信号生成処理が容易となる。また、素材およびアルゴリズムの組み合わせによって音声信号を生成することによって、収録で準備した素材を用いることも可能となり、リアルな音声を出力することが可能となる。
また、上記振動信号生成プログラムは、音声信号生成手段として、さらにコンピュータを機能させてもよい。音声信号生成手段は、素材を生成可能な同じフィルタを用いて、音声信号を生成する。
上記によれば、振動信号および音声信号を生成するための処理負荷が軽減される。
また、上記パラメータ取得手段は、所定のオブジェクトを仮想世界に配置して表示画面に表示するアプリケーションの実行中に、当該オブジェクトに関するパラメータを取得してもよい。上記アルゴリズム設定手段は、オブジェクトに関するパラメータに応じて、所定のアルゴリズムを変化させてもよい。
上記によれば、仮想世界に配置されたオブジェクトに応じた振動を出力するための振動信号を生成することができる。
また、上記パラメータ取得手段は、オブジェクトが仮想世界に配置される際の物理シミュレーションに基づいて、オブジェクトに関するパラメータを取得してもよい。
上記によれば、仮想世界におけるオブジェクトの物理現象に応じた振動を出力するための振動信号を生成することができる。
また、上記パラメータ取得手段は、仮想世界においてオブジェクトが発する振動を模したパラメータを、オブジェクトに関するパラメータとして取得してもよい。
上記によれば、仮想世界においてオブジェクトが発する振動を模した振動を出力するための振動信号を生成することができる。
また、上記パラメータ取得手段は、仮想世界におけるオブジェクトの状況に基づいて、オブジェクトに関するパラメータを取得してもよい。
上記によれば、仮想世界におけるオブジェクトの状況に応じた振動を出力するための振動信号を生成することができる。
また、上記振動信号生成手段は、複数の振動の素材または複数の音の素材とアルゴリズム設定手段が設定したアルゴリズムとを用いて、振動信号を生成してもよい。
上記によれば、複数の素材を用いることによって、よりリアルな振動を出力するための振動信号を生成することができる。
また、上記フィルタは、少なくとも1つの双2次フィルタで構成されてもよい。
上記によれば、振動信号を生成するために用いられるフィルタを容易に構成することができる。
また、上記振動信号生成プログラムは、フィルタ設定手段として、さらにコンピュータを機能させてもよい。フィルタ設定手段は、フィルタのパラメータを、パラメータ取得手段によって取得されたパラメータに応じて変化させる。
上記によれば、所定のアプリケーションの実行に応じて、振動信号をリアルタイムに変化させることができる。
また、上記振動信号生成手段は、素材生成手段を含んでもよい。素材生成手段は、アプリケーションの実行結果に応じて、リアルタイムに素材を生成する。
上記によれば、素材数に制限されることなくバリエーションに富んだ振動を出力するための振動信号を生成することができ、予め素材を用意する必要がないため、振動生成のための準備作業を軽減することができる。
また、上記アルゴリズム設定手段は、パラメータ取得手段によって取得されたパラメータに応じて、各振動の強さ、各振動が生じる時間間隔、各振動がそれぞれ生じている時間幅、および各振動のランダムさの少なくとも1つを算出して、アルゴリズムを設定してもよい。
上記によれば、バリエーションに富んだ振動を出力するための振動信号を生成することができる。
また、上記パラメータ取得手段は、第1のアプリケーションの実行中に第1のパラメータを取得することが可能であるとともに、当該第1のアプリケーションとは異なる第2のアプリケーションの実行中に第2のパラメータを取得することが可能でもよい。上記アルゴリズム設定手段は、パラメータ取得手段によって取得された第1のパラメータと第2のパラメータとが同じである場合、同じアルゴリズムを設定してもよい。
上記によれば、実行するアプリケーションが異なるものであっても、当該アプリケーションの実行に応じて取得されるパラメータが同じであれば、結果的に同じ振動をユーザに与えることができるため、複数のアプリケーションに対して共通に用いることができる振動波形生成手法として有用となる。
また、上記アルゴリズム設定手段は、パラメータ取得手段によって取得されたパラメータに応じて、非ループのアルゴリズムを設定してもよい。上記振動信号生成手段は、非ループのアルゴリズムを用いて、非ループの振動信号を生成してもよい。
上記によれば、触感が単調になりにくい振動を出力するための振動信号を生成することができる。
また、上記素材は、ユーザが振動を認識可能な上限周波数以下の帯域の波形データでもよい。
上記によれば、リアルな振動を出力するための振動信号を生成することができる。
また、上記素材は、ユーザが聴音できない周波数帯域の波形データを含んでもよい。
上記によれば、リアルな振動を出力するための振動信号を生成することができる。
また、上記フィルタは、ユーザが振動を認識可能な上限周波数以下の特性周波数が設定された複数のフィルタの組によって構成されてもよい。
上記によれば、リアルな振動を出力するための振動信号を制限されたフィルタ数で生成することができる。
また、上記フィルタの組は、ユーザが聴音できない周波数帯域に特性周波数が属するフィルタを含んでもよい。
上記によれば、リアルな振動を出力するための振動信号を制限されたフィルタ数で生成することができる。
また、本発明の振動信号生成プログラムの他の構成例は、振動信号を生成する振動信号生成装置に含まれるコンピュータで実行される。振動信号生成プログラムは、アルゴリズム設定手段、振動信号生成手段、および音声信号生成手段として、前記コンピュータを機能させる。アルゴリズム設定手段は、振動を生成するタイミングおよび強度を少なくとも示す所定のアルゴリズムを設定する。振動信号生成手段は、振動または音の素材と前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、または当該素材を生成可能なフィルタと前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、振動信号を生成する。音声信号生成手段は、前記アルゴリズム設定手段が設定した同じアルゴリズムを用いて、音声信号を生成する。
上記によれば、発振タイミングと発音タイミングとを容易に一致させることができる振動信号と音声信号とを生成することができ、振動信号および音声信号を生成するための処理負荷が軽減される。
また、本発明は、上記各手段を備える振動信号生成装置および振動信号生成システムや上記各手段で行われる動作を含む振動信号生成方法の形態で実施されてもよい。
本発明によれば、バリエーションに富んだ振動を出力するための振動信号を生成することができる。
本発明の一実施例に係る情報処理装置3の外観の一例を示す平面図 情報処理装置3の構成の一例を示すブロック図 振動発生部37の構成の一例を示すブロック図 表示部35の表示画面に表示されている仮想オブジェクトOBJが移動する際に、情報処理装置3本体が振動するとともに音声が出力される一例を示す図 情報処理装置3本体を振動させるための振動信号(振動波形)を生成する処理の一例を説明するための図 情報処理装置3本体を振動させるための振動信号(振動波形)を生成する処理の他の例を説明するための図 強度配列順(インパルスシーケンス)を生成するための処理手順の一例を示す図 図7に示された処理手順によって生成された強度配列順の一例を示す図 強度配列順を設定する際に用いられる物理パラメータの一例とそれらの相関についての一例を説明するための図 共振フィルタを設定するための処理手順の一例を示す図 材質パラメータから減衰パラメータおよびスペクトルパラメータを算出する処理の一例を示す図 材質毎に算出された減衰パラメータおよびスペクトルパラメータの一例を示す図 共振フィルタ設定処理において用いられる窓関数の一例を示す図 周波数列生成処理による変化の一例を示す図 図10に示した共振フィルタ設定処理によって設定された共振フィルタを用いて生成された振動波形(振動制御信号の波形)の一例を示す図 グレイン波形の一例を示す図 情報処理装置3の記憶部32に記憶される主なデータおよびプログラムの一例を示す図 情報処理装置3において実行されるゲーム処理の一例を示すフローチャート
図面を参照して、本発明の一実施形態に係る振動信号生成プログラムを実行する振動信号生成装置(振動信号生成システム)について説明する。本発明の振動信号生成プログラムは、任意のコンピュータシステムで実行されることによって適用することができるが、振動信号生成装置(振動信号生成システム)の一例として携帯型の情報処理装置3(タブレット端末)を用い、情報処理装置3で実行される振動信号生成プログラムを用いて説明する。例えば、情報処理装置3は、交換可能な光ディスクやメモリーカード等の記憶媒体内に記憶された、または、他の装置から受信したプログラムや予めインストールされたプログラム(例えば、ゲームプログラム)を実行可能であり、一例として、仮想空間に設定された仮想カメラから見た仮想空間画像等のコンピュータグラフィックス処理により生成された画像を画面に表示することができる。情報処理装置3は、一般的なパーソナルコンピュータ、据置型ゲーム機、携帯電話機、携帯ゲーム機、PDA(Personal Digital Assistant)等のデバイスであってもかまわない。なお、図1は、情報処理装置3の外観の一例を示す平面図である。
図1において、情報処理装置3は、表示部35、音声出力部36、およびアクチュエータ373を備えている。一例として、表示部35は、情報処理装置3本体前面に設けられている。例えば、表示部35は、LCD(Liquid Crystal Display:液晶表示装置)によって構成されるが、例えばELを利用した表示装置などが利用されてもよい。また、表示部35は、立体視可能な画像を表示することが可能な表示装置であってもよい。
表示部35の表示画面を覆うように、入力部34の一例であるタッチパネル341が設けられている。タッチパネル341は、所定の入力面(例えば、表示部35の表示画面)に対して入力された位置を検出する。なお、入力部34は、情報処理装置3のユーザが操作入力可能な入力装置であり、どのような入力装置であってもよい。例えば、入力部34として、スライドパッド、アナログスティック、十字キー、および操作ボタン等の操作部が、情報処理装置3本体の側面、前面、背面等に備えられてもよい。また、入力部34は、情報処理装置3本体の姿勢や動きを検出するためのセンサであってもよい。例えば、入力部34は、情報処理装置3本体に生じる加速度を検出する加速度センサや情報処理装置3本体の回転量を検出する角速度センサ(ジャイロセンサ)等であってもよい。
音声出力部36は、音声を出力するスピーカを含み、図1に示した一例では、情報処理装置3の上側面や背面に設けられたスピーカ(音声出力部36)を含んでいる。音声出力部36は、後述する制御部31から出力される音声信号(音声制御信号)をD/A変換してアナログ音声信号を生成し、当該アナログ音声信号をスピーカへ出力して音声を出力させる。
アクチュエータ373は、情報処理装置3の本体に所定の振動を与える振動アクチュエータ(振動子)であり、後述する振動発生部37に含まれる。図1に示した一例では、アクチュエータ373は、情報処理装置3本体内部の中央付近に設けられたアクチュエータ373を有する。具体的には、図1の破線領域で示すように、ユーザが情報処理装置3の左端部を左手で把持し右端部を右手で把持した場合に、当該左手と右手との間の位置となる表示部35の中央部にアクチュエータ373が設けられる。また、振動発生部37は、後述する制御部31から出力される振動制御信号をD/A変換してアナログ振動信号を生成し、当該アナログ振動信号を増幅した駆動信号をアクチュエータ373へ出力してアクチュエータ373を駆動させる。
なお、図1から明らかなように、情報処理装置3に設けられる表示部35の表示画面と音声出力部36とがそれぞれ近接する位置に配置されており、表示部35の表示画面とアクチュエータ373とがそれぞれ近接する位置に配置されている。また、音声出力部36およびアクチュエータ373は、それぞれ互いに近接する位置に配置されているが、別の位置に配設される別のユニットである。これによって、振動出力専用のユニットと音声出力専用のユニットとを備えることができるため、汎用のユニットを共用する場合と比較すると精度の高い振動および音声をそれぞれ出力することができる。なお、振動出力するためのユニットと音声出力するためのユニットとを組み合わせて一体化したモジュールを、情報処理装置3に設けてもよい。
次に、図2を参照して、情報処理装置3の内部構成について説明する。なお、図2は、情報処理装置3の構成の一例を示すブロック図である。
図2において、上述した入力部34、表示部35、音声出力部36、および振動発生部37の他に、制御部31、記憶部32、およびプログラム格納部33を備える。なお、情報処理装置3は、制御部31を少なくとも含む情報処理装置と他の装置とを含む1以上の装置によって構成されてもよい。
制御部31は、各種の情報処理を実行するための情報処理手段(コンピュータ)であり、例えばCPUである。制御部31は、各種の情報処理として、入力部34に対するユーザの操作に応じた処理等を実行する機能を有する。例えば、CPUが所定のプログラムを実行することによって、制御部31における各機能が実現される。
制御部31は、各種の情報処理として、表示部35に表示する画像の表示制御を行う。また、制御部31は、各種の情報処理として、スピーカから出力する音声を制御するための音声制御信号(例えば、デジタル音声信号)を、音声出力部36へ出力する。また、制御部31は、各種の情報処理の一例として、表示部35に表示する画像等に基づいて、アクチュエータ373の振動を制御するための振動制御信号(例えば、デジタル振動信号)を生成し、当該振動制御信号を振動発生部37へ出力する。
記憶部32は、制御部31が上記情報処理を実行する際に用いる各種のデータを記憶する。記憶部32は、例えばCPU(制御部31)がアクセス可能なメモリである。
プログラム格納部33は、プログラムを記憶(格納)する。プログラム格納部33は、制御部31がアクセス可能な記憶装置(記憶媒体)であればどのようなものであってもよい。例えば、プログラム格納部33は、制御部31を含む情報処理装置3内に設けられる記憶装置であってもよいし、制御部31を含む情報処理装置3に着脱自在に装着される記憶媒体であってもよい。また、プログラム格納部33は、制御部31とネットワークを介して接続される記憶装置(サーバ等)であってもよい。制御部31(CPU)は、ゲームプログラムの一部または全部を適宜のタイミングで記憶部32に読み出し、読み出されたプログラムを実行するようにしてもよい。
次に、図3を参照して、振動発生部37の構成について説明する。なお、図3は、振動発生部37の構成の一例を示すブロック図である。
図3において、振動発生部37は、コーデック部371、増幅部372、およびアクチュエータ(振動子)373を備えている。
コーデック部371は、制御部31から出力された振動制御信号を取得して所定の復号処理を行ってアナログ振動信号を生成し、増幅部372へ出力する。例えば、アクチュエータ373に振動を発生させる場合、当該振動を制御するための振動制御信号(例えば、振動制御信号CS)が制御部31から出力される。この場合、コーデック部371は、制御部31から出力された振動制御信号を復号して、アクチュエータ373に振動を発生させるためのアナログ振動信号(例えば、アナログ振動信号AS)を生成して、増幅部372へ出力する。
増幅部372は、コーデック部371から出力されたアナログ振動信号を増幅してアクチュエータ373を駆動するための駆動信号を生成し、アクチュエータ373へ出力する。例えば、増幅部372は、コーデック部371から出力されたアナログ振動信号(例えば、アナログ振動信号AS)の電流/電圧の振幅変化をそれぞれ増大させて駆動信号(例えば、駆動信号DS)を生成して、アクチュエータ373へ出力する。
アクチュエータ373は、増幅部372から出力された駆動信号に応じて駆動することによって、情報処理装置3の本体に当該駆動信号に応じた振動を与える。例えば、アクチュエータ373は、任意の周波数によって振動可能なリニア振動アクチュエータであり、図1に示すように、表示部35の表示画面の中心に設けられている。ここで、アクチュエータ373が情報処理装置3本体に振動を与える方式は、どのようなものでもかまわない。例えば、アクチュエータ373は、偏心モーター(ERM:Eccentric Rotating Mass)によって振動を生じさせる方式や、リニア・バイブレータ(LRA:Linear Resonant Actuator)によって振動を生じさせる方式や、ピエゾ(圧電)素子によって振動を生じさせる方式等を用いた構成であってもよい。アクチュエータ373が振動を生じさせる方式に応じて、増幅部372から出力される駆動信号が生成されれば、どのような方式のアクチュエータであっても様々な振動を情報処理装置3のユーザに与えることができる。
なお、上述した説明では、コーデック部371で生成されたアナログ振動信号が増幅されてアクチュエータ373を駆動するための駆動信号が生成される例を用いたが、コーデック部371から増幅部372へ出力される信号は、デジタル信号であってもよい。例えば、パルス幅変調(PWM:Pulse Width Modulation)制御によってアクチュエータ373を駆動する場合、コーデック部371がアクチュエータ373をオン/オフするためのパルス信号を生成すればよい。この場合、コーデック部371から増幅部372へ出力される信号は、パルス波を用いて駆動が制御されるデジタル振動信号となり、増幅部372は、当該デジタル振動信号を増幅することになる。
次に、情報処理装置3が行う具体的な処理を説明する前に、図4〜図6を用いて情報処理装置3において行われる処理の概要について説明する。以下の説明では、表示部35の表示画面内を仮想オブジェクトOBJが移動するゲームを行う際の処理を、情報処理装置3において行われる情報処理の一例として用いる。なお、図4は、表示部35の表示画面に表示されている仮想オブジェクトOBJが移動する際に、情報処理装置3本体が振動するとともに音声が出力される一例を示す図である。図5は、情報処理装置3本体を振動させるための振動信号(振動波形)を生成する処理の一例を説明するための図である。図6は、情報処理装置3本体を振動させるための振動信号(振動波形)を生成する処理の他の例を説明するための図である。
図4に示す例では、仮想空間内を移動する仮想オブジェクトOBJが表示部35の表示画面に表示される。仮想オブジェクトOBJは、ユーザ操作に応じて、または自動的に仮想空間内を移動して表示部35の表示画面に表示される。具体的には、仮想オブジェクトOBJは、仮想空間内に設置された板面上を転がって移動する球体である。
仮想オブジェクトOBJが仮想空間内の板面上を転がって移動することに応じて、情報処理装置3から音声が出力されるとともに、情報処理装置3本体が振動する。例えば、情報処理装置3本体に設けられたスピーカ(音声出力部36)は、表示部35の表示画面に表示されて移動する仮想オブジェクトOBJが音源となった音声を出力する。また、情報処理装置3本体に設けられたアクチュエータ373は、仮想オブジェクトOBJが転がって移動する際に生じる振動を生じさせる。本実施例では、仮想オブジェクトOBJが転がって移動する際の物理パラメータや仮想オブジェクトOBJとなる球体の材質や上記板面の材質等のパラメータに応じて、アクチュエータ373を振動させるための振動信号(アクチュエータ373を振動させる振動波形を生成するための振動制御信号)がリアルタイムに生成される。
次に、図5を参照して、振動信号(振動波形)を生成する処理の第1の例を説明する。第1の例における振動信号生成処理では、予め振動波形を示すデータを記憶して当該振動波形による振動を生成するのではなく、所定のアプリケーションの実行に応じた(例えば、ゲームアプリケーションの実行による仮想空間の状況に応じた)振動波形をリアルタイムに生成し、当該生成した振動波形を用いて情報処理装置3本体を振動させる。具体的には、第1の例における振動信号生成処理では、所定のアルゴリズムに基づいて振動波形を生成しており、所定のアプリケーションの実行に応じて物理パラメータ(物体の材質、物体の空間位置、物体の速度、物体の大きさ、物体の粒密度等を示すパラメータ)を適宜取得して、当該物理パラメータを当該アルゴリズムに渡して振動波形をリアルタイムに生成する。
第1の例における振動信号生成処理では、コンピュータ音楽の分野において実現されつつあるグラニュラーシンセシス(Granular Synthesis)と呼ばれる音声合成方式を利用して振動波形を生成する。具体的には、本振動信号生成処理では、上記グラニュラーシンセシスで用いられるグレイン(Grain)として振動波形を利用することによって、アクチュエータ373を振動させる振動制御信号をリアルタイムに生成する。ここで、グレインは、アクチュエータ373を振動させる振動波形の素材となるものであるが、単独では振動として認識し難い非常に短い振動波形(典型的には、減衰正弦波)であり、複数のグレインを所定の規則に基づいて配置することによって新たな振動を合成することができる。
図5に示すように、複数種のグレイン(図5の例では第1グレイン、第2グレイン、および第3グレイン)を用意することも可能であり、一例として振動源となる物体の材質(球体が板面上を転がる際の振動波形を生成する場合、球体の材質と板面の材質)に応じてグレインをそれぞれ用意することもできる。それぞれのグレインは、実世界の振動や実世界の音の収録によって生成してもよいし、後述するフィルタ(例えば、双2次フィルタのセット)を用いて生成してもよい。
例えば、これらのグレインを配置する規則として、強度配列順(インパルスシーケンス)が用いられる。強度配列順は、配置するグレインの種類、配置するグレインの時間位置、配置するグレインの大きさ(強度)等を示す非ループの規則(アルゴリズム)である。そして、一例として、強度配列順は、物体が移動する等の動作に応じて取得可能な物理パラメータに基づいて、リアルタイムに変化させて設定する。例えば、同じ物体同士であっても、当該物体が転がる場合に生成される強度配列順と、当該物体が擦れる場合に生成される強度配列順とは、異なるものとなる。そして、同じグレイン(図5の例では第1グレイン、第2グレイン、および第3グレイン)を用いた場合であっても、当該グレインを転がる振動の強度配列順に基づいて配置して畳み込むことによって物体が転がる際の振動波形を生成することができ、当該グレインを擦れる振動の強度配列順に基づいて配置して畳み込むことによって、物体が擦れる際の振動波形を生成することができる。
なお、本振動信号生成処理で用いるグレインは、音声合成処理で用いられるグレインに対して高周波成分が除去されていてもよい。例えば、人間の可聴周波数領域に対して、人間が振動として知覚できる周波数領域は、相対的に低い周波数領域(1000Hz以下)となる。したがって、振動信号生成処理で用いるグレインは、それぞれ人間が振動として知覚できる周波数領域に属する振動波形であればよい。したがって、音声を生成するためのグレインから高周波成分を除去することによって、振動信号生成処理で用いるグレインを生成してもよい。なお、高周波成分が除去されたグレインを振動信号生成処理に用いることによって、生成された振動制御信号によってアクチュエータ373を振動させた際の音漏れを防止することができる。また、本振動信号生成処理で用いるグレインは、人間が聴音できない周波数帯域(不可聴領域)の波形データを含んでいてもよい。この場合、不可聴領域を含むグレインを振動信号生成処理に用いることによって、生成される振動制御信号によってアクチュエータ373を振動させた際も不可聴領域を含む周波数の振動がユーザに与えられることになる。
また、本振動信号生成処理で用いる強度配列順は、音声合成処理において生成される強度配列順と同じものを用いてもよい。このように振動波形と音声波形とを同時に生成する場合に共通の強度配列順を用いることによって、発振タイミングと発音タイミングとを容易に一致させることができ、強度配列順の生成処理の負荷も軽減することが可能となる。
次に、図6を参照して、振動信号(振動波形)を生成する処理の第2の例を説明する。第2の例における振動信号生成処理でも、予め振動波形を示すデータを記憶して当該振動波形による振動を生成するのではなく、所定のアプリケーションの実行に応じた振動波形をリアルタイムに生成し、当該生成した振動波形を用いて情報処理装置3本体を振動させる。具体的には、第2の例における振動信号生成処理でも、所定のアルゴリズムに基づいて振動波形を生成しており、所定のアプリケーションの実行に応じて物理パラメータを適宜取得して、当該物理パラメータを当該アルゴリズムに渡して振動波形をリアルタイムに生成する。
第2の例における振動信号生成処理では、上述した強度配列順(インパルスシーケンス)を所定の共振フィルタ(Resonant Filter)に通すことによって、振動波形を生成する。具体的には、本振動信号生成処理では、上記第1の例における信号において用いられるグレインの生成が可能な共振フィルタを用いて、当該共振フィルタを用いて上述した強度配列順を処理することによって、アクチュエータ373を振動させる振動制御信号をリアルタイムに生成する。
例えば、上記共振フィルタは、複数の双2次フィルタ(Biquad Filter)で構成され、双2次フィルタそれぞれが特性周波数および減衰率をパラメータとして設定される。そして、本振動信号生成処理で用いる共振フィルタは、1つのインパルスを通すことによって上記第1の例における信号において用いられるグレインの生成が可能となるように設定されている。このような共振フィルタに、上述した強度配列順を通すことによって、上記第1の例で生成した振動波形と同じ振動波形でアクチュエータ373を振動させる振動制御信号をリアルタイムに生成することができる。
図6に示すように、第2の例における振動信号生成処理においても、上記第1の例と同様に、物体が転がる場合に生成される強度配列順と、物体が擦れる場合に生成される強度配列順とは、異なるものとなる。そして、上記第1の例で用いたグレインの生成が可能な共振フィルタに転がる振動の強度配列順を通すことによって物体が転がる際の振動波形を生成することができ、上記第1の例で用いたグレインの生成が可能な共振フィルタに擦れる振動の強度配列順を通すことによって、物体が擦れる際の振動波形を生成することができる。
なお、本振動信号生成処理で用いる共振フィルタについても、高周波成分が除去されたグレイン生成が可能であればよいため、当該共振フィルタを構成するフィルタの個数を削減したもの(例えば、4つの双2次フィルタ)を用いることができる。したがって、共振フィルタの構成が単純になるとともに、当該共振フィルタを用いた処理負荷を軽減することができる。また、高周波成分が除去されたグレインの生成可能な共振フィルタを振動信号生成処理に用いることによって、生成された振動制御信号によってアクチュエータ373を振動させた際の音漏れを防止することができる。
次に、図7〜図16を用いて、情報処理装置3において行われる振動信号生成処理の詳細を説明する。なお、図7は、強度配列順(インパルスシーケンス)を生成するための処理手順の一例を示す図である。図8は、図7に示された処理手順によって生成された強度配列順の一例を示す図である。図9は、強度配列順を設定する際に用いられる物理パラメータの一例とそれらの相関についての一例を説明するための図である。図10は、共振フィルタを設定するための処理手順の一例を示す図である。図11は、材質パラメータから減衰パラメータおよびスペクトルパラメータを算出する処理の一例を示す図である。図12は、材質毎に算出された減衰パラメータおよびスペクトルパラメータの一例を示す図である。図13は、共振フィルタ設定処理において用いられる窓関数の一例を示す図である。図14は、周波数列生成処理による変化の一例を示す図である。図15は、図10に示した共振フィルタ設定処理によって設定された共振フィルタを用いて生成された振動波形(振動制御信号の波形)の一例を示す図である。図16は、本実施例で用いられるグレイン波形の一例を示す図である。なお、情報処理装置3において行われる振動信号生成処理は、後述する振動信号生成プログラムを実行することによって行われ、本説明では、上述した第2の例における振動信号生成処理について説明する。
図7において、強度配列順を生成する際、所定の乱数発生関数を用いて、ホワイトノイズを生成する。ここで、ホワイトノイズは、フーリエ変換を行ってパワースペクトルを見たときに、全ての周波数成分の強度が同じとなる乱数列である。第1の例として、ホワイトノイズは、[0,1)区間の乱数を一様分布にしたがって生成する関数の出力値をそのまま用いることが考えられる。第2の例として、ホワイトノイズは、一様乱数の各値に対して、累積分布関数の逆関数をかける等の変数変換を行って、意図した確率密度にしたがう乱数列を生成することが考えられる。第3の例として、ホワイトノイズは、一様乱数を複数個足し合わせることによって、近似的に正規分布にしたがう乱数列を生成することが考えられる。例えば、物体が転がる際の強度配列順を生成する際は、[0,1)区間で一様分布にしたがって生成された乱数を12個足し合わせた後、6を減算して3で除算することによって、近似的に正規分布にしたがう乱数列を算出してホワイトノイズを生成してもよい。
次に、ホワイトノイズ{W}を入力データとして、時間間隔のためのフラクタルノイズ{FΔT,n}と振動強度および振動幅のためのフラクタルノイズ{FA,n}を生成する。例えば、ホワイトノイズを入力データとするフラクタルフィルタ処理を行うことによって、フラクタルノイズを近似的に生成する。ここで、フラクタルノイズは、パワースペクトルで見たときに、周波数fの成分の強度がfのべき乗に比例するような乱数列であり、強度配置順におけるランダムさを設定するものとなる。一例として、1−zero、1−poleのIIRフィルタF(k=1,2,3…)を複数個直列に接続することによって、周波数fの成分の強度が1/fβに比例するフラクタルフィルタを近似的に実現することができる。
IIRフィルタFは、
Figure 0006527339
で定められる。ここで、x(n)は、n番目の出力値を意味する。Lは、基本周期を示す正の定数である。概ねL以下の周期においてよい近似が実現され、Lより大きい周期において理想値よりもスペクトルパワーが小さくなる。cは、近似係数であり、1.0より大きい定数である。cの値が小さいほど近似精度が上がるが、近似精度を上げるために必要となるフィルタ個数Nも多くなる。βは、パワースペクトルの傾きを表す0.0以上2.0以下のスペクトルパラメータであり、後述するパラメータ変換処理によって時間間隔のためのβΔTと振動強度および振動幅のためのβとがそれぞれ随時算出されて更新される。
N個のIIRフィルタFkを直列に接続したフラクタルフィルタの伝達関数は、
Figure 0006527339
となる。ここで、Nは、近似に使用する1−zero、1−poleのIIRフィルタの個数であり、多いほど近似精度が上がるが処理負荷も大きくなる。物体が転がる際の強度配列順を生成する際は、一例としてL=1024,c=8.0,N=4に設定してもよい。また、フラクタルノイズを生成する処理においては、出力データが適切な範囲に収まるように、所定の係数を乗算して出力してもよい。一例として、強度配列順の生成に際しては、出力データが概ね区間[−1,1]に収まるように上記係数を設定してもよい。
次に、時間間隔のためのフラクタルノイズ{FΔT,n}または振動強度および振動幅のためのフラクタルノイズ{FA,n}を入力データとして、定められた範囲[min,max]に収まるように、時間間隔のための変数変換{ΔT}、振動強度のための変数変換{A}、および振動幅のための変数変換{w}を行う。一例として、区間[−1,1]が区間[min,max]となるように単純に線形変換することによって、上記変数変換を行う。他の例として、区間[min,max]上で定められた確率分布にしたがうように確率変数変換することによって、上記変数変換を行う。ここで、minとmaxの値は、後述するパラメータ変換処理によって時間間隔のためminΔTおよびmaxΔTと、振動強度のためのminおよびmaxと、振動幅のためのminおよびmaxがそれぞれ随時算出されて更新される。そして、min=max=C(定数)の場合には、出力値が常にCとなる。また、min>maxの場合には、内部的にminとmaxの値を交換して変数変換を行う。そして、計算結果が範囲[min,max]の外になった場合にはクランプ処理を行うことによって、変数変換処理を行う。
次に、変数変換された時間間隔ΔT、変数変換された振動強度A、および変数変換された振動幅wを入力データとして、強度配列順(インパルスシーケンス)の波形データを順次生成する。ここで、時間間隔ΔTは、n番目の山型波形と(n+1)番目の山型波形との間の時間間隔を示し、振動強度Aは、強度配列順におけるn番目の山型波形の高さを示し、振動幅wは、強度配列順におけるn番目の山型波形の幅を示している。表す。ただし、w=0の場合は、山型波形の幅が1サンプル分であるとみなす。
強度配列順における山型波形の生成方法にはいくつかの手法が考えられるが、一例として、時刻t=0において高さA、幅wの山型波形を生成する場合の生成式は、
余弦波を元にした山型波形の場合、
Figure 0006527339
三角波を元にした山型波形の場合、
Figure 0006527339
となる。ここで、ξは、山型波形の鋭さを表す非負のパラメータであり、ξを0に近づけると山型波形が矩形波に近い形状となり、ξの値を大きくすると山型波形の極大値付近の波形が鋭い形状となるが、ξ=1に固定してもよい。図8は、このような生成式に基づいて生成された強度配列順(インパルスシーケンス)の波形データの一例である。
ここで、上述したパラメータ変換処理について説明する。上記振動信号生成処理におけるパラメータ変換処理では、所定のアプリケーションの実行に応じて生成される仮想空間内の物理現象に対応する物理パラメータを取得し、当該物理パラメータに基づいて上述した各処理に用いる低レイヤのパラメータを算出する。例えば、パラメータ変換処理に際しては、事前に実施した物理シミュレーション等から得られた、上記物理パラメータと低レイヤのパラメータとの相関関係を利用してもよい。一例として、球体の転がり現象においては、事前に実施した物理シミュレーションに対して線形回帰分析を行うことによって、図9に示したような相関関係が得られており、これらの相関関係に基づいて内部計算することによって、低レイヤのパラメータを算出する。
次に、図10を参照して、上記振動信号生成処理における共振フィルタ設定処理について説明する。まず、上記共振フィルタ設定処理では、所定のアプリケーションの実行に応じて生成される仮想空間内の材質に対応する材質パラメータを取得し、当該材質パラメータに対応した配合となる減衰パラメータの組(α,α)またはスペクトルパラメータの組(S,S)を出力するパラメータ変換処理が行われる。例えば、プリセット材質が木、ガラス、金属の3種類の場合、上記パラメータ変換処理における入力値となる材質パラメータは、「木×0.7+ガラス×0.2+金属×0.1」というように、それぞれの材質を配合する比率で示される。
図11に示されるように、上記パラメータ変換処理では、グローバルパラメータ(αまたはS)とリラティブパラメータ(α,S)とを軸に持つ二次元空間上において、プリセット材質に対応する点の座標を、指定された比率で足し合わせることによって出力値を計算する。なお、材質毎の減衰パラメータの組(α,α)およびスペクトルパラメータの組(S,S)の値については、収録した振動や音を解析することによって設定してもよい。例えば、図12に示すように、木、ガラス、金属の3種類の材質について、減衰パラメータの組(α,α)およびスペクトルパラメータの組(S,S)の値をそれぞれ設定することができる。
次に、周波数シフトレンジ(ωmin,ωmax)を入力データとして、この区間内で非負の値をとる窓関数W(ω)を生成する周波数シフト窓生成処理を行う。窓関数W(ω)は、後述する周波数列生成処理において周波数を生成する際に用いられ、窓関数W(ω)を用いることによって区間(ωmin,ωmax)の範囲内でのみ周波数列生成処理が適用される。
例えば、窓関数W(ω)は、
Figure 0006527339
を満たす関数となる。ここで、dγは、
Figure 0006527339
であり、窓関数の値が0から1に遷移する際の遷移幅を示している。そして、γ=0の場合、dγ=(ωmax−ωmin)/2となり、W(ω)の値は緩やかに遷移する。また、γ=1の場合、dγ=0となり、W(ω)は矩形状の窓になる。一例として、0から1への遷移に余弦関数を用いる場合、
Figure 0006527339
で定義された窓関数(図13参照)を用いることができる。ここで、γ=0の場合には、W(ω)はHann窓に一致する。なお、物体が転がる際の共振フィルタを設定する際は、γ=0.9に固定してもよい。また、ωminに基本周波数ωfundと同じ値を用い、ωmaxにナイキスト周波数を用いてもよい。
次に、スペクトルパラメータの組(S,S)の値および基本周波数ωfundを入力データとして、周波数列{ω}を生成する周波数列生成処理を行う。周波数列の生成においては、上記周波数シフト窓生成処理で生成された窓関数W(ω)が用いられる。例えば、
Figure 0006527339
を用いて、n番目の周波数ωを算出する。
ここで、スペクトルパラメータの組(S,S)は、基本周波数ωfundの整数倍であるnωfundからどの程度ずらしてψnを生成するかに関係する。例えば、(S,S)=(1,0)の場合、ψ=nωfundとなる。特に、グローバルパラメータSは、周波数列{ψ}全体を整数倍した周波数からどの程度ずらして生成するかに関係する。一方、リラティブパラメータSは、周波数が大きくなるにつれて整数倍周波数からのずれをどの程度大きくしていくかに関係する。rは、窓関数の出力値であり、シフトされた周波数ψと整数倍周波数nωfundとの間の内分比を示している。そして、rは、区間(ωmin,ωmax)の外では0となるので、区間内でのみ周波数列生成処理が行われる。nの増加に伴って、nωfund,ω,ψがそれぞれどのように変化するかを図示すると、図14に示したようになる。
上記周波数列生成処理では、周波数列を無限に生成できるが、本実施形態では人間が認識可能な周波数帯を超えた時点でωの生成を終了する。振動信号(すなわち、触覚呈示用の信号)に用いる場合、ω<1000Hzの範囲内でのみ周波数列{ω}を生成すればよい。
次に、減衰パラメータの組(α,α)と周波数列{ω}とを入力データとして、各周波数に対応した減衰係数列{α}を生成する減衰係数列生成処理を行う。例えば、
Figure 0006527339
を用いて、n番目の減衰係数αを算出する。
減衰係数αは、その値が大きいほど、該当周波数ωの成分が速く減衰する。そして、αの算出式から明らかなように、同じ減衰パラメータを用いた場合、一般的に高周波の方が速く減衰することになる。また、グローバルパラメータαは、全ての周波数の減衰係数に関係しており、その値が大きいほど速く減衰する。一方、リラティブパラメータαは、周波数が大きくなるにつれて減衰係数をどの程度大きくしていくかに関係し、値が大きいほど高周波での減衰係数の増え方がより大きくなる。
次に、周波数および減衰係数の組(α,ω)を入力データとして、当該組に対応したインパルス応答を有するデジタルフィルタFを順次生成するフィルタバンク生成処理を行う。例えば、デジタルフィルタFは、
Figure 0006527339
を用いて定義される双2次フィルタ(Biquad Filter)として実現される。ここで、x(k)は、k番目の入力値を示している。y(k)は、k番目の出力値を示している。そして、fは、デジタル波形のサンプリングレートを示している。また、デジタルフィルタFnに対して幅1、高さ1のインパルスデータを入力すると、
Figure 0006527339
で示される減衰正弦波を近似するデジタル波形が出力される。そして、デジタルフィルタF1,F2,F3,…を全て並列に接続した合成フィルタを構成することによって、指定された材質の振動を実現する共振フィルタ(材質フィルタ)を設定する。図15は、上述したこのような生成式に基づいて生成された強度配列順生成処理によって生成された強度配列順(インパルスシーケンス)を示す波形データを、上述した共振フィルタ設定処理によって設定された共振フィルタに通すことによって得られた振動波形(振動制御信号の波形)の一例を示す図である。また、図16は、上述した共振フィルタ設定処理によって設定された共振フィルタに対して幅1、高さ1のインパルスデータを入力することによって得られた、指定された材質に対応するグレイン波形の一例を示す図である。
なお、上述した強度配列順生成処理および共振フィルタ設定処理の説明では、上述した第2の例における振動信号生成処理を行う場合の例を用いたが、当該強度配列順生成処理は、上述した第1の例における振動信号生成処理においても同様の処理で実現してもよい。この場合、実世界の振動や実世界の音の収録によって生成したグレインや、上述した共振フィルタ設定処理によって設定された共振フィルタに対して幅1、高さ1のインパルスデータを入力することによって得られるグレインを、上記強度配列順生成処理によって生成された強度配列順(インパルスシーケンス)に基づいて配置して畳み込むことによって、所定のアプリケーションの実行に応じた振動波形をリアルタイムに生成することができる。
次に、図17を参照して、情報処理の一例であるゲーム処理において用いられる主なデータについて説明する。図17は、ゲーム処理を行う際に、情報処理装置3の記憶部32に記憶される主なデータおよびプログラムの一例を示す図である。なお、以下のゲーム処理の説明では、仮想空間内の板面上を仮想オブジェクトOBJが移動するゲーム例(図4参照)を用いる。
図17に示すように、記憶部32のデータ記憶領域には、操作データDa、オブジェクト位置データDb、物理パラメータデータDc、材質パラメータデータDd、強度配列順生成処理データDe、共振フィルタ設定処理データDf、振動制御信号データDg、音声制御信号データDh、および表示画像データDi等が記憶される。なお、記憶部32には、図17に示すデータの他、実行するアプリケーションで用いるデータ等、処理に必要なデータ等が記憶されてもよい。また、記憶部32のプログラム記憶領域には、ゲームプログラムを構成する各種プログラム群Paが記憶される。例えば、各種プログラム群Paは、情報処理装置3においてゲーム処理を行って表示部35に画像を表示するためのゲームプログラム、振動制御信号を生成して情報処理装置3に振動を与えるための振動信号生成プログラム、および音声制御信号を生成して情報処理装置3から音声を出力するための音声生成プログラム等が含まれる。
操作データDaは、入力部34に対する操作内容を示すデータであり、例えばタッチパネル341に対するタッチ位置を示すデータを含んでいる。なお、入力部34が情報処理装置3本体の姿勢や動きを検出するためのセンサを含んでいる場合、操作データDaは、情報処理装置3本体の姿勢や動きを算出するためのデータ(例えば、情報処理装置3本体に生じる加速度を示すデータや情報処理装置3本体の角速度を示すデータ)を含んでもよい。
オブジェクト位置データDbは、仮想空間内を移動する仮想オブジェクトOBJ(図4参照)の位置を示すデータである。
物理パラメータデータDcは、ゲーム処理が行われることに応じて得られる仮想オブジェクトOBJおよび板面の物理現象を示す物理パラメータを示すデータである。例えば、物理パラメータは、仮想オブジェクトOBJの質量、仮想オブジェクトOBJの速度、仮想オブジェクトOBJの大きさ、仮想オブジェクトOBJや仮想オブジェクトOBJが移動する板面の粒密度、板面表面の凹凸サイズ、板面表面の凹凸フラクタル性等を示すパラメータである。
材質パラメータデータDdは、ゲーム処理が行われることに応じて得られる仮想オブジェクトOBJおよび板面の材質を示す材質パラメータを示すデータである。例えば、材質パラメータは、仮想オブジェクトOBJの材質や仮想オブジェクトOBJが接している部位の板面の材質等を示すパラメータである。
強度配列順生成処理データDeは、強度配列順生成処理において算出される各種パラメータや強度配列順生成処理によって生成される強度配列順を示すデータである。
共振フィルタ設定処理データDfは、共振フィルタ設定処理において算出される各種パラメータや共振フィルタ設定処理によって設定される共振フィルタを示すデータである。
振動制御信号データDgは、強度配列順生成処理および共振フィルタ設定処理によって生成された振動制御信号を示すデータであり、制御部31から振動発生部37へ出力する振動制御信号(振動制御信号CS;図3参照)を示すデータである。
音声制御信号データDhは、制御部31から音声出力部36へ出力する音声制御信号を示すデータである。
表示画像データDiは、仮想オブジェクトOBJ等の各仮想オブジェクトの画像や背景画像等を生成して表示部35に表示するためのデータである。
次に、図18を参照して、情報処理装置3において行われる情報処理の一例であるゲーム処理の詳細を説明する。なお、図18は、情報処理装置3において実行されるゲーム処理の一例を示すフローチャートである。ここで、図18に示すフローチャートにおいては、情報処理装置3における処理のうち、ゲームプログラムおよび振動信号生成プログラムを実行することによって、仮想オブジェクトOBJを仮想世界において移動させ、当該移動に応じた振動が出力される処理について主に説明し、これらの処理と直接関連しない他の処理については詳細な説明を省略する。また、図18に示すフローチャートにおいては、上述した第2の例における振動信号生成処理を用いて、振動制御信号が生成される一例を用いる。また、図18では、制御部31が実行する各ステップを「S」と略称する。
制御部31のCPUは、記憶部32のメモリ等を初期化し、プログラム格納部33からゲームプログラムをメモリに読み込む。そして、CPUによって当該ゲームプログラムの実行が開始される。また、制御部31のCPUは、プログラム格納部33から振動信号生成プログラムもメモリに読み込む。そして、上記ゲームプログラムの実行と並行して当該振動信号生成プログラムの実行もCPUによって開始される。図18に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートであり、典型的にはステップ41〜ステップ51の処理が上記ゲームプログラムを実行することによって行われ、ステップ71〜ステップ75の処理が上記振動信号生成プログラムを実行することによって行われる。
なお、図18に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えておよび/または代えて別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理を制御部31(CPU)が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を上記CPUが実行し、その他のステップの処理を上記CPU以外のプロセッサや専用回路が実行するようにしてもよく、上記フローチャートにおける全部のステップの処理を上記CPU以外のプロセッサや専用回路が実行するようにしてもよい。
図18において、制御部31は、ゲームプログラムを実行する際の初期設定を行い(ステップ41)、次のステップに処理を進める。例えば、制御部31は、表示部35に表示するための仮想空間を構築し、各パラメータを初期設定する。一例として、制御部31は、仮想空間における板面上の初期位置に仮想オブジェクトOBJを配置してオブジェクト位置データDbを設定する。また、制御部31は、表示部35の表示画面に表示する表示範囲を仮想空間に対して設定する。
次に、制御部31は、入力部34から操作データを取得し、操作データDaを更新して(ステップ42)、次のステップに処理を進める。
次に、制御部31は、仮想空間における板面上に沿って仮想オブジェクトOBJを移動させる処理を行い(ステップ43)、次のステップに処理を進める。例えば、制御部31は、仮想空間内に予め定められた移動経路に沿って、予め定められた移動速度で板面上を転がるように仮想オブジェクトOBJを移動させ、当該移動後の位置を用いてオブジェクト位置データDbを更新する。他の例として、制御部31は、入力部34に対する操作(情報処理装置3本体を移動させたり傾けたりする操作を含む)に応じて仮想オブジェクトOBJを移動させる場合、上記ステップ42において取得した操作データに応じて、仮想空間内で仮想オブジェクトOBJを移動させ、当該移動後の位置を用いてオブジェクト位置データDbを更新する。
一方、振動信号生成プログラムが並行して実行されており、上記ステップ43の処理に応じて更新されたオブジェクト位置データDbに基づいた仮想オブジェクトOBJおよび板面の物理現象を示す物理パラメータや、オブジェクト位置データDbに基づいた仮想オブジェクトOBJの材質および仮想オブジェクトOBJが接している板面の材質を示す材質パラメータ等を受け付けている。そして、振動信号生成プログラムが実行されることによって、これらのパラメータに基づいた振動制御信号が生成される。なお、振動信号生成プログラムが実行されることによって行われる振動信号生成処理については、後述するステップ71〜ステップ75の処理で並行して行われるが、これらの処理の説明は後述する。
ステップ43の処理の後、制御部31は、並行して振動信号生成プログラムを実行することによって生成された振動制御信号を取得し(ステップ48)、次のステップに処理を進める。例えば、制御部31は、生成された振動制御信号を取得して、振動制御信号データDgを更新する。
次に、制御部31は、表示制御処理を行い(ステップ49)、次のステップに処理を進める。例えば、制御部31は、画像生成プログラムおよびオブジェクト位置データDbに基づいて、仮想オブジェクトOBJを配置した仮想空間の画像を生成し、設定されている表示範囲内の仮想世界の画像を表示部35に表示する処理を行う。
次に、制御部31は、制御信号出力処理を行い(ステップ50)、次のステップに処理を進める。例えば、制御部31は、振動制御信号データDgが示す振動制御信号CSを振動発生部37へ出力する。これによって、振動発生部37は、振動制御信号CSに応じた振動をアクチュエータ373から発生させる。また、制御部31は、音声制御信号データDhが示す音声制御信号を音声出力部36へ出力する。これによって、音声出力部36は、音声制御信号に応じた音声をスピーカから出力する。
制御部31は、音声生成プログラムおよび仮想世界に配置されている仮想オブジェクトOBJの種類に基づいて、当該仮想オブジェクトOBJが移動する際の音声(音源)の種類を設定し、当該音声の種類を示すデータを用いて音声制御信号を生成して音声制御信号データDhを更新している。なお、上記ステップ45で生成した同じ強度配列順を用いて、音声制御信号を生成してもよい。この場合、実世界で予め収録された音声素材(音声グレイン)を上記強度配列順に基づいて配置して畳み込むことによって、音声波形を生成してもよい。また、上記ステップ47で設定した共振フィルタと同じまたは別の音声用共振フィルタに、上記強度配列順を示すデータを通すことによって、音声波形を生成してもよい。なお、上記ステップ47で設定した共振フィルタとは別の音声用共振フィルタを用いて音声波形を生成する場合、当該共振フィルタを構成する双2次フィルタの少なくとも1つを同じ双2次フィルタで構成してもよい。例えば、上記ステップ47で設定した振動用共振フィルタに高周波帯域に対応する双2次フィルタを少なくとも1つ追加することによって、音声用共振フィルタを構成してもよい。
次に、制御部31は、ゲーム処理を終了するか否かを判断する(ステップ51)。ゲーム処理を終了する条件としては、例えば、ゲーム処理を終了させる条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。制御部31は、ゲーム処理を終了しない場合に上記ステップ42に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。
一方、制御部31は、並行して振動信号生成プログラムを実行することによって、ゲームプログラムが実行に応じて生成される物理パラメータを取得して(ステップ71)、次のステップに処理を進める。例えば、制御部31は、上記ステップ43において更新されたオブジェクト位置データDbに配置された仮想オブジェクトOBJおよび板面の物理現象を示す物理パラメータ(例えば、仮想オブジェクトOBJの移動方法(転がりながら移動している、擦れ合いながら移動している等)、移動速度、質量、大きさ、粒密度や、仮想オブジェクトOBJが接している板面の凹凸サイズ、凹凸フラクタル性、粒密度等を示すパラメータ)を抽出し、当該物理パラメータを用いて物理パラメータデータDcを更新する。
次に、制御部31は、上記ステップ71で取得した物理パラメータを用いて、強度配列順生成処理を行って(ステップ72)、次のステップに処理を進める。例えば、制御部31は、強度配列順生成処理で生成した強度配列順を示すデータを用いて、強度配列順生成処理データDeを更新する。なお、上記ステップ72で行う強度配列順生成処理については、図7〜図9を用いて説明した強度配列順生成処理と同様であるため、ここでは詳細な説明を省略する。
次に、制御部31は、ゲームプログラムが実行に応じて生成される材質パラメータを取得して(ステップ73)、次のステップに処理を進める。例えば、制御部31は、上記ステップ43において更新されたオブジェクト位置データDbに配置された仮想オブジェクトOBJの材質および仮想オブジェクトOBJが接している板面の材質を示す材質パラメータを抽出し、当該材質パラメータを用いて材質パラメータデータDdを更新する。
次に、制御部31は、上記ステップ46で取得した材質パラメータを用いて、共振フィルタ設定処理を行って(ステップ74)、次のステップに処理を進める。例えば、制御部31は、共振フィルタ設定処理で生成した共振フィルタを示すデータを用いて、共振フィルタ設定処理データDfを更新する。なお、上記ステップ74で行う共振フィルタ設定処理については、図10〜図16を用いて説明した共振フィルタ設定処理と同様であるため、ここでは詳細な説明を省略する。
次に、制御部31は、振動制御信号生成処理を行って(ステップ75)、当該フローチャートによる処理を終了する。なお、上記ステップ75で行う振動制御信号生成処理では、上記ステップ72で生成された強度配置順を示すデータを、上記ステップ74で設定された共振フィルタに通すことによって出力されるデジタル波形を用いて振動制御信号(振動発生部37へ出力する振動制御信号CS;図3参照)が生成される。これによって、ゲームアプリケーションの実行に応じた振動制御信号がリアルタイムに生成され、当該振動制御信号に応じた振動を情報処理装置3本体に与えることができる。
このように、上述した実施例に係る処理では、情報処理アプリケーション(例えば、ゲームアプリケーション)の実行に応じた振動制御信号をリアルタイムに生成して、当該振動制御信号に応じた振動を情報処理装置3本体に与えることができる。また、予め用意した単純な振動波形だけでなく、強度配列順を変化させて複雑な振動波形をリアルタイムに生成することが可能であるため、触感が単調になり難くバリエーションに富んだ振動をユーザに与えることが可能となる。また、実行する情報処理アプリケーションが異なるものであっても、当該アプリケーションの実行に応じて取得される物理パラメータや材質パラメータが同じであれば、結果的に同じ振動をユーザに与えることができる。したがって、上述した実施例に係る処理は、複数のアプリケーションに対して共通に用いることができる振動波形生成手法として有用となる。
なお、上述した実施例では、共振フィルタ設定処理において、共振フィルタを構成する双2次フィルタの数を決定する際、人間が認識可能な周波数帯(例えば、1000Hz)を超えた時点で周波数列{ω}の生成を終了することによって当該双2次フィルタの数を制限しているが、他の方法によって双2次フィルタの数を制限してもよい。例えば、生成する周波数列{ω}の数自体を所定数(例えば、4つ)に制限することによって、共振フィルタを構成する双2次フィルタの数を当該所定数に制限してもよい。また、周波数帯による制限および設定数による制限等から構成される複数の制限を設定し、少なくとも1つの制限を満たした場合に周波数列{ω}の生成を終了してもよい。
また、上述した実施例では、生成する振動にランダムさを与えるために、強度配列順生成処理においてフラクタルノイズを用いて強度配列順を生成しているが、他の手法によってランダムさを確保してもよい。例えば、フラクタルノイズだけでなく、他のノイズ(例えば、ホワイトノイズやレッドノイズそのまま)を用いて、強度配列順のランダムさを確保してもよい。また、各種ノイズを用いることなく、他の乱数生成法を用いて、強度配列順のランダムさを確保してもよい。
また、上述した実施例では、所定のアプリケーションの実行に応じて生成される仮想空間内の物理現象や材質に対応するパラメータに応じて、強度配列順をリアルタイムに変化させることによって振動制御信号をリアルタイムに生成している。しかしながら、上記第1の例における振動信号生成処理において用いられるグレインについても、上記パラメータの少なくとも1つに応じてリアルタイムに生成してもよい。この場合、振動生成用のグレインをリアルタイムに生成してもよいし、音声生成用のグレインをリアルタイムに生成してもよい。一例として、上述した共振フィルタを上記パラメータの少なくとも1つに基づいてリアルタイムに設定し、幅1、高さ1のインパルスデータを入力することによって、上記グレインをリアルタイムに設定してもよい。他の例として、振動発生の対象となる画像の素材感(例えば、木目や顕微鏡レベルでの凹凸等)や当該画像に設定されている密度や硬度等に基づいて、所定のアルゴリズムを用いて上記グレインをリアルタイムに設定してもよい。
また、上述した実施例では、情報処理装置3にアクチュエータ373が1つ設けられている例を用いたが、ユーザに振動を与えるアクチュエータが複数設けられてもよい。一例として、情報処理装置3の左右に一対のアクチュエータを設けてもよい。この場合、制御部31は、生成された振動制御信号をそのまま左右のアクチュエータの駆動に用いてもよいし、左右のアクチュエータを駆動する強度配分を調整した振動制御信号をそれぞれの左右のアクチュエータの駆動に用いてもよい。
また、上述した実施例では、仮想オブジェクトそのものに関するパラメータ(物理パラメータや材質パラメータ)に基づいて、強度配列順(インパルスシーケンス)やグレインを変化させたり生成したりしている。しかしながら、強度配列順(インパルスシーケンス)やグレインを変化させたり生成したりするためのパラメータは、仮想オブジェクトそのものに関するパラメータだけでなく、仮想世界における仮想オブジェクトの周辺の環境(温度、湿度、天気等)やユーザの操作(操作の強弱、操作の方向、操作の有無、操作の種類等)に応じたパラメータでもよい。このように、本実施例では、所定のアプリケーションから取得される様々なパラメータに基づいて、ユーザに与える振動を生成するための振動波形をリアルタイムに生成することが考えられる。
また、ユーザが把持して操作するコントローラと表示装置とが別体の情報処理システムを用いる場合、ユーザに振動を与えるためのアクチュエータは、当該コントローラに設けられていてもよい。この場合、振動制御信号生成処理を行う制御部とアクチュエータとが別の装置に設けられることが考えられるが、アクチュエータが設けられているコントローラへ、当該アクチュエータの駆動の制御が可能な信号(例えば、振動制御信号CS、アナログ振動信号AS、または駆動信号DS)を出力することによって、同様の実施例を実現することができる。また、表示画面がないまたは表示画面に画像を表示しない情報処理システムであっても、ユーザの身体と接触する装置にアクチュエータを設けることによって、上述した振動をユーザに与えることが可能となる。この場合、ユーザ自身の状況やユーザ周辺の環境を検出するアプリケーションや画像を表示しないゲームアプリケーション等から取得されるパラメータに基づいて、ユーザに与える振動を生成するための振動波形をリアルタイムに生成することが考えられる。
また、上述した説明では情報処理(振動制御信号生成処理、ゲーム処理)を情報処理装置3で行う例を用いたが、上記情報処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、情報処理装置3がさらに他の装置(例えば、別のサーバ、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記情報処理における処理ステップは、さらに当該他の装置が協働することによって実行してもよい。一例として、他の装置において、仮想世界の画像の生成処理および振動制御信号の生成処理の少なくとも1つが行われ、当該処理の結果を示す画像データや制御信号を情報処理装置3が取得することも考えられる。このように、上記情報処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述した情報処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。なお、少なくとも1つの情報処理装置により構成される情報処理システムは、複数の情報処理装置により構成される情報処理システム(いわゆる、複数の装置の複合体で構成されるシステム)と1つの情報処理装置によって構成される情報処理システム(いわゆる、複数のユニットが構成された単独の装置で構成されるシステム)とが考えられる。また、上記実施例においては、情報処理装置3の制御部31が所定の振動信号生成プログラムを実行することによって、上述したフローチャートによる処理が行われたが、情報処理装置3が備える専用回路によって上記情報処理の一部または全部が行われてもよい。
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記情報処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した情報処理の各ステップの処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。また、上述した情報処理装置で用いられる各構成部品の形状、数、配置位置、部品が有する機能等は、単なる一例に過ぎず他の形状、数、配置位置であってもいいし、他の機能を有するものであっても、本実施例を実現できることは言うまでもない。一例として、情報処理装置に振動を与えるアクチュエータや情報処理装置から音声を出力するスピーカは、3つ以上であってもよい。また、情報処理装置は、複数の表示部を有してもよい。また、上述した説明では、携帯型の装置(例えば、タブレット端末)を情報処理装置3の一例として用いたが、情報処理装置3は、携帯型の装置より相対的に大きな手持ち型の装置または可搬型の装置でもよい。ここで、手持ち型の装置とは、ユーザが手に持って操作することができる装置であり、上述した携帯型の装置を含む概念である。また、可搬型の装置とは、当該装置を用いる際に当該装置本体を移動させたり、当該装置を用いる際に当該本体の姿勢を変えたり、当該装置本体を持ち運びしたりできる装置であり、上述した手持ち型の装置や携帯型の装置を含む概念である。
また、上記振動信号生成プログラムは、外部メモリ等の外部記憶媒体を通じて情報処理装置3に供給されるだけでなく、有線または無線の通信回線を通じて情報処理装置3に供給されてもよい。また、上記振動信号生成プログラムは、情報処理装置3内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記振動信号生成プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記振動信号生成プログラムを記憶する情報記憶媒体としては、上記振動信号生成プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のゲームプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
以上のように、本発明は、バリエーションに富んだ振動を出力するための振動信号を生成すること等を目的として、例えば振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法等として有用である。
3…情報処理装置
31…制御部
32…記憶部
33…プログラム格納部
34…入力部
341…タッチパネル
35…表示部
36…音声出力部
37…振動発生部
371…コーデック部
372…増幅部
373…アクチュエータ

Claims (24)

  1. アプリケーションの実行に応じて振動子を振動させるための振動信号を生成する振動信号生成装置に含まれるコンピュータで実行される振動信号生成プログラムであって、
    前記コンピュータを、
    前記アプリケーションの実行中に所定のパラメータを取得するパラメータ取得手段と、
    振動を生成するタイミングおよび強度を少なくとも示す所定のアルゴリズムを、前記パラメータ取得手段によって取得されたパラメータに応じて動的に変化させて設定するアルゴリズム設定手段と、
    振動または高周波成分が除去された音の素材と前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、または当該素材を生成可能なフィルタと前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、前記振動信号を生成する振動信号生成手段と
    前記アルゴリズム設定手段が設定した同じアルゴリズムを用いて、スピーカから音声を出力するための音声信号を生成する音声信号生成手段として機能させる、振動信号生成プログラム。
  2. 前記振動信号生成手段により生成された振動信号を示す振動と前記音声信号生成手段により生成された音声信号を示す音声とを略同時に出力する出力手段として、さらに前記コンピュータを機能させる、請求項に記載の振動信号生成プログラム。
  3. 前記振動信号生成手段は、振動または高周波成分が除去された音の第1の素材と前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、または当該第1の素材を生成可能なフィルタと前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、前記振動信号を生成し、
    前記音声信号生成手段は、前記第1の素材とは異なる第2の素材と前記同じアルゴリズムとを用いて、または当該第2の素材を生成可能なフィルタと前記同じアルゴリズムとを用いて、前記音声信号を生成する、請求項2に記載の振動信号生成プログラム。
  4. 前記振動信号生成手段は、前記素材を生成可能なフィルタと前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、前記振動信号を生成し、
    前記音声信号生成手段は、前記素材と前記同じアルゴリズムを用いて、前記音声信号を生成する、請求項またはに記載の振動信号生成プログラム。
  5. 前記音声信号生成手段は、前記素材を生成可能な同じフィルタを用いて、前記音声信号を生成する、請求項1に記載の振動信号生成プログラム。
  6. 前記パラメータ取得手段は、所定のオブジェクトを仮想世界に配置して表示画面に表示するアプリケーションの実行中に、当該オブジェクトに関するパラメータを取得し、
    前記アルゴリズム設定手段は、前記オブジェクトに関するパラメータに応じて、前記所定のアルゴリズムを変化させる、請求項1乃至の何れか1つに記載の振動信号生成プログラム。
  7. 前記パラメータ取得手段は、前記オブジェクトが仮想世界に配置される際の物理シミュレーションに基づいて、前記オブジェクトに関するパラメータを取得する、請求項に記載の振動信号生成プログラム。
  8. 前記パラメータ取得手段は、仮想世界において前記オブジェクトが発する振動を模したパラメータを、前記オブジェクトに関するパラメータとして取得する、請求項に記載の振動信号生成プログラム。
  9. 前記パラメータ取得手段は、仮想世界における前記オブジェクトの状況に基づいて、前記オブジェクトに関するパラメータを取得する、請求項に記載の振動信号生成プログラム。
  10. 前記振動信号生成手段は、複数の振動の素材または高周波成分が除去された複数の音の素材と前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、前記振動信号を生成する、請求項1乃至の何れか1つに記載の振動信号生成プログラム。
  11. 前記フィルタは、少なくとも1つの双2次フィルタで構成される、請求項1乃至1の何れか1つに記載の振動信号生成プログラム。
  12. 前記フィルタのパラメータを、前記パラメータ取得手段によって取得されたパラメータに応じて変化させるフィルタ設定手段として、さらに前記コンピュータを機能させる、請求項1乃至1の何れか1つに記載の振動信号生成プログラム。
  13. 前記振動信号生成手段は、前記アプリケーションの実行結果に応じて、リアルタイムに前記素材を生成する素材生成手段を含む、請求項1乃至1の何れか1つに記載の振動信号生成プログラム。
  14. 前記アルゴリズム設定手段は、前記パラメータ取得手段によって取得されたパラメータに応じて、各振動の強さ、各振動が生じる時間間隔、各振動がそれぞれ生じている時間幅、および各振動のランダムさの少なくとも1つを算出して、前記アルゴリズムを設定する、請求項1乃至1の何れか1つに記載の振動信号生成プログラム。
  15. 前記パラメータ取得手段は、第1のアプリケーションの実行中に第1のパラメータを取得することが可能であるとともに、当該第1のアプリケーションとは異なる第2のアプリケーションの実行中に第2のパラメータを取得することが可能であり、
    前記アルゴリズム設定手段は、前記パラメータ取得手段によって取得された前記第1のパラメータと前記第2のパラメータとが同じである場合、同じアルゴリズムを設定する、請求項1乃至1の何れか1つに記載の振動信号生成プログラム。
  16. 前記アルゴリズム設定手段は、前記パラメータ取得手段によって取得されたパラメータに応じて、非ループのアルゴリズムを設定し、
    前記振動信号生成手段は、前記非ループのアルゴリズムを用いて、非ループの前記振動信号を生成する、請求項1乃至1の何れか1つに記載の振動信号生成プログラム。
  17. 前記素材は、ユーザが振動を認識可能な上限周波数以下の帯域の波形データである、請求項1乃至1の何れか1つに記載の振動信号生成プログラム。
  18. 前記素材は、ユーザが聴音できない周波数帯域の波形データを含む、請求項1に記載の振動信号生成プログラム。
  19. 前記フィルタは、ユーザが振動を認識可能な上限周波数以下の特性周波数が設定された複数のフィルタの組によって構成される、請求項1乃至1の何れか1つに記載の振動信号生成プログラム。
  20. 前記フィルタの組は、ユーザが聴音できない周波数帯域に特性周波数が属するフィルタを含む、請求項19に記載の振動信号生成プログラム。
  21. 振動子を振動させるための振動信号を生成する振動信号生成装置に含まれるコンピュータで実行される振動信号生成プログラムであって、
    前記コンピュータを、
    振動を生成するタイミングおよび強度を少なくとも示す所定のアルゴリズムを設定するアルゴリズム設定手段と、
    振動または高周波成分が除去された音の素材と前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、または当該素材を生成可能なフィルタと前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、前記振動信号を生成する振動信号生成手段と、
    前記アルゴリズム設定手段が設定した同じアルゴリズムを用いて、スピーカから音声を出力するための音声信号を生成する音声信号生成手段として機能させる、振動信号生成プログラム。
  22. アプリケーションの実行に応じて振動子を振動させるための振動信号を生成する振動信号生成装置であって、
    前記アプリケーションの実行中に所定のパラメータを取得するパラメータ取得手段と、
    振動を生成するタイミングおよび強度を少なくとも示す所定のアルゴリズムを、前記パラメータ取得手段によって取得されたパラメータに応じて動的に変化させて設定するアルゴリズム設定手段と、
    振動または高周波成分が除去された音の素材と前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、または当該素材を生成可能なフィルタと前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、前記振動信号を生成する振動信号生成手段と、
    前記アルゴリズム設定手段が設定した同じアルゴリズムを用いて、スピーカから音声を出力するための音声信号を生成する音声信号生成手段とを備える、振動信号生成装置。
  23. アプリケーションの実行に応じて振動子を振動させるための振動信号を生成する振動信号生成システムであって、
    前記アプリケーションの実行中に所定のパラメータを取得するパラメータ取得手段と、
    振動を生成するタイミングおよび強度を少なくとも示す所定のアルゴリズムを、前記パラメータ取得手段によって取得されたパラメータに応じて動的に変化させて設定するアルゴリズム設定手段と、
    振動または高周波成分が除去された音の素材と前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、または当該素材を生成可能なフィルタと前記アルゴリズム設定手段が設定したアルゴリズムとを用いて、前記振動信号を生成する振動信号生成手段と
    前記アルゴリズム設定手段が設定した同じアルゴリズムを用いて、スピーカから音声を出力するための音声信号を生成する音声信号生成手段とを備える、振動信号生成システム。
  24. アプリケーションの実行に応じて振動子を振動させるための振動信号を生成する振動信号生成システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行される振動信号生成方法であって、
    前記アプリケーションの実行中に所定のパラメータを取得するパラメータ取得ステップと、
    振動を生成するタイミングおよび強度を少なくとも示す所定のアルゴリズムを、前記パラメータ取得ステップにおいて取得されたパラメータに応じて動的に変化させて設定するアルゴリズム設定ステップと、
    振動または高周波成分が除去された音の素材と前記アルゴリズム設定ステップにおいてが設定されたアルゴリズムとを用いて、または当該素材を生成可能なフィルタと前記アルゴリズム設定ステップにおいて設定されたアルゴリズムとを用いて、前記振動信号を生成する振動信号生成ステップと
    前記アルゴリズム設定ステップにおいて設定された同じアルゴリズムを用いて、スピーカから音声を出力するための音声信号を生成する音声信号生成ステップとを含む、振動信号生成方法。
JP2015013041A 2015-01-27 2015-01-27 振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法 Active JP6527339B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015013041A JP6527339B2 (ja) 2015-01-27 2015-01-27 振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法
US14/995,494 US9901819B2 (en) 2015-01-27 2016-01-14 Storage medium having stored therein vibration signal generation program, vibration generation apparatus, vibration generation system, and vibration signal generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015013041A JP6527339B2 (ja) 2015-01-27 2015-01-27 振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法

Publications (2)

Publication Number Publication Date
JP2016137037A JP2016137037A (ja) 2016-08-04
JP6527339B2 true JP6527339B2 (ja) 2019-06-05

Family

ID=56433917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015013041A Active JP6527339B2 (ja) 2015-01-27 2015-01-27 振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法

Country Status (2)

Country Link
US (1) US9901819B2 (ja)
JP (1) JP6527339B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6383765B2 (ja) * 2016-08-25 2018-08-29 株式会社ファセテラピー 触覚コンテンツ生成装置、触覚コンテンツ生成方法および触覚コンテンツ利用機器
JP2018092012A (ja) * 2016-12-05 2018-06-14 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10969867B2 (en) 2016-12-15 2021-04-06 Sony Interactive Entertainment Inc. Information processing system, controller device, controller device control method and program
US10963055B2 (en) * 2016-12-15 2021-03-30 Sony Interactive Entertainment Inc. Vibration device and control system for presenting corrected vibration data
JP6626992B2 (ja) 2016-12-15 2019-12-25 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、振動制御方法、及びプログラム
EP3343324B1 (en) * 2016-12-27 2021-06-09 Nintendo Co., Ltd. Information processing program, information processing system, and information processing method
US10350491B2 (en) 2016-12-27 2019-07-16 Nintendo Co., Ltd. Techniques for variable vibration waveform generation based on number of controllers
WO2018193514A1 (ja) 2017-04-18 2018-10-25 株式会社ソニー・インタラクティブエンタテインメント 振動制御装置
JP6833018B2 (ja) 2017-04-18 2021-02-24 株式会社ソニー・インタラクティブエンタテインメント 振動制御装置
JP6887011B2 (ja) 2017-04-19 2021-06-16 株式会社ソニー・インタラクティブエンタテインメント 振動制御装置
US11458389B2 (en) 2017-04-26 2022-10-04 Sony Interactive Entertainment Inc. Vibration control apparatus
WO2019038888A1 (ja) 2017-08-24 2019-02-28 株式会社ソニー・インタラクティブエンタテインメント 振動制御装置
US11738261B2 (en) 2017-08-24 2023-08-29 Sony Interactive Entertainment Inc. Vibration control apparatus
US11198059B2 (en) 2017-08-29 2021-12-14 Sony Interactive Entertainment Inc. Vibration control apparatus, vibration control method, and program
CN111566595A (zh) * 2018-01-09 2020-08-21 索尼公司 信息处理装置、信息处理方法和程序
CN108721892B (zh) * 2018-05-22 2021-11-05 重庆子元科技有限公司 用于沉浸式虚拟现实设备的可穿戴式全身力反馈方法
CN111159623B (zh) * 2019-12-16 2023-09-01 瑞声科技(新加坡)有限公司 电机振动信号的计算方法、装置、终端及存储介质
KR102350788B1 (ko) * 2020-03-05 2022-01-14 주식회사 이엠텍 게임용 조작 장치 및 이를 이용한 게임 구동 시스템
CN113181628B (zh) * 2021-05-12 2023-03-28 歌尔科技有限公司 手柄及其按键反馈力的矫正方法、控制装置及存储介质
CN115390673A (zh) * 2022-09-13 2022-11-25 武汉市聚芯微电子有限责任公司 振动数据的生成方法、装置、电子设备和存储介质
CN115445185A (zh) * 2022-09-15 2022-12-09 元境生生(北京)科技有限公司 网络交互信息处理方法、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002191864A (ja) 2000-12-27 2002-07-10 Square Co Ltd 野球ビデオゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体および野球ビデオゲームのプログラムおよびビデオゲーム処理方法およびビデオゲーム機
JP4736771B2 (ja) * 2005-12-09 2011-07-27 ソニー株式会社 効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラム
US8167826B2 (en) * 2009-02-03 2012-05-01 Action Research Co., Ltd. Vibration generating apparatus and method introducing hypersonic effect to activate fundamental brain network and heighten aesthetic sensibility
JPWO2013051662A1 (ja) * 2011-10-04 2015-03-30 株式会社ニコン 電子機器
US8860563B2 (en) * 2012-06-14 2014-10-14 Immersion Corporation Haptic effect conversion system using granular synthesis
US10284968B2 (en) * 2015-05-21 2019-05-07 Cochlear Limited Advanced management of an implantable sound management system

Also Published As

Publication number Publication date
US20160214007A1 (en) 2016-07-28
US9901819B2 (en) 2018-02-27
JP2016137037A (ja) 2016-08-04

Similar Documents

Publication Publication Date Title
JP6527339B2 (ja) 振動信号生成プログラム、振動生成装置、振動生成システム、および振動信号生成方法
US10319199B2 (en) Vibration generation system, vibration generation apparatus, storage medium having stored therein vibration signal generation program, and vibration generation method
US9968846B2 (en) Information processing apparatus, storage medium having stored therein information processing program, information processing system, and information processing method
JP6445921B2 (ja) 振動信号生成プログラム、振動信号生成システム、振動信号生成装置、振動信号生成方法、およびデータ出力プログラム
CN104423593B (zh) 生成与音频信号中的跃迁相关联的触觉效果的系统和方法
JP6341417B2 (ja) 振動生成システム、振動生成プログラム、および振動生成方法
JP6664145B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および情報処理方法
Leonard et al. A virtual reality platform for musical creation: GENESIS-RT
Bukkapatnam et al. Defining a vibrotactile toolkit for digital musical instruments: characterizing voice coil actuators, effects of loading, and equalization of the frequency response
Cook Sound production and modeling
JP2023506240A (ja) 仮想音源と関連付けられた音声信号を発生させること
JP6721664B2 (ja) データ出力プログラム、データ出力装置、およびデータ出力方法
Weger et al. AltAR/table: a platform for plausible auditory augmentation
US7042472B2 (en) Method and apparatus for morphing
Kontogeorgakopoulos et al. Low cost force-feedback interaction with haptic digital audio effects
Aramaki et al. Perceptual control of environmental sound synthesis
Wilson Miraculous Agitations: On the Uses of Chaotic, Non-Linear and Emergent Behavior in Acoustic Vibrating Physical Systems
JP2019029825A (ja) 3次元音場制御装置および方法
NL2024434B1 (en) Generating an audio signal associated with a virtual sound source
Tubb et al. The Wablet: Scanned Synthesis on a Multi-Touch Interface
Castle et al. Integrated modal and granular synthesis of haptic tapping and scratching sounds
Mann et al. The Xyolin: a 10-Octave continuous-pitch xylophone, and other Existemological Instruments.
Picard-Limpens Expressive Sound Synthesis for Animation
Faure et al. Expressive Sound Synthesis for Animation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190510

R150 Certificate of patent or registration of utility model

Ref document number: 6527339

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250