【解決手段】本デバイスは、コンピューターシステム及びハプティック対応デバイスを備えることができる。所望のハプティック効果を生成するように構成されたハプティック出力コマンドを求めることができる。疲労レベルは、実行されたハプティック効果のハプティック効果密度と、制御デバイスから受信された入力とに従って求めることができる。疲労レベルに従って、変更されたハプティック効果を求め、所望のハプティック効果を置換することができ、対応するハプティック出力コマンドを生成してハプティック出力デバイスに出力することができる。
前記疲労レベルは、前記ハプティック出力デバイスによって出力された先のハプティック効果の特性に従って求められたハプティック効果密度に基づいて求められ、前記特性は、前記先のハプティック効果の、頻度、大きさ、及び継続時間の少なくとも1つを含む、請求項1に記載のデバイス。
前記少なくとも1つのプロセッサは、前記先のハプティック効果の前記特性に従って前記ハプティック効果密度の値を増加させる命令を更に含む、請求項2に記載のデバイス。
前記少なくとも1つのプロセッサは、前記先のハプティック効果の前記発生以降の経過時間に従って前記ハプティック効果密度の値を減少させる命令を更に含む、請求項2に記載のデバイス。
前記少なくとも1つのプロセッサは、制御デバイスに関連付けられた制御の起動と、前記制御デバイスを使用している時間の量との少なくとも一方を含む測定されたユーザー活動に従って、前記疲労レベルを増加させる命令を更に含む、請求項1に記載のデバイス。
前記少なくとも1つのプロセッサは、前記制御デバイスに関連付けられた制御の最も近時の起動以降の時間の量に従って前記疲労レベルを減少させる命令を更に含む、請求項5に記載のデバイス。
前記置換ハプティック出力コマンドを求める前記プロセッサ命令は、前記変更されたハプティック効果を生成する命令を含む前記置換ハプティック出力コマンドを求める命令を含み、前記変更されたハプティック効果は、前記当初のハプティック効果の、大きさ、継続時間、及び頻度のうちの少なくとも1つの低減を含む、請求項1に記載のデバイス。
ハプティックアクチュエーターを備えるハプティック対応デバイスに接続し、前記ハプティック出力コマンドを前記接続されたハプティック対応デバイスに出力するように構成されたハプティック通信ユニットを更に備える、請求項1に記載のデバイス。
前記疲労レベルは、前記ハプティック出力デバイスによって出力された先のハプティック効果の特性に従って求められたハプティック効果密度に基づいて求められ、前記特性は、前記先のハプティック効果の、頻度、大きさ、及び継続時間の少なくとも1つを含む、請求項14に記載のコンピューター実施される方法。
前記先のハプティック効果の前記発生以降の経過時間に従って前記ハプティック効果密度を減少させることを更に含む、請求項15に記載のコンピューター実施される方法。
制御デバイスに関連付けられた制御の起動と、前記制御デバイスを使用している時間の量との少なくとも一方を含む測定されたユーザーの活動に従って前記疲労レベルを増加させることを更に含む、請求項14に記載のコンピューター実施される方法。
前記制御デバイスに関連付けられた制御の最も近時の起動以降に経過した時間の量に従って前記疲労レベルを減少させることを更に含む、請求項18に記載のコンピューター実施される方法。
前記置換ハプティック出力コマンドを求めることは、変更されたハプティック効果を生成する命令を含む前記置換ハプティック出力コマンドを求めることを含み、前記変更されたハプティック効果は、前記当初のハプティック効果の、大きさ、継続時間、及び頻度の少なくとも1つの低減を含む、請求項14に記載のコンピューター実施される方法。
前記置換ハプティック出力コマンドを求めることは、ハプティック援助をユーザーに提供する命令を含む前記置換ハプティック出力コマンドを求めることを含む、請求項14に記載のコンピューター実施される方法。
前記少なくとも1つのプロセッサは、前記ハプティック出力デバイスを備えるハプティック対応デバイス内に備えられる、請求項14に記載のコンピューター実施される方法。
【発明を実施するための形態】
【0010】
本発明の上述の特徴及び利点並びに他の特徴及び利点は、添付の図面に示されるような本発明の実施形態の以下の説明から明らかであろう。本明細書に組み込まれるとともに本明細書の一部をなす添付の図面は更に、本発明の原理を説明するとともに、当業者が本発明を実施及び使用することを可能にする役割を果たす。図面は一定縮尺ではない。
【0011】
以下の詳細な説明は、本質的に例示にすぎず、本発明又は本発明の適用及び使用を制限することを意図されない。さらに、前述の技術分野、背景、簡潔な要約、又は以下の詳細な説明に提示される明示的又は暗示的などんな理論によっても制限されるという意図は存在しない。さらに、以下の説明は、主として、ゲーミングデバイス及び当該ゲーミングデバイスのコントローラーを対象としているが、当業者であれば、この説明は、バーチャルリアリティシステム及び当該バーチャルリアリティシステムの周辺機器を含む他のシステムにも等しく当てはまることを認識するであろう。
【0012】
本発明の実施形態は、制御デバイス、及び/又はハプティックアクチュエーターを備えるデバイスの使用中のユーザー疲労又は知覚麻痺を防止又は低減する追跡システム又は自動化リリーフシステムを対象とする。この解決策は、ソフトウェア構成要素及び/又はファームウェア構成要素を含むことができ、少なくとも1つのプロセッサによって実行されるコンピューター命令によって実施することができる。この少なくとも1つのプロセッサは、制御デバイス、ハプティックデバイス、及び/又はそのようなデバイスが接続する中央コンソールに配置することができる。提案した解決策によって、算出された疲労レベルに基づいてハプティックフィードバックの自動変更が可能になる。疲労レベルは、ハプティック密度だけでなく、ユーザー疲労を示す他の測定値によっても算出することができる。ハプティック密度は、ハプティック効果を特徴付ける種々の値の組み合わせを指す。これらの種々の値には、ハプティック効果の、強度又は大きさ(magnitude:振幅)、継続時間、数、繰り返しの頻度(frequency:周波数)、及び他の任意の特性が含まれる。ユーザー疲労の他の尺度は、制御デバイス使用の尺度を含むことができ、この尺度には、トリガーのプル及びボタンのプッシュ、ジョイパッド及びジョイスティックの使用、並びに制御デバイスを積極的に用いることに費やした全時間等の制御デバイス起動の尺度が含まれる。計算された疲労レベルに従って、システムは、ハプティック効果の、強度、数、継続時間、頻度等を低減するようにハプティック効果を変更することができ、及び/又はハプティック援助をユーザーに提供することができる。このように、システムは、ハプティック効果を動的で自動的に調整された方法でレンダリングすることを可能にして、ゲームプレーを反映するハプティック効果がユーザーによって最適に感じられることを可能にする。
【0013】
本明細書において説明する実施形態は、コンピューターシステム及びハプティック対応デバイスの1つ以上を備えることができるデバイス及びシステムに関する。
【0014】
本発明に沿ったコンピューターシステムは、サーバー(例えば、1つ以上のサーバーブレード、プロセッサ等を有する)、ゲーミングコンソール、ハンドヘルドゲーミングデバイス、パーソナルコンピューター(例えば、デスクトップコンピューター、ラップトップコンピューター等)、スマートフォン、タブレットコンピューティングデバイス、及び/又はハプティック出力コマンドを提供するようにプログラミングすることができる他のデバイスとして構成することができる。幾つかの実施態様では、本発明に沿ったコンピューターシステムは、クラウドベースのコンピュータープラットフォームを備えることができる。このコンピューターシステムは、1つ以上のプロセッサ(本明細書では、便宜上区別なくプロセッサ又はプロセッサ(複数可)とも呼ばれる)、1つ以上の記憶デバイス、単数若しくは複数のハプティック通信ユニット、及び/又は他の構成要素を備えることができる。コンピューターシステムのプロセッサは、本明細書において説明する方法を実行するように1つ以上のコンピュータープログラム命令によってプログラミングすることができる。本明細書において用いられるように、実際に、様々な命令が、動作を実行するようにプロセッサ(したがって、コンピューターシステム)をプログラミングしているとき、便宜上、それらの様々な命令は、動作を実行するものとして説明される場合がある。本発明に沿ったハプティック通信ユニットは、ハプティック出力コマンドを送信又は通信することができる有線又は無線の任意の接続デバイスを備えることができる。例えば、ハプティック通信ユニットは、ハプティック対応周辺デバイスと通信して、ハプティック対応周辺デバイスによってハプティック効果を実行させるハプティック出力コマンドを送達するように構成されたBluetoothアンテナ等の無線デバイスを備えることができる。ハプティック通信ユニットは、ハプティック出力コマンドを通信する有線ポートを更に備えることができる。幾つかの実施態様では、ハプティック通信ユニットは、専らハプティック出力コマンドを送達することのみに構成された専用ユニットとすることができる。幾つかの実施態様では、ハプティック通信ユニットは、無数の他の通信を外部デバイスに有線又は無線で送達するように更に機能することができる。
【0015】
ハプティック対応デバイスは、ハプティック効果をユーザーに送達する1つ以上のハプティック出力デバイスを有するデバイスを含む。幾つかの実施態様では、ハプティック対応デバイスは、作動のためのハプティックコマンドを、例えばコンピューターシステムから直接受信する1つ以上のハプティック出力デバイスを備えるデバイスとすることができる。幾つかの実施態様では、ハプティック対応デバイスは、作動信号を1つ以上のハプティックアクチュエーターに送達する前に、受信されたハプティック出力信号を処理又は解釈することができる1つ以上のプロセッサを更に備えることができる。幾つかの実施態様では、ハプティック対応デバイスは、ユーザーがコンピューターシステムに関わることを可能にするユーザー入力要素、例えば、トリガー、ボタン、ジョイスティック、ジョイパッド等の制御要素を更に備えることができる。ハプティック対応デバイスは、本発明の実施形態に沿ったコンピューターシステム等の中央デバイスに対する付属ユニット又は周辺ユニットとして機能するように設計されたデバイスであるハプティック対応デバイスを含むことができる。ハプティック対応デバイスは、幾つかの実施形態では、本発明に沿ったコンピューターシステムの機能の全ても更に備えることができる。このように、ハプティック対応デバイスは、コンピューターシステムとして機能することができ、ハプティック出力デバイス及び制御要素を備えることができる。
【0016】
ハプティック出力コマンドは、ハプティック出力デバイスの作動及び/又は起動を直接又は間接的に引き起こすのに用いることができる。幾つかの実施態様では、ハプティック出力コマンドは、ハプティック出力デバイスにハプティック効果を生成させる、有線を介して又は無線で送信されるハプティック出力信号を含むことができる。ハプティック出力信号は、ハプティック出力デバイスによって受信されてハプティック効果を引き起こす作動信号を含むことができる。ハプティック出力信号は、他のシステム構成要素間で送信される、所望のハプティック効果についての情報を有する信号も含むことができる。例えば、コンピューターシステムのプロセッサは、発生するハプティック効果についての情報を含むハプティック出力信号を、ハプティック対応デバイスに関連付けられたプロセッサに出力することができる。ハプティック対応デバイスは、ハプティック出力信号を受信し、これを処理し、別のハプティック出力信号をハプティック出力デバイスに出力してハプティック効果を引き起こすことができる。このように、ハプティック出力信号は、ハプティック効果の生成に用いられる任意の信号を含むことができる。ハプティック出力コマンドは、ソフトウェアコマンドを更に含むことができる。すなわち、ソフトウェアインタラクションが、ハプティック出力デバイスの作動を引き起こす情報を含むハプティック出力コマンドを生成することができる。ソフトウェアコマンドの形態のハプティック出力コマンドは、プロセッサによるハプティック出力信号の形態のハプティック出力コマンドの生成を引き起こすことができる。
【0017】
幾つかの実施態様では、ハプティック出力コマンドは、ハプティック追跡、すなわち、引き起こされる一連のハプティック効果を示す情報を作成することができる。ハプティック追跡は、順に実行されるように意図されたハプティック出力コマンドの所定のシーケンスを含むことができる。変更されたハプティック出力コマンドを生成する本明細書において論述する方法、システム、及びデバイスは、変更済みハプティック追跡を生成することに同様に適用することができる。
【0018】
幾つかの実施形態によれば、コンピューターシステム及び/又はハプティック対応デバイスに関連付けられたプロセッサは、求められた疲労レベルに応じて、ハプティック出力デバイスのハプティック出力コマンドを変更するように構成することができる。求められた疲労レベルに従ってハプティック効果を修正又は変更することは、本明細書において論述するデバイス及びシステムの様々な組み合わせを用いて行うことができる。例えば、一例示のコンピューターシステムは、ハプティック出力コマンドをハプティック対応デバイスのプロセッサに通信することができ、このプロセッサは、次に、ハプティック出力コマンドを変更して、変更されたハプティック出力コマンドをハプティック出力デバイスに出力することができる。別の例では、コンピューターシステムのプロセッサは、ハプティック出力デバイスの作動を引き起こすハプティック出力コマンドを生成して送信する前に、ソフトウェアベースのハプティック出力コマンドを内部で変更することができる。本明細書において論述するデバイス及びシステムの様々な他の組み合わせを用いて、疲労レベルに従ったハプティックコマンドの変更を提供することができ、本明細書において論述するどの特定の例も、限定することを意図するものではない。
【0019】
図1〜
図7は、ユーザー疲労を示す求められた疲労レベルに従ってハプティックコマンドを変更する、本発明の実施形態に沿ったシステム及びデバイスを示している。
【0020】
図1は、本発明の一実施形態によるハプティック対応デバイス102にハプティックフィードバックを提供するシステム100のブロック図であり、
図2は、
図1のシステムの概略図である。
図1及び
図2の実施形態では、ハプティック対応デバイス102は、マニピュランダム122を有するハプティックジョイスティックを備える。当業者であれば、ハプティックジョイスティックは、ハプティック対応デバイスの一例示の実施形態にすぎず、他の構成、形状、及びサイズを有するハプティック対応デバイスを用いることができることを認識するであろう。例えば、本明細書においてより詳細に説明するように、ハプティック対応デバイスは、ビデオゲームコンソールシステムに現在利用可能な多くの「ゲームパッド」と同様の形状及びサイズの
図3〜
図5に示すようなゲーミングシステムのハンドヘルドゲーミングコントローラー302であってもよいし、
図6及び
図7に示すようなタブレットコンピューター604とともに用いることができるハプティック対応デバイス602であってもよいし、ユーザー入力(UI)要素を有する他のコントローラーであってもよい。これらの他のコントローラーは、モバイルフォン、パーソナルデジタルアシスタント(PDA:携帯情報端末)、タブレット、コンピューター、ゲーミング周辺機器、及び当業者に既知のバーチャルリアリティシステムの他のコントローラー等であるが、これらに限定されるものではない。
【0021】
図1及び
図2の実施形態を参照すると、ハプティック対応デバイス102は、コンピューターシステム104と有線又は無線で通信することができる。コンピューターシステム104は、視覚ディスプレイ106を更に備えることができ、ユーザーに対して、ディスプレイ、例えば画面及び/又はヘッドセット上に仮想環境を生成するように構成することができる。
図2に示すように、コンピューターシステム104は、少なくとも1つのプロセッサ108、メモリ110、及び視覚ディスプレイ106を備えることができる。コンピューターシステム104は、メモリ110に記憶されてプロセッサ108によって実行されるソフトウェア命令を実行することができる。プロセッサ108は、任意のタイプの汎用プロセッサのうちの1つ以上を含むことができ、ハプティック効果信号を提供するように特に設計されたプロセッサであってもよい。プロセッサ108は、コンピューターシステム104全体を動作させるプロセッサと同じものであってもよく、及び/又は別のプロセッサであってもよい。プロセッサ108は、コンピューター命令を実行して、ハプティック対応デバイス102に送信するハプティックコマンドと、それらのハプティックコマンドを送信する順序とを求めることができる。メモリ110は、任意のタイプの記憶デバイス、又は、限定ではないが、ランダムアクセスメモリ(RAM)若しくは読出し専用メモリ(ROM)等の非一時的コンピューター可読媒体のうちの1つ以上を含むことができる。メモリ110は、同様に、ホストプロセッサの内部に位置するか、又は、内部メモリと外部メモリとの任意の組み合わせとすることができる。
【0022】
コンピューターシステム104は、有線手段又は無線手段によって視覚ディスプレイ106に結合することができる。視覚ディスプレイ106は、グラフィカル情報をユーザーに提供する任意のタイプの媒体を含むことができる。これは、限定ではないが、1つ以上のモニター、テレビ画面、プラズマ、LCD、プロジェクター又は任意の他のディスプレイデバイスを含む。一実施形態では、当技術分野において既知であるように、コンピューターシステム104はゲーミングデバイスコンソールとすることができ、視覚ディスプレイ106は、ゲーミングデバイスコンソールに結合されたモニターとすることができる。別の実施形態では、当業者に既知であるように、コンピューターシステム104及び視覚ディスプレイ106は、単一デバイスになるよう組み合わせることができる。
【0023】
コンピューターシステム104は、ハプティック通信ユニット105も備えることができる。ハプティック通信ユニット105は、有線又は無線の通信ユニットを含むことができる。ハプティック通信ユニット105は、ハプティックコマンドをハプティック対応デバイス102に送信するか又は別の方法で伝達するように構成することができる。幾つかの実施態様では、ハプティック通信ユニット105は、ハプティックコマンドの提供に専用化することができる。幾つかの実施態様では、ハプティック通信ユニット105は、多種多様な通信タスク用に構成することができる。これらの通信タスクは、ハプティックコマンドの提供を含むが、これに限定されるものではない。追加の通信タスクは、例えば、制御入力及び制御出力、追加の付属デバイスへの出力等を含むことができる。
【0024】
図1及び
図2に示すように、コンピューターシステム104は、有線接続103を通じてハプティック対応デバイス102と通信することができる。更なる実施形態では、ハプティック対応デバイス102は、当業者に既知の有線及び無線の通信手段を用いてコンピューターシステム104と通信することができる。これらは、限定ではないが、シリアル接続又はBluetooth接続を含むことができる。さらに、コンピューターシステム104は、クラウド内に存在することができ、このため、ローカル形式で有線接続されることも無線接続されることも必要とされない場合がある。
【0025】
図2に示すように、ハプティック対応デバイス102は、ハウジング又は基部120と、1つ以上の自由度で移動することができるマニピュランダム又はユーザー入力デバイス122とを備えることができる。マニピュランダム及び/又は他の入力受信構造体を備えるハプティック対応デバイス102は、制御デバイスと更に呼ばれる場合がある。マニピュランダム122は、ハウジング120から延在することができる。
図2は、ハプティック対応デバイスのマニピュランダムとしてジョイスティックを示しているが、本開示は、ジョイスティックのマニピュランダムに限定されるものではなく、1つ以上の自由度で全体的又は部分的に可動な任意のデバイスも含むことが当業者によって理解されるであろう。当業者であれば、ジョイスティックは、コントローラーのマニピュランダムの一例示の実施形態にすぎず、本明細書においてより詳細に説明するように、トリガー、ボタン、又は他のユーザー入力要素等の他の構成を有するマニピュランダムを用いることができることを認識するであろう。幾つかの実施態様では、ハプティック対応デバイス102は、入力受信構造体を備えなくてもよく、ハプティック出力用にのみ構成されてもよい。
【0026】
図1を更に参照すると、ハプティック対応デバイス102は、プロセッサ112、メモリ114、マニピュランダムセンサー123、及び少なくとも1つのハプティック出力デバイス118を備えることができる。ハプティック対応デバイス102は、代替的に、プロセッサ112を備えないように構成することができ、それによって、ハプティック対応デバイス102に対する全ての入力/出力信号は、コンピューターシステム104によって直接ハンドリング及び処理される。プロセッサ112は、ハプティック出力デバイス118に結合されて、コンピューターシステム104から受信されたハプティック出力コマンドに基づいてハプティック出力コマンドをハプティック出力デバイス118に提供することができる。プロセッサ108と同様に、プロセッサ112は、ハプティック効果を引き起こすために、1つ以上のハプティック出力デバイス118に送信するハプティックコマンドを求めることができる。加えて、ハプティック対応デバイス102が、2つ以上のハプティック出力デバイスを備える場合、プロセッサ112は、どのハプティック出力デバイスがハプティック出力コマンドを受信するかを決定することができる。さらに、コンピューターシステム104のメモリ110と同様に、ローカルメモリ114は、限定ではないが、ランダムアクセスメモリ(RAM)又は読出し専用メモリ(ROM)等の任意のタイプの記憶デバイス又はコンピューター可読媒体とすることができる。ローカルメモリ114は、同様に、ローカルプロセッサの内部に位置するか、又は、内部メモリと外部メモリとの任意の組み合わせとすることができる。
【0027】
ハプティック対応デバイス102のマニピュランダム122は、1つ以上の自由度以内で物理的に移動することができる。例えば、ユーザーは、マニピュランダム122を、前に、後に、左に、又は右に移動させることができる。ユーザーがマニピュランダム122を移動させるとき、マニピュランダムセンサー123は、マニピュランダムの移動及び/又は位置を検出し、センサー信号をプロセッサ112に送信することができる。プロセッサ112は、その後、センサー信号をコンピューターシステム104に通信又は送信することができる。受信されたセンサー信号に基づいて、コンピューターシステム104は、ビデオゲーム内でアクションを実施し、仮想環境を更新することができる。ハプティック対応デバイス102のマニピュランダム122の移動は、ユーザーからの入力を示し、限定はしないが、ファーストパーソンシューティング(first person shooter)に関連するビデオゲーム、サードパーソンキャラクターインタラクションに関連するビデオゲーム、車両関連ゲーム、又はコンピューターシミュレーションを含む、コンピューターシステム104上で実行されるソフトウェアアプリケーションにユーザーが関わることを可能にする。マニピュランダム122の移動は、カーソル又は他の画像等のコンピューター生成グラフィカルオブジェクト、又は、視覚ディスプレイ106を介してコンピューターシステム104によって表示される何らかの他のグラフィカルオブジェクトの移動に対応する入力をコンピューターシステム104に提供するか、又は、人、車両、若しくはゲーム若しくはコンピューターシミュレーションにおいて見出すことができる何らかの他のエンティティ等のバーチャルキャラクター若しくはゲーミングアバターを制御することができる。
【0028】
プロセッサ112は、センサー信号をマニピュランダムセンサー123から受信することに加えて、ハプティック出力デバイス118から出力されるハプティック効果に関するハプティック出力コマンドをコンピューターシステム104から受信することもできる。プロセッサ112は、ハプティック出力コマンドを受信して処理し、コンピューターシステム104から受信された高レベルハプティック出力コマンドに基づいて、ハプティック出力コマンドを制御信号、作動信号、及び/又は駆動信号の形態でハプティック出力デバイス118に提供することができる。コンピューターシステム104は、ハプティック出力デバイス118によって出力されるハプティック効果のタイプ(例えば振動、ジョルト(jolt:上下動)、デテント、ポップ等)等の高レベルハプティック出力コマンドをプロセッサ112に提供することができる。プロセッサ112は、ハプティック出力コマンドに整合した、出力されるハプティック効果の特定の特性(例えば、大きさ、頻度、継続時間等)についてハプティック出力デバイス118に命令することができる。プロセッサ112は、ハプティック出力コマンドに整合したハプティック効果のタイプ、大きさ、頻度、継続時間、又は他の特性を、プロセッサに結合されたローカルメモリ114から取り出すことができる。ゲームアクションと、コンピューターシステム104から受信された制御信号とに応じて、プロセッサ112は、ハプティック出力コマンドをハプティック出力デバイス118に送信して、振動、デテント、触感、ジョルト又はポップを含む多種多様なハプティック効果又は感覚のうちの1つを出力することができる。
【0029】
ハプティック出力デバイス118は、バーチャルリアリティシステムの当業者に知られているような慣性アクチュエーター又は運動感覚アクチュエーターとすることができる。可能なアクチュエーターは、偏心質量体がモーターによって移動される偏心回転質量(「ERM」)アクチュエーター、バネに取り付けられた質量体が前後に駆動されるリニア共振アクチュエーター(「LRA」)、圧電アクチュエーター、偏心質量体がモーターによって移動される電磁モーター、振動触覚アクチュエーター、慣性アクチュエーター、形状記憶合金、信号に応答して変形する電気活性高分子、剛性を変化させるメカニズム、静電摩擦(ESF)、超音波表面摩擦(USF)、又は上述のアクチュエーターの任意の組み合わせを含むが、これらに限定されるものではない。可能なアクチュエーターは、運動力フィードバックアクチュエーター及び半運動力フィードバックアクチュエーターを更に含む。そのような力フィードバックアクチュエーターは、マニピュランダム122に直接又はトランスミッションリンケージ若しくはギアを介して接続された電磁モーターを備えることができる。別の実施形態では、アクチュエーターは、例えば、マニピュランダム122及び/又はハウジング120の硬度/ダンピングを変化させるソレノイド、マニピュランダム122及び/又はハウジング120のサイズを変化させる小さなエアバッグ、又は形状変化材料を含む運動感覚ハプティックフィードバックを用いることができる。ハプティック対応デバイス102がトリガー又はボタンを備える幾つかの実施態様では、ハプティック出力デバイス118は、トリガーのプル及びボタンの押下の抗力又は援助を提供するように構成されたデバイスであってもよい。
【0030】
幾つかの実施形態では、ハプティック対応デバイス102は、
図1に示すように追加センサー126を更に備えることができる。追加センサー126は、被検者の潜在疲労レベルに関連した追加データを収集するように構成されたセンサーとすることができる。追加センサー126は、例えば、温度センサー、湿度センサー、電気皮膚反応センサー等のバイオメトリックセンサー、カメラ等を含むことができる。追加センサー126は、ユーザーによってハウジング120に作用される把持力の量を測定するように構成された力センサーを更に含むことができる。
【0031】
前述したように、ハプティック対応デバイス102は、ハプティック対応デバイスの一例示の実施形態にすぎず、他の構成、形状、及びサイズを有するハプティック対応デバイスを用いてもよい。例えば、
図3〜
図5は、本発明の実施形態に沿った実施形態において利用することができるハプティック対応デバイス302の別の実施形態を示している。
図3及び
図4は、ハプティック対応デバイス302の異なる斜視図であり、このハプティック対応デバイスは、ハンドヘルドゲーミングコントローラーである一方、
図5は、コンピューターシステム104と、ハプティック通信ユニット105と、視覚ディスプレイ106とを更に備えるゲーミングシステム300において用いられるハプティック対応デバイス302のブロック図を示している。ハプティック対応デバイス302のハウジング324は、左利きのユーザー又は右利きのユーザーのいずれによっても、デバイスを把持する両手に容易に適応するように形成されている。当業者であれば、ハプティック対応デバイス302が、ビデオゲームコンソールシステムに現在利用可能な多くの「ゲームパッド」と同様の形状及びサイズのコントローラーの一例示的な実施形態にすぎず、他の構成のユーザー入力要素、他の形状、及び他のサイズを有するコントローラーを用いてもよいことを認識するであろう。このようなコントローラーは、Wii(商標)リモート又はWii(商標)Uコントローラー、Sony(商標)SixAxis(商標)コントローラー又はSony(商標)Wandコントローラー、Xbox(商標)コントローラー又は同様のコントローラー、並びに実生活物(テニスラケット、ゴルフクラブ、野球のバット等)及び他の形状として形成されたコントローラー等のコントローラーを含むが、これらに限定されるものではない。
【0032】
ハプティック対応デバイス302は、ジョイスティック322、ボタン330、及びトリガー332を含む幾つかのユーザー入力要素又はマニピュランダムを備える。ユーザー入力要素とは、本明細書において用いられるとき、コンピューターシステム104に関わるためにユーザーによって操作されるトリガー、ボタン、ジョイスティック等のインターフェースデバイスを指す。
図3及び
図4に見ることができるとともに当業者に既知であるように、各ユーザー入力要素及び追加のユーザー入力要素の2つ以上が、ハプティック対応デバイス302上に備えられてもよい。したがって、例えば、トリガー332のこの説明は、ハプティック対応デバイス302を単一のトリガーに限定するものではない。さらに、
図5のブロック図は、ジョイスティック322、ボタン方向コントローラー330、及びトリガー332のそれぞれを1つしか示していない。しかしながら、当業者であれば、上述したように、複数のジョイスティック、ボタン、及びトリガー、並びに他のユーザー入力要素を用いることができることが分かる。
【0033】
図5のブロック図に見ることができるように、ハプティック対応デバイス302は、そのユーザー入力要素322、330、332のそれぞれを直接駆動する、ターゲットハプティック出力デバイス、すなわちモーター318A、318B、318Cと、ユーザーの手が一般に配置されるロケーションにおいてハウジング324に結合された1つ以上の共通ハプティック出力デバイス326、328とを備えることができる。ジョイスティック322は、これに結合されたターゲットハプティック出力デバイス、すなわちモーター318Aを備えることができ、ボタン330は、これに結合されたターゲットハプティック出力デバイス、すなわちモーター318Bを備えることができ、トリガー332は、これに結合されたターゲットハプティック出力デバイス、すなわちモーター318Cを備えることができる。複数のターゲットハプティック出力デバイスに加えて、ハプティック対応デバイス302は、そのユーザー入力要素のそれぞれに結合された位置センサーを備えることができる。ジョイスティック322は、これに結合された位置センサー323を備えることができ、ボタン330は、これに結合された位置センサー331を備えることができ、トリガー332は、これに結合された位置センサー333を備えることができる。プロセッサ312は、ジョイスティック322、ボタン330、及びトリガー332のそれぞれのターゲットハプティック出力デバイス318A、318B、318Cと、それぞれの位置センサー323、331、333とに結合することができる。位置センサー323、331、333から受信された信号に応答して、プロセッサ312は、対象又は目標とする効果をジョイスティック322、ボタン330、及びトリガー332にそれぞれ直接提供するようにターゲットハプティック出力デバイス318A、318B、318Cに命令することができる。そのような目標とする効果は、コントローラーの本体全体に沿って共通ハプティック出力デバイス326、328によって生成される共通又はランブルハプティック効果から識別可能又は区別可能である。集合的ハプティック効果は、複数のモダリティ、例えば、ビデオ、オーディオ、及びハプティックが同時に関与するので、ゲームへのより大きな没入感をユーザーに提供することができる。ハプティック対応デバイス102及びコンピューターシステム104と同様に、ハプティック対応デバイス302は、例えば、ハプティック通信ユニット105を介してコンピューターシステム104と通信するように構成することができる。ハプティック対応デバイス302のプロセッサ312は、各ハプティック出力デバイスに結合されて、コンピューターシステム104から受信された高レベルハプティック出力コマンドに基づいてハプティック出力コマンドを提供することができる。ハプティック対応デバイス302のハプティック出力デバイスは、ハプティック対応デバイス102のハプティック出力デバイス118について本明細書に列挙された任意のタイプのハプティック出力デバイスとすることができる。ハプティック対応デバイス102と同様に、ハプティック対応デバイス302は、
図5に示すように、被検者の潜在疲労レベルに関連した追加データを収集するように構成された追加センサー126を備えることができる。
【0034】
図6及び
図7は、本発明の別の実施形態によるハプティック対応デバイス602を示している。この実施形態では、ハプティック対応デバイス602は、タブレットコンピューター604とともに用いることができるゲーミングタブレットコントローラーであり、タブレットコンピューター604は、当業者によって理解されるような統合された視覚オーディオ出力を備える。タブレットコンピューター604は、Razer Inc.社から入手可能であるようなゲーム活動用に特に設計されたデバイス及び市販のデバイスを含む任意のタイプのタブレットスタイルのコンピューティングデバイスとすることができる。市販のデバイスは、Apple(商標)iPad(商標)、Kindle(商標)Fire(商標)、及びSamsung(商標)Galaxy Tab(商標)を含むが、これらに限定されるものではない。ハプティック対応デバイス602は、タブレットコンピューター604を収容するように構成されたドッキング部分640と、ユーザーがタブレットコンピューター604上のゲームを制御するためのマニピュランダムが配置されたハンドル(handles:取っ手)642、644とを備えることができる。ボタンの押下、ジョイスティックの移動、トリガーの押圧等のハンドル642、644に対するユーザーによるアクションが、タブレットコンピューター604上でプレーされているゲームに対するアクションをもたらすように、ドッキング部分640は、ハプティック対応デバイス602をタブレットコンピューター604に接続することができる。
【0035】
ハンドル642、644は、コントローラーに見られる通常のマニピュランダム又はユーザー入力要素を備える。マニピュランダムは、ハンドル644に関して説明される。しかしながら、当業者であれば、同じ又は同様のマニピュランダムをハンドル642において用いることができることを認識するであろう。特に、ハンドル644は、ジョイスティック622、ボタン630、及びトリガー632を備えることができる。
図6に見ることができるとともに当業者に既知であるように、これらのユーザー入力要素のそれぞれの2つ以上が各ハンドル642、644上に備えられてもよい。さらに、ハンドル642、644は、共通又はランブルハプティック出力デバイス326、328に関して上述したように、ユーザーの手が一般に配置されるロケーションにおいてこれらに取り付けられた、共通又はランブルハプティック効果をハンドル642、644に提供する共通又はランブルハプティック出力デバイス626、628を備える。
【0036】
図7のブロック図に示すように、ハプティック対応デバイス602は、ドッキング部分640を介してタブレットコンピューター604と通信するプロセッサ612を備えることができる。
図7のブロック図は、ジョイスティック622、ボタン方向コントローラー630、及びトリガー632のそれぞれを1つしか示していない。しかしながら、当業者であれば、上述したように、複数のジョイスティック、ボタン、及びトリガー、並びに他のユーザー入力要素を用いることができることがわかる。プロセッサ612は、ジョイスティック622、ボタン630、及びトリガー632のそれぞれのターゲットハプティック出力デバイス618A、618B、618Cと、それぞれの位置センサー623、631、633とに結合することができる。位置センサー623、631、633から受信された信号に応答して、プロセッサ612は、対象又は目標とする効果をジョイスティック622、ボタン630、及びトリガー632にそれぞれ直接提供するようにターゲットハプティック出力デバイス618A、618B、618Cに命令する。ハプティック対応デバイス602のプロセッサ612は、各ハプティック出力デバイスに結合されて、タブレットコンピューター604からの高レベルハプティック出力コマンドに基づいてハプティック出力コマンドを各ハプティック出力デバイスに提供することができる。ハプティック対応デバイス602のハプティック出力デバイスは、ハプティック対応デバイス102のハプティック出力デバイス118について本明細書に列挙された任意のタイプのハプティック出力デバイスとすることができる。ハプティック対応デバイス102と同様に、ハプティック対応デバイス602は、
図7に示すように、被検者の潜在疲労レベルに関連した追加データを収集するように構成された追加センサー126を備えることができる。
【0037】
図6及び
図7は、タブレットコンピューター604とともに用いることができるゲーミングタブレットコントローラーとしてハプティック対応デバイス602を示しているが、ハプティック対応デバイスと、ホストコンピューター又はタブレットコンピューターとは、同じデバイス又はハウジング内にあってもよいことが、当業者によって理解されるであろう。ゲーミングタブレットコントローラーは、このように、関連付けられた周辺機器を有しないゲーミングタブレットであってもよいが、むしろ、ハプティック出力デバイスは、単一デバイスとしてゲーミングタブレット自体に統合されている。
【0038】
どのハプティック対応デバイスの構成又は実施形態が利用されるかにかかわらず、コンピューターシステムのプロセッサ及び/又はハプティック対応デバイスのプロセッサは、ユーザー疲労を示す求められた疲労レベルに従ってハプティック出力コマンドを変更するように構成することができる。これらのシステムのプロセッサ及び/又はデバイスのプロセッサは、当初意図されたものと比較して変更されたハプティック効果を生成するように構成されたハプティック出力コマンドを作成することができる。例えば、コンピューターシステムのプロセッサ上で実行されるソフトウェア命令は、意図された単数又は複数のハプティック効果を生成する当初のハプティック出力コマンドを含むことができる。この当初のハプティック出力コマンドを適切なハプティック出力デバイスに送信する前に、変更されたハプティック効果を生成するように構成された置換ハプティック出力コマンドをシステムの様々な態様によって求めることができる。例えば、コンピューターシステムのプロセッサは、疲労レベルを求め、変更されたハプティック出力効果を示す置換ハプティック出力コマンドを生成する追加のソフトウェア命令を含むことができる。すなわち、所望のハプティック効果及び変更されたハプティック効果の双方をアプリケーション内の実行可能ソフトウェア命令によって求めることができる。別の例では、コンピューターシステムのプロセッサは、当初意図されたハプティック効果を示すハプティック出力コマンドを、接続されたハプティック対応デバイスに関連付けられた別のプロセッサに出力することができる。ハプティック対応デバイスのプロセッサは、疲労レベルを求め、引き起こされる単数又は複数のハプティック効果を変更するか否かを判断するのに必要な比較を行うことができる。ハプティック効果を引き起こすハプティック出力コマンドと、ハプティック効果の変更とを求めることに関して以下で論述する動作のいずれか又は全ては、コンピューターシステム及び/又はハプティック対応デバイスに関連付けられたプロセッサによって実行することができる。さらに、ハプティック出力コマンドは、ソフトウェア命令のレベル及び/又は電気信号のレベルで処理及び変更することができる。
【0039】
図8及び
図9は、ハプティック変更プロセスを実行しているときの本明細書において説明するシステムの機能を示すプロセス図である。実施形態では、
図8及び
図9のプロセス図の機能は、コンピューターシステムのメモリに記憶されたソフトウェア及び/又はファームウェアによって実施することができるとともにコンピューターシステムのプロセッサによって実行することができ、及び/又はハプティック対応デバイスのメモリに記憶することができるとともにハプティック対応デバイスのプロセッサによって実行することができる。他の実施形態では、この機能は、特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「PGA」)、フィールドプログラマブルゲートアレイ(「FPGA」)、及び/又はハードウェア及びソフトウェアの任意の組み合わせを用いることによってハードウェアによって実行することができる。幾つかの実施形態では、
図8及び
図9のプロセス図の機能は、コンピューターシステム及びハプティック対応デバイスの双方に関連付けられたプロセッサによって実行することができる。
図8及び
図9の機能は、コンピューターシステム104、ハプティック対応デバイス102、ハプティック対応デバイス302、ハプティック対応デバイス602、及び/又は当該技術分野において知られているような別の構成を有するハプティック対応デバイス若しくはコンピューターシステムと整合したデバイス及びシステムによって実行することができることが当業者によって理解されるであろう。
【0040】
図8は、本発明の実施形態によるハプティック変更を求めるプロセスの制御ループ800を示すプロセス図である。
図8に示すような一実施形態では、システムは、計算された疲労レベルを絶えず連続して監視及び更新するように動作することができる。
図8に示すような制御ループ800は、求められた疲労レベルの値を監視し、ハプティック効果の発生に従って必要に応じて増減するように動作することができる。疲労レベルが閾値を越えているとき、ハプティック出力コマンド変更フラグを設定することができ、このハプティック出力コマンド変更フラグの設定に従って、後続のハプティック出力コマンドを変更することができる。疲労レベルが閾値未満に減少しているとき、ハプティック出力コマンド変更フラグを解除することができる。更なる実施形態では、以下で詳細に説明するように、システムは、ハプティック信号がハプティックデバイスによって受信されたときのみ疲労レベルを監視及び更新するように動作することができる。
【0041】
ハプティック変更決定プロセスの制御ループ800は、本明細書において説明するシステム及びデバイスに関連付けられた1つ以上のプロセッサによって実行されるプロセスループとすることができる。制御ループ800は、本明細書において説明するようなコンピューターシステムに関連付けられたプロセッサによって実行することができ、及び/又は本明細書において説明するようなハプティック対応デバイスに関連付けられたプロセッサによって実行することができる。幾つかの実施態様では、制御ループ800の異なる動作が、異なるデバイス/システムに配置された異なるプロセッサを含む、通信する異なるプロセッサによって実行されてもよい。
【0042】
図8に示すように、ハプティック効果変更プロセスは、ハプティック出力コマンド認識動作801において、プロセッサによるハプティック出力コマンドの認識から開始することができる。ハプティック出力コマンドは、1つ以上のハプティックアクチュエーターにおいて1つ以上のハプティック効果を引き起こすように構成することができる。ハプティック出力コマンドの認識は、ハプティック出力コマンドの送信、受信、及び/又は発信が行われたことの認識を含むことができる。
【0043】
送信されるハプティック出力コマンドは、1つのプロセッサから別のプロセッサに送信されたハプティック出力コマンド、例えば、コンピューターシステムのプロセッサからハプティック対応デバイスのプロセッサに送信されたハプティック出力コマンド及び/又は同じシステム又はデバイスに配置された2つのプロセッサ間で送信されたハプティック出力コマンドを含むことができる。ハプティック出力コマンドは、プロセッサからハプティックアクチュエーターに直接送信されるハプティック出力コマンドを含むことができる。
【0044】
ハプティック出力コマンドの受信は、第2のプロセッサからの第1のプロセッサによって受信されたハプティックコマンドを含むことができる。第1のプロセッサ及び第2のプロセッサは、同じシステム又はデバイスの一部であってもよく、及び/又は異なるシステム又はデバイスに配置されていてもよい。
【0045】
ハプティック出力コマンドの発信は、実行されるソフトウェア命令に基づいて、特定のハプティック出力コマンドが適切であるとの判断を含むことができる。したがって、例えば、ビデオゲームのプレー用のソフトウェア命令を実行するコンピューターシステムが、ビデオゲームのプレーに基づいてハプティック効果を生成するハプティック出力コマンドを発信することができる。
【0046】
ハプティック出力コマンドは、更にハプティック出力追跡の一部とすることができ、この追跡は、幾つかのハプティック出力コマンドを順に含む。そのようなハプティック出力追跡は、本明細書において論述するように、ハプティック出力コマンドと同じ形式で認識(例えば、受信、送信、及び発信)することができる。
【0047】
プロセッサ間で送信されるハプティック出力コマンドは、タイプ(例えば、ランブル、振動、屈曲等)、大きさ、継続時間、頻度、パターン、及びハプティック効果を記述するのに必要な他の任意の情報を含む、所望されるハプティック効果についての情報を搬送するハプティック情報信号であってもよい。ハプティック出力デバイスによって受信されたときにハプティック効果を直接生成するように構成されたハプティック出力コマンド(例えば、ハプティックモーターに送信された電圧信号)は、ハプティック作動信号と呼ばれる場合がある。幾つかの実施態様では、ハプティック出力コマンドをハプティック情報信号として受信するプロセッサは、受信されたコマンドを解釈し、置換ハプティック出力コマンドを作動信号としてハプティックアクチュエーターに直接出力することができる。幾つかの実施態様では、プロセッサは、実行されるソフトウェア命令に応じて、ハプティック出力コマンドをハプティック情報信号及び/又はハプティック作動信号として生成することができる。
【0048】
例えば、ハプティック対応デバイスは、ERM及びLRAの2つのハプティック出力デバイスを備えることができる。これらのデバイスのそれぞれは、特定の入力要件及び特定の出力特性を有する場合がある。ハプティック対応デバイスのプロセッサは、ハプティック情報信号をコンピューターシステムから受信し、ハプティック対応デバイスの特定のハプティック出力デバイスによって実行されるようなハプティック情報信号の所望のハプティック効果を達成するように構成されたハプティック作動信号を出力することができる。第2のハプティック対応デバイスでは、当該第2のハプティック対応デバイスに関連付けられたハプティック出力デバイスの特性の相違に起因して、同じハプティック情報信号を異なるハプティック作動信号に処理することができる。
【0049】
幾つかの実施態様では、ハプティック作動信号の形態のハプティック出力コマンドを、適切なハプティック出力デバイスに送る前に、1つのプロセッサから別のプロセッサに送信してもよい。
【0050】
ハプティック出力コマンド認識動作801において行われるハプティック出力コマンドの認識は、1つ以上のハプティック出力コマンドが、制御ループの最も近時の反復内で受信されたのか、送信されたのか、及び/又は発信されたのかを判断することができる。そのような判断は、例えば、制御ループの一部として連続的に反復して行うことができる。
【0051】
先の制御ループ反復以降に発生した任意のハプティック出力コマンドが認識された後、動作802において疲労レベルを更新することができる。疲労レベルは、上記で論述したように、ハプティック効果密度及び測定されるユーザー活動のうちの少なくとも一方に基づくことができる。測定されるユーザー活動は、制御デバイス使用量(control device use)の測定値を含むことができる。制御デバイス使用量は、制御デバイスに関連付けられた制御のユーザー起動及び/又は制御デバイスが用いられている時間の量によって特徴付けることができる。ハプティック効果密度及び制御デバイス使用量のそれぞれの値を組み合わせて、疲労レベルを求めることができる。幾つかの実施形態では、ハプティック効果密度の値のみ及び/又は制御デバイス使用量の値のみが用いられてもよい。上記で論述したように、ハプティック効果密度の計算値は、ハプティック出力デバイスに送信されるハプティック出力コマンドから求めることができ、制御デバイス使用量の値は、制御デバイスから受信される入力に基づいて求めることができる。このように、ユーザー疲労の量を示す疲労レベルは、ハプティック出力デバイスに送信されるハプティック出力コマンドと、制御デバイスから受信される入力とのいずれか又は双方に基づいて求めることができる。
【0052】
疲労レベル、並びにハプティック効果密度及び/又は制御デバイス使用量は、制御システム全体、個々のアクチュエーター、個々のユーザー入力要素、及び/又はハプティック効果を受ける個々の身体部分について算出することができる。疲労レベルは、システムによって行われたハプティック効果の全て及び/又はシステム内での制御デバイス使用量の全てを考慮することによって、制御システム全体について算出することができる。疲労レベルは、個々のアクチュエーターについて別々に算出することもできる。すなわち、特定のユーザー入力要素に関連付けられた異なるアクチュエーターについて、ハプティック効果密度及び/又は制御デバイス使用量の双方を含む別々の疲労レベル算出を行うことができる。例えば、ユーザー入力要素が、力フィードバックアクチュエーター及び振動触覚アクチュエーターのそれぞれを有する場合、疲労レベルは、それぞれについて別々に算出することができる。疲労レベルは、特定のユーザー入力要素について算出することができる。すなわち、特定のユーザー入力要素に関連付けられた全てのアクチュエーターのハプティック効果密度及び/又は制御デバイス使用量を含む疲労レベル値を組み合わせることができる。ハプティック効果密度及び/又は制御デバイス使用量を含む疲労レベルは、個々の身体部分について算出することもできる。例えば、特定の身体部分が2つ以上のユーザー入力要素、例えば、親指によって動作される複数のボタンを動作させることを意図して、ユーザー入力要素が配置されている場合、各ボタンの疲労レベル値を残りのボタンの疲労レベル値と組み合わせて、それらのボタンの全てを動作させるように意図された親指の累積疲労レベル値を生成することができる。
【0053】
ハプティック効果密度は、監視されたハプティック対応デバイスに関連付けられた1つ以上のハプティック出力デバイスの起動に従って求めることができる。ハプティック効果密度は、ハプティック効果を引き起こすプロセッサによって送信されるハプティック出力コマンドに従って求めることもできる。幾つかの実施態様では、ハプティック効果密度は、プロセッサによって送信されるハプティック出力コマンドに従って、それらのハプティックコマンドがハプティック出力デバイスによって実行されたか否か及びどのように実行されたかを知ることなく、求めることができる。例えば、ビデオゲームコントローラーは、コントローラーの各側部に2つのアクチュエーターと、各トリガーに2つの追加のアクチュエーターとを有する場合があり、これらのアクチュエーターは、振動触覚ハプティックフィードバック及び運動感覚ハプティックフィードバックの双方を提供することができる。この例では、各アクチュエーターは、それ自体の算出されたハプティック効果密度を有することができ、それらのそれぞれのハプティック効果密度値は、必要なときは組み合わせることもできる。
【0054】
ハプティック効果密度は、様々な変数を用いて算出することができる。これらのファクターは、効果の大きさ、効果の継続時間、効果の頻度若しくは周期、ユーザーがどの程度の量のハプティックフィードバックを好むのかについてのユーザープリファレンス設定、及び/又は以前に実行された1つ以上のハプティック効果、例えば先のハプティック効果の特性を示す他の任意のファクターを含むことができる。加えて、ハプティック効果密度の算出は、例えば、トリガーがどの程度押圧されたか、使用中のトリガーの行程若しくは距離のパーセンテージ、アクチュエーターの強度及びユーザーの指に対するその後の衝撃力、及び/又はトリガーにおけるユーザーの指のロケーション等の制御使用に関連付けられたファクターを含むことができる。さらに、ハプティック効果密度は、1つ以上のファクターを他のファクターと組み合わせることによって変更することができる。例えば、トリガーが完全に押下された場合、トリガーを通じて行われるハプティック効果の知覚される強度は、トリガーが中間までしか押圧されていないときと比較して低減することができる。したがって、例えば、トリガー振動の算出されたハプティック効果密度は、完全に押圧されたトリガーについて、中間まで押圧されたトリガーと比較して低減することができる。上記例示のファクターのいずれか又は全てを組み合わせてハプティック効果密度を算出することができる。
【0055】
ハプティック効果密度計算に対する各ハプティック効果の影響は、ハプティック密度累積ファクター及びハプティック密度減衰ファクターに基づくことができる。ハプティック密度累積ファクターは、ハプティック効果がハプティック効果密度値にどの程度強く寄与しているかを表す一方、ハプティック密度減衰ファクターは、それらの寄与がハプティック効果密度値からどの程度急速に除去されるかを表す。
【0056】
ハプティック効果のハプティック密度累積ファクターは、この効果が、上記で論述したファクターに基づいて、ハプティック効果密度の尺度を上昇させる量を指す。ハプティック密度累積ファクターは、異なる種類及び特性のハプティック効果のハプティック効果密度の尺度を提供するのに役立つことができ、同じスケールでの測定を可能にするので、正規化ファクターとみなすことができる。例えば、大きな大きさ及び長い継続時間を有するハプティック効果は、同じ大きさではあるが、それよりも短い継続時間の効果よりも高いハプティック密度累積ファクターを有することができる。別の例では、ハプティック密度累積ファクターは、異なるタイプのハプティック効果からのハプティック効果密度への追加分を正規化するのに用いることができる。例えば、振動触覚効果及び運動感覚効果は、異なるパラメーターによって特徴付けることができるが、それぞれは、ハプティック密度累積ファクターを有し、したがって、これらの異なるタイプの効果は、同じスケールで測定することができる。ハプティック効果密度は、以前に行われた各ハプティック効果のハプティック密度減衰ファクターによって調整されるのと同様に、以前に行われた各ハプティック効果のハプティック密度累積ファクターの合計によって求めることができる。
【0057】
各ハプティック効果は、ハプティック密度減衰ファクターも含むことができる。ハプティック密度減衰ファクターは、ハプティック効果密度に対するハプティック効果の影響がどの程度急速に減少するかの尺度とすることができる。ハプティック密度減衰ファクターは、ハプティック効果の影響が継続する指定された減衰期間にわたる、ハプティック効果密度に対するハプティック効果の影響の減衰のレート及びタイプの双方によって求めることができる。ハプティック効果は、その効果のハプティック密度累積ファクターに基づいてハプティック効果密度を増加させることができる。ハプティック効果によって引き起こされたハプティック効果密度の増加は、その後、ハプティック密度減衰ファクターの減衰のレートに従って、ハプティック効果の指定された減衰期間にわたって低減させることができる。本発明の実施形態では、ハプティック密度減衰ファクターは、線形とすることができ、ハプティック効果を減衰させる寄与が0になるまで、指定された減衰期間にわたって定レートでハプティック効果密度の低減を引き起こすことができる。本発明の他の実施形態では、ハプティック密度減衰ファクターは、指数関数的にすることができ、指定された減衰期間にわたって指数関数的に増加又は減少するレートでハプティック効果密度の低減を引き起こすことができる。本発明の他の実施形態では、ハプティック密度減衰ファクターは、対数関数的にすることができ、指定された減衰期間にわたって対数関数的に増加又は減少するレートでハプティック密度の低減を引き起こすことができる。本発明の他の実施形態では、ハプティック密度減衰ファクターは、2値とすることもでき、指定された減衰期間の後にハプティック効果の全寄与をハプティック効果密度から一斉に除去することができる。ハプティック密度減衰ファクターは、特定のハプティック効果によってハプティック効果密度に寄与する量を低減するために適用することができる他の任意の適した数学関数を更に含むことができる。ハプティック密度減衰ファクター、例えば、減衰のレート及びタイプ並びに指定された減衰期間は、ハプティック効果の性質に従って定めることができる。例えば、振動触覚効果は、運動感覚効果と異なる減衰のサイズ及びタイプを有することができる。
【0058】
幾つかの実施形態では、ハプティック効果のハプティック密度減衰ファクター及び指定された減衰期間をユーザー活動に従って動的に調整することができる。ユーザー活動の増加は、指定された減衰期間を長くし、及び/又はハプティック密度減衰ファクターがハプティック効果密度に対するハプティック効果の寄与を低減するレートを下げる働きを有する場合がある。したがって、高いユーザー活動、例えば、高速のトリガーのプル又はボタンの押下の状況下では、任意の個別のハプティック効果のハプティック効果密度に対する寄与は、より長く継続することができ、より低速なレートで減少することができる。
【0059】
具体例として、密度範囲は、0〜10とすることができ、0は、ハプティック密度がない/疲労がないことを表し、10は、最大ハプティック密度/最大疲労を表す。一例では、2秒間に10ms間隔で繰り返す、特定のハプティック出力デバイスに対する最大の大きさの効果は、3のハプティック密度累積ファクターを与えることができる。35%の大きさにおいて100msで作動される追加の効果も、2のハプティック密度累積ファクターを与えることができる。効果が互いに近い時刻に発生した場合、ほぼ5のハプティック効果密度が得られる。効果が30秒の線形ハプティック密度減衰ファクターを有する場合、疲労レベルへの各効果の寄与は、30秒後にそれぞれの寄与が0になるように直ちに定レートで減衰し始める。この例では、15秒後に、疲労レベルはほぼ2.5になる。
【0060】
上記で論述したように、疲労レベルは、ハプティック効果密度計算及び制御デバイス使用量の尺度の双方を含むことができる。制御デバイス使用量の尺度は、ユーザーがどの程度長く制御デバイスを用いてきたか及び/又はデバイスがどの程度の頻度で用いられてきたかを反映することができる。したがって、長い期間の間コントローラーを動作させてきたユーザーには、それよりも短い期間の間コントローラーを動作させてきたユーザーと比較して、より高い疲労レベルを定めることができる。制御デバイス使用量の尺度は、制御デバイスがどの程度の頻度で用いられてきたかの尺度も含むことができ、例えば、どの程度の数のトリガーのプル、ボタンの押下、ジョイスティック/ジョイパッドの移動等が行われてきたかも含むことができる。幾つかの実施態様では、トリガーのプルの深さ、ボタンの押下の深さ等を制御デバイス使用量の尺度に含めることができる。幾つかの実施態様では、これらのアクションのそれぞれに必要とされる力の量を制御デバイス使用量の尺度に含めることができる。制御デバイス使用量の尺度は、ハプティック効果に関して上記で説明したものと同様に、制御デバイス使用量累積ファクター及び制御デバイス使用量減衰ファクターによって求めることができる。すなわち、異なる制御移動は、制御デバイス使用量の尺度に相対的により多くの量寄与することができ、各制御移動は、制御デバイス使用量の尺度から時間とともに減衰することができる。制御デバイス使用量減衰ファクターは、ハプティック密度減衰ファクターと同じタイプの全てを含めて、サイズ及びタイプが変化してもよい。
【0061】
動作802において、疲労レベルの先の反復及び更新以降に発生したハプティック効果及び/又は制御デバイス使用量に基づいて疲労レベルを更新することができる。発生した各ハプティック効果は、そのハプティック密度累積ファクターに従ってハプティック効果密度の値に寄与することができる。各制御デバイス使用量は、その制御デバイス使用量累積ファクターに従って制御デバイス使用量の値に寄与することができる。
【0062】
さらに、動作802において、ハプティック効果が発生した以降の期間に基づくハプティック効果からの寄与の減衰に従って、ハプティック効果密度及び制御デバイス使用量測定値を低減することができる。幾つかの実施態様では、疲労レベルに寄与する各ハプティック効果及び各制御デバイス使用量は、それらの累積ファクター、減衰ファクター、及び発生時刻に従って記憶することができる。幾つかの実施態様では、発生したハプティック効果及び/又は制御デバイス使用量の全ての特性を記憶することができる。減衰ファクター、発生時刻、及び現在時刻に基づいて、疲労レベルへの各ハプティック効果及び/又は各制御デバイス使用量の寄与を、例えば、それらの累積ファクターに基づいて低減し、現在の疲労レベルを求めることができる。
【0063】
上記で論述したように、システムは、疲労レベル算出に用いられる追加データを収集する追加センサーを備えることができる。例えば、追加センサーは、バイオメトリックセンサーを含むことができる。バイオメトリックセンサーからのバイオメトリックデータは、幾つかの実施形態では、疲労レベル算出に含めることができる。例えば、特定の身体部分における温度変化は、ハプティック効果の結果としての血流の増加又は減少を示すことができる。疲労レベルを計算するために他のバイオメトリックデータを監視することができ、他のバイオメトリックデータは、発汗レベル、瞳孔拡張、電気皮膚反応等を含むが、これらに限定されるものではない。これらのそれぞれは、ユーザー疲労に寄与することができるユーザーのストレス及び/又は活動を測定することができる。幾つかの実施形態では、システムは、コントローラーのハウジング内に追加の力センサーを備えることができる。そのような力センサーは、ユーザーがコントローラーを把持又は保持するのに用いる力の量を測定することができる。握り拳又は手等による活性化した筋群からの増加した把持力は、ユーザー疲労の増加をもたらす場合がある。
【0064】
疲労レベルは、動作803において、疲労閾値と比較することができる。疲労レベルと疲労閾値との比較を用いて、ハプティック効果を変更するか否かを判断することができる。疲労閾値は、1つ以上の閾値レベルを含むことができる。ソフト閾値レベルは、ハプティック効果の低減を判断するのに用いることができる。ハード閾値は、1つ以上のタイプのハプティック効果を除去するか否かを判断するのに用いることができる。疲労レベルと疲労閾値との比較に基づいて、システムは、幾つか又は全てのハプティック出力コマンドを変更する、例えば、計画されたハプティック効果をハプティック効果プレーバックから低減又は除去すると判断することができ、及び/又は幾つか又は全てのハプティック出力コマンドを変更しないと判断することができる。
【0065】
ハプティック効果変更を判断するために疲労レベルとの比較に用いられる疲労閾値は、所定のものとすることができ、動的に求めることができ、及び/又はユーザー定義とすることができる。幾つかの実施態様では、所定の疲労閾値は、平均ユーザー疲労体験に従って求められたデフォルト設定に従って設定することができる。幾つかの実施態様では、ユーザーが所定の疲労閾値を調整することを可能にすることができ、ユーザー定義の疲労閾値を設定するために、ユーザープリファレンスに応じて閾値を上昇又は低下させることが可能になる。幾つかの実施態様では、ユーザーが特定のハプティック出力デバイス及び/又は特定のハプティック効果について閾値を調整することを可能にすることができる。幾つかの実施態様では、疲労閾値を動的に求めることができる。動的な疲労閾値は、例えば、測定されたユーザー活動に従って求めることができる。特定のユーザー入力要素、アクチュエーター、身体部分、及び/又はコントローラー全体の活動の増加を含むユーザー活動の増加によって、ハプティック効果変更に必要とされる疲労閾値を下げることができる。逆に、ユーザー活動の減少によって、ハプティック効果変更に必要とされる疲労閾値を上げることができる。例えば、幾つかのゲーミング状況は、高速に繰り返されるアクション、例えば、高速のトリガーのプルを必要とする。このタイプのユーザー活動は、疲労閾値を動的に調整する、例えば、下げるのに用いることができる。したがって、高速のトリガーのプルに関連付けられたハプティック効果は、ハプティック効果密度の急速な累積を引き起こす場合があるが、高速のトリガーのプルは、ハプティック効果変更の動的な閾値の低下も引き起こす場合がある。
【0066】
上記で論述したように、特定の疲労レベルは、制御システム全体、個々のアクチュエーター、個々のユーザー入力要素、及び/又はハプティック効果を受ける個々の身体部分について算出することができる。疲労閾値も同様に、制御システム全体、個々のアクチュエーター、個々のユーザー入力要素、及び/又は個々の身体部分に固有のものとすることができる。これらの態様のそれぞれは、ハプティック効果がその特定の態様について変更される疲労閾値を規定する関連付けられた疲労プロファイルを有することができる。例えば、トリガー疲労レベルを比較するための疲労閾値は、ジョイスティック疲労レベルを比較するための疲労閾値と異なってもよい。同様に、親指疲労レベルの疲労閾値は、人差し指疲労レベルの疲労閾値と異なってもよい。
【0067】
疲労レベルと疲労閾値との比較によって、疲労レベルが疲労閾値を越えていると判断されると、動作804において、ハプティック効果を変更する決定を行うことができる。例えば、比較によって、疲労レベルがソフト閾値を越えていると判断されると、ハプティック効果変更フラグを設定することができる。このハプティック効果変更フラグは、いずれか又は全てのハプティック出力コマンドを変更して、関連付けられたハプティック効果のハプティック密度累積ファクターの低減を実施するように、システムのプロセッサ(例えば、コンピューターシステム又は関連付けられたハプティック対応デバイスのプロセッサ)に信号伝達するように動作することができる。ハプティック効果変更フラグは、ハプティック効果が変更されるか否かのみを示す2値とすることができる。この場合、ハプティック効果変更量は、所定のものとすることができ、及び/又はユーザーが定めることができる。ハプティック効果変更フラグは、ハプティック効果を低減する量を示す値を含むこともできる。幾つかの実施形態では、ハプティック変更フラグの値は、疲労レベルがソフト閾値を越えている量に従って定めることができる。別の例では、疲労レベルと疲労閾値との比較によって、疲労レベルがハード閾値を越えていると判断されると、今後のハプティック効果を取り消すことを示すようにハプティック効果変更フラグを設定することができる。
【0068】
ハプティック効果変更は、ハプティック出力コマンドを変えて、ハプティック出力デバイスによって生成される効果を変更することを含むことができる。そのような変更は、計画されたハプティック効果のハプティック密度累積ファクターを低減し、したがって、今後のハプティック効果密度レベルを低減するように、計画されたハプティック効果を調整することを含むことができる。このように、ハプティック効果の強度、大きさ、継続時間、及び/又は頻度を低減するようにハプティック出力コマンドを変更することができる。ハプティック出力コマンドは、計画されたハプティック効果のハプティック密度累積ファクターを特定の量だけ低減し、ハプティック効果を所定のレベルに低減し、及び/又はハプティック効果を当初意図された値の或るパーセントだけ低減するように変更することができる。幾つかの実施態様では、ハプティック出力コマンドは、個々のハプティック効果のハプティック密度累積ファクターを変更するように変更することができる。例えば、一連の振動の総ハプティック密度累積ファクターは、この一連の振動における各振動の強度及び/又は継続時間を低減することによって低減することができる。幾つかの実施態様では、ハプティック出力コマンドは、個々のハプティック効果をグループ化したもののハプティック密度累積ファクターを変更するように変更することができる。例えば、一連の振動の総ハプティック密度累積ファクターは、1つおきの振動を除去することによって低減することができる。
【0069】
幾つかの実施形態では、ハプティック効果の変更は、当初ハプティック出力追跡から変更済みハプティック出力追跡に切り替えることを含むことができる。当初ハプティック出力追跡は、変更されていないハプティック効果を引き起こすことに用いられる標準的なハプティック出力追跡とすることができる。ハプティック変更フラグが設定されており、ハプティック効果変更が必要とされているとき、疲労レベルが再び閾値を下回るまで、代わりの変更済みハプティック出力追跡を用いて、変更されたハプティック効果を引き起こすことができる。当初ハプティック出力追跡及び変更済みハプティック出力追跡の双方は、事前に記録しておくことができる。
【0070】
幾つかの実施形態では、ハプティック効果の変更は、制御デバイス使用量累積ファクターを減少させる、ハプティック出力コマンドに対する変更を含むことができる。例えば、トリガーのプルの行程又は距離の増加は、制御デバイス使用量累積ファクターの増加を引き起こすことがある。ハプティック出力コマンドに対する変更は、ユーザーがプレーしているゲームにおいて所望の効果を引き起こすのに必要とされるトリガー行程の量を低減することを含むことができる。ハプティック出力コマンドに対する変更は、プルに必要とされる力の量を低減することによって、及び/又は力フィードバックハプティック出力デバイスを用いて、ユーザーがトリガーのプルを完了することを助ける際に力を提供することによって、ユーザーのトリガーのプルを援助することを含むことができる。ボタン及びジョイスティック/ジョイパッドを含む他のタイプのユーザー入力方法に関連付けられたハプティック出力デバイスに関して、同様の変更を行うことができる。
【0071】
幾つかの実施形態では、ハプティック効果の変更は、代替のアクチュエーター、代替のユーザー入力要素、及び/又は代替の身体部分においてハプティック効果を引き起こす、ハプティック出力コマンドに対する変更を含むことができる。特定のアクチュエーター、ユーザー入力要素、及び/又は身体部分に関連付けられた疲労レベルが、そのアクチュエーター、ユーザー要素、及び/又は身体部分に関連付けられた疲労閾値を越えているとき、異なるアクチュエーター、ユーザー要素、及び/又は身体部分においてハプティック効果を実施することができる。例えば、ユーザーの右人差し指に関連付けられた疲労レベルが疲労閾値を越えていると判断された場合、ユーザーの右親指を置くように意図された場所に配置されたアクチュエーターを起動することによって、右人差し指を対象としたハプティック効果をユーザーの右親指に体験させるようにハプティック出力コマンドを変更することができる。このように、ユーザーは、どの1つの指も過度の疲労を体験することなく、当初意図されたハプティック効果と少なくとも或る程度は類似したハプティック効果を体験する。
【0072】
幾つかの実施形態では、ハプティック効果の変更は、当初意図されたハプティック効果の代わりにオーディオ効果及び/又は他の効果を用いることを含むことができる。例えば、コントローラー全体に関連付けられた疲労レベルが疲労閾値を越えている場合、ハプティック効果の変更は、大きさが減少したランブル効果を、大きさが増加したオーディオ効果と組み合わせることを含むことができる。
【0073】
動作803における疲労レベルと疲労閾値との比較によって、疲労レベルが疲労閾値を越えていないと判断されると、動作805において、ハプティック出力コマンドを変更しない決定を行うことができる。そのような結果が生じると、以前に設定されたいずれのハプティック変更フラグも解除することができ、新たなハプティック変更フラグが設定されるまで、今後の全てのハプティック効果は、最初に意図されたものとして発生することができる。
【0074】
幾つかの実施態様では、システムは、複数のハプティック出力デバイスグループに従って複数のハプティック変更フラグを決定することができる。上記で論述したように、システムに関連付けられた制御デバイスは、2つ以上のハプティック出力デバイスを備える場合がある。
図8のハプティック変更決定プロセスの制御ループ800の間、複数のハプティック出力デバイスグループの疲労レベルを求めることができる。これらのグループは、ハプティック出力デバイスごとの個別のグループ、ハプティック出力デバイスの組み合わせのグループ、及び/又は制御デバイス内の全てのハプティック出力デバイスのグループを含むことができる。求められた各疲労レベルは、この疲労レベルに関連付けられたそのハプティック出力デバイスグループに適切な疲労閾値と比較することができ、システムは、ハプティック出力デバイスグループごとに個別のハプティック変更フラグを設定することができる。したがって、実際には、例えば、システムは、左トリガーに関するハプティック出力コマンドを変更するが、右トリガーに関するハプティック出力コマンドを変更せずに残すと判断することができる。幾つかの実施態様では、単一のプロセス制御ループ800を実行して、全てのハプティック出力デバイスグループのハプティック出力変更を求めることができる。幾つかの実施態様では、複数のプロセス制御ループ800を実行することができ、各ループは、1つ以上のハプティック出力デバイスグループのハプティック変更を求めることに関連付けられている。
【0075】
図8のハプティック変更決定プロセスの制御ループ800は、ループ繰り返し動作806において完了する。制御ループは、その後、ハプティック出力コマンド認識動作801に戻って、ハプティック出力コマンドが、先のハプティック出力コマンド認識動作801以降に発生したか否かを判断する。
【0076】
したがって、
図8のハプティック変更決定プロセスの制御ループ800は、疲労レベルの決定を連続して更新し続けることができ、これらの疲労レベルに基づいて、ハプティック変更フラグを設定することができる。ハプティック変更フラグは、
図9に示すハプティックコマンドプロセス900に示すように、ハプティック出力コマンドを変更するか否かを判断するために、システムに関連付けられたプロセッサが参照することができる。
【0077】
図9は、ハプティック出力コマンドを変更して出力する1つ以上のプロセッサによって実行可能なハプティックコマンドプロセス900を示している。
【0078】
動作902において、コンピューターシステム及び/又は接続されたハプティック対応デバイスに関連付けられた少なくとも1つのプロセッサによって、ハプティック出力コマンドを求めることができる。求められたハプティック出力コマンドは、ハプティック対応デバイスに関連付けられた1つ以上のハプティック出力デバイスによって1つ以上のハプティック効果を引き起こすように構成することができる。したがって、ハプティック出力コマンドは、ハプティック出力デバイスを起動させて、当初のハプティック効果を実行する命令を含むことができる。ハプティック出力コマンドを求めることは、ハプティック出力コマンドを発信すること及び/又は受信することを含むことができる。ハプティックコマンドを発信することは、上記で論述したように、ソフトウェア命令の実行に基づくハプティック出力コマンドの生成を含むことができる。ハプティック出力コマンドを受信することは、ハプティック出力コマンドを1つのプロセッサによって別のプロセッサから受信することを含むことができる。
【0079】
動作904において、コンピューターシステム及び/又は接続されたハプティック対応デバイスに関連付けられた少なくとも1つのプロセッサによってハプティックコマンド変更ステータスを求めることができる。このハプティックコマンド変更ステータスは、特定のハプティックコマンドを変更するか否か及びどのように変更するかについての情報を含むことができる。
図9の実施態様では、ハプティックコマンド変更ステータスは、ハプティック出力コマンドを変更するか否か及びどのように変更するかについての情報を含むことができる。上記で論述したように、ハプティックコマンド変更は、ハプティック出力コマンドによって指定された1つ以上のハプティック効果の強度、大きさ、頻度、及び継続時間に対する変更を含むことができる。ハプティックコマンド変更は、1つ以上の指定されたハプティック効果の除去を更に含むことができる。幾つかの実施態様では、ハプティックコマンド変更ステータスを求めることは、求められたハプティック出力コマンドに対応するハプティック変更フラグを検査することを含むことができる。例えば、振動ハプティック効果を特定のハプティック出力デバイスに提供するハプティック出力コマンドは、この特定のハプティック出力デバイスに関連付けられた全てのハプティック変更フラグの検査をもたらす場合がある。上記で論述したように、ハプティック出力デバイスは、変更フラグを目的として1つ以上のハプティック出力デバイスグループに含めることができる。さらに、上記で論述したように、ハプティック変更フラグは、ハプティックコマンドが、例えば、効果の低減及び/又は効果の取り消しによって変更される方法を示すことができる。ハプティック変更フラグに従って、ハプティックコマンド変更ステータスを求めることができる。
【0080】
動作906において、コンピューターシステム及び/又は接続されたハプティック対応デバイスに関連付けられた少なくとも1つのプロセッサによって置換ハプティック出力コマンドを求めることができる。この置換ハプティックコマンドは、ハプティック出力コマンド及びハプティックコマンド変更ステータスに基づいて求めることができる。
【0081】
ハプティックコマンド変更ステータスが、変更が必要とされていないことを示している場合、置換ハプティック出力コマンドは、当初のハプティック出力コマンドによって示されるものと同じハプティック出力効果を引き起こすように構成されたハプティック出力コマンドとすることができる。この場合における当初のハプティック出力コマンドと置換ハプティック出力コマンドとは同一であってもよい。このシナリオにおける当初のハプティック出力コマンドと置換ハプティック出力コマンドとは異なってもよい。上述したように、ハプティック出力コマンドは、それらのソース及びデスティネーションに従って異なってもよい。例えば、ハプティック対応デバイスに関連付けられたプロセッサは、コンピューターシステムに関連付けられたプロセッサからハプティック出力コマンドを受信することができる。ハプティック対応デバイスのプロセッサは、ハプティックコマンド変更ステータスに基づいて、ハプティック効果の変更が必要ないと判断する場合があるが、ハプティック対応デバイスに関連付けられたハプティック出力デバイスによる受信用に改変された置換ハプティックコマンドを出力することができる。例えば、ハプティック対応デバイスのプロセッサは、特定の一組の計画されたハプティック効果を要請するハプティック情報信号を受信することができる。ハプティック対応デバイスのプロセッサは、このハプティック情報信号を処理し、ハプティック出力デバイスによって受信されると特定の一組の計画されたハプティック効果を引き起こすように構成されたハプティック作動信号を出力することができる。したがって、この状況では、第1の受信されたハプティック出力コマンドと第2の送信されたハプティック出力コマンドとは異なるが、置換ハプティック出力コマンドは、ハプティック効果変更について改変されていない。
【0082】
ハプティックコマンド変更ステータスが、変更が必要とされていることを示している場合、置換ハプティック出力コマンドは、当初のハプティック出力コマンドによって示されたハプティック効果に対して変更されたハプティック効果を引き起こすように構成されたハプティック出力コマンドとすることができる。本明細書において論述したいずれか又は全てのハプティック効果変更は、置換ハプティック出力コマンドに適用することができる。
【0083】
幾つかの実施態様では、ハプティックコマンド変更ステータスが、ハプティック効果変更が必要とされていることを示している場合、プロセッサは、当初のハプティック出力コマンドの優先インジケーター(override indicator)に基づいて、当初のハプティック出力コマンドによって示されたものと同じハプティック効果を引き起こすように構成された置換ハプティック出力コマンドを出力することができる。例えば、ビデオゲームでは、特定のハプティック効果がゲームプレーに非常に不可欠であるので、そのハプティック効果を変更することがユーザー体験に有害である場合がある。そのようなハプティック効果を示すハプティック出力コマンドは、優先インジケーターを含むことができる。プロセッサは、優先インジケーターを識別すると、効果変更が必要とされていることをハプティックコマンド変更ステータスが示しているにもかかわらず、当初のハプティック効果を示す置換ハプティック出力コマンドを決定することができる。
【0084】
動作908において、コンピューターシステム及び/又は接続されたハプティック対応デバイスに関連付けられた少なくとも1つのプロセッサによって置換ハプティック出力コマンドを出力することができる。上記で論述したように、置換ハプティック出力コマンドは、ハプティック効果を生成するコマンドを示し、動作906の結果に応じて、変更されたハプティック効果を生成するコマンドである場合もあるし、変更されていないハプティック効果を生成するコマンドである場合もある。置換ハプティック出力コマンドは、プロセッサによって出力されて、変更されたハプティック効果又は変更されていないハプティック効果を直接又は間接的に引き起こすことができる。置換ハプティック出力コマンドは、例えば、ハプティック出力デバイスに直接送信されてハプティック出力デバイスを起動し作動を引き起こすハプティック制御信号を含むことができる。置換ハプティック出力コマンドは、例えば、別のプロセッサを介してハプティック出力デバイスに間接的に送信されるコマンドも含むことができる。
【0085】
図9に沿った代替の実施態様では、ハプティック出力コマンドが受信されると、疲労レベルを更新することができ、閾値比較を行うことができる。本システムのそのような実施態様では、
図8のハプティック変更決定プロセスの制御ループ800は必要とされない。その代わりに、動作904において、ハプティックコマンド変更ステータスを求めることは、疲労レベルを更新することと、更新された疲労レベルを疲労閾値と比較して、ハプティック出力コマンドを変更するか否かを判断することとを含むことができる。疲労レベルの更新及び閾値比較は、ハプティック出力コマンドが受信されたときに行うことができる。そのような実施態様では、疲労レベルは、動作802に関して説明したのと同じ方法で更新することができる。先の疲労レベル更新以降に発生した全ての先のハプティック効果を処理して、それらのそれぞれのハプティック密度累積ファクターに従って疲労レベルを更新することができる。先の疲労レベル更新以降の制御デバイス使用量を処理して、それぞれの制御デバイス使用量累積ファクターに従って疲労レベルを更新することができる。疲労レベルは、ハプティック密度減衰ファクター、制御デバイス使用量減衰ファクター、並びにそれぞれのハプティック効果及び制御デバイス使用の発生以降の経過時間に従って更に更新することができる。更新後、動作803に関する上記説明と同様に、疲労レベルを疲労閾値と比較して、ハプティックコマンド変更ステータスを求めることができる。求められたハプティックコマンド変更ステータスは、当初のハプティック出力コマンドを変更するか否か及びどのように変更するかについての情報を含むことができる。上記で論述したように、ハプティックコマンド変更は、ハプティック出力コマンドによって指定された1つ以上のハプティック効果の強度、大きさ、頻度、及び継続時間に対する変更を含むことができる。ハプティックコマンド変更は、1つ以上の指定されたハプティック効果の除去を更に含むことができる。
【0086】
図10は、本発明の一実施形態に沿ったハプティック効果を変更するシステムの動作を示すプロセス図である。ハプティックシステムコマンドプロセス1000は、システム内のハプティック密度を変更する1つ以上のプロセッサによって実行可能である。ハプティックシステムコマンドプロセス1000は、ハプティックプレーバックシステムの使用中に連続して動作することができ、ハプティック密度を連続して算出し、必要に応じてハプティック出力レベルを調整することができる。
【0087】
動作1002において、ハプティックプレーバックシステムが始動される。ハプティックプレーバックシステムは、当該システムとともに用いられる様々なハプティック対応デバイスを備える。例えば、ハプティックプレーバックシステムは、
図2〜
図4に示すような1つ以上の片手用コントローラー又は両手用コントローラーのハプティック対応トリガー、ハプティック対応ボタン、及びハプティック対応ジョイスティックと、それらに備えられる任意のランブルタイプの振動アクチュエーターとを備えることができる。
【0088】
動作1004において、ハプティック効果密度を算出することができる。このハプティック効果密度は、
図10に関しては、ハプティックプレーバックの密度又はハプティックプレーバック密度とも呼ばれる場合がある。このハプティックプレーバックの密度は、システム全体、システム内のそれぞれの個々のハプティック対応デバイス、及び特定のユーザーの身体部分について算出することができる。例えば、左右のランブルデバイスと、左右のハプティック対応トリガーとを有するコントローラーを備えるシステムでは、各ランブルデバイス及び各トリガーは、それ自体のハプティック効果密度を有することができる一方、これらのデバイスの全ての組み合わせは、システム全体のハプティック効果密度を表すことができる。システムが、同じ身体部分によって用いられるように意図された複数のマニピュランダム、例えば、右人差し指によって起動されるように意図された右トリガー及び右バンパーを有するコントローラーを備える場合、システムは、このトリガー及びバンパーの双方に関連付けられたハプティック効果密度を組み合わせて、右人差し指が体験したハプティック効果密度を求めることができる。このハプティック効果密度は、実行されたハプティック効果の大きさ、継続時間、及び頻度又は周期に従って算出することができる。ハプティック対応力フィードバックトリガーの場合、ハプティック効果密度は、トリガー押圧のパーセンテージ、トリガー移動の行程又は距離のパーセンテージ、ユーザーの指に対する衝撃力の量、トリガーにおけるユーザーの指のロケーション等に従って算出することができる。実行された各ハプティック効果は、実行後の指定された期間、例えば、減衰期間の間、ハプティックプレーバック密度に寄与することができる。減衰期間の間、ハプティックプレーバック密度へのこの特定のハプティック効果の寄与は、実行以降の時間に基づいて低減することができる。幾つかの実施態様では、ハプティックプレーバック密度へのこの特定のハプティック効果の寄与は、減衰期間全体を通じて同じままとすることができる。減衰期間の満了後、プレーバック密度への各ハプティック効果の寄与は除去される。
【0089】
動作1006において、システムは、当該システムにおけるハプティックプレーバックの密度が調整を要するか否かを判断することができる。この調整の判断は、システム全体の算出されたハプティックプレーバック密度と、所定の密度閾値又はユーザープリファレンス密度閾値のいずれかとの比較に基づいて行うことができる。ハプティックプレーバック密度が閾値を越えている場合、ハプティックプレーバックの密度を低減する判断を行うことができる。ハプティックプレーバック密度が閾値を越えていない場合、ハプティックプレーバックの密度をデフォルト又は当初のハプティック出力レベルと一致するように増加させる判断を行うことができる。
【0090】
動作1008において、システムは、動作1006において行われた判断に従ってハプティック出力レベルを調整することができる。ハプティックプレーバック密度が閾値(所定の閾値又はユーザーの好ましい閾値のいずれか)を越えている場合、今後のハプティックプレーバック密度を低減するようにハプティック出力レベルを調整することができる。ハプティック出力レベルは、各ハプティック効果の大きさ、継続時間、及び頻度又は周期を変更することによって調整することができる。力フィードバックトリガーの場合、許容できる行程距離を最大行程距離の或るパーセンテージだけ低減することができる。例えば、力フィードバックアクチュエーターは、各トリガーのプルに利用可能な総距離を制限することができる。動作1008の終わりに、システムフローは、動作1004に戻って、ハプティックプレーバック密度を算出することができる。
【0091】
ハプティックコマンドプロセス1000の実行中、ゲームプレー等の他のシステムアクションを、ハプティックコマンドプロセス1000とは別に継続することができる。ハプティックコマンドプロセス1000は、動作1004、1006、及び1008を通って連続してループし、現在のハプティックプレーバック密度を算出し、それに応じてハプティック出力レベルを上下に調整することができる。
【0092】
図11は、本発明の一実施形態に沿ったハプティック効果を変更する制御ループの動作を示すプロセス図である。ハプティック制御ループ1100は、システム内のハプティック効果密度を変更する1つ以上のプロセッサによって実行可能である。
【0093】
動作1102において、ハプティック効果が現在実行されているか否かが判断される。効果が現在実行されているとの判断がなされた場合、その後動作1103において、効果の密度値又は密度評価値(rating)とも呼ばれるハプティック密度累積ファクターが、システム内の総ハプティック効果密度又は疲労値に加えられ、制御ループは、動作1102に戻って、ハプティック効果の実行の検査を続けることもできるし、動作1105に進んで、以下で論述するように、ハプティック効果又は先のハプティック効果がそれらの指定された減衰期間内又は減衰閾値内で発生したか否かを判断することもできる。
【0094】
動作1102において、効果が行われていないとの判断がなされた場合、動作1104において、近時に実行されたハプティック効果の密度値又は密度評価値を求めることができる。次に、これらの密度値又は密度評価値を、それらのハプティック密度減衰ファクターに基づいて評価し、動作1105において、効果がその指定された減衰期間内又は減衰閾値内で発生したか否かを判断することができる。指定された減衰期間内で行われた効果のハプティック密度値又は密度評価値は、動作1103において総ハプティック効果密度値に寄与し続けることができる。幾つかの実施態様では、これらのハプティック効果密度評価値を、実行以降の時間に従って、すなわち、指定された減衰期間にわたる減衰レートに従って低減することができる。指定された減衰期間外で行われた効果のハプティック効果密度評価値をハプティック効果密度値から除去することができ、ハプティック効果密度値を、動作1106において、適切な量だけ低減することができる。
【0095】
動作1107において、総ハプティック効果密度値を所定の疲労閾値、動的な疲労閾値、及び/又はユーザー定義の疲労閾値と比較して、ハプティック効果密度値が許容可能なパラメーター内に留まっているか否かを判断することができる。ハプティック効果密度値が閾値を越えている場合、さらに、動作1109において、次又は今後のハプティック効果を変更、例えば、低減、弱化、又は除去することができる。ハプティック効果密度値が閾値を越えていない場合、さらに、動作1108において、次又は今後のハプティック効果を変更せずに維持することができる。動作1109又は1108に続いて、制御は、ハプティック制御ループ1100の開始に戻ることができる。
【0096】
上記のように、ユーザー疲労を示す疲労レベルに従ってハプティック効果の変更を行うシステム、デバイス、及び方法が提供される。本発明による種々の実施形態を上述してきたが、これらの実施形態は、限定としてではなく単なる説明及び例として提示されていることを理解すべきである。形式及び細部における種々の変更は本発明の趣旨及び範囲から逸脱することなく本発明内で行うことができることは当業者には明らかであろう。したがって、本発明の範囲(breadth and scope)は、上述の例示的な実施形態のいずれかによって限定されるべきではなく、添付の特許請求の範囲及びそれらの均等物によってのみ規定されるべきである。本明細書において論考された各実施形態、及び本明細書において引用された各引用文献の各特徴は、他の任意の実施形態の特徴と組み合わせて用いることができることも理解されるであろう。言い換えると、ハプティック効果をレンダリングする上記方法の態様は、本明細書において説明した他の方法と任意に組み合わせて用いることもできるし、上記方法は別々に用いることもできる。本明細書において論考された全ての特許及び刊行物はその全体が、引用することにより本明細書の一部をなす。