説明

仮想視点画像生成方法,仮想視点画像生成装置および仮想視点画像生成プログラム

【課題】本発明は,カメラで撮影した被写体の画像を用いて,そのカメラとは異なる視点からその被写体を見たときの仮想視点画像を生成するときに,主観品質が高い仮想視点画像を少ない演算量で生成することを可能にする新たな技術の提供を目的とする。
【解決手段】多視点画像と多視点画像の各画素におけるカメラから被写体までの距離という簡易な幾何情報とを用いて少ない演算量で仮想視点画像を生成するという方法を用いる場合に,カメラからの距離の異なる複数の被写体の光線情報が混合されている境界領域を判定し,その領域でのみサンプリングされた光線情報を距離情報に応じた被写体の光線に補正して仮想視点画像を生成する。これにより複数の被写体からの光線情報が混ざり合った光線の影響を少なくし,高品質な仮想視点画像の生成を少ない演算量で実現する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,カメラで撮影した被写体の画像を用いて,そのカメラとは異なる位置や向き(仮想視点)からその被写体を見たときの画像(仮想視点画像)を生成する仮想視点画像生成方法およびその装置と,その仮想視点画像生成方法の実現に用いられる仮想視点画像生成プログラムとに関する。
【背景技術】
【0002】
コンピュータグラフィックス(CG)やバーチャルリアリティ(VR)の分野では,カメラで撮影した画像に写っている物体(被写体)について,それらのカメラとは異なる位置や向きからその被写体を見たときの画像を生成する技術が盛んに研究されている。
【0003】
以下では,生成する画像の位置や向きを仮想視点と称し,生成される画像を仮想視点画像と称する。この概念図を図6に示す。
【0004】
仮想視点画像を生成する方法には,大きく分けて幾何ベースと画像ベースの2種類がある。
【0005】
典型的な幾何ベースの仮想視点画像生成法では,多視点画像と呼ばれる複数台のカメラにより撮影した画像から,ポリゴンやボクセルを用いて表現される被写体の幾何学的な三次元モデルを取得した後に,その三次元モデルに仮想視点のカメラに対応した射影変換を施すことで仮想視点画像を生成する(例えば非特許文献1参照)。
【0006】
この三次元モデルを取得して仮想視点画像を生成する方法は,三次元モデルから任意の仮想視点画像を生成する処理が非常に軽量であるという利点を持つが,その三次元モデルを高精度に取得するのが実環境では非常に困難であるという問題をもつ。また,1つの三次元モデルに変換されてしまうことで,多視点画像によって取得されていた視点による見え方の違いが失われ,生成される画像の品質が悪いという問題を持つ。
【0007】
一方,画像ベースの仮想視点画像生成法は,イメージベースドレンダリングと呼ばれ,多視点画像をもとにして,明示的には被写体のモデルを求めずに,2次元画像処理を用いて仮想視点画像を生成する(例えば非特許文献2参照)。
【0008】
理論的に述べれば,画像ベースの仮想視点画像生成法では,カメラを実空間における光線情報をサンプリングする装置であると考え,多視点画像として離散的に得られた光線情報から被写体の存在する空間の光線空間を構築し,その光線空間を仮想視点のカメラでサンプリングを行うことで仮想視点画像を生成する。
【0009】
画像ベースの仮想視点画像生成法を用いることで,きわめて高品質な画像を生成することができるのだが,要求される多視点画像の視点位置の密度が高く,非常に多くのカメラを用意する必要があるだけでなく,膨大なデータを処理する必要がある。この膨大なデータは処理時間だけでなく蓄積・伝送にも影響するため,リアルタイム処理・オフライン処理に関わらず大きな問題となる。
【0010】
そこで,被写体の三次元モデルではなく,多視点画像と多視点画像の各画素におけるカメラから被写体までの距離という簡易な幾何情報とを用いて仮想視点画像を生成する方法が提案されている(例えば非特許文献3参照)。
【0011】
具体的には,およそ被写体のある位置に多層平面を想定し,そこに上記距離情報を用いて,多視点画像の各画素にサンプリングされた光線情報を適切にマッピングした後,その多層平面から仮想視点のカメラによってサンプリングされる光線情報を推定することで仮想視点画像を生成する。
【0012】
この手法では,距離情報によって光源(被写体の位置)を知ることができるため,画像ベースの手法のように多数のカメラが必要となることがなく,また,多視点画像によってサンプリングされた情報を1つのモデルにまとめてしまうのではなくて,それぞれを特定の位置と向きから発せられた光線情報として取り扱うため,生成される仮想視点画像の品質が極端に悪いこともない。また,仮想視点のカメラによる多層平面における光線情報のサンプリング処理は,幾何ベースの手法と同様に,単純なレンダリング処理で実現可能なため,非常に高速に仮想視点画像を生成することができる。
【0013】
一方,この手法では,多視点画像の1つの画素でサンプリングされた光線情報が被写体上のある点から生じていると仮定している。
【0014】
しかしながら,現実のカメラでは,1つの画素には実空間上のある領域を通過する光線が取得されている。そのため,被写体の境界部分では,異なる被写体から生じた複数の光線が1つの画素でサンプリングされている場合がある。
【0015】
各画素でサンプリングされた光線は1つの距離を用いて多層平面上にマッピングされるため,この混ざり合った光線に対して,前景の被写体の距離を用いてマッピングを行えば,混ざりあった光線のうち背景の被写体の光線が誤った位置にマッピングされることになり,逆に,背景の被写体の距離を用いてマッピングを行えば,混ざりあった光線のうち前景の被写体の光線が誤った位置にマッピングされることになる。
【0016】
このズレは生成される仮想視点画像にゴーストのようなノイズを発生させ,仮想視点画像の主観品質を著しく低下させてしまう。
【0017】
この問題を解決するために,下記の非特許文献4では,1つの画素でサンプリングされた光線に対して前景と背景の距離と光線とを求めて分離して,別々に多層平面にマッピングする方法が取られている。
【先行技術文献】
【非特許文献】
【0018】
【非特許文献1】P.E.Debevec, C.J.Taylor, and J.Malik, "Modeling and rendering architecture from photographs: A hybrid geometry- and image-based approach," In Proc. ACM Annu. Computer Graphics Conf., Aug.1996, pp.11-20.
【非特許文献2】Marc Levoy and Pat Hanrahan:“Light Field Rendering," In Proc. SIGGRAPH, 1996, pp.34-41.
【非特許文献3】國田豊ほか, “多眼カメラを用いた任意視点人物像の実時間生成システム, ”電子情報通信学会誌, Vol.J84-DII, No.1, 2001, pp.129-138.
【非特許文献4】A.Fitzgibbon, Y.Wexler, A.Zisserman, "Image-based rendering using image-based priors," In International Conference on Computer Vision, vol.2, 2003, pp.1176-1183.
【発明の概要】
【発明が解決しようとする課題】
【0019】
非特許文献4のように,1つの画素における光線情報を前景と背景に分離して,それぞれを適切な距離を用いて多層平面にマッピングし,その多層平面から仮想視点のカメラによってサンプリングされる光線情報を推定することで,主観品質の高い仮想視点画像を生成することができる。
【0020】
しかしながら,このような手法では,多視点画像によってサンプリングされた光線情報を最も適切に表すような前景と背景の光線を求めなければならないため,非常に多くの計算が必要になってしまうという問題があった。
【0021】
本発明はかかる事情に鑑みてなされたものであって,カメラで撮影した画像に写っている被写体を,そのカメラの視点とは異なる仮想視点から見たときの仮想視点画像を生成する場合に,主観品質が高い仮想視点画像を少ない演算量で生成することを可能にする新たな仮想視点画像生成技術の提供を目的とする。
【課題を解決するための手段】
【0022】
[1]第1の発明
[1−1]第1の発明の構成
本発明の第1の発明は,ある被写体を撮影した画像であるところの被写体画像と,その被写体画像を撮影したカメラからその被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて,あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成する仮想視点画像生成方法であって,(イ)被写体画像と距離情報とから,被写体画像に対して被写体の境界領域を設定する境界領域設定ステップと,(ロ)境界領域における距離情報を補正する距離情報補正ステップと,(ハ)被写体画像上の座標と仮想視点画像上の座標との対応関係を,距離情報補正ステップで補正した距離情報を用いて決定する対応関係決定ステップと,(ニ)対応関係決定ステップで決定した対応関係を用いて,被写体画像補正ステップで補正した被写体画像から仮想視点画像を生成する仮想視点画像生成ステップとを備えることを特徴とする。
【0023】
ここで,第1の発明を実現する本発明の仮想視点画像生成装置は,ある被写体を撮影した画像であるところの被写体画像と,その被写体画像を撮影したカメラからその被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて,あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成するために,(イ)被写体画像と距離情報とから,被写体画像に対して被写体の境界領域を設定する境界領域設定手段と,(ロ)境界領域における距離情報を補正する距離情報補正手段と,(ハ)被写体画像上の座標と仮想視点画像上の座標との対応関係を,距離情報補正手段の補正した距離情報を用いて決定する対応関係決定手段と,(ニ)対応関係決定手段の決定した対応関係を用いて,被写体画像補正手段の補正した被写体画像から仮想視点画像を生成する仮想視点画像生成手段とを備える。
【0024】
[1−2]第1の発明について
本発明の第1の発明では,カメラからの距離の異なる複数の被写体の光線情報が混合されている境界領域を判定し,その領域でのみサンプリングされた光線情報を距離情報に応じた被写体の光線に補正して仮想視点画像を生成する。
【0025】
これによって,複数の被写体からの光線情報が混ざり合った光線の影響を少なくすることができ,高品質な仮想視点画像を生成することができる。また,本手法は新たに境界領域と呼ぶ情報を設定し,その領域でのみ光線を補正する処理だけを行うため,サンプリングされた光線情報を最も適切に表すような前景と背景の光線を求める計算のような膨大な演算を必要としない。
【0026】
[2]第2の発明
[2−1]第2の発明の構成
本発明の第2の発明は,第1の発明に加えて,(イ)対応関係決定ステップで決定した対応関係を用いて,被写体画像の境界領域の情報から仮想視点境界領域(仮想視点画像における被写体の境界領域)を設定する仮想視点境界領域設定ステップと,(ロ)仮想視点境界領域設定ステップで設定した仮想視点境界領域によって境界領域とされる仮想視点画像生成ステップで生成した仮想視点画像上の各画素の画素値を,周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを特徴とする。
【0027】
[2−2]第2の発明について
本発明の第2の発明によると,仮想視点画像における境界領域を被写体画像の境界領域から生成した仮想視点境界領域を用いて判定し,その領域内の画素の画素値を,別の被写体が写っていると考えられる周辺の画素の画素値を用いて補正することで,前景の被写体が背景から分離しているような違和感を低減し,主観品質の高い仮想視点画像を生成することができるようになる。
【0028】
[3]第3の発明
[3−1]第3の発明の構成
本発明の第3の発明は,第1の発明に加えて,(イ)距離情報補正ステップで補正した距離情報から,仮想視点画像生成ステップで生成した仮想視点画像の距離情報であるところの仮想視点距離情報を生成する仮想視点距離情報生成ステップと,(ロ)仮想視点距離情報生成ステップで生成した仮想視点距離情報と仮想視点画像生成ステップで生成した仮想視点画像とから,仮想視点画像生成ステップで生成した仮想視点画像に対して被写体の境界領域であるところの仮想視点境界領域を設定する仮想視点境界領域設定ステップと,(ハ)仮想視点境界領域設定ステップで設定した仮想視点境界領域によって境界領域とされる仮想視点画像生成ステップで生成した仮想視点画像上の各画素の画素値を,周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを特徴とする。
【0029】
[3−2]第3の発明について
本発明の第3の発明によると,仮想視点画像における境界領域を仮想視点距離情報(被写体画像の距離情報から生成される)から生成した仮想視点境界領域を用いて判定し,その領域内の画素の画素値を,別の被写体が写っていると考えられる周辺の画素の画素値を用いて補正することで,前景の被写体が背景から分離しているような違和感を低減し,主観品質の高い仮想視点画像を生成することができるようになる。
【0030】
[4]第4の発明
[4−1]第4の発明の構成
本発明の第4の発明は,第1〜第3の発明に加えて,境界領域における被写体画像を補正する被写体画像補正ステップとを備えることを特徴とする。
【0031】
[4−2]第4の発明について
本発明の第4の発明によると,被写体画像に対して設定した被写体の境界領域における被写体画像を補正するので,仮想視点画像の生成に用いる被写体画像を事前に良好なものにすることができるようになる。
【0032】
[5]第1の関連発明
[5−1]第1の関連発明の構成
上記の目的を達成するために,本発明の第1の関連発明は,視点の異なる複数のカメラからある被写体を撮影した画像群であるところの多視点画像と,その多視点画像を撮影したカメラから被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて,あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成する仮想視点画像生成方法であって,(イ)多視点画像と距離情報とから,多視点画像の各被写体画像に対して被写体の境界領域を設定する境界領域設定ステップと,(ロ)多視点画像の各被写体画像上の座標と仮想視点画像上の座標との対応関係を,距離情報を用いて決定する対応関係決定ステップと,(ハ)多視点画像の各被写体画像に対して,対応関係決定ステップで決定した対応関係を用いて,被写体画像から合成被写体画像(仮想視点画像の合成元となる画像)を生成する合成画像生成ステップと,(ニ)多視点画像の各被写体画像に対して,対応関係決定ステップで決定した対応関係を用いて,被写体画像の境界領域の情報から合成境界領域(合成被写体画像における被写体の境界領域)を設定する合成境界領域設定ステップと,(ホ)複数生成された合成被写体画像を,対応する合成境界領域の情報に従って重み付け加算するか,対応する合成境界領域の情報と仮想視点の情報とに従って重み付け加算して,仮想視点画像を生成する仮想視点画像生成ステップとを備えることを特徴とする。
【0033】
ここで,第1の関連発明を実現する本発明の仮想視点画像生成装置は,視点の異なる複数のカメラからある被写体を撮影した画像群であるところの多視点画像と,その多視点画像を撮影したカメラから被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて,あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成するために,(イ)多視点画像と距離情報とから,多視点画像の各被写体画像に対して被写体の境界領域を設定する境界領域設定手段と,(ロ)多視点画像の各被写体画像上の座標と仮想視点画像上の座標との対応関係を,距離情報を用いて決定する対応関係決定手段と,(ハ)多視点画像の各被写体画像に対して,対応関係決定手段の決定した対応関係を用いて,被写体画像から合成被写体画像(仮想視点画像の合成元となる画像)を生成する合成画像生成手段と,(ニ)多視点画像の各被写体画像に対して,対応関係決定手段の決定した対応関係を用いて,被写体画像の境界領域の情報から合成境界領域(合成被写体画像における被写体の境界領域)を設定する合成境界領域設定手段と,(ホ)複数の合成被写体画像を,対応する合成境界領域の情報に従って重み付け加算するか,対応する合成境界領域の情報と仮想視点の情報とに従って重み付け加算して,仮想視点画像を生成する仮想視点画像生成手段とを備える。
【0034】
[5−2]第1の関連発明について
本発明の第1の関連発明では,カメラからの距離の異なる複数の被写体の光線情報が混合されている境界領域を判定し,重み付け加算時にのみ,多視点画像によってサンプリングされた光線のうち,その境界領域でサンプリングされた光線を,それ以外の領域でサンプリングされた光線よりも強度の低い光線として扱って仮想視点画像を生成する。
【0035】
これによって,複数の被写体からの光線情報が混ざり合った光線の影響を少なくすることができ,高品質な仮想視点画像を生成することができる。また,本手法では,仮想視点における光線を求める処理が,境界領域でサンプリングされた光線であるか否かに従って合成時の比率を変更するだけで行えるため,従来手法のようにサンプリングされた光線を最も適切に表すような前景と背景の光線に分離して,そこから仮想視点画像における光線を合成する処理のような膨大な演算を必要としない。
【0036】
なお,境界領域の判定にはどのような方法を用いても構わない。最も単純な例として,距離情報が急激に変化する部分を境界領域と判定することができる。また,距離情報だけでなく,多視点画像におけるエッジ情報を用いて判定することもできる。
【0037】
[6]第2の関連発明
[6−1]第2の関連発明の構成
本発明の第2の関連発明は,第1の関連発明と同様に,仮想視点画像生成ステップにおいて,多視点画像の境界領域の画像をその他の領域の画像と区別して重み付け加算を行うのだが,生成される仮想視点画像の各画素において,合成境界領域ではない合成被写体画像が1つでも存在する場合は,それらの合成被写体画像のみを用いて重み付け加算することを特徴とする。
【0038】
[6−2]第2の関連発明について
すなわち,本発明の第2の関連発明では,境界領域における光線の強度を弱くするのではなくて,信頼度の低い光線として取り扱う。そして,仮想視点のある画素における光線を求める際に,境界領域以外の領域でサンプリングされた光線,つまり信頼度の低くない光線が1つでも存在するならば,その光線のみを用いて仮想視点の光線を求める。
【0039】
多視点画像は複数の位置と向きから被写体を撮影した画像群であるため,背景の被写体において境界領域となる実空間上の領域は,サンプリングされた被写体画像ごとに異なる。そのため,ある点において境界領域と判定された光線とそうではない光線がサンプリングされていることになる。そのような場所では,複数の被写体の光線が混合した境界領域と判定された光線は使用せずに仮想視点における光線を求めることで,品質の高い仮想視点画像を生成することができる。
【0040】
[7]第3の関連発明
[7−1]第3の関連発明の構成
本発明の第3の関連発明は,第1の関連発明や第2の関連発明に加えて,境界領域における被写体画像を補正する多視点画像補正ステップを備え,合成画像生成ステップにおいて,多視点画像補正ステップで補正した被写体画像を用いて合成被写体画像を生成することを特徴とする。
【0041】
[7−2]第3の関連発明について
境界領域においてサンプリングされた光線もまた,与えられた1つの距離情報を用いて,三次元空間上の光線にマッピングされる。このとき,使用する距離情報が前景の被写体に対応するものであれば,サンプリングされた光線から背景の被写体に依存する光線の影響を取り除いたほうが仮想視点画像を生成する際により正確な光線を使用したことになる。また,使用する距離情報が背景の被写体に対応するものであれば,サンプリングされた光線から前景の被写体に依存する光線の影響を取り除いたほうが仮想視点画像を生成する際により正確な光線を使用したことになる。
【0042】
そのため,本発明の第3の関連発明では,境界領域において,その距離情報に応じて適切にサンプリングされた光線に補正を加えるようにしており,これにより,より高品質な仮想視点画像を生成することができる。
【0043】
本発明の第3の関連発明の方法では,光線に被写体に応じた処理を加える領域を境界領域だけに限るため,莫大な演算量を必要とすることはない。また,前景の被写体と背景の被写体の光線を分離するのではなく,距離情報に応じた被写体の光線に近くなるように補正するだけであるため,それぞれを推定して分離するほどの演算も必要としない。
【0044】
[8]第4の関連発明
[8−1]第4の関連発明の構成
本発明の第4の関連発明は,第1の関連発明や第2の関連発明や第3の関連発明に加えて,境界領域における距離情報を補正する距離情報補正ステップを備え,対応関係設定ステップにおいて,距離情報補正ステップで補正した距離情報を用いて対応関係を決定することを特徴とする。
【0045】
[8−2]第4の関連発明について
距離情報を求める方法には,多視点画像を用いて推定する方法と,特殊な装置を使用して求める方法とがある。どちらの方法を利用したとしてもノイズが含まれる。例えば,周囲の距離とはあまりにも異なる距離が与えられている場合がある。
【0046】
本発明の第4の関連発明では,このようなノイズを除去することで,サンプリングされた光線を適切な三次元空間上の光線にマッピングすることが可能となり,より品質の高い仮想視点画像を生成することができる。
【0047】
一方,上述のようなインパルス雑音を除去するために,距離情報に対してあらかじめスムージングを施す場合がある。また,多視点画像から距離情報を推定する際には,実空間における被写体の連続性を加味して,隣接領域で距離が大きく変化しないような処理が加えられる場合もある。このような場合,本来は境界領域になるはずの領域で,誤った距離情報になってしまってしまい,生成される仮想視点画像に歪みを生じさせてしまう。
【0048】
本発明の第4の関連発明では,このような領域でエッジを先鋭化させる処理を行ったり,多視点画像から求められるエッジと距離画像のエッジとを一致させるような処理を行ったりすることで,背景と前景の被写体がつながっているような三次元空間上の光線にマッピングされることなく,より高品質な仮想視点画像を生成することができる。
【0049】
[9]第5の関連発明
[9−1]第5の関連発明の構成
本発明の第5の関連発明は,第1の関連発明や第2の関連発明や第3の関連発明や第4の関連発明に加えて,(イ)多視点画像の距離情報から,仮想視点画像の距離情報であるところの仮想視点距離情報を生成する仮想視点距離情報生成ステップと,(ロ)仮想視点距離情報と仮想視点画像とから,仮想視点画像に対して被写体の境界領域であるところの仮想視点境界領域を設定する仮想視点境界領域設定ステップと,(ハ)仮想視点画像の仮想視点境界領域における各画素の画素値を,周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを特徴とする。
【0050】
[9−2]第5の関連発明について
多視点画像の境界領域においてサンプリングされた光線には,複数の被写体の光線が混合されていることは既に述べた。そのため,生成される仮想視点画像においても,境界領域では前景の被写体の光線と背景の被写体の光線が混合されているほうが自然である。実際に,境界領域の前景の被写体に近い部分において,背景の被写体の光線が混合されていない場合,前景の被写体が浮いているような感じに見える。これは風景を撮影した写真に人の写真を切り抜いたものを張り合わせたとしても,違和感のある画像になることからも分かる。
【0051】
本発明の第5の関連発明によると,仮想視点画像に対して境界領域を求め,その領域内の画素の画素値を,別の被写体が写っていると考えられる周辺の画素の画素値を用いて補正することで,上述のような違和感を低減し,主観品質の高い仮想視点画像を生成することができるようになる。
【発明の効果】
【0052】
本発明によれば,仮想視点画像を生成するときに,被写体の境界領域において取得された光線情報を,強度の弱い光線や信頼度の低い光線として扱うことで,主観品質の高い仮想視点画像を少ない演算量で生成することができる。
【図面の簡単な説明】
【0053】
【図1】本発明の仮想視点画像生成装置の装置構成図である。
【図2】本発明の仮想視点画像生成装置の実行するフローチャートである。
【図3】境界領域情報の生成処理のフローチャートである。
【図4】本発明の仮想視点画像生成装置の実行するフローチャートである。
【図5】本発明の仮想視点画像生成装置の実行するフローチャートである。
【図6】仮想視点を説明する図である。
【発明を実施するための形態】
【0054】
以下,実施の形態に従って本発明を詳細に説明する。
【0055】
ここで,以下に説明する実施形態例では,N個のカメラで撮影された多視点画像と,その多視点画像の各画像に対して求められるその画像を撮影したカメラから各画素に写っている被写体上の点までの距離情報(画素ごとに定義される)とから,指定された仮想視点から被写体を見た場合の仮想視点画像を生成する方法について説明を行う。
【0056】
なお,距離情報は多視点画像を用いて推定したものを入力しても構わないし,特別な装置を用いて計測したものを入力しても構わない。ただし,使用する多視点画像のカメラパラメータの座標系定義と合致したものでなければならない。
【0057】
[1]第1の実施形態例
図1に,本発明の仮想視点画像生成装置100の一実施形態例を図示する。
【0058】
この図に示すように,本実施形態例の仮想視点画像生成装置100は,仮想視点入力部101と,画像入力部102と,距離情報入力部103と,入力情報解析部104と,対応関係設定部105と,合成画像生成部106と,合成画像メモリ107と,合成境界領域設定部108と,合成境界領域メモリ109と,仮想視点画像生成部110と,仮想視点距離情報生成部111と,仮想視点境界領域設定部112と,仮想視点画像補正部113と,仮想視点画像出力部114とを備える。
【0059】
この仮想視点入力部101は,生成する仮想視点の情報を入力する。画像入力部102は,多視点画像を入力する。距離情報入力部103は,多視点画像の各画素における距離情報(カメラから多視点画像の各画素に写っている被写体上の点までの距離情報)を入力する。
【0060】
入力情報解析部104は,入力された多視点画像と距離情報とを解析して入力情報の補正を行い,それらを用いて境界領域(被写体の境界領域)を設定する。対応関係設定部105は,多視点画像の各画像と仮想視点画像との対応関係(画素と画素との対応関係)を設定する。
【0061】
合成画像生成部106は,対応関係設定部105の求めた対応関係に従って,多視点画像の各画像を用いて仮想視点画像の合成元となる合成画像を生成する。合成画像メモリ107は,合成画像生成部106の生成した合成画像群を蓄積する。
【0062】
合成境界領域設定部108は,対応関係設定部105の求めた対応関係に従って,多視点画像の各画像に対して設定された境界領域を用いて,その境界領域が仮想視点画像上で現れる位置を示す合成境界領域(合成画像上の境界領域)を求める。合成境界領域メモリ109は,合成境界領域設定部108の求めた合成境界領域の情報を蓄積する。
【0063】
仮想視点画像生成部110は,合成画像生成部106の生成した合成画像群から仮想視点画像を生成する。仮想視点距離情報生成部111は,仮想視点画像に対する距離情報(仮想視点のカメラから仮想視点画像の各画素に写っている被写体上の点までの距離情報)を生成する。仮想視点境界領域設定部112は,仮想視点画像における被写体の境界領域を求める。仮想視点画像補正部113は,仮想視点画像を補正する。仮想視点画像出力部114は,仮想視点画像補正部113により最終的に生成された仮想視点画像を出力する。
【0064】
図2に,このように構成される本実施形態例の仮想視点画像生成装置100の実行するフローチャートを図示する。ここで,このフローチャートは,本実施形態例の仮想視点画像生成装置100によってカメラ同期して撮影された多視点画像から指定された仮想視点における画像を生成する際の処理を示している。
【0065】
以下では,このフローチャートに従って,本実施形態例の仮想視点画像生成装置100の実行する処理について詳細に説明する。なお,多視点画像を撮影した各カメラのカメラパラメータが与えられているものとする。
【0066】
[ステップA1〜ステップA11の処理の概要]
まず,仮想視点入力部101にて,仮想視点の情報を入力する[ステップA1]。ここでは,仮想視点として,カメラの内部パラメータAと外部パラメータR,tとが指定されるものとする。
【0067】
なお,撮影を行った多視点画像のカメラに対する相対的な位置関係等で指定しても構わない。その場合には,指定された相対的な関係と多視点画像のカメラのカメラパラメータとから,仮想視点におけるカメラの内部パラメータAと外部パラメータR,tとを計算する。
【0068】
次に,本実施形態例では,多視点画像を構成する各画像に対して,合成画像・合成境界領域を生成する処理を繰り返す。
【0069】
本実施形態例では,多視点画像を構成する各画像を示すインデックスをView ,多視点画像を構成する画像の数を numViewsと表す。従って,View を0に初期化した後[ステップA2],View に1を加算しながら[ステップA10],View が numViewsになるまで[ステップA11],以下の処理[ステップA3〜ステップA9]を繰り返すことで,多視点画像を構成する各画像に対して,合成画像・合成境界領域を生成する。
【0070】
なお,以下では,混同を生じないので,インデックスView の指す多視点画像を撮影したカメラをView で表すことがある。また,記載の便宜上,式中ではView をviewと記載することがある。
【0071】
[ステップA3,ステップA4の処理]
多視点画像を構成する画像ごとに繰り返す処理[ステップA3〜ステップA9]では,まず,画像入力部102にて,View に対応する画像を入力する[ステップA3]。以下では,入力画像をORGview[・]と表す。また,画像に対して記号[]で挟まれた位置情報を付加することで,特定の領域の画像信号を表す。
【0072】
続いて,距離情報入力部103にて,View の画像に対応する距離情報を入力する[ステップA4]。以下では,距離情報をDview[・]と表す。また,距離情報に対して記号[]で挟まれた位置情報を付加することで,対応する画像の特定の領域の距離情報を表す。
【0073】
[ステップA5の処理]
続いて,入力情報解析部104にて,入力された画像及び距離情報を解析及び補正する。
【0074】
入力情報解析部104では,まず,入力された距離情報を使って,オブジェクトの境界領域を設定してその境界領域情報を生成する[ステップA5]。以下では,境界領域情報をBOUNDview[・]と表す。また,境界領域情報に対して記号[]で挟まれた位置情報を付加することで,画像の特定の領域の境界領域情報を表す。なお,境界領域情報を設定する処理の詳細については後で詳しく述べる。
【0075】
境界領域情報はどのように表しても構わないが,ここでは,位置pにある画素が被写体の境界領域でなければBOUNDview[p]≠0,境界領域であればBOUNDview[p]=0となるような境界領域情報とする。また,境界領域でない場合,どの程度境界から離れているかを示すような情報を含んでも構わない。例えば,隣接画素との連続性がないと判断された画素では0,全ての隣接画素と連続性があると判断された画素では隣接画素のもつ境界領域情報の最小値に1を加えた値を境界領域情報とする。なお,この場合においても,全ての画素において境界からの距離を示す必要はなく,境界領域情報の最大値MaxDistance を定めて,一定の範囲の画素についてだけ距離を表すものとしても構わない。
【0076】
本実施形態例では,このようなどの程度境界から離れているかを示すような情報を含む境界領域情報を生成するものとし,その値の最大値を3とする。
【0077】
[ステップA6の処理]
入力情報解析部104では,境界領域情報を設定した後,境界領域において入力された画像及び距離情報を補正する[ステップA6]。
【0078】
このステップA6で実行する距離情報の補正では,境界領域において誤って平滑化されている距離情報や画像と一致しないような距離情報等を修正する。ここでは,境界領域において距離情報のエッジ位置と画像のエッジ位置とが整数画素単位で一致していない場合,そのエッジが一致するように距離情報を書き換える処理を施すものとする。
【0079】
また,このステップA6で実行する画像の補正では,境界領域において有限かつ離散的な画素で光線をサンプリングした結果生じてしまっている,複数のオブジェクトの光線が混合されてしまっている状態を補正する。ここでは,周囲の画素において対象画素に近い距離情報を持つ画素の画像情報で,対象画素の画像情報を書き換える処理を施す。
【0080】
ここで,周辺の画素のうち対象画素のもつ距離情報と近い距離情報を持つ画素の画像情報からではなくて,距離情報と画像情報とから領域分割を行い,同じ領域に属すると判定された画素の画像情報で対象画素の画像情報を書き換える処理を行っても良い。
【0081】
さらに,単純に周辺画素の画像情報の平均値で書き換えるのではなくて,対象画素からの距離や画素の持つ距離情報などを使って重み計算し,その重みを用いて周辺画素の画像情報を重み付け加算して計算した値を用いて対象画素の画像情報を書き換えても構わない。重みの計算式の例として下記の式(1)〜式(4)のようなものが挙げられる。
【0082】
【数1】

