(57)【要約】情報処理装置と接続され、振動を発生させる振動機構と、振動デバイス向けの第１振動命令を情報処理装置から受信し、第１振動命令とは異なるフォーマットの、当該振動デバイスとは別の種類の振動デバイス向けの第２振動命令を、第１振動命令と並行して情報処理装置から受信し、第１振動命令及び第２振動命令の少なくとも一方に基づいて振動機構を動作させる振動デバイスである。
2020255960.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と接続される振動デバイスであって、
振動を発生させる振動機構と、
当該振動デバイス向けの第１振動命令を前記情報処理装置から受信する第１受信部と、
前記第１振動命令とは異なるフォーマットの、当該振動デバイスとは別の種類の振動デバイス向けの第２振動命令を、前記第１振動命令と並行して前記情報処理装置から受信する第２受信部と、
前記第１振動命令及び前記第２振動命令の少なくとも一方に基づいて前記振動機構を動作させる振動制御部と、
を含むことを特徴とする振動デバイス。
【請求項２】
請求項１に記載の振動デバイスであって、
前記振動制御部は、前記情報処理装置から受信した切り替え命令に応じて、前記第１振動命令及び前記第２振動命令のうち、前記振動機構の動作に使用する振動命令を切り替える
ことを特徴とする振動デバイス。
【請求項３】
請求項２に記載の振動デバイスであって、
前記振動制御部は、前記情報処理装置から切り替え命令を受信していない場合、前記第２振動命令に基づいて前記振動機構を動作させる
ことを特徴とする振動デバイス。
【請求項４】
請求項１から３のいずれか一項に記載の振動デバイスであって、
前記振動制御部は、前記第２振動命令に基づいて前記振動機構を動作させる場合、前記別の種類の振動デバイスが当該第２振動命令に応じて発生させる振動の振幅に応じた振幅の振動を発生させる
ことを特徴とする振動デバイス。
【請求項５】
請求項４に記載の振動デバイスであって、
前記振動制御部は、前記第２振動命令に基づいて前記振動機構を動作させる場合、前記別の種類の振動デバイスが発生させる振動の立ち上がり期間、及び立ち下がり期間の少なくとも一方に応じた立ち上がり期間、又は立ち下がり期間の振動を発生させる
ことを特徴とする振動デバイス。
【請求項６】
振動デバイスと接続される情報処理装置であって、
前記振動デバイス向けの第１振動命令を前記振動デバイスに送信する第１送信部と、
前記第１振動命令とは異なるフォーマットの、前記振動デバイスとは別の種類の振動デバイス向けの第２振動命令を前記振動デバイスに送信する第２送信部と、
前記第１振動命令、及び前記第２振動命令のうち、前記振動デバイスが使用する制御命令を切り替えさせる切り替え命令を前記振動デバイスに送信する切り替え命令送信部と、
を含むことを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置において、
前記第１振動命令、及び／又は前記第２振動命令の送信を要求するアプリケーションプログラムを実行するアプリケーション実行部をさらに含み、
前記切り替え命令送信部は、前記アプリケーション実行部が実行する前記アプリケーションプログラムの種類に応じて、前記切り替え命令を送信する
ことを特徴とする情報処理装置。
【請求項８】
請求項６に記載の情報処理装置において、
前記第１振動命令、及び／又は前記第２振動命令の送信を要求するアプリケーションプログラムを実行するアプリケーション実行部をさらに含み、
前記切り替え命令送信部は、前記アプリケーションプログラムからの要求に応じて、前記切り替え命令を送信する
ことを特徴とする情報処理装置。
【請求項９】
互いに接続される情報処理装置と振動デバイスとを含む振動制御システムであって、
前記情報処理装置は、
前記振動デバイス向けの第１振動命令を前記振動デバイスに送信する第１送信部と、
前記第１振動命令とは異なるフォーマットの、前記振動デバイスとは別の種類の振動デバイス向けの第２振動命令を前記振動デバイスに送信する第２送信部と、
前記第１振動命令、及び前記第２振動命令のうち、前記振動デバイスが使用する制御命令を切り替えさせる切り替え命令を前記振動デバイスに送信する切り替え命令送信部と、
を含み、
前記振動デバイスは、
振動を発生させる振動機構と、
前記第１振動命令を前記情報処理装置から受信する第１受信部と、
前記第２振動命令を、前記第１振動命令と並行して前記情報処理装置から受信する第２受信部と、
前記第１振動命令及び前記第２振動命令のうち、前記情報処理装置から受信した前記切り替え命令に応じて決まる振動命令に基づいて、前記振動機構を動作させる振動制御部と、
を含むことを特徴とする振動制御システム。
【請求項１０】
振動デバイスと接続されるコンピュータが実行する情報処理方法であって、
前記振動デバイス向けの第１振動命令を前記振動デバイスに送信するステップと、
前記第１振動命令とは異なるフォーマットの、前記振動デバイスとは別の種類の振動デバイス向けの第２振動命令を前記振動デバイスに送信するステップと、
前記第１振動命令、及び前記第２振動命令のうち、前記振動デバイスが使用する制御命令を切り替えさせる切り替え命令を前記振動デバイスに送信するステップと、
を含む情報処理方法。
【請求項１１】
振動デバイスと接続されるコンピュータに、
前記振動デバイス向けの第１振動命令を前記振動デバイスに送信するステップと、
前記第１振動命令とは異なるフォーマットの、前記振動デバイスとは別の種類の振動デバイス向けの第２振動命令を前記振動デバイスに送信するステップと、
前記第１振動命令、及び前記第２振動命令のうち、前記振動デバイスが使用する制御命令を切り替えさせる切り替え命令を前記振動デバイスに送信するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーに振動を提示する振動デバイス、情報処理装置、振動制御システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
家庭用ゲーム機などの情報処理装置には、ユーザーに何らかのイベントの発生を通知したり、ゲームなどにおける臨場感を高めたりするために、ユーザーに振動を提示する振動デバイスが接続されることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上述した技術において、従来の振動デバイスと異なる方式によって動作する新たな振動デバイスが提供される場合がある。この場合において、従来の振動デバイスが接続されることを想定した情報処理装置やプログラムを利用しようとすると、新たな振動デバイスを接続できなくなるおそれがある。このような問題を防ぐため、新たな振動デバイスに、従来の振動デバイス向けの振動命令を受け付ける機能を実装することによって、互換性を確保することが考えられる。しかしながら、従来の振動デバイス向け、及び新たな振動デバイス向けの２種類の振動命令をどのように受け付け、処理すればよいかについて、これまで十分に検討されていなかった。【０００４】
本発明はこのような事情を考慮してなされたものであって、その目的の一つは、別の種類の振動デバイスとの間の互換性を効果的に確保することのできる振動デバイス、情報処理装置、振動制御システム、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明の一態様に係る振動デバイスは、情報処理装置と接続される振動デバイスであって、振動を発生させる振動機構と、当該振動デバイス向けの第１振動命令を前記情報処理装置から受信する第１受信部と、前記第１振動命令とは異なるフォーマットの、当該振動デバイスとは別の種類の振動デバイス向けの第２振動命令を、前記第１振動命令と並行して前記情報処理装置から受信する第２受信部と、前記第１振動命令及び前記第２振動命令の少なくとも一方に基づいて前記振動機構を動作させる振動制御部と、を含むことを特徴とする。【０００６】
本発明の一態様に係る情報処理装置は、振動デバイスと接続される情報処理装置であって、前記振動デバイス向けの第１振動命令を前記振動デバイスに送信する第１送信部と、前記第１振動命令とは異なるフォーマットの、前記振動デバイスとは別の種類の振動デバイス向けの第２振動命令を前記振動デバイスに送信する第２送信部と、前記第１振動命令、及び前記第２振動命令のうち、前記振動デバイスが使用する制御命令を切り替えさせる切り替え命令を前記振動デバイスに送信する切り替え命令送信部と、を含むことを特徴とする。【０００７】
本発明の一態様に係る振動制御システムは、互いに接続される情報処理装置と振動デバイスとを含む振動制御システムであって、前記情報処理装置は、前記振動デバイス向けの第１振動命令を前記振動デバイスに送信する第１送信部と、前記第１振動命令とは異なるフォーマットの、前記振動デバイスとは別の種類の振動デバイス向けの第２振動命令を前記振動デバイスに送信する第２送信部と、前記第１振動命令、及び前記第２振動命令のうち、前記振動デバイスが使用する制御命令を切り替えさせる切り替え命令を前記振動デバイスに送信する切り替え命令送信部と、を含み、前記振動デバイスは、振動を発生させる振動機構と、前記第１振動命令を前記情報処理装置から受信する第１受信部と、前記第２振動命令を、前記第１振動命令と並行して前記情報処理装置から受信する第２受信部と、前記第１振動命令及び前記第２振動命令のうち、前記情報処理装置から受信した前記切り替え命令に応じて決まる振動命令に基づいて、前記振動機構を動作させる振動制御部と、を含むことを特徴とする。【０００８】
本発明の一態様に係る情報処理方法は、振動デバイスと接続されるコンピュータが実行する情報処理方法であって、前記振動デバイス向けの第１振動命令を前記振動デバイスに送信するステップと、前記第１振動命令とは異なるフォーマットの、前記振動デバイスとは別の種類の振動デバイス向けの第２振動命令を前記振動デバイスに送信するステップと、前記第１振動命令、及び前記第２振動命令のうち、前記振動デバイスが使用する制御命令を切り替えさせる切り替え命令を前記振動デバイスに送信するステップと、を含むことを特徴とする。【０００９】
本発明の一態様に係るプログラムは、振動デバイスと接続されるコンピュータに、前記振動デバイス向けの第１振動命令を前記振動デバイスに送信するステップと、前記第１振動命令とは異なるフォーマットの、前記振動デバイスとは別の種類の振動デバイス向けの第２振動命令を前記振動デバイスに送信するステップと、前記第１振動命令、及び前記第２振動命令のうち、前記振動デバイスが使用する制御命令を切り替えさせる切り替え命令を前記振動デバイスに送信するステップと、を実行させるためのプログラムである。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係る振動制御システムの構成例を表すブロック図である。
【図２】本発明の実施の形態に係る振動制御システムの機能を表す機能ブロック図である。
【図３】振動デバイスが発生させる振動波形の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１２】
本発明の一実施形態に係る振動制御システム１は、情報処理装置１０と、振動デバイス２０と、を含んで構成されている。
【００１３】
情報処理装置１０は、家庭用ゲーム機やパーソナルコンピュータ等であって、図１に示すように、制御部１１と、記憶部１２と、インタフェース部１３と、を含んで構成されている。また、情報処理装置１０は、表示装置１４及び振動デバイス２０と接続されている。
【００１４】
制御部１１は、ＣＰＵ等のプログラム制御デバイスを含み、記憶部１２に格納されたプログラムに従って各種の情報処理を実行する。この制御部１１が実行する処理の具体例については、後に詳しく述べる。
【００１５】
記憶部１２は、メモリデバイス等であり、制御部１１によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ、非一時的な記憶媒体に格納されて提供され、この記憶部１２に複写されたものであってもよい。またこの記憶部１２は、制御部１１のワークメモリとしても動作する。
【００１６】
インタフェース部１３は、表示装置１４、及び振動デバイス２０との間でデータを送受信するためのインタフェースである。インタフェース部１３は、ＵＳＢ（Universal Serial Bus）等の有線通信用のインタフェースや、ブルートゥース（登録商標）等の無線通信インタフェースを含んでよい。
【００１７】
表示装置１４は、液晶ディスプレイや有機ＥＬディスプレイ等であって、インタフェース部１３経由で情報処理装置１０から受信した映像信号に基づく映像を、画面内に表示する。
【００１８】
振動デバイス２０は、情報処理装置１０から受信した振動データに基づく振動をユーザーに提示するためのデバイスであって、振動機構２１と、通信インタフェース２２と、制御回路２３と、を備えている。また、振動デバイス２０は、ユーザーの操作を受け付ける操作ボタン等の操作部材を備え、操作デバイスとして動作してもよい。
【００１９】
振動機構２１は、例えばリニアアクチュエータやボイスコイルモーターなど、振動を発生させる各種の機構であってよい。本実施形態において振動デバイス２０は、その筐体の左右に２個の振動機構２１Ｌ及び２１Ｒを備えているものとする。また、本実施形態において振動機構２１は、制御回路２３から波形を表す振動信号を受け付けて、その波形の形状に応じた振動を発生させることとする。振動機構２１が振動を発生させることにより、振動デバイス２０を把持するユーザーに対して振動が提示される。
【００２０】
通信インタフェース２２は、無線又は有線で情報処理装置１０との間でデータを送受信する。制御回路２３は、マイクロプロセッサ等であって、情報処理装置１０から送信される振動命令を通信インタフェース２２経由で受け付け、その振動命令に応じて振動機構２１を動作させる。
【００２１】
本実施形態において振動デバイス２０は、自身とは別の種類の振動デバイスの動作をエミュレートする。以下では、振動デバイス２０がエミュレート対象とする振動デバイスを、従来型振動デバイスという。従来型振動デバイスは、典型的には振動デバイス２０よりも古い世代の振動デバイスだが、これに限られるものではない。
【００２２】
従来型振動デバイスは、振動デバイス２０が備える振動機構２１とは別の種類の振動機構を備えるものとする。そのため、その振動機構を動作させるための振動命令の内容も、振動デバイス２０が本来受け付けることを予定しているものとは異なるものになる。具体的に、従来型振動デバイスは、一定時間おきに振動の強さを指定する数値の情報を含んだ振動命令を受け付けて、受け付けた数値に応じた強さの振動を所定時間にわたって発生させるものとする。すなわち、従来型振動デバイスは、発生する振動の波形形状を任意に制御することはできないが、振動命令に含まれる数値の大きさに応じて振動の強さを変化させるとともに、振動命令を連続して受け付けることによって振動が継続する時間を制御することができる。また、従来型振動デバイスも、振動デバイス２０と同様に２個の振動機構を内蔵し、それぞれの振動機構を独立に動作させることができるものとする。
【００２３】
以下では、従来型振動デバイスが受け付ける振動命令を、他機種用振動命令という。前述したように、他機種用振動命令は振動の強さを指定する数値を含んでいる。これに対して、振動デバイス２０が本来受け付けることを想定している振動命令を、自機種用振動命令という。自機種用振動命令は、他機種用振動命令とは異なるフォーマットで構成され、従来型振動デバイスは処理することができない振動命令である。具体的に自機種用振動命令は、振動機構２１の性能や振動特性に合わせて決定された内容の振動を発生させるためのものであって、振動機構２１にどのような波形形状の振動を発生させるかを指定する振動波形データを含んでいる。この振動波形データは、音声データに類似したフォーマットのデータであってよい。本実施形態において振動デバイス２０は、自機種用振動命令だけでなく、他機種用振動命令も受付可能に構成されており、その双方に応じた振動を発生させることができるものとする。
【００２４】
以下、振動制御システム１が実現する機能について、図２を用いて説明する。同図に示すように、情報処理装置１０は、機能的に、アプリケーション実行部３１と、自機種用振動命令送信部３２と、他機種用振動命令送信部３３と、切り替え命令送信部３４と、を含んで構成されている。これらの機能は、制御部１１が記憶部１２に格納されているプログラムを実行することにより実現される。このプログラムは、インターネット等の通信ネットワークを介して情報処理装置１０に提供されてもよいし、光ディスク等のコンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて情報処理装置１０に提供されてもよい。また、振動デバイス２０は、機能的に、自機種用振動命令受信部４１と、他機種用振動命令受信部４２と、振動制御部４３と、を含んで構成されている。これらの機能は、制御回路２３が内蔵するメモリ内に格納されたプログラムを実行することによって実現される。
【００２５】
アプリケーション実行部３１は、アプリケーションプログラムを実行する。このアプリケーションプログラムは、ユーザーに対する振動の提示を伴う各種の処理を実行するプログラムであって、例えばゲームプログラムであってよい。アプリケーション実行部３１は、その処理の進行に応じて２種類の振動要求のいずれか少なくとも一方を発行する。
【００２６】
２種類の振動要求とは、従来型振動デバイスに振動を発生させるための他機種用振動要求と、振動デバイス２０に振動を発生させるための自機種用振動要求である。アプリケーション実行部３１は、それぞれの振動要求を、対応するＡＰＩを呼び出すなどの方法によって発行する。アプリケーション実行部３１は、２種類の振動要求のうちの１種類の振動要求だけを発行してもよいし、２種類の振動要求を並行して発行してもよい。いずれにせよ、アプリケーション実行部３１は、現在情報処理装置１０に接続されているのが従来型振動デバイスなのかそれとも振動デバイス２０なのかを認識する必要はなく、単に予め定められた種類の振動要求を発行すればよい。
【００２７】
具体的に、従来型振動デバイスのみに対応したアプリケーションプログラムは、他機種用振動を発行する。このようなアプリケーションプログラムは、本実施形態に係る振動デバイス２０が製品として発売される前から公開されるものであってもよい。一方、振動デバイス２０に対応するアプリケーションプログラムは、自機種用振動要求のみを発行してもよい。しかしながら、仮に情報処理装置１０に接続されているのが振動デバイス２０ではなく従来型振動デバイスの場合、自機種用振動要求を発行するだけでは、従来型振動デバイスを振動させることができない。そのため、アプリケーション実行部３１が実行するアプリケーションプログラムは、他機種用振動要求、及び自機種用振動要求の２種類の振動要求を同時期にそれぞれ発行してもよい。こうすれば、情報処理装置１０に接続されているのがどちらの種類の振動デバイスであっても、その振動デバイスを振動させることができる。
【００２８】
自機種用振動命令送信部３２は、アプリケーション実行部３１が発行する自機種用振動要求に応じて、自機種用振動命令を出力し、情報処理装置１０に接続された振動デバイス（ここでは振動デバイス２０）に対して送信する。
【００２９】
他機種用振動命令送信部３３は、アプリケーション実行部３１が発行する他機種用振動要求に応じて、他機種用振動命令を出力し、情報処理装置１０に接続された振動デバイスに対して送信する。なお、情報処理装置１０に接続されているのが振動デバイス２０であっても、従来型振動デバイスであっても、他機種用振動命令送信部３３は同じフォーマットの他機種用振動命令を出力すればよい。
【００３０】
切り替え命令送信部３４は、振動デバイス２０に対して切り替え命令を送信する。この切り替え命令は、振動の制御に使用する振動命令の切り替えを振動デバイス２０に対して指示する命令である。切り替え命令の詳細については、後述する。
【００３１】
自機種用振動命令受信部４１は、情報処理装置１０の自機種用振動命令送信部３２が送信する自機種用振動命令を受信する。他機種用振動命令受信部４２は、情報処理装置１０の他機種用振動命令送信部３３が送信する他機種用振動命令を受信する。これらの振動命令受信部は、いずれも、定期的に、あるいは不定期に情報処理装置１０から送信される振動命令を常に受け付け可能な状態を維持している。
【００３２】
本実施形態において特徴的なことの一つは、自機種用振動命令受信部４１と他機種用振動命令受信部４２の双方が、同時期に並列でそれぞれの種類の振動命令を受信することである。これらの受信部が新たに特定の種類の振動命令の受信を開始したり、それまで実行していた振動命令の受信を停止したりする制御は、処理負荷がかかり、すぐに開始や停止の処理が行えない場合もある。そこで本実施形態に係る振動デバイス２０は、どちらの振動命令も常時受け付ける状態を維持することで、どの種類の振動命令が情報処理装置１０から送信されたとしても、その振動命令を受信し、その内容に応じた振動制御を遅滞なく実行することができる。
【００３３】
振動制御部４３は、自機種用振動命令受信部４１又は他機種用振動命令受信部４２が受信した振動命令に基づいて、振動機構２１を振動させる振動制御を行う。例えば振動制御部４３は、２種類の振動命令のうち、所与の基準に従って選択される一方の振動命令に応じて、振動機構２１を振動させるための制御信号を出力する。
【００３４】
具体例として、振動制御部４３は、切り替え命令送信部３４から送信される切り替え命令に応じて、使用する振動命令を切り替えることとする。すなわち、自機種用振動命令を使用するよう指示する切り替え命令を受け付けた場合、それ以降は自機種用振動命令受信部４１が受信する自機種用振動命令に基づいて、振動機構２１を動作させる。逆に他機種用振動命令の使用を指示する切り替え命令を受け付けた場合、その後は他機種用振動命令受信部４２が受信する他機種用振動命令に基づいて、振動機構２１を動作させる。前述したように二つの振動命令受信部は並列にそれぞれ対応する振動命令を受信しているので、このような切り替え命令が受け付けられた場合、振動制御部４３は、遅滞なく切り替え後の振動命令に基づく振動の発生制御を開始することができる。
【００３５】
自機種用振動命令を使用する場合、振動制御部４３は、その自機種用振動命令によって指定される波形データに応じた振動を振動機構２１に発生させる制御信号を出力する。また、自機種用振動命令が２個の振動機構２１のそれぞれに異なる振動を発生させる指示を含む場合、その指示に応じて振動機構２１Ｌ及び２１Ｒのそれぞれに互いに異なる制御信号を出力することとする。
【００３６】
一方、他機種用振動命令を使用して振動制御を行う場合、振動制御部４３は、他機種用振動命令に含まれる振動を発生させる振動機構２１の指定、及び振動の強さの指定に基づいて、振動機構２１を動作させるための波形データを生成する。そして、その波形データに応じた振動を発生させる制御信号を振動機構２１に対して出力する。これにより振動デバイス２０は、従来型振動デバイスが他機種用振動命令を受け付けた場合に発生させると想定される振動をエミュレートする。なお、このような振動のエミュレーション制御の詳細については、後述する。
【００３７】
ここで、情報処理装置１０の切り替え命令送信部３４が送信する切り替え命令による、振動制御部４３が使用する振動命令の切り替えについて説明する。例えば切り替え命令送信部３４は、アプリケーション実行部３１が実行するアプリケーションプログラムの種類に応じて切り替え命令を送信する。具体的に、切り替え命令送信部３４は、アプリケーション実行部３１が新たなアプリケーションプログラムの実行を開始する際に、そのアプリケーションプログラムが、新型の振動デバイス２０に対応したアプリケーションプログラムか、または従来型振動デバイスのみに対応したアプリケーションプログラムかを特定する。この特定は、例えば各アプリケーションプログラムが記録している自身の種類やバージョンを示す情報を参照して実行されてよい。切り替え命令送信部３４は、特定の結果新たに実行されるアプリケーションプログラムが振動デバイス２０に対応したものであれば、自機種用振動命令の使用を指示する切り替え命令を送信する。一方、実行されるアプリケーションプログラムが従来型振動デバイスのみに対応したものであれば、他機種用振動命令の使用を指示する切り替え命令を送信する。振動制御部４３は、受信した切り替え命令に応じて、実際に振動機構２１を動作させるために使用する振動命令の種類を決定する。これにより、アプリケーションプログラムが発行する振動要求の種類に応じた振動を発生させることができる。
【００３８】
この例では、従来のアプリケーションプログラムが実行される場合、このアプリケーションプログラムは従来型振動デバイスが接続されている場合と同様の振動要求を発行すればよいことになる。そのため、情報処理装置１０は、従来型振動デバイスにしか対応していないアプリケーションプログラムを、何も変更せずにそのまま使用して、振動デバイス２０に振動を発生させることができる。
【００３９】
さらにこの例では、ユーザーからの指示等に応じたタスク切り替えによってアプリケーション実行部３１が実行するアプリケーションプログラムが別のアプリケーションプログラムに切り替えられる場合、そのタイミングで切り替え後のアプリケーションプログラムの種類を特定し、その結果に応じた切り替え命令を送信してもよい。これにより、アプリケーションプログラムが実行途中で切り替えられる場合にも、常にその時点で実行中のアプリケーションプログラムに対応した振動命令を使用して振動制御が行われるようにすることができる。
【００４０】
また、切り替え命令送信部３４は、アプリケーションプログラムからの要求に応じて切り替え命令を送信してもよい。この例では、アプリケーション実行部３１は、アプリケーションプログラムの処理の実行に伴って、これから発行したい振動要求の種類を指定する切り替え要求を、振動要求の発行より前に予め発行する。切り替え命令送信部３４は、この切り替え要求によって指定された種類の振動命令を使用するよう指示する切り替え命令を送信する。これにより、アプリケーションプログラムは複数の種類の振動要求を任意に切り替えて発行し、振動デバイス２０に振動を発生させることができる。
【００４１】
なお、振動制御部４３は、振動デバイス２０が情報処理装置１０に接続されて動作を開始した後、情報処理装置１０から切り替え命令を受け付ける前の状態においては、予め定められた一方の振動命令を使用して振動を発生させることとしてもよい。この場合、デフォルトで他機種用振動命令を使用することとすれば、自機種用振動命令に対応しないアプリケーションプログラムが実行される場合にも、振動を発生させることができる。また、仮に切り替え命令送信部３４の機能を持たない情報処理装置１０とは別の種類の情報処理装置に振動デバイス２０が接続された場合、振動デバイス２０は切り替え命令を受信できないことになる。この場合にも、デフォルトで使用する振動命令を他機種用振動命令とすることで、このような情報処理装置から送信される他機種用振動命令に応じた振動制御を実現できる。
【００４２】
また、以上の説明と異なり、振動制御部４３は、切り替え命令によらずに２種類の振動命令に基づく振動制御を実行してもよい。一例として、振動制御部４３は、２種類の振動命令に応じて決定される２個の振動波形を合成して合成振動を生成し、その合成振動を発生させるように振動機構２１を制御してもよい。
【００４３】
また、振動制御部４３は、２種類の振動命令のうち、一方に振幅０の振動（無振動）を表すデータしか含まれていない場合、他方の振動命令に基づいて振動を発生させることとしてもよい。２種類の振動命令が送信される場合、そのうちの一方は実質的に無振動であることがある。このような場合、振動制御部４３は、実際に振動機構２１に振動を生じさせる内容の振動データが含まれる方の振動命令に基づいて、振動を発生させればよい。
【００４４】
ここで、振動制御部４３が他機種用振動命令に基づく振動制御を行う場合の具体例について、説明する。前述したように、他機種用振動命令には、実際に振動機構２１を動作させるための波形データは含まれていない。そこで振動制御部４３は、他機種用振動命令を使用して振動制御を行う場合、この振動命令に含まれる振動の強さの数値に基づいて、振動波形を生成し、生成した振動波形に従って振動機構２１を振動させる。
【００４５】
具体的に振動制御部４３は、振動命令において指定された振動の強さに応じて振動波形の振幅を決定する。また、振動の周波数を予め定められた数値に設定する。この周波数は、従来型振動デバイスに内蔵される振動機構の振動特性に応じて定められてよい。また、従来型振動デバイスに互いに異なる振動特性を有する複数の振動機構が内蔵されている場合、振動制御部４３は、振動命令において指定された振動機構に対応づけて予め定められた周波数の値を使用して、振動波形を生成する。振動制御部４３は、このようにして決定された振幅、及び周波数で振動機構２１を振動させるための波形データを生成する。なお、振動波形の波形形状は、正弦波など、従来型振動デバイスの振動特性に合わせて予め用意された波形であってよい。また、振動制御部４３は、振動デバイス２０に内蔵される複数の振動機構２１のうち、振動命令において指定された振動機構に対応付けられた振動機構２１を動作させることとする。
【００４６】
さらに、従来型振動デバイスの振動特性を再現するために、振動制御部４３は時間とともに振幅が変化する振動波形を生成してもよい。図３は、このような振動波形の一例を示している。この図の例では、目標振幅Ａｔが振動命令において指定された振動の強さに応じて定められた振幅である。振動制御部４３は、ある振動の強さを指定する他機種用振動命令が受信された場合、直ちに振動の発生を開始する（時刻ｔ０）。しかし、振動開始時から指定された強さに対応する目標振幅Ａｔで振動機構２１を動作させるのではなく、振動開始時から所定の立ち上がり時間Ｔｓの間に、徐々に振幅を目標振幅Ａｔまで増加させている。その後、振動制御部４３は、強さ０を指定する他機種用振動命令を新たに受信した場合、そのタイミング（ここでは時刻ｔ１とする）から振動の発生を停止させる制御を行う。この場合も、時刻ｔ１において直ちに振動を停止するのではなく、所定の立ち下がり時間Ｔｅの間に、徐々に振幅を０まで減少させていく。
【００４７】
これは、従来型振動デバイスが発生させる振動の応答特性が振動デバイス２０よりも低いことを考慮して、従来型振動デバイスによってユーザーに提示される振動に近い感覚の振動をユーザーに提示するための制御である。すなわち、振動制御部４３は、従来型振動デバイスの特性に応じて、その振動発生時に要する立ち上がり時間Ｔｓ、及び立ち下がり時間Ｔｅの情報を予め記憶しておく。そして、この情報を参照することによって、従来型振動デバイスの振動を再現する。
【００４８】
なお、この例では、他機種用振動命令に基づく振動の発生中に自機種用振動命令への切り替えを指示する切り替え命令を受け付けた場合、振動制御部４３は、立ち下がり時間Ｔｅを設けずに直ちに他機種用振動命令に基づく振動を停止させ、自機種用振動命令に基づく振動制御を開始してもよい。あるいは、通常通り、切り替え命令を受け付けたタイミングから立ち下がり時間Ｔｅにわたって振幅を減少させることによって、他機種用振動命令に基づく振動を停止させてもよい。この場合、振動制御部４３は、切り替え命令を受け付けた後、立ち下がり時間Ｔｅが経過して他機種用振動命令に基づく振動が終了した後に、自機種用振動命令に基づく振動を開始することになる。このとき振動制御部４３は、自機種用振動命令によって指定される波形データのうち、立ち下がり時間Ｔｅに相当する先頭部分をスキップして、それ以降の部分から振動制御を開始する。これにより、一部他の振動命令と重複する期間の振動は無視されるものの、それ以外の部分についてはアプリケーションプログラムが意図したタイミングで振動を発生させることができる。
【００４９】
また、従来型振動デバイスが発生させる振動に近い感覚の振動をユーザーに提示するために、振動制御部４３は、他機種用振動命令に基づいて振動を発生させる振動機構２１を変化させたり、振動を発生させる振動機構２１を増やしたりしてもよい。これまでの例では、自機種用振動命令、及び他機種用振動命令のどちらにも、２種類の振動機構のどちらに振動を発生させるか指定する情報が含まれ、振動制御部４３はその指定に従って振動機構２１Ｒ及び２１Ｌのそれぞれを振動させることとした。しかしながら、従来型振動デバイスの構造や従来型振動デバイスに内蔵される振動機構の特性によって、例えば一方の振動機構を振動させたとしても従来型振動デバイスの全体が振動する場合がある。このような場合、振動制御部４３は、従来型振動デバイスに内蔵される一つの振動機構に対して振動を発生させる他機種用振動命令に基づいて、振動機構２１Ｒ及び２１Ｌの双方を予め定められた割合や位相で振動させてもよい。このように複数の振動機構２１を同時に振動させることにより、一方の振動機構２１のみを振動させる場合と比較して振動デバイス２０の広い範囲に振動を発生させ、従来型振動デバイスが発生させる振動に近い振動をユーザーに提示することができる。また、そもそも従来型振動デバイスと振動デバイス２０とで内蔵する振動機構の数や位置に相違がある場合にも、振動制御部４３は、予め定められた対応関係に従って、他機種用振動命令に応じて振動を発生させる振動機構や、その振動の強さの割合、振動の位相などを決定してもよい。
【００５０】
以上説明した本実施形態に係る振動制御システム１によれば、振動デバイス２０を、このデバイス用に設計されたアプリケーションプログラムだけでなく、従来型振動デバイスにしか対応していないアプリケーションプログラムにも対応させることができ、従来型振動デバイスに対する互換性を確保することができる。さらに、このような複数種類のアプリケーションプログラムが切り替えられて実行される場合にも、双方の振動要求に遅滞なく対応することができる。また、本実施形態に係る振動デバイス２０は、この振動デバイス２０に対応した情報処理装置１０だけでなく、従来型振動デバイスを接続することが想定される他の種類の情報処理装置と接続し、この情報処理装置が送信する他機種用振動命令に基づいて従来型振動デバイスの動作をエミュレートすることができる。
【００５１】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば以上の説明では、振動デバイス２０は二つの振動機構２１を有することとしたが、振動機構２１は一つだけであってもよいし、三つ以上あってもよい。また、振動デバイス２０及び従来型振動デバイスのそれぞれが備える振動機構の方式や、それぞれのデバイス向けの制御命令に含まれるデータ内容やフォーマットについても、以上説明したものに限られず、各種のものであってよい。
【符号の説明】
【００５２】
１  振動制御システム、１０  情報処理装置、１１  制御部、１２  記憶部、１３  インタフェース部、１４  表示装置、２０  振動デバイス、２１Ｌ，２１Ｒ  振動機構、２２  通信インタフェース、２３  制御回路、３１  アプリケーション実行部、３２  自機種用振動命令送信部、３３  他機種用振動命令送信部、３４  切り替え命令送信部、４１  自機種用振動命令受信部、４２  他機種用振動命令受信部、４３  振動制御部。
【図１】
2020255960.tif 000003
【図２】
2020255960.tif 000004
【図３】
2020255960.tif 000005
【国際調査報告】
2020255960.tif 000006
2020255960.tif 000007
2020255960.tif 000008
2020255960.tif 000009