(57)【要約】      （修正有）【課題】実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するシステム及び方法を提供する。【解決手段】システム１００は、メモリ及びメモリと通信するプロセッサを含むコンピュータデバイスを含み、少なくとも１００ｋＨｚのサンプリングレートを達成することが可能であり、センサ及び触覚出力デバイスを含むユーザデバイス及びコンピュータデバイスと通信するｘＰＣターゲットマシンも含む。プロセッサは、疑似現実環境を生成して、疑似現実環境又はセンサからのセンサ信号に基づいて触覚効果を決定する。プロセッサは、センサ信号又は触覚効果のパラメータに関するデータをｘＰＣターゲットマシンに送信し、触覚効果のパラメータを決定して、実質的にリアルタイムで触覚信号を生成する。ｘＰＣターゲットマシンは、触覚信号を受信して触覚効果を出力するユーザデバイスの触覚出力デバイスに触覚信号を送信する。【選択図】図１
2019192237.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに関する情報を示す情報をキャプチャするように構成されるセンサ、及び触覚出力デバイス備えるユーザデバイスと、
前記第１の処理デバイスに通信可能に結合される第１の処理デバイス及び非一時的なコンピュータ可読媒体を備えるコンピュータ装置と、
ｘＰＣターゲットマシンと
を備えるシステムにおいて、
前記第１の処理デバイスは、
疑似現実環境を生成すること、
前記センサから、前記ユーザに関する前記情報を示すセンサ信号を受信すること、
前記疑似現実環境又は前記センサ信号に基づいて触覚効果を決定すること、及び
前記触覚効果のパラメータに関するデータ又は前記センサ信号を前記ｘＰＣターゲットマシンに送信すること
を含む動作を行うように構成され、
前記ｘＰＣターゲットマシンは、少なくとも１００ｋｈｚのサンプリングレートを達成することが可能であり、
前記触覚効果の前記パラメータを決定すること、
前記ｘＰＣターゲットマシンが前記センサ信号又は触覚効果の前記パラメータに関するデータを受信するときに実質的にリアルタイムで、前記触覚効果に関連付けられる触覚信号を生成することであって、前記触覚信号は、約１Ｈｚから２０ｋＨｚの間の周波数を有すること、及び
前記触覚効果に関係付けられる前記触覚信号を前記触覚出力デバイスに送信することであって、前記触覚出力デバイスは前記触覚信号を受信して前記触覚効果を出力するように構成されること
を行うように構成される第２の処理デバイスを備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、ユーザインターフェースデバイスに関する。より詳細には、本開示は、限定されないが、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供することに関する。
【背景技術】
【０００２】
拡張現実（ＡＲ）デバイスは、物理オブジェクト又は「実世界」オブジェクトが仮想空間における仮想オブジェクトと同時に表示される拡張現実環境を提供する。同様に、仮想現実（ＶＲ）デバイスは、ＶＲ環境におけるユーザの物理的存在をシミュレートすることができるＶＲ環境を生成するために使用され得る。ＡＲ又はＶＲデバイスのユーザは、ＡＲ又はＶＲ環境を観察して、ＡＲ又はＶＲ環境における仮想オブジェクトを見るか又はそれと相互作用することができる。しかしながら、いくつかのＡＲ又はＶＲデバイスは、触覚フィードバック機能を欠く場合がある。さらに、いくつかのＡＲ又はＶＲデバイスは、静的触覚フィードバック又はプレイバック（例えば、ＡＲ又はＶＲ環境とユーザの相互作用に基づいた既定の触覚効果）、及び動的触覚フィードバック又はプレイバック（例えば、ユーザがＡＲ又はＶＲ環境と相互作用するときに経時的に変化する１つ以上の触覚効果）を提供しない場合がある。さらに、いくつかのＡＲ又はＶＲデバイスは、実質的にリアルタイムで触覚フィードバック又はプレイバック（例えば、ユーザがＡＲ又はＶＲ環境と相互作用するときに実質的にリアルタイムで知覚される触覚効果）を提供しない場合がある。
【発明の概要】
【０００３】
本開示の様々な実施形態は、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためのシステム及び方法を提供する。
【０００４】
一実施形態では、システムは、ユーザの相互作用を示す情報又はユーザに関する生物若しくは生体情報又はユーザの環境に関する任意の情報をキャプチャするように構成されるセンサを備えるユーザデバイスを備える。ユーザデバイスは、触覚出力デバイスをさらに備える。システムは、第１の処理デバイス及び第１の処理デバイスに通信可能に結合される非一時的なコンピュータ可読媒体をさらに備える。第１の処理デバイスは、疑似現実環境を生成すること、センサから、ユーザに関する情報を示すセンサ信号を受信すること、疑似現実環境又はセンサ信号に基づいて触覚効果を決定すること、及びセンサ信号又は触覚効果のパラメータに関するデータをｘＰＣターゲットマシンに送信することを含む動作を行うように構成される。システムは、少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚ以上のサンプリングレートを達成することができるｘＰＣターゲットマシンをさらに備え、触覚効果のパラメータを決定するように構成される第２の処理装置を備える。また、第２の処理デバイスは、ｘＰＣターゲットマシンがセンサ信号又は触覚効果のパラメータに関するデータを受信するときに実質的にリアルタイムで、触覚効果に関連付けられる触覚信号を生成するように構成され、触覚信号は、約１Ｈｚから２０ｋＨｚの間の周波数を有する。また、第２の処理デバイスは、触覚信号を受信して触覚効果を出力するように構成される触覚出力デバイスに触覚効果に関連付けられる触覚信号を送信するように構成される。
【０００５】
こうした例示の実施形態は、本主題を限定し又はその限界を定義するためではなく、その理解を支援するための例示を提供するために言及されている。例示の実施形態は、詳細な説明において検討され、そこではさらなる説明が提供される。本明細書を吟味することによって、及び／又は請求項に記載の主題の１つ以上の実施形態を実施することによって、様々な実施形態によってもたらされる利点がさらに理解され得る。
【図面の簡単な説明】
【０００６】
本明細書の以下の部分には完全なかつ実施可能な開示がより詳細に説明されている。本明細書は以下の添付の図面を参照する。
【０００７】
【図１】一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためのシステムを示すブロック図である。
【０００８】
【図２】一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するために生成され得る相互作用可能ユーザインターフェースの例示である。
【０００９】
【図３】一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するために生成され得る相互作用可能ユーザインターフェースの例示である。
【００１０】
【図４】一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するための方法を実行するステップのフローチャートである。
【発明を実施するための形態】
【００１１】
次に、多様な及び代替的な例示の実施形態及び添付の図面を詳細に参照する。各例示は、限定としてではなく、説明目的で提供されている。修正及び変更が行われ得ることは、当業者には明らかであろう。例えば、一実施形態の一部として例示され又は記載された特徴は、さらなる実施形態をもたらすために別の実施形態において使用されてもよい。したがって、本開示は、添付の請求項及び均等物の範囲に入る修正及び変形を含むことが意図されている。
【００１２】
（実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供することの例示）
本開示の１つの例示の実施形態は、メモリ及びメモリと通信するプロセッサを含むコンピュータデバイスを備える。コンピュータデバイスは、センサを備えるウェアラブルデバイス等のユーザデバイスに通信可能に結合される。この例示では、コンピュータデバイス及びユーザデバイスは、それぞれがｘＰＣターゲットモジュールを含むメモリ及びメモリと通信するプロセッサを含むｘＰＣターゲットマシン又はデバイスに通信可能に結合され得る。いくつかの例示では、クロスプロセス又はプロセス間通信（例えば、１つ以上のデバイスの間）を行うように構成され得る任意のデバイスを含む。いくつかの場合には、ｘＰＣターゲットマシンは、コンピュータデバイス及びユーザデバイスからデータを取得して、実質的にリアルタイムでデータを処理又は分析することができる。
【００１３】
例示の実施形態では、コンピュータデバイスは、ユーザデバイスを使用して疑似現実環境（例えば、仮想又は拡張現実環境）を生成して出力することができ、ユーザデバイスのユーザは、ユーザデバイスを使用して疑似現実環境と相互作用することができる。この例示では、コンピュータデバイスは、疑似現実環境及び疑似現実環境とユーザの相互作用に関するデータをキャプチャすることができる。例えば、コンピュータデバイスのプロセッサは、（例えば、疑似現実環境において仮想オブジェクトを押すか又はそれにタッチするときに）疑似現実環境に関するデータをキャプチャすることができる。ユーザデバイスのセンサは、疑似現実環境とユーザの相互作用に関する情報（例えば、ユーザの体の一部の動き、ユーザ入力、又は疑似現実環境との任意の他の相互作用に関するデータ）をキャプチャして、疑似現実環境とユーザの相互作用に関してキャプチャされた情報を示す信号をコンピュータデバイスのプロセッサに送信することができる。コンピュータデバイスのプロセッサは、疑似現実環境に関するデータ又は疑似現実環境とユーザの相互作用に少なくとも部分的に基づいて１つ以上の触覚効果の１つ以上のパラメータを決定することができる。
【００１４】
この例示では、ｘＰＣターゲットモジュールは、コンピュータデバイスのプロセッサから１つ以上の触覚効果の１つ以上のパラメータに関するデータ及び／又はユーザデバイスのセンサから取得したセンサデータをｘＰＣターゲットマシンに取得（例えば、受信）させる命令を含み得る。ｘＰＣターゲットマシンは、触覚効果のパラメータに基づいて触覚信号を生成して、ユーザデバイスに関連付けられる触覚出力デバイスに触覚信号を送信することができる。触覚出力デバイスは、触覚信号を受信して、触覚信号に基づいて１つ以上の触覚効果を出力するように構成される。
【００１５】
一例として、ユーザが疑似現実環境と相互作用しているときに、ユーザは、（例えば、仮想オブジェクトを選択するためのユーザ入力を提供するために）疑似現実環境において仮想オブジェクトをタップし得る。この例示では、コンピュータデバイスのプロセッサは、ユーザが仮想オブジェクトをタップしていることを示すデータを取得し得る。プロセッサは、ユーザが仮想オブジェクトをタップしていることに関連付けられる触覚効果のパラメータを決定し得る。例えば、プロセッサは、ユーザが仮想オブジェクトをタップしていることに静的触覚効果が関連付けられていることを決定し得る。静的触覚効果は、例えば、既定の特徴（例えば、既定の振幅、持続時間、位置、タイプ、ピッチ、周波数等）を有する触覚効果等の既定の触覚効果であり得る。さらにこの例示では、プロセッサは、ｘＰＣターゲットマシンに静的触覚効果に関するデータ又は静的触覚効果のパラメータを送信してもよく、実質的にリアルタイムでデータを処理して静的触覚効果に関連付けられる触覚信号を生成し、触覚出力デバイスに触覚信号を送信してもよく、触覚出力デバイスは、触覚信号に応答して静的触覚効果を出力し得る。
【００１６】
この例示では、ユーザは、疑似現実環境との相互作用を継続してもよく、ユーザデバイスのセンサは、疑似現実環境における仮想オブジェクトとユーザの接触の圧力の量又はユーザの接触の圧力の量の変化を検出する圧力センサであり得る。センサは、圧力の量又は圧力の量の変化に関する情報をキャプチャすると、圧力の量又は圧力の変化を示す１つ以上の信号を実質的にリアルタイムでプロセッサに送信する。それから、プロセッサは、圧力の量又は圧力の変化に関連付けられる触覚効果のパラメータを決定し得る。例えば、プロセッサは、１つ以上の動的触覚効果が仮想オブジェクトとユーザの接触の圧力の量又は圧力の量の変化に関連付けられることを決定し得る。いくつかの例示では、動的触覚効果は、センサによってキャプチャされたデータに基づいて変化又は変動し得る（例えば、ユーザの接触の圧力の量又は圧力の量の変化を示すセンサデータに基づいて変化する）１つ以上の触覚効果を含み得る。さらにこの例示では、プロセッサは、ｘＰＣターゲットマシンに動的触覚効果に関するデータ又は動的触覚効果のパラメータを送信してもよく、それは実質的にリアルタイムでデータを処理して動的触覚効果に関連付けられる１つ以上の触覚信号を生成して、触覚出力デバイスに触覚信号を送信してもよく、これは触覚信号の受信に応答して動的触覚効果を出力し得る。
【００１７】
このようにして、ｘＰＣターゲットマシンは、データを取得しかつ実質的にリアルタイムでデータを処理又は解析して触覚信号を生成するようにコンピュータデバイス及びユーザデバイスに通信可能に結合され、それにより触覚出力デバイスは、実質的にリアルタイムで静的又は動的触覚効果を出力し得る。いくつかの場合には、ｘＰＣターゲットマシンは、少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚのサンプリングレートを達成することができるコンピュータデバイス、サーバ、デバイス等であり得る。これは、ｘＰＣターゲットマシンがコンピュータデバイス又はユーザデバイスからのデータをリアルタイムで処理して、約１Ｈｚから２０ｋＨｚの間の範囲の周波数を有する１つ以上の触覚信号を実質的にリアルタイムで生成することを可能にし得る。例示として、ｘＰＣターゲットマシンは、コンピュータデバイス又はユーザデバイスからのデータをリアルタイムで処理して、約１ｋＨｚの周波数を有する触覚信号を生成し得る。
【００１８】
この例示では、ｘＰＣターゲットマシン及びユーザデバイスは別個のシステムとして記載されているが、本開示はこのような構成に限定されない。その代わり、他の例示では、ユーザデバイス及びｘＰＣターゲットマシンは、単一のシステムの一部であり、ｘＰＣターゲットマシンは、ユーザデバイスのセンサからセンサ信号を受信し得る。
【００１９】
このようにして、本明細書に記載のシステム及び方法は、実質的にリアルタイムで拡張又は仮想現実環境に対して高精細の動的又は静的触覚プレイバック（例えば、効果）を生成して提供することができる。
【００２０】
こうした例示は、本明細書で検討される一般的な主題を読者に紹介するために与えられており、本開示の概念をこの例示に限定することを意図していない。以下の節には、図面を参照して様々な追加の特徴及び例示が記載されている。図面において、同じ数字は同じ要素を示している。また、方向の記載は、例示を記載しているのであって、例示のように、本開示を限定するために使用されるべきではない。
【００２１】
（実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためのシステムの例示）
図１は、一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためのシステム１００を示すブロック図である。図１に描かれている実施形態では、システム１００は、バス１０６を介して他のハードウェアと通信するプロセッサ１０２を有するコンピュータデバイス１０１（例えば、ホストデバイス）を備える。コンピュータデバイス１０１は、例えば、パーソナルコンピュータ、モバイルデバイス（例えば、スマートフォン）、タブレット等を含んでもよい。一部の実施形態では、コンピュータデバイス１０１は、図１に記載の全ての又は一部のコンポーネントを含んでもよい。
【００２２】
ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）又はＥＥＰＲＯＭ（ｒａｓａｂｌｅ  ａｎｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）等の任意の適切な有形の（及び非一時的な）コンピュータ可読媒体を含み得るメモリ１０４が、コンピュータデバイス１０１の動作を構成するプログラムコンポーネントを具現化する。図示の実施形態では、コンピュータデバイス１０１は、１つ以上のネットワークインターフェースデバイス１０８、入力／出力（Ｉ／Ｏ）インターフェースコンポーネント１１０、及び記憶装置１１２をさらに含む。
【００２３】
ネットワークインターフェースデバイス１０８は、ネットワーク接続を容易にする１つ以上の任意のネットワークコンポーネントを表し得る。限定されないが、例示には、イーサネット（登録商標）、ＵＳＢ、ＩＥＥＥ１３９４等の有線インターフェース、及び／又はＩＥＥＥ８０２．１１、ブルートゥース（登録商標）等の無線インターフェース、又は携帯電話ネットワークにアクセスするための無線インターフェース（例えば、ＣＤＭＡ、ＧＳＭ（登録商標）、ＵＭＴＳ又は他の移動通信ネットワーク）が含まれる。
【００２４】
Ｉ／Ｏコンポーネント１１０は、１つ以上のディスプレイ１１４、ゲームコントローラ、キーボード、マウス、ジョイスティック、カメラ、ボタン、スピーカ、マイクロホン、及び／又はデータの入力若しくは出力に使用される他のハードウェア等のデバイスへの有線又は無線接続を容易にするために使用されてもよい。記憶装置１１２は、コンピュータデバイス１０１に含まれ又はプロセッサ１０２に結合される磁気、光学、又は他の記憶媒体等の不揮発性記憶装置を表す。
【００２５】
システム１００は、例えば、モバイルデバイス（例えば、スマートフォン）、スマートウォッチ、ヘッドマウント型ディスプレイ、ウェアラブルデバイス、ハンドヘルドデバイス（例えば、タブレット、ビデオゲームコントローラ）、又は任意の他のタイプのユーザインターフェースデバイスであり得るユーザデバイス１２０（例えば、ローカルデバイス）をさらに備える。いくつかの例示では、ユーザデバイス１２０は、疑似現実環境（例えば、拡張又は仮想現実環境）と相互作用するためにユーザが使用することができる任意のタイプのユーザインターフェースデバイスであり得る。
【００２６】
ユーザデバイス１２０は、バス１２４を介して他のハードウェアと通信するプロセッサ１２２を含み得る。また、ユーザデバイス１２０は、メモリ１２６、ネットワークインターフェースデバイス１２８、Ｉ／Ｏコンポーネント１３０、及びディスプレイ１３２も含んでもよく、これらの各々が、必ずしも必要ではないが、メモリ１０４、ネットワークインターフェースデバイス１０８、Ｉ／Ｏコンポーネント１１０、及びディスプレイ１１４と実質的に同様に構成され得る。
【００２７】
いくつかの実施形態では、ユーザデバイス１２０は、バス１２４に通信可能に接続されかつユーザの触覚入力を感知するように構成され得るタッチ面１３４（例えば、タッチパッド又はタッチ感応面）を備える。この例示では、ユーザデバイス１２０は、ユーザの触覚入力を感知するように構成されるものとして記載されるタッチ面１３４を含むが、本開示はこのような構成に限定されない。その代わりに、他の例示では、ユーザデバイス１２０は、触覚入力を感知するように構成されなくてもよいタッチ面１３４及び／又は任意の表面を含み得る。
【００２８】
いくつかの例示では、ユーザデバイス１２０は、ユーザデバイス１２０のタッチ面１３４及びディスプレイ１３２を組み合わせたタッチ可能ディスプレイを備える。タッチ面１３４は、ディスプレイ１３２上にオーバレイされてもよく、ディスプレイ１３２のエクステリアであってもよく、又はディスプレイ１３２のコンポーネントの上の１つ以上の材料レイヤであってもよい。他の実施形態では、ユーザデバイス１２０は、タッチ可能ディスプレイ上に１つ以上の仮想ユーザインターフェースコンポーネント（例えば、ボタン）を含むグラフィカルユーザインターフェース（ＧＵＩ）を表示してもよく、タッチ面１３４は、仮想ユーザインターフェースコンポーネントとの相互作用を可能にし得る。
【００２９】
いくつかの実施形態では、ユーザデバイス１２０は、１つ以上のセンサ１３６を備える。いくつかの実施形態では、センサ１３６は、例えば、ジャイロスコープ、加速度計、画像センサ、カメラ、磁力計、マイクロホン、温度センサ、力センサ、圧力センサ、心拍センサ、インスリンセンサ、パルスセンサ、慣性測定装置、脳波図、及び／又はユーザ若しくはユーザの相互作用に関する任意の情報を検出、監視又はキャプチャすることができる他のセンサを含んでもよい。例えば、センサ１３６は、ユーザが疑似現実環境と相互作用するときのユーザの動き又はユーザデバイス１２０のユーザの動きに関する情報又はユーザの環境に関する情報をキャプチャすることができる任意のセンサであり得る。別の例示として、センサ１３６は、疑似現実環境における仮想オブジェクトとユーザの接触の圧力の量又はユーザの接触の圧力の量の変化に関する情報をキャプチャする圧力センサであり得る。いくつかの例示では、センサ１３６は、ユーザの相互作用を示す任意の情報、ユーザに関する生物又は生体情報、ユーザの現実又は仮想環境に関する情報、又はユーザに関する任意の他の情報をキャプチャするように構成され得る。
【００３０】
ユーザデバイス１２０は、ｘＰＣターゲットマシン１４２のプロセッサ１２２又はプロセッサ１４０と通信する触覚出力デバイス１３８をさらに備える。触覚出力デバイス１３８は、触覚信号に応答して触覚効果を出力するように構成される。例えば、触覚出力デバイス１３８は、ｘＰＣターゲットマシン１４２のプロセッサ１４２からの触覚信号に応答して触覚効果を出力し得る。別の例示として、ユーザデバイス１２０のプロセッサ１２２は、ｘＰＣターゲットマシン１４２のプロセッサ１４０から触覚信号を受信して、触覚信号を触覚出力デバイス１３８に送信し得る。いくつかの実施形態では、触覚出力デバイス１１８は、例えば、振動、絞り、突き、知覚される摩擦係数の変化、疑似テクスチャ、ストロークの感覚、電気触知効果、又は表面変形（例えば、ユーザデバイス１２０に関連付けられる表面の変形）、及び／又は固体、液体若しくは気体の吹き出しを含む触覚効果を出力するように構成される。さらに、いくつかの触覚効果は、同じ又は異なるタイプの複数の触覚出力デバイス１３８を順番に及び／又は同時に使用してもよい。
【００３１】
図１には単一の触覚出力デバイス１３８が示されているが、いくつかの実施形態では、触覚効果を発生させるために同じ又は異なるタイプの複数の触覚出力デバイス１３８が使用されてもよい。いくつかの実施形態では、触覚出力デバイス１３８は、ユーザデバイス１０１の内部にあり、（例えば、イーサネット（登録商標）、ＵＳＢ、ＩＥＥＥ１３９４等の有線インターフェース、及び／又はＩＥＥＥ８０２．１１、ブルートゥース（登録商標）、又はラジオインターフェース等の無線インターフェースを介して）ｘＰＣターゲットマシン１４２と通信する。例えば、触覚出力デバイス１３８は、ユーザデバイス１２０に関連付けられ（例えば、それに又はその中に結合され）、プロセッサ１４０又はプロセッサ１２２から触覚信号を受信するように構成されてもよい。
【００３２】
触覚出力デバイス１３８は、圧電アクチュエータ、電気活性ポリマー、マクロファイバーコンポジット（ＭＦＣ）素子等の１つ以上を含んでもよい。本明細書で用いられる「ＭＦＣ素子」という用語は、アクチュエータ及びセンサの両方として作用するコンポーネント又は素子を意味するように用いられる。いくつかの例示では、「ＭＦＣ素子」という用語は、エネルギを使用して触覚効果を出力する又は入力としてエネルギを受信するトランスデューサを意味するように用いられ得る。例えば、ＭＦＣ素子は、ＭＦＣ素子が押し下げ、タッチ、折り曲げ等されるときにセンサとして使用され得る。この例示では、ＭＦＣ素子が押し下げ、タッチ、折り曲げ等されるときに、ＭＦＣ素子の１つ以上のアクチュエータリード又は端子が、マイクロコントローラによって検出、増幅、分析等され得る電圧を伝達し得る。
【００３３】
システム１００は、ｘＰＣターゲットマシン１４２をさらに備え、これはバス１４４を介して他のハードウェアと通信するプロセッサ１４０を含む。ｘＰＣターゲットマシン１４２は、例えば、パーソナルコンピュータ又は他のデバイスを含んでもよい。また、ｘＰＣターゲットマシン１４２は、メモリ１４６、ネットワークインターフェースデバイス１４８、Ｉ／Ｏコンポーネント１５０、記憶装置１５２、及びディスプレイ１５４も含んでもよく、これらの各々が、必ずしも必要ではないが、メモリ１０４、ネットワークインターフェースデバイス１０８、Ｉ／Ｏコンポーネント１１０、記憶装置１１２、及びディスプレイ１１４と実質的に同様に構成され得る。
【００３４】
コンピュータデバイス１０１のメモリ１０４に関しては、モジュール１５６、１５８、１６０及び１６２は、いくつかの実施形態では、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためにデバイスがどのように構成され得るかを示すように描かれている。いくつかの実施形態では、モジュール１５６、１５８、１６０及び１６２は、１つ以上の動作を行うようにプロセッサ１０２を構成し得るプロセッサ実行可能命令を含んでもよい。
【００３５】
例えば、コンテンツ提供モジュール１５６は、コンテンツ（例えば、テキスト、画像、音声、映像、キャラクタ、仮想オブジェクト、仮想アニメーション等）をユーザ（例えば、コンピュータデバイス１０１のユーザ又はユーザデバイス１２０）に提供するようにプロセッサ１０２によって実行され得る命令を含む。コンテンツがコンピュータ生成画像を含む場合、コンテンツ提供モジュール１５６は、プロセッサ１０２によって実行されると、ディスプレイデバイス（例えば、コンピュータデバイス１０１のディスプレイ１１４又はプロセッサ１０２に通信可能に結合される別のディスプレイ）に表示される画像をプロセッサ１０２に生成させる命令を含む。コンテンツが映像及び／又は静止画像を含む場合、コンテンツ提供モジュール１５６は、プロセッサ１０２によって実行されると、映像及び／又は静止画像にアクセスして、ディスプレイ１１４に表示される映像及び／又は静止画像のビューをプロセッサ１０２に生成させる命令を含む。コンテンツがオーディオコンテンツを含む場合、コンテンツ提供モジュール１５６は、プロセッサ１０２によって実行されると、ディスプレイ１１４の一部であり得るスピーカを駆動して対応する音声を出力する電気信号をプロセッサ１０２に生成させる命令を含む。いくつかの実施形態では、コンテンツ、又はコンテンツが伝達される情報は、図１に示されるように、コンピュータデバイス１０１の一部であり得る記憶装置１１２からプロセッサ１０２によって取得されてもよく、又はコンピュータデバイス１０１から分離してコンピュータデバイス１０１に通信可能に結合されてもよい。
【００３６】
例示として、コンテンツ提供モジュール１５６は、プロセッサ１０２によって実行されると、ディスプレイ１１４上に表示される疑似現実環境をプロセッサ１０２に生成させる命令を含み得る。疑似現実環境は、部分的に又は全体的に仮想的である環境を含み得る。例えば、疑似現実環境は、拡張現実環境、仮想現実環境、ビデオゲーム環境等を含み得る。１つの例示として、プロセッサ１０２は、ディスプレイ１１４上にビデオゲームに関連付けられる仮想又は拡張現実環境を生成し得る。疑似現実環境は、ユーザの物理的存在及び／又は環境をシミュレートしてもよく、コンピュータデバイス１０１のユーザがユーザデバイス１２０を使用して相互作用し得る仮想オブジェクト（例えば、キャラクタ、車両、ボタン、スライダ、ノブ、アイコン又は他のユーザインターフェースコンポーネント）を含み得る。例えば、ユーザデバイス１２０は、ゲームコントローラ、指輪、キーボード、マウス、ジョイスティック等であってもよく、これらを用いてユーザは、疑似現実環境と相互作用してもよい。また、ユーザデバイス１２０は、ネットワークデバイス１０８及びネットワークデバイス１２８を介してコンピュータデバイス１０１に通信可能に結合され得る。プロセッサ１０２は、ネットワークデバイス１０８及びネットワークデバイス１２８を介してユーザデバイス１２０から信号を受信して、信号に基づいて疑似現実環境内の仮想オブジェクトとの相互作用及び／又はそれの操作を決定してもよい。プロセッサ１０２は、疑似現実環境内で相互作用及び／又は操作を発生させてもよい。したがって、ユーザは、ユーザデバイス１２０を介して疑似現実環境における仮想オブジェクトと相互作用するか又はそれを操作することが可能であってもよい。
【００３７】
検出モジュール１５８は、センサ１３６からセンサ信号を受信するようにプロセッサ１０２を構成し得る。例示として、検出モジュール１５８は、プロセッサ１０２によって実行されると、センサ１３６がユーザデバイス１２０のユーザの動き又はユーザデバイス１２０の動きを検出又は感知したときに、センサ１３６からのセンサ信号をプロセッサ１０２に受信させる命令を含み得る。例示として、プロセッサ１０２は、センサ１３６がユーザデバイス１２０を使用した疑似現実環境とユーザの相互作用を検出すると、センサ１３６からセンサ信号を受信し得る。例えば、検出モジュール１５８は、プロセッサ１０２によって実行されると、ユーザが疑似現実環境と相互作用したときのユーザデバイス１２０のユーザの動きに関する情報をセンサ１３６がキャプチャしたときに、センサ１３６からのセンサ信号をプロセッサ１０２に受信させる命令を含み得る。別の例示として、検出モジュール１５８は、プロセッサ１０２によって実行されると、疑似現実環境における仮想オブジェクトとユーザの接触の圧力の量又はユーザの接触の圧力の量の変化に関する情報をセンサ１３６がキャプチャしたときに、センサ１３６からのセンサ信号をプロセッサ１０２に受信させる命令を含み得る。いくつかの例示では、センサ１３６からのセンサ信号は、限定されないが、ユーザの動き又はユーザデバイス１２０の動きの経路、速度、加速度を含むユーザの動き又はユーザデバイス１２０の動きに関する情報、及び／又はユーザ又はユーザデバイス１２０に関する任意の他の情報を含み得る。いくつかの例示では、センサ１３６からのセンサ信号は、限定されないが、ユーザの現実または仮想環境の温度、湿度、緯度を含むユーザの現実又は疑似環境のパラメータ（例えば、状態）に関する情報を含み得る。いくつかの例示では、プロセッサ１０２は、センサ１３６から１つ以上のセンサ信号を受信して、センサ信号に基づいて、ユーザ、ユーザの動き、ユーザデバイス１２０のユーザの動き、又はユーザの環境に関する情報を決定し得る。
【００３８】
いくつかの実施形態では、触覚効果決定モジュール１６０は、プロセッサ１０２によって実行されると、生成すべき触覚効果をプロセッサ１０２に決定させる命令を含む。触覚効果決定モジュール１６０は、プロセッサ１０２によって実行されると、１つ以上のアルゴリズム又はルックアップテーブルを使用して出力すべき１つ以上の触覚効果をプロセッサ１０２に選択させる命令を含んでもよい。いくつかの実施形態では、触覚効果決定モジュール１６０は、様々な触覚効果に対応するデータを含みかつ触覚効果を決定するためにプロセッサ１０２によって使用可能な１つ以上のアルゴリズム又はルックアップテーブルを含む。
【００３９】
いくつかの例示では、触覚効果決定モジュール１６０は、静的触覚効果又は動的触覚効果をプロセッサ１０２に決定させてもよい。静的触覚効果は、疑似現実環境又は疑似現実環境とユーザの相互作用に基づく１つ以上の既定の触覚効果を含み得る。いくつかの例示では、静的触覚効果は、既定の特徴（例えば、既定の振幅、持続時間、位置、タイプ、ピッチ、周波数等）を有し得る。
【００４０】
いくつかの例示では、動的触覚効果は、センサ１３６からのセンサ信号に基づいて変化又は変動し得る１つ以上の触覚効果を含み得る。例えば、動的触覚効果の特徴（例えば、振幅、持続時間、位置、タイプ、ピッチ、周波数等）は、センサ１３６からのセンサ信号又は疑似現実環境に基づいて（例えば、疑似現実環境とユーザの相互作用に基づいて）変動し得る。
【００４１】
特に、いくつかの実施形態では、触覚効果決定モジュール１６０は、プロセッサ１０２によって実行されると、疑似現実環境（例えば、コンテンツ提供モジュール１５６に含まれる命令を実行するプロセッサ１０２によって生成される疑似現実環境）又は疑似現実環境とユーザの相互作用に少なくとも部分的に基づいて静的触覚効果をプロセッサ１０２に決定させる命令を含んでもよい。例えば、プロセッサ１０２は、ディスプレイ１１４における仮想オブジェクト（例えば、仮想家具、自動車、動物、漫画キャラクタ、ボタン、レバー、ロゴ、人物等）の存在をシミュレートするために疑似現実環境におけるタッチの場所に基づいて異なる触覚効果を決定又は選択し得る。別の例示として、ユーザは、（例えば、仮想オブジェクトを選択するためのユーザ入力を提供するために）疑似現実環境において仮想オブジェクトをタップすることで疑似現実環境と相互作用し得る。この例示では、触覚効果決定モジュール１６０は、ユーザが仮想オブジェクトをタップすることに関連付けられる１つ以上の静的触覚効果をプロセッサ１０２に選択させてもよい。さらに別の例示として、プロセッサ１０２は、疑似現実環境における静的アニメーションに基づいて（例えば、既定のやり方である状態から別の状態にアニメーションする仮想オブジェクトに基づいて）静的触覚効果を決定又は選択し得る。例えば、静的触覚効果は、仮想キャラクタの第１の既定のアクションに基づいて選択されてもよく、別の静的触覚効果は、仮想キャラクタの第２の既定のアクションに基づいて選択されてもよい。さらに、いくつかの実施形態では、触覚効果決定モジュール１６０は、プロセッサ１０２によって実行されると、仮想オブジェクトのサイズ、色、場所、動き、及び／又は他の特徴に基づいて、出力するべき静的触覚効果をプロセッサ１０２に決定させる命令、及び効果をシミュレートするために提供するべき１つ以上の静的触覚効果を選択するコードを含んでもよい。例えば、静的触覚効果は、仮想オブジェクトの色に基づいて選択されてもよい（例えば、仮想オブジェクトが赤である場合に強い振動、及び仮想オブジェクトが緑である場合に弱い振動）。
【００４２】
いくつかの例示では、触覚効果決定モジュール１６０は、プロセッサ１０２によって実行されると、センサ信号（例えば、センサ１３６からプロセッサ１０２によって受信されたセンサ信号）に少なくとも部分的に基づいて動的触覚効果をプロセッサ１０２に決定させる命令を含んでもよい。例えば、センサ１３６は、ユーザが疑似現実環境と相互作用するときのユーザの動き（例えば、ユーザデバイス１２０を保持又は装着しているユーザ）又はユーザデバイス１２０の動きを検出して、プロセッサ１０２にセンサ信号を送信してもよい。プロセッサ１０２は、センサ信号を受信して、ユーザ又はユーザデバイス１２０の動き及び／又はユーザ又はユーザデバイス１２０の動きの特徴を決定してもよい。触覚効果決定モジュール１６０は、決定されたユーザの動き、ユーザデバイス１２０の動き、及び／又は動きの特徴に少なくとも部分的に基づいて動的触覚効果をプロセッサ１０２に決定させてもよい。別の例示として、センサ１３６は、疑似現実環境における仮想オブジェクトとユーザの接触の圧力の量又はユーザの接触の圧力の量の変化に関する情報をキャプチャし得る。センサ１３６は、圧力の量又は圧力の量の変化に関する情報をキャプチャすると、圧力の量又は圧力の変化を示す１つ以上の信号を実質的にリアルタイムでプロセッサ１０２に送信する。この例示では、触覚効果決定モジュール１６０は、圧力の量又は圧力の量の変化に関連付けられる１つ以上の動的触覚効果をプロセッサ１０２に選択させてもよい。例えば、プロセッサ１０２は、ユーザの接触の圧力の量が閾値を超えることに応答して、強い振動である動的触覚効果を選択し得る。別の例示として、プロセッサ１０２は、ユーザの接触の圧力の量が所定の期間にわたり低下していることを決定することに応答して、１つ以上の振動の振幅を徐々に低下させ得る。
【００４３】
いくつかの例示では、触覚効果決定モジュール１６０は、ユーザの動き（例えば、身体ジェスチャ又はユーザデバイス１２０の動き）及び／又は動きの特徴をプロセッサ１０２に決定させて、動き及び／又は動きの特徴に基づいて、動的触覚効果の特徴（例えば、振幅、持続時間、場所、タイプ、ピッチ、周波数等）を決定又は変動させてもよい。例えば、触覚効果決定モジュール１６０は、ユーザの動き（例えば、身体の動き又はユーザデバイス１２０の動き）及び／又は動きの特徴に関連付けられる動的触覚効果の特徴に対応するデータを含む１つ以上のルックアップテーブル又はデータベースをプロセッサ１０２にアクセスさせてもよい。この実施形態では、プロセッサ１０２は、１つ以上のルックアップテーブル又はデータベースにアクセスして、動き及び／又は動きの特徴に関連付けられる１つ以上の動的触覚効果の特徴を決定するか又は変動させ得る。例えば、ユーザが疑似現実環境と相互作用するために高速でユーザデバイス１２０を移動させた場合、プロセッサ１０２は、強い振動又は一連の強い振動を含む動的触覚効果を決定し得る。さらにこの例示では、ユーザがその後で低い又はより低い速度でユーザデバイス１２０を移動させた場合、プロセッサ１０２は、例えば、ユーザがユーザデバイス１２０の速度を低下させるとユーザがより弱い振動を知覚するように、振動又は一連の振動の振幅を低下させること等により、触覚効果の別の特徴を決定するか又は触覚効果の特徴を変動させ得る。
【００４４】
いくつかの例示では、触覚効果決定モジュール１６０は、周期的又は非周期的な静的又は動的触覚効果（又は触覚トラック、例えば、一連の触覚効果）をプロセッサ１０２に決定させてもよい。周期的な静的又は動的触覚効果は、周期的波形に基づいて生成されてもよく、非周期的な静的又は動的触覚効果は、非周期的波形に基づいて生成され得る。いくつかの場合には、周期的な静的又は動的触覚効果は、所定期間にわたって出力されて、所定期間の後で反復され得る触覚効果であり得る。例えば、触覚効果決定モジュール１６０は、第１の期間（例えば、６０秒）にわたって出力される第１の静的触覚効果を含む周期的な静的触覚効果をプロセッサ１０２に選択させてもよい。この例示では、周期的な静的触覚効果は、第１の期間の後で出力される第２の静的触覚効果を含み得る。別の例示として、触覚効果決定モジュール１６０は、第１の期間（例えば、６０秒）にわたって出力される第１の動的触覚効果を含む周期的な動的触覚効果をプロセッサ１０２に選択させてもよい。
【００４５】
さらに別の例示では、触覚効果決定モジュール１６０は、所定期間（例えば、６０秒）にわたって出力される静的触覚効果を含む非周期的な静的触覚効果をプロセッサ１０２に選択させてもよい。この例示では、非周期的な静的触覚効果は、反復され又は繰り返されなくてもよい（例えば、別の静的触覚効果を含まなくてもよい）。さらに別の例示では、触覚効果決定モジュール１６０は、所定期間（例えば、６０秒）にわたって出力される動的触覚効果を含む非周期的な動的触覚効果をプロセッサ１０２に選択させてもよい。この例示では、非周期的な動的触覚効果は、別の動的触覚効果を含まなくてもよい。
【００４６】
いくつかの実施形態では、触覚効果決定モジュール１６０は、プロセッサ１０２によって実行されると、イベントに基づいて触覚効果をプロセッサ１０２に決定させる命令を含んでもよい。本明細書で使用されるイベントは、関連する触覚効果を含む可能性があるコンピュータデバイス１０１又はユーザデバイス１２０の動作の間に発生する任意の相互作用、アクション、衝突、又は他のイベントである。一部の実施形態では、イベントは、ユーザ入力（例えば、ボタン押し下げ、ジョイスティックを操作すること、疑似現実環境と相互作用すること、又はユーザデバイス１２０を傾け若しくは方向付けること）、システム状態（例えば、バッテリ低下、メモリ低下、又はコンピュータデバイス１０１がメッセージを受信すること、データを送信すること又はデータを受信することに基づいて生成される通知等のシステム通知）、又はプログラムイベントを含んでもよい（例えば、プログラムがゲーム又は疑似現実環境であれば、プログラムイベントは爆発、銃撃、衝突、ゲーム又は仮想キャラクタ間の相互作用、又は新たなレベルに進むこと、凹凸のある地形を運転すること等を含んでもよい）。
【００４７】
いくつかの例示では、プロセッサ１０２は、決定された又は選択された触覚効果の１つ以上のパラメータ又は触覚効果に関連付けられる他の情報を示すデータをプロセッサ１０２が出力し得る１つ以上の相互作用可能なユーザインターフェースを生成して出力することができる。
【００４８】
例えば、図２は、一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するために（例えば、図１のプロセッサ１０２によって）生成され得る相互作用可能ユーザインターフェース２００の例示である。この例示では、図１のコンピュータデバイス１０１のプロセッサ１０２は、ディスプレイ（例えば、ディスプレイ１１４）を介して相互作用可能ユーザインターフェース２００を生成し得る。
【００４９】
図２に描かれている例示では、相互作用可能ユーザインターフェース２００の部分２０２が、様々な触覚効果（例えば、プロセッサ１０２によって決定又は選択される静的又は動的触覚効果）を示すメニュー、リスト、テーブル等を含む。この例示では、相互作用可能ユーザインターフェース２００の部分２０２に含まれるメニューは、プロセッサ１０２が特定の触覚効果の選択を示すデータを（例えば、ユーザ入力）を介して）受信し得る１つ以上の相互作用可能制御要素（例えば、ドロップダウンボタン又は任意の他の相互作用可能要素）を含み得る。いくつかの例示では、プロセッサ１０２は、（例えば、触覚効果に関連付けられる相互作用可能制御要素の選択を示すユーザ入力を介して）特定の触覚効果の選択を示すデータを受信してもよく、プロセッサ１０２は、選択された触覚効果に関連付けられる追加情報を表示し得る。
【００５０】
例えば、プロセッサ１０２は、静的触覚効果の選択を示すユーザ入力に応答して選択された静的触覚効果に関連付けられる追加情報を含む相互作用可能ユーザインターフェース２００の別の部分２０４を生成して表示し得る。この例示では、部分２０４は、触覚効果が静的触覚効果であること及び静的触覚効果に関連付けられる１つ以上の波形（例えば、静的触覚効果を生成するために使用され得る１つ以上の波形）を示すデータ等の静的触覚効果に関連付けられる追加情報を含む。
【００５１】
図１に戻ると、いくつかの実施形態では、プロセッサ１０２は、プロセッサ１０２がデータを受信し得る（例えば、ユーザ入力を介して）１つ以上の相互作用可能ユーザインターフェースを生成して出力してもよく、これは決定された又は選択された触覚効果のパラメータをプロセッサ１０２に修正させ得る。例えば、プロセッサ１０２は、特定の触覚効果が静的又は動的触覚効果であるかどうかを示すユーザ入力をユーザが提供することができる相互作用可能ユーザインターフェースを生成し得る。別の例示として、プロセッサ１０２は、特定の触覚効果が周期的な又は非周期的な静的又は動的触覚効果であるかどうかを示すユーザ入力をユーザが提供することができる相互作用可能ユーザインターフェースを生成し得る。さらに別の例示では、プロセッサ１０２は、静的又は動的触覚効果を生成するために波形に関するデータ（例えば、波形が周期的な波形、非周期的な波形、線形波形、正弦波形、方形波形、三角波形、のこぎり波形等であるかどうかを示すデータ）を示すユーザ入力をユーザが提供し得る相互作用可能ユーザインターフェースを生成し得る。いくつかの場合には、触覚効果が周期的な触覚効果（例えば、周期的な静的又は動的触覚効果）を含む場合、プロセッサ１０２は、例えば、周期的な触覚効果の１つ以上の触覚効果の開始時間及び終了時間等の周期的な触覚効果の１つ以上の触覚効果の持続時間を示すユーザ入力をユーザが提供し得る相互作用可能ユーザインターフェースを生成し得る。さらに別の例示として、プロセッサ１０２は、触覚効果の選択された触覚効果の特徴（例えば、振幅、持続時間、場所、タイプ、周波数、ピッチ等）を示すユーザ入力をユーザが提供することができる相互作用可能ユーザインターフェースを生成し得る。
【００５２】
例えば、図３は、一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するために（例えば、図１のプロセッサ１０２によって）生成され得る相互作用可能ユーザインターフェース３００の例示である。この例示では、図１のコンピュータデバイス１０１のプロセッサ１０２は、ディスプレイ（例えば、ディスプレイ１１４）を介して相互作用可能ユーザインターフェース３００を生成し得る。
【００５３】
図３に描かれている例示では、相互作用可能ユーザインターフェース３００の部分３０２が、様々な触覚効果（例えば、プロセッサ１０２によって決定又は選択される静的又は動的触覚効果）を示すメニュー、リスト、テーブル等を含む。この例示では、相互作用可能ユーザインターフェース３００の部分３０２に含まれるメニューは、ユーザが特定の触覚効果を選択することができる１つ以上の相互作用可能制御要素（例えば、ドロップダウンボタン、仮想ボタン又は任意の他の相互作用可能要素）を含み得る。この例示では、一旦ユーザが触覚効果を選択すると、プロセッサ１０２は、触覚効果に関連付けられる追加情報を出力又は提供してもよく、ユーザは、相互作用可能ユーザインターフェース３００を介して触覚効果の１つ以上のパラメータを修正するか又は示すことができる。例えば、図３に描かれている例示では、ユーザは、ユーザ入力を提供して動的触覚効果を選択してもよく、プロセッサ１０２は、動的触覚効果に関連付けられる情報を表示し得る。この例示では、ユーザは、例えば、動的触覚効果が周期的な動的触覚効果、動的触覚効果の第１の（例えば、開始）動的触覚効果、動的触覚効果の第２の（例えば、終了）動的触覚効果、動的触覚効果の開始時間又は位置、動的触覚効果の終了時間又は位置、及び動的触覚効果をレンダリング又は生成するためのモデルのタイプ（例えば、線形モデル）を示すためにユーザ入力を提供することを含む、動的触覚効果のパラメータを修正又は示すために１つ以上の相互作用可能制御要素を介して追加ユーザ入力を提供することができる。
【００５４】
この例示では、相互作用可能ユーザインターフェース３００の別の部分３０４は、様々な触覚効果を示しかつユーザが触覚効果の１つ以上の追加パラメータを修正又は示し得る様々な相互作用可能制御要素を含む別のメニュー、リスト、テーブル等を含む。例えば、部分３０４において、ユーザは、動的触覚効果が周期的な触覚効果であることを示すユーザ入力を提供している。この例示では、ユーザは、周期的な動的触覚効果をレンダリング又は生成するための振幅、周期、持続時間、開始位置又は空間、終了位置又は空間、又はモデルを指定するためのユーザ入力を提供することができる。
【００５５】
図２及び３に関して先に記載された例示において、相互作用可能制御要素は仮想スライダとして描かれているが、本開示は、このような構成に限定されない。そうではなく、他の例示では、相互作用可能制御要素は、ユーザが相互作用可能ユーザインターフェース２００及び３００にユーザ入力を提供することができる任意の要素であり得る。
【００５６】
図１に戻ると、いくつかの例示では、プロセッサ１０２は、実質的にリアルタイムで（例えば、プロセッサ１０２が触覚効果を選択又は決定するときに）１つ以上のユーザインターフェース（例えば、図２の相互作用可能ユーザインターフェース２００又は図３の相互作用可能ユーザインターフェース３００）を生成し得る。この例示では、プロセッサ１０２は、上記のように触覚効果の１つ以上のパラメータを示すユーザ入力を受信して、ｘＰＣターゲットマシン１４２のプロセッサ１４０にパラメータを示すデータを送信してもよく、それは、以下でさらに詳細に記載するように、実質的にリアルタイムで触覚効果のパラメータに基づいて触覚信号を生成して送信し得る。
【００５７】
このようにして、本明細書に記載のシステム及び方法は、ユーザが実質的にリアルタイムで触覚効果の様々なパラメータを構成することを可能にすることにより（例えば、触覚効果がユーザ又は別のユーザに出力されるときに）、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を構成及び提供するためのシステム及び方法を提供する。
【００５８】
いくつかの実施形態では、ｘＰＣ制御モジュール１６２は、（例えば、ネットワークデバイス１０８及びネットワークデバイス１４８を介して）決定された触覚効果の１つ以上のパラメータに関するデータをｘＰＣターゲットマシン１４２のプロセッサ１４０へとプロセッサ１０２によって送信させるプログラミングを表す。いくつかの実施形態では、ｘＰＣ制御モジュール１６２は、ｘＰＣターゲットマシン１４２のプロセッサ１４０にセンサ１３６からのデータをプロセッサ１０２によって送信させるプログラミングを表す。
【００５９】
いくつかの例示では、ｘＰＣターゲットマシン１４２は、実質的にリアルタイムでコンピュータデバイス１０１又はユーザデバイス１２０からデータを取得するためにコンピュータデバイス１０１のプロセッサ１０２又はユーザデバイス１２０のプロセッサ１２２に通信可能に結合され得る。いくつかの場合には、ｘＰＣターゲットマシン１４２は、少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚのサンプリングレートを達成することができるコンピュータデバイス、サーバ、デバイス等であり得る。これは、ｘＰＣターゲットマシンがコンピュータデバイス１０１又はユーザデバイス１２０からのデータを実質的にリアルタイムで処理して、約２０ｋＨｚまでの周波数を有する１つ以上の触覚信号を実質的にリアルタイムで生成することを可能にし得る。いくつかの例示では、ｘＰＣターゲットマシンは、コンピュータデバイス１０１から離れている又は遠隔にあるデバイス又はマシンであり得る。
【００６０】
ｘＰＣターゲットマシン１４２のメモリ１４６に関しては、モジュール１６４及び１６６は、いくつかの実施形態では、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためにデバイスがどのように構成され得るかを示すように描かれている。いくつかの実施形態では、モジュール１６４及び１６６は、１つ以上の動作を行うようにプロセッサ１４０を構成し得るプロセッサ実行可能命令を含んでもよい。
【００６１】
例えば、ｘＰＣモジュール１６４は、ｘＰＣターゲットマシン１４２のプロセッサ１４０によって実行されると、コンピュータデバイス１０１又はユーザデバイス１２０からプロセッサ１４０にデータを受信又は取得させる命令を含み得る。いくつかの例示では、ｘＰＣモジュール１６４は、プロセッサ１４０によって実行されると、コンピュータデバイス１０１のプロセッサ１０２から選択又は決定された触覚効果又はセンサデータ（例えば、センサ１３６からのデータ）の１つ以上のパラメータに関するデータを示す信号をプロセッサ１４０に受信させる命令を含み得る。別の例示では、ｘＰＣモジュール１６４は、プロセッサ１４０によって実行されると、ユーザデバイス１２０のセンサ１３６からのセンサデータをプロセッサ１４０に受信させる命令を含み得る。
【００６２】
いくつかの例示では、ｘＰＣモジュール１６４は、プロセッサ１４０によって実行されると、触覚効果決定モジュール１６０に含まれる命令を実行するプロセッサ１０２によって決定される触覚効果の１つ以上のパラメータをプロセッサ１４０に決定させかつ触覚効果に基づいて触覚信号を生成させる命令を含み得る。例えば、ｘＰＣモジュール１６４は、プロセッサ１４０によって実行されると、コンピュータデバイス１０１のプロセッサ１０２から受信した触覚効果の１つ以上のパラメータに関するデータに基づいて、選択又は決定された触覚効果が静的触覚効果、動的触覚効果、周期的な静的又は動的触覚効果、非周期的な静的又は動的触覚効果等であるかどうかをプロセッサ１４０に決定させる命令を含んでもよい。
【００６３】
いくつかの例示では、ｘＰＣモジュール１６４は、プロセッサ１４０によって実行されると、触覚効果生成モジュール１６６に対する命令をプロセッサに実行させる命令を含み得る。
【００６４】
いくつかの実施形態では、触覚効果生成モジュール１６６は、選択された触覚効果を生成するためにプロセッサ１４０に触覚信号を生成させて触覚出力デバイス（例えば、ユーザデバイス１２０の触覚出力デバイス１３８又は別の触覚出力デバイス）へと送信させるプログラミングを表す。いくつかの実施形態では、プロセッサ１４０は、触覚出力デバイスに触覚信号を送信して、触覚効果決定モジュール１６０に含まれる命令を実行するプロセッサ１０２によって決定される触覚効果を触覚出力デバイスに生成させ得る。いくつかの例示では、触覚効果生成モジュール１６６は、プロセッサ１４０によって実行されると、選択された触覚効果を生成するために触覚出力デバイスに送信するように、記憶されている波形又はコマンドをプロセッサ１４０にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって、１つ以上の触覚効果に関連付けられる１つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、特定の触覚効果を生成するために触覚出力デバイスに送信するべき波形（例えば、周期的又は非周期的な波形）を決定してもよい。いくつかの実施形態では、触覚効果生成モジュール１６６は、触覚信号を決定するためのアルゴリズムを含んでもよい。いくつかの実施形態では、触覚効果決定モジュール１６６は、プロセッサ１４０によって実行されると、触覚効果のための目標座標（例えば、触覚効果を出力するべき場所のための座標）をプロセッサ１４０に決定させる命令を含んでもよい。例えば、触覚効果生成モジュール１６６は、プロセッサ１４０よって実行されると、触覚効果のための目標座標（例えば、ユーザの特定の体の部分）を決定するためにユーザの特定の体の部分の動きを示すセンサ信号をプロセッサ１４０に使用させる命令を含んでもよい。いくつかの実施形態では、プロセッサ１４０は、１つ以上の触覚出力デバイスを含む触覚出力デバイスに触覚信号を送信し得る。このような実施形態では、触覚効果生成モジュール１６６は、選択された触覚効果を生成するためにプロセッサ１４０によって触覚信号を１つ以上の触覚出力デバイスに送信させてもよい。
【００６５】
いくつかの例示では、触覚効果生成モジュール１６６は、プロセッサ１４０によって実行されると、実質的にリアルタイムで（例えば、プロセッサ１４０がプロセッサ１０２又はプロセッサ１２２からデータを受信すると）約１Ｈｚから２０ｋＨｚの間の範囲の周波数を有する１つ以上の触覚信号をプロセッサ１４０に生成させる命令を含んでもよい。例示として、プロセッサ１４０は、約１ｋＨｚの周波数を有する１つ以上の触覚信号を生成し得る。
【００６６】
このようにして、ｘＰＣターゲットマシン１４２は、実質的にリアルタイムでプロセッサ１０２又はプロセッサ１２２からデータを取得して、実質的にリアルタイムで疑似現実環境に対して高精細の動的又は静的触覚効果を提供するために１つ以上の触覚信号を生成することができる。
【００６７】
上記のいくつかの例示では、ｘＰＣターゲットマシン１４２のプロセッサ１４０がプロセッサ１０２を介して（例えば、プロセッサ１０２を介してｘＰＣ制御モジュール１６２に含まれる命令を実行すると）センサ１３６からデータを受信（例えば、取得）しているが、本開示は、このような構成に限定されない。そうではなく、他の例示では、ｘＰＣターゲットマシン１４２は、センサ１３６に通信可能に結合され、センサ１３６からデータを受信する。別の実施形態では、ユーザデバイス１２０及びｘＰＣターゲットマシン１４２は、単一のシステムの一部であり、ｘＰＣターゲットマシン１４２は、センサ１３６に通信可能に結合されてセンサ１３６からセンサデータを受信し得る。いくつかのこのような例示では、ｘＰＣターゲットマシン１４２は、上記と実質的に同じやり方でセンサ信号に基づいて動的触覚効果の１つ以上のパラメータを決定し得る。
【００６８】
図１の例示のシステム１００は所定の数のコンポーネントを有するように描かれているが、例示のシステム１００は、任意の数の追加の又は代替的なコンポーネントを有する。さらに、図１は特定の配置のコンピュータデバイス１０１、ユーザデバイス１２０及びｘＰＣターゲットマシン１４２を示しているが、様々な追加の配置が可能である。例示として、図１はユーザデバイス１２０及びｘＰＣターゲットマシン１４２を別々に示しているが、いくつかの実施形態では、ユーザデバイス１２０及びｘＰＣターゲットマシン１４２は、単一のシステムの一部である。例えば、ユーザデバイス１２０は、ｘＰＣターゲットマシン１４２又はｘＰＣモジュール１６４を含んでもよく、ユーザデバイス１２０のプロセッサ１２２は、ｘＰＣターゲットマシン１４２のメモリ１４６に含まれる命令を実行し得る（例えば、ｘＰＣモジュール１６４又は触覚効果生成モジュール１６６における命令を実行する）。別の例示として、コンピュータデバイス１０１は、ｘＰＣターゲットマシン１４２を含んでもよく、コンピュータデバイス１０１のプロセッサ１０２は、ｘＰＣターゲットマシン１４２のメモリ１４６に含まれる命令を実行し得る（例えば、ｘＰＣモジュール１６４又は触覚効果生成モジュール１６６における命令を実行する）。別の例示では、システム１００のコンポーネントは、互いに遠隔であり離れていてもよい。例えば、ユーザデバイス及びｘＰＣターゲットマシン１４２は、コンピュータデバイス１０１から遠隔であり離れていてもよい。
【００６９】
さらに、上記のいくつかの例示では、ｘＰＣターゲットマシン１４２（又はｘＰＣターゲットマシン１４２のプロセッサ１４０）が少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚ以上のサンプリングレートを達成し得るが、本開示はこのような構成に限定されない。そうではなく、他の例示では、ユーザデバイス１２０のプロセッサ１２２が、少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚ以上のサンプリングレートを達成するように構成され得る。例示として、ユーザデバイス１２０及びｘＰＣターゲットマシン１４２は、図１に描かれているように別個のシステムであってもよく、ユーザデバイス１２０のプロセッサ１２２は、少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚ以上のサンプリングレートを達成するように構成され得る。さらに、上記のように、いくつかの例示では、ユーザデバイス１２０及びｘＰＣターゲットマシン１４２は、単一のシステムの一部であり得る。この例示では、プロセッサ１２２は、メモリ１４６（例えば、ｘＰＣモジュール１６４及び／又は触覚効果生成モジュール１６６）に含まれる命令を実行し得る。この例示では、プロセッサ１２２は、少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚ以上のサンプリングレートを達成するように構成され得る。
【００７０】
さらに、図１はコンピュータデバイス１０１及びｘＰＣターゲットマシン１４２を別々のものとして示しているが、上記のように、いくつかの実施形態では、コンピュータデバイス１０１及びｘＰＣターゲットマシン１４２は、単一のシステムの一部である。この例示では、コンピュータデバイス１０１は、プロセッサ１０２及びプロセッサ１４０を含み得る。プロセッサ１０２は、メモリ１０４（例えば、モジュール１５６、１５８、１６０、１６２）に含まれる命令を実行するように構成されてもよく、プロセッサ１４０は、メモリ１４６に含まれる命令（例えば、ｘＰＣモジュール１６４及び／又は触覚効果生成モジュール１６６）を実行するように構成され得る。この例示では、プロセッサ１４０は、上記と実質的に同様に、少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚ以上のサンプリングレートを達成して、実質的にリアルタイムで約１Ｈｚから２０ｋＨｚの間の範囲の周波数を有する１つ以上の触覚信号を生成するように構成され得る。さらにこの例示では、プロセッサ１０２は、プロセッサ１４０と比較して低いサンプリングレートを達成するように構成され得る。
【００７１】
別の実施形態では、コンピュータデバイス１０１及びｘＰＣターゲットマシンは、単一のシステムの一部である。この例示では、プロセッサ１０２及びプロセッサ１４０は結合されて、単一のプロセッサにされ得る。この例示は、プロセッサは、メモリ１０４（例えば、モジュール１５６、１５８、１６０、１６２）及びメモリ１４２（例えば、ｘＰＣモジュール１６４及び／又は触覚効果生成モジュール１６６）に含まれる命令を実行するように構成されてもよい。この例示では、単一のプロセッサが、少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚ以上のサンプリングレートを達成するように構成され得る。
【００７２】
さらに、いくつかの例示では、触覚効果が（例えば、触覚効果生成モジュール１６０に含まれる命令を実行するプロセッサによって）低サンプリングレートで生成されてもよく、触覚効果を出力する触覚出力デバイス（例えば、触覚出力デバイス１３８）が高レートで触覚効果を出力し得る。例示として、プロセッサは、（例えば、触覚効果生成モジュール１６０に含まれる命令を実行することにより）約１０００Ｈｚのサンプリングレートで触覚効果を生成し得る。この例示では、触覚出力デバイスは、例えば、３００００Ｈｚ等のより高いレートで触覚効果を出力し得る。
【００７３】
（実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するための方法）
図４は、一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するための方法４００を実行するステップのフローチャートである。いくつかの実施形態では、図４のステップは、例えば、汎用コンピュータ、モバイルデバイス又はサーバにおけるプロセッサによって実行可能なプログラムコードで実装されてもよい。いくつかの実施形態では、こうしたステップは一群のプロセッサによって実装されてもよい。いくつかの実施形態では、図４に示される１つ以上のステップは省略され又は異なる順番で行われてもよい。同様に、いくつかの実施形態では、図４に示されない追加のステップが実行されてもよい。例示のために、方法４００のステップは、図１に示されたシステムに関して先に記載されたコンポーネントを参照して以下に記載されるが、他の実装も可能である。
【００７４】
方法４００はステップ４０２で開始し、触覚効果の１つ以上のパラメータを示すデータが取得（例えば、受信）される。例えば、ｘＰＣターゲットマシン１４２は、コンピュータデバイス１０１から触覚効果の１つ以上のパラメータを示すデータを取得し得る。
【００７５】
いくつかの実施形態では、コンピュータデバイス１０１の触覚効果決定モジュール１６０は、触覚効果又は触覚効果の１つ以上のパラメータをコンピュータデバイス１０１のプロセッサ１０２に決定させる。いくつかの実施形態では、触覚効果は、１つ以上の触覚効果を含み得る。
【００７６】
例えば、プロセッサ１０２は、疑似現実環境（例えば、プロセッサ１０２がコンテンツ提供モジュール１５６に含まれる命令を実行することにより生成される疑似現実環境）又は疑似現実環境とユーザの相互作用に少なくとも部分的に基づいて触覚効果（例えば、１つ以上の振動）を決定し得る。例示として、プロセッサ１０２は、ディスプレイ１１４上で仮想オブジェクト（例えば、仮想的な家具、自動車、動物、アニメキャラクタ、ボタン、レバー、ロゴ又は人物）の存在をシミュレートするために疑似現実環境におけるタッチの場所に基づいて触覚効果を決定又は選択し得る。別の例示として、プロセッサ１０２は、疑似現実環境における静的アニメーションに基づいて（例えば、既定のやり方である状態から別の状態にアニメーションする仮想オブジェクトに基づいて）触覚効果を決定又は選択し得る。例えば、触覚効果は、仮想オブジェクトの第１の既定のアクションに基づいて選択されてもよく、別の触覚効果は、仮想オブジェクトの第２の既定のアクションに基づいて選択されてもよい。別の例示として、プロセッサ１０２は、イベントに基づいて触覚効果を決定し得る。本明細書で用いられるイベントは、例えば、ユーザ入力（例えば、ボタン押し下げ、ジョイスティックの操作、疑似現実環境との相互作用、ユーザデバイス１２０を傾ける又は方向付けること）、爆発、銃撃、衝突、疑似現実環境におけるゲーム又は仮想キャラクタ間の相互作用）等の関連触覚効果を潜在的に含み得る、コンピュータデバイス１０１又はユーザデバイス１２０の操作中に起こる、任意の相互作用、アクション、衝突又は他のイベントである。
【００７７】
いくつかの例示では、疑似現実環境又は疑似現実環境とユーザの相互作用に基づいてプロセッサ１０２によって決定される触覚効果は、静的触覚効果であり得る。静的触覚効果は、例えば、既定の特徴（例えば、既定の振幅、持続時間、位置、タイプ、ピッチ、周波数等）を有する触覚効果等の既定の触覚効果であり得る。例えば、ユーザは、（例えば、仮想オブジェクトを選択するためのユーザ入力を提供するために）疑似現実環境において仮想オブジェクトをタップすることで疑似現実環境と相互作用し得る。この例示では、触覚効果決定モジュール１６０は、ユーザが仮想オブジェクトをタップすることに関連付けられる１つ以上の静的触覚効果をプロセッサ１０２に選択させてもよい。
【００７８】
いくつかの実施形態では、プロセッサ１０２は、センサ１３６から受信した信号に少なくとも部分的に基づいて触覚効果を決定し得る。いくつかの例示では、センサ１３６から受信した信号に基づいてプロセッサ１０２によって決定される触覚効果は、動的触覚効果であり得る。動的触覚効果は、センサ１３６からのセンサ信号に基づいて変化し得る触覚効果であり得る。例えば、動的触覚効果の特徴（例えば、振幅、持続時間、位置、タイプ、ピッチ、周波数等）は、センサ１３６からのセンサ信号又は疑似現実環境に基づいて（例えば、疑似現実環境とユーザの相互作用に基づいて）変動し得る。
【００７９】
例えば、センサ１３６は、装着可能センサ、ユーザ又はユーザデバイス１２０に結合（例えば、取り付け）され得る任意のセンサ、又はユーザの動き（ユーザの体の一部の動き又はジェスチャ）又はユーザデバイス１２０の動きに関する情報をキャプチャするためにユーザデバイス１２０に他のやり方で関連付けられる任意のセンサであり得る。いくつかの例示では、センサ１３６は、限定されないが、動きの経路、速度、加速度、又は力、及び／又は動きの任意の他の特徴を含むユーザの動き又はユーザデバイス１２０の動きに関する情報をキャプチャし得る。いくつかの例示では、センサ１３６は、ユーザの動き又はユーザデバイス１２０の動きに関する情報を示す信号をプロセッサ１０２に送信し得る。いくつかの実施形態では、センサ１３６は、実質的にリアルタイムで（例えば、センサ１３６がユーザの動き又はユーザデバイス１２０の動きに関する情報をキャプチャしたときに）１つ以上の信号をプロセッサ１０２に送信し得る。この例示では、プロセッサ１０２は、センサ信号を受信して、センサ信号に少なくとも部分的に基づいて動的触覚効果を決定し得る。
【００８０】
例示として、センサ１３６は、ユーザが疑似現実環境と相互作用したときのユーザデバイス１２０の速度又はユーザデバイス１２０の速度の変化に関する情報をキャプチャし得る。センサ１３６は、速度又は速度の量の変化に関する情報をキャプチャすると、速度又は速度の変化を示す１つ以上の信号を実質的にリアルタイムでプロセッサ１０２に送信する。この例示では、触覚効果決定モジュール１６０は、速度又は速度の量の変化に関連付けられる１つ以上の動的触覚効果をプロセッサ１０２に選択させてもよい。例えば、プロセッサ１０２は、ユーザデバイス１２０の速度が閾値を超えることを決定することに応答して、強い振動である動的触覚効果を選択し得る。別の例示として、プロセッサ１０２は、ユーザデバイス１２０の速度が所定の期間にわたり低下していることを決定することに応答して、１つ以上の振動の振幅を徐々に低下させ得る。
【００８１】
いくつかの例示では、触覚効果決定モジュール１６０は、周期的又は非周期的な静的又は動的触覚効果又は触覚トラックをプロセッサ１０２に決定させてもよい。周期的な静的又は動的触覚効果は、周期的波形に基づいて生成されてもよく、非周期的な静的又は動的触覚効果は、非周期的波形に基づいて生成され得る。
【００８２】
いくつかの例示では、ｘＰＣターゲットマシン１４２のｘＰＣモジュール１６４は、ｘＰＣターゲットマシン１４２のプロセッサ１４０によって実行されると、触覚効果決定モジュール１６０に含まれる命令を実行するコンピュータデバイス１０１のプロセッサ１０２によって選択又は決定される触覚効果の１つ以上のパラメータを示すデータをプロセッサ１４０に受信させる命令を含み得る。
【００８３】
方法はステップ４０４に進み、触覚効果が静的触覚効果であるかどうかをｘＰＣターゲットマシン１４２のプロセッサ１４０が決定する。例えば、プロセッサ１４０は、プロセッサ１０２によって選択又は決定される触覚効果の１つ以上のパラメータ（例えば、ステップ４０２で取得した１つ以上のパラメータ）を示すデータをプロセッサ１０２から取得する。
【００８４】
いくつかの例示では、ｘＰＣターゲットマシン１４２のｘＰＣモジュール１６４は、プロセッサ１４０によって実行されると、プロセッサ１０２によって選択された触覚効果が静的触覚効果であるか又は動的触覚効果であるかをプロセッサ１４０に決定させる命令を含み得る。例えば、プロセッサ１４０は、（例えば、ステップ４０２で）プロセッサ１０２から受信したデータを分析して、データに基づいて、触覚効果が静的触覚効果であるか又は動的触覚効果であるか、及び／又は触覚又は静的効果の１つ以上の特徴を決定し得る。
【００８５】
ステップ４０４においてｘＰＣターゲットマシン１４２のプロセッサ１４０が触覚効果が静的触覚効果ではないことを決定した場合、方法４００は、以下でさらに詳細に記載されるステップ４０６に進む。
【００８６】
触覚効果が静的触覚効果であることをプロセッサ１４０が決定した場合、方法４００はステップ４０８に進み、プロセッサ１４０は、静的触覚効果が周期的な触覚効果であるかどうかを決定する。いくつかの例示では、ｘＰＣターゲットマシン１４２のｘＰＣモジュール１６４は、プロセッサ１４０によって実行されると、プロセッサ１０２によって選択された触覚効果が周期的な触覚効果（例えば、周期的な波形に基づいて生成され得る触覚効果）であるか又は非周期的な触覚効果（例えば、周期的な波形に基づいて生成され得る触覚効果）であるかをプロセッサ１４０に決定させる命令を含み得る。例えば、プロセッサ１４０は、（例えば、ステップ４０２で）プロセッサ１０２から取得したデータを分析して、静的触覚効果が周期的な静的触覚効果であるか又は非周期的な静的触覚効果であるか及び／又は周期的又は非周期的な静的触覚効果の１つ以上の特徴（例えば、周期的な静的触覚効果の１つ以上の触覚効果の振幅、周期、持続時間、開始時間、終了時間等）を決定し得る。
【００８７】
ステップ４０８でプロセッサ１４０が静的触覚効果が周期的な静的触覚効果であると決定した場合、方法４００はステップ４１０に進み、周期的な波形のパラメータに少なくとも部分的に基づいて周期的な静的触覚効果が出力される。いくつかの例示では、ｘＰＣターゲットマシン１４２は、周期的な静的触覚効果を触覚出力デバイス１３８に出力させるための触覚信号を生成しかつ送信し得る。
【００８８】
例えば、ｘＰＣモジュール１６４は、プロセッサ１４０によって実行されると、触覚効果生成モジュール１６６に対する命令をプロセッサに実行させる命令を含み得る。
【００８９】
いくつかの実施形態では、触覚効果生成モジュール１６６は、プロセッサ１４０に触覚信号を生成させて、触覚出力デバイス１３８へと送信させるプログラミングを表す。いくつかの例示では、プロセッサ１４０は、触覚信号を生成して触覚出力デバイス１３８に送信し、触覚効果決定モジュール１６０に含まれる命令を実行するプロセッサ１０２によって決定される触覚効果を触覚出力デバイス１３８に生成させる。
【００９０】
いくつかの例示では、触覚効果生成モジュール１６６は、プロセッサ１４０によって実行されると、選択された周期的な静的触覚効果を生成するために触覚出力デバイス１３８に送信するように、記憶されている波形又はコマンドをプロセッサ１４０にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって、１つ以上の触覚効果に関連付けられる１つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、選択された周期的な静的触覚効果を生成するために触覚出力デバイス１３８に送信するべき周期的な静的触覚効果波形又は周期的な静的触覚効果波形のパラメータ（例えば、周期的な静的触覚効果波形の振幅、周期、持続時間、開始時間、終了時間等）を決定してもよい。
【００９１】
例えば、ステップ４１０において、プロセッサ１４０は、触覚信号に基づいて周期的な静的触覚効果を触覚出力デバイス１３８に出力させるために触覚信号を触覚出力デバイス１３８に送信する。例えば、触覚出力デバイス１３８は、（例えば、ユーザが保持している、装着している、使用している又は他のやり方でユーザデバイス１２０に関連付けられている）ユーザデバイス１２０に関連付けられるユーザに１つ以上の周期的な静的触覚効果を出力し得る。いくつかの実施形態では、触覚出力デバイス１３８は、実質的にリアルタイムで周期的な静的触覚効果を出力できるように、実質的にリアルタイムで（例えば、ｘＰＣターゲットマシン１４２がプロセッサ１０２から触覚効果の１つ以上のパラメータに関するデータを取得すると）触覚信号を受信し得る。
【００９２】
ステップ４０８に戻ると、プロセッサ４０８が静的触覚効果が周期的な静的触覚効果ではないと決定した場合、方法４００はステップ４１２に進み、非周期的な波形に少なくとも部分的に基づいて非周期的な静的触覚効果が出力される。
【００９３】
いくつかの例示では、触覚効果生成モジュール１６６は、プロセッサ１４０によって実行されると、選択された非周期的な静的触覚効果を生成するために触覚出力デバイス１３８に送信するように、記憶されている波形又はコマンドをプロセッサ１４０にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって、１つ以上の触覚効果に関連付けられる１つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、選択された非周期的な静的触覚効果を生成するために触覚出力デバイス１３８に送信するべき非周期的な静的触覚効果波形又は非周期的な静的触覚効果波形のパラメータを決定してもよい。
【００９４】
例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって実行されると、触覚信号に基づいて非周期的な波形の静的触覚効果を触覚出力デバイス１３８に出力させるように、プロセッサ１４０によって触覚信号を触覚出力デバイス１３８に送信させる命令を含み得る。例えば、触覚出力デバイス１３８は、（例えば、ユーザが保持している、装着している、使用している又は他のやり方でユーザデバイス１２０に関連付けられている）ユーザデバイス１２０に関連付けられるユーザに非周期的な波形の静的触覚効果を出力し得る。いくつかの実施形態では、触覚出力デバイス１３８は、実質的にリアルタイムで非周期的な波形の静的触覚効果を出力できるように、実質的にリアルタイムで（例えば、ｘＰＣターゲットマシン１４２がプロセッサ１０２から触覚効果の１つ以上のパラメータに関するデータを取得すると）触覚信号を受信し得る。
【００９５】
ステップ４０４に戻ると、触覚効果が静的触覚効果ではない（例えば、触覚効果が動的触覚効果である）とｘＰＣターゲットマシン１４２のプロセッサ１４０がステップ４０４で決定した場合、方法４００はステップ４０６に進む。
【００９６】
ステップ４０６において、プロセッサ１４０は、動的触覚効果が周期的な触覚効果であるかどうかを決定する。いくつかの例示では、ｘＰＣターゲットマシン１４２のｘＰＣモジュール１６４は、プロセッサ１４０によって実行されると、プロセッサ１０２によって選択された触覚効果が周期的な触覚効果であるか又は非周期的な触覚効果であるかをプロセッサ１４０に決定させる命令を含み得る。例えば、プロセッサ１４０は、（例えば、ステップ４０２で）プロセッサ１０２から取得したデータを分析して、動的触覚効果が周期的な静的触覚効果であるか又は非周期的な静的触覚効果であるか及び／又は周期的又は非周期的な動的触覚効果の１つ以上の特徴（例えば、周期的な動的触覚効果の１つ以上の触覚効果の開始時間又は終了時間）を決定し得る。
【００９７】
ステップ４０６でプロセッサ１４０が動的触覚効果が周期的な動的触覚効果であると決定した場合、方法４００はステップ４１４に進み、周期的な波形のパラメータ及びセンサ信号（例えば、センサ１３６からのセンサ信号）に少なくとも部分的に基づいて周期的な動的触覚効果が生成される。
【００９８】
例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって実行されると、選択された周期的な動的触覚効果を生成するために触覚出力デバイス１３８に送信するように、記憶されている波形又はコマンドをプロセッサ１４０にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって、１つ以上の触覚効果に関連付けられる１つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、選択された周期的な動的触覚効果を生成するために触覚出力デバイス１３８に送信するべき周期的な動的触覚効果波形又は周期的な動的触覚効果波形のパラメータ（例えば、周期的な動的触覚効果波形の振幅、周期、持続時間、開始時間、終了時間等）を決定してもよい。
【００９９】
いくつかの例示では、上記のように、動的触覚効果は、センサ１３６からのセンサデータに基づいて変動し得る。この例示では、プロセッサ１０２は、センサ１３６からセンサ信号を受信して、ユーザの動き（例えば、身体ジェスチャ又はユーザデバイス１２０の動き）及び／又は動きの特徴を決定し、動き及び／又は動きの特徴に基づいて、動的触覚効果の特徴（例えば、振幅、持続時間、場所、タイプ、ピッチ、周波数等）を決定するか又は変動させ得る。例えば、プロセッサ１０２は、ユーザの動き（例えば、身体の動き又はユーザデバイス１２０の動き）及び／又は動きの特徴に関連付けられる動的触覚効果の特徴に対応するデータを含む１つ以上のルックアップテーブル又はデータベースにアクセスし得る。この実施形態では、プロセッサ１０２は、１つ以上のルックアップテーブル又はデータベースにアクセスして、動き及び／又は動きの特徴に関連付けられる１つ以上の動的触覚効果の特徴を決定するか又は変動させ得る。例えば、ユーザが高い圧力量で疑似現実環境における仮想オブジェクトと接触している場合、プロセッサ１０２は、強い振動又は一連の強い振動を含む動的触覚効果を決定し得る。さらにこの例示では、ユーザがその後で仮想オブジェクトとユーザの接触の圧力量を減らした場合、プロセッサ１０２は、例えば、ユーザが仮想オブジェクトとユーザの接触の圧力量を減らすとユーザがより弱い振動を知覚するように、振動又は一連の振動の振幅を低下させること等により、触覚効果の別の特徴を決定するか又は触覚効果の特徴を変動させ得る。
【０１００】
いくつかの実施形態では、プロセッサ１０２は、実質的にリアルタイムで（例えば、センサ１３６がユーザの動き又はユーザデバイス１２０の動きに関する情報をキャプチャすると）センサ１３６から信号を受信して、実質的にリアルタイムでｘＰＣターゲットマシンに（例えば、ステップ４０２において）触覚効果の１つ以上のパラメータを示すデータを送信し得る。この例示では、ステップ４１４において、ｘＰＣターゲットマシン１４２のプロセッサ１４０は、プロセッサ１０２からのデータ及び／又はセンサ１３６からのセンサデータを受信して、上記と実質的に同じやり方でプロセッサ１０２及び／又はセンサ１３６から取得又は受信したデータに基づいて動的触覚信号を生成し得る。
【０１０１】
ステップ４１６において、周期的な動的触覚効果が出力される。例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって実行されると、触覚信号に基づいて周期的な動的触覚効果を触覚出力デバイス１３８に出力させるように、プロセッサ１４０によって触覚信号を触覚出力デバイス１３８に送信させる命令を含み得る。例えば、触覚出力デバイス１３８は、（例えば、ユーザが保持している、装着している、使用している又は他のやり方でユーザデバイス１２０に関連付けられている）ユーザデバイス１２０に関連付けられるユーザに周期的な動的触覚効果を出力し得る。いくつかの実施形態では、触覚出力デバイス１３８は、実質的にリアルタイムで周期的な動的触覚効果を出力できるように、実質的にリアルタイムで（例えば、ｘＰＣターゲットマシン１４２がプロセッサ１０２から触覚効果の１つ以上のパラメータに関するデータを取得すると）触覚信号を受信し得る。
【０１０２】
ステップ４０６に戻ると、プロセッサ１４０が動的触覚効果が周期的な動的触覚効果ではないと決定した場合、方法４００はステップ４１８に進み、非周期的な動的触覚効果を示すデータが取得される。例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって実行されると、選択された非周期的な動的触覚効果を生成するために、触覚出力デバイス１３８に送信するべき記憶されている波形又はコマンドをプロセッサ１４０にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって、１つ以上の触覚効果に関連付けられる１つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、選択された非周期的な動的触覚効果を生成するために触覚出力デバイス１３８に送信するべき非周期的な動的触覚効果波形又は非周期的な動的触覚効果波形のパラメータを決定してもよい。
【０１０３】
いくつかの例示では、上記のように、動的触覚効果は、センサ１３６からのセンサデータに基づいて変動し得る。この例示では、プロセッサ１０２は、実質的にリアルタイムで（例えば、センサ１３６がユーザの動き又はユーザデバイス１２０の動きに関する情報をキャプチャすると）センサ１３６から信号を受信して、実質的にリアルタイムでｘＰＣターゲットマシンに（例えば、ステップ４０２において）触覚効果の１つ以上のパラメータを示すデータを送信し得る。この例示では、ステップ４１８において、ｘＰＣターゲットマシン１４２のプロセッサ１４０は、プロセッサ１０２からのデータ及び／又はセンサ１３６からのセンサデータを受信して、上記と実質的に同じやり方でプロセッサ１０２及び／又はセンサ１３６から取得又は受信したデータに基づいて動的触覚信号を生成し得る。
【０１０４】
ステップ４２０において、非周期的な動的触覚効果は、センサ信号及び非周期的な動的触覚効果波形（例えば、ステップ４１８で取得した非周期的な動的触覚効果波形）に少なくとも部分的に基づいて出力される。
【０１０５】
例えば、触覚効果生成モジュール１６６は、プロセッサ１４０によって実行されると、触覚信号に基づいて非周期的な動的触覚効果を触覚出力デバイス１３８に出力させるように、プロセッサ１４０によって触覚信号を触覚出力デバイス１３８に送信させる命令を含み得る。例えば、触覚出力デバイス１３８は、（例えば、ユーザが保持している、装着している、使用している又は他のやり方でユーザデバイス１２０に関連付けられている）ユーザデバイス１２０に関連付けられるユーザに非周期的な動的触覚効果を出力し得る。いくつかの実施形態では、触覚出力デバイス１３８は、実質的にリアルタイムで非周期的な動的触覚効果を出力できるように、実質的にリアルタイムで（例えば、ｘＰＣターゲットマシン１４２がプロセッサ１０２から触覚効果の１つ以上のパラメータに関するデータを取得すると）触覚信号を受信し得る。
【０１０６】
いくつかの場合には、ｘＰＣターゲットマシン１４２は、少なくとも２０ｋＨｚまでのサンプリングレート又は少なくとも１００ｋｈｚ以上のサンプリングレートを達成することができるコンピュータデバイス、サーバ、デバイス等であり得る。これは、ｘＰＣターゲットマシンがコンピュータデバイス１０１（例えば、プロセッサ１０２）又はユーザデバイス１２０（例えば、センサ１３６）からのデータを実質的にリアルタイムで処理して、約１ｋＨｚから２０ｋＨｚの間の範囲の周波数を有する１つ以上の触覚信号を実質的にリアルタイムで生成することを可能にし得る。例示として、ｘＰＣターゲットマシン１４２は、約１ｋＨｚの周波数を有する１つ以上の触覚信号を生成し得る。
【０１０７】
上記のいくつかの例示では、ｘＰＣターゲットマシン１４２のプロセッサ１４０がプロセッサ１０２を介して（例えば、プロセッサ１０２を介してｘＰＣ制御モジュール１６２に含まれる命令を実行すると）センサ１３６からデータを受信（例えば、取得）しているが、本開示は、このような構成に限定されない。そうではなく、他の例示では、ユーザデバイス１２０及びｘＰＣターゲットマシン１４２は、単一のシステムの一部であり、ｘＰＣターゲットマシンは、センサ１３６に通信可能に結合されてセンサ１３６からセンサデータを受信し得る。
【０１０８】
このようにして、本明細書に記載のシステム及び方法は、実質的にリアルタイムで拡張又は仮想現実環境に対して高精細の動的又は静的触覚プレイバック（例えば、効果）を生成して提供することができる。
【０１０９】
（概論）
上記の方法、システム及びデバイスは例示である。様々な構成によって、適宜、様々なプロシージャ又はコンポーネントが省略、置換、又は追加されてもよい。例えば、代替的な構成では、方法は記載されたものとは異なる順序で実行されてもよく、及び／又は様々なステージが追加、省略及び／又は結合されてもよい。また、所定の構成に関して記載された特徴は、様々な他の構成に結合されてもよい。構成の異なる態様及び要素が、同様に結合されてもよい。また、技術は進歩するものであり、そのため要素の多くは例示であり、本開示又は特許請求の範囲を限定しない。
【０１１０】
例示的な構成（実装を含む）の十分な理解を与えるために説明の中で特定の詳細が与えられている。しかしながら、構成はこうした特定の詳細なしで実施されてもよい。例えば、周知の回路、処理、アルゴリズム、構造及び技術が、構成を不明確にするのを避けるために不要な詳細なしで示されている。この説明は、例示的な構成のみを提供するものであり、請求項の範囲、応用性又は構成を限定しない。むしろ、構成の上記説明は、記載された技術を実装するための実施可能な説明を当業者に提供するであろう。本開示の精神又は範囲から逸れることなく、要素の機能及び配置の様々な変更が行われてもよい。
【０１１１】
また、構成は、フロー図又はブロック図として描かれる処理として記載されてもよい。各々が連続した工程として操作を説明している場合があるが、こうした操作の多くは並列的又は同時に行われ得る。さらに、操作の順序は並び替えられてもよい。工程は、図面に含まれない追加のステップを有してもよい。さらに、方法の例示は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はこれらの任意の組み合わせによって実装されてもよい。ソフトウェア、ファームウェア、ミドルウェア又はマイクロコードで実装される場合、必要なタスクを実行するためのプログラムコード又はコードセグメントは、記憶媒体等の非一時的なコンピュータ可読媒体に記憶されてもよい。プロセッサは、記載されたタスクを実行してもよい。
【０１１２】
複数の例示的な構成が記載されているが、本開示の精神から逸脱することなく、様々な修正、代替構造及び均等物が使用されてもよい。例えば、上記の要素は、より大きなシステムのコンポーネントであってもよく、他の規則が本発明の応用に優先し又はそれを修正してもよい。また、上記の要素が検討される前、間又は後で多くのステップが行われてもよい。したがって、先の記載によって請求項の範囲は縛られない。
【０１１３】
本明細書における「適合」又は「構成」の使用は、追加のタスク又はステップを実行するように適合又は構成されるデバイスを排除しない開放的かつ包括的な言語を意図している。さらに、「基づいて」の使用は開放的かつ包括的であることが意図されており、すなわち、１つ以上の記載された条件又は値に「基づいて」行われる処理、ステップ、計算、又は他の動作が、実際には、記載されたものを超える追加の条件又は値に基づいてもよい。本明細書に含まれる表題、リスト及び番号は、単に説明を容易にするためのものであって、限定することを意図していない。
【０１１４】
本主題の態様に従う実施形態は、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせで実装され得る。一実施形態では、コンピュータは、１つ又は複数のプロセッサを備えてもよい。プロセッサは、プロセッサに結合されるＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）等のコンピュータ可読媒体を備え、又はそれへのアクセスを有する。プロセッサは、センササンプリングルーチン、選択ルーチン、及び上述の方法を実行する他のルーチン等、メモリに記憶されたコンピュータ実行可能プログラム命令を実行する。
【０１１５】
このようなプロセッサは、マイクロプロセッサ、デジタル・シグナル・プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ；ＤＳＰ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ；ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ；ＦＰＧＡ）、及び状態機械を含んでもよい。このようなプロセッサは、ＰＬＣ、プログラマブル割り込みコントローラ（ｐｒｏｇｒａｍｍａｂｌｅ  ｉｎｔｅｒｒｕｐｔ  ｃｏｎｔｒｏｌｌｅｒ；ＰＩＣ）、プログラマブル論理デバイス（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ；ＰＬＤ）、プログラマブルＲＯＭ（ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ；ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ；ＥＰＲＯＭ又はＥＥＰＲＯＭ）、又は他の類似のデバイス等のプログラマブル電子デバイスをさらに備えてもよい。
【０１１６】
このようなプロセッサは、媒体、例えば、プロセッサによって実行されると、プロセッサによって遂行又は支援される本明細書に記載のステップをプロセッサに実行させることができる命令を記憶し得る有形のコンピュータ可読媒体を備え、又はこれと通信してもよい。コンピュータ可読媒体の実施形態は、限定されないが、プロセッサ、例えばウェブサーバのプロセッサにコンピュータ可読命令を提供することができる全ての電子、光学、磁気、又は他の記憶デバイスを備えてもよい。媒体の他の例は、限定されないが、フロッピーディスク、ＣＤ−ＲＯＭ、磁気ディスク、メモリチップ、ＲＯＭ、ＲＡＭ、ＡＳＩＣ、構成プロセッサ、全ての光学媒体、全ての磁気テープ若しくは他の磁気媒体、又はコンピュータプロセッサが読み取り可能な任意の他の媒体を含む。また、様々な他のデバイスは、ルータ、プライベート若しくはパブリックネットワーク、又は他の伝送デバイス等のコンピュータ可読媒体を含んでもよい。記載されたプロセッサ及び処理は、１つ以上の構造内に有ってもよく、１つ以上の構造を通じて分散されてもよい。プロセッサは、本明細書に記載の１つ以上の方法（又は方法の一部）を実行するためのコードを備えてもよい。
【０１１７】
本主題はその特定の実施形態に関して詳細に記載されているが、上記のことを理解すると、このような実施形態の変形、変化、及び均等物を当業者であれば容易に生み出し得ることが理解されるであろう。したがって、本開示は、限定ではなく例示を目的として提示されており、当業者には容易に明らかとなる本主題への修正、変更及び／又は追加を含むことを排除しないことが理解されるべきである。
【図１】
2019192237.tif 000003
【図２】
2019192237.tif 000004
【図３】
2019192237.tif 000005
【図４】
2019192237.tif 000006
【手続補正書】
【提出日】令和1年5月20日(2019.5.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサ及び前記プロセッサに通信可能に結合される非一時的なコンピュータ可読媒体を備え、前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されている実行可能命令を実行して、
疑似現実環境を生成すること、
前記疑似現実環境に関連付けられる触覚効果のパラメータを示すデータを取得すること、
前記触覚効果の前記パラメータに基づいて、前記触覚効果が静的触覚効果であるか又は動的触覚効果であるかを決定すること、
前記触覚効果の前記パラメータに基づいて、前記触覚効果が周期的な触覚効果であるか又は非周期的な触覚効果であるかを決定すること、
前記プロセッサが前記触覚効果の前記パラメータに関する前記データを受信するときに実質的にリアルタイムで、前記触覚効果に関連付けられる触覚信号を生成することであって、前記プロセッサは、少なくとも２０ｋＨｚのサンプリングレートで前記触覚効果の前記パラメータに関する前記データを処理し、かつ実質的に１Ｈｚから２０ｋＨｚの間の周波数を有する前記触覚信号を生成することが可能であること、及び
前記触覚効果に関連付けられる前記触覚信号を触覚出力デバイスに送信すること
を行うように構成される、コンピュータデバイス。
【請求項２】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能命令を実行して、
ユーザに関する情報をキャプチャするように構成されるセンサから、前記ユーザに関する情報を示すセンサ信号を受信すること、及び
前記センサ信号に少なくとも部分的に基づいて前記触覚効果が動的触覚効果であることを決定することであって、前記触覚信号は前記動的触覚効果に基づいていること
を行うようにさらに構成される、請求項１に記載のコンピュータデバイス。
【請求項３】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能命令を実行して、前記触覚効果の前記パラメータに基づいて、前記動的触覚効果が周期的な動的触覚効果であることを決定するようにさらに構成され、前記周期的な動的触覚効果は、周期的な波形に基づいており、前記触覚信号は、前記周期的な波形に基づいている、請求項２に記載のコンピュータデバイス。
【請求項４】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能命令を実行して、前記触覚効果の前記パラメータに基づいて、前記動的触覚効果が非周期的な動的触覚効果であることを決定するようにさらに構成され、前記非周期的な動的触覚効果は、非周期的な波形に基づいており、前記触覚信号は、前記非周期的な波形に基づいている、請求項２に記載のコンピュータデバイス。
【請求項５】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能命令を実行して、前記触覚効果の前記パラメータに基づいて、前記触覚効果が静的触覚効果であることを決定するようにさらに構成され、前記静的触覚効果は、既定の触覚効果であり、前記触覚信号は、前記静的触覚効果に関連付けられている、請求項１に記載のコンピュータデバイス。
【請求項６】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能命令を実行して、前記触覚効果の前記パラメータに基づいて、前記静的触覚効果が周期的な静的触覚効果であることを決定するようにさらに構成され、前記周期的な静的触覚効果は、周期的な波形に基づいており、前記触覚信号は、前記周期的な波形に基づいている、請求項５に記載のコンピュータデバイス。
【請求項７】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能命令を実行して、前記触覚効果の前記パラメータに基づいて、前記静的触覚効果が非周期的な静的触覚効果であることを決定するようにさらに構成され、前記非周期的な静的触覚効果は、非周期的な波形に基づいており、前記触覚信号は、前記非周期的な波形に基づいている、請求項５に記載のコンピュータデバイス。
【請求項８】
プロセッサによって、疑似現実環境を生成するステップと、
前記プロセッサによって、前記疑似現実環境に関連付けられる触覚効果のパラメータを示すデータを取得するステップと、
前記プロセッサによって、前記触覚効果の前記パラメータに基づいて、前記触覚効果が静的触覚効果であるか又は動的触覚効果であるかを決定するステップと、
前記プロセッサによって、前記触覚効果の前記パラメータに基づいて、前記触覚効果が周期的な触覚効果であるか又は非周期的な触覚効果であるかを決定するステップと、
前記プロセッサによって、前記プロセッサが前記触覚効果の前記パラメータに関する前記データを受信するときに実質的にリアルタイムで、前記触覚効果に関連付けられる触覚信号を生成するステップであって、前記プロセッサは、少なくとも２０ｋＨｚのサンプリングレートで前記触覚効果の前記パラメータに関する前記データを処理し、かつ実質的に１Ｈｚから２０ｋＨｚの間の周波数を有する前記触覚信号を生成することが可能であるステップと、
前記プロセッサによって、前記触覚効果に関連付けられる前記触覚信号を触覚出力デバイスに送信するステップと
を含む、方法。
【請求項９】
前記プロセッサによって、ユーザに関する情報を示すセンサ信号を受信するステップと、
前記プロセッサによって、前記センサ信号に少なくとも部分的に基づいて前記触覚効果が動的触覚効果であることを決定するステップであって、前記触覚信号は前記動的触覚効果に基づいているステップと
をさらに含む、請求項８に記載の方法。
【請求項１０】
前記プロセッサによって、前記触覚効果の前記パラメータに基づいて、前記動的触覚効果が周期的な動的触覚効果であることを決定するステップであって、前記周期的な動的触覚効果は、周期的な波形に基づいており、前記触覚信号は、前記周期的な波形に基づいているステップ
をさらに含む、請求項９に記載の方法。
【請求項１１】
前記プロセッサによって、前記触覚効果の前記パラメータに基づいて、前記動的触覚効果が非周期的な動的触覚効果であることを決定するステップであって、前記非周期的な動的触覚効果は、非周期的な波形に基づいており、前記触覚信号は、前記非周期的な波形に基づいているステップ
をさらに含む、請求項９に記載の方法。
【請求項１２】
前記プロセッサによって、前記触覚効果の前記パラメータに基づいて、前記触覚効果が静的触覚効果であることを決定するステップであって、前記静的触覚効果は、既定の触覚効果であり、前記触覚信号は、前記静的触覚効果に基づいているステップ
をさらに含む、請求項８に記載の方法。
【請求項１３】
前記プロセッサによって、前記触覚効果の前記パラメータに基づいて、前記静的触覚効果が周期的な静的触覚効果であることを決定するステップであって、前記周期的な静的触覚効果は、周期的な波形に基づいており、前記触覚信号は、前記周期的な波形に基づいているステップ
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記プロセッサによって、前記触覚効果の前記パラメータに基づいて、前記静的触覚効果が非周期的な静的触覚効果であることを決定するステップであって、前記非周期的な静的触覚効果は、非周期的な波形に基づいており、前記触覚信号は、前記非周期的な波形に基づいているステップ
をさらに含む、請求項１２に記載の方法。
【請求項１５】
プロセッサ実行可能プログラムコードを含む非一時的なコンピュータ可読媒体であって、前記プロセッサ実行可能プログラムコードは、プロセッサに、
疑似現実環境を生成すること、
前記疑似現実環境に関連付けられる触覚効果のパラメータを示すデータを取得すること、
前記触覚効果の前記パラメータに基づいて、前記触覚効果が静的触覚効果であるか又は動的触覚効果であるかを決定すること、
前記触覚効果の前記パラメータに基づいて、前記触覚効果が周期的な触覚効果であるか又は非周期的な触覚効果であるかを決定すること、
前記プロセッサが前記触覚効果の前記パラメータに関する前記データを受信するときに実質的にリアルタイムで、前記触覚効果に関連付けられる触覚信号を生成することであって、前記プロセッサは、少なくとも２０ｋＨｚのサンプリングレートで前記触覚効果の前記パラメータに関する前記データを処理し、かつ実質的に１Ｈｚから２０ｋＨｚの間の周波数を有する前記触覚信号を生成することが可能であること、及び
前記触覚効果に関連付けられる前記触覚信号を触覚出力デバイスに送信すること
を行わせるように構成される、非一時的なコンピュータ可読媒体。
【請求項１６】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能プログラムコードを実行して、
ユーザに関する情報を示すセンサ信号を受信すること、及び
前記センサ信号に少なくとも部分的に基づいて前記触覚効果が動的触覚効果であることを決定することであって、前記触覚信号は前記動的触覚効果に基づいていること
を行うようにさらに構成される、請求項１５に記載の非一時的なコンピュータ可読媒体。
【請求項１７】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能プログラムコードを実行して、前記触覚効果の前記パラメータに基づいて、前記動的触覚効果が周期的な動的触覚効果であるか又は非周期的な動的触覚効果であるかを決定するようにさらに構成され、前記周期的な動的触覚効果は、周期的な波形に基づいており、前記非周期的な動的触覚効果は、非周期的な波形に基づいており、前記触覚信号は、前記周期的な波形又は前記非周期的な波形に基づいている、請求項１６に記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能プログラムコードを実行して、前記触覚効果の前記パラメータに基づいて、前記触覚効果が静的触覚効果であることを決定するようにさらに構成され、前記静的触覚効果は、既定の触覚効果であり、前記触覚信号は、前記静的触覚効果に関連付けられている、請求項１５に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記プロセッサは、前記非一時的なコンピュータ可読媒体に記憶されているプロセッサ実行可能プログラムコードを実行して、前記触覚効果の前記パラメータに基づいて、前記静的触覚効果が周期的な静的触覚効果であるか又は非周期的な静的触覚効果であるかを決定するようにさらに構成され、前記周期的な静的触覚効果は、周期的な波形に基づいており、前記非周期的な静的触覚効果は、非周期的な波形に基づいており、前記触覚信号は、前記周期的な波形又は前記非周期的な波形に基づいている、請求項１８に記載の非一時的なコンピュータ可読媒体。
【外国語明細書】
2019192237000001.pdf