以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態における撮像装置の概略構成を示したブロック図である。図1に示した撮像装置10は、イメージセンサ100と、撮像処理部200と、画像処理部300と、表示処理部400と、表示デバイス401と、DRAM(Dynamic Random Access Memory)コントローラ500と、DRAM501と、CPU600と、を備えている。
撮像装置10内の撮像処理部200と、画像処理部300と、表示処理部400と、DRAMコントローラ500と、CPU600とは、データバス700を介してそれぞれ接続され、例えば、DMA(Direct Memory Access)によってDRAMコントローラ500に接続されたDRAM501からのデータの読み出し、およびDRAM501へのデータの書き込みを行う。
図1に示した撮像装置10は、図10に示した従来の撮像装置と同様の構成要素を備えている。ただし、撮像装置10では、撮像処理部200の構成が、従来の撮像装置に備えた撮像処理部の構成と異なる。図1には、従来の撮像装置と異なる構成の撮像処理部200に注目し、その撮像処理部200の概略構成も併せて示している。
撮像装置10に備えた撮像処理部200は、撮像IF(インターフェース)部210と、前処理部220と、セレクタ230と、AE評価値生成部231と、セレクタ240と、AWB評価値生成部241と、セレクタ250と、AF評価値生成部251と、セレクタ260と、出力DMA(Direct Memory Access)部261と、入力DMA部270と、を備えている。
イメージセンサ100は、図示しないズームレンズによって結像された被写体の光学像を光電変換するCCD(Charge Copled Device:電荷結合素子)イメージセンサや、CMOS(Complementary Metal−Oxide Semiconductor:相補型金属酸化膜半導体)イメージセンサに代表されるイメージセンサである。
イメージセンサ100には、例えば、ベイヤー配列のカラーフィルタが、撮像面に貼付されている。イメージセンサ100は、被写体光に応じた各色(例えば、R,Gr,Gb,B)の画素信号を、撮像処理部200に出力する。なお、イメージセンサ100の構成や動作は、例えば、図10に示した従来の撮像装置に備えたイメージセンサの構成や動作と同様であるため、詳細な説明は省略する。
撮像処理部200は、イメージセンサ100から入力された画素信号に各種の処理を施し、撮像装置10における撮影に関する制御(AE、AWB、およびAFの制御)を行うための評価値を生成する。また、撮像処理部200は、イメージセンサ100から入力された画素信号に応じた画像データを、DRAMコントローラ500を介してDRAM501に格納する(記憶する)。
また、撮像処理部200は、DRAM501に格納されている画像データを、DRAMコントローラ500を介して取得し(読み出し)、取得した画像データに基づいて、撮像装置10における撮影に関する制御(AE、AWB、およびAFの制御)を行うための評価値を生成する。
撮像IF部210は、イメージセンサ100から入力された画素信号を取り込み、取り込んだ画素信号を画像データとして前処理部220に出力する。撮像IF部210は、画像データを前処理部220に出力する際、イメージセンサ100から入力された各色の画素信号のデータを、以降の処理に使用する画素の色の順番に並べ替える、並べ替え処理などを行う。また、撮像IF部210は、イメージセンサ100が差動インターフェースによって画素信号を出力するイメージセンサである場合には、例えば、LVDS(Low voltage differential signaling)の終端の処理なども行う。なお、撮像IF部210の構成や動作は、例えば、図10に示した従来の撮像装置に備えた撮像IF部の構成や動作と同様であるため、詳細な説明は省略する。
前処理部220は、撮像IF部210から入力された画像データに対して、キズ補正やシェーディング補正などの様々な前処理を施し、処理した結果の画像データ(以下、「前処理画像データ」という)を、セレクタ230と、セレクタ240と、セレクタ250と、セレクタ260とのそれぞれに出力する。
また、前処理部220は、入力DMA部270から入力された画像データを予め定めた時間だけ遅らせた画像データ(以下、「遅延画像データ」という)を、セレクタ230と、セレクタ240と、セレクタ250と、セレクタ260とのそれぞれに出力する。
図1に示したように、前処理部220は、セレクタ221と、3つの処理部222a〜222cと、3つのディレイ部223a〜223cと、を備えている。図1には、図10に示した従来の撮像装置に備えた前処理部と同様に、それぞれの処理を順次行う3つの処理部222a〜222cを備えた前処理部220の一例を示している。
セレクタ221は、撮像IF部210から入力された画像データ、および入力DMA部270から入力された画像データの出力先を選択する。より具体的には、セレクタ221は、撮像IF部210から入力された画像データを、処理部222aまたはディレイ部223aのいずれか一方に出力する。また、セレクタ221は、入力DMA部270から入力された画像データを、処理部222aまたはディレイ部223aのいずれか一方に出力する。
処理部222a〜222cのそれぞれは、入力された画像データに対して、予め定められたそれぞれの処理(補正処理)を行う。例えば、処理部222aは、入力された画像データに対して、キズ補正の処理を行う。また、例えば、処理部222bは、処理部222aから入力されたキズ補正処理後の画像データに対して、シェーディング補正の処理を行う。
このようにして処理部222a〜222cのそれぞれは、入力された画像データに対して、予め定められた処理(補正処理)を順次行う。そして、処理部222cが処理(補正処理)した後の画像データを、前処理画像データとして、セレクタ230と、セレクタ240と、セレクタ250と、セレクタ260とのそれぞれに出力する。なお、処理部222a〜222cのそれぞれの構成や動作は、例えば、図10に示した従来の撮像装置に備えた3つの処理部の構成や動作と同様であるため、詳細な説明は省略する。
ディレイ部223a〜223cのそれぞれは、処理部222a〜222cのそれぞれに対応し、入力された画像データを、処理部222a〜222cのそれぞれの入力から出力までの遅延時間と同じ時間だけ遅らせて出力する。例えば、ディレイ部223aは、入力された画像データを、処理部222aのキズ補正の処理によって遅れる遅延時間(処理時間)と同じ時間だけ遅らせて出力する。また、例えば、ディレイ部223bは、ディレイ部223aによって遅らされた画像データを、処理部222bのシェーディング補正の処理によって遅れる遅延時間(処理時間)と同じ時間だけ遅らせて出力する。
このようにして、ディレイ部223a〜223cのそれぞれは、入力された画像データを、対応する処理部の遅延時間(処理時間)と同じ時間だけ順次遅らせて出力する。そして、ディレイ部223cが遅らせた後の画像データを、遅延画像データとして、セレクタ230と、セレクタ240と、セレクタ250と、セレクタ260とのそれぞれに出力する。
セレクタ230は、前処理部220から入力された前処理画像データまたは遅延画像データのいずれか一方の画像データを選択し、選択した画像データを、AE評価値を生成するための画像データとしてAE評価値生成部231に出力する。
AE評価値生成部231は、セレクタ230から入力された画像データに基づいて、撮像装置10の露出を制御するためのAE評価値を演算(生成)する。イメージセンサ100がベイヤー配列のイメージセンサである場合には、AE評価値生成部231は、セレクタ230から入力された画像データを色(R,Gr,Gb,B)毎に積算したそれぞれのAE評価値を生成する。そして、AE評価値生成部231は、生成したAE評価値を、DRAMコントローラ500を介してDRAM501に格納する。なお、AE評価値生成部231の構成や動作は、例えば、図10に示した従来の撮像装置に備えたAE評価値生成部の構成や動作と同様であるため、詳細な説明は省略する。
なお、AE評価値生成部231は、生成したAE評価値をDRAM501に格納せず、生成したAE評価値を、AE評価値生成部231内のレジスタに保持する構成であってもよい。この場合には、CPU600は、AE評価値生成部231からAE評価値の生成が完了したことを表す通知を受け取った後に、AE評価値生成部231内のレジスタに保持しているAE評価値を読み出し、読み出したAE評価値を用いて、撮像装置10におけるAEの制御を行う。
セレクタ240は、前処理部220から入力された前処理画像データまたは遅延画像データのいずれか一方の画像データを選択し、選択した画像データを、AWB評価値を生成するための画像データとしてAWB評価値生成部241に出力する。
AWB評価値生成部241は、セレクタ240から入力された画像データに基づいて、撮像装置10のホワイトバランスを制御するためのAWB評価値を演算(生成)する。イメージセンサ100がベイヤー配列のイメージセンサである場合には、AWB評価値生成部241は、セレクタ240から入力された各色(R,Gr,Gb,B)の画像データから、白(ホワイト)のレベルを調整するためのAWB評価値を生成する。そして、AWB評価値生成部241は、生成したAWB評価値を、DRAMコントローラ500を介してDRAM501に格納する。なお、AWB評価値生成部241の構成や動作は、例えば、図10に示した従来の撮像装置に備えたAWB評価値生成部の構成や動作と同様であるため、詳細な説明は省略する。
なお、AWB評価値生成部241は、生成したAWB評価値をDRAM501に格納せず、生成したAWB評価値を、AWB評価値生成部241内のレジスタに保持する構成であってもよい。この場合には、CPU600は、AWB評価値生成部241からAWB評価値の生成が完了したことを表す通知を受け取った後に、AWB評価値生成部241内のレジスタに保持しているAWB評価値を読み出し、読み出したAWB評価値を用いて、撮像装置10におけるAWBの制御を行う。
セレクタ250は、前処理部220から入力された前処理画像データまたは遅延画像データのいずれか一方の画像データを選択し、選択した画像データを、AF評価値を生成するための画像データとしてAF評価値生成部251に出力する。
AF評価値生成部251は、セレクタ250から入力された画像データに基づいて、撮像装置10の焦点を制御するためのAF評価値を演算(生成)する。イメージセンサ100がベイヤー配列のイメージセンサである場合には、AF評価値生成部251は、セレクタ250から入力された各色(R,Gr,Gb,B)の画像データから、輝度信号(Y信号)を生成し、生成したY信号に基づいてAF評価値を生成する。そして、AF評価値生成部251は、生成したAF評価値を、DRAMコントローラ500を介してDRAM501に格納する。なお、AF評価値生成部251の構成や動作は、例えば、図10に示した従来の撮像装置に備えたAF評価値生成部の構成や動作と同様であるため、詳細な説明は省略する。
なお、AF評価値生成部251は、生成したAF評価値をDRAM501に格納せず、生成したAF評価値を、AF評価値生成部251内のレジスタに保持する構成であってもよい。この場合には、CPU600は、AF評価値生成部251からAF評価値の生成が完了したことを表す通知を受け取った後に、AF評価値生成部251内のレジスタに保持しているAF評価値を読み出し、読み出したAF評価値を用いて、撮像装置10におけるAFの制御を行う。
セレクタ260は、前処理部220から入力された前処理画像データまたは遅延画像データのいずれか一方の画像データを選択し、選択した画像データを、画像処理部300が画像処理する元の画像データとして出力DMA部261に出力する。
出力DMA部261は、セレクタ260から入力された画像データを、DMAによって、DRAMコントローラ500を介してDRAM501に格納する。イメージセンサ100がベイヤー配列のイメージセンサである場合には、ベイヤー配列の画像データが、画像処理部300が画像処理する元の画像データ(ベイヤーデータ)として、DRAM501に格納される。なお、出力DMA部261の構成や動作は、例えば、図10に示した従来の撮像装置に備えた出力DMA部の構成や動作と同様であるため、詳細な説明は省略する。
入力DMA部270は、DMAによって、DRAM501に格納されている画像データを、DRAMコントローラ500を介して取得し(読み出し)、取得した画像データを前処理部220に出力する。なお、入力DMA部270が取得する画像データは、出力DMA部261によって格納された画像データのみではなく、例えば、画像処理部300によって画像処理された後にDRAM501に格納された画像データでもよい。
画像処理部300は、DRAM501に格納されている画像データを取得し(読み出し)、取得した画像データに、ノイズ除去、歪曲収差補正、YC変換処理、リサイズ処理、JPEG圧縮処理、およびMPEG圧縮処理やH.264圧縮処理等の動画圧縮処理などの各種の画像処理を施して、表示用の画像データや記録用の画像データを生成する。そして、画像処理部300は、生成した表示用の画像データや記録用の画像データを、再びDRAM501に格納する(書き込む)。
また、画像処理部300は、DRAM501に格納されている記録用の画像データを取得し(読み出し)、JPEG伸張処理、MPEG伸張処理やH.264伸張処理等の動画伸張処理などの各種の画像処理を施して、表示用の画像データを生成する。そして、画像処理部300は、生成した表示用の画像データを、再びDRAM501に格納する(書き込む)。なお、画像処理部300の構成や動作は、例えば、図10に示した従来の撮像装置に備えた画像処理部の構成や動作と同様であるため、詳細な説明は省略する。
表示処理部400は、DRAM501に格納されている表示用の画像データを取得し(読み出し)、取得した表示用の画像データにOSD(On−Screen Display)表示用のデータを重畳する処理などの表示処理を施す。そして、表示処理後の画像データを、表示デバイス401や図示しない外部ディスプレイに出力する。なお、表示処理部400の構成や動作は、例えば、図10に示した従来の撮像装置に備えた表示処理部の構成や動作と同様であるため、詳細な説明は省略する。
表示デバイス401は、TFT(薄膜トランジスター:Thin Film Transistor)液晶ディスプレイ(LCD:Liquid Crystal Display)や、有機EL(Electro Luminescence)ディスプレイなどの表示デバイスである。表示デバイス401は、表示処理部400から出力された表示処理後の画像データに応じた画像を表示する。なお、表示デバイス401は、例えば、図10に示した従来の撮像装置に備えた表示デバイスと同様であるため、詳細な説明は省略する。
DRAMコントローラ500は、データバス700に接続されている撮像装置10内の複数の構成要素からのDRAM501へのアクセス要求、例えば、DMAのアクセス要求に応じて、接続されているDRAM501へのデータの格納(書き込み)、およびDRAM501からのデータの取得(読み出し)の制御を行う。なお、DRAMコントローラ500の構成や動作は、例えば、図10に示した従来の撮像装置に備えたDRAMコントローラの構成や動作と同様であるため、詳細な説明は省略する。
DRAM501は、DRAMコントローラ500によってアクセス制御されるメモリである。DRAM501は、撮像装置10内のそれぞれの構成要素の処理過程における様々なデータを記録する。なお、DRAM501は、例えば、図10に示した従来の撮像装置に備えたDRAM501と同様であるため、詳細な説明は省略する。
CPU600は、撮像装置10の構成要素、すなわち、撮像装置10全体を制御する。例えば、撮像装置10における撮影動作や再生動作に応じて、撮像装置10内の各構成要素の動作を制御する。例えば、CPU600は、撮像装置10が撮影動作を行う際に、イメージセンサ100からの画素信号の出力の開始、撮像IF部210による画素信号の取り込みの開始を制御する。
また、CPU600は、前処理部220内の処理部222a〜222cの設定や制御、AE評価値生成部231、AWB評価値生成部241、およびAF評価値生成部251の設定や制御や、出力DMA部261および入力DMA部270の設定を行う。また、CPU600は、前処理部220内のセレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによる画像データの選択を制御する。
このような構成によって、本実施形態の撮像装置10では、従来の撮像装置と同様に、イメージセンサ100から出力される画素信号をリアルタイムに取り込みながら、撮影に関するAE、AWB、およびAFの制御を行うためのAE評価値、AWB評価値、およびAF評価値を、即座に生成することができる。また、本実施形態の撮像装置10では、入力DMA部270によってDRAM501に格納されている画像データを取得することによって、DRAM501に格納されている画像データに基づいて、撮影に関するAE、AWB、およびAFの制御を行うためのAE評価値、AWB評価値、およびAF評価値を生成することができる。すなわち、本実施形態の撮像装置10では、リアルタイムに入力される画像データ以外からでも、AE評価値、AWB評価値、およびAF評価値を生成することができる。
ここで、本実施形態の撮像装置10において、AE評価値、AWB評価値、およびAF評価値を生成する動作の一例について説明する。
<第1の評価値生成動作>
図2は、本実施形態の撮像装置10による評価値生成の第1の動作の一例を模式的に示した図である。第1の評価値生成動作は、従来の撮像装置における評価値生成動作と同様の動作である。第1の評価値生成動作では、イメージセンサ100からの画素信号の出力と同時に、リアルタイムにAE評価値、AWB評価値、およびAF評価値を生成する。図2には、図1に示した撮像装置10のブロック図上に、第1の評価値生成動作におけるデータの経路を示している。
第1の評価値生成動作では、イメージセンサ100から出力された画素信号が、撮像処理部200に入力され、撮像処理部200内の撮像IF部210は、入力された画素信号を画像データとして前処理部220に出力する。そして、前処理部220内のセレクタ221は、撮像IF部210から入力された画像データを処理部222aに転送し、処理部222a〜222cのそれぞれは、入力された画像データに対して順次前処理(補正処理)を施す。前処理部220は、処理部222cが前処理(補正処理)した前処理画像データを、セレクタ230と、セレクタ240と、セレクタ250と、セレクタ260とのそれぞれに出力する。そして、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260のそれぞれは、前処理部220から入力された前処理画像データを、対応するAE評価値生成部231、AWB評価値生成部241、AF評価値生成部251、および出力DMA部261に、それぞれ出力する。
AE評価値生成部231、AWB評価値生成部241、AF評価値生成部251、および出力DMA部261のそれぞれは、前処理部220から入力された前処理画像データに基づいて演算(生成)したAE評価値、AWB評価値、AF評価値、および前処理部220から入力された前処理画像データ(ベイヤーデータ)を、DRAMコントローラ500を介してDRAM501に格納する。
このように、第1の評価値生成動作では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、図2に示したような、イメージセンサ100から出力された画素信号に応じた画像データを処理する経路を選択する。これにより、本実施形態の撮像装置10でも、従来の撮像装置における評価値生成動作と同様の動作を行うことができる。
<第2の評価値生成動作>
図3は、本実施形態の撮像装置10による評価値生成の第2の動作の一例を模式的に示した図である。第2の評価値生成動作では、イメージセンサ100からの画素信号に応じた画像データを一旦DRAM501に格納した後、画像処理部300がDRAM501に格納された画像データに基づいて画像処理して再びDRAM501に格納し、DRAM501に格納された画像処理を施した後の画像データに基づいて評価値を生成する。図3には、図1に示した撮像装置10のブロック図上に、第2の評価値生成動作のそれぞれの処理手順におけるデータの経路を示している。
以下に、第2の評価値生成動作におけるそれぞれの処理手順を、順を追って説明する。第2の評価値生成動作では、以下の手順で評価値の生成を行う。
(手順1):まず、撮像装置10は、イメージセンサ100から出力された画素信号に応じた画像データを前処理し、前処理した前処理画像データを、元の画像データ(ベイヤーデータ)としてDRAM501に格納する。より具体的には、イメージセンサ100から出力された画素信号を、撮像処理部200に入力し、撮像処理部200内の撮像IF部210が、入力された画素信号を画像データとして前処理部220に出力する。
そして、前処理部220は、撮像IF部210から入力された画像データに対して、処理部222a〜222cのそれぞれで順次前処理(補正処理)を施し、処理部222cが前処理(補正処理)した前処理画像データを、セレクタ260を介して出力DMA部261に出力する。そして、出力DMA部261は、前処理部220から入力された前処理画像データ(ベイヤーデータ)を、DRAMコントローラ500を介してDRAM501に格納する。
手順1では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図3(a)に示した経路C11を、データの経路として選択する。
(手順2):続いて、撮像装置10は、DRAM501に格納されている前処理画像データ(ベイヤーデータ)に画像処理を施し、画像処理を施した後の画像データを、DRAM501に再び格納する。より具体的には、画像処理部300が、DRAM501に格納されている画像データを、DRAMコントローラ500を介して取得し(読み出し)、取得した画像データに、例えば、画像合成処理、ノイズ除去処理、歪曲収差補正処理、または撮像装置10の使用者(ユーザ)の要求に応じた、画像の色を変更する編集処理などの画像処理を施す。
そして、画像処理部300は、画像処理を施した後の画像データを、DRAMコントローラ500を介してDRAM501に再び格納する。手順2では、例えば、図3(a)に示した経路C12で、画像処理部300にデータが入出力される。
(手順3):続いて、撮像装置10は、DRAM501に格納されている画像処理を施した後の画像データに基づいて評価値を生成する。より具体的には、撮像処理部200内の入力DMA部270が、DRAM501に格納されている画像処理を施した後の画像データを、DRAMコントローラ500を介して取得し(読み出し)、取得した画像処理を施した後の画像データを前処理部220に出力する。そして、前処理部220内のセレクタ221は、入力DMA部270から入力された画像処理を施した後の画像データをディレイ部223aに転送し、ディレイ部223a〜223cのそれぞれは、入力された画像処理を施した後の画像データを、予め定めた時間だけ遅らせる。
前処理部220は、ディレイ部223cが遅らせた遅延画像データを、セレクタ240を介してAWB評価値生成部241に出力する。そして、AWB評価値生成部241は、セレクタ240を介して前処理部220から入力された遅延画像データ、すなわち、画像処理を施した後の画像データに基づいて、AWB評価値を演算(生成)し、生成したAWB評価値を、DRAMコントローラ500を介してDRAM501に格納する。
手順3では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図3(b)に示した経路C13を、データの経路として選択する。
このように、第2の評価値生成動作では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、それぞれの処理手順で、図3に示したような、画像データを処理する経路を選択する。これにより、本実施形態の撮像装置10では、イメージセンサ100からの画素信号に応じた画像データを一旦DRAM501に格納し、画像処理部300が画像処理を施した後の画像データ、すなわち、DRAM501に格納された画像データに基づいて評価値を生成することができる。このことにより、例えば、複数枚の画像を加算(画像合成処理)した後の画像データ、ノイズ除去処理や歪曲収差補正処理などの画像処理を行った後の画像データに対して、AWB評価値を生成することができる。
なお、図3に示した第2の評価値生成動作では、手順1においてAE評価値生成部231、AWB評価値生成部241、およびAF評価値生成部251が評価値を生成していない場合の例について説明したが、手順1において、AE評価値生成部231、AWB評価値生成部241、およびAF評価値生成部251が、それぞれの評価値を生成する動作にしてもよい。
また、手順3においてAE評価値生成部231およびAF評価値生成部251が評価値を生成していない場合の例について説明したが、手順3において、AE評価値生成部231およびAF評価値生成部251が、前処理部220から入力された画像処理を施した後の画像データに基づいて、それぞれの評価値を生成する動作にしてもよい。
<第3の評価値生成動作>
図4は、本実施形態の撮像装置10による評価値生成の第3の動作の一例を模式的に示した図である。第3の評価値生成動作では、イメージセンサ100からの画素信号に応じた画像データを一旦DRAM501に格納した後、DRAM501に格納された画像データに基づいて評価値を生成する。ただし、第3の評価値生成動作では、被写体を追尾しながら、AE評価値やAF評価値を生成する。
第3の評価値生成動作を行う撮像装置10では、図1に示した撮像装置10に、さらに動き検出部800を備えている。図4には、図1に示した撮像装置10のブロック図上に、第3の評価値生成動作をするための動き検出部800を追加し、第3の評価値生成動作のそれぞれの処理手順におけるデータの経路を示している。
動き検出部800は、DRAM501に格納されている画像データを取得し(読み出し)、取得した画像データに対して、例えば、2枚の画像を比較するブロックマッチングなどの処理を行って被写体の動きベクトルを、画像データに含まれる被写体の動きとして検出する。そして、動き検出部800は、検出した被写体の動きを表す情報を生成し、生成した被写体の動きを表す情報を、DRAMコントローラ500を介してDRAM501に格納する。なお、動き検出部800の構成や動作は、例えば、従来の撮像装置に備えた動き検出部の構成や動作と同様であるため、詳細な説明は省略する。
なお、動き検出部800は、生成した被写体の動きを表す情報をDRAM501に格納せず、生成した被写体の動きを表す情報を、動き検出部800内のレジスタに保持する構成であってもよい。この場合には、CPU600は、動き検出部800から被写体の動きを表す情報の生成が完了したことを表す通知を受け取った後に、動き検出部800内のレジスタに保持している被写体の動きを表す情報を読み出し、読み出した被写体の動きを表す情報を用いて、AE評価値生成部231およびAF評価値生成部251の設定や制御を行う。
以下に、第3の評価値生成動作におけるそれぞれの処理手順を、順を追って説明する。第3の評価値生成動作では、以下の手順でそれぞれの評価値の生成を行う。
(手順1):まず、撮像装置10は、イメージセンサ100から出力された画素信号に応じた画像データを前処理し、前処理した前処理画像データに基づいてAWB評価値を生成すると共に、前処理した前処理画像データを、元の画像データ(ベイヤーデータ)としてDRAM501に格納する。より具体的には、イメージセンサ100から出力された画素信号を、撮像処理部200に入力し、撮像処理部200内の撮像IF部210が、入力された画素信号を画像データとして前処理部220に出力する。
そして、前処理部220は、撮像IF部210から入力された画像データに対して、処理部222a〜222cのそれぞれで順次前処理(補正処理)を施し、処理部222cが前処理(補正処理)した前処理画像データを、セレクタ240を介してAWB評価値生成部241に、セレクタ260を介して出力DMA部261に、それぞれ出力する。そして、AWB評価値生成部241は、前処理部220から入力された前処理画像データに基づいて、AWB評価値を演算(生成)し、生成したAWB評価値を、DRAMコントローラ500を介してDRAM501に格納する。また、出力DMA部261は、前処理部220から入力された前処理画像データ(ベイヤーデータ)を、DRAMコントローラ500を介してDRAM501に格納する。
手順1では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図4(a)に示した経路C21を、データの経路として選択する。
(手順2):続いて、撮像装置10は、DRAM501に格納されている前処理画像データ(ベイヤーデータ)に基づいて、被写体の動きを検出する。より具体的には、動き検出部800が、DRAM501に格納されている画像データを、DRAMコントローラ500を介して取得し(読み出し)、取得した画像データに含まれる被写体の動きを検出する。
そして、動き検出部800は、検出した被写体の動きを表す情報を、DRAMコントローラ500を介してDRAM501に格納する。手順2では、例えば、図4(a)に示した経路C22で、動き検出部800にデータが入出力される。その後、CPU600は、動き検出部800が検出した被写体の動きを表す情報に基づいて、AE評価値生成部231およびAF評価値生成部251の設定を行う。
(手順3):続いて、撮像装置10は、DRAM501に格納されている元の画像データ(ベイヤーデータ)に基づいて、AE評価値生成部231とAF評価値生成部251とによって、AE評価値とAF評価値とを生成する。より具体的には、撮像処理部200内の入力DMA部270が、DRAM501に格納されている前処理画像データ(ベイヤーデータ)を、DRAMコントローラ500を介して取得し(読み出し)、取得した前処理画像データ(ベイヤーデータ)を前処理部220に出力する。そして、前処理部220内のセレクタ221は、入力DMA部270から入力された前処理画像データ(ベイヤーデータ)をディレイ部223aに転送し、ディレイ部223a〜223cのそれぞれは、入力された前処理画像データ(ベイヤーデータ)を、予め定めた時間だけ遅らせる。
前処理部220は、ディレイ部223cが遅らせた遅延画像データを、セレクタ230を介してAE評価値生成部231に、セレクタ250を介してAF評価値生成部251に、それぞれ出力する。そして、AE評価値生成部231は、セレクタ230を介して前処理部220から入力された遅延画像データ、すなわち、前処理画像データ(ベイヤーデータ)に基づいて、AE評価値を演算(生成)し、生成したAE評価値を、DRAMコントローラ500を介してDRAM501に格納する。また、AF評価値生成部251は、セレクタ250を介して前処理部220から入力された遅延画像データ、すなわち、前処理画像データ(ベイヤーデータ)に基づいて、AF評価値を演算(生成)し、生成したAF評価値を、DRAMコントローラ500を介してDRAM501に格納する。
手順3では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図4(b)に示した経路C23を、データの経路として選択する。
このように、第3の評価値生成動作では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、それぞれの処理手順で、図4に示したような、画像データを処理する経路を選択する。これにより、本実施形態の撮像装置10では、イメージセンサ100からの画素信号に応じた画像データを一旦DRAM501に格納し、動き検出部800が被写体の動きを検出する。これにより、被写体の動きに応じた画像データの位置(領域)に対して、AEやAFの制御を行うことができる。
そして、本実施形態の撮像装置10では、動き検出部800が検出した被写体の動きを表す情報に基づいて、被写体の動きの検出に用いた画像データから、AE評価値生成部231およびAF評価値生成部251が、AE評価値およびAF評価値を生成する。これにより、被写体の動きを追尾しながら、AE評価値およびAF評価値を生成することができる。
なお、被写体の動きに追尾しながらそれぞれの評価値を生成する場合、図4に示した第3の評価値生成動作のように、手順1〜3を順次行うと、イメージセンサ100からの画素信号に応じた画像データの取り込みと、被写体の動きに応じた評価値の生成とを交互に行うことになる。このため、撮像装置10では、例えば、撮像IF部210がイメージセンサ100から取り込んだ画像データを間引いて処理することになるため、評価値生成の精度が低下し、撮像装置10の使用者(ユーザ)に違和感を与えてしまう場合がある。そこで、第3の評価値生成動作における実際の動作では、図4に示した第3の評価値生成動作の手順1〜3を同時に行うことによって、上述したような、評価値生成の精度低下を抑えることによって、撮像装置10の使用者(ユーザ)に違和感を与えさせなくすることができる。
<第3の評価値生成動作における実際の運用>
図5は、本実施形態の撮像装置10による評価値生成の第3の動作における実際の運用の一例を模式的に示した図である。図5には、第3の動作における実際の運用において同時に行う、図4に示した第3の評価値生成動作の手順1〜3の処理におけるデータの経路を、図4に示した第3の評価値生成動作に対応して示している。
図5に示した第3の評価値生成動作における実際の運用でも、図4に示した第3の評価値生成動作と同様に、イメージセンサ100からの画素信号に応じた画像データのDRAM501への格納(手順1)と、動き検出部800による被写体の動きの検出(手順2)と、DRAM501に格納された画像データに基づいた評価値の生成(手順3)とを行う。ただし、図5に示した第3の評価値生成動作における実際の運用では、撮像IF部210が、異なるタイミングでイメージセンサ100から取り込んだそれぞれの画像データに対して、手順1、手順2、または手順3の処理を行う。
より具体的には、撮像処理部200は、撮像IF部210がイメージセンサ100から1枚目の画像データを取り込んだとき、手順1によって、AWB評価値生成部241による1枚目の前処理画像データに基づいたAWB評価値の演算(生成)と、出力DMA部261による1枚目の前処理画像データ(ベイヤーデータ)のDRAM501への格納を行う(経路C21参照)。
その後、撮像処理部200は、撮像IF部210がイメージセンサ100から2枚目の画像データを取り込んだとき、手順1によって、AWB評価値生成部241による2枚目の前処理画像データに基づいたAWB評価値の演算(生成)と、出力DMA部261による2枚目の前処理画像データ(ベイヤーデータ)のDRAM501への格納を行う(経路C21参照)。また、同時に、動き検出部800は、手順2によって、DRAM501に格納されている1枚目の前処理画像データ(ベイヤーデータ)と2枚目の前処理画像データ(ベイヤーデータ)とに基づいて、被写体の動きを検出する(経路C22参照)。
その後、撮像処理部200は、撮像IF部210がイメージセンサ100から3枚目の画像データを取り込んだとき、手順1によって、AWB評価値生成部241による3枚目の前処理画像データに基づいたAWB評価値の演算(生成)と、出力DMA部261による3枚目の前処理画像データ(ベイヤーデータ)のDRAM501への格納を行う(経路C21参照)。また、同時に、動き検出部800は、手順2によって、DRAM501に格納されている2枚目の前処理画像データ(ベイヤーデータ)と3枚目の前処理画像データ(ベイヤーデータ)とに基づいて、被写体の動きを検出する(経路C22参照)。
また、同時に、撮像処理部200は、手順3によって、入力DMA部270がDRAM501に格納されている1枚目の前処理画像データを取得し(読み出し)、取得した1枚目の前処理画像データをディレイ部223a〜223cのそれぞれによって遅らせた遅延画像データに基づいて、AE評価値生成部231およびAF評価値生成部251が、AE評価値およびAF評価値の演算(生成)を行う(経路C23参照)。
以降、撮像処理部200は、手順1における前処理画像データに基づいたAWB評価値の演算(生成)と、前処理画像データ(ベイヤーデータ)のDRAM501への格納、および手順3におけるDRAM501に格納された前処理画像データに基づいたAE評価値およびAF評価値の演算(生成)を繰り返す。また、同時に動き検出部800は、手順2における被写体の動きの検出を繰り返す。例えば、撮像IF部210がイメージセンサ100から取り込んだそれぞれの画像データを、「フレーム」ということにすると、N枚目のフレームをDRAM501に格納するときに、N−1枚目とN枚目のフレームとに基づいて被写体の動きを検出し、N−2枚目のフレームに基づいてAE評価値およびAF評価値の演算(生成)を行う。
このように、第3の評価値生成動作における実際の運用では、図4に示した第3の評価値生成動作の手順1〜3を同時に行って、イメージセンサ100からの画素信号に応じた画像データをDRAM501に格納しながら、それぞれの評価値を生成することができる。すなわち、本実施形態の撮像装置10では、撮像IF部210がリアルタイムにイメージセンサ100から取り込んだ画素信号に応じた画像データと、以前に取り込んだ異なる画像データとを、同時に処理することができる。これは、前処理部220内に設けたセレクタ221とディレイ部223a〜223cとによるものである。
なお、撮像IF部210が異なるタイミングで取り込んだ異なる画像データを同時に処理する方法として、例えば、CPU600が、前処理部220における処理の遅延時間(処理時間)を考慮して、入力DMA部270がDRAM501に格納されている画像データを取得する(読み出す)タイミングを制御する方法も考えられる。しかし、CPU600によるタイミングの制御は、複雑になりやすい。本実施形態の撮像装置10では、前処理部220内にディレイ部223a〜223cを設けているため、容易に、以前に取り込んだ異なる画像データのタイミングを、リアルタイムに前処理されている画像データのタイミングと同じタイミングにすることができる。
より具体的には、セレクタ221によって、リアルタイムに撮像IF部210から入力されている画像データを処理部222aに転送し、入力DMA部270から入力された、以前に撮像IF部210が取り込んだ画像データをディレイ部223aに転送する。そして、ディレイ部223a〜223cが、以前に撮像IF部210が取り込んだ画像データを、処理部222a〜222cによってリアルタイムに前処理(補正処理)されている画像データと同じタイミングにする。すなわち、AE評価値生成部231、AWB評価値生成部241、AF評価値生成部251、および出力DMA部261には、同じタイミングで画像データが入力される。これにより、AE評価値生成部231、AWB評価値生成部241、AF評価値生成部251、および出力DMA部261は、撮像IF部210が異なるタイミングで取り込んだ異なる画像データを、同時に処理することができる。このことにより、本実施形態の撮像装置10では、手順1〜3を順次行うことによって生じてしまう評価値生成の精度低下を抑え、ユーザに与える違和感を少なくすることができる。
なお、図4に示した第3の評価値生成動作、および図5に示した第3の評価値生成動作における実際の運用では、動き検出部800が被写体の動きを検出し、被写体の動きに追尾しながら、AE評価値およびAF評価値を生成する場合について説明した。しかし、第3の評価値生成動作および実際の運用は、被写体の動きに追尾しながら評価値を生成する場合に限定されるものではなく、例えば、手ぶれ補正を行いながら評価値を生成することや、顔検出を行いながら評価値を生成することもできる。この場合、撮像装置10に、動き検出部800に代わって、または動き検出部800にさらに加えて、手ぶれ補正部や顔検出部を備えることによって、手ぶれ補正や顔検出を行いながら評価値を生成することができる。
<第4の評価値生成動作>
図6は、本実施形態の撮像装置10による評価値生成の第4の動作の一例を模式的に示した図である。第4の評価値生成動作は、イメージセンサ100からの画素信号が複数回に分かれて入力される、いわゆる、インタレース読み出しのイメージセンサである場合における評価値の生成動作である。第4の評価値生成動作では、イメージセンサ100から複数回に分かれて入力された画素信号に応じたそれぞれの画像データを一旦DRAM501に格納した後、DRAM501に格納されたそれぞれの画像データを合わせて1枚の画像データとし、この1枚の画像データに基づいて評価値を生成する。図6には、図1に示した撮像装置10のブロック図上に、第4の評価値生成動作のそれぞれの処理手順におけるデータの経路を示している。
インタレース読み出しのイメージセンサには、1枚の画像の画素信号を、例えば、奇数(ODD)フィールドと偶数(EVEN)フィールドとの2つのフィールドに分けて読み出す2:1インタレースや、3〜6のフィールドに分けて読み出す、それぞれ3:1インタレース、4:1インタレース、5:1インタレース、6:1インタレースなど、様々な形式がある。以下の説明においては、イメージセンサ100が、2:1インタレースのイメージセンサである場合について説明する。なお、その他の形式のイメージセンサの場合については、1枚の画像を構成するフィールドの数が異なるのみであるため、以下に説明する2:1インタレースのイメージセンサと同様に考えることができる。
以下に、第4の評価値生成動作におけるそれぞれの処理手順を、順を追って説明する。第4の評価値生成動作では、以下の手順でそれぞれの評価値の生成を行う。
(手順1):まず、撮像装置10は、イメージセンサ100から出力された奇数フィールドの画素信号に応じた奇数フィールドの画像データを前処理し、前処理した奇数フィールドの前処理画像データを、元の奇数フィールドの画像データ(ベイヤーデータ)としてDRAM501に格納する。より具体的には、イメージセンサ100から出力された奇数フィールドの画素信号を、撮像処理部200に入力し、撮像処理部200内の撮像IF部210が、入力された画素信号を奇数フィールドの画像データとして前処理部220に出力する。
そして、前処理部220は、撮像IF部210から入力された奇数フィールドの画像データに対して、処理部222a〜222cのそれぞれで順次前処理(補正処理)を施し、処理部222cが前処理(補正処理)した奇数フィールドの前処理画像データを、セレクタ260を介して出力DMA部261に出力する。そして、出力DMA部261は、前処理部220から入力された奇数フィールドの前処理画像データ(ベイヤーデータ)を、DRAMコントローラ500を介してDRAM501に格納する。
手順1では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図6(a)に示した経路C31を、データの経路として選択する。
(手順2):続いて、撮像装置10は、イメージセンサ100から出力された偶数フィールドの画素信号に応じた偶数フィールドの画像データを前処理し、前処理した偶数フィールドの前処理画像データを、元の偶数フィールドの画像データ(ベイヤーデータ)としてDRAM501に格納する。より具体的には、イメージセンサ100から出力された偶数フィールドの画素信号を、撮像処理部200に入力し、撮像処理部200内の撮像IF部210が、入力された画素信号を偶数フィールドの画像データとして前処理部220に出力する。
そして、前処理部220は、撮像IF部210から入力された偶数フィールドの画像データに対して、処理部222a〜222cのそれぞれで順次前処理(補正処理)を施し、処理部222cが前処理(補正処理)した偶数フィールドの前処理画像データを、セレクタ260を介して出力DMA部261に出力する。そして、出力DMA部261は、前処理部220から入力された偶数フィールドの前処理画像データ(ベイヤーデータ)を、DRAMコントローラ500を介してDRAM501に格納する。
手順2では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図6(b)に示した経路C32を、データの経路として選択する。
(手順3):続いて、撮像装置10は、DRAM501に格納されている元の奇数フィールドの画像データ(ベイヤーデータ)と元の偶数フィールドの画像データ(ベイヤーデータ)とに基づいて、AWB評価値生成部241によって、AWB評価値を生成する。より具体的には、撮像処理部200内の入力DMA部270が、DRAM501に格納されている奇数フィールドの前処理画像データ(ベイヤーデータ)と偶数フィールドの前処理画像データ(ベイヤーデータ)とを、DRAMコントローラ500を介して取得し(読み出し)、前処理部220に出力する。
なお、入力DMA部270が奇数フィールドの前処理画像データと偶数フィールドの前処理画像データとを取得する際には、例えば、奇数フィールドと偶数フィールドとの前処理画像データを、イメージセンサ100の行毎に交互に読み出し、読み出した前処理画像データを順次出力することによって、1枚の前処理画像データ(ベイヤーデータ)として前処理部220に出力する。
そして、前処理部220内のセレクタ221は、入力DMA部270から入力された1枚の前処理画像データ(ベイヤーデータ)をディレイ部223aに転送し、ディレイ部223a〜223cのそれぞれは、入力された1枚の前処理画像データ(ベイヤーデータ)を、予め定めた時間だけ遅らせる。
前処理部220は、ディレイ部223cが遅らせた1枚の遅延画像データを、セレクタ240を介してAWB評価値生成部241に出力する。そして、AWB評価値生成部241は、セレクタ240を介して前処理部220から入力された1枚の遅延画像データ、すなわち、1枚の前処理画像データ(ベイヤーデータ)に基づいて、AWB評価値を演算(生成)し、生成したAWB評価値を、DRAMコントローラ500を介してDRAM501に格納する。
手順3では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図6(c)に示した経路C33を、データの経路として選択する。
このように、第4の評価値生成動作では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、それぞれの処理手順で、図6に示したような、画像データを処理する経路を選択する。これにより、本実施形態の撮像装置10では、イメージセンサ100からのそれぞれのフィールドの画素信号に応じた画像データを一旦DRAM501に格納し、入力DMA部270がそれぞれのフィールドの画像データを1枚の画像データ、すなわち、それぞれのフィールドの画素信号を合わせた状態の画像データとして取得する(読み出す)。これにより、本実施形態の撮像装置10では、インタレース読み出しのイメージセンサからの画素信号に応じた画像データに基づいて、AWB評価値を生成することができる。
なお、図6に示した第4の評価値生成動作では、手順1および手順2において、それぞれのフィールドの画像データを、一旦DRAM501に格納した後に、手順3において、AWB評価値生成部241がAWB評価値を生成する場合について説明した。すなわち、手順1および手順2においては、AE評価値生成部231、AWB評価値生成部241、およびAF評価値生成部251が評価値を生成せず、手順3においては、AE評価値生成部231およびAF評価値生成部251が評価値を生成しない場合の例について説明した。しかし、第4の評価値生成動作は、AWB評価値生成部241がAWB評価値を生成する場合に限定されるものではなく、手順1、手順2、および手順3のそれぞれにおいて、AE評価値生成部231、AWB評価値生成部241、およびAF評価値生成部251が、それぞれの評価値を生成する動作にしてもよい。
また、図6に示した第4の評価値生成動作では、手順1および手順2において、イメージセンサ100からのそれぞれのフィールドの画素信号に応じた、それぞれのフィールドの画像データに前処理を施した後にDRAM501に格納する場合について説明した。しかし、画像データに前処理を施すタイミングは、図6に示した第4の評価値生成動作のタイミングに限定されるものではなく、例えば、それぞれのフィールドの画像データを1枚の画像データにした後に、前処理を施すこともできる。
図7は、本実施形態の撮像装置10による評価値生成の第4の動作における別の動作の一例を模式的に示した図である。図7に示した第4の評価値生成動作の別の動作では、イメージセンサ100から出力されたそれぞれのフィールドの画素信号に応じた画像データには前処理を施さず、入力DMA部270が取得した(読み出した)1枚の画像データに対して前処理を施す場合の動作である。図7には、図1に示した撮像装置10のブロック図上に、第4の評価値生成動作の別の動作のそれぞれの処理手順におけるデータの経路を示している。第4の評価値生成動作の別の動作では、以下の手順でそれぞれの評価値の生成を行う。
(手順1):まず、撮像装置10は、イメージセンサ100から出力された奇数フィールドの画素信号に応じた奇数フィールドの画像データを、元の奇数フィールドの画像データ(ベイヤーデータ)としてDRAM501に格納する。より具体的には、イメージセンサ100から出力された奇数フィールドの画素信号を、撮像処理部200に入力し、撮像処理部200内の撮像IF部210が、入力された画素信号を奇数フィールドの画像データとして前処理部220に出力する。
そして、前処理部220内のセレクタ221は、撮像IF部210から入力された奇数フィールドの画像データをディレイ部223aに転送し、ディレイ部223a〜223cのそれぞれは、入力された奇数フィールドの画像データを、予め定めた時間だけ遅らせる。
前処理部220は、ディレイ部223cが遅らせた奇数フィールドの遅延画像データを、セレクタ260を介して出力DMA部261に出力する。そして、出力DMA部261は、前処理部220から入力された奇数フィールドの遅延画像データを、DRAMコントローラ500を介してDRAM501に格納する。
(手順2):続いて、撮像装置10は、イメージセンサ100から出力された偶数フィールドの画素信号に応じた偶数フィールドの画像データを、元の偶数フィールドの画像データ(ベイヤーデータ)としてDRAM501に格納する。より具体的には、イメージセンサ100から出力された偶数フィールドの画素信号を、撮像処理部200に入力し、撮像処理部200内の撮像IF部210が、入力された画素信号を偶数フィールドの画像データとして前処理部220に出力する。
そして、前処理部220内のセレクタ221は、撮像IF部210から入力された偶数フィールドの画像データをディレイ部223aに転送し、ディレイ部223a〜223cのそれぞれは、入力された偶数フィールドの画像データを、予め定めた時間だけ遅らせる。
前処理部220は、ディレイ部223cが遅らせた偶数フィールドの遅延画像データを、セレクタ260を介して出力DMA部261に出力する。そして、出力DMA部261は、前処理部220から入力された偶数フィールドの遅延画像データを、DRAMコントローラ500を介してDRAM501に格納する。
手順1および手順2では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図7(a)に示した経路C34を、データの経路として選択する。
(手順3):続いて、撮像装置10は、DRAM501に格納されている元の奇数フィールドの画像データ(ベイヤーデータ)と元の偶数フィールドの画像データ(ベイヤーデータ)とに基づいて、AWB評価値生成部241によって、AWB評価値を生成する。より具体的には、撮像処理部200内の入力DMA部270が、DRAM501に格納されている奇数フィールドの遅延画像データ(ベイヤーデータ)と偶数フィールドの遅延画像データ(ベイヤーデータ)とを、DRAMコントローラ500を介して取得し(読み出し)、前処理部220に出力する。
なお、入力DMA部270が奇数フィールドの遅延画像データと偶数フィールドの遅延画像データとを取得する際には、上述したような方法によって、それぞれのフィールドの画素信号を合わせた状態の画像データ、すなわち、それぞれのフィールドの遅延画像データを1枚の画像データとして取得し(読み出し)、前処理部220に出力する。
そして、前処理部220内のセレクタ221は、入力DMA部270から入力された1枚の画像データ(ベイヤーデータ)を処理部222aに転送し、処理部222a〜222cのそれぞれは、入力された1枚の画像データ(ベイヤーデータ)に対して順次前処理(補正処理)を施す。
前処理部220は、処理部222cが前処理(補正処理)した1枚の画像データを、セレクタ240を介してAWB評価値生成部241に出力する。そして、AWB評価値生成部241は、セレクタ240を介して前処理部220から入力された1枚の画像データ(ベイヤーデータ)に基づいて、AWB評価値を演算(生成)し、生成したAWB評価値を、DRAMコントローラ500を介してDRAM501に格納する。
手順3では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図7(b)に示した経路C35を、データの経路として選択する。
このように、第4の評価値生成動作の別の動作でも、それぞれのフィールドの画像データを1枚の画像データ、すなわち、それぞれのフィールドの画素信号を合わせた状態の画像データに基づいて、AWB評価値を生成することができる。この第4の評価値生成動作の別の動作は、例えば、それぞれのフィールドの画像データの単位では効果が少ない、または効果がない前処理(補正処理)、すなわち、1枚の画像データが揃った状態で効果が得られる前処理(補正処理)がある場合に、その前処理(補正処理)を有効に画像データに施すことができる点で有用である。
なお、図6に示した第4の評価値生成動作、および図7に示した第4の評価値生成動作の別の動作では、処理部222a〜222cのそれぞれが、入力された画像データに対して順次前処理(補正処理)を施す場合について説明したが、画像データに施す前処理(補正処理)は、順次行うことに限定されるものではない。例えば、処理部222a〜222cのそれぞれに、入力された画像データに対して前処理(補正処理)を施すか否かを切り換える、すなわち、前処理(補正処理)をONまたはOFFする機能を備え、評価値生成動作の手順毎に、例えば、CPU600が処理部222a〜222cのそれぞれに対して前処理(補正処理)を施すか否かを切り換える構成とすることもできる。
例えば、処理部222bの処理(補正処理)が、1枚の画像データが揃った状態で有効な効果が得られる前処理(言い換えると、それぞれの画像データの単位では有効な効果が得られない前処理)であった場合を考える。この場合、第4の評価値生成動作において、手順1と手順2とでは、CPU600が図6(a)に示した経路C31または図6(b)に示した経路C32を選択し、処理部222aおよび処理部222cの前処理(補正処理)をONし、処理部222bの前処理(補正処理)をOFFする。そして、手順3では、CPU600が図7(b)に示した経路C35を選択し、処理部222aおよび処理部222cの前処理(補正処理)をOFFし、処理部222bの前処理(補正処理)をONする。このように制御することによって、処理部222a〜222cのそれぞれの前処理(補正処理)の効果が有効に得られる状態で、それぞれの画像データに対して前処理(補正処理)を施すことができる。
なお、図7に示した第4の評価値生成動作の別の動作でも、手順1および手順2において、それぞれのフィールドの画像データを、一旦DRAM501に格納した後に、手順3において、AWB評価値生成部241がAWB評価値を生成する場合について説明した。しかし、第4の評価値生成動作の別の動作でも、AWB評価値生成部241がAWB評価値を生成する場合に限定されるものではなく、手順1、手順2、および手順3のそれぞれにおいて、AE評価値生成部231、AWB評価値生成部241、およびAF評価値生成部251が、それぞれの評価値を生成する動作にしてもよい。
<第5の評価値生成動作>
図8は、本実施形態の撮像装置10による評価値生成の第5の動作の一例を模式的に示した図である。第5の評価値生成動作では、イメージセンサ100の露光条件を変えて得られた画素信号に応じた複数の画像データのそれぞれを一旦DRAM501に格納した後、画像処理部300がDRAM501に格納されたそれぞれの画像データに基づいて画像処理して再びDRAM501に格納し、DRAM501に格納された画像処理を施した後の画像データに基づいて評価値を生成する。図8には、図1に示した撮像装置10のブロック図上に、第5の評価値生成動作のそれぞれの処理手順におけるデータの経路を示している。
以下の説明においては、イメージセンサ100の露光時間を変えて撮影した2枚の画像データに基づいて評価値を生成する場合の一例について説明する。なお、それぞれの画像データを得るための露光時間は、説明を容易にするため、短い露光時間(以下、「短露光」という)、および長い露光時間(以下、「長露光」)とする。以下に、第5の評価値生成動作におけるそれぞれの処理手順を、順を追って説明する。第5の評価値生成動作では、以下の手順でそれぞれの評価値の生成を行う。
(手順1):まず、撮像装置10は、短露光で撮影し、イメージセンサ100から出力された短露光の画素信号に応じた短露光の画像データを前処理し、前処理した短露光の前処理画像データに基づいてAE評価値とAF評価値を生成すると共に、前処理した短露光の前処理画像データを、元の短露光の画像データ(ベイヤーデータ)としてDRAM501に格納する。より具体的には、イメージセンサ100から出力された短露光の画素信号を、撮像処理部200に入力し、撮像処理部200内の撮像IF部210が、入力された短露光の画素信号を、短露光の画像データとして前処理部220に出力する。
そして、前処理部220は、撮像IF部210から入力された短露光の画像データに対して、処理部222a〜222cのそれぞれで順次前処理(補正処理)を施し、処理部222cが前処理(補正処理)した短露光の前処理画像データを、セレクタ230を介してAE評価値生成部231に、セレクタ250を介してAF評価値生成部251に、それぞれ出力する。また、前処理部220は、処理部222cが前処理(補正処理)した短露光の前処理画像データを、セレクタ260を介して出力DMA部261に出力する。
そして、AE評価値生成部231は、セレクタ230を介して前処理部220から入力された短露光の前処理画像データに基づいてAE評価値を演算(生成)し、生成したAE評価値を、DRAMコントローラ500を介してDRAM501に格納する。また、AF評価値生成部251は、セレクタ250を介して前処理部220から入力された短露光の前処理画像データに基づいてAF評価値を演算(生成)し、生成したAF評価値を、DRAMコントローラ500を介してDRAM501に格納する。また、出力DMA部261は、セレクタ260を介して前処理部220から入力された短露光の前処理画像データ(ベイヤーデータ)を、DRAMコントローラ500を介してDRAM501に格納する。
手順1では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図8(a)に示した経路C41を、データの経路として選択する。
(手順2):続いて、撮像装置10は、長露光で撮影し、イメージセンサ100から出力された長露光の画素信号に応じた長露光の画像データを前処理し、前処理した長露光の前処理画像データを、元の長露光の画像データ(ベイヤーデータ)としてDRAM501に格納する。より具体的には、イメージセンサ100から出力された長露光の画素信号を、撮像処理部200に入力し、撮像処理部200内の撮像IF部210が、入力された長露光の画素信号を、長露光の画像データとして前処理部220に出力する。
そして、前処理部220は、撮像IF部210から入力された長露光の画像データに対して、処理部222a〜222cのそれぞれで順次前処理(補正処理)を施し、処理部222cが前処理(補正処理)した長露光の前処理画像データを、セレクタ260を介して出力DMA部261に出力する。そして、出力DMA部261は、セレクタ260を介して前処理部220から入力された長露光の前処理画像データ(ベイヤーデータ)を、DRAMコントローラ500を介してDRAM501に格納する。
手順2では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図8(b)に示した経路C42を、データの経路として選択する。
(手順3):続いて、撮像装置10は、DRAM501に格納されている短露光の前処理画像データ(ベイヤーデータ)と、長露光の前処理画像データ(ベイヤーデータ)とに画像処理を施し、画像処理を施した後の画像データを、DRAM501に再び格納する。より具体的には、画像処理部300が、DRAM501に格納されている短露光の前処理画像データ(ベイヤーデータ)と、長露光の前処理画像データ(ベイヤーデータ)とのそれぞれを、DRAMコントローラ500を介して取得し(読み出し)、取得した短露光の前処理画像データと長露光の前処理画像データとを画像合成処理して1枚の前処理画像データ(ベイヤーデータ)を生成する画像処理を施す。短露光の前処理画像データと長露光の前処理画像データとを画像合成処理することによって、イメージセンサ100から出力されるそれぞれの画素信号のダイナミックレンジを広げた画像データを生成することができる。
そして、画像処理部300は、画像処理を施した後の1枚の前処理画像データを、DRAMコントローラ500を介してDRAM501に再び格納する。手順3では、例えば、図8(c)に示した経路C43で、画像処理部300にデータが入出力される。
(手順4):続いて、撮像装置10は、DRAM501に格納されている画像処理を施した後の1枚の前処理画像データに基づいて、AE評価値生成部231とAWB評価値生成部241とによって、AE評価値とAWB評価値とを生成する。より具体的には、撮像処理部200内の入力DMA部270が、DRAM501に格納されている画像処理を施した後の1枚の前処理画像データを、DRAMコントローラ500を介して取得し(読み出し)、取得した画像処理を施した後の1枚の前処理画像データを前処理部220に出力する。そして、前処理部220内のセレクタ221は、入力DMA部270から入力された画像処理を施した後の1枚の前処理画像データをディレイ部223aに転送し、ディレイ部223a〜223cのそれぞれは、入力された画像処理を施した後の1枚の前処理画像データを、予め定めた時間だけ遅らせる。
前処理部220は、ディレイ部223cが遅らせた遅延画像データを、セレクタ230を介してAE評価値生成部231に、セレクタ240を介してAWB評価値生成部241に、それぞれ出力する。そして、AE評価値生成部231は、セレクタ230を介して前処理部220から入力された遅延画像データ、すなわち、画像処理を施した後の1枚の前処理画像データ(ベイヤーデータ)に基づいて、AE評価値を演算(生成)し、生成したAE評価値を、DRAMコントローラ500を介してDRAM501に格納する。また、AWB評価値生成部241は、セレクタ240を介して前処理部220から入力された遅延画像データ、すなわち、画像処理を施した後の1枚の前処理画像データ(ベイヤーデータ)に基づいて、AWB評価値を演算(生成)し、生成したAWB評価値を、DRAMコントローラ500を介してDRAM501に格納する。
手順4では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、例えば、図8(d)に示した経路C44を、データの経路として選択する。
このように、第5の評価値生成動作では、CPU600が、セレクタ221と、セレクタ230、セレクタ240、セレクタ250、およびセレクタ260とによって、それぞれの処理手順で、図8に示したような、画像データを処理する経路を選択する。これにより、本実施形態の撮像装置10では、イメージセンサ100からのそれぞれの露光条件の画素信号に応じた画像データを一旦DRAM501に格納し、画像処理部300がそれぞれの露光条件の画像データに画像処理を施した後の画像データを生成する。これにより、AE評価値生成部231およびAWB評価値生成部241は、DRAM501に格納された画像データ(本第5の評価値生成動作の一例では、短露光の前処理画像データと長露光の前処理画像データとを画像合成処理した広いダイナミックレンジの1枚の前処理画像データ)に基づいて、AE評価値およびAWB評価値を生成することができる。
なお、図8に示した第5の評価値生成動作では、手順1においてAWB評価値生成部241がAWB評価値を生成していない場合の例について説明したが、手順1において、AWB評価値生成部241がAWB評価値を生成する動作にしてもよい。
また、手順2においてAE評価値生成部231、AWB評価値生成部241、およびAF評価値生成部251が評価値を生成していない場合の例について説明したが、手順2において、AE評価値生成部231、AWB評価値生成部241、およびAF評価値生成部251が、それぞれの評価値を生成する動作にしてもよい。
また、手順4においてAF評価値生成部251がAF評価値を生成していない場合の例について説明したが、手順4において、AF評価値生成部251が、前処理部220から入力された画像処理を施した後の1枚の前処理画像データ(ベイヤーデータ)に基づいて、AF評価値を生成する動作にしてもよい。
なお、図8に示した第5の評価値生成動作では、手順1および手順2において、それぞれの露光時間の画像データを、一旦DRAM501に格納した後に、手順3において画像処理部300が画像処理し、手順4においてAE評価値生成部231およびAWB評価値生成部241が、AE評価値およびAWB評価値を生成する場合の一例について説明した。しかし、第5の評価値生成動作における実際の動作では、イメージセンサ100の短露光と長露光とを交互に行いながら、すなわち、図8に示した第5の評価値生成動作の手順1と手順2とを交互に行いながら、手順3および手順4を、手順1または手順2のいずれか一方、または手順1と手順2と両方の処理と同時に行う。これにより、例えば、イメージセンサ100から出力されるリアルタイムの画像を、より滑らかに表示デバイス401に表示しながら、評価値を生成することができる。
<第5の評価値生成動作における実際の運用>
図9は、本実施形態の撮像装置10による評価値生成の第5の動作における実際の運用の一例を模式的に示した図である。図9には、第5の動作における実際の運用において同時に行う、図8に示した第5の評価値生成動作の手順1〜4の処理におけるデータの経路を、図8に示した第5の評価値生成動作に対応して示している。
図9に示した第5の評価値生成動作における実際の運用でも、図8に示した第5の評価値生成動作と同様に、短露光の画像データのDRAM501への格納(手順1)と、長露光の画像データのDRAM501への格納(手順2)と、画像処理を施した後の1枚の前処理画像データのDRAM501への格納(手順3)と、DRAM501に格納された1枚の前処理画像データに基づいた評価値の生成(手順4)とを行う。図9に示した第5の評価値生成動作における実際の運用では、長露光の画像データのDRAM501への格納(手順2)と、DRAM501に格納された1枚の前処理画像データに基づいた評価値の生成(手順4)とを同時に行う場合の一例を示している。
より具体的には、撮像処理部200は、撮像IF部210がイメージセンサ100から短露光の画像データを取り込んだとき、手順1によって、AE評価値生成部231およびAF評価値生成部251による短露光の前処理画像データに基づいたAE評価値およびAF評価値の演算(生成)と、出力DMA部261による短露光の前処理画像データ(ベイヤーデータ)のDRAM501への格納を行う(図9(a)の経路C41参照)。
その後、撮像処理部200は、撮像IF部210がイメージセンサ100から長露光の画像データを取り込んだとき、手順2によって、出力DMA部261による長露光の前処理画像データ(ベイヤーデータ)のDRAM501への格納を行う(図9(b)の経路C42参照)。また、同時に、撮像処理部200は、手順4によって、入力DMA部270がDRAM501に格納されている画像処理を施した後の1枚の前処理画像データを取得し(読み出し)、取得した画像処理を施した後の1枚の前処理画像データをディレイ部223a〜223cのそれぞれによって遅らせた遅延画像データに基づいて、AE評価値生成部231およびAWB評価値生成部241が、AE評価値およびAWB評価値の演算(生成)を行う(図9(b)の経路C44参照)。
以降、撮像処理部200は、手順1における短露光の前処理画像データに基づいたAE評価値およびAF評価値の演算(生成)、および短露光の前処理画像データ(ベイヤーデータ)のDRAM501への格納と、手順2における長露光の前処理画像データ(ベイヤーデータ)のDRAM501への格納、および手順4における画像処理を施した後の1枚の前処理画像データ(遅延画像データ)に基づいたAE評価値およびAWB評価値の演算(生成)と、を繰り返す。
また、同時に画像処理部300は、手順3における短露光の前処理画像データと長露光の前処理画像データとを画像合成処理して1枚の前処理画像データ(ベイヤーデータ)を生成する画像処理を繰り返す。なお、図9に示した第5の評価値生成動作における実際の運用では、画像処理部300による画像処理(手順3)は、画像処理を行うための画像データ(本第5の動作における実際の運用の一例では、短露光の前処理画像データと長露光の前処理画像データ)が揃っている状態であれば、いずれのタイミングでも行うことができる。すなわち、画像処理部300による画像処理(手順3)は、短露光の画像データのDRAM501への格納(手順1)と、長露光の画像データのDRAM501への格納(手順2)とのいずれか一方の手順または両方の手順と同時に行うことができる。従って、図9(a)には、手順3を手順1と同時に行う場合、図9(b)には、手順3を手順2と同時に行う場合におけるデータの経路を示している。
このように、第5の評価値生成動作における実際の運用では、図9(a)に示した短露光の処理と、図9(b)に示した長露光の処理とを交互に行いながら、それぞれの評価値を生成する。また、第5の評価値生成動作における実際の運用では、長露光の処理において、長露光の前処理画像データ(ベイヤーデータ)をDRAM501に格納するのと同時に、画像処理を施した後の1枚の前処理画像データ(遅延画像データ)に基づいた、それぞれの評価値を生成する。これにより、第5の評価値生成動作における実際の運用では、例えば、イメージセンサ100から出力されるリアルタイムの画像を表示デバイス401に表示する処理の期間中に、短露光の前処理画像データと長露光の前処理画像データとを画像合成する画像処理を行うことができる。
なお、図9(a)に示した第5の評価値生成動作における実際の運用の短露光の処理でも、図8に示した第5の評価値生成動作における手順1と同様に、AWB評価値生成部241がAWB評価値を生成していない場合の例について説明したが、短露光の処理のときに、AWB評価値生成部241がAWB評価値を生成する動作にしてもよい。
また、図9(b)に示した第5の評価値生成動作における実際の運用の長露光の処理では、図8に示した第5の評価値生成動作における手順2と手順4とを同時に行っても、AF評価値生成部251がAF評価値を生成していない場合の例について説明したが、長露光の処理のときに、AF評価値生成部251がAF評価値を生成する動作にしてもよい。
上記に述べたとおり、本発明を実施するための形態では、撮像装置の撮像処理部内に、DRAMに格納された画像データを取得する(読み出す)入力DMA部(本実施形態においては、入力DMA部270)を設けた。また、撮像処理部内に備えた評価値生成部(本実施形態においては、AE評価値生成部231、AWB評価値生成部241、およびAF評価値生成部251)のそれぞれの前段(画像データの入力部)に、対応する評価値生成部に入力する画像データを選択するセレクタ(本実施形態においては、セレクタ230、セレクタ240、およびセレクタ250)を設けた。これにより、評価値生成部に入力して評価値を生成する画像データを、リアルタイムに入力される画像データ、またはDRAMに格納された画像データのいずれか一方に切り換えることができる。
このことにより、本発明を実施するための形態によれば、同じ評価値生成部を用いて(同じ評価値生成部を流用して)、従来の撮像装置と同様に、リアルタイムに入力される画像データに基づいたそれぞれの評価値を生成することができると共に、すでにイメージセンサから取り込みが終わった画素信号に応じた画像データ、すなわち、リアルタイムに入力される画像データ以外の画像データに基づいても、評価値を生成することができる。
また、本発明を実施するための形態によれば、DRAMに格納された画像データに基づいて評価値を生成することができる。これにより、イメージセンサから出力された画素信号に応じた画像データのみではなく、例えば、撮像装置に備えた画像処理部が画像処理した画像データに基づいても、評価値を生成することができる。
また、本発明を実施するための形態によれば、DRAMに格納された同じ画像データから、複数回の評価値を生成することもできる。このことは、同じ画像データから異なる評価値の結果を得たい場合に有用である。例えば、同じ画像データに対してAF評価値生成部251によるAF評価値の演算(生成)を、フィルタ特性のパラメータを変更して複数回行うことによって、1回目のAF評価値の結果と、2回目のAF評価値の結果とで、異なるフィルタ特性のAF評価値を得ることができる。これにより、複数のフィルタを同時に備え、複数のフィルタ特性のAF評価値を生成することができるAF評価値生成部を撮像処理部内に備える必要がなくなるため、撮像処理部の回路規模の増大を防ぐことができる。
また、本発明を実施するための形態によれば、リアルタイムに入力される画像データと、DRAMに格納された画像データとを、異なる評価値生成部に同時に入力することができる。これにより、リアルタイムに入力される画像データに基づいた評価値の生成と、DRAMに格納された画像データに基づいた評価値の生成とを、同時に行うことができる。このことにより、撮像装置における評価値の生成処理に要する処理時間を短縮することができる。
また、本発明を実施するための形態では、撮像処理部に備えた前処理部内に、ディレイ部(本実施形態においては、ディレイ部223a〜223c)を設け、入力された画像データを、前処理部内で前処理(補正処理)を行うそれぞれの処理部における処理(補正処理)の遅延時間と同じ時間だけ遅らせて出力する。これにより、前処理部に画像データが入力されてから出力されるまでの遅延時間を、それぞれの処理部とディレイ部とで同じ時間にすることができる。このことにより、撮像装置における評価値の生成処理のタイミングの制御を容易にすることができる。また、ディレイ部は、入力された画像データを遅らせて出力するのみであるため、前処理部の回路規模の増大を防ぐことができる。
また、本発明を実施するための形態では、撮像処理部に備えた前処理部内に、入力された画像データの出力先を切り換えるセレクタ(本実施形態においては、セレクタ221)を設けた。これにより、リアルタイムに入力される画像データに対して前処理を行わずにDRAMに格納することや、DRAMに格納された画像データに対して前処理を行うことができる。このことにより、画像データに対して前処理を施すタイミングを制御することができ、より効果が得られる状態の画像データに対して前処理を施すことができる。
より具体的には、例えば、最初は、イメージセンサから出力された画素信号に応じた画像データには前処理(補正処理)を行わずに元の画像データ(ベイヤーデータ)をDRAMに格納し、その後、DRAMに格納された元の画像データ(ベイヤーデータ)に何らかの前処理(補正処理)を施した前処理画像データをDRAMに格納することができる。これにより、撮影されたシーンに応じて前処理の方法を変更することや、前処理をやり直すなど、撮像装置における前処理(補正処理)の効果がより有効に得られる状態で、画像データに対して前処理(補正処理)を施すことができる。
なお、本実施形態においては、前処理部220内に備えた処理部222a〜222cのそれぞれに対応する3つのディレイ部223a〜223cを設け、それぞれのディレイ部223a〜223cが、入力された画像データを、対応する処理部222a〜222cの入力から出力までの遅延時間と同じ時間だけ遅らせて出力する場合について説明した。しかし、ディレイ部の構成は、本発明を実施するための形態に限定されるものではない。例えば、ディレイ部223a〜223cの代わりに、入力された画像データを、処理部222a〜222cによる前処理(補正処理)の合計の遅延時間と同じ時間だけ遅らせて出力するディレイ部を1つのみ設ける構成にすることもできる。
また、本実施形態においては、前処理部220内にディレイ部223a〜223cを設けた場合について説明した。しかし、前処理部220内の構成は、本発明を実施するための形態に限定されるものではない。例えば、CPU600が、前処理部220における処理の遅延時間(処理時間)を考慮して、撮像IF部210がリアルタイムに取り込んだ画像データの前処理が終了するタイミングと、入力DMA部270がDRAM501に格納されている画像データを取得する(読み出す)タイミングとを、同じタイミングに制御することができる場合には、前処理部220内にディレイ部223a〜223cを設けない構成にすることもできる。この場合には、セレクタ221が、画像データをディレイ部223aに転送する代わりに、入力された画像データを、セレクタ230と、セレクタ240と、セレクタ250と、セレクタ260とのそれぞれに出力する構成になる。これにより、セレクタ221が、画像データを出力してから、それぞれの評価値生成部が評価値の生成を終了するまでの時間を短縮することができる。
また、本実施形態においては、前処理部220内に、入力された画像データを、処理部222a〜222cのそれぞれの入力から出力までの遅延時間と同じ時間だけ遅らせて出力するディレイ部223a〜223cを設けた場合について説明した。しかし、前処理部220内の構成は、本発明を実施するための形態に限定されるものではない。例えば、ディレイ部223a〜223cの代わりに、処理部222a〜222cをもう1組設けた構成にすることもできる。この場合には、リアルタイムに入力される画像データと、DRAMに格納された画像データとの両方に、同時に前処理(補正処理)を施すことができる。なお、この場合には、前処理部の回路規模が増大してしまうことになるが、回路規模の増大よりも同時に異なる画像データに対して前処理(補正処理)を行えることが要求される撮像装置において有用であると考えられる。
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。