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