(57)【要約】【課題】複数の画像間の視差値の算出精度を向上する技術を提供する。【解決手段】視差値算出装置は、第１の画像の第１の画素毎及び第２の画像の第２の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量及び第２のセンサス特徴量を算出し、各第１の画素について、前記第１のセンサス特徴量と前記第２のセンサス特徴量とを用いて、整数画素精度の第１の視差値を算出し、各第１の画素について、前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出する。【選択図】図１４
2019120591.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとを備え、
前記プロセッサは、
（ａ）第１の位置に配置された第１のカメラで撮像された第１の画像と、第２の位置に配置された第２のカメラで撮像された第２の画像とを前記メモリから取得し、ここで、前記第１の画像は複数の第１の画素を有し、前記第２の画像は複数の第２の画素を有し、
（ｂ）前記第１の画像において、前記複数の第１の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量を算出し、前記第２の画像において、前記複数の第２の画素毎に、周囲の画素との画素値の比較により、第２のセンサス特徴量を算出し、
（ｃ）前記複数の第１の画素それぞれについて、前記第１のセンサス特徴量と、少なくとも１つの前記第２の画素の前記第２のセンサス特徴量とを用いて、前記少なくとも１つの第２の画素それぞれの位置での前記第１の画素に対する視差値に対応する相違度を算出し、
（ｄ）前記複数の第１の画素それぞれについて、前記相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得し、
（ｅ）前記複数の第１の画素それぞれについて、前記第１の画素の前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出し、
（ｆ）前記複数の第１の画素それぞれの前記第２の視差値を用いて、前記第２の画像に対する前記第１の画像の視差画像における画素毎の視差値を取得する
視差値算出装置。
【請求項２】
前記複数の第１の画素は、第３の画素と、第４の画素と、第５の画素とを含み、
前記複数の第２の画素は、第６の画素と、第７の画素と、第８の画素とを含み、
前記第４の画素及び前記第５の画素は、前記第１の画像上における前記第３の画素から所定の距離内に位置する前記第３の画素に対する周囲の画素であり、
前記第７の画素及び前記第８の画素は、前記第２の画像上における前記第６の画素から所定の距離内に位置する前記第６の画素に対する周囲の画素であり、
処理（ｂ）において、前記第３の画素の前記第１のセンサス特徴量は、前記第３の画素の画素値と前記第４の画素の画素値との比較値と、前記第３の画素の画素値と前記第５の画素の画素値との比較値とを有し、
前記第６の画素の前記第２のセンサス特徴量は、前記第６の画素の画素値と前記第７の画素の画素値との比較値と、前記第６の画素の画素値と前記第８の画素の画素値との比較値とを有する
請求項１に記載の視差値算出装置。
【請求項３】
前記プロセッサは、前記第１のセンサス特徴量と前記第２のセンサス特徴量との間のハミング距離を、前記相違度として算出する
請求項１または２に記載の視差値算出装置。
【請求項４】
前記プロセッサは、
処理（ｅ）において、
前記第１の画素の前記第１の視差値と、前記第１の視差値の第１の近傍視差値と、前記第１の視差値の第２の近傍視差値とのそれぞれに対応する位置にある第１の参照画素、第２の参照画素及び第３の参照画素を、前記第２の画素から抽出し、
前記第１の画素及びその周辺画素の画素値と、前記第１の参照画素及びその周辺画素の画素値との差異に基づく、第１のサブピクセル評価値を算出し、
前記第１の画素及びその周辺画素の画素値と、前記第２の参照画素及びその周辺画素の画素値との差異に基づく、第２のサブピクセル評価値を算出し、
前記第１の画素及びその周辺画素の画素値と、前記第３の参照画素及びその周辺画素の画素値との差異に基づく、第３のサブピクセル評価値を算出し、
前記第１のサブピクセル評価値と前記第１の視差値との組、前記第２のサブピクセル評価値と前記第１の近傍視差値との組、及び、前記第３のサブピクセル評価値と前記第２の近傍視差値との組を用いた等角フィッティングを用いて、前記第１の画素の前記第２の視差値を算出する
請求項１〜３のいずれか一項に記載の視差値算出装置。
【請求項５】
前記プロセッサは、
処理（ｃ）と処理（ｄ）との間において、
（ｇ）前記第１の画像において、視差値の算出対象の前記第１の画素である着目画素から、所定の方向に位置する前記第１の画素である評価画素それぞれについて、
前記評価画素のうち、第１の評価画素に前記所定の方向で隣り合う第２の評価画素の視差値と、前記第２の画像における前記第１の評価画素に対応する位置の対応画素に対する、相違度算出のための探索範囲内の前記第２の画素それぞれの視差値との比較に基づき、前記探索範囲内の前記第２の画素それぞれの第１の評価値を算出し、
前記第１の評価画素と前記探索範囲内の前記第２の画素それぞれとの間の相違度と、前記探索範囲内の前記第２の画素それぞれの第１の評価値とに基づき、前記探索範囲内の前記第２の画素それぞれの視差値についての第２の評価値を算出し、
前記探索範囲内の前記第２の画素それぞれの視差値に対応する全ての前記評価画素の前記第２の評価値を加算して、加算評価値を算出し、
処理（ｄ）において、最小の前記加算評価値に対応する前記視差値を前記着目画素の前記第１の視差値に決定する
請求項１〜４のいずれか一項に記載の視差値算出装置。
【請求項６】
前記プロセッサは、
処理（ｅ）において、前記第１の画素について、前記第１の視差値と、前記複数のサブピクセル評価値のうちの最大値又は最小値を与える前記第２の画素に対応する第３の視差値とが一致しない場合、
前記第１の画素と前記第１の画素の周囲の画素との間の視差値の連続性に基づき、小数点以下の視差値として−０．５又は０．５の視差値を決定し、
決定された視差値を前記第１の視差値に加算した視差値を、前記第１の視差値の代わりに用いる
請求項１〜５のいずれか一項に記載の視差値算出装置。
【請求項７】
前記プロセッサは、
処理（ｂ）において、対象画素のセンサス特徴量を算出する際に比較する周囲の画素の領域である比較領域として、前記対象画素を含み且つ前記対象画素に対する位置が異なる複数の前記比較領域を決定し、
前記比較領域それぞれについて、前記複数の第１の画素の前記第１のセンサス特徴量と、前記複数の第２の画素の前記第２のセンサス特徴量とを算出し、
処理（ｃ）において、前記比較領域それぞれについて、前記相違度を算出し、
処理（ｄ）において、全ての前記比較領域の前記相違度のうち、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得する
請求項１〜６のいずれか一項に記載の視差値算出装置。
【請求項８】
前記プロセッサは、
処理（ｃ）において、前記相違度が算出される前記第１の画素及び前記第２の画素について、前記第１の画素の前記周囲の画素の画素値である輝度値と前記第２の画素の前記周囲の画素の画素値である輝度値との差異と、前記第１の画素の前記周囲の画素の輝度勾配と前記第２の画素の前記周囲の画素の輝度勾配との差異との少なくとも一方に基づく重みを、前記相違度に付加する
請求項１〜７のいずれか一項に記載の視差値算出装置。
【請求項９】
前記プロセッサは、
処理（ｇ）において、前記第１の評価画素と前記探索範囲内の前記第２の画素との間における画素値の差異である輝度値の差異、前記第１の評価画素と前記探索範囲内の前記第２の画素との間における輝度勾配の差異、並びに、前記第１の評価画素又は前記探索範囲内の前記第２の画素における輝度勾配のうちの少なくとも一つに基づく重みを、前記第１の評価値に付加する
請求項５に記載の視差値算出装置。
【請求項１０】
（ａ）第１の位置に配置された第１のカメラで撮像される第１の画像と、第２の位置に配置された第２のカメラで撮像される第２の画像とを取得し、
（ｂ）前記第１の画像において、前記第１の画像の複数の第１の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量を算出し、前記第２の画像において、前記第２の画像の複数の第２の画素毎に、周囲の画素との画素値の比較により、第２のセンサス特徴量を算出し、
（ｃ）前記複数の第１の画素それぞれについて、前記第１のセンサス特徴量と、少なくとも１つの前記第２の画素の前記第２のセンサス特徴量とを用いて、前記少なくとも１つの第２の画素それぞれの位置での前記第１の画素に対する視差値に対応する相違度を算出し、
（ｄ）前記複数の第１の画素それぞれについて、前記相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得し、
（ｅ）前記複数の第１の画素それぞれについて、前記第１の画素の前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出し、
（ｆ）前記複数の第１の画素それぞれの前記第２の視差値を用いて、前記第２の画像に対する前記第１の画像の視差画像における画素毎の視差値を取得し、
処理（ａ）〜処理（ｆ）の少なくとも１つは、少なくとも１つのプロセッサによって実行される
視差値算出方法。
【請求項１１】
前記複数の第１の画素は、第３の画素と、第４の画素と、第５の画素とを含み、
前記複数の第２の画素は、第６の画素と、第７の画素と、第８の画素とを含み、
前記第４の画素及び前記第５の画素は、前記第１の画像上における前記第３の画素から所定の距離内に位置する前記第３の画素に対する周囲の画素であり、
前記第７の画素及び前記第８の画素は、前記第２の画像上における前記第６の画素から所定の距離内に位置する前記第６の画素に対する周囲の画素であり、
処理（ｂ）において、前記第３の画素の前記第１のセンサス特徴量は、前記第３の画素の画素値と前記第４の画素の画素値との比較値と、前記第３の画素の画素値と前記第５の画素の画素値との比較値とを有し、
前記第６の画素の前記第２のセンサス特徴量は、前記第６の画素の画素値と前記第７の画素の画素値との比較値と、前記第６の画素の画素値と前記第８の画素の画素値との比較値とを有する
請求項１０に記載の視差値算出方法。
【請求項１２】
前記第１のセンサス特徴量と前記第２のセンサス特徴量との間のハミング距離を、前記相違度として算出する
請求項１０または１１に記載の視差値算出方法。
【請求項１３】
処理（ｅ）において、
前記第１の画素の前記第１の視差値と、前記第１の視差値の第１の近傍視差値と、前記第１の視差値の第２の近傍視差値とのそれぞれに対応する位置にある第１の参照画素、第２の参照画素及び第３の参照画素を、前記第２の画素から抽出し、
前記第１の画素及びその周辺画素の画素値と、前記第１の参照画素及びその周辺画素の画素値との差異に基づく、第１のサブピクセル評価値を算出し、
前記第１の画素及びその周辺画素の画素値と、前記第２の参照画素及びその周辺画素の画素値との差異に基づく、第２のサブピクセル評価値を算出し、
前記第１の画素及びその周辺画素の画素値と、前記第３の参照画素及びその周辺画素の画素値との差異に基づく、第３のサブピクセル評価値を算出し、
前記第１のサブピクセル評価値と前記第１の視差値との組、前記第２のサブピクセル評価値と前記第１の近傍視差値との組、及び、前記第３のサブピクセル評価値と前記第２の近傍視差値との組を用いた等角フィッティングを用いて、前記第１の画素の前記第２の視差値を算出する
請求項１０〜１２のいずれか一項に記載の視差値算出方法。
【請求項１４】
処理（ｃ）と処理（ｄ）との間において、
（ｇ）前記第１の画像において、視差値の算出対象の前記第１の画素である着目画素から、所定の方向に位置する前記第１の画素である評価画素それぞれについて、
前記評価画素のうち、第１の評価画素に前記所定の方向で隣り合う第２の評価画素の視差値と、前記第２の画像における前記第１の評価画素に対応する位置の対応画素に対する、相違度算出のための探索範囲内の前記第２の画素それぞれの視差値との比較に基づき、前記探索範囲内の前記第２の画素それぞれの第１の評価値を算出し、
前記第１の評価画素と前記探索範囲内の前記第２の画素それぞれとの間の相違度と、前記探索範囲内の前記第２の画素それぞれの第１の評価値とに基づき、前記探索範囲内の前記第２の画素それぞれの視差値についての第２の評価値を算出し、
前記探索範囲内の前記第２の画素それぞれの視差値に対応する全ての前記評価画素の前記第２の評価値を加算して、加算評価値を算出し、
処理（ｄ）において、最小の前記加算評価値に対応する前記視差値を前記着目画素の前記第１の視差値に決定する
請求項１０〜１３のいずれか一項に記載の視差値算出方法。
【請求項１５】
処理（ｅ）において、前記第１の画素について、前記第１の視差値と、前記複数のサブピクセル評価値のうちの最大値又は最小値を与える前記第２の画素に対応する第３の視差値とが一致しない場合、
前記第１の画素と前記第１の画素の周囲の画素との間の視差値の連続性に基づき、小数点以下の視差値として−０．５又は０．５の視差値を決定し、
決定された視差値を前記第１の視差値に加算した視差値を、前記第１の視差値の代わりに用いる
請求項１０〜１４のいずれか一項に記載の視差値算出方法。
【請求項１６】
処理（ｂ）において、対象画素のセンサス特徴量を算出する際に比較する周囲の画素の領域である比較領域として、前記対象画素を含み且つ前記対象画素に対する位置が異なる複数の前記比較領域を決定し、
前記比較領域それぞれについて、前記複数の第１の画素の前記第１のセンサス特徴量と、前記複数の第２の画素の前記第２のセンサス特徴量とを算出し、
処理（ｃ）において、前記比較領域それぞれについて、前記相違度を算出し、
処理（ｄ）において、全ての前記比較領域の前記相違度のうち、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得する
請求項１０〜１５のいずれか一項に記載の視差値算出方法。
【請求項１７】
処理（ｃ）において、前記相違度が算出される前記第１の画素及び前記第２の画素について、前記第１の画素の前記周囲の画素の画素値である輝度値と前記第２の画素の前記周囲の画素の画素値である輝度値との差異と、前記第１の画素の前記周囲の画素の輝度勾配と前記第２の画素の前記周囲の画素の輝度勾配との差異との少なくとも一方に基づく重みを、前記相違度に付加する
請求項１０〜１６のいずれか一項に記載の視差値算出方法。
【請求項１８】
処理（ｇ）において、前記第１の評価画素と前記探索範囲内の前記第２の画素との間における画素値の差異である輝度値の差異、前記第１の評価画素と前記探索範囲内の前記第２の画素との間における輝度勾配の差異、並びに、前記第１の評価画素又は前記探索範囲内の前記第２の画素における輝度勾配のうちの少なくとも一つに基づく重みを、前記第１の評価値に付加する
請求項１４に記載の視差値算出方法。
【請求項１９】
（ａ）第１の位置に配置された第１のカメラで撮像された第１の画像と、第２の位置に配置された第２のカメラで撮像された第２の画像とを取得し、
（ｂ）前記第１の画像において、前記第１の画像の複数の第１の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量を算出し、前記第２の画像において、前記第２の画像の複数の第２の画素毎に、周囲の画素との画素値の比較により、第２のセンサス特徴量を算出し、
（ｃ）前記複数の第１の画素それぞれについて、前記第１のセンサス特徴量と、少なくとも１つの前記第２の画素の前記第２のセンサス特徴量とを用いて、前記少なくとも１つの第２の画素それぞれの位置での前記第１の画素に対する視差値に対応する相違度を算出し、
（ｄ）前記複数の第１の画素それぞれについて、前記相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得し、
（ｅ）前記複数の第１の画素それぞれについて、前記第１の画素の前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出し、
（ｆ）前記複数の第１の画素それぞれの前記第２の視差値を用いて、前記第２の画像に対する前記第１の画像の視差画像における画素毎の視差値を取得する
ことを、コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、視差値算出装置、視差値算出方法及びプログラムに関する。
【背景技術】
【０００２】
近年、自動車の安全運転支援システム及び自動運転システム、不審者等を検出する監視カメラシステム又はロボット等の開発分野において、カメラで撮像された画像を用いて、カメラから被写体までの距離を算出する技術が検討されている。上記距離を算出する技術として、複数のカメラで撮像された画像から上記距離を算出するステレオ測距技術がある。複数のカメラの撮像画像では、同一の被写体が見える方向が異なり、このような方向の違いは、視差と呼ばれる。ステレオ測距技術では、三角測量の技術が利用され、視差に基づき被写体までの距離が算出される。視差の精度は、被写体が遠い程、被写体の測距結果の誤差に与える影響が大きい。そこで、複数の画像間の視差を求めるための技術が検討されている。例えば、特許文献１は、ステレオカメラで撮像された２つの画像における視差を算出する技術を、開示している。特許文献１では、２つの画像の画素を対応付けるために、画素値のセンサス変換とセンサス変換された画素値の相関演算とが用いられる。非特許文献１は、Ｓｅｍｉ−Ｇｌｏｂａｌ  Ｍａｃｈｉｎｇ（ＳＧＭ）と呼ばれる視差値算出方法を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４１６８１２５号公報
【非特許文献】
【０００４】
【非特許文献１】Heiko Hirschmuller著、「Stereo Processing by Semiglobal Matching and Mutual Information」、IEEE、IEEE Transactions on Pattern Analysis Machine Intelligence、2008年2月、Vol. 39、No. 2
【非特許文献２】清水雅夫及び奥富正敏著、「画像のマッチングにおけるサブピクセル推定の意味と性質」、電子情報通信学会、電子情報通信学会論文誌 D-II、2002年12月、VoL.J85-D-II、No.12、1791-1800頁
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１及び非特許文献１の技術は、サブピクセル精度の視差値の算出精度が低い場合がある。
【０００６】
そこで本開示は、複数の画像間の視差値の算出精度を向上する視差値算出装置、視差値算出方法及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る視差値算出装置は、プロセッサとメモリとを備え、前記プロセッサは、（ａ）第１の位置に配置された第１のカメラで撮像された第１の画像と、第２の位置に配置された第２のカメラで撮像された第２の画像とを前記メモリから取得し、ここで、前記第１の画像は複数の第１の画素を有し、前記第２の画像は複数の第２の画素を有し、（ｂ）前記第１の画像において、前記複数の第１の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量を算出し、前記第２の画像において、前記複数の第２の画素毎に、周囲の画素との画素値の比較により、第２のセンサス特徴量を算出し、（ｃ）前記複数の第１の画素それぞれについて、前記第１のセンサス特徴量と、少なくとも１つの前記第２の画素の前記第２のセンサス特徴量とを用いて、前記少なくとも１つの第２の画素それぞれの位置での前記第１の画素に対する視差値に対応する相違度を算出し、（ｄ）前記複数の第１の画素それぞれについて、前記相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得し、（ｅ）前記複数の第１の画素それぞれについて、前記第１の画素の前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出し、（ｆ）前記複数の第１の画素それぞれの前記第２の視差値を用いて、前記第２の画像に対する前記第１の画像の視差画像における画素毎の視差値を取得する。
【０００８】
本開示の一態様に係る視差値算出方法は、（ａ）第１の位置に配置された第１のカメラで撮像される第１の画像と、第２の位置に配置された第２のカメラで撮像される第２の画像とを取得し、（ｂ）前記第１の画像において、前記第１の画像の複数の第１の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量を算出し、前記第２の画像において、前記第２の画像の複数の第２の画素毎に、周囲の画素との画素値の比較により、第２のセンサス特徴量を算出し、（ｃ）前記複数の第１の画素それぞれについて、前記第１のセンサス特徴量と、少なくとも１つの前記第２の画素の前記第２のセンサス特徴量とを用いて、前記少なくとも１つの第２の画素それぞれの位置での前記第１の画素に対する視差値に対応する相違度を算出し、（ｄ）前記複数の第１の画素それぞれについて、前記相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得し、（ｅ）前記複数の第１の画素それぞれについて、前記第１の画素の前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出し、（ｆ）前記複数の第１の画素それぞれの前記第２の視差値を用いて、前記第２の画像に対する前記第１の画像の視差画像における画素毎の視差値を取得し、処理（ａ）〜処理（ｆ）の少なくとも１つは、少なくとも１つのプロセッサによって実行される。
【０００９】
本開示の一態様に係るプログラムは、（ａ）第１の位置に配置された第１のカメラで撮像された第１の画像と、第２の位置に配置された第２のカメラで撮像された第２の画像とを取得し、（ｂ）前記第１の画像において、前記第１の画像の複数の第１の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量を算出し、前記第２の画像において、前記第２の画像の複数の第２の画素毎に、周囲の画素との画素値の比較により、第２のセンサス特徴量を算出し、（ｃ）前記複数の第１の画素それぞれについて、前記第１のセンサス特徴量と、少なくとも１つの前記第２の画素の前記第２のセンサス特徴量とを用いて、前記少なくとも１つの第２の画素それぞれの位置での前記第１の画素に対する視差値に対応する相違度を算出し、（ｄ）前記複数の第１の画素それぞれについて、前記相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得し、（ｅ）前記複数の第１の画素それぞれについて、前記第１の画素の前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出し、（ｆ）前記複数の第１の画素それぞれの前記第２の視差値を用いて、前記第２の画像に対する前記第１の画像の視差画像における画素毎の視差値を取得することを、コンピュータに実行させる。
【００１０】
なお、上記の包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読取可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）等の不揮発性の記録媒体を含む。
【発明の効果】
【００１１】
本開示の視差値算出装置等によれば、複数の画像間の視差値の算出精度を向上することが可能になる。
【図面の簡単な説明】
【００１２】
【図１】図１は、特許文献１が開示するイメージ処理システムを示す図である。
【図２Ａ】図２Ａは、特許文献１に開示される等角フィッティング法を説明する図である。
【図２Ｂ】図２Ｂは、特許文献１に開示される等角フィッティング法を説明する図である。
【図３】図３は、従来技術の視差値算出処理の流れを模式的に示す図である。
【図４】図４は、従来技術のＳｅｍｉ−Ｇｌｏｂａｌ  Ｍａｃｈｉｎｇ処理の流れを模式的に示す図である。
【図５】図５は、ＳＧＭを用いた視差値算出処理の検証に使用したＣＧ画像である。
【図６】図６は、図５のＣＧ画像と、このＣＧ画素を水平方向に平行移動した画像とを用いたＳＧＭによる視差値の算出結果を示す図である。
【図７】図７は、ＳＧＭを用いた視差値算出処理の検証に使用した実写画像である。
【図８】図８は、図７の実写画像と、この実写画素を水平方向に平行移動した画像とを用いたＳＧＭによる視差値の算出結果を示す図である。
【図９】図９は、ＳＧＭを用いた視差値算出処理の検証に使用した実写画像である。
【図１０】図１０は、図９の実写画像と、この実写画素を水平方向に平行移動した画像とを用いたＳＧＭによる視差値の算出結果を示す図である。
【図１１】図１１は、ＳＧＭを用いた視差値算出処理の検証に使用した実写画像である。
【図１２】図１２は、図１１の実写画像と、この実写画素を水平方向に平行移動した画像とを用いたＳＧＭによる視差値の算出結果を示す図である。
【図１３】図１３は、正解視差値と算出視差値との関係の仮定的な一例を示す図である。
【図１４】図１４は、実施の形態１に係る視差値算出装置を含む測距システムの機能的な構成の一例を示すブロック図である。
【図１５】図１５は、撮像部のカメラの配置例を示す模式的な斜視図である。
【図１６】図１６は、図１５のカメラの基線長の例を示す模式的な正面図である。
【図１７】図１７は、撮像部のカメラの別の配置例を示す模式的な斜視図である。
【図１８Ａ】図１８Ａは、センサス変換における周辺画素の一例を示す図である。
【図１８Ｂ】図１８Ｂは、センサス変換における周辺画素の別の一例を示す図である。
【図１９Ａ】図１９Ａは、図１８Ａの周辺画素のセンサス変換の一例を示す図である。
【図１９Ｂ】図１９Ｂは、図１８Ｂの周辺画素のセンサス変換の一例を示す図である。
【図２０】図２０は、相違度の算出の際の画素の探索範囲の一例を示す図である。
【図２１】図２１は、相違度の算出の際の画素の探索範囲の別の一例を示す図である。
【図２２】図２２は、１つの着目画素に対して算出される相違度と、相違度に対応する参照画素の視差値との関係の一例を示す図である。
【図２３】図２３は、等角フィッティング法によりサブピクセル精度の視差値を算出する例を示す図である。
【図２４】図２４は、着目画素、第一参照画素、第二参照画素及び第三参照画素の窓領域の一例を示す図である。
【図２５】図２５は、着目画素と第一〜第三参照画素との間における窓領域内の画素の輝度値の関係の一例を示す図である。
【図２６】図２６は、実施の形態１に係る視差値算出装置の動作の一例を示すフローチャートである。
【図２７】図２７は、実施の形態２に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図２８】図２８は、実施の形態３に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図２９】図２９は、実施の形態３に係る視差値算出装置の動作の一例を示すフローチャートである。
【図３０】図３０は、実施の形態４に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図３１】図３１は、実施の形態４に係る視差値算出装置の動作の一例を示すフローチャートである。
【図３２】図３２は、実施の形態４の変形例に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図３３】図３３は、実施の形態５に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図３４】図３４は、コスト算出の際の着目画素からの複数の走査方向の例を示す図である。
【図３５】図３５は、コスト算出の際の着目画素を通る直線上での画素の走査方向の例を示す図である。
【図３６】図３６は、コスト算出のための走査ライン上の１つの画素におけるコストの例を示す図である。
【図３７】図３７は、実施の形態５に係る視差値算出装置の動作の一例を示すフローチャートである。
【図３８】図３８は、実施の形態５の変形例１に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図３９】図３９は、実施の形態５の変形例２に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図４０】図４０は、実施の形態５の変形例３に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図４１】図４１は、実施の形態６に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図４２】図４２は、着目画素の複数の比較領域の一例を示す図である。
【図４３】図４３は、実施の形態６に係る視差値算出装置の動作の一例を示すフローチャートである。
【図４４】図４４は、実施の形態６の変形例に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図４５】図４５は、実施の形態７に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図４６】図４６は、着目画素と周辺画素との間におけるビット間差異と輝度差に基づく重みとの関係の一例を示す図である。
【図４７】図４７は、実施の形態７に係る視差値算出装置の動作の一例を示すフローチャートである。
【図４８】図４８は、実施の形態７の変形例に係る視差値算出装置の機能的な構成の一例を示すブロック図である。
【図４９】図４９は、センサス変換値ベースの相違度又はコストと、輝度差ベースのサブピクセル評価値とに対して、それぞれ最小値及び最適値を与える整数ピクセル精度の視差値の一致の程度の一例を示す図である。
【発明を実施するための形態】
【００１３】
［発明者による知見］
本発明者らは、デジタル画像を用いた測距精度の向上のために、デジタル画像の画素単位よりも細かいサブピクセル精度で、画像間の視差値を算出する技術を検討した。なお、視差値の単位は、１画素つまりピクセルであり、サブピクセルは、１画素未満を示す。本発明者らは、特許文献１及び非特許文献１に開示される技術を、以下に説明するように検討した。例えば、特許文献１に開示される従来技術では、複数のカメラ又は複眼カメラで撮像された複数の画像であるステレオ画像それぞれの画素が、センサス変換され、各画素について、センサス変換後の特徴量であるセンサス特徴量が算出される。さらに、ステレオ画像間において、各画素のセンサス特徴量の相違度が、ハミング距離を用いて算出される。一方の画像における着目画素について、当該着目画素とのハミング距離が最小となる画素が他方の画像から抽出され、抽出された画素は、着目画素に対応する画素に決定される。さらに、他方の画像における着目画素に対応する画素とその近傍の画素とについて、着目画素に対するハミング距離と、画素間の位置関係とに基づき、等角フィティングと呼ばれる方法を用いることによって、１画素未満のサブピクセル精度で視差値が算出される。
【００１４】
例えば、図１は、特許文献１が開示するイメージ処理システムを示す。このシステムは、左右のカメラ２１及び２２で撮像されたオリジナルイメージデータ２００及び２０１から、視差イメージ２９０を生成する。視差イメージ２９０は、オリジナルイメージの中の個々のイメージ要素に対する選択された最適な視差の組である。この視差イメージ２９０を得るために、イメージデータ２００及び２０１は、変換され、これらの間で相関演算され、エラー及び信頼性の検査がなされる。
【００１５】
例えば、左カメラ２１及び右カメラ２２が、光景１０をキャプチャし、フレームグラバ及びデジタイザが、再構成可能なイメージの処理システムにイメージデータを提供する。個別のピクセル要素及びその各々の輝度の形態である左のイメージデータ２００及び右のイメージデータ２０１はそれぞれ、左の輝度イメージ２１０及び右の輝度イメージ２１１にマッピングされる。これらの輝度イメージそれぞれは、Ｘの幅であり、Ｙの高さであり、つまり、Ｘ×Ｙの輝度イメージである。センサス変換又はランク変換のような非パラメトリック局所変換２１５及び２１６が、これらの輝度イメージの各々に適用される。変換２１５は、矢印２１８によって示されるように、左の輝度イメージ２１０に適用されて、変換されたベクトル左イメージ２２０を生成する。同様に、変換２１６は、矢印２１９によって示されるように、右の輝度イメージ２１１に適用されて、変換されたベクトル右イメージ２２１を生成する。これらの変換は、これら２つの輝度イメージ各々の中のイメージ要素の近隣部、又はウインドウの中における２つの輝度イメージのイメージ要素の実質的に全てに適用される。従って、ウインドウのサイズ及び参照イメージ要素の位置は、輝度イメージの端のどのイメージ要素が変換計算で無視されるかを決定する。これらの無視されたイメージ要素は、参照イメージ要素としては使用されないが、当該イメージ要素は、他の参照イメージ要素の変換ベクトルの計算では、依然として使用され得る。
【００１６】
図１のイメージ処理システムは、相関合計プロセス２２５をさらに含む。相関合計プロセス２２５は、左イメージ２２０と右イメージ２２１との間の対応の決定における１つのステップである。相関合計プロセス２２５は、左イメージ２２０のための相関ウインドウの内部の変換ベクトル、及び右イメージ２２１の中の同じサイズの相関ウインドウの内部の変換ベクトルに動作して、単一の矢印２２６で示されるように、相関合計マトリクス２３０を生成する。この相関合計マトリクス２３０の生成において、左又は右イメージ２２０又は２２１の何れかが参照イメージとして使用され、もう一方のイメージの中のウインドウがシフトされる。右イメージ２２１が参照イメージとして取り扱われるならば、相関合計マトリクス２３０は、相関ウインドウの中の右イメージ２２１の各右イメージ要素がどのように相関しているか、又は、左イメージ２２０の左イメージ要素の右イメージ要素からのシフト若しくは視差の各々についての相関ウインドウの中で左イメージ要素にどのように対応しているかを示すデータを含む。定義によって、特定の左イメージ要素の、右イメージ要素の様々なシフト若しくは視差との相関又は対応を示すデータは、やはり相関合計マトリクス２３０に含まれている。これらの視差に基づく相関合計及び相関合計マトリクス２３０、矢印２３１で示される最適視差は、各右イメージ要素について選択され、外部インデックス（「指標」とも呼ばれる）アレイ２７０に記憶され得る。最終的な視差イメージ２９０は、その後に、矢印２７１で示されるように、外部インデックスアレイ２７０で決定される。ステレオ視の場合には、視差は、変換イメージ１のウインドウと変換イメージ２のウインドウとの間の水平オフセットである。
【００１７】
図１では含まれていないが、特許文献１は、等角フィッティング法（「等角直線フィッティング法」とも呼ばれる）により、サブピクセル精度の視差を導出することを開示している。この等角フィッティング法では、相関合計の最小値を与える視差値、及び、その前後の視差値、例えば相関合計の最小値を与える視差値±１の視差値のそれぞれについての相関合計の値（以下、「相関合計値」とも呼ぶ）と、視差値との関係に対して、Ｖ字型又は逆Ｖ字型の関数の関係が当てはめられる。
【００１８】
例えば、図２Ａ及び図２Ｂは、特許文献１に開示される等角フィッティング法を説明する図である。図２Ａにおいて、相関合計値及び視差値の関係が示され、相関合計値は、視差値２において、最小値Ｙ２である。この場合、相関合計値が最小値Ｙ２であり且つ視差値が２である点Ａに加えて、視差値１且つ相関合計値Ｙ１の点Ｂと、視差値３且つ相関合計値Ｙ３の点Ｃが用いられる。さらに、図２Ｂに示すように、これら３点を通るＶ字型の関数が当てはめられる。このとき、Ｖ字型の関数の２つのラインの傾きの絶対値は、点Ａ及び点Ｂの間の視差値の差異に対する相関合計値の差異の傾きの絶対値と、点Ａ及び点Ｃとの間の視差値の差異に対する相関合計値の差異の傾きの絶対値とのうち、大きい方と等しくされる。具体的には、図２Ａでは、点Ａと点Ｃとの間の傾きである相関合計値の差分（Ｙ３−Ｙ２）の絶対値の方が、点Ａと点Ｂとの間の傾きである相関合計値の差分（Ｙ２−Ｙ１）の絶対値よりも大きい。このため、（Ｙ３−Ｙ２）の絶対値が、Ｖ字型の関数の傾きに採用される。Ｖ字型の関数では、Ｖ字の頂点の両側のラインの傾きの絶対値が同じである。つまり、両側のラインと水平ラインとの角度１及び２が同じである。これにより、点Ｂを通り且つ上記傾きの絶対値で負の傾きを持つ直線と、点Ａ及び点Ｃを通り且つ上記傾きの絶対値で正の傾きを持つ直線とが、形成される。これら２つの直線の交点Ｄを求めることにより、１画素未満の間隔のサブピクセル精度で、視差値が求められる。例えば、図２Ｂの例では、視差値は１．８である。
【００１９】
図１における視差イメージ２９０の決定は、３つのオプションの信頼／エラー検出検査、すなわち、対象演算、左右一貫性検査、及びモードフィルタを含み得る。対象演算は、輝度イメージが高レベル信頼に関連しているかを、キャプチャされた光景の模様（テクスチャ）に基づいて決定する。これにより、均一な模様（テクスチャ）である光景のイメージ要素に関連している対象演算は、模様（テクスチャ）が変化している光景よりも、低い信頼を有する。対象演算は、輝度イメージの一つのみ、左側或いは右側の輝度イメージのいずれかのみに、適用される。しかしながら、他の態様では、両輝度イメージに適用される対象演算がカバーされ得る。図１では、対象演算２３５は、矢印２３６によって示されるように、右輝度イメージ２に適用され、対象ウインドウの内部の各イメージ要素について、矢印２３７で示されるように、合計のスライディング視差（ＳＳＤ）アレイ２４０を生成する。閾値演算２４１の適用によって、最終対象結果アレイ２５０が対象結果として生成される。対象結果は、特定のイメージ要素がこのイメージ処理システムの中に確立された信頼閾値をパスするかどうかを反映するデータを含む。対象結果アレイ２５０の中のデータに基づいて、視差イメージ２９０は、外部インデックスアレイ２７０に関連して決定され得る。
【００２０】
左右一貫性検査は、エラー検出の形態である。この検査は、右イメージの中のイメージ要素によって最適イメージ要素として選択された左イメージの中のイメージ要素が、最適イメージ要素として、右イメージの中の同じイメージ要素をまた選択する事を、決定且つ確認する。左右一貫性検査２４５は、矢印２４６によって示されるように、相関合計アレイ２３０に適用され、矢印２７６で示されるように、外部インデックスアレイ２７０と比較され、矢印２４７によって示されるように、ＬＲ結果アレイ２６０を生成する。ＬＲ結果アレイ２６０は、左右一貫性検査２４５をパスするイメージ要素を示すデータを含む。ＬＲ結果アレイ２６０は、外部インデックスアレイ２７０と協同して、矢印２６１によって示されるように、視差イメージ２９０を生成するために使用される。
【００２１】
第３の信頼／エラー検出検査は、モードフィルタである。モードフィルタは、個体群解析に基づいて最適視差を選択することによって、選択された最適視差が高度の一貫性を有するかどうかを決定する。これにより、外部インデックスアレイ２７０の中の選択された最適視差が、高度の一貫性を示さないならば、その後これらの最適視差は無効にされる。モードフィルタ２７５は、矢印２７６に示されるように、外部インデックスアレイ２７０に動作し、矢印２７７に示されるように、モードフィルタ外部インデックス（「指標」とも呼ばれる）アレイ２８０を生成する。モードフィルタ外部インデックスアレイ２８０は、特定のイメージ要素が視差の一貫性検査をパスした視差を選択したかどうかを示すデータを含む。データ及びモードフィルタ外部インデックスアレイ２８０は、矢印２８１に示されるように、外部インデックスアレイ２７０と協同して視差イメージ２９０を生成するために使用され得る。
【００２２】
これらの３つの信頼／エラー検出検査を行うかどうかは選択可能である。ある態様では、視差イメージ２９０の決定に当たってこれらの３つの検査の全てを行い得るが、他の態様では、これらの検査を全く含まなくてもよい。更に他の態様では、これらの検査の組合せが含まれ得る。
【００２３】
例えば、特許文献１に記載されるような従来技術の視差値算出処理は、図３に示すように模式的に示すことができる。なお、図３は、従来技術の視差値算出処理の流れを模式的に示す図である。ステレオ画像である入力画像Ｉ１及びＩ２ではそれぞれ、ステップＳ１５０１において、各画素が、センサス変換され、各センサス特徴量が求められる。さらに、ステップＳ１５０２では、入力画像Ｉ１及びＩ２の間において、画素間の視差値についてのセンサス特徴量の相関（「相違度」とも呼ばれる）が、入力画像Ｉ１及びＩ２の各画素について視差値毎に算出される。ここでは、ハミング距離によりセンサス特徴量間の相違度算出を行う。
【００２４】
ステップＳ１５０３ａ及びＳ１５０３ｂではそれぞれ、入力画像Ｉ１及びＩ２のうちの一方の画像である基準画像の各画素について、他方の画像における予め設定された探索範囲内の各画素の視差値及び相違度（すなわちハミング距離）から、最小の相違度を与える視差値が選択される。これにより、基準画像の各画素におけるピクセル精度の視差値が得られる。ステップＳ１５０３ａでは、入力画像Ｉ１を基準画像として、ステップＳ１５０３ｂでは、入力画像Ｉ２を基準画像として、それぞれにおいて上記処理が行われる。
【００２５】
ステップＳ１５０４ａ及びＳ１５０４ｂではそれぞれ、図２Ａ及び図２Ｂを用いて説明したような等角フィッティング法により、基準画像Ｉ１及び基準画像Ｉ２それぞれにおける各画素でのサブピクセル精度の視差値が算出される。具体的には、基準画像の各画素について、最小相違度及びそれを与える視差値と、当該視差値の前後の視差値及びその相違度とを用いて、サブピクセル精度の視差値が算出される。ステップＳ１５０５では、基準画像Ｉ１の場合の視差値と、基準画像Ｉ２の場合の視差値とについて、対応する画素間での一貫性がチェックされる。具体的には、基準画像Ｉ１及び基準画像Ｉ２の対応する画素間で、双方向の視差値の差が所定の閾値未満であるかがチェックされる。さらに、閾値以上の差を構成する視差値は無効とされ、当該視差値に対応する画素についての視差推定結果は、出力されない。
【００２６】
また、非特許文献１に記載されるようなＳｅｍｉ−Ｇｌｏｂａｌ  Ｍａｃｈｉｎｇ（以下、「ＳＧＭ」とも呼ぶ）と呼ばれる視差値算出処理は、図４に示すように模式的に示すことができる。なお、図４は、従来技術のＳｅｍｉ−Ｇｌｏｂａｌ  Ｍａｃｈｉｎｇ処理の流れを模式的に示す図である。ステップＳ１６０１において、入力画像Ｉ１及びＩ２と初期視差画像とが縮小される。初期視差画像は、予め設定された画像であり、各画素は、当該画素における２つの画像間の視差値を画素値として有する。画像の縮小では、画素数が減少される。ステップＳ１６０２において、入力画像Ｉ１及びＩ２間の各画素について、視差値毎に相違度が算出される。ステップＳ１６０２では、入力画像Ｉ１及びＩ２間の相違度の算出に、相互情報量又は特許文献１と同様のセンサス特徴量を用いたセンサス特徴量間の相違度（ハミング距離）を用いることができる。ステップＳ１６０３では、基準画像中の着目画素それぞれについて、着目画素を通る、つまり中心とする８又は１６方向の直線上での視差値の分布に対するコストが算出される。ステップＳ１６０４では、着目画素を通る８又は１６方向の直線上での視差の分布に対するコストに関して、各方向について最小のコストを与える視差値が選択される。つまり、コストが集約される。
【００２７】
ステップＳ１６０５ａ及びＳ１６０５ｂでは、各方向について最小のコストを与える視差値のうちから、最小のコストを与える方向の視差値が選択される。その際、ステップＳ１６０５ａでは、入力画像Ｉ１を基準画像とする視差値が選択され、ステップＳ１６０５ｂでは、入力画像Ｉ２を基準画像とする視差値が選択される。ステップＳ１６０６では、入力画像Ｉ１を基準画像とする視差値と入力画像Ｉ２を基準画像とする視差値との一貫性がチェックされる。ステップＳ１６０７では、ステップＳ１６０６において一貫性チェックが行われた視差値を各画素が画素値として含む視差画像が、拡大される。この拡大では、視差画像に対する空間的な拡大により画素数を増加させる処理と、空間的な拡大に伴って視差値（視差画像の画素値）を大きくする処理との両方が行われる。例えば、空間的な拡大率が２倍の場合、視差値も２倍に変換される。ステップＳ１６０８では、ステップＳ１６０１〜Ｓ１６０７の処理を繰り返すか否かの終了判断が行われる。
【００２８】
図４において、一例として４段階の繰り返し処理が行われる場合、入力画像Ｉ１及びＩ２に対して、１回目の処理では８分の１に縮小されたスケールで、ステップＳ１６０１〜Ｓ１６０８の視差値算出処理がされ、さらに、２回目の処理では４分の１に縮小されたスケールで、３回目の処理では２分の１に縮小されたスケールで、４回目の処理では等倍のスケールで視差値算出処理がされる。そのため、ステップＳ１６０８では、繰り返し数が４回目未満の場合、処理が継続され、繰り返し数が４回目の場合、処理が終了する。
【００２９】
ＳＧＭ及び特許文献１の視差値算出処理の間には、以下のような差異がある。特許文献１では、視差値の探索が局所的な処理（ローカルな処理）で行われており、視差値算出時に、着目画素における視差値とその周囲の画素における視差値との関係について考慮されていない。ＳＧＭでは、コスト算出の際、視差値の空間的な変化に対してペナルティを与えることにより、着目画素における視差値がその周囲の画素の視差値と同様の値を取りやすくされている。特許文献１では、視差画像において、ストリーキングアーチファクト（Streaking Artifact）、つまり、エッジ、境界等のライン間で視差値が異なることによる筋状のアーチファクトが生じ得るが、ＳＧＭでは、ストリーキングアーチファクトを低減することができる。
【００３０】
しかしながら、特許文献１及び非特許文献１の従来の視差値算出処理では、相違度（つまり、ハミング距離）、又は相違度に基づくコストが最小となる整数画素精度の視差値付近において、具体的には、当該視差値の前後の視差値（当該視差値±１画素の視差値）に対応する相違度又はコストを用いてサブピクセル精度の視差値を算出する場合、得られる視差値の精度が低い、つまり誤差が大きいという問題がある。
【００３１】
本発明者らは、上記問題の発生原因を、以下のように考えた。ＳＡＤ（Sum of Absolute Difference：輝度値の差の絶対値の合計）及びＳＳＤ（Sum of Squared Difference：輝度値の差の２乗の合計）等の輝度差で定義されるコスト関数による視差値算出では、コスト関数の整数画素精度での最小値付近で等角フィッティング又はパラボラフィッティングすることでサブピクセル精度の視差値が算出できることが知られている。このことは、輝度差で定義されるコスト関数の空間的な分布が、その最小値付近で１次式又は２次式でよく近似できることを利用している。このことは、例えば８ビットの画素値の分布を連続量とみなせば、２つの画像の対応点間の画素値の差も連続量とみなせ、±０．５画素程度の区間であれば、低次のテーラー展開でよく近似できるということを意味する。
【００３２】
一方、センサス特徴量間のハミング距離は、着目画素とその周辺画素との間の明るさの大小関係をビット列化したものの差である。このようなハミング距離の最小値付近において、サブピクセル程度の位置変動に対して、ハミング距離が、リニア、つまり直線的に又は２次曲線的に振舞う保証はない。言い換えると、１画素間隔でのハミング距離の変動、すなわち明るさの大小関係の逆転が１画素間隔内で起きる位置は、規則性がないと考えるのが妥当である。このような規則性のない現象については、センサス変換における着目画素の周辺画素である参照画素を増やせば、大数の法則が効くため、滑らかな性質になることが期待される。しかしながら、センサス変換で参照する例えば８画素又は６４画素程度の参照画素数では、サブピクセル精度の視差値の算出精度を確保するのに十分なサンプル数になっていないと考えられる。さらに、ハミング距離の最小値付近では、８ビット又は６４ビットのビット列中の数ビットしか相違ビットがなく、ハミング距離の最小値付近は、大数の法則が最も効きにくいケースに該当する。
【００３３】
本発明者らは、図５〜図１３に示すように、実際に視差値を算出することによって、非特許文献１に記載されるようなＳＧＭを用いた視差値算出処理を検証した。図５は、検証に使用したＣＧ（Computer Graphic）画像であり、図７、図９及び図１１は、検証に使用した実写画像である。図６は、図５のＣＧ画像と、このＣＧ画素を水平方向に平行移動した画像とを用いたＳＧＭによる視差値の算出結果を示す。図８は、図７の実写画像と、この実写画素を水平方向に平行移動した画像とを用いたＳＧＭによる視差値の算出結果を示す。図１０は、図９の実写画像と、この実写画素を水平方向に平行移動した画像とを用いたＳＧＭによる視差値の算出結果を示す。図１２は、図１１の実写画像と、この実写画素を水平方向に平行移動した画像とを用いたＳＧＭによる視差値の算出結果を示す。
【００３４】
各画像について、１２ケース又は１６ケースの水平方向の平行移動が行われ、その内訳は、１．０画素から１．５画素までの０．１画素間隔での移動量による６つケース、又は１．０画素から１．９画素までの０．１画素間隔での移動量による１０のケースと、５．０画素から５．５画素までの０．１画素間隔での移動量による６つケースとである。平行移動後の画像である参照画像は、上記移動量での移動後の画像の画素を補間処理することにより、移動の前後で画素座標が対応するように生成した。画素座標は、画像上における２次元座標であり、画像の画素を単位とする座標である。そして、移動前の画像を基準画像として、基準画像と参照画像とから、基準画像の各画素に対応する参照画像の画素の視差値を算出した。例えば、算出視差値が「＋１．０」画素又は「−１．０」画素である場合、画素座標で基準画像の画素と同じ位置にある参照画像の画素から、水平方向に、具体的には画素座標のｘ軸正方向又はｘ軸負方向に１画素移動した位置の画素は、基準画像の当該画素と同じ被写体を写し出す。
【００３５】
上記の視差値の算出では、上述したように、基準画像の各画素について、ＳＧＭで整数精度での視差値における相違度の算出後、最小の相違度を与える画素の視差値と、当該画素の±１画素隣の画素における視差値及び相違度とを用いて、等角フィッティング法によりサブピクセル精度で視差値が算出される。なお、ハミング距離で整数精度での視差値における相違度の算出後、相違度の最小値付近での等角フィッティング法によりサブピクセル精度での視差値の算出を行った場合にも、同様の結果になることは容易に類推できる。
【００３６】
図６、図８、図１０及び図１２それぞれにおいて、左列は、上記の水平方向の移動量である正解視差値を示し、中列は、左列の移動量から各画素の算出視差値を減じた差の平均値（「ｍｅａｎ」とも呼ぶ）を示し、右列は、左列の移動量から各画素の算出視差値を減じた差の２乗平均平方根（「ＲＭＳ（Root mean square）」とも呼ぶ）を示す。これらの図から、正解視差値が、「１．０」及び「５．０」の整数画素単位の場合と比べて、正解視差値が上記以外のサブピクセル単位の場合の方が、視差値の推定誤差が大きくなる傾向であることがわかる。
【００３７】
なお、整数画素単位の視差値の算出精度が高く、サブピクセル単位の視差値の誤差がランダムな誤差となる場合、整数画素精度の視差値の算出のみを行い、サブピクセル単位の視差値の算出を行わないと仮定する。この場合、正解視差値と算出視差値との関係は、図１３に示すように仮定することができる。つまり、サブピクセル単位の視差値は、図１３の斜線でハッチングした領域に含まれ、サブピクセル単位の視差値の誤差の分布は、±０．５画素の範囲で一様となると仮定することができる。この場合、サブピクセル単位の視差値の誤差のＲＭＳ値は、下記の式１により求まる。
【００３８】
【数１】
2019120591.tif 000003
【００３９】
一方、図６において、図５のＣＧ画像について、全ての視差値の誤差のＲＭＳ値（全誤差ＲＭＳ値とも称し、具体的には、１．０から１．９と５．０から５．９までの区間を０．１画素間隔で誤差評価した場合のＲＭＳ値である。ここで、１．６から１．９までと５．６から５．９までのＲＭＳ値については、１．１から１．４までと５．１から５．４までについてのＲＭＳ値を、１．５と５．５に対して折り返す形で用いている。）は、上記式１に示した整数画素精度での視差値算出時の誤差のＲＭＳ値を超えている。また、図８、図１０及び図１２において、実写画像についての全ての視差値の誤差のＲＭＳ値は、上記式１に示した誤差のＲＭＳ値を下回ってはいるが、いずれのＲＭＳ値も、定性的には正解視差値が整数値から離れるにつれて増加しており、サブピクセル精度での視差値の算出が行われていないことを示す。
【００４０】
本発明者らは、上述のような特許文献１及び非特許文献１に記載されるような従来技術の問題点を検討した結果、複数の画像間のサブピクセル精度の視差値の算出精度を向上するために、以下のような技術を創案した。
【００４１】
本開示の一態様に係る視差値算出装置は、プロセッサとメモリとを備え、前記プロセッサは、（ａ）第１の位置に配置された第１のカメラで撮像された第１の画像と、第２の位置に配置された第２のカメラで撮像された第２の画像とを前記メモリから取得し、ここで、前記第１の画像は複数の第１の画素を有し、前記第２の画像は複数の第２の画素を有し、（ｂ）前記第１の画像において、前記複数の第１の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量を算出し、前記第２の画像において、前記複数の第２の画素毎に、周囲の画素との画素値の比較により、第２のセンサス特徴量を算出し、（ｃ）前記複数の第１の画素それぞれについて、前記第１のセンサス特徴量と、少なくとも１つの前記第２の画素の前記第２のセンサス特徴量とを用いて、前記少なくとも１つの第２の画素それぞれの位置での前記第１の画素に対する視差値に対応する相違度を算出し、（ｄ）前記複数の第１の画素それぞれについて、前記相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得し、（ｅ）前記複数の第１の画素それぞれについて、前記第１の画素の前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出し、（ｆ）前記複数の第１の画素それぞれの前記第２の視差値を用いて、前記第２の画像に対する前記第１の画像の視差画像における画素毎の視差値を取得する。
【００４２】
上記態様によれば、視差値算出装置は、第１の画像及び第２の画像を用いて、第１の画像の各画素の整数画素精度の視差値を、センサス特徴量及び相違度に基づき算出する。さらに、視差値算出装置は、第１の画像の第１の画素を着目画素として、着目画素と第２の画像の第２の画素である複数の参照画素との間において、それぞれの周辺画素を含めた画素値の関係に基づくサブピクセル評価値を算出し、サブピクセル評価値を用いて、着目画素のサブピクセル精度の視差値を算出する。このような視差値は、第１の画像における着目画素の周囲の画素値の分布、及び、第２の画像における参照画素の周囲の画素値の分布を反映する視差値である。このような視差値からなる視差画像は、被写体のエッジ、境界等のライン間で視差値が異なることによる筋状のアーチファクトが発生することを抑えることができる。よって、視差値算出装置は、複数の画像間の視差値を高い精度で算出することができる。
【００４３】
本開示の一態様に係る視差値算出装置において、前記複数の第１の画素は、第３の画素と、第４の画素と、第５の画素とを含み、前記複数の第２の画素は、第６の画素と、第７の画素と、第８の画素とを含み、前記第４の画素及び前記第５の画素は、前記第１の画像上における前記第３の画素から所定の距離内に位置する前記第３の画素に対する周囲の画素であり、前記第７の画素及び前記第８の画素は、前記第２の画像上における前記第６の画素から所定の距離内に位置する前記第６の画素に対する周囲の画素であり、処理（ｂ）において、前記第３の画素の前記第１のセンサス特徴量は、前記第３の画素の画素値と前記第４の画素の画素値との比較値と、前記第３の画素の画素値と前記第５の画素の画素値との比較値とを有し、前記第６の画素の前記第２のセンサス特徴量は、前記第６の画素の画素値と前記第７の画素の画素値との比較値と、前記第６の画素の画素値と前記第８の画素の画素値との比較値とを有してもよい。
【００４４】
本開示の一態様に係る視差値算出装置において、前記プロセッサは、前記第１のセンサス特徴量と前記第２のセンサス特徴量との間のハミング距離を、前記相違度として算出してもよい。
【００４５】
上記態様によれば、センサス特徴量間のハミング距離を用いた相違度の算出は、簡易である。よって、視差値算出装置は、相違度を簡易に算出することができる。
【００４６】
本開示の一態様に係る視差値算出装置において、前記プロセッサは、処理（ｅ）において、前記第１の画素の前記第１の視差値と、前記第１の視差値の第１の近傍視差値と、前記第１の視差値の第２の近傍視差値とのそれぞれに対応する位置にある第１の参照画素、第２の参照画素及び第３の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と、前記第１の参照画素及びその周辺画素の画素値との差異に基づく、第１のサブピクセル評価値を算出し、前記第１の画素及びその周辺画素の画素値と、前記第２の参照画素及びその周辺画素の画素値との差異に基づく、第２のサブピクセル評価値を算出し、前記第１の画素及びその周辺画素の画素値と、前記第３の参照画素及びその周辺画素の画素値との差異に基づく、第３のサブピクセル評価値を算出し、前記第１のサブピクセル評価値と前記第１の視差値との組、前記第２のサブピクセル評価値と前記第１の近傍視差値との組、及び、前記第３のサブピクセル評価値と前記第２の近傍視差値との組を用いた等角フィッティングを用いて、前記第１の画素の前記第２の視差値を算出してもよい。
【００４７】
上記態様によれば、視差値算出装置は、第１の画像の第１の画素を着目画素として、着目画素と第２の画像の第１〜第３の参照画素との間において、それぞれの周辺画素を含めた画素値の差異に基づくサブピクセル評価値を算出し、当該サブピクセル評価値を用いた等角フィッティング法により、最適なサブピクセル評価値及び当該サブピクセル評価値に対応するサブピクセル精度の視差値を算出する。よって、視差値算出装置は、着目画素のサブピクセル精度の視差値を高い精度で算出することができる。
【００４８】
本開示の一態様に係る視差値算出装置において、前記プロセッサは、処理（ｃ）と処理（ｄ）との間において、（ｇ）前記第１の画像において、視差値の算出対象の前記第１の画素である着目画素から、所定の方向に位置する前記第１の画素である評価画素それぞれについて、前記評価画素のうち、第１の評価画素に前記所定の方向で隣り合う第２の評価画素の視差値と、前記第２の画像における前記第１の評価画素に対応する位置の対応画素に対する、相違度算出のための探索範囲内の前記第２の画素それぞれの視差値との比較に基づき、前記探索範囲内の前記第２の画素それぞれの第１の評価値を算出し、前記第１の評価画素と前記探索範囲内の前記第２の画素それぞれとの間の相違度と、前記探索範囲内の前記第２の画素それぞれの第１の評価値とに基づき、前記探索範囲内の前記第２の画素それぞれの視差値についての第２の評価値を算出し、前記探索範囲内の前記第２の画素それぞれの視差値に対応する全ての前記評価画素の前記第２の評価値を加算して、加算評価値を算出し、処理（ｄ）において、最小の前記加算評価値に対応する前記視差値を前記着目画素の前記第１の視差値に決定してもよい。
【００４９】
上記態様によれば、第２の評価値は、着目画素の周囲の画素の視差値の変化を相違度に反映した指標である。視差値算出装置は、第２の評価値の和を最小にするような視差値を着目画素の第１の視差値に決定するため、着目画素における第１の視差値がその周囲の画素の視差値と同様の値を取りやすくなり、着目画素における第２の視差値も同様である。よって、視差値算出装置は、被写体のエッジ、境界等のライン間で視差値が異なることによる筋状のアーチファクトが生じるストリーキングアーチファクトを低減し、高い精度で視差値を算出することができる。
【００５０】
本開示の一態様に係る視差値算出装置において、前記プロセッサは、処理（ｅ）において、前記第１の画素について、前記第１の視差値と、前記複数のサブピクセル評価値のうちの最大値又は最小値を与える前記第２の画素に対応する第３の視差値とが一致しない場合、前記第１の画素と前記第１の画素の周囲の画素との間の視差値の連続性に基づき、小数点以下の視差値として−０．５又は０．５の視差値を決定し、決定された視差値を前記第１の視差値に加算した視差値を、前記第１の視差値の代わりに用いてもよい。
【００５１】
上記態様によれば、第１の視差値に基づくサブピクセル評価値の算出精度が向上する。
【００５２】
本開示の一態様に係る視差値算出装置において、前記プロセッサは、処理（ｂ）において、対象画素のセンサス特徴量を算出する際に比較する周囲の画素の領域である比較領域として、前記対象画素を含み且つ前記対象画素に対する位置が異なる複数の前記比較領域を決定し、前記比較領域それぞれについて、前記複数の第１の画素の前記第１のセンサス特徴量と、前記複数の第２の画素の前記第２のセンサス特徴量とを算出し、処理（ｃ）において、前記比較領域それぞれについて、前記相違度を算出し、処理（ｄ）において、全ての前記比較領域の前記相違度のうち、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得してもよい。
【００５３】
上記態様によれば、視差値算出装置は、複数の比較領域に関する着目画素の相違度のうち、最も小さい相違度に対応する視差値を着目画素の第１の視差値に決定する。このような第１の視差値は、着目画素に対する比較領域の位置に起因する視差値の誤差を低減し、第２の視差値も同様である。よって、視差値算出装置は、オクルージョンの境界又は視差値が変化する前景及び背景間の境界付近に位置する画素について、視差画像での視差値の差異による境界の位置と、被写体の輪郭の位置とを正確に整合させることができる。
【００５４】
本開示の一態様に係る視差値算出装置において、前記プロセッサは、処理（ｃ）において、前記相違度が算出される前記第１の画素及び前記第２の画素について、前記第１の画素の前記周囲の画素の画素値である輝度値と前記第２の画素の前記周囲の画素の画素値である輝度値との差異と、前記第１の画素の前記周囲の画素の輝度勾配と前記第２の画素の前記周囲の画素の輝度勾配との差異との少なくとも一方に基づく重みを、前記相違度に付加してもよい。
【００５５】
上記態様によれば、第１の画素の周囲の画素の輝度値と第２の画素の周囲の画素の輝度値との差異に基づく重みも、第１の画素の周囲の画素の輝度勾配と第２の画素の周囲の画素の輝度勾配との差異に基づく重みも、着目画素に対する比較領域の配置が固定されていても、比較領域の内部を空間的に重み付けする。これにより、相違度は、輝度値の変化及び／又は輝度勾配の変化を反映することができる。よって、視差値算出装置は、オクルージョンの境界又は視差値が変化する前景及び背景間の境界付近に位置する画素について、着目画素に対して単一の比較領域を用いるだけで、視差画像での視差値の差異による境界の位置と、被写体の輪郭の位置とを正確に整合させることができる。
【００５６】
本開示の一態様に係る視差値算出装置において、前記プロセッサは、処理（ｇ）において、前記第１の評価画素と前記探索範囲内の前記第２の画素との間における画素値の差異である輝度値の差異、前記第１の評価画素と前記探索範囲内の前記第２の画素との間における輝度勾配の差異、並びに、前記第１の評価画素又は前記探索範囲内の前記第２の画素における輝度勾配のうちの少なくとも一つに基づく重みを、前記第１の評価値に付加してもよい。
【００５７】
上記態様によれば、上記重みは、着目画素に対する比較領域の配置が固定されていても、比較領域の内部を空間的に重み付けする。これにより、第１の評価値に基づき算出される加算評価値は、輝度値の変化及び／又は輝度勾配を反映することができる。よって、視差値算出装置は、オクルージョンの境界又は視差値が変化する前景及び背景間の境界付近に位置する画素について、着目画素に対して単一の比較領域を用いるだけで、視差画像での視差値の差異による境界の位置と、被写体の輪郭の位置とを正確に整合させることができる。
【００５８】
本開示の一態様に係る視差値算出方法は、（ａ）第１の位置に配置された第１のカメラで撮像される第１の画像と、第２の位置に配置された第２のカメラで撮像される第２の画像とを取得し、（ｂ）前記第１の画像において、前記第１の画像の複数の第１の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量を算出し、前記第２の画像において、前記第２の画像の複数の第２の画素毎に、周囲の画素との画素値の比較により、第２のセンサス特徴量を算出し、（ｃ）前記複数の第１の画素それぞれについて、前記第１のセンサス特徴量と、少なくとも１つの前記第２の画素の前記第２のセンサス特徴量とを用いて、前記少なくとも１つの第２の画素それぞれの位置での前記第１の画素に対する視差値に対応する相違度を算出し、（ｄ）前記複数の第１の画素それぞれについて、前記相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得し、（ｅ）前記複数の第１の画素それぞれについて、前記第１の画素の前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出し、（ｆ）前記複数の第１の画素それぞれの前記第２の視差値を用いて、前記第２の画像に対する前記第１の画像の視差画像における画素毎の視差値を取得し、処理（ａ）〜処理（ｆ）の少なくとも１つは、少なくとも１つのプロセッサによって実行される。上記態様によれば、本開示の一態様に係る視差値算出装置を同様の効果が得られる。
【００５９】
本開示の一態様に係る視差値算出方法において、前記複数の第１の画素は、第３の画素と、第４の画素と、第５の画素とを含み、前記複数の第２の画素は、第６の画素と、第７の画素と、第８の画素とを含み、前記第４の画素及び前記第５の画素は、前記第１の画像上における前記第３の画素から所定の距離内に位置する前記第３の画素に対する周囲の画素であり、前記第７の画素及び前記第８の画素は、前記第２の画像上における前記第６の画素から所定の距離内に位置する前記第６の画素に対する周囲の画素であり、処理（ｂ）において、前記第３の画素の前記第１のセンサス特徴量は、前記第３の画素の画素値と前記第４の画素の画素値との比較値と、前記第３の画素の画素値と前記第５の画素の画素値との比較値とを有し、前記第６の画素の前記第２のセンサス特徴量は、前記第６の画素の画素値と前記第７の画素の画素値との比較値と、前記第６の画素の画素値と前記第８の画素の画素値との比較値とを有してもよい。
【００６０】
本開示の一態様に係る視差値算出方法において、前記第１のセンサス特徴量と前記第２のセンサス特徴量との間のハミング距離を、前記相違度として算出してもよい。
【００６１】
本開示の一態様に係る視差値算出方法において、処理（ｅ）において、前記第１の画素の前記第１の視差値と、前記第１の視差値の第１の近傍視差値と、前記第１の視差値の第２の近傍視差値とのそれぞれに対応する位置にある第１の参照画素、第２の参照画素及び第３の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と、前記第１の参照画素及びその周辺画素の画素値との差異に基づく、第１のサブピクセル評価値を算出し、前記第１の画素及びその周辺画素の画素値と、前記第２の参照画素及びその周辺画素の画素値との差異に基づく、第２のサブピクセル評価値を算出し、前記第１の画素及びその周辺画素の画素値と、前記第３の参照画素及びその周辺画素の画素値との差異に基づく、第３のサブピクセル評価値を算出し、前記第１のサブピクセル評価値と前記第１の視差値との組、前記第２のサブピクセル評価値と前記第１の近傍視差値との組、及び、前記第３のサブピクセル評価値と前記第２の近傍視差値との組を用いた等角フィッティングを用いて、前記第１の画素の前記第２の視差値を算出してもよい。
【００６２】
本開示の一態様に係る視差値算出方法において、処理（ｃ）と処理（ｄ）との間において、（ｇ）前記第１の画像において、視差値の算出対象の前記第１の画素である着目画素から、所定の方向に位置する前記第１の画素である評価画素それぞれについて、前記評価画素のうち、第１の評価画素に前記所定の方向で隣り合う第２の評価画素の視差値と、前記第２の画像における前記第１の評価画素に対応する位置の対応画素に対する、相違度算出のための探索範囲内の前記第２の画素それぞれの視差値との比較に基づき、前記探索範囲内の前記第２の画素それぞれの第１の評価値を算出し、前記第１の評価画素と前記探索範囲内の前記第２の画素それぞれとの間の相違度と、前記探索範囲内の前記第２の画素それぞれの第１の評価値とに基づき、前記探索範囲内の前記第２の画素それぞれの視差値についての第２の評価値を算出し、前記探索範囲内の前記第２の画素それぞれの視差値に対応する全ての前記評価画素の前記第２の評価値を加算して、加算評価値を算出し、処理（ｄ）において、最小の前記加算評価値に対応する前記視差値を前記着目画素の前記第１の視差値に決定してもよい。
【００６３】
本開示の一態様に係る視差値算出方法において、処理（ｅ）において、前記第１の画素について、前記第１の視差値と、前記複数のサブピクセル評価値のうちの最大値又は最小値を与える前記第２の画素に対応する第３の視差値とが一致しない場合、前記第１の画素と前記第１の画素の周囲の画素との間の視差値の連続性に基づき、小数点以下の視差値として−０．５又は０．５の視差値を決定し、決定された視差値を前記第１の視差値に加算した視差値を、前記第１の視差値の代わりに用いてもよい。
【００６４】
本開示の一態様に係る視差値算出方法において、処理（ｂ）において、対象画素のセンサス特徴量を算出する際に比較する周囲の画素の領域である比較領域として、前記対象画素を含み且つ前記対象画素に対する位置が異なる複数の前記比較領域を決定し、前記比較領域それぞれについて、前記複数の第１の画素の前記第１のセンサス特徴量と、前記複数の第２の画素の前記第２のセンサス特徴量とを算出し、処理（ｃ）において、前記比較領域それぞれについて、前記相違度を算出し、処理（ｄ）において、全ての前記比較領域の前記相違度のうち、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得してもよい。
【００６５】
本開示の一態様に係る視差値算出方法において、処理（ｃ）において、前記相違度が算出される前記第１の画素及び前記第２の画素について、前記第１の画素の前記周囲の画素の画素値である輝度値と前記第２の画素の前記周囲の画素の画素値である輝度値との差異と、前記第１の画素の前記周囲の画素の輝度勾配と前記第２の画素の前記周囲の画素の輝度勾配との差異との少なくとも一方に基づく重みを、前記相違度に付加してもよい。
【００６６】
本開示の一態様に係る視差値算出方法において、処理（ｇ）において、前記第１の評価画素と前記探索範囲内の前記第２の画素との間における画素値の差異である輝度値の差異、前記第１の評価画素と前記探索範囲内の前記第２の画素との間における輝度勾配の差異、並びに、前記第１の評価画素又は前記探索範囲内の前記第２の画素における輝度勾配うちの少なくとも一つに基づく重みを、前記第１の評価値に付加してもよい。
【００６７】
本開示の一態様に係るプログラムは、（ａ）第１の位置に配置された第１のカメラで撮像された第１の画像と、第２の位置に配置された第２のカメラで撮像された第２の画像とを取得し、（ｂ）前記第１の画像において、前記第１の画像の複数の第１の画素毎に、周囲の画素との画素値の比較により、第１のセンサス特徴量を算出し、前記第２の画像において、前記第２の画像の複数の第２の画素毎に、周囲の画素との画素値の比較により、第２のセンサス特徴量を算出し、（ｃ）前記複数の第１の画素それぞれについて、前記第１のセンサス特徴量と、少なくとも１つの前記第２の画素の前記第２のセンサス特徴量とを用いて、前記少なくとも１つの第２の画素それぞれの位置での前記第１の画素に対する視差値に対応する相違度を算出し、（ｄ）前記複数の第１の画素それぞれについて、前記相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、前記第１の画素の整数画素精度の第１の視差値を取得し、（ｅ）前記複数の第１の画素それぞれについて、前記第１の画素の前記第１の視差値及び前記第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、前記第２の画素から抽出し、前記第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づく複数のサブピクセル評価値を算出し、前記複数のサブピクセル評価値を用いた等角フィッティングを用いて、前記第１の画素のサブピクセル精度の第２の視差値を算出し、（ｆ）前記複数の第１の画素それぞれの前記第２の視差値を用いて、前記第２の画像に対する前記第１の画像の視差画像における画素毎の視差値を取得することを、コンピュータに実行させる。上記態様によれば、本開示の一態様に係る視差値算出装置を同様の効果が得られる。
【００６８】
なお、上記の包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読取可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ等の不揮発性の記録媒体を含む。また、装置は、１つ以上の装置で構成されてもよい。装置が２つ以上の装置で構成される場合、当該２つ以上の装置は、１つの機器内に配置されてもよく、分離した２つ以上の機器内に分かれて配置されてもよい。本明細書及び特許請求の範囲では、「装置」とは、１つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
【００６９】
以下、本開示に係る視差値算出装置について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置及び接続形態、ステップ（工程）、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は模式図であり、必ずしも厳密に図示されたものではない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。
【００７０】
［実施の形態１］
実施の形態１に係る視差値算出装置１００を含む測距システム１を説明する。測距システム１は、複数のカメラで取得された複数の撮像画像から、当該撮像画像内の被写体と複数のカメラとの距離を算出する、つまり、当該撮像画像内の被写体の位置を３次元的に測距する。視差値算出装置１００は、測距に用いられる複数の撮像画像間の視差値を算出する。なお、視差値算出装置１００が備えられる対象は、測距システム１に限定されず、複数の撮像画像間の視差値を用いるものであれば、いかなる対象でもよい。
【００７１】
図１４は、実施の形態１に係る視差値算出装置１００を含む測距システム１の機能的な構成の一例のブロック図を示す。図１４に示すように、測距システム１は、撮像部１０と、記憶部２０と、画像処理部３０とを備える。撮像部１０、記憶部２０及び画像処理部３０は、１つの機器に搭載されてもよく、複数の機器に分かれて搭載されてもよい。後者の場合、複数の機器は、有線通信又は無線通信を介して、情報を授受してもよい。上記有線通信には、既存のいかなる有線通信が適用されてもよい。上記無線通信には、既存のいかなる無線通信が適用されてもよい。例えば、上記無線通信には、Ｗｉ−Ｆｉ（登録商標）（Wireless Fidelity）などの無線ＬＡＮ（Local Area Network）が適用されてもよく、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）等の近距離無線通信が適用されてもよい。
【００７２】
撮像部１０は、画像を撮像して取得し、記憶部２０に出力する。撮像部１０は、少なくとも２つのカメラを備え、本実施の形態では、異なる光軸中心で配置された２つのカメラ１１ａ及び１１ｂを備える。本実施の形態では、カメラ１１ａ及び１１ｂは、各画素の画素値が輝度値であるデジタル画像を、動画及び／又は静止画として撮像するカメラであるが、いかなるデジタル画像を撮像するカメラであってもよい。カメラ１１ａ及び１１ｂは、別々のカメラを構成してもよく、一体化されて複眼のカメラを構成してもよい。なお、カメラの数量は、２つに限定されず、２つ以上のいかなる数量であってもよい。本実施の形態では、カメラ１１ａ及び１１ｂは、同時に撮像を行う。
【００７３】
例えば、図１５には、撮像部１０のカメラ１１ａ及び１１ｂの配置例が模式的な斜視図で示されている。さらに、図１６には、図１５のカメラ１１ａ及び１１ｂの基線長の例が模式的な正面図で示されている。図１５の例では、カメラ１１ａ及び１１ｂは、水平方向に並んで配置されている。この場合、カメラ１１ａ及び１１ｂのレンズの中心を結ぶ基線ＢＬは、水平方向に延びる。さらに、カメラ１１ａ及び１１ｂそれぞれの光軸中心ＯＡａ及びＯＡｂは、互いから離れて水平方向に並び且つ平行であり、基線ＢＬ方向に対して垂直である。この場合、図１６に示すように、カメラ１１ａ及び１１ｂの光軸中心ＯＡａ及びＯＡｂの距離である基線長Ｌは、０よりも大きい。さらに、カメラ１１ａ及び１１ｂは、同じ向きＤに向けられ、例えば、図１５の例では、光軸中心ＯＡａ及びＯＡｂは、水平方向に延び且つ向きＤに平行である。さらにまた、カメラ１１ａ及び１１ｂの水平スキャン方向と基線ＢＬ方向とが平行である。水平スキャン方向は、カメラが有する複数の撮像素子の縦横の並び方向のうちの横方向であり、基線ＢＬ方向と同様の水平方向である。複数の撮像素子は、例えば、横方向である水平方向と、これに垂直な縦方向である垂直方向との２つの方向に格子状に平面的に配置されている。ここで、カメラ１１ａは、第１の位置に配置された第１のカメラの一例であり、カメラ１１ｂは、第２の位置に配置された第２のカメラの一例である。
【００７４】
なお、カメラ１１ａ及び１１ｂの配置は、図１５に示すような水平方向に並ぶ配置に限定されず、例えば、図１７に示すように、鉛直方向、つまり上下方向に並ぶ配置であってもよい。図１７は、撮像部１０のカメラ１１ａ及び１１ｂの別の配置例を示す模式的な斜視図である。この場合、基線ＢＬは鉛直方向に延びる。カメラ１１ａ及び１１ｂの光軸中心ＯＡａ及びＯＡｂは、互いから離れて鉛直方向に並び且つ平行であり、基線ＢＬ方向に対して垂直である。さらに、カメラ１１ａ及び１１ｂは、同じ向きＤに向けられ、例えば、図１７の例では、光軸中心ＯＡａ及びＯＡｂは、水平方向に延び且つ向きＤに平行である。さらにまた、カメラ１１ａ及び１１ｂの水平スキャン方向と基線ＢＬ方向とが垂直である。
【００７５】
上述のようなカメラ１１ａ及び１１ｂは、同じ被写体を撮像することができるステレオカメラを構成し、このようなカメラ１１ａ及び１１ｂによって撮像された画像は、ステレオ画像を構成する。
【００７６】
本明細書及び特許請求の範囲において、「平行」及び「垂直」とはそれぞれ、完全に平行及び垂直であるケースだけでなく、完全な平行及び垂直に対して差異があるケースも意味し得る。上記差異は、例えば、１０°未満の角度の差異であってもよい。
【００７７】
記憶部２０は、種々の情報の格納及び取り出しを可能にする。例えば、記憶部２０は、撮像部１０によって取得された撮像画像を格納する。記憶部２０は、撮像部１０及び／又は画像処理部３０を動作させるためのプログラムを格納してもよい。これらのプログラムは、撮像部１０及び画像処理部３０が有する図示しないメモリに格納されてもよい。記憶部２０は、例えば、ＲＯＭ（Read-Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリなどの半導体メモリ、ハードディスクドライブ、又はＳＳＤ（Solid State Drive）等の記憶装置によって実現される。ここで、記憶部２０は、メモリの一例である。
【００７８】
画像処理部３０は、視差値算出装置１００と、距離算出部３１と、出力部３２とを備える。さらに、視差値算出装置１００は、センサス変換部１０１と、相違度算出部１０２と、視差選択部１０３と、サブピクセル視差算出部１０４とを含む。上記の画像処理部３０及び視差値算出装置１００の各構成要素は、ＣＰＵ（Central Processing Unit）又はＤＳＰ（Digital Signal Processor）等のプロセッサ、並びに、ＲＡＭ及びＲＯＭ等のメモリなどからなるコンピュータシステム（図示せず）により構成されてもよい。各構成要素の一部又は全部の機能は、ＣＰＵ又はＤＳＰがＲＡＭを作業用のメモリとして用いてＲＯＭに記録されたプログラムを実行することによって達成されてもよい。また、各構成要素の一部又は全部の機能は、電子回路又は集積回路等の専用のハードウェア回路によって達成されてもよい。各構成要素の一部又は全部の機能は、上記のソフトウェア機能とハードウェア回路との組み合わせによって構成されてもよい。プログラムは、アプリケーションとして、インターネット等の通信網を介した通信、モバイル通信規格による通信、その他の無線ネットワーク、有線ネットワーク、又は放送等で提供されるものであってもよい。
【００７９】
視差値算出装置１００は、カメラ１１ａ及び１１ｂによって取得された対応する撮像画像を用いて、撮像画像上の様々な位置、具体的には、各画素における撮像画像間の視差を算出し、距離算出部３１に出力する。対応する撮像画像の例は、カメラ１１ａ及び１１ｂによって同時刻に撮像された画像である。距離算出部３１は、カメラ１１ａ及び１１ｂの撮像画像間の視差に基づき、三角測量の技術を用いて、撮像画像の上の様々な位置、具体的には、各画素における、当該画素に写し出される被写体とカメラ１１ａ及び１１ｂとの距離を算出し、出力部３２に出力する。距離算出部３１は、被写体とカメラ１１ａ及び１１ｂの基線ＢＬとの距離を算出する。距離算出部３１は、各画素の画素値が基準カメラ（カメラ１１ａ又はカメラ１１ｂ）の光学中心（図１５及び図１７におけるＯＡａ又はＯＡｂ）からの距離である距離画像を生成してもよい。出力部３２は、距離算出部３１によって算出された撮像画像の各画素の距離、及び距離画像等の距離情報を、撮像画像と対応付けて、記憶部２０、測距システム１を搭載する機器等に出力する。例えば、測距システム１が自動車に搭載される場合、出力部３２は、距離情報を自動車のＥＣＵ（Electronic Control Unit：電子制御ユニット）に出力してもよい。
【００８０】
視差値算出装置１００のセンサス変換部１０１は、入力画像であるカメラ１１ａ及び１１ｂそれぞれの撮像画像Ｉ１及びＩ２をセンサス変換する。センサス変換とは、着目画素とその周囲の周辺画素との大小関係により、着目画素周囲の周辺画素の画素値つまり輝度値の分布をビット列に変換する処理である。具体的には、例えば、着目画素の画素値が周辺画素の画素値よりも大きい場合、当該周辺画素のセンサス変換値は１であり、着目画素の画素値が周辺画素の画素値以下の場合、当該周辺画素のセンサス変換値は０である。センサス変換部１０１は、撮像画像Ｉ１及びＩ２それぞれの全ての画素に対して、センサス変換する。周辺画素は、着目画素から所定の距離内に位置する画素であり、周辺画素の領域のことを「比較領域」と呼ぶ。
【００８１】
例えば、図１８Ａ及び図１８Ｂは、センサス変換における周辺画素の一例を示す。図１９Ａ及び図１９Ｂはそれぞれ、図１８Ａ及び図１８Ｂの周辺画素のセンサス変換の一例を示す。図１８Ａ、図１８Ｂ、図１９Ａ及び図１９Ｂにおいて、ｃｔｒは着目画素を示す。図１８Ａ及び図１９Ａは、着目画素の近傍の８画素が周辺画素である例であり、図１８Ｂ及び図１９Ｂは、着目画素の近傍の６４画素が周辺画素である例である。図１９Ａ及び図１９Ｂの例ではそれぞれ、センサス変換により、着目画素周囲の周辺画素の画素値の分布は、８ビット又は６４ビットのビット列で表すことができる。具体的には、図１９Ａ及び図１９Ｂはそれぞれ、センサス変換前の周辺画素及び着目画素の画素値の例と、周辺画素のセンサス変換値の例と、センサス変換値からなるビット列の例とを示す。
【００８２】
例えば、図１８Ａ、図１８Ｂ、図１９Ａ及び図１９Ｂにおいて、図面上で水平方向に画素座標のｘ軸が定義され、上記水平方向の垂直方向に画素座標のｙ軸が定義され、図面上で水平方向右方向にｘ軸正方向が定義され、垂直方向下方向にｙ軸正方向が定義される。ｘ軸は、カメラ１１ａ及び１１ｂの基線ＢＬに沿う方向に延びる。ビット列は、例えば、ｙ座標最小且つｘ座標最小の周辺画素のセンサス変換値を最初の要素、つまりビットとして含み、さらに、ｙ座標が同じであるｘ軸正方向の周辺画素のセンサス変換値を順次要素として含み、次いで、ｙ座標を１つずつ増やしつつ、ｙ座標が同じであるｘ軸正方向の周辺画素のセンサス変換値を順次要素として含む。例えば、図１９Ａの例では、ビット列は、（０００１１０１１）で示される。このようにして、撮像画像Ｉ１及びＩ２それぞれの全ての画素に対して、ビット列が生成される。なお、周辺画素の数量及び配置は、図１８Ａ及び１８Ｂの数量及び配置に限る必要はなく、他の数量及び配置であってもかまわない。ここで、センサス変換値からなる上記のようなビット列は、センサス特徴量を構成する。
【００８３】
相違度算出部１０２は、予め決められた探索範囲内の画素について、撮像画像Ｉ１及びＩ２の間のセンサス特徴量の相違度を算出する。本実施の形態では、センサス特徴量の相違度として、ハミング距離が用いられる。ここで、探索範囲について説明する。探索範囲は、少なくとも１つの画素を含む。図１５に示すように、本実施の形態では、カメラ１１ａは、撮像方向である向きＤに向かって、カメラ１１ｂよりも左側に配置され、左カメラを構成し、カメラ１１ｂは、右カメラを構成する。
【００８４】
このようなカメラ１１ａの撮像画像Ｉ１を基準画像とし、カメラ１１ｂの撮像画像Ｉ２を参照画像とする場合の探索範囲を説明する。この場合、図２０に示すように、例えば、基準画像Ｉ１上の画素（以下、「着目画素」とも呼ぶ）Ｉ１ｐは、参照画像Ｉ２上の探索範囲内の全ての画素（以下、「参照画素」とも呼ぶ）Ｉ２ｐ１〜Ｉ２ｐｎそれぞれとの間で、センサス特徴量の相違度が求められる。なお、図２０は、相違度の算出の際の画素の探索範囲の一例を示す図である。参照画素Ｉ２ｐ１〜Ｉ２ｐｎは、着目画素Ｉ１ｐと画素座標のｙ座標が同じ画素の行を構成し、当該画素の行は、探索範囲を構成する。このような探索範囲は、画素座標における一次元探索範囲であり、参照画像Ｉ２における１つの画素の行の全てである。
【００８５】
又は、着目画素Ｉ１ｐは、参照画像Ｉ２上における着目画素Ｉ１ｐと同じ画素座標である対応画素Ｉ２ｐｍを含むｋ＋１個（ｋは、正の整数）の参照画素それぞれとの間で、センサス特徴量の相違度が求められてもよい。着目画素Ｉ１ｐの画素座標と、対応画素Ｉ２ｐｍの画素座標とは、着目画素Ｉ１ｐでの視差値に対応して異なるが、本実施の形態では、各画素の視差値の初期値を示す初期視差画像における各画素の視差値は０である。このため、着目画素Ｉ１ｐの画素座標と、対応画素Ｉ２ｐｍの画素座標が同じである。このような参照画素は、対応画素Ｉ２ｐｍとｙ座標が同じであり且つ対応画素Ｉ２ｐｍからｘ軸負方向にｋ＋１個の画素、つまり、対応画素Ｉ２ｐｍから画素Ｉ２ｐｍ−ｋのｋ＋１個の画素であり、探索範囲を構成する。このような探索範囲は、一次元探索範囲であり、参照画像Ｉ２の対応画素Ｉ２ｐｍを含む画素の行において、対応画素Ｉ２ｐｍから基線ＢＬに沿ってカメラ１１ａに向かうｋ＋１個の画素の範囲である。以下の実施の形態では、ｋ＋１個の画素を探索範囲とするケースを説明する。
【００８６】
なお、着目画素Ｉ１ｐに対する対応画素Ｉ２ｐｍの視差値は、０画素であり、着目画素Ｉ１ｐに対する画素Ｉ２ｐｍ−ｋの視差値は、−ｋ画素である。このため、探索範囲は、着目画素Ｉ１ｐに対する水平方向の視差値が０画素から−ｋ画素である範囲でもある。なお、上記探索範囲は、視差値が０以下の範囲であるが、これに限定されず、視差値が０超である範囲も含んでもよい。本実施の形態では、視差値は、正の値である場合、ｘ軸正方向の視差を示し、負の値である場合、ｘ軸負方向の視差を示す。
【００８７】
同様に、撮像画像Ｉ２を基準画像とし、撮像画像Ｉ１を参照画像とする場合の探索範囲を説明する。この場合、図２１に示すように、基準画像Ｉ２上の着目画素Ｉ２ｐは、参照画像Ｉ１上の探索範囲内の全ての参照画素Ｉ１ｐ１〜Ｉ１ｐｎそれぞれとの間で、センサス特徴量の相違度が求められる。なお、図２１は、相違度の算出の際の画素の探索範囲の別の一例を示す図である。このような探索範囲は、参照画像Ｉ１における１つの画素の行の全てであり、この行のｙ座標は、着目画素Ｉ２ｐと同じである。
【００８８】
又は、着目画素Ｉ２ｐは、参照画像Ｉ１上における対応画素Ｉ１ｐｍを含むｋ＋１個の参照画素それぞれとの間で、センサス特徴量の相違度が求められてもよい。このような参照画素は、対応画素Ｉ１ｐｍとｙ座標が同じであり且つ対応画素Ｉ１ｐｍからｘ軸正方向のｋ＋１個の画素、つまり、対応画素Ｉ１ｐｍから画素Ｉ１ｐｍ＋ｋのｋ＋１個の画素であり、探索範囲を構成する。このような探索範囲は、参照画像Ｉ１の対応画素Ｉ１ｐｍを含む画素の行において、対応画素Ｉ１ｐｍから基線ＢＬに沿ってカメラ１１ｂに向かうｋ＋１個の画素の範囲である。また、探索範囲は、着目画素Ｉ２ｐに対する水平方向の視差値が０画素からｋ画素である範囲でもある。上記探索範囲は、視差値が０以上の範囲であるが、これに限定されず、視差値が０未満である範囲も含んでもよい。
【００８９】
また、ハミング距離を用いた相違度は、以下のように求められる。例えば、基準画像の着目画素のセンサス特徴量が、ビット列（０００１１０１１）であり、参照画像の参照画素のセンサス特徴量が、ビット列（１０１１０００１）である場合、これら２つの画素間のハミング距離は、１＋０＋１＋０＋１＋０＋１＋０＝４であり、相違度は、「４」である。相違度は、ハミング距離であり、２つの画素のセンサス特徴量であるビット列間において、同じ桁同士のビットの数値が異なる桁数である。つまり、ハミング距離の算出では、２つのビット列間において、同じ桁のビットの数値が同じ場合、ビット間差異が「０」であり、同じ桁のビットの数値が異なる場合、ビット間差異が「１」であり、全てのビット間差異の和がハミング距離である。
【００９０】
このように、相違度算出部１０２は、基準画像の着目画素それぞれについて、着目画素のセンサス特徴量と、参照画像の少なくとも１つの参照画素のセンサス特徴量とを用いて、少なくとも１つの参照画素それぞれの位置での着目画素に対する視差値に対応する相違度を算出する。ここで、基準画像としての撮像画像Ｉ１の複数の画素は、複数の第１の画素の一例であり、第３の画素と、第４の画素と、第５の画素とを含む。参照画像としての撮像画像Ｉ２の複数の画素は、複数の第２の画素の一例であり、第６の画素と、第７の画素と、第８の画素とを含む。そして、第４の画素及び第５の画素は、撮像画像Ｉ１上における比較領域のような第３の画素から所定の距離内に位置する第３の画素に対する周囲の画素である。第７の画素及び第８の画素は、撮像画像Ｉ２上における比較領域のような第６の画素から所定の距離内に位置する第６の画素に対する周囲の画素である。第３の画素のセンサス特徴量は、第３の画素の画素値と第４の画素の画素値との比較値と、第３の画素の画素値と第５の画素の画素値との比較値とを有する。第６の画素のセンサス特徴量は、第６の画素の画素値と第７の画素の画素値との比較値と、第６の画素の画素値と第８の画素の画素値との比較値とを有する。
【００９１】
視差選択部１０３は、着目画素について、対応する探索範囲内の参照画素の相違度のうちから、最小の相違度を選択し、当該相違度に対応する参照画素の視差値を特定する。そして、視差選択部１０３は、特定された視差値を、着目画素の整数精度の視差値、つまり整数画素精度の視差値に決定する。視差選択部１０３は、基準画像内の全ての画素を、着目画素として順次走査することにより、基準画像内の各画素における整数精度の視差値を決定する。視差選択部１０３は、基準画像の整数精度の視差画像を生成してもよい。当該視差画像は、整数精度の視差値を各画素の画素値として含み、基準画像の各画素における輝度値からなる画素値を視差値に置き換えた画像である。
【００９２】
具体的には、着目画素の整数精度の視差値の決定は、以下に説明するように処理される。例えば、図２２には、１つの着目画素に対して算出される相違度と、相違度に対応する探索範囲内の参照画素の視差値との関係の一例が、図化されている。このように、相違度は、予め設定された視差値の最小値及び最大値で決まる探索範囲内において、１画素間隔で算出される。そして、視差選択部１０３は、探索範囲内の相違度から、最小の相違度を選択し、当該相違度に対応する視差値を、着目画素の整数精度の視差値に決定する。このように、視差選択部１０３は、基準画像内の全ての画素を、着目画素として順次走査することにより、基準画像内の各画素における視差値を整数精度で決定する。
【００９３】
サブピクセル視差算出部１０４は、撮像画像Ｉ１及びＩ２について、基準画像の着目画素及び参照画像の参照画素の周囲に窓領域を設定し、窓領域間において輝度差ベースの評価値であるサブピクセル評価値を算出する。さらに、サブピクセル視差算出部１０４は、サブピクセル評価値を用いた等角フィッティング法により、着目画素のサブピクセル精度の視差推定を行う。
【００９４】
例えば、特許文献１に開示されるような従来技術は、２つの入力画像それぞれの各画素について、図１８Ａ及び図１８Ｂに例示するような着目画素と周辺画素との間でセンサス変換し、２つの入力画像の画素間でセンサス特徴量のハミング距離を算出することによって、１画素間隔の視差値についての相違度を算出する。さらに、当該従来技術は、一方の入力画像である基準画像の画素について、他方の入力画像である参照画像の画素との間で算出された相違度の中の最小の相違度に対応する視差値を、整数精度の視差値として、基準画像の当該画素の視差値に決定する。さらに、当該従来技術は、最小の相違度に対応する視差値の±１画素の視差値での相違度と、最小の相違度と、それぞれの視差値との関係に基づき、等角フィッティング法を用いることによって、基準画像の当該画素のサブピクセル精度の視差値を算出する。
【００９５】
これに対して、本実施形態に係るサブピクセル視差算出部１０４は、撮像画像Ｉ１又はＩ２である基準画像内の着目画素に対して、図１８Ａ及び図１８Ｂに例示するようなセンサス変換での周辺画素の領域と同じ領域である窓領域を設定する。
【００９６】
さらに、サブピクセル視差算出部１０４は、視差選択部１０３によって決定された整数精度の着目画素の視差値に基づき、着目画素の視差値に対応する位置にある参照画像の第一参照画素を特定する。相違度計算のための探索範囲は、画素座標でｘ軸方向の範囲であるため、着目画素の整数精度の視差値がｄ画素である場合、第一参照画素は、参照画像における着目画素と同じ画素座標である対応画素に対して、ｘ軸正方向にｄ画素ずれた位置の画素である。そして、サブピクセル視差算出部１０４は、第一参照画素と、参照画像における第一参照画素に視差値が近傍である画素とに、基準画素と同じ窓領域を設定する。本実施の形態では、視差値が近傍である画素は、第一参照画素に対してｘ軸方向の視差値が±１画素異なる画素であり、ｘ軸方向の視差値がｄ−１及びｄ＋１の画素である。視差値ｄ−１及びｄ＋１の画素はそれぞれ、第一参照画素に対して画素座標でｘ軸正方向に−１画素及び＋１画素ずれた位置の画素である。このような２つの画素を、第二参照画素及び第三参照画素と呼ぶ。なお、第二参照画素は、視差値ｄ−１の画素に対応し、第三参照画素は、視差値ｄ＋１の画素に対応する。
【００９７】
サブピクセル視差算出部１０４は、基準画像及び参照画像の窓領域の画素間のＳＡＤ、つまり輝度差の絶対値和をサブピクセル評価値として算出し、絶対値和と視差値との関係に基づく等角フィッティング法により、サブピクセル評価値の最適値を算出する。サブピクセル視差算出部１０４は、サブピクセル評価値の最適値に対応する視差値を、基準画像の着目画素のサブピクセル精度の視差値に決定する。具体的には、着目画素の窓領域内の各画素の画素値つまり輝度値と、第一参照画素の窓領域内の各画素の輝度値との差の絶対値和Ｓ１が算出される。絶対値和Ｓ１に対応する視差値はｄである。さらに、着目画素の窓領域内の各画素の輝度値と、第二参照画素の窓領域内の各画素の輝度値との差の絶対値和Ｓ２が算出される。絶対値和Ｓ２に対応する視差値はｄ−１である。さらに、着目画素の窓領域内の各画素の輝度値と、第三参照画素の窓領域内の各画素の輝度値との差の絶対値和Ｓ３が算出される。絶対値和Ｓ３に対応する視差値はｄ＋１である。サブピクセル視差算出部１０４は、絶対値和Ｓ１、Ｓ２及びＳ３と、対応する視差値ｄ−１、ｄ及びｄ＋１との関係に基づき、図２３に示すように、等角フィッティング法により、絶対値和の極値Ｓｓに対応するサブピクセル精度の視差値ｄｓを算出する。図２３の等角フィッティング法では、Ｖ字型の関数が当てはめられている。サブピクセル視差算出部１０４は、視差値ｄｓを、着目画素のサブピクセル精度の視差値に決定する。なお、図２３は、等角フィッティング法によりサブピクセル精度の視差値を算出する例を示す図である。
【００９８】
ここで、サブピクセル精度の視差値の算出の具体的例を説明する。例えば、図２４は、着目画素、第一参照画素、第二参照画素及び第三参照画素の窓領域の一例を示す。図２５は、着目画素と第一〜第三参照画素との間における窓領域内の画素の輝度値の関係の一例を示す。図２４及び図２５は、窓領域が８つの周辺画素の領域であるケースを示す。つまり、窓領域は９つの画素を含む。図２４及び図２５の例では、サブピクセル視差算出部１０４は、撮像画像Ｉ１を基準画像とし、撮像画像Ｉ２を参照画像として処理を行う。サブピクセル視差算出部１０４は、基準画像において、着目画素ｃｔｒの窓領域Ａ１内の全ての画素の輝度値を、撮像画像Ｉ１から取得する。さらに、サブピクセル視差算出部１０４は、参照画像において、視差値ｄに対応する第一参照画素ｒｅｆ１の窓領域Ｂ１内の全ての画素の輝度値と、視差値ｄ−１に対応する第二参照画素ｒｅｆ２の窓領域Ｂ２内の全ての画素の輝度値と、視差値ｄ＋１に対応する第三参照画素ｒｅｆ３の窓領域Ｂ３内の全ての画素の輝度値とを、撮像画像Ｉ２から取得する。
【００９９】
サブピクセル視差算出部１０４は、窓領域Ａ１と窓領域Ｂ１との間で、窓領域に対して同じ位置の画素である対応画素同士の輝度値の差の絶対値を、窓領域の全ての画素について算出する。つまり、９つの絶対値が算出される。さらに、サブピクセル視差算出部１０４は、９つの絶対値の和である絶対値和Ｓ１を算出する。例えば、サブピクセル視差算出部１０４は、窓領域Ａ１における輝度値「８５」の画素と、窓領域Ｂ１における輝度値「１２０」の画素との間で、輝度値の差の絶対値「３５」を算出する。
【０１００】
同様に、サブピクセル視差算出部１０４は、窓領域Ａ１と窓領域Ｂ２との間で、対応画素同士の輝度値の差の絶対値を算出し、９つの絶対値の絶対値和Ｓ２を算出する。また、サブピクセル視差算出部１０４は、窓領域Ａ１と窓領域Ｂ３との間で、対応画素同士の輝度値の差の絶対値を算出し、９つの絶対値の絶対値和Ｓ３を算出する。そして、サブピクセル視差算出部１０４は、図２３に示すように、等角フィッティング法により、サブピクセル評価値の極値Ｓｓを最適値に決定し、最適値Ｓｓに対応する視差値ｄｓを算出する。サブピクセル視差算出部１０４は、視差値ｄｓを、着目画素ｃｔｒのサブピクセル精度の視差値に決定する。
【０１０１】
なお、窓領域Ａ１、Ｂ１、Ｂ２及びＢ３はそれぞれ、着目画素、第一参照画素、第二参照画素及び第三参照画素が窓領域の中央に位置するように配置されていたが、これに限定されず、着目画素、第一参照画素、第二参照画素及び第三参照画素を含めばいかなる位置でもよい。窓領域Ａ１、Ｂ１、Ｂ２及びＢ３に含まれる周辺画素の数量及び周辺画素の領域は、センサス変換での周辺画素の数量及び周辺画素の領域と異なっていてもよい。
【０１０２】
また、サブピクセル視差算出部１０４は、サブピクセル評価値として、ＳＡＤに限らず、ＳＳＤ、つまり輝度差の２乗和を用いてもよい。また、サブピクセル視差算出部１０４は、着目画素と、第一参照画素、第二参照画素及び第三参照画素との間でのＳＡＤと、それぞれの視差値とを用いて、パラボラフィッティング法により、着目画素のサブピクセル精度の視差値を算出してもよい。ちなみに、サブピクセル評価値とサブピクセル精度の視差値の推定方法との組み合わせについては、ＳＡＤの場合には等角フィッティング法が、他の組み合わせと比べて視差推定誤差が小さくなり、ＳＳＤの場合にはパラボラフィッティング法が、他の組み合わせと比べて視差推定誤差が小さくなることが、非特許文献２に開示されている。
【０１０３】
なお、本実施の形態では、左右のカメラ１１ａ及び１１ｂの配置が適切である場合を想定している。すなわち、図１５に示すように、カメラ１１ａ及び１１ｂの光軸中心ＯＡａ及びＯＡｂが基線ＢＬ方向に垂直であり、且つ、光軸中心ＯＡａ及びＯＡｂが互いに平行であり、且つ、カメラ１１ａ及び１１ｂの水平スキャン方向と基線ＢＬ方向とが平行あり、且つ、カメラ１１ａ及び１１ｂに画像歪がない場合を想定している。基準画像中の着目点に対応する参照画像中の対応点は、当該着目点の画素座標のｙ座標と、画素座標のｙ座標が同じであるｘ軸方向の水平ライン中に存在する。上記のカメラ１１ａ及び１１ｂの配置によるステレオ画像の撮像を平行撮像と呼ぶ。カメラ１１ａ及び１１ｂの配置が、平行撮像の配置からずれている、又は、撮像画像の歪みが無視できない程大きい場合には、画像変換の前に、歪み補正及び画像の平行化処理を行うことで、歪みを有さず且つ平行撮像による画像となるように、画像を補正してもよい。また、図１７に示すように、カメラ１１ａ及び１１ｂが上下方向に離して配置される場合、基準画像中の着目点に対応する参照画像中の対応点は、当該着目点の画素座標のｘ座標と、画素座標のｘ座標が同じであるｙ軸方向の垂直コラム中に存在する。
【０１０４】
さらに、実施の形態１に係る視差値算出装置１００の動作を説明する。図２６は、実施の形態１に係る視差値算出装置１００の動作の一例を示すフローチャートである。まず、ステップＳ１０１において、センサス変換部１０１は、記憶部２０から、カメラ１１ａ及び１１ｂそれぞれにより撮像された撮像画像Ｉ１及びＩ２を取得する。撮像画像Ｉ１及びＩ２は、同じ被写体を写し出す画像であり、同じ時刻にカメラ１１ａ及び１１ｂにより撮像された画像である。つまり、撮像画像Ｉ１及びＩ２は、ステレオ画像である。
【０１０５】
次いで、ステップＳ１０２において、センサス変換部１０１は、撮像画像Ｉ１及びＩ２それぞれをセンサス変換する。センサス変換部１０１は、撮像画像Ｉ１及びＩ２それぞれの全ての画素をセンサス変換し、各画素のセンサス特徴量を算出し、相違度算出部１０２に出力する。センサス特徴量は、例えば、図１８Ａ、図１８Ｂ、図１９Ａ及び図１９Ｂに示すように、センサス変換される着目画素の周辺画素に対応するビット列であり、「センサスベクトル」とも呼ばれる。
【０１０６】
次いで、ステップＳ１０３において、相違度算出部１０２は、撮像画像Ｉ１及びＩ２のうちの一方の基準画像の各画素について、撮像画像Ｉ１及びＩ２のうちの他方の参照画像に対する相違度を算出し、視差選択部１０３に出力する。本実施の形態では、相違度算出部１０２は、図１５に示すように左側に位置するカメラ１１ａの撮像画像Ｉ１を、基準画像に決定し、撮像画像Ｉ２を参照画像に決定するが、これに限定されない。基準画像及び参照画像の決定は、予め決められた規則に従って行われてもよく、図示しない入力装置を介したユーザによる指令に従って行われてもよい。相違度算出部１０２は、基準画像Ｉ１の着目画素について、例えば、図２０に示すような、参照画像Ｉ２における着目画素に対応する探索範囲の参照画素それぞれと着目画素との間で、センサス特徴量の相違度を算出する。相違度算出部１０２は、基準画像Ｉ１の全ての画素を着目画素として、相違度を算出する。本実施の形態では、相違度は、着目画素及び参照画素のセンサス特徴量間のハミング距離である。例えば、探索範囲内の参照画素の数量がｋ＋１個である場合、１つの着目画素に対してｋ＋１個の相違度が算出される。
【０１０７】
次いで、ステップＳ１０４において、視差選択部１０３は、基準画像Ｉ１の各画素について、算出された相違度に基づき、当該画素の視差値を整数精度で決定し、サブピクセル視差算出部１０４に出力する。視差選択部１０３は、例えば、図２２に示すように、基準画像Ｉ１の着目画素に対応する相違度から最小の相違度を抽出し、最小の相違度に対応する参照画素と着目画素との視差値を特定する。視差値は、例えば、図２０に示すように、着目画素Ｉ１ｐに対応する参照画像Ｉ２の対応画素Ｉ２ｐｍに対する参照画素の位置から、算出可能である。視差選択部１０３は、基準画像Ｉ１内で、全ての画素を着目画素として順次走査することにより、基準画像Ｉ１内の全ての画素の視差値を整数精度で決定する。
【０１０８】
次いで、ステップＳ１０５において、サブピクセル視差算出部１０４は、撮像画像Ｉ１及びＩ２のうちの基準画像の各画素について、サブピクセル精度の視差値を算出する。具体的には、サブピクセル視差算出部１０４は、記憶部２０から撮像画像Ｉ１及びＩ２を取得し、撮像画像Ｉ１及びＩ２と、撮像画像Ｉ１つまり基準画像の各画素の整数精度の視差値とを用いて、基準画像の各画素のサブピクセル精度の視差値を算出する。サブピクセル視差算出部１０４は、基準画像内の着目画素に対して、着目画素周辺に窓領域を設定する。さらに、サブピクセル視差算出部１０４は、着目画素の視差値に対応する位置にある参照画像の第一参照画素と、参照画像における第一参照画素に視差値が近傍である第二参照画素及び第三参照画素とにそれぞれ、窓領域を設定する。サブピクセル視差算出部１０４は、着目画素の窓領域内の全ての画素と、第一〜第三参照画素それぞれの窓領域内の全ての画素との間で、輝度差ベースのサブピクセル評価値である輝度差の絶対値和を算出する。サブピクセル視差算出部１０４は、３つの絶対値和と、各絶対値和に対応する視差値との関係に基づき、等角フィッティング法により、着目画素のサブピクセル精度の視差値を算出する。サブピクセル視差算出部１０４は、基準画像の各画素を着目画素として、各画素のサブピクセル精度の視差値を算出する。そして、サブピクセル視差算出部１０４は、基準画像の各画素における輝度値からなる画素値を、サブピクセル精度の視差値に置き換えた視差画像を生成する。
【０１０９】
なお、左右のカメラ１１ａ及び１１ｂの配置が適切でない場合、ステップＳ１０２の前に、画像の歪み補正及び平行化処理等を行ってもよい。またその際、平行化に伴う画像中心（図１５及び図１７における光軸中心ＯＡａ及びＯＡｂの画像中での位置）の移動を考慮し、初期視差画像における視差値の初期値を０以外の値に設定するようにしてもよい。
【０１１０】
上述したように、実施の形態１に係る視差値算出装置１００は、カメラ１１ａで撮像された撮像画像Ｉ１と、カメラ１１ｂで撮像された撮像画像Ｉ２とを記憶部２０から取得する。視差値算出装置１００は、撮像画像Ｉ１の複数の第１の画素毎に第１のセンサス特徴量を算出し、撮像画像Ｉ２の複数の第２の画素毎に第２のセンサス特徴量を算出し、複数の第１の画素それぞれについて、第１のセンサス特徴量と、少なくとも１つの第２の画素の第２のセンサス特徴量とを用いて、少なくとも１つの第２の画素それぞれの位置での第１の画素に対する視差値に対応する相違度を算出する。視差値算出装置１００は、複数の第１の画素それぞれについて、相違度を用いて、最も小さい相違度に対応する視差値を選択することにより、撮像画像Ｉ１の第１の画素についての整数画素精度の第１の視差値を取得する。さらに、視差値算出装置１００は、複数の第１の画素それぞれについて、第１の画素の第１の視差値及び第１の視差値の近傍視差値それぞれに対応する位置の複数の参照画素を、撮像画像Ｉ２から抽出する。視差値算出装置１００は、第１の画素及びその周辺画素の画素値と各参照画素及びその周辺画素の画素値との関係に基づくサブピクセル評価値を算出し、サブピクセル評価値を用いた等角フィッティングを用いて、第１の画素のサブピクセル精度の第２の視差値を算出する。そして、視差値算出装置１００は、複数の第１の画素それぞれの第２の視差値を用いて、撮像画像Ｉ２に対する撮像画像Ｉ１の視差画像における画素毎の視差値を取得する。
【０１１１】
上記構成によると、視差値算出装置１００は、撮像画像Ｉ１及びＩ２を用いて、基準画像である撮像画像Ｉ１の各画素の整数画素精度の視差値を、センサス特徴量及び相違度に基づき算出する。さらに、視差値算出装置１００は、撮像画像Ｉ１の第１の画素を着目画素として、着目画素と、参照画像である撮像画像Ｉ１の複数の参照画素との間におけるそれぞれの周辺画素を含めた画素値の関係に基づくサブピクセル評価値を用いて、着目画素のサブピクセル精度の視差値を算出する。このような視差値は、撮像画像Ｉ１における着目画素の周囲の輝度値の分布、及び、撮像画像Ｉ２における参照画素の周囲の輝度値の分布を反映する視差値である。例えば、撮像画像Ｉ１及びＩ２の間での輝度差がある場合でも、輝度差の影響を低減した視差値が得られる。さらに、このような視差値からなる視差画像は、被写体のエッジ、境界等のライン間で視差値が異なることによる筋状のアーチファクトが発生することを抑えることができる。よって、視差値算出装置１００は、複数の画像間の視差値を高い精度で算出することができる。なお、撮像画像Ｉ２が基準画像である場合も同様である。
【０１１２】
［実施の形態２］
実施の形態１に係る視差値算出装置１００は、カメラ１１ａ及び１１ｂの撮像画像Ｉ１及びＩ２において、対応する画素間の輝度値の差異が小さい程、サブピクセル精度の視差値の算出精度が高い。実施の形態２に係る視差値算出装置２００は、カメラ１１ａ及び１１ｂの撮像画像Ｉ１及びＩ２において、対応する画素間の輝度値の差異を低減する構成をさらに備える。実施の形態２において、実施の形態１と同様の構成要素については、実施の形態１と同一の参照符号を付し、その説明を省略する。以下において、実施の形態１と異なる点を中心に説明し、実施の形態１と同様の点の説明を省略する。
【０１１３】
図２７は、実施の形態２に係る視差値算出装置２００の機能的な構成の一例のブロック図を示す。図２７に示すように、視差値算出装置２００は、センサス変換部１０１と、相違度算出部１０２と、視差選択部１０３と、サブピクセル視差算出部１０４と、低域カット部２０５とを含む。
【０１１４】
低域カット部２０５は、画像の低域カットフィルタを構成し、画像の低周波数成分を除去又は抑制する。低域カット部２０５は、被写体のエッジ、境界等を強調した画像を出力する。低域カット部２０５は、記憶部２０から取得した撮像画像を変換し、サブピクセル視差算出部１０４に出力する。サブピクセル視差算出部１０４は、低域カット部２０５による変換後の画像を用いて、サブピクセル評価値に基づく、サブピクセル精度の視差値を算出する。サブピクセル視差算出部１０４は、低域カット部２０５による変換画像を用いることによって、左右のカメラのゲイン特性の差及び周辺減光等に起因するカメラ１１ａ及び１１ｂの撮像画像Ｉ１及びＩ２間の輝度差の影響を低減したサブピクセル精度の視差値を算出することができる。また、低域カット部２０５は、変換した画像をセンサス変換部１０１にも出力し、センサス変換部１０１は、低域カット部２０５による変換画像をセンサス変換し、相違度算出部１０２に出力してもよい。このような場合も、サブピクセル視差算出部１０４によって算出されるサブピクセル精度の視差値は、上記と同様の効果を奏することができる。
【０１１５】
上述のような実施の形態２に係る視差値算出装置２００によれば、実施の形態１と同様の効果が得られる。さらに、視差値算出装置２００は、撮像画像間における対応する画素の輝度値の差異による影響を低減したサブピクセル精度の視差値を算出することができる。
【０１１６】
［実施の形態３］
実施の形態１に係る視差値算出装置１００は、カメラ１１ａ及び１１ｂの撮像画像Ｉ１及びＩ２の一方を基準画像とし、他方を参照画像と決定し、基準画像の画素の視差値を算出した。実施の形態３に係る視差値算出装置３００は、撮像画像Ｉ１及びＩ２それぞれを基準画像に決定し、各基準画像の視差値を比較することによって、視差値の一貫性をチェックする。つまり、実施の形態３に係る視差値算出装置３００は、視差値の算出結果の信頼性を高めるために、双方向の視差値の算出を行い、視差値の算出結果の比較から一貫性をチェックすることで、視差値の算出精度を高める。実施の形態３において、実施の形態１又は２と同様の構成要素については、実施の形態１及び２と同一の参照符号を付し、その説明を省略する。以下において、実施の形態１及び２と異なる点を中心に説明し、実施の形態１又は２と同様の点の説明を省略する。
【０１１７】
図２８は、実施の形態３に係る視差値算出装置３００の機能的な構成の一例のブロック図を示す。図２８に示すように、視差値算出装置３００は、センサス変換部１０１と、相違度算出部１０２と、第一視差選択部３０３ａと、第二視差選択部３０３ｂと、第一サブピクセル視差算出部３０４ａと、第二サブピクセル視差算出部３０４ｂと、Ｌ／Ｒチェック部（「左右チェック部」とも呼ぶ）３０６とを含む。
【０１１８】
相違度算出部１０２は、カメラ１１ａ及び１１ｂの撮像画像Ｉ１及びＩ２それぞれを基準画像として、基準画像の各画素の相違度を算出する。具体的には、相違度算出部１０２は、第一基準画像である撮像画像Ｉ１中の各画素に関して、第一参照画像である撮像画像Ｉ２の探索範囲中の各画素に対して、つまり、探索範囲中の各視差値について、センサス特徴量の相違度を算出する。同様に、相違度算出部１０２は、第二基準画像である撮像画像Ｉ２中の各画素に関して、第二参照画像である撮像画像Ｉ１の探索範囲中の各画素に対して、センサス特徴量の相違度を算出する。
【０１１９】
第一視差選択部３０３ａは、撮像画像Ｉ１の各画素に対して算出された相違度について、当該画素の相違度のうちから最小の相違度を抽出し、最小の相違度を与える撮像画像Ｉ２の画素の視差値を、撮像画像Ｉ１の当該画素の整数精度の視差値として特定する。そして、第一視差選択部３０３ａは、撮像画像Ｉ１の各画素の整数精度の視差値を、第一基準画像の各画素の整数精度の視差値として算出する。
【０１２０】
第二視差選択部３０３ｂは、撮像画像Ｉ２の各画素に対して算出された相違度について、当該画素の相違度のうちから最小の相違度を抽出し、最小の相違度を与える撮像画像Ｉ１の画素の視差値を、撮像画像Ｉ２の当該画素の整数精度の視差値として特定する。そして、第二視差選択部３０３ｂは、撮像画像Ｉ２の各画素の整数精度の視差値を、第二基準画像の各画素の整数精度の視差値として算出する。
【０１２１】
第一サブピクセル視差算出部３０４ａは、実施の形態１に係るサブピクセル視差算出部１０４と同様に、第一基準画像である撮像画像Ｉ１の各画素を着目画素とし、着目画素の窓領域内の全ての画素と、着目画素に対応する撮像画像Ｉ２の第一〜第三参照画素それぞれの窓領域内の全ての画素との間で、サブピクセル評価値である輝度差の絶対値和を算出する。第一サブピクセル視差算出部３０４ａは、３つの絶対値和と、各絶対値和に対応する視差値との関係に基づき、等角フィッティング法により、着目画素のサブピクセル精度の視差値を算出する。第一サブピクセル視差算出部３０４ａは、撮像画像Ｉ１の全ての画素について、サブピクセル精度の視差値を算出することで、撮像画像Ｉ１の視差画像をサブピクセル精度で生成する。
【０１２２】
第二サブピクセル視差算出部３０４ｂは、実施の形態１に係るサブピクセル視差算出部１０４と同様に、第二基準画像である撮像画像Ｉ２の各画素を着目画素とし、着目画素の窓領域内の全ての画素と、着目画素に対応する撮像画像Ｉ１の第一〜第三参照画素それぞれの窓領域内の全ての画素との間で、サブピクセル評価値である輝度差の絶対値和を算出する。第二サブピクセル視差算出部３０４ｂは、３つの絶対値和と、各絶対値和に対応する視差値との関係に基づき、等角フィッティング法により、着目画素のサブピクセル精度の視差値を算出する。第二サブピクセル視差算出部３０４ｂは、撮像画像Ｉ２の全ての画素について、サブピクセル精度の視差値を算出することで、撮像画像Ｉ２の視差画像をサブピクセル精度で生成する。
【０１２３】
Ｌ／Ｒチェック部３０６は、第一基準画像の視差画像と、第二基準画像の視差画像との間の一貫性をチェックする。つまり、Ｌ／Ｒチェック部３０６は、撮像画像Ｉ１の視差画像と、撮像画像Ｉ２の視差画像との間の一貫性をチェックする。Ｌ／Ｒチェック部３０６は、一貫性のチェックに、以下の式２を用いる。
【０１２４】
【数２】
2019120591.tif 000004
【０１２５】
上記の式２において、ｄ１は、撮像画像Ｉ１の着目画素のサブピクセル精度の視差値である。ｘは、撮像画像Ｉ１の画素のｘ座標を示し、（ｘ，ｙ）は、着目画素の画素座標である。ｘ＋ｄ１（ｘ，ｙ）は、撮像画像Ｉ１の着目画素の視差値ｄ１に対応する位置の撮像画像Ｉ２の画素である視差対応画素のｘ座標を示す。ｄ２は、撮像画像Ｉ２の上記視差対応画素におけるサブピクセル精度の視差値である。ｘ＋ｄ１（ｘ，ｙ）＋ｄ２（ｘ＋ｄ１（ｘ，ｙ），ｙ）は、撮像画像Ｉ２の上記視差対応画素の視差値ｄ２に対応する位置の撮像画像Ｉ１の画素のｘ座標を示す。このような式２は、撮像画像Ｉ１を基準にした視差値と、撮像画像Ｉ２を基準とした視差値との差異を表す。上記の式２の値が所定の閾値以下である場合、撮像画像Ｉ１の着目画素の視差値の信頼性が高く、撮像画像Ｉ１を基準にした視差値と、撮像画像Ｉ２を基準とした視差値との間に一貫性がある見なすことができる。上記の式２の値が所定の閾値よりも大きい場合、撮像画像Ｉ１の着目画素の視差値の信頼性が低く、上記一貫性がないと見なすことができる。上記閾値は、要求される一貫性の程度に応じて予め決められる。上記閾値の例は、１画素である。
【０１２６】
Ｌ／Ｒチェック部３０６は、上記の式２の値が所定の閾値以下である場合、視差値ｄ１をそのまま、撮像画像Ｉ１の着目画素の視差値に決定し出力する。一方、Ｌ／Ｒチェック部３０６は、上記の式２の値が閾値よりも大きい場合には、撮像画像Ｉ１の着目画素の視差値を、例えば探索範囲に含まれる視差値以外の特定の値に変更し出力する。この特定の値は、視差値の一貫性がないことを示す値である。例えば、図２０に示すように、探索範囲が０画素から−ｋ画素である場合、上記の特定の値は、−ｋ画素未満の値であってもよい。Ｌ／Ｒチェック部３０６は、上述のように、撮像画像Ｉ１の視差画像における各画素の視差値を、一貫性の有無に基づき、維持又は変更することによって、新たな視差画像を生成する。新たな視差画像では、視差値の一貫性がある画素は、算出されたサブピクセル精度の視差値を画素値として含み、視差値の一貫性がない画素は、一貫性つまり信頼性が低いことを示す例外値を画素値として含む。
【０１２７】
図２９を参照しつつ、視差値算出装置３００の動作を説明する。図２９は、実施の形態３に係る視差値算出装置３００の動作の一例を示すフローチャートである。視差値算出装置３００は、ステップＳ１０１及びＳ１０２の処理を、実施の形態１と同様に行う。
【０１２８】
次いで、ステップＳ３０１において、相違度算出部１０２は、撮像画像Ｉ１を第一基準画像として、第一参照画像である撮像画像Ｉ２に対する相違度を、撮像画像Ｉ１の各画素について算出する。さらに、相違度算出部１０２は、撮像画像Ｉ２を第二基準画像として、第二参照画像である撮像画像Ｉ１に対する相違度を、撮像画像Ｉ２の各画素について算出する。
【０１２９】
次いで、ステップＳ３０２において、第一視差選択部３０３ａは、第一基準画像である撮像画像Ｉ１の各画素について、算出された相違度に基づき、当該画素の整数精度の視差値を決定する。
【０１３０】
次いで、ステップＳ３０３において、第一サブピクセル視差算出部３０４ａは、撮像画像Ｉ１の着目画素の窓領域内の全ての画素と、着目画素に対応する撮像画像Ｉ２の第一〜第三参照画素それぞれの窓領域内の全ての画素との間で、サブピクセル評価値である輝度差の絶対値和を算出する。第一サブピクセル視差算出部３０４ａは、絶対値和を用いた等角フィッティング法により、着目画素のサブピクセル精度の視差値を算出する。第一サブピクセル視差算出部３０４ａは、撮像画像Ｉ１の各画素を着目画素としてサブピクセル精度の視差値を算出し、当該視差値を画素値に含む視差画像を生成する。
【０１３１】
次いで、ステップＳ３０４において、第二視差選択部３０３ｂは、第二基準画像である撮像画像Ｉ２の各画素について、算出された相違度に基づき、当該画素の整数精度の視差値を決定する。
【０１３２】
次いで、ステップＳ３０５において、第二サブピクセル視差算出部３０４ｂは、撮像画像Ｉ２の着目画素の窓領域内の全ての画素と、撮像画像Ｉ１の第一〜第三参照画素それぞれの窓領域内の全ての画素との間で、輝度差の絶対値和を算出し、絶対値和を用いた等角フィッティング法により、着目画素のサブピクセル精度の視差値を算出する。第二サブピクセル視差算出部３０４ｂは、撮像画像Ｉ２の各画素を着目画素としてサブピクセル精度の視差値を算出し、当該視差値を画素値に含む視差画像を生成する。なお、ステップＳ３０２〜Ｓ３０５の順序は、上述の順序に限定されず、変更されてもよい。
【０１３３】
次いで、ステップＳ３０６において、Ｌ／Ｒチェック部３０６は、撮像画像Ｉ１の視差画像の各画素について、撮像画像Ｉ２の視差画像との間で、視差値の一貫性をチェックする。Ｌ／Ｒチェック部３０６は、撮像画像Ｉ１の視差画像における各画素の視差値を、一貫性がある場合には維持し、一貫性がない場合には例外的な視差値に変更することによって、新たな視差画像を生成し出力する。
【０１３４】
上述のような実施の形態３に係る視差値算出装置３００によれば、実施の形態１と同様の効果が得られる。さらに、視差値算出装置３００は、カメラ１１ａの撮像画像Ｉ１を基準画像とし且つカメラ１１ｂの撮像画像Ｉ２を参照画像とする場合の撮像画像Ｉ１の各画素の視差値を算出する。さらに、視差値算出装置３００は、撮像画像Ｉ２を基準画像とし且つ撮像画像Ｉ１を参照画像とする場合の撮像画像Ｉ２の各画素の視差値を算出する。視差値算出装置３００は、撮像画像Ｉ１を基準にした視差値と、撮像画像Ｉ２を基準とした視差値との差異に基づき、視差値の一貫性を決定し、一貫性のある視差値を画素に適用し、一貫性のない視差値を一貫性が低いことを示す値に置き換えて画素に適用する。そして、視差値算出装置３００は、各画素の視差値の一貫性の有無の判別が容易である視差画像を生成する。よって、視差値算出装置３００は、複数の画像間の視差値を高い精度及び信頼性で算出することができる。
【０１３５】
本実施の形態では、Ｌ／Ｒチェック部３０６は、撮像画像Ｉ１の視差画像と撮像画像Ｉ２の視差画像との間の視差値の一貫性の有無に応じて、撮像画像Ｉ１の視差画像の各画素の視差値を変更し、新たな視差画像を生成したが、これに限定されない。Ｌ／Ｒチェック部３０６は、上記一貫性の有無に応じて、撮像画像Ｉ２の視差画像の各画素の視差値を変更し、新たな視差画像を生成してもよい。
【０１３６】
又は、Ｌ／Ｒチェック部３０６は、撮像画像Ｉ１の視差画像の各画素について、撮像画像Ｉ２の視差画像との間の視差値の一貫性の有無を判定し、且つ、撮像画像Ｉ２の視差画像の各画素について、撮像画像Ｉ１の視差画像との間の視差値の一貫性の有無を判定してもよい。さらに、Ｌ／Ｒチェック部３０６は、撮像画像Ｉ１の視差画像及び撮像画像Ｉ２の視差画像の対応する２つの画素間で、視差値の一貫性の有無を比較してもよい。この場合、Ｌ／Ｒチェック部３０６は、対応する２つの画素のいずれもが、視差値の一貫性を有する場合、当該画素それぞれの視差値をそのまま採用し、対応する２つの画素のいずれもが、視差値の一貫性を有さない場合、当該画素それぞれの視差値を上記特定の値に変更する。また、Ｌ／Ｒチェック部３０６は、対応する２つの画素の一方が、視差値の一貫性を有し、且つ他方が視差値の一貫性を有さない場合、当該画素それぞれの視差値として、一貫性を有する画素の視差値を採用してもよく、上記特定の値を採用してもよい。
【０１３７】
［実施の形態４］
実施の形態４に係る視差値算出装置４００を説明する。実施の形態４に係る視差値算出装置４００は、実施の形態３に係る視差値算出装置３００と比較して、画像を縮小及び拡大する処理をさらに行う。実施の形態４において、実施の形態１〜３と同様の構成要素については、実施の形態１〜３と同一の参照符号を付し、その説明を省略する。以下において、実施の形態１〜３と異なる点を中心に説明し、実施の形態１〜３と同様の点の説明を省略する。
【０１３８】
図３０は、実施の形態４に係る視差値算出装置４００の機能的な構成の一例のブロック図を示す。図３０に示すように、視差値算出装置４００は、縮小部４０７と、センサス変換部１０１と、相違度算出部１０２と、第一視差選択部３０３ａと、第二視差選択部３０３ｂと、第一サブピクセル視差算出部３０４ａと、第二サブピクセル視差算出部３０４ｂと、Ｌ／Ｒチェック部３０６と、終了判断部４０８と、拡大部４０９とを含む。
【０１３９】
縮小部４０７は、カメラ１１ａ及び１１ｂの撮像画像Ｉ１及びＩ２を、予め定められた縮小率で縮小し、センサス変換部１０１、並びに、第一サブピクセル視差算出部３０４ａ及び第二サブピクセル視差算出部３０４ｂに出力する。縮小部４０７は、記憶部２０から初期視差画像を取得する、又は拡大部４０９から視差画像を取得し、当該視差画像を予め定められた縮小率で縮小し、相違度算出部１０２に出力する。
【０１４０】
縮小部４０７は、撮像画像Ｉ１及びＩ２について、通常の等方的な縮小処理を行う、つまり、水平方向及び垂直方向であるｘ軸方向及びｙ軸方向に同じ縮小処理を行う。例えば、縮小率が２分の１の場合、撮像画像Ｉ１及びＩ２はそれぞれ、ｘ軸方向の画素数が２分の１に減少され且つｙ軸方向の画素数が２分の１に減少された画像に、補間縮小によって変換される。補間縮小の方法には複数のものが知られているが、本実施の形態では、復元画質が高いことで知られているバイキュービック補間よりもバイリニア補間を行うことが好ましい。その理由は、バイキュービック補間で重畳されるオーバーシュート成分がセンサス特徴量を用いた相違度計算の誤差要因となり得るからである。
【０１４１】
縮小部４０７は、視差画像について、通常の縮小処理に加えて、縮小率に応じて画素値である視差値を縮小（「ゲインダウン」とも呼ばれる）させる。これは、例えば２分の１の縮小率により視差画像の幅が水平方向に２分の１に縮小されると、これに応じて各画素の視差値も縮小前の２分の１の大きさになるためである。
【０１４２】
縮小部４０７による縮小処理は、後述する繰り返し処理の回数に応じて複数回行われる。例えば、繰り返し処理の回数が３回の場合、縮小率の一例は、１回目の４分の１の縮小率、２回目の２分の１の縮小率、３回目の等倍の縮小率（すなわち入力信号そのままの出力）である。縮小部４０７は、１回目の繰り返し処理では、初期視差画像を縮小し、２回目以降の繰り返し処理では、拡大部４０９から取得する視差画像を縮小する。初期視差画像では、全ての画素の画素値である視差値が０である。
【０１４３】
終了判断部４０８は、視差画像を算出するための縮小部４０７での縮小率に基づき、視差値の計算を継続するか終了するかを決定する。終了判断部４０８は、上記縮小率が１未満の場合、すなわち等倍未満である場合、視差値の計算の継続を決定し、等倍の場合、視差値の計算の終了を決定し、上記視差画像を出力する。
【０１４４】
拡大部４０９は、Ｌ／Ｒチェック部３０６によって生成された視差画像を、縮小部４０７での縮小率に対応する拡大率で拡大処理をし、縮小部４０７に出力する。拡大部４０９は、視差画像について、通常の拡大処理に加えて、拡大率に応じて画素値である視差値を拡大させる。例えば、縮小率が２分の１の場合、拡大部４０９は、視差画像に対して、２倍の拡大率で、通常の補間拡大処理及び各画素の視差値の拡大処理を行う。視差画像は、ｘ軸方向の画素数が２倍に増加され且つｙ軸方向の画素数が２倍に増加された画像に、補間拡大によって変換される。本実施の形態では、バイリニア補間が補間拡大の方法として用いられる。
【０１４５】
図３１を参照しつつ、視差値算出装置４００の動作を説明する。図３１は、実施の形態４に係る視差値算出装置４００の動作の一例を示すフローチャートである。まず、ステップＳ４０１において、縮小部４０７は、記憶部２０から、カメラ１１ａ及び１１ｂそれぞれにより撮像されたステレオ画像である撮像画像Ｉ１及びＩ２と、初期視差画像Ｉｉ１及びＩｉ２とを取得する。初期視差画像Ｉｉ１及びＩｉ２はそれぞれ、カメラ１１ａ及び１１ｂに対応して予め設定される視差画像であり、初期視差画像Ｉｉ１及びＩｉ２の全ての画素の視差値は、０である。
【０１４６】
次いで、ステップＳ４０２において、縮小部４０７は、撮像画像Ｉ１及びＩ２それぞれを、所定の縮小率で通常の縮小処理することによって、縮小画像Ｉ１ｓ及びＩ２ｓを生成する。縮小部４０７は、縮小画像Ｉ１ｓ及びＩ２ｓを、センサス変換部１０１、並びに、第一サブピクセル視差算出部３０４ａ及び第二サブピクセル視差算出部３０４ｂに出力する。また、縮小部４０７は、初期視差画像Ｉｉ１及びＩｉ２、又は、拡大部４０９から取得した視差画像Ｉｄ１及びＩｄ２それぞれを、撮像画像Ｉ１及びＩ２と同じ縮小率で縮小し、縮小視差画像Ｉｄ１ｓ及びＩｄ２ｓを生成する。この際、縮小部４０７は、各視差画像の各画素の視差値も当該縮小率で縮小する。縮小部４０７は、縮小視差画像Ｉｄ１ｓ及びＩｄ２ｓを相違度算出部１０２に出力する。視差画像Ｉｄ１及びＩｄ２はそれぞれ、撮像画像Ｉ１及びＩ２の視差画像である。
【０１４７】
なお、ステップＳ４０１〜Ｓ４０６の一連の処理の繰り返し回数が予め設定され、さらに、各回での縮小率が予め設定され、記憶部２０に格納されている。縮小率は、繰り返された回数が多くなるに従い、大きくなる。本実施の形態では、３回の繰り返し処理回数が設定され、１回目、２回目及び３回目の処理の際の縮小率がそれぞれ、４分の１、２分の１、及び等倍に設定されている。縮小部４０７は、縮小処理の回数をカウントし、カウント数を繰り返し処理回数として、当該繰り返し処理回数に対応する縮小率で、撮像画像Ｉ１及びＩ２を縮小し、且つ、初期視差画像Ｉｉ１及びＩｉ２又は視差画像Ｉｄ１及びＩｄ２を縮小する。なお、縮小部４０７は、１回目の処理では、初期視差画像Ｉｉ１及びＩｉ２を縮小し、２回目以降の処理では、視差画像Ｉｄ１及びＩｄ２を縮小する。また、縮小率が等倍の場合、縮小部４０７は、撮像画像Ｉ１及びＩ２並びに視差画像Ｉｄ１及びＩｄ２を縮小せずにそのまま、出力する。初期視差画像Ｉｉ１及びＩｉ２の各画素の視差値は、０である。
【０１４８】
次いで、ステップＳ４０３において、センサス変換部１０１は、実施の形態１におけるステップＳ１０２と同様に、縮小画像Ｉ１ｓ及びＩ２ｓそれぞれをセンサス変換する。
【０１４９】
次いで、ステップＳ４０４において、相違度算出部１０２は、実施の形態３のステップＳ３０１と同様に、縮小画像Ｉ１ｓを第一基準画像として、第一参照画像である縮小画像Ｉ２ｓに対する相違度を、縮小画像Ｉ１ｓの各画素について算出する。さらに、相違度算出部１０２は、縮小画像Ｉ２ｓを第二基準画像として、第二参照画像である縮小画像Ｉ１ｓに対する相違度を、縮小画像Ｉ２ｓの各画素について算出する。
【０１５０】
なお、相違度算出部１０２は、１回目の繰り返し処理では、予め決められた探索範囲に従って、相違度を算出する。具体的には、相違度算出部１０２は、撮像画像と同じスケールでの予め設定された視差探索範囲と、縮小率とに基づき、探索範囲を決定する。例えば、１回目の繰り返し処理における縮小率が４分の１であり、撮像画像と同じスケールでの視差探索範囲がｘ軸方向の±６４画素である場合、探索範囲は、基準画像の着目画素に対応する参照画像の対応画素を中心として、ｘ軸方向で、±６４画素×１／４＝±１６画素に決定される。なお、基準画像と参照画像との位置関係、すなわち、基準画像がカメラ１１ａ及び１１ｂの撮像画像Ｉ１及びＩ２のいずれに対応するかが既知の場合、探索範囲は、対応画素からｘ軸正方向の画素又はｘ軸負方向画素の一方にすることができる。具体的には、基準画像が撮像画像Ｉ１に対応する場合は、図２０においてｋ＝１６であるケースに該当し、探索範囲は、対応画素に対する−１６画素から０画素の範囲である。基準画像が撮像画像Ｉ２に対応する場合は、図２１においてｋ＝１６であるケースに該当し、探索範囲は、対応画素に対する０画素から１６画素の範囲である。
【０１５１】
２回目以降の繰り返し処理では、相違度算出部１０２は、直前の繰り返し処理によって得られた視差値の近傍の範囲を探索範囲として、相違度を算出する。具体的には、相違度算出部１０２は、直前の繰り返し処理によって得られた縮小視差画像Ｉｄ１ｓ及びＩｄ２ｓに基づき、参照画像において、着目画素の視差値に対応する位置の画素を、着目画素の対応画素に決定し、当該対応画素のｘ軸方向での近傍範囲を探索範囲に決定する。例えば、相違度算出部１０２は、当該対応画素を中心として、ｘ軸方向で、±２画素の範囲を探索範囲に決定する。このような探索範囲は、１回目の繰り返し処理よりも小さくてよい。
【０１５２】
ステップＳ４０２での縮小率は、処理が繰り返された回数が多くなる従い、大きくなる。このため、繰り返し処理が進行することによって、画素密度が粗である探索から密である探索に移行する。つまり、繰り返し処理による粗密探索が行われる。相違度算出部１０２は、１回目の繰り返し処理では、容量が小さな低解像度の画像に対する粗な探索を全探索で行った後に、繰り返し処理の回数の増加に応じて、解像度がより高い画像を用いた徐々に密な探索を、直前の探索結果、つまり、直前に算出された視差値の周辺だけで行う。これにより、視差値の算出精度が高く維持されつつ視差値算出の全体の計算量が削減する。
【０１５３】
次いで、ステップＳ３０２〜Ｓ３０６において、視差値算出装置４００は、ステップＳ４０４で算出された縮小画像Ｉ１ｓ及びＩ２ｓそれぞれの各画素の相違度に基づき、実施の形態３と同様の処理を行うことによって、縮小画像Ｉ１ｓ及びＩ２ｓそれぞれのサブピクセル精度の視差画像を生成する。
【０１５４】
次いで、ステップＳ４０５において、終了判断部４０８は、視差値の計算処理を継続するか否かを判定する。終了判断部４０８は、視差値の計算処理を継続する場合（ステップＳ４０５でＹｅｓ）、ステップＳ４０６に進み、視差値の計算処理を継続しない場合（ステップＳ４０５でＮｏ）、処理を終了する。具体的には、終了判断部４０８は、ステップＳ４０２での縮小率を縮小部４０７から取得し、ステップＳ３０６で生成された視差画像をＬ／Ｒチェック部３０６から取得する。そして、終了判断部４０８は、縮小率が１未満の場合、視差値の計算処理を継続し、取得された視差画像を拡大部４０９に出力する。終了判断部４０８は、縮小率が等倍の場合、計算処理を終了し、取得された視差画像を距離算出部３１及び記憶部２０等に出力する。なお、縮小率が等倍の場合、Ｌ／Ｒチェック部３０６から取得される視差画像のスケールは、撮像画像Ｉ１及びＩ２と同じである。
【０１５５】
次いで、ステップＳ４０６において、拡大部４０９は、終了判断部４０８から取得した視差画像に対して、ステップＳ４０２での縮小率に対応する拡大率で、通常の拡大処理及び各画素の視差値の拡大処理を行い、縮小部４０７に出力する。本実施の形態では、１回目、２回目及び３回目の処理の際の拡大率はそれぞれ、縮小率４分の１、２分の１及び等倍に対応する、４倍、２倍及び等倍である。なお、縮小率が等倍の場合、ステップＳ４０５で上述したように、拡大部４０９は、視差画像を取得しない。
【０１５６】
ステップＳ４０６の後のステップＳ４０２では、縮小部４０７は、前回の繰り返し処理よりも大きい縮小率で、撮像画像Ｉ１及びＩ２、並びに視差画像Ｉｄ１及びＩｄ２を縮小し、縮小画像Ｉ１ｓａ及びＩ２ｓａ、並びに縮小視差画像Ｉｄ１ｓａ及びＩｄ２ｓａを生成する。ステップＳ４０３では、センサス変換部１０１は、縮小画像Ｉ１ｓａ及びＩ２ｓａをセンサス変換する。ステップＳ４０４では、相違度算出部１０２は、縮小画像Ｉ１ｓａが基準画像である場合、縮小視差画像Ｉｄ１ｓａに基づき、縮小画像Ｉ１ｓａの着目画素の視差値を取得する。さらに、相違度算出部１０２は、参照画像である縮小画像Ｉ２ｓａ上において、着目画素と同じ位置に上記視差値を付加した位置の画素を、着目画素の対応画素に決定し、対応画素の近傍範囲を探索範囲に決定する。相違度算出部１０２は、上記探索範囲に基づき、着目画素の相違度を算出する。また、相違度算出部１０２は、縮小画像Ｉ２ｓａが基準画像である場合も、縮小視差画像Ｉｄ２ｓａに基づき、上記と同様に処理する。また、視差値算出装置４００は、ステップＳ３０２〜Ｓ３０６の処理を、前回の繰り返し処理と同様に繰り返す。
【０１５７】
上述のような実施の形態４に係る視差値算出装置４００によれば、実施の形態３と同様の効果が得られる。さらに、視差値算出装置４００は、撮像画像に縮小率を大きくするように変化させつつ、視差値の計算の繰り返し処理を行う。視差値算出装置４００は、繰り返し処理において、相違度の算出のための探索範囲を、前回の繰り返し処理で得られた視差画像を用いて限定する。視差値算出装置４００は、１回目の繰り返し処理では、小さく縮小された低解像度の画像に対する粗な探索を全探索で行うことで相違度及び視差値を算出した後に、繰り返し処理の回数の増加に応じて、徐々に大きく縮小された高解像度の画像に対する密な探索を直前の視差画像から得られる限定された探索範囲で行うことで相違度及び視差値を算出する。これにより、視差値算出装置４００は、視差値の算出精度をサブピクセル精度に維持しつつ、視差値算出の全体の演算量を低減することができる。
【０１５８】
実施の形態４に係る視差値算出装置４００は、実施の形態３に係る視差値算出装置３００に、縮小部４０７と、終了判断部４０８と、拡大部４０９とを加えた構成であるが、実施の形態１又は２に係る視差値算出装置に、縮小部４０７と、終了判断部４０８と、拡大部４０９とを加えた構成であってもよい。例えば、図３２に示す実施の形態４の変形例に係る視差値算出装置４００ａは、実施の形態１に係る視差値算出装置１００に、縮小部４０７と、終了判断部４０８と、拡大部４０９とを加えた構成である。視差値算出装置４００ａは、撮像画像Ｉ１及びＩ２の一方を基準画像として、当該基準画像のサブピクセル精度の視差画像を生成し、その一貫性を判定せずに、視差値の計算処理を繰り返す。なお、図３２は、実施の形態４の変形例に係る視差値算出装置４００ａの機能的な構成の一例を示すブロック図である。
【０１５９】
［実施の形態５］
実施の形態５に係る視差値算出装置５００を説明する。実施の形態５に係る視差値算出装置５００は、実施の形態１に係る視差値算出装置１００において、相違度に重み付けをし、重み付けされた相違度に基づき、視差値を決定する構成である。実施の形態５において、実施の形態１〜４と同様の構成要素については、実施の形態１〜４と同一の参照符号を付し、その説明を省略する。以下において、実施の形態１〜４と異なる点を中心に説明し、実施の形態１〜４と同様の点の説明を省略する。
【０１６０】
図３３は、実施の形態５に係る視差値算出装置５００の機能的な構成の一例のブロック図を示す。図３３に示すように、視差値算出装置５００は、センサス変換部１０１と、相違度算出部１０２と、コスト算出部５１０と、コスト集約部５１１と、視差選択部１０３と、サブピクセル視差算出部１０４とを含む。視差値算出装置５００は、実施の形態１に係る視差値算出装置１００に対して、コスト算出部５１０及びコスト集約部５１１が加えられた構成である。
【０１６１】
コスト算出部５１０は、基準画像中の着目画素について、着目画素から複数の走査方向それぞれに沿った画素における視差値の分布に関するコストを算出する。具体的には、コスト算出部５１０は、着目画素を通る複数の直線それぞれの上での視差値の分布に関するコストを算出する。複数の直線の例は、着目画素を起点とする放射状の半直線である。本実施の形態では、複数の直線は、着目画素から８又は１６の方向に等間隔に延びる半直線であり、８の半直線は、着目画素を通過する４の直線を構成し、１６の半直線は、着目画素を通過する８の直線を構成する。ここで、走査方向、つまり、半直線の方向は、所定の方向の一例である。
【０１６２】
コスト集約部５１１は、コスト算出部５１０によって算出された着目画素から延びる複数の半直線上での視差値の分布に関するコストについて、相違度算出のための探索範囲の各視差値に対して複数の半直線でのコストを加算し集約する。
【０１６３】
視差選択部１０３は、コスト集約部５１１によって集約された着目画素における視差値毎のコストについて、最小のコストを与える視差値を着目画素の整数精度の視差値として決定する。
【０１６４】
ここで、コスト算出処理及びコスト集約処理の詳細を説明する。撮像画像Ｉ１が基準画像であり、撮像画像Ｉ２が参照画像である場合において、８の方向のうちのｘ軸負方向の半直線上の視差値の分布のコストに関する処理例を説明する。コスト算出部５１０は、図３４に示すように、撮像画像Ｉ１の着目画素Ｉ１ｐａを中心とする８の方向の半直線Ｌ１〜Ｌ８を、撮像画像Ｉ１上で設定する。そして、コスト算出部５１０は、各半直線Ｌ１〜Ｌ８上における画素の視差値の分布のコストを算出する。なお、図３４は、コスト算出の際の着目画素からの複数の走査方向の例を示す図である。
【０１６５】
図３５に示すように、コスト算出部５１０は、ｘ軸正方向の半直線Ｌ１上の各画素について、当該画素に対応する探索範囲と、探索範囲内の視差値に対応する相違度とに基づき、コストを算出する。コスト算出部５１０は、撮像画像Ｉ１の縁から着目画素Ｉ１ｐａに向かって順に、つまり、画素座標のｘ座標が１である画素Ｉ１ｐ１から着目画素Ｉ１ｐａに向かって順に、半直線Ｌ１上の各画素に関するコストを算出する。なお、図３５は、コスト算出の際の着目画素を通る直線上での画素の走査方向の例を示す図である。
【０１６６】
例えば、図３６は、画素Ｉ１ｐ１と着目画素Ｉ１ｐａとの間の画素Ｉ１ｐｉ（ｉは正の整数）に関するコストの例を示す。図３６に示すように、コスト算出部５１０は、画素Ｉ１ｐｉについて、相違度算出部１０２によって算出された探索範囲内の各視差値に対応する相違度を取得する。なお、図３６は、コスト算出のための走査ライン上の１つの画素におけるコストの例を示す図である。本例では、探索範囲は、０画素から−ｋ画素である。さらに、コスト算出部５１０は、探索範囲内の各視差値と、隣接画素Ｉ１ｐｉ−１の視差値との差異に基づき、当該視差値のペナルティ値を決定する。探索範囲内の視差値と画素Ｉ１ｐｉ−１の視差値とが同じである場合、ペナルティ値はＰ１であり、探索範囲内の視差値と画素Ｉ１ｐｉ−１の視差値とが異なる場合、ペナルティ値はＰ２である。本実施の形態では、Ｐ２はＰ１よりも大きい。画素Ｉ１ｐｉ−１は、画素Ｉ１ｐｉに対して、ｘ軸正方向に隣接する画素であり、半直線Ｌ１に沿って画素Ｉ１ｐｉの直前にコスト計算された画素である。コスト算出部５１０は、探索範囲内の各視差値について、その相違度にペナルティ値を加算した値であるコストを算出する。これにより、画素Ｉ１ｐｉに関する探索範囲内の各視差値のコストが求まる。ここで、半直線Ｌ１上の画素Ｉ１ｐｉは、第１の評価画素の一例であり、画素Ｉ１ｐｉ−１は、第２の評価画素の一例であり、ペナルティ値は、第１の評価値の一例であり、コストは、第２の評価値の一例である。
【０１６７】
コスト算出部５１０は、半直線Ｌ１上の全ての画素について、探索範囲内の各視差値のコストを算出する。なお、画素Ｉ１ｐ１については、隣接する画素が存在しないため、ペナルティ値がなく、各視差値の相違度がコストになる。さらに、コスト算出部５１０は、他の半直線Ｌ２〜Ｌ８それぞれについても、当該半直線上の全ての画素について、探索範囲内の各視差値のコストを算出する。よって、半直線Ｌ１〜Ｌ８上の全ての画素について、０画素から−ｋ画素の視差値それぞれのコストが算出される。コスト集約部５１１は、半直線Ｌ１〜Ｌ８上の全ての画素について、同じ視差値のコストの和を算出する。そして、視差選択部１０３は、０画素から−ｋ画素の視差値それぞれのコストの和のうち、最小の和を有する視差値を、着目画素Ｉ１ｐａの整数精度の視差値に決定する。コスト算出部５１０及びコスト集約部５１１は、撮像画像Ｉ１の全ての画素を着目画素として上述のような処理を行うことによって、各画素の整数精度の視差値を決定する。ここで、コストの和は、加算評価値の一例である。
【０１６８】
上述のように、コスト算出部５１０は、例えば、第１の画像としての撮像画像Ｉ１において、視差値の算出対象の第１の画素としての着目画素Ｉ１ｐａから、所定の方向に位置する評価画素としての画素Ｉ１ｐｉそれぞれについて、画素Ｉ１ｐｉに所定の方向で隣り合う画素Ｉ１ｐｉ−１の視差値と、第２の画像としての撮像画像Ｉ２における画素Ｉ１ｐｉに対応する位置の対応画素に対する、相違度算出のための探索範囲内の画素それぞれの視差値との比較に基づき、探索範囲内の画素それぞれの第１の評価値としてのペナルティ値を算出する。さらに、コスト算出部５１０は、画素Ｉ１ｐｉと探索範囲内の画素それぞれとの間の相違度と、探索範囲内の画素それぞれのペナルティ値とに基づき、探索範囲内の画素それぞれの視差値についての第２の評価値としてのコストを算出する。コスト集約部５１１は、探索範囲内の画素それぞれの視差値に対応する全ての評価画素のコストを加算して、加算評価値としてのコストの和を算出する。視差選択部１０３は、最小のコストの和に対応する視差値を着目画素Ｉ１ｐａの視差値に決定する。
【０１６９】
図３７を参照しつつ、視差値算出装置５００の動作を説明する。図３７は、実施の形態５に係る視差値算出装置５００の動作の一例を示すフローチャートである。視差値算出装置５００は、実施の形態１と同様に、ステップＳ１０１〜Ｓ１０３の処理を行うことによって、記憶部２０から撮像画像Ｉ１及びＩ２を取得し、撮像画像Ｉ１及びＩ２の各画素のセンサス特徴量を算出する。さらに、視差値算出装置５００は、撮像画像Ｉ１を基準画像として、撮像画像Ｉ１の各画素に関して、撮像画像Ｉ２の探索範囲の各画素に対する相違度を算出する。
【０１７０】
次いで、ステップＳ５０１において、コスト算出部５１０は、基準画像である撮像画像Ｉ１中の着目画素について、着目画素を通る複数の直線それぞれの上での視差値の分布に関するコストを算出する。コスト算出部５１０は、各直線上の画素それぞれについて、相違度算出のための探索範囲内の視差値と、当該画素に隣接する画素の視差値との差異に基づき、探索範囲内の各視差値に対応する相違度を重み付けした値であるコストを算出する。コスト算出部５１０は、撮像画像Ｉ１の全ての画素を着目画素として、コストを算出する。
【０１７１】
次いで、ステップＳ５０２において、コスト集約部５１１は、撮像画像Ｉ１中の着目画素について、複数の直線上の画素それぞれに対して算出されたコストを、探索範囲の視差値毎に加算し集約する、つまり、同じ視差値のコストの全てを加算する。これにより、探索範囲の視差値毎に、コストの和が求められる。コスト集約部５１１は、撮像画像Ｉ１の全ての画素を着目画素として、各画素のコストを集約する。
【０１７２】
次いで、ステップＳ５０３において、視差選択部１０３は、撮像画像Ｉ１中の着目画素について、探索範囲の視差値毎のコストの和のうち、最小のコストの和を与える視差値を着目画素の整数精度の視差値に決定する。視差選択部１０３は、撮像画像Ｉ１の全ての画素を着目画素として、各画素の整数精度の視差値を決定する。
【０１７３】
次いで、ステップＳ１０５では、サブピクセル視差算出部１０４は、実施の形態１と同様に、撮像画像Ｉ１の各画素の整数精度の視差値と、撮像画像Ｉ１及びＩ２とを用いて、撮像画像Ｉ１の各画素のサブピクセル精度の視差値を算出する。さらに、サブピクセル視差算出部１０４は、サブピクセル精度の視差値を画素値に含む撮像画像Ｉ１の視差画像を生成する。
【０１７４】
上述のような実施の形態５に係る視差値算出装置５００によれば、実施の形態１と同様の効果が得られる。また、視差値算出装置５００は、基準画像の着目画素の周囲の画素の視差値の変化を相違度に反映したコストに基づき、着目画素の整数精度の視差値を算出する。さらに、視差値算出装置５００は、コストに基づく整数精度の視差値を用いて、サブピクセル精度の視差値を算出する。これにより、視差値算出装置５００は、着目画素におけるサブピクセル精度の視差値がその周囲の画素の視差値と同様の値を取りやすくし、被写体のエッジ、境界等のライン間で視差値が異なることによる筋状のアーチファクトが生じるストリーキングアーチファクトを低減することができる。よって、視差値算出装置５００は、高い精度で視差値を算出することができる。上述では、視差値算出装置５００は、撮像画像Ｉ１を基準画像としていたが、撮像画像Ｉ２を基準画像としてもよい。
【０１７５】
実施の形態５に係る視差値算出装置５００は、実施の形態１に係る視差値算出装置１００をベースとした構成であるが、実施の形態２〜４及びその変形例をベースとした構成であってもよい。例えば、実施の形態３をベースとする実施の形態５の変形例１に係る視差値算出装置５００ａは、図３８に示すような構成である。また、実施の形態４をベースとする実施の形態５の変形例２に係る視差値算出装置５００ｂは、図３９に示すような構成である。また、実施の形態４の変形例をベースとする実施の形態５の変形例３に係る視差値算出装置５００ｃは、図４０に示すような構成である。
【０１７６】
変形例１及び２に係る視差値算出装置５００ａ及び５００ｂにおいて、第一コスト算出部５１０ａは、相違度算出部１０２から撮像画像Ｉ１の各画素の相違度を取得し、撮像画像Ｉ１の各画素のコストを算出する。第一コスト集約部５１１ａは、撮像画像Ｉ１の各画素について、探索範囲の視差値毎のコストを集約したコスト和を算出する。第一視差選択部３０３ａは、撮像画像Ｉ１の各画素について、コスト和を最小にする視差値を当該画素の整数精度の視差値に決定し、第一サブピクセル視差算出部３０４ａは、撮像画像Ｉ１の各画素のサブピクセル精度の視差値を算出し、Ｌ／Ｒチェック部３０６に出力する。第二コスト算出部５１０ｂは、相違度算出部１０２から撮像画像Ｉ２の各画素の相違度を取得し、撮像画像Ｉ２の各画素のコストを算出する。第二コスト集約部５１１ｂは、撮像画像Ｉ２の各画素について、探索範囲の視差値毎のコストを集約したコスト和を算出する。第二視差選択部３０３ｂは、撮像画像Ｉ２の各画素について、コスト和を最小にする視差値を当該画素の整数精度の視差値に決定し、第二サブピクセル視差算出部３０４ｂは、撮像画像Ｉ２の各画素のサブピクセル精度の視差値を算出し、Ｌ／Ｒチェック部３０６に出力する。
【０１７７】
変形例３に係る視差値算出装置５００ｃにおいて、コスト算出部５１０は、相違度算出部１０２から、撮像画像Ｉ１及びＩ２の縮小画像Ｉ１ｓ及びＩ２ｓのうちの基準縮小画像の各画素の相違度を取得し、基準縮小画像の各画素のコストを算出する。コスト集約部５１１は、基準縮小画像の各画素について、探索範囲の視差値毎のコストを集約したコスト和を算出する。視差選択部１０３は、基準縮小画像の各画素について、コスト和を最小にする視差値を当該画素の整数精度の視差値に決定し、サブピクセル視差算出部１０４は、基準縮小画像の各画素のサブピクセル精度の視差値を算出し、終了判断部４０８に出力する。
【０１７８】
［実施の形態６］
実施の形態６に係る視差値算出装置６００を説明する。実施の形態１に係る視差値算出装置１００では、センサス変換の際、着目画素に対する周辺画素の領域である比較領域は、例えば、図１８Ａ及び図１８Ｂに示すように一定である。実施の形態６に係る視差値算出装置６００は、着目画素に対する様々な比較領域に基づき、着目画素のセンサス特徴量を算出する。実施の形態６において、実施の形態１〜５と同様の構成要素については、実施の形態１〜５と同一の参照符号を付し、その説明を省略する。以下において、実施の形態１〜５と異なる点を中心に説明し、実施の形態１〜５と同様の点の説明を省略する。
【０１７９】
比較領域が、手前の被写体により背後の被写体が見えない状態であるオクルージョンの領域、又は視差が大きく変化する領域をまたぐ場合、このような比較領域に基づき視差値が算出された視差画像の領域では、撮像画像における前景及び背景の境界等の被写体の輪郭と、視差値の差異により形成される視差画像の境界ラインとが、一致しない場合がある。本実施の形態では、視差値算出装置６００は、実施の形態１〜５のように、着目画素が比較領域の中央に位置する通常の比較領域以外に、着目画素が中央からずらした位置にある少なくとも１つの比較領域を用いる。視差値算出装置６００は、これら複数の比較領域について算出した相違度を最も小さくする視差値を決定することにより、視差値の差異の境界が実際の被写体の輪郭とより整合する視差画像を生成する。
【０１８０】
図４１は、実施の形態６に係る視差値算出装置６００の機能的な構成の一例のブロック図を示す。図４１に示すように、視差値算出装置６００は、実施の形態１と同様に、センサス変換部６０１と、相違度算出部６０２と、視差選択部６０３と、サブピクセル視差算出部１０４を含む。サブピクセル視差算出部１０４は、実施の形態１と同様である。
【０１８１】
センサス変換部６０１は、撮像画像Ｉ１及びＩ２のうちの一方である基準画像の着目画素に対して、複数の比較領域を設定する。センサス変換部６０１は、各比較領域について、着目画素と当該比較領域内の周辺画素との間でセンサス変換を行い、センサス特徴量を算出する。センサス変換部６０１は、撮像画像Ｉ１及びＩ２それぞれの全ての画素に対して、複数の比較領域それぞれについてのセンサス特徴量を算出する。
【０１８２】
例えば、本実施の形態では、センサス変換部６０１は、図４２に示すように、９つの比較領域Ｗ１〜Ｗ９を、１つの着目画素ｃｔｒに対して設定する。なお、図４２は、着目画素の複数の比較領域の一例を示す図である。比較領域Ｗ５は、着目画素ｃｔｒが比較領域の中央に位置する通常の比較領域である。比較領域Ｗ１〜Ｗ４及びＷ６〜Ｗ９ではそれぞれ、着目画素ｃｔｒが、比較領域の中央以外に位置する。センサス変換部６０１は、着目画素ｃｔｒについて、比較領域Ｗ１〜Ｗ９それぞれの周辺画素との間でセンサス変換することによって、９つのセンサス特徴量を算出する。
【０１８３】
相違度算出部６０２は、各比較領域に関して、基準画像の各画素の参照画像に対する相違度を算出する。相違度算出部６０２は、基準画像の着目画素の相違度を算出する際、着目画素のセンサス特徴量の算出に使用した比較領域と同じ比較領域を使用して算出された、参照画像の各画素のセンサス特徴量と、当該着目画素のセンサス特徴量との間で、相違度を算出する。つまり、相違度の算出では、基準画像と参照画像との間において、センサス特徴量の算出に使用される比較領域と着目画素及び参照画素との位置関係が同じである。すなわち、例えば、比較領域Ｗ１が、基準画像のセンサス特徴量の算出に用いられた場合、当該基準画像の着目画素の相違度計算に用いられる参照画像のセンサス特徴量は、比較領域Ｗ１を用いて算出されたものである。よって、図４２の例の場合、相違度算出部６０２は、基準画像の１つの着目画素に対して、比較領域Ｗ１〜Ｗ９それぞれに対応する相違度を算出する。
【０１８４】
視差選択部６０３は、相違度算出部６０２によって算出された比較領域毎の基準画像の各画素の相違度に基づき、各比較領域について、基準画像の着目画素の相違度のうちから、最小の相違度を抽出し、当該最小の相違度を与える視差値を抽出する。さらに、視差選択部６０３は、全ての比較領域それぞれにおいて抽出された視差値の相違度のうちから、最小の相違度を抽出し、当該最小の相違度を与える視差値を、着目画素の整数精度の視差値に決定する。つまり、視差選択部６０３は、全ての比較領域における着目画素の相違度のうちから、最小の相違度及びその比較領域を抽出し、当該最小の相違度を与える視差値を、着目画素の整数精度の視差値に決定する。さらに、視差選択部６０３は、基準画像の全ての画素を着目画素として、当該画素の整数精度の視差値を決定する。
【０１８５】
サブピクセル視差算出部１０４は、基準画像である撮像画像Ｉ１又はＩ２の各画素の整数精度の視差値と、撮像画像Ｉ１及びＩ２とを用いて、基準画像の各画素のサブピクセル精度の視差値を算出する。さらに、サブピクセル視差算出部１０４は、サブピクセル精度の視差値を画素値として含む基準画像の視差画像を生成する。このとき、輝度差のサブピクセル評価値を算出するための窓領域は、着目画素及び第一〜第三参照画素に対して、中央位置等の固定された位置であってもよく、着目画素の整数精度の視差値の算出の際に抽出された最小の相違度を与える比較領域と同じ位置であってもよい。
【０１８６】
図４３を参照しつつ、視差値算出装置６００の動作を説明する。図４３は、実施の形態６に係る視差値算出装置６００の動作の一例を示すフローチャートである。ステップＳ１０１において、センサス変換部６０１は、実施の形態１と同様に、記憶部２０から、カメラ１１ａ及び１１ｂそれぞれにより撮像されたステレオ画像である撮像画像Ｉ１及びＩ２を取得する。以下において、視差値算出装置６００は、撮像画像Ｉ１を基準画像とし撮像画像Ｉ２を参照画像として処理するとして説明する。
【０１８７】
次いで、ステップＳ６０１において、センサス変換部６０１は、基準画像の各画素について、複数の比較領域それぞれにおけるセンサス特徴量を算出し、参照画像の各画素について、複数の比較領域それぞれにおけるセンサス特徴量を算出する。センサス変換部６０１は、基準画像及び参照画像の各画素における複数の比較領域でのセンサス特徴量を、相違度算出部６０２に出力する。
【０１８８】
次いで、ステップＳ６０２において、相違度算出部６０２は、各比較領域に関して、基準画像の各画素の参照画像に対する相違度を算出する。相違度算出部６０２は、画素に対する位置が同じである比較領域を用いて算出された、基準画像の画素のセンサス特徴量と参照画像の画素のセンサス特徴量との間で相違度を算出する。相違度算出部６０２は、基準画像の各画素の相違度を算出し、視差選択部１０３に出力する。
【０１８９】
次いで、ステップＳ６０３において、視差選択部６０３は、基準画像の着目画素について、全ての比較領域に対応する相違度のうちから、最小の相違度を抽出し、当該最小の相違度を与える視差値を、着目画素の整数精度の視差値に決定する。視差選択部６０３は、基準画像の各画素を着目画素として、各画素の整数精度の視差値を決定し、サブピクセル視差算出部１０４に出力する。
【０１９０】
次いで、ステップＳ１０５において、サブピクセル視差算出部１０４は、実施の形態１と同様に、記憶部２０から撮像画像Ｉ１及びＩ２を取得し、撮像画像Ｉ１及びＩ２と、撮像画像Ｉ１つまり基準画像の各画素の整数精度の視差値とを用いて、基準画像の各画素のサブピクセル精度の視差値を算出する。
【０１９１】
上述のような実施の形態６に係る視差値算出装置６００によれば、実施の形態１と同様の効果が得られる。また、視差値算出装置６００は、比較領域に対する着目画素の位置が異なる複数の比較領域のうち、相違度を最小にする比較領域を用いて算出された相違度に基づき、整数精度の視差値を決定する。そして、視差値算出装置６００は、当該整数精度の視差値を用いて、サブピクセル精度の視差値を算出する。このようなサブピクセル精度の視差値は、着目画素に対する比較領域の位置に起因する視差値の誤差を低減する。よって、視差値算出装置６００は、オクルージョンの境界又は視差値が変化する前景及び背景間の境界付近に位置する画素について、視差画像での視差値の差異による境界の位置と、被写体の輪郭の位置とを正確に整合させることができる。
【０１９２】
なお、着目画素に対する比較領域の位置は、図４２に示す例に限定されず、比較領域内のいかなる位置に着目画素が位置してもよい。また、図４２の例では、複数の比較領域の形状は、矩形であったが、いかなる形状であってもよい。
【０１９３】
また、実施の形態６に係る視差値算出装置６００は、実施の形態１に係る視差値算出装置１００をベースする構成であったが、実施の形態２〜５及びその変形例をベースする構成であってもよい。
【０１９４】
例えば、実施の形態５をベースとする実施の形態６の変形例に係る視差値算出装置６００ａは、図４４に示すような構成である。変形例に係る視差値算出装置６００ａにおいて、上述の実施の形態６と同様に、センサス変換部６０１は、撮像画像Ｉ１及びＩ２それぞれの全ての画素に対して、複数の比較領域それぞれについてのセンサス特徴量を算出する。相違度算出部６０２は、各比較領域に関して、基準画像の各画素の参照画像に対する相違度を算出する。
【０１９５】
コスト算出部５１０は、各比較領域に関して、基準画像中の全ての画素を着目画素として、着目画素を通る複数の直線それぞれの上での視差値の分布に関する着目画素のコストを算出する。コスト算出部５１０は、各直線上の画素それぞれについて、相違度算出のための探索範囲内の視差値と、当該画素に隣接する画素の視差値との差異に基づき、探索範囲内の各視差値に対応する相違度を重み付けした値を、着目画素のコストとして算出する。コスト集約部５１１は、各比較領域に関して、着目画素を通る複数の直線上の画素それぞれに対して算出されたコストを、探索範囲の視差値毎に加算する、つまり視差値毎のコストの和を算出することによって、着目画素のコストを集約する。視差選択部６０３は、着目画素に関して、全ての比較領域における探索範囲の視差値毎のコストの和のうちから、最小のコストの和を抽出し、最小のコストの和を与える比較領域及び視差値を特定し、特定した視差値を着目画素の整数精度の視差値に決定する。さらに、視差選択部６０３は、基準画像の全ての画素を着目画素として、当該画素の整数精度の視差値を決定する。サブピクセル視差算出部１０４は、整数精度の視差値に基づき、サブピクセル精度の視差値を算出する。
【０１９６】
［実施の形態７］
実施の形態７に係る視差値算出装置７００を説明する。実施の形態６に係る視差値算出装置６００は、視差画像における視差値の差異による境界ラインを、前景及び背景の境界等の被写体の輪郭と一致させるために、１つの着目画素に設定される複数の比較領域について、相違度又はコストを算出することによって、着目画素の整数精度の視差値を決定した。実施の形態７に係る視差値算出装置７００は、基準画像の着目画素と参照画像の参照画素との間の相違度であるハミング距離を計算する際、２つの画素のセンサス特徴量のビット列間におけるビット間差異を、センサス変換での対応画素間の画素値の差である輝度差で重み付けする。実施の形態７において、実施の形態１〜６と同様の構成要素については、実施の形態１〜６と同一の参照符号を付し、その説明を省略する。以下において、実施の形態１〜６と異なる点を中心に説明し、実施の形態１〜６と同様の点の説明を省略する。
【０１９７】
図４５は、実施の形態７に係る視差値算出装置７００の機能的な構成の一例のブロック図を示す。図４５に示すように、視差値算出装置７００は、実施の形態１と同様に、センサス変換部１０１と、相違度算出部７０２と、視差選択部１０３と、サブピクセル視差算出部１０４とを含み、さらに、重み算出部７１２を含む。センサス変換部１０１、視差選択部１０３及びサブピクセル視差算出部１０４は、実施の形態１と同様である。
【０１９８】
重み算出部７１２は、撮像画像Ｉ１及びＩ２のうちの基準画像の着目画素について、相違度計算での探索範囲内の視差値の位置に対応する参照画像の参照画素と着目画素との間における、輝度差に応じた重みを算出する。重み算出部７１２は、基準画像の各画素を着目画素として、着目画素と参照画素との間における重みを算出する。重み算出部７１２は、算出した重みを相違度算出部７０２に出力する。重みは、以下の式３及び式４によって示され得る。
【０１９９】
【数３】
2019120591.tif 000005
【０２００】
上記式３及び式４は、撮像画像Ｉ１を基準画像とする。これらの式において、ｄは、探索範囲内の視差値である。Ｉ１（ｘ，ｙ）は、撮像画像Ｉ１における画素座標（ｘ，ｙ）の着目画素に関連する輝度値である。Ｉ２（ｘ＋ｄ，ｙ）は、参照画素に関連する輝度値である。参照画素は、参照画像における着目画素と同じ画素座標の対応画素に対して、ｘ軸正方向に視差値ｄずらした位置の画素である。ΔＩ（ｘ，ｙ，ｄ）は、上記の着目画素及び参照画素の間における輝度値の差異である。ｗ（ｘ，ｙ，ｄ）は、ΔＩ（ｘ，ｙ，ｄ）に対応する重みである。そして、ｆは、多項式等の変換式である。重みｗは、ΔＩが０の場合大きな値であり、ΔＩが大きな値の場合小さな値である。本実施の形態では、重みｗは、ΔＩが大きくなる程、小さくなる。詳細は後述するが、本実施の形態では、Ｉ１（ｘ，ｙ）は、着目画素及びその周囲の画素の複数の輝度値を含み、Ｉ２（ｘ＋ｄ，ｙ）は、参照画素及びその周囲の画素の複数の輝度値を含む。ΔＩ（ｘ，ｙ，ｄ）は、対応する画素間の複数の輝度値の差異を含む。ｗ（ｘ，ｙ，ｄ）は、対応する画素の組の数量に応じた複数の重みを含む。
【０２０１】
相違度算出部７０２は、撮像画像Ｉ１及びＩ２についてのセンサス特徴量間の視差値に応じた相違度であるハミング距離を算出する際に、対応画素間の輝度差に応じて重み付けする。具体的には、相違度算出部７０２は、例えば、撮像画像Ｉ１が基準画像である場合、基準画像の着目画素の相違度を算出する際、着目画素のセンサス特徴量のビット列と、参照画像である撮像画像Ｉ２の参照画素のセンサス特徴量のビット列との間における同じ桁のビットの数値の差異であるビット間差異を、重み算出部７１２によって算出された重みｗで重み付けする。上述したように、重みｗは、対応画素間で輝度差が大きい場合には小さく、対応画素間で輝度差が小さい場合には大きくされる。これにより、対応画素間で輝度差の小さい場合のハミング距離のビット間差異は、ハミング距離に重点的に反映され、対応画素間で輝度差の大きい場合のハミング距離のビット間差異は、ハミング距離への影響が少なくなる
【０２０２】
例えば、図４６は、着目画素と参照画素との間におけるビット間差異と輝度差に基づく重みとの関係の一例を示す。図４６は、センサス変換の際に、８つの周辺画素が参照されるケースである。図４６において、重み算出部７１２は、撮像画像Ｉ１を基準画像とし、撮像画像Ｉ２を参照画像として処理を行う。重み算出部７１２は、基準画像において、センサス変換での比較領域に基づき、比較領域内における着目画素ｃｔｒの周囲の周辺画素の輝度値を、撮像画像Ｉ１から取得する。周辺画素は、着目画素ｃｔｒのセンサス変換において参照される８つの画素である。さらに、重み算出部７１２は、参照画像において、センサス変換での比較領域に基づき、比較領域内における参照画素ｒｅｆの周囲の周辺画素の輝度値を、撮像画像Ｉ２から取得する。参照画素ｒｅｆは、着目画素ｃｔｒとの間で相違度を算出する対象である探索範囲内の画素であり、参照画素ｒｅｆの周辺画素は、参照画素ｒｅｆのセンサス変換において参照される８つの画素である。
【０２０３】
重み算出部７１２は、上記の式３に基づき、着目画素ｃｔｒの比較領域Ａ１と、参照画素ｒｅｆの比較領域Ａ２との間で、比較領域に対して同じ位置の周辺画素である対応周辺画素同士の輝度値の差異、つまり、輝度値の差の絶対値を算出する。さらに、重み算出部７１２は、上記の式４に基づき、８組の対応周辺画素それぞれについて、輝度値の差異に基づく重みを算出する。本実施の形態では、重み算出部７１２は、輝度値の差異の逆数を、重みとして算出する。なお、重みは、これに限定されず、輝度値の差異の逆数の２乗等、差異が大きい場合に小さく、差異が小さい場合に大きくなるものであればよい。例えば、重み算出部７１２は、比較領域Ａ１における輝度値「８５」の周辺画素と、比較領域Ａ２における輝度値「１２０」の周辺画素との間で、輝度値の差異に基づく重み「０．０３」を算出する。重み算出部７１２は、比較領域Ａ１の８つの周辺画素それぞれについて、重みを算出する。
【０２０４】
相違度算出部７０２は、着目画素のセンサス特徴量と、参照画素のセンサス特徴量とから、センサス特徴量のビット列間のビット間差異を算出する。相違度算出部７０２は、比較領域Ａ１内の各周辺画素における着目画素ｃｔｒに対するセンサス変換値と、比較領域Ａ２内の各周辺画素における参照画素ｒｅｆに対するセンサス変換値とを比較し、比較領域に対して同じ位置の対応画素同士の間で、センサス変換値が同じであるか否かに基づく、ビット間差異を算出する。例えば、相違度算出部７０２は、比較領域Ａ１における左上角のセンサス変換値「１」と、比較領域Ａ２における左上角のセンサス変換値「０」との間で、ビット間差異「１」を算出する。相違度算出部７０２は、窓領域Ａ１の８つの周辺画素それぞれについて、ビット間差異を算出する。
【０２０５】
さらに、相違度算出部７０２は、比較領域Ａ１の周辺画素それぞれの重みと、比較領域Ａ１の周辺画素それぞれのビット間差異とから、比較領域Ａ１の周辺画素それぞれにおける重み付け後ビット間差異である重み付けビット間差異を算出する。相違度算出部７０２は、比較領域Ａ１内の同一の周辺画素に対応する重みとビット間差異とを乗算することによって、重み付けビット間差異を算出する。例えば、相違度算出部７０２は、比較領域Ａ１における左上角の周辺画素の重み「０．０３」とビット間差異「１」とを乗算することによって、重み付けビット間差異「０．０３」を算出する。
【０２０６】
さらに、相違度算出部７０２は、着目画素ｃｔｒの各周辺画素の重み付けビット間差異の和を、着目画素ｃｔｒの相違度として算出する。図４５の例では、相違度算出部７０２は、比較領域Ａ１の各周辺画素の重み付けビット間差異の和「０．０３＋０．０９＋０．０４＝０．１６」を、着目画素ｃｔｒの相違度として算出する。
【０２０７】
視差選択部１０３は、着目画素に対して、参照画像における探索範囲内の参照画素それぞれとの間で、相違度算出部７０２によって算出された相違度のうちから最小の相違度を抽出し、抽出した相違度に対応する視差値を、着目画素の整数精度の視差値に決定する。
【０２０８】
図４７を参照しつつ、視差値算出装置７００の動作を説明する。図４７は、実施の形態７に係る視差値算出装置７００の動作の一例を示すフローチャートである。ステップＳ１０１において、センサス変換部１０１は、実施の形態１と同様に、記憶部２０から、カメラ１１ａ及び１１ｂそれぞれにより撮像されたステレオ画像である撮像画像Ｉ１及びＩ２を取得する。以下において、視差値算出装置７００は、撮像画像Ｉ１を基準画像とし撮像画像Ｉ２を参照画像として処理するとして説明する。
【０２０９】
次いで、ステップＳ１０２において、センサス変換部１０１は、基準画像の各画素及び参照画像の各画素のセンサス特徴量を算出し、相違度算出部７０２に出力する。
【０２１０】
次いで、ステップＳ７０１において、重み算出部７１２は、記憶部２０から、撮像画像Ｉ１及びＩ２を取得し、基準画像である撮像画像Ｉ１の着目画素について、相違度計算での探索範囲内の視差値の位置に対応する参照画像の参照画素と着目画素との間における、輝度差に応じた重みを算出する。重み算出部７１２は、着目画素の周辺画素と参照画素の周辺画素との間で、画素間の輝度差に応じた重みを算出する。重み算出部７１２は、基準画像の各画素を着目画素として、各画素の重みを算出し、相違度算出部７０２に出力する。なお、ステップＳ１０２及びＳ７０１の順序は逆であってもよい。
【０２１１】
次いで、ステップＳ７０２において、相違度算出部７０２は、基準画像の各画素を着目画素として、着目画素の重みと、着目画素のセンサス特徴量と、参照画像の探索範囲内の参照画素のセンサス特徴量とから、当該参照画素に対する着目画素の相違度を算出する。つまり、相違度算出部７０２は、重み付け相違度を算出する。相違度算出部７０２は、着目画素及び参照画素のセンサス特徴量のビット列間のビット間差異に重みを付加した、重み付けビット間差異を用いて、重み付け相違度を算出する。相違度算出部７０２は、基準画像の各画素を着目画素として、各画素の重み付け相違度を算出し、視差選択部１０３に出力する。
【０２１２】
次いで、ステップＳ１０４において、視差選択部１０３は、実施の形態１と同様に、基準画像の各画素の重み付け相違度に基づき、基準画像の各画素の整数精度の視差値を決定し、サブピクセル視差算出部１０４に出力する。
【０２１３】
次いで、ステップＳ１０５において、サブピクセル視差算出部１０４は、実施の形態１と同様に、記憶部２０から撮像画像Ｉ１及びＩ２を取得し、撮像画像Ｉ１及びＩ２と、撮像画像Ｉ１つまり基準画像の各画素の整数精度の視差値とを用いて、基準画像の各画素のサブピクセル精度の視差値を算出する。
【０２１４】
上述のような実施の形態７に係る視差値算出装置７００によれば、実施の形態１と同様の効果が得られる。また、視差値算出装置７００は、基準画像の着目画素と参照画像の参照画素との相違度に対して、着目画素のセンサス変換で参照される周辺画素の輝度値と、参照画素のセンサス変換で参照される周辺画素の輝度値との差異に基づく重み付けを行う。この重み付けは、輝度値の差異が小さくなるほど大きくされ、輝度値の差異が大きくなるほど小さくされる。輝度値の差異が小さい相違度の構成要素は、相違度に重点的に反映され、輝度値の差異が大きい相違度の構成要素は、相違度に与える影響が小さい。このような重み付けは、例えば、着目画素に対する比較領域の配置が比較領域の中央のみであっても、比較領域の内部を空間的に重み付けすることができ、比較領域に対する重心位置を適応的に変更することができることを示す。つまり、着目画素に対して比較領域をあたかも適応的に動かしたのと同様の効果が得られる。これにより、相違度は、画素値の変化を反映することができる。よって、視差値算出装置７００は、オクルージョンの境界又は視差値が変化する前景及び背景間の境界付近に位置する画素について、着目画素に対して単一の比較領域を用いるだけで、視差画像での視差値の差異による境界の位置と、被写体の輪郭の位置とを正確に整合させることができる。
【０２１５】
なお、ビット間差異に対する重み付けは、着目画素及び参照画素の比較領域間の対応画素の輝度差に限らず、対応画素におけるそれぞれの輝度勾配の差であってもよく、さらに簡略化して、着目画素又は対応画素における輝度勾配であってもよい。さらに、上記重み付けは、対応画素間の輝度差と、対応画素における輝度勾配の差と、着目画素又は対応画素の輝度勾配との少なくとも２つを組み合わせたものあってもよい。ここで、上記重み付けは、上記の輝度差、輝度勾配の差、又は、着目画素若しくは対応画素における輝度勾配が大きいほど重くなり、小さいほど軽くなるように設定される。このような重み付けによっても、対応画素間の輝度差を用いた重み付けの場合と同様の効果を得ることができる。輝度勾配は、画像座標で、ｘ軸方向の勾配であってもよく、ｙ軸方向の勾配であってもよく、ｘ軸方向及びｙ軸方向の勾配の両者を考慮した勾配であってもよく、その他の任意の方向の勾配であってもよい。
【０２１６】
上述のように、視差値算出装置７００は、相違度が算出される基準画像の着目画素及び参照画像の参照画素について、着目画素の周囲の画素の輝度値と参照画素の周囲の画素の輝度値との差異、着目画素の周囲の画素の輝度勾配と参照画素の周囲の画素の輝度勾配との差異と、着目画素、参照画素又はその周囲の画素における輝度勾配とのうちの少なくとも一つに基づく重みを、相違度に付加してもよい。
【０２１７】
また、実施の形態７に係る視差値算出装置７００は、実施の形態１に係る視差値算出装置１００をベースする構成であったが、実施の形態２〜６及びその変形例をベースする構成であってもよい。
【０２１８】
例えば、実施の形態５をベースとする実施の形態７の変形例に係る視差値算出装置７００ａは、図４８に示すような構成である。変形例に係る視差値算出装置７００ａにおいて、実施の形態７と同様に、重み算出部７１２は、基準画像である撮像画像Ｉ１の全ての画素に対して、参照画像である撮像画像Ｉ２の参照画素との間で、重みを算出する。相違度算出部７０２は、基準画像の全ての画素に対して、重み付け相違度を算出する。
【０２１９】
コスト算出部５１０は、基準画像中の全ての画素を着目画素として、着目画素を通る複数の直線それぞれの上での視差値の分布に関する着目画素のコストを算出する。コスト算出部５１０は、各直線上の画素それぞれについて、相違度算出のための探索範囲内の視差値と、当該画素に隣接する画素の視差値との差異に基づき、探索範囲内の各視差値に対応する重み付け相違度を、さらに重み付けした値を、着目画素のコストとして算出する。コスト集約部５１１は、着目画素を通る複数の直線上の画素それぞれに対して算出されたコストを、探索範囲の視差値毎に加算する、つまり視差値毎のコストの和を算出することによって、着目画素のコストを集約する。視差選択部１０３は、着目画素に関して、探索範囲の視差値毎のコストの和のうちから、最小のコストの和を抽出し、最小のコストの和を与える視差値を特定し、特定した視差値を着目画素の整数精度の視差値に決定する。さらに、視差選択部１０３は、基準画像の全ての画素を着目画素として、当該画素の整数精度の視差値を決定する。サブピクセル視差算出部１０４は、整数精度の視差値に基づき、サブピクセル精度の視差値を算出する。
【０２２０】
なお、変形例に係る視差値算出装置７００ａは、重み付けを相違度に対して行うが、これに限る必要はなく、コスト計算時又はコスト集約時に同様の重み付けを各画素に対して行ってもよい。このような場合も、同様の効果を得ることができる。
【０２２１】
具体的には、図３４に示す着目画素Ｉ１ｐｉのコストの場合、ペナルティ値Ｐ１及びＰ２の値が、着目画素及び対応画素間の輝度差、着目画素及び対応画素間の輝度勾配の差、又は、これらの組み合わせに応じて、重み付けされる。さらに簡略化して、ペナルティ値Ｐ１及びＰ２は、着目画素又は対応画素における輝度勾配に応じて、重み付けされてもよい。ここで、基準画像中の着目画素Ｉ１ｐｉのｘ座標値をｘｂとすると、視差値０の場合、対応画素は、参照画像中において、ｘｂ−０＝ｘｂをｘ座標とする画素である。同様に、対応画素は、視差値−１の場合、参照画像中でｘｂ−１をｘ座標とする画素であり、視差値−ｋの場合、参照画像中でｘｂ−ｋをｘ座標とする画素である。ちなみに、参照画像中のいずれの対応画素のｙ座標も、基準画像中の着目画素Ｉ１ｐｉのｙ座標と等しい。
【０２２２】
なお、上記重み付けは、上記の輝度差、輝度勾配の差、又は、着目画素若しくは対応画素における輝度勾配が大きいほど重くなり、小さいほど軽くなるように設定される。輝度勾配は、画像座標で、ｘ軸方向の勾配であってもよく、ｙ軸方向の勾配であってもよく、ｘ軸方向及びｙ軸方向の勾配の両者を考慮した勾配であってもよく、その他の任意の方向の勾配であってもよい。
【０２２３】
上述のように、視差値算出装置は、第１の評価画素としての着目画素Ｉ１ｐｉとその対応画素の探索範囲内の画素との間における輝度値の差異、着目画素Ｉ１ｐｉと上記探索範囲内の画素との間における輝度勾配の差異、並びに、着目画素Ｉ１ｐｉ又は上記探索範囲内の画素における輝度勾配のうちの少なくとも一つに基づく重みを、第１の評価値としてのペナルティ値に付加してもよい。
【０２２４】
［その他］
以上、１つ又は複数の態様に係る視差値算出装置について、実施の形態及び変形例に基づいて説明したが、本開示は、これらの実施の形態及び変形例に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態及び変形例に施したものや、異なる実施の形態及び変形例における構成要素を組み合わせて構築される形態も、１つ又は複数の態様の範囲内に含まれてもよい。
【０２２５】
例えば、実施の形態及び変形例に係る視差値算出装置では、視差選択部は、相違度又はコストの最小値を与える視差値（「センサス特徴量ベースの視差値」とも呼ぶ）を、整数ピクセル精度の視差値に決定する。サブピクセル視差算出部は、当該整数ピクセル精度の視差値を用いて、第一〜第三参照画素における輝度差ベースのサブピクセル評価値の最適値を算出する。この場合、センサス特徴量ベースの整数ピクセル精度の視差値と、第一〜第三参照画素のうちサブピクセル評価値が最小又は最大である画素の整数ピクセル精度の視差値（「輝度差ベースの視差値」とも呼ぶ）とが一致するとして扱われる。例えば、図２３の例では、サブピクセル評価値が最小である第一参照画素の整数ピクセル精度の視差値が、輝度差ベースの視差値に該当する。
【０２２６】
しかしながら、これらが一致しなくてもよい。この場合、センサス特徴量ベースの視差値及び輝度差ベースの視差値に対応する視差値について、小数点以下の視差値として−０．５又は０．５を周囲の視差値との連続性を考慮して選択することによって、当該視差値を決定するようにしてもよい。具体的には、センサス特徴量ベース及び輝度差ベースの整数ピクセル精度の視差値が一致しない画素のうち、２つの整数ピクセル精度の視差値が一致する画素と隣接する画素について、当該画素である着目画素における小数点以下の視差値を＋０．５とする場合と−０．５とする場合との間で、着目画素に隣接する上記画素における視差値と着目画素における視差値との差異がより小さい方の符号の値を選択する。選択された視差値＋０．５又は−０．５は、着目画素における小数点以下の視差値とすることができる。なお、着目画素の視差値の整数値には、センサス特徴量ベースの視差値が適用される。つまり、センサス特徴量ベースの視差値に、選択された視差値＋０．５又は−０．５が加算された視差値が、着目画素の整数ピクセル精度の視差値の代わりに用いられる。上述のような処理を繰り返すことによって、センサス特徴量ベースと輝度差ベースとの整数ピクセル精度の視差値が一致しない領域における視差値を、その周辺における視差値を用いて順次決定することができる。なお、選択される視差値は、＋０．５又は−０．５に限定されず、−１．０超＋１．０未満のいずれかの値であってもよい。
【０２２７】
上述のように、視差値算出装置は、第１の画素としての着目画素について、その第１の視差値としてのセンサス特徴量ベースの視差値と、その複数のサブピクセル評価値のうちの最大値又は最小値を与える参照画素に対応する第３の視差値としての輝度差ベースの視差値とが一致しない場合、着目画素とその周囲の画素との間の視差値の連続性に基づき、小数点以下の視差値として−０．５又は０．５の視差値を決定し、決定された視差値をセンサス特徴量ベースの視差値に加算した視差値を、センサス特徴量ベースの視差値の代わりに用いる。
【０２２８】
例えば、図４９は、センサス変換値ベースの相違度又はコストと、輝度差ベースのサブピクセル評価値とに対して、それぞれ最小値又は最大値を与える整数ピクセル精度の視差値の一致の程度の一例を示す。図４９は、画像Ｉａ及びＩｂと、整数ピクセル精度の視差値の一致及び不一致を示す画像Ｉｃとを示す。画像Ｉｃにおいて、色無しの画素は、視差値が一致する画素であり、黒色の画素は、視差値が不一致である画素である。画像Ｉａ及びＩｂは、車載カメラの撮像画像を想定したもので、ステレオカメラを横並びの状態から縦並びの状態に９０度回転して取り付けたケースのＣＧ画像である。実際には、画像Ｉａは下側に配置されたカメラの画像であり、画像Ｉｂは上側に配置されたカメラの画像である。画像Ｉａ及びＩｂそれぞれにおいて、下側の領域は、路面領域である。この路面領域では、視差値は、画像Ｉａ及びＩｂ中で左から右に向かう方向に連続的に減少する。画像Ｉｃの路面領域において、周期的に黒色の画素、すなわち、整数ピクセル精度の視差値の不一致が生じている。上記の不一致の要因は、視差値が、整数ピクセル精度の視差値に対して±０．５の小数値を有する場合に、相違度又はコストと、サブピクセル評価値との双方について、最小値又は最大値を与える整数精度の視差値の決定が不安定になることである。そのため、両者が一致しない場合には、小数点以下の視差値として−０．５又は０．５を周囲の視差値との連続性を考慮して選択することで、視差値推定の精度を高めることができる。
【０２２９】
実施の形態及び変形例に係る視差値算出装置は、２つのカメラ１１ａ及び１１ｂの撮像画像間の視差値を算出したが、これに限定されない。視差値算出装置は、３つ以上のカメラの撮像画像間の視差値を算出してもよい。この場合、視差値算出装置は、３つ以上のカメラのうちの２つのカメラによるペア毎に、当該ペアの２つの撮像画像間の視差値を算出してもよい。
【０２３０】
また、上述したように、本開示の技術は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読取可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ等の不揮発性の記録媒体を含む。
【０２３１】
例えば、上記実施の形態及び変形例に係る視差値算出装置に含まれる各処理部は典型的には集積回路であるＬＳＩ（Large Scale Integration：大規模集積回路）として実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０２３２】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２３３】
なお、上記実施の形態及び変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵなどのプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０２３４】
また、上記構成要素の一部又は全部は、脱着可能なＩＣ（Integrated Circuit）カード又は単体のモジュールから構成されてもよい。ＩＣカード又はモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。ＩＣカード又はモジュールは、上記のＬＳＩ又はシステムＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカード又はモジュールは、その機能を達成する。これらＩＣカード及びモジュールは、耐タンパ性を有するとしてもよい。
【０２３５】
本開示の視差値算出方法は、ＭＰＵ（Micro Processing Unit）及びＣＰＵ等のプロセッサ、ＬＳＩ等の回路、ＩＣカード又は単体のモジュール等によって、実現されてもよい。
【０２３６】
さらに、本開示の技術は、ソフトウェアプログラム又はソフトウェアプログラムからなるデジタル信号によって実現されてもよく、プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０２３７】
また、上記で用いた序数、数量等の数字は全て、本開示の技術を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。また、構成要素間の接続関係は、本開示の技術を具体的に説明するために例示するものであり、本開示の機能を実現する接続関係はこれに限定されない。
【０２３８】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを１つの機能ブロックとして実現したり、１つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【産業上の利用可能性】
【０２３９】
本開示の技術は、カメラの撮像画像間のサブピクセル精度の視差値を算出する技術に有用である。本開示の技術は、車両、船舶、飛行体又はロボットなどに搭載されるカメラを用いた距離センサ等の、カメラの撮像画像間の視差値を用いるいかなる技術にも有用である。
【符号の説明】
【０２４０】
２０  記憶部（メモリ）
１００，２００，３００，４００，４００ａ，５００，５００ａ，５００ｂ，５００ｃ，６００，６００ａ，７００，７００ａ  視差値算出装置
１０１，６０１  センサス変換部
１０２，６０２，７０２  相違度算出部
１０３，６０３  視差選択部
１０４  サブピクセル視差算出部
２０５  低域カット部
３０３ａ  第一視差選択部
３０３ｂ  第二視差選択部
３０４ａ  第一サブピクセル視差算出部
３０４ｂ  第二サブピクセル視差算出部
３０６  Ｌ／Ｒチェック部
４０７  縮小部
４０８  終了判断部
４０９  拡大部
５１０  コスト算出部
５１０ａ  第一コスト算出部
５１０ｂ  第二コスト算出部
５１１  コスト集約部
５１１ａ  第一コスト集約部
５１１ｂ  第二コスト集約部
７１２  重み算出部
【図１】
2019120591.tif 000006
【図２Ａ】
2019120591.tif 000007
【図２Ｂ】
2019120591.tif 000008
【図３】
2019120591.tif 000009
【図４】
2019120591.tif 000010
【図５】
2019120591.tif 000011
【図６】
2019120591.tif 000012
【図７】
2019120591.tif 000013
【図８】
2019120591.tif 000014
【図９】
2019120591.tif 000015
【図１０】
2019120591.tif 000016
【図１１】
2019120591.tif 000017
【図１２】
2019120591.tif 000018
【図１３】
2019120591.tif 000019
【図１４】
2019120591.tif 000020
【図１５】
2019120591.tif 000021
【図１６】
2019120591.tif 000022
【図１７】
2019120591.tif 000023
【図１８Ａ】
2019120591.tif 000024
【図１８Ｂ】
2019120591.tif 000025
【図１９Ａ】
2019120591.tif 000026
【図１９Ｂ】
2019120591.tif 000027
【図２０】
2019120591.tif 000028
【図２１】
2019120591.tif 000029
【図２２】
2019120591.tif 000030
【図２３】
2019120591.tif 000031
【図２４】
2019120591.tif 000032
【図２５】
2019120591.tif 000033
【図２６】
2019120591.tif 000034
【図２７】
2019120591.tif 000035
【図２８】
2019120591.tif 000036
【図２９】
2019120591.tif 000037
【図３０】
2019120591.tif 000038
【図３１】
2019120591.tif 000039
【図３２】
2019120591.tif 000040
【図３３】
2019120591.tif 000041
【図３４】
2019120591.tif 000042
【図３５】
2019120591.tif 000043
【図３６】
2019120591.tif 000044
【図３７】
2019120591.tif 000045
【図３８】
2019120591.tif 000046
【図３９】
2019120591.tif 000047
【図４０】
2019120591.tif 000048
【図４１】
2019120591.tif 000049
【図４２】
2019120591.tif 000050
【図４３】
2019120591.tif 000051
【図４４】
2019120591.tif 000052
【図４５】
2019120591.tif 000053
【図４６】
2019120591.tif 000054
【図４７】
2019120591.tif 000055
【図４８】
2019120591.tif 000056
【図４９】
2019120591.tif 000057