(57)【特許請求の範囲】
【請求項１】
スローモーションリプレイにおいてハプティック効果を表現する方法であって、
メディアストリームと前記メディアストリームに対応するハプティック効果シーケンスとを受信するステップであって、前記ハプティック効果シーケンスは、複数のハプティック効果を含む、ステップと、
前記メディアストリームの分析に基づいて前記ハプティック効果シーケンスの少なくとも１つのハプティック効果のハプティックパラメータを計算するステップと、
前記メディアストリームと修正されたハプティック効果シーケンスとをスローモーションで表現するステップと
を含み、
前記修正されたハプティック効果シーケンスは、前記ハプティックパラメータの変更を含む、
方法。
【請求項２】
前記修正されたハプティック効果シーケンスは、前記メディアストリームの特性にしたがって決定される、請求項１に記載の方法。
【請求項３】
前記ハプティックパラメータは、前記少なくとも１つのハプティック効果の大きさ、周波数または持続時間のうちの一つを含む、請求項１に記載の方法。
【請求項４】
前記修正されたハプティック効果シーケンスは、修正された持続時間を有するハプティック効果の第一サブセットと、修正されていない持続時間を有するハプティック効果の第二サブセットとを含む、請求項１に記載の方法。
【請求項５】
前記修正されたハプティック効果シーケンスは、周辺デバイスの一つ以上のユーザ入力エレメントで生み出される、請求項１に記載の方法。
【請求項６】
前記修正されたハプティック効果シーケンスは、一つ以上のトリガまたはランブル出力デバイスで生み出される、請求項１に記載の方法。
【請求項７】
前記メディアストリームと前記ハプティック効果シーケンスとは、前記メディアストリームと前記修正されたハプティック効果シーケンスとをスローモーションで表現する前に、リアルタイムで表現される、請求項１に記載の方法。
【請求項８】
プロセッサにより実行されるように構成された一つ以上のプログラムを格納する非一時的コンピュータ可読記憶媒体であって、前記一つ以上のプログラムは、
メディアストリームと前記メディアストリームに対応するハプティック効果シーケンスとを受信するステップであって、前記ハプティック効果シーケンスは、複数のハプティック効果を含む、ステップと、
前記メディアストリームの分析に基づいて前記ハプティック効果シーケンスの少なくとも１つのハプティック効果のハプティックパラメータを計算するステップと、
前記メディアストリームと修正されたハプティック効果シーケンスとをスローモーションで表現するステップ
のための命令を含み、
前記修正されたハプティック効果シーケンスは、前記ハプティックパラメータの変更を含む、
非一時的コンピュータ可読記憶媒体。
【請求項９】
前記修正されたハプティック効果シーケンスは、前記メディアストリームの特性にしたがって決定される、請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記ハプティックパラメータは、前記少なくとも１つのハプティック効果の大きさ、周波数または持続時間のうちの一つを含む、請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記修正されたハプティック効果シーケンスは、修正された持続時間を有するハプティック効果の第一サブセットと、修正されていない持続時間を有するハプティック効果の第二サブセットとを含む、請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記修正されたハプティック効果シーケンスは、周辺デバイスの一つ以上のユーザ入力エレメントで生み出される、請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記修正されたハプティック効果シーケンスは、一つ以上のトリガまたはランブル出力デバイスで生み出される、請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記メディアストリームと前記ハプティック効果シーケンスとは、前記メディアストリームと前記修正されたハプティック効果シーケンスとをスローモーションで表現する前に、リアルタイムで表現される、請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
プロセッサと、
前記プロセッサによる実行のための一つ以上のプログラムを格納するメモリであって、前記一つ以上のプログラムは、
メディアストリームと前記メディアストリームに対応するハプティック効果シーケンスとを受信するステップであって、前記ハプティック効果シーケンスは、複数のハプティック効果を含む、ステップと、
前記メディアストリームの分析に基づいて前記ハプティック効果シーケンスの少なくとも１つのハプティック効果のハプティックパラメータを計算するステップと、
前記メディアストリームと修正されたハプティック効果シーケンスとをスローモーションで表現するステップ
のための命令を含む、メモリと
を含む、デバイスであって、
前記修正されたハプティック効果シーケンスは、前記ハプティックパラメータの変更を含む、
デバイス。
【請求項１６】
前記修正されたハプティック効果シーケンスは、前記メディアストリームの特性にしたがって決定される、請求項１５に記載のデバイス。
【請求項１７】
前記ハプティックパラメータは、前記少なくとも１つのハプティック効果の大きさ、周波数または持続時間のうちの一つを含む、請求項１５に記載のデバイス。
【請求項１８】
前記修正されたハプティック効果シーケンスは、修正された持続時間を有するハプティック効果の第一サブセットと、修正されていない持続時間を有するハプティック効果の第二サブセットとを含む、請求項１５に記載のデバイス。
【請求項１９】
前記修正されたハプティック効果シーケンスは、周辺デバイスの一つ以上のユーザ入力エレメントで生み出される、請求項１５に記載のデバイス。
【請求項２０】
前記修正されたハプティック効果シーケンスは、一つ以上のトリガまたはランブル出力デバイスで生み出される、請求項１５に記載のデバイス。
【請求項２１】
前記メディアストリームと前記ハプティック効果シーケンスとは、前記メディアストリームと前記修正されたハプティック効果シーケンスとをスローモーションで表現する前に、リアルタイムで表現される、請求項１５に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
優先出願
本出願は、参照により全体として本明細書に組み込まれる２０１５年２月２５に出願の米国特許仮出願第６２／１２０，７０２号の利益を主張する。
【０００２】
技術分野
本発明の実施形態は、一般に電子デバイスを対象とし、より具体的には、ハプティック効果を生み出す電子デバイスを対象とする。
【背景技術】
【０００３】
ビデオゲームおよびビデオゲームシステムが非常に人気となっている。ビデオゲームデバイスまたはコントローラは通常、ユーザにフィードバックを提供するために、視覚および聴覚の合図を用いる。いくつかのインタフェースデバイスでは、運動感覚フィードバック（例えば活性および抵抗力フィードバック）、および／または触知フィードバック（例えば振動、触感、温度変化など）がユーザに提供されうる。一般的に、そのようなフィードバックは「ハプティックフィードバック」または「ハプティック効果」の総称で知られている。ハプティックフィードバックは、ユーザのビデオゲームコントローラまたは他の電子デバイスとの相互作用を強化および簡素化する合図を提供する。例えばハプティック効果は、ユーザに特定のイベントを警告するため、または、模擬環境もしくは仮想環境内でのより高い没入感を生むリアルなフィードバックを提供するために、ビデオゲームコントローラまたは他の電子デバイスのユーザに合図を提供しうる。
【０００４】
ユーザがユーザ入力エレメントと相互作用してアクションを引き起こすその他のデバイスも、ハプティックフィードバックまたはハプティック効果から利益を受けうる。例えばそのようなデバイスには、医療デバイス、自動車制御、遠隔制御、および他の類似のデバイスを含むことができる。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の実施形態は、関連技術を実質的に改良するハプティック効果を生み出すように構成された電子デバイスを対象とする。
【０００６】
実施形態の特徴および利点は、以下の説明に記載され、または説明から明らかとなり、または本発明の実施から習得されうる。
【０００７】
一例においては、ハプティック効果をスローモーションで表現するためのシステムおよび方法が提供される。メディアストリーム（例えば音声またはビデオ）とメディアストリームに対応するハプティック効果シーケンスとが受信される。ハプティック効果シーケンスは、複数のハプティック効果を含む。メディアストリームおよびハプティック効果シーケンスは、リアルタイムで表現されうる。メディアストリームおよび修正されたハプティック効果シーケンスは、スローモーションでも表現されうる。修正されたハプティック効果シーケンスは、ハプティック効果シーケンスの少なくとも一つのハプティック効果のパラメータの変更を含む。
【０００８】
以上の概要の記載および以下の詳細な記載は例示および説明的なものであり、本発明を記載された例に制限することを目的としたものではないことが理解される。
【０００９】
添付の図面とあわせて理解されるべき以下の好ましい実施形態の詳細な説明から、さらなる実施形態、詳細、利点、および修正が明らかとなる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例に係るシステムのブロックダイヤグラムである。
【図２】上記発明の実施例に係るハプティック効果を修正するためのシステムの簡略ブロックダイヤグラムである。
【図３】上記発明の実施例に係るハプティック効果ソフトウェアスタックのブロックダイヤグラムである。
【図４】上記発明の実施例に係るハプティック修正のためのアーキテクチャである。
【図５】上記発明の実施例に係るハプティック効果を修正するためのフローダイヤグラムである。
【図６】上記発明の別の実施例に係るハプティック効果を修正するためのフローダイヤグラムである。
【図７】本発明の実施形態の用途に適したコントローラの機能ブロックダイヤグラムである。
【図８Ａ】本発明の実施形態の用途に適したコントローラの図である。
【図８Ｂ】本発明の実施形態の用途に適したコントローラの図である。
【発明を実施するための形態】
【００１１】
次に、添付の図面に例を示した実施形態を詳しく参照する。以下の詳細な説明においては、本発明の完全な理解を提供するために多数の具体的詳細が記載される。しかし、通常の技術を有する当業者には、これらの具体的詳細がなくても本発明が実施されうることが明らかであろう。その他の場合には、実施形態の側面が不必要に不明瞭にならないよう、周知の方法、手順、構成要素、および回路は詳述していない。類似の参照番号は、可能な限り類似の要素に用いられる。
【００１２】
実施形態例は、修正されたハプティック効果をスローモーションで表現するためのシステムおよび方法を目的とする。ビデオはユーザにスローモーションで正確に伝達されうるが、対応するハプティック効果はスローモーションでは通常不正確に表現される。したがって、本明細書に記載の様々な実施形態は、ハプティック効果シーケンスの各ハプティック効果に関連する様々なパラメータを調整／修正することによってハプティック効果をスローモーションで表現する。例えば、ハプティック効果シーケンスをスローモーションで正確に伝達するために、各ハプティック効果の大きさ、周波数および／または持続時間が変えられうる。
【００１３】
様々な実施形態において、デバイスを使用するための様々なユーザインタフェースおよび方法が記載される。一部の実施形態では、デバイスは、携帯可能電子デバイス（例えばゲームコントローラ、コンソール、携帯電話、スマートフォン、タブレットなど）である。しかし、ユーザインタフェースおよび関連の方法は、キーボード、マウス、トラックボールなどの一つ以上の他の物理的ユーザインタフェースデバイスを含みうる、パーソナルコンピュータ、医療デバイス、ラップトップなどの多数の他のデバイスに適用されうることを理解されたい。
【００１４】
図１は、本発明の実施例に係るシステム１００のブロックダイヤグラムである。
【００１５】
システム１００は、リモートソースからデータを伝送および／または受信するように構成された通信デバイス１１０を含みうる。通信デバイス１１０は、ネットワーク（図示せず）上でプロセッサ１２０から別のデバイスへ送信されるデータを符号化し、ネットワーク上で別のシステムからプロセッサ１２０のために受信されるデータを復号することにより、プロセッサ１２０と他のデバイスとの間の接続性を可能にすることができる。
【００１６】
例えば、通信デバイス１１０は、ワイヤレスネットワーク通信を提供するように構成されたネットワークインタフェースカードを含みうる。赤外線、無線、ブルートゥース（Ｂｌｕｅｔｏｏｔｈは登録商標）、Ｗｉ‐Ｆｉ（登録商標）および／またはセルラ方式通信を含め、様々なワイヤレスコミュニケーション技術が使用されうる。あるいは、通信デバイス１１０は、イーサネット接続等の有線ネットワーク接続（単数または複数）を提供するように構成されてもよい。
【００１７】
プロセッサ１２０は、システム１００の計算および制御機能を行うために、一つ以上の汎用または特定用途向けプロセッサを含みうる。プロセッサ１２０は、マイクロプロセシングデバイス等の単一の集積回路を含んでもよいし、またはプロセッサ１２０の機能を達成するために協働する複数の集積回路デバイスおよび／もしくは回路ボードを含んでもよい。加えて、プロセッサ１２０は、メモリ１４０内に格納された、オペレーティングシステム１４１、ハプティックモジュレータ１４２、および他のアプリケーション１４３等のコンピュータプログラムを実行しうる。
【００１８】
システム１００は、プロセッサ１２０により実行されるための情報および命令を格納するメモリ１４０を含みうる。メモリ１４０は、データの取り出し、提示、修正、格納のための様々なコンポーネントを含みうる。例えば、メモリ１４０は、プロセッサ１２０により実行されたときに機能を提供するソフトウェアモジュールを格納しうる。モジュールは、システム１００にオペレーティングシステム機能を提供するオペレーティングシステム１４１を含みうる。モジュールは、スローモーションリプレイ等、多様なプレイバック速度でのリプレイの間のハプティック効果を修正するために様々なハプティックパラメータ（例えば大きさ、周波数および／または持続時間）を制御できるハプティックモジュレータ１４２をさらに含みうる。ある実施形態では、ハプティックモジュレータ１４２は、音声および／またはビデオストリーム等のメディアストリームの分析に基づいてハプティックパラメータを動的に計算するための命令を含みうる。システム１００は、コントローラ１５０（例えばゲームパッド、ウェアラブルデバイスなど）等の周辺デバイスに制御機能を提供するように構成された周辺ファームウェア等の追加の機能を含む一つ以上の追加のアプリケーションモジュール１４３も含みうる。
【００１９】
非一時的メモリ１４０は、プロセッサ１２０によりアクセスできる様々なコンピュータ可読媒体を含みうる。様々な実施形態において、メモリ１４０は、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体を含みうる。例えば、メモリ１４０は、ランダムアクセスメモリ（「ＲＡＭ；ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ」）、ダイナミックＲＡＭ（ＤＲＡＭ；ｄｙｎａｍｉｃ  ＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ；ｓｔａｔｉｃ  ＲＡＭ）、リードオンリメモリ（「ＲＯＭ；ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ」）、フラッシュメモリ、キャッシュメモリ、および／または他の任意のタイプの非一時的コンピュータ可読媒体の任意の組み合わせを含みうる。
【００２０】
単一のシステムとして図示されているが、システム１００の機能は、分散システムとして実装されてもよい。例えば、メモリ１４０およびプロセッサ１２０は、システム１００を集合的に構成する複数の異なるコンピュータに分散されてもよい。一実施形態では、システム１００はデバイス（例えばパーソナルコンピュータ、コンソール、ビデオゲームコンソール等）の一部であってもよく、システム１００は、デバイスにハプティック効果機能を提供する。別の実施形態では、システム１００は、デバイスとは別個であってもよく、デバイスに上述の機能を遠隔で提供してもよい。
【００２１】
システム１００は、コントローラ１５０に動作可能に接続されうる。コントローラ１５０は、入力をシステム１００に提供するように構成された周辺デバイスであってもよい。コントローラ１５０は、無線接続または有線接続を用いてシステム１００に動作可能に接続されうる。コントローラ１５０は、無線接続または有線接続を用いてシステム１００と通信するように構成されたローカルプロセッサも含むことができる。あるいは、コントローラ１５０は、ローカルプロセッサを含まないように構成されてもよく、コントローラ１５０に関連する全ての入力信号および／または出力信号が、システム１００のコンポーネントにより処理されてもよい。コントローラ１５０がローカルプロセッサを有する実施形態では、制御機能を提供するように構成されたハプティック修正モジュールおよび周辺ファームウェア等の追加の機能がコントローラ１５０内にあってもよい。
【００２２】
コントローラ１５０は、ユーザが相互作用することができ、システム１００に入力を提供することができる、一つ以上のデジタルボタン、一つ以上のアナログボタン、一つ以上のバンパ、一つ以上の方向パッド、一つ以上のアナログもしくはデジタルスティック、一つ以上のドライビングホイール、および／または一つ以上のユーザ入力エレメントをさらに含むことができる。コントローラ１５０は、ユーザがさらに相互作用することができ、システム１００にさらに入力を提供することができる、一つ以上のアナログまたはデジタルトリガボタン（または「トリガ」）も含むことができる。より詳細に後述するように、コントローラ１５０は、コントローラ１５０の少なくとも一つのトリガに対して双方向押／引力を及ぼすように構成された、モータまたは別のタイプのアクチュエータもしくはハプティック出力デバイスをさらに含むことができる。
【００２３】
コントローラ１５０は、一つ以上のアクチュエータまたは他のタイプのハプティック出力デバイスも含むことができる。コントローラ１５０のローカルプロセッサ、またはコントローラ１５０がローカルプロセッサを含まない実施形態におけるプロセッサ１２０は、コントローラ１５０の少なくとも一つのアクチュエータに、ハプティック効果に関連したハプティック信号を伝送すればよい。次に、アクチュエータが、ハプティック信号に応じて振動触知ハプティック効果、運動感覚ハプティック効果、または変形ハプティック効果等のハプティック効果を出力する。ハプティック効果は、コントローラ１５０のユーザ入力エレメント（例えばトリガ、デジタルボタン、アナログボタン、バンパ、方向パッド、アナログもしくはデジタルスティック、ドライビングホイールまたはトリガ）で受けることができる。あるいは、コントローラ１５０の外側表面でハプティック効果を受けてもよい。
【００２４】
アクチュエータはハプティック出力デバイスの一例であり、ここで、ハプティック出力デバイスは、駆動信号に応じて振動触知ハプティック効果、静電摩擦ハプティック効果、温度変化、および／または変形ハプティック効果等のハプティック効果を出力するように構成されたデバイスである。代替的実施形態では、コントローラ１５０内の一つ以上のアクチュエータは、何らかの他のタイプのハプティック出力デバイスで置き換えられてもよい。ハプティック出力デバイスは、例えば、電動モータ、電磁アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマ、ソレノイド、偏心モータ（「ＥＲＭ；ｅｃｃｅｎｔｒｉｃ  ｒｏｔａｔｉｎｇ  ｍａｓｓ  ｍｏｔｏｒ」）、ハーモニックＥＲＭモータ（「ＨＥＲＭ；ｈａｒｍｏｎｉｃ  ＥＲＭ  ｍｏｔｏｒ」）、線形共振アクチュエータ（「ＬＲＡ；ｌｉｎｅａｒ  ｒｅｓｏｎａｎｔ  ａｃｔｕａｔｏｒ」）、圧電アクチュエータ、高帯域アクチュエータ、電気活性ポリマ（「ＥＡＰ；ｅｌｅｃｔｒｏａｃｔｉｖｅ  ｐｏｌｙｍｅｒ」）アクチュエータ、静電摩擦ディスプレイ、または超音波振動ジェネレータでありうる。一部の場合には、ハプティック出力デバイスは、ハプティック出力デバイス駆動回路を含んでもよい。一部の実施形態では、ハプティック出力デバイスは、一方向性でも双方向性でもよい。
【００２５】
コントローラ１５０は、一つ以上のスピーカをさらに含みうる。コントローラ１５０のローカルプロセッサ、またはコントローラ１５０がローカルプロセッサを含まない実施形態におけるプロセッサ１２０は、コントローラ１５０の少なくとも一つのスピーカに音声信号を伝送すればよく、次いでスピーカが音声効果を出力する。スピーカは、例えば、ダイナミックラウドスピーカ、エレクトロダイナミックラウドスピーカ、圧電ラウドスピーカ、磁気歪ラウドスピーカ、静電ラウドスピーカ、リボンプラナー磁気ラウドスピーカ、屈曲波ラウドスピーカ、フラットパネルラウドスピーカ、ヘイルエアモーショントランスデューサ、プラズマアークスピーカ、およびデジタルラウドスピーカであればよい。
【００２６】
コントローラ１５０は、一つ以上のセンサをさらに含むことができる。センサは、音、移動、加速度、生体信号、距離、流量、力／圧力／歪み／屈曲、湿度、線形位置、方位／傾斜、無線周波数、回転位置、回転速度、スイッチの操作、温度、振動、または可視光強度等であるがこれに限定されない、エネルギーの一形態または他の物理的性質を検出するように構成できる。センサは、検出エネルギーまたは他の物理的性質を、電気信号または仮想センサ情報を表す任意の信号に変換するようにさらに構成でき、コントローラ１５０は、変換された信号を、コントローラ１５０のローカルプロセッサに、またはコントローラ１５０がローカルプロセッサを含まない実施形態におけるプロセッサ１２０に送信することができる。
【００２７】
図２は、本発明の実施形態例に係るハプティック効果を修正するためのシステム２００の簡略ブロックダイヤグラムである。
【００２８】
図２に示すように、中央処理ユニット（「ＣＰＵ；ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ」）２３０は、アプリケーション２１０等の様々なプログラムを実行しうる。アプリケーション２１０は、メディアストリーム２１１等、音声および／またはビデオストリームを含むメディアストリームを生成する。加えて、アプリケーション２１０は、ハプティック命令２１５等のハプティック命令を生成する。ＣＰＵ２３０は、メディアストリーム２１１を分析することによって決定される様々なパラメータに基づいて、ハプティック命令２１５を修正しうる。例えば、ＣＰＵ２３０は、カメラアングルの変更またはリプレイスピードの変更に基づいてハプティック命令２１５を変えうる。ＣＰＵ２３０は、ハプティック命令の実行時間をさらに決定および／または調節しうる。
【００２９】
メディアストリーム２１１およびハプティック命令２１５は、メモリ２２０に格納されうる。メモリ２２０は、データ構造２２５．１〜２２５．Ｎも格納し、各データ構造は、それぞれのハプティック出力デバイスに関連する特性を定義する。ＣＰＵ２３０は、データ構造２２５．１〜２２５．Ｎにしたがってハプティック命令を実行し、またはハプティック命令に対する変更を決定しうる。例えば、データ構造２２５．１〜２２５．Ｎは、ハプティック出力デバイスごとにハプティック効果を修正する際にＣＰＵ２３０により使用されうる最小駆動周波数、最大駆動周波数、最小強度、最大強度、起動電流、定常電流などに関する一つ以上の値を格納することができる。
【００３０】
修正されたハプティック効果は、様々な方法で生成されうる。例えば、スローモーションハプティック効果は、視覚コンポーネントの減速にマッチするようにハプティック効果の持続時間を増加させうる。別の例では、一定のハプティック効果が周期的効果になってもよいし、あるいは周期的ハプティック効果が一定のハプティック効果になってもよい。さらに別の例では、スローモーションハプティック効果の大きさが強度として増減してもよいし、または徐々に消失または増加してもよい。周波数シフトの例では、リアルタイムハプティック効果が１０ｍｓオンおよび１０ｍｓオフである場合、対応するスローモーションハプティック効果が１６ｍｓオンおよび１６ｍｓオフに修正されてもよいし、あるいは２０ｍｓオン／オフから５ｍｓオン／オフに徐々に減少されてもよい。様々な周波数シフトの実施形態においては、一つ以上のフィルタが、ハプティック効果を特定の周波数範囲内で修正するように構成されうる。
【００３１】
本明細書に記載される実施形態は多数の用途に使用されうるが、実施形態をよりよく例示するためにここでいくつかの非限定的な例を記載する。あるゲーミングアプリケーションの中で、ゲームプレーヤはファーストパーソンシューターであり、爆発で死ぬ。この爆発においては、ハプティック効果がコントローラ１５０のトリガおよび／またはランブルアクチュエータの一方または両方で再生される。ゲームプレーヤの死後、アクションのスローモーションビデオが（例えば第三者の視点から）再生されうる。ここでは、ハプティック効果が、以前に感じられたものから、より弱く、より延長されたバージョンに変更されうる。スローモーションリプレイ時には、ハプティック効果は、カメラアングルおよび／またはリプレイスピードを考慮して変えられることができ、これには任意に動的ハプティック効果を含むことができる。加えて、リアルタイムでは優先システムが複数の効果の再生を阻止しうるのに対して、各種実施形態は、より遅いプレイバック速度により二つ以上の同時の効果を再生（複雑なテクスチャにおける長いギャップの間に効果を再生するなど）する能力を提供する「効果内効果」等、様々なハプティック効果に適用できる。
【００３２】
このように実施形態は、当初のハプティック効果に基づいてスローモーションハプティック効果を表現するように構成されうる。様々な構成において、ハプティック効果パラメータは動的に変更され、または所定のスローモーションハプティック効果のセットから選択されてもよい。
【００３３】
図３は、本発明の実施形態例に係るハプティック効果ソフトウェアスタック３００のブロックダイヤグラムである。図３に示されるように、ソフトウェアスタック３００は、デバイスモジュール３１０、周辺ファームウェアモジュール３２０、コントローラモジュール３３０、駆動モジュール３４０、およびランブル駆動モジュール３５０を含む。ハプティック効果ソフトウェアスタック３００は、図１のシステム１００等のシステムに実装される。
【００３４】
デバイスモジュール３１０は、入力管理コード３１１、周辺入力アプリケーションプログラミングインタフェース（「ＡＰＩ；ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ」）３１２、ランブルＡＰＩ３１３、ハプティック効果ＡＰＩ３１４、直接プレイバック／クロスオーバ部３１５、トリガエンジン３１６、空間化エンジン３１７およびエンコーダ３１８等の様々なモジュールを含みうる。
【００３５】
入力管理コード３１１は、デバイス内で実行されるゲームアプリケーションまたは他のタイプのアプリケーションの文脈でコントローラ３３０により提供される入力を管理するコンピュータ可読命令のセットを含みうる。
【００３６】
周辺入力ＡＰＩ３１２は、コントローラ３３０により提供される入力を受信および管理するためにゲーム入力管理コード３１１が周辺ファームウェア３２０と相互作用することを可能にするコンピュータ可読関数またはルーチンのセットを含みうる。
【００３７】
ランブルＡＰＩ３１３は、コントローラ３３０の一つ以上のランブルモータまたはランブルアクチュエータ（例えば図３のランブルモータＬおよびＲ）にランブル命令を伝送するために入力管理コード３１１が周辺ファームウェア３２０と相互作用することを可能にするコンピュータ可読関数またはルーチンのセットを含みうる。加えて、ランブル命令は、コントローラ３３０のランブルモータまたはランブルアクチュエータに一般的ハプティック効果またはランブルハプティック効果を生み出させることができる。
【００３８】
（図３に「ＡＰＩ」として識別される）ハプティック効果ＡＰＩ３１４は、入力管理コード３１１にアクセス可能であり、入力管理コード３１１がコントローラ３３０にハプティック命令を伝送するために周辺ファームウェア３２０と相互作用することを可能にするコンピュータ可読関数またはルーチンのセットを含みうる。加えて、ハプティック命令は、コントローラ３３０の一つ以上のターゲットモータまたはターゲットアクチュエータに、コントローラ３３０の一つ以上のユーザ入力エレメントでハプティック効果を生み出させうる。
【００３９】
ハプティック効果ＡＰＩ３１４は、一つ以上のハプティック効果定義を格納することもできる。ハプティック効果定義は、ハプティックファイルまたはハプティックストリーム等、予め定義され、記憶装置内に格納されることができ、一つ以上のランブルモータ、ランブルアクチュエータ、ターゲットモータ、またはターゲットアクチュエータに送信されて、コントローラ３３０のコンポーネントまたはユーザ入力エレメントでハプティック効果を生み出すことができる、ハプティック信号等のハプティックデータを含むデータ構造である。ハプティックデータは、対応するハプティック効果の一つ以上の属性を含むことができ、属性は、パラメータとして格納されることができる。ハプティック効果定義のパラメータの例には、振幅パラメータ、周波数パラメータ、波形パラメータ、エンベロープパラメータ、大きさ（または強度）パラメータ、および持続時間パラメータが含まれうる。
【００４０】
ハプティック効果ＡＰＩ３１４は、ゲーム入力管理コード３１１が直接プレイバック／クロスオーバ部３１５、トリガエンジン３１６、および空間化エンジン３１７と相互作用することを可能にでき、さらに、ゲーム入力管理コード３１１により呼び出されたリクエストにしたがって直接プレイバック／クロスオーバ部３１５、トリガエンジン３１６、および空間化エンジン３１７を管理することができる。さらに、ハプティック効果ＡＰＩ３１４は、周辺ファームウェア３２０との通信に使用される、一つ以上のハプティック効果の生成に使用されるデータを格納することができる。
【００４１】
直接プレイバック／クロスオーバ部３１５は、ハプティックデータを入力として受信し、ハプティックデータを出力として生み出し、ハプティックデータをコントローラ３３０の一つ以上のターゲットモータ、またはターゲットアクチュエータ（例えば図３のモータＬおよびＲ）に伝送しうる。一部の実施形態では、直接プレイバック／クロスオーバ部３１５は、入力されたハプティックデータのフォーマットを修正せずに、入力されたハプティックデータを直接出力すればよい。その結果、入力されたハプティックデータが「そのまま」プレイバックされる。他の実施形態では、直接プレイバック／クロスオーバ部３１５は、入力されたハプティックデータを第一フォーマットから第二フォーマットへ変換し、さらに変換されたハプティックデータを出力することができる。プレイバックのタイプに応じて、直接プレイバック／クロスオーバ部３１５は、ハプティックデータを変換するためにプログラマブルクロスオーバを任意に使用することができる。ハプティックデータを変換することにより、デバイスモジュールは、ハプティック効果を分解し、複数のアクチュエータでハプティック効果をプレイバックすることができる。
【００４２】
ハプティックデータのフォーマットは、ハプティックエレメンタリストリーム（「ＨＥＳ；ｈａｐｔｉｃ  ｅｌｅｍｅｎｔａｒｙ  ｓｔｒｅａｍ」）フォーマットであればよい。ＨＥＳフォーマットは、デバイスにストリーミングされうるハプティックデータを表すためのファイルまたはデータフォーマットである。ハプティックデータは、圧縮されていない音が表されるのと同一または類似の様式で表されうるが、ハプティックデータは、ＨＥＳフォーマットにおいて暗号化されうる。
【００４３】
トリガエンジン３１６は、ハプティック効果定義等のハプティックデータを受信し、トリガデータ３２３等のユーザ入力データに基づいて、ハプティックデータを修正することができる。トリガデータは、コントローラ３３０の一つ以上のトリガ（例えば図３のトリガＬおよびＲ）の位置および／または範囲を指示する一つ以上のパラメータを含むデータである。トリガエンジン３１６は、コントローラ３３０にハプティック命令をさらに伝送することができる。例えば、トリガエンジン３１６は、コントローラ３３０の様々なユーザ入力エレメントにハプティック命令を伝送することができる。前述したように、ハプティック命令は、コントローラ３３０の一つ以上のターゲットモータまたはターゲットアクチュエータに、コントローラ３３０の一つ以上のユーザ入力エレメントでハプティック効果を生み出させることができる。
【００４４】
空間化エンジン３１７は、ハプティックデータを受信し、空間化データに基づいてハプティックデータを修正することができる。空間化データには、それぞれのユーザ入力エレメント上のハプティック効果の順序付け等のハプティック効果の所望の方向および／または流れを指示するデータを含むことができる。ある実施形態では、空間化エンジン３１７は、方向および／または流れを含む空間化データを入力管理コード３１１から受信しうる。
【００４５】
空間化エンジン３１７は、コントローラ３３０の一つ以上のランブルモータまたはランブルアクチュエータ（例えば図３のランブルモータＬおよびＲ）に関してトリガハプティック効果等のハプティック効果がスケーリングされ、コントローラ３３０の一つ以上のターゲットモータまたはターゲットアクチュエータ（例えば図３に示したモータＬおよびＲ）に関してもハプティック効果がスケーリングされるように、ハプティックデータを修正することができる。換言すれば、空間化エンジン３１７は、全体的なハプティック効果の方向および流れの感覚を伝えるために、各モータまたはアクチュエータに送信されるハプティックデータを修正し、これにより各モータまたはアクチュエータが受けるハプティック効果を修正することができる。例えば、空間化エンジン３１７は、あるモータまたはアクチュエータが受けるハプティック効果を強調するために、ハプティック効果の一つ以上の部分をスケーリングすることができる。例えば、空間化エンジン３１７は、ハプティック効果を受けるモータまたはアクチュエータに送信されるハプティックデータをスケーリングして、ハプティック効果をより目立たせることができる（例えば、大きさ、持続時間を増加させるなど）。加えて、空間化エンジン３１７は、他のモータまたはアクチュエータに送信されるハプティックデータをスケーリングして、それらのモータまたはアクチュエータが受ける他のハプティック効果を目立たないようにすることができる（例えば、大きさ、持続時間を減少させるなど）。一部の実施形態では、空間化エンジン３１７は、ハプティックデータをリアルタイムでまたは実質的にリアルタイムで修正することができる。さらに、一部の実施形態では、空間化エンジン３１７は、全体的トリガハプティック効果を誇張するために、入力とモータまたはアクチュエータの出力との間の非線形関係を有していてもよい。
【００４６】
エンコーダ３１８は、直接プレイバック／クロスオーバ部３１５、トリガエンジン３１６、および／または空間化エンジン３１７から受信したハプティックデータを一つのフォーマットに符号化する。一実施形態では、このフォーマットはＨＥＳフォーマットであってもよい。エンコーダ３１８は、符号化されたハプティックデータを周辺ファームウェア３２０に伝送することができる。
【００４７】
周辺ファームウェア３２０は、一つ以上の周辺デバイス（例えばコントローラ）のためのファームウェアである。周辺ファームウェア３２０は、デコーダおよびクロスオーバ部３２１、トリガ制御部３２２、トリガデータ３２３、他の機能３２４、およびランブル制御部３２５等の様々なモジュールを含みうる。
【００４８】
デコーダおよびクロスオーバ部３２１は、エンコーダ３１８から符号化されたハプティックデータを受信し、符号化されたハプティックデータを復号する。一部の実施形態では、デコーダおよびクロスオーバ部３２１は、符号化されたハプティックデータを復号するために、プログラマブルクロスオーバを計算する。デコーダおよびクロスオーバ部３２１は、プログラマブルクロスオーバをリアルタイムで計算しうる。
【００４９】
トリガ制御部３２２は、コントローラ３３０（例えば図３のモータＬおよびＲ）の一つ以上のターゲットモータまたはターゲットアクチュエータのための低レベル制御ＡＰＩである。トリガ制御部３２２は、トリガ命令を受信し、トリガ命令を、コントローラ３３０の指定のターゲットモータまたはターゲットアクチュエータへの低レベルトリガ命令に変換し、低レベルトリガ命令を、コントローラ３３０の指定のターゲットモータまたはターゲットアクチュエータに伝送することができる。低レベルトリガ命令は、指定のターゲットモータまたはターゲットアクチュエータに、コントローラ３３０の指定のトリガでトリガハプティック効果を生み出させることができる。
【００５０】
前述のように、トリガデータ３２３は、コントローラ３３０の一つ以上のトリガ（例えば図３のトリガＬおよびＲ）の位置および／または範囲を指示する一つ以上のパラメータを含むデータである。周辺ファームウェア３２０によって、コントローラ３３０からトリガデータ３２３が受信されうる。周辺ファームウェア３２０は、トリガデータ３２３をさらに格納することができ、トリガデータ３２３をデバイスモジュール３１０にさらに伝送することができる。
【００５１】
他のゲームパッド機能３２４は、周辺ファームウェア３２０によって管理されるコントローラ３３０の機能であってもよい。このような機能には、有線／無線通信、入力報告、プロトコル実装、電力管理などの機能を含むことができる。
【００５２】
ランブル制御部３２５は、コントローラ３３０の一つ以上のランブルモータまたはランブルアクチュエータ（例えば図３のランブルモータＬおよびＲ）のための低レベル制御ＡＰＩである。ランブル制御部３２５は、ランブル命令を受信し、ランブル命令を、コントローラ３３０の指定のランブルモータまたはランブルアクチュエータのための低レベルランブル命令に変換し、低レベルトリガ命令を、コントローラ３３０の指定のランブルモータまたはランブルアクチュエータに伝送することができる。
【００５３】
ハプティック修正モジュール３２６は、コントローラ３３０のハプティック出力デバイスのハプティック効果を修正することができるファームウェアモジュールまたはスタンドアロンファームウェアチップ（例えば、特定用途向け集積回路、「ＡＳＩＣ；ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ」とも呼称される）でありうる。ハプティック修正モジュール３２６は、スローモーションリプレイ等、多様なプレイバック速度でのリプレイの間のハプティック効果を修正するために様々なハプティックパラメータ（例えば大きさ、周波数、持続時間）を制御するように構成されうる。ある実施形態では、修正モジュール３２６は、音声および／またはビデオ等のメディア信号の分析に基づいてハプティックパラメータを動的に計算するための命令を含みうる。ハプティック修正モジュール３２６と図１のハプティックモジュレータ１４２とは同じモジュールであってもよい。
【００５４】
コントローラ３３０は、トリガＬおよびＲを含みうる。コントローラ３３０は、ギヤボックスＬおよびＲ、ならびにモータＬおよびＲをさらに含みうる。モータＬおよびギヤボックスＬは、コントローラ３３０内のトリガＬに動作可能に結合される。同様に、モータＲおよびギヤボックスＲは、コントローラ３３０内のトリガＲに動作可能に結合される。モータＬがトリガ命令を受信すると、モータＬおよびギヤボックスＬが集合的にトリガＬでトリガハプティック効果を受けさせうる。同様に、モータＲがトリガ命令を受信すると、モータＲおよびギヤボックスＲが集合的にトリガＲでトリガハプティック効果を受けさせうる。周辺ファームウェア３２０は、駆動エレクトロニクス３４０を用いてコントローラ３３０のモータＬおよびＲにトリガ命令を送信しうる。
【００５５】
コントローラ３３０は、ポテンショメータＬおよびＲをさらに含みうる。ポテンショメータＬは、トリガＬの位置および／または範囲を検出することができ、検出されたトリガＬの位置および／または範囲をトリガデータとして周辺ファームウェア３２０にさらに送信することができる。同様に、ポテンショメータＲは、トリガＲの位置および／または範囲を検出することができ、検出されたトリガＲの位置および／または範囲をトリガデータとして周辺ファームウェア３２０にさらに送信することができる。
【００５６】
コントローラ３３０は、ランブルモータＬおよびＲをさらに含みうる。ランブルモータＬがランブル命令を受信すると、ランブルモータＬは、コントローラ３３０の左コンポーネントに沿ってハプティック効果を受けさせる。同様に、ランブルモータＲがランブル命令を受信すると、ランブルモータＲは、コントローラ３３０の右コンポーネントに沿ってハプティック効果を受けさせる。周辺ファームウェア３２０は、ランブル駆動エレクトロニクス３５０を用いてランブルモータＬおよびＲにランブル命令を送信することができる。
【００５７】
図４は、本発明の実施形態例に係るハプティック修正アーキテクチャである。
【００５８】
ハプティック駆動ハンドラ４１０は、各ハプティック出力デバイスのタイミングおよび状態をトラッキングするためのタイマハンドラ４３０を備えて構成されうる。ハプティック駆動ハンドラ４１０とタイマハンドラ４３０との間に配置されるハプティックモジュレータ４２０は、ハプティック出力デバイスの間に分配されるハプティック効果を修正するように構成されうる。加えて、ハプティックモジュレータ４２０は、スローモーションリプレイ等、多様なプレイバック速度でのリプレイの間のハプティック効果を修正するために様々なハプティックパラメータ（例えば大きさ、周波数、持続時間）を制御するように構成されうる。ある実施形態では、ハプティックモジュレータ４２０は、音声および／またはビデオ等のメディア信号の分析に基づいてハプティックパラメータを動的に計算するための命令を含みうる。
【００５９】
図５は、本発明の実施形態例に係るハプティック効果を修正するための機能５００のフローダイヤグラムである。一部の場合には、図５のフローダイヤグラムの機能は、メモリもしくは他のコンピュータ可読または有形の媒体に格納されたソフトウェアにより実装され、プロセッサにより実行されうる。他の実施形態では、機能は、ハードウェア（例えば、特定用途向け集積回路（「ＡＳＩＣ；ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ」）、プログラム可能ゲートアレイ（「ＰＧＡ；ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ」）、フィールドプログラム可能ゲートアレイ（「ＦＰＧＡ；ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ」）などを用いて）、またはハードウェアおよびソフトウェアの任意の組み合わせにより実施されてもよい。
【００６０】
最初に、機能５００は、スローモーションシーケンス等の修正されたプレイバックシーケンスに含める一つ以上のハプティック効果を判断する。例えばハプティック効果は、ハプティック効果のサブセットまたは全セットを含みうる。次に５２０で、機能５００は、リアルタイムシーケンスの間に表現されなかった追加のハプティック効果がスローモーションプレイバックシーケンスにおいて表現されるべきか否かを決定する。
【００６１】
５３０で、機能５００は、メディアストリーム、特にビデオストリームが視点の変化を含むか否かを決定する。例えば、スローモーションプレイバックシーケンスにおいて検出される視点の変更により、ハプティック効果の表示位置の転移が引き起こされうる。次に５４０で、機能５００は、イベントについてのユーザのハプティック知覚がオリジナル（通常のスピード）で誘起されたものと等しくなるように、持続時間、大きさ、周波数および他のハプティックパラメータ等の一つ以上のハプティックパラメータを修正しうる。
【００６２】
最後に、５５０で、ハプティック駆動信号が生成され、ハプティック出力デバイスの間に分配されうる。ハプティック駆動信号は、ゲーミングアプリケーション等のソフトウェアアプリケーションによって生成されうる。一部の場合には、機能５００は、ハプティック出力デバイスの各々に関連する動作特性をさらに分配しうる。ここでは、一つ以上のデータ構造が、それぞれのハプティック出力デバイスの動作特性を格納しうる。
【００６３】
図６は、本発明の別の実施形態例に係るハプティック効果を修正するための機能６００のフローダイヤグラムである。
【００６４】
最初に、機能６００は、６１０で音声またはビデオストリーム等のメディアデータを受信する。メディアストリームは、ホストデバイス上で実行されるアプリケーションプログラムまたは他のソフトウェアレイヤもしくはプログラムから受信される。次に、６２０で、受信されたメディアデータの所定量が格納される。例えば、ハプティック効果の迅速な処理および決定を可能にするために、所定数のメディアセグメントが格納されうる。
【００６５】
その後、６３０で、いずれのハプティック効果が出力されるべきかの判断に関連する具体的なメディア特性または特徴を識別するために、格納されたメディアデータが評価される。例えば、実施形態は、インテリジェントヒューリスティクスを使用して、アプリケーションプログラムにおいて意味を持つ可能性が高いメディア特徴（例えば、ビデオの明るさまたはコントラストの変更、または音量の変更など）を抽出し、そのようなメディア特徴を、抽出されたメディア特徴とこれらの特徴が表す可能性の高いイベントとに適切に対応するハプティック効果の変更に関連付けうる。別の例では、実施形態は、インテリジェントヒューリスティクスを使用して、スローモーションにおいて修正される段階的（ｇｒａｄｕａｌ）ハプティック効果（例えば車がスリップまたは丘を転落する）と、修正されない離散的（ｄｉｓｃｒｅｔｅ）ハプティック効果（例えば発砲）とを区別することができる。一部の場合には、持続時間閾値（例えば２５０ｍｓ）を用いて、段階的ハプティック効果と離散的ハプティック効果とが区別されうる。ハプティクスは様々なイベントに適用されることができ、現在の多数のビデオゲームアプリケーションにおいて起こる可能性の高いイベントは、爆弾、手榴弾、ミサイルなどによる爆発、銃またはロケット等の武器の発射、車両の衝突、パタパタいう足音、物体が水に飛び込む音、あるゲームのイベントをプレーヤに警告するための警告音などでありうる。これらのイベントは、受信されたメディアデータから適切な分析後に認識されうる特定の音声およびビデオ特徴を有しうる。
【００６６】
最後に、６４０で、ハプティック駆動信号が生成され、ハプティック出力デバイスの間に分配されうる。
【００６７】
図７は、本発明の実施形態の用途に適したコントローラ７００の機能ブロックダイヤグラムである。
【００６８】
図７に示すように、コントローラ７００は、様々なユーザ入力エレメントの一つ以上を含みうる。ユーザ入力エレメントは、ホストコンピュータ７０４と相互作用するためにユーザにより操作される任意のインタフェースデバイスを指しうる。ユーザ入力エレメントの例には、アナログまたはデジタルジョイスティック７１０、ボタン７１４、トリガ７１８などが含まれる。当業者には当然のことながら、各ユーザ入力エレメントの一つ以上が、コントローラ７００上に含まれうる。例えば、トリガ７１８の本記載は、コントローラ７００を単一のトリガに限定しない。同様に、当業者には当然のことながら、複数のアナログまたはデジタルスティック、ボタン、および他のユーザ入力エレメントが使用されてもよい。
【００６９】
コントローラ７００は、ローカルプロセッサ７０８を含むことができる。ローカルプロセッサ７０８は、接続７０５を介してホストコンピュータ７０４とコマンドおよびデータを交換しうる。接続７０５は、当業者に既知の一つ以上の通信プロトコルを用いた有線または無線接続でありうる。一部の場合には、コントローラ７００は代わりに、ローカルプロセッサ７０８を含まないように構成されてもよい。ここで、コントローラ７００からの入力／出力信号は、ホストコンピュータ７０４により直接対処および処理されてもよい。ホストコンピュータ７０４は、ゲームデバイスコンソールであってもよく、ディスプレイデバイス７０６は、ゲームデバイスコンソールに動作可能に結合されたスクリーンであってもよい。一部の場合には、ホストコンピュータ７０４およびディスプレイデバイス７０６が、単一のデバイスに組み合わせられてもよい。
【００７０】
コントローラ７００は、そのユーザ入力エレメントの各々を直接駆動するためのターゲットアクチュエータ７１２、７１６、７２０（例えばモータ）、ならびにユーザの手が大抵置かれる場所でハウジング９０２に動作可能に結合された一つ以上の一般的アクチュエータまたはランブルアクチュエータ７２２、７２４を含みうる。より具体的には、アナログまたはデジタルスティック７１０は、アナログまたはデジタルスティック７１０に動作可能に結合されたターゲットアクチュエータまたはモータ７１２を含み、ボタン７１４は、ボタン７１４に動作可能に結合されたターゲットアクチュエータまたはモータ７１６を含み、トリガ７１８は、トリガ７１８に動作可能に結合されたターゲットアクチュエータまたはモータ７２０を含む。複数のターゲットアクチュエータに加えて、コントローラ７００は、そのユーザ入力エレメントの各々に動作可能に結合された位置センサを含む。より具体的には、アナログまたはデジタルスティック７１０は、アナログまたはデジタルスティック７１０に動作可能に結合された位置センサ７１１を含み、ボタン７１４は、ボタン７１４に動作可能に結合された位置センサ７１５を含み、トリガ７１８は、トリガ７１８に動作可能に結合された位置センサ７１９を含む。ローカルプロセッサ７０８は、ターゲットアクチュエータ７１２、７１６、７２０、ならびにアナログまたはデジタルスティック７１０、ボタン７１４およびトリガ７１８のそれぞれの位置センサ７１１、７１５、７１９に、動作可能に結合される。ローカルプロセッサ７０８は、位置センサ７１１、７１５、７１９から受信した信号に応じて、有向運動感覚効果またはターゲット運動感覚効果を、アナログまたはデジタルスティック７１０、ボタン７１４およびトリガ７１８にそれぞれ直接提供するようにターゲットアクチュエータ７１２、７１６、７２０に命令する。このようなターゲット運動感覚効果は、コントローラ本体全体に沿って一般的アクチュエータ７２２、７２４により生み出される一般的ハプティック効果またはランブルハプティック効果とは識別もしくは区別可能である。集合的ハプティック効果により、複数のモダリティを同時に駆使することで（例えば映像、音声、および触覚）、ユーザがゲームへのより高い没入感を得られる。
【００７１】
図８Ａおよび８Ｂは、本発明の実施形態の用途に適したコントローラ８００の異なる図である。図８Ａおよび図８Ｂに示すように、コントローラ８００は、ハウジング８０２、アナログまたはデジタルジョイスティック８１０、ボタン（単数または複数）８１４、トリガ８１８、ならびにランブルアクチュエータ８２２および８２４等、様々なコンポーネントを含みうる。
【００７２】
ハウジング８０２は、ユーザがコントローラ１０００を握り易いように成形される。コントローラ８００はコントローラの実施形態の例であり、本発明の実施形態を他のコントローラの形状に容易に適用できる。
【００７３】
このように、本明細書に記載される実施形態は、ハプティック効果を生成および修正するためのシステムおよび方法を提供する。ハプティック効果シーケンスの各ハプティック効果に関連する様々なパラメータを修正することにより、ハプティック効果がスローモーションで表現される。例えば、ハプティック効果シーケンスをスローモーションで正確に伝達するために、各ハプティック効果の大きさ、周波数および／または持続時間が変えられうる。
【００７４】
当業者には当然のことながら、上述の本発明は、異なる順序のステップを用いて、および／または、開示された構成とは異なる構成の要素を用いて実施されてもよい。したがって、これらの好ましい実施形態に基づいて本発明を記載しているが、当業者には当然のことながら、本発明の精神および範囲を逸脱しない、ある修正、変更、および代替的構成が明らかであろう。したがって、本発明の境界および範囲を決定するためには、添付の特許請求の範囲を参照しなければならない。
【図１】
0006801838.tif 000002
【図２】
0006801838.tif 000003
【図３】
0006801838.tif 000004
【図４】
0006801838.tif 000005
【図５】
0006801838.tif 000006
【図６】
0006801838.tif 000007
【図７】
0006801838.tif 000008
【図８Ａ】
0006801838.tif 000009
【図８Ｂ】
0006801838.tif 000010