説明

画像処理方法および画像処理装置

【課題】 ステレオ画像を基に、任意の位置から撮像対象を撮像したのと等価の画像を短時間で生成する画像処理方法を提供する。
【解決手段】 ビュ−インタポレ−ション回路12は、DPマッチングにより、画像データD_LとD_Rとの対応点を特定する度に、カメラL_C,R_Cの位置以外の位置で撮像したのと等価の画像内の対応点の位置を特定すると共に、その画素データを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ステレオ画像を基に、任意の位置から撮像対象を撮像したのと等価の画像を生成する画像処理方法および画像処理装置に関する。
【背景技術】
【0002】
撮像対象を当該撮像対象に対して第1の位置に配置した左カメラと第2の位置に配置した右カメラで撮像し、両カメラで撮像した画像の対応点をエピポ−ラ線上で探索して、その対応点のずれに基づいて、前記撮像対象を前記第1の位置および第2の位置とは異なる第3の位置から撮像したのと等価の画像を生成する画像処理装置がある。
ところで、上記対応点の探索を高精度に行う手法として、DP(Dynamic Programming)
マッチング法がある。
当該DPマッチング法は、例えば、右カメラで撮像した第1の画像内のエピポ−ラ線上の一端から他端に向けて順に位置する複数の点の各々において、3方向のベクトルのうち何れかを選択した複数のパスを規定し、各パスについて当該パス上の各点における第1の画像と第2の画像との差分を累積したコストを生成する(DP探索処理)。
次に、上記複数のパスのうちコストが最小のパスを選択し、当該選択したパス上の点を基に対応点を特定する(DPバックトラッキング処理)。
このようなDPマッチング法を用いた画像処理装置では、先ず、DPマッチングにより、上記対応点を特定し、当該対応点に関するデータをメモリに記憶する。
そして、メモリから対応点に関する情報を順次読み出して、その対応点に関する情報を基に、第1の画像内の第1の画素データと第2の画像内の第2の画素データを特定し、これを用いて、当該対応点に対応した上記第3の位置から撮像したのと等価の画像を構成する画素データを生成する。
【0003】
【非特許文献1】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
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の画像処理装置では、DP探索処理およびDPバックトラッキング処理を行った後に、これらの処理によって取得した対応点に関する情報をメモリから順に読み出して、当該対応点に関する情報を基に、上記第3の位置から撮像したのと等価の画像を生成しているため、処理時間が長いという問題がある。
【0005】
本発明は、上述した従来技術の問題点に鑑みてなされ、所定の撮像対象を第1の位置から撮像して得られた第1の画像と、前記第1の位置とは異なる第2の位置から撮像して得られた前記第2の画像とを基に、前記第1の位置および第2の位置とは異なる第3の位置から撮像したのと等価の第3の画像を短時間で生成できる画像処理方法および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した従来技術の問題点を解決し、上述した目的を達成するために、第1の発明の画像処理方法は、所定の撮像対象を第1の位置から撮像して得られた第1の画像と、前記第1の位置とは異なる第2の位置から撮像して得られた前記第2の画像とを基に、前記第1の画像内のエピポ−ラ線上の第1の点に対応する前記第2の画像内の第2のエピポ−ラ線上の第2の点を探索し、前記第1の点および前記第2の点の位置関係、並びに前記第1の画像および前記第2の画像を基に、前記第1の位置および第2の位置とは異なる第3の位置から撮像したのと等価の第3の画像を生成する画像処理方法であって、前記第1の点と、当該第1の点に対応する前記第2の点とを、前記第1のエピポ−ラ線および前記第2のエピポ−ラ線に沿って順に特定する第1の工程と、前記第1の点に対応した前記第1の画像内の第1の画素データと前記第2の点に対応した前記第2の画像内の第2の画素データとを基に第3の画素データを生成する第2の工程と、前記第1の工程で前記第1の点と当該第1の点に対応する前記第2の点とを特定する度に、当該第1の点および第2の点に対応した前記第3の画像内の第3の点を特定し、前記第2の工程で生成した前記第3の画素データを、前記特定した前記第3の点に割り当てる第3の工程とを有する。
【0007】
第1の発明の画像処理方法の作用は以下のようになる。
先ず、第1の工程において、第1の点と、当該第1の点に対応する前記第2の点とを、前記第1のエピポ−ラ線および前記第2のエピポ−ラ線に沿って順に特定する。
次に、第2の工程において、前記第1の点に対応した前記第1の画像内の第1の画素データと前記第2の点に対応した前記第2の画像内の第2の画素データとを基に第3の画素データを生成する。
次に、第3の工程において、前記第1の工程で前記第1の点と当該第1の点に対応する前記第2の点とを特定する度に、当該第1の点および第2の点に対応した前記第3の画像内の第3の点を特定し、前記第2の工程で生成した前記第3の画素データを、前記特定した前記第3の点に割り当てる。
【0008】
第2の発明の画像処理装置は、所定の撮像対象を第1の位置から撮像して得られた第1の画像と、前記第1の位置とは異なる第2の位置から撮像して得られた前記第2の画像とを基に、前記第1の画像内のエピポ−ラ線上の第1の点に対応する前記第2の画像内の第2のエピポ−ラ線上の第2の点を探索し、前記第1の点および前記第2の点の位置関係、並びに前記第1の画像および前記第2の画像を基に、前記第1の位置および第2の位置とは異なる第3の位置から撮像したのと等価の第3の画像を生成する画像処理装置であって、前記第1の点と、当該第1の点に対応する前記第2の点とを、前記第1のエピポ−ラ線および前記第2のエピポ−ラ線に沿って順に特定する対応点特定手段と、前記第1の点に対応した前記第1の画像内の第1の画素データと前記第2の点に対応した前記第2の画像内の第2の画素データとを基に第3の画素データを生成する画素データ生成手段と、前記対応点特定手段が前記第1の点と当該第1の点に対応する前記第2の点とを特定する度に、当該第1の点および第2の点に対応した前記第3の画像内の第3の点を特定し、前記画素データ生成手段が生成した前記第3の画素データを、前記特定した前記第3の点に割り当てる割り当て手段とを有する。
【0009】
第2の発明の画像処理装置の作用は以下のようになる。
先ず、対応点特定手段が、第1の点と、当該第1の点に対応する前記第2の点とを、前記第1のエピポ−ラ線および前記第2のエピポ−ラ線に沿って順に特定する。
また、画素データ生成手段が、前記第1の点に対応した前記第1の画像内の第1の画素データと前記第2の点に対応した前記第2の画像内の第2の画素データとを基に第3の画素データを生成する。
そして、割り当て手段が、前記対応点特定手段が前記第1の点と当該第1の点に対応する前記第2の点とを特定する度に、当該第1の点および第2の点に対応した前記第3の画像内の第3の点を特定し、前記画素データ生成手段が生成した前記第3の画素データを、前記特定した前記第3の点に割り当てる。
【発明の効果】
【0010】
本発明によれば、所定の撮像対象を第1の位置から撮像して得られた第1の画像と、前記第1の位置とは異なる第2の位置から撮像して得られた前記第2の画像とを基に、前記第1の位置および第2の位置とは異なる第3の位置から撮像したのと等価の第3の画像を短時間で生成できる画像処理方法および画像処理装置を提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施形態に係わる画像処理装置を図1〜図15を参照して説明する。
先ず、本実施形態の画像処理装置の構成要素と、本発明の構成要素との対応関係を説明する。
本実施形態の画像データD_Lが本発明の第1の画像に対応し、画像データD_Rが本発明の第2の画像に対応し、画像データP_Vが本発明の第3の画像に対応している。
また、図2に示すカメラL_Cの位置が本発明の第1の位置に対応し、カメラR_Cの位置に本発明の第2の位置に対応し、受光面8_V((n/2M )B)の位置が第3の位置に対応している。
また、本実施形態の第1の点、第2の点、第3の点(投影点)が、本発明の第1の点、第2の点および第3の点にそれぞれ対応している。
また、本実施形態の画素データPIX_Lが本発明の第1の画素データに対応し、本実施形態の画素データPIX_Rが本発明の第2の画素データに対応し、本実施形態の画素データPIX_Vが本発明の第3の画素データに対応している。
また、本実施形態の画像データD_L内の第1のエピポ−ラ線が本発明の第1のエピポ−ラ線に対応し、本実施形態の画像データD_R内の第2のエピポ−ラ線が本発明の第2のエピポ−ラ線に対応している。
また、本実施形態のコスト用メモリが本発明のコスト用メモリに対応し、本実施形態のアップサンプルバッファメモリが本発明の画像用メモリに対応している。
【0012】
また、図15に示すステップST25が第1の発明の第1の工程および第3の工程に対応し、ステップST26,ST27が第1の発明の第2の工程に対応している。
また、図4に示すビュ−インタポレ−ション処理回路38が、第2の発明の対応点特定手段、画素データ生成手段および割り当て手段に対応している。
【0013】
図1は、本実施形態に係わる画像処理装置1の構成図である。
図1に示すように、画像処理装置1は、例えば、カメラR_C、カメラL_C、前処理回路10およびビュ−インタポレ−ション回路12およびインタフェース14を有する。
【0014】
<カメラR_C,カメラL_C>
図2は、カメラR_C,カメラL_Cと撮像対象TARGETとの位置関係を説明するための図である。
図2に示すように、カメラR_C,カメラL_Cは、撮像対象TAGETに対応して対向して配設される。
画像処理装置1は、例えば、パーソナルコンピュータなどに組み込まれる。この場合に、カメラR_CおよびカメラL_Cは、例えば、ユーザの顔の位置の左右両側に配設され、ユーザの顔を撮像対象TARGETとする。
カメラR_Cは、受光面8_Rの結像結果に応じた撮像画像データP_Rを前処理回路10に出力する。
【0015】
カメラL_Cは、受光面8_Lの結像結果に応じた撮像画像データP_Lを前処理回路10に出力する。
カメラR_Cの受光面8_Rの結像結果に応じた撮像画像データP_Rと、カメラL_Cの受光面8_Lの結像結果に応じた撮像画像データP_Lとの間にはエピポーラ拘束が成り立つ。すなわち、撮像画像データP_R内の各点には、それに対応した第1のエピポ−ラ線が1本定まり、その第1のエピポ−ラ線と対応して撮像画像データP_L内に1本の第2のエピポ−ラ線が定まる。
ここで、図2に示すように、受光面8_Lと受光面8_Rとの距離を「1」とした場合に、受光面8_Lに対して受光面8_Rに向けて距離αに位置する受光面8_Vを仮想的に考える。
そして、受光面8_Vの位置を「αB」と記す。
画像処理装置1は、受光面8_Vで撮像されたのと等価の画像データP_Vを生成する。
【0016】
<前処理回路10>
前処理回路10は、カメラR_C,L_Cから入力した撮像画像データP_R,P_Lに対してレクティファイ処理および背景除去処理を行う。
図1に示すように、前処理回路10は、例えば、SDRAM22,23、フラッシュメモリ24,25、SDRAM26および処理回路27を有する。
前処理回路10は、カメラL_Cから入力した撮像画像データP_LをSDRAM22に一時的に書き込み、フラッシュメモリ24に記憶されたレクティフィケーションテーブルデータに基づいて、SDRAM22から読み出した撮像画像データP_Lにレクティファイ処理(平行化処理)を施す。
当該レクティファイ処理は、カメラR_CとカメラL_Cとの光軸が平行でないことに起因する撮像画像データP_Rと撮像画像データP_Lとの幾何学的なずれを補正する処理である。
【0017】
前処理回路10は、カメラR_Cから入力した撮像画像データP_RをSDRAM23に一時的に書き込み、フラッシュメモリ25に記憶されたレクティフィケーションテーブルデータに基づいて、SDRAM23から読み出した撮像画像データP_Rにレクティファイ処理を施す。
次に、前処理回路10は、レクティファイ処理が施された撮像画像データP_L,P_Rから、SDRAM26から読み出した背景画像データを差し引いた画像データD_L,D_Rをそれぞれ生成し、これをビュ−インタポレ−ション回路12に出力する。
【0018】
<ビュ−インタポレ−ション回路12>
図4は、図1に示すビュ−インタポレ−ション回路12の構成図である。
図4に示すように、ビュ−インタポレ−ション回路12は、例えば、画素データ管理回路32、コスト算出・パス決定回路34、パス決定回路36、ビュ−インタポレ−ション処理回路38および出力回路40を有する。
ビュ−インタポレ−ション回路12は、図2に示すように、例えば、カメラR_C,L_Cの受光面8_L,8_Rとの間に位置する仮想的な受光面8_Vで撮像したのと等価の画像データP_Vを生成する。
【0019】
先ず、ビュ−インタポレ−ション回路12の機能について説明する。
ビュ−インタポレ−ション回路12は、図3に示すように、画像データD_L,D_Rを基に、DPマッチング法により、画像データD_LとD_Rとの画素データの対応点を規定する複数のパスについてのコストデータを算出し、上記複数のパスのうち上記コストデータが最小となるパスを特定する(DP探索処理)。
そして、ビュ−インタポレ−ション回路12は、図3に示すように、上記探索処理で特定したパス上の各点について、当該点を規定する画像データD_L内の第1のエピポ−ラ線上の第1の点と、画像データD_R内の第2のエピポ−ラ線上の第2の点とを特定する(DPバックトラック処理)。ここで、第2の点は、第1の点の対応点である。
ビュ−インタポレ−ション回路12は、図3に示すように、上記パス上の各点についての第1の点および第2の点を特定する度に、それに対応した仮想的な画像データP_V上の点の画素データを補間処理により生成する(補間処理)。
【0020】
先ず、ビュ−インタポレ−ション回路12が行うDPマッチングによる探索処理について説明する。
図5は、ビュ−インタポレ−ション回路12が行うDPマッチングによる探索処理を説明するためのマトリックスの図である。
図5において、横軸は、画像データD_Lのエピポ−ラ線の一端(START)から他端(END)までの位置を示している。
また、縦軸は、画像データD_Rのエピポ−ラ線の一端(START)から他端(END)までの位置を示している。
図5に示すマトリックス内の各点は、(XL,XR)の組によって規定される。
ここで、XLは画像データD_L内の処理対象の第1のエピポ−ラ線(スキャンライン)上の座標を示し、XRは画像データD_R内の処理対象の第2のエピポ−ラ線上の座標を示している。
画像データD_LとD_Rとの対応点は、図5に示すように、XL≧XRを満たす点のみを用いて規定できる。
【0021】
ビュ−インタポレ−ション回路12は、画像データD_L,D_Rの他端(START)から一端(END)に向けて、対応点を選択することでパスを規定する。
このとき、ビュ−インタポレ−ション回路12は、図5に示す格子の各点(XL,XR)において、図6(A)に示す3つのベクトルで規定された点(XL,XR+1),(XL,XR),(XL+1,XR)のみを選択対象とする。
すなわち、ビュ−インタポレ−ション回路12は、処理対象の各点において、点(XL1,XR+1),(XL+1,XR+1),(XL+1,XR)のうち何れかを選択してパスを規定し、当該パス上の各点の差分である指標データを累積したコストデータを生成する。
ここで、点(XL1,XR+1)は水平方向のベクトル、(XL,XR)は対角方向のベクトル、(XL+1,XR)は垂直方向のベクトルによって規定される。
このとき、ビュ−インタポレ−ション回路12は、他端(START)から一端(END)に向けて各点を順に選択してパスを規定したときに、当該パスのコストデータを算出する。
ビュ−インタポレ−ション回路12は、図5に示す格子を基に、画像データD_L,D_Rの他端(START)から一端(END)に向けて、対応点を異なるパターンで選択することで複数のパスを規定し、そのパスについてのコストデータを算出する。
なお、ビュ−インタポレ−ション回路12は、例えば、画像データD_R,D_Lの画素値の差分(差異)、当該画素を含む所定領域内の画素値の差分の累積値などの指標データをパス上の各点について累積してコストデータを生成する。
【0022】
次に、ビュ−インタポレ−ション回路12が行うDPバックトラック処理および補間処理について説明する。
ビュ−インタポレ−ション回路12は、上記複数のパスのうちコストが最小のパスを選択する。
次に、ビュ−インタポレ−ション回路12は、上記選択したパス上の点を図6(B)に示す3つのベクトルで規定された点(XL−1,XR),(XL−1,XR−1),(XL,XR−1)を基に特定し、その点に対応した上述した画像データD_L内の第1のエピポ−ラ線上の第1の点と画像データD_R内の第2のエピポ−ラ線上の第2の点とを特定する。
この処理をバックトラック処理と呼ぶ。
【0023】
ビュ−インタポレ−ション回路12は、例えば、図7に示すように、他端(START)から一端(END)に向けて探索処理を行い、それによって得たパスのコストデータが最小の場合に、図8に示すように、一端(END)から他端(START)に向けて、そのパスのバックトラック処理を行う。
【0024】
ビュ−インタポレ−ション回路12は、当該パス上の点(第1の点および第2の点を規定する点)の各々について、図9に示すように、仮想的な受光面である(1/2)B、(1/4)Bおよび(3/4)Bへの投影点である第3の点を決定する。
ここで、1/2,1/4,3/4は、図2を用いて説明した「α」である。
例えば、図10に示すように、ビュ−インタポレ−ション回路12は、マトリックス上で、上述したDPマッチングで選択したパス上の点(XL,XR)を、受光面(1/4)B内のエピポ−ラ線上に投影する。
【0025】
ここで、例えば、図11に示すように、受光面が(1/2)Bである場合に、パス上の点(XL,XR)から水平および垂直方向のベクトルによって規定される点は共に当該受光面の点Sとして投影される。また、パス上の点(XL,XR)から対角方向のベクトルによって規定される点は当該受光面の点T(第3の点)として投影される。すなわち、点点(XL,XR)からのベクトルによって、当該受光面上に異なる2つの位置に投影が行われる。
このため、当該投影を行うために、当該受光面のエピポ−ラ線上の第3の点の画素データを格納するアドレスは、画像データD_L,D_Rの画素データを格納するアドレスの2倍必要となる。
【0026】
また、例えば、図12に示すように、受光面が(1/4)Bである場合に、パス上の点(XL,XR)から水平、垂直および対角方向のベクトルによって規定される点は、それぞれ当該受光面の点E,F,G(第3の点)として投影される。すなわち、点(XL,XR)からのベクトルによって、当該受光面上に異なる3つの位置に投影が行われる。
受光面が(3/4)Bである場合も同様である。
このため、当該投影を行うために、当該受光面のエピポ−ラ線上の第3の点の画素データを格納するアドレスは、画像データD_L,D_Rの画素データを格納するアドレスの4倍必要となる。
【0027】
一般化すると、nを2M より小さい奇数、Mを2以上の整数とし、受光面が(n/2M
)Bである場合に、当該受光面のエピポ−ラ線上の第3の点の画素データを格納するアドレスは、画像データD_L,D_Rの画素データを格納するアドレスの2M 倍必要となる。
【0028】
ところで、図10に示すように、仮想的な受光面(1/4)Bを考えると、当該受光面(1/4)Bの図10に示す線と、図10に示す円の直径との間の角度βは、例えば、「β=arctg(1/2)」となる。
同様に、受光面が(n/2M )Bで「n<2M-1 」の場合には、角度βは下記式(1)で示される。
【0029】
(数1)
β=arctg(1−(n/2M-1 ))
…(1)
【0030】
同様に、受光面が(n/2M )Bで「n>2M-1 」の場合には、角度βは下記式(2)で示される。
【0031】
(数2)
β=arctg((n/2M-1 )−1)
…(2)
【0032】
ビュ−インタポレ−ション回路12は、上述した第3の点(投影点)に対応するアップサンプリングメモリ内のアドレスに、パス上の対応する点によって規定される第1の点の画素データPIX_Lと第2の点の画素デーPIX_Rとを基に補間処理を行って生成した第3の画素データPIX_Vを書き込む。
当該処理を、補間処理と呼ぶ。
【0033】
以下、図4に示す各構成要素について説明する。
〔画素データ管理回路32〕
画素データ管理回路32は、前処理回路10から入力した画像データD_L,D_Rを所定のアドレスに記憶し、コスト算出・パス決定回路34から指定されたアドレスから画像データD_Lを構成する第1の画素データI_Lおよび画像データD_Rを構成する画素データI_Rを読み出してコスト算出・パス決定回路34に出力する。
【0034】
〔コスト算出・パス決定回路34〕
コスト算出・パス決定回路34は、図3に示すDP探索処理を行う。
コスト算出・パス決定回路34は、上述したDP探索処理で説明したように、複数のパスの各々について順に、当該パス上の点に対応した画像データD_Lの第1の点と画像データD_Rの第2の点とのアドレスを画素データ管理回路32に出力し、その画素データを入力する。
そして、コスト算出・パス決定回路34は、画素データ管理回路32から入力した第1の点の画素データPIX_Lと第2の点の画素データPIX_Rとを基に、その差異を示す指標データを生成し、これをパス上の全ての点について累積してコストデータCOSTを生成する。
なお、コスト算出・パス決定回路34は、画像データD_L内の第1の点の周囲の所定の領域の画素データPIX_Lと、画像データD_R内の第2の点の周囲の所定の領域の画素データPIX_Rとの画素データ間の差分の総和を上記指標データとして生成してもよい。
【0035】
このとき、コスト算出・パス決定回路34は、図13(A)に示すように、例えば、上述したマトリックスについて、一端(START)から他端(END)に向けてパスを構成する点を選択する過程で、対角線DIGに直交する方向のラインLINE上に位置する点について、当該点に至るまでに累積したコストデータをコスト用メモリに記憶する。
コスト算出・パス決定回路34は、図13(B)に示すように、2ライン(LINE1,LINE2)分のコストデータを上記コスト用メモリに記憶する。
コスト算出・パス決定回路34は、図13(B)に示すように、上記マメトリックス上の処理対象の点に対して、前述した図6(A)に示す3つのベクトルの原点(ORIGIN)の各々について、コスト用メモリに記憶されたラインLINE1,LINE2のコストデータが最小の点を選択し、その最小のコストデータと、当該処理対象の点についての上記指標データとを加算して、当該処理対象の点のコストデータを生成する。
コスト算出・パス決定回路34は、上述したコストデータを生成する過程で、処理対象の点について得たコストデータに対応したパスを得るのに用いた上述したベクトル列を、当該処理対象の点に対応付けて記憶する。当該ベクトル列は、前述したDPバックトラック処理に用いられる。
コスト算出・パス決定回路34は、図13等に示すマトリックス上で他端(END)の上記コストデータを算出すると、コストデータが最小となるパスを得るのに用いたベクトル列を取得する。
また、コスト算出・パス決定回路34は、上記処理対象の点が属するラインについて算出したコストデータを、コスト用メモリに記憶されたラインLINE1のコストデータが記憶されたアドレスに上書きする。
【0036】
〔ビュ−インタポレ−ション処理回路38〕
ビュ−インタポレ−ション処理回路38は、図3に示すDPバックトラック処理および補間処理を行う。
ビュ−インタポレ−ション処理回路38は、コスト算出・パス決定回路34において取得したコストデータを最小とするパスを一端(END)から他端(START)に向けて、そのペクトル列を基にトラバースを行い、当該パス上の点に対応した第1の点および第2の点を特定し、当該第1の点の画素データPIX_Lと第2の点の画素データPIX_Rとを基に、投影画像データ内の対応する第3の点の画素データPIX_Vを生成する。
また、ビュ−インタポレ−ション処理回路38は、投影画像データに対応する受光面が(n/2M )Bの場合に、上述した式(1),(2)を基に、図10に示す円の直径と受光面(n/2M )に対応する線との間の角度βを算出する。
次に、ビュ−インタポレ−ション処理回路38は、上記角度βを基に、上記パス上の点を、図10等において受光面(n/2M )に対応する線上(エピポ−ラ線上)に投影したときの当該線上の第3の点を特定する。
ところで、ビュ−インタポレ−ション処理回路38は、受光面(n/2M )の投影画像データを記憶するために、画像データD_L,D_Rのアドレスを2M 倍にしたアドレスを持つアップサンプルバッファを備えている。
ビュ−インタポレ−ション処理回路38は、上述した画素データPIX_Vを、上記アップサンプルバッファ内の上記特定した線上の第3の点に対応するアドレスに書き込む。
これまでの処理が、図14に示すステップST11に示すアップサンプルバッファへの投影処理に対応している。
【0037】
次に、ビュ−インタポレ−ション処理回路38は、上記パス上の全ての点(処理対象のスキャンライン)について上述した投影処理を完了すると、画像データD_L,D_Rの画素データを記憶するアドレス数N_ADRを越えるアップサンプルバッファ内のアドレスに画素データPIX_Vが記憶されているか否かを判断する(図14に示すステップST12)。
そして、ビュ−インタポレ−ション処理回路38は、アドレス数N_ADRを越えるアップサンプルバッファ内のアドレスに画素データPIX_Vが記憶されていると判断した場合に、これをアドレス数N_ADRとなるように、ダウンサンプル処理を行う(図14に示すステップST13)。
具体的には、ビュ−インタポレ−ション処理回路38は、アップサンプルバッファメモリ内のアドレスを2M の区間に分割し、各区間において、その区間に属するアドレスに記憶された画素データPIX_Vの平均値を算出し、当該平均値を当該区間に対応した投影画像用メモリ内のアドレスに格納する。このとき、投影画像用メモリの容量は、画像データD_L,D_Rの各々を記憶する画像用メモリの容量と同じである。
【0038】
その後、ビュ−インタポレ−ション処理回路38は、上記アップサンプルバッファメモリをクリアして、次のスキャンラインについて上述した処理を行う(図14に示すステップST13)。
そして、画像データD_L,D_R内の全てのスキャンラインについて、図14に示すステップST11,ST12,ST13の処理が完了すると、投影画像用メモリ内に、受光面(n/2M )に対応した画像データP_Vが記憶される(図14に示すステップST14)。
【0039】
なお、ビュ−インタポレ−ション処理回路38は、複数の受光面(n/2M )に対応した画像データP_Vを生成する場合に、それぞれに対応したアップサンプルバッファメモリおよび投影画像用メモリを備え、上述したパス上の各点を特定する度に、上述した投影処理を並列に行う。
【0040】
以下、図1に示す画像処理装置1の動作例を説明する。
図15は、図1に示す画像処理装置1の動作例を説明するためのフローチャートである。
ステップST21:
カメラR_C,L_Cで撮像対象TARGETを撮像し、その撮像画像データP_L,P_Rが図1に前処理回路10に出力される。
ステップST22:
前処理回路10は、ステップST21で入力した撮像画像データP_L,P_Rに対して、レクティファイ処理および背景除去処理を施して、画像データD_L,D_Rを生成し、これをビュ−インタポレ−ション回路12に出力する。
ステップST23:
図4に示すビュ−インタポレ−ション回路12のコスト算出・パス決定回路34が、画像データD_L,D_R内の選択したスキャンラインについて、前述したようにDP探索処理を行い、コストデータを最小とするパスを特定する。
【0041】
ステップST24:
図4に示すビュ−インタポレ−ション回路12のビュ−インタポレ−ション処理回路38が、ステップST23で特定したパスについて、前述したDPバックトラック処理を開始する。
ステップST25:
ビュ−インタポレ−ション処理回路38が、DPバックトラック処理において、処理対象のパス上で順次選択した点について、当該点に対応した画像データD_L内の第1の点と画像データD_R内の第2の点とを特定し、続いて、これを基に当該点に対応した受光面(n/2M )内のエピポ−ラ線上の第3の点(投影点)を特定する。
ステップST26:
ビュ−インタポレ−ション処理回路38が、上記選択したパス上の点に対応した画像データD_L内の第1の点の画素データPIX_Lと、画像データD_R内の第2の点の画素データPIX_Rとを基に補間処理を行って、第3の点に割り当てる画素データPIX_Vを生成する。
【0042】
ステップST27:
ビュ−インタポレ−ション処理回路38が、ステップST25で特定した第3の点に対応した投影画像用メモリ内のアドレスに、ステップST26で生成した画素データPIX_Vを書き込む。なお、このとき、必要に応じて、ダウンサンプリング処理が行われる。
ステップST28:
ビュ−インタポレ−ション処理回路38は、選択したパス上の全ての点についてステップST24〜ST27の処理を完了したか否かを判断し、完了したと判断すると処理を終了し、そうでない場合にはステップST29に進む。
ステップST29:
ビュ−インタポレ−ション処理回路38は、選択したパス上の次の点を選択してステップST25に処理に戻る。
ステップST30:
ビュ−インタポレ−ション処理回路38は、画像データD_L,D_R内の全てのスキャンライについてDPバックトラック処理を完了したか否かを判断し、完了したと判断すると処理を終了し、そうでない場合にはステップST31に進む。
ビュ−インタポレ−ション処理回路38は、完了したと判断すると、最終的に生成した画像データP_Vを図4に示す出力回路40を介して出力する。
ステップST31:
ビュ−インタポレ−ション処理回路38は、次のスキャンラインを選択してステップST23の処理に戻る。
【0043】
以上説明したように、画像処理装置1では、DPバックトラック処理において、画像データD_L,D_R内の第1おび第2の点を特定する度に、受光面(n/2M )内のエピポ−ラ線上の第3の点(投影点)を特定し、第3の点に対応した投影画像用メモリ内のアドレスに、画素データPIX_Vを書き込む。
そのため、画像処理装置1によれば、DPバックトラック処理を終了したタイミングで、受光面(n/2M )に対応した画像データP_Vを取得でき、従来に比べて短時間で画像データP_Vを取得できる。
【0044】
また、画像処理装置1によれば、上述した第3の点を特定する度に、複数の受光面(n/2M )に対応した画像データP_Vを並列に生成することで、DPバックトラック処理を終了したタイミングで、これらの複数の受光面に対応した画像データP_Vを取得できる。
【0045】
また、画像処理装置1によれば、図13に示すように、コストデータを生成してコスト用メモリに記憶するとおで、2ライン分のコストデータを記憶するコスト用メモリを用いればよく、メモリを縮小化できる。
【0046】
本発明は上述した実施形態には限定されない。
上述した実施形態では、DPマッチング法を用いた場合を例示したが、上記第1の点と上記第2の点とを特定し、当該特定した点を基に上記第3の点を特定し、当該第3の点について画素データを割り当てるその他の手法を用いる場合にも本発明を同様に適用可能である。
【産業上の利用可能性】
【0047】
本発明は、ステレオ画像を基に、任意の位置から撮像対象を撮像したのと等価の画像を生成するシステムに適用可能である。
【図面の簡単な説明】
【0048】
【図1】図1は、本発明の実施形態に係わる画像処理装置の構成図である。
【図2】図2は、カメラR_C,カメラL_Cと撮像対象TARGETとの位置関係を説明するための図である。
【図3】図3は、図1に示すビュ−インタポレ−ション回路の処理を説明するためのである。
【図4】図4は、図1に示すビュ−インタポレ−ション回路の構成図である。
【図5】図5は、図1に示すビュ−インタポレ−ション回路が行うDP探索処理を説明するためのである。
【図6】図6は、図1に示すビュ−インタポレ−ション回路が行うDP探索処理を説明するためのである。
【図7】図7は、図1に示すビュ−インタポレ−ション回路が行うDP探索処理を説明するためのである。
【図8】図8は、図1に示すビュ−インタポレ−ション回路が行うDPバックトラック処理を説明するための図である。
【図9】図9は、図1に示すビュ−インタポレ−ション回路が行う投影点(第3の点)の特定処理を説明するための図である。
【図10】図10は、図1に示すビュ−インタポレ−ション回路が行う投影点(第3の点)の特定処理を説明するための図である。
【図11】図11は、図1に示すビュ−インタポレ−ション回路が行う投影点(第3の点)の特定処理を説明するための図である。
【図12】図12は、図1に示すビュ−インタポレ−ション回路が行う投影点(第3の点)の特定処理を説明するための図である。
【図13】図13は、図1に示すビュ−インタポレ−ション回路が行うコストデータ生成処理を説明するための図である。
【図14】図14は、図1に示すビュ−インタポレ−ション回路が行う複数の位置の撮像結果と等価の画像を生成する処理を説明するための図である。
【図15】図15は、図1に示す画像処理装置の全体動作例を説明するためのフローチャートである。
【符号の説明】
【0049】
1…画像処理装置、R_C,L_C…カメラ、10…前処理回路、12…ビュ−インタポレ−ション回路、32…画素データ管理回路、34…コスト算出・パス決定回路、38…ビュ−インタポレ−ション処理回路、40…出力回路


