(57)【特許請求の範囲】
【請求項１】
複数の視点画像から視点画像間の視差の横成分及び縦成分を推定する立体画像処理装置であって、
前記視点画像間での画素の類似度及び前記視点画像間の視差の連続性の関数である評価値を算出する評価値算出部と、該評価値を最小とする各画素の視差の組合せに基づき、横成分及び縦成分を有する視差マップを作成する視差マップ作成部とを備え、
前記視差の連続性は、注目画素の視差と該注目画素の横に隣接する画素の視差又は該注目画素の横及び縦に隣接する画素の視差との連続性であり、
前記評価値は、前記評価値算出部において、前記画素の類似度が高いほど小さく算出され、前記視差の連続性が高いほど小さく算出される、
ことを特徴とする立体画像処理装置。
【請求項２】
前記画素の類似度は、一方の視点画像における注目画素を含む所定範囲の周辺領域中の画素と、他方の視点画像における該注目画素に対応する画素を含む所定範囲の周辺領域中の画素との類似度であることを特徴とする請求項１に記載の立体画像処理装置。
【請求項３】
前記画素の類似度は、少なくとも画素の輝度値を用いて算出されることを特徴とする請求項１又は２に記載の立体画像処理装置。
【請求項４】
前記視差の連続性は、視差の横成分及び／又は縦成分に関して算出されることを特徴とする請求項１〜３のいずれか１項に記載の立体画像処理装置。
【請求項５】
前記視差マップ作成部は、前記評価値に基づき、オクルージョン領域を検出するオクルージョン領域検出部を有することを特徴とする請求項１〜４のいずれか１項に記載の立体画像処理装置。
【請求項６】
前記オクルージョン領域検出部は、前記評価値に基づき、横方向のオクルージョン領域と縦方向のオクルージョン領域の両方を検出することを特徴とする請求項５に記載の立体画像処理装置。
【請求項７】
前記オクルージョン領域検出部は、前記評価値に基づき、少なくとも横方向のオクルージョン領域を検出し、
前記評価値算出部は、前記横方向のオクルージョン領域に隣接する右側と左側の画素間の視差の横成分の差分の大きさが前記横方向のオクルージョン領域の横幅と等しくなるという条件下で、再帰的に前記評価値の算出を行うことを特徴とする請求項５又は６に記載の立体画像処理装置。
【請求項８】
前記オクルージョン領域検出部は、前記評価値に基づき、少なくとも縦方向のオクルージョン領域を検出し、
前記評価値算出部は、前記縦方向のオクルージョン領域に隣接する上側と下側の画素間の視差の縦成分の差分の大きさが前記縦方向のオクルージョン領域の縦幅と等しくなるという条件下で、再帰的に前記評価値の算出を行うことを特徴とする請求項５又は６に記載の立体画像処理装置。
【請求項９】
前記評価値算出部は、前記視点画像間の視差の縦成分についての探索範囲を、注目画素の座標に応じて変化させることを特徴とする請求項１〜８のいずれか１項に記載の立体画像処理装置。
【請求項１０】
前記評価値算出部は、前記視点画像間の視差の横成分についての探索範囲を、注目画素の座標に応じて変化させることを特徴とする請求項１〜８のいずれか１項に記載の立体画像処理装置。
【請求項１１】
複数の視点画像から視点画像間の視差の横成分及び縦成分を推定する立体画像処理方法であって、
評価値算出部が、前記視点画像間での画素の類似度及び前記視点画像間の視差の連続性の関数である評価値を算出するステップと、視差マップ作成部が、前記評価値を最小とする各画素の視差の組合せに基づき、横成分及び縦成分を有する視差マップを作成するステップとを有し、
前記視差の連続性は、注目画素の視差と該注目画素の横に隣接する画素の視差又は該注目画素の横及び縦に隣接する画素の視差との連続性であり、
前記評価値は、前記評価値を算出するステップにおいて、前記画素の類似度が高いほど小さく算出され、前記視差の連続性が高いほど小さく算出される、
ことを特徴とする立体画像処理方法。
【請求項１２】
コンピュータに、複数の視点画像から視点画像間の視差の横成分及び縦成分を推定する立体画像処理を実行させるためのプログラムであって、
前記立体画像処理は、前記視点画像間での画素の類似度及び前記視点画像間の視差の連続性の関数である評価値を算出するステップと、該評価値を最小とする各画素の視差の組合せに基づき、横成分及び縦成分を有する視差マップを作成するステップとを含み、
前記視差の連続性は、注目画素の視差と該注目画素の横に隣接する画素の視差又は該注目画素の横及び縦に隣接する画素の視差との連続性であり、
前記評価値は、前記評価値を算出するステップにおいて、前記画素の類似度が高いほど小さく算出され、前記視差の連続性が高いほど小さく算出される、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視点画像間の視差を推定することが可能な立体画像処理装置、立体画像処理方法、及びプログラムに関するものである。
【背景技術】
【０００２】
左目用画像と右目用画像の２枚の視点画像から構成されるステレオ画像において、視点画像間での被写体の座標のずれは視差と呼ばれ、被写体とカメラとの距離に応じて異なる。被写体の奥行きは、視点画像間の幾何学的配置から導かれる変換式によって視差から求めることができるため、視差は奥行き情報として用いられる。
【０００３】
以降の説明では、手前にある被写体ほど視差が大きく、奥にあるほど視差が小さいと表す。また、視差は、対応点において、右目用画像内の位置よりも左目用画像内での位置が右にある場合を正値とし、同様に、左目用画像内の位置よりも右目用画像内での位置が右にある場合を負値とする。
【０００４】
視差推定とは、視点画像の各画素において、視点画像間の対応点を求めて視差を出力する処理であり、視差推定より得られた各画素の視差を画素値として表した画像を視差マップと呼ぶ。視差推定手法については、ブロックマッチング、動的計画法、グラフカットなどを用いた様々な手法が提案されている。無論、視点画像の数は２枚に限らず、３枚以上であっても視点画像間の視差（例えばある基準となる視点画像に対する他の視点画像の視差）は推定できる。
【０００５】
特許文献１には、視差の横方向と縦方向の連続性を拘束条件とし、動的計画法を適用することによって、滑らかで誤差の少ない視差マップを推定する手法が開示されている。また、非特許文献１には、動的計画法を用いて、視差推定と同時に横方向のオクルージョン領域の同定を行う手法が開示されている。オクルージョン領域とは、前景に遮蔽されることによって、片方の視点画像にしか写っていない背景領域であり、その領域では対応点が存在しない。
【０００６】
オクルージョン領域が生じる一例を、図１Ａ，図１Ｂを参照しながら説明する。図１Ａ，図１Ｂは家の前に人物がいる画像であり、図１Ａは左目用画像１Ｌ、図１Ｂは右目用画像１Ｒを表している。左目用画像１Ｌにおいて、人物の左側部分に位置する斜線で示した部分は、左目用画像１Ｌでは存在する部分であるが、右目用画像１Ｒには写っていない。同様に右目用画像１Ｒにおいて、人物の右側部分に位置する斜線で示した部分は、右目用画像１Ｌでは存在する部分であるが、左目用画像１Ｌには写っていない。これらの斜線部分はオクルージョン領域であり、前景である人物に遮蔽されて生じたものである。人物が写った領域は視差が大きく、家が写った部分はそれよりも視差が小さいが、図１Ａ，図１Ｂから分かるように、オクルージョン領域は、視差が異なる領域が隣接した場合に生じる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−０８５５６６号公報
【非特許文献】
【０００８】
【非特許文献１】S. Birchfield and C. Tomasi, Depth Discontinuities by Pixel-to-Pixel Stereo, International Journal of Computer Vision, 35(3): 269-293, December 1999.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１、非特許文献１に記載の技術をはじめとする従来の視差推定方法においては、視点画像間の対応点同士は、縦方向にずれが無いことが想定されており、縦方向にずれが生じている画像に対しては正しい視差が推定できないという問題があった。
【００１０】
実際、縦方向のずれは、例えば交差法によって撮影された画像において生じる。交差法では光軸が平行でないため、エピポーラ線の傾きが左目用画像と右目用画像で異なり、領域によって程度の異なる縦方向のずれが生じる。すなわち、視差は横成分と縦成分を持つ。さらに、視差の縦成分が異なる領域が隣接した場合には、縦方向の遮蔽によるオクルージョン領域が生じる。
【００１１】
具体例を挙げて説明する。図２Ａ，図２Ｂは交差法撮影によって縦方向にずれが生じている画像の例であり、図２Ａは左目用画像２Ｌ、図２Ｂは右目用画像２Ｒを表している。なお、図２Ａ，図２Ｂにおける点線は、左目用画像２Ｌと右目用画像２Ｒとで同じ行の位置を示すために描いたものである。右目用画像２Ｒ内では左目用画像２Ｌよりも家が上方に位置し、縦方向にずれが生じていることが分かる。人物の位置も縦方向にずれているが、ずれの量は家よりも小さい。斜線で示した領域は、図１Ａ，図１Ｂの例と同様、前景である人物に遮蔽されて生じたオクルージョン領域である。
【００１２】
人物と家とでは縦方向のずれ量が異なっているため、右目用画像２Ｒにおいて、人物の頭より上の部分にもオクルージョン領域が存在している。すなわち、この部分は縦方向の遮蔽によって生じたオクルージョンである。図１Ａ，図１Ｂの例では横方向にのみ遮蔽していたが、図２Ａ，図２Ｂの例では、横方向と縦方向の両方で遮蔽が生じている。以降では、縦方向の遮蔽により生じるオクルージョンを縦方向オクルージョンと呼び、横方向の遮蔽によって生じる従来のオクルージョンを横方向オクルージョンと呼ぶことにする。そして、このような縦方向オクルージョン領域は、上述した従来の視差推定方法では考慮されておらず、視差推定の誤りの要因となり得る。
【００１３】
縦方向のずれや縦方向オクルージョンは、左目用画像と右目用画像でレンズの倍率がずれている場合にも生じる。さらに、左目用画像と右目用画像の撮影位置が縦にずれている場合や、撮影方向が縦にずれている場合にも発生する。また、縦に配置されたカメラで撮影した視点画像間の視差を推定する場合においても、同様に横方向のずれや横方向オクルージョンが発生するという課題がある。さらにより一般的には、斜めに配置されたカメラで撮影した視点画像間の視差を推定する場合においても、同様の課題がある。
【００１４】
本発明は、上述のような実情に鑑みてなされたものであり、その目的は、視差に縦成分がある画像の場合にも正しく視差を推定することが可能な立体画像処理装置、立体画像処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明の第１の技術手段は、複数の視点画像から視点画像間の視差の横成分及び縦成分を推定する立体画像処理装置であって、前記視点画像間での画素の類似度及び前記視点画像間の視差の連続性の関数である評価値を算出する評価値算出部と、該評価値を最小とする各画素の視差の組合せに基づき、横成分及び縦成分を有する視差マップを作成する視差マップ作成部とを備え、前記視差の連続性は、注目画素の視差と該注目画素の横に隣接する画素の視差又は該注目画素の横及び縦に隣接する画素の視差との連続性であり、前記評価値は、前記評価値算出部において、前記画素の類似度が高いほど小さく算出され、前記視差の連続性が高いほど小さく算出される、ことを特徴としたものである。
【００１６】
第２の技術手段は、第１の技術手段において、前記画素の類似度は、一方の視点画像における注目画素を含む所定範囲の周辺領域中の画素と、他方の視点画像における該注目画素に対応する画素を含む所定範囲の周辺領域中の画素との類似度であることを特徴としたものである。
【００１７】
第３の技術手段は、第１又は第２の技術手段において、前記画素の類似度は、少なくとも画素の輝度値を用いて算出されることを特徴としたものである。
【００１８】
第４の技術手段は、第１〜第３のいずれか１の技術手段において、前記視差の連続性は、視差の横成分及び／又は縦成分に関して算出されることを特徴としたものである。
【００１９】
第５の技術手段は、第１〜第４のいずれか１の技術手段において、前記視差マップ作成部は、前記評価値に基づき、オクルージョン領域を検出するオクルージョン領域検出部を有することを特徴としたものである。
【００２０】
第６の技術手段は、第５の技術手段において、前記オクルージョン領域検出部は、前記評価値に基づき、横方向のオクルージョン領域と縦方向のオクルージョン領域の両方を検出することを特徴としたものである。
【００２１】
第７の技術手段は、第５又は第６の技術手段において、前記オクルージョン領域検出部は、前記評価値に基づき、少なくとも横方向のオクルージョン領域を検出し、前記評価値算出部は、前記横方向のオクルージョン領域に隣接する右側と左側の画素間の視差の横成分の差分の大きさが前記横方向のオクルージョン領域の横幅と等しくなるという条件下で、再帰的に前記評価値の算出を行うことを特徴としたものである。
【００２２】
第８の技術手段は、第５又は第６の技術手段において、前記オクルージョン領域検出部は、前記評価値に基づき、少なくとも縦方向のオクルージョン領域を検出し、前記評価値算出部は、前記縦方向のオクルージョン領域に隣接する上側と下側の画素間の視差の縦成分の差分の大きさが前記縦方向のオクルージョン領域の縦幅と等しくなるという条件下で、再帰的に前記評価値の算出を行うことを特徴としたものである。
【００２３】
第９の技術手段は、第１〜第８のいずれか１の技術手段において、前記評価値算出部は、前記視点画像間の視差の縦成分についての探索範囲を、注目画素の座標に応じて変化させることを特徴としたものである。
【００２４】
第１０の技術手段は、第１〜第８のいずれか１の技術手段において、前記評価値算出部は、前記視点画像間の視差の横成分についての探索範囲を、注目画素の座標に応じて変化させることを特徴としたものである。
【００２５】
第１１の技術手段は、複数の視点画像から視点画像間の視差の横成分及び縦成分を推定する立体画像処理方法であって、評価値算出部が、前記視点画像間での画素の類似度及び前記視点画像間の視差の連続性の関数である評価値を算出するステップと、視差マップ作成部が、前記評価値を最小とする各画素の視差の組合せに基づき、横成分及び縦成分を有する視差マップを作成するステップとを有し、前記視差の連続性は、注目画素の視差と該注目画素の横に隣接する画素の視差又は該注目画素の横及び縦に隣接する画素の視差との連続性であり、前記評価値は、前記評価値を算出するステップにおいて、前記画素の類似度が高いほど小さく算出され、前記視差の連続性が高いほど小さく算出される、ことを特徴としたものである。
【００２６】
第１２の技術手段は、コンピュータに、複数の視点画像から視点画像間の視差の横成分及び縦成分を推定する立体画像処理を実行させるためのプログラムであって、前記立体画像処理は、前記視点画像間での画素の類似度及び前記視点画像間の視差の連続性の関数である評価値を算出するステップと、該評価値を最小とする各画素の視差の組合せに基づき、横成分及び縦成分を有する視差マップを作成するステップとを含み、前記視差の連続性は、注目画素の視差と該注目画素の横に隣接する画素の視差又は該注目画素の横及び縦に隣接する画素の視差との連続性であり、前記評価値は、前記評価値を算出するステップにおいて、前記画素の類似度が高いほど小さく算出され、前記視差の連続性が高いほど小さく算出される、ことを特徴としたものである。
【発明の効果】
【００２７】
本発明によれば、視差に縦成分がある画像の場合にも誤りの少ない視差推定を行うことができる。
【図面の簡単な説明】
【００２８】
【図１Ａ】オクルージョン領域の位置を説明するための図で、左目用画像の例を示す図である。
【図１Ｂ】オクルージョン領域の位置を説明するための図で、右目用画像の例を示す図である。
【図２Ａ】オクルージョン領域の位置を説明するための図で、左目用画像の他の例を示す図である。
【図２Ｂ】オクルージョン領域の位置を説明するための図で、右目用画像の他の例を示す図である。
【図３】本発明の第一の実施形態に係る立体画像処理装置の概略構成例を示すブロック図である。
【図４】本発明の第一の実施形態に係る評価値の求め方を説明するための図である。
【図５】本発明の第一の実施形態に係る立体画像処理装置における処理の流れを説明するためのフロー図である。
【図６】本発明の第三の実施形態に係る立体画像処理装置の概略構成例を示すブロック図である。
【図７】本発明の第三の実施形態に係る立体画像処理装置における処理の流れを説明するためのフロー図である。
【発明を実施するための形態】
【００２９】
以下、添付図面を参照しながら本発明の実施の形態について詳細に説明する。図面において同じ機能を有する部分については同じ符号を付し、繰り返しの説明は省略する。
【００３０】
（第一の実施形態）
図３は、本発明の第一の実施形態に係る立体画像処理装置の概略構成例を示すブロック図で、図４は、本発明の第一の実施形態に係る評価値の求め方を説明するための図である。
【００３１】
図３で示すように、本実施形態の立体画像処理装置１０は、複数の視点画像を入力する入力部１１と、入力された複数の視点画像について視点画像間での画素値の類似度及び視点画素間の視差の連続性に関する評価値を算出する評価値算出部１２と、算出された評価値を用いて視差マップを作成する視差マップ作成部１３とを備えている。視差マップ作成部１３は、算出された評価値を最小とする各画素の視差の組合せを、各画素の視差と選択して視差マップを作成する。無論、入力部１１の代わりに複数の視点画像を記憶した記憶部を備え、評価値算出部１２がそこから複数の視点画像を読み出すような構成を採用してもよい。
【００３２】
そして、本発明における評価値算出部１２では、視差の連続性として、注目画素の視差とその注目画素の横及び縦に隣接する画素の視差との連続性を用いる。さらに、本発明における評価値算出部１２では、評価値は、画素の類似度が高いほど小さく算出され、視差の連続性が高いほど小さく算出されるものとする。
【００３３】
以下の説明では、理解を容易にするために、まず、評価値算出部１２で注目画素の視差とその注目画素の横に隣接する画素の視差との連続性を算出し、その結果の連続性と算出した画素の類似度とを用いて評価値を算出する例を挙げて説明する。注目画素の縦に隣接する画素の視差との連続性の算出、並びにその結果及び算出した画素の類似性を用いた評価値の算出については後述する。
【００３４】
本実施形態の立体画像処理装置１０は、入力部１１で入力された視点画像間について、１行ずつ独立に視差推定を行う。この視差推定は、評価値算出部１２及び視差マップ作成部１３が実行し、各行の処理は、動的計画法を用いて行う。つまり、評価値算出部１２及び視差マップ作成部１３は、視差の横成分と縦成分とを、動的計画法を用いて検出する。評価値算出部１２では、行内の各画素の視差値の組合せを経路として扱い、各組合せに対する評価値を算出する。但し、動的計画法では全ての組合せについての評価値を求めずに、評価値を最小にする可能性のある組合せだけを選んで経路を探索するため、計算量が削減される。
【００３５】
視差マップ作成部１３は、オクルージョン領域検出部１０１、視差横成分検出部１０２、視差縦成分検出部１０３を有し、評価値算出部１２で算出された評価値を最小とする視差値の組合せを選択しオクルージョンマップ、視差横成分マップ、視差縦成分マップを生成し、出力する。オクルージョンマップ、視差横成分マップ、視差縦成分マップを併せて、視差マップと呼ぶことにする。ここでは、好ましい例として、視差マップ作成部１３がオクルージョン領域検出部１０１を有する例、つまり視差マップ作成部１３がオクルージョン領域の検出を行う例を挙げるが、視差マップ作成部１３は少なくとも視差の横成分と縦成分とを検出して、視差横成分マップ及び視差縦成分マップでなる視差マップ（つまり、横成分及び縦成分を有する視差マップ）を作成できる構成であればよい。
【００３６】
このような構成において、立体画像処理装置１０では、まず入力部１１で入力された視点画像を予め輝度画像に変換する。ここでは、入力部１１を通して入力される複数の視点画像が左目用画像及び右目用画像の合計２枚から構成される例を挙げる。例えば、入力部１１が左目用画像と右目用画像とを入力し、輝度画像への変換も施した上で、評価値算出部１２に出力する。無論、入力部１１が予め輝度画像に変換された左目用画像及び右目用画像を入力してもよい。以降では、左目用画像を基準とした右目用画像の視差マップを推定する場合について説明する。また、ここでは、視差を求めるのに最適な輝度画像（つまり画像の輝度値）を用いて処理を行うことを前提としているが、輝度値に限らず、左目用画像及び右目用画像の画素値、例えばＲＧＢデータであればそのいずれか１又は複数色の値を用いて処理を行うこともできる。
【００３７】
評価値算出部１２では、まず、左目用画像の輝度値に対する右目用画像の輝度値の類似度Ｍ（ｘ，ｙ，ｐ，ｑ）を、次の（１）式を用いて、０≦ｘ≦ｗ−１，０≦ｐ≦Ｐ，−Ｑ≦ｑ≦Ｑの範囲で計算する。
【００３８】
【数１】
0005318168.tif 000002
【００３９】
ここで、Ｌ、Ｒはそれぞれ左目用画像と右目用画像の輝度値、（ｘ，ｙ）は画像中の座標を示し、ｙは推定を行っている注目行を示す。ｐ，ｑはそれぞれ視差の横成分，縦成分を表す。Ｐ，Ｑはそれぞれ視差の横成分、縦成分の探索範囲を示し、ｐ，ｑはそれぞれ０≦ｐ≦Ｐ、−Ｑ≦ｑ≦Ｑの範囲の値のみをとることとする。ｗは画像の横画素数、２ａ＋１は−ａ≦ｉ≦ａ及び−ａ≦ｊ≦ａで定義されるブロックサイズである。ａの値は任意に決めておけばよいし、探索範囲は矩形に限ったものでもない。なお、（１）式の計算の際、座標が画像の外の位置を示した場合は、その座標を近傍の画像端の座標で置き換えるなどの画像端処理を行えばよい。
【００４０】
（１）式の類似度Ｍ（ｘ，ｙ，ｐ，ｑ）は、左目用画像に対する右目用画像の輝度値の差分（右目用画像の画素（ｘ，ｙ）の輝度値に対して、（ｐ，ｑ）だけずらした位置の左目用画像の輝度値の差分）の絶対値和を用いて定義した値であり、小さい程、比較対象の画素値の類似度が高いと言える。但し、この例に限らず、類似度は、差分平方和、正規化相互相関などの類似度を表す他の関数で定義してもよい。
【００４１】
また、探索範囲をＰ，Ｑで定めた例を挙げて本実施形態を説明しているように、評価値算出部１２は、注目画素の所定範囲（上記ブロックサイズの範囲）の周辺領域に対して、視点画像間での輝度値の類似度を用いて評価値を算出することが望ましい。つまり、類似度として、一方の視点画像における注目画素を含む所定範囲の周辺領域中の画素と、他方の視点画像におけるその注目画素に対応する画素を含む所定範囲の周辺領域中の画素との類似度を用いることが好ましい。但し、探索範囲を特に決めずに画像の全領域について類似度を求め、評価値を算出することもできる。
【００４２】
次に、下の（２）式に従い、評価値Ｕ（ｘ，ｐ）を０≦ｘ≦ｗ−１，０≦ｐ≦Ｐを満たす全ての（ｘ，ｐ）について算出する。評価値Ｕ（ｘ，ｐ）は、上述の類似度Ｍ（ｘ，ｙ，ｐ，ｑ）の最小値に基づいて計算した値である。類似度Ｍ（ｘ，ｙ，ｐ，ｑ）の値が小さい程、比較対象の画素値が類似しているためである。計算の手順としては、（２）式を用い、まずｘ＝０の場合を計算し、その後ｘ＝１からｗ−１まで順に計算する。（２）式は再帰的になっており、ｘ＝０から順に累積して最後に得られたＵ（ｗ−１，ｐ）が注目行内の視差値の組合せに対する評価値となる。０≦ｐ≦Ｐであるため、Ｕ（ｗ−１，ｐ）はＰ＋１個得られ、Ｐ＋１通りの経路に対する評価値である。
【００４３】
【数２】
0005318168.tif 000003
【００４４】
（４）式のＡｘは、右目用画像の注目画素（ｘ座標がｘ）の視差横成分がｐであると仮定した場合の、その左隣の視差横成分の候補を示している。右目用画像の注目画素（ｘ）は左目用画像の画素（ｘ＋ｐ）と対応している。Ａｘの要素を３つに分類して説明する。
【００４５】
［Ｉ］要素（ｘ−１，ｐ）
左隣の画素（ｘ−１）と注目画素の視差横成分が同じ場合である。右目用画像の画素（ｘ−１）と左目用画像の画素（ｘ＋ｐ−１）が対応する。
【００４６】
［ＩＩ］要素（ｘ−１，ｐ−１），…，（ｘ−１，０）
左隣の画素の視差横成分が注目画素より小さい場合である。例えば、要素（ｘ−１，ｐ−２）は、右目用画像の画素（ｘ−１）と左目用画像の画素（ｘ＋ｐ−３）が対応することを示す。このとき、左目用画像の（ｘ＋ｐ−１）と（ｘ＋ｐ−２）の２つの画素は、右目用画像内に対応点が無い。つまり、左目用画像に横方向オクルージョン領域がある場合である。
【００４７】
［ＩＩＩ］要素（ｘ−２，ｐ＋１），…，（ｘ−Ｐ−１＋ｐ，Ｐ）
注目画素の左隣の画素が横方向オクルージョン領域の場合である。この場合は、左目用画像において注目画素と対応した画素（ｘ＋ｐ）の左隣の画素（ｘ＋ｐ−１）について、対応画素を右目用画像から選ぶ。例えば、要素（ｘ−３，ｐ＋２）は、右目用画像の画素（ｘ−３）と左目用画像の画素（ｘ＋ｐ−１）が対応することを示す。このとき、右目用画像の（ｘ−１）と（ｘ−２）の２つの画素は、左目用画像内に対応点が無く、横方向オクルージョン領域となる。また、右目用画像の画素（ｘ−３）と注目画素との視差横成分の差分が２であり、横方向オクルージョン領域の幅と等しい。つまり、横方向オクルージョン領域の横幅がその右側と左側の画素間の視差横成分の差分と等しくなるように制約されている。
【００４８】
図４は（４）式で示す集合Ａｘの範囲を示しており、横軸はｘ座標、縦軸は視差横成分である。格子模様を付けた座標は注目画素（ｘ）を示し、その視差横成分がｐである。このとき、黒で示したＰ＋１個の座標がＡｘの要素に相当する。また、図４中、斜線で示した座標は、画像端における視差の探索範囲外の領域を示しており、次式の集合Ｂで表わされる。（２）式の計算において、この領域では、Ｕ（ｘ，ｐ）の値を、無限大とみなせる大きな値で置き換える。
【００４９】
【数３】
0005318168.tif 000004
【００５０】
また、（２）式の計算において、ｍｉｎ（ｑ）で最小値を与えたｑの値、つまりＭ（ｘ，ｙ，ｐ，ｑ）が最小となったときのｑの値を、Ｋｑ（ｘ，ｐ）として保持しておく。同様に、ｍｉｎ（ｘｂ，ｐｂ）で最小値を与えたｘｂの値、ｐｂの値、つまりＵ（ｘｂ，ｐｂ）＋Ｄｐｘ（ｐ，ｐｂ）が最小となったときのｘｂの値、ｐｂの値を、それぞれＫｘ（ｘ，ｐ）、Ｋｐ（ｘ，ｐ）として保持しておく。このＫｘとＫｐは、評価値Ｕに対する経路を表している。また、ｘｂ、ｐｂは、それぞれ右目用画像の集合Ａｘにおける横方向の座標、視差の横成分の値である。なお、（２）〜（４）式の技術的な意味については後述する。
【００５１】
視差マップ作成部１３では、算出した評価値Ｕ（ｗ−１，ｐ）とＫｘ（ｘ，ｐ）、Ｋｐ（ｘ，ｐ）、Ｋｑ（ｘ，ｐ）とを用いて、注目行の各画素の視差マップを作成する。まず、動的計画法に基づき、評価値算出部１２で得られたＰ＋１個の評価値Ｕ（ｗ−１，ｐ）の中から、最小の評価値を選択する。但し、本例では式（５）の領域においてＵ（ｘ，ｐ）の値を無限大としたため、自動的にＵ（ｗ−１，０）が最小となる。そして、その評価値における経路をＫｘとＫｐを参照して右端画素（ｘ＝ｗ−１）から順に左へ向かってたどり、各画素の視差横成分と視差縦成分を検出する。併せてそれらの視差横成分からオクルージョン領域の検出も行う。
【００５２】
視差マップ作成部１３における処理の一例について、その流れを図５を参照しながら説明する。例として、Ｕ（ｗ−１，０）が最小となった場合について示したものである。まず、ステップＳ１において、変数ｘ，ｘｂ，ｐｂの値を初期化する。ｘは注目行における右目用画像の横方向の座標であり、この処理例では注目行の右端画素から順に処理を行うために、初期値としてｗ−１が入力されている。ｘｂは右目用画像の集合Ａｘにおける横方向の座標であり、ｘと同様の理由からｗ−１が初期値として入力されている。ｐｂは右目用画像の集合Ａｘにおける視差の横成分の値であり、初期値として０が入力されている。
【００５３】
次に、ステップＳ２において、ｘｂとｘの値を比較する。値が異なる場合、すなわち、評価値算出部１２においてＡｘの中から要素［ＩＩＩ］が選択されていた場合、ステップＳ３に進む。ステップＳ３では、座標（ｘ，ｙ）が横方向オクルージョン領域であると判定し、オクルージョンマップにオクルージョン領域に該当することを示すフラグを出力する。その後、ステップＳ８に進む。
【００５４】
ステップＳ２において値が同じである場合、すなわち、評価値算出部１２においてＡｘの中から要素［Ｉ］又は［ＩＩ］が選択されていた場合、ステップＳ４に進み、ｐにｐｂの値を入力する。続いて、ステップＳ５において、座標（ｘ，ｙ）の視差横成分の値をｐと検出し、視差横成分マップに出力する。さらに、ステップＳ６において、座標（ｘ，ｙ）の視差縦成分の値をＫｑ（ｘ，ｐ）と検出し、視差縦成分マップに出力する。ステップＳ５，Ｓ６の処理後は、ステップＳ７において、ｘｂの値、ｐｂの値を、それぞれＫｘ（ｘ，ｐ）、Ｋｐ（ｘ，ｐ）で更新する。
【００５５】
また、ステップＳ３の処理後、並びにステップＳ７の処理後は、ステップＳ８において、ｘ＝０となったか否かを判定する。そして、ｘ＝０である場合は左端画素まで処理が終了しているため、図５の処理を終了し、それ以外の場合は、ステップＳ９において左隣りの画素に移動し、ステップＳ２に戻る。
【００５６】
上述した処理において、ステップＳ２，Ｓ３はオクルージョン領域の判定を行う処理であり、これらの処理はオクルージョン領域検出部１０１が実行する。ステップＳ４，Ｓ５は視差横成分を検出する処理であり、これらの処理は視差横成分検出部１０２が実行する。ステップＳ６は視差縦成分を検出する処理であり、この処理は視差縦成分検出部１０３が実行する。
【００５７】
このようにして、注目行内の全画素の視差（全てのｘについての視差）が推定され、同時に、行内のオクルージョン領域が検出される。そして、評価値算出部１２と視差マップ作成部１３が全ての行に対して処理を実行することで、画像全体の視差が推定され、視差マップが作成される。
【００５８】
次に、上述した（２）〜（４）式について、その技術的意味を説明する。
（２）式のｍｉｎ（ｑ）の項は、視差の縦成分を探索する効果を持つ。各視差横成分ｐに対して、視差縦成分ｑの値を探索範囲内で変化させた際に最小となる類似度を用いて評価値に加算する。また、（２）式のｍｉｎ（ｘｂ，ｐｂ）の項は、左隣りの画素における最小評価値を用いて評価値を累積する動的計画法の手法が適用されている。
【００５９】
但し、非特許文献１と同様に、（４）式で定めたＡｘの範囲を用いることによって、オクルージョン領域の類似度を除いて評価値を累積している。また、（４）式で示す集合Ａｘは、オクルージョン領域の左端と右端に隣接する画素間の視差横成分の差分の大きさを、オクルージョン領域の横幅と等しくなるように制約するためのものである。つまり、ここでは、評価値算出部１２は、横方向オクルージョン領域に隣接する右側と左側の画素間の視差横成分の差分の大きさが横方向オクルージョン領域の横幅と等しくなるという条件下で、評価値の算出を行っている。よって、オクルージョン領域検出部１０１では、横方向のオクルージョン領域を検出していると言える。このような範囲の集合Ａｘを採用することで、オクルージョン領域検出と視差推定の誤りを生じにくくする効果がある。また、（２）式の定数項ｃ０は、対応点の個数に応じて評価値に報酬を与え、オクルージョン領域を誤って広く検出することを防ぐ効果がある。
【００６０】
また、（３）式のＤｐｘは、視差の横成分の連続性を示す値であり、視差の横成分が不連続な場合にペナルティ（定数項ｃ１）を与えてその視差を検出されにくくするものであり、平滑化の効果を持つが、この式に限らず、２つの視差の差分を用いた線形関数などの他の関数によって平滑化の効果を与えてもよい。無論、平滑化の効果を鑑みなければ、（２）式におけるＤｐｘは常に０、つまりＤｐｘの項を除いた式を採用することもできる。
【００６１】
このように、（２）式の評価値Ｕ（ｗ−１，ｐ）は、オクルージョン領域と推定した画素を除いた全ての画素における類似度の縦成分探索範囲内での最小値と、視差の横成分の横方向の連続性を示す値との加算値の合計、に基づき算出される。
【００６２】
評価値算出部１２では、このようにして視点画像間での画素の類似度、並びに視点画像間の視差の横方向の連続性（つまり、注目画素の視差とその注目画素の横に隣接する画素の視差との連続性）を用いて、評価値を算出する。よって、算出される評価値はこれら類似度及び連続性に関する値と言える。そして、評価値算出部１２で算出される評価値は、視点画素間の画素の類似度が高いほど（上記Ｍ（ｘ，ｙ，ｐ，ｑ）が小さいほど）小さく算出され、視差の横方向の連続性が高いほど（上記Ｄｐｘが小さいほど）小さく算出されているのが分かる。
【００６３】
また、本実施形態では、視差の横成分の範囲を０≦ｐ≦Ｐとすることでｐが正値のみを取る場合について説明したが、ｐが負値を取り得る場合についても、同様の手法を適用することができる。また、右目用画像の視差マップを求める場合について説明したが、逆に右目用画像に対する左目用画像の視差マップについても同様に求めることができる。
【００６４】
上述のとおり、本実施形態の立体画像処理装置によれば、視差推定を行う際に、視点画像間の画素の類似度によって視差の横成分と縦成分の両方を推定し、オクルージョン領域の検出を同時に行うことにより、視差に縦成分のある画像に対しても誤りの少ない視差推定を行うことができる。この効果は、視差の連続性として、注目画素の視差とその注目画素の横に隣接する画素の視差との連続性を用いるだけでも得られるものである。なお、本実施形態では、視差マップ作成部１３が、オクルージョン領域の検出と視差の横成分と縦成分の検出処理を行うことを前提に説明したが、オクルージョン領域の検出を行わない場合にも、視差の両方向成分を推定しているため、視差に縦成分のある画像に対しても誤り少なく視差を推定することができる。
【００６５】
次に、第一の実施形態の主たる特徴として、上述した横方向の連続性を採用した例を参照しながら、注目画素の視差とその注目画素の横及び縦に隣接する画素の視差との連続性を算出し、その結果及び算出した画素の類似性を用いて評価値を算出する方法について説明する。ここでは、評価値は、画素の類似度が高いほど小さく算出され、視差の横方向及び縦方向の連続性が高いほど小さく算出されることになる。
【００６６】
第一の実施形態は、視差の横方向と縦方向の両方に平滑化の効果を与えるように上述した横方向のみの連続性を採用した例を変更したものである。よって、本実施形態における立体画像処理装置の概略構成例は、上述したように図１の立体画像処理装置１０で示されるが、評価値算出部１２における処理の方法が上述した横方向のみの連続性を採用した例とは異なる。
【００６７】
その相違点について説明すると、上述した横方向のみの連続性を採用した例における評価値算出部１２は、注目画素の視差の横成分について横方向の連続性を求め、評価値の算出に用いている。これに対し、第一の実施形態における評価値算出部１２は、注目画素の視差の横成分と縦成分について、それぞれ横方向と縦方向の連続性を求め、評価値の算出に用いている。
【００６８】
より具体的な例を挙げると、第一の実施形態では、上端の行から順に１行ずつ視差推定を行うが、その際、前の行で求めた視差の値を用いる。前行で求めた視差の横成分、縦成分をそれぞれＦｐ（ｘ）、Ｆｑ（ｘ）として説明する。評価値算出部１２では、まず、上述した横方向のみの連続性を採用した例と同様に類似度Ｍ（ｘ，ｙ，ｐ，ｑ）を計算する。
【００６９】
評価値算出部１２では、次に、下の（６）式に従い、評価値Ｕ（ｘ，ｐ）を０≦ｘ≦ｗ−１，０≦ｐ≦Ｐを満たす全ての（ｘ，ｐ）について算出する。計算の手順としては、（６）式を用い、まずｘ＝０の場合を計算し、その後ｘ＝１からｗ−１まで順に計算する。
【００７０】
【数４】
0005318168.tif 000005
【００７１】
ここで、Ｄｑｘ，Ｄｐｙ，Ｄｑｙはそれぞれ次式で示す関数であり、ｃ２，ｃ３，ｃ４，ｃ５，ｃ６は定数である。ｏｃｃは、その画素がオクルージョン領域であることを示す定数である。Ｄｐｘ、Ａｘは、それぞれ（３）式、（４）式をそのまま用い、残りの処理は、上述した横方向のみの連続性を採用した例と同様に行う。（６）式の計算において、ｍｉｎ（ｑ）で最小値を与えたｑの値をＫｑ（ｘ，ｐ）として保持しておく。同様に、ｍｉｎ（ｘｂ，ｐｂ）で最小値を与えたｘｂの値、ｐｂの値をそれぞれＫｘ（ｘ，ｐ）、Ｋｐ（ｘ，ｐ）として保持しておく。なお、（６）〜（９）式の技術的な意味については後述する。
【００７２】
【数５】
0005318168.tif 000006
【００７３】
但し、注目行が画像の上端の行の場合は、Ｆｐ（ｘ）、Ｆｑ（ｘ）に値が入っていないため、（６）式の代わりに下の（１０）式を用いる。
【００７４】
【数６】
0005318168.tif 000007
【００７５】
視差マップ作成部１３では、上述した横方向のみの連続性を採用した例と同様の処理を行う。注目行内の全ての画素の視差推定が終了した時点で、行内の全ての視差の横成分と縦成分をＦｐ（ｘ）とＦｑ（ｘ）として保持する。但し、オクルージョン領域と検出された画素については、Ｆｐ（ｘ）とＦｑ（ｘ）の両方にｏｃｃを代入する。その後、次の行に移る。以上の処理を全ての行で行うことで、画像全体の視差が推定され、視差マップが作成される。
【００７６】
また、本実施形態では、最上行から順に処理を行った例を挙げたが、これに限らず、例えば最下行から順に上に向かって処理を行ってもよい。他の例として、中心行の推定を最初に行い、中心から順に上に向かって最上行まで処理を行い、その後、中心から順に下に向かって最下行まで処理を行ってもよい。これは、前行の誤りが注目行に伝播する場合があることを考慮し、誤りが生じにくい行から推定処理を行うことによって、画像全体での誤りを少なく抑える効果がある。
【００７７】
ここで、上述した（６）〜（９）式について、その技術的意味を説明する。
（７）式のＤｑｘは視差縦成分の横方向の連続性を示す値であり、（８）式のＤｐｙと（９）式のＤｑｙはそれぞれ視差の横成分と縦成分の縦方向の連続性を示す値である。Ｄｑｘ、Ｄｐｙ、Ｄｑｙはそれぞれ不連続な場合にペナルティを与えている。これにより、２次元的な平滑化の効果を与えることができ、特に、画像中の模様が少ない領域、若しくは、繰返し模様のように、局所的な類似度だけでは視差を一意に決められない領域に対して、視差推定の誤りを減らすことができる。
【００７８】
そして、（６）式の評価値Ｕ（ｗ−１，ｐ）は、これらの連続性を示す値と（１）式の類似度Ｍ（ｘ，ｙ，ｐ，ｑ）とに基づいて算出された値である。より具体的には、（６）式で示す評価値Ｕ（ｗ−１，ｐ）は、オクルージョン領域と推定した画素を除いた全ての画素における類似度の縦成分探索範囲内での最小値と、視差の横成分と縦成分の横方向と縦方向の連続性を示す値との加算値の合計、に基づき算出される。
【００７９】
評価値算出部１２では、このようにして視点画像間での画素の類似度、並びに視点画像間の視差の横方向及び縦方向の連続性（つまり、注目画素の視差とその注目画素の横及び縦に隣接する画素の視差との連続性）を用いて、評価値を算出する。よって、算出される評価値はこれら類似度及び連続性に関する値と言える。そして、評価値算出部１２で算出される評価値は、視点画素間の画素の類似度が高いほど（上記Ｍ（ｘ，ｙ，ｐ，ｑ）が小さいほど）小さく算出され、視差の横方向及び縦方向の連続性が高いほど（上記Ｄｐｘ及び上記Ｄｑｙが小さいほど）小さく算出されているのが分かる。
【００８０】
なお、（１０）式については、基本的に（６）式と同様の意味をもっており、上述したように注目行が上端の行であってＦｐ（ｘ），Ｆｑ（ｘ）の値が入っていない場合について特化したものである。
【００８１】
上述のとおり、本実施形態の立体画像処理装置によれば、視差推定を行う際には視差の横成分と縦成分を推定すること、並びに視差推定を行う際には視差に対して横方向に若しくは横方向及び縦方向に平滑化を行うことによって、視差に縦成分があり、かつ模様が曖昧な画像に対しても誤りの少ない視差推定を行うことができる。なお、上述した横方向のみの連続性を採用した例では、視差の横成分について横方向の連続性を評価値の算出に用いた例を挙げたが、ここでの説明を適用するなどして、視差横成分の縦方向の連続性も用いるように構成することもできる。
【００８２】
（第二の実施形態）
第二の実施形態は、第一の実施形態における視差縦成分の探索範囲を修正したものである。一般的に、レンズ歪は画像中心から遠い程大きくなり、また、交差法撮影における光軸の角度によって生じる視差縦成分は、被写体の距離が一定の場合には画像中心から遠い程、大きくなる。このため、例えば、撮影したカメラの光軸やレンズ等の特性が測定によって予め分かっている場合、視差縦成分の分布傾向が予測できる。
【００８３】
本実施形態では、評価値算出部１２において、このように視差縦成分の画像内での分布傾向が予め分かっている場合、それに応じて視点画像間の視差縦成分の探索範囲（つまり上記所定範囲の縦方向の範囲）を座標に応じて変動させる。つまり、第二の実施形態における評価値算出部１２は、視点画像間の視差の縦成分についての探索範囲を注目画素の座標に応じて変化させる。
【００８４】
例えば、画像の中心付近では視差縦成分の大きさが小さいことが分かっている画像の場合、（２）式においてｍｉｎを求める範囲（−Ｑ≦ｑ≦Ｑ）の代わりに、次の（１１）式を用いる。但しｗ，ｈはそれぞれ画像の横画素数、縦画素数である。
【００８５】
【数７】
0005318168.tif 000008
【００８６】
上述のとおり、本実施形態の立体画像処理装置によれば、視差縦成分の画像内での分布傾向が予め分かっている場合、それに応じて視差縦成分の探索範囲を座標に応じて変動させることで、誤りの少ない視差推定を行うことができる。
【００８７】
また、第二の実施形態では、より好ましい例として、第一の実施形態における視差横成分の探索範囲も修正することができる。すなわち、同様に、視差横成分の画像内での分布傾向が予め分かっている場合、それに応じて視点画像間の視差縦成分の探索範囲（つまり上記所定範囲の横方向の範囲）を座標に応じて変動させることで、誤りの少ない視差推定を行うことができる。なお、視差横成分についても、一般的に、レンズ歪は画像中心から遠い程大きくなり、また、交差法撮影における光軸の角度によって生じる視差横成分は、被写体の距離が一定の場合には画像中心から遠い程、大きくなるため、分布傾向の予測は可能である。このような視差横成分の探索範囲を変動させる処理と、視差縦成分の探索範囲を変動させる処理とは、いずれか一方のみを採用することもできる。
【００８８】
（第三の実施形態）
第三の実施形態は、横方向オクルージョン領域と縦方向オクルージョン領域の両方を検出できるように第一の実施形態を変更したものである。無論、ここで説明する第三の実施形態は、第二の実施形態と併せて採用することができる。図６は、本発明の第三の実施形態に係る立体画像処理装置の概略構成例を示すブロック図である。
【００８９】
図６で示すように、本実施形態の立体画像処理装置２０は、入力部２１と、評価値算出部２２と、視差マップ作成部２３とを有している。視差マップ作成部２３は、横方向オクルージョン領域検出部２０１、視差横成分検出部２０２、縦方向オクルージョン領域検出部２０３、視差縦成分検出部２０４を有し、それぞれ横方向オクルージョンマップ、視差横成分マップ、縦方向オクルージョンマップ、視差縦成分マップを生成、出力する。横方向オクルージョンマップ、縦方向オクルージョンマップ、視差横成分マップ、視差縦成分マップを併せて、視差マップと呼ぶことにする。本実施形態では、上端の行から順に１行ずつ視差推定を行うが、前行で求めた視差の縦成分Ｆｑ（ｘ）と前行で求めたオクルージョンフラグＦｃ（ｘ）を用いる。
【００９０】
入力部２１は、第一の実施形態の入力部１１と同様である。評価値算出部２２では、まず、第一の実施形態の（１）式と同様に、注目行ｙについて類似度Ｍ（ｘ，ｙ，ｐ，ｑ）を計算する。次に、下の（１２）式に従い、評価値Ｕ（ｘ，ｐ）を０≦ｘ≦ｗ−１，０≦ｐ≦Ｐを満たす全ての（ｘ，ｐ）について算出する。計算の手順としては、（１２）式を用い、まず、ｘ＝０の場合を計算し、その後ｘ＝１から順にｗ−１まで計算する。Ａｘは、第一の実施形態と同様に式（４）を満たす（ｘ，ｐ）の集合である。式（１２）式は再帰的になっており、最後に得られたＵ（ｗ−１，ｐ）が注目行内の視差値の組合せに対する評価値となる。０≦ｐ≦Ｐであるため、Ｕ（ｗ−１，ｐ）はＰ＋１個得られ、Ｐ＋１通りの経路に対する評価値である。
【００９１】
【数８】
0005318168.tif 000009
【００９２】
（１４）式のＡｙは、右目用画像の注目行ｙにおける注目画素（座標（ｘ，ｙ））の視差横成分がｐであると仮定した場合の視差縦成分の候補を示している。
Ｆｃ（ｘ）＝０のとき、注目画素の上隣の画素（ｘ，ｙ−１）は横方向オクルージョン領域でも縦方向オクルージョン領域でもなく、その視差縦成分はＦｑ（ｘ）である。また、その視差横成分をＦｐと示すと、右目用画像の画素（ｘ，ｙ−１）と左目用画像の画素（ｘ＋Ｆｐ，ｙ−１＋Ｆｑ（ｘ））が対応している。この場合のＡｙの要素を３つに分類して説明する。
【００９３】
［ｉ］要素（ｙ，Ｆｑ（ｘ））
上隣の画素（ｘ，ｙ−１）と注目画素の視差縦成分が同じ場合である。右目用画像の画素（ｘ，ｙ）と左目用画像の画素（ｘ＋ｐ，ｙ＋Ｆｑ（ｘ））が対応する。
【００９４】
［ｉｉ］要素（ｙ，Ｆｑ（ｘ）＋１），…，（ｙ，Ｑ）
注目画素の視差縦成分が、上隣の画素より大きい場合である。例えば、要素（ｙ，Ｆｑ（ｘ）＋２）は、右目用画像の画素（ｘ，ｙ）と左目用画像の画素（ｘ＋ｐ，ｙ＋Ｆｑ（ｘ）＋２）が対応することを示す。このとき、左目用画像の（ｘ＋ｐ，ｙ＋Ｆｑ（ｘ））と（ｘ＋ｐ，ｙ＋Ｆｑ（ｘ）＋１）の２つの画素は右目用画像内に対応点が無いと考える。つまり、左目用画像に縦方向オクルージョンがある場合である。
【００９５】
［ｉｉｉ］要素（ｙ＋１，Ｆｑ（ｘ）−１），…，（ｙ＋Ｆｑ（ｘ）＋Ｑ，−Ｑ）
注目画素が縦方向オクルージョン領域の場合である。この場合は、左目用画像の画素（ｘ＋ｐ′，ｙ＋Ｆｑ（ｘ））の対応画素を右目用画像から選ぶ。例えば、要素（ｙ＋２，Ｆｑ（ｘ）−２）は、右目用画像の画素（ｘ，ｙ＋２）と左目用画像の画素（ｘ＋ｐ′，ｙ＋Ｆｑ（ｘ））が対応することを示す。このとき、右目用画像の（ｘ，ｙ）と（ｘ，ｙ＋１）の２つの画素は、左目用画像内に対応点が無く、縦方向オクルージョン領域となる。また、右目用画像の（ｘ，ｙ−１）と（ｘ，ｙ＋２）との視差縦成分の差分が２であり、縦方向オクルージョン領域の縦幅と等しい。つまり、縦方向オクルージョン領域の縦幅がその上側と下側の画素間の視差縦成分の差分と等しくなるように制約されている。
【００９６】
Ｆｃ（ｘ）≠０のとき、注目画素の上隣の画素は横方向オクルージョン領域又は縦方向オクルージョン領域である。Ｆｃ（ｘ）＋１は、注目画素からオクルージョン領域の上端に隣接する画素までの距離であり、その画素の視差縦成分がＦｑ（ｘ）に保持されている。その画素の視差横成分をＦｐと示すと、右目用画像の（ｘ，ｙ−１−Ｆｃ（ｘ））と左目用画像の（ｘ＋Ｆｐ，ｙ−１−Ｆｃ（ｘ）＋Ｆｑ（ｘ））が対応している。この場合のＡｙの要素を２つに分類して説明する。
【００９７】
［ｉｖ］要素（ｙ，Ｆｑ（ｘ）−Ｆｃ（ｘ））
注目画素が縦方向オクルージョン領域でない場合である。右目用画像の（ｘ，ｙ）と左目用画像の（ｘ＋ｐ，ｙ＋Ｆｑ（ｘ）−Ｆｃ（ｘ））が対応する。注目画素の視差縦成分はＦｑ（ｘ）−Ｆｃ（ｘ）であり、縦方向オクルージョン領域の上端に隣接する画素との視差縦成分の差分がＦｃ（ｘ）となる。これは、縦方向オクルージョン領域の縦幅と等しい。
【００９８】
［ｖ］要素（ｙ＋１，Ｆｑ（ｘ）−Ｆｃ（ｘ）−１），…，（ｙ＋Ｆｑ（ｘ）−Ｆｃ（ｘ）＋Ｑ，−Ｑ）
注目画素が縦方向オクルージョン領域の場合である。この場合は、左目用画像（ｘ＋ｐ′，ｙ＋Ｆｑ（ｘ）−Ｆｃ（ｘ））の対応画素を右目用画像から選ぶ。
【００９９】
（１２）式の計算において、ｍｉｎ（ｙｂ，ｑｂ）で最小値を与えたｙｂとｑｂの値、つまりＭ′（ｘ，ｙｂ，ｐ，ｑｂ）が最小となったときのｙｂの値、ｑｂの値を、それぞれＫｙ（ｘ，ｐ），Ｋｑ（ｘ，ｐ）に保持しておく。また、第一の実施形態と同様に、ｍｉｎ（ｘｂ，ｐｂ）で最小値を与えたｘｂ，ｐｂの値をそれぞれＫｘ（ｘ，ｐ）、Ｋｐ（ｘ，ｐ）に保持しておく。但し、注目行が画像の上端の行の場合は、Ｆｑ（ｘ）、Ｆｃ（ｘ）に値が入っていないため、（１２）式の代わりに（２）式を用いる。これらのＫｘ、Ｋｐ、Ｋｙ、Ｋｑは、評価値Ｕに対する経路を表している。なお、（１２）〜（１４）式の技術的な意味については後述する。
【０１００】
視差マップ作成部２３では、算出された評価値から視差の横成分及び縦成分を検出するが、算出した評価値Ｕ（ｗ−１，ｐ）とＫｘ（ｘ，ｐ）、Ｋｐ（ｘ，ｐ）、Ｋｑ（ｘ，ｐ）とを用いて、注目行の各画素について、視差の横成分・縦成分の検出と共にオクルージョン領域か否かの判定も行う。オクルージョン領域は、縦方向オクルージョンと横方向オクルージョンの両方を判定する。
【０１０１】
視差マップ作成部２３における処理の一例について、その流れを図７を参照しながら説明する。例として、Ｕ（ｗ−１，０）が最小となった場合について示したものである。まず、ステップＳ１１において、変数ｘ，ｘｂ，ｐｂの値を初期化する。この初期化については図５のステップＳ１で説明したとおりである。
【０１０２】
次に、ステップＳ１２において、ｘｂとｘの値を比較する。値が異なる場合、ステップＳ１３に進む。ステップＳ１３では、座標（ｘ，ｙ）が横方向オクルージョンであると判定し、横方向オクルージョンマップに横方向オクルージョン領域に該当することを示すフラグを出力する。その後、ステップＳ２１でＦｑ（ｘ）、Ｆｃ（ｘ）の値をそれぞれ−Ｑ−１、０に更新し、ステップＳ２３に進む。
【０１０３】
ステップＳ１２において値が同じである場合、ステップＳ１４に進み、ｐにｐｂの値を入力する。さらに、ステップＳ１５において、座標（ｘ，ｙ）の視差横成分の値をｐと検出し、視差横成分マップに出力する。
【０１０４】
次に、ステップＳ１６において、座標（ｘ，ｙ）の視差縦成分Ｋｑ（ｘ，ｐ）と、前行の視差縦成分から前行の縦オクルージョン領域幅を引いた差分、すなわちＦｑ（ｘ）−Ｆｃ（ｘ）の値を比較する。Ｋｑ（ｘ，ｐ）がＦｑ（ｘ）−Ｆｃ（ｘ）以上の場合、すなわち評価値算出部２２においてＡｙの中から要素［ｉ］、［ｉｉ］、［ｉｖ］のいずれかが選択されていた場合、ステップＳ１８において、座標（ｘ，ｙ）の視差縦成分の値をＫｑ（ｘ，ｐ）と検出し、視差縦成分マップに出力する。ステップＳ１８の後、ステップＳ１９においてＦｑ（ｘ）、Ｆｃ（ｘ）の値をそれぞれＫｑ（ｘ，ｐ）、０で更新し、ステップＳ２２においてｘｂ、ｐｂの値をそれぞれＫｘ（ｘ，ｐ）、Ｋｐ（ｘ，ｐ）で更新する。
【０１０５】
ステップＳ１６においてＫｑ（ｘ，ｐ）がＦｑ（ｘ）−Ｆｃ（ｘ）未満の場合、すなわち評価値算出部２２においてＡｙの中から要素［ｉｉｉ］又は［ｖ］が選択されていた場合、ステップＳ１７に進む。ステップＳ１７では、座標（ｘ，ｙ）が縦方向オクルージョンであると判定し、縦方向オクルージョンマップに縦方向オクルージョン領域に該当することを示すフラグを出力する。ステップＳ１７の後、ステップＳ２０においてＦｃの値を１だけ増やすように更新し、その後、ステップＳ２２においてｘｂ、ｐｂの値をそれぞれＫｘ（ｘ，ｐ）、Ｋｐ（ｘ，ｐ）で更新する。ここでＦｑ（ｘ）の値は更新せずそのままとする。
【０１０６】
最後に、ステップＳ２１の処理後、並びにステップＳ２２の処理後は、ステップＳ２３においてｘ＝０となったか否かを判定する。ｘ＝０である場合は左端画素まで処理が終了しているため、図７の処理を終了し、それ以外の場合は、ステップＳ２４において左隣りの画素に移動し、ステップＳ１２に戻る。但し、注目行が画像の上端の行の場合は、予めＦｑ（ｘ）＝−Ｑ−１，Ｆｃ（ｘ）＝０で初期化しておく。なお、ステップＳ２１における−Ｑ−１とは、Ｋｑ（ｘ，ｐ）がとり得る値の範囲、すなわち視差の縦成分探索範囲よりも小さい値であり、次にステップＳ１６を通る際に、Ｋｑ（ｘ，ｐ）がＦｑ（ｘ）−Ｆｃ（ｘ）以上であると判定させるために用いる値である。
【０１０７】
上述した処理において、ステップＳ１２，Ｓ１３は、横方向オクルージョン領域の判定を行う処理であり、これをまとめて横方向オクルージョン領域検出部２０１が実行する。ステップＳ１４，Ｓ１５は、視差横成分を検出する処理であり、これをまとめて視差横成分検出部２０２が実行する。ステップＳ１６，Ｓ１７は、縦方向オクルージョン領域の判定を行う処理であり、これをまとめて縦方向オクルージョン領域検出部２０３が実行する。ステップＳ１８は、視差縦成分を検出する処理であり、これを視差縦成分検出部２０４が実行する。
【０１０８】
このようにして、注目行内の全画素の視差が推定され、同時に、行内の横方向オクルージョン領域と縦方向オクルージョン領域が検出される。評価値算出部２２と視差マップ作成部２３を全ての行で行うことで、画像全体の視差が推定され、視差マップが作成される。
【０１０９】
次に、上述した（１２）〜（１４）式について、その技術的意味を説明する。
（１２）式のｍｉｎ（ｙｂ，ｑｂ）の項は、視差の縦成分を探索する効果を持つが、（１４）式で定めたＡｙの範囲と（１３）式を用いることによって、縦方向のオクルージョン領域の類似度を用いず、代わりにオクルージョン領域の下端に隣接する画素の類似度を用いて評価値を累積している。
【０１１０】
（１３）式は、ｙｂ＝ｙ、すなわち縦方向オクルージョン領域でない場合には、類似度としてそのままのＭ（ｘ，ｙｂ，ｐ，ｑｂ）を用い、ｙｂ≠ｙ、すなわち縦方向オクルージョン領域の場合には、縦方向オクルージョン領域の下端に隣接する画素の類似度を用いている。この際、オクルージョン領域の下端に隣接する画素の視差横成分はまだ検出されていないため、ｍｉｎ（ｐ′）により視差横成分探索範囲内で最小となる類似度を用いる。
【０１１１】
（１４）式で示す集合Ａｙは、縦方向オクルージョン領域の上端と下端に隣接する画素間の視差縦成分の差分の大きさが、縦方向オクルージョン領域の縦幅と等しくなるように制約するためのものである。つまり、ここでは、評価値算出部２２は、縦方向のオクルージョン領域に隣接する上側と下側の画素間の視差縦成分の差分の大きさが、縦方向オクルージョン領域の縦幅と等しくなるという条件下で、評価値の算出を行う。これは、オクルージョン領域検出と視差推定の誤りを生じにくくする効果がある。
【０１１２】
そして、（１２）式の評価値Ｕ（ｗ−１，ｐ）は、横方向オクルージョン領域と推定した画素を除いた全ての画素における類似度の縦成分探索範囲内での最小値と、視差の横成分の横方向の連続性を示す値との加算値の合計、に基づき算出される。評価値算出部２２では、このようにして視点画像間での画素の類似度、並びに視点画像間の視差の横方向の連続性を用いて、評価値を算出する。そして、評価値算出部２２で算出される評価値は、視点画素間の画素の類似度が高いほど（上記Ｍ′（ｘ，ｙｂ，ｐ，ｑｂ）が小さいほど）小さく算出され、視差の横方向の連続性が高いほど（上記Ｄｐｘが小さいほど）小さく算出されているのが分かる。
【０１１３】
そして、本実施形態においても、（１２）式を（６）式と同様にして視点画像間の視差の縦方向の連続性も用いて評価値を算出するように改良すればよい。これにより、評価値算出部２２で算出される評価値は、視点画素間の画素の類似度が高いほど（上記Ｍ′（ｘ，ｙｂ，ｐ，ｑｂ）が小さいほど）小さく算出され、視差の横方向及び縦方向の連続性が高いほど（上記Ｄｐｘ、Ｄｐｙ、Ｄｑｘ及び上記Ｄｑｙが小さいほど）小さく算出されるようになる。
【０１１４】
上述のとおり、本実施形態の立体画像処理装置によれば、視差推定を行う際に、縦方向オクルージョン領域の検出を同時に行うことにより、視差に縦成分のある画像に対してもさらに誤りの少ない視差推定を行うことができる。
【０１１５】
（第一〜第三の実施形態について）
以上、本発明の各実施形態においては上記の通り、入力部１１を通して入力される複数の視点画像が左目用画像及び右目用画像の２枚の視点画像、すなわち横に配置されたカメラによる視点画像から構成される例を挙げた。但し、視点画像の数は２枚に限らず、３枚以上であっても、各実施形態において説明した処理により同様に視点画像間の視差は推定できる。例えば、ある基準となる視点画像に対する他の視点画像の視差を推定することもできるし、各視点画像間の全ての組合せについて視差を推定することもできる。オクルージョン領域の推定についても同様である。
【０１１６】
また、縦に配置されたカメラで撮影した複数の視点画像に対しても、同様に視差やオクルージョン領域を推定することも可能である。その際、各実施形態における処理をそのまま適用することも、縦方向と横方向の処理を入れ替えて適用することも可能である。さらには、斜めに配置されたカメラで撮影した複数の視点画像に対しても、同様に視差やオクルージョン領域を推定することも可能である。
【０１１７】
また、本発明の各実施形態において、動的計画法を適用して視差推定に係る各行の処理を行うことを例に挙げたが、これに限ったものではなく、例えばブロックマッチング、グラフカットなどの他の手法を適用してもよい。
【０１１８】
本発明は、上記の各実施形態に限定されるものではない。これらの実施形態にそれぞれ開示された技術的手段を適宜組合せて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１１９】
また、本発明の第一〜第三の実施形態に係る立体画像処理装置は、各種レコーダや各種記録メディア再生装置などの映像出力機器に組み込むことができる。さらに、本発明は、このような立体画像処理装置に表示デバイスを外部接続又は内部に搭載したテレビ装置やモニタ装置などの立体画像表示装置としての形態も採り得る。
【０１２０】
また、図３，図６で例示した立体画像処理装置１０，２０をはじめ、各実施形態に係る立体画像処理装置は、例えばマイクロプロセッサ（又はＤＳＰ：Digital Signal Processor）、メモリ、バス、インターフェイス、周辺装置などのハードウェアと、これらのハードウェア上にて実行可能なソフトウェアとにより実現できる。上記ハードウェアの一部又は全部は集積回路／ＩＣ（Integrated Circuit）チップセットとして搭載することができ、その場合、上記ソフトウェアは上記メモリに記憶しておければよい。また、本発明の各構成要素の全てをハードウェアで構成してもよく、その場合についても同様に、そのハードウェアの一部又は全部を集積回路／ＩＣチップセットとして搭載することも可能である。
【０１２１】
また、各実施形態に係る立体画像処理装置は単に、ＣＰＵ（Central Processing Unit）、作業領域としてのＲＡＭ（Random Access Memory）、制御用のプログラムの格納領域としてのＲＯＭ（Read Only Memory）やＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）等の記憶装置などで構成することもできる。その場合、上記制御用のプログラムは、本発明に係る処理を実行するための後述の立体画像処理プログラムを含むことになる。この立体画像処理プログラムは、ＰＣ内に立体画像処理用のアプリケーションソフトとして組み込み、ＰＣを立体画像処理装置として機能させることもできる。また、この立体画像処理プログラムは、クライアントＰＣから実行可能な状態でＷｅｂサーバ等の外部サーバに格納されていてもよい。
【０１２２】
以上、本発明に係る立体画像処理装置を中心に説明したが、本発明は、この立体画像処理装置における制御の流れを例示したように、立体画像処理方法としての形態も採り得る。この立体画像処理方法は、複数の視点画像から視点画像間の視差の横成分及び縦成分を推定する立体画像処理方法であって、評価値算出部が、視点画像間での画素の類似度及び視点画像間の視差の連続性の関数である評価値を算出するステップと、視差マップ作成部が、その評価値を最小とする、視点画像間の各画素の組合せに基づき、横成分及び縦成分を有する視差マップを作成するステップとを有するものとする。ここで、視差の連続性は、注目画素の視差とその注目画素の横に隣接する画素の視差又はその注目画素の横及び縦に隣接する画素の視差との連続性であり、評価値は、評価値を算出するステップにおいて、画素の類似度が高いほど小さく算出され、視差の連続性が高いほど小さく算出されるものとする。その他の応用例については、立体画像処理装置について説明したとおりである。
【０１２３】
また、本発明は、その立体画像処理方法をコンピュータにより実行させるための立体画像処理プログラムとしての形態も採り得る。つまり、この立体画像処理プログラムは、コンピュータに、複数の視点画像から視点画像間の視差の横成分及び縦成分を推定する立体画像処理を実行させるためのプログラムである。そして、この立体画像処理は、視点画像間での画素の類似度及び視点画像間の視差の連続性の関数である評価値を算出するステップと、その評価値を最小とする、視点画像間の各画素の組合せに基づき、横成分及び縦成分を有する視差マップを作成するステップと、を含むものとする。ここで、視差の連続性は、注目画素の視差とその注目画素の横に隣接する画素の視差又はその注目画素の横及び縦に隣接する画素の視差との連続性であり、評価値は、評価値を算出するステップにおいて、画素の類似度が高いほど小さく算出され、視差の連続性が高いほど小さく算出されるその他の応用例については、立体画像処理装置について説明したとおりである。
【０１２４】
また、その立体画像処理プログラムをコンピュータにより読み取り可能な記録媒体に記録したプログラム記録媒体としての形態についても容易に理解することができる。このコンピュータとしては、上述したように、汎用のＰＣに限らず、マイクロコンピュータやプログラム可能な汎用の集積回路／チップセットなど、様々な形態のコンピュータが適用できる。また、このプログラムは、可搬の記録媒体を介して流通させるに限らず、インターネット等のネットワークを介して、また放送波を介して流通させることもできる。ネットワークを介して受信するとは、外部サーバの記憶装置などに記録されたプログラムを受信することを指す。
【符号の説明】
【０１２５】
１Ｌ，２Ｌ…左目用画像、１Ｒ，２Ｒ…右目用画像、１０，２０…立体画像処理装置、１１，２１…入力部、１２，２２…評価値算出部、１３，２３…視差マップ作成部、１０１…オクルージョン領域検出部、１０２，２０２…視差横成分検出部、１０３，２０４…視差縦成分検出部、２０１…横方向オクルージョン領域検出部、２０３…縦方向オクルージョン領域検出部。
【図１Ａ】
0005318168.tif 000010
【図１Ｂ】
0005318168.tif 000011
【図２Ａ】
0005318168.tif 000012
【図２Ｂ】
0005318168.tif 000013
【図３】
0005318168.tif 000014
【図４】
0005318168.tif 000015
【図５】
0005318168.tif 000016
【図６】
0005318168.tif 000017
【図７】
0005318168.tif 000018