JP2019192237A - 拡張又は仮想現実環境に対して動的触覚プレイバックを提供するためのシステム及び方法 - Google Patents

拡張又は仮想現実環境に対して動的触覚プレイバックを提供するためのシステム及び方法 Download PDF

Info

Publication number
JP2019192237A
JP2019192237A JP2019078632A JP2019078632A JP2019192237A JP 2019192237 A JP2019192237 A JP 2019192237A JP 2019078632 A JP2019078632 A JP 2019078632A JP 2019078632 A JP2019078632 A JP 2019078632A JP 2019192237 A JP2019192237 A JP 2019192237A
Authority
JP
Japan
Prior art keywords
processor
haptic
haptic effect
user
sensor
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
JP2019078632A
Other languages
English (en)
Inventor
リーウェン ウー、
li-wen Wu
リーウェン ウー、
ダニー エイ. グラント、
A Grant Danny
ダニー エイ. グラント、
マヌエル クルス−エルナンデス、ファン
Juan Manuel Cruz-Hernandez
ファン マヌエル クルス−エルナンデス、
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 JP2019192237A publication Critical patent/JP2019192237A/ja
Pending legal-status Critical Current

Links

Images

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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するシステム及び方法を提供する。【解決手段】システム100は、メモリ及びメモリと通信するプロセッサを含むコンピュータデバイスを含み、少なくとも100kHzのサンプリングレートを達成することが可能であり、センサ及び触覚出力デバイスを含むユーザデバイス及びコンピュータデバイスと通信するxPCターゲットマシンも含む。プロセッサは、疑似現実環境を生成して、疑似現実環境又はセンサからのセンサ信号に基づいて触覚効果を決定する。プロセッサは、センサ信号又は触覚効果のパラメータに関するデータをxPCターゲットマシンに送信し、触覚効果のパラメータを決定して、実質的にリアルタイムで触覚信号を生成する。xPCターゲットマシンは、触覚信号を受信して触覚効果を出力するユーザデバイスの触覚出力デバイスに触覚信号を送信する。【選択図】図1

Description