【特許請求の範囲】
【請求項1】
所定の撮像対象を第1の位置から撮像して得られた第1の画像と、前記第1の位置とは異なる第2の位置から撮像して得られた前記第2の画像とを基に、前記第1の画像内のエピポ−ラ線上の第1の点に対応する前記第2の画像内の第2のエピポ−ラ線上の第2の点を探索し、前記第1の点および前記第2の点の位置関係、並びに前記第1の画像および前記第2の画像を基に、前記第1の位置および第2の位置とは異なる第3の位置から撮像したのと等価の第3の画像を生成する画像処理方法であって、
前記第1の点と、当該第1の点に対応する前記第2の点とを、前記第1のエピポ−ラ線および前記第2のエピポ−ラ線に沿って順に特定する第1の工程と、
前記第1の点に対応した前記第1の画像内の第1の画素データと前記第2の点に対応した前記第2の画像内の第2の画素データとを基に第3の画素データを生成する第2の工程と、
前記第1の工程で前記第1の点と当該第1の点に対応する前記第2の点とを特定する度に、当該第1の点および第2の点に対応した前記第3の画像内の第3の点を特定し、前記第2の工程で生成した前記第3の画素データを、前記特定した前記第3の点に割り当てる第3の工程と
を有する画像処理方法。
【請求項2】
前記第1の工程は、
前記第1のエピポ−ラ線上の一端と前記第2のエピポ−ラ線上の一端との組を始点とし、前記第1のエピポ−ラ線上の他端と前記第2のエピポ−ラ線上の他端との組を終点として、前記第1のエピポ−ラ線と前記第2のエピポ−ラ線とによって規定されるマトリックス内の各点において、前記第1のエピポ−ラ線に沿って前記終点に向けて1区間進む第1のベクトルと、前記第2のエピポ−ラ線に沿って前記終点に向けて1区間進む第2のベクトルと、前記第1のエピポ−ラ線および前記第2のエピポ−ラ線の双方において前記終点に向けて1区間進む第3のベクトルとの何れかを選択して規定される複数のパスのうち、当該パス上の各点に対応した前記第1の点の第1の画素データと、それに対応した前記第2の点の第2の画素データとの差異を示す指標データを累積したコストを最小にする前記パスを特定し、当該特定したパス上の点を基に前記第1の点および前記第2の点を特定する
請求項1に記載の画像処理方法。
【請求項3】
前記第3の工程は、前記第1の位置、前記第2の位置および前記第3の位置の位置関係に基づいて、前記第1の点および前記第2の点に対応した前記第3の画像内の第3の点を特定する
請求項1に記載の画像処理方法。
【請求項4】
前記第3の工程は、画像用メモリ内の前記第3の点に対応したアドレスに前記第3の画素データを書き込む
請求項1に記載の画像処理方法。
【請求項5】
前記第3の工程は、前記第1の点および前記第2の点の各々を規定するアドレスの数より、前記画像用メモリ内に前記第3の画素データを書き込んだアドレスの数が多い場合に、前記第3の画素データの数が、前記第1の点および前記第2の点の各々を規定するアドレスの数と一致するように、前記画像用メモリ内の複数の前記アドレスに記憶された第3の画素データを基に単数の画素データを生成する
請求項4に記載の画像処理方法。
【請求項6】
前記第1の工程は、前記マトリックをその対向する頂点を結ぶ対角線で分けた一方の領域に属する点を前記パス上の点として用いる場合に、前記対角線に対して直交する隣接した2つの線上に位置する点について、当該点に前記始点から至るまでに累積されたコストデータをコスト用メモリに記憶し、
前記対角線に対して直交する線であって前記2つの線のうち前記終点側に位置する線に前記終点側で隣接する線上の点の前記コストデータを、前記コスト用メモリに記憶された前記コストデータを基に生成する
請求項1に記載の画像処理方法。
【請求項7】
前記第2の工程は、複数の第3の位置の各々について、前記第3の画素データを生成し、
前記第3の工程は、前記第1の工程で前記第1の点と当該第1の点に対応する前記第2の点とを特定する度に、前記複数の第3の位置の各々について、前記第1の点および第2の点に対応した当該第3の画像内の第3の点を特定し、前記第2の工程で生成した前記第3の画素データを、前記特定した前記第3の点に割り当てる
請求項1に記載の画像処理方法。
【請求項8】
所定の撮像対象を第1の位置から撮像して得られた第1の画像と、前記第1の位置とは異なる第2の位置から撮像して得られた前記第2の画像とを基に、前記第1の画像内のエピポ−ラ線上の第1の点に対応する前記第2の画像内の第2のエピポ−ラ線上の第2の点を探索し、前記第1の点および前記第2の点の位置関係、並びに前記第1の画像および前記第2の画像を基に、前記第1の位置および第2の位置とは異なる第3の位置から撮像したのと等価の第3の画像を生成する画像処理装置であって、
前記第1の点と、当該第1の点に対応する前記第2の点とを、前記第1のエピポ−ラ線および前記第2のエピポ−ラ線に沿って順に特定する対応点特定手段と、
前記第1の点に対応した前記第1の画像内の第1の画素データと前記第2の点に対応した前記第2の画像内の第2の画素データとを基に第3の画素データを生成する画素データ生成手段と、
前記対応点特定手段が前記第1の点と当該第1の点に対応する前記第2の点とを特定する度に、当該第1の点および第2の点に対応した前記第3の画像内の第3の点を特定し、前記画素データ生成手段が生成した前記第3の画素データを、前記特定した前記第3の点に割り当てる割り当て手段と
を有する画像処理装置。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate