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

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

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

特許7469084画像を生成するための方法およびシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】画像を生成するための方法およびシステム
(51)【国際特許分類】
   G06T 19/00 20110101AFI20240409BHJP
【FI】
G06T19/00 A
【請求項の数】 13
【外国語出願】
(21)【出願番号】P 2020041913
(22)【出願日】2020-03-11
(65)【公開番号】P2020155121
(43)【公開日】2020-09-24
【審査請求日】2022-12-16
(31)【優先権主張番号】1903702.7
(32)【優先日】2019-03-19
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】アンドリュー ダミアン フォースフィールド
(72)【発明者】
【氏名】ニコラ オール
(72)【発明者】
【氏名】イアン ヘンリー ビッカースタッフ
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2009-211335(JP,A)
【文献】特開2015-187797(JP,A)
【文献】特開2015-232783(JP,A)
【文献】国際公開第2012/042998(WO,A1)
【文献】特表2020-524851(JP,A)
【文献】特開2014-056466(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
仮想カメラの視点から被写体の画像を生成する方法であって、
シーン内の被写体の複数のソース画像を取得するステップであり、各ソース画像が異なるそれぞれの視点からキャプチャされる、ステップと、
ソース画像それぞれについて、前記被写体に対するカメラの姿勢を示すカメラ姿勢データを取得するステップと、
前記被写体に対する仮想カメラの姿勢を示す仮想カメラ姿勢データを取得するステップと、
前記ソース画像の少なくともいくつかについて、それぞれの歪み画像を生成するステップであり、各歪み画像が、前記ソース画像をキャプチャした前記カメラの前記姿勢と、前記仮想カメラの前記姿勢との差に基づいて生成される、ステップと、
前記歪み画像をキャプチャした前記カメラの前記姿勢と、前記仮想カメラの前記姿勢との類似性に基づいて各歪み画像に関連付けられた重みを決定し、前記決定された重みに従って前記歪み画像を合成して、前記仮想カメラの前記視点からの前記被写体の画像を生成するステップと、
を含み、
各歪み画像に関連付けられた重みを決定するステップが、少なくとも3つのカメラによって規定される平面と、前記仮想カメラを前記被写体と結ぶ線との交点を決定するステップを含む、方法。
【請求項2】
前記歪み画像を生成するステップが、
各ソース画像に関連付けられた深度データを取得するステップと、
ソース画像それぞれについて、前記ソース画像およびその画像に関連付けられた深度データに基づいて、前記被写体の多角形メッシュを生成するステップと、
多角形メッシュそれぞれについて、前記多角形メッシュの少なくとも一部を、前記仮想カメラが向いている方向に対して垂直になるように再投影するステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記歪み画像を生成するステップが、
再投影された多角形メッシュそれぞれについて、その多角形メッシュに適用するためのテクスチャを生成するステップであって、前記テクスチャが、対応する前記ソース画像を前記多角形メッシュ上に視差マッピングすることによって生成される、ステップと、
をさらに含み、
前記歪み画像を生成するステップが、前記テクスチャが適用された前記それぞれの再投影された多角形メッシュの2D画像をレンダリングするステップを含む、
請求項2に記載の方法。
【請求項4】
各ソース画像が、緑色スクリーンの前でキャプチャされた前記被写体の画像に対応し、
前記歪み画像を生成するステップが、
ソース画像それぞれについて、前記被写体に対応するピクセルを、背景に対応するピクセルから分離するステップをさらに含む、
請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記多角形メッシュを生成するステップが、
各ソース画像に二次元グリッドを適用するステップと、
それぞれのソース画像およびその画像に対して得られた前記深度データについて、前記二次元グリッドの各ユニットにわたって深度の変化を決定するステップと、
ソース画像それぞれについて、対応する多角形メッシュを生成するステップであって、前記多角形メッシュのテッセレーション密度が、前記ソース画像に適用された前記二次元グリッドの各ユニットにわたる深度の前記変化に基づいて決定される、ステップと、
を含む、請求項2、請求項3、請求項2を引用する請求項4のいずれか一項に記載の方法。
【請求項6】
各ソース画像が立体視カメラによってキャプチャされた立体視画像を含み、
少なくとも5つのソース画像が取得され、前記ソース画像に関連付けられた前記姿勢が、前記被写体に対して垂直方向および/または水平方向にx字形に配置された立体視カメラのアレイに対応する、
請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記仮想カメラ姿勢データが、前記被写体の再構成を見るために使用されているHMDの姿勢に対応し、
前記被写体の前記画像を生成するステップが、立体視画像を生成して、前記生成された立体視画像を前記HMDに出力するステップを含む、
請求項1からのいずれか一項に記載の方法。
【請求項8】
請求項1からのいずれか一項に記載の方法をコンピュータ・システムに実行させるように適合されたコンピュータ実行可能命令を有するコンピュータ可読媒体。
【請求項9】
オブジェクトの画像を視聴者に表示するように動作可能なディスプレイエレメントと、
前記視聴者の頭部の姿勢を検出するように動作可能な姿勢検出器と、
前記オブジェクトの複数のソース画像、および各ソース画像をキャプチャしたカメラの姿勢を示すカメラ姿勢データを取得するように動作可能な画像プロセッサであって、
前記姿勢検出器からの入力を受信し、それに応答して、前記ソース画像の少なくともいくつかを、前記ソース画像に関連付けられた前記カメラの前記姿勢と、前記オブジェクトの再構成に対する前記視聴者の頭部の現在の姿勢との差に基づいて歪ませるように構成されている、画像プロセッサと、
各歪み画像に関連付けられた重みを、その歪み画像に関連付けられた前記カメラの前記姿勢と、前記再構成に対する前記視聴者の頭部の前記姿勢との類似性に基づいて決定するように構成された画像合成器であって、
前記関連付けられた重みに従って前記歪み画像を一緒に合成して、前記ディスプレイエレメントに表示するための前記オブジェクトの画像を形成するように構成されている、画像合成器と、
を備え
前記視聴者の頭部の前記姿勢が、前記オブジェクトを見る仮想カメラの前記姿勢に対応し、前記ソース画像をキャプチャした前記カメラの前記姿勢が、カメラアレイ平面に対応し、
前記画像合成器が、前記仮想カメラを前記オブジェクトと結ぶベクトルと、前記カメラアレイ平面との交点を決定するように構成され、
前記画像合成器が、前記ソース画像をキャプチャした前記カメラの前記姿勢および前記カメラアレイ平面上の前記交点に基づいて、各歪み画像の重みを決定するように構成されている、表示システム。
【請求項10】
前記画像プロセッサが、各ソース画像に関連付けられた深度データを取得し、ソース画像それぞれについて、前記ソース画像およびその画像に関連付けられた深度データに基づいて前記オブジェクトの多角形メッシュを生成するようにさらに構成され、
前記画像プロセッサが、各ソース画像からの歪み画像を、そのソース画像に対して生成された前記多角形メッシュの少なくとも一部を、前記視聴者の頭部が向いている方向に対して垂直になるように再投影することによって生成するように構成されている、
請求項に記載の表示システム。
【請求項11】
前記画像プロセッサが、再投影された多角形メッシュそれぞれについて、その多角形メッシュに適用するためのテクスチャを生成するように構成され、
前記画像プロセッサが、前記ソース画像の部分を対応する前記再投影された多角形メッシュの部分に視差マッピングするように動作可能な視差シェーダを備える、
請求項1に記載の表示システム。
【請求項12】
ヘッドマウントディスプレイを備え、
前記ディスプレイエレメントが、前記ヘッドマウントディスプレイの前記ディスプレイエレメントに対応し、前記姿勢検出器が、前記ヘッドマウントディスプレイの位置および/または向きを検出するように動作可能である、
請求項から1のいずれか一項に記載の表示システム。
【請求項13】
前記ヘッドマウントディスプレイと通信するゲームコンソールを備え、前記ゲームコンソールが、前記画像プロセッサを備え、前記合成された歪み画像を前記ヘッドマウントディスプレイに送信して前記ディスプレイエレメントに表示するように動作可能である、請求項1に記載の表示システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、被写体の画像を仮想カメラの視点から生成するための方法およびシステムに関する。本開示は、ヘッドマウントディスプレイ(HMD)に表示するためのそのような画像を生成することにさらに関する。
【背景技術】
【0002】
近年、ビデオコンテンツは、ますます没入型になっている。これは、一部には、視聴者がそのようなコンテンツを見ることができるHMDが急増していることに起因する。HMDにより、視聴者は、自分のワールドビュー上に重畳されたコンテンツを、部分的に(拡張現実の場合)または完全に(仮想現実の場合)見ることができる。場合によっては、仮想コンテンツは、視聴者が位置する物理的な環境を考慮したやり方で視聴者に表示されることがある(いわゆる複合現実)。
【0003】
一部のアプリケーションでは、視聴者に現実のイベントの3D再構成が提示されることがある。例えば、現実のイベントは、演奏者の録音、例えば、音楽の演奏、コンテンツの提示、フィクション・シリーズでの演技などに対応することがある。そのようなコンテンツの一例は、PS4上で(PSVRを介して)利用可能な「Joshua Bell VR Experience」である。
【0004】
仮想現実において演奏者を表現するための1つの知られている技法は、演奏者の立体視ビデオをキャプチャし、このビデオを環境の3D再構成内のメッシュにテクスチャとして投影することを含む。そのような技法の例が英国特許出願第2018/052671号明細書に記載されている。この技法は、視聴者の頭部の動きがほとんど予測されない場合に十分である傾向があるが、頭部の動きが大きい場合は、この技法の限界がより明らかになる可能性がある。
【0005】
仮想現実(VR)において演奏者を表現するための別の知られている技法は、例えば、リグを使用して、演奏者の周りに複数のカメラを配置することを含む。カメラによってキャプチャされたビデオを使用して、演奏者の完全な幾何学的モデルを作成し、このモデルを、モデルに対する視聴者の向きに基づいて視聴者に適切に表示することができる。理解されるように、このようにしてVRコンテンツをキャプチャすることは、時間がかかり、高価な処理である。さらに、このようなキャプチャ処理から生じるVRコンテンツは、多くの場合、生気がないように見え、ソフトエッジ(髪の毛など)や複雑な表面素材が、仮にあったとしても、正確に表現されない場合がある。
【0006】
ライトフィールド・レンダリングは、オブジェクトを3Dで表現するために使用することができる別の技法である。しかしながら、ライトフィールド・レンダリングは、計算コストが高くなる傾向があり、多くの場合、静的オブジェクトのみの表現に限定される。
【0007】
一般に、当技術分野において、3Dでのオブジェクト(静的および/または動的)のレンダリングを、過度な量のデータまたは計算処理を必要とすることなく行うことに関して問題がある。理解されるように、このレンダリングがビデオゲームコンソールで実行される場合、利用可能な計算能力とリソースは、ある程度制限される可能性がある。さらに、画像がHMDに表示される場合、視聴者の頭部の動きと新たな視点からのオブジェクトのレンダリングとの間のいかなる遅延も、視聴者にとって不快なものになる可能性がある。本発明は、これらの問題のいくつかに対処すること、または少なくとも軽減しようとするものである。
【発明の概要】
【0008】
本明細書に開示される第1の態様によると、請求項1に記載のヘッドマウントディスプレイ(HMD)に表示するための被写体の画像を生成する方法が提供される。
【0009】
本明細書に開示される第2の態様によると、請求項10に記載のオブジェクトの画像を生成するためのシステムが提供される。
【図面の簡単な説明】
【0010】
本開示の理解を助け、実施形態がどのようにして実施され得るかを示すために、例として添付の図面が参照される。
【0011】
図1】ヘッドマウントディスプレイデバイスの例を概略的に示す図である。
図2】オブジェクトの画像を仮想カメラの視点から再構成するための方法の例である。
図3】被写体の例、および被写体のソース画像をキャプチャするための1つまたは複数のカメラの配置を示す図である。
図4】被写体に対して異なる位置に配置された1つもしくは複数のカメラによってキャプチャされた立体視ソース画像の例を示す図である。
図5】対応する立体視ソース画像それぞれについて生成された深度マップの例を示す図である。
図6A】所与のソース画像および対応する深度マップのメッシュを生成するためのテッセレーション処理の例を示す図である。
図6B】所与のソース画像および対応する深度マップのメッシュを生成するためのテッセレーション処理の例を示す図である。
図7】生成されたメッシュの一部をメッシュからトリミングすることができるトリミング・ステップの例を示す図である。
図8A】対応するソースカメラと仮想カメラの姿勢との間の姿勢の差に基づいて再投影されるメッシュの部分の例の概略図である。
図8B】対応するソースカメラと仮想カメラの姿勢との間の姿勢の差に基づいて再投影されるメッシュの部分の例の概略図である。
図9】ソース画像の領域を、対応する再投影されたメッシュの領域にマッピングするための視差マッピング技法の例である。
図10A】各歪み画像に関連付けられた重みを決定するための方法の例の概略図である。
図10B】各歪み画像に関連付けられた重みを決定するための方法の例の概略図である。
図11】本開示に従って生成された歪み画像の例、およびこれらの画像を一緒に混合することによって得られた最終画像を示す図である。
図12】オブジェクトの画像を仮想カメラの視点から生成するためのシステムの例である。
【発明を実施するための形態】
【0012】
ここで図1を参照すると、ユーザ10は、(一般的な頭部装着可能な装置の例として)HMD20を着用している。HMDは、本例では、後部ストラップおよび頂部ストラップで形成されたフレーム40、ならびに表示部50を備える。
【0013】
図1のHMDは、周囲環境に対するユーザのビューを完全に(または少なくとも実質的に完全に)覆い隠す。ユーザが見ることができるのは、HMD内に表示される画像のペアだけである。
【0014】
HMDは、ユーザの左右の耳70に適合する関連付けられたヘッドフォン・オーディオ・トランスデューサまたはイヤピース60を有する。イヤピース60は、外部ソースから提供されるオーディオ信号を再生し、外部ソースは、ユーザの目に表示用のビデオ信号を提供するビデオ信号源と同じであってもよい。
【0015】
ユーザがHMDによって表示されたもののみを見ることができるという事実、ならびにイヤピースのノイズ遮断特性またはアクティブキャンセル特性、および関連付けられた電子機器の制限を受けて、イヤピースを介して提供されるもののみを聞くことができるという事実の組合せは、このHMDをいわゆる「完全な没入型」HMDと見なすことができることを意味する。しかしながら、一部の実施形態では、HMDは、完全な没入型HMDではなく、ユーザの周囲を見るかつ/または聞くための少なくとも何らかの機能をユーザに提供することができることに留意されたい。この機能は、ディスプレイ装置にある程度の透明度または部分的な透明度を提供すること、および/またはHMDのディスプレイを介して(カメラ、例えば、HMDに取り付けられたカメラを使用してキャプチャされた)外部のビューを投影すること、および/またはイヤピースを通過した周囲音の伝播を可能にすること、および/または周囲音に応じて(イヤピースへの伝播のための)入力音声信号を生成するマイクロフォンを提供することによるものであってもよい。
【0016】
前方カメラ(図示せず)は、使用時に、HMDの前方に画像をキャプチャすることができる。Bluetooth(登録商標)アンテナ(図示せず)は、通信機能を提供することができ、または近くのBluetooth送信機の方向の検出を可能にする指向性アンテナとして単に配置されてもよい。
【0017】
動作において、ビデオ信号は、HMDによる表示のために提供される。このビデオ信号は、ビデオゲーム機またはデータ処理装置(パーソナルコンピュータなど)などの外部ビデオ信号源80によって提供することができ、その場合、信号は、有線または無線接続によってHMDに送信されてもよい。適切な無線接続の例には、Bluetooth(登録商標)接続が挙げられる。イヤピース60のためのオーディオ信号は、同じ接続によって運ばれてもよい。同様に、HMDからビデオ(オーディオ)信号源に渡される任意の制御信号は、同じ接続によって運ばれてもよい。
【0018】
さらに、(1つもしくは複数のバッテリを含む、かつ/または主電源コンセントに接続可能な)電源をケーブルによってHMDにつなぐことができる。電源およびビデオ信号源80は、別個のユニットであってもよく、または同じ物理ユニットとして具現化されてもよいことに留意されたい。電源およびビデオ(実際にはオーディオ)信号供給用の別個のケーブルがあってもよく、またはこれらのケーブルは、単一のケーブルで運ぶために組み合わされてもよい(例えば、USBケーブルのように別個の導体を使用して、またはデータが平衡信号として運ばれ、電力が直流として、同じ物理的なワイヤの集合体を介して運ばれる「パワー・オーバ・イーサネット(登録商標)」構成と同様の仕方で)。ビデオおよび/またはオーディオ信号は、例えば、光ファイバケーブルによって運ばれてもよい。他の実施形態では、ユーザに提示するための画像および/またはオーディオ信号の生成に関連付けられた機能の少なくとも一部は、HMD自体の一部を形成する回路および/または処理によって実行されてもよい。電源は、HMD自体の一部として提供されてもよい。
【0019】
したがって、図1の構成は、観察者の頭部に取り付けられたフレームであって、使用時に、観察者のそれぞれの目の前に位置決めされる1つまたは2つの目の表示位置を規定するフレームと、目の表示位置のそれぞれに対して取り付けられたディスプレイエレメントであって、ビデオ信号源からのビデオ信号のビデオ表示の虚像を観察者のその目に提供するディスプレイエレメントと、を備えるヘッドマウントディスプレイシステムの例を提供する。
【0020】
図1は、HMDの単なる一例を示す。他の形態が可能であり、例えば、HMDは、従来のメガネに関連付けられたものにより類似したフレーム、すなわち、表示部分からユーザの耳の上部後方に延び、場合によっては耳の後ろでカールする実質的に水平な脚部を使用することができる。他の(完全な没入型ではない)例では、外部環境のユーザのビューが実際には覆い隠されていない場合があり、表示される画像を、外部環境上に(ユーザの視点から)重ね合わせるように配置することができる。
【0021】
図1に示すHMDを使用して、没入型ビデオを視聴者に表示することができる。没入型ビデオという用語は、本明細書では、仮想現実、拡張現実、および/または混合現実での視聴に適したビデオコンテンツを指すために使用される。一般に、ビデオは、少なくとも部分的に、1つまたは複数の現実世界のオブジェクトを含む現実シーンのビデオに対応する。没入型ビデオは、現実世界のオブジェクトの画像が、視聴者にそれらのオブジェクトを3Dで表すために使用されているという点で、ゲームコンテンツとは異なることがある。しかしながら、それでもなお、没入型ビデオにより、視聴者は、仮想現実環境、拡張現実環境、または混合現実環境で表されるオブジェクトと対話することが可能である場合がある。
【0022】
前述したように、没入型ビデオは、演奏のビデオに対応する場合ある。没入型ビデオコンテンツの例には、例えば、PS4で利用可能な「Joshua Bell VR Experience」、「Tom Grennan VR」などが挙げられる。文脈上の目的で、本明細書で説明される実施形態は、主に、VRでの没入型ビデオコンテンツの表示に関連して説明される。
【0023】
前述したように、没入型ビデオコンテンツを生成するための多くの技法が存在する。これらには、例えば、シーンをボリュメトリック・ビデオとしてキャプチャすること、シーンの立体視ビデオをキャプチャし、これをシーンの3D再構成内のメッシュ上に投影すること、ライトフィールド・レンダリングなどが含まれる。しかしながら、典型的には、これらの技法は、ビデオをレンダリングするために必要とされるリソースの点で、時間がかかり、高価であり、計算集約的である。
【0024】
ビデオゲームコンソールが没入型ビデオのレンダリングに使用される場合、利用可能な計算能力は、ある程度制限される可能性がある。さらに、ビデオのレンダリングのいかなる遅延も、視聴者の頭部の動きと同期してHMDでのビデオの表示が更新されない場合、視聴者に不快感または吐き気さえ感じさせることがある。したがって、当技術分野では、上述の技法に関連付けられた障害の影響をあまり受けない、没入型ビデオコンテンツを生成することができるレンダリング処理が必要とされている。
【0025】
ここで、本開示による、HMDに表示するための被写体の画像を生成するための方法を、図2に関連して説明する。ここでは、「被写体」は、没入型ビデオの一部として表示される被写体に対応する。
【0026】
第1のステップS201において、シーン内の被写体の複数のソース画像が取得される。被写体は、没入型ビデオの一部として表される静的オブジェクトまたは動的オブジェクトに対応してもよい。各ソース画像は、異なるそれぞれの視点からキャプチャされる。すなわち、ソース画像それぞれについての被写体に対するカメラの姿勢は、他のソース画像に対するカメラの姿勢とは異なる。その結果、各ソース画像は、被写体の異なるビューに対応する。姿勢という用語は、本明細書では、被写体に対するカメラの位置および/または向きを指すために使用される。
【0027】
各ソース画像は、立体視カメラによってキャプチャされた立体視画像に対応することができる。一部の例では、複数の立体視カメラ(例えば、ソース画像それぞれについて1つの立体視カメラ)を使用して、立体視画像をキャプチャすることができる。すなわち、立体視カメラのアレイが被写体の周りに配置されてもよく、ソース画像がアレイ状の立体視カメラによってキャプチャされた立体視画像に対応することができる。追加のまたは代替の例では、単一の立体視カメラを使用して、この立体視カメラを被写体の周りの異なる位置に移動させて、異なるそれぞれの視点から被写体の複数のソース画像を取得してもよい。立体視画像は、カラー画像、例えば、RGBまたはYUV画像に対応してもよい。一部の例では、ソース画像は、本明細書で説明される処理の前に圧縮されてもよい。
【0028】
一部の例では、各立体視カメラは、2つの画像センサを備え、各画像センサは、対応するセンサ上に光を集束するための1つまたは複数のレンズに関連付けられている。画像センサによってキャプチャされた画像は、左画像および右画像にそれぞれ対応することができる。左の画像および右の画像は、(以下に説明するように、処理の後に)HMDの左および右のディスプレイエレメントにそれぞれ表示されてもよい。
【0029】
追加のまたは代替の例では、カメラの少なくともいくつかは、単眼視カメラ(すなわち、1つの画像センサ、およびそのセンサ上に光を集束させるための1つまたは複数のレンズを備える)を含むことができる。これらは、後述するように、飛行時間構造化光センサなどの追加の深度センサと組み合わせて使用されることがある。
【0030】
一部の例では、各ソース画像は、緑色スクリーンの前でキャプチャされた被写体の画像に対応してもよい。緑色スクリーンに対応するソース画像の部分を削除して、被写体をその環境から分離することができる。緑色スクリーンを使用することにより、3Dで表現することができる被写体の高品質のソフトエッジをキャプチャすることができる。
【0031】
図3は、被写体の例、および被写体のソース画像をキャプチャするための立体視カメラの位置を示す。図3では、被写体は、緑色スクリーン上におよびその前に配置されたぬいぐるみライオンの玩具300に対応する。これは単なる被写体の例であり、演奏者などの他の被写体も同じやり方でキャプチャされ得ることが理解されよう。図3では、被写体およびカメラは、上面図で示されている。
【0032】
図3では、被写体に対する立体視カメラの姿勢が、x字形に配置された立体視カメラのアレイに対応していることがわかる。すなわち、一対の立体視カメラ302A、302Bが、被写体の左右にそれぞれ配置され、別の立体視カメラ302Cが、第1の対の立体視カメラの302A、302Bの後方に、被写体の前方のほぼ中央に配置され、第2の対の立体視カメラ302D、302Eが、中央に配置された立体視カメラの後方に、ここでもまた被写体の左右にそれぞれ配置されている。一部の例では、このx字形は、単一の立体視カメラを、x字形を構成する個々の位置のそれぞれに移動させることによってエミュレートされてもよい。
【0033】
追加のまたは代替の例では、立体視カメラは、異なる垂直高さに配置されてもよい。例えば、x字形は、(または代替として)カメラの垂直配置に対応することもできる。これは、第1の対の立体視カメラが、下方の対の立体視カメラの上方に配置され、2つの対の立体視カメラ間の(垂直方向の)中央の位置を立体視カメラが占有してもよいことを意味する。このようなカメラの配置は、(zが深度に対応する)x-y平面内で同一平面上にあるということができる。このように配置された立体視カメラアレイの例については、図10に関連して後述する。
【0034】
理解されるように、他の例では、カメラは、同一平面上にある必要はなく、カメラのうちの1つまたは複数は、z方向にオフセットされていてもよい。場合によっては、カメラの非同一平面配置により、深度マップの計算に使用される写真測量の精度を向上させることができる。
【0035】
立体視カメラの相対的な分離は、3Dで被写体を再構成するために利用可能なソース画像データの量を決定することが理解されるであろう。遮られた領域が見えるようになるように、カメラをさらに離すことによって、被写体のより良好なカバレッジを得ることができる。カバレッジが良好なほど、3Dで表現することができる被写体が多くなり、したがって、再構成を見るときに視聴者が有する動きの自由度が大きくなる。しかしながら、カメラの間隔が離れすぎた場合は、ソース画像間で共有される画像データが少なくなり、ソース画像を一緒に混合しようと試みる際に困難が生じる可能性がある。当然のことながら、被写体を3Dで表現することができる精度は、異なるそれぞれの視点からより多くの画像をキャプチャすることによって改善され得る。しかしながら、より多くの画像をキャプチャすると、3D再構成を生成するために必要なメモリおよび処理能力の点で、例えば、ボリュメトリック・ビデオについては高いことが知られているように、より大きなコストを招く。したがって、視点の数は、計算リソースおよび3D再構成の品質との間の経験的なトレードオフである場合がある。
【0036】
本発明者らは、図3に示すx配置が、被写体に対する視聴者の動きが相対的に制限されると予想される没入型ビデオ目的には十分であることを見出した。この動きは、コンテンツが典型的に消費される性質の結果として、例えば、(着座などの)静止位置から、またはコンテンツが消費されている物理的環境から、制限されることがある(例えば、視聴者がVRで表現される被写体の後方を歩くことを試みるのに十分な物理的空間がない場合がある)。したがって、没入型ビデオでは、被写体は、制限された範囲のビューに対してのみ表現されればよい。加えて、図3に示す配置を介してキャプチャされたソース画像には、重複領域が含まれ、結果としてソース画像を一緒に合成したときに「孔(hole)」が少なくなる。
【0037】
立体視カメラをx字形に配置することは、被写体に対して立体視カメラを配置することができるやり方の単なる一例であることが理解されよう。他の例では、代替のカメラキャプチャレイアウトを使用することができる。最終的に、使用されるレイアウト、およびキャプチャされる画像の数は、キャプチャされる被写体およびそれらの画像を処理するために使用されるハードウェアに依存する場合がある。より一般的には、図3に見られるx字形は、視聴者にとって所定の動きの範囲内の視点の均一な分布の一例として考えられてもよい。
【0038】
図4は、各立体視カメラのそれぞれによってキャプチャされた立体視画像402A、402b、402、402D、402Eの例を示す。図4では、立体視画像の位置決めは、被写体に対する立体視カメラの位置決めに対応する。図4に示す立体視画像は、上述のx字形に配置された立体視カメラアレイによってキャプチャされている。
【0039】
図2に戻ると、ステップS201において、ソース画像それぞれについてシーン内の被写体に対するカメラの姿勢を示すカメラ姿勢データが取得される。カメラ姿勢データは、ソース画像それぞれについて、被写体に対するカメラの位置および/または向きを規定する。カメラ姿勢データは、ソース画像に関連付けて記憶されたメタデータとして規定されてもよい。
【0040】
カメラ姿勢データは、ソース画像のキャプチャ中に取得されてもよい。例えば、被写体のカメラからの距離は、例えば、飛行時間センサを使用して測定され、カメラの向きの変化は、例えば、カメラに関連付けられた加速度計またはジャイロスコープを使用して追跡されてもよい。一部の例では、カメラの相対的な姿勢は、(例えば、複数のカメラのアレイが使用される場合)キャプチャ処理中に変化しない場合があり、被写体に対するカメラの姿勢は、知られている写真測量技法を使用して決定されてもよい。例えば、チェス盤などの試験被写体を使用して、カメラの外的要因を決定する。
【0041】
第2のステップS202において、被写体に対する仮想カメラの姿勢を示す仮想カメラ姿勢データが取得される。仮想カメラのデータは、被写体の再構成が視認可能なHMDの姿勢に対応してもよい。HMDの姿勢は、被写体の再構成に対して視聴者がどのように位置し、向いているか決定し、したがって、被写体を視認可能にする仮想カメラに対応する。被写体に対する仮想カメラの姿勢を決定するために、被写体の再構成をHMDに実際に表示する必要がないことが理解されよう。仮想カメラの姿勢は、レンダリング時に決定することができる。
【0042】
仮想カメラ姿勢データは、HMDに組み込まれた姿勢検出器から取得されてもよい。例えば、HMDは、視聴者の頭部の姿勢の変化を追跡するための加速度計および/またはジャイロスコープを備えてもよい。代替として、または加えて、1つまたは複数の外部カメラを使用して、視聴者の頭部の姿勢を、例えば、コンスタレーション追跡を介して、追跡することができる。再構成されたシーン内の被写体の位置がわかっている場合があり、HMDの姿勢を使用して、再構成されたシーンにおいて被写体に対する視聴者の頭部の(仮想)姿勢を決定することができる。
【0043】
図2に戻ると、第3のステップS203において、ソース画像の少なくともいくつかを歪ませる。ソース画像をキャプチャしたカメラの姿勢と、被写体の再構成に対する仮想カメラの姿勢との差に基づいて各ソース画像を歪ませる。言い換えれば、所与のソース画像の歪みの程度は、仮想カメラのビューが、ソース画像をキャプチャしたカメラのビューにどれだけ厳密に一致しているかに依存する。
【0044】
[歪み画像の生成]
ここで、歪み画像を生成するための例示的な方法を、図4図11に関連して説明する。
【0045】
一部の例では、歪み画像を生成することは、各ソース画像に関連付けられた深度データを取得することを含む。前述したように、各ソース画像は、被写体の立体視画像に対応することができ、したがって、ソース画像を構成する左右の画像に対してステレオマッチングを実行することによって、所与のソース画像について深度データを取得することができる。所与のソース画像について取得された深度データを使用して、その画像内の被写体の深度マップ(すなわち、深度画像)を生成することができる。被写体が緑色スクリーンの前に置かれている場合、それらの画像から深度マップを生成する前に、背景に対応するソース画像のピクセルを除去することができる。代替として、ある特定の深度しきい値を超える深度マップの領域を背景領域として排除することができる。各深度マップは、対応するソース画像をキャプチャしたカメラと同じ視点からキャプチャされた深度画像に対応することができる。一部の例では、深度マップは、その深度マップからメッシュを生成する前に平滑化される。
【0046】
図5は、図3および図4に従ってキャプチャされた立体視画像について生成された深度マップ502A、502B、502C、502D、502Eの例を示す。図5では、各深度マップは、深度マップの生成に使用される立体視画像がキャプチャされた立体視カメラの位置に対応する位置に示されている。図5では、深度マップとソース画像との間に1対1の対応関係がある。
【0047】
代替の例では、各ソース画像の深度データは、ソース画像のキャプチャとは別個にキャプチャされてもよい。例えば、ソース画像それぞれについて、被写体のLIDARスキャンが、対応する視点から実行されてもよい。そのような例では、ソース画像は、立体視的である必要はない。対応する視点の深度データを取得するための他の知られている技法が使用されてもよい。
【0048】
ソース画像は、RGBピクセル、および所望により各ピクセルの透明度を表すアルファ値に関して規定されてもよい。ソース画像それぞれについて、緑色スクリーンに対応する画像内の領域および対応する深度マップを使用して透明マスクが生成されてもよい(すなわち、均一な深度の大きな領域は、背景領域に属するものとして識別されてもよい)。透明マスクのエッジからの距離は、必要に応じて、透明マスクのエッジを簡単に拡大または縮小することができるように、符号付き距離フィールド(signed distance field)(SDF)に記憶することができる。ソース画像が立体視画像を含む例では、各立体視画像を構成する左右の画像に対して透明マスクを生成することができる。
【0049】
一部の例では、被写体の深度マップをわずかに拡大して、アルファ輪郭を超えて、任意の孔(すなわち、深度データが欠落している領域)を塗りつぶすことができる。所与のソース画像の深度マップは、複数のミップマップとして記憶することができ、連続する各ミップマップは、より低い解像度の深度マップに対応する。ミップマップレベルは、画像品質に基づいて事前に決定されてもよく、すなわち、ミップマップレベルは、データがどの程度ノイズが多いかに基づいて調整することができるパラメータであってもよい。深度ミップマップは、上記のミップマップレイヤの例えば4個のピクセルの最も近い(カメラに最も近い)深度を記憶することによって生成されてもよい。
【0050】
歪み画像を生成することは、ソース画像それぞれについて、ソース画像およびそのソース画像について取得された深度データに基づいて、被写体の多角形メッシュ(例えば、三角形メッシュ)を生成することをさらに含むことができる。各多角形メッシュは、それぞれのソース画像に二次元グリッドを適用し、そのソース画像について、二次元グリッドの各ユニットにわたる深度の変化を決定することによって生成することができる。メッシュのテッセレーション密度は、対応するソース画像に適用される二次元グリッドの各ユニットにわたる深度の変化に基づいて決定される。このテッセレーション処理の一例を図6Aおよび図6Bに示す。
【0051】
図6Aでは、三角形タイルを有する二次元グリッド604が、所与のソース画像に関連付けられた深度マップ602Aと位置合わせされているものとして示されている。図6Bでは、同じグリッド604が、対応するソース画像602Bと位置合わせされて示されており、このソース画像は、この場合、立体視画像を構成するカラー画像の1つに対応する。図6Aおよび図6Bでは、ソース画像と、対応する深度マップの部分とが正確に位置合わせされている。タイルのx座標とy座標は、スクリーンで見たときに等間隔になるように設定され、z座標は、対応する深度マップの適切なミップマップレベルをサンプリングすることによって決定される。テッセレーション密度は、三角形タイルごとに、タイルの頂点にわたる深度の変化量によって決定される。これにより、確実に、可能な限り多くの表面の形状が幾何学形状に取り込まれる。
【0052】
ソース画像の多角形メッシュの生成に続いて、メッシュの少なくとも一部分がトリミングされてもよい。このトリミングは、メッシュの少なくとも一部が被写体の輪郭に対応するしきい値境界の外側にあるという判定に基づいて実行することができる。
【0053】
このトリミングの例が図7に示されており、最上部の画像702は、被写体を表す符号付き距離フィールドに対応し、しきい値境界704が重畳されている。しきい値境界704は、SDFに基づいて決定されてもよく、すなわち、被写体の形状の「内側」と「外側」との間の境界がSDFによって規定されてもよい。図7では、最下部の画像706は、図6に示すソース画像に対応し、三角形メッシュが重畳されている。三角形は、境界704からのしきい値距離を規定することによって、メッシュから除去されてもよく、このしきい値距離を超えると、メッシュから三角形が除去される。一例では、境界704の外側の4ピクセルを超える位置にある任意の三角形が除去されることがあってもよい。最下部の画像706では、領域708は、内部に含まれているメッシュの任意の三角形が除去される領域に対応する。
【0054】
ソース画像それぞれについて多角形メッシュを生成した後、歪み画像は、それぞれのメッシュの少なくとも一部を、仮想カメラが向いている方向に対して垂直になるように再投影することによって生成されてもよい。すなわち、ソース画像それぞれについて、歪み画像は、対応するメッシュの少なくとも一部を、仮想カメラに面するように再投影することによって生成されてもよい。この技法の例を図8Aおよび図8Bに示す。
【0055】
図8Aでは、カメラ802、および被写体を表すメッシュ804Aのテッセレーションされた表面の上面図が示されている。被写体に対するカメラ802の位置および向きは、ソース画像のうちの1つについての被写体に対するカメラの位置および向きに対応する。図8Bでは、メッシュの頂点は、レンダーカメラの位置に対応する仮想カメラの位置(位置「x」で示す)に従って再投影されたものとして示されている。図8Bでは、メッシュの再投影部分が再投影部分804Bとして示されている。図8Bからわかるように、これらの部分の頂点は、ビュー平面に対して平行(および仮想カメラのビュー方向に対して垂直)になるように再投影されている。この再投影は、例えば、スクリーン空間において、三角形のx値およびy値は、保持されるが、z値が3つの頂点の視点に最も近い値に設定されるように、または代替として3つの頂点の中央値または平均値に設定されるように、多角形メッシュ内の三角形の少なくとも一部を再位置合わせすることを含むことができる。仮想カメラに面するようにメッシュの部分を再投影するこの処理は、ソース画像それぞれについてのカメラの姿勢および仮想カメラの姿勢に基づいて、メッシュそれぞれについて繰り返されてもよい。
【0056】
各メッシュの少なくとも一部を再投影すると、それらのメッシュに適用するためのテクスチャを生成することができる。すなわち、ソース画像から歪み画像を生成することは、再投影されたメッシュそれぞれについて、そのメッシュに適用するためのテクスチャを生成することを含むことができる。所与のメッシュのテクスチャは、対応するソース画像をメッシュに視差マッピングすることによって生成されてもよい。このマッピングを実行するために、視差シェーダを使用することができる。視差シェーダは、仮想カメラのビューにマッピングする際に、ソース画像の視点の変化を補正する。(所与のソース画像についての)各歪み画像は、テクスチャが適用された対応する再投影されたメッシュのレンダリングに対応することができる。
【0057】
図9は、ソース画像から取得された色情報が、(上述したように)少なくとも一部が再投影された対応するメッシュにテクスチャとして適用され得る技法の例を示す。ここで、メッシュは、ソース画像を介して生成されたという意味で「対応」している。すなわち、各メッシュは、異なるソース画像を使用して生成されてもよい。
【0058】
図9の左側には、深度マップ902の一部、およびソース画像の対応する部分(歪みのない)904Aが示されている。この部分内に、領域906Aが、視差マッピングが適用されるテクスチャ領域に対応して示されている。図9に示す領域906は、対応するメッシュの多角形(例えば、三角形)上にマッピングされるソース画像の一部に対応することができる。同じテクスチャ領域906Bが、視差マッピングに続いて、図9の右側にソース画像904Bの歪んだ部分内に示されている。
【0059】
図9の中央領域には、被写体908の表面が、対応するソース画像および被写体の深度マップが取得されたソースカメラ910に対して示されている。図9に示す被写体908の表面は、深度マップから生成された多角形のプロキシジオメトリ表面として表されている。
【0060】
ソースカメラの姿勢は、問題となっているソース画像がキャプチャされたカメラの姿勢に対応する。図9では、(位置「x」で示す)仮想カメラの姿勢も、被写体に対して示されている。仮想カメラの姿勢は、被写体に対する視聴者の姿勢に対応する。
【0061】
図9では、第1の光線912が、(メッシュの再投影された多角形に対応する)VR画像に平行な多角形エッジから開始して示されており、光線マーチングを使用して深度マップの表面エッジに当たるまで投射される。次いで、光線を追跡して、ソーステクスチャ上のその位置を見出す。これは、(第2の光線914を介して示されるように)VR画像に平行な多角形エッジに沿って複数の光線について繰り返される。これから、ソース画像の所与の部分(すなわち、ソーステクスチャ)をVR視点の画像空間内にどのように湾曲(warp)させるべきかを決定することができる。ソーステクスチャの所与の部分について適切な湾曲が決定されると、ソーステクスチャのその部分をメッシュの対応する多角形に当てはめることができる。
【0062】
[歪み画像の合成]
図2に戻ると、第4のステップS204において、歪ませたソース画像それぞれについて重みが決定される。所与のソース画像の重みは、歪み画像をキャプチャしたカメラの姿勢と、仮想カメラの姿勢との類似性(すなわち、実際のカメラと仮想カメラのビューとの一致度)に基づいて決定される。これは、ソースカメラと、仮想カメラの姿勢との類似性が大きいほど、最終的な混合された画像における歪み画像の寄与が大きくなることを意味する。一部の例では、所与の歪み画像の重みは、対応するソースカメラの、仮想カメラおよび被写体への近接度に基づいて決定することができる。
【0063】
図10Aは、歪み画像に関連付けられた重みを決定することができる方法の一例を示す。図10Aでは、仮想カメラ1002は、被写体1004に対して所定の姿勢で示されている。仮想カメラを被写体と結ぶ線は、破線の矢印1006を介して示されており、この矢印は、z方向の被写体の距離の表示を提供する。被写体に対するソースカメラの姿勢は、姿勢1008で示されている。図10Aおよび図10Bでは、ソースカメラは、共平面配置で配置されている。
【0064】
図10Aは、被写体、ソースカメラ、および仮想カメラの主に上から見下ろした図に対応する。図10Bは、同じソースカメラを横断面図で示す。すなわち、図10Bでは、ソースカメラの相対的な水平位置および垂直位置が示されている(しかし、被写体からのそれらの相対的な距離は示されていない)。
【0065】
歪み画像に関連付けられた重みは、仮想カメラを被写体と結ぶ線と、カメラアレイ平面との交点を計算することによって決定することができる。図10Aおよび図10Bでは、この交点は右端の3つのカメラについて「x」としてマークされている。カメラアレイ平面は、少なくとも3つの隣接するカメラを結ぶ平面として規定されてもよい。例えば、図10Aおよび図10Bでは、x-y平面は、中央のカメラを中心とした4つのスライスに分割されて示されており、各スライスは、異なるサブセットの3つのカメラによって規定されるカメラアレイ平面に対応する。
【0066】
所与の歪み画像に関連付けられた重みは、所与のカメラアレイ平面内の対応するソースカメラと、(「x」とマークされた)交点との間の距離に基づいて決定することができる。例えば、右端の3つのカメラについては、「x」とマークされた点と、そのカメラの位置との間の距離が小さいほど、各カメラに関連付けられた重みが大きくなり得る。所望により、ますます遠く離れたカメラからの寄与も使用されてもよいことが理解されよう。
【0067】
一部の例では、各歪み画像に関連付けられた重みを決定することは、観察者および被写体からの光線と、カメラアレイ平面を構成する三角形のそれぞれとの交点の符号付き重心座標を決定することを含むことができる。典型的な非縮退の使用事例では、三角形のうちの1つについては、重心座標のうちの2つまたは3つが正であり、合致したビューに対する重みとして使用することができる。
【0068】
一般に、所与の歪み画像の重みは、対応するソースカメラの、仮想カメラおよび被写体への近接度に基づいて決定することができる。図10Aに示す例では、例えば、右上のカメラによってキャプチャされたソース画像と比較して、左上のカメラによってキャプチャされたソース画像により低い重みが割り当てられてもよい。これは、左上のカメラのビューが仮想カメラのビューとあまり一致しないためである。
【0069】
一部の例では、各ソースカメラが向いている方向がわかっている場合があり、この情報を、仮想カメラを被写体と結ぶベクトルと比較して、各ソースカメラが仮想カメラとどのくらい厳密に位置合わせされているかを判定することができる。ソースカメラおよび仮想カメラの位置を使用して、ソースカメラが仮想カメラとどのくらい厳密に位置合わせされているかも判定することができる。繰り返すが、所与のソースカメラが仮想カメラに近くなるほど、そのソースカメラを介して生成された歪み画像に割り当てられる重みが大きくなる。
【0070】
図10Bに示すカメラは、共平面配置にあるが、他の配置が使用されてもよいこと、および異なる(実際には複数の)カメラアレイ平面が存在してもよく、そのカメラアレイ平面について、その平面またはサブ平面を規定するカメラに対して交点が決定されて、それらのカメラから取得された歪み画像に関連付けられた重みを決定することができることが理解されよう。
【0071】
上述した技法は、中央のカメラと、中央のカメラの周りに対称または非対称に配置されたN個の遠位カメラと、が存在する任意のカメラ配置に拡張することができる。例えば、N個ものカメラアレイ平面が存在してもよく(ここで、N+1はカメラの総数に等しく、「1」は中央のカメラからのものである)、仮想カメラを被写体と結ぶ光線と、これらの平面のうちの1つまたは複数との交点を決定することができる。次いで、この交点を使用して、上述した技法のいずれかを使用して、各カメラから取得した画像に関連付けられた重みを決定することができる。
【0072】
より一般的には、任意のカメラ配置を使用することができ、x-y平面上に投影されたそれらのカメラの原点を使用して、その平面の三角形の不規則ネットワークカバレッジを決定することができる。次いで、仮想カメラとの交点「x」を含む三角形を形成する少なくとも3つのカメラからの重みの寄与を使用して、最終的な混合画像を生成することができる。
【0073】
図2に戻ると、第5のステップS205において、決定された重みに従って、歪み画像が合成され、それにより被写体の画像が仮想カメラの視点から生成される。生成された画像は、HMDに表示するために出力される立体視画像に対応することができる。所望により、各歪み画像の完全に透明なピクセルは、歪み画像を混合する前に破棄されてもよい。
【0074】
一部の例では、立体視カメラによってキャプチャされた左右の画像の各セットに対して、一組の歪み画像を生成することができる。左の画像用に生成された歪み画像は、HMDの左目のディスプレイエレメントに表示するための画像を形成するために、一緒に混合されてもよい。同様に、右の画像用に生成された歪み画像は、HMDの右目のディスプレイエレメントに表示するための画像を形成するために、一緒に混合されてもよい。
【0075】
図11は、上述の方法に従って生成された歪み画像1102A、1102B、1102C、1102D、1102Eの例を示す。図11の歪み画像の相対的な配置は、対応するソース画像をキャプチャした立体視カメラの相対的な配置に対応する。図11では、歪み画像はすべて、前述した立体視画像の左の(または右の)画像から生成された一組の歪み画像に対応する。
【0076】
図11からわかるように、歪み画像には様々なレベルの孔(すなわち、欠落した色データ)がある。所与の歪み画像に関連付けられた孔のレベルは、一般に、関連付けられたソース画像が、被写体が表現される仮想カメラの視点にどれだけ厳密に一致しているかに依存する。図11では、仮想カメラの視点は、被写体の左側に向けられているものに対応し、したがって、対応する位置のソースカメラから取得した歪み画像(例えば、画像1102A、1102C、1102D)は、孔が少ない。どんな場合でも、歪み画像が合成されると、合成画像の孔がより少なくなる。
【0077】
決定された重みに従って、歪み画像を混合することによって生成された画像の例が図11の最終画像1104として示されている。図11からわかるように、最終画像1104には、歪み画像のいずれもが塗りつぶすことのできなかった被写体の領域に対応して、依然としていくつかの間隙がある。これらの領域は、例えば、単純なしきい値ベースのフィルタを使用して塗りつぶすことができる。したがって、実際に表示される最終画像は、少なくともいくつかの孔塗りつぶしが実行された混合歪み画像に対応することができる。
【0078】
一部の例では、テクスチャ空間が制限されており、(立体ペアそれぞれについて)立体ペアからの1つの画像のみが最終的な混合において使用されることがあってもよい。これらの画像が再投影されるとき、特に、この妥協が外側のカメラ(例えば、すべての左側またはすべての右側のカメラ)にのみ使用される場合、最終画像の品質は、一般に十分である。これは、例えば、最終画像が立体視画像としてではなく、単一画像として表示される場合に適切である場合がある。代替としてまたは加えて、このようにして生成された単一画像から立体視画像が引き続き生成されることがあってもよい。
【0079】
最終画像を生成する際に立体視画像からの一組の画像のみが使用される場合、鏡面ハイライトおよび反射が依然として正確に表現されることが多いことが本発明者らによって見出された。これは、反射の深さが反射面ではなく深度マップに記憶されているためである。しかしながら、結果は、一般に、各立体視ペアの両方の画像が最終画像の生成に使用される場合に改善される。
【0080】
被写体の最終画像が生成されると、この画像が没入型ビデオの一部として表示されてもよい。被写体が表示される環境は、被写体自体とは別に生成される場合がある。例えば、被写体は、コンピュータで生成された環境の前に重畳されてもよい。場合によっては、例えば、スタジオまたはセットなどの環境のLIDARスキャンが実行され、これを使用してその環境の再構成を生成することがあってもよい。これは、例えば、没入型ビデオが現実の環境で行われるライブ演奏またはゲームに対応している場合に適切な場合がある。次いで、被写体は、被写体の表現が上述の方法に従って調整される、この再構成された環境内に適切に配置されてもよい。
【0081】
上述の実施形態は、HMDに表示するための画像の生成に関連して説明されたが、任意のタイプの表示スクリーンに表示するために、同じ技法を等しく使用して、オブジェクトを3Dでレンダリングすることができることが理解されよう。
【0082】
コンピュータ・システムに前述した方法を実行させるように適合されたコンピュータ実行可能命令を有するコンピュータ可読媒体も提供することができる。一部の例では、レンダリング方法は、例えば、ゲームコンソールで実行されてもよく、最終画像がゲームコンソールと通信しているHMDのディスプレイに表示されてもよい。代替としてまたは加えて、レンダリングの少なくとも一部は、例えば、サーバで実行されてもよく、最終画像が、例えばインターネット接続を介して、またはサーバと通信しているゲームコンソールを介して、サーバと通信しているHMDのディスプレイに提供されてもよい。代替としてまたは加えて、HMDは、適切な処理手段を備えている場合、レンダリング方法自体の少なくとも一部を実行することができる。
【0083】
一部の例では、レンダリングが、サーバ、ゲームコンソール、またはHMDのうちの2つ以上で共有され、最終画像が、必要に応じてゲームコンソールからHMDに中継されることがあってもよい。最終的に、サーバ、ゲームコンソール、およびHMDの任意の組合せを使用して、それぞれのハードウェア能力およびレンダリングされる被写体の性質に応じて、レンダリングを実行することができる。
【0084】
ここで、上述した方法を実施するための表示システムを図12に関連して説明する。
【0085】
表示システム1200は、オブジェクトの画像を視聴者に表示するように動作可能なディスプレイエレメント1202を備える。オブジェクトは、静的(例えば、ぬいぐるみの玩具)または動的(例えば、演奏者)なオブジェクトである。オブジェクトは、前述した被写体に対応する。ディスプレイエレメントは、図1に関連して前述したように、HMDのディスプレイに対応することができる。
【0086】
本システムは、視聴者の頭部の姿勢を検出するように動作可能な姿勢検出器1204をさらに備える。姿勢検出器1204は、例えば、HMDに組み込まれた加速度計および/またはジャイロスコープを備えることができる。代替としてまたは加えて、姿勢検出器1204は、1つまたは複数のカメラを備えてもよく、視聴者の頭部の姿勢は、1つまたは複数のカメラによってキャプチャされた画像内の視聴者の頭部の姿勢に基づいて検出されてもよい。一部の例では、HMDには複数の光源が取り付けられており、視聴者の頭部の姿勢は、(例えば、コンスタレーション追跡を使用して)カメラによってキャプチャされた画像にこれらの光源がどのように現れるかに基づいて決定されてもよい。
【0087】
前述したように、視聴者の頭部の姿勢は、異なるそれぞれの視点からオブジェクトを見るために使用される仮想カメラの姿勢に対応することができる。したがって、姿勢検出器1204により、仮想カメラの姿勢を決定することが可能になる。視聴者が没入型ビデオを見ているとき、仮想カメラ(および視聴者の頭部)の姿勢は、オブジェクトのソース画像がキャプチャされたソースカメラの姿勢とは異なることが一般に予想される。
【0088】
本システムは、オブジェクトの複数のソース画像と、各ソース画像をキャプチャしたカメラの姿勢を示すカメラ姿勢データと、を取得するように動作可能な画像プロセッサ1206をさらに備える。前述したように、各ソース画像は、複数のカメラのアレイ(例えば、立体視カメラ)によって、または単一のカメラをオブジェクトに対して異なる位置に移動させることによってキャプチャすることができる。各ソース画像は、カメラ姿勢データが対応する、対応するソースカメラに関連付けられている。ソース画像は、図3図11に関連して前述したやり方のいずれかでキャプチャされたものであってもよい。
【0089】
画像プロセッサ1206は、姿勢検出器1204からの入力を受信し、それに応答して、ソース画像に関連付けられた1つまたは複数のカメラの姿勢と、オブジェクトに対する視聴者の頭部の現在の姿勢との差に基づいてソース画像の少なくともいくつかを歪ませるように構成されている。オブジェクトに対する視聴者の頭部の姿勢は、オブジェクトの再構成に対する仮想カメラの姿勢に対応する。
【0090】
具体的には、画像プロセッサ1206は、その画像に関連付けられたソースカメラの姿勢と、オブジェクトが視認可能な仮想カメラの姿勢との差に基づいて各ソース画像を歪ませるように構成されている。ソース画像の歪みは、図3図11に関連して上述した方法のいずれかに従って実行することができる。
【0091】
本システムは、その画像に関連付けられたカメラの姿勢と、オブジェクト(またはその再構成)に対する視聴者の頭部の姿勢との類似性に基づいて、各歪み画像に関連付けられた重みを決定するように構成された画像合成器1208をさらに備える。画像合成器1208は、関連付けられた重みに従って歪み画像を一緒に合成して、ディスプレイエレメントに表示するための被写体の画像を形成するようにさらに構成されている。すなわち、画像合成器1208は、歪み画像を一緒に混合して、視聴者の視点(これは、ひいては、オブジェクトを視認可能にする仮想カメラの視点に対応する)からのオブジェクトの最終画像を生成するように構成されてもよい。最終的な混合画像は、視聴者に視認可能な現実の環境または仮想環境に対応し、これと重畳されてもよい。
【0092】
一部の例では、画像プロセッサ1206は、各ソース画像に関連付けられた深度データを取得し、ソース画像それぞれについて、ソース画像およびその画像に関連付けられた深度データに基づいて被写体の多角形メッシュを生成するようにさらに構成されている。深度データは、前述したやり方のいずれかで取得することができる。画像プロセッサ1206は、ソース画像に対して生成されたメッシュの少なくとも一部を、視聴者の頭部が向いている方向(視聴者の視線方向に対応する)に対して垂直になるように再投影することによって、各ソース画像から歪み画像を生成するように構成されている。メッシュのこの再投影は、図8Aおよび図8Bに関連して前述した。
【0093】
画像プロセッサ1206は、再投影されたメッシュそれぞれについて、そのメッシュに適用するためのテクスチャを生成するように構成されてもよい。画像プロセッサ1206は、ソース画像の部分を、そのソース画像から生成された再投影されたメッシュの対応する部分に視差マッピングするように動作可能な視差シェーダを備えることができる。前述したように、この視差マッピング処理は、図9に示されている。
【0094】
視聴者の頭部の姿勢は、オブジェクトを見るための仮想カメラの姿勢に対応し、ソース画像をキャプチャした1つまたは複数のカメラの姿勢は、カメラアレイ平面に対応する。画像合成器1208は、仮想カメラをオブジェクトと結ぶベクトルと、カメラアレイ平面との交点を決定することによって、歪み画像それぞれについての重みを決定するように構成されてもよい。画像合成器1208は、歪み画像それぞれについて、その画像に関連付けられたカメラの距離およびカメラアレイ平面上の交点に基づいて、重みを決定するように構成されてもよい。この処理は、前述した図10Aおよび図10Bに示されている。
【0095】
一部の例では、画像プロセッサ1206は、ディスプレイエレメント1202を備えるヘッドマウントディスプレイ(HMD)と通信するビデオゲームコンソールに実装されてもよい。したがって、ビデオゲームコンソールは、歪み画像を生成して混合し、その結果をHMDに送信して表示するように構成されてもよい。一部の例では、歪み画像が、例えばゲームコンソールで生成され、合成がHMDで実行されることがあってもよい。例えば、PS5(商標)などの次世代コンソールは、上述した方法に従ってソース画像のそれぞれを歪ませるのに適している可能性がある。
【0096】
代替としてまたは加えて、画像プロセッサ1206は、上述したようなビデオゲームコンソールと同様のやり方で、HMD自体に実装されてもよい。
【0097】
代替としてまたは加えて、画像プロセッサ1206は、例えば、ビデオゲームコンソールおよび/またはHMDが通信しているサーバに実装されてもよい。したがって、歪み画像は、サーバで生成され、サーバから(場合によっては、ゲームコンソールを介して)HMDに送信されてもよい。理解されるように、視聴者は、自分の頭部のいくつかの小さな動きを行うことがあるため、歪み画像がサーバではなくゲームコンソールで生成されることが好ましい場合がある。これにより、オブジェクトが対応する視点からレンダリングされ得る前に、頭部姿勢データをサーバに送信しなければならないことによってもたらされる遅延が制限される。
【0098】
本明細書に記載の方法は、ソフトウェア命令によって、または専用ハードウェアの包含または置換によって適用可能なように適切に適合された従来のハードウェア上で実行することができることが理解されよう。したがって、従来の等価な機器の既存の部分への必要な適合は、フロッピー(登録商標)ディスク、光ディスク、ハードディスク、PROM、RAM、フラッシュメモリ、またはこれらもしくは他の記憶媒体の任意の組合せなどの非一時的な機械可読媒体に記憶されたプロセッサ実施可能命令を含むコンピュータ・プログラム製品の形態で実施されてもよく、あるいはASIC(特定用途向け集積回路)またはFPGA(フィールド・プログラマブル・ゲート・アレイ)または従来の等価な機器に適合する際に使用するのに適した他の構成可能な回路としてハードウェアで実現されてもよい。別個に、そのようなコンピュータ・プログラムは、イーサネット(登録商標)、ワイヤレス・ネットワーク、インターネット、またはこれらもしくは他のネットワークの任意の組合せなどのネットワーク上のデータ信号を介して送信されてもよい。
図1
図2
図3
図4
図5
図6A
図6B
図7
図8A
図8B
図9
図10A
図10B
図11
図12