本開示は、一般に、ユーザインターフェースデバイスに関する。より詳細には、本開示は、限定されないが、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供することに関する。
拡張現実(AR)デバイスは、物理オブジェクト又は「実世界」オブジェクトが仮想空間における仮想オブジェクトと同時に表示される拡張現実環境を提供する。同様に、仮想現実(VR)デバイスは、VR環境におけるユーザの物理的存在をシミュレートすることができるVR環境を生成するために使用され得る。AR又はVRデバイスのユーザは、AR又はVR環境を観察して、AR又はVR環境における仮想オブジェクトを見るか又はそれと相互作用することができる。しかしながら、いくつかのAR又はVRデバイスは、触覚フィードバック機能を欠く場合がある。さらに、いくつかのAR又はVRデバイスは、静的触覚フィードバック又はプレイバック(例えば、AR又はVR環境とユーザの相互作用に基づいた既定の触覚効果)、及び動的触覚フィードバック又はプレイバック(例えば、ユーザがAR又はVR環境と相互作用するときに経時的に変化する1つ以上の触覚効果)を提供しない場合がある。さらに、いくつかのAR又はVRデバイスは、実質的にリアルタイムで触覚フィードバック又はプレイバック(例えば、ユーザがAR又はVR環境と相互作用するときに実質的にリアルタイムで知覚される触覚効果)を提供しない場合がある。
本開示の様々な実施形態は、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためのシステム及び方法を提供する。
一実施形態では、システムは、ユーザの相互作用を示す情報又はユーザに関する生物若しくは生体情報又はユーザの環境に関する任意の情報をキャプチャするように構成されるセンサを備えるユーザデバイスを備える。ユーザデバイスは、触覚出力デバイスをさらに備える。システムは、第1の処理デバイス及び第1の処理デバイスに通信可能に結合される非一時的なコンピュータ可読媒体をさらに備える。第1の処理デバイスは、疑似現実環境を生成すること、センサから、ユーザに関する情報を示すセンサ信号を受信すること、疑似現実環境又はセンサ信号に基づいて触覚効果を決定すること、及びセンサ信号又は触覚効果のパラメータに関するデータをxPCターゲットマシンに送信することを含む動作を行うように構成される。システムは、少なくとも20kHzまでのサンプリングレート又は少なくとも100khz以上のサンプリングレートを達成することができるxPCターゲットマシンをさらに備え、触覚効果のパラメータを決定するように構成される第2の処理装置を備える。また、第2の処理デバイスは、xPCターゲットマシンがセンサ信号又は触覚効果のパラメータに関するデータを受信するときに実質的にリアルタイムで、触覚効果に関連付けられる触覚信号を生成するように構成され、触覚信号は、約1Hzから20kHzの間の周波数を有する。また、第2の処理デバイスは、触覚信号を受信して触覚効果を出力するように構成される触覚出力デバイスに触覚効果に関連付けられる触覚信号を送信するように構成される。
こうした例示の実施形態は、本主題を限定し又はその限界を定義するためではなく、その理解を支援するための例示を提供するために言及されている。例示の実施形態は、詳細な説明において検討され、そこではさらなる説明が提供される。本明細書を吟味することによって、及び/又は請求項に記載の主題の1つ以上の実施形態を実施することによって、様々な実施形態によってもたらされる利点がさらに理解され得る。
本明細書の以下の部分には完全なかつ実施可能な開示がより詳細に説明されている。本明細書は以下の添付の図面を参照する。
一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためのシステムを示すブロック図である。
一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するために生成され得る相互作用可能ユーザインターフェースの例示である。
一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するために生成され得る相互作用可能ユーザインターフェースの例示である。
一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するための方法を実行するステップのフローチャートである。
次に、多様な及び代替的な例示の実施形態及び添付の図面を詳細に参照する。各例示は、限定としてではなく、説明目的で提供されている。修正及び変更が行われ得ることは、当業者には明らかであろう。例えば、一実施形態の一部として例示され又は記載された特徴は、さらなる実施形態をもたらすために別の実施形態において使用されてもよい。したがって、本開示は、添付の請求項及び均等物の範囲に入る修正及び変形を含むことが意図されている。
(実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供することの例示)
本開示の1つの例示の実施形態は、メモリ及びメモリと通信するプロセッサを含むコンピュータデバイスを備える。コンピュータデバイスは、センサを備えるウェアラブルデバイス等のユーザデバイスに通信可能に結合される。この例示では、コンピュータデバイス及びユーザデバイスは、それぞれがxPCターゲットモジュールを含むメモリ及びメモリと通信するプロセッサを含むxPCターゲットマシン又はデバイスに通信可能に結合され得る。いくつかの例示では、クロスプロセス又はプロセス間通信(例えば、1つ以上のデバイスの間)を行うように構成され得る任意のデバイスを含む。いくつかの場合には、xPCターゲットマシンは、コンピュータデバイス及びユーザデバイスからデータを取得して、実質的にリアルタイムでデータを処理又は分析することができる。
例示の実施形態では、コンピュータデバイスは、ユーザデバイスを使用して疑似現実環境(例えば、仮想又は拡張現実環境)を生成して出力することができ、ユーザデバイスのユーザは、ユーザデバイスを使用して疑似現実環境と相互作用することができる。この例示では、コンピュータデバイスは、疑似現実環境及び疑似現実環境とユーザの相互作用に関するデータをキャプチャすることができる。例えば、コンピュータデバイスのプロセッサは、(例えば、疑似現実環境において仮想オブジェクトを押すか又はそれにタッチするときに)疑似現実環境に関するデータをキャプチャすることができる。ユーザデバイスのセンサは、疑似現実環境とユーザの相互作用に関する情報(例えば、ユーザの体の一部の動き、ユーザ入力、又は疑似現実環境との任意の他の相互作用に関するデータ)をキャプチャして、疑似現実環境とユーザの相互作用に関してキャプチャされた情報を示す信号をコンピュータデバイスのプロセッサに送信することができる。コンピュータデバイスのプロセッサは、疑似現実環境に関するデータ又は疑似現実環境とユーザの相互作用に少なくとも部分的に基づいて1つ以上の触覚効果の1つ以上のパラメータを決定することができる。
この例示では、xPCターゲットモジュールは、コンピュータデバイスのプロセッサから1つ以上の触覚効果の1つ以上のパラメータに関するデータ及び/又はユーザデバイスのセンサから取得したセンサデータをxPCターゲットマシンに取得(例えば、受信)させる命令を含み得る。xPCターゲットマシンは、触覚効果のパラメータに基づいて触覚信号を生成して、ユーザデバイスに関連付けられる触覚出力デバイスに触覚信号を送信することができる。触覚出力デバイスは、触覚信号を受信して、触覚信号に基づいて1つ以上の触覚効果を出力するように構成される。
一例として、ユーザが疑似現実環境と相互作用しているときに、ユーザは、(例えば、仮想オブジェクトを選択するためのユーザ入力を提供するために)疑似現実環境において仮想オブジェクトをタップし得る。この例示では、コンピュータデバイスのプロセッサは、ユーザが仮想オブジェクトをタップしていることを示すデータを取得し得る。プロセッサは、ユーザが仮想オブジェクトをタップしていることに関連付けられる触覚効果のパラメータを決定し得る。例えば、プロセッサは、ユーザが仮想オブジェクトをタップしていることに静的触覚効果が関連付けられていることを決定し得る。静的触覚効果は、例えば、既定の特徴(例えば、既定の振幅、持続時間、位置、タイプ、ピッチ、周波数等)を有する触覚効果等の既定の触覚効果であり得る。さらにこの例示では、プロセッサは、xPCターゲットマシンに静的触覚効果に関するデータ又は静的触覚効果のパラメータを送信してもよく、実質的にリアルタイムでデータを処理して静的触覚効果に関連付けられる触覚信号を生成し、触覚出力デバイスに触覚信号を送信してもよく、触覚出力デバイスは、触覚信号に応答して静的触覚効果を出力し得る。
この例示では、ユーザは、疑似現実環境との相互作用を継続してもよく、ユーザデバイスのセンサは、疑似現実環境における仮想オブジェクトとユーザの接触の圧力の量又はユーザの接触の圧力の量の変化を検出する圧力センサであり得る。センサは、圧力の量又は圧力の量の変化に関する情報をキャプチャすると、圧力の量又は圧力の変化を示す1つ以上の信号を実質的にリアルタイムでプロセッサに送信する。それから、プロセッサは、圧力の量又は圧力の変化に関連付けられる触覚効果のパラメータを決定し得る。例えば、プロセッサは、1つ以上の動的触覚効果が仮想オブジェクトとユーザの接触の圧力の量又は圧力の量の変化に関連付けられることを決定し得る。いくつかの例示では、動的触覚効果は、センサによってキャプチャされたデータに基づいて変化又は変動し得る(例えば、ユーザの接触の圧力の量又は圧力の量の変化を示すセンサデータに基づいて変化する)1つ以上の触覚効果を含み得る。さらにこの例示では、プロセッサは、xPCターゲットマシンに動的触覚効果に関するデータ又は動的触覚効果のパラメータを送信してもよく、それは実質的にリアルタイムでデータを処理して動的触覚効果に関連付けられる1つ以上の触覚信号を生成して、触覚出力デバイスに触覚信号を送信してもよく、これは触覚信号の受信に応答して動的触覚効果を出力し得る。
このようにして、xPCターゲットマシンは、データを取得しかつ実質的にリアルタイムでデータを処理又は解析して触覚信号を生成するようにコンピュータデバイス及びユーザデバイスに通信可能に結合され、それにより触覚出力デバイスは、実質的にリアルタイムで静的又は動的触覚効果を出力し得る。いくつかの場合には、xPCターゲットマシンは、少なくとも20kHzまでのサンプリングレート又は少なくとも100khzのサンプリングレートを達成することができるコンピュータデバイス、サーバ、デバイス等であり得る。これは、xPCターゲットマシンがコンピュータデバイス又はユーザデバイスからのデータをリアルタイムで処理して、約1Hzから20kHzの間の範囲の周波数を有する1つ以上の触覚信号を実質的にリアルタイムで生成することを可能にし得る。例示として、xPCターゲットマシンは、コンピュータデバイス又はユーザデバイスからのデータをリアルタイムで処理して、約1kHzの周波数を有する触覚信号を生成し得る。
この例示では、xPCターゲットマシン及びユーザデバイスは別個のシステムとして記載されているが、本開示はこのような構成に限定されない。その代わり、他の例示では、ユーザデバイス及びxPCターゲットマシンは、単一のシステムの一部であり、xPCターゲットマシンは、ユーザデバイスのセンサからセンサ信号を受信し得る。
このようにして、本明細書に記載のシステム及び方法は、実質的にリアルタイムで拡張又は仮想現実環境に対して高精細の動的又は静的触覚プレイバック(例えば、効果)を生成して提供することができる。
こうした例示は、本明細書で検討される一般的な主題を読者に紹介するために与えられており、本開示の概念をこの例示に限定することを意図していない。以下の節には、図面を参照して様々な追加の特徴及び例示が記載されている。図面において、同じ数字は同じ要素を示している。また、方向の記載は、例示を記載しているのであって、例示のように、本開示を限定するために使用されるべきではない。
(実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためのシステムの例示)
図1は、一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためのシステム100を示すブロック図である。図1に描かれている実施形態では、システム100は、バス106を介して他のハードウェアと通信するプロセッサ102を有するコンピュータデバイス101(例えば、ホストデバイス)を備える。コンピュータデバイス101は、例えば、パーソナルコンピュータ、モバイルデバイス(例えば、スマートフォン)、タブレット等を含んでもよい。一部の実施形態では、コンピュータデバイス101は、図1に記載の全ての又は一部のコンポーネントを含んでもよい。
RAM(random access memory)、ROM(read−only memory)又はEEPROM(rasable and programmable read−only memory)等の任意の適切な有形の(及び非一時的な)コンピュータ可読媒体を含み得るメモリ104が、コンピュータデバイス101の動作を構成するプログラムコンポーネントを具現化する。図示の実施形態では、コンピュータデバイス101は、1つ以上のネットワークインターフェースデバイス108、入力/出力(I/O)インターフェースコンポーネント110、及び記憶装置112をさらに含む。
ネットワークインターフェースデバイス108は、ネットワーク接続を容易にする1つ以上の任意のネットワークコンポーネントを表し得る。限定されないが、例示には、イーサネット(登録商標)、USB、IEEE1394等の有線インターフェース、及び/又はIEEE802.11、ブルートゥース(登録商標)等の無線インターフェース、又は携帯電話ネットワークにアクセスするための無線インターフェース(例えば、CDMA、GSM(登録商標)、UMTS又は他の移動通信ネットワーク)が含まれる。
I/Oコンポーネント110は、1つ以上のディスプレイ114、ゲームコントローラ、キーボード、マウス、ジョイスティック、カメラ、ボタン、スピーカ、マイクロホン、及び/又はデータの入力若しくは出力に使用される他のハードウェア等のデバイスへの有線又は無線接続を容易にするために使用されてもよい。記憶装置112は、コンピュータデバイス101に含まれ又はプロセッサ102に結合される磁気、光学、又は他の記憶媒体等の不揮発性記憶装置を表す。
システム100は、例えば、モバイルデバイス(例えば、スマートフォン)、スマートウォッチ、ヘッドマウント型ディスプレイ、ウェアラブルデバイス、ハンドヘルドデバイス(例えば、タブレット、ビデオゲームコントローラ)、又は任意の他のタイプのユーザインターフェースデバイスであり得るユーザデバイス120(例えば、ローカルデバイス)をさらに備える。いくつかの例示では、ユーザデバイス120は、疑似現実環境(例えば、拡張又は仮想現実環境)と相互作用するためにユーザが使用することができる任意のタイプのユーザインターフェースデバイスであり得る。
ユーザデバイス120は、バス124を介して他のハードウェアと通信するプロセッサ122を含み得る。また、ユーザデバイス120は、メモリ126、ネットワークインターフェースデバイス128、I/Oコンポーネント130、及びディスプレイ132も含んでもよく、これらの各々が、必ずしも必要ではないが、メモリ104、ネットワークインターフェースデバイス108、I/Oコンポーネント110、及びディスプレイ114と実質的に同様に構成され得る。
いくつかの実施形態では、ユーザデバイス120は、バス124に通信可能に接続されかつユーザの触覚入力を感知するように構成され得るタッチ面134(例えば、タッチパッド又はタッチ感応面)を備える。この例示では、ユーザデバイス120は、ユーザの触覚入力を感知するように構成されるものとして記載されるタッチ面134を含むが、本開示はこのような構成に限定されない。その代わりに、他の例示では、ユーザデバイス120は、触覚入力を感知するように構成されなくてもよいタッチ面134及び/又は任意の表面を含み得る。
いくつかの例示では、ユーザデバイス120は、ユーザデバイス120のタッチ面134及びディスプレイ132を組み合わせたタッチ可能ディスプレイを備える。タッチ面134は、ディスプレイ132上にオーバレイされてもよく、ディスプレイ132のエクステリアであってもよく、又はディスプレイ132のコンポーネントの上の1つ以上の材料レイヤであってもよい。他の実施形態では、ユーザデバイス120は、タッチ可能ディスプレイ上に1つ以上の仮想ユーザインターフェースコンポーネント(例えば、ボタン)を含むグラフィカルユーザインターフェース(GUI)を表示してもよく、タッチ面134は、仮想ユーザインターフェースコンポーネントとの相互作用を可能にし得る。
いくつかの実施形態では、ユーザデバイス120は、1つ以上のセンサ136を備える。いくつかの実施形態では、センサ136は、例えば、ジャイロスコープ、加速度計、画像センサ、カメラ、磁力計、マイクロホン、温度センサ、力センサ、圧力センサ、心拍センサ、インスリンセンサ、パルスセンサ、慣性測定装置、脳波図、及び/又はユーザ若しくはユーザの相互作用に関する任意の情報を検出、監視又はキャプチャすることができる他のセンサを含んでもよい。例えば、センサ136は、ユーザが疑似現実環境と相互作用するときのユーザの動き又はユーザデバイス120のユーザの動きに関する情報又はユーザの環境に関する情報をキャプチャすることができる任意のセンサであり得る。別の例示として、センサ136は、疑似現実環境における仮想オブジェクトとユーザの接触の圧力の量又はユーザの接触の圧力の量の変化に関する情報をキャプチャする圧力センサであり得る。いくつかの例示では、センサ136は、ユーザの相互作用を示す任意の情報、ユーザに関する生物又は生体情報、ユーザの現実又は仮想環境に関する情報、又はユーザに関する任意の他の情報をキャプチャするように構成され得る。
ユーザデバイス120は、xPCターゲットマシン142のプロセッサ122又はプロセッサ140と通信する触覚出力デバイス138をさらに備える。触覚出力デバイス138は、触覚信号に応答して触覚効果を出力するように構成される。例えば、触覚出力デバイス138は、xPCターゲットマシン142のプロセッサ142からの触覚信号に応答して触覚効果を出力し得る。別の例示として、ユーザデバイス120のプロセッサ122は、xPCターゲットマシン142のプロセッサ140から触覚信号を受信して、触覚信号を触覚出力デバイス138に送信し得る。いくつかの実施形態では、触覚出力デバイス118は、例えば、振動、絞り、突き、知覚される摩擦係数の変化、疑似テクスチャ、ストロークの感覚、電気触知効果、又は表面変形(例えば、ユーザデバイス120に関連付けられる表面の変形)、及び/又は固体、液体若しくは気体の吹き出しを含む触覚効果を出力するように構成される。さらに、いくつかの触覚効果は、同じ又は異なるタイプの複数の触覚出力デバイス138を順番に及び/又は同時に使用してもよい。
図1には単一の触覚出力デバイス138が示されているが、いくつかの実施形態では、触覚効果を発生させるために同じ又は異なるタイプの複数の触覚出力デバイス138が使用されてもよい。いくつかの実施形態では、触覚出力デバイス138は、ユーザデバイス101の内部にあり、(例えば、イーサネット(登録商標)、USB、IEEE1394等の有線インターフェース、及び/又はIEEE802.11、ブルートゥース(登録商標)、又はラジオインターフェース等の無線インターフェースを介して)xPCターゲットマシン142と通信する。例えば、触覚出力デバイス138は、ユーザデバイス120に関連付けられ(例えば、それに又はその中に結合され)、プロセッサ140又はプロセッサ122から触覚信号を受信するように構成されてもよい。
触覚出力デバイス138は、圧電アクチュエータ、電気活性ポリマー、マクロファイバーコンポジット(MFC)素子等の1つ以上を含んでもよい。本明細書で用いられる「MFC素子」という用語は、アクチュエータ及びセンサの両方として作用するコンポーネント又は素子を意味するように用いられる。いくつかの例示では、「MFC素子」という用語は、エネルギを使用して触覚効果を出力する又は入力としてエネルギを受信するトランスデューサを意味するように用いられ得る。例えば、MFC素子は、MFC素子が押し下げ、タッチ、折り曲げ等されるときにセンサとして使用され得る。この例示では、MFC素子が押し下げ、タッチ、折り曲げ等されるときに、MFC素子の1つ以上のアクチュエータリード又は端子が、マイクロコントローラによって検出、増幅、分析等され得る電圧を伝達し得る。
システム100は、xPCターゲットマシン142をさらに備え、これはバス144を介して他のハードウェアと通信するプロセッサ140を含む。xPCターゲットマシン142は、例えば、パーソナルコンピュータ又は他のデバイスを含んでもよい。また、xPCターゲットマシン142は、メモリ146、ネットワークインターフェースデバイス148、I/Oコンポーネント150、記憶装置152、及びディスプレイ154も含んでもよく、これらの各々が、必ずしも必要ではないが、メモリ104、ネットワークインターフェースデバイス108、I/Oコンポーネント110、記憶装置112、及びディスプレイ114と実質的に同様に構成され得る。
コンピュータデバイス101のメモリ104に関しては、モジュール156、158、160及び162は、いくつかの実施形態では、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためにデバイスがどのように構成され得るかを示すように描かれている。いくつかの実施形態では、モジュール156、158、160及び162は、1つ以上の動作を行うようにプロセッサ102を構成し得るプロセッサ実行可能命令を含んでもよい。
例えば、コンテンツ提供モジュール156は、コンテンツ(例えば、テキスト、画像、音声、映像、キャラクタ、仮想オブジェクト、仮想アニメーション等)をユーザ(例えば、コンピュータデバイス101のユーザ又はユーザデバイス120)に提供するようにプロセッサ102によって実行され得る命令を含む。コンテンツがコンピュータ生成画像を含む場合、コンテンツ提供モジュール156は、プロセッサ102によって実行されると、ディスプレイデバイス(例えば、コンピュータデバイス101のディスプレイ114又はプロセッサ102に通信可能に結合される別のディスプレイ)に表示される画像をプロセッサ102に生成させる命令を含む。コンテンツが映像及び/又は静止画像を含む場合、コンテンツ提供モジュール156は、プロセッサ102によって実行されると、映像及び/又は静止画像にアクセスして、ディスプレイ114に表示される映像及び/又は静止画像のビューをプロセッサ102に生成させる命令を含む。コンテンツがオーディオコンテンツを含む場合、コンテンツ提供モジュール156は、プロセッサ102によって実行されると、ディスプレイ114の一部であり得るスピーカを駆動して対応する音声を出力する電気信号をプロセッサ102に生成させる命令を含む。いくつかの実施形態では、コンテンツ、又はコンテンツが伝達される情報は、図1に示されるように、コンピュータデバイス101の一部であり得る記憶装置112からプロセッサ102によって取得されてもよく、又はコンピュータデバイス101から分離してコンピュータデバイス101に通信可能に結合されてもよい。
例示として、コンテンツ提供モジュール156は、プロセッサ102によって実行されると、ディスプレイ114上に表示される疑似現実環境をプロセッサ102に生成させる命令を含み得る。疑似現実環境は、部分的に又は全体的に仮想的である環境を含み得る。例えば、疑似現実環境は、拡張現実環境、仮想現実環境、ビデオゲーム環境等を含み得る。1つの例示として、プロセッサ102は、ディスプレイ114上にビデオゲームに関連付けられる仮想又は拡張現実環境を生成し得る。疑似現実環境は、ユーザの物理的存在及び/又は環境をシミュレートしてもよく、コンピュータデバイス101のユーザがユーザデバイス120を使用して相互作用し得る仮想オブジェクト(例えば、キャラクタ、車両、ボタン、スライダ、ノブ、アイコン又は他のユーザインターフェースコンポーネント)を含み得る。例えば、ユーザデバイス120は、ゲームコントローラ、指輪、キーボード、マウス、ジョイスティック等であってもよく、これらを用いてユーザは、疑似現実環境と相互作用してもよい。また、ユーザデバイス120は、ネットワークデバイス108及びネットワークデバイス128を介してコンピュータデバイス101に通信可能に結合され得る。プロセッサ102は、ネットワークデバイス108及びネットワークデバイス128を介してユーザデバイス120から信号を受信して、信号に基づいて疑似現実環境内の仮想オブジェクトとの相互作用及び/又はそれの操作を決定してもよい。プロセッサ102は、疑似現実環境内で相互作用及び/又は操作を発生させてもよい。したがって、ユーザは、ユーザデバイス120を介して疑似現実環境における仮想オブジェクトと相互作用するか又はそれを操作することが可能であってもよい。
検出モジュール158は、センサ136からセンサ信号を受信するようにプロセッサ102を構成し得る。例示として、検出モジュール158は、プロセッサ102によって実行されると、センサ136がユーザデバイス120のユーザの動き又はユーザデバイス120の動きを検出又は感知したときに、センサ136からのセンサ信号をプロセッサ102に受信させる命令を含み得る。例示として、プロセッサ102は、センサ136がユーザデバイス120を使用した疑似現実環境とユーザの相互作用を検出すると、センサ136からセンサ信号を受信し得る。例えば、検出モジュール158は、プロセッサ102によって実行されると、ユーザが疑似現実環境と相互作用したときのユーザデバイス120のユーザの動きに関する情報をセンサ136がキャプチャしたときに、センサ136からのセンサ信号をプロセッサ102に受信させる命令を含み得る。別の例示として、検出モジュール158は、プロセッサ102によって実行されると、疑似現実環境における仮想オブジェクトとユーザの接触の圧力の量又はユーザの接触の圧力の量の変化に関する情報をセンサ136がキャプチャしたときに、センサ136からのセンサ信号をプロセッサ102に受信させる命令を含み得る。いくつかの例示では、センサ136からのセンサ信号は、限定されないが、ユーザの動き又はユーザデバイス120の動きの経路、速度、加速度を含むユーザの動き又はユーザデバイス120の動きに関する情報、及び/又はユーザ又はユーザデバイス120に関する任意の他の情報を含み得る。いくつかの例示では、センサ136からのセンサ信号は、限定されないが、ユーザの現実または仮想環境の温度、湿度、緯度を含むユーザの現実又は疑似環境のパラメータ(例えば、状態)に関する情報を含み得る。いくつかの例示では、プロセッサ102は、センサ136から1つ以上のセンサ信号を受信して、センサ信号に基づいて、ユーザ、ユーザの動き、ユーザデバイス120のユーザの動き、又はユーザの環境に関する情報を決定し得る。
いくつかの実施形態では、触覚効果決定モジュール160は、プロセッサ102によって実行されると、生成すべき触覚効果をプロセッサ102に決定させる命令を含む。触覚効果決定モジュール160は、プロセッサ102によって実行されると、1つ以上のアルゴリズム又はルックアップテーブルを使用して出力すべき1つ以上の触覚効果をプロセッサ102に選択させる命令を含んでもよい。いくつかの実施形態では、触覚効果決定モジュール160は、様々な触覚効果に対応するデータを含みかつ触覚効果を決定するためにプロセッサ102によって使用可能な1つ以上のアルゴリズム又はルックアップテーブルを含む。
いくつかの例示では、触覚効果決定モジュール160は、静的触覚効果又は動的触覚効果をプロセッサ102に決定させてもよい。静的触覚効果は、疑似現実環境又は疑似現実環境とユーザの相互作用に基づく1つ以上の既定の触覚効果を含み得る。いくつかの例示では、静的触覚効果は、既定の特徴(例えば、既定の振幅、持続時間、位置、タイプ、ピッチ、周波数等)を有し得る。
いくつかの例示では、動的触覚効果は、センサ136からのセンサ信号に基づいて変化又は変動し得る1つ以上の触覚効果を含み得る。例えば、動的触覚効果の特徴(例えば、振幅、持続時間、位置、タイプ、ピッチ、周波数等)は、センサ136からのセンサ信号又は疑似現実環境に基づいて(例えば、疑似現実環境とユーザの相互作用に基づいて)変動し得る。
特に、いくつかの実施形態では、触覚効果決定モジュール160は、プロセッサ102によって実行されると、疑似現実環境(例えば、コンテンツ提供モジュール156に含まれる命令を実行するプロセッサ102によって生成される疑似現実環境)又は疑似現実環境とユーザの相互作用に少なくとも部分的に基づいて静的触覚効果をプロセッサ102に決定させる命令を含んでもよい。例えば、プロセッサ102は、ディスプレイ114における仮想オブジェクト(例えば、仮想家具、自動車、動物、漫画キャラクタ、ボタン、レバー、ロゴ、人物等)の存在をシミュレートするために疑似現実環境におけるタッチの場所に基づいて異なる触覚効果を決定又は選択し得る。別の例示として、ユーザは、(例えば、仮想オブジェクトを選択するためのユーザ入力を提供するために)疑似現実環境において仮想オブジェクトをタップすることで疑似現実環境と相互作用し得る。この例示では、触覚効果決定モジュール160は、ユーザが仮想オブジェクトをタップすることに関連付けられる1つ以上の静的触覚効果をプロセッサ102に選択させてもよい。さらに別の例示として、プロセッサ102は、疑似現実環境における静的アニメーションに基づいて(例えば、既定のやり方である状態から別の状態にアニメーションする仮想オブジェクトに基づいて)静的触覚効果を決定又は選択し得る。例えば、静的触覚効果は、仮想キャラクタの第1の既定のアクションに基づいて選択されてもよく、別の静的触覚効果は、仮想キャラクタの第2の既定のアクションに基づいて選択されてもよい。さらに、いくつかの実施形態では、触覚効果決定モジュール160は、プロセッサ102によって実行されると、仮想オブジェクトのサイズ、色、場所、動き、及び/又は他の特徴に基づいて、出力するべき静的触覚効果をプロセッサ102に決定させる命令、及び効果をシミュレートするために提供するべき1つ以上の静的触覚効果を選択するコードを含んでもよい。例えば、静的触覚効果は、仮想オブジェクトの色に基づいて選択されてもよい(例えば、仮想オブジェクトが赤である場合に強い振動、及び仮想オブジェクトが緑である場合に弱い振動)。
いくつかの例示では、触覚効果決定モジュール160は、プロセッサ102によって実行されると、センサ信号(例えば、センサ136からプロセッサ102によって受信されたセンサ信号)に少なくとも部分的に基づいて動的触覚効果をプロセッサ102に決定させる命令を含んでもよい。例えば、センサ136は、ユーザが疑似現実環境と相互作用するときのユーザの動き(例えば、ユーザデバイス120を保持又は装着しているユーザ)又はユーザデバイス120の動きを検出して、プロセッサ102にセンサ信号を送信してもよい。プロセッサ102は、センサ信号を受信して、ユーザ又はユーザデバイス120の動き及び/又はユーザ又はユーザデバイス120の動きの特徴を決定してもよい。触覚効果決定モジュール160は、決定されたユーザの動き、ユーザデバイス120の動き、及び/又は動きの特徴に少なくとも部分的に基づいて動的触覚効果をプロセッサ102に決定させてもよい。別の例示として、センサ136は、疑似現実環境における仮想オブジェクトとユーザの接触の圧力の量又はユーザの接触の圧力の量の変化に関する情報をキャプチャし得る。センサ136は、圧力の量又は圧力の量の変化に関する情報をキャプチャすると、圧力の量又は圧力の変化を示す1つ以上の信号を実質的にリアルタイムでプロセッサ102に送信する。この例示では、触覚効果決定モジュール160は、圧力の量又は圧力の量の変化に関連付けられる1つ以上の動的触覚効果をプロセッサ102に選択させてもよい。例えば、プロセッサ102は、ユーザの接触の圧力の量が閾値を超えることに応答して、強い振動である動的触覚効果を選択し得る。別の例示として、プロセッサ102は、ユーザの接触の圧力の量が所定の期間にわたり低下していることを決定することに応答して、1つ以上の振動の振幅を徐々に低下させ得る。
いくつかの例示では、触覚効果決定モジュール160は、ユーザの動き(例えば、身体ジェスチャ又はユーザデバイス120の動き)及び/又は動きの特徴をプロセッサ102に決定させて、動き及び/又は動きの特徴に基づいて、動的触覚効果の特徴(例えば、振幅、持続時間、場所、タイプ、ピッチ、周波数等)を決定又は変動させてもよい。例えば、触覚効果決定モジュール160は、ユーザの動き(例えば、身体の動き又はユーザデバイス120の動き)及び/又は動きの特徴に関連付けられる動的触覚効果の特徴に対応するデータを含む1つ以上のルックアップテーブル又はデータベースをプロセッサ102にアクセスさせてもよい。この実施形態では、プロセッサ102は、1つ以上のルックアップテーブル又はデータベースにアクセスして、動き及び/又は動きの特徴に関連付けられる1つ以上の動的触覚効果の特徴を決定するか又は変動させ得る。例えば、ユーザが疑似現実環境と相互作用するために高速でユーザデバイス120を移動させた場合、プロセッサ102は、強い振動又は一連の強い振動を含む動的触覚効果を決定し得る。さらにこの例示では、ユーザがその後で低い又はより低い速度でユーザデバイス120を移動させた場合、プロセッサ102は、例えば、ユーザがユーザデバイス120の速度を低下させるとユーザがより弱い振動を知覚するように、振動又は一連の振動の振幅を低下させること等により、触覚効果の別の特徴を決定するか又は触覚効果の特徴を変動させ得る。
いくつかの例示では、触覚効果決定モジュール160は、周期的又は非周期的な静的又は動的触覚効果(又は触覚トラック、例えば、一連の触覚効果)をプロセッサ102に決定させてもよい。周期的な静的又は動的触覚効果は、周期的波形に基づいて生成されてもよく、非周期的な静的又は動的触覚効果は、非周期的波形に基づいて生成され得る。いくつかの場合には、周期的な静的又は動的触覚効果は、所定期間にわたって出力されて、所定期間の後で反復され得る触覚効果であり得る。例えば、触覚効果決定モジュール160は、第1の期間(例えば、60秒)にわたって出力される第1の静的触覚効果を含む周期的な静的触覚効果をプロセッサ102に選択させてもよい。この例示では、周期的な静的触覚効果は、第1の期間の後で出力される第2の静的触覚効果を含み得る。別の例示として、触覚効果決定モジュール160は、第1の期間(例えば、60秒)にわたって出力される第1の動的触覚効果を含む周期的な動的触覚効果をプロセッサ102に選択させてもよい。
さらに別の例示では、触覚効果決定モジュール160は、所定期間(例えば、60秒)にわたって出力される静的触覚効果を含む非周期的な静的触覚効果をプロセッサ102に選択させてもよい。この例示では、非周期的な静的触覚効果は、反復され又は繰り返されなくてもよい(例えば、別の静的触覚効果を含まなくてもよい)。さらに別の例示では、触覚効果決定モジュール160は、所定期間(例えば、60秒)にわたって出力される動的触覚効果を含む非周期的な動的触覚効果をプロセッサ102に選択させてもよい。この例示では、非周期的な動的触覚効果は、別の動的触覚効果を含まなくてもよい。
いくつかの実施形態では、触覚効果決定モジュール160は、プロセッサ102によって実行されると、イベントに基づいて触覚効果をプロセッサ102に決定させる命令を含んでもよい。本明細書で使用されるイベントは、関連する触覚効果を含む可能性があるコンピュータデバイス101又はユーザデバイス120の動作の間に発生する任意の相互作用、アクション、衝突、又は他のイベントである。一部の実施形態では、イベントは、ユーザ入力(例えば、ボタン押し下げ、ジョイスティックを操作すること、疑似現実環境と相互作用すること、又はユーザデバイス120を傾け若しくは方向付けること)、システム状態(例えば、バッテリ低下、メモリ低下、又はコンピュータデバイス101がメッセージを受信すること、データを送信すること又はデータを受信することに基づいて生成される通知等のシステム通知)、又はプログラムイベントを含んでもよい(例えば、プログラムがゲーム又は疑似現実環境であれば、プログラムイベントは爆発、銃撃、衝突、ゲーム又は仮想キャラクタ間の相互作用、又は新たなレベルに進むこと、凹凸のある地形を運転すること等を含んでもよい)。
いくつかの例示では、プロセッサ102は、決定された又は選択された触覚効果の1つ以上のパラメータ又は触覚効果に関連付けられる他の情報を示すデータをプロセッサ102が出力し得る1つ以上の相互作用可能なユーザインターフェースを生成して出力することができる。
例えば、図2は、一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するために(例えば、図1のプロセッサ102によって)生成され得る相互作用可能ユーザインターフェース200の例示である。この例示では、図1のコンピュータデバイス101のプロセッサ102は、ディスプレイ(例えば、ディスプレイ114)を介して相互作用可能ユーザインターフェース200を生成し得る。
図2に描かれている例示では、相互作用可能ユーザインターフェース200の部分202が、様々な触覚効果(例えば、プロセッサ102によって決定又は選択される静的又は動的触覚効果)を示すメニュー、リスト、テーブル等を含む。この例示では、相互作用可能ユーザインターフェース200の部分202に含まれるメニューは、プロセッサ102が特定の触覚効果の選択を示すデータを(例えば、ユーザ入力)を介して)受信し得る1つ以上の相互作用可能制御要素(例えば、ドロップダウンボタン又は任意の他の相互作用可能要素)を含み得る。いくつかの例示では、プロセッサ102は、(例えば、触覚効果に関連付けられる相互作用可能制御要素の選択を示すユーザ入力を介して)特定の触覚効果の選択を示すデータを受信してもよく、プロセッサ102は、選択された触覚効果に関連付けられる追加情報を表示し得る。
例えば、プロセッサ102は、静的触覚効果の選択を示すユーザ入力に応答して選択された静的触覚効果に関連付けられる追加情報を含む相互作用可能ユーザインターフェース200の別の部分204を生成して表示し得る。この例示では、部分204は、触覚効果が静的触覚効果であること及び静的触覚効果に関連付けられる1つ以上の波形(例えば、静的触覚効果を生成するために使用され得る1つ以上の波形)を示すデータ等の静的触覚効果に関連付けられる追加情報を含む。
図1に戻ると、いくつかの実施形態では、プロセッサ102は、プロセッサ102がデータを受信し得る(例えば、ユーザ入力を介して)1つ以上の相互作用可能ユーザインターフェースを生成して出力してもよく、これは決定された又は選択された触覚効果のパラメータをプロセッサ102に修正させ得る。例えば、プロセッサ102は、特定の触覚効果が静的又は動的触覚効果であるかどうかを示すユーザ入力をユーザが提供することができる相互作用可能ユーザインターフェースを生成し得る。別の例示として、プロセッサ102は、特定の触覚効果が周期的な又は非周期的な静的又は動的触覚効果であるかどうかを示すユーザ入力をユーザが提供することができる相互作用可能ユーザインターフェースを生成し得る。さらに別の例示では、プロセッサ102は、静的又は動的触覚効果を生成するために波形に関するデータ(例えば、波形が周期的な波形、非周期的な波形、線形波形、正弦波形、方形波形、三角波形、のこぎり波形等であるかどうかを示すデータ)を示すユーザ入力をユーザが提供し得る相互作用可能ユーザインターフェースを生成し得る。いくつかの場合には、触覚効果が周期的な触覚効果(例えば、周期的な静的又は動的触覚効果)を含む場合、プロセッサ102は、例えば、周期的な触覚効果の1つ以上の触覚効果の開始時間及び終了時間等の周期的な触覚効果の1つ以上の触覚効果の持続時間を示すユーザ入力をユーザが提供し得る相互作用可能ユーザインターフェースを生成し得る。さらに別の例示として、プロセッサ102は、触覚効果の選択された触覚効果の特徴(例えば、振幅、持続時間、場所、タイプ、周波数、ピッチ等)を示すユーザ入力をユーザが提供することができる相互作用可能ユーザインターフェースを生成し得る。
例えば、図3は、一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するために(例えば、図1のプロセッサ102によって)生成され得る相互作用可能ユーザインターフェース300の例示である。この例示では、図1のコンピュータデバイス101のプロセッサ102は、ディスプレイ(例えば、ディスプレイ114)を介して相互作用可能ユーザインターフェース300を生成し得る。
図3に描かれている例示では、相互作用可能ユーザインターフェース300の部分302が、様々な触覚効果(例えば、プロセッサ102によって決定又は選択される静的又は動的触覚効果)を示すメニュー、リスト、テーブル等を含む。この例示では、相互作用可能ユーザインターフェース300の部分302に含まれるメニューは、ユーザが特定の触覚効果を選択することができる1つ以上の相互作用可能制御要素(例えば、ドロップダウンボタン、仮想ボタン又は任意の他の相互作用可能要素)を含み得る。この例示では、一旦ユーザが触覚効果を選択すると、プロセッサ102は、触覚効果に関連付けられる追加情報を出力又は提供してもよく、ユーザは、相互作用可能ユーザインターフェース300を介して触覚効果の1つ以上のパラメータを修正するか又は示すことができる。例えば、図3に描かれている例示では、ユーザは、ユーザ入力を提供して動的触覚効果を選択してもよく、プロセッサ102は、動的触覚効果に関連付けられる情報を表示し得る。この例示では、ユーザは、例えば、動的触覚効果が周期的な動的触覚効果、動的触覚効果の第1の(例えば、開始)動的触覚効果、動的触覚効果の第2の(例えば、終了)動的触覚効果、動的触覚効果の開始時間又は位置、動的触覚効果の終了時間又は位置、及び動的触覚効果をレンダリング又は生成するためのモデルのタイプ(例えば、線形モデル)を示すためにユーザ入力を提供することを含む、動的触覚効果のパラメータを修正又は示すために1つ以上の相互作用可能制御要素を介して追加ユーザ入力を提供することができる。
この例示では、相互作用可能ユーザインターフェース300の別の部分304は、様々な触覚効果を示しかつユーザが触覚効果の1つ以上の追加パラメータを修正又は示し得る様々な相互作用可能制御要素を含む別のメニュー、リスト、テーブル等を含む。例えば、部分304において、ユーザは、動的触覚効果が周期的な触覚効果であることを示すユーザ入力を提供している。この例示では、ユーザは、周期的な動的触覚効果をレンダリング又は生成するための振幅、周期、持続時間、開始位置又は空間、終了位置又は空間、又はモデルを指定するためのユーザ入力を提供することができる。
図2及び3に関して先に記載された例示において、相互作用可能制御要素は仮想スライダとして描かれているが、本開示は、このような構成に限定されない。そうではなく、他の例示では、相互作用可能制御要素は、ユーザが相互作用可能ユーザインターフェース200及び300にユーザ入力を提供することができる任意の要素であり得る。
図1に戻ると、いくつかの例示では、プロセッサ102は、実質的にリアルタイムで(例えば、プロセッサ102が触覚効果を選択又は決定するときに)1つ以上のユーザインターフェース(例えば、図2の相互作用可能ユーザインターフェース200又は図3の相互作用可能ユーザインターフェース300)を生成し得る。この例示では、プロセッサ102は、上記のように触覚効果の1つ以上のパラメータを示すユーザ入力を受信して、xPCターゲットマシン142のプロセッサ140にパラメータを示すデータを送信してもよく、それは、以下でさらに詳細に記載するように、実質的にリアルタイムで触覚効果のパラメータに基づいて触覚信号を生成して送信し得る。
このようにして、本明細書に記載のシステム及び方法は、ユーザが実質的にリアルタイムで触覚効果の様々なパラメータを構成することを可能にすることにより(例えば、触覚効果がユーザ又は別のユーザに出力されるときに)、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を構成及び提供するためのシステム及び方法を提供する。
いくつかの実施形態では、xPC制御モジュール162は、(例えば、ネットワークデバイス108及びネットワークデバイス148を介して)決定された触覚効果の1つ以上のパラメータに関するデータをxPCターゲットマシン142のプロセッサ140へとプロセッサ102によって送信させるプログラミングを表す。いくつかの実施形態では、xPC制御モジュール162は、xPCターゲットマシン142のプロセッサ140にセンサ136からのデータをプロセッサ102によって送信させるプログラミングを表す。
いくつかの例示では、xPCターゲットマシン142は、実質的にリアルタイムでコンピュータデバイス101又はユーザデバイス120からデータを取得するためにコンピュータデバイス101のプロセッサ102又はユーザデバイス120のプロセッサ122に通信可能に結合され得る。いくつかの場合には、xPCターゲットマシン142は、少なくとも20kHzまでのサンプリングレート又は少なくとも100khzのサンプリングレートを達成することができるコンピュータデバイス、サーバ、デバイス等であり得る。これは、xPCターゲットマシンがコンピュータデバイス101又はユーザデバイス120からのデータを実質的にリアルタイムで処理して、約20kHzまでの周波数を有する1つ以上の触覚信号を実質的にリアルタイムで生成することを可能にし得る。いくつかの例示では、xPCターゲットマシンは、コンピュータデバイス101から離れている又は遠隔にあるデバイス又はマシンであり得る。
xPCターゲットマシン142のメモリ146に関しては、モジュール164及び166は、いくつかの実施形態では、実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するためにデバイスがどのように構成され得るかを示すように描かれている。いくつかの実施形態では、モジュール164及び166は、1つ以上の動作を行うようにプロセッサ140を構成し得るプロセッサ実行可能命令を含んでもよい。
例えば、xPCモジュール164は、xPCターゲットマシン142のプロセッサ140によって実行されると、コンピュータデバイス101又はユーザデバイス120からプロセッサ140にデータを受信又は取得させる命令を含み得る。いくつかの例示では、xPCモジュール164は、プロセッサ140によって実行されると、コンピュータデバイス101のプロセッサ102から選択又は決定された触覚効果又はセンサデータ(例えば、センサ136からのデータ)の1つ以上のパラメータに関するデータを示す信号をプロセッサ140に受信させる命令を含み得る。別の例示では、xPCモジュール164は、プロセッサ140によって実行されると、ユーザデバイス120のセンサ136からのセンサデータをプロセッサ140に受信させる命令を含み得る。
いくつかの例示では、xPCモジュール164は、プロセッサ140によって実行されると、触覚効果決定モジュール160に含まれる命令を実行するプロセッサ102によって決定される触覚効果の1つ以上のパラメータをプロセッサ140に決定させかつ触覚効果に基づいて触覚信号を生成させる命令を含み得る。例えば、xPCモジュール164は、プロセッサ140によって実行されると、コンピュータデバイス101のプロセッサ102から受信した触覚効果の1つ以上のパラメータに関するデータに基づいて、選択又は決定された触覚効果が静的触覚効果、動的触覚効果、周期的な静的又は動的触覚効果、非周期的な静的又は動的触覚効果等であるかどうかをプロセッサ140に決定させる命令を含んでもよい。
いくつかの例示では、xPCモジュール164は、プロセッサ140によって実行されると、触覚効果生成モジュール166に対する命令をプロセッサに実行させる命令を含み得る。
いくつかの実施形態では、触覚効果生成モジュール166は、選択された触覚効果を生成するためにプロセッサ140に触覚信号を生成させて触覚出力デバイス(例えば、ユーザデバイス120の触覚出力デバイス138又は別の触覚出力デバイス)へと送信させるプログラミングを表す。いくつかの実施形態では、プロセッサ140は、触覚出力デバイスに触覚信号を送信して、触覚効果決定モジュール160に含まれる命令を実行するプロセッサ102によって決定される触覚効果を触覚出力デバイスに生成させ得る。いくつかの例示では、触覚効果生成モジュール166は、プロセッサ140によって実行されると、選択された触覚効果を生成するために触覚出力デバイスに送信するように、記憶されている波形又はコマンドをプロセッサ140にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール166は、プロセッサ140によって、1つ以上の触覚効果に関連付けられる1つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、特定の触覚効果を生成するために触覚出力デバイスに送信するべき波形(例えば、周期的又は非周期的な波形)を決定してもよい。いくつかの実施形態では、触覚効果生成モジュール166は、触覚信号を決定するためのアルゴリズムを含んでもよい。いくつかの実施形態では、触覚効果決定モジュール166は、プロセッサ140によって実行されると、触覚効果のための目標座標(例えば、触覚効果を出力するべき場所のための座標)をプロセッサ140に決定させる命令を含んでもよい。例えば、触覚効果生成モジュール166は、プロセッサ140よって実行されると、触覚効果のための目標座標(例えば、ユーザの特定の体の部分)を決定するためにユーザの特定の体の部分の動きを示すセンサ信号をプロセッサ140に使用させる命令を含んでもよい。いくつかの実施形態では、プロセッサ140は、1つ以上の触覚出力デバイスを含む触覚出力デバイスに触覚信号を送信し得る。このような実施形態では、触覚効果生成モジュール166は、選択された触覚効果を生成するためにプロセッサ140によって触覚信号を1つ以上の触覚出力デバイスに送信させてもよい。
いくつかの例示では、触覚効果生成モジュール166は、プロセッサ140によって実行されると、実質的にリアルタイムで(例えば、プロセッサ140がプロセッサ102又はプロセッサ122からデータを受信すると)約1Hzから20kHzの間の範囲の周波数を有する1つ以上の触覚信号をプロセッサ140に生成させる命令を含んでもよい。例示として、プロセッサ140は、約1kHzの周波数を有する1つ以上の触覚信号を生成し得る。
このようにして、xPCターゲットマシン142は、実質的にリアルタイムでプロセッサ102又はプロセッサ122からデータを取得して、実質的にリアルタイムで疑似現実環境に対して高精細の動的又は静的触覚効果を提供するために1つ以上の触覚信号を生成することができる。
上記のいくつかの例示では、xPCターゲットマシン142のプロセッサ140がプロセッサ102を介して(例えば、プロセッサ102を介してxPC制御モジュール162に含まれる命令を実行すると)センサ136からデータを受信(例えば、取得)しているが、本開示は、このような構成に限定されない。そうではなく、他の例示では、xPCターゲットマシン142は、センサ136に通信可能に結合され、センサ136からデータを受信する。別の実施形態では、ユーザデバイス120及びxPCターゲットマシン142は、単一のシステムの一部であり、xPCターゲットマシン142は、センサ136に通信可能に結合されてセンサ136からセンサデータを受信し得る。いくつかのこのような例示では、xPCターゲットマシン142は、上記と実質的に同じやり方でセンサ信号に基づいて動的触覚効果の1つ以上のパラメータを決定し得る。
図1の例示のシステム100は所定の数のコンポーネントを有するように描かれているが、例示のシステム100は、任意の数の追加の又は代替的なコンポーネントを有する。さらに、図1は特定の配置のコンピュータデバイス101、ユーザデバイス120及びxPCターゲットマシン142を示しているが、様々な追加の配置が可能である。例示として、図1はユーザデバイス120及びxPCターゲットマシン142を別々に示しているが、いくつかの実施形態では、ユーザデバイス120及びxPCターゲットマシン142は、単一のシステムの一部である。例えば、ユーザデバイス120は、xPCターゲットマシン142又はxPCモジュール164を含んでもよく、ユーザデバイス120のプロセッサ122は、xPCターゲットマシン142のメモリ146に含まれる命令を実行し得る(例えば、xPCモジュール164又は触覚効果生成モジュール166における命令を実行する)。別の例示として、コンピュータデバイス101は、xPCターゲットマシン142を含んでもよく、コンピュータデバイス101のプロセッサ102は、xPCターゲットマシン142のメモリ146に含まれる命令を実行し得る(例えば、xPCモジュール164又は触覚効果生成モジュール166における命令を実行する)。別の例示では、システム100のコンポーネントは、互いに遠隔であり離れていてもよい。例えば、ユーザデバイス及びxPCターゲットマシン142は、コンピュータデバイス101から遠隔であり離れていてもよい。
さらに、上記のいくつかの例示では、xPCターゲットマシン142(又はxPCターゲットマシン142のプロセッサ140)が少なくとも20kHzまでのサンプリングレート又は少なくとも100khz以上のサンプリングレートを達成し得るが、本開示はこのような構成に限定されない。そうではなく、他の例示では、ユーザデバイス120のプロセッサ122が、少なくとも20kHzまでのサンプリングレート又は少なくとも100khz以上のサンプリングレートを達成するように構成され得る。例示として、ユーザデバイス120及びxPCターゲットマシン142は、図1に描かれているように別個のシステムであってもよく、ユーザデバイス120のプロセッサ122は、少なくとも20kHzまでのサンプリングレート又は少なくとも100khz以上のサンプリングレートを達成するように構成され得る。さらに、上記のように、いくつかの例示では、ユーザデバイス120及びxPCターゲットマシン142は、単一のシステムの一部であり得る。この例示では、プロセッサ122は、メモリ146(例えば、xPCモジュール164及び/又は触覚効果生成モジュール166)に含まれる命令を実行し得る。この例示では、プロセッサ122は、少なくとも20kHzまでのサンプリングレート又は少なくとも100khz以上のサンプリングレートを達成するように構成され得る。
さらに、図1はコンピュータデバイス101及びxPCターゲットマシン142を別々のものとして示しているが、上記のように、いくつかの実施形態では、コンピュータデバイス101及びxPCターゲットマシン142は、単一のシステムの一部である。この例示では、コンピュータデバイス101は、プロセッサ102及びプロセッサ140を含み得る。プロセッサ102は、メモリ104(例えば、モジュール156、158、160、162)に含まれる命令を実行するように構成されてもよく、プロセッサ140は、メモリ146に含まれる命令(例えば、xPCモジュール164及び/又は触覚効果生成モジュール166)を実行するように構成され得る。この例示では、プロセッサ140は、上記と実質的に同様に、少なくとも20kHzまでのサンプリングレート又は少なくとも100khz以上のサンプリングレートを達成して、実質的にリアルタイムで約1Hzから20kHzの間の範囲の周波数を有する1つ以上の触覚信号を生成するように構成され得る。さらにこの例示では、プロセッサ102は、プロセッサ140と比較して低いサンプリングレートを達成するように構成され得る。
別の実施形態では、コンピュータデバイス101及びxPCターゲットマシンは、単一のシステムの一部である。この例示では、プロセッサ102及びプロセッサ140は結合されて、単一のプロセッサにされ得る。この例示は、プロセッサは、メモリ104(例えば、モジュール156、158、160、162)及びメモリ142(例えば、xPCモジュール164及び/又は触覚効果生成モジュール166)に含まれる命令を実行するように構成されてもよい。この例示では、単一のプロセッサが、少なくとも20kHzまでのサンプリングレート又は少なくとも100khz以上のサンプリングレートを達成するように構成され得る。
さらに、いくつかの例示では、触覚効果が(例えば、触覚効果生成モジュール160に含まれる命令を実行するプロセッサによって)低サンプリングレートで生成されてもよく、触覚効果を出力する触覚出力デバイス(例えば、触覚出力デバイス138)が高レートで触覚効果を出力し得る。例示として、プロセッサは、(例えば、触覚効果生成モジュール160に含まれる命令を実行することにより)約1000Hzのサンプリングレートで触覚効果を生成し得る。この例示では、触覚出力デバイスは、例えば、30000Hz等のより高いレートで触覚効果を出力し得る。
(実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するための方法)
図4は、一実施形態による実質的にリアルタイムで拡張又は仮想現実環境に対して動的触覚プレイバック又は効果を提供するための方法400を実行するステップのフローチャートである。いくつかの実施形態では、図4のステップは、例えば、汎用コンピュータ、モバイルデバイス又はサーバにおけるプロセッサによって実行可能なプログラムコードで実装されてもよい。いくつかの実施形態では、こうしたステップは一群のプロセッサによって実装されてもよい。いくつかの実施形態では、図4に示される1つ以上のステップは省略され又は異なる順番で行われてもよい。同様に、いくつかの実施形態では、図4に示されない追加のステップが実行されてもよい。例示のために、方法400のステップは、図1に示されたシステムに関して先に記載されたコンポーネントを参照して以下に記載されるが、他の実装も可能である。
方法400はステップ402で開始し、触覚効果の1つ以上のパラメータを示すデータが取得(例えば、受信)される。例えば、xPCターゲットマシン142は、コンピュータデバイス101から触覚効果の1つ以上のパラメータを示すデータを取得し得る。
いくつかの実施形態では、コンピュータデバイス101の触覚効果決定モジュール160は、触覚効果又は触覚効果の1つ以上のパラメータをコンピュータデバイス101のプロセッサ102に決定させる。いくつかの実施形態では、触覚効果は、1つ以上の触覚効果を含み得る。
例えば、プロセッサ102は、疑似現実環境(例えば、プロセッサ102がコンテンツ提供モジュール156に含まれる命令を実行することにより生成される疑似現実環境)又は疑似現実環境とユーザの相互作用に少なくとも部分的に基づいて触覚効果(例えば、1つ以上の振動)を決定し得る。例示として、プロセッサ102は、ディスプレイ114上で仮想オブジェクト(例えば、仮想的な家具、自動車、動物、アニメキャラクタ、ボタン、レバー、ロゴ又は人物)の存在をシミュレートするために疑似現実環境におけるタッチの場所に基づいて触覚効果を決定又は選択し得る。別の例示として、プロセッサ102は、疑似現実環境における静的アニメーションに基づいて(例えば、既定のやり方である状態から別の状態にアニメーションする仮想オブジェクトに基づいて)触覚効果を決定又は選択し得る。例えば、触覚効果は、仮想オブジェクトの第1の既定のアクションに基づいて選択されてもよく、別の触覚効果は、仮想オブジェクトの第2の既定のアクションに基づいて選択されてもよい。別の例示として、プロセッサ102は、イベントに基づいて触覚効果を決定し得る。本明細書で用いられるイベントは、例えば、ユーザ入力(例えば、ボタン押し下げ、ジョイスティックの操作、疑似現実環境との相互作用、ユーザデバイス120を傾ける又は方向付けること)、爆発、銃撃、衝突、疑似現実環境におけるゲーム又は仮想キャラクタ間の相互作用)等の関連触覚効果を潜在的に含み得る、コンピュータデバイス101又はユーザデバイス120の操作中に起こる、任意の相互作用、アクション、衝突又は他のイベントである。
いくつかの例示では、疑似現実環境又は疑似現実環境とユーザの相互作用に基づいてプロセッサ102によって決定される触覚効果は、静的触覚効果であり得る。静的触覚効果は、例えば、既定の特徴(例えば、既定の振幅、持続時間、位置、タイプ、ピッチ、周波数等)を有する触覚効果等の既定の触覚効果であり得る。例えば、ユーザは、(例えば、仮想オブジェクトを選択するためのユーザ入力を提供するために)疑似現実環境において仮想オブジェクトをタップすることで疑似現実環境と相互作用し得る。この例示では、触覚効果決定モジュール160は、ユーザが仮想オブジェクトをタップすることに関連付けられる1つ以上の静的触覚効果をプロセッサ102に選択させてもよい。
いくつかの実施形態では、プロセッサ102は、センサ136から受信した信号に少なくとも部分的に基づいて触覚効果を決定し得る。いくつかの例示では、センサ136から受信した信号に基づいてプロセッサ102によって決定される触覚効果は、動的触覚効果であり得る。動的触覚効果は、センサ136からのセンサ信号に基づいて変化し得る触覚効果であり得る。例えば、動的触覚効果の特徴(例えば、振幅、持続時間、位置、タイプ、ピッチ、周波数等)は、センサ136からのセンサ信号又は疑似現実環境に基づいて(例えば、疑似現実環境とユーザの相互作用に基づいて)変動し得る。
例えば、センサ136は、装着可能センサ、ユーザ又はユーザデバイス120に結合(例えば、取り付け)され得る任意のセンサ、又はユーザの動き(ユーザの体の一部の動き又はジェスチャ)又はユーザデバイス120の動きに関する情報をキャプチャするためにユーザデバイス120に他のやり方で関連付けられる任意のセンサであり得る。いくつかの例示では、センサ136は、限定されないが、動きの経路、速度、加速度、又は力、及び/又は動きの任意の他の特徴を含むユーザの動き又はユーザデバイス120の動きに関する情報をキャプチャし得る。いくつかの例示では、センサ136は、ユーザの動き又はユーザデバイス120の動きに関する情報を示す信号をプロセッサ102に送信し得る。いくつかの実施形態では、センサ136は、実質的にリアルタイムで(例えば、センサ136がユーザの動き又はユーザデバイス120の動きに関する情報をキャプチャしたときに)1つ以上の信号をプロセッサ102に送信し得る。この例示では、プロセッサ102は、センサ信号を受信して、センサ信号に少なくとも部分的に基づいて動的触覚効果を決定し得る。
例示として、センサ136は、ユーザが疑似現実環境と相互作用したときのユーザデバイス120の速度又はユーザデバイス120の速度の変化に関する情報をキャプチャし得る。センサ136は、速度又は速度の量の変化に関する情報をキャプチャすると、速度又は速度の変化を示す1つ以上の信号を実質的にリアルタイムでプロセッサ102に送信する。この例示では、触覚効果決定モジュール160は、速度又は速度の量の変化に関連付けられる1つ以上の動的触覚効果をプロセッサ102に選択させてもよい。例えば、プロセッサ102は、ユーザデバイス120の速度が閾値を超えることを決定することに応答して、強い振動である動的触覚効果を選択し得る。別の例示として、プロセッサ102は、ユーザデバイス120の速度が所定の期間にわたり低下していることを決定することに応答して、1つ以上の振動の振幅を徐々に低下させ得る。
いくつかの例示では、触覚効果決定モジュール160は、周期的又は非周期的な静的又は動的触覚効果又は触覚トラックをプロセッサ102に決定させてもよい。周期的な静的又は動的触覚効果は、周期的波形に基づいて生成されてもよく、非周期的な静的又は動的触覚効果は、非周期的波形に基づいて生成され得る。
いくつかの例示では、xPCターゲットマシン142のxPCモジュール164は、xPCターゲットマシン142のプロセッサ140によって実行されると、触覚効果決定モジュール160に含まれる命令を実行するコンピュータデバイス101のプロセッサ102によって選択又は決定される触覚効果の1つ以上のパラメータを示すデータをプロセッサ140に受信させる命令を含み得る。
方法はステップ404に進み、触覚効果が静的触覚効果であるかどうかをxPCターゲットマシン142のプロセッサ140が決定する。例えば、プロセッサ140は、プロセッサ102によって選択又は決定される触覚効果の1つ以上のパラメータ(例えば、ステップ402で取得した1つ以上のパラメータ)を示すデータをプロセッサ102から取得する。
いくつかの例示では、xPCターゲットマシン142のxPCモジュール164は、プロセッサ140によって実行されると、プロセッサ102によって選択された触覚効果が静的触覚効果であるか又は動的触覚効果であるかをプロセッサ140に決定させる命令を含み得る。例えば、プロセッサ140は、(例えば、ステップ402で)プロセッサ102から受信したデータを分析して、データに基づいて、触覚効果が静的触覚効果であるか又は動的触覚効果であるか、及び/又は触覚又は静的効果の1つ以上の特徴を決定し得る。
ステップ404においてxPCターゲットマシン142のプロセッサ140が触覚効果が静的触覚効果ではないことを決定した場合、方法400は、以下でさらに詳細に記載されるステップ406に進む。
触覚効果が静的触覚効果であることをプロセッサ140が決定した場合、方法400はステップ408に進み、プロセッサ140は、静的触覚効果が周期的な触覚効果であるかどうかを決定する。いくつかの例示では、xPCターゲットマシン142のxPCモジュール164は、プロセッサ140によって実行されると、プロセッサ102によって選択された触覚効果が周期的な触覚効果(例えば、周期的な波形に基づいて生成され得る触覚効果)であるか又は非周期的な触覚効果(例えば、周期的な波形に基づいて生成され得る触覚効果)であるかをプロセッサ140に決定させる命令を含み得る。例えば、プロセッサ140は、(例えば、ステップ402で)プロセッサ102から取得したデータを分析して、静的触覚効果が周期的な静的触覚効果であるか又は非周期的な静的触覚効果であるか及び/又は周期的又は非周期的な静的触覚効果の1つ以上の特徴(例えば、周期的な静的触覚効果の1つ以上の触覚効果の振幅、周期、持続時間、開始時間、終了時間等)を決定し得る。
ステップ408でプロセッサ140が静的触覚効果が周期的な静的触覚効果であると決定した場合、方法400はステップ410に進み、周期的な波形のパラメータに少なくとも部分的に基づいて周期的な静的触覚効果が出力される。いくつかの例示では、xPCターゲットマシン142は、周期的な静的触覚効果を触覚出力デバイス138に出力させるための触覚信号を生成しかつ送信し得る。
例えば、xPCモジュール164は、プロセッサ140によって実行されると、触覚効果生成モジュール166に対する命令をプロセッサに実行させる命令を含み得る。
いくつかの実施形態では、触覚効果生成モジュール166は、プロセッサ140に触覚信号を生成させて、触覚出力デバイス138へと送信させるプログラミングを表す。いくつかの例示では、プロセッサ140は、触覚信号を生成して触覚出力デバイス138に送信し、触覚効果決定モジュール160に含まれる命令を実行するプロセッサ102によって決定される触覚効果を触覚出力デバイス138に生成させる。
いくつかの例示では、触覚効果生成モジュール166は、プロセッサ140によって実行されると、選択された周期的な静的触覚効果を生成するために触覚出力デバイス138に送信するように、記憶されている波形又はコマンドをプロセッサ140にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール166は、プロセッサ140によって、1つ以上の触覚効果に関連付けられる1つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、選択された周期的な静的触覚効果を生成するために触覚出力デバイス138に送信するべき周期的な静的触覚効果波形又は周期的な静的触覚効果波形のパラメータ(例えば、周期的な静的触覚効果波形の振幅、周期、持続時間、開始時間、終了時間等)を決定してもよい。
例えば、ステップ410において、プロセッサ140は、触覚信号に基づいて周期的な静的触覚効果を触覚出力デバイス138に出力させるために触覚信号を触覚出力デバイス138に送信する。例えば、触覚出力デバイス138は、(例えば、ユーザが保持している、装着している、使用している又は他のやり方でユーザデバイス120に関連付けられている)ユーザデバイス120に関連付けられるユーザに1つ以上の周期的な静的触覚効果を出力し得る。いくつかの実施形態では、触覚出力デバイス138は、実質的にリアルタイムで周期的な静的触覚効果を出力できるように、実質的にリアルタイムで(例えば、xPCターゲットマシン142がプロセッサ102から触覚効果の1つ以上のパラメータに関するデータを取得すると)触覚信号を受信し得る。
ステップ408に戻ると、プロセッサ408が静的触覚効果が周期的な静的触覚効果ではないと決定した場合、方法400はステップ412に進み、非周期的な波形に少なくとも部分的に基づいて非周期的な静的触覚効果が出力される。
いくつかの例示では、触覚効果生成モジュール166は、プロセッサ140によって実行されると、選択された非周期的な静的触覚効果を生成するために触覚出力デバイス138に送信するように、記憶されている波形又はコマンドをプロセッサ140にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール166は、プロセッサ140によって、1つ以上の触覚効果に関連付けられる1つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、選択された非周期的な静的触覚効果を生成するために触覚出力デバイス138に送信するべき非周期的な静的触覚効果波形又は非周期的な静的触覚効果波形のパラメータを決定してもよい。
例えば、触覚効果生成モジュール166は、プロセッサ140によって実行されると、触覚信号に基づいて非周期的な波形の静的触覚効果を触覚出力デバイス138に出力させるように、プロセッサ140によって触覚信号を触覚出力デバイス138に送信させる命令を含み得る。例えば、触覚出力デバイス138は、(例えば、ユーザが保持している、装着している、使用している又は他のやり方でユーザデバイス120に関連付けられている)ユーザデバイス120に関連付けられるユーザに非周期的な波形の静的触覚効果を出力し得る。いくつかの実施形態では、触覚出力デバイス138は、実質的にリアルタイムで非周期的な波形の静的触覚効果を出力できるように、実質的にリアルタイムで(例えば、xPCターゲットマシン142がプロセッサ102から触覚効果の1つ以上のパラメータに関するデータを取得すると)触覚信号を受信し得る。
ステップ404に戻ると、触覚効果が静的触覚効果ではない(例えば、触覚効果が動的触覚効果である)とxPCターゲットマシン142のプロセッサ140がステップ404で決定した場合、方法400はステップ406に進む。
ステップ406において、プロセッサ140は、動的触覚効果が周期的な触覚効果であるかどうかを決定する。いくつかの例示では、xPCターゲットマシン142のxPCモジュール164は、プロセッサ140によって実行されると、プロセッサ102によって選択された触覚効果が周期的な触覚効果であるか又は非周期的な触覚効果であるかをプロセッサ140に決定させる命令を含み得る。例えば、プロセッサ140は、(例えば、ステップ402で)プロセッサ102から取得したデータを分析して、動的触覚効果が周期的な静的触覚効果であるか又は非周期的な静的触覚効果であるか及び/又は周期的又は非周期的な動的触覚効果の1つ以上の特徴(例えば、周期的な動的触覚効果の1つ以上の触覚効果の開始時間又は終了時間)を決定し得る。
ステップ406でプロセッサ140が動的触覚効果が周期的な動的触覚効果であると決定した場合、方法400はステップ414に進み、周期的な波形のパラメータ及びセンサ信号(例えば、センサ136からのセンサ信号)に少なくとも部分的に基づいて周期的な動的触覚効果が生成される。
例えば、触覚効果生成モジュール166は、プロセッサ140によって実行されると、選択された周期的な動的触覚効果を生成するために触覚出力デバイス138に送信するように、記憶されている波形又はコマンドをプロセッサ140にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール166は、プロセッサ140によって、1つ以上の触覚効果に関連付けられる1つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、選択された周期的な動的触覚効果を生成するために触覚出力デバイス138に送信するべき周期的な動的触覚効果波形又は周期的な動的触覚効果波形のパラメータ(例えば、周期的な動的触覚効果波形の振幅、周期、持続時間、開始時間、終了時間等)を決定してもよい。
いくつかの例示では、上記のように、動的触覚効果は、センサ136からのセンサデータに基づいて変動し得る。この例示では、プロセッサ102は、センサ136からセンサ信号を受信して、ユーザの動き(例えば、身体ジェスチャ又はユーザデバイス120の動き)及び/又は動きの特徴を決定し、動き及び/又は動きの特徴に基づいて、動的触覚効果の特徴(例えば、振幅、持続時間、場所、タイプ、ピッチ、周波数等)を決定するか又は変動させ得る。例えば、プロセッサ102は、ユーザの動き(例えば、身体の動き又はユーザデバイス120の動き)及び/又は動きの特徴に関連付けられる動的触覚効果の特徴に対応するデータを含む1つ以上のルックアップテーブル又はデータベースにアクセスし得る。この実施形態では、プロセッサ102は、1つ以上のルックアップテーブル又はデータベースにアクセスして、動き及び/又は動きの特徴に関連付けられる1つ以上の動的触覚効果の特徴を決定するか又は変動させ得る。例えば、ユーザが高い圧力量で疑似現実環境における仮想オブジェクトと接触している場合、プロセッサ102は、強い振動又は一連の強い振動を含む動的触覚効果を決定し得る。さらにこの例示では、ユーザがその後で仮想オブジェクトとユーザの接触の圧力量を減らした場合、プロセッサ102は、例えば、ユーザが仮想オブジェクトとユーザの接触の圧力量を減らすとユーザがより弱い振動を知覚するように、振動又は一連の振動の振幅を低下させること等により、触覚効果の別の特徴を決定するか又は触覚効果の特徴を変動させ得る。
いくつかの実施形態では、プロセッサ102は、実質的にリアルタイムで(例えば、センサ136がユーザの動き又はユーザデバイス120の動きに関する情報をキャプチャすると)センサ136から信号を受信して、実質的にリアルタイムでxPCターゲットマシンに(例えば、ステップ402において)触覚効果の1つ以上のパラメータを示すデータを送信し得る。この例示では、ステップ414において、xPCターゲットマシン142のプロセッサ140は、プロセッサ102からのデータ及び/又はセンサ136からのセンサデータを受信して、上記と実質的に同じやり方でプロセッサ102及び/又はセンサ136から取得又は受信したデータに基づいて動的触覚信号を生成し得る。
ステップ416において、周期的な動的触覚効果が出力される。例えば、触覚効果生成モジュール166は、プロセッサ140によって実行されると、触覚信号に基づいて周期的な動的触覚効果を触覚出力デバイス138に出力させるように、プロセッサ140によって触覚信号を触覚出力デバイス138に送信させる命令を含み得る。例えば、触覚出力デバイス138は、(例えば、ユーザが保持している、装着している、使用している又は他のやり方でユーザデバイス120に関連付けられている)ユーザデバイス120に関連付けられるユーザに周期的な動的触覚効果を出力し得る。いくつかの実施形態では、触覚出力デバイス138は、実質的にリアルタイムで周期的な動的触覚効果を出力できるように、実質的にリアルタイムで(例えば、xPCターゲットマシン142がプロセッサ102から触覚効果の1つ以上のパラメータに関するデータを取得すると)触覚信号を受信し得る。
ステップ406に戻ると、プロセッサ140が動的触覚効果が周期的な動的触覚効果ではないと決定した場合、方法400はステップ418に進み、非周期的な動的触覚効果を示すデータが取得される。例えば、触覚効果生成モジュール166は、プロセッサ140によって実行されると、選択された非周期的な動的触覚効果を生成するために、触覚出力デバイス138に送信するべき記憶されている波形又はコマンドをプロセッサ140にアクセスさせる命令を含み得る。例えば、触覚効果生成モジュール166は、プロセッサ140によって、1つ以上の触覚効果に関連付けられる1つ以上の触覚信号を示すデータを含むルックアップテーブルにアクセスし、選択された非周期的な動的触覚効果を生成するために触覚出力デバイス138に送信するべき非周期的な動的触覚効果波形又は非周期的な動的触覚効果波形のパラメータを決定してもよい。
いくつかの例示では、上記のように、動的触覚効果は、センサ136からのセンサデータに基づいて変動し得る。この例示では、プロセッサ102は、実質的にリアルタイムで(例えば、センサ136がユーザの動き又はユーザデバイス120の動きに関する情報をキャプチャすると)センサ136から信号を受信して、実質的にリアルタイムでxPCターゲットマシンに(例えば、ステップ402において)触覚効果の1つ以上のパラメータを示すデータを送信し得る。この例示では、ステップ418において、xPCターゲットマシン142のプロセッサ140は、プロセッサ102からのデータ及び/又はセンサ136からのセンサデータを受信して、上記と実質的に同じやり方でプロセッサ102及び/又はセンサ136から取得又は受信したデータに基づいて動的触覚信号を生成し得る。
ステップ420において、非周期的な動的触覚効果は、センサ信号及び非周期的な動的触覚効果波形(例えば、ステップ418で取得した非周期的な動的触覚効果波形)に少なくとも部分的に基づいて出力される。
例えば、触覚効果生成モジュール166は、プロセッサ140によって実行されると、触覚信号に基づいて非周期的な動的触覚効果を触覚出力デバイス138に出力させるように、プロセッサ140によって触覚信号を触覚出力デバイス138に送信させる命令を含み得る。例えば、触覚出力デバイス138は、(例えば、ユーザが保持している、装着している、使用している又は他のやり方でユーザデバイス120に関連付けられている)ユーザデバイス120に関連付けられるユーザに非周期的な動的触覚効果を出力し得る。いくつかの実施形態では、触覚出力デバイス138は、実質的にリアルタイムで非周期的な動的触覚効果を出力できるように、実質的にリアルタイムで(例えば、xPCターゲットマシン142がプロセッサ102から触覚効果の1つ以上のパラメータに関するデータを取得すると)触覚信号を受信し得る。
いくつかの場合には、xPCターゲットマシン142は、少なくとも20kHzまでのサンプリングレート又は少なくとも100khz以上のサンプリングレートを達成することができるコンピュータデバイス、サーバ、デバイス等であり得る。これは、xPCターゲットマシンがコンピュータデバイス101(例えば、プロセッサ102)又はユーザデバイス120(例えば、センサ136)からのデータを実質的にリアルタイムで処理して、約1kHzから20kHzの間の範囲の周波数を有する1つ以上の触覚信号を実質的にリアルタイムで生成することを可能にし得る。例示として、xPCターゲットマシン142は、約1kHzの周波数を有する1つ以上の触覚信号を生成し得る。
上記のいくつかの例示では、xPCターゲットマシン142のプロセッサ140がプロセッサ102を介して(例えば、プロセッサ102を介してxPC制御モジュール162に含まれる命令を実行すると)センサ136からデータを受信(例えば、取得)しているが、本開示は、このような構成に限定されない。そうではなく、他の例示では、ユーザデバイス120及びxPCターゲットマシン142は、単一のシステムの一部であり、xPCターゲットマシンは、センサ136に通信可能に結合されてセンサ136からセンサデータを受信し得る。
このようにして、本明細書に記載のシステム及び方法は、実質的にリアルタイムで拡張又は仮想現実環境に対して高精細の動的又は静的触覚プレイバック(例えば、効果)を生成して提供することができる。
(概論)
上記の方法、システム及びデバイスは例示である。様々な構成によって、適宜、様々なプロシージャ又はコンポーネントが省略、置換、又は追加されてもよい。例えば、代替的な構成では、方法は記載されたものとは異なる順序で実行されてもよく、及び/又は様々なステージが追加、省略及び/又は結合されてもよい。また、所定の構成に関して記載された特徴は、様々な他の構成に結合されてもよい。構成の異なる態様及び要素が、同様に結合されてもよい。また、技術は進歩するものであり、そのため要素の多くは例示であり、本開示又は特許請求の範囲を限定しない。
例示的な構成(実装を含む)の十分な理解を与えるために説明の中で特定の詳細が与えられている。しかしながら、構成はこうした特定の詳細なしで実施されてもよい。例えば、周知の回路、処理、アルゴリズム、構造及び技術が、構成を不明確にするのを避けるために不要な詳細なしで示されている。この説明は、例示的な構成のみを提供するものであり、請求項の範囲、応用性又は構成を限定しない。むしろ、構成の上記説明は、記載された技術を実装するための実施可能な説明を当業者に提供するであろう。本開示の精神又は範囲から逸れることなく、要素の機能及び配置の様々な変更が行われてもよい。
また、構成は、フロー図又はブロック図として描かれる処理として記載されてもよい。各々が連続した工程として操作を説明している場合があるが、こうした操作の多くは並列的又は同時に行われ得る。さらに、操作の順序は並び替えられてもよい。工程は、図面に含まれない追加のステップを有してもよい。さらに、方法の例示は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はこれらの任意の組み合わせによって実装されてもよい。ソフトウェア、ファームウェア、ミドルウェア又はマイクロコードで実装される場合、必要なタスクを実行するためのプログラムコード又はコードセグメントは、記憶媒体等の非一時的なコンピュータ可読媒体に記憶されてもよい。プロセッサは、記載されたタスクを実行してもよい。
複数の例示的な構成が記載されているが、本開示の精神から逸脱することなく、様々な修正、代替構造及び均等物が使用されてもよい。例えば、上記の要素は、より大きなシステムのコンポーネントであってもよく、他の規則が本発明の応用に優先し又はそれを修正してもよい。また、上記の要素が検討される前、間又は後で多くのステップが行われてもよい。したがって、先の記載によって請求項の範囲は縛られない。
本明細書における「適合」又は「構成」の使用は、追加のタスク又はステップを実行するように適合又は構成されるデバイスを排除しない開放的かつ包括的な言語を意図している。さらに、「基づいて」の使用は開放的かつ包括的であることが意図されており、すなわち、1つ以上の記載された条件又は値に「基づいて」行われる処理、ステップ、計算、又は他の動作が、実際には、記載されたものを超える追加の条件又は値に基づいてもよい。本明細書に含まれる表題、リスト及び番号は、単に説明を容易にするためのものであって、限定することを意図していない。
本主題の態様に従う実施形態は、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせで実装され得る。一実施形態では、コンピュータは、1つ又は複数のプロセッサを備えてもよい。プロセッサは、プロセッサに結合されるRAM(random access memory)等のコンピュータ可読媒体を備え、又はそれへのアクセスを有する。プロセッサは、センササンプリングルーチン、選択ルーチン、及び上述の方法を実行する他のルーチン等、メモリに記憶されたコンピュータ実行可能プログラム命令を実行する。
このようなプロセッサは、マイクロプロセッサ、デジタル・シグナル・プロセッサ(digital signal processor;DSP)、特定用途向け集積回路(application−specific integrated circuit;ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array;FPGA)、及び状態機械を含んでもよい。このようなプロセッサは、PLC、プログラマブル割り込みコントローラ(programmable interrupt controller;PIC)、プログラマブル論理デバイス(programmable logic device;PLD)、プログラマブルROM(programmable read−only memory;PROM)、電気的プログラマブルROM(electronically programmable read−only memory;EPROM又はEEPROM)、又は他の類似のデバイス等のプログラマブル電子デバイスをさらに備えてもよい。
このようなプロセッサは、媒体、例えば、プロセッサによって実行されると、プロセッサによって遂行又は支援される本明細書に記載のステップをプロセッサに実行させることができる命令を記憶し得る有形のコンピュータ可読媒体を備え、又はこれと通信してもよい。コンピュータ可読媒体の実施形態は、限定されないが、プロセッサ、例えばウェブサーバのプロセッサにコンピュータ可読命令を提供することができる全ての電子、光学、磁気、又は他の記憶デバイスを備えてもよい。媒体の他の例は、限定されないが、フロッピーディスク、CD−ROM、磁気ディスク、メモリチップ、ROM、RAM、ASIC、構成プロセッサ、全ての光学媒体、全ての磁気テープ若しくは他の磁気媒体、又はコンピュータプロセッサが読み取り可能な任意の他の媒体を含む。また、様々な他のデバイスは、ルータ、プライベート若しくはパブリックネットワーク、又は他の伝送デバイス等のコンピュータ可読媒体を含んでもよい。記載されたプロセッサ及び処理は、1つ以上の構造内に有ってもよく、1つ以上の構造を通じて分散されてもよい。プロセッサは、本明細書に記載の1つ以上の方法(又は方法の一部)を実行するためのコードを備えてもよい。
本主題はその特定の実施形態に関して詳細に記載されているが、上記のことを理解すると、このような実施形態の変形、変化、及び均等物を当業者であれば容易に生み出し得ることが理解されるであろう。したがって、本開示は、限定ではなく例示を目的として提示されており、当業者には容易に明らかとなる本主題への修正、変更及び/又は追加を含むことを排除しないことが理解されるべきである。

