(57)【要約】複数種類の振動デバイス（２０）と接続可能な振動制御装置（１０）であって、複数種類の振動デバイス（２０）のうち、実際に接続された振動デバイス（２０）の種類を特定し、特定された種類の振動デバイス（２０）の振動特性に関する特性情報を取得し、振動指示を受け付け、受け付けた振動指示の内容を、取得した特性情報に応じて補正した内容で、接続された振動デバイス（２０）を振動させる振動制御装置（１０）である。
2018193513.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の振動デバイスと接続可能な振動制御装置であって、
前記複数種類の振動デバイスのうち、実際に接続された振動デバイスの種類を特定する特定部と、
前記特定された種類の振動デバイスの振動特性に関する特性情報を取得する特性情報取得部と、
振動指示を受け付ける振動指示受付部と、
前記受け付けた振動指示の内容を、前記取得した特性情報に応じて補正した内容で、前記接続された振動デバイスを振動させる振動制御部と、
を含むことを特徴とする振動制御装置。
【請求項２】
請求項１に記載の振動制御装置であって、
前記複数種類の振動デバイスのそれぞれに対応づけて、当該振動デバイスの振動特性に関する特性情報を記憶する記憶部をさらに含み、
前記特性情報取得部は、前記特定部が特定した振動デバイスに対応づけて前記記憶部に記憶されている特性情報を取得する
ことを特徴とする振動制御装置。
【請求項３】
請求項１又は２に記載の振動制御装置であって、
前記特性情報は、対応づけられた振動デバイスと基準振動デバイスとの間の振動特性の相違に関する情報であって、
前記振動制御部は、前記特性情報に応じて、前記接続された振動デバイスによる振動が前記基準振動デバイスによる振動に近づくように、前記補正を行う
ことを特徴とする振動制御装置。
【請求項４】
請求項３に記載の振動制御装置であって、
前記振動制御部は、複数の周波数帯のそれぞれについて、当該周波数帯における振動の強さが前記基準振動デバイスによる振動の強さに近づくように、前記補正を行う
ことを特徴とする振動制御装置。
【請求項５】
請求項４に記載の振動制御装置であって、
前記振動制御部は、前記接続された振動デバイスによる振動の強さの周波数依存特性が、前記基準振動デバイスによる振動の強さの周波数依存特性に近づくように、前記補正を行う
ことを特徴とする振動制御装置。
【請求項６】
請求項３に記載の振動制御装置であって、
前記振動制御部は、前記基準振動デバイスの共振周波数における振動が、前記接続された振動デバイスの共振周波数における振動となるように、前記補正を行う
ことを特徴とする振動制御装置。
【請求項７】
複数種類の振動デバイスと接続可能な振動制御装置の制御方法であって、
前記複数種類の振動デバイスのうち、実際に接続された振動デバイスの種類を特定するステップと、
前記特定された種類の振動デバイスの振動特性に関する特性情報を取得するステップと、
振動指示を受け付けるステップと、
前記受け付けた振動指示の内容を、前記取得した特性情報に応じて補正した内容で、前記接続された振動デバイスを振動させるステップと、
を含むことを特徴とする振動制御装置の制御方法。
【請求項８】
複数種類の振動デバイスと接続可能な振動制御装置を、
前記複数種類の振動デバイスのうち、実際に接続された振動デバイスの種類を特定する特定部、
前記特定された種類の振動デバイスの振動特性に関する特性情報を取得する特性情報取得部、
振動指示を受け付ける振動指示受付部、及び、
前記受け付けた振動指示の内容を、前記取得した特性情報に応じて補正した内容で、前記接続された振動デバイスを振動させる振動制御部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーに振動を提示する振動デバイスを制御する振動制御装置、その制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
家庭用ゲーム機に接続して使用される操作デバイスなどのように、ユーザーが自身の体に装着したり保持したりして使用するデバイスの中には、そのデバイスの一部又は全部を振動させるための振動機構を備えるものがある。このような振動機構を備えた振動デバイスは、任意のタイミングで振動機構を動作させることで、ユーザーに振動を提示することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記従来例の技術における振動デバイスは、複数種類存在し、その形状や振動機構の性能などの違いによって、振動特性が互いに異なっている。そのため、同じ制御信号を入力したとしても、振動デバイスの種類によってユーザーが感じる振動にばらつきが生じてしまう。【０００４】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、振動デバイスの種類による振動特性のばらつきを抑えることのできる振動制御装置、その制御方法、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明に係る振動制御装置は、複数種類の振動デバイスと接続可能な振動制御装置であって、前記複数種類の振動デバイスのうち、実際に接続された振動デバイスの種類を特定する特定部と、前記特定された種類の振動デバイスの振動特性に関する特性情報を取得する特性情報取得部と、振動指示を受け付ける振動指示受付部と、前記受け付けた振動指示の内容を、前記取得した特性情報に応じて補正した内容で、前記接続された振動デバイスを振動させる振動制御部と、を含むことを特徴とする。【０００６】
本発明に係る振動制御装置の制御方法は、複数種類の振動デバイスと接続可能な振動制御装置の制御方法であって、前記複数種類の振動デバイスのうち、実際に接続された振動デバイスの種類を特定するステップと、前記特定された種類の振動デバイスの振動特性に関する特性情報を取得するステップと、振動指示を受け付けるステップと、前記受け付けた振動指示の内容を、前記取得した特性情報に応じて補正した内容で、前記接続された振動デバイスを振動させるステップと、を含むことを特徴とする。【０００７】
本発明に係るプログラムは、複数種類の振動デバイスと接続可能な振動制御装置を、前記複数種類の振動デバイスのうち、実際に接続された振動デバイスの種類を特定する特定部、前記特定された種類の振動デバイスの振動特性に関する特性情報を取得する特性情報取得部、振動指示を受け付ける振動指示受付部、及び、前記受け付けた振動指示の内容を、前記取得した特性情報に応じて補正した内容で、前記接続された振動デバイスを振動させる振動制御部、として機能させるためのプログラムである。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る振動制御装置を含む振動制御システムの構成例を表すブロック図である。
【図２】本発明の実施の形態に係る振動制御装置の機能を表す機能ブロック図である。
【図３】振動制御装置が記憶する特性情報を説明する図である。
【図４】候補振動デバイスの振動特性の一例を示す図である。
【図５】候補振動デバイスの振動特性の別の例を示す図である。
【図６】補正処理の内容の一例を示す図である。
【図７】補正処理の内容の別の例を示す図である。
【図８】候補振動デバイスの振動特性のさらに別の例を示す図である。
【発明を実施するための形態】
【０００９】
本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明において各部の大きさやその比、配置等は一例であり、本実施の形態の例は、図示等した大きさや比率、配置に限られるものではない。
【００１０】
本発明の実施の形態の一例に係る振動制御システム１は、振動制御装置１０と、振動制御装置１０に接続される振動デバイス２０とを含んで構成されている。
【００１１】
振動デバイス２０は、ユーザーが手で保持したり、ユーザーの身体に装着したりして使用するデバイスである。振動デバイス２０は振動機構２１を内蔵しており、この振動機構２１を動作させることによってユーザーに振動を提示する。振動機構２１は、リニア共振アクチュエータやボイスコイルモーター、偏心モーターなど、各種の振動発生素子であってよい。また、振動デバイス２０は、ユーザーによる操作の対象となる操作ボタンやレバーなど、各種の操作部材を備えてもよい。
【００１２】
本実施形態では、振動制御装置１０に対して複数種類の振動デバイス２０が接続可能になっている。以下では、振動制御装置１０に対して接続される可能性のある振動デバイス２０を、候補振動デバイスという。これら複数種類の候補振動デバイスは、互いにメーカーやデバイス全体の形状、内蔵する振動機構２１の種類などのいずれかが異なっており、それゆえ発生する振動の特性が互いに相違している。
【００１３】
さらに本実施形態において、振動デバイス２０は、内蔵メモリ２２を含んでいる。この内蔵メモリ２２には、その振動デバイス２０の種類（機種）を特定する機種特定情報が記憶されている。具体的にこの機種特定情報は、例えばその振動デバイス２０を製造したメーカーを特定する情報や、型番等の情報を含んでよい。
【００１４】
振動制御装置１０は、振動デバイス２０と通信接続される情報処理装置であって、例えば家庭用ゲーム機やパーソナルコンピュータ等であってよい。また、本実施形態において振動制御装置１０は、表示装置１４とも通信接続される。この振動制御装置１０は、図１に示すように、制御部１１と、記憶部１２と、通信部１３とを含んで構成されている。
【００１５】
制御部１１は、ＣＰＵ等のプログラム制御デバイスを含み、記憶部１２に格納されたプログラムに従って各種の情報処理を実行する。この制御部１１の具体的な処理の内容については、後に詳しく述べる。
【００１６】
記憶部１２は、メモリデバイス等であり、制御部１１によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ、非一時的な記憶媒体に格納されて提供され、この記憶部１２に複写されたものであってもよい。またこの記憶部１２は、制御部１１のワークメモリとしても動作する。
【００１７】
通信部１３は、ＵＳＢ（Universal Serial Bus）等のシリアルインタフェースあるいは、ブルートゥース（登録商標）等の無線通信インタフェースを含んで構成される。振動制御装置１０は、この通信部１３を介して振動デバイス２０と通信可能に接続される。特に本実施形態において、通信部１３は、制御部１１からの指示に従って、振動機構２１を動作させるための制御信号を送信する。さらに通信部１３は、表示装置１４と有線又は無線で通信するための通信インタフェースを含んでいる。振動制御装置１０は、通信部１３を介して、表示装置１４が表示すべき映像のデータを表示装置１４に対して送信する。
【００１８】
表示装置１４は、振動制御装置１０から送信される映像信号に基づく映像を表示する。例えば表示装置１４は、ヘッドマウントディスプレイ等のユーザーが頭部に装着して使用するタイプのデバイスであってもよい。
【００１９】
以下、振動制御装置１０の制御部１１の動作について説明する。本実施の形態において制御部１１は、機能的には図２に例示するように、機種特定部３１と、特性情報取得部３２と、アプリケーション実行部３３と、振動指示受付部３４と、振動制御部３５と、を含んで構成されている。これらの機能は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することにより実現される。このプログラムは、インターネット等の通信ネットワークを介して振動制御装置１０に提供されてもよいし、光ディスク等のコンピュータ読み取り可能な情報記憶媒体に格納されて提供されてもよい。
【００２０】
機種特定部３１は、振動制御装置１０に対して新たに振動デバイス２０が接続されたタイミングなどのタイミングで、接続された振動デバイス２０の種類を特定する。具体的に機種特定部３１は、接続された振動デバイス２０から、その内蔵メモリ２２に記憶されている機種特定情報を受信する。この機種特定情報を参照することで、機種特定部３１は、複数種類の候補振動デバイスのうち、どの種類の振動デバイス２０が接続されたのかを特定する。
【００２１】
特性情報取得部３２は、機種特定部３１が特定した振動デバイス２０の振動特性に関する情報を取得する。本実施形態では、図３に示すように、振動制御装置１０の記憶部１２には、複数種類の候補振動デバイスのそれぞれに関連づけて、その候補振動デバイスの特性情報が記憶されているものとする。この特性情報は、対応する候補振動デバイスの振動特性に関する情報である。特性情報の具体的な内容については、後述する。特性情報取得部３２は、機種特定部３１によって接続された振動デバイス２０の種類が特定されると、その振動デバイス２０の種類に対応する特性情報を読み出すことによって取得する。
【００２２】
アプリケーション実行部３３は、制御部１１がゲーム等のアプリケーションプログラムを実行することにより実現される。アプリケーション実行部３３は、振動デバイス２０に対するユーザーの操作内容等に応じて各種の処理を実行し、その処理結果を表示装置１４の画面に表示させる。例えばアプリケーション実行部３３は、各種の仮想オブジェクトが配置された仮想空間を構築し、その内部の様子を示す画像をユーザーに提示してもよい。
【００２３】
さらにアプリケーション実行部３３は、その処理の内容にしたがって、振動デバイス２０を振動させるための振動指示データを出力する。この振動指示データには、振動デバイス２０の振動機構２１をどのように振動させるかを指示するデータが含まれている。例えば振動指示データは、振動機構２１が発生させるべき振動の波形を符号化したデータを含んでよい。この場合、波形の振幅及び周波数によって振動機構２１の実際の動作態様が規定される。このような振動指示データは、音声データと類似するフォーマットで記述されてよい。また、この振動指示データには、音声データと同様に、複数の周波数の振動が重なった波形が含まれるものとする。アプリケーション実行部３３が出力する振動指示データは、記憶部１２内に確保されたバッファ領域に格納される。
【００２４】
振動指示受付部３４は、アプリケーション実行部３３から振動デバイス２０を振動させる振動指示を受け付ける。具体的に振動指示受付部３４は、アプリケーション実行部３３がバッファ領域に格納した振動指示データを順次読み出すことによって、振動指示を受け付ける。
【００２５】
振動制御部３５は、振動指示受付部３４が受け付けた振動指示の内容に基づいて、振動機構２１を動作させる制御命令を振動デバイス２０に対して出力する。振動デバイス２０は、この制御命令に基づいて振動機構２１を動作させることによって、振動指示の内容に応じた強さや周波数の振動を発生させる。これにより、本実施形態に係るアプリケーション実行部３３が実行するゲーム等の状況に応じて振動デバイス２０本体を振動させ、その振動をユーザーに提示することができる。
【００２６】
さらに本実施形態では、振動制御部３５は、機種特定部３１によって特定される振動デバイス２０の種類に応じて振動指示の内容を補正し、補正された内容で振動機構２１を動作させる制御命令を振動デバイス２０に対して出力する。この補正は、各候補振動デバイスの振動特性の差異を吸収するためのものである。
【００２７】
特に本実施形態では、接続された振動デバイス２０の振動特性が基準振動デバイスＲの振動特性に近づくように、補正処理を行うこととする。ここで基準振動デバイスＲは、基準となる振動特性を持った振動デバイス２０であって、例えば最も接続される可能性が高い種類の振動デバイス２０であってよい。通常、アプリケーションプログラムの開発者は、この基準振動デバイスＲが振動制御装置１０に接続されていることを想定して、振動指示の内容（振動の強さ、周波数等）を決定するものとする。そのため、基準振動デバイスＲの振動特性に合わせた補正処理を行うことによって、接続された振動デバイス２０の種類によらず、アプリケーションプログラムの開発者が意図したものに近い振動をユーザーに提示できるようになる。以下、この補正処理の具体例について、説明する。
【００２８】
まず、補正処理に用いられる特性情報の内容について、説明する。特性情報は、対応する候補振動デバイスの振動特性に関する情報であって、その候補振動デバイスを振動させる際に振動指示データに対してどのような補正を行うべきかを示している。具体的に、この特性情報は、周波数ごとに、その周波数の振動をどの程度強めるか、又は弱めるかを指示する情報であってよい。
【００２９】
特に本実施形態では、各候補振動デバイスの特性情報は、当該候補振動デバイスの振動特性と基準振動デバイスＲの振動特性との差異に関する情報であるものとする。図４は、ある候補振動デバイスＡの振動特性と、基準振動デバイスＲの振動特性との差異を示すグラフである。このグラフにおいて、横軸は振動の周波数を、縦軸は所与の基準入力電圧に対して各振動デバイス２０が発生させる振動の強さ（振動レベル）を示している。ここで振動の強さは、例えば単一周波数、基準入力電圧で振動させる制御命令を振動機構２１に入力した場合に、振動デバイス２０が発生させる振動の加速度等によって定義される。また、図中の破線は基準振動デバイスＲの振動特性を示しており、実線が注目する候補振動デバイスＡの振動特性を示している。
【００３０】
図４に示されるように、候補振動デバイスＡは、どの周波数においても、同じ電圧が入力された場合に基準振動デバイスＲより強い振動を発生させる。候補振動デバイスＡに対応する特性情報は、このような候補振動デバイスＡと基準振動デバイスＲの振動特性の差異を示す情報である。振動制御部３５は、候補振動デバイスＡが振動制御装置１０に接続された場合、この特性情報を参照することによって、振動指示データにおいて指示される振動の強さを全体的に弱める補正を行う。このような補正により、振動デバイス２０が振動機構２１に入力する電圧が補正前のものより低くなり、振動デバイス２０が発生させる振動の強さは、基準振動デバイスＲが発生させると想定される振動の強さに近くなる。
【００３１】
図５は、図４とは別の候補振動デバイスＢの振動特性を、図４と同様にして示すグラフである。この候補振動デバイスＢは、候補振動デバイスＡの例とは異なり、周波数によって、基準振動デバイスＲよりも強い振動が発生する場合もあれば、弱い振動が発生する場合もある。より具体的に候補振動デバイスＢは、周波数帯ｆ１及びｆ３では同じ入力値に対して基準振動デバイスＲよりも強い振動を発生させ、逆に周波数帯ｆ２では基準振動デバイスＲよりも弱い振動を発生させる。そのため振動制御部３５は、周波数ごとに補正の内容を変化させる。具体的に、振動指示データに含まれる振動波形のうち、周波数帯ｆ１及びｆ３に含まれる周波数成分については、振動を弱める補正を行う。一方、周波数帯ｆ２に含まれる周波数成分については、振動を強める補正を行う。これにより、候補振動デバイスＢが発生させる各周波数成分の振動の強さを、基準振動デバイスＲが発生させると想定される振動の強さに近づけることができる。
【００３２】
なお、図５の例における周波数帯ｆ２のように、候補振動デバイスＢの振動が基準振動デバイスＲよりも弱い場合、その振動を強めるために入力電圧を上昇させる補正を行うが、入力電圧は無制限に上昇させることができるわけではなく、これ以上上昇させることができないという限界値（上限値）が存在する。この上限値で候補振動デバイスＢを振動させた際の振動の強さが基準振動デバイスＲを基準入力電圧で振動させた際の振動の強さよりも弱い場合、補正処理を行っても基準振動デバイスＲの振動を再現することができなくなる。このような場合、以下に説明するような２種類の方法のいずれかで補正処理を実行することとしてもよい。
【００３３】
第１の方法は、上限値でも振動の強さが不足する周波数帯については、入力電圧を上限値まで上昇させるという方法である。この場合、基準振動デバイスＲの振動よりは弱くなるものの、その候補振動デバイスで可能な最大の強さで振動させることができる。図６は、この第１の方法による補正処理の内容を説明する図である。この図において、破線はこれまでと同様に基準振動デバイスＲの振動特性を示しており、実線は補正後の候補振動デバイスＢの振動特性を示している。また、Ｌｍａｘは、候補振動デバイスＢが発生させることのできる最大の振動の強さ（すなわち、上限値が入力された場合の振動の強さ）を示しており、Ｌｒｍａｘは基準入力電圧が入力された際の基準振動デバイスＲの最大の振動の強さを示している。
【００３４】
第２の方法は、振動の強さの周波数依存特性を維持するように補正する方法である。この方法では、基準振動デバイスＲの振動が最も強くなる周波数については、入力値が上限値に一致するように補正する。そして、その他の周波数については、基準振動デバイスＲの振動の強さの最大値Ｌｒｍａｘに対する比を維持するように補正する。例えばある周波数における基準振動デバイスＲの振動の強さがＬｒの場合、候補振動デバイスＢの補正後の振動の強さＬがＬ＝（Ｌｒ／Ｌｒｍａｘ）・Ｌｍａｘになるように、その周波数における振動の強さを補正する。図７は、この第２の方法による補正処理の内容を説明する図であって、図６と同様に、破線は基準振動デバイスＲの振動特性を、実線は補正後の候補振動デバイスＢの振動特性を、それぞれ示している。同図に示されるように、第２の方法による補正では、振動の強さは全体的に基準振動デバイスＲよりも弱くなるが、補正後の振動の強さの周波数依存特性が基準振動デバイスＲに近くなる。そのため、ユーザーが感じる振動の感覚は基準振動デバイスＲのものに近くなる。
【００３５】
記憶部１２に記憶される特性情報は、以上説明したような基準振動デバイスＲと候補振動デバイスとの振動特性の差異そのものを示す情報であってもよいし、このような差異を吸収するために周波数ごとにどの程度の補正を行うべきかを示す情報であってもよい。振動制御部３５は、この特性情報を参照して、振動指示データに含まれる振動波形を補正する。この補正は、複数の周波数帯のそれぞれに対して、その周波数帯の振動を強めたり弱めたりして、基準振動デバイスＲによる振動の強さに近づける補正であってよい。このような補正を行って得られる制御命令を振動デバイス２０の振動機構２１に入力することで、基準振動デバイスＲと異なる振動特性を有する振動デバイス２０を、基準振動デバイスＲに近い感覚で振動させることができる。
【００３６】
以上の説明では、周波数ごとの振動の強さを基準振動デバイスＲに近づけるように補正することとしたが、振動制御部３５は、このような方法に代えて、振動指示データに含まれる振動の周波数を変化させる補正処理を実行してもよい。これまで示した図４や図５の例では、振動の強さが最大になる周波数（共振周波数）は、基準振動デバイスＲと候補振動デバイスの間で一致していた。しかしながら、候補振動デバイスの共振周波数は、基準振動デバイスＲのものと一致しない場合もある。図８は、共振周波数が基準振動デバイスＲと異なる候補振動デバイスＣの振動特性の一例を示した図である。この図の例では、基準振動デバイスＲの共振周波数がｆｒ、候補振動デバイスＣの共振周波数がｆｃである。共振周波数は、その振動デバイス２０が最も効率よく強い振動を発生させることのできる周波数なので、それとは別の周波数で強い振動を発生させることは非効率であり、またそもそも共振周波数以外の周波数で必要な強さの振動を発生させることができない場合もある。
【００３７】
このような場合において振動制御部３５は、周波数ｆｒの振動が周波数ｆｃの振動になるように、振動指示データに含まれる振動の周波数を全体的に変化させる補正を行ってもよい。このような周波数を変化させる補正処理は、例えば音声信号におけるピッチシフト補正と同様の処理によって実現できる。具体的に振動制御部３５は、振動波形の全体に対して、その周波数を（ｆｃ／ｆｒ）倍する補正処理を行う。これにより、振動指示データに含まれる周波数ｆｒの振動は周波数ｆｃに変換されるとともに、その他の周波数の振動についても同じ比で変換される。そのため、振動全体の感覚を大きく変化させずに、接続されている振動デバイス２０を効率のよい周波数で振動させることができる。
【００３８】
候補振動デバイスは、周囲の周波数よりも振動が強くなる共振周波数を複数個持っている場合がある。この場合、振動制御部３５は、候補振動デバイスの複数の共振周波数のうちのいずれか一つを、基準振動デバイスＲの共振周波数ｆｒに一致させる補正処理を行えばよい。具体的に、例えば振動制御部３５は、候補振動デバイスの複数の共振周波数のうち、基準振動デバイスＲの共振周波数ｆｒに最も近い共振周波数を、基準振動デバイスＲの共振周波数ｆｒに一致させるように補正処理を行う。あるいは振動制御部３５は、候補振動デバイスの複数の共振周波数のうち、最も低周波の共振周波数を、基準振動デバイスＲの共振周波数ｆｒに一致させるような補正処理を実行してもよい。
【００３９】
なお、振動制御部３５は、このような周波数を変更する処理を、前述した周波数ごとの振動の強さを基準振動デバイスＲに近づける補正と組み合わせて実行してもよい。具体的に、例えば振動制御部３５は、周波数ｆｒを周波数ｆｃに変換するピッチシフト補正を実行したうえで、周波数ｆｃを中心とした振動の強さの周波数依存特性が周波数ｆｒを中心とした基準振動デバイスＲの周波数依存特性に一致するように、各周波数の振動の強さを補正してもよい。
【００４０】
振動制御部３５は、以上説明した補正処理の代わりに、または以上説明した補正処理に加えて、接続された振動デバイス２０の種類に応じて振動の発生タイミングをずらす補正処理を行ってもよい。この場合、記憶部１２には特性情報の少なくとも一部として、各候補振動デバイスに対する発生タイミングの補正値を示す情報が記憶されるものとする。振動制御部３５は、この補正値を用いて振動タイミングの補正処理を行う。具体的に、この振動タイミングの補正処理は、振動の発生タイミングを振動指示データによって指示されるタイミングから早めたり、遅らせたりする処理である。このような補正処理によれば、接続された振動デバイス２０が振動を発生させるタイミングを、基準振動デバイスＲの場合の発生タイミングに近づけることができる。なお、振動制御部３５は、周波数帯域ごとに異なる補正値に基づいて、各周波数帯域の振動の発生タイミングを補正してもよい。
【００４１】
さらに振動制御部３５は、接続された振動デバイス２０の種類に応じて、振動指示データの内容に対して所定の振動波形を追加したり、一部又は全部の波形を所定の振動波形に置換したりする補正処理を実行してもよい。例えば、振動機構２１の種類によって、発生した振動が収束するまでの時間に違いがある。そこで振動制御部３５は、振動波形の最後に所定の振動波形を付け加えることによって、振動が収束するまでの時間を調整してもよい。具体的に、振動制御部３５は、振動指示データに含まれる最後の振動波形に対して逆位相であって、所定の長さ、及び周波数の正弦波形を、振動指示データに含まれる振動波形の後に付け加える。付け加える波形の周波数はその振動デバイス２０の共振周波数であってよい。また、付け加える波形の長さは、半波長から１波長程度であってよい。振動デバイス２０が内蔵する振動機構２１の収束時間が基準振動デバイスＲよりも長い場合、振動制御部３５がこのような波形を追加する補正処理を実行することで、振動機構２１の収束時間を制御することができる。
【００４２】
振動制御部３５は、以上説明したような特性情報に基づく補正処理に加えて、さらに別の補正処理を併せて実行してもよい。例えば振動制御装置１０は、予めユーザーから、全体的な振動の強さを標準的なものより強めたり弱めたりする補正の設定を受け付けてもよい。また、特定の周波数帯の振動を強めたり弱めたりする補正の設定を受け付けてもよい。このような設定がなされている場合、振動制御部３５は、その設定に応じてさらに振動指示データに含まれる振動指示の内容を補正する。これにより、ユーザーの好みに応じた振動を提示することができる。また、振動制御部３５は、アプリケーション実行部３３からの指定に応じて、特性情報の内容を修正してから補正処理を実行してもよい。これにより、アプリケーション実行部３３が実行する処理の内容に応じて、低周波数帯を強めたり、周波数帯ごとの振動の強さの差異を縮めたりする補正処理を行うことができる。
【００４３】
以上説明した本実施形態に係る振動制御システム１によれば、複数種類の候補振動デバイスのうち、どの振動デバイスが接続されたかに応じて補正処理の内容を変化させることで、各振動デバイスの振動特性の違いを吸収し、どの振動デバイスが接続されても同じように振動させることができる。
【００４４】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば以上の説明では、振動制御装置１０は候補振動デバイスの全てについて予め特性情報を用意していることとしたが、特性情報取得部３２は、振動制御装置１０の外部から特性情報を取得してもよい。例えば特性情報取得部３２は、インターネット等の通信ネットワークを介して接続された外部のサーバ装置に対して、接続された振動デバイス２０の種類を特定する機種特定情報を送信することによって、当該特定情報により特定される振動デバイス２０の特性情報を要求してもよい。このような方法によれば、振動制御装置１０が自身に接続される可能性のある候補振動デバイスを全て把握できておらずとも、サーバ装置に特性情報が用意されていれば、特性情報取得部３２は新たに接続された未知の振動デバイス２０の特性情報を取得することができる。
【００４５】
また、以上の説明では、特性情報は対応する候補振動デバイスと基準振動デバイスＲとの間の振動特性の相違に関する情報であって、振動制御部３５は接続された振動デバイス２０の振動特性を基準振動デバイスＲのものに近づけるよう補正することとした。しかしながら補正処理の内容はこのようなものに限られず、特定の振動デバイスとは関係なく予め定められた理想的な振動特性に近づけるように、振動指示の内容を補正することとしてもよい。この場合、特性情報は対応する候補振動デバイスの振動特性を絶対値で示す情報であってもよい。
【００４６】
また、以上の説明において振動制御部３５が実行することとした補正処理の少なくとも一部は、アプリケーションプログラム側で実現されてもよい。この場合、アプリケーション実行部３３が、機種特定部３１によって特定された振動デバイス２０の種類に応じて、予め用意されている振動の波形を補正する。そして、補正された内容で振動デバイス２０を振動させる振動指示データを出力する。振動制御部３５は、この振動指示データに基づいて振動デバイス２０を振動させる。このような処理によっても、接続された振動デバイス２０の振動特性に応じて補正された振動を発生させることができる。
【００４７】
また、アプリケーション実行部３３は、予め複数種類の候補振動デバイスのそれぞれに対応して用意された候補振動波形の中から、実際に接続された振動デバイス２０に対応した振動波形を選択し、その振動波形で振動させる振動指示データを出力してもよい。あるいは、接続された振動デバイス２０の特性情報を参照して、その特性に合わせた振動波形をリアルタイムで生成し、振動指示データとして出力してもよい。このような処理によっても、接続された振動デバイス２０の振動特性に応じた内容で、当該振動デバイス２０を振動させることができる。
【００４８】
また、以上の説明では振動デバイス２０はユーザーの操作入力を受け付ける操作デバイスであることとしたが、振動デバイス２０はこのようなものに限られず、もっぱらユーザーへの振動の提示のみに用いられるものであってもよいし、その他の用途で使用されるデバイスであってもよい。
【００４９】
また、以上の説明では振動デバイス２０とは別個独立のコンピュータが補正処理を実行することとしたが、振動デバイス２０の振動特性に応じた補正処理を、振動デバイス２０側で実行してもよい。この場合、振動デバイス２０は、内蔵するメモリ内に、自分自身の振動特性と基準振動デバイスＲの振動特性との間の相違に関する特性情報を予め記憶しておくものとする。そして、振動デバイス２０は、振動指示データを受け付けた場合に、この特性情報を参照して振動指示データの内容に対する補正処理を実行する。これにより、振動デバイスと接続されるコンピュータは、接続される振動デバイス２０の振動特性を考慮せずに振動指示データを送信することができる。
【符号の説明】
【００５０】
１  振動制御システム、１０  振動制御装置、１１  制御部、１２  記憶部、１３  通信部、１４  表示装置、２０  振動デバイス、２１  振動機構、２２  内蔵メモリ、３１  機種特定部、３２  特性情報取得部、３３  アプリケーション実行部、３４  振動指示受付部、３５  振動制御部。
【図１】
2018193513.tif 000003
【図２】
2018193513.tif 000004
【図３】
2018193513.tif 000005
【図４】
2018193513.tif 000006
【図５】
2018193513.tif 000007
【図６】
2018193513.tif 000008
【図７】
2018193513.tif 000009
【図８】
2018193513.tif 000010
【国際調査報告】
2018193513.tif 000011
2018193513.tif 000012