JP2022103218A - 拡張現実データを記録するための手法 - Google Patents

拡張現実データを記録するための手法 Download PDF

Info

Publication number
JP2022103218A
JP2022103218A JP2022073937A JP2022073937A JP2022103218A JP 2022103218 A JP2022103218 A JP 2022103218A JP 2022073937 A JP2022073937 A JP 2022073937A JP 2022073937 A JP2022073937 A JP 2022073937A JP 2022103218 A JP2022103218 A JP 2022103218A
Authority
JP
Japan
Prior art keywords
camera
virtual content
user
posture
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022073937A
Other languages
English (en)
Other versions
JP7133115B2 (ja
Inventor
ヌーライ レザ
Nourai Reza
ハロルド リーベナウ マイケル
Harold Liebenow Michael
ブレイク テイラー ロバート
Blake Taylor Robert
ワイアット ロバート
wyatt Robert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2022103218A publication Critical patent/JP2022103218A/ja
Application granted granted Critical
Publication of JP7133115B2 publication Critical patent/JP7133115B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/27Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving both synthetic and natural picture components, e.g. synthetic natural hybrid coding [SNHC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Generation (AREA)

Abstract

Figure 2022103218000001
【課題】画像記録を生成するための方法およびシステムを提供すること。
【解決手段】システム内のカメラの視点からの拡張現実システムから生成される記録のための改良されたアプローチが、開示される。AR記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、AR記録のために、特に、追加の仮想コンテンツが、追加の視点からレンダリングされる。その追加の仮想コンテンツは、カメラによって生成された画像フレームと組み合わせられ、AR記録を形成する。一実施形態において、単一のGPU処理サイクルは、ユーザ姿勢とカメラ姿勢との両方のための仮想コンテンツをレンダリングするための処理を含む。
【選択図】図5

Description

(発明の分野)
本開示は、概して、拡張現実技術に関する。
(背景)
現代のコンピューティングおよび表示技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える様式、またはそのように知覚され得る様式でユーザに提示される。仮想現実(VR)シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透明性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実(AR)シナリオは、典型的には、ユーザの周囲の実際の実世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
VRおよびARシステムは、典型的には、ユーザの頭部に少なくとも緩く結合され、したがって、エンドユーザの頭部が移動すると、移動するウェアラブル表示デバイス(例えば、頭部装着型ディスプレイ、ヘルメット搭載型ディスプレイ、またはスマートグラス)を採用する。エンドユーザの頭部運動が、ディスプレイシステムによって検出される場合、表示されているデータは、頭部姿勢(例えば、ユーザの頭部の向きおよび/または場所)の変化を考慮するように更新されることができる。
例として、頭部装着型ディスプレイを装着しているユーザが、ディスプレイ上で3次元(3D)オブジェクトの仮想表現を視認し、3Dオブジェクトが現れるエリアの周囲を歩き回る場合、その3Dオブジェクトは、各視点のために再レンダリングされ、エンドユーザに、実空間を占有するオブジェクトの周囲を歩き回っているという知覚を与えることができる。頭部装着型ディスプレイが、複数のオブジェクトを仮想空間(例えば、豊かな仮想世界)内に提示するために使用される場合、頭部姿勢の測定が、場面を再レンダリングし、エンドユーザの動的に変化する頭部場所および向きに合致させ、仮想空間における増加した没入感を提供するために使用されることができる。
ARを可能にする頭部装着型ディスプレイは、実および仮想オブジェクトの両方の同時視認を提供する。「光学シースルー」ディスプレイを用いて、エンドユーザは、ディスプレイシステム内の透明(または半透明)要素を通して見ることによって、環境内の実オブジェクトからの光を直接視認することができる。多くの場合、「コンバイナ」と称される透明要素は、ディスプレイからの光を実世界のエンドユーザのビューの上に重さね、ディスプレイによって生産される光は、仮想コンテンツの画像を実世界のシースルービューの上に投影する。ユーザによって視認されている場面の画像またはビデオを捕捉するために、カメラが、ウェアラブルディスプレイ上に搭載され得る。
ウェアラブルディスプレイを動作させるとき、ユーザは、ARデバイスを動作させることにおける体験の記録を保存することを求め得る。例えば、電子ビデオゲームをプレーするゲーマは、多くの場合、ゲームプレーのリアルタイムアクションの記録を生成することを選定し、記録が、後の時点で再生されることができる。ARシステムのコンテキストにおいて、これは、記録が、ディスプレイシステムの動作中の組み合わされた実および仮想オブジェクトの記録を含むべきことを意味する。
問題は、ARシステムにおける仮想オブジェクトが、ユーザの眼/頭部の視点からレンダリングされるのに対し、実際に実オブジェクトを記録しているカメラは、通常、ユーザの眼から異なる場所および/または視野角Dで搭載されることである。これは、単にレンダリングされた仮想オブジェクトを実オブジェクトの記録と組み合わせる記録が、第1の視点からの仮想オブジェクトと第2の視点からの実オブジェクトとを示し、潜在的に、記録の所与の画像フレームに対する最終画像生産物にいて、仮想オブジェクトの向きおよび/またはコンテンツのかなりのずれを作成するであろうことを意味する。
これに対処するために、仮想オブジェクトがビデオ記録において提示される方法を変化させるために、「ワーピング」が、適用され得る。このアプローチは、第1の視点からレンダリングされた仮想オブジェクトを捉え、仮想オブジェクトが提示される方法をシフトさせ、第2の視点からのそれらの仮想オブジェクトを表示するように試みる。このアプローチの1つの問題は、仮想オブジェクトが、もともと、第1の視点からレンダリングされている場合、レンダリングされた仮想オブジェクトが、第2の視点からの仮想オブジェクトに関する表示可能な情報を含まないこともあることである。例えば、第2の仮想オブジェクトが、ユーザの眼の視点(すなわち、第1の視点)から第1の仮想オブジェクトの後方に隠れているとき、仮想コンテンツのレンダリングは、カメラの視点(すなわち、第2の視点)から視認可能である第2の(隠れた)仮想オブジェクトではなく、第1の仮想オブジェクトのみを示し得る。これは、仮想コンテンツにワーピングが実施されるときでさえ、ワーピングされた仮想コンテンツが、第1の仮想オブジェクトに関するコンテンツのみを含み、依然として、カメラの視点から視認可能である第2の仮想オブジェクトに関するコンテンツを逸しているであろうことを意味する。このアプローチは、したがって、記録された画像/ビデオフレームのコンテンツの正確度に影響を及ぼすビデオアーチファクトを作成し得る。
このアプローチの別の潜在的問題は、AR機器およびアプリケーションが記録のための仮想コンテンツをワーピングするために必要な処理を実施するように試みるので、それが待ち時間をもたらすことである。これは、ユーザへのウェアラブルディスプレイ上における表示のためにリアルタイム画像を生成することにおける知覚可能な遅延をもたらし得る。
したがって、記録された実オブジェクトと、レンダリングされた仮想オブジェクトとの組み合わせを有するAR記録を生成するための改良されたアプローチの必要性が存在する。
(要約)
いくつかの実施形態によると、拡張現実(AR)記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、AR記録のために、特に、追加の仮想コンテンツが、追加の視点からレンダリングされる。すなわち、仮想コンテンツが、AR記録に関するカメラの視点からレンダリングされる。その追加の仮想コンテンツは、カメラによって生成された画像フレームと組み合わせられ、AR記録を形成する。待ち時間およびコンピューティングオーバーヘッドを低減させるために、標準のGPU処理における間隙が、仮想コンテンツの追加のレンダリングを実施するために利用され得る。
いくつかの実施形態は、カメラを用いて、カメラ画像フレームを捕捉することと、カメラ画像フレームに対応する姿勢データを識別することであって、姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、ユーザ姿勢データは、カメラ姿勢データとは異なる視点からのものである、ことと、拡張現実(AR)デバイスにおけるユーザへの即時の表示のために、ユーザ姿勢仮想コンテンツをレンダリングすることであって、ユーザ姿勢仮想コンテンツは、ユーザの視点からの第1の仮想コンテンツに対応する、ことと、カメラ姿勢仮想コンテンツをレンダリングすることであって、カメラ姿勢仮想コンテンツは、カメラの視点からの第2の仮想コンテンツに対応する、ことと、カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせることによって、画像記録を合成することとを実装する画像記録を生成する方法、コンピュータプログラム製品、およびシステムに関する。
いくつかの実施形態は、以下の任意の組み合わせをさらに含む:単一のGPU処理サイクルが、ユーザ姿勢とカメラ姿勢との両方のための仮想コンテンツをレンダリングするための処理を含むこと;単一のGPU処理サイクル中にレンダリングされるユーザ姿勢とカメラ姿勢とのための仮想コンテンツが、同一のフレームのためのものであること;単一のGPU処理サイクル中にレンダリングされるユーザ姿勢とカメラ姿勢とのための仮想コンテンツが、異なるフレームに対応すること;合成器が、カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせることによって、画像記録を生成すること;慣性測定ユニット(IMU)が、姿勢データを生成すること;メディアエンコーダが、カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせた1つ以上の画像フレームをエンコードすること;および/または、メディアエンコーダによってエンコードされる1つ以上の画像フレームが、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも1つを含むこと。
いくつかの実施形態は、プロセッサによって実行されると、プロセッサに上で説明される要素の任意の組み合わせを実行させる一連の命令を記憶しているコンピュータプログラム製品に関する。
いくつかの実施形態は、3次元コンテンツを表示する拡張現実表示デバイスと、カメラ画像フレームを捕捉するカメラと、カメラ画像フレームに対応する姿勢データを識別するIMUであって、姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、ユーザ姿勢データは、カメラ姿勢データとは異なる視点からのものである、IMUと、ユーザ姿勢仮想コンテンツおよびカメラ姿勢仮想コンテンツの両方をレンダリングするGPUであって、ユーザ姿勢仮想コンテンツは、拡張現実デバイスにおけるユーザへの即時の表示のためにレンダリングされ、ユーザ姿勢仮想コンテンツは、ユーザの視点からの第1の仮想コンテンツに対応し、カメラ姿勢仮想コンテンツは、カメラの視点からの第2の仮想コンテンツに対応する、GPUと、カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせることによって画像記録を合成する合成器とを有する画像記録を生成するためのシステムに関する。いくつかの実施形態は、以下の任意の組み合わせをさらに含む:カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせた1つ以上の画像フレームをエンコードするメディアエンコーダであって、1つ以上の画像フレームは、メディアエンコーダによってエンコードされ、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも1つを含み、単一のGPU処理サイクルは、ユーザ姿勢およびカメラ姿勢の両方のための仮想コンテンツをレンダリングするための処理を含み、単一のGPU処理サイクル中にレンダリングされるユーザ姿勢とカメラ姿勢とのための仮想コンテンツは、同一のフレームのためのものであり、単一のGPU処理サイクル中にレンダリングされるユーザ姿勢とカメラ姿勢とのための仮想コンテンツは、異なるフレームに対応する、メディアエンコーダ、および/またはカメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせることによって画像記録を生成する合成器。
本開示の追加のおよび他の目的、特徴、ならびに利点は、詳細説明、図、および請求項に説明される。
本願明細書は、例えば、以下の項目も提供する。
(項目1)
画像記録を生成する方法であって、前記方法は、
カメラを用いて、カメラ画像フレームを捕捉することと、
前記カメラ画像フレームに対応する姿勢データを識別することであって、前記姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、前記ユーザ姿勢データは、前記カメラ姿勢データとは異なる視点からのものである、ことと、
拡張現実(AR)デバイスにおけるユーザへの即時の表示のために、ユーザ姿勢仮想コンテンツをレンダリングすることであって、前記ユーザ姿勢仮想コンテンツは、ユーザの視点からの第1の仮想コンテンツに対応する、ことと、
カメラ姿勢仮想コンテンツをレンダリングすることであって、前記カメラ姿勢仮想コンテンツは、前記カメラの視点からの第2の仮想コンテンツに対応する、ことと、
前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、画像記録を合成することと
を含む、方法。
(項目2)
単一のGPU処理サイクルは、前記ユーザ姿勢と前記カメラ姿勢との両方のための仮想コンテンツをレンダリングするための処理を含む、項目1に記載の方法。
(項目3)
前記単一のGPU処理サイクル中にレンダリングされる前記ユーザ姿勢と前記カメラ姿勢とのための前記仮想コンテンツは、同一のフレームのためのものである、項目2に記載の方法。
(項目4)
前記単一のGPU処理サイクル中にレンダリングされる前記ユーザ姿勢と前記カメラ姿勢とのための前記仮想コンテンツは、異なるフレームに対応する、項目2に記載の方法。(項目5)
合成器が、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、前記画像記録を生成する、項目1に記載の方法。
(項目6)
慣性測定ユニット(IMU)が、前記姿勢データを生成する、項目1に記載の方法。
(項目7)
メディアエンコーダが、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせた1つ以上の画像フレームをエンコードする、項目1に記載の方法。
(項目8)
前記メディアエンコーダによってエンコードされる前記1つ以上の画像フレームは、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも1つを含む、項目7に記載の方法。
(項目9)
コンピュータ読み取り可能な媒体上に具現化されるコンピュータプログラム製品であって、前記コンピュータ読み取り可能な媒体は、プロセッサによって実行されると、前記プロセッサに項目1-8に記載の方法のうちのいずれかを実行させる一連の命令を記憶している、コンピュータプログラム製品。
(項目10)
画像記録を生成するためのシステムであって、前記システムは、
3次元コンテンツを表示する拡張現実表示デバイスと、
カメラ画像フレームを捕捉するカメラと、
前記カメラ画像フレームに対応する姿勢データを識別するIMUであって、前記姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、前記ユーザ姿勢データは、前記カメラ姿勢データとは異なる視点からのものである、IMUと、
ユーザ姿勢仮想コンテンツおよびカメラ姿勢仮想コンテンツの両方をレンダリングするGPUであって、前記ユーザ姿勢仮想コンテンツは、拡張現実デバイスにおけるユーザへの即時の表示のためにレンダリングされ、前記ユーザ姿勢仮想コンテンツは、ユーザの視点からの第1の仮想コンテンツに対応し、前記カメラ姿勢仮想コンテンツは、前記カメラの視点からの第2の仮想コンテンツに対応する、GPUと、
前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって画像記録を合成する合成器と
を備えている、システム。
(項目11)
前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせた1つ以上の画像フレームをエンコードするメディアエンコーダをさらに備えている、項目10に記載のシステム。
(項目12)
前記メディアエンコーダによってエンコードされる前記1つ以上の画像フレームは、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも1つを含む、項目11に記載のシステム。
(項目13)
単一のGPU処理サイクルは、前記ユーザ姿勢および前記カメラ姿勢の両方のための仮想コンテンツをレンダリングするための処理を含む、項目10に記載のシステム。
(項目14)
前記単一のGPU処理サイクル中にレンダリングされる前記ユーザ姿勢と前記カメラ姿勢とのための前記仮想コンテンツは、同一のフレームのためのものである、項目13に記載のシステム。
(項目15)
前記単一のGPU処理サイクル中にレンダリングされる前記ユーザ姿勢と前記カメラ姿勢とのための前記仮想コンテンツは、異なるフレームに対応する、項目13に記載のシステム。
(項目16)
前記合成器は、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、前記画像記録を生成する、項目10に記載のシステム。
図面は、類似要素が共通の参照番号によって参照される本開示の好ましい実施形態の設計および有用性を図示する。本開示の前述および他の利点ならびに目的を得る方法をより深く理解するために、上で手短に説明される本開示のより具体的な説明が、付随の図面に図示される、その具体的実施形態を参照することによって与えられるであろう。これらの図面が、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定に見なされるものではないことの理解のもと、本開示は、付随の図面の使用を通して、追加の特殊性および詳細とともに記載かつ説明されるであろう。
図1A-Cは、本開示のいくつかの実施形態に従って構成される例証的拡張現実システムのブロック図である。 図1A-Cは、本開示のいくつかの実施形態に従って構成される例証的拡張現実システムのブロック図である。 図1A-Cは、本開示のいくつかの実施形態に従って構成される例証的拡張現実システムのブロック図である。 図2は、いくつかの実施形態による、AR記録プロセスを実装するための例示的アーキテクチャを図示する。 図3は、いくつかの実施形態による、ワーピングを使用してAR記録を生成するためのアプローチのフローチャートを示す。 図4A-Gは、いくつかの実施形態による、AR記録を実装するためのワーピングアプローチの図を提供する。 図4A-Gは、いくつかの実施形態による、AR記録を実装するためのワーピングアプローチの図を提供する。 図4A-Gは、いくつかの実施形態による、AR記録を実装するためのワーピングアプローチの図を提供する。 図4A-Gは、いくつかの実施形態による、AR記録を実装するためのワーピングアプローチの図を提供する。 図4A-Gは、いくつかの実施形態による、AR記録を実装するためのワーピングアプローチの図を提供する。 図4A-Gは、いくつかの実施形態による、AR記録を実装するためのワーピングアプローチの図を提供する。 図4A-Gは、いくつかの実施形態による、AR記録を実装するためのワーピングアプローチの図を提供する。 図5は、いくつかの実施形態による、本AR記録プロセスを実装するためのアーキテクチャを図示する。 図6は、いくつかの実施形態による、AR記録を生成するためのアプローチのフローチャートを示す。 図7A-Fは、いくつかの実施形態による、AR記録を生成するためのアプローチを図示する。 図7A-Fは、いくつかの実施形態による、AR記録を生成するためのアプローチを図示する。 図7A-Fは、いくつかの実施形態による、AR記録を生成するためのアプローチを図示する。 図7A-Fは、いくつかの実施形態による、AR記録を生成するためのアプローチを図示する。 図7A-Fは、いくつかの実施形態による、AR記録を生成するためのアプローチを図示する。 図7A-Fは、いくつかの実施形態による、AR記録を生成するためのアプローチを図示する。 図8は、いくつかの実施形態による、例示的GPU処理サイクルを図示する。 図9Aは、いくつかの実施形態による、例示的GPU処理サイクルを図示する。 図9Bは、いくつかの実施形態による、GPU処理サイクルを実装するためのアプローチのフローチャートを示す。 図10A-Bは、いくつかの実施形態による、例示的代替GPU処理サイクルを図示する。 図10A-Bは、いくつかの実施形態による、例示的代替GPU処理サイクルを図示する。 図10Cは、いくつかの実施形態による、代替GPU処理サイクルを実装するためのアプローチのフローチャートを示す。 図11は、いくつかの実施形態による、例証的コンピューティングシステムのブロック図である。
(詳細な説明)
本開示は、「第三の眼」の仮想コンテンツレンダリングを使用して拡張現実(AR)記録を実装するためのアプローチを対象とする。いくつかの実施形態によると、AR記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、追加の仮想コンテンツが、カメラの視点からレンダリングされ、その追加の仮想コンテンツが、実世界のカメラ記録と組み合わせられ、AR記録を形成する。いくつかの実施形態では、標準のGPU処理における間隙が、追加の仮想コンテンツのレンダリングを生成するための追加のレンダリングを実施するために利用され得る。
本開示は、最初に、それを用いて本開示のいくつかの実施形態が実践され得る例証的ARシステムの説明を提供し、その後、記録のためのARコンテンツを生成するための改良されたプロセスおよび機構の1つ以上の実施形態の説明が、続くであろう。
(例証的拡張現実システム)
続く説明は、それを用いて本開示が実践され得る(「拡張現実システム」、「ARシステム」、または「複合現実システム」のうちの任意のものと本明細書において称され得る)例証的拡張現実(AR)システムに関する。しかしながら、本開示は、拡張現実および仮想現実システムの他のタイプにおける用途にも適しており、したがって、本開示は、本明細書に開示される例証的システムにのみ限定されるものではないことを理解されたい。
図1Aは、一実施形態による、拡張現実(AR)システム100aを図示するブロック図である。ARシステム100aは、拡張現実制御システム101aと併せて動作させられ、エンドユーザ50の視野内の物理的オブジェクトと混合される仮想オブジェクトの画像を提供し得る。このアプローチは、1つ以上の少なくとも部分的に透明な表面を採用し、1つ以上の少なくとも部分的に透明な表面を通してエンドユーザ50の視野における周囲環境が見られることができ、その上にARシステム100aが仮想オブジェクトの画像を生産する。
AR用途のために、種々の仮想オブジェクトをエンドユーザ50の視野内の物理的オブジェクトに対して空間的に位置付けることが、望ましくあり得る。本明細書において仮想タグまたはコールアウトとも称される仮想オブジェクトは、画像として表されることが可能な任意の種々のデータ、情報、概念、もしくは論理構造を有する多種多様な形態の任意のものをとり得る。仮想オブジェクトの非限定的例は、仮想テキストオブジェクト、仮想数字オブジェクト、仮想英数字オブジェクト、仮想タグオブジェクト、仮想フィールドオブジェクト、仮想チャートオブジェクト、仮想マップオブジェクト、仮想計器オブジェクト、または物理的オブジェクトの仮想視覚表現を含み得る。
ARシステム100aは、エンドユーザ50によって装着されるフレーム構造102と、ディスプレイシステム104がエンドユーザ50の眼の正面に位置付けられるようにフレーム構造102によって支持されたディスプレイシステム104と、ディスプレイシステム104の中に組み込まれるか、または、それに接続されたスピーカ106とを含む。図示される実施形態では、スピーカ106は、スピーカ106が、エンドユーザ50の外耳道(例えば、イヤーバッドまたはヘッドホン)に隣接して(その中もしくは周囲に)位置付けられるように、フレーム構造102によって支持される。
ディスプレイシステム104は、エンドユーザ50の眼に、2次元および3次元コンテンツを伴う物理的現実への拡張として快適に知覚され得る光ベースの放射パターンを提示するように設計される。ディスプレイシステム104は、単一コヒーレント場面の知覚を提供する一連のフレームを高周波数で提示する。この目的を達成するために、ディスプレイサブシステム104は、投影サブシステム108と、投影サブシステム108が画像を投影する部分的に透明なディスプレイ画面とを含む。ディスプレイ画面は、エンドユーザ50の眼と周囲(例えば、物理的)環境との間のエンドユーザ50の視野内に位置付けられる。
いくつかの実施形態では、投影サブシステム108は、走査ベースの投影デバイスの形態をとり、ディスプレイ画面は、導波管ベースのディスプレイの形態をとり、ディスプレイの中に投影サブシステム108からの走査された光が、投入され、無限遠より近い単一光学視認距離(例えば、腕の長さ)における画像、複数の別々の光学視認距離もしくは焦点面における画像、および/または、立体3Dオブジェクトを表すために複数の視認距離または焦点面にスタックされた画像層を生産する。明視野内のこれらの層は、ヒト視覚系に連続して現れるように、一緒に十分に近接してスタックされ得る(例えば、1つの層が、隣接する層の乱信号円錐域内にある)。加えて、または代替として、画素が、2つ以上の層にわたって混成され、それらの層がより疎らにスタックされる(例えば、1つの層が、隣接する層の乱信号円錐域外にある)場合でも、明視野内の層間の遷移の知覚される連続性を増加させ得る。ディスプレイシステム104は、単眼または双眼用であり得る。走査アセンブリは、光ビームを生産する(例えば、異なる色の光を定義されたパターンで放出する)、1つ以上の光源を含む。光源は、多種多様な形態のいずれかをとり、例えば、RGB源(例えば、赤色、緑色、および青色光を出力可能なレーザダイオード)の組の形態をとり得、RGB源は、ピクセル情報またはデータのそれぞれのフレームにおいて規定された定義されたピクセルパターンに従って、それぞれ、赤色、緑色、および青色コヒーレントコリメート光を生産するように動作可能である。レーザ光は、高彩度を提供し、非常にエネルギー効率的である。光学結合サブシステムは、光をディスプレイ画面の端部の中に光学的に結合するための光学導波管入力装置(例えば、1つ以上の反射表面、回折格子、ミラー、ダイクロイックミラー、もしくはプリズム等)を含む。光学結合サブシステムは、光ファイバからの光をコリメートするコリメーション要素をさらに含む。随意に、光学結合サブシステムは、光学変調装置を含み、光学変調装置は、コリメーション要素からの光を光学導波管入力装置の中心における焦点に向かって収束させ、それによって、光学導波管入力装置のサイズが最小化されることを可能にするように構成される。したがって、ディスプレイシステム104は、1つ以上の仮想オブジェクトの歪のない画像をユーザに提示する、ピクセル情報の一連の合成画像フレームを生成する。ディスプレイシステムを説明するさらなる詳細は、2014年3月14日に出願された米国一般特許出願第14/212,961号に変換された、「Display Subsystem and Method」と題され、2013年3月15日に出願された米国仮特許出願第61/801,219号、および「Planar Waveguide Apparatus With Diffraction Element(s) and Subsystem Employing Same」と題され、2014年7月14日に出願された米国特許出願第14/331,218号に提供されている。
ARシステム100aは、エンドユーザ50の頭部の位置および移動、および/または、エンドユーザ50の眼位置および眼球間距離を検出するためのフレーム構造102に搭載された1つ以上のセンサをさらに含む。そのようなセンサは、画像捕捉デバイス(カメラ144等)、マイクロホン、慣性測定ユニット(IMU)、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープを含み得る。例えば、一実施形態では、ARシステム100aは、エンドユーザ50の頭部の移動を示す慣性測定値を捕捉するための1つ以上の慣性トランスデューサを含む頭部装着型トランスデューササブシステムを含む。そのようなデバイスは、エンドユーザ50の頭部移動に関する情報を感知、測定、または収集するために使用され得る。例えば、これらのデバイスは、エンドユーザ50の頭部の測定移動、速度、加速、および/または位置を検出するために使用され得る。
ARシステム100aは、1つ以上の前向きカメラ144a(以降、「カメラ144a」と称される)を含む。カメラ144aは、ARシステム100aの前方方向からの画像/ビデオの記録等の任意の数の目的のために採用され得る。加えて、カメラ144aは、環境およびその環境内の特定のオブジェクトに対するエンドユーザ50の距離、向き、および/または角度位置を示す情報等のエンドユーザ50が位置する環境に関する情報を捕捉するために使用され得る。
いくつかの実施形態では、例えば、図1Aに図示されるように、カメラ144は、物理的にフレーム構造102に取り付けられ得、他の実施形態では、例えば、図1Bに図示されるように、カメラ144bは、物理的にフレーム構造102から遠隔にあり得る。例えば、カメラ144bは、ユーザが位置する部屋の明確なビューを有する、壁または天井場所に設置され得、カメラ144bは、部屋の中の既知の座標場所に設置される。任意のタイプのカメラ144(カメラ144は、カメラ144a、144b、または任意の他の好適なタイプの画像取得デバイスを集合的に指す)が、本実施形態によるAR記録を実施するために使用され得る。
ARシステム100aは、エンドユーザ50の眼の角度位置(片眼または両眼が向いている方向)、瞬目、および焦点深度(眼収束を検出することによる)を追跡するための後向きカメラをさらに含み得る。そのような眼追跡情報は、例えば、光をエンドユーザの眼に投影し、その投影された光の少なくとも一部の戻りまたは反射を検出することによって判別され得る。
拡張現実システム100aは、多種多様な形態の任意のものをとり得る制御サブシステム101aをさらに含む。制御サブシステム101aは、いくつかのコントローラ、例えば、1つ以上のマイクロコントローラ、マイクロプロセッサもしくは中央処理ユニット(CPU)、デジタル信号プロセッサ、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)等の他の集積回路コントローラ、プログラマブルゲートアレイ(PGA)、例えば、フィールドPGA(FPGA)、および/またはプログラマブル論理コントローラ(PLU)を含む。制御サブシステムは、デジタル信号プロセッサ(DSP)、中央処理ユニット(CPU)150、グラフィック処理ユニット(GPU)152、および1つ以上のフレームバッファ154を含み得る。図1Aは、1つのフレームバッファ154を図示するが、制御サブシステム101aは、2つ以上のフレームバッファ154を含み得る。制御サブシステム101は、例えば、有線または無線接続を介して、フレーム構造102に通信可能に結合され得る。
CPU150は、ARシステム100aの全体的動作を制御する。CPU150は、読み取り専用メモリ(ROM)からの読み取り、および、ランダムアクセスメモリ(RAM)の中への書き込みおよび/またはそれからの読み取りを行い得る。
GPU152は、フレームをレンダリング(例えば、3次元場面を2次元画像に変換)し、これらのフレームをフレームバッファ154の中に記憶する。図示されないが、1つ以上の追加の集積回路が、フレームバッファ154の中へのフレームの書き込みおよび/またはそれからの読み取りと、ディスプレイサブシステム104の走査デバイスの動作とを制御し得る。フレームバッファ154の中への読み込みおよび/またはそれからの読み取りは、動的アドレス指定を採用し得、例えば、フレームが、オーバーレンダリングされる。GPU152は、フレームをレンダリングするための1つ以上の場面の3次元(3D)データのみならず、3Dデータベース160からの3D場面内に含まれる仮想音源に関連付けられた合成音データにもアクセスし得る。
拡張現実システム100aは、ユーザの向き検出モジュール148をさらに含む。ユーザの向きモジュール148は、エンドユーザ50の頭部の瞬間の位置を検出し、センサから受信される位置データに基づいて、エンドユーザ50の頭部の位置を予測し得る。ユーザの向きモジュール148は、エンドユーザ50の眼、特に、センサから受信される追跡データに基づいて、エンドユーザ50が焦点を合わせている方向および/または位置も追跡する。
ARシステム100aの種々のコンポーネントは、分散型サブシステム内に物理的に含まれ得る。例えば、ARシステム100aは、有線導線または無線接続性等によってディスプレイサブシステム104の一部に動作可能に結合されたローカル処理およびデータモジュールを含む。ローカル処理およびデータモジュールは、フレーム構造102に固定して取り付けられる構成、ヘルメットまたは帽子に固定して取り付けられる構成、ヘッドホンの中に内蔵される構成、エンドユーザ50の胴体に除去可能に取り付けられる構成、もしくはベルト結合式構成でエンドユーザ50の腰部に除去可能に取り付けられる構成等、種々の構成で搭載され得る。ARシステム100aは、これらの遠隔モジュールが、互いに動作可能に結合され、ローカル処理およびデータモジュールへのリソースとして利用可能であるように、有線導線または無線接続性等によってローカル処理およびデータモジュールに動作可能に結合された遠隔処理モジュールと、遠隔データリポジトリとをさらに含む。ローカル処理およびデータモジュールは、電力効率的プロセッサまたはコントローラならびにフラッシュメモリ等のデジタルメモリを備え得、両方は、センサから捕捉された、および/または、可能性として処理もしくは読み出しの後、ディスプレイサブシステム104への通過のために、遠隔処理モジュールおよび/または遠隔データリポジトリを使用して、取得および/または処理されたデータの処理、キャッシュ、および記憶を補助するために利用され得る。遠隔処理モジュールは、データおよび/または画像情報を分析かつ処理するように構成された1つ以上の比較的に強力なプロセッサもしくはコントローラを備え得る。遠隔データリポジトリは、インターネットまたは「クラウド」リソース構成内の他のネットワーキング構成を通して利用可能であり得る比較的に大規模なデジタルデータ記憶設備を備え得る。一実施形態では、全てのデータが、記憶され、全ての計算が、ローカル処理およびデータモジュール内で実施され、任意の遠隔モジュールからの完全に自律的使用を可能にする。上で説明される種々のコンポーネント間の結合は、ワイヤもしくは光学通信を提供するための1つ以上の有線インターフェースもしくはポート、または無線通信を提供するためのRF、マイクロ波、およびIR等を介した1つ以上の無線インターフェースもしくはポートを含み得る。いくつかの実装では、全ての通信は、有線であり得る一方、他の実装では、光ファイバを除き、全ての通信は、無線であり得る。
図1Cは、一実施形態による、拡張現実(AR)システム100bを図示するブロック図である。ARシステム100bは、制御サブシステム101bを有する。制御サブシステム101aに関して上で前述されたように、制御システム101bも、投影サブシステム108と、1つ以上のフレームバッファ154と、GPU152と、3Dデータベース160と、画像/ビデオデータ171と、CPU150とを含む。制御サブシステム101bは、1つ以上の慣性測定ユニット(IMU)162と、合成器164と、メディアエンコーダ166と、記録データベース168とをさらに含む。
投影サブシステム108は、エンドユーザ50の視野内の物理的オブジェクトと混成される仮想オブジェクトの画像を提供し、画像は、1つ以上のフレームバッファ154の中に記憶され得る。
IMU162は、ARシステムのための姿勢データを識別するセンサ/測定装置に対応し、姿勢データは、例えば、ジャイロスコープに関する3つの自由度と、加速度計に関する3つの自由度とを有する6つの自由度に対応する姿勢データを含む。IMU162は、エンドユーザ50の頭部の瞬間の位置を検出する。IMU162は、エンドユーザ50の頭部とIMU162が常駐し得るフレーム構造102との間の既知の関係に基づいて、エンドユーザ50の頭部の瞬間の位置を検出し得る。いくつかの実施形態では、IMU162は、エンドユーザ50の頭部の以前に検出された位置に基づいて、エンドユーザ50の頭部の位置を予測し得る。IMU162は、エンドユーザ50の眼、特に、エンドユーザ50が焦点を合わせている方向および/または距離も追跡し得る。IMU162は、カメラ144の瞬間の位置をさらに検出する。いくつかの実施形態では、IMU162は、カメラ144とフレーム構造102との間の既知のオフセットに基づいて、検出された瞬間の位置からカメラ144の瞬間の位置を推定する。
いくつかの実施形態では、AR記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、仮想コンテンツが、カメラの視点からレンダリングされる。レンダリングされたその仮想コンテンツは、カメラ記録と組み合わせられ、AR記録を形成する。CPU150は、制御サブシステム101bの動作を制御し、それによって、GPU152は、(IMU162によって生成されたカメラ144のための姿勢データを使用して)カメラ144からの視点から仮想コンテンツをレンダリングするであろう。
合成器164は、レンダリングされた仮想コンテンツをカメラ記録コンテンツと組み合わせる。合成器164は、GPU152からのレンダリングされた仮想コンテンツとともに適切な座標空間内に適切に並べられたカメラの画像フレーム内の実コンテンツの正しい相対的位置付けに従って、GPU152からのレンダリングされた仮想コンテンツをカメラ144bからの記録されたコンテンツと重ねることによって動作する。
メディアエンコーダ166は、合成器164からの出力データを捉え、1つ以上の画像フレームを所望されるメディアフォーマットタイプに生成する。画像フレームは、単一の画像スクリーンショットおよび/または画像フレームのストリーム/シーケンスとして生成され、ビデオファイルを形成し得る。エンコードされたメディアデータは、次いで、記録データベース168の中に記憶される。
(AR記録)
続く説明は、いくつかの実施形態による、AR記録を生成するためのアプローチに関する。AR記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、追加の仮想コンテンツが、カメラの視点からレンダリングされ、追加の仮想コンテンツは、カメラ記憶と組み合わせられ、AR記録を形成する。
ARシステムのユーザは、多くの場合、記録が実世界オブジェクトと、ARシステムによって生産される仮想オブジェクト(またはコンテンツ)とを含むそのAR体験の記録を保存するように求める。生じる問題は、仮想オブジェクトがユーザの眼の視点からレンダリングされるのに対し、カメラが、ユーザの眼の視点と異なるカメラの視点から実オブジェクトを記録しているという事実に起因して、画像アーチファクトが生成され得ることである。
図2は、いくつかの実施形態による、ワーピングを使用してAR記録プロセスを実装するための例示的アーキテクチャを図示する。いくつかの実施形態では、ワーピングプロセスは、画像アーチファクトをもたらし得る。所与の時点において、ARデバイス上における表示のための仮想画像データを生成するための要求が、受信されるであろう。(1)において、カメラ144は、カメラ画像フレームを捕捉し、捕捉されたカメラ画像フレームを合成器164に伝送する。いくつかの実施形態では、カメラ144は、フレーム構造102に取り付けられ得る。いくつかの実施形態では、カメラ144は、環境内の決定された場所および向きに搭載され得る。
(2)において、IMU162は、エンドユーザ50の頭部および/または眼のための姿勢データを捕捉/識別し、カメラ144のための姿勢データを捕捉し、捕捉された姿勢データを合成器164に伝送する。いくつかの実施形態では、IMU162は、概して、ユーザの眼または頭部とカメラとの姿勢を決定するために、ARシステムのための姿勢データを捕捉/識別する。本明細書で使用されるように、用語「姿勢」は、例えば、(X、Y、Z)座標場所と角度方向/場所/向きとを含む。カメラ144が物理的にフレーム構造102に取り付けられるいくつかの実施形態では、カメラ144のための姿勢データは、カメラ144とフレーム構造102との間の既知の固定されたオフセットに基づいて推定され得る。カメラが144物理的にフレーム構造102から遠隔であるいくつかの実施形態では、カメラ144のための姿勢データは、例えば、システム座標空間内の予め指定された固定された場所/向きデータを含むことができる。
(3)において、合成器164は、エンドユーザ50の頭部および/または眼のための姿勢データとカメラ144のための姿勢データとをGPU152に送信する。GPU152は、エンドユーザ50の頭部および/または眼のための姿勢データに基づいて、仮想コンテンツを生成かつレンダリングする。いくつかの実施形態では、このレンダリングアクションは、仮想コンテンツの画像がエンドユーザ50の頭部および/または眼の視点から生成されるように仮想コンテンツを生成する。環境内の仮想オブジェクトに関する情報(形状、サイズ、表面、テクスチャ、場所、向き等の情報)とそれらの形状とに基づいてレンダリング動作を実施するための構成情報を提供するために、3Dデータベース160が、採用される。エンドユーザ50の頭部および/または眼の視点から視認可能である仮想オブジェクトが、次いで、エンドユーザ50の頭部および/または眼の視点からの画像としてレンダリングされる。
いくつかの実施形態では、AR記録プロセスに関して、合成器エンジン164は、AR記録に好適な仮想コンテンツを生成するように、ARアプリケーション/GPU152に要求する。特に、(4)において、先に生成された仮想コンテンツは、ワーピングされ、カメラ144の視点からの仮想コンテンツを修正するように試み、そのワーピングされた仮想コンテンツは、次いで、合成器164に送信される。
問題は、ワーピングされた仮想コンテンツが、カメラの視点からの仮想コンテツの十分に正確なビューを提供しないこともあることである。例えば、これは、エンドユーザ50の頭部および/または眼の視点に基づく仮想コンテンツが、カメラ144の視点から視認可能であるであろう仮想コンテンツに関する表示可能な情報を含み損なう場合、生じ得る。
合成器164は、カメラ144によって捕捉されたカメラ画像フレームと、GPU152によって生成されたワーピングされかつレンダリングされた仮想コンテンツとを重ねることによって、画像フレームを合成する。(5)において、合成器164は、合成された画像フレームをメディアエンコーダ166に送信する。メディアエンコーダ166は、合成されたフレームをエンコードする。(6)において、メディアエンコーダは、エンコードされた画像フレームを記録データベース168に送信する。合成器164が、ワーピングされかつレンダリングされた仮想コンテンツと、カメラ画像フレームとの両方を有する、合成された画像フレームをメディアエンコーダ166に送信すると、メディアエンコーダ166は、記録される画像/ビデオフレームのコンテンツの正確度に影響を及ぼすビデオアーチファクトを含むエンコードされた画像フレームを発生させ得る。(6)において、視認可能なビデオアーチファクトを有するそのエンコードされた画像フレームは、次いで、記録データベース168の中に記録され得る。
図3は、いくつかの実施形態による、AR記録を生成するためのこのアプローチのフローチャートを示す。302において、画像を表示するための要求が、受信される。要求は、例えば、エンドユーザ50に表示するための新しい画像フレームを生成するための要求に基づいて起こり得る。
304において、カメラ144は、カメラ画像フレームを捕捉する。カメラ画像フレームは、カメラ144の視点から画像データのフレームを捕捉することによって記録される。捕捉されたカメラ画像フレームは、次いで、コンピュータ読み取り可能な媒体の中に記憶され得る。306において、IMU162は、エンドユーザ50の頭部および/または眼のための姿勢データならびにカメラ144のための姿勢データを決定する。カメラ144が物理的にフレーム構造102に取り付けられるいくつかの実施形態では、カメラ144のための姿勢データは、カメラ144とフレーム構造102との間の既知の固定されたオフセットに基づいて推定され得る。カメラ144が物理的にフレーム構造102から遠隔にあるいくつかの実施形態では、カメラ144のための姿勢データは、例えば、システム座標空間内の予め指定された固定された場所/向きデータを含むことができる。
308において、GPU152は、ユーザの眼の視点のみから仮想コンテンツをレンダリングする。すなわち、GPU152は、エンドユーザ50の頭部および/または眼のための姿勢データに基づいて、仮想コンテンツをレンダリングする。310において、投影サブシステム108は、エンドユーザ50の頭部および/または眼の視点からレンダリングされた仮想コンテンツを表示する。
312において、GPU152は、カメラ144のための姿勢データに基づいてレンダリングされた仮想コンテンツをワーピングする。314において、合成器164は、カメラ画像フレームと、ワーピングされかつレンダリングされた仮想コンテンツとを重ねることによって、画像フレームを合成する。316において、メディアエンコーダ166は、合成された画像フレームのエンコードされたバージョンを、記録データベース168がコンピュータ読み取り可能な媒体に対応し得る、記録データベース168の中に記憶する。画像フレームを合成した組み合わせられたAR画像は、画像データの個々のフレームを含み得るか、または画像フレームのストリームとして保存され、ビデオ記録を形成し得る。
図4A-Gは、いくつかの実施形態による、これの例証を提供する。図4Aは、ユーザ(例えば、エンドユーザ50)の環境の中に存在する、2つの実世界オブジェクトを示す。これらの実オブジェクトの各々は、実オブジェクトの正面上に文字「RO」を伴う一定のブロック/立方体として成形される。図4Bに示されるように、ARシステム(例えば、ARシステム100aまたは100b)によって実装される仮想世界が、(例えば、2つの仮想オブジェクトの真下の場所にある)2つの実オブジェクトからある相対距離を空けて仮想オブジェクトを含むと仮定する。仮想オブジェクトは、実際には実世界に存在せず、故に、ARシステム100aまたは100bなしには、エンドユーザ50によって視認されることはできず、カメラ(例えば、カメラ144)によって捕捉された画像フレーム内で視認されることはできず、ARシステムなしでは、ユーザによって視認されることはできない。しかしながら、仮想オブジェクトは、定義された形状と、座標場所とを有し、したがって、その論理場所および向きにおいてユーザに表示されるべき仮想コンテンツとして、ARシステム100aまたは100bによってレンダリングされることができる。仮想オブジェクトは、その正面上に文字「VO」を伴い、その側面上に文字「X」を伴う一定のブロック/立方体として成形される。
エンドユーザ50の眼が、図4Cに示される場所および角度位置内に位置すると仮定する。この例示的状況では、エンドユーザ50の眼は、実オブジェクトの真正面における視点(例えば、第1の視点)から、実オブジェクトと仮想オブジェクトの論理場所とを見ている。したがって、この視点から、図4Dに示されるように、GPU(例えば、GPU152)は、エンドユーザ50の眼が仮想オブジェクトの真正面を見ているかのように、仮想オブジェクトの画像をレンダリングするであろう。これは、仮想オブジェクトが、正面上に文字「VO」と、側面上に文字「X」とを有していても、仮想オブジェクトが、レンダリングされ、文字「VO」を伴う仮想オブジェクトの正面のみを示し、仮想オブジェクトの側面の任意の部分が、レンダリングされた文字「X」を有しないであろうことを意味する。したがって、実オブジェクトとレンダリングされた仮想オブジェクトとの組み合わせは、これらの実/仮想オブジェクトの全てを、これらの実/仮想オブジェクトの真正面から見る第1の視点から示すであろう。
しかしながら、図4Eに示されるように、カメラ(例えば、カメラ144)の現在の場所および回転位置は、エンドユーザ50の眼のそれと異なる視点(例えば、第2の視点)にある。この状況では、カメラ144の視点は、エンドユーザ50の眼の視点から右方向にある距離を空けてオフセットされ、実オブジェクトの正面および右側面の両方に対して角度付けられる。これは、カメラ144が、実オブジェクトの正面および右側面の両方を捕捉する画像フレームを記録するであろうことを意味する。
図4Fに図示されるように、第1の視点からの仮想オブジェクトのレンダリングされた画像を直接捉え、それを第2の視点からの実オブジェクトの捕捉された画像と重ねることは、これらのオブジェクトの視点における不整合をもたらす。特に、実オブジェクトの正面および部分的な右側面の両方が、第2の視点から示されているが、仮想オブジェクトの正面のみが、第1の視点から示されている。これは、単にレンダリングされた仮想オブジェクトを実オブジェクトの記録と組み合わせる記録が、第1の視点からの実オブジェクトと、第2の視点からの仮想オブジェクトとを示し、潜在的に、記録の所与の画像フレームのための最終画像生産物内にオブジェクトの向きにおけるかなりの断絶を作成するであろうことを意味する。
図4Gに示されるように、仮想オブジェクトのレンダリングされた画像が適切な視点から示されるように、それを変化させる(例えば、第1の視点から第2の視点に)ために、ワーピングが、採用され得る。このアプローチは、仮想オブジェクトのレンダリングされた画像を捉え、仮想オブジェクトのレンダリングされた画像の表面が、第2の視点からのそれらの仮想オブジェクトを表示するように試みるように、提示される方法をシフトさせる。このアプローチの1つの問題は、仮想オブジェクトが、もともと、第1の視点からレンダリングされるとき、レンダリングされた仮想オブジェクトが、第2の視点からの仮想オブジェクトに関する表示可能な情報を含まないこともあることである。ここで、仮想オブジェクトは、仮想オブジェクトの正面のみが視認可能である第1の視点からレンダリングされており、それは、仮想オブジェクトの他の側面からのコンテンツがレンダリングされていないことを意味する。したがって、ワーピングが適用される場合でも、仮想オブジェクトの右側面からの文字「X」は、文字「X」が第1の視点からレンダリングされた仮想オブジェクト内に存在していなかったので、ワーピングされた仮想オブジェクト内に存在しないであろう。これは、カメラ144がエンドユーザ50の眼(例えば、第1の視点)とは異なる視点を有するので、第1の視点からのワーピングされた仮想オブジェクトと第2の視点からの実オブジェクトとの組み合わせが、第2の視点から視認可能であるべきであるコンテンツ(すなわち、仮想オブジェクトの右側上の「X」)を欠いていることを意味する。これは、記録された画像/ビデオフレームの有用性および正確度に影響を及ぼすビデオアーチファクトを生成する。
図5は、いくつかの実施形態による、このAR記録プロセスを実装するためのアーキテクチャを図示する。表示のための仮想画像データを生成するための要求が、ARシステム100aまたは100bによって受信される。
(1)において、カメラ144が、カメラ画像フレームを捕捉し、捕捉されたカメラ画像フレームを合成器164に伝送する。上で説明されるように、いくつかの実施形態では、カメラ144は、フレーム構造102に取り付けられ得る。いくつかの実施形態では、カメラ144は、環境内の既知の場所および向きに搭載され得る。
(2)において、IMU162は、エンドユーザ50の頭部および/または眼のための姿勢データを捕捉し、カメラ144のための姿勢データを捕捉し、捕捉された姿勢データを合成器164に伝送する。カメラ144が物理的にフレーム構造102に取り付けられるいくつかの実施形態では、カメラ144のための姿勢データは、カメラ144とフレーム構造102との間の既知の固定されたオフセットに基づいて推定され得る。カメラ144が物理的にフレーム構造102から遠隔にあるいくつかの実施形態では、カメラ144のための姿勢データは、例えば、システム座標空間内の予め指定された固定された場所/向きデータを含むことができる。
いくつかの実施形態では、AR記録プロセスに関して、合成器164は、AR記録に好適な仮想コンテンツを生成するように、ARアプリケーション/GPU152に要求する。合成器エンジン164からアプリケーション/GPU152への要求は、カメラ144のための姿勢データを含む。すなわち、(3)において、合成器164は、カメラ144のための姿勢データをARアプリケーション/GPU152に送信する。
ARアプリケーション/GPU152は、カメラ144のための姿勢データに基づいて、仮想コンテンツを生成かつレンダリングする。いくつかの実施形態では、このレンダリングアクションは、仮想コンテンツの画像がカメラ144の視点から生成されるように、仮想コンテンツを生成する。環境内の仮想オブジェクトに関する情報(形状、サイズ、表面、テクスチャ、場所、向き等の情報)とそれらの形状に応じてレンダリング動作を実施するための構成情報とを提供するために、3Dデータベース160が、採用される。カメラ144の視点から視認可能である仮想オブジェクトが、次いで、カメラ144の視点からの画像としてレンダリングされる。下でより詳細に記載されるように、この画像のためのレンダリングのタイミングは、システム上の計算待ち時間を最小化させるように構成され得る。
(4)において、ARアプリケーション/GPU152は、レンダリングされた仮想コンテンツを合成器164に送信する。合成器164は、カメラ144によって捕捉されたカメラ画像フレームと、ARアプリケーション/GPU152によって生成された、レンダリングされた仮想コンテンツとを重ねることによって、画像フレームを合成する。この動作は、共通座標空間に従って、コンテンツアイテムをそれらの正しい位置/場所の中に並べることによって、仮想コンテンツをカメラ画像フレームとの正しい相対位置に挿入することによって実施され得る。
(5)において、合成器164は、合成された画像フレームをメディアエンコーダ166に送信する。メディアエンコーダ166は、合成された画像フレームをエンコードする。合成された画像フレームは、単一の画像スクリーンショットとして保存されるか、または画像フレームのストリームに設置され、ビデオファイルを形成し得る。(6)において、メディアエンコーダ166は、エンコードされた画像フレームを、記録データベース168がコンピュータ読み取り可能な媒体に対応し得る記録データベース168に送信する。
図6は、いくつかの実施形態による、AR記録を生成するためのあるアプローチのフローチャートを示す。602において、画像を表示するための要求が、受信される。要求は、例えば、エンドユーザ50に表示するための新しい画像フレームを生成するための要求に基づいて起こり得る。
604において、カメラ144は、画像フレームを捕捉する。カメラ画像フレームは、カメラ144の視点から画像データのフレームを捕捉することによって記録される。捕捉されたカメラ画像フレームは、次いで、コンピュータ読み取り可能な媒体の中に記憶され得る。
606において、IMU162は、エンドユーザ50の頭部および/または眼のための姿勢データならびにカメラ144のための姿勢データを決定する。姿勢データは、ユーザの頭部/眼のための姿勢データならびにカメラのための姿勢データを含む。カメラ144が物理的にフレーム構造102に取り付けられるいくつかの実施形態では、カメラ144のための姿勢データは、カメラ144とフレーム構造102との間の既知の固定されたオフセットに基づいて推定され得る。カメラが144物理的にフレーム構造102から遠隔にあるいくつかの実施形態では、カメラ144のための姿勢データは、例えば、システム座標空間内で予め指定された固定された場所/向きデータを含むことができる。
608において、ARアプリケーション/GPU152は、エンドユーザ50の頭部よび/または眼のための姿勢データに基づいて仮想コンテンツをレンダリングし、カメラ144のための姿勢データに基づいて仮想コンテンツをレンダリングする。すなわち、ARアプリケーション/GPU152は、仮想コンテンツを2回、すなわち、1回は、エンドユーザ50の頭部および/または眼のための姿勢データに基づいて、1回は、カメラ144のための姿勢データに基づいてレンダリングする。このアプローチは、仮想コンテンツをエンドユーザ50の頭部および/または眼のための姿勢データのみに基づいてレンダリングするものではない。いくつかの実施形態では、カメラの場所/角度は、エンドユーザ50の頭部および/または眼に関連して既知であり、エンドユーザ50の頭部および/または眼からカメラ144への変換が、決定され、ARアプリケーション/GPU152へのフィードバック機構として使用され、仮想コンテンツのカメラベースのビューに適切な追加の仮想コンテンツを生成し得る。これは、追加の仮想コンテンツが、エンドユーザ50の頭部および/または眼の視点からレンダリングされるのではなく、代わりに、カメラ144の視点(ならびに潜在的には、実際には決してエンドユーザ50にリアルタイムで供給されないある視点)からレンダリングされるであろうことを意味する。
610において、投影サブシステム108は、エンドユーザ50の頭部および/または眼の視点からレンダリングされた仮想コンテンツを表示する。これは、仮想コンテンツが、上で説明されるように、仮想コンテンツのための適切な光パターンをディスプテイ画面の中に投入し(例えば、導波管ベースのディスプレイの適切な層に提供される光を用いて)、エンドユーザ50の視点からの環境内の実オブジェクトのビュー上に重ねられるエンドユーザ50のための仮想コンテンツの画像を生産するように提供されることを意味する。
614において、合成器164は、カメラ画像フレームと、レンダリングされた仮想コンテンツであって、カメラ144のための姿勢データに基づいてARアプリケーション/GPU152によってレンダリングされた仮想コンテンツであるレンダリングされた仮想コンテンツとを重ねることによって、画像フレームを合成する。いくつかの実施形態では、このアクションは、本質的には、レンダリングされた仮想コンテンツをカメラ画像フレームの座標空間の中に投影し、実オブジェクトと、仮想オブジェクトとの両方を有する、組み合わされた画像を生成する。
616において、メディアエンコーダ166は、合成された画像フレームのエンコードされたバージョンを、記録データベース168がコンピュータ読み取り可能な媒体に対応し得る記録データベース168の中に記憶する。合成された画像フレームは、画像データの個々のフレームを含み得るか、または画像フレームのストリームとして保存され、ビデオ記録を形成し得る。
図7A-Fは、いくつかの実施形態による、(図4A-Gに関して以前に議論された同一の構造の多くのものを使用する)これの例証を提供する。図7Aは、ユーザ(例えば、エンドユーザ50)の環境内に存在する2つの実世界オブジェクトを示す。これらの実オブジェクトの各々は、実オブジェクトの正面上に文字「RO」を伴う一定のブロック/立方体として成形される。図7Bは、論理上、2つの実オブジェクトの真下にある距離を空けて設置されている仮想オブジェクトを示す。前述のように、仮想オブジェクトは、その正面上に文字「VO」と、側面上に文字「X」とを伴う一定のブロック/立方体として形成される。エンドユーザ50の眼が、図7Cに示される場所および角度位置内に位置すると仮定する。この例示的状況では、エンドユーザ50の眼は、実/仮想オブジェクトの真正面における視点(例えば、第1の視点)から、実オブジェクトと、仮想オブジェクトとを見ている。前述のように、この視点から、GPU(例えば、GPU152)は、エンドユーザ50の眼が仮想オブジェクトの真正面を見ているかのように、仮想オブジェクトの画像をレンダリングするであろう。図7Dに示されるように、それは、実オブジェクトとレンダリングされた仮想オブジェクトとの組み合わせが、これらの実/仮想オブジェクトの全てをこれらのオブジェクトの真正面から見る第1の視点から示すであろうことを意味する。これは、仮想オブジェクトが、正面上に文字「VO」と、側面上に文字「X」とを有しているが、仮想オブジェクトが、レンダリングされ、文字「VO」を伴う仮想オブジェクトの正面のみを示し、仮想オブジェクトの側面の任意の部分が、レンダリングされた文字「X」を有しないであろうことを意味する。
図7Eに示されるように、カメラ(例えば、カメラ144)の現在の場所および回転位置は、エンドユーザ50の眼のそれと異なる視点にある。この状況では、カメラ144の視点は、エンドユーザ50の眼の位置から右方向にある距離を空けてオフセットされ、実オブジェクトの正面および右側面の両方に対して角度付けられる。これは、カメラ144が、実オブジェクトの正面および右側面の両方を捕捉する画像フレームを記録するであろうことを意味する。
図7Fに図示されるように、仮想オブジェクトは、単に仮想オブジェクトの以前にレンダリングされた画像を再利用する代わりに、カメラ144の視点からレンダリングされる。これは、仮想オブジェクトのレンダリングされたビューが、ここで、仮想オブジェクトの正面のビュー(文字「VO」を有する)と、仮想オブジェクトの右側面の部分ビュー(文字「X」を有する)とを含むであろうことを意味する。これは、カメラ144の視点からの仮想オブジェクトのはるかに正確なビューを提供する。レンダリングされた仮想オブジェクトは、次いで、合成器164によって実オブジェクトの実世界画像と組み合わせられ、組み合わせられた画像フレームを形成する。この組み合わせられた画像フレームは、次いで、メディアエンコーダ166によってエンコードされ、記録データベース168がコンピュータ記憶媒体であり得る記録データベース168に保存されることができる。
このアプローチは、カメラ144の視点と仮想オブジェクトのレンダリングされたビューの視点との間にもはや不整合が全く存在しないので、AR記録への他のアプローチに影響を及ぼしたタイプの画像アーチファクトを排除する。このアプローチは、仮想オブジェクトがすでに適切な視点からレンダリングされているので、レンダリングされた仮想オブジェクトのワ-ピングを実施するための算出コストを負担する必要性も除去する。
仮想コンテンツの追加のレンダリングの処理は、AR処理システム100aおよび/または100b内のコンポーネントによって被られるオーバーヘッドを最小化するアプローチを用いて実装されることができる。いくつかの実施形態によると、標準のGPU処理における間隙が、仮想コンテンツの追加のレンダリングを実施するために利用される。
説明するために、最初に、図8に図示されるGPU/アプリケーション処理サイクルを検討する。図8は、ARシステムのための連続したフレームのための画像を生成するために実施される一連のアクティビティを示す。図8は、2つのフレーム処理サイクル、すなわち、フレーム「N」処理サイクルと、フレーム「N+1」処理サイクルとを図示する。各フレームのための処理サイクルは、以前のフレームのための処理の終了と次のフレームのための処理の開始とを識別する、「vsyncマーカ」によって境界をつけられる。フレーム「N」処理サイクルに対して、処理サイクルの初期では、アプリケーションは、画像フレーム「N」に対する作業負荷を実施する。その同一処理サイクルの中で、GPUは、エンドユーザ50の頭部および/または眼の視点から、画像フレーム「N」のための仮想コンテンツをレンダリングするための動作を実施する。レンダリングされた仮想コンテンツは、ウェアラブルARデバイス上に表示されるように生成される。これは、vsyncマーカに至る処理サイクルの重要な部分であり、レンダリングされた仮想コンテンツが、ユーザへの表示のために準備される。この期間において実施される作業の一部は、レンダリングされた仮想コンテンツを得ること、例えば、必要に応じてレンダリングされた仮想コンテンツをワーピングすることによって、レンダリングされた仮想コンテンツを頭部位置に整合させること、およびレンダリングされた仮想コンテンツを含む画像フレームをユーザに提供することである。vsyncマーカの時点において、ディスプレイは、リフレッシュし、エンドユーザ50は、新しいコンテンツを見、リフレッシュされたコンテンツの次の組のための処理が、開始する。
このチャートから、各フレーム処理サイクルのために、CPU処理の終了時の時間とvsyncマーカの時間との間に、間隙802が、存在することが理解され得る。この間隙は、GPUがその作業を終了し、仮想コンテンツをレンダリングし、そのレンダリングされた仮想コンテンツを引き継ぎ得ることを確実にするために十分に大きくなるように設計される。
図9Aに示されるように、追加の作業がGPUに課され、例えば、カメラの視点から仮想コンテンツをレンダリングし得るのは、この間隙期間においてである。これは、GPUがすでに表示のための現在のフレーム「N」のためのその処理を完了しているので、CPLUサイクルの残りが、AR記録処理のために利用可能なはずであるからである。特に、現在の処理サイクルの残りは、GPUに追加の処理動作を実施させ、現在のフレーム「N」のためにカメラの視点から仮想コンテンツをレンダリングするために適用されることができる。例えば、フレーム「N」処理サイクルに対して、処理サイクルの初期では、アプリケーションは、現在の画像フレーム「N」に対する作業負荷を実施する。その同一処理サイクルの中で、GPUは、エンドユーザ50の頭部および/または眼の視点から、画像フレーム「N」のための仮想コンテンツをレンダリングするための動作を実施する。レンダリングされた仮想コンテンツは、ウェアラブルARデバイス上に表示されるように生成される。同一処理サイクルの中で、GPUは、カメラ144の視点から、画像フレーム「N」のための仮想コンテンツをレンダリングするための動作も実施する。
図9Bは、いくつかの例による、本側面を実装するためのあるアプローチのフローチャートを示す。フレーム「N」処理期間に対して、902aにおいて、現在の画像フレーム「N」のための姿勢データが、決定される。姿勢データは、エンドユーザ50の頭部および/または眼に関し、すなわち、904aにおいて、現在のフレーム「N」のために、エンドユーザ50の頭部および/または眼からの視点から仮想コンテンツをレンダリングするためにGPUによって使用される姿勢データを含む。そのレンダリングされたコンテンツは、906aにおいて、エンドユーザ50への表示のために処理される。908aにおいて、レンダリングかつ処理された画像フレーム「N」は、次いで、ウェアラブルARデバイス上においてエンドユーザ50に表示される。
902aにおいて生成された姿勢データは、現在の画像フレーム「N」のための画像を捕捉したカメラ144のための姿勢データも含む。カメラ144のためのその姿勢データは、910aにおいて、GPUが現在のフレーム「N」のためのカメラ144の視点から仮想コンテンツをレンダリングする同一のフレーム「N」処理期間内においてGPUによって使用される。
912aにおいて、カメラ144の視点からレンダリングされた仮想コンテンツは、914においてカメラ144から捕捉された画像データと組み合わせられ、AR記録のための合成画像を生成する。このプロセスは、AR記録を発生させるための欲求がある場合、各後続フレームを通して継続する。
このアプローチの1つの重要な利点は、カメラ144が、ウェアラブルARデバイスから完全に結合解除されることができ、依然として、仮想コンテンツを含むAR記録を得るために使用され得ることであることに留意されたい。これは、カメラ144が、ユーザの環境内の任意の場所に設置され得、AR記録が、依然として、システムがカメラ144の視点から仮想コンテンツを単にレンダリングするであろうから、正確に得られ得ることを意味する。これは、(以前のワーピングアプローチのために使用されたワーピング許容誤差が、カメラ144とウェアラブルARデバイスとの間に長すぎる距離が存在する場合、事実上、いかなる結果も生成しないであろうから)カメラ144がエンドユーザ50の頭部および/または眼に非常に近接して据え付けられるように要求されるアプローチよりも有利である。
図10Aは、いくつかの実施形態による、GPU処理間隙を利用する仮想コンテンツレンダリングを実施するためのあるアプローチを図示する。図9Aと図10Aとの間の差異は、図9Aに対して議論されるように、同一のフレーム処理サイクル内で同一のフレームのための仮想コンテンツの両方の組を生成する代わりに、図10Aのアプローチは、その同一のフレームのためのエンドユーザ50の頭部および/または眼の視点からの仮想コンテンツではなく、異なるフレーム処理サイクルにおける所与のフレームのためのカメラ144の視点からの仮想コンテンツを発生させることである。
例えば、図10Aに図示されるように、フレーム「N」処理サイクルに対して、GPU処理は、アプリケーション作業負荷が現在のフレーム「N」のための作業負荷を処理している時間中、以前のフレーム「N-1」のために、カメラ144の視点から仮想コンテンツをレンダリングすることによって、開始する。GPUが以前のフレーム「N-1」のためのカメラ144の視点からの仮想コンテンツを処理することを終了した後にのみ、GPUは、次いで、現在のフレーム「N」のためにエンドユーザ50の頭部および/眼の視点から仮想コンテンツをレンダリングすることに進むであろう。
一般的な考えは、ARアプリケーションが現在のフレーム「N」のためのアプリケーション作業負荷に対処している間、GPUは、通常、任意の他の作業のさらなる処理から調整され、したがって、処理のために利用可能であるということである。したがって、この調整期間中、GPUは、有利には、AR記録の目的のために、前のフレーム「N-1」のためのカメラ144の視点からの仮想コンテンツをレンダリングするように課されることができる。
いくつかの実施形態では、これは、AR記録のための前のフレーム「N-1」のための仮想コンテンツをレンダリングすることが、現在のフレーム「N」から少なくとも1つのフレームの待ち期間を有するであろうことを意味する。しかしながら、フレームレートが十分に速い場合、この待ち時間の量は、後でAR記録を見るユーザに対して視認可能ではないであろう。例えば、ARシステムが約60~120Hzのフレームレートを有する場合、新たに記録されるフレームのための待ち時間は、ユーザに知覚不可能であるほどわずかである8~16ミリ秒しかないであろう。(本開示が適用されるシステムの特定のフレームレートを所与として)新しいフレームがフレームの知覚可能なレベルを上回る期間によって隔たらない限り、待ち期間のための任意の数のフレームが受け入れ可能であることに留意されたい。
図10Bは、GPUのための間隙期間が、前のフレームのための仮想コンテンツをレンダリングするために採用されるいくつかの実施形態を図示するための代替方法を提供する。特に、図10Bは、GPUが、現在のフレーム「N」のその処理を完了し(かつ現在のフレームのためのそのレンダリング結果を手渡した)後、GPUは、現在のフレーム「N」のために、この時点で必要とされないことを示す。この時点において、GPUは、通常、任意の作業のさらなる処理から調整され、したがって、処理のために利用可能である。したがって、この調整期間中、現在のフレーム「N」のために前にレンダリングされた画像が、表示のために並行して処理されている間、GPUは、有利には、AR記録の目的のために、前のフレーム「N-1」のためのカメラの視点からの仮想コンテンツをレンダリングするように課されることができる。
図10Cは、いくつかの実施形態による、本側面を実装するためのあるアプローチのフローチャートを示す。図の左側は、現在のフレーム処理サイクル中(例えば、フレーム「N」処理期間)に生じる処理を示し、図の右側は、すぐ次のフレーム処理サイクル中(例えば、フレーム「N+1」処理期間)に生じる処理を示す。
フレーム「N」処理期間に対して、902aにおいて、現在の画像フレーム「N」のための姿勢データが、決定される。姿勢データは、エンドユーザ50の頭部および/眼のための姿勢データ、すなわち、904aにおいて、現在のフレーム「N」のためにエンドユーザ50の頭部および/眼の視点から仮想コンテンツをレンダリングするためにGPUによって使用される姿勢データを含む。そのレンダリングされたコンテンツは、906aにおいて、エンドユーザ50への表示のために処理される。908aにおいて、レンダリングかつ処理された画像フレーム「N」は、次いで、ウェアラブルARデバイス上においてエンドユーザ50に表示される。
902aにおいて生成された姿勢データは、現在の画像フレーム「N」のための画像を捕捉したカメラ144のための姿勢データを含む。現在のフレーム「N」のためのカメラ144のための姿勢データは、フレーム「N」処理期間内に処理されない。代わりに、カメラ144のための姿勢データは、フレーム「N+1」処理期間中の処理のために、GPUに伝送される。
フレーム「N+1」処理サイクルに対して、902aにおいて、現在の画像フレーム「N+1」のための姿勢データが、決定される。姿勢データは、エンドユーザ50の頭部および/眼のための姿勢データ、すなわち、904bにおいて、現在のフレーム「N+1」のためにエンドユーザ50の頭部および/眼の視点から仮想コンテンツをレンダリングするためにGPUによって使用される姿勢データを含む。そのレンダリングされたコンテンツは、906bにおいて、エンドユーザ50への表示のために処理される。908aにおいて、レンダリングかつ処理された画像フレーム「N+1」は、次いで、ウェアラブルARデバイス上においてエンドユーザ50に表示される。
そのフレーム「N+1」処理サイクル中、910bにおいて、GPUは、画像フレーム「N」からのカメラ144の視点からの仮想コンテンツをレンダリングするであろう。912bにおいて、AR記録のための合成画像を生成するために、カメラ144の視点からの仮想コンテンツが、フレーム「N」処理期間からの914aにおいてカメラ144から捕捉された画像データと組み合わせられる。このプロセスは、AR記録を発生させるための欲求がある場合、各後続フレームを通して継続する。
したがって、説明されているものは、AR画像およびビデオを記録するためにとられた従来のアプローチの不正確度ならびに非効率性を解決するAR記録を生成するための改良されたアプローチである。
(システムアーキテクチャ概要)
図11は、画像データの上で説明される処理のための本開示のある実施形態の実装に好適である例証的コンピューティングシステム1400のブロック図である。コンピュータシステム1400は、プロセッサ1407、システムメモリ1408(例えば、RAM)、静的記憶デバイス1409(例えば、ROM)、ディスクドライブ1410(例えば、磁気または光学)、通信インターフェース1414(例えば、モデムもしくはイーサネット(登録商標)カード)、ディスプレイ1411(例えば、CRTまたはLCD)、入力デバイス1412(例えば、キーボード)、および、カーソル制御部等のサブシステムおよびにデバイスを相互接続する情報を通信するためのバス1406または他の通信機構を含む。
本開示の一実施形態によると、コンピュータシステム1400は、システムメモリ1408内に含まれる1つ以上の命令の1つ以上のシーケンスを実行するプロセッサ1407によって具体的な動作を実施する。そのような命令は、静的記憶デバイス1409またはディスクドライブ1410等の別のコンピュータ読み取り可能な/使用可能媒体からシステムメモリ1408の中に読み取られ得る。代替実施形態では、有線回路が、ソフトウェア命令の代わりに、またはそれと組み合わせられて使用され、本開示を実装し得る。したがって、本開示の実施形態は、ハードウェア回路および/またはソフトウェアのいかなる具体的な組み合わせにも限定されない。一実施形態では、用語「論理」は、本開示の全てまたは一部を実装するために使用されるソフトウェアもしくはハードウェアの任意の組み合わせを意味するものとする。
本明細書において使用されるような用語「コンピュータ読み取り可能な媒体」または「コンピュータ使用可能媒体」は、実行のためにプロセッサ1407に命令を提供することに関係する任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む多くの形態を示し得る。不揮発性媒体は、例えば、ディスクドライブ1410等の光学または磁気ディスクを含む。揮発性媒体は、システムメモリ1408等の動的メモリを含む。
コンピュータ読み取り可能な媒体の一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理媒体、RAM、PROM、EPROM、フラッシュEPROM、任意の他のメモリチップまたはカートリッジ、または、コンピュータが読み取り得る任意の他の媒体を含む。
本開示のある実施形態では、本開示を実践するための一連の命令の実行が、単一のコンピュータシステム1400によって実施される。本開示の他の実施形態によると、通信リンク1415(例えば、LAN、PTSN、または無線ネットワーク)によって結合される2つ以上のコンピュータシステム1400は、互いに協調して本開示を実践するように要求される、一連の命令を実施し得る。
コンピュータシステム1400は、通信リンク1415および通信インターフェース1414を通して、プログラム、例えば、アプリケーションコードを含むメッセージ、データ、ならびに命令を伝送かつ受信し得る。受信されたプログラムコードは、それが受信されると、プロセッサ1407によって実行され、および/または、後の実行のために、ディスクドライブ1410もしくは他の不揮発性記憶部の中に記憶され得る。コンピュータシステム1400は、データインターフェース1433を通して、外部記憶デバイス1431上のデータベース1432に通信し得る。
前述の明細書では、本開示が、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神ならびに範囲から逸脱することなく、本明細書になされ得ることが、明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更され得る。本明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。

Claims (16)

  1. 画像記録を生成する方法であって、前記方法は、
    カメラを用いて、カメラ画像フレームを捕捉することと、
    前記カメラ画像フレームに対応する姿勢データを取得することであって、前記姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、前記ユーザ姿勢データは、前記カメラ姿勢データとは異なる視点からのものである、ことと、
    拡張現実(AR)デバイスにおけるユーザへの即時の表示のために、ユーザ姿勢仮想コンテンツをレンダリングすることであって、前記ユーザ姿勢仮想コンテンツは、前記ユーザの視点からの第1の仮想コンテンツに対応する、ことと、
    カメラ姿勢仮想コンテンツを生成するために前記カメラ姿勢データに基づいて前記ユーザ姿勢仮想コンテンツをワーピングすることであって、前記カメラ姿勢仮想コンテンツは、前記カメラの視点からの第2の仮想コンテンツに対応する、ことと、
    前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、前記画像記録を合成することと
    を含み、
    単一のグラフィック処理ユニット(GPU)は、前記ユーザ姿勢仮想コンテンツをレンダリングし、前記ユーザ姿勢仮想コンテンツをワーピングする、方法。
  2. 表示画像フレームを表示するための要求を受信することと、
    前記表示画像フレームを表示するための前記要求に応答して前記カメラを用いて前記カメラ画像フレームを捕捉することと
    をさらに含む、請求項1に記載の方法。
  3. 後の表示のために前記画像記録を記憶することをさらに含む、請求項1に記載の方法。
  4. 単一のGPU処理サイクルは、前記ユーザ姿勢データに基づいて前記ユーザ姿勢仮想コンテンツをレンダリングし、前記カメラ姿勢仮想コンテンツを生成するために前記カメラ姿勢データに基づいて前記ユーザ姿勢仮想コンテンツをワーピングするための処理を含む、請求項1に記載の方法。
  5. 前記ユーザ姿勢データに基づく前記ユーザ姿勢仮想コンテンツ、および、前記単一のGPU処理サイクルの間に生成された前記カメラ姿勢データに基づく前記カメラ姿勢仮想コンテンツは、異なるフレームのためのものである、請求項4に記載の方法。
  6. 合成器が、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、前記画像記録を生成する、請求項1に記載の方法。
  7. メディアエンコーダが、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせた1つ以上の画像フレームをエンコードすることをさらに含む、請求項1に記載の方法。
  8. 前記メディアエンコーダによってエンコードされる前記1つ以上の画像フレームは、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも1つを含む、請求項7に記載の方法。
  9. 非一過性コンピュータ読み取り可能な媒体上に具現化されるコンピュータプログラム製品であって、前記非一過性コンピュータ読み取り可能な媒体は、プロセッサによって実行されると、前記プロセッサに画像記録を生成する方法を実行させる一連の命令を記憶しており、前記方法は、
    カメラを用いて、カメラ画像フレームを捕捉することと、
    前記カメラ画像フレームに対応する姿勢データを取得することであって、前記姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、前記ユーザ姿勢データは、前記カメラ姿勢データとは異なる視点からのものである、ことと、
    拡張現実(AR)デバイスにおけるユーザへの即時の表示のために、ユーザ姿勢仮想コンテンツをレンダリングすることであって、前記ユーザ姿勢仮想コンテンツは、前記ユーザの視点からの第1の仮想コンテンツに対応する、ことと、
    カメラ姿勢仮想コンテンツを生成するために前記カメラ姿勢データに基づいて前記ユーザ姿勢仮想コンテンツをワーピングすることであって、前記カメラ姿勢仮想コンテンツは、前記カメラの視点からの第2の仮想コンテンツに対応する、ことと、
    前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、前記画像記録を合成することと
    を含み、
    単一のグラフィック処理ユニット(GPU)は、前記ユーザ姿勢仮想コンテンツをレンダリングし、前記ユーザ姿勢仮想コンテンツをワーピングする、コンピュータプログラム製品。
  10. 前記方法は、
    表示画像フレームを表示するための要求を受信することと、
    前記表示画像フレームを表示するための前記要求に応答して前記カメラを用いて前記カメラ画像フレームを捕捉することと
    をさらに含む、請求項9に記載のコンピュータプログラム製品。
  11. 前記方法は、後の表示のために前記画像記録を記憶することをさらに含む、請求項9に記載のコンピュータプログラム製品。
  12. 単一のGPU処理サイクルは、前記ユーザ姿勢データに基づいて前記ユーザ姿勢仮想コンテンツをレンダリングし、前記カメラ姿勢仮想コンテンツを生成するために前記カメラ姿勢データに基づいて前記ユーザ姿勢仮想コンテンツをワーピングするための処理を含む、請求項9に記載のコンピュータプログラム製品。
  13. 前記ユーザ姿勢データに基づく前記ユーザ姿勢仮想コンテンツ、および、前記単一のGPU処理サイクルの間に生成された前記カメラ姿勢データに基づく前記カメラ姿勢仮想コンテンツは、異なるフレームのためのものである、請求項12に記載のコンピュータプログラム製品。
  14. 合成器が、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、前記画像記録を生成する、請求項9に記載のコンピュータプログラム製品。
  15. メディアエンコーダが、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせた1つ以上の画像フレームをエンコードする、請求項9に記載のコンピュータプログラム製品。
  16. 前記メディアエンコーダによってエンコードされる前記1つ以上の画像フレームは、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも1つを含む、請求項15に記載のコンピュータプログラム製品。
JP2022073937A 2017-03-17 2022-04-28 拡張現実データを記録するための手法 Active JP7133115B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762472923P 2017-03-17 2017-03-17
US62/472,923 2017-03-17
JP2022001002A JP7068562B2 (ja) 2017-03-17 2022-01-06 拡張現実データを記録するための手法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022001002A Division JP7068562B2 (ja) 2017-03-17 2022-01-06 拡張現実データを記録するための手法

Publications (2)

Publication Number Publication Date
JP2022103218A true JP2022103218A (ja) 2022-07-07
JP7133115B2 JP7133115B2 (ja) 2022-09-07

Family

ID=63520263

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2019550199A Active JP7007396B2 (ja) 2017-03-17 2018-03-16 拡張現実データを記録するための手法
JP2022001002A Active JP7068562B2 (ja) 2017-03-17 2022-01-06 拡張現実データを記録するための手法
JP2022073937A Active JP7133115B2 (ja) 2017-03-17 2022-04-28 拡張現実データを記録するための手法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2019550199A Active JP7007396B2 (ja) 2017-03-17 2018-03-16 拡張現実データを記録するための手法
JP2022001002A Active JP7068562B2 (ja) 2017-03-17 2022-01-06 拡張現実データを記録するための手法

Country Status (9)

Country Link
US (3) US10573078B2 (ja)
EP (2) EP3596542B1 (ja)
JP (3) JP7007396B2 (ja)
KR (3) KR102598116B1 (ja)
CN (1) CN110402415A (ja)
AU (2) AU2018234929B2 (ja)
CA (1) CA3055219A1 (ja)
IL (3) IL290001B2 (ja)
WO (1) WO2018170490A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110574375B (zh) * 2017-04-28 2023-06-02 苹果公司 视频流水线
US10979685B1 (en) 2017-04-28 2021-04-13 Apple Inc. Focusing for virtual and augmented reality systems
KR102481884B1 (ko) * 2017-09-22 2022-12-28 삼성전자주식회사 가상 영상을 표시하는 방법 및 장치
US11128783B2 (en) * 2018-03-07 2021-09-21 Disney Enterprises, Inc. Systems and methods for tracking objects in a field of view
US11513590B2 (en) * 2018-04-20 2022-11-29 Pcms Holdings, Inc. Method and system for gaze-based control of mixed reality content
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
US10957112B2 (en) 2018-08-13 2021-03-23 Magic Leap, Inc. Cross reality system
WO2020072985A1 (en) 2018-10-05 2020-04-09 Magic Leap, Inc. Rendering location specific virtual content in any location
CN114586071A (zh) 2019-10-15 2022-06-03 奇跃公司 支持多设备类型的交叉现实系统
JP2022551735A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 無線フィンガプリントを用いたクロスリアリティシステム
US11568605B2 (en) 2019-10-15 2023-01-31 Magic Leap, Inc. Cross reality system with localization service
JP2023501952A (ja) 2019-10-31 2023-01-20 マジック リープ, インコーポレイテッド 持続座標フレームについての品質情報を伴うクロスリアリティシステム
JP7525603B2 (ja) 2019-11-12 2024-07-30 マジック リープ, インコーポレイテッド 位置特定サービスおよび共有場所ベースのコンテンツを伴うクロスリアリティシステム
EP4073763A4 (en) 2019-12-09 2023-12-27 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH SIMPLIFIED PROGRAMMING OF VIRTUAL CONTENT
CN115398314A (zh) 2020-02-13 2022-11-25 奇跃公司 使用多分辨率帧描述符进行地图处理的交叉现实系统
WO2021163295A1 (en) 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system with prioritization of geolocation information for localization
US11410395B2 (en) 2020-02-13 2022-08-09 Magic Leap, Inc. Cross reality system with accurate shared maps
US11551430B2 (en) 2020-02-26 2023-01-10 Magic Leap, Inc. Cross reality system with fast localization
KR102650385B1 (ko) * 2020-04-09 2024-03-25 주식회사 피아몬드 가상세계의 공간을 통해 노출하기 위한 콘텐츠를 선정하는 방법 및 시스템
US11521359B2 (en) * 2020-04-17 2022-12-06 Apple Inc. Extended reality recorder
JP2023524446A (ja) 2020-04-29 2023-06-12 マジック リープ, インコーポレイテッド 大規模環境のためのクロスリアリティシステム
CN113961280B (zh) * 2020-07-21 2023-11-24 抖音视界有限公司 视图的展示方法、装置、电子设备及计算机可读存储介质
US12051239B2 (en) 2020-08-11 2024-07-30 Disney Enterprises, Inc. Item location tracking via image analysis and projection
CN112819967B (zh) * 2021-01-14 2024-07-30 京东方科技集团股份有限公司 一种显示方法、装置及系统、存储介质、显示器
US11651544B2 (en) * 2021-04-30 2023-05-16 Varjo Technologies Oy Systems and methods employing multiple graphics processing units for producing images
US20220351411A1 (en) * 2021-04-30 2022-11-03 Varjo Technologies Oy Display apparatus and method employing reprojection based on marker pose
DE102021117453B3 (de) 2021-07-06 2022-10-20 Holoride Gmbh Verfahren zum Betreiben einer Datenbrille in einem Kraftfahrzeug während einer Fahrt, entsprechend betreibbare Datenbrille, Prozessorschaltung sowie Kraftfahrzeug
KR102625729B1 (ko) * 2021-10-05 2024-01-16 가온그룹 주식회사 클론객체를 이용하는 ar 콘텐츠 렌더링 처리 방법
US11694409B1 (en) 2021-12-08 2023-07-04 Google Llc Augmented reality using a split architecture
US12062145B2 (en) 2022-02-01 2024-08-13 Samsung Electronics Co., Ltd. System and method for three-dimensional scene reconstruction and understanding in extended reality (XR) applications
US20230342877A1 (en) * 2022-04-20 2023-10-26 Snap Inc. Cached cloud rendering
KR20240026314A (ko) * 2022-08-18 2024-02-28 한국전자기술연구원 비디오 기반의 증강현실 컨텐츠 제공 시스템
CN117596373B (zh) * 2024-01-17 2024-04-12 淘宝(中国)软件有限公司 基于动态数字人形象进行信息展示的方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002271693A (ja) * 2001-03-13 2002-09-20 Canon Inc 画像処理装置、画像処理方法、及び制御プログラム
WO2016118371A1 (en) * 2015-01-20 2016-07-28 Microsoft Technology Licensing, Llc Mixed reality system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US573078A (en) * 1896-12-15 Wattmeter
US7728877B2 (en) * 2004-12-17 2010-06-01 Mitsubishi Electric Research Laboratories, Inc. Method and system for synthesizing multiview videos
KR100918392B1 (ko) * 2006-12-05 2009-09-24 한국전자통신연구원 3d 컨텐츠 저작을 위한 개인형 멀티미디어 스튜디오플랫폼 장치 및 방법
US8990292B2 (en) * 2011-07-05 2015-03-24 Cisco Technology, Inc. In-network middlebox compositor for distributed virtualized applications
KR101887548B1 (ko) * 2012-03-23 2018-08-10 삼성전자주식회사 증강현실 서비스를 위한 미디어 파일의 처리 방법 및 장치
US20130311548A1 (en) * 2012-05-15 2013-11-21 Nvidia Corporation Virtualized graphics processing for remote display
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US9361659B2 (en) * 2012-11-14 2016-06-07 Facebook, Inc. Systems and methods for optimizing order of image transformations
US20140176591A1 (en) * 2012-12-26 2014-06-26 Georg Klein Low-latency fusing of color image data
US9083960B2 (en) * 2013-01-30 2015-07-14 Qualcomm Incorporated Real-time 3D reconstruction with power efficient depth sensor usage
KR102560629B1 (ko) 2013-03-15 2023-07-26 매직 립, 인코포레이티드 디스플레이 시스템 및 방법
US9269003B2 (en) * 2013-04-30 2016-02-23 Qualcomm Incorporated Diminished and mediated reality effects from reconstruction
WO2014179745A1 (en) * 2013-05-02 2014-11-06 Qualcomm Incorporated Methods for facilitating computer vision application initialization
US9063330B2 (en) * 2013-05-30 2015-06-23 Oculus Vr, Llc Perception based predictive tracking for head mounted displays
US9578016B2 (en) * 2014-07-17 2017-02-21 Riverbed Technology, Inc. Optimizing secure communications between a client authenticating server and a mobile client
KR20160112898A (ko) * 2015-03-20 2016-09-28 한국과학기술원 증강현실 기반 동적 서비스 제공 방법 및 장치
US9240069B1 (en) * 2015-06-30 2016-01-19 Ariadne's Thread (Usa), Inc. Low-latency virtual reality display system
US9569812B1 (en) * 2016-01-07 2017-02-14 Microsoft Technology Licensing, Llc View rendering from multiple server-side renderings
CN106228591B (zh) * 2016-07-12 2020-06-26 江苏奥格视特信息科技有限公司 虚拟现实超高速实时渲染方法
CN106231205B (zh) * 2016-08-10 2019-07-30 苏州黑盒子智能科技有限公司 增强现实移动终端
CN106131536A (zh) * 2016-08-15 2016-11-16 万象三维视觉科技(北京)有限公司 一种裸眼3d增强现实互动展示系统及其展示方法
CN106327584B (zh) * 2016-08-24 2020-08-07 深圳市瑞云科技有限公司 一种用于虚拟现实设备的图像处理方法及装置
CN106502427B (zh) * 2016-12-15 2023-12-01 北京国承万通信息科技有限公司 虚拟现实系统及其场景呈现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002271693A (ja) * 2001-03-13 2002-09-20 Canon Inc 画像処理装置、画像処理方法、及び制御プログラム
WO2016118371A1 (en) * 2015-01-20 2016-07-28 Microsoft Technology Licensing, Llc Mixed reality system

Also Published As

Publication number Publication date
EP4329305A2 (en) 2024-02-28
US20210043008A1 (en) 2021-02-11
JP7133115B2 (ja) 2022-09-07
EP3596542A1 (en) 2020-01-22
US11380068B2 (en) 2022-07-05
IL297863A (en) 2023-01-01
AU2018234929B2 (en) 2022-06-30
KR102598116B1 (ko) 2023-11-02
EP3596542A4 (en) 2020-01-22
IL297863B1 (en) 2023-09-01
WO2018170490A1 (en) 2018-09-20
IL268777B (en) 2022-02-01
US20180268611A1 (en) 2018-09-20
IL290001A (en) 2022-03-01
JP2020511718A (ja) 2020-04-16
IL290001B (en) 2022-12-01
US20200151960A1 (en) 2020-05-14
JP2022040219A (ja) 2022-03-10
IL290001B2 (en) 2023-04-01
CN110402415A (zh) 2019-11-01
EP4329305A3 (en) 2024-05-22
US10861244B2 (en) 2020-12-08
JP7068562B2 (ja) 2022-05-16
AU2022241459A1 (en) 2022-10-20
IL297863B2 (en) 2024-01-01
US10573078B2 (en) 2020-02-25
IL268777A (en) 2019-10-31
JP7007396B2 (ja) 2022-01-24
EP3596542B1 (en) 2024-01-17
KR20230048457A (ko) 2023-04-11
KR102384232B1 (ko) 2022-04-06
KR102517876B1 (ko) 2023-04-03
KR20190129093A (ko) 2019-11-19
CA3055219A1 (en) 2018-09-20
AU2018234929A1 (en) 2019-09-05
KR20220047882A (ko) 2022-04-19

Similar Documents

Publication Publication Date Title
JP7068562B2 (ja) 拡張現実データを記録するための手法
AU2022200841B2 (en) Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same
JP7009494B2 (ja) カラー仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツ生成する方法
AU2018236457B2 (en) Mixed reality system with virtual content warping and method of generating virtual content using same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220428

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220729

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220826

R150 Certificate of patent or registration of utility model

Ref document number: 7133115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240116