(57)【要約】ユーザーに疑似力覚を感じさせる疑似力覚振動の内容を表す疑似力覚振動データを取得し、ユーザーに触感を感じさせる触感振動の内容を表す触感振動データを取得し、疑似力覚振動データ、及び触感振動データに応じた振動を振動機構に発生させる振動制御装置である。
2019038887.tif 000002
【特許請求の範囲】
【請求項１】
振動機構を振動させる振動制御装置であって、
ユーザーに疑似力覚を感じさせる疑似力覚振動の内容を表す疑似力覚振動データを取得する疑似力覚振動データ取得部と、
ユーザーに触感を感じさせる触感振動の内容を表す触感振動データを取得する触感振動データ取得部と、
前記疑似力覚振動データ、及び前記触感振動データに応じた振動を前記振動機構に発生させる振動制御部と、
を含むことを特徴とする振動制御装置。
【請求項２】
請求項１に記載の振動制御装置において、
前記疑似力覚振動、及び前記触感振動を同時期に発生させる場合に、前記疑似力覚振動、及び前記触感振動の内容に基づいて、その少なくとも一方の内容を調整する振動調整部をさらに含み、
前記振動制御部は、調整された内容の振動を前記振動機構に発生させる
ことを特徴とする振動制御装置。
【請求項３】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の波形の振幅の大きさに応じて、前記疑似力覚振動の波形の振幅を変化させる
ことを特徴とする振動制御装置。
【請求項４】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の終了タイミングよりも前記疑似力覚振動の終了タイミングが遅くなるように、前記疑似力覚振動の長さを変化させる
ことを特徴とする振動制御装置。
【請求項５】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の内容に応じて、前記疑似力覚振動の波形形状を決定する
ことを特徴とする振動制御装置。
【請求項６】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の内容に応じて、前記疑似力覚振動の周波数を変更する
ことを特徴とする振動制御装置。
【請求項７】
請求項６に記載の振動制御装置において、
前記振動調整部は、変更後の前記疑似力覚振動の周波数が所定の数値範囲に含まれる場合、前記疑似力覚振動の波形を反転させる
ことを特徴とする振動制御装置。
【請求項８】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の波形に対して、前記疑似力覚の提示方向に沿った振動の偏りを緩和する調整を行う
ことを特徴とする振動制御装置。
【請求項９】
請求項２に記載の振動制御装置において、
疑似力覚振動、及び触感振動の強さに関する設定情報の入力をユーザーから受け付ける設定情報受付部をさらに含み、
前記振動調整部は、前記設定情報の内容に応じて前記調整を行う
ことを特徴とする振動制御装置。
【請求項１０】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記疑似力覚振動の開始時に、前記疑似力覚の提示方向の逆方向に向けた疑似力覚を提示するような振動を追加する
ことを特徴とする振動制御装置。
【請求項１１】
振動機構と、
ユーザーに疑似力覚を感じさせる疑似力覚振動、及びユーザーに触感を感じさせる触感振動の内容を含んだ振動データを取得する振動データ取得部と、
前記取得した振動データに応じた振動を前記振動機構に発生させる振動制御部と、
を含む振動デバイス。
【請求項１２】
振動機構の制御方法であって、
ユーザーに疑似力覚を感じさせる疑似力覚振動の内容を表す疑似力覚振動データを取得するステップと、
ユーザーに触感を感じさせる触感振動の内容を表す触感振動データを取得するステップと、
前記疑似力覚振動データ、及び前記触感振動データに応じた振動を前記振動機構に発生させるステップと、
を含むことを特徴とする振動機構の制御方法。
【請求項１３】
振動機構を制御するためのプログラムであって、
ユーザーに疑似力覚を感じさせる疑似力覚振動の内容を表す疑似力覚振動データを取得する疑似力覚振動データ取得部、
ユーザーに触感を感じさせる触感振動の内容を表す触感振動データを取得する触感振動データ取得部、及び、
前記疑似力覚振動データ、及び前記触感振動データに応じた振動を前記振動機構に発生させる振動制御部、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーに疑似力覚を提示するために用いられる振動デバイス、当該振動デバイスを制御する振動制御装置、振動デバイスの制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
家庭用ゲーム機に接続して使用される操作デバイスなどのように、ユーザーが自身の体に装着したり保持したりして使用するデバイスの中には、そのデバイスの一部又は全部を振動させるための振動機構を備えるものがある。このような振動デバイスは、例えば触感をユーザーに提示するために用いられる。ここでの触感とは、ユーザーが接触した仮想的な物体の感触やその物体に生じた変化や衝撃を表現するものであって、例えば銃の振動や、質感、テクスチャーを表現するための振動表現である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記従来例の技術における振動デバイスを特定の振動波形で振動させると、このデバイスに対して特定の方向に引っ張る力（牽引力）が加わっているかのような感覚（以下、疑似力覚という）を、ユーザーに提示することができる。しかしながら、一つの振動デバイスで触感、疑似力覚の双方をユーザーに提示する方法については、未だ十分に検討されていない。【０００４】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、振動デバイスにより触感、疑似力覚の双方をユーザーに提示することのできる振動制御装置、振動デバイス、振動デバイスの制御方法、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明に係る振動制御装置は、振動機構を振動させる振動制御装置であって、ユーザーに疑似力覚を感じさせる疑似力覚振動の内容を表す疑似力覚振動データを取得する疑似力覚振動データ取得部と、ユーザーに触感を感じさせる触感振動の内容を表す触感振動データを取得する触感振動データ取得部と、前記疑似力覚振動データ、及び前記触感振動データに応じた振動を前記振動機構に発生させる振動制御部と、を含むことを特徴とする。【０００６】
本発明に係る振動デバイスは、振動機構と、ユーザーに疑似力覚を感じさせる疑似力覚振動、及びユーザーに触感を感じさせる触感振動の内容を含んだ振動データを取得する振動データ取得部と、前記取得した振動データに応じた振動を前記振動機構に発生させる振動制御部と、を含むことを特徴とする。【０００７】
本発明に係る振動機構の制御方法は、ユーザーに疑似力覚を感じさせる疑似力覚振動の内容を表す疑似力覚振動データを取得するステップと、ユーザーに触感を感じさせる触感振動の内容を表す触感振動データを取得するステップと、前記疑似力覚振動データ、及び前記触感振動データに応じた振動を前記振動機構に発生させるステップと、を含むことを特徴とする。【０００８】
本発明に係るプログラムは、振動機構を制御するためのプログラムであって、ユーザーに疑似力覚を感じさせる疑似力覚振動の内容を表す疑似力覚振動データを取得する疑似力覚振動データ取得部、ユーザーに触感を感じさせる触感振動の内容を表す触感振動データを取得する触感振動データ取得部、及び、前記疑似力覚振動データ、及び前記触感振動データに応じた振動を前記振動機構に発生させる振動制御部、としてコンピュータを機能させるためのプログラムである。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る振動制御装置を含む振動制御システムの構成例を表すブロック図である。
【図２】本発明の実施の形態に係る振動制御装置の機能を表す機能ブロック図である。
【図３】疑似力覚を生じさせる波形の具体例を示す図である。
【図４】疑似力覚波形の振幅の調整処理の一例を示す図である。
【図５】疑似力覚波形の長さの調整処理の一例を示す図である。
【図６】疑似力覚を強調する調整処理の一例を示す図である。
【図７】触感波形の偏りを緩和する調整処理の一例を示す図である。
【図８】設定情報の入力画面の一例を示す図である。
【図９】振動機構の配置例を示す図である。
【図１０】振動機構の別の配置例を示す図である。
【図１１】複数の振動機構の配置例を示す図である。
【図１２】複数の振動機構の別の配置例を示す図である。
【図１３】複数の振動機構のさらに別の配置例を示す図である。
【図１４】複数の振動機構のさらに別の配置例を示す図である。
【図１５】複数の振動機構のさらに別の配置例を示す図である。
【図１６】複数の振動機構のさらに別の配置例を示す図である。
【図１７】制作プログラムの表示例を示す図である。
【図１８】制作プログラムの別の表示例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１１】
本発明の実施の形態の一例に係る振動制御システム１は、振動制御装置１０と、振動制御装置１０に接続される振動デバイス２０とを含んで構成されている。
【００１２】
振動デバイス２０は、ユーザーが手で保持したり、ユーザーの身体に装着したりして使用するデバイスである。振動デバイス２０は振動機構２１を内蔵しており、この振動機構２１を動作させることによってユーザーに振動を提示する。振動機構２１は、リニア共振アクチュエータやボイスコイルモーター、偏心モーターなど、各種の振動発生素子であってよい。また、振動デバイス２０は、ユーザーによる操作の対象となる操作ボタンやレバーなど、各種の操作部材を備えてもよい。ここでは具体例として、振動デバイス２０は一軸に沿った振動を発生させる一つの振動機構２１のみを内蔵しており、この振動方向に沿った向きの疑似力覚を提示することができるものとする。
【００１３】
振動制御装置１０は、振動デバイス２０と通信接続される情報処理装置であって、例えば家庭用ゲーム機やパーソナルコンピュータ等であってよい。また、本実施形態において振動制御装置１０は、表示装置１４とも通信接続される。この振動制御装置１０は、図１に示すように、制御部１１と、記憶部１２と、通信部１３とを含んで構成されている。
【００１４】
制御部１１は、ＣＰＵ等のプログラム制御デバイスを含み、記憶部１２に格納されたプログラムに従って各種の情報処理を実行する。この制御部１１が実行する処理の具体例については、後に詳しく述べる。
【００１５】
記憶部１２は、メモリデバイス等であり、制御部１１によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ、非一時的な記憶媒体に格納されて提供され、この記憶部１２に複写されたものであってもよい。またこの記憶部１２は、制御部１１のワークメモリとしても動作する。
【００１６】
通信部１３は、ＵＳＢ（Universal Serial Bus）等のシリアルインタフェースあるいは、ブルートゥース（登録商標）等の無線通信インタフェースを含んで構成される。振動制御装置１０は、この通信部１３を介して振動デバイス２０と通信可能に接続される。特に本実施形態において、通信部１３は、制御部１１からの指示に従って、振動機構２１を動作させるための制御信号を振動デバイス２０に送信する。さらに通信部１３は、表示装置１４と有線又は無線で通信するための通信インタフェースを含んでいる。振動制御装置１０は、通信部１３を介して、表示装置１４が表示すべき映像のデータを表示装置１４に対して送信する。
【００１７】
表示装置１４は、振動制御装置１０から送信される映像信号に基づく映像を表示する。例えば表示装置１４は、ヘッドマウントディスプレイ等のユーザーが頭部に装着して使用するタイプのデバイスであってもよい。
【００１８】
以下、振動制御装置１０の制御部１１の動作について説明する。本実施の形態において制御部１１は、機能的には図２に例示するように、アプリケーション実行部３１と、振動データ取得部３２と、振動調整部３３と、振動制御部３４と、設定情報受付部３５と、を含んで構成されている。これらの機能は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することにより実現される。このプログラムは、インターネット等の通信ネットワークを介して振動制御装置１０に提供されてもよいし、光ディスク等のコンピュータ読み取り可能な情報記憶媒体に格納されて提供されてもよい。
【００１９】
アプリケーション実行部３１は、制御部１１がゲーム等のアプリケーションプログラムを実行することにより実現される。アプリケーション実行部３１は、振動デバイス２０に対するユーザーの操作内容等に応じて各種の処理を実行し、その処理結果を表示装置１４の画面に表示させる。例えばアプリケーション実行部３１は、各種の仮想オブジェクトが配置された仮想空間を構築し、その内部の様子を示す画像をユーザーに提示してもよい。
【００２０】
さらにアプリケーション実行部３１は、その処理の内容にしたがって、振動デバイス２０を振動させる指示（振動指示）の内容を含んだ振動指示データを出力する。例えば振動指示データは、振動機構２１が発生させるべき振動の波形を符号化したデータを含んでよい。この場合、波形の振幅及び周波数によって振動機構２１の実際の動作態様が規定される。このような振動指示データは、音声データと類似するフォーマットで記述されてよい。また、この振動指示データには、音声データと同様に、複数の周波数の振動が重なった波形が含まれてもよい。アプリケーション実行部３１が出力する振動指示データは、記憶部１２内に確保されたバッファ領域に格納される。なお、アプリケーション実行部３１は、表示装置１４に表示されるフレーム画像の描画タイミングや、振動デバイス２０との間で周期的に通信を行うタイミングなどの所定タイミングが到来するごとに、１周期分（又は複数周期分）の振動指示データを出力してもよい。また、このようなタイミングとは独立に、振動指示データごとに、ある程度の時間にわたって継続する振動の内容を含んだ振動指示データを出力してもよい。
【００２１】
本実施形態では、アプリケーション実行部３１が出力する振動指示データには、疑似力覚振動データと触感振動データの２種類が含まれるものとする。
【００２２】
疑似力覚振動データは、ユーザーに特定の方向に引っ張る力（牽引力）を感じさせる振動（以下、疑似力覚振動という）の内容を表すデータである。具体的に、疑似力覚振動は、正弦波や三角波、鋸波、矩形波などによって構成される特定パターンの波形（以下、基本波形という）を所定周期で繰り返す振動である。図３は、このような疑似力覚を生じさせる波形のいくつかの例を示している。このような振動を発生させることによって、ユーザーにその振動の方向への疑似力覚を感じさせることができる。疑似力覚振動データは、このような基本波形が繰り返される振動の内容を特定するデータを含んでいる。
【００２３】
触感振動データは、何らかの物体に触れたかのような感覚（触感）をユーザーに感じさせる振動（以下、触感振動という）の内容を表すデータである。ユーザーに触感を感じさせる振動は、一般的に、疑似力覚を感じさせる振動と異なり、複数の周波数の波形が組み合わされた振動であることが多い。
【００２４】
振動データ取得部３２は、アプリケーション実行部３１が出力する疑似力覚振動データ、及び触感振動データのそれぞれを取得する。具体的に振動データ取得部３２は、アプリケーション実行部３１がバッファ領域に格納したそれぞれの振動データを順次読み出すことによって、振動データを取得する。振動データ取得部３２は、周期的にアプリケーション実行部３１が出力する振動データを同じ周期で読み出してもよいし、ある程度の期間にわたってバッファリングされた振動データをまとめて読み出してもよい。
【００２５】
振動調整部３３は、アプリケーション実行部３１によって疑似力覚振動と触感振動の双方を同時期に発生させる指示がなされた場合に、振動データ取得部３２が取得する疑似力覚振動データと触感振動データに対して、必要に応じて振動の内容を調整する調整処理を実行する。さらにここでは、調整された疑似力覚振動データと触感振動データとを合成して、実際に振動デバイス２０がどのような振動を発生させるべきかを指示する制御データ（以下、合成振動データという）を生成する。振動調整部３３が実行する調整処理の具体例については、後述する。
【００２６】
振動制御部３４は、振動調整部３３が生成した合成振動データの内容に応じた振動を指示する制御命令を振動デバイス２０に対して出力することにより、その内容に応じた振動を振動デバイス２０に発生させる。なお、疑似力覚振動、及び触感振動のいずれか一方のみが指示されている場合、振動制御部３４は、単に振動データ取得部３２が取得する個々の振動データに応じた振動を指示する制御命令を振動デバイス２０に対して出力する。
【００２７】
振動デバイス２０は、振動制御部３４が出力するこの制御命令に基づいて振動機構２１を動作させることによって、振動指示の内容に応じた強さや周波数の振動を発生させる。これにより、本実施形態に係るアプリケーション実行部３１が実行するゲーム等の状況に応じて振動デバイス２０本体を振動させ、その振動をユーザーに提示することができる。特に本実施形態において振動デバイス２０は、合成振動データに基づく振動を発生させることにより、ユーザーに対して触感及び疑似力覚の双方を同時期に提示することができる。このとき振動デバイス２０は、振動制御部３４から疑似力覚振動の指示があったのか触感振動の指示があったのかを区別する必要はなく、単に受信した制御命令に応じた振動を発生させるだけでよい。これにより、ユーザーに疑似力覚を提示したり、触感を提示したりといった制御が可能になる。
【００２８】
設定情報受付部３５は、振動調整部３３が実行する調整処理の内容に関して、ユーザーから設定情報の入力を受け付ける。設定情報受付部３５が実現する機能については、後に詳しく説明する。
【００２９】
以下、振動調整部３３が実行する調整処理の具体例について、説明する。基本的に振動調整部３３は、２種類の振動データに応じて特定される２種類の振動波形を合成することによって、実際に振動デバイス２０が発生させるべき振動の波形を生成する。すなわち、振動調整部３３は、疑似力覚振動データに応じて特定される振動波形（以下、疑似力覚波形という）と、触感振動データに応じて特定される振動波形（以下、触感波形という）を合成して、一つの振動波形を生成する。この振動波形が、実際に振動機構２１が発生させる振動の内容になる。ただし、何の加工もせずに二つの波形をそのまま合成するだけでは、疑似力覚と触感の一方を感じにくくなったりすることがある。そこで振動調整部３３は、両者を合成する際に、少なくとも一方の波形を、元の振動データによって特定される内容から変化させる調整処理を実行してもよい。このような調整処理のいくつかの具体例について、以下に説明する。
【００３０】
まず、触感振動の内容に応じて疑似力覚振動の内容を調整する場合の具体例について、説明する。第１の例として、振動調整部３３は、触感波形の振幅の大きさに応じて、疑似力覚波形の振幅を変化させることとしてもよい。具体的に、例えば振動調整部３３は、単位時間ごとに触感波形の最大振幅を特定する。そして、特定された最大振幅の大きさに合わせて、疑似力覚波形の振幅の大きさを決定する。さらに振動調整部３３は、決定された振幅の大きさに一致するように、疑似力覚波形のスケールを単位時間ごとに変更する。
【００３１】
図４は、この例における調整処理の一例を示す図である。図の上段は触感波形、中段は調整前の疑似力覚波形を示しており、下段は調整処理が行われた後の疑似力覚波形を示している。この図では、まず疑似力覚振動の開始タイミングにおいて、波形の立ち上がりを鋭くして疑似力覚の提示が開始されたことを強調している。その後、触感波形がある程度大きな振幅を持っている時間区間では疑似力覚波形の振幅は大きなままだが、時間経過とともに触感波形の振幅が小さくなると、疑似力覚波形の振幅も小さくなるように補正されている。この上段に示す触感波形と下段に示す調整後の疑似力覚波形を合成することにより、ユーザーが疑似力覚を感じにくくならないようにしながら、疑似力覚提示のために必要以上に大きな振動を発生させないようにすることができる。
【００３２】
第２の例として、振動調整部３３は、触感振動の終了タイミングよりも疑似力覚振動の終了タイミングが遅くなるように、疑似力覚波形の長さを変化させてもよい。この例では、振動調整部３３は、同時期に発生させる触感振動と疑似力覚振動のそれぞれが終了するタイミングを特定する。そして、触感振動よりも疑似力覚振動の方が早く終了すると判定された場合、疑似力覚波形に含まれる基本波形を繰り返すことによって、疑似力覚振動の終了タイミングを触感振動よりも遅らせることとする。
【００３３】
図５は、この例における調整処理の一例を示す図である。図の上段は触感波形を、下段は調整後の疑似力覚波形を示している。この例では、時間区間ｔ１において触感が提示された後も疑似力覚波形が触感波形の終了後も続くように、時間区間ｔ１に続く時間区間ｔ２において疑似力覚波形の基本波形が繰り返されている。また、触感波形の終了後は、疑似力覚波形の振幅が徐々に小さくなるように補正されている。このような調整によれば、触感振動によってユーザーが疑似力覚に気づきにくい状態になることを回避できる。
【００３４】
第３の例として、振動調整部３３は、疑似力覚波形の波形形状、及び周波数のいずれか少なくとも一方を、触感振動の内容に応じて変更してもよい。前述したように、疑似力覚波形を構成する基本波形の波形形状は、正弦波、鋸波、矩形波、及びそれらの組み合わせなど、各種の形状がある。これらのうち、どの形状の基本波形を使用するかは、通常、アプリケーション実行部３１が出力する疑似力覚波形データによって特定される。この例において振動調整部３３は、この疑似力覚波形データによって特定される基本波形の波形形状、及び／又は周波数を、触感振動の内容に応じて別のものに変更する。
【００３５】
具体的に振動調整部３３は、高速フーリエ変換などによって触感波形の周波数分析を実行し、触感波形の主要な周波数成分を特定する。そして、特定された周波数に近づけるように、疑似力覚波形の周波数を変更する。このような調整により、ユーザーは、触感と疑似力覚の双方を感じやすくなる。
【００３６】
さらにこの場合において、振動調整部３３は、変更後の疑似力覚波形の周波数が予め定められた数値範囲に含まれる場合、疑似力覚波形を反転させてもよい。これは、疑似力覚波形の周波数がある特定の数値範囲に含まれるようになると、ユーザーが疑似力覚を感じる向きが反転するためである。例えば疑似力覚波形の基本波形が鋸波によって構成されている場合、所定の周波数閾値未満の場合と当該閾値を超える場合とで、同じ波形形状であっても、ユーザーが疑似力覚を感じる向きが逆転することが知られている。そこで振動調整部３３は、周波数を調整した結果、疑似力覚を感じる向きが逆転する周波数範囲に含まれることになった場合には、疑似力覚波形を反転させることとする。これにより、触感波形の周波数に合わせて疑似力覚波形の周波数を調整しつつ、アプリケーションプログラムによって意図された向きに疑似力覚を提示することができる。なお、疑似力覚を感じる向きが逆転する周波数閾値の近傍では、疑似力覚を感じにくくなるため、振動調整部３３は、疑似力覚波形の周波数を調整する際にこのような閾値近傍の周波数とならないよう制御してもよい。
【００３７】
また、振動調整部３３は、基本波形の波形形状を、触感波形の形状に応じて変化させてもよい。具体例として、振動調整部３３は、触感波形の波形形状を解析して、ピーク波形の鋭さの傾向を評価する。このような評価は、振幅の変化量等を用いて実現できる。評価の結果、鋭いピーク波形が多いと判定された場合には、その触感波形の波形形状に近くなるように、疑似力覚波形の基本波形を、三角波や鋸波に変更する。逆に緩やかなピーク波形が多ければ、正弦波によって構成される基本波形に変化させてもよい。
【００３８】
次に、疑似力覚をユーザーに分かり易く提示するための調整処理の具体例について、説明する。この例では、振動調整部３３は、疑似力覚波形の先頭部分に、逆向きの疑似力覚を提示するための疑似力覚波形を付け加える。ここで逆向きの疑似力覚を提示するための疑似力覚波形は、元の疑似力覚波形を振動方向に沿って反転させた波形になっている。図６は、この例における変更後の疑似力覚波形の具体例を示している。図中において時間区間ｔ０の疑似力覚波形が、逆向きの疑似力覚を提示するために本来の疑似力覚波形から反転したものになっている。
【００３９】
このように本来提示したい疑似力覚と逆方向の疑似力覚を一旦提示してから、疑似力覚の向きを反転させることによって、ユーザーに疑似力覚を強く感じさせることができる。特に触感波形と同時期に疑似力覚を提示する場合、このような逆方向の疑似力覚波形を追加することで、ユーザーが疑似力覚を感じやすくなる。なお、振動調整部３３は、触感と同時期に疑似力覚を提示する場合だけでなく、疑似力覚振動だけを発生させる場合にも、ここで説明したような逆方向の疑似力覚波形を先頭に付け加えることとしてもよい。
【００４０】
次に、これまでの例とは逆に、触感波形に対して調整処理を実行する場合の一例について、説明する。まず第１の例として、触感振動が有する振動の偏りを緩和する調整処理の例について、説明する。触感振動が、疑似力覚の提示方向に沿った振動の偏りを有する場合、すなわち、触感波形が疑似力覚の提示方向、又はその逆方向により強い加速度を発生させる非対称な波形形状を有する場合、触感波形自体が疑似力覚をユーザーに感じさせるおそれが生じる。このような触感振動を疑似力覚振動と同時期に発生させると、触感振動が疑似力覚を打ち消したり逆に意図せず強めてしまったりする可能性がある。そこでこの例では、振動調整部３３は、触感振動に対して振動の偏りを緩和する調整を行う。
【００４１】
具体的に、振動調整部３３は、単位時間ごとに触感波形の波形形状を解析して、疑似力覚提示方向、及びその逆方向それぞれの振幅の大きさを積算する。この積算値は、中心点を基準とした波形ピークの面積に相当する。疑似力覚の提示方向とその逆方向とで積算値の差が所定割合以上になっている場合には、触感波形が非対称になっていることを意味するため、振動調整部３３はその偏りを解消する補正を行う。図７はこの調整処理の内容を説明する図である。この図の上段は調整前の触感波形を示しており、下段は調整後の触感波形を示している。また、図中の上方向が疑似力覚提示方向、下方向がその逆方向になっている。さらに、調整後の触感波形における破線は、調整前（反転前）の波形を示している。この図の例では、疑似力覚提示方向への偏りが生じているため、疑似力覚提示方向にピークがある一部の波形を、中心位置に対して対称に反転させる調整を行っている。このような調整処理によって、疑似力覚提示方向の波形の面積と逆方向の波形の面積の差を小さくして、触感波形による疑似力覚の提示への影響を小さくすることができる。
【００４２】
なお、調整の対称となる波形を反転させる場合、波形が不連続になりにくくするために、連続する疑似力覚提示方向への波形ピークと逆方向への波形ピークとを、まとめて反転させてもよい。この場合、比較的大きなピークと小さなピークの組み合わせをまとめて反転することによって、触感波形の非対称性を緩和することができる。
【００４３】
また、振動調整部３３は、以上説明したような振動の偏りを緩和する調整処理を、疑似力覚振動の有無と関係なく実施してもよい。疑似力覚振動の指示が存在せず、触感のみをユーザーに提示する場合であっても、その触感振動から特定方向への疑似力覚をユーザーが感じてしまうのは好ましくない場合がある。そこで、振動調整部３３は、触感振動を発生させる場合に、常に振動の偏りがあるかを判定し、振動の偏りがある（すなわち、ユーザーが疑似力覚を感じるおそれがある）場合に、以上説明したような偏りを緩和する調整処理を実行してもよい。特に複数の触感振動を発生させる指示が同時期になされた場合、これらの振動の合成振動が、本来アプリケーションプログラムが意図していなかった疑似力覚を生じさせる振動になってしまう可能性がある。このような場合、偏りを緩和する調整処理を実行することで、意図しない疑似力覚の発生を抑えることができる。
【００４４】
次に、触感波形に対する調整処理の第２の例として、触感波形の特定周波数成分を弱める調整処理について説明する。疑似力覚波形に対して、その周波数と近い周波数の波形を合成すると、互いに打ち消し合って疑似力覚を弱めてしまうおそれがある。そこで、触感波形のうち、疑似力覚波形を構成する振動の周波数と近い周波数成分を弱めることによって、触感波形が疑似力覚波形を打ち消さないようにすることができる。
【００４５】
具体的に、例えば疑似力覚波形が８０Ｈｚの正弦波を元に生成されている場合、振動調整部３３は、この疑似力覚波形と同時期に提示される触感波形のうち、７０Ｈｚ〜９０Ｈｚの周波数成分を弱めることとする。なお、振動調整部３３は、このような特定周波数成分の波形を完全に消去させてもよいし、所定割合で振幅を低減させてもよい。また、疑似力覚波形の提示期間と重複する全期間にわたってこのような調整処理を行ってもよいし、触感振動の振幅（エンベロープ）が所定の閾値以上の期間だけ、このような調整処理を行ってもよい。
【００４６】
あるいは振動調整部３３は、特定周波数成分だけを弱めるのではなく、疑似力覚振動の提示が開始されてから所定期間の間は、触感振動の全体を弱める調整を行ってもよい。これにより、触感振動の影響を抑えて疑似力覚を明確にユーザーに提示できる。
【００４７】
振動調整部３３は、ユーザーから受け付けた設定情報の内容に応じて、疑似力覚振動及び触感振動のいずれか少なくとも一方の強さを調整してもよい。一つの振動機構２１によって触感と疑似力覚を同時期に提示しようとする場合、ダイナミックレンジの問題などにより、これらの感覚を両方とも十分な出力でユーザーに提示することは難しい場合がある。そこでこの例では、設定情報受付部３５が、予めユーザーから受け付けた設定情報に応じて、触感と疑似力覚のどちらを優先するか制御することとする。この例において設定情報受付部３５は、疑似力覚振動及び触感振動の強さに関する設定情報の入力をユーザーから受け付けて、その内容を記憶部１２内に記録しておく。振動調整部３３は、記録された設定情報を参照して、疑似力覚振動及び触感振動に対する調整を行う。
【００４８】
具体例として、ユーザーは、触感振動と疑似力覚振動のどちらをより重視するかを指定するものとする。図８は、この例においてユーザーが設定情報を入力する画面の一例を示している。ユーザーは、スライダーを操作することによって、触感振動を重視するよう指定したり、疑似力覚振動を重視するよう指定したり、あるいはその中間の状態を指定したりすることができる。この場合、設定情報受付部３５は、ユーザーから例えば３段階などの離散的な値を受け付けてもよいし、連続的に変化する数値の指定を受け付けてもよい。
【００４９】
ユーザーが触感振動を重視するよう指定している場合、振動調整部３３は、触感振動を強める調整を行ってから、触感振動と疑似力覚振動を合成する。逆にユーザーが疑似力覚振動を重視するよう指定している場合、疑似力覚振動を強める調整を行う。これにより振動デバイス２０は、ユーザーの好みに応じた態様で触感、及び疑似力覚をユーザーに提示できる。
【００５０】
なお、ここでは設定情報受付部３５は、触感振動及び疑似力覚振動のいずれを重視するかを示す単一のパラメーターをユーザーから受け付けることとしたが、触感振動、及び疑似力覚振動のそれぞれについて、その強さを指定するパラメーターを受け付けてもよい。この場合振動調整部３３は、触感振動、及び疑似力覚振動のそれぞれに対して、指定されたパラメーターの値に応じて独立に調整処理を実行する。また、設定情報受付部３５は、触感振動及び疑似力覚振動のいずれかを完全にオフにする設定をユーザーから受け付けてもよい。
【００５１】
なお、振動調整部３３は、これまでに説明した複数種類の調整処理の一部又は全部を、組み合わせて実行してもよい。
【００５２】
振動調整部３３は、以上説明した調整処理を、リアルタイムで実行してもよい。具体的には、アプリケーション実行部３１が新たな振動データを出力し、振動データ取得部３２が当該振動データを取得するごとに、振動調整部３３はその内容から調整の要否を判定し、必要な調整処理を実行する。さらに、必要に応じて調整がなされた触感振動データと疑似力覚振動データとを合成し、振動制御部３４に対して出力する。これにより、ユーザーの入力内容等に応じて提示すべき触感振動の内容や疑似力覚振動の方向等がリアルタイムで変化する場合にも、アプリケーション実行部３１が要求する振動の内容やユーザーが指定する設定内容に応じて適切な調整がなされた振動をユーザーに提示することができる。
【００５３】
あるいは振動調整部３３は、以上説明した調整処理の一部、又は全部を予め実行してもよい。具体的に、例えば振動調整部３３は、予め用意されたデフォルトの疑似力覚波形に対して、触感波形と同時に提示するよう指示された場合に必要な調整を実施して得られる調整済み波形のデータを記憶部１２内に記憶しておく。そして、アプリケーション実行部３１によって疑似力覚振動の提示が指示された場合、触感振動と同時に提示すべき場合には調整済み波形のデータを、疑似力覚単独での提示であればデフォルトの疑似力覚波形のデータを、それぞれ読み出す。そして、触感振動の提示を指示されている場合には、読み出した調整済み波形を触感波形と合成して出力する。これにより、リアルタイムで実行すべき処理量を軽減することができる。
【００５４】
また、触感波形も予め用意されている場合、振動調整部３３は、調整済みの疑似力覚波形と触感波形とを合成した合成波形を予め生成し、その波形データを記憶部１２内に記憶しておいてもよい。こうすれば、触感波形と疑似力覚波形を同時期に提示する場合、単に用意されている波形データを読み出して出力すればよく、リアルタイムで実行すべき処理量をさらに軽減することができる。このように触感波形や疑似力覚波形、これらの合成波形などが予め用意されている場合、アプリケーション実行部３１は、単に提示すべき波形の種類と強さや長さを指定することで、振動の発生を指示することができる。
【００５５】
以上の説明では、アプリケーション実行部３１が出力する触感振動データと疑似力覚振動データを振動調整部３３が合成して、合成振動データを生成することとした。しかしながら、本発明の実施の形態は、このようなものに限られない。例えば、振動調整部３３は、触感振動データ及び疑似力覚振動データの内容に応じて個々の振動データに対して以上説明したような調整処理を実行するが、両者を合成する合成処理は実行しないこととしてもよい。この場合、振動制御部３４は、調整後の触感振動データ及び疑似力覚振動データのそれぞれを振動デバイス２０に対して送信する。そして、振動デバイス２０に内蔵された制御回路が受信した触感振動データと疑似力覚振動データとを合成して合成振動データを生成し、この合成振動データに従って振動機構２１を動作させる。このような制御によっても、振動デバイス２０は、触感と疑似力覚の双方を調整された内容でユーザーに提示することができる。
【００５６】
また、以上の説明ではアプリケーションプログラムとは別に用意されたシステムプログラム等によって振動データ取得部３２及び振動調整部３３の機能が実現されることとしたが、これらの機能はアプリケーションプログラム内で実現されてもよい。この場合、アプリケーション実行部３１が、自身が実行する処理の内容に従って触感及び疑似力覚をユーザーに提示しようとする場合に、その振動内容を示す振動データを生成、取得する。そして、必要に応じて両者に対する調整処理を実行する。この例でも、アプリケーション実行部３１は調整後の触感振動データ、及び疑似力覚振動データを別個に出力してもよいし、両者を合成して合成振動データとして出力してもよい。いずれの場合も、振動制御部３４は出力された振動データを振動デバイス２０に送信し、その内容に沿った振動を発生させる。
【００５７】
また、以上の説明では触感振動データ、及び疑似力覚振動データはいずれも実際の振動波形を示す符号化データを含むこととしたが、疑似力覚波形は基本波形の繰り返しなので、必ずしも全体の波形形状そのものを示すデータを含む必要はない。そのため疑似力覚振動データは、基本波形の形状、振幅の大きさ、及び繰り返し周期等を特定するための各種のパラメーター情報によって構成されるデータであってもよい。この場合、振動調整部３３又は振動デバイス２０が、疑似力覚振動データに含まれるパラメーター情報を参照して、実際の疑似力覚波形を生成し、触感波形と合成して実際に振動機構２１が発生させるべき振動波形を示す振動データを生成する。
【００５８】
これまでの説明では、振動デバイス２０は一軸に沿って振動を発生させる単一の振動機構２１のみを内蔵していることとした。この場合、振動デバイス２０は振動軸に沿って正方向、及び負方向の２方向に向かう疑似力覚を提示することができる。図９及び図１０は、この場合の振動デバイス２０内への振動機構２１の配置例を示している。図中の矢印は振動方向を示しており、この矢印の向きに疑似力覚を生じさせることができる。
【００５９】
しかしながら、本発明の実施の形態はこのようなものに限られず、振動デバイス２０は複数の振動機構２１を内蔵してもよい。図１１は、この場合の振動機構２１の配置の一例を示しており、横長の形状を有する振動デバイス２０の左側、及び右側に振動機構２１ａ及び２１ｂが配置されている。この場合において、振動機構２１の向きを違いに異ならせることによって、多様な向きへの疑似力覚を提示することができる。具体的に図１１の例では、振動機構２１ａは平面視において左右方向に沿って振動を発生させる向きに配置されており、振動機構２１ｂは平面視において前後方向に沿って振動を発生させる向き（すなわち、振動機構２１ａと略直交する向き）に配置されている。このような配置によれば、前後左右のいずれにも疑似力覚を提示することができる。また、この二つの振動機構２１ａ及び２１ｂを組み合わせて動作させることで、二つの振動機構２１の振動方向を含む平面内における３６０度任意の向きに疑似力覚を提示することができる。図１２は、縦長の形状を有する振動デバイス２０の上下に二つの振動機構２１を互いに異なる向きで配置した例を示している。この場合にも、二つの振動機構２１の振動方向を含む平面内の任意の向きに疑似力覚を発生させることができる。
【００６０】
振動デバイス２０は、同じ向きに振動を発生させる複数の振動機構２１を内蔵してもよい。これらの振動機構２１を互いに離れた位置に配置し、互いに逆向きの疑似力覚を発生させることで、振動デバイス２０を回転させる力が加わっているようにユーザーに感じさせることができる。図１３は、この場合の配置例を示している。この図の例では、図１１と同様に振動デバイス２０の長手方向（図の左右方向）に沿って２個の振動機構２１ａ及び２１ｂが配置されているが、図１１と異なり、いずれも振動デバイス２０の長手方向と交差する方向（すなわち、２個の振動機構２１を結ぶ方向と交差する方向）に沿った振動を発生させるように配置されている。この例において、図中ブロック矢印で示すように、振動機構２１ａに上向きの疑似力覚を、振動機構２１ｂに下向きの疑似力覚を発生させることによって、振動デバイス２０を時計回りに回転させる力が加わっているようにユーザーに感じさせることができる。また、各振動機構２１に逆向きの疑似力覚を発生させると、振動デバイス２０を反時計回りに回転させる力が加わっているようにユーザーに感じさせることができる。なお、これらの振動機構２１に同じ向きの疑似力覚を発生させてもよい。
【００６１】
図１４は、図１２と同様の形状の振動デバイス２０に回転力を提示可能な複数の振動機構２１を配置した例を示している。この図の例でも、振動デバイス２０の長手方向に沿って２個の振動機構２１が配置されており、各振動機構２１は、この２個の振動機構２１を結ぶ方向と交差する方向に沿った振動を発生させる。この場合にも、図１３と同様に、２個の振動機構２１を互いに逆向きの疑似力覚を発生させるように動作させることで、両者の中間地点を回転中心とした回転力をユーザーに提示することができる。
【００６２】
振動デバイス２０は、３個以上の振動機構２１を内蔵してもよい。図１５及び図１６は、３個の振動機構２１を振動デバイス２０内に配置する場合の配置例を示している。これらの図の例では３個の振動機構２１の振動方向は同一平面内に配置されることとしているが、一つの振動機構２１は他の振動機構２１の振動方向を含む平面に対して交差する方向に振動するように配置されてもよい。こうすれば、同一平面内だけでなく、上下方向も含めて３次元内の任意の方向に疑似力覚を提示できるようになる。
【００６３】
以上説明したように振動デバイス２０が複数の振動機構２１を備える場合、各振動機構２１を同一の制御命令に従って動作させてもよいが、回転力を発生させる例でも既に説明したように、個々の振動機構２１に対して互いに異なる振動波形で動作させる制御命令を入力してもよい。また、疑似力覚振動データと触感振動データを別個に振動デバイス２０に送信する場合、両者を別の振動機構２１に入力することとしてもよい。この場合、複数の振動機構２１のうちの一部が触感振動を発生させ、その他の振動機構２１が疑似力覚振動を発生させることが可能になる。この場合、複数の振動機構２１は、互いに異なる種類の機構であってもよい。こうすれば、所定周波数における出力が大きな疑似力覚振動に適した振動機構や、対応可能な周波数帯域の広い触感振動に適した振動機構を使い分けて、ユーザーのそれぞれの振動を効果的に提示することができる。
【００６４】
ここで、アプリケーションプログラムの制作者が疑似力覚を発生させる振動の内容を指定するための制作プログラムの具体例について、説明する。図１７は、このような制作プログラムがディスプレイに表示する画面の一例を示している。このような画面において制作者は、疑似力覚を発生させたい向き、及び強さを指定する。この図の例においては、振動デバイス２０の形状が画面上に表示されており、矢印で疑似力覚を発生させたい向きを指示することができる。
【００６５】
図１８は、制作プログラムの表示画面の別の例を示している。この図の例では、円形の領域で疑似力覚の強さ、及び向きを指定できるようになっている。具体的に制作者は、操作子の円形の領域の中心からの方向、及び距離で疑似力覚の向き、及び強さを指定する。また、振動デバイス２０を用いて回転力を提示することができる場合、図中ブロック矢印で示されるように、回転の軌跡を入力することで、回転を提示する波形の生成を指示可能としてもよい。
【００６６】
以上説明した本実施形態に係る振動制御システム１によれば、振動デバイス２０の振動機構２１に振動を発生させることで、触感、及び疑似力覚の双方を効果的にユーザーに提示することができる。
【００６７】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば以上の説明では、振動デバイス２０はユーザーの操作入力を受け付ける操作デバイスであることとしたが、振動デバイス２０はこのようなものに限られず、もっぱらユーザーへの触感や疑似力覚の提示のみに用いられるものであってもよいし、その他の用途で使用されるデバイスであってもよい。
【００６８】
また、以上の説明では振動デバイス２０とは別体の振動制御装置１０が疑似力覚振動、及び触感振動の内容を調整する調整処理を実行することとしたが、これに限らず、振動デバイス２０自身が振動の調整処理を実行してもよい。この場合、振動デバイス２０はアプリケーションプログラム等によって出力される疑似力覚振動データ、及び触感振動データを取得し、両者の内容に応じて調整処理を実行してから、調整後の内容に応じた振動を振動機構２１に発生させる。この場合、振動デバイス２０自身が本発明の実施の形態に係る振動制御装置として機能することになる。
【符号の説明】
【００６９】
１  振動制御システム、１０  振動制御装置、１１  制御部、１２  記憶部、１３  通信部、１４  表示装置、２０  振動デバイス、２１  振動機構、３１  アプリケーション実行部、３２  振動データ取得部、３３  振動調整部、３４  振動制御部、３５  設定情報受付部。
【図１】
2019038887.tif 000003
【図２】
2019038887.tif 000004
【図３】
2019038887.tif 000005
【図４】
2019038887.tif 000006
【図５】
2019038887.tif 000007
【図６】
2019038887.tif 000008
【図７】
2019038887.tif 000009
【図８】
2019038887.tif 000010
【図９】
2019038887.tif 000011
【図１０】
2019038887.tif 000012
【図１１】
2019038887.tif 000013
【図１２】
2019038887.tif 000014
【図１３】
2019038887.tif 000015
【図１４】
2019038887.tif 000016
【図１５】
2019038887.tif 000017
【図１６】
2019038887.tif 000018
【図１７】
2019038887.tif 000019
【図１８】
2019038887.tif 000020
【手続補正書】
【提出日】令和1年12月18日(2019.12.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
振動機構を振動させる振動制御装置であって、
特定の向きに引っ張る力をユーザーに感じさせる疑似力覚を提示する疑似力覚振動の内容を表す疑似力覚振動データを取得する疑似力覚振動データ取得部と、
ユーザーに前記疑似力覚とは異なる触感を感じさせる触感振動の内容を表す触感振動データを取得する触感振動データ取得部と、
前記疑似力覚振動データ、及び前記触感振動データに応じた振動を前記振動機構に発生させる振動制御部と、
を含むことを特徴とする振動制御装置。
【請求項２】
請求項１に記載の振動制御装置において、
前記疑似力覚振動、及び前記触感振動を同時期に発生させる場合に、前記疑似力覚振動、及び前記触感振動の内容に基づいて、その少なくとも一方の内容を調整する振動調整部をさらに含み、
前記振動制御部は、調整された内容の振動を前記振動機構に発生させる
ことを特徴とする振動制御装置。
【請求項３】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の波形の振幅の大きさに応じて、前記疑似力覚振動の波形の振幅を変化させる
ことを特徴とする振動制御装置。
【請求項４】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の終了タイミングよりも前記疑似力覚振動の終了タイミングが遅くなるように、前記疑似力覚振動の長さを変化させる
ことを特徴とする振動制御装置。
【請求項５】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の内容に応じて、前記疑似力覚振動の波形形状を決定する
ことを特徴とする振動制御装置。
【請求項６】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の内容に応じて、前記疑似力覚振動の周波数を変更する
ことを特徴とする振動制御装置。
【請求項７】
請求項６に記載の振動制御装置において、
前記振動調整部は、変更後の前記疑似力覚振動の周波数が所定の数値範囲に含まれる場合、前記疑似力覚振動の波形を反転させる
ことを特徴とする振動制御装置。
【請求項８】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記触感振動の波形に対して、前記疑似力覚の提示方向に沿った振動の偏りを緩和する調整を行う
ことを特徴とする振動制御装置。
【請求項９】
請求項２に記載の振動制御装置において、
疑似力覚振動、及び触感振動の強さに関する設定情報の入力をユーザーから受け付ける設定情報受付部をさらに含み、
前記振動調整部は、前記設定情報の内容に応じて前記調整を行う
ことを特徴とする振動制御装置。
【請求項１０】
請求項２に記載の振動制御装置において、
前記振動調整部は、前記疑似力覚振動の開始時に、前記疑似力覚の提示方向の逆方向に向けた疑似力覚を提示するような振動を追加する
ことを特徴とする振動制御装置。
【請求項１１】
振動機構と、
特定の向きに引っ張る力をユーザーに感じさせる疑似力覚を提示する疑似力覚振動、及びユーザーに前記疑似力覚とは異なる触感を感じさせる触感振動の内容を含んだ振動データを取得する振動データ取得部と、
前記取得した振動データに応じた振動を前記振動機構に発生させる振動制御部と、
を含む振動デバイス。
【請求項１２】
振動機構の制御方法であって、
特定の向きに引っ張る力をユーザーに感じさせる疑似力覚を提示する疑似力覚振動の内容を表す疑似力覚振動データを取得するステップと、
ユーザーに前記疑似力覚とは異なる触感を感じさせる触感振動の内容を表す触感振動データを取得するステップと、
前記疑似力覚振動データ、及び前記触感振動データに応じた振動を前記振動機構に発生させるステップと、
を含むことを特徴とする振動機構の制御方法。
【請求項１３】
振動機構を制御するためのプログラムであって、
特定の向きに引っ張る力をユーザーに感じさせる疑似力覚を提示する疑似力覚振動の内容を表す疑似力覚振動データを取得する疑似力覚振動データ取得部、
ユーザーに前記疑似力覚とは異なる触感を感じさせる触感振動の内容を表す触感振動データを取得する触感振動データ取得部、及び、
前記疑似力覚振動データ、及び前記触感振動データに応じた振動を前記振動機構に発生させる振動制御部、
としてコンピュータを機能させるためのプログラム。
【国際調査報告】
2019038887.tif 000021
2019038887.tif 000022
2019038887.tif 000023
2019038887.tif 000024