JP2019040636A - ハプティックトリガ制御システム - Google Patents

ハプティックトリガ制御システム Download PDF

Info

Publication number
JP2019040636A
JP2019040636A JP2018227893A JP2018227893A JP2019040636A JP 2019040636 A JP2019040636 A JP 2019040636A JP 2018227893 A JP2018227893 A JP 2018227893A JP 2018227893 A JP2018227893 A JP 2018227893A JP 2019040636 A JP2019040636 A JP 2019040636A
Authority
JP
Japan
Prior art keywords
haptic
trigger
haptic effect
data
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018227893A
Other languages
English (en)
Inventor
ロベール ラクロワ
Lacroix Robert
ロベール ラクロワ
ダニー グラント
Danny Grant
ダニー グラント
コスタ ヘンリー ダ
da costa Henry
コスタ ヘンリー ダ
ステファン ディー. ランク
D Rank Stephen
ステファン ディー. ランク
デイヴィッド バーンバウム
Birnbaum David
デイヴィッド バーンバウム
ウィリアム リーン
Rihn William
ウィリアム リーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Immersion Corp
Original Assignee
Immersion Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Immersion Corp filed Critical Immersion Corp
Publication of JP2019040636A publication Critical patent/JP2019040636A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/54Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/302Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device specially adapted for receiving control signals not targeted to a display device or game input means, e.g. vibrating driver's seat, scent dispenser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/015Force feedback applied to a joystick

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】トリガにおいて経験されるハプティック効果を制御するシステムを提供する。【解決手段】システムは、ハプティックデータを含むハプティック効果定義を受信する。システムはさらに、周辺機器のトリガの位置、または周辺機器のトリガの範囲のうちの少なくとも1つを含む、トリガデータを受信する。システムは、さらに、受信したトリガデータに基づいて、トリガ条件に到達したか否かを判断する。システムは、さらに、トリガ条件に到達したときに、ハプティック命令およびハプティック効果定義を周辺機器に送信する。システムは、さらに、ハプティック命令に応じて、周辺機器のハプティック効果定義に基づくハプティック効果を、ハプティック出力装置(または複数のハプティック出力装置)に生成させる。【選択図】図1

Description