Claims (1)

  1. ユーザに関する情報を示す情報をキャプチャするように構成されるセンサ、及び触覚出力デバイス備えるユーザデバイスと、
    前記第1の処理デバイスに通信可能に結合される第1の処理デバイス及び非一時的なコンピュータ可読媒体を備えるコンピュータ装置と、
    xPCターゲットマシンと
    を備えるシステムにおいて、
    前記第1の処理デバイスは、
    疑似現実環境を生成すること、
    前記センサから、前記ユーザに関する前記情報を示すセンサ信号を受信すること、
    前記疑似現実環境又は前記センサ信号に基づいて触覚効果を決定すること、及び
    前記触覚効果のパラメータに関するデータ又は前記センサ信号を前記xPCターゲットマシンに送信すること
    を含む動作を行うように構成され、
    前記xPCターゲットマシンは、少なくとも100khzのサンプリングレートを達成することが可能であり、
    前記触覚効果の前記パラメータを決定すること、
    前記xPCターゲットマシンが前記センサ信号又は触覚効果の前記パラメータに関するデータを受信するときに実質的にリアルタイムで、前記触覚効果に関連付けられる触覚信号を生成することであって、前記触覚信号は、約1Hzから20kHzの間の周波数を有すること、及び
    前記触覚効果に関係付けられる前記触覚信号を前記触覚出力デバイスに送信することであって、前記触覚出力デバイスは前記触覚信号を受信して前記触覚効果を出力するように構成されること
    を行うように構成される第2の処理デバイスを備える、システム。
