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

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

▶ マジック リープ, インコーポレイテッドの特許一覧

特許7562504頭部姿勢予測のための深層予測器再帰ニューラルネットワーク
<>
  • 特許-頭部姿勢予測のための深層予測器再帰ニューラルネットワーク 図1
  • 特許-頭部姿勢予測のための深層予測器再帰ニューラルネットワーク 図2
  • 特許-頭部姿勢予測のための深層予測器再帰ニューラルネットワーク 図3
  • 特許-頭部姿勢予測のための深層予測器再帰ニューラルネットワーク 図4
  • 特許-頭部姿勢予測のための深層予測器再帰ニューラルネットワーク 図5
  • 特許-頭部姿勢予測のための深層予測器再帰ニューラルネットワーク 図6
  • 特許-頭部姿勢予測のための深層予測器再帰ニューラルネットワーク 図7
  • 特許-頭部姿勢予測のための深層予測器再帰ニューラルネットワーク 図8
  • 特許-頭部姿勢予測のための深層予測器再帰ニューラルネットワーク 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】頭部姿勢予測のための深層予測器再帰ニューラルネットワーク
(51)【国際特許分類】
   G06F 3/01 20060101AFI20240930BHJP
   G06T 19/00 20110101ALI20240930BHJP
【FI】
G06F3/01 570
G06T19/00 300B
【請求項の数】 21
(21)【出願番号】P 2021500724
(86)(22)【出願日】2019-07-22
(65)【公表番号】
(43)【公表日】2021-11-11
(86)【国際出願番号】 US2019042846
(87)【国際公開番号】W WO2020023399
(87)【国際公開日】2020-01-30
【審査請求日】2022-07-21
【審判番号】
【審判請求日】2024-02-02
(31)【優先権主張番号】62/702,309
(32)【優先日】2018-07-23
(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)【参考文献】
【文献】米国特許出願公開第2018/0053056(US,A1)
【文献】国際公開第2016/002318(WO,A1)
【文献】E. W. Saad, 外2名、“Predictive head tracking for virtual reality”、IJCNN’99. International Joint Conference on Neural Networks. Proceedings、米国、1999.発行、p.3933-3936
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048-3/04895
G06T19/00
(57)【特許請求の範囲】
【請求項1】
ウェアラブルシステムであって、
前記ウェアラブルシステムの装着者の眼の前に配置されるように構成されるディスプレイであって、前記ディスプレイは、仮想コンテンツを前記ウェアラブルシステムの前記装着者に表示するように構成される、ディスプレイと、
前記ディスプレイと関連付けられた頭部姿勢データを提供するように構成される頭部姿勢センサと、
頭部姿勢予測再帰ニューラルネットワークを記憶するように構成される非一過性メモリと、
前記頭部姿勢センサ、前記ディスプレイ、および前記非一過性メモリと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
前記頭部姿勢データを受信することと、
前記頭部姿勢データを前記頭部姿勢予測再帰ニューラルネットワークに入力することと、
時間範囲において、前記頭部姿勢予測再帰ニューラルネットワークを実行し、予測される頭部姿勢を出力することであって、前記時間範囲は、レンダリング待ち時間と関連付けられた時間を示す、ことと、
前記予測される頭部姿勢に基づいて、どの仮想コンテンツが前記装着者の視野内にあるかを計算することと、
前記ディスプレイに、前記時間範囲において、前記計算された仮想コンテンツをレンダリングさせることであって、前記計算された仮想コンテンツのレンダリングは、前記ディスプレイが前記予測される頭部姿勢と関連付けられるときに完了するように構成される、ことと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、ウェアラブルシステム。
【請求項2】
前記ディスプレイは、前記仮想コンテンツを複数の深度平面に提示するように構成される、請求項1に記載のウェアラブルシステム。
【請求項3】
前記頭部姿勢センサは、慣性測定ユニットを備える、請求項1に記載のウェアラブルシステム。
【請求項4】
前記頭部姿勢予測再帰ニューラルネットワークは、再帰ニューラルネットワーク(RNN)および全結合(FC)層を備える、請求項1に記載のウェアラブルシステム。
【請求項5】
前記頭部姿勢予測再帰ニューラルネットワークは、複数の反復モジュールを備える、請求項1に記載のウェアラブルシステム。
【請求項6】
前記複数の反復モジュールのうちの少なくとも1つは、長短期メモリセル(LSTM)またはゲート付き再帰ユニット(GRU)を備える、請求項5に記載のウェアラブルシステム。
【請求項7】
前記頭部姿勢予測再帰ニューラルネットワークは、1つ以上の長短期メモリ(LSTM)セルのスタックまたは1つ以上のゲート付き再帰ユニット(GRU)のスタックを備える、請求項1に記載のウェアラブルシステム。
【請求項8】
前記予測される頭部姿勢は、3自由度(DOF)姿勢を備える、請求項1に記載のウェアラブルシステム。
【請求項9】
前記予測される頭部姿勢は、頭部配向を備え、前記ハードウェアプロセッサは、予測非ニューラルネットワークモデルを使用して、前記時間範囲において、頭部位置を予測するようにさらにプログラムされる、請求項1に記載のウェアラブルシステム。
【請求項10】
前記予測非ニューラルネットワークモデルは、一定加速モデルを備える、請求項9に記載のウェアラブルシステム。
【請求項11】
仮想コンテンツをレンダリングするための方法であって、前記方法は、
コンピュータハードウェアを備えるレンダリングパイプラインの制御下で、
ユーザの頭部に関する頭部姿勢データを受信することであって、前記頭部姿勢データは、前記ユーザの眼の前に配置されるように構成されるディスプレイと関連付けられた姿勢を反映する、ことと、
少なくとも再帰ニューラルネットワーク(RNN)および前記頭部姿勢データを使用して、予測範囲において、予測される頭部姿勢を予測することであって、前記予測範囲は、レンダリング待ち時間と関連付けられた時間を示す、ことと、
前記予測される頭部姿勢に基づいて、どの仮想コンテンツが前記ユーザの視野内にあるかを計算することと、
前記予測範囲において、前記計算された仮想コンテンツをレンダリングすることであって、前記計算された仮想コンテンツのレンダリングは、前記ディスプレイが前記予測される頭部姿勢と関連付けられるときに完了するように構成される、ことと
を行うことを含む、方法。
【請求項12】
前記頭部姿勢データは、(1)慣性測定ユニット(IMU)からのデータ、(2)前記ユーザの頭部に関する速度または加速データ、または(1)および(2)の両方のうちの1つ以上のものの時系列を含む、請求項11に記載の方法。
【請求項13】
前記RNNは、1つ以上の長短期メモリ(LSTM)セルのスタックまたは1つ以上のゲート付き再帰ユニット(GRU)のスタックを備える、請求項11に記載の方法。
【請求項14】
前記RNNは、前記予測される頭部姿勢を出力するように構成される全結合(FC)層に接続される、請求項11に記載の方法。
【請求項15】
前記予測される頭部姿勢は、前記ユーザの頭部の配向を備え、前記方法は、前記予測範囲において、一定加速モデルを用いて、前記ユーザの頭部の位置を予測することをさらに含む、請求項11に記載の方法。
【請求項16】
前記3自由度(DOF)姿勢は、3自由度における角度配向を特定する、請求項8に記載のウェアラブルシステム。
【請求項17】
前記3自由度(DOF)姿勢は、ヨー角度、ピッチ角度、およびロール角度を特定する、請求項8に記載のウェアラブルシステム。
【請求項18】
前記3自由度(DOF)姿勢は、3自由度における空間位置を特定する、請求項8に記載のウェアラブルシステム。
【請求項19】
前記予測される頭部姿勢は、6自由度(DOF)姿勢を備える、請求項1に記載のウェアラブルシステム。
【請求項20】
前記6自由度(DOF)姿勢は、3自由度における角度配向および3自由度における空間位置を特定する、請求項19に記載のウェアラブルシステム。
【請求項21】
前記6自由度(DOF)姿勢は、ヨー角度、ピッチ角度、およびロール角度、ならびに3自由度における空間位置を特定する、請求項19に記載のウェアラブルシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、参照することによってその全体として本明細書に組み込まれる、2018年7月23日に出願され、「DEEP PREDICTOR RECURRENT NEURAL NETWORK FOR HEAD POSE PREDICTION」と題された、米国特許出願第62/702,309号の優先権の利益を主張する。
【0002】
本開示は、概して、再帰ニューラルネットワークを使用して、頭部姿勢(例えば、配向、位置、回転、または平行移動)を予測する、システムおよび方法に関し、より具体的には、頭部姿勢予測のためにそのような再帰ニューラルネットワークを利用する、拡張または仮想現実システムに関する。
【背景技術】
【0003】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」、「拡張現実」、または「複合現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、またはそのように知覚され得る様式でユーザに提示される。仮想現実または「VR」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。拡張現実または「AR」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。複合現実または「MR」は、物理的および仮想オブジェクトが、共存し、リアルタイムで相互作用する、新しい環境を生成するための実世界と仮想世界の融合に関連する。結論から述べると、ヒトの視知覚系は、非常に複雑であって、他の仮想または実世界画像要素間における仮想画像要素の快適かつ自然のような感覚で、かつ豊かな提示を促進する、VR、AR、またはMR技術の生産は、困難である。本明細書に開示されるシステムおよび方法は、VR、AR、およびMR技術に関連する種々の課題に対処する。
【発明の概要】
【課題を解決するための手段】
【0004】
拡張または仮想現実デバイスのレンダリングエンジンのために頭部姿勢を予測するためのシステムおよび方法は、時系列頭部姿勢データを受け取り、予測される頭部姿勢を出力する、再帰ニューラルネットワーク(RNN)を含むことができる(例えば、配向、位置、回転、または平行移動)。再帰ニューラルネットワークは、1つ以上の長短期メモリ(LSTM)ユニットまたはゲート付き再帰ユニット(GRU)を含むことができる。全結合(FC)層は、RNNからの入力を受け取り、3自由度(DOF)頭部姿勢(例えば、角度配向または空間位置)または6DOF頭部姿勢(例えば、角度配向および空間位置の両方)を出力することができる。レンダリングエンジンは、ユーザが仮想コンテンツの位置に向かって見ているときに、予測される頭部姿勢を使用して、仮想コンテンツを生成し、ユーザに表示することができ、これは、システム待ち時間を低減およびユーザ体験を改良する。
【0005】
種々の側面では、ウェアラブルディスプレイシステムは、ウェアラブルシステムの装着者の眼の前に配置されるように構成される、ディスプレイであって、仮想コンテンツをウェアラブルシステムの装着者に表示するように構成される、ディスプレイと、頭部姿勢データを提供するように構成される、頭部姿勢センサと、頭部姿勢予測再帰ニューラルネットワークを記憶するように構成される、非一過性メモリと、頭部姿勢センサ、ディスプレイ、および非一過性メモリと通信する、ハードウェアプロセッサであって、頭部姿勢データを受信し、頭部姿勢データを頭部姿勢予測再帰ニューラルネットワークに入力し、ある時間範囲において、頭部姿勢予測再帰ニューラルネットワークを実行し、予測される頭部姿勢を出力し、少なくとも部分的に、時間範囲において予測される頭部姿勢に基づいて、ディスプレイに、仮想コンテンツをレンダリングさせるようにプログラムされる、ハードウェアプロセッサとを含む。
【0006】
本明細書に説明される再帰ニューラルネットワーク頭部姿勢予測技法は、AR、MR、またはVR用途に限定されず、例えば、ゲーム、医学(例えば、神経学、眼科、リハビリ)等、人物の頭部姿勢が所望される、他の用途のためにも使用されることができる。
【0007】
本明細書に説明される主題の1つ以上の実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、および請求項から明白となるであろう。本概要または以下の詳細な説明のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
本発明は、例えば、以下を提供する。
(項目1)
ウェアラブルシステムであって、
前記ウェアラブルシステムの装着者の眼の前に配置されるように構成されるディスプレイであって、前記ディスプレイは、仮想コンテンツを前記ウェアラブルシステムの装着者に表示するように構成される、ディスプレイと、
頭部姿勢データを提供するように構成される頭部姿勢センサと、
頭部姿勢予測再帰ニューラルネットワークを記憶するように構成される非一過性メモリと、
前記頭部姿勢センサ、前記ディスプレイ、および前記非一過性メモリと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
前記頭部姿勢データを受信することと、
前記頭部姿勢データを前記頭部姿勢予測再帰ニューラルネットワークに入力することと、
時間範囲において、前記頭部姿勢予測再帰ニューラルネットワークを実行し、予測される頭部姿勢を出力することと、
少なくとも部分的に、前記時間範囲において予測される頭部姿勢に基づいて、前記ディスプレイに、前記仮想コンテンツをレンダリングさせることと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、ウェアラブルシステム。
(項目2)
前記ディスプレイは、前記仮想コンテンツを複数の深度平面に提示するように構成される、項目1に記載のウェアラブルシステム。
(項目3)
前記頭部姿勢センサは、慣性測定ユニットを備える、項目1に記載のウェアラブルシステム。
(項目4)
前記慣性測定ユニットは、加速度計およびジャイロスコープを備える、項目3に記載のウェアラブルシステム。
(項目5)
前記頭部姿勢データは、速度または加速を含む、項目1に記載のウェアラブルシステム。
(項目6)
前記頭部姿勢センサからの出力は、拡張カルマンフィルタによってフィルタリングされ、前記頭部姿勢データを提供する、項目5に記載のウェアラブルシステム。
(項目7)
前記頭部姿勢予測再帰ニューラルネットワークは、再帰ニューラルネットワーク(RNN)および全結合(FC)層を備える、項目1に記載のウェアラブルシステム。
(項目8)
前記頭部姿勢予測再帰ニューラルネットワークは、複数の反復モジュールを備える、項目1に記載のウェアラブルシステム。
(項目9)
前記複数の反復モジュールのうちの少なくとも1つは、長短期メモリセル(LSTM)またはゲート付き再帰ユニット(GRU)を備える、項目8に記載のウェアラブルシステム。
(項目10)
前記頭部姿勢予測再帰ニューラルネットワークは、1つ以上の長短期メモリ(LSTM)セルのスタックまたは1つ以上のゲート付き再帰ユニット(GRU)のスタックを備える、項目1に記載のウェアラブルシステム。
(項目11)
前記頭部姿勢予測再帰ニューラルネットワークは、3つのLSTMセルまたは3つのGRUを備える、項目10に記載のウェアラブルシステム。
(項目12)
前記時間範囲は、10ms~50msの範囲内である、項目1に記載のウェアラブルシステム。
(項目13)
前記時間範囲は、20ms~40msの範囲内である、項目1に記載のウェアラブルシステム。
(項目14)
前記予測される頭部姿勢は、3自由度(DOF)姿勢を備える、項目1に記載のウェアラブルシステム。
(項目15)
前記3DOF姿勢は、頭部配向を備える、項目14に記載のウェアラブルシステム。
(項目16)
前記3DOF姿勢は、頭部位置を備える、項目14に記載のウェアラブルシステム。
(項目17)
前記予測される頭部姿勢は、配向および位置を含む6自由度(DOF)姿勢を備える、項目1に記載のウェアラブルシステム。
(項目18)
前記予測される頭部姿勢は、頭部配向を備え、前記ハードウェアプロセッサはさらに、予測非ニューラルネットワークモデルを使用して、前記時間範囲において、頭部位置を予測するようにプログラムされる、項目1に記載のウェアラブルシステム。
(項目19)
前記予測非ニューラルネットワークモデルは、一定加速モデルを備える、項目18に記載のウェアラブルシステム。
(項目20)
仮想コンテンツをレンダリングするための方法であって、前記方法は、
コンピュータハードウェアを備えるレンダリングパイプラインの制御下で、
ユーザの頭部に関する頭部姿勢データを受信することと、
少なくとも再帰ニューラルネットワーク(RNN)および前記頭部姿勢データを使用して、予測範囲において予測される頭部姿勢を予測することと、
前記予測範囲において、少なくとも部分的に、前記予測される頭部姿勢に基づいて、前記仮想コンテンツをレンダリングすることと
を含む、方法。
(項目21)
前記頭部姿勢データは、(1)慣性測定ユニット(IMU)からのデータ、(2)前記ユーザの頭部に関する速度または加速データ、または(1)および(2)の両方のうちの1つ以上のものの時系列を含む、項目20に記載の方法。
(項目22)
データをフィルタリングし、前記速度または加速データを提供することをさらに含む、項目21に記載の方法。
(項目23)
前記フィルタリングすることは、拡張カルマンフィルタ(EKF)を用いて実施される、項目22に記載の方法。
(項目24)
前記RNNは、1つ以上の長短期メモリ(LSTM)セルのスタックまたは1つ以上のゲート付き再帰ユニット(GRU)のスタックを備える、項目20に記載の方法。
(項目25)
前記RNNは、3つのLSTMセルまたは3つのGRUのスタックを備える、項目24に記載の方法。
(項目26)
前記RNNは、前記予測される頭部姿勢を出力するように構成される全結合(FC)層に接続される、項目20に記載の方法。
(項目27)
前記予測される頭部姿勢は、前記ユーザの頭部の配向を備え、前記方法はさらに、前記予測範囲において、一定加速モデルを用いて、前記ユーザの頭部の位置を予測することを含む、項目20に記載の方法。
(項目28)
前記予測範囲は、10ms~50msの範囲内である、項目20に記載の方法。
【図面の簡単な説明】
【0008】
図1図1は、人物によって視認されるある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、拡張現実シナリオの例証を描写する。
【0009】
図2図2は、ウェアラブルシステムの実施例を図式的に図示する。
【0010】
図3図3は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図式的に図示する。
【0011】
図4図4は、画像情報をユーザに出力するための導波管スタックの実施例を図式的に図示する。
【0012】
図5図5は、ウェアラブルシステムのユーザへの仮想コンテンツの表示のためのレンダリングパイプラインの一部の実施例を図式的に図示する、ブロック図である。
【0013】
図6図6は、頭部姿勢予測のためのニューラルネットワークの実施例を図式的に図示する、ブロック図である。ニューラルネットワークの本実施例は、再帰ニューラルネットワーク(RNN)および全結合(FC)層を含む。
【0014】
図7図7は、頭部姿勢予測のためのニューラルネットワークの実施例を図式的に図示する、ブロック図である。本実施例では、ニューラルネットワークは、FC層に接続される3つの長短期メモリ(LSTM)モジュールを備える、RNNを含む。
【0015】
図8図8は、ある時間的予測範囲dtにわたる頭部姿勢予測の実施例を図式的に図示する、グラフである。
【0016】
図9図9は、再帰ニューラルネットワークを用いて頭部姿勢を予測するための方法の実施例を図示する、フローチャートである。
【0017】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図するものではない。
【発明を実施するための形態】
【0018】
概要
AR、MR、またはVRウェアラブルシステムは、仮想コンテンツをユーザの眼にレンダリングすることができる(例えば、図1参照)。レンダリング可能コンテンツを生成し、それをAR、MR、またはVRディスプレイに送達するために時間がかかるため、典型的には、ある程度のレンダリング待ち時間が、仮想コンテンツレンダリングパイプラインには存在するであろう。種々のAR、MR、VR実装では、待ち時間は、いくつかのウェアラブルシステムに関して、約10ms~約50msの範囲内、例えば、約30msであり得る。
【0019】
AR、MR、またはVR体験の間、ユーザは、その頭部を移動させ、ユーザの周囲の環境の異なる部分を見ることになり、仮想コンテンツは、本頭部運動に起因して、ユーザの視野(FOV)に出現し、そこから消失するであろう。ウェアラブルシステムは、ユーザへの表示のために、FOV内にある仮想コンテンツをレンダリングするであろう。しかしながら、ユーザがその頭部を移動させるにつれて、現在レンダリングされている仮想コンテンツの位置は、(例えば、FOVの中心の近くからFOVのより周辺領域にまたはその逆に)変化し得、いくつかの仮想コンテンツは、FOVから消失し、レンダリングされる必要はなくなり、以前にレンダリングされていなかった他の仮想コンテンツが、ユーザのFOVに出現し、レンダリングされる必要があるであろう。故に、使用中、仮想コンテンツのレンダリングされた位置は、ユーザの頭部運動に起因して、時間に伴って変化するであろう。
【0020】
ウェアラブルシステムによる仮想コンテンツをレンダリングするためにかかるレンダリング待ち時間周期(例えば、30ms)に照らして、システムは、ユーザが将来的時間(レンダリング待ち時間周期に匹敵する)に見ているであろう場所を予測し、ユーザが本将来的時間に見ているであろう仮想コンテンツを把握することが有利であり得る。システムは、仮想コンテンツが、ユーザがそれを見始めるとき、実際にレンダリングされるように、(例えば、レンダリング待ち時間時間に匹敵する時間周期だけ)本将来的時間に先立って、仮想コンテンツをレンダリングし始めることができる。ある意味では、ウェアラブルシステムの実施形態は、ユーザがそれを見るとき、「ちょうど」表示されるように、仮想コンテンツをレンダリングし始めることができる。そのようなレンダリングパイプラインは、例えば、待ち時間を低減させる、仮想コンテンツがFOV内で動き回るにつれて平滑遷移を提供する、または表示される仮想コンテンツのコマ落ちを低減させることができ、これは、有益なこととして、ユーザのAR、MR、またはVR体験を改良することができる。
【0021】
頭部姿勢予測は、加速度計またはジャイロスコープまたは他の位置または配向センサを含み得る、頭部姿勢センサからの情報を使用することができる。頭部姿勢は、配向(例えば、ヨー、ピッチ、およびロール等の3つの角度によって測定される)、位置(例えば、デカルトx、y、およびz等の3つの空間座標によって測定される)、または配向および位置の両方を指し得る。頭部移動(例えば、頭部姿勢の変化)は、配向の変化(例えば、角度変化)、空間位置の変化(例えば、平行移動)、または両方によって測定されることができる。将来的頭部姿勢を予測するための時間範囲は、レンダリング待ち時間(例えば、約30ms)に匹敵するため、いくつかの実装は、一定加速モデルを利用して、将来的頭部姿勢を予測する。一定加速モデルは、ユーザの頭部の加速が、予測時間範囲にわたってほぼ一定であると仮定する。一定加速モデルは、頭部姿勢センサ(例えば、加速度計またはジャイロスコープ)からの入力を使用して、加速を測定することができる。頭部姿勢センサ入力は、フィルタリングされ(例えば、拡張カルマンフィルタ(EKF)を使用して)、より平滑な速度または加速推定を提供してもよい。一定加速予測の1次元非限定的実施例として、ωが、ユーザの頭部の角回転率であって、αが、一定角加速である場合、予測時間周期dtにわたるユーザの頭部の角位置の変化Δθは、Δθ=ωdt+αdt/2となる。類似一定加速運動学的モデルは、ユーザの頭部位置の変化に関して展開されることができる。
【0022】
予測される将来的頭部姿勢における誤差は、予測モデルにおいて使用される速度または加速における誤差および予測モデル自体における誤差から生じ得る。例えば、実際のユーザの頭部は、比較的に短予測時間範囲にわたってさえ、一定加速で移動しない。ユーザ測定から、例えば、二乗平均平方根(rms)位置誤差は、約0.6mmであって、95%分位数(q95)は、約1.5mmであることが見出されている。これらの例示的ユーザ測定では、位置誤差の大部分は、推定される速度および加速(加速度計およびジャイロスコープデータのEKFフィルタリングから取得された)における誤差からのものであった。頭部平行移動に関する一定加速モデルは、いくつかのウェアラブルシステムに関しては十分に正確であり得る。
【0023】
これらの例示的ユーザ測定では、rms角度誤差は、約1.5弧分であって、q95は、約4弧分であった。しかしながら、位置誤差と対照的に、角度誤差の約30%は、一定加速モデルの使用に起因した。故に、頭部姿勢予測は、一定加速モデルよりロバストかつ正確な角度予測モデルを利用することによって改良されることができる。
【0024】
本開示は、一定加速モデルより実質的に正確であり得る、頭部姿勢予測への再帰ニューラルネットワーク(RNN)アプローチの実施例を提供する。種々の実施形態では、再帰ニューラルネットワークアプローチは、頭部運動に関する角度予測、平行移動予測、または角度および平行移動両方の予測に適用されることができる。例えば、いくつかのウェアラブルシステムでは、一定加速モデルと比較して、角度頭部姿勢予測のための再帰ニューラルネットワークモデルは、rms角度誤差を25%低減させ、角度q95を約27%改良し、全体として、角度予測(特に、より低い頭部速度において)における約38%改良を提供することが見出されている。
【0025】
RNNアプローチの実施形態は、RNNが、本データから学習し、正確な頭部姿勢予測を提供し得るように、実際のユーザ頭部姿勢データ上で訓練されることができる。一定加速モデル(およびある他の予測アルゴリズム)と対照的に、RNNアプローチは、頭部姿勢予測に関して、固定された数学的モデルを仮定しない、または頭部運動学についての仮定(例えば、一定加速)を行わない。RNNは、頭部運動についての仮定を行わずに、実際のユーザ頭部運動から学習することができ、これは、そのような固定されたモデルの可用性および正確度を限定し得る。さらに、RNNアプローチの実施形態は、ウェアラブルシステムのユーザが、移動し、実および仮想コンテンツと相互作用する間に入手された頭部姿勢データから学習し続けることができる。したがって、そのような実施形態は、有利なこととして、ユーザの頭部の運動の実際の特性を反映させるように個人化されることができる。そのような実施形態は、特に、ユーザが、母集団ユーザの標準化されたがデフォルト内に存在し得ない、頭部運動に寄与する、障害または疾患(例えば、震えまたは痙攣)を有する場合、有利であり得る。
【0026】
加えて、頭部姿勢予測は、真のユーザ頭部運動を表すのではなく、ウェアラブルシステム上での外部影響(例えば、ウェアラブルシステムの頭部搭載型フレームへの実際の物理的タップまたはバンプ)に起因し得る、短加速(タップと呼ばれる)によって影響され得る。そのような「タップ」は、モデルが、これらの加速が実際の頭部運動を表すと仮定するため、一定加速モデルにおける予測誤差につながり得る。対照的に、再帰ニューラルネットワークアプローチの実施形態は、タップに対する有意な障害許容力およびより小さいrms誤差(約37%)およびq96分位数(約36%)を呈する。
【0027】
故に、本明細書に説明される再帰ニューラルネットワーク技法を利用する、ウェアラブルシステムの実施形態は、有利なこととして、より正確かつよりロバストな頭部姿勢予測を提供することができ、これは、仮想コンテンツの改良されたディスプレイおよびウェアラブルシステムのユーザのための改良されたAR、MR、またはVR体験につながる。
【0028】
本明細書に説明される再帰ニューラルネットワーク頭部姿勢予測技法は、AR、MR、またはVR用途に限定されず、例えば、ゲーム、医学(例えば、神経学、眼科、リハビリ)等、人物の頭部姿勢が所望される、他の用途のためにも使用されることができる。
ARおよびVRの概要
【0029】
ウェアラブルシステム(本明細書では、拡張現実(AR)システムとも称される)は、2Dまたは3D仮想画像をユーザに提示するために構成されることができる。画像は、組み合わせまたは同等物における、静止画像、ビデオのフレーム、またはビデオであってもよい。ウェアラブルシステムは、ユーザ相互作用のために、単独で、または組み合わせて、VR、AR、またはMR環境を提示し得る、ウェアラブルデバイスを備えてもよい。ウェアラブルデバイスは、例えば、頭部搭載型ディスプレイ(HMD)等のウェアラブルディスプレイデバイスを含むことができる。ウェアラブルデバイスはまた、ウェアラブルデバイスのためのデータ処理の一部を取り扱う中央処理ユニット、バッテリ等を備え得る、ベルトパックを含むことができる。いくつかの状況では、ウェアラブルデバイスは、拡張現実デバイス(ARD)と同義的に使用されることができる。
【0030】
図1は、人物によって視認される、ある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。図1Aでは、MR場面100が、描写され、MR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム120を特徴とする、実世界公園状設定110が見える。これらのアイテムに加え、MR技術のユーザはまた、実世界プラットフォーム120上に立っているロボット像130と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ140とが「見える」と知覚するが、これらの要素は、実世界には存在しない。
【0031】
3Dディスプレイが、真の深度感覚、より具体的には、表面深度のシミュレートされた感覚を生成するために、ディスプレイの視野内の点毎に、その仮想深度に対応する遠近調節応答を生成することが望ましい。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって決定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、不安定な結像、有害な眼精疲労、頭痛、および遠近調節情報の不在下では、表面深度のほぼ完全な欠如をもたらし得る。
【0032】
VR、AR、およびMR体験は、複数の深度平面に対応する画像が視認者に提供されるディスプレイを有する、ディスプレイシステムによって提供されることができる。画像は、深度平面毎に異なってもよく(例えば、場面またはオブジェクトの若干異なる提示を提供する)、視認者の眼によって別個に集束され、それによって、異なる深度平面上に位置する場面に関する異なる画像特徴に合焦させるために要求される眼の遠近調節に基づいて、および/または合焦からずれている異なる深度平面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、信用できる深度の知覚を提供する。
例示的ARおよびVRシステムおよびコンポーネント
【0033】
図2は、ウェアラブルシステム200の実施例を図示する。ウェアラブルシステム200は、ディスプレイ220と、ディスプレイ220の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含むことができる。ディスプレイ220は、ユーザ、装着者、または視認者210によって装着可能である、フレーム230に結合されてもよい。ディスプレイ220は、ユーザ210の眼の正面に位置付けられることができる。ウェアラブルシステム(ディスプレイ220等)の一部は、ユーザの頭部上に装着されてもよい。
【0034】
図2では、スピーカ240が、フレーム230に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する)。ウェアラブルシステム100はまた、ユーザの周囲の環境内の世界を観察する、外向きに向いた結像システム464(図4に示される)を含むことができる。ウェアラブルシステム100はまた、ユーザの眼移動を追跡し得る、内向きに向いた結像システム462(図4に示される)を含むことができる。内向きに向いた結像システムは、一方の眼の移動または両方の眼の移動のいずれかを追跡してもよい。内向きに向いた結像システムは、フレーム230に取り付けられてもよく、内向きに向いた結像システムによって入手された画像情報を処理し、例えば、ユーザ210の眼の瞳孔直径および/または配向または眼姿勢を決定し得る、処理モジュール260および/または270と電気通信してもよい。
【0035】
実施例として、ウェアラブルシステム200は、外向きに向いた結像システム464および/または内向きに向いた結像システム462を使用して、ユーザの姿勢の画像を入手することができる。姿勢は、ユーザの運動を決定する、またはユーザの画像を合成するために使用されてもよい。外向きに向いた結像システム464および/または内向きに向いた結像システム462によって入手された画像は、テレプレゼンスセッションにおいて、第2のユーザに通信され、第2のユーザ環境内でユーザの存在の有形感覚を作成してもよい。
【0036】
ウェアラブルシステム200は、ユーザ210の頭部姿勢を決定し得る、頭部姿勢センサ235を含むことができる。頭部姿勢センサ235は、慣性測定ユニット(IMU)を備えることができ、これは、例えば、加速度計、ジャイロスコープ、または磁力計(例えば、コンパス)を備えてもよい。頭部姿勢センサ235は、フレーム230に取り付けられてもよい。頭部姿勢センサ235は、頭部姿勢の推定のために、IMUデータを処理する、またはIMUデータをローカル処理およびデータモジュール260に送信する、プロセッサを備えることができる。頭部姿勢は、頭部配向(例えば、ヨー、ピッチ、およびロール等の3つの角度によって測定される)および/または頭部位置(例えば、デカルト座標系等の3つの空間座標によって測定される)として表され得る。例えば、頭部姿勢の3自由度(DOF)推定は、3DOF配向(例えば、ヨー、ピッチ、ロール)、3DOF位置(例えば、デカルトx、y、z)、または位置および配向の両方(例えば、x、y、z、ヨー、ピッチ、ロール)を含む、6DOF姿勢を備えることができる。ユーザの頭部の移動は、頭部姿勢センサ235によって検出され、移動は、配向角度の回転または空間座標の平行移動として表されることができる。他の実装では、頭部姿勢センサ235は、加えて、または代替として、例えば、電磁追跡システムのコンポーネント等の他のセンサモダリティを含んでもよい。いくつかの実施形態では、IMUデータ(例えば、時系列)は、フィルタリング(例えば、カルマンフィルタまたは拡張カルマンフィルタ(EKF))によって処理され、頭部姿勢(3DOFまたは6DOF)のより正確な推定を提供するように、データ内の雑音またはジッタの影響を低減させる。随意に、フィルタリングするステップは、加えて、または代替として、他のセンサデータ(例えば、カメラ画像、電磁追跡データ等)を組み込み、頭部姿勢を推定することができる。
【0037】
ディスプレイ220は、有線導線または無線接続等によって、フレーム230に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ210に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載され得る、ローカルデータ処理モジュール260に動作可能に結合されることができる(250)。
【0038】
ローカル処理およびデータモジュール260は、ハードウェアプロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、a)画像捕捉デバイス(例えば、内向きに向いた結像システムおよび/または外向きに向いた結像システム内のカメラ)、マイクロホン、慣性測定ユニット(IMU235)(例えば、加速度計、コンパス、ジャイロスコープ等を備えてもよい)、全地球測位システム(GPS)ユニット、無線デバイス等のセンサ(例えば、フレーム230に動作可能に結合される、または別様にユーザ210に取り付けられ得る)から捕捉されるデータ、および/またはb)可能性として処理または読出後にディスプレイ220への通過のために、遠隔処理モジュール270および/または遠隔データリポジトリ280を使用して入手および/または処理される、データを含んでもよい。ローカル処理およびデータモジュール260は、これらの遠隔モジュールがローカル処理およびデータモジュール260へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク262および/または264によって遠隔処理モジュール270および/または遠隔データリポジトリ280に動作可能に結合されてもよい。加えて、遠隔処理モジュール280および遠隔データリポジトリ280は、相互に動作可能に結合されてもよい。ローカル処理およびデータモジュール260、遠隔処理モジュール270、および遠隔データリポジトリ280はそれぞれ、ネットワークインターフェースを含み、通信リンク262、264を経由して、通信を提供してもよい。
【0039】
いくつかの実施形態では、遠隔処理モジュール270は、データおよび/または画像情報を分析および処理するように構成される、1つ以上のハードウェアプロセッサを備えてもよい。いくつかの実施形態では、遠隔データリポジトリ280は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
【0040】
ヒト視覚系は、複雑であって、深度の現実的知覚を提供することは、困難である。理論によって限定されるわけではないが、オブジェクトの視認者は、輻輳・開散運動(vergence)と遠近調節(accommodation)の組み合わせに起因して、オブジェクトを3次元として知覚し得ると考えられる。相互に対する2つの眼の輻輳・開散運動(すなわち、瞳孔が、相互に向かって、またはそこから離れるように移動し、眼の視線を収束させ、オブジェクトを固視するような瞳孔の回転)は、眼の水晶体の合焦(または「遠近調節」)と緊密に関連付けられる。通常条件下、焦点を1つのオブジェクトから異なる距離における別のオブジェクトに変化させるための眼のレンズの焦点の変化または眼の遠近調節は、「遠近調節-輻輳・開散運動反射」として知られる関係下、輻輳・開散運動の整合変化を自動的に同一距離に生じさせるであろう。同様に、輻輳・開散運動の変化は、通常条件下、遠近調節の整合変化を誘起するであろう。遠近調節と輻輳・開散運動との間のより良好な整合を提供するディスプレイシステムは、3次元画像のより現実的かつ快適なシミュレーションを形成し得る。
【0041】
図3は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図示する。図3を参照すると、z-軸上の眼302および304からの種々の距離におけるオブジェクトは、それらのオブジェクトが合焦するように、眼302および304によって遠近調節される。眼302および304は、特定の遠近調節された状態をとり、オブジェクトをz-軸に沿った異なる距離に合焦させる。その結果、特定の遠近調節された状態は、特定の深度平面におけるオブジェクトまたはオブジェクトの一部が、眼がその深度平面に対して遠近調節された状態にあるとき、合焦するように、関連付けられた焦点距離を有する、深度平面306のうちの特定の1つと関連付けられると言え得る。いくつかの実施形態では、3次元画像は、眼302および304毎に、画像の異なる提示を提供することによって、また、深度平面のそれぞれに対応する画像の異なる提示を提供することによって、シミュレートされてもよい。例証を明確にするために、別個であるように示されるが、眼302および304の視野は、例えば、z-軸に沿った距離が増加するにつれて、重複し得ることを理解されたい。加えて、例証を容易にするために、平坦であるように示されるが、深度平面の輪郭は、深度平面内の全ての特徴が特定の遠近調節された状態における眼と合焦するように、物理的空間内で湾曲され得ることを理解されたい。理論によって限定されるわけではないが、ヒトの眼は、典型的には、有限数の深度平面を解釈し、深度知覚を提供することができると考えられる。その結果、知覚された深度の高度に真実味のあるシミュレーションが、眼にこれらの限定数の深度平面のそれぞれに対応する画像の異なる提示を提供することによって達成され得る。
導波管スタックアセンブリ
【0042】
図4は、画像情報をユーザに出力するための導波管スタックの実施例を図示する。ウェアラブルシステム400は、複数の導波管432b、434b、436b、438b、400bを使用して、3次元知覚を眼/脳に提供するために利用され得る、導波管のスタックまたはスタックされた導波管アセンブリ480を含む。いくつかの実施形態では、ウェアラブルシステム400は、図2のウェアラブルシステム200に対応してもよく、図4は、そのウェアラブルシステム200のいくつかの部分をより詳細に図式的に示す。例えば、いくつかの実施形態では、導波管アセンブリ480は、図2のディスプレイ220の中に統合されてもよい。
【0043】
図4を継続して参照すると、導波管アセンブリ480はまた、複数の特徴458、456、454、452を導波管間に含んでもよい。いくつかの実施形態では、特徴458、456、454、452は、レンズであってもよい。他の実施形態では、特徴458、456、454、452は、レンズではなくてもよい。むしろ、それらは、単に、スペーサであってもよい(例えば、空気間隙を形成するためのクラッディング層および/または構造)。
【0044】
導波管432b、434b、436b、438b、440bおよび/または複数のレンズ458、456、454、452は、種々のレベルの波面曲率または光線発散を用いて画像情報を眼に送信するように構成されてもよい。各導波管レベルは、特定の深度平面と関連付けられてもよく、その深度平面に対応する画像情報を出力するように構成されてもよい。画像投入デバイス420、422、424、426、428は、それぞれ、眼410に向かって出力するために各個別の導波管を横断して入射光を分散させるように構成され得る、導波管440b、438b、436b、434b、432bの中に画像情報を投入するために利用されてもよい。光は、画像投入デバイス420、422、424、426、428の出力表面から出射し、導波管440b、438b、436b、434b、432bの対応する入力縁の中に投入される。いくつかの実施形態では、光の単一ビーム(例えば、コリメートされたビーム)が、各導波管の中に投入され、特定の導波管と関連付けられた深度平面に対応する特定の角度(および発散量)において眼410に向かって指向される、クローン化されたコリメートビームの場全体を出力してもよい。
【0045】
いくつかの実施形態では、画像投入デバイス420、422、424、426、428は、それぞれ、それぞれの対応する導波管440b、438b、436b、434b、432bの中への投入のための画像情報を生成する、離散ディスプレイである。いくつかの他の実施形態では、画像投入デバイス420、422、424、426、428は、例えば、画像情報を1つ以上の光学導管(光ファイバケーブル等)を介して、画像投入デバイス420、422、424、426、428のそれぞれに送り得る、単一の多重化されたディスプレイの出力端である。
【0046】
コントローラ460が、スタックされた導波管アセンブリ480および画像投入デバイス420、422、424、426、428の動作を制御する。コントローラ460は、導波管440b、438b、436b、434b、432bへの画像情報のタイミングおよび提供を調整する、プログラミング(例えば、非一過性コンピュータ可読媒体内に記録される実行可能命令)を含む。いくつかの実施形態では、コントローラ460は、単一一体型デバイスまたは有線または無線通信チャネルによって接続される分散型システムであってもよい。コントローラ460は、いくつかの実施形態では、処理モジュール260および/または270(図2に図示される)の一部であってもよい。コントローラ460は、ハードウェアプロセッサ、特定用途向け集積回路(ASIC)、または他のプログラマブルコンピュータコンポーネントを備えることができる。
【0047】
コントローラ460は、ユーザ210に表示されるべき仮想コンテンツのレンダリングを制御することができる。コントローラ460は、部分的に、仮想コンテンツが表示すべき内容およびそれを表示すべき時間を決定するように、頭部姿勢センサ235からの入力を受信し、ユーザ210が見ている方向を決定することを補助することができる。例えば、本明細書にさらに説明されるように、コントローラ460およびディスプレイ220が仮想コンテンツをユーザにレンダリングするために、ある時間周期(例えば、いくつかの実施形態では、約20ms~30ms)がかかる。コントローラ460は、ユーザが見ているであろう方向、故に、(その方向またはその近くの)ユーザにAR/VR/MR環境内で見えるはずである仮想コンテンツを決定し得るように、ユーザの頭部が将来的(例えば、約20ms~30ms先の時間)にあるであろう場所の予測される位置の推定を使用することができる。コントローラ460が、頭部姿勢センサデータを頭部姿勢センサ235から受け取り、予測される頭部姿勢を計算することができる、または他の実施形態では、頭部姿勢センサ235(いくつかの実施形態では、加速度計235aおよびジャイロスコープ235bを備えてもよい)が、頭部姿勢予測を実施し、予測される頭部姿勢をコントローラ460に提供してもよい。故に、種々の実施形態では、コントローラ460、頭部姿勢センサ235、またはローカル処理およびデータモジュール260は、(例えば、加速度計235aまたはジャイロスコープ235bからの)頭部姿勢データを得て、本明細書に説明される再帰ニューラルネットワーク技法を使用し、予測される頭部姿勢(例えば、角度または平行移動)を計算してもよい。いくつかの実施形態では、頭部姿勢センサ235は、加えて、または代替として、磁力計を含むことができる。
【0048】
導波管440b、438b、436b、434b、432bは、全内部反射(TIR)によって各個別の導波管内で光を伝搬するように構成されてもよい。導波管440b、438b、436b、434b、432bはそれぞれ、主要上部表面および主要底部表面およびそれらの主要上部表面と底部表面との間に延在する縁を伴う、平面である、または別の形状(例えば、湾曲)を有してもよい。図示される構成では、導波管440b、438b、436b、434b、432bはそれぞれ、光を再指向させ、各個別の導波管内で伝搬させ、導波管から画像情報を眼410に出力することによって、光を導波管から抽出するように構成される、光抽出光学要素440a、438a、436a、434a、432aを含んでもよい。抽出された光はまた、外部結合光と称され得、光抽出光学要素はまた、外部結合光学要素と称され得る。抽出された光のビームは、導波管によって、導波管内で伝搬する光が光再指向要素に衝打する場所において出力される。光抽出光学要素(440a、438a、436a、434a、432a)は、例えば、反射および/または回折光学特徴であってもよい。説明を容易にし、図面を明確にするために、導波管440b、438b、436b、434b、432bの底部主要表面に配置されて図示されるが、いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、上部および/または底部主要表面に配置されてもよく、および/または導波管440b、438b、436b、434b、432bの容積内に直接配置されてもよい。いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、透明基板に取り付けられ、導波管440b、438b、436b、434b、432bを形成する、材料の層内に形成されてもよい。いくつかの他の実施形態では、導波管440b、438b、436b、434b、432bは、モノリシック材料部品であってもよく、光抽出光学要素440a、438a、436a、434a、432aは、その材料部品の表面上および/または内部に形成されてもよい。
【0049】
図4を継続して参照すると、本明細書に議論されるように、各導波管440b、438b、436b、434b、432bは、光を出力し、特定の深度平面に対応する画像を形成するように構成される。例えば、眼の最近傍の導波管432bは、そのような導波管432bの中に投入されるにつれて、コリメートされた光を眼410に送達するように構成されてもよい。コリメートされた光は、光学無限遠焦点面を表し得る。次の上方の導波管434bは、眼410に到達し得る前に、第1のレンズ452(例えば、負のレンズ)を通して通過する、コリメートされた光を送出するように構成されてもよい。第1のレンズ452は、眼/脳が、その次の上方の導波管434bから生じる光を光学無限遠から眼410に向かって内向きにより近い第1の焦点面から生じるように解釈するように、若干の凸面波面曲率を生成するように構成されてもよい。同様に、第3の上方の導波管436bは、眼410に到達する前に、その出力光を第1のレンズ452および第2のレンズ454の両方を通して通過させる。第1および第2のレンズ452および454の組み合わせられた屈折力は、眼/脳が、第3の上方の導波管436bから生じる光が次の上方の導波管434bからの光であったよりも光学無限遠から人物に向かって内向きにさらに近い第2の焦点面から生じるように解釈するように、別の漸増量の波面曲率を生成するように構成されてもよい。
【0050】
他の導波管層(例えば、導波管438b、440b)およびレンズ(例えば、レンズ456、458)も同様に構成され、スタック内の最高導波管440bを用いて、人物に最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ480の他側の世界470から生じる光を視認/解釈するとき、レンズ458、456、454、452のスタックを補償するために、補償レンズ層430が、スタックの上部に配置され、下方のレンズスタック458、456、454、452の集約力を補償してもよい。そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管の光抽出光学要素およびレンズの集束側面は両方とも、静的であってもよい(例えば、動的または電気活性ではない)。いくつかの代替実施形態では、一方または両方とも、電気活性特徴を使用して動的であってもよい。
【0051】
図4を継続して参照すると、光抽出光学要素440a、438a、436a、434a、432aは、導波管と関連付けられた特定の深度平面のために、光をその個別の導波管から再指向し、かつ本光を適切な量の発散またはコリメーションを伴って出力するように構成されてもよい。その結果、異なる関連付けられた深度平面を有する導波管は、関連付けられた深度平面に応じて、異なる量の発散を伴う光を出力する、異なる構成の光抽出光学要素を有してもよい。いくつかの実施形態では、本明細書に議論されるように、光抽出光学要素440a、438a、436a、434a、432aは、光を具体的角度で出力するように構成され得る、立体特徴または表面特徴であってもよい。例えば、光抽出光学要素440a、438a、436a、434a、432aは、立体ホログラム、表面ホログラム、および/または回折格子であってもよい。回折格子等の光抽出光学要素は、2015年6月25日に公開された米国特許公開第2015/0178939号(参照することによってその全体として本明細書に組み込まれる)に説明される。
【0052】
いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、回折パターンを形成する回折特徴または「回折光学要素」(本明細書では、「DOE」とも称される)である。好ましくは、DOEは、ビームの光の一部のみがDOEの各交差部で眼410に向かって偏向される一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像情報を搬送する光は、したがって、複数の場所において導波管から出射する、いくつかの関連出射ビームに分割され、その結果、導波管内でバウンスする本特定のコリメートされたビームに関して、眼304に向かって非常に均一なパターンの出射放出となる。
【0053】
いくつかの実施形態では、1つ以上のDOEは、能動的に回折する「オン」状態と有意に回折しない「オフ」状態との間で切替可能であってもよい。例えば、切替可能なDOEは、ポリマー分散液晶の層を備えてもよく、その中で微小液滴は、ホスト媒体中に回折パターンを備え、微小液滴の屈折率は、ホスト材料の屈折率に実質的に整合するように切り替えられることができる(その場合、パターンは、入射光を著しく回折させない)、または微小液滴は、ホスト媒体のものに整合しない屈折率に切り替えられることができる(その場合、パターンは、入射光を能動的に回折させる)。
【0054】
いくつかの実施形態では、深度平面または被写界深度の数および/または分布は、視認者の眼の瞳孔サイズおよび/または配向に基づいて、動的に変動されてもよい。被写界深度は、視認者の瞳孔サイズと反比例して変化してもよい。その結果、視認者の眼の瞳孔のサイズが減少するにつれて、被写界深度は、その平面の場所が眼の焦点深度を越えるため判別不能である1つの平面が、判別可能となり、瞳孔サイズの低減および被写界深度の相当する増加に伴って、より合焦して現れ得るように増加する。同様に、異なる画像を視認者に提示するために使用される、離間される深度平面の数は、減少された瞳孔サイズに伴って減少されてもよい。例えば、視認者は、一方の深度平面から他方の深度平面への眼の遠近調節を調節せずに、第1の深度平面および第2の深度平面の両方の詳細を1つの瞳孔サイズにおいて明確に知覚することが可能ではない場合がある。しかしながら、これらの2つの深度平面は、同時に、遠近調節を変化させずに、別の瞳孔サイズにおいてユーザに合焦するには十分であり得る。
【0055】
いくつかの実施形態では、ディスプレイシステムは、瞳孔サイズおよび/または配向の決定に基づいて、または特定の瞳孔サイズおよび/または配向を示す電気信号の受信に応じて、画像情報を受信する導波管の数を変動させてもよい。例えば、ユーザの眼が、2つの導波管と関連付けられた2つの深度平面間を区別不能である場合、コントローラ460は、これらの導波管のうちの1つへの画像情報の提供を停止するように構成またはプログラムされてもよい。有利なこととして、これは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのDOEがオンおよびオフ状態間で切替可能である実施形態では、DOEは、導波管が画像情報を受信するとき、オフ状態に切り替えられてもよい。
【0056】
いくつかの実施形態では、出射ビームに視認者の眼の直径未満の直径を有するという条件を満たさせることが望ましくあり得る。しかしながら、本条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態では、本条件は、視認者の瞳孔のサイズの決定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズもまた、減少し得る。いくつかの実施形態では、出射ビームサイズは、可変開口を使用して変動されてもよい。
【0057】
ウェアラブルシステム400は、世界470の一部を結像する、外向きに向いた結像システム464(例えば、デジタルカメラ)を含むことができる。世界470の本部分は、視野(FOV)と称され得、結像システム464は、時として、FOVカメラとも称される。視認者による視認または結像のために利用可能な領域全体は、動眼視野(FOR)と称され得る。FORは、ウェアラブルシステム400を囲繞する4πステラジアンの立体角を含んでもよい。ウェアラブルシステム400のいくつかの実装では、FORは、ユーザが、その頭部または眼を移動させ、ユーザの周囲(ユーザの正面、背後、上方、下方、または側面)のオブジェクトを見ることができるため、ディスプレイシステム400のユーザの周囲の立体角の実質的に全てを含んでもよい。外向きに向いた結像システム464から得られた画像は、ユーザによって行われるジェスチャ(例えば、手または指のジェスチャ)を追跡し、ユーザの正面における世界470内のオブジェクトを検出する等のために、使用されることができる。頭部姿勢センサ235は、頭部姿勢の推定を決定するために使用されることができ、これは、FOR内のユーザのFOVを推定するために使用されることができる。
【0058】
ウェアラブルシステム400はまた、眼移動および顔移動等のユーザの移動を観察する、内向きに向いた結像システム466(例えば、デジタルカメラ)を含むことができる。内向きに向いた結像システム466は、眼410の画像を捕捉し、眼304の瞳孔のサイズおよび/または配向を決定するために使用されてもよい。内向きに向いた結像システム466は、ユーザが見ている方向(例えば、眼姿勢)を決定する際に使用するため、またはユーザのバイオメトリック識別のため(例えば、虹彩識別を介して)、画像を得るために使用されることができる。いくつかの実施形態では、少なくとも1つのカメラが、眼毎に、独立して、各眼の瞳孔サイズおよび/または眼姿勢を別個に決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために利用されてもよい。いくつかの他の実施形態では、片眼410のみの瞳孔直径および/または配向(例えば、対の眼あたり単一カメラのみを使用して)が、決定され、ユーザの両眼に関して類似すると仮定される。内向きに向いた結像システム466によって得られる画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにウェアラブルシステム400によって使用され得る、ユーザの眼姿勢および/または気分を決定するために分析されてもよい。上記に説明されるように、ウェアラブルシステム400はまた、例えば、頭部姿勢センサ235を使用して、頭部姿勢(例えば、頭部位置または頭部配向)を決定してもよい。
【0059】
ウェアラブルシステム400は、ユーザが、コマンドをコントローラ460に入力し、ウェアラブルシステム400と相互作用し得る、ユーザ入力デバイス466を含むことができる。例えば、ユーザ入力デバイス466は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド(Dパッド)、ワンド、触知デバイス、トーテム、スマートフォン、スマートウォッチ、タブレット等、それらの組み合わせ、または同等物を含むことができる。多DOFコントローラは、コントローラの一部または全部の可能性として考えられる平行移動(例えば、左/右、前/後、または上/下)または回転(例えば、ヨー、ピッチ、またはロール)におけるユーザ入力を感知することができる。ユーザは、例えば、マウスをクリックする、タッチパッドをタップする、タッチスクリーンをスワイプする、容量ボタンにかざすまたはそれをタッチする、キーボードまたはゲームコントローラ(例えば、5方向Dパッド)上のキーを押下する、ジョイスティック、ワンド、またはトーテムをオブジェクトに向かって向ける、遠隔制御上のボタンを押下する、またはユーザ入力デバイスとの他の相互作用によって、ユーザ入力デバイス466またはその環境内のオブジェクト(例えば、仮想または物理的オブジェクト)と相互作用することができる。ユーザ入力デバイス466の作動は、ウェアラブルシステムに、例えば、オブジェクトと関連付けられた仮想ユーザインターフェースメニューを表示する、ゲーム内のユーザのアバタを動画化する等のユーザインターフェース動作を実施させ得る。ユーザ入力デバイス466は、光を放出するように構成されてもよい。光パターンは、ユーザの環境内のオブジェクトと関連付けられた情報、ユーザ入力デバイス466またはウェアラブルデバイスとのユーザの相互作用等を表してもよい。
【0060】
ある場合には、ユーザは、指(例えば、親指)を使用して、タッチセンサ式入力デバイスを押下またはスワイプし、入力をウェアラブルシステム400に提供(例えば、ユーザ入力をウェアラブルシステム400によって提供されるユーザインターフェースに提供)してもよい。ユーザ入力デバイス466は、ウェアラブルシステム400の使用の間、ユーザの手によって保持されてもよい。ユーザ入力デバイス466は、ウェアラブルシステム400と有線または無線通信することができる。ユーザ入力デバイス466は、本明細書に説明されるトーテムの実施形態を備えてもよい。トーテムは、タッチ表面を含むことができ、これは、ユーザが、軌道に沿ってスワイプする、またはタップすること等によって、トーテムを作動させることを可能にすることができる。
深層予測器ニューラルネットワーク頭部姿勢予測器を伴う、例示的レンダリングパイプライン
【0061】
図5は、ウェアラブルシステムのユーザへの仮想コンテンツの表示のためのレンダリングパイプライン500の一部の実施例を図式的に図示する、ブロック図である。レンダリングパイプラインは、それぞれ、図2および4を参照して説明される、ウェアラブルシステム200または400によって実装されることができる。
【0062】
本実施例では、頭部姿勢データを提供する、頭部姿勢センサ235は、加速度計235aと、ジャイロスコープ235bとを含む。頭部姿勢データは、随意に、例えば、拡張カルマンフィルタ(EKF)を用いて、フィルタリングされ、ユーザの頭部の速度および加速に関するより平滑な推定を提供することができる。頭部姿勢データは、将来的時間範囲における予測される頭部姿勢530を出力する、姿勢予測器510に入力される。将来的時間範囲は、レンダリングパイプラインが、仮想コンテンツを生成し、システム200、400のユーザに表示するがためにかかる時間に匹敵し得、これは、例えば、約10ms~約50ms将来であり得る。したがって、レンダリングパイプライン500は、ユーザが仮想コンテンツまたはその近くを見ているときに、仮想コンテンツをユーザに表示することができ、これは、レンダリング待ち時間を低減させ、ユーザ体験を改良する。
【0063】
姿勢予測器510は、例えば、ローカル処理およびデータモジュール260、遠隔処理モジュール270、および遠隔データリポジトリ280等の非一過性メモリ、コントローラ460、または他の電子コンピュータ回路構成を備える、ハードウェアプロセッサによって実装されることができる。
【0064】
種々の実施形態では、予測される頭部姿勢530は、頭部配向(例えば、ヨー、ピッチ、およびロール角度)を備える、3DOF頭部姿勢、頭部位置(例えば、デカルトx、y、およびz座標)を備える、3DOF頭部姿勢、または頭部配向および頭部位置の両方を備える、6DOF姿勢であることができる。
【0065】
予測される頭部姿勢530は、ウェアラブルシステム200、400のディスプレイ220への仮想コンテンツのタイミングおよびプロビジョニングを調整する、コントローラ460(図4を参照して説明される)に入力される。
【0066】
姿勢予測器510は、本明細書に説明される深層予測器ニューラルネットワークアーキテクチャ520の実施形態を含むことができる(例えば、図6および7参照)。深層予測器ニューラルネットワークアーキテクチャ520は、再帰ニューラルネットワーク(RNN)を含むことができ、これは、一定加速予測モデルより正確かつロバストに姿勢予測を実施する。いくつかの実装では、深層予測器ニューラルネットワークアーキテクチャ520は、ユーザの頭部の角度配向を予測するために使用され、一定加速モデルは、ユーザの頭部の空間平行移動を予測するために使用される。
例示的深層予測器ニューラルネットワークアーキテクチャ
【0067】
図6は、頭部姿勢予測のための深層予測器ニューラルネットワーク520の実施例を図式的に図示する、ブロック図である。ニューラルネットワーク520の本実施例は、再帰ニューラルネットワーク(RNN)610および全結合(FC)層620を含む。
【0068】
上記に説明されるように、(例えば、加速度計235aおよびジャイロスコープ235bからの)頭部姿勢データは、RNN610に入力されることができる。いくつかの実施形態では、入力データは、加えて、または代替として、頭部速度および加速の推定とともに、頭部姿勢センサ235からの未加工読取値を含む。例えば、頭部姿勢センサ235データは、例えば、カルマンまたは拡張カルマンフィルタを用いて、フィルタリングによって処理され、ユーザの頭部の速度および加速を提供することができる。入力頭部姿勢データは、ある時間周期(例えば、10ms~1s)にわたる時系列であることができる。
【0069】
頭部姿勢データは、RNN610に入力される。RNNは、ニューラルネットワークの層が、RNNの前の層からの状態情報を利用するため、「メモリ」を伴う、ニューラルネットワークである。RNNは、事実上、時系列データに作用する、反復モジュールのループを有し、これは、時系列内の情報が存続し(例えば、記憶され)、RNNの将来的層によって作用されることを可能にする。RNN610の再帰性は、ループ612によって図式的に図示され、これは、前のループからの出力がRNN内の将来的ループ内で処理され得る(他の入力とともに)ことを示す。RNN610は、したがって、その内部状態(例えば、メモリ)を使用して、時系列頭部姿勢データを処理し、将来的頭部姿勢530を予測する。
【0070】
RNN610の出力は、RNN610の最終層の全てのニューロンへの接続を有する、全結合(FC)層620にフィードされることができる。FC層620は、予測される将来的頭部姿勢530、例えば、3DOF(角度)、3DOF(平行移動)、または6DOF(回転および平行移動)を生成する。
【0071】
ネットワークアーキテクチャ520のいくつかの実装では、RNN610の隠れ層は、32個のニューロンを含み、FC層620は、3(3DOF)または6(6DOF)つの出力を提供する。いくつかの実施形態では、FC層620は、正規化線形ユニット(ReLU)または双曲線正接(tanh)活性化関数を含む。他の数の隠れ層ニューロンまたは他のタイプの活性化関数も、使用されることができる。例えば、いくつかの実装では、RNN610の隠れ層は、64個のニューロンを含んでもよい。
【0072】
図7は、頭部姿勢予測のための深層予測器ニューラルネットワーク520の別の実施例を図式的に図示する、ブロック図である。本実施例では、ニューラルネットワークアーキテクチャは、3つのスタックされた再帰ニューラルネットワークユニットを備える、RNNを含む。再帰ネットワークユニットは、長短期メモリ(LSTM)ネットワーク、すなわち、LSTM0 700、LSTM1 701、およびLSTM2 702である。3つのLSTMユニット700、701、702は、LSTM1 701にフィードされるLSTM0 700からの出力、LSTM2 702にフィードされるLSTM1 701からの出力とともにスタックされる。LSTM700、701、702の再帰性は、各LSTMユニット上にループバックする矢印で図式的に図示され、それぞれ、h、h、hによって示される矢印は、各LSTMユニットの再帰およびメモリを図式的に示す。
【0073】
3つのLSTMユニット702の最後は、予測される頭部姿勢530を提供する、FC層620に接続される。
【0074】
LSTMユニットは、特に、時系列入力データ(例えば、頭部姿勢センサ235a、235bからの時系列頭部姿勢データ)における長期依存性を学習するように適合される。ある例示的LSTMアーキテクチャでは、LSTMセルは、メモリセルと、入力ゲートと、出力ゲートと、忘却ゲートとを含む。メモリセルは、長または短時間周期のいずれかにわたって、値(または状態)を記憶する。これは、メモリセルのための恒等活性化関数を使用することによって(またはそれを使用せずに)達成されてもよい。LSTMゲートは、例えば、ロジスティック関数を使用して、活性化を算出する。入力ゲートは、それに対して新しい値がセルの中にフローする、範囲を制御することができ、忘却ゲートは、それに対して値がセル内に留まる、範囲を制御することができ、出力ゲートは、それに対してセル内の値がLSTMセルの出力される活性化を算出するために使用される、範囲を制御することができる。これらのゲート内外への接続が、存在し得る。接続のうちのいくつかは、再帰されることができる。訓練の間に学習され得る、これらの接続の加重は、ゲートの動作を指示するために使用されることができる。ゲートはそれぞれ、その独自のパラメータ、例えば、可能性として、LSTMセル外の他のユニットからの加重およびバイアスを有することができる。
【0075】
図7に示される例示的ネットワークアーキテクチャ520では、3つのスタックされたLSTMユニットが、使用される。いくつかの実装では、単一LSTMユニットが、使用されてもよい。他の実装では、2、4、5、6、またはそれよりも多くのスタックされたLSTMユニットが、使用されることができる。頭部姿勢予測のために、ユーザ頭部姿勢データを用いた実験は、3つのLSTMユニットが、1つ、2つ、または他の数のユニットより良好な性能を提供することを示した。例えば、LSTMユニットの数を増加させることは、頭部姿勢時系列データにおけるパターンを学習するアーキテクチャ520の能力を増加させ得るが、本増加された予測能力は、ネットワークを訓練および起動させるための増加された算出コストとなる。3つのLSTMユニットは、頭部姿勢予測正確度および算出効率の観点から、優れた性能を提供することが見出された。異なる数のLSTMユニットが、異なる目的を達成するように採用されてもよいことを理解されたい。いくつかの実施例では、より少ないLSTMユニットが、使用されてもよい(例えば、1つまたは2つのLSTMユニット)が、採用される各LSTMユニットがより多数のニューロン、接続、または両方を含んでもよい。類似設計原理はまた、FC層のアーキテクチャにも反映され得る。
【0076】
深層予測器RNNアーキテクチャの他の実装では、他のタイプの再帰ユニットが、図7に示されるLSTMユニットに加え、またはその代わりに、使用されることができる。例えば、LSTMユニット700、701、702のいくつかまたは全ては、ゲート付き再帰ユニット(GRU)または注意ユニットと置換されることができる。さらに他の実装では、RNN610は、ゲート付きフィードバックRNN、クロックワーク(CW)RNN、またはメモリを伴う任意の他のニューラルネットワークを備えることができる。
深層予測器ネットワークを訓練する実施例
【0077】
深層予測器RNNアーキテクチャ520の実装は、ウェアラブルディスプレイ200、400の実施形態を装着しているユーザから集められたデータを使用して訓練された。頭部姿勢センサ235は、1,000Hzで動作されるIMUから成り、拡張カルマンが、500Hzで角速度および角加速データを提供するようにフィルタリングした。頭部姿勢時系列データ内のデータ点の数は、10,000~100,000の長さの範囲内であった。訓練データは、ユーザの頭部運動の126個の記録を含み、102個の記録は、訓練のために使用され、24個の記録は、検証のために使用された。深層予測器アーキテクチャの実装は、L2-ノルム損失関数を使用した打切型通時的逆伝播を用いて、多対多訓練技法を使用して訓練された。N個の数の過去のステップに関する勾配が、集約され(N=200)、シーケンスに沿った隠れ状態を維持しながら最適化された。
【0078】
訓練された出力姿勢は、深層予測器ネットワークの本実装のために30ms時間範囲で予測される3DOF角度頭部姿勢であった。他の時間範囲に関して、ネットワーク520からの出力が、30ms時間範囲にわたる値に対して線形に外挿されることができる。
深層予測器ネットワーク頭部姿勢予測の実施例
【0079】
図8は、時間的予測範囲dtにわたる頭部姿勢予測の実施例を図式的に図示する、グラフである。上記に説明されるように、予測範囲dtは、ウェアラブルシステム200、400のレンダリングパイプライン500内のレンダリング待ち時間にほぼ対応し得る。例えば、予測範囲dtは、約10ms~約50msの範囲内、例えば、30msであることができる。
【0080】
図8では、時間の関数としてのユーザの実際の頭部姿勢が、線804(この場合、例証目的のために直線)によって図式的に描写される。頭部姿勢センサデータは、線808によって図式的に図示され、雑音、ジッタ、EKFフィルタリングにおける不正確性等に起因して、実際の頭部姿勢線804の周囲の変動を示す。時間t1では、頭部姿勢センサデータは、頭部姿勢が点814にあることを示す。姿勢予測器510は、深層予測器ニューラルネットワーク520および(例えば、時間t1に先立ったある時間のシーケンスにわたる線808からの)頭部姿勢データの時系列を利用して、時間t1+dtにおける頭部姿勢を予測することができる。予測は、矢印812によって図式的に示される、角度オフセット、空間平行移動、または角度オフセットおよび空間平行移動の両方を備えてもよい。姿勢予測器510は、予測812を時間t1における頭部姿勢813に適用し、時間t1+dtにおける予測される頭部姿勢816を計算する。時間t2における類似計算もまた、図8に図示される。予測は、姿勢予測器510が、実際の頭部姿勢804を追跡することを可能にする。
深層予測器ニューラルネットワークを使用して頭部姿勢を予測するための例示的方法
【0081】
図9は、深層予測器ニューラルネットワークアーキテクチャ520の実施形態を用いて頭部姿勢を予測するための方法900の実施例を図示する、フローチャートである。方法900は、ウェアラブルディスプレイシステム200、400によって、例えば、ローカル処理およびデータモジュール260、姿勢予測器510、コントローラ460によって、または別のハードウェアプロセッサによって実施されることができる。
【0082】
ブロック904では、方法900は、頭部姿勢データを受信する。例えば、頭部姿勢データは、頭部姿勢センサ235(例えば、加速度計235aおよびジャイロスコープ235b)からのデータを含むことができる。加えて、または代替として、頭部姿勢データは、ユーザの頭部の速度または加速を含むことができる。例えば、頭部姿勢センサ235(または電磁追跡センサ等の他のセンサまたはカメラからの画像)からのデータは、拡張カルマンフィルタ(EKF)を用いてフィルタリングされ、頭部速度または加速の推定を提供することができる。
【0083】
ブロック908では、方法900は、深層予測器ニューラルネットワークアーキテクチャ520(例えば、図7および8参照)の実施形態を使用して、将来的予測範囲(例えば、約10ms~約50ms将来)における頭部姿勢を予測する。頭部姿勢は、頭部配向(例えば、ヨー、ピッチ、およびロール角度)を備える、3DOF頭部姿勢、頭部位置(例えば、デカルトx、y、およびz座標)を備える、3DOF頭部姿勢、または頭部配向および頭部位置の両方を備える、6DOF姿勢であることができる。いくつかの実施形態では、方法900は、深層予測器ニューラルネットワークアーキテクチャ520を使用して、角度頭部姿勢を予測し、頭部平行移動のために別の予測モデル(例えば、一定加速)を使用する。深層予測器ニューラルネットワークアーキテクチャ520は、例えば、LSTMユニット、GRU等の1つ以上のメモリユニットのスタックを含む、RNNを備えることができる。いくつかの実装では、3つのLSTMまたはGRUのスタックが、利用される。深層予測器ニューラルネットワークアーキテクチャ520は、RNNからの出力を受け取り、予測される頭部姿勢を計算する、FC層を含むことができる。
【0084】
ブロック912では、方法900は、予測される頭部姿勢を利用して、仮想コンテンツをユーザにレンダリングする。例えば、予測される頭部姿勢は、ユーザが将来のある時間周期(例えば、10ms~50ms)に見ているであろう場所に関する情報を提供する。レンダリングパイプライン500は、ユーザが見ている可能性がある仮想コンテンツを計算することができ、ユーザが実際に予測される姿勢に方向転換する前に、レンダリングプロセスを開始することができる。したがって、方法900の実施形態は、レンダリング待ち時間を低減させ、仮想コンテンツのレンダリングをちょうど提供し、享受可能なユーザ体験を有効にすることができる。
付加的側面
【0085】
側面1.ウェアラブルシステムであって、ウェアラブルシステムの装着者の眼の前に配置されるように構成される、ディスプレイであって、仮想コンテンツをウェアラブルシステムの装着者に表示するように構成される、ディスプレイと、頭部姿勢データを提供するように構成される、頭部姿勢センサと、頭部姿勢予測再帰ニューラルネットワークを記憶するように構成される、非一過性メモリと、頭部姿勢センサ、ディスプレイ、および非一過性メモリと通信する、ハードウェアプロセッサであって、頭部姿勢データを受信し、頭部姿勢データを頭部姿勢予測再帰ニューラルネットワークに入力し、時間範囲において、頭部姿勢予測再帰ニューラルネットワークを実行し、予測される頭部姿勢を出力し、少なくとも部分的に、時間範囲において予測される頭部姿勢に基づいて、ディスプレイに、仮想コンテンツをレンダリングさせるようにプログラムされる、ハードウェアプロセッサとを備える、ウェアラブルシステム。
【0086】
側面2.ディスプレイは、仮想コンテンツを複数の深度平面に提示するように構成される、側面1に記載のウェアラブルシステム。
【0087】
側面3.頭部姿勢センサは、慣性測定ユニットを備える、側面1または側面2に記載のウェアラブルシステム。
【0088】
側面4.慣性測定ユニットは、加速度計およびジャイロスコープを備える、側面3に記載のウェアラブルシステム。
【0089】
側面5.頭部姿勢データは、速度または加速を含む、側面1-4のいずれか1項に記載のウェアラブルシステム。
【0090】
側面6.頭部姿勢センサからの出力は、拡張カルマンフィルタによってフィルタリングされ、頭部姿勢データを提供する、側面5に記載のウェアラブルシステム。
【0091】
側面7.頭部姿勢予測再帰ニューラルネットワークは、再帰ニューラルネットワーク(RNN)および全結合(FC)層を備える、側面1-6のいずれか1項に記載のウェアラブルシステム。
【0092】
側面8.頭部姿勢予測再帰ニューラルネットワークは、複数の反復モジュールを備える、側面1-7のいずれか1項に記載のウェアラブルシステム。
【0093】
側面9.複数の反復モジュールのうちの少なくとも1つは、長短期メモリセル(LSTM)またはゲート付き再帰ユニット(GRU)を備える、側面8に記載のウェアラブルシステム。
【0094】
側面10.頭部姿勢予測再帰ニューラルネットワークは、1つ以上の長短期メモリ(LSTM)セルのスタックまたは1つ以上のゲート付き再帰ユニット(GRU)のスタックを備える、側面1-9のいずれか1項に記載のウェアラブルシステム。
【0095】
側面11.頭部姿勢予測再帰ニューラルネットワークは、3つのLSTMセルまたは3つのGRUを備える、側面10に記載のウェアラブルシステム。
【0096】
側面12.時間範囲は、10ms~50msの範囲内である、側面1-11のいずれか1項に記載のウェアラブルシステム。
【0097】
側面13.時間範囲は、20ms~40msの範囲内である、側面1-11のいずれか1項に記載のウェアラブルシステム。
【0098】
側面14.予測される頭部姿勢は、3自由度(DOF)姿勢を備える、側面1-13のいずれか1項に記載のウェアラブルシステム。
【0099】
側面15.3DOF姿勢は、頭部配向を備える、側面14に記載のウェアラブルシステム。
【0100】
側面16.3DOF姿勢は、頭部位置を備える、側面14または側面15に記載のウェアラブルシステム。
【0101】
側面17.予測される頭部姿勢は、配向および位置を含む、6自由度(DOF)姿勢を備える、側面1-16のいずれか1項に記載のウェアラブルシステム。
【0102】
側面18.予測される頭部姿勢は、頭部配向を備え、ハードウェアプロセッサはさらに、予測非ニューラルネットワークモデルを使用して、時間範囲において、頭部位置を予測するようにプログラムされる、側面1-17のいずれか1項に記載のウェアラブルシステム。
【0103】
側面19.予測非ニューラルネットワークモデルは、一定加速モデルを備える、側面18に記載のウェアラブルシステム。
【0104】
側面20.仮想コンテンツをレンダリングするための方法であって、コンピュータハードウェアを備える、レンダリングパイプラインの制御下で、ユーザの頭部に関する頭部姿勢データを受信するステップと、少なくとも再帰ニューラルネットワーク(RNN)および頭部姿勢データを使用して、予測範囲において予測される頭部姿勢を予測するステップと、予測範囲において、少なくとも部分的に、予測される頭部姿勢に基づいて、仮想コンテンツをレンダリングするステップとを含む、方法。
【0105】
側面21.頭部姿勢データは、(1)慣性測定ユニット(IMU)からのデータ、(2)ユーザの頭部に関する速度または加速データ、または(1)および(2)の両方のうちの1つ以上のものの時系列を含む、側面20に記載の方法。
【0106】
側面22.データをフィルタリングし、速度または加速データを提供するステップをさらに含む、側面21に記載の方法。
【0107】
側面23.フィルタリングするステップは、拡張カルマンフィルタ(EKF)を用いて実施される、側面22に記載の方法。
【0108】
側面24.RNNは、1つ以上の長短期メモリ(LSTM)セルのスタックまたは1つ以上のゲート付き再帰ユニット(GRU)のスタックを備える、側面20-23のいずれか1項に記載の方法。
【0109】
側面25.RNNは、3つのLSTMセルまたは3つのGRUのスタックを備える、側面24に記載の方法。
【0110】
側面26.RNNは、予測される頭部姿勢を出力するように構成される、全結合(FC)層に接続される、側面20-25のいずれか1項に記載の方法。
【0111】
側面27.予測される頭部姿勢は、ユーザの頭部の配向を備え、本方法はさらに、予測範囲において、一定加速モデルを用いて、ユーザの頭部の位置を予測するステップを含む、側面20-26のいずれか1項に記載の方法。
【0112】
側面28.予測範囲は、10ms~50msの範囲内である、側面20-27のいずれか1項に記載の方法。
【0113】
側面29.ウェアラブルディスプレイシステムであって、ウェアラブルシステムの装着者の眼の前に配置されるように構成される、ディスプレイであって、仮想コンテンツをウェアラブルシステムの装着者に表示するように構成される、ディスプレイと、頭部姿勢データを提供するように構成される、頭部姿勢センサと、頭部姿勢予測再帰ニューラルネットワークを記憶するように構成される、非一過性メモリと、頭部姿勢センサ、ディスプレイ、および非一過性メモリと通信する、コンピューティングハードウェアであって、側面20-28のいずれか1項に記載の方法を実施するようにプログラムされる、レンダリングパイプラインを含むようにプログラムされる、コンピューティングハードウェアとを備える、ウェアラブルディスプレイシステム。
付加的考慮点
【0114】
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされる、動的リンクライブラリ内にインストールされる、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【0115】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つ以上の物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み得、各フレームは、数百万のピクセルを有し、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。さらに、頭部姿勢は、ウェアラブルシステムのレンダリングエンジンが、満足の行くユーザ体験のために十分に短待ち時間を提供する、仮想コンテンツをレンダリングし得るように、繰り返し、20ms~50ms(例えば、20Hz~50Hz)のタイムスケールで予測されてもよく、ハードウェア処理回路構成が、本明細書に説明される再帰ニューラルネットワーク頭部姿勢予測を実施するために要求され得る。
【0116】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶されてもよい。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとってもよい。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶されてもよい、またはコンピュータ可読伝送媒体を介して通信されてもよい。
【0117】
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つ以上の実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去されてもよい。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能性として考えられる。
【0118】
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、衛星ネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであってもよい。
【0119】
本開示は、対象デバイスを使用して実施され得る方法を含む。本方法は、そのような好適なデバイスを提供するという行為を含んでもよい。そのような提供は、エンドユーザによって実施されてもよい。換言すると、「提供する」行為は、単に、エンドユーザが、対象方法において必須デバイスを提供するために、取得する、アクセスする、接近する、位置付ける、設定する、アクティブ化する、電源を入れる、または別様に作用することを要求する。本明細書に記載される要素、行為、ステップ、または方法のブロックは、論理的に可能である記載された事象の任意の順番で、および事象の記載された順番で実施されてもよい。
【0120】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【0121】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
【0122】
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態が、ある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つまたはそれを上回る実施形態に対していかようにも要求されること、または1つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「~を備える(comprising)」、「~を含む(including)」、「~を有する(having)」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」または「少なくとも1つ」を意味するように解釈されるべきである。本明細書に具体的に定義されない限り、本明細書で使用される全ての技術的および科学的用語は、請求項の有効性を維持しながら、可能な限り広義の一般的に理解される意味を与えられるべきである。
【0123】
本明細書で使用されるように、項目のリスト「~のうちの少なくとも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つがそれぞれ存在するように要求することを示唆することを意図されない。
【0124】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9