JP2024502772A - 合成イメージの生成 - Google Patents

合成イメージの生成 Download PDF

Info

Publication number
JP2024502772A
JP2024502772A JP2023538784A JP2023538784A JP2024502772A JP 2024502772 A JP2024502772 A JP 2024502772A JP 2023538784 A JP2023538784 A JP 2023538784A JP 2023538784 A JP2023538784 A JP 2023538784A JP 2024502772 A JP2024502772 A JP 2024502772A
Authority
JP
Japan
Prior art keywords
image
source
source image
images
layer
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.)
Pending
Application number
JP2023538784A
Other languages
English (en)
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.)
Meta Platforms Technologies LLC
Original Assignee
Meta Platforms Technologies LLC
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 Meta Platforms Technologies LLC filed Critical Meta Platforms Technologies LLC
Publication of JP2024502772A publication Critical patent/JP2024502772A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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/20004Adaptive image processing
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

一実施形態では、方法は、複数のイメージソースの各々からソースイメージおよびソースイメージに関連付けられたパラメータを受信することと、ソースイメージに関連付けられたパラメータに基づいて複数の層の範囲内の層にソースイメージの各々を関連付けることであって、複数の層の範囲はソースイメージの合成層順序を指定する、ソースイメージの各々を関連付けることと、特定のソースイメージに関連付けられたパラメータおよび特定のソースイメージに関連付けられた層に先行する層があればそれに関連付けられたソースイメージの各々に関連付けられたパラメータの少なくとも一部に基づいて、ソースイメージ内の各特定のソースイメージについて対応するカスタマイズされた歪みメッシュを生成することと、対応するカスタマイズされた歪みメッシュを使用してソースイメージの各々を修正することと、修正されたソースイメージを使用して合成イメージを生成することと、合成イメージをビデオ内のフレームとして表示することと、を含む。【選択図】図5

Description