JP2019078632A 2018-04-20 2019-04-17 拡張又は仮想現実環境に対して動的触覚プレイバックを提供するためのシステム及び方法 Pending JP2019192237A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/958,987 US10572017B2 (en) 2018-04-20 2018-04-20 Systems and methods for providing dynamic haptic playback for an augmented or virtual reality environments
US15/958,987 2018-04-20

Publications (1)

Publication Number Publication Date
JP2019192237A true JP2019192237A (ja) 2019-10-31

Family

ID=66239894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019078632A Pending JP2019192237A (ja) 2018-04-20 2019-04-17 拡張又は仮想現実環境に対して動的触覚プレイバックを提供するためのシステム及び方法

Country Status (5)

Country Link
US (2) US10572017B2 (ja)
EP (1) EP3557384A1 (ja)
JP (1) JP2019192237A (ja)
KR (1) KR20190122559A (ja)
CN (1) CN110389659A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10102659B1 (en) 2017-09-18 2018-10-16 Nicholas T. Hariton Systems and methods for utilizing a device as a marker for augmented reality content
US10105601B1 (en) 2017-10-27 2018-10-23 Nicholas T. Hariton Systems and methods for rendering a virtual content object in an augmented reality environment
US10636188B2 (en) 2018-02-09 2020-04-28 Nicholas T. Hariton Systems and methods for utilizing a living entity as a marker for augmented reality content
US10198871B1 (en) 2018-04-27 2019-02-05 Nicholas T. Hariton Systems and methods for generating and facilitating access to a personalized augmented rendering of a user
US20200192480A1 (en) * 2018-12-18 2020-06-18 Immersion Corporation Systems and methods for providing haptic effects based on a user's motion or environment
US10586396B1 (en) 2019-04-30 2020-03-10 Nicholas T. Hariton Systems, methods, and storage media for conveying virtual content in an augmented reality environment
KR102468585B1 (ko) * 2020-10-23 2022-11-22 주식회사 비트센싱 가상 촉각 서비스를 제공하는 서버, 사용자 단말 및 방법
CN113631237A (zh) 2021-06-23 2021-11-09 商汤国际私人有限公司 游戏图像的处理方法、装置、电子设备、计算机存储介质和计算机程序
CN113508421A (zh) * 2021-06-24 2021-10-15 商汤国际私人有限公司 桌面游戏的状态切换方法、装置、设备和存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100538351B1 (ko) * 2004-04-20 2005-12-21 광주과학기술원 햅틱 인터페이스의 안정화 방법 및 이를 적용한 햅틱시스템
US20060274906A1 (en) 2005-06-06 2006-12-07 Ying Jia Acoustic sensor with combined frequency ranges
GB2467461B (en) * 2007-09-14 2012-03-07 Nat Inst Of Advanced Ind Scien Virtual reality environment generating apparatus and controller apparatus
US20120065784A1 (en) * 2010-09-13 2012-03-15 Philip Feldman Providing kinetic feedback for computer-human interaction in virtual or remote operation environments
FR2991791B1 (fr) 2012-06-06 2014-08-08 Commissariat Energie Atomique Interface de stimulation tactile par retournement temporel
US8860563B2 (en) 2012-06-14 2014-10-14 Immersion Corporation Haptic effect conversion system using granular synthesis
US8947216B2 (en) 2012-11-02 2015-02-03 Immersion Corporation Encoding dynamic haptic effects
US9788714B2 (en) * 2014-07-08 2017-10-17 Iarmourholdings, Inc. Systems and methods using virtual reality or augmented reality environments for the measurement and/or improvement of human vestibulo-ocular performance
US9690370B2 (en) * 2014-05-05 2017-06-27 Immersion Corporation Systems and methods for viewport-based augmented reality haptic effects
US20160189427A1 (en) * 2014-12-31 2016-06-30 Immersion Corporation Systems and methods for generating haptically enhanced objects for augmented and virtual reality applications
US10031580B2 (en) * 2016-01-13 2018-07-24 Immersion Corporation Systems and methods for haptically-enabled neural interfaces
US20170249785A1 (en) * 2016-02-29 2017-08-31 Vreal Inc Virtual reality session capture and replay systems and methods
EP3455704A4 (en) * 2016-07-08 2019-11-13 Immersion Corporation MULTIMODAL HAPTIC EFFECTS
KR20180019270A (ko) * 2016-08-16 2018-02-26 (주)알비케이이엠디 증강현실 또는 가상현실 구현 기기와 연동되는 햅틱 디바이스
CA3095685A1 (en) * 2017-03-31 2018-10-04 VRgluv LLC Haptic interface devices
US10386928B2 (en) * 2017-04-12 2019-08-20 Disney Enterprises, Inc. Dynamic haptic effects generator

