(57)【要約】      （修正有）【課題】カメラのネットワークによってキャプチャされたシーンの仮想ビューを生成するシステム及び方法を提供する。【解決手段】方法は、ネットワークの複数のカメラを使用してシーンの画像を同時にキャプチャすることと、キャプチャされた画像を使用して、シーン内の大気条件のモデルを決定することと、シーンに対して仮想カメラを定義することと、を含む。方法は、さらに、仮想カメラの視点からシーンを、視点に対応するキャプチャされた画像の画素を調整することによって、レンダリングすることを備える。この調整は、シーンの３次元モデル、シーンに対する複数のカメラの位置、仮想カメラの視点および大気条件の幾何学的モデルに基づいて行われる。【選択図】図３
2020095717.tif 000002
【特許請求の範囲】
【請求項１】
カメラのネットワークによってキャプチャされたシーンの仮想ビューを生成する方法であって、
前記ネットワークの複数のカメラを使用して前記シーンの画像を同時にキャプチャすることと、
前記キャプチャされた画像を用いて、前記シーン内の大気条件のモデルを決定することと、
前記シーンに対して仮想カメラを定義することと、
前記仮想カメラの視点から前記シーンを、前記視点に対応する前記キャプチャされた画像の画素を調整することによってレンダリングすることと、を備え、前記調整することは、前記シーンの３次元モデル、前記シーンに対する前記複数のカメラの位置、前記仮想カメラの前記視点、および大気条件の幾何学的モデルに基づいている、方法。
【請求項２】
前記キャプチャされた画像を使用して前記シーンの前記３次元モデルを生成することをさらに備える、請求項１に記載の方法。
【請求項３】
前記３次元モデルは、前記シーンの前記仮想カメラの視点に基づいて決定された複数の３次元ジオメトリ平面を備える、請求項１に記載の方法。
【請求項４】
前記シーンをレンダリングすることは、前記大気条件のモデルを使用して、前記キャプチャされた画像の深度マップに従って大気条件を除去することと、前記仮想カメラによってキャプチャされた画像の深度マップに従って大気条件を追加することとを備える、請求項１に記載の方法。
【請求項５】
前記シーンをレンダリングすることは、前記キャプチャされた画像よりも少ない大気条件を含む前記仮想カメラの視点に基づいて大気条件を除去することを備える、請求項１に記載の方法。
【請求項６】
前記シーンをレンダリングすることは、前記キャプチャされた画像よりも多い大気条件を含む前記仮想カメラの視点に基づいて大気条件を追加することを備える、請求項１に記載の方法。
【請求項７】
前記画素をレンダリングすることは、大気条件の前記モデルに基づいて、前記キャプチャされた画像と比較して、前記レンダリングされたシーンにおけるオブジェクトの可視性を減少させることを備える、請求項１に記載の方法。
【請求項８】
前記画素をレンダリングすることは、大気条件の前記モデルおよび前記シーンの前記３次元モデルに基づいて、前記キャプチャされた画像と比較して、前記レンダリングされたシーンにおけるオブジェクトの可視性を前記大気条件に起因して増加させることを備える、請求項１に記載の方法。
【請求項９】
前記レンダリングされたシーンの各画素は、前記複数のカメラのうちの１つによってキャプチャされた画像から選択される、請求項１に記載の方法。
【請求項１０】
前記レンダリングされたシーンの画素は、仮想カメラの対応する画素によってキャプチャされたシーン内の点に最も近い距離を有する、前記複数のカメラのうちの１つによってキャプチャされた画像から選択される、請求項１に記載の方法。
【請求項１１】
前記レンダリングされたシーンの画素は、前記シーンをキャプチャする前記カメラ及び前記仮想カメラの正規化された方向ベクトルの最大ドット積に従って、前記キャプチャされた画像から選択される、請求項１に記載の方法。
【請求項１２】
前記レンダリングされたシーンの画素は、前記シーンの前記３次元モデル上に投影されたときに最も高い解像度を有する前記複数のカメラのうちの１つに基づいて、前記キャプチャされた画像のうちの１つから選択される、請求項１に記載の方法。
【請求項１３】
前記仮想カメラの視点におけるオブジェクトの可視性は、前記モデルを使用して大気条件を補償するように修正される、請求項１に記載の方法。
【請求項１４】
大気条件の前記モデルがフォグ、ヘイズ、ミスト、雲、雨、スモーク、ハール、およびスモッグのうちの１つのモデルに関する、請求項１に記載の方法。
【請求項１５】
表示されるべき画像を生成する方法であって、
複数の視点を有するカメラのネットワークを使用して同じシーンをキャプチャする複数の画像を入力することと、前記シーンはオブジェクトを含み、前記シーンの大気条件が前記シーン内の各オブジェクトの視認性に影響を及ぼし、
前記大気条件に起因した前記オブジェクトの視認性に関する情報を決定することと、
仮想視点からキャプチャされた画像を生成することと、を備え、前記仮想視点は複数の視点と比較してズームインされた視点であり、前記画像は前記複数の画像と前記決定された情報とを使用して生成され、前記生成された画像は前記複数の画像と比較して前記オブジェクトの視認性が増加している、方法。
【請求項１６】
前記画像は前記視点に対応する前記キャプチャされた画像の画素を調整することによるものであり、前記調整は、前記シーンの３次元モデル、前記カメラの位置、及び前記決定された情報に基づいて行われる、請求項１５に記載の方法。
【請求項１７】
カメラのネットワークによってキャプチャされたシーンの仮想ビューを生成する方法を実施するためのコンピュータプログラムが記憶されたコンピュータ可読媒体であって、前記方法が、
前記ネットワークの複数のカメラを使用して前記シーンの画像を同時にキャプチャすることと、
前記キャプチャされた画像を用いて、前記シーン内の大気条件のモデルを決定することと、
前記シーンに対して仮想カメラを定義することと、
前記仮想カメラの視点からの前記シーンを、前記視点に対応する前記キャプチャされた画像の画素を調整することによってレンダリングすることと、を備え、前記調整することは、前記シーンの３次元モデルと、前記シーンに対する前記複数のカメラの位置と、前記仮想カメラの前記視点と、大気条件の幾何学的モデルとに基づいている、コンピュータ可読媒体。
【請求項１８】
システムであって、
シーンの画像をキャプチャするように配置されたカメラのネットワークと、
メモリと、
ディスプレイと、
プロセッサと、を備え、前記プロセッサは、方法を実施するために前記メモリに記憶されたコードを実行するように構成され、前記方法が、
前記ネットワークの複数のカメラを使用して前記シーンの画像を同時にキャプチャすることと、
前記キャプチャされた画像を用いて、前記シーン内の大気条件のモデルを決定することと、
前記シーンに対して仮想カメラを定義することと、
前記仮想カメラの視点からの前記シーンを、前記視点に対応する前記キャプチャされた画像の画素を調整することによってレンダリングすることと、を備え、前記調整することは、前記シーンの３次元モデルと、前記シーンに対する前記複数のカメラの位置と、前記仮想カメラの前記視点と、大気条件の幾何学的モデルとに基づいている、システム。
【請求項１９】
装置であって、
メモリと、
前記メモリに記憶されたコードを実行して、カメラのネットワークによってキャプチャされたシーンの仮想ビューを生成する方法を実施するように構成されたプロセッサと、を備え、前記方法が、
前記ネットワークの複数のカメラを使用して同時にキャプチャされたシーンの画像を受信することと、
前記キャプチャされた画像を用いて、前記シーン内の大気条件のモデルを決定することと、
前記シーンに対して仮想カメラを定義することと、
前記仮想カメラの視点からの前記シーンを、前記視点に対応する前記キャプチャされた画像の画素を調整することによってレンダリングすることと、を備え、前記調整することは、前記シーンの３次元モデルと、前記シーンに対する前記複数のカメラの位置と、前記仮想カメラの前記視点と、大気条件の幾何学的モデルとに基づいている、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自由視点ビデオを生成するためのマルチカメラネットワークからの画像データのキャプチャおよび処理に関する。
【０００２】
特に、本開示は高いフレームレートで、フォグ（fog）、ヘイズ（haze）、ミスト（mist）、またはスモーク（smoke）などの大気条件によって影響されるイベントの没入型で現実的な自由視点ビデオを生成するための方法、システム、および装置に関する。本開示はまた、高いフレームレートでフォグ、ヘイズ、ミスト、またはスモークなどの大気条件によって影響を受けるイベントの没入型で現実的な自由視点ビデオを生成するためのコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
【背景技術】
【０００３】
コンピュータビジョンシステムは、カメラのネットワークによって取り囲まれ、キャプチャされた視野内のオブジェクトおよびアクティビティの自由視点ビデオ（ＦＶＶ）を生成するために使用されてきた。ＦＶＶシステムはリアルタイムでビデオ画像を処理し、低遅延での放送に適したシーンの仮想ビデオ映像を生成することができる。あるいは、処理は、後で見るための後処理を使用するオフラインであってもよい。仮想ビデオ画像は、ネットワーク内のカメラのいずれにも対応しない様々な視点および向きから生成され得る。
【０００４】
ほとんどのＦＶＶ生成技術は、較正されたカメラネットワークによってキャプチャされたカメラ画像に基づいて機能する。較正されたカメラネットワークとは、カメラが複数のパラメータに関して記述され得るものである。較正パラメータは外因性パラメータ（例えば、向きおよび姿勢）および内因性パラメータ（例えば、焦点距離、主点オフセットおよび軸スキュー）からなる。パラメータは、ほぼ同時に取得されたカメラネットワークからの画像のセットの分析から決定されてもよい。
【０００５】
ＦＶＶ生成の多くの異なる公知の方法が存在する。方法の１つのクラスは、シーンの完全な３Ｄジオメトリを再構成するモデルベースの方法である。第２のクラスの方法は深度推定を使用し、次いで画像および深度データからＦＶＶを生成する深度ベースの方法である。第３のクラスは、画像データのある種の補間を使用してＦＶＶを直接形成する画像ベースの方法である。カメラネットワークによるイベントのサンプリングの必要な密度は、ＦＶＶ生成方法、生成される視点の範囲、および所望の出力品質に依存する。３Ｄジオメトリを生成するために使用される技法には、動きからの構造、シルエットからの形状、視体積交差法再構成、焦点または焦点外れからの形状、ステレオからの構造、および深度／視差推定アルゴリズムが含まれる。
【０００６】
既存のシステムは、シーン内の観察条件が明確であるときにＦＶＶを生成するように設計されている。既存のシステムは、シーンコンテンツの複数のビューがフォグ、ヘイズ、ミスト、スモーク、または他の大気条件によって影響されないと仮定する。この仮定は、通常の運転条件および室内システムに適している。しかしながら、この仮定は、屋外イベントには適切ではないかもしれない。仮定が不適切である場合、システムによって生成されたＦＶＶは非現実的な外観を有することがあり、ＦＶＶを見る体験にあまり説得力がなくなり、没入感がなくなることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、既存の構成の１つまたは複数の欠点を実質的に克服するか、または少なくとも改善することである。
【課題を解決するための手段】
【０００８】
本開示の一態様は、カメラのネットワークによってキャプチャされたシーンの仮想ビューを生成する方法であって、前記ネットワークの複数のカメラを使用して前記シーンの画像を同時にキャプチャすることと、前記キャプチャされた画像を用いて、前記シーン内の大気条件のモデルを決定することと、前記シーンに対して仮想カメラを定義することと、前記仮想カメラの視点から前記シーンを、前記視点に対応する前記キャプチャされた画像の画素を調整することによってレンダリングすることと、を備え、前記調整することは、前記シーンの３次元モデル、前記シーンに対する前記複数のカメラの位置、前記仮想カメラの前記視点、および大気条件の幾何学的モデルに基づいている、方法を提供する。
【０００９】
いくつかの態様によれば、本方法は、前記キャプチャされた画像を使用して前記シーンの前記３次元モデルを生成することをさらに備える。
【００１０】
いくつかの態様によれば、前記３次元モデルは、前記シーンの前記仮想カメラの視点に基づいて決定された複数の３次元ジオメトリ平面を備える。
【００１１】
いくつかの態様によれば、前記シーンをレンダリングすることは、前記大気条件のモデルを使用して、前記キャプチャされた画像の深度マップに従って大気条件を除去することと、前記仮想カメラによってキャプチャされた画像の深度マップに従って大気条件を追加することとを備える。
【００１２】
いくつかの態様によれば、前記シーンをレンダリングすることは、前記キャプチャされた画像よりも少ない大気条件を含む前記仮想カメラの視点に基づいて大気条件を除去することを備える。
【００１３】
いくつかの態様によれば、前記シーンをレンダリングすることは、前記キャプチャされた画像よりも多い大気条件を含む前記仮想カメラの視点に基づいて大気条件を追加することを備える。
【００１４】
いくつかの態様によれば、前記画素をレンダリングすることは、大気条件の前記モデルに基づいて、前記キャプチャされた画像と比較して、前記レンダリングされたシーンにおけるオブジェクトの可視性を減少させることを備える。
【００１５】
いくつかの態様によれば、前記画素をレンダリングすることは、大気条件の前記モデルおよび前記シーンの前記３次元モデルに基づいて、前記キャプチャされた画像と比較して、前記レンダリングされたシーンにおけるオブジェクトの可視性を前記大気条件に起因して増加させることを備える。
【００１６】
いくつかの態様によれば、前記レンダリングされたシーンの各画素は、前記複数のカメラのうちの１つによってキャプチャされた画像から選択される。
【００１７】
いくつかの態様によれば、前記レンダリングされたシーンの画素は、仮想カメラの対応する画素によってキャプチャされたシーン内の点に最も近い距離を有する、前記複数のカメラのうちの１つによってキャプチャされた画像から選択される。
【００１８】
いくつかの態様によれば、前記レンダリングされたシーンの画素は、前記シーンをキャプチャする前記カメラ及び前記仮想カメラの正規化された方向ベクトルの最大ドット積に従って、前記キャプチャされた画像から選択される。
【００１９】
いくつかの態様によれば、前記レンダリングされたシーンの画素は、前記シーンの前記３次元モデル上に投影されたときに最も高い解像度を有する前記複数のカメラのうちの１つに基づいて、前記キャプチャされた画像のうちの１つから選択される。
【００２０】
いくつかの態様によれば、前記仮想カメラの視点におけるオブジェクトの可視性は、前記モデルを使用して大気条件を補償するように修正される。
【００２１】
いくつかの態様によれば、大気条件の前記モデルがフォグ、ヘイズ、ミスト、雲、雨、スモーク、ハール、およびスモッグのうちの１つのモデルに関する。
【００２２】
本開示の別の態様は、表示されるべき画像を生成する方法であって、複数の視点を有するカメラのネットワークを使用して同じシーンをキャプチャする複数の画像を入力することと、前記シーンはオブジェクトを含み、前記シーンの大気条件が前記シーン内の各オブジェクトの視認性に影響を及ぼし、前記大気条件に起因した前記オブジェクトの視認性に関する情報を決定することと、仮想視点からキャプチャされた画像を生成することと、を備え、前記仮想視点は複数の視点と比較してズームインされた視点であり、前記画像は前記複数の画像と前記決定された情報とを使用して生成され、前記生成された画像は前記複数の画像と比較して前記オブジェクトの視認性が増加している、方法を提供する。
【００２３】
いくつかの態様によれば、前記画像は前記視点に対応する前記キャプチャされた画像の画素を調整することによるものであり、前記調整は、前記シーンの３次元モデル、前記カメラの位置、及び前記決定された情報に基づいて行われる。
【００２４】
本開示の別の態様は、カメラのネットワークによってキャプチャされたシーンの仮想ビューを生成する方法を実施するためのコンピュータプログラムが記憶されたコンピュータ可読媒体であって、前記方法が、前記ネットワークの複数のカメラを使用して前記シーンの画像を同時にキャプチャすることと、前記キャプチャされた画像を用いて、前記シーン内の大気条件のモデルを決定することと、前記シーンに対して仮想カメラを定義することと、前記仮想カメラの視点からの前記シーンを、前記視点に対応する前記キャプチャされた画像の画素を調整することによってレンダリングすることと、を備え、前記調整することは、前記シーンの３次元モデルと、前記シーンに対する前記複数のカメラの位置と、前記仮想カメラの前記視点と、大気条件の幾何学的モデルとに基づいている、コンピュータ可読媒体を提供する。
【００２５】
本開示の別の態様は、シーンの画像をキャプチャするように配置されたカメラのネットワークと、メモリと、ディスプレイと、プロセッサと、を備え、前記プロセッサは、方法を実施するために前記メモリに記憶されたコードを実行するように構成され、前記方法が、前記ネットワークの複数のカメラを使用して前記シーンの画像を同時にキャプチャすることと、前記キャプチャされた画像を用いて、前記シーン内の大気条件のモデルを決定することと、前記シーンに対して仮想カメラを定義することと、前記仮想カメラの視点からの前記シーンを、前記視点に対応する前記キャプチャされた画像の画素を調整することによってレンダリングすることと、を備え、前記調整することは、前記シーンの３次元モデルと、前記シーンに対する前記複数のカメラの位置と、前記仮想カメラの前記視点と、大気条件の幾何学的モデルとに基づいている、システムを提供する。
【００２６】
本開示の別の態様は、メモリと、前記メモリに記憶されたコードを実行して、カメラのネットワークによってキャプチャされたシーンの仮想ビューを生成する方法を実施するように構成されたプロセッサと、を備え、前記方法が、前記ネットワークの複数のカメラを使用して同時にキャプチャされたシーンの画像を受信することと、前記キャプチャされた画像を用いて、前記シーン内の大気条件のモデルを決定することと、前記シーンに対して仮想カメラを定義することと、前記仮想カメラの視点からの前記シーンを、前記視点に対応する前記キャプチャされた画像の画素を調整することによってレンダリングすることと、を備え、前記調整することは、前記シーンの３次元モデルと、前記シーンに対する前記複数のカメラの位置と、前記仮想カメラの前記視点と、大気条件の幾何学的モデルとに基づいている、装置を提供する。
【００２７】
本発明の他の態様も記載される。
【図面の簡単な説明】
【００２８】
以下の図面を参照して、本発明の１つ以上の実施形態を説明する。
【００２９】
【図１】図１は、関心領域（ＲＯＩ）または関心ボリューム（ＶＯＩ）を取り囲むカメラのネットワークを示す。
【００３０】
【図２Ａ】、
【図２Ｂ】図２Ａおよび図２Ｂは、説明された構成を実施することができる汎用コンピュータシステムの概略ブロック図である。
【００３１】
【図３】図３は、複数の視点からキャプチャされた画像を使用して、大気条件の存在下でシーンの自由視点ビデオを生成する方法を示す概略フロー図である。
【００３２】
【図４Ａ】、
【図４Ｂ】図４Ａおよび図４Ｂは、それぞれ、上からおよび第２の視点から見た、例示的な場面、カメラのネットワーク、および仮想カメラを示す図である。
【００３３】
【図５Ａ】、
【図５Ｂ】図５Ａおよび図５Ｂはフォグ、ヘイズ、ミストまたはスモークのような大気条件の有無にかかわらず、カメラのネットワークの１つからの場面のキャプチャされた画像を示す図である。
【００３４】
【図６Ａ】、
【図６Ｂ】、
【図６Ｃ】図６Ａ〜図６Ｃは、実カメラ位置と仮想カメラ位置の両方から取り込まれたシーンに関連する深度マップと、実カメラからの距離に関連づけられているが仮想カメラによって与えられる視点に関する深度マップとを示す図である。
【００３５】
【図７Ａ】図７Ａは、ヘイズがない状態でキャプチャされた画像について生成された場面の仮想画像を示す図である。
【００３６】
【図７Ｂ】、
【図７Ｃ】図７Ｂおよび図７Ｃは、それぞれ、記載された構成を有する場合と有さない場合の、ヘイズの存在下でキャプチャされた同じシーンの画像から生成された仮想画像を示す図である。
【００３７】
【図８】図８は、１つ以上の深度マップを生成する方法を示す概略フロー図である。
【００３８】
【図９】図９は大気条件を含むシーンにおける仮想カメラのための仮想画像を生成する方法を示す概略フロー図である。
【００３９】
【図１０】図１０は、複数の視点からキャプチャされた画像を使用して、大気条件が存在するシーンの自由視点ビデオを生成する代替方法を示す概略フロー図である。
【発明を実施するための形態】
【００４０】
添付の図面のうちの任意の１つまたは複数において、同じ参照番号を有するステップおよび／または特徴を参照する場合、これらのステップおよび／または特徴は本説明の目的のために、反対の意図が現れない限り、同じ機能または操作を有する。
【００４１】
本明細書で説明される構成は、ライブキャプチャおよびブロードキャストのために関心領域（ＲＯＩ）１１０の周りにセットアップされた、図１に示されるようなカメラ１２０Ａ〜１２０Ｘのネットワーク１２０とともに使用され得る。カメラ１２０Ａ〜１２０Ｘのネットワークは、図１の例ではカメラ１２０のリングとして構成される。カメラ１２０Ａ〜１２０Ｘは自由視点ビデオを生成するために使用可能な画像をキャプチャするのに適し、キャプチャされたビデオを処理部２０５に提供することができる任意の画像キャプチャ装置とすることができる。
【００４２】
図１は上方から示されており、この場合、マークされた関心領域（ＲＯＩ）は、カメラネットワーク１２０によってキャプチャされ、仮想視点からの合成画像に含まれ得るようにオブジェクトまたはプレーヤが配置され得る、地表面上のエリアである。実際には、オブジェクトおよびプレーヤが関心ボリューム（ＶＯＩ）と呼ぶことができる地上のボリューム内に配置される。スポーツ、劇場、ダンス、音楽、オペラ、または他のパフォーマンスなどの典型的なアクティビティの画像をキャプチャするために、関心ボリュームは、典型的には地面から２メートル以上上に広がる。ＶＯＩは固定された関心領域に対応してもよいし、移動する関心領域に対応してもよい。例えば、関心ボリュームは、スポーツプレーヤのような人、経時的に追跡され得るスポーツ用具（例えば、ボール）のようなオブジェクトに対応し得る。
【００４３】
以下で説明するように、カメラ１２０Ａ〜１２０Ｘは、自由視点ビデオ（ＦＶＶ）を生成するために使用される大型コンピュータビジョンシステムの一部とすることができる。ＦＶＶシステムはリアルタイムでビデオを処理し、低遅延での放送に適したシーンの仮想ビデオ映像を生成するために使用されてもよい。
【００４４】
図１のカメラ１２０Ａ〜１２０Ｘは、単一のカメラリングでＲＯＩ１１０を取り囲む。しかしながら、別の構成では、カメラが異なる高さにある複数のリングでＲＯＩを囲むことができる。
【００４５】
図１に見られるように、カメラ１２０Ａ〜１２０Ｘは、ＲＯＩの周りに均等に広がっている。別の構成では、特定の位置により大きな密度のカメラが存在してもよいし、カメラの位置がランダムに広がっていてもよい。カメラの位置は例えば、ＲＯＩの物理的な環境のために制限され得る。
【００４６】
図１の構成例では、カメラ１２０Ａ〜１２０Ｘが取り付けられ、固定されている。しかしながら、別の構成では、カメラ１２０Ａ〜１２０Ｘがパン、チルト、およびズーム（ＰＴＺ）が可能であってもよく、ハンドヘルドであってもモバイルであってもよい。ＦＶＶを生成するために、キャプチャされたビデオから安定化されたフレームが必要とされ得る。あるいは、各フレームに関連する正確な較正データが必要とされ得る。較正データはカメラ１２０Ａ〜１２０Ｘが（例えば、オペレータまたは何らかの種類の自動制御システムによって）制御されていることに起因する、またはカメラ１２０Ａ〜１２０Ｘの機械的または光学的な不安定性に起因する、画像キャプチャの任意の時間的変動の影響を含むことができる。不安定性は振動、ハンドシェイク、または環境変化（例えば、温度、エア圧、風、群衆の動き（crowd motion）など）に起因するような遅いドリフトを含み得る。いくつかの構成では、センサ読み出しはＦＶＶおよびフレーム安定化のための効率的な画像キャプチャを達成するために、拡張デジタルＰＴＺを介してカスタマイズされてもよい。
【００４７】
一つの構成では、ＲＯＩ１１０がスポーツ会場、アリーナ、またはスタジアムであってもよく、固定されたパン、チルト、ズーム（ＰＴＺ）を備えた多数のカメラ（例えば、数十または数百のカメラ）がプレイエリアに向けられている。そのようなプレイエリアは典型的には長方形、円形、又は楕円形であり、プレイエリアがカメラの１つ以上のリングによって囲まれることを可能にし、その結果、プレイエリア上の全てのポイントが、多数の視点から同時にキャプチャされる。いくつかの構成では、カメラの完全なリングは使用されず、むしろカメラ１２０Ａ〜１２０Ｘのいくつかのサブセットが使用される。カメラ１２０Ａ〜１２０Ｘのサブセットが使用される構成は、ある視点、例えば、アクションまたは関心対象を含む可能性が低い視点が、前もって不必要であることが知られている場合に有利であり得る。
【００４８】
一つの構成では、カメラ１２０Ａ〜１２０Ｘを同期させて、同じ瞬間にフレームを取得することができる。
【００４９】
一つの構成において、カメラ１２０Ａ〜１２０Ｘは異なる高さ（例えば、異なる高さで３リング内に）に大まかに設定されてもよく、ＲＯＩ１１０内の遊技場の特定の予め選択された領域に焦点を当てるようにしてもよい。安定化のために使用される画像特徴は、線状フィールドマーキングであってもよい。
【００５０】
あるいは、ＲＯＩが演奏会場におけるステージであってもよい。ステージの場合、一組のカメラ（例えば、数十台のカメラ）を、演奏の前方の様々な方向からステージに向けることができる。ステージ構成では、課題がステージ上の風景または機器を変更することを含み得る。このようなステージ構成で使用される画像処理の特徴は、スポーツ会場よりも多く変化し得る。
【００５１】
カメラ１２０Ａ〜１２０Ｘは、従来のライブ放送タイプのカメラ、デジタルビデオカメラ、監視カメラ、または携帯電話、タブレット、ウェブカメラ付きコンピュータなどの画像キャプチャ機能を有する他のデバイスとすることができる。説明した構成では、カメラ１２０Ａ〜１２０Ｘが高精細度（ＨＤ）ビデオフレームをキャプチャする。しかしながら、記載された方法の全ては、ＳＤ、４Ｋ又は８Ｋのような他のフレームフォーマットに適合されてもよい。
【００５２】
図１の例では、ＲＯＩ１１０は、カメラ１２０のリングによって囲まれた楕円形の競技場を有するアリーナ１１０である。図１の例では、アリーナ１１０が第１のチームのプレーヤ（例えば、１５０）、第２のチームのプレーヤ（例えば、１６０）およびボール１４０などのオブジェクトを含む。図１の例では、プレーヤ１５０は第１のオブジェクトによって表され、プレーヤ１６０は第２のオブジェクトによって表され、ボール１４０は第３のオブジェクトによって表される。
【００５３】
カメラ１２０Ａなどのカメラによってキャプチャされたビデオフレームはネットワーク接続２３０を介して、ビデオ処理を実行するように構成された処理部２０５に利用可能にされる前に、カメラ１２０Ａの近くで処理および一時記憶される。図２Ａに見られるように、処理部２０５は、コンピュータモジュール２０１内に構成される。しかし、代替の構成では、別個のビデオ処理ユニットを使用して、説明した構成を実施することができる。
【００５４】
処理部２０５は、コントローラ１８０から受け取った制御入力に応じて、複数の異なる動作を実行することができる。例えば、コントローラ１８０は、・カメラネットワーク１２０によってカバーされるＲＯＩを変更するための、更新されたカメラＰＴＺを設定すること、・カメラからの画像および／または他のデータの設定に基づいてカメラネットワーク１２０の較正パラメータを推定すること、・アリーナ１１０を取り囲むカメラ１２０Ａ〜１２０Ｘからの、処理部２０５で利用可能なビデオストリームに基づいてシーン内の大気条件のモデルを生成または更新すること、・アリーナ１１０を取り囲むカメラ１２０Ａ〜１２０Ｘからの、処理部２０５で利用可能なビデオストリームに基づいて、位置、向き、焦点距離などのようなカメラ較正パラメータに関して定義された特定のカメラ視点（または視点）１９０を有する仮想カメラからの画像を生成すること、を要求することができる。
【００５５】
画像データ、カメラネットワーク１２０の較正データ、大気状態のモデル等のデータは、例えばネットワーク接続２２１を介して、コントローラ１８０と処理部２０５との間で送信されてもよい。
【００５６】
仮想カメラ位置の入力は人間の仮想カメラオペレータによって生成することができ、ジョイスティック、マウス２０３（図２Ａ参照）、または複数の入力構成要素を備える専用コントローラを含む同様のコントローラなどのユーザインターフェースデバイスからの入力に基づくことができる。あるいは、カメラ位置がゲームプレイの分析に基づいて完全に自動的に生成されてもよい。ハイブリッド制御構成も可能であり、それによって、カメラ位置決めのいくつかの態様では、人間のオペレータによって指示され、他の態様は自動化されたアルゴリズムによって指示される。例えば、粗位置決めが人間のオペレータによって実行され、安定化および経路平滑化を含む精密位置決めが自動アルゴリズムによって実行されるようにしてもよい。
【００５７】
処理部２０５は、ＦＶＶ生成の任意の適切な方法を使用してフレーム合成を達成するように構成され得る。ＦＶＶ生成の方法はシーンの完全な３Ｄジオメトリを再構成するモデルベースの方法と、深度推定を使用し、次いで画像および深度データからＦＶＶを生成する深度ベースの方法と、ＦＶＶを直接形成するために画像データのある種の補間を使用する画像ベースの方法とを含む。また、処理部２０５は、カメラ位置制御信号を生成する装置が処理部２０５の実用的な限界を認識できるように、要求された視点に対するフレーム品質またはカメラカバレッジの完全性という形でフィードバックを提供するように構成されてもよい。処理部２０５によって生成されたビデオストリーム１９０は、その後、プロダクションデスク（図示せず）に提供されてもよい。プロダクションデスクにおいて、ビデオストリーム１９０は放送ビデオを形成するために一緒に編集され得る。あるいは、ビデオストリームは、編集されずにブロードキャストされてもよいし、または後のコンパイルのために記憶されてもよい。
【００５８】
一つの構成では、画像安定化が、カメラ１２０Ａなどのカメラに直接接続された専用処理ユニット上で実行される。しかしながら、他の構成では、サーバ又は上述のビデオ処理部２０５のような他の非ローカル処理部上で解析が実行されてもよい。カメラ１２０Ａまたはその近傍での解析の利点は、待ち時間が短縮される可能性があることである。カメラ較正パラメータの検出された変化は、複数の画像を含むビデオシーケンスの処理において、例えば、基準フレームに一致するようにビデオシーケンスフレームを変換するために、またはコンピュータビジョンシステムで使用されるカメラ較正パラメータを更新するために使用され得る。
【００５９】
図２Ａおよび図２Ｂは、説明した様々な構成を実施することができる汎用コンピュータシステム２００を示している。しかしながら、コンピュータシステム２００は説明された方法を実施するために、図３および図８〜図１０を参照して説明されるように、特定の技術的方法で構成されることが必要とされる。コンピュータシステム２００は、アプリケーション２３３を介して、自由視点ビデオを合成し、シーンに対する仮想カメラの位置に基づいて大気条件を補償して、以前の解決策よりも現実的な仮想ビューを提供するように構成される。
【００６０】
図２Ａに見られるように、コンピュータシステム２００は、コンピュータモジュール２０１と、キーボード２０２、マウスポインタデバイス２０３、スキャナ２２６、カメラ２２７、およびマイクロフォン２８０などの入力デバイスと、プリンタ２１５、ディスプレイ・デバイス２１４、およびラウドスピーカ２１７を含む出力デバイスと、を含む。外部変復調器（モデム）トランシーバデバイス２１６は、接続２２１を介して通信ネットワーク２２０との間で通信するためにコンピュータモジュール２０１によって使用され得る。通信ネットワーク２２０は、インターネット、セルラ電気通信ネットワーク、またはプライベートＷＡＮなどの広域ネットワーク（ＷＡＮ）とすることができる。接続２２１が電話回線である場合、モデム２１６は、従来の「ダイヤルアップ」モデムとすることができる。あるいは接続２２１が大容量（例えば、ケーブル）接続である場合、モデム２１６はブロードバンドモデムであってもよい。無線モデムはまた、通信ネットワーク２２０への無線接続のために使用されてもよい。カメラのネットワーク１２０は、ネットワーク２２０を介してモジュール２０１と通信することができる。あるいは、モジュール２０１がサーバ２９０などのリモートデバイスからネットワーク１２０によってキャプチャされたビデオフレームを受信することができる。
【００６１】
コンピュータモジュール２０１は、典型的には少なくとも１つのプロセッサユニット２０５と、メモリユニット２０６とを含む。例えば、メモリユニット２０６は、半導体のＲＡＭ（random access memory）及び半導体のＲＯＭ（read only memory）を有することができる。また、コンピュータモジュール２０１は、ビデオディスプレイ２１４、スピーカ２１７、およびマイクロフォン２８０に結合するオーディオビデオインターフェース２０７、キーボード２０２、マウス２０３、スキャナ２２６、カメラ２２７、およびオプションとしてジョイスティックまたは他のヒューマンインターフェースデバイス（図示せず）に結合するＩ／Ｏインターフェース２１３、ならびに外部のモデム２１６およびプリンタ２１５のためのインターフェース２０８を含む、いくつかの入出力（Ｉ／Ｏ）インターフェースを含む。いくつかの実装形態では、モデム２１６がコンピュータモジュール２０１内に、例えばインターフェース２０８内に組み込まれてもよい。コンピュータモジュール２０１は、ローカルエリアネットワーク（ＬＡＮ）として知られるローカルエリア通信ネットワーク２２２への接続２２３を介したコンピュータシステム２００の結合を可能にするローカルネットワークインターフェース２１１も有する。図２Ａに示すように、ローカル通信ネットワーク２２２は、通常、いわゆる「ファイアウォール」装置または同様の機能の装置を含む接続２２４を介して広域ネットワーク２２０に結合することもできる。ローカルネットワークインターフェース２１１はイーサネット（登録商標）サーキットカード、ブルートゥース（登録商標）無線構成、またはＩＥＥＥ８０２．１１無線構成を含むことができるが、インターフェース２１１については他の多くのタイプのインターフェースを実施することができる。
【００６２】
Ｉ／Ｏインターフェース２０８および２１３はシリアル接続およびパラレル接続のいずれかまたは両方を提供することができ、前者は、典型的にはユニバーサルシリアルバス（ＵＳＢ）規格に従って実装され、対応するＵＳＢコネクタ（図示せず）を有する。記憶装置２０９が設けられており、記憶装２０９は典型的にはハードディスクドライブ（ＨＤＤ）２１０を含む。フロッピー（登録商標）ディスクドライブ及び磁気テープドライブ（図示せず）のような他の記憶装置を使用することもできる。光ディスクドライブ２１２は、典型的にはデータの不揮発性ソースとして機能するように設けられる。光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ、ブルーレイディスク（登録商標））、ＵＳＢ−ＲＡＭ、ポータブルな外部ハードドライブ、およびフロッピーディスクなどのポータブルメモリデバイスを、システム２００への適切なデータソースとして使用することができる。
【００６３】
コンピュータモジュール２０１のコンポーネント２０５〜２１３は、典型的には相互接続されたバス２０４を介して、当業者に知られているコンピュータシステム２００の従来の動作モードをもたらす方法で通信する。例えば、プロセッサ２０５は、接続２１８を使用してシステムバス２０４に結合される。同様に、メモリ２０６および光ディスクドライブ２１２は、接続２１９によってシステムバス２０４に結合される。説明された構成を実行することができるコンピュータの例には、ＩＢＭ−ＰＣおよび互換機、Ｓｕｎ  Ｓｐａｒｃｓｔａｔｉｏｎｓ、Ａｐｐｌｅ  Ｍａｃ（登録商標）、または同様のコンピュータシステムが含まれる。
【００６４】
シーンの仮想ビューを生成する方法はコンピュータシステム２００を使用して実施することができ、ここで、説明する図３および図８〜図１０のプロセスは、コンピュータシステム２００内で実行可能な１つまたは複数のソフトウェアアプリケーションプログラム２３３として実施することができる。具体的には、本明細書で説明する方法のステップが、コンピュータシステム２００内で実行されるソフトウェア２３３内の命令２３１（図２Ｂ参照）によって実施される。ソフトウェア命令２３１は、それぞれが１つまたは複数の特定のタスクを実行するための１つまたは複数のコードモジュールとして形成することができる。ソフトウェアはまた、２つの別個の部分に分割されてもよく、第１の部分および対応するコードモジュールは説明された方法を実行し、第２の部分および対応するコードモジュールは、第１の部分とユーザとの間のユーザインターフェースを管理する。
【００６５】
ソフトウェアは例えば、以下に記載される記憶装置を含むコンピュータ可読媒体に記憶されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２００にロードされ、次いで、コンピュータシステム２００によって実行される。コンピュータ可読媒体に記録されたそのようなソフトウェアまたはコンピュータプログラムを有するコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム２００におけるコンピュータプログラム製品の使用は、好ましくは記載された方法を実施するための有利な装置をもたらす。
【００６６】
ソフトウェア２３３は、典型的にはＨＤＤ２１０またはメモリ２０６に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２００にロードされ、コンピュータシステム２００によって実行される。したがって、例えば、ソフトウェア２３３は光ディスクドライブ２１２によって読み取られる光学的に読み取り可能なディスク記憶媒体（例えば、ＣＤ−ＲＯＭ）２２５に記憶されてもよい。そのようなソフトウェアまたはコンピュータプログラムが記録されたコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム２００におけるコンピュータプログラム製品の使用は、好ましくは記載された方法を実施するための装置をもたらす。
【００６７】
場合によってはアプリケーションプログラム２３３が１つまたは複数のＣＤ−ＲＯＭ２２５上で符号化されてユーザに供給され、対応するドライブ２１２を介して読み取られてもよいし、あるいはネットワーク２２０または２２２からユーザによって読み取られてもよい。さらに、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム２００にロードすることもできる。コンピュータ可読記憶媒体とは、実行および／または処理のために、記録された命令および／またはデータをコンピュータシステム２００に提供する任意の一時的でない有形の記憶媒体を指す。そのような記憶媒体の例には、フロッピーディスク、磁気テープ、ＣＤ−ＲＯＭ、ＤＶＤ、ブルーレイ（登録商標）ディスク、ハードディスクドライブ、ＲＯＭまたは集積回路、ＵＳＢメモリ、光磁気ディスク、またはＰＣＭＣＩＡカードなどのコンピュータ可読カードが含まれ、そのような機器がコンピュータモジュール２０１の内蔵または外付けであるかどうかにかかわらない。コンピュータモジュール２０１へのソフトウェア、アプリケーションプログラム、命令、および／またはデータの提供にも関与し得る一時的または非有形のコンピュータ可読伝送媒体の例には、無線または赤外線伝送チャネル、ならびに別のコンピュータまたはネットワーク化されたデバイスへのネットワーク接続、ならびに電子メール伝送およびウェブサイトなどに記録された情報を含むインターネットまたはイントラネットが含まれる。
【００６８】
アプリケーションプログラム２３３の第２の部分および上述の対応するコードモジュールは、ディスプレイ２１４上にレンダリングまたは表現される１つまたは複数のグラフィカルユーザインターフェース（ＧＵＩ）を実装するために実行することができる。典型的にはキーボード２０２およびマウス２０３の操作を通じて、コンピュータシステム２００およびアプリケーションのユーザは、機能的に適応可能な方法でインターフェースを操作して、ＧＵＩに関連付けられたアプリケーションに制御コマンドおよび／または入力を提供することができる。スピーカ２１７を介して出力される音声プロンプトおよびマイクロフォン２８０を介して入力されるユーザ音声コマンドを利用するオーディオインターフェースなど、他の形態の機能的に適応可能なユーザインターフェースを実装することもできる。
【００６９】
図２Ｂは、プロセッサ２０５および「メモリ」２３４の詳細な概略ブロック図である。メモリ２３４は、図２Ａのコンピュータ部２０１がアクセス可能な全てのメモリ部（ＨＤＤ２０９及び半導体メモリ２０６を含む）の論理集合体を表す。
【００７０】
コンピュータモジュール２０１が最初に電源投入されると、パワーオン自己テスト（ＰＯＳＴ）プログラム２５０が実行される。ＰＯＳＴプログラム２５０は、典型的には図２Ａの半導体メモリ２０６のＲＯＭ２４９に記憶されている。ソフトウェアを格納するＲＯＭ２４９などのハードウェアデバイスは、ファームウェアと呼ばれることがある。ＰＯＳＴプログラム２５０はコンピュータモジュール２０１内のハードウェアを検査して、適切な機能を保証し、典型的には、正しい動作のために、プロセッサ２０５、メモリ２３４（２０９、２０６）、および、典型的にはＲＯＭ２４９に記憶されている基本入出力システムソフトウェア（ＢＩＯＳ）モジュール２５１を検査する。ＰＯＳＴプログラム２５０が正常に実行されると、ＢＩＯＳ２５１は、図２Ａのハードディスクドライブ２１０を起動する。ハードディスクドライブ２１０の起動により、ハードディスクドライブ２１０に常駐するブートストラップローダプログラム２５２がプロセッサ２０５を介して実行される。これにより、オペレーティングシステム２５３がＲＡＭメモリ２０６にロードされ、オペレーティングシステム２５３が動作を開始する。オペレーティングシステム２５３は、プロセッサ管理、メモリ管理、デバイス管理、ストレージ管理、ソフトウェアアプリケーションインターフェース、および汎用ユーザインターフェースを含む様々な高レベル機能を実行するために、プロセッサ２０５によって実行可能なシステムレベルアプリケーションである。
【００７１】
オペレーティングシステム２５３は、メモリ２３４（２０９、２０６）を管理して、コンピュータモジュール２０１上で実行される各プロセスまたはアプリケーションが別のプロセスに割り当てられたメモリと衝突することなく実行するのに十分なメモリを有することを保証する。さらに、図２Ａのシステム２００で利用可能な異なるタイプのメモリは各プロセスが効果的に実行できるように、適切に使用されなければならない。したがって、集約されたメモリ２３４は、メモリの特定のセグメントがどのように割り振られるかを示すことを意図するものではなく（特に断らない限り）、むしろ、コンピュータシステム２００によってアクセス可能なメモリの一般的なビューおよびそのようなものがどのように使用されるかを提供することを意図するものである。
【００７２】
図２Ｂに示すように、プロセッサ２０５は、制御ユニット２３９と、算術論理ユニット（ＡＬＵ）２４０と、キャッシュメモリと呼ばれることもあるローカルまたは内部メモリ２４８とを含むいくつかの機能モジュールを含む。キャッシュメモリ２４８は、典型的にはレジスタセクション内にいくつかの記憶レジスタ２４４〜２４６を含む。１つ以上の内部バス２４１は、これらの機能モジュールを機能的に相互接続する。プロセッサ２０５は、通常、接続２１８を使用してシステムバス２０４を介して外部装置と通信するための１つまたは複数のインターフェース２４２も有する。メモリ２３４は、接続２１９を使用してバス２０４に結合される。
【００７３】
アプリケーションプログラム２３３は、条件付き分岐およびループ命令を含むことができる一連の命令２３１を含む。プログラム２３３は、プログラム２３３の実行に使用されるデータ２３２を含むこともできる。命令２３１およびデータ２３２は、それぞれメモリロケーション２２８、２２９、２３０および２３５、２３６、２３７に記憶される。命令２３１とメモリロケーション２２８〜２３０の相対的なサイズに応じて、メモリロケーション２３０に示される命令によって示されるように、特定の命令を単一のメモリロケーションに記憶することができる。あるいは、命令がメモリロケーション２２８および２２９に示される命令セグメントによって示されるように、各々が別個のメモリロケーションに記憶されるいくつかの部分にセグメント化されてもよい。
【００７４】
一般に、プロセッサ２０５には、その中で実行される命令のセットが与えられる。プロセッサ２０５は次の入力を待ち、プロセッサ２０５は、別の命令セットを実行することによって、この入力に反応する。各入力は、入力装置２０２、２０３のうちの１つまたは複数によって生成されたデータ、ネットワーク２２０、２０２のうちの１つを介して外部ソースから受信されたデータ、記憶装置２０６、２０９のうちの１つから取り出されたデータ、または対応する読取装置２１２に挿入された記憶媒体２２５から取り出されたデータを含む、いくつかのソースのうちの１つまたは複数から提供することができ、これらすべてが図２Ａに示されている。命令のセットの実行は、場合によってはデータの出力をもたらし得る。実行は、データまたは変数をメモリ２３４に記憶することも含むことができる。
【００７５】
説明した構成は、メモリ２３４内の対応するメモリロケーション２５５、２５６、２５７に記憶される入力変数２５４を使用する。上述の構成は出力変数２６１を生成し、これは、メモリ２３４の対応するメモリロケーション２６２、２６３、２６４に記憶される。中間変数２５８は、メモリロケーション２５９、２６０、２６６、２６７に記憶することができる。
【００７６】
図２Ｂのプロセッサ２０５を参照すると、レジスタ２４４、２４５、２４６、算術論理ユニット（ＡＬＵ）２４０、および制御ユニット２３９は、プログラム２３３を構成する命令セット内のすべての命令に対して「フェッチ、デコード、および実行」サイクルを実行するのに必要なマイクロオペレーションのシーケンスを実行するために協働する。各フェッチ、デコード、および実行サイクルは以下の動作を含む。すなわち、
メモリロケーション２２８、２２９、２３０から命令２３１をフェッチまたは読み出すフェッチ動作、
制御ユニット２３９がどの命令がフェッチされたかを決定するデコード動作、および、
制御ユニット２３９および／またはＡＬＵ２４０が命令を実行する実行動作、を含む。
【００７７】
その後、次の命令のためのさらなるフェッチ、デコード、および実行サイクルが実行され得る。同様に、制御ユニット２３９がメモリロケーション２３２に値を保存または書き込む保存サイクルを実行することができる。
【００７８】
図３および図８〜図１０のプロセスにおける各ステップまたはサブプロセスは、プログラム２３３の１つまたは複数のセグメントに関連付けられ、プロセッサ２０５内のレジスタセクション２４４、２４５、２４７、ＡＬＵ２４０、および制御ユニット２３９が協働して、プログラム２３３の注目されたセグメントに対する命令セット内のすべての命令についてフェッチ、デコード、および実行サイクルを実行することによって実行される。
【００７９】
説明した方法は代替的に、図３および図８〜図１０の機能またはサブ機能を実行する１つまたは複数の集積回路などの専用ハードウェアで実施することができる。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ、または１つまたは複数のマイクロプロセッサおよび関連するメモリを含むことができる。
【００８０】
ＦＶＶは、空間内で動かされ、異なる姿勢および位置にて一連の画像をキャプチャする単一のカメラを使用して、建物または固定オブジェクトなどの非活動的な（コンスタントな）シーンについて生成され得る。一方、スポーツのような動的な（アクティブな）シーンのためのＦＶＶは一般に、カメラのネットワークを使用して行われる。
【００８１】
動的な場合には、カメラの較正されたネットワーク、すなわち、重要なパラメータが推定されたカメラのセットを使用することが一般的である。較正パラメータは外因性パラメータ（例えば、向きおよび姿勢）および内因性パラメータ（例えば、焦点距離、主点オフセットおよび軸スキュー）からなってもよい。カメラネットワーク較正のための技術は当技術分野で周知であり、市販のソリューションが利用可能である。これらの技法は、カスタムマーカがシーン内に配置されて較正中に撮像されるかどうかに応じて、マーカベースの技法とマーカレスの技法とに大別することができる。
【００８２】
カメラの較正パラメータは例えば、システム内の機械的、熱的、または光学的不安定性のために、経時的にドリフトすることがある。しかしながら、ネットワーク較正は、較正プロセスを間隔をおいて繰り返すことによって、またはカメラからの画像内容を安定化することによって維持され得る。例えば、単一のカメラに対する較正パラメータおよび／または画像内容のリアルタイム補正は、パッチベースの位置合わせ技法を使用して達成することができる。分析はリアルタイム性能を保証するために、カメラの背面にあるカスタムハードウェア上で実行されてもよい。これらの技法は、カメラネットワーク内の１組のカメラで使用されて、必要とされる較正精度がイベントのブロードキャストのための適切な時間フレームにわたって維持されることを保証することができる。
【００８３】
生成される仮想ビデオ画像の解像度は、カメラネットワーク１２０から取り込まれたビデオの解像度によって制限される。イベントが広いエリアで行われる場合、カメラはより高い解像度のＦＶＶが生成されることを可能にするために、関心のある特定の領域に光学的にズームされてもよい。例えば、サッカーゲームではカメラ１２０Ａ〜１２０Ｘがフィールドの終了のゴールの周りのペナルティエリアにズームされてもよく、野球ではカメラ１２０Ａ〜１２０Ｘがベースのうちの１つにズームされてもよく、またはクリケットではそれらはウィケットの周りの領域をターゲットとしてもよい。ＦＶＶのために高解像度で複数のエリアをカバーするために、それぞれが特定の関心領域をカバーする複数のカメラネットワークを使用すること、またはイベントの関心のあるアクティビティを追跡するために時間にわたって領域を移動させることが必要であり得る。関心領域の移動は例えば関心のあるプレーヤを追跡する連続的なものであってもよいし、又は離散的なものであってもよく、例えばプレー中断中の関心領域の変化であってもよい。
【００８４】
カメラ１２０のネットワークは、ＦＶＶの目的のためにある体積の空間のカバレージを与える画像をキャプチャすると考えることができる。カバレージは所望の範囲の合成視点からオブジェクトを正確にレンダリングすることができる空間内のボリュームであり、関心ボリューム（ＶＯＩ）またはＶＯＩの集合よりも大きくなければならない。カメラの設定によって与えられるカバレージは、所望の合成視点の設定およびオブジェクトのジオメトリの複雑な関数であってもよい。この依存性の理由は、任意の仮想カメラ構成から見えるカバレージ領域内のオブジェクトの全ての部分が、仮想ビューが合成されることを可能にするのに十分な数のカメラによって撮像されなければならないことである。ＶＯＩ内のオブジェクトのいくつかの部分はオブジェクトが仮想カメラから見えるにもかかわらず、オクルージョン（occlusion）のために、例えば凹部のために、合成するのが難しい場合がある。
【００８５】
次に、カメラ１２０Ａ〜Ｘの較正されたネットワークの大気条件によって影響されるイベントの没入型で現実的な自由視点ビデオを生成する方法３００について、図３のプロセス３００を参照して説明する。本開示の文脈では、大気条件とは、フォグ、ヘイズ、ミスト、雲、雨、スモッグ（smog）、ハール（haar）、またはスモークなど、シーン内のオブジェクトの視認性に影響を及ぼす条件に関する。本開示に記載される例は、ヘイズに言及する。しかしながら、本明細書に記載された技術は、ミスト、フォグ、スモーク、及びシーンの可視性に影響を及ぼす他の大気条件にも等しく適用される。方法３００は、３次元（３Ｄ）ジオメトリの再構成に基づくＦＶＶ生成に適している。しかしながら、方法３００は例えば、深度マップからシーンの３Ｄジオメトリ記述に変換することによって、深度ベースのレンダリングに適合させることができる。
【００８６】
方法３００は、典型的にはメモリ２０６に記憶され、プロセッサ２０５の実行下で制御される、アプリケーション２３３の１つまたは複数のモジュールとして実装される。
【００８７】
方法３００は、図４Ａおよび４Ｂを参照して説明される。図４Ａおよび４Ｂは、それぞれ、カメラのネットワーク（ネットワーク１２０など）および仮想カメラによってキャプチャされた例示的なシーンを示す。図４Ａは、物理的カメラ（４０１、４０２、および４０３）のネットワークの構成によってキャプチャされるシーン４００を上からみた図を示す。シーン４００はシーン１１０に対応し、カメラ４０１〜４０３はネットワーク１２０のカメラに対応する。シーン４００は、２つのマークされたプレーヤ４１０および４１１と、前景および背景オブジェクトを含むことができるいくつかの他のオブジェクト４１２とを含む。３つの仮想視点または仮想カメラ（４２１、４２２、および４２３）も示されており、それらについてＦＶＶのフレームを生成することができる。図４Ａに示すように、仮想カメラは、カメラ４０１〜４０３のネットワークよりもシーン４００の近くに（仮想カメラ４２１）、または、シーン４００から遠くに（仮想カメラ４２３）、またはシーン４００から同様の距離に（仮想カメラ４２２）存在し得る。他の構成では個々のネットワークカメラがシーン４００から異なる距離に設定されてもよいが、図４Ａの例ではカメラ４０１〜４０３が同様の距離に示されている。カメラ４０１〜４０３からプレーヤ４１０および４１１へのいくつかの光線が図４Ａに示されており、これらの光線は、以下の方法３００の態様を示すために使用される。
【００８８】
図４Ｂは、図４Ａと同じセット、すなわちカメラ４０１〜４０３、プレーヤ４１０および４１１、オブジェクト４１２、シーン４００ｂ、ならびに仮想カメラ４２１、４２２、および４２３を有する構成４５０を示す。但し、図４Ｂは、キャプチャジオメトリの３次元的性質を示すために斜めから見たものである。典型的には、ネットワークカメラ４０１〜４０３は、少なくともＦＶＶが行われているイベントの特定の部分の持続時間の間、固定されたままである。
【００８９】
方法３００は、キャプチャステップ３０５で始まる。ステップ３０５では、画像データのセットがシーンのためにキャプチャされる。画像データは、カメラ１２０Ａ〜１２０Ｘのうちの１つによって、カメラ１２０Ａ〜１２０Ｘのサブセットによって、またはカメラ１２０Ａ〜１２０Ｘのネットワーク全体によって、キャプチャされ得る。どのカメラから画像をキャプチャするかの決定は、ユーザ入力に基づいて行われても、または自動的に行われてもよく、決定はコントローラからカメラネットワークに送信され得る。好ましくは、完全なカメラ画像がキャプチャされる。完全な画像は、カメラから処理部２０５へ画像データを送信する際のネットワークトラフィックを低減するために、カメラネットワークの全解像度に対して圧縮またはダウンサンプリングされてもよい。いくつかの実施形態では、画像データが各カメラによってカバーされる完全な画像のキャプチャの一部から構成されてもよい。
【００９０】
方法３００は、ステップ３０５から生成ステップ３１０に続く。ステップ３１０では、キャプチャされた画像を使用して、シーン内の大気条件のモデルを決定する。このモデルは、シーン内のオブジェクトの可視性に関する情報を提供する。ステップ３１０において、コントローラは、ヘイズの初期モデルが、キャプチャされた画像データに基づいて形成されることを要求する。ヘイズの初期モデルは、場合によっては幾何学的モデルと呼ばれる。適切なモデルはシーン放射輝度Ｊ（ヘイズがない場合の画素値）、大気光Ａ、および透過マップｔに基づいて、シーンＩにおける測定画素値（すなわち、輝度、またはＲ、Ｇ、Ｂ、Ｕ、またはＶなどの他の色チャネル値）を推定することによって、キャプチャされた画像に対するヘイズの影響を記述する。測定された画素値は、輝度または別の色チャネル値に関連する。画素値は、以下の式（１）を用いて求めることができる。
【００９１】
Ｉ＝Ｊｔ＋Ａ（１−ｔ）            ...（１）
【００９２】
ヘイズが均一である場合、透過マップは、以下の式（２）を用いて表すことができる。
【００９３】
ｔ＝ｅ−ρｄ                      ...（２）
【００９４】
式（２）において、ρは均一なヘイズの強度を定義する媒質消光係数（medium extinction coefficient）であり、ｄは、画素位置におけるシーンのオブジェクトからカメラまでの経路長である。ヘイズが不均一である場合、ｔは、シーン内のオブジェクトから画像を取り込むカメラまでの経路に沿った局所的な媒質の消光係数の積分など、より複雑な形態をとることができる。式（１）のモデルに基づいて、ヘイズモデルは大気全体の光Ａ、および媒質の消光係数ρ（定数項であってもよいし、シーン内の３Ｄ位置の関数として定義されてもよい）によって定義される。記載された構成では一定のヘイズモデルが形成されるが、本明細書に記載された技法は３次元位置によって変化するモデルの場合に適用可能である。ステップ３５０を参照して以下に説明するように、ヘイズモデルは、カメラ（仮想カメラを含む）と、画素毎にカメラによって取り込まれた３次元オブジェクトとの間のヘイズ量を推定するために使用される。したがって、すべての画素におけるヘイズの推定値を提供することができる任意のヘイズモデルを、説明した方法の実施形態で使用することができる。
【００９５】
ヘイズモデル（すなわち、パラメータＡおよびρ）を推定するための様々な技法が知られている。既知の技法は、単一画像ベースの技法、およびシーンの基準モデルに基づく技法を含む。例えば、単一の画像ベースの技法は複数の位置で、既知の外観（例えば、実質的に均一な緑の芝生）である既知のシーンジオメトリ（例えば、平坦なスポーツフィールド）を利用する。単一画像ベースの技法は、画像内のすべての関連する位置で既知の均一な外観に一致するシーン放射輝度（Ｊ）を生成するヘイズモデルパラメータ（Ａおよびρ）を探索する。
【００９６】
ステレオペアのような大気条件をモデル化するために複数のカメラ画像を使用する他の技術が知られている。カメラ１２０Ａ〜Ｘの較正されたネットワークおよびおおよその既知のシーンジオメトリ（例えば、平坦なスポーツフィールド）について、画像キャプチャの設定と一致するヘイズの正確なモデルを生成することができる。例えば、シーンジオメトリ内の様々な位置のセット（例えば、スポーツフィールド上の位置）を、複数のカメラ１２０Ａ〜１２０Ｘの画像キャプチャ内の対応する位置にマッピングすることができる。次いで、最適化ルーチンを使用して、画像キャプチャ内の対応する位置で同じシーン放射輝度（Ｊ）を生成するヘイズモデルパラメータを見つけることができる。
【００９７】
方法３００は、ステップ３１０から開始生成ステップ３１５に続く。ステップ３１５〜３５５において、カメラネットワーク１２０によって特定の時間にキャプチャされた複数のフレームに対してＦＶＶが生成される。カメラは各フレームが各カメラによって同時に又はほぼ同時にサンプリングされるように、時間的に同期されると仮定される。画像キャプチャの同期は、ゲンロック（genlock）または他の何らかの同期技法を使用して達成することができる。いくつかの構成では、コントローラからの要求に応答して（例えば、ユーザがコントローラ１８０を操作することによって）ＦＶＶが生成されてもよい。
【００９８】
方法３００は、ステップ３１５からキャプチャステップ３２０に続く。ステップ３２０では、画像をキャプチャするために使用されるカメラの集合によってキャプチャされた画像データが読み出され、ネットワークを介してモジュール１０１に送信される。いくつかの実施形態では、読み出される画像データが特定のカメラのセンサの画素群の一部分に対するものであってもよい。他の実施形態では、読み出しはプレーヤ又はスポーツ用具のような前景領域を含むと予想される選択された領域に対して行われ、一方、いくつかの背景領域はより低い率で読み出され、前のフレームから変更されないと仮定されてもよい。ＦＶＶ生成に有用であり得る他のデータ（例えば、前景領域を規定するセグメンテーションデータ）もまた、ステップ３２０において送信され得る。
【００９９】
図５Ａは、図４Ａの４０１、４０２、または４０３などのカメラによって取り込まれたグレースケール例示画像５００を示す。画像５００は、線ハッチングで描画されている。画像５００の場面は多数のプレーヤ及びボールを含み、ヘイズが存在しないスポーツイベントである。カメラがシーンから離れてセットアップされ、（図４Ａおよび４Ｂのカメラ４０２と同様に）下方に傾けられるとき、プレーヤはシーンにおいて比較的小さい。図５Ａの画像から切り取られた領域の拡大図が示されている（５１０）。拡大表示５１０は、シーンの特定のＦＶＶレンダリングに関心のある複数のプレーヤを含む。しかしながら、実際のシーンでは、ヘイズが存在し、取り込まれた画像の品質に影響を及ぼすことがある。図５Ｂは、ヘイズの影響を受けた図５Ａの同じグレースケール画像を、画像５５０として示す。視野内の特徴の視認性は距離と共に低下し、その結果、競技場の遠い側にいる競技者は特に見にくくなる。図５Ｂの画像から切り取られた領域の拡大図が示され（５２０）ている。図５Ｂでは、キャプチャされた画像に対するヘイズの影響がさらに示されている。
【０１００】
方法３００は、ステップ３２０から形成ステップ３３０に続く。ステップ３３０において、シーンの３次元モデルまたは３次元シーンジオメトリが、現在のフレームにおけるシーンに対して生成される。シーンの３次元モデルは、典型的にはカメラ１２０Ａ〜１２０Ｘによってキャプチャされた画像を使用して生成される。３次元モデルを生成するために使用される技術には、動きからの構造、シルエットからの形状、視体積交差法（visual hull）再構成、焦点または焦点外れからの形状、ステレオからの構造、および深度／視差推定のアルゴリズムが含まれる。シーンの３Ｄモデルは、深度キャプチャを有するカメラの場合に推定またはサンプリングされ得る１つまたは複数のカメラからのシーンの深度推定から生成され得る。いくつかの構成では、シーンの現在のヘイズモデルと、シーンジオメトリおよびカメラ較正データに関する情報とを使用して、３Ｄモデルを形成する前に画像からヘイズの影響を除去することができる。現在のヘイズモデルを使用することは、３Ｄモデルの生成がヘイズの存在下ではあまり正確でない可能性があるという点で有利であり得る。ヘイズは、ステップ３１０で推定されたヘイズモデルおよびヘイズモデルパラメータ（Ａおよびρ）を使用して除去することができる。説明された構成はシーン放射輝度Ｊを決定することに関連しており、シーン放射輝度Ｊは、ヘイズが除去されたシーンの外観である。ヘイズモデルの式（１）を変形することによって、Ｊは、以下の式を使用して決定することができる。
【０１０１】
Ｊ＝（Ｉ−Ａ＋Ａｔ）／ｔ          ...（３）
【０１０２】
式（３）において、式（２）に示すようにｔを決定するために使用される深さｄは、前のフレームからの深度マップ（depth map）、または接地面などの既知のまたは仮定されたジオメトリに基づく深度マップを使用して推定され得る。深度マップは、キャプチャされたカメラ画像毎に生成されてもよい。深度マップは、キャプチャされた画像の各画素についての深度推定値を含む。深度推定値は、カメラ位置と、現在のフレーム内のその画素でキャプチャされたシーンの３Ｄジオメトリの点の位置とを比較することによって決定され得る。図６Ａは、図５Ａおよび５Ｂの図示されたキャプチャされた画像５００および５５０に対応する例示的な深度マップ６００を示す。画像５００の場面の深さは、図６Ａの例では５０メートルから２００メートルの範囲である。近くのゴールポスト以外では、詳細な３Ｄジオメトリが深度マップ６００ではほとんど見えない。画像の底部からより遠い画素についてシーンまでの距離が増加する一般的な傾向が注目され、この増加する距離は、図５Ａと比較して図５Ｂにおいて増加したヘイズの理由である。いくつかの構成では、例えば、制限されたアクションが発生する場合、またはシーンの注目領域内のオブジェクトが比較的静止している場合に、ステップ３１５とステップ３６０との間のループのいくつかの反復においてステップ３３０が省略されてもよい。いくつかの構成では、既存のモデル、例えば、ループの開始時に生成されたモデル、またはループのいくつかの反復ごとに生成されたモデルを再使用することができる。
【０１０３】
方法３００は、ステップ３３０から設定ステップ３３５に続く。ステップ３３５において、シーンに対して仮想カメラが定義される。これにより、現フレームの仮想カメラの仮想視点が設定される。この視点は、コントローラ１８０から受信され、上述したように手動で又は自動的に選択されてもよい。視点は、仮想カメラの外部パラメータ（位置および向き）および固有パラメータ（焦点距離、センサのジオメトリ、主点など）を定義する仮想カメラの較正データの設定からなる。
【０１０４】
方法３００は、ステップ３３５から生成ステップ３４０に続く。ステップ３４０において、仮想深度マップが生成される。仮想深度マップは、現在のフレームにおける仮想視点に基づくシーンの仮想画像の画素に対応する。仮想深度マップは、仮想カメラ位置と、現在のフレーム内のその画素で撮像されたシーンの３Ｄジオメトリの点の位置とを比較することによって決定される、画像の各画素についての深度推定を含む。ステップ３４０は、以下で図８に関して詳細に説明する方法８００に従って実行することができる。不均一なヘイズが仮定される場合、決定された仮想深度マップは、単に深度ではなく、仮想カメラと３Ｄジオメトリとの間の経路にわたって統合された媒質消光係数をさらに含むことができる。例えば、ヘイズモデルはボクセルの３次元グリッドを含むことができ、各ボクセルは、ヘイズの量または同等の媒質消光係数に関連付けられる。ヘイズモデルは、仮想カメラ内の各画素について、仮想カメラと３Ｄジオメトリとの間の各ボクセルのヘイズまたは媒質消光を合計することによって、仮想カメラと３Ｄジオメトリとの間の経路にわたって統合することができる。統合された媒質消光係数を生成することは、計算的により高価であるが、方法３００がシーン内の不均一なヘイズを処理することを可能にする。
【０１０５】
図６Ｂは、図５Ｂのシーンの一部の仮想深度マップ６２０を示す。図６Ｂの例では、仮想カメラがフィールドの遠端にあるゴールエリアのエッジ付近のプレーヤに近い。ほとんどのプレーヤまでの距離は４０メートル未満である。ヘイズ又はフォグの視覚効果がカメラからの距離と共に変化するので、図６Ａに示されるキャプチャ深度マップ６００において見えるよりも多くの特徴が仮想深度マップ６２０において見える。
【０１０６】
方法３００は、ステップ３４０から生成ステップ３４５に続く。ステップ３４５で、１つまたは複数のキャプチャ深度マップが生成される。各キャプチャ深度マップは、現在のフレームにおける仮想視点に基づいたシーンの仮想画像の画素と、カメラネットワークの物理カメラ（１２０Ａ〜１２０Ｘまたは４０１〜４０３）のうちの１つによってキャプチャされた画素に対応する。所与の物理的カメラについてのキャプチャ深度マップは、仮想画像の各画素についての深度推定値を含む。シーンの仮想画像の所与の画素に対応する深度推定値は、実際のカメラ位置と、仮想カメラ内のその画素で撮像されたシーンの３Ｄジオメトリの点の位置とを比較することによって計算することができる。ステップ３４５は、以下の図８に関して詳細に説明する方法８００に従って、各カメラのキャプチャについて実行することができる。ステップ３４０と同様に、不均一なヘイズが仮定される場合、決定されたキャプチャ深度マップは、単に深度ではなく、仮想カメラと３Ｄジオメトリとの間の経路にわたる統合された媒質消光係数を含むことができる。したがって、一様でないヘイズを考慮することは計算的により高価であるが、方法３００がシーン内の一様でないヘイズを処理することを可能にし、潜在的に、より正確なまたは現実的な仮想カメラ画像につながる。
【０１０７】
図６Ｃは、図５Ａのシーンのためのキャプチャ深度マップ６４０を示す。図６Ｃの例では、現実のカメラが遠くに離れている一方で、仮想カメラは視野の遠端のゴールエリアのエッジ近くのプレーヤに近い。したがって、キャプチャされた深度マップ６４０の視野は、図６Ａに示す深度マップ６００とは全く異なる。シーン内の全てのコンテンツまでの距離は１００ｍよりも大きく、特に、プレーヤは、図６Ｂの仮想深度マップ６２０よりも非常に長い距離に存在する。
【０１０８】
方法３００は、ステップ３４５から作成ステップ３５０に続く。ステップ３５０において、仮想カメラからの仮想画像又はＦＶＶ画像は、１つ以上のキャプチャされた画像の画像データからの画素を３Ｄモデル上にレンダリングすることによって、ヘイズを伴って生成される。画像データからの画素は、ヘイズモデル、仮想深度マップ、１つ以上のキャプチャ深度マップ、およびカメラ較正データを考慮してレンダリングされる。ステップ３５０の動作はキャプチャされた画像と仮想画像との間のヘイズを介した距離の差を補償しながら、キャプチャされた画像からの画素を３Ｄモデル上に効果的にレンダリングすることを含む。したがって、ステップ３５０は、仮想カメラの視点に対応するキャプチャされた画像の画素を調整することによって、仮想カメラの視点からシーンをレンダリングするように動作する。調整は、ステップ３３０のシーンの３次元モデル、シーンに対する複数のカメラの位置（ステップ３４０および３４５の深度マップ）、仮想カメラの視点、およびステップ３１０からの大気条件の幾何学的モデルに基づいて行われる。さらに、調整は、レンダリングのためのヘイズモデルを考慮する度合いを示すユーザ命令に基づいて行われる。ステップ３５０は、図９の方法９００を参照して以下でさらに詳細に説明される。
【０１０９】
ステップ３１５〜３５０は、一組のキャプチャされたカメラ画像を用いて精度および効率を改善するように意図された方法で、ＦＶＶ画像を生成するように動作する。生成された画像の精度は、仮想カメラのポーズおよび他のカメラパラメータに従ってシーン内に配置された実カメラによって生成された画像に対する生成された仮想カメラ画像の類似性の観点で定義することができる。ヘイズの差を補償することによって、物理的カメラを使用して同じ視点から取り込まれた画像に視覚的に類似する仮想カメラ画像を生成することができる。
【０１１０】
図７Ａ〜７Ｃに、図４、図５及び図６に関して説明した例に対応する生成されたＦＶＶ画像を図に示す。図７Ａは、シーン４００にヘイズがないときに図４Ａの仮想カメラ４２１に対して生成されたグレースケール画像７００を示す。この場合、ＦＶＶは、図５Ａに示される画像５００のようなキャプチャされた画像から生成される。
【０１１１】
一方、ヘイズが存在する場合、キャプチャされた画像は、図５Ｂに示す画像５５０のように見える。ステップ３５０でヘイズモデルが考慮されない場合、生成されたＦＶＶ画像は図７Ｃの例示的な画像７４０に示されるように、実際のシーンよりもヘイズの影響をより強く受けるように見える。シャツ上に白いストライプを有する３人のプレーヤのように、カメラからかなり異なる距離にあるオブジェクトが同様のレベルのヘイズを有するように見えることがあり、これは非現実的に見える。カメラに近いオブジェクトは７番のシャツ（図７Ａおよび７Ｂでは見えるが、図７Ｃでは見えない）を有する右側のプレーヤのように、ある距離にあるオブジェクトよりもヘイズの影響をより受けやすいように見えることがある。さらに、仮想カメラがシーン内を移動するとき、ヘイズレベルはシーン内のオブジェクト上で一定に見えてしまい、生成された画像のリアリズムをさらに低減し、仮想ビデオ映像を見ている視聴者の体験を没入感のないものにする。
【０１１２】
図７Ｂは、図５Ｂに示すようなヘイズのあるシーンの画像に対してステップ３１５〜３５０を実行することによって生成される画像７２０を示す。画像７２０は、近くのオブジェクトが遠くのオブジェクトよりもヘイズの影響をはるかに受けにくく、ヘイズがシーン内の現在のグローバルなヘイズモデルと一致するという点で、図７Ｃよりもはるかに高いレベルの視覚現実感を有する。また、ステップ３１５〜３５０によって実行される出力は、仮想カメラがシーン内を通って移動するときに一貫性があると予想され、ＦＶＶの視聴者にとってより没入感のある現実的な体験となる。
【０１１３】
方法３００は、ステップ３５０から更新ステップ３５５に続く。ステップ３５５において、上記で形成されたヘイズモデルは、ステップ３１５でキャプチャされた最近のフレーム画像データに基づいて更新される。更新は、別個のプロセッサ、例えば補助プロセッサまたはサーバプロセッサ（図２Ａには図示せず）上で実行されてもよく、完了するのに複数のフレームを要してもよい。ステップ３５５は、更新されたキャプチャされた画像を用いて新しいモデルを形成するために、ステップ３１０に関して上述した技法を使用することができる。新しいモデルは現在のモデルを置き換えるために使用されてもよく、または更新されたモデルからのパラメータとブレンドされて、経時的により安定したモデルを形成してもよい。いくつかの実装形態ではステップ３５５が省略されてもよく、または例えば、ある回数の反復の後、所与の時間隔で、またはパラメータの変化のレベルに基づいて、断続的に実装されてもよい。例えば、ヘイズモデルは、毎秒、または霧のタイプ、気象条件（風速など）などに依存する他の何らかの更新速度で更新されてもよい。
【０１１４】
方法３００は、ステップ３５５からチェックステップ３６０に続く。ステップ３６０は、自由視点ビデオを生成するために処理すべきキャプチャされたビデオのフレームがさらにあるかどうかをチェックする。さらにフレームがある場合（ステップ３６０で「Ｙｅｓ」）、方法３００はステップ３１５に戻る。そうでない場合、ステップ３６０は「いいえ」を返す。生成されたフレームは補償されたフォグを含むユーザのための自由視点ビデオ映像を（例えば、ディスプレイ２１４を介して）再生するために使用される。ユーザの視聴のために仮想ビデオフレームを再生すると、方法３００は終了する。
【０１１５】
したがって、方法３００の動作は仮想視点、例えば、ネットワーク化されたカメラ１２０Ａ〜１２０Ｘの視点と比較してズームインされた視点からキャプチャされた画像を生成するように動作する。画像は、ネットワーク１２０の１つまたは複数のカメラによって取り込まれた画像と、ステップ３１０の大気条件を反映する決定された情報とを使用して生成される。
【０１１６】
方法３００は、モジュール１０１によって実行されるグラフィカルユーザインターフェースと共に使用することができる。例えば、仮想インターフェースを用いて仮想カメラを選択するユーザは画像データをキャプチャし、その結果得られる画像をステップ３１５〜３６０のループに入力させることができる。
【０１１７】
次に、図８を参照して、（ステップ３３０で形成された）指定された視点および３Ｄシーンジオメトリに基づいて、シーンの仮想画像の画素に対応する深度マップを生成する方法８００について説明する。方法８００は、典型的にはメモリ２０６に記憶され、プロセッサ２０５の実行下で制御される、アプリケーション２３３の１つまたは複数のモジュールとして実装される。方法８００は、ステップ３４０において、現在のフレームにおける仮想視点に基づいて仮想深度マップを生成するために使用される。また、方法８００は、ステップ３４５において、キャプチャカメラの視点に基づいてキャプチャ深度マップを生成するために使用される。方法は、ステップ８１０において開始する。ステップ８１０は、仮想カメラの深度マップの初期化を実行する。深度マップは、各画素が深度値を保存する、仮想カメラキャプチャと同じ寸法を有する画像として表すことができる。深度値は、特定のメモリおよび処理要件に応じて、固定小数点または浮動小数点に格納され得る。好ましい実施形態では、浮動小数点記憶装置が使用される。画像の各画素の深度は、指定されたカメラ視点位置と、その画素で撮像されたシーンの３Ｄジオメトリの点の位置とを比較することによって決定することができる。
【０１１８】
深度マップが初期化された後、方法８００は選択ステップ８２０に進む。深度マップの画素は、ステップ８２０で始まるループ動作において順に設定される。ステップ８２０は、設定する次の画素を選択する。方法８００は、ステップ８２０から判定ステップ８３０に続く。ステップ８３０は、現在の画素に対応する仮想カメラからの光線と３Ｄシーンジオメトリとの第１の交点を決定する。
【０１１９】
方法８００は、ステップ８３０から判定ステップ８４０に続く。ステップ８４０において、第１の交点から、特定された視点（例えば、仮想カメラ位置又はネットワークカメラ位置）までの距離が決定される。方法８００は、ステップ８４０から記憶ステップ８５０に続く。ステップ８４０で決定された距離は、ステップ８５０で深度マップの画素に記憶される。
【０１２０】
深度マップが現在の画素について更新されると、方法８００はチェックステップ８６０に進む。ステップ８６０が実行されて、処理すべき画素が画像内にさらに存在するかどうかがチェックされる。さらなる画素がある場合（ステップ８６０で「Ｙｅｓ」）、方法８００はステップ８２０に戻る。さらなる画素がなければ、深度マップは完了し、ステップ８６０は「いいえ」を返し、方法８００は終了する。
【０１２１】
図６Ａ〜Ｃは、上記のステップ３４０および３４５を参照して説明されるように、方法８００を使用して生成され得るいくつかの例示的な深度マップを示す。深度マップを生成する方法８００は一例である。深度マップを決定する別の方法も知られている。
【０１２２】
次に、図９を参照して、ヘイズについて調整された仮想カメラ視点から仮想画像またはＦＶＶ画像を生成する、上記のステップ３５０で使用され得る方法９００について説明する。方法９００は、典型的にはメモリ２０６に記憶され、プロセッサ２０５の実行下で制御される、アプリケーション２３３の１つまたは複数のモジュールとして実装される。
【０１２３】
方法９００は、ヘイズモデル、仮想深度マップ、１つまたは複数のキャプチャ深度マップ、およびカメラ較正データに基づいて、１つまたは複数の実カメラキャプチャ画像の画像データから画素をレンダリングする。方法９００はキャプチャされた画像と仮想画像との間のヘイズを介した距離の差を補償しながら、キャプチャされた画像からの画素を３Ｄモデル上に効果的にレンダリングすることを含む。
【０１２４】
方法９００は、ステップ９１０で始まる。ステップ９１０は、仮想カメラ画像を初期化するために実行される。画素寸法は、仮想カメラの固有パラメータによって定義され、キャプチャカメラの画素寸法と同じであっても異なっていてもよい。各画素に記憶されたデータは固定精度の整数または浮動小数点であってもよく、複数のチャネル（例えば、ＲＧＢ、ＹＵＶ）を有する可能性がある。
【０１２５】
方法９００は、ステップ９１０から選択ステップ９２０に続く。ステップ９２０から開始して、仮想画像内の各画素の画素値がループ構造において順番に設定される。ステップ９２０は、仮想画像内の次の画素位置を選択する。方法９００は、ステップ９２０からステップ９３０に続く。ステップ９３０の実行は、画素をレンダリングする１つまたは複数のカメラを選択する。ステップ９３０における１つまたは複数のカメラの選択は、いくつかの異なる基準に基づくことができる。例えば、カメラは、以下に基づいて選択され得る。
・キャプチャ距離マップが最小であるカメラ（すなわち、仮想カメラの対応する画素でキャプチャされるシーン内の３次元点に最も近い距離を有するカメラ）。
・カメラからレンダリングされた３Ｄシーン点への方向ベクトル（キャプチャ方向ベクトル）が、仮想カメラからレンダリングされた３Ｄシーン点への方向ベクトル（仮想方向ベクトル）に最も近いカメラ。例えば、正規化されたキャプチャされた画像方向ベクトルと仮想画像方向ベクトルとの最大ドット積に従って選択される。
・現在の画素で３Ｄシーンジオメトリに投影されたときに最も高い解像度を有するカメラ。
・上記の要因、または、キャプチャされた画像および仮想画像における画素の視覚的特徴に関連する他の要因の組み合わせ。
【０１２６】
仮想カメラ画素に対応する所与のカメラからの画素値は、構成およびジオメトリに応じて補間することができる。適切な補間方法には、キュービック補間、線形補間、ｓｉｎｃ補間、フーリエ補間および最近隣補間が含まれる。いくつかの構成では複数のカメラを選択することが有利であり、対応する画素値はレンダリングのための改善された画素値を形成するために一緒にブレンドされ得る。しかしながら、複数のカメラを選択する場合、異なるカメラからの画素値は、典型的には後述するステップ９５０において画素値がヘイズを補償されるまで混合されるべきではない。ステップ９３０が完了すると、仮想カメラ画像内の現在の画素をレンダリングするための画素値が分かる。
【０１２７】
方法９００は、ステップ９３０から読み取りステップ９４０に続く。ステップ９４０の実行で、仮想深度マップおよびキャプチャ深度マップが、現在の画素において読み取られる。いくつかの実装形態では、キャプチャ深度マップからの値がステップ９３０で既に読み取られていてもよく、その場合、深度マップに２回目のインデックス付けは不要である。
【０１２８】
方法９００は、ステップ９４０からステップ９５０に続く。ステップ９５０において、ステップ９３０からの画素値は、仮想深度マップに従って仮想カメラ画像に影響を及ぼすと予想されるヘイズと比較して、キャプチャされた画素に影響を及ぼすヘイズの差を補償するように修正される。補償は２つのサブステップで行われてもよいし、単一のステップで行われてもよい。２つのステップで補償を実施することは、最初に、キャプチャ深度マップデータに従って全てのヘイズを除去し、続いて、仮想深度マップデータに従ってシミュレートされたヘイズを追加することに関する。これにより、撮像画像の深度マップに応じて大気条件が除去され、大気条件のモデルを用いて仮想カメラで撮像された画像の深度マップに応じて大気条件が加算される。単一のステップで補償を実施することは、仮想カメラ視点のそれぞれがより少ないまたはより多いヘイズを含むかに基づいて、過剰な量のヘイズのみを除去すること、または欠落した量のヘイズのみを追加することに関連する。
【０１２９】
補償後、方法９００は設定ステップ９６０に進む。補償された画素値は、ステップ９６０で仮想カメラ画像画素を設定するために使用される。
【０１３０】
方法９００は、ステップ９６０からチェックステップ９７０に続く。ステップ９７０の実行は、処理すべき画素がまだあるかどうかをチェックする。方法９００は、さらなる画素がある場合（ステップ９７０で「Ｙｅｓ」）、ステップ９２０に戻る。そうでない場合、ステップ９７０は「いいえ」を返し、方法９００は終了する。画素についてループすることによって仮想画像を生成する上述の方法は、各画素を決定する方法の一例を提供する。
【０１３１】
上述したように、方法９００は、大気条件のモデルに基づいて、キャプチャされた画像と比較して、仮想カメラ視点におけるオブジェクトの視認性を増加又は減少させることに関する。視認性は、シーンのモデルおよびステップ３１０のモデルに基づいてヘイズ（または他の大気条件）の量を調整することによって影響を受ける。例えば、物理的なカメラと比較してズームインされた仮想カメラ視点は典型的にはヘイズの影響を受けにくく、仮想視点内のオブジェクトは視認性を高めることができる。従って、結果として得られる可視性も、ステップ３３０のシーンの３次元モデルに基づいて決定される。逆に、物理的なカメラと比較してズームアウトされた仮想カメラ視点は通常、ヘイズの影響をより受けやすく、仮想視点内のオブジェクトは視認性を低下させる可能性がある。
【０１３２】
次に、カメラ１２０Ａ〜Ｘの較正されたネットワークについて、フォグ、ヘイズ、ミスト、またはスモークなどの大気条件によって影響を受けるイベントの自由視点ビデオを生成する代替の方法１０００を、図１０を参照して説明する。方法１０００は、典型的にはメモリ２０６に記憶され、プロセッサ２０５の実行下で制御される、アプリケーション２３３の１つまたは複数のモジュールとして実装される。
【０１３３】
方法１０００は、上述した図４〜図７の例によって示されている。方法３００は３Ｄジオメトリの再構成に基づくＦＶＶ生成に適しており、深度に基づくレンダリングに適合させることができるものであったのに対して、方法１０００は画像ベースの方法に基づく。特に、方法１０００は平面掃引方法（plane sweep method）に適用されるが、記載される技術は他の画像ベースの方法に適応させることができる。
【０１３４】
方法１０００は、ステップ１００５で始まる。ステップ１００５では、シーン、例えば領域１１０のための１組の画像データがキャプチャされる。画像データは、１つのカメラによって、カメラのサブセットによって、またはカメラ１２０Ａ〜Ｘのネットワーク全体によって取り込むことができる。どのカメラから画像をキャプチャするかの決定は、ユーザ入力に基づいて行われて、自動的に行われてもよく、コントローラからカメラネットワークに送信され得る。好ましくは、完全なカメラ画像がキャプチャされる。カメラから処理部２０５に画像データを送信する際のネットワークトラフィックを低減するために、カメラネットワークの全解像度に対して全画像を圧縮またはダウンサンプリングすることができる。いくつかの実施形態では、画像データが各カメラによってカバーされる完全な画像キャプチャの一部から構成されてもよい。
【０１３５】
方法１０００は、ステップ１００５から形成ステップ１０１０に続く。ステップ１０１０において、コントローラ（ユーザ）は方法３００のステップ３１０に関して説明したように、キャプチャされた画像データに基づいて形成されるヘイズの初期モデルを要求する。ヘイズモデルを形成すると、方法１０００は、選択ステップ１０１５に続く。ステップ１０１５以降で、ＦＶＶが、ループ構造を使用してカメラネットワークによってキャプチャされた複数のフレームについて生成される。説明される構成は各フレームが各カメラによって同時またはほぼ同時にサンプリングされるように、カメラ１２０Ａ〜１２０Ｘが時間的に同期されるという仮定に基づいている。これは、ゲンロック（genlock）または他の同期技術を使用して達成され得る。ステップ１０１５は、画像データのフレームを選択するように動作する。
【０１３６】
方法１０００は、ステップ１０１５からキャプチャステップ１０２０に続く。ステップ１０２０では、１組のカメラの画像データが読み出され、方法３００のステップ３２０に従ってネットワーク１２０を介して処理部２０５に送信される。方法１０００は、ステップ１０２０から設定ステップ１０３０に続く。ステップ１０３０において、現在のフレームの仮想視点が、方法３００のステップ３３５と同じ方法に従って設定される。
【０１３７】
方法１０００は、ステップ１０３０からレンダリングステップ１０４０に続く。ステップ１０４０では、少なくとも２つのキャプチャされた画像の設定が選択され、ステップ１０３０で選択されたシーンの仮想視点に基づいて決定される複数の３次元ジオメトリ平面上にレンダリングされる。ジオメトリ平面は、シーンのモデルを効果的に提供する。キャプチャされた画像は、物理的カメラの光軸に関して仮想カメラに最も近い画像として選択されてもよいし、または、ジオメトリ、画質などに関連する他の基準に基づいて選択されてもよい。
【０１３８】
レンダリングされた平面は既存の平面掃引ＦＶＶ生成方法のために生成された平面に類似しているが、シーン内のヘイズを処理する利点を与える差異を有する。既存の平面掃引方法はキャプチャされた画像を平面に直接レンダリングし、シーンのモデルを効果的に形成する。対照的に、説明した構成は、所与の平面において画像コンテンツをキャプチャする仮想カメラに影響を及ぼす予想ヘイズの、同じ平面上の同じ点に対応する画素をキャプチャする実際のカメラにおける予想ヘイズと比較による差を補償するように、キャプチャされた各画像の画素を修正する。各平面内の各点は、典型的には固有の方法で補償される必要がある。
【０１３９】
各画像平面および各カメラについて、ステップ１０４０は３Ｄモデルを平面ジオメトリに設定し、平面３Ｄモデルの仮想深度マップおよびキャプチャ深度マップを生成することによって実行することができる。ステップ１０４０は、３Ｄ平面モデルについてステップ３４０および３４５を参照して説明したのと同じ方法に従って実行され、ステップ３５０に従って現実的なヘイズを有する平面モデルについて仮想画像を生成することができる。ステップ１０４０の実行の結果は各平面における複数のキャプチャされた画像レンダリングのセットであり、各レンダリングは、３Ｄ平面モデル及びヘイズモデルに従ってヘイズが補償されている。
【０１４０】
方法１０００は、ステップ１０４０から生成ステップ１０５０に続く。ステップ１０５０では、仮想カメラからの仮想画像又はＦＶＶ画像が、各平面及び各取り込まれた画像について平面画像の設定を処理することによって、ヘイズを伴って生成される。ステップ１０５０は例えば、マッチスコアに基づいて、各平面について投射画像の一貫性をテストし、各画素において適切な平面を選択するなど、多くの比較的単純なヒューリスティックに基づいて実行されてもよい。あるいは、ステップ１０５０がより複雑なヒューリスティックまたは機械学習技術（例えば、ディープラーニングまたは畳み込みニューラルネットワーク（ＣＮＮ））を使用してもよい。ステップ１０５０には、多くの適切な方法が知られている。ステップ１０５０は、視点に対応するキャプチャされた画像の画素を調整することによって、仮想カメラの視点からシーンを効果的にレンダリングする。調整は、シーン（平面）の３次元モデル、シーンに対する複数のカメラの位置、仮想カメラの視点、およびステップ１０１０の大気条件の幾何学的モデルに基づいて行われる。
【０１４１】
方法１０００は、多くの点で方法３００とは異なる。特に、方法１０００は、シーンの３次元モデルの使用に関して異なる。上述のように、方法３００はシーンの３次元モデル（例えば、ループ３１５〜３６０の操作中に生成される）を使用するように動作する。対照的に、方法１０００は上述の平面掃引ステップを使用し、シーンのいくつかのモデルを効果的に使用し、ヘイズまたは他の大気条件を補償するように動作する。
【０１４２】
方法１０００は、ステップ１０５０から更新ステップ１０５５に続く。ステップ１０５５において、ステップ１０１０で形成されたヘイズモデルは、現在の又は最近のフレーム画像データに基づいて更新され得る。この更新は別個のプロセッサ上で実行されてもよいし、完了するのに複数のフレームを要してもよい。更新は新しいモデルを形成するために、更新されたキャプチャされた画像を用いて、ステップ１０１０について上述した技法を使用することができる。新しいモデルは現在のモデルを置き換えるために使用されてもよいし、または、経時的により安定したモデルを形成するように更新されたモデルからのパラメータとブレンドされてもよい。いくつかの実装形態ではステップ１０５５が省略されてもよく、または例えば、ある回数の反復の後、所与の時間隔で、またはパラメータの変化のレベルに基づいて、断続的に実装されてもよい。例えば、ヘイズモデルは、毎秒、またはフォグのタイプ、気象条件（風速など）などに依存する他の何らかの更新速度で更新することができる。
【０１４３】
方法１０００は、ステップ１０５５からチェックステップ１０６０に続く。ステップ１０６０は、処理すべきフレームがまだあるかどうかをチェックする。さらにフレームがある場合（ステップ１０６０で「Ｙｅｓ」）、方法１０００はステップ１０１５に戻る。そうでなければ、ステップ１０６０は「いいえ」を返し、生成されたフレームは、視聴者のためのビデオ映像を再生するために使用され、方法１０００は終了する。
【産業上の利用可能性】
【０１４４】
記載された構成は、コンピュータ及びデータ処理産業、特に画像処理に適用可能である。
【０１４５】
初期ヘイズ（大気状態）モデルおよびキャプチャされた画像および仮想カメラ視点を反映するモデルを使用する際に、説明された方法は、自由視点ビデオが大気状態を含むように（例えばディスプレイ２１４上で）再生のために合成されることを可能にする。大気条件を反映する画素は画像をキャプチャするカメラと仮想カメラとの間の差に基づいて補償されるので、大気条件は典型的には上述の方法がない場合よりも視覚的により現実的であるように合成される。大気条件は、オブジェクトの視覚効果が視点によって変化し得るので、自由視点ビデオに対する技術的課題を提示する。したがって、本発明は、大気条件が存在するシーンに対して自由視点ビデオをどのようにしてより正確に生成するかという問題に対する技術的解決策を提供する。
【０１４６】
上記は本発明のいくつかの実施形態のみを記載し、本発明の範囲および精神から逸脱することなく、本発明に修正および／または変更を加えることができ、実施形態は例示的であり、限定的ではない。
【図１】
2020095717.tif 000003
【図２Ａ】
2020095717.tif 000004
【図２Ｂ】
2020095717.tif 000005
【図３】
2020095717.tif 000006
【図４Ａ】
2020095717.tif 000007
【図４Ｂ】
2020095717.tif 000008
【図５Ａ】
2020095717.tif 000009
【図５Ｂ】
2020095717.tif 000010
【図６Ａ】
2020095717.tif 000011
【図６Ｂ】
2020095717.tif 000012
【図６Ｃ】
2020095717.tif 000013
【図７Ａ】
2020095717.tif 000014
【図７Ｂ】
2020095717.tif 000015
【図７Ｃ】
2020095717.tif 000016
【図８】
2020095717.tif 000017
【図９】
2020095717.tif 000018
【図１０】
2020095717.tif 000019