【0083】
これらの数式において,pが対象画素の位置を表し,pi が重みの計算対象の画素位置を表す。また,exp()はネイピア数の指数乗を返す関数である。また,‖‖はノルムを表す。ここで,σI とσD はコントロールパラメータであり,どのような数値を使っても構わないが,画像の統計的性質に依存した値を設定することで,より高品質な画像情報生成が可能になる。なお,これらの重みを用いる場合,加算対象となっている画素の数や位置などによって重みの合計値が1にならないため,正規化して用いる必要がある。
【0084】
[ステップA7の処理]
入力情報解析部104により境界領域における入力画像及び距離情報が補正されると,続いて,対応関係設定部105にて,カメラパラメータと距離情報とを用いて,仮想視点画像の画素に対する入力画像(インデックスView の指す多視点画像)の画素の対応関係を計算する[ステップA7]。
【0085】
ここでの処理についてはカメラパラメータによって数式に違いが生じるため概念的に説明すると,まず,入力画像に対するカメラパラメータを用いて入力画像の各画素を三次元空間に逆射影する。この際に距離情報を用いることで,カメラ焦点と逆射影対象の画素とを結ぶ直線状で,その画素の対応する点を求めることができる。そして,三次元上の点が計算できたら,その点を仮想視点画像に対するカメラパラメータを用いて画像平面へ再投影することで,仮想視点画像上の座標値を計算でき,これにより,入力画像の画素と仮想視点画像の画素との対応関係が得られる。
【0086】
具体的には,画像座標mと世界座標Mとの対応関係が下記の式(5)で得られるカメラパラメータ表現を用いている場合には,下記の式(6)を用いて対応関係を計算することができる。なお,チルダ記号は任意スカラ倍を許した斉次座標を表す。
【0087】
【数2】

