(57)【要約】  【課題】  ステレオ画像を基に、任意の位置から撮像対象を撮像したのと等価の画像を短時間で生成する画像処理方法を提供する。  【解決手段】  ビュ−インタポレ−ション回路１２は、ＤＰマッチングにより、画像データＤ＿ＬとＤ＿Ｒとの対応点を特定する度に、カメラＬ＿Ｃ，Ｒ＿Ｃの位置以外の位置で撮像したのと等価の画像内の対応点の位置を特定すると共に、その画素データを生成する。【選択図】  図１
2006031349.tif 000002
【特許請求の範囲】
【請求項１】
所定の撮像対象を第１の位置から撮像して得られた第１の画像と、前記第１の位置とは異なる第２の位置から撮像して得られた前記第２の画像とを基に、前記第１の画像内のエピポ−ラ線上の第１の点に対応する前記第２の画像内の第２のエピポ−ラ線上の第２の点を探索し、前記第１の点および前記第２の点の位置関係、並びに前記第１の画像および前記第２の画像を基に、前記第１の位置および第２の位置とは異なる第３の位置から撮像したのと等価の第３の画像を生成する画像処理方法であって、
前記第１の点と、当該第１の点に対応する前記第２の点とを、前記第１のエピポ−ラ線および前記第２のエピポ−ラ線に沿って順に特定する第１の工程と、
前記第１の点に対応した前記第１の画像内の第１の画素データと前記第２の点に対応した前記第２の画像内の第２の画素データとを基に第３の画素データを生成する第２の工程と、
前記第１の工程で前記第１の点と当該第１の点に対応する前記第２の点とを特定する度に、当該第１の点および第２の点に対応した前記第３の画像内の第３の点を特定し、前記第２の工程で生成した前記第３の画素データを、前記特定した前記第３の点に割り当てる第３の工程と
を有する画像処理方法。
【請求項２】
前記第１の工程は、
前記第１のエピポ−ラ線上の一端と前記第２のエピポ−ラ線上の一端との組を始点とし、前記第１のエピポ−ラ線上の他端と前記第２のエピポ−ラ線上の他端との組を終点として、前記第１のエピポ−ラ線と前記第２のエピポ−ラ線とによって規定されるマトリックス内の各点において、前記第１のエピポ−ラ線に沿って前記終点に向けて１区間進む第１のベクトルと、前記第２のエピポ−ラ線に沿って前記終点に向けて１区間進む第２のベクトルと、前記第１のエピポ−ラ線および前記第２のエピポ−ラ線の双方において前記終点に向けて１区間進む第３のベクトルとの何れかを選択して規定される複数のパスのうち、当該パス上の各点に対応した前記第１の点の第１の画素データと、それに対応した前記第２の点の第２の画素データとの差異を示す指標データを累積したコストを最小にする前記パスを特定し、当該特定したパス上の点を基に前記第１の点および前記第２の点を特定する
請求項１に記載の画像処理方法。
【請求項３】
前記第３の工程は、前記第１の位置、前記第２の位置および前記第３の位置の位置関係に基づいて、前記第１の点および前記第２の点に対応した前記第３の画像内の第３の点を特定する
請求項１に記載の画像処理方法。
【請求項４】
前記第３の工程は、画像用メモリ内の前記第３の点に対応したアドレスに前記第３の画素データを書き込む
請求項１に記載の画像処理方法。
【請求項５】
前記第３の工程は、前記第１の点および前記第２の点の各々を規定するアドレスの数より、前記画像用メモリ内に前記第３の画素データを書き込んだアドレスの数が多い場合に、前記第３の画素データの数が、前記第１の点および前記第２の点の各々を規定するアドレスの数と一致するように、前記画像用メモリ内の複数の前記アドレスに記憶された第３の画素データを基に単数の画素データを生成する
請求項４に記載の画像処理方法。
【請求項６】
前記第１の工程は、前記マトリックをその対向する頂点を結ぶ対角線で分けた一方の領域に属する点を前記パス上の点として用いる場合に、前記対角線に対して直交する隣接した２つの線上に位置する点について、当該点に前記始点から至るまでに累積されたコストデータをコスト用メモリに記憶し、
前記対角線に対して直交する線であって前記２つの線のうち前記終点側に位置する線に前記終点側で隣接する線上の点の前記コストデータを、前記コスト用メモリに記憶された前記コストデータを基に生成する
請求項１に記載の画像処理方法。
【請求項７】
前記第２の工程は、複数の第３の位置の各々について、前記第３の画素データを生成し、
前記第３の工程は、前記第１の工程で前記第１の点と当該第１の点に対応する前記第２の点とを特定する度に、前記複数の第３の位置の各々について、前記第１の点および第２の点に対応した当該第３の画像内の第３の点を特定し、前記第２の工程で生成した前記第３の画素データを、前記特定した前記第３の点に割り当てる
請求項１に記載の画像処理方法。
【請求項８】
所定の撮像対象を第１の位置から撮像して得られた第１の画像と、前記第１の位置とは異なる第２の位置から撮像して得られた前記第２の画像とを基に、前記第１の画像内のエピポ−ラ線上の第１の点に対応する前記第２の画像内の第２のエピポ−ラ線上の第２の点を探索し、前記第１の点および前記第２の点の位置関係、並びに前記第１の画像および前記第２の画像を基に、前記第１の位置および第２の位置とは異なる第３の位置から撮像したのと等価の第３の画像を生成する画像処理装置であって、
前記第１の点と、当該第１の点に対応する前記第２の点とを、前記第１のエピポ−ラ線および前記第２のエピポ−ラ線に沿って順に特定する対応点特定手段と、
前記第１の点に対応した前記第１の画像内の第１の画素データと前記第２の点に対応した前記第２の画像内の第２の画素データとを基に第３の画素データを生成する画素データ生成手段と、
前記対応点特定手段が前記第１の点と当該第１の点に対応する前記第２の点とを特定する度に、当該第１の点および第２の点に対応した前記第３の画像内の第３の点を特定し、前記画素データ生成手段が生成した前記第３の画素データを、前記特定した前記第３の点に割り当てる割り当て手段と
を有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像を基に、任意の位置から撮像対象を撮像したのと等価の画像を生成する画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
撮像対象を当該撮像対象に対して第１の位置に配置した左カメラと第２の位置に配置した右カメラで撮像し、両カメラで撮像した画像の対応点をエピポ−ラ線上で探索して、その対応点のずれに基づいて、前記撮像対象を前記第１の位置および第２の位置とは異なる第３の位置から撮像したのと等価の画像を生成する画像処理装置がある。
ところで、上記対応点の探索を高精度に行う手法として、ＤＰ(Dynamic Programming)
マッチング法がある。
当該ＤＰマッチング法は、例えば、右カメラで撮像した第１の画像内のエピポ−ラ線上の一端から他端に向けて順に位置する複数の点の各々において、３方向のベクトルのうち何れかを選択した複数のパスを規定し、各パスについて当該パス上の各点における第１の画像と第２の画像との差分を累積したコストを生成する（ＤＰ探索処理）。
次に、上記複数のパスのうちコストが最小のパスを選択し、当該選択したパス上の点を基に対応点を特定する（ＤＰバックトラッキング処理）。
このようなＤＰマッチング法を用いた画像処理装置では、先ず、ＤＰマッチングにより、上記対応点を特定し、当該対応点に関するデータをメモリに記憶する。
そして、メモリから対応点に関する情報を順次読み出して、その対応点に関する情報を基に、第１の画像内の第１の画素データと第２の画像内の第２の画素データを特定し、これを用いて、当該対応点に対応した上記第３の位置から撮像したのと等価の画像を構成する画素データを生成する。
【０００３】
【非特許文献１】Y.Ohta and T.Kanade,Stereo by intra-and-inter-scanline search using dynamic programming,IEEE Trans.Pattern analysis and machine intelligence,Vol.PAMI-7,No.2,pp.139-154,March,1985
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の画像処理装置では、ＤＰ探索処理およびＤＰバックトラッキング処理を行った後に、これらの処理によって取得した対応点に関する情報をメモリから順に読み出して、当該対応点に関する情報を基に、上記第３の位置から撮像したのと等価の画像を生成しているため、処理時間が長いという問題がある。
【０００５】
本発明は、上述した従来技術の問題点に鑑みてなされ、所定の撮像対象を第１の位置から撮像して得られた第１の画像と、前記第１の位置とは異なる第２の位置から撮像して得られた前記第２の画像とを基に、前記第１の位置および第２の位置とは異なる第３の位置から撮像したのと等価の第３の画像を短時間で生成できる画像処理方法および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した従来技術の問題点を解決し、上述した目的を達成するために、第１の発明の画像処理方法は、所定の撮像対象を第１の位置から撮像して得られた第１の画像と、前記第１の位置とは異なる第２の位置から撮像して得られた前記第２の画像とを基に、前記第１の画像内のエピポ−ラ線上の第１の点に対応する前記第２の画像内の第２のエピポ−ラ線上の第２の点を探索し、前記第１の点および前記第２の点の位置関係、並びに前記第１の画像および前記第２の画像を基に、前記第１の位置および第２の位置とは異なる第３の位置から撮像したのと等価の第３の画像を生成する画像処理方法であって、前記第１の点と、当該第１の点に対応する前記第２の点とを、前記第１のエピポ−ラ線および前記第２のエピポ−ラ線に沿って順に特定する第１の工程と、前記第１の点に対応した前記第１の画像内の第１の画素データと前記第２の点に対応した前記第２の画像内の第２の画素データとを基に第３の画素データを生成する第２の工程と、前記第１の工程で前記第１の点と当該第１の点に対応する前記第２の点とを特定する度に、当該第１の点および第２の点に対応した前記第３の画像内の第３の点を特定し、前記第２の工程で生成した前記第３の画素データを、前記特定した前記第３の点に割り当てる第３の工程とを有する。
【０００７】
第１の発明の画像処理方法の作用は以下のようになる。
先ず、第１の工程において、第１の点と、当該第１の点に対応する前記第２の点とを、前記第１のエピポ−ラ線および前記第２のエピポ−ラ線に沿って順に特定する。
次に、第２の工程において、前記第１の点に対応した前記第１の画像内の第１の画素データと前記第２の点に対応した前記第２の画像内の第２の画素データとを基に第３の画素データを生成する。
次に、第３の工程において、前記第１の工程で前記第１の点と当該第１の点に対応する前記第２の点とを特定する度に、当該第１の点および第２の点に対応した前記第３の画像内の第３の点を特定し、前記第２の工程で生成した前記第３の画素データを、前記特定した前記第３の点に割り当てる。
【０００８】
第２の発明の画像処理装置は、所定の撮像対象を第１の位置から撮像して得られた第１の画像と、前記第１の位置とは異なる第２の位置から撮像して得られた前記第２の画像とを基に、前記第１の画像内のエピポ−ラ線上の第１の点に対応する前記第２の画像内の第２のエピポ−ラ線上の第２の点を探索し、前記第１の点および前記第２の点の位置関係、並びに前記第１の画像および前記第２の画像を基に、前記第１の位置および第２の位置とは異なる第３の位置から撮像したのと等価の第３の画像を生成する画像処理装置であって、前記第１の点と、当該第１の点に対応する前記第２の点とを、前記第１のエピポ−ラ線および前記第２のエピポ−ラ線に沿って順に特定する対応点特定手段と、前記第１の点に対応した前記第１の画像内の第１の画素データと前記第２の点に対応した前記第２の画像内の第２の画素データとを基に第３の画素データを生成する画素データ生成手段と、前記対応点特定手段が前記第１の点と当該第１の点に対応する前記第２の点とを特定する度に、当該第１の点および第２の点に対応した前記第３の画像内の第３の点を特定し、前記画素データ生成手段が生成した前記第３の画素データを、前記特定した前記第３の点に割り当てる割り当て手段とを有する。
【０００９】
第２の発明の画像処理装置の作用は以下のようになる。
先ず、対応点特定手段が、第１の点と、当該第１の点に対応する前記第２の点とを、前記第１のエピポ−ラ線および前記第２のエピポ−ラ線に沿って順に特定する。
また、画素データ生成手段が、前記第１の点に対応した前記第１の画像内の第１の画素データと前記第２の点に対応した前記第２の画像内の第２の画素データとを基に第３の画素データを生成する。
そして、割り当て手段が、前記対応点特定手段が前記第１の点と当該第１の点に対応する前記第２の点とを特定する度に、当該第１の点および第２の点に対応した前記第３の画像内の第３の点を特定し、前記画素データ生成手段が生成した前記第３の画素データを、前記特定した前記第３の点に割り当てる。
【発明の効果】
【００１０】
本発明によれば、所定の撮像対象を第１の位置から撮像して得られた第１の画像と、前記第１の位置とは異なる第２の位置から撮像して得られた前記第２の画像とを基に、前記第１の位置および第２の位置とは異なる第３の位置から撮像したのと等価の第３の画像を短時間で生成できる画像処理方法および画像処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態に係わる画像処理装置を図１〜図１５を参照して説明する。
先ず、本実施形態の画像処理装置の構成要素と、本発明の構成要素との対応関係を説明する。
本実施形態の画像データＤ＿Ｌが本発明の第１の画像に対応し、画像データＤ＿Ｒが本発明の第２の画像に対応し、画像データＰ＿Ｖが本発明の第３の画像に対応している。
また、図２に示すカメラＬ＿Ｃの位置が本発明の第１の位置に対応し、カメラＲ＿Ｃの位置に本発明の第２の位置に対応し、受光面８＿Ｖ（（ｎ／２M ）Ｂ）の位置が第３の位置に対応している。
また、本実施形態の第１の点、第２の点、第３の点（投影点）が、本発明の第１の点、第２の点および第３の点にそれぞれ対応している。
また、本実施形態の画素データＰＩＸ＿Ｌが本発明の第１の画素データに対応し、本実施形態の画素データＰＩＸ＿Ｒが本発明の第２の画素データに対応し、本実施形態の画素データＰＩＸ＿Ｖが本発明の第３の画素データに対応している。
また、本実施形態の画像データＤ＿Ｌ内の第１のエピポ−ラ線が本発明の第１のエピポ−ラ線に対応し、本実施形態の画像データＤ＿Ｒ内の第２のエピポ−ラ線が本発明の第２のエピポ−ラ線に対応している。
また、本実施形態のコスト用メモリが本発明のコスト用メモリに対応し、本実施形態のアップサンプルバッファメモリが本発明の画像用メモリに対応している。
【００１２】
また、図１５に示すステップＳＴ２５が第１の発明の第１の工程および第３の工程に対応し、ステップＳＴ２６，ＳＴ２７が第１の発明の第２の工程に対応している。
また、図４に示すビュ−インタポレ−ション処理回路３８が、第２の発明の対応点特定手段、画素データ生成手段および割り当て手段に対応している。
【００１３】
図１は、本実施形態に係わる画像処理装置１の構成図である。
図１に示すように、画像処理装置１は、例えば、カメラＲ＿Ｃ、カメラＬ＿Ｃ、前処理回路１０およびビュ−インタポレ−ション回路１２およびインタフェース１４を有する。
【００１４】
＜カメラＲ＿Ｃ，カメラＬ＿Ｃ＞
図２は、カメラＲ＿Ｃ，カメラＬ＿Ｃと撮像対象ＴＡＲＧＥＴとの位置関係を説明するための図である。
図２に示すように、カメラＲ＿Ｃ，カメラＬ＿Ｃは、撮像対象ＴＡＧＥＴに対応して対向して配設される。
画像処理装置１は、例えば、パーソナルコンピュータなどに組み込まれる。この場合に、カメラＲ＿ＣおよびカメラＬ＿Ｃは、例えば、ユーザの顔の位置の左右両側に配設され、ユーザの顔を撮像対象ＴＡＲＧＥＴとする。
カメラＲ＿Ｃは、受光面８＿Ｒの結像結果に応じた撮像画像データＰ＿Ｒを前処理回路１０に出力する。
【００１５】
カメラＬ＿Ｃは、受光面８＿Ｌの結像結果に応じた撮像画像データＰ＿Ｌを前処理回路１０に出力する。
カメラＲ＿Ｃの受光面８＿Ｒの結像結果に応じた撮像画像データＰ＿Ｒと、カメラＬ＿Ｃの受光面８＿Ｌの結像結果に応じた撮像画像データＰ＿Ｌとの間にはエピポーラ拘束が成り立つ。すなわち、撮像画像データＰ＿Ｒ内の各点には、それに対応した第１のエピポ−ラ線が１本定まり、その第１のエピポ−ラ線と対応して撮像画像データＰ＿Ｌ内に１本の第２のエピポ−ラ線が定まる。
ここで、図２に示すように、受光面８＿Ｌと受光面８＿Ｒとの距離を「１」とした場合に、受光面８＿Ｌに対して受光面８＿Ｒに向けて距離αに位置する受光面８＿Ｖを仮想的に考える。
そして、受光面８＿Ｖの位置を「αＢ」と記す。
画像処理装置１は、受光面８＿Ｖで撮像されたのと等価の画像データＰ＿Ｖを生成する。
【００１６】
＜前処理回路１０＞
前処理回路１０は、カメラＲ＿Ｃ，Ｌ＿Ｃから入力した撮像画像データＰ＿Ｒ，Ｐ＿Ｌに対してレクティファイ処理および背景除去処理を行う。
図１に示すように、前処理回路１０は、例えば、ＳＤＲＡＭ２２，２３、フラッシュメモリ２４，２５、ＳＤＲＡＭ２６および処理回路２７を有する。
前処理回路１０は、カメラＬ＿Ｃから入力した撮像画像データＰ＿ＬをＳＤＲＡＭ２２に一時的に書き込み、フラッシュメモリ２４に記憶されたレクティフィケーションテーブルデータに基づいて、ＳＤＲＡＭ２２から読み出した撮像画像データＰ＿Ｌにレクティファイ処理（平行化処理）を施す。
当該レクティファイ処理は、カメラＲ＿ＣとカメラＬ＿Ｃとの光軸が平行でないことに起因する撮像画像データＰ＿Ｒと撮像画像データＰ＿Ｌとの幾何学的なずれを補正する処理である。
【００１７】
前処理回路１０は、カメラＲ＿Ｃから入力した撮像画像データＰ＿ＲをＳＤＲＡＭ２３に一時的に書き込み、フラッシュメモリ２５に記憶されたレクティフィケーションテーブルデータに基づいて、ＳＤＲＡＭ２３から読み出した撮像画像データＰ＿Ｒにレクティファイ処理を施す。
次に、前処理回路１０は、レクティファイ処理が施された撮像画像データＰ＿Ｌ，Ｐ＿Ｒから、ＳＤＲＡＭ２６から読み出した背景画像データを差し引いた画像データＤ＿Ｌ，Ｄ＿Ｒをそれぞれ生成し、これをビュ−インタポレ−ション回路１２に出力する。
【００１８】
＜ビュ−インタポレ−ション回路１２＞
図４は、図１に示すビュ−インタポレ−ション回路１２の構成図である。
図４に示すように、ビュ−インタポレ−ション回路１２は、例えば、画素データ管理回路３２、コスト算出・パス決定回路３４、パス決定回路３６、ビュ−インタポレ−ション処理回路３８および出力回路４０を有する。
ビュ−インタポレ−ション回路１２は、図２に示すように、例えば、カメラＲ＿Ｃ，Ｌ＿Ｃの受光面８＿Ｌ，８＿Ｒとの間に位置する仮想的な受光面８＿Ｖで撮像したのと等価の画像データＰ＿Ｖを生成する。
【００１９】
先ず、ビュ−インタポレ−ション回路１２の機能について説明する。
ビュ−インタポレ−ション回路１２は、図３に示すように、画像データＤ＿Ｌ，Ｄ＿Ｒを基に、ＤＰマッチング法により、画像データＤ＿ＬとＤ＿Ｒとの画素データの対応点を規定する複数のパスについてのコストデータを算出し、上記複数のパスのうち上記コストデータが最小となるパスを特定する（ＤＰ探索処理）。
そして、ビュ−インタポレ−ション回路１２は、図３に示すように、上記探索処理で特定したパス上の各点について、当該点を規定する画像データＤ＿Ｌ内の第１のエピポ−ラ線上の第１の点と、画像データＤ＿Ｒ内の第２のエピポ−ラ線上の第２の点とを特定する（ＤＰバックトラック処理）。ここで、第２の点は、第１の点の対応点である。
ビュ−インタポレ−ション回路１２は、図３に示すように、上記パス上の各点についての第１の点および第２の点を特定する度に、それに対応した仮想的な画像データＰ＿Ｖ上の点の画素データを補間処理により生成する（補間処理）。
【００２０】
先ず、ビュ−インタポレ−ション回路１２が行うＤＰマッチングによる探索処理について説明する。
図５は、ビュ−インタポレ−ション回路１２が行うＤＰマッチングによる探索処理を説明するためのマトリックスの図である。
図５において、横軸は、画像データＤ＿Ｌのエピポ−ラ線の一端（ＳＴＡＲＴ）から他端（ＥＮＤ）までの位置を示している。
また、縦軸は、画像データＤ＿Ｒのエピポ−ラ線の一端（ＳＴＡＲＴ）から他端（ＥＮＤ）までの位置を示している。
図５に示すマトリックス内の各点は、（ＸＬ，ＸＲ）の組によって規定される。
ここで、ＸＬは画像データＤ＿Ｌ内の処理対象の第１のエピポ−ラ線（スキャンライン）上の座標を示し、ＸＲは画像データＤ＿Ｒ内の処理対象の第２のエピポ−ラ線上の座標を示している。
画像データＤ＿ＬとＤ＿Ｒとの対応点は、図５に示すように、ＸＬ≧ＸＲを満たす点のみを用いて規定できる。
【００２１】
ビュ−インタポレ−ション回路１２は、画像データＤ＿Ｌ，Ｄ＿Ｒの他端（ＳＴＡＲＴ）から一端（ＥＮＤ）に向けて、対応点を選択することでパスを規定する。
このとき、ビュ−インタポレ−ション回路１２は、図５に示す格子の各点（ＸＬ，ＸＲ）において、図６（Ａ）に示す３つのベクトルで規定された点（ＸＬ，ＸＲ＋１），（ＸＬ，ＸＲ），（ＸＬ＋１，ＸＲ）のみを選択対象とする。
すなわち、ビュ−インタポレ−ション回路１２は、処理対象の各点において、点（ＸＬ１，ＸＲ＋１），（ＸＬ＋１，ＸＲ＋１），（ＸＬ＋１，ＸＲ）のうち何れかを選択してパスを規定し、当該パス上の各点の差分である指標データを累積したコストデータを生成する。
ここで、点（ＸＬ１，ＸＲ＋１）は水平方向のベクトル、（ＸＬ，ＸＲ）は対角方向のベクトル、（ＸＬ＋１，ＸＲ）は垂直方向のベクトルによって規定される。
このとき、ビュ−インタポレ−ション回路１２は、他端（ＳＴＡＲＴ）から一端（ＥＮＤ）に向けて各点を順に選択してパスを規定したときに、当該パスのコストデータを算出する。
ビュ−インタポレ−ション回路１２は、図５に示す格子を基に、画像データＤ＿Ｌ，Ｄ＿Ｒの他端（ＳＴＡＲＴ）から一端（ＥＮＤ）に向けて、対応点を異なるパターンで選択することで複数のパスを規定し、そのパスについてのコストデータを算出する。
なお、ビュ−インタポレ−ション回路１２は、例えば、画像データＤ＿Ｒ，Ｄ＿Ｌの画素値の差分（差異）、当該画素を含む所定領域内の画素値の差分の累積値などの指標データをパス上の各点について累積してコストデータを生成する。
【００２２】
次に、ビュ−インタポレ−ション回路１２が行うＤＰバックトラック処理および補間処理について説明する。
ビュ−インタポレ−ション回路１２は、上記複数のパスのうちコストが最小のパスを選択する。
次に、ビュ−インタポレ−ション回路１２は、上記選択したパス上の点を図６（Ｂ）に示す３つのベクトルで規定された点（ＸＬ−１，ＸＲ），（ＸＬ−１，ＸＲ−１），（ＸＬ，ＸＲ−１）を基に特定し、その点に対応した上述した画像データＤ＿Ｌ内の第１のエピポ−ラ線上の第１の点と画像データＤ＿Ｒ内の第２のエピポ−ラ線上の第２の点とを特定する。
この処理をバックトラック処理と呼ぶ。
【００２３】
ビュ−インタポレ−ション回路１２は、例えば、図７に示すように、他端（ＳＴＡＲＴ）から一端（ＥＮＤ）に向けて探索処理を行い、それによって得たパスのコストデータが最小の場合に、図８に示すように、一端（ＥＮＤ）から他端（ＳＴＡＲＴ）に向けて、そのパスのバックトラック処理を行う。
【００２４】
ビュ−インタポレ−ション回路１２は、当該パス上の点（第１の点および第２の点を規定する点）の各々について、図９に示すように、仮想的な受光面である（１／２）Ｂ、（１／４）Ｂおよび（３／４）Ｂへの投影点である第３の点を決定する。
ここで、１／２，１／４，３／４は、図２を用いて説明した「α」である。
例えば、図１０に示すように、ビュ−インタポレ−ション回路１２は、マトリックス上で、上述したＤＰマッチングで選択したパス上の点（ＸＬ，ＸＲ）を、受光面（１／４）Ｂ内のエピポ−ラ線上に投影する。
【００２５】
ここで、例えば、図１１に示すように、受光面が（１／２）Ｂである場合に、パス上の点（ＸＬ，ＸＲ）から水平および垂直方向のベクトルによって規定される点は共に当該受光面の点Ｓとして投影される。また、パス上の点（ＸＬ，ＸＲ）から対角方向のベクトルによって規定される点は当該受光面の点Ｔ（第３の点）として投影される。すなわち、点点（ＸＬ，ＸＲ）からのベクトルによって、当該受光面上に異なる２つの位置に投影が行われる。
このため、当該投影を行うために、当該受光面のエピポ−ラ線上の第３の点の画素データを格納するアドレスは、画像データＤ＿Ｌ，Ｄ＿Ｒの画素データを格納するアドレスの２倍必要となる。
【００２６】
また、例えば、図１２に示すように、受光面が（１／４）Ｂである場合に、パス上の点（ＸＬ，ＸＲ）から水平、垂直および対角方向のベクトルによって規定される点は、それぞれ当該受光面の点Ｅ，Ｆ，Ｇ（第３の点）として投影される。すなわち、点（ＸＬ，ＸＲ）からのベクトルによって、当該受光面上に異なる３つの位置に投影が行われる。
受光面が（３／４）Ｂである場合も同様である。
このため、当該投影を行うために、当該受光面のエピポ−ラ線上の第３の点の画素データを格納するアドレスは、画像データＤ＿Ｌ，Ｄ＿Ｒの画素データを格納するアドレスの４倍必要となる。
【００２７】
一般化すると、ｎを２M より小さい奇数、Ｍを２以上の整数とし、受光面が（ｎ／２M
）Ｂである場合に、当該受光面のエピポ−ラ線上の第３の点の画素データを格納するアドレスは、画像データＤ＿Ｌ，Ｄ＿Ｒの画素データを格納するアドレスの２M 倍必要となる。
【００２８】
ところで、図１０に示すように、仮想的な受光面（１／４）Ｂを考えると、当該受光面（１／４）Ｂの図１０に示す線と、図１０に示す円の直径との間の角度βは、例えば、「β＝ａｒｃｔｇ（１／２）」となる。
同様に、受光面が（ｎ／２M ）Ｂで「ｎ＜２M-1 」の場合には、角度βは下記式（１）で示される。
【００２９】
（数１）
β＝ａｒｃｔｇ（１−（ｎ／２M-1 ））
…（１）
【００３０】
同様に、受光面が（ｎ／２M ）Ｂで「ｎ＞２M-1 」の場合には、角度βは下記式（２）で示される。
【００３１】
（数２）
β＝ａｒｃｔｇ（（ｎ／２M-1 ）−１）
…（２）
【００３２】
ビュ−インタポレ−ション回路１２は、上述した第３の点（投影点）に対応するアップサンプリングメモリ内のアドレスに、パス上の対応する点によって規定される第１の点の画素データＰＩＸ＿Ｌと第２の点の画素デーＰＩＸ＿Ｒとを基に補間処理を行って生成した第３の画素データＰＩＸ＿Ｖを書き込む。
当該処理を、補間処理と呼ぶ。
【００３３】
以下、図４に示す各構成要素について説明する。
〔画素データ管理回路３２〕
画素データ管理回路３２は、前処理回路１０から入力した画像データＤ＿Ｌ，Ｄ＿Ｒを所定のアドレスに記憶し、コスト算出・パス決定回路３４から指定されたアドレスから画像データＤ＿Ｌを構成する第１の画素データＩ＿Ｌおよび画像データＤ＿Ｒを構成する画素データＩ＿Ｒを読み出してコスト算出・パス決定回路３４に出力する。
【００３４】
〔コスト算出・パス決定回路３４〕
コスト算出・パス決定回路３４は、図３に示すＤＰ探索処理を行う。
コスト算出・パス決定回路３４は、上述したＤＰ探索処理で説明したように、複数のパスの各々について順に、当該パス上の点に対応した画像データＤ＿Ｌの第１の点と画像データＤ＿Ｒの第２の点とのアドレスを画素データ管理回路３２に出力し、その画素データを入力する。
そして、コスト算出・パス決定回路３４は、画素データ管理回路３２から入力した第１の点の画素データＰＩＸ＿Ｌと第２の点の画素データＰＩＸ＿Ｒとを基に、その差異を示す指標データを生成し、これをパス上の全ての点について累積してコストデータＣＯＳＴを生成する。
なお、コスト算出・パス決定回路３４は、画像データＤ＿Ｌ内の第１の点の周囲の所定の領域の画素データＰＩＸ＿Ｌと、画像データＤ＿Ｒ内の第２の点の周囲の所定の領域の画素データＰＩＸ＿Ｒとの画素データ間の差分の総和を上記指標データとして生成してもよい。
【００３５】
このとき、コスト算出・パス決定回路３４は、図１３（Ａ）に示すように、例えば、上述したマトリックスについて、一端（ＳＴＡＲＴ）から他端（ＥＮＤ）に向けてパスを構成する点を選択する過程で、対角線ＤＩＧに直交する方向のラインＬＩＮＥ上に位置する点について、当該点に至るまでに累積したコストデータをコスト用メモリに記憶する。
コスト算出・パス決定回路３４は、図１３（Ｂ）に示すように、２ライン（ＬＩＮＥ１，ＬＩＮＥ２）分のコストデータを上記コスト用メモリに記憶する。
コスト算出・パス決定回路３４は、図１３（Ｂ）に示すように、上記マメトリックス上の処理対象の点に対して、前述した図６（Ａ）に示す３つのベクトルの原点（ＯＲＩＧＩＮ）の各々について、コスト用メモリに記憶されたラインＬＩＮＥ１，ＬＩＮＥ２のコストデータが最小の点を選択し、その最小のコストデータと、当該処理対象の点についての上記指標データとを加算して、当該処理対象の点のコストデータを生成する。
コスト算出・パス決定回路３４は、上述したコストデータを生成する過程で、処理対象の点について得たコストデータに対応したパスを得るのに用いた上述したベクトル列を、当該処理対象の点に対応付けて記憶する。当該ベクトル列は、前述したＤＰバックトラック処理に用いられる。
コスト算出・パス決定回路３４は、図１３等に示すマトリックス上で他端（ＥＮＤ）の上記コストデータを算出すると、コストデータが最小となるパスを得るのに用いたベクトル列を取得する。
また、コスト算出・パス決定回路３４は、上記処理対象の点が属するラインについて算出したコストデータを、コスト用メモリに記憶されたラインＬＩＮＥ１のコストデータが記憶されたアドレスに上書きする。
【００３６】
〔ビュ−インタポレ−ション処理回路３８〕
ビュ−インタポレ−ション処理回路３８は、図３に示すＤＰバックトラック処理および補間処理を行う。
ビュ−インタポレ−ション処理回路３８は、コスト算出・パス決定回路３４において取得したコストデータを最小とするパスを一端（ＥＮＤ）から他端（ＳＴＡＲＴ）に向けて、そのペクトル列を基にトラバースを行い、当該パス上の点に対応した第１の点および第２の点を特定し、当該第１の点の画素データＰＩＸ＿Ｌと第２の点の画素データＰＩＸ＿Ｒとを基に、投影画像データ内の対応する第３の点の画素データＰＩＸ＿Ｖを生成する。
また、ビュ−インタポレ−ション処理回路３８は、投影画像データに対応する受光面が（ｎ／２M ）Ｂの場合に、上述した式（１），（２）を基に、図１０に示す円の直径と受光面（ｎ／２M ）に対応する線との間の角度βを算出する。
次に、ビュ−インタポレ−ション処理回路３８は、上記角度βを基に、上記パス上の点を、図１０等において受光面（ｎ／２M ）に対応する線上（エピポ−ラ線上）に投影したときの当該線上の第３の点を特定する。
ところで、ビュ−インタポレ−ション処理回路３８は、受光面（ｎ／２M ）の投影画像データを記憶するために、画像データＤ＿Ｌ，Ｄ＿Ｒのアドレスを２M 倍にしたアドレスを持つアップサンプルバッファを備えている。
ビュ−インタポレ−ション処理回路３８は、上述した画素データＰＩＸ＿Ｖを、上記アップサンプルバッファ内の上記特定した線上の第３の点に対応するアドレスに書き込む。
これまでの処理が、図１４に示すステップＳＴ１１に示すアップサンプルバッファへの投影処理に対応している。
【００３７】
次に、ビュ−インタポレ−ション処理回路３８は、上記パス上の全ての点（処理対象のスキャンライン）について上述した投影処理を完了すると、画像データＤ＿Ｌ，Ｄ＿Ｒの画素データを記憶するアドレス数Ｎ＿ＡＤＲを越えるアップサンプルバッファ内のアドレスに画素データＰＩＸ＿Ｖが記憶されているか否かを判断する（図１４に示すステップＳＴ１２）。
そして、ビュ−インタポレ−ション処理回路３８は、アドレス数Ｎ＿ＡＤＲを越えるアップサンプルバッファ内のアドレスに画素データＰＩＸ＿Ｖが記憶されていると判断した場合に、これをアドレス数Ｎ＿ＡＤＲとなるように、ダウンサンプル処理を行う（図１４に示すステップＳＴ１３）。
具体的には、ビュ−インタポレ−ション処理回路３８は、アップサンプルバッファメモリ内のアドレスを２M の区間に分割し、各区間において、その区間に属するアドレスに記憶された画素データＰＩＸ＿Ｖの平均値を算出し、当該平均値を当該区間に対応した投影画像用メモリ内のアドレスに格納する。このとき、投影画像用メモリの容量は、画像データＤ＿Ｌ，Ｄ＿Ｒの各々を記憶する画像用メモリの容量と同じである。
【００３８】
その後、ビュ−インタポレ−ション処理回路３８は、上記アップサンプルバッファメモリをクリアして、次のスキャンラインについて上述した処理を行う（図１４に示すステップＳＴ１３）。
そして、画像データＤ＿Ｌ，Ｄ＿Ｒ内の全てのスキャンラインについて、図１４に示すステップＳＴ１１，ＳＴ１２，ＳＴ１３の処理が完了すると、投影画像用メモリ内に、受光面（ｎ／２M ）に対応した画像データＰ＿Ｖが記憶される（図１４に示すステップＳＴ１４）。
【００３９】
なお、ビュ−インタポレ−ション処理回路３８は、複数の受光面（ｎ／２M ）に対応した画像データＰ＿Ｖを生成する場合に、それぞれに対応したアップサンプルバッファメモリおよび投影画像用メモリを備え、上述したパス上の各点を特定する度に、上述した投影処理を並列に行う。
【００４０】
以下、図１に示す画像処理装置１の動作例を説明する。
図１５は、図１に示す画像処理装置１の動作例を説明するためのフローチャートである。
ステップＳＴ２１：
カメラＲ＿Ｃ，Ｌ＿Ｃで撮像対象ＴＡＲＧＥＴを撮像し、その撮像画像データＰ＿Ｌ，Ｐ＿Ｒが図１に前処理回路１０に出力される。
ステップＳＴ２２：
前処理回路１０は、ステップＳＴ２１で入力した撮像画像データＰ＿Ｌ，Ｐ＿Ｒに対して、レクティファイ処理および背景除去処理を施して、画像データＤ＿Ｌ，Ｄ＿Ｒを生成し、これをビュ−インタポレ−ション回路１２に出力する。
ステップＳＴ２３：
図４に示すビュ−インタポレ−ション回路１２のコスト算出・パス決定回路３４が、画像データＤ＿Ｌ，Ｄ＿Ｒ内の選択したスキャンラインについて、前述したようにＤＰ探索処理を行い、コストデータを最小とするパスを特定する。
【００４１】
ステップＳＴ２４：
図４に示すビュ−インタポレ−ション回路１２のビュ−インタポレ−ション処理回路３８が、ステップＳＴ２３で特定したパスについて、前述したＤＰバックトラック処理を開始する。
ステップＳＴ２５：
ビュ−インタポレ−ション処理回路３８が、ＤＰバックトラック処理において、処理対象のパス上で順次選択した点について、当該点に対応した画像データＤ＿Ｌ内の第１の点と画像データＤ＿Ｒ内の第２の点とを特定し、続いて、これを基に当該点に対応した受光面（ｎ／２M ）内のエピポ−ラ線上の第３の点（投影点）を特定する。
ステップＳＴ２６：
ビュ−インタポレ−ション処理回路３８が、上記選択したパス上の点に対応した画像データＤ＿Ｌ内の第１の点の画素データＰＩＸ＿Ｌと、画像データＤ＿Ｒ内の第２の点の画素データＰＩＸ＿Ｒとを基に補間処理を行って、第３の点に割り当てる画素データＰＩＸ＿Ｖを生成する。
【００４２】
ステップＳＴ２７：
ビュ−インタポレ−ション処理回路３８が、ステップＳＴ２５で特定した第３の点に対応した投影画像用メモリ内のアドレスに、ステップＳＴ２６で生成した画素データＰＩＸ＿Ｖを書き込む。なお、このとき、必要に応じて、ダウンサンプリング処理が行われる。
ステップＳＴ２８：
ビュ−インタポレ−ション処理回路３８は、選択したパス上の全ての点についてステップＳＴ２４〜ＳＴ２７の処理を完了したか否かを判断し、完了したと判断すると処理を終了し、そうでない場合にはステップＳＴ２９に進む。
ステップＳＴ２９：
ビュ−インタポレ−ション処理回路３８は、選択したパス上の次の点を選択してステップＳＴ２５に処理に戻る。
ステップＳＴ３０：
ビュ−インタポレ−ション処理回路３８は、画像データＤ＿Ｌ，Ｄ＿Ｒ内の全てのスキャンライについてＤＰバックトラック処理を完了したか否かを判断し、完了したと判断すると処理を終了し、そうでない場合にはステップＳＴ３１に進む。
ビュ−インタポレ−ション処理回路３８は、完了したと判断すると、最終的に生成した画像データＰ＿Ｖを図４に示す出力回路４０を介して出力する。
ステップＳＴ３１：
ビュ−インタポレ−ション処理回路３８は、次のスキャンラインを選択してステップＳＴ２３の処理に戻る。
【００４３】
以上説明したように、画像処理装置１では、ＤＰバックトラック処理において、画像データＤ＿Ｌ，Ｄ＿Ｒ内の第１おび第２の点を特定する度に、受光面（ｎ／２M ）内のエピポ−ラ線上の第３の点（投影点）を特定し、第３の点に対応した投影画像用メモリ内のアドレスに、画素データＰＩＸ＿Ｖを書き込む。
そのため、画像処理装置１によれば、ＤＰバックトラック処理を終了したタイミングで、受光面（ｎ／２M ）に対応した画像データＰ＿Ｖを取得でき、従来に比べて短時間で画像データＰ＿Ｖを取得できる。
【００４４】
また、画像処理装置１によれば、上述した第３の点を特定する度に、複数の受光面（ｎ／２M ）に対応した画像データＰ＿Ｖを並列に生成することで、ＤＰバックトラック処理を終了したタイミングで、これらの複数の受光面に対応した画像データＰ＿Ｖを取得できる。
【００４５】
また、画像処理装置１によれば、図１３に示すように、コストデータを生成してコスト用メモリに記憶するとおで、２ライン分のコストデータを記憶するコスト用メモリを用いればよく、メモリを縮小化できる。
【００４６】
本発明は上述した実施形態には限定されない。
上述した実施形態では、ＤＰマッチング法を用いた場合を例示したが、上記第１の点と上記第２の点とを特定し、当該特定した点を基に上記第３の点を特定し、当該第３の点について画素データを割り当てるその他の手法を用いる場合にも本発明を同様に適用可能である。
【産業上の利用可能性】
【００４７】
本発明は、ステレオ画像を基に、任意の位置から撮像対象を撮像したのと等価の画像を生成するシステムに適用可能である。
【図面の簡単な説明】
【００４８】
【図１】図１は、本発明の実施形態に係わる画像処理装置の構成図である。
【図２】図２は、カメラＲ＿Ｃ，カメラＬ＿Ｃと撮像対象ＴＡＲＧＥＴとの位置関係を説明するための図である。
【図３】図３は、図１に示すビュ−インタポレ−ション回路の処理を説明するためのである。
【図４】図４は、図１に示すビュ−インタポレ−ション回路の構成図である。
【図５】図５は、図１に示すビュ−インタポレ−ション回路が行うＤＰ探索処理を説明するためのである。
【図６】図６は、図１に示すビュ−インタポレ−ション回路が行うＤＰ探索処理を説明するためのである。
【図７】図７は、図１に示すビュ−インタポレ−ション回路が行うＤＰ探索処理を説明するためのである。
【図８】図８は、図１に示すビュ−インタポレ−ション回路が行うＤＰバックトラック処理を説明するための図である。
【図９】図９は、図１に示すビュ−インタポレ−ション回路が行う投影点（第３の点）の特定処理を説明するための図である。
【図１０】図１０は、図１に示すビュ−インタポレ−ション回路が行う投影点（第３の点）の特定処理を説明するための図である。
【図１１】図１１は、図１に示すビュ−インタポレ−ション回路が行う投影点（第３の点）の特定処理を説明するための図である。
【図１２】図１２は、図１に示すビュ−インタポレ−ション回路が行う投影点（第３の点）の特定処理を説明するための図である。
【図１３】図１３は、図１に示すビュ−インタポレ−ション回路が行うコストデータ生成処理を説明するための図である。
【図１４】図１４は、図１に示すビュ−インタポレ−ション回路が行う複数の位置の撮像結果と等価の画像を生成する処理を説明するための図である。
【図１５】図１５は、図１に示す画像処理装置の全体動作例を説明するためのフローチャートである。
【符号の説明】
【００４９】
１…画像処理装置、Ｒ＿Ｃ，Ｌ＿Ｃ…カメラ、１０…前処理回路、１２…ビュ−インタポレ−ション回路、３２…画素データ管理回路、３４…コスト算出・パス決定回路、３８…ビュ−インタポレ−ション処理回路、４０…出力回路
【図１】
2006031349.tif 000003
【図２】
2006031349.tif 000004
【図３】
2006031349.tif 000005
【図４】
2006031349.tif 000006
【図５】
2006031349.tif 000007
【図６】
2006031349.tif 000008
【図７】
2006031349.tif 000009
【図８】
2006031349.tif 000010
【図９】
2006031349.tif 000011
【図１０】
2006031349.tif 000012
【図１１】
2006031349.tif 000013
【図１２】
2006031349.tif 000014
【図１３】
2006031349.tif 000015
【図１４】
2006031349.tif 000016
【図１５】
2006031349.tif 000017