JP7123127B2 - 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成 - Google Patents

前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成 Download PDF

Info

Publication number
JP7123127B2
JP7123127B2 JP2020512591A JP2020512591A JP7123127B2 JP 7123127 B2 JP7123127 B2 JP 7123127B2 JP 2020512591 A JP2020512591 A JP 2020512591A JP 2020512591 A JP2020512591 A JP 2020512591A JP 7123127 B2 JP7123127 B2 JP 7123127B2
Authority
JP
Japan
Prior art keywords
content
eye
objects
rendered
line
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.)
Active
Application number
JP2020512591A
Other languages
English (en)
Other versions
JP2020532797A (ja
JP2020532797A5 (ja
Inventor
レザ ヌーライ,
ロバート ブレイク テイラー,
マイケル ハロルド リーベナウ,
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 JP2020532797A publication Critical patent/JP2020532797A/ja
Publication of JP2020532797A5 publication Critical patent/JP2020532797A5/ja
Priority to JP2022126805A priority Critical patent/JP7166484B1/ja
Application granted granted Critical
Publication of JP7123127B2 publication Critical patent/JP7123127B2/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Circuits Of Receivers In General (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Description

本開示は、概して、新しい目線からの画像を再生成せずに、前のフレームからのレンダリングされなかったコンテンツに関する画像データを使用することによって、画像の新しい目線を構築することに関する。
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」(VR)または「拡張現実」(AR)体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、もしくはそのように知覚され得る様式でユーザに提示される。VRシナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、ARシナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
VRおよびARシステムは、典型的には、ユーザの頭部に少なくとも緩く結合され、したがって、エンドユーザの頭部が移動すると移動するウェアラブル表示デバイス(例えば、頭部装着型ディスプレイ、ヘルメット搭載型ディスプレイ、またはスマートグラス)を採用する。ユーザの頭部運動が、ディスプレイシステムによって検出される場合、表示されている画像データは、頭部姿勢(すなわち、ユーザの頭部の向きおよび/または場所)の変化を考慮するように更新されることができる。
例として、頭部装着型ディスプレイを装着しているユーザが、ディスプレイ上で3次元(3D)オブジェクトの表現を画像として視認し、3Dオブジェクトが現れるエリアの周囲を歩き回る場合、その3Dオブジェクトは、各追加の目線から再生成され、ユーザが3Dオブジェクトの周囲を歩き回っているという知覚をユーザに与えることができる。頭部装着型ディスプレイが、複数の3Dオブジェクトを含む場面を仮想空間(例えば、豊かな仮想世界)内に提示するために使用される場合、頭部姿勢の測定が、ユーザの動的に変化する頭部場所および向きを合致させるための場面を再生成し、仮想空間における増加させられた没入感を提供するために使用されることができる。
典型的には、ディスプレイは、色データ忠実性または分解能を色情報が提示される方法に課す。分解能では、ユーザの視点または目線からの角度位置に対応し得る光子イベントの数にかかわらず、ピクセルあたり1つのみの色値が、提示され得る。不透明コンテンツの場合、最も近い光子イベント(例えば、ユーザに最も近い不透明オブジェクト)の結果のみが、保たれ、オクルードされるイベント(例えば、不透明オブジェクトの背後の不透明オブジェクトおよび/または半透明オブジェクト)に関連するデータの全体的損失をもたらす。半透明コンテンツの場合、光子イベント(例えば、半透明オブジェクト、および半透明オブジェクトの背後の不透明オブジェクトおよび/または半透明オブジェクト)からの結果が、混成される。いずれの場合も、ピクセルあたり1つのみの色値が、提示され得る場合、元の光子イベントデータ(例えば、半透明オブジェクトおよび/または不透明オブジェクト)を再構築および分離することが困難になり、それは、各イベントが、ワーピング中、異なる場所に移動させられるべきである場合、それらのイベントの位置を正しくワーピングすることを困難にする。例えば、光子イベントe0およびe1が、混成され、ピクセルp0を生成している場合、ワーピング中、あるソリューションは、光子イベントe0をピクセルp1に、および光子イベントe1をピクセルp2に移動させるべきであり得るが、ワーピングへの入力が、マージ結果(例えば、ピクセルp0)であるので、マージされたピクセルは、全体として、ピクセルp1またはピクセルp2のいずれかに移動させられなければならず、その元の光子イベントe0およびe1に戻るように分離し、ワーピングを正しく実施し、所望に応じて、光子イベントe0をピクセルp1に、および光子イベントe1をピクセルp2に移動させることができない。
各フレームのために、ブジェクトの可視表面の点に対応する画像データのみが、保たれ(すなわち、レンダリングされ)、それは、「レンダリングされたコンテンツ」と称され、オブジェクトの非可視表面の点に対応する画像データは、破棄され(すなわち、レンダリングされず)、それは、「レンダリングされなかったコンテンツ」と称される。しかしながら、ユーザが、ユーザの頭部を新しい目線に移動させると、ユーザは、前に非可視であったオブジェクトの表面の点を見ることが予期され得る。下でさらに詳細に説明されるように、任意のレンダリングされなかったコンテンツは、アプリケーションが、前の場面からのレンダリングされたコンテンツのみを保っているので、ユーザが新しい目線に移動するとき、失われる。これは、VRおよびARシステムが、異なる目線を表示するとき、各追加の場面が、オブジェクトの表面の点に関する正しい場所および向きを伴う各場面を正確に描写するために、各新しい目線から再生成される必要があることを意味する。
「ワーピング」が、オブジェクトが新しい場面に提示される方法を変化させるために適用され得る。このアプローチは、オブジェクトを異なる目線から表示するための試みにおいて、オブジェクトを取り上げ、オブジェクトの表面の点が提示される方法をシフトさせる。しかしながら、ディスオクルージョン問題が、いくつかのオブジェクトが少なくとも部分的に他のオブジェクトを覆っているときに生じる。一例では、画像データを含むあるフレームが、第1の目線からレンダリングされ、レンダリングされたフレームは、第1の目線からの第1のオブジェクトおよび第2のオブジェクトの表示可能情報を含み、第2の目線からの第1のオブジェクトおよび第2のオブジェクトの表示可能情報を含まない。第1の目線からの第1および第2のオブジェクトに関する表示可能情報に対応するレンダリングされたコンテンツが、捕捉および記憶される。第2の目線からの第1および第2のオブジェクトに関する表示可能情報に対応するレンダリングされなかったコンテンツは、フレームが第1の目線からレンダリングされているとき、捕捉または記憶されない。これは、ユーザが新しい位置に移動するとき、第1のオブジェクトおよび第2のオブジェクトの異なる部分が、第2の目線から視認可能であり得るが、ワーピングされたコンテンツが、第1の目線から視認可能な第1および第2のオブジェクトの部分のみを含むので、問題となる。ワーピングされたコンテンツは、第1の目線において不可視であったが、現時点で、第2の目線から可視である、第1および第2のオブジェクトに関するコンテンツを欠くことになるであろう(どれだけワーピングが適用されても)。このアプローチは、したがって、異なる目線からの画像のコンテンツ真実性に影響を及ぼす著しい量のビデオアーチファクトを作成する。
したがって、画像を新しい目線から再生成せずに、前にレンダリングされた画像からのレンダリングされなかったコンテンツに関する画像データを使用することによって、画像の新しい目線を表示するアプローチの必要がある。
いくつかの実施形態によると、オブジェクトを再レンダリングし、オブジェクトの追加の目線を表示する代わりに、追加の目線からのオブジェクトが、前のフレームからのレンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツから構築される。前のフレームからのコンテンツは、種々のアプローチによって、選択および記憶され得る。一実施形態では、全てのコンテンツが、記憶される。一実施形態では、表面点に対応するコンテンツが、記憶される。別の実施形態では、頭部移動の現実的範囲に対応するコンテンツが、記憶される。別の実施形態では、最も近い可視不透明点、および最も近い可視不透明点の正面の全ての半透明点に対応するコンテンツが、記憶される。いくつかの実施形態では、コンテンツは、リンクリスト、ボクセル、表面定義(例えば、シェル、曲線等)、N-次元データ構造、またはそのグラフ表現等として記憶される。
いくつかの実施形態によると、方法、システム、またはコンピュータ読み取り可能な媒体は、以下の要素、すなわち、前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築することと、第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、レンダリングされたコンテンツは、第1の目線からの第1のオブジェクトの組の可視表面の点に対応し、レンダリングされなかったコンテンツは、第1の目線からの第1のオブジェクトの組の非可視部分に対応する、ことと、第2の目線からの新しいフレームを表示するための要求を受信することと、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、第2の目線からの新しいフレームを生成することと、第2の目線からの新しいフレームを表示することと、ユーザの第1の姿勢を捕捉することによって、第1の目線を識別することであって、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することは、レンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方をリンクリスト、アレイ構造、厳密な立体表現、ボクセル、表面定義、N-次元データ構造、およびN-次元グラフ表現のうちの少なくとも1つにおいて記憶することを含む、ことと、第1の目線からの1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方の異なる粒度を決定することと、第2の目線からの第2のオブジェクトの組の可視表面の点をレンダリングすることと、第1の目線からの記憶されたレンダリングされたコンテンツのうちの少なくともいくつかを第2の目線にワーピングすることであって、第2の目線からの第2の組を生成することは、新しくレンダリングされたコンテンツとワーピングされたレンダリングされたコンテンツとを組み合わせることを含み、新しくレンダリングされたコンテンツは、第2の目線からの第2のオブジェクトの組の可視表面の点に対応し、ワーピングされたレンダリングされたコンテンツは、第1の目線から第2の目線にワーピングされた記憶されたレンダリングされたコンテンツに対応する、ことと、第2の目線からの第2のオブジェクトの組の可視表面の点をレンダリングすることと、第2の目線から可視の第3のオブジェクトの組を決定することと、第2の目線からの第3のオブジェクトの組と第1の目線からの記憶されたレンダリングされたコンテンツを比較し、第2のオブジェクトの組を識別することであって、第2のオブジェクトの組は、記憶されたレンダリングされたコンテンツの中にない第3のオブジェクトの組からのオブジェクトを含む、ことと、第2のオブジェクトの組の可視表面の点をレンダリングすることと、第1の目線からの記憶されたコンテンツのうちの少なくともいくつかを第2の目線にワーピングすることと、第2の目線から可視の第3のオブジェクトの組を決定することと、第2の目線からの第3のオブジェクトの組と第1の目線からの記憶されたレンダリングされたコンテンツを比較し、第3のオブジェクトの組および記憶されたレンダリングされたコンテンツの両方の中にあるオブジェクトを識別することと、第3のオブジェクトの組および記憶されたレンダリングされたコンテンツの両方の中にあるオブジェクトをワーピングすることと、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することと、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを識別することと、レンダリングされたコンテンツおよびレンダリングされなかったコンテンツを分析し、コンテンツが表面点および非表面点のうちの1つに対応するかどうかを決定することと、非表面点に対応するコンテンツを破棄することと、表面点に対応するコンテンツを記憶することと、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することと、ユーザの頭部移動を予測することと、少なくとも部分的に予測される方向、ユーザの現在の移動速度、およびユーザに関して予測される移動速度のうちの1つ以上に基づいて、ユーザの予測される頭部移動に関する境界を計算することであって、境界は、第2の目線に関して予測される最大頭部移動に対応する、ことと、予測される頭部移動に関する計算された境界内のコンテンツを決定することと、計算された境界内のコンテンツを記憶することと、第1の目線からの1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することと、1つ以上の不透明オブジェクトの不透明点を決定することと、不透明点に対応する画像データを記憶することと、1つ以上の半透明オブジェクトの半透明点を決定することと、半透明点の画像データを記憶することであって、第1のオブジェクトの組は、1つ以上の不透明オブジェクトと、1つ以上の半透明オブジェクトとを備えている、ことと、前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築するためのシステムと、実行可能コンピュータ命令を記憶している非一過性コンピュータ読み取り可能な記憶媒体と、非一過性コンピュータ読み取り可能な媒体内に具現化されるコンピュータプログラム製品と、プロセッサによって実行されると、プロセッサに、前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築する方法を実行させるその上に記憶される一続きの命令を有するコンピュータ読み取り可能な媒体と、前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築する方法と、第1の目線からの1つ以上のオブジェクトをレンダリングすることと、第1の目線からの1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、レンダリングされなかったコンテンツは、第1の目線からのオブジェクトの非可視部分に対応する、ことと、第2の目線からの1つ以上のオブジェクトを表示するための要求を受信することと、1つ以上のオブジェクトに関するレンダリングされたコンテンツのうちの少なくともいくつかをワーピングし、第2の目線からのワーピングされたコンテンツを作成することと、1つ以上のオブジェクトに関するレンダリングされなかったコンテンツのうちの少なくともいくつかをレンダリングし、第2の目線からの第2のレンダリングされたコンテンツを作成することと、ワーピングされたコンテンツと第2の目線からの第2のレンダリングされたコンテンツの両方を組み合わせることによって、第2の目線からの1つ以上のオブジェクトを構築することと、第2の目線からの1つ以上のオブジェクトを表示することとの任意の組み合わせを備えている。
本開示の追加のおよび他の目的、特徴、ならびに利点が、発明を実施するための形態、図面、および請求項に説明される。
本願明細書は、例えば、以下の項目も提供する。
(項目1)
前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築する方法であって、前記方法は、
第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、
前記第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされたコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の前記可視表面の点に対応し、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の非可視部分に対応する、ことと、
第2の目線からの新しいフレームを表示するための要求を受信することと、
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを使用して、前記第2の目線からの前記新しいフレームを生成することと、
前記第2の目線からの前記新しいフレームを表示することと
を含む、方法。
(項目2)
ユーザの第1の姿勢を捕捉することによって、前記第1の目線を識別することをさらに含む、項目1に記載の方法。
(項目3)
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方をリンクリスト、アレイ構造、厳密な立体表現、ボクセル、表面定義、N-次元データ構造、およびN-次元グラフ表現のうちの少なくとも1つにおいて記憶することを含む、項目1に記載の方法。
(項目4)
前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方の異なる粒度を決定することをさらに含む、項目1に記載の方法。
(項目5)
前記第2の目線からの第2のオブジェクトの組の可視表面の点をレンダリングすることと、
前記第1の目線からの前記記憶されたレンダリングされたコンテンツのうちの少なくともいくつかを前記第2の目線にワーピングすることと、
をさらに含み、
前記第2の目線からの前記第2の組を生成することは、新しくレンダリングされたコンテンツとワーピングされたレンダリングされたコンテンツとを組み合わせることを含み、前記新しくレンダリングされたコンテンツは、前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点に対応し、前記ワーピングされたレンダリングされたコンテンツは、前記第1の目線から前記第2の目線にワーピングされた前記記憶されたレンダリングされたコンテンツに対応する、項目1に記載の方法。
(項目6)
前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点をレンダリングすることは、
前記第2の目線から可視の第3のオブジェクトの組を決定することと、
前記第2の目線からの前記第3のオブジェクトの組を前記第1の目線からの前記記憶されたレンダリングされたコンテンツと比較することにより、前記第2のオブジェクトの組を識別することであって、前記第2のオブジェクトの組は、前記記憶されたレンダリングされたコンテンツの中にない前記第3のオブジェクトの組からのオブジェクトを含む、ことと、
前記第2のオブジェクトの組の前記可視表面の点をレンダリングすることと
を含む、項目5に記載の方法。
(項目7)
前記第1の目線からの前記記憶されたコンテンツのうちの前記少なくともいくつかを前記第2の目線にワーピングすることは、
前記第2の目線から可視の第3のオブジェクトの組を決定することと、
前記第2の目線からの前記第3のオブジェクトの組を前記第1の目線からの前記記憶されたレンダリングされたコンテンツと比較することにより、前記第3のオブジェクトの組および前記記憶されたレンダリングされたコンテンツの両方の中にあるオブジェクトを識別することと、
前記第3のオブジェクトの組および前記記憶されたレンダリングされたコンテンツの両方の中にある前記オブジェクトをワーピングすることと
を含む、項目5に記載の方法。
(項目8)
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを識別することと、
前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを分析し、コンテンツが表面点に対応するか、非表面点に対応するかを決定することと、
非表面点に対応する前記コンテンツを破棄することと、
前記表面点に対応する前記コンテンツを記憶することと
を含む、項目1に記載の方法。
(項目9)
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
ユーザの頭部移動を予測することと、
少なくとも部分的に予測される方向、前記ユーザの現在の移動速度、および前記ユーザに関して予測される移動速度のうちの1つ以上に基づいて、前記ユーザの前記予測される頭部移動に関する境界を計算することであって、前記境界は、前記第2の目線に関して予測される最大頭部移動に対応する、ことと、
前記予測される頭部移動に関する前記計算された境界内のコンテンツを決定することと、
前記計算された境界内の前記コンテンツを記憶することと
を含む、項目1に記載の方法。
(項目10)
前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することは、
1つ以上の不透明オブジェクトの不透明点を決定することと、
前記不透明点に対応する画像データを記憶することと、
1つ以上の半透明オブジェクトの半透明点を決定することと、
前記半透明点の画像データを記憶することと
をさらに含み、
前記第1のオブジェクトの組は、前記1つ以上の不透明オブジェクトと、前記1つ以上の半透明オブジェクトとを備えている、項目1に記載の方法。
(項目11)
前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築するためのシステムであって、前記システムは、
実行可能コンピュータ命令を記憶している非一過性コンピュータ読み取り可能な記憶媒体であって、前記命令は、実行されると、
第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、
前記第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされたコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の可視表面の点に対応し、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の非可視部分に対応する、ことと、
第2の目線からの新しいフレームを表示するための要求を受信することと、
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを使用して、前記第2の目線からの前記新しいフレームを生成することと、
前記第2の目線からの前記新しいフレームを表示することと
を含むステップを実施する、非一過性コンピュータ読み取り可能な記憶媒体と、
前記コンピュータ命令を実行するように構成されたプロセッサと
を備えている、システム。
(項目12)
前記命令は、実行されると、ユーザの第1の姿勢を捕捉することによって、前記第1の目線を識別することを含むさらなるステップを実施する、項目11に記載のシステム。
(項目13)
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方をリンクリスト、アレイ構造、厳密な立体表現、ボクセル、表面定義、N-次元データ構造、およびN-次元グラフ表現のうちの少なくとも1つにおいて記憶することを含む、項目11に記載のシステム。
(項目14)
前記命令は、実行されると、前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方の異なる粒度を決定することを含むさらなるステップを実施する、項目11に記載のシステム。
(項目15)
前記命令は、実行されると、
前記第2の目線からの第2のオブジェクトの組の可視表面の点をレンダリングすることと、
前記第1の目線からの前記記憶されたレンダリングされたコンテンツのうちの少なくともいくつかを前記第2の目線にワーピングすることと
を含むさらなるステップを実施し、
前記第2の目線からの前記第2の組を生成することは、新しくレンダリングされたコンテンツとワーピングされたレンダリングされたコンテンツとを組み合わせることを含み、前記新しくレンダリングされたコンテンツは、前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点に対応し、前記ワーピングされたレンダリングされたコンテンツは、前記第1の目線から前記第2の目線にワーピングされた前記記憶されたレンダリングされたコンテンツに対応する、項目11に記載のシステム。
(項目16)
前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点をレンダリングすることは、
前記第2の目線から可視の第3のオブジェクトの組を決定することと、
前記第2の目線からの前記第3のオブジェクトの組を前記第1の目線からの前記記憶されたレンダリングされたコンテンツと比較することにより、前記第2のオブジェクトの組を識別することであって、前記第2のオブジェクトの組は、前記記憶されたレンダリングされたコンテンツの中にない前記第3のオブジェクトの組からのオブジェクトを含む、ことと、
前記第2のオブジェクトの組の前記可視表面の点をレンダリングすることと
を含む、項目15に記載のシステム。
(項目17)
前記第1の目線からの前記記憶されたコンテンツのうちの前記少なくともいくつかを前記第2の目線にワーピングすることは、
前記第2の目線から可視の第3のオブジェクトの組を決定することと、
前記第2の目線からの前記第3のオブジェクトの組を前記第1の目線からの前記記憶されたレンダリングされたコンテンツと比較することにより、前記第3のオブジェクトの組および前記記憶されたレンダリングされたコンテンツの両方の中にあるオブジェクトを識別することと、
前記第3のオブジェクトの組および前記記憶されたレンダリングされたコンテンツの両方の中にある前記オブジェクトをワーピングすることと
を含む、項目15に記載のシステム。
(項目18)
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを識別することと、
前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを分析し、コンテンツが表面点に対応するか、非表面点に対応するかを決定することと、
非表面点に対応する前記コンテンツを破棄することと、
前記表面点に対応する前記コンテンツを記憶することと
を含む、項目11に記載のシステム。
(項目19)
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
ユーザの頭部移動を予測することと、
少なくとも部分的に予測される方向、前記ユーザの現在の移動速度、および前記ユーザに関して予測される移動速度のうちの1つ以上に基づいて、前記ユーザの前記予測される頭部移動に関する境界を計算することであって、前記境界は、前記第2の目線に関して予測される最大頭部移動に対応する、ことと、
前記予測される頭部移動に関する前記計算された境界内のコンテンツを決定することと、
前記計算された境界内の前記コンテンツを記憶することと
を含む、項目11に記載のシステム。
(項目20)
前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することは、
1つ以上の不透明オブジェクトの不透明点を決定することと、
前記不透明点に対応する画像データを記憶することと、
1つ以上の半透明オブジェクトの半透明点を決定することと、
前記半透明点の画像データを記憶することと
をさらに含み、
前記第1のオブジェクトの組は、前記1つ以上の不透明オブジェクトと、前記1つ以上の半透明オブジェクトとを備えている、項目1に記載のシステム。
(項目21)
非一過性コンピュータ読み取り可能な媒体内に具現化されたコンピュータプログラム製品であって、前記コンピュータ読み取り可能な媒体は、一続きの命令を記憶しており、前記命令は、プロセッサによって実行されると、前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して新しいフレームを構築する方法を実行することを前記プロセッサに行わせ、前記方法は、
第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、
前記第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされたコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の前記可視表面の点に対応し、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の非可視部分に対応する、ことと、
第2の目線からの新しいフレームを表示するための要求を受信することと、
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを使用して、前記第2の目線からの前記新しいフレームを生成することと、
前記第2の目線からの前記新しいフレームを表示することと
を含む、コンピュータプログラム製品。
(項目22)
前記第2の目線からの第2のオブジェクトの組の可視表面の点をレンダリングすることと、
前記第1の目線からの前記記憶されたレンダリングされたコンテンツのうちの少なくともいくつかを前記第2の目線にワーピングすることと
をさらに含み、
前記第2の目線からの前記第2の組を生成することは、新しくレンダリングされたコンテンツとワーピングされたレンダリングされたコンテンツとを組み合わせることを含み、前記新しくレンダリングされたコンテンツは、前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点に対応し、前記ワーピングされたレンダリングされたコンテンツは、前記第1の目線から前記第2の目線にワーピングされた前記記憶されたレンダリングされたコンテンツに対応する、項目21に記載のコンピュータプログラム製品。
(項目23)
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを識別することと、
前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを分析し、コンテンツが表面点に対応するか、非表面点に対応するかを決定することと、
非表面点に対応する前記コンテンツを破棄することと、
前記表面点に対応する前記コンテンツを記憶することと
を含む、項目21に記載のコンピュータプログラム製品。
(項目24)
前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
ユーザの頭部移動を予測することと、
少なくとも部分的に予測される方向、前記ユーザの現在の移動速度、および前記ユーザに関して予測される移動速度のうちの1つ以上に基づいて、前記ユーザの前記予測される頭部移動に関する境界を計算することであって、前記境界は、前記第2の目線に関して予測される最大頭部移動に対応する、ことと、
前記予測される頭部移動に関する前記計算された境界内のコンテンツを決定することと、
前記計算された境界内の前記コンテンツを記憶することと
を含む、項目21に記載のコンピュータプログラム製品。
(項目25)
前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することは、
1つ以上の不透明オブジェクトの不透明点を決定することと、
前記不透明点に対応する画像データを記憶することと、
1つ以上の半透明オブジェクトの半透明点を決定することと、
前記半透明点の画像データを記憶することと
をさらに含み、
前記第1のオブジェクトの組は、前記1つ以上の不透明オブジェクトと、前記1つ以上の半透明オブジェクトとを備えている、項目21に記載のコンピュータプログラム製品。
(項目26)
前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築する方法であって、前記方法は、
第1の目線からの1つ以上のオブジェクトをレンダリングすることと、
前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記オブジェクトの非可視部分に対応する、ことと、
第2の目線からの前記1つ以上のオブジェクトを表示するための要求を受信することと、
前記1つ以上のオブジェクトに関する前記レンダリングされたコンテンツのうちの少なくともいくつかをワーピングし、前記第2の目線からのワーピングされたコンテンツを作成することと、
前記1つ以上のオブジェクトに関する前記レンダリングされなかったコンテンツのうちの少なくともいくつかをレンダリングし、前記第2の目線からの第2のレンダリングされたコンテンツを作成することと、
前記ワーピングされたコンテンツと前記第2の目線からの前記第2のレンダリングされたコンテンツとの両方を組み合わせることによって、前記第2の目線からの前記1つ以上のオブジェクトを構築することと
前記第2の目線からの前記1つ以上のオブジェクトを表示することと、
を含む、方法。
図面は、類似要素が共通の参照番号によって参照される本開示の好ましい実施形態の設計および有用性を図示する。本開示の前述および他の利点ならびに目的を得る方法をより深く理解するために、上で手短に説明される本開示のより具体的な説明が、付随の図面に図示される、その具体的実施形態を参照することによって与えられるであろう。これらの図面が、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定に見なされるものではないことの理解の下、本開示は、付随の図面の使用を通して、追加の特殊性および詳細とともに記載かつ説明されるであろう。
図1は、一実施形態による、画像生成システムの例示的システムアーキテクチャを示す。
図2A-2Fは、一実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図2A-2Fは、一実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図2A-2Fは、一実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図2A-2Fは、一実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図2A-2Fは、一実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図2A-2Fは、一実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。
図3は、一実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示するためのアプローチのためのフローチャートを示す。
図4A-4Gは、別の実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図4A-4Gは、別の実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図4A-4Gは、別の実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図4A-4Gは、別の実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図4A-4Gは、別の実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図4A-4Gは、別の実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図4A-4Gは、別の実施形態による、第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。
図5は、一実施形態による、第2の目線からの新しくレンダリングされたコンテンツおよび第1の目線からのコンテンツを使用して、第2の目線の画像を表示するためのアプローチのためのフローチャートを示す。
図6A-6Gは、一実施形態による、第2の目線からの新しくレンダリングされたコンテンツおよび第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図6A-6Gは、一実施形態による、第2の目線からの新しくレンダリングされたコンテンツおよび第1の目線からのコンテンツを使用して、第2の目線の画像を表示するスップを示す。 図6A-6Gは、一実施形態による、第2の目線からの新しくレンダリングされたコンテンツおよび第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図6A-6Gは、一実施形態による、第2の目線からの新しくレンダリングされたコンテンツおよび第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図6A-6Gは、一実施形態による、第2の目線からの新しくレンダリングされたコンテンツおよび第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図6A-6Gは、一実施形態による、第2の目線からの新しくレンダリングされたコンテンツおよび第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。 図6A-6Gは、一実施形態による、第2の目線からの新しくレンダリングされたコンテンツおよび第1の目線からのコンテンツを使用して、第2の目線の画像を表示することを示す。
図7は、一実施形態による、表面点に対応する画像データを選択および記憶するためのアプローチのためのフローチャートを示す。
図8は、一実施形態による、公称運動範囲に対応する画像データを選択および記憶するためのアプローチのためのフローチャートを示す。
図9A-9Fは、一実施形態による、不透明および半透明オブジェクトに対応する画像データを使用して、第2の目線の画像を表示することを示す。 図9A-9Fは、一実施形態による、不透明および半透明オブジェクトに対応する画像データを使用して、第2の目線の画像を表示することを示す。 図9A-9Fは、一実施形態による、不透明および半透明オブジェクトに対応する画像データを使用して、第2の目線の画像を表示することを示す。 図9A-9Fは、一実施形態による、不透明および半透明オブジェクトに対応する画像データを使用して、第2の目線の画像を表示することを示す。 図9A-9Fは、一実施形態による、不透明および半透明オブジェクトに対応する画像データを使用して、第2の目線の画像を表示することを示す。 図9A-9Fは、一実施形態による、不透明および半透明オブジェクトに対応する画像データを使用して、第2の目線の画像を表示することを示す。
図10は、一実施形態による、不透明オブジェクトおよび半透明オブジェクトに対応する画像データを選択および記憶するためのアプローチのためのフローチャートを示す。
図11A-11Gは、別の実施形態による、不透明および半透明点に対応する画像データを使用して、第2の目線の画像を表示することを示す。 図11A-11Gは、別の実施形態による、不透明および半透明点に対応する画像データを使用して、第2の目線の画像を表示することを示す。 図11A-11Gは、別の実施形態による、不透明および半透明点に対応する画像データを使用して、第2の目線の画像を表示することを示す。 図11A-11Gは、別の実施形態による、不透明および半透明点に対応する画像データを使用して、第2の目線の画像を表示することを示す。 図11A-11Gは、別の実施形態による、不透明および半透明点に対応する画像データを使用して、第2の目線の画像を表示することを示す。 図11A-11Gは、別の実施形態による、不透明および半透明点に対応する画像データを使用して、第2の目線の画像を表示することを示す。 図11A-11Gは、別の実施形態による、不透明および半透明点に対応する画像データを使用して、第2の目線の画像を表示することを示す。
図12は、その上に本開示の実施形態が実装され得るコンピュータ化されたシステムを示す。
本開示は、前のフレームからのレンダリングされなかったコンテンツを使用することによって、新しい目線の画像を構築するアプローチを対象とする。画像を新しい目線から再生成する代わりに、画像は、新しい目線を作成するために、前の目線からのレンダリングされなかったコンテンツを使用して、前の目線から構築される。
本開示は、本開示のいくつかの実施形態が実践され得る例証的拡張現実(AR)システムの説明に続き、第1の目線からのレンダリングされなかったコンテンツを使用して第2の目線の画像を表示するためのプロセスおよび機構の1つ以上の実施形態の説明を提供する。
(例証的拡張現実システム)
続く説明は、本開示が実践され得る例証的ARシステムに関する。しかしながら、本開示は、ARおよび仮想現実(VR)システムの他のタイプにおける用途にも適しており、したがって、本開示は、本明細書に開示される例証的システムにのみ限定されるものではないことを理解されたい。
図1を参照すると、本開示に従って構築されるARシステム100の一実施形態が、説明される。ARシステム100は、オブジェクトの画像をエンドユーザ50(以降、「ユーザ50」と称される)の視野内に提供するARサブシステムと併せて動作させられ得る。このアプローチは、1つ以上の少なくとも部分的に透明の表面を採用し、それを通して、周囲環境が見られることができ、その上にARシステム100がオブジェクトの画像を生成する。
ARシステム100は、ユーザ50によって装着されるフレーム構造102と、ディスプレイシステム104がユーザ50の眼の正面に位置付けられるように、フレーム構造102によって支持される、ディスプレイシステム104とを含む。
ディスプレイシステム104は、2次元および3次元コンテンツの両方とともに、物理的現実への拡張として快適に知覚され得る光ベースの放射パターンをユーザ50の眼に提示するように設計される。ディスプレイシステム104は、単一コヒーレント場面の知覚を提供する高周波数で、一続きのフレームを提示する。この目的を達成するために、ディスプレイシステム104は、投影サブシステム110と、投影サブシステム110が画像を投影する部分的に透明のディスプレイ画面とを含む。ディスプレイ画面は、ユーザ50の眼と周囲環境との間のユーザ50の視野内に位置付けられる。
いくつかの実施形態では、投影サブシステム110は、走査ベースの投影デバイスの形態をとり、ディスプレイ画面は、導波管ベースのディスプレイの形態をとり、その中に、投影サブシステム110から走査される光が投入され、例えば、無限遠(例えば、腕の長さ)より近い単一光学視認距離における画像、複数の光学視認距離または焦点面における画像、および/または、立体3Dオブジェクトを表すための複数の視認距離または焦点面にスタックされた画像層を生成する。明視野内の層は、ヒト副視覚系に連続して見えるために十分に一緒に近接してスタックされ得る(例えば、1つの層は、隣接する層の乱信号円錐域内にある)。加えて、または代替として、複数の画素が、2つ以上の層にわたって混成され、それらの層がより疎らにスタックされる場合(例えば、1つの層が、隣接する層の乱信号円錐域外にある)でも、明視野内の層間の遷移の知覚される連続性を増加させ得る。ディスプレイシステム104は、単眼または双眼であり得る。走査アセンブリは、光ビームを生成する(例えば、異なる色の光を定義されたパターンで放出する)1つ以上の光源を含む。光源は、多種多様な形態のいずれか、例えば、RGB源の組(例えば、赤色、緑色、および青色光を出力することが可能なレーザダイオード)をとり得、それらは、ピクセル情報またはデータのそれぞれのフレームに規定される定義されたピクセルパターンに従って、赤色、緑色、および青色のコヒーレントなコリメートされた光をそれぞれ生成するように動作可能である。レーザ光は、高色飽和を提供し、高度にエネルギー効率的である。光学結合サブシステムは、例えば、1つ以上の反射性表面、回折格子、ミラー、ダイクロイックミラー、またはプリズム等の光学導波管入力装置を含み、光をディスプレイ画面の端部の中に光学的に結合する。光学結合サブシステムは、光ファイバからの光をコリメートするコリメーション要素をさらに含む。随意に、光学結合サブシステムは、コリメーション要素からの光を光学導波管入力装置の中心内の集光点に向かって収束させ、それによって、光学導波管入力装置のサイズが最小化されることを可能にするために構成される光学変調装置を含む。したがって、ディスプレイシステム104は、1つ以上の仮想オブジェクトの歪ませられていない画像をユーザに提示するピクセル情報の一連の合成画像フレームを生成する。ディスプレイサブシステムを説明するさらなる詳細は、2016年8月16日に発行され、「Display System and Method」と題された、米国特許第9,417,452号、および2017年4月4日に発行され、「Planar Waveguide Apparatus with Diffraction Element(s)」と題された、米国特許第数9,612,403号に提供される。
ARシステム100は、ユーザ50の頭部の位置および移動、および/または、ユーザ50の眼位置および眼球間距離を検出するためにフレーム構造102に搭載される1つ以上のセンサをさらに含む。そのようなセンサは、画像捕捉デバイス、マイクロホン、慣性測定ユニット(IMU)、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープを含み得る。例えば、一実施形態では、ARシステム100は、ユーザ50の移動頭部を示す慣性測定値を捕捉するための1つ以上の慣性変換器を含む頭部装着型変換器サブシステムを含む。そのようなデバイスは、ユーザ50の頭部移動についての情報を感知、測定、または収集するために使用され得る。例えば、これらのデバイスは、ユーザ50の頭部の測定移動、速度、加速、および/または位置を検出するために使用され得る。
ARシステム100は、ユーザ向き検出モジュールをさらに含み得る。ユーザ向き検出モジュールは、ユーザ50の頭部の瞬間位置を検出し、センサから受信された位置データに基づいて、ユーザ50の頭部の位置を予測し得る。ユーザ向き検出モジュールは、センサから受信された追跡データに基づいて、ユーザ50の眼、特に、ユーザ50が焦点を合わせている方向および/または距離を追跡する。
システム100は、ワーピングモジュール108も含む。ワーピングモジュール108は、第1の目線からのオブジェクトの非可視表面の点に対応する画像データを選択し、選択された画像データを3Dデータベース160に記憶する。非可視表面に対応する画像データは、「レンダリングされなかったコンテンツ」112と称される。ワーピングモジュール108は、記憶された画像データを使用して第2の目線からの画像を構築するとき、画像データを3Dデータベース160から読み出す。
ARシステム100は、多種多様な形態のいずれかをとり得る制御サブシステムをさらに含む。制御サブシステムは、いくつかのコントローラ、例えば、1つ以上のマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット(CPU)、デジタル信号プロセッサ、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)等の他の集積回路コントローラ、プログラマブルゲートアレイ(PGA)、例えば、フィールドPGA(FPGA)、および/またはプログラマブル論理コントローラ(PLU)を含む。制御サブシステムは、デジタル信号プロセッサ(DSP)と、中央処理ユニット(CPU)と、グラフィック処理ユニット(GPU)152と、1つ以上のフレームバッファ154とを含み得る。CPUは、システムの全体的動作を制御する一方、GPU152は、フレームをレンダリングし(すなわち、3次元場面を2次元画像に変換し)、これらのフレームをフレームバッファ154に記憶する。図示されないが、1つ以上の追加の集積回路が、フレームバッファ154の中へのフレームの読み込みおよび/またはそれからのフレームの読み出しと、ディスプレイシステム104の走査デバイスの動作とを制御し得る。フレームバッファ154の中への読み込みおよび/またはそれからの読み出しは、動的アドレス指定を採用し得、例えば、フレームは、オーバーレンダリングされる。ARシステム100は、読み取り専用メモリ(ROM)およびランダムアクセスメモリ(RAM)をさら含む。ARシステム100は、3Dデータベース160をさらに含み、それから、GPU152は、フレームをレンダリングするための1つ以上の場面の画像データおよび3D場面内に含まれる仮想音源と関連付けられた合成音データにアクセスすることができる。
ARシステム100の種々の処理コンポーネントは、分散型サブシステムに物理的に含まれ得る。例えば、ARシステム100は、有線導線または無線接続性等によってディスプレイシステム104の一部に動作可能に結合されるローカル処理およびデータモジュールを含む。ローカル処理およびデータモジュールは、フレーム構造102に固定して取り付けられる構成、ヘルメットまたは帽子に固定して取り付けられる構成、ヘッドホンに内蔵される構成、ユーザ50の胴体に除去可能に取り付けられる構成、またはベルト結合式構成においてユーザ50の腰部に除去可能に取り付けられる等、種々の構成において搭載され得る。ARシステム100は、有線導線または無線接続性等によってローカル処理およびデータモジュールに動作可能に結合される遠隔処理モジュールおよび遠隔データリポジトリをさらに含み、それは、これらの遠隔モジュールが、互いに動作可能に結合され、ローカル処理およびデータモジュールへのリソースとして利用可能であるようにするためのものである。ローカル処理およびデータモジュールは、電力効率的プロセッサまたはコントローラ、およびフラッシュメモリ等のデジタルメモリを含み得、両方は、センサから捕捉された、および/または遠隔処理モジュールおよび/または遠隔データリポジトリを使用して入手および/または処理された(可能性として、そのような処理または読み出し後、ディスプレイシステム104への通過のために)データの処理、キャッシュ、および記憶を補助するために利用され得る。遠隔処理モジュールは、データおよび/または画像情報を分析および処理するように構成される1つ以上の比較的に強力なプロセッサまたはコントローラを含み得る。遠隔データリポジトリは、比較的に大規模なデジタルデータ記憶設備を含み得、それは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であり得る。一実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュールにおいて実施され、任意の遠隔モジュールからの完全に自律的な使用を可能にする。上で説明される種々のコンポーネント間の結合は、ワイヤまたは光通信を提供するための1つ以上の有線インターフェースまたはポート、もしくは無線通信を提供するための無線周波数(RF)、マイクロ波、および赤外線(IR)等を介した1つ以上の無線インターフェースまたはポートを含み得る。いくつかの実装では、全ての通信は、有線であり得る一方、他の実装では、全ての通信は、光ファイバを除き、無線であり得る。
(レンダリングされていなかった画像データを用いて、異なる目線からの第2の画像を構築する)
本開示は、ここでは、前のフレームからのレンダリングされなかったコンテンツを使用することによって、新しい目線の画像を構築することについて議論するであろう。「ワーピング」が、新しい目線からのオブジェクトを再生成せずに、前の目線から生成された前のフレーム内のオブジェクトが新しい目線から生成された新しいフレームに提示される方法を変化させるために適用され得る。新しい目線からのオブジェクトは、前のフレームからのコンテンツから構築される。
この時点で最初に画像をワーピングするための代替アプローチについて議論することが有益である。この代替アプローチでは、各フレームに関して、オブジェクトの可視表面の点に対応する画像データは、保たれ(すなわち、レンダリングされ)、それは、「レンダリングされたコンテンツ」と称され、オブジェクトの非可視表面の点に対応する画像データは、破棄され(すなわち、レンダリングされず)、それは、「レンダリングされなかったコンテンツ」と称される。したがって、新しい目線(例えば、第2の目線)からの新しいフレームは、追加の再生成なしに、前の目線(例えば、第1の目線)からの前のフレームを単にワーピングすることによって、正確に表示されることができない。これは、オブジェクトがユーザの眼の前の目線からレンダリングされており、レンダリングされたコンテンツのみ(すなわち、前の目線からのオブジェクトの可視表面の点に対応する画像データのみ)が保たれているという事実に起因する。図2A-Fは、代替アプローチの例証および結果として生じる問題を提供する。
図2Aは、ユーザ(例えば、ユーザ50)と、第1のオブジェクトおよび第2のオブジェクトを含む場面とを示す。ユーザは、第1の位置に位置する。2つのオブジェクトの各々は、規則的ブロック/立方体として成形され、第1のオブジェクトの正面に文字「X」があり、第2のオブジェクトの正面に星印がある。
ユーザの眼は、図2Bに示されるような場所および角度位置に位置し得る。ユーザの眼の特定の場所および角度位置は、第1の目線と称されるであろう。第1の目線では、ユーザの眼は、第1および第2のオブジェクトをある角度から見ており、第1のオブジェクトが、第2のオブジェクトを完全に遮断している。GPU(例えば、GPU152)は、第1の目線からの場面の画像を含むフレームをレンダリングする。第2のオブジェクトが、場面内にある場合でも、場面の画像は、第1の目線から、第1のオブジェクトの正面のみが、ユーザに可視であるので、第1のオブジェクトの任意の他の面または第2のオブジェクトの任意の面がレンダリングされず、第1のオブジェクトの正面のみを示すようにレンダリングされるであろう。
第1の目線からの場面の画像を含むフレームが、レンダリングされる。フレームは、画像データを含む。図2Cに示されるように、第1の目線からの第1および第2のオブジェクトの可視表面(すなわち、第1のオブジェクトの正面)の点に対応する画像データのみが、保たれる/記憶される。可視表面の点に対応する画像データは、「レンダリングされたコンテンツ」と称される。第1の目線からの第1および第2のオブジェクトの非可視表面の点に対応する画像データ(例えば、正面以外の第1のオブジェクトの全ての面および第2の立方体の全ての面)は、破棄される。第1および第2のオブジェクトの非可視表面に対応する画像データは、「レンダリングされなかったコンテンツ」と称される。レンダリングされたコンテンツ以外、アプリケーションは、第1の目線に関する他のコンテンツ(例えば、レンダリングされなかったコンテンツ)を失っている。いくつかの実施形態では、レンダリングされなかったコンテンツは、深度試験中に破棄され得る。深度試験は、第1および第2のオブジェクトの可視表面の点のみが、場面の画像を含むフレーム内に描かれることを確実にすることによって、レンダリングされたコンテンツが、正しく見えることを確実にする。任意の所与のピクセルに関して、深度試験は、第1および第2のオブジェクトの可視表面の点のみを保ち、第1および第2のオブジェクトの非可視表面の点を破棄する。したがって、アプリケーションは、レンダリングされなかったコンテンツを破棄することによって、第1の目線からのコンテキストを失っている。したがって、各ピクセルに関して、保たれるものおよび破棄されるものは、目線依存である。
図2Dに示されるように、ユーザは、ここで、第1の位置のすぐ右の第2の位置に移動する。この時点で、ユーザは、第1の位置と比較して、異なる位置から第1および第2のオブジェクトを見るであろう。
ユーザの眼は、図2Eに示される場所および角度位置に位置し得る。ユーザの眼の特定の場所および角度位置は、第2の目線と称されるであろう。第2の目線では、ユーザの眼は、第1の目線からのフレームと異なるフレームを見るはずである。第2の目線では、ユーザの眼は、第1のオブジェクトの正面および右面と第2のオブジェクトの正面および右面との両方を見るはずである。
図2Fに示されるように、ワーピングが第1の目線からの前のフレームを変化させるために使用され得、それによって、前のフレームが、第2の目線からの新しいフレームに示される。このアプローチは、第2の目線からのレンダリングされたコンテンツを表示することを試みるために、第1の目線からの前のフレームの画像のレンダリングされたコンテンツを取り上げ、レンダリングされたコンテンツが提示される方法をシフトさせる。前のフレームからのレンダリングされたコンテンツは、第1の目線からの第1および第2のオブジェクトの可視表面の点に対応する画像データを含む。このアプローチに関する1つの問題は、前のフレームからのレンダリングされたコンテンツが、第2の目線から可視の第1および第2のオブジェクトの表面の点に対応する画像データを含まないことである。この例では、前のフレームは、第1の目線から生成されており、それは、レンダリングされたコンテンツが、第1および第2のオブジェクトの非可視表面の点に対応する画像データを含まないことを意味する。
したがって、ワーピングが、適用されても、第1のオブジェクトの正面(前にレンダリングされた)のみが、ワーピングされた画像内に見られるであろう。第1のオブジェクトの他の面の全て(正面を除き)および第2のオブジェクトの全ての面は、それらが前にレンダリングされなかったので、ワーピングされた画像内に存在しないであろう。したがって、ワーピングされた画像は、第2の位置の視認目線(すなわち、第2の目線)が第1の位置の視認目線(例えば、第1の目線)と異なるので、第2の目線から視認可能であるはずであるコンテンツを欠いている(例えば、欠いているコンテンツは、第1のオブジェクトの右面と第2のオブジェクトの正面および右面とを含む)。これは、新しいフレームの利用可能性および正確度に影響を及ぼすいくつかのアーチファクトを作成する。
ワーピングが、前のフレームからの第1の目線からのレンダリングされたコンテンツに適用され、再生成せずに第2の目線からの新しいフレームを構築する場合の問題が、図2Fに図示される。これは、第2の目線からの不正確な表示を生じさせる。特に、第2の目線からの新しいフレームが、第1のオブジェクトの右面および第2のオブジェクトの全体を欠いているので、ディスオクルージョン問題が、生じる。したがって、ユーザが、前のフレームを異なる目線(すなわち、第2の目線)から視認するとき、アプリケーションは、前のフレームからのレンダリングされたコンテンツを新しい場所の中にマッピングする。しかしながら、前のフレームからのレンダリングされなかったコンテンツは、すでに破棄されているので、ワーピングの代わりに(例えば、レンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用する)またはそれに加えて使用するための「ソースデータ」が存在しない。したがって、アプリケーションは、前のフレームからのレンダリングされたコンテンツのみをマッピングする。第1の目線からの前のフレームからのレンダリングされたコンテンツのみを使用した構築を適用し、第2の目線からの新しいフレームを構築することは、アプリケーションが、第1の目線からのレンダリングされなかったコンテンツを破棄しており、それが、アプリケーションが前の非可視表面に関する画像データを失っていることを意味するので、第2の目線からの不正確な描写をもたらす。図2Fの上に生成されるフレームを図2Fの下における第2の目線から示されるべき内容のフレームとを比較されたい。
本明細書は、ここで、図2A-2Fに説明される代替アプローチからの問題となる結果を解決するアプローチを説明するであろう。
(生成することによってレンダリングされたコンテンツおよびレンダリングされなかったコンテンツに関する画像データを使用して、第2の目線を表示する)
図3は、再生成せずに、前の目線からの前のフレームからのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しい目線からの新しいフレームを表示するアプローチのフローチャートを示す。図3に説明されるアプローチは、先の代替実施形態に提示されるディスオクルージョン問題を解決する。
302では、第1の目線が、識別される。いくつかの実施形態では、このアクションは、第1の目線から捕捉された画像データを含むフレームを捕捉することによって実装される。いくつかの実施形態では、姿勢データも、捕捉される。フレームは、第1の目線、すなわち、ユーザ(例えば、ユーザ50)の眼の特定の場所および角度位置からの画像データのフレームを捕捉することによって、記録される。加えて、ユーザの頭部/眼に関する姿勢データが、決定される。フレームが捕捉されるカメラがフレーム構造(例えば、フレーム構造102)に搭載されている場合、カメラ姿勢は、頭部姿勢からの既知のオフセットに基づいて、外挿され得る。カメラが、環境/部屋内の固定場所にある場合、固定カメラ場所および向きは、部屋/環境構成データから把握される。
304では、第1の目線からのオブジェクトの可視表面の点に対応する画像データが、レンダリングされる。可視表面の点に対応する画像データは、「レンダリングされたコンテンツ」と称される。レンダリングされたコンテンツは、任意の既知のアプローチによってレンダリングされ得る。いくつかの実施形態では、CPUは、システム(例えば、ARシステム100)の全体的動作を制御し得る一方、GPU(例えば、GPU152)は、フレームをレンダリングし得(すなわち、3次元場面を2次元画像に変換し)、フレームをフレームバッファ(例えば、フレームバッファ154)に記憶し得る。オブジェクトは、定義された形状および座標場所を有し、したがって、システムによってユーザに表示されるべきコンテンツとしてその論理場所および向きにおいてレンダリングされることができる。
306では、オブジェクトの可視表面の点に対応する画像データと第1の目線からのオブジェクトの非可視表面の点に対応する画像データとが、記憶される。可視表面の点に対応する画像データは、「レンダリングされたコンテンツ」と称され、非可視表面の点に対応する画像データは、「レンダリングされなかったコンテンツ」と称される。図5-7および9は、コンテンツ(レンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツ)を選択および記憶する異なるアプローチを説明する。いくつかの実施形態では、アプリケーションは、記憶されるであろうコンテンツの異なる粒度も決定することができる。いくつかの実施形態では、コンテンツは、コンピュータ読み取り可能な媒体に記憶される。コンテンツは、任意のタイプのデータ構造に記憶されることができる。
一実施形態では、コンテンツは、リンクリスト(linked list)として記憶される。このアプローチでは、コンテンツは、リンクリストを用いて描写され、リンクリストの異なる要素は、立体空間内の異なる場所と互いに関係する。ピクセルあたりリンクリストは、リンクリストが、空セルを保持しない、または含まないので、非常に疎/密であり得る。しかしながら、リンクリストのサイズは、予測不能であり得、それは、一貫した挙動が所望されるとき、所望されないこともある。リンクリストの分解能は、ピクセルが一定の角度サイズを有し、したがって、距離が増加するにつれて、線形サイズにおいて成長し得るので、深度に関して非線形である。
別の実施形態では、コンテンツは、アレイ構造、厳密な立体表現等において記憶される。厳密な立体表現は、一定のデータ占有量を有し得、それが一定の線形サイズ(大規模な目線変化に関する分解能問題を低減させる)を有するように構築され得るが、総データサイズは、厳密な立体表現のセルの多くが空であり得るので、大きくあり得る。いくつかの実施形態では、コンテンツは、ボクセル、表面定義(例えば、シェル、曲線等)、N-次元データ構造、またはそのグラフ表現等において記憶される。
308では、第2の目線からのフレームを表示するための要求が、受信される。いくつかの実施形態では、それは、ユーザが、第1の位置から第2の位置に移動したことを意味する。アプリケーションは、ヘッドセットからのセンサおよび加速度計を使用して、ユーザの第1および第2の位置を識別することができる。別の実施形態では、外部カメラも、ユーザの第1および第2の位置を識別するために使用され得る。
310では、第2の目線からの新しいフレームが、前のフレームからのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを含む、記憶されたコンテンツを使用して生成される。前のフレームからのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツは、構築中、フレーム全体を全体的に再生成せずに第2の目線からの新しいフレームを構築するためのソースとして使用される。前のフレームからのコンテンツを保存することによって、アプリケーションは、第2の目線から可視であるコンテンツを決定することができる。アプリケーションが、第2の目線から可視であるコンテンツを決定すると、アプリケーションは、記憶されたコンテンツを取り上げ、第2の目線から可視であるべきものを構築する。上で述べられたように、画像データが、第2の目線において可視であるものを理解するためにもはや利用可能ではない(例えば、破棄される)とき、ディスオクルージョン問題が、存在する。このアプローチでは、アプリケーションが、新しいフレームを構築するために利用可能にするために、レンダリングされたコンテンツに加え、レンダリングされなかったコンテンツを保存しているので、ディスオクルージョン問題は、解決される。
一実施形態では、ワーピングが、前のフレームからのレンダリングされたコンテンツに適用され得、ワーピングされたレンダリングされたコンテンツの任意の「穴」は、前のフレームからのレンダリングされなかったコンテンツを使用して「充填」される。アプリケーションが構築に適用するであろうコンテンツの例は、例えば、前のフレームにおいて不可視であったオブジェクトおよび/または前のフレームにおいて不可視であった可視オブジェクトの部分を含む。構築プロセスに関する追加の詳細は、図4Gに関連する説明に説明される。
312では、第2の目線から構築されたフレームは、次いで、システム内でユーザにリアルタイムで表示される。
図4A-Gは、いくつかの実施形態による、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツに関する画像データを使用して、第2の目線のフレームを表示するためのアプローチの例を図示する。図4Aは、ユーザ(例えば、ユーザ50)と、第1のオブジェクトおよび第2のオブジェクトを含む場面とを示す。ユーザは、第1の位置に位置する。2つのオブジェクトの各々は、規則的ブロック/立方体として成形され、文字「X」が第1のオブジェクトの正面にあり、星印が第2のオブジェクトの正面にある。
ユーザの眼は、図4Bに示されるような場所および角度位置に位置し得る。ユーザの眼の特定の場所および角度位置は、第1の目線と称されるであろう。第1の目線では、ユーザの眼は、第1および第2のオブジェクトを第1のオブジェクトが第2のオブジェクトを完全に遮断するような角度から見ている。GPU(例えば、GPU152)は、第1の目線からの場面の画像を含むフレームをレンダリングする。図4Cでは、GPUは、第1の目線から、第1のオブジェクトの正面のみがユーザに可視であるので、第1のオブジェクトの側面の任意の部分または第2のオブジェクトの任意の部分がレンダリングされず、文字「X」を伴う第1のオブジェクトの正面のみを示す第1の目線からのフレームをレンダリングする。
第1の目線からの場面の画像を含むフレームが、レンダリングされる。フレームは、画像データを含む。第1の目線からの第1および第2のオブジェクトの可視表面の点に対応する画像データは、保たれる/記憶される。可視表面の点に対応する画像データは、「レンダリングされたコンテンツ」と称される。加えて、第1の目線からの第1および第2のオブジェクトの非可視表面の点に対応する画像データも、保たれる/記憶される。非可視表面の点に対応する画像データは、「レンダリングされなかったコンテンツ」と称される。図4Dでは、アプリケーションは、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを選択および記憶する。レンダリングされたコンテンツに関する画像データは、元々レンダリングされたフレームに表示されたオブジェクトに関する立体データに対応する情報またはその一部を含み得、レンダリングされなかったコンテンツに関する画像データは、元々レンダリングされたフレームに表示されなかったオブジェクトに関する立体データに対応する情報またはその一部を含み得る。
図4Eに示されるように、ユーザは、ここで、第1の位置のすぐ右の第2の位置に移動する。この時点で、ユーザは、第1の位置と比較して、異なる位置から第1および第2のオブジェクトを見るであろう。ユーザの眼は、図4Fに示される場所および角度位置に位置し得る。ユーザの眼の特定の場所および角度位置は、第2の目線と称されるであろう。第2の目線では、ユーザの眼は、第1の目線からのフレームと異なるフレームを見るはずである。第2の目線では、ユーザの眼は、第1のオブジェクトの正面および右面と第2のオブジェクトの正面および右面との両方を見るはずである。
図4Gに示されるように、構築は、第1の目線からの前のフレームからのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、場面全体を全体的に再生成せずに、第2の目線からの新しいフレームを作成するために適用され得る。アプリケーションは、最初に、レンダリングされたコンテンツ(例えば、第1のオブジェクトの正面)を識別し、レンダリングされなかったコンテンツ(例えば、第1のオブジェクトの右面と第2のオブジェクトの正面および右面)は、第2の目線から可視である。アプリケーションは、次いで、記憶されたレンダリングされたコンテンツおよび上記で識別された現時点で可視のコンテンツに対応するレンダリングされなかったコンテンツを取り上げ、第2の目線から可視であるべきものを構築する。
一実施形態では、ワーピングが、前のフレームからのレンダリングされたコンテンツに適用され、ワーピングされたレンダリングされたコンテンツの任意の「穴」は、前のフレームからのレンダリングされなかったコンテンツを使用して「充填」され、前のフレームからのレンダリングされたコンテンツ内に含まれない第2の目線からの新しいフレームにおいて可視であるべきである第1および第2のオブジェクトの部分を構築する。
図4A-4Gは、新しいアプローチが、第1の目線からの前のフレームからのレンダリングされなかったコンテンツを第2の目線からの新しいフレームを構築するためのソースとして記憶することによって、ディスオクルージョン問題を排除するので、図2A-2Fに説明される代替実施形態に優る改良を示す。この新しいアプローチは、ワーピング中に現れたであろうビデオアーチファクトの量を大きく低減させる。
(ワーピングすることおよび生成することによって、レンダリングされたコンテンツおよびレンダリングされなかったコンテンツに関する画像データを使用して、第2の目線を表示する)
図5は、ワーピングおよび生成を用いて、前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しい目線からの新しいフレームを表示するアプローチのためのフローチャートを示す。
図5の502-508は、図3の302-308と同一である。510では、第1の目線から不可視であり(したがって、レンダリングされていなかった)、現時点で第2の目線から可視であるオブジェクトが、レンダリングされる。例えば、アプリケーションは、第2の目線から可視であるオブジェクトを決定し、第2の目線から可視であるオブジェクトと第1の目線からの記憶されたコンテンツ(例えば、レンダリングされたコンテンツおよびレンダリングされなかったコンテンツ)を比較し、第1の目線から不可視であり(したがって、レンダリングされていなかった)、現時点で第2の目線から可視であるオブジェクトを識別し、識別されたオブジェクトをレンダリングし、新しくレンダリングされたコンテンツを生成することができる。
512では、レンダリングされる必要がなかった、第2の目線からの可視オブジェクトに関するレンダリングされたコンテンツが、ワーピングされる。例えば、アプリケーションは、第2の目線から可視であるオブジェクトを決定し、第2の目線から可視であるオブジェクトと第1の目線からの記憶されたコンテンツ(例えば、レンダリングされたコンテンツおよびレンダリングされなかったコンテンツ)を比較し、第1の目線からも可視であり(したがって、レンダリングされていた)、第2の目線から可視であるオブジェクトを識別し、識別されたオブジェクトをワーピングし、ワーピングされたレンダリングされたコンテンツを生成することができる。
いくつかの実施形態では、アプリケーションは、第2の目線から可視であるオブジェクトを決定し、第2の目線から可視であるオブジェクトと第1の目線からの記憶されたコンテンツ(例えば、レンダリングされたコンテンツおよびレンダリングされなかったコンテンツ)を比較し、(1)第1の目線から不可視であった、現時点で第2の目線から可視であるオブジェクトと、(2)第1の目線からも可視であった、第2の目線から可視であるオブジェクトとを識別することができる。本実施形態では、アプリケーションは、次いで、510において、第1の目線から不可視であった、現時点で第2の目線から可視である識別されたオブジェクトをレンダリングし、新しくレンダリングされたコンテンツを生成し、512において、第1の目線からも可視であった、第2の目線から可視であるオブジェクトをワーピングし、ワーピングされたレンダリングされたコンテンツを生成する。
514では、第2の目線からの新しいフレームが、新しくレンダリングされたコンテンツをワーピングされたレンダリングされたコンテンツと組み合わせることによって生成される。新しくレンダリングされたコンテンツおよびワーピングされたレンダリングされたコンテンツは、構築中、フレーム全体を全体的に再生成せずに、第2の目線からの新しいフレームを構築するためのソースとして使用される。さらに、図5の516は、図3の312と同一である。
図6A-Gは、一実施形態による、第2の目線からの新しくレンダリングされたコンテンツおよび第1の目線からのコンテンツを使用して、第2の目線のフレームを表示するためのアプローチのための例を図示する。図6Aは、ユーザ(例えば、ユーザ50)と、第1-第6のオブジェクトを含む場面とを示す。ユーザは、第1の位置に位置する。6つのオブジェクトの各々は、規則的ブロック/立方体として成形され、文字「X」が、第1のオブジェクトの正面にあり、星印が、第2のオブジェクトの正面にある。
ユーザの眼は、図6Bに示されるような場所および角度位置に位置し得る。ユーザの眼の特定の場所および角度位置は、第1の目線と称されるであろう。第1の目線では、ユーザの眼は、第1のオブジェクトが第2のオブジェクトを完全に遮断し、第3-第6のオブジェクトが可視であるような角度から、第1-第6のオブジェクトを見ている。GPU(例えば、GPU152)は、第1の目線からの場面の画像を含むフレームをレンダリングする。図6Cでは、GPUは、第1の目線から、第1のオブジェクトの正面および第3-第6のオブジェクトのみが、ユーザに可視であるので、第1のオブジェクトおよび第3-第6のオブジェクトの側面の任意の部分または第2のオブジェクトの任意の部分がレンダリングされず、第1のオブジェクトの正面および第3-第6のオブジェクトのみを示す第1の目線からのフレームをレンダリングする。
第1の目線からの場面の画像を含むフレームが、レンダリングされる。フレームは、画像データを含む。第1の目線からの第1-第6のオブジェクトの可視表面の点に対応する画像データは、保たれる/記憶される。可視表面の点に対応する画像データは、「レンダリングされたコンテンツ」と称される。加えて、第1の目線からの第1-第6のオブジェクトの非可視表面の点に対応する画像データも、保たれる/記憶される。非可視表面の点に対応する画像データは、「レンダリングされなかったコンテンツ」と称される。図6Dでは、アプリケーションは、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを選択および記憶する。レンダリングされたコンテンツに関する画像データは、元々レンダリングされたフレームに表示されたオブジェクトに関する立体データに対応する情報またはその一部を含み得、レンダリングされなかったコンテンツに関する画像データは、元々レンダリングされたフレームに表示されなかったオブジェクトに関する立体データに対応する情報またはその一部を含み得る。
図6Eに示されるように、ユーザは、ここで、第1の位置のすぐ右の第2の位置に移動する。この時点で、ユーザは、第1の位置と比較して、異なる位置から、第1-第6のオブジェクトを見るであろう。ユーザの眼は、図6Fに示される場所および角度位置に位置し得る。ユーザの眼の特定の場所および角度位置は、第2の目線と称されるであろう。第2の目線では、ユーザの眼は、第1の目線からのフレームと異なるフレームを見るはずである。第2の目線では、ユーザの眼は、第1-第6のオブジェクトの各々の正面および右面の両方を見るはずである。
図6Gに示されるように、構築が、場面全体を全体的に再生成せずに、新しくレンダリングされたコンテンツと第1の目線からの前のフレームからのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツとを使用して、第2の目線からの新しいフレームを作成するために適用され得る。例えば、アプリケーションは、第2の目線から可視であるオブジェクト(例えば、第1-第6のオブジェクト)を決定し、第2の目線から可視であるオブジェクトを第1の目線からの記憶されたコンテンツ(例えば、レンダリングされたコンテンツおよびレンダリングされなかったコンテンツ)と比較し、(1)第1の目線から不可視であった、現時点で第2の目線から可視であるオブジェクト(例えば、第2のオブジェクトおよび他のオブジェクトの右面)と、(2)第1の目線からも可視であった、第2の目線から可視であるオブジェクト(例えば、第1のオブジェクトの正面および第3-第6のオブジェクト)とを識別するであろう。アプリケーションは、次いで、第1の目線から不可視であった、現時点で第2の目線から可視である識別されたオブジェクト(例えば、第2のオブジェクトおよび他のオブジェクトの右面)をレンダリングし、新しくレンダリングされたコンテンツを生成し、第1の目線からも可視であった、第2の目線から可視であるオブジェクト(例えば、第1のオブジェクトの正面および第3-第6のオブジェクト)をワーピングし、ワーピングされたレンダリングされたコンテンツを生成する。
画像構築が、第2の目線からの新しいフレームを構築するために実施される。画像構築は、新しくレンダリングされたコンテンツをワーピングされたレンダリングされたコンテンツと組み合わせることを含む。新しくレンダリングされたコンテンツおよびワーピングされたレンダリングされたコンテンツは、画像構築中、フレーム全体を全体的に再生成せずに、第2の目線からの新しいフレームを構築するためのソースとして使用される。
(記憶のために、レンダリングされなかったコンテンツを選択する種々の実施形態)
レンダリングされなかったコンテンツに関して記憶することを望み得る異なる組、量、粒度、タイプ、および/または特定の画像要素が、存在する。図7-8および10におけるフローチャートは、利用可能なレンダリングされなかったコンテンツのうちの記憶されるべきものを選択するための代替アプローチの詳細を説明する。アプローチの各々は、特定の状況において使用するためにより有利であり得る。繰り返すが、第1の目線からのオブジェクトの非可視表面の点に対応する画像データは、「レンダリングされなかったコンテンツ」と称される。
図7は、一実施形態による、コンテンツに関する表面点のみを記憶することによってコンテンツを記憶するためのアプローチのためのフローチャートを示す。このアプローチは、オブジェクトの内部点が不可視であるという概念に基づいて動作する。したがって、記憶コストを低下させるために、オブジェクトの表面点に対応するコンテンツの画像データが、保たれる/記憶され、オブジェクトの非表面点に対応するコンテンツの画像データは、破棄される。
702では、第1の目線からのオブジェクトの可視表面および非可視表面の点に対応する画像データが、識別される。可視表面に対応する画像データは、「レンダリングされたコンテンツ」と称され、非可視表面に対応する画像データは、「レンダリングされなかったコンテンツ」と称される。
704では、第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツが、分析される。706では、第1の目線からのオブジェクトの点が、表面点であるか、内部点であるか、オブジェクトが、半透明であるか、不透明であるか等のレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの特性が、決定される。オブジェクトの点が、表面点と識別される場合、表面点に対応するコンテンツ(例えば、レンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツ)の画像データは、異なる目線からのフレームの構築のために記憶される710.オブジェクトの点が、表面点と識別されない場合、非表面点に対応するコンテンツ(例えば、レンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツ)の画像データは、コンテンツが、異なる目線からのフレームの構築において使用されないであろうから、708において破棄される。いくつかの実施形態では、オブジェクトの特性が、オブジェクトが半透明オブジェクトであることを示す場合、半透明オブジェクトの非表面点の一部または全部が、破棄される代わりに、異なる目線からのフレームの構築のために記憶され得る。例えば、半透明オブジェクトの非表面点の一部または全部の混成モードと色データとが、記憶され得る。
上で述べられたように、コンテンツは、例えば、リンクリスト、ボクセル、表面定義(例えば、シェル、曲線等)、N-次元データ構造、またはそのグラフ表現等の任意の好適なデータ構造に記憶され得る。
図7に描写されるアプローチの利点は、このアプローチが、表面点に対応するコンテンツのみが記憶されるので、あまり記憶リソースを要求しないことである。しかしながら、このアプローチの短所は、アプリケーションが、オブジェクトに関するコンテンツが表面点であるかどうかを決定するために、より多くの処理能力および時間を要求し得ることである。
図8は、一実施形態による、予測される頭部移動に対応するコンテンツのみを記憶するためのアプローチのためのフローチャートを示す。このアプローチは、アプリケーションがコンテンツの全てを記憶する必要がないこともあるが、アプリケーションが予測される頭部移動の計算される境界内のコンテンツを選択し、記憶し得るという概念に基づいて動作する。コンテンツが予測される頭部移動の計算された境界外に位置付けられる場合、そのコンテンツは、ユーザがその場所に存在する可能性が低いので、破棄され得る。
802では、アプリケーションは、ユーザの頭部移動を予測する。アプリケーションは、ユーザの頭部の位置および移動、および/または、ユーザの眼位置および眼球間距離を検出するためにフレーム構造(例えば、フレーム構造102)に搭載される1つ以上のセンサを使用することによって、ユーザの頭部移動を予測し得る。例えば、ユーザが、現在、特定の速度において同一方向に移動している場合、または直近の過去のある一時的期間においてそのように行なっていた場合、アプリケーションは、ユーザが近い将来に同一方向に移動するであろうことを予測し得る。
いくつかの実施形態では、これらのセンサは、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット(IMU)、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープを含み得る。これらのデバイスは、ユーザの頭部移動についての情報を感知、測定、または収集するために使用され得る。例えば、これらのデバイスは、ユーザの頭部の移動、速度、加速、および/または位置を検出および/または測定するために使用され得る。いくつかの実施形態では、ユーザ向き検出モジュールが、ユーザの頭部の瞬間位置を検出し、センサから受信された位置データによって、ユーザの頭部の位置を予測し得る。ユーザ検出向きモジュールは、センサから受信された追跡データに基づいて、ユーザの眼、およびユーザが焦点を合わせている方向および/または距離を追跡することができる。
804では、予測される頭部移動に関する境界が、計算される。境界は、ユーザの移動に関する予測される方向、現在の速度、および/または予測される速度を検討することによって計算される。これらの値から、境界が、計算されることができる。一実施形態では、予測される頭部移動に関する計算された境界は、予測される頭部移動の誤差を表す。
一実施形態では、予測される頭部移動に関する計算される境界は、ユーザが第2の場所に移動するであろう予測される最大運動に対応する。アプリケーションが、予測される運動範囲内にないコンテンツ(例えば、レンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツ)を記憶することは、コンテンツが使用されない可能性が高いであろうから、効率的でないこともある。806では、アプリケーションは、予測される頭部移動に関して計算された境界内にあるコンテンツを決定する。
808では、予測される頭部移動に関する計算された境界内のコンテンツが、記憶される。上で述べられたように、コンテンツは、例えば、リンクリスト、ボクセル、表面定義(例えば、シェル、曲線等)、N-次元データ構造、またはそのグラフ表現等の任意の好適なデータ構造に記憶され得る。
このアプローチの短所は、アプリケーションが、予測される頭部移動に関する境界を計算し、コンテンツが予測される頭部移動に関する計算された境界内にあるかどうかを決定するために、より多くの処理能力を要求し得ることである。
(半透明オブジェクトを含む場面を構築する)
前述のように、ワーピングが、前のフレームからのレンダリングされたコンテンツに適用され得、ワーピングされたレンダリングされたコンテンツの任意の「穴」は、前のフレームからのレンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツを使用して、「充填」され得る。図9A-9Fは、前のフレームが半透明オブジェクトを含む場合における、前のフレームからのレンダリングされたコンテンツをワーピングし、レンダリングされなかったコンテンツを使用して、穴を充填することに関する問題を説明する。半透明オブジェクトは、半透明オブジェクトが「透けて見え」、半透明オブジェクトの背後の不透明オブジェクトがユーザに視認され得るので、追加の複雑性の層を説明された前の実施形態に追加する。さらに、不透明オブジェクトが、第1の目線からの半透明オブジェクトを通して視認されるとき、半透明オブジェクトの背後の不透明オブジェクトは、歪んでまたはぼけて見え得る。半透明オブジェクトの背後の不透明オブジェクトが、ぼけたまたは混成された方法でレンダリングされる場合、第2の目線から、古典的ワーピングを適用し、ワーピングされたフレーム内で不透明オブジェクトの現実的ビューを達成することは、困難である。
図9A-9Fは、半透明および不透明オブジェクトをワーピングすることから生じる問題を図示する。図9Aは、ユーザ(例えば、ユーザ50)と、第1のオブジェクトおよび第2のオブジェクトを含む場面とを示す。ユーザは、第1の位置に位置する。第1のオブジェクトは、半透明材料から成る薄い立方体であり、薄い立方体は、「透けて見える」が、薄い立方体は、半透明材料の背後の任意のオブジェクトを歪ませられてまたはぼけて見えせるであろう。第2のオブジェクトは、不透明オブジェクトであり、星印が、正面にある。
ユーザの眼は、図9Bに示されるような場所および角度位置に位置し得る。ユーザの眼の特定の場所および角度位置は、第1の目線と称されるであろう。第1の目線では、ユーザの眼は、第2のオブジェクトが第1のオブジェクトのすぐ背後に位置するような角度から、直接、第1および第2のオブジェクトを見ている。第1の目線から、第2のオブジェクトの正面は、第1のオブジェクトを通して見え得るが、第2のオブジェクトの正面の星印は、第2のオブジェクトの正面にある、第1のオブジェクトの半透明材料に起因して、ぼけてまたは歪ませられて見える。
図9Cに示されるように、第2のオブジェクト上の星印で標識された表面の点は、第1のオブジェクトを通して見られ得る。第1の目線からの第1および第2のオブジェクトの(例えば、第1のオブジェクトの正面および第2のオブジェクトの正面のぼけたまたは歪ませられたバージョン)の可視表面(例えば、明確に可視および非明確に可視(例えば、ぼけたまたは歪ませられた))の点に対応する画像データは、保たれる/記憶される。可視表面の点に対応する画像データは、「レンダリングされたコンテンツ」と称される。第1の目線からの第1および第2のオブジェクトの非可視表面(例えば、正面を除く、第1のオブジェクトの全ての面および第2のオブジェクトの全てのぼけていない面)の点に対応する画像データは、破棄される。第1および第2のオブジェクトの非可視表面に対応する画像データは、「レンダリングされなかったコンテンツ」と称される。レンダリングされたコンテンツ以外、アプリケーションは、第1の目線からの他のコンテンツ(例えば、レンダリングされなかったコンテンツ)を失っている。レンダリングされなかったコンテンツは、アプリケーションが、レンダリングされたコンテンツのみを保つので、深度試験中に破棄される。ユーザがフレームを別の角度または目線から視認しようとする場合、レンダリングされなかったコンテンツは、アプリケーションが、それを破棄しているので、役に立たない。
図9Cに示されるように、GPU(例えば、GPU152)は、第1の目線からの場面の画像を含むフレームをレンダリングする。レンダリングは、第1および第2のオブジェクトを混成することを含み得る。第1の目線からのフレームは、第1のオブジェクトの正面を通して視認されているように第2のオブジェクトの正面を示し、第2のオブジェクトの正面がぼけてまたは歪ませられて見える。
図9Dに示されるように、ユーザは、ここで、第1の位置のすぐ右の第2の位置に移動する。この時点で、ユーザは、第1の位置と比較して、異なる位置から、第1および第2のオブジェクトを見るであろう。
ユーザの眼は、図9Eに示される場所および角度位置に位置し得る。ユーザの眼の特定の場所および角度位置は、第2の目線と称されるであろう。第2の目線では、ユーザの眼は、(1)第1のオブジェクトの背後の第2のオブジェクトの歪ませられたバージョン(例えば、前のフレームに示される画像)を伴わない第1のオブジェクトと、(2)どんなぼけまたは歪も伴わない第2のオブジェクトとを見るはずである。具体的には、ユーザは、第1のオブジェクトの正面および右面と第2のオブジェクトの正面および右面との両方を見るはずであり、第2のオブジェクトの正面は、ぼけまたは歪を伴わずに見える。
図9Fに示されるように、ワーピングが、前のフレームが第2の目線から示されるように、第1の目線からの前のフレームを変化させるために使用され得る。このアプローチは、第2の目線からのレンダリングされたコンテンツを表示するための試みにおいて、第1の目線からの前のフレームの画像のレンダリングされたコンテンツを取り上げ、レンダリングされたコンテンツが提示される方法をシフトさせる。この例では、前のフレームは、第1の目線から生成され、それは、レンダリングされたコンテンツが、第1および第2のオブジェクトの可視表面(例えば、第2のオブジェクトの正面のぼけたまたは歪ませられたバージョンを含む、第1のオブジェクトの正面表面)に対応する画像データを含み、第1および第2のオブジェクトの非可視表面(例えば、ぼけていないまたは歪ませられていない様式における第2のオブジェクトの正面および全ての面を除く、第1のオブジェクトの全ての面)に対応する画像データを含まないことを意味する。したがって、ワーピングが適用される場合でも、第2のオブジェクトの正面のぼけたまたは歪ませられたバージョンを含む正面を除く、第1のオブジェクトの全ての面、およびぼけていないまたは歪ませられていない様式における第2のオブジェクトの全ての面は、ワーピングされた画像内に存在しないであろう。これは、新しいフレームの利用可能性および正確度に影響を及ぼすいくつかのアーチファクトを作成する。
ワーピングが、第1の目線からの前のフレームに適用され、再生成せずに、第2の目線からの新しいフレームを構築する場合の問題が、図9Fに図示される。これは、第2の目線からの不正確な表示を生じさせる。このアプローチを使用することに関して潜在的に問題となる2つのことが、存在する。1つ目は、第1のオブジェクトが、第2のオブジェクトの正面のぼけたまたは歪ませられたバージョンを含むべきではないということである。2つ目は、第2のオブジェクト(すなわち、第2のオブジェクトのぼけていないまたは歪ませられていないバージョン)が、ワーピングされた画像から完全にもれているということである。図9Fの上に生成されたフレームと、図9Fの下における第2の目線から示されるべき内容のフレームを比較されたい。図9Fの下は、第1のオブジェクトの透明度がなく、第2のオブジェクトのぼけまたは歪が適用されない、第1のオブジェクトおよび第2のオブジェクトの妨害されていないビューを示す。
図9Fの中央は、図9Fの上に示される問題に対する1つの可能なソリューションを示す。いくつかの実施形態では、前のフレームからのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツが、保たれる/記憶される。ワーピングが、レンダリングされたコンテンツに適用され、ワーピングされたレンダリングされたコンテンツの任意の「穴」は、レンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツを使用して「充填」され得る。しかしながら、それは、いくつかの不利点を有する。レンダリングされたコンテンツをワーピングし、次いで、レンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツを使用して、穴を充填することは、意図されないアーチファクトをもたらし得る。例えば、レンダリングされたコンテンツは、第2のオブジェクトの正面のぼけたまたは歪ませられたバージョンを含むので、ワーピングされたレンダリングされたコンテンツも、第2のオブジェクトの正面のぼけたまたは歪ませられたバージョンを含み、レンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツを使用して、ワーピングされたレンダリングされたコンテンツの穴を充填することは、単に、第2のオブジェクトのぼけていないまたは歪ませられていないバージョン(第2のオブジェクトの正面および右面の両方)を追加するが、しかしながら、それは、ワーピングされたレンダリングされたコンテンツ内の第2のオブジェクトの正面のぼけたまたは歪ませられたバージョンを除去しない。したがって、前のフレームからのレンダリングされたコンテンツをワーピングし、前のフレームからのレンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツを使用して、ワーピングされたコンテンツの穴を充填することは、望ましくないこともある。
本開示は、ここで、図9A-9Fに説明される代替アプローチからの問題となる結果を解決するアプローチを説明するであろう。図10および11A-11Gは、半透明オブジェクトおよび不透明オブジェクトに関するデータを別個に保つこと/記憶することによって、図9A-9Fに提示されるワーピング問題を解決するためのソリューションを説明する。データを別個に保つこと/記憶することは、半透明オブジェクトによって影響されるべきおよび影響されるべきではないオブジェクトを決定することにも役立つ。
図10は、一実施形態による、半透明オブジェクトおよび不透明オブジェクトに対応するコンテンツを記憶するためのアプローチのフローチャートを示す。このアプローチでは、アプリケーションは、半透明オブジェクトに対応する半透明点と、不透明オブジェクトに対応する不透明点とを記憶するであろう。
1002では、アプリケーションは、第1の目線からの不透明オブジェクトの不透明点を決定する。不透明点に対応する画像データは、ぼけまたは歪が適用されない不透明点を説明する。ユーザが、異なる位置(例えば、半透明オブジェクトの半透明表面を通して不透明点を視認せずに、不透明オブジェクトの不透明点が視認され得る場所)に移動すると、アプリケーションは、不透明オブジェクトを異なる目線から構築するための不透明オブジェクトについての十分な情報および詳細を有するであろう。
1004では、不透明点に対応する画像データが、記憶される。不透明点に対応する画像データは、任意のタイプのデータ構造に記憶されることができる。上で述べられたように、画像データは、リンクリスト、ボクセル、表面定義(例えば、シェル、曲線等)、N-次元データ構造、またはそのグラフ表現等として記憶され得る。いくつかの実施形態では、アプリケーションは、記憶されるであろう、画像データの粒度も決定することができる。
1006では、アプリケーションは、半透明オブジェクトの半透明点を決定する。半透明オブジェクトは、例えば、霧、煙、または「霜で覆われたガラス」であり得る。半透明オブジェクトが、不透明オブジェクトの正面である場合、これは、不透明オブジェクトが半透明オブジェクトを通して視認可能されるようにするであろう。不透明オブジェクトが、半透明オブジェクトを通して視認されると、不透明オブジェクトは、例えば、半透明オブジェクトの半透明材料によって等、半透明によって影響された不透明オブジェクトのビューに起因して、ぼけてまたは歪ませられて見えるであろう。半透明点に対応する画像データは、ぼけまたは歪が適用されない半透明点を説明する。ユーザが、異なる位置(例えば、半透明オブジェクトの半透明表面を通して不透明オブジェクトの不透明点を視認せずに、半透明オブジェクトの半透明点が視認され得る場所)に移動するとき、アプリケーションは、半透明オブジェクトを異なる目線から構築するための半透明オブジェクトについての十分な情報および詳細を有するであろう。
1008では、半透明点に対応する画像データが、記憶される。半透明点に対応する画像データは、記憶され、第1の目線と異なる目線(例えば、第2の目線)を生成するとき、透明度を正しくハンドリングする。上で述べられたように、画像データは、リンクリスト、ボクセル、表面定義(例えば、シェル、曲線等)、N-次元データ構造、またはそのグラフ表現等として記憶され得る。いくつかの実施形態では、アプリケーションは、記憶されるであろう、画像データの粒度も決定することができる。
図11A-11Gは、一実施形態による、第1の目線からの不透明点および半透明点に対応する画像データを使用して第2の目線のフレームを表示するための例示的アプローチを図示する。画像データは、レンダリングされたコンテンツと、レンダリングされなかったコンテンツとを含む。
図11A-11Cは、図9A-9Cにおけるものと同一画像設定を示し、ユーザは、第1の場所に存在し、ユーザの眼の特定の場所および角度位置は、第1の目線と称される。ユーザ、第1のオブジェクト(半透明オブジェクト)、および第2のオブジェクト(不透明オブジェクト)は、同一初期位置にある。図11Cでは、GPU(例えば、GPU152)は、図9Cのそれと同一である第1の目線からの場面の画像を含むフレームをレンダリングする。第1の目線からのフレームは、第1のオブジェクトの正面を通して視認されるような第2のオブジェクトの正面を示し、第2のオブジェクトの正面は、ぼけてまたは歪ませられて見える。図11E-11Fは、図9D-9Eと同一画像設定を示し、ユーザは、第2の場所に存在し、第2の位置におけるユーザの眼の特定の場所および角度位置は、第2の目線と称される。
図11Dでは、アプリケーションは、(1)第2のオブジェクトの不透明点と、(2)第1のオブジェクトの半透明点とに対応するレンダリングされなかったコンテンツを選択および記憶する。アプリケーションは、第2のオブジェクトの不透明点をそれらのそれぞれの深度情報とともに記憶し、第1のオブジェクトの半透明点をそれらのそれぞれの深度情報とともに記憶する。いくつかの実施形態では、記憶されるべき半透明点および/または不透明点の数の上限が存在し、記憶メモリ懸念を緩和し得る。レンダリングされなかったコンテンツは、任意の追加の目線における透明度をハンドリングするために使用されるであろう。いくつかの実施形態では、レンダリングされなかったコンテンツが、第1の目線からのフレームに加え、使用される。ここで、ユーザが、異なる目線(例えば、第1の目線から第2の目線に)移動すると、アプリケーションは、レンダリングされなかったコンテンツを使用して、新しいフレームを新しい目線から構築することができる。
いくつかの実施形態では、画像データ(レンダリングされたコンテンツおよび/またはレンダリングされなかったコンテンツに関する)は、立体および深度情報を含む。さらに、画像データは、参照データを含むことができ、それは、不透明オブジェクトが、半透明オブジェクトによって影響されるかどうかおよびその逆を決定するための情報を含む。アプリケーションは、不透明および透明オブジェクトに関する画像データが別個に維持されているので、半透明オブジェクトによって影響される任意の不透明オブジェクトおよびその逆を決定するための論理を含む。
図11Eに示されるように、ユーザは、第1の位置のすぐ右の第2の位置に移動する。この時点で、ユーザは、第1の位置と比較して、異なる位置から、第1および第2のオブジェクトを見るであろう。ユーザの眼は、図11Fに示される第2の目線に位置し得る。第2の目線では、ユーザの眼は、第1の目線からのフレームと異なるフレームを見るはずである。第2の目線では、ユーザの眼は、第1のオブジェクトの正面および右面と第2のオブジェクトの正面および右面との両方を見るはずである。具体的には、ユーザは、ここで、第1のオブジェクトからのどんなぼけまたは歪も伴わずに、第2のオブジェクトの正面の星印を見るであろう。
図11Gに示されるように、構築が、第1の目線からのレンダリングされていたフレームおよび第1の目線からのレンダリングされなかったコンテンツを含む前のフレームからのコンテンツに適用され、場面全体を全体的に再生成せずに、第2の目線からの新しいフレームを作成し得る。アプリケーションは、最初に、第2の目線から可視であるレンダリングされなかったコンテンツ(例えば、第1のオブジェクトの右面と第2のオブジェクトの正面および右表面)を識別するであろう。アプリケーションは、次いで、(1)不透明点と、(2)半透明点とに関する記憶された画像データに構築を適用し、第2の目線の完全再生成を行なわずに、第2の目線からのフレームを生成する。上で述べられたように、ディスオクルージョン問題は、アプリケーションが、構築中に使用されたレンダリングされなかったコンテンツに関する画像データを保存しているので、もはや存在しない。
(システムアーキテクチャ概要)
図12は、本開示の実施形態のうちの1つ以上のものを実装するために好適な例証的コンピューティングシステム1400のブロック図であるの。コンピューティングシステム1400は、情報を通信するためのバス1406または他の通信機構を含み、それは、プロセッサ1407、メインメモリ1408(例えば、RAM)、静的記憶デバイス1409(例えば、ROM)、ディスクドライブ1410(例えば、磁気または光学)、通信インターフェース1414(例えば、モデムまたはEthernet(登録商標)カード)、ディスプレイ1411(例えば、CRTまたはLCD)、入力デバイス1412(例えば、キーボード)、およびカーソル制御等のサブシステムおよびデバイスを相互接続する。
一実施形態によると、コンピューティングシステム1400は、プロセッサ1407が、メインメモリ1408内に含まれる1つ以上の一続きの1つ以上の命令を実行することによって、具体的動作を実施する。そのような命令は、静的記憶デバイス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 (24)

  1. 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築する方法であって、前記方法は、
    第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、
    前記第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされたコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の前記可視表面の点に対応し、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の非可視部分に対応し、前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方をリンクリスト、アレイ構造、厳密な立体表現、ボクセル、表面定義、N-次元データ構造、およびN-次元グラフ表現のうちの少なくとも1つにおいて記憶することを含む、ことと、
    第2の目線からの新しいフレームを表示するための要求を受信することと、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを使用して、前記第2の目線からの前記新しいフレームを生成することと、
    前記第2の目線からの前記新しいフレームを表示することと
    を含む、方法。
  2. ユーザの第1の姿勢を捕捉することによって、前記第1の目線を識別することをさらに含む、請求項1に記載の方法。
  3. 前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方の異なる粒度を決定することをさらに含む、請求項1に記載の方法。
  4. 前記第2の目線からの第2のオブジェクトの組の可視表面の点をレンダリングすることと、
    前記第1の目線からの前記記憶されたレンダリングされたコンテンツのうちの少なくともいくつかを前記第2の目線にワーピングすることと、
    をさらに含み、
    前記第2の目線からの前記新しいフレームを生成することは、新しくレンダリングされたコンテンツとワーピングされたレンダリングされたコンテンツとを組み合わせることを含み、前記新しくレンダリングされたコンテンツは、前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点に対応し、前記ワーピングされたレンダリングされたコンテンツは、前記第1の目線から前記第2の目線にワーピングされた前記記憶されたレンダリングされたコンテンツに対応する、請求項1に記載の方法。
  5. 前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点をレンダリングすることは、
    前記第2の目線から可視の第3のオブジェクトの組を決定することと、
    前記第2の目線からの前記第3のオブジェクトの組を前記第1の目線からの前記記憶されたレンダリングされたコンテンツと比較することにより、前記第2のオブジェクトの組を識別することであって、前記第2のオブジェクトの組は、前記記憶されたレンダリングされたコンテンツの中にない前記第3のオブジェクトの組からのオブジェクトを含む、ことと、
    前記第2のオブジェクトの組の前記可視表面の点をレンダリングすることと
    を含む、請求項に記載の方法。
  6. 前記第1の目線からの前記記憶されたコンテンツのうちの前記少なくともいくつかを前記第2の目線にワーピングすることは、
    前記第2の目線から可視の第3のオブジェクトの組を決定することと、
    前記第2の目線からの前記第3のオブジェクトの組を前記第1の目線からの前記記憶されたレンダリングされたコンテンツと比較することにより、前記第3のオブジェクトの組および前記記憶されたレンダリングされたコンテンツの両方の中にあるオブジェクトを識別することと、
    前記第3のオブジェクトの組および前記記憶されたレンダリングされたコンテンツの両方の中にある前記オブジェクトをワーピングすることと
    を含む、請求項に記載の方法。
  7. 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築する方法であって、前記方法は、
    第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、
    前記第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされたコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の前記可視表面の点に対応し、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の非可視部分に対応する、ことと、
    第2の目線からの新しいフレームを表示するための要求を受信することと、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを使用して、前記第2の目線からの前記新しいフレームを生成することと、
    前記第2の目線からの前記新しいフレームを表示することと
    を含み、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを識別することと、
    前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを分析し、コンテンツが表面点に対応するか、非表面点に対応するかを決定することと、
    非表面点に対応する前記コンテンツを破棄することと、
    前記表面点に対応する前記コンテンツを記憶することと
    を含む方法。
  8. 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築する方法であって、前記方法は、
    第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、
    前記第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされたコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の前記可視表面の点に対応し、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の非可視部分に対応する、ことと、
    第2の目線からの新しいフレームを表示するための要求を受信することと、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを使用して、前記第2の目線からの前記新しいフレームを生成することと、
    前記第2の目線からの前記新しいフレームを表示することと
    を含み、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
    ユーザの頭部移動を予測することと、
    少なくとも部分的に予測される方向、前記ユーザの現在の移動速度、および前記ユーザに関して予測される移動速度のうちの1つ以上に基づいて、前記ユーザの前記予測される頭部移動に関する境界を計算することであって、前記境界は、前記第2の目線に関して予測される最大頭部移動に対応する、ことと、
    前記予測される頭部移動に関する前記計算された境界内のコンテンツを決定することと、
    前記計算された境界内の前記コンテンツを記憶することと
    を含む方法。
  9. 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築する方法であって、前記方法は、
    第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、
    前記第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされたコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の前記可視表面の点に対応し、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の非可視部分に対応する、ことと、
    第2の目線からの新しいフレームを表示するための要求を受信することと、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを使用して、前記第2の目線からの前記新しいフレームを生成することと、
    前記第2の目線からの前記新しいフレームを表示することと
    を含み、
    前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することは、
    1つ以上の不透明オブジェクトの不透明点を決定することと、
    前記不透明点に対応する画像データを記憶することと、
    1つ以上の半透明オブジェクトの半透明点を決定することと、
    前記半透明点の画像データを記憶することと
    をさらに含み、
    前記第1のオブジェクトの組は、前記1つ以上の不透明オブジェクトと、前記1つ以上の半透明オブジェクトとを備えている方法。
  10. 前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することは、
    1つ以上の不透明オブジェクトの不透明点を決定することと、
    前記不透明点に対応する画像データを記憶することと、
    1つ以上の半透明オブジェクトの半透明点を決定することと、
    前記半透明点の画像データを記憶することと
    をさらに含み、
    前記第1のオブジェクトの組は、前記1つ以上の不透明オブジェクトと、前記1つ以上の半透明オブジェクトとを備えている、請求項1に記載の方法
  11. 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築するためのシステムであって、前記システムは、
    実行可能コンピュータ命令を記憶している非一過性コンピュータ読み取り可能な記憶媒体であって、前記コンピュータ命令は、実行されると、
    第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、
    前記第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされたコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の可視表面の点に対応し、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の非可視部分に対応し、前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方をリンクリスト、アレイ構造、厳密な立体表現、ボクセル、表面定義、N-次元データ構造、およびN-次元グラフ表現のうちの少なくとも1つにおいて記憶することを含む、ことと、
    第2の目線からの新しいフレームを表示するための要求を受信することと、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを使用して、前記第2の目線からの前記新しいフレームを生成することと、
    前記第2の目線からの前記新しいフレームを表示することと
    を含むステップを実施する、非一過性コンピュータ読み取り可能な記憶媒体と、
    前記コンピュータ命令を実行するように構成されたプロセッサと
    を備えている、システム。
  12. 前記コンピュータ命令は、実行されると、ユーザの第1の姿勢を捕捉することによって、前記第1の目線を識別することを含むさらなるステップを実施する、請求項11に記載のシステム。
  13. 前記コンピュータ命令は、実行されると、前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方の異なる粒度を決定することを含むさらなるステップを実施する、請求項11に記載のシステム。
  14. 前記コンピュータ命令は、実行されると、
    前記第2の目線からの第2のオブジェクトの組の可視表面の点をレンダリングすることと、
    前記第1の目線からの前記記憶されたレンダリングされたコンテンツのうちの少なくともいくつかを前記第2の目線にワーピングすることと
    を含むさらなるステップを実施し、
    前記第2の目線からの前記新しいフレームを生成することは、新しくレンダリングされたコンテンツとワーピングされたレンダリングされたコンテンツとを組み合わせることを含み、前記新しくレンダリングされたコンテンツは、前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点に対応し、前記ワーピングされたレンダリングされたコンテンツは、前記第1の目線から前記第2の目線にワーピングされた前記記憶されたレンダリングされたコンテンツに対応する、請求項11に記載のシステム。
  15. 前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点をレンダリングすることは、
    前記第2の目線から可視の第3のオブジェクトの組を決定することと、
    前記第2の目線からの前記第3のオブジェクトの組を前記第1の目線からの前記記憶されたレンダリングされたコンテンツと比較することにより、前記第2のオブジェクトの組を識別することであって、前記第2のオブジェクトの組は、前記記憶されたレンダリングされたコンテンツの中にない前記第3のオブジェクトの組からのオブジェクトを含む、ことと、
    前記第2のオブジェクトの組の前記可視表面の点をレンダリングすることと
    を含む、請求項14に記載のシステム。
  16. 前記第1の目線からの前記記憶されたコンテンツのうちの前記少なくともいくつかを前記第2の目線にワーピングすることは、
    前記第2の目線から可視の第3のオブジェクトの組を決定することと、
    前記第2の目線からの前記第3のオブジェクトの組を前記第1の目線からの前記記憶されたレンダリングされたコンテンツと比較することにより、前記第3のオブジェクトの組および前記記憶されたレンダリングされたコンテンツの両方の中にあるオブジェクトを識別することと、
    前記第3のオブジェクトの組および前記記憶されたレンダリングされたコンテンツの両方の中にある前記オブジェクトをワーピングすることと
    を含む、請求項14に記載のシステム。
  17. 前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを識別することと、
    前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを分析し、コンテンツが表面点に対応するか、非表面点に対応するかを決定することと、
    非表面点に対応する前記コンテンツを破棄することと、
    前記表面点に対応する前記コンテンツを記憶することと
    を含む、請求項11に記載のシステム。
  18. 前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
    ユーザの頭部移動を予測することと、
    少なくとも部分的に予測される方向、前記ユーザの現在の移動速度、および前記ユーザに関して予測される移動速度のうちの1つ以上に基づいて、前記ユーザの前記予測される頭部移動に関する境界を計算することであって、前記境界は、前記第2の目線に関して予測される最大頭部移動に対応する、ことと、
    前記予測される頭部移動に関する前記計算された境界内のコンテンツを決定することと、
    前記計算された境界内の前記コンテンツを記憶することと
    を含む、請求項11に記載のシステム。
  19. 非一過性コンピュータ読み取り可能な媒体であって、前記コンピュータ読み取り可能な媒体は、一続きの命令を記憶しており、前記命令は、プロセッサによって実行されると、前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して新しいフレームを構築する方法を実行することを前記プロセッサに行わせ、前記方法は、
    第1の目線からの第1のオブジェクトの組の可視表面の点をレンダリングすることと、
    前記第1の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされたコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の前記可視表面の点に対応し、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記第1のオブジェクトの組の非可視部分に対応し、前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方をリンクリスト、アレイ構造、厳密な立体表現、ボクセル、表面定義、N-次元データ構造、およびN-次元グラフ表現のうちの少なくとも1つにおいて記憶することを含む、ことと、
    第2の目線からの新しいフレームを表示するための要求を受信することと、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを使用して、前記第2の目線からの前記新しいフレームを生成することと、
    前記第2の目線からの前記新しいフレームを表示することと
    を含む、非一過性コンピュータ読み取り可能な媒体
  20. 前記方法は、
    前記第2の目線からの第2のオブジェクトの組の可視表面の点をレンダリングすることと、
    前記第1の目線からの前記記憶されたレンダリングされたコンテンツのうちの少なくともいくつかを前記第2の目線にワーピングすることと
    をさらに含み、
    前記第2の目線からの前記新しいフレームを生成することは、新しくレンダリングされたコンテンツとワーピングされたレンダリングされたコンテンツとを組み合わせることを含み、前記新しくレンダリングされたコンテンツは、前記第2の目線からの前記第2のオブジェクトの組の前記可視表面の点に対応し、前記ワーピングされたレンダリングされたコンテンツは、前記第1の目線から前記第2の目線にワーピングされた前記記憶されたレンダリングされたコンテンツに対応する、請求項19に記載の非一過性コンピュータ読み取り可能な媒体
  21. 前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
    前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを識別することと、
    前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツを分析し、コンテンツが表面点に対応するか、非表面点に対応するかを決定することと、
    非表面点に対応する前記コンテンツを破棄することと、
    前記表面点に対応する前記コンテンツを記憶することと
    を含む、請求項19に記載の非一過性コンピュータ読み取り可能な媒体
  22. 前記第1の目線からの前記レンダリングされたコンテンツおよび前記レンダリングされなかったコンテンツの両方を記憶することは、
    ユーザの頭部移動を予測することと、
    少なくとも部分的に予測される方向、前記ユーザの現在の移動速度、および前記ユーザに関して予測される移動速度のうちの1つ以上に基づいて、前記ユーザの前記予測される頭部移動に関する境界を計算することであって、前記境界は、前記第2の目線に関して予測される最大頭部移動に対応する、ことと、
    前記予測される頭部移動に関する前記計算された境界内のコンテンツを決定することと、
    前記計算された境界内の前記コンテンツを記憶することと
    を含む、請求項19に記載の非一過性コンピュータ読み取り可能な媒体
  23. 前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することは、
    1つ以上の不透明オブジェクトの不透明点を決定することと、
    前記不透明点に対応する画像データを記憶することと、
    1つ以上の半透明オブジェクトの半透明点を決定することと、
    前記半透明点の画像データを記憶することと
    をさらに含み、
    前記第1のオブジェクトの組は、前記1つ以上の不透明オブジェクトと、前記1つ以上の半透明オブジェクトとを備えている、請求項19に記載の非一過性コンピュータ読み取り可能な媒体
  24. 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用して、新しいフレームを構築する方法であって、前記方法は、
    第1の目線からの1つ以上のオブジェクトをレンダリングすることと、
    前記第1の目線からの前記1つ以上のオブジェクトに関するレンダリングされたコンテンツおよびレンダリングされなかったコンテンツの両方を記憶することであって、前記レンダリングされなかったコンテンツは、前記第1の目線からの前記オブジェクトの非可視部分に対応する、ことと、
    第2の目線からの前記1つ以上のオブジェクトを表示するための要求を受信することと、
    前記1つ以上のオブジェクトに関する前記レンダリングされたコンテンツのうちの少なくともいくつかをワーピングし、前記第2の目線からのワーピングされたコンテンツを作成することと、
    前記1つ以上のオブジェクトに関する前記レンダリングされなかったコンテンツのうちの少なくともいくつかをレンダリングし、前記第2の目線からの第2のレンダリングされたコンテンツを作成することと、
    前記ワーピングされたコンテンツと前記第2の目線からの前記第2のレンダリングされたコンテンツとの両方を組み合わせることによって、前記第2の目線からの前記1つ以上のオブジェクトを構築することと、
    前記第2の目線からの前記1つ以上のオブジェクトを表示することと
    を含む、方法。
JP2020512591A 2017-09-01 2018-08-31 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成 Active JP7123127B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022126805A JP7166484B1 (ja) 2017-09-01 2022-08-09 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762553778P 2017-09-01 2017-09-01
US62/553,778 2017-09-01
PCT/US2018/049266 WO2019046821A1 (en) 2017-09-01 2018-08-31 GENERATING A NEW FRAME USING REBUILDED CONTENT AND UNRESTITUDED CONTENT FROM A PREVIOUS PERSPECTIVE

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022126805A Division JP7166484B1 (ja) 2017-09-01 2022-08-09 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成

Publications (3)

Publication Number Publication Date
JP2020532797A JP2020532797A (ja) 2020-11-12
JP2020532797A5 JP2020532797A5 (ja) 2021-10-07
JP7123127B2 true JP7123127B2 (ja) 2022-08-22

Family

ID=65518123

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020512591A Active JP7123127B2 (ja) 2017-09-01 2018-08-31 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
JP2022126805A Active JP7166484B1 (ja) 2017-09-01 2022-08-09 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
JP2022170457A Active JP7201869B1 (ja) 2017-09-01 2022-10-25 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022126805A Active JP7166484B1 (ja) 2017-09-01 2022-08-09 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
JP2022170457A Active JP7201869B1 (ja) 2017-09-01 2022-10-25 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成

Country Status (9)

Country Link
US (3) US10489966B2 (ja)
EP (2) EP3676653B1 (ja)
JP (3) JP7123127B2 (ja)
KR (2) KR102680570B1 (ja)
CN (2) CN114897754B (ja)
AU (1) AU2018326807B2 (ja)
CA (1) CA3073618A1 (ja)
IL (2) IL294397B2 (ja)
WO (1) WO2019046821A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266955B (zh) * 2019-06-28 2021-01-26 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备以及存储介质
US11538199B2 (en) * 2020-02-07 2022-12-27 Lenovo (Singapore) Pte. Ltd. Displaying a window in an augmented reality view
KR102368953B1 (ko) * 2020-02-18 2022-03-03 페디셈 주식회사 가상 현실 공간 제공 방법 및 시스템
CN111627116B (zh) * 2020-05-29 2024-02-27 联想(北京)有限公司 图像渲染控制方法、装置及服务器
US11822713B2 (en) 2021-06-11 2023-11-21 Rockwell Collins, Inc. Pose augmentation of head worn display video for latency reduction
CN113721874A (zh) * 2021-07-29 2021-11-30 阿里巴巴(中国)有限公司 虚拟现实画面显示方法及电子设备
CN113963103A (zh) * 2021-10-26 2022-01-21 中国银行股份有限公司 一种三维模型的渲染方法和相关装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004525437A (ja) 2000-12-01 2004-08-19 サーノフ コーポレイション 一群の実際のビデオおよび/または静止画像から新規ビデオおよび/または静止画像を合成する方法および装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100450823B1 (ko) * 2001-11-27 2004-10-01 삼성전자주식회사 깊이 이미지 기반 3차원 물체의 표현을 위한 노드 구조
US7883415B2 (en) * 2003-09-15 2011-02-08 Sony Computer Entertainment Inc. Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion
JP5299173B2 (ja) * 2009-08-26 2013-09-25 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
US20110279446A1 (en) * 2010-05-16 2011-11-17 Nokia Corporation Method and apparatus for rendering a perspective view of objects and content related thereto for location-based services on mobile device
EP3543958B1 (en) * 2010-09-13 2020-11-11 Barry Lynn Jenkins System and method of delivering and controlling streaming interactive media comprising predetermined packets of geometric, texture, lighting and other data which are rendered on a receiving device
US9424767B2 (en) * 2012-06-18 2016-08-23 Microsoft Technology Licensing, Llc Local rendering of text in image
KR102458124B1 (ko) 2013-03-15 2022-10-21 매직 립, 인코포레이티드 디스플레이 시스템 및 방법
WO2015006784A2 (en) * 2013-07-12 2015-01-15 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US9729317B2 (en) 2014-01-30 2017-08-08 Mentor Graphics Corporation Optical physical uncloneable function
US10200627B2 (en) * 2014-04-09 2019-02-05 Imagination Technologies Limited Virtual camera for 3-D modeling applications
CA2960426A1 (en) * 2014-09-09 2016-03-17 Nokia Technologies Oy Stereo image recording and playback
US9240069B1 (en) * 2015-06-30 2016-01-19 Ariadne's Thread (Usa), Inc. Low-latency virtual reality display system
US10147211B2 (en) * 2015-07-15 2018-12-04 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
WO2017112013A1 (en) * 2015-12-22 2017-06-29 Google Inc. System and method for performing electronic display stabilization via retained lightfield rendering
EP3605469A4 (en) * 2017-03-23 2021-03-03 Sony Interactive Entertainment Inc. INFORMATION PROCESSING DEVICE
GB201709752D0 (en) * 2017-06-19 2017-08-02 Advanced Risc Mach Ltd Graphics processing systems
EP3419286A1 (en) 2017-06-23 2018-12-26 Koninklijke Philips N.V. Processing of 3d image information based on texture maps and meshes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004525437A (ja) 2000-12-01 2004-08-19 サーノフ コーポレイション 一群の実際のビデオおよび/または静止画像から新規ビデオおよび/または静止画像を合成する方法および装置

Also Published As

Publication number Publication date
KR102379670B1 (ko) 2022-03-25
US20210035353A1 (en) 2021-02-04
JP2023015119A (ja) 2023-01-31
CN114897754B (zh) 2024-04-09
US10489966B2 (en) 2019-11-26
IL272651A (en) 2020-03-31
IL294397A (en) 2022-08-01
AU2018326807A1 (en) 2020-03-05
CA3073618A1 (en) 2019-03-07
CN111051959A (zh) 2020-04-21
US11288858B2 (en) 2022-03-29
KR20220041252A (ko) 2022-03-31
CN111051959B (zh) 2022-06-03
EP3676653A4 (en) 2020-10-07
WO2019046821A1 (en) 2019-03-07
JP7166484B1 (ja) 2022-11-07
CN114897754A (zh) 2022-08-12
EP3676653B1 (en) 2023-02-15
JP2022179473A (ja) 2022-12-02
KR20200046048A (ko) 2020-05-06
AU2018326807B2 (en) 2023-04-13
EP3676653A1 (en) 2020-07-08
JP2020532797A (ja) 2020-11-12
KR102680570B1 (ko) 2024-07-01
US10846912B2 (en) 2020-11-24
US20190073821A1 (en) 2019-03-07
IL294397B2 (en) 2024-02-01
IL294397B1 (en) 2023-10-01
JP7201869B1 (ja) 2023-01-10
IL272651B (en) 2022-08-01
EP4177667A1 (en) 2023-05-10
US20200051322A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
JP7201869B1 (ja) 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
JP7443602B2 (ja) 仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法
AU2022200841B2 (en) Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same
AU2021290369A1 (en) Mixed reality system with color virtual content warping and method of generating virtual content using same

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210830

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220420

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: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220809

R150 Certificate of patent or registration of utility model

Ref document number: 7123127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150