【0088】
ここで,A,R,tはそれぞれカメラの内部パラメータ行列,回転行列,並進ベクトルを表す。また,添え字はそのパラメータがどのカメラの情報であるかを示しており,New(記載の便宜上,式中ではNewをnew と記載することがある)は仮想視点カメラを表す。また,AとRは3×3の行列であり,tは三次元ベクトルである。また,(u,v)は仮想視点画像上の位置を表し,(x,y)は入力画像上の位置を表す。
【0089】
また,Dview[x,y]は,カメラView (入力画像を撮影したカメラ)から入力画像の各画素に写っている被写体上の点までの距離情報を表し,Dnew,view[u,v]は,仮想視点カメラNewから仮想視点画像の各画素に写っている被写体上の点までの距離情報を表す。なお,Dnew,view[u,v]において,添え字viewを記載しているのは,どの入力画像から求められた距離情報であるのかを示すためである。
【0090】
この変換では,入力画像の複数画素が仮想視点画像の1画素に対応付けられるため,有効な距離情報の得られない画素が大量に発生する場合がある。しかしながら,オクルージョン領域以外においては,距離情報が得られないことはない。そこで,入力画像における画素間の連続性を考慮して,仮想視点画像の画素に対応点を求めても構わない。
【0091】
連続性を考慮して変換する方法としては,例えば,入力画像上で隣接する画素に対して,距離情報の違いがある一定範囲内であれば被写体が実空間で連続していると仮定して,仮想視点画像上での対応画素を求めた後に,求まった仮想視点上の画素の間を入力画像上の小数画素位置を用いて補間する方法がある。そのほかには,三次元点を生成した後に連続性からポリゴンモデルを構築し,その立体モデルを再投影することで仮想視点画像の画素に対して入力画像上の対応画素を求めても構わない。
【0092】
なお,上記の式(6)の説明ではオクルージョンを考慮していないが,入力画像の複数の画素が仮想視点画像の同一の画素に対応する場合,得られた距離情報の値から,仮想視点のカメラに近い画素との対応関係が正しい対応関係であるとする処理が必要である。逆に,仮想視点画像の画素に対して入力画像上では対応点が求まらないものが存在するが,そのような画素に対しては対応画素なしとして区別する必要がある。
【0093】
上記の式(6)から分かるとおり,ここでの処理では,入力画像と仮想視点画像との対応関係((x,y)と(u,v)との対応関係)のほかに,入力視点View (入力画像を撮影したカメラView の視点)の画像から推定される仮想視点における距離情報Dnew,view[u,v]を同時に計算することになるが,この値は仮想視点の距離情報を計算するために利用するため仮想視点距離情報生成部111に送られる。
【0094】
[ステップA8の処理]
対応関係設定部105にて入力画像と仮想視点画像との対応関係が計算されると,続いて,合成画像生成部106にて,入力画像とその対応関係とから合成画像(仮想視点画像の合成元となる画像)を生成して,その生成した合成画像を合成画像メモリ107に格納する[ステップA8]。
【0095】
ここでの処理は,仮想視点画像の各画素に対して,与えられた対応関係を用いて,入力画像の画素値をコピーすることで行われる。つまり,入力視点View で観測された画像情報から推定される仮想視点における画像であるところの合成画像が生成される。対応画素が存在しない画素に関しては,画像情報なしという情報がコピーされるものとする。
【0096】
なお,対応関係が小数画素単位で与えられた場合には,入力画像に対してフィルタ処理を行い,入力画像の小数画素位置の画像情報を生成しコピーを行うことで,最終的に得られる仮想視点画像はより高品質なものとなる。以下では,入力画像View を用いて生成された合成画像をSYNview[・]と表す。また,合成画像に対して記号[]で挟まれた位置情報を付加することで画像の特定の領域の合成画像の画素値を表す。
【0097】
[ステップA9の処理]
続いて,合成境界領域設定部108にて,入力画像における境界領域が存在する合成画像上の合成境界領域を設定してその位置を表す合成境界領域情報を生成し,その生成した合成境界領域情報を合成境界領域メモリ109に格納する[ステップA9]。
【0098】
ここでの処理は,仮想視点画像の各画素に対して,与えられた対応関係を用いて,入力画像の境界領域情報の値をコピーすることで行われる。つまり,入力視点View で観測された境界領域が合成画像上で現れる位置の情報が生成される。ステップA8の処理とはコピーする値が異なるだけなので同時に行っても構わない。以下では,入力画像View に対する境界領域情報を用いて生成された合成境界領域情報をSBOUNDview[・]と表す。また,合成境界領域情報に対して記号[]で挟まれた位置情報を付加することで画像の特定の領域の合成境界領域情報の値を表す。
【0099】
[ステップA1〜ステップA11の処理のまとめ]
このようにして,ステップA1〜ステップA11の処理を実行することで,多視点画像を構成する画像ごとに繰り返す処理が終了したときには,合成画像メモリ107には, numViews個の仮想視点における合成画像が蓄積され,合成境界領域メモリ109には,それぞれの合成画像に対応する numViews個の合成境界領域情報が蓄積されている。
【0100】
[ステップA12〜ステップA17の処理の概要]
続いて,これらの情報を用いて,仮想視点画像生成部110で仮想視点画像の生成が行われ,仮想視点距離情報生成部111で仮想視点距離情報の生成が行われる[ステップA12〜ステップA17]。
【0101】
仮想視点画像を生成する処理は,仮想視点画像の画素ごとに画素値を生成する処理を繰り返すことで行われ,仮想視点距離情報を生成する処理は,仮想視点画像の画素ごとに仮想視点距離情報を生成する処理を繰り返すことで行われる。つまり,仮想視点画像の各画素を示すインデックスをPix,仮想視点画像を構成する画素の総数を numPixs と表すと,Pixを0に初期化した後[ステップA12],Pixに1を加算しながら[ステップA16],Pixが numPixs になるまで[ステップA17],次の処理[ステップA13〜ステップA15]を繰り返す。
【0102】
[ステップA13の処理]
仮想視点画像の画素ごとに繰り返す処理[ステップA13〜ステップA15]では,まず,仮想視点画像生成部110にて,各合成画像に対して重みを決定する[ステップA13]。
【0103】
本実施形態例では重みの決定において境界領域情報を用いる。様々な方法が考えられるが,例えば最も単純な方法としては,以下の式(7)で決定する方法がある。
【0104】
【数3】

