IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オキュラス ブイアール,エルエルシーの特許一覧

<>
  • 特開-アバターの下半身の動き予測 図1
  • 特開-アバターの下半身の動き予測 図2
  • 特開-アバターの下半身の動き予測 図3A
  • 特開-アバターの下半身の動き予測 図3B
  • 特開-アバターの下半身の動き予測 図3C
  • 特開-アバターの下半身の動き予測 図4
  • 特開-アバターの下半身の動き予測 図5
  • 特開-アバターの下半身の動き予測 図6
  • 特開-アバターの下半身の動き予測 図7
  • 特開-アバターの下半身の動き予測 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024150415
(43)【公開日】2024-10-23
(54)【発明の名称】アバターの下半身の動き予測
(51)【国際特許分類】
   G06T 13/40 20110101AFI20241016BHJP
   G06N 3/08 20230101ALI20241016BHJP
   G06N 20/00 20190101ALI20241016BHJP
   G06F 3/01 20060101ALI20241016BHJP
【FI】
G06T13/40
G06N3/08
G06N20/00
G06F3/01 510
G06F3/01 570
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024057910
(22)【出願日】2024-03-29
(31)【優先権主張番号】18/192,876
(32)【優先日】2023-03-30
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.JAVA
3.PYTHON
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】バザン, ジャン-シャルル
(72)【発明者】
【氏名】ブアジズ, ソフィアン
(57)【要約】      (修正有)
【課題】仮想想現実(VR)及び拡張現実(AR)アプリケーション用の下半身アバターの運動を予測するためのコンピュータ実装方法及びシステムを提供する。
【解決手段】方法は、ヘッドセットのユーザのための上半身アバターを生成することと、ヘッドセットのユーザの下半身の姿勢を追跡することと、下半身の姿勢を下半身モデルに再ターゲットすることと、下半身モデルを上半身アバターとマージして、ヘッドセットのユーザのための全身アバターを形成することと、を含む。システムは、命令を記憶するメモリと、命令を実行して、システムに上記の方法を実施させるプロセッサと、を含む。
【選択図】図6
【特許請求の範囲】
【請求項1】
ヘッドセットのユーザのための上半身アバターを生成することと、
前記ヘッドセットの前記ユーザの下半身の姿勢を追跡することと、
前記下半身の姿勢を下半身モデルに再ターゲットすることと、
前記下半身モデルを前記上半身アバターとマージして、前記ヘッドセットの前記ユーザのための全身アバターを形成することと
を含む、コンピュータ実装方法。
【請求項2】
上半身アバターを生成することが、前記ヘッドセットに搭載されたセンサを用いて前記ユーザの顔ジェスチャを追跡することを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記ユーザの下半身の姿勢を追跡することが、前記ヘッドセットに搭載されたカメラを用いて、前記ユーザの腕、脚、手、または足のうちの少なくとも1つの画像を収集することを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記ユーザの下半身の姿勢を追跡することが、モバイルデバイスから、前記ユーザの前記下半身の姿勢の画像を受信することを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記ユーザの下半身の姿勢を追跡することが、前記ヘッドセット内の慣性測定ユニットから加速度信号を受信することを含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記ユーザの下半身の姿勢を追跡することが、前記ヘッドセット内の慣性運動ユニットからの加速度信号内の周波数から、走行運動または歩行運動を識別することを含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記ユーザの下半身の姿勢を追跡することが、前記ユーザの座位姿勢または立位姿勢を識別することを含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記ユーザの下半身の姿勢を追跡することが、下半身の運動に対する物理的制約に基づいて前記下半身の姿勢を判定することを含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記下半身の姿勢を下半身モデルに再ターゲットすることが、前記下半身の姿勢を損失関数のグラウンド・トゥルース・ベースラインとして用いて、前記下半身モデルの前記損失関数を最適化することを含む、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記下半身モデルを前記上半身アバターとマージすることが、没入型現実アプリケーションにおいて前記下半身モデルとオブジェクトとのオブジェクト衝突を除去することを含む、請求項1に記載のコンピュータ実装方法。
【請求項11】
システムであって、
複数の命令を記憶するメモリと、
前記命令を実行して、前記システムに動作を実施させるように構成された1つ以上のプロセッサと、を備え、前記動作が、
ヘッドセットのユーザのための上半身アバターを生成することと、
前記ヘッドセットの前記ユーザの下半身の姿勢を追跡することと、
前記下半身の姿勢を下半身モデルに再ターゲットすることと、
前記下半身モデルを前記上半身アバターとマージして、前記ヘッドセットの前記ユーザのための全身アバターを形成することと
を含む、
システム。
【請求項12】
上半身アバターを生成するために、前記1つ以上のプロセッサが、前記ヘッドセットに搭載されたセンサを用いて前記ユーザの顔ジェスチャを追跡する命令を実行する、請求項11に記載のシステム。
【請求項13】
前記ユーザの下半身の姿勢を追跡するために、前記1つ以上のプロセッサが、前記ヘッドセットに搭載されたカメラを用いて前記ユーザの腕、脚、手、または足のうちの少なくとも1つの画像を収集する命令を実行する、請求項11に記載のシステム。
【請求項14】
前記ユーザの下半身の姿勢を追跡するために、前記1つ以上のプロセッサが、モバイルデバイスから前記ユーザの前記下半身の姿勢の画像を受信する命令を実行する、請求項11に記載のシステム。
【請求項15】
前記ユーザの下半身の姿勢を追跡するために、前記1つ以上のプロセッサが、前記ヘッドセット内の慣性測定ユニットから加速度信号を受信する命令を実行する、請求項11に記載のシステム。
【請求項16】
仮想現実ヘッドセット内の自動立体視ディスプレイに対象のビューを提供するためにモデルを訓練するためのコンピュータ実装方法であって、
キャプチャスクリプトに従って、異なる姿勢の1人以上の対象の下半身の複数の画像を収集することと、
前記1人以上の対象の前記下半身の画像を使用して、3次元下半身モデルの姿勢エンコーダおよび動きエンコーダを更新することと、
前記3次元下半身モデルを用いて、新しい対象の下半身の合成ビューを生成することと
を含む、コンピュータ実装方法。
【請求項17】
前記3次元下半身モデルの動きエンコーダを更新することが、前記1人以上の対象の前記異なる姿勢を示す運動センサからの信号を識別することを含む、請求項16に記載のコンピュータ実装方法。
【請求項18】
前記異なる姿勢が、対象の柔軟体操の姿勢を含み、前記対象から心拍信号を収集することと、前記心拍信号で前記動きエンコーダを更新することとをさらに含む、請求項16に記載のコンピュータ実装方法。
【請求項19】
前記3次元下半身モデルを前記新しい対象の上半身モデルとマージして、前記新しい対象の全身モデルを形成することをさらに含む、請求項16に記載のコンピュータ実装方法。
【請求項20】
前記3次元下半身モデルを、ヘッドセットにインストールされた没入型アプリケーションに提供することをさらに含む、請求項16に記載のコンピュータ実装方法。
【発明の詳細な説明】
【背景技術】
【0001】
技術分野
本開示は、仮想現実(VR)および拡張現実(AR)アプリケーションにおけるアバターの生成に関する。より具体的には、本開示は、VR/ARアプリケーション用の下半身アバター再構築を提供する。
【0002】
関連技術
VR/ARアプリケーションの分野では、ヘッドセットを装着しているユーザは、顔のジェスチャおよび没入型現実環境に対する即時の反応に従ってリアルタイムで作り上げられた自身のアバターを有することができる。しかしながら、ユーザの全身表現は、典型的には漫画的であり、非現実的であり、ユーザの現在の活動、姿勢、および振る舞いとの関連性がほとんどない。ユーザの下半身表現の忠実度の欠如は、ユーザの没入体験を損なう。
【発明の概要】
【0003】
第1の実施形態では、コンピュータ実装方法は、ヘッドセットのユーザのための上半身アバターを生成することと、ヘッドセットのユーザの下半身の姿勢を追跡することと、下半身の姿勢を下半身モデルに再ターゲットすることと、下半身モデルを上半身アバターとマージして、ヘッドセットのユーザのための全身アバターを形成することとを含む。
【0004】
第2の実施形態では、システムは、複数の命令を記憶するメモリと、システムに動作を実施させるための命令を実行するように構成された1つ以上のプロセッサとを含む。動作は、ヘッドセットのユーザのための上半身アバターを生成することと、ヘッドセットのユーザの下半身の姿勢を追跡することと、下半身の姿勢を下半身モデルに再ターゲットすることと、下半身モデルを上半身アバターとマージして、ヘッドセットのユーザのための全身アバターを形成することとを含む。
【0005】
第3の実施形態では、仮想現実ヘッドセット内の自動立体視ディスプレイに対象のビューを提供するためにモデルを訓練するためのコンピュータ実装方法は、キャプチャスクリプトに従って、異なる姿勢の1人以上の対象の下半身の複数の画像を収集することと、1人以上の対象の下半身の画像を使用して3次元下半身モデルの姿勢エンコーダおよび動きエンコーダを更新することと、3次元下半身モデルを用いて、新しい対象の下半身の合成ビューを生成することとを含む。
【0006】
別の実施形態では、非一時的コンピュータ可読媒体は、コンピュータ内のプロセッサによって実行されると、コンピュータに方法を実施させる命令を記憶する。方法は、ヘッドセットのユーザのための上半身アバターを生成することと、ヘッドセットのユーザの下半身の姿勢を追跡することと、下半身の姿勢を下半身モデルに再ターゲットすることと、下半身モデルを上半身アバターとマージして、ヘッドセットのユーザのための全身アバターを形成することとを含む。
【0007】
さらに別の実施形態では、システムは、命令を記憶する第1の手段と、システムに方法を実施させるために命令を実行する第2の手段とを含む。方法は、ヘッドセットのユーザのための上半身アバターを生成することと、ヘッドセットのユーザの下半身の姿勢を追跡することと、下半身の姿勢を下半身モデルに再ターゲットすることと、下半身モデルを上半身アバターとマージして、ヘッドセットのユーザのための全身アバターを形成することとを含む。
【0008】
これらおよび他の実施形態は、以下に照らして当業者には明らかであろう。
【図面の簡単な説明】
【0009】
図1】いくつかの実施形態による、没入型アプリケーションでリアルタイムの下半身アバターを提供するのに適した例示的なアーキテクチャを示す図である。
図2】本開示の特定の態様による、図1のアーキテクチャからの例示的なサーバおよびクライアントを示すブロック図である。
図3A】いくつかの実施形態による、ユーザの下半身の運動のための異なる構成、およびそれを示す関連する信号を示す図である。
図3B】いくつかの実施形態による、ユーザの下半身の運動のための異なる構成、およびそれを示す関連する信号を示す図である。
図3C】いくつかの実施形態による、ユーザの下半身の運動のための異なる構成、およびそれを示す関連する信号を示す図である。
図4】いくつかの実施形態による、別個の下半身構成につながるユーザの異なる姿勢を示す図である。
図5】いくつかの実施形態による、別個の下半身構成につながるユーザの異なる活動を示す図である。
図6】いくつかの実施形態による、アバターの下半身のアニメーションを予測するための方法のフローチャートである。
図7】いくつかの実施形態による、仮想現実ヘッドセット内の自動立体視ディスプレイに対象のビューを提供するためにモデルを訓練するための方法のフローチャートである。
図8】いくつかの実施形態による、図6および図7の方法の少なくともいくつかを実施するように構成されたコンピュータシステムを示す図である。
【発明を実施するための形態】
【0010】
図面では、特に明記しない限り、同様の要素は、それらの説明に従って同様にラベル付けされている。
【0011】
以下の詳細な説明では、本開示の完全な理解を提供するために、多数の具体的な詳細が記載される。しかしながら、本開示の実施形態はこれらの具体的な詳細のいくつかがなくても実践できることが、当業者には明白となるであろう。他の例では、周知の構造および技法については、本開示の妨げとならないよう、詳細には示していない。
【0012】
全体の概要
顔および上半身を追跡する知覚技術は、ヘッドセットユーザにとって容易に利用可能である。そのような技術は、機械学習(ML)または人工知能(AI)アルゴリズムを用いて妥当な動きを推測するために1つ以上の入力信号を組み合わせる。しかしながら、VR/ARヘッドセットの典型的なカメラは、ユーザの下肢および四肢を捕捉することができない。VRヘッドセットは、ユーザによって装着されたときに床の高さを識別することができる。結果として、顔または上半身アバターは容易に利用可能であるが、リアルタイムで正確な全身アバターを作成するために、上半身アバターと組み合わせるか、またはマージすることができる下半身の正確なモデルが不足している。
【0013】
コンピュータネットワークの没入型現実アプリケーションの分野で生じる上記の技術的問題を解決するために、本明細書に開示される実施形態は、適切に訓練された下半身シミュレーション(例えば、MLおよびAI技術を介して)への入力としてセンサ追跡データを使用する。したがって、いくつかの実施形態は、カメラ、慣性運動ユニット(IMU)、ジャイロスコープ、さらには心電図(ECG)またはヘッドセットに搭載されたフォトプレチスモグラフィ(PPG)センサなどの心血管センサからの複数の信号を組み合わせる。信号は、MLまたはAIモデルにおける入力としての下半身の物理的に妥当なシミュレーションと組み合わされて、ユーザの下半身の最も可能性の高い運動を判定する。さらに、いくつかの実施形態は、ユーザの顔を追跡し、ありそうな下半身の姿勢(例えば、アバターを再ターゲットする)を含む様式化されたキャラクタ(漫画キャラクタ、架空キャラクタ)にマッピングすることを含む。
【0014】
したがって、本明細書に開示される実施形態は、ML、AI、および複数の対象の一般的なモーションキャプチャデータで訓練された他のニューラルネットワークベースのアルゴリズムを使用して、対象の下半身の運動を予測する。例えば、いくつかの実施形態では、モデルは、上半身が何をしているか、さらにはユーザの顔の表情に基づいて、対象の下肢の位置を予測または推定する。ヘッドセットに搭載されたIMUに加えて、いくつかの実施形態は、スマートウォッチ、ヘッドセットコントローラなどのリストデバイスに搭載されたIMUおよび他のセンサを含む。身体の異なる部分における複数のセンサの組み合わせは、ユーザの位置および姿勢を検知するために使用される。
【0015】
センサデータおよび顔の表情を介して体の運動を追跡し、モデルを仮想キャラクタに再ターゲット/マッピングすることに加えて、本明細書に開示される実施形態は、補正ステップを適用してオブジェクトの衝突を除去する。これにより、モデルがより正確になり、その使用が公衆にとってより快適で好ましいものになる。
【0016】
さらに、いくつかの実施形態は、ARおよび携帯電話デバイスに適用することができ、携帯電話は、ユーザの下半身の画像を捕捉するために使用することができる。したがって、いくつかの実施形態は、複数のデバイスの検知および計算能力を組み合わせて、ユーザの身体の新しいビューを追跡システムに追加する。
【0017】
例示的なシステムアーキテクチャ
図1は、いくつかの実施形態による、互いに、モバイルデバイス110、リモートサーバ130、およびデータベース152に結合されたヘッドセット100を含むアーキテクチャ10を示す。ウェアラブルデバイス100は、スマートグラス100-1およびリストバンド102(または「腕時計」)を含むことができ、モバイルデバイスはスマートフォンであってもよく、それらはすべて無線通信を介して互いに通信し、第1のデータセット103-1を交換することができる。データセット103-1は、記録されたビデオ、オーディオ、または何らかの他のファイルもしくはストリーミングメディアを含むことができる。ウェアラブルデバイス100のユーザ101は所有者でもあるか、またはモバイルデバイス110に関連付けられている。いくつかの実施形態では、ヘッドセット100またはリストバンド102の少なくとも一方は、ネットワーク150を介してリモートサーバ130、データベース152、または任意の他のクライアントデバイス(例えば、異なるユーザのスマートフォンなど)と直接通信することができる。モバイルデバイス110は、ネットワーク150を介してリモートサーバ130およびデータベース152と通信可能に結合され、情報、ファイルなどを互いに(例えば、データセット103-2およびデータセット103-3に)送信/共有することができる。以下、データセット103-1、103-2、103-3を「データセット103」と総称する。
【0018】
いくつかの実施形態では、スマートグラス100-1は、スマートグラス100-1のフレーム、または腕時計100-2もしくはリストバンド内に搭載された慣性測定ユニット(IMU)、ジャイロスコープ、マイクロフォン、カメラなどの複数のセンサ121を含むことができる。ウェアラブルデバイス100に含めることができる他のセンサ121は、磁力計、フォトダイオードおよびカメラ、タッチセンサ、ならびに静電容量センサ、圧力センサなどの他の電磁デバイスであってもよい。スマートグラス100-1は、音響マイクロフォン125-1および接触マイクロフォン125-2(以下、「マイクロフォン125」と総称する)を含んでもよい。音響マイクロフォン125-1は、空気中を伝搬する音響信号を圧力波として受信する。接触マイクロフォン125-2は、ユーザのこめかみなどに接触して、例えば、鼻パッドまたはスマートグラス100-1のアームなどで、ユーザの皮膚および骨に機械的に結合されてもよい。
【0019】
さらに、スマートグラス100-1、および任意の他のウェアラブルデバイス100、またはモバイルデバイス110は、命令を記憶するメモリ回路120と、スマートグラス100-1に、本開示と一致する方法におけるステップの少なくとも一部を実施させるために命令を実行するように構成されたプロセッサ回路112とを含むことができる。いくつかの実施形態では、スマートグラス100-1、腕時計100-2、リストバンド、またはウェアラブルデバイス100、モバイルデバイス110、サーバ130および/もしくはデータベース152は、デバイスがネットワーク150を介して互いに無線通信することを可能にする通信モジュール118をさらに含んでもよい。いくつかの実施形態では、通信モジュール118は、例えば、無線周波数ハードウェア(例えば、アンテナ、フィルタ、アナログデジタル変換器など)およびソフトウェア(例えば、信号処理ソフトウェア)を含むことができる。したがって、スマートグラス100-1は、リモートサーバ130からマルチメディアオンラインコンテンツ(例えば、データセット103-1)をダウンロードして、本明細書で開示される方法における動作の少なくとも一部を実施することができる。ネットワーク150は、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットなどのうちの任意の1つ以上を含むことができる。さらに、ネットワークは、これらに限定されないが、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スターバスネットワーク、ツリーまたは階層ネットワークなどを含むネットワークトポロジのいずれか1つ以上を含むことができる。
【0020】
いくつかの実施形態では、ユーザ101は、自分の下半身の画像をモバイルデバイス110で収集し、このデータを、ユーザ101の下半身アバターを生成するように訓練されたMLまたはAIアルゴリズムに供給することができる。
【0021】
したがって、本明細書で開示されるように、センサ121およびマイクロフォン125からのデータは、データセット103に含まれ、ヘッドセット100、モバイルデバイス110、またはサーバ130で実行される没入型現実アプリケーションによって分析されて、下半身のアニメーションモデルを供給し、没入型現実アプリケーションでユーザ101に全身アバターを提供することができる。
【0022】
図2は、本開示の特定の態様による、アーキテクチャ10からの例示的なサーバ130およびクライアントデバイス110を示すブロック図200である。クライアントデバイス110およびサーバ130は、それぞれの通信モジュール218-1および218-2(以下、「通信モジュール218」と総称する)を介して、ネットワーク150を介して通信可能に結合される。通信モジュール218は、ネットワーク150を介して他のデバイスにデータ、要求、応答、およびコマンドなどの情報を送信および受信するためにネットワーク150とインターフェースするように構成される。通信モジュール218は、例えば、モデムまたはイーサネットカードとすることができ、(例えば、無線周波数(RF)、近距離無線通信(NFC)、Wi-Fi、およびBluetooth無線技術などの電磁照射を介した)無線通信のための無線ハードウェアおよびソフトウェアを含むことができる。ユーザは、入力デバイス214および出力デバイス216を介してクライアントデバイス110と対話することができる。入力デバイス214は、マウス、キーボード、ポインタ、タッチスクリーン、マイクロフォン、ジョイスティック、仮想ジョイスティックなどを含むことができる。いくつかの実施形態では、入力デバイス214は、カメラ、マイクロフォン、ならびにセンサ、例えば、タッチセンサ、音響センサ、慣性運動ユニット(IMU)、およびVR/ARヘッドセットに入力データを提供するように構成された他のセンサを含むことができる。例えば、いくつかの実施形態では、入力デバイス214は、VR/ARヘッドセット内のユーザの瞳孔の位置を検出する、またはユーザの顔のジェスチャを識別するための視線追跡デバイスを含んでもよい。出力デバイス216は、画面ディスプレイ、タッチスクリーン、スピーカなどであってもよい。クライアントデバイス110は、メモリ220-1と、プロセッサ212-1とを含むことができる。メモリ220-1は、クライアントデバイス110内で行われ、入力デバイス214および出力デバイス216と結合するように構成されたアプリケーション222およびGUI225を含むことができる。アプリケーション222は、ユーザによってサーバ130からダウンロードされてもよく、サーバ130によってホストされてもよい。いくつかの実施形態では、クライアントデバイス110はVR/ARヘッドセットであり、アプリケーション222は没入型現実アプリケーションである。
【0023】
サーバ130は、メモリ220-2と、プロセッサ212-2と、通信モジュール218-2とを含む。以下、プロセッサ212-1および212-2、ならびにメモリ220-1および220-2をそれぞれ、「プロセッサ212」、「メモリ220」と総称する。プロセッサ212は、メモリ220に記憶された命令を実行するように構成される。いくつかの実施形態では、メモリ220-2は、アバターエンジン232を含む。アバターエンジン232は、没入型現実アプリケーション(例えば、アプリケーション222)のための3次元アバターレンダリングモデルの訓練および使用に関連する複数のツールを含む、機能およびリソースをGUI 225に共有または提供することができる。ユーザは、クライアントデバイス110のメモリ220-1にインストールされたアプリケーション222を介して、アバターエンジン232にアクセスすることができる。したがって、GUI225を含むアプリケーション222は、サーバ130によってインストールされ、複数のツールのいずれか1つを介してサーバ130によって提供されるスクリプトおよび他のルーチンを実施することができる。アプリケーション222の実行は、プロセッサ212-1によって制御されてもよい。
【0024】
その点に関して、アバターエンジン232は、本明細書に開示されるように、モデル240を作成、記憶、更新、および維持するように構成されてもよい。モデル240は、頭部、腕、手、および下肢を含む対象の全身アバターを含むことができる。モデル240は、エンコーダ-デコーダツール242、アニメーションツール244、衝突ツール246、およびニューラルネットワークツール248を含むことができる。エンコーダ-デコーダツール242は、対象の複数の同時ビューを有する入力画像を収集し、ピクセル整列された特徴を抽出してアニメーションツール244を調整し、全身アバターのアニメーション化されたモーションを提供する。アニメーションツール244は、エンコーダ-デコーダツール242によって処理された1つ以上のサンプル画像およびVR/ARヘッドセットによって提供される運動センサ情報から対象の下半身の新規のビューを生成することができる。衝突ツール246は、全身アバターと没入型現実アプリケーション内の他のオブジェクト(例えば、壁、地面、他のアバター、さらには服飾および衣類)との重なりを識別する。
【0025】
ニューラルネットワークツール248は、アバターエンジン232内のエンジンおよびツールの特定の目的のために訓練されたアルゴリズムを含むことができる。アルゴリズムは、ニューラルネットワークアルゴリズムまたは多変量回帰アルゴリズムなどの任意の線形または非線形アルゴリズムを利用する機械学習または人工知能アルゴリズムを含むことができる。いくつかの実施形態では、機械学習モデルは、ニューラルネットワーク(NN)ツール248、畳み込みニューラルネットワーク(CNN)、敵対的生成ニューラルネットワーク(GAN)、深層強化学習(DRL)アルゴリズム、深層リカレントニューラルネットワーク(DRNN)、古典的な機械学習アルゴリズム、例えば、ランダムフォレスト、k近傍法(KNN)アルゴリズム、k平均クラスタリングアルゴリズム、またはそれらの任意の組み合わせを含むことができる。より一般的には、機械学習モデルは、訓練ステップおよび最適化ステップを伴う任意の機械学習モデルを含むことができる。いくつかの実施形態では、訓練データベース252は、機械学習モデルの所望の結果に従って係数を修正するための訓練アーカイブを含むことができる。したがって、いくつかの実施形態では、アバターエンジン232は、機械学習モデルの入力として文書およびアーカイブを検索するために訓練データベース252にアクセスするように構成される。いくつかの実施形態では、アバターエンジン232、それに含まれるツール、および訓練データベース252の少なくとも一部は、サーバ130またはクライアントデバイス110によってアクセス可能な異なるサーバでホストすることができる。
【0026】
いくつかの実施形態では、アバターエンジン232は、訓練データベース252に記憶された1つ以上の機械学習モデルにアクセスすることができる。訓練データベース252は、アプリケーション222を介したユーザの入力に従って、機械学習モデルの訓練においてアバターエンジン232によって使用され得る訓練アーカイブおよび他のデータファイルを含む。さらに、いくつかの実施形態では、少なくとも1つ以上の訓練アーカイブまたは機械学習モデルをメモリ220のいずれか1つに記憶することができ、ユーザはアプリケーション222を介してそれらにアクセスすることができる。
【0027】
図3A図3Cは、いくつかの実施形態による、ユーザ301の下半身の運動およびそれを示す関連する信号351A、351B、および351C(以下、「信号351A」と総称する)のための異なる構成350A、350B、および350C(以下、「構成350」と総称する)を示す。信号351は、スマートグラス300内のセンサ321によって収集することができる。センサ321は、IMUセンサ、PPGセンサ、ECGセンサ、またはマイクロフォン(例えば、接触マイクロフォンなど)であってもよい。信号351は、チャート320A、320B、および320C(以下、「チャート320」と総称する)に示されている。チャート320は、縦座標に振幅312(例えば、電圧、電流、抵抗、磁界、インダクタンスなどの電気的出力)を含み、横座標に時間スケール311A、311B、および311C(以下、「タイムスケール311」と総称する)を含む。信号351は、ピーク底部間振幅352、バックグラウンドレベル354、ピーク間周期性356、ピークの半値全幅358(FWHM)などの特定の属性に従って構成350に関連付けることができる。
【0028】
構成350Aでは、ユーザ301は速いペースで走っており、歩幅は広く、膝を高く上げ、着地間は床面上で浮いている。信号351Aは、時間スケール311Aで大きく分離された広い強いピークを含む。
【0029】
構成350Bでは、ユーザ301は、構成350Aよりも遅いペースで走っており、歩幅は狭く、着地間は床面上で浮いている。信号351Bは、時間スケール311Aと同様であり得る時間スケール311Bにおいてより狭く分離された可変ピークを含む。
【0030】
構成350Cでは、ユーザ301は歩行しており、歩幅は狭く、常に片足を床に接触させている。信号351Cは、より広いスパンの時間スケール311Aに広く弱いピークを含む。
【0031】
図4は、いくつかの実施形態による、別個の下半身構成450Aおよび450B(以下、「構成450」と総称する)につながるヘッドセット400のユーザ401の異なる姿勢450を示す。したがって、本明細書で開示される実施形態は、構成450におけるユーザ401の下半身の姿勢を判定し、ユーザ401の全身アバターにマージするためにユーザの上半身(例えば、頭部および肩部)とマージするモデルを提供する。
【0032】
構成450Aでは、ユーザ401は座っている。センサ421は、地面に対するヘッドセット400のより低い高さを検出することができ、これは、ユーザ401の高さの事前知識と組み合わされて、ユーザが座っているという妥当な指示をもたらすことができる。さらに、ユーザの膝または足は、ヘッドセット400のカメラの視野(FOV)に現れ、ユーザの姿勢のさらなる確認を提供することができる。
【0033】
構成450Bでは、ユーザは立っている。センサ421は、地面に対するヘッドセット400のより高い位置を検出することができる。ユーザ401の身長の事前知識は、ユーザが立っていることの証明としても役立ち得る。さらに、センサ421は、直立構成450Bの場合のように、ユーザ401の下肢が欠落しているカメラを含むことができる。
【0034】
図5は、いくつかの実施形態による、別個の下半身構成につながる、ヘッドセット500-1およびリストデバイス500-2(以下、「ウェアラブル500」と総称する)のユーザ501の異なる活動550Aおよび550B(以下、「活動550」と総称する)を示す。ウェアラブルデバイス500は、互いに通信し、以下では「センサ521」と総称されるセンサ521-1(ヘッドセット500-1)および521-2(リストデバイス500-2)によって提供される相対位置および向き情報を共有することができる。この情報は、ユーザ501の正確な姿勢および動きを提供するために、本明細書に開示されているような下半身モデルに組み込むことができる。さらに、本明細書に開示されるMLおよびAIモデルは、これらの高度に様式化された運動(バレーダンス、スケート、アイススケート、ローイング、自転車走行など)を行う対象の画像を収集するように訓練することができる。
【0035】
活動550Aは、バレー、アイススケート、スケート、または負荷の高い柔軟体操などの様式的なダンス姿勢を含んでもよい。したがって、足、脚などのユーザ501の下肢、およびユーザ501の手は、カメラ521-1のFOVに現れることができる。
【0036】
活動550Bは、上半身の激しい運動(例えば、ローイング)を含んでもよい。センサ521は、ユーザ501の脚、膝、および足(例えば、カメラのFOV)、さらにはローイング用パレット、ボートの後部、および水域を検出することができる。さらに、センサ521-2は、ローイング姿勢550Bと一致する腕および身体の律動的な運動を検出することができる。
【0037】
図6は、いくつかの実施形態による、アバターの下半身のアニメーションを予測するための方法600のフローチャートを示す。いくつかの実施形態では、方法600のステップの少なくとも1つ以上は、AR/VRヘッドセット、ウェアラブルデバイス、モバイルデバイス、リモートサーバ、またはデータベース内のコンピュータデバイスのメモリに記憶された命令を実行するプロセッサによって実施されてもよく、これらはすべて、本明細書に開示される通信モジュール(プロセッサ212およびメモリ220、ウェアラブルデバイス100、モバイルデバイス110、サーバ130、データベース152、通信モジュール118、ならびにネットワーク150を参照)により、ネットワークを介して通信可能に結合される。メモリは、本明細書で開示されるように、没入型現実アプリケーションおよびユーザコマンドを受信するためのGUI、アバターエンジン、ならびにエンコーダ-デコーダツール、アニメーションツール、衝突ツール、およびニューラルネットワークツールを含むモデルのための命令を含むことができる(アプリケーション222、GUI 225、アバターエンジン232、モデル240、エンコーダーデコーダツール242、アニメーションツール244、衝突ツール246、およびニューラルネットワークツール248を参照)。本開示と一致する方法は、異なる順序で、同時に、ほぼ同時に、または時間的に重複して実施される方法600の少なくとも1つ以上のステップを含む。
【0038】
ステップ602は、ヘッドセットのユーザのための上半身アバターを生成することを含む。いくつかの実施形態では、ステップ602は、ヘッドセットに搭載されたセンサを用いてユーザの顔ジェスチャを追跡することを含む。
【0039】
ステップ604は、ヘッドセットのユーザの下半身の姿勢を追跡することを含む。いくつかの実施形態では、ステップ604は、ヘッドセットに搭載されたカメラを用いてユーザの腕、脚、手、または足のうちの少なくとも1つの画像を収集することを含む。いくつかの実施形態では、ステップ604は、モバイルデバイスから、ユーザの下半身の姿勢の画像を受信することを含む。いくつかの実施形態では、ステップ604は、ヘッドセット内の慣性測定ユニットから加速度信号を受信することを含む。いくつかの実施形態では、ステップ604は、ヘッドセット内の慣性運動ユニットからの加速度信号内の周波数から走行運動または歩行運動を識別することを含む。いくつかの実施形態では、ステップ604は、ユーザの座位姿勢または立位姿勢を識別することを含む。いくつかの実施形態では、ステップ604は、下半身の運動に対する物理的制約に基づいて下半身の姿勢を判定することを含む。
【0040】
ステップ606は、下半身の姿勢を下半身モデルに再ターゲットすることを含む。いくつかの実施形態では、ステップ606は、損失関数のグラウンド・トゥルース・ベースラインとして下半身の姿勢を用いて、下半身モデルの損失関数を最適化することを含む。
【0041】
ステップ608は、下半身モデルを上半身アバターとマージして、ヘッドセットのユーザのための全身アバターを形成することを含む。いくつかの実施形態では、ステップ608は、没入型現実アプリケーションにおいて下半身モデルとオブジェクトとのオブジェクト衝突を除去することを含む。
【0042】
図7は、いくつかの実施形態による、仮想現実ヘッドセット内の自動立体視ディスプレイに対象のビューを提供するためにモデルをトレーニングするための方法700のフローチャートを示す。いくつかの実施形態では、方法700のステップの少なくとも1つ以上は、AR/VRヘッドセット、ウェアラブルデバイス、モバイルデバイス、リモートサーバ、またはデータベース内のコンピュータデバイスのメモリに記憶された命令を実行するプロセッサによって実施されてもよく、これらはすべて、本明細書に開示される通信モジュールにより、ネットワークを介して通信可能に結合される(プロセッサ212およびメモリ220、ウェアラブルデバイス100、モバイルデバイス110、サーバ130、データベース152、通信モジュール118、およびネットワーク150を参照)。メモリは、本明細書で開示されるように、没入型現実アプリケーションおよびユーザコマンドを受信するためのGUI、アバターエンジン、ならびにエンコーダ-デコーダツール、アニメーションツール、衝突ツール、およびニューラルネットワークツールを含むモデルのための命令を含むことができる(アプリケーション222、GUI 225、アバターエンジン232、モデル240、エンコーダーデコーダツール242、アニメーションツール244、衝突ツール246、およびニューラルネットワークツール248を参照)。本開示と一致する方法は、異なる順序で、同時に、ほぼ同時に、または時間的に重複して実施される方法700の少なくとも1つ以上のステップを含む。
【0043】
ステップ702は、キャプチャスクリプトに従って、異なる姿勢の1人以上の対象の下半身の複数の画像を収集することを含む。
【0044】
ステップ704は、1人以上の対象の下半身の画像を使用して、3次元下半身モデルの姿勢エンコーダおよび動きエンコーダを更新することを含む。
【0045】
ステップ706は、3次元下半身モデルを用いて、新しい対象の下半身の合成ビューを生成することを含む。いくつかの実施形態では、ステップ706は、1人以上の対象の異なる姿勢を示す運動センサからの信号を識別することを含む。いくつかの実施形態では、異なる姿勢は、対象の柔軟体操の姿勢を含み、ステップ706は、対象から心拍信号を収集し、心拍信号で動きエンコーダを更新することをさらに含む。いくつかの実施形態では、ステップ706は、新しい対象の画像と新しい対象の下半身の合成ビューとの間の差に基づいて3次元下半身モデルを訓練することを含む。いくつかの実施形態では、ステップ706は、3次元下半身モデルを新しい対象の上半身モデルとマージして、新しい対象の全身モデルを形成することをさらに含む。いくつかの実施形態では、ステップ706は、ヘッドセットにインストールされた没入型アプリケーションに3次元下半身モデルを提供することをさらに含む。
【0046】
ハードウェアの概要
図8は、ヘッドセットおよび他のクライアントデバイス110、ならびに方法600および700を実装することができる例示的なコンピュータシステム800を示すブロック図である。特定の態様では、コンピュータシステム800は、専用のサーバにあるか、または別のエンティティに統合されているか、または複数のエンティティに分散されているかのいずれかで、ハードウェア、またはソフトウェアとハードウェアとの組み合わせを用いて実装されてもよい。コンピュータシステム800は、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、ファブレット、スマートフォン、フィーチャーフォン、サーバコンピュータなどを含むことができる。サーバコンピュータは、データセンタ内に遠隔配置されてもよく、または、ローカルに記憶されてもよい。
【0047】
コンピュータシステム800は、情報を通信するためのバス808または他の通信機構と、情報を処理するためにバス808に結合されたプロセッサ802(例えば、プロセッサ212)とを含む。例として、コンピュータシステム800は、1つ以上のプロセッサ802を用いて実装されてもよい。プロセッサ802は、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、ステートマシン、ゲーテッドロジック、個別のハードウェア構成要素、または情報の計算もしくは他の操作を実施することができる任意の他の適切なエンティティであってもよい。
【0048】
コンピュータシステム800は、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコールスタック、データベース管理システム、オペレーティングシステムを構成するコード、または含まれるメモリ804(例えば、メモリ220)、例えば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読み出し専用メモリ(ROM)、プログラマブル読み出し専用メモリ(PROM)、消去可能PROM(EPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、DVD、またはプロセッサ802によって実行されるべき情報および命令を記憶するためにバス808に結合された任意の他の適切な記憶デバイスに記憶されたコードのうちの1つ以上の組み合わせを含むことができる。プロセッサ802およびメモリ804は、専用論理回路によって補完されても、または専用論理回路に組み込まれてもよい。
【0049】
命令は、メモリ804に記憶され、1つ以上のコンピュータプログラム製品、例えば、コンピュータシステム800による実行のための、またはコンピュータシステム800の動作を制御するためのコンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールで、これらに限定されないが、データ指向言語(例えば、SQL、dBase)、システム言語(例えば、C、Objective-C、C++、Assembly)、アーキテクチャ言語(例えば、Java、.NET)、およびアプリケーション言語(例えば、PHP、Ruby、Perl、Python)などのコンピュータ言語を含む、当業者に周知の任意の方法に従って実装されてもよい。命令はまた、コンピュータ言語、例えば、アレイ言語、アスペクト指向言語、アセンブリ言語、オーサリング言語、コマンドラインインターフェース言語、コンパイル言語、並列言語、カーリーブラケット言語、データフロー言語、データ構造化言語、宣言型言語、難解言語、拡張言語、第4世代言語、機能言語、対話型モード言語、解釈型言語、反復言語、リストベース言語、小言語、論理ベース言語、機械言語、マクロ言語、メタプログラミング言語、マルチパラダイム言語、数値解析、非英語ベース言語、オブジェクト指向クラスベース言語、オブジェクト指向プロトタイプベース言語、オフサイドルール言語、手続き型言語、反射型言語、ルールベース言語、スクリプト言語、スタックベース言語、同期言語、構文処理言語、視覚型言語、ヴィルト(wirth)言語、およびXMLベース言語で実装されてもよい。メモリ804はまた、プロセッサ802によって実行される命令の実行中に一時変数または他の中間情報を記憶するために使用されてもよい。
【0050】
本明細書で説明されるコンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)を保持するファイルの一部、問題のプログラム専用の単一のファイル、複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置する、もしくは複数のサイトに分散されて通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。本明細書で説明されるプロセスおよび論理フローは、入力データを操作して出力を生成することによって機能を実施する1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実施することができる。
【0051】
コンピュータシステム800は、情報および命令を記憶するための、バス808に結合された磁気ディスクまたは光ディスクなどのデータ記憶デバイス806をさらに含む。コンピュータシステム800は、入力/出力モジュール810を介して様々なデバイスに結合されてもよい。入力/出力モジュール810は、任意の入力/出力モジュールとすることができる。例示的な入力/出力モジュール810は、USBポートなどのデータポートを含む。入力/出力モジュール810は、通信モジュール812に接続するように構成される。例示的な通信モジュール812は、イーサネットカードおよびモデムなどのネットワーキングインターフェースカードを含む。特定の態様では、入力/出力モジュール810は、入力デバイス814および/または出力デバイス816などの複数のデバイスに接続するように構成される。例示的な入力デバイス814は、消費者がコンピュータシステム800に入力を提供することができるキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールを含む。触覚入力デバイス、視覚入力デバイス、音声入力デバイス、または脳コンピュータインターフェースデバイスなどの他の種類の入力デバイス814も、消費者との対話を提供するために使用することができる。例えば、消費者に提供されるフィードバックは、任意の形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、消費者からの入力は、音響入力、音声入力、触覚入力、または脳波入力を含む任意の形態で受け取ることができる。例示的な出力デバイス816は、消費者に情報を表示するためのLCD(液晶ディスプレイ)モニタなどの表示デバイスを含む。
【0052】
本開示の一態様によれば、ヘッドセットおよびクライアントデバイス110は、少なくとも部分的に、メモリ804に含まれる1つ以上の命令の1つ以上のシーケンスを実行するプロセッサ802に応答して、コンピュータシステム800を使用して実装することができる。そのような命令は、データ記憶デバイス806などの別の機械可読媒体からメモリ804に読み込まれてもよい。メインメモリ804に含まれる命令シーケンスの実行は、プロセッサ802に本明細書に記載のプロセスステップを実施させる。メモリ804に含まれる命令のシーケンスを実行するために、マルチ処理構成の1つ以上のプロセッサを採用することもできる。代替的な態様では、本開示の様々な態様を実装するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤード回路を使用することができる。したがって、本開示の態様は、ハードウェア回路とソフトウェアとの特定の組み合わせに限定されない。
【0053】
本明細書に記載の主題の様々な態様は、バックエンド構成要素、例えばデータサーバを含む、もしくはミドルウェア構成要素、例えばアプリケーションサーバを含む、もしくはフロントエンド構成要素、例えば、消費者が本明細書に記載の主題の実装と対話し得るグラフィカル消費者インターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むコンピューティングシステム、または1つ以上のそのようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素の任意の組み合わせで実装することができる。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、例えば通信ネットワークによって相互接続することができる。通信ネットワークは、例えば、LAN、WAN、インターネットなどのいずれか1つ以上を含むことができる。さらに、通信ネットワークは、これらに限定されないが、例えば、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スターバスネットワーク、ツリーまたは階層ネットワークなどを含むネットワークトポロジのいずれか1つ以上を含むことができる。通信モジュールは、例えば、モデムまたはイーサネットカードとすることができる。
【0054】
コンピュータシステム800は、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに遠隔にあり、通常、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で行われ、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。コンピュータシステム800は、例えば、これらに限定されないが、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータとすることができる。コンピュータシステム800はまた、例えば、これらに限定されないが、携帯電話、PDA、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機、ビデオゲームコンソール、および/またはテレビセットトップボックスなどの別のデバイスに埋め込むこともできる。
【0055】
本明細書で使用される「機械可読記憶媒体」または「コンピュータ可読媒体」という用語は、実行のためにプロセッサ802に命令を提供することに関与する任意の媒体を指す。そのような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがそれらには限定されない多くの形態を取ることが可能である。不揮発性媒体は、例えば、データ記憶デバイス806などの光ディスクまたは磁気ディスクを含む。揮発性媒体は、メモリ804などのダイナミックメモリを含む。伝送媒体は、バス808を形成するワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。機械可読媒体の一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、DVD、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH EPROM、任意の他のメモリチップもしくはカートリッジ、またはコンピュータが読み取ることができる任意の他の媒体を含む。機械可読記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号に影響を及ぼす物質の組成物、またはそれらの1つ以上の組み合わせであってもよい。
【0056】
ハードウェアとソフトウェアとの互換性を説明するために、様々な例示的なブロック、モジュール、構成要素、方法、動作、命令、およびアルゴリズムなどの項目は、それらの機能性に関して一般的に説明されている。そのような機能性がハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせとして実装されるかどうかは、特定の用途およびシステム全体に課される設計制約に依存する。当業者は、特定の用途ごとに様々な方法で、説明された機能性を実装することができる。
【0057】
本明細書で使用される場合、一連の項目の後の「のうちの少なくとも1つ」という語句(the phrase “at least one of” preceding a series of items)は、項目のいずれかを分離するための「および」または「または」という用語と共に、リストの各メンバ(例えば、各項目)ではなく、リスト全体を修飾する。「のうちの少なくとも1つ」という語句は、少なくとも1つの項目を選択することを要するのではなく、それよりもむしろ、この語句により、項目のいずれか1つの少なくとも1つ、および/または項目のいずれかの組み合わせの少なくとも1つ、および/または項目それぞれの少なくとも1つを含むという意味を可能にしている。例として、「A、B、およびCのうちの少なくとも1つ」または「A、B、またはCのうちの少なくとも1つ」という語句はそれぞれ、Aのみ、Bのみ、もしくはCのみ、A、B、およびCの任意の組み合わせ、ならびに/またはA、BおよびCの各々の少なくとも1つを指す。
【0058】
「例示的」という用語は、本明細書では「例、事例、または例示としての役割を果たす」ことを意味するために使用される。本明細書において「例示」として記載されるあらゆる実施形態は、必ずしも他の実施形態よりも好ましいかまたは有利なものとして解釈されるものではない。1つの態様(an aspect)、その態様(the aspect)、別の態様、いくつかの態様、1つ以上の態様、1つの実装形態(an implementation)、その実装形態(the implementation)、別の実装形態、いくつかの実装形態、1つ以上の実装形態、1つの実施形態(an embodiment)、その実施形態(the embodiment)、別の実施形態、いくつかの実施形態、1つ以上の実施形態、1つの構成(a configuration)、その構成(the configuration)、別の構成、いくつかの構成、1つ以上の構成、対象技術、本開示(the disclosure)、本開示(the present disclosure)、それらの他の変形などの語句は、便宜上のものにすぎず、そのような語句に関する開示が対象技術に不可欠であることも、そのような開示が対象技術のすべての構成に適用されることも意味しない。そのような語句に関する開示は、すべての構成または1つ以上の構成に適用することができる。そのような語句に関する開示は、1つ以上の例を提供することができる。1つの態様またはいくつかの態様などの語句は、1つ以上の態様を指すことができ、その逆も同様であり、これは他の前述の語句にも同様に適用される。
【0059】
単数形の要素への言及は、特に明記しない限り、「1つかつ1つのみ」を意味するものではなく、むしろ「1つ以上」を意味するものである。「いくつか」という用語は、1つ以上を指す。下線および/または斜体の見出しおよび小見出しは、便宜上のみ使用され、対象技術を限定するものではなく、対象技術の説明の解釈に関連して参照されるものではない。第1および第2などの関係用語は、あるエンティティまたは動作を別のエンティティまたは動作から区別するために使用することができ、そのようなエンティティまたは動作間の実際のそのような関係または順序を必ずしも必要とせず、暗示もしない。当業者に知られている、または後に当業者に知られるようになる、本開示全体にわたって記載する様々な構成の要素に対するすべての構造的および機能的同等物は、参照により本明細書に明示的に組み込まれ、主題の技術に包含されるものとする。さらに、本明細書に開示するものはいずれも、そのような開示が上記記載に明示的に列挙されているかどうかにかかわらず、公衆に供されることを意図していない。請求項のいかなる要素も、要素が「のための手段(means for)」という語句を使用して明示的に列挙されるか、または方法請求項の場合、要素が「のためのステップ(step for)」という語句を使用して列挙されていない限り、米国特許法第112条の第6段落の規定の下で解釈されるべきではない。
【0060】
本明細書は多くの詳細を含んでいるが、これらは記載され得るものの範囲に対する限定として解釈されるべきではなく、むしろ対象事項の特定の実装形態の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に記載される特定の特徴は、単一の実施形態において組み合わせで実現することもできる。逆に、単一の実施形態の文脈において記載される様々な特徴を、複数の実施形態において別個に、または任意の好適な部分的組み合わせで実現することもできる。さらに、特徴は、特定の組み合わせで作用するものとして上述され、最初にそのように記載されてもよいが、記載された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから切り取られてもよく、記載された組み合わせは、部分的組み合わせまたは部分的組み合わせの変形に向けられてもよい。
【0061】
本明細書の主題を特定の態様の観点で記載してきたが、他の態様を実現することができ、それらの態様は以下の特許請求の範囲内である。例えば、動作は特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序で、もしくは連続した順序で実施されること、または示されたすべての動作が実施されることを必要とすると理解されるべきではない。特許請求の範囲で列挙される行動は、異なる順序で実施し、かつ依然として望ましい結果を達成することができる。一例として、添付図面に示されるプロセスは、所望の結果を達成するのに、図示される特定の順序または連続順序を必ずしも要するものではない。特定の状況では、マルチタスキングおよび並列処理が有利であってもよい。さらに、上述した態様における様々なシステム構成要素の分離は、すべての態様においてかかる分離を要するものと理解されるべきではなく、記載するプログラム構成要素およびシステムを、一般に、単一のソフトウェア製品で互いに統合するか、または複数のソフトウェア製品にパッケージングすることができるものと理解されるべきである。
【0062】
表題、背景、図面の簡単な説明、要約、および図面は、本明細書によって本開示に組み込まれ、限定的な説明としてではなく、本開示の例示的な例として提供される。特許請求の範囲または意味を限定するために使用されないことを理解するものとして提出される。さらに、詳細な説明では、説明は例示的な例を提供し、様々な特徴は、本開示を簡素化する目的で様々な実装形態で一緒にグループ化されることが分かる。本開示の方法は、記載された対象事項が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映すると解釈されるべきではない。むしろ、特許請求の範囲が反映するように、本発明の対象事項は、単一の開示された構成または動作のすべての特徴よりも少ないものにある。特許請求の範囲は、本明細書により詳細な説明に組み込まれ、各請求項は、別個に記載された対象事項として独立している。
【0063】
特許請求の範囲は、本明細書に記載された態様に限定されることを意図するものではなく、特許請求の範囲の文言と一致する全範囲が与えられ、すべての法的均等物を包含するものである。それにもかかわらず、特許請求の範囲のいずれも、適用される特許法の要件を満たさない対象事項を包含することを意図しておらず、そのように解釈されるべきでもない。
図1
図2
図3A
図3B
図3C
図4
図5
図6
図7
図8
【外国語明細書】