(57)【要約】【課題】ハプティックフィードバックのピッチ制御を目的とする。【解決手段】ハプティック出力デバイスの性能情報を受信することによってハプティックフィードバックを生成し、所望のまたはターゲットとしている知覚周波数またはピッチを決定するためのハプティックピッチ制御である。ハプティックエフェクトは、ハプティックエフェクトが所望のまたはターゲットとしている知覚周波数またはピッチにおいてハプティック出力デバイスによってレンダリングされるように、性能情報に基づいて生成される。【選択図】図１
2019067396.tif 000002
【特許請求の範囲】
【請求項１】
ハプティックフィードバックを生成する方法であって、
ハプティック出力デバイスの性能情報を受信するステップと、
ターゲットとしている知覚周波数またはピッチを決定するステップと、
ハプティックエフェクトが前記ターゲットとしている知覚周波数またはピッチにおいて前記ハプティック出力デバイスによってレンダリングされるように、前記性能情報に基づいて前記ハプティックエフェクトを生成するステップと
を含む、方法。
【請求項２】
前記性能情報は、前記ハプティック出力デバイスが一連のパルスを出力するように構成される情報を含み、
前記ハプティックエフェクトの前記生成は、
前記ハプティックエフェクトの周期的パルス動作を特定するステップと、
前記ターゲットとしている知覚周波数またはピッチにおいて前記ハプティックエフェクトをレンダリングするためにパルス列または周波数データを用いて前記周期的パルス動作を充足するステップであって、前記パルス列または周波数データは、前記周期的パルス動作より高い周波数を有する、ステップと
を含む、請求項1に記載の方法。
【請求項３】
前記性能情報は、前記ハプティック出力デバイスが特定の周波数において共振するように構成される情報を含み、
前記ハプティックエフェクトの前記生成は、
ピッチカーブから少なくとも1つの値をサンプリングするステップであって、前記ハプティックエフェクトの周波数は、時間経過に対する前記ピッチカーブに対応する、ステップと、
修正版ハプティック駆動信号を生成するために前記少なくとも1つの値に基づいて元のハプティック駆動信号におけるハプティックデータを再サンプリングするステップであって、前記修正版ハプティック駆動信号は、前記ターゲットとしている知覚周波数またはピッチにおいて前記ハプティックエフェクトをレンダリングするために使用される、ステップと
を含む、請求項1に記載の方法。
【請求項４】
前記ハプティックデータの前記再サンプリングは、
前記ハプティック出力デバイスのウィンドウサイズを決定するステップと、
前記ウィンドウサイズおよび前記少なくとも1つの値に基づいて前記ハプティックデータのウィンドウにわたる平均ハプティックピッチ値を計算するステップと、
前記ウィンドウ内の最初の駆動値として前記平均ハプティックピッチ値を割り当てるステップと、
修正版ハプティックデータを生成するために少なくとも1つのゼロを前記ウィンドウに投入するステップと
を含む、請求項3に記載の方法。
【請求項５】
前記修正版ハプティックデータを使用して前記修正版ハプティック駆動信号を生成するステップをさらに含む、請求項4に記載の方法。
【請求項６】
前記ウィンドウは、前記最初の駆動値の後に1つのゼロを投入され、
前記方法は、
前記ハプティックデータの前記ウィンドウ内の後続の駆動値として前記平均ハプティックピッチ値を割り当てるステップと、
前記ハプティックデータの再修正版ハプティックデータを生成するために前記後続の駆動値の後に2つ以上のゼロを前記ウィンドウに投入するステップと、
前記再修正版ハプティックデータを使用して前記修正版ハプティック駆動信号を生成するステップと
をさらに含む、請求項4に記載の方法。
【請求項７】
前記ターゲットとしている知覚周波数またはピッチの前記決定は、ターゲットとしている知覚最小周波数またはピッチとターゲットとしている知覚最大周波数またはピッチとを決定するステップを含み、
前記方法は、
前記ターゲットとしている知覚最小周波数またはピッチを第1の変数の最小値と、前記ターゲットとしている知覚最大周波数またはピッチを前記第1の変数の最大値と、関連付けるステップと、
前記第1の変数における変化に基づいて前記ターゲットとしている知覚周波数またはピッチを変調するステップであって、前記第1の変数における前記変化は、ユーザ入力に応じる、ステップと
をさらに含む、請求項1に記載の方法。
【請求項８】
ハプティック対応システムであって、
ハプティックデータを記憶する、メモリと、
前記メモリに結合されているプロセッサとを含み、前記プロセッサは、
ハプティック出力デバイスの性能情報を受信することと、
ターゲットとしている知覚周波数またはピッチを決定することと、
ハプティックエフェクトが前記ターゲットとしている知覚周波数またはピッチにおいて前記ハプティック出力デバイスによってレンダリングされるように、前記性能情報に基づいて前記ハプティックエフェクトを生成することと
を行うように構成される、ハプティック対応システム。
【請求項９】
前記性能情報は、前記ハプティック出力デバイスが一連のパルスを出力するように構成される情報を含み、
前記ハプティックエフェクトを生成することは、
前記ハプティックエフェクトの周期的パルス動作を特定することと、
前記ターゲットとしている知覚周波数またはピッチにおいて前記ハプティックエフェクトをレンダリングするためにパルス列または周波数データを用いて前記周期的パルス動作を充足することであって、前記パルス列または周波数データは、前記周期的パルス動作より高い周波数を有する、ことと
を含む、請求項8に記載のハプティック対応システム。
【請求項１０】
前記性能情報は、前記ハプティック出力デバイスが特定の周波数において共振するように構成される情報を含み、
前記ハプティックエフェクトを生成することは、
ピッチカーブから少なくとも1つの値をサンプリングすることであって、前記ハプティックエフェクトの周波数は、時間経過に対する前記ピッチカーブに対応する、ことと、
修正版ハプティック駆動信号を生成するために前記少なくとも1つの値に基づいて元のハプティック駆動信号におけるハプティックデータを再サンプリングすることであって、前記修正版ハプティック駆動信号は、前記ターゲットとしている知覚周波数またはピッチにおいて前記ハプティックエフェクトをレンダリングするために使用される、ことと
を含む、請求項8に記載のハプティック対応システム。
【請求項１１】
前記ハプティックデータを再サンプリングすることは、
前記ハプティック出力デバイスのウィンドウサイズを決定することと、
前記ウィンドウサイズおよび前記少なくとも1つの値に基づいて前記ハプティックデータのウィンドウにわたる平均ハプティックピッチ値を計算することと、
前記ウィンドウ内の最初の駆動値として前記平均ハプティックピッチ値を割り当てることと、
修正版ハプティックデータを生成するために少なくとも1つのゼロを前記ウィンドウに投入することと
を含む、請求項10に記載のハプティック対応システム。
【請求項１２】
前記プロセッサは、前記修正版ハプティックデータを使用して前記修正版ハプティック駆動信号を生成するようにさらに構成される、請求項11に記載のハプティック対応システム。
【請求項１３】
前記ウィンドウは、前記最初の駆動値の後に1つのゼロを投入され、
前記ハプティックデータを再サンプリングすることは、
前記ハプティックデータの前記ウィンドウ内の後続の駆動値として前記平均ハプティックピッチ値を割り当てることと、
前記ハプティックデータの再修正版ハプティックデータを生成するために前記後続の駆動値の後に2つ以上のゼロを前記ウィンドウに投入することと、
前記再修正版ハプティックデータを使用して前記修正版ハプティック駆動信号を生成することと
をさらに含む、請求項11に記載のハプティック対応システム。
【請求項１４】
前記ターゲットとしている知覚周波数またはピッチを決定することは、ターゲットとしている知覚最小周波数またはピッチとターゲットとしている知覚最大周波数またはピッチとを決定することを含み、
前記プロセッサは、
前記ターゲットとしている知覚最小周波数またはピッチを第1の変数の最小値と、前記ターゲットとしている知覚最大周波数またはピッチを前記第1の変数の最大値と、関連付けることと、
前記第1の変数における変化に基づいて前記ターゲットとしている知覚周波数またはピッチを変調することであって、前記第1の変数における前記変化は、ユーザ入力に応じることと
を行うようにさらに構成される、請求項8に記載のハプティック対応システム。
【請求項１５】
命令を記憶した非一時的コンピュータ可読媒体であって、プロセッサによって実行されると、前記プロセッサに、前記命令を行わせ、前記命令は、
ハプティック出力デバイスの性能情報を受信するステップと、
ターゲットとしている知覚周波数またはピッチを決定するステップと、
ハプティックエフェクトが前記ターゲットとしている知覚周波数またはピッチにおいて前記ハプティック出力デバイスによってレンダリングされるように、前記性能情報に基づいて前記ハプティックエフェクトを生成するステップと
を含む、非一時的コンピュータ可読媒体。
【請求項１６】
前記性能情報は、前記ハプティック出力デバイスが一連のパルスを出力するように構成される情報を含み、
前記ハプティックエフェクトの前記生成は、
前記ハプティックエフェクトの周期的パルス動作を特定するステップと、
前記ターゲットとしている知覚周波数またはピッチにおいて前記ハプティックエフェクトをレンダリングするためにパルス列または周波数データを用いて前記周期的パルス動作を充足するステップであって、前記パルス列または周波数データは、前記周期的パルス動作より高い周波数を有する、ステップと
を含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記性能情報は、前記ハプティック出力デバイスが特定の周波数において共振するように構成される情報を含み、
前記ハプティックエフェクトの前記生成は、
ピッチカーブから少なくとも1つの値をサンプリングするステップであって、前記ハプティックエフェクトの周波数は、時間経過に対する前記ピッチカーブに対応する、ステップと、
修正版ハプティック駆動信号を生成するために前記少なくとも1つの値に基づいて元のハプティック駆動信号におけるハプティックデータを再サンプリングするステップであって、前記修正版ハプティック駆動信号は、前記ターゲットとしている知覚周波数またはピッチにおいて前記ハプティックエフェクトをレンダリングするために使用される、ステップと
を含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記ハプティックデータの前記再サンプリングは、
前記ハプティック出力デバイスのウィンドウサイズを決定するステップと、
前記ウィンドウサイズおよび前記少なくとも1つの値に基づいて前記ハプティックデータのウィンドウにわたる平均ハプティックピッチ値を計算するステップと、
前記ウィンドウ内の最初の駆動値として前記平均ハプティックピッチ値を割り当てるステップと、
修正版ハプティックデータを生成するために少なくとも1つのゼロを前記ウィンドウに投入するステップと
を含む、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記命令は、
前記修正版ハプティックデータを使用して前記修正版ハプティック駆動信号を生成するステップをさらに含む、請求項18に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記ウィンドウは、前記最初の駆動値の後に1つのゼロを投入され、
前記命令は、
前記ウィンドウ内の後続の駆動値として前記平均ハプティックピッチ値を割り当てるステップと、
再修正版ハプティックデータを生成するために前記後続の駆動値の後に2つ以上のゼロを前記ウィンドウに投入するステップと、
前記再修正版ハプティックデータを使用して前記修正版ハプティック駆動信号を生成するステップと
をさらに含む、請求項18に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張出願
本出願は、その全体が参照により本明細書に組み込まれている、2017年10月2日に米国特許商標庁に出願された米国仮特許出願第62/566,875号の非仮出願である。
【０００２】
本発明の実施形態は、一般的に、ハプティックフィードバックのピッチ制御を目的としており、より詳細には、ハプティックフィードバックのピッチを制御するための周波数の変調を目的としている。
【背景技術】
【０００３】
ハプティクは、力、振動、およびモーションなどのハプティックフィードバックエフェクト(すなわち、「ハプティックエフェクト」)を個人に適用することによって接触についての個人の感覚を利用する、触覚および力のフィードバック技術に関連する。モバイルデバイス、タッチスクリーンデバイス、およびパーソナルコンピュータなどのデバイスは、ハプティックエフェクトを生成するように構成され得る。例えば、ユーザが、例えば、ボタン、タッチスクリーン、レバー、ジョイスティック、ホイール、またはいくつかの他のコントロール要素を使用して、デバイスとインタラクトする場合には、デバイスのオペレーティングシステムは、制御回路を介してコマンドを送信して適切なハプティックエフェクトを生成し得る。
【０００４】
デバイスは、ハプティックエフェクトが他のコンテンツに組み込まれるように、オーディオなどの他のコンテンツの出力とハプティックエフェクトの出力を連動するように構成され得る。例えば、オーディオエフェクトデベロッパーは、機銃掃射、爆発、または自動車のクラッシュなどのデバイスによって出力され得るオーディオエフェクトを展開し得る。さらに、ビデオエフェクトなどの他のタイプのコンテンツが、デバイスによって展開および出力され得る。
【０００５】
ハプティックエフェクトデベロッパーは、デバイスのためのハプティックエフェクトをオーサリングし得るし、デバイスは、他のコンテンツとともにハプティックエフェクトを出力するように構成され得る。しかしながら、一般的に、そのような処理は、オーディオエフェクトまたは他のタイプのコンテンツを正確に補完するハプティックエフェクトをオーサリングするのにハプティックエフェクトデベロッパーの個人的な判断を必要とする。オーディオエフェクトまたは他のタイプのコンテンツを補完していない、不十分なオーサリングがされたハプティックエフェクトは、オーディオエフェクトまたは他のコンテンツとハプティックエフェクトが「調和」していないまたはタイムリーにレンダリングされないといった、全体的に不快なエフェクトを生成し得ることになり、低質なユーザ体験を提供することになる。
【発明の概要】
【課題を解決するための手段】
【０００６】
例示的な実施形態は、ハプティック出力デバイスの性能情報を受信することによってハプティックフィードバックの生成と、所望のまたはターゲットとしている知覚周波数またはピッチの決定とを提供している。その結果、ハプティックエフェクトは、ハプティックエフェクトが所望のまたはターゲットとしている知覚周波数またはピッチにおいてハプティック出力デバイスによってレンダリングされるように、性能情報に基づいて生成される。
【０００７】
例示的な実施形態は、強度などの他のパラメータに依存しない周波数の変調によってピッチを制御することの困難性を解決している。
【０００８】
例示的な実施形態は、添付の図面と併せて以下の詳細な説明からより明確に理解されよう。図1から9は、本明細書にて説明しているように、非限定的、例示的な実施形態を表している。
【図面の簡単な説明】
【０００９】
【図１】例示的な実施形態による、ハプティック対応システム/デバイスのブロック図である。
【図２】例示的な実施形態による、強度カーブを示すハプティック設計者用ツールのためのユーザインターフェース(「UI」)である。
【図３】例示的な実施形態による、強度カーブに追加されたピッチカーブを示すハプティック設計者用ツールのためのUIである。
【図４】例示的な実施形態による、ハプティックバッファ投入のフロー図である。
【図５】例示的な実施形態による、ハプティックデータ再サンプリングのフロー図である。
【図６】例示的な実施形態による、ハプティックデータのウィンドウの図である。
【図７】例示的な実施形態による、ハプティックデータのウィンドウの図である。
【図８】例示的な実施形態による、ハプティックデータのウィンドウの図である。
【図９】例示的な実施形態による、周期的パルス動作の充足のフロー図である。
【発明を実施するための形態】
【００１０】
実施形態は、一般的に、ハプティックフィードバックのピッチ制御を目的としており、より詳細には、ハプティックフィードバックのピッチを制御するための周波数の変調を目的としている。
【００１１】
ハプティック対応デバイスは、ハプティックエフェクトを適用するように構成された組み込みハードウェア(例えば、アクチュエータまたは他の出力機構)を有するデバイスである。組み込みハードウェアは、一般的に、ハプティックエフェクトの特定のセットを適用(または再生)するようにプログラムされる。どのハプティックエフェクトを再生すべきかを指定する信号がハプティック対応デバイスによって受信されると、ハプティック対応デバイスは、指定されたハプティックエフェクトをレンダリングする。
【００１２】
例示的な実施形態は、アクチュエータに利用可能なアプリケーションプログラムインターフェース(「API」)に基づいた周波数またはピッチの抽象化を目的としている。低周波数から高周波数にまたは高周波数から低周波数に移行したかったことを設計者が把握しているならば、一般的に、それが、設計者がハプティックエフェクトを設計する必要がある唯一の情報であり、残りを設計者用ツールが処理することになる。
【００１３】
本明細書で使用されているような「ピッチ」という用語は、振動の周波数の知覚を指す。
【００１４】
本明細書で使用されているような「知覚周波数またはピッチ」という専門用語は、ハプティックフィードバックがレンダリングまたは再現されたユーザによって知覚されるような周波数またはピッチを指す。
【００１５】
本明細書で使用されているような「ハプティックピッチ制御」という専門用語は、他のパラメータに依存しない、周波数を指定する能力を指す。いくつかのデバイスは、任意の所与の周波数において(範囲内で)振動する能力を有する。いくつかの設計者用ツール、例えば、ハプティックエフェクト(例えば、Immersion TS5000)を設計および実装する既知の組込みおよび集積ソフトウェアシステムは、強度に依存しない、周波数を指定する能力(すなわち、周波数と強度との制御の分離)を提供する。実施形態は、デバイスの性能に応じた様々な方法で周波数を解釈することによってこの概念を推し進めている。したがって、ハプティックエフェクトを設計する際に考慮された設計者の意図だけでなく、デバイス/ハプティック出力デバイスの性能も考慮されることになる。
【００１６】
例えば、1つのハプティック出力デバイス(例えば、高精細度(「HD」)または標準精細度(「SD」)アクチュエータ)は、例えば、キャリア周波数を変調することによって設計者またはプログラマによって指定されるような的確な周波数において共振することができ得る。別のデバイス(例えば、非HDまたはSDアクチュエータ)は、一連のパルス(すなわち、パルス列)を実行することができるだけであり得る。パルス動作のレートは、個人に周波数の知覚を与える。
【００１７】
設計ツールは、ハプティックエフェクトの知覚周波数とは別の周期的パルス動作を顕在化または特定し得る。類似したものとしては音符があり得る。音符の律動がハプティックエフェクトのパルスに対応する一方で、音符のピッチが周波数またはハプティックエフェクトのピッチに対応する。パルス動作を単独で使用して周波数の知覚を駆動する設計者用ツールは、ハプティックエフェクトのリズミカルなパルス動作を犠牲にしている。これに対処する1つの方法は、より高い周波数ピッチデータを用いて、または高周波数パルス列を用いて、リズミカルなパルスを「充足」してピッチをシミュレートすることである。デバイス特性評価データと組み合わせて、アルゴリズムは、高周波数ピッチデータまたは高周波数パルス列を使用してピッチをシミュレートするべきかどうか決定することになる。
【００１８】
いくつかのデバイスは、特定の離散周波数を実現することができるだけである。これでは、ハードウェア性能、ファームウェア、および/またはソフトウェアに依存することになり得る。設計ツールは、実施形態に従って、設計者に達成可能な周波数を顕在化するようにする。あるいはまたは加えて、アルゴリズムは、設計者の選択した周波数が達成不可能なもの(すなわち、「知覚周波数」またはピッチ)であれば、エフェクトを駆動することになる周波数を決定し得る。
【００１９】
エフェクトピッチは一定である必要はない。カーブ(UIの要素として実装されている)は、設計者が時間経過に対してピッチを変調することができるようにするために使用され得る。ピッチは、エフェクトのカラー化、正弦波(または他の波形)、エフェクトのエンベロープ内での充足、数値データ、および/またはいくつかの他の手段によって、このカーブ単独でUIに表され得る。任意のそのような視覚表現が、一方の軸線(Y)が周波数に対応しもう一方の軸線(X)が時間に対応するコンピュータスクリーン上に表示され得る。
【００２０】
ピッチはまた、実行時に動的に変調され得る。例えば、設計者は、最低ピッチおよび最高ピッチを受信し、ピッチをビデオゲームの変数(例えば、車両速度)の低値/最小値および高値/最大値と関連付け、ゲームの変数とユーザ入力によってそれをどのように変化させるかということとに基づいてエフェクトピッチを付け加え得る。
【００２１】
例示的な実施形態においては、周波数を再現することができないアクチュエータ(すなわち、非HDアクチュエータ)に対して、例示的な実施形態は、ピッチカーブを受信し、悪い場面ではデバイスが再現できる最低/最小周波数となるように、良い場面ではデバイスが再現できる最高/最大周波数となるように解釈し、(振幅が設定されるように)周波数を設定することを提供する。ある時点において、ハプティックエフェクトは、50%の強度かつ150Hzでレンダリングされ得るし、その数分後に、ハプティックエフェクトは、51%の強度かつ160Hzでレンダリングされ得るし、以下同様であり得る。
【００２２】
例示的な実施形態は、ハプティックデバイスに搭載されたオンボード加速度計からの加速度計データを使用するなどのスタンドアロンの特性評価ではなく、ハプティックデバイスによってレンダリングされるハプティックエフェクトが個人によってどのように知覚されるか(すなわち、個人が何を感じまたは感知するか)を決定することによって、ハプティックデバイス特性を決定する。したがって、設計意図が、様々な知覚周波数/ピッチを使用して様々な個人の間で保持され得る。
【００２３】
例示的な実施形態においては、ハプティックデバイスの加速度は、例えば、ハプティックデバイスを握っている手をシミュレートするゲル状のマット上で測定を行うことによって、知覚加速度と比較され得る。比較は、別のパラメータをハプティックデバイスの特性評価に追加し得る。
【００２４】
例示的な実施形態においては、周波数の知覚をもたらす他の入力(例えば、気象または環境条件)も、ハプティックデバイスの特性評価において使用されることになる追加のパラメータを生成するために使用され得る。
【００２５】
図1は、例示的な実施形態による、ハプティック対応システム/デバイスのブロック図である。
【００２６】
図1を参照すれば、ハプティック対応システム/デバイス10は、ハプティックエフェクトを設計するためのハプティック設計ツールとして、および/またはハプティックエフェクトを生成または作成するデバイスとして、機能し得る。
【００２７】
様々な例示的な実施形態においては、システム10は、モバイルデバイス(例えば、スマートフォン)または非モバイルデバイス(例えば、デスクトップコンピュータ、ゲーミングシステム、仮想現実/拡張現実システムなど)の一部であり、システム10は、デバイスのためのハプティック機能性を提供している。別の例示的な実施形態においては、システム10は、個人と接触するオブジェクトに組み込まれたデバイスの一部であり、システム10は、そのようなデバイスのためのハプティック機能性を提供している。例えば、ある実施形態においては、システム10は、ウェアラブルデバイスに含まれ、システム10は、ウェアラブルデバイスのためのハプティック機能性を提供している。ウェアラブルデバイスの例としては、リストバンド、ヘッドバンド、眼鏡、指輪、レッグバンド、ヘッドセット、衣服に統合されたアレイ、または個人が身に着け得るまたは個人によって把持され得る任意の他のタイプのデバイスが含まれる。いくつかのウェアラブルデバイスは、それらがハプティックエフェクトを生成する機構を備えていることを意味する「ハプティック対応」であり得る。別の例示的な実施形態においては、システム10は、デバイス(例えば、モバイルデバイスまたはウェアラブルデバイス)から分離されており、デバイスのためのハプティック機能性をリモートで提供する。
【００２８】
単一のシステムとして示しているが、システム10の機能性は、分散システムとして実装され得る。システム10は、バス12または情報を通信するための他の通信機構と、処理情報のためのバス12に結合されているプロセッサ22とを含む。プロセッサ22は、任意のタイプの汎用プロセッサであり得る、または、特定用途向け集積回路(「ASIC」)などのハプティックエフェクトを提供するように特に設計されたプロセッサであり得る。プロセッサ22は、システム10全体をオペレートする同一のプロセッサであり得る、または、別個のプロセッサであり得る。プロセッサ22は、どのようなハプティックエフェクトをレンダリングすべきかおよび高レベルパラメータに基づいてエフェクトがレンダリングされる順番を決定し得る。一般に、特定のハプティックエフェクトを決定する高レベルパラメータは、大きさ、周波数、および期間を含む。ストリーミングモータコマンドなどの低レベルパラメータも、特定のハプティックエフェクトを決定するために使用され得る。ハプティックエフェクトは、ハプティックエフェクトが生成される際にこれらのパラメータのいくつかの変形を含んでいる場合には、または、これらのパラメータの変形が個人のインタラクションに基づいている場合には、「動的に」考慮され得る。
【００２９】
プロセッサ22は、アクチュエータ26に必要とされる電流および電圧(すなわち、「モータ信号」)を供給して編集者が意図した所望のまたはターゲットとしているハプティックエフェクトを引きこすために使用される電子コンポーネントおよび回路を含む、ハプティック駆動回路(図示せず)に制御信号を出力する。図1に示した例示的な実施形態においては、アクチュエータ26は、システム10に結合されている。あるいは、システム10は、2つ以上のアクチュエータ26を含み得るし、各アクチュエータは、すべてが共通のプロセッサ22に結合されている別個の駆動回路を含み得る。
【００３０】
プロセッサ22およびハプティック駆動回路は、様々な実施形態に従って、アクチュエータ26のハプティック駆動信号を制御するように構成される。ハプティック駆動信号のための様々なパラメータは修正され得る。例えば、パラメータは、開始時間、期間、ループカウント(すなわち、ハプティックエフェクトがレンダリングされる回数)、クリップ長さ(すなわち、レンダリングされるハプティックエフェクトの単一のインスタンスの期間)、信号タイプ(すなわち、押すまたは引くなどの二方向性アクチュエータ上でレンダリングされる場合にはハプティックエフェクトの方向)、強度タイプ(すなわち、二方向性アクチュエータのための信号タイプに対する強度カーブ)、信号ギャップ(すなわち、パルス動作エフェクトのための、パルス間のハプティクサイレンスの期間)、信号幅(すなわち、パルス動作エフェクトのための、各パルスの期間)、ギャップファースト(すなわち、パルス動作エフェクトのための、ハプティックエフェクトをパルスまたはギャップのどちらで開始すべきかを指定)、幅に対するリンクギャップ(すなわち、幅とギャップパラメータとの間の比)、信号形状(例えば、サイン波、方形波、三角波、のこぎり波など)、および他のパラメータを含み得る。これらのパラメータを使用して、アプリケーションのハプティックエフェクトをリアルタイムに編集およびレンダリングし得る。
【００３１】
プロセッサ22は、ハプティック出力デバイスの性能情報を受信するように構成される。性能情報は、ハプティック出力デバイスが共振することができる特定の周波数および/または一連のパルスを実行または出力するハプティック出力デバイスの能力を含み得る。プロセッサ22は、所望のまたはターゲットとしている知覚周波数またはピッチを決定し、ハプティックエフェクトが知覚周波数またはピッチにおいてハプティック出力デバイスによってレンダリングされるように性能情報に基づいてハプティックエフェクトを生成するようにさらに構成される。
【００３２】
例示的な実施形態においては、ハプティック出力デバイスが特定の周波数において共振するように構成される指示を性能情報が含んでいる場合には、プロセッサ22は、時間経過に対するハプティックエフェクトの知覚周波数またはピッチ(すなわち、周波数情報)をトラッキングするピッチカーブから値をサンプリングすることによってハプティックエフェクトを生成するように構成される。ハプティックエフェクトのピッチを制御するために、周波数に加えて、ハプティックエフェクトの強度および/または他のパラメータも修正され得る。
【００３３】
図2は、例示的な実施形態による、強度カーブを示すハプティック設計者用ツールのためのUIである。図3は、例示的な実施形態による、強度カーブに追加された所望のピッチカーブを示すハプティック設計者用ツールのためのUIである。
【００３４】
図2および3を参照すれば、所望のピッチカーブ302が、一実施形態によっては強度カーブ202に追加される。ピッチカーブは、編集者によって設計者用ツールに手動で入力され得る。編集者は、ハプティック出力デバイスの性能を考慮して、ハプティック出力デバイスに利用可能なAPIからピッチカーブ302を取得し得る。
【００３５】
図4は、例示的な実施形態による、ハプティックバッファ投入のフロー図である。
【００３６】
一般的に、適切な周波数を得るためにハプティック再生バッファをインテリジェントに投入することによって、ピッチ機能性がハプティックデバイスに追加される。例えば、図4に示しているように、ハプティック駆動値が、402において、ハプティックカーブからサンプリングされ得るし、その後、ハプティックデータが、404において、サンプリングしたハプティック駆動値を用いて再サンプリングされ得る。バッファが、406において、再サンプリングしたハプティックデータを用いて再サンプリングされ、408において、トランスミッション・コントロール・プロトコル(TCP)を使用してハプティックデバイスに送信される。
【００３７】
しかしながら、サンプリングしたハプティック駆動値を用いてハプティックデータを再サンプリングすることは、ハプティックエフェクトの強度などの他の因子に依存しないピッチを制御することを可能とするわけではない。
【００３８】
例示的な実施形態においては、プロセッサ22は、410において、ピッチカーブから値をサンプリングすることによってハプティックエフェクトを生成するように構成される。ピッチカーブから選定した値は、プロセッサ22によって、送信され、高速フーリエ変換(「FFT」)を使用して時間領域から周波数領域に変換される。FFT変換は、ピッチ内の様々な周波数の分析のために選定した値の時間領域信号を周波数領域信号に分解する。所望のまたはターゲットとしている周波数を有する周波数領域信号を選択することができる。ウィンドウ関数(表1に列挙した関数を参照)が、所望のまたはターゲットとしている周波数を有する単一の周波数領域信号を取得するために複数の周波数領域信号に適用され得る。複数の信号を1つの信号に変換する本技法は先行技術において既知であるため、変換の具体的な詳細をここでは提供しない。プロセッサ22は、選択した周波数領域信号を時間領域信号に戻す変換をする。
【００３９】
【表１】
2019067396.tif 000003
【００４０】
元のハプティック駆動信号におけるハプティックデータが、修正版ハプティック駆動信号を生成するために、412において、サンプリングしたピッチカーブ値から生成された時間領域信号を用いて再サンプリングされる。バッファが、406において、修正版ハプティック駆動信号を用いて再サンプリングされ、408において、ハプティックデバイスに送信される。修正版ハプティック駆動信号が、知覚周波数またはピッチにおいてハプティックエフェクトをレンダリングするために使用される。
【００４１】
図5は、例示的な実施形態による、ハプティックデータ再サンプリングのフロー図である。
【００４２】
図5を参照すれば、プロセッサ22は、ピッチカーブからピッチ値を読み取りまたはサンプリングして、502において、サンプリングしたピッチカーブ値から時間領域信号を生成することによって、ハプティックデータを再サンプリングするように構成される。
【００４３】
プロセッサ22は、504において、ウィンドウサイズを受信または特定するように構成される。スライドウィンドウ処理が、プロセッサ22などの送信機とハプティック出力デバイス26などの受信機との間のハプティック駆動信号で送信されるハプティックデータパケットを制御するために使用され得る。ハプティックデータの受信についてのアクノリッジを返して、ハプティック出力デバイス26のバッファ容量をプロセッサ22に通知するために、「ウィンドウ告知」がハプティック出力デバイス26によってプロセッサ22に送信され得る。ウィンドウ告知は、ハプティックデータパケットの数または送信することができるサンプルの数であるウィンドウサイズを特定する。例えば、ウィンドウサイズがゼロである場合には、その後、プロセッサ22は、任意のさらなるハプティックデータをハプティック出力デバイス26に送信する前に、ハプティック出力デバイス26からの許可を待機する必要がある。ウィンドウサイズは、ハプティック出力デバイス26がハプティックデータパケットを処理することができるレートとハプティック出力デバイス26のバッファ容量とに基づいて変化する。プロセッサ22がハプティックデータパケットを送信する処理より遅いレートでハプティック出力デバイス26内のアプリケーションプログラムがハプティックデータパケットを処理する場合には、ハプティック出力デバイス26は、信号をプロセッサ22に送信して、次の伝送におけるウィンドウサイズでのハプティックデータパケットの数を低減することになる、または、バッファを開放するために伝送を一時的に停止することになる。プロセッサ22がハプティックデータパケットを送信する処理より速いレートでハプティック出力デバイス26内のアプリケーションプログラムがハプティックデータパケットを処理する場合には、ハプティック出力デバイス26は、信号をプロセッサ22に送信して、次の伝送におけるウィンドウサイズでのハプティックデータパケットの数を増大することになる。
【００４４】
506において、プロセッサ22は、ウィンドウサイズおよびサンプリングしたピッチ値から生成された時間領域信号に基づいて、ハプティックデータのウィンドウにわたる平均ハプティックピッチ信号値を決定または計算するように構成される。その後、プロセッサ22は、508において、ウィンドウ内の最初の駆動値として平均ハプティックピッチ信号値を割り当て、510において、修正版ハプティックデータを生成するために少なくとも1つのゼロをウィンドウに投入する。本明細書で使用されているような「ウィンドウ」という用語は、ハプティックデータのパケット内のハプティックデータを表す離散値のサブセットを指す。
【００４５】
図6、7、および8は、例示的な実施形態による、ハプティックデータのウィンドウの図である。
【００４６】
図6に示しているように、デフォルトの再生周波数が320Hzであり、ハプティックバッファ内のいずれの値も設計者の意図したハプティック値となっているとすれば、最初の駆動値(DV1)が割り当てられた160Hzの周波数を実現するために、その後、最初の駆動値はゼロでパディングされる。駆動値(DV2およびDV3)は、各駆動値がゼロでパディングされる形でハプティックデータのウィンドウ内に一つおきに投入される。
【００４７】
より小さい周波数(例えば、80Hzの周波数)であっても実現するべく、プロセッサ22は、ハプティックデータのウィンドウ内の最初または後続の駆動値として平均ハプティック駆動値を割り当て、最初または後続の駆動値の後に2つ以上のゼロ(例えば、3つのゼロ)をハプティックデータのウィンドウに投入する。
【００４８】
図7に示しているように、ハプティックデータの各ウィンドウが、単一の周波数に対応するように投入され得る。あるいは、図8に示しているように、ハプティックデータの単一のウィンドウが、様々な周波数を有するハプティックデータに対応するように投入される。
【００４９】
図9は、例示的な実施形態による、周期的パルス動作の充足のフロー図である。
【００５０】
図9を参照すれば、例示的な実施形態においては、ハプティック出力デバイスが一連のパルスを出力するように構成される情報を性能情報が含む場合には、プロセッサ22は、902において、ハプティックエフェクトの周期的パルス動作を特定することによって、ハプティックエフェクトを生成し、904において、パルス列または周波数データを用いて周期的パルス動作を充足して知覚周波数またはピッチにおいてハプティックエフェクトをレンダリングするように構成される。
【００５１】
パルス列または周波数データは、周期的パルス動作より高い周波数を有し得る。他の例示的な実施形態においては、パルス列または周波数データは、周期的パルス動作より低い周波数を有し得る。パルス列は、固定された間隔およびしばしば一定の間隔で時間的に分離された反復的な一連のパルスのことである。パルス列は、方形波、および周期的、非対称(または矩形)波を含む、非正弦波形によって表される。
【００５２】
906において、元のハプティック駆動信号におけるハプティックデータは、修正版ハプティック駆動信号を生成するために、充足された周期的パルス動作を用いてプロセッサ22によって再サンプリングされる。修正版ハプティック駆動信号は、908において、ハプティックデバイスに送信される。修正版ハプティック駆動信号は、知覚周波数またはピッチにおいてハプティックエフェクトをレンダリングするために使用される。
【００５３】
図1に戻って参照すると、非一時的メモリ14は、プロセッサ22によってアクセスされ得る様々なコンピュータ可読媒体を含み得る。様々な実施形態において、本明細書に記載のメモリ14および他のメモリデバイスは、揮発性および不揮発性メディア、リムーバブルおよび非リムーバブルメディアを含み得る。例えば、メモリ14は、ランダムアクセスメモリ(「RAM」)、ダイナミックRAM(「DRAM」)、スタティックRAM(「SRAM」)、リードオンリーメモリ(「ROM」)、フラッシュメモリ、キャッシュメモリ、および/または任意の他のタイプの非一時的コンピュータ可読媒体の任意の組合せを含み得る。メモリ14は、ハプティックデバイスを駆動するために使用されるハプティック信号に符号化されるハプティックデータを記憶する。メモリ14は、プロセッサ22によって実行される命令を記憶する。そのような命令のうち、メモリ14は、ハプティックエフェクト設計モジュール16のための命令を含む。ハプティックエフェクト設計モジュール16は、以下でより詳細に説明しているように、プロセッサ22によって実行されると、ハプティック編集アプリケーションを有効にし、アクチュエータ26を使用してハプティックエフェクトをさらにレンダリングする命令を含む。メモリ14はまた、プロセッサ22内部に位置し得る、または、内部および外部メモリの任意の組合せであり得る。
【００５４】
非一時的メモリ14は、上記で詳細に説明したように、プロセッサ22に、ハプティック出力デバイスの性能情報を受信するステップと、所望のまたはターゲットとしている知覚周波数またはピッチを決定するステップと、ハプティックエフェクトが知覚周波数またはピッチにおいてハプティック出力デバイスによってレンダリングされるように、性能情報に基づいてハプティックエフェクトを生成するステップとを含む、命令を実行させる。
【００５５】
アクチュエータ26は、ハプティックエフェクトを生成することができる任意のタイプのアクチュエータまたはハプティック出力デバイスであり得る。一般に、アクチュエータは、ハプティック出力デバイスの例である、ここで、ハプティック出力デバイスは、駆動信号に応答して、振動触覚ハプティックエフェクト、静電摩擦ハプティックエフェクト、温度変形、および/または変形ハプティックエフェクトなどのハプティックエフェクトを出力するように構成されるデバイスである。「アクチュエータ」という用語を詳細な説明の全体にわたって使用し得るが、例示的な実施形態は、様々なハプティック出力デバイスに容易に適用され得る。アクチュエータ26は、例えば、電気モータ、電磁気アクチュエータ、音声コイル、形状記憶合金、電気活性ポリマー、ソレノイド、偏心回転質量モータ(「ERM」)、高調波ERMモータ(「HERM」)、線形共鳴アクチュエータ(「LRA」)、ソレノイド共鳴アクチュエータ(「SRA」)、圧電アクチュエータ、マクロファイバコンポジット(「MFC」)アクチュエータ、高帯域幅アクチュエータ、電気活性ポリマー(「EAP」)アクチュエータ、静電摩擦ディスプレイ、超音波振動ジェネレータなどであり得る。いくつかの例においては、アクチュエータそのものがハプティック駆動回路を含み得る。
【００５６】
加えてまたはあるいは、システム10は、静電摩擦(「ESF」)、超音波表面摩擦(「USF」)を使用するデバイス、超音波ハプティックトランスデューサを用いて音響放射圧力を引き起こすデバイス、ハプティック基板および可撓性のあるまたは変形可能なサーフィスまたは形状を変形するデバイスを使用し、個人の身体に取り付けられ得るデバイス、エアジェットを使用した一陣のエアなどの投影型ハプティック出力を提供するデバイスなどの非メカニカルまたは非振動デバイスであり得る、他のタイプのハプティック出力デバイス(図示せず)を含み得るまたは接続され得る。
【００５７】
一般に、アクチュエータは、単一の周波数において振動ハプティックエフェクトを生成するSDアクチュエータとして特徴付けられ得る。SDアクチュエータの例としては、ERMおよびLRAを含む。SDアクチュエータと比較して、圧電アクチュエータまたはEAPアクチュエータなどのHDアクチュエータまたは高忠実度アクチュエータは、複数の周波数において高い帯域幅/精細度のハプティックエフェクトを生成することを可能としている。HDアクチュエータは、可変数振幅を有するとともに過渡駆動信号に高速応答する広帯域幅触覚エフェクトを生成するそれらの能力によって特徴付けられる。実施形態では(例えば、Immersion CorporationによるTouchSense(登録商標)Forceテクノロジに搭載されているゲームコントローラトリガ要素上の)プッシュ/プルエフェクトを提供する二方向性アクチュエータまたは周波数変更可能アクチュエータなどのより高品質のアクチュエータを促してきたが、実施形態は、それに限定されるわけではなく、任意のハプティック出力デバイスに容易に適用され得る。
【００５８】
データを送信および/またはリモートソースから受信する実施形態においては、システム10は、ネットワークインターフェースカードなどの通信デバイス20をさらに含み、赤外線、無線、Wi-Fi、セルラネットワーク通信などのモバイル無線ネットワーク通信を提供している。他の実施形態においては、通信デバイス20は、イーサネット(登録商標)接続、モデムなどの有線ネットワーク接続を提供している。
【００５９】
プロセッサ22は、ユーザにグラフィカル表現またはユーザインターフェースを表示するために、液晶ディスプレイ(「LCD」)などのディスプレイ24にバス12を介してさらに結合されている。ディスプレイ24は、信号を送信およびプロセッサ22から受信するように構成されるタッチスクリーンなどのタッチセンサ型入力デバイスであり得るし、マルチタッチタッチスクリーンであり得る。
【００６０】
様々な実施形態において、システム10は、スピーカ28を含むまたは結合されている。プロセッサ22は、オーディオエフェクトを順次出力するスピーカ28にオーディオ信号を送信し得る。スピーカ28は、例えば、ダイナミックラウドスピーカ、動電型ラウドスピーカ、圧電ラウドスピーカ、磁歪ラウドスピーカ、静電ラウドスピーカ、リボンおよび平面磁気ラウドスピーカ、屈曲波ラウドスピーカ、フラットパネルラウドスピーカ、ハイルエアモーショントランスデューサ、プラズマアークスピーカ、デジタルラウドスピーカなどであり得る。代替の実施形態においては、システム10は、スピーカ28に加えて、1つまたは複数の追加のスピーカを含み得る(図1に図示せず)。システム10は、スピーカ28を含んでいなくてもよく、システム10とは別個のデバイスが、オーディオエフェクト出力するスピーカを含み得るし、システム10は、通信デバイス20を介してそのようなデバイスにオーディオ信号を送信する。
【００６１】
システム10は、センサ30を含み得るしまたは結合され得る。センサ30は、エネルギーの形態、または、限定はされないが、サウンド、移動、加速度、生体信号、距離、フロー、力/圧力/歪み/曲げ、湿度、線形位置、方向/傾き、無線周波数、回転位置、回転速度、スイッチの操作、温度、振動、可視光強度などといった他の物理プロパティを検出するように構成され得る。センサ30は、検出したエネルギー、または他の物理プロパティを、電気信号、または仮想センサ情報を表す任意の信号に変換するようにさらに構成され得る。センサ30は、これらに限定されないが、加速度計、電気皮膚反応センサ、電気容量センサ、ホール効果センサ、赤外線センサ、超音波センサ、圧力センサ、光ファイバセンサ、歪みセンサ(または屈曲センサ)、力感知抵抗、付加セル、LuSense CPS2 155、小型圧力トランスデューサ、圧電センサ、歪みゲージ、湿度計、線形位置タッチセンサ、線形ポテンショメータ(またはスライダ)、線形可変差動変圧器、コンパス、傾斜計、磁気タグ(または無線周波数識別タグ)、回転エンコーダ、回転式ポテンショメータ、ジャイロスコープ、オンオフスイッチ、温度センサ(サーモメータ、熱電対、抵抗温度検出器、サーミスタ、温度変換集積回路など)、マイクロフォン、光度計、高度計、生物学的モニタ、カメラ、光依存性抵抗などの任意のデバイス、または、心電図、脳電図、筋電計、眼電図、電子口蓋図、もしくは任意の他の電気生理学的出力を出力する任意のデバイスであり得る。
【００６２】
代替の実施形態においては、システム10は、センサ30に加えて、1つまたは複数の追加のセンサ(図1に図示せず)を含み得るまたは結合され得る。これらの実施形態の一部においては、センサ30および1つまたは複数の追加のセンサは、センサアレイの一部、またはいくつかの他のタイプのセンサのコレクション/配置であり得る。さらに、他の代替の実施形態においては、システム10は、センサ30を含んでいなくてもよく、システム10とは別個のデバイスが、エネルギーの形態または他の物理プロパティを検出するセンサを含み、検出したエネルギー、または他の物理プロパティを、電気信号、または仮想センサ情報を表す他のタイプの信号に変換する。デバイスは、その後、通信デバイス20を介してシステム10に変換信号を送信し得る。
【００６３】
実施形態は、ハプティック出力デバイスの性能に基づくとともに強度などのハプティックエフェクトの他のパラメータに依存しないハプティックフィードバックのピッチを制御するために周波数の変調を提供している。
【００６４】
いくつかの実施形態を特に図示および/または説明してきた。しかしながら、開示した実施形態の修正および変形が、上記の記載によってカバーされており、発明の精神および意図した範囲から逸脱しない限り添付の特許請求の範囲の範囲内にあることは諒解されよう。
【符号の説明】
【００６５】
10  システム
12  バス
14  メモリ
15  オペレーティングシステム
16  ハプティックエフェクト設計モジュール
18  他のアプリケーション
20  通信デバイス
22  プロセッサ
24  ディスプレイ
26  アクチュエータ
28  スピーカ
30  センサ
202  強度カーブ
302  ピッチカーブ
【図１】
2019067396.tif 000004
【図２】
2019067396.tif 000005
【図３】
2019067396.tif 000006
【図４】
2019067396.tif 000007
【図５】
2019067396.tif 000008
【図６】
2019067396.tif 000009
【図７】
2019067396.tif 000010
【図８】
2019067396.tif 000011
【図９】
2019067396.tif 000012
【外国語明細書】
2019067396000001.pdf