【0105】
ここで,Wviewが入力画像View (インデックスView の指す入力画像)を用いて生成された合成画像に対する重みを表す。
【0106】
この式(7)で決定される重みWviewについて具体的に説明するならば,例えば,多視点画像が5つの画像で構成され,Pixの指す画素の持つSBOUNDview[Pix]がそれぞれ(0,0,0,0,0)である場合には, sum_bound _info=0となるので,すべての重みWviewは等しい値となってWview=1/5となる。一方,例えば,Pixの指す画素の持つSBOUNDview[Pix]がそれぞれ(0,0,1,2,3)である場合には, sum_bound _info=6となるので,5つの重みWviewはそれぞれWview=0,0,1/6,2/6,3/6となる。
【0107】
なお,上記の式(7)では,仮想視点画像において入力画像View における対応点が存在しない場合は考慮していない。対応点が存在するか否かについては,ステップA8の合成画像生成時やステップA9の合成境界領域情報生成時に,対応点が存在しない領域には有効な値が割り当てられないことになるため把握することが可能である。Pixにおいてそのような合成境界領域情報が存在する場合は,上記の sum_bound _infoを計算する際の和の計算から該当する合成境界領域情報を除外し,Wview=0とする。
【0108】
上記の式(7)は,境界領域に属していた画素しかなかった場合には,全ての入力画像を平等に扱うが,そうでない場合には,境界領域に属していた入力画像からの情報は除外し,境界領域からの距離に応じて重みを設定することを意味する。なお,あくまでも上記の式(7)は一例であり,境界領域に属していた入力画像からの情報を無視するのではなくて,境界領域に属していない入力画像に対する重みよりも小さな重みを設定しても構わない。
【0109】
また,仮想視点とその合成画像の元となった入力画像の視点との類似度を考慮した重み付けの項を追加しても構わない。つまり,視点間の距離や向きが仮想視点と近い視点に対する重みを大きくしても構わない。この類似度を考慮する場合には,上記の式(7)を次の式(8)ように変形することが可能である。
【0110】
【数4】

