(57)【要約】【課題】高精度の視差情報を算出できる視差算出装置を提供する。【解決手段】視差算出装置１００は、第１及び第２画像を含むステレオ画像から視差量を算出する視差算出装置であって、連続する類似する画素値を含む領域を一つの領域として、前記第１画像を複数の領域に分割する領域分割部１０４と、前記第１画像に複数の基準点を設定する基準点決定部１０５と、前記複数の基準点の各々に対して、当該基準点に対応する、前記第２画像に含まれる対応点を、前記第１画像及び前記第２画像をフーリエ変換した画像の位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出する対応点検出部１０６と、前記対応点検出部で算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度を、当該基準点が含まれる領域にそれぞれ割り当てる視差割当部１０７とを備える。【選択図】図１
2013242854.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２画像を含むステレオ画像から視差量を算出する視差算出装置であって、
連続する類似する画素値を含む領域を一つの領域として、前記第１画像を複数の領域に分割する領域分割部と、
前記第１画像に複数の基準点を設定する基準点決定部と、
前記複数の基準点の各々に対して、当該基準点に対応する、前記第２画像に含まれる対応点を、前記第１画像に含まれる前記基準点を中心とする探索窓サイズの第１領域及び前記第２画像に含まれる対応点候補を中心とする前記探索窓サイズの第２領域をフーリエ変換した画像の位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出する対応点検出部と、
前記対応点検出部で算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度を、当該基準点が含まれる領域にそれぞれ割り当てる視差割当部とを備える
視差算出装置。
【請求項２】
前記視差算出装置は、さらに、
割り当てられた前記信頼度が予め定められた閾値より低いか否かを判定し、前記信頼度が前記閾値より低い場合、前記基準点決定部、前記対応点検出部又は前記視差割当部に条件を変更した再計算を指示することで、前記視差量及び前記信頼度を再計算させる信頼度判定部を備える
請求項１記載の視差算出装置。
【請求項３】
前記基準点決定部は、
前記領域ごとに、当該領域内に複数の基準点の候補を設定し、
前記基準点の候補ごとに、当該基準点の候補を中心とする第１サイズの第１周辺領域と、当該基準点の候補を中心とする前記第１サイズより大きい第２サイズの第２周辺領域とを設定し、
前記基準点の候補ごとに、前記第１周辺領域に含まれる、当該基準点の候補が属する前記領域の面積である第１面積を計算し、
前記基準点の候補ごとに、前記第２周辺領域に含まれる、当該基準点の候補が属する前記領域の面積である第２面積を計算し、
前記領域ごとに、前記複数の基準点の候補の優先度を、前記第１面積が大きいほど高く、かつ、前記第１面積が同じ場合は、前記第２面積が大きいほど高くなるように設定し、
前記領域ごとに、前記優先度を用いて、前記複数の基準点の候補から前記基準点を決定する
請求項２記載の視差算出装置。
【請求項４】
前記第１サイズは、前記探索窓サイズと等しい
請求項３記載の視差算出装置。
【請求項５】
前記対応点検出部は、前記第１面積の前記第１周辺領域の面積に対する割合が予め定められた値より小さい場合、前記対応点を、前記位相情報を用いて算出する方法以外の方法で算出する
請求項４記載の視差算出装置。
【請求項６】
前記基準点決定部は、処理対象の前記領域の前記第１面積の前記第１周辺領域の面積に対する割合が予め定められた値より小さい場合、当該処理対象の領域に隣接する領域のうち、当該処理対象の領域に色情報が近い領域と、当該処理対象の領域と結合し、結合により得られた領域に対して前記基準点を決定する
請求項３記載の視差算出装置。
【請求項７】
前記基準点決定部は、さらに、前記割り当てられた信頼度が前記閾値より低い場合、前記条件の変更として、前記優先度を用いて、前記複数の基準点の候補のうち別の基準点の候補を前記基準点に再設定し、
前記対応点検出部は、再設定された前記基準点に対応する対応点を再度算出し、当該基準点及び当該対応点を用いて視差量を再度算出するとともに、当該視差量の信頼度を再度算出し、
前記視差割当部は、前記対応点検出部で再度算出された前記視差量及び前記信頼度を、対応する領域に再度割り当てる
請求項３記載の視差算出装置。
【請求項８】
前記基準点決定部は、前記割り当てられた信頼度が前記閾値より低い場合、前記条件の変更として、前記第１サイズを広げて前記優先度を再設定するとともに、再設定された前記優先度を用いて前記基準点を再設定し、
前記対応点検出部は、再設定された前記基準点に対応する対応点を再度算出し、当該基準点及び当該対応点を用いて視差量を再度算出するとともに、当該視差量の信頼度を再度算出し、
前記視差割当部は、前記対応点検出部で再度算出された前記視差量及び前記信頼度を、対応する領域に再度割り当てる
請求項３記載の視差算出装置。
【請求項９】
前記基準点決定部は、
前記領域ごとに、前記優先度を用いて、前記複数の基準点の候補から複数の前記基準点を決定し、
前記対応点検出部は、前記領域ごとに、前記複数の基準点の各々に対して、当該基準点に対応する前記対応点を、前記位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出し、
前記視差割当部は、
前記領域ごとに、前記対応点検出部で当該領域に対して算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度の複数の組のうち、最も信頼度が高い組を、当該領域に割り当て、
前記割り当てられた信頼度が前記閾値より低い場合、前記条件の変更として、当該領域に対して算出された前記複数の組に含まれる複数の前記視差量を、前記信頼度を用いて重み付け加算することで、視差量及び信頼度を再度算出し、当該視差量及び信頼度を前記領域に割り当てる
請求項３記載の視差算出装置。
【請求項１０】
前記視差割当部は、前記割り当てられた信頼度が前記閾値より低い場合、当該領域に対して算出された前記複数の組に含まれる複数の前記視差量を、前記第２周辺領域の面積に対する前記第２面積の割合と、前記信頼度とを用いて重み付け加算することで、前記視差量及び前記信頼度を再度算出する
請求項９記載の視差算出装置。
【請求項１１】
前記対応点検出部は、前記複数の基準点の各々に対して、当該基準点に対応する前記対応点を、前記第１画像及び前記第２画像に含まれる一次元画像をフーリエ変換した画像の位相情報を用いて算出し、
前記視差割当部は、前記割り当てられた信頼度が前記閾値より低い場合、当該領域に対して算出された前記複数の組に含まれる複数の前記視差量を、前記信頼度を用いて重み付け加算することで、視差量及び信頼度を再度算出し、当該視差量及び信頼度を前記領域に割り当てる
請求項９記載の視差算出装置。
【請求項１２】
前記基準点決定部は、前記領域ごとに、複数の基準点を設定し、
前記対応点検出部は、前記領域ごとに、前記複数の基準点の各々に対して、当該基準点に対応する前記対応点を、前記第１画像及び前記第２画像をフーリエ変換した画像の位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出し、
前記視差割当部は、前記領域ごとに、前記対応点検出部で当該領域に対して算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度の複数の組に、予め定めら得た閾値より高い信頼度を有する組が３組以上存在するか否かを判定し、前記閾値より高い信頼度を有する組が３組以上存在する場合は、当該３組以上の組に含まれる視差量を用いて、当該領域における視差量の二次元分布を算出し、当該視差量の二次元分布を、当該領域に割り当てる
請求項１記載の視差算出装置。
【請求項１３】
前記視差算出装置は、さらに、
前記対応点検出部で算出された信頼度を修正する基準点判定部を備え、
前記基準点判定部は、
前記基準点ごとに、当該基準点を中心とする第１周辺領域を設定し、
前記基準点ごとに、前記第１周辺領域に含まれる、当該基準点が属する前記領域の面積である第１面積を計算し、
前記第１面積の前記第１周辺領域の面積に対する割合が小さいほど、前記信頼度を低く修正し、
前記視差割当部は、前記基準点判定部で修正された信頼度及び前記視差量を前記領域に割り当てる
請求項１記載の視差算出装置。
【請求項１４】
第１及び第２画像を含むステレオ画像から視差量を算出する視差算出方法であって、
連続する類似する画素値を含む領域を一つの領域として、前記第１画像を複数の領域に分割する領域分割ステップと、
前記第１画像に複数の基準点を設定する基準点決定ステップと、
前記複数の基準点の各々に対して、当該基準点に対応する、前記第２画像に含まれる対応点を、前記第１画像に含まれる前記基準点を中心とする探索窓サイズの第１領域及び前記第２画像に含まれる対応点候補を中心とする前記探索窓サイズの第２領域をフーリエ変換した画像の位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出する対応点検出ステップと、
前記対応点検出ステップで算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度を、当該基準点が含まれる領域にそれぞれ割り当てる視差割当ステップとを含む
視差算出方法。
【請求項１５】
請求項１４記載の視差算出方法をコンピュータに実行させるための
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像から視差情報を算出する視差算出装置に関するものである。
【背景技術】
【０００２】
従来の視差情報を算出する方法としては、二次元位相限定相関法を用いる方法がある（例えば、特許文献１参照）。また。従来の視差情報を算出する別の方法としては、一次元位相限定相関法を用いる方法がある（例えば、特許文献２参照）。また、従来の領域分割を利用した視差算出方法としては、基準となる画像を小領域に分割し、その小領域の境界部分に着目して視差を推定するものがあった（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３３４７６０８号公報
【特許文献２】特許第４３８２７９７号公報
【特許文献３】特開２００５−１６５９６９号公報
【非特許文献】
【０００４】
【非特許文献１】ＰＥＤＲＯ  Ｆ．  ＦＥＬＺＥＮＳＺＷＡＬＢ著「Ｅｆｆｉｃｉｅｎｔ  Ｇｒａｐｈ−Ｂａｓｅｄ  Ｉｍａｇｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ５９（２），  １６７−１８１，  ２００４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような視差算出装置には、高精度の視差情報を算出できることが望まれている。
【０００６】
本発明は、高精度の視差情報を算出できる視差算出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一態様に係る視差算出装置は、第１及び第２画像を含むステレオ画像から視差量を算出する視差算出装置であって、連続する類似する画素値を含む領域を一つの領域として、前記第１画像を複数の領域に分割する領域分割部と、前記第１画像に複数の基準点を設定する基準点決定部と、前記複数の基準点の各々に対して、当該基準点に対応する、前記第２画像に含まれる対応点を、前記第１画像に含まれる前記基準点を中心とする探索窓サイズの第１領域及び前記第２画像に含まれる対応点候補を中心とする前記探索窓サイズの第２領域をフーリエ変換した画像の位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出する対応点検出部と、前記対応点検出部で算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度を、当該基準点が含まれる領域にそれぞれ割り当てる視差割当部とを備える。
【０００８】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００９】
本発明は、高精度の視差情報を算出することができる視差算出装置を提供できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１に係る視差算出装置のブロック図である。
【図２】図２は、実施の形態１に係る視差算出装置のブロック図である。
【図３】図３は、実施の形態１に係る視差算出処理のフローチャートである。
【図４】図４は、実施の形態１に係る対応点算出処理のフローチャートである。
【図５】図５は、実施の形態１に係る基準点及び探索窓の一例を示す図である。
【図６】図６は、実施の形態２に係る視差算出装置のブロック図である。
【図７】図７は、実施の形態２に係る視差算出処理のフローチャートである。
【図８】図８は、実施の形態２に係る対応点算出処理のフローチャートである。
【図９】図９は、実施の形態３に係る視差算出装置のブロック図である。
【図１０】図１０は、実施の形態３に係る視差算出処理のフローチャートである。
【図１１】図１１は、実施の形態４に係る視差算出装置のブロック図である。
【図１２】図１２は、実施の形態４に係る対応点算出処理のフローチャートである。
【図１３】図１３は、実施の形態５に係る視差算出装置のブロック図である。
【図１４】図１４は、実施の形態５に係る視差算出処理のフローチャートである。
【図１５】図１５は、実施の形態６に係る視差算出装置のブロック図である。
【図１６】図１６は、実施の形態６に係る視差算出処理のフローチャートである。
【図１７】図１７は、実施の形態７に係る視差算出装置のブロック図である。
【図１８】図１８は、実施の形態７に係る視差算出処理のフローチャートである。
【発明を実施するための形態】
【００１１】
（本発明の基礎となった知見）
本発明者は、「背景技術」の欄において記載した、視差算出装置に関し、以下の問題が生じることを見出した。
【００１２】
特許文献１に記載の構成は、二次元位相限定相関法により高精度の視差の検出が可能だが、二次元フーリエ変換の処理量が大きい。一方、特許文献２に記載の構成は、一次元位相限定相関法を用いることで、高精度の視差の検出を二次元位相限定相関法に比べて少ない処理量で実現できる。しかしながら、これらの２つの方法では、共に、エッジ部分には前景と背景とが混在しているため視差の精度が極端に悪くなるという課題があることを本発明者は見出した。更に、これらの２つの方法では、エッジ部分においてオクリュージョンにより見え方の変動が大きくなるため、視差の精度が極端に悪くなるという課題があることを本発明者は見出した。
【００１３】
また、特許文献３に記載の構成は、精度はそれほど高くないが、境界付近で視差を検出しやすいＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）又はＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）等のブロックマッチング処理による視差推定を前提としている。これにより、当該構成は、全体として精度が低いという課題があることを本発明者は見出した。
【００１４】
本発明の一態様に係る視差算出装置は、第１及び第２画像を含むステレオ画像から視差量を算出する視差算出装置であって、連続する類似する画素値を含む領域を一つの領域として、前記第１画像を複数の領域に分割する領域分割部と、前記第１画像に複数の基準点を設定する基準点決定部と、前記複数の基準点の各々に対して、当該基準点に対応する、前記第２画像に含まれる対応点を、前記第１画像に含まれる前記基準点を中心とする探索窓サイズの第１領域及び前記第２画像に含まれる対応点候補を中心とする前記探索窓サイズの第２領域をフーリエ変換した画像の位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出する対応点検出部と、前記対応点検出部で算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度を、当該基準点が含まれる領域にそれぞれ割り当てる視差割当部とを備える。
【００１５】
この構成によれば、当該視差算出装置は、エッジ形状が維持された高い精度の視差情報を算出できる。さらに、当該視差算出装置は、対応点の算出処理にフーリエ変換された画像の位相情報を用いることで、高い精度で視差情報を算出できる。
【００１６】
例えば、前記視差算出装置は、さらに、割り当てられた前記信頼度が予め定められた閾値より低いか否かを判定し、前記信頼度が前記閾値より低い場合、前記基準点決定部、前記対応点検出部又は前記視差割当部に条件を変更した再計算を指示することで、前記視差量及び前記信頼度を再計算させる信頼度判定部を備えてもよい。
【００１７】
この構成によれば、当該視差算出装置は、信頼度が低い場合には再度条件を変更して視差量を計算するので、高精度の視差情報を算出できる。
【００１８】
例えば、前記基準点決定部は、前記領域ごとに、当該領域内に複数の基準点の候補を設定し、前記基準点の候補ごとに、当該基準点の候補を中心とする第１サイズの第１周辺領域と、当該基準点の候補を中心とする前記第１サイズより大きい第２サイズの第２周辺領域とを設定し、前記基準点の候補ごとに、前記第１周辺領域に含まれる、当該基準点の候補が属する前記領域の面積である第１面積を計算し、前記基準点の候補ごとに、前記第２周辺領域に含まれる、当該基準点の候補が属する前記領域の面積である第２面積を計算し、前記領域ごとに、前記複数の基準点の候補の優先度を、前記第１面積が大きいほど高く、かつ、前記第１面積が同じ場合は、前記第２面積が大きいほど高くなるように設定し、前記領域ごとに、前記優先度を用いて、前記複数の基準点の候補から前記基準点を決定してもよい。
【００１９】
この構成によれば、当該視差算出装置は、視差量の精度が高くなる可能性が高い、適切な基準点を決定できるので、高精度の視差情報を算出できる。
【００２０】
例えば、前記第１サイズは、前記探索窓サイズと等しくてもよい。
【００２１】
例えば、前記対応点検出部は、前記第１面積の前記第１周辺領域の面積に対する割合が予め定められた値より小さい場合、前記対応点を、前記位相情報を用いて算出する方法以外の方法で算出してもよい。
【００２２】
この構成によれば、当該視差算出装置は、フーリエ変換された画像の位相情報を用いる方法では、精度の高い視差量を算出できる可能性が低い場合には、他の方法を用いて視差量を算出する。これにより、当該視差算出装置は、精度の高い視差情報を算出できる。
【００２３】
例えば、前記基準点決定部は、処理対象の前記領域の前記第１面積の前記第１周辺領域の面積に対する割合が予め定められた値より小さい場合、当該処理対象の領域に隣接する領域のうち、当該処理対象の領域に色情報が近い領域と、当該処理対象の領域と結合し、結合により得られた領域に対して前記基準点を決定してもよい。
【００２４】
この構成によれば、当該視差算出装置は、現在の領域分割では、精度の高い視差量を算出できる可能性が低い場合には、領域を結合する。これにより、当該視差算出装置は、精度の高い視差情報を算出できる。
【００２５】
例えば、前記基準点決定部は、さらに、前記割り当てられた信頼度が前記閾値より低い場合、前記条件の変更として、前記優先度を用いて、前記複数の基準点の候補のうち別の基準点の候補を前記基準点に再設定し、前記対応点検出部は、再設定された前記基準点に対応する対応点を再度算出し、当該基準点及び当該対応点を用いて視差量を再度算出するとともに、当該視差量の信頼度を再度算出し、前記視差割当部は、前記対応点検出部で再度算出された前記視差量及び前記信頼度を、対応する領域に再度割り当ててもよい。
【００２６】
この構成によれば、当該視差算出装置は、信頼度が低い場合には基準点を変更して再度視差量を計算するので、高精度の視差情報を算出できる。
【００２７】
例えば、前記基準点決定部は、前記割り当てられた信頼度が前記閾値より低い場合、前記条件の変更として、前記第１サイズを広げて前記優先度を再設定するとともに、再設定された前記優先度を用いて前記基準点を再設定し、前記対応点検出部は、再設定された前記基準点に対応する対応点を再度算出し、当該基準点及び当該対応点を用いて視差量を再度算出するとともに、当該視差量の信頼度を再度算出し、前記視差割当部は、前記対応点検出部で再度算出された前記視差量及び前記信頼度を、対応する領域に再度割り当ててもよい。
【００２８】
この構成によれば、当該視差算出装置は、信頼度が低い場合には第１周辺領域のサイズを変更して再度視差量を計算するので、高精度の視差情報を算出できる。
【００２９】
例えば、前記基準点決定部は、前記領域ごとに、前記優先度を用いて、前記複数の基準点の候補から複数の前記基準点を決定し、前記対応点検出部は、前記領域ごとに、前記複数の基準点の各々に対して、当該基準点に対応する前記対応点を、前記位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出し、前記視差割当部は、前記領域ごとに、前記対応点検出部で当該領域に対して算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度の複数の組のうち、最も信頼度が高い組を、当該領域に割り当て、前記割り当てられた信頼度が前記閾値より低い場合、前記条件の変更として、当該領域に対して算出された前記複数の組に含まれる複数の前記視差量を、前記信頼度を用いて重み付け加算することで、視差量及び信頼度を再度算出し、当該視差量及び信頼度を前記領域に割り当ててもよい。
【００３０】
この構成によれば、当該視差算出装置は、信頼度が低い場合には、複数の基準点に対する複数の視差量を用いて割り当てる視差量を計算するので、高精度の視差情報を算出できる。
【００３１】
例えば、前記視差割当部は、前記割り当てられた信頼度が前記閾値より低い場合、当該領域に対して算出された前記複数の組に含まれる複数の前記視差量を、前記第２周辺領域の面積に対する前記第２面積の割合と、前記信頼度とを用いて重み付け加算することで、前記視差量及び前記信頼度を再度算出してもよい。
【００３２】
この構成によれば、当該視差算出装置は、第２周辺領域の面積に対する第２面積の割合を加味して、割り当てる視差量を算出するので、高精度の視差情報を算出できる。
【００３３】
例えば、前記対応点検出部は、前記複数の基準点の各々に対して、当該基準点に対応する前記対応点を、前記第１画像及び前記第２画像に含まれる一次元画像をフーリエ変換した画像の位相情報を用いて算出し、前記視差割当部は、前記割り当てられた信頼度が前記閾値より低い場合、当該領域に対して算出された前記複数の組に含まれる複数の前記視差量を、前記信頼度を用いて重み付け加算することで、視差量及び信頼度を再度算出し、当該視差量及び信頼度を前記領域に割り当ててもよい。
【００３４】
この構成によれば、当該視差算出装置は、一次元画像をフーリエ変換した画像の位相情報を用いて対応点を検出するので、処理量を低減できる。また、当該視差算出装置は、このような場合でも、適切に信頼度の低い視差量を補正できる。
【００３５】
例えば、前記基準点決定部は、前記領域ごとに、複数の基準点を設定し、前記対応点検出部は、前記領域ごとに、前記複数の基準点の各々に対して、当該基準点に対応する前記対応点を、前記第１画像及び前記第２画像をフーリエ変換した画像の位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出し、前記視差割当部は、前記領域ごとに、前記対応点検出部で当該領域に対して算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度の複数の組に、予め定めら得た閾値より高い信頼度を有する組が３組以上存在するか否かを判定し、前記閾値より高い信頼度を有する組が３組以上存在する場合は、当該３組以上の組に含まれる視差量を用いて、当該領域における視差量の二次元分布を算出し、当該視差量の二次元分布を、当該領域に割り当ててもよい。
【００３６】
この構成によれば、当該視差算出装置は、領域内における視差量の分布を算出するので、高精度の視差情報を算出できる。
【００３７】
例えば、前記視差算出装置は、さらに、前記対応点検出部で算出された信頼度を修正する基準点判定部を備え、前記基準点判定部は、前記基準点ごとに、当該基準点を中心とする第１周辺領域を設定し、前記基準点ごとに、前記第１周辺領域に含まれる、当該基準点が属する前記領域の面積である第１面積を計算し、前記第１面積の前記第１周辺領域の面積に対する割合が小さいほど、前記信頼度を低く修正し、前記視差割当部は、前記基準点判定部で修正された信頼度及び前記視差量を前記領域に割り当ててもよい。
【００３８】
この構成によれば、当該視差算出装置は、第１周辺領域の面積に対する第１面積の割合を加味して、割り当てる視差量を選択できるので、高精度の視差情報を算出できる。
【００３９】
また、本発明の一態様に係る視差算出方法は、第１及び第２画像を含むステレオ画像から視差量を算出する視差算出方法であって、連続する類似する画素値を含む領域を一つの領域として、前記第１画像を複数の領域に分割する領域分割ステップと、前記第１画像に複数の基準点を設定する基準点決定ステップと、前記複数の基準点の各々に対して、当該基準点に対応する、前記第２画像に含まれる対応点を、前記第１画像に含まれる前記基準点を中心とする探索窓サイズの第１領域及び前記第２画像に含まれる対応点候補を中心とする前記探索窓サイズの第２領域をフーリエ変換した画像の位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出する対応点検出ステップと、前記対応点検出ステップで算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度を、当該基準点が含まれる領域にそれぞれ割り当てる視差割当ステップとを含む。
【００４０】
これによれば、当該視差算出方法は、エッジ形状が維持された高い精度の視差情報を算出できる。さらに、当該視差算出方法は、対応点の算出処理にフーリエ変換された画像の位相情報を用いることで、高い精度で視差情報を算出できる。
【００４１】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【００４２】
以下、本発明の実施の形態について、図面を参照しながら具体的に説明する。
【００４３】
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４４】
（実施の形態１）
まず、本実施の形態に係る視差算出装置１００の基本構成を説明する。
【００４５】
図１は、本実施の形態に係る視差算出装置１００の概略構成を示すブロック図である。
【００４６】
この視差算出装置１００は、第１及び第２画像を含むステレオ画像から視差量を生成する。視差算出装置１００は、領域分割部１０４と、基準点決定部１０５と、対応点検出部１０６と、視差割当部１０７とを備える。
【００４７】
領域分割部１０４は、連続する類似する画素値を含む領域を一つの領域として、第１画像を複数の領域に分割する。言い換えると、領域分割部１０４は、エッジが境界となるように第１画像を複数の領域に分割する。
【００４８】
基準点決定部１０５は、第１画像に複数の基準点を設定する。
【００４９】
対応点検出部１０６は、複数の基準点の各々に対して、当該基準点に対応する、第２画像に含まれる対応点を、第１画像に含まれる前記基準点を中心とする探索窓サイズの第１領域及び第２画像に含まれる対応点候補を中心とする探索窓サイズの第２領域をフーリエ変換した画像の位相情報を用いて算出する。そして、対応点検出部１０６は、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出する。
【００５０】
視差割当部１０７は、対応点検出部１０６で算出された複数の基準点の各々に対する視差量及び信頼度を、当該基準点が含まれる領域にそれぞれ割り当てる。
【００５１】
以下、本実施の形態に係る視差算出装置１００の構成及び動作を詳細に説明する。
【００５２】
図２は、本発明の実施の形態１に係る視差算出装置１００のブロック図である。この視差算出装置１００は、Ｌカメラ１０１と、Ｒカメラ１０２と、画像入力部１０３と、領域分割部１０４と、基準点決定部１０５と、対応点検出部１０６と、視差割当部１０７と、信頼度判定部１０８と、視差補完部１０９とを備える。
【００５３】
また、図３は、視差算出装置１００による視差算出処理のフローチャートである。
【００５４】
Ｌカメラ１０１及びＲカメラ１０２は、一定の距離離れて同じ方向に向かって略平行に設置されており、ステレオ画像を撮影する。つまり、ステレオ画像は、同一の被写体（シーン）を異なる位置（視点）から撮影することにより得られた２枚の画像を含む。
【００５５】
画像入力部１０３は、Ｌカメラ１０１及びＲカメラ１０２で撮影されたステレオ画像を取得する（Ｓ１０１）。そして、画像入力部１０３は、必要に応じて各々のカメラパラメータに従って、取得したステレオ画像にキャリブレーションを実施することで平行化処理を行う。画像入力部１０３は、これらの処理を行うことにより得られたステレオ画像を、領域分割部１０４に出力する。
【００５６】
領域分割部１０４は、ステレオ画像に含まれる、左右の画像の内の少なくとも一方の画像（第１画像）を、エッジを境界とする複数の領域に分割する（Ｓ１０２）。言い換えると、領域分割部１０４は、連続する類似する画素値を含む領域を一つの領域として、複数の領域に分割する。例えば、領域分割部１０４は、Ｇｒａｐｈ−Ｂａｓｅｄ  Ｓｅｇｍｅｎｔａｔｉｏｎ法（非特許文献１参照）、又はＭｅａｎＳｈｉｆｔ法等のアルゴリズムを利用して第１画像を小領域に分割する。
【００５７】
さらに、領域分割部１０４は、後述する第１窓サイズの初期値に対して、ある小領域の幅又は高さが小さな場合には、当該小領域に隣接する小領域の中で、当該少領域と色情報が近い小領域とを結合する。
【００５８】
また、視差算出装置１００は、上記の処理で分割されたｎ個の小領域に対して、それぞれ以下の処理を加えて、個々の小領域に対して視差量と信頼度を割り当てる。
【００５９】
この、小領域毎の処理は、基準点決定部１０５、対応点検出部１０６、視差割当部１０７、及び信頼度判定部１０８の各部により連携して処理され、順に１からｎまでの各小領域全てに対して視差量及び信頼度が割り当てられる。
【００６０】
まず、基準点決定部１０５は、複数の小領域のうちいずれかを選択する（Ｓ１０３）。次に、基準点決定部１０５は、選択された小領域（以下、選択領域）内の基準点を決定する（Ｓ１０４）。次に、対応点検出部１０６は、決定された基準点を用いて、視差量及び信頼度を算出する（Ｓ１０５）。
【００６１】
図４は、このステップＳ１０４及びＳ１０５の詳細なフローチャートである。
【００６２】
まず、基準点決定部１０５は、第１窓サイズ及び第２窓サイズを保持しており、小領域単位での処理の最初に、この第１窓サイズ及び第２窓サイズを初期化する（Ｓ１２１）。ここで、第１窓サイズ（第１サイズ）及び第２窓サイズ（第２サイズ）は、後述する第１探索窓（第１周辺領域）及び第２探索窓（第２周辺領域）のサイズである。また、第１探索窓は、例えば、後述する対応点検出部１０６が位相情報を求めるために用いる探索窓（第１領域及び第２領域）のサイズ（探索窓サイズ）と等しい。なお、第１探索窓は、後述する対応点検出部１０６が位相情報を求めるために用いる探索窓のサイズと異なってもよい。
【００６３】
具体的には、基準点決定部１０５は、第１窓サイズを、対応点検出部１０６がフーリエ変換した画像の位相情報を用いて対応点を求める際の領域（探索窓）のサイズの最小サイズＷｓ０以上のサイズに設定し、第２窓サイズを、第１窓サイズを超える大きさに設定する。例えば、第２窓サイズは、第１窓サイズの２倍である。ここで、最小サイズＷｓ０は、窓サイズをそれ以上小さくすると視差量の信頼度が大きく低下する窓サイズである。
【００６４】
次に、基準点決定部１０５は、第１及び第２窓サイズを調整する（Ｓ１２２）。具体的には、基準点決定部１０５は、第１窓サイズがＷｓ０と等しいかどうか調べる。基準点決定部１０５は、第１窓サイズがＷｓ０と等しい場合はそれ以上第１窓サイズを小さくできないので、第１窓サイズをＷｓ０に決定する。一方、基準点決定部１０５は、第１窓サイズがＷｓ０と等しくない場合は、選択領域の幅と第１窓サイズの幅を比較して第１窓サイズの方が大きければ第１窓サイズを小さくする。例えば、基準点決定部１０５は、第１探索窓の全てが選択領域に含まれるように、第１窓サイズを小さくする。その際に、基準点決定部１０５は、第１窓サイズをＷｓ０より小さくはしない。また、基準点決定部１０５は、第１窓サイズが小さくなったのに合わせて必要に応じて第２窓サイズを調整する。
【００６５】
次に、基準点決定部１０５は、複数の基準点の候補を選定する（Ｓ１２３）。例えば、基準点決定部１０５は、選択領域内の特定領域に複数の基準点の候補が集中しないよう、複数の基準点の候補をランダムに割り当てる、又は、一定の距離を離して複数の基準点の候補を配置する。
【００６６】
次に、基準点決定部１０５は、複数の基準点の候補に対して優先度（優先順位）を決定する（Ｓ１２４）。図５は、この処理を説明するための図である。図５に示すように、基準点決定部１０５は、選択領域１２１内に複数の基準点の候補１２２Ａ〜１２２Ｅを設定する。
【００６７】
次に、基準点決定部１０５は、各基準点の候補を中心とする第１窓サイズの第１探索窓１２３と、各基準点の候補を中心とする第１窓サイズより大きい第２窓サイズの第２探索窓１２４とを決定する。次に、基準点決定部１０５は、各基準点の候補に対し、第１探索窓１２３に含まれる選択領域１２１の面積である第１面積を計算する。また、基準点決定部１０５は、各基準点の候補に対し、第２探索窓１２４に含まれる選択領域１２１の面積である第２面積を計算する。
【００６８】
次に、基準点決定部１０５は、各基準点の候補を、第１面積の大きい順番に並べた後、第１面積が同じ基準点の候補に対しては、第２面積の大きい順番に並べることで複数の基準点の候補の優先度を決定する。言い換えると、基準点決定部１０５は、複数の基準点の候補の優先度を、第１面積が大きいほど高く、かつ、第１面積が同じ場合は、第２面積が大きいほど高くなるように設定する。
【００６９】
次に、基準点決定部１０５は、優先度を用いて、複数の基準点の候補から基準点を決定する。具体的には、基準点決定部１０５は、優先度が最上位の基準点の候補を基準点として設定する（Ｓ１２５）。
【００７０】
例えば、図５に示す例では、基準点の候補１２２Ａ〜１２２Ｅのうち基準点の候補１２２Ｃ及び１２２Ｄの第１面積が最も大きい。また、基準点の候補１２２Ｃの第２面積は、基準点の候補１２２Ｄの第２面積より大きい。よって、基準点決定部１０５は、基準点の候補１２２Ｃを後続の処理で使用する基準点に決定する。
【００７１】
次に、基準点決定部１０５は、優先度が最上位の基準点の候補の第１面積と第１探索窓の面積とを比較し、第１探索窓の面積に対する第１面積の割合を算出する（Ｓ１２６）。次に、基準点決定部１０５は、算出された割合と予め定められた閾値とを比較し（Ｓ１２７）、算出された割合が閾値より大きい場合（Ｓ１２７でＹｅｓ）、選択領域に対して二次元の位相限定相関法（ＰＯＣ）を用いて対応点を検出すると決定し、その旨を対応点検出部１０６に指示する。ここで、ＰＯＣとは、フーリエ変換された画像の位相情報を利用して対応点を計算する方式である。
【００７２】
一方、算出された割合が閾値より小さい場合（Ｓ１２７でＮｏ）、基準点決定部１０５は、選択領域に対して二次元の位相限定相関法（ＰＯＣ）以外の方法を用いて対応点を検出すると決定し、その旨を対応点検出部１０６に指示する。
【００７３】
対応点検出部１０６は、基準点決定部１０５からの指示に従い、与えられた基準点に対して、ＰＯＣ又は、それ以外の別方式でステレオ画像のもう一方の画像（第２画像）上の対応点を計算する（Ｓ１２８又はＳ１２９）。ここで、それ以外の方式とは、例えば、ＳＳＤ又はＳＡＤ等のブロックマッチング法（ＢＭ）である。
【００７４】
具体的には、ＰＯＣを用いることが指示された場合、対応点検出部１０６は、第１画像における、基準点を中心とする、第１窓サイズの第１探索窓（第１領域）に対してフーリエ変換を行うことで、第１変換画像を生成する。また、対応点検出部１０６は、第２画像における第１窓サイズの複数の第３探索窓（第２領域）に対してフーリエ変換を行うことで、複数の第２変換画像を生成する。ここで、複数の第３探索窓の各々は、対応点候補を中心とする第１窓サイズの領域である。次に、対応点検出部１０６は、第１変換画像と、複数の第２変換画像の各々との位相情報の相関を求める。そして、複数の第２変換画像のうち最も第１変換画像と相関が高い画像を選択し、選択された画像に対応する第３探索窓の中心である対応点候補を第１画像の基準点に対応する対応点に決定する。
【００７５】
そして、対応点検出部１０６は、基準点と対応点との差分から視差量を計算すると同時に、当該視差量の信頼度を算出する（Ｓ１３０）。例えば、対応点検出部１０６は、ＰＯＣを用いた場合には、位相情報の相関のピークの高さを信頼度として算出する。また、対応点検出部１０６は、ＳＳＤを用いた場合には、（ピーク定数−評価値）を信頼度として算出する。ここでピーク定数は予め定められた固定値である。評価値は、ＳＳＤにおける評価値であり、値が小さいほど評価が高いことを示す。具体的には、評価値は、マッチングされた二つの画像の差分の二乗である。また、（ピーク定数−評価値）が負の値になる場合には、評価値は０（最低の値）に設定される。
【００７６】
再度、図３を用いて説明を行う。
【００７７】
ステップＳ１０５の後、視差割当部１０７は、対応点検出部１０６で算出された視差量及び信頼度を選択領域全体に割り当てる（Ｓ１０６）。つまり、選択領域に含まれる一つの基準点を用いて算出された視差量及び信頼度が、選択領域全体の視差量及び信頼度に設定される。
【００７８】
次に、信頼度判定部１０８は、視差割当部１０７が選択領域に割り当てた信頼度を閾値と比較することで、当該信頼度が閾値より高いか否かを判定する（Ｓ１０７）。当該信頼度が閾値より高い場合（Ｓ１０７でＹｅｓ）、信頼度判定部１０８は、選択領域の視差量及び信頼度を割り当てられた値に決定する。そして、全ての領域に対して、上記の処理が終わっていない場合には（Ｓ１０９でＮｏ）、次の領域が選択され（Ｓ１０３）、新たに選択された領域に対してステップＳ１０４以降の処理が行われる。
【００７９】
一方、割り当てられた信頼度が閾値より小さい場合（Ｓ１０７でＮｏ）、信頼度判定部１０８は、基準点決定部１０５、対応点検出部１０６又は視差割当部１０７に条件を変更した再計算を指示することで、視差量及び信頼度を再計算させる。具体的には、基準点決定部１０５は、優先度を用いて、複数の基準点の候補のうち別の基準点の候補を基準点に再設定する。
【００８０】
例えば、基準点決定部１０５は、優先度が一つ下の基準点の候補を新たな基準点に決定する（Ｓ１０８）。具体的には、基準点決定部１０５は、優先度が一つ下の基準点の候補の第１面積の、優先度が最上位の基準点の候補の第１面積に対する割合を算出する。そして、基準点決定部１０５は、この割合が閾値より大きい場合には、優先度が一つ下の基準点の候補を新たな基準点に決定する。そして、新たな基準点を用いてステップＳ１０５以降の処理が行われる。一方、上記割合が閾値より小さい場合には、再計算しても信頼度の向上が期待できないので、信頼度判定部１０８は、そのままの視差量及び信頼度を選択領域の視差量及び信頼度に決定する。
【００８１】
また、上記Ｓ１０３〜Ｓ１０８の処理が１からｎまでの各小領域に対して終わった場合（Ｓ１０９でＹｅｓ）、その結果が視差補完部１０９に出力される。
【００８２】
視差補完部１０９は、全小領域の視差量及び信頼度の計算結果のうち、信頼度が閾値より低い小領域の視差量及び信頼度を修正する（Ｓ１１０）。具体的には、視差補完部１０９は、閾値より小さい信頼度を持つ小領域に対して、当該少領域の周辺の小領域を探索する。視差補完部１０９は、当該小領域に距離の一番近い小領域から順に信頼度を調べて、信頼度が閾値以上のものが見つかれば、その小領域の視差量及び信頼度を対象の信頼度の低い小領域に割り当てる。
【００８３】
なお、上記低信頼度の小領域への視差量及び信頼度の割り当て方法は他にも考えられる。例えば、視差補完部１０９は、周辺の全ての小領域に対して信頼度を調べ、閾値より高い信頼度を持つ小領域に対して、対象の低信頼度の小領域からの距離に応じた重み付け加算を行うことで、低信頼度の小領域の視差量及び信頼度を算出してもよい。
【００８４】
以上により、視差算出装置１００は、領域分割処理によりエッジ形状を抽出することで、画像を複数の小領域に分割する。そして、視差算出装置１００は、少領域毎に視差量を算出する。これにより、視差算出装置１００は、エッジ形状が維持された高い精度の視差量を算出できる。さらに、視差算出装置１００は、対応点の算出処理にＰＯＣを用いることで、高い精度で視差量を算出できる。また、視差算出装置１００は、小領域に含まれる代表点（基準点）を用いて、一つの視差量を算出し、算出された視差量を小領域全体の視差量に割り当てる。これにより、視差算出装置１００は、演算量を低減できる。
【００８５】
さらに、視差算出装置１００は、信頼度判定部１０８によるフィードバック等により個々の小領域に対してより信頼度の高い視差を求めることができる。また、視差算出装置１００は、視差補完部１０９により低信頼度の小領域を、周辺の信頼度の高い小領域の視差及び信頼度を元に高信頼度の視差に置き換えることができるので、高精度の視差を算出できる。
【００８６】
なお、上記説明では、画像入力部１０３は、左右のカメラからステレオ画像を取得しているが、ブルーレイディスク等の記録媒体からステレオ画像を取得してもよいし、ネットワーク経由でステレオ画像を取得してもよい。また、本実施の形態では、視差算出装置１００は、２枚の画像で構成されるステレオ画像に対して処理を行っていたが、３以上のカメラ画像を含む多視点画像を取得し、その中から２枚の画像を選択して処理をしてもよい。
【００８７】
また、上記説明では、領域分割部１０４は、小領域の結合を全ての小領域を対象として行っているが、基準点決定部１０５で判定された結果を用いて必要な部分だけに結合処理を行ってもよい。基準点決定部１０５は、処理対象の小領域の第１面積の第１探索窓の面積に対する割合が予め定められた値より小さい場合、当該処理対象の領域に隣接する領域のうち、当該処理対象の領域に色情報が近い領域と、当該処理対象の領域と結合し、結合により得られた領域に対して基準点を決定してもよい。
【００８８】
また、上記説明では、基準点決定部１０５は、第１窓サイズを調整しているが（図４のＳ１２２）、ステップＳ１２１において最初から第１窓サイズを最小サイズＷｓ０に初期化するとともに、ステップＳ１２２を省略してもよい。
【００８９】
また、上記説明では、基準点決定部１０５は、複数の基準点の候補から優先度が最も高い基準点を選択した後（Ｓ１２５の後）に第１探索窓の面積に対する第１面積の割合を算出している（Ｓ１２６）が、第１窓サイズを調整した段階（Ｓ１２２）で、選択領域と第１窓サイズとの大きさを比較し、第１窓サイズの方が大きければ、ＰＯＣ以外の方式で対応点を計算すると決定してもよい。
【００９０】
（実施の形態２）
本実施の形態では、上述した実施の形態１に係る視差算出装置１００の変形例を説明する。本実施の形態に係る視差算出装置２００は、小領域ごとに、複数の基準点の各々に対応する視差量及び信頼度を求め、最も信頼度が高い視差量を、選択領域に割り当てる。
【００９１】
図６は、本実施の形態に係る視差算出装置２００のブロック図である。なお、図２と同様の構成要素については同じ符号を用い、説明を省略する。また、図７は、視差算出装置２００による視差算出処理のフローチャートである。
【００９２】
図６に示す視差算出装置２００は、図２に示す構成に対して、基準点決定部２０５、対応点検出部２０６、視差割当部２０７及び信頼度判定部２０８の機能が異なる。
【００９３】
図７に示すように、基準点決定部２０５は、選択領域に対して複数の基準点を決定する（Ｓ２０４）。次に、対応点検出部２０６は、複数の基準点の各々に対する視差量及び信頼度を算出する（Ｓ２０５）。
【００９４】
図８は、このステップＳ２０４及びＳ２０５の詳細な処理を示すフローチャートである。なお、ステップＳ１２１〜Ｓ１２４は実施の形態１と同様である。
【００９５】
基準点決定部２０５は、Ｓ１２４で決定された優先度を用いて、複数の基準点の候補から複数を選択する。具体的には、基準点決定部２０５は、優先度に従って、優先度の高い順に複数の基準点の候補を選択する（Ｓ２２１）。次に、対応点検出部２０６は、複数の基準点の候補から一つを選択する（Ｓ２２２）。対応点検出部２０６は、選択された候補に対して、ＰＯＣ、又はＭＢにより対応点を計算し、計算により得られた対応点を用いて視差量及び信頼度を算出する（Ｓ１２６〜Ｓ１３９）。なお、これらの処理は、実施の形態１と同様である。また、この一連の処理が、全ての基準点の候補に対して実行される（Ｓ２２３）。以上の処理により、複数の基準点の候補の各々に対して、視差量と信頼度との複数の組が算出される。
【００９６】
再度、図７を参照して説明を行う。
【００９７】
視差割当部２０７は、対応点検出部２０６で算出された視差量と信頼度との複数の組の中から、信頼度の最も高い組を選択し、選択された視差量及び信頼度を選択領域全体に割り当てる（Ｓ２０６）。
【００９８】
信頼度判定部２０８は、視差割当部２０７が選択領域に割り当てた信頼度を閾値と比較することで、当該信頼度が閾値より高いか否かを判定する（Ｓ１０７）。当該信頼度が閾値より高い場合（Ｓ１０７でＹｅｓ）、信頼度判定部２０８は、選択領域の視差量及び信頼度を割り当てられた値に決定する。
【００９９】
一方、信頼度が閾値より小さい場合（Ｓ１０７でＮｏ）、基準点決定部２０５は、より広い範囲を利用して対応点検出を行うために第１窓サイズを広げ（Ｓ２０８）、再度、複数の基準点の候補の優先度を判定し（Ｓ１２４）、Ｓ２２１以降の処理を行う。
【０１００】
以上より、視差算出装置２００は、対応点検出部２０６で得られた信頼度が低い場合に、より大きい第１窓サイズを用いて基準点決定処理からやり直すことにより、より広い範囲を利用して対応点検出処理を実行できる。これにより、視差算出装置２００は、信頼度を向上できる。
【０１０１】
なお、ここでは、信頼度が低い場合に第１窓サイズが変更される例を述べたが、基準点決定部１０５又は２０５が基準点を決定する段階で、信頼度の高い視差量が求められないと予想される場合には、第１窓サイズを変更して、再度基準点を決定してもよい。たとえば、基準点決定部１０５又は２０５は、第１探索窓の面積に対する第１面積の割合が閾値より小さい場合に、第１窓サイズを変更して、再度基準点を決定する。
【０１０２】
（実施の形態３）
本実施の形態では、上述した実施の形態２に係る視差算出装置２００の変形例を説明する。本実施の形態に係る視差算出装置は、信頼度が低い場合には、複数の視差量を用いて選択領域に割り当てる視差量を算出する。
【０１０３】
図９は、本実施の形態に係る視差算出装置３００のブロック図である。なお、図９において、図６と同様の構成要素については同じ符号を用い、説明を省略する。また、図１０は、視差算出装置３００による視差算出処理のフローチャートである。
【０１０４】
図９に示す視差算出装置３００は、図６に示す構成に対して、視差割当部３０７及び信頼度判定部３０８の機能が異なる。視差割当部３０７は通常の処理においては、対応点検出部２０６で得られた視差量及び信頼度の複数の組の中から優先度の一番高い組を選択し、選択した組に含まれる視差量及び信頼度を選択領域全体に割り当てる。
【０１０５】
また、視差割当部３０７は、図１０に示すように、信頼度が閾値より低い場合（Ｓ１０７でＮｏ）、複数の視差量及び信頼度を用いて、選択領域に割り当てる視差量及び信頼度を算出し、算出された視差量及び信頼度を選択領域に割り当てる（Ｓ３０８）。
【０１０６】
具体的には、視差割当部３０７は、視差量及び信頼度の複数の組の中から信頼度が閾値以上の複数の組を選択し、選択された複数の組に含まれる複数の視差量及び複数の信頼度を用いて選択領域に割り当てる視差量及び信頼度を算出する。より具体的には、視差割当部３０７は、（信頼度×第２面積÷第２探索窓の面積）を重み付け係数として用いて、複数の視差量を線形重み付け加算することで、選択領域に割り当てる視差量を求める。つまり、視差割当部３０７は、選択領域に対して算出された複数の組（視差量及び信頼度）に含まれる複数の視差量を、第２選択窓の面積に対する第２面積の割合と、信頼度とを用いて、複数の視差量を重み付け加算することで、視差量及び信頼度を再度算出する。
【０１０７】
また、視差割当部３０７は、選択された複数の含みに含まれる複数の信頼度の平均値を、選択領域に割り当てる信頼度として算出する。
【０１０８】
信頼度判定部３０８は、視差割当部３０７が割り当てた信頼度を閾値と比較することで、当該信頼度が閾値より高いか否かを判定する（Ｓ１０７）。当該信頼度が閾値より高い場合（Ｓ１０７でＹｅｓ）、信頼度判定部３０８は、選択領域の視差量及び信頼度を割り当てられた値に決定する。一方、信頼度が閾値より小さい場合（Ｓ１０７でＮｏ）、信頼度判定部３０８は、視差割当部３０７に対して、上記の複数の視差量及び信頼度を用いた視差量及び信頼度の算出処理を指示する（Ｓ３０８）。
【０１０９】
以上により、視差算出装置３００は、信頼度が低い場合には、視差量及び信頼度を、複数の視差量及び信頼度を用いて算出する。これにより、視差算出装置３００は、優先度が高くても結果的に信頼度が低かった場合に、優先度は低いが信頼度が高い基準点を用いて視差量を算出できる。これにより、視差算出装置３００は、信頼度の高い視差を得ることができる。
【０１１０】
なお、上記説明では、視差割当部３０７は、（信頼度×第２面積÷第２探索窓の面積）を重み付け係数として用いたが、信頼度のみを重み付け係数として用いてもよい。つまり、視差割当部３０７は、選択領域に対して算出された複数の組（視差量及び信頼度）に含まれる複数の視差量を、信頼度を用いて重み付け加算することで、視差量及び信頼度を再度算出してもよい。
【０１１１】
（実施の形態４）
本実施の形態では、上述した実施の形態３に係る視差算出装置３００の変形例を説明する。本実施の形態に係る視差算出装置は、二次元のＰＯＣの代わりに一次元のＰＯＣを用いる。
【０１１２】
図１１は、本実施の形態に係る視差算出装置４００のブロック図である。なお、図１１において、図９と同様の構成要素については同じ符号を用い、説明を省略する。また、図１２は、視差算出装置３００による対応点検出処理（図１０のステップＳ２０４及びＳ２０５）のフローチャートである。なお、視差算出装置３００による視差算出処理の全体の流れは、図１０と同様である。
【０１１３】
図１１に示す視差算出装置４００は、図９に示す構成に対して、基準点決定部４０５、対応点検出部４０６、視差割当部４０７、及び信頼度判定部４０８の機能が異なる。
【０１１４】
基準点決定部４０５は、基本的には図９に示す基準点決定部２０５と同じ動作をするが、図１２に示すステップＳ１２１で第１窓サイズを初期設定する際に第１窓サイズの縦サイズを１に設定することで、第１探索窓を一次元の窓に設定する点のみが異なる。
【０１１５】
また、対応点検出部４０６は、ステップＳ１２７において、算出された割合が閾値より大きい場合（Ｓ１２７でＹｅｓ）、基準点決定部４０５からの指示に従い、与えられた基準点に対して、フーリエ変換された一次元画像の位相情報を利用する方式（一次元ＰＯＣ）を用いて、ステレオ画像のもう一方の画像上の対応点を計算する（Ｓ４２８）。また、対応点検出部４０６は、基準点と対応点との差分から視差量を計算すると同時に、当該視差量の信頼度を算出する（Ｓ１３０）。例えば、対応点検出部４０６は、一次元ＰＯＣを用いた場合には、位相情報の相関のピークの高さを信頼度として算出する。
【０１１６】
視差割当部４０７は通常の処理においては、対応点検出部４０６で得られた視差量及び信頼度の複数の組の中から優先度の一番高い組を選択し、選択した組に含まれる視差量及び信頼度を選択領域全体に割り当てる。
【０１１７】
また、視差割当部４０７は、図１０に示すように、信頼度が閾値より低い場合（Ｓ１０７でＮｏ）、複数の視差量及び信頼度を用いて、選択領域に割り当てる視差量及び信頼度を算出し、算出された視差量及び信頼度を選択領域に割り当てる。具体的には、視差割当部４０７は、信頼度が最も高い基準点の上下近傍の基準点の視差量及び信頼度を用いて、新たな視差量及び信頼度を算出する。より具体的には、視差割当部４０７は、これらの上下近傍の視差量に対する信頼度を用いた線形重み付け和を算出することで新たな視差量を算出する。また、視差割当部４０７は、上下近傍の信頼度の平均値を、新たな信頼度として算出する。
【０１１８】
信頼度判定部４０８は、視差割当部４０７が割り当てた信頼度を閾値と比較することで、当該信頼度が閾値より高いか否かを判定する（Ｓ１０７）。当該信頼度が閾値より高い場合（Ｓ１０７でＹｅｓ）、信頼度判定部４０８は、選択領域の視差量及び信頼度を割り当てられた値に決定する。一方、信頼度が閾値より小さい場合（Ｓ１０７でＮｏ）、信頼度判定部４０８は、視差割当部４０７に対して、上記の上下近傍の視差量及び信頼度を用いた視差量及び信頼度の算出処理を指示する（Ｓ３０８）。
【０１１９】
以上により、視差算出装置４００は、信頼度が低い場合には、視差量及び信頼度を、基準点の上下近傍点の結果を利用して計算する。これにより、視差算出装置４００は、一次元ＰＯＣを用いる場合において、信頼度の高い視差を得ることができる。
【０１２０】
（実施の形態５）
本実施の形態では、上述した実施の形態２に係る視差算出装置２００の変形例を説明する。本実施の形態に係る視差算出装置は、信頼度が高い基準点が３点以上ある場合には、これら複数の基準点の視差量を用いて、小領域の視差量の分布を算出し、算出した結果を当該小領域に割り当てる。
【０１２１】
図１３は、本実施の形態に係る視差算出装置５００のブロック図である。なお、図１３において、図６と同様の構成要素については同じ符号を用い、説明を省略する。また、図１４は、視差算出装置５００による視差算出処理のフローチャートである。
【０１２２】
図１３に示す視差算出装置５００は、図６に示す構成に対して、視差割当部５０７及び信頼度判定部５０８の機能が異なる。
【０１２３】
視差割当部５０７は、対応点検出部２０６で算出された視差量及び信頼度の複数の組の中で、信頼度が閾値より高い基準点が少なくとも３点存在するかを判定する（Ｓ５０１）。信頼度が閾値より高い基準点が３点以上存在する場合（Ｓ５０１でＹｅｓ）、視差割当部５０７は、画像上のＸ、Ｙ座標及び視差量Ｚから成る視差量の二次元分布を示す三次元平面を計算し、計算結果を選択領域全体に割り当てる（Ｓ５０２）。そして、視差算出装置５００は、次の小領域に対する処理を行う。
【０１２４】
例えば、視差割当部５０７は、視差が滑らかに変化すると仮定し、画像上のＸ、Ｙ座標及び視差量Ｚから成る三次元分布を平面としてモデル化することで、平面の方程式を求める。この視差割当部５０７は、この方程式を用いて、領域全体に視差の分布を割り当てることができる。なお、視差割当部５０７は、三次元分布をスプライン曲面、又はベジェ曲面としてモデル化することで方程式を求め、当該方程式を用いてもよい。
【０１２５】
一方、信頼度が閾値より高い基準点が２点以下の場合（Ｓ５０１でＮｏ）、視差割当部５０７は、信頼度の一番高い組を選択し、選択した視差量及び信頼度を選択領域全体に割り当てる（Ｓ２０６）。
【０１２６】
信頼度判定部５０８は、信頼度が閾値より高い基準点が２点以下の場合には、視差割当部５０７が割り当てた信頼度を閾値と比較することで、当該信頼度が閾値より高いか否かを判定する（Ｓ１０７）。なお、以降の処理は、実施の形態２と同様である。
【０１２７】
以上より、視差算出装置５００は、選択領域内の視差量の二次元分布を計算し、計算結果を選択領域に割り当てる。これにより、視差量が書き割り的にならず、より実際の形状に近い視差分布を実現できる。
【０１２８】
（実施の形態６）
上記実施の形態では、小領域ごとに基準点が決定されていた。本実施の形態に係る視差算出装置は、領域分割前の画像に対して複数の基準点を決定し、決定された複数の基準点に対する視差量及び信頼度の組を複数算出する。そして、当該視差算出装置は、選択領域に含まれる組から、当該選択領域に割り当てる視差量及び信頼度の組を選択する。
【０１２９】
図１５は、本実施の形態に係る視差算出装置６００のブロック図である。なお、図１５において、図２と同様の構成要素については同じ符号を用い、説明を省略する。また、図１６は、視差算出装置６００による視差算出処理のフローチャートである。
【０１３０】
図１５に示す視差算出装置６００は、図６に示す構成に対して、基準点決定部６０５、対応点検出部６０６及び視差割当部６０７の機能が異なる。また、視差算出装置６００は、信頼度判定部２０８を備えない。
【０１３１】
上記実施の形態では、基準点決定部、対応点検出部、及び視差割当部の各部は、小領域毎に連携して処理を行っていたが、本実施の形態においては、基準点の決定を小領域の分割と無関係に画面内に設定する。よって、対応点検出部６０６は基準点毎に順に処理を行う。また、視差割当部６０７は領域毎に順に処理を行う。
【０１３２】
まず、画像入力部１０３は、ステレオ画像を取得する（Ｓ１０１）。画像入力部１０３は、取得したステレオ画像を、領域分割部１０４及び基準点決定部６０５に出力する。
【０１３３】
基準点決定部６０５は、画面内に複数の基準点を設定する（Ｓ６０１）。設定方法はいくつか考えられるが、一例として画面内の縦ｎｙ画素毎、及び横ｎｘ画素毎に基準点を設定する。基準点決定部６０５は、さらに、基準点決定部２０５と同様に第１窓サイズ、及び第２窓サイズの初期設定を必要に応じて行う。
【０１３４】
次に、対応点検出部６０６は、ＰＯＣ、又は、それ以外の別方式（例えば、ＢＭ）を用いて、各基準点に対する対応点を計算する（Ｓ６０２）。なお、この処理の詳細は、上記実施の形態と同様である。結果として各基準点に対して視差量と信頼度との組が割り当てられたテーブルが得られる。
【０１３５】
一方、領域分割部１０４は、上記実施の形態と同様に、ステレオ画像に含まれる一方の画像を小領域に分割する（Ｓ１０２）。分割した結果は、視差割当部６０７に出力される。なお、この処理は、ステップＳ１０１の後であれば、Ｓ６０１又はＳ６０２の前又はこれらと同時に行われてもよい。
【０１３６】
次に、視差割当部６０７は、対応点検出部６０６で算出された視差量及び信頼度を基準点の属する小領域に割り当てる。
【０１３７】
具体的には、まず、視差割当部６０７は、複数の小領域のいずれかを選択領域として選択する（Ｓ６０３）。次に、視差割当部６０７は、選択領域内の基準点のうち最も信頼度が高い基準点を選択する（Ｓ６０４）。次に、視差割当部６０７は、選択された基準点の視差量及び信頼度を、選択領域全体に割り当てる（Ｓ６０５）。また、この一連の処理が各小領域に対して行われる（Ｓ６０６）。
【０１３８】
具体的には、視差割当部６０７は、複数の基準点が一つの小領域に割り当てられている場合は、各小領域に対応付けて割り当てられた複数の基準点を記憶しておく。視差割当部６０７は、全ての基準点を小領域に割り当てる処理が完了した後に、視差量及び信頼度の組が複数割り当てられている小領域を抽出し、当該小領域に割り当てられている組のうち、信頼度の最も高い組を対象の小領域の視差量及び信頼度に決定する。
【０１３９】
また、視差割当部６０７は、選択領域に一つも基準点が割り当てられていない場合は、選択領域に最低の信頼度を設定する。
【０１４０】
以上により、視差算出装置６００は、領域分割処理により、画像を、エッジ形状を含んだ小領域に分割する。また、視差算出装置６００は、画像全体に対して複数の基準点を決定し、各基準点に対する対応点を検出することで視差量を求めると共に信頼度を算出する。そして、視差算出装置６００は、算出された視差量及び信頼度を、基準点を含む小領域に割り当てる。これにより、視差算出装置６００は、複数の基準点の結果を統合することにより信頼度の高い視差を求めることができる。また、視差算出装置６００は、視差補完部１０９により低信頼度の小領域の視差量を、周辺の信頼度の高い小領域の視差量及び信頼度を元に高信頼度の視差量に置き換えることができる。よって、視差算出装置６００は、全体としてエッジ形状を保存した高精度の視差を得ることができる。
【０１４１】
なお、上記説明では、視差割当部６０７は、選択領域に複数の視差量及び信頼度が割り当てられている場合、信頼度が最も高い組を選択領域に割り当てたが、複数の視差量及び信頼度を用いて、割り当てる視差量及び信頼度を算出してもよい。例えば、視差割当部６０７は、信頼度が閾値より高い組を選択し、選択した組に含まれる視差量に対して信頼度を用いた線形重み付け和を算出することで、割り当てる視差量を算出してもよい。また、視差割当部６０７は、選択した組に含まれる信頼度の平均値を、割り当てる信頼度として算出してもよい。なお、視差割当部６０７は、信頼度による重み付け加算でなく、単純に、選択された組に含まれる視差量の平均を、割り当てる視差量として算出してもよい。
【０１４２】
また、上記説明では、基準点決定部６０５は、複数の基準点を等間隔に設定したが、ランダムに複数の基準点を設定してもよい。
【０１４３】
また、視差割当部６０７は、複数の視差量及び信頼度の組の中で、閾値以上の信頼度を持つ基準点が少なくとも３点存在する場合は、画像上のＸ、Ｙ座標及び視差量Ｚから成る視差量の二次元分布を示す三次元平面を計算し、計算結果を選択領域全体に割り当ててもよい。また、視差割当部６０７は、閾値以上の信頼度を持つ基準点が２点以下の場合には、信頼度の一番高い組を選択領域全体に割り当ててもよい。なお、三次元平面の具体的な算出方法は、例えば、実施の形態５と同様である。
【０１４４】
また、上記説明では、対応点検出部６０６は、各基準点に対して視差量及び信頼度の組が割り当てられたテーブルを求めるとしたが、領域分割部１０４が出力した小領域のテーブルに対して、直接複数の視差量及び信頼度を割り当ててもよい。
【０１４５】
（実施の形態７）
本実施の形態では、上記実施の形態６に係る視差算出装置６００の変形例を説明する。本実施の形態に係る視差算出装置は、選択領域に割り当てる視差量の判定に、第１探索窓の面積と第１面積と比率を用いる。
【０１４６】
図１７は、本実施の形態に係る視差算出装置７００のブロック図である。図１７において、図１５と同様の構成要素については同じ符号を用い、説明を省略する。また、図１８は、視差算出装置７００による視差算出処理のフローチャートである。
【０１４７】
図１７に示す視差算出装置７００は、図１５に示す構成に加え、さらに、基準点判定部７０１を備える。基準点判定部７０１は、対応点検出部６０６が処理した基準点に対する信頼度を、領域分割部１０４で生成された領域分割情報を元に修正する。
【０１４８】
基準点判定部７０１は、基準点毎に対応点検出部６０６が割り当てた、視差量及び信頼度のうち、信頼度を修正する。まず、基準点判定部７０１は、基準点毎に、基準点を中心とした第１探索窓（第１周辺領域）を設定する。次に、基準点判定部７０１は、基準点の属する対象の小領域が、第１探索窓の領域内にどの程度含まれかを示す第１面積を計算する。言い換えると、第１面積は、第１探索窓に含まれる選択領域の面積である。次に、基準点判定部７０１は、第１面積と第１探索窓の面積の面積に対する第１面積の割合を算出する（Ｓ７０１）。次に、基準点判定部７０１は、この割合を用いて、信頼度を変更する。具体的に、基準点判定部７０１は、算出した割合が閾値より小さい場合は、対応点検出部６０６が割り当てた信頼度を一定の法則に従って減少させる。つまり、基準点判定部７０１は、第１面積の第１探索窓の面積に対する割合が小さいほど、信頼度を低く修正する。視差割当部６０７は、基準点判定部７０１で修正された信頼度及び視差量を小領域に割り当てる。
【０１４９】
これは、対応点検出部６０６が割り当てた信頼度及び視差量に対し、信頼度が高くても、第１探索窓に、選択領域とは異なる別の領域が多く含まれる場合は、割り当てられた視差量が、別の領域の視差量を反映した結果である可能性がある。よって、このような場合には、対応点検出部６０６が割り当てた信頼度を下げるように基準点判定部７０１が信頼度を修正する。
【０１５０】
これにより、領域境界付近の基準点が選択された場合に、選択領域以外の領域の情報を含む間違った視差量及び信頼度が、視差割当部６０７で選択されることを抑制できる。即ち、別の領域の視差量が、選択領域の視差量として選択されることを抑制できる。
【０１５１】
また、第１探索窓を、最小サイズＷｓ０よりも大きくするとともに、信頼度を下げるか否かを判定するための閾値を高めに調整することで、領域境界付近の基準点が視差割当部６０７で選択されることを、さらに抑制できる。これにより、ＰＯＣの精度が低くなることを抑制できる。
【０１５２】
以上、本発明の実施の形態に係る視差算出装置について説明したが、本発明は、この実施の形態に限定されるものではない。
【０１５３】
また、上記実施の形態に係る視差算出装置に含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１５４】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１５５】
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の視差算出装置などを実現するソフトウェアは、次のようなプログラムである。
【０１５６】
すなわち、このプログラムは、コンピュータに、連続する類似する画素値を含む領域を一つの領域として、第１画像を複数の領域に分割する領域分割ステップと、前記第１画像に複数の基準点を設定する基準点決定ステップと、前記複数の基準点の各々に対して、当該基準点に対応する、第２画像に含まれる対応点を、前記第１画像及び前記第２画像をフーリエ変換した画像の位相情報を用いて算出し、当該基準点及び当該対応点を用いて視差量を算出するとともに、当該視差量の信頼度を算出する対応点検出ステップと、前記対応点検出ステップで算出された前記複数の基準点の各々に対する前記視差量及び前記信頼度を、当該基準点が含まれる領域にそれぞれ割り当てる視差割当ステップとを実行させる。
【０１５７】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
【０１５８】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【０１５９】
また、上記視差算出方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【０１６０】
以上、一つまたは複数の態様に係る視差算出装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１６１】
本発明は、視差算出装置に適用できる。また、本発明は、立体形状の三次元モデル取得等の用途にも応用できる。
【符号の説明】
【０１６２】
１００、２００、３００、４００、５００、６００、７００  視差算出装置
１０１  Ｌカメラ
１０２  Ｒカメラ
１０３  画像入力部
１０４  領域分割部
１０５、２０５、４０５、６０５  基準点決定部
１０６、２０６、４０６、６０６  対応点検出部
１０７、２０７、３０７、４０７、５０７、６０７  視差割当部
１０８、２０８、３０８、４０８、５０８  信頼度判定部
１０９  視差補完部
１２１  選択領域
１２２Ａ、１２２Ｂ、１２２Ｃ、１２２Ｄ、１２２Ｅ  基準点の候補
１２３  第１探索窓
１２４  第２探索窓
７０１  基準点判定部
【図１】
2013242854.tif 000003
【図２】
2013242854.tif 000004
【図３】
2013242854.tif 000005
【図４】
2013242854.tif 000006
【図５】
2013242854.tif 000007
【図６】
2013242854.tif 000008
【図７】
2013242854.tif 000009
【図８】
2013242854.tif 000010
【図９】
2013242854.tif 000011
【図１０】
2013242854.tif 000012
【図１１】
2013242854.tif 000013
【図１２】
2013242854.tif 000014
【図１３】
2013242854.tif 000015
【図１４】
2013242854.tif 000016
【図１５】
2013242854.tif 000017
【図１６】
2013242854.tif 000018
【図１７】
2013242854.tif 000019
【図１８】
2013242854.tif 000020