(57)【特許請求の範囲】
【請求項１】
ある被写体を撮影した画像であるところの被写体画像と，その被写体画像を撮影したカメラからその被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて，あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成する仮想視点画像生成方法であって，
前記被写体画像と前記距離情報とから，前記被写体画像に対して被写体の境界領域を設定する境界領域設定ステップと，
前記境界領域における前記距離情報を補正する距離情報補正ステップと，
前記被写体画像上の座標と前記仮想視点画像上の座標との対応関係を，前記補正した距離情報を用いて決定する対応関係決定ステップと，
前記決定した対応関係を用いて，前記補正した被写体画像から前記仮想視点画像を生成する仮想視点画像生成ステップとを備えることを，
特徴とする仮想視点画像生成方法。
【請求項２】
請求項１に記載の仮想視点画像生成方法において，
前記距離情報補正ステップでは，前記境界領域において前記距離情報のエッジ位置と前記被写体画像のエッジ位置とが整数画素単位で一致していない場合に，そのエッジが一致するように距離情報を補正することを，
特徴とする仮想視点画像生成方法。
【請求項３】
請求項１または請求項２に記載の仮想視点画像生成方法において，
前記決定した対応関係を用いて，前記被写体画像の前記境界領域の情報から仮想視点境界領域を設定する仮想視点境界領域設定ステップと，
前記仮想視点境界領域によって境界領域とされる前記生成した仮想視点画像上の各画素の画素値を，周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを，
特徴とする仮想視点画像生成方法。
【請求項４】
請求項１または請求項２に記載の仮想視点画像生成方法において，
前記補正した距離情報から，前記生成した仮想視点画像の距離情報であるところの仮想視点距離情報を生成する仮想視点距離情報生成ステップと，
前記仮想視点距離情報と前記生成した仮想視点画像とから，前記生成した仮想視点画像に対して被写体の境界領域であるところの仮想視点境界領域を設定する仮想視点境界領域設定ステップと，
前記仮想視点境界領域によって境界領域とされる前記生成した仮想視点画像上の各画素の画素値を，周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを，
特徴とする仮想視点画像生成方法。
【請求項５】
請求項１，請求項２，請求項３または請求項４に記載の仮想視点画像生成方法において，
さらに，前記境界領域における前記被写体画像を補正する被写体画像補正ステップを備えることを，
特徴とする仮想視点画像生成方法。
【請求項６】
ある被写体を撮影した画像であるところの被写体画像と，その被写体画像を撮影したカメラからその被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて，あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成する仮想視点画像生成装置であって，
前記被写体画像と前記距離情報とから，前記被写体画像に対して被写体の境界領域を設定する境界領域設定手段と，
前記境界領域における前記距離情報を補正する距離情報補正手段と，
前記被写体画像上の座標と前記仮想視点画像上の座標との対応関係を，前記距離情報補正手段の補正した距離情報を用いて決定する対応関係決定手段と，
前記対応関係決定手段の決定した対応関係を用いて，前記被写体画像補正手段の補正した被写体画像から前記仮想視点画像を生成する仮想視点画像生成手段とを備えることを，
特徴とする仮想視点画像生成装置。
【請求項７】
請求項６に記載の仮想視点画像生成装置において，
前記距離情報補正手段は，前記境界領域において前記距離情報のエッジ位置と前記被写体画像のエッジ位置とが整数画素単位で一致していない場合に，そのエッジが一致するように距離情報を補正することを，
特徴とする仮想視点画像生成装置。
【請求項８】
請求項１から請求項５までのいずれか１項に記載の仮想視点画像生成方法をコンピュータに実行させるための仮想視点画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，カメラで撮影した被写体の画像を用いて，そのカメラとは異なる位置や向き（仮想視点）からその被写体を見たときの画像（仮想視点画像）を生成する仮想視点画像生成方法およびその装置と，その仮想視点画像生成方法の実現に用いられる仮想視点画像生成プログラムとに関する。
【背景技術】
【０００２】
コンピュータグラフィックス（ＣＧ）やバーチャルリアリティ（ＶＲ）の分野では，カメラで撮影した画像に写っている物体（被写体）について，それらのカメラとは異なる位置や向きからその被写体を見たときの画像を生成する技術が盛んに研究されている。
【０００３】
以下では，生成する画像の位置や向きを仮想視点と称し，生成される画像を仮想視点画像と称する。この概念図を図６に示す。
【０００４】
仮想視点画像を生成する方法には，大きく分けて幾何ベースと画像ベースの２種類がある。
【０００５】
典型的な幾何ベースの仮想視点画像生成法では，多視点画像と呼ばれる複数台のカメラにより撮影した画像から，ポリゴンやボクセルを用いて表現される被写体の幾何学的な三次元モデルを取得した後に，その三次元モデルに仮想視点のカメラに対応した射影変換を施すことで仮想視点画像を生成する（例えば非特許文献１参照）。
【０００６】
この三次元モデルを取得して仮想視点画像を生成する方法は，三次元モデルから任意の仮想視点画像を生成する処理が非常に軽量であるという利点を持つが，その三次元モデルを高精度に取得するのが実環境では非常に困難であるという問題をもつ。また，１つの三次元モデルに変換されてしまうことで，多視点画像によって取得されていた視点による見え方の違いが失われ，生成される画像の品質が悪いという問題を持つ。
【０００７】
一方，画像ベースの仮想視点画像生成法は，イメージベースドレンダリングと呼ばれ，多視点画像をもとにして，明示的には被写体のモデルを求めずに，２次元画像処理を用いて仮想視点画像を生成する（例えば非特許文献２参照）。
【０００８】
理論的に述べれば，画像ベースの仮想視点画像生成法では，カメラを実空間における光線情報をサンプリングする装置であると考え，多視点画像として離散的に得られた光線情報から被写体の存在する空間の光線空間を構築し，その光線空間を仮想視点のカメラでサンプリングを行うことで仮想視点画像を生成する。
【０００９】
画像ベースの仮想視点画像生成法を用いることで，きわめて高品質な画像を生成することができるのだが，要求される多視点画像の視点位置の密度が高く，非常に多くのカメラを用意する必要があるだけでなく，膨大なデータを処理する必要がある。この膨大なデータは処理時間だけでなく蓄積・伝送にも影響するため，リアルタイム処理・オフライン処理に関わらず大きな問題となる。
【００１０】
そこで，被写体の三次元モデルではなく，多視点画像と多視点画像の各画素におけるカメラから被写体までの距離という簡易な幾何情報とを用いて仮想視点画像を生成する方法が提案されている（例えば非特許文献３参照）。
【００１１】
具体的には，およそ被写体のある位置に多層平面を想定し，そこに上記距離情報を用いて，多視点画像の各画素にサンプリングされた光線情報を適切にマッピングした後，その多層平面から仮想視点のカメラによってサンプリングされる光線情報を推定することで仮想視点画像を生成する。
【００１２】
この手法では，距離情報によって光源（被写体の位置）を知ることができるため，画像ベースの手法のように多数のカメラが必要となることがなく，また，多視点画像によってサンプリングされた情報を１つのモデルにまとめてしまうのではなくて，それぞれを特定の位置と向きから発せられた光線情報として取り扱うため，生成される仮想視点画像の品質が極端に悪いこともない。また，仮想視点のカメラによる多層平面における光線情報のサンプリング処理は，幾何ベースの手法と同様に，単純なレンダリング処理で実現可能なため，非常に高速に仮想視点画像を生成することができる。
【００１３】
一方，この手法では，多視点画像の１つの画素でサンプリングされた光線情報が被写体上のある点から生じていると仮定している。
【００１４】
しかしながら，現実のカメラでは，１つの画素には実空間上のある領域を通過する光線が取得されている。そのため，被写体の境界部分では，異なる被写体から生じた複数の光線が１つの画素でサンプリングされている場合がある。
【００１５】
各画素でサンプリングされた光線は１つの距離を用いて多層平面上にマッピングされるため，この混ざり合った光線に対して，前景の被写体の距離を用いてマッピングを行えば，混ざりあった光線のうち背景の被写体の光線が誤った位置にマッピングされることになり，逆に，背景の被写体の距離を用いてマッピングを行えば，混ざりあった光線のうち前景の被写体の光線が誤った位置にマッピングされることになる。
【００１６】
このズレは生成される仮想視点画像にゴーストのようなノイズを発生させ，仮想視点画像の主観品質を著しく低下させてしまう。
【００１７】
この問題を解決するために，下記の非特許文献４では，１つの画素でサンプリングされた光線に対して前景と背景の距離と光線とを求めて分離して，別々に多層平面にマッピングする方法が取られている。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】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.
【非特許文献２】Marc Levoy and Pat Hanrahan:“Light Field Rendering," In Proc. SIGGRAPH, 1996, pp.34-41.
【非特許文献３】國田豊ほか, “多眼カメラを用いた任意視点人物像の実時間生成システム, ”電子情報通信学会誌, Vol.J84-DII, No.1, 2001, pp.129-138.
【非特許文献４】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.
【発明の概要】
【発明が解決しようとする課題】
【００１９】
非特許文献４のように，１つの画素における光線情報を前景と背景に分離して，それぞれを適切な距離を用いて多層平面にマッピングし，その多層平面から仮想視点のカメラによってサンプリングされる光線情報を推定することで，主観品質の高い仮想視点画像を生成することができる。
【００２０】
しかしながら，このような手法では，多視点画像によってサンプリングされた光線情報を最も適切に表すような前景と背景の光線を求めなければならないため，非常に多くの計算が必要になってしまうという問題があった。
【００２１】
本発明はかかる事情に鑑みてなされたものであって，カメラで撮影した画像に写っている被写体を，そのカメラの視点とは異なる仮想視点から見たときの仮想視点画像を生成する場合に，主観品質が高い仮想視点画像を少ない演算量で生成することを可能にする新たな仮想視点画像生成技術の提供を目的とする。
【課題を解決するための手段】
【００２２】
［１］第１の発明
［１−１］第１の発明の構成
本発明の第１の発明は，ある被写体を撮影した画像であるところの被写体画像と，その被写体画像を撮影したカメラからその被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて，あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成する仮想視点画像生成方法であって，（イ）被写体画像と距離情報とから，被写体画像に対して被写体の境界領域を設定する境界領域設定ステップと，（ロ）境界領域における距離情報を補正する距離情報補正ステップと，（ハ）被写体画像上の座標と仮想視点画像上の座標との対応関係を，距離情報補正ステップで補正した距離情報を用いて決定する対応関係決定ステップと，（ニ）対応関係決定ステップで決定した対応関係を用いて，被写体画像補正ステップで補正した被写体画像から仮想視点画像を生成する仮想視点画像生成ステップとを備えることを特徴とする。
なお，距離情報補正ステップでは，例えば，境界領域において距離情報のエッジ位置と被写体画像のエッジ位置とが整数画素単位で一致していない場合に，そのエッジが一致するように距離情報を補正する。
【００２３】
ここで，第１の発明を実現する本発明の仮想視点画像生成装置は，ある被写体を撮影した画像であるところの被写体画像と，その被写体画像を撮影したカメラからその被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて，あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成するために，（イ）被写体画像と距離情報とから，被写体画像に対して被写体の境界領域を設定する境界領域設定手段と，（ロ）境界領域における距離情報を補正する距離情報補正手段と，（ハ）被写体画像上の座標と仮想視点画像上の座標との対応関係を，距離情報補正手段の補正した距離情報を用いて決定する対応関係決定手段と，（ニ）対応関係決定手段の決定した対応関係を用いて，被写体画像補正手段の補正した被写体画像から仮想視点画像を生成する仮想視点画像生成手段とを備える。
なお，距離情報補正手段は，例えば，境界領域において距離情報のエッジ位置と被写体画像のエッジ位置とが整数画素単位で一致していない場合に，そのエッジが一致するように距離情報を補正する。
【００２４】
［１−２］第１の発明について
本発明の第１の発明では，カメラからの距離の異なる複数の被写体の光線情報が混合されている境界領域を判定し，その領域でのみサンプリングされた光線情報を距離情報に応じた被写体の光線に補正して仮想視点画像を生成する。
【００２５】
これによって，複数の被写体からの光線情報が混ざり合った光線の影響を少なくすることができ，高品質な仮想視点画像を生成することができる。また，本手法は新たに境界領域と呼ぶ情報を設定し，その領域でのみ光線を補正する処理だけを行うため，サンプリングされた光線情報を最も適切に表すような前景と背景の光線を求める計算のような膨大な演算を必要としない。
【００２６】
［２］第２の発明
［２−１］第２の発明の構成
本発明の第２の発明は，第１の発明に加えて，（イ）対応関係決定ステップで決定した対応関係を用いて，被写体画像の境界領域の情報から仮想視点境界領域（仮想視点画像における被写体の境界領域）を設定する仮想視点境界領域設定ステップと，（ロ）仮想視点境界領域設定ステップで設定した仮想視点境界領域によって境界領域とされる仮想視点画像生成ステップで生成した仮想視点画像上の各画素の画素値を，周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを特徴とする。
【００２７】
［２−２］第２の発明について
本発明の第２の発明によると，仮想視点画像における境界領域を被写体画像の境界領域から生成した仮想視点境界領域を用いて判定し，その領域内の画素の画素値を，別の被写体が写っていると考えられる周辺の画素の画素値を用いて補正することで，前景の被写体が背景から分離しているような違和感を低減し，主観品質の高い仮想視点画像を生成することができるようになる。
【００２８】
［３］第３の発明
［３−１］第３の発明の構成
本発明の第３の発明は，第１の発明に加えて，（イ）距離情報補正ステップで補正した距離情報から，仮想視点画像生成ステップで生成した仮想視点画像の距離情報であるところの仮想視点距離情報を生成する仮想視点距離情報生成ステップと，（ロ）仮想視点距離情報生成ステップで生成した仮想視点距離情報と仮想視点画像生成ステップで生成した仮想視点画像とから，仮想視点画像生成ステップで生成した仮想視点画像に対して被写体の境界領域であるところの仮想視点境界領域を設定する仮想視点境界領域設定ステップと，（ハ）仮想視点境界領域設定ステップで設定した仮想視点境界領域によって境界領域とされる仮想視点画像生成ステップで生成した仮想視点画像上の各画素の画素値を，周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを特徴とする。
【００２９】
［３−２］第３の発明について
本発明の第３の発明によると，仮想視点画像における境界領域を仮想視点距離情報（被写体画像の距離情報から生成される）から生成した仮想視点境界領域を用いて判定し，その領域内の画素の画素値を，別の被写体が写っていると考えられる周辺の画素の画素値を用いて補正することで，前景の被写体が背景から分離しているような違和感を低減し，主観品質の高い仮想視点画像を生成することができるようになる。
【００３０】
［４］第４の発明
［４−１］第４の発明の構成
本発明の第４の発明は，第１〜第３の発明に加えて，境界領域における被写体画像を補正する被写体画像補正ステップとを備えることを特徴とする。
【００３１】
［４−２］第４の発明について
本発明の第４の発明によると，被写体画像に対して設定した被写体の境界領域における被写体画像を補正するので，仮想視点画像の生成に用いる被写体画像を事前に良好なものにすることができるようになる。
【００３２】
［５］第１の関連発明
［５−１］第１の関連発明の構成
上記の目的を達成するために，本発明の第１の関連発明は，視点の異なる複数のカメラからある被写体を撮影した画像群であるところの多視点画像と，その多視点画像を撮影したカメラから被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて，あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成する仮想視点画像生成方法であって，（イ）多視点画像と距離情報とから，多視点画像の各被写体画像に対して被写体の境界領域を設定する境界領域設定ステップと，（ロ）多視点画像の各被写体画像上の座標と仮想視点画像上の座標との対応関係を，距離情報を用いて決定する対応関係決定ステップと，（ハ）多視点画像の各被写体画像に対して，対応関係決定ステップで決定した対応関係を用いて，被写体画像から合成被写体画像（仮想視点画像の合成元となる画像）を生成する合成画像生成ステップと，（ニ）多視点画像の各被写体画像に対して，対応関係決定ステップで決定した対応関係を用いて，被写体画像の境界領域の情報から合成境界領域（合成被写体画像における被写体の境界領域）を設定する合成境界領域設定ステップと，（ホ）複数生成された合成被写体画像を，対応する合成境界領域の情報に従って重み付け加算するか，対応する合成境界領域の情報と仮想視点の情報とに従って重み付け加算して，仮想視点画像を生成する仮想視点画像生成ステップとを備えることを特徴とする。
【００３３】
ここで，第１の関連発明を実現する本発明の仮想視点画像生成装置は，視点の異なる複数のカメラからある被写体を撮影した画像群であるところの多視点画像と，その多視点画像を撮影したカメラから被写体画像の各画素に写っている被写体上のある点までの距離情報とを用いて，あらかじめ指定した仮想視点から見た被写体の画像であるところの仮想視点画像を生成するために，（イ）多視点画像と距離情報とから，多視点画像の各被写体画像に対して被写体の境界領域を設定する境界領域設定手段と，（ロ）多視点画像の各被写体画像上の座標と仮想視点画像上の座標との対応関係を，距離情報を用いて決定する対応関係決定手段と，（ハ）多視点画像の各被写体画像に対して，対応関係決定手段の決定した対応関係を用いて，被写体画像から合成被写体画像（仮想視点画像の合成元となる画像）を生成する合成画像生成手段と，（ニ）多視点画像の各被写体画像に対して，対応関係決定手段の決定した対応関係を用いて，被写体画像の境界領域の情報から合成境界領域（合成被写体画像における被写体の境界領域）を設定する合成境界領域設定手段と，（ホ）複数の合成被写体画像を，対応する合成境界領域の情報に従って重み付け加算するか，対応する合成境界領域の情報と仮想視点の情報とに従って重み付け加算して，仮想視点画像を生成する仮想視点画像生成手段とを備える。
【００３４】
［５−２］第１の関連発明について
本発明の第１の関連発明では，カメラからの距離の異なる複数の被写体の光線情報が混合されている境界領域を判定し，重み付け加算時にのみ，多視点画像によってサンプリングされた光線のうち，その境界領域でサンプリングされた光線を，それ以外の領域でサンプリングされた光線よりも強度の低い光線として扱って仮想視点画像を生成する。
【００３５】
これによって，複数の被写体からの光線情報が混ざり合った光線の影響を少なくすることができ，高品質な仮想視点画像を生成することができる。また，本手法では，仮想視点における光線を求める処理が，境界領域でサンプリングされた光線であるか否かに従って合成時の比率を変更するだけで行えるため，従来手法のようにサンプリングされた光線を最も適切に表すような前景と背景の光線に分離して，そこから仮想視点画像における光線を合成する処理のような膨大な演算を必要としない。
【００３６】
なお，境界領域の判定にはどのような方法を用いても構わない。最も単純な例として，距離情報が急激に変化する部分を境界領域と判定することができる。また，距離情報だけでなく，多視点画像におけるエッジ情報を用いて判定することもできる。
【００３７】
［６］第２の関連発明
［６−１］第２の関連発明の構成
本発明の第２の関連発明は，第１の関連発明と同様に，仮想視点画像生成ステップにおいて，多視点画像の境界領域の画像をその他の領域の画像と区別して重み付け加算を行うのだが，生成される仮想視点画像の各画素において，合成境界領域ではない合成被写体画像が１つでも存在する場合は，それらの合成被写体画像のみを用いて重み付け加算することを特徴とする。
【００３８】
［６−２］第２の関連発明について
すなわち，本発明の第２の関連発明では，境界領域における光線の強度を弱くするのではなくて，信頼度の低い光線として取り扱う。そして，仮想視点のある画素における光線を求める際に，境界領域以外の領域でサンプリングされた光線，つまり信頼度の低くない光線が１つでも存在するならば，その光線のみを用いて仮想視点の光線を求める。
【００３９】
多視点画像は複数の位置と向きから被写体を撮影した画像群であるため，背景の被写体において境界領域となる実空間上の領域は，サンプリングされた被写体画像ごとに異なる。そのため，ある点において境界領域と判定された光線とそうではない光線がサンプリングされていることになる。そのような場所では，複数の被写体の光線が混合した境界領域と判定された光線は使用せずに仮想視点における光線を求めることで，品質の高い仮想視点画像を生成することができる。
【００４０】
［７］第３の関連発明
［７−１］第３の関連発明の構成
本発明の第３の関連発明は，第１の関連発明や第２の関連発明に加えて，境界領域における被写体画像を補正する多視点画像補正ステップを備え，合成画像生成ステップにおいて，多視点画像補正ステップで補正した被写体画像を用いて合成被写体画像を生成することを特徴とする。
【００４１】
［７−２］第３の関連発明について
境界領域においてサンプリングされた光線もまた，与えられた１つの距離情報を用いて，三次元空間上の光線にマッピングされる。このとき，使用する距離情報が前景の被写体に対応するものであれば，サンプリングされた光線から背景の被写体に依存する光線の影響を取り除いたほうが仮想視点画像を生成する際により正確な光線を使用したことになる。また，使用する距離情報が背景の被写体に対応するものであれば，サンプリングされた光線から前景の被写体に依存する光線の影響を取り除いたほうが仮想視点画像を生成する際により正確な光線を使用したことになる。
【００４２】
そのため，本発明の第３の関連発明では，境界領域において，その距離情報に応じて適切にサンプリングされた光線に補正を加えるようにしており，これにより，より高品質な仮想視点画像を生成することができる。
【００４３】
本発明の第３の関連発明の方法では，光線に被写体に応じた処理を加える領域を境界領域だけに限るため，莫大な演算量を必要とすることはない。また，前景の被写体と背景の被写体の光線を分離するのではなく，距離情報に応じた被写体の光線に近くなるように補正するだけであるため，それぞれを推定して分離するほどの演算も必要としない。
【００４４】
［８］第４の関連発明
［８−１］第４の関連発明の構成
本発明の第４の関連発明は，第１の関連発明や第２の関連発明や第３の関連発明に加えて，境界領域における距離情報を補正する距離情報補正ステップを備え，対応関係設定ステップにおいて，距離情報補正ステップで補正した距離情報を用いて対応関係を決定することを特徴とする。
【００４５】
［８−２］第４の関連発明について
距離情報を求める方法には，多視点画像を用いて推定する方法と，特殊な装置を使用して求める方法とがある。どちらの方法を利用したとしてもノイズが含まれる。例えば，周囲の距離とはあまりにも異なる距離が与えられている場合がある。
【００４６】
本発明の第４の関連発明では，このようなノイズを除去することで，サンプリングされた光線を適切な三次元空間上の光線にマッピングすることが可能となり，より品質の高い仮想視点画像を生成することができる。
【００４７】
一方，上述のようなインパルス雑音を除去するために，距離情報に対してあらかじめスムージングを施す場合がある。また，多視点画像から距離情報を推定する際には，実空間における被写体の連続性を加味して，隣接領域で距離が大きく変化しないような処理が加えられる場合もある。このような場合，本来は境界領域になるはずの領域で，誤った距離情報になってしまってしまい，生成される仮想視点画像に歪みを生じさせてしまう。
【００４８】
本発明の第４の関連発明では，このような領域でエッジを先鋭化させる処理を行ったり，多視点画像から求められるエッジと距離画像のエッジとを一致させるような処理を行ったりすることで，背景と前景の被写体がつながっているような三次元空間上の光線にマッピングされることなく，より高品質な仮想視点画像を生成することができる。
【００４９】
［９］第５の関連発明
［９−１］第５の関連発明の構成
本発明の第５の関連発明は，第１の関連発明や第２の関連発明や第３の関連発明や第４の関連発明に加えて，（イ）多視点画像の距離情報から，仮想視点画像の距離情報であるところの仮想視点距離情報を生成する仮想視点距離情報生成ステップと，（ロ）仮想視点距離情報と仮想視点画像とから，仮想視点画像に対して被写体の境界領域であるところの仮想視点境界領域を設定する仮想視点境界領域設定ステップと，（ハ）仮想視点画像の仮想視点境界領域における各画素の画素値を，周辺の画素の情報に従って変更する仮想視点画像補正ステップとを備えることを特徴とする。
【００５０】
［９−２］第５の関連発明について
多視点画像の境界領域においてサンプリングされた光線には，複数の被写体の光線が混合されていることは既に述べた。そのため，生成される仮想視点画像においても，境界領域では前景の被写体の光線と背景の被写体の光線が混合されているほうが自然である。実際に，境界領域の前景の被写体に近い部分において，背景の被写体の光線が混合されていない場合，前景の被写体が浮いているような感じに見える。これは風景を撮影した写真に人の写真を切り抜いたものを張り合わせたとしても，違和感のある画像になることからも分かる。
【００５１】
本発明の第５の関連発明によると，仮想視点画像に対して境界領域を求め，その領域内の画素の画素値を，別の被写体が写っていると考えられる周辺の画素の画素値を用いて補正することで，上述のような違和感を低減し，主観品質の高い仮想視点画像を生成することができるようになる。
【発明の効果】
【００５２】
本発明によれば，仮想視点画像を生成するときに，被写体の境界領域において取得された光線情報を，強度の弱い光線や信頼度の低い光線として扱うことで，主観品質の高い仮想視点画像を少ない演算量で生成することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の仮想視点画像生成装置の装置構成図である。
【図２】本発明の仮想視点画像生成装置の実行するフローチャートである。
【図３】境界領域情報の生成処理のフローチャートである。
【図４】本発明の仮想視点画像生成装置の実行するフローチャートである。
【図５】本発明の仮想視点画像生成装置の実行するフローチャートである。
【図６】仮想視点を説明する図である。
【発明を実施するための形態】
【００５４】
以下，実施の形態に従って本発明を詳細に説明する。
【００５５】
ここで，以下に説明する実施形態例では，Ｎ個のカメラで撮影された多視点画像と，その多視点画像の各画像に対して求められるその画像を撮影したカメラから各画素に写っている被写体上の点までの距離情報（画素ごとに定義される）とから，指定された仮想視点から被写体を見た場合の仮想視点画像を生成する方法について説明を行う。
【００５６】
なお，距離情報は多視点画像を用いて推定したものを入力しても構わないし，特別な装置を用いて計測したものを入力しても構わない。ただし，使用する多視点画像のカメラパラメータの座標系定義と合致したものでなければならない。
【００５７】
［１］第１の実施形態例
図１に，本発明の仮想視点画像生成装置１００の一実施形態例を図示する。
【００５８】
この図に示すように，本実施形態例の仮想視点画像生成装置１００は，仮想視点入力部１０１と，画像入力部１０２と，距離情報入力部１０３と，入力情報解析部１０４と，対応関係設定部１０５と，合成画像生成部１０６と，合成画像メモリ１０７と，合成境界領域設定部１０８と，合成境界領域メモリ１０９と，仮想視点画像生成部１１０と，仮想視点距離情報生成部１１１と，仮想視点境界領域設定部１１２と，仮想視点画像補正部１１３と，仮想視点画像出力部１１４とを備える。
【００５９】
この仮想視点入力部１０１は，生成する仮想視点の情報を入力する。画像入力部１０２は，多視点画像を入力する。距離情報入力部１０３は，多視点画像の各画素における距離情報（カメラから多視点画像の各画素に写っている被写体上の点までの距離情報）を入力する。
【００６０】
入力情報解析部１０４は，入力された多視点画像と距離情報とを解析して入力情報の補正を行い，それらを用いて境界領域（被写体の境界領域）を設定する。対応関係設定部１０５は，多視点画像の各画像と仮想視点画像との対応関係（画素と画素との対応関係）を設定する。
【００６１】
合成画像生成部１０６は，対応関係設定部１０５の求めた対応関係に従って，多視点画像の各画像を用いて仮想視点画像の合成元となる合成画像を生成する。合成画像メモリ１０７は，合成画像生成部１０６の生成した合成画像群を蓄積する。
【００６２】
合成境界領域設定部１０８は，対応関係設定部１０５の求めた対応関係に従って，多視点画像の各画像に対して設定された境界領域を用いて，その境界領域が仮想視点画像上で現れる位置を示す合成境界領域（合成画像上の境界領域）を求める。合成境界領域メモリ１０９は，合成境界領域設定部１０８の求めた合成境界領域の情報を蓄積する。
【００６３】
仮想視点画像生成部１１０は，合成画像生成部１０６の生成した合成画像群から仮想視点画像を生成する。仮想視点距離情報生成部１１１は，仮想視点画像に対する距離情報（仮想視点のカメラから仮想視点画像の各画素に写っている被写体上の点までの距離情報）を生成する。仮想視点境界領域設定部１１２は，仮想視点画像における被写体の境界領域を求める。仮想視点画像補正部１１３は，仮想視点画像を補正する。仮想視点画像出力部１１４は，仮想視点画像補正部１１３により最終的に生成された仮想視点画像を出力する。
【００６４】
図２に，このように構成される本実施形態例の仮想視点画像生成装置１００の実行するフローチャートを図示する。ここで，このフローチャートは，本実施形態例の仮想視点画像生成装置１００によってカメラ同期して撮影された多視点画像から指定された仮想視点における画像を生成する際の処理を示している。
【００６５】
以下では，このフローチャートに従って，本実施形態例の仮想視点画像生成装置１００の実行する処理について詳細に説明する。なお，多視点画像を撮影した各カメラのカメラパラメータが与えられているものとする。
【００６６】
［ステップＡ１〜ステップＡ１１の処理の概要］
まず，仮想視点入力部１０１にて，仮想視点の情報を入力する［ステップＡ１］。ここでは，仮想視点として，カメラの内部パラメータＡと外部パラメータＲ，ｔとが指定されるものとする。
【００６７】
なお，撮影を行った多視点画像のカメラに対する相対的な位置関係等で指定しても構わない。その場合には，指定された相対的な関係と多視点画像のカメラのカメラパラメータとから，仮想視点におけるカメラの内部パラメータＡと外部パラメータＲ，ｔとを計算する。
【００６８】
次に，本実施形態例では，多視点画像を構成する各画像に対して，合成画像・合成境界領域を生成する処理を繰り返す。
【００６９】
本実施形態例では，多視点画像を構成する各画像を示すインデックスをＶiew ，多視点画像を構成する画像の数を numＶiewsと表す。従って，Ｖiew を０に初期化した後［ステップＡ２］，Ｖiew に１を加算しながら［ステップＡ１０］，Ｖiew が numＶiewsになるまで［ステップＡ１１］，以下の処理［ステップＡ３〜ステップＡ９］を繰り返すことで，多視点画像を構成する各画像に対して，合成画像・合成境界領域を生成する。
【００７０】
なお，以下では，混同を生じないので，インデックスＶiew の指す多視点画像を撮影したカメラをＶiew で表すことがある。また，記載の便宜上，式中ではＶiew をviewと記載することがある。
【００７１】
［ステップＡ３，ステップＡ４の処理］
多視点画像を構成する画像ごとに繰り返す処理［ステップＡ３〜ステップＡ９］では，まず，画像入力部１０２にて，Ｖiew に対応する画像を入力する［ステップＡ３］。以下では，入力画像をＯＲＧview［・］と表す。また，画像に対して記号［］で挟まれた位置情報を付加することで，特定の領域の画像信号を表す。
【００７２】
続いて，距離情報入力部１０３にて，Ｖiew の画像に対応する距離情報を入力する［ステップＡ４］。以下では，距離情報をＤview［・］と表す。また，距離情報に対して記号［］で挟まれた位置情報を付加することで，対応する画像の特定の領域の距離情報を表す。
【００７３】
［ステップＡ５の処理］
続いて，入力情報解析部１０４にて，入力された画像及び距離情報を解析及び補正する。
【００７４】
入力情報解析部１０４では，まず，入力された距離情報を使って，オブジェクトの境界領域を設定してその境界領域情報を生成する［ステップＡ５］。以下では，境界領域情報をＢＯＵＮＤview［・］と表す。また，境界領域情報に対して記号［］で挟まれた位置情報を付加することで，画像の特定の領域の境界領域情報を表す。なお，境界領域情報を設定する処理の詳細については後で詳しく述べる。
【００７５】
境界領域情報はどのように表しても構わないが，ここでは，位置ｐにある画素が被写体の境界領域でなければＢＯＵＮＤview［ｐ］≠０，境界領域であればＢＯＵＮＤview［ｐ］＝０となるような境界領域情報とする。また，境界領域でない場合，どの程度境界から離れているかを示すような情報を含んでも構わない。例えば，隣接画素との連続性がないと判断された画素では０，全ての隣接画素と連続性があると判断された画素では隣接画素のもつ境界領域情報の最小値に１を加えた値を境界領域情報とする。なお，この場合においても，全ての画素において境界からの距離を示す必要はなく，境界領域情報の最大値ＭaxＤistance を定めて，一定の範囲の画素についてだけ距離を表すものとしても構わない。
【００７６】
本実施形態例では，このようなどの程度境界から離れているかを示すような情報を含む境界領域情報を生成するものとし，その値の最大値を３とする。
【００７７】
［ステップＡ６の処理］
入力情報解析部１０４では，境界領域情報を設定した後，境界領域において入力された画像及び距離情報を補正する［ステップＡ６］。
【００７８】
このステップＡ６で実行する距離情報の補正では，境界領域において誤って平滑化されている距離情報や画像と一致しないような距離情報等を修正する。ここでは，境界領域において距離情報のエッジ位置と画像のエッジ位置とが整数画素単位で一致していない場合，そのエッジが一致するように距離情報を書き換える処理を施すものとする。
【００７９】
また，このステップＡ６で実行する画像の補正では，境界領域において有限かつ離散的な画素で光線をサンプリングした結果生じてしまっている，複数のオブジェクトの光線が混合されてしまっている状態を補正する。ここでは，周囲の画素において対象画素に近い距離情報を持つ画素の画像情報で，対象画素の画像情報を書き換える処理を施す。
【００８０】
ここで，周辺の画素のうち対象画素のもつ距離情報と近い距離情報を持つ画素の画像情報からではなくて，距離情報と画像情報とから領域分割を行い，同じ領域に属すると判定された画素の画像情報で対象画素の画像情報を書き換える処理を行っても良い。
【００８１】
さらに，単純に周辺画素の画像情報の平均値で書き換えるのではなくて，対象画素からの距離や画素の持つ距離情報などを使って重み計算し，その重みを用いて周辺画素の画像情報を重み付け加算して計算した値を用いて対象画素の画像情報を書き換えても構わない。重みの計算式の例として下記の式（１）〜式（４）のようなものが挙げられる。
【００８２】
【数１】
0005373931.tif 000002
【００８３】
これらの数式において，ｐが対象画素の位置を表し，ｐi が重みの計算対象の画素位置を表す。また，ｅｘｐ（）はネイピア数の指数乗を返す関数である。また，‖‖はノルムを表す。ここで，σI とσD はコントロールパラメータであり，どのような数値を使っても構わないが，画像の統計的性質に依存した値を設定することで，より高品質な画像情報生成が可能になる。なお，これらの重みを用いる場合，加算対象となっている画素の数や位置などによって重みの合計値が１にならないため，正規化して用いる必要がある。
【００８４】
［ステップＡ７の処理］
入力情報解析部１０４により境界領域における入力画像及び距離情報が補正されると，続いて，対応関係設定部１０５にて，カメラパラメータと距離情報とを用いて，仮想視点画像の画素に対する入力画像（インデックスＶiew の指す多視点画像）の画素の対応関係を計算する［ステップＡ７］。
【００８５】
ここでの処理についてはカメラパラメータによって数式に違いが生じるため概念的に説明すると，まず，入力画像に対するカメラパラメータを用いて入力画像の各画素を三次元空間に逆射影する。この際に距離情報を用いることで，カメラ焦点と逆射影対象の画素とを結ぶ直線状で，その画素の対応する点を求めることができる。そして，三次元上の点が計算できたら，その点を仮想視点画像に対するカメラパラメータを用いて画像平面へ再投影することで，仮想視点画像上の座標値を計算でき，これにより，入力画像の画素と仮想視点画像の画素との対応関係が得られる。
【００８６】
具体的には，画像座標ｍと世界座標Ｍとの対応関係が下記の式（５）で得られるカメラパラメータ表現を用いている場合には，下記の式（６）を用いて対応関係を計算することができる。なお，チルダ記号は任意スカラ倍を許した斉次座標を表す。
【００８７】
【数２】
0005373931.tif 000003
【００８８】
ここで，Ａ，Ｒ，ｔはそれぞれカメラの内部パラメータ行列，回転行列，並進ベクトルを表す。また，添え字はそのパラメータがどのカメラの情報であるかを示しており，Ｎew（記載の便宜上，式中ではＮewをnew と記載することがある）は仮想視点カメラを表す。また，ＡとＲは３×３の行列であり，ｔは三次元ベクトルである。また，（ｕ，ｖ）は仮想視点画像上の位置を表し，（ｘ，ｙ）は入力画像上の位置を表す。
【００８９】
また，Ｄview［ｘ，ｙ］は，カメラＶiew （入力画像を撮影したカメラ）から入力画像の各画素に写っている被写体上の点までの距離情報を表し，Ｄnew,view［ｕ，ｖ］は，仮想視点カメラＮewから仮想視点画像の各画素に写っている被写体上の点までの距離情報を表す。なお，Ｄnew,view［ｕ，ｖ］において，添え字viewを記載しているのは，どの入力画像から求められた距離情報であるのかを示すためである。
【００９０】
この変換では，入力画像の複数画素が仮想視点画像の１画素に対応付けられるため，有効な距離情報の得られない画素が大量に発生する場合がある。しかしながら，オクルージョン領域以外においては，距離情報が得られないことはない。そこで，入力画像における画素間の連続性を考慮して，仮想視点画像の画素に対応点を求めても構わない。
【００９１】
連続性を考慮して変換する方法としては，例えば，入力画像上で隣接する画素に対して，距離情報の違いがある一定範囲内であれば被写体が実空間で連続していると仮定して，仮想視点画像上での対応画素を求めた後に，求まった仮想視点上の画素の間を入力画像上の小数画素位置を用いて補間する方法がある。そのほかには，三次元点を生成した後に連続性からポリゴンモデルを構築し，その立体モデルを再投影することで仮想視点画像の画素に対して入力画像上の対応画素を求めても構わない。
【００９２】
なお，上記の式（６）の説明ではオクルージョンを考慮していないが，入力画像の複数の画素が仮想視点画像の同一の画素に対応する場合，得られた距離情報の値から，仮想視点のカメラに近い画素との対応関係が正しい対応関係であるとする処理が必要である。逆に，仮想視点画像の画素に対して入力画像上では対応点が求まらないものが存在するが，そのような画素に対しては対応画素なしとして区別する必要がある。
【００９３】
上記の式（６）から分かるとおり，ここでの処理では，入力画像と仮想視点画像との対応関係（（ｘ，ｙ）と（ｕ，ｖ）との対応関係）のほかに，入力視点Ｖiew （入力画像を撮影したカメラＶiew の視点）の画像から推定される仮想視点における距離情報Ｄnew,view［ｕ，ｖ］を同時に計算することになるが，この値は仮想視点の距離情報を計算するために利用するため仮想視点距離情報生成部１１１に送られる。
【００９４】
［ステップＡ８の処理］
対応関係設定部１０５にて入力画像と仮想視点画像との対応関係が計算されると，続いて，合成画像生成部１０６にて，入力画像とその対応関係とから合成画像（仮想視点画像の合成元となる画像）を生成して，その生成した合成画像を合成画像メモリ１０７に格納する［ステップＡ８］。
【００９５】
ここでの処理は，仮想視点画像の各画素に対して，与えられた対応関係を用いて，入力画像の画素値をコピーすることで行われる。つまり，入力視点Ｖiew で観測された画像情報から推定される仮想視点における画像であるところの合成画像が生成される。対応画素が存在しない画素に関しては，画像情報なしという情報がコピーされるものとする。
【００９６】
なお，対応関係が小数画素単位で与えられた場合には，入力画像に対してフィルタ処理を行い，入力画像の小数画素位置の画像情報を生成しコピーを行うことで，最終的に得られる仮想視点画像はより高品質なものとなる。以下では，入力画像Ｖiew を用いて生成された合成画像をＳＹＮview［・］と表す。また，合成画像に対して記号［］で挟まれた位置情報を付加することで画像の特定の領域の合成画像の画素値を表す。
【００９７】
［ステップＡ９の処理］
続いて，合成境界領域設定部１０８にて，入力画像における境界領域が存在する合成画像上の合成境界領域を設定してその位置を表す合成境界領域情報を生成し，その生成した合成境界領域情報を合成境界領域メモリ１０９に格納する［ステップＡ９］。
【００９８】
ここでの処理は，仮想視点画像の各画素に対して，与えられた対応関係を用いて，入力画像の境界領域情報の値をコピーすることで行われる。つまり，入力視点Ｖiew で観測された境界領域が合成画像上で現れる位置の情報が生成される。ステップＡ８の処理とはコピーする値が異なるだけなので同時に行っても構わない。以下では，入力画像Ｖiew に対する境界領域情報を用いて生成された合成境界領域情報をＳＢＯＵＮＤview［・］と表す。また，合成境界領域情報に対して記号［］で挟まれた位置情報を付加することで画像の特定の領域の合成境界領域情報の値を表す。
【００９９】
［ステップＡ１〜ステップＡ１１の処理のまとめ］
このようにして，ステップＡ１〜ステップＡ１１の処理を実行することで，多視点画像を構成する画像ごとに繰り返す処理が終了したときには，合成画像メモリ１０７には， numＶiews個の仮想視点における合成画像が蓄積され，合成境界領域メモリ１０９には，それぞれの合成画像に対応する numＶiews個の合成境界領域情報が蓄積されている。
【０１００】
［ステップＡ１２〜ステップＡ１７の処理の概要］
続いて，これらの情報を用いて，仮想視点画像生成部１１０で仮想視点画像の生成が行われ，仮想視点距離情報生成部１１１で仮想視点距離情報の生成が行われる［ステップＡ１２〜ステップＡ１７］。
【０１０１】
仮想視点画像を生成する処理は，仮想視点画像の画素ごとに画素値を生成する処理を繰り返すことで行われ，仮想視点距離情報を生成する処理は，仮想視点画像の画素ごとに仮想視点距離情報を生成する処理を繰り返すことで行われる。つまり，仮想視点画像の各画素を示すインデックスをＰix，仮想視点画像を構成する画素の総数を numＰixs と表すと，Ｐixを０に初期化した後［ステップＡ１２］，Ｐixに１を加算しながら［ステップＡ１６］，Ｐixが numＰixs になるまで［ステップＡ１７］，次の処理［ステップＡ１３〜ステップＡ１５］を繰り返す。
【０１０２】
［ステップＡ１３の処理］
仮想視点画像の画素ごとに繰り返す処理［ステップＡ１３〜ステップＡ１５］では，まず，仮想視点画像生成部１１０にて，各合成画像に対して重みを決定する［ステップＡ１３］。
【０１０３】
本実施形態例では重みの決定において境界領域情報を用いる。様々な方法が考えられるが，例えば最も単純な方法としては，以下の式（７）で決定する方法がある。
【０１０４】
【数３】
0005373931.tif 000004
【０１０５】
ここで，Ｗviewが入力画像Ｖiew （インデックスＶiew の指す入力画像）を用いて生成された合成画像に対する重みを表す。
【０１０６】
この式（７）で決定される重みＷviewについて具体的に説明するならば，例えば，多視点画像が５つの画像で構成され，Ｐixの指す画素の持つＳＢＯＵＮＤview［Ｐix］がそれぞれ（０，０，０，０，０）である場合には， sum＿bound ＿info＝０となるので，すべての重みＷviewは等しい値となってＷview＝１／５となる。一方，例えば，Ｐixの指す画素の持つＳＢＯＵＮＤview［Ｐix］がそれぞれ（０，０，１，２，３）である場合には， sum＿bound ＿info＝６となるので，５つの重みＷviewはそれぞれＷview＝０，０，１／６，２／６，３／６となる。
【０１０７】
なお，上記の式（７）では，仮想視点画像において入力画像Ｖiew における対応点が存在しない場合は考慮していない。対応点が存在するか否かについては，ステップＡ８の合成画像生成時やステップＡ９の合成境界領域情報生成時に，対応点が存在しない領域には有効な値が割り当てられないことになるため把握することが可能である。Ｐixにおいてそのような合成境界領域情報が存在する場合は，上記の sum＿bound ＿infoを計算する際の和の計算から該当する合成境界領域情報を除外し，Ｗview＝０とする。
【０１０８】
上記の式（７）は，境界領域に属していた画素しかなかった場合には，全ての入力画像を平等に扱うが，そうでない場合には，境界領域に属していた入力画像からの情報は除外し，境界領域からの距離に応じて重みを設定することを意味する。なお，あくまでも上記の式（７）は一例であり，境界領域に属していた入力画像からの情報を無視するのではなくて，境界領域に属していない入力画像に対する重みよりも小さな重みを設定しても構わない。
【０１０９】
また，仮想視点とその合成画像の元となった入力画像の視点との類似度を考慮した重み付けの項を追加しても構わない。つまり，視点間の距離や向きが仮想視点と近い視点に対する重みを大きくしても構わない。この類似度を考慮する場合には，上記の式（７）を次の式（８）ように変形することが可能である。
【０１１０】
【数４】
0005373931.tif 000005
【０１１１】
ここで，α，βはコントロールパラメータ変数であり，Ｓは与えられた２つの視点間の類似度を返す関数，Ｎewは生成対象の仮想視点を表す。
【０１１２】
また，本実施形態例では合成画像に対する距離情報を考慮していないが，上述したステップＡ７の式（６）で生成されるＤnew,view［ｕ，ｖ］が合成画像に対する距離情報を表すため，ステップＡ７の処理の際にこの値を蓄積しておき，この値を用いて重み付けを行っても構わない。
【０１１３】
例えば，全Ｖiew に対するＤnew,view［Ｐix］の最小値（最も仮想視点カメラに近い値）をＭinＤとした場合に，ＭinＤとＤnew,view［Ｐix］との差がある閾値を超えるようであれば，そのＶiew に対する重みをゼロにするという方法がある。これは距離情報が前後関係を表すため，遮蔽物体が存在する場合には背景に位置するものは考慮しないという処理になる。
【０１１４】
［ステップＡ１４の処理］
このようにして重みの計算が終了したら，次に，仮想視点画像生成部１１０にて，Ｐixにおける仮想視点画像を生成する［ステップＡ１４］。
【０１１５】
ここでの処理は，ステップＡ１３で決定した重みＷviewを用いた単純な合成画像ＳＹＮview［Ｐix］の重み付け加算であり，次の式（９）で表される。
【０１１６】
【数５】
0005373931.tif 000006
【０１１７】
ここで，Ｇen［・］は仮想視点画像を表し，仮想視点画像に対して記号［］で挟まれた位置情報を付加することで仮想視点画像の特定の領域の画素値を表す。
【０１１８】
［ステップＡ１５の処理］
続いて，仮想視点距離情報生成部１１１にて，Ｐixにおける仮想視点距離情報を生成する［ステップＡ１５］。
【０１１９】
ここでの処理も，ステップＡ１３で決定した重みＷviewを用いた単純な距離情報Ｄnew,view［Ｐix］の重み付け加算であり，次の式（１０）で表される。
【０１２０】
【数６】
0005373931.tif 000007
【０１２１】
なお，このようにして入力された距離情報から仮想視点距離情報を生成する方法以外に，仮想視点画像の生成が終了した後（ステップＡ１７とステップＡ１８の間）で，入力画像とステレオマッチング法などの距離情報生成法を用いて，仮想視点距離情報を生成する方法を用いても構わない。ただし，その場合には膨大な演算が必要になる可能性がある。そのため，両者を組み合わせて，Ｄnew,view［Ｐix］の分散が大きな画素に対してのみステレオマッチング法で距離画像生成を行うハイブリッド手法を用いても構わない。
【０１２２】
［ステップＡ１８の処理］
このようにして，ステップＡ１２〜ステップＡ１７の処理を実行することで，仮想視点画像を構成する画素ごとに繰り返す処理が終了すると，続いて，仮想視点境界領域設定部１１２にて，ステップＡ１５で生成した仮想視点距離情報を用いて仮想視点境界領域を設定する［ステップＡ１８］。
【０１２３】
ここでの処理は，入力情報解析部１０４で行われる入力画像における境界領域を設定する処理（ステップＡ５の処理：距離情報を使って境界領域を設定する処理）と同じ処理を用いることが可能である。ステップＡ５の処理の詳細については後述するが，ステップＡ１８では，入力画像に対するインデックスＶiew を仮想視点Ｎewで読み替えることで，この処理を実行する。
【０１２４】
［ステップＡ１９の処理］
続いて，仮想視点画像補正部１１３にて，ステップＡ１８で生成した仮想視点境界領域情報を用いて仮想視点画像を補正する［ステップＡ１９］。
【０１２５】
ここでの処理では，境界領域における画素値を前景オブジェクトの画素値と背景オブジェクトの画素値とを用いて補正する処理が行われる。様々な処理方法が考えられるが，最も簡単な方法としては境界領域においてローパスフィルタを適用する方法がある。境界領域にのみ適用しても構わないし，境界領域の周辺も含めて適用しても構わない。例えば，ＢＯＵＮＤnew の値がＭaxＤistance （上述した境界領域情報の最大値）の部分ではフィルタなしで，ＢＯＵＮＤnew の値が小さいほどフィルタ強度が強くなるようにする方法がある。
【０１２６】
また，周辺画素から背景オブジェクトの画素値を推定して，ＢＯＵＮＤnew の値に応じた混合比を用いて，仮想視点画像の画素値に背景オブジェクトの画素値を混合する方法もある。背景オブジェクトの推定画素値には，周辺画素のうち最もカメラから遠いことを表す仮想視点距離情報を持つ画素の画素値を用いる方法もあるし，周辺画素の画素値から画素間距離や仮想視点距離情報を用いて重み付け平均して求める方法もある。後者の方法では例えば次の式（１１）を用いて重みを決定してもよい。
【０１２７】
【数７】
0005373931.tif 000008
【０１２８】
ここで，ｑが対象画素の位置を表し，ｑi が周辺画素の画素位置を表す。ｉは周辺画素を識別するためのインデックスであり，weighti がインデックスｉの周辺画素に対する重みを表す。σ’I とσ’D はコントロールパラメータであり，どのような数値を使っても構わないが，画像の統計的性質に依存した値を設定することでより高画質な画像情報生成が可能になる。
【０１２９】
ＢＯＵＮＤnew の値に応じた混合比は，補正対象画素の仮想視点距離情報が周辺画素の仮想視点距離情報と比較して小さい（カメラに近い）ならば，補正対象画素が前景オブジェクトであることを考慮して，ＢＯＵＮＤnew の値が大きいほど前景オブジェクトの側に入り込んでいることに対応させて背景オブジェクトの画素値の比率が小さくなるように設定し，逆に，補正対象画素の仮想視点距離情報が周辺画素の仮想視点距離情報と比較して大きい（カメラから遠い）ならば，補正対象画素が後景オブジェクトであることを考慮して，ＢＯＵＮＤnew の値が大きいほど後景オブジェクトの側に入り込んでいることに対応させて背景オブジェクトの画素値の比率が大きくなるように設定する。
【０１３０】
さらに，仮想視点画像の補正処理では，境界領域における補正に加えて，有効な画素値が得られていない画素に対して有効な画素値を生成する処理を行ってもよい。そのような領域は入力画像からはオクルージョンのため観察できなかった領域になるため，前景オブジェクトが存在することはない。そこで，背景オブジェクトの画素値を推定することになる。具体的な処理には，上述した境界領域における背景オブジェクトの画素値を推定する処理を用いることが可能である。
【０１３１】
［ステップＡ２０の処理］
最後に，仮想視点画像出力部１１４にて，仮想視点画像補正部１１３による補正が終了した仮想視点画像を出力する［ステップＡ２０］。
【０１３２】
［ステップＡ５の処理の詳細］
次に，図３のフローチャートに従って，ステップＡ５で実行する境界領域情報の生成処理の詳細について説明する。
【０１３３】
境界領域情報を生成する処理では，まず最初に，インデックスＶiew によって示される画像の全ての画素位置ｐに対して，境界領域情報ＢＯＵＮＤview［ｐ］にＭaxＤistance を代入して初期化する［ステップＢ１］。ここで，図３のフローチャートでは，画素位置の集合をＩmageと表した。
【０１３４】
次に，各画素に対して，その画素が境界領域に含まれるか否かを判定する。本実施形態例では，画素インデックスをidＰix，画像に含まれる画素の数を numＰixと表す。従って，idＰixを０に初期化した後［ステップＢ２］，idＰixに１を加算しながら［ステップＢ６］，idＰixが numＰixになるまで［ステップＢ７］，以下の処理を繰り返す［ステップＢ３〜ステップＢ５］。
【０１３５】
画素ごとに繰り返す境界領域判定処理（ステップＢ３〜ステップＢ５）では，ｐにidＰixで表される画素位置を代入した後［ステップＢ３］，ｐの距離情報との差があらかじめ定められた閾値TH＿SAME＿PLANE より大きくなる距離情報を持つｐに隣接する画素が少なくとも１つ存在するか否かを調べる［ステップＢ４］。そのような隣接画素が存在する場合，ｐは境界領域であると判断してＢＯＵＮＤview［ｐ］に０を代入する［ステップＢ５］。なお，隣接画素は上下左右で隣接する４画素のみを対象としてもよいし，斜め方向も入れた８画素を対象としても構わない。
【０１３６】
境界領域の判定が終了した後，境界領域ではない画素に対して，境界領域からの距離を境界領域情報として設定する。
【０１３７】
本実施形態例では，境界領域からの距離が少ない画素を順に特定し，ＭaxＤistance より少ない距離だけ離れた画素に対して適切な境界領域情報を生成する。従って，対象とする距離の値distanceを１に初期化した後［ステップＢ８］，distanceがＭaxＤistance になるまで［ステップＢ９］，distanceに１を加算しながら［ステップＢ１８］，以下の処理を繰り返す［ステップＢ１０〜ステップＢ１７］。
【０１３８】
境界領域からの距離がdistanceであるような画素の境界領域情報を設定する処理では，各画素に対して，その画素が境界領域からの距離がdistanceであるか否かを判定する。従って，画素インデックスidＰixを０で初期化した後［ステップＢ１０］，idＰixに１を加算しながら［ステップＢ１６］，idＰixが numＰixになるまで［ステップＢ１７］，以下の処理を繰り返す［ステップＢ１１〜ステップＢ１５］。
【０１３９】
画素ごとに繰り返される境界領域からの距離判定処理では，ｐにidＰixで表される画素位置を代入した後［ステップＢ１１］，ｐの境界領域情報が判定中のdistanceよりも小さい場合［ステップＢ１２］，その画素に対する判定を終了する。そうでない場合は判定処理を継続する。つまり，ｐに隣接する画素のＢＯＵＮＤviewの最小値を min＿distanceに代入し［ステップＢ１３］， min＿distanceがＭaxＤistance より小さければ［ステップＢ１４］，ＢＯＵＮＤview［ｐ］にmin ＿distance＋１を代入する［ステップＢ１５］。なお，この処理における隣接画素も上下左右で隣接する４画素のみを対象としてもよいし，斜め方向も入れた８画素を対象としても構わない。
【０１４０】
このフローチャートは境界領域情報を設定するための１つの例であり，このほかの方法を用いて被写体ごとの境界領域を示す情報を設定することも可能である。
【０１４１】
このようにして，本実施形態例によれば，被写体の境界領域において取得された光線情報を，強度の弱い光線や信頼度の低い光線として扱うことで，主観品質の高い仮想視点画像を少ない演算量で生成することができるようになる。
【０１４２】
［２］第２の実施形態例
以上に説明した第１の実施形態例では，図２のフローチャートのステップＡ６において，入力情報解析部１０４で，境界領域において入力された画像及び距離情報を補正する処理を行ったが，この補正処理は必ず実行しなければならないというものではない。
【０１４３】
すなわち，以上に説明した第１の実施形態例では，多視点画像によってサンプリングされた光線を合成することで仮想視点画像を生成するときに（上述したように合成画像を生成して合成する），複数の被写体の光線情報が混合されている境界領域を判定して，境界領域に属する仮想視点画像の画素について，その画素に対応付けられる多視点画像の画素（境界領域に属すると判定される場合もあるし非境界領域に属すると判定される場合もある）によってサンプリングされた光線のうち，境界領域でサンプリングされた光線を非境界領域でサンプリングされた光線よりも強度の低い光線として取り扱って，その合成を行うようにすることで，複数の被写体からの光線情報が混ざり合うことによる影響を少なくするようにしている。
【０１４４】
このように，境界領域でサンプリングされた光線を非境界領域でサンプリングされた光線よりも強度の低い光線として取り扱って光線の合成を行うことから，図２のフローチャートのステップＡ６で実行した画像及び距離情報の補正処理を行わなくても，複数の被写体からの光線情報が混ざり合うことによる影響を少なくすることができる。
【０１４５】
一方，図２のフローチャートのステップＡ６で実行した画像及び距離情報の補正処理を行う場合には，その補正により，仮想視点画像の同一の画素に対応付けられる多視点画像の画素について，それらの画素が前景オブジェクトの光線をサンプリングする場合には，それらの全ての画素が前景オブジェクトの光線をサンプリングすることになる可能性が高くなり，逆に，それらの画素が後景オブジェクトの光線をサンプリングする場合には，それらの全ての画素が後景オブジェクトの光線をサンプリングすることになる可能性が高くなる。
【０１４６】
これから，図２のフローチャートのステップＡ６で実行した画像及び距離情報の補正処理を行う場合には，多視点画像によってサンプリングされた光線を合成することで仮想視点画像を生成するときに，それらの光線について同一の重みで合成するようにするだけでも，複数の被写体からの光線情報が混ざり合うことによる影響を少なくすることができる。
【０１４７】
ここで，この補正処理の考え方は，多視点画像から仮想視点画像を生成する場合にだけ適用できるものではなくて，１つのカメラにより撮影された被写体画像から仮想視点画像を生成する場合にも適用できるものである。
【０１４８】
この構成（第２の実施形態例）を採る場合には，本発明の仮想視点画像生成装置１００は，図２のフローチャートを実行することに代えて，図４のフローチャートを実行することになる。
【０１４９】
すなわち，本発明の仮想視点画像生成装置１００は，第２の実施形態例を実現する場合には，図４のフローチャートに示すように，まず最初に，ステップＣ１で，上述のステップＡ１と同様の処理を実行することで，仮想視点の情報を入力し，続くステップＣ２で，インデックスＶiew を０に初期化する。
【０１５０】
続いて，ステップＣ３で，上述のステップＡ３と同様の処理を実行することで，画像を入力する。続いて，ステップＣ４で，上述のステップＡ４と同様の処理を実行することで，距離情報を入力する。続いて，ステップＣ５で，上述のステップＡ５と同様の処理を実行することで，オブジェクトの境界領域を設定する。続いて，ステップＣ６で，上述のステップＡ６と同様の処理を実行することで，境界領域において入力された画像及び距離情報を補正する。続いて，ステップＣ７で，上述のステップＡ７と同様の処理を実行することで，仮想視点画像の画素に対する入力画像の画素の対応関係を計算する。続いて，ステップＣ８で，上述のステップＡ８と同様の処理を実行することで，合成画像を生成する。続いて，ステップＣ９で，上述のステップＡ９と同様の処理を実行することで，合成画像上の合成境界領域を設定する。
【０１５１】
続いて，ステップＣ１０で，インデックスＶiew の値を１つインクリメントし，続くステップＣ１１で，インデックスＶiew の値が numＶiewsに到達したのか否かを判断して， numＶiewsに到達していないことを判断するときには，ステップＣ３の処理に戻り， numＶiewsに到達したことを判断するときには，ステップＣ１２に進んで，インデックスＰixを０に初期化する。
【０１５２】
続いて，ステップＣ１３で，各合成画像の重みを同一として，インデックスＰixの指す画素について，ステップＣ８で生成した合成画像の画素値の平均値を求め，それをコピーすることで仮想視点画像を生成する。
【０１５３】
続いて，ステップＣ１４で，インデックスＰixの値を１つインクリメントし，続くステップＣ１５で，インデックスＰixの値が numＰixs に到達したのか否かを判断して， numＰixs に到達していないことを判断するときには，ステップＣ１３の処理に戻る。
【０１５４】
一方，インデックスＰixの値が numＰixs に到達したことを判断するときには，ステップＣ１６に進んで，各合成境界領域情報の重みを同一として，ステップＣ９で生成した合成境界領域情報の平均値を求め，それをコピーすることで，ステップＡ１８で設定する仮想視点境界領域に相当する仮想視点境界領域を設定する。
【０１５５】
続いて，ステップＣ１７で，上述のステップＡ１９と同様の処理を実行することで，ステップＣ１６で設定した仮想視点境界領域を用いて仮想視点画像を補正し，続くステップＣ１８で，上述のステップＡ２０と同様の処理を実行することで，補正が終了した仮想視点画像を出力する。
【０１５６】
このようにして，第２の実施形態例でも，主観品質の高い仮想視点画像を少ない演算量で生成することができるようになる。
【０１５７】
ここで，第２の実施形態例を実現する場合，この図４のフローチャートを実行することに代えて，図５のフローチャートを実行するという構成を採ることも可能である。
【０１５８】
すなわち，図５のフローチャートでは，図４のフローチャートのステップＣ９の処理を省略し，図４のフローチャートのステップＣ１３とステップＣ１４との間に，上述のステップＡ１５と同様の処理を実行することで仮想視点距離情報を生成するステップＣ１００を設け，さらに，図４のフローチャートのステップＣ１６に代えて，ステップＣ１００で生成した仮想視点距離情報を使って仮想視点境界領域を設定する上述のステップＡ１８と同様の処理を実行するステップＣ２００を設けるようにしているが，この図５のフローチャートを実行することでも第２の実施形態例を実現することは可能である。
【０１５９】
以上説明した処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【０１６０】
また，以上の実施の形態では仮想視点画像生成装置を中心に説明したが，これら仮想視点画像生成装置の各部の動作に対応したステップによって本発明の仮想視点画像生成方法を実現することができる。
【０１６１】
以上，図面を参照して本発明の実施の形態を説明してきたが，上記実施の形態は本発明の例示に過ぎず，本発明が上記実施の形態に限定されるものでないことは明らかである。したがって，本発明の精神及び範囲を逸脱しない範囲で構成要素の追加，省略，置換，その他の変更を行っても良い。
【符号の説明】
【０１６２】
１００  仮想視点画像生成装置
１０１  仮想視点入力部
１０２  画像入力部
１０３  距離情報入力部
１０４  入力情報解析部
１０５  対応関係設定部
１０６  合成画像生成部
１０７  合成画像メモリ
１０８  合成境界領域設定部
１０９  合成境界領域メモリ
１１０  仮想視点画像生成部
１１１  仮想視点距離情報生成部
１１２  仮想視点境界領域設定部
１１３  仮想視点画像補正部
１１４  仮想視点画像出力部
【図１】
0005373931.tif 000009
【図２】
0005373931.tif 000010
【図３】
0005373931.tif 000011
【図４】
0005373931.tif 000012
【図５】
0005373931.tif 000013
【図６】
0005373931.tif 000014