関連出願の相互参照
本明細書は、その開示が参照により本明細書に組み込まれる、2013年11月14日出願の米国特許仮出願第61/904,342号の優先権を主張する。
一実施形態は、一般的に装置を対象とし、より具体的にはハプティック効果を生成する装置を対象とする。
ビデオゲームおよびビデオ・ゲーム・システムは、非常に人気がある。ビデオゲーム装置またはコントローラは典型的には、ユーザにフィードバックを提供するために、視覚および聴覚による合図を使用する。いくつかのインターフェース装置において、より一般的にはまとめて「ハプティックフィードバック」または「ハプティック効果」として知られる、運動感覚フィードバック(作用および抵抗力フィードバックなど)および/または触知フィードバック(振動、触感、および熱など)もまたユーザに提供される。ハプティックフィードバックは、ビデオ・ゲーム・コントローラまたはその他の電子機器とのユーザの相互作用を強化および簡素化する合図を提供できる。具体的には、振動効果または振動触知ハプティック効果は、ユーザに特定のイベントを警告するため、あるいはシミュレートまたは仮想環境の中でより大きい没入感を作り出すための現実的なフィードバックを提供するために、ビデオ・ゲーム・コントローラまたはその他の電子機器のユーザへの合図の提供において、有用である。
医療機器、自動車制御、遠隔制御、および動作を引き起こすためにユーザ入力エレメントと相互作用するその他類似の装置など、その他の装置もまた、ハプティックフィードバックまたはハプティック効果の恩恵を受けている。例えば、および非限定的に、医療機器のユーザ入力エレメントは、医療機器の遠位末端において患者の身体内で動作を引き起こすために、医療機器の近位部分において患者の身体の外側でユーザによって動作されてもよい。ハプティックフィードバックまたはハプティック効果は、ユーザに特定のイベントを警告するため、あるいは医療機器の遠位末端において患者との相互作用に関してユーザに現実的なフィードバックを提供するために、採用されてもよい。
一実施形態は、周辺機器において経験されるハプティック効果を制御するシステムである。システムは、ハプティックデータを含むハプティック効果定義を受信する。システムは、周辺機器のトリガの位置、または周辺機器のトリガの範囲のうちの少なくとも1つを含む、トリガデータをさらに受信する。システムは、受信したトリガデータに基づいて、トリガ条件に到達したか否かをさらに判断する。システムは、トリガ条件に到達したときに、ハプティック命令およびハプティック効果定義を周辺機器にさらに送信する。システムは、さらに、ハプティック命令に応じて、ハプティック出力装置(または複数のハプティック出力装置)に、周辺機器におけるハプティック効果定義に基づくハプティック効果を生成させる。
さらなる実施形態、詳細、利点、および変更は、添付図面と併せて取り入れられる、以下の好適な実施形態の詳細な説明より明らかになるだろう。
本発明の一実施形態に係るシステムのブロック図である。 本発明の実施形態に係る、コントローラを示す図である。 本発明の実施形態に係る、図2のコントローラの別の図である。 本発明の実施形態に係る、ホストコンピュータおよびディスプレイと併せたコントローラのブロック図である。 本発明の実施形態に係る、システムのためのトリガハプティック効果ソフトウェアスタックのブロック図である。 本発明の実施形態に係る、トリガハプティック効果を設計するための例示的なユーザインターフェースを示す図である。 本発明の実施形態に係る、トリガハプティック効果を設計するために使用されるコンポーネントのブロック図である。 本発明の実施形態に係る、直接再生のためのトリガハプティック効果を作成するために使用されるコンポーネントのブロック図、およびトリガハプティック効果を保存するために使用されるコンポーネントのブロック図である。 本発明の実施形態に係る、クロスオーバー再生のためのトリガハプティック効果を作成するために使用されるコンポーネントのブロック図、およびトリガハプティック効果を保存するために使用されるコンポーネントのブロック図である。 本発明の実施形態に係る、トリガハプティック効果を直接再生するために使用されるコンポーネントのブロック図である。 本発明の実施形態に係る、プログラマブルクロスオーバーを使用してトリガハプティック効果を再生するために使用されるコンポーネントのブロック図である。 本発明の実施形態に係る、トリガハプティック効果の例示的な4チャネル直接再生を示す図である。 本発明の実施形態に係る、トリガハプティック効果の例示的なクロスオーバー再生を示す図である。 本発明の実施形態に係る、トリガエンジンの例示的なユーザインターフェースを示す図である。 本発明の実施形態に係る、空間化エンジンの例示的なユーザインターフェースを示す図である。 本発明の実施形態に係る、トリガハプティック効果アプリケーション・プログラミング・インターフェースのアーキテクチャ図である。 本発明の実施形態に係る、トリガハプティック効果を生成するファームウェアのアーキテクチャ図である。 本発明の実施形態に係る、コントローラのための例示的な指向性モデルを示す図である。 本発明の実施形態に係る、トリガハプティック効果ファームウェアスタックのブロック図である。 本発明の実施形態に係る、コントローラのトリガにおいて経験されるトリガハプティック効果を提供するシステムのアーキテクチャ図である。 本発明の実施形態に係る、トリガハプティック効果をプレビューおよび変更するための例示的なユーザインターフェースを示す図である。 本発明の実施形態に係る、オーディオ信号をトリガハプティック効果に変換するための例示的なユーザインターフェースを示す図である。 本発明の実施形態に係る、物体パラメータに基づいてトリガハプティック効果を作り出すための例示的なユーザインターフェースを示す図である。 本発明の実施形態に係る、トリガハプティック効果をプレビューするシステムのアーキテクチャ図である。 本発明の実施形態に係る、トリガハプティック効果を生成するシステムのアーキテクチャ図である。 本発明の実施形態に係る、トリガハプティック効果を生成するファームウェアのアーキテクチャ図である。 本発明の実施形態に係る、例示的なオーディオアーキテクチャを示す図である。 本発明の実施形態に係る、オーディオ効果をトリガハプティック効果に変換する例示的なオーディオドライバを示す図である。 本発明の実施形態に係る、第2フォーマットでトリガハプティック効果を再生成する第1フォーマットでのトリガハプティック効果の生成を示す図である。 本発明の実施形態に係る、第2フォーマットでトリガハプティック効果を再生成する第1フォーマットでのトリガハプティック効果の別の生成を示す図である。 本発明の実施形態に係る、ハプティックトリガ制御モジュールの機能性のフロー図である。 本発明の実施形態に係る、APIまたはライブラリ中に存在する例示的な空間化エンジンを示す図である。 本発明の実施形態に係る、コントローラ中に存在する例示的な空間化エンジンを示す図である。
一実施形態は、ゲームコントローラまたはゲームパッドなど、周辺機器において経験されるハプティックフィードバックを提供するシステムである。例えば、システムは、コントローラ、またはその他何らかの周辺機器のトリガにおいて経験されるトリガハプティック効果を提供できる。トリガハプティック効果は、やはりコントローラまたはその他の周辺機器において経験される、鳴動(ランブル)ハプティック効果(rumble haptic effects)を補完できる。別の例として、システムは、コントローラ、ゲームパッド、またはその他の周辺機器のユーザ入力エレメントにおいて経験される一般ハプティック効果を提供できる。戻り止め、振動、触感、および堅さなど、多様なハプティックフィードバック感覚が作り出されることができる。ハプティックフィードバック感覚は、やはりシステムによって実行されることができる、ゲームアプリケーションまたはその他のソフトウェアアプリケーションを補完できる。ハプティックフィードバック感覚は:一人称視点シューティング;ファンタジー/ロールプレイ;レース;またはスポーツなど、特定のゲームのジャンルに適している可能性がある。代替実施形態において、ゲームコントローラまたはゲームパッドなどの周辺機器は、周辺機器のハンドル上に、個別の分離した振動領域を有することができる。
システムは、まず、ハプティック効果定義を受信できる。システムは、トリガの位置および/または範囲、あるいはトリガからの位置情報、もしくはその他何らかのユーザ入力エレメント(例えばジョイスティックなど)などの、トリガデータをさらに受信できる。このようなトリガデータの例は、特定位置にトリガを配置すること、特定位置を通じてトリガを引くこと、特定範囲内にトリガを配置すること、または特定範囲を通じてトリガを引くこと、を含むことができる。システムは、受信したトリガデータに基づいて、ハプティック効果定義を変更できる。システムは、任意に、ハプティック効果定義に基づくハプティック効果の方向および/または流れなど、空間化データ(spatialization data)に基づいてハプティック効果定義をさらに変更できる。システムは、その後、コントローラ、ゲームパッド、またはその他の周辺機器の1つ以上のモータまたはアクチュエータに、変更されたハプティック効果定義に基づいてハプティックフィードバックを生じさせるか、または別途出力させ、こうしてハプティックフィードバックを経験させる。言い換えると、システムは、コントローラ、ゲームパッド、またはその他の周辺機器に、ハプティック効果定義に基づいてハプティック効果を再生させる。当業者によって理解されるように、「再生」は、データ(例えばオーディオデータ、ビデオデータ、またはハプティックデータ)を再生する動作または事例である。このため一例において、システムは、全体的なトリガハプティック効果をコントローラのトリガにおいて経験させることができる。
一実施形態において、システムは、トリガハプティック効果プリセットなど、選択されることができる多数のハプティックプリセットを含むことができる。システムは、ハプティックプリセットの包括的なライブラリを含むことができる。選択された各ハプティック効果プリセットは、グラフィカル・ユーザ・インターフェース内で変更されることができる。変更されたハプティック効果プリセットは、ゲームアプリケーションまたはその他のソフトウェアアプリケーションの実行の中でコンパイルおよび実行されることができ、ここでコントローラ、ゲームパッド、またはその他の周辺機器は、トリガハプティック効果などのハプティック効果を生成できる。
別の実施形態において、システムは、手動コンテンツ駆動型ツールセット(manual content−driven toolset)を含むことができる。ツールセットは、ユーザがオーディオ効果定義と同時にハプティック効果定義を設計できるようにする。するとシステムは、ハプティック効果定義を、オーディオフォーマットを有することができる、またはオーディオファイルと同時に記憶されることができる、ハプティックファイルにエンコードできる。コントローラ、ゲームパッド、またはその他の周辺機器の中に存在するデコーダは、エンコードハプティック効果定義を引き続きデコードできる。さらに、設計されたハプティック効果定義は、設計されたハプティック効果定義に基づいてハプティック効果を開始するために、トリガエンジンおよび/または空間化エンジン内にロードされることができる。トリガエンジンは、ハプティック効果がトリガ運動またはその他のトリガ挙動にマッピングされ始めることを可能にし、空間化エンジンは、特定方向から生じるハプティック効果の感覚を作り出すために、各ハプティック効果をあちこちに移動させることができる。トリガエンジンおよび/または空間化エンジンはオフラインツール内で利用可能とされてもよく、ここでユーザは、一旦ハプティック効果がエンジン内にロードされると、エンジンとグラフィックを通じて相互作用することができ、コントローラ、ゲームパッド、またはその他の周辺機器の中でのハプティック再生を手の中に感じることができる。
さらに別の実施形態において、システムは、自動コンテンツ駆動型ツールセット(automatic content−driven toolset)を含むことができる。ツールセットは、オーディオ効果定義をハプティック効果定義に自動的に変換できる。ツールセットは、オーディオ効果定義をオーディオファイルとして受信できる。ツールセットは、オーディオ効果定義のハプティック効果定義への変換を制御するために、1つ以上のパラメータを変更できる。一例として、1つ以上のパラメータは:(a)変換されるオーディオ効果定義を包含するオーディオファイルを特定するオーディオファイルパラメータと;(b)オーディオ効果定義のオーディオデータが、その後2つ以上の異なる出力(例えば、低鳴動(ランブル)モータまたはアクチュエータ;中鳴動モータまたはアクチュエータ;およびトリガモータまたはアクチュエータ)に適用される2つ以上の個別の周波数帯域にどのように分割されるかを定義する、変換制御パラメータと;(c)オーディオ効果定義からハプティック効果定義へのマグニチュード(magnitude)マッピングを制御し、ノイズフロアおよびダイナミックレンジ(ダイナミクスを伸長または圧縮する)を望み通りに調整できる、動的パラメータと;(d)ハプティック効果定義の最終マグニチュード(または強度)を制御する、マグニチュード(または強度)パラメータと、を含むことができる。代替実施形態において、オーディオ効果定義を受信するよりむしろ、ツールセットは、ハプティック効果定義に変換されることができるハプティック命令を受信できる。ハプティック命令は、ハプティック効果の持続時間を決定できるゲーム内の武器からの発砲率、ハプティック効果の開始点および停止点を決定できる、ゲーム内のアニメーションの中のキーフレーム、ハプティック効果の軸上の指向性に関するアニメーションデータ、ハプティック効果のマグニチュードを決定できるゲーム内の武器のダメージ量など、ゲームアプリケーションによって受信されるゲームプレイパラメータの形態を取ることができる。さらに、先に記載されたように、設計されたハプティック効果定義に基づいてハプティック効果を開始するために、変換されたハプティック効果定義は、トリガエンジンおよび/または空間化エンジン内にロードされることができる。トリガエンジンおよび/または空間化エンジンは、先に記載されたように、オフラインツール内で利用可能とされてもよい。
さらに別の実施形態において、システムは、ハプティック効果スタジオエンジンを含むことができる。ハプティック効果スタジオは、ユーザが特定のモータまたはアクチュエータのためのハプティック効果定義を定義できるようにするために提供されることができる。設計されたハプティック効果定義は、先に記載されたように、設計されたハプティック効果定義に基づいてハプティック効果を開始するために、トリガエンジンおよび/または空間化エンジン内にロードされることができる。トリガエンジンおよび/または空間化エンジンは、先に記載されたように、オフラインツール内で利用可能とされてもよい。
図1は、本発明の一実施形態に係るシステム10のブロック図を示す。一実施形態において、システム10は、装置(例えばパーソナルコンピュータ、またはビデオ・ゲーム・コンソールなどのコンソール)の一部であり、システム10は装置のハプティックトリガ制御機能性を提供する。別の実施形態において、システム10は、装置(例えばパーソナルコンピュータまたはコンソール)から分離しており、装置の上記機能性を遠隔的に提供する。単一のシステムとして示されているものの、システム10の機能性は、分散システムとして実装されてもよい。システム10は、情報を通信するためのバス12またはその他の通信機構、および情報を処理するためにバス12と動作可能に結合されたプロセッサ22を含む。プロセッサ22は、いずれのタイプの専用または汎用プロセッサであってもよい。システム10は、プロセッサ22によって実行される情報および命令を記憶するためのメモリ14を、さらに含む。メモリ14は、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、磁気または光ディスクなどのスタティックストレージデバイス、あるいはその他いずれかのタイプのコンピュータ可読媒体の、いずれかの組み合わせからなってもよい。
コンピュータ可読媒体は、プロセッサ22によってアクセス可能ないずれの利用可能な媒体であってもよく、揮発性および不揮発性媒体、リムーバブルおよびノンリムーバブル媒体、通信媒体、ならびに記憶媒体の、いずれも含んでもよい。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、あるいは搬送波またはその他の搬送機構などの変調データ信号中のその他のデータを含んでもよく、当該技術分野において周知のその他いずれの形態の情報配信媒体を含んでもよい。記憶媒体は、RAM、フラッシュメモリ、ROM、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読み出し専用メモリ(CD−ROM)、または当該技術分野において周知のその他いずれの形態の記憶媒体を含んでもよい。
一実施形態において、メモリ14は、プロセッサ22によって実行されたときに機能性を提供するソフトウェアを記憶する。モジュールは、一実施形態における全体的な装置の残りの部分と同様に、システム10のためのオペレーティングシステム機能性を提供するオペレーティングシステム15を含む。モジュールは、トリガまたはその他何らかのユーザ入力エレメントにおいて経験されるハプティック効果を制御するハプティックトリガ制御モジュール16をさらに含む。特定の実施形態において、トリガ制御モジュール16は複数のモジュールを備えることができ、ここで各モジュールは、トリガまたはその他何らかのユーザ入力エレメントにおいて経験されるハプティック効果を制御するための、特定の個別機能性を提供する。システム10は、典型的には、コントローラ30などの周辺機器に制御機能性を提供できる周辺ファームウェアなど、追加機能性を含むために1つ以上の追加アプリケーションモジュール18を含むことになる。
システム10は、リモートソースからデータを送受信する実施形態において、赤外線、無線、Wi−Fi、またはセルラーネットワーク通信など、移動無線ネットワーク通信を提供するために、ネットワーク・インターフェース・カードなどの通信装置20をさらに含む。別の実施形態において、通信装置20は、イーサネット(登録商標)接続またはモデムなど、有線ネットワーク接続を提供する。
システム10は、コントローラ30に動作可能に接続されている。コントローラ30は、システム10への入力を提供するために使用される、周辺機器である。コントローラ30は、無線接続または有線接続のいずれかを用いて、システム10に動作可能に接続されることができる。コントローラ30は、無線接続または有線接続のいずれかを用いてシステム10と通信できるローカルプロセッサをさらに含むことができる。あるいは、コントローラ30は、ローカルプロセッサを含まないように構成されてもよく、コントローラ30に関連付けられた全ての入力信号および/または出力信号は、システム10のプロセッサ22によって直接取り扱いおよび処理されることができる。
コントローラ30は、1つ以上のデジタルボタン、1つ以上のアナログボタン、1つ以上のバンパ、1つ以上の方向パッド、1つ以上のアナログまたはデジタルスティック、1つ以上のハンドル、および/またはユーザによって相互作用されることができ、システム10への入力を提供できる1つ以上のユーザ入力エレメントを、さらに含むことができる。コントローラ30はまた、ユーザによって相互作用されることができ、システム10への入力を提供できる、1つ以上のアナログまたはデジタル・トリガ・ボタン(もしくは「トリガ」)も含むことができる。以下により詳細に記載されるように、コントローラ30は、コントローラ30の少なくとも1つのトリガ上に双方向性の押引力を印加するように構成された、モータ、またはその他のタイプのアクチュエータまたはハプティック出力装置を、さらに含むことができる。
コントローラ30はまた、1つ以上のアクチュエータ、またはその他のタイプのハプティック出力装置も含むことができる。コントローラ30のローカルプロセッサ、またはコントローラ30がローカルプロセッサを含まない実施形態において、プロセッサ22は、ハプティック効果に関連付けられたハプティック信号を、コントローラ30の少なくとも1つのアクチュエータに送信してもよい。翻ってアクチュエータは、ハプティック信号に応じて、振動触知ハプティック効果、運動感覚ハプティック効果、または変形ハプティック効果などのハプティック効果を出力する。ハプティック効果は、コントローラ30のユーザ入力エレメント(例えばデジタルボタン、アナログボタン、バンパ、方向パッド、アナログまたはデジタルスティック、ハンドル、あるいはトリガ)において経験されることができる。あるいは、ハプティック効果は、コントローラ30の外表面において経験されることができる。アクチュエータは、アクチュエータ駆動回路を含む。アクチュエータは、例えば電気モータ、電磁アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマー、ソレノイド、偏心回転質量モータ(ERM)、リニア共振アクチュエータ(LRA)、圧電アクチュエータ、高帯域アクチュエータ、電気活性ポリマー(EAP)アクチュエータ、静電摩擦ディスプレイ、または超音波振動アクチュエータであってもよい。アクチュエータはハプティック出力装置の一例であって、ハプティック出力装置は、駆動信号に応えて振動触知ハプティック効果、静電摩擦ハプティック効果、運動感覚ハプティック効果、または変形ハプティック効果などのハプティック効果を出力するように構成された装置である。代替実施形態において、コントローラ30内の1つ以上のアクチュエータは、その他何らかのタイプのハプティック出力装置に置き換えられることができる。
コントローラ30は、1つ以上のスピーカをさらに含むことができる。コントローラ30のローカルプロセッサ、またはコントローラ30がローカルプロセッサを含まない実施形態におけるプロセッサ22は、コントローラ30の少なくとも1つのスピーカにオーディオ信号を送信してもよく、これは翻ってオーディオ効果を出力する。スピーカは、例えば、ダイナミックラウドスピーカ、動電型ラウドスピーカ、圧電ラウドスピーカ、磁歪ラウドスピーカ、静電ラウドスピーカ、リボンまたは平面磁気ラウドスピーカ、屈曲波ラウドスピーカ、フラッド・パネル・ラウドスピーカ、ハイルエアモーショントランスデューサ、プラズマ・アーク・スピーカ、およびデジタルラウドスピーカであってもよい。
コントローラ30は、1つ以上のセンサをさらに含むことができる。センサは、例えば音、運動、加速度、生体信号、距離、流れ、力/圧力/歪み/屈曲、湿度、線形位置、配向/傾斜、無線周波数、回転位置、回転速度、スイッチの操作、温度、振動、または可視光強度などの、ただしこれらに限定されない、エネルギー形態またはその他の物理的特性を検出するように構成されることができる。センサはさらに、検出されたエネルギーまたはその他の物理的特性を、電気信号、または仮想センサ情報を表すいずれかの信号に変換するように構成されることができ、コントローラ30は、変換された信号を、コントローラ30のローカルプロセッサに、またはコントローラ30がローカルプロセッサを含まない実施形態においてはプロセッサ22に、送信できる。センサは、加速度計、心電図、脳波図、筋電計、電気眼球図、電子口蓋図、電気皮膚反応センサ、容量センサ、ホール効果センサ、赤外線センサ、超音波センサ、圧力センサ、光ファイバセンサ、屈曲センサ(または曲がりセンサ)、力感抵抗器、ロードセル、LuSenseCPS155、小型圧力トランスデューサ、圧電センサ、歪みゲージ湿度計、線形位置タッチセンサ、線形ポテンショメータ(またはスライダ)、線形可変差動変圧器、コンパス、傾斜計、磁性タグ(または部線周波数識別タグ)、回転エンコーダ、回転ポテンショメータ、ジャイロスコープ、オン・オフスイッチ、温度センサ(温度計、熱電対、抵抗温度検出器、サーミスタ、または温度変換集積回路など)、マイクロフォン、光度計、高度計、生物モニタ、カメラ、または光依存性抵抗器などの、ただしこれらに限定されない、いずれの装置であってもよい。
図2は、本発明の実施形態に係る、コントローラ100を示す。一実施形態において、コントローラ100は図1のコントローラ30と同一である。さらに、図3はコントローラ100の別の図を示す。コントローラ100は一般的に、コンピュータ、携帯電話、テレビ、またはその他の類似装置に接続されてもよい、ゲームシステムとともに使用される。図2および図3に示されるコントローラ100のコンポーネント(すなわち、筐体102、アナログまたはデジタルスティック110、ボタン114、トリガ118、および鳴動アクチュエータ122および124)はさらに、図4と併せて以下により詳細に記載される。
図4は、ホストコンピュータ104およびディスプレイ106をさらに含むゲームシステム101内で使用されるコントローラ100のブロック図を示す。図4のブロック図に示されるように、コントローラ100は、接続105を介してホストコンピュータ104と通信するローカルプロセッサ108を含む。接続105は、有線接続、無線接続、または当該技術分野において周知の別のタイプの接続であってもよい。コントローラ100はあるいはローカルプロセッサ108を含まないように構成されてもよく、これによってコントローラ100からの全ての入出力信号は、ホストコンピュータ104によって直接取り扱いおよび処理される。ホストコンピュータ104は、ディスプレイ画面106に動作可能に結合されている。一実施形態において、ホストコンピュータ104は、ゲーム装置コンソールであって、ディスプレイ画面106は、当該技術分野において周知のように、ゲーム装置コンソールに動作可能に結合されたモニタである。別の実施形態において、当業者にとって周知のように、ホストコンピュータ104およびディスプレイ画面106は、単一の装置に組み込まれてもよい。
コントローラ100の筐体102は、左利きユーザまたは右利きユーザのいずれかによって、装置を握持する両手に容易に適合するような形状になっている。コントローラ100は、例えばMicrosoft(登録商標)Xbox One(商標)コントローラ、またはPlayStation(登録商標)DualShock(商標)コントローラなどのビデオ・ゲーム・コンソール向けに現在利用可能な多くの「ゲームパッド」と類似の形状およびサイズのコントローラの例示的な一実施形態に過ぎないこと、ならびにWii(商標)リモコンまたはWii(商標)Uコントローラ、Sony(登録商標)SixAxis(商標)コントローラまたはSony(登録商標)Wandコントローラを含むがこれらに限定されないその他の構成のユーザ入力エレメント、形状、およびサイズを備えるコントローラ、ならびに実在の物体(テニスラケット、ゴルフクラブ、野球のバットなど)のような形状またはその他の形状のコントローラ、あるいはディスプレイまたは頭部装着型ディスプレイを備えるコントローラが使用されてもよいことを、当業者は認識するだろう。
コントローラ100は、アナログまたはデジタルスティック110、ボタン114、およびトリガ118を含む、いくつかのユーザ入力エレメントを含む。本明細書において使用される際に、ユーザ入力エレメントは、ホストコンピュータ104と相互作用するためにユーザによって操作される、トリガボタン、アナログまたはデジタルスティックなどの、インターフェース装置を指す。図2および図3に見られるように、そして当業者にとって周知のように、各ユーザ入力エレメントおよび追加ユーザ入力エレメントのうちの2つ以上がコントローラ100上に含まれてもよい。したがって、例えばトリガ118の本説明は、コントローラ100を単一のトリガに限定するものではない。さらに、図4のブロック図は、アナログまたはデジタルスティック110、ボタン114、およびトリガ118の各々のうちの1つしか示していない。しかしながら、当業者は、先に記載されたように、複数のアナログまたはデジタルスティック、ボタン、およびトリガ、ならびにその他のユーザ入力エレメントが使用されてもよいことを理解するだろう。
図4のブロック図に見られるように、コントローラ100は、ユーザの手が通常位置している場所で筐体102に動作可能に結合された1つ以上の一般または鳴動アクチュエータ122および124と同じくそのユーザ入力エレメントの各々を直接駆動するために、対象となるアクチュエータまたはモータを含む。より具体的には、アナログまたはデジタルスティック110は、アナログまたはデジタルスティック110に動作可能に結合された対象となるアクチュエータまたはモータ112を含み、ボタン114はそこに動作可能に結合された対象となるアクチュエータまたはモータ116を含み、トリガ118はそこに動作可能に結合された、対象となるアクチュエータまたはモータ120を含む。複数の対象となるアクチュエータに加えて、コントローラ100は、コントローラ100のユーザ入力エレメントの各々に動作可能に結合された、位置センサを含む。より具体的には、アナログまたはデジタルスティック110は、アナログまたはデジタルスティック110に動作可能に結合された位置センサ111を含み、ボタン114は、ボタン114に動作可能に結合された位置センサ115を含み、トリガ118は、トリガ118に動作可能に結合された位置センサ119を含む。ローカルプロセッサ108は、それぞれアナログまたはデジタルスティック110、ボタン114、およびトリガ118の位置センサ111、115、119と同様に、対象となるアクチュエータ112、116、120に動作可能に結合されている。位置センサ111、115、119から受信した信号に応えて、ローカルプロセッサ108は対象となるアクチュエータ112、116、120に、指向性または対象となる運動感覚効果をアナログまたはデジタルスティック110、ボタン114、およびトリガ118にそれぞれ直接提供するように命令する。このような対象となる運動感覚効果は、コントローラの全体に沿って一般アクチュエータ122、124によって生成される一般または鳴動ハプティック効果から、識別可能または区別可能である。総合的なハプティック効果は、例えばビデオ、オーディオ、およびハプティックなどの複数の方式が同時に関与しているので、ゲームに対するさらなる没入感をユーザに提供する。ハプティックを生成するように構成されたコントローラのさらなる詳細は、参照により本明細書に組み込まれる、「GAMING DEVICE HAVING A HAPTIC−ENABLED TRIGGER」と題される2014年4月22日出願の特許出願第14/258,644号明細書に、より詳細に記載されている。
図5は、本発明の実施形態に係る、システム用のトリガハプティック効果ソフトウェアスタックのブロック図を示す。トリガハプティック効果ソフトウェアスタックは、図1のシステム10など、システム上で実施される。図示される実施形態において、システムは以下のコンポーネントを含む:装置500、周辺ファームウェア510、およびコントローラ520。装置500は、パーソナルコンピュータ、タブレット、スマートフォン、またはコンソール(例えばビデオ・ゲーム・コンソール)など、いずれのタイプのコンピュータ装置であってもよい。周辺ファームウェア510は、装置500に動作可能に接続されることができる、1つ以上の周辺機器(例えばコントローラ)のためのファームウェアである。コントローラ520は、装置500に動作可能に接続された周辺機器の一例である。コントローラ520は、ビデオ・ゲーム・コントローラであってもよい。一実施形態において、コントローラ520は、図1のコントローラ30、ならびに図2、図3、および図4のコントローラ100と同一であってもよい。
装置500は、ゲーム入力管理コード501を含む。ゲーム入力管理コード501は、装置500内で実行される、ゲームアプリケーションまたはその他のタイプのアプリケーションに従って、コントローラ520によって提供された入力を管理する、コンピュータ可読命令のセットを含む。装置500は、周辺入力アプリケーション・プログラミング・インターフェース(API)502を、さらに含む。周辺入力API502は、コントローラ520によって提供された入力を受信および管理するために、ゲーム入力管理コード501が周辺ファームウェア510と相互作用できるようにする、コンピュータ可読機能またはルーチンのセットを含む。装置500は鳴動API503をさらに含む。鳴動APIは、コントローラ520の1つ以上の鳴動モータまたは鳴動アクチュエータ(例えば、図5に示される鳴動モータLおよびR)に鳴動命令を送信するために、ゲーム入力管理コード501が周辺ファームウェア510と相互作用できるようにする、コンピュータ可読機能またはルーチンのセットを含む。鳴動命令は、コントローラ520の鳴動モータまたは鳴動アクチュエータに、一般または鳴動ハプティック効果を生成させることができる。
装置500は、トリガハプティック効果API504(図5において「API」とされる)をさらに含む。トリガハプティック効果API504は、ゲーム入力管理コード501に曝され、コントローラ520の1つ以上のトリガ(例えば図5に示されるようなトリガLおよびR)へのトリガ命令など、コントローラ520にハプティック命令を送るために、ゲーム入力管理コード501に周辺ファームウェア510と相互作用させる、コンピュータ可読機能またはルーチンのセットを含む。ハプティック命令は、コントローラ520の1つ以上の対象となるモータまたは対象となるアクチュエータに、コントローラ520の1つ以上のユーザ入力エレメントにおけるハプティック効果を生成させることができる。トリガ命令は、コントローラ520の1つ以上の対象となるモータまたは対象となるアクチュエータ(例えば図5に示されるようなモータLおよびR)に、コントローラ520の1つ以上のトリガ(例えば図5に示されるようなトリガLおよびR)におけるトリガハプティック効果を生成させることができる、特定のタイプのハプティック命令である。トリガハプティック効果は、コントローラ520などのコントローラのトリガにおいて経験される、特定のタイプのハプティック効果である。トリガハプティック効果API504は、1つ以上のトリガハプティック効果定義を記憶できる。ハプティック効果定義は、コントローラ520のコンポーネント、またはユーザ入力エレメントにおいてハプティック効果を生成するために、事前定義され、記憶装置の中に記憶されることができるハプティック信号、ハプティックファイル、またはハプティックストリームなどのハプティックデータを含み、1つ以上の鳴動モータ、鳴動アクチュエータ、対象となるモータ、または対象となるアクチュエータに送信されることができる、データ構造である。ハプティックデータは対応するハプティック効果の1つ以上の性質を含むことができ、ここで性質はパラメータとして記憶されることができる。ハプティック効果定義の例示的なパラメータは、振幅パラメータ、周波数パラメータ、波形パラメータ、エンベロープパラメータ、マグニチュード(または強度)パラメータ、および持続時間パラメータを含む。トリガハプティック効果定義は、コントローラ520の1つ以上のトリガ(例えば図5に示されるようなトリガLおよびR)におけるトリガハプティック効果を生成するために、コントローラ520の1つ以上のモータまたはアクチュエータ(例えば図5に示されるようなモータLおよびR)に送信されることができる、特定のタイプのハプティック効果定義である。
実施形態によれば、トリガハプティック効果API504は、ゲーム入力管理コード501に直接再生/クロスオーバー505、トリガエンジン506、および空間化エンジン507と相互作用させることができ、ゲーム入力管理コード501によって呼び出されたリクエストにしたがって直接再生/クロスオーバー505、トリガエンジン506、および空間化エンジン507をさらに管理できる。さらに、トリガハプティック効果API504は、周辺ファームウェア510との通信に必要とされ、1つ以上のトリガハプティック効果の生成に必要とされる、データを記憶できる。代替実施形態において、トリガハプティック効果API504は、装置500ではなく周辺ファームウェア510の中に存在してもよい。トリガハプティック効果API504はさらに、図16と併せて以下により詳細に記載される。
装置500は、直接再生/クロスオーバー505をさらに含む。直接再生/クロスオーバー505は、ハプティックデータを入力として受信し、ハプティックデータを出力として生成し、コントローラ520の1つ以上の対象となるモータまたは対象となるアクチュエータ(例えば図5に示されるようなモータLおよびR)にハプティックデータを送信する。特定の実施形態において、直接再生/クロスオーバー505は、入力ハプティックデータのフォーマットを変更することなく、入力ハプティックデータを直接出力できる。この結果、入力ハプティックデータの「そのままの」再生を生成する。別の実施形態において、直接再生/クロスオーバー505は、入力されたハプティックデータを第1フォーマットから第2フォーマットに変換でき、変換されたハプティックデータをさらに出力できる。再生のタイプに応じて、直接再生/クロスオーバー505はハプティックデータを変換するために任意にプログラマブルクロスオーバーを使用できる。ハプティックデータを変換することによって、装置500はハプティック効果を「分解」して、複数のアクチュエータにおいてハプティック効果を忠実に再生できる。一実施形態において、ハプティックデータのフォーマットはハプティックエレメンタリストリーム(Haptic Elementary Stream(HES))フォーマットであってもよい。HESフォーマットは、装置にストリーム配信されることができるハプティックデータを表すファイルまたはデータフォーマットである。ハプティックデータはHESフォーマットで暗号化されることができるものの、ハプティックデータは、非圧縮オーディオが表されるのと同一または類似の方法で表されることもできる。このためハプティックデータはハプティックファイルまたはハプティックストリーム中に記憶されることができ、ここでハプティックファイルまたはハプティックストリームのフォーマットはHESフォーマットである。言い換えると、HESフォーマットは、ハプティックフォーマットでハプティックデータを表すために、ハプティックファイルまたはハプティックストリームによって使用されることができる。代替実施形態において、直接再生/クロスオーバー505は、装置500ではなく周辺ファームウェア510の中に存在してもよい。直接再生/クロスオーバー505はさらに、図7、図8、図9、図10、図11、図12、および図13と併せて、以下により詳細に記載される。
装置500は、トリガエンジン506をさらに含む。トリガエンジン506は、トリガハプティック効果定義などのハプティックデータを受信でき、コントローラ520から受信したトリガデータ(例えば図5に示されるようなトリガデータ513)などのデータに基づいて、ハプティックデータを変更できる。トリガデータは、コントローラ520の1つ以上のトリガ(例えば図5に示されるようなトリガLおよびR)の位置および/または範囲を示す1つ以上のパラメータを含むデータである。トリガエンジン506はさらに、コントローラ520にハプティック命令を送信することができる。例えば、トリガエンジン506は、コントローラ520の1つ以上のトリガ(例えば図5に示されるようなトリガLおよびR)にトリガ命令を送信することができる。先に記載されたように、トリガ命令は、コントローラ520の1つ以上の対象となるモータまたは対象となるアクチュエータ(例えば図5に示されるようなモータLおよびR)に、コントローラ520の1つ以上のトリガ(例えば図5に示されるようなトリガLおよびR)におけるトリガハプティック効果を生成させることができる。このため一実施形態において、トリガハプティック効果定義のハプティックデータを変更することによって、トリガエンジン506は、トリガの位置および/または範囲に基づいて特定のトリガハプティック効果がトリガにおいて経験されるようにできる。別の実施形態において、トリガハプティック効果定義のハプティックデータを変更することによって、トリガエンジン506は、トリガの位置および/または範囲に基づいて、コントローラ520の1つ以上の対象となるモータまたは対象となるアクチュエータ(例えば図5に示されるようなモータLおよびR)のためのトリガハプティック効果をスケーリングできる。トリガエンジン506はさらに、トリガハプティック効果定義などの1つ以上のハプティック効果定義を記憶できる。代替実施形態において、トリガエンジン506は、装置500ではなく周辺ファームウェア510の中に存在してもよい。トリガエンジン506はさらに、図14と併せて、以下により詳細に記載される。
装置500は、空間化エンジン507(図5において「空間化エンジン」とされる)をさらに含む。空間化エンジン507は、トリガハプティック効果定義などのハプティックデータを受信でき、空間化データに基づいてハプティックデータを変更できる。空間化データは、トリガハプティック効果などのハプティックデータの所望の方向および/または流れを示すデータを含むことができる。特定の実施形態において、空間化エンジン507は、ゲーム入力管理コード501から、方向および/または流れを含む空間化データを受信できる。さらに、空間化データはまた、コントローラ520上に位置するユーザの1つ以上の手の1つ以上の位置を含むことができる。特定の実施形態において、空間化エンジン507は、コントローラ520から、1つ以上の手の位置を含む空間化データを受信できる。さらに、特定の実施形態において、空間化エンジン507は、ゲーム入力管理コード501によって通信された通りのゲームアプリケーション内のユーザのキャラクタの位置を含む空間データを受信できる。
実施形態によれば、空間化エンジン507は、トリガハプティック効果などのハプティック効果がコントローラ520の1つ以上の鳴動モータまたは鳴動アクチュエータ(例えば図5に示されるような鳴動モータLおよびR)のためにスケーリングされるように、およびハプティック効果がコントローラ520の1つ以上の対象となるモータまたは対象となるアクチュエータ(例えば図5に示されるようなモータLおよびR)のためにもスケーリングされるように、ハプティックデータを変更できる。言い換えると、全体的なハプティック効果の方向および流れの感覚を伝達するために、空間化エンジン507は、各モータまたはアクチュエータに送信されるハプティックデータを変更でき、こうして各モータまたはアクチュエータにおいて経験されるハプティック効果を変更できる。例えば、モータまたはアクチュエータにおいて経験されるハプティック効果を強調するために、空間化エンジン507は、ハプティック効果の1つ以上の部分をスケーリングしてもよい。例えば、空間化エンジン507は、ハプティック効果が経験されるようにするモータまたはアクチュエータに送信されるハプティックデータをスケーリングして、ハプティック効果をより明確にしてもよい(例えば、マグニチュード(magnitude)の増加、持続時間の増加など)。加えて、空間化エンジン507は、別のモータまたはアクチュエータに送信されるハプティックデータをスケーリングして、これらのモータまたはアクチュエータにおいて経験される別のハプティック効果を目立たなくさせてもよい(例えば、マグニチュード、持続時間の減少など)。特定の実施形態において、空間化エンジン507は、リアルタイムでハプティックデータを変更できる。さらに、特定の実施形態において、空間化エンジン507は、全体的なトリガハプティック効果を誇張するために、入力とモータまたはアクチュエータの出力との間に非線形関係を有することができる。代替実施形態において、空間化エンジン507は、装置500ではなく周辺ファームウェア510の中に存在してもよい。空間化エンジン507はさらに、図15、図32、および図33と併せて、以下により詳細に記載される。
装置500はエンコーダ508をさらに含む。エンコーダ508は、直接再生/クロスオーバー505、トリガエンジン506、および/または空間化エンジン507から受信したハプティックデータを、あるフォーマットにエンコードする。一実施形態において、フォーマットはHESフォーマットであってもよい。エンコーダ508はさらに、エンコードハプティックデータを周辺ファームウェア510に送信する。
周辺ファームウェア510は、デコーダおよびクロスオーバー511を含む。デコーダおよびクロスオーバー511は、エンコーダ508からエンコードハプティックデータを受信して、エンコードハプティックデータをデコードする。特定の実施形態において、デコーダおよびクロスオーバー511は、エンコードハプティックデータをデコードするために、プログラマブルクロスオーバーを計算する。これらの実施形態のうちのいくつかにおいて、デコーダおよびクロスオーバー511は、プログラマブルクロスオーバーをリアルタイムで計算する。周辺ファームウェア510は、トリガ制御512をさらに含む。トリガ制御512は、コントローラ520の1つ以上の対象となるモータまたは対象となるアクチュエータ(例えば図5に示されるようなモータLおよびR)のための、低レベル制御APIである。トリガ制御512は、装置500からトリガ命令を受信でき、トリガ命令をコントローラ520の指定された対象となるモータまたは対象となるアクチュエータのための低レベルトリガ命令に変換でき、低レベルトリガ命令をコントローラ520の指定された対象となるモータまたは対象となるアクチュエータに送ることができる。低レベルトリガ命令は、指定された対象となるモータまたは対象となるアクチュエータに、コントローラ520の指定されたトリガにおけるトリガハプティック効果を生成させる。
周辺ファームウェア510は、トリガデータ513をさらに含む。トリガデータ513は、先に記載されたように、コントローラ520の1つ以上のトリガ(例えば図5に示されるようなトリガLおよびR)の位置および/または範囲を示す1つ以上のパラメータなど、1つ以上のパラメータを含むデータである。トリガデータ513は、周辺ファームウェア510によってコントローラ520から受信されることができる。周辺ファームウェア510は、トリガデータ513をさらに記憶でき、さらにトリガデータ513を装置500に送信することができる。周辺ファームウェア510はその他のゲームパッド機能514をさらに含み、これらは周辺ファームウェア510によって管理されることができるコントローラ520の機能である。このような機能は、有線/無線通信、入力レポート、プロトコル実施、電力管理などを含むことができる。周辺ファームウェア510は、鳴動制御(rumble control)515をさらに含む。鳴動515は、コントローラ520の1つ以上の鳴動モータまたは鳴動アクチュエータ(例えば図5に示されるような鳴動モータLおよびR)のための、低レベル制御APIである。鳴動制御515は、装置500から鳴動命令を受信でき、鳴動命令をコントローラ520の指定された鳴動モータまたは鳴動アクチュエータのための低レベル鳴動命令に変換でき、低レベルトリガ命令をコントローラ520の指定された鳴動モータまたは鳴動アクチュエータに送信することができる。
コントローラ520は、トリガLおよびRを含む。コントローラ520は、ギアボックスLおよびRならびにモータLおよびRをさらに含む。モータLおよびギアボックスLは、コントローラ520内のトリガLに動作可能に結合されている。同様に、モータRおよびギアボックスRは、コントローラ520内のトリガRに動作可能に結合されている。モータLがトリガ命令を受信すると、モータLおよびギアボックスLは一緒になってトリガハプティック効果がトリガLにおいて経験されるようにする。同様に、モータRがトリガ命令を受信すると、モータRおよびギアボックスRは一緒になってトリガハプティック効果がトリガRにおいて経験されるようにする。実施形態によれば、周辺ファームウェア510は、駆動エレクトロニクス530を用いてコントローラ520のモータLおよびRにトリガ命令を送信する。コントローラ520は、ポテンショメータLおよびRをさらに含む。ポテンショメータLは、トリガLの位置および/または範囲を検出でき、さらにトリガLの検出された位置および/または範囲をトリガデータとして周辺ファームウェア510に送信できる。同様に、ポテンショメータRは、トリガRの位置および/または範囲を検出でき、さらにトリガRの検出された位置および/または範囲をトリガデータとして周辺ファームウェア510に送信できる。一実施形態において、ポテンショメータLおよびRは各々、ホール効果センサなど、別のタイプの位置センサに置き換えられることができる。コントローラ520は、鳴動モータLおよびRをさらに含む。鳴動モータLが鳴動命令を受信すると、鳴動モータLはハプティック効果がコントローラ520の左側に沿って経験されるようにする。同様に、鳴動モータRが鳴動命令を受信すると、鳴動モータRはハプティック効果がコントローラ520の右側に沿って経験されるようにする。実施形態によれば、周辺ファームウェア510は、鳴動駆動エレクトロニクス530を用いてコントローラ520の鳴動モータLおよびRに鳴動命令を送信する。
代替実施形態において、1つ以上の対象となるモータ、または対象となるアクチュエータは、コントローラ520の1つ以上のユーザ入力エレメント(1つ以上のデジタルボタン、1つ以上のアナログボタン、1つ以上のバンパ、1つ以上の方向パッド、1つ以上のアナログまたはデジタルスティック、1つ以上のハンドルなど)に、動作可能に結合されることができる。代替実施形態によれば、周辺ファームウェア510は1つ以上の対象となるモータまたは対象となるアクチュエータに命令を送信して、1つ以上の対象となるモータまたは対象となるアクチュエータに、コントローラ520の1つ以上のユーザ入力エレメントにおいて経験されるハプティック効果を生成させることができる。
図6は、本発明の実施形態に係る、トリガハプティック効果を設計するための例示的なユーザインターフェース600を示す。システム(図1のシステム10など)は、トリガハプティック効果を設計するための専用ツールとして、ユーザインターフェース600をユーザに提供できる。この実施形態において、ユーザは、既存のトリガハプティック効果定義を変更する選択肢を伴って、既存のトリガハプティック効果定義に基づいてトリガハプティック効果を設計できる。実施形態によれば、ユーザインターフェース600は効果プリセット610を含む。効果プリセット610は、トリガハプティック効果プリセットなど、より多くのハプティック効果プリセットのうちの1つを表示できる。ハプティック効果プリセットは、所定のハプティック効果を生成する任意の形状および/または形態の所定のハプティック効果定義である。ハプティック効果プリセットは、ハプティックファイルまたはハプティックストリーム内に記憶されることができる。一実施形態において、ハプティックファイルまたはハプティックストリームのフォーマットはHESフォーマットであってもよい。トリガハプティック効果プリセットは、所定のトリガハプティック効果を生成する特定のタイプのハプティック効果プリセットである。ユーザインターフェース600は、編集領域620をさらに含む。実施形態によれば、ユーザは効果プリセット610内に表示されるハプティック効果プリセットを選択でき、編集領域620は、選択されたハプティック効果プリセットによって表されるハプティック効果定義の図形描写を表示できる。さらに、ユーザは、編集領域620の中の1つ以上の表示要素(ボタンなど)と相互作用することによって、選択されたハプティック効果定義の1つ以上のパラメータを変更できる。ハプティック効果定義の1つ以上のパラメータを変更することによって、対応するハプティック効果の1つ以上の対応する性質を変更できる。変更可能なハプティック効果定義の例示的なパラメータは、振幅パラメータ、周波数パラメータ、波形パラメータ、エンベロープパラメータ、マグニチュード(または強度)パラメータ、および持続時間パラメータを含む。
ユーザインターフェース600は、効果定義630をさらに含む。実施形態によれば、ユーザは変更されたハプティック効果定義を新しいハプティック効果定義として保存できるが、新しいハプティック効果定義は効果定義630の中に表示される。新しいハプティック効果定義は、ハプティックファイルまたはハプティックストリーム内に記憶されることができる。一実施形態において、ハプティックファイルまたはハプティックストリームのフォーマットはHESフォーマットであってもよい。新しいハプティック効果定義は、外部ハプティックファイルまたは外部ハプティックストリームにさらにエクスポートされることができる。ユーザインターフェース600は、プレイボタン640をさらに含む。プレイボタン640との相互作用は、ユーザインターフェース600に動作可能に制御されることができるコントローラにおけるハプティック効果を、システムに出力させることができる。ハプティック効果がトリガハプティック効果である場合、システムはコントローラのトリガにおけるトリガハプティック効果を出力できる。ハプティック効果は、選択された所定のハプティック効果定義、または選択された新しいハプティック効果定義であってもよい。
ユーザインターフェース600は、トリガエンジン領域650をさらに含む。トリガエンジン領域650は、トリガエンジン(図5のトリガエンジン506など)によって生成されたトリガハプティック効果を視覚化できる、編集可能視覚領域である。先に記載されたように、トリガエンジンはトリガハプティック効果定義を受信でき、コントローラのトリガの位置および/または範囲に基づいてトリガハプティック効果定義を変更できる。このためトリガエンジン領域650は、トリガの実際の位置を含む、トリガの視覚化映像を表示できる。さらに、トリガエンジン領域650は、トリガハプティック効果定義のために定義されたトリガの位置および/または範囲を表示でき、ここで位置および/または範囲は、トリガエンジンにトリガハプティック効果定義を変更させることができる。ユーザは、トリガハプティック効果定義のために定義されたトリガの位置および/または範囲を編集できる。ユーザインターフェース600は、空間化エンジン領域660をさらに含む。空間化エンジン領域660は、元々はトリガエンジンによって生成されて空間化エンジン(図5の空間化エンジン507など)によってさらに変更されたトリガハプティック効果を視覚化できる、編集可能視覚領域である。先に記載されたように、空間化エンジンは、トリガハプティック効果がコントローラの1つ以上の対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータのためにスケーリングされるように、トリガハプティック効果定義を変更できる。このため、空間化エンジン領域660は、コントローラの視覚化映像を表示できる。空間化エンジン領域660は、コントローラの各対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータにおいて経験されたトリガハプティック効果の視覚化映像を、さらに表示できる。ユーザは、コントローラの各対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータにおいて経験されたトリガハプティック効果のスケーリングを編集できる。
図7は、本発明の実施形態に係る、トリガハプティック効果を設計するために使用されるコンポーネントのブロック図を示す。この実施形態において、システム(図1のシステム10など)は:(1)トリガハプティック効果の作成(すなわち、ハプティック効果定義を作成することによる);または(2)オーディオ効果としてのトリガハプティック効果の作成(すなわち、オーディオ効果定義を作成することによる)のいずれかの専用ツールとして、オーサリングコンポーネント700を提供できる。一実施形態において、オーサリングコンポーネント700は、Avid Technology,Inc.による「Pro Tools(登録商標)」製品であってもよい。システムは、ハプティック効果定義またはオーディオ効果定義をストリーム配信するために、単一ポートクロスオーバーオーディオストリーム入出力(ASIO)ドライバ710または4ポートASIOドライバ720のいずれかをさらに使用できる。単一ポート・クロスオーバー・ドライバ710は、単一チャネルのハプティックデータまたはオーディオデータとしてハプティック効果定義またはオーディオ効果定義をストリーム配信できる。対照的に、4ポートASIOドライバ720は、4チャネルのハプティックデータまたはオーディオデータとしてハプティック効果定義またはオーディオ効果定義をストリーム配信できる。代替実施形態において、4ポートASIOドライバ720は、6または8チャネルのハプティックデータまたはオーディオデータなど、いずれかの複数のチャネルのハプティックデータまたはオーディオデータとしてハプティック効果定義またはオーディオ効果定義をストリーム配信する、別のドライバに置き換えられることができる。ユーザがオーディオ効果定義を作成する実施形態において、単一ポートクロスオーバーASIOドライバ710または4ポートASIOドライバ720のいずれかはまた、オーディオ効果定義をハプティック効果定義に変換することもできる。システムは、オーディオ効果定義またはハプティック効果定義をHESフォーマットなどの外部フォーマットにエンコードするために、HESエンコーダ730をさらに使用できる。システムが単一ポート・クロスオーバー・ドライバ710を用いて単一チャネルのハプティックデータまたはオーディオデータとしてオーディオ効果定義またはハプティック効果定義をストリーム配信する場合、HESエンコーダ730は、ハプティックデータまたはオーディオデータを3つの異なる出力(例えば(1)低周波鳴動モータまたは鳴動アクチュエータ;(2)中周波鳴動モータまたは鳴動アクチュエータ;あるいは(3)高周波対象となるモータまたは対象となるアクチュエータ)にマッピングされることができる3つの異なる帯域に分離するために、クロスオーバー入力ワープアルゴリズムを適用できる。
クロスオーバー入力ワープアルゴリズムは、装置自体の中に存在するか、または通信リンクの反対側に存在して、装置とは異なるプロセッサ上で実行できる。クロスオーバー入力ワープアルゴリズムはまた、入力データ(ハプティックまたはオーディオ)を2つの帯域に分離してもよく、ここで低周波は分離されて、その後1つ以上のアクチュエータ出力に適用される前に任意に変換され、高周波は分離されて、その後低周波分離データに使用されるのとは異なる多数のアクチュエータに適用される前に、任意に変換される。このタイプのデータ分離は、任意の数の周波数帯域およびアクチュエータ出力において発生する可能性がある。代替実施形態において、入力データ(オーディオまたはハプティック)は複数の重複する周波数領域に分離されることができ、これらはその後各々任意に変換されて、多数の出力アクチュエータに適用される。別のセットの実施形態は、多数の信号強度帯域を作り出すことができ、ここで入力データ(オーディオまたはハプティック)は(ピーク検出、RMS計算などを通じて)出力パワーまたは強度にしたがって分離され、これら分離データストリームは、1つ以上の異なるアクチュエータのセットに各々適用される。代替実施形態において、入力データ(オーディオまたはハプティック)は、(ピーク検出、RMS計算などを通じて)出力パワーまたは強度にしたがって、完全に異なるストリームではなく、異なるが重複するデータストリームに分離されることができ、ここで強度フィルタリングアルゴリズムは重複する強度の領域を捕捉し、任意に変換を適用し、出力の各々を多数の出力アクチュエータに適用する。
システムは、エンコードオーディオ効果定義またはエンコードハプティック効果定義を、コントローラ750上に存在するヒューマンインターフェース装置(HID)インタープリタ740に、さらに送信できる。HIDインタープリタ740は、コントローラ750のトリガにおけるトリガハプティック効果を提供するために、エンコードオーディオ効果定義またはエンコードハプティック効果定義を受信および解釈する。一実施形態において、システムは、システムがエンコードオーディオ効果定義またはエンコードハプティック効果定義をコントローラ750のHIDインタープリタ740に送信する前に、トリガエンジン(図5のトリガエンジン506など)および/または空間化エンジン(図5の空間化エンジン507など)を用いてエンコードオーディオ効果定義またはエンコードハプティック効果定義をさらに変更できる。
図8は、本発明の実施形態に係る、直接再生のためのトリガハプティック効果を作成するために使用されるコンポーネントのブロック図、およびトリガハプティック効果を保存するために使用されるコンポーネントのブロック図を示す。この実施形態において、システム(図1のシステム10など)は、オーディオ効果としてトリガハプティック効果を作成するための(すなわち、オーディオ効果定義を作成することによる)専用ツールとして、オーディオオーサリングコンポーネント800を提供できる。一実施形態において、オーディオオーサリングコンポーネント800は、Avid Technology,Inc.による「Pro Tools(登録商標)」製品であってもよい。
一旦システムのユーザがオーディオオーサリングコンポーネント800を用いてトリガハプティック効果を作成すると、ユーザはトリガハプティック効果をプレビューできる。プレビュー機能は、トリガハプティック効果のさらなるカスタマイズを可能にする。トリガハプティック効果をプレビューすると、システムは作成されたオーディオ効果定義を4チャネル出力ドライバ801に送信でき、4チャネル出力ドライバ801はオーディオ効果定義を4チャネルのオーディオデータとしてストリーム配信できる。一実施形態において、4チャネル出力ドライバ801は、4チャネルASIO出力ドライバであってもよい。代替実施形態において、4チャネル出力ドライバ801は、6または8チャネルのオーディオデータなど、いずれかの複数のチャネルのオーディオデータとしてオーディオ効果定義をストリーム配信する、別のドライバに置き換えられることができる。
さらに、システムは、オーディオストリームをオーディオハプティック変換器802に送信でき、オーディオハプティック変換器802は、ハプティック変換アルゴリズムを用いてオーディオストリームのオーディオ効果定義をハプティック効果定義に変換できる。一実施形態において、あるモータまたはアクチュエータに対応するオーディオ効果定義の各個別チャネルは、ハプティック効果定義のあるチャネルに変換されることができる。例示的なハプティック変換アルゴリズムは、(その全てが全体として参照により本明細書に組み込まれる)以下の特許または特許出願に記載される:米国特許第7,979,146号明細書;米国特許第8,000,825号明細書;米国特許第8,378,964号明細書;米国特許公開第2011/0202155号明細書;米国特許公開第2011/0215913号明細書;米国特許公開第2012/0206246号明細書;米国特許公開第2012/0206247号明細書;米国特許公開第2013/0265286号明細書;米国特許公開第2013/0131851;号明細書;米国特許公開第2013/0207917号明細書;米国特許公開第2013/0335209号明細書;米国特許公開第2014/0064516号明細書;米国特許出願第13/661,140号明細書;米国特許出願第13/785,166号明細書;米国特許出願第13/788,487号明細書;米国特許出願第14/078,438号明細書;米国特許出願第14/078,442号明細書;米国特許出願第14/078,445号明細書;米国特許出願第14/051,933号明細書;米国特許出願第14/020,461号明細書;米国特許出願第14/020,502号明細書;米国特許出願第14/277,870号明細書;および米国特許出願第14/467,184号明細書。
システムは、さらに変換されたハプティック効果定義をHES多チャネルエンコーダ803に送信でき、多チャネルエンコーダ803は、変換されたハプティック効果定義をHESフォーマットなどの外部フォーマットにエンコードできる。システムはエンコードおよび変換されたハプティック効果定義を、コントローラ805上に存在するトリガ・コントローラ・インターフェース(I/F)804に、さらに送信できる。トリガコントローラI/F804は、コントローラ805のトリガにおける作成されたトリガハプティック効果をプレビューするために、エンコードおよび変換されたハプティック効果定義を受信および解釈できる。
この実施形態において、システムはオーディオオーサリングコンポーネント810を提供することができ、ここでオーディオオーサリングコンポーネント810はオーディオオーサリングコンポーネント800と同一である。一旦システムのユーザがオーディオオーサリングコンポーネント810を用いてトリガハプティック効果を作成すると、ユーザはトリガハプティック効果を保存できる。トリガハプティック効果を保存すると、システムは、オーディオ効果定義を個別のオーディオファイル811としてエクスポートできる。オーディオ効果定義が4つのチャネルを含む一実施形態において、オーディオファイル811は4つのオーディオファイルを含むことができる。オーディオ効果定義が別の数のチャネルを含む代替実施形態において、オーディオファイル811は、その数の個別のオーディオファイルを含むことができる。特定の実施形態において、オーディオファイル811は、波形オーディオファイル(WAV)フォーマットであってもよい。システムはさらに、オーディオファイル811をHESエンコーダ・グラフィカル・ユーザ・インターフェース(GUI)812に送信でき、ここでHESエンコーダGUI812は、オーディオファイル811を単一のオーディオファイルにエンコードできる。一実施形態において、オーディオファイルはHESフォーマットであってもよい。さらに、システムはオーディオファイルをオーディオハプティック変換器812に送信でき、オーディオハプティック変換器813は、ハプティック変換アルゴリズムを用いてオーディオファイルのオーディオ効果定義をハプティック効果定義に変換できる。一実施形態において、あるモータまたはアクチュエータに対応するオーディオ効果定義の各個別チャネルは、ハプティック効果定義のあるチャネルに変換されることができる。システムはさらに、変換されたハプティック効果定義をHES多チャネルエンコーダ814に送信でき、多チャネルエンコーダ814は、変換されたハプティック効果定義をHESフォーマットなどの外部フォーマットにエンコードできる。システムはさらに、エンコードおよび変換されたハプティック効果定義をハプティックファイル815内に記憶できる。一実施形態において、ハプティックファイル815はHESファイルであってもよい。
図9は、本発明の実施形態に係る、クロスオーバー再生のためのトリガハプティック効果を作成するために使用されるコンポーネントのブロック図、およびトリガハプティック効果を保存するために使用されるコンポーネントのブロック図を示す。この実施形態において、システム(図1のシステム10など)は、オーディオ効果としてトリガハプティック効果を作成するための(すなわち、オーディオ効果定義を作成することによる)専用ツールとして、オーディオオーサリングコンポーネント900を提供できる。
一旦システムのユーザがオーディオオーサリングコンポーネント900を用いてトリガハプティック効果を作成すると、ユーザはトリガハプティック効果をプレビューできる。トリガハプティック効果をプレビューすると、システムは作成されたオーディオ効果定義を単一チャネル出力ドライバ901に送信でき、単一チャネル出力ドライバ901はオーディオ効果定義を単一チャネルのオーディオデータとしてストリーム配信できる。一実施形態において、単一チャネル出力ドライバ901は、単一チャネルASIO出力ドライバであってもよい。さらに、システムはオーディオストリームをオーディオハプティック変換器902に送信でき、オーディオハプティック変換器902は、ハプティック変換アルゴリズムを用いてオーディオストリームのオーディオ効果定義をハプティック効果定義に変換できる。一実施形態において、あるモータまたはアクチュエータに対応するオーディオ効果定義の各個別チャネルは、ハプティック効果定義のあるチャネルに変換されることができる。さらにまた、システムは変換されたハプティック効果定義をクロスオーバーGUI905に送信でき、クロスオーバーGUI905は、変換されたハプティック効果定義を3つの異なる出力(例えば(1)低周波鳴動モータまたは鳴動アクチュエータ;(2)中周波鳴動モータまたは鳴動アクチュエータ;あるいは(3)高周波対象となるモータまたは対象となるアクチュエータ)にマッピングされることができる3つの異なるチャネルに分離するために、クロスオーバー入力ワープアルゴリズムを適用できる。
システムはさらに、変換されたハプティック効果定義をHES多チャネルエンコーダ903に送信でき、多チャネルエンコーダ903は、変換されたハプティック効果定義をHESフォーマットなどの外部フォーマットにエンコードできる。システムはさらに、エンコードおよび変換されたハプティック効果定義を、コントローラ906上に存在するトリガコントローラI/F904に送信できる。トリガコントローラI/F904は、コントローラ906のトリガにおける作成されたトリガハプティック効果をプレビューするために、エンコードおよび変換されたハプティック効果定義を受信および解釈できる。
この実施形態において、システムはオーディオオーサリングコンポーネント910を提供することができ、ここでオーディオオーサリングコンポーネント910はオーディオオーサリングコンポーネント900と同一である。一旦システムのユーザがオーディオオーサリングコンポーネント910を用いてトリガハプティック効果を作成すると、ユーザはトリガハプティック効果を保存できる。トリガハプティック効果を保存すると、システムは、オーディオ効果定義を単一のオーディオファイル911としてエクスポートできる。特定の実施形態において、オーディオファイル911はWAVフォーマットであってもよい。システムはさらに、クロスオーバー設定912をエクスポートできる。システムはさらに、オーディオファイル911をHESエンコーダGUI913に送信でき、ここでHESエンコーダGUI913は、オーディオファイル911およびクロスオーバー設定912を単一のオーディオファイルにエンコードできる。一実施形態において、オーディオファイルはHESフォーマットであってもよい。システムはさらに、オーディオファイルをHES単一チャネルおよびクロスオーバーエンコーダ914に送信でき、単一チャネルおよびクロスオーバーエンコーダは、オーディオファイルをHESフォーマットなどの外部フォーマットにエンコードできる。システムはさらに、エンコードオーディオファイルをハプティックファイル915内に記憶できる。一実施形態において、ハプティックファイル915はHESファイルであってもよい。
図10は、本発明の実施形態に係る、トリガハプティック効果を直接再生するために使用されるコンポーネントのブロック図を示す。一実施形態によれば、システム(図1のシステム10など)は、ハプティック効果定義を含むハプティックファイル1000をロードできる。一実施形態において、ハプティックファイル1000はHESファイルであってもよい。実施形態によれば、ハプティックファイル1000内に含まれるハプティック効果定義は4つのチャネルを含み、各チャネルは、ハプティック効果定義内に含まれるハプティックデータの一部を含む。代替実施形態において、ハプティックファイル1000内に含まれるハプティック効果定義は、いずれかの複数のチャネルを含むことができる。各チャネルのハプティック効果定義は、対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータに関連付けられることができる。図示される実施形態において、第1チャネル(すなわち「チャネルLR」)は低鳴動モータに関連付けられ、第2チャネル(すなわち「チャネルMR」)は中鳴動モータに関連付けられ、第3チャネル(すなわち「チャネルLT」)は左トリガに動作可能に結合されたモータに関連付けられ、第4チャネル(すなわち「チャネルRT」)は右トリガに動作可能に結合されたモータに関連付けられている。一実施形態において、ハプティックファイル1000内に含まれるハプティック効果定義は、再生速度および再生率制御を定義できる。
実施形態によれば、システムは、ハプティックファイル1000内に含まれる4つのチャネルのハプティック効果定義を強度制御1010に送信でき、強度制御1010は、各チャネルのハプティック効果定義内に含まれるハプティックデータの強度、またはマグニチュードを変更できる。システムはその後、4つのチャネルのハプティック効果定義を前後(F/B)空間化1020に送信でき、F/B空間化1020は、空間化データに基づいて各チャネルのハプティック効果定義内に含まれるハプティックデータを変更できる。空間化データは、ハプティック効果の方向および/または流れを含むことができる。一実施形態において、ハプティック効果の方向および/または流れは、前向きまたは後ろ向き方向であってもよい。さらに、空間化データは、1つ以上の手の位置を含むことができる。実施形態によれば、F/B空間化1020は、ハプティック効果が各モータまたはアクチュエータのためにスケーリングされるように、各チャネル内に含まれるハプティックデータを変更できる。システムはその後、チャネルLRを低鳴動モータ1030(図10において「低鳴動モータ」とされる)に送信でき、チャネルMRを中鳴動モータ1040(図10において「中鳴動モータ」とされる)にさらに送信できる。チャネルLR内に包含されるハプティックデータは、低鳴動モータ1030に一般または鳴動ハプティック効果を生成させることができ、チャネルMR内に包含されるハプティックデータは、中鳴動モータ1040に一般または鳴動ハプティック効果を生成させることができる。
システムはさらに、チャネルLTおよびRTを左右(L/R)空間化1050に送信でき、L/R空間化1050は、空間化データに基づいてチャネルLTおよびRT内に含まれるハプティックデータを変更できる。空間化データは、ハプティック効果の方向および/または流れを含むことができる。一実施形態において、ハプティック効果の方向および/または流れは、左または右方向であってもよい。さらに、空間化データは1つ以上の手の位置を含むことができる。実施形態によれば、L/R空間化1050は、ハプティック効果が各モータまたはアクチュエータのためにスケーリングされるように、各チャネル内に含まれるハプティックデータを変更できる。システムはその後、チャネルLTを左トリガ対象となるモータ1060(図10において「LTモータ」とされる)に送信でき、チャネルRTを右トリガ対象となるモータ1070(図10において「RTモータ」とされる)にさらに送信できる。チャネルLT内に包含されるハプティックデータは、左トリガ対象となるモータ1060に、左トリガにおけるトリガハプティック効果を生成させることができ、チャネルRT内に包含されるハプティックデータは、右トリガ対象となるモータ1070に、右トリガにおけるトリガハプティック効果を生成させることができる。
図11は、本発明の実施形態に係る、プログラマブルクロスオーバーを使用してトリガハプティック効果を再生するために使用されるコンポーネントのブロック図を示す。実施形態によれば、システム(図1のシステム10など)は、ハプティック効果定義を含むハプティックファイル1100をロードできる。一実施形態において、ハプティックファイル1100はHESファイルであってもよい。実施形態によれば、ハプティックファイル1100内に含まれるハプティック効果定義は単一チャネルを含み、該チャネルはハプティック効果定義内に含まれるハプティックデータを含む。やはり実施形態によれば、ハプティックファイル1100内に含まれるハプティック効果定義は1つ以上のクロスオーバーパラメータを含み、1つ以上のクロスオーバーパラメータはクロスオーバー入力ワープアルゴリズムのためのパラメータであってもよい。一実施形態において、ハプティックファイル1100内に含まれるハプティック効果定義は、再生速度および再生率制御を定義できる。
実施形態によれば、システムは、ハプティックファイル1100内に含まれるハプティック効果定義のチャネル、およびやはりハプティックファイル1100内に含まれる1つ以上のクロスオーバーパラメータを、プログラマブルクロスオーバー1110に送信できる。プログラマブルクロスオーバー1110は、チャネルを3つの異なるチャネル:すなわち低周波チャネル;中周波チャネル;および高周波チャネルに分離するために、1つ以上のクロスオーバーパラメータを用いてクロスオーバー入力ワープアルゴリズムを適用できる。低周波チャネルは、1つ以上の低周波を含むハプティック効果定義内に含まれるハプティックデータの一部を含む。中周波チャネルは、1つ以上の中周波を含むハプティック効果定義内に含まれるハプティックデータの一部を含む。高周波チャネルは、1つ以上の高周波を含むハプティック効果定義内に含まれるハプティックデータの一部を含む。
システムはその後、3つのチャネルのハプティック効果定義をF/B空間化1120に送信でき、F/B空間化1120は、空間化データに基づいて各チャネルのハプティック効果定義内に含まれるハプティックデータを変更できる。空間化データは、ハプティック効果の方向および/または流れを含むことができる。一実施形態において、ハプティック効果の方向および/または流れは、前向きまたは後ろ向き方向であってもよい。さらに、空間化データは、1つ以上の手の位置を含むことができる。実施形態によれば、F/B空間化1120は、ハプティック効果が各モータまたはアクチュエータのためにスケーリングされるように、各チャネル内に含まれるハプティックデータを変更できる。システムはその後、低周波チャネルを低鳴動モータ1130(図11において「低鳴動モータ」とされる)に送信でき、中周波チャネルを中鳴動モータ1140(図11において「中鳴動モータ」とされる)にさらに送信できる。低周波チャネル内に包含されるハプティックデータは、低鳴動モータ1130に一般または鳴動ハプティック効果を生成させることができ、中周波チャネル内に包含されるハプティックデータは、中鳴動モータ1140に一般または鳴動ハプティック効果を生成させることができる。
システムはさらに、高周波チャネルをL/R空間化1150に送信でき、L/R空間化1150は、空間化データに基づいて高周波チャネル内に含まれるハプティックデータを変更できる。一実施形態において、ハプティック効果の方向および/または流れは、左または右方向であってもよい。さらに、空間化データは1つ以上の手の位置を含むことができる。実施形態によれば、L/R空間化1150は、ハプティック効果が各モータまたはアクチュエータのためにスケーリングされるように、チャネル内に含まれるハプティックデータを変更できる。システムはその後、高周波チャネルを左トリガ対象となるモータ1160(図11において「LTモータ」とされる)に送信でき、また高周波チャネルを右トリガ対象となるモータ1170(図11において「RTモータ」とされる)に送信することもできる。高周波チャネル内に包含されるハプティックデータは、左トリガ対象となるモータ1160に、左トリガにおけるトリガハプティック効果を生成させることができ、高周波チャネル内に包含されるハプティックデータは、右トリガ対象となるモータ1170に、右トリガにおけるトリガハプティック効果を生成させることができる。
図12は、本発明の実施形態に係る、トリガハプティック効果の例示的な4チャネル直接再生を示す。実施形態によれば、システム(図1のシステム10など)は、オーディオ効果定義を含むオーディオファイル1200をロードできる。一実施形態において、オーディオファイル1200はHESファイルであってもよい。実施形態によれば、オーディオファイル1200内に含まれるオーディオ効果定義は4つのチャネルを含み、各チャネルはオーディオ効果定義内に含まれるオーディオデータの一部を含む。代替実施形態において、オーディオファイル1200内に含まれるオーディオ効果定義は、いずれかの複数のチャネルを含むことができる。ハプティック効果定義の各チャネルは、対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータに関連付けられることができる。図示される実施形態において、第1チャネル(すなわち「チャネルLR」)は低鳴動モータに関連付けられ、第2チャネル(すなわち「チャネルMR」)は中鳴動モータに関連付けられ、第3チャネル(すなわち「チャネルLT」)は左トリガに動作可能に結合された対象となるモータに関連付けられ、第4チャネル(すなわち「チャネルRT」)は右トリガに動作可能に結合された対象となるモータに関連付けられている。
実施形態によれば、システムは、オーディオファイル1200内に含まれる4つのチャネルのオーディオ効果定義をオーディオハプティック変換器1210に送信でき、オーディオハプティック変換器1210は、ハプティック変換アルゴリズムを用いてオーディオ効果定義をハプティック効果定義に変換できる。一実施形態において、オーディオ効果定義の各個別チャネルはハプティック効果定義のあるチャネルに変換されることができる。図示される実施形態において:チャネルLRは60ヘルツ(Hz)未満の範囲を有するピーク/デシメーションフィルタを用いて変換されることができ;チャネルMRは60Hzの値を有するピーク/デシメーションフィルタを用いて変換されることができ;チャネルLTおよびRTは、200Hzから2kHzの範囲を有するピーク/デシメーションフィルタを用いて各々変換されることができる。
システムはさらに、4つのチャネルの変換されたハプティック効果定義をエンコーダ/デコーダ1220に送信でき、エンコーダ/デコーダ1220は各チャネルの変換されたハプティック効果定義をHESフォーマットなどの外部フォーマットにエンコードできる。システムはその後、4つのエンコードチャネルの変換されたハプティック効果定義をF/B空間化1230に送信でき、F/B空間化1230は、空間化データに基づいて各エンコードチャネルの変換されたハプティック効果定義内に含まれる変換されたハプティックデータを変更できる。空間化データは、ハプティック効果の方向および/または流れを含むことができる。一実施形態において、ハプティック効果の方向および/または流れは、前向きまたは後ろ向き方向であってもよい。さらに空間化データは、1つ以上の手の位置を含むことができる。実施形態によれば、F/B空間化1230は、ハプティック効果が各モータまたはアクチュエータのためにスケーリングされるように、各エンコードチャネル内に含まれる変換されたハプティックデータを変更できる。システムはその後、エンコードチャネルLRを低鳴動モータ1240(図12において「低鳴動モータ」とされる)に送信でき、エンコードチャネルMRを中鳴動モータ1250(図12において「中鳴動モータ」とされる)にさらに送信できる。チャネルLRに包含される変換されたハプティックデータは、低鳴動モータ1240に、一般または鳴動ハプティック効果を生成させることができ、チャネルMR内に包含される変換されたハプティックデータは、中鳴動モータ1250に、一般または鳴動ハプティック効果を生成させることができる。
システムはさらに、エンコードチャネルLTおよびRTをL/R空間化1260に送信でき、L/R空間化1260は、空間化データに基づいてエンコードチャネルLTおよびRTに含まれる変換されたハプティックデータを変更できる。空間化データは、ハプティック効果の方向および/または流れを含むことができる。一実施形態において、ハプティック効果の方向および/または流れは、左または右方向であってもよい。さらに、空間化データは1つ以上の手の位置を含むことができる。実施形態によれば、L/R空間化1260は、ハプティック効果が各モータまたはアクチュエータのためにスケーリングされるように、各チャネル内に含まれるハプティックデータを変更できる。システムはその後、チャネルLTを左トリガ対象となるモータ1270(図12において「LTモータ」とされる)に送信でき、チャネルRTを右トリガ対象となるモータ1280(図12において「RTモータ」とされる)にさらに送信できる。チャネルLT内に包含されるハプティックデータは、左トリガ対象となるモータ1270に、左トリガにおけるトリガハプティック効果を生成させることができ、チャネルRT内に包含されるハプティックデータは、右トリガ対象となるモータ1280に、右トリガにおけるトリガハプティック効果を生成させることができる。
図13は、本発明の実施形態に係る、トリガハプティック効果の例示的なクロスオーバー再生を示す。実施形態によれば、システム(図1のシステム10など)は、オーディオ効果定義を含むオーディオファイル1300をロードできる。一実施形態において、オーディオファイル1300はHESファイルであってもよい。実施形態によれば、オーディオファイル1300内に含まれるオーディオ効果定義は単一チャネルを含み、該チャネルはオーディオ効果定義内に含まれるオーディオデータを含む。一実施形態において、オーディオファイル1300内に含まれるオーディオ効果定義は1つ以上のクロスオーバーパラメータを含むことができ、1つ以上のクロスオーバーパラメータは、クロスオーバー入力ワープアルゴリズムのためのパラメータであってもよい。
実施形態によれば、システムは、オーディオファイル1300内に含まれるオーディオ効果定義のチャネル、ならびに一実施形態において、やはりオーディオファイル1300内に含まれる1つ以上のクロスオーバーパラメータを、プログラマブルクロスオーバー1310に送信できる。プログラマブルクロスオーバー1310は、チャネルを3つの異なるチャネル:すなわち低周波チャネル;中周波チャネル;および高周波チャネルに分離するために、クロスオーバー入力ワープアルゴリズムを(一実施形態において、1つ以上のクロスオーバーパラメータを用いて)適用できる。プログラマブルクロスオーバー1310はさらに、ハプティック変換アルゴリズムを用いてオーディオ効果定義をハプティック効果定義に変換できる。一実施形態において、オーディオ効果定義の各個別チャネルはハプティック効果定義のあるチャネルに変換されることができる。図示される実施形態において:低周波チャネルは60ヘルツ(Hz)未満の範囲を有するピーク/デシメーションフィルタを用いて変換されることができ;中周波チャネルは60Hzの値を有するピーク/デシメーションフィルタを用いて変換されることができ;高周波チャネルは200Hzから2kHzの範囲を有するピーク/デシメーションフィルタを用いて各々変換されることができる。
システムはさらに、3つのチャネルの変換されたハプティック効果定義をエンコーダ/デコーダ1320に送信でき、エンコーダ/デコーダ1320は各チャネルの変換されたハプティック効果定義をHESフォーマットなどの外部フォーマットに変換できる。システムはその後、3つのチャネルのハプティック効果定義をF/B空間化1330に送信でき、F/B空間化1330は、空間化データに基づいて各チャネルのハプティック効果定義内に含まれるハプティックデータを変更できる。空間化データは、ハプティック効果の方向および/または流れを含むことができる。一実施形態において、ハプティック効果の方向および/または流れは、前向きまたは後ろ向き方向であってもよい。さらに空間化データは、1つ以上の手の位置を含むことができる。実施形態によれば、F/B空間化1330は、ハプティック効果が各モータまたはアクチュエータのためにスケーリングされるように、各チャネル内に含まれるハプティックデータを変更できる。システムはその後、低周波チャネルを低鳴動モータ1340(図13において「低鳴動モータ」とされる)に送信でき、中周波チャネルを中鳴動モータ1350(図13において「中鳴動モータ」とされる)にさらに送信できる。低周波チャネル内に包含されるハプティックデータは、低鳴動モータ1340に、一般または鳴動ハプティック効果を生成させることができ、中周波チャネル内に包含されるハプティックデータは、中鳴動モータ1350に、一般または鳴動ハプティック効果を生成させることができる。
システムはさらに、高周波チャネルをL/R空間化1360に送信でき、L/R空間化1360は、空間化データに基づいて高周波チャネル内に含まれるハプティックデータを変更できる。一実施形態において、ハプティック効果の方向および/または流れは、左または右方向であってもよい。さらに、空間化データは1つ以上の手の位置を含むことができる。実施形態によれば、L/R空間化1360は、ハプティック効果が各モータまたはアクチュエータのためにスケーリングされるように、チャネル内に含まれるハプティックデータを変更できる。システムはその後、高周波チャネルを左トリガ対象となるモータ1370(図13において「LTモータ」とされる)に送信でき、高周波チャネルを右トリガ対象となるモータ1380(図13において「RTモータ」とされる)に送信することもまたできる。高周波チャネル内に包含されるハプティックデータは、左トリガ対象となるモータ1370に、左トリガにおけるトリガハプティック効果を生成させることができ、高周波チャネル内に包含されるハプティックデータは、右トリガ対象となるモータ1380に、右トリガにおけるトリガハプティック効果を生成させることができる。
図14は、本発明の実施形態に係る、トリガエンジンの例示的なユーザインターフェース1400を示す。ユーザインターフェース1400は、トリガエンジン(図5のトリガエンジン506など)によって生成された1つ以上のトリガハプティック効果を視覚化できる、編集可能視覚領域である。ユーザインターフェース1400はさらに、ユーザが1つ以上のトリガハプティック効果をプログラムで管理できるようにすることもできる。先に記載されたように、トリガエンジンはトリガハプティック効果定義を受信でき、コントローラのトリガの位置および/または範囲に基づいてトリガハプティック効果定義を変更できる。実施形態によれば、ユーザインターフェース1400はトリガビュー1410を表示するが、トリガビュー1410はトリガの視覚化映像である。トリガビュー1410はトリガ入力範囲1420を表示ことができ、トリガ入力範囲1420はトリガの有効な入力範囲の視覚化映像である。図示される実施形態において、トリガ入力範囲1420は、0から255までの範囲の整数値の連続体によって表されることができる。トリガは、トリガ入力範囲1420内の初期位置0に位置する。トリガを押すことまたは引くことによって、ユーザはトリガの位置をトリガ入力範囲1420内のいずれか有効な位置に調整できる。ユーザがトリガを解放すると、トリガの位置はトリガ入力範囲1420内の位置0に戻る。
ユーザインターフェース1400を用いて、ユーザは1つ以上のトリガ定義を作り出すことができ、トリガ定義は、トリガハプティック効果を生成または変更させる条件を定義する。いくつかの実施形態において、条件はトリガの位置であってもよく、位置はトリガ入力範囲1420内である。別の実施形態において、条件はトリガの範囲であってもよく、範囲はトリガ入力範囲1420内である。ユーザインターフェース1400は閾値トリガ定義1430を含むが、これはトリガ定義の一例である。閾値トリガ定義1430は、トリガが指定された位置に到達したときに、指定されたトリガハプティック効果定義に基づくトリガハプティック効果を生成させ、指定された位置は図示される実施形態において99である。閾値トリガ定義1430は、トリガハプティック効果がトリガの押下のみにおいて、トリガの解放のみにおいて、またはトリガの押下および解放の両方において生成されることを、定義できる。代替実施形態において、閾値トリガ定義1430は、単に指定された位置に到達するのとは対照的に、トリガが指定された位置に存在するときに、指定されたトリガハプティック効果定義に基づくトリガハプティック効果を生成させる位置トリガ定義に置き換えられることができる。ユーザインターフェース1400は範囲トリガ定義1440をさらに含むが、これはトリガ定義の別の例である。範囲トリガ定義1440は、トリガが指定された範囲に到達したときに、指定されたトリガハプティック効果定義に基づくトリガハプティック効果を生成させ、指定された範囲は図示される実施形態において164から255である。
図15は、本発明による、空間化エンジンの例示的なユーザインターフェース1500を示す。ユーザインターフェース1500は、元々トリガエンジン(図5のトリガエンジン506など)によって生成されて空間化エンジン(図5の空間化エンジン507など)によってさらに変更されたトリガハプティック効果を視覚化できる、編集可能視覚領域である。ユーザインターフェース1500はさらに、ユーザが空間化エンジンによるトリガハプティック効果の1つ以上の変更をプログラムで管理できるようにすることもできる。このような変更は、将来の動的再生のためにさらに記録されることができる。先に記載されたように、空間化エンジンは、トリガハプティック効果がコントローラの1つ以上の対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータのためにスケーリングされるように、元々トリガエンジンによって生成されたハプティック効果定義を変更できる。より具体的には、空間化エンジンは、コントローラのユーザによって経験された通りのトリガハプティック効果の方向感覚を伝達するために、各対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータに適用された通りにハプティック効果定義を変更できる。ハプティック効果定義に対する各変更は、空間化エンジンによって定義された通りのトリガハプティック効果の意図される方向および/または流れに基づいてもよい。さらに、各変更はまた、コントローラによって受信された入力に基づいてもよく、入力は、コントローラ上のユーザの手の位置を示す。このように、空間化エンジンは、元々トリガエンジンによって生成されたハプティック効果定義を受信でき、トリガハプティック効果の「空間化」局面(例えば、トリガハプティック効果の位置および/または流れ)に基づいてハプティック効果定義を変更できる。代替実施形態において、空間化エンジンは、ハプティック効果がコントローラの1つ以上の対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータのためにスケーリングされるように、元々トリガエンジンによって生成されたハプティック効果定義とは対照的に、元のハプティック効果定義を変更できる。
ユーザインターフェース1500は、流れ(flow)1510を含む。流れ1510は、ユーザがトリガハプティック効果の流れをプログラムで管理できるようにする。流れは、コントローラの個々の対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータ上での再生を遅延させるための、一時的再生開始オフセット変更である。あるいは流れは、コントローラの対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータにおいて経験されるハプティック効果の持続時間を変更するための、持続時間変更であってもよい。例えば流れは、ハプティック再生がまず左対象となるモータまたは対象となるアクチュエータ上で開始し、その後続いて中鳴動モータまたは鳴動アクチュエータ上で開始し、その後さらに右対象となるモータまたは対象となるアクチュエータ上で開始するように、定義されることができる。この例において、コントローラのユーザは、まずコントローラの左、その後コントローラの中央、その後コントローラの右における全体的なトリガハプティック効果のハプティック再生を経験するので、全体的なトリガハプティック効果の流れは左から右である。流れは左から右またはその逆、前から後ろまたはその逆、あるいはこれら2つの組み合わせであってもよい。このように、流れはハプティック再生ベクトルを定義できる。流れ1510は、ユーザインターフェース1500の中で水平に、垂直に、または斜めに配置されることができる矢印として、ユーザインターフェース1500内で視覚化されることができる。このように、流れ1510と相互作用することにより、ユーザはハプティック再生をずらすために、コントローラの様々なモータまたはアクチュエータに適用される1つ以上の遅延を変更できる。
ユーザインターフェース1500は、方向1520をさらに含む。方向1520は、ユーザがトリガハプティック効果の方向をプログラムで変更できるようにする。方向は、コントローラの様々なモータまたはアクチュエータの間の前後および/または左右バイアス(またはバランス)を強調するための、マグニチュード(または強度)変更である。あるいは、方向は周波数変更であってもよい。例えば、方向は、トリガハプティック効果のハプティック再生がコントローラの右において最も強くなるように、定義されることができる。方向1520は、2つの軸によって定義された二次元グリッドまたは空間内の点として、ユーザインターフェース1500内で視覚化されることができる。このように、方向1520と相互作用することにより、ユーザは左右および/または前後バイアス(またはバランス)を強調するために、様々なモータまたはアクチュエータに適用されるマグニチュード(または強度)を変更できる。
ユーザインターフェース1500は、強度1530をさらに含む。強度1530は、再生の前または最中に、ユーザが全体的なトリガハプティック効果のマグニチュード(magnitude)(または強度(strength))をプログラムで変更できるようにする。強度1530は、スライダとしてユーザインターフェース1500内で視覚化されることができる。このように、強度1530と相互作用することにより、ユーザはトリガハプティック効果の全体的なマグニチュード(または強度)を変更できる。ユーザインターフェース1500は、再生速度1540をさらに含む。再生速度1540は、トリガハプティック効果を再生するためにシステム(図1のシステム10など)がトリガハプティック効果のトリガハプティック効果定義を処理する再生速度または率を、ユーザがプログラムで変更できるようにする。再生速度1540は、スライダとしてユーザインターフェース1500内で視覚化されることができる。このように、再生速度1540と相互作用することにより、ユーザはトリガハプティック効果の再生速度または率を変更できる。ユーザインターフェース1500は、ループ1550をさらに含む。ループ1550は、トリガハプティック効果の再生がループになっているか否かをユーザがプログラムで変更できるようにする。ループ1550は、ボタンとしてユーザインターフェース1500内で視覚化されることができる。このように、ループ1550と相互作用することにより、ユーザはトリガハプティック効果のループ化を制御できる。空間化エンジンのさらなる詳細はさらに、図32および図33と併せて、以下により詳細に記載される。
図16は、本発明の実施形態に係る、トリガハプティック効果API1600のアーキテクチャ図を示す。トリガハプティック効果API1600は、コントローラのユーザ入力エレメントにおいて、トリガハプティック効果などのハプティック効果を開発者が再生できるようにする、コンピュータ可読機能またはルーチンのセットを含む。トリガハプティック効果APIは、運転/レース、武器/戦争、およびスポーツ(例えばサッカー、フットボール、野球、ゴルフ、またはホッケー)など、多くの異なるゲームジャンルのための所定のハプティック効果定義を包含する広範なハプティック効果ライブラリを含むことができる。一実施形態において、トリガハプティック効果APIはC++クラスのセットを含むことができ、クライアントアプリケーションにおいて停止される可能性のある、例外および実行時型情報などの拡張機能を使用する必要はない。代替実施形態において、トリガハプティック効果APIは、C、Java(登録商標)、またはC#など、その他の言語結合を使用できる。さらに、トリガハプティック効果APIは、Unity3D(商標)およびMarmalade(商標)など、特定のゲームジャンルのためのプラグインを提供できる。
実施形態によれば、トリガハプティック効果API1600はアプリケーション1610によってアクセス可能であり、これはシステム(図1のシステム10など)上で実行されることができる、ゲームアプリケーションなどのソフトウェアアプリケーションである。さらに、トリガハプティック効果API1600は効果ライブラリ1620にアクセスでき、効果ライブラリ1620は、ハプティック効果定義1621(図16において「効果1621」とされる)など、1つ以上のハプティック効果定義を含むことができる。先に記載されたように、ハプティック効果定義の一例はトリガハプティック効果定義である。さらに、トリガハプティック効果API1600は、装置定義1601(図16において「装置1601」とされる)など、1つ以上の装置定義を含む。装置定義は、コントローラ、ゲームパッド、またはその他の周辺機器などのハードウェア装置を定義する装置データを含み、ここでハプティック効果が再生されることになる。トリガハプティック効果API1600は、タイマー定義1602(図16において「タイマー1602」とされる)など、1つ以上のタイマー定義をさらに含む。タイマー定義は、特定のハードウェア装置に登録された全てのハプティック効果定義が更新されるのにかかる時間を定義する、タイマーデータを含む。トリガハプティック効果API1600は、トリガ定義1603(図16において「トリガ1603」とされる)をさらに含む。トリガ定義は、特定のハードウェア装置のトリガを定義する、トリガデータを含む。トリガハプティック効果API1600は、プロトコル定義1604(図16において「プロトコル1604」とされる)をさらに含む。プロトコル定義は、特定のハードウェア装置と通信するためにトリガハプティック効果API1600によって使用される通信インターフェースのプロトコルを記述する。プロトコル定義1604を使用して、トリガハプティック効果API1600は装置ファームウェア1630(図16において「FW1630」とされる)と通信でき、装置ファームウェア1630は、特定のハードウェア装置のためのファームウェアである。装置ファームウェア1630を使用して、トリガハプティック効果API1600はさらにハードウェア装置1640(図16において「HW1640」とされる)と通信でき、ハードウェア装置1640は特定のハードウェア装置である。
一実施形態において、アプリケーション1610は、ハプティック効果が再生されることになる対象となるハードウェア装置(すなわち、HW1640)を取得するために、装置定義1601にアクセスできる。装置定義1601にアクセスすることにより、アプリケーション1610はタイマー定義1602、トリガ定義1603、およびプロトコル定義1604に、さらにアクセスできる。アプリケーション1610は、ハプティック効果をインスタンス作成するために、効果ライブラリ1620からのハプティック効果定義1621にさらにアクセスできる。アプリケーション1610はさらに、トリガハプティック効果API1600およびFW1630を介して対象となるハードウェア装置(すなわち、HW1640)に命令を送信することによって、対象となるハードウェア装置(すなわち、HW1640)においてハプティック効果を再生させることができる。
図17は、本発明の実施形態に係る、トリガハプティック効果を生成するファームウェアのアーキテクチャ図を示す。アーキテクチャは通信インターフェース1700を含む。通信インターフェース1700は、トリガハプティック効果API(図16のトリガハプティック効果API1600など)と、コントローラまたはゲームパッドなどの周辺機器のためのファームウェアとの間の通信を提供する。アーキテクチャは、効果スロット1710をさらに含む。効果スロットはハプティック効果のタイプを定義し、以下のパラメータを含むことができる:マグニチュード(または強度);周波数(または周期);エンベロープ(例えば攻撃レベル、攻撃時間、フェードレベル、およびフェード時間);アクチュエータ(例えば、「鳴動(rumble)」または「指向性(directional)」など、特定のアクチュエータまたは仮想アクチュエータ);方向(例えば1つまたは2つの角度、あるいは二次元ベクトル);距離(例えば、ハプティック効果全体をモジュール化するために使用可能);開始/終了ハプティック効果定義(例えば挿入されるハプティック効果を作り出すために挿入されることができる、開始ハプティック効果定義および終了ハプティック効果定義)。特定のタイプの効果スロット1710は、トリガされた効果スロット1720である。トリガされた効果スロットは、トリガハプティック効果のタイプを定義し、効果スロットの上記パラメータに加えて、以下の追加パラメータを含むことができる:トリガボタン(例えばなし、左、または右);トリガ開始/停止点、および方向(例えば、特定方向へ移動中にトリガボタンが特定位置に到達したときにトリガハプティック効果を開始/停止する);ならびにトリガ終了点(例えば、トリガハプティック効果の再生中に開始トリガハプティック効果定義と終了トリガハプティック定義との間に挿入する)。
アーキテクチャは、トリガエンジン1730をさらに含む。先に記載されたように、トリガエンジン1730はトリガハプティック効果定義を受信でき、コントローラのトリガの位置および/または範囲など、トリガデータに基づいてトリガハプティック効果定義を変更できる。アーキテクチャは、トリガ・ハードウェア・インターフェース1740(図17において「トリガHWインターフェース1740」とされる)をさらに含む。トリガ・ハードウェア・インターフェース1740は、トリガエンジン1730がコントローラまたはゲームパッドなどの周辺機器からトリガデータを受信できるようにする、通信インターフェースである。アーキテクチャは、空間化エンジン1750をさらに含む。先に記載されたように、空間化エンジン1750は、トリガハプティック効果などのハプティック効果がコントローラの1つ以上の対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータのためにスケーリングされるように、トリガハプティック効果定義などのハプティック効果定義を変更できる。アーキテクチャは、基本効果レンダリングエンジン1760をさらに含む。基本効果レンダリングエンジン1760は、トリガハプティック効果定義などのハプティック効果定義に基づいて、モータまたはアクチュエータのためにトリガハプティック効果などのハプティック効果を表現する。アーキテクチャは、アクチュエータ・ハードウェア・インターフェース1770(図17において「アクチュエータHWインターフェース1770」とされる)をさらに含む。アクチュエータ・ハードウェア・インターフェース1770は、モータまたはアクチュエータにハプティック効果を再生させるために、表現されたハプティック効果内に含まれるハプティックデータを基本効果レンダリングエンジン1760にモータまたはアクチュエータまで送信させる、通信インターフェースである。
図18は、本発明の実施形態に係る、コントローラのための例示的な指向性モデルを示す。実施形態によれば、コントローラは鳴動モータ1810および1820ならびに対象となるモータ1830および1840を含み、対象となるモータ1830および1840は、コントローラのトリガに各々動作可能に結合されている。鳴動モータ1810および1820は、補完的な振動範囲を有することができる。さらに、対象となるモータ1830および1840は、より空間的に隔離された高周波振動を生成できる。左右空間化ハプティック効果のために鳴動モータ1810および1820を使用することで非対称振動経験(すなわち、ほとんどのユーザにとってあまり空間的に分離されていない異なる周波数成分)を提供することは、理解され得る。このためハプティック効果定義は、左前、右前、および無指向性チャネルを含むことができる。さらに、前後指向性は、鳴動モータ1810および1820から対象となるモータ1830および1840まで振動を推移させることによって強化されることができる。このため鳴動モータ1810および1820は、無指向性低周波ハプティック効果のために使用されることができる。鳴動モータ1810および1820はまた、前後指向性のために任意に使用されることもできる。さらに、対象となるモータ1830および1840は、左右指向性のために使用されることもできる。
図19は、本発明の実施形態に係る、トリガハプティック効果ファームウェアスタックのブロック図を示す。トリガハプティック効果ファームウェアスタックは、図5の周辺ファームウェア510などの、周辺機器のためのファームウェア用であってもよい。トリガハプティック効果ファームウェアスタックは、トリガコントローラハプティックAPI1900を含むことができる。トリガコントローラハプティックAPI1900は、トリガなどのコントローラのユーザ入力エレメントにおけるトリガハプティック効果などのハプティック効果をファームウェアが再生できるようにする、コンピュータ可読機能またはルーチンのセットを含む。トリガコントローラハプティックAPI1900は、基本的な効果定義1901を含むことができる。効果定義1901は、トリガハプティック効果定義などの1つ以上のハプティック効果定義を含む。トリガコントローラハプティックAPI1900は、効果ライブラリコード1902をさらに含むことができる。効果ライブラリコード1902は、効果定義1901内に記憶されたハプティック効果定義に基づいてハプティック効果をインスタンス作成できる、コンピュータ可読命令のセットを含む。効果ライブラリコード1902は、ハプティック効果定義に基づくハプティック効果のインスタンス作成の一部として、1つ以上の効果専用パラメータを提供できる。トリガコントローラハプティックAPI1900は、指向性エンジン1903をさらに含むことができる。指向性エンジン1903は、トリガハプティック効果などのハプティック効果がコントローラの1つ以上の対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータのためにスケーリングされるように、トリガハプティック効果定義などのハプティック効果定義を変更できる。トリガコントローラハプティックAPI1900は、エミュレータ1904をさらに含む。エミュレータ1904は、トリガハプティック効果定義などのハプティック効果定義に基づいて、コントローラの1つ以上のモータまたはアクチュエータ(例えば4つのモータ)のために、トリガハプティック効果などのハプティック効果を表現する。トリガコントローラハプティックAPI1900はさらに、コントローラAPI1910を使用して、表現されたハプティック効果をコントローラ1920に送信する。
図20は、本発明の実施形態に係る、コントローラのトリガにおいて経験されるトリガハプティック効果を提供するシステム(図1のシステム10など)のアーキテクチャ図を示す。システムは、アプリケーション2000(図20において「app2000」とされる)を含む。アプリケーション2000は、システム上で実行されることができる、ゲームアプリケーションなどのソフトウェアアプリケーションである。システムは、トリガハプティック効果API2010(図20において「API2010」とされる)をさらに含む。一実施形態において、トリガハプティック効果API2010は、図19のトリガコントローラハプティックAPI1900と同一である。実施形態によれば、トリガハプティック効果API2010は、全てのコントローラ、ゲームパッド、またはその他の周辺機器のための単一のAPIであってもよい。このためトリガハプティック効果API2010は、コントローラ、ゲームパッド、およびその他の周辺機器の間の差を抽出できる。さらに、トリガハプティック効果API2010は、1つ以上の内蔵ハプティック効果定義を含む内蔵効果ライブラリを含むことができる。内蔵ハプティック効果定義は、対応するハプティック効果の1つ以上の性質を封じ込めたデータ構造である。
あるタイプの内蔵ハプティック効果定義は、静的ハプティック効果定義2011(図20において「静的2011」とされる)である。静的ハプティック効果定義2011は、経時的に変化しない静的ハプティック効果を生成する、1つ以上の周期的またはマグニチュード掃引効果定義のセットである。例としては、自動車事故、ロケット発射装置、およびユーザインターフェース確認を含む。静的ハプティック効果定義2011は、ゲーム内のイベントに基づいて、アプリケーション2000によって直接呼び出されることができる。静的ハプティック効果定義2011によって生成される静的ハプティック効果は、トリガハプティック効果として使用されることができる。
別のタイプの内蔵ハプティック効果定義は、動的ハプティック効果定義2012(図20において「動的2012」とされる)である。動的ハプティック効果定義2012は、1つ以上のパラメータ2014を入力として受け付け、連続的に変化するハプティック効果(すなわち、動的ハプティック効果)を生成する、アルゴリズムである。例としては、エンジンの毎分回転数(RPM)、スノーボード、および爆発を含む。静的ハプティック効果定義は、ベクトル(すなわち、距離および方向)、および1つ以上のボタンまたは軸の入力位置/状態)を含むことによって、動的ハプティック効果定義に変えられることができる。動的ハプティック効果は、アプリケーション2000から渡されることができるゲーム変数に基づいてもよい。動的ハプティック効果はまた、トリガ入力などのコントローラ入力に基づいてもよい。
別のタイプの内蔵ハプティック効果定義は、直接制御ハプティック効果定義2013(図20において「直接制御2013」とされる)である。直接制御シナリオでは、直接制御ハプティック効果定義2013は、コア効果ライブラリ2020内を移動する際に直接制御ハプティック効果定義2013にほとんど処理を行わずに、出力装置への直接表現を可能にするような方法で、定義されることができる。このシナリオにおいて、直接制御ハプティック効果定義2013は、出力装置上の多数の出力アクチュエータに対応し、これらを正確にマッピングする、多数の異なるデータチャネルを含むことができる。あるいは、直接制御ハプティック効果定義2013は、出力装置上で利用可能な出力アクチュエータの数を超える多数の異なるデータチャネルを包含でき、コア効果ライブラリ2020は多数のチャネルを選択でき、各チャネルは出力装置内の特定のアクチュエータを最もよくマッピングするように選択され、コア効果ライブラリ2020はその後、選択されたチャネルのデータをマッピングされたアクチュエータに送信できる。
システムは、コア効果ライブラリ2020(図20において「コア2020」とされる)をさらに含む。コア効果ライブラリ2020は、1つ以上のハプティック効果定義2021(図20において「FX2021」とされる)を含む。ハプティック効果定義2021は、トリガハプティック効果定義2022(図20において「トリガ効果2022」とされる)を含むことができる。ハプティック効果定義の例は、爆発ハプティック効果定義、RPMハプティック効果定義、スノーボードハプティック効果定義、およびその他のハプティック効果定義を含むことができる。コア効果ライブラリは、ミキサ2023(図20において「ミキサ/優先順位付け2023」とされる)をさらに含む。ミキサ2023は、1つ以上のハプティック効果定義を混ぜるかまたは優先順位を付けることができる。
システムは、低レベルAPI2030をさらに含む。低レベルAPI2030は、ハプティック効果定義に基づいてハプティック効果を再生するための命令を受信でき、命令を、コントローラ2040によって解釈されることができる低レベル命令に変換できる。低レベルAPI2030の一例はマイクロソフト社によるXbox(登録商標)API2031であり、コントローラ2040の一例はマイクロソフト社によるXbox(登録商標)コントローラ2041である。
図21は、本発明の実施形態に係る、トリガハプティック効果をプレビューおよび変更するための例示的なユーザインターフェース2100を示す。システム(図1のシステム10など)は、トリガハプティック効果プレビューおよび変更ツールとして、ユーザインターフェース2100をユーザに提供できる。実施形態によれば、ユーザインターフェース2100は、オープン効果2110を含む。オープン効果2110は、選択可能なトリガハプティック効果プリセットなどの1つ以上のハプティック効果プリセットを表示できる。ユーザインターフェース2100は、効果ライブラリ2120をさらに含む。効果ライブラリ2120は、ハプティック効果ライブラリ内に含まれる、トリガハプティック効果プリセットなどの1つ以上のハプティック効果プリセットを表示できる。効果ライブラリ2120は、カテゴリごとに1つ以上のハプティック効果プリセットを表示できる。
ユーザインターフェース2100は、タイムライン2130をさらに含む。実施形態によれば、ユーザはオープン効果2110内に表示されたハプティック効果プリセットを選択でき、タイムライン2130は、選択されたハプティック効果プリセットによって表されるハプティック効果定義の図形描写を表示できる。図示される実施形態において、ハプティック効果定義は4つのチャネルを含み、各チャネルは特定の出力(例えば、(1)右トリガ用の対象となるモータまたはアクチュエータ;(2)左トリガ用の対象となるモータまたはアクチュエータ;(3)右鳴動モータまたはアクチュエータ;および(4)左鳴動モータまたはアクチュエータ)のためにマッピングされるハプティックデータを含み、各チャネルはタイムラインに沿って表示される。しかしながら、別の実施形態において、ハプティック効果定義はいくつのチャネルでも含むことができる。さらに、ユーザは、タイムライン2130内の1つ以上の表示要素と相互作用することによって、1つ以上のチャネルの選択されたハプティック効果定義を変更できる。1つ以上のチャネルのハプティック効果定義を変更することによって、対応するハプティック効果の1つ以上の性質を変更できる。
ユーザインターフェース2100は、効果特性2140をさらに含む。効果特性2140は、トリガエンジン(図5のトリガエンジン506など)によって生成されるトリガハプティック効果を視覚化できる、編集可能視覚領域である。先に記載されたように、トリガエンジンはトリガハプティック効果定義を受信でき、コントローラのトリガの位置および/または範囲に基づいてトリガハプティック効果定義を変更できる。このように効果特性2140は、トリガの実際の位置を含む、トリガの視覚化映像を表示できる。さらに、効果特性2140は、トリガハプティック効果定義のために定義されたトリガの位置および/または範囲を表示でき、位置および/または範囲はトリガエンジンにトリガハプティック効果定義を変更させることができる。ユーザは、トリガハプティック効果定義のために定義されたトリガの位置および/または範囲を編集できる。さらに、効果特性2140はコントローラのためのトリガのリストを表示できるので、ユーザはトリガハプティック効果定義のために定義されたトリガを編集できる。さらにまた、効果特性2140はトリガハプティック効果定義のマグニチュード(または強度)を表示でき、ユーザはマグニチュード(または強度)を変更できる。
ユーザインターフェース2100は、空間化2150をさらに含む。空間化2150は、元々トリガエンジンによって生成され、空間化エンジン(図5の空間化エンジン507など)によってさらに変更されたトリガハプティック効果を視覚化できる、編集可能視覚領域である。先に記載されたように、空間化エンジンは、トリガハプティック効果がコントローラの1つ以上の対象となるモータ、対象となるアクチュエータ、鳴動(鳴動)モータ、または鳴動アクチュエータのためにスケーリングされるように、トリガハプティック効果定義を変更できる。このため、空間化2150はコントローラの視覚化映像を表示できる。空間化2150はさらに、コントローラの各対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータにおいて経験されるトリガハプティック効果の視覚化映像を表示できる。ユーザは、コントローラの各対象となるモータ、対象となるアクチュエータ、鳴動モータ、または鳴動アクチュエータにおいて経験されるトリガハプティック効果のスケーリングを編集でき、トリガハプティック効果の発生源のスケーリングを編集することもできる。
図22は、本発明の実施形態に係る、オーディオ信号をトリガハプティック効果に変換するための例示的なユーザインターフェース2200を示す。実施形態によれば、ハプティック効果設計は、ユーザインターフェース2200に組み込まれるオーディオ設計プロセスの一部になることができる。より具体的には、ユーザインターフェース2200内に表示されるオーディオ効果定義3〜8はハプティック効果定義に変換されることができ、ここでハプティック効果定義はエクスポートされることができる。
図23は、本発明の実施形態に係る、物体パラメータに基づいてトリガハプティック効果を作り出すための例示的なユーザインターフェース2300を示す。実施形態によれば、ユーザインターフェース2300は、ハプティック効果定義の名前を表示する、ハプティック効果定義名2310を含む。ユーザインターフェース2300は、ハプティック効果定義の1つ以上の物体パラメータを表示する、物体パラメータ2320をさらに含む。実施形態に示される例示的な物体パラメータは:タイプ;発砲率;スタイル;強度(またはマグニチュード);周波数;および音響効果を含む。ユーザインターフェース2300は、トリガスローまたはトリガ起動など、ハプティック効果定義のトリガ局面をユーザが変更できるようにする、トリガ変更2330をさらに含む。ユーザインターフェース2300は、ランダム強度(またはマグニチュード);最大強度(またはマグニチュード;あるいは最小強度(またはマグニチュード)などのハプティック効果定義の強度(またはマグニチュード)局面をユーザが変更できるようにする、強度(またはマグニチュード)変更2340をさらに含む。ユーザインターフェース2300は、ランダム化長さ;最小持続時間;または最大持続時間など、ハプティック効果定義の持続時間局面をユーザが変更できるようにする、持続時間変更2350をさらに含む。ユーザインターフェース2300は、ハプティック効果定義に基づいてユーザがハプティック効果を視覚化できるようにする、ハプティック効果視覚化2360をさらに含む。ユーザインターフェース2300は、ユーザが変更されたハプティック効果定義を保存できるようにする、保存(save)2370をさらに含む。
図24は、本発明の実施形態に係る、トリガハプティック効果をプレビューするシステム(図1のシステム10など)のアーキテクチャ図を示す。システムはユーザインターフェース2400を含む。一実施形態において、ユーザインターフェース2400はQtユーザインターフェースであり、Qtは、クロスプラットフォームアプリケーションおよびユーザ・インターフェース・フレームワークである。システムはアダプタ層2410をさらに含む。システムはトリガAPI層2420をさらに含む。システムはトリガファームウェア層2430をさらに含む。
ユーザインターフェース2400はプロッタ2401を含む。プロッタ2401はユーザによって指定されたハプティック効果定義を入力として受け取り、アダプタ層2410を通じてトリガAPI層2420に、ハプティック効果定義内に含まれるハプティックデータを送信する。トリガAPI層2420は、プロッタ2401がユーザインターフェース2400内に表示する個々のチャネルデータを送り返す。レンダー2402はコントローラGUI2403からの入力を受け取り、ハプティックプレーヤ・レンダー・ループを開始する。入力はアダプタ層2410を通され、これはトリガAPI層2420とのコールバック設定、およびコントローラ2414から送信されるリレーコントローラ入力2413(ボタンおよびトリガ入力など)を有する。アダプタ層2410はまた、レンダーループがユーザインターフェース2400を更新するために起動している間に、プロッタ2401と通信もできる。コントローラGUI2403はまた、コントローラセレクタ2412を用いてコントローラ2414を選択することも可能であり、何が接続されているかを示すことができる。コントローラGUI2403はまた、トリガ起動点を設定することもできる。さらに、インポータ/エクスポータ2404は、入力オーディオファイルを受け取って、これらをハプティックファイルに変換できる。一実施形態において、オーディオファイルはWAVファイルである。さらに、アダプタ層2410は、ユーザインターフェース2400内に埋め込まれることができるか、または個別のライブラリであってもよい。アダプタ層2410が個別のライブラリであるとき、アダプタ層2410は個別のC++ライブラリであってもよい。
図25は、本発明の実施形態に係る、トリガハプティック効果を生成するシステム(図1のシステム10など)のアーキテクチャ図を示す。システムは、ゲームアプリケーション2500(図25において「ゲーム2500」とされる)を含む。ゲームアプリケーション2500は、ソフトウェアゲーム、またはその他のタイプのソフトウェアアプリケーションに従って、コントローラ、ゲームパッド、またはその他の周辺機器によって提供された入力を管理する、コンピュータ可読命令のセットを含む。一実施形態において、ゲームアプリケーション2500はハプティック効果ライブラリ2501を含み、ハプティック効果ライブラリ2501は1つ以上のハプティック効果定義を含む。
システムは、ハプティックエンジン2510をさらに含む。ハプティックエンジン2510は、ハプティック効果の再生を実行するため、およびゲームアプリケーション2500にハプティック効果を加えるために、低レベルAPIを利用できる、高レベルAPIである。ハプティックエンジン2510は、ハプティック効果をロード、開始、停止および表現することができる。ハプティックエンジン2510は、ハプティック効果を解析/その情報を取得するために、ハプティック効果パーサ2520とインターフェース接続できる。ハプティックエンジン2510は、効果を開始または停止してミキサバッファを変更するために、ハプティックミキサ2530とさらにインターフェース接続できる。ハプティックエンジン2510は、コントローラ、ゲームパッド、またはその他の周辺機器の装置ハンドルを取得し、これらにおけるハプティック効果を表現するために、ハプティック装置ハンドラ2550とさらにインターフェース接続できる。
システムは、ハプティック効果パーサ2520をさらに含む。ハプティック効果パーサ2520は、メモリにハプティック効果をロードし、該ハプティック効果のフォーマットを検証し、サイズ、持続時間、およびハプティックデータなどのハプティック効果に関する情報を取得できる、APIを含む。システムは、ハプティックミキサ2530をさらに含む。ハプティックミキサ2530は、複数のハプティック効果の再生を同時に支援する。システムは、ハプティック装置ハンドラ2540をさらに含む。ハプティック装置ハンドラ2540は、コントローラ、ゲームパッド、またはその他の周辺機器との通信を開始および管理できる。ハプティック装置ハンドラ2540は、ユニバーサル・シリアル・バス(USB)通信層とインターフェース接続して、コントローラ、ゲームパッド、またはその他の周辺機器の装置ハンドルを取得できる。ハプティック装置ハンドラ2540はさらに、ハプティック効果再生のために不可欠ないくつかの状態機械構造を初期化できる。
システムは、トリガハプティックレポートハンドラ2550をさらに含む。トリガハプティックレポートハンドラ2550は、トリガ通信プロトコルにしたがって、ハプティックデータをUSB・HIDパケット内にパッケージできる。システムは、プラットフォーム補完USB・HIDライブラリ2560をさらに含む。プラットフォーム補完USB・HIDライブラリ2560は、USB・HIDおよびBluetooth(登録商標)HIDクラスのコントローラ、ゲームパッド、またはその他の周辺機器とインターフェース接続するために、1つ以上のコンピュータ可読ルーチンを含む。システムは、周辺ファームウェア2570(図25において「ゲームパッドファームウェア2570」とされる)をさらに含む。周辺ファームウェア2570は、コントローラ、ゲームパッド、またはその他の周辺機器のためのファームウェアである。システムは、周辺入力リーダ2580(図25において「ゲームパッド入力リーダ2580」とされる)をさらに含む。周辺入力リーダ2580は、コントローラ、ゲームパッド、またはその他の周辺機器によって送信された周辺入力を受信する。周辺入力リーダ2580はさらに、周辺入力を解釈して、ゲームアプリケーション2500に周辺入力を送信する。
図26は、本発明の実施形態に係る、トリガハプティック効果を生成するファームウェアのアーキテクチャ図を示す。ファームウェアアーキテクチャは、ファームウェアをモジュール式にでき、ハードウェア独立コンポーネントをハードウェア依存コンポーネントから分離でき、あるマイクロコンピュータユニットから別のものへの移植を容易にできる。ハードウェア独立層は、機能ポインタによってハードウェア依存層と通信できる。ハードウェア依存層は、実装テンプレートに基づいて、別のマイクロコントローラユニットに移植されることができる。全てのハードウェア依存ルーチンは、異なるポート/ボタン定義を有するハードウェアの内部観察を提供できる基板構成ファイルと、インターフェース接続できる。
図26は、ホストソフトウェア2600(図26において「ホストSW2600」とされる)を含む。ホストソフトウェア2600は、ソフトウェアゲーム、またはその他のタイプのソフトウェアアプリケーションに従って、コントローラ、ゲームパッド、またはその他の周辺機器によって提供される入力を管理する、コンピュータ可読命令のセットを含む。ホストソフトウェア2600は、ソフトウェア空間内にあってもよい。図26は、USB・HIDハンドラ2605をさらに含む。USB・HIDハンドラ2605は、コントローラ、ゲームパッド、またはその他の周辺機器とホストソフトウェア2600との間の全ての通信のための、主要入力点であってもよい。USB・HIDハンドラ2605は、トリガ通信プロトコルにしたがって、ハプティックデータなどのデータをエンコード/デコードするための、1つ以上のコンピュータ可読機能またはルーチンを含むことができる。USB・HIDハンドラ2605はまた、USB通信を取り扱うための、全てのUSB記述子およびルーチンを記憶することもできる。USB・HIDハンドラ2605は、ファームウェア空間内にあってもよい。
図26は、通信インターフェース2610をさらに含む。通信インターフェース2610は、入ってくるパケットを解析し、適切な動作を行うためにコマンドハンドラ2615を呼び出す。図26は、コマンドハンドラ2615をさらに含む。コマンドハンドラ2615は、アクチュエータ上でのハプティック再生を支援するトリガプロトコルによって支援されるコマンドを取り扱うために、1つ以上のコンピュータ可読機能またはルーチンを含むことができる。図26は、ハプティック駆動ハンドラ2620をさらに含む。ハプティック駆動ハンドラ2620は、ハプティック再生エンジンの状態を更新でき、アクチュエータの駆動値を更新し、アクチュエータを制御する。ハプティック駆動ハンドラ2620は、機能ポインタ機構によって、ハードウェア依存性のタイマーハンドラ2635およびアクチュエータ制御2625とインターフェース接続できる。通信インターフェース2610、コマンドハンドラ2615、およびハプティック駆動ハンドラ2620は、全てファームウェア空間内にあってもよい。
図26は、アクチュエータ制御2625(図26において「アクチュエータ駆動制御2625」とされる)をさらに含む。アクチュエータ制御2625は、アクチュエータを制御して駆動値を設定できる。アクチュエータ制御2625は、パルス幅変調生成ユニットとインターフェース接続するための、およびアクチュエータ・ドライバ・チップとインターフェース接続するための、1つ以上のコンピュータ可読機能またはルーチンを含むことができる。図26は、コントローラ入力リーダ2630(図26において「ゲームパッド入力リーダ2630」とされる)をさらに含む。コントローラ入力リーダ2630は、コントローラ、ゲームパッド、またはその他の周辺機器の異なる入力の状態を取得するため、入力をパッケージするため、およびホストソフトウェア2600にさらに送信されるために入力を通信インターフェース2610に送信するため、プラットフォーム依存性の入力リーダ2640とインターフェース接続できる。図26は、タイマーハンドラ2635をさらに含む。タイマーハンドラ2635は、アクチュエータの駆動値を更新するルーチンを呼び出すために周期割り込みを生成する役割を担うタイマーを制御できる、ハードウェア依存層である。図26は、入力リーダ2640をさらに含む。入力リーダ2640は、全てのポテンショメータの状態、およびコントローラ、ゲームパッド、またはその他の周辺機器のデジタル入力を取得できる、ハードウェア依存層である。図26は、周辺およびインターフェースドライバ2650をさらに含む。周辺およびインターフェースドライバ2650は、通信インターフェースおよびハードウェア周辺機器を制御するための、1つ以上のコンピュータ可読機能またはルーチンを含むことができる。アクチュエータ制御2625、コントローラ入力リーダ2630、タイマーハンドラ2635、入力リーダ2640、および周辺およびインターフェースドライバ2650は、全てファームウェア空間内にあってもよい。
図26はマイクロコントローラユニット2660をさらに含み、マイクロコントローラユニット2660はコンピュータ処理ユニット2661、USB2662、割り込みコントローラ2663、タイマー周辺機器2664、およびその他の周辺機器2665などのコンポーネントを含むことができる。これらのコンポーネントの機能は、当業者にとって周知である。図26は、コントローラハードウェア2670(図26において「ゲームパッドハードウェア2670」とされる)をさらに含む。コントローラハードウェア2670の機能もまた、当業者にとって周知である。マイクロコントローラユニット2660、およびコントローラハードウェア2670は、全てファームウェア空間内にあってもよい。さらに、通信インターフェース2610、コマンドハンドラ2615、ハプティック駆動ハンドラ2625、およびコントローラ入力リーダ2630は全てハードウェア独立コンポーネントであってもよく、その一方でUSB・HIDハンドラ2605、アクチュエータ制御2625、タイマーハンドラ2635、入力リーダ2640、周辺およびインターフェースドライバ2650、マイクロコントローラユニット2660、およびコントローラハードウェア2670は全てハードウェア依存コンポーネントであってもよい。
一実施形態において、コントローラ、ゲームパッド、またはその他の周辺機器は、ハプティックデータを伝達するため、および個々のモータまたはアクチュエータを駆動するための、カスタマイズされたプロトコルを有することができる。したがって、オーディオオーサリングコンポーネントからオーディオ効果定義として作成されたハプティック効果を含むオーディオファイルを受信し、オーディオファイル内に含まれるオーディオデータをコントローラ、ゲームパッド、またはその他の周辺機器に送信する、オーディオドライバが提供されてもよい。一実施形態において、オーディオオーサリングコンポーネントは、Avid Technology,Inc.による「Pro Tools(登録商標)」製品であってもよい。オーディオドライバは、起動プロセスの間にロードされることができる。オーディオドライバは、コントローラ、ゲームパッド、またはその他の周辺機器内の全てのモータまたはアクチュエータの使用のためのハプティック効果定義を可能にするため、必要な数のオーディオチャネルを曝すことができる。オーディオドライバはさらにユーザ空間内で作業でき、全てのユーザ空間オーディオ編集/再生アプリケーションにアクセスできてもよい。オーディオドライバはさらに、オーディオオーサリングコンポーネントがコントローラ、ゲームパッド、またはその他の周辺機器に送信したオーディオデータを読み取ることができる。オーディオドライバはさらに、提示されているオーディオデータに対して必要な処理を実行でき、オーディオデータをアクチュエータ駆動値などのハプティックデータに変換できる。オーディオドライバはさらに、通信インターフェースを通じて、ハプティックデータをコントローラ、ゲームパッド、またはその他の周辺機器に通信できる。
実施形態によれば、コントローラ、ゲームパッド、またはその他の周辺機器は、4つのアクチュエータを含むことができる。2つのアクチュエータは、トリガ上のハプティックフィードバックに影響を及ぼすトリガアクチュエータとして使用されることができる。トリガアクチュエータは双方向性であってもよい。プッシュおよびプルの2種類の方向イベントが、トリガアクチュエータによって起こり得る。プッシュおよびプル方向は、トリガ上のユーザの指に対するものであってもよい。他の2つのアクチュエータは、コントローラ、ゲームパッド、またはその他の周辺機器の中の一般ハプティックフィードバックまたは鳴動フィードバックに影響を及ぼす鳴動アクチュエータとして、使用されることができる。鳴動アクチュエータは、一方向性であってもよい。より具体的には、鳴動アクチュエータは、時計回り方向または反時計回り方向のいずれかに回転できるが、しかし両方向には回転できない。運動の方向は、コントローラ、および/またはコントローラの駆動エレクトロニクスに依存できる。
この実施形態において、オーディオドライバのために以下のチャネルレイアウトが選択されることができる。
一実施形態において、16ビットPCMのために選択されたオーディオフォーマットは、44.1KHzであってもよい。オーディオドライバは、オーディオオーサリングコンポーネントからオーディオデータを受信し、オーディオデータをハプティックデータ(例えば駆動値)に変換し、ハプティックデータをコントローラに相応に通信できる。
図27は、本発明の実施形態に係る、例示的なオーディオアーキテクチャを示す。オーディオアーキテクチャはアプリケーションレベルサービス2700を含む。アプリケーションレベルサービス2700は:オーディオキューサービス;オーディオユニット;システムオーディオ;オーディオファイル・ストリーム・サービス;オーディオファイル、変換器、およびコーデックサービス;OpenAL;音楽シーケンスサービス;またはコア・オーディオ・クロックなどのサービスを含むことができる。アプリケーションレベルサービス2700は、ハードウェア抽出層(HAL)2710と通信する。HAL2710の一例は、コア楽器デジタルインターフェース(MIDI)2711である。同様に、HAL2710は入出力(I/O)キット2720、ドライバ2730、およびハードウェア2740と通信する。I/Oキット2720、ドライバ2730、およびハードウェア2740は、カーネル空間内に存在する。アプリケーションレベルサービスがハードウェア2740に送信しようとするオーディオデータを受信するために、オーディオドライバはHAL2710へのプラグインを必要とする可能性があり、ここでプラグインはオーディオデータを受信してハードウェア2740にアクセスできる。オーディオドライバのプラグインは、アプリケーションレベルサービス2700からオーディオデータをリアルタイムで、またはほぼリアルタイムで受信でき、ハプティックデータ(例えば駆動値)にオーディオデータを変換してオーディオデータの5ミリ秒(ms)部分に対してデシメーションを実行できる。例示的なオーディオドライバはさらに、図28と併せて以下により詳細に記載される。
図28は、本発明の実施形態に係る、オーディオ効果をトリガハプティック効果に変換する例示的なオーディオドライバ2800(図28において「ハプティックトリガドライバ2800」とされる)を示す。オーディオドライバ2800は、1つ以上のアプリケーションからオーディオデータ2805を受信する。オーディオデータは、4チャネルオーディオストリームまたは6チャネルオーディオストリームなどのインターリーブ多チャネルオーディオストリームであってもよい。その後、スプリッタ2815は、様々なチャネルのオーディオデータをそれぞれのチャネルバッファに分離する。さらに、オーディオハプティックデータ変換器2825は、各チャネルバッファのオーディオデータをハプティックデータに変換する。より具体的には、一実施形態において、オーディオハプティックデータ変換器2825は、オーディオデータの一部(例えば、5msのオーディオデータ)上のチャネルバッファでピーク検出アルゴリズムを実行し、各チャネルの間引き値アレイ内に値を追加する。オーディオハプティックデータ変換器2825はその後、以下の式に基づいて、個々のアクチュエータの駆動値を計算する:
トリガの駆動値:(プッシュチャネル間引き値−プルチャネル間引き値)→これを[0,255]にスケーリングする
鳴動の駆動値:(間引き値)→これを[128,255]にスケーリングする
続いて、トリガ・プロトコル・パケット・マネージャ2835は、全てのアクチュエータ(例えば4つ全てのアクチュエータ)の駆動値を取得し、トリガ通信プロトコルにしたがって、USB・HIDパケットなどのデータパケットとして駆動値をパッケージする。さらに、XPCハンドラ2845は、トリガ・プロトコル・パケット・マネージャ2835からデータパケットを受信し、データパケットをXPCサービス2810に送信するが、これはバックグラウンドサービスである。2855において、XPCサービス2810はデータパケットを受信し、2865においてUSBインターフェースを通じてデータパケットを2865にコントローラ2820(図28において「ハプティックトリガゲームパッド2820」とされる)に送信する。
図29は、本発明の実施形態に係る、第2フォーマットでトリガハプティック効果を再生成する第1フォーマットでのトリガハプティック効果の生成を示す。実施形態によれば、異なるコントローラ、ゲームパッド、またはその他の周辺機器は異なるタイプのモータまたはアクチュエータを有することができ、これらはトリガにおいて異なるタイプのトリガハプティック効果を生成できる。例えば、モータまたはアクチュエータは、第1コントローラのためのトリガにおける運動感覚フィードバックを生じてもよく、その一方でモータまたはアクチュエータは、第2コントローラのためのトリガにおける振動触知フィードバックを生じてもよい。このため、トリガハプティック効果を第1フォーマットから第2フォーマットに変換する必要がある可能性がある。これは、下層のトリガハプティック効果定義を第1フォーマットから第2フォーマットに変換することによって、実現されることができる。トリガハプティック効果定義を変換することによって、トリガハプティック効果は、異なるコントローラにおいて同等のトリガハプティック効果を生成するハプティック効果定義と同等になるように、徐々に低下できる。
図29は、トリガハプティック効果定義に基づくトリガハプティック効果2900を含む。トリガハプティック効果2900のためのトリガハプティック効果定義は、75msの持続時間にわたって100Hzの周波数のハプティック信号(すなわち、5msプッシュハプティック信号および5msギャップ)を略定義する。図29に示されるように、トリガハプティック効果2900は、別のトリガハプティック効果定義に基づくトリガハプティック効果2910を再生成する。トリガハプティック効果2910のためのトリガハプティック効果定義は、75msの持続時間にわたっておよそ100Hzの周波数の一定のハプティック信号を定義する。このため、実施形態によれば、トリガハプティック効果2900およびトリガハプティック効果2910は「知覚的に等しく(perceptually equal)」、ここでユーザはトリガハプティック効果2900およびトリガハプティック効果2910の両方からの同一の、または略同一のハプティックフィードバックを経験し、「略同一のハプティックフィードバック(substantially identical haptic feedback)」は、再生成されたハプティック効果によって生じたハプティックフィードバックが元のハプティック効果によって生じたハプティックフィードバックと異なったとしても、元のハプティック効果によって生じたハプティックフィードバックと同一または類似の設計意図を実現するか、または別途同一のまたは類似の経験がなされる、再生成されたハプティック効果によって生成されるハプティックフィードバックである。
図30は、本発明の実施形態に係る、第2フォーマットでトリガハプティック効果を再生成する第1フォーマットでのトリガハプティック効果の別の生成を示す。図30は、トリガハプティック効果に基づくトリガハプティック効果3000を含む。図30に示されるように、トリガハプティック効果3010はハプティック効果3000を再生成するが、トリガハプティック効果3010は別のハプティック効果定義に基づいている。トリガハプティック効果3000のためのトリガハプティック効果定義は、攻撃(すなわち立ち上がり)時間および減衰時間を定義する。トリガハプティック効果3010のためのトリガハプティック効果定義は、トリガハプティック効果3000の攻撃時間の長さについて、およびトリガハプティック効果3000の減衰時間の長さについて、より小さいマグニチュードを定義する。
図31は、本発明の実施形態に係る、ハプティックトリガ制御モジュール(図1のハプティックトリガ制御モジュール16など)の機能性のフロー図を示す。一実施形態において、図31の機能性は、メモリまたはその他のコンピュータ可読または有形媒体に記憶されてプロセッサによって実行される、ソフトウェアによって実施される。別の実施形態において、機能性は、ハードウェア(例えば、特定用途向け集積回路(ASIC)、プログラマブル・ゲート・アレイ(PGA)、フィールド・プログラマブル・ゲート・アレイ(FPGA)など)、あるいはハードウェおよびソフトウェアの組み合わせによって、実行されてもよい。特定の実施形態において、機能性のうちのいくつかは省略されることができる。
フローが開始して3110に進む。3110において、オーディオデータを含むオーディオ効果定義は、ハプティックデータを含むハプティック効果定義に変換される。一実施形態において、ハプティック効果定義は、周辺機器のユーザ入力エレメントにおいて経験されることができる、あるいは周辺機器において経験されることができる、ハプティック効果を定義できる。さらに、一実施形態において、ユーザ入力エレメントはトリガであってもよく、周辺機器はコントローラまたはゲームパッドであってもよい。フローはその後3120に進む。3120において、ハプティック効果定義が受信される。一実施形態において、ハプティック効果定義はトリガ効果定義であってもよい。さらに、実施形態において、ハプティック効果定義は異なるフォーマットのハプティック効果を再生成することができる。フローはその後、3130に進む。
3130において、ハプティック効果定義のハプティックデータは、受信した空間化データに基づいて変更される。空間化データは、ハプティック効果の方向;またはハプティック効果の流れのうちの少なくとも1つを含むことができる。特定の実施形態において、ハプティック効果定義のハプティックデータを変更することは、ハプティックデータのマグニチュード;ハプティックデータの周波数;またはハプティックデータの持続時間のうちの少なくとも1つをスケーリングすることを含む。フローはその後3140に進む。3140において、トリガデータが受信される。トリガデータは、周辺機器のトリガの位置;または周辺機器のトリガの範囲のうちの少なくとも1つを含むことができる。フローはその後3150に進む。
3150において、受信したトリガデータに基づいて、トリガ条件に到達したか否かが判断される。フローはその後3160に進む。3160において、ハプティック効果定義のハプティックデータはエンコードされる。特定の実施形態において、ハプティック効果定義のハプティックデータは、オーディオファイルまたはオーディオストリーム内でエンコードされることができる。フローはその後3170に進む。
3170において、ハプティック効果定義のハプティック命令が周辺機器に送信される。特定の実施形態において、ハプティック命令およびハプティック効果定義は、トリガ条件に到達したときに周辺機器に送信されることができる。これらの実施形態において、ハプティック命令はトリガ命令であってもよい。特定の実施形態において、ハプティック効果定義を周辺機器に送信することは、ハプティック効果定義のハプティックデータを周辺機器に直接送信することを含むことができる。別の実施形態において、ハプティック効果定義を周辺機器に送信することは、(1)ハプティック効果定義のハプティックデータを第1フォーマットから第2フォーマットに変換すること;および(2)ハプティック効果定義の変換されたハプティックデータを周辺機器に送信すること、を含むことができる。フローはその後3180に進む。
3180において、ハプティック効果定義のエンコードハプティックデータがデコードされる。特定の実施形態において、エンコードハプティックデータは、プログラマブルクロスオーバーを計算することによってデコードされ得る。フローはその後3190に進む。3190において、ハプティック命令はハプティック出力装置に、周辺機器におけるハプティック効果定義に基づいてハプティック効果を生成させる。特定の実施形態において、ハプティック命令はハプティック出力装置に、周辺機器のユーザ入力エレメントにおけるハプティック効果定義に基づいてハプティック効果を生成させることができる。特定の実施形態において、ハプティック命令はトリガ命令であってもよく、ハプティック効果定義はトリガハプティック効果定義であってもよく、ハプティック出力装置は対象となるハプティック出力装置であってもよく、対象となるハプティック出力装置は周辺機器のトリガにおけるハプティック効果を生成できる。特定の実施形態において、対象となるハプティック出力装置は対象となるアクチュエータであってもよい。これらの実施形態のうちのいくつかにおいて、対象となるアクチュエータは対象となるモータであってもよい。さらに、特定の実施形態において、ハプティック命令は複数のハプティック出力装置に、周辺機器におけるハプティック効果定義に基づいて複数のハプティック効果を生成させることができる。フローはその後終了する。
一実施形態において、先に記載されたように、空間化エンジンはトリガハプティック効果定義などのハプティックデータを受信でき、空間化データに基づいてハプティックデータを変更でき、ここで空間化データは1つ以上のパラメータを含むことができる。このため、空間化エンジンはハプティック効果を局所化または空間化できる。より具体的には、空間化エンジンは、ハプティック効果の距離に基づいてアクチュエータまたはモータ上のハプティック効果をスケーリングまたは減衰することによって、ハプティック効果の距離を伝達するハプティック効果を生成できる。空間化エンジンはさらに、異なるアクチュエータまたはモータ上のハプティック効果を遅延またはスケーリングすることによって、コントローラ、ゲームパッド、またはその他の周辺機器上の運動を伝達するハプティック効果を生成できる。空間化エンジンは、APIまたはライブラリのコンポーネントであってもよく、あるいはコントローラ、ゲームパッド、またはその他の周辺機器のためのファームウェア内に実装されることができる。
図32は、本発明の実施形態に係る、APIまたはライブラリ中に存在する例示的な空間化エンジンを示す。空間化エンジンは、図1のシステム10などのシステム上に実装される。図示される実施形態において、システムは以下のコンポーネントを含む:装置3200(図32において「ゲームコンソール、スマートフォン、タブレット、またはコンピュータ(例えば)3200」とされる)、およびコントローラ3210(図32において「ゲームパッド3210」とされる)。装置3200は、パーソナルコンピュータ、タブレット、スマートフォン、またはコンソール(例えば、ビデオ・ゲーム・コンソール)など、いずれのタイプのコンピュータ装置であってもよい。コントローラ3210は、装置3200に動作可能に接続された周辺機器の一例である。コントローラ3210はビデオ・ゲーム・コントローラであってもよい。一実施形態において、コントローラ3210は図1のコントローラ30、図2、図3、および図4のコントローラ100、ならびに図5のコントローラ520と同一であってもよい。
装置3200は効果ライブラリ3201を含み、効果ライブラリ3201は1つ以上のハプティック効果定義を含むことができる。実施形態において、これらのハプティック効果定義は、空間化エンジンによって変更されていないハプティック効果定義なので、非空間化ハプティック効果定義として認識されることができる。装置3200はゲーム3202をさらに含み、ゲーム3202はシステム上で実行されることができる、ゲームアプリケーションなどのソフトウェアアプリケーションである。実施形態によれば、ゲーム3202は1つ以上の空間化パラメータを生成でき、1つ以上の空間化パラメータは、効果ライブラリ3201内に記憶されたハプティック効果定義によって定義されたハプティック効果の位置、速度、方向および/または流れを定義できる。
装置3200は空間化エンジン3203(図32において「ハプティック空間化エンジン3203」とされる)をさらに含み、ここで効果ライブラリ3201は1つ以上の非空間化ハプティック効果定義を空間化エンジン3203に送信でき、ゲーム3202は1つ以上の空間化パラメータを空間化エンジン3203に送信できる。空間化エンジン3203は、1つ以上の非空間化ハプティック効果定義を受信でき、1つ以上の空間化パラメータに基づいて1つ以上の非空間化ハプティック効果定義を変更できる。実施形態によれば、空間化エンジン3203は、1つ以上のハプティック効果がコントローラ3210の1つ以上のアクチュエータ3211のためにスケーリングまたは減衰されるように、1つ以上の非空間化ハプティック効果定義を変更でき、1つ以上の変更されたハプティック効果定義は、空間化ハプティック効果定義として認識されることができる。言い換えると、空間化エンジン3203は、アクチュエータ3211の各アクチュエータに送信されるハプティック効果定義を変更でき、このためハプティック効果の位置、速度、方向および/または流れの感覚を伝達するために、アクチュエータ3211の各アクチュエータにおいて経験されるハプティック効果を変更できる。空間化エンジン3203は引き続き1つ以上の空間化ハプティック効果定義をコントローラ3210に送信できる。コントローラ3210はその後、各空間化ハプティック効果定義をアクチュエータ3211の各アクチュエータに送信でき、ここで各アクチュエータは空間化ハプティック効果を生成できる。
図33は、本発明の実施形態に係る、コントローラ中に存在する例示的な空間化エンジンを示す。空間化エンジンは、図1のシステム10などのシステム上に実装される。図示される実施形態において、システムは以下のコンポーネントを含む:装置3300(図33において「ゲームコンソール、スマートフォン、タブレット、またはコンピュータ(例えば)3300」とされる)、およびコントローラ3310(図33において「ゲームパッド3310」とされる)。装置3300は、パーソナルコンピュータ、タブレット、スマートフォン、またはコンソール(例えば、ビデオ・ゲーム・コンソール)など、いずれのタイプのコンピュータ装置であってもよい。コントローラ3310は、装置3300に動作可能に接続された周辺機器の一例である。コントローラ3310はビデオ・ゲーム・コントローラであってもよい。一実施形態において、コントローラ3310は図1のコントローラ30、図2、図3、および図4のコントローラ100、ならびに図5のコントローラ520と同一であってもよい。
装置3300は効果ライブラリ3301を含み、効果ライブラリ3301は、非空間化ハプティック効果定義として認識される1つ以上のハプティック効果定義を含むことができる。装置3300はゲーム3302をさらに含み、ゲーム3302はシステム上で実行されることができる、ゲームアプリケーションなどのソフトウェアアプリケーションである。実施形態によれば、ゲーム3302は1つ以上の空間化パラメータを生成でき、1つ以上の空間化パラメータは、効果ライブラリ3301内に記憶されたハプティック効果定義によって定義されたハプティック効果の位置、速度、方向および/または流れを定義できる。
コントローラ3310は空間化エンジン3311(図33において「ハプティック空間化エンジン3311」とされる)を含み、ここで効果ライブラリ3301は1つ以上の非空間化ハプティック効果定義を空間化エンジン3311に送信でき、ゲーム3302は1つ以上の空間化パラメータを空間化エンジン3311に送信できる。空間化エンジン3311は、1つ以上の非空間化ハプティック効果定義を受信でき、1つ以上の空間化パラメータに基づいて1つ以上の非空間化ハプティック効果定義を変更でき、1つ以上の変更されたハプティック効果定義は空間化ハプティック効果定義として認識される。空間化エンジン3311は、引き続き各空間化ハプティック効果定義をアクチュエータ3312の各アクチュエータに送信でき、ここで各アクチュエータは空間化ハプティック効果を生成できる。
このように、一実施形態において、システムは、コントローラまたはゲームパッドなど、周辺機器において経験されるハプティック効果を生成できるハプティック制御アーキテクチャを提供できる。ハプティック効果は、周辺機器のトリガにおいて経験されるトリガハプティック効果であってもよい。トリガハプティック効果は、システムによって受信されたトリガデータに基づいて、ハプティック制御アーキテクチャによってカスタマイズされることができ、トリガデータはトリガの位置および/または範囲を含むことができる。トリガハプティック効果は、トリガハプティック効果が指向性および/または流れの感覚を含むように、トリガハプティック効果が周辺機器の各モータまたはアクチュエータにおいてスケーリングされるように、ハプティック制御アーキテクチャによってさらに空間化されることができる。周辺機器において経験されたハプティックフィードバック、および具体的には周辺機器のトリガにおいて経験されたハプティックフィードバックを、システムによって実行されるゲームアプリケーションに組み込むことによって、より現実的で没入感のあるゲーム体験が提供され得る。
本明細書全体に記載された本発明の特徴、構造、および特性は、いずれか適切な方法で1つ以上の実施形態に組み込まれてもよい。例えば、「一実施形態」、「いくつかの実施形態」、「特定の実施形態」、またはその他類似の語彙の使用は、本明細書全体にわたって、実施形態に関連して記載された特定の特徴、構造、または特性が、本発明の少なくとも1つの実施形態に含まれてもよいという事実を指す。このためフレーズ「一実施形態」、「いくつかの実施形態」、「特定の実施形態」、またはその他類似の語彙の出現は、本明細書全体にわたって全て同じ群の実施形態を指すとは限らず、記載された特徴、構造、または特性はいずれか適切な方法で1つ以上の実施形態に組み込まれてもよい。
上記で論じられたような本発明は、異なる順序のステップで、および/または開示されたものとは異なる構成の要素を用いて実践されてもよいことを、当業者は容易に理解するだろう。したがって、本発明はこれらの好適な実施形態に基づいて記載されてきたものの、本発明の精神および範囲内にありながら、特定の変更、変形、および代替構造が明らかであることは、当業者にとって自明であろう。したがって、本発明の境界を決定するために、添付の請求項が参照されるべきである。

Claims (30)

  1. プロセッサによって実行されたときに、周辺機器において経験されるハプティック効果を前記プロセッサに制御させる命令を記憶する非一時的コンピュータ可読媒体であって、前記ハプティック効果を制御するステップは、
    ハプティックデータを有するハプティック効果定義を受信するステップと、
    前記周辺機器のトリガの位置、または前記周辺機器の前記トリガの範囲のうちの少なくとも1つを有するトリガデータを受信するステップと、
    受信した前記トリガデータに基づいて、トリガ条件に到達したか否かを判断するステップと、
    前記トリガ条件に到達したときに、ハプティック命令および前記ハプティック効果定義を前記周辺機器に送信するステップと、
    前記ハプティック命令に応じて、前記周辺機器における前記ハプティック効果定義に基づいて1つ以上のハプティック効果を1つ以上のハプティック出力装置に生成させるステップと、を有する、非一時的コンピュータ可読媒体。
  2. 前記ハプティック効果を制御するステップは、前記ハプティック効果の方向、または前記ハプティック効果の流れのうちの少なくとも1つを有する、受信した空間化方向に基づいて、前記ハプティック効果定義の前記ハプティックデータを変更するステップをさらに有する、請求項1に記載の非一時的コンピュータ可読媒体。
  3. 前記ハプティック効果定義の前記ハプティックデータを変更するステップは、前記ハプティックデータのマグニチュード、前記ハプティックデータの周波数、または前記ハプティックデータの持続時間のうちの少なくとも1つをスケーリングするステップを有する、請求項2に記載の非一時的コンピュータ可読媒体。
  4. 前記ハプティック効果定義を前記周辺機器に送信するステップは、前記ハプティック効果定義の前記ハプティックデータを前記周辺機器に直接送信するステップをさらに有する、請求項1に記載の非一時的コンピュータ可読媒体。
  5. 前記ハプティック効果定義を前記周辺機器に送信するステップは、
    前記ハプティック効果定義の前記ハプティックデータを第1フォーマットから第2フォーマットに変換するステップと、
    前記ハプティック効果定義の変換されたハプティックデータを前記周辺機器に送信するステップと、をさらに有する、請求項1に記載の非一時的コンピュータ可読媒体。
  6. 前記ハプティック効果を制御するステップは、オーディオフォーマットを有するファイルまたはストリーム内の前記ハプティック効果定義の前記ハプティックデータをエンコードするステップをさらに有する、請求項1に記載の非一時的コンピュータ可読媒体。
  7. 前記ハプティック効果を制御するステップは、前記ファイルまたはストリーム内のエンコードされた前記ハプティックデータをデコードするステップをさらに有する、請求項6に記載の非一時的コンピュータ可読媒体。
  8. エンコードされた前記ハプティックデータをデコードするステップは、プログラマブルクロスオーバーを計算するステップをさらに有する、請求項7に記載の非一時的コンピュータ可読媒体。
  9. 前記ハプティック効果定義は、異なるフォーマットのハプティック効果を再生成する、請求項1に記載の非一時的コンピュータ可読媒体。
  10. 前記周辺機器は、コントローラまたはゲームパッドを備える、請求項1に記載の非一時的コンピュータ可読媒体。
  11. 前記1つ以上のハプティック出力装置に前記1つ以上のハプティック効果を生成させるステップは、前記1つ以上のハプティック出力装置に、前記周辺機器のユーザ入力エレメントにおける前記1つ以上のハプティック効果を生成させるステップをさらに有する、請求項1に記載の非一時的コンピュータ可読媒体。
  12. 前記ハプティック効果定義は、トリガハプティック効果定義を有し、
    前記ハプティック命令は、トリガ命令を有し、
    前記ユーザ入力エレメントは、前記トリガを有し、
    前記1つ以上のハプティック出力装置は、1つ以上の対象となるハプティック出力装置を備える、
    請求項11に記載の非一時的コンピュータ可読媒体。
  13. 前記ハプティック効果を制御するステップは、オーディオデータを有するオーディオ効果定義を前記ハプティック効果定義に変換するステップをさらに有する、請求項1に記載の非一時的コンピュータ可読媒体。
  14. 前記ハプティック出力装置は、アクチュエータを備える、請求項1に記載の非一時的コンピュータ可読媒体。
  15. 前記アクチュエータは、モータを備える、請求項14に記載の非一時的コンピュータ可読媒体。
  16. 周辺機器のユーザ入力エレメントにおいて経験されるハプティック効果を制御するためのコンピュータ実施方法であって、前記コンピュータ実施方法は、
    ハプティックデータを有するハプティック効果定義を受信するステップと、
    前記周辺機器のトリガの位置、または前記周辺機器の前記トリガの範囲のうちの少なくとも1つを有するトリガデータを受信するステップと、
    受信した前記トリガデータに基づいて、トリガ条件に到達したか否かを判断するステップと、
    前記トリガ条件に到達したときに、ハプティック命令および前記ハプティック効果定義を前記周辺機器に送信するステップと、
    前記ハプティック命令に応じて、前記周辺機器の前記ユーザ入力エレメントにおける前記ハプティック効果定義に基づく1つ以上のハプティック効果を1つ以上のハプティック出力装置に生成させるステップと、を有する、コンピュータ実施方法。
  17. 前記ハプティック効果を制御するステップは、前記ハプティック効果の方向、または前記ハプティック効果の流れのうちの少なくとも1つを有する、受信した空間化方向に基づいて、前記ハプティック効果定義の前記ハプティックデータを変更するステップをさらに有する、請求項16に記載のコンピュータ実施方法。
  18. 前記ハプティック効果定義の前記ハプティックデータを変更するステップは、前記ハプティックデータのマグニチュード、前記ハプティックデータの周波数、または前記ハプティックデータの持続時間のうちの少なくとも1つをスケーリングするステップを有する、請求項17に記載のコンピュータ実施方法。
  19. 前記ハプティック効果定義を前記周辺機器に送信するステップは、前記ハプティック効果定義の前記ハプティックデータを前記周辺機器に直接送信するステップをさらに有する、請求項16に記載のコンピュータ実施方法。
  20. 前記ハプティック効果定義を前記周辺機器に送信するステップは、
    前記ハプティック効果定義の前記ハプティックデータを第1フォーマットから第2フォーマットに変換するステップと、
    前記ハプティック効果定義の変換されたハプティックデータを前記周辺機器に送信するステップと、をさらに有する、請求項16に記載のコンピュータ実施方法。
  21. 周辺機器のユーザ入力エレメントにおいて経験されるハプティック効果を制御するためのシステムであって、前記システムは、
    ハプティックトリガ制御モジュールを記憶するように構成されたメモリと、
    前記メモリに記憶された前記ハプティックトリガ制御モジュールを実行するように構成されたプロセッサと、を備え、
    前記プロセッサは、前記ハプティックトリガ制御モジュールを実行するとき、ハプティックデータを有するハプティック効果定義を受信するように構成されており、
    前記プロセッサは、さらに、前記ハプティックトリガ制御モジュールを実行するとき、前記周辺機器のトリガの位置、または前記周辺機器の前記トリガの範囲のうちの少なくとも1つを有するトリガデータを受信するように構成され、
    前記プロセッサは、さらに、前記ハプティックトリガ制御モジュールを実行するとき、受信した前記トリガデータに基づいてトリガ条件に到達したか否かを判断するように構成され、
    前記プロセッサは、さらに、前記ハプティックトリガ制御モジュールを実行するとき、前記トリガ条件に到達したときにハプティック命令および前記ハプティック効果定義を前記周辺機器に送信するように構成され、
    前記プロセッサは、さらに、前記ハプティックトリガ制御モジュールを実行するとき、前記ハプティック命令に応じて、前記周辺機器の前記ユーザ入力エレメントにおける前記ハプティック効果定義に基づいて1つ以上のハプティック効果を1つ以上のハプティック出力装置に生成させるように構成されている、システム。
  22. 前記プロセッサは、さらに、前記ハプティックトリガ制御モジュールを実行するとき、前記ハプティック効果の方向、または前記ハプティック効果の流れのうちの少なくとも1つを有する、受信した空間化方向に基づいて、前記ハプティック効果定義の前記ハプティックデータを変更するように構成されている、請求項21に記載のシステム。
  23. 前記プロセッサは、さらに、前記ハプティックトリガ制御モジュールを実行するとき、前記ハプティックデータのマグニチュード、前記ハプティックデータの周波数、または前記ハプティックデータの持続時間のうちの少なくとも1つをスケーリングするように構成されている、請求項22に記載のシステム。
  24. 前記プロセッサは、さらに、前記ハプティックトリガ制御モジュールを実行するとき、前記ハプティック効果定義の前記ハプティックデータを前記周辺機器に直接送信するように構成されている、請求項21に記載のシステム。
  25. 前記プロセッサは、さらに、前記ハプティックトリガ制御モジュールを実行するとき、前記ハプティック効果定義の前記ハプティックデータを第1フォーマットから第2フォーマットに変換するように構成されており、
    前記プロセッサはさらに、前記ハプティックトリガ制御モジュールを実行するとき、前記ハプティック効果定義の変換されたハプティックデータを前記周辺機器に送信するように構成されている、請求項21に記載のシステム。
  26. プロセッサによって実行されたときに、周辺機器において経験されるハプティック効果を前記プロセッサに制御させる命令を記憶する非一時的コンピュータ可読媒体であって、前記ハプティック効果を制御するステップは、
    ハプティックデータを有するハプティック効果定義を受信するステップと、
    前記ハプティック効果の方向、または前記ハプティック効果の流れのうちの少なくとも1つを有する、受信した空間化データに基づいて、前記ハプティック効果定義の前記ハプティックデータを変更するステップと、
    ハプティック命令および前記ハプティック効果定義を前記周辺機器に送信するステップと、
    前記ハプティック命令に応じて、前記周辺機器における前記ハプティック効果定義に基づいて1つ以上のハプティック効果を1つ以上のハプティック出力装置に生成させるステップと、を有する、非一時的コンピュータ可読媒体。
  27. 前記ハプティック効果定義の前記ハプティックデータを変更するステップは、前記ハプティックデータのマグニチュード、前記ハプティックデータの周波数、または前記ハプティックデータの持続時間のうちの少なくとも1つをスケーリングするステップを有する、請求項26に記載の非一時的コンピュータ可読媒体。
  28. 前記ハプティック効果を制御するステップは、オーディオデータを有するオーディオ効果定義を前記ハプティック効果定義に変換するステップをさらに有する、請求項26に記載の非一時的コンピュータ可読媒体。
  29. 前記1つ以上のハプティック出力装置に前記1つ以上のハプティック効果を生成させるステップは、前記周辺機器のユーザ入力エレメントにおける前記1つ以上のハプティック効果を前記1つ以上のハプティック出力装置に生成させるステップをさらに有する、請求項26に記載の非一時的コンピュータ可読媒体。
  30. 前記ユーザ入力エレメントは、デジタルボタン、アナログボタン、バンパ、方向パッド、アナログまたはデジタルスティック、ハンドル、あるいはトリガのうちの1つを備える、請求項29に記載の非一時的コンピュータ可読媒体。
JP2018227893A 2013-11-14 2018-12-05 ハプティックトリガ制御システム Pending JP2019040636A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361904342P 2013-11-14 2013-11-14
US61/904,342 2013-11-14
US14/539,111 US9619029B2 (en) 2013-11-14 2014-11-12 Haptic trigger control system
US14/539,111 2014-11-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017140619A Division JP6449946B2 (ja) 2013-11-14 2017-07-20 ハプティックトリガ制御システム

Publications (1)

Publication Number Publication Date
JP2019040636A true JP2019040636A (ja) 2019-03-14

Family

ID=51904607

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2014230673A Active JP6181629B2 (ja) 2013-11-14 2014-11-13 ハプティックトリガ制御システム
JP2017140619A Active JP6449946B2 (ja) 2013-11-14 2017-07-20 ハプティックトリガ制御システム
JP2018227893A Pending JP2019040636A (ja) 2013-11-14 2018-12-05 ハプティックトリガ制御システム

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2014230673A Active JP6181629B2 (ja) 2013-11-14 2014-11-13 ハプティックトリガ制御システム
JP2017140619A Active JP6449946B2 (ja) 2013-11-14 2017-07-20 ハプティックトリガ制御システム

Country Status (5)

Country Link
US (2) US9619029B2 (ja)
EP (2) EP2873447B1 (ja)
JP (3) JP6181629B2 (ja)
KR (2) KR101819789B1 (ja)
CN (1) CN104635921B (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619029B2 (en) * 2013-11-14 2017-04-11 Immersion Corporation Haptic trigger control system
US9164587B2 (en) 2013-11-14 2015-10-20 Immersion Corporation Haptic spatialization system
US10675532B2 (en) 2014-04-21 2020-06-09 Steelseries Aps Variable actuators of an accessory and methods thereof
US10022622B2 (en) 2014-04-21 2018-07-17 Steelseries Aps Programmable actuation inputs of an accessory and methods thereof
US9715279B2 (en) * 2014-06-09 2017-07-25 Immersion Corporation Haptic devices and methods for providing haptic effects via audio tracks
US9588586B2 (en) 2014-06-09 2017-03-07 Immersion Corporation Programmable haptic devices and methods for modifying haptic strength based on perspective and/or proximity
US10185396B2 (en) 2014-11-12 2019-01-22 Immersion Corporation Haptic trigger modification system
US10254838B2 (en) 2014-12-23 2019-04-09 Immersion Corporation Architecture and communication protocol for haptic output devices
CN104998409A (zh) * 2015-06-11 2015-10-28 将军兄弟有限公司 振动反馈系统及振动反馈方法
JP6834962B2 (ja) * 2015-09-08 2021-02-24 ソニー株式会社 情報処理装置、方法およびコンピュータプログラム
US9990040B2 (en) * 2015-09-25 2018-06-05 Immersion Corporation Haptic CAPTCHA
US9981182B2 (en) 2016-02-12 2018-05-29 Disney Enterprises, Inc. Systems and methods for providing immersive game feedback using haptic effects
US10556175B2 (en) 2016-06-10 2020-02-11 Immersion Corporation Rendering a haptic effect with intra-device mixing
US20180004291A1 (en) * 2016-07-01 2018-01-04 Immersion Corporation Cloud Connected Haptic Platform
US10916123B2 (en) 2016-08-23 2021-02-09 Sony Corporation Control system, control apparatus, and control method
US10349196B2 (en) * 2016-10-03 2019-07-09 Nokia Technologies Oy Method of editing audio signals using separated objects and associated apparatus
US10297120B2 (en) * 2016-12-13 2019-05-21 Disney Enterprises, Inc. Haptic effect generation system
US20180232051A1 (en) * 2017-02-16 2018-08-16 Immersion Corporation Automatic localized haptics generation system
US10773159B2 (en) 2017-06-01 2020-09-15 Microsoft Technology Licensing, Llc Input device with linear geared feedback trigger
US10850190B2 (en) 2017-06-01 2020-12-01 Microsoft Technology Licensing, Llc Input device with clutched force-feedback trigger
US10737172B2 (en) 2017-06-01 2020-08-11 Microsoft Technology Licensing, Llc Input device with force sensor feedback trigger
US10384123B2 (en) 2017-06-01 2019-08-20 Microsoft Technology Licensing, Llc Motor-driven adjustable-tension trigger
US10226697B2 (en) 2017-06-01 2019-03-12 Microsoft Technology Licensing, Llc Input device with sector geared feedback trigger
DE112017007629T5 (de) * 2017-06-27 2020-05-07 Ford Global Technologies, Llc Betrieb von haptischen vorrichtungen
KR102443324B1 (ko) 2017-09-15 2022-09-14 풔스 디멘션 에스에이알엘 진동-촉각력 피드백 방법 및 디바이스
US10955922B2 (en) * 2017-11-29 2021-03-23 International Business Machines Corporation Simulating tactile information for haptic technology
JP7035090B2 (ja) * 2018-01-19 2022-03-14 株式会社ソニー・インタラクティブエンタテインメント 操作入力装置及びプログラム
WO2019163260A1 (ja) * 2018-02-20 2019-08-29 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP6990769B2 (ja) * 2018-07-12 2022-01-12 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置及びコントローラ装置の制御方法
WO2020035018A1 (zh) * 2018-08-16 2020-02-20 上海众链科技有限公司 一种游戏手柄及其用途
CN109005424B (zh) * 2018-08-17 2021-07-16 腾讯科技(成都)有限公司 对象的控制方法、装置及系统、存储介质、电子装置
CN112955861A (zh) * 2018-09-04 2021-06-11 谷歌有限责任公司 用于预缓存特殊效果的故事阅读器进度的检测
US10800433B2 (en) 2018-09-14 2020-10-13 Honda Motor Co., Ltd. Seat haptic system and method of equalizing haptic output
US10345758B2 (en) * 2018-10-07 2019-07-09 Rising Star Pathway, a California Corporation Processor controlled energy harvester based on oscillating weight type energy collectors
US11294431B2 (en) 2019-08-02 2022-04-05 Dell Products L.P. Synchronized dual axis pivot hinge
US10817082B1 (en) 2019-08-02 2020-10-27 Dell Products L.P. Information handling system flexible display smart stylus
US11024224B2 (en) 2019-08-02 2021-06-01 Dell Products L.P. Information handling system flexible display operating condition monitoring and management
US11586243B2 (en) 2019-08-02 2023-02-21 Dell Products L.P. Information handling system flexible display rotational orientation monitoring and management
US11243578B2 (en) 2019-08-02 2022-02-08 Dell Products L.P. Gear synchronized dual axis pivot hinge
US11468750B2 (en) * 2019-10-14 2022-10-11 Lofelt Gmbh Authoring an immersive haptic data file using an authoring tool
US11097185B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Detachable information handling system game controller management
US11260288B2 (en) 2019-12-31 2022-03-01 Dell Products L.P. Disassemblable information handling system game controller
US11338197B2 (en) 2019-12-31 2022-05-24 Dell Products L.P. Information handling system controller distributable hardware and logic management
US11013991B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller adaptive haptic feedback
US11331567B2 (en) 2019-12-31 2022-05-17 Dell Products L.P. Information handling system and game controller trigger
US11097184B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Information handling system controller illumination
US11260291B2 (en) 2019-12-31 2022-03-01 Dell Products L.P. Information handling system and detachable game controller
USD928113S1 (en) 2019-12-31 2021-08-17 Dell Products L.P. Portable information handling system with detachable gaming controllers
US11013987B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller scalable interface
KR20210088371A (ko) * 2020-01-06 2021-07-14 주식회사 비햅틱스 촉각자극 제공 시스템
KR20210114059A (ko) * 2020-06-30 2021-09-17 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 비디오 처리 방법, 장치, 전자 기기 및 저장 매체
US11277084B2 (en) * 2020-07-14 2022-03-15 Qualcomm Incorporated Driver for haptics and camera voice coil motor applications
KR102608388B1 (ko) * 2020-10-20 2023-12-01 주식회사 씨케이머티리얼즈랩 햅틱 데이터 생성 장치 및 방법, 햅틱 효과 제공 장치 및 방법
US11571617B2 (en) * 2020-12-18 2023-02-07 Dell Products, Lp System and method for coordinating gaming haptic response across peripheral device ecosystem
GB2615361B (en) * 2022-02-08 2024-05-29 Sony Interactive Entertainment Europe Ltd Method for generating feedback in a multimedia entertainment system
WO2023215975A1 (en) * 2022-05-09 2023-11-16 D-Box Technologies Inc. Method and system for adaptive motion simulation in gaming
GB2624179A (en) * 2022-11-08 2024-05-15 Sony Interactive Entertainment Inc Methods and systems for providing in-game navigation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003199974A (ja) * 2000-09-28 2003-07-15 Immersion Corp 触覚フィードバックインターフェースデバイス用の方向接触フィードバック
JP2009513077A (ja) * 2005-10-19 2009-03-26 イマージョン コーポレーション メディアトランスポートストリームにおけるハプティック効果データの同期
US20100173686A1 (en) * 2009-01-06 2010-07-08 Immersion Corporation Programmable Game-Based Haptic Enabled Gun Controller
JP2011141890A (ja) * 2001-10-09 2011-07-21 Immersion Corp コンピュータ装置からのオーディオ出力に基づく触覚フィードバック感覚
US20130194085A1 (en) * 2012-01-30 2013-08-01 Microsoft Corporation Force feedback triggers
JP2013218327A (ja) * 2012-04-04 2013-10-24 Immersion Corp 複数のアクチュエータを用いた音からハプティック効果への変換システム

Family Cites Families (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6285356B1 (en) 1999-02-19 2001-09-04 Brad A. Armstrong Displacement joystick with compression-sensitive sensors
US5473126A (en) 1994-01-31 1995-12-05 Wu; Donald Joystick switch assembly
US5691898A (en) 1995-09-27 1997-11-25 Immersion Human Interface Corp. Safe and low cost computer peripherals with force feedback for consumer applications
US5959613A (en) 1995-12-01 1999-09-28 Immersion Corporation Method and apparatus for shaping force signals for a force feedback device
US6219032B1 (en) 1995-12-01 2001-04-17 Immersion Corporation Method for providing force feedback to a user of an interface device based on interactions of a controlled cursor with graphical elements in a graphical user interface
US6169540B1 (en) 1995-12-01 2001-01-02 Immersion Corporation Method and apparatus for designing force sensations in force feedback applications
US6028593A (en) 1995-12-01 2000-02-22 Immersion Corporation Method and apparatus for providing simulated physical interactions within computer generated environments
US6005551A (en) * 1997-04-25 1999-12-21 Microsoft Corporation Offline force effect rendering
US6252583B1 (en) 1997-11-14 2001-06-26 Immersion Corporation Memory and force output management for a force feedback system
US6563487B2 (en) 1998-06-23 2003-05-13 Immersion Corporation Haptic feedback for directional control pads
US6429846B2 (en) 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US6184868B1 (en) * 1998-09-17 2001-02-06 Immersion Corp. Haptic feedback control devices
JP2000195370A (ja) 1998-12-28 2000-07-14 Sony Computer Entertainment Inc 反力発生装置
US6424356B2 (en) 1999-05-05 2002-07-23 Immersion Corporation Command of force sensations in a forceback system using force effect suites
JP4587243B2 (ja) * 1999-08-31 2010-11-24 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置、エンタテインメントシステム、記録媒体及び振動設定方法
DE20080209U1 (de) 1999-09-28 2001-08-09 Immersion Corp Steuerung von haptischen Empfindungen für Schnittstellenvorrichtungen mit Vibrotaktiler Rückkopplung
US7965276B1 (en) 2000-03-09 2011-06-21 Immersion Corporation Force output adjustment in force feedback devices based on user contact
US6710764B1 (en) 2000-05-09 2004-03-23 Logitech Europe S.A. Method and system for processing force feedback effects generated at a host for playback at a physical interaction device
JP2003534620A (ja) 2000-05-24 2003-11-18 イマージョン コーポレイション 電気活性ポリマーを利用する触覚装置及び触覚方法
CN100468294C (zh) 2000-09-28 2009-03-11 伊默逊股份有限公司 用于触觉反馈接口设备的有方向触觉反馈
US7182691B1 (en) * 2000-09-28 2007-02-27 Immersion Corporation Directional inertial tactile feedback using rotating masses
US7194287B2 (en) 2001-07-25 2007-03-20 Matsushita Electric Industrial Co., Ltd. Electric-mechanical-acoustic-transducer and portable communication device including the same
CN102609088B (zh) 2001-11-01 2015-12-16 意美森公司 用于提供触感的方法和系统
JP2005056267A (ja) 2003-08-06 2005-03-03 Sony Corp 力覚フィードバック装置
JP4111278B2 (ja) 2003-11-20 2008-07-02 独立行政法人産業技術総合研究所 触力覚情報提示システム
US8164573B2 (en) 2003-11-26 2012-04-24 Immersion Corporation Systems and methods for adaptive interpretation of input from a touch-sensitive input device
US9948885B2 (en) 2003-12-12 2018-04-17 Kurzweil Technologies, Inc. Virtual encounters
US7791588B2 (en) 2003-12-22 2010-09-07 Immersion Corporation System and method for mapping instructions associated with haptic feedback
US7667687B2 (en) 2003-12-30 2010-02-23 Immersion Corporation Resistive and hybrid control schemes for haptic feedback interface devices
EP1805585B1 (en) 2004-10-08 2017-08-16 Immersion Corporation Haptic feedback for button and scrolling action simulation in touch input devices
JP5275025B2 (ja) * 2005-06-27 2013-08-28 コアクティヴ・ドライヴ・コーポレイション 触覚フィードバック用の同期式振動装置
WO2007117418A2 (en) 2006-03-31 2007-10-18 Wms Gaming Inc. Portable wagering game with vibrational cues and feedback mechanism
US8378964B2 (en) 2006-04-13 2013-02-19 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
US8000825B2 (en) 2006-04-13 2011-08-16 Immersion Corporation System and method for automatically producing haptic events from a digital audio file
US7979146B2 (en) 2006-04-13 2011-07-12 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
US20070265077A1 (en) * 2006-04-27 2007-11-15 Microsoft Corporation Haptic feedback for peripheral devices
JP2007331066A (ja) * 2006-06-15 2007-12-27 Canon Inc 接触提示装置及び方法
US9370704B2 (en) 2006-08-21 2016-06-21 Pillar Vision, Inc. Trajectory detection and feedback system for tennis
JP5091488B2 (ja) 2007-01-16 2012-12-05 株式会社ソニー・コンピュータエンタテインメント コントローラ及び情報処理システム
US8621348B2 (en) 2007-05-25 2013-12-31 Immersion Corporation Customizing haptic effects on an end user device
US20090079690A1 (en) * 2007-09-21 2009-03-26 Sony Computer Entertainment America Inc. Method and apparatus for enhancing entertainment software through haptic insertion
US20090088659A1 (en) 2007-09-27 2009-04-02 Immersion Corporation Biological Sensing With Haptic Feedback
US8117364B2 (en) 2007-11-13 2012-02-14 Microsoft Corporation Enhanced protocol and architecture for low bandwidth force feedback game controller
JP5016117B2 (ja) 2008-01-17 2012-09-05 アーティキュレイト テクノロジーズ インコーポレーティッド 口腔内触知フィードバックのための方法及び装置
JP2009233108A (ja) * 2008-03-27 2009-10-15 Namco Bandai Games Inc ゲーム装置用銃型コントローラ
JP2011524060A (ja) 2008-06-03 2011-08-25 テラダイン、 インコーポレイテッド 記憶デバイスを処理する方法
JP5217929B2 (ja) 2008-11-13 2013-06-19 ソニー株式会社 割込検出装置および情報処理システム
US20100141408A1 (en) 2008-12-05 2010-06-10 Anthony Stephen Doy Audio amplifier apparatus to drive a panel to produce both an audio signal and haptic feedback
US8057290B2 (en) * 2008-12-15 2011-11-15 Disney Enterprises, Inc. Dance ring video game
US9927873B2 (en) 2009-03-12 2018-03-27 Immersion Corporation Systems and methods for using textures in graphical user interface widgets
US8279053B2 (en) * 2009-05-19 2012-10-02 Korea Institute Of Science And Technology Apparatus and method for vibrotactile mobile device
US9370459B2 (en) 2009-06-19 2016-06-21 Andrew Mahoney System and method for alerting visually impaired users of nearby objects
KR20110005587A (ko) 2009-07-10 2011-01-18 삼성전자주식회사 휴대 단말의 진동 발생 방법 및 장치
KR20170026642A (ko) * 2009-07-22 2017-03-08 임머숀 코퍼레이션 제어 제스처의 입력 동안에 가상 장비의 제어에 관한 복합 햅틱 자극을 제공하기 위한 시스템 및 방법
US8540571B2 (en) 2010-03-31 2013-09-24 Immersion Corporation System and method for providing haptic stimulus based on position
WO2011127379A2 (en) 2010-04-09 2011-10-13 University Of Florida Research Foundation Inc. Interactive mixed reality system and uses thereof
CN105824413B (zh) * 2010-04-23 2019-05-21 意美森公司 用于提供触觉效果的系统和方法
WO2012001208A1 (en) * 2010-06-28 2012-01-05 Nokia Corporation Haptic surface compression
US9223431B2 (en) 2010-09-17 2015-12-29 Blackberry Limited Touch-sensitive display with depression detection and method
US9448626B2 (en) 2011-02-11 2016-09-20 Immersion Corporation Sound to haptic effect conversion system using amplitude value
US8717152B2 (en) 2011-02-11 2014-05-06 Immersion Corporation Sound to haptic effect conversion system using waveform
US8723820B1 (en) * 2011-02-16 2014-05-13 Google Inc. Methods and apparatus related to a haptic feedback drawing device
US9083821B2 (en) * 2011-06-03 2015-07-14 Apple Inc. Converting audio to haptic feedback in an electronic device
US8480491B2 (en) 2011-06-17 2013-07-09 Ironburg Inventions Ltd. Game controller
US9462262B1 (en) 2011-08-29 2016-10-04 Amazon Technologies, Inc. Augmented reality environment with environmental condition control
US9523626B2 (en) 2011-09-29 2016-12-20 Pcb Piezotronics, Inc. Hand-held vibration sensor
US8894491B2 (en) * 2011-12-09 2014-11-25 Microsoft Corporation Multi-stage variable resistance trigger
KR102024006B1 (ko) 2012-02-10 2019-09-24 삼성전자주식회사 진동 장치간 진동 전달을 제어하는 장치 및 방법
US9513706B2 (en) 2012-02-15 2016-12-06 Immersion Corporation High definition haptic effects generation using primitives
US10852093B2 (en) 2012-05-22 2020-12-01 Haptech, Inc. Methods and apparatuses for haptic systems
US9874964B2 (en) 2012-06-04 2018-01-23 Sony Interactive Entertainment Inc. Flat joystick controller
US8860563B2 (en) 2012-06-14 2014-10-14 Immersion Corporation Haptic effect conversion system using granular synthesis
US9368005B2 (en) 2012-08-31 2016-06-14 Immersion Corporation Sound to haptic effect conversion system using mapping
US9092059B2 (en) 2012-10-26 2015-07-28 Immersion Corporation Stream-independent sound to haptic effect conversion system
FR2999741B1 (fr) 2012-12-17 2015-02-06 Centre Nat Rech Scient Systeme haptique pour faire interagir sans contact au moins une partie du corps d'un utilisateur avec un environnement virtuel
US20140320629A1 (en) * 2013-01-24 2014-10-30 University Of Washington Through Its Center For Commericialization Haptically-Enabled Co-Robotics for Underwater Tasks
US8754757B1 (en) 2013-03-05 2014-06-17 Immersion Corporation Automatic fitting of haptic effects
EP3211511A1 (en) 2013-03-15 2017-08-30 Immersion Corporation Programmable haptic peripheral
US9367136B2 (en) 2013-04-12 2016-06-14 Microsoft Technology Licensing, Llc Holographic object feedback
CN104107539B (zh) 2013-04-22 2019-12-03 伊默森公司 具有触感使能触发器的游戏设备
US9519346B2 (en) 2013-05-17 2016-12-13 Immersion Corporation Low-frequency effects haptic conversion system
US9908048B2 (en) 2013-06-08 2018-03-06 Sony Interactive Entertainment Inc. Systems and methods for transitioning between transparent mode and non-transparent mode in a head mounted display
US9811854B2 (en) 2013-07-02 2017-11-07 John A. Lucido 3-D immersion technology in a virtual store
EP3014394B1 (en) 2013-07-05 2022-06-22 Rubin, Jacob A. Whole-body human-computer interface
US9619980B2 (en) 2013-09-06 2017-04-11 Immersion Corporation Systems and methods for generating haptic effects associated with audio signals
US9898085B2 (en) 2013-09-06 2018-02-20 Immersion Corporation Haptic conversion system using segmenting and combining
US9711014B2 (en) 2013-09-06 2017-07-18 Immersion Corporation Systems and methods for generating haptic effects associated with transitions in audio signals
US9898086B2 (en) 2013-09-06 2018-02-20 Immersion Corporation Systems and methods for visual processing of spectrograms to generate haptic effects
US9514620B2 (en) 2013-09-06 2016-12-06 Immersion Corporation Spatialized haptic feedback based on dynamically scaled values
US10599218B2 (en) 2013-09-06 2020-03-24 Immersion Corporation Haptic conversion system using frequency shifting
US9576445B2 (en) 2013-09-06 2017-02-21 Immersion Corp. Systems and methods for generating haptic effects associated with an envelope in audio signals
US9630105B2 (en) 2013-09-30 2017-04-25 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
US9164587B2 (en) * 2013-11-14 2015-10-20 Immersion Corporation Haptic spatialization system
US9619029B2 (en) * 2013-11-14 2017-04-11 Immersion Corporation Haptic trigger control system
US9392094B2 (en) 2014-01-15 2016-07-12 Sony Corporation Mobile electronic wearable device and method for providing haptic notification
US9551873B2 (en) 2014-05-30 2017-01-24 Sony Interactive Entertainment America Llc Head mounted device (HMD) system having interface with mobile computing device for rendering virtual reality content
JP6355978B2 (ja) * 2014-06-09 2018-07-11 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
US9773389B2 (en) 2014-07-28 2017-09-26 Ck Materials Lab Co., Ltd. Tactile information supply module
US9645646B2 (en) 2014-09-04 2017-05-09 Intel Corporation Three dimensional contextual feedback wristband device
US9799177B2 (en) 2014-09-23 2017-10-24 Intel Corporation Apparatus and methods for haptic covert communication
CN105653026A (zh) * 2014-11-12 2016-06-08 意美森公司 触觉控制器
US10185396B2 (en) * 2014-11-12 2019-01-22 Immersion Corporation Haptic trigger modification system
US9174134B1 (en) * 2014-11-12 2015-11-03 Immersion Corporation Peripheral device with haptic diminishment prevention component
US9922518B2 (en) 2014-12-11 2018-03-20 Elwha Llc Notification of incoming projectiles
US20160170508A1 (en) 2014-12-11 2016-06-16 Toyota Motor Engineering & Manufacturing North America, Inc. Tactile display devices
US9870718B2 (en) 2014-12-11 2018-01-16 Toyota Motor Engineering & Manufacturing North America, Inc. Imaging devices including spacing members and imaging devices including tactile feedback devices
US10166466B2 (en) 2014-12-11 2019-01-01 Elwha Llc Feedback for enhanced situational awareness
US10254838B2 (en) * 2014-12-23 2019-04-09 Immersion Corporation Architecture and communication protocol for haptic output devices
US10268286B2 (en) * 2014-12-23 2019-04-23 Immersion Corporation Controlling power distribution to haptic output devices
US10073516B2 (en) 2014-12-29 2018-09-11 Sony Interactive Entertainment Inc. Methods and systems for user interaction within virtual reality scene using head mounted display
US9746921B2 (en) 2014-12-31 2017-08-29 Sony Interactive Entertainment Inc. Signal generation and detector systems and methods for determining positions of fingers of a user
US9843744B2 (en) 2015-01-13 2017-12-12 Disney Enterprises, Inc. Audience interaction projection system
US10322203B2 (en) 2015-06-26 2019-06-18 Intel Corporation Air flow generation for scent output
US9778746B2 (en) 2015-09-25 2017-10-03 Oculus Vr, Llc Transversal actuator for haptic feedback
US20170103574A1 (en) 2015-10-13 2017-04-13 Google Inc. System and method for providing continuity between real world movement and movement in a virtual/augmented reality experience
US20170131775A1 (en) 2015-11-10 2017-05-11 Castar, Inc. System and method of haptic feedback by referral of sensation
US9849379B2 (en) * 2015-11-25 2017-12-26 Immersion Corporation Haptic peripheral having a deformable substrate configured for amplified deformation
US10055948B2 (en) 2015-11-30 2018-08-21 Nike, Inc. Apparel with ultrasonic position sensing and haptic feedback for activities
US10310804B2 (en) 2015-12-11 2019-06-04 Facebook Technologies, Llc Modifying haptic feedback provided to a user to account for changes in user perception of haptic feedback
US10324530B2 (en) 2015-12-14 2019-06-18 Facebook Technologies, Llc Haptic devices that simulate rigidity of virtual objects
US10096163B2 (en) 2015-12-22 2018-10-09 Intel Corporation Haptic augmented reality to reduce noxious stimuli
US10065124B2 (en) 2016-01-15 2018-09-04 Disney Enterprises, Inc. Interacting with a remote participant through control of the voice of a toy device
US11351472B2 (en) 2016-01-19 2022-06-07 Disney Enterprises, Inc. Systems and methods for using a gyroscope to change the resistance of moving a virtual weapon
US9846971B2 (en) 2016-01-19 2017-12-19 Disney Enterprises, Inc. Systems and methods for augmenting an appearance of a hilt to simulate a bladed weapon
US10061385B2 (en) * 2016-01-22 2018-08-28 Microsoft Technology Licensing, Llc Haptic feedback for a touch input device
US10477006B2 (en) 2016-01-22 2019-11-12 Htc Corporation Method, virtual reality system, and computer-readable recording medium for real-world interaction in virtual reality environment
US9933851B2 (en) 2016-02-22 2018-04-03 Disney Enterprises, Inc. Systems and methods for interacting with virtual objects using sensory feedback
US10555153B2 (en) 2016-03-01 2020-02-04 Disney Enterprises, Inc. Systems and methods for making non-smart objects smart for internet of things
US9981183B2 (en) * 2016-05-19 2018-05-29 Immersion Corporation Haptic peripheral having a haptically-enhanced user input element including a mechanical key and an integrated smart material actuator for providing haptic effects
US20170352185A1 (en) 2016-06-02 2017-12-07 Dennis Rommel BONILLA ACEVEDO System and method for facilitating a vehicle-related virtual reality and/or augmented reality presentation
US10155159B2 (en) 2016-08-18 2018-12-18 Activision Publishing, Inc. Tactile feedback systems and methods for augmented reality and virtual reality systems
US20180053351A1 (en) 2016-08-19 2018-02-22 Intel Corporation Augmented reality experience enhancement method and apparatus
US10372213B2 (en) 2016-09-20 2019-08-06 Facebook Technologies, Llc Composite ribbon in a virtual reality device
US10779583B2 (en) 2016-09-20 2020-09-22 Facebook Technologies, Llc Actuated tendon pairs in a virtual reality device
US10300372B2 (en) 2016-09-30 2019-05-28 Disney Enterprises, Inc. Virtual blaster
US10281982B2 (en) 2016-10-17 2019-05-07 Facebook Technologies, Llc Inflatable actuators in virtual reality
US10088902B2 (en) 2016-11-01 2018-10-02 Oculus Vr, Llc Fiducial rings in virtual reality
US20170102771A1 (en) 2016-12-12 2017-04-13 Leibs Technology Limited Wearable ultrasonic haptic feedback system
US10226697B2 (en) * 2017-06-01 2019-03-12 Microsoft Technology Licensing, Llc Input device with sector geared feedback trigger

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003199974A (ja) * 2000-09-28 2003-07-15 Immersion Corp 触覚フィードバックインターフェースデバイス用の方向接触フィードバック
JP2011141890A (ja) * 2001-10-09 2011-07-21 Immersion Corp コンピュータ装置からのオーディオ出力に基づく触覚フィードバック感覚
JP2009513077A (ja) * 2005-10-19 2009-03-26 イマージョン コーポレーション メディアトランスポートストリームにおけるハプティック効果データの同期
US20100173686A1 (en) * 2009-01-06 2010-07-08 Immersion Corporation Programmable Game-Based Haptic Enabled Gun Controller
US20130194085A1 (en) * 2012-01-30 2013-08-01 Microsoft Corporation Force feedback triggers
JP2013218327A (ja) * 2012-04-04 2013-10-24 Immersion Corp 複数のアクチュエータを用いた音からハプティック効果への変換システム

Also Published As

Publication number Publication date
CN104635921B (zh) 2020-08-07
EP2873447A1 (en) 2015-05-20
EP3417920A1 (en) 2018-12-26
US20170203207A1 (en) 2017-07-20
JP6449946B2 (ja) 2019-01-09
KR20150056066A (ko) 2015-05-22
CN104635921A (zh) 2015-05-20
JP2017195000A (ja) 2017-10-26
JP6181629B2 (ja) 2017-08-16
KR20180006481A (ko) 2018-01-17
EP2873447B1 (en) 2018-08-29
KR101819789B1 (ko) 2018-01-17
JP2015095264A (ja) 2015-05-18
US10416770B2 (en) 2019-09-17
US9619029B2 (en) 2017-04-11
KR102059737B1 (ko) 2019-12-26
US20150130706A1 (en) 2015-05-14

Similar Documents

Publication Publication Date Title
JP6449946B2 (ja) ハプティックトリガ制御システム
JP6552463B2 (ja) ハプティック空間化システム
KR102004005B1 (ko) 햅틱 트리거 수정 시스템
JP6801838B2 (ja) スローモーションのためのハプティック効果の修正

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200804