(57)【要約】【課題】複数の注視点に応じて被写体の形状推定に用いるカメラを分散させながらも、高い形状推定結果を得る。【解決手段】本発明の画像処理装置は、複数のカメラ群でそれぞれ撮影された多視点映像内の被写体の形状をカメラ群単位で推定する推定手段と、前記複数のカメラ群それぞれにおける共通撮影領域の位置関係を示すカメラマップに基づいて、カメラ群単位で推定された被写体形状を統合する統合手段とを有することを特徴とする。【選択図】図４
2019003428.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラ群でそれぞれ撮影された多視点映像内の被写体の形状をカメラ群単位で推定する推定手段と、
前記複数のカメラ群それぞれにおける共通撮影領域の位置関係を示すカメラマップに基づいて、カメラ群単位で推定された被写体形状を統合する統合手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記統合手段は、前記複数のカメラ群それぞれの共通撮影領域のうち、共通撮影領域同士が重複する領域についてはカメラ群毎の推定結果の論理積を求め、前記重複する領域以外の領域については論理和を求めることで、カメラ群単位で推定された被写体形状を統合することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記カメラマップに基づいて、前記統合を行う際の優先度を決定する決定手段をさらに備え、
前記統合手段は、決定された前記優先度に基づいて前記統合を行う
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記カメラマップは、前記多視点映像の撮影対象となる３次元空間を分割する各ボクセルと前記共通撮影領域との対応関係を示すボリュームデータであり、
前記統合手段は、前記ボクセル単位で前記統合を行う
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記決定手段は、前記カメラマップで示される対応関係において、重複している共通撮影領域の数が少ない位置のボクセルほど優先度を高くすることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記決定手段は、被写体数が多い多視点映像のカメラ群に対応する共通撮影領域内のボクセルほど優先度を高くすることを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記複数のカメラ群は３つ以上のカメラ群であり、
前記決定手段は、２つずつのカメラ群の組合せにおいて、それぞれのカメラ群で撮影した画像における被写体数を合算し、合計被写体数が多いカメラ群の組合せに係る共通撮影領域内のボクセルほど優先度を高くすることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記決定手段は、前記多視点映像に移動物体が含まれる場合、当該移動物体が存在する多視点映像のカメラ群に対応する共通撮影領域内のボクセルの優先度を高くすることを特徴とする請求項４に記載の画像処理装置。
【請求項９】
前記統合手段は、用途に応じたモードを有し、選択されたモードに応じて統合処理の内容を切り替えることを特徴とする請求項３乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記モードには、処理時間を優先する第１のモードと画質を優先する第２のモードとを含み、
前記統合手段は、
前記第１のモードが選択された場合は、優先度が一定以上のボクセルを用いて前記統合処理を行い、
前記第２のモードが選択された場合は、一定時間内で処理可能なボクセルを用いて統合処理を行う
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記複数のカメラ群それぞれの共通撮影領域及び前記カメラマップのうち少なくとも一方を求める手段をさらに備えることを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記多視点映像の撮影前に得られた前記少なくとも一方の情報を記憶手段に保持し、
前記推定手段は、前記記憶手段に前記複数のカメラ群それぞれの共通撮影領域の情報が保持されている場合は当該情報を用いて前記推定を行い、
前記統合手段は、前記記憶手段に前記カメラマップの情報が保持されている場合は、当該情報を用いて前記統合を行う
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
仮想視点映像の生成に用いる被写体形状を推定する方法であって、
複数のカメラ群でそれぞれ撮影された多視点映像内の被写体の形状をカメラ群単位で推定するステップと、
前記複数のカメラ群それぞれにおける共通撮影領域の位置関係を示すカメラマップに基づいて、カメラ群単位で推定された被写体形状を統合するステップと
を含むことを特徴とする方法。
【請求項１４】
コンピュータを、請求項１乃至１２のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体を複数の方向から撮影した映像と仮想視点情報に基づいて、仮想視点映像を生成する画像処理装置に関するものである。
【背景技術】
【０００２】
サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することが出来る仮想視点映像を生成する技術が注目されている。仮想視点映像とは、3次元空間内に仮想的に配置した実際には存在しないカメラ（仮想カメラ）から見た映像であり、仮想視点映像技術は、スポーツ放送等において、より臨場感の高い映像表現として期待されている。特許文献１には、複数のカメラで同一の範囲を取り囲むように配置して、その同一の範囲を撮影した映像を用いて、任意の仮想視点映像を生成、表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２１５８２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばスタジアムのような広大な空間においては、複数の位置（例えば、撮影シーンがサッカーの試合であれば、それぞれのゴール前とフィールド中央の計3箇所）に注視点を設定する場合がある。このように複数設定した注視点のそれぞれにカメラを分散して割り当てた場合、1つの注視点あたりの被写体を写すカメラ台数が減ることになるので、被写体の形状推定精度が悪化してしまう。この点、注視点の数に応じてカメラ台数を増やすことで形状推定精度の悪化を防ぐことはできるが、そうなると撮影した映像データの伝送処理や形状推定処理に要する時間が長くなってしまう。
【０００５】
本発明は上記の課題に鑑みてなされたものであり、複数設定された注視点にカメラを分散させながらも、高い形状推定結果が得られるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、複数のカメラ群でそれぞれ撮影された多視点映像内の被写体の形状をカメラ群単位で推定する推定手段と、前記複数のカメラ群それぞれにおける共通撮影領域の位置関係を示すカメラマップに基づいて、カメラ群単位で推定された被写体形状を統合する統合手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、仮想視点映像の生成システムにおいて、複数設定された注視点にカメラを分散させながらも、高い形状推定結果を得ることができる。
【図面の簡単な説明】
【０００８】
【図１】仮想視点映像システムの構成の一例を示す図。
【図２】実施形態１に係る、画像処理装置のソフトウェア構成を示す機能ブロック図。
【図３】カメラ群を構成するカメラの配置例を示す図。
【図４】実施形態１に係る、仮想視点映像が生成されるまでの全体の流れを示したフローチャート。
【図５】カメラ群の共通撮影領域を求める過程を説明する図。
【図６】カメラマップのｘ−ｙ断面を示す模式図。
【図７】カメラマップ生成処理の流れを示すフローチャート。
【図８】形状情報統合処理の流れを示すフローチャート。
【図９】実施形態２に係る、画像処理装置のソフトウェア構成を示す機能ブロック図。
【図１０】カメラ群を構成するカメラの配置例を示す図。
【図１１】実施形態２に係る、仮想視点映像が生成されるまでの全体の流れを示したフローチャート。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１０】
［実施形態１］
本実施形態では、異なる注視点で撮影を行う2つのカメラ群を持つ仮想視点映像システムにおいて、被写体の形状推定を分散処理し、個々の推定結果をカメラマップに基づいて統合処理することで、フィールド全体の被写体形状を推定する態様に付いて説明する。
【００１１】
図１は、本実施形態における、仮想視点映像システムの構成の一例を示す図である。図１に示す仮想視点映像システムは、画像処理装置１００と第１及び第２の2種類のカメラ群１０９及び１１０とで構成される。そして、画像処理装置１００は、CPU１０１、メインメモリ１０２、記憶部１０３、入力部１０４、表示部１０５、外部I/F１０６を備え、各部がバス１０７を介して接続されている。まず、CPU１０１は、画像処理装置１００を統括的に制御する演算処理装置であり、記憶部１０３等に格納された各種プログラムを実行して様々な処理を行う。メインメモリ１０２は、各種処理で用いるデータやパラメータなどを一時的に格納するほか、CPU１０１に作業領域を提供する。記憶部１０３は、各種プログラムやGUI（グラフィカル・ユーザ・インターフェイス）表示に必要な各種データを記憶する大容量記憶装置で、例えばハードディスクやシリコンディスク等の不揮発性メモリが用いられる。入力部１０４は、キーボードやマウス、電子ペン、タッチパネル等の装置であり、ユーザからの操作入力を受け付ける。表示部１０５は、液晶パネルなどで構成され、自由視点映像生成時の仮想カメラの経路設定のためのGUI表示などを行う。外部I/F部１０６は、各カメラ群１０９及び１１０を構成する各カメラとLAN１０８を介して接続され、映像データや制御信号データの送受信を行う。バス１０７は上述の各部を接続し、データ転送を行う。
【００１２】
第１カメラ群１０９と第２カメラ群１１０は、それぞれ異なる注視点で撮影を行う。各カメラ群を構成する各カメラは、LAN１０８経由で画像処理装置１００に接続されている。そして、各カメラは、画像処理装置１００からの制御信号をもとに、撮影の開始と停止、カメラ設定（シャッタースピード、絞りなど）の変更、撮影した映像データの転送を行う。
【００１３】
なお、システム構成については、上記以外にも様々な構成要素が存在するが、本発明の主眼ではないので、その説明は省略する。
【００１４】
図２は、本実施形態に係る、画像処理装置１００のソフトウェア構成を示す機能ブロック図である。画像処理装置１００は、各カメラ群１０９及び１１０で撮影された多視点映像と各カメラのパラメータを取得し、被写体の３次元形状を推定して、仮想視点映像を生成する。画像処理装置１００は、第１データ取得部２０１、第２データ取得部２０２、第１形状推定部２１１、第２形状推定部２１２、カメラマップ生成部２２０、形状情報統合部２３０、仮想視点映像生成部２４０から構成される。各部の説明に入る前に、本実施形態における2つのカメラ群１０９及び１１０を構成する各カメラの配置について説明する。
【００１５】
図３は、カメラ群を構成するカメラの配置例を示す図である。この例では、各カメラ群は4台のカメラで構成され、計8台のカメラ３０１〜３０８が、サッカー等のフィールド３００の周囲を囲むように配置されている。実線で示すカメラ３０１〜３０４が第１カメラ群１０９に属し、各カメラ３０１〜３０４は注視点３１０を観察するように設定されている。同様に、点線で示すカメラ３０５〜３０８が第２カメラ群１１０に属し、各カメラ３０５〜３０８は注視点３１２を観察するように設定されている。ここでは、各カメラ群を構成するカメラ台数を4台としたが、カメラ台数は複数であればよく上限はない。
【００１６】
第１データ取得部２０１は、第１カメラ群１０９を構成する各カメラで撮影された多視点映像（第１多視点映像）のデータを、第１カメラ群１０９から取得する。また、第１データ取得部２０１は、第１カメラ群１０９を構成する各カメラのカメラパラメータを、記憶部１０３から取得する。カメラパラメータには、カメラの位置及び姿勢を表す外部パラメータと、焦点距離や画像中心といったカメラ固有の内部パラメータとが含まれる。第１多視点映像のデータとその撮影を行った各カメラのカメラパラメータは、第１形状推定部２１１、カメラマップ生成部２２０及び仮想視点映像生成部２４０へ送られる。第２データ取得部２０２は、第２カメラ群１１０を構成する各カメラで撮影された多視点映像（第２多視点映像）のデータを、第２カメラ群１１０から取得する。また、第２データ取得部２０２は、第２カメラ群１１０を構成する各カメラのカメラパラメータを、記憶部１０３から取得する。第２多視点映像データとその撮影を行った各カメラのカメラパラメータは、第２形状推定部２１２、カメラマップ生成部２２０及び仮想視点映像生成部２４０へ送られる。
【００１７】
第１形状推定部２１１は、第１多視点映像内の被写体の３次元形状を推定する。推定結果は第１形状情報として、形状情報統合部２３０へ送られる。第２形状推定部２１２も同様であり、第２多視点映像に基づき被写体の３次元形状を推定する。推定結果は第２形状情報として、形状情報統合部２３０へ送られる。
【００１８】
カメラマップ生成部２２０は、第１カメラ群１０９を構成する各カメラの共通撮影領域（以下、「第１共通撮影領域」）と、第２カメラ群１１０を構成する各カメラの共通撮影領域（以下、「第２共通撮影領域」）とに基づいてカメラマップを生成する。カメラマップとは、撮影対象となる３次元空間を分割する各ボクセルと各共通撮影領域との対応関係を示すボリュームデータをいう。前述の図３において、実線の楕円３２１が第１共通撮影領域を示し、点線の楕円３２２が第２共通撮影領域を示している。生成したカメラマップは形状情報統合部２３０へ送られる。
【００１９】
形状情報統合部２３０は、第１形状情報と第２形状情報とを、カメラマップに基づいてボクセル単位で統合する。統合によって得た被写体の形状情報（以下、「統合形状情報」）は、仮想視点映像生成部２４０へ送られる。
【００２０】
仮想視点映像生成部２４０は、不図示のＧＵＩを介して指定された仮想カメラや仮想視点の移動経路（仮想カメラパス）に従った仮想視点映像を、上述の第１多視点映像データ、第２多視点映像データ、統合形状情報を用いて生成する。
【００２１】
図４は、画像処理装置１００において仮想視点映像が生成されるまでの全体の流れを示したフローチャートである。この一連の処理は、CPU１０１が、所定のプログラムを記憶部１０３から読み込んでメインメモリ１０２に展開し、これをCPU１０１が実行することで実現される。
【００２２】
ステップ４０１では、第１及び第２のカメラ群１０９及び１１０に属する各カメラに対して、多視点映像撮影時の露光条件等の撮影パラメータと撮影開始の信号が送信される。各カメラ群に属する各カメラは、受信した撮影パラメータに従って撮影を開始し、得られた映像データを各カメラ内のメモリに保持する。続くステップ４０２〜ステップ４０４は、カメラ群単位で並列処理（分散処理）される。以下、第１カメラ群１０９についてのステップ４０２ａ〜ステップ４０４ａを代表例に説明する。
【００２３】
ステップ４０２ａでは、第１データ取得部２０１が、カメラ３０１〜３０４を用いて複数の視点で撮影された第１多視点映像データを取得する。取得された第１多視点映像データは、第１形状推定部２１１、カメラマップ生成部２２０及び仮想視点映像生成部２４０へ送られる。
【００２４】
ステップ４０３ａでは、第１データ取得部２０１が、第１カメラ群に対応する第１共通撮影領域の情報、及び第１カメラ群を構成する各カメラ３０１〜３０４のカメラパラメータを記憶部１０３から取得する。ここで、カメラパラメータと共通撮影領域の情報は、多視点映像の撮影前（カメラ設置時等）に行なうキャリブレーション処理によって求めておくものとする。カメラパラメータの場合は、キャリブレーション用画像から検出した画像特徴点を用いて、カメラ間での画像特徴点のマッチングを行って世界座標と画像座標との対応付けによって求められる。この際、カメラ固有のパラメータである内部パラメータには予め用意した値を用い、画像データからはカメラの位置及び姿勢を表す外部パラメータのみを求めてもよい。また、複数のカメラの共通撮影領域は、例えば以下のようにして求められる。図５の（ａ）及び（ｂ）は、第１カメラ群１０９についての第１共通撮影領域を求める過程を説明する図である。図５（ａ）において、カメラ３０１〜３０４のそれぞれから延びる破線で示す三角形（実際は錐体）４０１〜４０４は、カメラ３０１〜３０４の視体積をそれぞれ表している。これら4つの視体積４０１〜４０４の重複する斜線領域（実際は多面体）３２１が、第１カメラ群１０９に対応する第１共通撮影領域となる。重複領域３２１を求めるには、図５（ｂ）に示すように、フィールド３００の３次元空間を一定の大きさを持つ立方体（ボクセル）５００で分割したボリュームデータをまず用意する。このボリュームデータは、フィールド３００の地面を底面（z＝0）とし、フィールド３００の長辺をｘ軸、短辺をｙ軸とする３次元の座標系５０１で表現される。そして、各カメラのカメラパラメータを用いて、各ボクセルの座標（x,y,z）を画像座標（x,y）に変換し、変換後の座標（x,y）がカメラ画像内であるかどうかを判定する。第１カメラ群１０９を構成するカメラ３０１〜３０４のすべてについてこの判定処理を行った後、4台のカメラすべてのカメラ画像内と判定されたボクセルの集合が、第１共通撮影領域としての重複領域３２１となる。同様の処理を、第２カメラ群１１０を構成するカメラ３０５〜３０８についても実施し、得られた重複領域が第２共通撮影領域となる。なお、ここでは、予めキャリブレーションによって求めておいた各カメラ３０１〜３０４のカメラパラメータと第１共通撮影領域の情報を取得したが、多視点映像データの取得後にキャリブレーションを行って取得してもよい。取得したカメラパラメータと第１共通撮影領域の情報は、第１形状推定部２１１、カメラマップ生成部２２０及び仮想視点映像生成部２４０へ送られる。なお、ここではキャリブレーション処理によって求めておいたカメラパラメータと共通撮影領域を取得しているが、ステップ４０２で取得した多視点映像を用いて都度求めてもよい。
【００２５】
ステップ４０４ａでは、第１形状推定部２１１が、第１データ取得部２０１から受け取った第１多視点映像データに基づいて、被写体の３次元形状を推定する。撮影シーンが例えばサッカーの試合であれば、例えば選手やボールなどが被写体となる。具体的には、まず、形状推定に用いるシルエット（前景領域）画像を、第１多視点画像を構成する各撮影画像から生成する。シルエット画像は、例えば背景差分法（被写体が写っている撮影画像から予め撮影しておいた背景画像との差分を算出し、当該差分が閾値以上となる領域をシルエット（前景領域）とする手法）など公知の手法を適用して生成できる。次に、各視点に対応するシルエット画像と、カメラ３０１〜３０４のカメラパラメータとを用いて、被写体の３次元形状を推定する。３次元形状の推定には、例えば、Visual Hullの手法を用いる。この処理の結果、被写体の３次元形状をボクセルの集合で表現したボリュームデータが得られる。このボリュームデータを構成するボクセルの値は2値で表現され、“1”は形状領域、“0”は非形状領域を示す。推定結果としての第１形状情報は、形状情報統合部２３０へ送られる。そして、上述したステップ４０２ａ〜ステップ４０４ａと同様の処理が、ステップ４０２ｂ〜ステップ４０４ｂにおいても実行され、第２形状情報が形状情報統合部２３０へ送られる。
【００２６】
ステップ４０５では、カメラマップ生成部１２０が、第１共通撮影領域と第２共通撮影領域の情報を用いて、双方の共通撮影領域の位置関係を示すカメラマップを生成する。つまり、カメラマップは、図３に示すフィールド３００の３次元空間を分割する各ボクセルが、第１共通撮影領域と第２共通撮影領域との重複領域に属するのか、一方の共通撮影領域のみに属するのか、どの共通撮影領域にも属さないのか、を示す。このカメラマップも、３次元の座標系（x,y,z）を持つボリュームデータで表現される。図６は、カメラマップのｘ−ｙ断面（ｚ＝0）を示す模式図である。図６において、斜め格子で表わされるボクセル６００は、第１共通撮影領域と第２共通撮影領域とが重複する領域に存在するボクセルを示している。右斜め斜線のボクセル６１０は、上記重複する領域に存在するボクセル６００を除く、第１共通撮影領域に存在するボクセルを示している。左斜め斜線のボクセル６２０は、上記重複する領域に存在するボクセル６００を除く、第２共通撮影領域に存在するボクセルを示している。そして、白のボクセル６３０は、第１及び第２のカメラ群１０９及び１１０に属するどのカメラからも見えない領域（或いは使用するカメラを制限した場合の不使用カメラから見える領域）に存在するボクセルを示している。カメラマップ生成処理の詳細については後述する。なお、上述のキャリブレーション処理で共通撮影領域を求めた後にカメラマップの生成も行ってそれを記憶部１０３に保持しておき、ステップ４０３で取得するようにしてもよい。この場合、本ステップはスキップされる。
【００２７】
ステップ４０６では、形状情報統合部２３０が、第１形状推定部２１１から受け取った第１形状情報と第２形状推定部２１２から受け取った第２形状情報とを、ステップ４０５で生成されたカメラマップに基づいて統合する。具体的には、第１共通撮影領域と第２共通撮影領域とが重複する領域に存在するボクセル（第１と第２の両方のカメラ群から見えるボクセル）については、第１形状情報と第２形状情報との論理積を求める。そして、第１共通撮影領域及び第２共通撮影領域のうち、上記重複する領域以外の領域（第１もしくは第２のカメラ群からのみ見えるボクセル）については、第１形状情報と第２形状情報との論理和を求める。こうして、同じ被写体についての2種類の形状情報を統合した統合形状情報を生成する。形状情報統合処理の詳細については後述する。
【００２８】
ステップ４０７では、仮想視点映像生成部２４０が、ステップ４０６で得られた統合形状情報を用いて仮想視点映像を生成する。具体的には、まず、統合形状情報が示す３次元点群に色を付け、それを仮想視点の画像平面上に射影して被写体領域の前景画像を生成し、次に、仮想視点から見た背景画像を生成し、そして、背景画像に前景画像を重ねることで仮想視点映像が得られる。なお、上述の生成手法は一例であって、他の手法を用いて生成してもよい。
【００２９】
以上が、本実施形態に係る画像処理装置１００において仮想視点映像が生成されるまでの全体の流れである。なお、本実施形態では、カメラ群が2つの場合で説明したが、注視点の数をさらに増やし、3つ以上のカメラ群を設定してもよい。この場合、カメラ群の数に応じたデータ取得部と形状推定部が追加され、上述のステップ４０２〜ステップ４０４におけるカメラ群単位での並列処理が増えることは言うまでもない。
【００３０】
＜カメラマップ生成処理＞
図７は、カメラマップ生成処理の流れを示すフローチャートである。以下、図７のフローに沿って詳細に説明する。
【００３１】
ステップ７０１では、予め用意したフィールド３００の３次元空間をボクセルで分割したボリュームデータ（カメラ群毎の共通撮影領域を求める際に使用したものと同じボリュームデータ）を構成する全ボクセルのボクセル値が初期化（“0”を設定）される。ここで、ボクセル値が“0”の場合、そのボクセルはいずれのカメラ群の共通撮影領域にも属さないことを表わすものとする。続くステップ７０２では、ボクセルデータを構成する全ボクセルの中から、注目するボクセルが決定される。
【００３２】
ステップ７０３〜ステップ７０５では、注目ボクセルの位置（座標）がボクセルデータ内のどの領域に属するのかが特定される。まず、ステップ７０３では、注目ボクセルの位置（座標）が少なくともいずれかの共通撮影領域内であるか判定される。注目ボクセルが少なくとも一方の共通撮影領域に含まれる場合（ボクセル６００、６１０、６２０のいずれかに該当する場合）は、ステップ７０４に進む。一方、注目ボクセルがいずれの共通撮影領域にも含まれない場合（ボクセル６３０に該当する場合）は、ステップ７０９に進む。そして、ステップ７０４では、注目ボクセルの位置が双方の共通撮影領域が重複する領域内であるか判定される。判定の結果、注目ボクセルが第１共通撮影領域と第２共通撮影領域との重複領域に含まれる場合（ボクセル６００に該当する場合）は、ステップ７０８に進む。一方、注目ボクセルが重複領域に含まれない場合（ボクセル６００に非該当の場合）は、ステップ７０５に進む。そして、ステップ７０５では、注目ボクセルの位置がいずれの共通撮影領域内であるのか判定される。判定の結果、第１共通撮影領域に含まれる場合（ボクセル６１０に該当する場合）はステップ７０６に進み、第２共通撮影領域に含まれる場合（ボクセル６２０に該当する場合）はステップ７０７に進む。
【００３３】
ステップ７０６〜ステップ７０８では、注目ボクセルの位置に応じたボクセル値が設定される。具体的には、ステップ７０６では、第１カメラ群１０９に属する各カメラ３０１〜３０４からのみ見えるボクセルであることを表わす値“1”が、注目ボクセルのボクセル値として設定される。同様にステップ７０７では、第２カメラ群１１０に属する各カメラ３０５〜３０８からのみ見えるボクセルであることを表わす値“2”が、注目ボクセルのボクセル値として設定される。そして、ステップ７０８では、第１カメラ群１０９に属する各カメラからも第２カメラ群１１０に属する各カメラからも見えるボクセルであることを表わす値“3”が、注目ボクセルのボクセル値として設定される。
【００３４】
ステップ７０９では、ボクセルデータを構成する全ボクセルについて処理が完了したかどうかが判定される。未処理のボクセルがあればステップ７０２に戻って次のボクセルを注目ボクセルに決定して処理を続行する。一方、全ボクセルの処理が完了していれば本処理を終了する。
【００３５】
以上が、カメラマップ生成処理の内容である。これにより、両方のカメラ群のカメラから見えるボクセル、第１カメラ群のカメラからのみ見えるボクセル、第２カメラ群のカメラからのみ見えるボクセルを判別可能なカメラマップ（ボリュームデータ）が得られる。
【００３６】
＜形状情報統合処理＞
図８は、形状情報統合処理の流れを示すフローチャートである。以下、図８のフローに沿って詳細に説明する。
【００３７】
ステップ８０１では、カメラマップと同じ大きさの統合用ボリュームデータが用意され、当該ボリュームデータを構成する全ボクセルのボクセル値が初期化（“0”を設定）される。ボクセル値が“0”の場合、そのボクセルは被写体の形状を構成しないことを表わすものとする。続くステップ８０２では、カメラマップを構成する全ボクセルの中から、注目するボクセルが決定される。
【００３８】
ステップ８０３では、注目ボクセルのボクセル値が“0〜3”のいずれであるかによって処理が振り分けられる。すなわち、ボクセル値が“3”であればステップ８０４に進み、ボクセル値が“1”又は“2”であればステップ８０６に進み、ボクセル値が“0”であればステップ８０９に進む。
【００３９】
カメラマップにおけるボクセル値が“3”の場合は、第１と第２の両方のカメラ群から見えるボクセルであることを表しているので、ステップ８０４で、第１形状情報と第２形状情報とを参照し、その論理積が算出される。続くステップ８０５では、求めた論理積の結果に応じて処理が振り分けられる。すなわち、求めた論理積が、“1”であればステップ８０８に進み、そうでなければステップ８０９に進む。
【００４０】
カメラマップにおけるボクセル値が“1”もしくは“2”の場合は、第１と第２のいずれかのカメラ群から見えるボクセルであることを表しているので、ステップ８０６で、第１形状情報と第２形状情報とを参照し、その論理和が算出される。続くステップ８０７では、求めた論理和の結果に応じて処理が振り分けられる。すなわち、求めた論理和が、“1”であればステップ８０８に進み、そうでなければステップ８０９に進む。
【００４１】
ステップ８０８では、カメラマップのボクセルと同じ座標を持つ、統合用ボリュームデータにおけるボクセルのボクセル値が“1”に設定される。こうしてボクセル値として“1”が設定されたボクセルは、被写体の形状を構成するボクセルを表わすことになる。
【００４２】
ステップ８０９では、カメラマップを構成する全ボクセルについて処理が完了したかどうかが判定される。未処理のボクセルがあればステップ８０２に戻って次のボクセルを注目ボクセルに決定して処理を続行する。一方、全ボクセルの処理が完了していれば本処理を終了する。
【００４３】
以上が、形状情報統合処理の内容である。上述のとおり、複数の共通撮影領域が重複する領域内のボクセルについては、異なる形状情報の論理積がとられる。これにより、システム内のカメラを複数のカメラ群に分け、形状推定を分散処理しても、システム内の全カメラを用いて形状推定する場合と同等の結果を得ることができる。また、共通撮影領域が重複しない領域のボクセルについては、異なる形状情報の論理和がとられる。これにより、第１カメラ群のカメラに写る被写体形状と第２カメラ群のカメラに写る被写体形状とをすべて含んだ、フィールド３００全体の被写体の形状情報を得ることができる。つまり、システム内のカメラを複数のカメラ群に分け、形状推定を分散処理しても、システム内の全カメラを用いた場合と同じ範囲を対象として、被写体の形状推定を行うことができる。さらには、システム内のカメラを複数のカメラ群に分け、形状推定の分散処理を採用することで、例えばサッカーのＰＫなどフィールド内の特定箇所のみで生じるシーンの場合に、形状推定をより高速に行うことができる。具体的には、例えば注視点３１１に対応する第１多視点映像のみを取得し、カメラマップのボクセル値が“3”と“1”のボクセルについて同様の統合処理をすれば、処理対象となるデータ量が減る分だけ、形状推定に要す時間を短縮できる。
【００４４】
本実施形態によれば、仮想視点映像生成システムにおいて、多視点映像を撮影するために設置された複数のカメラを、各注視点に対応した複数のカメラ群に分け、カメラ群毎に形状推定処理を分散する。そして、各カメラ群で生成した形状情報を、カメラマップに基づいて統合する。これにより、被写体の形状推定に用いるカメラを分散させながらも、高い形状推定結果を得ることができる。
【００４５】
［実施形態２］
次に、カメラ群毎の形状推定結果を優先度に基づいて統合する態様を、実施形態２として説明する。なお、実施形態１と共通する内容については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うものとする。
【００４６】
図９は、本実施形態に係る、画像処理装置１００’のソフトウェア構成を示す機能ブロック図である。画像処理装置１００’は、3つのカメラ群１０９〜１１１で撮影された多視点映像と各カメラのパラメータを取得し、被写体の３次元形状を推定して、仮想視点映像を生成する。画像処理装置１００’は、図２に示した各処理部に加え、第３のカメラ群１１１に対応する第３データ取得部２０３と第３形状推定部２１３、さらに優先度決定部９０１を有している。図１０は、本実施形態における3つのカメラ群１０９〜１１１を構成するカメラの配置例を示す図である。各カメラ群は4台のカメラで構成され、計12台のカメラ１００１〜１０１２が、サッカー等のフィールド１０００の周囲を囲むように配置されている。実線で示すカメラ１００１〜１００４が第１カメラ群１０９に属し、各カメラ１００１〜１００４は注視点９２１を観察するように設定されている。同様に、点線で示すカメラ１００５〜１００８が第２カメラ群１１０に属し、各カメラ１００５〜１００８は注視点９２２を観察するように設定されている。同様に、一点鎖線で示すカメラ１００９〜１０１２が第３カメラ群１１１に属し、各カメラ１００９〜１０１２は注視点９２３を観察するように設定されている。優先度決定部９０１以外の各部の機能は、実施形態１で説明したとおりであるので、ここでは説明を省く。
【００４７】
優先度決定部９０１は、カメラマップ生成部２２０で生成したカメラマップに基づいて、カメラ群毎に推定された被写体の形状情報（第１〜第３形状情報）を統合する際の優先度を決定する。そして、形状情報統合部２３０’において、決定された優先度に従った各カメラ群の形状情報を統合する処理がなされ、統合形状情報が生成される。
【００４８】
図１１は、本実施形態の画像処理装置１００’において仮想視点映像が生成されるまでの全体の流れを示したフローチャートである。この一連の処理は、CPU１０１が、所定のプログラムを記憶部１０３から読み込んでメインメモリ１０２に展開し、これをCPU１０１が実行することで実現される。
【００４９】
ステップ１１０１〜ステップ１１０５は、実施形態１の図４のフローにおけるステップ４０１〜ステップ４０５にそれぞれ対応する。すなわち、第１〜第３のカメラ群１０９〜１１１に属する各カメラに対して撮影開始信号が送信され（ステップ１１０１）、各カメラ群に属する各カメラにおいて撮影がなされる。続くステップ１１０２〜ステップ１１０４は、実施形態１と同様、カメラ群単位で並列処理（分散処理）される。具体的には、各データ取得部において多視点映像データが取得され（ステップ１１０２）、続いて、各カメラ群に対応する共通撮影領域の情報及び各カメラ群を構成するカメラのカメラパラメータが取得される（ステップ１１０３）。続いて、各形状推定部２１１〜２１３において被写体の３次元形状が推定され、第１〜第３カメラ群１０９〜１１１それぞれに対応する第１〜第３形状情報が生成される（ステップ１１０４）。そして、3つのカメラ群毎の共通撮影領域の情報を用いてカメラマップが生成される（ステップ１１０５）。本実施形態で生成されるカメラマップは、ボクセル位置が、第１共通撮影領域１０３１内の場合はそのボクセル値に“1”が、第２共通撮影領域１０３２内の場合はそのボクセル値に“2”が、第３共通撮影領域内の場合はそのボクセル値に“3”が設定される。さらに、ボクセル位置が、第１共通撮影領域１０３１と第２共通撮影領域１０３２との重複領域内である場合はそのボクセル値に“4”が、第２共通撮影領域１０３２と第２共通撮影領域１０３３との重複領域内である場合はそのボクセル値に“5”が設定される。そして、ボクセル位置が、第３共通撮影領域１０３３と第１共通撮影領域１０３１との重複領域内である場合はそのボクセル値に“6”が設定され、3つの共通撮影領域１０３１〜１０３３すべてが重複する領域内であればそのボクセル値に“7”が設定される。そして、ボクセル位置がどの共通撮影領域にも含まれない場合はそのボクセル値に“0”が設定される。
【００５０】
次に、ステップ１１０６において、優先度決定部９０１が、ステップ１１０５で生成されたカメラマップに基づいて、3つのカメラ群毎に推定された第１〜第３の形状情報を統合する際の優先度を決定する。この場合の決定方法としては、例えば重複している共通撮影領域の数が少ないほど優先度が高くなるよう（少ない数のカメラ群から見えているボクセルほど優先度が高くなるよう）、ボクセル値に応じて以下のように優先度を決定する方法が挙げられる。
【００５１】
【表１】
2019003428.tif 000003
【００５２】
このような優先度をボクセル毎に設定することで、例えば、スポーツの試合における俯瞰で見た仮想視点映像を生成する場合において、フィールド全体における形状推定処理を優先させ、俯瞰でみた場合に破綻が少ない仮想視点映像を効率よく生成することができる。
【００５３】
上記の優先度決定方法は一例であり、他にも、被写体が多い映像を撮影したカメラ群ほどいわゆるハイライトシーンが生じているとの仮定の下、各カメラ群で撮影された画像に写る被写体数に基づいて優先度を決定してもよい。この場合において被写体数を求めるには、まず、各カメラ群において推定した形状（３次元点集合）をz＝0の画像平面に平行投影し、投影された形状に相当する部分の画素で、当該投影された形状を構成するボクセルの数をカウントすることで取得する。そして、得られたボクセル数を任意の閾値で2値化し、2値画像を生成する。この2値画像を公知の手法で領域分割し、得られた領域の数をカウントすることで被写体数が得られる。各カメラ群について、このような処理を実行することにより各カメラ群で撮影された画像における被写体数を算出できる。そして、被写体数が多い（被写体が密集している）画像を撮影したカメラ群の共通撮影領域内のボクセルほど優先度を高く設定する。例えば、第１共通撮影領域１０３１内の被写体数が10個、第２共通撮影領域内の１０３２の被写体数が7個、第3共通撮影領域１０３３内の被写体数が4個であったとする。この場合の優先度は以下のようになる。
【００５４】
【表２】
2019003428.tif 000004
【００５５】
さらには、2つずつのカメラ群の組合せにおいて、それぞれのカメラ群で撮影した画像における被写体数を合算し、合計被写体数が多いカメラ群の組合せに係る共通撮影領域内のボクセルほど優先度を高くするようにしてもよい。この場合の優先度は以下のようになる。
【００５６】
【表３】
2019003428.tif 000005
【００５７】
このよう優先度をボクセル毎に設定することで、撮影空間フィールド内で被写体が多い領域（例えば、サッカーのゴール前）の形状推定処理を優先させ、ハイライトシーンが生じる可能性が高い領域での仮想視点映像を効率よく生成することができる。
【００５８】
また、高速に移動する物体（例えば、球技におけるボール）の周辺でハイライトシーンが生じているとの仮定の下、当該高速移動物体の位置に基づいて優先度を設定してもよい。この場合において、画像上の高速移動物体の検出には公知の手法を適用すればよい。この検出方法としては、例えば、各カメラで撮影した映像における3フレーム分のフレーム間差分を用いる手法などがある。そして、検出された高速移動物体が写っている映像を撮影したカメラ群と、当該映像の前に当該高速移動体が写っている映像を撮影したカメラ群の共通撮影領域内のボクセルほど優先度を高くする。このように優先度を設定することで、サッカーボールなどの高速で動く物体の周辺で生じるイベントに関わる被写体の形状推定処理を優先させることができる。こうして決定された優先度の情報は形状情報統合部２３０’へ送られる。
【００５９】
ステップ１１０７では、形状情報統合部２３０’が、第１〜第３の形状推定部２１１〜２１３からそれぞれ受け取った第１〜第３の形状情報を、ステップ１１０５で生成されたカメラマップ及びステップ１１０６で決定された優先度に基づいて統合する。優先度に基づく統合の仕方としては、例えば用途に応じた形状推定モードを設け、設定された優先度に応じてモードを切り替える方法が考えられる。以下に具体例を示す。ここでは、形状推定モードとして、2種類のモードを用意する。1つは処理時間を優先するモードで、画質よりも短時間で仮想視点映像を生成したいユーザ向けのモードである。もう1つは画質を優先するモードで、高画質な仮想視点映像を生成したいユーザ向けのモードである。ユーザは、表示部１０５に表示されるＵＩ画面（不図示）を介して、いずれかのモードを選択する。処理時間優先モードが選択された場合、例えば優先度が一定以上（例えば“高”）のボクセルのみを用いて統合処理を実施する（“中”及び“低”の優先度を持つボクセルは統合しない）。統合処理の対象とするボクセル数が少ない分だけ形状推定処理がより早く完了することになる。また、画質優先モードが選択された場合、例えばユーザが予め設定した一定時間内で処理可能なボクセル（例えば優先度が“中”まで）を用いて統合処理を行う。或いは、優先度とは無関係に全ボクセルを用いて統合処理してもよい。このように優先度に応じて統合された被写体の形状情報は、統合形状情報として仮想視点映像生成部２４０に送られる。
【００６０】
ステップ１１０８では、仮想視点映像生成部２４０が、ステップ１１０７で得られた統合形状情報を用いて仮想視点映像を生成する。
【００６１】
以上が、本実施形態に係る画像処理装置１００’において仮想視点映像が生成されるまでの全体の流れである。なお、本実施形態では、カメラ群が3つの場合で説明したが、注視点の数をさらに増やし、より多くのカメラ群を設定してもよい。この場合、カメラ群の数に応じたデータ取得部と形状推定部が追加され、上述のステップ１１０２〜ステップ１１０４におけるカメラ群単位での並列処理が増えることは言うまでもない。また、優先度も上述した様々な方法で決定すればよい。
【００６２】
本実施形態によれば、カメラ群単位で生成した被写体の形状情報をカメラマップに基づいて統合する際に、優先度に応じて統合処理に用いるボクセル量を制御することができる。これにより、ユーザの用途に応じた柔軟な形状推定が可能となる。
【００６３】
なお、上述の説明では、図６に示すようなカメラマップを用いて被写体形状を統合する例を中心に説明した。しかしカメラマップの例は図６の例に限らない。すなわち、図６のようなカメラマップの代わりに、複数のカメラ群の撮影範囲が重複する領域を少なくとも示す情報が用いられるようにしても良い。つまり、マップ形式のデータではなく、重複領域（の頂点）の座標データであっても良いし、重複領域（の頂点）に位置するボクセルの識別情報などを用いて被写体形状が統合されるようにしても良い。
【００６４】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６５】
１００  画像処理装置
１０９〜１１１  カメラ群
２０１〜２０３  データ取得部
２１１〜２１３  形状推定部
２２０  カメラマップ生成部
２３０  形状情報統合部
２４０  仮想視点映像生成部
【図１】
2019003428.tif 000006
【図２】
2019003428.tif 000007
【図３】
2019003428.tif 000008
【図４】
2019003428.tif 000009
【図５】
2019003428.tif 000010
【図６】
2019003428.tif 000011
【図７】
2019003428.tif 000012
【図８】
2019003428.tif 000013
【図９】
2019003428.tif 000014
【図１０】
2019003428.tif 000015
【図１１】
2019003428.tif 000016