<第1の実施形態>
以下、本発明の実施形態について、図面を参照して説明する。図1は、本第1の実施形態における画像処理装置の概略構成を示したブロック図である。図1に示した画像処理装置100は、シリアル/パラレル変換部110と、共通ブロックSAD演算部120と、2つの加算処理部131および加算処理部132と、を備えている。なお、図1には、撮像装置に搭載され、画像処理装置100に画素信号を出力する固体撮像装置(以下「イメージセンサ」という)10も併せて示している。ただし、図1においては、イメージセンサ10に配置されたそれぞれの画素から出力される画素信号(アナログ信号)をデジタル信号に変換する構成要素は省略している。また、図1においては、シリアル/パラレル変換部110から共通ブロックSAD演算部120に出力する信号線を簡略化して示している。
イメージセンサ10は、不図示のレンズによって結像された被写体の光学像を光電変換するCCD(Charge Copled Device:電荷結合素子)イメージセンサや、CMOS(Complementary Metal−Oxide Semiconductor:相補型金属酸化膜半導体)イメージセンサに代表される固体撮像装置である。イメージセンサ10は、撮像した撮影画像の画素信号、すなわち、入射した被写体光に応じたそれぞれの画素の画素信号を、水平方向xに隣接する2画素同時に、それぞれの画素に対応する2つのチャンネルから出力する。なお、以下の説明においては、イメージセンサ10がベイヤー配列のカラーフィルタが撮像面に貼付されている固体撮像装置であり、ベイヤー配列の撮影画像の水平方向xに隣接する2画素の画素信号を、対応するそれぞれのチャンネルから同時に出力するものとして説明する。
ベイヤー配列のイメージセンサ10が水平方向xに隣接する2画素の画素信号を同時に出力する場合、まず、最初の出力タイミングで、R画素の画素信号を一方のチャンネル(以下、「チャンネルch1」という)から順次出力し、同時に、R画素に水平方向(行方向)に隣接するGr画素の画素信号を他方のチャンネル(以下、「チャンネルch2」という)から順次出力する。その後、イメージセンサ10は、次の出力タイミングで、Gb画素の画素信号を一方のチャンネルから順次出力し、同時に、Gb画素に水平方向(行方向)に隣接するB画素の画素信号を他方のチャンネルから順次出力する。
このように、イメージセンサ10は、垂直方向(列方向)に隣接する2画素の画素信号の出力を、行毎に交互に繰り返す。そして、画像処理装置100には、イメージセンサ10がそれぞれのチャンネルから出力した画素信号が、不図示の構成要素(例えば、アナログデジタル変換回路)によってデジタル信号にそれぞれ変換され、それぞれのチャンネルから出力された画素信号が表す画素値に応じた画像データとして順次入力される。
なお、以下の説明においては、説明を容易にするため、イメージセンサ10が、画素信号に応じた画像データをそれぞれのチャンネルから出力するものとして説明する。図1には、イメージセンサ10のチャンネルch1からR画素の画素信号に応じた画像データ(R1,R2,R3,・・・)が、チャンネルch2からGr画素の画素信号に応じた画像データ(Gr1,Gr2,Gr3,・・・)が、それぞれ同時に、画像処理装置100に順次入力されている様子を示している。
画像処理装置100は、イメージセンサ10に配置されたそれぞれの画素から出力される画素信号に応じたデジタル信号に対して様々な画像処理を施す画像処理部内に備えられる。なお、図1においては、イメージセンサ10から出力されるそれぞれの画素信号が表す画素値に応じたデジタル信号(画像データ)に応じて、注目画素と参照画素との間の相関を取る画像処理を施す、本第1の実施形態の画像処理装置100の構成のみを示している。本第1の実施形態の画像処理装置100では、注目画素と参照画素との間の相関を取る手法として、イメージセンサ10から出力される注目画素を中心とした予め定めた大きさの領域内のそれぞれの画像に対応したそれぞれの画像データの差分絶対値和を求めるSAD(Sum of Absolute Distance)演算を行い、SAD演算した結果(以下、「SAD演算結果」という)を出力する。なお、図1に示した画像処理装置100は、水平方向(行方向)xに隣接する2画素の画素信号を同時に出力するベイヤー配列のイメージセンサ10に対応した構成の一例である。
シリアル/パラレル変換部110は、イメージセンサ10のそれぞれのチャンネルから順次(直列的に)入力される画像データを、後段の共通ブロックSAD演算部120がSAD演算を行う際に用いる数だけ同時に(並列的に)出力する。より具体的には、シリアル/パラレル変換部110は、イメージセンサ10の行毎に交互に入力される画像データを一旦記憶し、記憶したそれぞれの画像データを、共通ブロックSAD演算部120がSAD演算を行う数だけ同時に出力する。シリアル/パラレル変換部110は、例えば、画像処理装置100がSAD演算を行う際に用いるイメージセンサ10の垂直方向(列方向)の画像データの数、つまり、イメージセンサ10の水平方向の行数(ライン数)のラインメモリで構成される。
この構成によって、シリアル/パラレル変換部110は、それぞれの画像データが異なるタイミングで入力された場合でも、SAD演算を行うブロックに含まれる画像データを同じタイミングで共通ブロックSAD演算部120に出力することができる。
共通ブロックSAD演算部120は、シリアル/パラレル変換部110から同時に入力されたそれぞれの画像データに基づいてSAD演算を行い、SAD演算した後のSAD演算結果を、イメージセンサ10のそれぞれのチャンネルに対応する後段の加算処理部のそれぞれに出力する。
共通ブロックSAD演算部120によるSAD演算では、まず、イメージセンサ10のチャンネルch1から出力される注目画素を中心とした予め定めた大きさの領域(以下、「第1の注目ブロック」という)と、チャンネルch2から出力される注目画素を中心とした予め定めた大きさの領域(以下、「第2の注目ブロック」という)とをそれぞれ定義する。そして、共通ブロックSAD演算部120は、さらに、第1の注目ブロックと第2の注目ブロックとが重複する、すなわち、第1の注目ブロックに対するSAD演算と第2の注目ブロックに対するSAD演算とで共通に用いられる領域(以下、「共通注目ブロック」という)を定義する。
また、共通ブロックSAD演算部120によるSAD演算では、イメージセンサ10のチャンネルch1から出力される注目画素に対応した参照画素を中心とした予め定めた大きさの領域(以下、「第1の参照ブロック」という)と、チャンネルch2から出力される注目画素に対応した参照画素を中心とした予め定めた大きさの領域(以下、「第2の参照ブロック」という)とをそれぞれ定義する。そして、共通ブロックSAD演算部120は、さらに、第1の参照ブロックと第2の参照ブロックとが重複する領域(以下、「共通参照ブロック」という)を定義する。
なお、イメージセンサ10は、水平方向xに隣接する2画素の画像データを同時に出力する。このため、共通ブロックSAD演算部120が定義した第1の注目ブロックと第2の注目ブロックとは、水平方向xに1画素分ずれた領域である。また、同様に、共通ブロックSAD演算部120が定義した第1の参照ブロックと第2の参照ブロックとも、水平方向xに1画素分ずれた領域である。
ここで、以下の説明においては、イメージセンサ10から出力されるそれぞれの画像データに対応する各画素の位置を容易に識別できるようにするため、画素の座標値をXY座標で表し、“():括弧”内の最初に画素の水平方向xの列番号、最後に垂直方向yの行番号を数字で表す。例えば、イメージセンサ10のチャンネルch1から出力される水平方向x=6、垂直方向y=6の座標位置に位置する注目画素は、注目画素(6,6)と表し、イメージセンサ10のチャンネルch2から出力される水平方向x=7、垂直方向y=6の座標位置に位置する注目画素は、注目画素(7,6)と表す。
その後、共通ブロックSAD演算部120は、定義した共通注目ブロックと共通参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値をそれぞれ算出し、算出した差分絶対値を積算した結果、つまり、共通注目ブロックに対応するSAD演算結果(以下、「共通SAD演算結果」という)を、後段の加算処理部131と加算処理部132とのそれぞれに出力する。このとき共通ブロックSAD演算部120が出力する共通SAD演算結果は、下式(2)で表される。
上式(2)において、SADo(x,y)は水平方向x、垂直方向yの座標位置に位置するイメージセンサ10のチャンネルch1から出力される注目画素(x,y)を中心とした共通注目ブロックに対応した共通SAD演算結果を表す。また、上式(2)において、A(x,y)は水平方向x、垂直方向yの座標位置に位置する注目画素(x,y)を中心とした共通注目ブロック内の画像データ、B(x,y)は水平方向x、垂直方向yの座標位置に位置する注目画素(x,y)を中心とした共通注目ブロック内の画像データに対応する共通参照ブロック内の画像データを表す。また、上式(2)において、hは注目画素(x,y)を中心とした第1の注目ブロックの領域の水平方向の大きさを示した画素数、vは注目画素(x,y)を中心とした第1の注目ブロックの領域の垂直方向の大きさを示した画素数を表す。また、上式(2)において、nは共通注目ブロック内の注目画素(x,y)に対応する参照画素の注目画素(x,y)からの水平方向の距離を示した画素数、nは共通注目ブロック内の注目画素(x,y)に対応する参照画素の注目画素(x,y)からの垂直方向の距離を示した画素数を表す。従って、上式(2)において、h、v、n、m、i、およびjは正の整数である。
また、共通ブロックSAD演算部120は、定義した第1の注目ブロック内で、共通注目ブロックに含まれないブロック(以下、「第1の加算ブロック」という)に対応するSAD演算結果(以下、「第1の加算用SAD演算結果」という)を加算処理部131に出力する。また、共通ブロックSAD演算部120は、定義した第2の注目ブロック内で、共通注目ブロックに含まれないブロック(以下、「第2の加算ブロック」という)に対応するSAD演算結果(以下、「第2の加算用SAD演算結果」という)を加算処理部132に出力する。
なお、共通ブロックSAD演算部120は、第1の注目ブロックと第2の注目ブロックを合わせたブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値を算出する演算回路を、このブロックに含まれる画素数分備えている。例えば、共通ブロックSAD演算部120が対応する第1の注目ブロックと第2の注目ブロックとのそれぞれの領域が、5画素×5画素の領域である場合には、第1の注目ブロックと第2の注目ブロックとを合わせたブロックの領域は、6画素×5画素の領域となる。このため、共通ブロックSAD演算部120は、6画素×5画素分、すなわち、30個の演算回路を備えている。これにより、共通ブロックSAD演算部120は、シリアル/パラレル変換部110から同時に入力されたそれぞれの画像データに基づいてSAD演算した共通SAD演算結果、第1の加算用SAD演算結果、および第2の加算用SAD演算結果を、同時に加算処理部131と加算処理部132とのそれぞれに出力することができる。
加算処理部131および加算処理部132のそれぞれは、共通ブロックSAD演算部120から入力された共通SAD演算結果と、共通ブロックSAD演算部120から入力された第1の加算用SAD演算結果または共通ブロックSAD演算部120から入力された第2の加算用SAD演算結果とに基づいて、イメージセンサ10のそれぞれのチャンネルに対応するSAD演算結果を、それぞれ出力する。なお、図1に示した画像処理装置100では、加算処理部131がイメージセンサ10のチャンネルch1に対応し、加算処理部132がイメージセンサ10のチャンネルch2に対応している。
より具体的には、加算処理部131は、共通ブロックSAD演算部120から入力された共通SAD演算結果と、共通ブロックSAD演算部120から入力された第1の加算用SAD演算結果とを加算し、加算した結果を、イメージセンサ10のチャンネルch1に対応するSAD演算結果として出力する。このとき加算処理部131が出力する第1の注目ブロックに対応したSAD演算結果は、下式(3)で表される。
上式(3)において、SAD1(x,y)は水平方向x、垂直方向yの座標位置に位置するイメージセンサ10のチャンネルch1から出力される注目画素(x,y)を中心とした第1の注目ブロックに対応したSAD演算結果を表す。また、上式(3)において、右辺の第2項は、第1の加算ブロックに対応した第1の加算用SAD演算結果を表す式である。また、上式(3)において、A(x,y)、B(x,y)、h、v、n、m、i、およびjは、上式(2)と同様である。
また、加算処理部132は、共通ブロックSAD演算部120から入力された共通SAD演算結果と、共通ブロックSAD演算部120から入力された第2の加算用SAD演算結果とを加算し、加算した結果を、イメージセンサ10のチャンネルch2に対応するSAD演算結果として出力する。このとき加算処理部132が出力する第2の注目ブロックに対応したSAD演算結果は、下式(4)で表される。
上式(4)において、SAD2(x,y)は水平方向x、垂直方向yの座標位置に位置するイメージセンサ10のチャンネルch2から出力される注目画素(x,y)を中心とした第2の注目ブロックに対応したSAD演算結果を表す。また、上式(4)において、右辺の第2項は、第2の加算ブロックに対応した第2の加算用SAD演算結果を表す式である。また、上式(4)において、A(x,y)、B(x,y)、h、v、n、m、i、およびjは、上式(2)および上式(3)と同様である。
このような構成によって、画像処理装置100では、イメージセンサ10のチャンネルch1に対応するSAD演算結果と、イメージセンサ10のチャンネルch2に対応するSAD演算結果とを同時に出力する。つまり、画像処理装置100では、共通ブロックSAD演算部120と加算処理部131との構成によって、イメージセンサ10のチャンネルch1に対応するSAD演算結果を出力し、共通ブロックSAD演算部120と加算処理部132との構成によって、イメージセンサ10のチャンネルch2に対応するSAD演算結果を出力する。
次に、本第1の実施形態の画像処理装置100において、イメージセンサ10のそれぞれのチャンネルに対応するSAD演算を行う方法について説明する。まず、図2を用いて同時にSAD演算を行う領域について説明する。図2は、本第1の実施形態の画像処理装置100において同時にSAD演算を行う画素の領域の一例を模式的に示した図である。図2(a)には、イメージセンサ10のチャンネルch1から出力される注目画素を中心とした第1の注目ブロックと、第1の参照ブロックとの位置関係を示し、図2(b)には、イメージセンサ10のチャンネルch2から出力される注目画素を中心とした第2の注目ブロックと、第2の参照ブロックとの位置関係を示している。
図2を見てわかるように、イメージセンサ10が、水平方向xに隣接する2画素の画像データを同時に出力する場合、イメージセンサ10のチャンネルch1から出力される注目画素と、イメージセンサ10のチャンネルch2から出力される注目画素とは、水平方向xに隣接する2画素である。同様に、イメージセンサ10のチャンネルch1から出力される注目画素に対応する参照画素と、イメージセンサ10のチャンネルch2から出力される注目画素に対応する参照画素とも、水平方向xに隣接する2画素である。
より具体的には、図2に示した一例では、イメージセンサ10のチャンネルch1から出力される注目画素の座標位置は、水平方向x=6、垂直方向y=6の座標位置であり、イメージセンサ10のチャンネルch2から出力される注目画素の座標位置は、水平方向x=7、垂直方向y=6の座標位置である。同様に、それぞれの注目画素の座標位置から水平方向に−4、垂直方向に−4した座標位置にある、イメージセンサ10のチャンネルch1から出力される注目画素に対応する参照画素の座標位置は、水平方向x=2、垂直方向y=2の座標位置であり、イメージセンサ10のチャンネルch2から出力される注目画素に対応する参照画素の座標位置は、水平方向x=3、垂直方向y=2の座標位置である。
上述したように、共通ブロックSAD演算部120は、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした第1の注目ブロックと、チャンネルch2から出力される注目画素(7,6)を中心とした第2の注目ブロックとをそれぞれ定義する。また、共通ブロックSAD演算部120は、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)を中心とした第1の参照ブロックと、チャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)を中心とした第2の参照ブロックとをそれぞれ定義する。
より具体的には、図2に示した一例では、共通ブロックSAD演算部120が、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした5画素×5画素の領域を第1の注目ブロックと定義し、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心とした5画素×5画素の領域を第2の注目ブロックと定義する。また、共通ブロックSAD演算部120は、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)を中心とした5画素×5画素の領域を第1の参照ブロックと定義し、チャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)を中心とした5画素×5画素の領域を第2の参照ブロックと定義する。
ここで定義された第1の注目ブロック内の画像データと第1の参照ブロック内の画像データとに基づいてSAD演算したSAD演算結果が、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した最終的なSAD演算結果である。また、ここで定義された第2の注目ブロック内の画像データと第2の参照ブロック内の画像データとに基づいてSAD演算したSAD演算結果が、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した最終的なSAD演算結果である。
なお、従来の撮像装置に備えた画像処理部においては、第1の注目ブロック内の画像データと第1の参照ブロック内の画像データとに基づいてSAD演算するSAD演算部と、第2の注目ブロック内の画像データと第2の参照ブロック内の画像データとに基づいてSAD演算するSAD演算部とをそれぞれ備えることによって、第1の注目ブロックと第2の注目ブロックとのそれぞれに対応するSAD演算結果とを同時に出力していた。
一方、本第1の実施形態の画像処理装置100では、共通ブロックSAD演算部120が、第1の注目ブロックと第2の注目ブロックとに共通する共通注目ブロックと、第1の参照ブロックと第2の参照ブロックとに共通する共通参照ブロックとをそれぞれ定義する。図3は、本第1の実施形態の画像処理装置100におけるSAD演算の演算方法を模式的に示した図である。図3には、第1の注目ブロックと第2の注目ブロックとに共通する4画素×5画素の領域の共通注目ブロックと、第1の参照ブロックと第2の参照ブロックとに共通する4画素×5画素の領域の共通参照ブロックとをそれぞれ定義した状態を示している。
図3を見てわかるように、共通注目ブロック内には、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)と、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)とが含まれている。また、共通参照ブロック内には、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)と、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)とが含まれている。
そして、本第1の実施形態の画像処理装置100では、共通ブロックSAD演算部120が、定義した共通注目ブロック内の画像データと共通参照ブロック内の画像データとに基づいてSAD演算を行い、共通注目ブロックに対応した共通SAD演算結果を、加算処理部131と加算処理部132とのそれぞれに出力する。このとき共通ブロックSAD演算部120が出力する、図3に示した、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした共通注目ブロックに対応した共通SAD演算結果は、上式(2)より、下式(5)で表される。
さらに、本第1の実施形態の画像処理装置100では、共通ブロックSAD演算部120が、定義した第1の注目ブロック内で、共通注目ブロックに含まれないブロック、すなわち、図3に示した第1の加算ブロック内の画像データと、この第1の加算ブロックに対応する第1の参照ブロック内の領域の画像データとに基づいてSAD演算を行った第1の加算用SAD演算結果を、加算処理部131に出力する。
これにより、加算処理部131は、共通ブロックSAD演算部120から入力された共通SAD演算結果と第1の加算用SAD演算結果とを加算して、第1の注目ブロックに対応したSAD演算結果を得る。そして、加算処理部131は、第1の注目ブロックに対応したSAD演算結果を、イメージセンサ10のチャンネルch1に対応するSAD演算結果として出力する。このとき加算処理部131が出力する、図2(a)に示した、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした第1の注目ブロックに対応したSAD演算結果は、上式(3)より、下式(6)で表される。
また、本第1の実施形態の画像処理装置100では、共通ブロックSAD演算部120が、定義した第2の注目ブロック内で、共通注目ブロックに含まれないブロック、すなわち、図3に示した第2の加算ブロック内の画像データと、この第2の加算ブロックに対応する第2の参照ブロック内の領域の画像データとに基づいてSAD演算を行った第2の加算用SAD演算結果を、加算処理部132に出力する。
これにより、加算処理部132は、共通ブロックSAD演算部120から入力された共通SAD演算結果と第2の加算用SAD演算結果とを加算して、第2の注目ブロックに対応したSAD演算結果を得る。そして、加算処理部132は、第2の注目ブロックに対応したSAD演算結果を、イメージセンサ10のチャンネルch2に対応するSAD演算結果として出力する。このとき加算処理部132が出力する、図2(b)に示した、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心とした第2の注目ブロックに対応したSAD演算結果は、上式(4)より、下式(7)で表される。
本第1の実施形態によれば、隣接する複数の画素の画素信号が同時に入力され、隣接する複数の注目画素のそれぞれ毎に、対応する参照画素との間の相関を、この注目画素の周辺の画素を含めて同時に取る画像処理装置(画像処理装置100)であって、同時に相関を取る隣接するそれぞれの注目画素毎に予め定めた複数の注目領域(第1の注目ブロックおよび第2の注目ブロック)が重複する共通注目領域(共通注目ブロック)と、それぞれの注目画素に対応するそれぞれの参照画素毎に予め定めた複数の参照領域(第1の参照ブロックおよび第2の参照ブロック)が重複する、共通注目ブロックに対応する共通参照領域(共通参照ブロック)とを、それぞれ定義し、ここで定義した共通注目ブロックと共通参照ブロックとに含まれる画素の画素信号が表す値に基づいて差分絶対値和演算(SAD演算)を行った共通SAD演算結果を出力する共通領域SAD演算部(共通ブロックSAD演算部120)と、それぞれの注目画素に対応し、共通SAD演算結果と、対応する注目画素に対して予め定めた第1の注目ブロックまたは第2の注目ブロック内で共通注目領域に含まれない周辺の画素の領域(第1の加算ブロックまたは第2の加算ブロック)に対応するSAD演算結果(第1の加算用SAD演算結果または第2の加算用SAD演算結果)とに基づいて加算処理を行ったSAD演算結果を出力する、同時に相関を取る隣接する注目画素と同じ数(2つ)の加算処理部(加算処理部131および加算処理部132)と、を備える画像処理装置100が構成される。
また、本第1の実施形態によれば、隣接する複数の画素の画素信号が同時に入力され、隣接する複数の注目画素のそれぞれ毎に、対応する参照画素との間の相関を、この注目画素の周辺の画素を含めて同時に取る画像処理装置(画像処理装置100)における画像処理方法であって、同時に相関を取る隣接するそれぞれの注目画素毎に予め定めた複数の注目領域(第1の注目ブロックおよび第2の注目ブロック)が重複する共通注目領域(共通注目ブロック)と、それぞれの注目画素に対応するそれぞれの参照画素毎に予め定めた複数の参照領域(第1の参照ブロックおよび第2の参照ブロック)が重複する、共通注目ブロックに対応する共通参照領域(共通参照ブロック)とを、それぞれ定義し、ここで定義した共通注目ブロックと共通参照ブロックとに含まれる画素の画素信号が表す値に基づいて差分絶対値和演算(SAD演算)を行った共通SAD演算結果を出力する共通領域SAD演算手順(共通ブロックSAD演算部120における動作手順)と、それぞれの注目画素に対応し、共通SAD演算結果と、対応する注目画素に対して予め定めた第1の注目ブロックまたは第2の注目ブロック内で共通注目領域に含まれない周辺の画素の領域(第1の加算ブロックまたは第2の加算ブロック)に対応するSAD演算結果(第1の加算用SAD演算結果または第2の加算用SAD演算結果)とに基づいて加算処理を行ったSAD演算結果を出力する、同時に相関を取る隣接する注目画素と同じ回数(2回)の加算処理手順(加算処理部131および加算処理部132における動作手順)と、を含む画像処理方法が構成される。
また、本第1の実施形態によれば、複数の画素を有し、隣接する複数の画素の信号を光電変換した複数の画素信号を同時に出力する固体撮像装置(イメージセンサ10)と、イメージセンサ10から隣接する複数の画素の画素信号が同時に入力され、隣接する複数の注目画素のそれぞれ毎に、対応する参照画素との間の相関を、この注目画素の周辺の画素を含めて同時に取る画像処理装置(画像処理装置100)と、を備える撮像装置が構成される。
また、本第1の実施形態によれば、共通ブロックSAD演算部120は、入力された第1の注目画素(イメージセンサ10のチャンネルch1から出力される注目画素(6,6))を中心とし、相関を取る周辺の画素を含めた予め定めた大きさの第1の注目領域(第1の注目ブロック)と、同時に入力された隣接する第2の注目画素(イメージセンサ10のチャンネルch2から出力される注目画素(7,6))を中心とし、同時に相関を取る周辺の画素を含めた予め定めた大きさの第2の注目領域(第2の注目ブロック)とが重複する共通注目ブロックと、注目画素(6,6)に対応する第1の参照画素(イメージセンサ10のチャンネルch1から出力される参照画素(2,2))を中心とし、第1の注目ブロックに対応する予め定めた大きさの第1の参照領域(第1の参照ブロック)と、注目画素(7,6)に対応する第2の参照画素(イメージセンサ10のチャンネルch2から出力される参照画素(3,2))を中心とし、第2の注目ブロックに対応する予め定めた大きさの第2の参照領域(第2の参照ブロック)とが重複する共通参照ブロックとを、それぞれ定義し、共通注目ブロックと共通参照ブロックとにおいて同一の座標に位置する画素の画素信号が表す値(画像データ)同士の差分絶対値をそれぞれ算出し、算出した差分絶対値を積算するSAD演算を行った共通SAD演算結果を出力し、注目画素(6,6)に対応する加算処理部である第1の加算処理部(加算処理部131)は、共通SAD演算結果と、第1の注目ブロック内で、共通注目ブロックに含まれない画素の領域(第1の加算ブロック)に対応するSAD演算結果(第1の加算用SAD演算結果)とを加算した第1のSAD演算結果(イメージセンサ10のチャンネルch1に対応するSAD演算結果)を出力し、注目画素(7,6)に対応する加算処理部である第2の加算処理部(加算処理部132)は、共通SAD演算結果と、第2の注目ブロック内で、共通注目ブロックに含まれない画素の領域(第2の加算ブロック)に対応するSAD演算結果(第2の加算用SAD演算結果)とを加算した第2のSAD演算結果(イメージセンサ10のチャンネルch2に対応するSAD演算結果)を出力する、画像処理装置100が構成される。
また、本第1の実施形態によれば、共通ブロックSAD演算部120は、共通注目ブロックに含まれない第1の注目ブロック内の画素の第1の加算ブロックと、この第1の加算ブロックに対応する共通参照ブロックに含まれない第1の参照ブロック内の画素の領域とにおいて同一の座標に位置する画素の画素信号が表す値に基づいてSAD演算した第1の加算用SAD演算結果と、共通注目ブロックに含まれない第2の注目ブロック内の画素の第2の加算ブロックと、この第2の加算ブロックに対応する共通参照ブロックに含まれない第2の参照ブロック内の画素の領域とにおいて同一の座標に位置する画素の画素信号が表す値に基づいてSAD演算した第2の加算用SAD演算結果と、をそれぞれ出力し、加算処理部131は、共通SAD演算結果と第1の加算用SAD演算結果とを加算した第1のSAD演算結果(イメージセンサ10のチャンネルch1に対応するSAD演算結果)を出力し、加算処理部132は、共通SAD演算結果と第2の加算用SAD演算結果とを加算した第2のSAD演算結果(イメージセンサ10のチャンネルch2に対応するSAD演算結果)を出力する、画像処理装置100が構成される。
上記に述べたように、本第1の実施形態の画像処理装置100では、イメージセンサ10のチャンネルch1から出力される注目画素を中心とした第1の注目ブロックと、イメージセンサ10のチャンネルch2から出力される注目画素を中心とした第2の注目ブロックとが重複する、すなわち、第1の注目ブロックと第2の注目ブロックとに共通する共通注目ブロックに対してSAD演算を行う。そして、本第1の実施形態の画像処理装置100では、共通注目ブロックに対応する共通SAD演算結果と、第1の注目ブロックに含まれない第1の加算ブロックに対応する第1の加算用SAD演算結果、または第2の注目ブロックに含まれない第2の加算ブロックに対応する第2の加算用SAD演算結果とを加算する。これにより、本第1の実施形態の画像処理装置100でも、第1の注目ブロックに対応するSAD演算と第2の注目ブロックに対応するSAD演算とをそれぞれ同時に行う従来の撮像装置に備えた画像処理部と同じSAD演算結果を得ることができる。
しかも、本第1の実施形態の画像処理装置100では、従来の撮像装置に備えた画像処理部において第1の注目ブロックと第2の注目ブロックとのそれぞれの対応した別々のSAD演算部で行っていたSAD演算を、共通ブロックSAD演算部120と加算処理部131、または加算処理部132との組み合わせで行うことができる。これにより、本第1の実施形態の画像処理装置100では、SAD演算を行うために備える、同一座標に位置する画素の画像データ同士の差分絶対値を算出する演算回路の数を、従来の撮像装置に備えた画像処理部に備える数よりも、少なくすることができる。
より具体的には、例えば、第1の注目ブロックと第2の注目ブロックとのそれぞれの領域が5画素×5画素の領域である場合、従来の撮像装置に備えた画像処理部では、5画素×5画素分の演算回路を2チャンネル分、すなわち、5×5×2=50個の演算回路を備える必要があった。これに対して、本第1の実施形態の画像処理装置100では、第1の注目ブロックと第2の注目ブロックを合わせたブロックの領域である6画素×5画素分の演算回路、すなわち、6×5=30個の演算回路を共通ブロックSAD演算部120に備えるのみで、共通SAD演算結果と、第1の加算用SAD演算結果および第2の加算用SAD演算結果とを得ることができる。つまり、本第1の実施形態の画像処理装置100では、第1の注目ブロックと第2の注目ブロックとに共通の共通注目ブロックの領域である4画素×5画素分の演算回路、すなわち、4×5=20個の演算回路を、従来の撮像装置に備えた画像処理部よりも削減することができる。
しかも、本第1の実施形態の画像処理装置100では、シリアル/パラレル変換部110から、共通ブロックSAD演算部120がSAD演算を行う数の画像データが同時に入力されるため、共通ブロックSAD演算部120は、共通SAD演算結果を得るのと同時に、第1の加算用SAD演算結果と第2の加算用SAD演算結果とを得ることができる。これは、本第1の実施形態の画像処理装置100に備えた共通ブロックSAD演算部120に備えた、第1の加算ブロックに対応する演算回路、または第2の加算ブロックに対応する演算回路が算出した差分絶対値を積算するのみで、第1の加算用SAD演算結果と第2の加算用SAD演算結果とを算出することができるからである。これにより、本第1の実施形態の画像処理装置100では、SAD演算に関わる回路の回路規模の増大を、従来の構成よりも抑えつつ、それぞれの画像データに応じたSAD演算結果を同時に出力することができる。
なお、本第1の実施形態においては、SAD演算を行うために定義するそれぞれの領域(ブロック)が、図2および図3に示したような方向に定義された形状の領域(ブロック)である場合について説明した。しかし、SAD演算を行うために定義する領域(ブロック)は、本第1の実施形態において説明した形状に限定されるものではない。例えば、図4に示したような形状の領域(ブロック)であっても同様に、本発明の考え方を適用することができる。
図4は、本第1の実施形態の画像処理装置100において同時にSAD演算を行う画素の領域の別の一例および演算方法を模式的に示した図である。図4(a)には、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした第1の注目ブロックと、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)を中心とした第1の参照ブロックとの位置関係を示している。また、図4(b)には、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心とした第2の注目ブロックと、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)を中心とした第2の参照ブロックとの位置関係を示している。また、図4(c)には、第1の注目ブロックと第2の注目ブロックとが重複する領域の共通注目ブロックと、第1の参照ブロックと第2の参照ブロックとが重複する領域の共通参照ブロックと、第1の注目ブロックに対応する第1の加算ブロックおよび第2の注目ブロックに対応する第2の加算ブロックとを示している。
本第1の実施形態の画像処理装置100では、共通ブロックSAD演算部120が、図4に示したような形状のそれぞれの領域(ブロック)に対するSAD演算を行った共通SAD演算結果、第1の加算用SAD演算結果、および第2の加算用SAD演算結果を、加算処理部131と加算処理部132とのそれぞれに出力する。そして、加算処理部131と加算処理部132とのそれぞれが、共通ブロックSAD演算部120から入力された共通SAD演算結果と、第1の加算用SAD演算結果または第2の加算用SAD演算結果を加算する。これにより、本第1の実施形態の画像処理装置100は、図4(a)に示した、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした第1の注目ブロックに対応するSAD演算結果と、図4(b)に示した、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心とした第2の注目ブロックに対応するSAD演算結果とを同時に出力する。
このように、本第1の実施形態の画像処理装置100では、第1の注目ブロックと第2の注目ブロックとのそれぞれの領域(ブロック)の形状によらずに、第1の注目ブロックに対応するSAD演算結果と第2の注目ブロックに対応するSAD演算結果とをそれぞれ同時に出力することができる。
なお、本第1の実施形態においては、画像処理装置100が、水平方向(行方向)xに隣接する2画素の画像データを同時に出力するイメージセンサ10に対応する構成の一例を示した。しかし、本発明の画像処理装置の考え方は、イメージセンサが同時に出力する画像データの方向が、水平方向(行方向)xである構成に限定されるものではない。例えば、イメージセンサが、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力する構成や、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力する、つまり、4画素の画像データを同時に出力する構成であっても同様に、本発明の考え方を適用することができる。
<第1の実施形態の変形例>
ここで、イメージセンサが画像データを同時に出力する別の一例について説明する。図5は、本発明の実施形態の画像処理装置におけるSAD演算の演算方法の別の一例を模式的に示した図である。図5(a)には、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力するイメージセンサに対応した場合の演算方法を模式的に示し、図5(b)には、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力するイメージセンサに対応した場合の演算方法を模式的に示している。
まず、図5(a)を参照して、本発明の考え方を適用した画像処理装置が、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力するイメージセンサに対応する場合について説明する。本発明の考え方を適用した画像処理装置が、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力するイメージセンサに対応する場合であっても、この画像処理装置に備えた共通ブロックSAD演算部は、画像処理装置100に備えた共通ブロックSAD演算部120と同様に、SAD演算を行う際に用いるそれぞれの領域(ブロック)を定義する。
なお、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力するイメージセンサに対応する画像処理装置は、入力される画像データの順番に応じてそれぞれのSAD演算を行う領域(ブロック)が異なるのみで、その構成は、画像処理装置100と同様に考えることができる。従って、以下の説明においては、図1に示したイメージセンサ10が、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力し、図1に示した画像処理装置100が、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力するイメージセンサに対応する画像処理装置であるものとして説明する。
図5(a)には、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした第1の注目ブロックに対応した最終的なSAD演算結果と、イメージセンサ10のチャンネルch2から出力される注目画素(6,7)を中心とした第2の注目ブロックに対応した最終的なSAD演算結果とを得るために定義する、それぞれの領域(ブロック)を示している。
より具体的には、第1の注目ブロックと第2の注目ブロックとに共通する5画素×4画素の領域の共通注目ブロックと、第1の参照ブロックと第2の参照ブロックとに共通する5画素×4画素の領域の共通参照ブロックとを示している。図5(a)を見てわかるように、共通注目ブロック内には、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)と、イメージセンサ10のチャンネルch2から出力される注目画素(6,7)とが含まれている。また、共通参照ブロック内には、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)と、イメージセンサ10のチャンネルch2から出力される注目画素(6,7)に対応した参照画素(2,3)とが含まれている。
共通ブロックSAD演算部120は、上述したように、定義した共通注目ブロック内の画像データと共通参照ブロック内の画像データとに基づいてSAD演算を行った共通SAD演算結果を、加算処理部131と加算処理部132とのそれぞれに出力する。さらに、共通ブロックSAD演算部120は、定義した第1の注目ブロック内で、共通注目ブロックに含まれない、図5(a)に示した第1の加算ブロック内の画像データと、この第1の加算ブロックに対応する第1の参照ブロックにおける領域(ブロック)の画像データとに基づいてSAD演算を行った第1の加算用SAD演算結果を、加算処理部131に出力する。また、共通ブロックSAD演算部120は、定義した第2の注目ブロック内で、共通注目ブロックに含まれない、図5(a)に示した第2の加算ブロック内の画像データと、この第2の加算ブロックに対応する第2の参照ブロックにおける領域(ブロック)の画像データとに基づいてSAD演算を行った第2の加算用SAD演算結果を、加算処理部132に出力する。
これにより、加算処理部131は、共通SAD演算結果と第1の加算用SAD演算結果とを加算し、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力するイメージセンサ10のチャンネルch1から出力される注目画素を中心とした第1の注目ブロックに対応するSAD演算結果を出力する。また、加算処理部132は、共通SAD演算結果と第2の加算用SAD演算結果とを加算し、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力するイメージセンサ10のチャンネルch2から出力される注目画素を中心とした第2の注目ブロックに対応するSAD演算結果を出力する。
このように、イメージセンサが、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力する構成であっても、本発明の考え方を適用することによって同様に、第1の注目ブロックに対応するSAD演算結果と第2の注目ブロックに対応するSAD演算結果とをそれぞれ同時に出力することができる。
続いて、図5(b)を参照して、本発明の考え方を適用した画像処理装置が、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力するイメージセンサに対応する場合について説明する。本発明の考え方を適用した画像処理装置が、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力するイメージセンサに対応する場合であっても、この画像処理装置に備えた共通ブロックSAD演算部は、画像処理装置100に備えた共通ブロックSAD演算部120と同様に、SAD演算を行う際に用いるそれぞれの領域(ブロック)を定義する。
ただし、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力するイメージセンサに対応する画像処理装置は、入力される画像データに応じて定義する注目ブロックの数が、画像処理装置100よりも多い。
つまり、イメージセンサのチャンネルch1〜チャンネルch4のそれぞれから出力される注目画素のそれぞれを中心とした予め定めた大きさの4つの領域(以下、「第1〜第4の注目ブロック」という)をそれぞれ定義し、第1〜第4の注目ブロックが重複する、すなわち、第1〜第4の注目ブロックで共通する共通注目ブロックを定義する。このため、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力するイメージセンサに対応する画像処理装置の構成は、画像処理装置100の構成と異なり、第1〜第4の注目ブロックに対応した構成になっている。
図6は、本発明の実施形態の画像処理装置において4チャンネルの画素信号が同時に入力される場合の画像処理装置の概略構成を示したブロック図である。図6に示した画像処理装置200は、シリアル/パラレル変換部210と、共通ブロックSAD演算部220と、4つの加算処理部231〜加算処理部234と、を備えている。なお、図6には、撮像装置に搭載され、画像処理装置200に画素信号を出力するイメージセンサ20も併せて示している。ただし、図6においても、図1に示した画像処理装置100の概略構成と同様に、イメージセンサ20に配置されたそれぞれの画素から出力される画素信号(アナログ信号)をデジタル信号に変換する構成要素は省略している。また、図6においては、シリアル/パラレル変換部210から共通ブロックSAD演算部220に出力する画像データの信号線を簡略化して示している。
なお、画像処理装置200に備えた構成要素のそれぞれは、入力される画像データに応じてそれぞれのSAD演算を行う領域(ブロック)が異なるのみで、画像処理装置100に備えたそれぞれの構成要素と同様に考えることができる。従って、以下の説明においては、画像処理装置200に備えたそれぞれの構成要素に関する詳細な説明は省略する。なお、図6に示した画像処理装置200では、加算処理部231がイメージセンサ20のチャンネルch1に対応し、加算処理部232がイメージセンサ20のチャンネルch2に対応し、加算処理部233がイメージセンサ20のチャンネルch3に対応し、加算処理部234がイメージセンサ20のチャンネルch4に対応している。
図5(b)には、イメージセンサ20のチャンネルch1から出力される注目画素(6,6)を中心とした第1の注目ブロックに対応した最終的なSAD演算結果と、イメージセンサ20のチャンネルch2から出力される注目画素(7,6)を中心とした第2の注目ブロックに対応した最終的なSAD演算結果とを得るために定義する、それぞれの領域(ブロック)を示している。また、図5(b)には、イメージセンサ20のチャンネルch3から出力される注目画素(6,7)を中心とした第3の注目ブロックに対応した最終的なSAD演算結果と、イメージセンサ20のチャンネルch4から出力される注目画素(7,7)を中心とした第4の注目ブロックに対応した最終的なSAD演算結果とを得るために定義する、それぞれの領域(ブロック)を示している。
より具体的には、第1〜第4の注目ブロックで共通する4画素×4画素の領域の共通注目ブロックと、第1〜第4の参照ブロックで共通する4画素×4画素の領域の共通参照ブロックとを示している。図5(b)を見てわかるように、共通注目ブロック内には、イメージセンサ20のチャンネルch1から出力される注目画素(6,6)と、イメージセンサ20のチャンネルch2から出力される注目画素(7,6)と、イメージセンサ20のチャンネルch3から出力される注目画素(6,7)と、イメージセンサ20のチャンネルch4から出力される注目画素(7,7)とが含まれている。また、共通参照ブロック内には、イメージセンサ20のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)と、イメージセンサ20のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)と、イメージセンサ20のチャンネルch3から出力される注目画素(6,7)に対応した参照画素(2,3)と、イメージセンサ20のチャンネルch4から出力される注目画素(7,7)に対応した参照画素(3,3)とが含まれている。
共通ブロックSAD演算部220は、画像処理装置100に備えた共通ブロックSAD演算部120と同様に、定義した共通注目ブロック内の画像データと共通参照ブロック内の画像データとに基づいてSAD演算を行った共通SAD演算結果を、加算処理部231〜加算処理部234とのそれぞれに出力する。さらに、共通ブロックSAD演算部220は、定義した第1の注目ブロック内で、共通注目ブロックに含まれない、図5(b)に示した画素LTを含む1画素×5画素と5画素×1画素とを合わせた第1の加算ブロックに対応する第1の加算用SAD演算結果を、加算処理部231に出力する。ただし、第1の加算ブロックにおいて画素LTの画素データに対応するSAD演算結果は、第1の加算用SAD演算結果に重複して含まれない。また、共通ブロックSAD演算部220は、定義した第2の注目ブロック内で、共通注目ブロックに含まれない、図5(b)に示した画素RTを含む1画素×5画素と5画素×1画素とを合わせた第2の加算ブロックに対応する第2の加算用SAD演算結果を、加算処理部232に出力する。ただし、第2の加算ブロックにおいて画素RTの画素データに対応するSAD演算結果は、第2の加算用SAD演算結果に重複して含まれない。
また、共通ブロックSAD演算部220は、定義した第3の注目ブロック内で、共通注目ブロックに含まれない、図5(b)に示した画素LBを含む1画素×5画素と5画素×1画素とを合わせた第3の加算ブロックに対応する第3の加算用SAD演算結果を、加算処理部233に出力する。ただし、第3の加算ブロックにおいて画素LBの画素データに対応するSAD演算結果は、第3の加算用SAD演算結果に重複して含まれない。また、共通ブロックSAD演算部220は、定義した第4の注目ブロック内で、共通注目ブロックに含まれない、図5(b)に示した画素RBを含む1画素×5画素と5画素×1画素とを合わせた第4の加算ブロックに対応する第4の加算用SAD演算結果を、加算処理部234に出力する。ただし、第4の加算ブロックにおいて画素RBの画素データに対応するSAD演算結果は、第4の加算用SAD演算結果に重複して含まれない。
これにより、加算処理部231は、共通SAD演算結果と第1の加算用SAD演算結果とを加算し、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力するイメージセンサ20のチャンネルch1から出力される注目画素を中心とした第1の注目ブロックに対応するSAD演算結果を出力する。また、加算処理部232は、共通SAD演算結果と第2の加算用SAD演算結果とを加算し、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力するイメージセンサ20のチャンネルch2から出力される注目画素を中心とした第2の注目ブロックに対応するSAD演算結果を出力する。
また、加算処理部233は、共通SAD演算結果と第3の加算用SAD演算結果とを加算し、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力するイメージセンサ20のチャンネルch3から出力される注目画素を中心とした第3の注目ブロックに対応するSAD演算結果を出力する。また、加算処理部234は、共通SAD演算結果と第4の加算用SAD演算結果とを加算し、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力するイメージセンサ20のチャンネルch4から出力される注目画素を中心とした第4の注目ブロックに対応するSAD演算結果を出力する。
このように、イメージセンサが、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力する、つまり、4画素の画像データを同時に出力する構成であっても、本発明の考え方を適用することができる。そして、第1の注目ブロックに対応するSAD演算結果、第2の注目ブロックに対応するSAD演算結果、第3の注目ブロックに対応するSAD演算結果、および第4の注目ブロックに対応するSAD演算結果をそれぞれ同時に出力することができる。
なお、本第1の実施形態においては、SAD演算を行うそれぞれの領域(ブロック)に含まれる画像データに対して重み付けが行われていない場合の一例について説明した。しかし、実際の撮像装置におけるブロックマッチングの処理では、SAD演算を行うそれぞれの画像データに対して、例えば、SAD演算を行うそれぞれの領域(ブロック)の中心に近い画素データほど高い値の重みを設定して処理を行う場合もある。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本第2の実施形態の画像処理装置は、SAD演算を行うそれぞれの注目ブロック内の画像データに対して重みが設定されている場合に、設定された重み係数の値(以下、「重み値」という)に応じてSAD演算を行う構成の画像処理装置である。図7は、本第2の実施形態における画像処理装置の概略構成を示したブロック図である。図7に示した画像処理装置300は、シリアル/パラレル変換部310と、3つの共通ブロックSAD演算部321〜共通ブロックSAD演算部323と、6つの加算処理部3311〜加算処理部3332と、2つの重み処理部341および重み処理部342と、を備えている。なお、図7には、撮像装置に搭載され、画像処理装置300に画素信号を出力するイメージセンサ10も併せて示している。ただし、図7においても、図1に示した第1の実施形態の画像処理装置100の概略構成と同様に、イメージセンサ10に配置されたそれぞれの画素から出力される画素信号(アナログ信号)をデジタル信号に変換する構成要素は省略している。また、図7においては、シリアル/パラレル変換部310から共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれに出力する画像データの信号線を簡略化して示している。
画像処理装置300は、イメージセンサ10に配置されたそれぞれの画素から出力される画素信号に応じたデジタル信号に対して様々な画像処理を施す画像処理部内に備えられる。なお、図7においても、図1に示した第1の実施形態の画像処理装置100の概略構成と同様に、イメージセンサ10から出力されるそれぞれの画素信号に応じたそれぞれの画像データに応じて、予め定めた大きさの領域内のそれぞれの画像に対応したそれぞれの画像データの差分絶対値和を求めるSAD演算を行ったSAD演算結果を出力する本第2の実施形態の画像処理装置300の構成のみを示している。なお、図7に示した画像処理装置300は、水平方向(行方向)xに隣接する2画素の画素信号を同時に出力するベイヤー配列のイメージセンサ10に対応し、最終的にSAD演算を行うそれぞれの注目ブロック内の画像データに3種類の重み値が設定されている構成の一例である。
なお、以下の説明においては、説明を容易にするため、第1の実施形態の画像処理装置100の説明と同様に、イメージセンサ10が、画素信号に応じた画像データをそれぞれのチャンネルから出力するものとして説明する。図7にも、イメージセンサ10のチャンネルch1からR画素の画素信号に応じた画像データ(R1,R2,R3,・・・)が、チャンネルch2からGr画素の画素信号に応じた画像データ(Gr1,Gr2,Gr3,・・・)が、それぞれ同時に、画像処理装置300に順次入力されている様子を示している。
シリアル/パラレル変換部310は、第1の実施形態の画像処理装置100に備えたシリアル/パラレル変換部110と同様に、イメージセンサ10のそれぞれのチャンネルから順次(直列的に)入力される画像データを一旦記憶し、記憶したそれぞれの画像データを、後段の共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれがSAD演算を行う際に用いる数だけ同時に(並列的に)出力する。なお、シリアル/パラレル変換部310の構成や動作は、図1に示した第1の実施形態のシリアル/パラレル変換部110の構成や動作と同様であるため、詳細な説明は省略する。
共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれは、第1の実施形態の画像処理装置100に備えた共通ブロックSAD演算部120と同様に、シリアル/パラレル変換部310から同時に入力されたそれぞれの画像データに基づいてSAD演算を行い、SAD演算した後のSAD演算結果を、イメージセンサ10のそれぞれのチャンネルに対応する後段の加算処理部のそれぞれに出力する。なお、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれの構成や動作は、図1に示した第1の実施形態の共通ブロックSAD演算部120の構成や動作と同様であるため、詳細な説明は省略する。なお、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが備える画像データ同士の差分絶対値を算出する演算回路の数は、対応するそれぞれの注目ブロックを合わせたブロックに含まれる画素数に応じて異なる数であってもよい。
なお、上述したように、画像処理装置300においては、最終的にSAD演算を行うそれぞれの注目ブロック内の画像データに3種類の重み値が設定されている。このため、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれは、注目ブロック内で同じ重み値が設定された領域(ブロック)毎に、SAD演算を行う。このため、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが、第1の注目ブロック、第2の注目ブロック、共通注目ブロック、第1の加算ブロック、第2の加算ブロックなどの各領域(ブロック)を定義する際の考え方は、共通ブロックSAD演算部120と同様であるが、それぞれのブロックの領域の大きさは、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれで異なる。
加算処理部3311〜加算処理部3332のそれぞれは、第1の実施形態の画像処理装置100に備えた加算処理部131または加算処理部132と同様に、対応する共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれから入力された共通SAD演算結果と、第1の加算用SAD演算結果または第2の加算用SAD演算結果とに基づいて、イメージセンサ10のそれぞれのチャンネルに対応するSAD演算結果を、対応する後段の重み処理部341または重み処理部342に、それぞれ出力する。なお、図7に示した画像処理装置300では、加算処理部3311と、加算処理部3321と、加算処理部3331とのそれぞれがイメージセンサ10のチャンネルch1に対応し、加算処理部3312と、加算処理部3322と、加算処理部3332とのそれぞれがイメージセンサ10のチャンネルch2に対応している。なお、加算処理部3311〜加算処理部3332のそれぞれの構成や動作は、図1に示した第1の実施形態の加算処理部131および加算処理部132のそれぞれの構成や動作と同様であるため、詳細な説明は省略する。
重み処理部341および重み処理部342のそれぞれは、対応する加算処理部から入力されたそれぞれのSAD演算結果に対してそれぞれの重み値を乗算し、重み値を乗算したそれぞれのSAD演算結果を加算する重み付け処理を行い、重み付け処理を行った後のSAD演算結果(以下、「重み付けSAD演算結果」という)を、それぞれ出力する。なお、図7に示した画像処理装置300では、重み処理部341がイメージセンサ10のチャンネルch1に対応し、重み処理部342がイメージセンサ10のチャンネルch2に対応している。
このような構成によって、画像処理装置300では、イメージセンサ10のチャンネルch1に対応する重み付けSAD演算結果と、イメージセンサ10のチャンネルch2に対応する重み付けSAD演算結果とを同時に出力する。つまり、画像処理装置300では、共通ブロックSAD演算部321と加算処理部3311との構成によって、第1の注目ブロック内で1つ目の同じ重み値が設定されたイメージセンサ10のチャンネルch1に対応する領域(ブロック)のSAD演算結果を出力する。また、画像処理装置300では、共通ブロックSAD演算部322と加算処理部3321との構成によって、第1の注目ブロック内で2つ目の同じ重み値が設定されたイメージセンサ10のチャンネルch1に対応する領域(ブロック)のSAD演算結果を出力する。また、画像処理装置300では、共通ブロックSAD演算部323と加算処理部3331との構成によって、第1の注目ブロック内で3つ目の同じ重み値が設定されたイメージセンサ10のチャンネルch1に対応する領域(ブロック)のSAD演算結果を出力する。そして、画像処理装置300では、重み処理部341が、加算処理部3311、加算処理部3321、および加算処理部3331のそれぞれが出力した1つ目〜3つ目の重み値が設定されたそれぞれの領域(ブロック)のSAD演算結果に対して重み付け処理を行って、イメージセンサ10のチャンネルch1に対応する重み付けSAD演算結果を出力する。
また、同時に、画像処理装置300では、共通ブロックSAD演算部321と加算処理部3312との構成によって、第2の注目ブロック内で1つ目の同じ重み値が設定されたイメージセンサ10のチャンネルch2に対応する領域(ブロック)のSAD演算結果を出力する。また、画像処理装置300では、共通ブロックSAD演算部322と加算処理部3322との構成によって、第2の注目ブロック内で2つ目の同じ重み値が設定されたイメージセンサ10のチャンネルch2に対応する領域(ブロック)のSAD演算結果を出力する。また、画像処理装置300では、共通ブロックSAD演算部323と加算処理部3332との構成によって、第2の注目ブロック内で3つ目の同じ重み値が設定されたイメージセンサ10のチャンネルch2に対応する領域(ブロック)のSAD演算結果を出力する。そして、画像処理装置300では、重み処理部342が、加算処理部3312、加算処理部3322、および加算処理部3332のそれぞれが出力した1つ目〜3つ目の重み値が設定されたそれぞれの領域(ブロック)のSAD演算結果に対して重み付け処理を行って、イメージセンサ10のチャンネルch2に対応する重み付けSAD演算結果を出力する。
次に、本第2の実施形態の画像処理装置300において、イメージセンサ10のそれぞれのチャンネルに対応するSAD演算を行う方法について説明する。まず、図8を用いて同時にSAD演算を行う領域について説明する。図8は、本第2の実施形態の画像処理装置300において同時にSAD演算を行う画素の領域の一例を模式的に示した図である。図8(a)には、イメージセンサ10のチャンネルch1から出力される注目画素を中心とした第1の注目ブロックと、第1の参照ブロックとの位置関係を示し、図8(b)には、イメージセンサ10のチャンネルch2から出力される注目画素を中心とした第2の注目ブロックと、第2の参照ブロックとの位置関係を示している。
図8を見てわかるように、本第2の実施形態の画像処理装置300においても、イメージセンサ10が水平方向xに隣接する2画素の画像データを同時に出力する場合におけるそれぞれのチャンネルの注目画素同士および参照画素同士の位置関係は、図2に示した第1の実施形態におけるイメージセンサ10が出力するそれぞれのチャンネルの注目画素の位置関係および参照画素の位置関係と同様に、水平方向xに隣接する2画素である。つまり、イメージセンサ10のチャンネルch1から出力される注目画素と、イメージセンサ10のチャンネルch2から出力される注目画素とは、水平方向xに隣接する2画素であり、イメージセンサ10のチャンネルch1から出力される注目画素に対応する参照画素と、イメージセンサ10のチャンネルch2から出力される注目画素に対応する参照画素とも、水平方向xに隣接する2画素である。
そして、本第2の実施形態の画像処理装置300においては、上述したように、最終的にSAD演算を行うそれぞれの注目ブロック内の画像データに3種類の重み値が設定されている。図8に示した一例では、最終的な重み付けSAD演算結果を得る注目ブロックの中心に近い画素データほど高い値の重み値が設定されている場合を示している。なお、以下の説明においては、それぞれの画素データに設定された重み値a〜重み値cの関係が、重み値a>重み値b>重み値cの関係にあるものとして説明する。つまり、重み値aが最も高い値であり、重み値cが最も低い値であるものとして説明する。
より具体的には、図8に示した一例では、イメージセンサ10のチャンネルch1から出力される水平方向x=6、垂直方向y=6の座標位置の注目画素(6,6)の画素データに最も高い重み値aが設定され、注目画素(6,6)の周辺の8画素の画素データに重み値bが設定され、さらに周辺の16画素の画素データに最も低い重み値cが設定されている。同様に、イメージセンサ10のチャンネルch2から出力される水平方向x=7、垂直方向y=6の座標位置の注目画素(7,6)の画素データに最も高い重み値aが設定され、注目画素(7,6)の周辺の8画素の画素データに重み値bが設定され、さらに周辺の16画素の画素データに最も低い重み値cが設定されている。
なお、図8(a)と図8(b)とを比べてわかるように、イメージセンサ10から入力された同じ画素の画像データであっても、第1の注目ブロックに含まれる画素としてSAD演算されるときと、第2の注目ブロックに含まれる画素としてSAD演算されるときとで、設定された重み値が異なる場合がある。例えば、水平方向x=8、垂直方向y=5の座標位置に位置する画素(8,5)は、第1の注目ブロックに含まれる画素としてSAD演算されるときの重み値は重み値cであるが、第2の注目ブロックに含まれる画素としてSAD演算されるときの重み値は重み値bである。
このため、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれは、上述したように、注目ブロック内で同じ重み値が設定された領域(ブロック)毎に、SAD演算を行う。そこで、共通ブロックSAD演算部321は、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした重み値c以上の領域(以下、「第1cの注目ブロック」という)と、チャンネルch2から出力される注目画素(7,6)を中心とした重み値c以上の領域(以下、「第2cの注目ブロック」という)とをそれぞれ定義する。また、共通ブロックSAD演算部322は、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした重み値b以上の領域(以下、「第1bの注目ブロック」という)と、チャンネルch2から出力される注目画素(7,6)を中心とした重み値b以上の領域(以下、「第2bの注目ブロック」という)とをそれぞれ定義する。また、共通ブロックSAD演算部323は、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした重み値a以上の領域(以下、「第1aの注目ブロック」という)と、チャンネルch2から出力される注目画素(7,6)を中心とした重み値a以上の領域(以下、「第2aの注目ブロック」という)とをそれぞれ定義する。
より具体的には、図8に示した一例では、共通ブロックSAD演算部321が、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした5画素×5画素の領域を第1cの注目ブロックと定義し、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心とした5画素×5画素の領域を第2cの注目ブロックと定義する。また、共通ブロックSAD演算部322が、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした3画素×3画素の領域を第1bの注目ブロックと定義し、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心とした3画素×3画素の領域を第2bの注目ブロックと定義する。また、共通ブロックSAD演算部323が、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした1画素×1画素の領域を第1aの注目ブロックと定義し、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心とした1画素×1画素の領域を第2aの注目ブロックと定義する。なお、図8に示した一例では、第1aの注目ブロックと第2aの注目ブロックとのそれぞれは、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)またはイメージセンサ10のチャンネルch2から出力される注目画素(7,6)のみの領域である。
なお、共通ブロックSAD演算部321が定義した第1cの注目ブロックと第2cの注目ブロックとが、最終的な重み付けSAD演算結果を得るそれぞれの注目ブロックである。なお、以下の説明において、第1aの注目ブロック、第1bの注目ブロック、および第1cの注目ブロックのそれぞれを区別せずに表す場合には、「第1の重み付け注目ブロック」といい、第2aの注目ブロック、第2bの注目ブロック、および第2cの注目ブロックのそれぞれを区別せずに表す場合には、「第2の重み付け注目ブロック」という。
また、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれは、定義したそれぞれの第1の重み付け注目ブロックに対応し、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)を中心とした第1aの参照ブロック、第1bの参照ブロック、および第1cの参照ブロックのそれぞれを定義する。同様に、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれは、定義したそれぞれの第2の重み付け注目ブロックに対応し、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)を中心とした第2aの参照ブロック、第2bの参照ブロック、および第2cの参照ブロックのそれぞれを定義する。
より具体的には、図8に示した一例では、共通ブロックSAD演算部321が、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)を中心とした5画素×5画素の領域を第1cの参照ブロックと定義し、チャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)を中心とした5画素×5画素の領域を第2cの参照ブロックと定義する。また、共通ブロックSAD演算部322が、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)を中心とした3画素×3画素の領域を第1bの参照ブロックと定義し、チャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)を中心とした3画素×3画素の領域を第2bの参照ブロックと定義する。また、共通ブロックSAD演算部323が、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)を中心とした1画素×1画素の領域を第1aの参照ブロックと定義し、チャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)を中心とした1画素×1画素の領域を第2aの参照ブロックと定義する。なお、図8に示した一例では、第1aの参照ブロックと第2aの参照ブロックとのそれぞれは、第1aの注目ブロックと第2aの注目ブロックとのそれぞれの注目ブロックと同様に、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)またはイメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)のみの領域である。
なお、以下の説明において、第1aの参照ブロック、第1bの参照ブロック、および第1cの参照ブロックのそれぞれを区別せずに表す場合には、「第1の重み付け参照ブロック」といい、第2aの参照ブロック、第2bの参照ブロック、および第2cの参照ブロックのそれぞれを区別せずに表す場合には、「第2の重み付け参照ブロック」という。
ここで定義された第1cの注目ブロックと第1cの参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値をそれぞれ算出し、算出した差分絶対値に対して対応する重み値を乗算した後に積算したSAD演算結果が、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した最終的な重み付けSAD演算結果である。また、ここで定義された第2cの注目ブロックと第2cの参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値をそれぞれ算出し、算出した差分絶対値に対して対応する重み値を乗算した後に積算したSAD演算結果が、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した最終的な重み付けSAD演算結果である。
なお、従来の撮像装置に備えた画像処理部においては、注目ブロックと参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値をそれぞれ算出し、算出した差分絶対値に対して対応する重み値を乗算した後に積算するSAD演算部を、イメージセンサ10が画像データを出力するチャンネル数分備えることによって、それぞれの注目ブロックに対応するSAD演算結果を同時に出力していた。つまり、従来の撮像装置に備えた画像処理部においては、差分絶対値を算出した後に重み付け処理を行う演算回路を、注目ブロック内に含まれる画像データの数分備えている。
一方、本第2の実施形態の画像処理装置300では、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが、第1の実施形態の画像処理装置100に備えた共通ブロックSAD演算部120と同様に、第1の重み付け注目ブロックと第2の重み付け注目ブロックとに共通する共通注目ブロックと、第1の重み付け参照ブロックと第2の重み付け参照ブロックとに共通する共通参照ブロックとをそれぞれ定義する。図9は、本第2の実施形態の画像処理装置300におけるSAD演算の演算方法を模式的に示した図である。図9には、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが、共通注目ブロックと共通参照ブロックとをそれぞれ定義した状態を示している。
より具体的には、共通ブロックSAD演算部321が、第1cの注目ブロックと第2cの注目ブロックとに共通する4画素×5画素の領域の第3の共通注目ブロックと、第1cの参照ブロックと第2cの参照ブロックとに共通する4画素×5画素の領域の第3の共通参照ブロックとをそれぞれ定義する。また、同様に、共通ブロックSAD演算部322が、第1bの注目ブロックと第2bの注目ブロックとに共通する2画素×3画素の領域の第2の共通注目ブロックと、第1bの参照ブロックと第2bの参照ブロックとに共通する2画素×3画素の領域の第2の共通参照ブロック(不図示)とをそれぞれ定義する。また、同様に、共通ブロックSAD演算部323が、第1aの注目ブロックと第2aの注目ブロックとに共通する0画素×0画素の領域の第1の共通注目ブロックと、第1aの参照ブロックと第2aの参照ブロックとに共通する0画素×0画素の領域の第1の共通参照ブロック(不図示)とをそれぞれ定義する。なお、図9に示した一例では、第1の共通注目ブロックは、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)およびイメージセンサ10のチャンネルch2から出力される注目画素(7,6)のいずれも含まない領域である。また、同様に、第1の共通参照ブロック(不図示)は、第1の共通注目ブロックと同様に、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)およびイメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)のいずれも含まない領域である。
図9を見てわかるように、第3の共通注目ブロック内には、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)と、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)とが含まれている。また、第3の共通参照ブロック内には、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)と、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)とが含まれている。同様に、第2の共通注目ブロック内にも、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)と、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)とが含まれている。同様に、第2の共通参照ブロック(不図示)内にも、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)と、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)とが含まれる。
なお、以下の説明において、第3の共通注目ブロック、第2の共通注目ブロック、および第1の共通注目ブロックのそれぞれを区別せずに表す場合には、「共通注目ブロック」といい、第3の共通参照ブロック、第2の共通参照ブロック、および第1の共通参照ブロックのそれぞれを区別せずに表す場合には、「共通参照ブロック」という。
そして、本第2の実施形態の画像処理装置300では、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが、定義した共通注目ブロック内の画像データと共通参照ブロック内の画像データとに基づいてSAD演算を行い、共通注目ブロックに対応する共通SAD演算結果を、対応する加算処理部3311〜加算処理部3332のそれぞれに出力する。
より具体的には、共通ブロックSAD演算部321が、定義した第3の共通注目ブロック内の画像データと第3の共通参照ブロック内の画像データとに基づいてSAD演算を行った第3の共通SAD演算結果を、加算処理部3311と加算処理部3312とに出力する。また、同様に、共通ブロックSAD演算部322が、定義した第2の共通注目ブロック内の画像データと第2の共通参照ブロック(不図示)内の画像データとに基づいてSAD演算を行った第2の共通SAD演算結果を、加算処理部3321と加算処理部3322とに出力する。また、同様に、共通ブロックSAD演算部323が、定義した第1の共通注目ブロック内の画像データと第1の共通参照ブロック(不図示)内の画像データとに基づいてSAD演算を行った第1の共通SAD演算結果を、加算処理部3331と加算処理部3332とに出力する。
このとき共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが出力する、図9に示した、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心としたそれぞれの共通注目ブロックに対応した共通SAD演算結果のそれぞれは、第1の実施形態の画像処理装置100に備えた共通ブロックSAD演算部120と同様に、上式(2)で表される。なお、共通SAD演算結果のそれぞれは、第3の共通注目ブロック、第2の共通注目ブロック、および第1の共通注目ブロックの領域の大きさに応じて異なった変数で、上式(2)によって算出された値である。なお、上述したように、第1の共通注目ブロックおよび第1の共通参照ブロック(不図示)には、いずれの画素も含んでいない。従って、共通ブロックSAD演算部323が加算処理部3331と加算処理部3332とに出力する第1の共通SAD演算結果は、“0”である。
さらに、本第2の実施形態の画像処理装置300では、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが、第1の実施形態の画像処理装置100に備えた共通ブロックSAD演算部120と同様に、第1の加算用SAD演算結果を、対応する加算処理部3311、加算処理部3321、および加算処理部3331のそれぞれに出力する。
より具体的には、共通ブロックSAD演算部321が、定義した第1cの注目ブロック内で、第3の共通注目ブロックに含まれないブロック、すなわち、図9に示した第1cの加算ブロック内の画像データと、この第1cの加算ブロックに対応する第1cの参照ブロック内の領域の画像データとに基づいてSAD演算を行った第1cの加算用SAD演算結果を、加算処理部3311に出力する。また、同様に、共通ブロックSAD演算部322が、定義した第1bの注目ブロック内で、第2の共通注目ブロックに含まれないブロック、すなわち、図9に示した第1bの加算ブロック内の画像データと、この第1bの加算ブロックに対応する第1bの参照ブロック内の領域の画像データとに基づいてSAD演算を行った第1bの加算用SAD演算結果を、加算処理部3321に出力する。また、同様に、共通ブロックSAD演算部323が、定義した第1aの注目ブロック内で、第1の共通注目ブロックに含まれないブロック、すなわち、図9に示した注目画素(6,6)の画像データと、この注目画素(6,6)に対応する参照画素(2,2)の画像データとに基づいてSAD演算を行った第1aの加算用SAD演算結果、すなわち、注目画素(6,6)のみのSAD演算結果を、加算処理部3331に出力する。
これにより、加算処理部3311、加算処理部3321、および加算処理部3331のそれぞれは、対応する共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれから入力された共通SAD演算結果と対応する第1の加算用SAD演算結果とを加算して、それぞれの第1の重み付け注目ブロックに対応したSAD演算結果を得る。そして、加算処理部3311、加算処理部3321、および加算処理部3331のそれぞれは、それぞれの第1の重み付け注目ブロックに対応したSAD演算結果を、重み処理部341に出力する。
このとき加算処理部3311、加算処理部3321、および加算処理部3331のそれぞれが出力する、図8(a)に示した、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心としたそれぞれの第1の重み付け注目ブロックに対応したSAD演算結果のそれぞれは、第1の実施形態の画像処理装置100に備えた共通ブロックSAD演算部120と同様に、上式(3)で表される。なお、SAD演算結果のそれぞれは、第3の共通注目ブロックおよび第1cの加算ブロック、第2の共通注目ブロックおよび第1bの加算ブロック、第1の共通注目ブロックおよび第1aの加算ブロックの領域の大きさに応じて異なった変数で、上式(3)によって算出された値である。
また、本第2の実施形態の画像処理装置300では、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが、第1の実施形態の画像処理装置100に備えた共通ブロックSAD演算部120と同様に、第2の加算用SAD演算結果を、対応する加算処理部3312、加算処理部3322、および加算処理部3332のそれぞれに出力する。
より具体的には、共通ブロックSAD演算部321が、定義した第2cの注目ブロック内で、第3の共通注目ブロックに含まれないブロック、すなわち、図9に示した第2cの加算ブロック内の画像データと、この第2cの加算ブロックに対応する第2cの参照ブロック内の領域の画像データとに基づいてSAD演算を行った第2cの加算用SAD演算結果を、加算処理部3312に出力する。また、同様に、共通ブロックSAD演算部322が、定義した第2bの注目ブロック内で、第2の共通注目ブロックに含まれないブロック、すなわち、図9に示した第2bの加算ブロック内の画像データと、この第2bの加算ブロックに対応する第2bの参照ブロック内の領域の画像データとに基づいてSAD演算を行った第2bの加算用SAD演算結果を、加算処理部3322に出力する。また、同様に、共通ブロックSAD演算部323が、定義した第2aの注目ブロック内で、第1の共通注目ブロックに含まれないブロック、すなわち、図9に示した注目画素(7,6)の画像データと、この注目画素(7,6)に対応する参照画素(3,2)の画像データとに基づいてSAD演算を行った第2aの加算用SAD演算結果、すなわち、注目画素(7,6)のみのSAD演算結果を、加算処理部3332に出力する。
これにより、加算処理部3312、加算処理部3322、および加算処理部3332のそれぞれは、対応する共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれから入力された共通SAD演算結果と対応する第2の加算用SAD演算結果とを加算して、それぞれの第2の重み付け注目ブロックに対応したSAD演算結果を得る。そして、加算処理部3312、加算処理部3322、および加算処理部3332のそれぞれは、それぞれの第2の重み付け注目ブロックに対応したSAD演算結果を、重み処理部342に出力する。
このとき加算処理部3312、加算処理部3322、および加算処理部3332のそれぞれが出力する、図8(b)に示した、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心としたそれぞれの第2の重み付け注目ブロックに対応したSAD演算結果のそれぞれは、第1の実施形態の画像処理装置100に備えた共通ブロックSAD演算部120と同様に、上式(4)で表される。なお、SAD演算結果のそれぞれは、第3の共通注目ブロックおよび第2cの加算ブロック、第2の共通注目ブロックおよび第2bの加算ブロック、第1の共通注目ブロックおよび第2aの加算ブロックの領域の大きさに応じて異なった変数で、上式(4)によって算出された値である。
その後、本第2の実施形態の画像処理装置300では、重み処理部341および重み処理部342のそれぞれが、対応する加算処理部3311〜加算処理部3332のそれぞれから入力されたSAD演算結果のそれぞれに対して対応する重み値を乗算した後に、重み値を乗算したそれぞれのSAD演算結果を加算する重み付け処理を行う。そして、重み処理部341および重み処理部342のそれぞれは、重み付け処理を行った後の重み付けSAD演算結果のそれぞれを、イメージセンサ10のチャンネルch1に対応する重み付けSAD演算結果およびイメージセンサ10のチャンネルch2に対応する重み付けSAD演算結果として、それぞれ出力する。
図10は、本第2の実施形態の画像処理装置300におけるSAD演算の演算方法を模式的に示した図である。図10(a)には、重み処理部341が行う重み付け処理の内容を模式的に示し、図10(b)には、重み処理部342が行う重み付け処理の内容を模式的に示している。
まず、図10(a)を参照して、重み処理部341による重み付け処理について説明する。上述したように、共通ブロックSAD演算部321は、図9に示した第3の共通注目ブロックに対応する第3の共通SAD演算結果と、第1cの加算ブロックに対応する第1cの加算用SAD演算結果とを加算処理部3311に出力する。そして、加算処理部3311は、第3の共通SAD演算結果と第1cの加算用SAD演算結果とを加算し、図8に示した第1cの注目ブロックに対応したSAD演算結果を、重み処理部341に出力する(図10(a)の上段参照)。また、同様に、共通ブロックSAD演算部322は、図9に示した第2の共通注目ブロックに対応する第2の共通SAD演算結果と、第1bの加算ブロックに対応する第1bの加算用SAD演算結果とを加算処理部3321に出力する。そして、加算処理部3321は、第2の共通SAD演算結果と第1bの加算用SAD演算結果とを加算し、図8に示した第1bの注目ブロックに対応したSAD演算結果を、重み処理部341に出力する(図10(a)の中段参照)。また、同様に、共通ブロックSAD演算部323は、図9に示した第1の共通注目ブロックに対応する第1の共通SAD演算結果(=0)と、第1aの加算ブロックに対応する第1aの加算用SAD演算結果、すなわち、注目画素(6,6)のみのSAD演算結果とを加算処理部3331に出力する。そして、加算処理部3331は、第1の共通SAD演算結果と第1aの加算用SAD演算結果とを加算し、図8に示した第1aの注目ブロックに対応したSAD演算結果、すなわち、注目画素(6,6)のみのSAD演算結果を、重み処理部341に出力する(図10(a)の下段参照)。
そして、重み処理部341は、加算処理部3311から入力された第1cの注目ブロックに対応したSAD演算結果に、設定された最も低い重み値cを乗算する(図10(a)の上段参照)。これにより、第1cの注目ブロックと第1cの参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値に対して対応する重み値cを乗算した後に積算したSAD演算結果と同等のSAD演算結果が得られる。さらに、重み処理部341は、加算処理部3321から入力された第1bの注目ブロックに対応したSAD演算結果に、設定された重み値bと重み値cとの差分の重み値(b−c)を乗算する(図10(a)の中段参照)。これにより、第1bの注目ブロックと第1bの参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値に対して重み値(b−c)を乗算した後に積算したSAD演算結果と同等のSAD演算結果が得られる。さらに、重み処理部341は、加算処理部3331から入力された第1aの注目ブロックに対応したSAD演算結果に、設定された最も高い重み値aから重み値bと重み値cとを差し引いた重み値(a−b−c)を乗算する(図10(a)の下段参照)。これにより、第1aの注目ブロックと第1aの参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値に対して重み値(a−b−c)を乗算した後に積算したSAD演算結果と同等のSAD演算結果が得られる。
そして、重み処理部341は、それぞれの重み値を乗算したそれぞれのSAD演算結果を加算する。つまり、図10(a)の上段、中段、および下段に示したそれぞれの乗算の処理によって得たSAD演算結果を加算する。これにより、第1cの注目ブロックに対応する画素に重み値cが乗算され、第1bの注目ブロックに対応する画素に重み値bが乗算され、さらに、第1aの注目ブロックに対応する画素に重み値aが乗算された後に、全ての値が積算されたSAD演算結果と同等のSAD演算結果が得られる。ここで得られたSAD演算結果が、3種類の重み値が設定されているイメージセンサ10のチャンネルch1に対応した第1の注目ブロック(=第1cの注目ブロック)に対応した最終的な重み付けSAD演算結果である。そして、重み処理部341は、第1cの注目ブロックに対応した最終的な重み付けSAD演算結果を、イメージセンサ10のチャンネルch1に対応する重み付けSAD演算結果として出力する。
なお、上述した第1bの注目ブロックに対応したSAD演算結果に対する乗算の処理において、重み値bと重み値cとの差分の重み値(b−c)を乗算している理由は、第1cの注目ブロックに重複して含まれる第1bの注目ブロック内の画像データに、重み値cが重複して乗算されてしまうことを回避するためである。また、上述した第1aの注目ブロックに対応したSAD演算結果に対する乗算の処理において、重み値aから重み値bと重み値cとを差し引いた重み値(a−b−c)を乗算している理由も、第1cの注目ブロックと第1bの注目ブロックとに重複して含まれる第1aの注目ブロック内の画像データに、重み値cおよび重み値bが重複して乗算されてしまうことを回避するためである。
続いて、図10(b)を参照して、重み処理部342による重み付け処理について説明する。上述したように、共通ブロックSAD演算部321は、図9に示した第3の共通注目ブロックに対応する第3の共通SAD演算結果と、第2cの加算ブロックに対応する第2cの加算用SAD演算結果とを加算処理部3312に出力する。そして、加算処理部3312は、第3の共通SAD演算結果と第2cの加算用SAD演算結果とを加算し、図8に示した第2cの注目ブロックに対応したSAD演算結果を、重み処理部342に出力する(図10(b)の上段参照)。また、同様に、共通ブロックSAD演算部322は、図9に示した第2の共通注目ブロックに対応する第2の共通SAD演算結果と、第2bの加算ブロックに対応する第2bの加算用SAD演算結果とを加算処理部3322に出力する。そして、加算処理部3322は、第2の共通SAD演算結果と第2bの加算用SAD演算結果とを加算し、図8に示した第2bの注目ブロックに対応したSAD演算結果を、重み処理部342に出力する(図10(b)の中段参照)。また、同様に、共通ブロックSAD演算部323は、図9に示した第1の共通注目ブロックに対応する第1の共通SAD演算結果(=0)と、第2aの加算ブロックに対応する第2aの加算用SAD演算結果、すなわち、注目画素(7,6)のみのSAD演算結果とを加算処理部3332に出力する。そして、加算処理部3332は、第1の共通SAD演算結果と第2aの加算用SAD演算結果とを加算し、図8に示した第2aの注目ブロックに対応したSAD演算結果、すなわち、注目画素(7,6)のみのSAD演算結果を、重み処理部342に出力する(図10(b)の下段参照)。
そして、重み処理部342は、加算処理部3312から入力された第2cの注目ブロックに対応したSAD演算結果に、設定された最も低い重み値cを乗算する(図10(b)の上段参照)。これにより、第2cの注目ブロックと第2cの参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値に対して対応する重み値cを乗算した後に積算したSAD演算結果と同等のSAD演算結果が得られる。さらに、重み処理部342は、加算処理部3322から入力された第2bの注目ブロックに対応したSAD演算結果に、設定された重み値bと重み値cとの差分の重み値(b−c)を乗算する(図10(b)の中段参照)。これにより、第2bの注目ブロックと第2bの参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値に対して重み値(b−c)を乗算した後に積算したSAD演算結果と同等のSAD演算結果が得られる。さらに、重み処理部342は、加算処理部3332から入力された第2aの注目ブロックに対応したSAD演算結果に、設定された最も高い重み値aから重み値bと重み値cとを差し引いた重み値(a−b−c)を乗算する(図10(b)の下段参照)。これにより、第2aの注目ブロックと第2aの参照ブロックとにおいて同一座標に位置する画素の画像データ同士の差分絶対値に対して重み値(a−b−c)を乗算した後に積算したSAD演算結果と同等のSAD演算結果が得られる。
そして、重み処理部342は、それぞれの重み値を乗算したそれぞれのSAD演算結果を加算する。つまり、図10(b)の上段、中段、および下段に示したそれぞれの乗算の処理によって得たSAD演算結果を加算する。これにより、第2cの注目ブロックに対応する画素に重み値cが乗算され、第2bの注目ブロックに対応する画素に重み値bが乗算され、さらに、第2aの注目ブロックに対応する画素に重み値aが乗算された後に、全ての値が積算されたSAD演算結果と同等のSAD演算結果が得られる。ここで得られたSAD演算結果が、3種類の重み値が設定されているイメージセンサ10のチャンネルch2に対応した第2の注目ブロック(=第2cの注目ブロック)に対応した最終的な重み付けSAD演算結果である。そして、重み処理部342は、第2cの注目ブロックに対応した最終的な重み付けSAD演算結果を、イメージセンサ10のチャンネルch2に対応する重み付けSAD演算結果として出力する。
なお、上述した第2bの注目ブロックに対応したSAD演算結果に対する乗算の処理、および第1aの注目ブロックに対応したSAD演算結果に対する乗算の処理において、それぞれのSAD演算結果に乗算する重み値を、それぞれの重み値a〜重み値cを演算した後に乗算している理由は、重み処理部341における重み付け処理の理由と同様である。つまり、それぞれの注目ブロックにおいて重複している画像データに、重み値が重複して乗算されてしまうことを回避するためである。
本第2の実施形態によれば、共通領域SAD演算部と注目画素と同じ数の加算処理部との組み合わせ(共通ブロックSAD演算部321と加算処理部3311および加算処理部3312との組み合わせ、共通ブロックSAD演算部322と加算処理部3321および加算処理部3322との組み合わせ、共通ブロックSAD演算部323と加算処理部3331および加算処理部3332との組み合わせ)を、共通注目ブロック内のそれぞれの画素に設定された重み値(重み値a〜重み値c)の種類(3種類)と同じ数だけ備え、さらに、加算処理部3311〜加算処理部3332のそれぞれから出力されるそれぞれのSAD演算結果に対して重み付け処理を行った重み付けSAD演算結果(イメージセンサ10のチャンネルch1に対応する重み付けSAD演算結果およびイメージセンサ10のチャンネルch2に対応する重み付けSAD演算結果)を出力する、同時に相関を取る隣接する注目画素と同じ数(2つ)の重み処理部(重み処理部341および重み処理部342)、を備える画像処理装置(画像処理装置300)が構成される。
また、本第2の実施形態によれば、共通領域SAD演算部と注目画素と同じ数の加算処理部との組み合わせのそれぞれは、対応する重み値a〜重み値cに応じたSAD演算結果をそれぞれ出力し、重み処理部341および重み処理部342のそれぞれは、共通領域SAD演算部と注目画素と同じ数の加算処理部との組み合わせのそれぞれから出力された、対応する注目画素におけるSAD演算結果のそれぞれに、対応する重み値a〜重み値cに基づいた値を乗算した後、ここで乗算したそれぞれの重み値に対応するSAD演算結果を加算したイメージセンサ10のチャンネルch1に対応する重み付けSAD演算結果およびイメージセンサ10のチャンネルch2に対応する重み付けSAD演算結果を出力する、画像処理装置300が構成される。
また、本第2の実施形態によれば、第1の重み値(重み値a)に対応する共通領域SAD演算部である第1の共通領域SAD演算部(共通ブロックSAD演算部323)は、入力された注目画素(6,6)を中心とし、相関を取る周辺の画素を含めた予め定めた大きさの第1の注目ブロックにおいて重み値aが設定された第1の重みの第1の注目領域(第1aの注目ブロック)と、同時に入力された隣接する注目画素(7,6)を中心とし、同時に相関を取る周辺の画素を含めた予め定めた大きさの第2の注目ブロックにおいて重み値aが設定された第1の重みの第2の注目領域(第2aの注目ブロック)とが重複する共通注目ブロックである第1の重みの共通注目領域(第1の共通注目ブロック)と、注目画素(6,6)に対応する参照画素(2,2)を中心とし、第1の注目ブロックに対応する予め定めた大きさの第1の参照ブロックにおいて重み値aが設定された第1の重みの第1の参照領域(第1aの参照ブロック)と、注目画素(7,6)に対応する参照画素(3,2)を中心とし、第2の注目ブロックに対応する予め定めた大きさの第2の参照ブロックにおいて重み値aが設定された第1の重みの第2の参照領域(第2aの参照ブロック)とが重複する共通参照ブロックである第1の重みの共通参照領域(第1の共通参照ブロック)とを、それぞれ定義し、第1の共通注目ブロックと第1の共通参照ブロックとにおいて同一の座標に位置する画素の画素信号が表す画像データ同士の差分絶対値をそれぞれ算出し、算出した差分絶対値を積算する差分絶対値和演算を行った共通SAD演算結果である第1の重みの共通SAD演算結果(第1の共通SAD演算結果)を出力し、重み値aに対応し、注目画素(6,6)に対応する加算処理部である第1の重みの第1の加算処理部(加算処理部3331)は、第1の共通SAD演算結果と、第1aの注目ブロック内で、第1の共通注目ブロックに含まれない画素の領域(注目画素(7,6)の領域)に対応するSAD演算結果(第1aの加算用SAD演算結果)とを加算した第1の重みの第1のSAD演算結果(第1aの注目ブロックに対応したSAD演算結果、すなわち、注目画素(6,6)のみのSAD演算結果)を出力し、重み値aに対応し、注目画素(7,6)に対応する加算処理部である第1の重みの第2の加算処理部(加算処理部3332)は、第1の共通SAD演算結果と、第2aの注目ブロック内で、第1の共通注目ブロックに含まれない画素の領域(注目画素(6,6)の領域)に対応するSAD演算結果(第2aの加算用SAD演算結果)とを加算した第1の重みの第2のSAD演算結果(第2aの注目ブロックに対応したSAD演算結果、すなわち、注目画素(7,6)のみのSAD演算結果)を出力し、重み値aよりも小さく、この重み値aが設定された画素の領域よりも大きな領域の画素に設定された第2の重み値(重み値bまたは重み値c)に対応する共通領域SAD演算部である第2の共通領域SAD演算部(共通ブロックSAD演算部322または共通ブロックSAD演算部321)は、第1の注目ブロックにおいて重み値bまたは重み値cが設定された第2の重みの第1の注目領域(第1bの注目ブロックまたは第1cの注目ブロック)と、第2の注目ブロックにおいて重み値bまたは重み値cが設定された第2の重みの第2の注目領域(第2bの注目ブロックまたは第2cの注目ブロック)とが重複する共通注目ブロックである第2の重みの共通注目領域(第2の共通注目ブロックまたは第3の共通注目ブロック)と、第1の参照ブロックにおいて重み値bまたは重み値cが設定された第2の重みの第1の参照領域(第1bの参照ブロックまたは第1cの参照ブロック)と、第2の参照ブロックにおいて重み値bまたは重み値cが設定された第2の重みの第2の参照領域(第2bの参照ブロックまたは第2cの参照ブロック)とが重複する共通参照ブロックである第2の重みの共通参照領域(第2の共通参照ブロックまたは第3の共通参照ブロック)とを、それぞれ定義し、第2の共通注目ブロックまたは第3の共通注目ブロックと第2の共通参照ブロックまたは第3の共通参照ブロックとにおいて同一の座標に位置する画素の画素信号が表す画像データ同士の差分絶対値をそれぞれ算出し、算出した差分絶対値を積算する差分絶対値和演算を行った共通SAD演算結果である第2の重みの共通SAD演算結果(第2の共通SAD演算結果または第2の共通SAD演算結果)を出力し、重み値bまたは重み値cに対応し、注目画素(6,6)に対応する加算処理部である第2の重みの第1の加算処理部(加算処理部3321または加算処理部3311)は、第2の共通SAD演算結果または第3の共通SAD演算結果と、第1bの注目ブロックまたは第1cの注目ブロック内で、第2の共通注目ブロックまたは第3の共通注目ブロックに含まれない画素の領域(第1bの加算ブロックまたは第1cの加算ブロック)に対応するSAD演算結果(第1bの加算用SAD演算結果または第1cの加算用SAD演算結果)とを加算した第2の重みの第1のSAD演算結果(第1bの注目ブロックに対応したSAD演算結果または第1cの注目ブロックに対応したSAD演算結果)を出力し、重み値bまたは重み値cに対応し、注目画素(7,6)に対応する加算処理部である第2の重みの第2の加算処理部(加算処理部3322または加算処理部3312)は、第2の共通SAD演算結果または第3の共通SAD演算結果と、第2bの注目ブロックまたは第2cの注目ブロック内で、第2の共通注目ブロックまたは第3の共通注目ブロックに含まれない画素の領域(第2bの加算ブロックまたは第2cの加算ブロック)に対応するSAD演算結果(第2bの加算用SAD演算結果または第2cの加算用SAD演算結果)とを加算した第2の重みの第2のSAD演算結果(第2bの注目ブロックに対応したSAD演算結果および第2cの注目ブロックに対応したSAD演算結果)を出力し、注目画素(6,6)に対応する重み処理部である第1の重み処理部(重み処理部341)は、第1aの注目ブロックに対応したSAD演算結果に重み値aから重み値b、または重み値bと重み値cを減算した重み値を乗算し、第1bの注目ブロックに対応したSAD演算結果または第1cの注目ブロックに対応したSAD演算結果に重み値bから重み値cを減算した重み値、または重み値cを乗算し、ここで乗算したそれぞれの第1のSAD演算結果を加算した重み付けSAD演算結果である第1の重み付けSAD演算結果(イメージセンサ10のチャンネルch1に対応する重み付けSAD演算結果)を出力し、注目画素(7,6)に対応する重み処理部である第2の重み処理部(重み処理部342)は、第2aの注目ブロックに対応したSAD演算結果に重み値aから重み値b、または重み値bと重み値cを減算した重み値を乗算し、第2bの注目ブロックに対応したSAD演算結果および第2cの注目ブロックに対応したSAD演算結果に重み値bから重み値cを減算した重み値、または重み値cを乗算し、ここで乗算したそれぞれの第2のSAD演算結果を加算した重み付けSAD演算結果である第2の重み付けSAD演算結果(イメージセンサ10のチャンネルch2に対応する重み付けSAD演算結果)を出力する、画像処理装置300が構成される。
上記に述べたように、本第2の実施形態の画像処理装置300では、第1の実施形態の画像処理装置100を同様に、イメージセンサ10のチャンネルch1から出力される注目画素を中心とした第1の注目ブロックと、イメージセンサ10のチャンネルch2から出力される注目画素を中心とした第2の注目ブロックとに共通する共通注目ブロックに対してSAD演算を行う。このとき、本第2の実施形態の画像処理装置300では、設定された重み値に応じて定義した、第1の重み付け注目ブロックと第2の重み付け注目ブロックとに共通するそれぞれの共通注目ブロック毎に、SAD演算を行う。そして、本第2の実施形態の画像処理装置300では、第1の実施形態の画像処理装置100を同様に、それぞれの共通注目ブロックに対応する共通SAD演算結果と、対応する第1の重み付け注目ブロックに含まれない第1の加算ブロックに対応する第1の加算用SAD演算結果、または対応する第2の重み付け注目ブロックに含まれない第2の加算ブロックに対応する第2の加算用SAD演算結果とを加算する。その後、本第2の実施形態の画像処理装置300では、第1の重み付け注目ブロックと第2の重み付け注目ブロックとのそれぞれに、対応する重み値を乗算した後にそれぞれのSAD演算結果を加算する重み付け処理を行う。これにより、本第2の実施形態の画像処理装置300でも、従来の撮像装置に備えた画像処理部と同様に、第1の注目ブロックに対応する重み付けSAD演算結果と第2の注目ブロックに対応する重み付けSAD演算結果とを、それぞれ同時に出力することができる。
しかも、本第2の実施形態の画像処理装置300では、従来の撮像装置に備えた画像処理部において画像データ毎に行っていた差分絶対値に対する重み値の乗算を、重み値に応じて定義した領域(第1の重み付け注目ブロックおよび第2の重み付け注目ブロック)のSAD演算結果に対して行う。つまり、本第2の実施形態の画像処理装置300では、重み付け処理を、複数の画像データに対してSAD演算を行った後のまとまった単位で行う。これにより、本第2の実施形態の画像処理装置300では、重み付け処理を行う演算回路の数を、従来の撮像装置に備えた画像処理部に備える数よりも少なくすることができる。
より具体的には、例えば、第1の注目ブロックと第2の注目ブロックとのそれぞれの領域が5画素×5画素の領域であり、それぞれの注目ブロック内の画像データに3種類の重み値が設定されている場合、従来の撮像装置に備えた画像処理部では、5画素×5画素分の演算回路を2チャンネル分、すなわち、5×5×2=50個の重み付け処理を行う演算回路を備える必要があった。これに対して、本第2の実施形態の画像処理装置300では、3種類の重み値に対応する重み付け処理を行う演算回路を2チャンネル分、すなわち、3×2=6個の重み付け処理を行う演算回路を備えるのみで、それぞれの重み付けSAD演算結果を得ることができる。これにより、本第2の実施形態の画像処理装置300では、画像データに対する重み付けを行ったSAD演算に関わる回路の回路規模の増大を、従来の構成よりも抑えつつ、それぞれの画像データに対する重み付けSAD演算結果を同時に出力することができる。
なお、本第2の実施形態においては、それぞれの画像データに対する重み値が、図8に示したように設定された場合について説明した。しかし、それぞれの画像データに対する重み値の設定は、本第2の実施形態において説明した設定に限定されるものではない。例えば、図11に示したように設定された場合であっても同様に、本発明の考え方を適用することができる。
図11は、本第2の実施形態の画像処理装置300において同時にSAD演算を行う画素の領域の別の一例を模式的に示した図である。図11(a)には、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした第1の注目ブロックと、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)を中心とした第1の参照ブロックとの位置関係を示している。また、図11(b)には、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心とした第2の注目ブロックと、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)を中心とした第2の参照ブロックとの位置関係を示している。また、図11には、第1の注目ブロックと第2の注目ブロックとのそれぞれの注目ブロック内の画像データに3種類の重み値が設定されている状態を示している。
本第2の実施形態の画像処理装置300では、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが、設定された重み値に応じて、それぞれの第1の重み付け注目ブロックと第2の重み付け注目ブロックとを定義する。より具体的には、図11において、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした重み値c以上の第1cの注目ブロックと、チャンネルch2から出力される注目画素(7,6)を中心とした重み値c以上の第2cの注目ブロックとをそれぞれ定義する。また、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした重み値b以上の第1bの注目ブロックと、チャンネルch2から出力される注目画素(7,6)を中心とした重み値b以上の第2bの注目ブロックとをそれぞれ定義する。また、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした重み値a以上の第1aの注目ブロックと、チャンネルch2から出力される注目画素(7,6)を中心とした重み値a以上の第2aの注目ブロックとをそれぞれ定義する。
また、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれは、定義したそれぞれの第1の重み付け注目ブロックおよび第2の重み付け注目ブロックに対応する第1の重み付け参照ブロックおよび第2の重み付け参照ブロックを定義する。より具体的には、図11において、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)に対応した参照画素(2,2)を中心とした第1aの参照ブロック、第1bの参照ブロック、および第1cの参照ブロックのそれぞれを定義する。同様に、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)に対応した参照画素(3,2)を中心とした第2aの参照ブロック、第2bの参照ブロック、および第2cの参照ブロックのそれぞれを定義する。
そして、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれが、定義したそれぞれの第1の重み付け注目ブロックおよび第2の重み付け注目ブロックで共通する共通注目ブロックに対するSAD演算を行った共通SAD演算結果と、それぞれの第1の重み付け注目ブロックまたは第2の重み付け注目ブロックに対応する第1の加算用SAD演算結果、および第2の加算用SAD演算結果とを、加算処理部3311〜加算処理部3332のそれぞれに出力する。そして、加算処理部3311〜加算処理部3332のそれぞれが、共通ブロックSAD演算部321〜共通ブロックSAD演算部323のそれぞれから入力された共通SAD演算結果と、第1の加算用SAD演算結果または第2の加算用SAD演算結果とを加算する。その後、重み処理部341および重み処理部342のそれぞれが、加算処理部3311〜加算処理部3332のそれぞれから入力されたSAD演算結果のそれぞれに、対応する重み値を乗算した後にそれぞれのSAD演算結果を加算する重み付け処理を行う。これにより、本第2の実施形態の画像処理装置300は、図11(a)に示した、イメージセンサ10のチャンネルch1から出力される注目画素(6,6)を中心とした第1の注目ブロックに対応する重み付けSAD演算結果と、図11(b)に示した、イメージセンサ10のチャンネルch2から出力される注目画素(7,6)を中心とした第2の注目ブロックに対応する重み付けSAD演算結果とを同時に出力する。
このように、本第2の実施形態の画像処理装置300では、第1の注目ブロックと第2の注目ブロックとのそれぞれの注目ブロック内の画像データに設定される重み値の状態によらずに、第1の注目ブロックに対応する重み付けSAD演算結果と第2の注目ブロックに対応する重み付けSAD演算結果とをそれぞれ同時に出力することができる。
なお、本第2の実施形態においては、画像処理装置300が、水平方向(行方向)xに隣接する2画素の画像データを同時に出力するイメージセンサ10に対応する構成の一例を示した。しかし、本発明の画像処理装置の考え方は、第1の実施形態の画像処理装置100を同様に、イメージセンサが同時に出力する画像データの方向が、水平方向(行方向)xである構成に限定されるものではなく、イメージセンサが画像データを同時に出力する構成が異なる場合でも同様に、本発明の考え方を適用することができる。
例えば、イメージセンサが、垂直方向(列方向)yに隣接する2画素の画像データを同時に出力する構成の場合には、入力される画像データの順番に応じてそれぞれのSAD演算を行う領域(ブロック)が図5(a)に示したようになるのみで、その構成や動作は、画像処理装置300と同様に考えることができる。また、例えば、イメージセンサが、水平方向(行方向)xに隣接する2画素の画像データと、垂直方向(列方向)yに隣接する2画素の画像データとを同時に出力する、つまり、4画素の画像データを同時に出力する構成場合には、入力される画像データに応じて画像処理装置300に備える構成要素が増える。より具体的には、図6に示した第1の実施形態の変形例の構成と同様に考え、図7に示した画像処理装置300に、イメージセンサのチャンネルch3およびチャンネルch4に対応するための6つの加算処理部と2つの重み処理部とが増えることになる。しかし、この場合の画像処理装置の動作も、それぞれのSAD演算を行う領域(ブロック)が図5(b)に示したようになるのみで、画像処理装置300と同様に考えることができる。従って、イメージセンサが画像データを同時に出力する構成が異なる場合における画像処理装置の構成や動作に関する詳細な説明は省略する。
上記に述べたとおり、本発明を実施するための形態によれば、隣接する複数の画素信号を、それぞれの画素に対応する複数のチャンネルから同時に出力する固体撮像装置(イメージセンサ)が搭載された撮像装置において、それぞれのチャンネルから出力される画素信号に応じたデジタル信号に対してSAD演算を同時に行う場合に、それぞれのチャンネルに対応したSAD演算を行う領域を合わせる(拡張する)。そして、本発明を実施するための形態では、それぞれのチャンネルに対応した領域が共通する(重複する)領域に対してSAD演算を行い、そのSAD演算結果と、共通する領域に含まれないそれぞれのチャンネルに対応した領域、すなわち、それぞれのチャンネルにおいてSAD演算を行う領域において共通する領域に不足している領域のSAD演算結果を加算する。これにより、本発明を実施するための形態では、それぞれのチャンネルに対応する領域のSAD演算を別々に行うことによって、それぞれのチャンネルから出力される画素信号に応じたデジタル信号に対するSAD演算を別々の演算回路で同時に行う従来の構成よりも、SAD演算結果を得るために備える演算回路の数を少なくすることができる。このことにより、本発明を実施するための形態では、SAD演算に関わる回路の回路規模の増大を抑えつつ、それぞれのチャンネルから出力される画素信号に応じたデジタル信号に対するSAD演算を同時に行うことができる。
また、本発明を実施するための形態によれば、それぞれのチャンネルから出力される画素信号に応じたデジタル信号に対して重み付けがされている場合、それぞれのデジタル信号に設定された重み値に応じて、SAD演算を行うそれぞれの領域を定義する。そして、本発明を実施するための形態では、定義した領域毎にSAD演算を行った後に、それぞれの領域に対応した重み値を乗算してそれぞれのSAD演算結果を加算する重み付け処理を行う。これにより、本発明を実施するための形態では、それぞれのチャンネルに対応する領域のSAD演算と重み付け処理とをそれぞれのデジタル信号毎に行う従来の構成よりも、重み付け処理を行うために備える演算回路の数を少なくすることができる。このことにより、本発明を実施するための形態では、重み付けを行ったSAD演算に関わる回路の回路規模の増大を抑えつつ、それぞれのチャンネルから出力される画素信号に応じたデジタル信号に対して重み付け処理を行ったSAD演算を同時に行うことができる。
なお、本実施形態においては、SAD演算を行うそれぞれの注目ブロックの領域が、5画素×5画素の領域である場合について説明したが、SAD演算を行う注目ブロックの領域の大きさは、本発明を実施するための形態に限定されるものではない。例えば、SAD演算を行う注目ブロックの領域が、9画素×9画素の領域である場合であっても同様に、本発明の考え方を適用することができる。
また、本実施形態においては、SAD演算を行うそれぞれの注目ブロック内の画像データに3種類の重み値が設定されている場合について説明したが、注目ブロック内の画像データのそれぞれに設定される重み値は、本発明を実施するための形態に限定されるものではない。例えば、注目ブロック内の画像データに2種類の重み値が設定されている場合や、3種類よりもさらに多くの種類の重み値が設定されている場合であっても同様に、本発明の考え方を適用することができる。
また、本実施形態においては、撮像装置に搭載された、複数の画素信号を同時に複数のチャンネルから出力する固体撮像装置(イメージセンサ)が、隣接する2画素を同時に出力する形式である場合について説明した。しかし、本発明の考え方を適用した画像処理装置が対応するイメージセンサの形式は、本発明を実施するための形態に限定されるものではない。例えば、水平方向に隣接する4画素の画素信号を同時に出力する形式や、垂直方向に隣接する4画素の画素信号を同時に出力する形式である場合でも同様に、本発明の考え方を適用することができる。また、例えば、水平方向に隣接する4画素の画素信号と、垂直方向に隣接する4画素の画素信号とを同時に出力する、つまり、8画素分の画素信号を同時に出力する形式である場合でも同様に、本発明の考え方を適用することができる。
また、本実施形態においては、撮像装置に搭載された固体撮像装置(イメージセンサ)が、ベイヤー配列のイメージセンサである場合について説明したが、本発明の考え方を適用した画像処理装置が対応するイメージセンサにおける画素の配列は、本発明を実施するための形態に限定されるものではない。
また、本実施形態においては、SAD演算を行う画像データが、固体撮像装置(イメージセンサ)から出力されるそれぞれの画素信号が表す画素値に応じたデジタル信号である場合について説明したが、SAD演算を行う画像データは、本発明を実施するための形態に限定されるものではない。例えば、すでに形成された画像に含まれるそれぞれの画素に対応するデジタル値であってもよい。
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。