以下、本発明の実施形態を図面に基づいて説明する。
<撮像装置の要部構成>
図1は、本発明の第1実施形態に係る撮像装置1の要部構成を示す図である。ここで、図1(a)〜(c)は、それぞれ撮像装置1の正面図、背面図および上面図に相当している。
撮像装置1は、デジタルカメラとして構成されており、撮影レンズ10を備えている。
撮像装置1は、その上面にモード切替スイッチ12とシャッターボタン13とが設けられている。
モード切替スイッチ12は、被写体を撮像してその静止画を記録する静止画撮影モード(RECモード)と、動画撮影を行う動画撮影モード(MOVEモード)と、メモリカード9(図2参照)に記録された画像を再生する再生モード(PLAYモード)とを切替えるためのスイッチである。
シャッターボタン13は、半押し状態(S1オン)と、さらに押し込まれた全押し状態(S2オン)とを検出可能な2段階スイッチになっている。上記の静止画撮影モードにおいてシャッターボタン13が半押しされると、ズーム・フォーカスモータドライバ47(図2参照)が駆動されて、合焦位置に撮影レンズ10を移動させる動作が行われる。一方、静止画撮影モードにおいてシャッターボタン13が全押しされると、本撮影動作、つまり記録用の撮影動作が行われる。
撮像装置1の背面には、撮影された画像などを表示するLCD(Liquid Crystal Display)モニタ42と、電子ビューファインダー(EVF)43と、コマ送り・ズームスイッチ15と、電源スイッチ5とが設けられている。
コマ送り・ズームスイッチ15は、4つのボタンで構成され、再生モードにおける記録画像のコマ送りや、撮影時のズーミングを指示するためのスイッチである。このコマ送り・ズームスイッチ15の操作により、ズーム・フォーカスモータドライバ47が駆動されて、撮影レンズ10に関する焦点距離を変更できる。また、撮像装置1が静止画撮影モードに設定されている状態で、コマ送り・ズームスイッチ15を適宜操作することで、1フレーム分の静止画を取得する撮影モード(「通常撮影モード」とも称する)と、複数の静止画を高速のフレームレートで取得する撮影モード(「連写モード」とも称する)とを切り替えることができる。
なお、通常撮影モードでは、シャッターボタン13が全押しされると、1フレーム分の静止画像を取得する撮影動作が行われるのに対して、連写モードでは、シャッターボタン13が全押しされている状態が保持される間、所定のフレームレートで本撮影を行い、複数の静止画像を取得する撮影動作が行われる。また、動画撮影モードでは、シャッターボタン13が全押しされると動画撮影が開始され、再度シャッターボタン13が全押しされると動画撮影が終了する。
電源スイッチ5は、上下方向に操作することで、撮像装置1が起動された状態(電源ON状態)と起動されていない状態(電源OFF状態)とを切り替えるものである。
<撮像装置の機能構成>
図2は、撮像装置1の機能ブロックを示す図である。
撮像装置1は、撮像センサ16と、撮像センサ16にデータ伝送可能に接続する信号処理部2と、信号処理部2に接続する画像処理部3と、画像処理部3に接続するカメラ制御部40とを備えている。
撮像センサ16は、複数種類の色成分であるR(赤)、G(緑)、B(青)の原色透過フィルターがピクセル単位に市松状に配列(ベイヤー配列)されたエリアセンサ(CCD撮像素子、単に「CCD」とも略する)として構成されており、全画素読み出しタイプである。この撮像センサ16の温度については、撮像装置1の筐体内の温度を測定する温度センサ49により間接的に検出が可能となっている。
撮像センサ16において露光によって電荷の蓄積が完了すると、光電変換された信号電荷は、遮光された撮像センサ16内の垂直・水平転送路へとシフトされ、ここからバッファを介し画像信号として出力される。つまり、撮像センサ16は、被写体に係る画像信号(画像)を取得する撮像手段として機能する。
信号処理部2は、CDS21とAGC22とA/D変換部23とを有しており、いわゆるアナログフロントエンドとして機能する。
撮像センサ16から出力されたアナログ画像信号は、CDS21でサンプリングされノイズが除去された後、AGC22により撮影感度に相当するアナログゲインが乗算されて感度補正が行われる。
A/D変換部23は、例えば14ビットの変換器として構成されており、AGC22で正規化されたアナログ信号をデジタル化する。デジタル変換された画像信号は、画像処理部3で所定の画像処理が施されて画像ファイルが生成される。
画像処理部3は、点欠陥補正部51とVライン傷検出部52とVライン傷補正部53とを備えている。また、画像処理部3は、デジタル処理部3pと画像圧縮部36とビデオエンコーダ38とメモリカードドライバ39とを備えている。
画像処理部3に入力された画像データについては、まず点欠陥補正部51において予め記憶されている点欠陥アドレスに基づき欠陥が存在する画素データが補正データに置換される。
Vライン傷検出部52は、撮像センサ16の垂直転送ライン(垂直CCD)の欠陥箇所に起因して画像上で生じるライン性の傷(「線状傷」とも言い、以下では「Vライン傷」と称する)の位置(アドレス)およびレベル(画素値)を検出する。検出されたVライン傷のレベル(傷レベル)は、傷情報メモリ54に記憶される。
点欠陥補正部51から出力される画像データのうち、記録/再生用の画像データについては、Vライン傷補正部53において、Vライン傷の補正が行われる。このVライン傷の補正には、通常傷補正モードと、高速傷補正モードとがある。通常傷補正モードは、記録/再生用の画像データを取得した直後にVライン傷検出部52で検出されたVライン傷のレベルに応じて補正を行うモードである。また、高速傷補正モードは、傷情報メモリ54に予め記憶されるVライン傷の情報(後述するVライン傷情報)に応じて算出されたVライン傷を補正するためのデータに基づいて補正を行うモードである。そして、Vライン傷が補正された画像データは、デジタル処理部3pに入力される。一方、傷レベルを検出するために撮像センサ16から読み出された電荷信号に基づく画像データについては、Vライン傷検出部52における傷レベルの検出に供される。
なお、工場出荷前等の所定のタイミングにおいては、Vライン傷検出部52によってVライン傷のアドレス(すなわち垂直CCDにおける欠陥のアドレス)および傷レベルが検出され、傷情報メモリ54に格納される。また、Vライン傷を発生させる欠陥の数および傷レベルには温度依存性があるため、この欠陥のアドレスおよび傷レベルと、撮像センサ16に係る複数段階の温度(ここでは、温度センサ49等により間接的に検出される撮像センサ16の複数段階の温度)との関係を示すVライン傷の情報(「Vライン傷情報」とも称する)を傷情報メモリ54に記憶しておく。
デジタル処理部3pは、画素補間部31とホワイトバランス制御部32とガンマ補正部33と輪郭強調部34と解像度変換部35とを有している。
デジタル処理部3pに入力される画像データは、撮像センサ16の読出しに同期し画像メモリ41に書込みまれる。以後は、この画像メモリ41に格納された画像データにアクセスし、デジタル処理部3pで各種の処理が行われる。
画像メモリ41内の画像データは、まずホワイトバランス制御部32によりRGB各画素が独立にゲイン補正され、RGBのホワイトバランス補正が行われる。このホワイトバランス補正では、撮影被写体から本来白色となる部分を輝度や彩度データ等から推測し、その部分のR、G、Bそれぞれの平均値とG/R比およびG/B比とを求め、これらの情報に基づいてRおよびBの補正ゲインを決定する。
ホワイトバランス補正された画像データは、画素補間部31でRGB各画素をそれぞれのフィルターパターンでマスキングした後、高帯域まで画素値を有するG画素については、注目画素に対する周辺12画素のコントラストパターンに基づき画素値の空間的な変化を推定し、周囲4画素のデータに基づき被写体のパターンに最適な画素値を算出して割り当てる。一方、R画素およびB画素に関しては、周囲の8画素の同色画素値に基づいて補間する。
画素補間された画像データは、ガンマ補正部33で各出力機器に合った非線形変換、具体的にはガンマ補正およびオフセット調整が行われ、画像メモリ41に格納される。
輪郭強調部34は、画像データに応じたハイパスフィルタ等によって輪郭を際立たせるエッジ強調処理を行う。
そして、画像メモリ41に格納された画像データは、解像度変換部35で設定された画素数に水平垂直の縮小または間引きが行われ、画像圧縮部36で圧縮処理を行った後、メモリカードドライバ39にセットされるメモリカード9に記録される。この画像記録時には、指定された解像度の撮影画像が記録される。
また、解像度変換部35では、画像表示時についても画素間引きを行って、LCDモニタ42やEVF43に表示するための低解像度画像を作成する。プレビュー時には、画像メモリ41から読出された640×240画素の低解像度画像がビデオエンコーダ38でNTSC/PALにエンコードされ、これをフィールド画像としてLCDモニタ42やEVF43で画像再生が行われる。
カメラ制御部40は、CPU、ROM、及びRAMを備え、撮像装置1の各部を統括的に制御する部位である。具体的には、上記のモード切替スイッチ12やシャッターボタン13やコマ送り・ズームスイッチ15や電源スイッチ5などを有するカメラ操作スイッチ50に対して撮影者が行う操作入力を処理する。
また、カメラ制御部40は、撮影者によるモード切替スイッチ12の操作により、被写体を撮像してその画像データを記録する静止画撮影モードや動画撮影モード、再生モードへの切替えを行う。また、撮影者による電源スイッチ5の操作に応答して、電源ON/OFF状態とする。
そして、撮像装置1では、本撮影前の撮影準備状態において被写体を動画的態様でLCDモニタ42に表示するプレビュー表示(ライブビュー表示)時には、絞り44の光学絞りがシャッター・絞りドライバ45によって開放固定となる。
また、シャッタースピード(SS)に相当する撮像センサ16の電荷蓄積時間(露光時間)に関しては、撮像センサ16で取得したライブビュー画像に基づき、カメラ制御部40が露出制御データを演算する。そして、算出された露出制御データに基づいて予め設定されたプログラム線図により、撮像センサ16の露光時間が適正となるようにタイミングジェネレータセンサドライバ46に対するフィードバック制御が行われる。
なお、本撮影時では、ライブビュー時に測光された光量データに基づいて予め設定されたプログラム線図によってシャッター・絞りドライバ45とタイミングジェネレータセンサドライバ46とで撮像センサ16への露光量が制御される。
以上の構成を有する撮像装置については、撮像センサ16で取得された画像データにおいてVライン傷の検出・補正を行えるが、これらについて以下で説明する。
図3は、撮像センサ16の構成を示す図である。
撮像センサ16においては、各フォトダイオード161で光電変換され蓄積された電荷が各垂直転送ライン毎に設けられた垂直CCD(以下では「VCCD」ともいう)162に読み出され、1水平期間の周期で最下段の水平CCD163に転送される。そして、水平CCD163に転送された電荷は、画素クロックに基づき読み出されることで水平画素方向の読み出しが行われる。なお、VCCD162や水平CCD163などといった電荷を転送するラインを総称して「電荷転送ライン」とも言う。
このような撮像センサ16の動作により、2次元的に配列されたフォトダイオード161で取得した2次元画像に対して水平ライン毎にスキャン読み出しが行われることとなる。
ここで、フォトダイオード161に欠陥がある場合には、この欠陥によって発生する電荷が信号電荷に加算されるため、撮影画像において点欠陥として再現されることとなる。この点欠陥については、点欠陥補正部51において、欠陥に起因して発生する電荷に相当する画素レベルが減算される補正が行われる。
一方、垂直転送ラインの一部に同様の欠陥箇所(傷)Fpが存在する場合には、欠陥箇所Fpに電荷が読み出されるフォトダイオードとX方向のアドレスが等しいフォトダイオードからの電荷は、欠陥箇所Fpが存在する垂直CCD16fを通って撮像センサ16から出力されることとなる。このため、欠陥箇所Fpに対して電荷転送方向Haの上流から転送される信号電荷群Faに電荷が加算されることとなり、図4に示すように撮影画像G1おいて明度の高いライン性の傷(Vライン傷)Gaとして再現される。
上述した点欠陥の場合には撮影画像に与える劣化要因は少ないものの、図4に示すようなVライン傷Gaの場合には画質に対する影響が非常に大きくなるため、その検出が重要となるが、以下では、この検出方法を説明する。
<Vライン傷の検出方法>
図5および図6は、Vライン傷の検出原理を説明するための図である。
Vライン傷Ga(図4)は、上述したように図3に示す垂直CCD162の欠陥箇所Fpを通って読み出される信号電荷群Faに起因して画像上で生じるライン性の明度傷として発生する。
そこで、シャッターにより遮光後、図5に示すように垂直CCD162の転送を一定期間(例えば200水平期間)停止することにより欠陥箇所Fpで発生する電荷量を増大させた後に、画像読み出しを行うこととする。これにより、垂直CCD162上の欠陥箇所Fpに信号電荷が読み出されるフォトダイオードDpの画素データを強調して撮像センサ16から出力できることとなる。
このように欠陥箇所Fpが強調され撮像センサ16から出力された画像G2では、図6に示すように、Vライン傷Gaのうち欠陥箇所Fpに電荷が読み出されるフォトダイオードDp(図5)の位置に対応したB画素Gpの画素レベルが垂直CCD162の転送停止期間に正比例して強調されることとなる。
以上のような画像G2が読み出された後に、画像G2から明度の高い輝点となる画素Gpのアドレスを検出することで、Vライン傷の下端に対応する欠陥箇所の位置(アドレス)を検知できることとなる。以下では、撮像装置1によるVライン傷の検出について具体的に説明する。
図7は、撮像装置1におけるVライン傷の検出動作を示すフローチャートである。
まず、シャッターに相当する絞り44を閉じた(ステップST1)後に、VCCD162において電荷の高速読み出しが設定される(ステップST2)。
ステップST3では、上述したように、VCCD162での転送を200水平転送期間停止する。これにより、VCCD162の欠陥箇所で電荷が増幅されることとなる。
ステップST4では、撮像センサ16から画素データを順次に読み出す。
ステップST5では、ステップST4で読み出された画素レベルが、予め定められた傷レベルリファレンス(閾値)Vrefより大きいかを判定する。ここで、傷レベルリファレンスVrefより大きい場合には、ステップST6に進み、傷レベルリファレンスVref以下の場合には、ステップST7に進む。
ステップST6では、傷レベルリファレンスVrefより大きい欠陥画素(傷)に関して画像上のアドレス(H,V)を、傷情報メモリ54に登録する。この際には、傷レベル(画素値)も登録する。
ステップST7では、撮像センサ16からの画像読み出しが完了したかを判定する。ここで、画像読み出しが完了した場合には、ステップST8に進み、未完の場合には、ステップST4に戻る。
ステップST8では、傷情報メモリ54に格納されている傷のアドレスを並び替える。この場合には、例えば傷レベルの大きい順に、つまり昇順に傷アドレスの順番が変更される。
ステップST9では、ステップST8で並び替えられた傷アドレスに基づき、傷レベルが上位40以内に入る傷アドレスと傷レベルとを、傷情報メモリ54に再登録する。この傷レベルについては、200水平転送期間停止して得られた画素データに関して1/200倍で正規化したレベルが登録されることとなる。
以上のような撮像装置1の動作により、Vライン傷の検出を適切に行えることとなるが、この検出動作は、例えば撮像装置1の工場出荷前に複数の温度条件下で行われ、工場出荷時には、傷情報メモリ54に必要な情報がデフォルトのデータとして格納されている状態にする。
なお、上記のステップST8の動作については、Vライン傷の傷レベルに基づき並べ替えるだけでなく、Vライン傷の範囲も考慮して並べ替えるようにしても良い。例えば、(傷レベル)×(Vライン傷の範囲)から得られる情報に基づき、並べ替えを行う。これにより、画像全体に与える各Vライン傷の影響を考慮した並べ替えが可能となる。
撮像センサ16のVライン傷は、温度依存性を有しているが、この特性について、以下で説明する。
図8は、撮像センサ16におけるVライン傷の温度依存性を説明するための図である。図8(a)〜(c)は、撮像センサ16近傍の温度が常温時(例えば摂氏20度)、摂氏30度および摂氏40度の高温時における撮像センサ16の状態の一例と、撮像センサ16から出力された画像Gtとを表している。
常温時の撮像センサ16においては、図8(a)に示すように傷として認識される垂直CCDの欠陥箇所は1箇所Fp1のみであり、撮像センサ16から出力される画像Gtで生じるVライン傷も1本Ga1だけとなる。
摂氏30度の高温時の撮像センサ16においては、常温時に比べて顕在化されるVライン傷の箇所が温度に依存して1つ増加する。すなわち、図8(b)に示すように傷として認識される垂直CCDの欠陥箇所は2箇所Fp1、Fp2となり、撮像センサ16から出力される画像GtにおけるVライン傷も2本Ga1、Ga2となる。
摂氏40度の高温時の撮像センサ16においては、摂氏30度の高温時に比べて顕在化されるVライン傷が温度に依存してさらに1つ増加する。すなわち、図8(c)に示すように傷として認識される垂直CCDの欠陥箇所は3箇所Fp1〜Fp3となり、撮像センサ16から出力される画像GtにおけるVライン傷が3本Ga1〜Ga3となる。
このように撮像センサ16においては、Vライン傷が温度依存性を有しているため、上述したVライン傷の検出を各温度ごとに検出する。
<Vライン傷の補正について>
Vライン傷の補正としては、(1)オフセットによる補正と、(2)画素補間による補正といった2種類の補正方法が提案されている。これら2種類の補正方法について以下で説明する。
(1)オフセットによる補正(オフセット補正):
図9は、オフセットによるVライン傷の補正を説明するための図である。
オフセットによるVライン傷の補正では、まず撮像センサ16から出力された画像G3においてVライン傷Gaに起因するオフセット成分Loを検出する。そして、このオフセット成分(Vライン傷のレベル)Loを画像G3におけるVライン傷Gaの画素レベルから減算することで、画像ノイズとしての傷が消去された補正画像G4を生成する。
このようなオフセットによる補正方法では、温度依存性が大きいVライン傷の特性を考慮すると、一般的には、撮影時にリアルタイムでオフセット量(補正量)を求めるのが好ましい。このオフセット量の検出については説明する。
撮像センサ16は、図10に示すように黒レベルを検出するためのオプチカル・ブラック部(以下「OB部」という)16ba、16bbを有している。ここで、各OB部から垂直CCD162に読み出された電荷は、下段のOB部16baの方が先に水平CCD163に転送され、上段のOB部16bbの方が後で転送されることとなる。以下では、垂直CCD162に2つの欠陥箇所Fp1、Fp2が存在するケースについてのオフセット量の検出を説明する。
図11に示すように撮像センサ16から出力された画像G5においては、上段のOB部16bbから読み出され垂直CCD162の欠陥箇所Fp1を通過してその影響を受けた画素Gb2は、下段のOB部16baから読み出され欠陥箇所Fp1を通過せずその影響を受けていない画素Gb1より上記のオフセット量だけ画素レベルが大きくなっている。同様に、上段のOB部16bbから読み出され垂直CCD162の欠陥箇所Fp2を通過した画素Gb4は、欠陥箇所Fp2を通過しない画素Gb3より上記のオフセット量だけ画素レベルが増加している。
したがって、図11に示すVライン傷Ga1の傷レベル(オフセット量)は、画素Gb2のレベルから画素Gb1のレベルを減算することにより得られ、Vライン傷Ga2のオフセット量は、画素Gb4のレベルから画素Gb3のレベルを減算することにより得られることとなる。
次に、撮像装置1の撮影時における上記のオフセット量(傷レベル)の検出動作について説明する。
図12は、撮像装置1の撮影時におけるVライン傷の傷レベルの検出動作を示すフローチャートである。
ステップST11では、レリーズして露光を行う。すなわち、撮影者によりシャッターボタン13が全押し(S2オン)されて、被写体を撮影する動作が行われる。
ステップST12では、撮像センサ16から画素データを順次に読み出す。
ステップST13では、ステップST12で撮像センサ16から読み出された画素データをキャプチャーする処理を行う。
ステップST14では、ステップST12で読み出された画素のアドレスが、傷情報メモリ54に登録されているVライン傷のアドレスに該当するかを判定する。ここで、登録アドレスに該当する場合には、ステップST15に進み、該当しない場合には、ステップST18に進む。
ステップST15では、ステップST12で読み出された画素が転送された垂直CCD162の両端にあるOB部16ba、16bb(図10)の黒レベルを検出し、これらの黒レベルの差分を求めて、傷レベルを検出する。
ステップST16では、ステップST15で検出された傷レベルが、傷レベルリファレンスVrefより大きいかを判定する。ここで、傷レベルリファレンスVrefより大きい場合には、ステップST17に進み、傷レベルリファレンスVref以下の場合には、ステップST18に進む。
ステップST17では、傷レベルリファレンスVrefより大きい欠陥画素(傷)に関して画像上のアドレス(H,V)を、傷情報メモリ54に登録する。この際には、傷レベルも登録する。
ステップST18およびステップST19では、図7に示すステップST7およびステップST8と同様の動作を行う。
ステップST20では、ステップST19で並び替えられた傷アドレスに基づき、傷レベルが上位20以内に入る傷アドレスと傷レベルとを、傷情報メモリ54に登録する。
以上のような撮像装置1の動作により、傷レベルの検出が可能となり、オフセットによるVライン傷の補正を適切に行えることとなる。
(2)画素補間による補正:
図13は、画素補間によるVライン傷の補正を説明するための図である。
画素補間によるVライン傷の補正では、Vライン傷の周辺に位置する画素ラインのデータに基づき置換データを作成し、この置換データでVライン傷の画素データを置換する処理を行う。
例えば、画像G6において、Vライン傷Gaの左右に配置される同色の画素ラインJ1、J2を検出し、これらの画素ラインJ1、J2に関する画素レベルの平均値でVライン傷Gaの画素データを置換する。これにより、傷が消去された補正画像G7が生成される。
このような画素補間による補正方法では、オフセットによるVライン傷の補正に比べて精度が低くなるものの、Vライン傷の箇所(アドレス)が既知である場合には、傷レベルの検出が不要となる。そして、画素補間による補正方法においては、Vライン傷の温度特性の考慮が基本的に不要である。
以上のように、(1)オフセットによる補正、或いは(2)画素補間による補正によってVライン傷を抑制することができる。
しかしながら、画素補間による補正では画質が劣化する傾向にあるため、高品質の画像を得るためにはオフセットによる補正を行うことが望まれる。したがって、本実施形態に係る撮像装置1では、オフセットによる補正を採用する。
オフセットによる補正を前提とすると、撮像センサ16におけるVライン傷の発生には温度依存性があるため、撮像センサ16の温度上昇の要因を考慮して、撮影時にVライン傷の位置(傷アドレス)を検出したり、補正すべき傷レベルを検出する必要性がある。
ところが、このような動作を実施すると、1フレームの画像に係る画像処理に長時間を要するため、単位時間あたりに取得することができる撮影画像数の低下、すなわち動画撮影や連写の性能低下を招く。また、当該性能低下を防ぐために、動画撮影や連写において、複数回の本撮影からなる一連の撮影動作が終了した後に一括して傷アドレスや傷レベルを検出する態様も考えられるが、一連の撮影動作中にVライン傷の数量や傷レベルが変化しないように動画撮影や連写の時間を所定の期間内に制限しなければならない。
このような問題点に対して、本実施形態に係る撮像装置1では、高速のフレームレートの連続撮影が要求されない静止画撮影モードに設定されている場合などには、通常傷補正モードにおけるVライン傷のオフセット補正が行われる。その一方で、高速のフレームレートの連続撮影が要求される動画撮影モードや連写モードに設定されている場合などには、傷情報メモリ54に予め記憶されたVライン傷情報に応じて算出された傷レベル(オフセット量)に基づいてVライン傷のオフセット補正が行われる(高速傷補正モード)。但し、撮像センサ16の温度が比較的低い場合には、通常傷補正モードにおけるVライン傷の補正が行われる。
以下、本実施形態に係る撮像装置1におけるVライン傷の補正について更に説明する。
図14は、傷情報メモリ54に予め記憶されたVライン傷情報を例示する図である。
図14に示すように、Vライン傷情報では、撮像センサ16によって得られる画像において発生するVライン傷の下端に対応するアドレスが、Vライン傷の位置を示す情報として記憶されている。そして、各Vライン傷の位置について、撮像センサ16の複数段階の温度(10、25、40、55、及び70℃)に対応するVライン傷のレベル(すなわちオフセット値)が記憶されている。
例えば、撮像センサ16の温度10℃に対しては、アドレス(300,560),(605,292),(753,326)の3箇所がVライン傷の位置として記憶され、各アドレスに10,12,8mVといったオフセット値が関連付けられて記憶されている。
このVライン傷情報は、上述したように、工場出荷前において、撮像装置1を複数段階の温度(例えば、10、25、40、55、及び70℃)に設定しつつ、図7で示した動作によってVライン傷のアドレスおよびレベルを検出することで得ることができる。
図15は、補正モードの切り替え動作フローを示すフローチャートである。本動作フローは、カメラ制御部40の制御によって実現され、シャッターボタン13の全押しに応答して撮影動作が開始される度に実行される。
ステップST31では、撮像装置1が静止画撮影モードに設定されているか否か判定する。ここでは、静止画撮影モードに設定されている場合にはステップST32に進み、設定されていない場合にはステップST36に進む。
ステップST32では、撮像装置1が連写モードに設定されているか否か判定する。ここでは、連写モードに設定されている場合にはステップST33に進み、設定されていない場合にはST34に進む。
ステップST33では、温度センサ49によって実測された撮像センサ16に係る現在の温度(実温度)が所定温度以上であるか否か判定する。ここでは、実温度が所定温度以上であればステップST36に進み、所定温度未満であればステップST34に進む。なお、ここで言う所定温度は、撮像装置1の設計等や工場出荷前の検査等によって決定することができ、当該所定温度を示すデータが、撮像装置1の工場出荷時にはカメラ制御部40のROM内に格納されているものとする。
ステップST34では、補正モードを通常傷補正モードに設定し、ステップST35に進む。
ステップST35では、本撮影を実行させる指示(撮影指示)が解除されたか否かを判定する。通常撮影モードに設定されている場合には、撮影動作は1回の本撮影によって構成されるため、撮影動作が開始されると同時に撮影指示が解除される。また、連写モードに設定されている場合には、シャッターボタン13が全押しされている状態が解除されると、撮影指示が解除される。そして、ここでは、撮影指示が解除されていない場合にはステップST33に進み、撮影指示が解除された場合には、本動作フローを終了する。
ステップST36では、補正モードを高速傷補正モードに設定し、本動作フローを終了する。つまり、動画モードに設定されている場合には、常に高速傷補正モードに設定される。また、連写モードに設定されている場合には、撮影動作中において、撮像センサ16に係る実温度が所定温度未満であるうちは、補正モードが通常傷補正モードに設定される一方、撮像センサ16に係る実温度が所定温度以上となると、補正モードが高速傷補正モードに設定される。
なお、ステップST34またはステップST36で設定された補正モードを示す情報は、カメラ制御部40のRAM内等に一時的に記憶される。
ここで、撮像装置1が高速傷補正モードに設定されている場合におけるVライン傷の補正動作について説明する。
図16は、高速傷補正モードにおけるVライン傷の補正動作フローを示すフローチャートである。本動作フローは、カメラ制御部40の制御によって実現され、ユーザーによるシャッターボタン13の押下操作によってS2オンとなると、ステップST41に進む。
ステップST41では、撮像センサ16の露光が行われる。
ステップST42では、撮像センサ16から画素データを順次に読み出す。
ステップST43では、温度センサ49によって撮像センサ16に係る実温度を検出する。
ステップST44では、ステップST42で読み出された画素のアドレスが、傷情報メモリ54のVライン傷情報に登録されているVライン傷のアドレスのうちの、ステップST43で検出された実温度に対応するアドレスに該当するか否かを判定する。ここでは、Vライン傷情報を参照することで、ステップST43で検出された実温度に対応するVライン傷のアドレスが認識される。そして、ステップST42で読み出された画素のアドレスが、認識されたアドレスに該当する場合には、ステップST45に進み、該当しない場合には、ステップST50に進む。
ステップST45では、ステップST43で検出された実温度が、傷情報メモリ54のVライン傷情報に段階的に登録されている温度と一致するか否か判定する。ここでは、Vライン傷情報に登録されている温度と実温度とが一致する場合にはステップST46に進み、全て一致しない場合にはステップST48に進む。なお、ここでは、「温度が一致する」と言っても、完全一致ではなく、例えば、±2℃〜3℃程度の幅を持つものとする。
ステップST46では、Vライン傷情報を参照することで、Vライン傷を補正するためのオフセット値(「傷補正用データ」とも称する)を認識する。具体的には、Vライン傷情報に登録されているオフセット値から、現在読出しの対象となっている画素のアドレスとステップST43で検出された実温度とに対応するオフセット値を認識する。例えば、現在読出しの対象となっている画素のアドレスが、(753,326)であり、かつ撮像センサ16に係る実温度が40℃の場合には、図14に示すVライン傷情報より、オフセット値=18mVが抽出される。
ステップST47では、Vライン傷補正部53において、ステップST42で読み出された画素データ(画素値)からステップST46で認識されたオフセット値(実際には、画素値に変換されたもの)を差し引くことで、Vライン傷のオフセット補正を行う。
ステップST48では、Vライン傷情報を用いた補間計算によってオフセット値を算出する。ここでは、Vライン傷情報を参照して、当該Vライン傷情報に登録される複数段階の温度のうちのステップST43で検出された実温度を挟む2つの温度と、当該2つの温度に係るオフセット値とを抽出する。そして、抽出された温度とオフセット値とを用いた内挿法による演算を行うことで、実温度に対応するオフセット値を算出し、認識する。例えば、現在読出しの対象となっている画素のアドレスが、(753,326)であり、かつ撮像センサ16に係る実温度が60℃の場合には、図14に示すVライン傷情報より、オフセット値=35(=30+(60−55)×(45−30)/(70−55))mVと算出される。
ステップST49では、Vライン傷補正部53において、ステップST42で読み出された画素データ(画素値)からステップST48で認識されたオフセット値(実際には、画素値に変換されたもの)を差し引くことで、Vライン傷のオフセット補正を行う。
ステップST50では、全ての画素の読出しが終了したか否か判定する。ここでは、読出しが終了していなければステップST42に戻り、終了していれば本動作フローを終了する。
一方、撮像装置1が、通常傷補正モードに設定されている場合には、撮影時に撮像センサ16から読み出される画像データが一旦キャプチャーされ、図12で示したようにVライン傷検出部52にてVライン傷の実際のレベル(実レベル)が検出されて、当該実レベルをオフセット値としたオフセット補正が行われる。
なお、連写モードにおいて通常傷補正モードが設定される場合には、複数回の時間的に連続する本撮影において撮像センサ16から読み出される複数フレーム分の画像データが一旦キャプチャーされる。そして、図12で示したようにVライン傷検出部52にてVライン傷の実レベルが検出されて、当該実レベルをオフセット値としたオフセット補正が一旦キャプチャーされた複数フレーム分の画像データ全てに対して行われる。
以上のように、本実施形態に係る撮像装置1では、撮像センサ16の電荷転送ラインにおける欠陥に起因して画像において発生するVライン傷の位置およびレベルと、当該撮像センサ16に係る温度との関係を示すVライン傷情報を傷情報メモリ54に予め記憶しておく。そして、撮影時に、Vライン傷情報を参照することで、撮像センサ16に係る実温度に対応するVライン傷の位置およびレベルに応じてVライン傷を補正する。このような構成とすることで、複数回の本撮影を連続して行う場合であっても、各本撮影の間にVライン傷のレベルを検出する必要性がなくなる。したがって、撮影中に温度環境が変化する動画撮影時などにおいても、フレームレートの低下などといった性能低下を招いたり、撮影を中断することなく、リアルタイムにVライン傷の補正を行うことができる。その結果、フレームレートが高い撮影を行う際に、撮影を阻害することなくVライン傷を的確に補正することができる。
また、Vライン傷の位置およびレベルと関係付けられてVライン傷情報に記憶された複数段階の温度と、撮像センサ16に係る実温度とが全く一致しない場合には、複数段階の温度のうちの実温度を挟む2つ(一般的には複数)の温度に係る傷レベルを用いた補間演算により、実温度に対応する傷レベルを認識する。このような構成により、例えば、事前に準備しておくVライン傷に係る情報量が少なくても済むため、事前にVライン傷に係る情報を検出しておくなどといった工場出荷前などの準備の手間を省くことができる。また、Vライン傷情報を格納する傷情報メモリ54の記憶容量が小さくても済む。
また、動画撮影や連写などといった各本撮影の間にVライン傷のレベルを検出することが困難な場合であっても、撮影に支障を与えることなく、Vライン傷を的確に補正することができる。
また、連写モードにおいて、撮像センサ16に係る実温度が所定温度未満の場合には、Vライン傷の実レベルに応じて撮影時に取得された画像におけるVライン傷を補正する。その一方で、撮像センサ16に係る実温度が所定温度以上の場合には、予め準備されたVライン傷情報を参照して認識されたVライン傷の位置およびレベルに応じて、撮影時に取得された画像におけるVライン傷を補正する。このような構成により、例えば、撮像センサ16が比較的低温の場合には、Vライン傷の数量およびレベルが変化しないため、複数回の本撮影の最後に図12に示す手法によってVライン傷のレベルを実際に検出してVライン傷の補正を行うようにすることで、Vライン傷をより精度良く補正することができる。その一方で、撮像センサ16が比較的高温となると、Vライン傷の数量およびレベルが変化するため、事前に準備していたVライン傷情報に基づいてVライン傷の補正を行うことで、撮影の制限を回避することができる。したがって、Vライン傷の補正の精度と操作性とのバランスの適正化を図ることができる。
<変形例>
以上、この発明の実施形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
◎例えば、上記の実施形態では、連写モードであっても、撮像センサ16に係る実温度が所定温度未満であれば、通常傷補正モードに設定されたが、これに限られず、連写モードに設定されている場合には常に高速傷補正モードに設定されるようにしても良い。このような構成としても、撮影を阻害することなくVライン傷を的確に補正することができる。
◎また、上記の実施形態では、連写モードに設定されている場合には、撮像センサ16に係る実温度が所定温度未満であれば、通常傷補正モードに設定され、撮像センサ16に係る実温度が所定温度以上であれば、高速傷補正モードに設定されたが、これに限られず、例えば、動画モードに設定されている場合であっても、同様に、撮像センサ16に係る実温度が所定温度未満であれば、通常傷補正モードに設定され、撮像センサ16に係る実温度が所定温度以上であれば、高速傷補正モードに設定されるようにしても良い。
◎また、上記の実施形態では、動画撮影モードや連写モードにおいて高速傷補正モードに設定されたが、これに限られず、例えば、ライブビュー表示時に高速傷補正モードを採用するようにしても良い。このような態様とすることで、フレームレートが高い動画的態様のライブビュー画像を取得する撮影時においても、撮影を阻害することなくVライン傷を的確に補正することができる。
◎また、上記の実施形態では、連写モードに設定されて撮像センサ16に係る実温度が所定温度未満の場合には、複数回の本撮影の最後に図12に示す手法によってVライン傷のレベルを実際に検出してVライン傷の補正を行うようにしたが、これに限られず、例えば、各本撮影毎に図12に示す手法によってVライン傷のレベルを実際に検出してVライン傷の補正を行うようにしても良い。このような構成としても、撮像センサ16の温度が比較的低温である場合には、Vライン傷の数も少なく、Vライン傷のレベルを検出する処理が比較的煩雑なものとはならないため、連写を妨げるものとはならない。よって、フレームレートが高い撮影を行う際に、撮影を阻害することなくVライン傷をより的確に補正することができる。
また、所定温度をVライン傷が発生する温度の下限に設定して、撮像センサ16に係る実温度が所定温度未満の場合には、Vライン傷の補正を行わないような構成としても良い。このような構成により、撮像センサ16の実温度が比較的低温の場合には、Vライン傷のレベルの検出や算出等といった処理を行うことなく、高品質の画像を得ることができる。すなわち、フレームレートが高い撮影を行う際に、高画質を保持しつつ、撮影が阻害されないようにすることができる。
◎上記の実施形態における撮影時の傷レベル(オフセット量)検出については、図12に示した傷レベルの検出の代わりに、例えば、本撮影の直前または直後において、工場出荷前に行う傷レベル検出(図7)に類似した方法により行っても良い。この検出方法について説明する。
図17は、本発明の変形例に係る傷レベルの検出動作を示すフローチャートである。
ステップSP1およびステップSP2では、図12に示すステップST11およびステップST13と同様の動作を行う。
ステップSP3では、キャプチャー処理が完了したかを判定する。ここで、キャプチャー処理が完了した場合には、ステップSP4に進み、完了していない場合には、ステップSP2の動作を繰り返す。
ステップSP4〜SP7では、図7に示すステップST1〜ST4と同様の動作を行う。
ステップSP8では、図12に示すステップST14と同様の動作を行う。
ステップSP9では、傷レベルの検出を行う。具体的には、200水平転送期間停止して得られた画素データに関して1/200倍で正規化したレベルを、傷レベルとして検出する。
ステップSP10〜SP14では、図12に示すステップST16〜ST20と同様の動作を行う。
◎また、上述した実施形態では、全画素読出しタイプのCCDを用いたが、これに限られず、例えば、複数フィールド読出しタイプのCCDであっても良い。なお、このときの欠陥情報は、転送ライン情報となるので、いずれのフィールドも同じ補正を行うようにすると良い。