【0111】
ここで,α,βはコントロールパラメータ変数であり,Sは与えられた2つの視点間の類似度を返す関数,Newは生成対象の仮想視点を表す。
【0112】
また,本実施形態例では合成画像に対する距離情報を考慮していないが,上述したステップA7の式(6)で生成されるDnew,view[u,v]が合成画像に対する距離情報を表すため,ステップA7の処理の際にこの値を蓄積しておき,この値を用いて重み付けを行っても構わない。
【0113】
例えば,全View に対するDnew,view[Pix]の最小値(最も仮想視点カメラに近い値)をMinDとした場合に,MinDとDnew,view[Pix]との差がある閾値を超えるようであれば,そのView に対する重みをゼロにするという方法がある。これは距離情報が前後関係を表すため,遮蔽物体が存在する場合には背景に位置するものは考慮しないという処理になる。
【0114】
[ステップA14の処理]
このようにして重みの計算が終了したら,次に,仮想視点画像生成部110にて,Pixにおける仮想視点画像を生成する[ステップA14]。
【0115】
ここでの処理は,ステップA13で決定した重みWviewを用いた単純な合成画像SYNview[Pix]の重み付け加算であり,次の式(9)で表される。
【0116】
【数5】

【0117】
ここで,Gen[・]は仮想視点画像を表し,仮想視点画像に対して記号[]で挟まれた位置情報を付加することで仮想視点画像の特定の領域の画素値を表す。
【0118】
[ステップA15の処理]
続いて,仮想視点距離情報生成部111にて,Pixにおける仮想視点距離情報を生成する[ステップA15]。
【0119】
ここでの処理も,ステップA13で決定した重みWviewを用いた単純な距離情報Dnew,view[Pix]の重み付け加算であり,次の式(10)で表される。
【0120】
【数6】

