(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024156677
(43)【公開日】2024-11-06
(54)【発明の名称】新規ビュー合成のためのニューラルブレンド
(51)【国際特許分類】
G06T 15/20 20110101AFI20241029BHJP
G06T 19/00 20110101ALI20241029BHJP
【FI】
G06T15/20 500
G06T19/00 A
【審査請求】有
【請求項の数】21
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024109644
(22)【出願日】2024-07-08
(62)【分割の表示】P 2021577153の分割
【原出願日】2021-04-08
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】マーティン・ブルアラ,リカルド
(72)【発明者】
【氏名】ゴールドマン,ダニエル
(72)【発明者】
【氏名】ホッペ,ユーグ・エルベ
(72)【発明者】
【氏名】ツァイ,リン
(72)【発明者】
【氏名】ヘッドマン,ラース・ピーター・ヨハネス
(57)【要約】 (修正有)
【課題】目標被写体の仮想ビューを生成する方法、装置及びアルゴリズムを提供する。
【解決手段】方法は、複数の入力画像、複数の深度画像及び複数のビューパラメータを受信し、複数の入力画像と、複数のビューパラメータと、複数の深度画像のうちの1つとに基づいて、複数のワープ画像を生成し、複数の深度画像、複数のビューパラメータ及び複数のワープ画像をニューラルネットワークに提供することに応答して、目標被写体の仮想ビューの画素に色を割当てるためにブレンド重みをニューラルネットワークから受信し、ブレンド重みおよび仮想ビューに基づいて、ビューパラメータに従って合成画像を生成する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法であって、
複数の入力画像を受信することと、
前記複数の入力画像のうち少なくとも1つにおける目標被写体に関連付けられた複数の深度画像を受信することと、
前記目標被写体の仮想ビューを生成するために、複数のビューパラメータを受信することと、
前記複数の入力画像と、前記複数のビューパラメータと、前記複数の深度画像のうちの少なくとも1つとに基づいて、複数のワープ画像を生成することと、
前記複数の深度画像、前記複数のビューパラメータ、および前記複数のワープ画像をニューラルネットワークに提供することに応答して、前記ニューラルネットワークから、前記目標被写体の前記仮想ビューの画素に色を割当てるためのブレンド重みを受信することと、
前記ブレンド重みおよび前記仮想ビューに基づいて、前記複数のビューパラメータに従って合成画像を生成することとを備える、方法。
【請求項2】
前記複数の深度画像上に幾何学的融合処理を用いてコンセンサス表面を再構成して、幾何学的に融合されたモデルを生成することと、
前記複数の入力画像および前記コンセンサス表面に基づいて、複数の再投影画像を生成することと、
前記複数の深度画像、前記複数のビューパラメータ、および前記複数の再投影画像を前記ニューラルネットワークに提供することに応答して、前記ニューラルネットワークから、前記合成画像内の画素に色を割当てるための追加のブレンド重みを受信することとをさらに備える、請求項1に記載のコンピュータにより実現される方法。
【請求項3】
前記ニューラルネットワークに、前記幾何学的に融合されたモデルの深度と前記複数の深度画像で観察される深度との差を提供することと、前記深度の差に基づいて、前記合成画像において検出されるオクルージョンを補正することとをさらに備える、請求項2に記載のコンピュータにより実現される方法。
【請求項4】
前記複数の入力画像は、前記複数の入力画像を取込んだ少なくとも1つのカメラに関連付けられた、予め定義されたビューパラメータに従って取込まれた色画像であり、かつ/または、
前記複数の深度画像は各々、前記複数の入力画像のうちの少なくとも1つを取込んだ少なくとも1つのカメラに関連付けられた深度マップ、少なくとも1つのオクルージョンマップ、および/もしくは、前記複数の入力画像のうちの少なくとも1つの取込みに対応するときに少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像に関連付けられた深度マップを含む、先行する請求項のいずれか1項に記載のコンピュータにより実現される方法。
【請求項5】
前記ブレンド重みは、ブレンド色を前記合成画像の各画素に割当てるように構成される、先行する請求項のいずれか1項に記載のコンピュータにより実現される方法。
【請求項6】
前記ニューラルネットワークは、前記ニューラルネットワークによって生成される前記合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数の最小化に基づいて訓練される、先行する請求項のいずれか1項に記載のコンピュータにより実現される方法。
【請求項7】
前記合成画像は、3次元ビデオ会議のために生成される前記目標被写体の未取込みビュ
ーである、先行する請求項のいずれか1項に記載のコンピュータにより実現される方法。
【請求項8】
前記複数の入力画像と、前記複数のビューパラメータと、前記複数の深度画像のうちの少なくとも1つとに基づいて前記複数のワープ画像を生成することは、前記複数の深度画像のうちの少なくとも1つを用いて、未取込みビューに対する、前記複数の入力画像に関連付けられた色の候補投影を判断することを含み、前記未取込みビューは、前記複数の入力画像のうちの少なくとも1つの画像特徴の少なくとも一部を含む、先行する請求項のいずれか1項に記載のコンピュータにより実現される方法。
【請求項9】
先行する請求項のいずれか1項に記載の方法を実行するための画像処理システムであって、前記システムは、
少なくとも1つの処理デバイスと、
実行されると、前記システムに動作を行わせる命令を格納したメモリとを備え、前記動作は、
前記画像処理システムによって取込まれる複数の入力画像を受信することと、
前記画像処理システムによって取込まれる複数の深度画像を受信することと、
前記複数の入力画像のうちの少なくとも1つに関連付けられた未取込みビューに関連付けられた複数のビューパラメータを受信することと、
前記複数の入力画像と、前記複数のビューパラメータと、前記複数の深度画像のうちの少なくとも1つとに基づいて、複数のワープ画像を生成することと、
前記複数の深度画像と、前記複数のビューパラメータと、前記複数のワープ画像とをニューラルネットワークに提供することに応答して、前記ニューラルネットワークから、前記未取込みビューの画素に色を割当てるためのブレンド重みを受信することと、
前記ブレンド重みに従って合成画像を生成することとを含み、前記合成画像は、前記未取込みビューに対応する、画像処理システム。
【請求項10】
前記複数の入力画像は、前記画像処理システムに関連付けられた、予め定義されたビューパラメータに従って前記画像処理システムによって取込まれる色画像であり、かつ/または、
前記複数の深度画像は、前記複数の入力画像のうちの少なくとも1つを取込んだ少なくとも1つのカメラに関連付けられた深度マップ、少なくとも1つのオクルージョンマップ、および/もしくは前記画像処理システムのウィットネスカメラに関連付けられた深度マップを含む、請求項9に記載の画像処理システム。
【請求項11】
前記ブレンド重みは、前記合成画像の各画素にブレンド色を割当てるように構成される、請求項9または10に記載の画像処理システム。
【請求項12】
前記ニューラルネットワークは、前記ニューラルネットワークによって生成される前記合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数の最小化に基づいて訓練される、請求項9~11のいずれか1項に記載の画像処理システム。
【請求項13】
前記合成画像は、3次元ビデオ会議のために生成される新規のビューである、請求項9~12のいずれか1項に記載の画像処理システム。
【請求項14】
命令を格納した非一時的な機械読取可能媒体であって、前記命令は、プロセッサによって実行されると、コンピューティングデバイスに、
複数の入力画像を受信することと、
前記複数の入力画像のうちの少なくとも1つにおける目標被写体に関連付けられた複数の深度画像を受信することと、
前記目標被写体の仮想ビューを生成するために、複数のビューパラメータを受信することと、
前記複数の深度画像上に幾何学的融合処理を用いてコンセンサス表面を再構成して、前記目標被写体の幾何学的に融合されたモデルを生成することと、
前記複数の入力と、前記複数のビューパラメータと、前記コンセンサス表面とに基づいて、複数の再投影画像を生成することと、
前記複数の深度画像と、前記複数のビューパラメータと、前記複数の再投影画像とをニューラルネットワークに提供することに応答して、前記ニューラルネットワークから、前記目標被写体の前記仮想ビューの画素に色を割当てるためのブレンド重みを受信することと、
前記ブレンド重みおよび前記仮想ビューに基づいて、前記ビューパラメータに従って合成画像を生成することとを行わせる、非一時的な機械読取可能媒体。
【請求項15】
前記ニューラルネットワークに、前記幾何学的に融合されたモデルの深度と前記複数の深度画像で観察される深度との差を提供することと、前記深度の差に基づいて、前記合成画像内の検出されたオクルージョンを補正することとをさらに含む、請求項14に記載の非一時的な機械読取可能媒体。
【請求項16】
前記複数の入力画像は、前記複数の入力画像を取込んだ少なくとも1つのカメラに関連付けられた、予め定義されたビューパラメータに従って取込まれた色画像であり、かつ/または、
前記複数の深度画像は、前記複数の入力画像のうちの少なくとも1つを取込んだ少なくとも1つのカメラに関連付けられた深度マップ、少なくとも1つのオクルージョンマップ、および/もしくは、前記複数の入力画像のうちの少なくとも1つの取込みに対応するときに少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像と関連付けられた深度マップを含む、請求項14または15に記載の非一時的な機械読取可能媒体。
【請求項17】
前記ブレンド重みは、ブレンド色を前記合成画像の各画素に割当てるように構成される、請求項14~16のいずれか1項に記載の非一時的な機械読取可能媒体。
【請求項18】
前記ニューラルネットワークは、前記ニューラルネットワークによって生成される前記合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数の最小化に基づいて訓練される、請求項14~17のいずれか1項に記載の非一時的な機械読取可能媒体。
【請求項19】
前記合成画像は、3次元ビデオ会議のための新規のビューである、請求項14~18のいずれか1項に記載の非一時的な機械読取可能媒体。
【請求項20】
前記ニューラルネットワークはさらに、多重解像度ブレンドを行って、前記合成画像内の画素に画素色を割当てるように構成され、前記多重解像度ブレンドは、前記ニューラルネットワークに対する入力として画像ピラミッドの提供をトリガして、前記ニューラルネットワークから、複数のスケールについての多重解像度ブレンド重みと、各スケールに関連付けられた不透明度値との受信をトリガする、請求項14~19のいずれか1項に記載の非一時的な機械読取可能媒体。
【請求項21】
前記命令は、前記プロセッサによって実行されると、前記コンピューティングデバイスに、請求項1~8のいずれか1項に記載の方法を実行させる、請求項14~20のいずれか1項に記載の非一時的な機械読取可能媒体。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本記載は、一般に3次元(3D)コンテンツの合成に用いられる方法、装置およびアルゴリズムに関する。
【背景技術】
【0002】
背景
従来のオブジェクトレンダリングは一般に、リアルな画像を生成するために膨大な計算量を含む。オブジェクトが動いている場合、オブジェクトのリアルな画像を生成するために、計算量がさらに使用される場合がある。このようなレンダリングは、ニューラルネットワークを用いて、オブジェクトの外観をモデル化することができる。しかしながら、このようなモデルでは、余計なノイズおよび幾何学的なアーチファクトを有する画像が生成される可能性がある。
【発明の概要】
【0003】
概要
本明細書に記載されるシステムおよび方法は、入力画像および予め定義されたビューパラメータを用いて画像ベースのレンダリングを実行して、入力画像に基づいてビデオおよび/または画像の新規の(たとえば、見えない)ビューを生成(たとえば、合成)し得る。見えないビューの画像ベースのレンダリングでは、受信した入力画像にワーピング処理を利用することができる。一般に、ワーピング処理は、異なる入力ビューからの寄与がブレンドされるときにアーティファクトを生成し得る幾何学的不正確さおよびビュー、ならびに/または画像依存効果を引き起こし得る。本明細書に記載されるシステムおよび方法は、新規のビューの画像ベースのレンダリング用に画像コンテンツをブレンドするためにニューラルネットワーク(NN)を採用する深層学習法を用いる。特定のブレンド重みは、最終的な合成ビューに対する入力画像の寄与を結合するために、学習および使用される。ブレンド重みは、ビューの低減および/または画像依存効果ならびにより少ない数の画像アーティファクトを示す合成画像を生成する利点を提供するために生成される。
【0004】
NN、ワープ処理、および/またはブレンド重みを使用する際に生じる可能性がある技術的課題は、NN(たとえば、畳み込みニューラルネットワーク)が画像アーティファクトを避けるために適切なブレンド重みを選択できるような、十分に正確なジオメトリが欠如していることである。本明細書に記載されるシステムおよび方法は、入力画像のカラーおよび深度ビューの学習されたブレンドを使用し、および/または多重解像度ブレンド法を採用して、画像アーティファクトを低減した正確な画像を提供する画素色を選択することによって、この技術課題を解決し得る。たとえば、ブレンド重みは、所与のグラウンドトゥルース画像について適切および/または正確である可能性が低い投影画素色の重みを大きくしない一方で、グラウンドトゥルース画像に対して適切および正確である可能性が高い投影(たとえば、確率的に提供される)画素色を大きく重み付けるように適用されてもよい。
【0005】
このようなブレンド法を採用するために、本明細書に記載のシステムおよび方法は、特定のオンボードシステムカメラ(たとえば、カラーカメラ、赤外線カメラなど)に加えて、1つまたは複数のウィットネスカメラを利用し得る。ウィットネスカメラ(複数可)は、新規のビューを生成するために使用されるコンテンツを監視し得る。たとえば、ウィットネスカメラ(複数可)は、グラウンドトゥルースデータを提供するように機能し得る高解像度カメラでもよい。生成された新規のビューは、ウィットネスカメラ(複数可)から
受信された(たとえば、それによって取込まれた)グラウンドトゥルースデータと比較される。いくつかの実現例では、新規のビューの画像詳細は、新規のビューを生成する際にウィットネスカメラ(複数可)によって取込まれた画像詳細に基づいてスコアリング可能である。
【0006】
いくつかの実現例では、本明細書に記載されるシステムおよび方法では、訓練損失が考慮される。たとえば、システムは、合成ビューにおける時間的なちらつきアーティファクトを低減しつつ、高品質の新規ビュー合成を提供するために、損失を最小化するようにさまざまな取込まれたシーンを有するトレーニングデータを生成し得る。また、いくつかの実現例では、本明細書に記載されるシステムおよび方法は、合成された新規のビューにおけるアーティファクトを補正するためにオクルージョン推論を採用し得る。
【0007】
1つ以上のコンピュータからなるシステムは、動作中にシステムにアクションを実行させることが可能なソフトウェア、ファームウェア、ハードウェア、またはそれらの組合わせがシステムにインストールされていることによって、特定の動作またはアクションを実行するように構成可能である。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、この装置にアクションを実行させる命令を含むことによって、特定の動作またはアクションを実行するように構成可能である。
【0008】
ある一般的な態様において、複数の入力画像を受信し、複数の入力画像のうちの少なくとも1つにおける目標被写体に関連付けられた複数の深度画像を受信し、目標被写体の仮想ビューを生成するために、複数のビューパラメータを受信し、複数の入力画像と、複数のビューパラメータと、複数の深度画像のうちの少なくとも1つとに基づいて、複数のワープ画像を生成するためのシステムおよび方法について説明する。複数の深度画像、複数のビューパラメータ、および複数のワープ画像をニューラルネットワークに提供することに応答して、システムおよび方法は、ニューラルネットワークから、目標被写体の仮想ビューの画素に色を割当てるためにブレンド重みを受信し得る。システムおよび方法は、ブレンド重みおよび仮想ビューに基づいて、ビューパラメータに従って合成画像を生成し得る。
【0009】
これらおよび他の態様は、以下の1つもしくは複数を単独でまたは組合わせて含むことができる。いくつかの実現例では、システムおよび方法は、複数の深度画像上に幾何学的融合処理を用いてコンセンサス表面を再構成して、幾何学的に融合されたモデルを生成することと、複数の入力画像およびコンセンサス表面に基づいて複数の再投影画像を生成することとを備えてもよく、システムおよび方法は、複数の深度画像、複数のビューパラメータ、および複数の再投影画像をニューラルネットワークに提供することに応答して、ニューラルネットワークから、合成画像内の画素に色を割当てるための追加のブレンド重みを受信し得る。
【0010】
いくつかの実現例では、システムおよび方法はさらに、幾何学的に融合されたモデルの深度と複数の深度画像において観察された深度との差をニューラルネットワークに提供することを備えてもよく、方法はさらに、深度の差に基づいて、合成画像において検出されたオクルージョンを補正することを備える。いくつかの実現例では、複数の入力画像は、複数の入力画像を取込んだ少なくとも1つのカメラに関連付けられた、予め定義されたビューパラメータに従って取込まれた色画像であり、かつ/または、複数の深度画像は各々、複数の入力画像のうちの少なくとも1つを取込んだ少なくとも1つのカメラに関連付けられた深度マップ、少なくとも1つのオクルージョンマップ、および/または、複数の入力画像のうちの少なくとも1つの取込みに対応するときに少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像に関連付けられた深度マップを含む。いくつかの実現例では、ブレンド重みは、ブレンドされた色を合成画像の各画素に割当
てるように構成される。
【0011】
いくつかの実現例では、ニューラルネットワークは、ニューラルネットワークによって生成される合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数を最小化することに基づいて、訓練される。いくつかの実現例では、合成画像は、3次元ビデオ会議のために生成された目標被写体の未取込みビューである。
【0012】
いくつかの実現例では、複数の入力画像と、複数のビューパラメータと、複数の深度画像のうちの少なくとも1つとに基づいて複数のワープ画像を生成することは、複数の深度画像の少なくとも1つを用いて、複数の入力画像のうちの少なくとも1つの画像特徴の少なくとも一部を含む未取込みビューに対する、複数の入力画像に関連付けられた色の候補投影を判断することを含む。
【0013】
別の一般的な態様では、特に、先行する請求項のいずれか1項に記載の方法を実行するための画像処理システムが記載される。画像処理システムは、少なくとも1つのプロセッサと、実行されると、システムに動作を行わせる命令を格納したメモリとを備えてもよく、動作は、画像処理システムによって取込まれた複数の入力画像を受信することと、画像処理システムによって取込まれた複数の深度画像を受信することと、複数の入力画像のうちの少なくとも1つに関連付けられた未取込みビューに関連付けられた複数のビューパラメータを受信することと、複数の入力画像と、複数のビューパラメータと、複数の深度画像のうちの少なくとも1つとに基づいて、複数のワープ画像を生成することとを含む。複数の深度画像、複数のビューパラメータ、および複数のワープ画像をニューラルネットワークに提供することに応答して、システムは、ニューラルネットワークから、未取込みビューの画素に色を割当てるためにブレンド重みを受信することを含んでもよい。システムはさらに、ブレンド重みに従って合成画像を生成することを含んでもよく、合成画像は、未取込みビューに対応する。
【0014】
これらおよび他の態様は、以下の1つもしくは複数を単独でまたは組合わせて含み得る。いくつかの実現例では、複数の入力画像は、画像処理システムに関連付けられた、予め定義されたビューパラメータに従って画像処理システムによって取込まれる色画像であり、かつ/または、複数の深度画像は、複数の入力画像のうちの少なくとも1つを取込んだ少なくとも1つのカメラに関連付けられた深度マップ、少なくとも1つのオクルージョンマップ、および/または画像処理システムのウィットネスカメラに関連付けられた深度マップを含む。
【0015】
いくつかの実現例では、ブレンド重みは、ブレンドされた色を合成画像の各画素に割当てるように構成される。いくつかの実現例では、ニューラルネットワークは、ニューラルネットワークによって生成される合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数を最小化することに基づいて、訓練される。いくつかの実現例では、合成画像は、3次元ビデオ会議のために生成された新規のビューである。
【0016】
他の一般的な態様では、非一時的な機械読取可能媒体は、プロセッサによって実行されると、コンピューティングデバイスに、複数の入力画像を受信することと、複数の入力画像のうちの少なくとも1つにおける目標被写体に関連付けられた複数の深度画像を受信することと、目標被写体の仮想ビューを生成するために、複数のビューパラメータを受信することとを行わせる命令を格納すると説明される。また、非一時的な機械読取可能媒体は、複数の深度画像上に幾何学的融合処理を用いてコンセンサス表面を再構成して、目標被写体の幾何学的に融合されたモデルを生成することと、複数の入力と、複数のビューパラ
メータと、コンセンサス表面とに基づいて、複数の再投影画像を生成することとを行うように構成される。機械読取可能媒体は、複数の深度画像と、複数のビューパラメータと、複数の再投影画像とをニューラルネットワークに提供することに応答して、ニューラルネットワークから、目標被写体の仮想ビューの画素に色を割当てるためにブレンド重みを受信することと、ブレンド重みおよび仮想ビューに基づいて、ビューパラメータに従って合成画像を生成することとを行ってもよい。
【0017】
これらおよび他の態様は、以下の1つもしくは複数を単独でまたは組合わせて含むことができる。いくつかの実現例では、機械読取可能媒体はさらに、幾何学的に融合されたモデルの深度と、ニューラルネットワークに、複数の深度画像で観察される深度との差を提供することと、深度の差に基づいて、合成画像内の検出されたオクルージョンを補正することとを含む。いくつかの実現例では、複数の入力画像は、複数の入力画像を取込んだ少なくとも1つのカメラに関連付けられた、予め定義されたビューパラメータに従って取込まれた色画像であり、かつ/または、複数の深度画像は、複数の入力画像のうちの少なくとも1つを取込んだ少なくとも1つのカメラに関連付けられた深度マップ、少なくとも1つのオクルージョンマップ、および/もしくは、複数の入力画像のうちの少なくとも1つの取込みに対応するときに少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像と関連付けられた深度マップを含む。
【0018】
いくつかの実現例では、ブレンド重みは、ブレンドされた色を合成画像の各画素に割当てるように構成される。いくつかの実現例では、ニューラルネットワークは、ニューラルネットワークによって生成される合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数を最小化することに基づいて、訓練される。いくつかの実現例において、合成画像は、3次元ビデオ会議のための新規のビューである。いくつかの実現例では、ニューラルネットワークはさらに、多重解像度ブレンドを行って、合成画像内の画素に画素色を割当てるように構成され、多重解像度ブレンドは、ニューラルネットワークに対する入力として画像ピラミッドの提供をトリガして、ニューラルネットワークから、複数のスケールについての多重解像度ブレンド重みと、各スケールに関連付けられた不透明度値との受信をトリガする。
【0019】
これらおよび他の態様は、以下の1つもしくは複数を、単独でまたは組合わせて含むことができる。いくつかの態様によれば、本明細書で請求される方法、システム、およびコンピュータ読取可能媒体は、以下の特徴(またはそれらの任意の組合わせ)の1つ以上(たとえば、すべて)を含み得る。
【0020】
説明される技術の実現は、ハードウェア、方法もしくはプロセス、またはコンピュータアクセス可能な媒体上のコンピュータソフトウェアを含み得る。1つ以上の実現例の詳細は、添付の図面および以下の説明に記載されている。他の特徴は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0021】
【
図1】本開示を通じて説明される実現例に係る、合成コンテンツを表示デバイスに表示するための3Dコンテンツシステムの例を示すブロック図である。
【
図2】本開示を通じて説明される実現例に係る、ディスプレイ上でのレンダリングのためのコンテンツを合成するためのシステムの例を示すブロック図である。
【
図3】本開示を通じて説明される実現例に係る、目標カメラ視点への入力画像の再投影の例を示すブロック図である。
【
図4】本開示を通じて説明される実現例に係る、ディスプレイ上でのレンダリング用に合成コンテンツを生成するためにニューラルブレンド法を使用するためのフロー図の例を示すブロック図である。
【
図5】本開示を通じて説明される実現例に係る、ブレンド重みを生成するためのフロー図の例を示すブロック図である。
【
図6】本開示を通じて説明される実現例に係る、ニューラルブレンド法を用いて合成コンテンツを生成するプロセスの一例を示すフローチャートである。
【
図7】本明細書に記載された技術と共に使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す図である。
【発明を実施するための形態】
【0022】
複数の図面において同様の記号は同様の要素を示す。
詳細な説明
本明細書では、画像コンテンツの新規の(たとえば、見えない)ビューの生成に関連付けられた例について説明する。本明細書で説明する例は、取込まれた動画コンテンツおよび/または画像コンテンツに基づいて、リアルタイムの新規のビューを合成(たとえば、生成)し得る。たとえば、画像ベースのレンダリング技術は、カラービューおよび深度ビューの学習されたブレンディングを用いて、動画コンテンツ(たとえば、オブジェクト、ユーザ、シーンコンテンツ、画像フレームなど)の新規のビューを合成するために使用されてもよい。
【0023】
本明細書に記載のシステムおよび方法は、従来のシステムよりもアーチファクトの少ない新規のカラー画像を生成し得る。たとえば、本明細書に記載のシステムおよび方法は、特定の画像ノイズおよび損失関数分析を補正して、不正確な深度およびオクルージョンの少ない新規の画像を生成してもよい。補正は、ニューラルネットワーク(NN)を採用して、可視性エラーを含む画像領域の検出および補正を学習することによって行われてもよい。さらに、NNは、出力値がカラー入力画像から取出された再投影入力色の線形結合になるように制約するブレンディングアルゴリズムを用いて、新規のビューの色値の学習および予測が可能である。
【0024】
動作中、プロセスは、同じシーン(たとえば、シーン内の画像コンテンツ)の入力画像(たとえば、ビュー)からのカラー画像ストリームを組合わせることによって新規のビュー(たとえば、見えないカラー画像)を予測するために、多数の入力画像およびデータ(たとえば、目標ビューパラメータ)の取出し(たとえば、取込み、取得、受信など)を行ってもよい。カラー画像ストリームは、ニューラルレンダリング技術を採用してリアルタイム画像取込みシステム(たとえば、テレプレゼンスシステムなどの3Dビデオ会議システム)からの低品質の出力を強化するために、NNに提供されてもよい。たとえば、新規のビューは、本明細書に記載されるシステムおよび技術によって生成される予測カラー画像でもよい。予測画像は、予測カラー画像に画素色を割当てるために、NNに特定のブレンド重みを学習させるように、入力画像および結合カラー画像ストリーム(たとえば、および/またはそのような入力画像の再投影または再表現)をNNに提供することによって生成されてもよい。学習されたブレンド重みは、新規のカラー画像の画素色を生成するために適用され得る。また、学習されたブレンド重みは、1つ以上の提供される入力画像に示される画像コンテンツの他の新規のビューを生成するために使用されてもよい。
【0025】
いくつかの実現例では、本明細書に記載されるNNは、ユーザの画像を生成するために使用される特定のジオメトリ情報、および/またはユーザを取込むカメラから受信されたジオメトリ情報、および/またはユーザの画像に対して実行される画像処理から受信された情報のノイズ性によって生じるアーティファクトの誤投影を緩和するために、将来のユーザの動き(たとえば、運動)を予測するビュー依存効果をモデル化してもよい。
【0026】
いくつかの実現例では、本明細書に記載されるシステムおよび方法は、たとえば、出力カラー画像に監視を提供するために使用され得る別個のウィットネスカメラの視点におけ
る画像を予測するために、1つまたは複数のNN(たとえば、U-netなどの畳み込みNN)を訓練可能である。ウィットネスカメラは、本明細書に記載される画像取込みおよび/または処理システムのためのグラウンドトゥルースカメラとして機能してもよい。いくつかの実現例では、2つ以上のウィットネスカメラが、NNのための訓練データとして使用されてもよい。2つ以上のウィットネスカメラは、1つまたは複数の対のウィットネスカメラを表してもよい。
【0027】
いくつかの実現例では、システムおよび方法は、取込まれた入力画像、所望の新規の出力ビューに関連付けられた予め定義されたパラメータ、ならびに/または深度差を含むオクルージョンマップおよび深度マップを利用し得る。深度差は、新規のビューに最も近い表面とカメラビューの表面との間のカラーカメラからのビューを用いて生成されてもよい。深度差は、生成された画像におけるオクルージョンビューおよび/または他の誤差を補正するために、オクルージョン推論用に使用されてもよい。いくつかの実現例では、深度マップは、ウィットネスカメラによって取込まれたビューからの深度マップを含んでもよい。
【0028】
いくつかの実現例では、本明細書に記載されるシステムおよび方法は、入力深度画像の幾何学的融合によってコンセンサス表面(たとえば、幾何学的表面)を再構成し得る。いくつかの実現例では、本明細書に記載されるシステムおよび方法は、個別に取込まれた深度画像および/またはコンセンサス表面などの深度情報を用いて、新規のビューへの入力色の投影を判断してもよい。
【0029】
いくつかの実現例では、本明細書に記載されるシステムおよび方法は、新規のビューにおける各画素にブレンドされた色を割当てることによって、新規のビュー(たとえば、カラー画像)のカラー画像を生成し得る。ブレンドカラーは、カラー入力画像と、本明細書に記載されるNNによって決定されるブレンド重みとを用いて決定されてもよい。いくつかの実現例では、ブレンド重みは、損失関数を通じて正規化される。いくつかの実現例では、新規のビューは、元の入力画像から新規のビューに投影された画像の1つまたは複数の画素色値の重み付けされた組合わせである。
【0030】
本明細書で使用されるように、新規の(たとえば、見えない)ビューは、カメラで取込まれた画像コンテンツおよび/または動画コンテンツの1つもしくは複数のフレームに基づいて解釈(たとえば、合成、補間、モデル化など)された画像コンテンツおよび/または動画コンテンツを含んでもよい。カメラで取込まれた画像コンテンツおよび/または動画コンテンツの解釈は、たとえば、取込まれた画像コンテンツおよび/または動画コンテンツの見えないバージョンおよびビュー(たとえば、ポーズ、表情、角度など)を作成するために、本明細書に記載された技術と組合わせて使用されてもよい。
【0031】
いくつかの実現例では、本明細書に記載の技術は、たとえば、多方向2Dもしくは3Dビデオ(たとえば、テレプレゼンス)会議で用いられる2Dまたは3Dディスプレイの画面上に表示するために正確かつリアルに見える画像を合成するために使用可能である。本明細書で説明する技術は、ビデオ会議におけるユーザの正確かつリアルなビュー(たとえば、画像コンテンツ、動画コンテンツ)の生成および表示を行うために使用可能である。従来、ビューには、重大な画像アーティファクトを生じることなく3Dで描写することが困難である可能性のある見えないビューが含まれる。
【0032】
本明細書に記載のシステムおよび方法は、1つ以上のウィットネスカメラおよびNNを用いて、マルチビューカラー入力画像およびノイズオクルージョンキューに基づいてブレンド重みを学習することにより、著しい画像アーティファクトを生じることなく新規のビューを生成するという利点を提供する。学習されたブレンド重みは、結果として得られる
出力画像において、オクルージョンおよびカラーアーティファクトが補正されると保証可能である。さらに、学習されたブレンド重みおよび1つ以上のウィットネスカメラは、入力画像において取込まれていない画像コンテンツが、入力画像における画像コンテンツに関連付けられた新規のビューを正確に予測するために使用可能であると保証するために、本明細書に記載のシステムによって使用可能である。たとえば、ブレンド重みはウィットネスカメラ画像に関して学習および評価されるため、元の入力画像において取込まれなかった、または表現されなかったシーンの画像部分について正確な予測を行うことができる。
【0033】
いくつかの実現例では、本明細書に記載された技術は、映画、ビデオ、ショートフィルム、ゲームコンテンツ、仮想および/もしくは拡張現実コンテンツ、または本明細書に記載された予測技術から利益を得ることができるユーザの画像を含む他のフォーマットにおける娯楽目的のために使用され得る。たとえば、本明細書に記載された技術は、画像および/または動画コンテンツにおいてレンダリングされる動くキャラクタに対する新規のビューを生成するために使用されてもよい。
【0034】
いくつかの実現例では、本明細書に記載される技術は、本明細書に記載される技術を用いて、オブジェクトを認識し、オブジェクトを再現し、かつ/または、そのようなオブジェクトから合成画像を生成するために画像処理を実行し得る仮想アシスタントデバイスもしくは他の知的エージェントによって使用され得る。
【0035】
図1は、本開示を通じて説明される実現例に係る、立体表示デバイスにコンテンツを表示するための3Dコンテンツシステム100の例を示すブロック図である。3Dコンテンツシステム100は、たとえば、3Dでビデオ会議通信(たとえば、テレプレゼンスセッション)を行うため、ならびに/または、拡張現実および/もしくは仮想現実コンテンツにアクセスするために、複数のユーザによって使用可能である。一般に、
図1のシステムは、ビデオ会議セッション内で新規のビューを描写する正確な画像をレンダリングするために、2Dまたは3Dビデオ会議中にユーザおよび/もしくはシーンのビデオならびに/または画像を取込み、本明細書に記載のシステムおよび技術を用いて、取込んだコンテンツに基づいて新規のビューを生成するために使用され得る。このような技術は、たとえばビデオ会議内で、ユーザを正確に表すリアルタイムの新規のビューを生成および表示することができるので、システム100は、本明細書に記載された技術の使用から利益を得ることができる。新規のビューは、たとえば、システム100を介して、2Dおよび/または3Dで別のユーザに表示するために提供されてもよい。
【0036】
図1に示すように、3Dコンテンツシステム100は、第1のユーザ102と第2のユーザ104とによってアクセスされる。たとえば、ユーザ102および104は、3Dテレプレゼンスセッションに参加するために3Dコンテンツシステム100にアクセスし得る。このような例では、3Dコンテンツシステム100は、ユーザ102および104の各々が、互いの非常にリアルで視覚的に一致した表現を見ることができ、ユーザが互いに物理的に存在するのと同様の態様でインタラクションすることを容易にすることができる。
【0037】
各ユーザ102,104は、対応する3Dシステムを用いて3Dテレプレゼンスセッションを行い得る。ここでは、ユーザ102は3Dシステム106にアクセスし、ユーザ104は3Dシステム108にアクセスする。3Dシステム106,108は、3D表示のための画像の取込み、画像情報の処理および提示、ならびに音声情報の処理および提示を含むが、これらに限定されない、3Dコンテンツに関する機能性を提供することができる。3Dシステム106および/または3Dシステム108は、1つのユニットとして統合されたセンシングデバイスの集合体を構成することができる。3Dシステム106および
/または3Dシステム108は、
図2および
図8を参照して説明される一部のまたはすべてのコンポーネントを含み得る。
【0038】
3Dコンテンツシステム100は、1つもしくは複数の2Dまたは3Dディスプレイを含み得る。ここでは、3Dディスプレイ110が3Dシステム106のために描かれ、3Dディスプレイ112が3Dシステム108のために描かれる。3Dディスプレイ110,112は、それぞれのビューア(たとえば、ユーザ102またはユーザ104)のために立体視を提供するために、複数のタイプの3Dディスプレイ技術のいずれかを使用することができる。いくつかの実現例では、3Dディスプレイ110,112は、スタンドアロンユニット(たとえば、自己支持型または壁に吊り下げられたもの)でもよい。いくつかの実現例では、3Dディスプレイ110,112は、ウェアラブル技術(たとえば、コントローラ、ヘッドマウントディスプレイ、ARメガネなど)を含み得る、または、ウェアラブル技術へのアクセスを有し得る。いくつかの実現例では、ディスプレイ110,112は、2Dディスプレイでもよい。
【0039】
一般に、ディスプレイ110,112は、ヘッドマウントディスプレイ(HMD)デバイスを使用せずに、現実世界の物理オブジェクトの3D光学特性を近似する画像を提供することができる。本明細書に記載されるディスプレイは、レンチキュラーレンズ(たとえば、マイクロレンズアレイ)を収容するフラットパネルディスプレイ、および/または、ディスプレイに関連付けられた多数の異なる表示領域に画像をリダイレクトする視差バリアを含み得る。
【0040】
いくつかの実現例では、ディスプレイ110,112は、高解像度で眼鏡を必要としないレンチキュラー3Dディスプレイを含み得る。たとえば、ディスプレイ110,112は、ディスプレイのマイクロレンズに結合(たとえば、接着)されたガラススペーサーを有する複数のレンズ(たとえば、マイクロレンズ)を含むマイクロレンズアレイ(図示せず)を含み得る。マイクロレンズは、選択された視聴位置から、ディスプレイのユーザの左目が画素の第1のセットを見ることができ、ユーザの右目が画素の第2のセットを見ることができるように(たとえば、画素の第2のセットは、画素の第1のセットに対して相互に排他的である)設計されてもよい。
【0041】
いくつかのディスプレイの例では、そのようなディスプレイによって提供される画像コンテンツ(たとえば、ユーザ、オブジェクトなど)の3Dビューを提供する1つの場所が存在する場合がある。ユーザは、適切な視差、最小限の歪み、およびリアルな3D画像を体験するために、1つの場所に座っている場合がある。ユーザが異なる物理的な場所に移動する(または、頭の位置もしくは注視位置を変える)と、画像コンテンツ(たとえば、ユーザ、ユーザが着用するオブジェクト、および/または他のオブジェクト)は、よりリアルでなく、2Dで、および/または歪んで見え始める可能性がある。本明細書に記載されるシステムおよび技術は、ユーザが動き回ることができても、適切な視差、低い歪み率、およびリアルな3D画像をリアルタイムで確実に体験できるように、ディスプレイから投影される画像コンテンツを再構成し得る。したがって、本明細書に記載されるシステムおよび技術は、ユーザが3Dディスプレイを見ている間に生じるいかなるユーザの動きにも関係なく、ユーザに対してディスプレイ用の3D画像コンテンツおよびオブジェクトを維持し提供するという利点をもたらす。
【0042】
図1に示すように、3Dコンテンツシステム100は、1つまたは複数のネットワークに接続することができる。ここでは、ネットワーク114が3Dシステム106および3Dシステム108に接続されている。ネットワーク114は、ほんの2例を挙げると、一般提供されているネットワーク(たとえば、インターネット)、またはプライベートネットワークであり得る。ネットワーク114は、有線、または無線、またはその2つの組合
わせであり得る。ネットワーク114は、1つ以上のサーバ(図示せず)を含むがこれらに限定されない、1つ以上の他のデバイスまたはシステムを含み得る、または利用し得る。
【0043】
3Dシステム106,108は、3D情報の取込み、処理、送信もしくは受信、および/または3Dコンテンツの提示に関連する複数のコンポーネントを含み得る。3Dシステム106,108は、3D表現に含まれる画像用の画像コンテンツならびに/またはビデオ(たとえば、可視および赤外線画像データ)を取込むための1つまたは複数のカメラを含み得る。図示された例では、3Dシステム106は、カメラ116および118を含む。たとえば、カメラ116および/またはカメラ118は基本的に、それぞれのカメラ116および/または118の対物レンズまたはレンズがハウジング内の1つまたは複数の開口部を介して画像コンテンツを取込むように、3Dシステム106のハウジング内に配置可能である。いくつかの実現例では、カメラ116および/または118は、スタンドアロンデバイスの形態(たとえば、3Dシステム106への有線および/または無線接続を有する)など、ハウジングから分離可能である。カメラ116および118は、ユーザ(たとえば、ユーザ102)の十分に代表的なビューを取込むように位置決めおよび/または方向を向けることができる。
【0044】
カメラ116および118は一般に、ユーザ102のための3Dディスプレイ110の視界を遮ることはないが、カメラ116および118の配置は任意に選択することが可能である。たとえば、カメラ116,118の一方は、ユーザ102の顔の上のどこかに配置することができ、他方は、顔の下のどこかに配置することができる。たとえば、カメラ116,118の一方をユーザ102の顔の右側のどこかに位置付け、他方を顔の左側のどこかに位置付けることができる。3Dシステム108は、類似の方法で、たとえば、カメラ120および122を含み得る。追加のカメラも可能である。たとえば、第3のカメラを、ディスプレイ110の近くまたは背後に配置してもよい。
【0045】
いくつかの実現例では、3Dシステム106,108は、1つまたは複数のウィットネスカメラ119,121を含み得る。ウィットネスカメラ119,121は、グラウンドトゥルース画像を表してもよい高品質の画像(たとえば、ウィットネスカメラ画像132)を取込むために使用されてもよい。ウィットネスカメラ119および/またはカメラ121によって取込まれた画像は、新規のビューを生成し、損失およびそのような損失の補正を計算するときに比較として使用されるように、本明細書に記載される技術と共に使用されてもよい。一般に、ウィットネスカメラ119,121によって取込まれた画像は、カメラ116,118,120,122,124および/または126、ならびにそのようなカメラおよび/またはカメラポッドの組合わせによって取込まれた他の画像(たとえば、フレーム)のうちの対応する1つと実質的に同じ瞬間に取込まれてもよい。いくつかの実現例では、ウィットネスカメラ画像134は、新規のビューを生成するために、1つまたは複数のNNに対する訓練データとして取込まれ、使用されてもよい。
【0046】
いくつかの実現例では、3Dシステム106,108は、3D表現で使用される深度データを取込むために、1つまたは複数の深度センサを含み得る。そのような深度センサは、3Dディスプレイ上でシーンを正しく表現するために、3Dシステム106および/または108によって取込まれたシーンを特徴付けるために使用される3Dコンテンツシステム100内の深度取込みコンポーネントの一部と考えることができる。さらに、システムは、3D表現が視聴者の現在の視点に対応する外観でレンダリングされ得るように、視聴者の頭の位置および向きを追跡することができる。ここで、3Dシステム106は深度センサ124を含み、これはまた、赤外線カメラを表し得る。類似の態様で、3Dシステム108は、深度センサ126を含み得る。深度データを生成するために、複数のタイプの深度知覚または深度取込みのいずれかを使用可能である。
【0047】
いくつかの実現例では、各カメラ116,118,119および124は、ポッド内の複数のカメラを表し得る。たとえば、深度センサ124は、カメラポッドにおいてカメラ116および/またはカメラ118と一緒に収容されてもよい。いくつかの実現例では、3つ以上のカメラポッドがディスプレイ110の周囲および/または背後に配置されてもよく、各ポッドは、カメラ124(たとえば、深度センサ/カメラ)、および1つ以上のカメラ116,118を含んでもよい。同様に、3つ以上のカメラポッドがディスプレイ112の周囲および/または背後に配置されてもよく、各ポッドは、カメラ126(たとえば、深度センサ/カメラ)、および1つ以上のカメラ120,122を含んでもよい。
【0048】
システム106の動作中、アシストステレオ深度取込みが実行されてもよい。シーンは、光のドットを用いて照射することができ、ステレオマッチングは、たとえば、2つのそれぞれのカメラ間で実行することができる。このような照射は、選択された波長または波長範囲の波を用いて行うことができる。たとえば、赤外線(IR)光を使用することができる。深度データは、深度センサ(たとえば、深度センサ124)とシーン内のオブジェクトとの間の距離を反映する、シーンに関する任意の情報を含み得る、またはこれに基づき得る。深度データは、シーン内のオブジェクトに対応する画像内のコンテンツについて、オブジェクトまでの距離(または深度)を反映する。たとえば、カメラ(複数可)と深度センサとの間の空間的関係は既知であってもよく、カメラ(複数可)からの画像を深度センサからの信号と相関させて、画像の深度データを生成するために使用することが可能である。
【0049】
3Dコンテンツシステム100によって取込まれた画像は、加工され、その後、3D表現として表示することができる。
図1の例に図示されているように、ユーザ104の3D画像が、3Dディスプレイ110に提示される。このように、ユーザ102は、(たとえば、ユーザの)3D画像104’を、ユーザ102から離れて位置する可能性のあるユーザ104の3D表現として知覚することができる。同様に、3D画像102’が、3Dディスプレイ112上に提示される。このように、ユーザ104は、3D画像102’をユーザ102の3D表現として知覚することができる。
【0050】
3Dコンテンツシステム100は、参加者(たとえば、ユーザ102,104)が、互いにおよび/または他者との音声通信に参加することを可能にし得る。いくつかの実現例では、3Dシステム106は、スピーカおよびマイクロフォン(図示せず)を含む。たとえば、3Dシステム108は、同様に、スピーカおよびマイクロフォンを含み得る。このように、3Dコンテンツシステム100は、ユーザ102および104が互いにおよび/または他者との3Dテレプレゼンスセッションに参加することを可能にし得る。一般に、本明細書に記載されたシステムおよび技術は、システム100と共に機能して、システム100のユーザ間で表示するための画像コンテンツおよび/または動画コンテンツを生成し得る。
【0051】
システム100の動作中、一組の入力画像132が、カメラ116,118,119,124ならびに/または120,121,122,および126によって取込まれ得る。入力画像は、たとえば、ウィットネスカメラ画像134およびRGBカラー画像136を含んでもよい。いくつかの実現例では、システム100はまた、深度画像138を生成および/または他の態様では取得してもよい。一例では、深度画像138は、上述したように、IRカメラから取得された一対のIR画像から1つ以上のステレオ計算を実行することによって生成されてもよい。入力画像132は、入力画像(複数可)からの再投影色の線形結合である出力画像を予測するための基礎として使用されてもよい。いくつかの実現例では、入力画像132は、既知の(たとえば、予め定められた、予め定義された)ビューパラメータで取込まれた再投影カラー画像(たとえば、赤・緑・青(RGB))を表す
2つ以上のカラー画像を含んでもよい。いくつかの実現例では、入力画像132は、既知のビューパラメータで計算された(たとえば、生成された)1つまたは複数の深度画像138も含む。入力画像132は、特定のカメラパラメータ、ビューパラメータ、および/またはNNブレンディングアルゴリズム140と組合わせて使用されて、ディスプレイ110および/または112に表示するための新規のビューを生成し得る。
【0052】
図2は、本開示を通じて説明される実現例に係る、ディスプレイ上でレンダリングするためのコンテンツを合成するためのシステムの例を示すブロック図である。システム200は、本明細書で説明される1つ以上の実現例として機能する、またはその中に含まれることが可能であり、かつ/または、本明細書で説明される画像コンテンツの合成、処理、モデル化、もしくは表現の1つ以上の例の動作(複数可)を実行するために使用可能である。全体的なシステム200および/またはその個々の構成要素の1つ以上は、本明細書に記載された1つ以上の例に従って実現可能である。
【0053】
システム200は、1つまたは複数の3Dシステム202を含んでもよい。図示された例では、3Dシステム202A,202B~202Nが示され、インデックスNは任意の数を示す。3Dシステム202は、2Dまたは3D表現のための視覚および音声情報の取込みを提供することができ、処理のために2Dまたは3D情報を転送することができる。そのような情報は、シーンの画像、シーンに関する深度データ、画像取込みに関連付けられたパラメータ、および/またはシーンからの音声を含み得る。2D/3Dシステム202は、システム106および108ならびに2D/3Dディスプレイ110および112(
図1)として機能することが可能であり、またはその中に含まれることが可能である。システム202Bおよび202Nは、システム202Aで図示されているのと同じモジュールを図示していないが、システム202A内の各モジュールは、システム202Bおよび202Nにも存在し得る。
【0054】
システム200は、カメラ204で示されるように、複数のカメラを含んでもよい。一般的なデジタルカメラで使用される種類の画像センサなど、任意の種類の光感知技術を画像の取込みに使用することができる。カメラ204は、同じタイプでも、異なるタイプでもよい。カメラ位置は、たとえば、システム106などの3Dシステム上の任意の位置内に配置することができる。いくつかの実現例では、各システム202A,202Bおよび202Nは、それぞれが深度カメラ(たとえば、深度センサ206、および/または、そのコンテンツがステレオアルゴリズムを用いて解析されて深度画像を推測するIRカメラの1つ以上の対)ならびに1つ以上のカラーカメラを含む3つ以上のカメラポッドを含む。いくつかの実現例では、システム202A,202Bおよび202Nは、新規のビューを生成するとき、および/または、たとえばニューラルネットワークを訓練するために、グラウンドトゥルース画像として使用される画像を取込んでもよい1つまたは複数のウィットネスカメラ(図示せず)も含む。
【0055】
システム202Aは、深度センサ206を含む。いくつかの実現例では、深度センサ206は、IR信号をシーンに伝搬し、応答する信号を検出することで動作する。たとえば、深度センサ206は、ビーム128Aおよび/もしくは128Bならびに/または130Aおよび/もしくは130Bを、生成および/または検出することができる。いくつかの実現例では、深度センサ206は、オクルージョンマップを計算するために使用され得る。システム202Aはまた、少なくとも1つのマイクロフォン208およびスピーカ210を含む。いくつかの実現例では、マイクロフォン208およびスピーカ210は、システム106の一部でもよい。
【0056】
システム202はさらに、3D画像を提示可能な3Dディスプレイ212を含む。いくつかの実現例では、3Dディスプレイ212はスタンドアロンディスプレイとすることが
でき、いくつかの他の実現例では、3Dディスプレイ212は、AR眼鏡およびヘッドマウントディスプレイ装置などに統合され得る。いくつかの実現例では、3Dディスプレイ212は、視差バリア技術を用いて動作する。たとえば、視差バリアは、スクリーンと視聴者の間に配置される、基本的に非透過性の材料(たとえば、不透明フィルム)の平行な垂直ストライプを含み得る。視聴者のそれぞれの目の間の視差のために、スクリーンの異なる部分(たとえば、異なる画素)は、それぞれ左目および右目によって見られる。いくつかの実現例では、3Dディスプレイ212は、レンチキュラーレンズを用いて動作する。たとえば、レンズの交互の列をスクリーンの前に配設することができ、列はそれぞれ、スクリーンからの光を視聴者の左目および右目に向ける。
【0057】
システム200は、データ処理、データモデル化、データ調整、および/またはデータ送信の特定のタスクを実行可能なコンピューティングシステム214を含み得る。いくつかの実現例では、コンピューティングシステム214はまた、画像を生成し、重みをブレンドし、ニューラル処理タスクを実行し得る。いくつかの実現例では、コンピューティングシステム214は、画像処理システムである。コンピューティングシステム214および/またはそのコンポーネントは、
図8を参照して説明される一部のまたはすべてのコンポーネントを含み得る。
【0058】
コンピューティングシステム214は、2Dおよび/または3D情報を生成し得る画像プロセッサ216を含む。たとえば、画像プロセッサ216は、1つ以上の入力画像132および/またはビューパラメータ218を受信(たとえば、取得)してもよく、画像ワープエンジン220、ブレンド重み生成器222、および/またはNN224によってさらに処理するために画像コンテンツを生成してもよい。入力画像132は、取込まれたカラー(たとえば、RGB,YUV,CMYK,CIE,RYB)画像を含んでもよい。
【0059】
ビューパラメータ218は、特定の入力画像132の取込みに関連付けられた、および/または生成(たとえば、合成)される画像の取込みに関連付けられたカメラパラメータを含んでもよい。一般に、ビューパラメータ218は、カメラモデル近似を表し得る。ビューパラメータ218は、ビュー方向、ポーズ、カメラ視点、レンズ歪み、ならびに/またはカメラの固有および外来パラメータのいずれかまたは全てを含んでもよい。
【0060】
画像プロセッサ216はまた、オクルージョンマップ226、深度マップ228、UVマップ230、目標ビューパラメータ232、損失関数234、およびメッシュプロキシジオメトリ236を含む(ならびに/または生成する、ならびに/または受信する)。
【0061】
オクルージョンマップ226は、目標視点に最も近いと判断された表面点と、表面を取込んでいるカメラとの間の符号付き距離を符号化してもよい。正の値は、点がビューから遮られていることを示し得る。したがって、システム200は、取込まれた画像コンテンツに基づいて新しいまたは新規のビューを生成するときにそのような遮られた画像コンテンツが正確な再生データを提供しないため、ブレンド重み242を決定するときに正の値の距離を使用しないようにブレンド重み生成器222(およびNN224)を構成してもよい。いくつかの実現例では、オクルージョンマップ226は、特定のビューで観察される深度と、そのビューに関連付けられた幾何学的に融合されたモデルの深度との差を評価するために使用され得る。
【0062】
深度マップ228は、選択された視点からの特定のシーンオブジェクトの表面の距離に関連する情報を含む1つ以上の画像を表す。いくつかの実現例では、深度マップ228は、3つのカラーカメラ画像および/または、合成された(たとえば、新規の)ビューにおける出力画素ごとに判断された、目標視点から最も近い表面点への深度の各々に対応する。
【0063】
UVマップ230は、入力画像132内の可視コンテンツから生成され得る。特にUVマップ230は、合成画像(たとえば、新規のビュー)を生成するために使用され得る特徴を生成するようにテクスチャマッピングを実行するために、2D画像の3Dモデル表面への投影を表す。
【0064】
目標ビューパラメータ232は、新規の合成画像用のビューパラメータ(すなわち、目標被写体の仮想ビューを生成するためのビューパラメータ)を表す。目標ビューパラメータ232は、生成される(たとえば、合成される)画像に関連付けられた画像パラメータ、および/またはカメラパラメータを含んでもよい。目標ビューパラメータ232は、ビュー方向、ポーズおよびカメラ視点などを含んでもよい。
【0065】
損失関数234は、グラウンドトゥルース画像と予測画像との間の差を評価してもよく、予測画像は、フレームについて取込まれた可視光情報、フレームについて取込まれたIR光、ならびに色および/または深度に関連付けられたブレンド重みの両方の組合わせに基づいて予測される。損失関数234は、いずれかまたは全ての画像エラー、画像穴および画像誤投影アーティファクトなどを記述する関数を含んでもよい。
【0066】
いくつかの実現例では、損失関数234は、NN内の層の活性化にマッピングされたセグメント化されたグラウンドトゥルース画像と、NN内の層の活性化にマッピングされたセグメント化された予測画像との間の再構成差に基づく再構成損失を含み得る。セグメント化されたグラウンドトゥルース画像は、背景画素を除去するためにグラウンドトゥルースマスクによってセグメント化されてもよく、セグメント化された予測画像は、背景画素を除去するために予測マスクによってセグメント化されてもよい。予測マスクは、フレームについて取込まれた可視光情報とフレームについて取込まれた赤外光との両方の組合わせに基づいて予測されてもよい。
【0067】
メッシュプロキシジオメトリ236は、K個のプロキシ{Pi,1,・・・,Pi,K}(すなわち、UV座標を有する矩形、三角形等のメッシュ)のセットを含む粗いジオメトリを表し得る。たとえば、2D画像は、メッシュプロキシジオメトリ236を生成するために、3Dプロキシモデル表面に投影され得る。プロキシは、特定の画像コンテンツの実際のジオメトリのバージョンを表現するように機能してもよい。動作中、システム200は、形状、アルベド、およびビュー依存効果に加えて、粗いプロキシ表面(たとえば、メッシュプロキシジオメトリ236)のセットを用いて幾何構造を符号化するためにプロキシジオメトリの原理を使用する。
【0068】
画像ワープエンジン220は、1つ以上の入力画像(たとえば、フレーム、ストリーム)および/または他の取込み/特徴パラメータデータを受信し、特徴を保持した1つ以上の出力画像(たとえば、フレーム、ストリーム)を生成するように構成されてもよい。画像ワープエンジン220は、取込み/特徴パラメータデータを利用して、何らかの態様で入力画像を再構成してもよい。たとえば、画像ワープエンジン220は、入力画像から再構成された候補カラー画像を生成してもよく、再構成された画像内の各画素は、入力画像のうちの1つ以上に対応する新しい合成画像の候補画素である。
【0069】
いくつかの実現例では、画像ワープエンジン220は、小さなスケールの画像特徴を保存するために、画素レベルで入力画像に関数を実行してもよい。いくつかの実現例では、画像ワープエンジン220は、再構成された画像を生成するために、非線形または線形関数を用いてもよい。
【0070】
ブレンド重み生成器222は、ブレンディングアルゴリズム238と可視性スコア24
0とを含む。ブレンディングアルゴリズム238は、ブレンド重み242を生成するために使用されてもよい。特に、ブレンディングアルゴリズム238は、ブレンド重み242を生成するために、NN224を介してアクセスされてもよい。ブレンド重み242は、結果として得られる(たとえば、最終的な、新規の)画像中の画素の側面に寄与するために使用され得る画像の特定の画素についての値を表す。ブレンディングアルゴリズム238は、深度画像の特定のセットおよび/または深度画像を表す融合ジオメトリをシェーディングするためのブレンド重みを計算するためのヒューリスティックに基づくアルゴリズムを含む。ブレンディングアルゴリズムは、新規のビュー(たとえば、新規の合成画像)についての出力ブレンド重みを学習するために、入力としてマルチビューカラー画像およびノイズの多いオクルージョンキューを受信する。いくつかの実現例では、目標ビューおよび入力画像に関する(たとえば、カメラポッド(複数可)から受信される)テクスチャおよび可視性スコア240も、ブレンディングアルゴリズム238への入力として提供され得る。
【0071】
可視性スコア240は、画像内の取込まれたオブジェクトの特定の画素または特徴の可視性を表すことができる。各可視性スコア240は、入力画像の特定のビューにおいて画像のどの部分(たとえば、画素、特徴など)が見えるかを示すために、単一のスカラー値を表し得る。たとえば、ユーザの顔の左端側がそのユーザの入力画像において見ることができない場合、ユーザの顔の左端側を表す画素の可視性スコア240は低く重み付けされる一方で、入力画像において見ることができ、および/または良好に取込まれる他の領域は高く重み付けされてもよい。新規のビュー(たとえば、画像)に対するブレンド重み242を生成する際に、可視性スコアが考慮されてもよい。
【0072】
ニューラルネットワーク224は、エンベッダネットワーク244と発生器ネットワーク246とを含む。エンベッダネットワーク244は、1つ以上の畳み込み層とダウンサンプリング層とを含む。生成器ネットワーク246は、1つ以上の畳み込み層とアップサンプリング層とを含む。
【0073】
インペインタ254は、特定の欠損コンテンツ部分を取り囲む画素の局所的近傍に基づいて、特定のテクスチャまたは画像から欠損し得るコンテンツ(たとえば、画素、領域など)を生成してもよい。いくつかの実現例では、インペインタ254は、ブレンド重み242を利用して、特定の画素、領域などに対してどのようにインペイントを行うかを決定してもよい。インペインタ254は、レンダリングのための特定の背景/前景マットを予測するために、NN224からの出力を利用してもよい。いくつかの実現例では、インペインタ254は、画像補正エンジン252と共に機能して、プル・プッシュ・ホール・ファイリング(pull-push hole-filing)を行い得る。これは、NN224によって予測された出力カラーを生じない可能性のある欠損している深度情報の領域/画素を有する画像において実行され得る。画像補正エンジン252は、画像内の特定の領域/画素を色付けするためにインペインタをトリガしてもよい。
【0074】
ブレンド重み242が決定されると、システム214は、その重みをニューラルレンダラ248に提供してもよい。ニューラルレンダラ248は、たとえば、NN224(または別のNN)を利用する、オブジェクト(たとえば、ユーザ)および/またはシーンの中間表現を生成してもよい。ニューラルレンダラ248は、たとえば、オブジェクト固有の畳み込みネットワークを用いて真の外観(たとえば、グラウンドトゥルース)と拡散再投影との差をモデル化することによって、ビュー依存効果を組込んでもよい。
【0075】
【0076】
【0077】
いくつかの実現例では、システム214は、多重解像度ブレンディングエンジン256を用いて、多重解像度ブレンディングを実行し得る。多重解像度ブレンディングエンジン256は、畳み込みニューラルネットワーク(たとえば、NN224/414)への入力として画像ピラミッドを採用してもよく、これによって、各スケールに関連付けられた不透明度値を有する複数のスケールでブレンド重みが生成される。動作中、多重解像度ブレンディングエンジン256は、2段階の、訓練されたエンドツーエンドの畳み込みネットワークプロセスを採用してもよい。エンジン256は、複数のソースカメラを利用してもよい。
【0078】
合成ビュー250は、本明細書に記載されるように、計算されたブレンド重み242に少なくとも部分的に基づいて、ディスプレイ(たとえば、ディスプレイ212)にアクセスするユーザに関連付けられた両目に対して適切な視差および視聴構成を有するコンテンツ(たとえば、VR/ARオブジェクト、ユーザ、シーンなど)の3D立体視画像を表す。合成ビュー250の少なくとも一部は、ユーザがディスプレイを見ながら頭の位置を動かすたびに、および/または特定の画像がディスプレイ上で変化するたびに、システム214を用いて、ニューラルネットワーク(たとえば、NN224)からの出力に基づいて決定されてもよい。いくつかの実現例では、合成ビュー250は、ユーザの顔およびユーザの顔を取り囲むユーザの他の特徴を、ユーザの顔を取込むビュー内で表現する。いくつかの実現例では、合成ビュー250は、たとえば、テレプレゼンスシステム202Aに関連付けられた1つまたは複数のカメラによって取込まれた視野全体を表す。
【0079】
いくつかの実現例では、システム202および214のプロセッサ(図示せず)は、グラフィックス処理ユニット(GPU)を含んでもよい(またはそれと通信してもよい)。動作中、プロセッサは、メモリ、ストレージ、および他のプロセッサ(たとえば、CPU
)を含んでもよい(または、それらへのアクセスを有してもよい)。グラフィックスおよび画像生成を容易にするために、プロセッサは、表示デバイス(たとえば、表示デバイス212)上に画像を表示するようにGPUと通信してもよい。CPUおよびGPUは、PCI、AGP、またはPCI-Expressなどの高速バスを介して接続されてもよい。GPUは、HDMI(登録商標)、DVI、またはDisplay Portなどの別の高速インターフェイスを介してディスプレイに接続されてもよい。一般に、GPUは、画素形式で画像コンテンツをレンダリングしてもよい。表示デバイス212は、GPUから画像コンテンツを受信してもよく、表示画面上に画像コンテンツを表示してもよい。
【0080】
図2には描かれていないが、画像コンテンツを生成するために、特徴マップなどの追加のマップが1つまたは複数のNN224に提供されてもよい。特徴マップは、画像を解析して画像の画素ごとに特徴を生成することによって生成されてもよい。そのような特徴は、特徴マップおよびテクスチャマップを生成するために使用されてもよく、これらは、ブレンド重み242の生成を支援するために、ブレンド重み生成器222および/またはNN224に提供されてもよい。
【0081】
図3は、本開示を通じて説明される実現例に係る、目標カメラ視点への入力画像の再投影の例を示すブロック図である。システム200は、たとえば、NNへの入力画像として使用される画像の再投影を生成するために使用されてもよい。画像をワーピングすることは、(深度画像からの)融合された深度を用いて、カメラ視点をターゲットにする目標カメラ視点に取込まれた入力画像132を再投影することを含んでもよい。いくつかの実現例では、入力画像132は、既に再投影画像の形式である。いくつかの実現例では、画像ワープエンジン220はワーピングを実行する。
【0082】
たとえば、画像ワープエンジン220は、目標画像点x302を光線に逆投影してもよい。次に、画像ワープエンジン220は、目標カメラ308から距離dで点X304を見つけてもよい。次に、画像ワープエンジン220は、Xを、ポッドカメラ310からの距離d’であるポッド画像点x’306に投影してもよい。以下の式[1]~[3]は、この計算を表している。
【0083】
【0084】
次に、画像ワープエンジン220は、以下の式[4]および[5]で示されるように、x’でテクスチャカメラ画像をバイリニア的にサンプリングしてもよい。
【0085】
【0086】
図4は、本開示を通じて説明される実現例に係る、ディスプレイ上でレンダリングするための合成コンテンツを生成するためにニューラルブレンド法を使用するためのフロー
図400の例を示すブロック図である。
図400は、ニューラルネットワークを介してブレンディングアルゴリズムに提供されるデータ(たとえば、マルチビューカラー画像、ノイズの多いオクルージョンキュー、深度データなど)を生成してもよい。次いで、ニューラルネットワークは、出力ブレンド重みを学習し得る。
【0087】
本例では、多数の入力画像402を取得(たとえば、受信)してもよい。たとえば、システム202Aは、多数の入力画像402(たとえば、画像フレーム、ビデオ)を取込んでもよい。入力画像402は、カラー画像でもよい。また、入力画像402は、入力画像と実質的に同時に取込まれた深度画像と関連付けられもよい。深度画像は、たとえば、赤外線カメラによって取込まれてもよい。
【0088】
コンピューティングシステム214は、入力画像402を、入力画像カラーおよび深度画像を用いて、再投影画像404にワープ(たとえば、再投影)させてもよい。たとえば、ワープエンジン220は、入力画像402を、所望の新規のビューを表す出力ビューに再投影してもよい。特に、ワープエンジン220は、入力画像402から色を取出し、入力画像に関連付けられた深度ビューを用いて出力ビューに色をワープさせてもよい。一般に、各入力画像は、単一の再投影ビューにワープされてもよい。したがって、4つの入力画像が取出される場合、ワープエンジン220は、各々が単一の入力画像に関連付けられた4つの再投影ビューを生成してもよい。再投影画像404は、新規の合成された出力画像内の画素について選択され得る候補色として機能する。入力画像402と実質的に同時に取込まれる深度ビューは、深度マップ406およびオクルージョンマップ408(深度マップ228およびオクルージョンマップ226と同様)を生成するために使用されてもよい。
【0089】
再投影画像404は、画素についての色の加重結合を表す加重和画像410を生成するために使用されてもよい。また、加重和画像410は、グラウンドトゥルース画像412を考慮してもよい。グラウンドトゥルース画像412は、1つ以上のウィットネスカメラによって取込まれてもよい。
【0090】
再投影画像404、深度マップ406、およびオクルージョンマップ408は、
図4に示すU-Net形状を有する畳み込みニューラルネットワークであるNN414に提供されてもよい。当然のことながら、他のNNも可能である。ある非限定的な例では、NN414の入力は、3つのカラーRGB画像、オクルージョンマップ、および目標ビュー深度マップを含んでもよく、約14個のチャネルを利用してもよい。
【0091】
また、いくつかの実現例では、多数のビューパラメータ415がNN414に提供されてもよい。ビューパラメータ415は、所望の新規のビュー(たとえば、画像)に関連し得る。ビューパラメータ415は、ビュー方向、ポーズ、カメラ視点、レンズ歪み、および/またはカメラ(仮想もしくは実際のカメラ)の固有パラメータならびに外部パラメータのうちのいずれかまたは全てを含んでもよい。
【0092】
NN414は、正確な新規の出力画像を生成するために再投影画像404の色をどのように結合するかを決定するために、再投影画像404ごとにブレンド重み416を生成してもよい。再投影画像404は、深度画像406に従って、たとえば、入力画像402を新規のビューにワープさせることによって計算されてもよい。NN414は、ブレンド重み416および再投影画像404を用いて、たとえば、ブレンド重み416を用いて再投影画像404の少なくとも一部を互いにブレンドすることによって、ブレンドされたテクスチャ画像418を生成してもよい。ブレンドされたテクスチャ画像418は、入力画像402に関連付けられ再投影画像404に関連付けられる各カメラポッドに関連付けられた画像を生成するために使用されてもよい。本例では、3つのカメラポッドが、3つのカラー画像(たとえば、入力画像402)および3つの深度画像(たとえば、深度マップ406によって表される)を取込むために使用された。したがって、画像420によって示されるように、3つの対応する画像ビューが出力される。これによって、合成画像422で示すように、画像418および画像420を利用して、新規のビューを合成することが
できる。
【0093】
動作中、NN414は、ブレンド重み416を用いて再投影画像404に関連付けられた再投影色をどのように結合するかを決定し、正確な合成画像422を生成してもよい。NN414は、予め定義された出力ビューの空間上で学習することによって、ブレンド重みを決定してもよい。
【0094】
NN414のネットワークアーキテクチャは、すべての畳み込み層が同じパディング値および整流された線形単位活性化関数を使用するU-Net形状のネットワークであるディープニューラルネットワークでもよい。出力は、3つの再投影画像404、出力重みが式[6]に従って生成される、カメラポッドごとのチャネルについてのブレンド重み416を含んでもよい。
【0095】
【0096】
図400は、学習損失を考慮して実施されてもよい。たとえば、再構成損失、ブレンドカラー画像に関する知覚損失および完全性損失が決定され、結果として得られる合成画像422を改善するために使用されてもよい。
【0097】
動作中、システム200は、画素ごとの損失値を生成するためにいくつかの態様を利用してもよい。たとえば、テクスチャカメラiの新規のビュー画像INおよびニューラルブレンド重みWiは、式[7]に示すように表現され得る。
【0098】
【0099】
どの入力もRGB値を有さない無効な目標深度マスクは、IMaskと表現され得る。
特に、損失関数の例としては、以下の式[8]で表現され得る。
【0100】
【0101】
x,y画素座標ごとのネットワーク出力ブレンド重みについての完全性損失は、式[10]に示すように表現され得る。
【0102】
【0103】
ネットワーク上のオクルージョン損失は、式[11]に示すように表現され得る。
【0104】
【0105】
いくつかの実現例では、NN414は、NN414によって生成される合成画像422と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像412との間のオクルージョン損失関数(すなわち、式[8])の最小化に基づいて訓練されてもよい。
【0106】
図5は、本開示を通じて説明される実現例に係る、ブレンド重みを生成するためのフロー図の例を示すブロック図である。本例は、たとえば、各入力ビューの画素を処理するために畳み込みNN(たとえば、畳み込みU-Net)を採用してもよい。提案された合成ビューの各画素を割当てるために、多層パーセプトロン(MLP)を用いて、ブレンド重みを生成してもよい。MLPによって生成されたブレンド重みは、入力画像(複数可)/ビュー(複数可)からの特徴を組合わせるために使用可能である。
【0107】
いくつかの実現例では、ブレンド重みの生成は、多重解像度ブレンド法の使用を含み得る。多重解像度ブレンド法は、2段階の、訓練されたエンドツーエンドの畳み込みネットワーク処理を採用する。この技術は、多数のソースカメラを利用する。たとえば、システム202Aは、第1のカメラポッド502、第2のカメラポッド504、および第3のカメラポッド506の各々から1つまたは複数の入力画像(たとえば、RGBカラー画像)を取込んでもよい。同様に、実質的に同時に、ポッド502~504の各々は、特定の入力画像に対応する深度画像を取込む(または計算する)ことができる。
【0108】
少なくとも3つのカラーソース入力画像および少なくとも3つのソース深度画像は、ビュー依存情報を組込む特徴マップを生成するために、畳み込みネットワーク(複数可)508A,508Bおよび508C(たとえば、畳み込みU-Net)に提供されてもよい。たとえば、1つ以上の特徴マップ(図示せず)は、特徴空間において入力画像の特徴を表してもよい。特に、入力画像/深度画像502~504の各々について、画像の抽出された特徴を用いて特徴マップ(たとえば、特徴マップ510A,510Bおよび510C)が生成されてもよい。いくつかの実現例では、入力画像は、2枚のカラーソース画像と1枚の深度画像とを含んでもよい。このような例では、システム500は、単一の深度画像を用いて、2枚のカラー入力画像の各々を出力ビューに再投影してもよい。
【0109】
特徴マップ510A~510Cは、UVマップ512A,512Bおよび512Cを生成するために使用されてもよい。たとえば、UVマップ512A~Cは、特徴マップ510A~510Cを用いて、入力画像502~504内の可視コンテンツから生成されてもよい。UVマップ512A~512Cは、テクスチャマッピングを実行して、合成画像(たとえば、新規のビュー)を生成するために使用され得る特徴を生成するために、2D画像の3Dモデル表面への投影を表す。出力されたニューラルテクスチャは、ソースカメラ画像座標のままである。
【0110】
それぞれの特徴マップ510A~510Cは各々、それぞれのUVマップ512A~512Cおよびウィットネスカメラパラメータ514と共にサンプリングされてもよい。たとえば、システム500は、合成された新規の画像を生成するための目標カメラとしてウィットネスカメラを用いてもよい。ウィットネス(たとえば、目標)カメラパラメータ514は、予め定義されてもよい。それぞれのサンプリングされた特徴マップ510A~510CおよびUVマップ512A~Cは各々、パラメータ514と共に使用され、オクルージョンマップおよび深度マップ516と共にサンプリングされてもよい。サンプリングは、融合ジオメトリ(たとえば、メッシュプロキシジオメトリ236)から予め計算され
たUVマップ512A~512Cを用いて各ニューラルテクスチャをワープする微分可能サンプリング層を含んでもよい。
【0111】
サンプリングされたコンテンツは、すべてのソースカメラビューからサンプリングされた特徴のオクルージョンマップ、深度マップなどを生成するために、画素ごとの多層パーセプトロン(MLP)NN518によって使用され得る。マップから、MLP518は、ブレンド重みのセット520を生成してもよい。たとえば、画素単位のMLP518マップは、ブレンド重み520のセットを生成するために使用可能な、任意の数のソースカメラビューからのサンプリングされた特徴を含んでもよい。そのようなブレンド重み520は、合成画像を生成するために使用され得る。
【0112】
いくつかの実現例では、本明細書に記載されるプロセスは、多重解像度ブレンド法を組込んでもよい。たとえば、多重解像度ブレンド法は、多重解像度ブレンディングエンジン256によって実行されてもよく、たとえば、畳み込みニューラルネットワーク(たとえば、NN224/414)への入力として画像ピラミッドを採用してもよく、これによって、各スケールに関連付けられた不透明度値を有する複数のスケールにおけるブレンド重みが生成される。
【0113】
各スケールでの出力ブレンド重みは、そのスケールでの入力された再投影カラー画像を用いて出力カラー画像を構成するために用いられて、出力画像ピラミッドを形成する。次に、このピラミッドの各レベルは、関連付けられた不透明度値によって重み付けされ、元のスケールにアップサンプリングされる。そして、得られた画像のセットを合計して、最終的な出力画像を構成する。これは、入力された再投影画像に(ジオメトリの欠落による)小さな穴が存在する場合、ダウンスケーリングとアップスケーリング処理により、欠落した領域を隣接する画素値で埋めることができるために有利である。また、この手順では、従来のブレンド法よりも視覚的に魅力的な、よりソフトなシルエットを生成し得る。
【0114】
いくつかの実現例では、入力ピラミッドは、再投影画像のバイリニア再投影色をダウンサンプリングし、ダウンサンプリングされた有効深度マスク(たとえば、マップ)によって逆事前乗算(un-pre-multiplying)し、事前に定義された(たとえば、オリジナルの)解像度に戻るようにアップサンプリングし、アップサンプリングされた有効深度マスクによって逆事前乗算することによって、構築可能である。レイヤーごとに、フロー図は、出力レイヤーデコーダ(ブレンド重みおよびアルファ用)を追加し、事前定義された(たとえば、オリジナルの)解像度にアップサンプリングし、最高解像度で追加の背景アルファを調整し、ソフトマックス関数を用いてアルファを正規化し、再投影色および背景とブレンドしてもよい。
【0115】
多重解像度ブレンド法は、2段階の訓練されたエンドツーエンド畳み込みネットワーク処理を採用する。段階ごとに、多重解像度ブレンド法は、(たとえば、ブレンド重みおよびアルファ損失について)出力層デコーダを追加し得る。この技術では、RGB画像が計算され、損失が追加され、アルファが乗算され、連結されて、候補RGB画像が決定されてもよい。候補RGB画像は、アップサンプリングされてもよい。出力画像(たとえば、新規のビュー/同期画像)は、損失を考慮した、アップサンプリングされた候補画像を用いて生成されてもよい。
【0116】
動作中、本技術は、多数のソースカメラを利用する。たとえば、システム202Aは、第1のカメラポッド502、第2のカメラポッド504および第3のカメラポッド506の各々から、1つまたは複数の入力画像(たとえば、RGBカラー画像)を取込み得る。同様に、実質的に同時に、ポッド502~504は各々、特定の入力画像に対応する深度画像を取込むことができる。
【0117】
多重解像度ブレンディングは、出力視点がどのように移動するかにかかわらず、シーンマップ上の同じ3D点を特徴マップの同じ点の位置に対して使用し得る。これによって確実に、2次元の畳み込みが行われず、入力特徴が固定されているため、出力にはその点の位置に対する同じブレンド重みが含まれる。
【0118】
図6は、本開示を通じて説明される実現例に係る、ニューラルブレンド法を用いて合成コンテンツを生成するプロセス600の一例を図示したフローチャートである。プロセス600は、
図1および
図2のシステム100および/または200、ならびにシステム500および/または800の実現例に関して説明されているが、この方法は、他の構成を有するシステムによって実現できることが理解されるであろう。一般に、システム202および/またはコンピューティングシステム214上の1つまたは複数のプロセッサおよびメモリは、プロセス600を実施するために使用され得る。
【0119】
高レベルでは、プロセス600は、カラー入力画像、入力画像に対応する深度画像、および入力画像内のコンテンツの少なくとも一部に対応する所望の新規のビューに関連付けられたビューパラメータを利用し得る。プロセス600は、上記の要素または上記の要素のバージョンをニューラルネットワークに提供して、所望の新規のビューの特定の画素色および深度を決定するためのブレンド重みを受信してもよい。ビューは、新規の出力画像を生成するためにブレンド重みと共に使用されてもよい。
【0120】
ブロック602において、プロセス600は、複数の入力画像を受信することを含んでもよい。たとえば、システム202A(または他の画像処理システム)は、カメラ(たとえば、カメラ204)を用いて、2つ以上のカメラポッドから入力画像を取込んでもよい。一般に、複数の入力画像は、予め定義されたビューパラメータに従って取込まれたカラー画像である。しかしながら、いくつかの実現例では、複数の入力画像は、単一色(たとえば、セピア、グレースケール、または他のグラデーションカラー)のグラデーション画像でもよい。予め定義されたビューパラメータは、特定の入力画像132(たとえば、入力画像402)の取込みに関連付けられたカメラパラメータ、および/または、生成される(たとえば、合成される)画像の取込みに関連付けられたカメラパラメータを含んでもよい。いくつかの実現例では、ビューパラメータは、ビュー方向、ポーズ、カメラ視点、レンズ歪み、ならびに/またはカメラの固有パラメータおよび外部パラメータのうちのいずれかまたは全てを含んでもよい。いくつかの実現例では、複数の入力画像は、画像のフレーム内に取込まれた多数の目標被写体を含んでもよい。目標被写体は、ユーザ、背景、前景、物理オブジェクト、仮想オブジェクト、ジェスチャ、ヘアスタイル、ウェアラブルデバイスなどを含んでもよい。
【0121】
ブロック604において、プロセス600は、複数の入力画像のうちの少なくとも1つにおける目標被写体に関連付けられた複数の深度画像を受信することを含んでもよい。たとえば、入力画像(たとえば、RGBカラー画像136)の取込みと実質的に同時に、システム202Aは深度画像138を取込んでもよい。深度画像は、複数の入力画像のうちの1つまたは複数においても取込まれている目標被写体を取込んでもよい。深度画像は各々、複数の入力画像132のうちの少なくとも1つを取込んだ少なくとも1つのカメラ204に関連付けられた深度マップ(たとえば、マップ228)、少なくとも1つのオクルージョンマップ226、および複数の入力画像のうちの少なくとも1つの取込みに対応する時間に少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像に(たとえば、目標ビューパラメータ232を介して)関連付けられた深度マップを含んでもよい。要するに、システム200は、目標ビューのためのブレンド重み242を生成する際に、入力画像の深度と、ウィットネスカメラの所望の目標ビュー(または他の決定された目標ビュー)の深度とを考慮してもよい。
【0122】
ブロック606において、プロセス600は、目標被写体の仮想ビューを生成するための複数のビューパラメータを受信することを含んでもよい。たとえば、ビューパラメータは、所望の新規のビュー(たとえば、カメラによって以前に取込まれていない新規の(たとえば、仮想)ビューに関する新規の合成画像)に関連し得る。ビューパラメータは、たとえば、カラー画像136および深度画像138と実質的に同時にコンテンツを取込むウィットネスカメラの目標パラメータを含んでもよい。ビューパラメータは、予め定義されたレンズパラメータ、視線方向、ポーズ、ならびに新規のビューを取込むように構成されたカメラの特定の固有パラメータおよび/または外部パラメータを含んでもよい。
【0123】
ブロック608において、プロセス600は、複数の入力画像と、複数のビューパラメータと、複数の深度画像のうちの少なくとも1つとに基づいて、複数のワープ画像を生成することを含んでもよい。たとえば、画像ワープエンジン220は、入力画像132を当該画像132の再投影バージョンに再投影することによって、入力画像132を用いてワープ画像を生成してもよい。ワーピングは、深度情報(たとえば、個々の深度画像または幾何学的コンセンサス表面のいずれか)を用いて、新規のビューへの入力画像132の入力色の投影を判断するために実行されてもよい。ワーピングは、1つ以上のオリジナルの入力ビューから色を取得し、深度画像(たとえば、深度マップ406およびオクルージョンマップ408)を用いて新規のビュー(たとえば、画像)の色を操作することによって、再投影画像(たとえば、画像404)を生成してもよい。各入力画像は、別個の再投影を生成するために使用されてもよい。再投影画像(たとえば、画像404)は、新規の合成画像で使用され得る候補色の画素を表してもよい。
【0124】
いくつかの実現例では、プロセス600は、複数の深度画像のうちの少なくとも1つ(たとえば、深度マップ406およびオクルージョンマップ408)を用いて、複数の入力画像402に関連付けられた色の未取込みビュー(すなわち、新規のビュー/画像、仮想ビュー/画像)への候補投影を決定することによって、複数の入力画像と、複数のビューパラメータと、複数の深度画像のうちの少なくとも1つとに基づいて、複数のワープ画像を生成することも含んでもよい。未取込みビューは、複数の入力画像のうちの少なくとも1つの画像特徴の少なくとも一部を含んでもよい。たとえば、入力画像がオブジェクトを含む場合、未取込みビューは、オブジェクトの少なくとも一部、色、画素などを考慮してもよい。
【0125】
ブロック610において、プロセス600は、ニューラルネットワーク(たとえば、NN224、NN414、NN508A~C)から、目標被写体(たとえば、ユーザ104’)の仮想ビュー(たとえば、見えない画像/未取込みビュー)の画素に色を割当てるためにブレンド重み416を受信することを含み得る。いくつかの実現例では、目標被写体は、複数の入力画像402の少なくとも1つのフレームで取込まれた少なくとも1つの要素を含んでもよい、または、それに基づいてもよい。ブレンド重み416は、複数の深度画像(たとえば、深度画像138および/または深度マップ406および/またはオクルージョンマップ408)、複数のビューパラメータ415、ならびに複数のワープ画像(たとえば、再投影画像404)をNN414に提供することに応答して、受信され得る。NN414は、再投影画像404の色を組合わせる確率的な方法を示すためにブレンド重み416を生成して、目標被写体をリアルに表す可能性の高いリアルな出力画像を提供してもよい。いくつかの実現例では、ブレンド重み416は、出力合成画像(たとえば、合成画像422)へのそのようなブレンド色の割当てをもたらす仮想ビュー(すなわち、新規および/または見えないおよび/または以前に取込まれていないビュー)の各画素にブレンド色を割当てるように構成される。たとえば、ブレンド重み416は、再投影画像404の少なくとも一部を互いにブレンドするために使用される。
【0126】
ブロック612において、プロセス600は、ブレンド重みおよび仮想ビューに基づいて、ビューパラメータに従って合成画像を生成することを含んでもよい。合成画像422は、未取込みのビュー(たとえば、物理カメラによって取込まれていない、仮想カメラまたは物理カメラから仮想ビューとして生成された、など)に関するパラメータを用いて取込まれた画像を表してもよく、これは、見えない(画像システムのいずれのカメラによっても取込まれておらず、代わりに合成された)ビューを表してもよい。合成画像422は、3次元(たとえば、テレプレゼンス)ビデオ会議のためにおよび/またはその間に生成されてもよい。たとえば、合成画像422は、ビデオ会議中にリアルタイムで生成されて、ビデオ会議に関連付けられたカメラによって取込まれているユーザまたはコンテンツのエラー補正された正確な画像を提供してもよい。いくつかの実現例では、合成画像422は、3次元ビデオ会議のために生成された新規のビューを表す。いくつかの実現例では、合成画像は、3次元ビデオ会議のために生成された目標被写体の未取込みビューを表す。
【0127】
動作中、ビューパラメータに従って、ブレンド重みが仮想ビュー内の画素に適用される。結果として得られる仮想ビューは、目標被写体についてブレンドされた重みを用いて生成された画素色を含んでもよい。仮想ビューのカラー化された画像は、たとえば、仮想カメラに関連付けられたビューパラメータに従って合成ビューを生成するために使用されてもよい。
【0128】
いくつかの実現例では、プロセス600は、幾何学的融合処理を追加的に実行してもよい。いくつかの実現例では、プロセス600は、個別の深度画像に入力画像を提供する代わりに、幾何学的融合処理を実行してもよい。たとえば、プロセス600は、幾何学的融合モデルを生成するために、複数の深度画像上に幾何学的融合処理を用いてコンセンサス表面(たとえば、幾何学的プロキシ)を再構成してもよい。
【0129】
幾何学的に融合されたモデルは、深度画像データの複数のビュー(たとえば、画像コンテンツの取込まれた深度ビュー)を深度画像データの更新された(たとえば、計算された)ビューと置き換えるために使用されてもよい。更新された深度ビューは、取込まれた深度ビューからの深度データを含み、さらに、画像コンテンツの他の利用可能な取込まれた深度ビューの各々からの画像および/または深度情報を含む画像コンテンツのビューとして生成されてもよい。更新された深度ビューの1つ以上は、たとえば、幾何学的に融合された深度画像データと、オブジェクトの複数の他のビューに関連付けられた画像および/または深度情報とを利用することによって、追加の(および新しい)ブレンド重みを合成してオブジェクトの追加の(および新しい)ビューを合成するために、NN414によって用いられてもよい。深度画像データは、任意の数のアルゴリズムを用いて融合されて、各(入力)深度ビューを、他の複数の深度ビューからの深度データ情報を組込んだ新しい深度ビューによって置き換えてもよい。いくつかの実現例では、幾何学的に融合されたモデルは、システム200によって、そのようなオクルージョン損失を補正するためにオクルージョンを推論するように使用され得る深度データ(たとえば、深度マップ)を生成するために使用可能である。
【0130】
次に、プロセス600は、複数の入力画像と、幾何学的に融合された深度画像データを生成するために使用されるコンセンサス表面とに基づいて、複数の再投影画像を生成し、幾何学的に融合された深度画像データを(複数のビューパラメータ415および複数の再投影画像404と共に)NN414に提供してもよい。これに応答して、プロセス600は、NN414から、ブレンド重み416および/または合成画像422内の画素に色を割当てるためのコンセンサス表面深度画像データを用いて生成された追加のブレンド重みを受信することを含んでもよい。
【0131】
いくつかの実現例では、プロセス600はさらに、NN414に、幾何学的に融合され
たモデルの深度と複数の深度画像において観察された深度との差を提供することを含んでもよい。深度の差は、たとえば、合成画像422における検出されたオクルージョンを補正するために使用されてもよい。いくつかの実現例では、NN414は、
図4に関して詳細に説明したように、NN414によって生成された合成画像と(たとえば、システム202Aに関連付けられた)少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像412との間のオクルージョン損失関数の最小化に基づいて訓練されてもよい。いくつかの実現例では、プロセス400は、複数の深度画像ではなく、単一の深度画像を用いて実施され得る。
【0132】
いくつかの実現例では、NN414はさらに、合成画像内の画素に画素色を割当てるために多重解像度ブレンドを実行するように構成される。動作中、多重解像度ブレンディングは、NN414への入力として画像ピラミッドの提供をトリガして、NN414から、複数のスケールについての多重解像度ブレンド重み(たとえば、追加のブレンド重み520)を受信し、さらに、各スケールに関連付けられた不透明度値を受信してもよい。
【0133】
図7は、説明する技術と共に使用可能なコンピューティングデバイス700およびモバイルコンピュータデバイス750の例を示す図である。コンピューティングデバイス700は、プロセッサ702、メモリ704、ストレージデバイス706、メモリ704および高速拡張ポート710に接続している高速インターフェイス708、ならびに、低速バス714およびストレージデバイス706に接続している低速インターフェイス712を含む。コンポーネント702,704,706,708,710および712は、さまざまなバスを用いて相互接続され、共通のマザーボードに、または適宜他の態様で搭載可能である。プロセッサ702は、コンピューティングデバイス700内で実行するための命令を処理可能であり、これらの命令は、高速インターフェイス708に結合されたディスプレイ716などの、外部入出力デバイス上のGUIのためのグラフィック情報を表示するために、メモリ704またはストレージデバイス706に格納された命令を含む。いくつかの実施形態では、複数のメモリおよび複数の種類のメモリと共に、複数のプロセッサおよび/または複数のバスを適宜用いることができる。また、複数のコンピューティングデバイス700は、必要な動作の一部を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)提供する各デバイスと接続可能である。
【0134】
メモリ704は、コンピューティングデバイス700内に情報を格納する。ある実施形態では、メモリ704は、1つまたは複数の揮発性メモリユニットである。他の実施形態では、メモリ704は、1つまたは複数の不揮発性メモリユニットである。また、メモリ704は、磁気または光学ディスクなどの、任意の形式のコンピュータ読取可能媒体でもよい。
【0135】
ストレージデバイス706は、コンピューティングデバイス700のために大容量記憶を提供可能である。ある実施形態では、ストレージデバイス706は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイでもよい。コンピュータプログラム製品を、情報担体において有形に具現化可能である。また、コンピュータプログラム製品は、実行されると、本明細書に記載の方法などの1つ以上の方法を実行する命令を含み得る。情報担体は、メモリ704、ストレージデバイス706、またはプロセッサ702上のメモリなどのコンピュータ読取可能媒体または機械読取可能媒体である。
【0136】
高速コントローラ708は、コンピューティングデバイス700のための帯域集中型の
動作を管理し、低速コントローラ712は、より低帯域集中型の動作を管理する。このような機能の割当ては例示に過ぎない。ある実施形態では、高速コントローラ708は、メモリ704、ディスプレイ716に(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)結合され、さまざまな拡張カード(図示せず)を受付け得る高速拡張ポート710に結合される。低速コントローラ712は、ストレージデバイス706および低速拡張ポート714に結合され得る。さまざまな通信ポート(たとえば、USB、Bluetooth(登録商標)、Ethernet(登録商標)、無線Ethernet)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力デバイスに、または、スイッチもしくはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合可能である。
【0137】
コンピューティングデバイス700は、図に示すように多くの異なる形態で実現可能である。たとえば、標準サーバ720として、またはそのようなサーバのグループで複数回実現可能である。また、ラックサーバーシステム724の一部として実現可能である。さらに、ラップトップコンピュータ722などのパーソナルコンピュータにおいて実現可能である。または、コンピューティングデバイス700からのコンポーネントは、デバイス750など、モバイルデバイス(図示せず)における他のコンポーネントと組合わせることが可能である。そのようなデバイスの各々は、コンピューティングデバイス700,750のうちの1つ以上を含んでもよく、システム全体は、互いに通信する複数のコンピューティングデバイス700,750で形成されてもよい。
【0138】
コンピューティングデバイス750は、いくつかあるコンポーネントの中で特に、プロセッサ752と、メモリ764と、ディスプレイ754などの入出力デバイスと、通信インターフェイス766と、トランシーバ768とを含む。デバイス750には、さらに他のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスが設けられてもよい。コンポーネント750,752,764,754,766および768の各々は、さまざまなバスを用いて相互接続されており、これらのコンポーネントのうちの複数は、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。
【0139】
プロセッサ752は、メモリ764に格納された命令を含む、コンピューティングデバイス750内の命令を実行可能である。プロセッサは、別々の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサはたとえば、ユーザインターフェイスの制御、デバイス750によって実行されるアプリケーション、およびデバイス750による無線通信など、デバイス750の他のコンポーネントの調整を提供してもよい。
【0140】
プロセッサ752は、ディスプレイ754に結合された制御インターフェイス758および表示インターフェイス756を介して、ユーザと通信してもよい。ディスプレイ754はたとえば、TFT LCD(薄膜トランジスタ液晶表示装置)またはOLED(有機発光ダイオード)ディスプレイ、または他の任意の表示技術でもよい。表示インターフェイス756は、ユーザにグラフィカルなおよび他の情報を提示するためのディスプレイ754を駆動するための好適な回路を含んでもよい。制御インターフェイス758は、ユーザからのコマンドを受信し、プロセッサ752に送信するためにこれらのコマンドを変換してもよい。くわえて、外部インターフェイス762は、デバイス750の他のデバイスとの近接領域通信を可能にするように、プロセッサ752と通信してもよい。外部インターフェイス762は、たとえば、有線通信または無線通信を提供してもよく、いくつかの実施形態では複数のインターフェイスを用いることが可能である。
【0141】
メモリ764は、コンピューティングデバイス750内の情報を格納する。メモリ76
4は、1つ以上のコンピュータ読取可能媒体、1つ以上の揮発性メモリユニット、または1つ以上の不揮発性メモリユニットのうちの1つ以上として実現可能である。拡張メモリ784もデバイス750に提供され、たとえばSIMM(シングル・インライン・メモリ・モジュール)ガードインターフェイスを含み得る拡張インターフェイス782を介して接続されてもよい。そのような拡張メモリ784は、デバイス750のための追加の記憶空間を提供してもよい、または、デバイス750のためのアプリケーションもしくは他の情報も格納してもよい。具体的には、拡張メモリ784は上述のプロセスを実行または補足するための命令を含んでもよく、セキュアな情報も含んでもよい。このため、拡張メモリ784はたとえば、デバイス750のためのセキュリティモジュールであってもよく、デバイス750のセキュアな使用を可能にする命令を用いてプログラム可能である。くわえて、識別情報をハッキング不能な態様でSIMMカード上に載せるなどして、セキュアなアプリケーションが追加情報とともにSIMMカードを介して提供されてもよい。
【0142】
メモリは、以下に説明するように、たとえばフラッシュメモリおよび/またはNVRAMメモリを含み得る。ある実施形態では、コンピュータプログラム製品が情報担体において有形に具体化される。コンピュータプログラム製品は、実行されると上述のような1つ以上の方法を行う命令を含む。情報担体は、たとえばトランシーバ768または外部インターフェイス762を介して受信され得る、メモリ764、拡張メモリ784、またはプロセッサ752上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
【0143】
デバイス750は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス766を介して無線通信可能である。通信インターフェイス766は、とりわけ、GSM(登録商標)音声通話、SMS、EMSもしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、もしくはGPRSといった、さまざまなモードまたはプロトコル下で通信を提供可能である。そのような通信は、たとえば無線周波数トランシーバ768を介して発生してもよい。くわえて、Bluetooth、Wi-Fi(登録商標)、または他のそのようなトランシーバ(図示せず)を使用するなどして、短距離通信が発生し得る。くわえて、GPS(全地球測位システム)レシーバモジュール770が、ナビゲーションおよび位置に関連する追加の無線データをデバイス750に提供可能であり、当該データは、デバイス750上で実行されるアプリケーションによって適宜使用可能である。
【0144】
デバイス750はまた、ユーザから発話の情報を受信してそれを使用可能なデジタル情報に変換し得る音声コーデック760を用いて、可聴式に通信可能である。音声コーデック760も同様に、たとえばデバイス750のハンドセットにおいて、スピーカなどを介してユーザのために可聴音を生成してもよい。そのような音は、音声電話からの音を含み得る、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含み得る、かつ、デバイス750上で動作するアプリケーションによって生成された音を含み得る。
【0145】
コンピューティングデバイス750は、図に示すように多くの異なる形態で実現可能である。たとえば、携帯電話780として実現可能である。また、スマートフォン783、携帯情報端末、または他の同様のモバイルデバイスの一部として実現可能である。
【0146】
ここで説明するシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別に設計された特定用途向け集積回路(ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合わせで実現可能である。これらのさまざまな実現例は、データおよび命令をストレージシステムから受信し、データおよび命令をストレージシステムに送信するように結合された、特殊用途または汎用用途であり得る少なくとも1つのプログラマブルプロセッサ、少なくとも1つの入力デバイス
、および少なくとも1つの出力デバイスを含むプログラマブルシステム上で実行可能および/または解釈可能である1つ以上のコンピュータプログラムにおける実現例を含み得る。
【0147】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラマブルプロセッサのための機械命令を含み、高レベルの手続き型および/またはオブジェクト指向のプログラミング言語、および/またはアセンブリ/機械言語で実現可能である。本明細書で使用されるように、「機械可読媒体」「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、PLD(Programmable Logic Device))を指す。「機械読取可能信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0148】
ユーザとのインタラクションを提供するために、ここで説明したシステムおよび技術は、ユーザに情報を表示するための表示デバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニター)、およびユーザがコンピュータに入力を提供可能なキーボードとポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピューター上で実現可能である。他の種類のデバイスも、ユーザとのインタラクションを提供するために使用可能である。たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信可能である。
【0149】
ここで説明するシステムおよび技術は、バックエンドコンポーネント(たとえば、データサーバとして)を含むコンピューティングシステム、またはミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を含むコンピューティングシステム、またはフロントエンドコンポーネント(たとえば、ユーザがここで説明するシステムおよび技術の実施形態とインタラクション可能なグラフィカル・ユーザ・インターフェイスまたはWebブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、またはそのようなバックエンド、ミドルウェアもしくはフロントエンドコンポーネントの任意の組合わせにおいて実現可能である。システムの構成要素は、デジタルデータ通信の任意の形態または媒体(たとえば、通信ネットワーク)によって相互接続可能である。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットが挙げられる。
【0150】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に、互いに遠隔地にあり、通常、通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント・サーバ関係を有するコンピュータプログラムによって生じる。
【0151】
いくつかの実施形態では、
図7に図示されたコンピューティングデバイスは、仮想現実ヘッドセット(VRヘッドセット/HMDデバイス790)とインターフェイス接続するセンサを含み得る。たとえば、コンピューティングデバイス750または
図7に図示された他のコンピューティングデバイスに含まれる1つまたは複数のセンサは、VRヘッドセット790に入力を提供する、または一般に、VR空間に入力を提供することが可能である。センサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、生体センサ、温度センサ、湿度センサ、および周囲光センサを含み得るが、これらに限定されない
。コンピューティングデバイス750は、センサを用いて、次にVR空間への入力として使用可能なVR空間におけるコンピューティングデバイスの絶対位置および/または検出された回転を決定することが可能である。たとえば、コンピューティングデバイス750を、コントローラ、レーザーポインタ、キーボード、武器などの仮想オブジェクトとしてVR空間に組込んでもよい。VR空間に組込まれたときのユーザによるコンピューティングデバイス/仮想オブジェクトの位置決めによって、ユーザは、VR空間において特定の態様で仮想オブジェクトを見るためにコンピューティングデバイスを位置決めすることが可能になる。
【0152】
いくつかの実施形態では、コンピューティングデバイス750に含まれる、または接続される1つ以上の入力デバイスを、VR空間への入力として使用可能である。入力デバイスは、タッチスクリーン、キーボード、1つ以上のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイク、入力機能付きイヤフォンもしくはバッド、ゲームコントローラ、または他の接続可能な入力デバイスを含み得るが、これらに限定されない。コンピューティングデバイスがVR空間に組込まれるとコンピューティングデバイス750に含まれる入力デバイスとインタラクションするユーザは、VR空間において特定のアクションを発生させることができる。
【0153】
いくつかの実施形態では、コンピューティングデバイス750に含まれる1つまたは複数の出力デバイスは、VR空間においてVRヘッドセット790のユーザに出力および/またはフィードバックを提供可能である。出力およびフィードバックは、視覚的、戦術的、または音声的であり得る。出力および/またはフィードバックは、VR空間または仮想環境のレンダリング、振動、1つ以上のライトもしくはストロボのオンおよびオフまたは点滅および/またはフラッシング、アラームの鳴動、チャイムの再生、曲の再生、およびオーディオファイルの再生を含み得るが、これらに限定されない。出力デバイスは、振動モータ、振動コイル、圧電デバイス、静電デバイス、発光ダイオード(LED)、ストロボ、およびスピーカを含み得るが、これらに限定されない。
【0154】
いくつかの実施形態では、コンピューティングデバイス750は、VRシステムを作成するためにVRヘッドセット790内に配置可能である。VRヘッドセット790は、スマートフォン783などのコンピューティングデバイス750をVRヘッドセット790内の適切な位置に配置することを可能にする1つまたは複数の位置決め要素を含み得る。このような実施形態では、スマートフォン783のディスプレイは、VR空間または仮想環境を表す立体画像をレンダリング可能である。
【0155】
いくつかの実施形態では、コンピューティングデバイス750は、コンピュータで生成された3D環境における別のオブジェクトとして表示されてもよい。ユーザによるコンピューティングデバイス750とのインタラクション(たとえば、回転、シェイク、タッチスクリーンのタッチ、タッチスクリーンを横切る指のスワイプ)は、VR空間内のオブジェクトとのインタラクションとして解釈可能である。ほんの一例として、コンピューティングデバイスは、レーザーポインタであり得る。このような例では、コンピューティングデバイス750は、コンピュータで生成された3D環境において仮想レーザーポインタとして現れる。ユーザがコンピューティングデバイス750を操作すると、VR空間内のユーザは、レーザーポインタの動きを見ることができる。ユーザは、VR環境におけるコンピューティングデバイス750とのインタラクションから、コンピューティングデバイス750上またはVRヘッドセット790上でフィードバックを受信する。
【0156】
いくつかの実施形態では、コンピューティングデバイス750は、タッチスクリーンを含んでもよい。たとえば、ユーザは、タッチスクリーン上で起こることをVR空間内で起
こることと模倣することができる特定の態様でタッチスクリーンとインタラクション可能である。たとえば、ユーザは、タッチスクリーン上に表示されたコンテンツをズームするためにピンチタイプの動作を使用してもよい。このタッチスクリーン上のピンチタイプの動作は、VR空間において提供される情報をズームさせることができる。別の例では、コンピューティングデバイスは、コンピュータで生成された3D環境においてバーチャルブックとしてレンダリングされてもよい。VR空間において、本のページが表示され、タッチスクリーンを横切るユーザの指のスワイプは、バーチャルブックのページをめくる/フリップすると解釈可能である。各ページがめくられる/フリップされると、ページの内容が変化するのを見ることに加えて、ユーザは、本のページをめくる音などの音声フィードバックを提供され得る。
【0157】
いくつかの実施形態では、コンピューティングデバイスに加えて1つ以上の入力デバイス(たとえば、マウス、キーボード)を、コンピュータで生成された3D環境においてレンダリング可能である。レンダリングされた入力デバイス(たとえば、レンダリングされたマウス、レンダリングされたキーボード)は、VR空間内のオブジェクトを制御するためにVR空間内でレンダリングされたものとして使用可能である。
【0158】
コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図される。コンピューティングデバイス750は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、および他の類似のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことを意図している。ここに示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的であることを意図しているに過ぎず、開示された実施形態を限定するように意図されたものではない。
【0159】
また、図に示された論理フローは、望ましい結果を得るために、示された特定の順序、または連続した順序を必要としない。さらに、説明したフローから他のステップを設けてもよく、ステップを削除してもよく、説明したシステムに対して他のコンポーネントを追加または削除してもよい。したがって、他の実施形態は、以下の特許請求の範囲内にある。
【手続補正書】
【提出日】2024-08-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法であって、
ニューラルネットワークを用いて、入力画像に関連付けられた深度画像とビューパラメータとに基づいて、目標物の仮想ビューの画素に色を割当てるためのブレンド重みを生成することと、
前記ブレンド重みと、前記仮想ビューと、入力画像および前記ビューパラメータに基づく合成画像とに基づいて、複数のワープ画像を生成することとを備える、方法。
【手続補正書】
【提出日】2024-08-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法であって、
ニューラルネットワークを用いて、入力画像に関連付けられた深度画像およびビューパラメータに基づいて、目標被写体の仮想ビューの画素に色を割当てるためのブレンド重みを生成することと、
前記ブレンド重みと、前記仮想ビューと、入力画像および前記ビューパラメータに基づく合成画像とに基づいて、複数のワープ画像を生成することとを備える、コンピュータにより実現される方法。
【請求項2】
前記ニューラルネットワークは、前記合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数を最小化するために前記ブレンド重みを生成するように訓練される、請求項1に記載のコンピュータにより実現される方法。
【請求項3】
前記合成画像は、3次元ビデオ会議のために生成される前記目標被写体の未取込みビューである、請求項1または2に記載のコンピュータにより実現される方法。
【請求項4】
前記ブレンド重みは、前記合成画像の画素色を生成するために用いられる、請求項3に記載のコンピュータにより実現される方法。
【請求項5】
前記複数のワープ画像を生成することは、目標ビューポイントに前記入力画像を再投影することを含む、請求項1~4のいずれか1項に記載のコンピュータにより実現される方法。
【請求項6】
前記ビューパラメータは、カメラモデル近似を表す、請求項1~5のいずれか1項に記載のコンピュータにより実現される方法。
【請求項7】
前記ビューパラメータは、目標ビューポイントに関連付けられたビュー方向、ポーズ、およびカメラ視点のうちの少なくとも1つを含む、請求項1~6のいずれか1項に記載のコンピュータにより実現される方法。
【請求項8】
前記ブレンド重みは、前記入力画像からの特徴を組合わせるために使用される、請求項1~7のいずれか1項に記載のコンピュータにより実現される方法。
【請求項9】
前記ニューラルネットワークは、2段階のエンドツーエンドの畳み込みニューラルネットワークである、請求項1~8のいずれか1項に記載のコンピュータにより実現される方法。
【請求項10】
画像処理システムであって、
少なくとも1つの処理デバイスと、
実行されると、前記画像処理システムに動作を行わせる命令を格納したメモリとを備え、前記動作は、
ニューラルネットワークを用いて、入力画像に関連付けられた深度画像およびビューパラメータに基づいて、目標被写体の仮想ビューの画素に色を割当てるためのブレンド重みを生成することと、
前記ブレンド重みと、前記仮想ビューと、入力画像および前記ビューパラメータに基づく合成画像とに基づいて、複数のワープ画像を生成することとを含む、画像処理システム。
【請求項11】
前記ニューラルネットワークは、前記合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数を最小化するために前記ブレンド重みを生成するように訓練される、請求項10に記載の画像処理システム。
【請求項12】
前記合成画像は、3次元ビデオ会議のために生成される前記目標被写体の未取込みビューである、請求項10または11に記載の画像処理システム。
【請求項13】
前記ブレンド重みは、前記合成画像の画素色を生成するために用いられる、請求項12に記載の画像処理システム。
【請求項14】
前記複数のワープ画像を生成することは、目標ビューポイントに前記入力画像を再投影することを含む、請求項10~13のいずれか1項に記載の画像処理システム。
【請求項15】
前記ビューパラメータは、カメラモデル近似を表す、請求項10~14のいずれか1項に記載の画像処理システム。
【請求項16】
前記ビューパラメータは、目標ビューポイントに関連付けられたビュー方向、ポーズ、およびカメラ視点のうちの少なくとも1つを含む、請求項10~15のいずれか1項に記載の画像処理システム。
【請求項17】
前記ブレンド重みは、前記入力画像からの特徴を組合わせるために使用される、請求項10~16のいずれか1項に記載の画像処理システム。
【請求項18】
前記ニューラルネットワークは、2段階のエンドツーエンドの畳み込みニューラルネットワークである、請求項10~17のいずれか1項に記載の画像処理システム。
【請求項19】
命令を有するプログラムであって、前記命令は、プロセッサによって実行されると、コンピューティングデバイスに、
ニューラルネットワークを用いて、入力画像に関連付けられた深度画像およびビューパラメータに基づいて、目標被写体の仮想ビューの画素に色を割当てるためのブレンド重みを生成することと、
前記ブレンド重みと、前記仮想ビューと、入力画像および前記ビューパラメータに基づく合成画像とに基づいて、複数のワープ画像を生成することとを行わせる、プログラム。
【請求項20】
前記ニューラルネットワークは、前記合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数を最小化するために前記ブレンド重みを生成するように訓練される、請求項19に記載のプログラム。
【請求項21】
コンピュータに、請求項1~9のいずれか1項に記載の方法を行わせる、プログラム。
【手続補正書】
【提出日】2024-10-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法であって、
ニューラルネットワークを用いて、入力画像に関連付けられた深度画像およびビューパラメータに基づいて、目標被写体の仮想ビューの画素に色を割当てるためのブレンド重みを生成することと、
前記ブレンド重みと、前記仮想ビューと、前記入力画像および前記ビューパラメータに基づく合成画像とに基づいて、複数のワープ画像を生成することとを備える、コンピュータにより実現される方法。
【請求項2】
前記ニューラルネットワークは、前記合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数を最小化するために前記ブレンド重みを生成するように訓練される、請求項1に記載のコンピュータにより実現される方法。
【請求項3】
前記合成画像は、3次元ビデオ会議のために生成される前記目標被写体の未取込みビューである、請求項1または2に記載のコンピュータにより実現される方法。
【請求項4】
前記ブレンド重みは、前記合成画像の画素色を生成するために用いられる、請求項3に記載のコンピュータにより実現される方法。
【請求項5】
前記複数のワープ画像を生成することは、目標ビューポイントに前記入力画像を再投影することを含む、請求項1~4のいずれか1項に記載のコンピュータにより実現される方法。
【請求項6】
前記ビューパラメータは、カメラモデル近似を表す、請求項1~5のいずれか1項に記載のコンピュータにより実現される方法。
【請求項7】
前記ビューパラメータは、目標ビューポイントに関連付けられたビュー方向、ポーズ、およびカメラ視点のうちの少なくとも1つを含む、請求項1~6のいずれか1項に記載のコンピュータにより実現される方法。
【請求項8】
前記ブレンド重みは、前記入力画像からの特徴を組合わせるために使用される、請求項1~7のいずれか1項に記載のコンピュータにより実現される方法。
【請求項9】
前記ニューラルネットワークは、2段階のエンドツーエンドの畳み込みニューラルネットワークである、請求項1~8のいずれか1項に記載のコンピュータにより実現される方法。
【請求項10】
画像処理システムであって、
少なくとも1つの処理デバイスと、
実行されると、前記画像処理システムに動作を行わせる命令を格納したメモリとを備え、前記動作は、
ニューラルネットワークを用いて、入力画像に関連付けられた深度画像およびビューパラメータに基づいて、目標被写体の仮想ビューの画素に色を割当てるためのブレンド重みを生成することと、
前記ブレンド重みと、前記仮想ビューと、前記入力画像および前記ビューパラメータに基づく合成画像とに基づいて、複数のワープ画像を生成することとを含む、画像処理システム。
【請求項11】
前記ニューラルネットワークは、前記合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数を最小化するために前記ブレンド重みを生成するように訓練される、請求項10に記載の画像処理システム。
【請求項12】
前記合成画像は、3次元ビデオ会議のために生成される前記目標被写体の未取込みビューである、請求項10または11に記載の画像処理システム。
【請求項13】
前記ブレンド重みは、前記合成画像の画素色を生成するために用いられる、請求項12に記載の画像処理システム。
【請求項14】
前記複数のワープ画像を生成することは、目標ビューポイントに前記入力画像を再投影することを含む、請求項10~13のいずれか1項に記載の画像処理システム。
【請求項15】
前記ビューパラメータは、カメラモデル近似を表す、請求項10~14のいずれか1項に記載の画像処理システム。
【請求項16】
前記ビューパラメータは、目標ビューポイントに関連付けられたビュー方向、ポーズ、およびカメラ視点のうちの少なくとも1つを含む、請求項10~15のいずれか1項に記載の画像処理システム。
【請求項17】
前記ブレンド重みは、前記入力画像からの特徴を組合わせるために使用される、請求項10~16のいずれか1項に記載の画像処理システム。
【請求項18】
前記ニューラルネットワークは、2段階のエンドツーエンドの畳み込みニューラルネットワークである、請求項10~17のいずれか1項に記載の画像処理システム。
【請求項19】
命令を有するプログラムであって、前記命令は、プロセッサによって実行されると、コンピューティングデバイスに、
ニューラルネットワークを用いて、入力画像に関連付けられた深度画像およびビューパラメータに基づいて、目標被写体の仮想ビューの画素に色を割当てるためのブレンド重みを生成することと、
前記ブレンド重みと、前記仮想ビューと、前記入力画像および前記ビューパラメータに基づく合成画像とに基づいて、複数のワープ画像を生成することとを行わせる、プログラム。
【請求項20】
前記ニューラルネットワークは、前記合成画像と、少なくとも1つのウィットネスカメラによって取込まれるグラウンドトゥルース画像との間のオクルージョン損失関数を最小化するために前記ブレンド重みを生成するように訓練される、請求項19に記載のプログラム。
【請求項21】
コンピュータに、請求項1~9のいずれか1項に記載の方法を行わせる、プログラム。
【外国語明細書】