(57)【要約】  【課題】  ステレオ画像を基に高精度な視差データを生成できる画像処理方法を提供する。  【解決手段】  ウィンドウマッチング部１４＿１は、撮像画像データＰ＿Ｌ内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、指定された視差に対応した撮像画像データＰ＿Ｒ内の第２のウィンドウデータとの間の差分に応じたコストデータをウィンドウコスト算出部１８に生成させる。【選択図】  図１
2006031423.tif 000002
【特許請求の範囲】
【請求項１】
所定の撮像対象を異なる位置から撮像して得られた第１の画像と第２の画像とを基に、前記第１の画像内の第１のエピポ−ラ線上の第１の位置に対応する、前記第２の画像内の第２のエピポ−ラ線の第２の位置を探索し、前記第１の位置と前記第２の位置との間の位置関係に基づいて視差データを生成する画像処理方法であって、
前記第１の画像内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、指定された視差データに対応した前記第２の画像データ内の第２のウィンドウデータとの間の差分に応じた指標データを生成する第１の工程と、
前記第１の工程で生成した指標データのうち最小の指標データを、前記指定された視差データの指標データとして特定する第２の工程と、
予め決められた複数の視差を前記第１の工程で指定させ、当該複数の視差データの各々について前記第２の工程で特定した前記指標データのうち最小の前記指標データに対応する前記視差データを、前記処理対象の画素データの視差データとして特定する第３の工程と
を有する画像処理方法。
【請求項２】
前記第１の画像および前記第２の画像の画素データは、濃淡情報のみを示す
請求項１に記載の画像処理方法。
【請求項３】
前記第１の画像内の前記処理対象の画素データの標準偏差が基準値以上であるか否かを判断する第４の工程
をさらに有し、
前記第１の工程、前記第２の工程および前記第３の工程は、前記第４の工程で前記処理対象の画素データの標準偏差が基準値以上であると判断したことを条件に、前記処理対象の画素データについて処理を行う
請求項１に記載の画像処理方法。
【請求項４】
前記第１の工程は、異なる複数のブロックサイズの各々について、当該ブロックサイズに対応して各々規定された前記複数の第１のウィンドウデータについて前記指標デーを生成し、
前記第２の工程は、前記複数のブロックサイズの各々について、前記最小の指標データを特定し、
前記第３の工程は、前記複数のブロックサイズの各々について、前記視差データを特定し、
前記画像処理方法は、
前記第３の工程で前記複数のブロックサイズの各々について特定した前記視差データを比較して、当該視差データの有効性を判断する第５の工程
をさらに有する請求項１に記載の画像処理方法。
【請求項５】
前記第１の工程は、
矩形の前記第１のウィンドウデータおよび前記第２のウィンドウデータの対角点の座標が（ｘ１，ｙ１），（ｘ２，ｙ２）である場合に、座標（０，０）と座標（ｘ２，ｙ２）で囲まれた領域内の点の画素データの総和と、座標（０，０）と座標（ｘ１，ｙ１）で囲まれた領域内の点の画素データの総和とを加算し、座標（０，０）と座標（ｘ１−１，ｙ２）で囲まれた領域内の点の画素データの総和と、座標（０，０）と座標（ｘ２，ｙ１−１）で囲まれた領域内の点の画素データの総和とを減算した値を累積画素値データとし、
前記第１の画像内の前記第１のウィンドウデータの前記累積画素値データと、前記第２の画像内の前記第２のウィンドウデータの前記累積画素値データとの差分を前記指標データとする
請求項１に記載の画像処理方法。
【請求項６】
前記第１の工程は、
第１の視差データに対応した前記第２のウィンドウデータ内の画素データの総和に対して、
前記第１の視差データに対応した第２のウィンドウデータに属し、第２の視差データに対応した第２のウィンドウデータに属さない画素データの累積値を減算し、
前記第２の視差データに対応した第２のウィンドウデータに属し、前記第１の視差データに対応した第２のウィンドウデータに属さない画素データの累積値を加算して、
前記第２の視差データに対応した前記第２のウィンドウデータの累積画素値データを生成し、
前記第１のウィンドウデータの累積画素値データと、前記第２のウィンドウデータの累積画素値データとの差分を、前記第２の視差データに対応した前記指標データとする
請求項１に記載の画像処理方法。
【請求項７】
前記第２の画像内の処理対象の画素データを相互に異なる位置に含む複数のウィンドウデータの各々について、当該ウィンドウデータと、指定された視差に対応した前記第１の画像データ内のウィンドウデータとの間の差分に応じた指標データを生成する第６の工程と、
前記第６の工程で生成した指標データのうち最小の指標データを、前記指定された視差の指標データとして特定する第７の工程と、
予め決められた複数の視差を前記第６の工程で指定させ、当該複数の視差の各々について前記第７の工程で特定した前記指標データのうち最小の前記指標データに対応する視差を、前記処理対象の画素データの視差データとする第８の工程と、
前記第１の画像内の前記第１の位置について前記第３の工程で取得した前記視差データと、当該第１の位置に対応した前記第２の画像内の前記第２の位置について前記第８の工程で取得した前記視差データとの差異が基準以下であることを条件に、前記第３の工程および前記第８の工程で取得した前記視差データが有効であると判断する第９の工程と
をさらに有する請求項１に記載の画像処理方法。
【請求項８】
所定の撮像対象を異なる位置から撮像して得られた第１の画像と第２の画像とを基に、前記第１の画像内の第１のエピポ−ラ線上の第１の位置に対応する、前記第２の画像内の第２のエピポ−ラ線の第２の位置を探索し、前記第１の位置と前記第２の位置との間の位置関係に基づいて視差データを生成する画像処理装置であって、
前記第１の画像内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、指定された視差データに対応した前記第２の画像データ内の第２のウィンドウデータとの間の差分に応じた指標データを生成する指標データ生成手段と、
前記指標データ生成手段が生成した指標データのうち最小の指標データを、前記指定された視差データの指標データとして特定し、予め決められた複数の視差を前記指標データ生成手段に指定し、当該複数の視差データの各々について前記特定した前記指標データのうち最小の前記指標データに対応する前記視差データを、前記処理対象の画素データの視差データとして特定する視差データ生成手段と
を有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像を基に視差データを生成する画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
撮像対象を当該撮像対象の左右に配置した左カメラと右カメラで撮像し、両カメラで撮像した画像の対応点をエピポ−ラ線上で探索して、その対応点のずれを示す視差データを生成する画像処理装置がある。
このような画像処理装置は、上記視差データを利用して、例えば、撮像対象の３次元画像を生成したり、複数の異なる角度から撮像対象を撮像した場合の画像データを生成する。
ところで、上述した画像処理装置では、高精度な画像データを生成するために、高精度な視差データを生成することが重要である。
従来の画像処理装置では、例えば、左カメラの画像内の画素データについて、当該画素データを所定の単数の位置に含むウィンドウデータ内の画素データの累積画素値データを算出し、当該累積画素値データとの差分が最小となる累積画素値データを持つウィンドウデータを右カメラの画像内で探索し、当該探索したウィンドウデータの位置を基に視差データを生成する。
【０００３】
【非特許文献１】A.Fusiello,V.Rob erto,and E. Trucco,Efficient stereo with multiple windowing, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp.858-863, Puerto Rico,June 1997.
【０００４】
【非特許文献２】M.Hariyama,T.takeuchi,M.Kameyama, VLSI processor for reliable stereo matching based on adaptive window-seze selection, International Conference on Robotics and Automation,pp.1168-1173, Korea,2001
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の画像処理装置では、上記ウィンドウデータ内にエッジ画像が含まれると、上記累積画素値データを基にしたウィンドウデータの探索精度が低くなり、視差データの精度が低下するという問題がある。
【０００６】
本発明は、上述した従来技術の問題点に鑑みてなされ、ステレオ画像を基に高精度な視差データを生成できる画像処理方法および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した従来技術の問題点を解決し、上述した目的を達成するために、第１の発明の画像処理方法は、所定の撮像対象を異なる位置から撮像して得られた第１の画像と第２の画像とを基に、前記第１の画像内の第１のエピポ−ラ線上の第１の位置に対応する、前記第２の画像内の第２のエピポ−ラ線の第２の位置を探索し、前記第１の位置と前記第２の位置との間の位置関係に基づいて視差データを生成する画像処理方法であって、前記第１の画像内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、指定された視差データに対応した前記第２の画像データ内の第２のウィンドウデータとの間の差分に応じた指標データを生成する第１の工程と、前記第１の工程で生成した指標データのうち最小の指標データを、前記指定された視差データの指標データとして特定する第２の工程と、予め決められた複数の視差を前記第１の工程で指定させ、当該複数の視差データの各々について前記第２の工程で特定した前記指標データのうち最小の前記指標データに対応する前記視差データを、前記処理対象の画素データの視差データとして特定する第３の工程とを有する。
【０００８】
第１の発明の画像処理方法の作用は以下のようになる。
先ず、第１の工程において、第１の画像内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、指定された視差データに対応した前記第２の画像データ内の第２のウィンドウデータとの間の差分に応じた指標データを生成する。
次に、第２の工程において、前記第１の工程で生成した指標データのうち最小の指標データを、前記指定された視差データの指標データとして特定する。
次に、第３の工程において、予め決められた複数の視差を前記第１の工程で指定させ、当該複数の視差データの各々について前記第２の工程で特定した前記指標データのうち最小の前記指標データに対応する前記視差データを、前記処理対象の画素データの視差データとして特定する。
【０００９】
第２の発明の画像処理装置は、所定の撮像対象を異なる位置から撮像して得られた第１の画像と第２の画像とを基に、前記第１の画像内の第１のエピポ−ラ線上の第１の位置に対応する、前記第２の画像内の第２のエピポ−ラ線の第２の位置を探索し、前記第１の位置と前記第２の位置との間の位置関係に基づいて視差データを生成する画像処理装置であって、前記第１の画像内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、指定された視差データに対応した前記第２の画像データ内の第２のウィンドウデータとの間の差分に応じた指標データを生成する指標データ生成手段と、前記指標データ生成手段が生成した指標データのうち最小の指標データを、前記指定された視差データの指標データとして特定し、予め決められた複数の視差を前記指標データ生成手段に指定し、当該複数の視差データの各々について前記特定した前記指標データのうち最小の前記指標データに対応する前記視差データを、前記処理対象の画素データの視差データとして特定する視差データ生成手段とを有する。
【００１０】
第２の発明の画像処理装置の作用は以下のようになる。
先ず、指標データ生成手段が、第１の画像内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、指定された視差データに対応した前記第２の画像データ内の第２のウィンドウデータとの間の差分に応じた指標データを生成する。
次に、視差データ生成手段が、前記指標データ生成手段が生成した指標データのうち最小の指標データを、前記指定された視差データの指標データとして特定し、予め決められた複数の視差を前記指標データ生成手段に指定し、当該複数の視差データの各々について前記特定した前記指標データのうち最小の前記指標データに対応する前記視差データを、前記処理対象の画素データの視差データとして特定する。
【発明の効果】
【００１１】
本発明によれば、ステレオ画像を基に高精度な視差データを生成できる画像処理方法および画像処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態に係わる画像処理装置を説明する。
先ず、本実施形態の画像処理装置の構成要素と、本発明の構成要素との対応関係を説明する。
本実施形態の第１のウィンドウデータが本発明の第１のウィンドウデータに対応し、本実施形態の第２のウィンドウデータが本発明の第２のウィンドウデータに対応している。
また、本実施形態のウィンドウサイズが、本発明のブロックサイズに対応している。
また、本実施形態のコストデータが本発明の指標データに対応している。
また、撮像画像データＰ＿Ｌが本発明の第１の画像に対応し、撮像画像データＰ＿Ｒが本発明の第２の画像に対応している。
【００１３】
図６に示すステップＳＴ３が本発明の第１の工程および第２の工程に対応し、ステップＳＴ５およびＳＴ６が本発明の第３の工程に対応している。
また、図１に示す画素有効性判定部１０＿１が行なう処理が、本発明の第４の工程に対応している。
また、図１に示すマッチング有効性判定部１６＿１が行なう処理が、本発明の第５の工程に対応している。
また、図１に示すウィンドウコスト算出部１８がウィンドウマッチング部１４＿１に対して行なう処理が本発明の第７の工程に対応している。
また、図１に示すウィンドウマッチング部１４＿２が行なう処理が、本発明の第８の工程に対応している。
また、図１に示す視差データ生成部２０が行なう処理が本発明の第９の工程に対応している。
【００１４】
図１に示すウィンドウコスト算出部１８が本発明の指標データ生成手段に対応し、ウィンドウマッチング部１４＿１が本発明の視差データ生成手段に対応している。
【００１５】
図１は、本実施形態に係わる画像処理装置１の構成図である。
図１に示すように、画像処理装置１は、例えば、カメラＬ＿Ｃ，カメラＲ＿Ｃ、画素有効性判定部１０＿１、ペナルティ決定部１２＿１，ウィンドウマッチング部１４＿１、マッチング有効性判定部１６＿１、ウィンドウコスト算出部１８および視差データ生成部２０を有する。
【００１６】
〔カメラＲ＿Ｃ，カメラＬ＿Ｃ〕
図２は、カメラＲ＿Ｃ，カメラＬ＿Ｃと撮像対象ＴＡＲＧＥＴとの位置関係を説明するための図である。
図２に示すように、カメラＲ＿Ｃ，カメラＬ＿Ｃは、撮像対象ＴＡＧＥＴに対応して対向して配設される。
画像処理装置１は、例えば、パーソナルコンピュータなどに組み込まれる。この場合に、カメラＲ＿ＣおよびカメラＬ＿Ｃは、例えば、ユーザの顔の位置の左右両側に配設され、ユーザの顔を撮像対象ＴＡＲＧＥＴとする。
カメラＲ＿Ｃは、受光面８＿Ｒの結像結果に応じた撮像画像データＰ＿Ｒを画素有効性判定部１０＿１およびウィンドウコスト算出部１８に出力する。
カメラＬ＿Ｃは、受光面８＿Ｌの結像結果に応じた撮像画像データＰ＿Ｌを画素有効性判定部１０＿２およびウィンドウコスト算出部１８に出力する。
カメラＲ＿Ｃの受光面８＿Ｒの結像結果に応じた撮像画像データＰ＿Ｒと、カメラＬ＿Ｃの受光面８＿Ｌの結像結果に応じた撮像画像データＰ＿Ｌとの間にはエピポーラ拘束が成り立つ。すなわち、撮像画像データＰ＿Ｒ内の各点には、それに対応したエピポ−ラ線が１本定まり、そのエピポ−ラ線と対応して撮像画像データＰ＿Ｌ内に１本のエピポ−ラ線が定まる。
本実施形態では、撮像画像データＰ＿Ｒ，Ｐ＿Ｌを構成する画素データは、濃淡情報（輝度値）のみを示している。
【００１７】
〔画素有効性判定部１０＿１〕
画素有効性判定部１０＿１は、カメラＬ＿Ｃから入力した撮像画像データＰ＿Ｌ内の処理対象のスキャンライン（エピポ−ラ線に平行のライン）上の画素データについて、当該画素データを含む所定のサイズのウィンドウデータ内の画素データの標準偏差データを生成する。
当該所定のサイズのウィンドウデータとしては、例えば、後述する９ｘ９のウィンドウサイズのものを用いる。
そして、画素有効性判定部１０＿１は、上記標準偏差データが基準値より大きい上記画素データを有効と判定し、それ以外の画素データを無効と判定する。
そして、画素有効性判定部１０＿１は、撮像画像データＰ＿Ｌ内の上記有効と判定した画素データＳ１０＿１をペナルティ決定部１２＿１に出力する。
これは、後段のウィンドウマッチング部１４＿１において、テクスチャレベルが低い(Low Textureの）画素データを含む領域については、ウィンドウマッチングを正確に行えないため、このような画素データをマッチング対象から外すためである。
画像処理装置１では、画素有効性判定部１０＿１において、有効と判断された画素データについてのみ、ウィンドウマッチング部１４＿１、マッチング有効性判定部１６＿１および視差データ生成部２０による処理対象とする。
【００１８】
〔ペナルティ決定部１２＿１〕
ペナルティ決定部１２＿１は、例えば、視差データ生成部２０において処理対象の画素データの１つ前に処理された画素データの視差データと、ウィンドウマッチング部１４＿１において処理に用いられる視差データとが一致するか否かを判断し、一致しない場合に、当該画素データに対応した所定のペナルティ値を示すペナルティデータを生成する。
また、ウィンドウマッチング部１４＿１は、撮像画像データＰ＿Ｌ内の処理対象の画素データが、エッジに対応したものである場合には、エッジ以外の部分に対応したものである場合に比べて、上記ペナルティ値を小さくする。
例えば、ウィンドウマッチング部１４＿１は、処理対象の画素データがエッジに対応していない場合に、処理対象の画素データがエッジに対応している場合に比べて２倍のペナルティ値を示すペナルティデータを生成する。
ペナルティ決定部１２＿１は、処理対象の画素データと１つ前の処理対象の画素データとの値の差分が基準値を越えている場合に、当該処理対象の画素データがエッジに対応したものであると判断する。
ペナルティ決定部１２＿１は、上述したペナルティデータＳ１２＿１をウィンドウマッチング部１４＿１に出力する。
【００１９】
なお、ペナルティ決定部１２＿１は、視差データ生成部２０において最終的に視差データが無効であると判断された画素データの周囲の画素データについては、ペナルティを付加しない。
また、視差データ生成部２０において最終的に無効であると判断された画素データの一つ前に処理される画素データについては、視差データを付加する場合に所定の制限を加えてもよい。
このようにすることで、処理対象の画素データについてのマッチング処理がエラーの場合に、その影響がその周囲の画素データに及ぶことを抑制できる。
【００２０】
〔ウィンドウマッチング部１４＿１〕
ウィンドウマッチング部１４＿１は、撮像画像データＰ＿Ｌ内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、指定された視差に対応した撮像画像データＰ＿Ｒ内の第２のウィンドウデータとの間の差分に応じたコストデータをウィンドウコスト算出部１８に生成させる。
ウィンドウマッチング部１４＿１は、異なる複数のウィンドウサイズＷＳの各々について、ウィンドウコスト算出部１８に上述したコストデータを生成させる。
本実施形態では、ウィンドウサイズとして、例えば、図３（Ａ），図３（Ｂ），図３（Ｃ）に示すの３ｘ３，５ｘ５，９ｘ９の３種類を規定している。
【００２１】
本実施形態では、各ウィンドウサイズについて、撮像画像データＰ＿Ｌ内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータＷＤを規定している。
例えば、ウィンドウサイズ５ｘ５については、図４に示すように、処理対象の画素データを相互に異なる位置に含む９個の第１のウィンドウデータＷＤ１〜ＷＤ９を規定している。
これは、第１のウィンドウデータＷＤ内にエッジ部分を含む場合、すなわち、第１のウィンドウデータＷＤ内の画素データが不均一であると、コストデータの信頼性が低下するため、その影響を無くすためである。
【００２２】
例えば、図５に示すように、撮像画像データＰ＿Ｌ内にエッジＥＤＧＥが存在する場合を考える。
この場合に、処理対象の画素データＴＰ１について図４に示す第１のウィンドウデータＷＤ１を選択すると、当該第１のウィンドウデータＷＤ１内にエッジＥＤＧＥが含まれ、そのコストデータの信頼性は低い。一方、処理対象の画素データＴＰ１について図４に示す第１のウィンドウデータＷＤ２を選択すると、当該第１のウィンドウデータＷＤ２内にエッジＥＤＧＥが含まれないため、そのコストデータの信頼性は高い。
また、処理対象の画素データＴＰ２について図４に示す第１のウィンドウデータＷＤ１を選択すると、当該第１のウィンドウデータＷＤ１内にエッジＥＤＧＥが含まれ、そのコストデータの信頼性は低い。一方、処理対象の画素データＴＰ２について図４に示す第１のウィンドウデータＷＤ７を選択すると、当該第１のウィンドウデータＷＤ２内にエッジＥＤＧＥが含まれないため、そのコストデータの信頼性は高い。
【００２３】
ウィンドウマッチング部１４＿１は、撮像画像データＰ＿Ｌ内の処理対象の画素データについて、図３に示す３種類のブロックサイズ３ｘ３，５ｘ５，９ｘ９の各々を用いて、当該処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータを順に特定する。
また、ウィンドウマッチング部１４＿１は、上記特定した第１のウィンドウデータＷＤに対応した撮像画像データＰ＿Ｒ内の第２のウィンドウデータＷＤを、複数の視差データのうち指定された視差データを基に特定する。
そして、ウィンドウマッチング部１４＿１は、上記特定した第１のウィンドウデータＷＤと、上記特定した第２のウィンドウデータＷＤとの間の差分に応じたコストデータをウィンドウコスト算出部１８に生成させる。
【００２４】
ウィンドウマッチング部１４＿１は、ウィンドウコスト算出部１８からコストデータを入力し、上記３種類のブロックサイズ３ｘ３，５ｘ５，９ｘ９の各々について、最小のコストデータに対応した視差データを特定する。
ここで、ウィンドウマッチング部１４＿１がブロックサイズ３ｘ３について特定した最小のコストデータに対応した視差データを「ｄ３」とし、ブロックサイズ５ｘ５について特定した最小のコストデータに対応した視差データを「ｄ５」とし、ブロックサイズ９ｘ９について特定した最小のコストデータに対応した視差データを「ｄ９」とする。
ウィンドウマッチング部１４＿１は、視差データｄ３，ｄ５，ｄ９をマッチング有効性判定部１６＿１に出力する。
【００２５】
以下、ウィンドウマッチング部１４＿１の処理を説明する。
図６は、図１に示すウィンドウマッチング部１４＿１の処理を説明するためのフローチャートである。
ステップＳＴ１：
ウィンドウマッチング部１４＿１は、視差データｄとして初期値「１」を設定する。
ステップＳＴ２：
ウィンドウマッチング部１４＿１は、ウィンドウサイズＷＳとして、３ｘ３を選択する。
【００２６】
ステップＳＴ３：
ウィンドウマッチング部１４＿１は、撮像画像データＰ＿Ｌ内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、視差データｄに対応した撮像画像データＰ＿Ｒ内の第２のウィンドウデータとの間の差分に応じたコストデータをウィンドウコスト算出部１８に生成させる。  そして、ウィンドウマッチング部１４＿１は、上記複数の第１のウィンドウデータについて生成したコストデータのうち最小のコストデータＭＡ＿ＣＯＳＴを特定する。
ステップＳＴ４：
ウィンドウマッチング部１４＿１は、当該処理対象の画素データの指定された視差データｄに対応して生成されたペナルティデータＳ１２＿１を、ステップＳＴ３で生成した最小のコストデーＭＡ＿ＣＯＳＴに加算する。
【００２７】
ステップＳＴ５：
ウィンドウマッチング部１４＿１は、ステップＳＴ４で生成した最小のコストデータＭＡ＿ＣＯＳＴが、最小コストデータＭＩＮより小さいか否かを判断し、小さいと判断するとステップＳＴ６に進み、そうでないと判断するとステップＳＴ７に進む。
ステップＳＴ６：
ウィンドウマッチング部１４＿１は、ステップＳＴ４で生成した最小のコストデータＭＡ＿ＣＯＳＴで、最小コストデータＭＩＮを更新する。
また、ウィンドウマッチング部１４＿１は、ステップＳＴ４で生成した最小のコストデータＭＡ＿ＣＯＳＴに対応した視差データｄを記憶する。
【００２８】
ステップＳＴ７：
ウィンドウマッチング部１４＿１は、３ｘ３，５ｘ５，９ｘ９の全てのウィンドウサイズＷＳを選択したか否かを判断し、選択したと判断するとステップＳＴ９に進み、選択してないと判断するとステップＳＴ８に進む。
ステップＳＴ８：
ウィンドウマッチング部１４＿１は、未選択のウィンドウサイズＷＳを選択して、ステップＳＴ３の処理に戻る。
ステップＳＴ９：
ウィンドウマッチング部１４＿１は、予め決められた範囲ＲＡＮＧＥの視差データについて処理を行ったか否かを判断し、行なったと判断するとステップＳＴ１１に進み、そうでない場合にはステップＳＴ１０に進む。
【００２９】
ステップＳＴ１０：
ウィンドウマッチング部１４＿１は、視差データｄを「１」だけインクリメントしてステップＳＴ２の処理に戻る。
ステップＳＴ１１：
ウィンドウマッチング部１４＿１は、ステップＳＴ６でウィンドウサイズ３ｘ３，５ｘ５，９ｘ９の各々について最終的に記憶した視差データｄを、それぞれ視差データｄ３，ｄ５，ｄ９としてマッチング有効性判定部１６＿１に出力する。
【００３０】
〔マッチング有効性判定部１６＿１〕
マッチング有効性判定部１６＿１は、ウィンドウマッチング部１４＿１から入力した視差データｄ３，ｄ５，ｄ９を基に、これらの視差データｄ３，ｄ５，ｄ９の有効性（信頼性）を判断する。
マッチング有効性判定部１６＿１は、小さいウィンドウサイズが低いテクスチャ画像についてのマッチングの信頼性が低く、大きいウィンドウサイズが高いテクスチャ画像についてのマッチングの信頼性が低いという特定に基づいて上記有効性を判断する。
【００３１】
図７は、マッチング有効性判定部１６＿１の処理を説明するためのフローチャートである。
ステップＳＴ２１：
マッチング有効性判定部１６＿１は、｜ｄ３−ｄ５｜と｜ｄ９−ｄ５｜を演算し、双方がしきい値Ｔｈｒより小さくない場合にステップＳＴ２２に進み、小さい場合に視差デーｄ３，ｄ５，ｄ９は有効であると判断する。
ステップＳＴ２２：
マッチング有効性判定部１６＿１は、｜ｄ３−ｄ５｜と｜ｄ９−ｄ５｜との何れか一方がしきい値Ｔｈｒより小さくい場合にステップＳＴ２３に進み、そうでない場合に視差デーｄ３，ｄ５，ｄ９は無効（信頼性が低い）と判断する。
【００３２】
ステップＳＴ２３：
マッチング有効性判定部１６＿１は、当該処理対象の画素データより１つ前に処理された画素データに視差データ生成部２０において視差データが割り当てられたか否かを判断し、割り当てられたと判断すると視差データｄ３，ｄ５，ｄ９は有効（信頼性が高い）と判断し、そうでない場合にステップＳＴ２４に進む。
ステップＳＴ２４：
マッチング有効性判定部１６＿１は、｜ｄ１−ｄ３｜を演算し、その結果が所定の基準値Ｒより小さいか否かを判断し、小さいと判断すると視差デーｄ３，ｄ５，ｄ９は有効（信頼性が高い）と判断し、そうでない場合に視差デーｄ３，ｄ５，ｄ９は無効（信頼性が低い）と判断する。
マッチング有効性判定部１６＿１は、視差データｄ３，ｄ５，ｄ９が有効であると判断した場合に、これらのうちの何れか、あるいはこれらを基に生成した視差データを、当該処理対象の画素データの座標データＸＬの視差データｄＬ（ＸＬ）として視差データ生成部２０に出力する。
なお、マッチング有効性判定部１６＿１は、無効の画素データに対応する視差データを「０」にする。
【００３３】
〔ウィンドウコスト算出部１８〕
ウィンドウコスト算出部１８は、ウィンドウマッチング部１４＿１が特定した撮像画像データＰ＿Ｌ内の第１のウィンドウデータと、撮像画像データＰ＿Ｒ内の第２のウィンドウデータとの間の差分に応じたコストデータを算出する。
このとき、ウィンドウコスト算出部１８は、第１のウィンドウデータ内の画素データの累積値である第１の累積画素値データＡＣＰと、第２のウィンドウデータ内の画素データの累積値である第２の累積画素値データＡＣＰとを算出する。
本実施形態において、第１のウィンドウデータおび第２のウィンドウデータは、矩形領域内の画素の画素データである。
【００３４】
ウィンドウコスト算出部１８は、第１のウィンドウデータについて、例えば、図８に示すように、それに対応した矩形領域の対角点の座標が（ｘ１，ｙ１），（ｘ２，ｙ２）である場合に、座標（０，０）と座標（ｘ２，ｙ２）で囲まれた領域内の点の画素データの総和Ｉ（ｘ２，ｙ２）と、座標（０，０）と座標（ｘ１，ｙ１）で囲まれた領域内の点の画素データの総和Ｉ（ｘ１，ｙ１）とを加算し、座標（０，０）と座標（ｘ１−１，ｙ２）で囲まれた領域内の点の画素データの総和Ｉ（ｘ１−１，ｙ２）と、座標（０，０）と座標（ｘ２，ｙ１−１）で囲まれた領域内の点の画素データの総和Ｉ（ｘ２，ｙ１−１）とを減算した値を第１の累積画素値データＡＣＰとして算出する。
また、ウィンドウコスト算出部１８は、第２のウィンドウデータについても、上述した第１のウィンドウデータと同様に、第２の累積画素値データＡＣＰを算出する。
【００３５】
そして、ウィンドウコスト算出部１８は、第１の累積画素値データＡＣＰと第２の累積画素値データＡＣＰとの差分をコストデータとしてウィンドウマッチング部１４＿１に出力する。
上述したウィンドウコスト算出部１８によるコストデータの算出方法は、ソフトウェアによる効率的な演算を実現できる。
【００３６】
ところで、ウィンドウコスト算出部１８は、例えば、第２の累積画素データを、過去に選択した視差データの第２の累積画素値データを生成する過程で用いた累積値を利用して算出する。
すなわち、例えば、今回選択した視差データに対応した第２のウィンドウデータＷＤａと、過去に選択した（１つ前に選択した）視差データに対応した第２のウィンドウデータＷＤｂとは、例えば、図９に示す関係にある。
従って、ウィンドウコスト算出部１８は、第２のウィンドウデータＷＤａの第２の累積画素値データから最左列の画素データの累積値ＡＣＰａを減算し、第２のウィンドウデータＷＤｂ内の最右列の画素データの累積値ＡＣＰｂを加算することで、第２のウィンドウデータＷＤｂの第２の累積画素値データを生成する。
ウィンドウコスト算出部１８は、この処理を、例えば、例えば、列単位に累積値をメモリに格納し、これをシフトして選択して加算することで、ハ−ドウェアによって簡単に実現可能である。
【００３７】
〔画素有効性判定部１０＿２、ペナルティ決定部１２＿２、ウィンドウマッチング部１４＿２およびマッチング有効性判定部１６＿２〕
画素有効性判定部１０＿２、ペナルティ決定部１２＿２、ウィンドウマッチング部１４＿２およびマッチング有効性判定部１６＿２は、撮像画像データＰ＿Ｒにつて、前述した画素有効性判定部１０＿１、ペナルティ決定部１２＿１、ウィンドウマッチング部１４＿１およびマッチング有効性判定部１６＿１とそれぞれ同様の処理を行う。
これにより、マッチング有効性判定部１６＿２から視差データ生成部２０に、撮像画像データＰ＿Ｒ内の画素データの座標データＸＲの視差データｄＲ（ＸＲ）が出力される。
【００３８】
〔視差データ生成部２０〕
視差データ生成部２０は、マッチング有効性判定部１６＿１から入力した座標ＸＬの視差データｄＬ（ＸＬ）と、マッチング有効性判定部１６＿２から入力した座標ＸＲの視差データｄＲ（ＸＲ）とを基に、各画素データの視差データの有効性を判断する。
図１０は、視差データ生成部２０の処理を説明するためのフローチャートである。
なお、図１０は、撮像画像データＰ＿Ｌ，Ｐ＿Ｒ上の各画素データについての処理を示している。
ステップＳＴ３１：
視差データ生成部２０は、撮像画像データＰ＿Ｌ，Ｐ＿Ｒ内の全ての画素データについて、図１０に示す処理を行なう。
ステップＳＴ３１：
視差データ生成部２０は、撮像画像データＰ＿Ｌ内の視差データｄＬ（ＸＲ＋ｄＲ（ＸＲ））を特定する。
また、視差データ生成部２０は、撮像画像データＰ＿Ｒ内の視差データｄＲ（ＸＲ）を特定する。
そして、視差データ生成部２０は、視差データｄＬ（ＸＲ＋ｄＲ（ＸＲ））と、視差データｄＲ（ＸＲ）との差分の絶対値が所定のしきい値Ｔｈｒより小さいか否かを判断する。
ステップＳＴ３２：
視差データ生成部２０は、撮像画像データＰ＿Ｒ内の視差データｄＲ（ＸＬ＋ｄＬ（ＸＬ））を特定する。
また、視差データ生成部２０は、撮像画像データＰ＿Ｌ内の視差データｄＬ（ＸＲ）を特定する。
そして、視差データ生成部２０は、視差データｄＲ（ＸＬ＋ｄＬ（ＸＬ））と、視差データｄＬ（ＸＬ）との差分の絶対値が所定のしきい値Ｔｈｒより小さいか否かを判断する。
【００３９】
そして、視差データ生成部２０は、ステップＳＴ３１およびステップＳＴ３２の双方でしいき値Ｔｈｒより小さいと判断されたことを条件に、視差データｄＲ（ＸＲ），ｄＬ（ＸＬ）が有効（信頼性が高い）と判断する。
視差データ生成部２０は、有効であると判断された画素データの視差データｄＲ（ＸＲ），ｄＬ（ＸＬ）のみを用いて、撮像対象の視差データを生成する。
【００４０】
以下、画像処理装置１の全体動作例を説明する。
図１１は、図１に示す画像処理装置１の全体動作例を説明するためのフローチャートである。
ステップＳＴ４１：
カメラＬ＿Ｃが、撮像対象ＴＡＲＧＥＴを撮像し、その撮像画像データＰ＿Ｌを画素有効性判定部１０＿１およびウィンドウコスト算出部１８に出力する。
また、カメラＲ＿Ｃが、撮像対象ＴＡＲＧＥＴを撮像し、その撮像画像データＰ＿Ｒを画素有効性判定部１０＿２およびウィンドウコスト算出部１８に出力する。
【００４１】
ステップＳＴ４２：
画素有効性判定部１０＿１は、カメラＬ＿Ｃから入力した画素データの各々について、その標準偏差データが基準値より大きいことを条件に有効と判断し、有効と判定した画素データＳ１０＿１をペナルティ決定部１２＿１に出力する。
画素有効性判定部１０＿２は、カメラＲ＿Ｃから入力した画素データの各々について、その標準偏差データが基準値より大きいことを条件に有効と判断し、有効と判定した画素データＳ１０＿２をペナルティ決定部１２＿２に出力する。
【００４２】
ステップＳＴ４３：
ペナルティ決定部１２＿１は、画素有効性判定部１０＿１から入力した画素データの各々について、視差データ生成部２０において処理対象の画素データの１つ前に処理された画素データの視差データと、ウィンドウマッチング部１４＿１において処理に用いられる視差データとが一致するか否かを判断し、一致しない場合に、当該画素データに対応した所定のペナルティ値を示すペナルティデータＳ１２＿１をウィンドウマッチング部１４＿１に出力する。
また、ペナルティ決定部１２＿２は、画素有効性判定部１０＿１から入力した画素データの各々について、視差データ生成部２０において処理対象の画素データの１つ前に処理された画素データの視差データと、ウィンドウマッチング部１４＿２において処理に用いられる視差データとが一致するか否かを判断し、一致しない場合に、当該画素データに対応した所定のペナルティ値を示すペナルティデータＳ１２＿２をウィンドウマッチング部１４＿２に出力する。
【００４３】
ステップＳＴ４４：
ウィンドウマッチング部１４＿１は、撮像画像データＰ＿Ｌ内の処理対象の画素データを相互に異なる位置に含む複数の第１のウィンドウデータの各々について、当該第１のウィンドウデータと、指定された視差に対応した撮像画像データＰ＿Ｒ内の第２のウィンドウデータとの間の差分に応じたコストデータをウィンドウコスト算出部１８に生成させる。
このとき、ウィンドウマッチング部１４＿１は、異なる複数のウィンドウサイズＷＳの各々について、ウィンドウコスト算出部１８に上述したコストデータを生成させる。
そして、ウィンドウマッチング部１４＿１は、ウィンドウコスト算出部１８からコストデータを入力し、上記３種類のブロックサイズ３ｘ３，５ｘ５，９ｘ９の各々について、最小のコストデータに対応した視差データｄ３，ｄ５，ｄ９を特定し、これをマッチング有効性判定部１６＿１に出力する。
また、ウィンドウマッチング部１４＿２は、撮像画像データＰ＿Ｒ内の処理対象の画素データについて同様に、視差データｄ３，ｄ５，ｄ９を特定し、これをマッチング有効性判定部１６＿２に出力する。
【００４４】
ステップＳＴ４５：
マッチング有効性判定部１６＿１は、ウィンドウマッチング部１４＿１から入力した視差データｄ３，ｄ５，ｄ９を基に、これらの視差データｄ３，ｄ５，ｄ９の有効性（信頼性）を判断する。
そして、マッチング有効性判定部１６＿１は、視差データｄ３，ｄ５，ｄ９が有効であると判断した場合に、これらのうちの何れか、あるいはこれらを基に生成した視差データを、当該処理対象の画素データの座標データＸＬの視差データｄＬ（ＸＬ）として視差データ生成部２０に出力する。
マッチング有効性判定部１６＿２は、同様に、撮像画像データＰ＿Ｒについて、当該処理対象の画素データの座標データＸＲの視差データｄＲ（ＸＲ）を視差データ生成部２０に出力する。
【００４５】
ステップＳＴ４６：
視差データ生成部２０は、マッチング有効性判定部１６＿１から入力した座標ＸＬの視差データｄＬ（ＸＬ）と、マッチング有効性判定部１６＿２から入力した座標ＸＲの視差データｄＲ（ＸＲ）とを基に、各画素データの視差データの有効性を判断し、有効な視差データのみを用いて対象画像全体の視差データを生成する。
【００４６】
以上説明したように、画像処理装置１によれば、図４に示すように、ウィンドウマッチング部１４＿１，１４＿２において、処理対象の画素データを相互にとなる位置に含む複数の第１のウィンドウデータを基に、マッチングを行い、その最小のコストデータを基に視差データを決定する。
そのため、図５を用いて説明したように、第１のウィンドウデータ内にエッジ部分を含む場合の影響を抑制でき、高精度な視差データを生成できる。
【００４７】
また、画像処理装置１によれば、ウィンドウマッチング部１４＿１，１４＿２において、図３に示すように異なるサイズの第１のウィンドウデータを用い、その視差データｄ３，ｄ５，ｄ９をマッチング有効性判定部１６＿１，１６＿２で検証することで、テクスチャレベルによる影響を抑制でき、高精度な視差データを生成できる。
【００４８】
また、画像処理装置１によれば、撮像画像データＰ＿Ｌについて、画素有効性判定部１０＿１、ペナルティ決定部１２＿１、ウィンドウマッチング部１４＿１およびマッチング有効性判定部１６＿１の処理を経て生成した視差データｄＬ（ＸＬ）と、撮像画像データＰ＿Ｒについて、画素有効性判定部１０＿２、ペナルティ決定部１２＿２、ウィンドウマッチング部１４＿２およびマッチング有効性判定部１６＿２の処理を経て生成した視差データｄＲ（ＸＲ）とを視差データ生成部２０において比較して、その有効性を検証するために、高精度な視差データを生成できる。
【００４９】
本発明は上述した実施形態には限定されない。
上述した実施形態では、Ｌ，Ｒの２系統で視差データを生成する場合を例示したが、いずれか１系統で視差データを生成しておよい。例えば、図１において、画素有効性判定部１０＿２、ペナルティ決定部１２＿２、ウィンドウマッチング部１４＿２およびマッチング有効性判定部１６＿２を用いなくてもよい。
また、上述した実施形態では、カメラＬ＿Ｃ，Ｒ＿Ｃが濃淡情報のみを示す画素データを生成する場合を例示したが、カラーの画素データを生成する場合には、それを濃淡情報のみを示す画素データに変換して画素有効性判定部１０＿１，１０＿２およびウィンドウコスト算出部１８に出力するようにしてもよい。
【産業上の利用可能性】
【００５０】
本発明は、ステレオ画像を基に視差データを生成する画像処理システムに適用可能である。
【図面の簡単な説明】
【００５１】
【図１】図１は、本発明の実施形態に係わる画像処理装置の構成図である。
【図２】図２は、カメラＲ＿Ｃ，カメラＬ＿Ｃと撮像対象ＴＡＲＧＥＴとの位置関係を説明するための図である。
【図３】図３は、図１に示すウィンドウマッチング部で用いられるウィンドウデータのサイズを説明するための図である。
【図４】図４は、図１に示すウィンドウマッチング部で用いられるウィンドウデータの種類を説明するための図である。
【図５】図５は、図１に示すウィンドウマッチング部の処理を説明するための図である。
【図６】図６は、図１に示すウィンドウマッチング部の処理を説明するためのフローチャートである。
【図７】図７は、図１に示すマッチング有効性判定部の処理を説明するためのフローチャートである。
【図８】図８は、図１に示すウィンドウコスト算出部の処理を説明するためのフローチャートである。
【図９】図９は、図１に示すウィンドウコスト算出部の処理を説明するためのフローチャートである。
【図１０】図１０は、図１に示す視差データ生成部の処理を説明するためのフローチャートである。
【図１１】図１１は、図１に示す画像処理装置の全体動作例を説明するためのフローチャートである。
【符号の説明】
【００５２】
１…画像処理装置、Ｒ＿Ｃ，Ｌ＿Ｃ…カメラ、１０＿１，１０＿２…画素有効性判定部、１２＿１，１２＿２…ペナルティ決定部、１４＿１，１４＿２…ウィンドウマッチング部、１６＿１，１６＿２…マッチング有効性判定部、１８…ウィンドウコスト算出部、２０…視差データ生成部
【図１】
2006031423.tif 000003
【図２】
2006031423.tif 000004
【図３】
2006031423.tif 000005
【図４】
2006031423.tif 000006
【図５】
2006031423.tif 000007
【図６】
2006031423.tif 000008
【図７】
2006031423.tif 000009
【図８】
2006031423.tif 000010
【図９】
2006031423.tif 000011
【図１０】
2006031423.tif 000012
【図１１】
2006031423.tif 000013