(58)【調査した分野】(Int.Cl.,DB名)
前記コントラスト検出手段は、前記最大輝度値から前記最小輝度値を減算した輝度レンジを算出し、画素信号として取り得る全レンジを前記輝度レンジで除算した拡張値を算出することを特徴とする請求項4に記載の撮像装置。
前記コントラスト強調処理手段は、前記コントラスト強調処理として、前記関心領域の撮像信号から当該関心領域の最小輝度値を減算し、それに前記拡張値に応じた値を乗算することを特徴とする請求項5に記載の撮像装置。
【背景技術】
【0002】
工場の製造ラインにおいて、検査者が行う目視検査の代わりに、画像入力用の撮像装置が用いられることがある。このような撮像装置は、マシンビジョンカメラとも呼ばれ、各種部品や製品をコンピュータやデジタル入出力機器とともに検査するために用いられる。近年では、検査精度を向上させるために、1000万以上の画素を有する撮像装置が使用されるようになっている。また、民生用のデジタルカメラにおいても同様に、高画質化を図るために多画素化が進んでいる。
多画素化、高画質化のニーズが高まってきたことを受け、近年ではカメラに用いられる撮像素子として、ローリングシャッター方式のCMOSセンサが用いられることが多い。ローリングシャッター方式は、撮像素子の行ごとに順次露光させるライン露光順次読み出し方式であり、センサに露光させるための露光時間の単位も行単位とされる。
【0003】
このような撮像装置で動画を撮像し、画素配列の全画素から画素信号を読み出す場合、画素数が多いと読み出し時間が長くなる。これにより、動画撮影の場合、1秒あたりの撮像枚数が減少する。また、撮像した映像を外部に出力するデータ量が多くなるため、フレームレートが低下する。例えばマシンビジョンカメラでは、撮像する画素数に伴って、読み出し時間の合計時間が変化するとともに、撮像装置の外部に送出する画素数に伴って、フレームレートが変化することとなる。
マシンビジョンカメラが用いられる検査システムでは、検査時間の短縮化も同時に求められる。そこで、カメラの撮像領域のうち、一部の領域の画素信号を読み出すことによって読み出し画素数を減らし、これによりフレームレートを高くすることが行われる。高フレームレート化できれば、システム全体の検査時間の短縮化につながる。
また、マシンビジョンカメラによって撮像した映像は、検査システムでの検査による判定を容易とするような画像処理が行われる。従来検査システムで行われる画像処理には、マシンビジョンカメラで実行されるものもある。マシンビジョンカメラで予め画像処理を実行することによって、全体のスループットを向上させることができる。
【0004】
ところで、画素信号を読み出す領域が複数設定されるようなアプリケーションでは、領域ごとに適切な撮影条件とする必要がある。
特許文献1には、第1画素群の画素からの信号と第2画素群の画素からの信号とを、異なるフレームで読み出し、画素群毎にゲインを異ならせる構成が開示されている。これにより、高輝度領域ではゲインを低くし、低輝度領域ではゲインを高くすることで被写体画像の認識範囲を広げることができる。
また、特許文献2には、画像信号中の所定の領域内の階調の少なさを評価する階調低下評価部と、画像信号中の所定の領域内の階調の潰れ度合いを評価する階調潰れ評価部とを用いて、画像信号の補正強度を制御する構成が開示されている。これにより、シーンに応じて高画質と視認性向上を両立した画像信号を生成することができる。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
<第1の実施形態>
図1に、実施形態に係る撮像装置の構成を示す。
撮像装置100は、撮像系を構成するイメージセンサ101と、センサ制御部102と、ADC103と、アドレスカウンタ104とを備える。また、撮像装置100は、タイミング信号合成部105と、コントラスト処理部106と、関心領域入力部107と、蓄積時間入力部108と、動作モード入力部109と、蓄積制御部110と、画像信号出力部111とを備える。
【0012】
撮像装置100には、レンズ200が装着される。レンズ200は、不図示の絞り群、変倍群、フォーカスレンズ群等の要素により構成される。なお、レンズ200に含まれる変倍群は、焦点距離が可変でも、固定でもよい。レンズ200を通った光束は、イメージセンサ101に結像する。
【0013】
センサ制御部102は、イメージセンサ101の蓄積動作や読み出し動作に必要なタイミング信号を生成し、イメージセンサ101に入力することにより、イメージセンサ101の蓄積及び読み出し処理を含む撮像制御を行う。イメージセンサ101は、ローリングシャッター方式のCMOSセンサである。センサ制御部102により撮像制御を行うと、イメージセンサ101からは撮像信号が出力され、ADC103でAD変換される。アドレスカウンタ104は、センサ制御部102が蓄積処理、読み出し処理を行う対象行又は対象画素となるアドレスを算出する。イメージセンサ101から一部の領域の画素信号を読み出しする場合、イメージセンサ101の撮像領域の全画素のうち、読み出しを行う画素を対象画素としてアドレスを設定し、読み出し対象とならない領域はスキップして読み出しを行わない。
【0014】
タイミング信号合成部105は、ADC103から出力される撮像信号データを入力するとともに、アドレスカウンタ104からの信号をセンサ制御部102を介して入力し、撮像信号データに対してフレーム同期信号や、垂直同期信号、水平同期信号等を合成する。
【0015】
関心領域設定装置300は、関心領域を設定する。例えば関心領域とする領域の座標を設定する。関心領域設定装置300により、複数の関心領域を設定することができる。関心領域設定装置300として、例えばパーソナルコンピュータ(PC)が使用される。関心領域入力部107は、関心領域設定装置300による関心領域の設定値を入力し、保持する。
蓄積時間設定装置400は、蓄積時間を設定する。蓄積時間設定装置400として、例えばPCが使用される。蓄積時間入力部108は、蓄積時間設定装置400による蓄積時間の設定値を入力し、保持する。
動作モード設定装置500は、撮像装置100の動作モードを設定する。動作モード設定装置500として、例えばPCが使用される。動作モード入力部109は、動作モード設定装置500による動作モードの設定値を入力し、保持する。動作モード設定装置500により設定された動作モードに従って、コントラスト処理部106や蓄積制御部110が実行する処理が切り替えられる。
なお、関心領域設定装置300、蓄積時間設定装置400、動作モード設定装置500は、同一のPCで構成してもよいし、別々のPCで構成してもよい。また、PC以外の機器で構成してもよく、また、撮像装置100自身が関心領域設定装置300、蓄積時間設定装置400、動作モード設定装置500の機能を有するようにしてもよい。
【0016】
蓄積制御部110は、関心領域入力部107、蓄積時間入力部108、動作モード入力部109が保持する設定値を入力する。関心領域入力部107が保持する関心領域の設定値は、イメージセンサ101における読み出し対象の領域情報として、センサ制御部102を介してアドレスカウンタ104に渡される。前述したように、センサ制御部102の制御下で、読み出し対象とならない領域、すなわち関心領域以外の領域はスキップされる。
【0017】
コントラスト処理部106は、タイミング信号合成部105から出力される撮像信号データにおいて、関心領域設定装置300により設定された関心領域に対して、後述するコントラスト検出処理及びコントラスト強調処理を行う。
【0018】
画像信号出力部111は、コントラスト処理部106によりコントラスト強調処理された撮像信号データを、撮像装置100の外部に出力する。このとき、コントラスト処理部106から出力される撮像信号データにおいて、関心領域設定装置300により設定された関心領域と、撮像信号データの関心領域の座標との対応が取れるように、必要なタイミング信号を加えた出力画像信号データを生成し、それを出力する。
【0019】
なお、本実施形態においては、センサ制御部102、アドレスカウンタ104及び蓄積制御部110が相まって、本発明でいう制御手段として機能する。また、コントラスト処理部106が、本発明でいうコントラスト検出手段、コントラスト強調処理手段として機能する。本発明の制御手段、コントラスト検出手段、コントラスト強調処理手段は、例えばCPUがメモリに格納された所定のプログラムを実行することにより実現される。
【0020】
図2に、イメージセンサ101の構造図を示す。Imgは行列状に配列された撮像素子群を示し、撮像素子群Imgを構成する一部の画素11〜33を示す。撮像素子群Img中の各画素には、水平信号線V(V1、V2、V3、…)を介して垂直走査回路1011が接続し、垂直信号線H(H1、H2、H3、…)を介して水平走査回路1012が接続する。
各垂直信号線Hには、画素列に対応して設けられた複数の列アンプ回路Amp(Amp1、Amp2、Amp3、…)が接続し、各画素から読み出された画素信号を増幅する。各列アンプAmpには、列アンプ選択線Again Selが接続し、各列アンプAmpの倍率を回路的に選択することが可能である。選択可能な倍率の例として1倍、2倍、4倍、8倍、16倍等があるが、列アンプ回路の倍率はイメージセンサによって様々であるため、任意の倍率で構成してよい。
【0021】
垂直走査回路1011には、Charge Reset、Read Reset、Line Shiftの3つの制御線が接続する。これら制御線は、センサ制御部102に接続されている。垂直走査回路1011には、蓄積対象行選択レジスタ及び読み出し対象行選択レジスタが構成される(
図4を参照のこと)。各行選択レジスタは、撮像素子群Img中の蓄積対象行及び読み出し対象行をそれぞれ選択することができる。Charge Resetは、行選択レジスタにより選択されている蓄積対象行を先頭行にリセットし、先頭行の蓄積を開始する。Read Resetは、行選択レジスタにより選択されている読み出し対象行を先頭行にリセットする。Line Shiftは、行選択レジスタにより選択されている蓄積対象行と読み出し対象行とをインクリメントするための制御線である。Line ShiftにHi信号を1回入力すると(ワンショットパルス入力)、各行選択レジスタにより選択されている対象の次の行が参照される。本実施形態では、Line Shiftが1本の場合の例を説明するが、蓄積対象行選択レジスタと読み出し対象行選択レジスタとが参照する行を個別にインクリメントするために別々に構成してもよい。
【0022】
水平走査回路1012には、Transfer H、H pulseの2つの制御線が接続する。これら制御線は、センサ制御部102に接続されている。Line Shiftへのワンショットパルス入力後、Transfer Hは、垂直走査回路1011の行選択レジスタにより選択されている読み出し対象行の画素信号を水平走査回路1012に転送する。例えば行選択レジスタにより選択されている読み出し対象行がV2のとき、Transfer Hにより、画素21、22,23の画素信号が水平走査回路1012に転送される。H pulseは、水平走査回路1012に転送された画素信号を読み出すための制御線である。H pulseにパルスが入力されると、アンプ1013を通じて撮像信号がアナログ出力される。この撮像信号はADC103に入力され、ADC103は、H pulseに同期して、入力された撮像信号をAD変換する。H pulseは、読み出しを行う画素数分のクロックを発生している。
【0023】
ここで、
図3及び
図4を参照して、センサ制御部102による撮像制御の例について説明する。イメージセンサ101の読み出し対象行数をn行とすると、n行分の読み出し時間と1行あたりの蓄積時間とを比較し、その大小関係で撮像制御方式を切り替える。
【0024】
図3を参照して、1行あたりの蓄積時間がn行分の読み出し時間以上の条件における撮像制御の例を説明する。
図3において横軸が時間方向を表わし、上図はタイミングチャートを示し、下図はイメージセンサ101の行方向の蓄積及び読み出しのイメージを示す。
まず、p01のタイミングでRead ResetとLine Shiftにワンショットパルスを入力することで、イメージセンサ101の第1行目の読み出しが開始される。p01のタイミングでのLine Shiftのパルスの入力後、水平走査回路1012のTransfer H、H pulseを用いて、第1行目の画素信号の読み出しが行われる。画素信号の読み出し時には、ADC103によってH pulseに同期したAD変換がなされる。
図3に示すT readlineは、1行分の画素信号の読み出しに要する時間である。
【0025】
1行分の画素信号の読み出しが完了した後、p02のタイミングでLine Shift及びCharge Resetにワンショットパルスを入力する。時間T readlineは、p01とp02との間隔時間と同等である。また、時間T readlineは、p01、p02等で入力されるLine ShiftのワンショットパルスのHi時間よりも十分長い。ここでは、垂直走査回路1011の行選択レジスタによって、読み出し対象行として第2行が選択され、蓄積対象行として第1行が選択される。p01からp02にかけて第1行の画素信号が読み出された後、p02で第1行の蓄積が開始される。また、p02からp03にかけて前述と同様にして時間T readlineで第2行の画素信号が読み出される。
図3の「読み出し中の領域」、「蓄積中の領域」で示すように、各行間は時間T readlineに相当する時間差で蓄積及び読み出しが行われることとなる。
【0026】
以下、同様にして、p01からp0nまでの時間においてイメージセンサ101の最終行nまでの蓄積及び読み出しが行われると、再びp11のタイミングで第1行目からの読み出しが行われる。p11のタイミングでは、p01のタイミングで行われた水平走査回路1012への処理と同様の処理が行われる。p11のタイミングで読み出される第1行目の画素信号は、p02からp11までに蓄積されたものである。また、例えばp12のタイミングで読み出される第2行目の画素信号は、p03からp12までに蓄積されたものである。p01からp0nまでに読み出される画素信号は、カメラ起動後の第0フレームであり、ダミーの読み出し期間としている。
図3のFrame Valid信号は、第0フレームにおいて蓄積された画素信号が読み出されるp11以降、すなわち第1フレーム以降の毎フレームで有効とし、p01からp0nまでに読み出される第0フレームの画素信号を無効とする。
【0027】
このように、
図3の撮像制御では、p01からp0nまで順次第0フレームの読み出しを行いつつ、p02以降は各行で第1フレームとして出力するための蓄積動作を順次行う。
図3に示すように、第1行から最終行nまでの読み出し時間をT read_Aとして示す。時間T readlineに行数nを掛けた時間がT read_Aとなる。T charge_Aは、第1行の蓄積時間を示す。
図3では第1行から最終行nまでの各行の蓄積時間T charge_AはT charge_A0と等しく、一様である。また、T read_AをT read、T charge_AをT chargeとすると、T chargeとT readとの関係は式(1)の通りである。
T charge≧T read …(1)
【0028】
図4を参照して、1行あたりの蓄積時間がn行分の読み出し時間未満の条件における撮像制御の例を説明する。
図4において横軸が時間方向を表わし、上図はタイミングチャートを示し、下図はイメージセンサ101の行方向の蓄積及び読み出しのイメージを示す。
式(1)の関係とは異なり、式(2)の関係にある場合、
図4に示すような撮像制御を行う。
T charge<T read …(2)
【0029】
まず、p01のタイミングでCharge ResetとLine Shiftにワンショットパルスを入力することで、イメージセンサ101の第1行目の蓄積が開始される。次に、p02のタイミングでLine Shiftにワンショットパルスを入力することで、イメージセンサ101の第2行目の蓄積が開始される。p01とp02との間隔時間は、
図3の場合と同様に、時間T readlineと同等である。以下、同様にして、時間T readlineに相当する時間間隔で、すなわちp01、p02、・・・、p0k、・・・のタイミングでLine Shiftにワンショットパルスを入力する。このようにLine Shiftにワンショットパルスを入力していくことによって、イメージセンサ101の第1行、第2行、… 第k行、…というようにT readlineの時間ずれを伴って順次蓄積が開始される。そして、p01+TcのタイミングでRead ResetとLine Shiftにワンショットパルスを入力することで、イメージセンサ101の第1行の蓄積を終了させる。
【0030】
p01+TcのタイミングでのLine Shiftのパルスの入力後、
図3の場合と同様に、水平走査回路1012のTransfer H、H pulseを用いて、第1行目の画素信号の読み出しが行われる。ここでは、p01からp01+Tcまでの時間、すなわちT charge_Bの蓄積時間で蓄積された画素信号が読み出される。ここで、Tcとは一行あたりの蓄積時間T charge_BをT readlineで割った値である。また、p01+Tcのタイミングでは、第1行の読み出しと同時に第Tc行の蓄積が開始される。以降、
図3の場合と同様の読み出し方法により、p01+Tcのタイミング以降、T readlineの時間ずれを伴って、最終行nまで順次一行ずつ読み出しが行われる。このようにイメージセンサ101の全行を読み出す時間はT read_Bで与えられる。読み出しライン数が等しければ、T read_Bは
図3に示すT read_Aと等しい。
【0031】
このように、
図4の撮像制御では、読み出し時間よりも蓄積時間の方が短い場合での撮像制御であり、第1行の読み出しが開始した時刻以降に、第Tc行以降の蓄積が行われていく。連続的に撮影を行う場合は、読み出し対象とする行すべての読み出しが終了した後に、次のフレームの蓄積や読み出しを行う。
【0032】
以上の撮像制御の例を踏まえて、本実施形態では、4つの関心領域を設定して読み出し及びスキップを行い、各関心領域に対して、コントラスト検出処理及びコントラスト強調処理を行う例を説明する。
図5に、イメージセンサ101及び関心領域の例を示す。本例では、イメージセンサ101が3000列2000行の撮像素子で構成されている。関心領域を斜線で示しており、それぞれ関心領域A(Area A)、関心領域B(Area B)、関心領域C(Area C)、関心領域D(Area D)とする。向かって左上の座標及び右下の座標{X1,Y1,X2,Y2}で領域を表わすと、関心領域Aは{201,201,950,400}である。同様に、関心領域Bは{2001,201,2750,400}、関心領域Cは{201,1501,950,1700}、関心領域Dは{2001,1501,2750,1700}である。
【0033】
図6は、第1の実施形態において撮像装置100が行う処理を示すフローチャートである。撮像装置100に電源が投入されると、ステップS110から順番に処理を実行する。
ステップS110で、関心領域の設定値の入力を行う。関心領域入力部107は、関心領域設定装置300により設定された関心領域の設定値(本例では、関心領域A〜関心領域Dの座標)を入力する。関心領域を除く領域は、スキップ領域、すなわち読み出しを行わない領域として識別される。関心領域の設定値は、関心領域入力部107で保持され、蓄積制御部110に入力される。ステップS110が実行されると、次にステップS120に進む。
【0034】
ステップS120で、所謂シャッター速度としての蓄積時間の設定値の入力を行う。蓄積時間入力部108は、蓄積時間設定装置400により設定された蓄積時間の設定値を入力する。蓄積時間の設定値は、蓄積時間入力部108で保持され、蓄積制御部110に入力される。蓄積時間は一般的には1/60、1/120等で示されるが、任意の形式としてもよい。ステップS120が実行されると、次にステップS130に進む。
【0035】
ステップS130で、関心領域及び撮像設定を行う。センサ制御部102及びアドレスカウンタ104は、ステップS110で入力された関心領域A〜関心領域Dの座標をイメージセンサ101のアドレスに変換し、読み出し対象行及びスキップ行に変換する。また、蓄積制御部110は、ステップS120で入力された蓄積時間に基づいて、イメージセンサ101を駆動する制御パルスのカウント値に変換し、センサ制御部102に設定する。また、センサ制御部102は、イメージセンサ101が備える列アンプ回路Ampのアンプゲインを設定する。アンプゲインの初期値は任意の値でよいが、ここでは1倍とする。さらに、変数としての本撮影フラグを反転させる。本撮影フラグとは、後述するステップS150での判定に用いるフラグ変数であり、本撮影である状態を示す真と、本撮影ではない状態を示す偽とがある。詳細については後述するが、初期値は偽(本撮影ではない状態)としておく。これらの設定処理が終了すると、次にステップS140に進む。
【0036】
ステップS140で、センサ制御部102は、ステップS130で設定された関心領域及び撮像設定に基づいて、イメージセンサ101の蓄積及び読み出し処理を行う。
図7に、ステップS140で実行される蓄積及び読み出し処理のタイミングチャートを示す。
図7では、式(1)に示す条件での撮像制御の例を示す。横軸に時間軸を取り、Charge Reset、Read Reset、Line Shiftの各パルスを示す。式(1)に示す条件では、前述したようにRead Resetパルスにより行選択レジスタがクリアされ、イメージセンサ101の先頭行から読み出し処理が行われる。
p01からp0201の期間では、Line Shiftのパルスを連続的に発行することにより先頭行から200行目までの読み出しがスキップされる。つまり、関心領域A及び関心領域Bの開始行201行目までの読み出しは行われないことになる。
次に、p0201のタイミング以降は、Tcの間隔でLine Shiftのパルスが発行され、p0400まで、すなわち201行目から400行目までの関心領域A及び関心領域Bの読み出しが行われる。
【0037】
次に、p0401のタイミング以降は、再びp1500、すなわち1500行目までの期間で、Line Shiftのパルスを連続的に発行することにより401行目から1500行目までの読み出しがスキップされる。
次に、p1501のタイミング以降は、再びTcの間隔でLine Shiftのパルスが発行され、p1700まで、すなわち1501行目から1700行目までの関心領域C及び関心領域Dの読み出しが行われる。
関心領域A〜関心領域Dの読み出しが行われるタイミングを、Region of InterestがHighとなっている区間で示す。
【0038】
ステップS140で読み出された関心領域A〜関心領域Dの撮像信号は、ADC103でAD変換された後、タイミング信号合成部105を経由してコントラスト処理部106に送られる。ここまでのデータの流れはハード的に行われるため、後述のステップS150〜S190までは同時並行的に実行されるものとして説明をする。ステップS140の処理が完了すると、次にステップS150に進む。
【0039】
図6に説明を戻して、ステップS150で、センサ制御部102は、本撮影フラグを判定する。真である場合はステップS160に進み、偽である場合はステップS180に進む。前述したように初期値は偽としたので、ここではステップS180に進む。
【0040】
ステップS180で、コントラスト処理部106は、ステップS140で読み出され、ADC103及びタイミング信号合成部105を経由した関心領域A〜関心領域Dの撮像信号データに基づいて、関心領域A〜関心領域Dのコントラスト検出を行う。
図8は、ステップS180のコントラスト検出処理のサブルーチンを示すフローチャートである。
図8に示すサブルーチンは、関心領域ごとに処理される。
ステップS181で、関心領域の最小輝度値を求め、保持する。ステップS182で、関心領域の最大輝度値を求め、保持する。ステップS183で、ステップS182で保持した関心領域の最大輝度値から、ステップS181で保持した関心領域の最小輝度値を減算することにより、関心領域の輝度レンジαを求める。輝度レンジαは関心領域ごとに保持される。ステップS184で、画素信号として取り得る全レンジを輝度レンジαで除算した結果をβ(以下、拡張値と呼ぶ)に格納する。拡張値βも輝度レンジαと同様に関心領域ごとに保持される。拡張値βは、後述するステップS160で実行されるコントラスト強調処理に用いるゲインとなる。ステップS184が実行されると、
図8のサブルーチンを終了し、次にステップS190に進む。
【0041】
図6に説明を戻して、ステップS190で、センサ制御部102は、ステップS180のコントラスト検出の結果に基づいて、撮影パラメータを更新する。
図9は、ステップS190の撮影パラメータ更新のサブルーチンを示すフローチャートである。
ステップS191で、全関心領域における輝度値の最大値を算出する。ステップS192で、イメージセンサ101が備える列アンプ回路Ampのアンプゲインを算出する。アンプゲインは、画素信号として取り得る全レンジをステップS191で算出された輝度値の最大値で除算することにより得られる。ステップS193で、ステップS192で算出されたアンプゲインを用いて、ステップS184で算出された拡張値βを更新する。詳細には、ステップS184で算出された拡張値βをステップS192で算出されたアンプゲインで除算した値で更新する。ステップS193が実行されると、
図9のサブルーチンを終了する。
【0042】
ステップS190が実行されると、次にステップS130に戻る。ステップS130では、ステップS190で更新された撮影パラメータのうち、変更のあったものが反映される。ここでは、ステップS192で設定されたアンプゲインが列アンプ回路Ampに適用される。また、本撮影フラグが反転され、真(本撮影である状態)となる。次にステップS140に進む。
【0043】
ステップS140で、前述したように、センサ制御部102は、ステップS130で設定された関心領域及び撮像設定に基づいて蓄積及び読み出し処理を行う。ステップS140の処理が完了すると、次にステップS150に進む。
ステップS150で、センサ制御部102は、本撮影フラグを判定する。ステップS130で本撮影フラグが真となっており、ここではステップS160に進む。
【0044】
ステップS160で、コントラスト処理部106は、ステップS140で読み出され、ADC103及びタイミング信号合成部105を経由した関心領域A〜関心領域Dの撮像信号データに対して、関心領域A〜関心領域Dのコントラスト強調処理を行う。
図10は、ステップS160のコントラスト強調処理のサブルーチンを示すフローチャートである。
図10に示すサブルーチンは、関心領域ごとに処理される。
ステップS161で、ステップS180で算出された関心領域の最小輝度値を用い、各画素の撮像信号から当該関心領域の最小輝度値を減算し、変数tempに格納する。ステップS162で、ステップS161で算出された変数tempにステップS193で算出された拡張値βを乗算することにより出力信号を得る。関心領域内の各画素にステップS160による演算を適用していく。ステップS162が実行されると、
図10のサブルーチンを終了し、次にステップS170に進む。
【0045】
図6に説明を戻して、ステップS170で、画像信号出力部111は、コントラスト処理部106によりコントラスト強調処理された関心領域A〜関心領域Dの撮像信号データを、撮像装置100の外部に出力する。
【0046】
以下、
図11に示す関心領域A〜関心領域Dを例として説明する。
図11は、本撮影フラグが偽(本撮影ではない状態)において、ステップS140で読み出された関心領域A〜関心領域Dの撮像信号を示し、各関心領域に描かれた特性線は撮像信号の輝度値を表わす。関心領域Aでは、略全レンジにわたる撮像信号が得られている。関心領域Bでは、低輝度、低コントラストの撮像信号が得られている。関心領域Cでは、高輝度、低コントラストの撮像信号が得られている。関心領域Dでは、関心領域Bと関心領域Cとの中間程度のコントラストとなる撮像信号が得られている。
【0047】
図11に示す関心領域Cを例に、
図12を参照して、ステップS180で実行されるコントラスト検出を説明する。
図12(a)は関心領域Cを示す図、(b)は関心領域Cの撮像信号から関心領域Cの最小輝度値を減算することによりオフセットした状態を示す図、(c)はコントラスト強調処理された関心領域Cを示す図である。
ステップS181で保持される関心領域Cの最小輝度値を
図12(a)にMinと示す。また、ステップS182で保持される関心領域Cの最大輝度値を
図12(a)にMaxと示す。このMaxとMinとの差が関心領域の輝度レンジαであり、
図12(b)にαで示す範囲となる。
また、ステップS184で算出される拡張値βは、画素信号として取り得る全レンジを輝度レンジαで除算した値であり、換言すれば、
図12(b)に示すように、α×βが、画素信号として取り得る全レンジとなる。
【0048】
図12(c)は、関心領域Cにおいて輝度レンジαを拡張値βを用いて拡張した状態を示しており、ステップS192で算出されるアンプゲインと、ステップS193で更新される拡張値βとを組み合わせたものと等価である。コントラスト処理部106において、関心領域Cの撮像信号が、
図12(c)に示すようにコントラストが強調された撮像信号に変換される。
図13には、コントラスト強調処理された関心領域A〜関心領域Dの撮像信号を示す。
【0049】
以上のように、関心領域入力部107により入力された関心領域の設定値に基づいて、イメージセンサ101の蓄積及び読み出し処理を制御し、関心領域の撮像信号を読み出す。本撮影に先立つ予備撮影によって、コントラスト処理部106により関心領域のコントラスト検出を行い、関心領域のコントラストを最適化するためのパラメータを求める。その後、本撮影によって、コントラスト処理部106により関心領域のコントラスト強調処理を行い、コントラストが強調された撮像信号を出力する。この場合に、関心領域が複数あっても、予備撮影を1枚として、各関心領域のコントラストを最適化するためのパラメータを求めることが可能となる。これにより、処理時間の増大を防ぎつつ、関心領域で適切なコントラストとなる画像を得ることができる。
【0050】
なお、本実施形態では、本撮影において関心領域A〜関心領域Dの撮像信号を読み出すようにしたが、これに限られるものではない。例えば本撮影においては関心領域A〜関心領域Dの全て又は一部を含む広い領域の撮像信号を読み出し、その広い領域の中の各関心領域でコントラスト強調処理が施されるようにしてもよい。
【0051】
<第2の実施形態>
第1の実施形態では、ステップS190で全関心領域における輝度値の最大値に基づいて唯一のアンプゲインを算出した。
ここで、拡張値βによるコントラスト強調処理よりも、列アンプ回路Ampのアンプゲインによってゲインを適用した場合に、高画質な画像が得られることがある。
そこで、本実施形態では、関心領域が垂直方向に一定の距離以上離れている場合、アンプゲインを変更して撮像信号を読み出すことにより、コントラスト強調処理を適用する例を説明する。
なお、撮像装置の構成及び基本的な処理動作は第1の実施形態と同様であり、以下では、第1の実施形態との相違点を中心に説明する。
【0052】
図14は、第2の実施形態において撮像装置100が行う処理を示すフローチャートである。
ステップS110、S120は第1の実施形態と同様であり、関心領域の設定値と、蓄積時間の設定値とが入力され、次にステップS210に進む。
ステップS210で、センサ制御部102は、領域判定処理を行う。
図5に示す関心領域A〜関心領域Dでは、関心領域A及び関心領域Bの終了行から、関心領域C及び関心領域Dの開始行までに1300行ある。
図7に示すように、垂直方向に位置が異なる関心領域間のスキップ時間が所定の時間以上であれば、アンプゲインを変更する処理時間を確保することができる。この所定の時間とは、予め測定した値等に基づいて定められればよい。また、スキップ時間については、1行あたりのスキップ時間を予め測定しておき、関心領域間の行数を乗算した時間をスキップ時間として算出すればよい。スキップ時間が所定の時間以上であれば、アンプゲイン切替有効フラグを真とし、スキップ時間が所定の時間未満であれば、アンプゲイン切替有効フラグを偽とする。ステップS210の処理が完了すると、ステップS130を経てステップS220に進む。
【0053】
ステップS220は、第1の実施形態のステップS140に置き換えられたものであり、センサ制御部102は、ステップS130で設定された関心領域及び撮像設定に基づいて、イメージセンサ101の蓄積及び読み出し処理を行う。
図15に、ステップS220で実行される蓄積及び読み出し処理のタイミングチャートを示す。
図15は、第1の実施形態の
図7のタイミングチャートに、アンプゲインを変更する区間をHighとして表現したAmp Gain Changeが追加されたものである。前述のアンプゲイン切替有効フラグが真、すなわち関心領域間のスキップ時間が所定の時間以上であれば、センサ制御部102は、区間Read Area A/Bと区間Read Area C/Dとの間のスキップ区間においてアンプゲインを変更する。なお、本実施形態においては、センサ制御部102が、本発明でいうアンプゲイン可変手段として機能する。
ステップS150〜S190は第1の実施形態と同様であり、ここではその説明を省略する。
【0054】
以上のように、第2の実施形態では、関心領域のコントラストに基づいてアンプゲインを検出し、イメージセンサ101からの読み出し時に動的にアンプゲインを変更することで、より高画質な画像を得ることが可能となる。
【0055】
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
実施形態では、4つの関心領域A〜関心領域Dが設定される例を述べたが、関心領域の数、位置及び大きさについては限定されることなく、本発明を適用することができる。また、3000列2000行の撮像素子を例としたが、これに限定されるものではない。
【0056】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出しし実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。