説明

画像処理装置、画像処理方法、および、記録媒体

【課題】ステレオ法による画像処理において、処理を高精度化および高速化する。
【解決手段】カメラにより撮像された画像1乃至5は、画像入力部100−1乃至100−5にそれぞれ入力され、内蔵されているメモリに格納された後、カメラのレンズの収差をキャンセルするような順序で読み出され、各カメラの特性に起因する濃淡値の相違が補正される。SAD200−1乃至200−4は、1つのカメラから出力される基準画像と、その他2つのカメラから出力される参照画像との間で画素値の差分の絶対値を算出し、SSAD回路300−1乃至300−4は、各SAD回路からの出力をブロックマッチング処理し、2次近似部400−1乃至400−4は、各SSAD回路から出力されたデータを2次近似し、最小値選択部500,600および結果メモリ700は、2次近似部400−1乃至400−4から出力されるデータの最小値を選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、および、記録媒体に関し、特に、ステレオ法により対象点までの距離を算定する画像処理装置、画像処理方法、および、記録媒体に関する。
【背景技術】
【0002】
ステレオ法は、複数の視点から撮像した画像を用いて、対象点までの距離を三角測量の原理を用いて測定する技法である。
【0003】
図6は、従来における、ステレオ法を用いて対象点までの処理を測定する画像処理装置の構成例を示す図である。
【0004】
この図において、メモリ1−1乃至メモリ1−5は、図示せぬカメラ1乃至カメラ5によって撮像された1フレーム分の画像を格納し、所定の順序で画素データを読み出して出力するようになされている。なお、カメラ1乃至5のうちの、例えば、カメラ1は基準カメラとされ、この基準カメラの画像と他のカメラ(参照カメラ)の画像を比較することにより、マッチング処理を行い、マッチング処理の結果に応じて視差を算定するようになされている。
【0005】
SAD(Sum of Absolute Difference)回路2は、メモリ1−1から出力された基準画像と、その他のメモリ1−2乃至1−5から出力された各画像との間で画素値の差分の絶対値を算出する。例えば、SAD回路2は、メモリ1−1とメモリ1−2、メモリ1−1とメモリ1−3、メモリ1−1とメモリ1−4、および、メモリ1−1とメモリ1−5の間で画素値の差分の絶対値を算出して出力する。
【0006】
SSAD(Sum of SAD)回路3は、SAD回路2から出力される各カメラ間の画素差分の絶対値をもとにして、各カメラ間のブロックマッチング処理を行った結果を出力するようになされている。
【0007】
最小値検出部4は、SSAD回路3から出力される結果の中から、最小値を検出して出力する。
【0008】
2次近似部5は、最小値検出部4から出力される最小値とその前後の値を2次関数により近似(補間)し、更に高い精度で最小値を算出するようになされている。
【0009】
メモリ6は、2次近似部5から出力される最小値を記憶するようになされている。
【0010】
次に、以上の従来例の動作について説明する。
【0011】
いま、カメラ1(図示せず)が中央に配置され、その他のカメラ2乃至5(図示せず)がそれを囲むように配置されているとする。そのとき、カメラ1から出力された画像は、基準画像としてメモリ1−1に格納される。また、その他のカメラ2乃至5から出力された画像は、メモリ1−2乃至1−5にそれぞれ格納される。
【0012】
SAD回路2は、メモリ1−1から出力された基準画像と、他のメモリ1−2乃至1−5から出力された参照画像とでペアを形成し、各ペアの間で画素の差分の絶対値を算出して出力する。
【0013】
SSAD回路3は、SAD回路2から出力された各ペア毎の画素の差分の絶対値から所定の画素ブロック(例えば、5×5ブロックなど)のマッチング処理を行う。即ち、SSAD回路3は、画素ブロック単位で差分を計算し、得られた結果を最小値検出部4に供給する。
【0014】
最小値検出部4は、SSAD回路3から出力される差分値の中から、最小値を検出して、2次近似部5に供給する。
【0015】
2次近似部5は、最小値検出部4から出力された最小値と、その前後2点のデータを2次曲線により近似(補間)して、更に精度の高い最小値データを生成し、出力する。
【0016】
メモリ6は、2次近似部5から出力されたデータを記憶する。
【発明の開示】
【発明が解決しようとする課題】
【0017】
ところで、ステレオ法に基づく処理では、基準となる画像の各画素が、参照画像のどこに対応するかという対応点問題を解く必要がある。この対応点問題を解く方法としては、マッチング処理が一般的に用いられている。即ち、基準画像と参照画像を比較することにより、最もマッチング(類似度)が高い部分が対応点として相互に関連づけられる。
【0018】
マッチング処理により対応点を探索する場合、探索範囲はキャリブレーション(校正)により予め決定される。この探索範囲は、理論的には、エピポーララインと呼ばれる直線に沿っている存在する筈であるが、実際には、レンズの収差などにより曲線となる場合が多い。
【0019】
そこで、そのような問題を解決するために、探索点を全て列挙し、それらをルックアップテーブルに予め格納しておくことが考えられる。しかしながら、そのようにして作成したルックアップテーブルを使用した場合においても、各画素の濃淡値がレンズの種類の相違や、絞りの違いなどにより、各カメラ間で異なる場合が生じ、そのような場合には正確にマッチング処理を行うことができないと言う課題があった。
【0020】
そこで、そのような問題点を解決するために、入力画像を4ビットに圧縮し、かつ、濃淡値の違いを吸収するために、濃淡値が大きく変化する部分を強調する処理を行うことが提案されている(参考文献「“A Stereo Machine for Video-rate Dense Depth Mapping and Its New Applications”Takeo Kanade, Atsushi Yoshida, Kazuo Oda, Hiroshi Kano and Masaya Tanaka, Proceedings of 15th Computer Vision and Pattern Recognition Conference(CVPR). June 18-20, 1996, San Francisco.」)。
【0021】
しかしながら、このような方法では、原画像の微妙な濃淡の差が無視されるため、微妙な濃淡の差をマッチング処理の結果に反映することができない。従って、濃淡値が大きく変化する部分では、正しいマッチング処理の結果が得られる一方で、濃淡の変化が小さい部分では、正しいマッチング処理の結果が得られないという課題があった。
【0022】
また、マッチング処理の結果得られた距離データは、高い精度で求めることが望ましいので、前述の従来例では、対応点を探索した結果得られた最小値データを2次曲線により補間し、更に精度の高いデータを求めていた。
【0023】
しかしながら、この補間処理を実行するためには計算コストが高くつく除算を行う必要があることから、従来においては、回路規模を縮小するために、ブロックマッチングによって得られた結果の最小値(最小値検出部4の出力)に対してのみ補間処理が実施されていた。このような方法では、ハードウエア規模は縮小できるものの、最小値が出力された後に補間処理を実行する必要があることから、処理全体に遅延が生じ、その結果として処理を高速化することが困難となるという課題があった。
【0024】
本発明は、以上のような状況に鑑みてなされたものであり、正確なマッチング処理を可能とするとともに、処理を高速化することを可能とするものである。
【課題を解決するための手段】
【0025】
請求項1に記載の画像処理装置は、各撮像装置から出力される画像を記憶する第1の記憶手段と、記憶手段に記憶された画像を構成する画素データを読み出す順序を記憶する第2の記憶手段と、第2の記憶手段に記憶された順序に応じて、第1の記憶手段に記憶されている画素データを読み出す読み出し手段と、読み出し手段によって読み出された画素データの階調を変換する変換手段とを備えることを特徴とする。
【0026】
請求項4に記載の画像処理方法は、各撮像装置から出力される画像を記憶する第1の記憶ステップと、記憶ステップに記憶された画像を構成する画素データを読み出す順序を記憶する第2の記憶ステップと、第2の記憶ステップに記憶された順序に応じて、第1の記憶ステップに記憶されている画素データを読み出す読み出しステップと、読み出しステップによって読み出された画素データの階調を変換する変換ステップとを備えることを特徴とする。
【0027】
請求項5に記載の記録媒体は、各撮像装置から出力される画像を記憶する第1の記憶ステップと、記憶ステップに記憶された画像を構成する画素データを読み出す順序を記憶する第2の記憶ステップと、第2の記憶ステップに記憶された順序に応じて、第1の記憶ステップに記憶されている画素データを読み出す読み出しステップと、読み出しステップによって読み出された画素データの階調を変換する変換ステップとを備えるプログラムを記録する。
【0028】
請求項1に記載の画像処理装置、請求項4に記載の画像処理方法、および、請求項5に記載の記録媒体においては、各撮像装置から出力される画像を記憶し、記憶された画像を構成する画素データを読み出す順序を記憶し、記憶された順序に応じて、記憶されている画素データを読み出し、読み出された画素データの階調を変換する。例えば、各撮像装置から出力される画像を記憶し、記憶された画像を構成する画素データを、各撮像装置のレンズの収差をキャンセルするように読み出す順序を記憶し、記憶された順序に応じて、記憶されている画素データを読み出し、読み出された画素データの階調が各カメラ間で誤差を生じないように変換する。
【発明の効果】
【0029】
本発明によれば、ステレオ法において、対象までの距離を正確に算出することが可能となる。
【発明を実施するための最良の形態】
【0030】
図1は、本発明の実施の形態の構成例を示すブロック図である。
【0031】
この図において、画像入力部100−1(第1の入力手段)、および、画像入力部100−2乃至100−5(第2の入力手段)は、図示せぬカメラ1乃至5から出力された画像をそれぞれ格納する。そして、レンズの収差をキャンセルするように所定の順序で読み出されるとともに、ルックアップテーブルに応じて画素の値が階調変換されて出力されるようになされている。なお、この画像入力部100−1乃至100−5の詳細な構成例については図2を参照して後述する。
【0032】
ここで、カメラ1から出力される画像は基準画像とされており、また、その他のカメラ2乃至5から出力される画像は参照画像とされている。
【0033】
SAD回路200−1乃至200−4(マッチング手段)は、基準画像と2つの参照画像との間で画素の差分の絶対値を計算するようになされている。例えば、SAD回路200−1は、基準画像(メモリ100−1から出力される画像)と、カメラ2およびカメラ3から出力された画像(メモリ100−2およびメモリ100−3から出力される画像)を入力し、これらの間で画素の差分の絶対値を演算するようになされている。なお、SAD回路200−1乃至200−4の詳細については図3を参照して後述する。
【0034】
SSAD回路300−1乃至300−4(マッチング手段)は、例えば、5×5個の画素から構成される画素ブロック単位で差分値を算出して出力するようになされている。なお、このSSAD回路300−1乃至300−4の詳細は、図4を参照して後述する。
【0035】
2次近似部400−1乃至400−4(補間手段)は、SSAD回路300−1乃至300−4からそれぞれ出力される3つの差分値の入力を受け、それら3点を通る2次曲線を求めるとともに、その2次曲線の最小値を求めて出力するようになされている。なお、この2次曲線近似部400−1乃至400−4の詳細については、図5を参照して後述する。
【0036】
最小値選択部500(検出手段)は、2次近似部400−1乃至400−4からそれぞれ出力されるデータの中から最小値を選択して出力するようになされている。
【0037】
最小値選択部600(検出手段)は、最小値選択部500から出力された新たな最小値と、結果メモリ700(検出手段)に格納されているそれまでの最小値とを比較し、小さい方を選択して出力するようになされている。
【0038】
結果メモリ700は、最小値選択部600から出力された最小値を一時的に格納するとともに、格納されているそれまでの最小値を最小値選択部600に供給するようになされている。
【0039】
なお、この最小値選択部600と結果メモリ700が協働することにより、最小値選択部500から出力される一連のデータの中から最小値を有するデータが選択されて、結果メモリ700に格納されることになる。
【0040】
次に、図2を参照して図1に示す画像入力部100の詳細な構成例について説明する。
【0041】
この図において、メモリ101(第1の記憶手段、読み出し手段)は、カメラから出力された画像データをカウンタ102から出力されるアドレスデータに対応するアドレスに格納するようになされている。また、格納されたデータを読み出す場合には、メモリ103(第2の記憶手段)から出力されるアドレスデータに対応するアドレスからデータを読み出して出力するようになされている。セレクタ106は、画像データをメモリ101に入力する場合には、カウンタ102側へ接続され、また、画像データをメモリ101から出力する場合には、メモリ103側へ接続されるようになされている。
【0042】
カウンタ102は、メモリ101に対して画像データを読み込む場合に、アドレスデータを出力するようになされており、例えば、小さい順にアドレスデータを出力するようになされている。
【0043】
カウンタ104は、アドレスデータを所定の順序で出力するようになされている。メモリ103は、カウンタ104から出力されたアドレスデータを、レンズの収差をキャンセルするように変換して出力するようになされている。なお、メモリ103に格納されているアドレス変換用のデータは、キャリブレーションを行う際に対応点を手がかりとして生成される。
【0044】
また、メモリ103に格納されているデータには有効ビットが付加されており、各カメラ毎に予め求められている探索範囲が画像の領域を越える場合には、この有効ビットは“0”とされているので、メモリ103から出力される有効ビット信号は“0”の状態となる。なお、探索範囲が画像の領域内である場合には、メモリ103から出力される有効ビット信号は“1”の状態とされる。
【0045】
ルックアップテーブル105(変換手段)は、階調変換を行うためのデータが格納されており、入力されたデータに対応するアドレスからデータが読み出されて出力されるようになされている。なお、このルックアップテーブル105に格納されているデータは、カメラ1乃至カメラ5により同一のパターンを撮像した場合に、全てのカメラの出力が同一になるようなデータが格納されている。従って、このルックアップテーブル105により各カメラの特性のばらつきが補正される。
【0046】
続いて、図3を参照して、図1に示すSAD回路200の詳細な構成例について説明する。なお、SAD回路200−1乃至200−4は全て同様の構成とされているので、以下では、SAD回路200−1を例に挙げて説明する。
【0047】
この図において、減算回路201−1は、カメラ1から出力された基準画像の画素値から、カメラ2から出力された参照画像の画素値を減算して出力するようになされている。減算回路201−2は、カメラ1から出力された基準画像の画素値から、カメラ3から出力された参照画像の画素値を減算して出力するようになされている。
【0048】
絶対値回路202−1は、減算回路201−1から出力されるデータの絶対値を演算し、得られた結果を出力するようになされている。また、絶対値回路202−2は、減算回路201−2から出力されるデータの絶対値を演算し、得られた結果を出力するようになされている。
【0049】
セレクタ203−1は、カメラ2の有効ビットが“1”の状態である場合には、絶対値回路202−1の出力を選択して出力するようになされている。一方、カメラ2の有効ビットが“0”の状態である場合には、絶対値回路202−2の出力を選択して出力するようになされている。
【0050】
セレクタ203−2は、カメラ3の有効ビットが“1”の状態である場合には、絶対値回路202−2の出力を選択して出力するようになされている。一方、カメラ3の有効ビットが“0”の状態である場合には、絶対値回路202−1の出力を選択して出力するようになされている。
【0051】
加算回路204は、セレクタ203−1の出力と、セレクタ203−2の出力を加算して出力するようになされている。
【0052】
セレクタ206は、カメラ2またはカメラ3の少なくとも一方の有効ビットが“1”の状態である場合には、加算回路204の出力を選択して出力する。また、双方の有効ビットが“0”の場合には、最大値回路205から出力されるデータ(例えば、511)を選択して出力するようになされている。
【0053】
最後に、図4を参照して、図1に示すSSAD回路300の詳細な構成例について説明する。
【0054】
この図において、ディレイライン301は、入力された画素値の差分の絶対値をブロックマッチングのブロックの大きさ×1ラインの画素数分だけ遅延して出力するようになされている。
【0055】
減算回路302は、ディレイライン301を経由していないデータから、ディレイライン301から出力されたデータを減算し、得られた結果を出力するようになされている。
【0056】
加算回路303は、減算回路302から出力されたデータと、メモリ304から出力されたデータを加算して出力するようになされている。メモリ304は、加算回路303から出力されたデータを1ライン分遅延した後、出力するようになされている。
【0057】
ディレイライン305は、加算回路303の出力を1ラインを構成する画素数分だけ遅延して出力するようになされている。減算回路306は、加算回路303の出力からディレイライン305の出力を減算して出力するようになされている。
【0058】
加算回路307は、減算回路306の出力とメモリ308の出力とを加算して出力するようになされている。メモリ308は、加算回路307の出力をブロックマッチングのブロックの大きさ分だけ遅延して出力するようになされている。
【0059】
次に、以上の実施の形態の動作について説明する。
【0060】
図1に示す実施の形態に、カメラ1乃至カメラ5から出力される画像が入力されると、画像入力部100−1乃至100−5は、画像を一旦格納した後、所定の順序で読み出すとともに、階調変換を施して出力する。
【0061】
即ち、図2に示すメモリ101に対して画像データが供給されると、カウンタ102から出力されるアドレスデータに対応するアドレスに、データが逐次格納されていくことになる。なお、このような動作は、画像入力部100−1乃至100−5の全てにおいて実行され、カメラ1乃至5から出力された画像がメモリ101の所定のアドレスに逐次格納されることになる。また、このとき、セレクタ106は、カウンタ102側を選択している。
【0062】
画像データの格納が終了すると、セレクタ106がメモリ103側に接続される。そして、カウンタ104からアドレスデータの出力が開始される。メモリ103は、カウンタ104から出力されたアドレスデータに対応するアドレスから所定のデータを読み出してメモリ101に供給する。メモリ103に格納されているデータは、各画素毎、かつ、各探索ディスパリティ毎に画像データを読み出すように設定されているので、その結果、探索するエピポーララインが非直線の場合でも対応でき、レンズの収差等を吸収することが可能となる。
【0063】
また、メモリ103に格納されているデータには、前述のように有効ビットが付加されているので、各カメラ毎に求められている探索範囲が画像の領域を越えた場合には、有効ビットが“0”の状態とされる。また、探索範囲が画像の領域を越えていない場合には、同ビットは“1”の状態とされる。
【0064】
メモリ101から出力された画像データは、ルックアップテーブル105に供給される。ルックアップテーブル105は、メモリ101から出力された画像データに対応するアドレスに格納されているデータを読み出して出力する。このルックアップテーブル105に格納されているデータは、各カメラの特性の相違に起因する階調の差を補正するように設定されているので、その結果、各カメラ間の明暗の相違などを吸収することができる。
【0065】
このようにして、レンズの収差と各カメラの特性に対する補正処理が施された画像データは、画像入力部100−1乃至100−5から出力され、SAD回路200−1乃至200−4に供給される。
【0066】
SAD回路200−1乃至200−4は、画像入力部100−1乃至100−5から出力された基準画像データと2つの参照画像データとの間で画素値の差分の絶対値を算出して出力する。なお、SAD回路200−1乃至200−4において行われる演算は、有効ビットの値に応じて適宜変更される。
【0067】
即ち、画像入力部100−1から出力された補正処理が施された画像データは、減算回路201−1と減算回路201−2にそれぞれ供給される。また、画像入力部100−2と画像入力部100−3から出力された画像データは、それぞれ、減算回路201−1と減算回路201−2に供給される。
【0068】
減算回路201−1は、基準画像の画素値から、参照画像であるカメラ2の画像の画素値を減算して出力する。また、減算回路201−2は、基準画像の画素値から、参照画像であるカメラ3の画像の画素値を減算して出力する。
【0069】
絶対値回路202−1は、減算回路201−1の計算結果の絶対値を演算して出力する。また、絶対値回路202−2は、減算回路201−2の計算結果の絶対値を演算して出力する。その結果、絶対値回路202−1からは、参照画像である画像入力部100−2からの画像と、基準画像である画像入力部100−1からの画素の差分の絶対値が出力される。また、絶対値回路202−2からは、参照画像である画像入力部100−3の画像と、基準画像である画像入力部100−1からの画像の画素の差分の絶対値が出力されることになる。
【0070】
セレクタ203−1は、カメラ2の探索範囲が画像の領域内にある場合には、有効ビットが“1”の状態とされるので、絶対値回路203−1の出力を選択して加算回路204に出力する。また、カメラ2の探索範囲が画像の領域を越えた場合には、有効ビットが“0”の状態とされるので、その場合には、セレクタ203−1は、絶対値回路202−2の出力を選択して加算回路204に出力する。
【0071】
同様に、セレクタ203−2は、カメラ3の探索範囲が画像の領域内にある場合には、有効ビットが“1”の状態とされるので、絶対値回路203−2の出力を選択して、加算回路204に出力する。また、カメラ3の探索範囲が画像の領域を越えた場合には、有効ビットが“0”の状態とされるので、その場合には、セレクタ203−2は、絶対値回路202−1の出力を選択して加算回路204に出力する。
【0072】
加算回路204は、セレクタ203−1と203−2の出力を加算して出力する。また、セレクタ206は、カメラ2とカメラ3の有効ビットの状態に応じて、加算回路204、または、最大値回路205の出力を選択して出力する。その結果、セレクタ206の出力は、カメラ2とカメラ3の有効ビットの状態に応じて以下のような出力を生ずることになる。
【0073】
(1)双方の有効ビットが“1”(有効)の状態であれば、絶対値回路202−1と絶対値回路202−2がそのまま加算されて出力される。
(2)どちらか一方の有効ビットが“0”(無効)である場合には、有効である方の絶対値回路の出力が2倍されて出力される。
(3)双方の有効ビットが“0”である場合には、最大値回路205の出力(例えば、画素データが8ビットの場合には値511)が選択されて出力される。
【0074】
SAD回路200−1乃至200−4の出力は、SSAD回路300−1乃至300−4にそれぞれ供給される。
【0075】
SSAD回路200−1乃至200−4は、例えば、5×5個の画素からなる画素ブロック単位でブロックマッチング処理を行い、得られた結果を出力する。
【0076】
即ち、SAD回路200−1乃至200−4から出力された画素の差分の絶対値(|aij−bij|)は、減算回路302に供給されるとともに、ディレイライン301に供給され、ブロックマッチングの大きさ×1ラインの画素数分だけ遅延された後、減算回路302に供給される。
【0077】
減算回路302は、SAD回路の出力データから、ディレイライン301により遅延されたデータを減算して、加算回路303に出力する。
【0078】
加算回路303は、メモリ304により遅延された1ライン分前のデータと減算回路302の出力とを加算して出力する。その結果、加算回路303からは、2次元ブロックマッチングの1次元処理が施されたデータ(Σi|aij−bij
)が出力されることになる。
【0079】
ディレイライン305、減算回路306、加算回路307、および、メモリ308は、前段の回路と同様の処理を実行し、その結果、加算回路307からは、2次元のブロックマッチング処理が施されたデータ(ΣjΣi|aij−bij|)が出力されることになる。
【0080】
SSAD回路300−1乃至300−4から出力されたデータは、2次近似処理部400−1乃至400−4にそれぞれ供給される。
【0081】
2次近似部400−1乃至400−4は、SSAD回路300−1乃至300−4から出力されたあるデータS2と、それに前後するデータS1,S3を2次曲
線で補間して、更に正確な最小値データを得る。
【0082】
図5は、2次近似部400の動作を説明する図である。
【0083】
この図に示すように、SSAD回路300の出力d1乃至d3が入力されると、2次近似回路400は、d1乃至d3を結ぶ曲線を以下の2次式により生成する。
【0084】
1=a・d12+b・d1+c ・・・(1)
2=a・d22+b・d2+c ・・・(2)
3=a・d32+b・d3+c ・・・(3)
【0085】
ここで、d1=−1,d2=0,d3=1とすると、以上の式(1)乃至(3)
は、次のようになる。
【0086】
1=a−b+c ・・・(4)
2=c ・・・(5)
3=a+b+c ・・・(6)
【0087】
これを解くと、最小値dは、以下の式により表すことができる。
【0088】
d=(S1−S3)/{2×(S1−2・S2+S3)} ・・・(7)
【0089】
ここで、dの範囲は、以下のように表すことができる。
【0090】
−0.5≦d≦0.5 ・・・(8)
【0091】
従って、各項を2倍すると、以下の式を得る。
【0092】
−1≦2・d≦1 ・・・(9)
【0093】
式(9)に式(7)を代入すると、以下の式を得る。
【0094】
−1≦(S1−S3)/(S1−2・S2+S3)≦1 ・・・(10)
【0095】
通常、式(7)に示すような除算を含む演算を行う場合、ハードウエアの計算コストは大きくなる。しかしながら、ここでは、求める精度が小数点以下3乃至4ビットと少なく、また、得られる結果の範囲が式(10)に示すように明確になっている。即ち、2次曲線近似で求める正確な最小値を示す位置は、求まった最小値の位置から±0.5の範囲にある。従って、除算の代わりに減算を用いて計算を行うことができることから、計算を大幅に簡略化するとともに、ハードウエア資源を削減することができる。
【0096】
なお、以上の構成では、SSAD回路300から出力される全てのデータに対して2次近似が施されることになるが、最終的には、最小値選択部500により最小値のみが選択されるので問題は生じない。
【0097】
このようにして2次近似されたデータは、最小値選択部500に供給される。最小値選択部500は、2次近似部400−1乃至400−4から出力されたデータから最小値を選択し、最小値選択部600に対して出力する。
【0098】
最小値選択部600は、結果メモリ700に格納されているそれまでの最小値と、最小値選択部500から新たに出力された値とを比較し、より小さい方を選択して出力する。結果メモリ700は、最小値選択部600から出力された値を保持する。その結果、結果メモリ700には、全てのカメラペア(各SAD回路に入力されている画像に対応するカメラの組み合わせ)から得られたデータのうち、最小のデータが選択されて格納されることになる。
【0099】
このような最小のデータは、マッチング度が最も高いデータであるので、そのデータを用いることにより、最も精度の高い視差を求めることが可能となる。
【0100】
以上のような実施の形態によれば、SSAD回路300の出力を2次近似部400により2次近似した後で、最小値選択部500により最小値を選択するようにしたので、装置をパイプライン化し、また、並列分散処理を行うことが可能となる。従って、演算を高速に実行することが可能となる。
【0101】
また、メモリ103を設けて、データを非直線的に読み出すことができるようにしたので、レンズの収差の影響をキャンセルすることが可能となる。更に、ルックアップテーブル105を設け、各カメラの特性の相違に起因する濃淡値の誤差を補正するようにしたので、結果として測定精度を向上させることが可能となる。
【0102】
なお、以上の実施の形態においては、5台のカメラを用いて測定を行うようにしたが、本発明はこのような場合にのみ限定されるものではないことは勿論である。
【0103】
また、明細書中において、伝送媒体は、FD,CD−ROMなどの情報記録媒体の他、インターネット、ディジタル衛星などのネットワーク伝送媒体も含まれる。
【図面の簡単な説明】
【0104】
【図1】本発明の実施の形態の構成例を示すブロック図である。
【図2】図1に示す画像入力部100の詳細な構成例を示すブロック図である。
【図3】図1に示すSAD回路200の詳細な構成例を示すブロック図である。
【図4】図1に示すSSAD回路300の詳細な構成例を示すブロック図である。
【図5】図1に示す2次近似部400の処理を説明する図である。
【図6】従来の画像処理装置の構成例を示すブロック図である。
【符号の説明】
【0105】
100−1 画像入力部(第1の入力手段), 100−2乃至100−5 画像入力部(第2の入力手段), 101 メモリ(第1の記憶手段、読み出し手段), 103 メモリ(第2の記憶手段), 105 ルックアップテーブル(変換手段), 200−1乃至200−4 SAD回路(マッチング手段), 300−1乃至300−4 SSAD回路(マッチング手段), 500, 600 最小値検出部(検出手段), 700 結果メモリ(検出手段)

