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

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

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

特開2024-123073仮想現実、拡張現実、および複合現実システムおよび方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024123073
(43)【公開日】2024-09-10
(54)【発明の名称】仮想現実、拡張現実、および複合現実システムおよび方法
(51)【国際特許分類】
   H04N 13/359 20180101AFI20240903BHJP
   H04N 13/395 20180101ALI20240903BHJP
   G09G 5/00 20060101ALI20240903BHJP
   G09G 5/36 20060101ALI20240903BHJP
   G02B 30/52 20200101ALI20240903BHJP
   G06T 19/00 20110101ALI20240903BHJP
   G02B 27/02 20060101ALN20240903BHJP
【FI】
H04N13/359
H04N13/395
G09G5/00 530T
G09G5/00 520V
G09G5/00 520W
G09G5/36 500
G09G5/00 550C
G09G5/00 510H
G09G5/00 550B
G09G5/00 510A
G02B30/52
G06T19/00 600
G02B27/02 Z
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2024095796
(22)【出願日】2024-06-13
(62)【分割の表示】P 2022162258の分割
【原出願日】2017-08-22
(31)【優先権主張番号】62/377,829
(32)【優先日】2016-08-22
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/377,804
(32)【優先日】2016-08-22
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/462,279
(32)【優先日】2017-02-22
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ホセ フェリックス ロドリゲス
(72)【発明者】
【氏名】リカルド マルティネス ペレス
(57)【要約】
【課題】仮想現実、拡張現実、および複合現実システムおよび方法の提供。
【解決手段】仮想、拡張、または複合現実ディスプレイシステムは、仮想、拡張、または複合現実画像データを表示するように構成される、ディスプレイであって、光学歪曲または収差を画像データに導入する、1つ以上の光学コンポーネントを含む、ディスプレイを含む。本システムはまた、画像データをディスプレイに提供するように構成される、ディスプレイコントローラを含む。ディスプレイコントローラは、光学歪曲補正情報を記憶するためのメモリと、少なくとも部分的に、光学歪曲補正情報を使用して、光学歪曲または収差のために画像データを補正するための1つ以上の処理要素とを含む。
【選択図】なし
【特許請求の範囲】
【請求項1】
仮想、拡張、または複合現実システムにおける方法であって、
前記システムが画像を複数の深度平面上にレンダリングおよび投影する多平面モードで動作することと、
単一平面アクティビティのインジケータを受信することと、
前記単一平面アクティビティのインジケータの受信に応答して、多平面結像モードから離散結像モードに切り替わることであって、前記離散結像モードでは、前記システムが画像を単一深度平面上にレンダリングおよび投影する、ことと、
多平面アクティビティのインジケータを受信することと、
前記多平面アクティビティのインジケータの受信に応答して、前記単一平面モードから前記多平面モードに切り替わることと
を含む、方法。
【請求項2】
前記単一平面アクティビティのインジケータは、ユーザが映画が仮想画面上に表示されることを要求すること、前記ユーザが2Dアプリケーションを開くこと、またはセンサデータが前記ユーザの視線が所定の閾値時間量にわたって特定の平面に収束していることを示すことを含む、請求項1に記載の方法。
【請求項3】
瞬目または眼移動の間、前記離散結像モードと前記多平面結像モードとの間で切り替わることをさらに含む、請求項1に記載の方法。
【請求項4】
前記多平面アクティビティのインジケータは、ユーザが現在仮想画面上に表示されている映画が停止されることを要求すること、またはセンサデータが前記ユーザの視線が所定の閾値時間量にわたって特定の平面から離れて収束していることを示すことを含む、請求項1に記載の方法。
【請求項5】
仮想、拡張、または複合現実システムにおける方法であって、
前記システムが画像を複数の深度平面上にレンダリングおよび投影する多平面モードで動作することと、
前記システムが所定の閾値に到達したことのインジケータを受信することと、
前記システムが所定の閾値に到達したことのインジケータの受信に応答して、多平面結像モードから離散結像モードに切り替わることであって、前記離散結像モードでは、前記システムが画像を単一深度平面上にレンダリングおよび投影する、ことと、
通常システム動作のインジケータを受信することと、
前記通常システム動作のインジケータの受信に応答して、前記単一平面モードから前記多平面モードに切り替わることと
を含む、方法。
【請求項6】
前記所定の閾値は、温度閾値またはバッテリ電力残閾値を含む、請求項5に記載の方法。
【請求項7】
瞬目または眼移動の間、前記離散結像モードと前記多平面結像モードとの間で切り替わることをさらに含む、請求項5に記載の方法。
【請求項8】
前記通常システム動作のインジケータは、前記所定の閾値の所定の量内にシステム特性を有していないことを含む、請求項5に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、米国仮出願第62/377,829号、出願日2016年8月22日、代理人管理番号ML.30085.00、発明の名称“MIXED REALITY SYSTEMS AND METHODS”、米国仮出願第62/377,804号、出願日2016年8月22日、代理人管理番号ML.30086.00、発明の名称 “MIXED REALITY SYSTEMS AND METHODS”、および米国仮出願第62/462,279号、出願日2017年2月22日、代理人管理番号MLk-30093、発明の名称 “VIRTUAL, AUGMENTED, AND MIXED REALITY SYSTEMS AND METHODS”に対する優先権を主張するものである。本願は、米国特許出願第14/555,585号、出願日2014年11月27日、代理人管理番号ML.20011.00、発明の名称“VIRTUAL AND AUGMENTED REALITY SYSTEMS AND METHODS”に関連している。上記特許出願の内容は、全体が記載されているかのように、それらの全体が参照により明示的かつ完全に本明細書中に援用される。上記援用された特許出願における記載は、仮想現実、拡張現実、および複合現実システムおよび方法の種々の実施形態である。本明細書中に記載されているのは、仮想現実、拡張現実、および複合現実システムおよび方法のさらなる実施形態である。
【0002】
本特許ドキュメントの開示の一部は、著作権保護の対象である資料を含む。著作権者は、特許商標庁の特許ファイルまたは記録において見られる特許ドキュメントまたは特許開示のいかなる者によるファクシミリ複製にも異議を唱えないが、それ以外についてはあらゆる著作権保護を留保する。
【0003】
本開示は、仮想現実、拡張現実、および複合現実結像、可視化、およびディスプレイシステムならびに方法に関する。
【背景技術】
【0004】
現代のコンピューティングおよびディスプレイ技術は、仮想現実(「VR」)、拡張現実(「AR」)、および複合現実(「MR」)システムの開発を促進している。VRシステムは、ユーザが体験するためのシミュレートされた環境を作成する。これは、頭部搭載型ディスプレイを通して、コンピュータ生成画像をユーザに提示することによって行われることができる。本画像は、感覚体験を作成し、これは、ユーザをシミュレートされた環境に没入させる。VRシナリオは、典型的には、実際の実世界画像もまた導入するのではなく、コンピュータ生成画像のみの提示を伴う。
【0005】
ARシステムは、概して、実世界環境をシミュレートされた要素で補完する。例えば、ARシステムは、ユーザに、頭部搭載型ディスプレイを介して、周囲の実世界環境のビューを提供し得る。しかしながら、コンピュータ生成画像もまた、ディスプレイ上に提示され、実世界環境を向上させることができる。本コンピュータ生成画像は、実世界環境にコンテキスト的に関連する、要素を含むことができる。そのような要素は、シミュレートされたテキスト、画像、オブジェクト等を含むことができる。MRシステムもまた、シミュレートされたオブジェクトを実世界環境に導入するが、これらのオブジェクトは、典型的には、ARシステムを上回る相互作用の程度を特徴とする。シミュレートされた要素は、多くの場合、リアルタイムで相互作用することができる。
【0006】
図1は、例示的AR/MR場面1を描写し、ユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム20を特徴とする、実世界公園設定6が見える。これらのアイテムに加え、コンピュータ生成画像もまた、ユーザに提示される。コンピュータ生成画像は、例えば、実世界プラットフォーム20上に立っているロボット像10と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ2とを含むことができるが、これらの要素2、10は、実世界環境に実際には存在しない。
【0007】
種々の光学要素は、VR、AR、またはMRシナリオを表示するために、画像を種々の深度に生成する。いくつかのそのような光学システムは、2014年11月27日に出願された米国実用特許出願第14/555,585号(弁理士整理番号第ML.20011.00号)(その内容は、参照することによって前述で本明細書に組み込まれている)に説明される。MR体験を表示するための他のそのような光学システムは、米国実用特許出願第14/738,877号(弁理士整理番号第ML.20019.00号)(その内容は、全体として記載される場合と同様に、参照することによってその全体として完全に本明細書に組み込まれる)に説明される。
【0008】
ヒトの視知覚系は、複雑であるため、他の仮想または実世界画像要素の中に仮想画像要素の快適で、自然のような感覚で、かつ豊かな提示を促進する、VR/AR/MR技術を生産することは、困難である。改良された技術が、例えば、制御データを提供し、画像データが表示される方法を制御するための技術、画像データ内の光学歪曲を補正するための技術、多くの深度平面からの画像データを表示および混成するための技術、およびユーザの頭部姿勢に基づいて、画像データをワーピングさせるための技術を含む、そのようなシステム内で画像データを処理するために必要とされる。VR/AR/MR技術はまた、サイズおよび可搬性問題、バッテリ寿命問題、システム過熱問題、および他のシステムならび光学課題を有する。改良された技術が、例えば、過熱原因識別、時間ドメイン電力管理、離散結像モード、および眼/視線追跡ベースのレンダリング修正を含む、これらの問題に対処するために必要とされる。本明細書に説明されるシステムおよび方法は、これらおよび他の課題に対処するように構成される。
【0009】
必要とされるのは、旧来の技術および/または他の検討されるアプローチに優る改良のための技術もしくは複数の技術である。本背景節に説明されるアプローチのいくつかは、追求された可能性のあるアプローチであるが、必ずしも、以前に考案または追求されたアプローチではない。
【発明の概要】
【課題を解決するための手段】
【0010】
レンズ歪曲補正
一実施形態では、仮想、拡張、または複合現実ディスプレイシステムは、仮想、拡張、または複合現実画像データを表示するように構成される、ディスプレイであって、光学歪曲または収差を画像データに導入する、1つ以上の光学コンポーネントを含む、ディスプレイを含む。本システムはまた、画像データをディスプレイに提供するように構成される、コントローラを含む。ディスプレイコントローラは、光学歪曲補正情報を記憶するためのメモリと、少なくとも部分的に、光学歪曲補正情報を使用して、光学歪曲または収差のために画像データを補正するための1つ以上の処理要素とを含む。
【0011】
1つ以上の実施形態では、光学歪曲補正情報は、少なくとも部分的に、光学歪曲または収差に反比例するように、ディスプレイコントローラによって使用され、画像データを事前に歪曲させる。ディスプレイコントローラは、ディスプレイコントローラによって受信された非歪曲補正画像データ内の異なる第2の場所(x’,y’)の近傍の1つ以上の非歪曲補正ピクセルに基づいて、第1の場所(x,y)における歪曲補正ピクセルを決定することによって、ディスプレイに提供する画像データを事前に歪曲させるように構成されてもよい。光学歪曲補正情報は、第2の場所(x’,y’)を決定するために使用されてもよい。第2の場所の(x’,y’)座標は、分数であってもよい。ディスプレイコントローラは、第2の場所(x’,y’)を囲繞する1つ以上の非歪曲補正ピクセル間を補間することによって、第1の場所(x,y)における歪曲補正ピクセルを決定するように構成されてもよい。ディスプレイコントローラは、バイリニア補間を使用してもよい。
【0012】
1つ以上の実施形態では、ディスプレイは、画像データの1つ以上の色に対応する1つ以上の少なくとも部分的に明確に異なる光学経路を含み、光学歪曲補正情報は、画像データの複数の色毎に別個の光学歪曲補正情報を含んでもよい。光学歪曲補正情報は、1つ以上のルックアップテーブル内の形態で記憶されてもよい。1つ以上のルックアップテーブルは、圧縮フォーマットで記憶されてもよく、ディスプレイコントローラは、光学歪曲補正情報を使用して光学歪曲または収差を補正する前に、1つ以上のルックアップテーブルを拡張させるように構成されてもよい。光学歪曲補正情報はまた、1つ以上の画像ワーピング操作を実施するための情報を含んでもよく、ディスプレイコントローラはさらに、1つ以上の画像ワーピング操作を画像データに実施するように構成される。
【0013】
別の実施形態では、仮想、拡張、または複合現実ディスプレイシステムにおける方法は、ディスプレイ上に示されるための仮想、拡張、または複合現実画像データを提供するステップであって、ディスプレイは、光学歪曲または収差を画像データに導入する、1つ以上の光学コンポーネントを含む、ステップを含む。本方法はまた、光学歪曲補正情報を記憶するステップを含む。本方法はさらに、少なくとも部分的に、光学歪曲補正情報を使用して、光学歪曲または収差のために画像データを補正するステップを含む。さらに、本方法は、ディスプレイを用いて、画像データをユーザに表示するステップを含む。
【0014】
1つ以上の実施形態では、本方法はまた、少なくとも部分的に、光学歪曲または収差に反比例するように、光学歪曲補正情報を使用して、画像データを事前に歪曲させるステップを含む。本方法はさらに、非歪曲画像データ内の異なる第2の場所(x’,y’)の近傍の1つ以上の非歪曲補正ピクセルに基づいて、第1の場所(x,y)における歪曲補正ピクセルを決定することによって、ディスプレイに提供される画像データを事前に歪曲させるステップを含んでもよい。さらに、本方法は、光学歪曲補正情報を使用して、第2の場所(x’,y’)を決定するステップを含んでもよい。加えて、第2の場所の(x’,y’)座標は、分数であってもよい。本方法はまた、第2の場所(x’,y’)を囲繞する1つ以上の非歪曲補正ピクセル間を補間することによって、第1の場所(x,y)における歪曲補正ピクセルを決定するステップを含んでもよい。本方法はまた、バイリニア補間を使用するステップを含んでもよい。
【0015】
1つ以上の実施形態では、ディスプレイは、画像データの1つ以上の色に対応する1つ以上の少なくとも部分的に明確に異なる光学経路を含み、光学歪曲補正情報は、画像データの複数の色毎に別個の光学歪曲補正情報を含む。本方法はまた、光学歪曲補正情報を1つ以上のルックアップテーブルの形態で記憶するステップを含んでもよい。請求項20に記載の方法はまた、1つ以上のルックアップテーブルを圧縮フォーマットで記憶するステップと、光学歪曲補正情報を使用して光学歪曲または収差を補正する前に、1つ以上のルックアップテーブルを拡張させるステップとを含んでもよい。光学歪曲補正情報はまた、1つ以上の画像ワーピング操作を実施するための情報を含み、また、1つ以上の画像ワーピング操作を画像データに実施するステップを含んでもよい。
【0016】
色混成(仮想深度平面)
さらに別の実施形態では、仮想、拡張、または複合現実ディスプレイシステムは、1つ以上の深度平面のためのデジタル画像データを表示するように構成される、ディスプレイであって、第1の深度平面に対応する画像データを表示するための第1の光学経路と、第2の深度平面に対応する画像データを表示するための少なくとも部分的に明確に異なる第2の光学経路とを含む、ディスプレイを含む。本システムはまた、混成された画像データがディスプレイによって表示されると、第1の深度平面と第2の深度平面との間に位置する仮想深度平面に対応するように現れるように、第1の深度平面に対応する画像データと第2の深度平面に対応する画像データを混成するように構成される、ディスプレイコントローラを含む。
【0017】
1つ以上の実施形態では、ディスプレイコントローラは、第1の深度平面に対応する画像データと第2の深度平面に対応する画像データの加重された組み合わせを計算することによって、第1の深度平面に対応する画像データと第2の深度平面に対応する画像データを混成するように構成される。ディスプレイコントローラは、デジタル画像データに内蔵される仮想深度平面インジケータ情報に基づいて、加重された組み合わせを決定するように構成されてもよく、仮想深度平面インジケータデータは、1つ以上の可能性として考えられる仮想深度平面のうちの1つを規定する。仮想深度平面インジケータデータは、デジタル画像データのピクセル値に内蔵されてもよい。デジタル画像データは、値ピクセル毎に1つ以上の色を含んでもよく、色値の複数の最下位ビットは、仮想深度平面インジケータデータである。
【0018】
1つ以上の実施形態では、仮想深度平面インジケータデータは、仮想深度平面インジケータデータによって規定された仮想深度平面と関連付けられた混成加重値にアクセスするために使用される。仮想深度平面毎の混成加重値は、ルックアップテーブル内に記憶されてもよい。1つ以上のルックアップテーブルは、デジタル画像データの深度平面毎に提供されてもよい。ディスプレイコントローラは、第1の深度平面に対応する画像データの全てのピクセルと第2の深度平面に対応する画像データの全てのピクセルを同一仮想深度平面に混成するように構成されてもよい。ディスプレイコントローラは、第1の深度平面に対応する画像データの異なるピクセルを異なる仮想深度平面に混成するように構成されてもよい。
【0019】
さらに別の実施形態では、仮想、拡張、または複合現実ディスプレイシステムにおける方法は、ディスプレイ上に示されるための1つ以上の深度平面のためのデジタル画像データを提供するステップであって、ディスプレイは、第1の深度平面に対応する画像データを表示するための第1の光学経路と、第2の深度平面に対応する画像データを表示するための少なくとも部分的に明確に異なる第2の光学経路とを含む、ステップを含む。本方法はまた、混成された画像データがディスプレイによって表示されると、第1の深度平面と第2の深度平面との間に位置する仮想深度平面に対応するように現れるように、第1の深度平面に対応する画像データと第2の深度平面に対応する画像データを混成するステップを含む。
【0020】
1つ以上の実施形態では、本方法はまた、第1の深度平面に対応する画像データと第2の深度平面に対応する画像データの加重された組み合わせを計算することによって、第1の深度平面に対応する画像データと第2の深度平面に対応する画像データを混成するステップを含む。本方法はまた、デジタル画像データに内蔵される仮想深度平面インジケータ情報に基づいて、加重された組み合わせを決定するステップであって、仮想深度平面インジケータデータは、1つ以上の可能性として考えられる仮想深度平面のうちの1つを規定するステップを含んでもよい。仮想深度平面インジケータデータは、デジタル画像データのピクセル値に内蔵されてもよい。デジタル画像データは、ピクセル毎に1つ以上の色値を含んでもよく、色値の複数の最下位ビットは、仮想深度平面インジケータデータである。
【0021】
1つ以上の実施形態では、本方法はまた、仮想深度平面インジケータデータを使用して、仮想深度平面インジケータデータによって規定された仮想深度平面と関連付けられた混成加重値にアクセスするステップを含む。本方法はまた、仮想深度平面毎の混成加重値をルックアップテーブル内に記憶するステップを含んでもよい。本方法はまた、デジタル画像データの深度平面毎に、1つ以上のルックアップテーブルを提供するステップを含んでもよい。本方法はまた、第1の深度平面に対応する画像データの全てのピクセルと第2の深度平面に対応する画像データの全てのピクセルを同一仮想深度平面に混成するステップを含んでもよい。本方法はまた、第1の深度平面に対応する画像データの異なるピクセルを異なる仮想深度平面に混成するステップを含んでもよい。
【0022】
後の画像ワーピング
別の実施形態では、仮想、拡張、または複合現実ディスプレイシステムは、ユーザの頭部の位置に関連する測定を行うように構成される、慣性測定ユニットを含む。本システムはまた、仮想、拡張、または複合現実画像データをレンダリングするように構成される、グラフィック処理ユニットを含む。本システムはさらに、変換された画像データをユーザに示すように構成される、ディスプレイを含む。さらに、本システムは、走査出力されたレンダリングされた画像データを受信し、ディスプレイに変換された画像データを示させるように構成される、ディスプレイドライバを含む。ディスプレイドライバは、測定を慣性測定ユニットから受信し、頭部姿勢情報を決定するように構成される、頭部姿勢プロセッサと、頭部姿勢情報に基づいて、レンダリングされた画像データを変換された画像データに変換するように構成される、画像ワーピングプロセッサとを含む。
【0023】
1つ以上の実施形態では、本システムはまた、レンダリングされた画像データをグラフィック処理ユニットから受信し、レンダリングされた画像データをディスプレイドライバに走査出力するように構成される、ディスプレイコントローラを含む。グラフィック処理ユニットおよびディスプレイコントローラのうちの少なくとも1つは、慣性測定ユニットからの第1の測定を使用して決定された第1の頭部姿勢情報に基づいて、第1の変換をレンダリングされた画像データ上で実施するように構成されてもよい。ディスプレイドライバは、慣性測定ユニットからの更新された第2の測定を使用して決定された第2の頭部姿勢情報に基づいて、第2の変換をレンダリングされた画像データ上で実施するように構成されてもよく、第2の頭部姿勢情報は、第1の頭部姿勢情報によって示されるユーザの頭部の位置と第2の頭部姿勢情報によって示されるユーザの頭部の位置との間の差異に関連する。
【0024】
1つ以上の実施形態では、レンダリングされた画像データは、1つ以上の色成分を含む。画像ワーピングプロセッサは、別個の頭部姿勢情報に基づいて、レンダリングされた画像データの各色成分を変換するように構成されてもよい。ディスプレイは、変換された画像データの1つ以上の色成分を連続して示すように構成されてもよい。
【0025】
1つ以上の実施形態では、ディスプレイは、変換された画像データの第1の色成分を第1の時間に、変換された画像データの第2の色成分を後続の第2の時間に示すように構成される。画像ワーピングプロセッサは、第1の時間後に決定された頭部姿勢情報に基づいて、レンダリングされた画像データの第2の色成分を変換するように構成されてもよい。画像ワーピングプロセッサによって実施され得る変換は、レンダリングされた画像データの各色成分の回転または平行移動偏移を含む。
【0026】
1つ以上の実施形態では、レンダリングされた画像データは、1つ以上の深度平面を含む。画像ワーピングプロセッサは、別個の頭部姿勢情報に基づいて、レンダリングされた画像データの各深度平面を変換するように構成されてもよい。ディスプレイは、変換された画像データの1つ以上の深度平面を連続して示すように構成されてもよい。
【0027】
1つ以上の実施形態では、ディスプレイは、変換された画像データの第1の深度平面を第1の時間に、変換された画像データの第2の深度平面を後続の第2の時間に示すように構成される。画像ワーピングプロセッサは、第1の時間後に決定された頭部姿勢情報に基づいてレンダリングされた画像データの第2の深度平面を変換するように構成されてもよい。画像ワーピングプロセッサによって実施される変換は、レンダリングされた画像データの各深度平面の回転または平行移動偏移を含んでもよい。画像ワーピングプロセッサによって実施される変換は、画像回転または平行移動偏移を含んでもよい。
【0028】
1つ以上の実施形態では、ディスプレイは、第1のピクセル列の数および第2のピクセル行の数を含む、変換された画像データを示すように構成される。グラフィック処理ユニットは、第1のピクセル列の数を上回るまたは第2のピクセル行の数を上回る数を含む、レンダリングされた画像データをディスプレイドライバに提供するように構成されてもよい。ディスプレイドライバに提供されるレンダリングされた画像データは、レンダリングされた画像データの中心ゾーンと、レンダリングされた画像データのバッファゾーンとを含んでもよく、中心ゾーンは、第1のピクセル列の数と、第2のピクセル行の数とを有し、バッファゾーンは、中心ゾーンを越えて延在するピクセルを含む。頭部姿勢情報に基づいて、レンダリングされた画像データを変換することは、レンダリングされた画像データをバッファゾーンから中心ゾーンの中にもたらさせてもよい。
【0029】
1つ以上の実施形態では、グラフィック処理ユニットは、頭部姿勢情報に基づいて画像ワーピングを実施するように構成されない。グラフィック処理ユニットは、慣性測定ユニットからの更新された測定または更新された頭部姿勢情報をレンダリングされた画像データに追加するように構成されてもよい。グラフィック処理ユニットは、レンダリングされた画像データの最後のラインを走査出力した後、慣性測定ユニットからの更新された測定または更新された頭部姿勢情報をレンダリングされた画像データに追加するように構成されてもよい。本システムはまた、共通クロック信号を慣性測定ユニット、グラフィック処理ユニット、およびディスプレイドライバに提供し、ユーザの頭部の位置、頭部姿勢情報、または頭部姿勢情報に基づく変換に関連する測定のための共通基準を提供するように構成される、クロックを含んでもよい。
【0030】
さらに別の実施形態では、仮想、拡張、または複合現実ディスプレイシステムにおける方法は、グラフィック処理ユニットを使用して、仮想、拡張、または複合現実画像データをレンダリングするステップを含む。本方法はまた、レンダリングされた画像データをユーザに示されるためのディスプレイに走査出力するステップを含む。本方法はさらに、慣性測定ユニットを使用して、ユーザの頭部の位置に関連する測定を行うステップを含む。さらに、本方法は、慣性測定ユニットからの測定を使用して、頭部姿勢情報を決定するステップを含む。加えて、本方法は、レンダリングされた画像データをディスプレイに走査出力した後、頭部姿勢情報に基づいて、レンダリングされた画像データを変換するステップを含む。本方法はまた、変換された画像データをディスプレイ上に示すステップを含む。
【0031】
1つ以上の実施形態では、本方法はまた、慣性測定ユニットからの第1の測定を使用して決定された第1の頭部姿勢情報に基づいて、第1の変換をレンダリングされた画像データ上で実施するステップを含む。本方法はまた、慣性測定ユニットからの更新された第2の測定を使用して決定された第2の頭部姿勢情報に基づいて、第2の変換を走査出力されたレンダリングされた画像データに実施するステップであって、第2の頭部姿勢情報は、第1の頭部姿勢情報によって示されるユーザの頭部の位置と第2の頭部姿勢情報によって示されるユーザの頭部の位置との間の差異に関連する、ステップを含んでもよい。
【0032】
1つ以上の実施形態では、慣性測定ユニットからの測定を使用して、頭部姿勢情報を決定するステップは、レンダリングされた画像データをディスプレイに走査出力した後に行われる。レンダリングされた画像データは、1つ以上の色成分を含んでもよい。本方法はまた、別個の頭部姿勢情報に基づいて、レンダリングされた画像データの各色成分を変換するステップを含んでもよい。本方法はまた、変換された画像データの複数の色成分を連続して示すステップを含んでもよい。
【0033】
1つ以上の実施形態では、本方法はまた、変換された画像データの第1の色成分を第1の時間に、変換された画像データの第2の色成分を後続の第2の時間に示すステップを含む。本方法はまた、第1の時間後に決定された頭部姿勢情報に基づいて、レンダリングされた画像データの第2の色成分を変換するステップを含んでもよい。
【0034】
1つ以上の実施形態では、レンダリングされた画像データの各色成分を変換するステップは、レンダリングされた画像データの各色成分回転または平行移動偏移させるステップを含む。レンダリングされた画像データは、1つ以上の深度平面を含んでもよい。本方法はまた、別個の頭部姿勢情報に基づいて、レンダリングされた画像データの各深度平面を変換するステップを含んでもよい。本方法はまた、変換された画像データの1つ以上の深度平面を連続して示すステップを含んでもよい。
【0035】
1つ以上の実施形態では、本方法はまた、変換された画像データの第1の深度平面を第1の時間に、変換された画像データの第2の深度平面を後続の第2の時間に示すステップを含む。本方法はまた、第1の時間後に決定された頭部姿勢情報に基づいて、レンダリングされた画像データの第2の深度平面を変換するステップを含んでもよい。レンダリングされた画像データの各深度平面を変換するステップは、レンダリングされた画像データの各深度平面を回転または平行移動偏移させるステップを含んでもよい。
【0036】
1つ以上の実施形態では、頭部姿勢情報に基づいて、レンダリングされた画像データを変換するステップは、レンダリングされた画像データを回転または偏移させるステップを含む。変換された画像データは、第1のピクセル列の数および第2のピクセル行の数をディスプレイ上に含んでもよい。本方法はまた、第1のピクセル列の数を上回るまたは第2のピクセル行の数を上回る数を含む、レンダリングされた画像データをディスプレイドライバに提供するステップを含んでもよい。
【0037】
1つ以上の実施形態では、ディスプレイドライバに提供されるレンダリングされた画像データは、レンダリングされた画像データの中心ゾーンと、レンダリングされた画像データのバッファゾーンとを含み、中心ゾーンは、第1のピクセル列の数と、第2のピクセル行の数とを有し、バッファゾーンは、中心ゾーンを越えて延在するピクセルを含む。本方法はまた、レンダリングされた画像データをバッファゾーンから中心ゾーンの中にもたらすことによって、頭部姿勢情報に基づいて、レンダリングされた画像データを変換するステップを含んでもよい。
【0038】
1つ以上の実施形態では、頭部姿勢情報に基づいて、レンダリングされた画像データを変換するステップは、仮想、拡張、または複合現実画像データをレンダリングする、グラフィック処理ユニットによって実施されない。本方法はまた、慣性測定ユニットからの更新された測定または更新された頭部姿勢情報をレンダリングされた画像データに追加するステップを含んでもよい。本方法はまた、レンダリングされた画像データの最後のラインを走査出力した後、慣性測定ユニットからの更新された測定または更新された頭部姿勢情報をレンダリングされた画像データに追加するステップを含んでもよい。本方法はまた、共通クロック信号を提供し、ユーザの頭部の位置、頭部姿勢情報、または頭部姿勢情報に基づく変換に関連する測定のための共通基準を提供するステップを含んでもよい。
【0039】
フラットフィールド補正
さらに別の実施形態では、仮想、拡張、または複合現実ディスプレイシステムは、明度の変動をディスプレイの異なる部分に生じさせる、1つ以上の光学コンポーネントを含む、ディスプレイを含む。本システムはまた、1つ以上の異なる明度補正値を画像データ内の1つ以上のピクセル値に適用し、補正された画像データを作成するように構成される、ディスプレイコントローラを含む。ディスプレイは、明度変動を低減させるように、ユーザに、補正された画像データを示すように構成される。
【0040】
1つ以上の実施形態では、ディスプレイコントローラは、複数の異なる明度補正値の中からの明度補正値と、画像データ内の複数のピクセル値の中からの対応するピクセル値を乗算することによって、明度補正値を適用するように構成される。複数の異なる明度補正値は、ディスプレイ上に示される較正画像に基づいて決定されてもよい。複数の異なる明度補正値は、ルックアップテーブル内に記憶されてもよい。記憶されたルックアップテーブルの分解能は、画像データの分解能未満であってもよい。ディスプレイコントローラは、ルックアップテーブルを拡張し、画像データの分解能に合致させるように構成されてもよい。
【0041】
1つ以上の実施形態では、ディスプレイは、補正された画像データの1つ以上の色成分を誘導するための1つ以上の導波管と、導波管からの光をユーザの眼に1つ以上の出射ビームとして再指向するための1つ以上の光再指向要素とを含む。複数の出射ビーム間には、表示される画像データの明度の変動をディスプレイの異なる部分に生じさせる、変動が存在し得る。複数の導波管の中からの異なる導波管は、画像データの異なる深度平面を異なる見掛け深度に表示するように、異なる屈折力と関連付けられてもよい。
【0042】
別の実施形態では、仮想、拡張、または複合現実ディスプレイシステムにおける方法は、明度の変動をディスプレイの異なる部分に生じさせる、1つ以上の光学コンポーネントを含む、ディスプレイを使用するステップを含む。本方法はまた、1つ以上の異なる明度補正値を画像データ内の1つ以上のピクセル値に適用し、補正された画像データを作成するステップを含む。本方法はさらに、ユーザに、明度変動を低減させるように、補正された画像データをディスプレイ上で示すステップを含む。
【0043】
1つ以上の実施形態では、明度補正値を適用するステップは、複数の明度補正値の中からの明度補正値と画像データ内の複数ピクセル値の中からの対応するピクセル値を乗算するステップを含む。本方法はまた、ディスプレイ上に示される較正画像に基づいて、複数の異なる明度補正値を決定するステップを含んでもよい。本方法はまた、複数の異なる明度補正値をルックアップテーブル内に記憶するステップを含んでもよい。記憶されたルックアップテーブルの分解能は、画像データの分解能未満であってもよい。本方法はまた、ルックアップテーブルを拡張し、画像データの分解能に合致させるステップを含んでもよい。
【0044】
1つ以上の実施形態では、本方法はまた、1つ以上の導波管を使用して、補正された画像データの1つ以上の色成分を誘導するステップを含む。本方法はまた、1つ以上の光再指向要素を使用して、導波管からの光をユーザの眼に1つ以上の出射ビームとして再指向するステップを含んでもよい。複数の出射ビーム間には、表示される画像データの明度の変動をディスプレイの異なる部分に生じさせる、変動が存在し得る。本方法はまた、異なる屈折力と関連付けられた複数の導波管の中からの異なる導波管を使用して、画像データの異なる深度平面を異なる見掛け深度に表示するステップを含んでもよい。
【0045】
ピクセル処理パイプライン
さらに別の実施形態では、仮想、拡張、または複合現実ディスプレイシステムは、1つ以上の深度平面のための仮想、拡張、または複合現実画像データを表示するように構成される、ディスプレイを含む。ディスプレイは、第1の深度平面に対応する画像データを表示するための第1の光学経路と、第2の深度平面に対応する画像データを表示するための少なくとも部分的に明確に異なる第2の光学経路とを含む。ディスプレイはまた、光学歪曲または収差を画像データに導入する、1つ以上の光学コンポーネントを含む。ディスプレイはさらに、明度の変動をディスプレイの異なる部分に生じさせる、1つ以上の光学コンポーネントを含む。本システムはまた、コントローラを含む。コントローラは、少なくとも部分的に、光学歪曲補正情報を使用して、光学歪曲または収差のために画像データを補正するように構成される。コントローラはまた、混成された画像データが、第1の深度平面と第2の深度平面との間に位置する仮想深度平面に対応するように現れるように、第1の深度平面に対応する画像データと第2の深度平面に対応する画像データを混成するように構成される。コントローラはさらに、明度変動を低減させるように、1つ以上の異なる明度補正値を画像データ内の1つ以上のピクセル値に適用するように構成される。さらに、コントローラは、制御データに基づいて、回転またはピクセル偏移動作を用いて画像データを変換するように構成される。加えて、コントローラは、画像データをディスプレイに提供するように構成される。
【0046】
1つ以上の実施形態では、コントローラは、ディスプレイコントローラである。コントローラは、遠隔処理ユニットであってもよい。コントローラは、DP/MPIブリッジであってもよい。
【0047】
さらに別の実施形態では、仮想、拡張、または複合現実ディスプレイシステムにおける方法は、ディスプレイを使用して、1つ以上の深度平面のための仮想、拡張、または複合現実画像データを表示するステップを含む。ディスプレイは、第1の深度平面に対応する画像データを表示するための第1の光学経路と、第2の深度平面に対応する画像データを表示するための少なくとも部分的に明確に異なる第2の光学経路とを含む。ディスプレイはまた、光学歪曲または収差を画像データに導入する、1つ以上の光学コンポーネントを含む。ディスプレイはさらに、明度の変動をディスプレイの異なる部分に生じさせる、1つ以上の光学コンポーネントを含む。本方法はまた、ディスプレイコントローラを用いて、画像データをディスプレイに提供するステップを含む。ディスプレイコントローラは、少なくとも部分的に、光学歪曲補正情報を使用して、光学歪曲または収差のために画像データを補正するように構成される。ディスプレイコントローラはまた、混成された画像データが、第1の深度平面と第2の深度平面との間に位置する仮想深度平面に対応するように現れるように、第1の深度平面に対応する画像データと第2の深度平面に対応する画像データを混成するように構成される。ディスプレイコントローラはさらに、明度変動を低減させるように、1つ以上の異なる明度補正値を画像データ内の1つ以上のピクセル値に適用するように構成される。さらに、ディスプレイコントローラは、制御データに基づいて、回転またはピクセル偏移動作を用いて画像データを変換するように構成される。
【0048】
時間ドメイン電力管理
別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、システムが低電力モードで動作するステップを含む。本方法はまた、システムが通常プロセッサモードで動作するための要求を受信するステップを含む。本方法はさらに、通常プロセッサモードのための要求の受信に応答して、システムが低電力モードから通常電力モードに切り替わるステップを含む。さらに、本方法は、システムが低プロセッサモードの容認のインジケータを受信するステップを含む。さらに、本方法は、低プロセッサモードの容認のインジケータの受信に応答して、システムが通常電力モードからより低い電力モードに切り替わるステップを含む。
【0049】
1つ以上の実施形態では、低電力モードでは、システムコンポーネントは、オフに切り替えられる、または高速ウェイクアップ機能を伴うスタンバイモードにある。システムが低電力モードから通常電力モードに切り替わるステップは、システムが、これまでオフに切り替えられていた、またはスタンバイモードであったシステムコンポーネントをアクティブ化するステップを含んでもよい。システムが通常プロセッサモードのための要求を受信するステップは、短待ち時間通信チャネルを通して、通常プロセッサモードのための要求を受信するステップを含んでもよい。通常プロセッサモードのための要求は、所定の閾値量を上回るユーザの姿勢変化に応答して生成されてもよい。低プロセッサモードの容認のインジケータは、所定の時間内における所定の閾値量未満のユーザの姿勢変化であってもよい。
【0050】
さらに別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、システムが通常電力モードで動作するステップを含む。本方法はまた、システムが高プロセッサモードのための要求を受信するステップを含む。本方法はさらに、高プロセッサモードのための要求の受信に応答して、システムが通常電力モードから高電力モードに切り替わるステップを含む。さらに、本方法は、システムが通常プロセッサモードの容認のインジケータを受信するステップを含む。加えて、本方法は、通常プロセッサモードの容認のインジケータの受信に応答して、システムが高電力モードから通常電力モードに切り替わるステップを含む。
【0051】
1つ以上の実施形態では、高電力モードは、システムに利用可能な電流量の増加を含む。システムが高電力モードから通常電力モードに切り替わるステップは、システムがシステムに利用可能な電流量を低減させるステップを含んでもよい。高プロセッサモードのための要求は、仮想オブジェクトの所定の閾値量を上回ってレンダリングするための要求に応答して生成されてもよい。通常プロセッサモードの容認のインジケータは、所定の時間にわたる仮想オブジェクトの所定の閾値量未満でレンダリングするための要求であってもよい。
【0052】
離散結像モード
さらに別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、システムが画像を1つ以上の深度平面上にレンダリングおよび投影する多平面モードで動作するステップを含む。本方法はまた、単一平面アクティビティのインジケータを受信するステップを含む。本方法はさらに、単一平面アクティビティのインジケータの受信に応答して、多平面結像モードから離散結像モードに切り替わるステップであって、離散結像モードでは、システムが画像を単一深度平面上にレンダリングおよび投影する、ステップを含む。さらに、本方法は、多平面アクティビティのインジケータを受信するステップを含む。加えて、本方法は、多平面アクティビティのインジケータの受信に応答して、単一平面モードから多平面モードに切り替わるステップを含む。
【0053】
1つ以上の実施形態では、単一平面アクティビティのインジケータは、ユーザが映画が仮想画面上に表示されることを要求すること、ユーザが2Dアプリケーションを開くこと、またはセンサデータがユーザの視線が所定の閾値時間量にわたって特定の平面に収束していることを示すことを含む。本方法はまた、瞬目または眼移動の間、離散結像モードと多平面結像モードとの間で切り替わるステップを含んでもよい。多平面アクティビティのインジケータは、ユーザが現在仮想画面上に表示されている映画が停止されることを要求すること、またはセンサデータがユーザの視線が所定の閾値時間量にわたって特定の平面から離れて収束していることを示すことを含んでもよい。
【0054】
別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、システムが画像を1つ以上の深度平面上にレンダリングおよび投影する、多平面モードで動作するステップを含む。本方法はまた、システムが所定の閾値に到達したことのインジケータを受信するステップを含む。本方法はさらに、システムが所定の閾値に到達したことのインジケータの受信に応答して、多平面結像モードから離散結像モードに切り替わるステップであって、離散結像モードでは、システムが画像を単一深度平面上にレンダリングおよび投影する、ステップを含む。さらに、本方法は、通常システム動作のインジケータを受信するステップを含む。加えて、本方法は、通常システム動作のインジケータの受信に応答して、単一平面モードから多平面モードに切り替わるステップを含む。
【0055】
1つ以上の実施形態では、所定の閾値は、温度閾値またはバッテリ電力残閾値を含む。本方法はまた、瞬目または眼移動の間、離散結像モードと多平面結像モードとの間で切り替わるステップを含んでもよい。通常システム動作のインジケータは、所定の閾値の所定の量内にシステム特性を有していないことを含んでもよい。
【0056】
光マップ
さらに別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、ユーザの視野の画像を取得するステップを含む。本方法はまた、画像が私的情報を含むことを決定するステップを含む。本方法はさらに、画像から生成された光マップが公的であろうことを決定するステップを含む。さらに、本方法は、画像が私的情報を含むことの決定に応答して、かつ光マップが公的であろうことの決定に応答して、採光情報を含むが、私的情報を含まない、プロキシ画像を生成するステップを含む。加えて、本方法は、プロキシ画像をサーバに送信するステップを含む。本方法はまた、プロキシ画像を使用して、公的光マップを生成するステップを含む。
【0057】
1つ以上の実施形態では、私的情報は、財務情報または子供の画像である。画像から生成された光マップが公的であろうことを決定するステップは、画像データをサーバに送信する命令を検出するステップを含んでもよい。プロキシ画像は、私的情報を表示するユーザの視野内のオリジナルオブジェクトのための置換オブジェクトを含んでもよい。
【0058】
さらに別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、実部屋に関する採光情報を受信するステップを含む。本方法はまた、実部屋の光マップを生成するステップを含む。本方法はさらに、光マップを使用して、仮想オブジェクトを生成するステップを含む。さらに、本方法は、仮想オブジェクトを表示するステップを含む。
【0059】
1つ以上の実施形態では、採光情報は、色情報、照明レベル、または光方向を含む。光マップは、実部屋内の採光源のモデルを含んでもよい。モデルは、透過、拡散、反射、または回折される、光を含んでもよい。
【0060】
眼/視線追跡ベースのレンダリング修正
別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、ユーザの眼位置を追跡するステップを含む。本方法はまた、ユーザの眼位置を使用して、ユーザの焦点を計算するステップを含む。本方法はさらに、ユーザの焦点上に心合される中心窩化エリアを識別するステップを含む。さらに、本方法は、中心窩化エリア外の画像の第2の部分に対して、中心窩化エリア内の画像の第1の部分をより正確にレンダリングするステップを含む。加えて、本方法は、第1および第2の部分を含む、画像を表示するステップを含む。
【0061】
1つ以上の実施形態では、ユーザの焦点は、X、Y、またはZ方向に決定される。ユーザの焦点は、ユーザの視野の象限であってもよい。画像の第1の部分をより正確にレンダリングするステップは、画像の第2の部分に対して画像の第1の部分の鮮明度を増加させるステップを含んでもよい。本方法はまた、中心窩化エリアの中心から中心窩化エリアの外側縁に増加する鮮明度の勾配をレンダリングするステップを含んでもよい。本方法はまた、ユーザ眼移動の量、システム温度、またはユーザ選好に基づいて、中心窩化の量を修正するステップを含んでもよい。本方法はまた、中心窩化エリア内の眼位置追跡の正確度を増加させるステップを含んでもよい。
【0062】
瞳孔追跡に基づく深度平面切替
さらに別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、それぞれ、第1の平面および第2の平面のための第1の平面および第2のコンテンツを取得するステップを含む。本方法はまた、瞳孔配向を決定するステップを含む。本方法はさらに、第1のコンテンツおよび第2のコンテンツと瞳孔情報を組み合わせ、切替パターンを生成するステップを含む。さらに、本方法は、切替パターンをシステムのディスプレイに送信するステップを含む。加えて、本方法は、ディスプレイが切替パターンを使用して切替を実施するステップを含む。
【0063】
1つ以上の実施形態では、切替は、第1の平面および第2の平面毎に30または60フレーム/秒の高速切替である。切替は、第1の平面をブランキングするステップを含んでもよい。ディスプレイは、アナログスイッチを使用して、切替を実施してもよい。
【0064】
低電力深度平面切替
さらに別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、個別の複数の平面のための1つ以上のコンテンツを取得するステップを含む。本方法はまた、複数のコンテンツを分析し、切替パターンを生成するステップを含む。本方法はさらに、切替パターンをシステムのディスプレイに送信するステップを含む。さらに、本方法は、ディスプレイが切替パターンを使用して切替を実施するステップを含む。
【0065】
1つ以上の実施形態では、切替パターンは、複数の平面のいくつかを並べ替えるステップと、複数の平面のうちの1つをブランキングするステップと、画像フレームをスキップするステップと、画像フレームのペアをスワッピングするステップと、カラーシーケンスを実施するステップとのうちの少なくとも1つを含む。切替は、複数の平面の平面毎に30または60フレーム/秒における高速切替であってもよい。ディスプレイは、アナログスイッチを使用して、切替を実施してもよい。
【0066】
別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、1つ以上のフレームに対応する個別の複数のコンテンツを取得するステップを含む。本方法はまた、個別の複数のコンテンツを分析し、複数のフレームに対応する1つ以上の切替パターンを生成するステップを含む。本方法はさらに、複数の切替パターンをシステムのディスプレイに送信するステップを含む。さらに、本方法は、ディスプレイがフレーム毎に切替パターンを使用して切替を実施するステップを含む。
【0067】
1つ以上の実施形態では、本方法はまた、複数の切替パターンをメモリバッファ内に記憶するステップを含む。メモリバッファは、時系列先入れ先出しバッファ、循環バッファ、および一連のメモリ場所またはレジスタのうちの1つであってもよい。切替は、30または60フレーム/秒における高速切替であってもよい。ディスプレイは、アナログスイッチを使用して、切替を実施してもよい。
【0068】
1つ以上の実施形態では、本方法はまた、ユーザ瞬目を検出するステップと、切替パターンを修正し、ユーザ瞬目と一致する2つのディスプレイのためのフレームをブランキングするステップとを含む。本方法はまた、ユーザウインクを検出するステップと、切替パターンを修正し、ユーザ瞬目と一致する1つのディスプレイのためのフレームをブランキングするステップとを含んでもよい。
【0069】
低電力短待ち時間ヘッドセット
さらに別の実施形態では、仮想、拡張、または複合現実システムは、ヘッドセットと、遠隔コンピューティングモジュールとを含む。ヘッドセットは、ユーザ入力を受信し、ユーザ入力内のキーワードを検出し、ユーザ入力内のキーワードの検出に応答して、ウェイクアップコードを遠隔コンピューティングモジュールに送信するように構成され、遠隔コンピューティングモジュールは、低電力スタンバイモードにある。遠隔コンピューティングモジュールは、ウェイクアップコードの受信に応答して、低電力スタンバイモードを終了するように構成される。
【0070】
1つ以上の実施形態では、ユーザ入力は、オーディオ入力であって、ユーザ入力を受信するステップは、ヘッドセット上のマイクロホンを使用して、オーディオ入力を検出するステップを含む。ユーザ入力内のキーワードを検出するヘッドセットは、マイクロホンと通信し、オーディオ入力を受信する、ヘッドセット内のオーディオプロセッサと、オーディオプロセッサと通信し、オーディオデータを受信する、ヘッドセット内の知覚プロセッサとを含んでもよい。
【0071】
1つ以上の実施形態では、ユーザ入力内のキーワードを検出するヘッドセットはまた、知覚プロセッサがキーワード記憶装置にアクセスすることと、知覚プロセッサが、オーディオデータとキーワード記憶装置内の1つ以上のキーワードを比較し、キーワードを検出することとを含む。本システムはまた、ユーザ入力内のキーワードの検出に応答して、ヘッドセットがインタラプトコードを遠隔コンピューティングモジュールに送信することを含んでもよい。
低電力短待ち時間移動予測
【0072】
さらに別の実施形態では、仮想、拡張、または複合現実システムは、知覚プロセッサ内に予測エンジンを有する、ヘッドセットと、遠隔コンピューティングモジュールとを含む。ヘッドセットは、ユーザ移動の開始を検出し、ユーザ移動の開始の検出に応答して、ユーザ移動を測定するように構成される。ヘッドセット内の知覚プロセッサ内の予測エンジンは、測定されたユーザ移動から予測されるユーザ移動を生成する。ヘッドセット内の知覚プロセッサは、予測エンジンが予測されるユーザ移動を生成することに応答して、予測されるユーザ移動を使用して変換を画像データに実施する。
【0073】
1つ以上の実施形態では、ヘッドセットは、予測されるユーザ移動および変換パラメータを使用して、変換を画像データに実施する。ヘッドセットは、予測されるユーザ移動および予測される色変化を使用して、変換を画像データに実施してもよい。ヘッドセットは、予測されるユーザ移動および予測される採光変化または予測されるコントラスト変化を使用して、変換を画像データに実施してもよい。
【0074】
1つ以上の実施形態では、本システムはまた、ヘッドセット内の知覚プロセッサがユーザ焦点を予測することを含む。ヘッドセット内の知覚プロセッサは、予測エンジンが予測されるユーザ移動を生成することに応答して、予測されるユーザ移動および予測されるユーザ焦点を使用して、変換を画像データに実施してもよい。ユーザ移動は、頭部移動であってもよい。ユーザ移動は、眼移動であってもよい。
低電力側チャネル
【0075】
別の実施形態では、仮想、拡張、または複合現実システムは、ローカル処理モジュールを有する、ヘッドセットを含む。本システムはまた、遠隔処理モジュールを含む。本システムはさらに、ローカル処理モジュールと遠隔処理モジュールとの間の第1の通信チャネルを含む。さらに、本システムは、ローカル処理モジュールと遠隔処理モジュールとの間の第2の通信チャネルを含み、第2の通信チャネルは、第1の通信チャネル未満の電力を要求する。
【0076】
1つ以上の実施形態では、第1の通信チャネルは、USBまたはPCIE接続であって、第2の通信チャネルは、SPIまたは類似低電力接続である。
【0077】
さらに別の実施形態では、遠隔処理モジュールと、ローカル処理モジュールを含む、ヘッドセットとを有する、仮想、拡張、または複合現実システムにおける方法は、動作モードを検出するステップを含む。本方法はまた、動作モードの間、ローカル処理モジュールと遠隔処理モジュールとの間の第1の通信チャネルがディスエーブルにされ得ることを決定するステップを含む。本方法はさらに、動作モードの間、ディスエーブルにされ得る、第1の通信チャネルのコンポーネントを識別するステップを含む。さらに、本方法は、ローカル処理モジュールと遠隔処理モジュールとの間の第2の通信チャネルを経由して通信するステップであって、第2の通信チャネルは、第1の通信チャネル未満の電力を要求するステップを含む。加えて、本方法は、第2の通信チャネルを経由した通信の成功に基づいて、第1の通信チャネルのコンポーネントをディスエーブルにするステップを含む。
【0078】
1つ以上の実施形態では、第2の通信チャネルのコネクタを再マッピングし、第2の通信チャネルを経由した通信を促進するステップも含む。また、第2の通信チャネルのコネクタへの相互に排他的アクセスを提供し、第2の通信チャネルを経由した通信を促進するステップを含んでもよい。
【0079】
複数のコンポーネントの低電力モード
さらに別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、仮想、拡張、または複合現実システムの第1のコンポーネントにおける低電力要件のインジケータを検出するステップを含む。本方法はまた、第1のコンポーネントにおけるローカル低電力モードを識別するステップを含む。本方法はさらに、仮想、拡張、または複合現実システムの第2のコンポーネントを含む、協調低電力モードを識別するステップを含む。さらに、本方法は、協調低電力モードのインジケータを第2のコンポーネントに送信するステップを含む。加えて、本方法は、第1のコンポーネントがローカル低電力モードを開始するステップを含む。本方法はまた、第2のコンポーネントが協調低電力モードを開始するステップを含む。
【0080】
1つ以上の実施形態では、低電力要件のインジケータは、消音ボタンのアクティブ化である。ローカル低電力モードは、マイクロホンを非アクティブ化するステップを含んでもよい。協調低電力モードは、発話プロセッサを非アクティブ化するステップを含んでもよい。
【0081】
別の実施形態では、仮想、拡張、または複合現実システムにおける方法は、仮想、拡張、または複合現実システムの第1のコンポーネントにおける低電力要件のインジケータを検出するステップを含む。本方法はまた、第1のコンポーネントにおける第1および第2のローカル低電力モードを識別するステップを含む。本方法はさらに、それぞれ、仮想、拡張、または複合現実システムの第2のコンポーネントを含む、第1および第2の協調低電力モードを識別するステップを含む。さらに、本方法は、第1および第2のローカル低電力モードを比較し、好ましいローカル低電力モードを識別するステップを含む。加えて、本方法は、第1および第2の協調低電力モードを比較し、好ましい協調低電力モードを識別するステップを含む。本方法はまた、組み合わせ低電力モードを好ましいローカル低電力モードおよび好ましい協調低電力モードから生成するステップを含む。本方法はさらに、第1および第2のコンポーネントが組み合わせ低電力モードを開始するステップを含む。
【0082】
複数のコンポーネントの低電力モード同期
さらに別の実施形態では、仮想、拡張、または複合現実システムにおける方法であって、システムは、ヘッドセットと、遠隔コンピューティングモジュールとを有し、本方法は、ヘッドセットがヘッドセットタイムコードを遠隔コンピューティングモジュールに送信するステップを含む。本方法はまた、遠隔コンピューティングモジュールが遠隔コンピューティングモジュールタイムコードをヘッドセットに送信するステップを含む。本方法はさらに、ヘッドセットが、遠隔コンピューティングモジュールタイムコードとヘッドセットタイムコードを比較し、第1のドリフトを識別するステップを含む。さらに、本方法は、遠隔コンピューティングモジュールが、ヘッドセットタイムコードと遠隔コンピューティングモジュールタイムコードを比較し、第2のドリフトを識別するステップを含む。
【0083】
1つ以上の実施形態では、本方法はまた、ヘッドセットが、第1のドリフトに基づいて、そのクロックをリセットし、ヘッドセットおよび遠隔コンピューティングモジュールを同期させるステップを含む。本方法はまた、遠隔コンピューティングモジュールが、第2のドリフトに基づいて、そのクロックをリセットし、ヘッドセットおよび遠隔コンピューティングモジュールを同期させるステップを含んでもよい。
【0084】
さらに別の実施形態では、仮想、拡張、または複合現実システムにおける方法であって、システムは、ヘッドセットと、プロジェクタと、遠隔コンピューティングモジュールとを有し、本方法は、遠隔コンピューティングモジュールが低帯域幅構成をヘッドセットに送信するステップを含む。本方法はまた、プロジェクタが低電力オプションをヘッドセットに送信するステップを含む。本方法はさらに、ヘッドセットが低電力コマンドを低電力オプションからプロジェクタに送信するステップを含む。
【0085】
データの時分割多重化
別の実施形態では、仮想、拡張、または複合現実システムにおける方法であって、システムは、ヘッドセットと、遠隔コンピューティングモジュールとを有し、本方法は、ヘッドセット内のマイクロホンを構成するステップを含む。本方法はまた、ヘッドセットから遠隔コンピューティングモジュールへの通信経路を構成するステップを含む。本方法はさらに、ヘッドセット内の知覚プロセッサが第1の利用可能な音チャネルの数および第2の必要とされる音チャネルの数を計算するステップを含む。さらに、本方法は、知覚プロセッサが第2の数が第1の数を上回ることを決定するステップを含む。加えて、本方法は、知覚プロセッサが余剰データを未使用音チャネルの中にパッキングするステップを含む。
【0086】
1つ以上の実施形態では、余剰データは、エコーキャンセルデータ、眼姿勢データ、および/または頭部姿勢データのうちの少なくとも1つを含む。本方法は、動的に実施されてもよい。
本発明は、例えば、以下を提供する。
(項目1)
仮想、拡張、または複合現実ディスプレイシステムであって、
仮想、拡張、または複合現実画像データを表示するように構成されるディスプレイであって、前記ディスプレイは、光学歪曲または収差を前記画像データに導入する1つ以上の光学コンポーネントを備える、ディスプレイと、
前記画像データを前記ディスプレイに提供するように構成されるディスプレイコントローラであって、前記ディスプレイコントローラは、
光学歪曲補正情報を記憶するためのメモリと、
少なくとも部分的に、前記光学歪曲補正情報を使用して、前記光学歪曲または収差のために前記画像データを補正するための1つ以上の処理要素と
を備える、ディスプレイコントローラと
を備える、システム。
(項目2)
前記光学歪曲補正情報は、少なくとも部分的に、前記光学歪曲または収差に反比例するように、前記ディスプレイコントローラによって使用され、前記画像データを事前に歪曲させる、項目1に記載のシステム。
(項目3)
前記ディスプレイコントローラは、前記ディスプレイコントローラによって受信された非歪曲補正画像データ内の異なる第2の場所(x’,y’)の近傍の1つ以上の非歪曲補正ピクセルに基づいて、第1の場所(x,y)における歪曲補正ピクセルを決定することによって、前記ディスプレイに提供する前記画像データを事前に歪曲させるように構成される、項目2に記載のシステム。
(項目4)
前記光学歪曲補正情報は、前記第2の場所(x’,y’)を決定するために使用される、項目3に記載のシステム。
(項目5)
前記第2の場所の(x’,y’)座標は、分数である、項目4に記載のシステム。
(項目6)
前記ディスプレイコントローラは、前記第2の場所(x’,y’)を囲繞する複数の非歪曲補正ピクセル間を補間することによって、前記第1の場所(x,y)における前記歪曲補正ピクセルを決定するように構成される、項目5に記載のシステム。
(項目7)
前記ディスプレイコントローラは、バイリニア補間を使用する、項目6に記載のシステム。
(項目8)
前記ディスプレイは、前記画像データの複数の色に対応する複数の少なくとも部分的に明確に異なる光学経路を備え、前記光学歪曲補正情報は、前記画像データの複数の色毎に別個の光学歪曲補正情報を含む、項目1に記載のシステム。
(項目9)
前記光学歪曲補正情報は、1つ以上のルックアップテーブル内の形態で記憶される、項目1に記載のシステム。
(項目10)
前記1つ以上のルックアップテーブルは、圧縮フォーマットで記憶され、前記ディスプレイコントローラは、前記光学歪曲補正情報を使用して前記光学歪曲または収差を補正する前に、前記1つ以上のルックアップテーブルを拡張させるように構成される、項目9に記載のシステム。
(項目11)
前記光学歪曲補正情報はさらに、1つ以上の画像ワーピング操作を実施するための情報を含み、前記ディスプレイコントローラはさらに、前記1つ以上の画像ワーピング操作を前記画像データに実施するように構成される、項目1に記載のシステム。
(項目12)
仮想、拡張、または複合現実ディスプレイシステムにおける方法であって、前記方法は、
ディスプレイ上に示されるための仮想、拡張、または複合現実画像データを提供することであって、前記ディスプレイは、光学歪曲または収差を前記画像データに導入する1つ以上の光学コンポーネントを備える、ことと、
光学歪曲補正情報を記憶することと、
少なくとも部分的に、前記光学歪曲補正情報を使用して、前記光学歪曲または収差のために前記画像データを補正することと、
前記ディスプレイを用いて、前記画像データをユーザに表示することと
を含む、方法。
(項目13)
少なくとも部分的に、前記光学歪曲または収差に反比例するように、前記光学歪曲補正情報を使用して、前記画像データを事前に歪曲させることをさらに含む、項目12に記載の方法。
(項目14)
非歪曲画像データ内の異なる第2の場所(x’,y’)の近傍の1つ以上の非歪曲補正ピクセルに基づいて、第1の場所(x,y)における歪曲補正ピクセルを決定することによって、前記ディスプレイに提供される前記画像データを事前に歪曲させることをさらに含む、項目13に記載の方法。
(項目15)
前記光学歪曲補正情報を使用して、前記第2の場所(x’,y’)を決定することをさらに含む、項目14に記載の方法。
(項目16)
前記第2の場所の(x’,y’)座標は、分数である、項目15に記載の方法。
(項目17)
前記第2の場所(x’,y’)を囲繞する複数の非歪曲補正ピクセル間を補間することによって、前記第1の場所(x,y)における前記歪曲補正ピクセルを決定することをさらに含む、項目16に記載の方法。
(項目18)
バイリニア補間を使用することをさらに含む、項目17に記載の方法。
(項目19)
前記ディスプレイは、前記画像データの複数の色に対応する複数の少なくとも部分的に明確に異なる光学経路を備え、前記光学歪曲補正情報は、前記画像データの複数の色毎に別個の光学歪曲補正情報を含む、項目12に記載の方法。
(項目20)
前記光学歪曲補正情報を1つ以上のルックアップテーブルの形態で記憶することをさらに含む、項目12に記載の方法。
(項目21)
前記1つ以上のルックアップテーブルを圧縮フォーマットで記憶することと、前記光学歪曲補正情報を使用して前記光学歪曲または収差を補正する前に、前記1つ以上のルックアップテーブルを拡張させることとをさらに含む、項目20に記載の方法。
(項目22)
前記光学歪曲補正情報はさらに、1つ以上の画像ワーピング操作を実施するための情報を含み、前記1つ以上の画像ワーピング操作を前記画像データに実施することをさらに含む、項目12に記載の方法。
(項目23)
仮想、拡張、または複合現実ディスプレイシステムであって、
複数の深度平面のためのデジタル画像データを表示するように構成されるディスプレイであって、前記ディスプレイは、第1の深度平面に対応する画像データを表示するための第1の光学経路と、第2の深度平面に対応する画像データを表示するための少なくとも部分的に明確に異なる第2の光学経路とを備える、ディスプレイと、
ディスプレイコントローラであって、前記ディスプレイコントローラは、前記混成された画像データが前記ディスプレイによって表示されると、前記第1の深度平面と前記第2の深度平面との間に位置する仮想深度平面に対応するように現れるように、前記第1の深度平面に対応する画像データと前記第2の深度平面に対応する画像データを混成するように構成される、ディスプレイコントローラと
を備える、システム。
(項目24)
前記ディスプレイコントローラは、前記第1の深度平面に対応する画像データと前記第2の深度平面に対応する画像データの加重された組み合わせを計算することによって、前記第1の深度平面に対応する画像データと前記第2の深度平面に対応する画像データを混成するように構成される、項目23に記載のシステム。
(項目25)
前記ディスプレイコントローラは、前記デジタル画像データに埋め込まれた仮想深度平面インジケータ情報に基づいて、前記加重された組み合わせを決定するように構成され、前記仮想深度平面インジケータデータは、複数の可能性として考えられる仮想深度平面のうちの1つを規定する、項目24に記載のシステム。
(項目26)
前記仮想深度平面インジケータデータは、前記デジタル画像データのピクセル値に埋め込まれる、項目25に記載のシステム。
(項目27)
前記デジタル画像データは、ピクセル毎に複数の色値を含み、前記色値の複数の最下位ビットは、前記仮想深度平面インジケータデータである、項目26に記載のシステム。
(項目28)
前記仮想深度平面インジケータデータは、前記仮想深度平面インジケータデータによって規定された前記仮想深度平面と関連付けられた混成加重値にアクセスするために使用される、項目26に記載のシステム。
(項目29)
仮想深度平面毎の混成加重値は、ルックアップテーブル内に記憶される、項目28に記載のシステム。
(項目30)
1つ以上のルックアップテーブルは、前記デジタル画像データの深度平面毎に提供される、項目29に記載のシステム。
(項目31)
前記ディスプレイコントローラは、前記第1の深度平面に対応する画像データの全てのピクセルと前記第2の深度平面に対応する画像データの全てのピクセルを同一仮想深度平面に混成するように構成される、項目23に記載のシステム。
(項目32)
前記ディスプレイコントローラは、前記第1の深度平面に対応する画像データの異なるピクセルを異なる仮想深度平面に混成するように構成される、項目23に記載のシステム。
(項目33)
仮想、拡張、または複合現実ディスプレイシステムにおける方法であって、前記方法は、
ディスプレイ上に示されるための複数の深度平面のデジタル画像データを提供することであって、前記ディスプレイは、第1の深度平面に対応する画像データを表示するための第1の光学経路と、第2の深度平面に対応する画像データを表示するための少なくとも部分的に明確に異なる第2の光学経路とを備える、ことと、
前記混成された画像データが前記ディスプレイによって表示されると、前記第1の深度平面と前記第2の深度平面との間に位置する仮想深度平面に対応するように現れるように、前記第1の深度平面に対応する画像データと前記第2の深度平面に対応する画像データを混成することと
を含む、方法。
(項目34)
前記第1の深度平面に対応する画像データと前記第2の深度平面に対応する画像データの加重された組み合わせを計算することによって、前記第1の深度平面に対応する画像データと前記第2の深度平面に対応する画像データを混成することをさらに含む、項目33に記載の方法。
(項目35)
前記デジタル画像データに埋め込まれた仮想深度平面インジケータ情報に基づいて、前記加重された組み合わせを決定することをさらに含み、前記仮想深度平面インジケータデータは、複数の可能性として考えられる仮想深度平面のうちの1つを規定する、項目34に記載の方法。
(項目36)
前記仮想深度平面インジケータデータは、前記デジタル画像データのピクセル値に埋め込まれる、項目35に記載の方法。
(項目37)
前記デジタル画像データは、ピクセル毎に複数の色値を含み、前記色値の複数の最下位ビットは、前記仮想深度平面インジケータデータである、項目36に記載の方法。
(項目38)
前記仮想深度平面インジケータデータを使用して、前記仮想深度平面インジケータデータによって規定された前記仮想深度平面と関連付けられた混成加重値にアクセスすることをさらに含む、項目36に記載の方法。
(項目39)
仮想深度平面毎の混成加重値をルックアップテーブル内に記憶することをさらに含む、項目38に記載の方法。
(項目40)
前記デジタル画像データの深度平面毎に、1つ以上のルックアップテーブルを提供することをさらに含む、項目39に記載の方法。
(項目41)
前記第1の深度平面に対応する画像データの全てのピクセルと前記第2の深度平面に対応する画像データの全てのピクセルを同一仮想深度平面に混成することをさらに含む、項目33に記載の方法。
(項目42)
前記第1の深度平面に対応する画像データの異なるピクセルを異なる仮想深度平面に混成することをさらに含む、項目33に記載の方法。
(項目43)
仮想、拡張、または複合現実ディスプレイシステムであって、
ユーザの頭部の位置に関連する測定を行うように構成される慣性測定ユニットと、
仮想、拡張、または複合現実画像データをレンダリングするように構成されるグラフィック処理ユニットと、
変換された画像データをユーザに示すように構成されるディスプレイと、
走査出力された前記レンダリングされた画像データを受信し、前記ディスプレイに前記変換された画像データを示させるように構成されるディスプレイドライバであって、前記ディスプレイドライバは、
前記測定を前記慣性測定ユニットから受信し、頭部姿勢情報を決定するように構成される頭部姿勢プロセッサと、
前記頭部姿勢情報に基づいて、前記レンダリングされた画像データを前記変換された画像データに変換するように構成される画像ワーピングプロセッサと
を備える、ディスプレイドライバと
を備える、システム。
(項目44)
前記レンダリングされた画像データを前記グラフィック処理ユニットから受信し、前記レンダリングされた画像データを前記ディスプレイドライバに走査出力するように構成される、ディスプレイコントローラをさらに備える、項目43に記載のシステム。
(項目45)
前記グラフィック処理ユニットおよび前記ディスプレイコントローラのうちの少なくとも1つは、前記慣性測定ユニットからの第1の測定を使用して決定された第1の頭部姿勢情報に基づいて、第1の変換を前記レンダリングされた画像データ上で実施するように構成され、
前記ディスプレイドライバは、前記慣性測定ユニットからの更新された第2の測定を使用して決定された第2の頭部姿勢情報に基づいて、第2の変換を前記レンダリングされた画像データ上で実施するように構成され、前記第2の頭部姿勢情報は、前記第1の頭部姿勢情報によって示される前記ユーザの頭部の位置と前記第2の頭部姿勢情報によって示される前記ユーザの頭部の位置との間の差異に関連する、
項目44に記載のシステム。
(項目46)
前記レンダリングされた画像データは、複数の色成分を含み、
前記画像ワーピングプロセッサは、別個の頭部姿勢情報に基づいて、前記レンダリングされた画像データの各色成分を変換するように構成され、
前記ディスプレイは、前記変換された画像データの複数の色成分を連続して示すように構成される、
項目43に記載のシステム。
(項目47)
前記ディスプレイは、前記変換された画像データの第1の色成分を第1の時間に、前記変換された画像データの第2の色成分を後続の第2の時間に示すように構成され、
前記画像ワーピングプロセッサは、前記第1の時間後に決定された頭部姿勢情報に基づいて、前記レンダリングされた画像データの第2の色成分を変換するように構成される、
項目46に記載のシステム。
(項目48)
前記画像ワーピングプロセッサによって実施される変換は、前記レンダリングされた画像データの各色成分の回転または平行移動偏移を含む、項目46に記載のシステム。
(項目49)
前記レンダリングされた画像データは、複数の深度平面を含み、
前記画像ワーピングプロセッサは、別個の頭部姿勢情報に基づいて、前記レンダリングされた画像データの各深度平面を変換するように構成され、
前記ディスプレイは、前記変換された画像データの複数の深度平面を連続して示すように構成される、
項目43に記載のシステム。
(項目50)
前記ディスプレイは、前記変換された画像データの第1の深度平面を第1の時間に、前記変換された画像データの第2の深度平面を後続の第2の時間に示すように構成され、
前記画像ワーピングプロセッサは、前記第1の時間後に決定された頭部姿勢情報に基づいて前記レンダリングされた画像データの第2の深度平面を変換するように構成される、
項目49に記載のシステム。
(項目51)
前記画像ワーピングプロセッサによって実施される変換は、前記レンダリングされた画像データの各深度平面の回転または平行移動偏移を含む、項目49に記載のシステム。
(項目52)
前記画像ワーピングプロセッサによって実施される変換は、画像回転または平行移動偏移を含む、項目43に記載のシステム。
(項目53)
前記ディスプレイは、第1のピクセル列の数および第2のピクセル行の数を含む前記変換された画像データを示すように構成され、
前記グラフィック処理ユニットは、前記第1のピクセル列の数を上回るまたは前記第2のピクセル行の数を上回る数を含むレンダリングされた画像データを前記ディスプレイドライバに提供するように構成される、
項目43に記載のシステム。
(項目54)
前記ディスプレイドライバに提供されるレンダリングされた画像データは、レンダリングされた画像データの中心ゾーンと、レンダリングされた画像データのバッファゾーンとを備え、前記中心ゾーンは、前記第1のピクセル列の数と、前記第2のピクセル行の数とを有し、前記バッファゾーンは、前記中心ゾーンを越えて延在するピクセルを備え、
前記頭部姿勢情報に基づいて、前記レンダリングされた画像データを変換することは、前記レンダリングされた画像データを前記バッファゾーンから前記中心ゾーンの中にもたらさせる、
項目53に記載のシステム。
(項目55)
前記グラフィック処理ユニットは、頭部姿勢情報に基づいて画像ワーピングを実施するように構成されない、項目43に記載のシステム。
(項目56)
前記グラフィック処理ユニットは、前記慣性測定ユニットからの更新された測定または更新された頭部姿勢情報を前記レンダリングされた画像データに追加するように構成される、項目43に記載のシステム。
(項目57)
前記グラフィック処理ユニットは、レンダリングされた画像データの最後のラインを走査出力した後、前記慣性測定ユニットからの更新された測定または更新された頭部姿勢情報を前記レンダリングされた画像データに追加するように構成される、項目56に記載のシステム。
(項目58)
クロックをさらに備え、前記クロックは、共通クロック信号を前記慣性測定ユニット、前記グラフィック処理ユニット、および前記ディスプレイドライバに提供し、前記ユーザの頭部の位置、頭部姿勢情報、または頭部姿勢情報に基づく変換に関連する測定のための共通基準を提供するように構成される、項目43に記載のシステム。
(項目59)
仮想、拡張、または複合現実ディスプレイシステムにおける方法であって、前記方法は、
グラフィック処理ユニットを使用して、仮想、拡張、または複合現実画像データをレンダリングすることと、
前記レンダリングされた画像データをユーザに示されるためのディスプレイに走査出力することと、
慣性測定ユニットを使用して、前記ユーザの頭部の位置に関連する測定を行うことと、
前記慣性測定ユニットからの測定を使用して、頭部姿勢情報を決定することと、
前記レンダリングされた画像データを前記ディスプレイに走査出力した後、前記頭部姿勢情報に基づいて、前記レンダリングされた画像データを変換することと、
前記変換された画像データを前記ディスプレイ上に示すことと
を含む、方法。
(項目60)
前記慣性測定ユニットからの第1の測定を使用して決定された第1の頭部姿勢情報に基づいて、第1の変換を前記レンダリングされた画像データ上で実施することと、
前記慣性測定ユニットからの更新された第2の測定を使用して決定された第2の頭部姿勢情報に基づいて、第2の変換を前記走査出力されたレンダリングされた画像データに実施することであって、前記第2の頭部姿勢情報は、前記第1の頭部姿勢情報によって示される前記ユーザの頭部の位置と前記第2の頭部姿勢情報によって示される前記ユーザの頭部の位置との間の差異に関連する、ことと
をさらに含む、項目59に記載の方法。
(項目61)
前記慣性測定ユニットからの測定を使用して、頭部姿勢情報を決定することは、前記レンダリングされた画像データを前記ディスプレイに走査出力した後に行われる、項目59に記載の方法。
(項目62)
前記レンダリングされた画像データは、複数の色成分を含み、前記方法はさらに、
別個の頭部姿勢情報に基づいて、前記レンダリングされた画像データの各色成分を変換することと、
前記変換された画像データの複数の色成分を連続して示すことと
を含む、項目59に記載の方法。
(項目63)
前記変換された画像データの第1の色成分を第1の時間に、前記変換された画像データの第2の色成分を後続の第2の時間に示すことと、
前記第1の時間後に決定された頭部姿勢情報に基づいて、前記レンダリングされた画像データの第2の色成分を変換することと
をさらに含む、項目62に記載の方法。
(項目64)
前記レンダリングされた画像データの各色成分を変換することは、前記レンダリングされた画像データの各色成分を回転または平行移動偏移させることを含む、項目62に記載の方法。
(項目65)
前記レンダリングされた画像データは、複数の深度平面を含み、前記方法はさらに、
別個の頭部姿勢情報に基づいて、前記レンダリングされた画像データの各深度平面を変換することと、
前記変換された画像データの複数の深度平面を連続して示すことと
を含む、項目59に記載の方法。
(項目66)
前記変換された画像データの第1の深度平面を第1の時間に、前記変換された画像データの第2の深度平面を後続の第2の時間に示すことと、
前記第1の時間後に決定された頭部姿勢情報に基づいて、前記レンダリングされた画像データの第2の深度平面を変換することと
をさらに含む、項目65に記載の方法。
(項目67)
前記レンダリングされた画像データの各深度平面を変換することは、前記レンダリングされた画像データの各深度平面を回転または平行移動偏移させることを含む、項目65に記載の方法。
(項目68)
前記頭部姿勢情報に基づいて、前記レンダリングされた画像データを変換することは、前記レンダリングされた画像データを回転または偏移させることを含む、項目59に記載の方法。
(項目69)
前記変換された画像データは、前記ディスプレイ上に第1のピクセル列の数および第2のピクセル行の数を含み、前記方法はさらに、
前記第1のピクセル列の数を上回る数または前記第2のピクセル行の数を上回る数を含む、レンダリングされた画像データを前記ディスプレイドライバに提供すること
を含む、項目59に記載の方法。
(項目70)
前記ディスプレイドライバに提供されるレンダリングされた画像データは、レンダリングされた画像データの中心ゾーンと、レンダリングされた画像データのバッファゾーンとを含み、前記中心ゾーンは、前記第1のピクセル列の数と、前記第2のピクセル行の数とを有し、前記バッファゾーンは、前記中心ゾーンを越えて延在するピクセルを備え、前記方法はさらに、
レンダリングされた画像データを前記バッファゾーンから前記中心ゾーンの中にもたらすことによって、前記頭部姿勢情報に基づいて、前記レンダリングされた画像データを変換すること
を含む、項目69に記載の方法。
(項目71)
前記頭部姿勢情報に基づいて、前記レンダリングされた画像データを変換することは、前記仮想、拡張、または複合現実画像データをレンダリングする、前記グラフィック処理ユニットによって実施されない、項目58に記載の方法。
(項目72)
前記慣性測定ユニットからの更新された測定または更新された頭部姿勢情報を前記レンダリングされた画像データに追加することをさらに含む、項目58に記載の方法。
(項目73)
レンダリングされた画像データの最後のラインを走査出力した後、前記慣性測定ユニットからの更新された測定または更新された頭部姿勢情報を前記レンダリングされた画像データに追加することをさらに含む、項目72に記載の方法。
(項目74)
共通クロック信号を提供し、前記ユーザの頭部の位置、頭部姿勢情報、または頭部姿勢情報に基づく変換に関連する測定のための共通基準を提供することをさらに含む、項目58に記載の方法。
(項目75)
仮想、拡張、または複合現実ディスプレイシステムであって、
明度の変動を前記ディスプレイの異なる部分に生じさせる1つ以上の光学コンポーネントを備えるディスプレイと、
複数の異なる明度補正値を画像データ内の複数のピクセル値に適用し、補正された画像データを作成するように構成されるディスプレイコントローラと
を備え、
前記ディスプレイは、前記明度変動を低減させるように、ユーザに、前記補正された画像データを示すように構成される、システム。
(項目76)
前記ディスプレイコントローラは、前記複数の異なる明度補正値の中からの明度補正値と、前記画像データ内の複数のピクセル値の中からの対応するピクセル値を乗算することによって、明度補正値を適用するように構成される、項目75に記載のシステム。
(項目77)
前記複数の異なる明度補正値は、前記ディスプレイ上に示される較正画像に基づいて決定される、項目76に記載のシステム。
(項目78)
前記複数の異なる明度補正値は、ルックアップテーブル内に記憶される、項目75に記載のシステム。
(項目79)
前記記憶されたルックアップテーブルの分解能は、前記画像データの分解能未満であり、
前記ディスプレイコントローラは、前記ルックアップテーブルを拡張し、前記画像データの分解能に合致させるように構成される、
項目78に記載のシステム。
(項目80)
前記ディスプレイは、
前記補正された画像データの複数の色成分を誘導するための複数の導波管と、
前記導波管からの光をユーザの眼に複数の出射ビームとして再指向するための複数の光再指向要素と
を備え、
前記複数の出射ビーム間には、前記表示される画像データの明度の変動を前記ディスプレイの異なる部分に生じさせる変動が存在する、項目75に記載のシステム。
(項目81)
前記複数の導波管の中からの異なる導波管は、前記画像データの異なる深度平面を異なる見掛け深度に表示するように、異なる屈折力と関連付けられる、項目80に記載のシステム。
(項目82)
仮想、拡張、または複合現実ディスプレイシステムにおける方法であって、前記方法は、
明度の変動を前記ディスプレイの異なる部分に生じさせる1つ以上の光学コンポーネントを備えるディスプレイを使用することと、
複数の異なる明度補正値を画像データ内の複数のピクセル値に適用し、補正された画像データを作成することと、
前記明度変動を低減させるように、ユーザに、前記補正された画像データを前記ディスプレイ上で示すことと
を含む、方法。
(項目83)
明度補正値を適用することは、前記複数の明度補正値の中からの明度補正値と前記画像データ内の複数ピクセル値の中からの対応するピクセル値を乗算することを含む、項目82に記載の方法。
(項目84)
前記ディスプレイ上に示される較正画像に基づいて、前記複数の異なる明度補正値を決定することをさらに含む、項目83に記載の方法。
(項目85)
前記複数の異なる明度補正値をルックアップテーブル内に記憶することをさらに含む、項目82に記載の方法。
(項目86)
前記記憶されたルックアップテーブルの分解能は、前記画像データの分解能未満であり、前記方法はさらに、
前記ルックアップテーブルを拡張し、前記画像データの分解能に合致させること
を含む、項目85に記載の方法。
(項目87)
複数の導波管を使用して、前記補正された画像データの複数の色成分を誘導することと、
複数の光再指向要素を使用して、前記導波管からの光をユーザの眼に複数の出射ビームとして再指向することと
をさらに含み、
前記複数の出射ビーム間には、前記表示される画像データの明度の変動を前記ディスプレイの異なる部分に生じさせる変動が存在する、項目82に記載の方法。
(項目88)
異なる屈折力と関連付けられた前記複数の導波管の中からの異なる導波管を使用して、前記画像データの異なる深度平面を異なる見掛け深度に表示することをさらに含む、項目87に記載の方法。
(項目89)
仮想、拡張、または複合現実ディスプレイシステムであって、
複数の深度平面のための仮想、拡張、または複合現実画像データを表示するように構成される、ディスプレイであって、前記ディスプレイは、
第1の深度平面に対応する画像データを表示するための第1の光学経路と、第2の深度平面に対応する画像データを表示するための少なくとも部分的に明確に異なる第2の光学経路と、
光学歪曲または収差を前記画像データに導入する、1つ以上の光学コンポーネントと、
明度の変動を前記ディスプレイの異なる部分に生じさせる、1つ以上の光学コンポーネントと
を備える、ディスプレイと、
コントローラであって、前記コントローラは、
少なくとも部分的に、光学歪曲補正情報を使用して、前記光学歪曲または収差のために前記画像データを補正することと、
前記混成された画像データが、前記第1の深度平面と前記第2の深度平面との間に位置する仮想深度平面に対応するように現れるように、前記第1の深度平面に対応する画像データと前記第2の深度平面に対応する画像データを混成することと、
前記明度変動を低減させるように、複数の異なる明度補正値を前記画像データ内の複数のピクセル値に適用することと、
制御データに基づいて、回転またはピクセル偏移動作を用いて前記画像データを変換することと、
前記画像データを前記ディスプレイに提供することと
を行うように構成される、コントローラと
を備える、仮想、拡張、または複合現実ディスプレイシステム。
(項目90)
前記コントローラは、ディスプレイコントローラである、項目89に記載の仮想、拡張、または複合現実ディスプレイシステム。
(項目91)
前記コントローラは、遠隔処理ユニットである、項目89に記載の仮想、拡張、または複合現実ディスプレイシステム。
(項目92)
前記コントローラは、DP/MPIブリッジである、項目89に記載の仮想、拡張、または複合現実ディスプレイシステム。
(項目93)
仮想、拡張、または複合現実ディスプレイシステムにおける方法であって、前記方法は、
ディスプレイを使用して、複数の深度平面のための仮想、拡張、または複合現実画像データを表示することであって、前記ディスプレイは、
第1の深度平面に対応する画像データを表示するための第1の光学経路と、第2の深度平面に対応する画像データを表示するための少なくとも部分的に明確に異なる第2の光学経路と、
光学歪曲または収差を前記画像データに導入する1つ以上の光学コンポーネントと、
明度の変動を前記ディスプレイの異なる部分に生じさせる1つ以上の光学コンポーネントと
を備える、ことと、
ディスプレイコントローラを用いて、前記画像データを前記ディスプレイに提供することであって、前記ディスプレイコントローラは、
少なくとも部分的に、光学歪曲補正情報を使用して、前記光学歪曲または収差のために前記画像データを補正することと、
前記混成された画像データが、前記第1の深度平面と前記第2の深度平面との間に位置する仮想深度平面に対応するように現れるように、前記第1の深度平面に対応する画像データと前記第2の深度平面に対応する画像データを混成することと、
前記明度変動を低減させるように、複数の異なる明度補正値を前記画像データ内の複数のピクセル値に適用することと、
制御データに基づいて、回転またはピクセル偏移動作を用いて前記画像データを変換することと
を行うように構成される、ことと
を含む、方法。
(項目94)
仮想、拡張、または複合現実システムにおける方法であって、
前記システムが低電力モードで動作することと、
前記システムが通常プロセッサモードで動作するための要求を受信することと、
前記通常プロセッサモードのための要求の受信に応答して、前記システムが前記低電力モードから通常電力モードに切り替わることと、
前記システムが低プロセッサモードの容認のインジケータを受信することと、
前記低プロセッサモードの容認のインジケータの受信に応答して、前記システムが前記通常電力モードからより低い電力モードに切り替わることと
を含む、方法。
(項目95)
前記低電力モードでは、システムコンポーネントは、オフに切り替えられる、または高速ウェイクアップ機能を伴うスタンバイモードにある、項目94に記載の方法。
(項目96)
前記システムが前記低電力モードから前記通常電力モードに切り替わることは、前記システムが、これまでオフに切り替えられていた、またはスタンバイモードであった前記システムコンポーネントをアクティブ化することを含む、項目95に記載の方法。
(項目97)
前記システムが前記通常プロセッサモードのための要求を受信することは、短待ち時間通信チャネルを通して、前記通常プロセッサモードのための要求を受信することを含む、項目94に記載の方法。
(項目98)
前記通常プロセッサモードのための要求は、所定の閾値量を上回るユーザの姿勢変化に応答して生成される、項目94に記載の方法。
(項目99)
前記低プロセッサモードの容認のインジケータは、所定の時間内における所定の閾値量未満のユーザの姿勢変化である、項目94に記載の方法。
(項目100)
仮想、拡張、または複合現実システムにおける方法であって、
前記システムが通常電力モードで動作することと、
前記システムが高プロセッサモードのための要求を受信することと、
前記高プロセッサモードのための要求の受信に応答して、前記システムが前記通常電力モードから高電力モードに切り替わることと、
前記システムが通常プロセッサモードの容認のインジケータを受信することと、
前記通常プロセッサモードの容認のインジケータの受信に応答して、前記システムが前記高電力モードから前記通常電力モードに切り替わることと
を含む、方法。
(項目101)
前記高電力モードは、前記システムに利用可能な電流量の増加を含む、項目100に記載の方法。
(項目102)
前記システムが前記高電力モードから前記通常電力モードに切り替わることは、前記システムが前記システムに利用可能な電流量を低減させることを含む、項目101に記載の方法。
(項目103)
前記高プロセッサモードのための要求は、仮想オブジェクトの所定の閾値量を上回ってレンダリングするための要求に応答して生成される、項目100に記載の方法。
(項目104)
前記通常プロセッサモードの容認のインジケータは、所定の時間にわたる仮想オブジェクトの所定の閾値量未満でレンダリングするための要求である、項目100に記載の方法。
(項目105)
仮想、拡張、または複合現実システムにおける方法であって、
前記システムが画像を複数の深度平面上にレンダリングおよび投影する多平面モードで動作することと、
単一平面アクティビティのインジケータを受信することと、
前記単一平面アクティビティのインジケータの受信に応答して、前記多平面結像モードから離散結像モードに切り替わることであって、前記離散結像モードでは、前記システムが画像を単一深度平面上にレンダリングおよび投影する、ことと、
多平面アクティビティのインジケータを受信することと、
前記多平面アクティビティのインジケータの受信に応答して、前記単一平面モードから前記多平面モードに切り替わることと
を含む、方法。
(項目106)
前記単一平面アクティビティのインジケータは、ユーザが映画が仮想画面上に表示されることを要求すること、前記ユーザが2Dアプリケーションを開くこと、またはセンサデータが前記ユーザの視線が所定の閾値時間量にわたって特定の平面に収束していることを示すことを含む、項目105に記載の方法。
(項目107)
瞬目または眼移動の間、前記離散結像モードと前記多平面結像モードとの間で切り替わることをさらに含む、項目105に記載の方法。
(項目108)
前記多平面アクティビティのインジケータは、ユーザが現在仮想画面上に表示されている映画が停止されることを要求すること、またはセンサデータが前記ユーザの視線が所定の閾値時間量にわたって特定の平面から離れて収束していることを示すことを含む、項目105に記載の方法。
(項目109)
仮想、拡張、または複合現実システムにおける方法であって、
前記システムが画像を複数の深度平面上にレンダリングおよび投影する多平面モードで動作することと、
前記システムが所定の閾値に到達したことのインジケータを受信することと、
前記システムが所定の閾値に到達したことのインジケータの受信に応答して、前記多平面結像モードから離散結像モードに切り替わることであって、前記離散結像モードでは、前記システムが画像を単一深度平面上にレンダリングおよび投影する、ことと、
通常システム動作のインジケータを受信することと、
前記通常システム動作のインジケータの受信に応答して、前記単一平面モードから前記多平面モードに切り替わることと
を含む、方法。
(項目110)
前記所定の閾値は、温度閾値またはバッテリ電力残閾値を含む、項目109に記載の方法。
(項目111)
瞬目または眼移動の間、前記離散結像モードと前記多平面結像モードとの間で切り替わることをさらに含む、項目109に記載の方法。
(項目112)
前記通常システム動作のインジケータは、前記所定の閾値の所定の量内にシステム特性を有していないことを含む、項目109に記載の方法。
(項目113)
仮想、拡張、または複合現実システムにおける方法であって、
ユーザの視野の画像を取得することと、
前記画像が私的情報を含むことを決定することと、
前記画像から生成された光マップが公的であろうことを決定することと、
前記画像が私的情報を含むことの決定に応答して、かつ前記光マップが公的であろうことの決定に応答して、採光情報を含むが、前記私的情報を含まない、プロキシ画像を生成することと、
前記プロキシ画像をサーバに送信することと、
前記プロキシ画像を使用して、公的光マップを生成することと
を含む、方法。
(項目114)
前記私的情報は、財務情報または子供の画像である、項目113に記載の方法。
(項目115)
前記画像から生成された光マップが公的であろうことを決定することは、画像データをサーバに送信する命令を検出することを含む、項目113に記載の方法。
(項目116)
プロキシ画像は、前記私的情報を表示する前記ユーザの視野内のオリジナルオブジェクトのための置換オブジェクトを備える、項目113に記載の方法。
(項目117)
仮想、拡張、または複合現実システムにおける方法であって、
実部屋に関する採光情報を受信することと、
前記実部屋の光マップを生成することと、
前記光マップを使用して、仮想オブジェクトを生成することと、
前記仮想オブジェクトを表示することと
を含む、方法。
(項目118)
前記採光情報は、色情報、照明レベル、または光方向を含む、項目117に記載の方法。
(項目119)
前記光マップは、前記実部屋内の採光源のモデルを含む、項目117に記載の方法。
(項目120)
前記モデルは、透過される光、拡散される光、反射される光、または回折される光を含む、項目119に記載の方法。
(項目121)
仮想、拡張、または複合現実システムにおける方法であって、
ユーザの眼位置を追跡することと、
前記ユーザの眼位置を使用して、ユーザの焦点を計算することと、
前記ユーザの焦点上に心合される中心窩化エリアを識別することと、
前記中心窩化エリア外の前記画像の第2の部分に対して、前記中心窩化エリア内の画像の第1の部分をより正確にレンダリングすることと、
前記第1および第2の部分を含む、前記画像を表示することと
を含む、方法。
(項目122)
前記ユーザの焦点は、X,Y、またはZ方向に決定される、項目121に記載の方法。(項目123)
前記ユーザの焦点は、前記ユーザの視野の象限である、項目121に記載の方法。
(項目124)
前記画像の前記第1の部分をより正確にレンダリングすることは、前記画像の第2の部分に対して前記画像の第1の部分の鮮明度を増加させることを含む、項目121に記載の方法。
(項目125)
前記中心窩化エリアの中心から前記中心窩化エリアの外側縁に増加する鮮明度の勾配をレンダリングすることをさらに含む、項目12に記載の方法。
(項目126)
ユーザ眼移動の量、システム温度、またはユーザ選好に基づいて、中心窩化の量を修正することをさらに含む、項目121に記載の方法。
(項目127)
前記中心窩化エリア内の眼位置追跡の正確度を増加させることをさらに含む、項目121に記載の方法。
(項目128)
仮想、拡張、または複合現実システムにおける方法であって、
それぞれ、第1の平面および第2の平面のための第1のコンテンツおよび第2のコンテンツを取得することと、
瞳孔配向を決定することと、
前記第1のコンテンツおよび前記第2のコンテンツと前記瞳孔情報を組み合わせ、切替パターンを生成することと、
前記切替パターンを前記システムのディスプレイに送信することと、
前記ディスプレイが前記切替パターンを使用して切替を実施することと
を含む、方法。
(項目129)
前記切替は、前記第1の平面および前記第2の平面毎に30または60フレーム/秒の高速切替である、項目128に記載の方法。
(項目130)
前記切替は、前記第1の平面をブランキングすることを含む、項目128に記載の方法。
(項目131)
前記ディスプレイは、アナログスイッチを使用して、前記切替を実施する、項目128に記載の方法。
(項目132)
仮想、拡張、または複合現実システムにおける方法であって、
個別の複数の平面のための複数のコンテンツを取得することと、
前記複数のコンテンツを分析し、切替パターンを生成することと、
前記切替パターンを前記システムのディスプレイに送信することと、
前記ディスプレイが前記切替パターンを使用して切替を実施することと
を含む、方法。
(項目133)
前記切替パターンは、
前記複数の平面のいくつかを並べ替えることと、
前記複数の平面のうちの1つをブランキングすることと、
画像フレームをスキップすることと、
画像フレームのペアをスワッピングすることと、
カラーシーケンスを実施することと
のうちの少なくとも1つを含む、項目132に記載の方法。
(項目134)
前記切替は、前記複数の平面の平面毎に30または60フレーム/秒における高速切替である、項目132に記載の方法。
(項目135)
前記ディスプレイは、アナログスイッチを使用して、前記切替を実施する、項目132に記載の方法。
(項目136)
仮想、拡張、または複合現実システムにおける方法であって、
複数のフレームに対応する個別の複数のコンテンツを取得することと、
前記個別の複数のコンテンツを分析し、前記複数のフレームに対応する複数の切替パターンを生成することと、
前記複数の切替パターンを前記システムのディスプレイに送信することと、
前記ディスプレイがフレーム毎に前記切替パターンを使用して切替を実施することと
を含む、方法。
(項目137)
前記複数の切替パターンをメモリバッファ内に記憶することをさらに含む、項目136に記載の方法。
(項目138)
前記メモリバッファは、時系列先入れ先出しバッファ、循環バッファ、および一連のメモリ場所またはレジスタのうちの1つである、項目137に記載の方法。
(項目139)
前記切替は、30または60フレーム/秒における高速切替である、項目136に記載の方法。
(項目140)
前記ディスプレイは、アナログスイッチを使用して、前記切替を実施する、項目136に記載の方法。
(項目141)
ユーザ瞬目を検出することと、
前記切替パターンを修正し、前記ユーザ瞬目と一致する2つのディスプレイのためのフレームをブランキングすることと
をさらに含む、項目136に記載の方法。
(項目142)
ユーザウインクを検出することと、
前記切替パターンを修正し、前記ユーザ瞬目と一致する1つのディスプレイのためのフレームをブランキングすることと
をさらに含む、項目136に記載の方法。
(項目143)
仮想、拡張、または複合現実システムであって、
ヘッドセットと、
遠隔コンピューティングモジュールと
を備え、前記ヘッドセットは、
ユーザ入力を受信することと、
前記ユーザ入力内のキーワードを検出することと、
前記ユーザ入力内のキーワードの検出に応答して、ウェイクアップコードを前記遠隔コンピューティングモジュールに送信することであって、前記遠隔コンピューティングモジュールは、低電力スタンバイモードにある、ことと
を行うように構成され、
前記遠隔コンピューティングモジュールは、前記ウェイクアップコードの受信に応答して、前記低電力スタンバイモードを終了するように構成される、システム。
(項目144)
前記ユーザ入力は、オーディオ入力であり、前記ユーザ入力を受信することは、前記ヘッドセット上のマイクロホンを使用して、前記オーディオ入力を検出することを含む、項目143に記載のシステム。
(項目145)
前記ユーザ入力内のキーワードを検出するヘッドセットは、
前記マイクロホンと通信し、前記オーディオ入力を受信する、前記ヘッドセット内のオーディオプロセッサと、
前記オーディオプロセッサと通信し、オーディオデータを受信する、前記ヘッドセット内の知覚プロセッサと
を備える、項目144に記載のシステム。
(項目146)
前記ヘッドセットがユーザ入力内のキーワードを検出することはさらに、
前記知覚プロセッサがキーワード記憶装置にアクセスすることと、
前記知覚プロセッサが、前記オーディオデータと前記キーワード記憶装置内の複数のキーワードを比較し、前記キーワードを検出することと
を含む、項目145に記載のシステム。
(項目147)
前記ユーザ入力内のキーワードの検出に応答して、前記ヘッドセットがインタラプトコードを前記遠隔コンピューティングモジュールに送信することをさらに含む、項目143に記載のシステム。
(項目148)
仮想、拡張、または複合現実システムであって、
知覚プロセッサ内に予測エンジンを有する、ヘッドセットと、
遠隔コンピューティングモジュールと
を備え、
前記ヘッドセットは、ユーザ移動の開始を検出し、前記ユーザ移動の開始の検出に応答して、前記ユーザ移動を測定するように構成され、
前記ヘッドセット内の知覚プロセッサ内の予測エンジンは、前記測定されたユーザ移動から予測されるユーザ移動を生成し、
前記ヘッドセット内の知覚プロセッサは、前記予測エンジンが前記予測されるユーザ移動を生成することに応答して、前記予測されるユーザ移動を使用して変換を画像データに実施する、システム。
(項目149)
前記ヘッドセットは、前記予測されるユーザ移動および変換パラメータを使用して、前記変換を前記画像データに実施する、項目148に記載のシステム。
(項目150)
前記ヘッドセットは、前記予測されるユーザ移動および予測される色変化を使用して、前記変換を前記画像データに実施する、項目148に記載のシステム。
(項目151)
前記ヘッドセットは、前記予測されるユーザ移動および予測される採光変化または予測されるコントラスト変化を使用して、前記変換を前記画像データに実施する、項目148に記載のシステム。
(項目152)
前記ヘッドセット内の知覚プロセッサがユーザ焦点を予測することと、
前記予測エンジンが前記予測されるユーザ移動を生成することに応答して、前記ヘッドセット内の知覚プロセッサが、前記予測されるユーザ移動および前記予測されるユーザ焦点を使用して、前記変換を前記画像データに実施することと
さらに含む、項目148に記載のシステム。
(項目153)
前記ユーザ移動は、頭部移動である、項目148に記載のシステム。
(項目154)
前記ユーザ移動は、眼移動である、項目148に記載のシステム。
(項目155)
仮想、拡張、または複合現実システムであって、
ローカル処理モジュールを有するヘッドセットと、
遠隔処理モジュールと、
前記ローカル処理モジュールと前記遠隔処理モジュールとの間の第1の通信チャネルと、
前記ローカル処理モジュールと前記遠隔処理モジュールとの間の第2の通信チャネルであって、前記第2の通信チャネルは、前記第1の通信チャネル未満の電力を要求する、第2の通信チャネルと
を備える、システム。
(項目156)
前記第1の通信チャネルは、USBまたはPCIE接続であり、前記第2の通信チャネルは、SPIまたは類似低電力接続である、項目155に記載のシステム。
(項目157)
遠隔処理モジュールと、ローカル処理モジュールを含むヘッドセットとを有する、仮想、拡張、または複合現実システムにおける方法であって、
動作モードを検出することと、
前記動作モードの間、前記ローカル処理モジュールと前記遠隔処理モジュールとの間の第1の通信チャネルがディスエーブルにされ得ることを決定することと、
前記動作モードの間、ディスエーブルにされ得る前記第1の通信チャネルのコンポーネントを識別することと、
前記ローカル処理モジュールと前記遠隔処理モジュールとの間の第2の通信チャネルを経由して通信することであって、前記第2の通信チャネルは、前記第1の通信チャネル未満の電力を要求する、ことと、
前記第2の通信チャネルを経由した通信の成功に基づいて、前記第1の通信チャネルのコンポーネントをディスエーブルにすることと
を含む、方法。
(項目158)
前記第2の通信チャネルのコネクタを再マッピングし、前記第2の通信チャネルを経由した通信を促進することをさらに含む、項目157に記載の方法。
(項目159)
前記第2の通信チャネルのコネクタへの相互に排他的アクセスを提供し、前記第2の通信チャネルを経由した通信を促進することをさらに含む、項目157に記載の方法。
(項目160)
仮想、拡張、または複合現実システムにおける方法であって、
前記仮想、拡張、または複合現実システムの第1のコンポーネントにおける低電力要件のインジケータを検出することと、
前記第1のコンポーネントにおけるローカル低電力モードを識別することと、
前記仮想、拡張、または複合現実システムの第2のコンポーネントを含む協調低電力モードを識別することと、
前記協調低電力モードのインジケータを前記第2のコンポーネントに送信することと、
前記第1のコンポーネントが前記ローカル低電力モードを開始することと、
前記第2のコンポーネントが前記協調低電力モードを開始することと
を含む、方法。
(項目161)
前記低電力要件のインジケータは、消音ボタンのアクティブ化である、項目160に記載の方法。
(項目162)
前記ローカル低電力モードは、マイクロホンを非アクティブ化することを含む、項目161に記載の方法。
(項目163)
前記協調低電力モードは、発話プロセッサを非アクティブ化することを含む、項目162に記載の方法。
(項目164)
仮想、拡張、または複合現実システムにおける方法であって、
前記仮想、拡張、または複合現実システムの第1のコンポーネントにおける低電力要件のインジケータを検出することと、
前記第1のコンポーネントにおける第1および第2のローカル低電力モードを識別することと、
それぞれ、前記仮想、拡張、または複合現実システムの第2のコンポーネントを含む、第1および第2の協調低電力モードを識別することと、
前記第1および第2のローカル低電力モードを比較し、好ましいローカル低電力モードを識別することと、
前記第1および第2の協調低電力モードを比較し、好ましい協調低電力モードを識別することと、
組み合わせ低電力モードを前記好ましいローカル低電力モードおよび前記好ましい協調低電力モードから生成することと、
前記第1および第2のコンポーネントが前記組み合わせ低電力モードを開始することと
を含む、方法。
(項目165)
仮想、拡張、または複合現実システムにおける方法であって、前記システムは、ヘッドセットと、遠隔コンピューティングモジュールとを有し、前記方法は、
前記ヘッドセットがヘッドセットタイムコードを前記遠隔コンピューティングモジュールに送信することと、
前記遠隔コンピューティングモジュールが遠隔コンピューティングモジュールタイムコードを前記ヘッドセットに送信することと、
前記ヘッドセットが、前記遠隔コンピューティングモジュールタイムコードと前記ヘッドセットタイムコードを比較し、第1のドリフトを識別することと、
前記遠隔コンピューティングモジュールが、前記ヘッドセットタイムコードと前記遠隔コンピューティングモジュールタイムコードを比較し、第2のドリフトを識別することと
を含む、方法。
(項目166)
前記ヘッドセットが、前記第1のドリフトに基づいて、そのクロックをリセットし、前記ヘッドセットおよび前記遠隔コンピューティングモジュールを同期させることをさらに含む、項目165に記載の方法。
(項目167)
前記遠隔コンピューティングモジュールが、前記第2のドリフトに基づいて、そのクロックをリセットし、前記ヘッドセットおよび前記遠隔コンピューティングモジュールを同期させることをさらに含む、項目165に記載の方法。
(項目168)
仮想、拡張、または複合現実システムにおける方法であって、前記システムは、ヘッドセットと、プロジェクタと、遠隔コンピューティングモジュールとを有し、前記方法は、
前記遠隔コンピューティングモジュールが低帯域幅構成を前記ヘッドセットに送信することと、
前記プロジェクタが低電力オプションを前記ヘッドセットに送信することと、
前記ヘッドセットが低電力コマンドを前記低電力オプションから前記プロジェクタに送信することと
を含む、方法。
(項目169)
仮想、拡張、または複合現実システムにおける方法であって、前記システムは、ヘッドセットと、遠隔コンピューティングモジュールとを有し、前記方法は、
前記ヘッドセット内のマイクロホンを構成することと、
前記ヘッドセットから前記遠隔コンピューティングモジュールへの通信経路を構成することと、
前記ヘッドセット内の知覚プロセッサが利用可能な音チャネルの第1の数および必要とされる音チャネルの第2の数を計算することと、
前記知覚プロセッサが前記第2の数が前記第1の数を上回ることを決定することと、
前記知覚プロセッサが余剰データを未使用音チャネルの中にパッキングすることと
を含む、方法。
(項目170)
前記余剰データは、エコーキャンセルデータ、眼姿勢データ、またはおよび頭部姿勢データのうちの少なくとも1つを含む、項目169に記載の方法。
(項目171)
前記方法は、動的に実施される、項目169に記載の方法。
【図面の簡単な説明】
【0087】
以下に説明される図面は、例証目的のためにすぎない。図面は、本開示の範囲を限定することを意図するものではない。
【0088】
図面は、本開示の種々の実施形態の設計および可用性を図示する。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。本開示の種々の実施形態の列挙される利点および目的ならびに他の利点および目的を取得する方法をより深く理解するために、本開示のより詳細な説明は、付随の図面に図示される、その具体的実施形態を参照することによって与えられるであろう。これらの図面は、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定と見なされないことを理解されたい、本開示は、付随の図面の使用を通して、付加的具体性および詳細とともに記載ならびに説明されるであろう。
【0089】
図1図1は、例示的ARシステムを使用したAR/MR場面のユーザのビューを図示する。
【0090】
図2A図2Aは、ウェアラブルディスプレイシステムの実施例を図示する。
【0091】
図2B図2Bは、一実施形態による、AR/MRシステムを描写する、ブロック図である。
【0092】
図2C図2Cは、一実施形態による、AR/MR頭部搭載型ディスプレイの分解斜視図である。
【0093】
図2D図2Dは、一実施形態による、モバイルコンピューティングサポートシステム、種々の図を含む。
【0094】
図2E図2Eは、図2Dに描写されるモバイルコンピューティングサポートシステムの分解斜視図である。
【0095】
図2F図2Fは、一実施形態による、トーテムコントローラの斜視図である。
【0096】
図2G図2Gは、一実施形態による、VR/AR/MRシステムを実装するための遠位に位置するコンポーネントを含む、VR/AR/MRシステムブロック図である。
【0097】
図2H図2Hは、一実施形態による、VR/AR/MRシステムを実装するために使用される、コンポーネントの配列を描写する。
【0098】
図3図3は、ユーザのための3次元画像をシミュレートするための従来のディスプレイシステムを図示する。
【0099】
図4図4は、複数の深度平面を使用して、3次元画像をシミュレートするためのアプローチの側面を図示する。
【0100】
図5図5A-5Cは、曲率半径と焦点半径との間の関係を図示する。
【0101】
図6図6は、画像情報をユーザに出力するための導波管スタックの実施例を図示する。
【0102】
図7図7は、導波管によって出力された出射ビームの実施例を示す。
【0103】
図8図8は、各深度平面が、それぞれ、異なる色の光を出力する、3つの関連付けられた導波管を有する、導波管スタックの例示的設計を図示する。
【0104】
図9図9は、ライトフィールドビデオデータを表示する、VR/AR/MRシステムのための例示的タイミングスキームを図示する。
【0105】
図10図10は、付加された制御データを含む、ビデオデータのフレームのための例示的フォーマットを図示する。制御データは、ブランキング周期の間にも、メタデータとして送信されてもよい。
【0106】
図11図11は、制御データを含む、ビデオデータのフレームのための別の例示的フォーマットを図示する。
【0107】
図12A図12Aは、内蔵制御データを含む、ビデオデータのピクセルのための例示的フォーマットを図示する。
【0108】
図12B図12Bは、内蔵制御データを含む、ビデオデータのピクセルのための別の例示的フォーマットを図示する。
【0109】
図13図13は、ビデオのフレームが、順次表示され得る、色成分に分離され得る方法を図示する。
【0110】
図14図14は、ライトフィールドビデオデータのフレームが、深度平面インジケータデータを使用して、それぞれ、表示のために色成分サブフレームに分割され得る、複数の深度平面に分離され得る方法を図示する。
【0111】
図15図15は、図12Aおよび12Bの深度平面インジケータデータが、ライトフィールドビデオデータのフレームの1つ以上の深度平面が非アクティブであることを示す、実施例を図示する。
【0112】
図16図16は、拡張現実システム内のコンピュータ生成された画像のフレームのための例示的描画エリアを図示する。
【0113】
図17図17は、システムのディスプレイコントローラによって実装される、例示的ピクセル処理パイプラインのブロック図である。
【0114】
図18図18は、別の深度平面に対応するピクセルとの混成操作を制御するためのデータでタグ付けされる、ビデオピクセルのための例示的フォーマットを図示する。
【0115】
図19図19は、図17に示されるピクセル処理パイプラインの色混成ブロックによって行われ得る、例示的混成操作を図示する。
【0116】
図20図20は、ピクセル毎に画像データの深度平面間で混成操作を実施する、色混成ブロックの実施形態を図示する。
【0117】
図21図21は、深度平面全体にわたって均一ベースで画像データの深度平面間で混成操作を実施する、色混成ブロックの実施形態を図示する。
【0118】
図22図22は、図17に示されるピクセル処理パイプラインのレンズ歪曲補正機能性の略図である。
【0119】
図23図23は、歪曲補正出力ピクセルの値を計算するためのピクセル補間器による、4つの入力ピクセルA、B、C、Dの補間を図示する。
【0120】
図24A図24Aは、図17に示されるピクセル処理パイプラインのローリングバッファ内のマクロブロックを図示する。
【0121】
図24B図24Bは、ピクセルをマクロブロックから補間器に通過させるための例示的マルチプレクサ論理を図示する。
【0122】
図25A図25Aは、頭部姿勢情報に基づいて、VR/AR/MR画像データをワーピングするための例示的システムを図示する。
【0123】
図25B図25Bは、頭部姿勢情報に基づいて、VR/AR/MR画像データをワーピングするための改良されたシステムを図示する。
【0124】
図25C図25Cは、頭部姿勢情報に基づいて、VR/AR/MR画像データをワーピングするための別の改良されたシステムを図示する。
【0125】
図26図26は、色ルックアップテーブル混成操作モードを実装するためのシステムの例示的実施形態を図示する。
【0126】
図27図27は、一実施形態による、MR体験を生成するための方法の概略図である。
【0127】
図28図28は、一実施形態による、AR/MRシステムの概略図である。
【0128】
図29図29は、一実施形態による、低電力モードと通常電力モードとの間の切替の方法を図示する、フローチャートである。
【0129】
図30図30は、一実施形態による、通常電力モードおよびバーストまたは高電力モードとの間の切替の方法を図示する、フローチャートである。
【0130】
図31A図31Aおよび31Bは、2つの実施形態による、多平面ディスプレイモードと離散結像モードとの間の切替の方法を図示する、フローチャートである。
図31B図31Aおよび31Bは、2つの実施形態による、多平面ディスプレイモードと離散結像モードとの間の切替の方法を図示する、フローチャートである。
【0131】
図32図32は、一実施形態による、追跡および/または予測される眼または視線位置を使用して、レンダリングプロセッサ要件を低減させる方法を図示する、フローチャートである。
【0132】
図33図33は、一実施形態による、AR/MRシステム内で使用されるような実世界場面と併せた場面拡張を示す、3D場面を図示する。
【0133】
図34図34は、一実施形態による、VR/AR/MRシステムを実装するコンポーネント内で使用されるような1つ以上の連続的により離れる深度平面を図示する。
【0134】
図35図35は、種々の実施形態による、図34に描写される複数の連続的により離れる深度平面と、低電力VR/AR/MRシステムを実装するために使用される深度平面を切り替える方法を図示する、フローチャートとを含む。
【0135】
図36図36は、一実施形態による、遠位に位置するコンポーネントを含む、VR/AR/MRシステムを図式的に描写する。
【0136】
図37図37は、一実施形態による、VR/AR/MRシステム内のアナログスイッチを使用したフレーム毎低電力深度平面切替を図示する。
【0137】
図38図38は、一実施形態による、低電力VR/AR/MRシステム内のアナログスイッチを使用したフレーム毎ウインクまたは瞬目イベント深度平面切替を図示する。
【0138】
図39図39は、一実施形態による、VR/AR/MRシステム内に低電力ディスプレイ技法を実装するための6連射アーキテクチャを図式的に描写する。
【0139】
図40図40は、一実施形態による、VR/AR/MRシステム内の低電力短待ち時間ヘッドセットアーキテクチャを図式的に描写する。
【0140】
図41図41は、一実施形態による、VR/AR/MRシステム内の短待ち時間低電力フローとより長い待ち時間電力フローの両方を比較する、チャートである。
【0141】
図42図42は、一実施形態による、移動予測をヘッドセットコンポーネントに送達するためのVR/AR/MRシステムを図式的に描写する。
【0142】
図43図43は、一実施形態による、ヘッドセットコンポーネント内のローカル予測エンジンを有する、VR/AR/MRシステムを図式的に描写する。
【0143】
図44図44は、2つの実施形態による、VR/AR/MRシステム内の短待ち時間ローカル予測エンジンとより長い待ち時間ローカル予測エンジンを比較する、チャートである。
【0144】
図45図45は、一実施形態による、低電力側チャネルを有する、VR/AR/MRシステムを図式的に描写する。
【0145】
図46図46A-46Cは、種々の実施形態による、VR/AR/MRシステム内の低電力側チャネルを使用するためのモードベースのフローを描写する、フローチャートである。
【0146】
図47図47は、一実施形態による、VR/AR/MRシステム内の低電力側チャネルを使用するためのケーブル構成を図式的に描写する。
【0147】
図48図48は、一実施形態による、VR/AR/MRシステム内の協働コンポーネント間の低電力側チャネル通信を実装するためのモード構成プロトコルを図式的に描写する。
【0148】
図49図49は、一実施形態による、VR/AR/MRシステム内の協働コンポーネント間の低電力側チャネル通信を実装するための複数のコンポーネントモード構成フローを図式的に描写する。
【0149】
図50図50は、一実施形態による、VR/AR/MRシステム内の協働コンポーネント間で使用されるような低電力同期技法を図式的に描写する。
【0150】
図51図51は、一実施形態による、VR/AR/MRシステム内の協働コンポーネント間で通信されるためのデータの時分割多重化の実装を描写する、フローチャートである。
【0151】
図52図52は、一実施形態による、VR/AR/MRシステム内のコンポーネント間で通信されるためのデータの時分割多重化を実装するためのデータパッキングを図示する。
【0152】
図53図53は、一実施形態による、VR/AR/MRシステムのためのバッテリブーストシステムを図式的に描写する。
【0153】
図54図54は、一実施形態による、VR/AR/MRシステムの協働コンポーネントを含む、ケーブル接続システムを図式的に描写する。
【0154】
図55図55は一実施形態による、VR/AR/MRシステムの協働コンポーネントを含む、無線接続システムを図式的に描写する。
【0155】
図56図56は、一実施形態による、VR/AR/MRシステムの複数の協働コンポーネントを含む、システムコンポーネントパーティション化を図式的に描写する。
【0156】
図57図57は、一実施形態による、VR/AR/MRシステムの協働コンポーネント上への実装のためのシステム機能パーティション化を図式的に描写する。
【0157】
図58図58は、一実施形態による、VR/AR/MRシステムの協働コンポーネント上への実装のためのシステム機能パーティション化を図式的に描写する。
【0158】
図59図59は、一実施形態による、実際の物理的部屋内における表示のために、照明された仮想オブジェクトを正確に生成する方法を図示する、フローチャートである。
【0159】
図60図60は、一実施形態による、私的情報を含む画像を使用して、公的に入手可能な光マップを生成する方法を図示する、フローチャートである。
【0160】
図61図61は、2つの実施形態による、複数のVR/AR/MRシステムの協働コンポーネントを含む、システムコンポーネントパーティション化を図式的に描写する。
【0161】
図62図62は、第1の実施形態による、GPU内のワーピング操作を図示する。
【0162】
図63図63は、第2の実施形態による、GPU内のワーピング操作を図示する。
【0163】
図64図64は、第3の実施形態による、GPU内のワーピング操作を図示する。
【発明を実施するための形態】
【0164】
本開示の種々の実施形態は、単一実施形態または複数の実施形態における、仮想現実(VR)/拡張現実(AR)/複合現実(MR)のためのシステム、方法、および製造品を対象とする。本開示の他の目的、特徴、および利点は、発明を実施するための形態、図、および請求項に説明される。
【0165】
種々の実施形態が、ここで、当業者が本開示を実践することを可能にするように、例証的実施例として提供される、図面を参照して詳細に説明されるであろう。着目すべきこととして、以下の図および実施例は、本開示の範囲を限定することを意味するものではない。本開示のある要素が、部分的または完全に、公知のコンポーネント(または方法もしくはプロセス)を使用して実装され得る場合、本開示の理解のために必要なそのような公知のコンポーネント(または方法もしくはプロセス)の一部のみが、説明され、そのような公知のコンポーネント(または方法もしくはプロセス)の他の部分の詳細な説明は、本開示を曖昧にしないように、省略されるであろう。さらに、種々の実施形態は、本明細書に例証として参照されるコンポーネントの現在および将来的公知の均等物を包含する。
【0166】
本開示による実施形態は、多くの場合、既製品コンポーネントとカスタムコンポーネントの組み合わせに依拠する、VR/AR/MRシステムの実装の問題に対処する。ある場合には、既製品コンポーネントは、開発予定VR/AR/MRシステムのある所望の側面を実装するために必要とされる、特徴または性能特性の全てを保有していない。いくつかの実施形態は、能力を追加し、および/またはリソースを再利用し、開発予定VR/AR/MRシステムの所望の特徴または性能特性に適応させるためのアプローチを対象とする。本明細書の付随の図および議論は、VR/AR/MRシステムのための例示的環境、システム、方法、およびコンピュータプログラム製品を提示する。
【0167】
概要
本明細書に開示される仮想現実(「VR」)、拡張現実(「AR」)、および複合現実(「MR」)システムは、ディスプレイを含むことができ、これは、コンピュータ生成された画像(ビデオ/画像データ)をユーザに提示する。いくつかの実施形態では、ディスプレイシステムは、装着可能であって、これは、有利には、より没入型のVR/AR/MR体験を提供し得る。図2Aは、ウェアラブルVR/AR/MRディスプレイシステム80(以降、「システム80」と称される)の実施例を図示する。システム80は、ディスプレイ62と、そのディスプレイ62の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ62は、フレーム64に結合されてもよく、これは、ディスプレイシステムユーザまたは視認者60(以降、「ユーザ60」と称される)によって装着可能であって、ディスプレイ62をユーザ60の眼の正面に位置付けるように構成される。いくつかの実施形態では、スピーカ66が、フレーム64に結合され、ユーザ60の外耳道に隣接して位置付けられる。いくつかの実施形態では、示されない、別のスピーカが、ユーザ60の他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する。ディスプレイ62は、有線または無線接続68等によって、ローカル処理およびデータモジュール70に動作可能に結合され、これは、フレーム64に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ60に除去可能に取り付けられる(例えば、リュック式構成、ベルト結合式構成等において)等、種々の構成において搭載されてもよい。
【0168】
ローカル処理およびデータモジュール70は、プロセッサと、不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリとを含んでもよく、両方とも、データの処理および記憶を補助するために利用されてもよい。これは、画像捕捉デバイス(例えば、カメラ)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、アンテナアレイ、深度センサ、および/またはジャイロスコープ等のセンサから捕捉されたデータを含む。センサは、フレーム64に動作可能に結合される、または別様にユーザ60に取り付けられてもよい。代替として、または加えて、センサデータは、可能性として、処理または読出後、ディスプレイ62への通過のために、遠隔処理モジュール72および/または遠隔データリポジトリ74を使用して入手および/または処理されてもよい。ローカル処理およびデータモジュール70は、これらの遠隔モジュール(72、74)が、相互に動作可能に結合され、ローカル処理およびデータモジュール70へのリソースとして利用可能であるように、通信リンク(76、78)によって、有線または無線通信リンク等を介して、遠隔処理モジュール72および遠隔データリポジトリ74に動作可能に結合されてもよい。
【0169】
いくつかの実施形態では、遠隔処理モジュール72は、データ(例えば、センサデータおよび/または画像情報)を分析および処理するように構成される、1つ以上のプロセッサを含んでもよい。いくつかの実施形態では、遠隔データリポジトリ74は、デジタルデータ記憶設備を含んでもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的使用を可能にする。
【0170】
いくつかの実施形態では、ディスプレイ62を介して提供されるコンピュータ生成された画像データは、3次元である印象を作成することができる。これは、例えば、立体視画像データをユーザ60に提示することによって行われることができる。いくつかの従来のシステムでは、そのような画像データは、若干異なる視点からの場面またはオブジェクトの別個の画像を含むことができる。別個の画像は、それぞれ、ユーザ60の右眼および左眼に提示され、したがって、両眼視覚およびその関連付けられた深度知覚をシミュレートすることができる。
【0171】
ここで図2Bを参照すると、ARまたはMRシステム3300(以降、「システム3300」と称される)の例示的実施形態が、図示される。システム3300は、スタックされた光誘導光学要素(以降、「「LOE3390」と称される)を使用する。システム3300は、概して、画像生成プロセッサ3310と、光源3320と、コントローラ3330と、空間光変調器(「SLM」)3340と、多平面焦点システムとして機能する、少なくとも1つのスタックされたLOE3390のセットとを含む。システム3300はまた、眼追跡サブシステム3350を含んでもよい。他の実施形態は、複数のスタックされたLOE3390のセットを有してもよいことを理解されたい。
【0172】
画像生成プロセッサ3310は、ユーザに表示されるための仮想コンテンツを生成するように構成される。画像生成プロセッサ3310は、仮想コンテンツと関連付けられた画像またはビデオを、ユーザに3Dで投影され得る、フォーマットに変換してもよい。例えば、3Dコンテンツを生成する際、仮想コンテンツは、特定の画像の一部が、特定の深度平面に表示される一方、その他が、他の深度平面に表示されるように、フォーマットされる必要があり得る。一実施形態では、画像は全て、特定の深度平面に生成されてもよい。別の実施形態では、画像生成プロセッサ3310は、ともに視認されると、仮想コンテンツがコヒーレントかつ快適にユーザの眼に現れるように、若干異なる画像を右および左眼に提供するようにプログラムされてもよい。
【0173】
画像生成プロセッサ3310はさらに、メモリ3312と、GPU3314と、CPU3316と、画像生成および処理のための他の回路とを含んでもよい。画像生成プロセッサ3310は、システム3300のユーザに提示されるための所望の仮想コンテンツでプログラムされてもよい。いくつかの実施形態では、画像生成プロセッサ3310は、システム3300内に格納されてもよいことを理解されたい。他の実施形態では、画像生成プロセッサ3310および他の回路は、システム3300に結合されるベルトパック内に格納されてもよい。
【0174】
画像生成プロセッサ3310は、所望の仮想コンテンツと関連付けられた光を投影する、光源3320と、1つ以上の空間光変調器3340とに動作可能に結合される。光源3320は、コンパクトであって、高分解能を有する。光源3320は、コントローラ3330に動作可能に結合される。光源3320は、種々の幾何学的構成に配置される、色特有のLEDおよびレーザを含んでもよい。代替として、光源3320は、同様の色のLEDまたはレーザを含んでもよく、それぞれ1つが、ディスプレイの視野の具体的領域にリンクされる。別の実施形態では、光源3320は、放出エリアおよび位置のセグメント化のためのマスクオーバーレイを伴う、白熱灯または蛍光灯等の広域エミッタを含んでもよい。光源3320は、図2Bでは、直接、システム3300に接続されるが、光源3320は、光ファイバ(図示せず)を介して、システム3300に接続されてもよい。システム3300はまた、光源3320からの光をコリメートするように構成される、集光器(図示せず)を含んでもよい。
【0175】
SLM3340は、種々の例示的実施形態では、反射性(例えば、LCOS、FLCOS、DLP DMD、またはMEMSミラーシステム)、透過性(例えば、LCD)、または発光性(例えば、FSDまたはOLED)であってもよい。SLM3340のタイプ(例えば、速度、サイズ等)は、3D知覚の作成を改良するように選択されることができる。より高いリフレッシュレートで動作するDLP DMDは、定常システム3300の中に容易に組み込まれ得るが、ウェアラブルシステム3300は、より小さいサイズおよび電力のDLPを使用し得る。DLPの電力は、3D深度平面/焦点面が作成される方法を変化させる。画像生成プロセッサ3310は、SLM3340に動作可能に結合され、これは、光源3320からの光を所望の仮想コンテンツでエンコードする。光源3320からの光は、SLM3340から反射する、そこから放出される、またはそれを通して通過するとき、画像情報でエンコードされてもよい。
【0176】
SLM3340からの光は、SLM3340によって1つの深度平面および/または色のための画像データでエンコードされた光ビームが、ユーザの眼への送達のために、単一LOE3390に沿って効果的に伝搬されるように、LOE3390に指向される。各LOE3390は、所望の深度平面またはFOV角度位置からユーザの網膜上に生じるように現れる、画像またはサブ画像を投影するように構成される。光源3320およびLOE3390は、したがって、空間内の種々の深度平面または位置から生じるように現れる、(コントローラ3330の制御下、SLM3340によって同期してエンコードされる)画像を選択的に投影することができる。光源3320およびLOE3390のそれぞれを使用して、十分に高フレームレート(例えば、60Hzの事実上フルボリュームのフレームレートにおける6つの深度平面に関して360Hz)において、画像を連続して投影させることによって、システム3300は、3D画像内に同時に存在するように現れる、仮想オブジェクトの3D画像を種々の深度平面に生成することができる。
【0177】
コントローラ3330は、画像生成プロセッサ3310、光源3320、およびSLM3340と通信し、それに動作可能に結合され、SLM3340に、光源3320からの光ビームを画像生成プロセッサ3310からの適切な画像情報でエンコードするように命令することによって、画像の同期表示を協調させる。
【0178】
システム3300はまた、ユーザの眼を追跡し、ユーザの焦点を決定するように構成される、随意の眼追跡サブシステム3350を含む。一実施形態では、システム3300は、画像がユーザの焦点/遠近調節と一致する所望の深度平面に生成されるように、眼追跡サブシステム3350からの入力に基づいて、LOE3390のサブセットを照明するように構成される。例えば、ユーザの眼が、相互に平行である場合、システム3300は、画像が光学無限遠から生じるように現れるように、コリメートされた光をユーザの眼に送達するように構成される、LOE3390を照明してもよい。別の実施例では、眼追跡サブシステム3350が、ユーザの焦点が1メートル離れていることを決定する場合、ほぼその範囲内に集束するように構成される、LOE3390が、代わりに照明されてもよい。
【0179】
図2Cは、一実施形態による、複合現実頭部搭載型ディスプレイ3400を描写する。複合現実頭部搭載型ディスプレイ3400は、複合現実システム(例えば、図2Aおよび2Bに描写されるARまたはMRシステム)の一部を形成してもよい。複合現実頭部搭載型ディスプレイ3400は、フレーム3402を含み、そこに他のコンポーネントが固着され、一対の眼鏡またはゴーグルに類似する形状因子をもたらす。ディスプレイ3400はまた、つる/パッド3404と、前額スペーサ3406と、鼻あて3408とを含み、これらは全て、ディスプレイ3400をユーザの頭部上に快適に維持するためのフレーム3402との機能である。フレーム3402、つるアーム/パッド3404、前額スペーサ3406、および鼻あて3408は全て、ディスプレイ3400の全体的形状因子がユーザの頭部サイズおよび形状に共形化するように修正され得るように、モジュール式であって、種々のサイズで利用可能である。
【0180】
例えば、あるユーザは、より長くかつより幅の狭い頭部を有し得る一方、他のユーザは、より短くかつより幅の広い頭部を有し得る。前者のユーザに関して、つるアーム/パッド3404は、ユーザの頭部に向かってより緩慢にテーパ状になり、より長くかつより幅の狭い頭部に適応し得る。後者のユーザに関して、つるアーム/パッド3404は、ユーザの頭部に向かってより急峻にテーパ状になり、より短くかつより幅の広い頭部に適応し得る。同様に、複数(例えば、3つ)の前額スペーサ3406および鼻あて3408が存在し、ユーザの頭部上へのディスプレイ3400の嵌合を最適化してもよい。つるアーム/パッド3404、前額スペーサ3406、および鼻あて3408は、シリコーンオーバーモールドの内側に制御可能/可鍛性合金を含み、わずかな嵌合調節を促進し得る。つるアーム/パッド3404は、ユーザの頭部の側面における快適な接触のために、シリコーン内側表面を伴う、プラスチックパディングを含んでもよい。
【0181】
フレーム3402はまた、種々のユーザの頭部に適応するために、種々のサイズで生じることができる。フレーム3402は、アルミニウムから作製されてもよく、これは、種々の表面処理を促進し、ディスプレイ3400を個人化する。例示的表面処理として、限定ではないが、陽極酸化、着色、塗装、および印刷が挙げられる。表面処理を使用して、ディスプレイ3400は、ユーザの嗜好および美感に合わせてカスタマイズされることができる。
【0182】
ディスプレイ3400はまた、一対のプロジェクタ/SLM3410を含み、画像データでエンコードされた光をユーザに表示する。ディスプレイ3400はさらに、一対の光学アセンブリ3412を含み、個別のプロジェクタ/SLM3410からの光をユーザの眼に誘導する。プロジェクタ/SLM3410および光学アセンブリ3412の実施例は、上記に説明されている。さらに、ディスプレイ3400は、一対の外部レンズ3414を含み、これは、審美的であって、色付けされ、および/または衝撃耐性であってもよい。審美的観点から、外部レンズ3414は、ディスプレイ3400のよりすっきりした外観のために、外部レンズ3414の背後のシステムコンポーネントを目立たなくすることができる。色付けに関して、外部レンズ3414は、50%~70%透明度を有し、仮想オブジェクトおよび実世界物理的オブジェクトの両方からの光を伴うAR体験を最適化してもよい。
【0183】
ディスプレイ3400はまた、正面バンド3416と、システムコンポーネントを保護しながら、外部レンズ3414の周囲にディスプレイ3400の連続的正面を形成するためのセンサカバー3418とを含む。ディスプレイ3400はさらに、システムコンポーネントを保護しながら、ユーザの顔に隣接するディスプレイ3400のための保護内側表面を形成する、一対の内側カバー3422を含む。さらに、ディスプレイ3400は、1つ以上の随意の処方箋レンズ3422を含み、矯正レンズを要求するユーザに適応してもよい。
【0184】
ディスプレイ3400は、フレーム3402に隣接して配置される、一連のセンサを含む。一対の眼追跡カメラ3424が、外部レンズ3414に隣接して配置される。3つの正面に面したカメラ3426が、フレーム3402の上部に隣接して配置される。慣性測定ユニット(「IMU」)3428もまた、フレーム3402の上部に隣接して配置される。IMU3428は、1つ以上の加速度計、ジャイロスコープ、および磁力計を含んでもよい。IMU3428は、6自由度の力、角度変化、および/または磁場変化を測定し得る。一対のマイクロホン3430が、つるアーム/パッド3404に隣接して配置される。
【0185】
ディスプレイ3400はまた、つるアーム/パッド3404に隣接して配置される、一対のスピーカ3432を含む。例示的スピーカは、米国仮特許出願第62/369,561号(弁理士整理番号第ML.30041.00号)(その内容は、全体として記載される場合と同様に、参照することによって明示的かつ完全にその全体として本明細書に組み込まれる)に説明される。米国仮特許出願第62/369,561号に説明されるように、スピーカ3432は、ユーザの選好に合わせて置換および/または修正され得るように、モジュール式であってもよい。さらに、つるアーム/パッド3404に隣接するスピーカ3432の場所は、ディスプレイ3400が、スピーカ3432の代わりに、またはそれに加え、遮音ヘッドホン(図示せず)と併用されることを可能にする。
【0186】
ディスプレイ3400はさらに、フレーム3402の正面の中心に隣接して配置される、中心印刷回路基板3434を含む。さらに、ディスプレイ3400は、一対のケーブル3436を含み、その中に含有されるモバイルコンピューティングサポートシステム(図2D参照)プロセッサとの通信を促進する。ケーブル3436はまた、電力をモバイルコンピューティングサポートシステムからディスプレイ3400に送達することができる。ケーブル3436は、ケーブル3436が、光または閃光を種々の色および/またはパターンで放出し、データの伝送、電力の伝送、および/またはAR体験の表示等、ARまたはMRシステムのある機能を示すことを可能にする、統合された光源(例えば、小LEDまたは光ファイバ)を含むことができる。
【0187】
図2Dは、一実施形態による、モバイルコンピューティングサポートシステム3500を描写する。モバイルコンピューティングサポートシステム3500は、複合現実システム(例えば、図2Aに描写されるARまたはMRシステム)の一部を形成してもよい。例えば、一実施形態では、モバイルコンピューティングサポートシステム3500は、図2Cに描写される複合現実頭部搭載型ディスプレイ3400に動作可能に結合されてもよい。モバイルコンピューティングサポートシステム3500は、コネクタ3506によって、長楕円(すなわち、「丸薬形状」)部分3504に接続される、円形部分3502を含む。円形部分3502は、プロセッサ等のコンピューティングコンポーネントを格納してもよい。長楕円部分3504は、モバイルコンピューティングサポートシステム3500、いくつかの実施形態では、複合現実頭部搭載型ディスプレイ3400を含む、複合現実システム全体に給電する、バッテリを格納する。したがって、バッテリおよび長楕円部分3504は、実質的量の熱を生成し得る。
【0188】
コネクタ3506は、円形部分3502を長楕円部分3504から分離し、空間3508をその間に作成する。空間3508は、円形部分3502を長楕円部分3504から断熱する。空間3508はまた、モバイルコンピューティングサポートシステム3500が、長楕円部分3504をポケットの中に挿入し、円形部分3502をポケットの外側に残し、それによって、ポケットを形成する生地を空間3508内に固着することによって、衣類上のポケット(例えば、ズボンの後ポケット)に移動可能に固着され得るように構成される。代替として、モバイルコンピューティングサポートシステム3500は、ストラップ上でユーザの頸部の周囲に装着されることができる。
【0189】
モバイルコンピューティングサポートシステム3500は、そのディスク部分3502の正面表面上に配置される、電源ボタン3510と、LED光3512とを含む。モバイルコンピューティングサポートシステム3500はまた、そのディスク部分3502の上部表面から延在する、データケーブル3514を含む。一実施形態では、データケーブル3514は、2つに分割し、図2Cに描写される複合現実頭部搭載型ディスプレイ3400に取り付けられる、対のケーブル3436を形成する。したがって、データケーブル3514は、光または閃光を種々の色および/またはパターンで放出し、データの伝送、電力の伝送、および/またはAR体験の表示等、ARまたはMRシステムのある機能を示してもよい。円形部分3502の形状は、データケーブル3514を円形部分3502の円周の周囲に巻着させることによって、データケーブル3514の収納を促進する。これはさらに、円形部分3502の円周の周囲の溝(図示せず)の含有によって促進されることができる。
【0190】
モバイルコンピューティングサポートシステム3500はまた、そのディスク部分3502の左(空気入口3516および空気排出口3518)および右(空気入口3516)表面上に配置される、2つの空気入口3516と、空気排出口3518とを含む。モバイルコンピューティングサポートシステム3500はさらに、そのディスク部分3502の左表面上に配置される、制御ボタン3520(例えば、消音、音量アップ、および音量ダウン)を含む。さらに、モバイルコンピューティングサポートシステム3500は、そのディスク部分3502の左表面上に配置される、ヘッドホンジャック3522を含む。本ジャック3522は、複合現実頭部搭載型ディスプレイ3400上のスピーカ3432と併用され得る、ARまたはMRシステムへのヘッドホンの接続を促進する。加えて、モバイルコンピューティングサポートシステム3500は、その底部表面上に配置される、ポート3524を含む。一実施形態では、ポート3524は、データおよび電力を伝送するためのUSBポートである。
【0191】
図2Dは、分解図として図2Cに描写される、モバイルコンピューティングサポートシステム3500を描写する。図2Eは、円形部分3502および長楕円部分3504がそれぞれ、正面に面した審美的カバーを含むことを示す。電源ボタン3510は、円形部分3502の審美的カバーを通して延在する。LED光3512は、円形部分3502の審美的カバーを通して可視である。
【0192】
図2Fは、一実施形態による、トーテムコントローラ3600を描写する。トーテムコントローラ3600は、複合現実システム(例えば、図2Aおよび2Bに描写されるARまたはMRシステム)の一部を形成してもよい。例えば、一実施形態では、トーテムコントローラ3600は、図2C-2Eに描写される複合現実頭部搭載型ディスプレイ3400およびモバイルコンピューティングサポートシステム3500に動作可能に結合されてもよい。トーテムコントローラ3600は、その上部表面上に配置され、ユーザの親指による操作のために構成される、円形タッチパッド3602を含む。円形タッチパッド3602は、タッチパッド3602のXおよびY軸における運動および下向き押下を記録するように構成される、容量タッチパッドであってもよい。円形タッチパッド3602は、タッチに対して軟質であるように、ポリマーコーティングを含むことができる。トーテムコントローラ3600はまた、種々の他の制御表面3604(例えば、ボタン、トリガ等)を含む。円形タッチパッド3602および制御表面3604は、ユーザが、AR体験、生産性アプリケーション、およびゲーム用アプリケーションを含む、種々のプログラムと相互作用することを可能にする。トーテムコントローラ3600はまた、IMUおよびLED光を含んでもよい(例えば、円形タッチパッド3602の周囲に)。
【0193】
いくつかの実施形態では、複合現実頭部搭載型ディスプレイ3400、図2C-2Fに描写されるモバイルコンピューティングサポートシステム3500、およびトーテムコントローラ3600は、ユーザが複合現実体験を体験し、それと相互作用するための複合現実システムを形成する。1つのそのような実施形態では、複合現実頭部搭載型ディスプレイ3400、モバイルコンピューティングサポートシステム3500、トーテムコントローラ3600、およびこれらのコンポーネントを接続するケーブルは全て、色、タイミング、およびパターンの観点から同期され、複合現実システムの種々の状態および複合現実システムによって実施される機能を示す、LED光(例えば、トーテムコントローラ3600内のRGBにおける12のLED光)を含む。LED光によって示され得る、状態および機能の実施例は、通知、較正、および電力ステータスを含む。
【0194】
例示的複合現実システムが、図2C-2Fに描写される、複合現実頭部搭載型ディスプレイ3400と、モバイルコンピューティングサポートシステム3500と、トーテムコントローラ3600とを含むように説明されたが、他の複合現実システムは、より少ない、より多い、異なるシステムコンポーネントを含んでもよい。例えば、一実施形態では、複合現実頭部搭載型ディスプレイ3400と、モバイルコンピューティングサポートシステム3500と、トーテムコントローラ3600とを有する、複合現実システムを装着している、ユーザが、互換性があるサーバまたは基地局(図示せず)を含む、部屋の中に歩いて行くと、複合現実システムは、自動的に、またはユーザ入力に応じて、複合現実システムのコンポーネントとして追加されるように、サーバまたは基地局に接続し得る。
【0195】
他の実施形態では、複合現実頭部搭載型ディスプレイ3400と、モバイルコンピューティングサポートシステム3500と、トーテムコントローラ3600とを有する、複合現実システムを装着している、ユーザが、互換性があるサーバまたは基地局(図示せず)を含む、部屋の中に歩いて行くと、複合現実システムは、自動的に、またはユーザ入力に応じて、モバイルコンピューティングサポートシステム3500から接続解除し、電源を切り、そのサーバまたは基地局に接続してもよい。そのような実施形態では、サーバまたは基地局は、モバイルコンピューティングサポートシステム3500に取って代わり、その電力を節約する。それらの実施形態では、複合現実頭部搭載型ディスプレイ3400およびトーテムコントローラ3600は、電力をサーバまたは基地局から引き出すことを可能にする、個々の電源またはケーブルを有する。
【0196】
さらに他の実施形態では、キーボードが、複合現実頭部搭載型ディスプレイ3400に接続され、モバイルコンピューティングサポートシステム3500およびトーテムコントローラ3600の両方に取って代わってもよい。これらおよび他のシステム構成も、本開示の範囲内に含まれる。
【0197】
図2Gは、VR/AR/MRシステムを実装するために遠位に位置するコンポーネントを含む、VR/AR/MRシステム80(例えば、図2Aに描写されるものに類似するシステム80のため)のブロック図である。オプションとして、VR/AR/MRシステム80の1つ以上の変形例またはその任意の側面が、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。VR/AR/MRシステム80またはその任意の側面は、任意の環境内に実装されてもよい。
【0198】
図2Gに示される実施形態は、単に、一実施例である。示されるように、VR/AR/MRシステム80のブロック図は、内蔵知覚プロセッサまたはコンピュータビジョンプロセッサ(「CVPU」)85を含む、HMDまたはヘッドセット(図示されるように)の形態におけるローカル処理モジュール70の具体的実装、ベルトパックの形態における遠隔処理モジュール72の具体的実装、および経路78を経由してアクセス可能な記憶装置の形態における遠隔データリポジトリ74の具体的実装を描写する。「CVPU」は、「知覚プロセッサ」と称され得、その逆も同様である。加えて、ディスプレイシステム62は、プロジェクタ65を含み、これは、順に、光源(例えば、LED/レーザモジュール)または空間光変調器(SLM)(例えば、シリコン上液晶(LCOS)モジュール)と、ディスプレイ光学(例えば、左ディスプレイ光学81および右ディスプレイ光学81)とを含み得る。例示的光源は、LEDと、レーザモジュール(例えば、レーザダイオードまたは「LD」モジュール)とを含む。
【0199】
VR/AR/MRシステム80は、概して、ベルトパック(図示されるように)(順に、画像生成プロセッサ10を含む)と、ヘッドセット(図示されるように)と、接眼レンズ(順に、プロジェクタ65を含む)とを含んでもよい。
【0200】
ベルトパックの画像生成プロセッサ10または任意の他の構成コンポーネントは、ユーザに表示されるための仮想コンテンツを生成するように構成される。画像生成プロセッサ10は、仮想コンテンツと関連付けられた画像またはビデオを、ユーザに3Dで投影され得る(例えば、プロジェクタ65のコンポーネントを使用して)フォーマットに変換してもよい。例えば、3Dコンテンツを生成する際、仮想コンテンツは、特定の画像の一部が特定の深度平面に表示される一方、その他が他の深度平面に表示されるように、フォーマットされる必要があり得る。一実施形態では、画像は全て、特定の深度平面に生成されてもよい。別の実施形態では、画像生成プロセッサは、ともに視認されると、仮想コンテンツがコヒーレントかつ快適にユーザの眼に現れるように、若干異なる画像を右および左眼に提供するようにプログラムされてもよい。
【0201】
画像生成プロセッサ10はさらに、メモリ、GPU、CPU、および画像生成および処理のための他の回路を含んでもよい。ある場合には、GPUおよびCPUは、単一チップ(例えば、既製品チップまたはカスタムチップ上システム(SOC)実装)として具現化される。他の場合では、GPUプロセッサは、ベルトパックと知覚プロセッサ/CVPUとの間で分割される。画像生成プロセッサ10は、VR/AR/MRシステム80のユーザに提示されるための所望の仮想コンテンツでプログラムされてもよい。いくつかの実施形態では、画像生成プロセッサ10は、ベルトパック以外の形態でVR/AR/MRシステム80のウェアラブルコンポーネント内に格納されてもよいことを理解されたい。いくつかの実施形態では、画像生成プロセッサ10および他の回路は、ケーブル接続または無線接続される、もしくはヘッドセットに結合される。
【0202】
プロジェクタ65内の光源は、LED、レーザコンポーネント、またはSLM/LCOSコンポーネントから形成されることができる。光源は、種々の幾何学的構成に配置される、色特有LEDおよび/またはレーザを含んでもよい。代替として、光源は、同様の色のLEDまたはレーザを含んでもよく、それぞれ1つが、ディスプレイの視野の具体的領域にリンクされる。別の実施形態では、光源は、放出エリアおよび位置のセグメント化のためのマスクオーバーレイを伴う、白熱灯または蛍光灯等の広域エミッタを含んでもよい。光源は、光ファイバを介して、システムに接続されてもよい。本システムはまた、光源からの光をコリメートするように構成される、集光器(図示せず)を含んでもよい。
【0203】
コントローラ30は、光源に画像生成プロセッサ10からの適切な画像情報を投影するように命令することによって、画像の同期表示を協調させるように、画像生成プロセッサ10およびプロジェクタ65内の光源と通信し、それに動作可能に結合される。ある場合には、VR/AR/MRシステム80はまた、ユーザの眼を追跡し、ユーザの焦点を決定するように構成される、前述の眼追跡サブシステムを含む。
【0204】
ここで示されるヘッドセットを参照すると、ヘッドセットは、種々の変換器とインターフェースをとるように構成される、CVPU85を含んでもよい。例えば、CVPU85は、オーディオまたは発話信号をマイクロホンまたは専用音もしくは発話プロセッサから受信することができる。さらにCVPU85は、示されるスピーカ(またはイヤホン)を通して、オーディオまたは発話信号を生産することができる。ある場合には、CVPU85は、前述の眼追跡サブシステムとインターフェースがとられ、および/またはCVPU85は、ユーザ頭部および/または身体移動を追跡するように、1つ以上の加速度計および/または他の形態の慣性測定デバイスとインターフェースがとられる。CVPU85は、同時に受信された変換器入力を組み合わせ、ユーザの姿勢(例えば、頭部姿勢、眼姿勢、胴体姿勢等)の査定をまとめることができる。CVPU85は、同時に受信された変換器入力を組み合わせ、ユーザの姿勢の変化する特性(例えば、方向転換、起立、歩行、走行、手による信号伝達等)に関する時間毎の予測を含む、ユーザの姿勢の査定をまとめることができる。CVPU85はさらに、(1)グラフィック/画像処理、(2)発話処理(例えば、音素または単語検出)、(3)通信(例えば、信号伝達および/またはパケットベースの通信等)、ならびに(4)所与または測定された入力に基づく値の計算等の一般的コンピューティングを実施することが可能である。
【0205】
ヘッドセットは、構成コンポーネントの種々のパーティション化を使用して実装されることができる。1つのそのようなパーティション化は、構成コンポーネントのうちのいくつか間のデータフローを含む、以下の図に与えられる。
【0206】
図2Hは、VR/AR/MRシステム80内にヘッドセットを実装するために使用される、コンポーネントの配列を描写する。オプションとして、配列、またはコンポーネント、もしくはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。
【0207】
図2Hに示される実施形態は、単に、一実施例である。示されるように、コンポーネントの配列は、ローカル処理モジュールから生じ、次いで、遠隔処理モジュールに送達される、感知データ(例えば、加速度計から)を含む、データフローをサポートする。遠隔処理モジュールのCPUおよび/またはGPUを使用した処理後、深度および他の空間情報を含む、画像情報等のVR/AR/MRデータは、可能性として、プロジェクタ(例えば、示されるプロジェクタ)を使用して、ユーザへの表示のために、ローカル処理モジュールの構成コンポーネントに送達される。示されるフローはさらに、電力消費を低下させる、待ち時間を低下させる、通信オーバーヘッドを低下させる等に関する目的を果たす、ある代替フローおよびコンポーネント配列とともに、本明細書で議論される。
【0208】
図3は、3次元画像データをユーザ(例えば、ユーザ60)にシミュレートするための従来のディスプレイシステムを図示する。眼4および5毎に1つの2つの明確に異なる画像84および86が、ユーザに出力される。画像84および86は、ユーザ60の視線と平行な光学またはz-軸に沿って、距離12だけ眼4および5から離間される。画像84および86は、平坦であって、眼4および5は、単一遠近調節状態をとることによって、画像上に合焦し得る。そのようなシステムは、ヒト視覚系に依拠し、画像84および86を組み合わせ、組み合わせられた画像のための深度の知覚を提供する。
【0209】
しかしながら、ヒト視覚系は、より複雑であって、深度の現実的知覚の提供は、より困難であることを理解されるであろう。例えば、従来の3Dディスプレイシステムの多くのユーザは、そのようなシステムを不快であると見出す、または深度の感覚を全く知覚しない場合がある。理論によって限定されるわけではないが、オブジェクトを視認するユーザは、輻輳・開散運動(vergence)と遠近調節(accmmodation)の組み合わせに起因して、オブジェクトを「3次元」として知覚し得ると考えられる。相互に対する2つの眼の輻輳・開散運動移動(すなわち、瞳孔が、相互に向かって、またはそこから離れるように移動し、眼の視線を収束させ、オブジェクトを固視するような瞳孔の回転)は、眼の水晶体の合焦(または「遠近調節」)と緊密に関連付けられる。通常条件下、焦点を1つのオブジェクトから異なる距離における別のオブジェクトに変化させるための眼のレンズの焦点の変化または眼の遠近調節は、「遠近調節-輻輳・開散運動反射」として知られる関係下、輻輳・開散運動の整合変化を自動的に同一距離に生じさせるであろう。同様に、輻輳・開散運動の変化は、通常条件下、遠近調節の整合変化を誘起するであろう。本明細書に記載されるように、多くの立体視ディスプレイシステムは、3次元視点がヒト視覚系によって知覚されるように、若干異なる提示(したがって、若干異なる画像)を使用して、場面を各眼に表示する。そのようなシステムは、単に、場面の異なる提示を提供するが、眼が全ての画像情報を単一遠近調節状態で視認する状態では、「遠近調節-輻輳・開散運動反射」に反発するため、多くの視認者にとって不快である。遠近調節と輻輳・開散運動との間のより良好な整合を提供する、システムは、3次元画像データのより現実的かつ快適なシミュレーションを形成し得る。
【0210】
例えば、ライトフィールドビデオデータは、3次元ビューをシミュレートするためにユーザに提示されることができる。ライトフィールドビデオデータは、実世界環境内のユーザ60の眼に進入する、光線を模倣することができる。例えば、ライトフィールドビデオデータを表示するとき、ある距離において知覚されるためにシミュレートされる、オブジェクトからの光線は、ユーザの眼に進入するとき、よりコリメートされるようにされる一方、知覚された近傍で知覚されるためにシミュレートされる、オブジェクトからの光線は、より発散されるようにされる。したがって、場面内のオブジェクトからの光線がユーザの眼に進入する角度は、視認者からのそれらのオブジェクトのシミュレートされた距離に依存する。VR/AR/MRシステム内のライトフィールドビデオデータは、異なる深度平面からの場面またはオブジェクトの複数の画像を含むことができる。画像は、深度平面毎に異なってもよく(例えば、1つの深度平面は、場面の前景に対応する画像を含んでもよい一方、別の深度平面は、場面の背景に対応する画像を含んでもよい)、視認者の眼によって別個に合焦され、それによって、ユーザに深度の快適な知覚を提供することに役立ち得る。
【0211】
これらの複数の深度平面画像が、視認者に、同時に、または高速で連続して提示されると、結果は、視認者によって、3次元画像として解釈される。視認者が、本タイプのライトフィールドビデオデータを体験するとき、眼は、実世界場面を体験するときのほぼ同様に、異なる深度平面に合焦するように遠近調節する。これらの焦点キューは、より現実的シミュレートされた3次元環境を提供することができる。
【0212】
いくつかの構成では、各深度平面において、フルカラー画像が、それぞれ、特定の原色を有する、構成画像をオーバーレイすることによって形成されてもよい。例えば、赤色、緑色、および青カラー画像がそれぞれ、別個に出力され、各フルカラー深度平面画像を形成してもよい。その結果、各深度平面は、それと関連付けられた複数の原色画像を有してもよい。
【0213】
図4は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図示する。z-軸上の眼4および5から種々の距離におけるオブジェクトは、それらのオブジェクトが合焦するように、眼(4、5)によって遠近調節される。眼4および5は、特定の遠近調節状態をとり、オブジェクトをz-軸に沿って異なる距離に合焦させる。その結果、特定の遠近調節状態は、眼がその深度平面のための遠近調節状態にあるとき、特定の深度平面内のオブジェクトまたはオブジェクトの一部が合焦するように、深度平面14の特定のうちの1つと関連付けられると言え得る。いくつかの実施形態では、3次元画像データは、眼(4、5)毎に画像の異なる提示を提供することによって、また、深度平面のそれぞれに対応する画像の異なる提示を提供することによって、シミュレートされてもよい。
【0214】
オブジェクトと眼(4または5)との間の距離もまた、その眼によって視認されるように、オブジェクトからの光の発射量を変化させ得る。図5A-5Cは、距離と光線の発散との間の関係を図示する。オブジェクトと眼4との間の距離は、減少距離R1、R2、およびR3の順序で表される。図5A-5Cに示されるように、光線は、眼4からオブジェクトまでの距離が減少するにつれてより発散する。眼4からオブジェクトまでの距離が増加するにつれて、光線は、よりコリメートされる。換言すると、点(オブジェクトまたはオブジェクトの一部)によって生成されるライトフィールドは、点がユーザの眼4から離れている距離の関数である、球状波面曲率を有すると言え得る。曲率が増加すると、オブジェクトと眼4の間の距離が減少する。その結果、異なる深度平面では、光線の発散の程度もまたは、異なり、発散の程度は、深度平面と視認者の眼4との間の距離の減少に伴って増加する。単眼4のみが、図5A-5Cおよび本明細書における他の図では、例証を明確にするために図示されるが、眼4に関する議論は、視認者の両眼(4および6)に適用され得ることを理解されるであろう。
【0215】
理論によって限定されるわけではないが、ヒトの眼は、典型的には、有限数の深度平面を解釈し、深度知覚を提供することができると考えられる。その結果、知覚された深度の高度に真実味のあるシミュレーションが、眼にこれらの限定数の深度平面のそれぞれに対応する画像の異なる提示を提供することによって達成され得る。
【0216】
図6は、画像データをユーザに(例えば、ユーザ60)に出力するための導波管スタックの実施例を図示する。ディスプレイシステム1000は、1つ以上の導波管(182、184、186、188、190)を使用して3次元知覚を眼/脳に提供するために利用され得る、導波管のスタックまたはスタックされた導波管アセンブリ178を含む。いくつかの実施形態では、ディスプレイシステム1000は、図2Aのシステム80であって、図6は、そのシステム80のいくつかの部分をより詳細に図式的に示す。例えば、スタックされた導波管アセンブリ178は、図2Aのディスプレイ62の中に統合されてもよい。
【0217】
スタックされた導波管アセンブリ178はまた、1つ以上の特徴(198、196、194、192)を導波管間に含んでもよい。いくつかの実施形態では、特徴(198、196、194、192)は、レンズであってもよい。導波管(182、184、186、188、190)および/またはレンズ(198、196、194、192)は、種々のレベルの波面曲率または光線発散を用いて画像情報を眼に送信するように構成されてもよい。各導波管レベルは、特定の深度平面と関連付けられてもよく、その深度平面に対応する画像情報を出力するように構成されてもよい。画像投入デバイス(200、202、204、206、208)は、画像データを導波管(182、184、186、188、190)の中に投入するために利用されてもよく、それぞれ、本明細書に説明されるように、眼4に向かって出力のために各個別の導波管を横断して入射光を分散させるように構成されてもよい。光は、画像投入デバイス(200、202、204、206、208)の出力表面(300、302、304、306、308)から出射し、導波管(182、184、186、188、190)の対応する入力縁(382、384、386、388、390)の中に投入される。いくつかの実施形態では、光の単一ビーム(例えば、コリメートされたビーム)が、各導波管の中に投入され、クローン化されたコリメートビームの全体場を出力してもよく、これは、特定の導波管と関連付けられた深度平面に対応する特定の角度(および発散量)において眼4に向かって指向される。
【0218】
いくつかの実施形態では、画像投入デバイス(200、202、204、206、208)は、それぞれ、対応する導波管(それぞれ、182、184、186、188、190)の中への投入のために画像データを生産する、離散ディスプレイである。いくつかの他の実施形態では、画像投入デバイス(200、202、204、206、208)は、画像情報を1つ以上の光学導管(光ファイバケーブル等)を介して画像投入デバイス(200、202、204、206、208)のそれぞれに送り得る、単一の多重化されたディスプレイの出力端である。
【0219】
コントローラ210は、スタックされた導波管アセンブリ178および画像投入デバイス(200、202、204、206、208)の動作を制御する。いくつかの実施形態では、コントローラ210は、本明細書に開示される種々のスキームのいずれかに従って、導波管(182、184、186、188、190)への画像データのタイミングおよび提供を調整する、プログラミング(例えば、非一過性媒体内の命令)を含む。いくつかの実施形態では、コントローラ210は、単一一体型デバイスまたは有線もしくは無線通信チャネルによって接続される分散型システムであってもよい。コントローラ210は、いくつかの実施形態では、処理モジュール(例えば、図2Aのローカル処理およびデータモジュール70および/または遠隔処理モジュール72)の一部であってもよい。
【0220】
導波管(182、184、186、188、190)は、全内部反射(TIR)によって各個別の導波管内で光を伝搬するように構成されてもよい。導波管(182、184、186、188、190)はそれぞれ、主要な上部および底部表面ならびにそれらの主要上部表面と底部表面との間に延在する縁を伴う、平面または湾曲であってもよい。図示される構成では、導波管(182、184、186、188、190)はそれぞれ、各個別の導波管内で伝搬する光を導波管から再指向し、画像データを眼4に出力するように構成される、光再指向要素(282、284、286、288、290)を含んでもよい。光のビームは、導波管によって、導波管内を伝搬する光が光抽出光学要素に衝打する場所において出力される。光再指向要素(282、284、286、288、290)は、反射および/または回折光学特徴であってもよい。説明の容易性および図面の明確性のために、導波管(182、184、186、188、190)の底部主要表面に配置されて図示されるが、いくつかの実施形態では、光再指向要素(282、284、286、288、290)は、上部および/または底部主要表面に配置されてもよい、ならびに/もしくは導波管(182、184、186、188、190)の体積内に直接配置されてもよい。いくつかの実施形態では、光再指向要素(282、284、286、288、290)は、透明基板に取り付けられ、導波管(182、184、186、188、190)を形成する、材料の層内に形成されてもよい。いくつかの他の実施形態では、導波管(182、184、186、188、190)は、材料のモノリシック部品であってもよく、光再指向要素(282、284、286、288、290)は、材料のその部品の表面上および/またはその内部に形成されてもよい。
【0221】
本明細書に議論されるように、各導波管(182、184、186、188、190)は、光を出力し、特定の深度平面に対応する画像を形成するように構成される。例えば、眼4の最近傍の導波管182は、そのような導波管182の中に投入されるにつれて、コリメートされた光を眼4に送達するように構成されてもよい。コリメートされた光は、光学無限遠焦点面を表し得る。次の上方の導波管184は、眼4に到達し得る前に、第1のレンズ192(例えば、負のレンズ)を通して通過する、コリメートされた光を送出するように構成されてもよい。第1のレンズ192は、眼/脳が、その次の上方の導波管184から生じる光を光学無限遠から眼4に向かって内向きにより近い第1の焦点面から生じるように解釈するように、若干の凸面波面曲率を生成するように構成されてもよい。同様に、第3の上方の導波管186は、眼4に到達する前に、その出力光を第1の192および第2の194レンズの両方を通して通過させる。第1の192および第2の194レンズの組み合わせられた屈折力は、眼/脳が、第3の導波管186から生じる光が次の上方の導波管184からの光であった光学無限遠からユーザに向かって内向きにさらに近い第2の焦点面から生じるように解釈するように、別の漸増量の波面曲率を生成するように構成されてもよい。
【0222】
他の導波管(188、190)およびレンズ(196、198)も同様に構成され、スタック内の最高導波管190は、ユーザに最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ178の他側の世界144から生じる光を視認/解釈するとき、レンズ(198、196、194、192)のスタックを補償するために、補償レンズ層180は、スタックされた導波管アセンブリ178の上部に配置され、下方のレンズスタック(198、196、194、192)の集約力を補償してもよい。そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管の光再指向要素およびレンズの集束側面は両方とも、静的であってもよい(すなわち、動的または電気活性ではない)。いくつかの代替実施形態では、それらは、電気活性特徴を使用して動的であってもよい。
【0223】
光再指向要素(282、284、286、288、290)は、導波管と関連付けられた特定の深度平面のために、光をその個別の導波管から再指向し、かつ本光を適切な量の発散またはコリメーションを伴って出力するように構成されてもよい。その結果、異なる関連付けられた深度平面を有する導波管は、光再指向要素(282、284、286、288、290)の異なる構成を有してもよく、これは、関連付けられた深度平面に応じて、異なる量の発散を伴う光を出力する。いくつかの実施形態では、本明細書に議論されるように、光再指向要素(282、284、286、288、290)は、立体または表面特徴であってもよく、これは、具体的角度で光を出力するように構成されてもよい。例えば、光再指向要素(282、284、286、288、290)は、体積ホログラム、表面ホログラム、および/または回折格子であってもよい。回折格子等の光再指向要素は、2015年3月7日に出願された米国特許出願第14/641,376号(参照することによってその全体として本明細書に組み込まれる)に説明される。いくつかの実施形態では、特徴(198、196、194、192)は、レンズではなくてもよい。むしろ、それらは、単に、スペーサ(例えば、クラッディング層および/または空隙を形成するための構造)であってもよい。
【0224】
いくつかの実施形態では、光再指向要素(282、284、286、288、290)は、回折パターンまたは「回折光学要素」(また、本明細書では、「DOE」とも称される)を形成する、回折特徴である。好ましくは、DOEは、ビームの光の一部のみがDOEの各交差点を用いて眼4に向かって偏向される一方、残りが全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像データを搬送する光は、したがって、様々な場所において導波管から出射する、いくつかの関連出射ビームに分割され、その結果、導波管内で反射する本特定のコリメートされたビームに関して、眼4に向かって非常に均一パターンの出射放出となる。
【0225】
いくつかの実施形態では、1つ以上のDOEは、能動的に回折する「オン」状態と有意に回折しない「オフ」状態との間で切替可能であってもよい。例えば、切替可能なDOEは、ポリマー分散液晶の層を備えてもよく、その中で微小液滴は、ホスト媒体中に回折パターンを備え、微小液滴の屈折率は、ホスト材料の屈折率に実質的に整合するように切り替えられてもよい(その場合、パターンは、入射光を著しく回折させない)、または微小液滴は、ホスト媒体のものに整合しない屈折率に切り替えられてもよい(その場合、パターンは、入射光を能動的に回折させる)。
【0226】
図7は、導波管によって出力された出射ビームの実施例を示す。1つの導波管が図示されるが、スタックされた導波管アセンブリ178内の他の導波管も同様に機能し得ることを理解されるであろう。光400が、導波管182の入力縁382において導波管182の中に投入され、TIRによって導波管182内を伝搬する。光400がDOE282上に衝突する点では、光の一部は、導波管から出射ビーム402として出射する。出射ビーム402は、略平行として図示されるが、本明細書に議論されるように、また、導波管182と関連付けられた深度平面に応じて、ある角度(例えば、発散出射ビーム形成)において眼4に伝搬するように再指向されてもよい。略平行出射ビームは、眼4からの大シミュレート距離(例えば、光学無限遠)における深度平面に対応する、導波管を示し得ることを理解されるであろう。他の導波管は、より発散する、出射ビームパターンを出力してもよく、これは、眼4がより近いシミュレートされた距離に合焦するように遠近調節することを要求し、光学無限遠より眼4に近い距離からの光として脳によって解釈されるであろう。
【0227】
図8は、各深度平面が、それぞれ、異なる色の光を出力する、3つの関連付けられた導波管を有する、スタックされた導波管アセンブリ(例えば、スタックされた導波管アセンブリ178)の例示的設計を図式的に図示する。フルカラー画像が、複数の原色(例えば、3つ以上の原色)のそれぞれに画像をオーバーレイすることによって、各深度平面において形成されてもよい。いくつかの実施形態では、原色は、赤色、緑色、および青色を含む。いくつかの他の実施形態では、マゼンタ色、黄色、およびシアン色を含む、他の色が、赤色、緑色、または青色と併用されてもよい、もしくはそのうちの1つと置換されてもよい。各導波管は、特定の原色を出力するように構成されてもよく、その結果、各深度平面は、それと関連付けられた複数の導波管を有してもよい。各深度平面は、それと関連付けられた3つの導波管を有してもよい。第1のものは、赤色光を出力するためのものであって、第2のものは緑色光を出力するためのものであって、第3のものは、青色光を出力するためのものである。
【0228】
深度平面14a-14fが、図8に示される。図示される実施形態では、各深度平面は、各深度平面は、第1の色Gの第1の画像、第2の色Rの第2の画像、および第3の色Bの第3の画像を含む、それと関連付けられた3つの原色画像を有してもよい。これらの文字のそれぞれに続く数字は、ジオプタ(1/m)、すなわち、視認者からの深度平面の見掛け距離の逆数を示し、図中の各ボックスは、個々の原色画像を表す。いくつかの実施形態では、Gは、緑色であって、Rは、赤色であって、Bは、青色である。前述のように、ユーザからの深度平面の知覚される距離は、光再指向要素(282、284、286、288、290)(例えば、回折光学要素(DOE)および/またはレンズ(198、196、194、192))によって確立されてもよく、これは、光を見掛け距離と関連付けられた角度において発散させる。
【0229】
いくつかの配列では、各原色画像は、導波管のスタック内の異なる導波管によって出力されてもよい。例えば、各深度平面は、それと関連付けられた3つの原色画像を有してもよい。第1の導波管は、第1の色Gを出力し、第2の導波管は、第2の色Rを出力し、第3の導波管は、第3の色Bを出力する。導波管が原色画像を出力するために使用される、配列では、図8における各ボックスは、個々の導波管を表すものと理解され得る。
【0230】
各深度平面と関連付けられた導波管は、本概略図では、説明を容易にするために、相互に隣接して示されるが、物理的デバイスでは、導波管は全て、レベル毎に1つの導波管を伴うスタックで配列されてもよいことを理解されるであろう。異なる深度平面は、文字G、R、およびBに続くジオプタに関する異なる数字によって図に示される。
【0231】
定義および図の使用
本説明で使用される用語のいくつかが、参照のために、以下に定義される。提示される用語およびその個別の定義は、これらの定義に厳密に制限されるわけではなく、用語は、本開示内の用語の使用によってさらに定義され得る。用語「例示的」は、本明細書では、実施例、インスタンス、または例証としての役割を果たすように意味するために使用される。「例示的」として本明細書に説明される任意の側面または設計は、必ずしも、他の側面または設計より好ましいまたは有利であるものとして解釈されるわけではない。むしろ、単語「例示的」の使用は、具体的方式で概念を提示することが意図される。本願および添付の請求項で使用されるようには、用語「または」は、排他的「または」ではなく、包含的「または」を意味するように意図される。すなわち、別様に規定されない限り、または文脈から明白ではない限り、「Xは、AまたはBを採用する」は、自然包含的順列のいずれかを意味するように意図される。すなわち、Xが、Aを採用する、Xは、Bを採用する、またはXが、AおよびBの両方を採用する場合、「Xは、AまたはBを採用する」は、前述のインスタンスのいずれでも満たされる。本明細書で使用されるように、「AまたはBのうちの少なくとも1つ」は、Aのうちの少なくとも1つ、またはBのうちの少なくとも1つ、またはAおよびBの両方のうちの少なくとも1つを意味する。言い換えると、本語句は、離接語である。本願および付加される実施例で使用されるような冠詞「a」および「an」は、概して、別様に規定されない限り、または単数形であるように指示されることが文脈から明白ではない限り、「1つ以上の」を意味するように解釈されるべきである。
【0232】
種々の実施形態が、図を参照して本明細書に説明される。図は、必ずしも、正確な縮尺で描かれておらず、類似構造または機能の要素は、時として、図全体を通して同様の参照文字によって表されることに留意されたい。また、図は、開示される実施形態の説明を促進するためだけに意図され、それらは、全ての可能性として考えられる実施形態の包括的取扱を表すわけではなく、それらは、請求項の範囲に関する任意の限定を課すことを意図するものではないことに留意されたい。加えて、図示される実施形態は、任意の特定の環境内における使用の全ての側面または利点を描出する必要はない。
【0233】
特定の実施形態と併せて説明される側面または利点は、必ずしも、その実施形態に限定されず、そのように図示されない場合でも、任意の他の実施形態において実践されることができる。本明細書全体を通して、「いくつかの実施形態」または「他の実施形態」の言及は、少なくとも一実施形態に含まれるように実施形態に関連して説明される、特定の特徴、構造、材料、または特性を指す。したがって、本明細書全体を通した種々の場所における語句「いくつかの実施形態では」または「他の実施形態では」の表出は、必ずしも、同一実施形態または実施形態を参照するわけではない。開示される実施形態は、請求項の限定であることを意図するものではない。
【0234】
表示タイミングスキーム
いくつかの実施形態では、VR/AR/MRシステム(例えば、システム80)は、ビデオデータの所与のフレームのための複数の異なる深度平面を連続的に表示することによって、ライトフィールドビデオデータを提供する。システム80は、次いで、ビデオデータの次のフレームを更新し、そのフレームのための複数の異なる深度平面を連続的に表示する。例えば、ビデオデータの第1のフレームは、実際には、ビデオデータの3つの別個のサブフレーム、すなわち、遠距離フレームD0と、中距離フレームD1と、近距離フレームD2とを含み得る。D0、D1、およびD2は、連続して表示されることができる。続いて、ビデオデータの第2のフレームが、表示されることができる。ビデオデータの第2のフレームも同様に、遠距離フレームと、中距離フレームと、近距離フレームとを含み得、これは、連続的に表示され、以降同様に続く。本実施例は、3つの深度平面を使用するが、ライトフィールドビデオデータは、そのように限定されない。むしろ、任意の複数の数の深度平面が、例えば、システム80の所望のビデオフレームレートおよび能力に応じて使用されることができる。
【0235】
ライトフィールドビデオデータの各フレームは、異なる深度平面のために複数のサブフレームを含むため、ライトフィールドビデオデータを提供する、システム80は、高リフレッシュレートに対応可能なディスプレイパネルから利点を享受し得る。例えば、システム80が、ビデオデータを120Hzのフレームレートで表示するが、複数の異なる深度平面からの画像データを含む場合、ディスプレイ62は、ビデオデータのフレーム毎に、画像データの複数の深度平面に適応するために、120Hzを上回るリフレッシュレートに対応可能である必要があろう。いくつかの実施形態では、シリコン上液晶(LCOS)ディスプレイパネルが、使用されるが、他のタイプのディスプレイパネルもまた、使用されることができる(カラーシーケンシャルディスプレイおよび非カラーシーケンシャルディスプレイを含む)。
【0236】
図9は、ライトフィールドビデオデータを表示する、VR/AR/MRシステムのための(例えば、システム80)例示的タイミングスキームを図示する。本実施例では、ビデオフレームレートは、120Hzであって、ライトフィールドビデオデータは、3つの深度平面を含む。いくつかの実施形態では、各フレームの緑色、赤色、および青色成分が、同時にではなく、順次、表示される。いくつかの実施形態では、赤色、緑色、および青色成分は、同一アクティブ(すなわち、「オン」)時間を有していない。いくつかの実施形態では、赤色、緑色、および青色成分のうちの1つ以上のものは、数回、フレーム内で繰り返されてもよい。
【0237】
120Hzのビデオフレームレートは、8.333msを可能にし、これは、ビデオデータの単一フレームのための深度平面の全てを表示する。図9に図示されるように、ビデオデータの各フレームは、3つの深度平面を含み、各深度平面は、緑色、赤色、および青色成分を含む。例えば、深度平面D0は、緑色サブフレームG0と、赤色サブフレームR0と、青色サブフレームB0とを含む。同様に、深度平面D1は、それぞれ、緑色、赤色、および青色サブフレームG1、R1、およびB1を含み、深度平面D2は、それぞれ、緑色、赤色、および青色サブフレームG2、R2、およびB2を含む。各ビデオフレームが、3つの深度平面を含み、各深度平面が、3つの色成分を有することを前提として、配分された8.333msは、それぞれ、0.926msの9つのセグメントに分割される。図9に図示されるように、第1の深度平面のための緑色サブフレームG0は、第1の時間セグメントの間に表示され、第1の深度平面のための赤色サブフレームR0は、第2の時間セグメントの間に表示され、以降同様に続く。ビデオのフレーム毎の総緑色オン時間は、2.778msである。同じことは、フレーム毎の総赤色オン時間および青色オン時間にも当てはまる。しかしながら、他のビデオフレームレートもまた、使用されることができ、その場合、図9に図示される具体的時間インターバルは、適宜、調節され得ることを理解されたい。個々の色成分は、等しい表示時間を有するように図示されるが、これは、要求されるものではなく、色成分間の表示時間の比率は、変動され得る。さらに、深度平面および色成分サブフレームに関して図9に図示されるフラッシング順序は、一実施例にすぎない。他のフラッシング順序もまた、使用されることができる。さらに、図9は、カラーシーケンシャルディスプレイ技術を使用する、実施形態を図示するが、本明細書に説明される技法は、カラーシーケンシャルディスプレイに限定されない。
【0238】
他のディスプレイタイミングスキームもまた、可能性として考えられる。例えば、フレームレート、深度平面の数、および色成分は、変動し得る。いくつかの実施形態では、本明細書に説明されるようなシステムのフレームレートは、80Hzであって、3つの深度平面が存在する。いくつかの実施形態では、異なる深度平面は、異なるフレームに表示されることができる。例えば、4つの深度平面を伴うライトフィールドビデオデータは、120Hzのフレームレートにおいてフレームあたり2つの深度平面を表示することによって、60Hzの有効フレームレートで表示されることができる(深度平面D0およびD1は、最初の8.33msで表示されることができ、深度平面D2およびD3は、次の8.33msで表示されることができ、完全深度情報は、60Hzの有効フレームレートのために16.7msで提供される)。いくつかの実施形態では、示される深度平面の数は、ディスプレイ上で空間的に変動し得る。例えば、より大きい数の深度平面は、ユーザ60の視線内のディスプレイのサブ部分に示されることができ、より小さい数の深度平面は、ユーザ60の周辺視覚内に位置する、ディスプレイ62のサブ部分に示されることができる。そのような実施形態では、眼追跡装置(例えば、カメラおよび眼追跡ソフトウェア)が、ユーザ60が見ているディスプレイ62の部分を決定するために使用されることができる。
【0239】
ビデオデータのための制御データ
図10は、一実施形態による、ビデオデータのフレームのための例示的フォーマットを図示し、これは、付加される制御データを含む。図10に図示されるように、各フレームは、制御データ1010と、画像データ1020とを含む。画像データ1020は、行(行0001-行0960)および列(列0000-列1279)にフォーマットされる、ピクセルデータのアレイであってもよい。図示される実施例では、画像を形成する、1280列および960行の画像データ1020が、存在する。図10はまた、制御データ1010が画像データ1020に付加され得ることを図示する。制御データ1010は、例えば、余剰行として画像データ1020に付加されることができる。いくつかの構成では、制御データ1010は、水平または垂直ブランキング時間の間に送信される、制御パケットまたはメタデータであってもよい。最初の行(行0000)は、制御データ1010を含む一方、残りの行(行0001-0960)は、画像データ1020を含む。したがって、本実施形態では、ホストは、1280×961の分解能をディスプレイコントローラに伝送し、画像データ1020は、1280×960であって、制御データは、1280×1である。
【0240】
ディスプレイコントローラは、付加された制御データ1010を読み取り、それを使用して、例えば、1つ以上のディスプレイパネル(例えば、左眼および右眼ディスプレイパネル)に送信される、画像データ1020を構成する。本実施例では、制御データ1010の行は、ディスプレイパネルに送信されない。したがって、ホストは、1280×961の分解能を用いて、制御データ1010および画像データ1020を含む、データのストリームをディスプレイコントローラに伝送するが、ディスプレイコントローラは、制御データ1010をデータのストリームから除去し、1280×960の分解能を用いて、画像データ1020のみをディスプレイパネルに伝送する。但し、他の実施形態では、制御データ1010も、ディスプレイパネルに伝送され、画像データ1020が示される方法を制御してもよい。そのような実施形態では、制御データ1010は、画像データ1020がディスプレイ上62に示されることに先立って、ディスプレイドライバによって除去されてもよい。画像データ1020は、例えば、ディスプレイシリアルインターフェース(DSI)フォーマットにおいて、ディスプレイパネル(例えば、LCOSディスプレイパネル)に伝送されることができる。
【0241】
図10は、付加される制御データ1010が、ビデオデータの各フレームの開始に付加された単一行であることを図示するが、他の量の制御データも、代替として、付加されてもよい。例えば、制御データ1010は、複数の行または部分的行であってもよい。さらに、制御データ1010は、必ずしも、各フレームの開始に付加される必要はなく、代わりに、他の場所におけるフレームの中(例えば、ブランキング時間の間)に挿入されてもよい。例えば、制御データ1010は、画像データ1020の行間に挿入されてもよい、または画像データ1020の最後に付加されてもよい。加えて、制御データ1020は、必ずしも、1つ以上の行(または部分的行)として提供される必要はなく、代わりに、画像データ1020の左側(例えば、列0000)、画像データ1020の右側(例えば、列1279)、または画像データ1020の列間に提供されるように、1つ以上の列(または部分的列)として提供されることができる。制御データ1010をフレームの開始に付加することは、コントローラが、フレームの開始における制御データ110により容易に作用することを可能にし得る一方、制御データ1010をフレームの最後に付加することは、制御データ1010が、より最新であることを可能にし得る。これらのアプローチのいずれかが、制御データ1010が関連する、特定の操作に応じて有益であり得る。
【0242】
図11は、別の実施形態による、制御データを含む、ビデオデータのフレームのための別の例示的フォーマットを図示する。図11は、ビデオデータのフレームを図示し、これは、制御データ1110と、画像データ1120とを含む。図11のフレームは、図10のフレームに類似するが、図11の制御データ1110は、図11の画像データ1120の最初の行の代わりに挿入される一方、図10の制御データ1010は、図10の画像データ1020の最初の行の前に付加される。したがって、フレームの最初の行(行0000)は、制御データ1110を含む一方、残りの行(行0001-0959)は、画像データ1120を含む。
【0243】
本実施例では、ホストは、1280×960の分解能を用いて、情報をディスプレイコントローラに伝送する。ディスプレイコントローラは、制御データ1110を使用して、ディスプレイパネルに送信される画像データ1120を構成することができる。ディスプレイコントローラは、次いで、図11に図示されるフレームをディスプレイパネルに伝送する。しかしながら、いくつかの実施形態では、フレームをディスプレイパネルに伝送する前に、ディスプレイコントローラは、例えば、画像データのその行をゼロに設定することによって、制御データ1110を除去することができる。これは、各フレームの最初の行をディスプレイ上に暗線として現れさせる。
【0244】
図11に図示されるスキームを使用して、制御データ1110は、ディスプレイコントローラに送信される情報の分解能を変化させずに、フレームとともに含まれることができる。しかしながら、本実施例におけるトレードオフは、いくつかの画像データが制御データ1110によって置換されるという事実に起因して、有効ディスプレイ分解能が減少されることである。図11は、制御データ1110が1つの行であることを示すが、他の量の制御データ1110もまた、使用されることができる。例えば、制御データ1110は、複数の行または部分的行であってもよい。さらに、図11は、制御データ1110が、画像データの最初の行の代わりに挿入されることを図示するが、制御データ1110は、代替として、フレーム内の別の行の代わりに挿入されてもよい。例えば、制御データ1110は、画像データ1120の他の行間の画像データ1120の行の代わりに挿入されてもよい、または画像データ1120の最後における行として提供されてもよい。加えて、制御データ1110は、必ずしも、1つ以上の行(または部分的行)として提供される必要はないが、代わりに、画像データ1120の左側(例えば、列0000)、画像データ1120の右側(例えば、列1279)、または画像データ1120の列間に提供される、1つ以上の列(または部分的列)として提供されることができる。
【0245】
例えば、それぞれ、図10および11(ならびに後の図12Aおよび12B)に図示される、制御データ1010および1110は、いくつかの異なる目的のために使用されることができる。例えば、制御データは、ビデオデータのフレームが左眼ビデオパネルまたは右眼ビデオパネル上に表示されるべきかどうかを示すことができる。制御データは、以下にさらに説明されるように、(実際または仮想の)画像データが対応する1つ以上の深度平面を示すことができる。制御データは、ライトフィールドビデオデータのフラッシング順序を示すことができる。例えば、制御データは、各深度平面を表示する順序ならびに深度平面毎に色成分サブフレームを表示する順序を示すことができる。
【0246】
加えて、例えば、それぞれ、図10および11に図示される、制御データ1010および1110は、例えば、それぞれ、図10および11に図示される、画像データ1020および1120に実施されるための1つ以上の画像ワーピング操作を示すために使用されることができる。画像ワーピング操作は、例えば、画像回転および/またはピクセル偏移(左/右または上/下)を含んでもよい。そのような画像ワーピング操作を実施する必要性は、ディスプレイのためのコンテンツがすでにGPUによって生成された後に生じ得る。これは、例えば、ユーザ60の頭部姿勢の変化、またはユーザ60が仮想オブジェクトもしくは場面と相互作用するために使用する、有形オブジェクト(「トーテム」と称される)の配向の変化に起因し得る。それぞれ、図10および11に図示される画像データ1020および1120を調節および再レンダリングするのではなく、制御データ1010および1110は、画像ワーピング情報を含むことができ、これは、ディスプレイコントローラによって画像データに行われるべき、ピクセル偏移または画像回転の方向および大きさを規定する。いくつかの実施形態では、制御データは、頭部姿勢データおよび/またはトーテム姿勢データを含んでもよく、これは、実施するための1つ以上の画像ワーピング操作を決定するために使用されることができる。制御データ1010および1110はさらに、時間同期データを含んでもよく、これは、頭部姿勢データおよび/またはトーテム姿勢データと実施されることになる画像ワーピング操作を同期させるために使用されることができる。内蔵制御データ1010および1110に基づく画像ワーピングは、以下にさらに説明される。
【0247】
制御データはまた、2つのステレオディスプレイのうちの一方のためのビデオデータのフレームが他方の中にコピーされるべきかどうかを示すことができる。例えば、最も離れたシミュレートされた深度平面(例えば、背景画像)の場合、比較的にわずかな差異(例えば、視差偏移に起因して)が、右および左眼画像間に存在し得る。そのような場合、制御データは、ステレオディスプレイのうちの一方のための画像が、1つ以上の深度平面のために、他方のディスプレイにコピーされることを示し得る。これは、右および左眼ディスプレイの両方のために、画像データをGPUにおいて再レンダリングする、またはデータをディスプレイコントローラに再転送することなく、遂行されることができる。比較的にわずかな差異が、右および左眼画像間に存在する場合、ピクセル偏移もまた、両眼のための画像データを再レンダリングまたは再転送することなく、補償するために使用されることができる。
【0248】
図10および11に図示される制御データはまた、ここに具体的に列挙されたものに加え、他の目的のためにも使用されることができる。
【0249】
図10および11は、制御データのための1つ以上の行が、画像データとともに含まれることができることを図示するが、制御データはまた(または代替として)、画像データの個々のピクセルに内蔵されることができる。図12Aは、画像データのピクセル1200のための例示的フォーマットを図示し、これは、内蔵制御データ1240を含む。図12Aは、ピクセル1200が、青色値1230(バイト0)と、緑色値1220(バイト1)と、赤色値1210(バイト2)とを含むことを図示する。本実施形態では、色値はそれぞれ、8ビットの色深度を有する。いくつかの実施形態では、色値のうちの1つ以上のものに対応するビットのうちの1つ以上のものは、制御データ1240によって、色値のビット深度を犠牲して置換されることができる。したがって、制御データは、ピクセル1200のための色値のダイナミックレンジを犠牲にして、直接、ピクセル1200に内蔵されることができる。例えば、図12Aに図示されるように、青色値1230のハイライトされる2つの最下位ビットは、制御データ1240として充てられる。図示されないが、他の色値のビットもまた、制御データ1240として充てられることができる。例えば、赤色値1210、緑色値1220、および青色値1230の任意の組み合わせからのビットが、制御データ1240として使用されることができる。さらに、異なる数のピクセルビットが、制御データ1240として充てられることができる。例えば、図18に関して以下に議論される一実施形態では、合計6ビット(赤色値1210、緑色値1220、および青色値1230のそれぞれ2ビット)が、制御データ1240として使用される。
【0250】
いくつかの実施形態では、ピクセル1200に内蔵される制御データ1240は、深度平面インジケータデータであることができる(但し、ピクセル1200に内蔵される制御データ1240はまた、本明細書に説明される他のタイプを含む、任意の他のタイプの制御データであることができる)。本明細書に議論されるように、ライトフィールドビデオデータは、いくつかの深度平面を含むことができる。したがって、フレーム内の1つ以上のピクセルのためのビット深度は、低減されることができ、結果として生じる利用可能なビットは、ピクセルが対応する深度平面を示すために使用されることができる。
【0251】
具体的実施例として、図12Aに図示される、24ビットRGBピクセルデータを検討する。赤色、緑色、および青色値はそれぞれ、8ビットのビット深度を有する。すでに議論されたように、色成分のうちの1つ以上のもののビット深度は、深度平面インジケータデータによって犠牲にされ、置換されることができる。例えば、眼は、青色にあまり敏感ではないため、青色成分は、8ビットの代わりに、6ビット(図12AにおけるビットB2-B7)によって表されることができる。結果として生じる余剰2ビット(ビットB0およびB1)は、ピクセル1200が対応する最大4つの深度平面を規定するために使用されることができる。より多いまたはより少ない深度平面が存在する場合、より多いまたはより少ない数の色ビットが、深度平面インジケータデータとして犠牲され、使用されることができる。例えば、ビット深度が、1ビット低減される(すなわち、深度平面インジケータデータの1ビットが提供される)場合、最大2つの深度平面が、規定されることができる。ビット深度が、3ビット低減される(すなわち、深度平面インジケータデータの3ビットが提供される)場合、最大8つの深度平面が規定されることができ、以降同様に続く。このように、色値のダイナミックレンジは、直接、画像データ自体内で深度平面インジケータデータをエンコードする能力とトレードオフされ得る。
【0252】
色深度は、ピクセル1200のビットのうちのいくつかを制御データ1240として使用することによって、低減され得るが、ディザリングも、犠牲にされる色深度の一部または全部がそのままである知覚を作成するために使用されることができる。例えば、ディザリングは、利用可能なカラーパレット内に留まる色のディザリングされたパターンを形成することによって、ピクセル1200のカラーパレット内でもはや利用可能ではない色に近似させるために使用されることができる(制御データ1240がいくつかの画像データに取って代わったことに起因して)。色のこれらのパターンは、ユーザ60によって、ピクセル1200のパレット外の色に近似し得る、色混合物として知覚される。
【0253】
いくつかの実施形態では、深度平面インジケータデータは、画像データの全てのピクセル1200においてエンコードされる。他の実施形態では、深度平面インジケータデータは、フレームあたり1つのピクセル1200、ラインあたり1つのピクセル1200、VR/AR/MRオブジェクトあたり1つのピクセル1200等でエンコードされてもよい。加えて、深度平面インジケータデータは、単に、単一色成分において、または複数の色成分においてエンコードされることができる。同様に、直接、画像データ内で深度平面インジケータデータをエンコードする技法は、カラー画像データのみに限定されない。本技法は、グレースケール画像データ等のためにも同一方法で実践されることができる。
【0254】
図12Aは、画像データ内の深度平面インジケータデータをエンコードするための1つの技法を図示する。図12Bは、彩度サブサンプリングを採用し、結果として生じる利用可能なビットを深度平面インジケータデータとして使用する、別の技法を図示する。例えば、画像データは、YCbCrフォーマットで表されることができ、Yは、輝度成分(ガンマ補正される場合とそうではない場合がある)を表し、Cbは、青色差彩度成分を表し、Crは、赤色差深度成分を表す。眼は、輝度分解能より彩度分解能に敏感ではないため、彩度情報は、画質を過度に劣化させずに、輝度情報より低い分解能が提供されることができる。いくつかの実施形態では、YCbCr4:2:2フォーマットが、使用され、Y値は、ピクセル毎に提供されるが、CbおよびCr値はそれぞれ、交互方式で1つおきのピクセルのためだけに提供される。これは、図12Bに示され、第1のピクセルは、輝度バイト1260と、青色差彩度バイト1250とから成る一方、隣接する第2のピクセルは、輝度バイト1280と、赤色差彩度バイト1270とから成る。ピクセル(度サブサンプリングの不在下)が、通常、24ビットの情報(8ビットY値、8ビットCb値、および8ビットCr値)から成る場合、彩度サブサンプリングを採用後、各ピクセルは、16ビットの情報(8ビットY値および8ビットCbまたはCr値)のみを要求するであろう。残りの8ビットは、深度平面インジケータデータとして使用されることができる。本技法によると、1280×960画像データの場合、サブフレーム毎に、画像データの1280×960×2バイトと、深度平面インジケータデータ(または他の制御データ)の1280×960×1バイトとが存在するであろう。深度平面インジケータデータは、ピクセルを適切な時間に表示されるための適切な深度平面に分離するために使用されることができる。さらに他の実施形態では、任意のデータ圧縮技法が、画像データを圧縮するために使用されることができる。圧縮の使用によって解放された帯域幅は、本明細書で議論される制御データのいずれかを提供するために使用されることができる。
【0255】
図12Aに図示されるRGB実施形態および図12Bに図示されるYCbCr4:2:2彩度サブサンプリング実施形態の両方において、深度平面インジケータデータは、システム80によってサポートされる実際の深度平面および/または本明細書でのちに議論されるような仮想深度平面を規定することができる。深度平面インジケータデータが仮想深度平面を規定する場合、これはまた、以下に議論されるように、仮想深度平面を作成するように、混成されるべき深度平面の加重を規定することができる。
【0256】
ディスプレイコントローラ内の内蔵深度平面インジケータデータの使用が、図14に図示される。しかし、最初に、単一の深度平面のみが存在するときのディスプレイコントローラの動作を示すように、図13が、背景として提供される。図13は、ビデオのフレームが順次表示され得る色成分に分離され得る方法を図示する。図13の左側のパネル1310は、120フレーム/秒(fps)ビデオの1つのフレームを含む、画像を示す。図13の右側のパネル1330によって示されるように、画像は、赤色、緑色、および青色成分に分離され、これは、1秒の1/120(8.33ms)の過程にわたって、ディスプレイコントローラによって、ディスプレイ上に連続してフラッシングされる。便宜上、図13は、色成分がそれぞれ1回フラッシングされ、色成分がそれぞれ同一の時間量にわたってアクティブであることを示す。しかしながら、色成分はそれぞれ、1回を上回ってフラッシングされ、フリッカを回避する。ヒト視覚系は、次いで、右側パネル1330に示される個々の色成分サブフレームを左側パネル1310に示されるオリジナルカラー画像の中に融合させる。図14は、各ビデオデータのフレームが複数の深度平面を含むとき、本プロセスが適合され得る方法を示す。
【0257】
図14は、ライトフィールドビデオデータのフレームが、深度平面インジケータデータを使用して、それぞれ、表示のために色成分サブフレームに分割され得る、複数の深度平面に分離され得る方法を図示する。いくつかの実施形態では、ホストが、ライトフィールドビデオデータのストリームをディスプレイコントローラに伝送する。ライトフィールドビデオデータの本ストリームは、図14の左側のパネル1410内の画像によって表される。ディスプレイコントローラは、内蔵深度平面インジケータデータ(例えば、制御データ1240の深度平面インジケータデータ)を使用して、ライトフィールドビデオデータのストリームを1つ以上のRxGxBxシーケンスに分離することができ、R0G0B0シーケンスは、第1の深度平面に対応し、R1G1B1シーケンスは、第2の深度平面に対応し、R2G2B2シーケンスは、第3の深度平面に対応する。本深度平面分離は、各ピクセル内の2つの最下位青色ビットに基づいて実施されることができる(すなわち、図12Aに示されるように)が、赤色および/または緑色および/または青色値からのビットもまた、および/または代替として、使用されることができる。結果は、3つの別個の深度平面画像を示す、図14の中央パネル1420に示される。最終的に、図14の中央パネル1420に示される3つの別個の深度平面画像はそれぞれ、その構成色成分サブフレームに分離されることができる。各深度平面の色成分サブフレームは、次いで、図14の右側のパネル1430によって図示されるように、ディスプレイに連続してフラッシングされることができる。シーケンス順序は、例えば、図14に図示されるように、R0G0B0-R1G1B1-R2G2B2、または図9に図示されるように、G0R0B0-G1R1B1-G2R2B2であることができる。
【0258】
深度平面インジケータデータは、使用するRxGxBxシーケンスの数およびシーケンスに対応するピクセルを決定するためにディスプレイコントローラによって使用されることができる。制御データはまた、ディスプレイにフラッシングされるRxGxBx色シーケンスの順序を規定するように提供されることができる。例えば、3つの深度平面(D0、D1、D2)を含む画像データの場合、個々のRxGxBxシーケンスがディスプレイパネルにフラッシングされ得る、6つの可能性として考えられる順序、すなわち、D0、D1、D2;D0、D2、D1;D1、D0、D2;D1、D2、D0;D2、D0、D1;およびD2、D1、D0がある。制御データによって規定される順序が、D0、D1、D2である場合、第1の深度平面D0に対応する深度平面インジケータデータ(例えば、青色LSBビット)「00」を伴うピクセルは、出力されることになる第1のRxGxBx色シーケンス画像として選択されることができる。第2の深度平面D1に対応する(例えば、青色LSBビット)「01」深度平面インジケータデータを伴うピクセルは、出力されることになる第2のRxGxBx色シーケンス画像として選択されることができ、以降同様に続く。
【0259】
図15は、図12Aおよび12B図12の深度平面インジケータデータが、ライトフィールドビデオデータのフレームの1つ以上の深度平面が非アクティブであることを示す、実施例を図示する。図15は、左側パネル1510によって表されるビデオデータのストリームが中央パネル1520によって表される深度平面に分離され、これが、次いで、それぞれ、右側パネル1530によって表される色成分サブフレームに分離されることを示すという点において、図14に類似する。しかしながら、図15は、単一の深度平面のみがアクティブであるものとして示されているという点で、図14と明確に異なる。
【0260】
図12Aにおける深度平面インジケータデータは、各ピクセル内の青色値の2つの最下位ビットである。これらの2つのビットは、最大4つの深度平面を規定することが可能である。しかしながら、ライトフィールドビデオデータは、4つよりも少ない深度平面を含んでもよい。例えば、前述の実施例では、ライトフィールドビデオデータは、3つのみの深度平面を含む。ビデオデータが最大数よりも少ない規定可能な深度平面を含む、そのような場合には、深度平面インジケータデータは、1つ以上の深度平面が非アクティブであることを規定することができる。例えば、前述の実施例を継続すると、ピクセル内の深度平面インジケータデータ(例えば、2つの青色LSBビット)が、「11」に設定される場合、ピクセルは、非アクティブ第4の深度平面D3に割り当てられることができる。図15に示されるように、3つのRxGxBx色シーケンスのうちの1つだけが、出力シーケンスにおいてアクティブ化され、非アクティブ深度平面は、ブランク白色フレームとして図15に示され、システム80によって、例えば、黒色画面として表示され得る。前述のように、制御データは、深度平面が表示される順序を規定するように提供されることができる。図15の中央パネル1520に示されるように、制御データは、非アクティブ深度平面D3がシーケンス内の最初および最後に示されることを規定している。したがって、シーケンス内の中央フレームのみが、実際の画像データを含み、これは、ディスプレイにフラッシングされる。(他のシーケンスもまた、使用されることができる。例えば、アクティブ深度平面は、シーケンス内で最初または最後に順序付けられ得る、またはシーケンス内で1回を上回って繰り返され得る。)
【0261】
ディスプレイコントローラが、ピクセルが非アクティブ深度平面に割り当てられることを決定すると、ディスプレイコントローラは、単に、ピクセルを無視することができ、それをディスプレイにフラッシングすることができない。加えて、制御データが深度平面が非アクティブであることを示すと、その特定の深度平面のために光をディスプレイに提供する、光源への電力は、低減(例えば、遮断)され、それによって、電力消費を低減させることができる。これは、ディスプレイドライバにおける切替電力を節約することができる。したがって、画像データの1つ以上の深度平面を非アクティブとして指定することによって、節電モードが実装されることができる。同様に、いくつかの実施形態では、制御データは、深度平面内の1つ以上のカラーフィールドが非アクティブである一方、深度平面内の1つ以上の他のカラーフィールドが、アクティブであることを示すことができる。本制御データに基づいて、ディスプレイコントローラは、非アクティブである1つまたは複数のカラーフィールドを無視し、非アクティブカラーフィールドを伴わずに1つ以上のアクティブカラーフィールドからの画像データを表示するように、ディスプレイを制御することができる。例えば、制御データが、カラーフィールドが非アクティブであることを示すとき、その特定のカラーフィールドのために光をディスプレイに提供する、光源への電力は、低減(例えば、遮断)され、それによって、電力消費を低減することができる。故に、照明をディスプレイに提供する、発光ダイオード(LED)、レーザ等の光源は、遮断される、もしくは非アクティブ深度平面および/または非アクティブカラーフィールドのためにそれらの電力を低減させることができる。
【0262】
制御パケット
上記に説明される制御パケットは、画像データ内に記憶されるが、他の実施形態では、制御パケットは、別個のメモリ場所内に記憶されてもよく、ピクセル処理パイプラインは、一時停止され、制御パケットが読み取られることを可能にしてもよい(例えば、ディスプレイによって)。制御パケットの一部は、制御パケット全体を読み取らずに、別個に読み取られてもよい。
【0263】
制御パケットは、パケットヘッダブロック、汎用入力/出力(「GPIO」)ブロック、拡大率ブロック(色あたり)、グローバルピクセル偏移ブロック(色あたり)、均一混成率ブロック(色あたり)、ローリングバッファ開始行ブロック、および専有データブロックの一部または全部を含んでもよい。ディスプレイが、パケットヘッダブロックが予期されるヘッダに合致しないことを検出する場合、ディスプレイは、誤差フラグを設定し、制御パケットの前のバージョンを使用することができる。GPIOブロックは、ディスプレイのGPIOを、制御された時間に、表示/画像データと完全同期して生じる、GPIO変化を伴う状態に変化させるように命令する。拡大率ブロックは、色(例えば、RGB)あたりの表示拡大率を制御する。グローバルピクセル偏移ブロックは、色(例えば、RGB)あたりの1つ以上の方向におけるピクセルの位置偏移を制御する。均一混成率ブロックは、各色(例えば、RGB)の混成を制御する係数を含む。ローリングバッファ開始行ブロックは、ローリングバッファ(以下に説明される)のための開始行を識別する。専有データブロックは、随意に、他のデータを記憶するために使用される。
【0264】
多深度平面画像圧縮
いくつかの実施形態では、画像圧縮技法が、深度平面の間の情報の冗長性を除去することによって画像データの量を低減させるために、複数の深度平面を横断して適用される。例えば、深度平面毎に画像データのフレーム全体を伝送するのではなく、深度平面の一部または全部が、代わりに、隣接する深度平面に対する変化の観点から表されてもよい。いくつかの実施形態では、これは、隣接する瞬間においてフレーム間において時間ベースで行われることができる。圧縮技法は、無損失であり得る、または隣接する深度平面フレームの間、もしくは所与の閾値未満である時間的に隣接するフレームの間の変化が、無視されることができ、したがって、画像データ内の低減をもたらすように、損失性であり得る。加えて、圧縮アルゴリズムは、運動ベクトルを使用して、単一深度平面(X-Y運動)内および/または深度平面(Z運動)間のオブジェクトの運動をエンコードすることができる。移動オブジェクトの画像データが経時的に繰り返し伝送されることを要求するのではなく、オブジェクトの運動は、本明細書で議論されるように、ピクセル偏移制御情報を用いて、完全または部分的に達成されることができる。
【0265】
動的に構成可能なディスプレイ描画エリア
ライトフィールドビデオデータを表示するシステムでは、ビデオフレーム毎に含まれる比較的大量の情報(例えば、それぞれ複数の色成分を伴う複数の深度平面)により、高いビデオフレームレートを達成することは困難であり得る。しかしながら、ビデオフレームレートは、特に、ARモードにおいて、図16に示されるように、コンピュータ生成されたライトフィールドビデオデータが一度にディスプレイの一部のみを占有し得ることを認識することによって、改良されることができる。
【0266】
図16は、拡張現実システムにおけるコンピュータ生成された画像のフレームのための例示的描画エリアを図示する。図16は、図1に類似するが、これは、拡張現実画像が描画されるディスプレイの部分のみを示す。この場合、拡張現実画像は、ロボット像10と、マルハナバチのキャラクタ2とを含む。ARモードにおけるディスプレイの残りのエリアは、単に、ユーザを囲繞する実世界環境のビューであってもよい。したがって、コンピュータ生成された画像をディスプレイのそれらのエリア内に描画する必要がない場合がある。多くの場合、コンピュータ生成された画像が、一度にディスプレイエリアの比較的わずかな部分のみを占有する場合があり得る。コンピュータ生成された画像が示される必要がないエリアを除外するように、フレーム毎にリフレッシュされる具体的描画エリアを動的に再構成することによって、ビデオフレームレートが、改良されることができる。
【0267】
コンピュータ生成されたAR画像は、1つ以上のピクセルとして表されてもよく、それぞれ、例えば、関連付けられた明度および色を有する。ビデオデータのフレームは、M×Nアレイのそのようなピクセルを含んでもよく、Mは、行の数を表し、Nは、列の数を表す。いくつかの実施形態では、システム80のディスプレイは、コンピュータ生成された画像を示すことに加えて、ユーザの実世界の周囲のビューを提供することが可能であるように、少なくとも部分的に透明である。コンピュータ生成された画像内の所与のピクセルの明度がゼロまたは比較的低い値に設定される場合、ユーザ60には、そのピクセル場所に実世界環境が見えるであろう。代替として、所与のピクセルの明度がより高い値に設定される場合、ユーザには、そのピクセル場所にコンピュータ生成された画像が見えるであろう。AR画像の任意の所与のフレームに関して、ピクセルの多くの明度は、ディスプレイ上に示される必要がないように、規定された閾値を下回り得る。これらの閾値を下回るピクセル毎にディスプレイをリフレッシュするのではなく、ディスプレイは、これらのピクセルをリフレッシュしないよう動的に構成されることができる。
【0268】
いくつかの実施形態では、システム80は、ディスプレイを制御するためのディスプレイコントローラを含む。ディスプレイコントローラは、ディスプレイの描画エリアを動的に構成することができる。例えば、ディスプレイコントローラは、任意の所与のリフレッシュサイクルの間にリフレッシュされる、フレーム内のピクセルを動的に構成することができる。いくつかの実施形態では、ディスプレイコントローラは、ビデオの第1のフレームに対応するコンピュータ生成された画像データを受信することができる。本明細書に議論されるように、コンピュータ生成された画像データは、いくつかの深度平面を含んでもよい。ビデオの第1のフレームのための画像データに基づいて、ディスプレイコントローラは、深度平面毎にリフレッシュするディスプレイピクセルを動的に決定することができる。例えば、ディスプレイ62が、走査タイプディスプレイ技術を利用する場合、コントローラは、AR画像がリフレッシュされる必要がないエリア(例えば、AR画像が存在しない、またはAR画像の明度が規定された閾値を下回る、フレームのエリア)をスキップするように、走査パターンを動的に調節することができる。
【0269】
このように、受信された各フレームに基づいて、ディスプレイコントローラは、AR画像が示されるべきディスプレイのサブ部分を識別することができる。各そのようなサブ部分は、単一連続的エリアまたは複数の非連続的エリアをディスプレイ上に含んでもよい(図16に示されるように)。ディスプレイのそのようなサブ部分は、ライトフィールドビデオデータ内の深度平面毎に決定されることができる。ディスプレイコントローラは、次いで、ディスプレイに、その特定のフレームのためのディスプレイの識別されたサブ部分のみをリフレッシュさせることができる。本プロセスは、フレーム毎に実施されることができる。いくつかの実施形態では、ディスプレイコントローラは、各フレームの開始時にリフレッシュされるであろう、ディスプレイのエリアを動的に調節する。
【0270】
ディスプレイコントローラが、リフレッシュされるべきであるディスプレイのエリアが経時的により小さくなっていることを決定する場合、ディスプレイコントローラは、より少ない時間がAR画像の各フレームを描画するために必要とされるであろうため、ビデオフレームレートを増加させ得る。代替として、ディスプレイコントローラが、リフレッシュされるべきディスプレイのエリアが経時的により大きくなっていることを決定する場合、AR画像の各フレームを描画するために十分な時間を可能にするように、ビデオフレームレートを減少させることができる。ビデオフレームレートの変化は、画像で充填される必要があるディスプレイの割合に反比例し得る。例えば、ディスプレイコントローラは、ディスプレイの10分の1のみが充填される必要がある場合に、フレームレートを10倍増加させることができる。
【0271】
そのようなビデオフレームレート調節は、フレーム毎に実施されることができる。代替として、そのようなビデオフレームレート調節は、規定された時間インターバルで、またはリフレッシュされるべきディスプレイのサブ部分のサイズが、規定された量増加または減少するとき、実施されることができる。ある場合には、特定のディスプレイ技術に応じて、ディスプレイコントローラはまた、ディスプレイ上に示されるAR画像の分解能を調節してもよい。例えば、ディスプレイ上のAR画像のサイズが、比較的に小さい場合、ディスプレイコントローラは、画像を増加分解能で表示させることができる。逆に言えば、ディスプレイ上のAR画像のサイズが、比較的に大きい場合、ディスプレイコントローラは、画像を減少分解能で表示させることができる。
【0272】
周囲採光に基づく画像色の調節
いくつかの実施形態では、本明細書に説明されるシステム80は、1つ以上のセンサ(例えば、カメラ)を含み、周囲採光の明度および/または色相を検出する。そのようなセンサは、例えば、システム80のディスプレイヘルメット内に含まれることができる。周囲採光に関する感知される情報は、次いで、仮想オブジェクト(例えば、VR、AR、またはMR画像)のために生成されたピクセルの明度または色相を調節するために使用されることができる。例えば、周囲採光が、黄味がかった色合いを有する場合、コンピュータ生成された仮想オブジェクトは、黄味がかった色調を有するように改変されることができ、これは、部屋内の実オブジェクトのものにより緊密に合致する。同様に、部屋内の光の強度が、比較的に高い場合、ディスプレイ62の光源を駆動するために使用される電流は、コンピュータ生成された仮想オブジェクトの明度が周囲採光により緊密に合致するように、増加されることができる。または、その逆に、ディスプレイ62の光源を駆動するために使用される電流は、より暗い周囲採光に応答して減少されることができる。これはまた、電力を節約する利点を有する。そのようなピクセル調節は、画像がGPUによってレンダリングされるときに行われることができる。代替として、および/または加えて、そのようなピクセル調節は、本明細書で議論される制御データを使用することによって、レンダリング後に行われることができる。
【0273】
ピクセル処理パイプライン
図17は、システム80のディスプレイコントローラによって実装される、例示的ピクセル処理パイプライン1700のブロック図である。いくつかの実施形態では、ピクセル処理パイプライン1700は、専用ハードウェアとして実装される。ディスプレイコントローラは、レンダリングされた画像データをグラフィック処理ユニット(GPU)から受信し(フレームバッファ1702において)、次いで、レンズ歪曲補正、再サンプリング/画像スケーリング、グローバル偏移、色混成、フラットフィールド補正、およびガンマ補正を含む、いくつかの機能を実施する。これらの機能が実施された後、ディスプレイコントローラは、処理された画像データ(カラーフィールドバッファ1750において)をディスプレイ62に出力する。例示的機能のセットが、図17に図示されるが、ピクセル処理パイプライン1700の他の実施形態は、図示される機能を省略する、または本明細書に説明される他の機能を含んでもよい。
【0274】
図17では、レンダリングされた画像データは、ピクセル処理パイプライン1700にGPUからフレームバッファ1702を介して入力される。フレームバッファ1702は、例えば、ピンポンバッファ(また、二重バッファとしても知られる)であることができ、これは、1つのフレームが処理された一方、別のフレームが、メモリの中にロードされることを可能にする。本明細書に議論されるように、各フレームは、デジタル画像の1つ以上の深度平面毎に、1つ以上の色成分サブフレームを含むことができる。例えば、各フレームは、2つまたは3つの深度平面毎に、赤色、緑色、および青色サブフレームから成ってもよい。ピクセル処理パイプライン1700によって実施される機能は、システム80によって表示されるための画像データの各深度平面の色成分サブフレーム毎に行われることができる。いくつかの実施形態では、画像データの各フレームは、1280水平ピクセル×960垂直ピクセルの分解能を有してもよく、フレームレートは、60、80、または120フレーム/秒であってもよいが、多くの他の分解能およびフレームレートも、ハードウェアの能力、アプリケーション、色視野または深度平面の数等に応じて、使用されることができる。
【0275】
いくつかの実施形態では、カラー画像データのビット深度は、24ビットであって、これは、ピクセルあたり8赤色ビット、8青色ビット、および8緑色ビットを含む。したがって、カラー画像データの深度平面毎にフレームバッファ1702に入力されるデータの量は、1280×960×24ビット(30Mb)である。それぞれ、3つの色サブフレーム(例えば、赤色、緑色、および青色サブフレーム)から成る、1280×960フルカラー画像データの3つの深度平面が、80フレーム/秒のレートで処理されるべき場合、ピクセル処理パイプライン1700は、概して、約885MB/s(1280×960×3×3×80)の処理帯域幅能力を有する必要がある。代替として、概して、同一算出コストに関して、ピクセル処理パイプライン1700は、120フレーム/秒(1280×960×3×2×120は、885MB/sである)において2つの深度平面のためのフルカラー画像データを処理することができる。深度平面とフレームレートの他の組み合わせもまた、可能性として考えられ、いくつかの実施形態では、ピクセル処理パイプライン1700は、種々の組み合わせ間で動的に切り替わることができる。これらの場合のいずれも、ピクセル処理パイプライン1700内で処理されるための比較的に大量の画像データに起因して、複数の並列処理経路が、処理帯域幅要件を満たすために実装されることができる。例えば、ピクセル処理パイプライン1700ハードウェアが、125MHzで動作する場合、8つの並列ピクセル処理経路が、前述の実施例の885MB/s帯域幅要件を達成するために使用されることができる。しかしながら、並列処理経路の数は、画像データの分解能、ピクセル処理パイプライン1700ハードウェアの速度等を含む、多くの要因に基づいて、変動し得る。
【0276】
レンダリングされた画像データのストリームが、ピクセル処理パイプライン1700のフレームバッファ1702に入力されるにつれて、ディスプレイコントローラは、内蔵制御データ(本明細書に議論されるように)を使用して、深度平面各ピクセルが属する色成分を決定し、かつ各深度平面の色成分がディスプレイ62にフラッシングされるべき順序を決定してもよい。これは、図13-15に関して上記に説明されるように行われることができる。例えば、ディスプレイコントローラは、内蔵深度平面インジケータデータを使用して、レンダリングされた画像データのストリームを1つ以上のRxGxBxシーケンスに分離することができ、R0G0B0シーケンスは、第1の深度平面の赤色、緑色、および青色サブフレームに対応し、R1G1B1シーケンスは、第2の深度平面の赤色、緑色、および青色サブフレームに対応し、R2G2B2シーケンスは、第3の深度平面の赤色、緑色、および青色サブフレームに対応する。ピクセル処理パイプライン1700における処理後、各深度平面の色成分サブフレームは、図9に関して説明されるように、ディスプレイ62に連続してフラッシングされることができる。
【0277】
図17におけるピクセル処理パイプライン1700によって実施される機能のうちの1つは、色混成であって、これは、色混成ブロック1704によって実施される。色混成ブロック1704は、レンダリングされた画像データをフレームバッファ1702から受信する。色混成ブロック1704は、混成された画像データを作成するように、異なる深度平面に対応する画像データを混成し、これは、本明細書に説明されるディスプレイ62によって表示されると、混成された深度平面間の仮想深度平面に位置するように現れる。例えば、色混成ブロック1704は、R0G0B0シーケンスの全部または一部とR1G1B1シーケンスの全部または一部を混成してもよい(但し、任意の他の対の深度平面色シーケンスもまた、色混成ブロック1704によって混成されることができる)。
【0278】
仮想深度平面は、2つの深度平面画像と適切な加重を混成することによって、所望のインターバルにおいて、システム80内の2つの定義された深度平面間に提供されることができる。例えば、仮想深度平面が、遠距離深度平面D0と中距離深度平面D1との間の途中に所望される場合、色混成ブロック1704は、D0画像データのピクセル値を50%加重する一方、また、D1画像データのピクセル値を50%加重することができる。(加重が合計100%である限り、画像データの見掛け明度は、維持されることができる。しかし、加重は、必ずしも、合計100%である必要はなく、恣意的加重が、使用されることができる。)遠距離画像データおよび中距離画像データの両方が、本明細書に説明されるディスプレイ62によって表示され、ヒト視覚系によって知覚される結果は、D0とD1との間に位置するように現れる、仮想深度平面である。仮想深度平面の見掛け深度は、異なる混成加重を使用することによって制御されることができる。例えば、仮想深度平面が、D0よりD1の近くに現れることが所望される場合、D1画像は、より重く加重されることができる。
【0279】
GPUからフレームバッファ1702に提供されるレンダリングされた画像データは、制御データを含むことができ、これは、混成操作が色混成ブロック1704によって行われる方法を決定する。いくつかの実施形態では、制御データは、均一混成を深度平面内のピクセルの全てに関して行わせることができる。他の実施形態では、制御データは、異なる量の混成(無混成を含む)を所与の深度平面内の異なるピクセルに行わせることができる。加えて、制御データは、所与の深度平面内の異なるピクセルと異なる深度平面からのピクセルを混成させることができる。これらの場合では、各ピクセルは、図18に図示されるように、制御データでタグ付けされ、その特定のピクセルのために実施されるための混成を規定することができる。
【0280】
図18は、ピクセル1800のための例示的フォーマットを図示し、これは、別の深度平面に対応するピクセルとの混成操作を制御するために、制御データ1840でタグ付けされる。本実施例では、制御データ1840は、仮想深度平面インジケータデータであって、これは、ピクセル1800が対応する1つ以上の異なる仮想深度平面を規定する。ピクセル1800は、青色値1830(バイト0)と、緑色値1820(バイト1)と、赤色値1810(バイト2)とを含む。本実施形態では、仮想深度平面インジケータデータは、ピクセル1800内に各色値(すなわち、B0、B1、G0、G1、R0、およびR1)の2つの最下位ビットとして内蔵される。したがって、各色のビット深度は、8ビットから6ビットに低減される。したがって、仮想深度平面インジケータデータは、ピクセルのための色値のダイナミックレンジを犠牲にして、直接、画像データのピクセル内に内蔵されることができる。合計6ビットの仮想深度平面インジケータデータは、26=64仮想深度平面の仕様を可能にする。例えば、画像データが、3つの深度平面D0、D1、およびD2を含む場合、深度平面インジケータビットのうちの1つは、ピクセル1800がD0からD1の範囲内またはD1からD2の範囲内の仮想深度平面内にあるべきかどうかを示すことができる一方、他の5ビットは、32の仮想深度平面を選択された範囲内に規定する。いくつかの実施形態では、仮想深度平面インジケータデータは、1つ以上のルックアップテーブルを参照するために使用され、これは、仮想深度平面インジケータビット1840によって規定された仮想深度平面に対応する混成乗算器値を出力する。図18は、合計6ビットの仮想深度平面インジケータデータを図示するが、他の実施形態は、異なる数のビットを含んでもよい。加えて、仮想深度平面インジケータデータは、図18に図示されるもの以外の技法を使用して提供されることができる。例えば、仮想深度平面インジケータデータは、図12Bに示されるYCbCr4:2:2技法を使用して提供されることができる。
【0281】
図19は、例示的混成操作を図示し、これは、色混成ブロック1704によって行われることができる。本混成操作は、以下に説明される図20に示される色混成ブロック1704の例示的実施形態によって行われる。図19は、本明細書に説明されるディスプレイ62によって表示されるためのデジタル画像の3つの深度平面を示す。遠距離サブフレーム1910は、ディスプレイ62内の屈折力と関連付けられ、これは、本サブフレーム内の画像データを遠距離場所に位置するようにユーザ60に現れさせる。同様に、中距離サブフレーム1920も、ディスプレイ62内の屈折力と関連付けられ、これは、本サブフレーム内の画像データを中距離場所に位置するようにユーザ60に現れさせる一方、近距離サブフレーム1930も、ディスプレイ62内の屈折力と関連付けられ、これは、本サブフレーム内の画像データを近距離場所に位置するようにユーザ60に現れさせる。
【0282】
図19の図示される実施形態では、中距離サブフレーム1920は、ロボット仮想オブジェクト10と、マルハナバチ仮想オブジェクト2とを含む。一方、遠距離サブフレーム1910は、ロボット仮想オブジェクト10のみを含み、近距離サブフレーム1930は、マルハナバチ仮想オブジェクト2のみを含む。これらの3つのサブフレームのためのピクセルは、内蔵仮想深度平面インジケータデータ(例えば、図18に示される制御データ1840)でタグ付けされ、これは、図20に示される色混成ブロック1704によって実施される混成操作を制御する。
【0283】
遠距離サブフレーム1910および中距離サブフレーム1920は、図19に示されるように、遠距離と中距離深度との間に位置する仮想深度平面から生じるようにユーザ60に現れる画像を生産するように、混成されることができる。これは、遠距離サブフレーム1910内のロボット仮想オブジェクト10に対応するピクセルを混成乗算器値によって乗算することによって、かつロボット仮想オブジェクト10に対応する中距離サブフレーム1920内のピクセルに対しても同じことを行うことによって、遂行される。遠距離および中距離サブフレーム内のロボット仮想オブジェクト10のための個別の混成乗算器値は、ロボット仮想オブジェクト10の明度を維持するように、合計1になり得るが、これは、必ずしも、要求されない。1つ以上のスケーラが、仮想オブジェクトの同様の部分が、混成操作の間、組み合わせられるように、仮想オブジェクトが混成されている深度平面の両方において実質的に同一サイズであることを確実にするために使用されることができる。
【0284】
同様に、中距離サブフレーム1920および近距離サブフレーム1930は、中距離と近距離深度との間に位置する仮想深度平面から生じるようにユーザ60に現れる画像を生産するように、混成されることができる。これも同様に、中距離サブフレーム1920内のマルハナバチ仮想オブジェクト2に対応するピクセルを混成乗算器値によって乗算することによって、かつマルハナバチ仮想オブジェクト2に対応する近距離サブフレーム1930内のピクセルのために同じことを行うことによって、遂行される。
【0285】
図20は、色混成ブロック1704の実施形態を図示し、これは、混成操作をピクセル毎に画像データの深度平面間に実施する。色混成ブロック1704は、マルチプレクサ2010と、ルックアップテーブル2020と、乗算器2030とを含む。図20に示されるように、フレームバッファ1702からレンダリングされた画像データは、マルチプレクサ2010に提供される。フレームバッファ1702において受信されたレンダリングされた画像データは、図18に示されるピクセルフォーマットを利用する。したがって、この場合、ピクセル1800の各色値(R、G、およびB)の6つの最上位ビットのみが、実際の画像データを表す。これらは、マルチプレクサ2010に入力される、ビットである。マルチプレクサ2010は、順に、色値のうちの1つに対応する6ビットを乗算器2030に一度に通過させる。それらの6ビットは、現在のアクティブ色を規定する、マルチプレクサ2010への制御入力によって選択される。一方、ピクセル1800の色値の6つの最下位ビット(3つの色値毎に2つ)は、ルックアップテーブル2020に入力される。図18に関して議論されるように、これらのビットは、仮想深度平面インジケータデータであって、これは、ピクセル1800が属する、64の可能性として考えられる仮想深度平面を規定する。別個のルックアップテーブル2020が、各深度平面のカラーフィールド毎に提供される。したがって、それぞれ、3つの色成分を有する、3つの深度平面を含む、画像データの場合、合計9つのルックアップテーブル2020が存在する。
【0286】
いくつかの実施形態では、各ルックアップテーブル2020は、64の混成乗算器値を保持し、各値は、64の仮想深度平面のうちの1つのための混成加重を定義する。典型的には、ルックアップテーブル2020内の混成乗算器値は、ゼロ(最終的に表示される画像に対する所与のピクセルの最小寄与をもたらす)から1(最終的に表示される画像に対する所与のピクセルの最大寄与をもたらす)まで変動する。仮想深度平面間の間隔は、ルックアップテーブル2020内の混成加重間の間隔によって定義される。仮想深度平面間の間隔は、線形であり得るが、それらは、必ずしも、そうである必要はなく、任意のカスタム間隔が、指数関数、対数等を含め、仮想深度平面間に提供されることができる。
【0287】
動作時、現在処理されている色成分および深度平面に対応する、特定のルックアップテーブル2020が、選択され、仮想深度平面インジケータデータは、関連付けられた混成乗算器値を出力するために使用される。混成乗算器値は、次いで、乗算器2030に通過され、そこで、仮想深度平面インジケータデータによって規定された混成効果を達成するように、ピクセル1800の対応する色値をスケーリングする。混成された画像データは、次いで、ローリングバッファ1706に提供される。
【0288】
図21は、色混成ブロック1704の実施形態を図示し、これは、深度平面全体のために均一ベースで、混成操作を画像データの深度平面間に実施する。再び、色混成ブロック1704は、マルチプレクサ2110と、乗算器2130とを含む。本実施形態では、混成操作は、深度平面内の全てのピクセルのために均一に実施されるため、ピクセルが個々に内蔵仮想深度平面インジケータデータでタグ付けされる必要がない。その結果、8ビットの完全ビット深度が、各ピクセルの色値毎に維持されることができる。これらの8ビット色値は、マルチプレクサ2110に通過され、これは、順に、現在のアクティブ色を示すマルチプレクサへの制御入力に基づいて、色値のうちの1つに対応する8ビットを出力する。
【0289】
この場合、仮想深度平面インジケータデータは、深度平面内のピクセルの全てに共通である。言い換えると、深度平面内のピクセルは全て、同一仮想深度平面に混成されるように指定される。その結果、同一混成乗算器値が、深度平面内のピクセルのそれぞれをスケーリングするために使用される。いくつかの実施形態では、本共通仮想深度平面インジケータデータおよび/または共通混成乗算器値は、画像データのラインのうちの1つの前に、またはその代わりに、カスタムパケットに提供されることができる(図10および11に関して議論されるように)。次いで、混成乗算器値は、乗算器2130によって、処理されているピクセルの対応する色値をスケーリングするために使用される。最後に、混成された画像は、次いで、ローリングバッファ1706に提供される。
【0290】
ローリングバッファ1706(以下に議論される)が、色混成ブロック1704からの混成された画像データの一部で充填された後、ローリングバッファフェッチャ1708(また、以下に議論される)は、ピクセル補間器1710において使用するために、ローリングバッファ1706からピクセルのグループを選択およびフェッチする。ピクセル補間器1710は、補間計算を実施し、これは、ピクセル処理パイプライン1700のレンズ歪曲補正機能の一部である。
【0291】
ピクセル処理パイプライン1700のレンズ歪曲補正機能は、システム80の光学経路内に存在する、光学歪曲および/または収差を補正する。これらの光学歪曲および/または光学収差は、画像データがデジタル電子データから光に変換される点と、光がディスプレイ62からユーザ60の眼に向かって出力される点との間の光学経路内の任意の場所に生じ得る。いくつかの実施形態では、ピクセル処理パイプライン1700は、ユーザ60に表示されることになる画像データを事前に歪曲させることによって、光学歪曲および/または収差を補正する。例えば、画像データは、少なくとも部分的に、好ましくは、システム80内に存在する光学歪曲および/または収差に実質的に反比例するように、事前に歪曲されてもよい。このように、ピクセル処理パイプライン1700によって導入される事前に歪曲は、少なくとも部分的に、好ましくは、光学画像信号がシステム80の光学経路を通して伝搬するにつれて、システム80の光学コンポーネントによって実質的に行われない。
【0292】
レンズ歪曲および/または収差を補正するために事前に歪曲されていないピクセルは、本明細書では、非歪曲補正ピクセルまたは画像データと称され得る一方、事前に歪曲されているピクセルは、歪曲補正ピクセルまたは画像データと称され得る。ピクセル補間器1710は、ローリングバッファ1706からの1つ以上の非歪曲補正ピクセル(例えば、GPUからフレームバッファ1702において受信されたレンダリングされた画像データのピクセル)に基づいて、各歪曲補正ピクセルを計算する。ピクセル補間器1710によって出力される、歪曲補正画像データは、歪曲補正データを使用して、任意の所与の歪曲補正ピクセル(例えば、ピクセル補間器1710によって計算され、最終的に、ディスプレイ62に送信されるピクセル)のための値を計算するために使用されるべき非歪曲補正ピクセル(例えば、フレームバッファ1702から)を示すことによって、事前に歪曲されることができる。例えば、ディスプレイ62に出力される、画像データ内のインデックス化された位置(x,y)に位置する歪曲補正ピクセルの値は、入力画像データ内の異なる位置(x’,y’)またはその近傍に位置する1つ以上の非歪曲補正ピクセル(例えば、GPUからフレームバッファ1702において受信されたピクセル)を使用して計算されてもよい。これは、ディスプレイ62内の光学歪曲および/または収差が、位置(x’,y’)に向かって、その近傍で、またはそれに対して歪曲されるべき(x,y)におけるピクセルのためにディスプレイ62に提供される画像データを表す、光線を生じさせるであろうという知識(実験または理論に基づく)を伴って行われることができる。したがって、(x,y)における歪曲補正ピクセル値を(x’,y’)における非歪曲補正データを用いて先を見越して計算することによって、ディスプレイ62の光学歪曲および/または収差は、少なくとも部分的に、補償される。
【0293】
いくつかの実施形態では、ピクセル補間器1710からの各歪曲補正ピクセルの値(例えば、RGB値、YCbCr値等)は、別の場所における補間される非歪曲補正ピクセルから求められ、これ自体は、4つの隣接する非歪曲補正ピクセルの補間に依存する。しかしながら、他の実施形態は、ピクセル補間器1710内で異なる数の非歪曲補正ピクセルを使用してもよい。補間される非歪曲補正ピクセルの場所、故に、4つの隣接する非歪曲補正ピクセルの場所は、メモリ内に記憶される1つ以上のレンズ歪曲補正ルックアップテーブル1712を使用して決定される。別個のレンズ歪曲補正ルックアップテーブルが、これらのそれぞれが、少なくとも部分的に、一意の歪曲および/または収差を伴うディスプレイ62を通した一意の光学経路を有し得るため、画像データの各深度平面のカラーフィールド毎に記憶されてもよい。(例えば、別個の導波管が、図6-8に関して議論されるように、各深度平面の色成分毎に提供されてもよい。)画像データが、それぞれ、3つのカラーフィールドから成る、3つの画像データの深度平面から成る場合、9つの別個のレンズ歪曲補正ルックアップテーブルが存在してもよい。異なる数の深度平面および/またはカラーフィールドを伴う他の実施形態は、より多いまたはより少ないレンズ歪曲補正ルックアップテーブルを要求し得る。典型的には、レンズ歪曲補正ルックアップテーブル1712は、ディスプレイコントローラのメモリの中にホストプロセッサからロードされ、システム80の所与の使用の間、変化しないであろう。しかし、いくつかの実施形態では、レンズ歪曲補正ルックアップテーブル1712は、システム80内の光学歪曲および/または収差が変化される場合、またはより多くの情報がそれらについて学習される場合、動的であって、したがって、レンズ歪曲補正ルックアップテーブル1712の改良を可能にし得る。
【0294】
図22は、図17のピクセル処理パイプライン1700のレンズ歪曲補正機能性の略図である。図22は、画像データのピクセルのグリッド2200を示す。ピクセルのグリッド2200は、画像データのフレームの一部を表す。ピクセルのグリッド2200は、8つの標識された歪曲補正ピクセルP0、P1、P2、P3、P4、P5、P6、およびP7をディスプレイ62に出力されるための画像データの行内に含む。これらの歪曲補正ピクセルはそれぞれ、例えば、関連付けられた赤色(R)、緑色(G)、および/または青色(B)値を有してもよい。歪曲補正ピクセルP0は、グリッド点(x,y)に位置する一方、歪曲補正ピクセルP1は、グリッド点(x+1、y)に位置し、歪曲補正ピクセルP2は、グリッド点(x+2、y)に位置し、以降同様に続く。
【0295】
いくつかの実施形態では、8つの隣接する歪曲補正ピクセルP0、P1、P2、P3、P4、P5、P6、およびP7のグループは全て、ピクセル処理パイプライン1700の専用ハードウェアによって、同時に並行して処理される。8つのピクセルの別個のブロックはそれぞれ、画像データのフレーム全体が完了されるまで、順に処理されることができる。他の実施形態では、ともに並行して処理される、ピクセルのブロックは、他のサイズおよび/または寸法を有することができる。加えて、集合的に、画像データのフレームを構成する、ピクセルのブロックは、任意の順序またはパターンで処理されることができる。
【0296】
各レンズ歪曲補正ルックアップテーブル1712は、画像データの歪曲補正ピクセル毎に、歪曲補正座標のセットを含んでもよい。歪曲補正座標は、各歪曲補正ピクセル(例えば、ピクセル補間器1710から出力され、最終的に、ディスプレイ62上に示される、ピクセル)の値を計算するために使用されるべき、非歪曲補正ピクセル(例えば、フレームバッファ1702において受信されるピクセル)を決定するために使用される。概念上、これは、それぞれ、歪曲補正ピクセルP0、P1、P2、P3、P4、P5、P6、およびP7の値を提供するために使用される、個別の補間される非歪曲補正ピクセルP0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’を示すことによって、図22に図示される。図22に示されるように、ピクセル補間器1710から出力され、最終的に、ディスプレイ62に送信される、画像データ内の(x,y)に位置する、歪曲補正ピクセルP0は、(x’,y’)に位置する、補間される非歪曲補正ピクセルP0’から決定される。(x’,y’)座標は、分数であることができ、その場合、それらは、フレームバッファ1702において受信された画像データの任意の実際の非歪曲補正ピクセルに対応しない。故に、補間される非歪曲補正ピクセルP0’の値は、(x’,y’)の周囲の非歪曲補正画像データのピクセルのグループからの補間を介して計算されることができる。いくつかの実施形態では、P0’の値は、4つの隣接する非歪曲補正ピクセルA、B、C、およびDのセット2210から計算される。図22は、非歪曲補正ピクセルの例示的セット2210を図示し、これは、補間される非歪曲補正ピクセルP0’の値を計算するために使用されることができる。
【0297】
歪曲補正座標のセットは、歪曲補正ピクセル(例えば、P0)毎に提供される。歪曲補正座標は、対応する歪曲補正ピクセルを決定するために使用されるべき、補間される非歪曲補正ピクセル(例えば、P0’)の場所を示す。歪曲補正座標は、決定されるべき歪曲補正ピクセルのインデックスまたは座標に対して相対的意味で表されることができる。例えば、そのような場合では、歪曲補正座標は、+/-x方向における所与の歪曲補正ピクセルのためのx(水平)インデックスまたは座標を変位させるための量と、+/-y方向におけるその歪曲補正ピクセルのy(垂直)インデックスまたは座標を変位させるための量とを示してもよい。代替として、レンズ歪曲補正ルックアップテーブル1712は、歪曲補正ピクセル毎に、絶対歪曲補正座標値を含んでもよい。例えば、そのような場合では、絶対座標値は、その歪曲補正ピクセルの場所を参照せずに、所与の歪曲補正ピクセル(例えば、P0)を計算するために使用されるべき、補間される非歪曲補正ピクセル(例えば、P0’)の具体的座標を示してもよい。しかしながら、相対的変位を使用するアプローチは、各非歪曲補正ピクセルの場所を規定するためにより少ないビットを要求し、したがって、レンズ歪曲補正ルックアップテーブル1712のサイズを低減させる得るため、有利であり得る。いずれの場合も、再び、歪曲補正座標は、整数である必要はないことに留意することが重要である。例えば、歪曲補正座標は、任意の所与の歪曲補正ピクセル(例えば、P0)が分数の補間される非歪曲補正ピクセル(例えば、P0’)を使用して決定されることになることを示し得る。
【0298】
各レンズ歪曲補正ルックアップテーブル1712内の具体的歪曲補正座標は、実験的(例えば、既知の較正画像をシステム80に入力し、表示される画像と較正画像を比較することによって)または理論的に(例えば、光線追跡アルゴリズムを使用して、システム80の光学経路の歪曲および/または収差を決定することによって)、決定されることができる。レンズ歪曲補正ルックアップテーブル1712は、例えば、数学的式を使用して補正することが困難または不可能であろう、線形、規則的、不規則的、複雑な、および/または非線形歪曲および/または収差を補正するために使用され得るため、有利である。本アプローチは、特に、ディスプレイ62が、不規則的形状を伴う導波管のスタックと、複雑な光学歪曲および/または収差をもたらし得る、回折光学要素とを含む、複雑な光学コンポーネントのセットを含み得るため、本明細書に説明されるシステム80において有利である。
【0299】
いくつかの実施形態では、各レンズ歪曲補正ルックアップテーブル1712は、画像データの色サブフレーム内の1280×960ピクセル毎に22ビットから成り、22ビットは、7つの整数ビットおよび4つの分数ビットとしてフォーマットされる、水平および垂直歪曲補正座標毎に1つの2つの符号付の数を表す。各フレーム内のピクセルの数およびレンズ歪曲補正ルックアップテーブル1712の数を前提として、比較的に大量のメモリが、レンズ歪曲補正ルックアップテーブル1712を記憶するために要求され得る。メモリ要件を緩和するために、各レンズ歪曲補正ルックアップテーブル1712は、ディスプレイコントローラのメモリ内に低減された分解能で記憶されることができる。例えば、各レンズ歪曲補正ルックアップテーブル1712は、1280×960ではなく、80×60分解能(またはルックアップテーブルの外部グリッドを考慮するために81×61)で記憶されてもよい。そのような実施形態では、レンズ歪曲補正ルックアップテーブル補間器1714が、その完全1280×960分解能に対して各レンズ歪曲補正ルックアップテーブル1712を補間する。これは、例えば、バイリニア補間を使用して、レンズ歪曲補正ルックアップテーブル1712のデータ点間の値を充填することによって、行われることができる。しかし、他のタイプの補間もまた、使用されることができる。加えて、他の圧縮技法も、メモリ内のレンズ歪曲補正ルックアップテーブルのサイズを低減させるために使用されることができ、対応する拡張技法が、ピクセル処理パイプライン内で使用され、レンズ歪曲補正ルックアップテーブルを完全サイズに拡張させることができる。
【0300】
レンズ歪曲補正ルックアップテーブル補間器1714が、レンズ歪曲補正ルックアップテーブル1714を完全分解能に拡張させるために使用される、ピクセル処理パイプライン1700の実施形態では、レンズ歪曲補正ルックアップテーブル補間器1714は、典型的には、拡張比入力を受信し、これは、各レンズ歪曲補正ルックアップテーブル1712を拡張させるための量を示す。例えば、80×60レンズ歪曲補正ルックアップテーブルおよび1280×960画像の場合、拡張比は、80/1280=60/960=0.0625となるであろう。
【0301】
決定されるべき歪曲補正ピクセル(例えば、P0)の(x,y)インデックスまたは座標を使用して、レンズ歪曲補正ルックアップテーブル1712は、対応する歪曲補正座標を出力するために使用される。それらの歪曲補正座標は、補間される非歪曲補正ピクセル(例えば、P0’)の場所を決定するために使用され、その値は、歪曲補正ピクセル(例えば、P0)の値を決定するであろう。相対的(絶対ではなく)歪曲補正座標を記憶する、レンズ歪曲補正ルックアップテーブル1712の場合、ピクセル処理パイプライン1700は、加算器1716a、1716bを含み、これは、レンズ歪曲補正ルックアップテーブル1712を使用して決定された個別の歪曲補正座標を決定されるべき歪曲補正ピクセルの対応するインデックス/座標に加算する。加算器1716aでは、水平レンズ歪曲補正座標が、歪曲補正ピクセルのxインデックス/座標に加算される。同様に、加算器1716bでは、垂直レンズ歪曲補正座標が、歪曲補正ピクセルのyインデックス/座標に加算される。図22に示される略図を参照すると、ピクセル処理パイプライン1700内で生じている状態は、歪曲補正ピクセルP0の(x,y)座標が、対応する相対的歪曲補正座標のセットをレンズ歪曲補正ルックアップテーブル1712からルックアップするために使用されるということである。これらの相対的歪曲補正座標は、その値が歪曲補正ピクセルP0の値として使用されるべき、補間される非歪曲補正ピクセルP0’の(x’,y’)座標を決定するために、加算器1716a、1716bによって、P0の(x,y)座標に加算される。
【0302】
補間される非歪曲補正ピクセル(例えば、P0’)の座標が、加算器1716a、1716bによって計算された後、ピクセル処理パイプライン1700の次の段階は、画像偏移等の再サンプリングおよび画像ワーピング操作を実施する。これは、水平および/または垂直方向における垂直および水平画像スケーリングおよびグローバル偏移の適用から成り得る。図示されないが、ピクセル処理パイプライン1700の本段階はまた、画像回転を実施することができる。画像ワーピング操作は、以下により詳細に議論される。
【0303】
スケーリング係数Kならびにグローバル偏移値GS(x)およびGS(y)は、本明細書に説明される制御データを介して、ディスプレイコントローラに通過されることができる。画像回転情報もまた、制御データを介して、ディスプレイコントローラに通過されてもよい。偏移またはスケーリングプロシージャが、画像フレームの境界(例えば、1280×960ピクセル)外の画像データにアクセスする場合、フレーム外のピクセルは、ゼロ(黒色)であると仮定され得る。ピクセルラップアラウンドは、そのような実施形態では、要求されない。また、画像データの各出力フレームは、概して、Kスケーリング係数および/またはグローバル偏移を適用後でも、入力フレーム(例えば、1280×960)と同一分解能から成るであろう。
【0304】
ピクセル処理パイプライン1700は、画像スケーリング/偏移ブロック1720a、1720bを含み、これは、レンズ歪曲補正ルックアップテーブル1712および加算器1716a、1716bを使用して決定された補間される非歪曲補正ピクセル(例えば、P0’)の座標を受信し、ピクセル偏移および/または画像再サンプリング(拡大/縮小)を適用する。本能力の利点は、ピクセル偏移、画像回転、および/または画像再サイズ調整操作が、GPUによって再レンダリングされることを要求せず、ディスプレイコントローラによって実施され、画像データに調節を行うことができることである。
【0305】
上側画像スケーリング/偏移ブロック1720aは、補間される非歪曲補正ピクセル(例えば、P0’)の水平座標に作用する一方、下側スケーリング/偏移ブロック1720bは、補間される非歪曲補正ピクセルの垂直座標に作用する。画像スケーリング/偏移ブロック1720a、1720bは、加算器1722a、1722bを含み、これは、スケーリングおよび偏移が適用され得るように、補間される非歪曲補正ピクセル座標を点(0、0)を中心として心合させるために使用される。上側ブロック1720aの第1の加算器1722aは、そこから2で除算される画像データの幅と等しい値HOR/2を減算することによって、補間される非歪曲補正ピクセルの水平座標を心合させる。同様に、下側ブロック1722bの第1の加算器1722bは、そこから2で除算される画像データの高さと等しい値VER/2を減算することによって、補間される非歪曲補正ピクセルの垂直座標を心合させる。
【0306】
補間される非歪曲補正ピクセルP0’の心合された座標は、次いで、スケーラ1724a、1724bに通過される。スケーラ1724a、1724bは、画像再サンプリング(拡大または縮小)を実施する。これは、スケーリング係数K(本明細書で議論される制御データに提供される)を使用して行われ、これは、補間される非歪曲補正ピクセル(例えば、P0’)の心合された座標の数倍である。いくつかの実施形態では、スケーリング係数Kは、顕著な画像アーチファクトを生じさせ得る、画像サイズ調整操作を回避するように、0.9~1.1の範囲に限定されるが、他の実施形態では、スケーリング係数は、より大きい範囲を提供されてもよい。上側ブロック1720a内のスケーラ1724aは、スケーリング係数Kと補間される非歪曲補正ピクセルの水平座標を乗算する一方、下側ブロック1720b内のスケーラ1724bは、補間される非歪曲補正ピクセルの垂直座標にそれを行う。いくつかの実施形態では、同一スケーリング係数Kが、画像データの縦横比を維持するために、水平および垂直座標の両方のために使用されるであろうが、異なるスケーリング係数も、他の実施形態では、使用され得る。
【0307】
画像スケーリング/偏移ブロック1720a、1720bはまた、加算器1726a、1726bを含み、これは、ピクセル偏移を実施する。さらに以下に議論されるように、制御データは、ピクセル偏移値を含むことができ、これは、画像データを水平および/または垂直に偏移される。上側ブロック1720a内の第2の加算器1726aは、補間される非歪曲補正ピクセル(例えば、P0’)のスケーリングされた水平座標と、水平グローバル偏移値であるGS(x)を総和する。また、HOR/2をこれらの値に加算し、上側画像スケーリング/偏移ブロック1720aにおいて先に実施された平心合操作を元に戻す。同様に、下側ブロック1720b内の第2の加算器1726bは、補間される非歪曲補正ピクセルのスケーリングされた垂直座標と、垂直グローバル偏移値であるGS(y)を総和する。同様に、VER/2をこれらの値に加算し、垂直心合操作を元に戻す。いくつかの実施形態では、画像データの色成分毎のグローバル偏移量は、最大で、例えば、4サブピクセルビットの精度を伴う、+/-128の符号付ピクセルの数であってもよい。故に、GS(x)およびGS(y)は、12ビット量であり得る。
【0308】
図17は、レンズ歪曲ルックアップテーブル1712を使用した後に画像スケーリングおよびワーピング操作が実施されることを示すが、他の実施形態では、これらの操作は、異なる順序で実施されることができる。例えば、画像スケーリングおよび画像ワーピングは、レンズ歪曲ルックアップテーブル1712を使用する前に、またはピクセル処理パイプライン1700内の他の場所において、適用され得る。さらに他の実施形態では、画像ワーピング操作は、直接、レンズ歪曲ルックアップテーブル1712の中に組み込まれてもよい。例えば、ピクセル処理パイプライン1700は、頭部姿勢情報を受信してもよく、これは、適切な画像ワーピング操作を決定し、画像データに実施するために使用される。ピクセル処理パイプライン1700は、次いで、画像データに課されるための1つ以上の画像ワーピング操作を反映するように、レンズ歪曲ルックアップテーブル1712を改変してもよい。これは、レンズ歪曲ルックアップテーブル1712が、フレームバッファ1702において受信された非歪曲補正ピクセルをディスプレイ62上に示されるための新しい歪曲補正ピクセル場所にマッピングするため、可能である。同様に、画像ワーピングもまた、新しい場所へのピクセルのマッピングを伴う。したがって、レンズ歪曲補正マッピングは、同一テーブル内の画像ワーピングマッピングと組み合わせられることができる。このように、レンズ歪曲補正および画像ワーピングは、同時に実施されることができる。
【0309】
スケーリングおよび/または偏移された後、補間される非歪曲補正ピクセル(例えば、P0’)の座標(例えば、(x’,y’))が、次いで、ローリングバッファフェッチャ1708に提供される。ローリングバッファフェッチャ1708(ローリングバッファ1706と併せて)は、ピクセル補間器1710に、各補間される非歪曲補正ピクセル(例えば、P0’)、故に、各歪曲補正ピクセル(例えば、P0)を計算するために必要とされる、特定の非歪曲補正ピクセルを提供する。それらの特定の非歪曲補正ピクセルは、補間される非歪曲補正ピクセル(例えば、P0’)の座標(例えば、(x’,y’))に基づいて、フレームバッファ1702において受信された全ての入力ピクセルの中から決定される。座標(例えば、(x’,y’))を使用して、1つ以上の補間される非歪曲補正ピクセル(例えば、P0’)を計算するために必要とされる非歪曲補正ピクセルを識別し、ローリングバッファ1706からフェッチ後、ローリングバッファフェッチャ1708は、次いで、フェッチされたピクセルを、本明細書に説明されるレンズ歪曲補正技法に従って、歪曲補正ピクセル(例えば、P0)の決定において使用するためのピクセル補間器1710に通過させる。
【0310】
図23は、補間される非歪曲補正ピクセルP0’の値を計算し、故に、歪曲補正ピクセルP0の値を決定するための、ピクセル補間器1710による4つの非歪曲補正ピクセルA、B、C、Dの補間を図示する。4つの非歪曲補正ピクセルA、B、C、およびDは、レンズ歪曲補正ルックアップテーブル1712を使用して決定される、補間される非歪曲補正ピクセルP0’のための座標(x’,y’)に基づいて規定されることができる。補間される非歪曲補正ピクセルP0’の(x’,y’)座標は、以下の4つの値、すなわち、x方向座標の整数部分である、x_floor、x座標の分数部分である、x_fraction、y方向座標の整数部分である、y_floor、およびy座標の分数部分である、y_fractionを決定するために使用されることができる。図23に示されるように、補間プロセスにおいて使用されるピクセルAは、座標(x_floor、y_floor)によって規定される。ピクセルBは、座標(x_floor+1、y_floor)によって規定される。ピクセルCは、座標(x_floor、y_floor+1)によって規定される。また、ピクセルDは、座標(x_floor+1、y_floor+1)によって規定される。これらの非歪曲補正ピクセル(A、B、C、D)は、ローリングバッファフェッチャ1708によってピクセル補間器1710に供給されるものである。図22に示されるように、非歪曲補正ピクセルA、B、C、およびDは、補間される非歪曲補正ピクセルP0’の場所(x’,y’)を囲繞するものである。次いで、バイリニア補間プロセスが、図23に示される方程式(本実施例では、方程式中P0=P0’=P(out))に従って、ピクセル補間器1710によって行われ、補間されるピクセルP0’の値を計算し、これは、順に、歪曲補正ピクセルP0のための値として使用されるであろう。
【0311】
画像データのフレーム内の補間される非歪曲補正ピクセルP0’の場所に応じて、ピクセルA、B、C、Dのうちの1つ以上のものが画像データの境界(例えば、実施形態に応じて、0-1279および0-959または1-960)外にあるであろうことが可能性として考えられる。それらの限定された場合では、当該境界外ピクセルは、黒色ピクセルと見なされ得る。4つの隣接するピクセルのバイリニア補間が、図23に図示されるが、他のタイプの補間もまた、使用されることができる。さらに、異なる数の非歪曲補正ピクセルが、補間プロセスにおいて、歪曲補正ピクセルの値を計算するために使用されることができる。加えて、図23は、補間プロセスにおいて使用されるピクセル2210のグループ(例えば、ピクセルA、B、C、およびD)を補間される非歪曲補正ピクセルP0’の座標から選択する方法を図示するが、これは、そのうちの1つにすぎず、補間のためのピクセルを選択する他の方法もまた、使用されることができる。
【0312】
ローリングバッファ1706およびローリングバッファフェッチャ1708が、ここで詳細に議論されるであろう。すでに述べられたように、これらのコンポーネントの目的は、非歪曲補正ピクセル(例えば、フレームバッファ1702から)をレンズ歪曲補正計算において使用するためのピクセル補間器1710に供給することである。それらは、ピクセル処理パイプライン1700が、典型的には、より高い速度およびより優れたスループットを達成するために、ソフトウェアではなく、専用ハードウェア内に実装されるという事実から生じる、ある制約にもかかわらず、本目的を達成する。例えば、以下の制約が、該当し得る。ピクセル補間器1710によって実施される補間機能のために必要とされる全てのピクセルは1つのクロックサイクル(またはある他の限定数のクロックサイクル)においてともに読み取られる必要があり得、利用可能なメモリは、限定され得、かつピクセル補間器1710は、設定サイズ/形状のピクセルのグループに作用するためにハードワイヤードされ得る。
【0313】
ローリングバッファ1706は、ピクセル補間器1710によって必要とされ得る、非歪曲補正ピクセルを記憶するために必要とされるメモリの量を低減させるため、有利である。具体的には、ローリングバッファ1706は、任意の所与の時間において、ビデオデータのフレームのサブセットのみを記憶し、かつローリングベースでそれを行う。例えば、いくつかの実施形態では、ローリングバッファ1706は、48行の非歪曲補正画像データの群を記憶する。各行は、例えば、1280ピクセルから成ってもよい。ローリングバッファ1706は、48行の非歪曲補正画像データを記憶するように説明されるであろうが、他の実施形態では、ローリングバッファ1706は、異なる量(例えば、行の数)の非歪曲補正画像データを記憶してもよいことを理解されたい。非歪曲補正画像データの各新しい行が、ローリングバッファ1706の中に読み込まれるにつれて、先入れ先出し(FIFO)ベースで、ローリングバッファ1706内に以前に記憶された行に取って代わる。例えば、ローリングバッファ1706が、現在、行0-47を記憶している場合、行48が、バッファの中に読み込まれると、行0は、除外され得る。非歪曲補正画像データの新しい行は、一度に1つまたは一度に複数の行でローリングバッファ1706の中に読み込まれることができる。
【0314】
ローリングバッファ1706はまた、電力を低減させ、ピクセル処理パイプライン1700のスループットを改良することに役立つ。これは、フレームバッファ1702からの任意の所与の行の非歪曲補正ピクセルが、種々の異なる歪曲補正ピクセルの計算のために多くの異なる時間に(システム80の光学歪曲/収差に応じて)ピクセル補間器1710内で使用されるために要求され得るため可能となる。ローリングバッファ1706がなければ、所与の行の非歪曲補正ピクセルは、複数回、読み取られ、破棄され得る。しかし、ローリングバッファ1706は、画像データの群を保持するため、同一ピクセルのために、フレームバッファ1702から繰り返される読取操作を実施する必要性を回避することに役立つ。
【0315】
ピクセル処理パイプライン1700が、ビデオデータの所与のフレームのために、レンズ歪曲補正の実施を開始すると、ローリングバッファ1706は、例えば、本明細書に説明される制御データ内に規定される、ある行から開始する、48行の非歪曲補正画像データで充填されることができる。制御データが、レンズ歪曲補正が歪曲補正画像データの最初の行(すなわち、行0)から開始するであろうことを示す場合、行0-47の非歪曲補正画像データが、ローリングバッファ1706の中にロードされる。
【0316】
ピクセル処理パイプライン1700は、次いで、本明細書に説明される技法に従って、歪曲補正ピクセルの値の計算を開始する。そうすることによって、歪曲補正ピクセルの最初の行(すなわち、行0)は、非歪曲補正画像データの第1の48行(すなわち、行0-47)のいずれかに依存し得、これは、ローリングバッファ1706の中にロードされる。言い換えると、システム80は、画像データを48行も離れた場所まで歪曲させる、光学歪曲を取り扱うことができる。ローリングバッファ1706のサイズは、システム80内に存在する光学歪曲の典型的大きさに基づいて選択されることができ、より大きいローリングバッファは、より大きな光学歪曲の補正を可能にするが、付加的メモリリソースを要求することを犠牲にする。
【0317】
ピクセル処理パイプライン1700は、論理を含み、これは、歪曲補正ピクセルの最初の行(すなわち、行0)が計算された後、ローリングバッファ1706をそのまま保つ(すなわち、任意の新しい非歪曲補正画像データをロードしない)か、またはローリングバッファ1706をスライドダウンさせるか(例えば、非歪曲補正画像データの1つまたは2つの新しい行をロードする)どうかを決定する。本論理は、ローリングバッファ1706が要求される非歪曲補正ピクセルを含むであろう尤度を向上させるように、必要な任意の方法において、48行ローリングバッファ1706を計算されている歪曲補正ピクセルの現在の行に対して位置付ける柔軟性を有する。例えば画像データのフレームの上部近傍の歪曲補正ピクセルが、算出されているとき、ローリングバッファ1706は、画像データの後続の47行内の任意の非歪曲補正ピクセルが計算において使用されることを可能にするように位置付けられ得る。画像データのフレームの中央近傍の歪曲補正ピクセルが、算出されているとき、ローリングバッファ1706は、歪曲補正ピクセルの位置の約24行上方または下方の任意の非歪曲補正ピクセルが算出において使用されることを可能にするように位置付けられ得る。最後に、画像データの最後の行内の歪曲補正ピクセルが、算出されているとき、ローリングバッファ1706は、先行する47行内の任意の非歪曲補正ピクセルへのアクセスを可能にするように位置付けられ得る。このように、ローリングバッファ1706の位置は、算出されている歪曲補正ピクセルの現在の行に対して改変されることができる。いくつかの構成では、ローリングバッファ1706の位置は、歪曲補正ピクセルを算出するとき、非歪曲補正画像データの最初の行と最後の行との間で平滑に改変され得る。
【0318】
いくつかの実施形態では、歪曲補正ピクセルの各行の算出を終了後、ローリングバッファ1706を更新するための3つの可能性として考えられるオプションが存在する、すなわち、1)ローリングバッファ1706を更新しない(すなわち、ゼロ付加的行の非歪曲補正画像データが追加される)、2)ローリングバッファ1706を1つの付加的行の非歪曲補正画像データで更新する、または3)ローリングバッファ1706を2つの付加的行の非歪曲補正画像データで更新する。他の実施形態では、アルゴリズムは、他の数の付加的行の非歪曲補正画像データがローリングバッファ1706の中に読み込まれることを可能にすることができる。
【0319】
行われるべきこれらの3つの過程のアクションのいずれかを決定するための例示的アルゴリズムは、以下に概略される。第1に、非歪曲補正画像データの最後の行(例えば、制御データの構成に応じて、行959または960)がすでにローリングバッファ1706の中にロードされているかどうか、またはロードされるために利用可能な付加的行の非歪曲補正画像データが存在するかどうかを決定する。第2に、定歪曲補正画像データの現在の行を生成するために必要とされる最小行の非歪曲補正画像データとして定義された第1の変数を決定する。第3に、歪曲補正画像データの前の行を生成するために必要とされる最小行の非歪曲補正画像データとして定義された第2の変数を決定する。2つの変数間の差異が、ゼロである場合、ローリングバッファ1706を更新しない。2つの変数間の差異が、1である場合、1つの付加的行の非歪曲補正画像データを追加することによって、ローリングバッファ1706を更新する。2つの変数間の差異が、2つ以上の場合、2つの付加的行の非歪曲補正画像データを追加することによって、ローリングバッファ1706を更新する。他のアルゴリズムもまた、ローリングバッファ1706を位置付けるために使用されることができる。
【0320】
ローリングバッファ1706は、所与の補間される非歪曲補正ピクセル(例えば、P0’)、故に、対応する歪曲補正ピクセル(例えば、P0)の値を決定するために、ピクセル補間器1710によって必要とされる、非歪曲補正ピクセルの全てを記憶するとき、優れた性能を発揮する。しかし、ある場合には、特定のセット座標(x’,y’)は、ローリングバッファ1706において利用不可能な非歪曲補正ピクセルを要求し得る。これは、異常に大きい歪曲の場合に生じ得る。そのような場合、要求されるが、ローリングバッファ1706内に存在しない、非歪曲補正ピクセルは、黒色ピクセルとして処理され得る、またはローリングバッファ1706内で利用可能なその最近傍のピクセルが、代わりに使用され得る。
【0321】
ローリングバッファフェッチャ1708は、決定されている現在の歪曲補正ピクセル(例えば、P0)の値を計算するために必要とされる補間される非歪曲補正ピクセル(例えば、P0’)のための座標(例えば、(x’,y’))を受信し、次いで、レンズ歪曲補正計算のために必要とされる非歪曲補正ピクセルを識別し、ローリングバッファ1706からフェッチする。本プロセスは、ピクセル処理パイプライン1700が、典型的には、算出スループットを増加させるために、複数の並列処理経路を有し得るという事実によって複雑となる。前述のように、複数の並列経路の必要性は、比較的に大量の画像データ(例えば、それぞれ、3つの色サブフレームを含む、3つの深度平面)および比較的に高フレームレート(例えば、80または120フレーム/秒)に起因して生じる。いくつかの実施形態では、8つの並列処理経路が存在する。これは、8つの歪曲補正ピクセルが、補間器1710によって同時に(例えば、1つのクロックサイクル内で)決定され、これが、順に、ローリングバッファフェッチャ1708が、それらの8つの歪曲補正ピクセルを決定するために必要とされる非歪曲補正ピクセルの全てを同時に(例えば、1つのクロックサイクル内で)提供することを要求することを意味する。ローリングバッファフェッチャ1708の仕事はさらに、ピクセル補間器1710が、設定サイズおよび形状を有する非歪曲補正ピクセルのグループを受け取るためにハードワイヤードされ得るという事実によって複雑となる。ローリングバッファフェッチャ1708は、したがって、ローリングバッファ1706内において、ピクセル補間器1710が受け取るためにハードワイヤードされる設定サイズおよび形状に合致する、非歪曲補正ピクセルのマクロブロックを識別する。ローリングバッファフェッチャ1708は、1つのクロックサイクル内において、非歪曲補正ピクセルのマクロブロックをローリングバッファ1706からともに読み取り、マクロブロックをピクセル補間器1710に供給する。そのようなマクロブロック2220の実施例は、図22に示される。図示される実施形態では、マクロブロック2220は、3×11グループの非歪曲補正ピクセルであるが、他の実施形態では、異なる寸法を有してもよい。例えば、いくつかの実施形態は、6×4マクロブロックを使用してもよい。
【0322】
図24Aは、ローリングバッファ1706内の例示的マクロブロック2220を図示する。すでに議論されたように、ローリングバッファ1706は、48行の非歪曲補正画像データを含み、これは、レンズ歪曲補正計算において使用されるために利用可能である。一方、マクロブロック2220は、それらの非歪曲補正ピクセルを図示し、これは、実際には、歪曲補正ピクセルを決定するために、所与のクロックサイクルの間、ローリングバッファ1706から読み取られ、ピクセル補間器1710に提供される。いくつかの実施形態では、非歪曲補正ピクセルのマクロブロック2220をグループとしてともにフェッチすることは、複数の読取サイクルの実施がピクセル処理パイプライン1700を減速させる可能性が高いであろうため、複数の読取サイクルを実施して、ピクセル補間器1710内で必要とされるピクセルをフェッチする必要性を回避することに役立つ。しかしながら、これは、ローリングバッファフェッチャ1708が、全8つの歪曲補正ピクセル(例えば、P0、P1、P2、P3、P4、P5、P6、およびP7)の決定のために必要とされる非歪曲補正ピクセルの全てを含む尤度を有するマクロブロック2220を選択するための論理を含まなければならないことを意味する。
【0323】
図22において明白であるように、マクロブロック2220が歪曲補正ピクセル(すなわち、P0、P1、P2、P3、P4、P5、P6、およびP7)の決定のために必要とされる非歪曲補正ピクセルの全てを包含するかどうかは、歪曲補正ピクセルを決定するために必要とされる補間される非歪曲補正ピクセル(すなわち、P0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’)の拡散、すなわち、ローカル歪曲に依存する。ローカル歪曲が存在しない(すなわち、ピクセルP0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’が全て、ちょうどP0、P1、P2、P3、P4、P5、P6、およびP7のように、8つの連続ピクセルの行内にある場合)、8つの歪曲補正ピクセルは補間される非歪曲補正ピクセル(すなわち、P0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’)毎の4つのピクセル(すなわち、A、B、C、およびD)の重複グループのバイリニア補間に起因して、2×9ブロックの非歪曲補正ピクセルに依存するであろう。図示される実施形態では、3×11マクロブロック2220は、1つの余剰行と、2つの余剰列とを有し、補間される非歪曲補正ピクセルP0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’間のある程度のローカル歪曲を可能にする。しかしながら、3×11マクロブロック2220は、単に、一実施例であって、他の実施例は、異なる寸法を伴うマクロブロックを使用することができることを理解されたい。他の実施形態では、マクロブロック2220のサイズは、システム80内に典型的に存在するローカル光学歪曲の量に基づいて決定されてもよい。マクロブロック2220のサイズが、増加される場合、より大きいローカル歪曲が、対処され得る。しかしながら、マクロブロック2220のサイズの増加はまた、補間器1710のサイズがより多数のピクセルの入力に適応するために増加されることを要求し得る。
【0324】
再び、図22を参照すると、P0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’のための8つの座標のセットが全て、ローリングバッファフェッチャ1708にともに提供される。ローリングバッファフェッチャ1708の第1のタスクは、ピクセルP0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’を計算するために要求される非歪曲補正ピクセルを決定することである。正しい3×11マクロブロック2220をローリングバッファ1706からフェッチするために、ローリングバッファフェッチャ1708は、例えば、存在する最小水平および垂直座標を決定し、合致する最小水平および垂直座標を伴うマクロブロック2220をフェッチすることによって、P0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’の座標を分析することができる。補間される非歪曲補正ピクセルのための座標のセットからのこれらの最小水平および垂直座標に基づいて、ローリングバッファフェッチャ1708は、所望のマクロブロック2220のアドレスをローリングバッファ1706に送信する。これは、図20および21に示される。ローリングバッファ1706は、非歪曲補正ピクセルの選択されたマクロブロック2220をローリングバッファフェッチャ1708に提供することによって応答する。図20および21に示されるように、3×11マクロブロック2220の場合、ローリングバッファ1706からの出力は、3つの信号ライン(マクロブロック2220の行毎に1つ)から成り、それぞれ、88ビット、すなわち、11バイト(ピクセル毎に1つ)を提供する。ローリングバッファフェッチャ1708は、次いで、マクロブロック2220内のピクセルをピクセル補間器1710に通過させ、歪曲補正ピクセルを決定する。
【0325】
ピクセル補間器1710は、8つの歪曲補正ピクセルが同時に決定されることを可能にするように、例えば、8つの別個の補間ユニットを含んでもよい。1つの補間ユニットが存在し、補間される非歪曲補正ピクセルP0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’のそれぞれを計算し、故に、対応する歪曲補正ピクセルP0、P1、P2、P3、P4、P5、P6、およびP7の値を決定する。すでに議論されたように、各補間される非歪曲補正ピクセルは、補間される非歪曲補正ピクセルの場所を囲繞する、4つの隣接するピクセル(例えば、A、B、C、D)のグループ2210間を補間することによって計算されてもよい。マクロブロック2220は、選定するための4つの隣接するピクセルの複数の異なる可能性として考えられるグループ2210を含むため、各補間ユニットは、対応するマルチプレクサを有してもよく、これは、補間ユニットによって必要とされる4つの隣接するピクセルの具体的グループ2210を選択することに関与する。これらのマルチプレクサはそれぞれ、4つの隣接するピクセルの複数のグループ2210をマクロブロック2220から受信するためにハードワイヤードされてもよい。各マルチプレクサは、1つのそのようなグループ2210を選択し、入力として対応する補間器ユニットに通過させる。各マルチプレクサはまた、対応する補間器ユニットに通過させるための4つの隣接するピクセルの複数のグループ2210のいずれかを選択し、補間される非歪曲補正ピクセルのうちの1つを計算し、故に、対応する歪曲補正ピクセルを決定するための論理を含んでもよい。
【0326】
図24Bは、マクロブロック2220からのピクセルをピクセル補間器1710内の8つの補間ユニットに通過させるための例示的マルチプレクサ論理2400を図示する。8つの補間ユニットは、bilerp0、bilerp1、bilerp2等と標識される。図24Bはまた、マクロブロック2220およびその33のピクセルのそれぞれの標識を示す。ライン0内のピクセルは、P0、P1、P2等と標識される。ライン1内のピクセルは、Q0、Q1、Q2等と標識される。ライン2内のピクセルは、R0、R1、R2等と標識される。マルチプレクサ論理2400は、4つの隣接するピクセルのいくつかの候補グループ2210を示し、これは、補間ユニットのそれぞれに対応するマルチプレクサに提供される。例えば、第1の補間ユニットbilerp0のためのマルチプレクサは、P0、P1、Q0、およびQ1から成るマクロブロック2220内の4つの隣接するピクセルの第1のグループと、Q0、Q1、R0、およびR1から成るマクロブロック2220内の4つの隣接するピクセルの第2のグループとの間で選択し得る。計算されるための各補間される非歪曲補正ピクセル(例えば、P0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’)の座標は、マルチプレクサのうちの1つの選択ラインをアドレス指定するために使用されることができる。マルチプレクサの選択ラインを正しくアドレス指定するために、各補間される非歪曲補正ピクセルの座標は、マクロブロック2220の最小水平および垂直座標(ローリングバッファフェッチャ1708によって前もって決定されるように)を減算することによって、3×11マクロブロック2220の座標空間にマッピングされることができる。マルチプレクサ選択ラインへのこれらの入力に基づいて、マルチプレクサは、順に、正しい非歪曲補正ピクセルデータを補間ユニットに通過させ、補間される非歪曲補正ピクセルP0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’を計算し、故に、対応する歪曲補正ピクセルP0、P1、P2、P3、P4、P5、P6、およびP7を決定する。
【0327】
いくつかの実施形態では、マクロブロック2220内の4つの隣接するピクセルの全ての可能性として考えられるグループ2210が、8マルチプレクサのそれぞれに提供され、8つの補間ユニットのそれぞれへの可能性として考えられる入力としての役割を果たす。しかしながら、ピクセル補間器1710内の論理のサイズは、各歪曲補正ピクセルがマクロブロック2220のサブ部分からのピクセルのみを要求する可能性が高いことを認識することによって、低減されることができる。例えば、図22を参照すると、歪曲補正ピクセルP7は、補間される非歪曲補正ピクセルP7’に対応し、これは、マクロブロック2220の右側に向かって位置する可能性が高い。したがって、P7を決定することに関与する補間ユニットは、P7の値を決定するために、マクロブロック2220の左側に向かって位置する非歪曲補正ピクセルを要求する可能性はないであろう。同様に、歪曲補正ピクセルP3およびP4の値は、非歪曲補正ピクセルP3’およびP4’に対応し、これは、マクロブロック2220の中央の近傍に位置する可能性が高く、したがって、マクロブロック2220の側面の近傍に位置する非歪曲補正ピクセルの値に依拠する可能性はない。故に、マルチプレクサ論理2400は、各マルチプレクサが非歪曲補正ピクセルをマクロブロック2220の関連サブ部分からのみ受信するように構成されてもよい。マルチプレクサ毎の関連サブ部分は、対応する歪曲補正ピクセルを計算するために依拠されるであろう、マクロブロック2220の可能性が高い部分に対応するように選択されてもよい。例えば、図24Bに示されるように、bilerp1のためのマルチプレクサは、マクロブロック2220の列0-4からのピクセルのみを受信してもよい。bilerp2のためのマルチプレクサは、マクロブロック2220の列1-5からのピクセルのみを受信してもよい。bilerp3のためのマルチプレクサは、マクロブロック2220の列2-4からのピクセルのみを受信してもよく、以降同様に続く。
【0328】
ローリングバッファフェッチャ1708は、対応する8つの歪曲補正ピクセル(例えば、P0、P1、P2、P3、P4、P5、P6、およびP7)の値として使用されるであろう、全8つの補間される非歪曲補正ピクセル(例えば、P0’、P1’、P2’、P3’、P4’、P5’、P6’、およびP7’)の値を計算するために必要とされる、ピクセルの全てをローリングバッファ1706から読み取るとき、優れた性能を発揮する。しかし、ある場合には、座標(x’,y’)のセットは、ローリングバッファ17706から読み取られるマクロブロック2220内に存在しない、非歪曲補正ピクセルを要求し得る。そのような場合、欠失ピクセルは、黒色ピクセルとして処理されることができる、または、マクロブロック2220内に存在するその最近傍ピクセルが、代わりに使用されることができる。
【0329】
いったん歪曲補正ピクセル(例えば、P0、P1、P2、P3、P4、P5、P6、およびP7)が、ピクセル補間器1710によって決定されると、それらは、フラットフィールド補正ブロック1730に通過される。フラットフィールド補正ブロック1730は、少なくとも部分的に、本明細書に説明されるディスプレイ62を横断して存在し得る、望ましくない明度の変動を補正することができる。前述のように、ディスプレイ62は、導波管(182、184、186、188、190)のスタックを含んでもよく、これは、画像の種々の深度平面の種々のカラーフィールドに対応する光をユーザ60の眼に分散させる。ディスプレイ62はまた、各特徴との交差点において、光の一部のみが、ユーザ60の眼に向かって指向される一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を伴う回折特徴等の光再指向要素(282、284、286、288、290)を含むことができる。画像データを搬送する光は、したがって、複数の場所において導波管から出射する、いくつかの関連出射ビームに分割される。導波管および回折特徴は、典型的には、比較的に均一パターンの出射ビームをユーザ60の眼に向かって提供するように設計されるが、ディスプレイ62の光学複雑性は、異なる場所において出力する、光の量にある程度の不均衡をもたらし得る。これらの不均衡は、ディスプレイ62の異なる部分上に示される場合、同一色および/または明度を有するように意図され得る2つのピクセルを異なるように現れさせ得る。これらの不均衡は、フラットフィールド補正ブロック1730によって補正されることができる。
【0330】
いくつかの実施形態では、フラットフィールド補正ブロック1730は、明度補正値を画像データの各ピクセルに適用する。明度補正値は、それぞれ、対応するピクセル値の数倍である、係数であり得る。例えば、いくつかの実施形態では、明度補正値は、ゼロ~2の範囲であるが、他の範囲もまた、使用されることができる。明度補正値のための範囲は、任意の所与のピクセルの明度を、ディスプレイ62に固有であり得る、明度不平衡を補償するために必要な程度まで動的に増加または減少させるための柔軟性を提供するように選択されることができる。明度係数は、いったん画像データがディスプレイ62上に示されると、望ましくない明度変動を低減させるように、実験的(例えば、既知の較正画像をシステム70に入力し、表示される画像と較正画像を比較することによって)または理論的(例えば、光線追跡アルゴリズムを使用することによって)に決定されることができる。
【0331】
明度補正値は、ディスプレイコントローラにアップロードされたルックアップテーブル内に記憶されることができる。画像データの各深度平面の各カラーフィールドは、一意の明度補正値のセットを有することができる。したがって、それぞれ、3つのカラーフィールドを有する、3つの深度平面から成る画像データ内には、合計9つのルックアップテーブルが、構成の間、提供されることができる。高分解能画像データに関して、9つの完全分解能ルックアップテーブルを記憶するために要求されるメモリの量は、有意であり得る。故に、明度補正値のためのルックアップテーブルは、低減された分解能で記憶されることができる。1280×960の分解能を伴う画像データの場合、例えば、ルックアップテーブルは、80×60(またはルックアップテーブルの外部グリッドを考慮するための81×61)の低減された分解能を有することができる。低減された分解能テーブルは、例えば、バイリニア補間を使用して、操作の間、完全サイズに拡張されることができる。
【0332】
フラットフィールド補正ブロック1730からの出力ピクセルは、ガンマ補正ブロック1740に通過されることができ、これは、従来のガンマ補正を適用する。最後に、ガンマ補正ブロック1740からの出力ピクセルは、図9に関して説明されるように、ディスプレイ62へのカラーシーケンシャル出力のために、カラーフィールドバッファ1750に通過されることができる。
【0333】
図61は、2つの実施形態による、システム配列を描写する。第1の実施形態は、画像データを画像生成器から受信し、画像データを操作し(例えば、制御データを除去する)、画像データのみを伝送し、パネルを表示する、VR/AR/MRシステムのディスプレイコントローラによって実装されるピクセル処理パイプラインを描写する。しかしながら、図61に示されるように、ピクセル処理パイプラインはまた、遠隔プロセッサ(「ベルトパックプロセッサ」)および/またはDP/MPIブリッジ(第2の実施形態)によっても実装されることができる。これらのピクセル処理パイプライン場所は、例示にすぎず、ピクセル処理パイプラインは、VR/AR/MRシステムの種々の他のコンポーネントによって実装されることができる。
【0334】
頭部姿勢データに基づく後の画像ワーピング
本明細書に議論されるように、システム80は、ヘルメット、眼鏡、ゴーグル等の身体搭載型ディスプレイを含むことができる。加えて、システム80は、ジャイロスコープ、加速度計等のセンサを含むことができ、これは、3次元においてユーザ60の頭部の位置、配向、速度、および/または加速を推定および追跡するために使用され得る、測定を実施する。センサは、ユーザ60によってその頭部上に装着される慣性測定ユニットに提供されることができる。このように、ユーザ60の頭部姿勢は、例えば、頭部の配向を示す、ベクトルとして推定されることができる。これ等の頭部姿勢情報は、ユーザ60がVR/AR/MR場面と相互作用することを可能にする手段として使用されることができる。例えば、ユーザ60が、その頭部を旋回または傾斜させる場合、場面は、対応する様式でワーピング、すなわち、調節されることができる(例えば、場面の視野は、偏移または傾斜されることができる)。
【0335】
図25Aは、頭部姿勢情報に基づいて、画像データをワーピングするための例示的システム2500aを図示する。システム2500aは、慣性測定ユニット2510aを含み、これは、ユーザ60の頭部姿勢を計算するために使用され得る、測定を行い、それを追跡する。また、ユーザ60の頭部の位置および配向を検出するために使用され得る、他のタイプのセンサも含むことができる。これらは、例えば、外向きに面したビデオカメラを含むことができる。慣性測定ユニット2510aおよび他のセンサからのデータは、頭部姿勢プロセッサ2512aに通過される。頭部姿勢プロセッサ2512aは、全てのソースからの頭部姿勢測定データを分析し、ユーザ60の現在の頭部姿勢を決定する。代替として、および/または加えて、頭部姿勢プロセッサ2512aは、現在および過去の頭部姿勢測定データを使用し、将来の1つ以上の瞬時におけるユーザ60の頭部姿勢を予測することができる。
【0336】
システム2500aはまた、GPU2520aを含む。GPU2520aは、ユーザ60に表示されるための仮想、拡張、および/または複合現実画像データをレンダリングすることに関与する。頭部姿勢プロセッサ2512aによって決定されるようなユーザ60の現在および/または予測される頭部姿勢は、GPU2520aに入力されることができる。本頭部姿勢情報は、GPU2520aによって使用され、画像データがレンダリングされるための視錐台を決定することができる。加えて、GPU2520aは、ワーピングプロセッサ2524aを含み、これは、頭部姿勢情報を使用して、ユーザ60の頭部の位置、配向、および/または移動に基づいて、適切な画像ワーピング操作を実施する。画像ワーピング操作は、例えば、回転、平行移動偏移、および任意の他の変換を含むことができ、これは、ユーザ60の頭部姿勢の変化を補償する。
【0337】
GPU2520aからレンダリングされた画像データは、次いで、ディスプレイコントローラ2530aに通過される。本明細書に議論されるように、ディスプレイコントローラ2530aは、深度平面の混成および光学歪曲の補正等の機能を用いて、レンダリングされた画像データを処理することができる。ディスプレイコントローラ2530aは、次いで、画像データをディスプレイドライバ2540aに走査出力し、これは、次いで、画像データをディスプレイ2550a上に示させる。
【0338】
図25Aに示されるシステム2500aのタイプは、頭部姿勢に基づいて、画像データをワーピングすることができるが、そうする際にいくつかの限界を有する。例えば、GPU2520aおよびディスプレイコントローラ2530a内には、処理遅延が存在する。加えて、画像データをディスプレイドライバ2550aに提供するための走査出力時間と関連付けられた遅延も存在する。走査出力時間は、典型的には、システム2500aのフレームレートに依存する。例えば、60fpsのフレームレートは、典型的には、約1/60=16msの走査出力時間を伴う一方、120fpsのフレームレートは、典型的には、約1/120=8msの走査出力時間を伴い、240fpsのフレームレートは、典型的には、約1/240=4msの走査出力時間を伴う。したがって、GPU2520aが、その時点のユーザ60の頭部姿勢に基づいて、画像ワーピングを実施する場合、頭部姿勢は、画像データが実際にディスプレイ2550a上に示される前に、変化しがちである。代替として、GPU2520aは、ユーザ60の予測される将来的頭部姿勢に基づいて、画像ワーピングを実施することができるが、予測される将来的頭部姿勢の正確度は、予測誤差が予測される頭部姿勢に対して経時的に増加し得るため、不適正であり得る。VRシステムは、ユーザ60には、典型的には、彼らに提示される仮想画像データのみが見え得るため、この点において、ある程度の遅延および/または不正確度に耐性があり得る。しかし、ARおよびMRシステムは、典型的には、頭部姿勢ベースの画像データワーピングにおける遅延および/または不正確度により敏感である。これは、ユーザ60にはその実世界周囲とともに仮想画像データが見えるという事実に起因する。
【0339】
GPUを用いて頭部姿勢ベースの画像ワーピングを実施することと関連付けられた問題のいくつかは、代わりに、ディスプレイコントローラを用いて、画像ワーピングの一部または全部を実施することによって緩和され得る。
【0340】
図25Bは、頭部姿勢情報に基づいて画像データをワーピングさせるための改良されたシステム2500bを図示する。改良されたシステム2500bは、慣性測定ユニット2510bを含み、これは、他の随意の位置検出センサとともに、頭部姿勢測定データを捕捉する。頭部姿勢測定データは、慣性測定ユニット2510bによって、頭部姿勢プロセッサ2512bに提供される。頭部姿勢プロセッサ2512bは、頭部姿勢測定データを使用して、ユーザ60の現在および/または予測される頭部姿勢を決定する。頭部姿勢プロセッサ2512bによって計算される頭部姿勢情報は、GPU2520bに入力される。GPU2520bは、本頭部姿勢情報を使用して、ユーザ60に表示されるための仮想画像データをレンダリングするための視錐台を決定する。GPU2520bはまた、頭部姿勢プロセッサ2512bから提供される頭部姿勢情報に基づいて1つ以上の画像ワーピング操作を画像データに実施するためのワーピングプロセッサ2524bを含む。GPU2520bは、次いで、レンダリングされた画像データをディスプレイコントローラ2530bに提供する。
【0341】
本明細書に議論されるように、画像回転およびピクセル偏移等の画像ワーピング操作は、いくつかの理由から、ディスプレイコントローラ2530bによって行われることができる。ピクセル偏移および画像回転は、画像データが、例えば、ユーザ60の頭部移動に起因して、ディスプレイ2550b上で移動される必要がある場合に実施されることができる。そのような場合、画像データのコンテンツは、同一であり得るが、ディスプレイ62上の視認エリア内のその場所は、偏移される必要があり得る。画像データをGPU2520bにおいて再レンダリングし、再び、ピクセルのセット全体をディスプレイコントローラ2530bに送信するのではなく、ピクセル偏移および/または画像回転が、画像ワーピング制御データを使用して、画像データに適用されることができる。図10および11に図示されるように、画像ワーピング制御データを含む、制御データは、フレームの開始時に含まれることができる。代替として、および/または加えて、画像ワーピング制御データは、フレーム内で(例えば、最初の行後)またはフレームの終了時に送信されることができる。これは、例えば、モバイル産業プロセッサインターフェース(MIPI)ディスプレイシリアルインターフェース(DSI)仮想チャネルを使用して行われることができる。
【0342】
ピクセル偏移および/または画像回転はまた、ユーザ60がその頭部を移動させ、ピクセルのより正確な表現が所望される場合にも実施されることができる。GPU2520bに画像を再レンダリングさせるのではなく、後の画像ワーピング操作は、有意な低遅延を伴って、ディスプレイコントローラ2530bによって適用されることができる。本明細書に説明される任意のピクセル偏移および/または画像回転は、単一深度平面または複数の深度平面に影響を及ぼしてもよい。すでに本明細書で議論されたように、いくつかの実施形態では、種々の深度平面が表示されるときの間の時間に差異が存在する。これらの時間差の間、ユーザ60は、視錐台が偏移される必要があり得るように、その眼を偏移させ得る。これは、深度平面のいずれかのためのピクセル偏移を使用して遂行されることができる。
【0343】
画像ワーピング制御データは、単一深度平面のフレーム内のX-Y方向におけるピクセル偏移を示すことができる。代替として、および/または加えて、ピクセル偏移制御データは、深度平面バッファ間のZ方向における偏移を示すことができる。例えば、1つ以上の深度平面に以前に表示されたオブジェクトは、Z-ピクセル偏移を用いて設定された別の深度平面に移動してもよい。本タイプの偏移はまた、深度毎に部分的画像を拡大または縮小させるためのスケーラを含むことができる。例えば、表示されるキャラクタが2つの深度平面間に浮遊しており、別のオブジェクトによるそのキャラクタのオクルージョンが存在しないと仮定する。深度方向におけるキャラクタの見掛け移動は、Z-ピクセル偏移およびスケーラを使用して、キャラクタを1つ以上の深度平面の前方または後方に再描画することによって遂行されることができる。これは、キャラクタを再レンダリングし、フレーム更新をディスプレイコントローラ2530bに送信することなく遂行され、より平滑な運動性能をはるかに低い算出コストでもたらすことができる。
【0344】
スケーラはまた、例えば、レンズ192、194、196、198の結果、ディスプレイ内に生じる、拡大効果を補償するために使用されることができる。そのようなレンズは、ユーザによって観察可能な仮想画像を作成し得る。仮想オブジェクトが、1つの深度平面から別の深度平面に移動すると、仮想画像の光学拡大は、実際には、物理的世界内で予期されるであろうものの反対であり得る。例えば、オブジェクトが視認者からより遠い深度平面に位置するときの物理的世界では、オブジェクトは、より近い深度平面に位置する場合より小さく現れる。しかしながら、仮想オブジェクトが、ディスプレイ内のより近い深度平面からより遠い深度平面に移動するとき、レンズは、実際には、オブジェクトの仮想画像を拡大させ得る。したがって、いくつかの実施形態では、スケーラが、ディスプレイ内の光学拡大効果を補償するために使用される。スケーラは、深度平面毎に提供され、光学によって生じる拡大効果を補正することができる。加えて、スケーラは、色あたりベースで対処されるべき任意のスケーリング問題が存在する場合、色毎に提供されることができる。
【0345】
いくつかの実施形態では、最大水平ピクセル偏移は、パネル幅全体に対応することができる一方、最大垂直ピクセル偏移は、パネル高さ全体に対応することができる。正のおよび負の偏移は両方とも、制御データによって示されることができる。本ピクセル偏移情報を使用して、ディスプレイコントローラは、ビデオデータのフレームを左または右、上または下、および深度平面間の前方または後方に偏移させることができる。ピクセル偏移情報はまた、左眼ディスプレイパネルから右眼ディスプレイパネルまたはその逆に、ビデオデータのフレームを完全または部分的に偏移させることができる。ピクセル偏移情報は、ライトフィールドビデオデータ内の深度平面毎に含まれることができる。
【0346】
走査ベースのディスプレイが使用されるもの等のいくつかの実施形態では、インクリメント分散型画像ワーピング操作(例えば、ピクセル偏移および/または画像回転)が、実施されることができる。例えば、異なる画像ワーピング操作が、ビデオデータのフレームのための異なる色成分サブフレーム画像データに実施されることができる(例えば、各サブフレーム画像が処理されているときに利用可能な現在の頭部姿勢情報に基づいて)。例えば、最初に処理および/または表示される、ピクセルは、中間フレーム頭部移動を補償するために、または仮想オブジェクトの運動をシミュレートするために、フレーム内で後に処理/表示されるピクセルより多くまたはより少なく偏移されることができる。同様に、異なる画像ワーピング操作が、異なる深度平面に実施されることができる(例えば、各深度平面が処理されているときに利用可能な現在の頭部姿勢情報に基づいて)。例えば、1つの深度平面におけるピクセルは、別の深度平面におけるピクセルより多くまたはより少なく偏移されることができる。いくつかの実施形態では、眼追跡技術が、ユーザ60が固視しているディスプレイ画面の部分を決定するために使用される。異なる深度平面内またはさらに単一深度平面内の異なる場所における仮想オブジェクトは、ユーザ60がディスプレイのその部分を見ているかどうかに応じて、ピクセル偏移され(または偏移されず)、および/または回転されることができる。ユーザが固視していないオブジェクトが存在する場合、それらのオブジェクトのための画像ワーピング制御データは、ユーザが固視している画像データをワーピングさせるための性能を改良するために無視されてもよい。再び、眼追跡装置が、ユーザ60が見ているディスプレイ62上の場所を決定するために使用されることができる。
【0347】
図25Bに戻って参照すると、GPU2520bからレンダリングされた画像データは、ディスプレイコントローラ2530bに、制御データとともに提供されることができる。改良されたシステム2500bの実施形態では、レンダリングされた画像データを具備する制御データは、画像ワーピング操作を実施するためにGPU2520bによって使用された頭部姿勢情報を含んでもよい。制御データはまた、タイムスタンプを含むことができ、これは、GPU2520bが画像ワーピング操作を実施するために使用した頭部姿勢情報に対応する瞬間(例えば、頭部姿勢情報を決定するために使用された測定が捕捉された瞬間)を示す。タイムスタンプは、クロック2560bからのクロック信号を使用して生成されることができる。
【0348】
ディスプレイコントローラ2530bは、レンダリングされた画像データをGPU2520bから受信し、光学歪曲補正、深度平面混成等を含む、本明細書で議論される処理タスクのいずれかを実施してもよい。加えて、改良されたシステム2500bでは、慣性測定ユニット2510bは、画像データがGPU2520bによって処理される時間周期の間および後に、直接、更新された頭部姿勢測定データをディスプレイコントローラ2530bに提供することができる。これは、図25Bに示されるように、専用チャネルを使用して行われてもよい。または、更新された頭部姿勢測定データは、ディスプレイコントローラ2530bに制御データとして提供されることができ、これは、レンダリングされた画像データがGPU2520bからディスプレイコントローラ2530bに提供される直前に、レンダリングされた画像データとともに挿入される。本制御データは、ソフトウェアが、最新の頭部姿勢測定データが画像データの最後の行が送信された直後にバッファに書き込まれることを保証することができない場合に、専用ハードウェアによって追加されてもよい。専用チャネルまたは付加される制御データを介して、更新された頭部姿勢測定データを送達する場合のいずれかでは、ディスプレイコントローラ2530bに提供される更新された頭部姿勢測定データは、タイムスタンプが付けられることができる。タイムスタンプは、クロック2560bからのクロック信号を使用して生成されることができる。図示されるように、クロック2560bは、同一クロック信号を慣性測定ユニット2510b、頭部姿勢プロセッサ2512b、GPU2520b、およびディスプレイコントローラ2530bに提供することができる。本共通クロック信号を使用して、これらのデバイスはそれぞれ、時間ベースの頭部姿勢関連画像ワーピング操作を実施するための共通基準フレームを有することができる。
【0349】
ディスプレイコントローラ2530bは、頭部姿勢プロセッサ2532bと、ワーピングプロセッサ2534bとを含む。頭部姿勢プロセッサ2532bは、慣性測定ユニット2510bによって提供される更新された頭部姿勢測定を使用して、現在の頭部姿勢情報を決定してもよい。典型的には、ディスプレイコントローラ2530bの内側の頭部姿勢プロセッサ2532bによって生成された頭部姿勢情報は、画像ワーピング操作を行うためにGPU2520bによって使用される頭部姿勢情報より最新である。これは、慣性測定ユニット2510bが、典型的には、画像データをレンダリングするためにGPU2520bによって要求される時間より高速のレートで頭部姿勢測定を捕捉することができるためである。言い換えると、画像データが、GPU2520bによってレンダリングされ、次いで、ディスプレイコントローラ2530bに通過される間、慣性測定ユニット2510bは、更新された頭部姿勢測定データの収集を継続する。ディスプレイコントローラ2530bに提供されるのは、本更新された頭部姿勢測定データである。
【0350】
慣性測定ユニット2510bから提供される更新された頭部姿勢測定は、ディスプレイコントローラ2530b内の頭部姿勢プロセッサ2532bによって使用され、現在の頭部姿勢情報(例えば、現在の頭部姿勢ベクトル)を生成する。本現在の頭部姿勢情報は、次いで、GPU2520bによって使用される頭部姿勢情報と比較され、画像ワーピングを実施することができる。加えて、これらの頭部姿勢情報のセット毎のタイムスタンプが、比較されることができる。これらの個別の頭部姿勢情報のセット間の差異は、個別のタイムスタンプ間の差異とともに、デルタ頭部姿勢情報を決定するために使用されることができる。デルタ頭部姿勢情報は、例えば、デルタ頭部姿勢ベクトルであってもよく、これは、より最新の頭部姿勢情報がディスプレイコントローラ2530bによって実施されるための画像ワーピング操作において使用するために決定された時間までの、頭部姿勢情報からのユーザ60の頭部姿勢の変化がGPU2520bによって画像ワーピング操作において使用するために決定された時間を表す。
【0351】
ディスプレイコントローラ2530bは、ワーピングプロセッサ2534bを含み、これは、次いで、デルタ頭部姿勢情報に基づいて、1つ以上の画像ワーピング操作を実施してもよい。デルタ頭部姿勢情報を使用して、ディスプレイコントローラ2530b内で画像ワーピング操作を実施する代替として、GPU2520bは、任意の画像ワーピング操作の実施を控えてもよく、ワーピングプロセッサ2534bが、代わりに、ディスプレイコントローラ2530bの内側の頭部姿勢プロセッサ2532bによって決定された現在の頭部姿勢情報のみに基づいて、画像ワーピング操作を行ってもよい。しかしながら、GPU2520bを用いて初期画像ワーピング操作を実施し、次いで、デルタ頭部姿勢情報を使用して、ディスプレイコントローラ2530bを用いて、付加的画像ワーピング操作を実施するアプローチは、ディスプレイコントローラ2530bによって実施される画像ワーピング操作により小さい規模をもたらさせ得るため、有利であり得る。
【0352】
いくつかの実施形態では、GPU2520bによってディスプレイコントローラ2530bに提供される画像データは、ディスプレイ2550bの分解能のディスプレイに対してオーバーサイズにされることができる。例えば、ディスプレイ2550bが、1280×960画像データを示すように設計される場合、ディスプレイコントローラ2530bは、より大きい数の行および/または列を有する画像データを提供されることができる。画像データのこれらの過剰行および/または列は、画像データの全4つの側におけるバッファゾーンとしての役割を果たすことができる。バッファゾーンは、ディスプレイコントローラ2530bが、画像データが縁において途切れることなく、頭部姿勢ベースの画像ワーピング(例えば、回転および/または平行移動偏移)を実施することを可能にする。例えば、ユーザ60の頭部姿勢が、画像データX列を右に偏移させることを要求する場合、左側バッファゾーン内の画像データのX列が、表示されるであろう、画像の中に移動されることができる。このように、ディスプレイコントローラ2530bに提供されるオーバーサイズの画像は、画像データの欠如または黒色ピクセルを欠失画像データの代わりに挿入する必要に起因して、画像ワーピング操作を完了不可能となるリスクを回避または低減させる。
【0353】
本明細書に議論されるように、ディスプレイコントローラ2530bは、ディスプレイコントローラ2530bが画像データを処理している時間において最新である、頭部姿勢情報に基づいて、画像スケーリング、平行移動偏移、および画像回転等の画像ワーピング操作を実行することができる。これは、改良されたシステム2500b内のディスプレイコントローラ2530bが、ユーザ60の頭部姿勢の変化をより良好に補償することを可能にする。画像データは、次いで、ディスプレイコントローラ2530bからディスプレイドライバ2540bに読み出され、これは、最終的には、画像データをディスプレイ2550b上に示す。しかし、改良されたシステム2500bにおいてさえ、頭部姿勢ベースの画像ワーピングがディスプレイコントローラ2530bによって適用されるときと、ユーザ60に実際に画像が見えるときとの間の走査出力時間に起因して、依然として、潜在的に有意な量の遅延が残る。走査出力遅延は、システム2500bを比較的に高フレームレート(例えば、240fpsまたはより高い)において動作させることによって低減されることができるが、これは、有意な算出コストおよび関連付けられた電力増加を伴う。しかしながら、これらの問題の一部または全部は、図25Cに示される改良されたシステムにおいて解決される。
【0354】
図25Cは、頭部姿勢情報に基づいて、画像データをワーピングさせるための別の改良されたシステム2500cを図示する。図25Bのシステム2500bのように、図25Cの改良されたシステム2500cは、慣性測定ユニット2510cと、頭部姿勢プロセッサ2512cと、GPU2520c(ワーピングプロセッサ2524cを伴う)と、ディスプレイコントローラ2530c(頭部姿勢プロセッサ2532cおよびワーピングプロセッサ2534cを伴う)と、ディスプレイドライバ2540cと、ディスプレイ2550cとを含むことができる。これらのコンポーネントはそれぞれ、前述のように、図25Bのシステム2500bに対して動作することができる。しかしながら、改良されたシステム2500cでは、ディスプレイドライバ2540cは、頭部姿勢プロセッサ2542cおよびワーピングプロセッサ2544cを含むようにカスタマイズされる。ディスプレイドライバ2540cの頭部姿勢プロセッサ2542cおよび/またはワーピングプロセッサ2544cは、モバイル産業プロセッサインターフェース(MIPI)ブリッジへのディスプレイポート等のディスプレイブリッジチップ(図示せず)上に常駐してもよい。
【0355】
慣性測定ユニット2510c(および可能性として、他の位置検出センサ)からの頭部姿勢測定データは、ディスプレイドライバ2540cに提供される。クロック2560cからのクロック信号はまた、ディスプレイドライバ2540cに提供される。本アーキテクチャに基づいて、1つ以上の頭部姿勢ベースの画像ワーピング操作が、より最新の頭部姿勢情報に基づいて、画像をディスプレイコントローラ2530cから走査出力した後に実施されることができる。例えば、いくつかの実施形態では、ディスプレイドライバ2540cは、わずか1ms古い頭部姿勢情報に基づいて、1つ以上の画像ワーピング操作を実施する。
【0356】
改良されたシステム2500cでは、ディスプレイコントローラ2530cは、すでに議論されたように、画像データをディスプレイドライバ2540cに走査出力するが、本実施形態では、走査出力された画像データは、制御データを含む。走査出力された画像データを具備する制御データは、ディスプレイコントローラ2530cによって画像ワーピング操作を実施するために使用された頭部姿勢情報を含んでもよい。加えて、制御データはまた、タイムスタンプを含むことができ、これは、その頭部姿勢情報に対応する瞬間(例えば、画像ワーピングを実施するためにディスプレイコントローラ2530cによって使用された頭部姿勢測定が捕捉された瞬間)を示す。タイムスタンプは、クロック2560cからのクロック信号を使用して生成されることができる。
【0357】
一方、画像データがディスプレイコントローラ2530cによって処理される時間周期の間および後、慣性測定ユニット2510cは、更新された頭部姿勢測定データをディスプレイドライバ2540cに提供し続けることができる。本頭部姿勢測定データは、タイムスタンプを提供されることができる。更新された頭部姿勢測定データは、図25Cに示されるように、専用チャネルを使用して、慣性測定ユニット2510cからディスプレイドライバ2540cに提供されることができる。または、更新された頭部姿勢測定データは、ディスプレイドライバ2540cに制御データとして提供されることができ、これは、ディスプレイコントローラ2530bに走査抽出される直前に、フレームの最後に挿入される。本制御データは、ソフトウェアが、最新の頭部姿勢測定データが画像データの最後の行が送信された直後にバッファに書き込まれることを保証することができない場合に、専用ハードウェアによって追加されてもよい。専用チャネルまたは付加される制御データを介して、更新された頭部姿勢測定データを送達する場合のいずれかにおいて、ディスプレイドライバ2540cは、頭部姿勢プロセッサ2542cを使用して、慣性測定ユニット2510cによって提供される更新された頭部姿勢測定に基づいて、頭部姿勢情報を決定してもよい。典型的には、ディスプレイドライバ2540cの内側の頭部姿勢プロセッサ2542cによって生成された頭部姿勢情報は、ディスプレイコントローラ2530cによって提供される頭部姿勢情報より最新である。これは、画像データがディスプレイコントローラ2530cによって処理されている間、慣性測定ユニット2510cが、更新された頭部姿勢測定データの収集を継続するためである。ディスプレイドライバ2530cに提供されるのは、本より更新された頭部姿勢測定データである。
【0358】
ディスプレイドライバ2540c内の頭部姿勢プロセッサ2542cによって生成されたより最新の頭部姿勢情報は、次いで、ディスプレイコントローラ2530cによって使用される頭部姿勢情報と比較され、画像ワーピング操作を実施することができる。加えて、これらの頭部姿勢情報のセット毎のタイムスタンプが、比較されることができる。これらの個別の頭部姿勢情報のセット間の差異は、個別のタイムスタンプ間の差異とともに、デルタ頭部姿勢情報を決定するために使用されることができる。デルタ頭部姿勢情報は、例えば、デルタ頭部姿勢ベクトルであってもよく、これは、より最新の頭部姿勢情報がディスプレイドライバ2540cによって実施されるための画像ワーピング操作において使用するために決定された時間までの、頭部姿勢情報からのユーザ60の頭部姿勢の変化がディスプレイコントローラ2530cによって画像ワーピング操作において使用するために決定された時間を表す。
【0359】
ディスプレイドライバ2540cは、ワーピングプロセッサ2544cを含み、これは、次いで、デルタ頭部姿勢情報に基づいて、1つ以上の画像ワーピング操作を実施してもよい。デルタ頭部姿勢情報を使用して、ディスプレイドライバ2540c内で画像ワーピング操作を実施する代替として、GPU2520cおよび/またはディスプレイコントローラ2530cは、任意の画像ワーピング操作を実施することを控えてもよく、ワーピングプロセッサ2544cが、代わりに、ディスプレイドライバ2540cの内側の頭部姿勢プロセッサ2542cによって決定された現在の頭部姿勢情報のみに基づいて、画像ワーピング操作を行ってもよい。しかしながら、GPU2520cおよび/またはディスプレイコントローラ2530cを用いて、初期画像ワーピング操作を実施し、次いで、デルタ頭部姿勢情報を使用して、ディスプレイドライバ2540cを用いて、付加的画像ワーピング操作を実施するアプローチは、ディスプレイドライバ2540cによって実施される画像ワーピング操作により小さい規模をもたらさせ得るため、有利であり得る。
【0360】
ディスプレイドライバ2540cによって実施される画像ワーピング操作は、ユーザ60に実際に画像データが見えるときより時間的に近いため、かつそれらの操作は、より最新の頭部姿勢情報に基づくため、ユーザ60は、より少ない頭部姿勢関連待ち時間を伴って、より良好な体験を享受する。
【0361】
いくつかの実施形態では、GPU2520cおよびディスプレイコントローラ2530cによってディスプレイドライバ2540cに提供される画像データは、ディスプレイ2550cの表示分解能に対してオーバーサイズにされることができる。例えば、ディスプレイ2550cが、1280×960画像データを示すように設計される場合、ディスプレイドライバ2540cは、より大きい数の行および/または列を有する画像データを提供されることができる。画像データのこれらの過剰行および/または列は、画像データの全4つの側において、バッファゾーンとしての役割を果たすことができる。バッファゾーンは、ディスプレイドライバ2540cが、画像データが縁において途切れることなく、頭部姿勢ベースの画像ワーピング(例えば、回転および/または平行移動偏移)を実施することを可能にする。例えば、ユーザ60の頭部姿勢が、画像データX列を右に偏移させることを要求する場合、左側バッファゾーン内の画像データのX列は、表示されるであろう画像の中に移動されることができる。このように、ディスプレイドライバ2540cに提供されるオーバーサイズ画像は、画像データの欠如または欠失画像データの代わりに黒色ピクセルを挿入する必要に起因して、画像ワーピング操作を完了不可能であるリスクを回避または低減させる。
【0362】
図25Bおよび25Cに示される改良されたシステム2500bおよび2500cのいくつかの実施形態では、1つ以上の画像ワーピング操作は、ディスプレイコントローラ(2530b、2530c)および/またはディスプレイドライバ(2540c)によって、画像データのカラーフィールドおよび/または深度平面の全てに関して同一頭部姿勢測定および/または他の頭部姿勢情にともに基づいて実施されることができる。または、いくつかの実施形態では、ディスプレイコントローラ(2530b、2530c)および/またはディスプレイドライバ(2540c)は、異なる頭部姿勢測定および/または他の頭部姿勢情報に基づいて、画像データのカラーフィールドおよび/または深度平面の異なるものに関して1つ以上の画像ワーピング操作を実施することができる。例えば、第1の画像ワーピング操作が、第1の時間に対応する第1の頭部姿勢測定および/または他の頭部姿勢情報を使用して、画像データの第1のカラーフィールドおよび/または深度平面に実施されることができる。次いで、第2の画像ワーピング操作が、後続の第2の時間に対応する更新された第2の頭部姿勢測定および/または他の頭部姿勢情報を使用して、画像データの第2のカラーフィールドおよび/または深度平面に実施されることができる。これは、その都度、更新された頭部姿勢測定および/または他の頭部姿勢情報に基づいて、画像データのカラーフィールドおよび/または深度平面毎に繰り返されることができる。
【0363】
加えて、いくつかの実施形態では、ディスプレイコントローラ(2530b、2530c)および/またはディスプレイドライバ(2540c)は、異なる頭部姿勢情報に基づいて、画像データのカラーフィールドまたは他のサブフレームの異なる部分のために1つ以上の画像ワーピング操作を実施することができる。例えば、第1の画像ワーピング操作が、第1の時間における頭部姿勢測定に対応する第1の頭部姿勢情報を使用して、画像データのカラーフィールドまたは他のサブフレームの第1の部分に実施されることができる。次いで、第2の画像ワーピング操作が、後続の第2の時間における頭部姿勢測定に対応する更新された第2の頭部姿勢情報を使用して、画像データのカラーフィールドまたは他のサブフレームの第2の部分に実施されることができる。これは、その都度、更新された頭部姿勢情報に基づいて、画像データのカラーフィールドまたは他のサブフレームの部分毎に繰り返されることができる。これらの実施形態では、画像データは、ブロックに分割されることができ、頭部姿勢測定および/または他の頭部姿勢情報を含む、制御データが、ブロック間の画像データとともに介在される種々の行および/または列に提供されることができる。ブロック毎の頭部姿勢測定および/または他の頭部姿勢情報は、前のブロックに対して更新されることができる。ブロック毎の更新された頭部姿勢測定および/または他の頭部姿勢情報は、対応するブロックのための1つ以上の画像ワーピング操作を実施するために使用されることができる。
【0364】
図25Bおよび25Cに示される改良されたシステム2500bおよび2500cは、特に、異なるカラーフィールドを、並行してではなく、連続的に(図9に示されるように)表示する、カラーシーケンシャルディスプレイ技術のために有利である。これは、カラーシーケンシャルディスプレイでは、ある程度の遅延が画像の各フレームの個別のカラーフィールドが処理または表示される時間の間に存在するという事実に起因する。本遅延の間、ユーザ60の頭部の移動は、重畳されることが意図された画像データの異なる色が代わりに空間的に分離される、色割れ等の誤差をもたらし得る。故に、いくつかの実施形態では、改良されたシステム2500b内のディスプレイコントローラ2530bおよび/または改良されたシステム2500c内のディスプレイドライバ2540cは、頭部姿勢ベースの画像ワーピングをカラーフィールドあたりベースで実施することができる。例えば、ディスプレイコントローラ2530bおよび/またはディスプレイドライバ2540cは、頭部姿勢測定を慣性測定ユニット2510cから持続的に受信することができ、更新された頭部姿勢情報を持続的に計算することができる。ディスプレイコントローラ2530bおよび/またはディスプレイドライバ2540cは、次いで、更新された頭部姿勢情報を使用して、各個別のカラーフィールドが処理またはディスプレイ上に示される直前に、画像のカラーフィールド毎に画像データをワーピングさせることができる。
【0365】
図25Bおよび25Cに示される改良されたシステム2500bおよび2500cはまた、特に、本明細書に説明される種類等の多深度平面画像を使用する、システム80のために有利である。これは、典型的には、ある程度の遅延が画像データの所与のフレームのための異なる深度平面が処理または表示される時間の間に存在するためである。例えば、遠距離深度平面と関連付けられた画像データは、第1の時間において処理または表示されることができる一方、近距離深度平面と関連付けられた画像データは、後続の第2の時間に処理または表示されることができる。本遅延の間、ユーザ60の頭部の移動は、例えば、近距離深度平面に位置する別の仮想オブジェクトによって隠されることが意図された遠距離深度平面に位置する仮想オブジェクトが、近傍オブジェクトがもはや適切に離れたオブジェクトを隠さないように偏移される、深度平面割れ等の誤差をもたらし得る。故に、いくつかの実施形態では、改良されたシステム2500b内のディスプレイコントローラ2530bおよび/または改良されたシステム2500c内のディスプレイドライバ2540cは、深度平面あたりベースで頭部姿勢ベースの画像ワーピングを実施することができる。例えば、ディスプレイコントローラ2530bおよび/またはディスプレイドライバ2540cは、頭部姿勢測定を慣性測定ユニット2510cから持続的に受信することができ、更新された頭部姿勢情報を持続的に計算することができる。ディスプレイコントローラ2530bおよび/またはディスプレイドライバ2540cは、次いで、更新された頭部姿勢情報を使用して、各個別の深度平面が処理される、またはディスプレイ2550c上に示される直前に、画像データの深度平面毎に、画像データをワーピングすることができる。
【0366】
別の実施例では、ディスプレイコントローラ2530bおよび/またはディスプレイドライバ2540cは、カラーフィールドあたりおよび深度平面あたりベースの両方で頭部姿勢ベースの画像ワーピングを実施することができる。例えば、図9に示されるカラーシーケンシャルディスプレイスキームを参照すると、ディスプレイコントローラ2530bおよび/またはディスプレイドライバ2540cは、D0深度平面の緑色フィールドである、G0フィールドのための第1の頭部姿勢情報を計算することができる。ディスプレイドライバ2540cは、次いで、それを処理する、またはそれをディスプレイ2550c上に示す直前(例えば、1ms以内)に、G0フィールドをワーピングさせることができる。続いて、ディスプレイコントローラ2530bおよび/またはディスプレイドライバ2540cは、D0深度平面の赤色フィールドである、R0フィールドのための第2の頭部姿勢情報を計算することができる。ディスプレイコントローラ2530bおよび/またはディスプレイドライバ2540cは、次いで、それを処理する、またはそれをディスプレイ2550c上に示す直前に、R0フィールドをワーピングさせることができる。本同一プロシージャは、次いで、B0、G1、R1、B1、G2、R2、およびB2カラーフィールドのために連続して繰り返されることができる。
【0367】
図62-64は、GPU内でワーピング操作を実施するための種々の実施形態による種々の方法を描写する。これは、ワーピング操作をピクセル処理/ディスプレイパイプラインの後段階で行われる。最初に、最新頭部姿勢推定値が、ディスプレイコントローラに送信される(例えば、ディスプレイバッファ内の画像データの最後の行内において)。最新頭部姿勢推定値は、4ms古くあり得るが、単一フレームのために深度平面を表示するために利用可能な8.33msを前提として、これは、姿勢予測遅延を表示時間の約50%まで削減する。これは、予測誤差を低減させる。ワーピング操作が、ディスプレイパイプライン上で実施されるとき、これは、画像処理と並行して生じ、それによって、より多くのGPUサイクルを他の画像処理機能のために利用可能にする。
【0368】
図62は、第1の実施形態を図示する(図63および64に対して)。第1の実施形態では、ワーピング操作をディスプレイパイプライン上で実施することは、前のフィールド上でGPUをその操作から解放することと並行して生じ、かつ第2の実施形態に示されるように、直列ではないため、操作の待ち時間を低減させる。
【0369】
図63は、IMU更新レートが約300Hzまで増加され、データがディスプレイパイプラインと直接共有される、第2の実施形態を描写する。本実施形態では、新しいIMUデータは、ワーピング毎に(例えば、カラーフィールドあたり)、使用されることができる。これは、姿勢決定とワーピングとの間の時間を低減させる(例えば、6.77~12.3msから2.77msに)。その結果、これは、ワーピング誤差および色割れを低減させる。
【0370】
本実施形態では、ディスプレイパイプラインは、システムの最後の行上に提供される最新姿勢、GPUコンテンツが生成されたときに使用された姿勢、および最新IMUサンプルを分析し、ワーピングを実施する。これは、フィールドが、第1の実施形態におけるように、最大21msではなく、IMUサンプルの3ms以内にレンダリングされるであろうため、予測時間を有意に低減させる。より短い予測時間は、直接、有意により小さい誤差ならびにより低い色割れに変換される。
【0371】
図64は、大ワーピングがGPUにおいて実施された後、ディスプレイパイプライン(例えば、カラーフィールドあたり)のさらに後段階における後続IMU測定およびより小さくかつより高速のワーピングが続く、第3の実施形態を描写する。カラーフィールド毎に更新されたIMUサンプルの使用(図63に描写される第2の実施形態におけるように)は、依然として、非ゼロ時間量を所与の頭部姿勢を使用したGPU内のレンダリングイベントとディスプレイへの実際の光子衝打との間に残す。第3の実施形態では、ピクセルパイプラインは、ブリッジまたはGPU上にカスタムブロックとして常駐する。本実施形態は、大ディスプレイバッファをプロセッサコントローラ上で使用し、帯域幅を消費し得る、フレームバッファを画面更新あたり3回もDRAMから読み取る必要性を回避し得る。本実施形態はまた、データ圧縮を使用して、バッファサイズを低減させてもよい。ワーピング操作はまた、ピクセルパイプラインがブリッジ上にある場合、歪曲補償の一部であってもよい。
【0372】
色ルックアップテーブル混成モード
図26は、色ルックアップテーブル混成操作モードを実装するためのシステム2600の例示的実施形態を図示する。システム2600は、3/1マルチプレクサ2640と、1つ以上のルックアップテーブル2650とを含む。マルチプレクサ2640への入力は、画像データであって、これは、赤色、緑色、および青色フィールドを含む。画像データの各ピクセルは、8ビット赤色値2610と、8ビット緑色値2620と、8ビット青色値2630とを有する。これらの色値のためのビットのいくつかは、本明細書のいずれかに議論されるように、制御データを含むことができる。例えば、図示される実施形態では、カラーフィールド毎のピクセル値は、8ビットを含み、その6つの最上位ビットは、色を規定するために使用される一方、2つの最下位ビットは、制御データとして確保される。いくつかの実施形態では、制御データは、画像データの各ピクセルが対応する、深度平面(図26では、RGBxシーケンスと称される)を規定してもよい。
【0373】
図26に示されるように、マルチプレクサ2640は、3つの入力、すなわち、最上位6ビットの赤色値2610と、最上位6ビットの緑色値2620と、最上位6ビットの青色値2630とを受信する。マルチプレクサ2640は、現在のアクティブ色制御ラインを有し、これは、これらの入力のうちの1つを選択し、ルックアップテーブル2650に通過させるために使用される。いくつかの実施形態では、現在のアクティブ色制御ラインは、0、1、または2の値を有してもよく、これらの値はそれぞれ、3つのカラーフィールドのうちの1つに対応する。図示される実施形態では、現在のアクティブ色は、赤色である。したがって、マルチプレクサ2640は、最上位6ビットの赤色値2610をルックアップテーブル2650に通過させる。
【0374】
現在のアクティブ色の6つの最上位ビットの受信に加え、ルックアップテーブル2650はまた、制御データをカラーフィールドのうちの1つ以上のものから受信する。図示される実施形態では、2つの最下位ビットの各色値は、制御データとしての役割を果たし、これらのビットは全て、ルックアップテーブル2650への付加的入力として通過される。ルックアップテーブル2650はまた、現在のアクティブ色を入力として受信する。最後に、ルックアップテーブル2650は、現在の深度平面を入力として受信する。いくつかの実施形態では、現在の深度平面は、制御データによって規定された3つの深度平面のうちの1つである。
【0375】
ルックアップテーブル2650は、前述の入力の全てに基づいて、現在のアクティブ色の最終色値を規定するために使用される。図示される実施形態では、現在のアクティブ色は、赤色であって、6つの最上位ビットの赤色値2610と、2つの最下位ビットの赤色値2610と、2つの最下位ビットの緑色値2620と、2つの最下位ビットの青色値2630(すなわち、合計12ビット)が、4キロバイトルックアップテーブル2650にインデックス化するために使用される。インデックス化され得る、9つのそのようなルックアップテーブル2650が存在する。テーブル選択は、現在のアクティブ色(3つのオプション)と、現在のアクティブ深度平面(3つのオプション)とに基づく。本アプローチは、いくつかの深度平面を横断してピクセル色の線形、カスタム、および非線形混成を可能にし、したがって、ディスプレイ62の出力における大幅な柔軟性を提供する。
【0376】
パス可能世界
図27は、一実施形態による、MR体験を生成するための方法3700を図式的に図示する。ステップ3702では、MRシステムを装着しているユーザが、実際の物理的世界を動き回る。それにつれて、その個別のMRシステムは、画像および深度情報を捕捉する。随意に、捕捉された画像および深度情報は、画像および深度情報を捕捉時に、MRシステムの位置および配向を説明する姿勢情報でタグ付けされてもよい。種々のユーザは、実際の物理的世界に対して異なる位置および配向を有するため、種々のユーザからの捕捉された画像および深度情報は、複数の位置および配向からのより正確な実際の物理的世界のより完全な表現を構築するために使用されることができる。
【0377】
ステップ3704では、実際の物理的世界を表す捕捉された画像および深度情報から生成された「パス可能世界」が、持続的データ内に記憶される。一実施形態では、パス可能世界は、ユーザによって装着されるMRシステムに動作可能に結合されるサーバ上に記憶される。
【0378】
ステップ3706では、画像データを分析し、そこからオブジェクトを識別するように構成されるソフトウェアおよび/またはアプリケーションである、「オブジェクト認識装置」が、経路可能世界を分析する。テーブル等のオブジェクトが、オブジェクト認識装置によって識別される。オブジェクト認識装置は、MRシステムおよび/またはそこに接続されるサーバ上で起動してもよい。
【0379】
ステップ3708では、MRシステムおよび/またはそこに接続されるサーバは、占有されているパス可能世界の部分を決定する。例えば、テーブルが配置されている、パス可能世界の部分は、仮想オブジェクトが、パス可能世界のその部分の中にスポーンされる、すなわち、移動され、MR体験を劣化させないように、占有されるべきであると決定される。
【0380】
ステップ3710では、MRシステムおよび/またはそこに接続されるサーバは、1つ以上のメッシュを生成し、パス可能世界内のオブジェクトの表面を定義する。ステップ3712では、MRシステムおよび/またはそこに接続されるサーバは、1つ以上の平面を形成し、パス可能世界内のオブジェクトの表面を定義する。これらのメッシュおよび平面は両方とも、より現実的MR体験を促進し、アプリケーション開発(例えば、ゲーム開発)を簡略化する。
【0381】
ステップ3714では、MRシステムおよび/またはそこに接続されるサーバは、パス可能世界(認識されるオブジェクト、占有八分木、メッシュ、および平面を含む)を種々のMRアプリケーションに伝送する。これらのアプリケーションは、仮想オブジェクトまたはピクセルをパス可能世界内に設置する、すなわち、「差し込む」ことを含む、種々の機能のために、パス可能世界を使用してもよい。アプリケーションはまた、パス可能世界を使用して、パス可能世界内の表面およびオブジェクトのオクルージョン、衝突、および挙動を決定してもよい。
【0382】
無線データ転送
MR頭部搭載型ディスプレイ、モバイルコンピューティングサポートシステム、およびトーテムコントローラ間の無線接続は、より容易かつ自然に使用可能なMRシステムをもたらすであろう。しかしながら、ユーザの身体は、現在の無線コネクティビティが容認可能品質のMR体験を生成するために要求されるデータの量を効果的に伝送するために、信号損失が高すぎ、および/または帯域幅が低すぎるように、無線信号を減衰させる。
【0383】
データをより高い帯域幅で伝送する(例えば、MR帯域幅要件を満たすために)ためのいくつかの実施形態では、MRシステムは、アンテナと、受信機と、送信機とを含み、帯域幅を増加させる。いくつかの実施形態では、MRシステムは、データ圧縮を利用して、帯域幅需要を低減させる。いくつかの実施形態では、MRシステムは、各主要なコンポーネント(例えば、MR頭部搭載型ディスプレイ、モバイルコンピューティングサポートシステム、および/またはトーテムコントローラ)上に分散されるGPUを含む。そのような実施形態では、最小限の低ビットレートグラフィックデータ(例えば、OpenGL)が、伝送される(圧縮の有無にかかわらず)。次いで、受信側コンポーネントは、受信された最小限の低ビットレートグラフィックデータに基づいて、画像をレンダリングする。
【0384】
図28に描写される実施形態では、MRシステム3800は、2.4GHz高速無線リンクを含み、MRシステムの種々のコンポーネント(例えば、MR頭部搭載型ディスプレイ3802、モバイルコンピューティングサポートシステム3804、およびトーテムコントローラ3806)間でデータを伝送する。2.4GHz高速無線リンクは、他の無線通信リンクと比較して比較的に短待ち時間を伴って、データを伝送する(例えば、トーテムコントローラ3806内のIMUとモバイルコンピューティングサポートシステム3804との間で)。MRシステム3800はまた、Bluetooth(登録商標)(IEEE802.15.1)およびWiFi(IEEE802.11)無線リンクを含み、種々のMRシステムコンポーネント間でデータを転送する3つの無線リンクをもたらす。
【0385】
2.4GHz高速無線リンクは、MR頭部搭載型ディスプレイ3802、モバイルコンピューティングサポートシステム3804、およびトーテムコントローラ3806のそれぞれ内の2.4GHz高速無線リンク送受信機3808とともに実装される。Bluetooth(登録商標)無線リンクは、MR頭部搭載型ディスプレイ3802、モバイルコンピューティングサポートシステム3804、およびトーテムコントローラ3806のそれぞれ内のBluetooth(登録商標)送受信機3808とともに実装される。WiFi無線リンクは、MR頭部搭載型ディスプレイ3802、モバイルコンピューティングサポートシステム3804、およびトーテムコントローラ3806のそれぞれ内のWiFi送受信機3812とともに実装される。
【0386】
無線送受信機の数の増加は、アンテナの数を増加させる。いくつかの実施形態では、各MRシステムコンポーネント上の種々の無線送受信機(2.4GHz高速、Bluetooth(登録商標)、WiFi)のためのアンテナは、相互から物理的に分離され、種々の無線送受信機3808、3810、3812間の干渉を最小限にする。一実施形態では、アンテナは、導線をフレックス回路に追加することによって、モバイルコンピューティングサポートシステム3804に追加され、これは、その特定のアンテナを干渉から隔離し得る。
【0387】
無線送受信機の数の増加はまた、複数のMRシステムが相互に近接して動作するときの干渉(例えば、周波数重複から)の尤度を増加させる。本問題に対処するための一実施形態では、各MRシステムの各無線送受信機は、始動時に動作する周波数を走査し、空いている周波数を選定するように構成される。別の実施形態では、各MRシステムの各無線送受信機は、他のMRシステム(例えば、近距離通信を使用して)とネゴシエートし、空いている周波数を選定するように構成される。さらに別の実施形態では、各MRシステム上の無線送受信機のための周波数は、周波数自体がMRシステムに一意であるように、MRシステムの一意の識別番号に基づいて、若干修正される。
【0388】
周波数重複および複数のMRシステムとの干渉の可能性を低減させるための方法はまた、MRシステムと物理的場所を有する共有リソース(例えば、部屋内の無線基地局)との間の無線通信に適用されることができる。例えば、各MRシステムの各無線送受信機は、始動時に動作する周波数を走査し、無線基地局との通信のための空いている周波数を選定するように構成されてもよい。別の実施形態では、各MRシステムの各無線送受信機は、無線基地局および/または他のMRシステムとネゴシエートし(例えば、近距離通信を使用して)、空いている周波数を選定するように構成される。さらに別の実施形態では、各MRシステム上の無線送受信機のための周波数は、MRシステムの一意の識別番号に基づいて、若干修正される。
【0389】
時間ドメイン電力管理
さらに別の実施形態は、増加される電力消費およびプロセッササイクルに伴う、システム電力消費およびシステム加熱の関連問題に対処する。
【0390】
図29は、一実施形態による、低電力モードと通常電力モードとの間で切り替えながら、MRシステムが高品質MR体験を生成するために要求されるプロセッササイクルを提供する方法4000を図示する、フローチャートである。ステップ4002では、MRシステムは、低電力モードで動作する。本モードでは、大量のバッテリ電力を消費する多くのコンポーネントは、オフに切り替えられるか、または高速ウェイクアップオプションを伴うスタンバイモードに置かれるかのいずれかである。一実施形態では、MRシステムは、ユーザがその姿勢を変化させずに机に向かって座っているとき、低電力モードである。
【0391】
ステップ4004では、低電力モードにおけるMRシステムは、短待ち時間通信チャネルを通して、通常プロセッサモードのための要求を受信する。例えば、MRシステムは、低電力センサを使用して、ユーザの姿勢がある閾値レベルを超えて変化したことを検出してもよい。
【0392】
ステップ4006では、MRシステムは、以前にオフに切り替えられた、またはスタンバイモードであったシステムコンポーネントに電源を入れることによって、通常電力モードに切り替わる。MRシステムは、通常プロセッサモードのための特定の要求に基づいて、システムコンポーネントの電源投入を管理し、バッテリから引き出される総電流量およびシステムコンポーネントの電源投入によって生成される熱を制御する。
【0393】
ステップ4008では、MRシステムは、システムが低プロセッサ電力モードで機能し得ることのインジケータを受信する。例えば、MRシステムは、ユーザの姿勢がある閾値時間量にわたって比較的に一定のままであることを検出し得る。
【0394】
ステップ4010では、MRシステムは、低電力モードに戻る。MRシステムが低電力モードで動作する時間量の増加は、バッテリ電力消費およびプロセッサ等のシステムコンポーネントによって生成される熱の両方を低減させる。
【0395】
図30は、一実施形態による、通常電力モードとバーストまたは高電力モードとの間で切り替えながら、MRシステムが高品質MR体験を生成するために要求されるプロセッササイクルを提供する方法4100を図示する、フローチャートである。ステップ4102では、MRシステムは、通常電力モードで動作する。一実施形態では、MRシステムは、仮想オブジェクトのレンダリングおよび表示等の他のMRシステム機能を伴わずに、ユーザがその身体および視線を偏移させるとき、通常電力モードである。
【0396】
ステップ4104では、通常電力モードにおけるMRシステムは、高プロセッサモードのための要求を受信する。例えば、MRシステムは、仮想オブジェクトをレンダリングおよび表示するための要求を受信し得る。
【0397】
ステップ4106では、MRシステムは、大量の電力を要求する、あるシステムコンポーネントを動作させることによって、バーストまたは高電力モードに切り替わる。MRシステムは、高プロセッサモードのための特定の要求に基づいて、システムコンポーネントの第1のモードを管理し、バッテリから引き出される総電流量およびバーストモードで動作するシステムコンポーネントによって生成される熱を制御する。
【0398】
ステップ4108では、MRシステムは、システムが通常プロセッサモードで機能し得ることのインジケータを受信する。例えば、MRシステムは、もはや仮想オブジェクトをレンダリングおよび表示する必要がないことを検出し得る。
【0399】
ステップ4110では、MRシステムは、通常電力モードに戻る。MRシステムがバーストモードで動作する時間量の減少は、バッテリ電力消費およびプロセッサ等のシステムコンポーネントによって生成される熱の両方を低減させる。
【0400】
離散結像モード
離散結像モードは、多平面を有するMRシステムのための具体的電力節約および熱低減モードである。離散結像モードでは、コンテンツの全部または大部分が、1つの平面上にある。離散結像モードにおけるMRシステムは、そのリソースに、画像を1つの平面にレンダリングおよび投影させるように指示することによって、電力を節約し、熱を低減させる。他の平面における画像は、はるかに少ない処理を伴って提示される(例えば、ぼかすことによって、更新頻度を低減させることによって、および同等物によって)。画像を単一深度平面上に提示することは、多くのプロセッササイクルを要求し得る、混成問題を低減させる。
【0401】
図31Aは、一実施形態による、多平面表示モードと離散結像モードとの間で切り替えながら、高品質MR体験を維持する方法4200を図示する、フローチャートである。ステップ4202では、MRシステムは、多平面モードで動作する。多平面モードでは、MRシステムは、画像を複数の深度平面上にレンダリングおよび投影させる。画像のレンダリングおよび投影は、有意な量のプロセッササイクルおよびバッテリ電力を要求し、それによって、有意な量の熱を生成する。
【0402】
ステップ4204では、MRシステムは、単一平面アクティビティのインジケータを受信する。単一平面アクティビティのインジケータとして、限定ではないが、MRシステムを使用してユーザが映画が仮想画面上に表示されることを要求すること、およびMRシステムを使用してユーザが2Dアプリケーションを開くことが挙げられる。単一平面アクティビティの他のインジケータとして、限定ではないが、ユーザの視線が閾値時間量にわたって特定の平面に収束させていることを示す、眼または視線追跡結果が挙げられる。
【0403】
ステップ4206では、MRシステムは、単一平面アクティビティのインジケータの受信に応答して、離散結像モードに切り替わる。突然のモード切替アーチファクトを防止するために、ユーザの眼は、追跡され、瞬目を検出および/または予測することができ、MRシステムは、瞬目の間、多平面モードから離散結像モードに変化させるように構成されることができる。MRシステムは、検出または予測される眼移動(例えば、サッケード)の間、モードを変化させ、非不快遷移を生成するように構成されることができる。MRシステムは、仮想オブジェクトが、システムが現在レンダリングしているものと異なる平面上に提示されるとき、眼移動を検出または予測してもよい。
【0404】
ステップ4208では、システムは、多平面アクティビティのインジケータを受信する。多平面アクティビティのインジケータとして、限定ではないが、ユーザが閾値を上回る時間量にわたって離散結像モードの平面から目を背けていることが挙げられる。多平面アクティビティの他のインジケータとして、限定ではないが、ユーザが離散結像モードの平面上に表示されている映画またはアプリケーションが停止されることを要求することが挙げられる。
【0405】
ステップ4210では、システムは、多平面アクティビティのインジケータの受信に応答して、多平面モードに戻る。ステップ4206におけるように、MRシステムは、検出または予測される瞬目またはサッケードの間、モードを切り替え、非不快遷移を生成するように構成されることができる。
【0406】
図31Bは、別の実施形態による、多平面ディスプレイモードと離散結像モードとの間で切り替えながら、高品質MR体験を維持する方法4200を図示する、フローチャートである。ステップ4202では、MRシステムは、多平面モードで動作する。多平面モードでは、MRシステムは、画像を複数の深度平面上にレンダリングおよび投影させる。画像のレンダリングおよび投影は、有意な量のプロセッササイクルおよびバッテリ電力を要求し、それによって、有意な量の熱を生成する。
【0407】
ステップ4204’では、MRシステムは、所定の閾値に接近しているMRシステムのインジケータを受信する。本願で使用されるように、ある数値閾値に「接近」するとは、限定ではないが、システム特性/統計が数値閾値の所定の量またはパーセンテージ以内にあることを含む。所定の閾値として、限定ではないが、システム温度限界およびバッテリ電力限界が挙げられる。例えば、MRシステムは、システムが所定の最大温度閾値に接近または到達するとき、インジケータを受信し得る。別の実施形態では、MRシステムは、システムが、所定の最小バッテリ電力閾値に接近または到達するとき、インジケータを受信し得る。閾値は、これらの閾値に到達する、またはそれを超過することが、システムを遮断させ得るほど、システム機能に重要であり得る。代替として、閾値は、システムを準最適レベルで機能させ得るステータスを示すように設定または事前決定されてもよい。
【0408】
ステップ4206では、MRシステムは、MRシステムが所定の閾値に接近しているインジケータの受信に応答して、離散結像モードに切り替わる。突然のモード切替アーチファクトを防止するために、ユーザの眼は、追跡され、瞬目を検出および/または予測することができ、MRシステムは、瞬目の間、多平面モードから離散結像モードに変化するように構成されることができる。MRシステムは、検出または予測される眼移動(例えば、サッケード)の間、モードを変化させ、非不快遷移を生成するように構成されることができる。MRシステムは、仮想オブジェクトが、システムが現在レンダリングしているものと異なる平面上に提示されるとき、眼移動を検出または予測してもよい。
【0409】
ステップ4208’では、システムは、通常システム動作のインジケータを受信する。通常システム動作のインジケータとして、限定ではないが、システムが数値閾値の所定の量またはパーセンテージ以内のシステム特性/統計を有していないことが挙げられる。通常システム動作の他のインジケータとして、限定ではないが、システムが課金電力源に接続されていることが挙げられる。
【0410】
ステップ4210では、システムは、通常システム動作のインジケータの受信に応答して、多平面モードに戻る。ステップ4206におけるように、MRシステムは、検出または予測される瞬目またはサッケードの間、モードを切り替え、非不快遷移を生成するように構成されることができる。
【0411】
眼/視線追跡ベースのレンダリング修正
眼および視線追跡は、オブジェクトのレンダリングを修正し、プロセッササイクルおよびバッテリ電力消費ならびに熱の生成を低減させるために使用されることができる。例えば、眼および/または視線追跡は、ユーザがそのFOV内の特定のエリアに合焦している/それを見ていることを示し、画像のレンダリングは、ユーザの焦点上に集中/中心窩化されて心合されることができる。これは、光学軸(例えば、特定の深度平面)に沿って、XおよびY方向ならびにZ方向において行われることができる。ユーザの焦点はまた、ユーザの眼移動を予測する(例えば、深層学習ネットワークを使用して)ことによって予測されることができる。ユーザの眼移動はまた、MRシステムに動作可能に結合される種々のセンサ(例えば、IMU、マイクロホン、カメラ等)のセンサ融合を使用して予測されることができる。
【0412】
一実施形態では、MRシステムは、画像をユーザFOVの特定の象限に中心窩化するように構成される。これは、眼および視線追跡/予測の正確度に関する需要を低減させる。前述のように、ユーザがその視線を合焦させている、特定の象限外の画像は、より少ないプロセッササイクルを要求する方法を使用してレンダリングされてもよい。
【0413】
一実施形態では、中心窩化の間の鮮明なレンダリングのエリアは、より多い電力および/またはプロセッサ容量が利用可能であるとき(例えば、MRシステムが、電源に接続され、プロセッサ使用が、閾値レベル下であるとき)、増加および拡充されてもよい。本実施形態は、電力を節約することと、ユーザの焦点におけるオブジェクトがMRシステムによって達成可能な最大レベルでレンダリングされることを確実にすることとの両方を行う。中心窩化の間の鮮明なレンダリングのエリアの増加はまた、より自然な遷移をユーザにもたらす。MRシステムは、限定ではないが、眼移動の量、システム温度、ユーザ選好、および同等物を含む、他の要因に基づいて、中心窩化の間の鮮明なレンダリングのエリアを修正してもよい。
【0414】
別の実施形態では、ユーザの眼の位置を予測するために使用されるモデルは、モデルがユーザの現在の焦点上に心合される中心窩化エリア内でより正確であるように修正されてもよい。中心窩化エリア外のエリアに関して、モデルは、あまり正確ではなく、さらに誤っていてもよい。
【0415】
ユーザの眼は、視認ベクトルではなく、眼の回転中心の計算される場所に基づいて、追跡されることができる。眼の回転中心は、経時的に有意に変化しない。したがって、ユーザの眼の回転中心に基づく画像のレンダリングは、あまりプロセッサ集約的ではなくなり得る。
【0416】
図32は、一実施形態による、追跡および/または予測される眼または視線位置を使用して、レンダリングプロセッサ要件を低減させる方法4300を図示する、フローチャートである。
【0417】
ステップ4302では、MRシステムは、そのユーザの眼位置を追跡および/または予測する。
【0418】
ステップ4304では、MRシステムは、追跡または予測される眼位置に基づいて、ユーザの現在の焦点を計算する。
【0419】
ステップ4306では、MRシステムは、ユーザの現在の焦点上に心合される中心窩化エリアを生成する。MRシステムは、現在のシステムステータスおよび/またはユーザ選好に基づいて、中心窩化エリアを生成してもよい。
【0420】
ステップ4308では、MRシステムは、中心窩化エリア内のそれらの画像の部分が、より正確に(より高いプロセッサコストで)レンダリングされ、中心窩化エリア外のそれらの画像の部分が、あまり正確ではなく(より低いプロセッサコストで)レンダリングされるように、1つ以上の仮想画像をレンダリングする。
【0421】
ステップ4310では、MRシステムは、レンダリングされた仮想画像をユーザに表示する。
場面拡張
【0422】
図33は、3D場面1を描写し、AR/MRシステム内で使用されるような実世界場面と併せて場面拡張を示す。オプションとして、3D場面1またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。
【0423】
図35に示される実施形態は、単に、一実施例である。示されるように、3D場面1は、キャラクタ2の形態における場面拡張8を含む。キャラクタ2は、深度を含む、3次元を有するように描写される(すなわち、キャラクタ2は、複数の深度平面を通して通過するように配向される)。本明細書で議論される技法のいくつかは、グラフィックプロセッサと併せて知覚プロセッサ/CVPUの使用を含み、深度の知覚をシミュレートする。本明細書で議論される実施形態のいくつかは、深度に関する側面を表示またはシミュレートする際に使用される深度平面の高速および低電力管理を伴う。より具体的には、深度に関する側面を表示またはシミュレートすることを含む、場面拡張は、可能性として、以下の図に描写されるように、付加的モジュールを含む、頭部搭載型ディスプレイ(HMD)によって実装されることができる。
【0424】
いくつかの実装では、前述のプロジェクタは、複数の平面から形成され、それぞれ、対応する深度平面と関連付けられる。深度平面は、種々の構成において編成されることができ、そのうちの1つが、図34に関して図示および議論される。
【0425】
瞳孔追跡に基づく深度平面切替
図34は、VR/AR/MRシステムを実装するコンポーネント内で使用されるような連続的により離れる深度平面4500(ユーザから1ジオプタ~6ジオプタ離れる)の編成を描写する。オプションとして、深度平面4500またはその任意の側面の1つ以上の変形例が、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。
【0426】
ディスプレイユニット81は、画像をユーザに提示するために使用される。画像は、場面拡張を含み得、これは、順に、3次元であるように現れる、1つ以上のキャラクタまたはオブジェクトを提示し得る。VR/AR/MRとの任意のセッションの間、ユーザは、1つまたは別の深度平面に比較的により関心がある、または比較的にあまり関心がない場合がある。例えば、ユーザは、前景画像内の微細な特徴に関心があり、可能性として、背景画像に無関心である場合がある。ある場合には、特定の深度平面に関するユーザの関心レベルが、検出されることができる(例えば、示されるように、瞳孔配向検出器4502によって)。関心は、前景(または任意の他の深度平面)に意図的に維持されることができ、および/または深度平面は、瞳孔移動に適応し、および/またはそこから推定するように、意図的に処理されることができる(例えば、ブランキングされる、ぼかされる、色不飽和化される等)。ある場合には、関心/無関心の検出および/または関心/無関心の推定ならびに/もしくは明示的コマンドによって、1つ以上の深度平面は、多くのフレームに及ぶパターン内でディスエーブルにされる、または別様に制御されることができる。深度平面切替技法の一実施例は、以下のように与えられる。
【0427】
図35は、低電力VR/AR/MRシステムを実装するために使用される深度平面切替技法4600を描写する。オプションとして深度平面切替技法4600またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。2つ以上の深度平面間で切り替えるための深度平面切替技法4600またはその任意の側面は、任意の環境内に実装されてもよい。
【0428】
示されるように、フローは、ステップ4602から開始し、各平面のコンテンツ(該当する場合)を決定する。ステップ4604は、瞳孔配向を決定し、その後、ディスプレイアプリケーションまたはサービスは、深度平面情報と瞳孔情報を組み合わせ、切替パターンをディスプレイの平面に適用する(ステップ4608)前に、切替パターンを自動的に決定する(ステップ4606において)。厳密には、一実施例として、1つの深度平面が、ブランキングされることができる。別の実施例として、複数の深度平面が、ブランキングされることができる。さらに別の実施例として、表示されるフレームのシーケンスの表示またはブランキングは、個々に、自動切替パターンによって制御されることができる。
【0429】
多くの場合、切替パターンは、30フレーム/秒、または60フレーム/秒、もしくは360の個々に制御可能なフレーム/秒の総レートになる、6つの平面毎に60フレーム/秒等の高速で動作する。故に、切替パターンを実装するためのある技法は、比較的により適切であって、その他は、あまりそうではない。少なくとも、高速切替および低電力消費の目的のために、アナログスイッチの集合は、高速切替シーケンスにおいて個々の深度平面をオンまたはオフに個々に切り替える役割を果たす。
【0430】
深度平面切替の一般的アプローチに関するさらなる詳細は、「SEPARATED PUPIL OPTICAL SYSTEMS FOR VIRTUAL AND AUGMENTED REALITY AND METHODS FOR DISPLAYING IMAGES USING SAME」と題され、2016年5月4日に出願された米国出願第15/146,296号(弁理士整理番号第ML.20058.00号)(参照することによってその全体として本明細書に組み込まれる)に説明される。
【0431】
低電力深度平面切替
図36は、低電力深度平面切替技法4700をVR/AR/MRシステム内に実装するためのアナログスイッチ4708の使用を描写する。オプションとして、低電力深度平面切替技法4700またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。低電力深度平面切替技法4700またはその任意の側面は、任意の環境内に実装されてもよい。
【0432】
示されるように、ディスプレイユニット81は、1つ以上のディスプレイ平面82から成る。1つ以上のディスプレイ平面82のうちの各個々の1つは、任意の個々の深度平面を個々にブランキングする(例えば、オフにする)、または不飽和化または暗化させる(例えば、電力を低減させる)ように、個々に制御されることができる。事変スイッチ設定のセットが、アプリケーションまたはサービス4712によって決定されることができる。アプリケーションまたはサービス4712は、順に、アナログスイッチ4708に送達されるための(経路4711を介して)動的に決定されたスイッチパターンの形成を実装することができる。
【0433】
切替パターンは、少なくとも部分的に、一連の決定によって定義されることができる。示されるように、そのような決定は、動的に決定されたスイッチパターンを形成するとき、深度平面を並べ替える、深度平面をブランキングする、1つ以上のフレームをスキップする、1つ以上のフレームをスワッピングする、および/またはカラーシーケンスを実施することを含み得る。そのようなブランキングまたはスキップまたはスワッピングまたは並換または色毎のシーケンス化は、より心地良くかつより現実的場面拡張を送達する役割を果たすことができる(例えば、視覚的シーケンスにおいて可視の割れなく、または減衰された割れを伴って)。フレームシーケンスのための1つ以上の平面のスキップもまた、より心地良くかつより現実的場面拡張を送達するために使用されることができる。
【0434】
複数の実装構成
LEDの多重化(「MUX」)を利用するための1つの方法は、1つのRBGドライバおよび時間ドメインMUXを使用し、前述のアナログスイッチを使用して、2つの深度平面間で切り替えることである。これは、非常に高速の切替をサポートし、また、データが特定の平面に存在しない場合、レーザを自動的にディスエーブルにすることができる。別の方法は、「カラーシーケンシャル」パターンを実装することである。RGB平面1を表示し、次いで、ディスプレイRGB平面2を表示し、以降同様に続くのではなく、R、G、次いで、Bをフラッシングすることが可能である。時間MUXアプローチを使用して、スワッピングし、カラーシーケンシャル操作を行うことが可能である。本技法は、ユーザがその頭部を移動させるにつれて、(例えば)平面1と平面2との間の色分離を低減させる。フレーム毎のカラーシーケンシャルカラースワッピングを促進するように、スワッピング命令をフレームデータの中にコード化することが可能である。
【0435】
いくつかの実施形態は、空平面上のLEDを遮断する。これは、コントラストを改良し、電力を節約する役割を果たすことができる。これらの技法は、(1)LEDの選択的遮断および(2)シーケンスフレームと併用されることができる。
【0436】
実施例として、3つの深度平面を有するフレームおよび1つの深度平面のみを有する次のフレームを検討する。本状況は、必要ない機能性を遮断することによって制御されることができる(例えば、電力、コントラスト損失等)。これは、80または90バイトの制御情報が、パケットの中にエンコードされ、ディスプレイと同期するために使用される、「最初の行パケット」を使用して、フレーム毎に制御されることができる。
【0437】
一実装では、管理プロセッサは、ヘッドセットを通したベルトパック接続へのピンポン数を低減させるように、制御データを直列化するために使用される。そのような直列化は、より長いケーブルが、低電圧差シグナリング(LVDS)を使用して、増加される雑音耐性および信号完全性を送達することをサポートする。
【0438】
付加的深度平面処理
画像データの時間MUXは、興味深い効果をもたらす。1つの深度平面、次いで、別の深度平面、次いで、別の深度平面等を送信するときに生じる、短バーストから成る、「時間的ライトフィールド」を作成することが可能である。さらにより興味深いことに、カラーシーケンシャルディスプレイ(第1の平面のためのR、G、次いで、B、次いで、第2の平面のためのR、G、次いで、B)を使用するとき、切替が高速であるほど、ユーザによって気付かれることになるフレーム毎の割れは、少なくなる。
【0439】
超高速切替を遂行するために、頭部位置データは、深度平面情報が提供されるにつれて、GPU内でリアルタイムに更新されることができる。例えば、姿勢情報が、フレーム行データ(例えば、データの最後の行)の中にエンコードされることができる。したがって、ディスプレイコントローラは、ワーピングをローカルで処理することができる。さらに、GPUは、ディスプレイデータ、すなわち、(1)一度に1つの色および(2)一度に1つの深度平面を送信するように構成されることができる。待ち時間は、ヒト知覚を超えて有意に低減または排除される。したがって、リアルタイム姿勢データは、ディスプレイコントローラに、リアルタイムで調節するようにコマンドするために使用されることができる。例えば、RGBデータの1つの特定の平面を処理するとき、変換調節は、他の平面から独立して、ワーピングをそのデータに実施することができる。また、フィールドシーケンシャル順序でディスプレイピクセルに向かって生じるように、着信データを並べ替えることが可能である。2つ以上の深度平面の適合が、前述を使用して効率的に遂行されることができる。ある場合には、画像および制御データは、並べ替えるために必要とされる一時的記憶および帯域幅を低減させるように圧縮される。
【0440】
図37は、VR/AR/MRシステム内で使用されるようなフレーム毎低電力深度平面切替技法4800を実装するためのアナログスイッチの使用を描写する。オプションとして、技法4800またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。技法4800またはその任意の側面は、任意の環境内に実装されてもよい。
【0441】
高速切替は、アナログスイッチ4708を使用して実装されることができる。深度平面ブランキング命令のシーケンスを保持するためのフレーム毎バッファが、時系列先入れ先出し(FIFO)バッファまたは循環バッファまたは一連のメモリ場所もしくはレジスタとして実装されることができる。故に、示されるように、切替パターン(例えば、切替パターン4810、切替パターン4810、および切替パターン4810)が、一連のフレームにわたって適用されることができる。さらに、任意の所与のフレームは、各個々の深度平面に関する関連付けられたブランキング命令のセットを有することができる。
【0442】
示されるように、値(例えば、ブランキングビット値、色または輝度ビットフィールド値等)が、6つの深度平面(例えば、DP1、DP2、DP3、DP4、DP5、およびDP6)のための切替パターンを実装するために使用される。より具体的には、各フレームクロック(例えば、フレームクロックの正の縁またはフレームクロックの負の縁上)を用いて、次の値のセットが、所望のブランキングおよび/または色または輝度変化等を生産するように、アナログスイッチの制御端末上にロードされることができる。
【0443】
いくつかの状況では、アプリケーションまたはサービス(例えば、アプリケーションまたはサービス4712)は、ウインクまたは瞬目検出に基づいて、ブランキングを実装することができる。
【0444】
図38は、低電力VR/AR/MRシステム内にフレーム毎ウインクまたは瞬目イベント深度平面切替技法4900を実装するためのアナログスイッチの使用を描写する。オプションとして、技法4900またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。技法4900またはその任意の側面は、任意の環境内に実装されてもよい。
【0445】
知覚プロセッサ/CVPU85は、ウインクイベントの開始および終了(4906において)および/または瞬目イベントの開始および終了(4904において)を決定することができる。ウインクまたは瞬目イベントの間、切替パターンが、ディスプレイの左側またはディスプレイの右側のいずれかまたは両方が、個別のイベントの間、ブランキングされる(例えば、オフにされる)ように確立されることができる(例えば、値を設定またはクリアすることによって)。一連の個々の切替値は、複数のフレームに及ぶ切替パターンを形成するために確立されることができる。例えば、ユーザの眼が、閉鎖されると、視覚的情報を感知しないため、ディスプレイは、AR体験から注意を逸らすことなく、オフにされることができる。本周期の間のディスプレイのオフは、電力を節約することができる。ある場合には、ディスプレイユニットは、2つのコンポーネント、すなわち、(1)実際の光の生成を実施する、第1のコンポーネントと、(2)第1のコンポーネントのオン/オフ状態を制御する、第2のコンポーネントとにパーティション化されることができる。
【0446】
6連射実施形態
図39は、低電力VR/AR/MRシステム内に表示技法を実装するための6連射アーキテクチャの使用を描写する。6連射アーキテクチャは、3つの異なる色(例えば、R、G、B)の3つのエミッタおよび2つのフレームのシーケンスと組み合わせて使用されることができる。フレームは、第1のフレーム内の任意の特定のピクセルが6連射の要素と関連づけられ得、第2のフレーム内の任意の特定のピクセルが6連射の異なる要素と関連づけられ得るように、シーケンス化されることができる。故に、6連射は、6つの独立して制御可能エミッタを制御する。
【0447】
いくつかの実施形態は、2×R、2×G、および2×Bエミッタ(例えば、異なる方向においてパネルからバウンスする6つのLEDエミッタ)が存在するようなエミッタの編成に依拠する。混成可変焦点技法を実施するとき、連続フレーム順序は、深度平面1に、次いで、深度平面2に進む、{RGB、RGB}である。いくつかの実施形態では、それらの2つの平面にわたるエミッタの隔離制御が存在する。したがって、同一フレームバッファを全て同一ピクセル{RGB、RGB}を有する各深度平面に送達し、次いで、基盤フィールドの明度を変調させることが可能である。したがって、エミッタの隔離された制御を用いると、例えば、両方のRエミッタを時間を合わせてフラッシングするとき、一方では、暗い反射がレンダリングされ、他方では、明るい反射がレンダリングされるという結果になる。多くの場合、6連射は、連続して発射し、パネルからの放出角を使用して、それを導波管の中に送信する。改良されたアプローチ(例えば、混成可変焦点モード)では、同一RGBが、両平面の中に送信され、ピクセルアレイは、依然として、同一であって、LEDの明度(差動照明)が、ディスプレイがより暗くなる(またはそうではない)ように調節される。例えば、前述の技法を使用すると、50%の明るさが、正面に送信され、50%の明るさが、背面に送信される(同一フレームデータを使用して)。深度混成は、LED強度を変動させることによって遂行される。離散可変焦点を使用すると、ピクセルは全て、平面1および平面2上で同一であって、フレームバッファ全体が、それらの2つの平面を横断して混成され、したがって、そのような技法を用いることで、別個のフィールドをワーピングさせる必要がない。これは、ハードウェア内に実装され、多くの変形例または状況(例えば、非シーケンシャルディスプレイ、R1およびR2が同一ではない、および/または偏移される変形例等)を網羅することができる。
【0448】
6連射を作製および使用する一般的アプローチに関するさらなる詳細は、「SEPARATED PUPIL OPTICAL SYSTEMS FOR VIRTUAL AND AUGMENTED REALITY AND METHODS FOR DISPLAYING IMAGES USING SAME」と題され、2016年5月4日に出願された米国出願第15/146,296号(弁理士整理番号第ML.20058.00号)(参照することによってその全体として本明細書に組み込まれる)に説明される。
【0449】
低電力短待ち時間ヘッドセット
図40は、VR/AR/MRシステム内で使用されるような低電力短待ち時間ヘッドセットアーキテクチャ5100を描写する。オプションとして、低電力短待ち時間ヘッドセットアーキテクチャ5100またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。低電力短待ち時間ヘッドセット5100またはその任意の側面は、任意の環境内に実装されてもよい。
【0450】
示される低電力短待ち時間ヘッドセットアーキテクチャ5100は、ウェイクオンコマンド能力を実装するために使用されることができる。具体的には、示されるように、知覚プロセッサまたはCVPU85は、キーワードがウェイクオンコマンド能力にマッピングされる、記憶されたキーワードのセットにアクセスすることができる。ユーザが、ウェイクオンコマンドキーワード(例えば、「Wake-up」、「Hey Computer」等)のうちの1つを発声すると、CVPU85は、発声を検出し、それをウェイクオンコマンドキーワードとして分類し、ウェイクオンコマンドキーワードコードを、可能性として、インタラプトコマンド5108とともに、ベルトパックに送信することができる。ベルトパックが、スリープ状態または休止状態または他の低電力スタンバイモードにある場合、前述のインタラプトの発生が、キーワードコードと組み合わせて、ベルトパックをウェイクアップさせるであろう。
【0451】
本電力短待ち時間データフローを遂行するための1つの方法は、キーワード検出(例えば、キーワード検出5102を介して)および分類を、ベルトパックではなく、ヘッドセットに位置付けることである。このように、ベルトパック内の機能(例えば、ソフトウェア)は、ウェイクアップコマンドの受信(例えば、ベルトパックによって)に応じて終了され得る、低電力モード(例えば、スリープまたは静止するが、オフモードではない)を開始することができる。そのような低電力または非常に低電力スリープまたは休止モードは、ウェイクアップコマンドのヘッドセット検出に続く任意の瞬間にウェイクアップされ得ることを予期して開始されることができる。
【0452】
一実装では、CVPU85は、オーディオプロセッサ87と通信し、これは、順に、示されるように、1つ以上のマイクロホンに接続される。CVPU85および/またはオーディオプロセッサ87は、発声(例えば、マイクロホンを通して受信され、オーディオプロセッサによって処理されるように)とキーワード記憶装置5104内のエントリを比較するように、キーワード記憶装置5104にアクセスすることができる。示されるように、キーワード記憶装置5104は、単一単語の形態におけるエントリを含むが、しかしながら、キーワードは、キーフレーズであることもできる。キーワード記憶装置5104は、発声とキーワードエントリのうちの1つ以上のものとの間の合致を促進するように、サンプリングされたデータおよび/または音素データならびに/もしくは任意のエンコードされたデータを含むことができる。合致に応じて、キーワードコード5106(例えば、1、2、3等)は、ベルトパックに送信され、それをその休止または他の低電力状態からウェイクアップさせることができる。本実施形態では、キーワードまたはキーフレーズに関する合致は、非常に短時間以内(例えば、いくつかのキーワードに関しては百ミリ秒以内または他のキーワードまたはキーフレーズに関しては数百ミリ秒以内)に行われることができる。
【0453】
図41は、VR/AR/MRシステム内で使用されるような短待ち時間低電力フローの2つのシーケンスを描写する、比較チャート5200である。オプションとして、比較チャート5200またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。比較チャート5200またはその任意の側面は、任意の環境内に実装されてもよい。
【0454】
図41に描写されるように、第1のシーケンス(例えば、COMMS#1)の動作および決定は、第2のシーケンス(例えば、COMMS#2)の動作および決定と比較して、比較的により長い待ち時間およびより高い電力動作を呈する。第1のシーケンスは、発声を検出する(例えば、前述のマイクロホンのいずれかを使用して)ことによって開始する(ステップ5210において)。次いで、発声の音のサンプルが、処理のために(例えば、発声がキーワードであったかどうかを検出するために)、ベルトパックに送信される(ステップ5212において)。ベルトパック上のプロセッサが、発声がキーワードであったことを決定する場合(決定5214において)、ウェイクアップ動作が、開始される(ステップ5216において)。発声の音のサンプルをパッケージングし、次いで、音のパッケージングされたサンプルをヘッドセットからベルトパックに通信することは、時間ならびに電力がかかる。
【0455】
発声を処理し、ウェイクアップ動作を開始することは、ヘッドセットドメイン内で排他的に行われることができる(図41および図40のCOMMS#2に示されるように)。より具体的には、第2のシーケンスは、発声を検出する(例えば、前述のマイクロホンのいずれかを使用して)ことによって開始する(ステップ5202において)。次いで、発声の音のサンプルが、発声の音をベルトパックに送信せず、ヘッドセットにおいてローカルで処理され、発声がキーワードであったかどうかを検出する(ステップ5204において)。ヘッドセット上のプロセッサが、発声がキーワードであったことを決定する場合、インタラプトコマンドが、送信され(ステップ5206において)、ベルトパックにおいてウェイクアップ動作を開始させる(ステップ5208において)。したがって、これは、発声の瞬間とウェイクアップコマンドを開始する瞬間との間の比較的により短い待ち時間をもたらす。また、第2のシーケンスは、第1のシーケンスのより高い電力動作5222と比較して、より低い電力動作5220をもたらす。
【0456】
低電力短待ち時間移動予測
図42は、移動予測をVR/AR/MRシステムのヘッドセットコンポーネントに送達するためのVR/AR/MRシステムブロック図5300である。オプションとして、VR/AR/MRシステムブロック図5300またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。VR/AR/MRシステムブロック図5300またはその任意の側面は、任意の環境内に実装されてもよい。
【0457】
多くのVR/AR/MRシステムでは、ユーザ移動、特に、ユーザの頭部移動が、検出される(例えば、加速度計を使用して)。場面拡張の変化は、移動の本質に基づいてスケジューリングされる。ある場合には、前述の場面拡張変化スケジューリングは、比較的に長い時間周期(例えば、約1秒~数秒)に及ぶ。平滑表示および現実性を改良するために、検出され(ステップ5302において)、前述の場面拡張において使用される、頭部移動の開始を含む、移動が、スケジューリングを変化させる。ある場合には、頭部(または眼)移動(例えば、移動イベント5304)の初期測定が、予測器(例えば、予測エンジン5308)と併用され、頭部または眼がある将来的瞬間に存在するであろう場所の一連の予測(例えば、一連の移動予測5312)を生成することができる。多くの場合、非常に短期間の予測は、実際の移動に対して非常に正確である(例えば、わずか数ミリ秒の誤差以内)が、しかしながら、時間が進行するにつれて、誤差は、ますます大きくなる傾向にあり、拡張する誤差錐体5310をもたらす。ある時点で、誤差は、予測が「誤っている」または「有用ではない」と見なされ得るほど十分に大きくなり、新しい予測が、その時点の頭部移動イベントに基づいて行われる必要がある。移動イベントの検出と、移動予測が対応する画像変換のためにヘッドセットに送達され得る時間との間の時間は、画像変換が「遅れている」または「同期していない」と見なされるほど十分に長くなり得る。同期される画像変換のための頭部移動を取り扱うための別の方法は、以下の段落に与えられる。
【0458】
図43は、VR/AR/MRシステムのヘッドセットコンポーネント内のローカル予測エンジンを示す、VR/AR/MRシステムブロック図5400である。オプションとして、VR/AR/MRシステムのブロック図5400の1つ以上の変形例またはその任意の側面は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。VR/AR/MRシステムブロック図5400またはその任意の側面は、任意の環境内に実装されてもよい。
【0459】
本実施形態は、移動イベント5304を検出し、移動イベントを、ヘッドセットのローカルにある知覚プロセッサ/CVPU85に送達する。示されるように、知覚プロセッサ/CVPU85は、ローカル予測エンジン5402を含む。したがって、移動イベントと、変換調節を駆動するために使用され得る一連の移動予測の開始との間の待ち時間は、非常に短い。変換調節5306は、移動予測5312Fと調節パラメータ5404の組み合わせに基づいて行われることができる。
【0460】
図44は、VR/AR/MRシステム内で使用されるようなローカル予測エンジンの性能を比較するための比較チャート5500である。オプションとして、比較チャート5500またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。比較チャート5500またはその任意の側面は、任意の環境内に実装されてもよい。
【0461】
比較チャート5500は、ある時間スケールにわたって動作を比較することによって、待ち時間を評価するために使用されることができる。示されるように、第3のシーケンス(例えば、COMMS#3)の動作および決定は、頭部移動を検出することによって開始し(ステップ5510において)、次いで、移動データを遠隔予測エンジンに送信する(ステップ5512において)。ベルトパックでは、移動予測が、行われ(ステップ5514において)、次いで、変換調節がヘッドセットにおいて行われるために(ステップ5518において)、ヘッドセットに送信される(ステップ5516において)。
【0462】
厳密には、実施例として、以下の表は、変換の選択および個別の誤差タイプを提示する。ワーピング変換/補正誤差タイプは、全てのディスプレイ平面を横断した輻輳・開散運動および遠近調節を含む。回転変換/補正誤差タイプは、全てのディスプレイ平面を横断したパンを含む。仰角変換/補正誤差タイプは、全てのディスプレイ平面を横断した視座および遠近調節を含む。
【表1】
【0463】
比較のために、第4のシーケンス(例えば、COMMS#40)の動作および決定もまた、頭部移動の検出から開始し(ステップ5502において)、そのイベントは、ローカル予測エンジンにおいて直ちに利用可能になり(ステップ5504において)、そこで、時間頭部移動予測が、ローカル予測エンジンによって行われることができ(ステップ5506において)、これは、順に、移動予測5312と調節パラメータ5404の組み合わせに基づく画像変換を開始することができる(ステップ5508において)。
【0464】
第3のシーケンスを特徴付ける、より長い待ち時間およびより大きい誤差動作5522は、第4のシーケンスのより短い待ち時間より小さい誤差動作5520と比較されることができる。
【0465】
色補正
先に示されたように、変換調節5306は、移動予測5312と調節パラメータ5404の組み合わせに基づいて行われることができる。さらに、変換調節5306は、予測される色変化と組み合わせて、移動予測5312に基づいて行われることができる。例えば、部屋内の場面等の実世界画像にわたって場面拡張を生産するとき、ユーザは、その頭部を移動させ、部屋の比較的に暗いエリアから部屋の比較的により明るいエリアに焦点を変化させ得る。故に、変換調節5306は、計算される調節が、予測される頭部移動および予測される頭部位置の時点においてフレーム内に存在するであろう実世界場面の採光条件に対して実施されるように、採光調節、コントラスト調節、色調節等を含むことができる。ユーザ焦点の正確な予測は、正確なレンダリングを促進し、および/または誤った/破棄された採光レンダリングを排除し、したがって、ユーザ体験から注意を逸らすことなく、電力を節約することができる。
【0466】
他の実施形態
加速度計は、センサ融合データを内蔵プロセッサに提供し、これは、センサ融合、ディスプレイ調節、および同等物のために、移動更新をローカルプロセッサに送信することができる。前述は全て、ローカルで、すなわち、ディスプレイ/ヘッドセットにおいてすぐに行われることができる。単なる付加的実施例として、ディスプレイ調節は、ディスプレイ(例えば、LCOS)に非常に近接して(例えば、かつ遠位ベルトパックからの関与に依拠せず)、ワーピング、変換、および同等物を含むことができる。そのようなアプローチは、遠隔コンポーネントへ/からの待ち時間を低減させる。待ち時間は、望ましくなく、画像処理ブロックをディスプレイ/ヘッドセットの近位に位置させることが改良するための方法である。
【0467】
低電力側チャネル
図45はVR/AR/MRシステム内で使用されるような低電力側チャネルを示す、システムブロック図5600である。オプションとして、システムブロック図5600またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。システムブロック図5600またはその任意の側面は、任意の環境内に実装されてもよい。
【0468】
示されるように、ローカル処理モジュール70は、経路76を経由して、遠隔処理モジュール72と通信することができる。いくつかの実施形態では、経路76は、USB5601として示される、ユニバーサルシリアルバス(USB、USB2、USB3、PCIE等)として実装される。USB5601経路は、高帯域幅を提供し、したがって、ローカル処理モジュール70、遠隔処理モジュール72のいずれか、または両方の多くの構成コンポーネントによって使用される。当業者は、USB5601経路が比較的に高電力量を要求することを観察するであろう。また、当業者は、USBが高帯域幅であることが先験的に公知であるため、多くの場合、多くの使用に適応するために依拠され、そのうちのいくつかが正確に予測されることができないことを観察するであろう。したがって、USB5601経路は、データの輻輳に悩まされ得る。そのような状況では(例えば、大パケットまたは大シーケンスのデータがUSB5601経路を経由して伝送されているとき)、他の小さいが可能性として高優先順位の通信が、輻輳する。本実施形態では、代替経路が、ローカル処理モジュール70と遠隔処理モジュール72との間に提供される。そのような代替経路は、それぞれ、ローカル処理モジュール70および遠隔処理モジュール72に接続されるコンポーネントを使用して構築されることができる。具体的には、代替経路は、ローカル処理モジュール70の汎用入力/出力(GPIO)ブロックの少数のピンと、遠隔処理モジュール72のCPUまたは周辺機器の少数のピンとを使用して構築されることができる。より具体的には、シリアル周辺相互接続(SPI)の形態における代替経路は、ローカル処理モジュール70のGPIOブロックの少数のピンと、遠隔処理モジュール72のCPUまたは周辺機器の少数のJTAGピンとを使用して構築されることができる。
【0469】
そのようなSPI5604の存在は、USB5601経路またはSPI5604経路のいずれも、常時、動作可能である必要がないことを意味する。SPI5604およびUSB5601は、多重化され、および/またはそれぞれ、1つ以上のモードベースの方式に従って、オンもしくはオフにされることができる。そのようなモードベースの方式は、以降に図示および説明されるような論理フローにおいて実装されることができる。
【0470】
図46A図46B、および図46Cは、それぞれ、VR/AR/MRシステム内の低電力側チャネルを使用するためのモードベースのフロー5700A、5700B、5700Cを描写する。オプションとして、モードベースのフロー5700A、5700B、5700Cまたはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。モードベースのフロー5700A、5700B、5700Cまたはその任意の側面は、任意の環境内に実装されてもよい。
【0471】
図46Aのフロー5700Aは、モードを検出することによって開始する(ステップ5708において)。検出されたモードに基づいて、USB経路が全体または部分的にディスエーブルにされ得るかどうかの決定が行われることができる(決定5710において)。次に、USB経路の能力がディスエーブルにされ得るかどうかの決定が行われることができる(決定5712において)。例えば、USB動作のある側面は、ディスエーブルにされることができる一方、その他は、イネーブルのままである。1つの具体的実施例として、USB経路は、リピータを含み得る。(例えば、静止または低帯域幅動作の周期の間)リピータは、その時点では不必要であって、したがって、低電力リピータモードまたはパススルーモードにおける動作のために検討され得ることが可能性として考えられる。
【0472】
モードベースの方式の観察において、少なくともいくつかのUSBモードがディスエーブルにされるべきであることが決定されると、GPIOピン(例えば、GPIOブロック5602のGPIOピン)およびJTAGピン(例えば、管理プロセッサのJTAGピン5606)は、SPI経路(例えば、SPI5604経路)を経由してシリアル通信を実施するために使用されることができる(ステップ5714において)。いったんSPI5604経路を経由したシリアル通信が、可能であることが確認されると、適用可能なUSBモードは、ディスエーブルにされる。USB経路は、任意の時点で再度イネーブルにされることができる。
【0473】
ここで図47Bのフロー5700Bを参照すると、いくつかの状況では、GPIOピンがすでにある他の目的のために使用されている状態が起こり得る。故に、シリアル通信のためのGPIOピンの使用は、ピンの再構成の再マッピングを要求し得る。そのような決定は、ステップ5718において行われ、次いで、ステップ5720において作用されることができる。より具体的には、モードベースの方式の観察において、少なくともいくつかのUSBモードがディスエーブルにされるべきであることが決定されると、GPIOピンおよびJTAGピンは、SPI経路(例えば、SPI5604経路)を経由して、シリアル通信を実施するように構成されることができる。いったんSPI5604経路を経由したシリアル通信が、可能であると確認されると、適用可能なUSBモードは、ディスエーブルにされる(ステップ5716において)。USB経路は、任意の時点で再度イネーブルにされることができる。
【0474】
ここで図47Cのフロー5700Cを参照すると、いくつかの状況では、GPIOピンがある他の目的のために現在使用中であって、GPIOピンへの相互に排他的アクセスの必要性を設定している状態が起こり得る。故に、シリアル通信のためのGPIOピンの使用は、相互に排他的アクセスのために管理され得る。MUTEXが、提供される(ステップ5722において)。そのようなMUTEXへのアクセスは、許可をもたらし得(ステップ5724において)、その後、図46Cおよび46Bの論理が、検出されたモードのこれから開始される動作方式のためのピンの再構成の再マッピングを開始することができる。モードベースの方式の観察において、少なくともいくつかのUSBモードがディスエーブルにされるべきであることが決定されると、GPIOピンおよびJTAGピンは、SPI経路(例えば、SPI5604経路)を経由して、シリアル通信を実施するように構成されることができる。いったんSPI5604経路を経由したシリアル通信が、可能であることが確認されると、適用可能なUSBモードは、ディスエーブルにされる(ステップ5716において)。USB経路は、任意の時点で再度イネーブルにされることができる。
【0475】
前述の管理プロセッサは、JTAGインターフェースを伴う既製品プロセッサとして提供される、またはフィールドプログラマブルゲートアレイ(FPGA)内に実装されることができる。より具体的には、JTAGインターフェースは、JTAG(IEEE1149.1)に定義されるような信号ピンを含む。そのようなJTAGピンは、TDI(試験データ入力)、TDO(試験データ出力)、TCK(試験クロック)、TMS(試験モード選択)、ならびにTRST(試験リセット)等の随意のピンを含むことができる。JTAGピンは、当該分野で公知のGPIOピンから制御するからことを含む、任意の公知の手段によって制御されることができる。
【0476】
低電力側チャネルの1つの具体的実装は、FPGAおよびGPIOを使用する。
【0477】
複数の実装構成
前述のSPI接続は、ベルトパックプロセッサ上のUSBの全部または一部、ウェアラブルプロセッサ上のUSB SSの全部または一部、およびUSBリドライバの全部または一部をディスエーブルにするために使用されることができる。USB電力消費は、システム内で有意であり得、本低電力インターフェースは、より高い電力インターフェース(すなわち、USB)を常時イネーブルにさせる必要性を低減させる。
【0478】
図47は、VR/AR/MRシステム内の低電力側チャネルを使用するためのケーブル構成5800を描写する。オプションとして、ケーブル構成5800またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。ケーブル構成5800またはその任意の側面は、任意の環境内に実装されてもよい。
【0479】
図47に示される実施形態は、単に、(1)USB通信および電力分布をサポートするための電気導体と、(2)他の通信(例えば、SPIを経由して)のための電気導体(例えば、SPI導体528)とを含む、ケーブルの一実施例である。さらに、図46A図46B図46C、および図47の低電力モード依存フローも、単に、ローカル処理モジュール70と遠隔処理モジュール72との間のより低い電力通信経路を構成するためのいくつかの例示的フローである。
【0480】
複数のコンポーネントの低電力モード
さらなる低電力モードは、コンポーネントがそれら自体の間で協働するときに、開始および終了されることができる。より具体的には、ローカル処理モジュール70を組成するコンポーネントは、プロトコルを経由して通信し、遮断される、または個別の低電力モードにもたらされ得る、遠隔処理モジュール72を組成するコンポーネントに関して合意に達することができる。代替として、遠隔処理モジュール72を組成するコンポーネントは、プロトコルを経由して通信し、遮断される、または個別の低電力モードにもたらされ得る、ローカル処理モジュール70を組成するコンポーネントに関して合意に達することができる。
【0481】
以下の図に描写されるもの等の協働プロトコルおよびフローは、低電力機会の検出、コンポーネント間のモードのネゴシエーション、協働プロトコルを遂行するプロセスにおけるコンポーネント間のメッセージの中継、およびコンポーネント特有の低電力モードの決定に役立つ。
【0482】
図48は、低電力側チャネル通信をVR/AR/MRシステムの協働コンポーネント間に実装するためのモード構成プロトコル5900を描写する。オプションとして、モード構成プロトコル5900またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。モード構成プロトコル5900またはその任意の側面は、任意の環境内に実装されてもよい。
【0483】
図示されるように、プロトコルは、察知されるイベント5902の検出に応じて開始する。イベントは、VR/AR/MRシステム内のコマンドまたはボタン押下もしくは任意のイベントから生じ得る。動作5904では、着信イベントおよび具体的コンポーネントのその時点の状態を前提として適用可能な1つ以上のローカル(例えば、自己開始)低電力モードの決定が、行われる。加えて、動作5906では、1つ以上の協調低電力モードが、決定されることができ、これは、次いで、可能性として、コンポーネント間シグナリングまたはメッセージングを使用して(例えば、メッセージ5908を使用して)、ネゴシエートされることができる。
【0484】
VR/AR/MRシステムのコンポーネントのいずれかは、察知されるイベントを受信し、その独自の処理を開始することができる。ある場合には、周辺機器は、メッセージングを行うことが不可能である、「単純」周辺機器であり得る。そのような場合、周辺機器は、単に、コマンドに基づいて、低電力モードを開始し得る。例えば、示されるように、知覚プロセッサ/CVPUは、マイクロホンを消音にするためのユーザボタン押下を検出し得る。その時点で(モードの対象となる)、消音が解除されるまで、発話プロセッサは、発話処理のために必要とされ得ない。故に、コマンド(例えば、メッセージ5910)は、発話プロセッサに、その低電力モードのうちの1つを開始させることができる。コマンドは、単に、レジスタ(例えば、発話プロセッサチップまたは別のチップ)内の値を設定することによって、または発話プロセッサのピンをプルアップ(またはダウン)することによって実装され得る。
【0485】
図49は、低電力側チャネル通信をVR/AR/MRシステムの協働コンポーネント間に実装するための複数のコンポーネントモード構成フロー6000を描写する。オプションとして、モード構成フロー6000またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。モード構成フロー6000またはその任意の側面は、任意の環境内に実装されてもよい。
【0486】
図は、個別のコンポーネントのいずれかによって並行して実行可能な動作の複数の同時フローを描写する。コンポーネント(例えば、CPU、GPU、知覚プロセッサ/CVPU等)は、単に、実施例であって、他のコンポーネントも、可能性として考えられる。
【0487】
フローのステップは、前述のプロトコルを拡張する。示されるフローは、察知されるイベントを受信し(ステップ6012において)、2つ以上の低電力モードの可能性の中で優先順位化し(ステップ6014において)、次いで、システム内の他のコンポーネントによって開始され得るように、ローカル低電力モードと協調モードの組み合わせのセットを決定することによって開始する(ステップ6016において)。決定は、次いで、ネゴシエーションにおける他のコンポーネントに関与するように、プロトコル(例えば、図48の前述のプロトコル)へのエントリを促進し得る(ステップ6018において)。そのようなネゴシエーションを行う過程において、低電力モードに関する詳細(例えば、ID、確認コード、タイムアウト値等)が、ネゴシエーションに関わる他のコンポーネントに通信され得、その後(ステップ6020において)、ローカル低電力モード(例えば、先行ステップ6014およびステップ6016において決定されたように)が開始される。
【0488】
前述のプロトコルメッセージングおよび/またはコンポーネントモード構成フローの任意の組み合わせが、システム横断低電力同期を実装するために使用されることができる。
【0489】
厳密には、実施例として、第1の低電力技法のセットは、ヘッドセットとベルトパックとの間で使用されることができ、第2の低電力技法のセットは、ヘッドセットとプロジェクタとの間で使用されることができる。図50は、以下のように詳細を提供する。
【0490】
複数のコンポーネントの低電力モード同期
図50は、VR/AR/MRシステムの協働コンポーネント間で使用されるような低電力同期技法6100を描写する。オプションとして、低電力同期技法6100またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。低電力同期技法6100またはその任意の側面は、任意の環境内に実装されてもよい。
【0491】
多くの同期技法は、表2に示されるように、ヘッドセットとベルトパックとの間の動作の間、適用され、および/または並行してアクティブであることができる。低電力継続中同期技法のある実施例では、ヘッドセットおよびベルトパックは、低速低電力側チャネル6132(例えば、図45におけるSPI5604)を経由して通信する。少量のデータ(例えば、各クロックサイクルにおけるタイムコードデータ6126)が、ヘッドセットとベルトパックとの間で通信され、全ての動作条件下、クロック毎同期を維持する。
【0492】
低電力継続中スタンバイ同期技法のある実施例では、ベルトパックは、周期的に、タイムコードデータをヘッドセットから受信し、ヘッドセットは、周期的に、タイムコードデータをベルトパックから受信する。タイムコードは、比較され、ドリフトを査定する。アラームインジケーション6128が、ベルトパックからヘッドセットに送信される。ウェイクオンイベントコマンド6124が、ヘッドセットからベルトパックに送信される。
【0493】
低帯域幅ディスプレイ制御同期技法のある実施例では、低帯域幅ディスプレイ構成6130が、ベルトパックからヘッドセットに送信される。プロジェクタは、低電力オプション6136をヘッドセットに発行する(例えば、ディスプレイマイクロプロセッサから)。ヘッドセットは、低電力コマンド(例えば、低電力モードコマンド6122)をプロジェクタに中継する。プロジェクタは、制御モジュール6138に、低電力モードに関する制御値をロードする。
【表2】
【0494】
依然として、図50を参照すると、他の低電力技法は、表2に示されるように、ベルトパックとヘッドセットとの間の通信のための帯域幅の量を低減させることを含む。ビデオデータは、送信される前に、エンコード6142および/または圧縮6144されることができる。ビデオデータは、その時点のシステム条件のために選択された圧縮技法(例えば、MPEG)を使用して、エンコード6142されることができる。ブランクフレームまたは一連のブランクフレームは、ランレングスエンコーディングを使用して、エンコードされることができる。ビデオデータは、送信される前に圧縮6144されることができる。ビデオデータは、その時点の条件のために選択された圧縮パラメータ(例えば、1080p、720p等)を使用して、圧縮されることができる。
【0495】
オーディオデータは、送信される前にエンコード6146または圧縮されることができる。オーディオデータは、その時点の条件のために選択された圧縮技法(例えば、MPEG)を使用して、エンコード/圧縮されることができる。非オーディオデータは、オーディオストリームの未使用部分内で送信されることができる。
【表3】
【0496】
データの時分割多重化
ある場合には、オーディオデータの通信は、アイソクロナスデータ伝送をエミュレートする様式において、USB経路を経由して実施される。例えば、発話が、ステレオ(例えば、左チャネルおよび右チャネル)または4チャネルデータフォーマットにおいて送信され得る。継続中の発話は、データのステレオまたは4チャネルパッケージの継続中のストリーム中で送信され得る。ある場合には、周辺チップが、発話またはオーディオデータのストリームもしくは自動発話認識ASRデータを小バーストのデータ内で送信する。さらに、ある場合には、データのバーストのフォーマット化は、周辺チップの構成(例えば、ステレオ構成、4チャネル構成)によって固定される。なおもさらに、ステレオ伝送の一方のチャネル(例えば、右チャネル)が必要とされ得ない瞬間が、存在し得る。多くのそのような場合では、音データ以外のデータは、4チャネルストリームのステレオの未使用部分の中にパッキングされ得る。図51および52の図および議論は、協働コンポーネント間で通信されるためにデータをパッキングおよび/または多重化するためのいくつかの技法を提示する。
【0497】
図51は、VR/AR/MRシステムの協働コンポーネント間で通信されるためのデータの時分割多重化の実装を描写する、フローチャート6200である。オプションとして、フローチャート6200またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。フローチャート6200またはその任意の側面は、任意の環境内に実装されてもよい。
【0498】
示されるように、フローは、ヘッドセット内のマイクロホンを構成し、ヘッドセットからベルトパックへの1つ以上の通信経路を構成することによって(ステップ6204において)開始する(ステップ6202において)。プロセッサ(例えば、知覚プロセッサ/CVPU)は、利用可能な音チャネルの数「C」(例えば、ステレオのための2、4チャネルのための4等)を計算する(ステップ6206において)。また、必要とされる音チャネル「N」の数も、計算される(ステップ6208において)。必要とされる音チャネルの数は、動的である。例えば、音チップが、4チャネル音であるように構成される場合でも、多くの場合、ステレオ音響材料のみが利用可能である場合がある。いくつかの瞬間では、音の1つのみのチャネルが採用される(例えば、オーディオアラートのため)。「N」(例えば、必要とされるチャネルの数)が、「C」(例えば、利用可能なチャネルの数)未満である場合、利用可能かつ未使用のチャネルが、利用可能なチャネルの中にパッキングされ、オーディオを送信する以外の目的のために使用され得るように、経路が、辿られる(ステップ6210において)。
【0499】
厳密には、実施例として、現在の頭部姿勢(ステップ6212において)または眼姿勢データ(ステップ6214において)は、利用可能なチャネルの中にパッキングされることができる。別の実施例として、エコーキャンセルデータが、利用可能なチャネルの中にパッキングされることができる(動作6216において)。前述は、単に、データパッキングを用いた時分割多重化の使用の実施例であって、本技法は、TDMチャネルパッキング6218として図51に示される。
【0500】
図52は、VR/AR/MRシステムのコンポーネント間で通信されるためのデータの時分割多重化を実装するためのデータパッキング技法6300を描写する。オプションとして、データパッキング技法6300またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。データパッキング技法6300またはその任意の側面は、任意の環境内に実装されてもよい。
【0501】
TDMチャネルパッキングは、その時点のリアルタイム可用性と組み合わせて、その時点のリアルタイム条件に基づいて、動的に実施されることができる。任意の瞬間において、条件の存在またはイベントの発生が、チェックされることができる。少なくとも潜在的にチャネルを解放するイベントまたはTDMチャネルパッキングを対象とするであろうイベントが存在する場合、その条件またはイベントの検出に応じて、図51のフローまたはその一部が、実行されることができる。
【0502】
図52の実施例は、左チャネルに関するオーディオデータと、右チャネルに関するオーディオデータとを含む、時間の第1のサンプルウィンドウを示す。時間TDにおいて、あるイベントが生じる。図51のフローまたはその一部によって行われる決定が、実行され、決定は、次のサンプルウィンドウの右チャネルの中への姿勢または音データのパッキングをもたらす(ステップ6320において)。これは、Nサンプルウィンドウ6322を通して、または別の条件またはイベントがチャネル使用の動的再査定を生じさせるまで、継続することができる。
【0503】
バッテリブーストシステム
図53は、VR/AR/MRシステムの協働コンポーネント間でバッテリ寿命時間情報を通信するためのバッテリブーストシステム6400を描写する。オプションとして、バッテリブーストシステム6400またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。バッテリブーストシステム6400またはその任意の側面は、任意の環境内に実装されてもよい。
【0504】
いくつかの実施形態は、低電力側チャネルを含む。そのようなチャネル(または任意の他のチャネル)は、低バッテリインジケーションをヘッドセットに通信するために使用されることができる。ヘッドセットは、順に、ユーザに、バッテリの状態をアラートし得る。
【0505】
示される実施形態では、ベルトパックは、ベルトパックバッテリ6410を有し、これは、電圧検出器6408およびブースタ6406に接続される。バッテリが正常に動作する周期の間、電流が、導体6404を経由して、ヘッドセットに搬送される。しかしながら、バッテリ残量が低いとき、電圧検出器6408は、可能性として、低電力側チャネルSPI5604を使用して、低バッテリインジケーション6412をヘッドセットに送信するであろう。ヘッドセット内の電力警告ユニット6402は、低バッテリインジケーションを受信し、ユーザにアラートする。低バッテリインジケーションをヘッドセットに送信することに加え、電圧検出器6480は、ブースタ6406を起動し、電圧を引き上げる(かつ最大電流を減少させる)ことによって動作し始めさせるであろう。そのような低電圧インジケーションは、本明細書に説明される低電力技法のいずれかと併用されることができる。
【0506】
システムコンポーネント接続
図54は、VR/AR/MRシステムの協働コンポーネントを含む、ケーブル接続システム6500を描写する。オプションとして、ケーブル接続システム6500またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。ケーブル接続システム6500またはその任意の側面は、任意の環境内に実装されてもよい。
【0507】
図54に示される実施形態は、単に、一実施例である。示されるように、ケーブル接続システム6500は、ヘッドセット(左側)と、ベルトパック(右側)とを含む。ヘッドセットは、ケーブル6506を使用して、ベルトパックに接続される。ケーブル6506は、ヘッドセットとベルトパックとの間のデータ通信を提供する。ベルトパックは、バッテリコネクタを含み、電気接続を外部バッテリに提供する。外部バッテリは、電流を提供し、アプリプロセッサ6508およびベルトパックの他のコンポーネントに給電する。ケーブル6506は、電気導体を含み、電流をベルトパックからヘッドセットに搬送する。したがって、ベルトパックの外部バッテリは、電流を提供し、CVPUプロセッサ6502およびヘッドセットの他のコンポーネントに給電する。いくつかの実施形態では、アプリプロセッサ6508は、電力消費を事前に規定された温度範囲内で自己調整するように、温度センサにアクセスすることができる。
【0508】
いくつかの状況では、ケーブルを排除することによって、ヘッドセットをベルトパックから繋留解除することが適切である。
【0509】
図55は、VR/AR/MRシステムの協働コンポーネントを含む、無線接続システム6600を描写する。オプションとして、無線接続システム6600またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。無線接続システム6600またはその任意の側面は、任意の環境内に実装されてもよい。
【0510】
ケーブルによってこれまで提供された通信は、無線接続6504を経由して、無線で提供されることができる。送受信機(例えば、送受信機6522Hおよび送受信機6522B)は、1つ以上の無線通信設備をサポートするために使用される。ある場合には、示されるように、無線通信は、複数の無線通信規格および/または複数の専有無線通信プロトコルスタックをサポートするように構成される。
【0511】
厳密には、実施例として、示される無線通信設備は、ベルトパックとヘッドセットとの間の通信のために、Bluetooth(登録商標)(例えば、802.15x)、WiFi(例えば、802.11x)、Bluetooth(登録商標)近距離通信、Bluetooth(登録商標)低エネルギー、および/または1つ以上の専有無線設備を含む。
【0512】
例示的システムアーキテクチャ
図56は、VR/AR/MRシステムの複数の協働コンポーネントを含む、システムコンポーネントパーティション化6700を描写する。オプションとして、システムコンポーネントパーティション化6700またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。システムコンポーネントパーティション化6700またはその任意の側面は、任意の環境内に実装されてもよい。
【0513】
図56に示される実施形態は、単に、一実施例である。示されるように、システムコンポーネントパーティション化は、接眼レンズを含む、ヘッドセットコンポーネントに接続される、接眼レンズを含む。さらに、図56に示される実施形態は、以下の図57および図58に説明される機能の任意または全部もしくは一部を実装するために好適である。
【0514】
図57は、VR/AR/MRシステムの協働コンポーネント上への実装のためのシステム機能パーティション化6800を描写する。オプションとして、システム機能パーティション化6800またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。システム機能パーティション化6800またはその任意の側面は、任意の環境内に実装されてもよい。
【0515】
知覚プロセッサ(CVPU85)は、ユーザおよびVR/AR/MRシステムとのユーザの相互作用に関連する多くの目的を果たす。知覚プロセッサ/CVPUにマッピングされ得る機能の1つのグループは、姿勢に関する。特に、眼姿勢は、輻輳・開散運動を含むことができ、頭部姿勢は、垂直慣性幾何学形状を含むことができ、トーテム姿勢は、深度の側面を含むことができる。カメラからの情報は、較正情報と組み合わせて、ユーザにプロジェクタを介して提示される、画像を操作するように、知覚プロセッサ/CVPUによって処理されることができ。特に、トーテム位置によって感知される深度情報および/または任意の慣性測定デバイスによって感知される深度情報は、知覚プロセッサ/CVPUによって組み合わせられ、深度平面の提示を操作することができる。
【0516】
示される機能の多くは、知覚プロセッサ/CVPUの中に、次いで、図56または図2Gのシステム等のシステムの中にマッピングされることができる。システム機能パーティション化6800は、クラウドおよびクラウドリソースに関する機能、すなわち、音声認識機能、幾何学形状認識、ならびにマクロ位置付け(例えば、グローバル位置付け、グローバル位置または体積に対するユーザ配向等)を描写する。そのような機能は、任意の形態の遠隔データリポジトリ74によって、またはそれと併せて、提供されることができる。厳密には、一実施例として、遠隔データリポジトリ(例えば、遠隔データリポジトリ74)は、クラウドベースのコンピューティングインフラストラクチャによって実装されることができる。
【0517】
図58は、VR/AR/MRシステムの協働コンポーネント上への実装のためのシステム機能パーティション化6900を描写する。オプションとして、システム機能パーティション化6900またはその任意の側面の1つ以上の変形例は、本明細書に説明される実施形態のアーキテクチャおよび機能性のコンテキストにおいて実装されてもよい。システム機能パーティション化6900またはその任意の側面は、任意の環境内に実装されてもよい。
【0518】
示される機能の多くは、図56のシステム等のシステム上にマッピングされることができる。より具体的には、示されるように、機能のフレーム組成セットが、GPU上にマッピングされ、機能のオーディオ関連セットが、デジタル信号プロセッサ(DSP)上にマッピングされることができ、アプリケーションのセットが、CPU上にマッピングされることができる。CPUは、オペレーティングシステム、可能性として、CGI画像を生成するためのメッシュ構造、および手/ジェスチャ認識、ならびに遠隔データリポジトリおよび/またはクラウドベースのサービスへのアクセスのためのサービス等の内蔵サービスを具備してもよい。
【0519】
示されるように、GPUは、場面レンダリングならびにある画像変換(例えば、色補正等のため)を実施する。
【0520】
DSPは、マイクロホン信号調整、スピーカパニング、3D音成形、および同等物等の任意の/全ての形態の発話および/またはオーディオ処理を実施することができる。DSPは、発話または他のオーディオ関連コプロセッサの有無にかかわらず、性能を発揮することができる。ある場合には、知覚プロセッサ/CVPUに割り当てられ得る処理はまた、全体または部分的に、DSPに割り当てられることができる。ある場合には、オーディオ関連コプロセッサに割り当てられ得る処理はまた、全体または部分的に、DSPに割り当てられることができる。
【0521】
未加工光子イベント
現実性のために、圧縮およびブランキング等の動作は、控えられる傾向にある。未加工光子イベントの捕捉、留保(例えば、記録)、およびレンダリング/表示は、多くの場合、現実性を体験にもたらす。未加工イベントを広範囲の3次元空間内に記録することは、大メモリを要求する。未加工光子イベントドメイン内におけるある範囲の作業対現実性には、トレードオフが存在し、収穫逓減点が、存在する。前述のシステム内の処理は、例えば、瞬間帯域幅要件、VR/AR/MRシステムの他の動作(例えば、非結像動作)への影響、瞬間中心窩化、フレーム/秒等のシステム制約、フレームまたはシーケンス内に示すための平面の数、および同等物等の現実性とシステム効果との間のトレードオフを検討する。平面のより小さいサブセットに分割することは、単に、瞬間的に測定または予測される帯域幅可用性を満たすために使用され得る、1つの技法である。
【0522】
光子イベントの取扱を促すために、他の光子イベントと比較してより遠い深度平面から派生する光子イベントを決定することは、多くの場合、眼位置に依存する。具体的には、2つの眼が2つの(若干)異なる視点から視認している状態で、種々の深度平面は、各眼に対して空間内で整列する必要がある。実施例として、場面が、1つのオブジェクトを8インチの深度に、同一サイズの隣接するオブジェクトを16インチに有する場合、左頭部が移動することに伴って、現実的には、XY平面には、2つのオブジェクトのより多くの重複が存在するであろう。しかしながら、右頭部移動を前提として、現実的には、間隙がXY平面に発生し得る。1つの技法は、眼位置の変化および/または頭部位置の変化と連動して、平面の偏移を行うように(例えば、重複または間隙を生産するため)、眼位置および/または頭部位置と場面データを組み合わせることを伴う。別の技法は、体積的にレンダリングすることであって、したがって、左および右眼の両方のためにレンダリングされた画像は、左および右眼の(若干異なる)視点から生じる。
【0523】
サブブロック処理
前述のサブブロックの識別は、眼が受信するためにデバイス上の平面を照明する(または照明しない)ための種々の技法の使用を促進する。例えば、あるキャラクタが、特定のサブブロック内に存在し、同一サブブロック内(例えば、より近い深度平面)にブロックするオブジェクトが存在する場合、現実性を向上させるための1つの技法は、オブジェクトによってオクルードされるキャラクタの部分を照明しないことである。
【0524】
半透明オブジェクトをレンダリングするとき、ディスプレイへのインターフェースを横断して1つの平坦画像を送信するのではなく、データを送信するための改良された技法は、場面を「サブブロック」、例えば、GPUによって処理されるサブブロックに分割するであろう。いったんそのように分割されると、決定が、送信または非送信、マージまたは非マージ、色圧縮または非色圧縮、および同等物に関して行われることができる。例えば、ステップの例示的セットは、アルファ領域を識別し、グループ内のそれらのアルファ領域に関連するデータを送信し(例えば、1つのグループ内の複数の平面のためのサブブロック)、ディスプレイコントローラまたはそのコプロセッサにグループを取り扱うようにタスクを課すことを含む。
【0525】
別の実施例として、半透明オブジェクトが不透明オブジェクトの正面に存在する場合、減法または乗法混成モード技法が、適用されることができる。仮想キャラクタを半透明ウィンドウの背後に部分的に伴う、半透明ウィンドウ(ガラス窓のように)の場合を検討する。さらに、頭部は、半透明ウィンドウの上方にあるが、身体は、半透明ウィンドウのフレーム内にあると仮定する。さらに、ウィンドウが青味がかった色調を有する場合を検討する。そのような場合では、キャラクタの身体は、ある程度の青色色調影響を有することになる。乗法混成は、本効果をレンダリングするために使用されることができる。レンダラは、ウィンドウが、ある波長の光のみがそれを通して通過することを可能にすることになり、したがって、ウィンドウを通して入ってくるどのような光も、現実性のために混成されることができることを認識するであろう(例えば、ウィンドウの属性を通して)。サブブロックを使用して、キャラクタと別個にその色情報の全てを用いてウィンドウを処理し、次いで、また、その色情報の全てをとともに背景キャラクタを別個に送信することが可能である。実際のディスプレイシステムは、青味がかった光をディスプレイの中に追加するであろう。ディスプレイシステムは、最初に、青色色調ウィンドウをロードし、次いで、キャラクタをロードするであろう。GPUにおける複数のデータのセット(例えば、サブブロック)への分離およびにディスプレイシステムへの別個の送信は、高速かつ効率的である。
【0526】
光マップ
VR、AR、またはMRシステム等の光学システムは、実際の物理的環境と組み合わせて、仮想オブジェクトをレンダリングおよび表示する。これらの仮想オブジェクトを自然に現れる光を用いて照明することは、困難であり得る。
【0527】
本明細書に説明される実施形態は、実際の物理的環境内の光に関連する情報を記憶する光マップを使用して、本問題に対処する。
【0528】
光マップは、部屋内の光に関連する情報を含む、データ構造である。光関連情報は、限定ではないが、色(例えば、MRシステム上の色センサによって検出される)、照明レベル、および光方向(例えば、MRシステム上の光センサによって検出される)を含む。
【0529】
図59は、一実施形態による、実際の物理的部屋内における表示のために正確に照明された仮想オブジェクトを生成する方法7300を図示する、フローチャートである。ステップ7302では、MRシステムは、実際の物理的部屋のための採光情報を受信する。例えば、色情報は、MRシステムまたは実際の物理的部屋内の他のユーザのMRシステム上の色センサによって検出されてもよい。加えて、照明レベルおよび光方向は、MRシステムまたは実際の物理的部屋内の他のユーザのMRシステム上の光センサによって検出されてもよい。
【0530】
ステップ7304では、MRシステムおよび/またはそこに接続されるサーバは、実際の物理的部屋内の1つ以上のMRシステムから受信された採光情報に基づいて、実際の物理的部屋の光マップを生成する。光マップは、透過、拡散、反射、回折される、および同等物の光を含む、実際の物理的部屋内の採光源のモデルである。
【0531】
ステップ7306では、MRシステムおよび/またはサーバは、光マップを使用して、実際の物理的部屋内の光源のモデルおよびその中の仮想オブジェクトの場所に基づいて、より正確に照明された仮想オブジェクトを生成する。
【0532】
ステップ7308では、MRは、仮想オブジェクトをユーザに表示する。ARシナリオでは、例えば、仮想オブジェクトは、より正確に照明されるため、より真実味がある。例えば、実際の物理的部屋は、オーバーヘッド白色光または黄色光を有し得、仮想オブジェクトの色は、部屋光に合致するように修正されることができる。これは、広告主が、そのキャンペーンおよびブランドにおいて非常に具体的色(例えば、INTEL青色、YAHOO!紫色、および同等物)を使用するため、重要であり得る。さらに、採光情報内の光方向情報が、仮想オブジェクトに関連する(例えば、その上の、またはそれによって生成された)陰影をより正確に生成するために使用されることができる(例えば、光線追跡によって)。
【0533】
光マップを構築するための1人以上のユーザからの情報の使用は、プライバシ問題をもたらす。例えば、1人のユーザの視野(FOV)は、採光情報に加え、いくつかの私的情報(画像を含む)を含み得る。ユーザのFOVの画像が、公的サーバに伝送される場合、私的情報(画像を含む)は、非意図的に公的に利用可能にされ得る。私的情報の実施例は、デスクトップまたはモバイルコンピュータの画面上に表示される私的財務情報を含み、画像は、いくつかの子供の画像を含む。
【0534】
図60は、一実施形態による、私的情報を含む画像を使用して、公的に入手可能な光マップを生成しながら、私的情報の暴露を最小限にする方法7400を図示する、フローチャートである。光マップは、仮想画像の採光スキームが表示されるための実際の物理的部屋のものに合致するように、仮想画像の正確なレンダリングを促進する。さらに、実際の物理的部屋内の複数のユーザに関するそのような情報を収集することによって、光情報の量を増加させることは、そこから生成された光マップの正確度を増加させることができる。
【0535】
ステップ7402では、MRシステムは、ユーザのFOVの1つ以上の画像を取得する。MRシステムの正面に面したカメラは、ユーザのFOVの画像の収集を比較的に容易にする。
【0536】
ステップ7404では、MRシステムは、1つ以上の画像を分析し、私的情報を含む画像を識別する。
【0537】
ステップ7406では、MRシステムは、光マップが、ローカルで、したがって、私的で使用される、またはサーバに接続される他のユーザによって、したがって、公的に使用されるであろうかどうかを決定する。公的に入手可能な光マップは、光マップが生成された画像を含んでもよい、またはそのような画像がリバースエンジニアリングされ得る情報を含んでもよいかのいずれかである。
【0538】
ステップ7408では、MRシステムが、光マップが公的であることを決定すると、採光情報を含むが、私的情報を含まない、プロキシ画像を生成する。例えば、私的情報を含む、スマートフォンの表面は、プロキシ画像内では、同一反射性を有するが、私的情報を伴わない、スマートフォンと置換されてもよい。
【0539】
ステップ7410では、MRシステムは、プロキシ画像を光マップを構築する際に使用するためのサーバに送信する。ステップ7412では、サーバは、少なくともプロキシ画像を使用して、光マップを生成する。したがって、採光情報は、私的情報を含む、1つ以上の画像から抽出され、私的情報を暴露せず、正確な光マップを生成することができる。
【0540】
MRシステムは、私的情報を含む実画像と、匿名化または編集された情報を伴うプロキシ画像の両方にリンクする、ハンドルを有することができる。MRシステムは、光マップが私的であると決定されると、ハンドルが実画像を呼び出すように構成されることができる。そうでなければ、ハンドルは、プロキシ画像を呼び出すであろう。
【0541】
本開示のある側面、利点、および特徴が、本明細書に説明されている。必ずしも全てのそのような利点が、本開示の任意の特定の実施形態に従って達成され得るわけではないことを理解されたい。したがって、本開示は、本明細書で教示または提案され得るような他の利点を必ずしも達成することなく、本明細書で教示されるような1つの利点もしくは利点のグループを達成または最適化する様式で、具現化もしくは実施されてもよい。
【0542】
実施形態は、付随の図面に関連して説明されている。しかしながら、図が一定の縮尺で描かれていないことを理解されたい。距離、角度等は、例証的にすぎず、必ずしも図示されるデバイスの実際の寸法およびレイアウトと正確な関係を持つわけではない。加えて、前述の実施形態は、当業者が本明細書に説明されるデバイス、システム、方法、および同等物を作製して使用することを可能にする詳細のレベルで説明されている。多種多様な変形例が、可能である。コンポーネント、要素、および/またはステップは、改変、追加、除去、もしくは再編成されてもよい。
【0543】
本明細書に説明されるデバイスおよび方法は、有利なこととして、例えば、コンピュータソフトウェア、ハードウェア、ファームウェア、またはソフトウェア、ハードウェア、およびファームウェアの任意の組み合わせを使用して、少なくとも部分的に実装されることができる。ソフトウェアモジュールは、本明細書に説明される機能を果たすために、コンピュータのメモリの中に記憶されたコンピュータ実行可能コードを含むことができる。いくつかの実施形態では、コンピュータ実行可能コードは、1つ以上の汎用コンピュータによって実行される。しかしながら、当業者は、本開示に照らして、汎用コンピュータ上で実行されるソフトウェアを使用して実装され得る、任意のモジュールもまた、ハードウェア、ソフトウェア、またはファームウェアの異なる組み合わせを使用して実装され得ることを理解するであろう。例えば、そのようなモジュールは、集積回路の組み合わせを使用して、完全にハードウェアで実装されることができる。代替として、または加えて、そのようなモジュールは、汎用コンピュータによってではなく、本明細書に説明される特定の機能を果たすように設計される特殊化コンピュータを使用して、完全もしくは部分的に実装されることができる。加えて、少なくとも部分的にコンピュータソフトウェアによって実施される、またはされ得る方法が説明される場合、そのような方法は、コンピュータもしくは他の処理デバイスによって読み取られたときに方法を実施させる、非一過性のコンピュータ可読媒体上に提供され得ることを理解されたい。
【0544】
ある実施形態が、明示的に説明されているが、他の実施形態も、本開示に基づいて当業者に明白となるであろう。
【0545】
本明細書に説明される種々のプロセッサおよび他の電子コンポーネントは、光を投影させるための任意の光学システムと併用するために好適である。本明細書に説明される種々のプロセッサおよび他の電子コンポーネントは、また、音声コマンドを受信するための任意のオーディオシステムと併用するために好適である。
【0546】
本開示の種々の例示的実施形態が、本明細書に説明される。これらの実施例は、非限定的意味で参照される。それらは、本開示のより広義に適用可能な側面を例証するために提供される。種々の変更が、説明される本開示に行われてもよく、本開示の真の精神および範囲から逸脱することなく、均等物が代用されてもよい。加えて、多くの修正が、特定の状況、材料、組成物、プロセス、プロセス作用、またはステップを本開示の目的、精神、または範囲に適合させるために行われてもよい。さらに、当業者によって理解されるであろうように、本明細書で説明および例証される個々の変形例はそれぞれ、本開示の範囲または精神から逸脱することなく、他のいくつかの実施形態のうちのいずれかの特徴から容易に分離される、またはそれらと組み合わせられる、離散コンポーネントおよび特徴を有する。全てのそのような修正は、本開示と関連付けられた請求項に記載の範囲内であることが意図される。
【0547】
本開示は、本主題のデバイスを使用して実施され得る方法を含む。本方法は、そのような好適なデバイスを提供する作用を含んでもよい。そのような提供は、エンドユーザによって実施されてもよい。言い換えると、「提供する」作用は、単に、エンドユーザが、本主題の方法において必要なデバイスを取得する、それにアクセスする、それに接近する、それを位置付ける、それを設定する、それをアクティブ化する、それに電源を入れる、または別様にそれを提供するように作用することを要求する。本明細書に列挙される方法は、論理的に可能な列挙されたイベントの任意の順序ならびにイベントの列挙された順序で行われてもよい。
【0548】
本開示の例示的側面が、材料選択および製造に関する詳細とともに、上記に記載された。本開示の他の詳細に関して、これらは、前述の参照特許および刊行物に関連して理解され、概して、当業者によって公知である、または理解され得る。同じことは、一般または論理的に採用されるような付加的作用の観点から、本開示の方法ベースの側面に関しても当てはまり得る。
【0549】
加えて、本開示は、随意に、種々の特徴を組み込む、いくつかの実施例を参照して説明されたが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われてもよく、均等物(本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず)は、本開示の精神および範囲から逸脱することなく代用されてもよい。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。
【0550】
また、説明される変形例の任意の随意の特徴は、独立して、または本明細書に説明される特徴のうちの任意の1つ以上のものと組み合わせて、記載および請求され得ることが検討される。単数形アイテムの言及は、存在する複数の同一アイテムが存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられた請求項で使用されるように、単数形「a」、「an」、「said」、および「the」は、別様に具体的に述べられない限り、複数の言及を含む。言い換えると、冠詞の使用は、上記の説明ならびに本開示と関連付けられる請求項における本主題のアイテムのうちの「少なくとも1つ」を可能にする。さらに、請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」、および同等物等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。
【0551】
そのような排他的専門用語を使用しなければ、本開示と関連付けられる請求項における用語「~を備える」は、所与の数の要素が請求項で列挙されるかどうかにかかわらず、任意の付加的要素の包含を可能にするものとする、または特徴の追加は、請求項に記載される要素の性質を変換すると見なされ得る。本明細書で具体的に定義される場合を除いて、本明細書で使用される全ての技術および科学用語は、請求項の正当性を維持しながら、可能な限り広い一般的に理解されている意味を与えられるべきである。
【0552】
本開示の範疇は、提供される実施例および/または本主題の明細書に限定されるべきではなく、むしろ、本開示と関連付けられた請求項の言語の範囲によってのみ限定されるべきである。
【0553】
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われてもよいことが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。
図1
図2A
図2B
図2C
図2D
図2E
図2F
図2G
図2H
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12A
図12B
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24A
図24B
図25A
図25B
図25C
図26
図27
図28
図29
図30
図31A
図31B
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42
図43
図44
図45
図46
図47
図48
図49
図50
図51
図52
図53
図54
図55
図56
図57
図58
図59
図60
図61
図62
図63
図64