【0121】
なお,このようにして入力された距離情報から仮想視点距離情報を生成する方法以外に,仮想視点画像の生成が終了した後(ステップA17とステップA18の間)で,入力画像とステレオマッチング法などの距離情報生成法を用いて,仮想視点距離情報を生成する方法を用いても構わない。ただし,その場合には膨大な演算が必要になる可能性がある。そのため,両者を組み合わせて,Dnew,view[Pix]の分散が大きな画素に対してのみステレオマッチング法で距離画像生成を行うハイブリッド手法を用いても構わない。
【0122】
[ステップA18の処理]
このようにして,ステップA12〜ステップA17の処理を実行することで,仮想視点画像を構成する画素ごとに繰り返す処理が終了すると,続いて,仮想視点境界領域設定部112にて,ステップA15で生成した仮想視点距離情報を用いて仮想視点境界領域を設定する[ステップA18]。
【0123】
ここでの処理は,入力情報解析部104で行われる入力画像における境界領域を設定する処理(ステップA5の処理:距離情報を使って境界領域を設定する処理)と同じ処理を用いることが可能である。ステップA5の処理の詳細については後述するが,ステップA18では,入力画像に対するインデックスView を仮想視点Newで読み替えることで,この処理を実行する。
【0124】
[ステップA19の処理]
続いて,仮想視点画像補正部113にて,ステップA18で生成した仮想視点境界領域情報を用いて仮想視点画像を補正する[ステップA19]。
【0125】
ここでの処理では,境界領域における画素値を前景オブジェクトの画素値と背景オブジェクトの画素値とを用いて補正する処理が行われる。様々な処理方法が考えられるが,最も簡単な方法としては境界領域においてローパスフィルタを適用する方法がある。境界領域にのみ適用しても構わないし,境界領域の周辺も含めて適用しても構わない。例えば,BOUNDnew の値がMaxDistance (上述した境界領域情報の最大値)の部分ではフィルタなしで,BOUNDnew の値が小さいほどフィルタ強度が強くなるようにする方法がある。
【0126】
また,周辺画素から背景オブジェクトの画素値を推定して,BOUNDnew の値に応じた混合比を用いて,仮想視点画像の画素値に背景オブジェクトの画素値を混合する方法もある。背景オブジェクトの推定画素値には,周辺画素のうち最もカメラから遠いことを表す仮想視点距離情報を持つ画素の画素値を用いる方法もあるし,周辺画素の画素値から画素間距離や仮想視点距離情報を用いて重み付け平均して求める方法もある。後者の方法では例えば次の式(11)を用いて重みを決定してもよい。
【0127】
【数7】

