(57)【要約】  振動機構を振動させる振動制御装置であって、ユーザから、振動機構を振動させる際の補正内容を指定する補正情報を受け付け、ユーザに触感を感じさせる振動の内容を表す触感振動データを取得し、当該取得された触感振動データを、補正情報に応じて補正して振動データとし、当該補正した後の振動データにより振動機構を振動させる振動制御装置である。
2019043781.tif 000002
【特許請求の範囲】
【請求項１】
振動機構を振動させる振動制御装置であって、
ユーザから、前記振動機構を振動させる際の補正内容を指定する補正情報を受け付ける補正情報受付部と、
ユーザに触感を感じさせる振動の内容を表す触感振動データを取得する振動データ取得部と、
前記取得された触感振動データを、前記補正情報に応じて補正して振動データとし、当該補正した後の振動データにより前記振動機構を振動させる振動制御部と、
を含むことを特徴とする振動制御装置。
【請求項２】
請求項１に記載の振動制御装置において、
前記補正情報受付部が強調補正の補正内容を指定する補正情報を受け付けたときに、前記振動制御部が、前記触感振動データを、前記補正情報に応じて他の波形の振動データに置き換えて補正し、当該補正した内容で前記振動機構を振動させる振動制御装置。
【請求項３】
請求項１または２に記載の振動制御装置において、
前記振動制御部は、前記補正情報に応じて、前記触感振動データの内容を、他の波形の振動データに置き換えて補正し、当該補正した後の振動データで前記振動機構を振動させ、
当該振動制御部は、当該補正した後の振動データの振幅を、前記取得した触感振動データの振幅に基づいて決定する振動制御装置。
【請求項４】
請求項２また３に記載の振動制御装置であって、
前記他の波形の振動データは、所定周波数の正弦波の振動データである振動制御装置。
【請求項５】
コンピュータにより、振動機構を振動させる振動制御方法であって、
補正情報受付部が、ユーザから、前記振動機構を振動させる際の補正内容を指定する補正情報を受け付ける工程と、
振動データ取得部が、ユーザに触感を感じさせる振動の内容を表す触感振動データを取得する工程と、
振動制御部が、前記取得された触感振動データを、前記補正情報に応じて補正して振動データとし、当該補正した後の振動データにより前記振動機構を振動させる工程と、
を含むことを特徴とする振動制御方法。
【請求項６】
コンピュータを、
ユーザから、振動機構を振動させる際の補正内容を指定する補正情報を受け付ける補正情報受付部と、
ユーザに触感を感じさせる振動の内容を表す触感振動データを取得する振動データ取得部と、
前記取得された触感振動データを、前記補正情報に応じて補正して振動データとし、当該補正した後の振動データにより前記振動機構を振動させる振動制御部と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動制御装置、振動制御方法、及びプログラムに関する。
【背景技術】
【０００２】
家庭用ゲーム機に接続して使用される操作デバイスなど、ユーザが自身の体に装着したり保持したりして使用するデバイスの中には、そのデバイスの一部又は全部を振動させるための振動機構を備えるものがある。このような振動機構を備えた振動デバイスは、任意のタイミングで振動機構を動作させることで、ユーザに振動を提示することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
通常、上記従来例の振動デバイスをどのように振動させるかは、アプリケーションプログラムが実行する処理の内容に応じて決定される。例えば、ユーザがゲーム内で仮想的に触れた対象物の質感に対応する振動を触感として提示する。【０００４】
しかしながら、ユーザによっては、アプリケーションプログラムが指定する触感の情報に代えて、比較的強い振動で振動デバイスを振動させたい場合もあり得る。【０００５】
本発明は上記実情を鑑みてなされたもので、その目的の一つは、ユーザの好みなどによって振動機構の振動の仕方を調整できる振動制御装置、振動制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様は、振動機構を振動させる振動制御装置であって、ユーザから、前記振動機構を振動させる際の補正内容を指定する補正情報を受け付ける補正情報受付部と、ユーザに触感を感じさせる振動の内容を表す触感振動データを取得する振動データ取得部と、前記取得された触感振動データを、前記補正情報に応じて補正して振動データとし、当該補正した後の振動データにより前記振動機構を振動させる振動制御部と、を含むこととしたものである。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態に係る振動制御装置を含むシステムの例を表す構成ブロック図である。
【図２】本発明の実施の形態に係る振動制御装置の一例を表す機能ブロック図である。
【図３】本発明の実施の形態に係る振動制御装置が提供する補正指示の設定画面例を表す説明図である。
【図４】本発明の実施の形態に係る振動制御装置により処理される振動波形の例を表す説明図である。
【発明を実施するための形態】
【０００８】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る振動制御装置１０は、例えば、家庭用ゲーム機やパーソナルコンピュータ等であってよく、図１に示すように、制御部１１と、記憶部１２と、通信部１３とを含んで構成され、振動機構２１を内蔵した振動デバイス２０に接続されている。
【０００９】
ここで振動デバイス２０は、ユーザが手で保持したり、ユーザの身体に装着したりして使用するゲームコントローラ等のデバイスである。振動デバイス２０は、内部の振動機構２１を動作させることによってユーザに振動を提示する。
【００１０】
振動機構２１は、例えばリニア共振アクチュエータやボイスコイルモーター、偏心モーターなど、各種の振動発生素子であってよい。また振動機構２１は、複数のボイスコイルモーターを含んでもよいし、ボイスコイルモーターと偏心モーターとの組み合わせなど、複数種類の振動発生素子を含んでもよい。さらにこの振動デバイス２０は、ユーザによる操作を受け入れる操作ボタンやレバーなどを備えてもよい。
【００１１】
振動制御装置１０の制御部１１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部１２に格納されたプログラムに従って各種の情報処理を実行する。本実施の形態では、この制御部１１は、ユーザから、振動デバイス２０の振動機構２１を振動させる際の補正内容を指定する補正情報を受け入れる。また制御部１１は、ユーザに触感を感じさせる振動の内容を表す触感振動データをアプリケーションプログラムの処理等に基づいて取得する。そして制御部１１は、取得した触感振動データを、補正情報に応じて補正した内容で補正して振動データとし、当該補正した後の振動データにより振動機構２１を振動させる制御を行う。この制御部１１の具体的な処理の内容については、後に詳しく述べる。
【００１２】
記憶部１２は、メモリデバイス等であり、制御部１１によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ、非一時的な記憶媒体に格納されて提供され、この記憶部１２に複写されたものであってもよい。またこの記憶部１２は、制御部１１のワークメモリとしても動作する。
【００１３】
通信部１３は、ＵＳＢ（Universal Serial Bus）等のシリアルインタフェースあるいは、ブルートゥース（登録商標）等の無線通信インタフェースを含んで構成される。振動制御装置１０は、この通信部１３を介して振動デバイス２０との間で通信可能に接続される。本実施形態において、通信部１３は、制御部１１からの指示に従って、振動機構２１を動作させるための制御信号を送信する。さらに通信部１３は、図示しないディスプレイや家庭用テレビ装置、あるいはヘッドマウントディスプレイ等の表示装置と有線又は無線で通信するための通信インタフェースを含んでいる。振動制御装置１０は、通信部１３を介して、表示装置が表示すべき映像のデータを表示装置に対して送信する。
【００１４】
以下、振動制御装置１０の制御部１１の動作について説明する。本実施の形態において制御部１１は、機能的には図２に例示するように、補正情報受付部３１と、アプリケーション実行部３２と、振動指示受付部３３と、振動制御部３４と、を含んで構成されている。これらの機能は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することにより実現される。
【００１５】
補正情報受付部３１は、ユーザから補正情報の入力を受け付ける。ここで補正情報は、後述する振動制御部３４が振動デバイス２０を振動させる制御命令を出力する際に、その振動に対する補正内容を指定する情報であり、ここではユーザが、触感のリアリティよりも、より強い振動を求める趣旨の補正を指定する情報であるものとする。
【００１６】
一例として、この補正情報受付部３１は、図３に例示する、補正情報の入力案内画面を表示装置に表示出力する。ユーザは、この表示装置の画面に表示された入力案内画面により、振動デバイス２０に設けられた操作ボタンを操作することによって、補正情報を入力する。図３の例では、ユーザが所定の操作ボタンを操作する度に「リアル触感モード」と「パワー振動モード」との間でスイッチ（Ｓ）が切り替わるものとする。ここでユーザが「リアル触感モード」に設定した場合には補正情報がないものとし、「パワー振動モード」に設定した場合には、補正情報を受け付けるものとする。また、ここでは「リアル触感モード」と「パワー振動モード」とを切り替えるスイッチを用いる例としたが、本実施の形態はこれに限られず、「パワー振動」を段階的に設定するスライダー（複数の段階を有する設定値を入力可能なインタフェース）を用いてもよい。この場合、パワー振動の段階を表す値を用いた処理が行われてもよい。
【００１７】
アプリケーション実行部３２は、制御部１１がゲーム等のアプリケーションプログラムを実行することにより実現される。アプリケーション実行部３２は、振動デバイス２０に対するユーザの操作内容等に応じて各種の処理を実行し、その処理結果を表示装置の画面に表示させる。例えばアプリケーション実行部３２は、各種の仮想オブジェクトが配置された仮想空間を構築し、その内部の様子を示す画像をユーザに提示してもよい。
【００１８】
さらにアプリケーション実行部３２は、その処理の内容にしたがって、振動デバイス２０を振動させるための振動指示データを出力する。この振動指示データには、振動デバイス２０の振動機構２１をどのように振動させるかを指示するデータが含まれている。例えば振動指示データは、アプリケーションの処理において、ユーザが仮想的に触れた対象物の触感（対象物の表面のテクスチャに基づく振動や、対象物自体の振動、例えば対象物が銃である場合にトリガーを引いたときの衝撃など）を表す触感振動データを振動指示データの一つとして出力する。
【００１９】
この振動指示データの具体例の一つは、振動機構２１が発生させるべき振動の波形を符号化したデータである。本実施の形態では、振動指示データは、振動を継続させる時間全体に亘っての波形データであってもよいし、振動の波形を、所定の時間ごとに分割して、複数の波形要素としたときの、各波形要素を表す波形データの組であってもよい。
【００２０】
また、このように振動指示データを、波形のデータとする場合、振動波形の振幅及び周波数によって振動機構２１の実際の動作が規定される。このような振動指示データは、音声データと同様のフォーマット（波形を表すフォーマット等）で記述されていてもよい。また、一般に、この例の振動指示データは、音声データと同様に、複数の周波数の振動が重なり合った波形を表すものとなる。アプリケーション実行部３２が出力する振動指示データは、記憶部１２内に確保されたバッファ領域に格納される。
【００２１】
振動指示受付部３３は、アプリケーション実行部３２から振動デバイス２０を振動させる振動指示を受け付ける。具体的に振動指示受付部３３は、アプリケーション実行部３２がバッファ領域に格納した振動指示データを読み出すことによって、振動指示を受け付け、振動制御部３４に出力する。なお、振動指示データが所定の時間ごとに分割されている場合は、振動指示受付部３３は、アプリケーション実行部３２がバッファ領域に格納した振動指示データを、順番に、逐次的に読み出すことによって振動指示を受け付ける。
【００２２】
振動制御部３４は、振動指示受付部３３が受け付けた振動指示の内容に基づいて、振動機構２１を動作させる制御命令を振動デバイス２０に対して出力する。振動デバイス２０は、この制御命令に基づいて振動機構２１を動作させることによって、振動指示の内容に応じた強さや周波数の振動を発生させる。これにより、本実施形態に係るアプリケーション実行部３２が実行するゲーム等の状況に応じて振動デバイス２０本体を振動させ、その振動をユーザに提示することができる。
【００２３】
さらに本実施の形態の振動制御部３４は、補正情報受付部３１が補正情報を受け入れているときには、当該補正情報に基づいて振動指示を補正し、補正された振動指示に基づいて振動機構２１を動作させる制御命令を振動デバイス２０に対して出力する。振動制御部３４がこのような補正処理を実行することで、ユーザは自分の好みなどによって振動の内容を調整することができる。以下、補正情報の内容に応じた補正処理の具体例について説明する。
【００２４】
本実施の形態において、触感のリアリティよりも、より強い振動を求める趣旨の補正が指示された場合、補正の方法としては、触感振動データを補正する方法として、
（１）触感振動データに代えて、他の波形のデータ（例えば所定の周波数の正弦波）を出力する、
（２）触感振動データに、インパクト感を出すためのフィルタを適用する、
（３）触感振動データのうち、振幅の最小値を上昇させる、
また、振動させる振動機構２１を変更する補正の方法として、
（４）振動機構２１が複数の振動発生素子を含む場合は、振動させる振動発生素子の数を増大（パワー振動のレベルが入力される場合は、当該レベルが大きいほど、振動させる振動発生素子の数が多くなるように増大させてもよい）させる、
（５）振動機構２１が複数種類の振動発生素子を含む場合は、振動させる振動発生素子の種類を変更して、より強い振動が得られるようにする
等の方法があり得る。
【００２５】
以下、これらのうち、触感振動データを補正する（１）から（３）の各方法による補正について説明する。
【００２６】
まず、（１）触感振動データに代えて、他の波形のデータ（例えば所定の周波数の正弦波）を出力する方法について説明する。この例では、振動制御部３４は、振動指示受付部３３が受け付けた振動指示の内容により、当該振動指示に含まれる触感振動データに代えて、当該触感振動データが提示される期間に亘り、所定周波数の正弦波の振動指示を出力する。この正弦波の振動指示が、補正された振動指示となり、振動制御部３４は、この補正された振動指示に基づいて、振動機構２１を動作させる制御命令を生成して、振動デバイス２０に対して出力する。なお、ここでは正弦波としたが、正弦波に限られず、鋸歯状波や、三角波などに置き換えてもよい。
【００２７】
この例によると、図４（ａ）に例示する触感振動データが振動指示として受け付けられたときに、振動制御部３４が、この触感振動データが継続している時間に亘って、所定周波数の正弦波の振動データを生成して出力する（図４（ｂ））。
【００２８】
また、振動制御部３４は、触感振動データが表す波形の包絡線（エンベロープ；図４の（Ｘ））の振幅の絶対値が、予め定めた閾値（Ｐ）を超えている期間（Ｔ）、つまり包絡線が閾値±Ｐを超える期間だけ、所定周波数の正弦波の振動データを生成して出力することとしてもよい（図４（ｃ））。なお、このとき、当該期間（Ｔ）以外の期間では、当該期間に対応する（上記閾値（Ｐ）を超えていない）触感振動データをそのまま出力することとしてもよい。
【００２９】
さらに振動制御部３４は、補正した後の振動データの振幅を、触感振動データの振幅に基づいて決定してもよい。すなわち振動制御部３４は、触感振動データが表す波形の包絡線（エンベロープ；図４の（Ｘ））を用い、所定周波数の正弦波の振動データを振幅変調して、当該所定周波数の正弦波の包絡線の形状が、触感振動データが表す波形の包絡線の形状に一致するようにした、変調正弦波を生成して出力することとしてもよい（図４（ｄ））。
【００３０】
なお、本実施の形態のこの例において用いる正弦波の周波数は、振動機構２１あるいは振動デバイス２０の固有振動数ｆ０（同一の電圧で振動機構２１を制御したとき、当該振動機構２１あるいは振動デバイス２０が最も大きく振動する周波数）近傍の周波数としてもよい。これにより、より強調された振動がユーザに提示されることとなる。また、この正弦波の振幅（包絡線の振幅）は、振動機構２１の振動の最大値、または最大値近傍（最大値に対して８０％以上の大きさなど）としておいてもよい。
【００３１】
この例において、パワー振動のレベルが入力されている場合は、上記閾値（Ｐ）を変更することとすればよい。一例として入力されたパワー振動のレベルが大きいほど、閾値（Ｐ）を小さくして、所定周波数の正弦波の振動データが出力される機会を増大させる。
【００３２】
次に、（２）触感振動データに、インパクト感を出すためのフィルタを適用する方法について説明する。この例では、振動制御部３４は、振動指示受付部３３が受け付けた振動指示の内容により、当該振動指示に含まれる触感振動データに対して、所定のフィルタを適用する。このフィルタとしては、ウィーナーフィルタ等、公知の強調用のフィルタを用いることができる。
【００３３】
振動制御部３４は、このフィルタ適用後の触感振動データを補正された振動指示とし、当該補正された振動指示に基づいて、振動機構２１を動作させる制御命令を生成して、振動デバイス２０に対して出力する。
【００３４】
この例において、パワー振動のレベルが入力されている場合は、当該レベルが大きいほど、振動がより強調されるように適用するフィルタのパラメータを変更することとしてもよい。
【００３５】
さらに（３）触感振動データのうち、振幅の最小値を上昇させる例について説明する。この例では振動制御部３４は、振動指示受付部３３が受け付けた振動指示の内容により、当該振動指示に含まれる触感振動データにおいて、振動の強さが所定のしきい値を下回る部分について、振動の強さを強めに補正する。例えば触感振動データにおいて、当該触感振動データが表す波形の振幅（の絶対値）が、包絡線の振幅の絶対値が所定のしきい値Ｐを下回る値Ｋ（Ｋ＜Ｐ）となっている期間では、当該期間内での触感振動データの振動の強さ（包絡線ではなく触感振動データが表す振動そのものの振幅）を補正比率Ｐ／Ｋ倍して、少なくとも振幅Ｐで振動する波形に補正する。
【００３６】
なお、この振幅のしきい値Ｐは、例えば振動機構２１が振動可能な最大振幅に対して例えば９０％とするなど、最大振幅に比較的近い値としておいてもよい。
【００３７】
また、この場合に、周波数帯ごとに補正の内容（補正比率）を変化させてもよい。すなわち、振動指示データに複数の周波数の振動が含まれる場合、例えば高周波数の振動は人が比較的感じにくく、低周波数の振動は感じやすいといったように、周波数ごとに感覚の差異がある。そのため、全周波数に対して同じように振幅を大きくする補正を行うと、特定の周波数の振動が他の周波数の振動よりも感じにくくなってしまうことがある。そこで振動制御部３４は、複数の周波数帯のそれぞれに対して補正比率で振動レベルを補正することで、ユーザにとっては全体的に振動の強さが補正されているように感じさせてもよい。
【００３８】
具体的に、例えば振動制御部３４は、包絡線の振幅Ｋが第二のしきい値Ｐ′（Ｐ′＜Ｐ）を上回る場合は、所定の周波数帯Ｂ１の振動だけをＰ／Ｋ倍する補正を行い、包絡線の振幅Ｋが上記第二のしきい値Ｐ′を下回るときには、所定の周波数帯Ｂ１よりも広い周波数帯（例えば全ての周波数帯）の振動をＰ／Ｋ倍して補正する。
【００３９】
この例において、パワー振動のレベルが入力されている場合は、上記しきい値ＰやＰ′を変更することとすればよい。一例として入力されたパワー振動のレベルが大きいほど、しきい値Ｐを大きくして振動の振幅をより大きくさせる。
【００４０】
［触感振動データ以外の振動を含む例］
なお、ここまでの説明では、アプリケーション実行部３２は触感振動データを出力するものとしていたが、本実施の形態はこれに限られない。例えばアプリケーション実行部３２は、触感振動データとともに、当該触感振動データと同時期に提示されるべき他の振動に係るデータ（例えば力覚を提示するための振動データ等、以下、他の振動データと呼ぶ）を出力してもよい。
【００４１】
この場合、振動指示受付部３３は、アプリケーション実行部３２から振動指示として、触感振動データとともに、当該触感振動データが表す振動と同時期に提示されるべき振動を表す他の振動データを受け付ける。
【００４２】
具体的に振動指示受付部３３は、アプリケーション実行部３２がバッファ領域に格納した触感振動データ及び他の振動データを読み出すことによって、振動指示を受け付け、振動制御部３４に出力する。
【００４３】
ここで振動指示の触感振動データや他の振動データが所定の時間ごとに分割されている場合は、振動指示受付部３３は、アプリケーション実行部３２がバッファ領域に格納した振動指示を、順番に、逐次的に読み出すことによって振動指示を受け付ける。
【００４４】
この例では振動制御部３４は、振動指示受付部３３が受け付けた振動指示の内容に基づいて、振動機構２１を動作させる制御命令を振動デバイス２０に対して出力する際に、振動指示に含まれる触感振動データが表す振動と、他の振動データが表す振動とを加算した振動（複数種類の他の振動データがある場合は、それらの各振動を累算した振動に、触感振動データが表す振動を加算した振動）となるよう、振動機構２１に対する制御命令を生成して、振動デバイス２０に出力する。そして振動デバイス２０は、この制御命令に基づいて振動機構２１を動作させる。
【００４５】
また振動制御部３４は、ユーザが「パワー振動モード」に設定したことにより補正情報を受け付けたときには、触感振動データについて、既に述べた、
（１）触感振動データに代えて、他の波形のデータ（例えば所定の周波数の正弦波）を出力する、
（２）触感振動データに、インパクト感を出すためのフィルタを適用する、
（３）触感振動データのうち、振幅の最小値を上昇させる、
（４）振動機構２１が複数の振動発生素子を含む場合は、振動させる振動発生素子の数を増大させる、
（５）振動機構２１が複数種類の振動発生素子を含む場合は、振動させる振動発生素子の種類を変更して、より強い振動が得られるようにする
などの方法により補正を行う。
【００４６】
また、この振動制御部３４は、他の振動データについては、ユーザが「パワー振動モード」に設定したことにより受け付けた補正情報に基づく補正を行わず、上記補正を行った後の触感振動データ（またはそれに代えて出力される所定周波数の正弦波等）が表す振動に、他の振動データが表す振動を加算した振動が提示されるよう、振動機構２１を制御する制御命令を、振動デバイス２０に対して出力する。
【００４７】
さらにこのように、補正した触感振動データが表す振動だけでなく、他の振動データに基づく振動を加算して提示する場合は、触感振動データの補正を行う際に、補正後の触感振動データが、他の振動データがない場合に比べてやや弱くなるよう（振幅を小さくなるよう）に、触感振動データを補正（触感振動データに代えて所定周波数の正弦波等を出力する場合は、当該正弦波等の波形の振幅を小さめに補正）し（あるいは振動する振動機構２１の数または種類を変更し）てもよい。これにより、他の振動データが表す振動が、補正後の触感振動データの振動により感じ取れなくなってしまうことを防止できる。
【００４８】
また補正した触感振動データが表す振動だけでなく、他の振動データに基づく振動を加算して提示する場合においても、ユーザからパワー振動のレベルが入力されている場合は、当該入力されたレベルが大きいほど、より強く強調されるよう補正を行うこととしてもよい。さらにこの場合でも、補正後の触感振動データが、他の振動データがない場合に比べてやや弱くなるよう（振幅を小さくなるよう）に、触感振動データを補正するなどしておくこととしてもよい。
【符号の説明】
【００４９】
１０  振動制御装置、１１  制御部、１２  記憶部、１３  通信部、２０  振動デバイス、２１  振動機構、３１  補正情報受付部、３２  アプリケーション実行部、３３  振動指示受付部、３４  振動制御部。
【図１】
2019043781.tif 000003
【図２】
2019043781.tif 000004
【図３】
2019043781.tif 000005
【図４】
2019043781.tif 000006
【国際調査報告】
2019043781.tif 000007
2019043781.tif 000008
2019043781.tif 000009