JP2012090145A - 画像処理装置および方法、並びにプログラム - Google Patents
画像処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2012090145A JP2012090145A JP2010236156A JP2010236156A JP2012090145A JP 2012090145 A JP2012090145 A JP 2012090145A JP 2010236156 A JP2010236156 A JP 2010236156A JP 2010236156 A JP2010236156 A JP 2010236156A JP 2012090145 A JP2012090145 A JP 2012090145A
- Authority
- JP
- Japan
- Prior art keywords
- image
- dimensional array
- value
- array value
- correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/122—Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/246—Calibration of cameras
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Stereoscopic And Panoramic Photography (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Studio Devices (AREA)
Abstract
【課題】ステレオ画像を構成する2枚の画像のズーム倍率のずれを補正できるようにする。
【解決手段】撮像部11−1,11−2は、それぞれステレオ画像を構成する第1の画像および第2の画像を撮像する。ステレオ画像補正装置12の水平加算部21−1,21−2は、それぞれ第1の画像、および第2の画像における各行について、水平方向の画素の画素値を加算して、それぞれ第1および第2の一次元配列値を求める。マッチング部22は、第1および前記第2の一次元配列値の差分絶対値マップに基づいて、パスルートを求めて、調整パラメータであるシフト量を算出する。撮像倍率制御部23は、調整パラメータであるシフト量に基づいて、第1または第2の画像の倍率の補正を制御する。本発明は、画像処理装置に適用することができる。
【選択図】図1
【解決手段】撮像部11−1,11−2は、それぞれステレオ画像を構成する第1の画像および第2の画像を撮像する。ステレオ画像補正装置12の水平加算部21−1,21−2は、それぞれ第1の画像、および第2の画像における各行について、水平方向の画素の画素値を加算して、それぞれ第1および第2の一次元配列値を求める。マッチング部22は、第1および前記第2の一次元配列値の差分絶対値マップに基づいて、パスルートを求めて、調整パラメータであるシフト量を算出する。撮像倍率制御部23は、調整パラメータであるシフト量に基づいて、第1または第2の画像の倍率の補正を制御する。本発明は、画像処理装置に適用することができる。
【選択図】図1
Description
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、ステレオ画像における左右の画像の画角のずれ、すなわち、ズーム倍率のずれを補正できるようにした画像処理装置および方法、並びにプログラムに関する。
ステレオ画像処理を応用した技術が一般に普及しつつある。
ステレオ画像処理とは、左右に配置された2のカメラにより、同一の被写体を撮像し、撮像された左右2枚の画像の視差を利用して、3次元の空間として認識させる処理である。
ステレオ画像処理においては、左右のカメラは、同一の高さに配置されて、同一の画角(ズーム倍率)で撮像していることが前提となる。
しかしながら、現実には、2のカメラの配置などの物理的な要素により左右の2枚の画像の画角(ズーム倍率)がずれてしまうことがある。このような場合、ステレオ立体視をしても、違和感のある処理結果となってしまい、3次元の空間としての認識を妨げてしまうことがあった。
そこで、ステレオ立体視における2枚の画像の画角のずれを補正する技術として、個々のカメラからズーム量を取得し、取得したズーム量から画角のずれを算出し、画角のずれを補正する技術が提案されている(特許文献1参照)。
また、左画像の四隅の特徴点の対応点を右画像より検出し、上部の2点間の水平方向の距離と下部の2点間の水平方向の距離の違いに基づいて画角のずれを算出して補正する技術が提案されている(特許文献2参照)。
しかしながら、特許文献1の技術では、ズーム量をカメラから取得しているため、撮像時に処理するか、または、画像にズーム量に関する情報を付与する必要がある。また、ズームだけではなくフォーカス位置が左右で異なることにより画角のずれが生じる可能性があるが、この点には対応できない。
また、特許文献2の技術では、画像の解析のみで画角のずれ量を算出しているので、特許文献1の技術のように特殊な情報は必要ないが、結果の精度は対応点検出の精度に依存するため、エラーが生じる可能性が高い。
本発明はこのような状況に鑑みてなされたものであり、特に、ステレオ画像の左右の画像のいずれかについて、シフト量を算出し、シフト量に基づいて、精度よく左右の画像の画角(ズーム倍率)のずれを補正できるようにするものである。
本発明の一側面の画像処理装置は、第1の画像および第2の画像を撮像する撮像手段と、前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出手段と、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出手段と、前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御手段とを含む。
調整パラメータ算出手段には、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいて、前記第1の一次元配列値および前記第2の一次元配列値を合わせ込むための調整パラメータを算出させるようにすることができる。
調整パラメータ算出手段には、前記第1の一次元配列値および前記第2の一次元配列値の差分絶対値からなる差分絶対値マップを生成する差分絶対値マップ生成手段と、前記差分絶対値マップの一方の端部から他方の端部へのパスを構成する際の、前記差分絶対値マップの各ノード間のコストを計算するコスト計算手段と、前記コスト計算手段により計算されたコストが最小となるパスよりシフト量を、調整パラメータとして算出するシフト量算出手段とを含ませるようにすることができる。
前記差分絶対値マップ生成手段には、前記第1の一次元配列値の各要素を基準とした前記第2の一次元配列値の各要素との差分絶対値からなる第1の差分絶対値マップ、並びに、前記第2の一次元配列値の各要素を基準とした前記第1の一次元配列値の各要素との差分絶対値からなる第2の差分絶対値マップを生成させるようにすることができる。
前記補正制御手段には、前記第1の差分絶対値マップに基づいたシフト量の傾き、および前記第2の差分絶対値マップに基づいたシフト量の傾きのうち、傾きが負の値として求められるシフト量の傾きに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御させるようにすることができる。
前記補正制御手段には、前記調整パラメータであるシフト量の最大値および最小値、または、最小二乗法に基づいて、前記シフト量の傾きを求め、前記傾きに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御させるようにすることができる。
前記コスト計算手段には、前記差分絶対値マップの一方の端部から他方の端部へのパスを構成する際の、前記差分絶対値マップの各ノード間のコストを動的計画法により計算させるようにすることができる。
前記調整パラメータ算出手段には、前記第1の一次元配列値または前記第2の一次元配列値に複数の補正量に応じたシフト量の情報を記憶する記憶手段と、前記記憶手段に記憶された補正量毎のシフト量に基づいて、前記第1の一次元配列値または前記第2の一次元配列値をシフトさせるシフト手段と、前記シフト手段によりシフトされた前記第1の一次元配列値および前記第2の一次元配列値の各要素の差分絶対値和からなる評価値を、前記調整パラメータとして計算する評価値計算手段とを含ませるようにすることができ、前記補正制御手段には、前記調整パラメータである評価値のうち最小となる補正量を決定する補正量決定手段を含ませるようにすることができ、前記補正量決定手段により決定された補正量で、前記第1の画像または前記第2の画像の倍率の補正を制御させるようにすることができる。
本発明の一側面の画像処理方法は、第1の画像および第2の画像を撮像する撮像手段と、前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出手段と、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出手段と、前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御手段とを含む画像処理装置の画像処理方法であって、前記撮像手段における、前記第1の画像および第2の画像を撮像する撮像ステップと、前記一次元配列値算出手段における、前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出ステップと、前記調整パラメータ算出手段のおける、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出ステップと、前記補正制御手段における、前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御ステップとを含む。
本発明の一側面のプログラムは、第1の画像および第2の画像を撮像する撮像手段と、前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出手段と、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出手段と、前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御手段とを含む画像処理装置を制御するコンピュータに、前記撮像手段における、前記第1の画像および第2の画像を撮像する撮像ステップと、前記一次元配列値算出手段における、前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出ステップと、前記調整パラメータ算出手段のおける、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出ステップと、前記補正制御手段における、前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御ステップとを含む処理を実行させる。
本発明の一側面おいては、第1の画像および第2の画像が撮像され、前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値が加算されて、それぞれ第1の一次元配列値、および第2の一次元配列値が求められ、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータが算出され、前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正が制御される。
本発明の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。
本発明の一側面によれば、ステレオ画像における左右の画像の画角のずれ、すなわち、ズーム倍率のずれを補正することが可能となる。
以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行なう。
1.第1の実施の形態(シフト量を求めて画角のずれを補正する例)
2.第2の実施の形態(予めシフト量が求められている場合に画角のずれを補正する例)
1.第1の実施の形態(シフト量を求めて画角のずれを補正する例)
2.第2の実施の形態(予めシフト量が求められている場合に画角のずれを補正する例)
<1.第1の実施の形態>
[ステレオ画像補正装置の構成例]
図1は、本発明を適用したステレオ画像補正装置のハードウェアの一実施の形態の構成例を示している。図1のステレオ画像補正装置12は、撮像部11−1,11−2により撮像される、ステレオ画像を構成する2の入力画像の画角(ズーム倍率)のずれを補正して出力する。
[ステレオ画像補正装置の構成例]
図1は、本発明を適用したステレオ画像補正装置のハードウェアの一実施の形態の構成例を示している。図1のステレオ画像補正装置12は、撮像部11−1,11−2により撮像される、ステレオ画像を構成する2の入力画像の画角(ズーム倍率)のずれを補正して出力する。
より具体的には、ステレオ画像補正装置12は、ステレオ画像を構成する撮像部11−1,11−2より入力される2の撮像画像のうち、一方の画像を基準画像とする。そして、ステレオ画像補正装置12は、他方の画像を、拡大または縮小し、2のステレオ画像の画角を揃えるようにすることで、画角のずれを補正する。画角とは、撮像部11−1,11−2が撮像する画像のうち撮像素子に写る範囲を表す角度である。したがって、画角が広くなると撮像範囲が広くなり、逆に画角が狭くなると撮像範囲が狭くなる。これは、撮像部11−1,11−2のズーム倍率を高めると、撮像範囲が狭くなり、ズーム倍率を低くすると撮像範囲が広くなる関係と同様であると言える。このため、以降においては、画角およびズーム倍率は、撮像範囲を調整するパラメータとして同一のものとして扱うものとする。ただし、画角を制御するパラメータは角度であるのに対して、ズーム倍率を制御するパラメータは、倍率であり、パラメータそのものは異なるものである。
撮像部11−1,11−2は、撮像素子から構成されており、撮像した画像を画像データとしてステレオ画像補正装置12に供給する。撮像部11−1,11−2は、それぞれが撮像した2の画像が、ステレオ画像を構成するように配設されている。
ステレオ画像補正装置12は、水平加算部21−1,21−2、マッチング部22、撮像倍率制御部23、および補正部24−1,24−2を備えている。
水平加算部21−1,21−2は、それぞれ撮像部11−1,11−2により撮像された画像を行単位で水平方向に並ぶ画素の画素値を加算することで、一次元配列値を生成し、それぞれマッチング部22に供給する。
マッチング部22は、水平加算部21−1,21−2のそれぞれより供給されてくる一次元配列値に基づいて、いずれか一方の一次元配列値を基準としたときの他方の一次元配列値を合わせ込むために必要とされるシフト量を求め、調整パラメータとして、撮像倍率制御部23に供給する。
より詳細には、マッチング部22は、差分絶対値マップ生成部22a、コスト計算部22b、パスマップ記憶部22c、およびシフト量計算部22dを備えている。差分絶対値マップ生成部22aは、水平加算部21−1,21−2からの一次元配列値の各要素に付いて、総当りの差分絶対値からなるマップを生成する。コスト計算部22bは、差分絶対値マップの一方の端部から他方の端部までの方向に向かって隣接するノード間で発生するコストを計算する。そして、コスト計算部22bは、コストが最小となるノード間をパスとして選択し、パスとして選択したノード間の最小コストの計算結果を順次隣接するノード間のコスト計算に利用する処理を繰り返す。この間、コスト計算部22bは、パスとして選択したノード間の情報をパスマップ記憶部22cに記憶させる。シフト量計算部22dは、パスマップ記憶部22cに記憶されたパスのうち、最終的な総コストが最小となるノードからのパスをつなぐパスルートを求めた後、そのパスルートからパスルートを構成する各ノードのシフト量を求めて、これを調整パラメータとして撮像倍率制御部23に供給する。尚、マッチング部22は、2の一次元配列値のそれぞれを基準とした場合の2種類のシフト量を求め、それぞれを調整パラメータとして撮像倍率制御部23に供給する。
撮像倍率制御部23は、マッチング部22より供給されてくる調整パラメータである2種類のシフト量の情報に基づいて、撮像部11−1,11−2のいずれかの画素位置に応じた補正量を計算して、対応する補正部24−1,24−2のいずれかで補正させる。より詳細には、撮像倍率制御部23は、傾き計算部23a、基準決定部23b、および補正量計算部23cを備えている。傾き計算部23aは、2種類のシフト量のそれぞれについて、最大値および最小値の差をサンプル数で除する、または最小二乗法により傾きを求める。基準決定部23bは、求められた2種類の傾きのうち、所定の傾きを補正量を求めるための基準に決定し、撮像部11−1,11−2で撮像された画像のうち、対応する画像を基準とする。補正量計算部23cは、求められた傾きを用いて、画素位置毎の補正量を求め、補正部24−1,24−2のいずれか一方に対して、基準とならない画像の補正を制御する。
[図1のステレオ画像補正装置によるステレオ画像補正処理]
次に、図2のフローチャートを参照して、図1のステレオ画像補正装置12によるステレオ画像補正処理について説明する。
次に、図2のフローチャートを参照して、図1のステレオ画像補正装置12によるステレオ画像補正処理について説明する。
ステップS1において、撮像部11−1,11−2は、それぞれステレオ画像を構成する画像を撮像し、撮像した画像をステレオ画像補正装置12の水平加算部21−1,21−2に供給する。
ステップS2において、水平加算部21−1,21−2は、それぞれ供給されてきたステレオ画像を構成する画素の画素値を行単位で加算し、各行の加算値からなる一次元配列値を生成する。
すなわち、撮像部11−1,11−2が、例えば、図3で示されるように球状の被写体101を撮像するとき、撮像される画像は、図4の左部で示されるようにそれぞれ画像PL1,PR1のようなものとなる。画像PL1,PR1における黒色の球状の物体は、被写体101であり、画像中白色部分については、画素値を1とし、黒色部分は画素値を0とする。水平加算部21−1,21−2は、それぞれ画像PL1,PR1を行単位で水平方向に隣接する画素の画素値を加算し、一次元配列値を生成する。例えば、画素(x,y)の画素値をI(x,y)(x:画像における水平方向座標,y:画像における垂直方向座標)とした場合、t行目のサンプル値F(t)は、以下のように示される。
F(t)=I(0,t)+I(1,t)+・・・+I(W−1,t)
ここで、Wは、画像の水平方向画素数である。そして、画像PL1,PR1の行番号tに対するサンプル値F(t)との関係は、それぞれ図4の右部における波形WL,WRで示される関係となる。すなわち、画像PL1,PR1における被写体101が配置される垂直位置においては、サンプル値F(t)が小さくなり、それ以外の範囲については、全画素の画素値が画素数分だけ加算されるため大きくなり、また、それらはいずれも同一の値となる。尚、サンプル値F(t)は、離散変量であるため、波形WL,WRは、離散変量であるサンプル値F(t)を結んだ波形となっている。
また、一次元配列値は、離散変量であるサンプル値F(t)を、画像を構成する行数(垂直方向の画素数)と同数の要素からなる配列値である。すなわち、例えば、方形状の立体を被写体としたときのステレオ画像を構成する画像の画素値マップが、図5の左部で示される画素値マップPL11,PR11である場合、一次元配列値SL,SRは、図5の右部で示されるものとなる。
ここで、図5の画素値マップPL11,PR11は、8画素×8画素の画像の画素値マップであり、被写体の領域を画素値1とし、それ以外の領域を画素値0としている。したがって、撮像部11−1により撮像される画像の画素値マップPL11においては、領域Z1で囲まれる4画素×4画素の範囲の画素値が1とされて、被写体を構成している。また、撮像部11−2により撮像される画像の画素値マップPL12においては、領域Z2で囲まれる6画素×6画素の範囲の画素値が1とされて、被写体を構成している。
画像PL11の場合、上から1,2,7,8行目は、全てゼロであるので、一次元配列値SLの上から1,2,7,8段目の要素は、「0」となる。また、一次元配列値SLの上から3乃至6行目は、左から3画素目乃至6画素目までの合計4画素が「1」であり、それ以外がゼロであるので、一次元配列値SLの上から3乃至6段目の要素は、「4」となる。
また、同様に画像PR11の場合、上から1,8行目は、全てゼロであるので、一次元配列値SRの上から1,8段目の要素は、「0」となる。また、一次元配列値SRの上から2乃至7行目は、左から2画素目乃至7画素目までの合計6画素が「1」であり、それ以外がゼロであるので、一次元配列値SLの上から2乃至7段目の要素は、「6」となる。
ステップS3において、マッチング部22は、差分絶対値マップ生成部22aを制御して、求められた2の一次元配列値に基づいて、それらの差分絶対値マップを生成する。差分絶対値マップとは、例えば、2の一次元配列値SR,SLの場合、図6の差分絶対値マップPDのようなものである。例えば、一次元配列値SR,SLの要素を(a0,a1,・・,a7)および(b0,b1,・・,b7)で表現するものとする。また、差分絶対値マップPDの各ノードは、図6の一次元配列値SR,SLの要素の配列に対応して、PD(ar,bs)(r=0乃至7,s=0乃至7)で表現するものとする。この場合、差分絶対値マップPDのノードPD(a0,b0)は、|a0−b0|であり、図6の場合、0(=|0−0|)となる。また、差分絶対値マップPDのノードPD(a1,b5)は、|a1−b5|であり、図6の場合、2(=|6−4|)となる。このように差分絶対値マップは、2の一次元配列値の各要素間の総当りの差分絶対値を各ノードとするマップである。
ステップS4において、マッチング部22は、シフト量計算処理を実行して、2の一次元配列値に基づいて、それぞれを基準として求められる画素単位のシフト量を求める。
[シフト量計算処理]
ここで、図7のフローチャートを参照して、シフト量計算処理について説明する。尚、図7のフローチャートにおいては、動的計画法に基づいたシフト量計算処理を例として説明するものとするが、動的計画法以外の方法であってもよいものである。
ここで、図7のフローチャートを参照して、シフト量計算処理について説明する。尚、図7のフローチャートにおいては、動的計画法に基づいたシフト量計算処理を例として説明するものとするが、動的計画法以外の方法であってもよいものである。
ステップS21において、マッチング部22は、コスト計算部22bを制御して、ノードをカウントするためのカウンタrを1にカウンタsを0に初期化させる。
ステップS22において、コスト計算部22bは、ノードPD(ar,bs)を処理対象ノードに決定する。
ステップS23において、コスト計算部22bは、処理対象ノードからのパスの候補となるノードのうち、未処理のノードについてコスト計算対象ノードに決定する。
ステップS24において、コスト計算部22bは、処理対象ノード、およびコスト計算対象ノード間のコストを計算する。コストの計算は、処理対象ノード、およびコスト計算対象ノード間の位置関係、およびそれぞれのノード値の和により求められる。
ステップS25において、コスト計算部22bは、パスの候補となるノードのうち、未処理のノードが存在するか否かを判定し、未処理のノードがある場合、処理は、ステップS23に戻る。すなわち、処理対象ノードと、その全てのコスト計算対象ノード間のコストが計算されるまで、ステップS23乃至S25の処理が繰り返される。
そして、ステップS25において、未処理のパスの候補となるノードがないと判定された場合、すなわち、処理対象ノードと、その全てのコスト計算対象ノード間のコストが計算された場合、処理は、ステップS26に進む。
ステップS26において、コスト計算部22bは、処理対象ノードと、その全てのコスト計算対象ノード間のコストのうち、最小コストとなるノードを処理対象ノードに対するパスノードに決定し、パスマップ記憶部22cに記憶させる。
ステップS27において、コスト計算部22bは、パスノードのノード値を処理対象ノードのノード値と加算することで総コストを求め、さらに、パスノードのノード値として置換する。
ステップS28において、コスト計算部22bは、カウンタsが最大値s_maxより大きいか否かを判定し、カウンタsが最大値s_maxより大きくない場合、ステップS29に進み、カウンタsを1インクリメントして、処理は、ステップS22に戻る。すなわち、一次元配列値SLにおけるb0乃至b7の全てについて、パスノードが求められるまで、ステップS22乃至S29の処理が繰り返される。
そして、ステップS29において、カウンタsが最大値s_maxより大きいと判定された場合、すなわち、一次元配列値SLのb0乃至b7の全てについて、パスノードが求められた場合、ステップS30において、コスト計算部22bは、カウンタsを0に初期化する。
ステップS31において、カウンタrが最大値r_maxよりも大きいか否かを判定し、例えば、カウンタrが最大値r_maxよりも大きくない場合、ステップS32において、コスト計算部22bは、カウンタrを1インクリメントして、処理は、ステップS22に戻る。すなわち、一次元配列値SL,SRの全てについて、パスノードが求められるまで、ステップS22乃至S32の処理が繰り返される。
そして、ステップS32において、カウンタrが最大値r_maxよりも大きいと判定された場合、すなわち、一次元配列値SL,SRの全てについて、パスノードが求められた場合、処理は、ステップS33に進む。
ここで、パスとは、例えば、ステレオ画像を構成する2枚の画像のそれぞれの一次元配列値の、いずれか一方の一次元配列値を基準としたとき、基準の一次元配列値に対して他方の一次元配列値を合わせ込む際、一次元配列値の各要素が、どのように移動したかを示す軌跡である。また、パスに係るコストとは、パスにより規定されるノード間での移動があったときの尤もらしさの指標を示すものであり、コストが小さいほど尤もらしさが高く、コストが大きいほど尤もらしさが低い。尚、2枚の画像のそれぞれの一次元配列値は、いずれか一方の一次元配列値を基準とした場合、他方の一次元配列値は基準となる一次元配列値が拡大または縮小された一次元配列値であると考えられるため、一次元配列値の拡大縮小に伴って一次元配列値の各値は移動することが考えられるが、移動の前後で、一次元配列値内における順序が変わることはないと考えられる。このため、例えば、図6の差分絶対値マップPDにおいて、コスト計算対象ノードは、処理対象ノードの左側に隣接するノードに設定されるが、処理対象ノードよりも上側に隣接するノードに設定されない。
すなわち、例えば、図6の場合、処理対象ノードがノードPD(a2,b2)(ノード値が2)である場合、コスト計算対象ノードは、ノードPD(a1,b0),PD(a1,b1),PD(a1,b2)となる。
コストは、パスコストと、ノードコストの和となる。すなわち、パスコストは、処理対象ノードと、コスト計算対象ノードPDとの位置関係に基づいて決定される。例えば、図8の位置関係C1で示されるように、×印を含む処理対象ノードに対して、○印を含むコスト計算対象ノードが斜めに隣接されている場合、パスコストは、P×0(Pは定数)である。また、図8の位置関係C2で示されるように、×印を含む処理対象ノードに対して、○印を含むコスト計算対象ノードが1行分跨いで斜めに離されている場合、パスコストは、P×1(Pは定数)となる。さらに、図8の位置関係C3で示されるように、×印を含む処理対象ノードに対して、○印を含むコスト計算対象ノードが2行分跨いで斜めに離されている場合、パスコストは、P×2(Pは定数)となる。また、図8の位置関係C4で示されるように、×印を含む処理対象ノードに対して、○印を含むコスト計算対象ノードが水平方向に隣接する場合、パスコストは、Q(Qは定数)となる。
また、ノードコストは、ノード値そのものであり、処理対象ノード、およびコスト計算対象ノードのノード値の和である。
したがって、例えば、P=Q=2の場合、図6の処理対象ノードPD(a2,b2)に対して、コスト計算対象ノードPD(a1,b0)のとき、パスコストは、2であり、ノードコストは、8(=2+6)である。したがって、処理対象ノードPD(a2,b2)、およびコスト計算対象ノードPD(a1,b0)間のコストは、10(=8+2)となる。また、図6の処理対象ノードPD(a2,b2)に対して、コスト計算対象ノードPD(a1,b1)のとき、パスコストは、0であり、ノードコストは、8(=2+6)である。したがって、処理対象ノードPD(a2,b2)、およびコスト計算対象ノードPD(a1,b1)間のコストは、8(=0+8)となる。さらに、図6の処理対象ノードPD(a2,b2)に対して、コスト計算対象ノードPD(a1,b2)のとき、パスコストは、2であり、ノードコストは、4(=2+2)である。したがって、処理対象ノードPD(a2,b2)、およびコスト計算対象ノードPD(a1,b1)間のコストは、6(=4+2)となる。
この結果、処理対象ノードがノードPD(a2,b2)に対しては、コスト計算対象ノードPD(a1,b0),PD(a1,b1),PD(a1,b2)のうち、コストが最小となるのは、ノードPD(a1,b2)である。このため、ノードPD(a2,b2)は、ノードPD(a1,b2)との間でパスが設定される。このとき、ノードPD(a2,b2)のノード値は、2から計算されたトータルコストである6に置換される。
例えば、図6の差分絶対値マップPDに対して、ステップS22乃至S32の処理が繰り返されることにより、P=Q=2の場合、差分絶対値マップ生成部22aにより生成された差分絶対値マップPDは、図9の上段で示されるような差分絶対値マップPSのように変換される。また、同時に、図9の下段で示されるようなパスマップPMがパスマップ記憶部22cに記憶される。尚、図9の下段におけるパスマップPMにおける矢印が設定されたパスを示す。
ステップS33において、シフト量計算部22dは、差分絶対値マップ生成部22aに記憶されている差分絶対値マップPSにおけるノードPS(ar_max,bx)(x=0乃至7)の全ノード値のうち、最小となるノードを検索する。すなわち、図9の上段における差分絶対値マップPSのノードPS(ar_max,bx)のノード値は、図中下から、(50、48、28,26,24,22,16,18)である。このため、シフト量計算部22dは、図9の上段における差分絶対値マップPSの右列におけるノードのうち、ノード値が最小となる上から2段目のノード値16となるノードを検索する。
ステップS34において、シフト量計算部22dは、パスマップ記憶部22cに記憶されているパスマップより、ノード値が最小となるノードから順次パスを始点となるノードまで遡り、パスルートを検出する。
すなわち、例えば、図9の下段で示されるパスマップPMの場合、上述したように図9の上段で示される差分絶対値マップPSにおいて、ノード値が最小となるのは、ノードPS(a7,b6)のノード値が16となるノードである。そこで、シフト量計算部22dは、ノードPS(a7,b6)に設定されたパスを確認する。図9の下段で示されるように、ノードPS(a7,b6)のパスは、ノードPS(a6,b5)に設定されている。そこで、次に、シフト量計算部22dは、ノードPS(a6,b5)に設定されたパスを確認する。図9の下段で示されるように、ノードPS(a6,b5)のパスは、ノードPS(a5,b4)に設定されている。
同様に、シフト量計算部22dは、ノードPS(a5,b4)に設定されたパスを確認する。図9の下段で示されるように、ノードPS(a5,b4)のパスは、ノードPS(a4,b3)に設定されている。このため、シフト量計算部22dは、ノードPS(a4,b3)に設定されたパスを確認する。図9の下段で示されるように、ノードPS(a4,b3)のパスは、ノードPS(a3,b2)に設定されている。さらに、シフト量計算部22dは、ノードPS(a3,b2)に設定されたパスを確認する。図9の下段で示されるように、ノードPS(a3,b2)のパスは、ノードPS(a2,b2)に設定されている。また、シフト量計算部22dは、ノードPS(a2,b2)に設定されたパスを確認する。図9の下段で示されるように、ノードPS(a2,b2)のパスは、ノードPS(a1,b2)に設定されている。シフト量計算部22dは、ノードPS(a1,b2)に設定されたパスを確認する。図9の下段で示されるように、ノードPS(a1,b2)のパスは、ノードPS(a0,b1)に設定されている。
この結果、シフト量計算部22dは、パスルートとして、図9のパスマップPM内の太線の矢印で示されるように、ノードPS(a0,b1),PS(a1,b2),PS(a2,b2),PS(a3,b2),PS(a4,b3),PS(a5,b4),PS(a6,b5),PS(a7,b6)を検出する。
ステップS35において、シフト量計算部22dは、この読み出されたパスルートに基づいて、シフト量を求め、撮像倍率制御部23に供給する。シフト量とは、一次元配列値SRの各要素a0乃至a7が、一次元配列値SLの各要素b0乃至b7の値のどの位置の要素に対応しているかを示すものであり、基準となる対応する位置に対して、何行分シフトしているかを示す量である。したがって、パスルートが、ノードPM(a0,b0),(a1,b1),(a2,b2),(a3,b3),(a4,b4),(a5,b5),(a6,b6),(a7,b7)で構成されている場合、いずれの要素も相互に対応する位置に存在するため、シフト量(0,0,0,0,0,0,0,0)となる。尚、シフト量(0,0,0,0,0,0,0,0)の各要素は、一次元配列値SRの各要素a0乃至a7の一次元配列値SLの各要素b0乃至b7に対するシフト量を要素数、すなわち、行数で示したものである。
このため、図9の下部で示されるパスマップPM上の太線の矢印で示されるパスルートの場合、起点となるノードPM(a0,b1)は、基準となるノードPM(a0,b0)に対して、正方向に1行分だけシフトしているので、シフト量は1となる。また、ノードPM(a1,b2)は、基準となるノードPM(a1,b1)に対して、1行分だけ正方向にシフトしているので、シフト量は1となる。さらに、ノードPM(a2,b2)は、基準となるノードPM(a2,b2)そのものであり、シフトしていないので、シフト量は0となる。また、ノードPM(a3,b2)は、基準となるノードPM(a3,b3)に対して、1行分だけ負方向にシフトしているので、シフト量は−1となる。同様に、ノードPM(a4,b3)乃至(a7,b6)は、基準となるノードPM(a4,b4)乃至(a7,b7)に対して、1行分だけ負方向にシフトしているので、シフト量は−1となる。結果として、図9の下部で示されるパスマップPMにおける太線の矢印で示されるパスルートから導き出されるシフト量は、シフト量(1,1,0,−1,−1,−1,−1,−1)となる。
尚、このシフト量は、例えば、図10の右部の一次元配列値SRのa0乃至a7が、(0,6,6,6,6,6,6,0)であり、一次元配列SLのb0乃至b7が(0,0,4,4,4,4,0,0)で示されるような場合、図10の左部で示されるシフト量St(−1,−1,0,0,0,0,1,1)となる。すなわち、シフト量は、一次元配列値SRを一次元配列値SLに合わせ込む際の各要素のシフト方向とシフト量を示した値の一次元配列値となる。
ステップS36において、マッチング部22は、差分反転シフト量計算処理を実行し、上述したステップS21乃至S35の処理と同様の処理により、一次元配列値SR,SLを入替えてシフト量を求める。尚、差分反転シフト量計算処理については、差分絶対値マップを転置して、一次元配列値SR,SLを入替えるのみであり、その他の処理は、ステップS21乃至S35と同様であるので、その説明は省略する。尚、上述したコストに基づいた2の一次元配列値を合わせ込むためのシフト量を求めるシフト量計算処理は、基準となる2次元の画像形状に対して、対象となる2次元画像の形状を変形させて、基準となる2次元の画像形状に一致するようにマッチングさせる処理である、いわゆる弾性マッチング処理を、1次元配列値に応用した処理であると言える。
以上の処理によりステレオ画像を構成する2枚の画像からそれぞれを基準とした場合のシフト量が合計2種類求められることになる。
ここで、図2のフローチャートの説明に戻る。
ステップS4の処理により、ステレオ画像を構成する2枚の画像からそれぞれの画像を基準とした場合の2種類のシフト量が求められると、処理は、ステップS5に進む。
ステップS5において、撮像倍率制御部23は、傾き計算部23aを制御して、2種類のそれぞれのシフト量の情報に基づいて、行単位での各要素に対応するシフト量の傾きを求めさせる。このとき、傾き計算部23aは、シフト量の最大値、および最小値の差分を画素数で割ることにより傾きを求めるか、または、最小二乗法により傾きを求める。
ここで、ステレオ画像を構成する2枚の画像のそれぞれについて求められる1次元配列値とシフト量との関係について説明する。
例えば、ステレオ画像を構成する2枚の画像のうち、基準となる一方の画像の一次元配列値の波形が、図11の上段で示される波形W101で表現されるものとする。尚、図11においては、横軸は、画像における各画素配列の行番号を示しており、縦軸は、1次元配列値を構成する各行に対応する要素の値である。また、1次元配列値は行番号に対応する各要素が離散変量として表現されるべきものであるが、図11の波形は、それらの値を曲線近似で表現したものとする。
さらに、他方の画像が、例えば、基準画像よりズーム倍率が高く、基準画像と中央が同位置であって、かつ、中央周辺80%の画像で構成されているものとする。この場合、他方の画像の一次元配列値の波形は、波形W101の両端部10%部分が切断された、図11の中段で示される波形W102を、図11の下段で示されるように引き伸ばした波形W103となる。
したがって、ステレオ画像を構成する2枚の画像の基準となる一方の画像と同一の画像になるように、他方の画像を補正するのは、図12の上段で示されるように、それぞれの画像の一次元配列値の波形W103を、波形W101となるように合わせ込むように補正する必要がある。すなわち、波形W103における極値P11乃至P15の行番号に対応する画素が、それぞれ対応する波形W101における極値P1乃至P5と同一の行番号の画素をシフトする補正により、他方の画像は、一方の画像と同一のズーム倍率の画像とすることができる。
このときの各行番号とシフト量との関係が、図12の下段の直線として示されている。図12の下段においては、図中横軸が、他方の画像の画素の各行番号であり、縦軸は、一方の画像における、他方の画像における行番号に対してシフトすべきシフト量が示されている。すなわち、他方の画像の波形W103の端部の行番号=0は、波形W101の始端より10%部分が切断された位置であるので、水平方向の画素数が画素数Hである場合、シフト量は、その10%分に相当する行番号St1(=H/10)の画素とされる。また、他方の画像の波形W103の端部の行番号=Hは、波形W101の終端より10%部分が切断された位置であるので、水平方向の画素数が画素数Hである場合、シフト量は、その10%分に相当する−St1(=−H/10)画素分とされる。この結果、各行番号の画素については、始端および終端のそれぞれのシフト量を結んだ直線L1により表現することができる。
傾き計算部23aは、この直線L1の傾きを波形W101で表現される一次元配列値の画像を基準としたときの、波形W103の各画素のシフト量の傾きとして求める。また、傾き計算部23aは、図13で示されるように、同様の手法により、波形W103で表現される一次元配列値の画像を基準としたときの、波形W101の各画素のシフト量を傾きとして求める。
すなわち、図13においては、波形W103で示される一次元配列値の画像を基準として、波形W101で示される一次元配列値の画像の画素を補正する場合、基準となる画像のズーム倍率が大きいために、補正しようとする画像の始端に対応する画素がない。このため、シフト量は、補正しようとする画像の始端より水平方向の画素数に対して10%短い行番号H/10の位置が、負の方向に水平方向の画素数の10%に相当する−St1(−H/10)画素分とされる。同様に、補正しようとする画像の終端より水平方向の画素数に対して10%短い行番号9H/10の行番号の画素である場合、シフト量は、正の方向に水平方向の画素数の10%に相当するH/10画素分とされる。この結果、各行番号の画素については、始端および終端のそれぞれのシフト量を結んだ直線L2により表現することができる。すなわち、傾き計算部23aは、直線L2の傾きを、波形W103で表現される一次元配列値の画像を基準としたときの、波形W101の各画素のシフト量を傾きとして求める。
ステップS6において、撮像倍率制御部23は、基準決定部23bを制御して、基準となる画像を決定し、対応するシフト量を決定する直線の傾きを決定する。すなわち、基準となる画像のズーム倍率の方が低く、補正しようとする画像のズーム倍率の方が高い場合、図12で示されるように、直線L1が補正しようとする行番号が全範囲に定義されるため、全ての行の画素を補正することができる。一方、基準となる画像のズーム倍率の方が高く、補正しようとする画像のズーム倍率の方が低い場合、図13で示されるように、直線L2が補正しようとする行番号の始端近傍および終端近傍を定義することができないため、全ての行の画素を補正することができない。そこで、基準決定部23bは、図12,図13を参照して説明したように求められる直線L1,L2の傾きのうち、行番号の全範囲を定義することができる傾きが負の状態において定義される基準の画像を基準画像として決定する。
ステップS7において、撮像倍率制御部23は、補正量計算部23cを制御して、基準として決定された画像に対応する傾きに基づいて、補正量であるズーム倍率を計算させる。すなわち、図12,図13の場合、直線L1の傾きに基づいて、補正量であるズーム倍率を計算する。
ステップS8において、撮像倍率制御部23は、補正量計算部23cにより計算されたズーム倍率からなる補正量で補正部24−1または24−2のいずれか、基準ではない画像を拡大、または縮小させて補正する。
以上の処理により、ステレオ画像を構成する2枚の画像のズーム倍率のずれ、すなわち、画角のずれを補正することが可能となる。
ところで、以上の例においては、撮像部11−1,11−2の垂直方向に対して同一の高さで設定されることが前提である場合の例について説明してきたが、例えば、図14で示されるように、撮像部11−1,11−2で示されるように、高さが異なる場合でも同様の処理で補正することができる。すなわち、図14においては、撮像部11’−2が、撮像部11−1に対して垂直方向に画素数d分だけずれて配設される場合、撮像部11−1,11’−2のそれぞれの一次元配列値の波形は、例えば、図15の上段で示されるような関係となる。すなわち、図15の上段においては、基準となる画像の一次元配列値の波形W201に対して、画素数d分だけずれて、補正しようとする画像の一次元配列値の波形W202が構成される。このため、補正しようとする画像の一次元配列値の波形W202の極値P111乃至P115は、基準となる画像の極値P101乃至P105に対応する関係となる。
結果として、行単位のシフト量は、図15の下段で示される直線L1’として求められることになる。すなわち、始端でのシフト量が、図12における場合のシフト量にずれ幅の画素数dが加算されたSt1+dとされ、終端でのシフト量が、図13における場合のシフト量にずれ幅の画素数dが加算された−St1+dとされる。したがって、シフト量を示す直線L1は、撮像部11−2のずれ幅である画素数d分だけシフトした直線L1’となる。
それ以外の処理については、上述した処理と同様の処理によりズーム倍率のずれ、すなわち、画角のずれを補正すると共に、撮像部11−1,11−2間の垂直方向のずれも補正することが可能となる。
<2.第2の実施の形態>
[ステレオ画像補正装置のその他の構成例]
以上においては、動的計画法により差分絶対値マップ内において、最適なパスルートを求めた後、そのパスルートから求められるシフト量に基づいて、補正量を設定し、画角のずれ、すなわち、ズーム倍率を補正する例について説明してきた。しかしながら、動的計画法によりパスルートを求める処理については、差分絶対値マップの多くのノード間のコストを計算した上で、パスルートを設定するといった処理が必要となるため、その処理負荷が大きかった。
[ステレオ画像補正装置のその他の構成例]
以上においては、動的計画法により差分絶対値マップ内において、最適なパスルートを求めた後、そのパスルートから求められるシフト量に基づいて、補正量を設定し、画角のずれ、すなわち、ズーム倍率を補正する例について説明してきた。しかしながら、動的計画法によりパスルートを求める処理については、差分絶対値マップの多くのノード間のコストを計算した上で、パスルートを設定するといった処理が必要となるため、その処理負荷が大きかった。
ところで、シフト量は、ズーム倍率のずれの大きさに応じて定まったものであり、一旦求められれば、求められたシフト量を繰り返し利用することができる。そこで、予めズーム倍率のずれの大きさに応じてシフト量を求めておき、全てのズーム倍率に対して求められたシフト量で一次元配列値を補正した上で、ステレオ画像を構成する2枚の画像のそれぞれの一次元配列値の差分絶対値和を求めるようにする。そして、求められた差分絶対値和が最小となるズーム倍率によるシフト量で、画像を補正するようにして、シフト量を求めるための処理負荷を低減させるようにしてもよい。
図16は、シフト量を求めるための処理負荷を低減できるようにしたステレオ画像補正装置12の構成例を示している。尚、図1のステレオ画像補正装置12における構成と同一の機能を備えた構成については、同一の名称、および同一の符号を付すものとし、その説明は、適宜省略するものとする。
すなわち、図16のステレオ画像補正装置12において、図1のステレオ画像補正装置12と異なる点は、マッチング部22、および撮像倍率制御部23に変えて、マッチング部41、および撮像倍率計算部42を設け、さらに、補正部40−1,40−2を備えるようにさせた点である。
マッチング部41は、シフト量記憶部41a、補正量計算部41b、および評価値計算部41cを備えている。マッチング部41は、シフト量記憶部41aに記憶されているズーム倍率のずれに応じて設定されるシフト量を順次読み出す。シフト量記憶部41aは、図7のフローチャートを参照して説明した処理により、ズーム倍率のずれ毎に予め計算されたシフト量を、ズーム倍率のずれ量に対応付けて記憶している。例えば、シフト量記憶部41aは、ズーム倍率のずれ量に応じて、図17で示されるように、直線L11,L12で示されるようなシフト量の情報を記憶している。図17においては、直線L11のシフト量が始端においてシフト量がSt101であり、終端においてシフト量が−St101とされている。また、直線L12のシフト量が始端においてシフト量がSt102(<St101)であり、終端においてシフト量が−St102とされている。例えば、水平方向の画素数がHである場合、シフト量L11,L12のそれぞれズーム倍率のずれが、20%,10%であれば、St101,St102は、それぞれH/10,H/20となる。尚、ズーム倍率のずれについては、図17で示される2種類以上であり、複数の所定の倍率のずれごとにそれぞれシフト量が求められていることが望ましい。
マッチング部41は、補正量計算部41bを制御して、順次読み出した全てのズーム倍率のずれに応じたシフト量により一次元配列値の補正量を計算させる。そして、マッチング部41は、補正量計算部41bにより計算された補正量で、補正部40−1,40−2のそれぞれに対して水平加算部21−1,21−2により計算された一次元配列値を補正させる。
補正部40−1,40−2は、補正した一次元配列値を、マッチング部41に供給する。そして、マッチング部41は、評価値計算部41cを制御して、順次異なるズーム倍率のずれに応じたシフト量による補正量で補正された一次元配列値の差分絶対値和をズーム倍率のずれに応じた評価値として計算させる。マッチング部41は、ズーム倍率のずれの大きさ毎に求められた評価値を調整パラメータとして撮像倍率計算部42に供給する。尚、このとき、マッチング部41は、併せて、シフト量に応じて補正量の情報も撮像倍率計算部42に供給する。
撮像倍率計算部42は、評価値記憶部42a、シフト量決定部42b、および補正量記憶部42cを備えている。撮像倍率計算部42は、マッチング部41より順次供給されてくるズーム倍率のずれの大きさ毎に求められた評価値、およびシフト量の情報を評価値記憶部42aに記憶させる。撮像倍率計算部42は、シフト量決定部42bを制御して、評価値を評価し、いずれのシフト量を用いるべきであるかを決定させる。そして、撮像倍率計算部42は、シフト量決定部42bにより決定されたシフト量に応じた、ズーム倍率を補正量として補正量記憶部42cに記憶させ、補正量記憶部42cに記憶されている補正量であるズーム倍率により補正部24−1,24−2のいずれかの画像を拡大、または縮小させるように制御する。
[図16のステレオ画像補正装置によるステレオ画像補正処理]
次に、図18のフローチャートを参照して、図16のステレオ画像補正装置12によるステレオ画像補正処理について説明する。尚、図18のステップS51,SS60,S61の処理については、図2のステップS1,S7,S8の処理と同様であるので、その説明は省略するものとする。
次に、図18のフローチャートを参照して、図16のステレオ画像補正装置12によるステレオ画像補正処理について説明する。尚、図18のステップS51,SS60,S61の処理については、図2のステップS1,S7,S8の処理と同様であるので、その説明は省略するものとする。
すなわち、ステップS51において、撮像部11−1,11−2により画像が撮像されると、処理は、ステップS52に進む。
ステップS52において、水平加算部21−1,21−2は、それぞれ供給されてきたステレオ画像を構成する画素の画素値を行単位で加算し、各行の加算値からなる一次元配列値を生成し、それぞれ補正部21−1,21−2、およびマッチング部41に供給する。
ステップS53において、マッチング部41は、シフト量記憶部41aに記憶されているシフト量のうち、未処理の倍率のずれに対応したシフト量のうち、未処理のズーム倍率のずれに対応したシフト量を処理対象シフト量に設定する。
ステップS54において、マッチング部41は、補正量計算部41bを制御して、処理対象シフト量に応じて一次元配列値の補正量を計算させる。
ステップS55において、マッチング部41は、計算された補正量の情報を補正部40−1,40−2に供給し、それぞれ水平加算部21−1,21−2により計算された一次元配列値を補正させて、マッチング部41に供給させる。
ステップS56において、マッチング部41は、評価値計算部41cを制御して、2の一次元配列値の各要素の差分絶対値和を、処理対象となっているズーム倍率のずれに対応した評価値として計算させて、撮像倍率計算部42に供給する。この際、マッチング部41は、処理対象となっているズーム倍率のずれに対応した補正量の情報も併せて撮像倍率計算部42に供給する。
ステップS57において、撮像倍率計算部42は、評価値記憶部42aを制御して、供給されてきた評価値および補正量の情報を、ズーム倍率のずれに対応付けて記憶させる。
ステップS58において、マッチング部41は、シフト量記憶部41aに記憶されているシフト量のうち、処理対象シフト量に設定されていないシフト量が存在するか否かを判定する。ステップS58において、例えば、処理対象シフト量に設定されていないシフト量が存在する場合、処理は、ステップS53に戻る。すなわち、全てのシフト量について、評価値が求められるまで、ステップS53乃至S58の処理が繰り返される。ステップS58において、全てのシフト量について評価値が求められた場合、処理は、ステップS59に進む。
ステップS59において、撮像倍率計算部42は、シフト量決定部42bを制御して、評価値を評価し、いずれのシフト量を用いるべきであるかを決定させる。すなわち、評価値である一次元配列値の各要素の差分絶対値和が最小であるということは、そのズーム倍率のずれに対応付けられたシフト量に基づいた補正によりステレオ画像の2枚に対応する一次元配列値のずれが最小とされていることになるので、そのときのシフト量が用いるべきシフト量として決定される。
ステップS60において、撮像倍率計算部42は、決定されたシフト量に対応して設定されている補正量であるズーム倍率を、補正量記憶部42cに記憶させる。
ステップS61において、撮像倍率計算部42は、補正量記憶部42cに記憶されている補正量であるズーム倍率で補正部24−1,24−2を制御して、撮像部11−1,11−2により撮像された画像のいずれかを拡大、または縮小させる。
以上の処理により補正すべき補正量を決定するにあたり、動的計画法などの処理によりシフト量を求める計算する必要がなくなるので、処理負荷を低減させることが可能となる。結果として、高速でステレオ画像の2枚の画像のズーム倍率のずれ、すなわち、画角のずれを補正することが可能となる。尚、図16のステレオ画像補正装置12においても、図1のステレオ画像補正装置12と同様に、撮像部11−1,11−2の撮像位置のずれを補正することも可能である。ただし、この場合、予め撮像部11−1,11−2の撮像位置のずれに対応したシフト量計算処理が必要となる。
また、以上においては、画像を画素単位で補正して、ズーム倍率、すなわち画角を補正する例について説明してきたが、撮像部11−1,11−2に撮像される画像を光学系の装置により調整してズーム倍率を調整するようにしてもよい。また、撮像部11−1,11−2がそれぞれ物理的に配設されている位置を撮像方向に対して前後させるようにして調整するようにしてもよい。
本発明によれば、ステレオ画像の2枚のズーム倍率のずれ、すなわち、画角のずれを補正することが可能となる。
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
図19は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタ-フェイス1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
入出力インタ-フェイス1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア1011に対してデータを読み書きするドライブ1010が接続されている。
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
11−1,11−2 撮像部, 12 ステレオ画像補正装置, 21−1,21−2 水平加算部, 22 マッチング部, 23 撮像倍率制御部, 24−1,24−2 補正部, 40−1,40−2 補正部, 41 マッチング部, 42 撮像倍率制御部
Claims (10)
- 第1の画像および第2の画像を撮像する撮像手段と、
前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出手段と、
前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出手段と、
前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御手段と
を含む画像処理装置。 - 調整パラメータ算出手段は、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいて、前記第1の一次元配列値および前記第2の一次元配列値を合わせ込むための調整パラメータを算出する
請求項1に記載の画像処理装置。 - 調整パラメータ算出手段は、
前記第1の一次元配列値および前記第2の一次元配列値の差分絶対値からなる差分絶対値マップを生成する差分絶対値マップ生成手段と、
前記差分絶対値マップの一方の端部から他方の端部へのパスを構成する際の、前記差分絶対値マップの各ノード間のコストを計算するコスト計算手段と、
前記コスト計算手段により計算されたコストが最小となるパスよりシフト量を、調整パラメータとして算出するシフト量算出手段と
を含む
請求項2に記載の画像処理装置。 - 前記差分絶対値マップ生成手段は、前記第1の一次元配列値の各要素を基準とした前記第2の一次元配列値の各要素との差分絶対値からなる第1の差分絶対値マップ、並びに、前記第2の一次元配列値の各要素を基準とした前記第1の一次元配列値の各要素との差分絶対値からなる第2の差分絶対値マップを生成する
請求項3に記載の画像処理装置。 - 前記補正制御手段は、前記第1の差分絶対値マップに基づいたシフト量の傾き、および前記第2の差分絶対値マップに基づいたシフト量の傾きのうち、傾きが負の値として求められるシフト量の傾きに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する
請求項4に記載の画像処理装置。 - 前記補正制御手段は、前記調整パラメータであるシフト量の最大値および最小値、または最小二乗法に基づいて、前記シフト量の傾きを求め、前記傾きに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する
請求項5に記載の画像処理装置。 - 前記コスト計算手段は、前記差分絶対値マップの一方の端部から他方の端部へのパスを構成する際の、前記差分絶対値マップの各ノード間のコストを動的計画法により計算する
請求項3に記載の画像処理装置。 - 前記調整パラメータ算出手段は、
前記第1の一次元配列値または前記第2の一次元配列値に複数の補正量に応じたシフト量の情報を記憶する記憶手段と、
前記記憶手段に記憶された補正量毎のシフト量に基づいて、前記第1の一次元配列値または前記第2の一次元配列値をシフトさせるシフト手段と、
前記シフト手段によりシフトされた前記第1の一次元配列値および前記第2の一次元配列値の各要素の差分絶対値和からなる評価値を、前記調整パラメータとして計算する評価値計算手段とを含み、
前記補正制御手段は、
前記調整パラメータである評価値のうち最小となる補正量を決定する補正量決定手段を含み、
前記補正量決定手段により決定された補正量で、前記第1の画像または前記第2の画像の倍率の補正を制御する
請求項2に記載の画像処理装置。 - 第1の画像および第2の画像を撮像する撮像手段と、
前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出手段と、
前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出手段と、
前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御手段と
を含む画像処理装置の画像処理方法であって、
前記撮像手段における、前記第1の画像および第2の画像を撮像する撮像ステップと、
前記一次元配列値算出手段における、前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出ステップと、
前記調整パラメータ算出手段のおける、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出ステップと、
前記補正制御手段における、前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御ステップと
を含む画像処理方法。 - 第1の画像および第2の画像を撮像する撮像手段と、
前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出手段と、
前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出手段と、
前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御手段と
を含む画像処理装置を制御するコンピュータに、
前記撮像手段における、前記第1の画像および第2の画像を撮像する撮像ステップと、
前記一次元配列値算出手段における、前記第1の画像、および第2の画像における各行について、水平方向に画素の画素値を加算して、それぞれ第1の一次元配列値、および第2の一次元配列値を求める一次元配列値算出ステップと、
前記調整パラメータ算出手段のおける、前記第1の一次元配列値および前記第2の一次元配列値の差分に基づいた調整パラメータを算出する調整パラメータ算出ステップと、
前記補正制御手段における、前記調整パラメータに基づいて、前記第1の画像または前記第2の画像の倍率の補正を制御する補正制御ステップと
を含む処理を実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010236156A JP2012090145A (ja) | 2010-10-21 | 2010-10-21 | 画像処理装置および方法、並びにプログラム |
US13/271,524 US20120098939A1 (en) | 2010-10-21 | 2011-10-12 | Image processing apparatus and method, and program |
CN201110319930XA CN102457746A (zh) | 2010-10-21 | 2011-10-14 | 图像处理装置和方法以及程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010236156A JP2012090145A (ja) | 2010-10-21 | 2010-10-21 | 画像処理装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012090145A true JP2012090145A (ja) | 2012-05-10 |
Family
ID=45972697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010236156A Withdrawn JP2012090145A (ja) | 2010-10-21 | 2010-10-21 | 画像処理装置および方法、並びにプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120098939A1 (ja) |
JP (1) | JP2012090145A (ja) |
CN (1) | CN102457746A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5837463B2 (ja) * | 2012-07-06 | 2015-12-24 | 株式会社東芝 | 画像処理装置および画像処理システム |
FR3048515B1 (fr) * | 2016-03-03 | 2018-06-22 | Stereolabs | Appareil de prise de vue stereoscopique |
CN113099143B (zh) * | 2021-03-29 | 2023-03-21 | 南昌欧菲光电技术有限公司 | 一种图像处理方法、装置、电子设备及存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4897719A (en) * | 1987-03-19 | 1990-01-30 | Hugh Griffin | Image pre-processing sub-system |
US5113455A (en) * | 1990-02-27 | 1992-05-12 | Eastman Kodak Company | Digital image scaling by stepwise pixel movement |
EP0518185B1 (en) * | 1991-06-10 | 1996-12-11 | Eastman Kodak Company | Cross correlation image sensor alignment system |
US5611000A (en) * | 1994-02-22 | 1997-03-11 | Digital Equipment Corporation | Spline-based image registration |
US5832110A (en) * | 1996-05-28 | 1998-11-03 | Ricoh Company, Ltd. | Image registration using projection histogram matching |
US6301377B1 (en) * | 1999-10-05 | 2001-10-09 | Large Scale Proteomics Corporation | Gel electrophoresis image warping |
US6909792B1 (en) * | 2000-06-23 | 2005-06-21 | Litton Systems, Inc. | Historical comparison of breast tissue by image processing |
US7065237B2 (en) * | 2001-12-10 | 2006-06-20 | Canon Kabushiki Kaisha | Image processing apparatus and method |
JP4144292B2 (ja) * | 2002-08-20 | 2008-09-03 | ソニー株式会社 | 画像処理装置と画像処理システム及び画像処理方法 |
JP2004361740A (ja) * | 2003-06-05 | 2004-12-24 | Canon Inc | 自動焦点調節装置及び方法 |
JP4358182B2 (ja) * | 2005-11-29 | 2009-11-04 | 株式会社日立国際電気 | 撮像装置およびその雑音低減方法 |
WO2007126033A1 (en) * | 2006-04-25 | 2007-11-08 | Canon Kabushiki Kaisha | Image sensing apparatus and method for controlling the same |
JP2009071689A (ja) * | 2007-09-14 | 2009-04-02 | Sony Corp | 画像処理装置、画像処理方法および撮像装置 |
JP5049155B2 (ja) * | 2008-02-07 | 2012-10-17 | 株式会社リコー | プログレッシブ・インタレース変換方法、画像処理装置及び画像撮像装置 |
CN102090067B (zh) * | 2008-08-04 | 2013-03-20 | 松下电器产业株式会社 | 摄像装置、图像处理方法、图像处理程序及半导体集成电路 |
US8605186B2 (en) * | 2010-04-26 | 2013-12-10 | Hitachi Kokusai Electric, Inc. | Video format conversion without a flicker for the solid imaging apparatus |
JP5719986B2 (ja) * | 2010-10-20 | 2015-05-20 | パナソニックIpマネジメント株式会社 | 画像処理装置および画像処理方法 |
-
2010
- 2010-10-21 JP JP2010236156A patent/JP2012090145A/ja not_active Withdrawn
-
2011
- 2011-10-12 US US13/271,524 patent/US20120098939A1/en not_active Abandoned
- 2011-10-14 CN CN201110319930XA patent/CN102457746A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN102457746A (zh) | 2012-05-16 |
US20120098939A1 (en) | 2012-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105791801B (zh) | 图像处理装置、图像拾取装置和图像处理方法 | |
EP1841207A1 (en) | Imaging device, imaging method, and imaging device design method | |
US10785463B2 (en) | Super-resolution in structured light imaging | |
JP6075295B2 (ja) | 辞書作成装置、画像処理装置、画像処理システム、辞書作成方法、画像処理方法及びプログラム | |
JP4825748B2 (ja) | 画像データ処理方法および撮像装置 | |
JP2009140066A (ja) | 歪曲補正画像生成ユニットおよび歪曲補正画像生成方法 | |
JP6015670B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2005149500A (ja) | 多焦点画像スタック内の歪みの補正方法 | |
JP2016218115A (ja) | 光学素子の設計方法、光学素子アレイ、センサアレイおよび撮像装置 | |
JP2017194569A (ja) | 画像処理装置、撮像装置及び画像処理方法 | |
KR20100051359A (ko) | 영상 데이터 생성 방법 및 장치 | |
JP5170276B2 (ja) | 画像再構成装置、画像再構成方法、及び画像再構成プログラム | |
WO2014132754A1 (ja) | 画像処理装置および画像処理方法 | |
JP2012090145A (ja) | 画像処理装置および方法、並びにプログラム | |
JP5566199B2 (ja) | 画像処理装置およびその制御方法、並びにプログラム | |
US20130195373A1 (en) | Image processing system, image processing method and image processing program | |
JP6557499B2 (ja) | 焦点検出装置およびその制御方法、撮像装置、プログラム、ならびに記憶媒体 | |
JPWO2013089261A1 (ja) | 画像処理システム及び画像処理方法 | |
JP2008053875A (ja) | 画像処理装置および方法、プログラム、並びにプログラム格納媒体 | |
JP2015207998A (ja) | 画像処理装置及び画像処理方法 | |
CN107534730B (zh) | 图像处理装置及图像处理方法 | |
JP6532328B2 (ja) | 画像処理装置、その制御方法、および制御プログラム | |
JP5310402B2 (ja) | 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム | |
JP5309940B2 (ja) | 画像処理装置、および撮像装置 | |
JP2021122080A (ja) | データ処理装置、データ処理方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140107 |