【0128】
ここで,qが対象画素の位置を表し,qi が周辺画素の画素位置を表す。iは周辺画素を識別するためのインデックスであり,weighti がインデックスiの周辺画素に対する重みを表す。σ’I とσ’D はコントロールパラメータであり,どのような数値を使っても構わないが,画像の統計的性質に依存した値を設定することでより高画質な画像情報生成が可能になる。
【0129】
BOUNDnew の値に応じた混合比は,補正対象画素の仮想視点距離情報が周辺画素の仮想視点距離情報と比較して小さい(カメラに近い)ならば,補正対象画素が前景オブジェクトであることを考慮して,BOUNDnew の値が大きいほど前景オブジェクトの側に入り込んでいることに対応させて背景オブジェクトの画素値の比率が小さくなるように設定し,逆に,補正対象画素の仮想視点距離情報が周辺画素の仮想視点距離情報と比較して大きい(カメラから遠い)ならば,補正対象画素が後景オブジェクトであることを考慮して,BOUNDnew の値が大きいほど後景オブジェクトの側に入り込んでいることに対応させて背景オブジェクトの画素値の比率が大きくなるように設定する。
【0130】
さらに,仮想視点画像の補正処理では,境界領域における補正に加えて,有効な画素値が得られていない画素に対して有効な画素値を生成する処理を行ってもよい。そのような領域は入力画像からはオクルージョンのため観察できなかった領域になるため,前景オブジェクトが存在することはない。そこで,背景オブジェクトの画素値を推定することになる。具体的な処理には,上述した境界領域における背景オブジェクトの画素値を推定する処理を用いることが可能である。
【0131】
[ステップA20の処理]
最後に,仮想視点画像出力部114にて,仮想視点画像補正部113による補正が終了した仮想視点画像を出力する[ステップA20]。
【0132】
[ステップA5の処理の詳細]
次に,図3のフローチャートに従って,ステップA5で実行する境界領域情報の生成処理の詳細について説明する。
【0133】
境界領域情報を生成する処理では,まず最初に,インデックスView によって示される画像の全ての画素位置pに対して,境界領域情報BOUNDview[p]にMaxDistance を代入して初期化する[ステップB1]。ここで,図3のフローチャートでは,画素位置の集合をImageと表した。
【0134】
次に,各画素に対して,その画素が境界領域に含まれるか否かを判定する。本実施形態例では,画素インデックスをidPix,画像に含まれる画素の数を numPixと表す。従って,idPixを0に初期化した後[ステップB2],idPixに1を加算しながら[ステップB6],idPixが numPixになるまで[ステップB7],以下の処理を繰り返す[ステップB3〜ステップB5]。
【0135】
画素ごとに繰り返す境界領域判定処理(ステップB3〜ステップB5)では,pにidPixで表される画素位置を代入した後[ステップB3],pの距離情報との差があらかじめ定められた閾値TH_SAME_PLANE より大きくなる距離情報を持つpに隣接する画素が少なくとも1つ存在するか否かを調べる[ステップB4]。そのような隣接画素が存在する場合,pは境界領域であると判断してBOUNDview[p]に0を代入する[ステップB5]。なお,隣接画素は上下左右で隣接する4画素のみを対象としてもよいし,斜め方向も入れた8画素を対象としても構わない。
【0136】
境界領域の判定が終了した後,境界領域ではない画素に対して,境界領域からの距離を境界領域情報として設定する。
【0137】
本実施形態例では,境界領域からの距離が少ない画素を順に特定し,MaxDistance より少ない距離だけ離れた画素に対して適切な境界領域情報を生成する。従って,対象とする距離の値distanceを1に初期化した後[ステップB8],distanceがMaxDistance になるまで[ステップB9],distanceに1を加算しながら[ステップB18],以下の処理を繰り返す[ステップB10〜ステップB17]。
【0138】
境界領域からの距離がdistanceであるような画素の境界領域情報を設定する処理では,各画素に対して,その画素が境界領域からの距離がdistanceであるか否かを判定する。従って,画素インデックスidPixを0で初期化した後[ステップB10],idPixに1を加算しながら[ステップB16],idPixが numPixになるまで[ステップB17],以下の処理を繰り返す[ステップB11〜ステップB15]。
【0139】
画素ごとに繰り返される境界領域からの距離判定処理では,pにidPixで表される画素位置を代入した後[ステップB11],pの境界領域情報が判定中のdistanceよりも小さい場合[ステップB12],その画素に対する判定を終了する。そうでない場合は判定処理を継続する。つまり,pに隣接する画素のBOUNDviewの最小値を min_distanceに代入し[ステップB13], min_distanceがMaxDistance より小さければ[ステップB14],BOUNDview[p]にmin _distance+1を代入する[ステップB15]。なお,この処理における隣接画素も上下左右で隣接する4画素のみを対象としてもよいし,斜め方向も入れた8画素を対象としても構わない。
【0140】
このフローチャートは境界領域情報を設定するための1つの例であり,このほかの方法を用いて被写体ごとの境界領域を示す情報を設定することも可能である。
【0141】
このようにして,本実施形態例によれば,被写体の境界領域において取得された光線情報を,強度の弱い光線や信頼度の低い光線として扱うことで,主観品質の高い仮想視点画像を少ない演算量で生成することができるようになる。
【0142】
[2]第2の実施形態例
以上に説明した第1の実施形態例では,図2のフローチャートのステップA6において,入力情報解析部104で,境界領域において入力された画像及び距離情報を補正する処理を行ったが,この補正処理は必ず実行しなければならないというものではない。
【0143】
すなわち,以上に説明した第1の実施形態例では,多視点画像によってサンプリングされた光線を合成することで仮想視点画像を生成するときに(上述したように合成画像を生成して合成する),複数の被写体の光線情報が混合されている境界領域を判定して,境界領域に属する仮想視点画像の画素について,その画素に対応付けられる多視点画像の画素(境界領域に属すると判定される場合もあるし非境界領域に属すると判定される場合もある)によってサンプリングされた光線のうち,境界領域でサンプリングされた光線を非境界領域でサンプリングされた光線よりも強度の低い光線として取り扱って,その合成を行うようにすることで,複数の被写体からの光線情報が混ざり合うことによる影響を少なくするようにしている。
【0144】
このように,境界領域でサンプリングされた光線を非境界領域でサンプリングされた光線よりも強度の低い光線として取り扱って光線の合成を行うことから,図2のフローチャートのステップA6で実行した画像及び距離情報の補正処理を行わなくても,複数の被写体からの光線情報が混ざり合うことによる影響を少なくすることができる。
【0145】
一方,図2のフローチャートのステップA6で実行した画像及び距離情報の補正処理を行う場合には,その補正により,仮想視点画像の同一の画素に対応付けられる多視点画像の画素について,それらの画素が前景オブジェクトの光線をサンプリングする場合には,それらの全ての画素が前景オブジェクトの光線をサンプリングすることになる可能性が高くなり,逆に,それらの画素が後景オブジェクトの光線をサンプリングする場合には,それらの全ての画素が後景オブジェクトの光線をサンプリングすることになる可能性が高くなる。
【0146】
これから,図2のフローチャートのステップA6で実行した画像及び距離情報の補正処理を行う場合には,多視点画像によってサンプリングされた光線を合成することで仮想視点画像を生成するときに,それらの光線について同一の重みで合成するようにするだけでも,複数の被写体からの光線情報が混ざり合うことによる影響を少なくすることができる。
【0147】
ここで,この補正処理の考え方は,多視点画像から仮想視点画像を生成する場合にだけ適用できるものではなくて,1つのカメラにより撮影された被写体画像から仮想視点画像を生成する場合にも適用できるものである。
【0148】
この構成(第2の実施形態例)を採る場合には,本発明の仮想視点画像生成装置100は,図2のフローチャートを実行することに代えて,図4のフローチャートを実行することになる。
【0149】
すなわち,本発明の仮想視点画像生成装置100は,第2の実施形態例を実現する場合には,図4のフローチャートに示すように,まず最初に,ステップC1で,上述のステップA1と同様の処理を実行することで,仮想視点の情報を入力し,続くステップC2で,インデックスView を0に初期化する。
【0150】
続いて,ステップC3で,上述のステップA3と同様の処理を実行することで,画像を入力する。続いて,ステップC4で,上述のステップA4と同様の処理を実行することで,距離情報を入力する。続いて,ステップC5で,上述のステップA5と同様の処理を実行することで,オブジェクトの境界領域を設定する。続いて,ステップC6で,上述のステップA6と同様の処理を実行することで,境界領域において入力された画像及び距離情報を補正する。続いて,ステップC7で,上述のステップA7と同様の処理を実行することで,仮想視点画像の画素に対する入力画像の画素の対応関係を計算する。続いて,ステップC8で,上述のステップA8と同様の処理を実行することで,合成画像を生成する。続いて,ステップC9で,上述のステップA9と同様の処理を実行することで,合成画像上の合成境界領域を設定する。
【0151】
続いて,ステップC10で,インデックスView の値を1つインクリメントし,続くステップC11で,インデックスView の値が numViewsに到達したのか否かを判断して, numViewsに到達していないことを判断するときには,ステップC3の処理に戻り, numViewsに到達したことを判断するときには,ステップC12に進んで,インデックスPixを0に初期化する。
【0152】
続いて,ステップC13で,各合成画像の重みを同一として,インデックスPixの指す画素について,ステップC8で生成した合成画像の画素値の平均値を求め,それをコピーすることで仮想視点画像を生成する。
【0153】
続いて,ステップC14で,インデックスPixの値を1つインクリメントし,続くステップC15で,インデックスPixの値が numPixs に到達したのか否かを判断して, numPixs に到達していないことを判断するときには,ステップC13の処理に戻る。
【0154】
一方,インデックスPixの値が numPixs に到達したことを判断するときには,ステップC16に進んで,各合成境界領域情報の重みを同一として,ステップC9で生成した合成境界領域情報の平均値を求め,それをコピーすることで,ステップA18で設定する仮想視点境界領域に相当する仮想視点境界領域を設定する。
【0155】
続いて,ステップC17で,上述のステップA19と同様の処理を実行することで,ステップC16で設定した仮想視点境界領域を用いて仮想視点画像を補正し,続くステップC18で,上述のステップA20と同様の処理を実行することで,補正が終了した仮想視点画像を出力する。
【0156】
このようにして,第2の実施形態例でも,主観品質の高い仮想視点画像を少ない演算量で生成することができるようになる。
【0157】
ここで,第2の実施形態例を実現する場合,この図4のフローチャートを実行することに代えて,図5のフローチャートを実行するという構成を採ることも可能である。
【0158】
すなわち,図5のフローチャートでは,図4のフローチャートのステップC9の処理を省略し,図4のフローチャートのステップC13とステップC14との間に,上述のステップA15と同様の処理を実行することで仮想視点距離情報を生成するステップC100を設け,さらに,図4のフローチャートのステップC16に代えて,ステップC100で生成した仮想視点距離情報を使って仮想視点境界領域を設定する上述のステップA18と同様の処理を実行するステップC200を設けるようにしているが,この図5のフローチャートを実行することでも第2の実施形態例を実現することは可能である。
【0159】
以上説明した処理は,コンピュータとソフトウェアプログラムとによっても実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも,ネットワークを通して提供することも可能である。
【0160】
また,以上の実施の形態では仮想視点画像生成装置を中心に説明したが,これら仮想視点画像生成装置の各部の動作に対応したステップによって本発明の仮想視点画像生成方法を実現することができる。
【0161】
以上,図面を参照して本発明の実施の形態を説明してきたが,上記実施の形態は本発明の例示に過ぎず,本発明が上記実施の形態に限定されるものでないことは明らかである。したがって,本発明の精神及び範囲を逸脱しない範囲で構成要素の追加,省略,置換,その他の変更を行っても良い。
【符号の説明】
【0162】
100 仮想視点画像生成装置
101 仮想視点入力部
102 画像入力部
103 距離情報入力部
104 入力情報解析部
105 対応関係設定部
106 合成画像生成部
107 合成画像メモリ
108 合成境界領域設定部
109 合成境界領域メモリ
110 仮想視点画像生成部
111 仮想視点距離情報生成部
112 仮想視点境界領域設定部
113 仮想視点画像補正部
114 仮想視点画像出力部

