(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-28
(45)【発行日】2022-10-06
(54)【発明の名称】ユーザインターフェースデバイスの表現を用いたニューラルネットワークの訓練
(51)【国際特許分類】
G06F 3/01 20060101AFI20220929BHJP
G06F 3/048 20220101ALI20220929BHJP
G06N 3/08 20060101ALI20220929BHJP
【FI】
G06F3/01 510
G06F3/048
G06N3/08
(21)【出願番号】P 2019571300
(86)(22)【出願日】2018-05-31
(86)【国際出願番号】 US2018035467
(87)【国際公開番号】W WO2019022849
(87)【国際公開日】2019-01-31
【審査請求日】2021-05-28
(32)【優先日】2017-07-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ケーラー, エイドリアン
(72)【発明者】
【氏名】ブラドスキー, ゲイリー
(72)【発明者】
【氏名】バドリナラヤナン, ヴィジャイ
【審査官】酒井 優一
(56)【参考文献】
【文献】米国特許出願公開第2016/0328021(US,A1)
【文献】特表2016-509292(JP,A)
【文献】特開2014-157515(JP,A)
【文献】特開2016-162372(JP,A)
【文献】国際公開第2013/145223(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
ウェアラブルディスプレイシステムであって、
画像捕捉デバイスであって、前記画像捕捉デバイスは、ポインタを備える画像を捕捉するように構成される、画像捕捉デバイスと、
非一過性コンピュータ可読記憶媒体であって、前記非一過性コンピュータ可読記憶媒体は、
前記画像と、
前記画像上の画像場所における前記画像と関連付けられる仮想ユーザインターフェース(UI)デバイスと、
UIイベントを決定するためのニューラルネットワークであって、前記
ニューラルネットワークは、
訓練用仮想UIデバイスと関連付けられる訓練画像であって、前記訓練画像は、前記訓練用仮想UIデバイスおよび訓練用ポインタの表現を備える、訓練画像と、
前記訓練画像内の前記訓練用仮想UIデバイスおよび前記訓練用ポインタに対する訓練用UIイベントと
を使用して訓練される、ニューラルネットワークと
を記憶するように構成される、非一過性コンピュータ可読記憶媒体と、
ディスプレイであって、前記ディスプレイは、前記画像が前記画像捕捉デバイスによって捕捉されると、前記仮想UIデバイスを表示場所に表示するように構成され、前記画像場所は、前記表示場所に関連する、ディスプレイと、
ハードウェアプロセッサであって、前記ハードウェアプロセッサは、前記画像捕捉デバイス、前記ディスプレイ、および前記非一過性コンピュータ可読記憶媒体と通信し、前記プロセッサは、実行可能命令によって、
前記画像を前記画像捕捉デバイスから受信することと、
前記仮想UIデバイスの表現を前記画像場所における前記画像上にレンダリングすることと、
前記ニューラルネットワークを使用して、前記画像内の前記ポインタ
および前記画像と関連付けられた前記仮想UIデバイスに対するUIイベント
を決定することと、
前記UIイベントに基づいて、仮想コンテンツを生成することと、
前記ディスプレイに、前記仮想コンテンツを前記ウェアラブルディスプレイシステムの装着者に提示させることと
を行うようにプログラムされる、ハードウェアプロセッサ
と
を備える、ウェアラブルディスプレイシステム。
【請求項2】
前記仮想UIデバイスの表現は、複数の高コントラストの形状を備える、請求項1に記載のウェアラブルディスプレイシステム。
【請求項3】
前記複数の高コントラストの形状は、複数の高コントラストの同心形状を備える、請求項2に記載のウェアラブルディスプレイシステム。
【請求項4】
前記複数の形状のうちの形状の重心は、相互の閾値距離内にある、請求項2に記載のウェアラブルディスプレイシステム。
【請求項5】
前記閾値距離は、0である、請求項4に記載のウェアラブルディスプレイシステム。
【請求項6】
前記複数の形状のうちの第1の形状は、第1の色と関連付けられ、
前記複数の形状のうちの第2の形状は、第2の色と関連付けられ、
前記第1の形状は、前記第2の形状に隣接する、
請求項2に記載のウェアラブルディスプレイシステム。
【請求項7】
前記第1の色は、黒色であり、前記第2の色は、白色である、請求項6に記載のウェアラブルディスプレイシステム。
【請求項8】
前記第2の形状は、部分的に透明である、請求項6に記載のウェアラブルディスプレイシステム。
【請求項9】
前記第2の形状の第1の領域は、第1の透明度値と関連付けられ、
前記第2の形状の第2の領域は、第2の透明度値と関連付けられる、
請求項8に記載のウェアラブルディスプレイシステム。
【請求項10】
前記第2の形状の第2の領域はさらに、前記第2の形状の第1の領域から離れており、
前記第2の透明度値は、前記第1の透明度値より小さい、
請求項9に記載のウェアラブルディスプレイシステム。
【請求項11】
前記第2の形状は、前記第1の形状内にある、請求項6に記載のウェアラブルディスプレイシステム。
【請求項12】
前記複数の形状のうちの第3の形状は、第3の色と関連付けられ、
前記第1の形状は、前記第1の形状に隣接する、請求項6に記載のウェアラブルディスプレイシステム。
【請求項13】
第3の色は、白色である、請求項12に記載のウェアラブルディスプレイシステム。
【請求項14】
第1の形状は、前記第3の形状内にある、請求項12に記載のウェアラブルディスプレイシステム。
【請求項15】
前記UIイベントは、前記仮想UIデバイスの複数の状態のうちの状態に対応する、請求項1に記載のウェアラブルディスプレイシステム。
【請求項16】
前記複数の状態は、前記仮想UIデバイスのアクティブ化または非アクティブ化を備える、請求項15に記載のウェアラブルディスプレイシステム。
【請求項17】
前記仮想UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせから成る群から選択される、請求項1に記載のウェアラブルディスプレイシステム。
【請求項18】
前記
ポインタは、ユーザまたは前記ユーザの一部と関連付けられたオブジェクトを備える、請求項1に記載のウェアラブルディスプレイシステム。
【請求項19】
前記ユーザと関連付けられたオブジェクトは、ポインタ、ペン、鉛筆、マーカ、ハイライター、またはそれらの組み合わせを備え、
前記ユーザの一部は、前記ユーザの指を備える、
請求項18に記載のウェアラブルディスプレイシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、その内容が参照することによってその全体として本明細書に組み込まれる、2017年7月26日に出願され、「TRAINING A NEURAL NETWORK WITH REPRESENTATIONS OF USER INTERFACE DEVICES」と題された、米国仮出願第62/537,311号の優先権の利益を主張する。
【0002】
本開示は、仮想現実および拡張現実結像および可視化システムに関し、特に、ユーザインターフェースイベントを決定するために、機械学習モデル(例えば、ニューラルネットワーク)を訓練および使用するためのユーザインターフェースデバイスの表現に関する。
【背景技術】
【0003】
深層ニューラルネットワーク(DNN)は、算出機械学習モデルである。DNNは、人工ニューラルネットワーク(NN)の一種に属する。NNを用いることで、算出グラフが、構成され、これは、生物学的ニューラルネットワークの特徴を模倣するものである。生物学的ニューラルネットワークは、算出に顕著な特徴を含み、そうでなければ他の方法を通して捕捉することが困難であり得る、生物学系の能力の多くに関与する。いくつかの実装では、そのようなネットワークは、接続が一方向性である、シーケンシャル層化構造の中に配列される。例えば、特定の層の人工ニューロンの出力は、後続層の人工ニューロンの入力に接続されることができる。DNNは、多数の層(例えば、数十、数百、またはそれを上回る層)を伴う、NNであることができる。
【0004】
異なるNNは、異なる視点において相互に異なる。例えば、異なるNNのトポロジまたはアーキテクチャ(例えば、層の数および層が相互接続される方法)および加重は、異なり得る。NNの加重は、生物学系内のニューラル接続のシナプス強度に近似的に類似し得る。加重は、1つの層から別の層に伝搬される効果の強度に影響を及ぼす。人工ニューロン(またはNNのノード)の出力は、その入力の加重和の非線形関数であることができる。NNの加重は、これらの総和内に現れる、加重であることができる。
【発明の概要】
【課題を解決するための手段】
【0005】
一側面では、ウェアラブルディスプレイシステムが、開示される。本ウェアラブルディスプレイシステムは、ポインタを備える画像を捕捉するように構成される画像捕捉デバイスと、非一過性コンピュータ可読記憶媒体であって、該非一過性コンピュータ可読記憶媒体は、画像と、画像上の画像場所における画像と関連付けられる仮想ユーザインターフェース(UI)デバイスと、訓練用仮想UIデバイスと関連付けられた訓練画像であって、訓練用仮想UIデバイスおよび訓練用ポインタの表現を備える、訓練画像と、訓練画像内の訓練用仮想UIデバイスおよび訓練用ポインタに対する訓練用UIイベントとを使用して、訓練されたUIイベントを決定するためのニューラルネットワークとを記憶するように構成される、非一過性コンピュータ可読記憶媒体と、画像が画像捕捉デバイスによって捕捉されると、仮想UIデバイスを表示場所に表示するように構成されるディスプレイであって、画像場所は、表示場所に関連する、ディスプレイと、画像捕捉デバイス、ディスプレイ、および非一過性コンピュータ可読記憶媒体と通信するハードウェアプロセッサであって、実行可能命令によって、画像を画像捕捉デバイスから受信することと、仮想UIデバイスの表現を画像場所における画像上にレンダリングすることと、ニューラルネットワークを使用して、画像内のポインタに対するUIイベントおよび画像と関連付けられた仮想UIデバイスを決定することとを行うようにプログラムされる、プロセッサとを備える。
【0006】
別の側面では、ユーザインターフェースイベントを決定するためのニューラルネットワークを訓練するためのシステムが、開示される。本システムは、実行可能命令を記憶するコンピュータ可読メモリと、1つ以上のプロセッサであって、該1つ以上のプロセッサは、実行可能命令によって、少なくとも、複数の画像を受信することであって、複数の画像のうちの画像は、複数のポインタのうちのポインタを備え、画像は、画像上の画像場所における複数の仮想UIデバイスの仮想ユーザインターフェース(UI)デバイスと関連付けられ、画像は、画像内の仮想UIデバイスおよびポインタに対する複数のUIイベントのうちのUIイベントと関連付けられる、ことと、仮想UIデバイスの表現を画像場所における画像上にレンダリングし、訓練画像を生成することと、入力データおよび対応する標的出力データを備える、訓練セットを生成することであって、入力データは、訓練画像を備え、対応する標的出力データは、UIイベントを備える、ことと、訓練セットを使用して、仮想UIデバイスおよびポインタと関連付けられたUIイベントを決定するために、ニューラルネットワークを訓練することとを行うようにプログラムされる、1つ以上のプロセッサとを備える。
【0007】
さらに別の側面では、ユーザインターフェースイベントを決定するためにニューラルネットワークを訓練するための方法が、開示される。本方法は、ハードウェアプロセッサの制御下で、複数の画像を受信するステップであって、複数の画像のうちの第1の画像は、複数のポインタのうちのポインタの第1の表現を備え、第1の画像は、第1の画像内の第1の画像場所における複数の仮想UIデバイスの仮想ユーザインターフェース(UI)デバイスの第1の表現と関連付けられ、第1の画像は、第1の画像内の仮想UIデバイスおよびポインタに対する複数のUIイベントのうちのUIイベントと関連付けられる、ステップと、仮想UIデバイスの第1の表現を第1の画像場所における第1の画像上にレンダリングし、第1の訓練画像を生成するステップと、入力データおよび対応する標的出力データを備える、訓練セットを生成するステップであって、入力データは、第1の訓練画像を備え、対応する標的出力データは、UIイベントを備える、ステップと、訓練セットを使用して、仮想UIデバイスおよびポインタと関連付けられたUIイベントを決定するために、ニューラルネットワークを訓練するステップとを含む。
【0008】
本明細書に説明される主題の1つ以上の実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、および請求項から明白となるであろう。本概要または以下の詳細な説明のいずれも、本開示の主題の範囲を定義または限定することを主張するものではない。
本願明細書は、例えば、以下の項目も提供する。
(項目1)
ウェアラブルディスプレイシステムであって、
画像捕捉デバイスであって、前記画像捕捉デバイスは、ポインタを備える画像を捕捉するように構成される、画像捕捉デバイスと、
非一過性コンピュータ可読記憶媒体であって、前記非一過性コンピュータ可読記憶媒体は、
前記画像と、
前記画像上の画像場所における前記画像と関連付けられる仮想ユーザインターフェース(UI)デバイスと、
UIイベントを決定するためのニューラルネットワークであって、前記UIイベントは、
訓練用仮想UIデバイスと関連付けられる訓練画像であって、前記訓練画像は、前記訓練用仮想UIデバイスおよび訓練用ポインタの表現を備える、訓練画像と、
前記訓練画像内の前記訓練用仮想UIデバイスおよび前記訓練用ポインタに対する訓練用UIイベントと
を使用して訓練される、ニューラルネットワークと
を記憶するように構成される、非一過性コンピュータ可読記憶媒体と、
ディスプレイであって、前記ディスプレイは、前記画像が前記画像捕捉デバイスによって捕捉されると、前記仮想UIデバイスを表示場所に表示するように構成され、前記画像場所は、前記表示場所に関連する、ディスプレイと、
ハードウェアプロセッサであって、前記ハードウェアプロセッサは、前記画像捕捉デバイス、前記ディスプレイ、および前記非一過性コンピュータ可読記憶媒体と通信し、前記プロセッサは、実行可能命令によって、
前記画像を前記画像捕捉デバイスから受信することと、
前記仮想UIデバイスの表現を前記画像場所における前記画像上にレンダリングすることと、
前記ニューラルネットワークを使用して、前記画像内の前記ポインタに対するUIイベントおよび前記画像と関連付けられた仮想UIデバイスを決定することと、
前記UIイベントに基づいて、仮想コンテンツを生成することと、
前記ディスプレイに、前記仮想コンテンツを前記ウェアラブルディスプレイシステムの装着者に提示させることと
を行うようにプログラムされる、ハードウェアプロセッサプロセッサと
を備える、ウェアラブルディスプレイシステム。
(項目2)
前記仮想UIデバイスの表現は、複数の高コントラストの形状を備える、項目1に記載のウェアラブルディスプレイシステム。
(項目3)
前記複数の高コントラストの形状は、複数の高コントラストの同心形状を備える、項目2に記載のウェアラブルディスプレイシステム。
(項目4)
前記複数の形状のうちの形状の重心は、相互の閾値距離内にある、項目2に記載のウェアラブルディスプレイシステム。
(項目5)
前記閾値距離は、0である、項目4に記載のウェアラブルディスプレイシステム。
(項目6)
前記複数の形状のうちの第1の形状は、第1の色と関連付けられ、
前記複数の形状のうちの第2の形状は、第2の色と関連付けられ、
前記第1の形状は、前記第2の形状に隣接する、
項目2に記載のウェアラブルディスプレイシステム。
(項目7)
前記第1の色は、黒色であり、前記第2の色は、白色である、項目6に記載のウェアラブルディスプレイシステム。
(項目8)
前記第2の形状は、部分的に透明である、項目6に記載のウェアラブルディスプレイシステム。
(項目9)
前記第2の形状の第1の領域は、第1の透明度値と関連付けられ、
前記第2の形状の第2の領域は、第2の透明度値と関連付けられる、
項目8に記載のウェアラブルディスプレイシステム。
(項目10)
前記第2の形状の第2の領域はさらに、前記第2の形状の第1の領域から離れており、
前記第2の透明度値は、前記第1の透明度値より小さい、
項目9に記載のウェアラブルディスプレイシステム。
(項目11)
前記第2の形状は、前記第1の形状内にある、項目6に記載のウェアラブルディスプレイシステム。
(項目12)
前記複数の形状のうちの第3の形状は、第3の色と関連付けられ、
前記第1の形状は、前記第1の形状に隣接する、項目6に記載のウェアラブルディスプレイシステム。
(項目13)
第3の色は、白色である、項目12に記載のウェアラブルディスプレイシステム。
(項目14)
第1の形状は、前記第3の形状内にある、項目12に記載のウェアラブルディスプレイシステム。
(項目15)
前記UIイベントは、前記仮想UIデバイスの複数の状態のうちの状態に対応する、項目1に記載のウェアラブルディスプレイシステム。
(項目16)
前記複数の状態は、前記仮想UIデバイスのアクティブ化または非アクティブ化を備える、項目15に記載のウェアラブルディスプレイシステム。
(項目17)
前記仮想UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせから成る群から選択される、項目1に記載のウェアラブルディスプレイシステム。
(項目18)
前記UIポインタは、ユーザまたは前記ユーザの一部と関連付けられたオブジェクトを備える、項目1に記載のウェアラブルディスプレイシステム。
(項目19)
前記ユーザと関連付けられたオブジェクトは、ポインタ、ペン、鉛筆、マーカ、ハイライター、またはそれらの組み合わせを備え、
前記ユーザの一部は、前記ユーザの指を備える、
項目18に記載のウェアラブルディスプレイシステム。
(項目20)
ユーザインターフェースイベントを決定するためのニューラルネットワークを訓練するためのシステムであって、前記システムは、
実行可能命令を記憶するコンピュータ可読メモリと、
1つ以上のプロセッサであって、前記1つ以上のプロセッサは、前記実行可能命令によって、少なくとも、
複数の画像を受信することであって、
前記複数の画像のうちの画像は、複数のポインタのうちのポインタを備え、
前記画像は、前記画像上の画像場所における複数の仮想UIデバイスの仮想ユーザインターフェース(UI)デバイスと関連付けられ、
前記画像は、前記画像内の前記仮想UIデバイスおよび前記ポインタに対する複数のUIイベントのうちのUIイベントと関連付けられる、ことと、
前記仮想UIデバイスの表現を前記画像場所における前記画像上にレンダリングし、訓練画像を生成することと、
入力データおよび対応する標的出力データを備える訓練セットを生成することであって、
前記入力データは、前記訓練画像を備え、
前記対応する標的出力データは、前記UIイベントを備える、ことと、
前記訓練セットを使用して、前記仮想UIデバイスおよび前記ポインタと関連付けられたUIイベントを決定するために、ニューラルネットワークを訓練することと
を行うようにプログラムされる、1つ以上のプロセッサと
を備える、システム。
(項目21)
前記仮想UIデバイスの表現は、複数の高コントラストの形状を備える、項目20に記載のシステム。
(項目22)
前記複数の高コントラストの形状は、複数の高コントラストの同心形状を備える、項目21に記載のシステム。
(項目23)
前記複数の形状のうちの形状の重心は、相互の閾値距離内にある、項目21に記載のシステム。
(項目24)
前記閾値距離は、0である、項目23に記載のシステム。
(項目25)
前記複数の形状のうちの第1の形状は、第1の色と関連付けられ、
前記複数の形状のうちの第2の形状は、第2の色と関連付けられ、
前記第1の形状は、前記第2の形状に隣接する、
項目21に記載のシステム。
(項目26)
前記第1の色は、黒色であり、前記第2の色は、白色である、項目25に記載のシステム。
(項目27)
前記第2の形状は、部分的に透明である、項目25に記載のシステム。
(項目28)
前記第2の形状の第1の領域は、第1の透明度値と関連付けられ、
前記第2の形状の第2の領域は、第2の透明度値と関連付けられる、
項目27に記載のシステム。
(項目29)
前記第2の形状の第2の領域はさらに、前記第2の形状の第1の領域から離れており、
前記第2の透明度値は、前記第1の透明度値より小さい、
項目28に記載のシステム。
(項目30)
前記第2の形状は、前記第1の形状内にある、項目25に記載のシステム。
(項目31)
前記複数の形状のうちの第3の形状は、第3の色を有し、前記第1の形状は、前記第1の形状に隣接する、項目25に記載のシステム。
(項目32)
第3の色は、白色である、項目31に記載のシステム。
(項目33)
第1の形状は、前記第3の形状内にある、項目31に記載のシステム。
(項目34)
前記UIイベントは、前記仮想UIデバイスの複数の状態のうちの状態に対応する、項目20に記載のシステム。
(項目35)
前記複数の状態は、前記仮想UIデバイスのアクティブ化または非アクティブ化を備える、項目34に記載のシステム。
(項目36)
前記複数の仮想UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせを備える、項目20に記載のシステム。
(項目37)
前記複数のUIポインタは、ユーザまたは前記ユーザの一部と関連付けられたオブジェクトを備える、項目20に記載のシステム。
(項目38)
前記ユーザと関連付けられたオブジェクトは、ポインタ、ペン、鉛筆、マーカ、ハイライター、またはそれらの組み合わせを備え、
前記ユーザの一部は、前記ユーザの指を備える、
項目37に記載のシステム。
(項目39)
ユーザインターフェースイベントを決定するためにニューラルネットワークを訓練するための方法であって、前記方法は、
ハードウェアプロセッサの制御下で、
複数の画像を受信するステップであって、
前記複数の画像のうちの第1の画像は、複数のポインタのうちのポインタの第1の表現を備え、
前記第1の画像は、前記第1の画像内の第1の画像場所における複数の仮想UIデバイスの仮想ユーザインターフェース(UI)デバイスの第1の表現と関連付けられ、
前記第1の画像は、前記第1の画像内の前記仮想UIデバイスおよび前記ポインタに対する複数のUIイベントのうちのUIイベントと関連付けられる、ステップと、
前記仮想UIデバイスの第1の表現を前記第1の画像場所における前記第1の画像上にレンダリングし、第1の訓練画像を生成するステップと、
入力データおよび対応する標的出力データを備える訓練セットを生成するステップであって、
前記入力データは、前記第1の訓練画像を備え、
前記対応する標的出力データは、前記UIイベントを備える、ステップと、
前記訓練セットを使用して、前記仮想UIデバイスおよび前記ポインタと関連付けられたUIイベントを決定するために、ニューラルネットワークを訓練するステップと
を含む、方法。
(項目40)
前記複数の画像のうちの第2の画像は、前記ポインタの第2の表現を備え、
前記第2の画像は、前記第2の画像内の第2の画像場所における前記仮想UIデバイスの第2の表現と関連付けられ、
前記第2の画像は、前記UIイベントと関連付けられる、
項目39に記載の方法。
(項目41)
前記第1の画像および前記第2の画像は、ステレオスコピック対を形成する、項目40に記載の方法。
(項目42)
前記第1の画像および前記第2の画像は、画像のマルチスコピックセットの画像である、項目40に記載の方法。
(項目43)
前記仮想UIデバイスの第2の表現を前記第2の画像場所における前記第2の画像上にレンダリングし、第2の訓練画像を生成するステップをさらに含み、
前記入力データは、前記第2の訓練画像を備える、項目40に記載の方法。
(項目44)
前記仮想UIデバイスの前記第1の表現は、複数の高コントラストの形状を備える、項目39に記載の方法。
(項目45)
前記複数の高コントラストの形状は、複数の高コントラストの同心形状を備える、項目44に記載の方法。
(項目46)
前記複数の形状のうちの形状の重心は、相互の閾値距離内にある、項目44に記載の方法。
(項目47)
前記閾値距離は、0である、項目46に記載の方法。
(項目48)
前記複数の形状のうちの第1の形状は、第1の色と関連付けられ、
前記複数の形状のうちの第2の形状は、第2の色と関連付けられ、
前記第1の形状は、前記第2の形状に隣接する、
項目44に記載の方法。
(項目49)
前記第1の色は、黒色であり、前記第2の色は、白色である、項目48に記載の方法。
(項目50)
前記第2の形状は、部分的に透明である、項目48に記載の方法。
(項目51)
前記第2の形状の第1の領域は、第1の透明度値と関連付けられ、
前記第2の形状の第2の領域は、第2の透明度値と関連付けられる、
項目50に記載の方法。
(項目52)
前記第2の形状の第2の領域はさらに、前記第2の形状の第1の領域から離れており、
前記第2の透明度値は、前記第1の透明度値より小さい、
項目51に記載の方法。
(項目53)
前記第2の形状は、前記第1の形状内にある、項目51に記載の方法。
(項目54)
前記同心形状の第3の形状は、第3の色を有し、前記第1の形状は、前記第1の形状に隣接する、項目51に記載の方法。
(項目55)
第3の色は、白色である、項目54に記載の方法。
(項目56)
第1の形状は、前記第3の形状内にある、項目54に記載の方法。
(項目57)
前記UIイベントは、前記仮想UIデバイスの複数の状態のうちの状態に対応する、項目39に記載の方法。
(項目58)
前記複数の状態は、前記仮想UIデバイスのアクティブ化または非アクティブ化を備える、項目57に記載の方法。
(項目59)
前記複数の仮想UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせを備える、項目39に記載の方法。
(項目60)
前記複数のUIポインタは、ユーザまたは前記ユーザの一部と関連付けられたオブジェクトを備える、項目39に記載の方法。
(項目61)
前記ユーザと関連付けられたオブジェクトは、ポインタ、ペン、鉛筆、マーカ、ハイライター、またはそれらの組み合わせを備え、
前記ユーザの一部は、前記ユーザの指を備える、
項目60に記載の方法。
【図面の簡単な説明】
【0009】
【
図1】
図1は、拡張現実デバイスのユーザによって知覚される、物理的環境の実施例を図示する。
【0010】
【
図2】
図2は、拡張現実デバイスのユーザによって知覚される、物理的環境および仮想遠隔制御装置を含む、拡張環境の実施例を図示する。
【0011】
【
図3】
図3は、拡張現実デバイスの結像デバイスによって捕捉される、ユーザによって知覚される物理的環境に対応する画像上にレンダリングされた仮想遠隔制御装置のボタンの表現の実施例を図示する。
【0012】
【
図4A】
図4Aおよび4Bは、画像上にレンダリングされたボタンの表現を伴う、拡張現実デバイスの2つの結像デバイスによって捕捉された画像の例示的ステレオスコピック対を図示する。
【
図4B】
図4Aおよび4Bは、画像上にレンダリングされたボタンの表現を伴う、拡張現実デバイスの2つの結像デバイスによって捕捉された画像の例示的ステレオスコピック対を図示する。
【0013】
【
図5A】
図5A-5Dは、ユーザインターフェースデバイスの例示的表現を図示する。
【
図5B】
図5A-5Dは、ユーザインターフェースデバイスの例示的表現を図示する。
【
図5C】
図5A-5Dは、ユーザインターフェースデバイスの例示的表現を図示する。
【
図5D】
図5A-5Dは、ユーザインターフェースデバイスの例示的表現を図示する。
【0014】
【
図6】
図6は、ユーザインターフェースデバイスの表現を使用して、ユーザインターフェースイベントを決定するためのニューラルネットワークを訓練する、例証的方法のフロー図を示す。
【0015】
【
図7】
図7は、ユーザインターフェースデバイスの表現を使用してユーザインターフェースイベントを決定するために、ニューラルネットワークを使用する、例証的方法のフロー図を示す。
【0016】
【
図8】
図8は、一実施形態による、人物によって視認される、ある仮想現実オブジェクトおよびある実際の現実オブジェクトを伴う拡張現実シナリオの例証を描写する。
【0017】
【
図9】
図9は、一実施形態による、ウェアラブルディスプレイシステムの実施例を図示する。
【0018】
【
図10】
図10は、一実施形態による、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図示する。
【0019】
【
図11】
図11は、一実施形態による、画像情報をユーザに出力するための導波管スタックの実施例を図示する。
【0020】
【
図12】
図12は、一実施形態による、導波管によって出力され得る、例示的出射ビームを示す。
【0021】
【
図13】
図13は、一実施形態による、ディスプレイシステムを示す、概略図である。
【発明を実施するための形態】
【0022】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図するものではない。
【0023】
概要
仮想ユーザインターフェース(UI)デバイスは、ウィンドウ、アイコン、メニュー、ポインタ(WIMP)UIデバイスのスタイルまたは実装に基づくことができる。そのような仮想UIデバイススタイルまたは実装は、本明細書では、仮想UIデバイスの単純実装と称される。いくつかの実施形態では、WIMP UIイベントを検出するプロセスは、2つのプロセスに分離され、第1のプロセスは、ポインタ(例えば、指、指先、またはスタイラス)の場所の算出であって、第2のプロセスは、ポインタと仮想UIデバイスの相互作用の決定である。
【0024】
1つの課題は、2つの異なるオブジェクト、すなわち、ポインタおよび仮想UIデバイスが、位置特定される必要があることである。従来の2Dグラフィカルユーザインターフェース(GUI)上では、UIデバイスの場所は、GUIポインタデバイス(例えば、マウスポインタ)によって使用される同一座標内に生成されるため、把握されている。拡張現実デバイス(ARD、例えば、
図9を参照して説明されるウェアラブルディスプレイシステム900等)では、UIデバイス自体が、世界座標系内の特定の場所に現れるように生成され得る。ARDの姿勢およびARDの較正に起因する誤差が、導入され得る。いくつかの実装では、仮想UIデバイスは、(例えば、ARDの座標フレームに対する)ARD座標系内にレンダリングされ得る。ARD座標系では、ARDディスプレイの較正は、ポインタの場所を決定するためのポインタの画像を捕捉するために使用される1つ以上の外向きに向いたカメラの較正と明確に異なり得る。いずれの座標系でも、2つの数(例えば、仮想UIデバイスの場所およびポインタの場所)が、減算される必要があり得、ゼロまたはゼロ交差が、検出されなければならない。本プロセスにおける雑音は、そのような分析を非常に困難にし得る。深層ニューラルネットワーク(DNN)が、それ以上こだわらずに、ポインタを位置特定するために使用される場合でも、課題が残る。本明細書に開示されるのは、直接、DNNを使用して、そのような相互作用または交差(本明細書では、UIイベントと称される)を決定するためのシステムおよび方法である。いくつかの実施形態では、ポインタおよび仮想UIデバイスの場所もまた、考慮され得る。いくつかの実施形態では、焦点が、ポインタと仮想UIデバイスとの間の相互作用または交差を決定するために使用されてもよい。ポインタ先端およびUIデバイスは、相互作用およびUIイベントが生じるために、同一焦点状態にある必要があり得る。
【0025】
NNを訓練するプロセスは、ネットワークに入力データおよび対応する標的出力データの両方を提示するステップを伴う。例示的入力および標的出力の両方を含む、本データは、訓練セットと称され得る。訓練プロセスを通して、ネットワークの加重は、ネットワークの出力が、訓練セットからの特定の入力データを前提として、その特定の入力データに対応する標的出力に合致するようになる(例えば、可能な限り、近似的に)ように、漸次的または反復的に適合され得る。
【0026】
NNを訓練するための訓練セットを構築することは、課題を提示し得る。訓練セットの構築は、NNを訓練するため、したがって、NNの正常動作のために重要であり得る。いくつかの実施形態では、ネットワークのために必要とされるデータの量は、数十、数百~数千、数百万、またはそれを上回る正しい挙動例等、非常に膨大であり得る。ネットワークは、訓練セットを使用して学習し、その学習を正しく一般化し、入力(例えば、オリジナル訓練セット内に存在し得ない、新規入力)に関する適切な出力を予測することができる。本明細書に開示されるのは、仮想UIデバイスおよびポインタと関連付けられたユーザインターフェース(UI)イベント(例えば、スタイラスによる仮想ボタンのアクティブ化)を決定するためのNNを訓練するために、訓練データを生成するためのシステムおよび方法である。そのようなシステムの実施例は、ジェスチャ認識システムであることができる。
【0027】
頭部搭載可能拡張現実ディスプレイ(ARD)、複合現実ディスプレイ(MRD)、または仮想現実ディスプレイ(VRD)等のディスプレイは、仮想UIデバイスおよびポインタに対するUIイベントを決定するために、そのような訓練されたNNを実装することができる。本明細書に説明されるある実施例は、ARDを参照するが、これは、例証のためのものであって、限定ではない。他の実施例では、MRDまたはVRDが、ARDの代わりに使用されることができる。ユーザは、ポインタ(例えば、指、指先、またはスタイラス)を使用して、仮想UIデバイス(例えば、ボタン)の作動またはアクティブ化等のUIイベントを生じさせ、ARDまたはユーザの環境内のデバイスと相互作用することができる。ARDは、NNを使用して、仮想UIデバイスのそのようなアクティブ化または仮想UIデバイスおよびポインタに対するUIイベントを決定することができる。NNは、画像上にレンダリングされたUIデバイスの表現を伴う画像を使用して、訓練されることができる。
【0028】
NNを訓練するためのUIデバイスの表現およびARDによってユーザに表示されるUIデバイスの表現は、スタイルが異なり得る。例えば、ARDによってユーザに表示されるUIデバイスの表現は、定型化されたボタン等の定型化されたUIデバイスであることができる。NNを訓練するために画像上にレンダリングされたUIデバイスの表現は、高コントラストの同心形状(または類似または同一重心を伴う形状)を含むことができる。いくつかの実装では、UIデバイスのそのような表現は、有利には、NNを訓練するために使用される画像上にレンダリングされると、類似UIデバイスが類似表現を有するように、標準化されることができる。NNを訓練するための標準化されたUIデバイスの表現は、UIデバイスの標準表現と称され得る。例えば、異なるタイプのボタンは、NNを訓練するために使用される画像上にレンダリングされると、類似表現を有することができる。UIデバイスの表現は、捕捉された画像(例えば、モノスコピック画像、画像のステレオスコピック対、または画像のマルチスコピックセット)上にレンダリングされることができる。ARDは、ユーザがNNを使用して仮想UIデバイスと相互作用する間、ARDの外向きに向いたカメラを使用して、捕捉されたポインタの画像を処理することによって、UIイベントが生じたことを決定することができる。UIデバイスの標準表現は、NNが、画像を処理し、UIイベントを決定することに先立って、ユーザによって知覚されるような捕捉された画像上にレンダリングされることができる。いくつかの実装では、標準化された表現は、同一、類似、または異なるタスク(例えば、指を用いたタッチまたは指示等の異なるタイプのUIイベントを識別する)のための複数のNNを訓練するために標準化されることができる。
(例示的ユーザ環境)
【0029】
図1は、ARDのユーザによって知覚されるような物理的環境の実施例を図示する。例示的環境100aは、ユーザの自宅の居間を含む。環境100aは、テレビ(TV)104、物理的遠隔制御装置108(時として、単に、遠隔装置と称される)、TVスタンド112、および窓116等の物理的オブジェクトを有する。ユーザが、ARDを装着している間、ユーザは、物理的オブジェクトを知覚し、物理的オブジェクトと相互作用することができる。例えば、ユーザは、ARDを装着している間、TV104を鑑賞し得る。ユーザは、物理的遠隔装置108を使用して、TV104を制御することができる。例えば、ユーザは、物理的遠隔装置108を制御して、TV104をオン/オフにする、またはTV104のチャンネルまたは音量を変更することができる。ユーザはまた、仮想遠隔装置を使用して、TV104と相互作用することができる。仮想遠隔装置は、物理的遠隔装置108の機能に基づいて生成されてもよい。例えば、仮想遠隔装置は、物理的遠隔装置108の機能の一部または全部をエミュレートしてもよい(同様に、付加的または代替機能性を提供してもよい)。
【0030】
一実装では、仮想遠隔制御装置の仕様は、
図9に示される遠隔データリポジトリ932等のデータ記憶装置内に記憶されることができる。仕様は、仮想遠隔装置をレンダリングする方法(例えば、レイアウト、ボタン、および他の制御等を規定する)、遠隔装置をエミュレートするために必要とされる通信チャンネル(例えば、IRDA仕様から)、そのチャネル上にエミュレートされるべき実際のコード(例えば、「チャンネル2」の選択と関連付けられた正確なIRパルスシーケンス等)等に関する命令を含むことができる。
【0031】
ユーザは、仮想遠隔装置をアクティブ化することができる。アクティブ化に応じて、ARDは、仮想遠隔装置をユーザの視野(FOV)内にレンダリングすることができる。仮想遠隔装置は、物理的遠隔装置等の標的オブジェクトの機能をエミュレートすることができる。ユーザは、例えば、マウスをクリックする、タッチパッド上でタップする、タッチスクリーンをスワイプする、容量ボタンに手をかざすまたはタッチする、キーボードまたはゲームコントローラ(例えば、5方向D-パッド)上のキーを押下する、ジョイスティック、ワンド、またはトーテムをオブジェクトに向かって向ける、遠隔制御装置上のボタンを押下する、ユーザ入力デバイスとの他の相互作用等、ユーザ入力デバイスを作動させることによって、仮想遠隔装置をアクティブ化することができる。ユーザはまた、頭部、眼、または身体姿勢を使用して、例えば、ある時間周期にわたって、標的オブジェクトを注視する、またはそれに眼を向けること等によって、仮想遠隔装置をアクティブ化することができる。
【0032】
いくつかの実装では、仮想遠隔装置をアクティブ化するために、ユーザは、仮想遠隔装置と関連付けられた標的デバイスの選択を示すことができる。例えば、ユーザは、対応する仮想遠隔装置をアクティブ化するために、物理的遠隔装置の選択を示すことができる。
図1に示されるように、ユーザが、物理的遠隔装置108の機能に基づく、仮想遠隔装置と相互作用することを所望する場合、ユーザは、タッチする、指を向ける、例えば、ピンチによってオブジェクトを視覚的に包囲する、または他の手のジェスチャを使用して等、手のジェスチャによって、物理的遠隔装置108を示してもよい。実施例として、ユーザは、ある長時間周期にわたって、物理的遠隔装置108の方向を指示してもよい。別の実施例として、ユーザは、物理的遠隔装置108を握持するための手のジェスチャを行うことによって、物理的遠隔装置108と関連付けられた仮想遠隔装置を選択してもよい。ユーザはまた、ユーザ入力デバイス(例えば、
図11に示されるユーザ入力デバイス1104)を使用して、物理的遠隔装置108を示してもよい。例えば、ユーザは、スタイラスを使用して、物理的遠隔装置を指示してもよい。ユーザはまた、仮想遠隔制御装置の親デバイスを選択することによって、仮想遠隔装置を選択することができる。ユーザは、そのような選択のために、手のジェスチャを使用して、ユーザ入力デバイスを作動させることができる。ユーザは、ARDを介して、環境100aを知覚することができる。ユーザは、TV104に対するピンチジェスチャを有する、その左腕120aを知覚することができる。ARDは、本ピンチジェスチャをコマンドとして認識し、TV104と関連付けられた仮想遠隔装置をユーザにレンダリングおよび提示してもよい。別の実施例として、ユーザが、TV104を制御するための仮想遠隔装置を選択することを所望する場合、ユーザは、身体姿勢(TV104の握持またはTV104の指示等)を使用して、TV104の選択を示すことができる。
(例示的拡張環境)
【0033】
ディスプレイであることに加え、ARD(またはMRDまたはVRD)は、入力デバイスでもあることができる。そのようなデバイスのための非限定的例示的入力モードは、ジェスチャ(例えば、手のジェスチャ)、またはポインタ、スタイラス、または他の物理的オブジェクトを利用する運動を含む。手のジェスチャは、手をある方向に向ける等のユーザの手の運動を伴うことができる。運動は、タッチ、押下、解放、上/下または左/右への摺動、軌道に沿った移動、または3D空間内の他のタイプの移動を含むことができる。いくつかの実装では、仮想ボタンまたはスライダ等の仮想ユーザインターフェース(UI)デバイスは、ユーザによって知覚される仮想環境内に現れることができる。これらのUIデバイスは、2次元(2D)または3次元(3D)ウィンドウ、アイコン、メニュー、ポインタ(WIMP)UIデバイス(例えば、Windows(登録商標)、iOSTM、またはAndroidTMオペレーティングシステム内に現れるもの)に類似することができる。これらのUIデバイスの実施例は、仮想ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせを含む。
【0034】
図2は、物理的環境と、拡張現実デバイスのユーザによって知覚される、仮想遠隔制御装置とを含む、拡張環境200の実施例を図示する。仮想遠隔装置は、機能の一部または全部または物理的遠隔装置のレイアウトの少なくとも一部をミラーリングすることができる。これは、物理的遠隔装置の機能性またはレイアウトに慣れているユーザが、仮想遠隔制御装置を動作させることをより容易にし得る。ユーザによる仮想遠隔装置の選択に応じて、ARDは、視覚的にユーザの近傍に現れるように、仮想遠隔装置をレンダリングすることができる。例えば、
図2に示されるように、ARDは、ユーザが仮想遠隔装置124と便宜的に相互作用し得るように、ユーザの手の届く範囲内(例えば、腕の長さ内)の3次元(3D)内の特定の場所に現れるように、制御パネル128を含む、仮想遠隔装置124をレンダリングすることができる。いくつかの実施形態では、ユーザがその環境内で動き回るにつれて、仮想遠隔は、故に、ユーザとともに移動し得る。例えば、ARDは、ユーザの環境内のユーザの現在の位置にかかわらず、仮想遠隔装置124をユーザからある距離に提示することができる。
【0035】
ARDは、ユーザの物理的環境上に重畳されるように、仮想遠隔装置124をレンダリングすることができる。例えば、ARDは、壁の正面にあるように、仮想遠隔装置124をレンダリングしてもよい。仮想遠隔装置124は、ユーザが、ユーザの物理的環境の一部をオクルードする仮想遠隔装置を知覚し得、仮想遠隔装置が環境の一部の正面にあるように現れるように、不透明レンダリングを有することができる。いくつかの実装では、仮想遠隔装置124は、ユーザに仮想遠隔装置を通して見え得るように、少なくとも部分的に透明であるようにレンダリングされてもよい。例えば、
図2に示されるように、ユーザには、ユーザが窓および壁の正面にあるように仮想遠隔装置124を知覚し得る場合でも、窓枠および壁が見え得る。仮想遠隔装置(例えば、ユーザによってアクティブ化または作動され得るボタン等の仮想UIデバイス)の一部は、仮想遠隔装置124が背景環境をあまりオクルードしないように、他の部分(例えば、身体またはフレーム)ほど透明ではないようにレンダリングされてもよい。
【0036】
ユーザはまた、仮想遠隔装置124のレンダリング場所、サイズ、または配向を移動させることができる。例えば、ユーザは、ユーザのより近く(またはより遠く)、上向きに/下向き、左/右等に、仮想遠隔装置124を移動させることができる。ユーザはまた、仮想遠隔装置124のレンダリング場所をユーザからある距離または(例えば、3次元内でユーザに現れるような)ユーザの環境内のある場所にあるように固定することができる。
【0037】
ユーザは、ポインタ(例えば、指、指先、またはスタイラス)を使用することによって、仮想遠隔装置124の仮想UIデバイス(例えば、ボタン)の作動またはアクティブ化等のUIイベントを生じさせ、ARDまたはユーザの環境内のデバイス(例えば、TV104)と相互作用することができる。ARDは、NNを使用して、仮想UIデバイスのそのようなアクティブ化または仮想UIデバイスおよびポインタに対するUIイベントを決定することができる。NNは、下記にさらに詳細に説明される、ARDによってユーザに示されるUIデバイスの表現と異なり得る、UIデバイスの表現を伴う画像を使用して、訓練されることができる。NNを訓練するための1つ以上の画像上にレンダリングするためのUIデバイスの表現は、高コントラストの同心形状(または類似または同一重心を伴う形状)を含むことができる。UIデバイスのそのような表現は、捕捉された画像(例えば、モノスコピック画像、画像のステレオスコピック対、または画像のマルチスコピックセット)上にレンダリングされることができる。ARDは、NNを使用して、ユーザが仮想UIデバイスと相互作用する間、ARDの外向きに向いたカメラを使用して捕捉されたポインタの画像を処理することによって、UIイベントが生じたことを決定することができる。UIデバイスの標準表現は、NNが、画像を処理し、UIイベントを決定することに先立って、ユーザによって知覚されるような捕捉された画像上にレンダリングされることができる。
【0038】
NNを訓練するためのUIデバイスの表現は、いくつかの実装では、有利には、NNを訓練するために使用される画像上にレンダリングされるとき、類似UIデバイスが類似表現を有するように、標準化されることができる。例えば、いくつかの実装では、UIデバイスの標準表現は、特定のタイプの任意のタイプのUIデバイスのために使用される、描写可能かつレンダリング可能な表現可視化である。NNによって使用される標準表現は、ARDによってユーザに可視にされる表現と同一であってもよいが、そうである必要はない。特定のタイプのデバイスは、デバイスタイプ(例えば、テレビ遠隔制御装置、または製造業者別テレビ遠隔制御装置、または製造業者およびテレビクラス(例えば、LCDディスプレイ、LEDディスプレイ、対角線サイズ、価格等)別テレビ遠隔制御装置)の産業規格または他の論理グループ化または分類学に従って、配列されることができる。他の場合では、標準表現は、押下可能ボタンのための標準表現、スライダバーのための標準表現、タッチスクリーンのための標準表現等の機能性を参照してもよい。NNを訓練するためのUIデバイスの標準化された表現は、UIデバイスの標準表現と称され得る。例えば、異なるタイプのボタンは、NNを訓練するために使用される画像上にレンダリングされるとき、類似表現を有することができる。いくつかの実装では、標準化された表現は、同一タスク、類似タスク(例えば、ボタンの押下または押下されたボタンの解放)、または異なるタスク(例えば、指を用いたタッチまたは指向等の異なるタイプのUIイベントを識別する)に関して複数のNNを訓練するために標準化されることができる。
【0039】
図2では、ユーザは、ARDを使用して、環境200を知覚することができる。環境200は、TV104、TV104を制御するための物理的遠隔装置108、TVスタンド112、および窓116等の物理的オブジェクトを含むことができる。環境200はまた、仮想遠隔装置124を含むことができる。仮想遠隔装置124は、物理的遠隔装置108の機能をエミュレートし、TV104を制御することができる。例えば、仮想遠隔装置124のボタン132a等の仮想UIデバイスのレイアウトおよび機能は、物理的遠隔装置104の物理的ボタンと実質的に同一であってもよい。
【0040】
仮想遠隔装置124は、仮想キーボード、仮想ボタン、仮想スイッチ、トグル、またはスライダ、仮想タッチ表面、またはその任意のコンポーネント(例えば、キーボードのキー)等の仮想UIデバイスを含んでもよい。これらの仮想UIデバイスは、仮想遠隔装置124の制御パネル128の一部であってもよい。仮想遠隔装置124と相互作用するために、ユーザは、仮想UIデバイスに対するUIイベント(例えば、アクティブ化または非アクティブ化)を開始することができる。例えば、ユーザは、タッチする、押下する、解放する、上/下または左/右に摺動させる、軌道に沿って移動させる、または3D空間内の他のタイプの移動によって、仮想UIデバイス132aと相互作用することができる。
【0041】
仮想遠隔装置124の仮想ボタン等の仮想UIデバイスの作動またはアクティブ化に応じて、ARDは、物理的遠隔装置108であるかのように、TV104と通信してもよい。実施例として、
図2では、ユーザは、ポインタ(例えば、右手120bの指またはスタイラス)を使用して、仮想UIデバイス132aをアクティブ化することができる。ARDは、外向きに向いた結像システムを使用して、ポインタの場所を結像することができる。下記にさらに説明されるように、ポインタの場所に基づいて、ARDは、仮想UIデバイスおよびポインタに対するUIイベント(アクティブ化等)を算出することができる。
図2に描写される実施例では、ARDは、ユーザの右人差し指がボタン132aをアクティブ化することを決定することができる。手のジェスチャを使用して仮想ボタンをアクティブ化することに加え、ユーザはまた、スタイラス、ポインタ、ワンド、またはトーテム等のユーザ入力デバイスを使用して、仮想ボタンをアクティブ化することができる。
【0042】
いったんARDが、ユーザが仮想遠隔装置124の仮想UIデバイスをアクティブ化したことを検出すると、ARDは、故に、IRエミッタ等の信号生成器を介して、信号を対応するデバイス(例えば、TV104)に送信し、デバイスに、ユーザによる仮想UIデバイスに基づくアクションを実施するように命令することができる。例えば、ユーザは、仮想遠隔装置124上の仮想ボタン132aをタッチすることができる。本ボタン132aが、TV104の音量を増加させることと関連付けられる場合、ARDは、故に、信号(ARD上のIRエミッタによって生成されるIR信号等)を生成し、信号をTV104(IR検出器を有し得る)に通信し、それによって、TV104にその音量を増加させることができる。ARDによって生成された信号は、対応する物理的遠隔制御装置によって生成されるであろうものと同一信号であることができる。
【0043】
信号が照準線信号(TVのIR検出器に指向されなければならない、IR信号等)である場合、ARD上のエミッタは、デバイスに向かって指向される必要があり得る(物理的遠隔制御装置がその関連付けられたデバイスに向けられなければならないように)。有利には、ARDは、要求されるコマンド(例えば、TV104の音量を増加させる、またはチャネルを変更するため)が生じたかどうかを決定するように構成されてもよい(例えば、それぞれ、ARD上のマイクロホンを使用して、音強度の増加を決定する、または外向きに向いたカメラを使用して、TV104のディスプレイが変化したことを決定することによって)。コマンドの効果が、制御されているデバイスによって生産されなかった場合、ARDは、ARDのエミッタが制御されているデバイスに向かって指向されるように、ユーザに、ユーザの姿勢を変化させるように命令してもよい。例えば、ARDは、ユーザの頭部を制御されているデバイスに向かって向けるように、視覚的グラフィック(または可聴命令)を生成してもよい。いくつかの実装では、ARDとデバイスとの間の通信は、妨害されない照準線を要求しなくてもよく(例えば、無線RF信号または超音波音響信号が使用されるとき)、前述の機能性は、随意であってもよい。
【0044】
ユーザが、仮想遠隔装置104とのやりとりを終えると、ユーザは、手のジェスチャを使用して、仮想遠隔装置124の表示を消失させてもよい。実施例として、ユーザがTV番組を鑑賞している間、ユーザは、仮想遠隔装置をこれ以上必要ではないことを決定し得る。その結果、ユーザは、その手を振り、仮想遠隔装置124とのやりとりを終えたことを示してもよい。ユーザはまた、仮想遠隔装置124上の仮想UIデバイス(例えば、電源ボタン136a)を押下し、仮想遠隔装置124を閉じてもよい。ARDは、それに応答して、仮想遠隔装置124の表示を中止する、または実質的に殆ど視覚的に知覚可能ではない(例えば、増加された透明度を伴う)ように、仮想遠隔装置124を表示してもよく、これは、ユーザが後に仮想遠隔装置124を選択することを補助し得る。
【0045】
ある実装では、ARDは、自動的に、またはユーザコマンドに応答して、一時的に、仮想遠隔装置124をユーザのFOVから隠す、または仮想遠隔装置をユーザのFOV外またはユーザのFOVの縁に移動させてもよい。例えば、ARDはまた、閾値条件が満たされる場合、仮想遠隔装置124を自動的に隠してもよい。ARDは、仮想遠隔装置124のボタン等の仮想UIデバイスのいずれも、閾値時間周期(10秒、1分、2分等)にわたってアクティブではなかったことを検出することができる。ARDは、仮想遠隔装置124の透明度を増加させること等によって、仮想遠隔装置124を徐々にフェードアウトさせることができる。例えば、仮想遠隔装置124は、フェードアウトプロセスの一部として、不透明から透明に変化してもよい。ARDはまた、仮想遠隔装置124の可視性を減少させることによって、仮想遠隔装置124をフェードアウトさせることができる。例えば、ARDは、仮想遠隔装置124のサイズを徐々に低減させる、または仮想遠隔装置124の色を暗色から明色に変化させることができる。
【0046】
本明細書のいくつかの実施例は、仮想遠隔制御装置を使用して(例えば、仮想遠隔制御装置のボタン等の1つ以上の仮想UIデバイスをアクティブ化して)、物理的デバイス(例えば、物理的テレビ)を制御するコンテキストで説明されるが、これは、例証のみのためのものであって、限定することを意図するものではない。仮想遠隔制御装置または仮想UIデバイスの実施形態は、加えて、または代替として、仮想デバイスを制御するためにも使用されることができる。例えば、ARDのユーザは、仮想遠隔制御装置を使用して、ARDによってレンダリングされ、ユーザに表示される、仮想テレビを制御することができる。
(UIデバイスの表現の例示的レンダリング)
【0047】
本明細書に開示されるのは、例示的入力および標的出力を含む、訓練セットを生成し、訓練セットを使用して、ニューラルネットワーク(NN)を訓練し、訓練されたNNを使用するためのシステムおよび方法である。NNのトポロジは、Alex-Netまたはその派性物等の任意の機能トポロジであることができる。NNのトポロジは、再帰ネットワークを含むことができ、これは、時間的コンテキストをカテゴリ分類に提供するために使用され得る。
【0048】
NNは、カテゴリ別である、入力データセットを使用して、訓練されることができる。例えば、異なるUIイベント(例えば、仮想UIデバイスが、アクティブ化される、またはアクティブ化されない)は、入力データセット内の異なるカテゴリ値に対応し得る。いくつかの実施形態では、入力データセットは、いくつかの定量的値を含むことができる。NNは、異なるカテゴリ値に対応する、2つ以上の状態、例えば仮想UIデバイスがアクティブ化されている状態および仮想UIデバイスがアクティブ化されていない状態等を認識するように訓練されることができる。例えば、仮想UIデバイスが、ボタンである場合、NNは、状態、すなわち、「押下されている」および「押下されていない」を認識するように訓練されることができる。「タッチ」等の他の状態も、可能性として考えられ得る。
【0049】
例示的入力および標的出力は、それら上にレンダリングされた仮想UIデバイスの表現を伴う、画像を含むことができる。画像上にレンダリングされたUIデバイスの表現は、ユーザに可視の表現ではなく、むしろ、特定のタイプのUIデバイスのために使用され得る、描写可能かつレンダリング可能な可視化であってもよい。例えば、全てのボタンタイプのUIデバイスは、いくつかの実装では、白色一色の円板として表され得る。
【0050】
いくつかの実施形態では、訓練されたNNは、カメラ画像を使用して、UIイベントが生じたかどうかを決定することができる。カメラは、ポインタ(例えば、指またはスタイラス)が見えるように設置されることができ、捕捉された画像は、NNに入力として与えられることができる。NNの出力は、UIイベントが生じたかどうかに関する決定と、該当する場合、生じた特定のUIイベントとを含むことができる。
【0051】
いくつかの実施形態では、UIデバイスは、NNを訓練するためのその表現において、訓練時および動作時の両方で、NNに入力される全ての画像上にレンダリングされることができる。「~上にレンダリングされる」とは、UIデバイスが、その表現において、画像を捕捉するために使用されるカメラの場所から視認される(かつ単独で、または組み合わせて、カメラおよびその関連付けられたレンズの測定された固有のパラメータに適切な視錐台を伴う(固有のパラメータは、例えば、カメラの焦点距離、主点オフセット、および軸歪を含むことができる))場合、その仮想場所にあるであろうように、精密に現れるようにレンダリングされることを指し得る。
【0052】
このように、画像は、ポインタおよび仮想UIデバイスの表現の両方を含有する、拡張画像である。NNが、訓練されると、提示される全ての画像は、それぞれ上にレンダリングされた1つ以上の仮想UIデバイスのそのような表現を有することができる。各そのような画像は、その状態(例えば、「ボタンが押下される」)と関連付けられることができる。UIデバイスが、画像上にレンダリングされ得るが、仮想UIデバイスが、アクティブ化され得ない(例えば、「ボタンが押下されない」)、ネガティブな実施例も同様に、訓練プロセスの間、DNNのために提供されることができる。
【0053】
図2は、物理的環境と、拡張現実デバイスのユーザによって知覚される、仮想遠隔制御装置とを含む、拡張環境200の実施例を図示する。遠隔制御装置124と、仮想UIイベント(例えば、ボタン132a)とを含む、ユーザインターフェースが、任意の適切なグラフィカル形態において、ユーザに視覚的に提示されることができる。DNNは、ユーザによって知覚され、カメラ(
図11における外向きに向いた結像システム1154等)によって捕捉される、ユーザの環境の画像の修正バージョンを与えられることができる。例えば、修正された画像は、ユーザに実際に示されるバージョン(
図3)ではない、UIデバイスのための標準化された表現等の注釈が付けられた仮想UIデバイスを含むことができる。
図3は、拡張現実デバイスの結像デバイスによって捕捉されたユーザによって知覚される物理的環境に対応する画像上にレンダリングされる、仮想遠隔制御装置のボタンの表現の実施例を図示する。
【0054】
いくつかの実施形態では、ボタンまたはUIデバイスの表現は、表現がポインタ(
図3)の「上部」(例えば、画像の視点から)に現れ得るように、オクルージョンを伴わずにレンダリングされることができる。例えば、ボタン132aの表現132bは、ユーザの指先がオクルードされている、
図3に示される。ボタン132aの表現132bは、ユーザの指先の「上部」に現れる。NNは、有利には、NNが、オクルージョンを伴って、または伴わずにレンダリングされた表現を伴う画像を使用して訓練されたかどうかにかかわらず、オクルージョンを伴って、または伴わずにレンダリングされた表現を伴う画像内のUIイベントを決定することができる。UIデバイスの表現の実施例は、
図5A-5Dを参照して下記に説明される。
【0055】
いくつかの実施形態では、ポインタおよび仮想UIデバイスの場所もまた、考慮され得る。いくつかの実施形態では、焦点が、ポインタと仮想UIデバイスとの間の相互作用または交差を決定するために使用されてもよい。ポインタ先端およびUIデバイスは、相互作用およびUIイベントが生じるために、同一焦点状態にある必要があり得る。
【0056】
いくつかの実施形態では、複数の仮想UIデバイスが、ユーザに同時に提示されてもよい。例えば、
図2に示されるように、ユーザは、ボタン132a、136a等の遠隔制御装置124の複数の仮想UIデバイスを知覚することができる。その上にレンダリングされた表現を伴う画像は、複数のボタンの表現(例えば、
図3に示されるように、ボタン132a、136aの表現132b、136b)を含むことができる。UIイベントに関わる特定の仮想UIデバイスが、決定されることができる。例えば、訓練セットを生成するとき、UIイベントに関わる仮想UIデバイスが、画像が捕捉された後、遡及的に決定されることができる。仮想UIデバイスに対するポインタの位置特定に基づく方法が、要求される精度が低くあり得るため、本遡及的決定のために使用されることができる。
【0057】
いくつかの実施形態では、訓練セットは、対のステレオスコピック画像を含むことができる。例えば、ARDの前向きに向いた結像システムは、ステレオスコピック画像を捕捉するために、2つ以上の結像デバイス(例えば、カメラ)を含むことができる。
図4Aおよび4Bは、ボタンの表現が画像上にレンダリングされている、拡張現実デバイスの2つの結像デバイスによって捕捉された画像の例示的ステレオスコピック対400a、400bを図示する。例えば、ボタン132a、136aの表現132b1、136b1が、画像400aに示され、ボタン132a、136aの対応する表現132b2、136b2が、画像400bに示される。対の画像400a、400b内のボタン132aの表現132b1、132b2は、ユーザの指先の「上部」に現れる。
図4A-4Bでは、画像400a、400b内の左手120aとTV104の場所間の可視差違によって見られるように、左手120aが、右手120bよりユーザに近く、テレビ104および背景(例えば、壁)は、右手120bからより遠くにある。右手120bおよびUIデバイスおよびその表現(例えば、ボタン132a、136aおよびその対応する表現132b1、132b2、136b1、136b2)は、同一深度にあるため、右手120bおよびUIデバイスとその表現との間の相対的相違点は、存在しない。いくつかの実装では、モノスコピック画像のセットが、NNを訓練し、NNを使用して、UIイベントを決定する際に使用されることができる。例えば、ARDの前向きに向いた結像システムは、マルチスコピック画像を捕捉するために、複数の結像デバイス(例えば、カメラ)を含むことができる。その場合、そのようなNNは、有利には、より優れた結果を有することが予期され得る。
(UIデバイスの例示的表現)
【0058】
図5A-5Dは、ユーザインターフェース(UI)デバイスの例示的表現を図示する。UIデバイスの明確に異なる画像を促進するために、NNを訓練するためのUIデバイスの表現は、高コントラストの同心形状(または類似または同一重心を伴う形状)を含むことができる。
図5Aは、指先516aによるオクルージョンを伴わずに指先516a上にレンダリングされる3つの同心リング504a-512aを伴う、ボタンの表現500aを示す。表現500aは、黒色リング508aの外側の白色リング504aと、黒色リング508a内の白色リング512aとを伴う、黒色リング508aを含むことができる。
図5A(および
図5B-5D)における白色リング504aおよび512aに隣接して示される点線は、ボタン500aの表現の一部ではない。点線は、レンダリングされている表現500aを囲繞する、外向きに向いた結像システムによって捕捉された画像の部分から白色リングの輪郭を描くために
図5Aに示される。
【0059】
図5Bは、指先516bによるオクルージョンを伴わずに指先516b上にレンダリングされる2つの同心リング504b-508bを伴う、ボタンの表現500bを示す。表現500bは、黒色リング508bの外側の白色リング504bを伴い、黒色リング508b内の白色リングを伴わない、黒色リング508bを含むことができる。
図5Cは、指先516cによるオクルージョンを伴わずに指先516c上にレンダリングされる2つのリング504c-508cおよび円形512cを伴う、ボタンの表現500cを示す。表現500cは、黒色リング508cの外側の白色リング504cと、黒色リング508c内の白色円形とを伴う、黒色リング508cを含むことができる。
【0060】
図5Dは、指先516dによるオクルージョンを伴わずに指先516d上にアルファブレンディングとともにレンダリングされた3つの同心リング504d-512dを伴う、ボタンの表現500dを示す。表現500dは、リングが黒色リングからの距離が増加するにつれてますます透明になる(例えば、アルファ透明度値がゼロに接近する)ようなアルファブレンディングとともにレンダリングされる、黒色リング508dの外側の白色リング504dと、黒色リング508a内の白色リング512dとを伴う、黒色リング508dを含むことができる。白色リング5の上部に示される4つの点線は、ボタン500dの表現の一部ではない。これらの点線は、異なる透明度値を伴う白色リング512dの領域の輪郭を描くために
図5Dに示される。いくつかの実施形態では、白色リング512dの4つの領域は、異なる透明度値を伴う4つの同心リング512d1-512d4と見なされ得る。
【0061】
いくつかの実装では、NNを訓練するための画像上への表現レンダリングは、ポインタによるオクルージョンを考慮する場合とそうではない場合がある。例えば、ポインタの画像は、構造化された光投影、飛行時間カメラ、またはそれらの組み合わせのいずれかを用いて、ステレオスコピカルに捕捉されることができる。これらの画像から、被写界深度が、任意の画像と関連付けられることができる。本被写界深度は、訓練および入力データの両方をレンダリングするとき、オクルージョンをUIデバイスの表現に提供するために使用されることができる。
(例示的機械学習モデルおよびNN)
【0062】
いくつかの実施形態では、機械学習モデルは、分類モデルを備える。分類モデルは、教師あり分類モデル、半教師あり分類モデル、教師なし分類モデル、またはそれらの組み合わせを備えることができる。機械学習モデルは、ニューラルネットワーク、線形回帰モデル、ロジスティック回帰モデル、決定ツリー、サポートベクトルマシン、単純ベイズネットワーク、k-最近傍(KNN)モデル、k-平均モデル、ランダムフォレストモデル、または任意のそれらの組み合わせを備えることができる。機械学習モデルは、関連付けルール学習モデル、誘導論理プログラミングモデル、強化学習モデル、特徴学習モデル、類似性学習モデル、疎密辞書学習モデル、遺伝的アルゴリズムモデル、ルールベースの機械学習モデル、学習分類子システムモデル、または任意のそれらの組み合わせを備えることができる。
【0063】
深層ニューラルネットワーク(DNN)等のニューラルネットワーク(NN)の層は、線形または非線形変換をその入力に適用し、その出力を生成することができる。深層ニューラルネットワーク層は、正規化層、畳み込み層、ソフトサイン層、正規化線形層、連結層、プーリング層、再帰層、インセプション様層、または任意のそれらの組み合わせであることができる。正規化層は、例えば、L2正規化を用いて、その入力の明度を正規化し、その出力を生成することができる。正規化層は、例えば、相互に対して一度に複数の画像の明度を正規化し、複数の正規化された画像をその出力として生成することができる。明度を正規化するための非限定的例示的方法は、ローカルコントラスト正規化(LCN)またはローカル応答正規化(LRN)を含む。ローカルコントラスト正規化は、平均値ゼロおよび分散1(または他の値の平均値および分散)を有するようにピクセル毎に画像のローカル領域を正規化することによって、画像のコントラストを非線形に正規化することができる。ローカル応答正規化は、平均値ゼロおよび分散1(または他の値の平均値および分散)を有するように、画像をローカル入力領域にわたって正規化することができる。正規化層は、訓練プロセスを加速させ得る。
【0064】
畳み込み層は、その入力を畳み込み、その出力を生成する、カーネルのセットに適用されることができる。ソフトサイン層は、ソフトサイン関数をその入力に適用することができる。ソフトサイン関数(softsign(x))は、例えば、(x/(1+|x|))であることができる。ソフトサイン層は、要素毎誤対応の影響を無視し得る。正規化線形層は、正規化線形層単位(ReLU)またはパラメータ化された正規化線形層単位(PReLU)であることができる。ReLU層は、ReLU関数をその入力に適用し、その出力を生成することができる。ReLU関数ReLU(x)は、例えば、max(0,x)であることができる。PReLU層は、PReLU関数をその入力に適用し、その出力を生成することができる。PReLU関数PReLU(x)は、例えば、x≧0の場合はxおよびx<0の場合はaxであることができ、aは、正の数である。連結層は、その入力を連結し、その出力を生成することができる。例えば、連結層は、4つの5×5画像を連結し、1つの20×20画像を生成することができる。プーリング層は、その入力をダウンサンプリングし、その出力を生成する、プーリング関数を適用することができる。例えば、プーリング層は、20×20画像を10×10画像にダウンサンプリングすることができる。プーリング関数の非限定的実施例は、最大プーリング、平均プーリング、または最小プーリングを含む。
【0065】
時間点tでは、再帰層は、隠蔽された状態s(t)を算出することができ、再帰接続は、時間tにおける隠蔽された状態s(t)を再帰層に後続時間点t+1における入力として提供することができる。再帰層は、時間tにおける隠蔽された状態s(t)に基づいて、時間t+1においてその出力を算出することができる。例えば、再帰層は、ソフトサイン関数を時間tにおいて隠蔽された状態s(t)に適用し、時間t+1におけるその出力を算出することができる。時間t+1における再帰層の隠蔽された状態は、その入力として、時間tにおける再帰層の隠蔽された状態s(t)を有する。再帰層は、例えば、ReLU関数をその入力に適用することによって、隠蔽された状態s(t+1)を算出することができる。インセプション様層は、正規化層、畳み込み層、ソフトサイン層、ReLU層およびPReLU層等の正規化線形層、連結層、プーリング層、または任意のそれらの組み合わせのうちの1つ以上のものを含むことができる。
【0066】
NN内の層の数は、異なる実装では異なり得る。例えば、DNN内の層の数は、50、100、200、またはそれを上回り得る。深層ニューラルネットワーク層の入力タイプは、異なる実装では異なり得る。例えば、層は、いくつかの層の出力をその入力として受信することができる。層の入力は、5つの層の出力を含むことができる。別の実施例として、層の入力は、NNの層の1%を含むことができる。層の出力は、いくつかの層の入力であることができる。例えば、層の出力は、5つの層の入力として使用されることができる。別の実施例として、層の出力は、NNの層の1%の入力として使用されることができる。
【0067】
層の入力サイズまたは出力サイズは、非常に大きくあることができる。層の入力サイズまたは出力サイズは、n×mであることができ、nは、入力または出力の幅を示し、mは、高さを示す。例えば、nまたはmは、11、21、31、またはそれを上回ることができる。層の入力または出力のチャネルサイズは、異なる実装では異なり得る。例えば、層の入力または出力のチャネルサイズは、4、16、32、64、128、またはそれを上回ることができる。層のカーネルサイズは、異なる実装では異なり得る。例えば、カーネルサイズは、n×mであることができ、nは、カーネルの幅を示し、mは、高さを示す。例えば、nまたはmは、5、7、9、またはそれを上回ることができる。層のストライドサイズは、異なる実装では異なり得る。例えば、深層ニューラルネットワーク層のストライドサイズは、3、5、7、またはそれを上回ることができる。
【0068】
いくつかの実施形態では、NNは、NNの出力をともに算出する、複数のNNを指し得る。複数のNNの異なるNNは、異なるタスクに関して訓練されることができる。例えば、複数のNNの異なるNNは、類似タイプの仮想UIデバイスおよびポインタに対する異なるUIイベント(例えば、タッチまたは指向等の仮想UIデバイスの異なるタイプのアクティブ化)の発生を決定するために訓練されることができる。別の実施例として、複数のNNの異なるNNは、類似タイプの仮想UIデバイスおよび異なるポインタ(例えば、スタイラスまたは指先)に対する類似UIイベントの発生を決定するために訓練されることができる。さらなる実施例として、複数のNNの異なるNNは、異なるタイプの仮想UIデバイス(例えば、ボタンまたはスライダ)およびポインタに対する類似UIイベントの発生を決定するために訓練されることができる。プロセッサ(例えば、
図9におけるローカルデータ処理モジュール924のプロセッサ)は、複数のNNのNNの出力を算出し、NNの出力を決定することができる。例えば、複数のNNのNNの出力は、尤度スコアを含むことができる。プロセッサは、複数のNNの異なるNNの出力の尤度スコアに基づいて、複数のNNを含む、NNの出力を決定することができる。
(例示的ニューラルネットワーク訓練方法)
【0069】
図6は、ユーザインターフェースデバイスの表現を使用してユーザインターフェースイベントを決定するための機械学習モデル(例えば、ニューラルネットワーク)訓練の例証的方法600のフロー図を示す。ブロック604では、ポインタの画像が、受信されることができる。画像は、画像内の画像場所における仮想ユーザインターフェース(UI)デバイス(例えば、仮想ボタン)と関連付けられることができる。画像は、UIデバイスおよびポインタに対するUIイベント(例えば、ボタンが押下されている)と関連付けられることができる。
【0070】
UIイベントは、仮想UIデバイスの複数の状態のうちの状態に対応することができる。複数の状態は、タッチ、押下、解放、上/下または左/右への摺動、軌道に沿った移動、または他のタイプの移動等の仮想UIデバイスのアクティブ化または非アクティブ化を備える。UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせであることができる。UIポインタは、ポインタ、ペン、鉛筆、マーカ、ハイライター、ユーザの指、またはそれらの組み合わせ等、ユーザと関連付けられたオブジェクトまたはユーザの一部であることができる。
【0071】
ブロック608では、仮想UIデバイスの表現は、その画像場所における画像上にレンダリングされ、訓練画像を生成することができる。仮想UIデバイスの本表現は、ユーザに示されるUIデバイスの表現(例えば、定型化されたボタン)と異なり得る。ある場合には、表現は、本明細書に説明されるように、標準表現である。画像上にレンダリングされる仮想UIデバイスの表現は、複数の高コントラストの形状を含むことができる。いくつかの実施形態では、複数の高コントラストの形状は、複数の高コントラストの同心形状を含む。代替として、または加えて、複数の形状のうちの形状の重心は、相互の閾値距離内にあることができる。閾値距離は、複数の形状のうちの形状のサイズの0、1、2、5、10、またはそれを上回るピクセルまたはパーセンテージ(例えば、0%、0.1%、1%、2%、またはそれを上回る)に基づくことができる。
【0072】
いくつかの実施形態では、複数の形状は、相互に隣接する、第1の形状および第2の形状を含むことができる。例えば、第1の形状は、第2の形状の内外にあることができる。複数の形状のうちの第1の形状は、第1の色(例えば、黒色または暗色)と関連付けられることができる。複数の形状のうちの第2の形状は、第2の色(例えば、白色または明色)と関連付けられることができる。第2の形状は、部分的に透明であることができる。例えば、第2の形状は、第1の領域と、第2の領域とを含むことができる。第2の形状の第2の領域は、第2の形状の第1の領域からより離れていることができる。第2の形状の第1の領域は、第1の透明度値(例えば、アルファ透明度値)と関連付けられることができる。第2の形状の第2の領域は、第2の透明度値と関連付けられる。第2の透明度値は、第1の透明度値より小さくあることができる。例えば、第1の領域からより離れた第2の領域は、より大きい透明度値を有することができ、より透明である。複数の高コントラストの形状は、第3の色(例えば、白色または明色)を伴う、第3の形状を含むことができる。第1の形状は、第1の形状に隣接することができる。例えば、第3の形状は、第1の形状の内外にあることができる。
【0073】
ブロック612では、入力データと、対応する標的出力データとを含む、訓練セットが、生成されることができる。入力データは、訓練画像を含むことができる。標的出力データは、UIイベントを含むことができる。いくつかの実施形態では、訓練セットは、対のステレオスコピック画像またはマルチスコピック画像のセットを含むことができる。例えば、仮想UIデバイスの第1の表現は、一対のステレオスコピック画像の第1の画像上にレンダリングされることができる。仮想UIデバイスの第2の表現は、対のステレオスコピック画像の第2の画像上にレンダリングされることができる。2つの表現は、異なる、同一である、または異なるサイズを有することができる。
【0074】
ブロック616では、ニューラルネットワーク(NN)が、UIイベントを決定するために、訓練セットを使用して訓練されることができる。訓練セットは、NNを訓練するためのUIデバイスの表現を伴う、モノスコピック画像、対のステレオスコピック画像、またはマルチスコピック画像のセットを含むことができる。NNを訓練するプロセスは、ネットワークに、訓練セットの入力データおよび対応する標的出力データの両方を提示するステップを伴う。訓練プロセスを通して、ネットワークの加重は、ネットワークの出力が、訓練セットからの特定の入力データを前提として、その特定の入力データに対応する標的出力に合致するようになる(例えば、可能な限り、近似的に)ように、漸次的または反復的に適合されることができる。
(ユーザインターフェースイベント決定の例示的方法)
【0075】
図7は、ユーザインターフェースデバイスの表現を使用してユーザインターフェースイベントを決定するために、機械学習モデル(例えば、ニューラルネットワーク)を使用する、例証的方法のフロー図を示す。頭部搭載可能またはウェアラブルARDまたはディスプレイシステム等のユーザデバイスが、方法700を実装することができる。ブロック704では、ARDは、訓練画像を含む訓練セットを使用して訓練されたニューラルネットワーク(NN)を受信することができる。訓練画像は、ポインタと、仮想UIデバイスの表現とを含むことができる。訓練画像は、仮想UIデバイスおよびポインタに対するUIイベントと関連付けられることができる。例えば、NNは、方法600を使用して訓練されたNNであることができる。
【0076】
ブロック708では、ARDは、ポインタの画像を受信することができる。画像は、画像場所における仮想UIデバイスと関連付けられる。例えば、画像は、仮想デバイスがARDによってユーザに表示されると、ARDの前向きに向いた結像システムによって捕捉されることができる。UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせであることができる。UIポインタは、ポインタ、ペン、鉛筆、マーカ、ハイライター、ユーザの指、またはそれらの組み合わせ等、ユーザと関連付けられたオブジェクトまたはユーザの一部であることができる。
【0077】
ブロック712では、ARDは、仮想UIデバイスの表現を仮想UIデバイスと関連付けられた画像場所における画像上にレンダリングすることができる。方法600を参照して詳細に説明されるように、仮想UIデバイスの表現は、その画像場所における画像上にレンダリングされ、訓練画像を生成することができる。仮想UIデバイスの表現は、複数の高コントラストの形状を含むことができる。いくつかの実施形態では、複数の高コントラストの形状は、複数の高コントラストの同心形状を含む。代替として、または加えて、複数の形状のうちの形状の重心は、相互の閾値距離内にあることができる。いくつかの実施形態では、複数の形状は、異なる色(例えば、黒色、暗色、白色、または明色)の隣接する形状を含むことができる。ブロック712においてARDによってレンダリングされた仮想UIデバイスの表現は、訓練画像を生成するためにブロック608においてレンダリングされたUIデバイスの表現と類似または同一であることができる。
【0078】
ブロック716では、ARDは、NNを使用して、画像内のポインタに対するUIイベントと、画像と関連付けられた仮想UIデバイスとを決定することができる。UIイベントは、仮想UIデバイスの複数の状態のうちの状態に対応することができる。複数の状態は、タッチ、押下、解放、上/下または左/右への摺動、軌道に沿った移動、または他のタイプの移動等、仮想UIデバイスのアクティブ化または非アクティブ化を備える。随意に、ARDは、UIイベント決定に基づいて、仮想コンテンツ、仮想画像情報、またはその修正バージョンを生成し、そのディスプレイを介して、仮想コンテンツをARDの装着者に提供させることができる。加えて、または代替として、ARDは、UIイベントに基づいて、アクションを実施することができる。例えば、ARDは、
図1を参照して説明されるTV104をオンにさせることができる。UIイベントに基づいて、仮想コンテンツを生成する、またはアクションを実施するステップの説明は、2017年12月1日に出願され、「VIRTUAL USER INPUT CONTROLS IN A MIXED REALITY ENVIRONMENT」と題された米国特許出願第15/829,249号(その内容は、参照することによってその全体として本明細書に組み込まれる)に提供される。
(例示的拡張現実シナリオ)
【0079】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、それらが現実であるように見える、またはそのように知覚され得る様式において、ユーザに提示される。仮想現実「VR」シナリオは、典型的には、他の実際の実世界視覚的入力に対して透明性を伴わずに、デジタルまたは仮想画像情報の提示を伴う、拡張現実「AR」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてデジタルまたは仮想画像情報の提示を伴う、または複合現実「MR」シナリオは、典型的には、実および仮想世界の融合を伴い、新しい環境を生成し、物理的および仮想オブジェクトが、共存し、リアルタイムで相互作用する。結論からいうと、ヒトの視知覚系は、非常に複雑であって、他の仮想または実世界画像要素間における仮想画像要素の快適で、自然のような感覚で、かつ豊かな提示を促進する、VR、AR、またはMRの生成は、困難である。本明細書に開示される、システムおよび方法は、VR、AR、およびMR技術に関連する種々の課題に対処する。
【0080】
図8は、人物によって視認される、ある仮想現実オブジェクトおよびある実際の現実オブジェクトを伴う、拡張現実シナリオの例証を描写する。
図8は、拡張現実場面800を描写し、AR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム820を特徴とする、実世界公園状設定810が見える。これらのアイテムに加え、AR技術のユーザはまた、実世界プラットフォーム820上に立っているロボット像830と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ840(例えば、マルハナバチ)とが「見える」と知覚するが、これらの要素は、実世界には存在しない。
【0081】
3次元(3D)ディスプレイが、深度の真の感覚、より具体的には、表面深度のシミュレートされた感覚を生成するために、ディスプレイの視野内の点毎に、その仮想深度に対応する遠近調節応答を生成することが望ましい。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって決定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、不安定な結像、有害な眼精疲労、頭痛、および遠近調節情報の不在下では、表面深度のほぼ完全な欠如をもたらし得る。
【0082】
VR、AR、およびMR体験は、複数の深度平面に対応する画像が視認者に提供されるディスプレイを有する、ディスプレイシステムによって提供されることができる。画像は、深度平面毎に異なってもよく(例えば、場面またはオブジェクトの若干異なる提示を提供する)、視認者の眼によって別個に集束され、それによって、異なる深度平面上に位置する場面に関する異なる画像特徴に合焦させるために要求される眼の遠近調節に基づいて、および/または合焦からずれている異なる深度平面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、深度の真実味のある知覚を提供する。VR、AR、およびMR体験を生成または向上させるために、ディスプレイシステムは、バイオメトリック情報を使用して、それらの体験を向上させることができる。
(例示的ウェアラブルディスプレイシステム)
【0083】
図9は、VR、AR、またはMR体験をディスプレイシステム装着者または視認者904に提示するために使用され得る、ウェアラブルディスプレイシステム900の実施例を図示する。ウェアラブルディスプレイシステム900は、本明細書に説明される用途または実施例のいずれかを実施するようにプログラムされてもよい。ディスプレイシステム900は、ディスプレイ908と、ディスプレイ908の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ908は、ディスプレイシステムユーザ、装着者、または視認者904によって装着可能であって、ディスプレイ908を装着者904の眼の正面に位置付けるように構成される、フレーム912に結合されてもよい。ディスプレイ908は、ライトフィールドディスプレイであってもよい。いくつかの実施形態では、スピーカ916が、フレーム912に結合され、ユーザの外耳道に隣接して位置付けられる。いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する。ディスプレイ908は、有線導線または無線コネクティビティ等によって、フレーム912に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ904に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載され得る、ローカルデータ処理モジュール924に動作可能に結合される920。
【0084】
フレーム912は、フレーム912に取り付けられ、または搭載され、装着者の眼の画像を得る、1つ以上のカメラを有することができる。一実施形態では、カメラは、眼が直接結像され得るように、装着者の眼の正面においてフレーム912に搭載されてもよい。他の実施形態では、カメラは、フレーム912のステムに沿って(例えば、装着者の耳の近傍に)搭載されることができる。そのような実施形態では、ディスプレイ908は、光を装着者の眼からカメラに向かって反射させる、材料でコーティングされてもよい。光は、虹彩特徴が赤外線画像内で顕著であるため、赤外線光であってもよい。
【0085】
ローカル処理およびデータモジュール924は、ハードウェアプロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等の非一過性デジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、(a)センサ(例えば、フレーム912に動作可能に結合される、または別様にユーザ904に取り付けられ得る)、例えば、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープから捕捉されるデータ、および/または(b)可能性として、処理または読出後にディスプレイ908への通過のために、遠隔処理モジュール928および/または遠隔データリポジトリ932を使用して入手および/または処理されるデータを含んでもよい。ローカル処理およびデータモジュール924は、これらの遠隔モジュール928、932が、ローカル処理およびデータモジュール924へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク936および/または940によって、遠隔処理モジュール928および/または遠隔データリポジトリ932に動作可能に結合されてもよい。画像補足デバイスは、眼画像処理プロシージャにおいて使用される眼画像を捕捉するために使用されることができる。加えて、遠隔処理モジュール928および遠隔データリポジトリ932は、相互に動作可能に結合されてもよい。
【0086】
いくつかの実施形態では、遠隔処理モジュール928は、画像捕捉デバイスによって捕捉されたビデオ情報等のデータおよび/または画像情報を分析および処理するように構成される、1つまたはそれを上回るプロセッサを備えてもよい。ビデオデータは、ローカル処理およびデータモジュール924および/または遠隔データリポジトリ932内でローカルに記憶されてもよい。いくつかの実施形態では、遠隔データリポジトリ932は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュール924において実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
【0087】
いくつかの実装では、ローカル処理およびデータモジュール924および/または遠隔処理モジュール928は、本明細書に説明されるシステムおよび方法の実施形態を行うようにプログラムされる。画像捕捉デバイスは、特定の用途のためのビデオ(例えば、眼追跡用途のための装着者の眼のビデオまたはジェスチャ識別用途のための装着者の手または指のビデオ)を捕捉することができる。ビデオは、処理モジュール924、928の一方または両方によって、分析されることができる。ある場合には、虹彩コード生成の少なくともいくつかを遠隔処理モジュール(例えば、「クラウド」内の)にオフロードすることは、計算の効率または速度を改良し得る。本明細書に開示されるシステムおよび方法のパラメータは、データモジュール924および/または928内に記憶されることができる。
【0088】
分析の結果は、付加的動作または処理のために、処理モジュール924、928の一方または両方によって使用されることができる。例えば、種々の用途では、バイオメトリック識別、眼追跡、認識、またはジェスチャ、オブジェクト、姿勢等の分類が、ウェアラブルディスプレイシステム900によって使用されてもよい。例えば、ウェアラブルディスプレイシステム900は、装着者904の手の捕捉されたビデオを分析し、装着者の手によるジェスチャ(例えば、実または仮想オブジェクトの取上、賛成または反対の信号伝達(例えば、「親指を上に向ける」または「親指を下に向ける」)等)、およびウェアラブルディスプレイシステムを認識してもよい。
【0089】
いくつかの実施形態では、ローカル処理モジュール924、遠隔処理モジュール928、およびクラウド上のシステムは、本明細書に開示される方法の一部または全部を実施することができる。例えば、遠隔処理モジュール928またはクラウド上のシステムは、
図6を参照して上記に説明される方法600を実施し、仮想ユーザインターフェース(UI)デバイス(例えば、ボタン)の表現をポインタ(例えば、スタイラス)の画像上にレンダリングし、仮想UIデバイスの表現を伴う画像を使用して、UIイベントを決定するためのニューラルネットワーク(NN)を訓練することができる。別の実施例として、ローカル処理モジュール924は、
図7を参照して上記に説明される方法700を実施することができる。ローカル処理モジュール924は、NNを遠隔処理モジュール928またはクラウド上のシステムから受信することができる。ローカル処理モジュール924は、NNを使用して、画像内のポインタに対するUIイベントと、画像と関連付けられた仮想UIデバイスとを決定することができる。
【0090】
ヒト視覚系は、複雑であって、深度の現実的知覚を提供することは、困難である。理論によって限定されるわけではないが、オブジェクトの視認者は、輻輳・開散運動(vergence)移動と遠近調節(accmmodation)の組み合わせに起因して、オブジェクトを3次元として知覚し得ると考えられる。相互に対する2つの眼の輻輳・開散運動移動(例えば、瞳孔が、相互に向かって、またはそこから離れるように移動し、眼の視線を収束させ、オブジェクトを固視するような瞳孔の回転)は、眼の水晶体の合焦(または「遠近調節」)と緊密に関連付けられる。通常条件下、焦点を1つのオブジェクトから異なる距離における別のオブジェクトに変化させるための眼のレンズの焦点の変化または眼の遠近調節は、「遠近調節-輻輳・開散運動反射」として知られる関係下、輻輳・開散運動の整合変化を自動的に同一距離に生じさせるであろう。同様に、輻輳・開散運動の変化は、通常条件下、遠近調節の整合変化を誘起するであろう。遠近調節と輻輳・開散運動との間のより良好な整合を提供するディスプレイシステムは、3次元画像のより現実的なまたは快適なシミュレーションを形成し得る。
【0091】
図10は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図示する。
図10を参照すると、z-軸上の眼1002および1004からの種々の距離におけるオブジェクトは、それらのオブジェクトが合焦するように、眼1002および1004によって遠近調節される。眼1002および1004は、特定の遠近調節された状態をとり、オブジェクトをz-軸に沿った異なる距離に合焦させる。その結果、特定の遠近調節された状態は、特定の深度平面におけるオブジェクトまたはオブジェクトの一部が、眼がその深度平面に対して遠近調節された状態にあるとき、合焦するように、関連付けられた焦点距離を有する、深度平面1006のうちの特定の1つと関連付けられると言え得る。いくつかの実施形態では、3次元画像は、眼1002および1004毎に、画像の異なる提示を提供することによって、また、深度平面のそれぞれに対応する画像の異なる提示を提供することによって、シミュレートされてもよい。例証を明確にするために、別個であるように示されるが、眼1002および1004の視野は、例えば、z-軸に沿った距離が増加するにつれて、重複し得ることを理解されたい。加えて、例証を容易にするために、平坦であるように示されるが、深度平面の輪郭は、深度平面内の全ての特徴が特定の遠近調節された状態における眼と合焦するように、物理的空間内で湾曲され得ることを理解されたい。理論によって限定されるわけではないが、ヒトの眼は、典型的には、有限数の深度平面を解釈し、深度知覚を提供することができると考えられる。その結果、知覚された深度の高度に真実味のあるシミュレーションが、眼にこれらの限定数の深度平面のそれぞれに対応する画像の異なる提示を提供することによって達成され得る。
(例示的導波管スタックアセンブリ)
【0092】
図11は、画像情報をユーザに出力するための導波管スタックの実施例を図示する。ディスプレイシステム1100は、複数の導波管1120、1122、1124、1126、1128を使用して、3次元知覚を眼1110または脳に提供するために利用され得る、導波管のスタックまたはスタックされた導波管アセンブリ1105を含む。いくつかの実施形態では、ディスプレイシステム1100は、
図9のシステム900に対応してもよく、
図11は、そのシステム900のいくつかの部分をより詳細に図式的に示す。例えば、いくつかの実施形態では、導波管アセンブリ1105は、
図9のディスプレイ908の中に統合されてもよい。
【0093】
図11を継続して参照すると、導波管アセンブリ1105はまた、複数の特徴1130、1132、1134、1136を導波管の間に含んでもよい。いくつかの実施形態では、特徴1130、1132、1134、1136は、レンズであってもよい。いくつかの実施形態では、特徴1130、1132、1134、1136は、レンズではなくてもよい。むしろ、それらは、スペーサであってもよい(例えば、空気間隙を形成するためのクラッディング層および/または構造)。
【0094】
導波管1120、1122、1124、1126、1128および/または複数のレンズ1130、1132、1134、1136は、種々のレベルの波面曲率または光線発散を伴って、画像情報を眼に送信するように構成されてもよい。各導波管レベルは、特定の深度平面と関連付けられてもよく、その深度平面に対応する画像情報を出力するように構成されてもよい。画像投入デバイス1140、1142、1144、1146、1148は、それぞれが眼1110に向かって出力のために各個別の導波管を横断して入射光を分散させるように構成され得る、導波管1120、1122、1124、1126、1128の中に画像情報を投入するために利用されてもよい。光は、画像投入デバイス1140、1142、1144、1146、1148の出力表面から出射し、導波管1120、1122、1124、1126、1128の対応する入力縁の中に投入される。いくつかの実施形態では、光の単一ビーム(例えば、コリメートされたビーム)が、各導波管の中に投入され、特定の導波管と関連付けられた深度平面に対応する特定の角度(および発散量)において眼1110に向かって指向される、クローン化されたコリメートビームの場全体を出力してもよい。
【0095】
いくつかの実施形態では、画像投入デバイス1140、1142、1144、1146、1142はそれぞれ、それぞれの対応する導波管1120、1122、1124、1126、1128の中への投入のための画像情報を生成する、離散ディスプレイである。いくつかの他の実施形態では、画像投入デバイス1140、1142、1144、1146、1148は、例えば、画像情報を1つ以上の光学導管(光ファイバケーブル等)を介して、画像投入デバイス1140、1142、1144、1146、1148のそれぞれに送り得る、単一の多重化されたディスプレイの出力端である。
【0096】
コントローラ1150が、スタックされた導波管アセンブリ1105および画像投入デバイス1140、1142、1144、1146、1148の動作を制御する。いくつかの実施形態では、コントローラ1150は、導波管1120、1122、1124、1126、1128への画像情報のタイミングおよび提供を調整する、プログラミング(例えば、非一過性コンピュータ可読媒体内の命令)を含む。いくつかの実施形態では、コントローラ1150は、単一の一体型デバイスまたは有線または無線通信チャネルによって接続される分散型システムであってもよい。コントローラ1150は、いくつかの実施形態では、処理モジュール924および/または928(
図9に図示される)の一部であってもよい。いくつかの実施形態では、コントローラは、内向きに向いた結像システム1152(例えば、デジタルカメラ)、外向きに向いた結像システム1154(例えば、デジタルカメラ)、および/またはユーザ入力デバイス116と通信してもよい。内向きに向いた結像システム1152(例えば、デジタルカメラ)は、眼1110の画像を捕捉し、例えば、眼1110の瞳孔のサイズおよび/または配向を決定するために使用されることができる。外向きに向いた結像システム1154は、世界1158の一部を結像するために使用されることができる。ユーザは、ユーザ入力デバイス1156を介して、コマンドをコントローラ1150に入力し、ディスプレイシステム1100と相互作用することができる。
【0097】
導波管1120、1122、1124、1126、1128は、全内部反射(TIR)によって各個別の導波管内で光を伝搬するように構成されてもよい。導波管1120、1122、1124、1126、1128はそれぞれ、主要上部表面および主要底部表面およびそれらの主要上部表面と主要底部表面との間に延在する縁を伴う、平面である、または別の形状(例えば、湾曲)を有してもよい。図示される構成では、導波管1120、1122、1124、1126、1128はそれぞれ、光を再指向させ、各個別の導波管内で伝搬させ、導波管から画像情報を眼1110に出力することによって、光を導波管から抽出するように構成される、光抽出光学要素1160、1162、1164、1166、1168を含んでもよい。抽出された光はまた、外部結合光と称され得、光抽出光学要素はまた、外部結合光学要素と称され得る。抽出された光のビームは、導波管によって、導波管内で伝搬する光が光再指向要素に衝打する場所において出力される。光抽出光学要素(1160、1162、1164、1166、1168)は、例えば、反射および/または回折光学特徴であってもよい。説明を容易にし、図面を明確にするために、導波管1120、1122、1124、1126、1128の底部主要表面に配置されて図示されるが、いくつかの実施形態では、光抽出光学要素1160、1162、1164、1166、1168は、上部主要表面および/または底部主要表面に配置されてもよく、および/または導波管1120、1122、1124、1126、1128の容積内に直接配置されてもよい。いくつかの実施形態では、光抽出光学要素1160、1162、1164、1166、1168は、透明基板に取り付けられ、導波管1120、1122、1124、1126、1128を形成する、材料の層内に形成されてもよい。いくつかの他の実施形態では、導波管1120、1122、1124、1126、1128は、モノリシック材料部品であってもよく、光抽出光学要素1160、1162、1164、1166、1168は、その材料部品の表面上および/または内部に形成されてもよい。
【0098】
図11を継続して参照すると、本明細書に議論されるように、各導波管1120、1122、1124、1126、1128は、光を出力し、特定の深度平面に対応する画像を形成するように構成される。例えば、眼の最近傍の導波管1120は、そのような導波管1120の中に投入されるにつれて、コリメートされた光を眼1110に送達するように構成されてもよい。コリメートされた光は、光学無限遠焦点面を表し得る。次の上方の導波管1122は、眼1110に到達し得る前に、第1のレンズ1130(例えば、負のレンズ)を通して通過する、コリメートされた光を送出するように構成されてもよい。第1のレンズ1130は、眼/脳が、その次の上方導波管1122から生じる光を光学無限遠から眼1110に向かって内向きにより近い第1の焦点面から生じるように解釈するように、若干の凸面波面曲率を生成するように構成されてもよい。同様に、第3の上方の導波管1124は、眼1110に到達する前に、その出力光を第1のレンズ1130および第2のレンズ1132の両方を通して通過させる。第1および第2のレンズ1130および1132の組み合わせられた屈折力は、眼/脳が、第3の導波管1124から生じる光を次の上方の導波管1122からの光であったよりも光学無限遠から人物に向かって内向きにさらに近い第2の焦点面から生じるように解釈するように、別の漸増量の波面曲率を生成するように構成されてもよい。
【0099】
他の導波管層(例えば、導波管1126、1128)およびレンズ(例えば、レンズ1134、1136)も同様に構成され、スタック内の最高導波管1128は、人物に最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ1105の他側の世界1158から生じる光を視認/解釈するとき、レンズ1130、1132、1134、1136のスタックを補償するために、補償レンズ層1138が、スタックの上部に配置され、下方のレンズスタック1130、1132、1134、1136の集約力を補償してもよい。そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管1120、1122、1124、1126、1128の光抽出光学要素1160、1162、1164、1166、1168およびレンズ1130、1132、1134、1136の集束側面は両方とも、静的であってもよい(例えば、動的または電気活性ではない)。いくつかの代替実施形態では、一方または両方とも、電気活性特徴を使用して動的であってもよい。
【0100】
図11を継続して参照すると、光抽出光学要素1160、1162、1164、1166、1168は、導波管と関連付けられた特定の深度平面のために、光をその個別の導波管から再指向し、かつ本光を適切な量の発散またはコリメーションを伴って出力するように構成されてもよい。その結果、異なる関連付けられた深度平面を有する導波管は、関連付けられた深度平面に応じて、異なる量の発散を伴う光を出力する、異なる構成の光抽出光学要素を有してもよい。いくつかの実施形態では、本明細書に議論されるように、光抽出光学要素1160、1162、1164、1166、1168は、光を具体的角度で出力するように構成され得る、立体特徴または表面特徴であってもよい。例えば、光抽出光学要素1160、1162、1164、1166、1168は、立体ホログラム、表面ホログラム、および/または回折格子であってもよい。回折格子等の光抽出光学要素は、2015年6月25日に公開された米国特許公開第2015/0178939号(参照することによってその全体として本明細書に組み込まれる)に説明されている。いくつかの実施形態では、特徴1130、1132、1134、1136、1138は、レンズではなくてもよい。むしろ、それらは、単に、スペーサであってもよい(例えば、クラッディング層および/または空隙を形成するための構造)。
【0101】
いくつかの実施形態では、光抽出光学要素1160、1162、1164、1166、1168は、回折パターンを形成する回折特徴または「回折光学要素」(本明細書では、「DOE」とも称される)である。好ましくは、DOEは、ビームの光の一部のみがDOEの各交差部で眼1110に向かって偏向される一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像情報を搬送する光は、したがって、複数の場所において導波管から出射する、いくつかの関連出射ビームに分割され、その結果、導波管内でバウンスする本特定のコリメートされたビームに関して、眼1110に向かって非常に均一なパターンの出射放出となる。
【0102】
いくつかの実施形態では、1つ以上のDOEは、能動的に回折する「オン」状態と有意に回折しない「オフ」状態との間で切替可能であってもよい。例えば、切替可能なDOEは、ポリマー分散液晶の層を備えてもよく、その中で微小液滴は、ホスト媒体中に回折パターンを備え、微小液滴の屈折率は、ホスト材料の屈折率に実質的に整合するように切り替えられることができる(その場合、パターンは、入射光を著しく回折させない)、または微小液滴は、ホスト媒体のものに整合しない屈折率に切り替えられることができる(その場合、パターンは、入射光を能動的に回折させる)。
【0103】
いくつかの実施形態では、深度平面および/または被写界深度の数および分散は、視認者の眼の瞳孔サイズおよび/または配向に基づいて、動的に変動されてもよい。いくつかの実施形態では、内向きに向いた結像システム1152(例えば、デジタルカメラ)が、眼1110の画像を捕捉し、眼1110の瞳孔のサイズおよび/または配向を決定するために使用されてもよい。いくつかの実施形態では、内向きに向いた結像システム1152は、フレーム912(
図9に図示されるように)に取り付けられてもよく、内向きに向いた結像システム1152からの画像情報を処理し、例えば、ユーザ904の瞳孔直径または眼の配向を決定し得る、処理モジュール924および/または928と電気通信してもよい。
【0104】
いくつかの実施形態では、内向きに向いた結像システム1152(例えば、デジタルカメラ)は、眼移動および顔移動等、ユーザの移動を観察することができる。内向きに向いた結像システム1152は、眼1110の画像を捕捉し、眼1110の瞳孔のサイズおよび/または配向を決定するために使用されてもよい。内向きに向いた結像システム1152は、ユーザが見ている方向(例えば、眼姿勢)を決定する際に使用するため、またはユーザのバイオメトリック識別のため(例えば、虹彩識別を介して)の画像を得るために使用されることができる。内向きに向いた結像システム1152によって得られる画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにディスプレイシステム1100によって使用され得る、ユーザの眼姿勢および/または気分を決定するために分析されてもよい。ディスプレイシステム1100はまた、慣性測定ユニット(IMU)、加速度計、ジャイロスコープ等のセンサを使用して、頭部姿勢(例えば、頭部位置または頭部配向)を決定してもよい。頭部の姿勢は、単独で、または眼姿勢と組み合わせて、ステムトラックと相互作用する、および/またはオーディオコンテンツを提示するために使用されてもよい。
【0105】
いくつかの実施形態では、1つのカメラが、眼毎に利用され、各眼の瞳孔サイズおよび/または配向を別個に決定し、それによって、各眼への画像情報の提示がその眼に動的に調整されることを可能にしてもよい。いくつかの実施形態では、少なくとも1つのカメラが、眼毎に利用され、独立して、各眼の瞳孔サイズおよび/または眼姿勢を別個に決定し、それによって、各眼への画像情報の提示がその眼に動的に調整されることを可能にしてもよい。いくつかの他の実施形態では、片眼1110のみの瞳孔直径および/または配向(例えば、対の眼あたり単一カメラのみを使用して)が、決定され、視認者904の両眼に対して類似すると仮定される。
【0106】
例えば、被写界深度は、視認者の瞳孔サイズと反比例して変化してもよい。その結果、視認者の眼の瞳孔のサイズが減少するにつれて、被写界深度は、その平面の場所が眼の焦点深度を越えるため判別不能である1つの平面が、判別可能となり、瞳孔サイズの低減および被写界深度の相当する増加に伴って、より合焦して現れ得るように増加する。同様に、異なる画像を視認者に提示するために使用される、離間される深度平面の数は、減少された瞳孔サイズに伴って減少されてもよい。例えば、視認者は、一方の深度平面から他方の深度平面への眼の遠近調節を調節せずに、第1の深度平面および第2の深度平面の両方の詳細を1つの瞳孔サイズにおいて明確に知覚することが可能ではない場合がある。しかしながら、これらの2つの深度平面は、同時に、遠近調節を変化させずに、別の瞳孔サイズにおいてユーザに合焦するには十分であり得る。
【0107】
いくつかの実施形態では、ディスプレイシステムは、瞳孔サイズおよび/または配向の決定に基づいて、または特定の瞳孔サイズおよび/または配向を示す電気信号の受信に応じて、画像情報を受信する導波管の数を変動させてもよい。例えば、ユーザの眼が、2つの導波管と関連付けられた2つの深度平面間を区別不能である場合、コントローラ1150は、これらの導波管のうちの1つへの画像情報の提供を停止するように構成またはプログラムされてもよい。有利には、これは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのDOEがオンおよびオフ状態間で切替可能である実施形態では、DOEは、導波管が画像情報を受信するとき、オフ状態に切り替えられてもよい。
【0108】
いくつかの実施形態では、出射ビームに視認者の眼の直径未満の直径を有するという条件を満たさせることが望ましくあり得る。しかしながら、本条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態では、本条件は、視認者の瞳孔のサイズの決定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズもまた、減少し得る。いくつかの実施形態では、出射ビームサイズは、可変開口を使用して変動されてもよい。
【0109】
ディスプレイシステム1100は、世界1158の一部を結像する、外向きに向いた結像システム1154(例えば、デジタルカメラ)を含むことができる。世界1158の本部分は、視野(FOV)と称され得、結像システム1154は、時として、FOVカメラとも称される。視認者904による視認または結像のために利用可能な領域全体は、動眼視野(FOR)と称され得る。FORは、ディスプレイシステム1100を囲繞する4πステラジアンの立体角を含んでもよい。ディスプレイシステム1100のいくつかの実装では、FORは、ユーザ904が、ユーザを囲繞するオブジェクトを見るためにその頭部および眼を移動させ得るため、ディスプレイシステム1100のユーザ904の周囲の立体角の実質的に全てを含んでもよい(ユーザの正面、背面、上方、下方、または側面)。外向きに向いた結像システム1154から得られた画像は、ユーザによって行われるジェスチャ(例えば、手または指のジェスチャ)を追跡し、ユーザの正面における世界1158内のオブジェクトを検出する等のために、使用されることができる。
【0110】
オブジェクト認識または検出は、種々のコンピュータビジョン技法を使用して実施されてもよい。例えば、ウェアラブルシステムは、外向きに向いた結像システム1154(
図11を参照して説明される)によって入手された画像を分析し、場面再構成、イベント検出、ビデオ追跡、オブジェクト認識(例えば、人物またはドキュメント)、ジェスチャ検出または認識、オブジェクト姿勢推定、顔認識(例えば、環境内の人物またはドキュメント上の画像から)、学習、インデックス化、運動推定、または画像分析(例えば、写真、署名、識別情報、旅行情報等のドキュメント内の印を識別する)等を実施することができる。1つ以上のコンピュータビジョンアルゴリズムが、これらのタスクを実施するために使用されてもよい。ローカル処理およびデータモジュール924および/または遠隔処理モジュール928および遠隔データリポジトリ932は、画像をクローリングし、コンピュータビジョンアルゴリズムを画像上で実施する、オブジェクト認識装置とともにプログラムされることができる。コンピュータビジョンアルゴリズムの非限定的実施例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、配向FASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトルマシン、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。
【0111】
オブジェクト認識または検出は、加えて、または代替として、種々の機械学習アルゴリズムによって実施されることができる。いったん訓練されると、機械学習アルゴリズムは、ARD(例えば、ローカル処理およびデータモジュール924および/または遠隔処理モジュール928および遠隔データリポジトリ932)によって記憶されることができる。機械学習アルゴリズムのいくつかの実施例は、教師ありまたは教師なし機械学習アルゴリズムを含むことができ、回帰アルゴリズム(例えば、通常の最小2乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイズアルゴリズム(例えば、単純ベイズ等)、クラスタリングアルゴリズム(例えば、k-平均クラスタリング等)、関連付けルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、Perceptron等)、深層学習アルゴリズム(例えば、Deep Boltzmann Machine、すなわち、深層ニューラルネットワーク等)、次元削減アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、Stacked Gneralization等)、および/または他の機械学習アルゴリズムを含む。いくつかの実施形態では、個々のモデルは、個々のデータセットのためにカスタマイズされることができる。例えば、ウェアラブルデバイスは、基本モデルを生成または記憶することができる。基本モデルは、開始点として使用され、データタイプ(例えば、テレプレゼンスセッション内の特定のユーザ)、データセット(例えば、テレプレゼンスセッション内のユーザの取得される付加的画像のセット)、条件付き状況、または他の変形例に特有の付加的モデルを生成してもよい。いくつかの実施形態では、ウェアラブルHMDは、複数の技法を利用して、集約されたデータの分析のためのモデルを生成するように構成されることができる。他の技法は、事前に定義された閾値またはデータ値を使用することを含んでもよい。
【0112】
ディスプレイシステム1100は、ユーザが、コマンドをコントローラ1150に入力し、ディスプレイシステム400と相互作用し得る、ユーザ入力デバイス1156を含むことができる。例えば、ユーザ入力デバイス1156は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド(Dパッド)、ワンド、触知デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等を含むことができる。ある場合には、ユーザは、指(例えば、親指)を使用して、タッチセンサ式入力デバイスを押下またはその上でスワイプし、入力をディスプレイシステム1100に提供してもよい(例えば、ユーザ入力をディスプレイシステム1100によって提供されるユーザインターフェースに提供するために)。ユーザ入力デバイス1156は、ディスプレイシステム1100の使用の間、ユーザの手によって保持されてもよい。ユーザ入力デバイス1156は、ディスプレイシステム1100と有線または無線通信することができる。
【0113】
図12は、導波管によって出力された出射ビームの実施例を示す。1つの導波管が図示されるが、導波管アセンブリ1105内の他の導波管も同様に機能し得、導波管アセンブリ1105は、複数の導波管を含むことを理解されたい。光1205が、導波管1120の入力縁1210において導波管1120の中に投入され、全内部反射(TIR)によって導波管1120内を伝搬する。光1205が回折光学要素(DOE)1160に衝突する点において、光の一部が、出射ビーム1215として導波管から出射する。出射ビーム1215は、略平行として図示されるが、それらはまた、導波管1120と関連付けられた深度平面に応じて、ある角度で眼1110に伝搬するように再指向されてもよい(例えば、発散出射ビーム形成)。略平行出射ビームは、眼1110からの遠距離(例えば、光学無限遠)における深度平面に設定されるように現れる画像を形成するように光を外部結合する、光抽出光学要素を伴う導波管を示し得ることを理解されたい。他の導波管または他の光抽出光学要素のセットは、より発散する、出射ビームパターンを出力してもよく、眼1110がより近い距離に遠近調節し、網膜に合焦させることを要求し、光学無限遠より眼1110に近い距離からの光として脳によって解釈されるであろう。
【0114】
図13は、導波管装置と、光を導波管装置へまたはそこから光学的に結合するための光学結合器サブシステムと、制御サブシステムとを含む、ディスプレイシステム1100の別の実施例を示す。ディスプレイシステム1100は、多焦点立体、画像、またはライトフィールドを生成するために使用されることができる。ディスプレイシステム1100は、1つ以上の一次平面導波管1304(1つのみが
図13に示される)と、一次導波管1304の少なくともいくつかのそれぞれと関連付けられた1つ以上のDOE1308とを含むことができる。平面導波管1304は、
図11を参照して議論される導波管1120、1122、1124、1126、1128に類似することができる。光学システムは、分散導波管装置を採用し、光を第1の軸(
図13の図では、垂直またはY-軸)に沿って中継し、第1の軸(例えば、Y-軸)に沿って光の有効射出瞳を拡張させてもよい。分散導波管装置は、例えば、分散平面導波管1312と、分散平面導波管1312と関連付けられた少なくとも1つのDOE1316(二重破線によって図示される)とを含んでもよい。分散平面導波管1312は、少なくともいくつかの点において、それと異なる配向を有する一次平面導波管1304と類似または同じであってもよい。同様に、少なくとも1つのDOE1316は、少なくともいくつかの点において、DOE1308と類似または同じであってもよい。例えば、分散平面導波管1312および/またはDOE1316は、それぞれ、一次平面導波管1304および/またはDOE1308と同一材料から成ってもよい。
図13に示される光学システムは、
図9に示されるウェアラブルディスプレイシステム900の中に統合されることができる。
【0115】
中継され、射出瞳が拡張された光は、分散導波管装置から1つ以上の一次平面導波管1304の中に光学的に結合される。一次平面導波管1304は、好ましくは、第1の軸に直交する、第2の軸(例えば、
図13の図では、水平またはX-軸)に沿って、光を中継する。着目すべきこととして、第2の軸は、第1の軸に対して非直交軸であることができる。一次平面導波管1304は、その第2の軸(例えば、X-軸)に沿って、光の有効射出経路を拡張させる。例えば、分散平面導波管1310は、光を垂直またはY-軸に沿って中継および拡張させ、光を水平またはX-軸に沿って中継および拡張させる、一次平面導波管1304にその光を通過させることができる。
【0116】
ディスプレイシステム1100は、単一モード光ファイバ1324の近位端の中に光学的に結合され得る、1つ以上の着色光源(例えば、赤色、緑色、および青色レーザ光)1320を含んでもよい。光ファイバ1324の遠位端は、圧電材料の中空管1328を通して螺合または受容されてもよい。遠位端は、固定されない可撓性カンチレバー1332として、管1328から突出する。圧電管1328は、4つの象限電極(図示せず)と関連付けられることができる。電極は、例えば、管1328の外側、外側表面または外側周縁、または直径に鍍着されてもよい。コア電極(図示せず)もまた、管1328のコア、中心、内側周縁、または内径に位置する。
【0117】
例えば、ワイヤ1340を介して電気的に結合される、駆動電子機1336は、対向する対の電極を駆動し、圧電管1328を独立して2つの軸において屈曲させる。光ファイバ1324の突出する遠位先端は、機械的共鳴モードを有する。共鳴の周波数は、光ファイバ1324の直径、長さ、および材料性質に依存し得る。圧電管1328をファイバカンチレバー1332の第1の機械的共鳴モードの近傍で振動させることによって、ファイバカンチレバー1332は、振動させられ、大偏向を通して掃引し得る。
【0118】
2つの軸において共振振動を刺激することによって、ファイバカンチレバー1332の先端は、2次元(2-D)走査を充填する面積内において2軸方向に走査される。光源1320の強度をファイバカンチレバー1332の走査と同期して変調させることによって、ファイバカンチレバー1332から発せられる光は、画像を形成する。そのような設定の説明は、米国特許公開第2014/0003762号(参照することによってその全体として本明細書に組み込まれる)に提供されている。
【0119】
光学結合器サブシステムのコンポーネント1344は、走査ファイバカンチレバー1332から発せられる光をコリメートする。コリメートされた光は、鏡面表面1348によって、少なくとも1つの回折光学要素(DOE)1316を含有する、狭分散平面導波管1312の中に反射される。コリメートされた光は、全内部反射によって分散平面導波管1311に沿って(
図13の図に対して)垂直に伝搬し、そうすることによって、DOE1316と繰り返し交差する。DOE1316は、好ましくは、低回折効率を有する。これは、光の一部(例えば、10%)をDOE1316との交差部の各点においてより大きい一次平面導波管1304の縁に向かって回折させ、光の一部をTIRを介して分散平面導波管1312の長さを辿ってそのオリジナル軌道上で継続させる。
【0120】
DOE1316との交差部の各点において、付加的光が、一次導波管1312の入口に向かって回折される。入射光を複数の外部結合セットに分割することによって、光の射出瞳は、分散平面導波管1312内のDOE1316によって垂直に拡張される。分散平面導波管1312から外部結合された本垂直に拡張された光は、一次平面導波管1304の縁に進入する。
【0121】
一次導波管1304に進入する光は、TIRを介して、一次導波管1304に沿って(
図13の図に対して)水平に伝搬する。光は、複数の点においてDOE1308と交差するにつれて、TIRを介して、一次導波管1304の時間長の少なくとも一部に沿って水平に伝搬する。DOE1308は、有利には、線形回折パターンおよび半径方向対称回折パターンの総和である、位相プロファイルを有し、光の偏向および集束の両方を生成するように設計または構成され得る。DOE1308は、有利には、ビームの光の一部のみが、DOE1308の各交差部において視認者の眼に向かって偏向される一方、光の残りが、TIRを介して、導波管1304を通して伝搬し続けるように、低回折効率(例えば、10%)を有し得る。
【0122】
伝搬する光とDOE1308との間の交差部の各点において、光の一部は、一次導波管1304の隣接面に向かって回折され、光がTIRから逃散し、一次導波管1304の面から発せられることを可能にする。いくつかの実施形態では、DOE1308の半径方向対称回折パターンは、加えて、ある焦点レベルを回折された光に付与し、個々のビームの光波面を成形(例えば、曲率を付与する)することと、ビームを設計される焦点レベルに合致する角度に操向することとの両方を行う。
【0123】
故に、これらの異なる経路は、異なる角度におけるDOE1308の多重度、焦点レベル、および/または射出瞳において異なる充填パターンをもたらすことによって、光を一次平面導波管1304の外部で結合させることができる。射出瞳における異なる充填パターンは、有利には、複数の深度平面を伴うライトフィールドディスプレイを生成するために使用されることができる。導波管アセンブリ内の各層またはスタック内の層のセット(例えば、3層)が、個別の色(例えば、赤色、青色、緑色)を生成するために採用されてもよい。したがって、例えば、第1の3つの隣接する層のセットが、それぞれ、赤色、青色、および緑色光を第1の焦点深度において生成するために採用されてもよい。第2の3つの隣接する層のセットが、それぞれ、赤色、青色、および緑色光を第2の焦点深度において生成するために採用されてもよい。複数のセットが、種々の焦点深度を伴うフル3Dまたは4Dカラー画像ライトフィールドを生成するために採用されてもよい。
(付加的側面)
(訓練されたニューラルネットワークを使用して、UIイベントを決定する、ウェアラブルディスプレイシステムの実施例)
【0124】
第1の側面では、ウェアラブルディスプレイシステムが、開示される。本ウェアラブルディスプレイシステムは、ポインタを備える画像を捕捉するように構成される、画像捕捉デバイスと、非一過性コンピュータ可読記憶媒体であって、該非一過性コンピュータ可読記憶媒体は、画像と、画像上の画像場所における画像と関連付けられる、仮想ユーザインターフェース(UI)デバイスと、訓練用仮想UIデバイスと関連付けられた訓練画像であって、訓練用仮想UIデバイスおよび訓練用ポインタの表現を備える、訓練画像と、訓練画像内の訓練用仮想UIデバイスおよび訓練用ポインタに対する訓練用UIイベントとを使用して、訓練されたUIイベントを決定するためのニューラルネットワークとを記憶するように構成される、非一過性コンピュータ可読記憶媒体と、画像が画像捕捉デバイスによって捕捉されると、仮想UIデバイスを表示場所に表示するように構成される、ディスプレイであって、画像場所は、表示場所に関連する、ディスプレイと、画像捕捉デバイス、ディスプレイ、および非一過性コンピュータ可読記憶媒体と通信する、ハードウェアプロセッサであって、実行可能命令によって、画像を画像捕捉デバイスから受信することと、仮想UIデバイスの表現を画像場所における画像上にレンダリングすることと、ニューラルネットワークを使用して、画像内のポインタに対するUIイベントおよび画像と関連付けられた仮想UIデバイスを決定することとを行うようにプログラムされる、プロセッサとを備える。プロセッサは、UIイベントに基づいて、仮想コンテンツを生成し、ディスプレイに、仮想コンテンツをウェアラブルディスプレイシステムの装着者に提示させる。
【0125】
第2の側面では、プロセッサはさらに、UIイベントに基づいて、仮想コンテンツ(または仮想画像情報)を生成し、ディスプレイに、仮想コンテンツをウェアラブルディスプレイシステムの装着者に提供させるようにプログラムされる、側面1に記載のウェアラブルディスプレイシステム。
【0126】
第3の側面では、プロセッサはさらに、UIイベントに基づいて、アクションを実施する(例えば、TV、車等の別のデバイスのアクティブ化、または電話、モバイルデバイス、ARD等の別のデバイスと接続する)ようにプログラムされる、側面1-2のいずれか1項に記載のウェアラブルディスプレイシステム。
【0127】
第4の側面では、仮想UIデバイスの表現は、複数の高コントラストの形状を備える、側面1-3のいずれか1項に記載のウェアラブルディスプレイシステム。
【0128】
第5の側面では、複数の高コントラストの形状は、複数の高コントラストの同心形状を備える、側面4に記載のウェアラブルディスプレイシステム。
【0129】
第6の側面では、複数の形状のうちの形状の重心は、相互の閾値距離内にある、側面4-5のいずれか1項に記載のウェアラブルディスプレイシステム。
【0130】
第7の側面では、閾値距離は、0である、側面6に記載のウェアラブルディスプレイシステム。
【0131】
第8の側面では、複数の形状のうちの第1の形状は、第1の色と関連付けられ、複数の形状のうちの第2の形状は、第2の色と関連付けられ、第1の形状は、第2の形状に隣接する、側面4-7のいずれか1項に記載のウェアラブルディスプレイシステム。
【0132】
第9の側面では、第1の色は、黒色であって、第2の色は、白色である、側面8に記載のウェアラブルディスプレイシステム。
【0133】
第10の側面では、第2の形状は、部分的に透明である、側面8-9のいずれか1項に記載のウェアラブルディスプレイシステム。
【0134】
第11の側面では、第2の形状の第1の領域は、第1の透明度値と関連付けられ、第2の形状の第2の領域は、第2の透明度値と関連付けられる、側面10に記載のウェアラブルディスプレイシステム。
【0135】
第12の側面では、第2の形状の第2の領域はさらに、第2の形状の第1の領域から離れており、第2の透明度値は、第1の透明度値より小さい、側面11に記載のウェアラブルディスプレイシステム。
【0136】
第13の側面では、第2の形状は、第1の形状内にある、側面8-12のいずれか1項に記載のウェアラブルディスプレイシステム。
【0137】
第14の側面では、複数の形状のうちの第3の形状は、第3の色と関連付けられ、第1の形状は、第1の形状に隣接する、側面8-13のいずれか1項に記載のウェアラブルディスプレイシステム。
【0138】
第15の側面では、第3の色は、白色である、側面14に記載のウェアラブルディスプレイシステム。
【0139】
第16の側面では、第1の形状は、第3の形状内にある、側面14-15のいずれか1項に記載のウェアラブルディスプレイシステム。
【0140】
第17の側面では、UIイベントは、仮想UIデバイスの複数の状態のうちの状態に対応する、側面1-16のいずれか1項に記載のウェアラブルディスプレイシステム。
【0141】
第18の側面では、複数の状態は、仮想UIデバイスのアクティブ化または非アクティブ化を備える、側面17に記載のウェアラブルディスプレイシステム。
【0142】
第19の側面では、仮想UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせから成る群から選択される、側面1-18のいずれか1項に記載のウェアラブルディスプレイシステム。
【0143】
第20の側面では、UIポインタは、ユーザまたはユーザの一部と関連付けられたオブジェクトを備える、側面1-19のいずれか1項に記載のウェアラブルディスプレイシステム。
【0144】
第21の側面では、ユーザと関連付けられたオブジェクトは、ポインタ、ペン、鉛筆、マーカ、ハイライター、またはそれらの組み合わせを備え、ユーザの一部は、ユーザの指を備える、側面20に記載のウェアラブルディスプレイシステム。
(機械学習モデル(例えば、ニューラルネットワーク)を訓練するための訓練データを生成するためのコンピュータシステムの実施例)
【0145】
第22の側面では、ユーザインターフェースイベントを決定するためのニューラルネットワークを訓練するためのシステムが、開示される。本システムは、実行可能命令を記憶するコンピュータ可読メモリと、1つ以上のプロセッサであって、該1つ以上のプロセッサは、実行可能命令によって、少なくとも、複数の画像を受信することであって、複数の画像のうちの画像は、複数のポインタのうちのポインタを備え、画像は、画像上の画像場所における複数の仮想UIデバイスの仮想ユーザインターフェース(UI)デバイスと関連付けられ、画像は、画像内の仮想UIデバイスおよびポインタに対する複数のUIイベントのうちのUIイベントと関連付けられる、ことと、仮想UIデバイスの表現を画像場所における画像上にレンダリングし、訓練画像を生成することと、入力データおよび対応する標的出力データを備える、訓練セットを生成することであって、入力データは、訓練画像を備え、対応する標的出力データは、UIイベントを備える、こととを行うようにプログラムされる、1つ以上のプロセッサとを備える。
【0146】
第23の側面では、1つ以上のプロセッサはさらに、訓練セットを使用して、仮想UIデバイスおよびポインタと関連付けられたUIイベントを決定するための機械学習モデル(例えば、ニューラルネットワーク)を訓練するようにプログラムされる、側面22に記載のシステム。
【0147】
第24の側面では、仮想UIデバイスの表現は、複数の高コントラストの形状を備える、側面22-23のいずれか1項に記載のシステム。
【0148】
第25の側面では、複数の高コントラストの形状は、複数の高コントラストの同心形状を備える、側面24に記載のシステム。
【0149】
第26の側面では、複数の形状のうちの形状の重心は、相互の閾値距離内にある、側面24-25のいずれか1項に記載のシステム。
【0150】
第27の側面では、閾値距離は、0である、側面26に記載のシステム。
【0151】
第28の側面では、複数の形状のうちの第1の形状は、第1の色と関連付けられ、複数の形状のうちの第2の形状は、第2の色と関連付けられ、第1の形状は、第2の形状に隣接する、側面24-27のいずれか1項に記載のシステム。
【0152】
第29の側面では、第1の色は、黒色であって、第2の色は、白色である、側面28に記載のシステム。
【0153】
第30の側面では、第2の形状は、部分的に透明である、側面28-29のいずれか1項に記載のシステム。
【0154】
第31の側面では、第2の形状の第1の領域は、第1の透明度値と関連付けられ、第2の形状の第2の領域は、第2の透明度値と関連付けられる、側面30に記載のシステム。
【0155】
第32の側面では、第2の形状の第2の領域はさらに、第2の形状の第1の領域から離れており、第2の透明度値は、第1の透明度値より小さい、側面31に記載のシステム。
【0156】
第33の側面では、第2の形状は、第1の形状内にある、側面28-32のいずれか1項に記載のシステム。
【0157】
第34の側面では、複数の形状のうちの第3の形状は、第3の色を有し、第1の形状は、第1の形状に隣接する、側面28-33のいずれか1項に記載のシステム。
【0158】
第35の側面では、第3の色は、白色である、側面34に記載のシステム。
【0159】
第36の側面では、第1の形状は、第3の形状内にある、側面34-35のいずれか1項に記載のシステム。
【0160】
第37の側面では、UIイベントは、仮想UIデバイスの複数の状態のうちの状態に対応する、側面22-36のいずれか1項に記載のシステム。
【0161】
第38の側面では、複数の状態は、仮想UIデバイスのアクティブ化または非アクティブ化を備える、側面37に記載のシステム。
【0162】
第39の側面では、複数の仮想UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせを備える、側面22-38のいずれか1項に記載のシステム。
【0163】
第40の側面では、複数のUIポインタは、ユーザまたはユーザの一部と関連付けられたオブジェクトを備える、側面22-39のいずれか1項に記載のシステム。
【0164】
第41の側面では、ユーザと関連付けられたオブジェクトは、ポインタ、ペン、鉛筆、マーカ、ハイライター、またはそれらの組み合わせを備え、ユーザの一部は、ユーザの指を備える、側面40に記載のシステム。
(訓練されたニューラルネットワークを使用して、UIイベントを決定する方法の実施例)
【0165】
第42の側面では、ニューラルネットワークを使用して、UIイベントを決定するための方法が、開示される。本方法は、ハードウェアプロセッサの制御下で、訓練用仮想UIデバイスと関連付けられた訓練画像であって、訓練用仮想UIデバイスおよび訓練用ポインタの表現を備える、訓練画像と、訓練画像内の訓練用仮想UIデバイスおよび訓練用ポインタに対する訓練用UIイベントとを使用して訓練される、UIイベントを決定するためのニューラルネットワークにアクセスするステップと、ポインタを備える画像を受信するステップであって、仮想ユーザインターフェース(UI)デバイスは、画像上の画像場所における画像と関連付けられ、仮想UIデバイスは、画像が捕捉される(例えば、ARDの画像捕捉デバイスによって捕捉される)と、表示場所(例えば、ARDディスプレイ上の表示場所)に表示され、画像場所は、表示場所に関連する、ステップと、画像を画像捕捉デバイスから受信するステップと、仮想UIデバイスの表現を画像場所における画像上にレンダリングするステップと、ニューラルネットワークを使用して、画像内のポインタに対するUIイベントおよび画像と関連付けられた仮想UIデバイスを決定するステップとを含む。
【0166】
第43の側面では、UIイベントに基づいて、仮想コンテンツ(または仮想画像情報)を生成するステップと、随意に、仮想コンテンツを表示させるステップとをさらに含む、側面42に記載の方法。
【0167】
第44の側面では、UIイベントに基づいて、アクションを実施する(例えば、TV、車等の別のデバイスのアクティブ化、または電話、モバイルデバイス、ARD等の別のデバイスと接続する)ステップをさらに含む、側面42-43のいずれか1項に記載の方法。
【0168】
第45の側面では、仮想UIデバイスの表現は、複数の高コントラストの形状を備える、側面42-44のいずれか1項に記載の方法。
【0169】
第46の側面では、複数の高コントラストの形状は、複数の高コントラストの同心形状を備える、側面45に記載の方法。
【0170】
第47の側面では、複数の形状のうちの形状の重心は、相互の閾値距離内にある、側面45-46のいずれか1項に記載の方法。
【0171】
第48の側面では、閾値距離は、0である、側面47に記載の方法。
【0172】
第49の側面では、複数の形状のうちの第1の形状は、第1の色と関連付けられ、複数の形状のうちの第2の形状は、第2の色と関連付けられ、第1の形状は、第2の形状に隣接する、側面45-48のいずれか1項に記載の方法。
【0173】
第50の側面では、第1の色は、黒色であって、第2の色は、白色である、側面49に記載の方法。
【0174】
第51の側面では、第2の形状は、部分的に透明である、側面49-50のいずれか1項に記載の方法。
【0175】
第52の側面では、第2の形状の第1の領域は、第1の透明度値と関連付けられ、第2の形状の第2の領域は、第2の透明度値と関連付けられる、側面51に記載の方法。
【0176】
第53の側面では、第2の形状の第2の領域はさらに、第2の形状の第1の領域から離れており、第2の透明度値は、第1の透明度値より小さい、側面52に記載の方法。
【0177】
第54の側面では、第2の形状は、第1の形状内にある、側面49-53のいずれか1項に記載の方法。
【0178】
第55の側面では、複数の形状のうちの第3の形状は、第3の色と関連付けられ、第1の形状は、第1の形状に隣接する、側面49-54のいずれか1項に記載の方法。
【0179】
第56の側面では、第3の色は、白色である、側面55に記載の方法。
【0180】
第57の側面では、第1の形状は、第3の形状内にある、側面55-56のいずれか1項に記載の方法。
【0181】
第58の側面では、UIイベントは、仮想UIデバイスの複数の状態のうちの状態に対応する、側面42-57のいずれか1項に記載の方法。
【0182】
第59の側面では、複数の状態は、仮想UIデバイスのアクティブ化または非アクティブ化を備える、側面58に記載の方法。
【0183】
第60の側面では、仮想UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせから成る群から選択される、側面42-59のいずれか1項に記載の方法。
【0184】
第61の側面では、UIポインタは、ユーザまたはユーザの一部と関連付けられたオブジェクトを備える、側面42-60のいずれか1項に記載の方法。
【0185】
第62の側面では、ユーザと関連付けられたオブジェクトは、ポインタ、ペン、鉛筆、マーカ、ハイライター、またはそれらの組み合わせを備え、ユーザの一部は、ユーザの指を備える、側面61に記載の方法。
(機械学習モデル(例えば、ニューラルネットワーク)を訓練するための方法の実施例)
【0186】
第63の側面では、ユーザインターフェースイベントを決定するためにニューラルネットワークを訓練するための方法が、開示される。本方法は、ハードウェアプロセッサの制御下で、複数の画像を受信するステップであって、複数の画像のうちの第1の画像は、複数のポインタのうちのポインタの第1の表現を備え、第1の画像は、第1の画像内の第1の画像場所における複数の仮想UIデバイスの仮想ユーザインターフェース(UI)デバイスの第1の表現と関連付けられ、第1の画像は、第1の画像内の仮想UIデバイスおよびポインタに対する複数のUIイベントのうちのUIイベントと関連付けられる、ステップと、仮想UIデバイスの第1の表現を第1の画像場所における第1の画像上にレンダリングし、第1の訓練画像を生成するステップと、入力データおよび対応する標的出力データを備える、訓練セットを生成するステップであって、入力データは、第1の訓練画像を備え、対応する標的出力データは、UIイベントを備える、ステップと、訓練セットを使用して、仮想UIデバイスおよびポインタと関連付けられたUIイベントを決定するために、ニューラルネットワークを訓練するステップとを含む。
【0187】
第64の側面では、複数の画像のうちの第2の画像は、ポインタの第2の表現を備え、第2の画像は、第2の画像内の第2の画像場所における仮想UIデバイスの第2の表現と関連付けられ、第2の画像は、UIイベントと関連付けられる、側面63に記載の方法。
【0188】
第65の側面では、第1の画像および第2の画像は、ステレオスコピック対を形成する、側面64に記載の方法。
【0189】
第66の側面では、第1の画像および第2の画像は、画像のマルチスコピックセットの画像である、側面64に記載の方法。
【0190】
第67の側面では、仮想UIデバイスの第2の表現を第2の画像場所における第2の画像上にレンダリングし、第2の訓練画像を生成するステップをさらに含み、入力データは、第2の訓練画像を備える、側面64-66のいずれか1項に記載の方法。
【0191】
第68の側面では、仮想UIデバイスの第1の表現は、複数の高コントラストの形状を備える、側面63-67のいずれか1項に記載の方法。
【0192】
第69の側面では、複数の高コントラストの形状は、複数の高コントラストの同心形状を備える、側面68に記載の方法。
【0193】
第70の側面では、複数の形状のうちの形状の重心は、相互の閾値距離内にある、側面68-69のいずれか1項に記載の方法。
【0194】
第71の側面では、閾値距離は、0である、側面70に記載の方法。
【0195】
第72の側面では、複数の形状のうちの第1の形状は、第1の色と関連付けられ、複数の形状のうちの第2の形状は、第2の色と関連付けられ、第1の形状は、第2の形状に隣接する、側面68-71のいずれか1項に記載の方法。
【0196】
第73の側面では、第1の色は、黒色であって、第2の色は、白色である、側面72に記載の方法。
【0197】
第74の側面では、第2の形状は、部分的に透明である、側面72-73のいずれか1項に記載の方法。
【0198】
第75の側面では、第2の形状の第1の領域は、第1の透明度値と関連付けられ、第2の形状の第2の領域は、第2の透明度値と関連付けられる、側面74に記載の方法。
【0199】
第76の側面では、第2の形状の第2の領域はさらに、第2の形状の第1の領域から離れており、第2の透明度値は、第1の透明度値より小さい、側面75に記載の方法。
【0200】
第77の側面では、第2の形状は、第1の形状内にある、側面75-76のいずれか1項に記載の方法。
【0201】
第78の側面では、同心形状の第3の形状は、第3の色を有し、第1の形状は、第1の形状に隣接する、側面75-77のいずれか1項に記載の方法。
【0202】
第79の側面では、第3の色は、白色である、側面78に記載の方法。
【0203】
第80の側面では、第1の形状は、第3の形状内にある、側面78-79のいずれか1項に記載の方法。
【0204】
第81の側面では、UIイベントは、仮想UIデバイスの複数の状態のうちの状態に対応する、側面63-80のいずれか1項に記載の方法。
【0205】
第82の側面では、複数の状態は、仮想UIデバイスのアクティブ化または非アクティブ化を備える、側面81に記載の方法。
【0206】
第83の側面では、複数の仮想UIデバイスは、ボタン、アップダウン、スピナー、ピッカー、ラジオボタン、ラジオボタンリスト、チェックボックス、ピクチャボックス、チェックボックスリスト、ドロップダウンリスト、ドロップダウンメニュー、選択リスト、リストボックス、コンボボックス、テキストボックス、スライダ、リンク、キーボードキー、スイッチ、スライダ、タッチ表面、またはそれらの組み合わせを備える、側面63-82のいずれか1項に記載の方法。
【0207】
第84の側面では、複数のUIポインタは、ユーザまたはユーザの一部と関連付けられたオブジェクトを備える、側面63-83のいずれか1項に記載の方法。
【0208】
第85の側面では、ユーザと関連付けられたオブジェクトは、ポインタ、ペン、鉛筆、マーカ、ハイライター、またはそれらの組み合わせを備え、ユーザの一部は、ユーザの指を備える、側面84に記載の方法。
(付加的考慮点)
【0209】
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、または解釈されるプログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【0210】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つまたはそれを上回る物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。加えて、ニューラルネットワークを訓練および実行することは、算出上困難であり得る。ある場合には、ニューラルネットワークは、1つ以上のグラフィック処理ユニット(GPU)によって実行される。
【0211】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
【0212】
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つまたはそれを上回る実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
【0213】
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【0214】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。本明細書に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【0215】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
【0216】
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つまたはそれを上回る実施形態に対していかようにも要求されること、または1つまたはそれを上回る実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「~を備える」、「~を含む」、「~を有する」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」または「少なくとも1つ」を意味するように解釈されるべきである。
【0217】
本明細書で使用されるように、項目のリスト「~のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、およびA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図されない。
【0218】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。