Also Published As

Publication number Publication date
US20200218356A1 (en) 2020-07-09
US10572017B2 (en) 2020-02-25
EP3557384A1 (en) 2019-10-23
CN110389659A (zh) 2019-10-29
KR20190122559A (ko) 2019-10-30
US20190324539A1 (en) 2019-10-24

Similar Documents

Publication Publication Date Title
JP2019192237A (ja) 拡張又は仮想現実環境に対して動的触覚プレイバックを提供するためのシステム及び方法
US10564729B2 (en) Haptic feedback using a field of view
TW202046085A (zh) 基於捏合和拉放手勢偵測人工實境系統中的輸入
US10474238B2 (en) Systems and methods for virtual affective touch
CN111045511B (zh) 基于手势的操控方法及终端设备
US20180232051A1 (en) Automatic localized haptics generation system
KR20150085801A (ko) 사용자에 의해 생성되는 콘텐츠 저작을 위한 시스템 및 방법
US20180011538A1 (en) Multimodal haptic effects
KR20180066865A (ko) 햅틱들을 가지는 컴플라이언스 착시들을 위한 시스템들 및 방법
US11157084B2 (en) Touch enabling process, haptic accessory, and core haptic engine to enable creation and delivery of tactile-enabled experiences with virtual objects
JP6732078B2 (ja) 触覚オーバーレイを拡張現実に統合するシステム、方法及び非一時的コンピュータ可読媒体
KR20200075773A (ko) 사용자의 모션 또는 환경에 기초하여 햅틱 효과들을 제공하는 시스템들 및 방법들
EP3367216A1 (en) Systems and methods for virtual affective touch
WO2022230264A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20200286298A1 (en) Systems and methods for a user interaction proxy
US10437447B1 (en) Magnet based physical model user interface control
US9606710B1 (en) Configuring movement-based user interface control

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190520