(57)【要約】【課題】仮想視点画像を生成する際に、許容可能な画質を維持しながら、処理負荷を抑える。【解決手段】複数の異なる位置から撮像された被写体の画像群を取得する。仮想視点の位置情報を取得する。解像度設定の基準となる基準点と仮想視点との間の距離に応じて被写体形状データの解像度を設定する。解像度に応じた被写体形状データと、被写体の画像群とを用いて、仮想視点からの被写体の仮想視点画像を生成する。【選択図】図３
2019036790.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる位置から撮像された被写体の画像群を取得する画像取得手段と、
仮想視点の位置情報を取得する視点取得手段と、
解像度設定の基準となる基準点と前記仮想視点との間の距離に応じて被写体形状データの解像度を設定する設定手段と、
前記解像度に応じた前記被写体形状データと、前記被写体の画像群とを用いて、前記仮想視点からの被写体の仮想視点画像を生成する生成手段と、
を備えることを特徴とする画像生成装置。
【請求項２】
前記被写体の画像群を用いて、前記設定手段により設定された解像度に従う前記被写体の被写体形状データを生成する手段をさらに備えることを特徴とする、請求項１に記載の画像生成装置。
【請求項３】
前記設定手段は、前記仮想視点画像中の前記基準点に対応する箇所の解像度として指定された解像度に応じて、前記被写体形状データの解像度を設定することを特徴とする、請求項１又は２に記載の画像生成装置。
【請求項４】
ユーザが前記仮想視点画像中の前記基準点に対応する箇所の解像度を指定するためのユーザインタフェースを表示装置に表示させる表示手段をさらに備え、
前記ユーザインタフェース上には画像が表示され、前記画像の解像度は前記ユーザが指定した解像度に応じて変化することを特徴とする、請求項３に記載の画像生成装置。
【請求項５】
前記設定手段は、前記被写体形状データによって表される形状を有し前記基準点に位置する被写体を、前記仮想視点画像に投影した際における、前記仮想視点画像上での前記被写体の形状の解像度が、前記解像度として指定された値以上となるように、前記被写体形状データの解像度を設定することを特徴とする、請求項１から４のいずれか１項に記載の画像生成装置。
【請求項６】
前記設定手段は、前記仮想視点画像の画角及び解像度に応じて、前記被写体形状データの解像度を設定することを特徴とする、請求項１から５のいずれか１項に記載の画像生成装置。
【請求項７】
前記被写体の位置情報を、前記基準点の位置情報として取得する位置取得手段をさらに備えることを特徴とする、請求項１から６のいずれか１項に記載の画像生成装置。
【請求項８】
前記被写体の画像群を用いて前記被写体の概略位置情報を推定し、前記推定された被写体の概略位置情報を、前記基準点の位置情報として取得する位置取得手段をさらに備えることを特徴とする、請求項１から６のいずれか１項に記載の画像生成装置。
【請求項９】
前記基準点と前記仮想視点との間の距離は、複数の被写体のうち前記仮想視点に最も近い被写体と前記仮想視点との間の距離であることを特徴とする、請求項７又は８に記載の画像生成装置。
【請求項１０】
前記設定手段は、複数の被写体のそれぞれと前記仮想視点との間の距離に応じて、それぞれの被写体についての被写体形状データの解像度を独立に設定することを特徴とする、請求項７又は８に記載の画像生成装置。
【請求項１１】
前記被写体形状データはボクセルデータであり、前記解像度はボクセルの大きさを表すことを特徴とする、請求項１から１０のいずれか１項に記載の画像生成装置。
【請求項１２】
前記被写体形状データはデプスマップデータ又は視差マップデータであり、前記解像度は深度方向のステップ幅であることを特徴とする、請求項１から１０のいずれか１項に記載の画像生成装置。
【請求項１３】
前記画像取得手段は、複数の異なる位置から撮像された動画像群を取得し、
前記視点取得手段は、フレームごとの仮想視点の位置情報を取得し、
前記設定手段は、フレームごとに、前記基準点と前記仮想視点との間の距離に応じて被写体形状データの解像度を設定し、
前記生成手段は、フレームごとに、前記解像度に応じた前記被写体形状データと、前記動画像群とを用いて、前記仮想視点からの被写体の仮想視点画像を生成することにより、仮想視点映像を生成する
ことを特徴とする、請求項１から１２のいずれか１項に記載の画像生成装置。
【請求項１４】
前記設定手段は、前記仮想視点映像中の前記基準点に対応する箇所の解像度が、それぞれのフレームについて一定となるように、所定範囲内となるように、又は所定の解像度以上となるように、前記被写体形状データの解像度を設定することを特徴とする、請求項１３に記載の画像生成装置。
【請求項１５】
複数の異なる位置から撮像された被写体の画像群を取得する画像取得手段と、
仮想視点の位置情報を取得する視点取得手段と、
前記被写体の画像群を用いて、前記仮想視点からの被写体の仮想視点画像を生成する生成手段であって、前記被写体と前記仮想視点との間の距離にかかわらず、前記仮想視点画像における前記被写体の形状の解像度が所定の解像度以上となるように、前記仮想視点画像を生成する生成手段と、
を備えることを特徴とする画像生成装置。
【請求項１６】
画像生成装置が行う画像生成方法であって、
複数の異なる位置から撮像された被写体の画像群を取得する画像取得工程と、
仮想視点の位置情報を取得する視点取得工程と、
解像度設定の基準となる基準点と前記仮想視点との間の距離に応じて被写体形状データの解像度を設定する設定工程と、
前記解像度に応じた前記被写体形状データと、前記被写体の画像群とを用いて、前記仮想視点からの被写体の仮想視点画像を生成する生成工程と、
を有することを特徴とする画像生成方法。
【請求項１７】
コンピュータを請求項１乃至１５の何れか１項に記載の画像生成装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成装置、画像生成方法、及びプログラムに関する。
【背景技術】
【０００２】
複数台のカメラで取得した画像と、被写体の３次元モデル（被写体までの距離情報を含む）を用いて、撮像視点とは異なる仮想視点からの画像（仮想視点画像）を生成する手法が知られている。特許文献１には、仮想視点から見た距離マップ（画素ごとにシーンまでの距離が格納されたデータ）を用いて、仮想視点画像の各画素における画素値を算出することで、仮想視点画像を生成することが示されている。
【０００３】
一方、特許文献２には、３次元モデルの格納には大きなメモリ量を必要とするため、被写体表面付近のボクセル解像度を高くし、被写体内部のボクセル解像度を低くすることが示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２１５３１１号公報
【特許文献２】特開２００２−３６６９３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の手法を用いた場合、シーンによって仮想視点画像の画質が低下することがあった。仮想視点画像の画質は、３次元モデルの解像度を高くすることにより向上するが、これは処理量及び処理に必要なメモリ量の増加につながっていた。特許文献２に記載の方法を用いた場合でも、仮想視点画像の画質に対する影響が大きい被写体の表面形状を示すボクセルを十分に小さくする必要があるため、処理量及び処理に必要なメモリ量の抑制は不十分であった。
【０００６】
本発明は、仮想視点画像を生成する際に、許容可能な画質を維持しながら、処理負荷を抑えることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の画像生成装置は以下の構成を備える。すなわち、
複数の異なる位置から撮像された被写体の画像群を取得する画像取得手段と、
仮想視点の位置情報を取得する視点取得手段と、
解像度設定の基準となる基準点と前記仮想視点との間の距離に応じて被写体形状データの解像度を設定する設定手段と、
前記解像度に応じた前記被写体形状データと、前記被写体の画像群とを用いて、前記仮想視点からの被写体の仮想視点画像を生成する生成手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
仮想視点画像を生成する際に、許容可能な画質を維持しながら、処理負荷を抑えることができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る撮像システムの例を示す図。
【図２】実施形態１に係る画像生成装置の構成を示すブロック図。
【図３】実施形態１に係る画像生成装置の構成を示すブロック図。
【図４】実施形態１に係る画像生成方法の処理の流れを示すフローチャート。
【図５】空間解像度の算出方法を説明する概念図。
【図６】解像度の設定に用いるユーザインタフェースの一例を示す図。
【図７】実施形態２に係る画像生成方法の処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１０】
仮想視点画像を生成する場合、被写体形状データの距離分解能が低すぎると仮想視点の画質が劣化する一方、距離分解能が高すぎると画質が向上しないにもかかわらず処理量が増加する。そこで、本発明の一実施形態においては、生成しようとする仮想視点画像に適した距離分解能を有するように、使用する被写体形状データの空間解像度が調整される。以下、本発明の実施例を図面に基づいて説明する。ただし、本発明の範囲は以下の実施例に限定されるものではない。
【００１１】
［実施形態１］
実施形態１では、仮想視点から被写体までの距離に応じて、被写体形状データの空間解像度を設定する例について説明する。一実施形態によれば、仮想視点画像を被写体形状データに基づいて生成する際に、許容可能な画質を維持しながら、演算量又は使用するメモリ量を抑えることができる。なお、自由に設定された仮想視点からの仮想視点画像は、自由視点画像とも呼ばれる。また、仮想視点画像は被写体の３次元モデルに基づいて生成することができ、以下では被写体の形状を示す被写体形状データの例として、被写体の３次元モデルを用いる場合について説明する。
【００１２】
図１は、本実施形態に係る撮像システムの例を示す。撮像システム１００は、複数のカメラ１０１と、画像生成装置２００とを備える。図１には、本実施形態において用いられるカメラ１０１の配置を示す。図１に示すように、被写体を取り囲むように配置された複数のカメラ１０１を用いて、被写体の撮像が行われる。カメラ１０１は、複数の異なる位置から被写体の画像群を撮像する。図１の例では、屋外又は屋内の競技場に配置された複数のカメラ１０１を用いて、グラウンド１０４上にいる選手１０２及びボール１０３が撮影されている。図１はスポーツシーンへの応用例を示すが、本実施形態は任意のシーンにおける被写体の撮影に適用可能である。なお、本実施形態においては、被写体は時間とともに移動する物体のことを指し、例えば選手１０２及びボール１０３を含む。もっとも、被写体の特定方法は任意であり、背景のような静止物体を被写体として扱うこともできる。
【００１３】
次に、実施形態１に係る画像生成装置２００の構成について説明する。図２は、画像生成装置２００の構成の一例を示す。ＣＰＵ２０１は、ＲＡＭ２０２又はＲＯＭ２０３等のメモリに格納されているコンピュータプログラム及びデータを用いて各種の処理を実行する。これによりＣＰＵ２０１は、画像生成装置２００全体の動作制御を行うとともに、画像生成装置２００が行うものとして後述する各処理を実行又は制御する。なお、ＣＰＵ２０１は、１つのプロセッサであっても、複数のプロセッサであってもよい。
【００１４】
ＲＡＭ２０２は、ＲＯＭ２０３又は記憶部２０４のようなメモリからロードされたコンピュータプログラム及びデータを格納するためのエリアを有する。さらにＲＡＭ２０２は、ＣＰＵ２０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ２０２は、各種のエリアを提供することができる。ＲＯＭ２０３は、書き換え不要の設定データ及びブートプログラムのようなデータ又はプログラムを格納している。
【００１５】
記憶部２０４は、プログラム及びデータを格納する記憶装置であり、例えばハードディスクドライブ装置のような大容量情報記憶装置である。記憶部２０４は、例えば、ＯＳ（オペレーティングシステム）、並びに画像生成装置２００が行うものとして後述する各処理をＣＰＵ２０１に実行させるためのコンピュータプログラム及びデータを保存することができる。記憶部２０４は、処理対象となる画像又は動画像のデータを格納することができる。記憶部２０４に保存されているプログラム又はデータは、ＣＰＵ２０１による制御に従ってＲＡＭ２０２にロードされることにより、ＣＰＵ２０１による処理対象となることができる。記憶部２０４は、ハードディスクドライブ装置以外に、ＣＤ−ＲＯＭ若しくはＤＶＤ−ＲＯＭ等の記憶媒体から情報を読み取る機器、又はフラッシュメモリ若しくはＵＳＢメモリなどのメモリ装置であってもよい。
【００１６】
出力インタフェース２０５は、出力インタフェース２０５に接続された表示装置２０７に表示データを送ることにより、表示装置２０７に表示を行わせることができる。こうして、表示装置２０７は、ＣＰＵ２０１による処理結果を画像又は文字を用いて表示又は投影することができる。表示装置２０７は、例えば、ＣＲＴ、液晶画面、又はプロジェクタ装置でありうる。
【００１７】
ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、記憶部２０４、及び出力インタフェース２０５は、いずれもバス２０６に接続されており、バス２０６を介して相互に通信することができる。なお、図２に示した構成は、画像生成装置２００に適用可能なコンピュータ装置の構成の一例に過ぎない。例えば、画像生成装置２００は、ＣＰＵ２０１の代わりに、又はＣＰＵ２０１とともに、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＡＳＩＣ、又はＦＰＧＡ等のハードウェアを有していてもよい。この場合、ＧＰＵ、ＡＳＩＣ、又はＦＰＧＡ等のハードウェアが、ＣＰＵ２０１が行うべき処理の一部又は全てを行ってもよい。
【００１８】
（空間解像度の設定方法）
本実施形態に係る空間解像度の設定方法について、図５を参照して説明する。図５は、３次元空間中に設定されたボクセル５０１と、仮想視点に配置された仮想カメラ５０３との位置関係を示す。本実施形態において得られる仮想視点画像は、仮想視点に配置された仮想カメラ５０３により得られる画像に相当する。
【００１９】
以下の説明において、被写体が存在する３次元空間はボクセルを用いて離散的に表される。すなわち、対象となる３次元空間は、大きさΔ［ｍｍ］の正規格子であるボクセルで区切られる。各ボクセルの座標は，例えば（ｘ座標，ｙ座標，ｚ座標）＝（０，０，０）、（１，０，０）、（３，０，１）……のように、格子ベクトルを用いて表現できる。ボクセルに対応する３次元空間内での実際の物理的な位置は、このような格子ベクトルに正規格子の大きさΔを乗算することで得られる。Δとしては、例えば５ｍｍなどの値を採用することができる。
【００２０】
図５は、ボクセル５０１を仮想カメラ５０３に射影した様子を表している。線５０６はボクセル５０１の中心部から仮想カメラ５０３までの、仮想カメラ５０３の光軸方向に沿った距離ｚ［ｍｍ］を表す。また、線５０５，５０７は、ボクセル５０１の端部を仮想カメラ５０３に射影する線である。線５０２はボクセルの大きさΔ［ｍｍ］を表す。面５０４は仮想カメラ５０３により得られる仮想視点画像の投影面を表す。以下では、仮想カメラ５０３の、ピクセル単位で表した焦点距離をｆ［ｐｉｘ］とする。
【００２１】
ボクセル５０１を仮想カメラ５０３に射影する際、仮想カメラ５０３から見てボクセル５０１が最も大きく見えるのは、ボクセル５０１の最も長い対角線（長さは√３Δ）が、仮想カメラ５０３の光軸と直交する場合である。このとき、ボクセル５０１の、仮想視点画像上での大きさは、以下の式に従うピクセル幅ｄ［ｐｉｘ］で表される。
ｄ＝√３（ｆΔ／ｚ）  ……式（１）
言い換えれば、ボクセルの大きさがΔの場合、仮想視点画像上での被写体の解像度はｄ［ｐｉｘ］より細かくならない。ここでは、最も被写体の解像度が低くなるケースを考慮し、ボクセルの最も長い対角線（長さは√３Δ）を用いてピクセル幅ｄを計算した。しかしながら、代わりにボクセルの正方形の対角線（長さは√２Δ）又はボクセルの一辺（長さはΔ）を用いてピクセル幅ｄを計算することもできる。
【００２２】
一方、仮想視点画像上で、被写体を許容解像度ｗ［ｐｉｘ］より細かい解像度で表現したい場合、式（１）によれば、
√３（ｆΔ／ｚ）＜ｗ  ……式（２）
が成立する必要がある。例えば、被写体を２［ｐｉｘ］より細かい解像度で表現したい場合には、√３（ｆΔ／ｚ）＜２が成立する必要がある。この式をΔについて解くことで、許容解像度ｗを得るために必要なボクセルの大きさΔ、すなわち必要な空間解像度を得ることができる。このように、特定の被写体までの距離ｚと、仮想視点画像における特定の被写体についての許容解像度ｗを用いて、特定の被写体を許容解像度ｗより細かく表現するために必要な空間解像度Δを得ることができる。また、被写体に限られない特定の注視点までの距離ｚを用いて、空間解像度Δを得ることもできる。
【００２３】
このように決定された空間解像度Δは被写体形状データの解像度として設定することができる。この場合、被写体形状データによって表される形状を有し基準点に位置する被写体を、仮想視点画像に投影した際における、仮想視点画像上での被写体の形状の解像度を、解像度として指定された値以上（ｗ以上）となるように高く（細かく）することができる。この例において、許容解像度ｗは、仮想視点画像における被写体の形状の解像度として指定された解像度であるといえる。
【００２４】
また、仮想視点画像上で、全ての被写体をｗ［ｐｉｘ］より細かい解像度で表現したい場合がある。仮想カメラ５０３から被写体が近いほど√３（ｆΔ／ｚ）は大きくなるため、仮想カメラ５０３から最も近い被写体について式（２）が成立すれば、全ての被写体について式（２）が成立する。したがって、仮想視点画像上で、全ての被写体をｗ［ｐｉｘ］より細かい解像度で表現するためには、仮想カメラ５０３から最も近い被写体の距離をｚｍｉｎとすると、
√３（ｆΔ／ｚｍｉｎ）＜ｗ  ……式（３）
が成立する必要がある。
【００２５】
このように、仮想視点に最も近い距離の被写体までの距離ｚｍｉｎと、仮想視点画像における許容解像度ｗを用いて、全ての被写体を許容解像度ｗより細かく表現するために必要な空間解像度Δを得ることができる。すなわち、基準点と仮想視点との間の距離は、複数の被写体のうち仮想視点に最も近い被写体と仮想視点との間の距離でありうる。
【００２６】
また、計算量及び必要なメモリ量を削減するためには、式（２）又は式（３）が成立する空間解像度Δのうち最も大きい値を、３次元モデルの空間解像度として採用することができる。例えばΔ＝ｗｚ／ｆ√３又はΔ＝ｗｚｍｉｎ／ｆ√３に従って空間解像度Δを決定することかできる。
【００２７】
さらに、被写体ごとに３次元モデルの解像度Δを変えることもできる。この場合、被写体ｉまでの代表的な距離をｚｉ、被写体ｉの３次元モデルの解像度をΔｉ、及び許容解像度をｗ［ｐｉｘ］とすると、式（１）を用いて式（４）が得られる。
Δｉ＝ｗｚｉ／ｆ√３  ……式（４）
式（４）を用いることにより、被写体ごとに最適な解像度を算出することができる。この場合、仮想カメラ５０３に近い被写体よりも、仮想カメラ５０３から遠い被写体の方が、ボクセルの大きさΔが大きくなる。このように、複数の被写体のそれぞれと仮想視点との間の距離に応じて、それぞれの被写体についての被写体形状データの解像度を独立に設定することができる。
【００２８】
なお、焦点距離ｆは単位［ｍｍ］で表すこともできる。仮想視点画像における投影面上の物体の解像度をｒ［ｐｉｘ／ｍｍ］とすると、ピクセル単位で表した焦点距離ｆ［ｐｉｘ］は、
ｆ［ｐｉｘ］＝ｒ［ｐｉｘ／ｍｍ］×ｆ［ｍｍ］  ……式（５）
と表現することもできる。
【００２９】
（本実施形態の処理）
以下、実施形態１の画像生成装置２００で行われる処理について、図３に示す機能ブロック図及び図４に示すフローチャートを用いて説明する。実施形態１の画像生成装置２００は、図３に示すように画像取得部３０１、パラメータ取得部３０２、位置取得部３０３、視点取得部３０４、解像度設定部３０５、モデル生成部３０６、レンダリング部３０７、及び解像度取得部３０８を備える。画像生成装置２００は、ＣＰＵ２０１がＲＯＭ２０３内に格納された制御プログラムを読み込み実行することで、上記各部の機能を実現することができる。なお、画像生成装置２００は、図３に示す構成部の１以上に相当する専用の処理回路を備えていてもよい。以下、各構成部により行われる、本実施形態に係る処理の流れを説明する。
【００３０】
ステップＳ４０１で、画像取得部３０１は、複数の異なる位置から撮像された被写体の画像群を取得する。例えば、画像取得部３０１は、複数の視点から得られた画像データ（すなわち複数のカメラ１０１により撮像された画像データ）を、記憶部２０４から取得することができる。画像取得部３０１は、カメラ１０１から直接画像を取得してもよい。画像取得部３０１は、複数のカメラ１０１により略同時に得られた静止画像群を取得することができる。また、画像取得部３０１は、複数の異なる位置から撮像された動画像群を取得することもできる。例えば、画像取得部３０１は、複数のカメラ１０１により得られた動画像のうち、略同時に得られたフレーム画像群を取得することもできる。
【００３１】
ステップＳ４０２で、パラメータ取得部３０２は、カメラ１０１のカメラパラメータを取得する。カメラパラメータは、内部パラメータ、外部パラメータ、及び歪曲パラメータを含む。内部パラメータは、画像中心の座標値、及びカメラのレンズの焦点距離を含んでもよい。外部パラメータは、カメラの位置と向きを表すパラメータである。本明細書では、外部パラメータとして、世界座標におけるカメラの位置ベクトル及び回転行列を用いるが、外部パラメータはカメラの位置と向きを他の方法で記述してもよい。歪曲パラメータは、カメラのレンズの歪曲を表す。このようなカメラパラメータからは、画像を撮像したカメラの位置と、カメラから画像の各画素に対応する被写体へと向かう方向を得ることができる。カメラパラメータの取得方法は特に限定されない。例えば、カメラパラメータは記憶部２０４に予め格納されていてもよい。カメラパラメータは、複数視点からの画像データを基にして例えばstructure from motion法を用いて推定を行うことにより得ることができるし、チャートなどを用いたキャリブレーションを行うことにより得ることもできる。
【００３２】
ステップＳ４０３で、視点取得部３０４は、仮想視点の位置情報を取得する。例えば、視点取得部３０４は、仮想視点のカメラパラメータを取得することができる。本実施形態において得られる仮想視点画像は、カメラパラメータに従って仮想視点に配置される仮想カメラにより得られる画像に相当する。仮想視点のカメラパラメータからは、仮想視点の位置と、仮想視点から仮想視点画像の各画素に対応する被写体へと向かう方向を得ることができる。このようなカメラパラメータの具体例としては、仮想視点の位置及び向き（視線方向）、焦点距離、及び仮想視点画像の画素数（解像度）等が挙げられる。
【００３３】
ステップＳ４０４で、位置取得部３０３は、解像度設定の基準となる基準点と仮想視点との間の距離を取得する。基準点には、既に説明したように解像度設定の基準となる被写体を示す点、及び解像度設定の基準となる注視点が含まれる。すなわち、位置取得部３０３は、仮想視点から、被写体又は決められた注視点までの距離を取得することができる。ここで、位置取得部３０３は、被写体の位置情報を、基準点の位置情報として取得することができ、この位置情報に基づき、基準点と仮想視点との間の距離を取得することができる。
【００３４】
ステップＳ４０４で取得される距離は概略距離であってよい。また、位置取得部３０３は、１つの被写体（例えば選手）の複数の部分について仮想視点からの距離を取得する必要はなく、１つの被写体について１つの距離を取得してもよい。さらに、位置取得部３０３は、複数の被写体（例えば複数の選手）が存在する場合、複数の被写体のうち１つの被写体（例えば仮想視点から最も近い被写体）のみについて仮想視点からの距離を取得してもよい。一方、位置取得部３０３は、複数の被写体のそれぞれについて仮想視点からの距離を取得してもよい。
【００３５】
位置取得部３０３は、例えば、被写体の画像群を用いて被写体の概略位置情報を推定することができる。そして、位置取得部３０３は、被写体の概略位置情報を、基準点の位置情報として取得することができる。このようにして、位置取得部３０３は、基準点と仮想視点との間の距離を取得することができる。具体的な方法としては、例えば、解像度の粗いボクセルを用いて視体積交差法を行う方法が挙げられる。また、被写体認識を行い、認識された被写体の一部についてステレオマッチング法を用いた距離推定を行うこともできる。被写体までの大まかな距離を取得するための、公知の他の方法を用いることもできる。また、位置取得部３０３は、注視点を指定する情報を取得し、仮想視点から注視点までの距離を算出することもできる。ここで、注視点とは、仮想視点画像において、注目されるべきメインターゲットとなる点のことである。また、光軸を共通の位置に向けるように複数のカメラ１０１が設置される場合、注視点は、その位置であってもよい。
【００３６】
ステップＳ４０５で、解像度取得部３０８は、仮想視点画像中の基準点に対応する箇所の解像度として指定された解像度を取得する。仮想視点画像は、基準点に対応する箇所における被写体の形状の解像度が所定の解像度以上となるように、生成される。例えば、解像度取得部３０８は、上述した仮想視点における許容解像度を取得することができる。解像度取得部３０８が許容解像度を取得する方法は特に限定されない。例えば、解像度取得部３０８は、予め定められた許容解像度を記憶部２０４等の記憶媒体から取得することができる。また、解像度取得部３０８は、許容解像度を外部から取得することもできる。一方、許容解像度は固定値であってもよい。許容解像度の設定方法の一例については後述する。
【００３７】
ステップＳ４０６で、解像度設定部３０５は、解像度設定の基準となる基準点と仮想視点との間の距離に応じて被写体形状データの解像度を設定する。また、解像度設定部３０５は、仮想視点画像中の基準点に対応する箇所の解像度として指定された解像度に応じて、被写体形状データの解像度を設定することができる。また、上述のように、仮想視点画像の画角（例えば焦点距離）及び解像度に応じて、被写体形状データの解像度を設定することができる。例えば、解像度設定部３０５は、ステップＳ４０５で取得された許容解像度に従って、上述のように被写体の３次元モデルを生成する際の空間解像度を算出することができる。
【００３８】
ステップＳ４０７で、モデル生成部３０６は、被写体の画像群を用いて、解像度設定部３０５により設定された解像度に従う被写体の、被写体形状データを生成する。例えば、モデル生成部３０６は、ステップＳ４０６で算出した空間解像度に従って、被写体の３次元モデルを生成することができる。被写体の３次元モデルを生成する方法としては、例えば視体積交差法又はステレオマッチング法のような公知の方法を用いることができる。このような方法は特許文献１のような公知文献に記載されており、詳細な説明は省略する。もっとも、被写体形状データを得るための方法はこの方法には限られず、例えば様々な解像度を有する被写体形状データが予め用意されていてもよい。
【００３９】
モデル生成部３０６は、ボクセルにより表される３次元モデルを生成する場合、解像度設定部３０５により設定された解像度を有する３次元モデルを生成することができる。この場合、被写体形状データはボクセルデータであり、解像度はボクセルの大きさを表すことができる。また、モデル生成部３０６は、３次元モデルとして仮想視点からみた被写体のデプスマップ又は視差マップを生成することもできる。この場合、解像度設定部３０５は、３次元モデルのボクセルの大きさを設定する方法と同様の方法で、デプス値のステップ幅を算出することができる。すなわち、被写体形状データはデプスマップデータ又は視差マップデータであってもよく、ここで解像度は深度方向のステップ幅を示すことができる。
【００４０】
なお、解像度設定部３０５による空間解像度の設定方法は、モデル生成部３０６が生成する３次元モデルの種類に応じて適宜変更することができる。例えば、空間解像度は、仮想視点画像の許容解像度と、仮想視点から被写体への距離と、に応じて設定することができる。具体的には、仮想視点画像の許容解像度がより小さい場合に、より大きい場合と比べて３次元モデルがより精細になるように、空間解像度を設定することができる。また、仮想視点から被写体への距離がより短い場合に、より長い場合と比べて３次元モデルがより精細になるように、空間解像度を設定することができる。一例として、式（１）に基づいて空間解像度を算出する代わりに、仮想視点画像の許容解像度が一定の場合に仮想視点から被写体への距離が長くなるほど空間解像度が低くなるように、別の式に基づいて空間解像度を算出することができる。また、あらかじめ空間解像度と仮想視点から被写体への距離との関係を表すテーブルを用意し、このテーブルに基づいて空間解像度を設定することもできる。また、解像度設定部３０５は、仮想視点画像の画角がより狭い場合に、より広い場合と比べて３次元モデルがより精細になるように、空間解像度を設定することもできる。さらに、解像度設定部３０５は、仮想視点画像の画素数がより多い場合に、より少ない場合と比べて３次元モデルがより精細になるように、空間解像度を設定することもできる。
【００４１】
ステップＳ４０８で、レンダリング部３０７は、解像度に応じた被写体形状データと、被写体の画像群とを用いて、仮想視点からの被写体の仮想視点画像を生成する。例えば、レンダリング部３０７は、ステップＳ４０７で生成された３次元モデルに基づき、仮想視点からの仮想視点画像を生成することができる。仮想視点画像を生成する方法としては公知の方法を用いることができる。このような方法は特許文献１のような公知文献に記載されており、詳細な説明は省略する。簡単に一例を挙げると、レンダリング部３０７は、３次元モデルとステップＳ４０４で得られたカメラパラメータとに基づいて、仮想視点からの仮想視点画像の着目画素に対応する被写体の位置を特定することができる。次に、レンダリング部３０７は、ステップＳ４０２で得られたカメラパラメータを参照することにより、カメラ１０１の撮像画像におけるこの被写体の位置に対応する画素を特定することができる。そして、レンダリング部３０７は、こうして特定された画素の色情報を用いて、着目画素の色情報を決定することができる。このような処理を各画素について行うことにより、仮想視点画像を生成することができる。
【００４２】
上記のとおり、解像度設定部３０５は、被写体と仮想視点との間の距離と、仮想視点画像における被写体の形状の解像度として指定された解像度と、被写体形状データの解像度を設定することができる。したがって、レンダリング部３０７は、被写体と仮想視点との間の距離にかかわらず、仮想視点画像における被写体の形状の解像度が所定の解像度以上となるように、仮想視点画像を生成することができる。以上が、画像生成装置２００の処理の流れである。
【００４３】
（許容解像度を設定する方法の例）
以下では一例として、ユーザがＵＩを用いて許容解像度を入力し、入力された許容解像度を解像度取得部３０８が取得する場合について説明する。この場合、解像度取得部３０８は、ユーザが仮想視点画像中の基準点に対応する箇所の解像度を指定するためのユーザインタフェースを表示装置に表示させることができる。
【００４４】
図６は、空間解像度を設定するために用いることができるＵＩの一例を示す。図６に示すウィンドウ６０１は、表示装置２０７に表示される表示画面を表す。ウィンドウ６０１は、ウィンドウ６０２、スライドバー６０３、ウィンドウ６０４〜６０６、ウィンドウ６０７、及びＯＫボタン６０８を含んでいる。解像度取得部３０８は、このようなウィンドウ６０１を表示装置２０７に表示させ、ウィンドウ６０１上でユーザが入力した許容解像度を取得することができる。
【００４５】
ウィンドウ６０２には画像が表示される。例えば、ウィンドウ６０２には疑似的な仮想視点画像を表示することができる。ウィンドウ６０２に表示する画像は、実際にレンダリングされた仮想視点画像であってもよいが、他の画像であってもよい。例えば、ウィンドウ６０２には、カメラ１０１のいずれかにより撮像された画像を表示することもできる。この場合には、向きが仮想視点に最も近いカメラ、又は位置が仮想視点に最も近いカメラが撮像した画像を、ウィンドウ６０２に表示することができる。また、解像度取得部３０８は、カメラ１０１により撮像された画像を、仮想視点の画角に合わせて拡大又は縮小してから、ウィンドウ６０２に表示することができる。ウィンドウ６０２には、画像全体を表示する必要はない。すなわち、解像度取得部３０８は、仮想視点に最も近い被写体の画像など、画質に対する空間解像度の影響が最も大きい領域のみを表示してもよい。
【００４６】
スライドバー６０３は、仮想視点画像の許容解像度を設定するために用いられる。すなわち、ユーザはスライドバー６０３の位置を調整することにより、許容解像度を選択することができ、こうして選択された許容解像度を解像度取得部３０８は取得することができる。また、解像度取得部３０８は、選択された許容解像度に応じてぼかされた画像を、ウィンドウ６０２に表示することができる。例えば、解像度取得部３０８は、スライドバー６０３の位置に対応する許容解像度ｗ［ｐｉｘ］を取得し、直径ｗのぼけが与えられた画像をウィンドウ６０２に表示することができる。ぼけを与える方法としては、例えば、ガウシアンフィルタ又は平均値フィルタ等のローパスフィルタを適用する方法が挙げられる。このように、ユーザインタフェース上には画像が表示され、画像の解像度はユーザが指定した解像度に応じて変化する。
【００４７】
ウィンドウ６０４〜６０６は、仮想視点画像生成処理に関する各種情報が表示される。例えば、ウィンドウ６０４には、現在選択されている許容解像度にしたがって前述の方法で解像度設定部３０５が算出した空間解像度が数値で表示される。また、ウィンドウ６０５には、ウィンドウ６０４に表示された空間解像度を用いた場合に、仮想視点画像又は仮想視点動画を生成するために必要と見積もられる所要時間が表示される。さらに、ウィンドウ６０６には、ウィンドウ６０４に表示された空間解像度を用いる場合について見積もられた、３次元モデルのデータ量が表示される。
【００４８】
ウィンドウ６０７には、空間解像度の設定方法を示す選択肢が表示される。具体的には、ウィンドウ６０２には設定モードとして「被写体ごと」及び「最近接被写体」が表示されている。「被写体ごと」は、被写体ごとに空間解像度を変えるモードを示し、「最近接被写体」は、仮想視点に最も近い被写体のみに基づいて空間解像度を決めるモードを示す。ユーザは、ラジオボタンを用いて好きなモードを選択することができる。被写体ごとに空間解像度を変える場合は、ウィンドウ６０４には代表的な被写体、例えば仮想視点に最も近い被写体、についての空間解像度が表示される。図６には示されていないが、特定の注視点までの距離に応じて空間解像度を設定する場合、例えばウィンドウ６０２においてクリックすることにより注視点（例えばグラウンド上の点）を指定可能なユーザインタフェースを用いることができる。
【００４９】
ユーザは、ウィンドウ６０２に表示された画像の画質、及びウィンドウ６０４〜６０６に表示された数値を見ながら、スライドバー６０３を用いて許容解像度を調整することができる。そして、ユーザがＯＫボタン６０８を押下した場合に、スライドバー６０３に従う許容解像度に従って解像度設定部３０５が算出した空間解像度（ウィンドウ６０４）が、仮想視点画像の生成に用いられる空間解像度として設定される。
【００５０】
以上の処理を用いる本実施形態によれば、仮想視点画像を３次元モデルに基づいて生成する際に、許容可能な画質を維持しながら、演算量又は使用するメモリ量を抑えることができる。すなわち、その結果として処理負荷を抑えることができる。
【００５１】
［実施形態２］
実施形態２では、多視点において撮影された動画像から仮想視点映像を生成する際に、フレーム間の解像度変動を抑制する構成について説明する。ここで、仮想視点映像は複数のフレームで構成され、それぞれのフレームは仮想視点画像に相当する。そして、それぞれの仮想視点画像は、略同時に各カメラ１０１により得られた、動画像を構成するフレームを用いて生成される。
【００５２】
３次元モデルの空間解像度がフレームによらず一定の場合、既に説明したように仮想視点の位置に応じて仮想視点画像の解像度劣化が発生する可能性がある。すなわち、時間方向に解像度の変動が発生する。本実施形態では、実施形態１と同様の手法を用いて、各フレーム画像のフレームごとの仮想視点画像の許容解像度が一定となるように空間解像度を適切に算出することにより、フレーム間の解像度変動が抑制される。
【００５３】
本実施形態に係る画像生成装置の基本的な構成は実施形態１と同様であるため、説明を省略する。以下、実施形態２の処理について、図７のフローチャートを参照して説明する。
【００５４】
ステップＳ４０２及びＳ４０５は実施形態１と同様に行われる。ステップＳ７０１において、画像取得部３０１はフレーム番号ｎを初期化し、ｎの値を最初のフレーム番号に設定する。引き続き、ステップＳ７０２で、画像取得部３０１はフレーム番号ｎの多視点画像データを取得する。具体的には、画像取得部３０１は、それぞれのカメラ１０１が取得した動画像データから、略同時に得られたフレーム番号ｎの仮想視点画像群を取得する。  
【００５５】
ステップＳ７０３で、視点取得部３０４は、フレームごとの仮想視点の位置情報を取得する。例えば、視点取得部３０４は、フレーム番号ｎにおける仮想視点パラメータを取得することができる。仮想視点パラメータは、実施形態１で説明した通りである。ステップＳ４０４は、実施形態１と同様に行われる。ステップＳ４０６において、解像度設定部３０５は、実施形態１と同様の方法で、フレーム番号ｎにおける被写体形状データの解像度を設定する。すなわち、解像度設定部３０５は、フレームごとに、基準点と仮想視点との間の距離に応じて被写体形状データの解像度を設定する。ステップＳ４０７は、実施形態１と同様に行われる。ステップＳ４０８において、レンダリング部３０７は、実施形態１と同様の方法で、フレーム番号ｎにおける仮想視点画像を生成する。すなわち、レンダリング部３０７は、フレームごとに、解像度に応じた前記被写体形状データと、動画像群とを用いて、仮想視点からの被写体の仮想視点画像を生成する。このような処理により、レンダリング部３０７は、仮想視点映像を生成する。
【００５６】
ステップＳ７０４でレンダリング部３０７は、すべてのフレームを処理したかを判断する。処理対象のフレームが残っている場合、ステップＳ７０５で画像取得部３０１はフレーム番号をｎからｎ＋１に更新する。ステップＳ７０４で全てのフレームの処理が完了したと判断された場合は、処理を終了する。
【００５７】
実施形態１で説明したように、仮想視点から仮想視点に最も近い被写体又は注視点までの距離と、これらの被写体又は注視点における許容解像度に従って空間解像度を設定することができる。そして、実施形態２において、解像度設定部３０５は、仮想視点映像中の基準点に対応する箇所の解像度が、それぞれのフレームについて一定となるように、所定範囲内となるように、又は所定の解像度以上となるように、被写体形状データの解像度を設定することができる。すなわち、許容解像度としては、それぞれのフレームについて一定の値、又は所定範囲内から選択された値を用いることができる。この場合、この被写体又は注視点付近におけるフレーム間の解像度変動を抑制することができる。また、実施形態１で説明したように、被写体への距離及び許容解像度に従って、被写体ごとに空間解像度を変化させることができる。この場合、被写体ごとにフレーム間の解像度変動を抑制することができる。
【００５８】
本実施形態においても、許容解像度の設定は、図６に示すＵＩを用いてユーザが行うことができる。この場合、動画像又は仮想視点映像のうち、代表的な１フレームのみをウィンドウ６０２に表示することができる。例えば、被写体と仮想カメラ５０３とが最も近接しているフレームをウィンドウ６０２に表示し、このフレームに基づいて許容解像度を設定することができる。このような方法によれば、最も厳しい条件で許容解像度を設定することができる。また、いくつかのフレームが同時に表示された状態で、スライドバーによる許容解像度の調整を行うＵＩを採用することもできる。このようにして設定された許容解像度は、すべてのフレームに対して適用することができる。ただし、許容解像度は、全てのフレームについて厳密に一定である必要はなく、フレームごとに多少変動してもよい。
【００５９】
本実施形態によれば、仮想視点映像における時間方向の解像度変動を抑制し、ユーザにとって違和感のない仮想視点映像を生成することが可能になる。
【００６０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６１】
３０１：画像取得部、３０２：パラメータ取得部、３０３：位置取得部、３０４：視点取得部、３０５：解像度設定部、３０６：モデル生成部、３０７：レンダリング部、３０８：解像度取得部
【図１】
2019036790.tif 000003
【図２】
2019036790.tif 000004
【図３】
2019036790.tif 000005
【図４】
2019036790.tif 000006
【図５】
2019036790.tif 000007
【図６】
2019036790.tif 000008
【図７】
2019036790.tif 000009