(57)【要約】  第１画像および第２画像から視差画像を生成する画像処理装置および画像処理方法を提供する。垂直エッジ抽出部は、第１画像から垂直エッジのエッジ検出し、水平分割部は、検出した垂直エッジを境界として、第１画像の水平ラインを複数のセグメントに分割する。視差探索部は、セグメントそれぞれに対して、第２画像上で当該セグメントと類似する領域との視差を計算し、視差画像生成部は、セグメント単位で算出した視差に基づいて、前記視差画像を生成する。
2012137511.tif 000002
【特許請求の範囲】
【請求項１】
第１画像および第２画像から視差画像を生成する画像処理装置であって、
前記第１画像の画素それぞれの垂直エッジのエッジ成分を計算する垂直エッジ抽出部と、
前記垂直エッジのエッジ成分の強度が所定のしきい値を超える画素を境界として、前記第１画像の水平ラインを複数のセグメントに分割する水平分割部と、
前記セグメントそれぞれに対して、第２画像上で当該セグメントと類似する領域との視差を計算する視差計算部と、
セグメント単位で算出した視差に基づいて、前記視差画像を生成する視差画像生成部と
を備えることを特徴とする画像処理装置。
【請求項２】
前記視差計算部は、前記セグメントそれぞれに対して、所定の探索範囲において当該セグメントと最も類似する領域との視差を計算する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記水平分割部は、前記所定のしきい値として第１しきい値を用いて前記分割を実施して前記水平ラインを複数の第１セグメントに分割し、かつ、前記第１しきい値よりも小さい第２しきい値を用いて前記分割を実施して前記水平ラインを複数の第２セグメントに分割し、
前記視差計算部は、前記第１セグメントそれぞれ、および、前記第２セグメントそれぞれに対して、前記探索範囲において当該セグメントと最も類似する領域との視差および類似度を計算し、
前記視差画像生成部は、前記第１セグメントと前記第２セグメントとで重複する領域について、当該第１セグメントに対して算出された類似度と当該第２セグメントに対して算出された類似度とを比較し、類似度が高いセグメントに対して算出された視差を、当該重複する領域の視差とする
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
さらに、前記第１セグメントで計算した視差を用いて第２セグメントに対する前記探索範囲を設定する探索範囲設定部を備える
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
さらに、前記エッジ成分の強度の分布に応じて前記しきい値を設定するしきい値設定部を備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
さらに、水平方向よりも垂直方向の長いノイズ除去フィルタを用いて、前記視差画像を補正する補正部を備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記所定のしきい値を垂直エッジしきい値、前記セグメントを水平セグメントとし、
さらに、前記第１画像の各画素の、水平エッジのエッジ成分を計算する水平エッジ抽出部と、
前記水平方向のエッジ成分の強度が水平エッジしきい値を超える画素を境界として、前記視差画像の垂直ラインを垂直セグメントに分割する垂直分割部と、
前記垂直セグメントごとにノイズ除去を行う垂直処理部と
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
第１画像および第２画像から視差画像を生成する画像処理方法であって、
前記第１画像の画素それぞれの垂直エッジのエッジ成分を計算する垂直エッジ抽出ステップと、
前記垂直エッジのエッジ成分の強度が所定のしきい値を超える画素を境界として、前記第１画像の水平ラインを複数のセグメントに分割する水平分割ステップと、
前記セグメントそれぞれに対して、第２画像上で当該セグメントと類似する領域との視差を計算する視差計算ステップと、
セグメント単位で算出した視差に基づいて、前記視差画像を生成する視差画像生成ステップと
を含むことを特徴とする画像処理方法。
【請求項９】
コンピュータ読み取り可能な非一時的な記録媒体に記録され、第１画像および第２画像から視差画像を生成する視差画像生成処理を実行するプログラムであって、
前記視差画像生成処理は、
前記第１画像の画素それぞれの垂直エッジのエッジ成分を計算する垂直エッジ抽出ステップと、
前記垂直エッジのエッジ成分の強度が所定のしきい値を超える画素を境界として、前記第１画像の水平ラインを複数のセグメントに分割する水平分割ステップと、
前記セグメントそれぞれに対して、第２画像上で当該セグメントと類似する領域との視差を計算する視差計算ステップと、
セグメント単位で算出した視差に基づいて、前記視差画像を生成する視差画像生成ステップと
を含むことを特徴とするプログラム。
【請求項１０】
第１画像および第２画像から視差画像を生成する画像処理装置に用いられる集積回路であって、
前記第１画像の画素それぞれの垂直エッジのエッジ成分を計算する垂直エッジ抽出部と、
前記垂直エッジのエッジ成分の強度が所定のしきい値を超える画素を境界として、前記第１画像の水平ラインを複数のセグメントに分割する水平分割部と、
前記セグメントそれぞれに対して、第２画像上で当該セグメントと類似する領域との視差を計算する視差計算部と、
セグメント単位で算出した視差に基づいて、前記視差画像を生成する視差画像生成部と
を備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体視に関する技術であって、特に、ステレオ画像などの画像対から視差画像を生成する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
従来から、ステレオ画像などの対象物を異なる位置から撮影した画像対から視差情報を抽出し、抽出した視差情報を用いて対象物の３次元情報を復元する技術が提案されている。そして、画像対から視差情報を抽出する処理において、ブロックマッチングと呼ばれる手法がよく適用されている。【０００３】
ブロックマッチングは、画像対のうちの一方の画像の注目画素と周辺画素とからなる注目ブロックについて、他方の画像から画素値が類似する対応ブロックを検出し、注目ブロックと対応ブロックとの間の視差を注目画素の視差として計算する手法である。ここで、画素値は、グレースケール画像における輝度値、カラー画像における輝度・色差値や、ＲＧＢ値などの表色系に基づいた画素の値を示す。【０００４】
ところで、ステレオ画像には、一方では手前の対象物に隠れているが、他方では出現している領域など、画像対で画素値が大きく異なる領域が存在する可能性がある。ブロックマッチングは、画素値の類似性を利用して対応ブロックを検出する処理であるため、画像対で画素値が大きく異なる領域が注目ブロック内に含まれると、対応ブロックを検出することが困難となる。【０００５】
この問題を解決するための技術が特許文献１で提案されている。特許文献１では、画像からエッジを抽出し、抽出したエッジに沿って注目ブロックを分割することにより、注目ブロック内から画素値が大きく変化する領域を取り除いている。画像対で画素値が大きく異なる領域では、同一画像内でも他の領域と画素値が大きく異なっていることが多いため、ブロック内から画素値が大きく異なっている領域を取り除くことで、画像対で画素値が大きく異なる領域がブロック内から取り除かれる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０８−２９１２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
エッジによるブロック分割を行うマッチング処理について、視差算出の精度や処理量などの性能において、さらなる改善を図ることが求められている。【０００８】
そこで、本発明は、エッジによるブロック分割を行うマッチング処理において、視差算出の精度や処理量を改善した画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記従来の課題を解決するために、本発明の画像処理装置は第１画像および第２画像から視差画像を生成する画像処理装置であって、前記第１画像の画素それぞれの垂直エッジのエッジ成分を計算する垂直エッジ抽出部と、前記垂直エッジのエッジ成分の強度が所定のしきい値を超える画素を境界として、前記第１画像の水平ラインを複数のセグメントに分割する水平分割部と、前記セグメントそれぞれに対して、第２画像上で当該セグメントと類似する領域との視差を計算する視差計算部と、セグメント単位で算出した視差に基づいて、前記視差画像を生成する視差画像生成部を備えることを特徴とする。
【発明の効果】
【００１０】
本発明の画像処理装置によれば、エッジによるセグメント分割を行うマッチング処理において、精度よく視差を計算でき、かつ、処理量の増大を抑制できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１に係る画像処理装置の機能構成例を示した図
【図２】本発明の実施の形態１において前処理部により前処理の施されたステレオ画像の例を示す図
【図３】本発明の実施の形態１に係る垂直エッジを抽出するＳｏｂｅｌフィルタおよび抽出された垂直エッジの例を示す図
【図４】本発明の実施の形態１に係る水平ラインの水平セグメントへの分割および水平セグメントの階層化を説明する図
【図５】本発明の実施の形態１に係る探索範囲内で視差量を変化させて計算したＳＡＤを示すグラフ
【図６】本発明の実施の形態１に係る視差画像生成部の内部構成を示した図
【図７】本発明の実施の形態１に係る視差画像の一例
【図８】本発明の実施の形態１に係る画像処理装置の動作を示すフローチャート
【図９】本発明の実施の形態２に係る画像処理装置の機能構成例を示した図
【図１０】本発明の実施の形態２に係る画像処理装置の行う垂直補正処理を示すフローチャート
【図１１】本発明に用いることのできる垂直エッジを抽出するフィルタの例を示した図
【発明を実施するための形態】
【００１２】
（発明の基礎となった知見）
本発明者らが、エッジに沿ってブロックを分割するマッチング処理について鋭意研究したところ、以下に示す課題を知見した。
【００１３】
＜ブロック形状と処理量について＞
画像によりエッジの形状は様々であり、ブロックをエッジに沿って分割すると、ブロックの形状が複雑化する。マッチング処理において、ブロック同士の類似性を計算するために、ブロック内に所属する画素の画素値を取得する必要があるが、ブロックの形状が複雑化することにより、ブロック内に所属する画素の画素値を取得する処理が煩雑化する。
【００１４】
具体的に説明すると、分割する前は、範囲指定により一括してブロック内の画素の画素値を取得できていたものが、分割により複雑化したブロックでは、ブロック内に所属する画素とそうでない画素とを区別して取得する必要がある。すなわち、ブロックが複雑化することにより、ブロック内に所属する画素とそうでない画素を区別する処理が新たに発生する。
【００１５】
このブロック内に所属する画素とそうでない画素を区別する処理が、ブロックマッチング全体の処理量を増大させる一因になっている。
【００１６】
＜エッジ分割によるマッチングの冗長化＞
エッジは、画像に写る対象物の輪郭である。従って、エッジに沿って注目ブロックを分割した場合、注目ブロックに所属する画素は、同一の対象物を描画している画素である可能性が高い。
【００１７】
ところで、画像に写る対象物は、同一の対象物内で奥行に差が出にくいという特徴がある。その結果、同一の対象物を描画している画素からは、ほぼ同一の視差が計算される。
【００１８】
従って、画像上の全画素に対して、別々にブロックマッチングを行う構成は、結果の変わらない処理を行う冗長な構成となる可能性がある。
【００１９】
＜エッジ強度しきい値について＞
エッジ検出処理では、通常、画像内の各画素の輝度勾配を計算し、その絶対値をエッジ強度として用いる。エッジ強度について、例えば、オブジェクトの輪郭などは、エッジ強度の強い強エッジとして計算され、オブジェクト表面の凹凸や模様などは、エッジ強度の弱い弱エッジとして計算される傾向にある。
【００２０】
エッジを用いたブロックの分割において、ブロックの分割に用いるエッジと分割に用いないエッジと区別するために、エッジ強度のしきい値が設定される。エッジ強度のしきい値について、必要なエッジ（例えば、画像対で画素値が大きく異なる領域とそうでない領域との境界にあるエッジ）を検出できるようにしきい値を設定する必要がある。
【００２１】
しかしながら、画像によって、計算されるエッジ強度の分布は様々であり、画像内でもエッジ強度の分布に偏りがある可能性がある。そのような分布内で、必要なエッジがどのあたりに存在するかを知ることは事前に知ることは困難である。その結果、エッジ強度のしきい値として適切な値を設定することが困難になっている。
【００２２】
また、ブロックマッチングにおいて、マッチング精度は、ブロックサイズに影響を受ける。例えば、ブロックサイズが小さいと、細やかな高解像の視差を計算できるが、ノイズの影響や画素値の類似する他の領域との区別の困難性により視差エラーが多くなる。逆に、ブロックサイズが大きいと、視差エラーは抑制できるが、小さい領域の対応関係を正確に求めることが困難になる。
【００２３】
エッジによってブロックを分割する場合、分割後のブロックサイズは、分割するエッジを識別するために用いるエッジ強度のしきい値に影響を受ける。すなわち、分割に用いるエッジを識別するしきい値として高い値を用いると、強エッジのみによって分割されるので、ブロックサイズは比較的大きくなり、しきい値として低い値を用いると、弱エッジによっても分割されるので、ブロックサイズは比較的小さくなる。
【００２４】
この理由により、マッチング精度にも影響を与えることになるため、エッジ強度のしきい値に適切な値を設定することがさらに困難になっている。
【００２５】
本発明者らは、上述の知見を基礎として、以下に示す発明を想到するに至ったものである。以下、本発明の実施の形態について、図面を参照しながら説明する。
（１．実施の形態１）
＜１−１．構成＞
まず、本実施の形態に係る画像処理装置の構成について説明する。図１は、本実施の形態に係る画像処理装置１００の機能構成図である。図１に示すように、画像処理装置１００は、カメラ１１０、カメラ１１１、前処理部１２０、前処理部１２１、垂直エッジ抽出部１３０、水平分割部１４０、視差計算部１５０、視差画像生成部１６０、および、視差補正部１７０を備える。
【００２６】
カメラ１１０およびカメラ１１１は、対象物を異なる位置から同時に撮影することにより、一対のステレオ画像を生成するステレオカメラである。
【００２７】
前処理部１２０および前処理部１２１は、カメラ１１０およびカメラ１１１の生成したステレオ画像に対して、歪み補正、ステレオ平行化（エピポーラ幾何におけるエピポーラ線の平行化）などの前処理を行う。図２に、前処理部１２０および１２１によって前処理の施されたステレオ画像を示す。図２において、画像２００は、カメラ１１０によって撮影され、前処理部１２０によって前処理の施された画像を示し、画像２０１は、カメラ１１１によって撮影され、前処理部１２１によって前処理の施された画像を示す。
【００２８】
図１の垂直エッジ抽出部１３０は、前処理部１２１により前処理が施された画像２０１から垂直エッジを抽出する。具体的には、垂直エッジ抽出部１３０は、画像２０１に対して、水平方向のＳｏｂｅｌフィルタを適用させて、画素ごとに水平方向の輝度勾配を求め、その絶対値を垂直エッジ強度として計算する。
【００２９】
図３のフィルタ３００は、水平方向のＳｏｂｅｌフィルタを模式的に示している。Ｓｏｂｅｌフィルタは、注目画素を中心とした９つの画素の画素値に対して、図に示す係数を乗算し、乗算結果の総和を計算するフィルタである。
【００３０】
フィルタ処理によって抽出されるエッジは、複数の画素にわたる幅を持つことがある。そこで、垂直エッジ抽出部１３０は、計算した垂直エッジ強度について、水平方向のピーク位置（隣接画素よりも垂直エッジ強度が強い画素の位置）を検出し、ピーク位置の垂直エッジ強度のみ残し、その他の垂直エッジ強度を０とする細線化処理を行う。
【００３１】
図３の画像３０１は、画像２０１から、垂直エッジを抽出し、細線化を行った例を示している。なお、図は、画像２０１のすべての画素の垂直エッジが抽出された様子を示しているが、これは説明のために示したものであり、本実施の形態において、垂直エッジ抽出部１３０は、画像２０１の水平ライン単位で垂直エッジの抽出処理を行う。
【００３２】
図１の水平分割部１４０は、前処理部１２１により前処理が施された画像２０１の水平ラインを、垂直エッジ抽出部１３０で算出した垂直エッジ強度を用いて分割する。具体的には、水平分割部１４０は、垂直エッジ強度が所定のしきい値を超える画素を境界として、水平ラインを複数の水平セグメントに分割する。さらに、水平分割部１４０は、複数のしきい値を用いて上述した水平ラインの分割を行うことにより、水平セグメントを階層化する。
【００３３】
図４を用いて、水平分割部１４０の行う、水平ラインの水平セグメントへの分割および水平セグメントの階層化について、詳細に説明する。
【００３４】
図４（ａ）は、画像２０１の処理対象となる水平ラインについて、垂直エッジ抽出部１３０により細線化を行った後の垂直エッジ強度をグラフ化したものである。横軸は、画像２０１のＸ座標を示し、縦軸は計算された垂直エッジ強度を示す。図に示すように、細線化処理により、垂直エッジ強度のうち極値以外の値は０に補正され、エッジの位置が明確になっている。なお、しきいちＴｈ１、Ｔｈ２、および、Ｔｈ３は、分割に用いる複数のしきい値である。
【００３５】
図４（ｂ）は、複数のしきい値を用いて、画像２０１の処理対象の水平ラインを分割する処理を模式的に示した図である。図の例では、しきい値Ｔｈ１を用いて分割を行うと、処理対象の水平ラインは、ｓｅｇ１−１、ｓｅｇ１−２およびｓｅｇ１−３の３つの水平セグメントに分割される。また、しきい値Ｔｈ２を用いて分割を行うと、処理対象の水平ラインは、ｓｅｇ２−１、ｓｅｇ２−２、ｓｅｇ２−３、ｓｅｇ２−４、ｓｅｇ２−５およびｓｅｇ２−６の６つの水平セグメントに分割される。さらに、しきい値Ｔｈ３を用いて分割を行うと、処理対象の水平ラインは、ｓｅｇ３−１からｓｅｇ３−９の９つの水平セグメントに分割される。なお、本実施の形態では、分割する境界となる画素について、前後のセグメントのうちどちらか一方のセグメントに固定的に所属させる。
【００３６】
しきい値Ｔｈ１よりも小さいしきい値Ｔｈ２を超えるエッジは、しきい値Ｔｈ１を超えるエッジを含んでいるため、しきい値Ｔｈ２による分割結果の水平セグメントは、しきい値Ｔｈ１による分割結果の水平セグメントをさらに分割したセグメントとなる。例えば、しきい値Ｔｈ２を用いて分割して得たｓｅｇ２−２およびｓｅｇ２−３は、しきい値Ｔｈ１を用いて分割して得たｓｅｇ１−２をさらに分割した水平セグメントとなる。しきい値Ｔｈ２としきい値Ｔｈ３とを用いて分割された結果の水平セグメントの関係もまた同様である。
【００３７】
このように、複数のしきい値を用いて分割した場合、分割結果の水平セグメントは、階層構造を有するようになる。従って、本明細書では、複数のしきい値を用いて水平ラインを水平セグメントに分割することを、水平セグメントの階層化と呼ぶ。なお、より値の大きいしきい値を用いて分割して得た水平セグメントをより上位階層の水平セグメントとし、より値の小さいしきい値を用いて分割して得た水平セグメントをより下位階層の水平セグメントとする。
【００３８】
水平分割部１４０は、分割結果の水平セグメントそれぞれについて、セグメントの位置（Ｘ座標およびＹ座標）、セグメントサイズ、および、セグメントに所属する画素それぞれの画素値を対応付けたセグメントデータを生成し、視差探索部１５０へ出力する。
【００３９】
図１の視差探索部１５０は、水平分割部１４０から入力されるセグメントデータそれぞれに対して、前処理部１２０から入力される画像２００上で類似する領域を検出し、検出した領域との間の視差および類似度を計算する。
【００４０】
本実施の形態において、類似する領域の検出には、ブロックマッチングでよく用いられる差分絶対和（ＳＡＤ：Sum of Absolute Difference）を用いる。ＳＡＤは、２つの集まりの類似性を示す指標であり、２つの集まりは、ＳＡＤの値が小さいほど類似していると言える。
【００４１】
水平分割部１４０から入力される水平セグメントをセグメントｉ（Ｘ座標：ｘi，Ｙ座標：ｙi，セグメントサイズ：Ｎ）とすると、セグメントｉと、画像２００上の視差量ｄに対応する領域とのＳＡＤは、以下の式（１）で与えることができる。
【００４２】
【数１】
2012137511.tif 000003
上記式（１）において、ＩL（ｘ，ｙ）は、画像２０１の座標（ｘ，ｙ）における画素値を示し、ＩR（ｘ，ｙ）は、画像２００の座標（ｘ，ｙ）における画素値を示す。
【００４３】
視差探索部１５０は、あらかじめ定められた探索範囲で視差量ｄを変化させ、最小のＳＡＤを与える視差量ｄを検出し、検出した視差量ｄをセグメントｉの視差Ｄiとする。
【００４４】
図５は、探索範囲内で視差量ｄを変化させて計算したＳＡＤを示すグラフの一例である。図５において、Ｒiは、探索範囲内におけるＳＡＤの最小値であり、以下の式（２）で与えられる。
【００４５】
【数２】
2012137511.tif 000004
Ｒiは、上述したように類似性の指標となる値であるが、セグメントサイズに依存した値であり、サイズの違うセグメント同士で単純に比較をすることができない。サイズの違うセグメント同士で比較を行うためには、ＲiをセグメントサイズＮで正規化した値で比較する必要がある。
【００４６】
そこで、視差探索部１５０は、セグメントｉと検出した領域との間の類似度Ｓiを、以下の式（３）を用いて計算する。
【００４７】
【数３】
2012137511.tif 000005
なお、上記式（３）では、セグメントｉと検出された領域との間の類似性が高いほど、類似度Ｓiが大きな値を示すように、ＲiをセグメントサイズＮで正規化した値の逆数を類似度Ｓiとしている。
【００４８】
視差探索部１５０は、セグメントの視差および類似度を計算すると、セグメントの位置、セグメントサイズ、視差、および類似度を対応付けた視差データを生成し、視差画像生成部１６０へ出力する。
【００４９】
図６は、図１の視差画像生成部１６０の内部構成を示した図である。図６に示すように、視差画像生成部１６０は、内部に階層間比較部１６１、視差・類似度格納部１６２および視差画像構築部１６３を備える。
【００５０】
階層間比較部１６１は、視差探索部１５０から入力される視差データが、上位階層のない最上位の水平セグメントのものである場合は、視差データを更新せずに、そのまま視差・類似度格納部１６２および視差画像構築部１６３に出力する。
【００５１】
階層間比較部１６１は、視差探索部１５０から入力される視差データが、最上位の水平セグメントのものでない場合は、以下に示す階層間比較処理を実施し、処理結果の視差データを視差・類似度格納部１６２および視差画像構築部１６３に出力する。このとき、視差探索部１５０から入力される視差データの示す水平セグメント（処理セグメント）の１つ上位階層の水平セグメントであって、視差探索部１５０から入力される水平セグメントと重複する領域を持つ水平セグメント（親セグメント）の視差データが、既に視差・類似度格納部１６２に記憶されている。
【００５２】
階層間比較処理を開始すると、階層間比較部１６１は、視差・類似度格納部１６２から親セグメントの視差データを取得し、親セグメントの類似度と、処理セグメントの類似度を比較する。親セグメントの類似度が、処理セグメントの類似度よりも大きい場合、階層間比較部１６１は、処理セグメントの視差データの視差および類似度を、親セグメントの視差データの視差および類似度に更新し、更新した視差データを視差・類似度格納部１６２および視差画像構築部１６３に出力する。親セグメントの類似度が、処理セグメントの類似度以下の場合、階層間比較部１６１は、処理セグメントの視差データをそのまま視差・類似度格納部１６２および視差画像構築部１６３に出力する。以上が、階層間比較部１６１の行う階層間比較処理である。
【００５３】
視差・類似度格納部１６２は、階層間比較部１６１から入力される視差データを一時的に記憶する一時記憶領域である。
【００５４】
視差画像構築部１６３は、階層間比較部１６２から入力される視差データに従って、視差画像を構築する。具体的には、視差画像構築部１６３は、画像全画素の視差を格納する記憶領域（図示せず）に対して、視差データの示す位置およびセグメントサイズに対応する画素それぞれの視差を、視差データの示す視差に更新していくことによって１つの視差画像を構築していく。
【００５５】
図１の視差画像補正部１７０は、視差画像生成部１６０で生成された視差画像について、水平方向よりも垂直方向に長いノイズ除去フィルタによるノイズ除去処理を行って、ノイズ除去された視差画像を生成する。なお、本実施の形態では、ノイズ除去フィルタとして、メディアンフィルタを用いる。
【００５６】
図７は、色の薄い領域ほど視差の大きい領域を示す視差画像の一例である。視差画像生成部１６０で生成される視差画像において、視差エラーは、図７の符号７０１、７０２および７０３に示すように、水平方向に長い水平セグメント単位で発生する。垂直方向よりも水平方向に長い視差エラーは、水平方向よりも垂直方向に長いノイズ除去フィルタを用いることで、フィルタに含まれる正常な画素（視差エラーではない画素）の割合が高まり、効果的に視差エラーを除去することが可能である。
【００５７】
前処理部１２０、前処理部１２１、垂直エッジ１３０、水平分割部１４０、視差探索部１５０、視差画像構成部１６０および視差画像補正部１７０の各機能ブロックは、画像処理装置１００を構成する図示しないＣＰＵが、画像処理装置１００を構成する図示しないメモリに記憶されているプログラムを実行することで実現される。かかる構成により、本実施の形態に係る画像処理装置１００は、カメラ１１０および１１１で撮影した画像２００および画像２０１から視差画像を生成する。
＜１−２．動作＞
次に、本実施の形態に係る画像処理装置１００の動作について説明する。
【００５８】
図８は、画像処理装置１００の動作を示すフローチャートである。図８に示すように、画像処理装置１００は処理を開始すると、まず、カメラ１１０および１１１が、画像２００および画像２０１を取得し、前処理部１２０および１２１が、画像２００および画像２０１に対して前処理を施す（Ｓ８０１）。
【００５９】
次に、画像処理装置１００は、処理対象となる水平ラインを決定し、処理対象のラインに対してステップＳ８０３〜Ｓ８１０の処理を実行する。画像処理装置１００は、すべての水平ラインに対して処理を実行するまでループ処理を行う（Ｓ８０２）。
【００６０】
垂直エッジ抽出部１３０は、画像２０１の処理対象の水平ラインおよび前後１つずつの計３つの水平ラインの画素値を取得し、処理対象の水平ラインの各画素について、垂直エッジ強度を計算する（Ｓ８０３）。
【００６１】
画像処理装置１００は、あらかじめ定められている複数のエッジ強度のしきい値について、しきい値の大きい順にしきい値を１つ選択し、ステップＳ８０５〜Ｓ８０９の処理を実行する。画像処理装置１００は、すべてのしきい値に対して処理を実行するまでループ処理を行う（Ｓ８０４）。
【００６２】
水平分割部１４０は、垂直エッジ抽出部で計算された処理対象の水平ラインの各画素の垂直エッジ強度およびＳ８０４で選択されたしきい値を用いて、画像２０１の水平ラインを複数のセグメントに分割し、セグメントデータを生成する（Ｓ８０５）。
【００６３】
視差探索部１５０は、水平分割部１４０の生成した複数のセグメントデータそれぞれに対して視差および類似度を計算し、視差データを生成する（Ｓ８０６）。
【００６４】
階層間比較部１６２は、視差探索部１５０で生成した視差データおよび視差・類似度格納部１６１で記憶してある視差データを用いて階層間比較処理を実行する（Ｓ８０７）。
【００６５】
視差画像構築部１６３は、階層間比較部１６２から入力される視差データに基づいて視差画像を生成する（Ｓ８０８）。
【００６６】
画像処理装置１００は、すべてのエッジ強度のしきい値に対して、ステップＳ８０５〜Ｓ８０８の処理を実行したか否かを判定し、実行していなければステップＳ８０４に戻り、実行していればステップＳ８１０に進む（Ｓ８０９）。
【００６７】
画像処理装置１００は、すべての水平ラインに対して、ステップＳ８０３〜Ｓ８０９の処理を実行したか否かを判定し、実行していなければステップＳ８０２に戻り、実行していればステップＳ８１１に進む（Ｓ８１０）。
【００６８】
視差画像補正部１７０は、視差画像構築部１６３の生成した視差画像についてノイズ除去処理を行いノイズの除去された視差画像を生成する。
【００６９】
上記処理ステップＳ８０１〜Ｓ８１１の処理を実行して、画像処理装置１００は、視差画像を生成する。
＜１−３．まとめ＞
本実施の形態に係る画像処理装置１００は、水平ラインを分割した水平セグメントをブロックとして、ブロックマッチングを行っている。水平セグメントは、画像における位置およびサイズを指定するだけで一括してブロックに所属する画素の画素値を取得できる。すなわち、画像処理装置１００は、ライン単位で処理を行うことで、ブロックの形状が複雑化することを防止している。
【００７０】
また、画像処理装置１００は、水平セグメント単位で計算した視差に基づいて、視差画像の生成を行っている。同一の対象物は、同一の奥行を持つということを仮定しているが、この構成によると、画像処理装置１００は、冗長な処理を排除して、少ない演算量で画像の視差を計算することができる。
【００７１】
さらに、画像処理装置１００は、複数のしきい値を用いて、階層化された水平セグメントでブロックマッチングを行っている。この構成によると、画像処理装置１００は、複数のしきい値を用いることで、より多くの画像で、適切なエッジを検出することが可能になり、その結果、適切なエッジを用いて分割されたセグメントでマッチング処理を行うことが可能となる。
【００７２】
また、画像処理装置１００は、階層化された水平セグメントを、上位階層から下位階層へ、順にブロックマッチングを行い、信頼度を伝播させながら、徐々にブロックサイズを縮小している。この構成によると、画像処理装置１００は、ブロックサイズに起因する視差エラーの発生を抑制しつつ、高解像の視差画像を生成することが可能である。
【００７３】
さらに、エピポーラ線の平行化のされたステレオ画像は、垂直方向の視差はないという特徴がある。従って、画像処理装置１００は、ライン処理を行うことにより、垂直方向に関して、視差エラーを発生させることなく高解像の視差画像を生成することが可能である。
（２．実施の形態２）
実施の形態１でも説明したが、視差画像生成部１６０で生成される視差画像において、視差エラーは、図７に示すように、水平セグメント単位で発生する。実施の形態２では、水平セグメント単位で発生する視差エラーを、より効果的に除去できる構成を備えた画像処理装置９００について説明する。
＜２−１．構成＞
図９は、本実施の形態に係る画像処理装置９００の機能構成図である。図９に示すように、画像処理装置９００は、画像処理装置１００と比較して、視差画像生成部１７０の代わりに水平エッジ抽出部１７１、垂直分割部１７２および垂直処理部１７３を備える。
【００７４】
水平エッジ抽出部１７１は、垂直エッジ抽出部１３０の行う処理に関して水平方向と垂直方向を入れ替えた処理を行う。具体的には、水平エッジ抽出部１７１は、画像２０１に対して、垂直方向のＳｏｂｅｌフィルタを適用させて、画素ごとに垂直方向の輝度勾配を求め、その絶対値を水平エッジ強度として計算する。
【００７５】
水平エッジ抽出部１７１は、垂直エッジ抽出部１３０と同様に、計算した垂直エッジ強度について、垂直方向のピーク位置を検出し、ピーク位置の水平エッジ強度のみ残し、その他の水平エッジ強度を０とする細線化処理を行う。
【００７６】
垂直分割部１７２は、視差画像生成部１６０により生成された視差画像の垂直ラインを、水平エッジ抽出部１７１で算出した水平エッジ強度を用いて分割する。具体的には、垂直分割部１７２は、水平エッジ強度が所定のしきい値を超える画素を境界として、垂直ラインを複数の垂直セグメントに分割する。水平分割部１４０と違い、垂直分割部１７２は、１つのしきい値を用いて分割を行う。
【００７７】
垂直分割部１７２は、分割結果の垂直セグメントそれぞれについて、セグメントの位置（Ｘ座標およびＹ座標）、セグメントサイズ、および、セグメントに所属する画素それぞれの視差を対応付けた垂直セグメントデータを生成し、垂直処理部１７３へ出力する。
【００７８】
垂直処理部１７３は、垂直分割部１７２から入力される垂直セグメントデータに従って、視差画像を補正する。具体的には、まず、垂直処理部１７３は、入力される垂直セグメントデータごとに、各セグメントに所属する画素の視差の中央値を計算する。次に、垂直処理部１７３は、画像全画素の視差を格納する記憶領域に対して、垂直セグメントデータの示す位置およびセグメントサイズに対応する画素それぞれの視差を、算出した中央値に更新していくことによって、視差画像を補正する。
【００７９】
かかる構成により、本実施の形態に係る画像処理装置９００は、カメラ１１０および１１１で撮影した画像２００および画像２０１から視差画像を生成する。
＜２−２．動作＞
次に、画像処理装置９００の動作について説明する。画像処理装置９００は、画像処理装置１００と比較して、視差画像補正部１７０の行うステップＳ８１１の処理の代わりに、図１０にフローチャートを示す垂直補正処理を行う。
【００８０】
画像処理装置９００は、垂直補正処理を開始すると、処理対象となる垂直ラインを決定し、処理対象のラインに対してステップＳ１００２〜Ｓ１００５の処理を実行する。画像処理装置９００は、すべての垂直ラインに対して処理を実行するまでループ処理を行う（Ｓ１００１）。
【００８１】
水平エッジ抽出部１７１は、画像２０１の処理対象の垂直ラインおよび前後１つずつの計３つの垂直ラインの画素値を取得し、処理対象の垂直ラインの各画素について、水平エッジ強度を計算する（Ｓ１００２）。
【００８２】
垂直分割部１７２は、水平エッジ抽出部で計算された処理対象の垂直ラインの各画素の水平エッジ強度およびあらかじめ定められたしきい値を用いて、視差画像生成部１６０の生成した視差画像の処理対象の垂直ラインを複数のセグメントに分割し、垂直セグメントデータを生成する（Ｓ１００３）。
【００８３】
垂直処理部１７３は、垂直分割部１７２から入力される垂直セグメントデータに基づいて視差画像を補正する（Ｓ１００４）。
【００８４】
画像処理装置９００は、すべての垂直ラインに対して、ステップＳ１００２〜Ｓ１００４の処理を実行したか否かを判定し、実行していなければステップＳ１００１に戻り、実行していれば垂直補正処理を終了する（Ｓ１００５）。
＜２−３．まとめ＞
実施の形態２に係る画像処理装置９００によれば、水平エッジによって分割された垂直セグメント単位で、視差画像の補正を行っている。上述したように、エッジによって分割されたセグメント内の画素は、同一の対象物を描画している画素である可能性が高い。そして、同一の対象物は、同一の奥行を持つという仮定によると、垂直セグメント内の画素の視差は、視差エラーが混入していなければ、ほぼ同じ値を持っているはずである。視差エラーは、特異的に発生することを考えると、垂直セグメント内の画素の中央値は、対象物の視差を示していることになる。従って、画像処理装置９００によって、効率的に視差エラーを除去することが可能である。
（３．補足）
以上、本発明に係る画像処理装置の実施の形態を説明したが、例示した画像処理装置を以下のように変形することも可能であり、本発明は、上述の実施形態で示した画像処理装置に限られるものではない。以下、本発明の思想に含まれる各種変形例について説明する。
【００８５】
（３−１）上述の実施形態において、水平分割部１３０および垂直分割部１７２で用いられるしきい値は、あらかじめ定められている値を用いるとしたが、これに限られるものではない。例えば、計算された垂直エッジ強度や水平エッジ強度に応じて、画像処理装置のユーザが入力した値を用いてもよい。また、画像処理装置１００または画像処理装置９００は、新たな構成要素として、垂直エッジ抽出部１３０で計算した垂直エッジ強度の分布から、特定の割合の数の垂直エッジ強度を識別するしきい値を計算するしきい値設定部を備えてもよい。例えば、ある水平ラインに対して、細線化されたエッジが１０個検出され、３割のエッジを識別するのであれば、エッジ強度の順番で、上から３つ目のエッジ強度と４つ目のエッジ強度の間の値をエッジ強度として設定すればよい。
【００８６】
（３−２）上述の実施形態において、視差探索部１５０が水平セグメントの視差計算に用いる探索範囲は、あらかじめ定められたものとしているが、これに限られるものではない。
【００８７】
マッチング処理において、画像２００の同一水平ライン上のすべての領域に対して類似度計算を行うと、膨大な演算量が必要となるため、通常、探索範囲を設定する。しかしながら、別の実施の形態では、ハードウェアの処理能力に応じて、探索範囲を設定せずに画像２００の同一水平ライン上のすべての領域に対して類似度計算を行ってもよい。
【００８８】
また、探索範囲は、通常、視差量０を基準視差量として、視差の生じる方向（交差視差と平行視差とでは方向が異なる）に所定範囲を探索範囲として用いる。しかしながら、別の実施の形態では、新たな構成要素として、例えば、上位階層で算出した視差を基準視差量として、基準視差量を中心に所定範囲を探索範囲として設定する探索範囲設定部を備えてもよい。
【００８９】
（３−３）上述の実施の形態において、垂直エッジ抽出部１３０は、垂直エッジを抽出するフィルタとして、水平方向のＳｏｂｅｌフィルタを用いるとしたが、これに限られるものではない。垂直エッジを抽出するフィルタは、水平方向の輝度勾配を計算できればよく、例えば、図１１の符号１１０１、１１０２、１１０３および１１０４に示されるようなフィルタを用いてもよい。特に、フィルタ１１０２、１１０３および１１０４を用いると、処理対象の水平ラインの画素値のみで、輝度勾配を計算できる。
【００９０】
（３−４）上述の実施形態において、ブロックマッチングにおける類似性の計算にＳＡＤを用いるとしたが、これに限られるものではない。ブロックマッチングにおいて、例えば、差分二乗和（ＳＳＤ：Sum of Squared Difference）や正規化相互相関値（ＮＣＣ：Normalized Cross Correlation）などが類似性の計算によく用いられるが、別の実施の形態ではこれらを用いてもよい。
【００９１】
ＳＳＤは、例えば、以下に示す式（４）で与えられる。
【００９２】
【数４】
2012137511.tif 000006
また、ＮＣＣは、例えば、以下に示す式（５）で与えられる。
【００９３】
【数５】
2012137511.tif 000007
なお、ＮＣＣは、値が大きいほど類似性が高く、さらに、セグメントサイズに依存しない値なので類似度Ｓiとして用いることができる。
【００９４】
（３−５）上述の実施の形態において、ノイズ除去フィルタとしてメディアンフィルタを用いるとしたが、これに限られるものではない。例えば、注目画素と周辺画素の画素値の平均値を注目画素の画素値として用いる平均化フィルタなどを用いてもよい。
【００９５】
（３−６）上述の実施の形態および各変形例を部分的に組み合わせてもよい。
【００９６】
（３−７）上述の実施の形態で示した各処理を、画像処理装置のプロセッサ、及びそのプロセッサに接続された各種回路に実行させるための機械語或いは高級言語のプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布することもできる。このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ、フラッシュメモリ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより各実施形態で示したような各機能が実現されるようになる。なお、プロセッサは、制御プログラムを直接実行する他、コンパイルして実行或いはインタプリタにより実行してもよい。
【００９７】
（３−８）実施の形態および変形例で示した各機能構成要素は、その機能を実行する回路として実現されてもよいし、１又は複数のプロセッサによりプログラムを実行することで実現されてもよい。なお、画像処理装置の各機能ブロックは典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップされてもよいし、一部又は全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【００９８】
（４．補足２）
以下、更に本発明の一実施形態としての通信サーバの構成及びその変形例と効果について説明する。
【００９９】
（Ａ）本発明の一実施形態の画像処理装置は、第１画像および第２画像から視差画像を生成する画像処理装置であって、前記第１画像の画素それぞれの垂直エッジのエッジ成分を計算する垂直エッジ抽出部と、前記垂直エッジのエッジ成分の強度が所定のしきい値を超える画素を境界として、前記第１画像の水平ラインを複数のセグメントに分割する水平分割部と、前記セグメントそれぞれに対して、第２画像上で当該セグメントと類似する領域との視差を計算する視差計算部と、
セグメント単位で算出した視差に基づいて、前記視差画像を生成する視差画像生成部を備えることを特徴とする。
【０１００】
この構成により、ライン単位で処理を行うことで、エッジによる分割によってブロックの形状が複雑化することを防止し、演算量の増大を抑制することが可能である。さらに、ライン単位で処理を行うことにより、垂直方向に関して、視差エラーを発生させることなく高解像の視差画像を生成することが可能である。
【０１０１】
また、セグメント単位で計算した視差に基づいて、視差画像の生成することで、演算量を大幅に削減することができる。
【０１０２】
（Ｂ）上記実施形態Ａの画像処理装置において、前記視差計算部は、前記セグメントそれぞれに対して、所定の探索範囲において当該セグメントと最も類似する領域との視差を計算するとしてもよい。
【０１０３】
この構成によると、ハードウェアの処理能力に応じた探索範囲で類似性の計算を行うことができる。
【０１０４】
（Ｃ）上記実施形態Ｂの画像処理装置において、前記水平分割部は、前記所定のしきい値として第１しきい値を用いて前記分割を実施して前記水平ラインを複数の第１セグメントに分割し、かつ、前記第１しきい値よりも小さい第２しきい値を用いて前記分割を実施して前記水平ラインを複数の第２セグメントに分割し、前記視差計算部は、前記第１セグメントそれぞれ、および、前記第２セグメントそれぞれに対して、前記探索範囲において当該セグメントと最も類似する領域との視差および類似度を計算し、前記視差画像生成部は、前記第１セグメントと前記第２セグメントとで重複する領域について、当該第１セグメントに対して算出された類似度と当該第２セグメントに対して算出された類似度とを比較し、類似度が高いセグメントに対して算出された視差を、当該重複する領域の視差とするとしてもよい。
【０１０５】
この構成によると、複数のしきい値を用いることで、適切なエッジを用いて水平ラインを分割することが可能となる。また、複数のしきい値を用いて階層化したセグメントに対して、上位階層と下位階層とで、類似度の比較を行うことにより、ブロックサイズに起因する視差エラーの発生を抑制しつつ、高解像の視差画像を生成することが可能である。
【０１０６】
（Ｄ）上記実施形態Ｃの画像処理装置は、さらに、前記第１セグメントで計算した視差を用いて第２セグメントに対する前記探索範囲を設定する探索範囲設定部を備えるとしてもよい。
【０１０７】
この構成によると、上位階層で計算したセグメントの情報を下位階層へ伝播させながら、視差を計算することが可能である。
【０１０８】
（Ｅ）上記実施形態Ａの画像処理装置は、さらに、前記エッジ成分の強度の分布に応じて前記しきい値を設定するしきい値設定部を備えるとしてもよい。
【０１０９】
この構成によると、画像に応じて計算される垂直エッジのエッジ強度の分布に従ってしきい値を設定するので、画像ごとに適切なエッジを識別するしきい値を設定することができる。
【０１１０】
（Ｆ）上記実施形態Ａの画像処理装置は、さらに、水平方向よりも垂直方向の長いノイズ除去フィルタを用いて、前記視差画像を補正する補正部を備えるとしてもよい。
【０１１１】
この構成によると、水平方向に長いセグメント単位で発生する視差エラーを効果的に除去することができる。
【０１１２】
（Ｇ）上記実施形態Ａの画像処理装置は、前記所定のしきい値を垂直エッジしきい値、前記セグメントを水平セグメントとし、さらに、前記第１画像の各画素の、水平エッジのエッジ成分を計算する水平エッジ抽出部と、前記水平方向のエッジ成分の強度が水平エッジしきい値を超える画素を境界として、前記視差画像の垂直ラインを垂直セグメントに分割する垂直分割部と、前記垂直セグメントごとにノイズ除去を行う垂直処理部を備えるとしてもよい。
【０１１３】
この構成によると、水平方向に長いセグメント単位で発生する視差エラーを効果的に除去することができる。
【産業上の利用可能性】
【０１１４】
本発明は、ステレオ画像を撮影可能デジタルカメラ等の他、ステレオ画像を入力として抽出した視差画像を生成する視差画像生成装置として有用である。また、認識技術との併用により監視等の用途にも応用が可能である。
【符号の説明】
【０１１５】
１００，９００  画像処理装置
１１０、１１１  カメラ
１２０，１２１  前処理部
１３０  垂直エッジ抽出部
１４０  水平分割部
１５０  視差探索部
１６０  視差画像生成部
１６１  階層間比較部
１６２  視差・類似度格納部
１６３  視差画像構築部
１７０  視差画像補正部
１７１  水平エッジ抽出部
１７２  垂直分割部
１７３  垂直処理部
【図１】
2012137511.tif 000008
【図２】
2012137511.tif 000009
【図３】
2012137511.tif 000010
【図４】
2012137511.tif 000011
【図５】
2012137511.tif 000012
【図６】
2012137511.tif 000013
【図７】
2012137511.tif 000014
【図８】
2012137511.tif 000015
【図９】
2012137511.tif 000016
【図１０】
2012137511.tif 000017
【図１１】
2012137511.tif 000018
【国際調査報告】
2012137511.tif 000019
2012137511.tif 000020
2012137511.tif 000021