本開示は、一般に、人工現実システムに関し、特に、ビデオストリームのフレームの合成イメージを生成することに関する。
人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。人工現実感は、たとえば人工現実感におけるコンテンツの生成および/または人工現実感における使用(たとえば、人工現実感における活動の実行)がなされるアプリケーション、製品、付属品、サービス、またはこれらの何らかの組合せと関連付けられている場合がある。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
したがって、本発明は、添付の特許請求の範囲による方法、システム、コンピュータ可読記憶媒体、およびコンピュータプログラムを対象とする。
一態様において、本発明は、コンピューティングデバイスの合成器モジュールによって、
n個のイメージソースの各々から、ソースイメージおよびソースイメージに関連付けられたパラメータを受信することであって、n個のイメージソースは少なくとも2つのイメージソースを含む、受信することと、
ソースイメージに関連付けられたパラメータに基づいて、ソースイメージの各々を複数の層の範囲内の層に関連付けることであって、複数の層の範囲は、ソースイメージの合成層順序を指定する、関連付けることと、
ソースイメージ内の各特定のソースイメージについて、特定のソースイメージに関連付けられたパラメータ、および特定のソースイメージに関連付けられた層に先行する層があればそれに関連付けられたソースイメージの各々に関連付けられたパラメータの少なくとも一部に基づいて、対応するカスタマイズされた歪みメッシュを生成することと、
対応するカスタマイズされた歪みメッシュを使用してソースイメージの各々を修正することと、
修正されたソースイメージを使用して合成イメージを生成することと、
合成イメージをビデオ内のフレームとして表示することと、を含む方法を対象とする。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、層パラメータを含んでもよく、層は、ソースイメージに関連付けられた層パラメータに基づいてソースイメージに関連付けられる。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域、ソースイメージによって埋められる出力イメージ内の領域を示すクリッピングパラメータを含んでもよい。これに加えて、複数の層の範囲内の最後の層に関連付けられたソースイメージに関連付けられたクリッピングパラメータは、出力イメージの全領域がソースイメージの境界領域であることを示し得る。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域、ソースイメージによって埋められる出力イメージ内の領域を示すクリッピングパラメータを含んでもよい。これに加えて、ソースイメージに関連付けられたパラメータは、ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含む再投影パラメータを含んでもよい。さらに、ソースイメージの境界領域は、1つまたは複数のワーピング動作の予想される影響に基づいて更新され得る。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域、ソースイメージによって埋められる出力イメージ内の領域を示すクリッピングパラメータを含んでもよい。ソースイメージに関連付けられたパラメータは、ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含む再投影パラメータを含んでもよく、ソースイメージの境界領域は、1つまたは複数のワーピング動作の予想される影響に基づいて更新され得る。これに加えて、ソースイメージの第1のソースイメージの更新された境界領域は、第1のソースイメージに関連付けられた層に先行する層があればそれに関連付けられたソースイメージの各第2のイメージについて、第1のソースイメージの更新された境界領域から第1のソースイメージの更新された境界領域と第2のソースイメージの更新された境界領域との間の交差部分を減算することによってさらに更新され得る。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域、ソースイメージによって埋められる出力イメージ内の領域を示すクリッピングパラメータを含んでもよい。ソースイメージに関連付けられたパラメータは、ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含む再投影パラメータを含んでもよく、ソースイメージの境界領域は、1つまたは複数のワーピング動作の予想される影響に基づいて更新され得る。ソースイメージの第1のソースイメージの更新された境界領域は、第1のソースイメージに関連付けられた層に先行する層があればそれに関連付けられたソースイメージの各第2のイメージについて、第1のソースイメージの更新された境界領域から第1のソースイメージの更新された境界領域と第2のソースイメージの更新された境界領域との間の交差部分を減算することによってさらに更新され得る。これに加えて、ソースイメージに関連付けられたパラメータは、ソースイメージの遷移領域に関連付けられた情報を含む混合パラメータを含んでもよく、遷移領域はアルファブレンディングの対象である。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域、ソースイメージによって埋められる出力イメージ内の領域を示すクリッピングパラメータを含んでもよい。ソースイメージに関連付けられたパラメータは、ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含む再投影パラメータを含んでもよく、ソースイメージの境界領域は、1つまたは複数のワーピング動作の予想される影響に基づいて更新され得る。ソースイメージの第1のソースイメージの更新された境界領域は、第1のソースイメージに関連付けられた層に先行する層があればそれに関連付けられたソースイメージの各第2のイメージについて、第1のソースイメージの更新された境界領域から第1のソースイメージの更新された境界領域と第2のソースイメージの更新された境界領域との間の交差部分を減算することによってさらに更新され得る。ソースイメージに関連付けられたパラメータは、ソースイメージの遷移領域に関連付けられた情報を含む混合パラメータを含んでもよく、遷移領域はアルファブレンディングの対象である。これに加えて、ソースイメージの遷移領域は、ソースイメージの更新された境界領域のサブセットであってもよく、混合パラメータはカットオフ距離を含み、ソースイメージの更新された境界領域の境界からカットオフ距離内の点は、ソースイメージの遷移領域に属する。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域、ソースイメージによって埋められる出力イメージ内の領域を示すクリッピングパラメータを含んでもよい。ソースイメージに関連付けられたパラメータは、ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含む再投影パラメータを含んでもよく、ソースイメージの境界領域は、1つまたは複数のワーピング動作の予想される影響に基づいて更新され得る。ソースイメージの第1のソースイメージの更新された境界領域は、第1のソースイメージに関連付けられた層に先行する層があればそれに関連付けられたソースイメージの各第2のイメージについて、第1のソースイメージの更新された境界領域から第1のソースイメージの更新された境界領域と第2のソースイメージの更新された境界領域との間の交差部分を減算することによってさらに更新され得る。ソースイメージに関連付けられたパラメータは、ソースイメージの遷移領域に関連付けられた情報を含む混合パラメータを含んでもよく、遷移領域はアルファブレンディングの対象である。これに加えて、ソースイメージに関連付けられた混合パラメータは、ソースイメージの遷移領域に適用される透明度のレベルを含んでもよい。代替的または追加的に、ソースイメージの各々に対応するカスタマイズされた歪みメッシュを生成することは、ソースイメージの更新された境界領域に一致する歪みメッシュを生成することを含んでもよく、任意選択的に、ソースイメージの各々を修正することは、
関連付けられた再投影パラメータに基づいてソースイメージに対して1つまたは複数のワーピング動作を実行することと、
ワーピングされたソースイメージを対応するカスタマイズされた歪みメッシュ上にマッピングすることと、
ソースイメージの遷移領域に対してアルファブレンディングを実行することと、をさらに含んでもよい。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域を示すクリッピングパラメータを含んでもよく、ソースイメージによって埋められる出力イメージ内の領域およびソースイメージに関連付けられたパラメータは、再投影パラメータを含み、ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含んでもよい。これに加えて、1つまたは複数のワーピング動作は空間ワーピング動作を含んでもよく、再投影パラメータはソースイメージ内の動きベクトルを含む。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域を示すクリッピングパラメータを含んでもよく、ソースイメージによって埋められる出力イメージ内の領域およびソースイメージに関連付けられたパラメータは、再投影パラメータを含み、ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含んでもよい。これに加えて、1つまたは複数のワーピング動作はタイムワーピング動作を含み、再投影パラメータは頭部の位置を含む。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域、ソースイメージによって埋められる出力イメージ内の領域を示すクリッピングパラメータを含んでもよい。これに加えて、方法は、n個のイメージソースの各々に、パラメータ提案を含む合成結果を送信することをさらに含んでもよく、イメージソースは、パラメータ提案に基づいて次のフレームに対応するソースイメージに関連付けられたパラメータを調整する。
本発明による方法の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域、ソースイメージによって埋められる出力イメージ内の領域を示すクリッピングパラメータを含んでもよく、方法は、パラメータ提案を含む合成結果をn個のイメージソースの各々に送信することをさらに含んでもよく、イメージソースは、パラメータ提案に基づいて次のフレームに対応するソースイメージに関連付けられたパラメータを調整する。これに加えて、合成結果は、ソースイメージの境界領域がソースイメージのうちの他のソースイメージの境界領域によって完全に遮蔽されているか、部分的に遮蔽されているか、または全く遮蔽されていないかを示す結果コードを含んでもよく、任意選択的に、パラメータ提案は、結果コードに基づいて決定される新しい層提案をさらに含んでもよい。
本発明による方法の実施形態では、表示された合成イメージは、レンズシステムを介してユーザによって見られる可能性があり、ソースイメージの各々に対応するカスタマイズされた歪みメッシュは、レンズシステムによって引き起こされるレンズ歪みを補償するために使用される可能性がある。
一態様では、本発明は、上記の方法のいずれかを実行するときに、または、
n個のイメージソースの各々から、ソースイメージおよびソースイメージに関連付けられたパラメータを受信することであって、n個のイメージソースは、少なくとも2つのイメージソースを含む、受信することと、
ソースイメージに関連付けられたパラメータに基づいて、ソースイメージの各々を複数の層の範囲内の層に関連付けることであって、複数の層の範囲が、ソースイメージの合成層順序を指定する、関連付けることと、
ソースイメージ内の各特定のソースイメージについて、特定のソースイメージに関連付けられたパラメータ、および特定のソースイメージに関連付けられた層に先行する層があればそれに関連付けられたソースイメージの各々に関連付けられたパラメータの少なくとも一部に基づいて、対応するカスタマイズされた歪みメッシュを生成することと、
対応するカスタマイズされた歪みメッシュを使用してソースイメージの各々を修正することと、
修正されたソースイメージを使用して合成イメージを生成することと、
合成イメージをビデオ内のフレームとして表示することと、を実行するときに動作可能であるソフトウェアを具体化する、1つまたは複数のコンピュータ可読記憶媒体、好ましくは非一時的記憶媒体をさらに対象とする。
一態様において、本発明は、1つまたは複数のプロセッサと、プロセッサによって実行可能な命令を含むプロセッサに結合された非一時的メモリと、を備えるシステムを対象とし、プロセッサは、上記の方法のいずれかを実行するときに、または、
n個のイメージソースの各々から、ソースイメージおよびソースイメージに関連付けられたパラメータを受信することであって、n個のイメージソースは、少なくとも2つのイメージソースを含む、受信することと、
ソースイメージに関連付けられたパラメータに基づいて、ソースイメージの各々を複数の層の範囲内の層に関連付けることであって、複数の層の範囲は、ソースイメージの合成層順序を指定する、関連付けることと、
ソースイメージ内の各特定のソースイメージについて、特定のソースイメージに関連付けられたパラメータ、および特定のソースイメージに関連付けられた層に先行する層があればそれに関連付けられたソースイメージの各々に関連付けられたパラメータの少なくとも一部に基づいて、対応するカスタマイズされた歪みメッシュを生成することと、
対応するカスタマイズされた歪みメッシュを使用してソースイメージの各々を修正することと、
修正されたソースイメージを使用して合成イメージを生成することと、
合成イメージをビデオ内のフレームとして表示することと、を実行する命令を実行するときに動作可能である。
一態様では、本発明は、プログラムがコンピュータによって実行されるときに、コンピュータに上記の方法のいずれかを実行させる命令を含むコンピュータプログラムをさらに対象とする。
本明細書に記載の特定の実施形態は、複数のソースからのイメージに基づいてビデオストリームのフレームの合成イメージを生成するためのシステムおよび方法に関する。現代のメディアデバイスは、高解像度、低レイテンシのディスプレイを有することが予想される。しかしながら、メディアデバイス上のグラフィックス処理ユニット(GPU)は、ディスプレイのフレームレートで解像度を有するイメージをレンダリングするのに十分な計算能力を有していない可能性がある。計算能力とレンダリングされたイメージの所望の解像度との間のこのような不一致を緩和するために、コンピューティングデバイスは、画面の一部に優先順位を付け、画面の優先部分のみを高解像度でレンダリングする可能性がある。あるアプリケーションでは、コンピューティングデバイスは、インセット領域(たとえば、中心/中心窩領域)をフルフレームレートでレンダリングし、コンピューティングデバイスは、アウトセット領域(イメージの残りの領域)をハーフフレームレートでレンダリングする可能性がある。別のアプリケーションでは、コンピューティングデバイスは、低解像度でレンダリングされたイメージにアクセスする可能性がある。コンピューティングデバイスは、イメージの領域に計算集約的なアップスケーリングアルゴリズムを適用してもよく、コンピューティングデバイスは、イメージの残りの部分に安価なアルゴリズムを適用する可能性がある。さらに別のアプリケーションでは、コンピューティングデバイスは、イメージの一部に対して計算集約型色収差補正(CAC)を実行し得るが、コンピューティングデバイスは、イメージの残りの部分に対してCACを実行しない。
レンズシステムを介して見られるディスプレイ上のイメージは、「レンズ歪み」と呼ばれる歪みを受ける可能性がある。このレンズ歪みに対抗するために、「バレル歪み」と呼ばれる補完的な歪みを加える必要があり得る。合成器モジュールと呼ばれるコンピューティングデバイスの論理コンポーネントは、歪みメッシュを使用してバレル歪みを長方形イメージに加えるプロセスを処理する可能性がある。歪みメッシュ内の頂点の位置は、本質的に必要なバレル歪みを符号化する可能性がある。次いで、イメージを歪みメッシュにマッピングすることによって、歪みをイメージに加える可能性がある。本明細書に開示される本発明は、いくつかのイメージソースからのイメージの効率的なマッピングを可能にする可能性がある。本発明は、合成イメージ上のイメージソースの数からイメージ間の位置ずれおよび鮮明な遷移を排除する可能性がある。
コンピューティングデバイスの合成器モジュールは、n個のイメージソースの各々からソースイメージおよびソースイメージに関連付けられたパラメータを受信する可能性がある。n個のイメージソースは、少なくとも2つのイメージソースを含んでもよい。ソースイメージの各々に関連付けられたパラメータは、層パラメータ、クリッピングパラメータ、再投影パラメータ、または混合パラメータを含んでもよい。合成器モジュールは、ソースイメージの各々を、ソースイメージに関連付けられた層パラメータに基づいて複数の層の範囲内の層に関連付けてもよい。複数の層の範囲は、ソースイメージの合成層順序を指定する可能性がある。ソースイメージに関連付けられたクリッピングパラメータは、ソースイメージの境界領域を示し得る。ソースイメージの境界領域は、ソースイメージによって埋められる出力イメージ内の領域であってもよい。ソースイメージに関連付けられた再投影パラメータは、ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含んでもよい。特定の実施形態では、1つまたは複数のワーピング動作は、空間ワーピング動作を含んでもよい。再投影パラメータは、ソースイメージ内の動きベクトルを含んでもよい。特定の実施形態では、1つまたは複数のワーピング動作は、タイムワーピング動作を含んでもよい。再投影パラメータは、頭部の位置を含んでもよい。合成器モジュールは、1つまたは複数のワーピング動作の予想される影響に基づいて、ソースイメージの各々の境界領域を更新し得る。合成器モジュールは、ソースイメージのうちの第2のソースイメージの更新された境界領域に基づいて、ソースイメージの第1のソースイメージの更新された境界領域をさらに更新し得る。第2のソースイメージの各々は、第1のソースイメージに関連付けられた層に先行する層があればそれに関連付けられる。第2のソースイメージの各々について、合成器モジュールは、第1のソースイメージの更新された境界領域と第2のソースイメージの更新された境界領域との間の交差部分を減算する可能性がある。
合成器モジュールは、第1のソースイメージに関連付けられたパラメータおよび第2のソースイメージの各々に関連付けられたパラメータの少なくとも一部に基づいて、第1のソースイメージに対応するカスタマイズされた歪みメッシュを生成する可能性がある。合成器モジュールは、第1のソースイメージの更新された境界領域に一致する歪みメッシュを生成する可能性がある。第1のソースイメージの更新された境界領域は、第1のソースイメージに関連付けられたクリッピングパラメータおよび再投影パラメータと、第2のソースイメージの各々に関連付けられたクリッピングパラメータおよび再投影パラメータとに基づいて決定され得る。合成器モジュールは、対応するカスタマイズされた歪みメッシュを使用してソースイメージの各々を修正する可能性がある。ソースイメージを修正するために、合成器モジュールは、関連付けられた再投影パラメータに基づいてソースイメージに対して1つまたは複数のワーピング動作を実行する可能性がある。合成器モジュールは、ワーピングされたソースイメージを対応するカスタマイズされた歪みメッシュにマッピングする可能性がある。合成器モジュールは、ソースイメージのための遷移領域に対するアルファブレンディングを実行する可能性がある。ソースイメージに関連付けられた混合パラメータは、ソースイメージの遷移領域に関連付けられた情報を含んでもよい。遷移領域は、アルファブレンディングの対象であってもよい。ソースイメージの遷移領域は、ソースイメージの更新された境界領域のサブセットであってもよい。混合パラメータは、カットオフ距離を含む。ソースイメージの更新された境界領域の境界からカットオフ距離内の点は、ソースイメージの遷移領域に属する可能性がある。ソースイメージに関連付けられた混合パラメータは、ソースイメージの遷移領域に適用される透明度のレベルを含んでもよい。合成器モジュールは、透明度のレベルをソースイメージの遷移領域に適用する可能性がある。合成器モジュールは、修正されたソースイメージを使用して合成イメージを生成する可能性がある。合成器モジュールは、合成イメージをビデオ内のフレームとして表示する可能性がある。表示された合成イメージは、レンズシステムを介してユーザによって見られる可能性がある。ソースイメージの各々に対応するカスタマイズされた歪みメッシュは、レンズシステムによって引き起こされるレンズ歪みを補償するために使用され得る。合成器モジュールは、合成結果をn個のイメージソースの各々に送信する可能性がある。合成結果は、パラメータ提案を含んでもよい。合成結果は、ソースイメージの境界領域が他のソースイメージの境界領域によって完全に遮蔽されているか、部分的に遮蔽されているか、または全く遮蔽されていないかを示す結果コードを含んでもよい。パラメータ提案は、結果コードに基づいて決定される新しい層提案を含んでもよい。イメージソースは、パラメータ提案に基づいて、次のフレームに対応するソースイメージに関連付けられたパラメータを調整する可能性がある。
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、上記で開示された実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、任意の先行請求項に対する意図的な前方参照(特に、マルチ従属)の結果としての如何なる主題も、同様に請求可能であるため、請求項およびその特徴の任意の組合せが開示され、添付の特許請求の範囲において選定した従属にかかわらず請求可能である。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれも、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
例示的な人工現実システムを示す。 例示的な拡張現実システムを示す。 複数のイメージソースからイメージを合成するための例示的なシステムアーキテクチャを示す。 歪みメッシュを使用したイメージへのバレル歪みの例示的なアプリケーションを示す。 ソースイメージの例示的な境界領域を示す。 ソースイメージの例示的な更新された境界領域を示す。 ソースイメージに基づいて合成イメージを生成する例示的なプロセスを示す。 カットオフ距離によって画定された例示的な遷移領域を示す。 複数のソースイメージに基づいて合成イメージを生成するための例示的な方法を示す。 例示的なコンピュータシステムを示す。
図1Aは、例示的な人工現実システム100Aを示す。特定の実施形態では、人工現実システム100Aは、ヘッドセット104と、コントローラ106と、コンピューティングデバイス108とを備えてもよい。ユーザ102は、視覚的人工現実コンテンツをユーザ102に表示する可能性があるヘッドセット104を装着する可能性がある。ヘッドセット104は、オーディオ人工現実コンテンツをユーザ102に提供する可能性があるオーディオ機器を含んでもよい。ヘッドセット104は、環境のイメージおよびビデオを取り込み可能な1つまたは複数のカメラを具備していてもよい。ヘッドセット104は、ユーザ102の輻輳距離を決定する視線追跡システムを具備していてもよい。ヘッドセット104は、ユーザ102からの音声入力を取り込むためのマイクロフォンを含んでもよい。ヘッドセット104は、ヘッドマウントディスプレイ(HMD)と呼んでもよい。コントローラ106は、トラックパッドならびに1つもしくは複数のボタンを備えていてもよい。コントローラ106は、ユーザ102からの入力を受信し、入力をコンピューティングデバイス108に中継する可能性がある。また、コントローラ106は、触覚フィードバックをユーザ102に与えるようにしてもよい。コンピューティングデバイス108は、ケーブルまたはワイヤレス接続を介してヘッドセット104およびコントローラ106に接続する可能性がある。コンピューティングデバイス108は、ヘッドセット104およびコントローラ106を制御して、人工現実コンテンツをユーザ102に提供し、ユーザから入力を受信する可能性がある。コンピューティングデバイス108は、スタンドアロンのホストコンピューティングデバイス、ヘッドセット104と統合されたオンボードコンピューティングデバイス、モバイルデバイス、または人工現実コンテンツをユーザ102に提供し、ユーザからの入力を受信する可能性がある任意の他のハードウェアプラットフォームであってもよい。
図1Bは、例示的な拡張現実システム100Bを示す。拡張現実システム100Bは、フレーム112と、1つまたは複数のディスプレイ114と、コンピューティングデバイス108とを備えるヘッドマウントディスプレイ(HMD)110(たとえば、眼鏡)を含んでもよい。ディスプレイ114は、HMD110を装着したユーザが当該ディスプレイ114を通して現実世界を見られるようにすると同時に、視覚的な人工現実感コンテンツをユーザに表示できるように、透明であってもよいし、半透明であってもよい。HMD110は、オーディオ人工現実感コンテンツをユーザに提供し得るオーディオ機器を具備していてもよい。HMD110は、環境のイメージおよびビデオを取り込み可能な1つまたは複数のカメラを具備していてもよい。HMD110は、当該HMD110を装着したユーザの輻輳運動を追跡する視線追跡システムを具備していてもよい。HMD 110は、ユーザからの音声入力を取り込むためのマイクロフォンを含んでもよい。拡張現実感システム100Bは、トラックパッドならびに1つもしくは複数のボタンを備えたコントローラをさらに具備していてもよい。コントローラは、ユーザからの入力を受信し、入力をコンピューティングデバイス108に中継する可能性がある。また、コントローラは、触覚フィードバックをユーザに与えるようにしてもよい。コンピューティングデバイス108は、ケーブルまたはワイヤレス接続を介してHMD 110およびコントローラに接続する可能性がある。コンピューティングデバイス108は、拡張現実コンテンツをユーザに提供し、ユーザからの入力を受信するようにHMD 110およびコントローラを制御する可能性がある。コンピューティングデバイス108は、スタンドアロンのホストコンピュータデバイス、HMD 110と統合されたオンボードコンピュータデバイス、モバイルデバイス、または人工現実コンテンツをユーザに提供し、ユーザからの入力を受信する可能性がある任意の他のハードウェアプラットフォームであってもよい。
特定の実施形態では、コンピューティングデバイス108の合成器モジュールは、複数のイメージソースからのイメージに基づいてビデオストリームのフレームの合成イメージを生成する可能性がある。人工現実システム100Aまたは拡張現実システム100Bは、高解像度、低レイテンシディスプレイを有することが予想され得る。しかしながら、コンピューティングデバイス108上のグラフィックス処理ユニット(GPU)は、ディスプレイのフレームレートで解像度を有するイメージをレンダリングするのに十分な計算能力を有していない可能性がある。計算能力とレンダリングされたイメージの所望の解像度との間のこのような不一致を緩和するために、コンピューティングデバイス108は、画面の一部に優先順位を付け、画面の優先部分のみを高解像度でレンダリングする可能性がある。コンピューティングデバイス108の合成器モジュールは、優先部分および他の部分を、ビデオストリームのフレームに対応する単一の出力イメージに合成する可能性がある。
図2は、複数のイメージソースからイメージを合成するための例示的なシステムアーキテクチャを示す。合成器モジュール210は、コンピューティングデバイス108の論理コンポーネントであってもよい。合成器モジュール210は、オーケストレーションコンポーネント211、歪みメッシュ生成コンポーネント213、ソースイメージ修正コンポーネント215、および合成イメージ生成コンポーネント217を含んでもよい。オーケストレーションコンポーネント211は、ソースイメージの各々を複数の層の範囲内の層に関連付けてもよい。オーケストレーションコンポーネント211はまた、ソースイメージに関連付けられたパラメータに基づいて、ソースイメージの各々について更新された境界領域を決定する可能性がある。歪みメッシュ生成コンポーネント213は、ソースイメージの各々に対応するカスタマイズされた歪みメッシュを生成する可能性がある。ソースイメージ修正コンポーネント215は、対応するカスタマイズされた歪みメッシュを使用してソースイメージの各々を修正する可能性がある。合成イメージ生成コンポーネント217は、修正されたソースイメージを使用して合成イメージを生成する可能性がある。合成器モジュール210は、複数のイメージソース220A、220B、および220Xと通信する可能性がある。ビデオストリームの各フレームについて、複数のイメージソース220A、220B、および220Xの各々は、ソースイメージおよびソースイメージに関連付けられたパラメータを提供する可能性がある。合成器モジュール210は、受信したソースイメージを処理することによってビデオストリームのフレームに対応する出力イメージを合成した後、合成結果を複数のイメージソース220A、220B、および220Xの各々に送信する可能性がある。特定の実施形態では、合成結果は、次のフレームのソースイメージに関連付けられたパラメータを調整するときにイメージソースによって考慮され得る1つまたは複数の提案を含んでもよい。特定の実施形態では、複数のイメージソース220A、220B、および220Xは、コンピューティングデバイス108の構成要素であってもよい。特定の実施形態では、複数のイメージソース220A、220B、および220Xの少なくとも一部は、コンピューティングデバイス108の外部のエンティティであってもよい。本開示は、複数のイメージソースからイメージを合成するための特定のシステムアーキテクチャを記載しているが、本開示は、複数のイメージソースからイメージを合成するための任意の適切なシステムアーキテクチャを企図している。
特定の実施形態では、複数のイメージソースからの複数のイメージを使用して合成イメージを生成することは、時間的フォービエイテッドレンダリングに使用する可能性がある。コンピューティングデバイス108は、ビデオシーケンスのすべてのフレームのインセット領域(たとえば、中心/中心窩領域)をレンダリングする可能性がある。コンピューティングデバイス108は、フレームの半分のアウトセット領域(イメージの残りの領域)をレンダリングし、フレームの残りの半分で前のフレームのためにレンダリングされたアウトセット領域を使用する可能性がある。
特定の実施形態では、複数のイメージソースからの複数のイメージを使用して合成イメージを生成することは、超解像ソリューションに使用され得る。コンピューティングデバイス108は、低解像度でレンダリングされたイメージにアクセスする可能性がある。コンピューティングデバイス108は、計算集約的な機械学習ベースのアップスケーリングアルゴリズムをイメージの領域に適用してもよく、コンピューティングデバイス108は、より安価なアルゴリズムをイメージの残りの部分に適用する可能性がある。
特定の実施形態では、複数のイメージソースからの複数のイメージを使用して合成イメージを生成することは、伝送エラーを回復するために使用され得る。コンピューティングデバイス108は、サーバなどの第2のコンピューティングデバイスから複数のデータユニットに分割されたイメージを受信する可能性がある。複数のデータユニットのうちの1つまたは複数が欠落している場合、コンピューティングデバイス108は、欠落したデータユニットに対応する前のフレームの1つまたは複数の部分を現在のフレームに再投影する可能性がある。
特定の実施形態では、合成器210は、レンズ歪みに対抗するために歪みメッシュを使用してバレル歪みをイメージに適用する可能性がある。レンズシステムを介して見られるディスプレイ上のイメージは、レンズ歪みを受ける可能性がある。歪みメッシュ内の頂点の位置は、本質的に必要なバレル歪みを符号化する可能性がある。合成器210は、イメージにバレル歪みを加えるために、イメージを歪みメッシュにマッピングする可能性がある。図3は、歪みメッシュを使用したイメージへのバレル歪みの例示的なアプリケーションを示す。限定ではなく、例として、図3に示すように、アプリケーションは、図3の(a)に示すようにHMD 104に表示されるイメージを生成する。HMD 104のディスプレイはレンズシステムを介してユーザによって見られるため、レンズ歪みに対抗するためにバレル歪みをイメージに加える必要があり得る。合成器モジュール210は、図3の(b)に示すような歪みメッシュを準備する可能性がある。合成器モジュール210は、イメージを歪みメッシュ上にマッピングすることによってバレル歪みをイメージに適用する可能性がある。コンピューティングデバイス108は、図3の(c)に示すように、歪んだイメージをHMD 104に表示する可能性がある。特定の実施形態では、イメージが表示される前に、イメージに対して1つまたは複数のワーピング動作を実行し得る。
特定の実施形態では、コンピューティングデバイスの合成器モジュール210は、n個のイメージソースの各々からソースイメージおよびソースイメージに関連付けられたパラメータを受信する可能性がある。n個のイメージソースは、少なくとも2つのイメージソースを含んでもよい。ソースイメージに関連付けられたパラメータは、層パラメータ、クリッピングパラメータ、再投影パラメータ、または混合パラメータを含んでもよい。特定の実施形態では、n個のイメージソースの各々は、適用可能なパラメータのみを関連付けられたソースイメージに送信する可能性がある。特定の実施形態では、n個のイメージソースは、合成器モジュール210が属するコンピューティングデバイス108の一部であってもよい。特定の実施形態では、n個のイメージソースの少なくとも一部は、合成器モジュール210が属するコンピューティングデバイス108の外部の構成要素であってもよい。本開示は、特定の方法でソースイメージおよびソースイメージに関連付けられたパラメータを受信することについて説明しているが、本開示は、任意の適切な方法でソースイメージおよびソースイメージに関連付けられたパラメータを企図している。
特定の実施形態では、ソースイメージの各々に関連付けられたパラメータは、層パラメータを含んでもよい。合成器モジュール210のオーケストレーションコンポーネント211は、ソースイメージに関連付けられた層パラメータに基づいて、ソースイメージの各々を複数の層の範囲内の層に関連付けてもよい。複数の層の範囲は、ソースイメージの合成層順序を指定する可能性がある。限定ではなく、例として、合成器モジュール210のオーケストレーションコンポーネント211は、n個のイメージソースからn個のソースイメージの各々に範囲[0,n-1]内の層を割り当て得る。jがiよりも大きい数である場合、層iのソースイメージは、層jのソースイメージよりも高い優先度を有する可能性がある。特定の実施形態では、合成器モジュール210のオーケストレーションコンポーネント211は、ソースイメージに割り当てられた層がソースイメージの積層順序を指定する可能性があるように、n個のソースイメージの各々に任意の範囲の層を割り当て得る。本開示は、特定の方法で層をソースイメージの各々に関連付けることを記載しているが、本開示は、任意の適切な方法で層をソースイメージの各々に関連付けることを企図している。
特定の実施形態では、ソースイメージの各々に関連付けられたパラメータは、ソースイメージの境界領域を示すクリッピングパラメータを含んでもよい。ソースイメージの境界領域は、ソースイメージによって埋められる出力イメージ内の領域であってもよい。合成器モジュール210のオーケストレーションコンポーネント211は、ソースイメージに関連付けられたクリッピングパラメータに基づいて、ソースイメージの境界領域を特定する可能性がある。特定の実施形態では、複数の層の範囲内の最後の層に関連付けられたソースイメージに関連付けられたクリッピングパラメータは、出力イメージの全領域がソースイメージの境界領域であることを示し得る。特定の実施形態では、イメージソースは、イメージソースがソースイメージを合成器モジュール210に送信するときに、クリッピングパラメータを合成器モジュール210に提供しなくてもよい。そのような場合、合成器モジュール210は、出力イメージの全領域がソースイメージの境界領域であると考慮され得る。図4Aは、ソースイメージの例示的な境界領域を示す。限定ではなく、例として、図4Aに示されているように、合成器モジュール210は、2つのソースイメージ、すなわち、ソースイメージ410およびソースイメージ420を受信する。合成器モジュール210のオーケストレーションコンポーネント211は、それらの関連付けられた層パラメータに基づいて、層0をソースイメージ410に割り当て、層1をソースイメージ420に割り当て得る。ソースイメージ410に関連付けられたクリッピングパラメータは、領域412がソースイメージ410の境界領域であることを示し得る。ソースイメージ420に関連付けられたクリッピングパラメータは、イメージの全領域である領域422がソースイメージ420の境界領域であることを示し得る。特定の実施形態では、ソースイメージ420に関連付けられたイメージソースは、クリッピングパラメータを合成器モジュール210に提供しなくてもよい。合成器モジュール210のオーケストレーションコンポーネント211は、イメージの全領域がソースイメージ420の境界領域422であると決定する可能性がある。本開示は、特定の方法でソースイメージの境界領域を特定することについて説明しているが、本開示は、任意の適切な方法でソースイメージの境界領域を特定することを企図している。
特定の実施形態では、ソースイメージに関連付けられたパラメータは、再投影パラメータを含んでもよい。ソースイメージに関連付けられた再投影パラメータは、ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含んでもよい。特定の実施形態では、1つまたは複数のワーピング動作は、空間ワーピング動作を含んでもよい。空間ワーピング動作は、イメージがレンダリングされる時間インスタンスとイメージが表示される時間インスタンスとの間の期間中にイメージ内の物体の動きを補償する可能性がある。再投影パラメータは、ソースイメージ内の動きベクトルを含んでもよい。合成器モジュール210は、ソースイメージの境界領域に対して空間ワーピング動作を実行する必要があるときに、イメージソースから空間ワーピング動作に関連付けられた再投影パラメータを受信する可能性がある。動きベクトルは、前のフレームに対応するイメージに基づいて決定する可能性がある。特定の実施形態では、動きベクトルを決定することは、オプティカルフローに基づいてもよい。空間ワーピング動作を実行するために、合成器モジュール210は、再投影パラメータ内の動きベクトルを使用して、境界領域内で動いている物体が再配置されるように、ソースイメージの境界領域を歪め得る。本開示は、空間ワーピング動作に関連付けられた再投影パラメータを特定の方法で受信することについて説明しているが、本開示は、空間ワーピング動作に関連付けられた再投影パラメータを任意の適切な方法で受信することを企図している。
特定の実施形態では、1つまたは複数のワーピング動作は、タイムワーピング動作を含んでもよい。ユーザは、イメージがレンダリングされる時間インスタンスとイメージがユーザに表示される時間インスタンスとの間の期間中に頭部を動かす可能性がある。このような頭部の動きを補償することができないと、没入感を損なう可能性がある。ユーザの頭部の位置の変化を補償するために、観察された頭部の位置の変化に基づいてタイムワーピングパラメータを計算する可能性がある。合成器モジュール210がソースイメージの境界領域に対してタイムワーピング動作を実行するとき、合成器モジュール210は、頭部の位置の変化を調整するためにソースイメージの境界領域をシフトする可能性がある。再投影パラメータは、頭部の位置を含んでもよい。合成器モジュール210は、ソースイメージの境界領域に対してタイムワーピング動作を実行する必要があるときに、タイムワーピング動作に関連付けられた再投影パラメータをイメージソースから受信する可能性がある。本開示は、特定の方法でタイムワーピング動作に関連付けられた再投影パラメータを受信することを説明しているが、本開示は、任意の適切な方法でタイムワーピング動作に関連付けられた再投影パラメータを受信することを企図している。
特定の実施形態では、合成器モジュール210のオーケストレーションコンポーネント211は、ソースイメージの各々のための境界領域を、1つまたは複数のワーピング動作の予想される影響に基づいて更新することによって、ソースイメージの各々のための第1の更新された境界領域を決定する可能性がある。特定の実施形態では、合成器モジュール210のオーケストレーションコンポーネント211は、ソースイメージのうちの第2のソースイメージの第1の更新された境界領域に基づいて、ソースイメージの第1のソースイメージの第2の更新された境界領域を決定する可能性がある。第2のソースイメージの各々は、第1のソースイメージに関連付けられた層に先行する層があればそれに関連付けられる。第2のソースイメージの各々について、合成器モジュール210のオーケストレーションコンポーネント211は、第1のソースイメージの第2更新された境界領域から、第1のソースイメージの第2の更新された境界領域と第2のソースイメージの第1の更新された境界領域との交差部分を減算してもよい。特定の実施形態では、合成器モジュール210のオーケストレーションコンポーネント211は、第1のソースイメージの第2の更新された境界領域から、第1のソースイメージの第2の更新された境界領域と第2のソースイメージの各々の第2の更新された境界領域との間の交差部分を減算する可能性がある。以下は、ソースイメージの境界領域を更新するための擬似コードであり、ここで、ba[i]は、層iのソースイメージの境界領域であり、fba[i]は、層iのソースイメージの第1の更新された境界領域であり、sba[i]は、層iのソースイメージの第2の更新された境界領域であり、rp_param[i]は、層iのソースイメージに関連付けられた再投影パラメータであり、fn_update_ba_based_on_re_param(ba,rp_param)は、再投影パラメータに基づいて境界領域を更新する関数であり、ba、rp_paramに基づいて、fn_intersection(a,b)は、領域aとbとの交差部分を計算する関数であり、
範囲(0,n-1)のiについて、
fba[i]=fn_update_ba_based_on_re_param(ba[i],rp_param[i])であり、
範囲(0,n-1)のiについて、
sba[i]=fba[i]であり、
範囲(0,i-1)のjについて、
sba[i]=sba[i]-fn_intersection(sba[i],fba[j])である。
本開示の残りの部分では、更新された境界領域は、第2の更新された境界領域を指してもよい。図4Bは、ソースイメージの例示的な更新された境界領域を示す。限定ではなく、例として、図4Aに示す前の例を続けると、図4Bに示すように、ソースイメージ410に関連付けられた投影パラメータは、タイムワーピング動作に関連付けられたパラメータを含んでもよい。合成器モジュール210のオーケストレーションコンポーネント211は、タイムワーピング動作の予想される影響に基づいて、ソースイメージ410の第1の更新された境界領域414を決定する可能性がある。ソースイメージ410は層0に関連付けられているので、ソースイメージ410の第2の更新された境界領域は、ソースイメージ410の第1の更新された境界領域414と同一であり得る。ソースイメージ420に関連付けられた投影パラメータは、空間ワーピング動作に関連付けられたパラメータを含んでもよい。合成器モジュール210のオーケストレーションコンポーネント211は、空間ワーピング動作の予想される影響に基づいて、ソースイメージ420の第1の更新された境界領域を決定する可能性がある。合成器モジュール210のオーケストレーションコンポーネント211は、ソースイメージ420の第1の更新された境界領域を、ソースイメージ420の第2の更新された境界領域の初期値として設定する可能性がある。次に、合成器モジュール210のオーケストレーションコンポーネント211は、ソースイメージ420の第2の更新された境界領域からソースイメージ410の更新された境界領域424を減算することによって、ソースイメージ420の第2の更新された境界領域414を決定する可能性がある。ソースイメージ410の更新された境界領域414は、第2のイメージ420の第1の更新された境界領域のサブセットであるため、第2のイメージ420の第1の更新された境界領域とソースイメージ410の更新された境界領域414との間の交差部分は、ソースイメージ410の更新された境界領域414となる。本開示は、特定の方法で再投影パラメータに基づいてソースイメージの境界領域を更新することについて説明しているが、本開示は、任意の適切な方法で再投影パラメータに基づいてソースイメージの境界領域を更新することを企図している。
特定の実施形態では、合成器モジュール210の歪みメッシュ生成コンポーネント213は、第1のソースイメージに関連付けられたパラメータおよび第2のソースイメージの各々に関連付けられたパラメータの少なくとも一部に基づいて、第1のソースイメージに対応するカスタマイズされた歪みメッシュを生成してもよく、第2のソースイメージの各々は、第1のソースイメージに関連付けられた層に先行する層に関連付けられる。合成器モジュール210の歪みメッシュ生成コンポーネント213は、第1のソースイメージの第2の更新された境界領域に一致するカスタマイズされた歪みメッシュを生成してもよい。特定の実施形態では、合成器モジュール210の歪みメッシュ生成コンポーネント213は、カスタマイズされた歪みメッシュを第1のソースイメージの第2の更新された境界領域に一致させるために、出力イメージ全体の歪みメッシュをクリッピングすることによって、カスタマイズされた歪みメッシュを生成する可能性がある。第1のソースイメージの第1の更新された境界領域は、第1のソースイメージに関連付けられたクリッピングパラメータおよび再投影パラメータに基づいて決定され得る。第1のソースイメージの第2の更新された境界領域は、第1のソースイメージの第1の更新された境界領域および第2のソースイメージの各々の第1の更新された境界領域に基づいて決定され得る。第2のソースイメージの第1の更新された境界領域は、第2のソースイメージに関連付けられたクリッピングパラメータおよび再投影パラメータに基づいて決定され得る。したがって、第1のソースイメージに対応するカスタマイズされた歪みメッシュは、第1のソースイメージに関連付けられたパラメータおよび第2のソースイメージの各々に関連付けられたパラメータに基づいて生成され得る。図5は、ソースイメージに基づいて合成イメージを生成する例示的なプロセスを示す。限定ではなく、例として、図5に示されるように、合成器モジュール210のオーケストレーションコンポーネント211は、ソースイメージ510および520の更新された境界領域を既に決定している。歪みメッシュ生成コンポーネント213は、カスタマイズされた歪みメッシュ515をソースイメージ510の更新された境界領域に一致させるために歪みメッシュ505全体をクリッピングすることによって、ソースイメージ510の更新された境界領域に一致するカスタマイズされた歪みメッシュ515を生成する可能性がある。歪みメッシュ生成コンポーネント213は、カスタマイズされた歪みメッシュ525をソースイメージ520の更新された境界領域に一致させるために歪みメッシュ505全体をクリッピングすることによって、ソースイメージ520の更新された境界領域に一致するカスタマイズされた歪みメッシュ525を生成する可能性がある。本開示は、特定の方法でソースイメージの更新された境界領域に一致するカスタマイズされた歪みメッシュを生成することについて説明しているが、本開示は、任意の適切な方法でソースイメージの更新された境界領域に一致するカスタマイズされた歪みメッシュを生成することを企図している。
特定の実施形態では、合成器モジュール210のソースイメージ修正コンポーネント215は、対応するカスタマイズされた歪みメッシュを使用してソースイメージの各々を修正する可能性がある。合成器モジュール210のソースイメージ修正コンポーネント215は、ソースイメージに関連付けられた再投影パラメータが対応するイメージソースから提供される場合、関連付けられた再投影パラメータに基づいてソースイメージに対して1つまたは複数のワーピング動作を実行する可能性がある。合成器モジュール210のソースイメージ修正コンポーネント215は、ワーピングされたソースイメージを対応するカスタマイズされた歪みメッシュにマッピングする可能性がある。合成器モジュール210のソースイメージ修正コンポーネント215は、ソースイメージに関連付けられる混合パラメータが対応するイメージソースから提供される場合、ソースイメージのための遷移領域へのアルファブレンディングを実行してもよい。特定の実施形態では、合成器モジュール210のソースイメージ修正コンポーネント215は、ソースイメージに対して1つまたは複数のワーピング動作を実行し、ソースイメージを対応するカスタマイズされた歪みメッシュ上にマッピングし、同時にソースイメージの遷移領域に対するアルファブレンディングを実行する可能性がある。特定の実施形態では、合成器モジュール210のソースイメージ修正コンポーネント215は、任意の適切な順序でソースイメージに対して3つの動作を実行する可能性がある。本開示は、特定の方法で対応するカスタマイズされた歪みメッシュを使用してソースイメージを修正することを説明しているが、本開示は、任意の適切な方法で対応するカスタマイズされた歪みメッシュを使用してソースイメージを修正することを企図している。
特定の実施形態では、ソースイメージを修正するために、合成器モジュール210のソースイメージ修正コンポーネント215が、関連付けられた再投影パラメータに基づいてソースイメージに対して1つまたは複数のワーピング動作を実行する可能性がある。限定ではなく、例として、図4Bに示される以前の例を続けると、合成器モジュール210のソースイメージ修正コンポーネント215は、ソースイメージ410に対してタイムワーピング動作を実行する可能性がある。タイムワーピング動作の後、元の境界領域412上のイメージを更新された境界領域414にシフトする可能性がある。合成器モジュール210のソースイメージ修正コンポーネント215は、ソースイメージ420に対して空間ワーピング動作を実行する可能性がある。空間ワーピング動作は、ソースイメージ420の更新された境界領域424に対して実行されてもよい。本開示は、特定の方法でソースイメージに対して1つまたは複数のワーピング動作を実行することについて説明しているが、本開示は、任意の適切な方法でソースイメージに対して1つまたは複数のワーピング動作を実行することを企図している。
特定の実施形態では、合成器モジュール210のソースイメージ修正コンポーネント215は、ワーピングされたソースイメージを対応するカスタマイズされた歪みメッシュにマッピングする可能性がある。カスタマイズされた歪みメッシュは、ソースイメージの更新された境界領域と一致する可能性がある。限定ではなく、例として、図5に示す前の例を続けると、合成器モジュール210のソースイメージ修正コンポーネント215は、カスタマイズされた歪みメッシュ515上にワーピングされたソースイメージ510をマッピングする可能性がある。カスタマイズされた歪みメッシュ515はソースイメージ510の更新された境界領域と一致するように生成されたので、ソースイメージ510の更新された境界領域のみがカスタマイズされた歪みメッシュ515にマッピングされ得る。合成器モジュール210のソースイメージ修正コンポーネント215は、カスタマイズされた歪みメッシュ525上にワーピングされたソースイメージ520をマッピングする可能性がある。カスタマイズされた歪みメッシュ525はソースイメージ520の更新された境界領域と一致するように生成されたので、ソースイメージ520の更新された境界領域のみがカスタマイズされた歪みメッシュ525にマッピングされ得る。本開示は、特定の方法でソースイメージを対応するカスタマイズされた歪みメッシュにマッピングすることを説明しているが、本開示は、任意の適切な方法でソースイメージを対応するカスタマイズされた歪みメッシュにマッピングすることを企図している。
特定の実施形態では、合成器モジュール210のソースイメージ修正コンポーネント215は、ソースイメージの遷移領域に対するアルファブレンディングを実行する可能性がある。ソースイメージに関連付けられたパラメータは、混合パラメータを含んでもよい。ソースイメージに関連付けられた混合パラメータは、ソースイメージの遷移領域に関連付けられた情報を含んでもよい。遷移領域は、アルファブレンディングの対象であってもよい。ソースイメージの遷移領域は、ソースイメージの更新された境界領域のサブセットであってもよい。混合パラメータは、カットオフ距離を含む。ソースイメージの更新された境界領域の境界からカットオフ距離内の点は、ソースイメージの遷移領域に属する可能性がある。ソースイメージに関連付けられた混合パラメータは、ソースイメージの遷移領域に適用される透明度のレベルを含んでもよい。合成器モジュール210は、ソースイメージのための遷移領域に透明度のレベルを適用する可能性がある。図6は、カットオフ距離によって画定された例示的な遷移領域を示す。限定ではなく、例として、図6に示されるように、合成器モジュール210は、ソースイメージ610のための更新された境界領域620を決定している可能性がある。ソースイメージ610に関連付けられた混合パラメータは、カットオフ距離を含んでもよい。合成器モジュール210のソースイメージ修正コンポーネント215は、更新された境界領域620の境界からカットオフ距離内の領域を遷移領域630として決定する可能性がある。合成器モジュール210のソースイメージ修正コンポーネント215は、更新された境界領域の境界からの点631の短縮距離D1がカットオフ距離よりも短いため、混合パラメータ内で提供される透明度のレベルを点631に適用する可能性がある。合成器モジュール210のソースイメージ修正コンポーネント215は、更新された境界領域の境界からの点641の短縮距離D2がカットオフ距離よりも大きいため、点641に透明度のレベルを適用しない可能性がある。更新された境界領域620の境界からカットオフ距離を超える領域は、非遷移領域640と呼んでもよい。本開示は、特定の方法で混合パラメータに基づいてソースイメージの遷移領域に対してアルファブレンディングを実行することを記載しているが、本開示は、任意の適切な方法で混合パラメータに基づいてソースイメージの遷移領域に対してアルファブレンディングを実行することを企図している。
特定の実施形態では、合成器モジュール210の合成イメージ生成コンポーネント217は、修正されたソースイメージを使用して合成イメージを生成する可能性がある。特定の実施形態では、合成器モジュール210の合成イメージ生成コンポーネント217は、合成イメージを生成するために、歪みメッシュマッピングされたソースイメージを、対応する層によって決定された積層順序で合成する可能性がある。限定ではなく、例として、図5に示す前の例を続けると、合成器モジュール210の合成イメージ生成コンポーネント217は、カスタマイズされた歪みメッシュ515でマッピングされたソースイメージ510と、カスタマイズされた歪みメッシュ525でマッピングされたソースイメージ520とを合成して、合成イメージ530を生成する可能性がある。ソースイメージ510および520の各々に対して1つまたは複数のワーピング動作が実行されていてもよい。ソースイメージ510および520の各々の遷移領域に対してアルファブレンディング動作が実行されていてもよい。本開示は、特定の方法でソースイメージに基づいて合成イメージを生成することを説明しているが、本開示は、任意の適切な方法でソースイメージに基づいて合成イメージを生成することを企図している。
特定の実施形態では、合成器モジュール210は、合成イメージをビデオ内のフレームとして表示する可能性がある。表示された合成イメージは、レンズシステムを介してユーザによって見られる可能性がある。ソースイメージの各々に対応するカスタマイズされた歪みメッシュは、レンズシステムによって引き起こされるレンズ歪みを補償するために使用され得る。限定ではなく、例として、合成イメージは、HMD 104に表示されてもよい。ユーザ102は、レンズ歪みを引き起こすレンズシステムを通してイメージを見られる可能性がある。バレル歪み合成イメージは、レンズ歪みを補償する可能性がある。本開示は、特定の方法で合成イメージを表示することについて説明しているが、本開示は、任意の適切な方法で合成イメージを表示することを企図している。
特定の実施形態では、合成器モジュール210は、合成結果をn個のイメージソースの各々に送信する可能性がある。合成結果は、パラメータ提案を含んでもよい。合成結果は、ソースイメージの境界領域が他のソースイメージの境界領域によって完全に遮蔽されているか、部分的に遮蔽されているか、または全く遮蔽されていないかを示す結果コードを含んでもよい。パラメータ提案は、結果コードに基づいて決定される新しい層提案を含んでもよい。イメージソースは、パラメータ提案に基づいて、次のフレームに対応するソースイメージに関連付けられたパラメータを調整する可能性がある。限定ではなく、例として、図2に示すように、合成器モジュール210は、合成結果をイメージソース220A、220B、および220Xの各々に送信する可能性がある。合成結果は、成功、部分的に成功、または失敗を示す結果コードを含んでもよい。結果コードの値は、対応するソースイメージの更新された境界領域が他のソースイメージによってどれだけ遮蔽されているかに基づいて決定され得る。特定の実施形態では、合成器モジュール210は、イメージソースに1つまたは複数のパラメータ提案を提供してもよい。イメージソースは、合成器モジュール210からのパラメータ提案に基づいて、将来のフレームに対応するイメージのパラメータを調整する可能性がある。本開示は、特定の方法でイメージソースの各々に合成結果を提供することを記載しているが、本開示は、任意の適切な方法でイメージソースの各々に合成結果を提供することを企図している。
図7は、複数のソースイメージに基づいて合成イメージを生成するための例示的な方法700を示す。本方法は、ステップ710で開始する可能性があり、合成器モジュール210は、n個のイメージソースの各々からソースイメージおよびソースイメージに関連付けられたパラメータを受信する可能性がある。n個のイメージソースは、少なくとも2つのイメージソースを含んでもよい。ステップ720において、合成器モジュール210は、ソースイメージの各々を、ソースイメージに関連付けられたパラメータに基づいて複数の層の範囲内の層に関連付けてもよい。複数の層の範囲は、ソースイメージの合成層順序を指定する可能性がある。ステップ730において、合成器モジュール210は、特定のソースイメージに関連付けられたパラメータと、特定のソースイメージに関連付けられた層に先行する層があればそれに関連付けられたソースイメージの各々に関連付けられたパラメータの少なくとも一部とに基づいて、ソースイメージ内の各特定のソースイメージについて対応するカスタマイズされた歪みメッシュを生成する可能性がある。ステップ740において、合成器モジュール210は、対応するカスタマイズされた歪みメッシュを使用してソースイメージの各々を修正する可能性がある。ステップ750において、合成器モジュール210は、修正されたソースイメージを使用して合成イメージを生成する可能性がある。ステップ760において、合成器モジュール210は、合成イメージをビデオ内のフレームとして表示する可能性がある。特定の実施形態は、適切な場合、図7の方法の1つまたは複数のステップを繰り返してもよい。本開示は、図7の方法の特定のステップを特定の順序で発生するものとして説明および図示しているが、本開示は、任意の適切な順序で発生する図7の方法の任意の適切なステップを企図している。その上、本開示は、図7の方法の特定のステップを含む複数のソースイメージに基づいて合成イメージを生成するための例示的な方法を説明および図示しているが、本開示は、適切な場合、図7の方法のステップのすべて、一部を含んでもよい、またはいずれも含まない任意の適切なステップを含む複数のソースイメージに基づいて合成イメージを生成するための任意の適切な方法を企図している。さらに、本開示は、図7の方法の特定のステップを実行する特定の構成要素、デバイス、またはシステムを説明および図示しているが、本開示は、図7の方法の任意の適切なステップを実行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せを企図している。
システムおよび方法
図8は、例示的なコンピュータシステム800を示す。特定の実施形態では、1つまたは複数のコンピュータシステム800は、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数のステップを実行する。特定の実施形態では、1つまたは複数のコンピュータシステム800は、本明細書で説明または図示される機能を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム800上で実行されるソフトウェアは、本明細書に記載または図示される1つまたは複数の方法の1つまたは複数のステップを実行するか、または本明細書に記載または図示される機能を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム800の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
本開示は、任意の適切な数のコンピュータシステム800を企図している。本開示は、任意の適切な物理的形態をとるコンピュータシステム800を企図している。限定ではなく、例として、コンピュータシステム800は、組み込みコンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)など)、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、またはこれらのうちの2つまたはそれ以上の組合せとする可能性がある。適切な場合、コンピュータシステム800は、単一または分散されている、複数の場所にまたがる、複数の機械にまたがる、複数のデータセンタにまたがる、または、1つまたは複数のネットワーク内の1つまたは複数のクラウドコンポーネントを含んでもよいクラウド内に存在する、1つまたは複数のコンピュータシステム800を含んでもよい。適切な場合、1つまたは複数のコンピュータシステム800は、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数のステップを実質的な空間的または時間的制限なしに実行する可能性がある。限定ではなく、例として、1つまたは複数のコンピュータシステム800は、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数のステップをリアルタイムまたはバッチモードで実行する可能性がある。1つまたは複数のコンピュータシステム800は、適切な場合、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数のステップを異なる時間または異なる場所で実行する可能性がある。
特定の実施形態では、コンピュータシステム800は、プロセッサ802、メモリ804、ストレージ806、入力/出力(I/O)インターフェース808、通信インターフェース810、およびバス812を含む。本開示は、特定の配置において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な配置において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
特定の実施形態では、プロセッサ802は、コンピュータプログラムを構成するものなどの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ802は、内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806から命令を取り出し(またはフェッチ)、復号して実行し、次いで、内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806に1つまたは複数の結果を書き込んでもよい。特定の実施形態では、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含んでもよい。本開示は、適切な場合、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ802を企図している。限定ではなく、例として、プロセッサ802は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数のトランスレーションルックアサイドバッファー(TLB)を含んでもよい。命令キャッシュ内の命令は、メモリ804またはストレージ806内の命令のコピーであってもよく、命令キャッシュは、プロセッサ802によるそれらの命令の取り出しを高速化する可能性がある。データキャッシュ内のデータは、プロセッサ802において実行して動作する命令のためのメモリ804またはストレージ806内のデータのコピー、プロセッサ802で実行される後続の命令によるアクセスのため、またはメモリ804もしくはストレージ806への書き込みのためにプロセッサ802で実行される先行する命令の結果、または他の適切なデータであってもよい。データキャッシュは、プロセッサ802による読み出し動作または書き込み動作を高速化し得る。TLBは、プロセッサ802の仮想アドレス変換を高速化する可能性がある。特定の実施形態では、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含んでもよい。本開示は、適切な場合、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ802を企図している。適切な場合、プロセッサ802は、1つまたは複数の算術論理ユニット(ALU)を含んでもよく、マルチコアプロセッサであってもよく、または、1つまたは複数のプロセッサ802を含んでもよい。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ804は、プロセッサ802が実行するための命令またはプロセッサ802が動作するためのデータを格納するためのメインメモリを含む。限定ではなく、例として、コンピュータシステム800は、ストレージ806または別のソース(たとえば、別のコンピュータシステム800など)からメモリ804に命令をロードし得る。次いで、プロセッサ802は、メモリ804から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ802は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号し得る。命令の実行中または実行後に、プロセッサ802は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。次いで、プロセッサ802は、それらの結果のうちの1つまたは複数をメモリ804に書き込み得る。特定の実施形態では、プロセッサ802は、(ストレージ806または他の場所とは対照的に)1つまたは複数の内部レジスタもしくは内部キャッシュまたはメモリ804内の命令のみを実行し、(ストレージ806または他の場所とは対照的に)1つまたは複数の内部レジスタもしくは内部キャッシュまたはメモリ804内のデータのみに対して動作する。(各々がアドレスバスおよびデータバスを含んでもよい)1つまたは複数のメモリバスは、プロセッサ802をメモリ804に結合し得る。バス812は、後述するように、1つまたは複数のメモリバスを含んでもよい。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ802とメモリ804との間に存在し、プロセッサ802によって要求されるメモリ804へのアクセスを容易にする。特定の実施形態では、メモリ804は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ804は、適切な場合、1つまたは複数のメモリ804を含んでもよい。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
特定の実施形態では、ストレージ806は、データまたは命令のための大容量ストレージを含む。限定ではなく、例として、ストレージ806は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの2つまたはそれ以上の組合せを含んでもよい。ストレージ806は、適切な場合、取り外し可能または取り外し不可能な(すなわち固定された)媒体を含んでもよい。ストレージ806は、適切な場合、コンピュータシステム800の内部または外部にあってもよい。特定の実施形態では、ストレージ806は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ806は、読み出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の適切な物理的形態をとる大容量ストレージ806を企図している。ストレージ806は、適切な場合、プロセッサ802とストレージ806との間の通信を容易にする1つまたは複数の記憶制御ユニットを含んでもよい。適切な場合、ストレージ806は、1つまたは複数のストレージ806を含んでもよい。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース808は、コンピュータシステム800と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム800は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含んでもよい。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム800との間の通信を可能にする可能性がある。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサーを含み得る。本開示は、任意の適切なI/Oデバイスおよびそれらのための任意の適切なI/Oインターフェース808を企図している。適切な場合、I/Oインターフェース808は、プロセッサ802がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含んでもよい。I/Oインターフェース808は、適切な場合、1つまたは複数のI/Oインターフェース808を含んでもよい。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース810は、コンピュータシステム800と、1つまたは複数の他のコンピュータシステム800または1つまたは複数のネットワークとの間の通信(たとえば、パケットベースの通信など)のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インターフェース810は、イーサネット(登録商標)もしくは他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタ、またはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)もしくはワイヤレスアダプタを含んでもよい。本開示は、任意の適切なネットワークおよびそのための任意の適切な通信インターフェース810を企図している。限定ではなく、例として、コンピュータシステム800は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、またはこれらのうちの2つまたはそれ以上の組合せと通信する可能性がある。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム800は、ワイヤレスPAN(WPAN)(たとえばBLUETOOTH WPANなど)、WI-FIネットワーク、WI-MAXネットワーク、携帯電話ネットワーク(たとえば、グローバルシステムフォーモバイルコミュニケーションズ(GSM)ネットワーク)、またはその他の適切なワイヤレスネットワーク、またはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム800は、適切な場合、これらのネットワークのいずれかのための任意の適切な通信インターフェース810を含んでもよい。通信インターフェース810は、適切な場合、1つまたは複数の通信インターフェース810を含んでもよい。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス812は、コンピュータシステム800の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス812は、アクセラレーテッドグラフィクスポート(AGP)もしくは他のグラフィックスバス、エンハンストインダストリースタンダードアーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)相互接続、インダストリースタンダードアーキテクチャ(ISA)バス、インフィニバンド相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、ペリフェラルコンポーネント相互接続(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンスドテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクススタンダーズアソシエーションローカル(VLB)バス、または別の適切なバス、またはこれらのうちの2つまたはそれ以上の組合せを含んでもよい。バス812は、適切な場合、1つまたは複数のバス812を含んでもよい。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
その他
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、配置されるか、実施することが可能であるか、実施するように構成されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、配置されるか、可能であるか、構成されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。

Claims (20)

  1. コンピューティングデバイスの合成器モジュールによって、
    少なくとも2つのイメージソースを含むn個のイメージソースの各々から、ソースイメージおよび前記ソースイメージに関連付けられたパラメータを受信することと、
    前記ソースイメージに関連付けられた前記パラメータに基づいて、複数の層の範囲内の層に前記ソースイメージの各々を関連付けることであって、前記複数の層の範囲が、前記ソースイメージの合成層順序を指定する、前記ソースイメージの各々を関連付けることと、
    前記ソースイメージ内の各特定のソースイメージについて、前記特定のソースイメージに関連付けられた前記パラメータ、および前記特定のソースイメージに関連付けられた層に先行する層があればその層に関連付けられた前記ソースイメージの各々に関連付けられた前記パラメータの少なくとも一部に基づいて、対応するカスタマイズされた歪みメッシュを生成することと、
    前記対応するカスタマイズされた歪みメッシュを使用して前記ソースイメージの各々を修正することと、
    修正された前記ソースイメージを使用して合成イメージを生成することと、
    前記合成イメージをビデオ内のフレームとして表示することと、を含む方法。
  2. 前記ソースイメージの各々に関連付けられた前記パラメータが、層パラメータを含み、層が、前記ソースイメージに関連付けられた前記層パラメータに基づいて前記ソースイメージに関連付けられる、請求項1に記載の方法。
  3. 前記ソースイメージの各々に関連付けられた前記パラメータが、前記ソースイメージの境界領域、前記ソースイメージによって埋められる出力イメージ内の領域を示すクリッピングパラメータを含む、請求項1に記載の方法。
  4. 前記複数の層の範囲内の最後の層に関連付けられたソースイメージに関連付けられた前記クリッピングパラメータが、前記出力イメージの全領域が前記ソースイメージの前記境界領域であることを示す、請求項3に記載の方法。
  5. 前記ソースイメージに関連付けられた前記パラメータが、前記ソースイメージに対して実行される1つまたは複数のワーピング動作に関連付けられた情報を含む再投影パラメータを含む、請求項3に記載の方法。
  6. 前記ソースイメージの前記境界領域が、前記1つまたは複数のワーピング動作の予想される影響に基づいて更新される、請求項5に記載の方法。
  7. 前記ソースイメージの第1のソースイメージの更新された境界領域が、前記第1のソースイメージに関連付けられた層に先行する層があればその層に関連付けられた前記ソースイメージの各第2のイメージについて、前記第1のソースイメージの前記更新された境界領域から前記第1のソースイメージの前記更新された境界領域と前記第2のソースイメージの更新された境界領域との間の交差部分を減算することによってさらに更新される、請求項6に記載の方法。
  8. 前記ソースイメージに関連付けられた前記パラメータが、前記ソースイメージの遷移領域に関連付けられた情報を含む混合パラメータを含み、前記遷移領域が、アルファブレンディングの対象である、請求項7に記載の方法。
  9. 前記ソースイメージの前記遷移領域が、前記ソースイメージの前記更新された境界領域のサブセットであり、前記混合パラメータが、カットオフ距離を含み、前記ソースイメージの前記更新された境界領域の境界から前記カットオフ距離内の点が、前記ソースイメージの前記遷移領域に属する、請求項8に記載の方法。
  10. 前記ソースイメージに関連付けられた前記混合パラメータが、前記ソースイメージの前記遷移領域に適用される透明度のレベルを含む、請求項8に記載の方法。
  11. 前記ソースイメージの各々に対応する前記カスタマイズされた歪みメッシュを生成することが、前記ソースイメージの前記更新された境界領域に一致する歪みメッシュを生成することを含む、請求項8に記載の方法。
  12. 前記ソースイメージの各々を修正することが、
    関連付けられた前記再投影パラメータに基づいて前記ソースイメージに対して前記1つまたは複数のワーピング動作を実行することと、
    ワーピングされた前記ソースイメージを前記対応するカスタマイズされた歪みメッシュ上にマッピングすることと、
    前記ソースイメージの前記遷移領域に対してアルファブレンディングを実行することと、を含む、請求項11に記載の方法。
  13. 前記1つまたは複数のワーピング動作が空間ワーピング動作を含み、前記再投影パラメータが前記ソースイメージ内の動きベクトルを含む、請求項5に記載の方法。
  14. 前記1つまたは複数のワーピング動作がタイムワーピング動作を含み、前記再投影パラメータが頭部の位置を含む、請求項5に記載の方法。
  15. 前記n個のイメージソースの各々にパラメータ提案を含む合成結果を送信することであって、前記イメージソースが、前記パラメータ提案に基づいて次のフレームに対応するソースイメージに関連付けられたパラメータを調整する、合成結果を送信することをさらに含む、請求項3に記載の方法。
  16. 前記合成結果が、前記ソースイメージの前記境界領域が前記ソースイメージのうちの他のソースイメージの前記境界領域によって完全に遮蔽されているか、部分的に遮蔽されているか、または全く遮蔽されていないかを示す結果コードを含み、場合によっては、前記パラメータ提案が、前記結果コードに基づいて決定される新しい層提案を含む、請求項15に記載の方法。
  17. 表示された前記合成イメージが、レンズシステムを介してユーザによって見られ、前記ソースイメージの各々に対応する前記カスタマイズされた歪みメッシュが、前記レンズシステムによって引き起こされるレンズ歪みを補償するために使用される、請求項1に記載の方法。
  18. ソフトウェアを具体化する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されるときに、
    請求項1から17のいずれか一項に記載の方法を実行するように、または、
    少なくとも2つのイメージソースを含むn個のイメージソースの各々から、ソースイメージおよび前記ソースイメージに関連付けられたパラメータを受信することと、
    前記ソースイメージに関連付けられた前記パラメータに基づいて、複数の層の範囲内の層に前記ソースイメージの各々を関連付けることであって、前記複数の層の範囲が、前記ソースイメージの合成層順序を指定する、前記ソースイメージの各々を関連付けることと、
    前記ソースイメージ内の各特定のソースイメージについて、前記特定のソースイメージに関連付けられた前記パラメータ、および前記特定のソースイメージに関連付けられた層に先行する層があればその層に関連付けられた前記ソースイメージの各々に関連付けられた前記パラメータの少なくとも一部に基づいて、対応するカスタマイズされた歪みメッシュを生成することと、
    前記対応するカスタマイズされた歪みメッシュを使用して前記ソースイメージの各々を修正することと、
    修正された前記ソースイメージを使用して合成イメージを生成することと、
    前記合成イメージをビデオ内のフレームとして表示することと、を実行するように、動作可能である、1つまたは複数のコンピュータ可読非一時的記憶媒体。
  19. 1つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を含む、前記プロセッサに結合された非一時的メモリと、を備えるシステムであって、前記プロセッサが、前記命令を実行するときに、請求項1から17のいずれか一項に記載の方法を実行するように、または、
    少なくとも2つのイメージソースを含むn個のイメージソースの各々から、ソースイメージおよび前記ソースイメージに関連付けられたパラメータを受信することと、
    前記ソースイメージに関連付けられた前記パラメータに基づいて、複数の層の範囲内の層に前記ソースイメージの各々を関連付けることであって、前記複数の層の範囲が、前記ソースイメージの合成層順序を指定する、前記ソースイメージの各々を関連付けることと、
    前記ソースイメージ内の各特定のソースイメージについて、前記特定のソースイメージに関連付けられた前記パラメータ、および前記特定のソースイメージに関連付けられた層に先行する層があればその層に関連付けられた前記ソースイメージの各々に関連付けられた前記パラメータの少なくとも一部に基づいて、対応するカスタマイズされた歪みメッシュを生成することと、
    前記対応するカスタマイズされた歪みメッシュを使用して前記ソースイメージの各々を修正することと、
    修正された前記ソースイメージを使用して合成イメージを生成することと、
    前記合成イメージをビデオ内のフレームとして表示することと、を実行するように、動作可能である、システム。
  20. 命令を含むコンピュータプログラムであって、前記命令は、前記プログラムがコンピュータによって実行されるときに、請求項1から17のいずれか一項に記載の方法を前記コンピュータに実行させる、コンピュータプログラム。
JP2023538784A 2020-12-23 2021-11-14 合成イメージの生成 Pending JP2024502772A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/132,229 2020-12-23
US17/132,229 US11398020B2 (en) 2020-12-23 2020-12-23 Generating a composite image
PCT/US2021/059297 WO2022139976A1 (en) 2020-12-23 2021-11-14 Generating a composite image

Publications (1)

Publication Number Publication Date
JP2024502772A true JP2024502772A (ja) 2024-01-23

Family

ID=78824711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023538784A Pending JP2024502772A (ja) 2020-12-23 2021-11-14 合成イメージの生成

Country Status (5)

Country Link
US (2) US11398020B2 (ja)
EP (1) EP4268179A1 (ja)
JP (1) JP2024502772A (ja)
CN (1) CN116917928A (ja)
WO (1) WO2022139976A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
US11398020B2 (en) * 2020-12-23 2022-07-26 Facebook Technologies, Llc. Generating a composite image
KR20220099210A (ko) * 2021-01-05 2022-07-13 삼성디스플레이 주식회사 표시 장치, 이를 포함하는 가상 현실 표시 시스템 및 이를 이용한 입력 영상 기반 사용자 움직임 추정 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088375B1 (en) * 2000-04-27 2006-08-08 Adobe Systems Incorporated Grouping layers in composited image manipulation
US10438331B2 (en) * 2014-06-26 2019-10-08 Intel Corporation Distortion meshes against chromatic aberrations
US11398020B2 (en) * 2020-12-23 2022-07-26 Facebook Technologies, Llc. Generating a composite image

Also Published As

Publication number Publication date
CN116917928A (zh) 2023-10-20
EP4268179A1 (en) 2023-11-01
WO2022139976A1 (en) 2022-06-30
US20220198627A1 (en) 2022-06-23
US11398020B2 (en) 2022-07-26
US11734808B2 (en) 2023-08-22
US20220392037A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
US11719933B2 (en) Hand-locked rendering of virtual objects in artificial reality
JP2024502772A (ja) 合成イメージの生成
US11170577B2 (en) Generating and modifying representations of objects in an augmented-reality or virtual-reality scene
US11954805B2 (en) Occlusion of virtual objects in augmented reality by physical objects
US20190027120A1 (en) Method of and data processing system for providing an output surface
TW202320022A (zh) 合成器層外推
TW202339497A (zh) 用於擴增實境裝置的彈性成像
JP2023547838A (ja) 待ち時間復元クラウドレンダリング
KR20220106076A (ko) 조밀한 깊이 맵의 재구성을 위한 시스템 및 방법
JP2024502273A (ja) 時間的中心窩レンダリング
US20230136662A1 (en) Parallax Asynchronous Spacewarp for Multiple Frame Extrapolation
US11423520B2 (en) Distortion-corrected rasterization
US11783533B2 (en) Frame extrapolation with application generated motion vector and depth
US20220122285A1 (en) Visual inertial odometry localization using sparse sensors
TW202316239A (zh) 具有應用程式產生的移動向量和深度之圖框外插