(57)【要約】  コントローラで受信されたタッチ入力を表すタッチデータまたは力データのうちの少なくとも１つを受信することと、１つまたは複数のモデル（複数可）を判定することと、１つまたは複数のモデルを使用して画像データを生成することであって、画像データが、コントローラで受信されたタッチ入力に対応する少なくとも手のジェスチャを表すことと、画像データを表示のために仮想現実（ＶＲ）環境に送信することと、を含む、方法。【選択図】図１
2021527896.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
１つまたは複数のプロセッサと、
コンピュータ実行可能命令を格納する１つまたは複数の非一時的なコンピュータ可読媒体であって、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
コントローラを操作する手の動きに対応するモーションデータを受信することと、
前記コントローラを操作する前記手のタッチ入力に対応するタッチデータを受信することと、
前記モーションデータと前記タッチデータとを関連付けることと、
前記モーションデータと前記タッチデータとを前記関連付けることに少なくとも部分的に基づいて、前記手のジェスチャに対応する訓練モデルを生成することと、を含む行為を実施させる、１つまたは複数の非一時的なコンピュータ可読媒体と、を備える、システム。
【請求項２】
前記モーションデータが、第１のモーションデータを含み、前記タッチデータが、第１のタッチデータを含み、前記手の前記動きが、第１の動きを含み、前記手の前記タッチ入力が、第１のタッチ入力を含み、前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記コントローラを操作するユーザの前記手の第２の動きに対応する第２のモーションデータを受信することと、
前記コントローラを操作する前記手の第２のタッチ入力に対応する第２のタッチデータを受信することと、
前記第２のモーションデータおよび前記第２のタッチデータに少なくとも部分的に基づいて、前記手の前記ジェスチャに対応する更新された訓練モデルを生成することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項１に記載のシステム。
【請求項３】
前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記更新された訓練モデルを使用して、前記手の表現に対応する画像データを生成することと、
前記手の前記表現に対応する前記画像データを送信することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項２に記載のシステム。
【請求項４】
前記画像データを送信することが、遠隔装置に前記手の表現を表示させる、請求項３に記載のシステム。
【請求項５】
前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、前記タッチ入力に関連付けられた力の量に対応する力データを受信することを含む行為をさらに実施させるコンピュータ実行可能命令を格納し、
前記手の前記ジェスチャに対応する前記訓練モデルを前記生成することが、前記力データに少なくとも部分的にさらに基づいている、請求項１〜４のいずれかに記載のシステム。
【請求項６】
前記タッチデータが、前記タッチ入力を受信する前記コントローラ上の１つまたは複数の場所を示す、請求項１〜５のいずれか一項に記載のシステム。
【請求項７】
前記モーションデータと前記タッチデータとを関連付けることが、前記モーションデータのタイムスタンプを前記タッチデータのタイムスタンプと関連付けることを含む、請求項１〜６のいずれかに記載のシステム。
【請求項８】
前記モーションデータを受信することが、前記システムに通信可能に結合されたカメラから前記モーションデータを受信することを含み、
前記タッチデータを受信することが、前記システムに通信可能に結合されたコントローラから前記タッチデータを受信することを含む、請求項１〜７のいずれかに記載のシステム。
【請求項９】
システムであって、
１つまたは複数のプロセッサと、
コンピュータ実行可能命令を格納する１つまたは複数の非一時的なコンピュータ可読媒体であって、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
コントローラから、
前記コントローラで受信されたタッチ入力を示すタッチデータ、または
前記タッチ入力に関連付けられた力の量を示す力データのうちの少なくとも１つを受信することと、
手のジェスチャに関連付けられている訓練されたモデルに対して、前記タッチデータまたは前記力のうちの少なくとも１つを分析することと、
前記分析に少なくとも部分的に基づいて、前記タッチデータまたは前記力データのうちの少なくとも１つが前記手のジェスチャに対応していることを判定することと、
前記手のジェスチャを表す画像データを生成することと、
表示のために前記画像データを送信することと、を含む行為を実施させる、１つまたは複数の非一時的なコンピュータ可読媒体と、を備える、システム。
【請求項１０】
前記タッチデータが、前記タッチ入力に対応する前記コントローラ上の場所を示す、請求項９に記載のシステム。
【請求項１１】
前記タッチデータが、第１のタッチデータを含み、前記力データが、第１の力データを含み、前記訓練されたモデルが、第１の訓練されたモデルを含み、前記タッチ入力が、第１のタッチ入力を含み、前記画像データが、第１の画像データを含み、前記手のジェスチャが、第１の手のジェスチャを含み、前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記コントローラから、
前記コントローラで受信された第２のタッチ入力を表す第２のタッチデータ、または
前記第２のタッチ入力に関連付けられた力の量を示す第２の力データのうちの少なくとも１つを受信することと、
第２の手のジェスチャに関連付けられている第２の訓練されたモデルに対して、前記第２のタッチデータまたは前記第２の力データのうちの少なくとも１つを分析することと、
前記第２のタッチデータまたは前記第２の力データのうちの少なくとも１つが、第２の手のジェスチャに対応していることを判定することと、
前記第２の手のジェスチャを表す第２の画像データを生成することと、
表示のために前記第２の画像データを送信することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項９または１０のいずれかに記載のシステム。
【請求項１２】
前記画像データが、第１の画像データを含み、前記手のジェスチャが、第１の手のジェスチャを含み、前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
少なくとも１つまたは複数の予測モデリング技術を使用し、かつ、前記第１の手のジェスチャに少なくとも部分的に基づいて、第２の手のジェスチャを決定することと、
前記第２の手のジェスチャを表す第２の画像データを生成することと、
表示のために前記第２の画像データを送信することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項９または１０のいずれかに記載のシステム。
【請求項１３】
前記訓練されたモデルが、
第１の期間中に１つまたは複数のコントローラから受信された以前のタッチデータ、
前記第１の期間中に前記１つまたは複数のコントローラから受信された以前の力データ、または
前記第１の期間中に１つまたは複数のカメラから受信された以前の画像データのうちの少なくとも１つを使用して前もって訓練されたモデルを含む、請求項９〜１２のいずれかに記載のシステム。
【請求項１４】
前記コントローラが、第１のコントローラを含み、前記タッチデータが、第１のタッチデータを含み、前記力データが、第１の力データを含み、前記画像データが、第１の画像データを含み、前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
第２のコントローラから、
前記第２のコントローラで受信されたタッチ入力を示す第２のタッチデータ、または
前記第２のコントローラで受信された前記タッチ入力に関連付けられた力の量を示す第２の力データのうちの少なくとも１つを受信することと、
１つまたは複数の手のジェスチャに関連付けられている１つまたは複数の訓練されたモデルに対して、前記第２のタッチデータまたは前記第２の力データのうちの少なくとも１つを分析することと、
前記第２のコントローラで受信された手のジェスチャを表す第２の画像データを生成することと、
表示のために前記第２の画像データを送信することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項９、１０、または１３のいずれかに記載のシステム。
【請求項１５】
前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記タッチデータまたは前記力データのうちの少なくとも１つを１つまたは複数の訓練されたモデルと比較することであって、前記１つまたは複数の訓練されたモデルが、前記訓練されたモデルを含み、前記１つまたは複数の訓練されたモデルの個々の訓練されたモデルが、１つまたは複数の手のジェスチャに関連付けられる、比較すること、を含む行為をさらに実施させるコンピュータ実行可能命令を格納し、
前記訓練されたモデルに対して、前記タッチデータまたは前記力データのうちの少なくとも１つを分析することが、前記比較に少なくとも部分的に基づいている、請求項９〜１４のいずれかに記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、「ＶＩＲＴＵＡＬ  ＲＥＡＬＩＴＹ  ＨＡＮＤ  ＧＥＳＴＵＲＥ  ＧＥＮＥＲＡＴＩＯＮ」と題する２０１８年１１月１９日に出願された米国特許出願第１６／１９５，７１８号のＰＣＴ出願であり、これに基づく優先権を主張し、本出願は、米国特許法第１２０条の下で、「ＶＩＲＴＵＡＬ  ＲＥＡＬＩＴＹ  ＨＡＮＤ  ＧＥＳＴＵＲＥ  ＧＥＮＥＲＡＴＩＯＮ」と題する２０１８年６月２０日に出願された米国仮特許出願第６２／６８７，７８０号に基づく優先権を主張する。
【０００２】
さらに、２０１８年１１月１９日出願された出願第１６／１９５，７１８号は、「ＥＬＥＣＴＲＯＮＩＣ  ＣＯＮＴＲＯＬＬＥＲ  ＷＩＴＨ  ＦＩＮＧＥＲ  ＳＥＮＳＩＮＧ  ＡＮＤ  ＡＮ  ＡＤＪＵＳＴＡＢＬＥ  ＨＡＮＤ  ＲＥＴＡＩＮＥＲ」と題された２０１７年１２月７日に出願された係属中の米国特許出願第１５／８３４，３７２号の継続部分として、米国特許法第１２０条の下で優先権を主張し、本出願自体は、「ＥＬＥＣＴＲＯＮＩＣ  ＣＯＮＴＲＯＬＬＥＲ  ＷＩＴＨ  ＨＡＮＤ  ＲＥＴＡＩＮＥＲ  ＡＮＤ  ＦＩＮＧＥＲ  ＭＯＴＩＯＮ  ＳＥＮＳＩＮＧ」と題された２０１７年８月１７日に出願された米国特許出願第１５／６７９，５２１号の継続部分として優先権を主張し、本出願自体は、２０１６年１０月１１日に出願された米国特許出願第２９／５８０，６３５号の継続部分として優先権を主張し、２０１７年６月１６日に出願された米国仮特許出願第６２／５２０，９５８号に基づく優先権を主張する。
【背景技術】
【０００３】
ビデオゲーム業界は、ハードウェアとソフトウェアの両方で多くの革新を生み出してきた。例えば、様々なゲームアプリケーション向けに、様々な手持型ビデオゲームコントローラが設計、製造、および販売されている。革新的な技術の中には、産業用機械、防衛システム、ロボット工学などのコントローラなど、ビデオゲーム業界以外にも応用可能なものがある。
【０００４】
加えて、仮想現実（ｖｉｒｔｕａｌ  ｒｅａｌｉｔｙ、ＶＲ）システムは、ビデオゲーム業界の内外を問わず、現代の関心が高く、技術的にも急速に進歩しているアプリケーションである。ＶＲシステムのコントローラは、いくつかの異なる機能を実施し、多くの場合、特定の望ましい特性を最適化しながら、厳しい（場合によっては競合する）設計上の制約を満たす必要がある。場合によっては、これらのコントローラには、ユーザの把持力を測定するためのセンサが含まれており、このセンサは、予め定義されたゲームプレイ機能を実施するために使用される。これらの目的を達成する努力において、とりわけ、可変抵抗を使用してＦＳＲに掛かる力の量を測定する力感知抵抗器（ｆｏｒｃｅ  ｓｅｎｓｉｎｇ  ｒｅｓｉｓｔｏｒ、ＦＳＲ）を含む、様々なタイプのセンサが利用されてきた。しかしながら、ＦＳＲを備えた既存のコントローラは、かなり大雑把な応答時間を示す傾向がある。追加的に、コントローラは、ゲームプレイ経験全体を通じて、手の位置、ジェスチャ、および／または動きを正確に図示および感知できない場合がある。
【図面の簡単な説明】
【０００５】
【図１】本開示の例示的な実施形態による、仮想現実（ＶＲ）システムと対話するユーザの環境を示す。
【図２】本開示の例示的な実施形態による、ユーザの手にある例示的なコントローラを示す。
【図３】本開示の例示的な実施形態による、例示的なコントローラを示す。
【図４】本開示の例示的な実施形態による、ユーザの手にある図３の例示的なコントローラを示す。
【図５】本開示の例示的な実施形態による、ユーザの手にある図３の例示的なコントローラを示す。
【図６】本開示の例示的な実施形態による、ユーザの手にある図３の例示的なコントローラを示す。
【図７】本開示の例示的な実施形態による、一対の例示的なコントローラを示す。
【図８Ａ】本開示の別の例示的な実施形態による、例示的な右手用コントローラの正面図を示す。
【図８Ｂ】図８Ａの例示的な右手用コントローラの背面図を示す。
【図９Ａ】本開示の例示的な実施形態による、例示的な力感知抵抗器（ＦＳＲ）を示す。
【図９Ｂ】図９Ａの例示的なＦＳＲの正面図を示す。
【図９Ｃ】図９ＢのセクションＡ−Ａに沿って切り取られた、図９Ｂの例示的なＦＳＲの断面を示す。
【図１０Ａ】本開示の例示的な実施形態による、例示的なコントローラを保持しているユーザの第１の手のジェスチャを示す。
【図１０Ｂ】は、本開示の例示的な実施形態による、例示的なコントローラを保持しているユーザの第２の手のジェスチャを示す。
【図１０Ｃ】本開示の例示的な実施形態による、例示的なコントローラを保持しているユーザの第３の手のジェスチャを示す。
【図１０Ｄ】本開示の例示的な実施形態による、例示的なコントローラを保持しているユーザの第４の手のジェスチャを示す。
【図１０Ｅ】本開示の例示的な実施形態による、例示的なコントローラを保持しているユーザの第５の手のジェスチャを示す。
【図１０Ｆ】本開示の例示的な実施形態による、例示的なコントローラを保持しているユーザの第６の手のジェスチャを示す。
【図１１】本開示の例示的な実施形態による、例示的なプロセスを示す。
【図１２】本開示の例示的な実施形態による、モデル（複数可）を訓練するための例示的なプロセスを示す。
【図１３】本開示の例示的な実施形態による、タッチ入力を使用してジェスチャを生成するための例示的なプロセスを示す。
【発明を実施するための形態】
【０００６】
本明細書で開示されるのは、仮想現実（ＶＲ）環境で使用するためのモーションキャプチャシステム（複数可）およびコントローラである。例示的なモーションキャプチャシステムは、コントローラの動き、ならびにコントローラを操作するユーザの動きを追跡するために、環境の周りに位置付けられたカメラ、プロジェクタ、および／または他のセンサを含んでもよい。例えば、複数のカメラが環境内に取り付けられ、コントローラおよびユーザの画像をキャプチャしてもよい。場合によっては、複数のカメラが、環境内のいくつかまたはすべての角度および位置をキャプチャしてもよい。あるいは、複数のカメラは、予め定義された環境の範囲または領域内の画像に焦点を合わせるか、または画像をキャプチャしてもよい。コントローラが環境の周りで動作するとき、およびユーザが自身の手を操作するとき、カメラは、ユーザおよび／またはコントローラ（複数可）の位置および向きをそれぞれ検出してもよい。
【０００７】
場合によっては、コントローラ（またはその一部分）およびユーザの位置を検出するために、コントローラ（複数可）および／またはユーザは、それぞれ、マーカを含んでもよい。例えば、マーカは、コントローラおよび／またはユーザに結合されてもよい。マーカは、電子透かし、赤外線反射板などを含んでもよい。モーションキャプチャシステム（複数可）は、光を環境に投影し、次に、それがマーカによって反射され得る。カメラは、マーカによって反射された入射光をキャプチャし、モーションキャプチャシステム（複数可）は、コントローラおよび／またはユーザの動き、位置、および／または向きを決定するために、環境内のマーカの場所を追跡およびプロットしてもよい。
【０００８】
例示的なコントローラは、ユーザによって保持され、ユーザからのタッチ入力を検出する１つまたは複数の力感知抵抗器（ＦＳＲ）または他のタイプのセンサを含んでもよい。場合によっては、ＦＳＲは、コントローラのハンドル内に取り付けられた構造物、および／またはコントローラの少なくとも１つの親指操作式の制御部の下に取り付けられた構造物など、コントローラの表面に結合してもよい。場合によっては、ＦＳＲは、ユーザが加えた力の量に対応する抵抗値を測定してもよい。ＦＳＲはまた、力（複数可）を特定の場所、領域、および／またはコントローラの一部分に関連付けてもよい。例えば、ＦＳＲは、ハンドルの外面に加えられた力の量を決定してもよく、かつ／またはユーザからのタッチ入力に対応する、コントローラ上の場所（複数可）を決定してもよい。いくつかの実施形態では、コントローラは、ＦＳＲによって生成された力データを介して、ユーザがコントローラのハンドルを強く握る力の量、および／またはユーザがコントローラのボタンを押す力の量を決定してもよい。コントローラは、様々な力の押しまたは圧搾を、ビデオゲームの制御および／またはゲームの仕組みに使用されるデジタル化された数値に変換してもよい。
【０００９】
場合によっては、ＦＳＲは、加えられた力がしきい値を超えたときを検出するスイッチとして機能してもよく、場合によっては、しきい値を動的に更新および／または調整してもよい。例えば、ゲームプレイ中の手の疲労を低減するために、しきい値を低い値に調整してもよい（例えば、ユーザがゲームプレイ中に頻繁に武器を発射するためにＦＳＲに関連付けられた制御部を押すとき）。逆に、しきい値は、偶発的な制御操作の事例を低減するために、より高い値に調整されてもよい。
【００１０】
コントローラはまた、ハンドルの長さに沿って空間的に分散され、ユーザの指の近接性に応答する近接センサのアレイを含み得る。近接センサは、タッチ入力および／またはコントローラに対するユーザの手の近接性を感知するための、静電容量センサなどの任意の適切な技術を含み得る。近接センサのアレイは、コントローラを握持している指（複数可）の場所、またはユーザがコントローラを握持していないとき、（例えば、静電容量の測定を介して）ハンドルとユーザの指との間に配置された距離を示すタッチデータを生成してもよい。場合によっては、近接センサは、コントローラを握持しているユーザの手の大きさを検出することもあり、これにより、異なる設定に従ってコントローラを構成することができる。例えば、コントローラは、手の大きさに応じて、手の小さいユーザが力ベースの入力を簡単に行えるように調整してもよい。
【００１１】
ＶＲ環境で使用するモーションキャプチャシステムおよびコントローラを実装することにより、従来のコントローラを使用して、現在の状態を超えて自然な対話のスペクトルを拡大できる可能性がある。例えば、モーションキャプチャシステム（複数可）は、互いに連携して、手および／またはコントローラのモーションデータをキャプチャしてもよく、一方、コントローラは、コントローラでのタッチ入力に対応するタッチデータおよびユーザのタッチ入力に関連付けられた力データをキャプチャしてもよい。モーションデータ、タッチデータ、および／または力データを互いに関連付けて、ユーザの手のジェスチャを示すモデルを生成してもよい。
【００１２】
説明のために、ユーザは、自身の指関節、指先、手首、関節などに配設されたマーカを含んでもよい。コントローラはまた、マーカ（例えば、上部、底部、側面など）を含んでもよい。上記のように、マーカ（複数可）は、入射光を反射する場合がある。モーションキャプチャシステムは、マーカの位置を検出するカメラを介して、ユーザの手（複数可）の動きおよびコントローラ（複数可）の位置を検出および記録してもよい。例えば、モーションキャプチャシステム（複数可）のプロジェクタは、赤外線を投影してもよく、それは、次に、手および／またはコントローラ上のマーカによって反射される。モーションキャプチャシステム（複数可）のカメラは、環境の画像をキャプチャしてもよい。画像は、環境内のマーカの位置を示すために利用される。マーカの位置は、時間の経過とともに追跡され、３次元（３Ｄ）仮想空間内でアニメーション化される。この追跡により、アニメーション化された３Ｄ骨格データ（またはモデル）の生成が可能になり得る。例えば、ユーザは、握りこぶしまたは２本の指（例えば、小指および薬指）でコントローラを把持してもよい。カメラは、マーカを介して、ユーザの指先、指関節、および／または手、手首、および／または腕の他の部分の位置をキャプチャしてもよい。場合によっては、位置は、コントローラに対するものである。
【００１３】
同時に、または異なる時間に、近接センサのアレイは、コントローラでのタッチ入力またはタッチ入力の欠如を検出してもよい。タッチデータは、例えば、静電容量を測定することによって、コントローラに対するユーザの指の場所を示してもよい。静電容量は、指とコントローラとの間に配置された距離によって変化してもよい。そうすることで、コントローラは、ユーザがコントローラを１本の指、２本の指、３本の指などで把持したときを検出することができる。静電容量により、コントローラはまた、ユーザの指がコントローラに触れていないときなど、コントローラに対する指の相対的な配設を検出することもできる。
【００１４】
追加的に、ＦＳＲは、コントローラ（複数可）によって受信された力の値を表す力データ（例えば、ユーザがコントローラを把持する力）をキャプチャしてもよい。例えば、ユーザが握りこぶしまたは２本の指でコントローラ本体を把持すると、ＦＳＲは、これらのそれぞれの把持に対応する力の値をキャプチャしてもよい。一例として、ＦＳＲは、ユーザが２本の指でコントローラを把持するときと比較して、ユーザが握りこぶしでコントローラを把持するときの力の値の増加を検出してもよい。
【００１５】
タッチデータと力データとは、互いに関連付けられてもよい。例えば、ユーザが４本の指でコントローラを把持するとき、コントローラで検出された力の値は、コントローラの特定の場所に関連付けられ得る。そうすることで、ユーザのどの指がコントローラを握持するか、ならびにユーザがコントローラを握持する各指の相対的な力を決定するために、タッチデータと力データとを互いに関連付けることができる。ユーザが２本の指でコントローラを把持したときにも同じことが言え、この場合、力の値が検出され、コントローラ本体の特定の部分に関連付けられる。ＦＳＲによって検出されたとき、タッチ入力が近接センサのアレイからどこで受信されたか、ならびにユーザがコントローラを把持する力の量を知ることにより、コントローラおよび／または別の通信可能に結合されたリモートシステムは、タッチ入力をユーザの特定の指に関連付けることができる。場合によっては、タッチデータに関連付けられたタイムスタンプを力データのタイムスタンプと相関させることによって、コントローラ（または別の通信可能に結合されたリモートシステム）は、タッチデータと力データとを関連付けることができる。
【００１６】
ユーザがコントローラを把持する力の量（すなわち、力データ）、コントローラ上のタッチ入力またはその欠如の場所（すなわち、タッチデータ）、ならびにモーションキャプチャシステムのカメラによってキャプチャされたモーション（すなわち、モーションデータ）は、ユーザの手のジェスチャを示すモデルを訓練してもよい。一例として、モーションキャプチャシステムは、（例えば、モーションデータを使用して）握りこぶしをコントローラで受信されたタッチデータおよび／または力データと関連付けてもよい。別の例として、ユーザが２本の指でコントローラを把持する場合、モーションデータは、手のジェスチャ（例えば、２本の指の把持）を示し得、タッチデータは、コントローラへの手（または指）の近接性を示し、力データは、ユーザがコントローラをどれだけしっかりと把持しているかを示してもよい。これらの関連付けを使用して、モデルを生成し、ユーザのジェスチャを示すように訓練してもよい。モデルは、時間の経過とともにより正確になるように連続的に訓練されてもよい。
【００１７】
モデルは、ディスプレイ上で手のジェスチャのアニメーションを生成するために、コントローラでのタッチ入力および／またはタッチ入力に関連付けられた力の値を特徴付けてもよく、ＶＲ環境は、ゲームプレイで使用するためにモデルを利用してもよい。より具体的には、モデルは、ＶＲ環境内で手のジェスチャを生成するために、タッチデータおよび／または力データを入力してもよい。例として、ジェスチャとしては、岩を破砕するか、または風船を圧搾する（例えば、握りこぶしジェスチャ）、ゲームキャラクタが使用できる利用可能な武器を切り替える（例えば、コントローラに沿って指をスクロールまたはスライドさせる）、物体を落とす（例えば、開いた手のジェスチャ）、武器を発射する（例えば、小指、薬指、中指はコントローラに触れているが、人差し指および親指は外側に向けている）などの様々なビデオゲームの制御を挙げることができる。すなわち、コントローラのタッチ入力の場所、ならびにユーザがコントローラを把持する力を知ることである。この情報により、前もって訓練されたモデルと連携して使用し、ＶＲ環境内および／またはＶＲディスプレイ上に手のジェスチャ（例えば、握りこぶし）を生成することができる。さらに、モデル（複数可）は、表示用に手のジェスチャをレンダリングおよび／または生成して表示するときに、前もって生成されたアニメーションおよび／または画像データを利用してもよい。
【００１８】
実例となる仮想現実（ＶＲ）環境
図１は、モーションキャプチャシステム（複数可）１０２およびユーザ１０４が存在する例示的な環境１００を示す。モーションキャプチャシステム（複数可）１０２は、環境１００の壁に取り付けられた状態で示されているが、場合によっては、モーションキャプチャシステム（複数可）１０２は、環境１００内の他の場所（例えば、天井、床など）に取り付けてもよい。さらに、図１は４つのモーションキャプチャシステム（複数可）１０２を示しているが、環境１００は、４つよりも多い、または少ないモーションキャプチャシステム（複数可）１０２を含んでもよい。
【００１９】
モーションキャプチャシステム（複数可）１０２は、環境１００内／中に光および／または画像１０６を生成および投影するように構成されたプロジェクタ（複数可）を含んでもよい。画像１０６は、ユーザ１０４に知覚可能な可視光画像、ユーザ１０４に知覚不可能な可視光画像、非可視光を有する画像、および／またはそれらの組み合わせを含んでもよい。プロジェクタ（複数可）は、画像１０６を生成し、画像１０６を環境１００内の表面または物体に投影することができる任意の数の技術を含んでもよい。いくつかの例では、適切な技術としては、デジタルマイクロミラー装置（ｄｉｇｉｔａｌ  ｍｉｃｒｏｍｉｒｒｏｒ  ｄｅｖｉｃｅ、ＤＭＤ）、シリコンディスプレイ上の液晶（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｏｎ  ｓｉｌｉｃｏｎ  ｄｉｓｐｌａｙ、ＬＣＯＳ）、液晶ディスプレイ、３ＬＣＤなどを挙げることができる。プロジェクタ（複数可）は、特定の立体角を表す視野を有してもよく、この視野は、プロジェクタ（複数可）の構成の変化に従って変化してもよい。例えば、ズームを適用すると視野が狭くなる場合がある。
【００２０】
モーションキャプチャシステム（複数可）１０２は、高解像度カメラ、赤外線（ＩＲ）検出器、センサなどを含んでもよい。カメラ（複数可）は、可視光波長、非可視光波長、またはその両方で環境１００を画像化してもよい。カメラ（複数可）はまた、特定の立体角を表す視野を有し、カメラの視野は、カメラ（複数可）の構成の変化に従って変化してもよい。例えば、カメラ（複数可）の光学ズームは、カメラの視野を狭める場合がある。
【００２１】
場合によっては、環境１００は、複数のカメラおよび／または様々なタイプのカメラを含んでもよい。例えば、カメラには、３次元（３Ｄ）カメラ、赤外線（ＩＲ）カメラ、および／または赤、緑、青（ＲＧＢ）カメラを含んでもよい。場合によっては、３ＤカメラおよびＩＲカメラは、環境内の物体（例えば、マーカ）の深さを検出するための情報をキャプチャしてもよく、一方、ＲＧＢカメラは、環境１００内の色の変化を識別することによって物体のエッジを検出してもよい。場合によっては、モーションキャプチャシステム（複数可）１０２は、前述の機能のすべてを実施するように構成された単一のカメラを含んでもよい。
【００２２】
モーションキャプチャシステム（複数可）１０２の１つまたは複数の構成要素は、固定された向きでシャーシに取り付けられてもよく、またはアクチュエータを介してシャーシに取り付けられてもよく、その結果、シャーシおよび／または１つまたは複数の構成要素が移動することができる。例として、アクチュエータには、圧電アクチュエータ、モータ、線形アクチュエータ、およびシャーシおよび／またはプロジェクタ（複数可）および／またはカメラ（複数可）など、それに取り付けられた１つまたは複数の構成要素を変位または移動するように構成された他の装置を含んでもよい。例えば、アクチュエータは、パンモータ、チルトモータなどを含んでもよい。パンモータは、シャーシをヨーモーションで回転させ、チルトモータは、シャーシのピッチを変更することができる。場合によっては、シャーシは、追加的または代替的に、シャーシが回転モーションで移動することを可能にするロールモータを含んでもよい。シャーシをパンニング、傾斜、および／または回転させることによって、モーションキャプチャシステム（複数可）１０２は、環境１００の異なる視界をキャプチャすることができる。
【００２３】
モーションキャプチャシステム（複数可）１０２はまた、測距システムを含んでもよい。測距システムは、モーションキャプチャシステム（複数可）１０２から、スキャンされた実体、物体（例えば、ユーザ１０４および／またはコントローラ１１０）、および／または一組の物体までの距離情報を提供してもよい。測距システムは、レーダ、光検出および測距（ｌｉｇｈｔ  ｄｅｔｅｃｔｉｏｎ  ａｎｄ  ｒａｎｇｉｎｇ、ＬＩＤＡＲ）、超音波測距、立体測距、構造化光分析、飛行時間観測（例えば、カメラで感知された画素の飛行時間の往復測定）などを備え、かつ／またはそれらを使用してもよい。構造化光分析では、上記のように、プロジェクタ（複数可）は、環境１００内に構造化光パターンを投影してもよく、カメラ（複数可）は、反射光パターンの画像をキャプチャしてもよい。モーションキャプチャシステム（複数可）１０２は、環境１００内の異なる点、領域、または画素に対応する深度または距離を決定するために、プロジェクタとカメラとの間の横方向の変位に起因する反射パターンの変形を分析してもよい。
【００２４】
モーションキャプチャシステム（複数可）１０２は、モーションキャプチャシステム（複数可）１０２のそれぞれの構成要素間の距離（複数可）を決定または知ることができ、これは、環境１００からの構造化光パターンおよび／または他の光データの回復を支援することができる。モーションキャプチャシステム（複数可）１０２はまた、距離を使用して、他の距離、寸法を計算し、かつ／またはその他の方法で、環境１００内の実体または物体の特徴付けを支援してもよい。プロジェクタの視野およびカメラの視野の相対的な角度および大きさが変化し得る実装では、モーションキャプチャシステム（複数可）１０２は、そのような寸法を決定および／または知ることができる。
【００２５】
環境１００内で、ユーザ１０４は、ＶＲヘッドセット１０８およびコントローラ１１０を保持する。ＶＲヘッドセット１０８は、仮想環境、ゲームプレイのシミュレートされた視界を提示するか、または仮想空間内の物体を示す内部ディスプレイ（図示せず）を含んでもよい。ＶＲヘッドセット１０８は、追加のセンサとともにヘッドバンドを含んでもよい。いくつかの実施形態では、ＶＲヘッドセット１０８は、ヘルメットまたはキャップを備え、光信号を受信するためにヘルメットまたはキャップの上部の様々な位置に位置されたセンサを備えてもよい。
【００２６】
本明細書で詳細に論じられるように、ユーザ１０４および／またはコントローラ１１０は、マーカを備えてもよい。モーションキャプチャシステム（複数可）１０２は、光を投影するプロジェクタ（複数可）およびマーカの反射画像をキャプチャするカメラ（複数可）を介して、環境１００内のユーザ１０４および／またはコントローラ１１０の位置を検出してもよい。マーカは、環境１００内のユーザ１０４、またはユーザ１０４の一部分（例えば、手または指）の向きおよび／または位置、ならびに環境１００内のコントローラ１１０の向きおよび／または位置を決定するために利用されてもよい。測距システムはまた、モーションキャプチャシステム（複数可）１０２とマーカとの間の距離を決定することによって、ユーザ１０４（またはその一部分）およびコントローラ１１０の場所の決定を支援してもよい。
【００２７】
モーションキャプチャシステム（複数可）１０２、ＶＲヘッドセット１０８、および／またはコントローラ１１０は、１つまたは複数のリモートコンピューティングリソース（複数可）１１２に通信可能に結合されてもよい。リモートコンピューティングリソース（複数可）１１２は、環境１００およびモーションキャプチャシステム（複数可）１０２、ＶＲヘッドセット１０８、および／またはコントローラ１１０から離れていてもよい。例えば、モーションキャプチャシステム（複数可）１０２、ＶＲヘッドセット１０８、および／またはコントローラ１１０は、ネットワーク１１４を介してリモートコンピューティングリソース（複数可）１１２に通信可能に結合されてもよい。場合によっては、モーションキャプチャシステム（複数可）１０２、ＶＲヘッドセット１０８、および／またはコントローラ１１０は、有線技術（例えば、ワイヤ、ＵＳＢ、光ファイバケーブルなど）、無線技術（例えば、ＲＦ、セルラ、衛星、Ｂｌｕｅｔｏｏｔｈなど）、および／または他の接続技術を介して、ネットワーク１１４に通信可能に結合されてもよい。ネットワーク１１４は、データおよび／または音声ネットワークを含む任意のタイプの通信ネットワークの代表であり、有線インフラストラクチャ（例えば、ケーブル、ＣＡＴ５、光ファイバケーブルなど）、無線インフラストラクチャ（例えば、ＲＦ、セルラ、マイクロ波、衛星、Ｂｌｕｅｔｏｏｔｈなど）、および／または他の接続技術を使用して実装されてもよい。
【００２８】
リモートコンピューティングリソース（複数可）１１２は、１つまたは複数のサーバとして実装されてもよく、場合によっては、プロセッサ、記憶装置、ソフトウェア、データアクセスなどのコンピューティングインフラストラクチャとして実装されたネットワークアクセス型コンピューティングプラットフォームの一部分を形成してもよく、これは、インターネットなどのネットワークを介して維持され、アクセス可能である。リモートコンピューティングリソース（複数可）１１２は、サービスを配信するシステムの物理的な場所および構成についてエンドユーザの知識を必要としない。これらのリモートコンピューティングリソース（複数可）１１２に関連する一般的な表現としては、「オンデマンドコンピューティング」、「ｓｏｆｔｗａｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ（ＳａａＳ）」、「プラットフォームコンピューティング」、「ネットワークアクセス型プラットフォーム」、「クラウドサービス」、「データセンタ」などが挙げられてもよい。
【００２９】
モーションキャプチャシステム（複数可）１０２、ＶＲヘッドセット１０８、および／またはコントローラ１１０は、ネットワーク１１４および／または１つまたは複数のリモートコンピューティングリソース（複数可）１１２への無線接続を容易にするための１つまたは複数の通信インターフェースを含んでもよい。加えて、１つまたは複数の通信インターフェースはまた、モーションキャプチャシステム（複数可）１０２、ＶＲヘッドセット１０８、および／またはコントローラ１１０との間のデータの送信（例えば、互いの間の通信）を可能にしてもよい。しかしながら、場合によっては、１つまたは複数の通信インターフェースは、有線接続も含み得る。
【００３０】
リモートコンピューティングリソース（複数可）１１２は、プロセッサ（複数可）１１６およびメモリ１１８を備え、これらは、１つまたは複数のモデル（複数可）１２０を格納するか、またはそうでなければアクセスしてもよい。リモートコンピューティングリソース（複数可）１１２は、モーションキャプチャシステム（複数可）１０２からモーションデータ１２２を受信し、コントローラ１１０からタッチデータ１２４および／または力データ１２６を受信してもよい。タッチデータ１２４は、ユーザのタッチ入力に対応するコントローラ（複数可）１１０上の場所（または複数の場所）を示すタッチプロファイルを含んでもよい。タッチデータ１２４はまた、コントローラ（複数可）１１０へのタッチ入力の欠如を示してもよい。そうすることで、タッチデータ１２４は、どの指（複数可）がコントローラに触れているか、かつ／または指（複数可）のどの部分がコントローラ１１０に触れているかを示してもよい。場合によっては、コントローラ１１０のハンドルに沿って空間的に分散された近接センサ（例えば、静電容量センサ）のアレイは、タッチ入力を検出し、タッチデータを生成および／またはリモートコンピューティングリソース（複数可）１１２に送信してもよい。追加的に、ＦＳＲは、コントローラ１１０上のタッチ入力の力の値を示す力データ１２６を生成してもよい。本明細書で説明するように、タッチデータ１２４および／または力データ１２６は、ＶＲ環境内での手の位置、把持、または手のジェスチャを示してもよい。次に、リモートコンピューティングリソース（複数可）１１２は、アニメーション（複数可）１２８または他の画像データを表示のためにＶＲヘッドセット１０８に送信してもよい。
【００３１】
本明細書で詳細に論じるように、リモートコンピューティングリソース（複数可）１１２は、モデル（複数可）１２０を利用して、ＶＲヘッドセット１０８上に表示されるアニメーション１２８を生成してもよい。場合によっては、リモートコンピューティングリソース（複数可）１１２は、モーションデータ１２２、タッチデータ１２４、および／または力データ１２６を使用して、モデル（複数可）１２０を生成および／または訓練してもよい。リモートコンピューティングリソース（複数可）１１２は、ユーザとの対話を通じてモデル（複数可）１２０を生成および／または訓練し、モーションデータ１２２、タッチデータ１２４、および／または力データ１２６を受信してもよい。プロセッサ（複数可）１１６は、モーションデータ１２２を分析し、モーションデータ１２２をタッチデータ１２４および／または力データ１２６と相関させてもよい。追加的に、プロセッサ（複数可）１１６は、タッチデータ１２４を分析し、タッチデータ１２４を力データ１２６に関連付けてもよい。
【００３２】
プロセッサ（複数可）１１６は、ユーザの特性を学習するために、モーションデータ１２２のキャプチャに関連付けられた時間を相関させてもよい。例えば、プロセッサ（複数可）１１６は、タッチデータ１２４（例えば、コントローラ１１０上の場所）および／または力データ１２６の特性を学習し、これらの特性を手の特定のジェスチャに関連付けてもよい。データ分析を実施した後、プロセッサ（複数可）１１６は、モーションデータ１２２、タッチデータ１２４、および／または力データ１２６を相関させるために、モデル１２０（複数可）を生成してもよい。言い換えれば、プロセッサ（複数可）１１６は、タッチデータ１２４および／または力データ１２６を分析して、モーションデータ１２２が表すように、タッチデータ１２４および／または力データ１２６を手のジェスチャと相関させるか、またはそうでなければ関連付けてもよい。モーションデータ１２２、タッチデータ１２４、および／または力データ１２６に基づいてモデル（複数可）１２０を訓練することにより、モデル（複数可）１２０は、ユーザによるその後の対話で（すなわち、ゲームプレイ中に）受信されたタッチデータ１２４および／または力データ１２６を使用して手のジェスチャを決定することができる。すなわち、モデル（複数可）１２０は、タッチデータ１２４および／または力データ１２６を入力として受信し、タッチデータ１２４および／または力データ１２６を利用して、ユーザ１０４の手のジェスチャを決定してもよい。例えば、ユーザがコントローラ１１０を保持しているとき、コントローラ１１０は、近接センサのアレイによって生成されたタッチデータ１２４を受信してもよく、タッチデータ１２４は、コントローラ１１０でのタッチ入力の場所を示す。タッチデータ１２４はまた、ユーザの指とコントローラ１１０との間の静電容量値を測定することによって、コントローラ１１０に対するユーザの手の近接性を示してもよい。例えば、ユーザは、コントローラ１１０の上に自身の指をホバリングさせてもよい。コントローラ１１０は、タッチデータ１２４をリモートコンピューティングリソース（複数可）１１２に送信してもよく、ここで、タッチデータ１２４は、モデル（複数可）１２０に入力される。追加的に、コントローラ１１０のＦＳＲは、タッチ入力に関連付けられた力の量を示す力データ１２６を生成してもよい。コントローラ１１０は、力データ１２６をリモートコンピューティングリソース（複数可）１１２に送信してもよい。
【００３３】
コントローラ（複数可）１１０からタッチデータ１２４および／または力データ１２６を受信すると、プロセッサ（複数可）１１６は、タッチデータ１２４および／または力データ１２６の特性に基づいてモデル（複数可）１２０のうちの１つまたは複数を選択してもよい。例えば、プロセッサ（複数可）１１６は、ユーザ１０４が（力データ１２６を使用して）コントローラ１１０を把持する力の量および／または（タッチデータ１２４を使用して）コントローラ１１０上のユーザ１０４の把持場所に基づいて、手のジェスチャを生成するための特定のモデル（複数可）１２０を選択してもよい。
【００３４】
追加的に、場合によっては、プロセッサ（複数可）１１６は、ユーザの興味、性別、年齢など他のユーザ特性に部分的に基づいて、モデル（複数可）１２０を選択してもよい。例えば、ユーザ１０４がコントローラ１１０をどのように保持するか、かつ／または、コントローラ１１０がどこからタッチ入力を受信するか、に応じて、プロセッサ（複数可）１１６は、ユーザ１０４の年齢および／または手の大きさを識別してもよい。そのような情報を利用して、異なるモデル（複数可）１２０を選択し、かつ／またはユーザ１０４の手を表すアニメーション（複数可）１２８を生成してもよい。
【００３５】
例えば、プロセッサ（複数可）１１６は、タッチデータ１２４をモデル（複数可）１２０に入力してもよい。プロセッサ（複数可）１１６は、モデル（複数可）１２０を使用して、タッチデータ１２４および／または力データ１２６に対応するアニメーション（複数可）１２８を生成してもよい。一例として、タッチデータ１２４および／または力データ１２６を使用し、かつ、タッチデータ１２４および／または力データ１２６をモデル（複数可）１２０に入力することにより、プロセッサ（複数可）１１６は、ユーザが握りこぶしでコントローラ１１０を保持していると判定してもよい。プロセッサ（複数可）１１６は、ユーザ１０４の握りこぶしを図示するアニメーション１２８を生成し、表示のためにアニメーション１２８をＶＲヘッドセット１０８に送信してもよい。
【００３６】
場合によっては、プロセッサ（複数可）１１６は、ランキングを利用して、モデル（複数可）１２０と関連して格納されたプロファイルを利用して、タッチデータ１２４および／または力データ１２６によって表される最も確率的な手のジェスチャを決定してもよい。例えば、プロセッサ（複数可）１１６は、タッチデータ１２４および／または力データ１２６をモデル（複数可）１２０の一部分またはモデル（複数可）１２０のすべてと比較して、特定の手のジェスチャがユーザのタッチ入力に対応する確率を決定してもよい。そのような場合、モデル（複数可）１２０は、コントローラ１１０で受信されたタッチ入力の場所を示すタッチデータ１２４および／またはコントローラ１１０でのタッチ入力の相対的な力を示す力データ１２６と関連して格納されてもよい。そのような場合、タッチデータ１２４および／または力データ１２６は、モデル（複数可）１２０を特徴付けてもよい。したがって、ゲームプレイ中に、リモートコンピューティングリソース（複数可）１１２がタッチデータ１２４および／または力データ１２６を受信したとき、リモートコンピューティングリソース（複数可）１１２は、１つまたは複数のモデル（複数可）１２０を選択して、受信されたタッチデータ１２４および／または力データ１２６を、モデル（複数可）１２０と関連して格納されたタッチデータおよび／または力データとそれぞれ比較することによってアニメーション１２８を生成してもよい。
【００３７】
場合によっては、リモートコンピューティングリソース（複数可）１１２はまた、将来のイベントの予測モデリングを実施してもよい。予測モデリングは、結果が生じるか、または生じないかの確率を決定してもよい。例えば、プロセッサ（複数可）１１６は、メモリ１１８から利用可能なモーションデータ１２２、タッチデータ１２４、および／または力データ１２６を利用して、将来の手のジェスチャの確率を決定してもよい。一例として、第１のタッチデータ１２４および／または第１の力データ１２６を受信し、タッチデータ１２４および／または力データ１２６をモデル（複数可）１２０に入力して第１の手のジェスチャを決定した後、プロセッサ（複数可）１１６は、次に来る第２の手のジェスチャを予測し、ＶＲヘッドセット１０８上に表示するための第２の手のジェスチャを生成してもよい。すなわち、プロセッサ（複数可）１１６は、以前のモーションデータ１２２、タッチデータ１２４、および／または力データ１２６を利用して、ユーザ１０４の将来の手のジェスチャを予測し、対応するアニメーション（複数可）１２８を生成してもよい。場合によっては、予測は、ＶＲヘッドセット１０８上に表示されている、リモートコンピューティングリソース（複数可）１１２によって生成されたジェスチャ間の呼出時間を短縮してもよい。
【００３８】
追加的に、プロセッサ（複数可）１１６は、予測されたジェスチャに関連する特定の確率および／または信頼度を決定してもよい。例えば、予測された第２の手のジェスチャが特定の信頼水準またはしきい値内にある場合、プロセッサ（複数可）１１６は、第２の手のジェスチャに対応するアニメーション（複数可）１２８を生成し、表示のためにそのジェスチャをＶＲヘッドセット１０８に提供してもよい。
【００３９】
場合によっては、統計分析技術などの検証演算により、モデル（複数可）１２０の精度を検証してもよい。すなわち、上記のように、モーションデータ１２２、タッチデータ１２４、および／または力データ１２６を反復的にキャプチャすることによって、プロセッサ（複数可）１１６は、モデル（複数可）１２０を訓練して、タッチデータ１２４および／または力データ１２６を、モーションデータ１２２（例えば、機械学習アルゴリズムまたは技術）内に表される手のジェスチャとより良好に相関させてもよい。モデル（複数可）１２０を訓練することにより、表示されたアニメーション（複数可）１２８が、コントローラ１１０で受信されたタッチデータ１２４および／または力データ１２６を表す精度を高めてもよい。
【００４０】
プロセッサ（複数可）１１６はまた、異なるタイプのユーザとの対話に基づいて、モデル（複数可）１２０を学習する構成要素を含んでもよい。例えば、プロセッサ（複数可）１１６は、モデル（複数可）１２０を構築および／または改良してもよく、または既存のモデル（複数可）１２０の組み合わせおよび／または混合を学習してもよい。本明細書に記載のモデル生成技術はまた、モデル（複数可）１２０を訓練するための勾配押上技術および／またはハイパーパラメータ調整のうちの少なくとも１つを含んでもよい。勾配押上は、例えば、決定木であってもよい弱い予測モデルの連携の形で予測モデルを生成することを含んでもよい。予測モデルは、段階的に構築されてもよく、任意の微分損失関数の最適化を可能にしてもよい。ハイパーパラメータ調整には、訓練プロセス中のハイパーパラメータの最適化を含んでもよい。例えば、モデル１２０は、訓練データセットを受信してもよい。モデル１２０の総精度を評価する際に、ハイパーパラメータを調整してもよい。
【００４１】
追加的に、または代替的に、モデル（複数可）１２０を訓練することには、モデル（複数可）１２０の精度を高める入力特徴および／またはモデル（複数可）１２０の精度を低下させるか、あるいはモデル（複数可）１２０にまったくまたはほとんど影響を及ぼさない他の入力特徴を識別することを含んでもよい。モデル（複数可）１２０は、精度を低下させるか、または精度にまったくまたはほとんど影響を及ぼさない特徴を利用することを控えながら、精度を高める特徴を利用するように再適合されてもよい。
【００４２】
本明細書で使用される場合、プロセッサ（複数可）１１６などのプロセッサは、複数のプロセッサおよび／複数のコアを有するプロセッサを含んでもよい。さらに、プロセッサは、異なるタイプの１つまたは複数のコアを含んでもよい。例えば、プロセッサは、アプリケーションプロセッサユニット、グラフィック処理ユニットなどを含んでもよい。一実装形態では、プロセッサは、マイクロコントローラおよび／またはマイクロプロセッサを含んでもよい。プロセッサ（複数可）１１６は、グラフィック処理ユニット（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、ＧＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ、または当該技術分野で知られている他の処理ユニットもしくは構成要素を含んでもよい。代替的に、または追加的に、本明細書で機能的に説明される機能は、少なくとも部分的に、１つまたは複数のハードウェアロジック構成要素によって実施され得る。例えば、限定されるものではないが、使用できるハードウェア論理構成要素の実例となるタイプとしては、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）、特定用途用標準品（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｓｔａｎｄａｒｄ  ｐｒｏｄｕｃｔ、ＡＳＳＰ）、システム・オン・チップシステム（ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ  ｓｙｓｔｅｍ、ＳＯＣ）、複合プログラマブル論理装置（ｃｏｍｐｌｅｘ  ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ、ＣＰＬＤ）などが挙げられてもよい。追加的に、各プロセッサ（複数可）１１６は、プログラム構成要素、プログラムデータ、および／または１つまたは複数のオペレーティングシステムを記憶することもできる独自のローカルメモリを所持してもよい。
【００４３】
メモリ１１８は、コンピュータ可読命令、データ構造、プログラム構成要素、または他のデータなどの情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性メモリ、取り外し可能媒体および取り外し不可能媒体を含んでもよい。そのようなメモリ１１８としては、これらに限定されるものではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ、ＤＶＤ）またはその他の光メモリ、磁気カセット、磁気テープ、磁気ディスクメモリまたはその他の磁気記憶装置、ＲＡＩＤ記憶システム、あるいは所望の情報を記憶するために使用され得、かつ、コンピューティング装置によってアクセスされ得る任意の他の媒体が挙げられてもよい。メモリ１１８は、コンピュータ可読記憶媒体（ｃｏｍｐｕｔｅｒ−ｒｅａｄａｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉａ、「ＣＲＳＭ」）として実装されてもよく、これは、メモリ１１８に記憶された命令を実行するためにプロセッサ（複数可）１１６によってアクセス可能な任意の利用可能な物理媒体であってもよい。１つの基本的な実装では、ＣＲＳＭには、ランダムアクセスメモリ（「ＲＡＭ」）およびフラッシュメモリを含んでもよい。他の実装では、ＣＲＳＭには、これらに限定されるものではないが、読み取り専用メモリ（「ＲＯＭ」）、電気的消去再書込み可能な読出し専用メモリ（「ＥＥＰＲＯＭ」）、または所望の情報を記憶するために使用され得、かつ、プロセッサ（複数可）によってアクセスされ得る任意の他の有形媒体を含んでもよい。
【００４４】
実例となるコントローラ
図２は、コントローラ１１０を保持しているユーザ１０４を示す（これは、図１のコントローラ１１０を表し、かつ／またはそれと同様であってもよい）。コントローラ１１０は、ハンドル、ストラップ、把持部など、コントローラ１１０の任意の部分に結合および／または装着してもよいマーカ２００を備えてもよい。同様に、ユーザ１０４の一部分には、指先、指関節、指関節、手首など、ユーザ１０４の手におよび／またはそれに沿って装着するマーカ２０２を含んでもよい。場合によっては、マーカ２００、２０２は、粘着剤を使用して、それぞれ、ユーザ１０４および／またはコントローラ１１０に装着してもよい。
【００４５】
マーカ２００、２０２は、モーションキャプチャシステム（複数可）１０２のプロジェクタ（複数可）によって放出された電磁放射（例えば、赤外線）に応答する赤外線要素、反射器、および／または画像を含んでもよい。追加的に、または代替的に、マーカ２００、２０２は、モーションキャプチャシステム（複数可）１０２のカメラによってキャプチャされた電磁放射（例えば、赤外線）を放出する追跡ビーコンを含んでもよい。
【００４６】
上記のように、モーションキャプチャシステム（複数可）１０２は、環境１００などの環境の少なくとも一部分、および環境内部に含まれる物体をスキャンして、マーカ２００、２０２を検出してもよい。例えば、プロジェクタ（複数可）は、赤外線をユーザ１０４およびコントローラ（複数可）１１０に向けて投影し、マーカ２００、２０２は、光を反射し、モーションキャプチャシステム（複数可）１０２のカメラ（複数可）および／またはセンサは、反射光をキャプチャしてもよい。その中で、画像を分析することにより、コントローラ（複数可）１１０および／またはユーザ１０４の手の位置および／または向きを決定してもよい。例えば、リモートコンピューティングリソース（複数可）１１２（または他のコンピューティング装置）は、カメラによってキャプチャされた画像を分析および解析し、環境１００内のマーカ２００、２０２の位置を識別してもよい。リモートコンピューティングリソース（複数可）１１２は、マーカ２００、２０２の位置を使用して、ユーザ１０４が行ったジェスチャ、手の位置、指の位置など（すなわち、どの指が伸張され、どの指が丸くなっているかなど）を決定してもよい。追加的に、モーションキャプチャシステム（複数可）１０２（または他のコンピューティングシステム）は、マーカ２００、２０２の場所／パターンに関する情報を利用して、手、または手のジェスチャ（例えば、握りこぶし）を表す骨格モデル（例えば、アニメーション化された３Ｄ骨格モデル）を生成してもよい。
【００４７】
図３〜図７は、本開示の例示的な実施形態による、例示的なコントローラ３００（図１および図２のコントローラ１１０を表し、かつ／またはそれと同様であってもよい）を示す。場合によっては、ＶＲビデオゲームシステム、ロボット、武器、または医療装置などの電子システムは、コントローラ３００を利用してもよい。コントローラ３００は、ハンドル３１２を有するコントローラ本体３１０、およびユーザの手（例えば、ユーザの左手）にコントローラ３００を保持するための手の保持部３２０を含んでもよい。場合によっては、ハンドル３１２は、実質的に円筒形の管状ハウジングを備えてもよい。この文脈において、実質的に円筒形の形状は、一定の直径、または完全に円形の断面を有する必要はない。
【００４８】
コントローラ本体３１０は、（ハンドル３１２と遠位端３１１との間に）ヘッドを備えてもよく、このヘッドは、任意に、１つまたは複数の親指操作式の制御部３１４、３１５、３１６を備えてもよい。例えば、ヘッドは、通常の操作中、およびコントローラ３００がユーザの手に保持されている間、ユーザの親指によって便利に操作される親指操作式の制御部と見なされる、傾斜ボタン、または任意の他のボタン、ノブ、ホイール、ジョイスティック、あるいはトラックボールを備えてもよい。
【００４９】
場合によっては、コントローラ３００は、コントローラ本体３１０に固定された追跡部材３３０を備え、２つの鼻部３３２、３３４を備えてもよく、各鼻部は、追跡部材３３０の２つの対向する遠位端のうちの対応する１つから突出している。場合によっては、追跡部材３３０は、弓形を有する追跡弧形を含んでもよい。場合によっては、追跡部材３３０は、内部に／その上に配置された複数の追跡変換器（図２のマーカ２００、２０２を表し、かつ／またはそれらと同様であってもよい）を含んでもよい。場合によっては、各突出する鼻部３３２、３３４は、少なくとも１つの追跡変換器を含んでもよい。追加的に、または代替的に、コントローラ本体３１０は、追跡変換器を含んでもよく、少なくとも１つの遠位追跡変換器が遠位端３１１に隣接して配置される。追跡センサを含んでもよい追跡変換器は、モーションキャプチャシステム（複数可）１０２によって放出された電磁放射（例えば、赤外線）に応答してもよい。追加的に、または代替的に、追跡変換器は、モーションキャプチャシステム（複数可）１０２のカメラによって受信された電磁放射（例えば、赤外線）を放出する追跡ビーコンを含んでもよい。例えば、モーションキャプチャシステム（複数可）１０２のプロジェクタは、パルス状の赤外線をコントローラ３００に向けて広く散布してもよい。ここで、追跡部材３３０の複数の追跡変換器は、散布されたパルス状の赤外線を受信または追尾する赤外線センサを備えてもよい。場合によっては、各鼻部３３２、３３４の追跡変換器（例えば、各鼻部の３つのセンサ）は、露出（すなわち、ユーザの手の周りに）を増加させるために、プロジェクタによって放出された電磁放射を受信するために、または電磁放射をカメラに送信するために、許容できない量の追尾なしで、より多くの角度で追跡部材３３０の各遠位端でユーザの手に張り出してもよい。
【００５０】
追跡部材３３０および／またはコントローラ本体３１０の材料は、互いに対して感知できるほどに並進または回転しないように互いに強固に固定されている、硬質プラスチックなどの実質的に剛性の材料を含んでもよい。例えば、図３〜図７に示すように、追跡部材３３０は、２つの場所でコントローラ本体３１０に結合されてもよい。手の保持部３２０は、２つの場所間でハンドル３１２の外面に対してユーザの手のひらを付勢するために、これらの２つの場所に隣接するコントローラ３００（例えば、コントローラ本体３１０および／または追跡部材３３０）に装着されてもよい。
【００５１】
特定の実施形態では、追跡部材３３０およびコントローラ本体３１０は、一緒に組み立てられるのではなく、材料の連続性を有する一体型のモノリシック構成要素を備えてもよい。例えば、単一の射出成形プロセスにより、追跡部材３３０とコントローラ本体３１０とを一緒に成形してもよく、その結果、追跡部材３３０およびコントローラ本体３１０の両方を備える１つの一体型の硬質プラスチック構成要素が得られる。代替的に、追跡部材３３０およびコントローラ本体３１０は、後で一緒に組み立てられる、別々に製作された部品を備えてもよい。いずれの場合においても、追跡部材３３０は、コントローラ本体３１０に固定されてもよい。
【００５２】
手の保持部３２０は、図３の開位置に示されている。手の保持部３２０は、ユーザがＶＲヘッドセット（例えば、ＶＲヘッドセット１０８）によって視野を遮られた状態でコントローラ３００を握持したときに、手の保持部３２０とコントローラ本体３１０との間にユーザの左手の挿入を容易にするために、任意に、湾曲した弾性部材３２２によって開位置に付勢されてもよい。例えば、湾曲した弾性部材３２２は、弾性的に撓む可撓性金属ストリップを備えるか、または実質的に弾性的に撓み得るナイロンなどの代替プラスチック材料を備えてもよい。クッションまたは布材料３２４（例えば、ネオプレンシース）は、ユーザに快適さを提供するために、湾曲した弾性部材３２２を部分的に、または完全に覆ってもよい。代替的は、布材料３２４は、ユーザの手に面する側など、湾曲した弾性部材３２２の側にのみ付着してもよい。
【００５３】
手の保持部３２０は、例えば、ばね付勢チョック３２８によって締め付けられるドローコード３２６を備えることによって長さを調整してもよい。ドローコード３２６は、首ひもとして使用される余分な長さを有してもよい。クッションまたは布材料３２４は、ドローコード３２６に結合されてもよい。特定の実施形態では、締め付けられたドローコード３２６の張力によって湾曲した弾性部材３２２に予荷重をかけてもよい。そのような実施形態では、湾曲した弾性部材３２２が（開位置に付勢するために）手の保持部３２０に付与する張力は、ドローコード３２６が締め付けられていないときに手の保持部３２０を自動的に開放させてもよい。追加的に、または代替的に、手の保持部３２０の長さは、クリート、（手を挿入したときに一時的に伸び、その結果、弾性張力を加えて手の甲を押す）弾性バンド、長さ調節が可能なフック＆ループストラップ取付など、他の方法で調整してもよい。
【００５４】
手の保持部３２０は、ハンドル３１２と追跡部材３３０との間に配置され、ユーザの手の甲に接触してもよい。例えば、図４は、ユーザの左手が中に挿入されているが、コントローラ本体３１０を握持していない、操作中のコントローラ３００を示す。図４では、手の保持部３２０が閉じられ、手の上で締められて、ハンドル３１２の外面に対してユーザの手のひらを物理的に付勢する。手の保持部３２０が閉じられたとき、ユーザがコントローラ本体３１０を握持していない場合でさえ、ユーザの手内にコントローラ３００を保持してもよい。
【００５５】
コントローラ本体３１０のハンドル３１２は、その外面の周りに部分的に、または完全に空間的に分散された近接センサのアレイを備える。場合によっては、近接センサのアレイの近接センサは、必ずしも等しい大きさである必要はなく、それらの間の間隔が必ずしも等しい必要はない。場合によっては、近接センサのアレイは、コントローラ本体３１０の周りに空間的に分散されたグリッドを含んでもよい。近接センサのアレイは、ハンドル３１２の外面に対するユーザの指（複数可）の近接性に応答する。例えば、近接センサのアレイは、ハンドル３１２の外面の下に埋め込まれた静電容量センサのアレイを含んでもよく、ここで、外面は、ユーザからのタッチを感知するための電気絶縁性材料を備える。静電容量センサのアレイとユーザの手の一部分との間の静電容量は、それらの間の距離に反比例するように関連してもよい。静電容量を感知するために、ＲＣ発振回路は、静電容量センサのアレイの素子に接続してもよく、ＲＣ発振回路の時定数、したがって、発振の周期および周波数は、静電容量に応じて変化することに注意されたい。このようにして、回路は、ハンドル３１２の外面からの指（複数可）の解放を検出してもよい。上記のように、近接センサのアレイは、ユーザからのタッチ入力に応答してタッチデータ（例えば、タッチデータ１２４）を生成してもよく、タッチデータは、ハンドル３１２の外面に対するユーザの指（複数可）の近接性を示す。
【００５６】
手の保持部３２０は、ユーザの手の周りでしっかりと閉じているとき、コントローラ３００が手から落ちて、指がハンドル３１２上の近接センサのアレイに対して過度に平行移動するのを防止してもよく、それにより、指のモーションおよび位置を確実に感知する。追加的に、モーションキャプチャシステム（複数可）１０２および／またはリモートコンピューティングリソース（複数可）１１２は、近接センサの配列からのタッチデータ１２４をより良好に使用して、制御されたキャラクタの手の開き、指差し、またはコントローラ３００に対する、または互いに対する指の他の動き（例えば、手のジェスチャ）をレンダリングするために、解剖学的に可能な指の動きを具現化したアルゴリズムを含んでもよい。このように、コントローラ３００のユーザの動きおよび／または指は、ＶＲゲームシステム、防衛システム、医療システム、産業用ロボットまたは機械、あるいは別の装置を制御するのに役立ち得る。（例えば、ゲーム、訓練などのための）ＶＲシステムアプリケーションでは、システムは、追跡変換器の動きに基づいてスローイングモーションをレンダリングし、コントローラ３００のハンドル３１２の外面から（例えば、タッチデータ１２４を使用して）ユーザの指の解放の感知に基づいて、投げられた物体の解放をレンダリングしてもよい。
【００５７】
したがって、手の保持部３２０は、ユーザが、コントローラ３００を実際に手から離すか、または床に投げる、かつ／または落とすことなく、コントローラ３００を「手放す」ことを可能にし、これにより、制御された電子システムの追加機能を有効にしてもよい。例えば、コントローラ本体３１０のハンドル３１２のユーザの握持の解放および／または回復を感知することは、ゲームプレイ内の物体の対応する投げおよび／または握持を示してもよい。したがって、手の保持部３２０は、そのようなアニメーションの間、ユーザの手を安全に固定および保持してもよい。場合によっては、図３〜図７の実施形態における手の保持部３２０の場所は、例えば、ユーザがＶＲ環境で感知されたプロンプトに応答して移動するとき（例えば、ＶＲヘッドセット１０８によって実質的に目が見えない状態にある間）、追跡部材３３０が実世界での衝撃からユーザの手の甲を保護するのに役立ち得る。
【００５８】
本明細書で論じられるように、コントローラ３００は、ユーザからのタッチに関連付けられた力の値（例えば、力データ１２６）を検出するためのＦＳＲを備えてもよい。力データ１２６は、ＶＲ環境でのユーザの動きおよび／または把持を示すために、タッチデータ１２４と連携して利用されてもよい。
【００５９】
特定の実施形態では、コントローラ３００は、コントローラ本体３１０内に配置された再充電式電池を含んでもよく、かつ／または手の保持部３２０（例えば、手の保持ストラップ）は、再充電式電池に電気的に結合された導電性充電ワイヤを含んでもよい。コントローラ３００はまた、好ましくは、モーションキャプチャシステム（複数可）１０２の残りの部分と通信するための無線周波数（ＲＦ）送信機も備えてもよい。再充電式電池は、ＲＦ送信機に電力を供給してもよく、親指操作式の制御部３１４、３１５、３１６、コントローラ本体３１０のハンドル３１２内の近接センサのアレイ、および／または追跡部材３３０内の追跡センサに応答してもよい。
【００６０】
図５および図６は、手の保持部３２０が閉じているとき、および手がコントローラ本体３１０を握持しているときの操作中のコントローラ３００を示す。図５および図６はまた、親指が親指操作式の制御部のうちの１つまたは複数（例えば、トラックパッド３１６）を操作し得ることを示す。
【００６１】
図７は、特定の実施形態では、コントローラ３００が、一対のコントローラ内の左側コントローラを備え、同様に右側コントローラ７００を備えてもよいことを示す。特定の実施形態では、コントローラ３００、７００は、それぞれ近接センサのアレイおよびＦＳＲから、同時にユーザの両手から、タッチデータ１２４および／または力データ１２６を個々に生成してもよい。集合的に、リモートコンピューティングリソース（複数可）１１２は、（モーションキャプチャシステム（複数可）１０２のカメラ（複数可）からの）モーションデータ１２２、ならびに（コントローラ３００、７００からの）タッチデータ１２４および／または力データ１２６を受信して、ＶＲ体験を強化してもよい。
【００６２】
図８Ａおよび図８Ｂは、本開示の別の例示的な実施形態による、右側コントローラ８００の正面図、右側コントローラ８００の背面図をそれぞれ示す。場合によっては、右側コントローラ８００は、図１のコントローラ（複数可）１１０および／または図３〜図７のコントローラ３００に関して上で論じられた構成要素を含んでもよい。
【００６３】
コントローラ８００は、ヘッド８１０およびハンドル８１２を備えるコントローラ本体を備えてもよい。図８Ａおよび図８Ｂの実施形態では、ヘッド８１０は、少なくとも１つの親指操作式の制御部Ａ、Ｂ、８０８を備え、また人差し指によって操作可能な制御部（例えば、トリガ８０９）を備えてもよい。場合によっては、ハンドル８１２は、外殻８４０によって部分的に覆われた管状ハウジングを備えてもよい。
【００６４】
外殻８４０の内面は、空間的に分散された近接センサのアレイを含んでもよい。近接センサのアレイは、外殻８４０に対するユーザの指の近接性に応答してもよい。近接センサのアレイの近接センサは、必ずしも等しい大きさである必要はなく、また、それらは、必ずしも互いに規則的または等しく間隔をあける必要もない。特定の実施形態では、近接センサのアレイは、外殻８４０の内面に結合されたフレックス回路に接続され得る複数の静電容量センサであってもよい。
【００６５】
追跡部材８３０は、ヘッド８１０およびハンドル８１２の端部でコントローラ本体に固定されてもよい。手の保持部８２０は、ヘッド８１０とハンドル８１２の端部との間の外殻８４０に対してユーザの手のひらを物理的に付勢するように構成されている。手の保持部８２０は、好ましくは、ハンドル８１２と追跡部材８３０との間に配置され、長さが調整され、ユーザの手の甲に接触する手の保持ストラップを備えてもよい。図８Ａおよび図８Ｂの実施形態では、手の保持部８２０は、（ハンドル８１２の遠位端に隣接する）コードロック８２６によって長さが調整され得るドローコード８２８を備えてもよく、コードロック８２６の場所でドローコード８２８によって滑りモーションを選択的に防止する。
【００６６】
図８Ａおよび図８Ｂの実施形態では、追跡変換器８３２、８３３は、追跡部材８３０上に配置されている。場合によっては、追跡部材８３０の対向する遠位端に突出する鼻部は、追跡変換器８２２、８３３を備えてもよい。場合によっては、ヘッド８１０の遠位領域は、追加の追跡変換器８３４を備えてもよい。追跡変換器８３２、８３３、および８３４は、モーションキャプチャシステム（複数可）１０２によって放出された電磁放射（例えば、赤外線）に応答する追跡センサを備えてもよいか、またはモーションキャプチャシステム（複数可）１０２によって受信された電磁放射（例えば、赤外線）を放出する追跡ビーコンを備えてもよい。例えば、モーションキャプチャシステム（複数可）１０２は、パルス状の赤外線をコントローラ８００に向けて広く散布するプロジェクタ（複数可）を備えてもよい。ここで、複数の追跡変換器８３２、８３３、および８３４は、散布されたパルス状の赤外線を受信する赤外線センサを備えてもよい。モーションキャプチャシステム（複数可）１０２は、追跡センサの応答を受信し、モーションキャプチャシステム（複数可）１０２および／またはリモートコンピューティングリソース（複数可）１１２は、そのような応答を解釈して、コントローラ８００の場所および向きを効果的に追跡してもよい。
【００６７】
プリント回路基板（ｐｒｉｎｔｅｄ  ｃｉｒｃｕｉｔ  ｂｏａｒｄ、ＰＣＢ）は、ハンドル８１２内に取り付けられ、コントローラ８００内の構成要素（例えば、ボタン、電池など）を電気的に接続してもよい。ＰＣＢは、力感知抵抗器（ＦＳＲ）を備え、コントローラ８００は、外殻８４０を介して加えられた圧縮力を、ＦＳＲに対して内向きにハンドルの管状ハウジングの外側に向かって伝達するプランジャを備えてもよい。特定の実施形態では、ＦＳＲは、近接センサのアレイと連携して、ユーザによる握持の開始、およびユーザによるそのような握持の相対強度の両方の感知を容易にしてもよく、これは、特定のゲームプレイ特徴を容易にしてもよい。
【００６８】
実例となる力感知抵抗器（ＦＳＲ）
図９Ａ〜図９Ｃは、本開示の例示的な実施形態による、力感知抵抗器（ＦＳＲ）９００の異なる図を示す。図９ＣのＦＳＲ９００の断面に示すように、ＦＳＲ９００は、場合によってはポリイミドを含み得る第１の基板９０２を含んでもよい。ＦＳＲ９００は、第１の基板９０２上（または上方）に配置された第２の基板９０４をさらに含んでもよい。第１の基板９０２および第２の基板９０４は、ＦＳＲ９００の２つの一次基板（または層）（すなわち、２層のＦＳＲ９００）を含んでもよい。ただし、ＦＳＲ９００には、追加の層が含まれ得ることを理解されたい。場合によっては、第１の基板９０２は、ＦＳＲ９００の２つの一次基板に対して「底部」または「ベース」基板を表してもよいが、場合によっては、第１の基板９０２の後ろ（または下）に（すなわち、図９Ｃに示すように、負のＺ方向に）材料の層があってもよい。
【００６９】
第１の基板９０２は、第１の基板９０２の前面（すなわち、正のＺ方向に面する表面）に配置された導電材料を含む。導電材料は、複数の互いに噛み合った金属指を含んでもよい。一方、第２の基板９０４（抵抗「膜」と呼ばれることもある）は、第２の基板９０４の裏面（すなわち、負のＺ方向に面する表面）上に抵抗材料を備えてもよい。この抵抗材料としては、ある程度の電気抵抗（例えば、平方あたり３００キロオーム（ｋオーム）（ｋオーム／平方）〜４００ｋオーム／平方の範囲内の比較的高いシート抵抗）を示すインク組成物（例えば、銀インク、カーボンインク、それらの混合物など）などの半導体材料が挙げられてもよい。場合によっては、第２の基板９０４のシート抵抗は、３５０ｋオーム／平方である。しかしながら、第２の基板９０４は、ＦＳＲ９００が他のアプリケーション（例えば、非コントローラベースのアプリケーション）で使用されるときなどでは、本明細書で指定されるシート抵抗範囲外の値を含む他のシート抵抗値を含んでもよい。いくつかの実施形態では、第２の基板９０４の材料は、抵抗材料が第２の基板９０４の裏面上に配置されたマイラを含んでもよい。いくつかの実施形態では、第２の基板９０４は、裏面上に抵抗材料（例えば、導電インク組成物）を有するポリイミドで作られたものを含んでもよい。第２の基板９０４にポリイミドを使用することにより、リフロー炉を使用してＦＳＲ９００の大量製造が可能になり得るが、マイラは、そのような高温に耐えられない場合がある。
【００７０】
ＦＳＲ９００は、第１の基板９０２と第２の基板９０４との間に挿入された１つまたは複数のスペーサ層を含んでもよく、その結果、第２の基板９０４の中心部分は、第１の基板９０２の上方に懸架され、そこから一定の距離を空けてもよい。図９Ｃは、これに限定されるものではないが、第１の基板９０２の周辺に第１の基板９０２上に配置されたカバーレイ９０６、およびカバーレイ９０６上に配置された粘着剤層９０８を含む２つのスペーサ層を示す。カバーレイ９０６の材料は、ポリイミドを含んでもよく、したがって、第１の基板９０２と同じ材料を含んでもよい。（Ｚ方向で測定される）カバーレイ９０６の厚さは、１０ミクロン〜１５ミクロンの範囲にあってもよい。（Ｚ方向で測定される）粘着剤層９０８の厚さは、５０ミクロン〜１３０ミクロンの範囲にあってもよい。したがって、第２の基板９０４が第１の基板９０２から離間している総距離は、１つまたは複数のスペーサ層の厚さの合計（例えば、カバーレイ９０６の厚さと粘着剤層９０８厚さとの和）であってもよい。これらの層は、ＦＳＲ９００が非コントローラベースのアプリケーションなどの他のアプリケーションで使用されるときなど、本明細書で指定された厚さの範囲外の厚さを含んでもよい。したがって、これらの厚さの範囲は、非限定的であると理解されるべきである。追加的に、場合によっては、粘着剤層９０８の厚さは、非常に軽く加えられた力Ｆの下で初期応答（例えば、ＦＳＲ９００が入力を検出し始める）を可能にするために、（例えば、指定された厚さの範囲の下端で）可能な限り薄くされる。粘着剤は、材料およびその厚さの両方が、ＦＳＲ９００の剛性を増加または減少させるように変化してもよい。
【００７１】
基板９０４は、力Ｆを第２の基板９０４の前面上に伝達するように構成されたアクチュエータ９１０（ディスク形状のコンプライアントプランジャなど）を含んでもよい。アクチュエータ９１０の材料としては、アクチュエータ９１０に力を加えるとある程度変形するコンプライアント材料であるポロンが挙げられてもよい。アクチュエータ９１０は、加えられた力Ｆを中心に置くために、ＦＳＲ９００の活性領域の中心と同心であってもよい。アクチュエータ９１０はまた、ＦＳＲ９００の活性領域のその部分にわたって、加えられた力Ｆを均等に分配するために、ＦＳＲ９００の活性領域の一部分にまたがってもよい。
【００７２】
（Ｚ方向で測定される）第２の基板９０４の厚さは、５０ミクロン〜１３０ミクロンの範囲を含んでもよい。この例示的な厚さにおいて、第２の基板９０４は、可撓性である。例えば、第２の基板９０４の材料は、上記で指定された範囲内の厚さで可撓性であるマイラを含んでもよい。ＦＳＲ９００の機能的動作は、第２の基板９０４の裏面上の抵抗材料が、アクチュエータ９１０に加えられた圧縮力Ｆの下で第１の基板９０２の前面上の導電材料と接触するために、第２の基板９０４の可撓性に依存する。（Ｚ方向で測定される）第１の基板９０２の厚さは、２０ミクロン〜３０ミクロンの範囲を含んでもよい。この厚さのポリイミドも可撓性がある。したがって、第１の基板９０２もまた可撓性である。一方、（Ｚ方向で測定される）アクチュエータ９１０の厚さは、７８０ミクロン〜８１０ミクロンの範囲にあってもよい。これらの層は、ＦＳＲ９００が他のアプリケーション（例えば、非コントローラベースのアプリケーション）で使用されるときなど、本明細書で指定された厚さの範囲外の厚さを含んでもよい。したがって、これらの厚さの範囲は、非限定的であると理解されるべきである。
【００７３】
ＦＳＲ９００は、アクチュエータ９１０に加えられた可変力Ｆに応答して様々な抵抗を示してもよい。例えば、アクチュエータ９１０に加えられた力Ｆが増加するにつれて、抵抗は減少し得る。このように、ＦＳＲ９００は、加えられた力Ｆによって値が制御される可変抵抗器として表してもよい。ＦＳＲ９００は、「シャントモード」ＦＳＲ９００または「スルーモード」ＦＳＲ９００を含んでもよい。シャントモードＦＳＲ９００では、第１の基板９０２の前面上に配置された導電材料は、複数の互いに噛み合った金属指を含んでもよい。加えられた力Ｆがアクチュエータ９１０の前面（または上部）に加えられたとき、第２の基板９０４の裏面上の抵抗材料は、互いに噛み合った金属指と接触してもよく、互いに噛み合った金属指を入れ替え、これにより、ＦＳＲ９００の出力端子間の抵抗を変化させる。互いに噛み合った金属指の例示的な導電性には、ＨＡ銅またはＲＡ銅などの銅を含んでもよい。互いに噛み合った金属指はまた、金メッキを含んでもよい。
【００７４】
サブトラクティブ製造プロセスでは、複数の互いに噛み合った金属指を形成してもよい。互いに噛み合った金属指間の指幅および間隔は、ＦＳＲ９００の最大感度と製造エッチング公差の最小化との間の最適なバランスを提供してもよい。場合によっては、互いに噛み合った金属指は、均一なパターンまたは不均一なパターン（例えば、中心に向かう、より密度の高い指および外側に向かう、より密度の低い指）を含んでもよい。追加的に、場合によっては、金メッキの前にベース層の銅の上に追加の銅メッキを追加すると、検出された抵抗の望ましくない増加が生じる場合があるため、金メッキの前にベース層の銅の上に追加の銅メッキはなくてもよい。したがって、場合によっては、金メッキの前に互いに噛み合った金属指上に任意の追加の銅メッキを省略しても、ＦＳＲ９００で最適な感度が得られ得る。
【００７５】
スルーモードの実装では、第１の基板９０２上の導電材料は、導電材料上に配置された半導電（または抵抗）材料を備えた導電材料の固体領域を含んでもよい。第２の基板９０４は、同様の構造物（例えば、半導電（または抵抗）材料が配置された導電材料の固体領域）を有してもよい。各基板（９０２および９０４）上の導電材料の固体領域は、個々の出力端子に結合され、２つの基板（９０２および９０４）が、加えられた力Ｆの下で接触するとき、励磁電流が１つの層から他の層に流れてもよい。
【００７６】
これらの実装形態では、ＦＳＲ９００は、底部基板の材料としてマイラを使用するような従来のＦＳＲと比較して、より少ないヒステリシス、および（１つのＦＳＲ９００から別のＦＳＲ９００への）より高い同時再現性を示してもよい。負荷ヒステリシスは、現在のＦＳＲ９００抵抗に対する、予め加えられた力の影響を表す。また、応答曲線は単調であり、真のアナログ入力をモデル化しており、仮想岩を破砕する、仮想風船を圧搾するなど、ＶＲゲームシステムの複数のゲームの仕組みに活用されてもよい。しかしながら、本明細書の例では、加えられた力Ｆを記述しているが、実際には、第２の基板９０４の前面上のより大きな領域に対して小さな点に加えられる等しい量の力は、ＦＳＲ９００の異なる抵抗応答をもたらし得るため、ＦＳＲ９００は、加えられた圧力（力×領域）に敏感である。したがって、アクチュエータ９１０は、加えられた力Ｆの下での応答曲線に関して、ＦＳＲ９００全体の同時再現性を維持する役割を果たしてもよい。
【００７７】
ＦＳＲ９００は、外力（または負荷）がない状態での開回路を含んでもよい。いくつかの実施形態では、ゼロまたは無視できる程度に加えられた力の下で、第１の基板９０２および第２の基板９０４の任意の接触を説明するために、しきい値回路は、第１の基板９０２および第２の基板９０４が「接触している」と見なされるしきい値抵抗値を設定してもよく、これは、２つの一次基板（すなわち、９０２および９０４）が実際に接触している場合であっても、ＦＳＲ９００がしきい値抵抗値が満たされるまで、開回路を表してもよいことを意味する。
【００７８】
ＦＳＲ９００は、本明細書に開示されるコントローラ１１０、３００、および８００などの手持型コントローラ内の構造物の平面上に取り付けてもよい。ＦＳＲ９００は、コントローラ本体の外面に加えられるユーザのタッチ入力に関連付けられた力（例えば、指で制御部を押すことによって加えられる力、コントローラのハンドルを手で強く握ることによって加えられる力）の量に対応する抵抗値を測定するために、コントローラ本体内の任意の適切な場所に取り付けられてもよい。ＦＳＲ９００は、ＰＣＢの平面上に取り付けられてもよく、ＰＣＢ自体は、ハンドルの管状ハウジング内に取り付けてもよい。この構成では、プランジャは、ＦＳＲ９００のアクチュエータ９１０とインターフェースで接続してもよく、これにより、プランジャからアクチュエータ９１０に圧縮力を伝達することを可能にしてもよい。しかしながら、プランジャが省略され、アクチュエータ９１０がハンドルの管状ハウジングの一部分とインターフェースで接続され得る他の構成も可能である。
【００７９】
追加的に、または代替的に、ＦＳＲ９００は、（ハンドルと遠位端との間の）ヘッド内の構造物の平面上に取り付けてもよい。構造物は、親指操作式の制御部のうちの１つまたは複数の下にあるヘッド内に取り付けてもよい。例えば、ＦＳＲ９００は、親指操作式の制御部（例えば、トラックパッド）の下に取り付けてもよい。したがって、コントローラの操作中に、ユーザの親指が親指操作式の制御部を押したとき、親指操作式の制御部の下に位置付けられたＦＳＲ９００は、ユーザの親指によって親指操作式の制御部に加えられる力の量に対応する抵抗値を測定してもよい。場合によっては、コントローラは、ハンドル内に取り付けられた１つまたは複数のＦＳＲ９００、および／またはコントローラ本体のヘッド上の１つまたは複数の対応する制御部の下に取り付けられた１つまたは複数のＦＳＲ９００など、コントローラ本体内に配置された複数のＦＳＲ９００を備えてもよい。
【００８０】
ＦＳＲ９００は、コントローラに実装されたとき、可変アナログ入力を可能にしてもよい。例えば、様々な量の力でハンドルを強く握るか、または親指操作式の制御部に押すことにより、ＦＳＲ９００の抵抗は、加えられた力Ｆに応じて変化してもよい。抵抗は、ゲームの仕組み（例えば、物体を拾うおよび投げること）を制御するためのＦＳＲ入力を表す様々なデジタル化された値に変換されてもよい。
【００８１】
ＦＳＲ９００は、異なるタッチまたはタッチスタイルを利用してもよい。例えば、「単純しきい値」スタイルは、デジタル化されたＦＳＲ入力値がしきい値を満たしたとき、またはしきい値を超えたとき、ＦＳＲ入力イベントが発生することを意味してもよい。デジタル化されたＦＳＲ入力値は、ＦＳＲ９００によって測定された特定の抵抗値に対応し、ＦＳＲ９００に加えられた特定の力の量に対応しているので、ＦＳＲ９００によって測定された抵抗値がしきい値の抵抗値を満たしたとき、かつ／または加えられた力Ｆが力のしきい値を満たしたとき、ＦＳＲ入力イベントを登録するというこのスタイルの「ソフトプレス」を考えることもできる。例えば、コントローラ（例えば、コントローラ１１０、３００、および／または８００）のハンドルがＦＳＲ９００を含む場合、ハンドルは、力のしきい値量に達するまで強く握られてもよく、それに応答して、ＦＳＲ９００の入力イベントが「ソフトプレス」として登録される。「押さない」ために必要な力は、デバウンス目的のために、および／または物理的なスナップ比を有するタクトスイッチを模倣するために、しきい値の一部分であってもよい。「ヘアトリガ」スタイルは、ベースラインしきい値を設定してもよく、ＦＳＲ９００に関連付けられている、デジタル化されたＦＳＲ入力値がベースラインしきい値を満たすか、またはそれを超えると、ビンディングがアクティブになる（すなわち、長押ししたままのボタン作動に類似したＦＳＲ入力イベントが登録される）。その後、力が減少すると、ビンディングが非アクティブになり（すなわち、ユーザがボタンを離したのと同じように、ＦＳＲ入力イベントが「登録解除」される）、ビンディングを非アクティブにした後の力が増加すると、ビンディングが再びアクティブになる。「ヒップファイヤ」スタイルは、「ヒップファイヤ」スタイルが時間遅延を利用していることを除けば、ソフトプレスの「単純しきい値」スタイルと同様であってもよく、その結果、複数のレベルのビンディングを有する構成では、より高いしきい値に素早く到達した場合に、時間遅延を使用してより低いＦＳＲ入力値を無視することができる。時間遅延量は、サブスタイル（例えば、アグレッシブ、標準、およびリラックス）によって異なる。
【００８２】
場合によっては、追加のソフトプレスしきい値としては、「ヒップファイヤ」スタイルのソフトプレスのしきい値など、マルチレベルのしきい値が挙げられてもよい。ＦＳＲベースの入力のための異なるスタイルのソフトプレスは、ユーザが様々な力でＦＳＲベースの入力機構を圧搾するか、または押すことによって、複数の異なるゲーム関連のアナログ入力を可能にしてもよい。例えば、ＶＲゲームは、ユーザが、コントローラ本体のハンドルを増大した力で強く握ることによって、岩を破砕するか、または風船を圧搾することを可能にしてもよい。別の例として、シューティングベースのゲームは、ユーザが、親指操作式の制御部を異なるレベルの加えられた力で押すことによって、異なるタイプの武器間を切り替えることを可能にしてもよい。
【００８３】
場合によっては、ユーザは、ＦＳＲベースの入力機構の作動に関連する手の疲労を低減するためにしきい値を調整してもよい。場合によっては、しきい値としては、特定のゲームのデフォルトしきい値（例えば、シューティングゲームのより低いデフォルトしきい値、探索ゲームのより高いデフォルトしきい値）が挙げられてもよい。
【００８４】
実例となる手のジェスチャ
図１０Ａ〜図１０Ｆは、（図１および図２のコントローラ１１０、図３〜図７のコントローラ３００、および／または図８のコントローラ８００を表す、かつ／またはそれらと同様であってもよい）コントローラ１００２を保持しているユーザ１０００の異なる変形例を示す。一般に、上記の開示に沿って、コントローラ１００２上のユーザ１０００のタッチ入力の場所および力を感知することにより（例えば、近接センサおよび／またはＦＳＲ９００のアレイを使用して）、リモートコンピューティングリソース（複数可）１１２は、ＶＲヘッドセット１０８上に表示するためのアニメーション（例えば、アニメーション１２８）を生成してもよい。アニメーションは、図１０Ａ〜図１０Ｆに示す手のジェスチャにそれぞれ似ていてもよい。すなわち、予め訓練されたモデル（複数可）１２０を使用して、リモートコンピューティングリソース（複数可）１１２は、コントローラ（複数可）１００２から受信されたタッチデータ１２４および／または力データ１２６に基づいて、手の画像を生成してもよい。
【００８５】
図１０Ａから始めると、ユーザ１０００は、把持を開いた状態でコントローラ１００２を保持していることが示されている。ユーザ１０００の指および親指は、コントローラ１００２に接触していないが、代わりに、コントローラ１００２は、ユーザ１０００の手のひらに接触してもよい。コントローラ１００２は、この接触を検出し、タッチデータ１２４および／または力データ１２６を生成し、タッチデータ１２４および／または力データ１２６をリモートコンピューティングリソース（複数可）１１２に送信してもよい。ここで、タッチデータ１２４は、ユーザ１０００の手のひらがコントローラ１００２に触れていることを表すか、または示してもよい。ユーザ１０００は、図１０Ａでコントローラ１００２を自身の指で把持しないので、力データ１２６は、ユーザ１０００の手のひらがコントローラ１００２に対して付勢されている力のレベルを示してもよい。場合によっては、ユーザ１０００は、コントローラ１００２を把持していないので、コントローラ１００２は、ハンドル３１２の外面に対するユーザの指（複数可）の近接性を示すタッチデータ１２４のみを生成してもよい。
【００８６】
リモートコンピューティングリソース（複数可）は、タッチデータ１２４および／または力データ１２６をモデル（複数可）１２０に入力し、モデル（複数可）１２０は、開いた手のジェスチャに対応する手の画像データ（例えば、アニメーション１２８）を生成してもよい。場合によっては、リモートコンピューティングリソース（複数可）１１２は、タッチデータ１２４および／または力データ１２６を入力するために、指定されたモデル（複数可）１２０を選択してもよい。場合によっては、ゲームプレイでは、開いた手のジェスチャは、物体を拾う、物体を落とすなどを表してもよい。
【００８７】
図１０Ｂは、４本の指すべておよび親指でコントローラ１００２を保持しているユーザ１０００を示す。ここで、コントローラ１００２の近接センサのアレイによって生成されたタッチデータ１２４は、ユーザ１０００の握持を示してもよい。ＦＳＲ（例えば、ＦＳＲ９００）によって生成された力データ１２６は、ユーザ１０００がコントローラ１００２を握持する力を示してもよい。コントローラ１００２は、タッチデータ１２４および／または力データ１２６をリモートコンピューティングリソース（複数可）１１２に送信してもよく、リモートコンピューティングリソース（複数可）１１２は、タッチデータ１２４および／または力データ１２６に対応するモデル（複数可）１２０を選択してもよい。モデル（複数可）１２０に対応するアニメーション１２８は、閉じた握りこぶしジェスチャ、掴みジェスチャなどを表す手のジェスチャを生成してもよい。
【００８８】
図１０Ｃは、親指以外の４本の指すべてでコントローラ１００２を保持しているユーザ１０００を示す。この例では、リモートコンピューティングリソース（複数可）１１２は、タッチデータ１２４および／または力データ１２６を利用して、関連するモデル（複数可）１２０を決定してもよく、このモデル（複数可）１２０は、ユーザ１０００が親指以外の４本の指すべてで物体を保持していることを示す。モデル（複数可）１２０は、コントローラ１００２上のタッチのこの構成（例えば、親指を立てる、トリガアクチュエータなど）を表す、ＶＲヘッドセット１０８上に表示するためのアニメーション１２８を生成してもよい。
【００８９】
図１０Ｄは、中指および薬指でコントローラ１００２を保持しているユーザ１０００を示す。ここで、タッチデータ１２４は、中指および薬指のタッチを示してもよい。タッチデータ１２４はまた、コントローラ１００２のハンドルの外面に対する、（コントローラ１００２に接触していない）人差し指および小指の近接性を示してもよい。力データ１２６は、ユーザ１０００の中指および／または薬指の把持に関連付けられた力の値を示してもよい。モデル（複数可）１２０は、中指および薬指のタッチ、ならびにそれらに関連する力の値に従って、関連するアニメーション１２８を生成してもよい。
【００９０】
図１０Ｅは、薬指および小指でコントローラ１００２を保持しているユーザ１０００を示す。リモートコンピューティングリソース（複数可）１１２は、薬指および小指のタッチおよび／または人差し指および／または中指のタッチの欠如に関連付けられたタッチデータ１２４を利用して、関連するモデル（複数可）１２０、対応するアニメーション１２８を選択し、ＶＲヘッドセット１０８上に表示するための手のジェスチャを生成してもよい。リモートコンピューティングリソース（複数可）１１２はまた、モデル（複数可）１２０を選択し、手のジェスチャを生成する際に、ＦＳＲから生成された力データ１２６を利用してもよい。
【００９１】
図１０Ｆは、人差し指、中指、および小指でコントローラ１００２を保持しているユーザを示している。リモートコンピューティングリソース（複数可）１１２は、タッチデータ１２４および／または力データ１２６を利用して、武器を発射するユーザ１０００などの、ＶＲヘッドセット１０８上で関連する手のジェスチャを生成する。
【００９２】
図１０Ａ〜図１０Ｆは、関連する手のジェスチャを生成するためにコントローラ１００２に触れているユーザ１０００の指と親指の特定の組み合わせを示しているが、他の組み合わせも可能である。そのような状況では、コントローラ１００２は、近接センサのアレイを使用してタッチ入力に関連付けられた場所、ならびにＦＳＲ９００を使用してユーザ１０００のタッチ入力に関連付けられた力を検出してもよい。コントローラ１００２は、タッチデータ１２４および／または力データ１２６をリモートコンピューティングリソース（複数可）１１２に送信してもよく、リモートコンピューティングリソース（複数可）１１２は、タッチデータ１２４および／または力データ１２６に対応するモデル（複数可）１２０を選択してもよい。上記のように、モデル（複数可）１２０は、以前のモーションデータ１２２、タッチデータ１２４、および／または力データ１２６を利用して、予め訓練および／または生成されている。したがって、後の事例において、タッチデータ１２４および／または力データ１２６を受信することにより、リモートコンピューティングリソース（複数可）１１２は、タッチデータ１２４および／または力データ１２６を１つまたは複数のモデル（複数可）１２０に関連付けてもよい。モデル（複数可）１２０はアニメーション１２８に関連付けられているので、リモートコンピューティングリソース（複数可）１１２は、１つまたは複数のモデル（複数可）１２０を選択し、対応するアニメーション１２８を生成し、表示のためにアニメーション１２８をＶＲヘッドセット１０８に送信してもよい。
【００９３】
実例となるプロセス
図１１〜図１３は、本出願の実施形態による、様々なプロセスを示す。本明細書で説明されるプロセスは、一連の動作を表す論理フロー図内のブロックの集合として示され、それらのいくつかまたはすべては、ハードウェア、ソフトウェア、またはそれらの組み合わせの中で実施されてもよい。ソフトウェアの文脈では、ブロックは、１つまたは複数のプロセッサによって実行されたとき、列挙された動作を実施するようにプロセッサをプログラムする、１つまたは複数のコンピュータ可読媒体に格納されたコンピュータ実行可能命令を表してもよい。一般に、コンピュータ実行可能命令は、特定の機能を実施するかまたは特定のデータタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。ブロックが記載されている順序は、特に記載されていない限り、限定として解釈されるべきではない。記載されたブロックのうちの任意の数は、プロセス、または代替プロセスを実施するために、任意の順序および／または並列に組み合わせてもよく、すべてのブロックが実行される必要はない。説明のために、プロセスは、本明細書の例で説明されている、例えば、図１〜図１０に関して説明されている環境、アーキテクチャ、およびシステムを参照して説明されているが、プロセスは、多種多様な他の環境、アーキテクチャ、およびシステムで実施されてもよい。
【００９４】
図１１から始まり、ブロック１１０２において、プロセス１１００は、コントローラでのタッチ入力に対応するタッチデータを受信してもよい。タッチデータは、タッチ入力が受信されたコントローラ上の場所（複数可）、および／またはコントローラに対するユーザの指（複数可）の近接性（例えば、近接センサまたは静電容量センサのアレイからの静電容量値）を表してもよい。
【００９５】
ブロック１１０４において、プロセス１１００は、コントローラでのタッチ入力に対応する力データを受信してもよい。力データは、コントローラでのタッチ入力に関連付けられた力の量を表してもよい。場合によっては、力の値が特定の力のしきい値を超えたときに、力データを受信してもよい。
【００９６】
ブロック１１０６において、プロセス１１００は、コントローラを操作するユーザの動きに対応するモーションデータを受信してもよい。モーションデータは、ユーザの指（複数可）および手首（複数可）の動きなど、ユーザの動きを表してもよい。モーションデータはまた、コントローラのモーションを表してもよい。
【００９７】
ブロック１１０８において、プロセス１１００は、タッチデータ、力データ、および／またはモーションデータを使用してモデル（複数可）を訓練してもよい。例えば、モデル（複数可）を訓練するために、プロセス１１００は、タッチデータ、力データ、および／またはモーションデータを、モーションデータによって表されるように、ユーザの動きに対応するように関連付けてもよい。すなわち、プロセス１１００は、タッチデータ、力データ、および／またはモーションデータを使用して、モーションデータから決定されるように、ユーザのタッチの特性を学習し、これらの特性を特定の手のジェスチャに関連付けるために、モデル（複数可）を訓練してもよい。場合によっては、特性には、コントローラ上のタッチ入力（複数可）の場所および力を含んでもよい。場合によっては、タッチデータ、力データ、および／またはモーションデータは、タッチデータ、力データ、および／またはモーションデータがそれぞれキャプチャされたときに対応するタイムスタンプを利用して関連付けられてもよい。プロセス１１００は、タッチデータ、力データ、および／またはモーションデータを時間スケールに重ね合わせることにより、タッチデータおよび／または力データをモーションデータと相関させ、ユーザの手のジェスチャ（複数可）を識別してもよい。モデル（複数可）を訓練する際に、後の事例では、プロセス１１００は、タッチデータおよび／または力データを受信し、（モーションデータを受信せずに）関連するジェスチャを決定してもよい。
【００９８】
プロセス１１００は、ブロック１１０８から、追加のタッチデータ、追加の力データ（例えば、ブロック１１０４）、および／または追加のモーションデータ（例えば、ブロック１１０６）を受信するために、ブロック１１０２にループしてもよい。この追加のデータを利用して、モデル（複数可）をさらに訓練し、これにより、後の事例（例えば、ゲームプレイ中）で受信したタッチデータおよび／または力データに基づいて、より正確な手のジェスチャの決定が可能になる。すなわち、プロセス１１００は、タッチデータ、力データ、および／またはモーションデータを相関させ続け、その結果、プロセス１１００が後続のタッチデータおよび／または力データを受信したとき、プロセス１１００は、（モデル（複数可）を介して）タッチデータおよび／または力データに対応する、関連する手のジェスチャを正確に決定してもよい。ここで、上記のように、タッチデータ、力データ、および／またはモーションデータを相関させることは、タッチデータのタイムスタンプ、力データのタイムスタンプ、および／またはモーションデータのタイムスタンプを照合することを含んでもよい。
【００９９】
ブロック１１１０において、プロセス１１００は、タッチデータを受信してもよい。場合によっては、ブロック１１１０で受信されたタッチデータは、ゲームプレイ中に受信されたタッチデータに対応してもよい。
【０１００】
ブロック１１１２において、プロセス１１００は、力データを受信してもよい。場合によっては、ブロック１１１２で受信された力データは、ゲームプレイ中に受信されたタッチデータに対応してもよい。
【０１０１】
ブロック１１１４において、プロセス１１００は、モデル（複数可）を選択してもよい。場合によっては、モデル（複数可）を選択するために、ブロック１１１０で受信されたタッチデータは、以前に生成されたモデル（複数可）に対応するタッチデータまたはタッチプロファイルと比較されてもよい。追加的に、または代替的に、モデル（複数可）を選択することは、ブロック１１１２で受信された力データを、以前に生成されたモデル（複数可）に対応する力データまたはタッチプロファイルと比較することを含んでもよい。モデル（複数可）のタッチプロファイルは、モデル（複数可）の手のジェスチャを表す力データに関連付けられた力の値、および／またはモデル（複数可）の手のジェスチャを表すタッチデータに関連付けられた場所を含んでもよい。例として、タッチデータは、中指および／または人差し指がコントローラに接触するなど、コントローラの中心でのタッチ入力を示してもよい（例えば、図１０Ｄ）。場合によっては、タッチデータは、タッチ入力をユーザの特定の指に関連付け、かつ／またはそれらの指がコントローラに触れていないことを示してもよい。タッチデータおよび／または力データを使用して、対応するモデルを選択してもよい。
【０１０２】
ブロック１１１６において、プロセス１１００は、タッチデータおよび／または力データをモデル（複数可）に入力してもよい。より具体的には、モデル（複数可）は、タッチデータおよび／または力データをモーションデータおよび対応する手のジェスチャに関連付けるように予め訓練されているので、訓練されると、モデル（複数可）は、タッチデータおよび／または力を受信し、手のジェスチャを決定してもよい。言い換えれば、タッチデータは、どの指がコントローラを握持するか、またはどの指がコントローラを握持しないか、ならびにタッチに対応するコントローラ上の場所、またはその欠如を示してもよい。したがって、モデル（複数可）が訓練された後、モデル（複数可）は、ゲームプレイ中に受信されたユーザからのタッチを表すタッチデータおよび／または力データを受け入れてもよい。
【０１０３】
ブロック１１１８において、プロセス１１００は、タッチデータおよび／または力データに対応する画像データを生成してもよい。例えば、タッチデータおよび／または力データをモデル（複数可）に入力した後、プロセス１１００は、タッチデータおよび／または力を使用して、手のジェスチャを生成してもよい。
【０１０４】
ブロック１１２０において、プロセス１１００は、画像データをディスプレイ上に提示してもよい。プロセス１１００では、ディスプレイ上への手のジェスチャの表現は、コントローラと対話するユーザの手のジェスチャに対応してもよい。さらに、タッチデータの受信と画像データの提示との間の呼出時間を短縮するために、プロセスは、ブロック１１１０〜１１２０をリアルタイムで、かつ／または互いに実質的に同時に実施してもよい。
【０１０５】
ブロック１１２０から、プロセス１１００はブロック１１１０にループしてもよい。その中で、プロセス１１００は、ブロック１１１０と１１２０との間で繰り返されて、タッチデータおよび／または力データを連続的に受信し、ユーザからのタッチ入力に対応するアニメーションを生成してもよい。そうすることで、ユーザがゲームをプレイするときに、コントローラから受信したタッチデータおよび／または力データは、ゲームのレベル、シーン、フレームなどに応じて変化してもよい。タッチデータおよび／または力データをモデル（複数可）に連続的に入力することにより、プロセス１１００は、対応するモデル（複数可）を選択し、表示するために手のジェスチャを連続的に生成してもよい。
【０１０６】
前述したように、場合によっては、ブロック１１０２とブロック１１０８との間のプロセス１１００は、ユーザがゲームプレイモードでプレイしておらず、モデル（複数可）が訓練されている時間の第１の事例中に生じてもよい。例えば、モデル（複数可）の訓練（または生成）は、（モーションキャプチャシステム（複数可）１０２からキャプチャされた）モーションデータ、タッチデータ、および／または力データがキャプチャされ、タッチデータおよび／または力データを特定の手のジェスチャに関連付けるために互いに相関させる施設で生じてもよい。そして後の事例では、モデル（複数可）が訓練された後、ブロック１１１０とブロック１１２０との間のプロセス１１００は、ユーザがゲームプレイモードにある間に生じてもよい。
【０１０７】
図１２に示すように、ブロック１２０２において、プロセス１２００は、コントローラでのタッチ入力に対応するタッチデータを受信してもよい。例えば、リモートコンピューティングリソース（複数可）１１２は、コントローラ（例えば、コントローラ１１０、３００、および／または８００）から、タッチデータ１２４を受信してもよい。タッチデータ１２４は、ユーザのタッチ入力（複数可）に対応するコントローラ上の場所（複数可）を表してもよい。一例として、タッチデータ１２４は、ユーザの４本の指すべてがコントローラに触れていること、触れている場所（複数可）、または場合によっては、どの指がコントローラに触れていないか、かつ／またはコントローラのどの領域がタッチ入力を受信していないかを示してもよい。
【０１０８】
ブロック１２０４において、プロセス１２００は、コントローラでのタッチ入力に対応する力データを受信してもよい。例えば、リモートコンピューティングリソース（複数可）１１２は、コントローラ（例えば、コントローラ１１０、３００、および／または８００）から力データ１２６を受信してもよい。力データ１２６は、コントローラでのタッチ入力に関連付けられた力の量、またはコントローラ上のユーザの把持に関連付けられた相対的な強さを表してもよい。事例では、ユーザがコントローラを把持していない場合（例えば、図１０Ａに示すように）、リモートコンピューティングリソース（複数可）１１２は、コントローラから力データ１２６を受信しない可能性がある。
【０１０９】
ブロック１２０６において、プロセス１２００は、コントローラを操作するユーザの動きに対応するモーションデータを受信してもよい。例えば、リモートコンピューティングリソース（複数可）１１２は、モーションキャプチャシステム（複数可）１０２からモーションデータ１２２を受信してもよい。モーションデータ１２２は、マーカ２００、２０２を使用して、ユーザの動きおよび／またはコントローラの動きを表してもよい。上記のように、モーションキャプチャシステム（複数可）１０２のプロジェクタ（複数可）は、ユーザおよび／またはコントローラ上に配置されたマーカ２００、２０２上に光を投影してもよい。マーカ２００、２０２は、この光を反射してもよく、次いで、この光は、モーションキャプチャシステム（複数可）１０２のカメラによってキャプチャされる。
【０１１０】
ブロック１２０８において、プロセス１２００は、タッチデータ、力データ、および／またはモーションデータを使用してモデル（複数可）を訓練してもよい。例えば、リモートコンピューティングリソース（複数可）１１２は、モーションデータ１２２、タッチデータ１２４、および／または力データ１２６を使用して、モデル（複数可）１２０を訓練（または生成）してもよい。場合によっては、モデル（複数可）１２０を訓練することは、ユーザの動きに対応するタッチデータ１２４および／または力データ１２６の特性を決定するために、タッチデータ１２４、力データ１２６、および／またはモーションデータ１２２を関連付けることを含んでもよい。そうすることで、リモートコンピューティングリソース（複数可）１１２は、コントローラから受信したタッチデータ１２４に対応する画像データまたはアニメーション（複数可）を生成してもよい。すなわち、タッチデータ１２４、力データ１２６、および／またはモーションデータ１２２を関連付けることにより、後の事例では、タッチデータ１２４および／または力データ１２６を受信すると、リモートコンピューティングリソース（複数可）１１２は、以前のモーションデータ１２２を使用して、タッチデータ１２４および／または力データ１２６をユーザのジェスチャと相関させてもよい。場合によっては、タッチデータ１２４、力データ１２６、および／またはモーションデータ１２２を関連付けることは、タッチデータ１２４のタイムスタンプ、力データ１２６のタイムスタンプ、およびモーションデータ１２２のタイムスタンプを照合することを含んでもよい。そうすることで、リモートコンピューティングリソース（複数可）１１２は、タッチデータ１２４および／または力データ１２６がユーザの手のジェスチャにどのように関連しているかを（例えば、機械学習アルゴリズムを使用して）学習してもよい。
【０１１１】
プロセス１２００は、ブロック１２０８から、追加のタッチデータ１２４、追加の力データ１２６、および／または追加のモーションデータ１２２を受信するために、ブロック１２０２にループしてもよい。例えば、リモートコンピューティングリソース（複数可）１１２は、モデル（複数可）１２０訓練するために、追加のタッチデータ１２４（例えば、ブロック１２０２）、追加の力データ１２６（例えば、ブロック１２０４）、および／または追加のモーションデータ１２２（例えば、ブロック１２０６）を受信してもよい。モデル（複数可）１２０を訓練することにより、ユーザによって実施された手のジェスチャのより正確な決定が可能になり得る。
【０１１２】
図１３に示すように、ブロック１３０２において、プロセス１３００は、タッチデータを受信してもよい。例えば、リモートコンピューティングリソース（複数可）１１２は、コントローラ（例えば、コントローラ１１０、３００、および／または８００）から、タッチデータ１２４を受信してもよい。場合によっては、コントローラの近接センサのアレイが、タッチデータ１２４を生成してもよい。タッチデータ１２４は、コントローラ１１０上のユーザの指または手の配設を示してもよい。
【０１１３】
ブロック１３０４において、プロセス１３００は、力データを受信してもよい。例えば、リモートコンピューティングリソース（複数可）１１２は、コントローラ（例えば、コントローラ１１０、３００、および／または８００）から、力データ１２６を受信してもよい。場合によっては、コントローラのＦＳＲ（例えば、ＦＳＲ９００）は、力データ１２６を生成してもよく、これは、コントローラ上のユーザのタッチに関連付けられた力の量を示してもよい。
【０１１４】
ブロック１３０６において、プロセス１３００は、タッチデータおよび／または力データをモデル（複数可）に入力してもよい。例えば、リモートコンピューティングリソース（複数可）１１２のプロセッサ（複数可）１１６は、タッチデータ１２４および／または力データ１２６をモデル（複数可）１２０に入力してもよい。より具体的には、モデル（複数可）１２０は、タッチデータ１２４および／または力データ１２６をモーションデータ１２２および手のジェスチャに関連付けるように予め訓練されているので、訓練されると、モデル（複数可）１２０は、タッチデータ１２４および／または力データ１２６を受信し、手のジェスチャを決定してもよい。場合によっては、リモートコンピューティングリソース（複数可）１１２は、タッチデータ１２４および／または力データ１２６を、タッチデータ１２４および／または力データ１２６と厳密に一致するか、またはそれらに関連付けられるモデル（複数可）１２０に選択的に入力してもよい。例えば、タッチデータ１２４が、ユーザが４本の指でコントローラ１１０を把持することを示している場合、プロセッサ（複数可）１１６は、４本の指の把持に対応するモデル１２０を選択してもよい。
【０１１５】
ブロック１３０８において、プロセス１３００は、タッチデータおよび／または力データに対応する画像データを生成してもよい。例えば、リモートコンピューティングリソース（複数可）１１２のプロセッサ（複数可）１１６は、モデル（複数可）１２０を使用して、タッチデータ１２４および／または力データ１２６に対応する手のジェスチャを決定してもよい。リモートコンピューティングリソース（複数可）１１２は、手のジェスチャに対応するアニメーション１２８などの画像データを生成してもよい。例えば、モデル（複数可）１２０は、タッチデータ１２４および／または力データ１２６を利用して、手のアニメーション１２８を生成してもよい（例えば、岩を破砕するか、または物体を落とすこと）。
【０１１６】
ブロック１３１０において、プロセス１３００は、画像データをディスプレイ上に提示してもよい。例えば、リモートコンピューティングリソース（複数可）１１２は、画像データをＶＲヘッドセット１０８（または別のコンピューティング装置）に送信してもよく、それにより、ＶＲヘッドセット１０８は、画像データを表示してもよい。ＶＲヘッドセット１０８は、コントローラ（複数可）１１０で受信されたタッチデータ１２４および／または力データ１２６に従って、ディスプレイ上に手のジェスチャを表示してもよい。したがって、ＶＲヘッドセット１０８のディスプレイ上への手のジェスチャの表現は、ユーザがコントローラ（複数可）１１０と対話する手のジェスチャと相関させてもよい。さらに、タッチデータ１２４の受信とＶＲヘッドセット１０８上への画像データの提示との間の呼出時間を短縮するために、プロセス１３００は、ブロック１３０２〜１３１０をリアルタイムで、かつ／または互いに実質的に同時に実施してもよい。追加的に、モデル（複数可）１２０の事前生成は、関連する手のジェスチャを生成するためにタッチデータ１２４および／または力データ１２６を受信するときのより高速な計算を可能にしてもよい。
【０１１７】
プロセス１３００は、ブロック１３１０から、ブロック１３０２にループしてもよく、プロセス１３００は、ブロック１３０２と１３１０の間で繰り返されて、画像データを連続的に生成してもよい。その結果として、ユーザがコントローラ１１０を保持および把持する方法に対応するタッチデータ１２４および／または力データ１２６は、タッチデータ１２４および／または力データ１２６をモデル（複数可）１２０に入力することによって更新されてもよく、プロセス１３００は、ＶＲヘッドセット１０８上に表示するために手のジェスチャを連続的に生成してもよい。
【０１１８】
結論
前述の本発明は、特定の例に関して説明されているが、本発明の範囲は、これらの特定の例に限定されないことを理解されたい。特定の動作要件および環境に適合するように変化する他の修正および変更は、当業者には明らかであるため、本発明は、開示の目的のために選択された例に限定されるものとは見なされず、本発明の真の精神および範囲から逸脱しないすべての変更および修正を対象にする。
【０１１９】
本出願は、特定の構造的特徴および／または方法論的行為を有する実施形態を記載しているが、特許請求の範囲は、記載された特定の特徴または行為に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および行為は、本出願の特許請求の範囲内にあるいくつかの実施形態を単に例示するものである。
【例示の節】
【０１２０】
本開示の実施形態は、以下の節を考慮して説明することができる。
１．１つまたは複数のプロセッサと、
コンピュータ実行可能命令を格納する１つまたは複数の非一時的なコンピュータ可読媒体であって、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
１つまたは複数のセンサを介して、１つまたは複数のコントローラを操作するユーザの手の第１の動きに対応する第１のモーションデータを受信することと、
前記１つまたは複数のコントローラを介して、前記１つまたは複数のコントローラを操作する前記ユーザの前記手の第１のタッチに対応する第１のタッチデータを受信することと、
前記１つまたは複数のコントローラを介して、前記１つまたは複数のコントローラを操作する前記ユーザの前記手の前記第１のタッチに対応する第１の力データを受信することと、
前記第１のモーションデータを前記第１のタッチデータおよび前記第１の力データに関連付けることと、  
前記第１のモーションデータ、前記第１のタッチデータ、および前記第１の力データに少なくとも部分的に基づいて、前記手のジェスチャに対応するモデルを生成することと、
前記１つまたは複数のセンサを介して、前記１つまたは複数のコントローラを操作する前記ユーザの前記手の第２の動きに対応する第２のモーションデータを受信することと、
前記１つまたは複数のコントローラを介して、前記１つまたは複数のコントローラを操作する前記ユーザの前記手の第２のタッチに対応する第２のタッチデータを受信することと、
前記１つまたは複数のコントローラを介して、前記１つまたは複数のコントローラを操作する前記ユーザの前記手の前記第２のタッチに対応する第２の力データを受信することと、
前記第２のモーションデータを前記第２のタッチデータおよび前記第２の力データに関連付けることと、  
前記第２のモーションデータ、前記第２のタッチデータ、および前記第２の力データに少なくとも部分的に基づいて、前記手の前記ジェスチャに対応する前記モデルを訓練することと、
前記１つまたは複数のコントローラを介して、前記１つまたは複数のコントローラを操作する前記ユーザの前記手の第３のタッチに対応する第３のタッチデータを受信することと、
前記１つまたは複数のコントローラを介して、前記１つまたは複数のコントローラを操作する前記ユーザの前記手の前記第３のタッチに対応する第３の力データを受信することと、
前記ジェスチャおよび前記第３の力データに対応する前記モデルに少なくとも部分的に基づいて、前記手の表現に対応する画像データを生成することと、を含む行為を実施させる、１つまたは複数の非一時的なコンピュータ可読媒体と、を備える、システム。
２．前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、前記手の前記表現に対応する前記画像データを仮想現実ディスプレイに送信することを含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項１に記載のシステム。
３．前記１つまたは複数のセンサが、深度センサを含む、請求項１に記載のシステム。
４．前記第１のモーションデータを前記第１のタッチデータおよび前記第１の力データに関連付けることが、前記第１のモーションデータの第１のタイムスタンプを前記第１のタッチデータの第１のタイムスタンプおよび前記第１の力データの第１のタイムスタンプと照合することを含み、
前記第２のモーションデータを前記第２のタッチデータおよび第２の力データに関連付けることが、前記第２のモーションデータの第２のタイムスタンプを前記第２のタッチデータの第２のタイムスタンプおよび前記第２の力データの第２のタイムスタンプと照合することを含む、請求項１に記載のシステム。
５．システムであって、
１つまたは複数のプロセッサと、
コンピュータ実行可能命令を格納する１つまたは複数の非一時的なコンピュータ可読媒体であって、１つまたは複数のプロセッサによって実施されたとき、１つまたは複数のプロセッサに、
コントローラを操作する手の動きに対応するモーションデータを受信することと、
前記コントローラを操作する前記手のタッチ入力に対応するタッチデータを受信することと、
前記モーションデータと前記タッチデータとを関連付けることと、
前記モーションデータと前記タッチデータとを前記関連付けることに少なくとも部分的に基づいて、前記手のジェスチャに対応する訓練モデルを生成することと、を含む行為を実施させる、１つまたは複数の非一時的なコンピュータ可読媒体と、を備える、システム。
６．前記モーションデータが、第１のモーションデータを含み、前記タッチデータが、第１のタッチデータを含み、前記手の前記動きが、第１の動きを含み、前記手の前記タッチ入力が、第１のタッチ入力を含み、前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記コントローラを操作する前記ユーザの前記手の第２の動きに対応する第２のモーションデータを受信することと、
前記コントローラを操作する前記手の第２のタッチ入力に対応する第２のタッチデータを受信することと、
前記第２のモーションデータおよび前記第２のタッチデータに少なくとも部分的に基づいて、前記手の前記ジェスチャに対応する更新された訓練モデルを生成することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項５に記載のシステム。
７．前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記更新された訓練モデルを使用して、前記手の表現に対応する画像データを生成することと、
前記手の前記表現に対応する前記画像データを送信することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項６に記載のシステム。
８．前記画像データを送信することが、遠隔装置に前記手の表現を表示させる、請求項７に記載のシステム。
９．前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、前記タッチ入力に関連付けられた力の量に対応する力データを受信することを含む行為をさらに実施させるコンピュータ実行可能命令を格納し、
前記手の前記ジェスチャに対応する前記訓練モデルを前記生成することが、前記力データに少なくとも部分的にさらに基づいている、請求項５に記載のシステム。
１０．前記タッチデータが、前記タッチ入力を受信する前記コントローラ上の１つまたは複数の場所を示す、請求項５に記載のシステム。
１１．前記モーションデータと前記タッチデータとを関連付けることが、前記モーションデータのタイムスタンプを前記タッチデータのタイムスタンプと関連付けることを含む、請求項５に記載のシステム。
１２．前記モーションデータを受信することが、前記システムに通信可能に結合されたカメラから前記モーションデータを受信することを含み、
前記タッチデータを受信することが、前記システムに通信可能に結合されたコントローラから前記タッチデータを受信することを含む、請求項５に記載のシステム。
１３．システムであって、
１つまたは複数のプロセッサと、
コンピュータ実行可能命令を格納する１つまたは複数の非一時的なコンピュータ可読媒体であって、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
コントローラから、
前記コントローラで受信されたタッチ入力を示すタッチデータ、または
前記タッチ入力に関連付けられた力の量を示す力データのうちの少なくとも１つを受信することと、
手のジェスチャに関連付けられている訓練されたモデルに対して、前記タッチデータまたは前記力のうちの少なくとも１つを分析することと、
前記分析に少なくとも部分的に基づいて、前記タッチデータまたは前記力データのうちの少なくとも１つが前記手のジェスチャに対応していることを判定することと、
前記手のジェスチャを表す画像データを生成することと、
表示のために前記画像データを送信することと、を含む行為を実施させる、１つまたは複数の非一時的なコンピュータ可読媒体と、を備える、システム。
１４．前記タッチデータは、前記タッチ入力に対応する前記コントローラ上の場所を示す、請求項１３に記載のシステム。
１５．前記タッチデータが、第１のタッチデータを含み、前記力データが、第１の力データを含み、前記訓練されたモデルが、第１の訓練されたモデルを含み、前記タッチ入力が、第１のタッチ入力を含み、前記画像データが、第１の画像データを含み、前記手のジェスチャが、第１の手のジェスチャを含み、前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記コントローラから、
前記コントローラで受信された第２のタッチ入力を表す第２のタッチデータ、または
前記第２のタッチ入力に関連付けられた力の量を示す第２の力データのうちの少なくとも１つを受信することと、
第２の手のジェスチャに関連付けられている第２の訓練されたモデルに対して、前記第２のタッチデータまたは前記第２の力データのうちの少なくとも１つを分析することと、
前記第２のタッチデータまたは前記第２の力データのうちの少なくとも１つが、第２の手のジェスチャに対応していることを判定することと、
前記第２の手のジェスチャを表す第２の画像データを生成することと、
表示のために前記第２の画像データを送信することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項１３に記載のシステム。
１６．前記画像データが、第１の画像データを含み、前記手のジェスチャが、第１の手のジェスチャを含み、前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
少なくとも１つまたは複数の予測モデリング技術を使用し、かつ、前記第１の手のジェスチャに少なくとも部分的に基づいて、第２の手のジェスチャを決定することと、
前記第２の手のジェスチャを表す第２の画像データを生成することと、
表示のために前記第２の画像データを送信することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項１３に記載のシステム。
１７．前記訓練されたモデルが、
第１の期間中に１つまたは複数のコントローラから受信された以前のタッチデータ、
前記第１の期間中に前記１つまたは複数のコントローラから受信された以前の力データ、または
前記第１の期間中に１つまたは複数のカメラから受信された以前の画像データのうちの少なくとも１つを使用して前もって訓練されたモデルを含む、請求項１３に記載のシステム。
１８．前記コントローラが、第１のコントローラを含み、前記タッチデータが、第１のタッチデータを含み、前記力データが、第１の力データを含み、前記画像データが、第１の画像データを含み、前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
第２のコントローラから、
前記第２のコントローラで受信されたタッチ入力を示す第２のタッチデータ、または
前記第２のコントローラで受信された前記タッチ入力に関連付けられた力の量を示す第２の力データのうちの少なくとも１つを受信することと、
１つまたは複数の手のジェスチャに関連付けられている１つまたは複数の訓練されたモデルに対して、前記第２のタッチデータまたは前記第２の力データのうちの少なくとも１つを分析することと、
前記第２のコントローラで受信された手のジェスチャを表す第２の画像データを生成することと、
表示のために前記第２の画像データを送信することと、を含む行為をさらに実施させるコンピュータ実行可能命令を格納する、請求項１３に記載のシステム。
１９．前記画像データが、前記手のジェスチャの３次元（３Ｄ）表現を含む、請求項１３に記載のシステム。
２０．前記１つまたは複数の非一時的なコンピュータ可読媒体が、前記１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記タッチデータまたは前記力データのうちの少なくとも１つを１つまたは複数の訓練されたモデルと比較することであって、前記１つまたは複数の訓練されたモデルが、前記訓練されたモデルを含み、前記１つまたは複数の訓練されたモデルの個々の訓練されたモデルが、１つまたは複数の手のジェスチャに関連付けられる、比較することを含む行為をさらに実施させるコンピュータ実行可能命令を格納し、
前記訓練されたモデルに対して、前記タッチデータまたは前記力データのうちの少なくとも１つを分析することが、前記比較に少なくとも部分的に基づいている、請求項１３に記載のシステム。
【図１】
2021527896.tif 000003
【図２】
2021527896.tif 000004
【図３】
2021527896.tif 000005
【図４】
2021527896.tif 000006
【図５】
2021527896.tif 000007
【図６】
2021527896.tif 000008
【図７】
2021527896.tif 000009
【図８Ａ】
2021527896.tif 000010
【図８Ｂ】
2021527896.tif 000011
【図９Ａ】
2021527896.tif 000012
【図９Ｂ】
2021527896.tif 000013
【図９Ｃ】
2021527896.tif 000014
【図１０Ａ】
2021527896.tif 000015
【図１０Ｂ】
2021527896.tif 000016
【図１０Ｃ】
2021527896.tif 000017
【図１０Ｄ】
2021527896.tif 000018
【図１０Ｅ】
2021527896.tif 000019
【図１０Ｆ】
2021527896.tif 000020
【図１１】
2021527896.tif 000021
【図１２】
2021527896.tif 000022
【図１３】
2021527896.tif 000023
【国際調査報告】
2021527896.tif 000024
2021527896.tif 000025