【特許請求の範囲】
【請求項1】
複数の撮像装置によって撮像された画像に基づいて、対象点までの距離を画像処理により算出する画像処理装置において、
各撮像装置から出力される画像を記憶する第1の記憶手段と、
前記記憶手段に記憶された画像を構成する画素データを読み出す順序を記憶する第2の記憶手段と、
前記第2の記憶手段に記憶された順序に応じて、前記第1の記憶手段に記憶されている画素データを読み出す読み出し手段と、
前記読み出し手段によって読み出された画素データの階調を変換する変換手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記第2の記憶手段に記憶されているデータは、各撮像装置のレンズの収差に応じて生成されている
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記変換手段は、前記複数の撮像装置の階調が全て等しくなるように設定されている
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
複数の撮像装置によって撮像された画像に基づいて、対象点までの距離を画像処理により算出する画像処理方法において、
各撮像装置から出力される画像を記憶する第1の記憶ステップと、
前記記憶ステップに記憶された画像を構成する画素データを読み出す順序を記憶する第2の記憶ステップと、
前記第2の記憶ステップに記憶された順序に応じて、前記第1の記憶ステップに記憶されている画素データを読み出す読み出しステップと、
前記読み出しステップによって読み出された画素データの階調を変換する変換ステップと
を備えることを特徴とする画像処理方法。
【請求項5】
複数の撮像装置によって撮像された画像に基づいて、対象点までの距離を画像処理により算出する画像処理装置で使用されるコンピュータプログラムが記録されている記録媒体において、
各撮像装置から出力される画像を記憶する第1の記憶ステップと、
前記記憶ステップに記憶された画像を構成する画素データを読み出す順序を記憶する第2の記憶ステップと、
前記第2の記憶ステップに記憶された順序に応じて、前記第1の記憶ステップに記憶されている画素データを読み出す読み出しステップと、
前記読み出しステップによって読み出された画素データの階調を変換する変換ステップとを備えるプログラムが記録されている記録媒体。
【請求項6】
請求項5に記載の記録媒体に記録されたプログラムを用いて画像処理を行う画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2006−164297(P2006−164297A)
【公開日】平成18年6月22日(2006.6.22)
【国際特許分類】
【出願番号】特願2005−378602(P2005−378602)
【出願日】平成17年12月28日(2005.12.28)
【分割の表示】特願平9−207952の分割
【原出願日】平成9年8月1日(1997.8.1)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】