(58)【調査した分野】(Int.Cl.,DB名)
プロセッサにより実行されたときに、前記プロセッサに動的ハプティック効果を生成させる命令を有する非一時的コンピュータ可読媒体であって、前記動的ハプティック効果を生成することは、
補間が第1のハプティック効果に生じることを特定する値である第1の補間値、第1のハプティック効果、及び第1のアクチュエータを識別する第1のアクチュエータ値を含む第1のキーフレームを受信するステップと、
補間が第2のハプティック効果に生じることを特定する値である第2の補間値、第2のハプティック効果、及び第2のアクチュエータを識別する第2のアクチュエータ値を含む第2のキーフレームを受信するステップと、
前記第1の補間値と前記第2の補間値との間にある入力補間値を受信するステップと、
前記入力補間値に基づいて前記動的ハプティック効果を決定するステップと、
前記第1のアクチュエータ及び前記第2のアクチュエータに前記動的ハプティック効果の各部分を同期して出力させるステップと、を含む非一時的コンピュータ可読媒体。
前記第1のキーフレーム又は前記第2のキーフレームのうちの少なくとも1つは、前記動的ハプティック効果の方向を特定する方向値を更に含む、請求項1に記載の非一時的コンピュータ可読媒体。
キーフレームのグループ化は、アクチュエータ値に応じた前記第1のキーフレーム又は前記第2のキーフレームを含む、請求項1に記載の非一時的コンピュータ可読媒体。
【発明を実施するための形態】
【0007】
以下の説明されるように、“動的ハプティック効果”は、一又はそれ以上の入力パラメータに応じて、時間とともに進行するハプティック効果を示す。動的ハプティック効果は、所与の入力信号の状態での変化を表すハプティックデバイスで表示されるハプティック又は振動触覚効果である。入力信号は、ハプティック効果の生成に影響を与えるために、位置、加速度、圧力、向き又は近接のようなハプティックフィードバックを有する装置でのセンサによりキャプチャされる信号、又は他の装置によりキャプチャされ、ハプティック装置へ送られる信号でありうる。
【0008】
動的効果信号は、任意の型の信号でありうるが、複雑である必要はない。例えば、動的効果信号は、効果信号の変換する特性で入力パラメータをマップするマッピングスキーマに基づいて時間とともに変化する又はリアルタイムで反応する位相、周波数又は振幅のようないくつかの特性を有する単純サイン波であってもよい。入力パラメータは、デバイスにより提供されることが可能な任意の型の入力であってもよく、通常、デバイスセンサ信号のような任意の型の信号であってもよい。デバイスセンサ信号は、任意の手段により生成されてもよく、通常、装置によるユーザのジェスチャをキャプチャすることにより生成されてもよい。動的効果は、ジェスチャインターフェースにとって非常に有益であるが、ジェスチャ又はセンサの使用は、動的信号を生成するために必ずしも必要ではない。
【0009】
直接的にジェスチャを含まない1つの共通のシナリオは、アニメーション化されたウィジェットの動的ハプティック態様を定義している。例えば、ユーザがリストをスクロールするとき、ジェスチャの触覚を最も直感的に感じることは普通ではないが、ジェスチャに応じてウィジェットのモーションを直感的に感じることは普通である。スクロールリストの例では、リストを徐々に移動することは、スクロールの速度に応じて変化する動的ハプティックフィードバックを生成するが、スクロールバーを急に動かすことは、ジェスチャが完了した後にも動的ハプティックを生成する。これは、ウィジェットがいくつかの物理特性を有するイリュージョンを生成し、例えば、その速度又はモーションであるかどうかのようなウェジェットの状態についての情報をユーザに提供する。
【0010】
ジェスチャは、意味又はユーザの意図を伝える任意の体の動きである。これは、より複雑なジェスチャを形成するために簡素なジェスチャが組み合わせられたものと理解される。例えば、指をタッチ検出面に接触することは、“フィンガー・オン(finger on)”ジェスチャとして示される一方で、指をタッチ検出面から離すことは、別の“フィンガー・オフ(finger off)”ジェスチャとして示される。“フィンガー・オン”と“フィンガー・オフ”との間の時間が相対的に短い場合には、組み合わせられたジェスチャは、“タッピング”として示され、“フィンガー・オン”と“フィンガー・オフ”との間の時間が相対的に長い場合には、組み合わせたジェスチャは、“ロングタッピング”として示され、“フィンガー・オン”と“フィンガー・オフ”との2次元的な(x,y)位置間の距離が相対的に大きい場合には、組み合わせたジェスチャは、“スワイピング”として示され、“フィンガー・オン”と“フィンガー・オフ”との2次元的な(x,y)位置間の距離が相対的に小さい場合には、組み合わせたジェスチャは、“スミアリング(smearing)”、“スマッジング(smudging)”又は“フリッキング(flicking)”として示される。任意の数の二次元又は三次元の簡素又は複雑なジェスチャは、任意の数の他のジェスチャを形成するために任意の手法で組み合わせられてもよく、複数の指の接触、掌又は握り拳の接触又は装置への近接を含むがこれに限定されない。ジェスチャは、また、加速度計、ジャイロスコープ、又は他のモーションセンサを有する装置により認識され、電気信号に変換される任意の形態の手の動きであってもよい。このような電気信号は、例えば、仮想的なサイコロを振ることのような動的効果をアクティブにすることができ、センサは、動的効果を生成するユーザの意図をキャプチャする。
【0011】
一実施形態は、複数のアクチュエータにおいて一又はそれ以上の動的ハプティック効果を生成しうるシステムであり、一又はそれ以上の動的ハプティック効果は、複数のアクチュエータに分配されうる。システムは、動的ハプティック効果用の2又はそれ以上のキーフレームを定義しうる。一実施形態では、システムは、各キーフレームが、アクチュエータ値を用いて複数のアクチュエータの特定のアクチュエータを対象とすることを可能にし、別々のアクチュエータ値を補間することを可能にし、2又はそれ以上のキーフレーム内に記憶される2又はそれ以上のハプティック効果を補間することにより動的ハプティック効果を生成することを可能にし、補間されたアクチュエータ値に基づいて対象とされたアクチュエータに動的ハプティック効果を分配することを可能にする。別の実施形態では、システムは、各キーフレームが、複数のアクチュエータの特定のアクチュエータを対象とすることを可能にし、同一のアクチュエータを対象とするキーフレームを共にグループ化することを可能にし、各アクチュエータについてグループ化されたキーフレーム内に記憶されるハプティック効果を独立で補間することにより動的ハプティック効果を生成することを可能にする。別の実施形態では、システムは、複数のアクチュエータの動的ハプティック効果をどのように分配するかを示すアクチュエータ分配情報を求めることができる。システムは、その後、2又はそれ以上のキーフレーム内に記憶される2又はそれ以上のハプティック効果を補間することにより動的ハプティック効果を生成することができ、その後、アクチュエータ分配情報を用いて複数のアクチュエータに動的ハプティック効果を分配することができる。
【0012】
別の実施形態は、一又はそれ以上のキーフレームを用いて動的ハプティック効果を生成しうるシステムであり、各キーフレームは、方向特性を含む。方向特性は、キーフレームが動的ハプティック効果の特定の方向のために用いられることを示すことができる。動的ハプティック効果の求められた方向に基づいて、求められた方向と等しい方向特性を有する一又はそれ以上キーフレームは、動的ハプティック効果を生成するために用いられうる。
【0013】
動的ハプティック効果の1つのタイプは、第1の補間値と第2の補間値との間にある値である動的な値に基づいて第1のハプティック効果及び第2のハプティック効果を補間することにより生成されうるハプティック効果である。第1の補間値又は第2の補間値のいずれかと等しい動的な値は、“第1の補間値と第2の補間値との間にある”とみなされる。より具体的には、動的ハプティック効果の各パラメータのための値は、補間機能を用いて、第1のハプティック効果のパラメータの値を第2のハプティック効果のパラメータの値で補間することにより算出される。動的ハプティック効果の各パラメータ値の補間は、動的な値が第1の補間値と第2の補間値との間に位置することに基づきうる。動的ハプティック効果は、2012年7月11日に提出された“GENERATING HAPTIC EFFECTS FOR DYNAMIC EVENTS”という発明の名称の米国特許出願第13/546,351号(その内容が参照により本明細書に援用される)、及び2012年11月2日に提出された“ENCODING DYNAMIC HAPTIC EFFECTS”という発明の名称の米国特許出願第13/667,003号(その内容が参照により本明細書に援用される)にさらに説明される。動的ハプティック効果は、ハプティック効果信号を用いてエンコードされることができ、ハプティック効果信号は、動的ハプティック効果の表現である。ハプティック効果信号は、ディスク、メモリ、又は任意のコンピュータ可読記憶媒体に持続されうる。上述した実施形態では、動的ハプティック効果に関連付けられる2又はそれ以上のキーフレームは、ハプティック効果により生成される動的ハプティック効果の一又はそれ以上の入力パラメータを含みうる。
【0014】
図1は、本発明の一実施形態に係るシステム10のブロック図を示す。一実施形態では、システム10は、モバイル装置の一部分であり、システム10は、モバイル装置のためにハプティック変換機能を提供する。図では単一のシステムを示したが、システム10の機能は、分散されたシステムとして実装されることができる。システム10は、情報を伝達するためのバス12又は他の通信機構と、情報を処理するために、バス12に接続されるプロセッサ22と、を含む。プロセッサ22は、任意のタイプの一般的な又は特殊用途のプロセッサであってもよい。システム10は、プロセッサ22により実行される情報及び命令を記憶するメモリ14をさらに含む。メモリ14は、ランダムアクセスメモリ(“RAM”)、リードオンリーメモリ(“ROM”)、磁気又は光ディスクのようなスタティックストレージ、又は任意のタイプのコンピュータ可読媒体の任意の組み合わせを含みうる。
【0015】
コンピュータ可読媒体は、プロセッサ22によりアクセス可能であり、揮発性及び不揮発性媒体の両方、リムーバブル及びノンリムーバブル媒体、通信媒体、及びストレージ媒体を含む任意の取得可能な媒体であってもよい。通信媒体は、搬送波又は他の伝送機構のような変調されたデータ信号におけるコンピュータ可読命令、データ構造、プログラムモジュール又は他のデータを含んでもよく、既存の技術の情報伝達媒体の任意の形態を含んでもよい。ストレージ媒体は、RAM、フラッシュメモリ、ROM、erasable programmable read−only memory(“EPROM”)、electrically erasable programmable read−only memory(“EEPROM”)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスクリードオンリーメモリ(“CD−ROM”)、又は既存の技術の任意の他のストレージ媒体の形態を含んでもよい。
【0016】
一実施形態では、メモリ14は、プロセッサ22により実行されたときに、機能を提供するソフトウェアモジュールを記憶する。モジュールは、一実施形態のモバイル装置の他の部分と同様に、システム10にオペレーティングシステム機能を提供するオペレーティングシステム15を含む。モジュールは、以下に詳細を記載するように、動的ハプティック効果を生成するハプティック効果生成モジュール16を含む。特定の実施形態では、ハプティック効果生成モジュール16は、複数のモジュールを含むことができ、各個別のモジュールは、動的ハプティック効果を生成するための特定の個別の機能を提供する。システム10は、通常、Immersion CorporationによるIntegrator(登録商標)のような追加の機能を含むための一又はそれ以上の追加のアプリケーションモジュール18を含む。
【0017】
システム10は、リモートソースからデータを送信及び/又は受信する実施形態において、赤外線、無線、Wi−Fi又はセルラーネットワーク通信のようなモバイル無線通信を提供するために、ネットワークインターフェースカードのような通信装置20をさらに含む。他の実施形態では、通信装置20は、イーサネット(登録商標)接続又はモデムのような有線通信を提供する。
【0018】
プロセッサ22は、バス12を介して、グラフィック描写又はユーザインターフェースをユーザへ表示する液晶ディスプレイ(“LCD”)のようなディスプレイ24にさらに接続される。ディスプレイ24は、タッチスクリーンのような、プロセッサ22から信号を送受信するように構成される接触検知入力装置であってもよく、マルチタッチスクリーンであってもよい。プロセッサ22は、さらに、マウス又はスタイラスのようなユーザがシステム10とやりとりすることを可能にするキーボード又はカーソルコントロール18と接続されてもよい。
【0019】
システム10は、一実施形態では、アクチュエータ26Aをさらに含む。プロセッサ22は、生成されたハプティック効果に関連付けられたハプティック信号をアクチュエータ26Aに送信し、次に、例えば振動触覚効果のようなハプティック効果を出力する。アクチュエータ26Aは、アクチュエータ回路を含む。アクチュエータ26Aは、例えば、電気モータ、電磁気アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマー、ソレノイド、偏心モータ(eccentric rotating mass motor(“ERM”))、リニア共振アクチュエータ(inear resonant actuator(“LRA”))、圧電アクチュエータ、高帯域幅アクチュエータ、電気活性ポリマー(electroactive polymer(“EAP”))アクチュエータ、静電触覚ディスプレイ、又は超音波振動発生器であってもよい。別の実施形態では、システム10は、アクチュエータ26Aに加えて、一又はそれ以上の別のアクチュエータを含みうる。図示された実施形態では、システム10は、アクチュエータ26Aに加えて、アクチュエータ26Bを含む。しかし、これは、単なる一つの実施形態の例であり、別の実施形態では、システム10は、
図1に図示されない追加のアクチュエータを含むことができる、又はアクチュエータ26Aのみを含むことができる。別の実施形態では、システム10とは別の装置は、ハプティック効果を生成するアクチュエータを含み、システム10は、通信装置20を通じて、生成されたハプティック効果信号を当該別の装置へ送信する。アクチュエータ26A及び26Bは、ハプティック出力装置の実施例であり、ハプティック出力装置は、駆動信号に応じて、振動触覚ハプティック効果のようなハプティック効果を出力するように構成される装置である。
【0020】
図2は、本発明の一実施形態に係る、例示的な動的ハプティック効果の定義200を示す。一実施形態によれば、動的ハプティック効果は、一又はそれ以上のキーフレームを含むように定義されうる。キーフレームは、動的ハプティック効果を定義するために用いられうる基本ハプティック効果の表現である。また、実施形態によれば、ハプティック効果信号は、一又はそれ以上のキーフレームを用いて生成されることができ、ハプティック効果信号は、一又はそれ以上のキーフレームを記憶することができる信号である。一又はそれ以上のキーフレームを用いてハプティック効果信号を生成することにより、一又はそれ以上のキーフレームが生成され、続いて、ハプティック効果信号内に記憶される。ハプティック効果信号は、ハプティック効果ファイル内に記憶され、ハプティック効果ファイルから読み出されうる。
【0021】
キーフレームは、基本ハプティック効果の定義を含みうる。基本ハプティック効果は、ハプティック効果の特性(より具体的には、ハプティック効果により生成された運動感覚フィードバック及び/又は触覚フィードバックの特性)を定義する一又はそれ以上のパラメータを含みうるハプティック効果であり、ハプティック効果は、例えば、振動ハプティック効果でありうる。一又はそれ以上のパラメータの例は、大きさ(magnitude)パラメータ、周波数パラメータ、周期パラメータ及び持続期間パラメータを含みうる。基本ハプティック効果の例は、“MagSweepハプティック効果”及び“周期ハプティック効果”を含みうる。MagSweepハプティック効果は、運動感覚フィードバック及び/又は触覚フィードバック(例えば、振動)を生成するハプティック効果である。周期ハプティック効果は、運動感覚フィードバック及び/又は触覚フィードバック(例えば、振動パターン)を繰り返すことを生成するハプティック効果である。パターンを繰り返すことの一例は、正弦、矩形、三角形、のこぎり波(sawtooth−up及びsawtooth−down)のような特定の形状のパルスを繰り返すことを含む。
【0022】
キーフレームは、補間値を含みうる。補間値は、現在補間が生じていることを特定する値である。一実施形態では、補間値は、最小値から最大値までの整数値でありうる。一例として、補間値は、0から10,000でありうる。別の実施形態では、補間値は、固定点又は浮遊点の数値でありうる。補間値は、一又はそれ以上のビット内に記憶されうる。
【0023】
キーフレームは、付加的に、リピートギャップ値も含みうる。リピートギャップ値は、基本ハプティック効果が連続的にプレイされたとき、基本ハプティック効果の2つの連続する例の間の時間間隔を示す値である。一実施形態では、リピートギャップ値は、基本ハプティック効果の2つの連続する例の間のミリ秒の数を示しうる。
【0024】
図示された実施形態では、動的ハプティック効果定義200は、キーフレーム210、220、230及び240の4つのキーフレームを含む。しかし、これは、単なる一つの例の実施形態であり、別の実施形態では、動的ハプティック効果の定義は、多数のキーフレームを含みうる。キーフレーム210は、“周期(Periodic)1”の基本ハプティック効果基準、“0”の補間値、及び“10ms”のリピートギャップ値を含む。基本ハプティック効果基準“周期(Periodic)1”は、基本ハプティック効果260を示し、これは、動的ハプティック効果定義200内にも含まれる。よって、キーフレーム210は、“0”の補間値のための基本ハプティック効果として基本ハプティック効果260を定義する。キーフレーム210は、さらに、基本ハプティック効果260が連続的にプレイされたとき、基本ハプティック効果260の各連続する例の間に10msの時間間隔が存在することを示す。同様に、キーフレーム220は、“周期(Periodic)3”の基本ハプティック効果基準、“10”の補間値、及び“15ms”のリピートギャップ値を含む。基本ハプティック効果基準“周期(Periodic)3”は、基本ハプティック効果270を示し、これは、動的ハプティック効果定義200内にも含まれる。よって、キーフレーム210は、“0”の補間値のための基本ハプティック効果として基本ハプティック効果270を定義する。キーフレーム220は、さらに、基本ハプティック効果270が連続的にプレイされたとき、基本ハプティック効果270の各連続する例の間に15msの時間間隔が存在することを示す。
【0025】
同様に、キーフレーム230は、“Periodic3”の基本ハプティック効果基準、“10”の補間値、及び“15ms”のリピートギャップ値を含む。前述したように、基本ハプティック効果基準“周期(Periodic)1”は、基本ハプティック効果260を示し、これは、動的ハプティック効果定義200内にも含まれる。よって、キーフレーム230は、“0”の補間値のための基本ハプティック効果として基本ハプティック効果260を定義する。これは、基本ハプティック効果が一以上の補間値のための基本ハプティック効果として定義されうることを示す。キーフレーム230は、さらに、基本ハプティック効果260が連続的にプレイされたとき、基本ハプティック効果260の各連続する例の間に5msの時間間隔が存在することを示す。同様に、キーフレーム240は、“周期(Periodic)2”の基本ハプティック効果基準、“30”の補間値、及び“20ms”のリピートギャップ値を含む。基本ハプティック効果基準“Periodic2”は、基本ハプティック効果280を示し、これは、動的ハプティック効果定義200内にも含まれる。よって、キーフレーム240は、“30”の補間値のための基本ハプティック効果として基本ハプティック効果280を定義する。キーフレーム240は、さらに、基本ハプティック効果280が連続的にプレイされたとき、基本ハプティック効果280の各連続する例の間に20msの時間間隔が存在することを示す。
【0026】
一実施形態によれば、動的ハプティック効果は、動的ハプティック効果の終了の指示も含むように定義されうる。動的ハプティック効果の終了の指示は、動的ハプティック効果が追加のキーフレームを含まないことを示す。以下に詳細に説明されるように、動的ハプティック効果定義を解釈する装置は、連続的に、動的ハプティック効果定義の内容を解釈するように構成されうる。よって、前記指示は、動的ハプティック効果定義の終了を装置へ示すことができる。一実施形態では、動的ハプティック効果の終了時の指示は、追加のキーフレームとして考慮されうる。図示された実施形態では、動的ハプティック効果定義200は、動的ハプティック効果定義の終了200の終了を示す動的ハプティック効果定義の終了を含む。
【0027】
図3は、本発明の一実施形態に係る、例示的なキーフレーム定義300を示す。前述したように、動的ハプティック効果定義は、一又はそれ以上のキーフレームを含む。実施形態によれば、キーフレーム定義は、一又はそれ以上の特性を含みうる。一又はそれ以上の特定の各々の特性は、値を含みうる。
【0028】
キーフレーム定義は、タイプ特性を含みうる。一実施形態では、タイプ特性は、キーフレーム定義の第1の特性である。タイプ特性は、キーフレームが、動的ハプティック効果定義のための基本ハプティック効果を含むキーフレームであるか、又は動的ハプティック効果定義の終了を示すキーフレームであるかを示すことができる。図示された実施形態では、キーフレーム定義300は、キーフレーム定義300により定義されたキーフレームのタイプを示すタイプ特性310を含む。
【0029】
キーフレーム定義は、また、基本ハプティック効果特性を含みうる。基本ハプティック効果特性は、キーフレームにための基本ハプティック効果に対する基準を記憶しうる。図示された実施形態では、キーフレーム定義300は、キーフレーム定義300により定義されるキーフレームのための基本ハプティック効果に対する基準を含む基本ハプティック効果特性320(“効果名(effect name)”として
図3で識別される)を含む。
【0030】
キーフレーム定義は、また、補間特性を含みうる。補間特性は、補間値を記憶することができ、補間値は、現在補間が生じていることを特定する。一実施形態では、補間値は、最小値から最大値までの整数値でありうる。一例として、補間値は、0から10,000でありうる。補間値は、一又はそれ以上のビットに記憶されうる。図示された実施形態では、キーフレーム定義300は、キーフレーム定義300により定義されるキーフレームのための補間値を含む補間特性330を含む。
【0031】
キーフレーム定義は、リピートギャップ特性を付加的に含みうる(
図3には図示せず)。リピートギャップ特性は、基本ハプティック効果が連続的にプレイされるときに、キーフレームのための基本ハプティック効果の2つの連続する例の間の時間間隔を示すリピートギャップ値を記憶しうる。一実施形態では、リピートギャップは、キーフレームのための基本ハプティック効果の2つの連続する例の間のミリ秒の数を示すことができる。
【0032】
一実施形態では、ハプティック効果ファイルは、一又はそれ以上のハプティック効果を記憶するように構成されるコンピュータファイルであり、ハプティック効果ファイルは、ディスク、メモリ又は任意のコンピュータ可読媒体に持続されうる。実施形態によれば、ハプティック効果ファイルは、基本ハプティック効果ストレージブロック及びフレームリストブロックを用いて一又はそれ以上の動的ハプティック効果を記憶しうる。基本ハプティック効果ストレージブロックは、動的ハプティック効果が言及されうる一又はそれ以上のハプティック効果を記憶するために用いられうる。フレームリストブロックは、動的ハプティック効果定義に対応する一又はそれ以上のキーフレーム定義を記憶するために用いられうる。基本ハプティック効果ストレージブロック及びフレームリストブロックは、ここでより詳細に説明される。
【0033】
図4は、本発明の一実施形態に係る、例示的な基本ハプティック効果ストレージブロック400を示す。前述したように、動的ハプティック効果定義は、一又はそれ以上の基本ハプティック効果を含むことができ、少なくとも1つの記憶された基本ハプティック効果は、動的ハプティック定義の少なくとも1つのキーフレームにより言及される。一実施形態では、一又はそれ以上の基本ハプティック効果は、基本ハプティック効果ストレージブロック400のような基本ハプティック効果ストレージブロック内に記憶されることができ、基本ハプティック効果ストレージブロックは、動的ハプティック効果定義内に記憶される。
【0034】
実施形態によれば、一又はそれ以上の基本ハプティック効果は、基本ハプティック効果ストレージブロック400内にメッセージストリームとして記憶されうる。メッセージフォーマットの一例は、“codename z2”プロトコルメッセージフォーマットである。図示された実施形態では、基本ハプティック効果は、SetPeriodicModifierメッセージにより任意に先行されるSetPeriodicメッセージにより定義される。よって、基本ハプティック効果が、関連するエンベロープ(包絡線)を有するとき、SetPeriodicModifierメッセージは、ブロックのSetPeriodicメッセージの前に現れうる。一方で、SetPeriodicメッセージのみがブロックに現れることもできる。よって、実施形態によれば、基本ハプティック効果ストレージブロック(例えば、
図4の基本ハプティック効果ストレージブロック400)に記憶されるような基本ハプティック効果は、(a)単一のSetPeriodicメッセージ(デフォルトエンベロープと仮定する)のメモリの8バイト;又は(b)SetPeriodicメッセージに続く第1のSetPeriodicModifierメッセージのメモリの16バイトのいずれかを取り得る。
【0035】
実施形態によれば、基本ハプティック効果ストレージブロック(例えば、
図4の基本ハプティック効果ストレージブロック400)は、一又はそれ以上の基本ハプティック効果定義を含むことができ、各基本ハプティック効果定義は、基本ハプティック効果に対応する。一又はそれ以上の基本ハプティック効果定義は、基本ハプティック効果ストレージブロック内で連続的であり、インデックスとそれぞれ関連付けられうる。
【0036】
図示された実施形態では、基本ハプティック効果ストレージブロック400は、効果(Effect)0, 効果(Effect)1, 効果(Effect)2, 効果(Effect)3, 及び効果(Effect)4の5つの基本ハプティック効果を含む。Effect0は、基本ハプティック効果ストレージブロック400に位置する第1の基本ハプティック効果であり、Effect1は、基本ハプティック効果ストレージブロック400に位置する第2の基本ハプティック効果であり、Effect2は、基本ハプティック効果ストレージブロック400に位置する第3の基本ハプティック効果であり、Effect3は、基本ハプティック効果ストレージブロック400に位置する第4の基本ハプティック効果であり、Effect4は、基本ハプティック効果ストレージブロック400に位置する第5の基本ハプティック効果である。5つの基本ハプティック効果のそれぞれ(つまり、Effect0、Effect1、Effect2、Effect3及びEffect4)は、単一のSetPeriodicメッセージ又はSetPeriodicModifierメッセージ及びSetPeriodicメッセージの組み合わせのいずれかを含む基本ハプティック定義を含む。
【0037】
図5は、本発明の一実施形態に係る、例示的なフレームリストブロック500を示す。前述したように、動的ハプティック効果定義は、一又はそれ以上のキーフレームを含むことができ、各キーフレームは、基本ハプティック効果を言及しうる。一実施形態では、一又はそれ以上のキーフレームは、フレームリストブロック500のようなフレームリストブロック内に記憶されることができ、フレームリストブロックは、動的ハプティック効果定義内に記憶される。
【0038】
一実施形態によれば、フレームリストブロック500のようなフレームリストブロックは、第1のキーフレーム定義のためのタイプ特性を含む。タイプ特性に応じて、フレームリストブロックは、さらに、基本ハプティック効果特性、補間特性、リピートギャップ特性又はそれらの組み合わせのような第1のキーフレーム定義と関連付けられる一又はそれ以上の特性を含む。フレームリストブロックは、さらに、第1のキーフレーム定義の最後を示す第2のキーフレームのためのタイプ特性を含む。タイプ特性に応じて、フレームリストブロックは、さらに、基本ハプティック効果特性、補間特性、リピートギャップ特性又はそれらの組み合わせのような第2のキーフレーム定義と関連付けられる一又はそれ以上の特性を含む。これは、フレームリストブロックの各キーフレーム定義へ継続する。フレームリストブロックは、さらに、動的ハプティック効果の最後を示すタイプ特性を含む。実施形態によれば、フレームリストブロックのキーフレーム定義は、連続する命令である。言い換えれば、フレームリストブロックのイベントは、フレームリストブロック内に位置するために処理される。
【0039】
実施形態によれば、一又はそれ以上のフレームリストブロックの特性は、付加的なデータバイトに続いて、単一のヘッダーバイトを用いてエンコードされうる。フレームリストブロックの一又はそれ以上の特性のエンコーディングスキームの一例は、以下のようになる。
【表1】
【表2】
【表3】
【表4】
【表5】
【0040】
実施形態によれば、キーフレームタイプ特性及び動的ハプティック効果特性の最後は、キーフレーム定義のタイプ特性に対応し、EffectNameAsOffSetU8タイプ特性は、キーフレーム定義の基本ハプティック効果特性に対応し、InterpolantU16特性は、キーフレーム定義の補間特性に対応し、RepeatGapU16特性は、キーフレーム定義のリピートギャップ特性に対応する。
【0041】
図示された実施形態では、フレームリストブロック500は、キーフレーム定義510、520及び530を含む。キーフレーム定義510及び520は、各々が基本ハプティック効果キーフレームのための定義である。キーフレーム定義530は、フレームリストブロック内に記憶される動的ハプティック効果の最後の指示である。フレームリストブロック500の左カラムは、キーフレーム定義510、520及び530それぞれについてメモリ内で見つけられるバイトストリームを示す。フレームリストブロック500の右カラムは、キーフレーム定義510、520及び530のそれぞれについての各特性の意味を示す。
【0042】
図示された実施形態によれば、キーフレーム定義510は、キーフレーム定義510のスタートを示すキーフレームタイプ特性(
図5で示される“KeyFrame Event”)を含む。キーフレーム定義510は、さらに、キーフレーム定義510のための基本ハプティック効果への基準を記憶する基本ハプティック効果特性(
図5で示される“EffectNameAsOffsetU8”)を含み、基本ハプティック効果特性は、ヘッダーバイト及びオフセットバイトを含む。キーフレーム定義510は、さらに、現在補間が行われていることを特定する補間値を記憶する補間特性(
図5で示される“InterpolantU16”)を含み、補間特性は、ヘッダーバイト、最も重要なビット(a most significant bit(“MSB”))及び最も重要でないビット(a least significant bit(“LSB”))を含む。キーフレーム定義510は、さらに、キーフレームのための基本ハプティック効果の2つの連続する例の間の時間間隔を示すリピートギャップ値を記憶するリピートギャップ特性(
図5で示される“RepeatGapU16”)を含み、リピートギャップ特性は、ヘッダーバイト、MSB及びLSBを含む。
【0043】
さらに、キーフレーム定義520は、また、キーフレーム定義520のスタートを示すキーフレームタイプ特性(
図5で示される“KeyFrame Event”)を含む。キーフレーム定義520は、さらに、キーフレーム定義520のための基本ハプティック効果への基準を記憶する基本ハプティック効果特性(
図5で示される“EffectNameAsOffsetU16”)を含み、基本ハプティック効果特性は、ヘッダーバイト、基本ハプティック効果定義MSB及び基本ハプティック効果定義LSBを含む。キーフレーム定義520は、さらに、現在補間が行われていることを特定する補間値を記憶する補間特性(
図5で示される“InterpolantU16”)を含み、補間特性は、ヘッダーバイト、MSB及びLSBを含む。
図5に示されるように、キーフレーム定義510とは異なり、キーフレーム定義520は、リピートギャップ特性を含まない。最後に、キーフレーム定義530は、動的ハプティック効果定義の終了を示す動的ハプティック効果のタイプ特性(
図5で示される“EndofDynamicHapticEffect”)の終了を示す。
【0044】
実施形態によれば、動的ハプティック効果定義(例えば、
図2の動的ハプティック効果定義200)は、ハプティック効果ファイル内に記憶されうる。前述したように、ハプティック効果ファイルは、一又はそれ以上の動的ハプティック効果を記憶するように構成されるコンピュータファイルである。動的ハプティック効果定義は、ハプティック効果ファイル内に記憶されることができ、ハプティック効果ファイルは、ディスク又はメモリのようなコンピュータ可読媒体内に持続されうる。動的ハプティック効果定義は、ハプティック効果から連続的に読み出され、解釈されうる。動的ハプティック効果定義の解釈に基づいて、動的ハプティック効果は、第1の補間値と第2の補間値との間にある値である動的な値に基づいて第1のハプティック効果及び第2のハプティック効果を補間することにより生成されうる。より具体的には、動的ハプティック効果の各パラメータに対する値は、補間機能を用いて、第1のハプティック効果のパラメータの値を第2のハプティック効果のパラメータの値で補間することにより、算出されうる。動的ハプティック効果の各パラメータの補間は、動的な値が第1の補間値と第2の補間値との間に位置することに基づきうる。例えば、第1の補間値が“0”であり、第2の補間値が“100”である場合、“50”の動的な値は、動的ハプティック効果を生成するために、“0”の第1の補間値に関連付けられる第1のハプティック効果が“100”の第2の補間値に関連付けられる第2のハプティック効果で補間されうる。第1のハプティック効果の各パラメータ値は、動的ハプティック効果のパラメータ値が第1のハプティック効果のパラメータ値及び第2のハプティック効果のパラメータ値の両方に基づくように、補間機能に基づいて第2の値のパラメータ値で補間されうる。また、実施形態によれば、動的ハプティック効果定義(例えば、
図2の動的ハプティック効果定義200)は、ハプティック効果信号を生成するために用いられることができ、ハプティック効果信号は、ハプティック効果ファイル内に記憶されることができる。ハプティック効果信号は、その後ハプティック効果ファイルから読み出されうる。さらに、駆動信号は、ハプティック効果信号に応じてハプティック出力装置へ印加されうる。駆動信号は、ハプティック出力装置を用いてさらに生成されうる。
【0045】
前述したように、システムは、動的ハプティック効果を生成し、ハプティック効果を複数のアクチュエータに分配することができる。動的ハプティック効果の生成及び分配は、異なる技術を用いて実装されうる。実装の例は、以下に説明される。
【0046】
図6は、本発明の一実施形態に係る、複数のアクチュエータにおいて動的ハプティック効果を生成することの例示的な実装のブロック図を示す。実施形態によれば、動的ハプティック効果は、一又はそれ以上のキーフレームを含むことができ、各キーフレームは、アクチュエータを識別するアクチュエータ値を含むことができる。アクチュエータ値により識別されるアクチュエータは、キーフレームをターゲットとするアクチュエータである。動的ハプティック効果を生成するために、システムが、2又はそれ以上のキーフレームに記憶される各ハプティック効果を補間するとき、システムは、補間されたアクチュエータ値を生成するために、2又はそれ以上のキーフレームに記憶される各アクチュエータ値を補間することもできる。システムは、その後、生成された動的ハプティック効果を、2又はそれ以上のアクチュエータ値により識別される2又はそれ以上のアクチュエータに分配するために、補間されたアクチュエータ値を用いることができる。
【0047】
例えば、
図6に示すように、動的ハプティック効果610は、キーフレーム611及び612を含む。キーフレーム611は、“40%”の補間値、“20%”の大きさの値、“100ms”の持続期間の値、及び“1”のアクチュエータ値(“アクチュエータインデックスとして
図6で識別される”)を含む。実施形態によれば、“20%”の大きさの値及び“100ms”の持続期間の値は、キーフレーム611内に記憶される基本ハプティック効果をまとめて示す。勿論、図示された実施形態は、1つの実施形態だけであり、別の実施形態では、基本ハプティック効果は、他のパラメータ(例えば、キーフレーム内に記憶される周波数パラメータ及び周期パラメータ)を含むことができる。キーフレーム612は、“80%”の補間値、“100%”の大きさの値、“200ms”の持続期間の値、及び“2”のアクチュエータ値を含む。実施形態によれば、“100%”の大きさの値及び“200ms”の持続期間の値は、キーフレーム612内に記憶される基本ハプティック効果をまとめて示す。
【0048】
実施形態によれば、システムは、エフェクト補間部620において“70%”の補間値を受け付け、キーフレーム611の基本ハプティック効果(つまり、“20%”の大きさの値及び“100ms”の持続期間の値)をキーフレーム612の基本ハプティック効果(つまり、“100%”の大きさの値及び“200ms”の持続期間の値)で補間することができる。システムは、さらに、キーフレーム611のアクチュエータ値(つまり、アクチュエータ値“1”)をキーフレーム612のアクチュエータ値(つまり、アクチュエータ値“2”)で補間することができる。これらの2つの補間の結果は、補間されたパラメータ630であり、補間されたパラメータ630は、動的ハプティック効果610を表す。図示された実施形態によれば、補間されたパラメータ630は、“80%”の補間された大きさの値、“175ms”の補間された持続期間の値、“1.75”の補間されたアクチュエータ値(“アクチュエータインデックス”として
図6で識別される)を含む。実施形態によれば、“80%”の補間された大きさの値は、補間機能に基づいて、“20%”及び“100%”の2つの大きさの値から補間される。さらに、“175ms”の補間された持続期間の値は、補間機能に基づいて、“100ms”及び“200ms”の2つの持続期間の値から補間される。加えて、“1.75”の補間されたアクチュエータ値もまた、補間機能に基づいて、“1”及び“2”の2つのアクチュエータ値から補間される。
【0049】
さらに、実施形態によれば、効果分配部640において、システムは、動的ハプティック効果610を表す補間されたパラメータ630を、補間されたアクチュエータ値に基づいて複数のアクチュエータに分配することができ、システムは、補間されたアクチュエータ値に基づいて、複数のアクチュエータの各アクチュエータについてのターゲットとなるパラメータを生成する。各アクチュエータについてのターゲットとなるパラメータは、アクチュエータに分配される動的ハプティック効果610の一部を示す。図示された実施形態では、効果分配部640において、システムは、ターゲットとなるパラメータ650及びターゲットとなるパラメータ660を生成する。ターゲットとなるパラメータ650は、“20%”の大きさの値、“175ms”の持続期間の値、及び“1”のアクチュエータ値を含む。ターゲットとなるパラメータ660は、“60%”の大きさの値、“175ms”の持続期間の値、及び“2”のアクチュエータ値を含む。実施形態によれば、システムは、動的ハプティック効果610の25%をアクチュエータ“1”に分配し、動的ハプティック効果610の75%をアクチュエータ“2”に分配するために補間パラメータ630の“1.75”の補間されたアクチュエータ値を用いることができる。一実施形態では、大きさパラメータ及び周期パラメータのような動的ハプティック効果610の強度パラメータは、複数のアクチュエータに分配される。実施形態によれば、周波数パラメータ及び持続期間パラメータのような時間ベースのパラメータは、複数のアクチュエータと同様のままである。
【0050】
よって、図示された実施形態では、補間パラメータ630の“80%”の補間された大きさの値は、ターゲットとなるパラメータ650に対して“20%”の大きさの値に分配され、ターゲットとなるパラメータ660に対して“60%”の大きさの値に分配される。さらに、図示された実施形態では、補間パラメータ630の持続期間“175ms”は、ターゲットとなるパラメータ650及びターゲットとなるパラメータ660の両方に含まれる。図示された実施形態は2つのキーフレームを含むが、各キーフレームは、アクチュエータ値を含み、よって、2つのアクチュエータを含み、当業者は、別の実施形態において、上記の実装が任意の数のキーフレームを含むことができ、各キーフレームはアクチュエータ値を含み、よって、任意の数のアクチュエータを含みうることを容易に理解するであろう。
【0051】
よって、別の実施例では、第1のアクチュエータは、デバイスの左側にあり、第2のアクチュエータは、デバイスの右側にあってもよい。動的ハプティック効果の第1のキーフレームは、第1のアクチュエータにおいてプレイされうる。動的ハプティック効果の第2のキーフレームは、第2のアクチュエータにおいてプレイされうる。動的ハプティック効果を生成するためにシステムが第1のキーフレームから第2のキーフレームへ補間するとき、デバイスのユーザは、動的ハプティック効果が左のアクチュエータから右のアクチュエータへ移動するように感じることができる。
【0052】
図7は、本発明の一実施形態に係る、複数のアクチュエータにおいて動的ハプティック効果を生成することの例示的な実装のブロック図を示す。実施形態によれば、動的ハプティック効果は、一又はそれ以上のキーフレームを含むことができ、各キーフレームは、アクチュエータを識別するアクチュエータ値を含むことができる。アクチュエータ値により識別されるアクチュエータは、キーフレームをターゲットとするアクチュエータである。システムは、その後、各アクチュエータ値により識別される各アクチュエータによる一又はそれ以上のキーフレームをグループ化しうる。より具体的には、システムは、一又はそれ以上のキーフレームのグループを生成することができ、グループの各キーフレームは、同一のアクチュエータをターゲットとする。動的ハプティック効果を生成するために、各アクチュエータについて、システムは、アクチュエータに関連付けられるグループの一又はそれ以上のキーフレームに記憶される各ハプティック効果を独立に補間しうる。
【0053】
例えば、
図7に示すように、動的ハプティック効果710は、キーフレーム711、712、713及び714を含む。キーフレーム711は、“40%”の補間値、“20%”の大きさの値、“100ms”の持続期間、及び“1”のアクチュエータ値(“アクチュエータインデックス”として
図7で識別される)を含む。“20%”の大きさの値及び“100ms”の持続期間は、キーフレーム711内に記憶される基本ハプティック効果を集合的に表す。勿論、図示された実施形態は1つの実施形態の例のみであり、別の実施形態では、基本ハプティック効果は、キーフレーム内に記憶される他のパラメータ(例えば、周波数パラメータ及び周期パラメータ)を含むことができる。キーフレーム712は、“30%”の補間値、“80%”の大きさの値、“200ms”の持続期間、及び“2”のアクチュエータ値を含む。“80%”の大きさの値及び“200ms”の持続期間は、キーフレーム712内に記憶される基本ハプティック効果を集合的に表す。キーフレーム713は、“80%”の補間値、“100%”の大きさの値、“200ms”の持続期間、及び“1”のアクチュエータ値を含む。“100%”の大きさの値及び“200ms”の持続期間は、キーフレーム713内に記憶される基本ハプティック効果を集合的に表す。キーフレーム714は、“90%”の補間値、“50%”の大きさの値、“50ms”の持続期間、及び“2”のアクチュエータ値を含む。“50%”の大きさの値及び“50ms”の持続期間は、キーフレーム714内に記憶される基本ハプティック効果を集合的に表す。
【0054】
実施形態によれば、効果グループ化部720において、システムは、キーフレーム711及び713内に記憶される“1”のアクチュエータ値に基づいてキーフレーム711及び713を共にグループ化することができ、グループをアクチュエータ721(つまり、アクチュエータ1)と関連させることができる。さらに、効果グループ化部720において、システムは、キーフレーム712及び714内に記憶される“2”のアクチュエータ値に基づいてキーフレーム712及び714を共にグループ化することができ、グループをアクチュエータ722(つまり、アクチュエータ2)と関連させることができる。
【0055】
さらに、実施形態によれば、システムは、効果補間部730において“70%”の補間値を受け付けることができ、キーフレーム711の基本ハプティック効果(つまり、“20%”の大きさの値及び“100ms”の持続期間)をキーフレーム713の基本ハプティック効果(つまり、“100%”の大きさの値及び“200ms”の持続期間)で補間することができる。この補間の結果は、補間パラメータ750であり、補間パラメータ750は、アクチュエータ721において出力されうる動的ハプティック効果の一部を表す。図示された実施形態によれば、補間パラメータ750は、“80%”の補間された大きさの値と、“175ms”の補間された持続期間の値と、を含む。実施形態によれば、“80%”の補間された大きさの値は、補間機能に基づいて、“20%”及び“100%”の2つの大きさの値から補間される。さらに、“175ms”の補間された持続期間の値もまた、補間機能に基づいて、“100ms”及び“200ms,”の2つの持続期間の値から補間される。
【0056】
また、実施形態によれば、システムは、効果補間部740において“70%”の補間値を独立に受け付けることができ、キーフレーム712の基本ハプティック効果(つまり、“80%”の大きさの値、及び“200ms”の持続期間)をキーフレーム714の基本ハプティック効果(つまり、“50%”の大きさの値、及び“50ms”の持続期間)で独立に補間することができる。この補間の結果は、補間パラメータ760であり、補間パラメータ760は、アクチュエータ722において出力できる動的ハプティック効果710の一部を表す。図示された実施形態によれば、補間パラメータ760は、“60%”の補間された大きさの値と、“100ms”の補間された持続期間の値と、を含む。実施形態によれば、“60%”の補間された大きさの値は、補間機能に基づいて、“80%”及び“50%”の2つの大きさの値から補間される。さらに、“100ms”の補間された持続期間の値もまた、補間機能に基づいて、“200ms”及び“50ms”の2つの持続期間の値から補間される。図示された実施形態は4つのキーフレームを含み、2つのアクチュエータを含むが、当業者は、別の実施形態において、上記の実装が任意の数のキーフレームを含むことができ、かつ任意の数のアクチュエータを含むことができることを容易に理解するであろう。
【0057】
実施形態によれば、キーフレーム711及び713の基本ハプティック効果の補間、及びキーフレーム712及び714の基本ハプティック効果の補間は、独立に行われるが、独立な補間は、アクチュエータ721及び722において動的ハプティック効果を出力するように同期されることもできる。よって、アクチュエータ721及び722は、同期された手法で動的ハプティック効果710の各部分をそれぞれ出力することができる。図示された実施形態では、同一の補間値は、効果補間部730及び740に提供される。しかしながら、別の実施形態では、効果補間部730及び740は、異なる補間値をそれぞれ提供されうる。
【0058】
図8は、本発明の一実施形態に係る、複数のアクチュエータにおいて動的ハプティック効果を生成することの例示的な実装のブロック図を示す。実施形態によれば、動的ハプティック効果は、一又はそれ以上のキーフレームを含むことができる。動的ハプティック効果を生成するために、システムが、2又はそれ以上のキーフレームに記憶される各ハプティック効果を補間するとき、システムは、動的ハプティック効果を複数のアクチュエータにどのように分布させるかを示すアクチュエータ分配情報を求めることもできる。システムは、その後、動的ハプティック効果を生成するために、2又はそれ以上のキーフレームに記憶される各ハプティック効果を補間することができ、その後、生成された動的ハプティック効果を複数のアクチュエータに分配するためにアクチュエータ分配情報を用いることができる。
【0059】
例えば、
図8に示すように、動的ハプティック効果810は、キーフレーム811及び812を含む。キーフレーム811は、“40%”の補間値と、“20%”の大きさの値と、“100ms”の持続期間の値と、を含む。実施形態によれば、“20%”の大きさの値及び“100ms”の持続期間の値は、キーフレーム811内に記憶される基本ハプティック効果を集合的に表す。勿論、図示された実施形態は1つの実施形態の例のみであり、別の実施形態では、基本ハプティック効果は、キーフレーム内に記憶される他のパラメータ(例えば、周波数パラメータ及び周期パラメータ)を含むことができる。キーフレーム812は、“80%”の補間値と、“100%”の大きさの値と、“200ms”の持続期間の値と、を含む。実施形態によれば、“100%”の大きさの値及び“200ms”の持続期間の値は、キーフレーム812内に記憶される基本ハプティック効果を集合的に表す。動的ハプティック効果810は、さらに、アクチュエータ分配情報813を含む(“アクチュエータ分配813”として
図8で識別される)。アクチュエータ分配情報813は、動的ハプティック効果810をどのように複数のアクチュエータに分配するかを示す。図示された実施形態では、分配情報813は、動的ハプティック効果810の25%が第1のアクチュエータ(つまり、アクチュエータ1)に分配されることを示し、動的ハプティック効果810の75%が第2のアクチュエータ(つまり、アクチュエータ2)に分配されることを示す。
【0060】
実施形態によれば、システムは、効果補間部820において“70%”の補間値を受け付けることができ、キーフレーム811の基本ハプティック効果(つまり、“20%”の大きさの値及び“100ms”の持続期間の値)をキーフレーム812の基本ハプティック効果(つまり、“100%”の大きさの値及び“100ms”の持続期間の値)で補間することができる。この補間の結果は、補間パラメータ830であり、補間パラメータ830は、動的ハプティック効果810を表す。図示された実施形態によれば、補間パラメータ830は、“80%”の補間された大きさの値と、“175ms”の補間された持続期間の値と、を含む。実施形態によれば、“80%”の補間された大きさの値は、補間機能に基づいて、“20%”及び“100%”の2つの大きさの値から補間される。さらに、“175ms”の補間された持続期間の値もまた、補間機能に基づいて、“100ms”及び“200ms”の2つの持続期間から補間される。
【0061】
さらに、実施形態によれば、効果分配部840において、システムは、アクチュエータ分配情報813に基づいて、動的ハプティック効果810を表す補間パラメータ830を複数のアクチュエータに分配することができ、システムは、アクチュエータ分配情報813に基づいて、複数のアクチュエータの各アクチュエータに対するターゲットとなるパラメータを生成する。各アクチュエータに対するターゲットとなるパラメータは、アクチュエータに分配される動的ハプティック効果810の一部を示す。図示された実施形態では、効果分配部840において、システムは、ターゲットとなるパラメータ850と、ターゲットとなるパラメータ860と、を生成する。ターゲットとなるパラメータ850は、“20%”の大きさの値と、“175ms”の持続期間と、“1”のアクチュエータ値(“アクチュエータインデックス”として
図8で識別される)と、を含む。ターゲットとなるパラメータ860は、“60%”の大きさの値と、“175ms”の持続期間と、“2”のアクチュエータ値と、を含む。実施形態によれば、システムは、動的ハプティック効果810の25%をアクチュエータ“1”に分配し、動的ハプティック効果810の75%をアクチュエータ“2”に分配するために、アクチュエータ分配情報813を用いることができる、一実施形態では、大きさパラメータ及び周期パラメータのような動的ハプティック効果810の強度パラメータは、複数のアクチュエータに分配される。実施形態によれば、周波数パラメータ及び持続期間パラメータのような時間ベースのパラメータは、複数のアクチュエータと同じままである。
【0062】
よって、図示された実施形態では、補間パラメータ830の補間された大きさの値の“80%”は、ターゲットとなるパラメータ850に対する“20%”の大きさの値及びターゲットとなるパラメータ860に対する“60%”の大きさの値に分配される。さらに、図示された実施形態では、補間パラメータ830の補間された持続期間の値“175ms”は、ターゲットとなるパラメータ850及びターゲットとなるパラメータ860の両方に含まれる。図示された実施形態は2つのキーフレームを含み、2つのアクチュエータを含むが、当業者は、別の実施形態において、上記の実装が任意の数のキーフレームを含むことができ、かつ任意の数のアクチュエータを含むことができることを容易に理解するであろう。
【0063】
一実施形態では、アクチュエータ分配情報813は、動的ハプティック効果810が記憶されるハプティック効果内に記憶されうる。別の実施形態では、アクチュエータ分配情報813は、動的ハプティック効果810の一又はそれ以上のキーフレーム内に記憶されうる。さらに別の実施形態では、アクチュエータ分配情報813は、動的ハプティック効果810の一又はそれ以上のキーフレームにより参照される基本ハプティック効果内に記憶されうる。さらに別の実施形態では、アクチュエータ分配情報813は、実行時にシステムにより求められうる。
【0064】
一実施形態では、動的ハプティック効果810の一又はそれ以上のキーフレームがアクチュエータ値を含んでいたとしても、システムは、動的ハプティック効果810の一又はそれ以上のキーフレーム内に記憶される一又はそれ以上のアクチュエータ値を無視することができ、アクチュエータ分配情報813に基づいてハプティック効果810を複数のアクチュエータに分配することができる。
【0065】
図9は、本発明の一実施形態に係る、指示プロパティを含む例示的なキーフレームの定義900を示す。実施形態によれば、前述したように、動的ハプティック効果は、一又はそれ以上のキーフレームを含むように定義されうる。また、前述したように、キーフレームは、基本ハプティック効果定義、補間値、及び付加的にリピートギャップ値を含みうる。
【0066】
実施形態によれば、キーフレームは、また、方向値を含みうる。方向値は、動的ハプティック効果の方向を特定する値である。動的ハプティック効果の方向は、動的ハプティック効果に対する以前に受信した補間値と比較したときの動的ハプティック効果に対する受信した補間値の順序方向である。例えば、動的ハプティック効果に対する受信した補間値が“100”の値であり、動的ハプティック効果に対する以前に受信した補間値が“50”の値である場合、動的ハプティック効果の方向は、“上向き”として分類されることができ、これは、受信した補間値が、以前に受信した補間値よりも大きいためである。よって、一例として、“アップ”の方向値は、動的ハプティック効果の“上昇”方向を特定することができる。別の例として、動的ハプティック効果に対する受け付けた補間値が“100”の値であり、動的ハプティック効果に対する以前に受信した補間値が“200”の値である場合、動的ハプティック効果の方向は、“下向き”として分類されることができ、これは、受信した補間値が、以前に受信した補間値よりも小さいためである。よって、一例として、“ダウン”の方向値は、動的ハプティック効果の“下降”方向を特定することができる。実施形態では、方向値は、文字列の値(string value)でありうる。別の実施形態では、方向値は、固定少数点又は浮動少数点の数値でありうる。方向値は、一又はそれ以上のビット内に記憶されうる。
【0067】
また、実施形態によれば、キーフレームは、また、カテゴリ値を付加的に含みうる。カテゴリ値は、動的ハプティック効果のカテゴリを特定する値である。動的ハプティック効果のカテゴリは、動的ハプティック効果の分類である。一実施形態では、動的ハプティック効果のカテゴリは、補間値と共に受信されうるカテゴリ値により求められうる。別の実施形態では、動的ハプティック効果のカテゴリは、受信された補間値に基づいて求められうる。実施形態では、カテゴリ値は、文字列の値でありうる。別の実施形態では、方向値は、固定少数点又は浮動少数点の数値でありうる。方向値は、一又はそれ以上のビット内に記憶されうる。
【0068】
図示された実施形態では、動的ハプティック効果定義900は、キーフレーム910、920、930及び940の4つのキーフレームを含む。しかしながら、これは、単に一つの実施形態であり、別の実施形態では、動的ハプティック効果定義は、任意の数のキーフレームを含むことができる。キーフレーム910は、“Periodic1”の基本ハプティック効果基準、“0”の補間値、及び“10ms”のリピートギャップ値を含む。基本ハプティック効果基準“Periodic1”は、基本ハプティック効果960を示し、これは、また、動的ハプティック効果定義900内に含まれる。よって、キーフレーム910は、“0”の補間値に対する基本ハプティック効果としての基本ハプティック効果960を定義する。キーフレーム910は、さらに、基本ハプティック効果960が連続的にプレイされたときに、基本ハプティック効果960の連続する事例の間で10msの時間間隔が存在する。同様に、キーフレーム920は、“Periodic2”の基本ハプティック効果基準、“80”の補間値、及び“15ms”のリピートギャップ値を含む。基本ハプティック効果基準“Periodic2”は、基本ハプティック効果970を示し、これは、また、動的ハプティック効果定義900内に含まれる。よって、キーフレーム920は、“80”の補間値に対する基本ハプティック効果としての基本ハプティック効果970を定義する。キーフレーム920は、さらに、基本ハプティック効果970が連続的にプレイされたときに、基本ハプティック効果970の連続する事例の間で15msの時間間隔が存在する。
【0069】
同様に、キーフレーム930は、“Periodic3”の基本ハプティック効果基準、“90”の補間値、及び“5ms”のリピートギャップ値を含む。基本ハプティック効果基準“Periodic3”は、基本ハプティック効果980を示し、これは、また、動的ハプティック効果定義900内に含まれる。よって、キーフレーム930は、“90”の補間値に対する基本ハプティック効果としての基本ハプティック効果980を定義する。キーフレーム930は、さらに、基本ハプティック効果980が連続的にプレイされたときに、基本ハプティック効果980の連続する事例の間で5msの時間間隔が存在する。同様に、キーフレーム940は、“Periodic3”の基本ハプティック効果基準、“100”の補間値、及び“20ms”のリピートギャップ値を含む。前述したように、基本ハプティック効果基準“Periodic3”は、基本ハプティック効果980を示し、これは、また、動的ハプティック効果定義900内に含まれる。よって、キーフレーム940は、“100”の補間値に対する基本ハプティック効果としての基本ハプティック効果980を定義する。キーフレーム940は、さらに、基本ハプティック効果980が連続的にプレイされたときに、基本ハプティック効果980の連続する事例の間で20msの時間間隔が存在する。
【0070】
図示された実施形態によれば、キーフレーム910、920、930及び940のそれぞれは、また、方向値を含む。より具体的には、キーフレーム910及び930のそれぞれは、“アップ”の方向値を含み、キーフレーム920及び940のそれぞれは、“ダウン”の方向値を含む。よって、キーフレーム910及び930は、動的ハプティック効果900の方向が“上昇”方向であるときに、キーフレーム910及び930が使用されるキーフレームであることを示す(よって、キーフレーム910及び930の各基本ハプティック効果が使用される)。さらに、キーフレーム920及び940は、動的ハプティック効果900の方向が“下降”方向であるときに、キーフレーム910及び930が使用される(及びキーフレーム920及び940の各基本ハプティック効果が使用される)キーフレームであることを示す。別の実施形態では、キーフレーム910、920、930及び940は、また、それぞれ、カテゴリ値を付加的に含むことができる(
図9には図示せず)。この別の実施形態では、キーフレーム910、920、930及び940は、さらに、動的ハプティック効果定義900のカテゴリが、各キーフレームのカテゴリ値(及び各基本ハプティック効果)と等しいカテゴリであるときに、各キーフレームが使用されることを示す。
【0071】
実施形態によれば、動的ハプティック効果は、また、動的ハプティック効果の終了の指示を含むように定義されうる。動的ハプティック効果の終了の指示は、動的ハプティック効果が追加キーフレームを含まないことを示す。前述したように、動的ハプティック効果定義を解釈する装置は、連続する動的ハプティック効果の内容を解釈するように構成されうる。よって、前記指示は、動的ハプティック効果定義の終了を装置に示すことができる。一実施形態では、動的ハプティック効果の終了の指示は、追加キーフレームを考慮しうる。図示された実施形態では、動的ハプティック効果定義900は、動的ハプティック効果定義900の終了を示す動的ハプティック効果定義900の終了を含む。
【0072】
一実施形態では、動的ハプティック効果は、装置のユーザインターフェースのエッジに沿うグローを表示するユーザインタフェースソフトウェアモジュールのために設計されうる。動的ハプティック効果は、複数のキーフレームを含んでもよく、各キーフレームは、補間値を含む。実施形態によれば、グローの増加に関連付けられる補間値と比べて、ユーザインターフェースのエッジに沿うグローの減少に関連付けられる補間値のほうが多く存在する。各キーフレーム内の方向値を記憶することにより、各方向値は、“GROW”又は“DECAY”のいずれかの値を含み、各キーフレーム(及び当該値の補間値のそれぞれ)は、動的ハプティック効果の特定の向きに関連付けられることができる(つまり、動的ハプティック効果の“増大(growing)”方向又は動的ハプティック効果の“減衰(decaying)”方向)。
【0073】
図10は、本発明の一実施形態に係る、ハプティック効果生成モジュール(例えば、
図1のハプティック効果生成モジュール16)の機能のフロー図を示す。一実施形態では、
図10の機能は、
図11の機能と共に、メモリ、他のコンピュータ可読媒体又は有形的表現媒体に記憶されるソフトウェアによりそれぞれ実装され、プロセッサにより実行される。別の実施形態では、当該機能は、(例えば、特定用途向け集積回路(“ASIC”)、プログラマブルゲートアレイ(“PGA”)、フィールドプログラマブルゲートアレイ(“FPGA”)等のアプリケーションを使用することによる)ハードウェアにより行われてもよく、ハードウェア及びソフトウェアの組み合わせにより行われてもよい。また、別の実施形態では、各機能は、アナログ構成要素を用いたハードウェアにより行われてもよい。
【0074】
フローは開始し、1010へ進む。1010において、第1のキーフレームが受信され、第1のキーフレームは、第1の補間値と、第1のハプティック効果を含む。第1の補間値は、補間が第1のハプティック効果に生じることを特定する値でありうる。第1のキーフレームは、リピートギャップ値を含みうる。第1のハプティック効果は、振動ハプティック効果を含みことができ、複数のパラメータを含むことができる。複数のパラメータは、大きさパラメータ(magnitude parameter)、周波数パラメータ、周期パラメータ及び持続期間パラメータを含みうる。フローはその後1020へ進む。
【0075】
1020において、第2のキーフレームが受信され、第2のキーフレームは、第2の補間値と、第2のハプティック効果を含む。第2の補間値は、補間が第2のハプティック効果に生じることを特定する値でありうる。第2のキーフレームは、リピートギャップ値を含みうる。第2のハプティック効果は、振動ハプティック効果を含みことができ、複数のパラメータを含むことができる。複数のパラメータは、大きさパラメータ、周波数パラメータ、周期パラメータ及び持続期間パラメータを含みうる。示された実施形態では、動的ハプティック効果は、2つのキーフレームを含むものとして定義されており、各キーフレームは、ハプティック効果を含む。しかし、それに替えて、動的ハプティック効果は、各キーフレームがハプティック効果を含む、3又はそれ以上のキーフレームを含むものとして定義されてもよい。フローはその後1030へ進む。
【0076】
1030において、補間値が受信され、当該補間値は、第1の補間値と第2の補間値との間にある。フローはその後1040へ進む。1040において、動的ハプティック効果は、補間値から求められる。動的ハプティック効果の決定は、異なる実施形態に基づいてより詳細に説明される。フローはその後1050へ進む。1050において、動的ハプティック効果は、複数のアクチュエータに分配される。動的ハプティック効果の分配もまた、異なる実施形態に基づいてより詳細に説明される。フローはその後終了する。
【0077】
一実施形態では、動的ハプティック効果の決定は、以下の機能性に基づいて行われうる。動的ハプティック効果は、第1のハプティック効果及び第2のハプティック効果から補間されうる。実施形態によれば、動的ハプティック効果の各パラメータに対する値は、補間機能を用いて、第1のハプティック効果の値を第2のハプティック効果のパラメータの値で補間することにより、算出されうる。動的ハプティック効果の各パラメータ値の補間は、受信された補間値が、第1のハプティック効果に対応する第1の補間値と、第2のハプティック効果に対応する第2の補間値との中間にあることに基づきうる。図示された実施形態では、動的ハプティック効果は、2つの基本ハプティック効果を補間することにより生成されうる。このような補間は、線形補間でありうる。しかし、それに替えて、動的ハプティック効果は、上述した機能性に基づく3又はそれ以上のハプティック効果を補間することにより生成されてもよい。このような補間は、スプライン補間であることができ、スプライン補間は、補間の一形態であり、補間機能は、スプラインと呼ばれる区分的多項式の特別なタイプであり、補間機能は、2又はそれ以上のキーフレームを用いて補間値を動的ハプティック効果にマップすることができる機能である。
【0078】
さらに、実施形態によれば、動的ハプティック効果の分配は、以下の機能性に基づきうる。第1のアクチュエータ値が受信されうる。第1のアクチュエータ値は、複数のアクチュエータのうちの第1のアクチュエータに対応することができ、第1のアクチュエータ値は、第1のキーフレーム内に記憶されうる。第2のアクチュエータ値もまた受信されうる。第2のアクチュエータ値は、複数のアクチュエータのうちの第2のアクチュエータに対応することができ、第2のアクチュエータ値は、第2のキーフレーム内に記憶されうる。別の実施形態では、一又はそれ以上の追加アクチュエータ値が受信されうる。補間されたアクチュエータ値は、第1のアクチュエータ値及び第2のアクチュエータ値から補間されうる。実施形態によれば、補間されたアクチュエータ値は、補間機能を用いて、第1のアクチュエータ値を第2のアクチュエータ値で補間することにより算出されうる。しかし、補間されたアクチュエータ値は、上述した機能性に基づく3又はそれ以上のアクチュエータ値を補間することにより生成されてもよい。動的ハプティック効果は、その後、補間されたアクチュエータ値に基づいて第1のアクチュエータ値及び第2のアクチュエータ値に分配されうる。しかし、それに替えて、動的ハプティック効果は、上述した機能性に基づく3又はそれ以上のアクチュエータに分配されてもよい。
【0079】
別の実施形態では、第3のキーフレーム及び第4のキーフレームが受信され、第3のキーフレームは、第3の補間値及び第3のハプティック効果を含み、第4のキーフレームは、第4の補間値及び第4のハプティック効果を含む。この実施形態では、動的ハプティック効果の分配は、以下の機能性に基づきうる。第1のアクチュエータ値が受信されうる。第1のアクチュエータ値は、複数のアクチュエータの第1のアクチュエータに対応することができ、第1のアクチュエータ値は、第1のキーフレーム及び第3のキーフレーム内に記憶されうる。第2のアクチュエータが受信されうる。第2のアクチュエータ値は、複数のアクチュエータの第2のアクチュエータに対応することができ、第2のアクチュエータ値は、第2のキーフレーム及び第4のキーフレーム内に記憶されうる。第1のキーフレーム及び第3のキーフレームは、共にグループ化されうる。第2のキーフレーム及び第4のキーフレームは、共にグループ化されうる。しかし、それに替えて、動的ハプティック効果は、上述した機能性に基づいて3又はそれ以上のアクチュエータに分配されてもよい。
【0080】
さらに、実施形態によれば、動的ハプティック効果の決定は、以下の機能性に基づいて行われうる。第1のアクチュエータのための第1の動的ハプティック効果は、第1のハプティック効果及び第3のハプティック効果から補間されうる。第2のアクチュエータのための第2の動的ハプティック効果は、第2のハプティック効果及び第4のハプティック効果から補間されうる。しかし、それに替えて、各動的ハプティック効果は、上述した機能性に基づいて3又はそれ以上のハプティック効果を補間することにより生成されてもよい。
【0081】
別の実施形態では、動的ハプティック効果の決定は、以下の機能性に基づいて行われうる。動的ハプティック効果は、前述したように、第1のハプティック効果及び第2のハプティック効果から補間されうる。しかし、それに替えて、動的ハプティック効果は、上述した機能性に基づいて3又はそれ以上のハプティック効果を補間することにより生成されてもよい。
【0082】
実施形態では、動的ハプティック効果の決定は、以下の機能性に基づいて行われうる。アクチュエータ分配情報が受信されることができ、アクチュエータ分配情報は、複数のアクチュエータに動的ハプティック効果をどのように分配するかを示す。動的ハプティック効果は、その後、アクチュエータ分配情報に基づいて複数のアクチュエータに分配されうる。一実施形態では、アクチュエータ分配情報は、動的ハプティック効果が記憶されるハプティック効果ファイルに記憶されうる。別の実施形態では、アクチュエータ分配情報は、動的ハプティック効果の一又はそれ以上キーフレーム内に記憶されうる。さらに別の実施形態では、アクチュエータ分配情報は、動的ハプティック効果の一又はそれ以上キーフレームにより参照される動的ハプティック効果内に記憶されうる。さらに別の実施形態では、アクチュエータ分配情報は、ランタイムにおいて決定されうる。
【0083】
図11は、本発明の別の実施形態に係る、ハプティック効果生成モジュール(例えば、
図1のハプティック効果生成モジュール16)の機能のフロー図を示す。フローは開始し、1110へ進む。1110において、複数のキーフレームが受信される。各キーフレームは、キーフレーム補間値、ハプティック効果及び方向値を含む。フローはその後1120へ進む。1120において、補間値が受信される。補間値は、少なくとも2つのキーフレーム補間値の間にある。フローはその後1130へ進む。1130において、方向は、動的ハプティック効果のために決定される。フローはその後1140へ進む。1140において、一又はそれ以上のキーフレームは、複数のキーフレームから選択される。各選択されたキーフレームは、方向と等しい方向値を含む。フローはその後1150へ進む。1150において、動的ハプティック効果は、補間値及び方向から決定される。実施形態によれば、当該決定は、少なくとも2つの選択されたキーフレームの少なくとも2つのハプティック効果から動的ハプティック効果を補間することを含みうる。フローはその後終了する。
【0084】
別の実施形態では、各キーフレームは、また、カテゴリ値を含みうる。カテゴリは、動的ハプティック効果のために決定されうる。一又はそれ以上のキーフレームは、選択された一又はそれ以上のキーフレームからさらに選択されうる。さらに選択された各キーフレームは、カテゴリと等しいカテゴリ値を含みうる。動的ハプティック効果は、補間値、方向及びカテゴリから決定されうる。別の実施形態によれば、当該決定は、少なくとも2つのさらに選択されたキーフレームの少なくとも2つのハプティック効果から動的ハプティック効果を補間することを含みうる。
【0085】
よって、実施形態によれば、システムは、複数のアクチュエータにおいて一又はそれ以上の動的ハプティック効果の生成を提供することができ、一又はそれ以上ハプティック効果は、複数のアクチュエータに分配されうる。よって、システムは、異なるアクチュエータの動的ハプティック効果を動かすことにより動的ハプティック効果の空間特性をアニメーションにすることができる。これは、システムが動的ハプティック効果のパラメータとして空間的な位置を加えることを可能にし、よりロバストなハプティック体験を提供することができる。また、別の実施形態によれば、システムは、一又はそれ以上のキーフレームを用いて動的ハプティック効果の生成を提供することができ、各キーフレームは、方向特性を含む。これは、動的ハプティック効果が方向に応じて異なって変更されることを可能にし、よって、ハプティック体験をさらに向上させることができる。
【0086】
本明細書を通して記載された本発明の特徴、構造、又は特性は、1つ以上の実施形態において任意の適切な方法において組み合わされてよい。例えば、「一実施形態」、「一部の実施形態」、「特定の実施形態」、「特定の実施形態(複数)」、又は他の類似の言語の使用は、本明細書を通じて、実施形態に関連して記載された特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態に含まれ得るという事実に言及している。従って、「一実施形態」、「一部の実施形態」、「特定の実施形態」、「特定の実施形態(複数)」の言い回し、又は他の類似の言語の登場は、これら全てが、実施形態の同じ群のことを必ずしも言及しているのではなく、記載された特徴、構造、又は特性は、1つ以上の実施形態において任意の適切な方法において組み合わされてよい。
【0087】
当業者は、上述した発明が、異なる順序におけるステップを用いて実施されてよく、及び/又は、記載された構成とは異なる構成における要素を用いて実施されてよいことを容易に理解する。それゆえ、本発明はこれらの好ましい実施形態に基づいて記載されているけれども、特定の修正、変更、及び代替の構成が明白であり、他方で本発明の趣旨及び範囲内にあることは、当業者にとって明白である。本発明の境界を決定するために、それゆえ、添付の特許請求の範囲に参照がなされるべきである。