【特許請求の範囲】
【請求項1】
ある被写体を撮影した画像であるところの被写体画像と,その被写体画像を撮影したカメラからその被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて,あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成する仮想視点画像生成方法であって,
前記被写体画像と前記距離情報とから,前記被写体画像に対して被写体の境界領域を設定する境界領域設定ステップと,
前記境界領域における前記距離情報を補正する距離情報補正ステップと,
前記被写体画像上の座標と前記仮想視点画像上の座標との対応関係を,前記補正した距離情報を用いて決定する対応関係決定ステップと,
前記決定した対応関係を用いて,前記補正した被写体画像から前記仮想視点画像を生成する仮想視点画像生成ステップとを備えることを,
特徴とする仮想視点画像生成方法。
【請求項2】
請求項1に記載の仮想視点画像生成方法において,
前記決定した対応関係を用いて,前記被写体画像の前記境界領域の情報から仮想視点境界領域を設定する仮想視点境界領域設定ステップと,
前記仮想視点境界領域によって境界領域とされる前記生成した仮想視点画像上の各画素の画素値を,周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを,
特徴とする仮想視点画像生成方法。
【請求項3】
請求項1に記載の仮想視点画像生成方法において,
前記補正した距離情報から,前記生成した仮想視点画像の距離情報であるところの仮想視点距離情報を生成する仮想視点距離情報生成ステップと,
前記仮想視点距離情報と前記生成した仮想視点画像とから,前記生成した仮想視点画像に対して被写体の境界領域であるところの仮想視点境界領域を設定する仮想視点境界領域設定ステップと,
前記仮想視点境界領域によって境界領域とされる前記生成した仮想視点画像上の各画素の画素値を,周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを,
特徴とする仮想視点画像生成方法。
【請求項4】
請求項1,請求項2または請求項3に記載の仮想視点画像生成方法において,
さらに,前記境界領域における前記被写体画像を補正する被写体画像補正ステップを備えることを,
特徴とする仮想視点画像生成方法。
【請求項5】
ある被写体を撮影した画像であるところの被写体画像と,その被写体画像を撮影したカメラからその被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて,あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成する仮想視点画像生成装置であって,
前記被写体画像と前記距離情報とから,前記被写体画像に対して被写体の境界領域を設定する境界領域設定手段と,
前記境界領域における前記距離情報を補正する距離情報補正手段と,
前記被写体画像上の座標と前記仮想視点画像上の座標との対応関係を,前記距離情報補正手段の補正した距離情報を用いて決定する対応関係決定手段と,
前記対応関係決定手段の決定した対応関係を用いて,前記被写体画像補正手段の補正した被写体画像から前記仮想視点画像を生成する仮想視点画像生成手段とを備えることを,
特徴とする仮想視点画像生成装置。
【請求項6】
請求項1から請求項4までのいずれか1項に記載の仮想視点画像生成方法をコンピュータに実行させるための仮想視点画像生成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−128884(P2012−128884A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2012−65546(P2012−65546)
【出願日】平成24年3月22日(2012.3.22)
【分割の表示】特願2008−52768(P2008−52768)の分割
【原出願日】平成20年3月4日(2008.3.4)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】