(57)【要約】【課題】ノイズ除去処理に伴う補正回路を大規模となることなく、またノイズ除去処理において誤補正を防止するようにした撮像装置および撮像方法を提供する。【解決手段】被写体像を光電変換して画像データを生成する撮像素子と、撮像素子に被写体像を結像させる撮影光学系と、撮像素子に被写体像の結像を遮断する露光遮断制御部を具備し、撮影光学系によって被写体像が撮像素子上に結像した状態で露光開始から露光終了までの通常露光を制御し（Ｓ３〜Ｓ１１）、被写体像の結像が遮断された状態で、露光開始から露光終了までの遮光露光を制御し（Ｓ１３〜Ｓ１９）と、遮光露光を行った後に撮像素子によって生成された遮光画像データに基づいて、ノイズ抽出を行い（Ｓ２１）と、ノイズの抽出結果に基づいて、通常露光を行った後に撮像素子によって生成された通常露光画像データに対してノイズ補正を行う。【選択図】  図２
2017028568.tif 000002
【特許請求の範囲】
【請求項１】
撮像面に複数の画素を有し、被写体像を光電変換して画像データを生成する撮像素子と、
上記撮像素子に上記被写体像を結像させる撮影光学系と、
上記撮像素子に上記被写体像の結像を遮断する露光遮断制御部と、
上記撮影光学系によって上記被写体像が上記撮像素子上に結像した状態で露光開始から露光終了までの通常露光を制御し、また上記露光遮断制御部によって上記被写体像の結像が遮断された状態で、露光開始から露光終了までの遮光露光を制御する露光制御部と、
上記遮光露光を行った後に上記撮像素子によって生成された遮光画像データに基づいて、ノイズ抽出を行うノイズ抽出部と、
上記ノイズ抽出部によるノイズの抽出結果に基づいて、上記通常露光を行った後に上記撮像素子によって生成された通常露光画像データに対して、ノイズ補正を行うノイズ補正部と、
を具備したことを特徴とする撮像装置。
【請求項２】
上記ノイズ抽出部は、上記遮光画像データの画素と、該画素の周囲の画素の各値の中間値を算出し、この中間値と閾値の比較に基づいて、欠陥画素の位置を求めることを特徴とする請求項１に記載の撮像装置。
【請求項３】
上記ノイズ補正部は、上記欠陥画素の位置の画素値を周囲の画素の画素値を用いて、補間演算によって補正することを特徴とする請求項２に記載の撮像装置。
【請求項４】
上記撮像素子は、常時遮光されている複数の画素で構成されている画素領域であるオプティカルブラック画素領域をさらに有しており、
上記ノイズ抽出部は、上記オプティカルブラック画素領域における画素出力の代表値と、上記遮光画像データの画素をブロック毎に最大値と最小値の差分値を算出し、上記差分値と閾値の比較に基づいて、上記撮像素子の撮像面の中心領域からの距離に応じて、上記遮光画像データにおける画素出力の変化であるシェーディング成分、または、上記遮光画像データの画素出力と、上記オプティカルブラック画素領域における画素出力の代表値との差であるオプティカルブラック段差成分を求めることを特徴とする請求項１に記載の撮像装置。
【請求項５】
上記ノイズ補正部は、上記通常露光画像データの画素値から、上記シェーディング成分またはオプティカルブラック段差成分を減算することによって、ノイズ補正を行うことを特徴とする請求項４に記載の撮像装置。
【請求項６】
上記ノイズ補正部における補正量は、通常露光時または遮光露光時におけるＩＳＯ感度、露光時間、および温度の少なくとも１つの条件に応じて変更することを特徴とする請求項３又は５に記載の撮像装置。
【請求項７】
上記ノイズ補正部における補正量は、ＩＳＯ感度、露光時間、および温度の少なくとも１つの条件を、複数枚通常露光した際の各露光時に異ならせることを特徴とする請求項３又は５に記載の撮像装置。
【請求項８】
上記露光制御部は、上記遮光露光を行う際の露光時間は、上記通常露光を行う際の露光時間に依存しないことを特徴とする請求項１に記載の撮像装置。
【請求項９】
上記露光制御部は、上記遮光露光の際の撮影条件を、通常露光撮影時の撮影条件、または外部操作によって設定された撮影条件、または複数枚露光時の撮影枚数に応じて、決めることを特徴とする請求項１に記載の撮像装置。
【請求項１０】
さらに、ノイズ抽出部によるノイズ抽出結果に基づいて、追加の遮光撮影を行うか否かを判断する追加遮光撮影判断部を有し、
上記追加遮光撮影判断部の判断の結果、追加の遮光撮影を行った場合には、該追加の遮光撮影によって取得した遮光画像データに対してノイズ抽出を行い、上記ノイズ補正を行うことを特徴とする請求項１に記載の撮像装置。
【請求項１１】
被写体像を光電変換して画像データを生成する撮像素子と、上記撮像素子に上記被写体像を結像させる撮影光学系と、上記撮像素子に上記被写体像の結像を遮断する露光遮断制御部と、を有する撮像装置の撮像方法において、
上記撮影光学系によって上記被写体像が上記撮像素子上に結像した状態で露光開始から露光終了までの通常露光を制御し、また上記露光遮断制御部によって上記被写体像の結像が遮断された状態で、露光開始から露光終了までの遮光露光を制御し、
上記遮光露光を行った後に上記撮像素子によって生成された遮光画像データに基づいて、ノイズ抽出を行い、
上記ノイズの抽出結果に基づいて、上記通常露光を行った後に上記撮像素子によって生成された通常露光画像データに対して、ノイズ補正を行う、
ことを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像素子を用いて画像データを取得する撮像装置において、画像データにおけるノイズ補正処理を行う撮像装置および撮像方法に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置において、撮像素子に種々のノイズが発生するので、これらのノイズを低減させるノイズ補正処理が知られている。ノイズとしては、例えば、撮像素子の画素の欠陥等に起因する固定パターンノイズ（以下、「ＦＰＮ」と称す）や、撮像素子の暗電流ショットノイズ（ランダムノイズの一種）がある。これらのノイズが目立ってしまうような撮影条件（例えば、数秒以上の長時間露光）で撮影を行う場合には、ＦＰＮの除去方法として、以下の方法が提案されている。
【０００３】
（ケース１）：
一回の撮影において、まず、長秒時露光撮影で画像を取得し（この画像を「画像１」と称す）、取得後、遮光状態にして同じ長秒時間で撮影を行って画像を取得する（この遮光状態で取得した画像を「画像２」と称す）。そして、取得した２枚の画像を減算し、すなわち、「画像１」−「画像２」を演算することにより、画素欠陥補正のなされた画像を得る（特許文献１参照）。
【０００４】
（ケース２）：
ケース１では、一回の撮影において、遮光状態でも画像を取得していた。しかし、ケース２では、一回の撮影において、遮光状態での撮影を行わず、長秒時露光撮影のみで画像を取得し、この画像を用いて、ＦＰＮの補正を行う（特許文献２参照）。このケース２では、下記の補正ａと補正ｂの２つの補正処理によってＦＰＮ補正を行う。
【０００５】
（補正ａ）：ＦＰＮの影響が現われるような撮影条件の下で欠陥情報（欠陥画素のアドレスやレベル）を予め記録部に記録しておく。そして、撮影するたびに、記憶部から欠陥情報を読み出して、撮影画像に対して補正を行う。
（補正ｂ）：欠陥画素の画素出力に対して周囲画素との画素出力の比較や演算を行って補正を行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１１８９６３号公報
【特許文献２】特開２０１２−１００２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述のケース１の方法では、欠陥補正は行えるものの、２枚の画像を減算することによりランダムノイズを増加させてしまい、ＦＰＮ以外の原因によって画質劣化が起きてしまう。この増加したランダムノイズを補正するためにノイズリダクション処理を強めると、解像度が劣化してしまう。
【０００８】
また、ケース２の方法における補正ａでは、撮影条件（外部温度、ＩＳＯ感度、露光時間）が変わると、欠陥情報も異なるため、記憶部には、撮影条件ごとに欠陥情報を記録しておかなければならず、記憶部のメモリ容量が多大となってしまう。例えば、常温環境化で数秒露光すると、全画素に対して２％ぐらいが欠陥となる場合は、２０Ｍ相当の画素数を持つ撮像素子では１条件について４万個の欠陥登録が必要となる。この場合、メモリ登録数はＩＳＯ感度や温度、露光秒時などパラメータ数×４万個となり、記憶部の回路規模が膨大となる。
【０００９】
また、ケース２の方法における補正ｂでは、画像の中には主要被写体も入り込んでいるために欠陥検出精度が落ち、星などの小さい輝点を間違って補正してしまう事がある。
【００１０】
本発明は、このような事情を鑑みてなされたものであり、ノイズ除去処理に伴う、記憶部を含めた補正回路を大規模となることなく、またノイズ除去処理において誤補正を防止するようにした撮像装置および撮像方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため第１の発明に係る撮像装置は、撮像面に複数の画素を有し、被写体像を光電変換して画像データを生成する撮像素子と、上記撮像素子に上記被写体像を結像させる撮影光学系と、上記撮像素子に上記被写体像の結像を遮断する露光遮断制御部と、上記撮影光学系によって上記被写体像が上記撮像素子上に結像した状態で露光開始から露光終了までの通常露光を制御し、また上記露光遮断制御部によって上記被写体像の結像が遮断された状態で、露光開始から露光終了までの遮光露光を制御する露光制御部と、上記遮光露光を行った後に上記撮像素子によって生成された遮光画像データに基づいて、ノイズ抽出を行うノイズ抽出部と、上記ノイズ抽出部によるノイズの抽出結果に基づいて、上記通常露光を行った後に上記撮像素子によって生成された通常露光画像データに対して、ノイズ補正を行うノイズ補正部と、を具備する。
【００１２】
第２の発明に係る撮像装置は、上記第１の発明において、上記ノイズ抽出部は、上記遮光画像データの画素と、該画素の周囲の画素の各値の中間値を算出し、この中間値と閾値の比較に基づいて、欠陥画素の位置を求める。
第３の発明に係る撮像装置は、上記第２の発明において、上記ノイズ補正部は、上記欠陥画素の位置の画素値を周囲の画素の画素値を用いて、補間演算によって補正する。
【００１３】
第４の発明に係る撮像装置は、上記第１の発明において、上記撮像素子は、常時遮光されている複数の画素で構成されている画素領域であるオプティカルブラック画素領域をさらに有しており、上記ノイズ抽出部は、上記オプティカルブラック画素領域における画素出力の代表値と、上記遮光画像データの画素をブロック毎に最大値と最小値の差分値を算出し、上記差分値と閾値の比較に基づいて、上記撮像素子の撮像面の中心領域からの距離に応じて、上記遮光画像データにおける画素出力の変化であるシェーディング成分、または、上記遮光画像データの画素出力と、上記オプティカルブラック画素領域における画素出力の代表値との差であるオプティカルブラック段差成分を求める。
第５の発明に係る撮像装置は、上記第４の発明において、上記ノイズ補正部は、上記通常露光画像データの画素値から、上記シェーディング成分またはオプティカルブラック段差成分を減算することによって、ノイズ補正を行う。
【００１４】
第６の発明に係る撮像装置は、上記第３または第５の発明において、上記ノイズ補正部における補正量は、通常露光時または遮光露光時におけるＩＳＯ感度、露光時間、および温度の少なくとも１つの条件に応じて変更する。
第７の発明に係る撮像装置は、上記第３または第５の発明において、上記ノイズ補正部における補正量は、ＩＳＯ感度、露光時間、および温度の少なくとも１つの条件を、複数枚通常露光した際の各露光時に異ならせる。
【００１５】
第８の発明に係る撮像装置は、上記第１の発明において、上記露光制御部は、上記遮光露光を行う際の露光時間は、上記通常露光を行う際の露光時間に依存しない。
第９の発明に係る撮像装置は、上記第１の発明において、上記露光制御部は、上記遮光露光の際の撮影条件を、通常露光撮影時の撮影条件、または外部操作によって設定された撮影条件、または複数枚露光時の撮影枚数に応じて、決める。
【００１６】
第１０の発明に係る撮像装置は、上記第１の発明において、さらに、ノイズ抽出部によるノイズ抽出結果に基づいて、追加の遮光撮影を行うか否かを判断する追加遮光撮影判断部を有し、上記追加遮光撮影判断部の判断の結果、追加の遮光撮影を行った場合には、該追加の遮光撮影によって取得した遮光画像データに対してノイズ抽出を行い、上記ノイズ補正を行う。
【００１７】
第１１の発明に係る撮像方法は、被写体像を光電変換して画像データを生成する撮像素子と、上記撮像素子に上記被写体像を結像させる撮影光学系と、上記撮像素子に上記被写体像の結像を遮断する露光遮断制御部と、を有する撮像装置の撮像方法において、上記撮影光学系によって上記被写体像が上記撮像素子上に結像した状態で露光開始から露光終了までの通常露光を制御し、また上記露光遮断制御部によって上記被写体像の結像が遮断された状態で、露光開始から露光終了までの遮光露光を制御し、上記遮光露光を行った後に上記撮像素子によって生成された遮光画像データに基づいて、ノイズ抽出を行い、上記ノイズの抽出結果に基づいて、上記通常露光を行った後に上記撮像素子によって生成された通常露光画像データに対して、ノイズ補正を行う。
【発明の効果】
【００１８】
本発明によれば、ノイズ除去処理に伴う、記憶部を含めた補正回路を大規模となることなく、またノイズ除去処理において誤補正を防止するようにした撮像装置および撮像方法を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１実施形態に係る撮像装置の主として電気的構成を示すブロック図である。
【図２】本発明の第１実施形態に係る撮像装置のメイン動作を示すフローチャートである。
【図３】本発明の第１実施形態に係る撮像装置のノイズ検出処理の動作を示すフローチャートである。
【図４】本発明の第１実施形態に係る撮像装置のノイズ補正処理の動作を示すフローチャートである。
【図５】本発明の第１実施形態における撮像装置において、フィルタ処理を説明するための図である。
【図６】本発明の第１実施形態における撮像装置において、画像データの差分を求めることによりノイズ補正を行うことを説明する図である。
【図７】本発明の第１実施形態における撮像装置において、遮光フィルタ処理の際の画像ブロック平均処理を説明する図である。
【図８】本発明の第１実施形態における撮像装置において、欠陥画素の補正例を説明する図である。
【図９】本発明の第１実施形態における撮像装置において、ブロックオフセットの補正例を説明する図である。
【図１０】本発明の第２実施形態に係る撮像装置の主として電気的構成を示すブロック図である。
【図１１】本発明の第２実施形態に係る撮像装置のメイン動作を示すフローチャートである。
【図１２】本発明の第２実施形態に係る撮像装置の遮光撮影条件算出処理の動作を示すフローチャートである。
【図１３】本発明の第２実施形態に係る撮像装置において、暗時条件設定のメニュー画面の例を示す図である。
【図１４】本発明の第３実施形態に係る撮像装置のメイン動作を示すフローチャートである。
【図１５】本発明の第３実施形態に係る撮像装置のメイン動作を示すフローチャートである。
【図１６】本発明の第３実施形態に係る撮像装置の追加遮光撮影条件判断処理の動作を示すフローチャートである。
【図１７】本発明の第３実施形態に係る撮像装置において、ブロックオフセット補正係数算出を説明するグラフである。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施形態に係る撮像装置としてデジタルカメラに適用した例について説明する。この撮像装置は、撮像部を有し、この撮像部によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を本体の背面に配置した表示部にライブビュー表示する。撮影者はライブビュー表示を観察することにより、構図やシャッタタイミングを決定する。レリーズ操作時には、画像データが記録媒体に記録される。記録媒体に記録された画像データは、再生モードを選択すると、表示部に再生表示することができる。
【００２１】
また、この撮像装置は、バルブ撮影等の長秒時露光撮影の際には、所定時間間隔で露光を繰り返し行い、この露光によって取得した複数の撮影画像データを用いて、画像データに発生したノイズを低減するように補正処理を行う。
【００２２】
まず、図１ないし図９を用いて本発明の第１実施形態について説明する。本実施形態においては、通常露光撮影と所定の露光時間で遮光撮影を行い遮光画像からノイズ抽出（欠陥画素成分と通常画素の分離等）を行う。次に、通常露光や遮光の撮影条件とノイズ抽出した演算結果から通常露光撮影画像のノイズ補正を行う。
【００２３】
図１は、本実施形態に係る撮像装置１の主として電気的構成を示すブロック図である。撮像装置１は、撮像部２、内部メモリ３、画像処理部４、外部メモリ５、表示部６、入力部７、システム制御部８、バス９、温度検出部１０を有している。撮像部２は、撮影レンズ２ａ、絞り２ｂ、シャッタ２ｃ、撮像素子２ｄを有する。なお、撮像部２内の撮影光学系２ａおよび絞り２ｂを含むレンズ鏡筒は、撮像装置本体と一体に構成してもよく、また交換式レンズ鏡筒として構成してもよい。
【００２４】
撮影光学系２ａは、ズームレンズやフォーカスレンズ等の複数の光学レンズを含み、被写体の光学像を撮像素子２ｄの撮像面に結像させる。ズームレンズやフォーカスレンズを光軸方向に沿って移動させる駆動機構を有し、後述するシステム制御部８の出力に基づいてフォーカスレンズ位置を制御してピント調節を行う。撮影光学系２ａは、撮像素子に上記被写体像を結像させる撮影光学系として機能する。
【００２５】
絞り２ｂは、撮影光学系２ａの光路中に配置され、開閉自在に構成され、撮像素子７に入射する撮影光束の光量を調整するために、開口径が変化する。絞り２ｂの開口径はシステム制御部８によって制御される。すなわち、システム制御部８は、撮像素子２ｄからの画像データに基づいて被写体輝度を算出し、適正露光となるように絞り値を自動制御する。または、撮影者が手動設定した絞り値となるように制御する。
【００２６】
シャッタ２ｃは、撮影光学系２ａの光路中に配置され、撮像素子２ｄの撮像面を遮光状態または露光状態に切り替えるように構成されている。このシャッタ２ｃにより、撮像素子２ｄの露光時間が調整される。シャッタ２ｃの開口時間（露光時間、シャッタ速度）は、システム制御部８によって制御される。すなわち、システム制御部８は、撮像素子２ｄからの画像データに基づいて被写体輝度を算出し、適正露光となるように露光時間を自動制御する。または、撮影者が手動設定した露光時間となるように制御する。さらに、後述するように、遮光撮影の際には、シャッタ２ｃは遮光状態となるように制御される。シャッタ２ｃは、撮像素子に被写体像の結像を遮断する露光遮断制御部として機能する。
【００２７】
撮像素子２ｄは、撮影光学系２ａによって集光された被写体からの撮影光束が結像される撮像面を有している。撮像素子２ｄの撮像面には、複数の画素が二次元状に配置され、また入射面側にカラーフィルタが設けられている。撮像素子２ｄの各画素は、撮像面に結像された撮影光束に対応した光像（被写体像）を、その光量に応じたアナログ画像信号に変換する。このアナログ画像信号は、Ａ／Ｄ変換器（不図示）によってデジタル信号（アナログ画像に信号に対応したデジタル信号を、単に「画像データ」と称する）に変換され、バス９に出力される。撮像素子２ｄは、被写体像を光電変換して画像データを生成する撮像素子として機能する。
【００２８】
バス９は、各種データや制御信号等を送受信するためのバスラインである。このバスラインに、内部メモリ３、画像処理部４、外部メモリ５、表示部６、入力部７、システム制御部８、温度検出部１０が接続されている。
【００２９】
内部メモリ３は、フラッシュメモリ等の不揮発性メモリやＤＲＡＭ（Dynamic Random Access Memory）等の揮発性メモリによって構成される。内部メモリ３は、カメラ動作に必要な各種設定情報や、画像処理時に途中経過の画像を一時的に記憶する。
【００３０】
画像処理部４は、撮像素子２ｄから読み出された画像データに対して、所望の画像処理を施す。画像処理部４は、ノイズ算出処理部４ａ、ノイズ補正処理部４ｂ、画像現像処理部４ｃを有する。
【００３１】
ノイズ算出処理部４ａは、撮像素子２ｄから読み出された画像データまたは内部メモリ３に保存された遮光画像データを用いてノイズ量を算出する。ノイズ算出処理部４ａは、遮光露光を行った後に撮像素子によって生成された遮光画像データに基づいて、ノイズ抽出を行うノイズ抽出部として機能する。ノイズ補正処理部４ｂは、通常露光撮影した画像データに対し、前述算出したノイズ量を元に補正量を算出し、補正を行う。ノイズ補正部４ｂは、ノイズ抽出部によるノイズの抽出結果に基づいて、通常露光を行った後に撮像素子によって生成された通常露光画像データに対して、ノイズ補正を行うノイズ補正部として機能する。画像現像処理部４ｃは、ノイズ補正した画像データに露出補正やＷＢゲイン補正、輪郭強調、偽色補正等の様々な画像処理を施す現像処理を行う。
【００３２】
画像処理部４は、本実施形態においては、各部位に対応する画像処理演算を行う演算回路で構成する専用の画像処理プロセッサを一例として挙げている。しかし、この構成に限らずに、例えば画像処理演算を画像処理プログラムに基づいて、ＤＳＰ等の信号処理プロセッサに展開する構成であってもよい。
【００３３】
外部メモリ５は、ＳＤカード、ＣＦカード等、電気的に書き換え可能な不揮発性メモリであり、撮像装置１に対して挿脱自在である。この外部メモリ５は、画像現像処理部４ｃで現像処理された画像データを記録し、また外部メモリ５から記録済みの画像データの読み出しが可能である。
【００３４】
表示部６は、撮像装置１の背面に配置されたＬＣＤ、または撮像装置１内に内蔵され接眼部を介して観察可能なＥＶＦ（電子ビューファインダ）であり、画像現像処理部４ｃで現像された画像を表示する。
【００３５】
入力部７は、撮影者の操作に基づいて各種の動作モード設定やレリーズ等の撮影動作の指示を行う釦やタッチパネル等の操作部材を有し、これらの操作部材の操作状態を検出して、バス９を介してシステム制御部８へ出力する。また、レリーズ釦を操作すると、露光動作が開始される。
【００３６】
システム制御部８は、ＣＰＵ（Central Processing Unit）およびその周辺回路を含み、内部メモリ３に記憶されたプログラムに従って、撮像装置１内の各部を統括的に制御する。具体的な制御としては、撮影時に露光量を制御し、撮像タイミングを制御し、撮像制御部としての機能を有する。また、撮像素子２ｄからの画像データの出力等におけるＡ／Ｄ変換制御も行う。
【００３７】
さらに、システム制御部８は、画像データに基づいて撮影光学系２ａが合焦位置に到達するように撮影光学系２ａの駆動機構に対して合焦駆動制御を行う。また、絞り２ｂが所定の開口径となるように絞り駆動機構に対して絞り駆動制御を行う。また、シャッタ２ｃの露光時間や、遮光動作等の駆動制御を行う。システム制御部８は、撮影光学系によって被写体像が撮像素子上に結像した状態で、露光開始から露光終了までの通常露光を制御する。また、露光遮断制御部によって被写体像の結像が遮断された状態で、露光開始から露光終了までの遮光露光を制御する露光制御部として機能する。
【００３８】
温度検出部１０は、撮像素子２ｄの近傍に配置され、撮像素子２ｄの温度を検出し、検出結果をバス９を介して、システム制御部８に出力する。システム制御部８は、後述するように、温度検出部１０で検出された温度に応じて、画像処理部４で行うノイズ補正処理を制御する。
【００３９】
次に、撮像装置１の動作の概要について説明する。撮像装置１における撮影動作は以下の通りである。入力部７を介して撮影者から本撮影の指示を受けると、システム制御部８は撮像素子２ｄに対して露出開始、信号読み出しなどのタイミング制御を行う撮像制御動作を行う。また、絞り２ｂに対して、所定の入射光束となるよう絞り開口量の制御や、適正露光となるように、シャッタ２ｃにおける露光時間の算出を行う自動露出制御（ＡＥ制御）や、所定被写体に対してピントが合焦するように、撮影光学系２ａのフォーカスレンズを移動させるオートフォーカス制御（ＡＦ制御）を行う。
【００４０】
さらに、システム制御部８は、算出された露出時間となるように、シャッタ２ｃの開閉駆動を行う。シャッタ２ｃが開いている間、撮像素子２ｄには、光学像を光電変換した電気信号が生成される。露出時間の終了後に、撮像素子２ｄに対して画像信号の読み出し動作を行う。
【００４１】
撮像素子２ｄから読み出され、ＡＤ変換された画像データは、内部メモリ３に一時保存される。内部メモリ３から読み出した画像データは、画像処理部４で所望の画像処理が施された後、現像処理が行われ、外部メモリ５に記録される。また、画像処理部４で所定の画像処理が施された画像データは、表示部６で表示出力する際に必要な画像サイズにリサイズ処理された後に表示部６に表示される。
【００４２】
次に、図２ないし図４に示すフローチャートを用いて、本実施形態における動作について説明する。システム制御部８内のＣＰＵが内部メモリ３に記憶されたプログラムに従って実行することによって、このフローチャートによる動作が実現される。
【００４３】
図２に示すフローは、被写体撮影のために、撮影準備している段階を初期状態として説明する。初期状態においては、１枚撮影のみならず、ＨＤＲ（High Dynamic Range Imaging：ハイダイナミックレンジ合成）や超解像撮影など、複数枚の画像を合成する複数枚合成撮影の設定も可能である。複数枚合成撮影モードの設定は、入力部７のメニュー釦等によって行う。
【００４４】
図２に示すフローが開始すると、まず、露光準備を行う（Ｓ１）。撮影者が入力部７のレリーズ釦を操作すると、露光準備を行う。露光準備動作としては、システム制御部８は、ＡＦ制御とＡＥ制御を行う。ＡＦ制御としては、撮影光学系２ａを通して撮像素子２ｄの撮像面に入光する被写体像に基づいて生成されるライブビュー表示用の画像データに基づいてピント情報を取得し、このピント情報に基づいて、フォーカスレンズの位置を合焦位置に駆動制御する。
【００４５】
また、ＡＥ制御としては、上述のライブビュー表示用の画像データに基づいて被写体輝度情報を取得し、この取得した輝度情報に基づいて、絞り２ｂの絞り機構に設定する絞り値と、シャッタ２ｃに設定する露出時間を算出する。そして、算出された絞り値となるように開口絞り位置の駆動制御を行う。なお、シャッタ２ｃによる露出時間は、ＡＥ制御によって自動的に設定する他に、撮影者が入力部７を介して手動設定することも可能である。
【００４６】
露光準備におけるＡＥ制御およびＡＦ制御が終了すると、次に、露光撮影を開始する（Ｓ３）。ここでは、システム制御部８は、撮像素子２ｄに蓄積された電荷を一度リセットするように制御し、シャッタ２ｃを開口させる。シャッタ２ｃが開口すると、撮影光学系２ａに形成された被写体像が撮像素子２ｄの撮像面上に入射する。そして、撮像素子２ｄは、リセットを解除する制御を行い、入射された被写体の輝度に応じて光電変換される電荷の蓄積を開始する。
【００４７】
露光撮影を開始すると、次に、設定された撮影時間に達したか否かを判定する（Ｓ５）。ここでは、ステップＳ１において算出された露出時間が経過したか、または長秒時露光中に撮影者がレリーズ釦等を操作することによって露光終了が指示されたか否かを判定する。この判定の結果がＮｏの場合には、再度、ステップＳ５に戻り、この判定を繰り返す。
【００４８】
ステップＳ５における判定の結果、設定された撮影時間に達した場合には、露光撮影を終了する（Ｓ７）。ここでは、システム制御部８は、シャッタ２ｃに遮光させるように制御を行う。
【００４９】
露光撮影を終了すると、次に、露光画像データを取得する（Ｓ９）。ここでは、撮像素子２ｄから、今回の露光によって得られた露光画像データを取得する。この取得した露光画像データを内部メモリ３に格納する。この格納した画像データは、Bright_Image[n]とする。Bright_Image[n]は、露光して順次得られたｎ番目の露光画像データを意味し、ｎ＝１、２、・・・、であり、ｎの初期値は１である。
【００５０】
露光画像データを取得すると、次に、露光撮影終了か否かを判定する（Ｓ１１）。初期状態では、露光撮影モードが予め設定されており、この設定された露光撮影モードに従って撮影が終了か否かを判定する。例えば、複数枚の画像を取得しこの複数枚の画像を合成するＨＤＲや超解像等の多重露出モードの場合には、設定された撮影枚数に達するまでは（ステップＳ１１における判定結果がＮｏ）、ステップＳ３に戻り、露光撮影を繰り返す。
【００５１】
一方、ステップＳ１１における判定の結果、露光撮影が終了の場合には、ステップＳ１３以下において、遮光状態において画像データを取得し、この画像データを用いてノイズ補正処理を行った後、合成のための画像処理を行う。
【００５２】
まず、遮光準備を行う（Ｓ１３）。ここでは、システム制御部８は、シャッタ２ｃを遮光させるように制御する。また、遮光撮影に備えて、撮像素子２ｄの電荷を一度リセットするよう制御する。この遮光撮影における撮影時間としては、ステップＳ９で取得した画像データBright_Image[n]の各撮影条件（ＩＳＯ感度、露光時間）の中で露光時間が最も長い時間を遮光撮影条件とする。
【００５３】
遮光準備を行うと、次に、遮光撮影を開始する（Ｓ１５）。撮像素子２ｄのリセットが解除されると、遮光撮影が開始する。シャッタ２ｃが遮光状態であることから、撮像素子２ｄ上には被写体光は入射しておらず、この状態で、欠陥画素、ショットノイズ、暗電流等に起因して生成された電荷が蓄積される。
【００５４】
遮光撮影を開始すると、設定された撮影時間に達したか否かを判定する（Ｓ１７）。ここでは、ステップＳ１３において、設定された遮光撮影時の撮影時間が経過したか否かに基づいて判定する。この判定の結果、遮光撮影時の撮影時間が経過していない場合には、この撮影時間が達するのを待つ。
【００５５】
ステップＳ１７における判定の結果、設定された撮影時間に達すると、撮像素子より画像を読み出し、内部メモリに保存する（Ｓ１９）。ここでは、撮像素子２ｄから、今回の露出による遮光画像データを取得し、この取得した遮光画像データを内部メモリ３に格納する。この格納された画像データは、画像データDark_Image[1]とする。Dark_Image[1]は、遮光して得られた画像データを意味する。
【００５６】
遮光画像データを読出しして内部メモリに格納すると、次に、ノイズ検出処理を行う（Ｓ２１）。ここでは、ステップＳ１９において、内部メモリ３に格納した遮光画像データを読出し、ノイズ検出処理部４ａが遮光画像データを用いて、ノイズ検出処理を行う。ノイズ検出処理では、ノイズとして現われる欠陥画素の位置と、撮像面の領域に応じて、遮光時の画素出力の差が生じることによりシェーディングとして現われるブロックオフセットを検出する。このノイズ検出処理の詳しい動作については、図３を用いて後述する。
【００５７】
ノイズ検出処理を行うと、次に、ノイズ補正処理を行う（Ｓ３３）。ここでは、露光画像データBright_Image[n]を内部メモリ３から読み出し、ノイズ補正処理部４ｂが、ノイズ検出処理の結果を用いて、ノイズの補正処理を行う。この補正処理を行った画像データを画像データRaw_Image[n]とする。このRaw_Image[n]は、露光して順次得られたｎ番目の露光画像データBright_Image[n]に対してノイズ補正処理を行った画像データを意味する。なお、ｎ＝１、２、３、・・・であり、初期値は１である。このノイズ補正処理の詳しい動作については、図４を用いて後述する。
【００５８】
ノイズ補正処理を行うと、画像現像処理を行う（Ｓ３５）。ここでは、画像現像処理部４ｃが、ステップＳ３３においてノイズ補正処理された画像データに対して現像処理を行う。また、ＨＤＲモードや超解像モードが設定されている場合には、複数枚の画像データを設定されているモードに従って画像合成を行う。
【００５９】
画像現像処理を行うと、次に、画像データを外部メモリに保存する（Ｓ３７）。ここでは、ステップＳ３５において処理された画像データを、外部メモリ５に記録する。続いて、画像データを表示する（Ｓ３９）。ここでは、外部メモリ５に記録する画像データに基づいて、所定時間の間、表示部６に表示する。ＨＤＲモードや超解像モードが設定されている場合には、これらのモードに従って合成された画像が表示される。ステップＳ３９において、画像データに基づいて表示を行うと、図２に示す撮影のためのフローを終了する。
【００６０】
このように、本実施形態における撮影のフローにおいては、複数枚の露光画像データを取得し（Ｓ３〜Ｓ１１）、所定の枚数の画像を取得すると、遮光撮影を行って遮光画像データを取得し（Ｓ１３〜Ｓ１９）、この遮光画像データを用いてノイズ補正を行うようにしている（Ｓ２１、Ｓ３３）。
【００６１】
次に、図３に示すフローチャートを用いて、ステップＳ２１におけるノイズ検出処理について説明する。
【００６２】
ノイズ検出処理のフローに入ると、まず、遮光画像フィルタ処理を行う（Ｓ４１）。ここでは、ステップＳ１９で内部メモリ３に格納した遮光画像データDark_Image[1]を読み出し、フィルタ処理を行う。フィルタ処理としては、例えば、図５に示すように、欠陥などの画素毎の出力を平滑化する。この例では、メディアン処理によって平滑化を行う。具体的には、図中の星印の位置にある画素値に対して、図中のＡ〜Ｄおよび星印の位置の画素出力レベルの高い順に並べ、星印の位置の画素出力レベルを、中間値（この例では、３番目に高い値）の画素出力レベルに置き換える。ここで、画素配列はベイヤパターンであり、画素Ａ〜Ｄは、星印の画素と同じカラーパターンのものである。星印を順次ずらしながら、全画素を中間値に置き換えていく。フィルタ処理を行った画像データを、Filter_Image[1]とする。
【００６３】
なお、図５に示す例では、メディアン処理を５画素で行っている。しかし、５画素に限らず、他の画素数でメディアン処理を行うようにしてもよい。また、平滑化処理としては、メディアン処理に限らず、他の平滑化処理でもよい。
【００６４】
ステップＳ４１において遮光画像フィルタ処理を行うと、次に、差分抽出処理を行う（Ｓ４３）。ここでは、ステップＳ１９において格納した遮光画像データDark_Image[1]と、ステップＳ４１で得られた遮光フィルタ処理画像データFilter_Image[1]について、差分処理、即ち、Dark_Image[1]−Filter_Image[1]を演算する。この差分処理によって算出された画像データを、画像データSub_Image[1]とする。
【００６５】
図６に、ステップＳ４３における差分処理を図示する。図６（ａ）は、ステップ１５、１７における遮光撮影において取得し、ステップＳ１９において内部メモリ３に格納された遮光画像データDark_Image[1]の画素出力を示す。撮像素子２ｄには、欠陥画素があり、図６に示す例では、Ｎ１〜Ｎ４が欠陥画素の画素出力である。
【００６６】
図６（ｂ）は、ステップＳ４１において遮光画像フィルタ処理が施された遮光フィルタ処理画像データFilter_Image[1]の画素出力を示す。フィルタ処理によって平滑化されたことにより図６（ａ）に示されるような欠陥画素の画素出力（Ｎ１〜Ｎ４）が消失している。
【００６７】
図６（ｃ）は、ステップＳ４３において差分出力処理が施された画像データSub_Image[1]の画素出力を示す。Dark_Image[1]−Filter_Image[1]を演算することにより、欠陥画素の画素出力（Ｎ１〜Ｎ４）のみが値を有し、欠陥画素でない画素の出力は０または０に近い値となる。
【００６８】
ステップＳ４３において差分抽出処理を行うと、次に、欠陥画素判定処理を行う（Ｓ４５）。ここでは、ステップＳ４３で得られた差分処理画像データSub_Image[1]の画素毎に設定されたスレッシュ以上か否かを判定する。このスレッシュは、ステップＳ９において画像データBright_Image[n]を取得する際の各撮影条件（ＩＳＯ感度Bright_ISO[n]、露光時間Bright_TV[n]、撮影温度Bright_Tem [n]）に基づいて決定する。スレッシュの値をTh_defect［n］と表す。スレッシュ値は、撮影条件ごとのスレッシュ値を示すテーブル表をあらかじめ内部メモリ３に保持しておいてもよく、また演算式によって求めるようにしてもよい。
【００６９】
演算式でスレッシュの値を決める場合には、例えば、通常撮影（明時画像）の露光時間を条件として、通常露光撮影（明時画像）の露光時間が１分以上である場合は、下記式（１）より求める。
Th_defect［n］=（Bright_ISO[n]／Bright_ISO_min）×（（Bright_Tem[n]−A Th_defect）／B Th_defect）×Bright_TV[n]×C Th_defect  ・・・（１）
【００７０】
ただし、Bright_Tem [n]はA Th_defect未満の場合、A Th_defectにクリップする。ATh_defect、B Th_defect、C Th_defectは係数であり、Bright_ISO_minはBright_ISO[n]の中の最小値である。例えば、これらの係数（A Th_defect、B Th_defect、C Th_defect）は、イメージセンサの回路構造に依存して決まる欠陥画素出力特性の温度変化（A Th_defect、B Th_defect）、および時間変化や一定（C Th_defect）の定数である。
【００７１】
また、通常露光撮影（明時画像）の露光時間が、１分未満である場合は、下記式（２）より求める。
Th_defect［n］=D Th_defect  ・・・（２）
ここで、D Th_defectは係数である。この係数（D Th_defect）は撮像素子への明露光時間が短い場合は、撮像素子の欠陥画素出力の特性変化（温度、時間）が少ないため、一定の定数（D Th_defect）としている。また、Th_defect［n］は、露光画像データBright_Image[n]に対する、欠陥判定スレッシュを意味し、ｎ＝１、２、・・・であり、初期値は１である。
【００７２】
ステップＳ４５において欠陥画素判定処理を行うと、次に、判定処理の結果、差分処理画像データSub_Image[1]の画素値がスレッシュ以上の場合には、その画素アドレスをdefect_add[x][y][n]として、内部メモリ３に保存する。ここで、defect_add[x][y][n]は露光画像データBright_Image[n]に対する、欠陥アドレスＸＹ座標データを意味し、ｎ、ｘ、ｙ＝１、２、・・・であり、初期値は１である。
【００７３】
ステップＳ４７において欠陥画素のアドレスを内部メモリに保存すると、次に、遮光フィルタ処理画像のブロック平均処理を行う（Ｓ４９）。ここでは、ステップＳ４１で算出したフィルタ処理画像データFilter_Image[1]について、ブロック毎の平均値Block_AVE[m]を求める。ブロック毎の平均値は、例えば、図７に示すように、撮像素子２ｄの画素を、有効画素ブロック１〜９および、撮像素子２内で、物理的に遮光されている画素であるオプティカルブラック画素（ＯＢ画素）が対応する画素領域であるＯＢブロックの計１０ブロックに分け、ブロック毎に画素値を加算し、画素数で除算することにより、ブロック毎の平均値Block_AVE[m]を算出する。Block_AVE[m]は、ブロック毎に順次得られたｍ番目の平均値データを意味し、ｍ＝１、２、・・・であり、初期値は１である。
【００７４】
図７に示す例では、ブロック平均処理の分割数は、ＯＢブロックを１、有効画素ブロックを９としているが、分割数や分割方法にこの例に限られない。また平均処理を行わず遮光フィルタ処理画像データFilter_Image[1]のままでも良い。
【００７５】
ステップＳ４９において、遮光フィルタ処理画像のブロック平均処理を行うと、次に、ブロックオフセット判定処理を行う（Ｓ５１）。ここでは、ステップＳ４９において算出した平均値Block_AVE[m]の最大値から最小値を減算し、この減算値が設定されたスレッシュ以上かどうか判定する。
【００７６】
ステップＳ５１において行う判定処理の際のスレッシュは、ステップＳ９（図２参照）で取得した露光画像データBright_Image[n]の各撮影条件（ISO感度Bright_ISO[n]、露光時間Bright_TV[n]、撮影温度Bright_Tem[n]）に基づいて値を決定する。このスレッシュの値は、撮影条件毎にテーブル表をあらかじめ内部メモリ３に保持しておいてもよく、また演算式によって求めてもよい。
【００７７】
演算式でスレッシュの値を決める場合には、例えば、通常撮影（明時画像）の露光時間を条件として、通常露光撮影（明時画像）の露光時間が１分以上の場合は、下記式（３）より求める。
Th_block［n］=（Bright_ISO[n]／Bright_ISO_min）×（（Bright_Tem [n]−A Th_block［n］）／B Th_block［n］）×Bright_TV[n]×C Th_block［n］  ・・・（３）
【００７８】
ただし、Bright_Tem [n]はA Th_block［n］未満の場合には、A Th_block［n］にクリップする。A Th_block［n］、B Th_block［n］、C Th_block［n］は係数である。また、（Bright_ISO_minはBright_ISO[n]の中の最小値である。例えば、これらの係数（A Th_block［n］、B Th_block［n］、C Th_block［n］）は、撮像素子の回路構造に依存して決まるシェーディング出力特性の温度変化（A Th_block［n］、B Th_block［n］）、および時間変化や一定（C Th_block［n］）の定数である。
【００７９】
また、通常露光撮影（明時画像）の露光時間が露光時間１分未満の場合は、下記式（４）より求める。
Th_block［n］=  DTh_block［n］  ・・・（４）
ここで、DTh_block［n］は係数である。例えば、この係数（Ｄ）は、撮像素子への明露光時間が短い場合には、撮像素子のシェーディング出力の特性変化（温度、時間）が少ないため、一定の定数（D Th_block［n］）としている。Th_block[n］は、露光画像データBright_Image[n]に対する、ブロックオフセット判定スレッシュを意味し、ｎ＝１、２、・・・であり、初期値は１である。
【００８０】
ステップＳ５１においてブロックオフセット判定処理を行うと、次に、各ブロックの判定処理の結果を内部メモリに保存する（Ｓ５３）。ここでは、判定処理の結果、平均値Block_AVE[m]の最大値から最小値を減算した減算値が設定されたスレッシュ以上の場合には、Block_AVE[m][n]を内部メモリ３に保存する。スレッシュ以下であれば０とする。Block_AVE[m][n]は、露光画像データBright_Image[n]に対する、ブロック毎に順次得られたｍ番目の平均値データを意味する。ｍ、ｎ＝１、２、・・・であり、初期値は１である。
【００８１】
ステップＳ５３において各ブロックの判定処理結果を内部メモリに保存すると、ノイズ検出処理のフローを終了し、元のフローに戻る。
【００８２】
次に、図４に示すフローチャートを用いて、ステップＳ３３におけるノイズ補正処理について説明する。
【００８３】
ノイズ補正処理のフローに入ると、まず、欠陥補正を行う（Ｓ６１）。ここでは、ステップＳ９で取得した露光画像データBright_Image[n]に対し、ステップＳ４７において保存した画素アドレスdefect_add[x][y][n]に位置する画素値に対して、欠陥補正を行う。欠陥補正した画像データをBright_Image_defect[n]とする。
【００８４】
欠陥補正について、図８に示す例を用いて説明する。図中、星印のある位置は、ステップＳ４７において、内部メモリに欠陥画素のアドレスである。この場合には、図中のＡ〜Ｄの４つの画素の画素値を加算し、画素数（ここでは４）で除算し（即ち、（Ａ＋Ｂ＋Ｃ＋Ｄ）÷４を演算）、この除算値を星印の位置の画素値に置き換える。なお、Ａ〜Ｄの位置が欠陥画素の位置として内部メモリに記録されている場合には、その欠陥画素の画素値を除外して加算平均値を演算する。例えば、Ａの位置に欠陥画素ある場合には、（Ｂ＋Ｃ＋Ｄ）÷３によって加算平均値を演算する。
【００８５】
図８に示した欠陥の補正処理の例では、欠陥画素の周囲の４画素の平均値を算出することによって行っているが、平均値算出のための画素数やまた方法は、この例に限定されない。また、平均ではなく周囲から似ている画素（またはブロック）を検出し、補間しても良い。なお、図８に示す例では、画素配列はベイヤパターンであり、画素Ａ、Ｂ、Ｃ、Ｄは、星印の画素と同じカラーパターンを持っている。
【００８６】
欠陥補正を行うことにより、撮像素子毎に異なる欠陥画素によるノイズを補正することができる。
【００８７】
ステップＳ６１において欠陥補正を行うと、次に、ブロックオフセット補正を行う（Ｓ６３）。ステップＳ６１において欠陥補正した画像データBright_Image_defect[n]に対して、ステップＳ５３で保存したBlock_AVE[m][n]を用いて、ブロックオフセット補正を行う。ブロックオフセット補正した画像データを画像データRaw_Image[n]とする。Raw_Image[n]は、露光して順次得られたｎ番目の露光画像データBright_Image[n]に対して、ノイズ補正処理を行った画像データを意味し、ｎ＝１、２、・・・であり、初期値は１である。
【００８８】
図９を用いて、ブロックオフセット補正について説明する。図９（ａ）は、ステップＳ６１において欠陥補正した画像データBright_Image_defect[n]であり、各アドレス位置に対応した画素値の集合である。図９（ｂ）は、ステップＳ５３で保存したBlock_AVE[m][n]のブロック毎に、係数α［ｎ］Ｂｌｏｃｋ＿ＡＶＥを乗算し、更に係数β［ｎ］Ｂｌｏｃｋ＿ＡＶＥを加算した値の集合である。ここでは、ＯＢブロックと有効画素ブロック毎に値が決まる。これらの係数（α[n] Block_AVE、β[n] Block_AVE）は、撮像素子の回路構造に依存して決まるシェーディング出力特性の温度変化および時間変化によって決まる定数である。
【００８９】
ブロックオフセット補正は、図９（ａ）に示す欠陥補正した画像データBright_Image_defect[n]の画素毎に、図９（ｂ）に示すブロック毎に決まる値を減算することによって行う。この画素毎に行った減算値の集合が、図９（ｃ）に示すブロックオフセット補正した画像データを画像データRaw_Image[n]となる。
【００９０】
ブロックオフセット補正を行うことにより、撮像素子２ｄから出力される画像データに含まれるシェーディングの影響が除去された画像データを得ることができる。
【００９１】
このように、本実施形態においては、通常露光撮影（図２のＳ３〜Ｓ１１）と、所定の露光時間にて遮光撮影を行い（図２のＳ１３〜Ｓ１９）、所定の露光時間にて取得した遮光画像からノイズ抽出を行っている（図２のＳ２１）。
【００９２】
ここで、上述の所定の露光時間は、本実施形態においては、通常露光撮影の露光時間を第１露光時間、遮光撮影の露光時間を第２露光時間とした時に、第１露光時間と第２に露光時間を同じにしている。しかし、これに限らず、第２露光時間を第１露光時間に応じて異なるようにしてもよい。
【００９３】
また、上述のノイズ抽出は、
（１）欠陥画素を抽出するために画素毎の出力レベル又は周囲画素との差分を算出し（図３のＳ４３、図６参照）、
（２）メディアンや平均などのフィルタ処理を画素ブロック毎に行い、ブロック成分（画素ブロックごとのフィルタ後の値）やシェーディング成分（行や列ごとのフィルタ後の値）やＯＢ段差成分（有効画素ブロックのフィルタ後の値と、ＯＢブロックのフィルタ後の値の差）を算出する（図３のＳ４９、図７参照）、
ことによって行っている。
【００９４】
また、本実施形態においては、通常露光撮影した画像を、前述のノイズ抽出した演算結果を用いて、ノイズ補正を行っている（図２のＳ３３、図４参照）。
【００９５】
ノイズ補正は、
（３）欠陥画素の場合は周囲画素（ブロック）からの補間を行っており、具体的には、
補正量Ｘ  ＝  Σ周囲画素（ブロック）演算値  ／  周囲画素（ブロック）数  ・・・（５）
によって求め（図８参照）、
（４）ブロック成分やシェーディング成分、ＯＢ段差成分の加（減）算を行っており、具体的には、
補正量Ｘ  ＝  注目画素  −  上記成分値  ・・・（６）
により求めている（図９参照）。
【００９６】
また、本実施形態においては、通常露光や遮光の撮影条件や、ノイズ抽出結果に応じて補正量を変更している。
【００９７】
補正量の変更は、通常露光や遮光の撮影条件の場合には、ＩＳＯ感度、露光時間、温度に応じて補正係数（α、β）を変更することよって行う。この場合の補正量Ｙは、下記式（７）で表せる。
補正量Ｙ  =  αＸ  +  β  ・・・（７）
なお、ここで、Ｘは、変更前となる補正量である。
【００９８】
また、多重露出（ＨＤＲや超解像）などの複数枚通常露光して画像合成する場合には、それぞれの撮影時のＩＳＯ感度、露光時間、温度に応じて、それぞれの補正係数（α１、β１、α２、β２、・・・αｎ、βｎ）を変更する。この場合の補正量Ｙ１、Ｙ２・・・Ｙｎは、下記式（８）（９）（１０）で表せる。
補正量Ｙ１  =  α１Ｘ  +  β１  ・・・（８）
補正量Ｙ２  =  α２Ｘ  +  β２  ・・・（９）
・・・
補正量Ｙｎ  =  αｎＸ  +  βｎ  ・・・（１０）
なお、Ｘは、変更前となる補正量であり、ｎは複数通常露光した場合の何枚目の撮影かを指す。
【００９９】
ノイズ抽出の結果に応じて補正量を変更するにあたって、欠陥画素、ブロック成分、シェーディング成分、ＯＢ段差成分がそれぞれの閾値に応じて補正係数（α、β）を変更している。
補正量Ｙ  =  αＸ  +  β  ・・・（１１）
なお、ここで、Ｘは変更前となる補正量である。
【０１００】
次に、図１０ないし図１３を用いて、本発明の第２実施形態について説明する。本実施形態においても、第１実施形態と同様に、通常露光撮影と遮光撮影を行い、遮光画像からノイズ抽出を行い、通常露光や遮光の撮影条件とノイズ抽出した演算結果から通常露光撮影画像のノイズ補正を行う。第１実施形態においては、遮光撮影の遮光撮影条件は、通常露光撮影の際の撮影条件と同じであったが、第２実施形態においては、遮光撮影を行う際に遮光撮影条件算出を行い、通常露光撮影とは異なる撮影条件で撮影する。
【０１０１】
本実施形態における構成は、図１に示したブロック図において、遮光撮影条件算出処理部１１を追加しており、その他の構成は同様であるので、相違点を中心に説明する。
【０１０２】
バス９に接続された遮光撮影条件算出処理部１１は、システム制御部８で算出された通常露光撮影条件（ＩＳＯ感度、露光時間）と、温度検出部１０が検出した温度と、撮影者が入力部７を介して設定した設定値または予め内部メモリ３に記憶させた設定値等に基づいて遮光撮影条件を算出し（図１１のＳ１２、図１２参照）、この遮光撮影条件をシステム制御部８に指示する。システム制御部８は、この遮光撮影条件に従って遮光撮影の制御を行う（図１１のＳ１５、Ｓ１７参照）。
【０１０３】
次に、図１１および図１２に示すフローチャートを用いて、本実施形態における動作について説明する。システム制御部８内のＣＰＵが内部メモリ３に記憶されたプログラムに従って実行することによって、このフローチャートによる動作が実現される。
【０１０４】
本実施形態における動作は、第１実施形態に係る図２に示すフローチャートと比較すると、ステップＳ１２の遮光撮影条件算出処理を追加し、ここで算出された遮光撮影条件に従って、ステップＳ１３〜Ｓ１７において遮光撮影の制御を行う点が相違する。その他のステップにおける処理は同様であることから、相違点を中心に説明する。
【０１０５】
本実施形態における初期状態は、第１実施形態の場合と同様であり、被写体に対して撮影準備している段階を開始状態の初期状態とする。ステップＳ１の処理も、第１実施形態と同様、撮影者がレリーズ操作をされて露光開始処理を始める。
【０１０６】
ステップＳ１〜Ｓ１１までの処理は、第１実施形態と同様である。ステップＳ１１における判定の結果、露光撮影が終了すると、遮光撮影条件算出処理を行う（Ｓ１２）。ここでは、ステップＳ９で取得した画像データBright_Image[n]の各撮影条件（ＩＳＯ感度Bright_ISO[n]、露光時間Bright_TV[n]、撮影温度Bright_Tem [n]）と、撮影者が入力部７を介して設定した設定値または予め内部メモリ3に記憶させた設定値に基づいて、遮光撮影条件（ＩＳＯ感度、露光時間）を求め、Dark_ISO、Dark_TVとする。
【０１０７】
ステップＳ１２において、遮光撮影条件を算出すると、この算出された遮光撮影条件（ＩＳＯ感度、露光時間）を用いて、ステップＳ１３〜Ｓ１７において遮光撮影を行う。遮光撮影が終了すると、ステップＳ１９〜Ｓ３９を実行して本フローを終了する。
【０１０８】
次に、図１２に示すフローチャートを用いて、ステップＳ１２における遮光撮影条件算出処理について説明する。
【０１０９】
遮光撮影条件算出処理のフローに入ると、まず、入力設定条件判別処理を行う（Ｓ７１）。ここでは、撮影者が入力部７を介して設定した設定値、または予め内部メモリ３に記憶させた設定値に基づいて暗時露光時間係数Dark_TV_coeを決める。遮光撮影撮影条件は、通常撮影時の露光時間や撮影時の温度に応じて遮光撮影時のＩＳＯ感度や露光時間等の撮影条件を求め、この求めた撮影条件に暗時露光時間係数Dark_TV_coeを乗算することにより算出する。
【０１１０】
図１３に、撮影者が入力部７を介して設定する際の暗時条件設定メニュー画面の例を示す。撮影者は、撮影開始前に、図１３に示すような暗時条件設定メニュー画面を呼び出し、長秒時ノイズ低減を行いたい場合には、「ＯＮ」をタッチ操作または入力釦操作等により選択し、さらに「１／２」をタッチ操作または入力釦操作等により選択すると、暗時露光時間係数Dark_TV_coeは、１／２（０．５）となる。この操作によって、撮影者が暗時露光時間を短縮等できる。
【０１１１】
ステップＳ７１において入力設定条件判別処理を行うと、次に、露光撮影条件判別処理を行う（Ｓ７３）。ここでは、ステップＳ９で取得した画像データBright_Image[n]の各撮影条件（ISO感度Bright_ISO[n]、露光時間Bright_TV[n]、撮影温度Bright_Tem[n]）とステップＳ７１で決められた暗時露光時間係数Dark_TV_coeに基づいて暗時ＩＳＯ感度係数Dark_ISO_coeを決める。
【０１１２】
Dark_ISO_coeはテーブル表を予め内部メモリ３に保持しておいてもよく、また撮影時に演算式によって求めるようにしてもよい。この演算式は、例えば、下記式（１２）を使用する。
Dark_ISO_coe  ＝  （1  ／  Dark_TV_coe）×（（Bright_Tem [n]  −  ADark_ISO_coe）／  BDark_ISO_coe）×  CDark_ISO_coe  ・・・（１２）
なお、Bright_Tem[n]はADark_ISO_coe未満時にはADark_ISO_coeにクリップする。
【０１１３】
また、上記式（１２）において、ADark_ISO_coe、BDark_ISO_coe、CDark_ISO_coe、は係数である。これらの係数（ADark_ISO_coe、BDark_ISO_coe、CDark_ISO_coe）は、例えば、撮像素子の回路構造に依存して決まる欠陥画素出力特性やシェーディング出力特性の温度変化（Ａ、Ｂ）、および一定（CDark_ISO_coe）の定数である。Bright_ISO[n]は、例えば、Bright_Image[n]の各撮影条件の中で最も露光時間が長い（短い）条件のＩＳＯ感度である。Bright_Tem[n]は、例えば、Bright_ISO[n]の撮影条件での撮影温度である。
【０１１４】
ステップＳ７３において露光撮影条件判別処理によって遮光撮影時のＩＳＯ感度係数を求めると、次に、遮光撮影条件算出を行う（Ｓ７５）。ここでは、ステップＳ９で取得した画像データBright_Image[n]の各撮影条件（ISO感度Bright_ISO[n]、露光時間Bright_TV[n]）の中からステップＳ７１で決められた暗時露光時間係数Dark_TV_coeと、ステップＳ７３で決められた暗時ＩＳＯ感度係数Dark_ISO_coeとから、遮光撮影条件（ＩＳＯ感度、露光時間）を求め、この遮光撮影条件をDark_ISO、Dark_TVとする。
【０１１５】
遮光撮影条件Dark_ISO、Dark_TVはテーブル表を予め内部メモリ３に保持しておいてもよく、また撮影時に演算式によって求めるようにしてもよい。演算式は、例えば、下記式（１３）（１４）を使用する。
Dark_ISO  ＝  Dark_ISO_coe  ×  Bright_ISO[n]  ・・・（１３）
Dark_TV  ＝  Dark_TV_coe  ×  Bright_TV[n]  ・・・・（１４）
Bright_ISO[n]は、Bright_Image[n]の各撮影条件の中で最も露光時間が長い（短い）条件のＩＳＯ感度である。また、Bright_TV[n]は、Bright_Image[n]の各撮影条件の中で最も露光時間が長い（短い）条件である。
【０１１６】
遮光撮影条件算出を行うと、遮光撮影条件算出のフローを終了し、元のフローに戻る。元のフローに戻ると、前述したように、このフローで算出された遮光撮影条件（ＩＳＯ感度、露光時間）を用いて、システム制御部８は遮光撮影の制御を行う。
【０１１７】
このように、本実施形態においても、通常露光撮影（図１１のＳ３〜Ｓ１１）と、所定の露光時間にて遮光撮影を行い（図１１のＳ１２〜Ｓ１９）、所定の露光時間にて遮光画像からノイズ抽出を行っている（図１１のＳ２１）。
【０１１８】
ここで、上述の所定の露光時間は、第１の実施形態においては、通常露光撮影の露光時間を第１露光時間、遮光撮影の露光時間を第２露光時間とした時に、第１露光時間と第２に露光時間を同じにしていた。これに対して、本実施形態においては、第２露光時間を第１露光時間に依存しないようにしている（図１２参照）。すなわち、本実施形態においては、遮光撮影の露光時間は通常露光撮影より短い時間としている。このため、遮光撮影まで含めた撮影時間を短縮することが可能となり、ノイズ除去処理に伴う撮影時間の増加を抑えることができる。
【０１１９】
また、本実施形態においては、遮光撮影の撮影条件設定（ＩＳＯ感度、露光時間）は、通常露光の撮影条件、または外部操作によって設定された条件に応じて決めている。すなわち、通常露光撮影の撮影条件（ＩＳＯ感度、露光時間、温度）に基づいて、遮光撮影の撮影条件設定（ＩＳＯ感度、露光時間）を決めている。また、外部操作（カメラ設定）によって遮光撮影の撮影条件設定（ＩＳＯ感度、露光時間）を決めている（図１２のＳ７１、図１３参照）。
【０１２０】
なお、遮光撮影の撮影条件設定（ＩＳＯ感度、露光時間）は、通常露光撮影の撮影条件や外部操作による設定以外にも、例えば、多重露出（ＨＤＲや超解像）などの複数枚通常露光した時は、撮影枚数と撮影枚数に応じたそれぞれの遮光撮影の撮影条件設定（ＩＳＯ感度、露光時間）を決めるようにしてもよい。
【０１２１】
次に、図１４ないし図１７を用いて、本発明の第３実施形態について説明する。本実施形態においても、通常露光撮影と遮光撮影を行い、遮光画像からノイズ抽出を行い、通常露光や遮光の撮影条件とノイズ抽出した演算結果から通常露光撮影画像のノイズ補正を行う。本実施形態においては、第１、第２実施形態における処理に加えて、遮光撮影を行った後に追加遮光撮影条件算出を行い、遮光撮影を追加で行うか判断する。
【０１２２】
本実施形態における構成は、図１０に示したブロック図において、追加遮光撮影判断処理部１２を追加しており、その他の構成は同様であるので、相違点を中心に説明する。
【０１２３】
バス９に接続された追加遮光撮影判断処理部１２は、ノイズ算出処理部４ａが算出した結果に基づいて、追加遮光撮影を行うか判断し、必要だった場合、再度前回とは異なる遮光撮影条件で遮光撮影するようシステム制御部８に指示する。追加遮光撮影判断処理部１２は、ノイズ抽出部によるノイズ抽出結果に基づいて、追加の遮光撮影を行うか否かを判断する追加遮光撮影判断部として機能する。
【０１２４】
すなわち、第１及び第２実施形態においては、露光撮影が終了すると（図２および図１１のＳ１１Ｙｅｓ）、遮光撮影を１回行い（図２のＳ１３〜Ｓ１９、図１１のＳ１２〜Ｓ１９）、その後で、ノイズ検出及びノイズ補正処理を行っていた（Ｓ２および図１１のＳ２１、Ｓ３３）。これらの実施形態においては、遮光撮影の遮光撮影条件では、適正にノイズ補正処理を行うことができない場合がある。そこで、本実施形態においては、追加遮光撮影判断処理部１２が、遮光撮影を行った後に、遮光撮影条件を変えて、再度、追加遮光撮影を行うか否かを判断するようにしている（図１５のＳ２３、図１６参照）。
【０１２５】
次に、図１５および図１６に示すフローチャートを用いて、本実施形態における動作について説明する。システム制御部８内のＣＰＵが内部メモリ３に記憶されたプログラムに従って実行することによって、このフローチャートによる動作が実現される。
【０１２６】
本実施形態における動作は、第２実施形態に係る図１１に示すフローチャートと比較すると、ステップＳ２３〜Ｓ２９を追加し、ステップＳ３３におけるノイズ補正処理をステップＳ３３ａにおけるノイズ補正処理に変更する点が相違する。その他のステップにおける処理は同様であることから、相違点を中心に説明する。
【０１２７】
本実施形態における初期状態は、第１、第２実施形態の場合と同様であり、被写体に対して撮影準備している段階を開始状態の初期状態とする。ステップＳ１の処理も、第１実施形態と同様、撮影者がレリーズ操作をされて露光開始処理を始める。
【０１２８】
ステップＳ１〜Ｓ２１までの処理は、第２実施形態と同様である。ステップＳ１１において露光撮影が終了されたと判定すると、ステップＳ１２〜Ｓ１９において、１回目の遮光撮影を行う。そして、ステップＳ２１のノイズ検出処理において、欠陥画素のアドレスを内部メモリに保存し（図３のＳ４１〜Ｓ４７参照）、シェーディングの影響を除去するためのブロックオフセット判定処理を行い、判定結果を内部メモリに保存する（図３のＳ４１〜Ｓ５３参照）。
【０１２９】
ステップＳ２１においてノイズ検出処理を行うと、次に、追加遮光撮影条件判断処理を行う（Ｓ２３）。ここでは、ステップＳ２１におけるノイズ検出処理結果を用いて、欠陥画素の個数や、ブロックオフセットの数を用いて、追加遮光撮影を行うか否かを判断し、使遮光撮影を行う場合には追加遮光撮影条件を算出する。
【０１３０】
この追加遮光撮影条件判断処理の詳しい動作については、図１６を用いて説明する。追加遮光撮影条件判断処理のフローに入ると、まず、欠陥個数判別処理を行う（Ｓ８１）。ここでは、ステップＳ２１で保存された欠陥アドレスdefect_add[x][y][n]の個数を用いてスレッシュ判断を行い、追加遮光撮影が必要な場合は追加暗時撮影フラグAdd_Black_flgを「１」とする。
【０１３１】
欠陥アドレスの個数とスレッシュ値を比較するスレッシュ判断としては、例えば、下記式（１５）が成立するかに応じた判断を行う。
欠陥個数＜（1／Dark_TV_coe）×（（Bright_Tem[n]−A欠陥個数）／B欠陥個数）×C欠陥個数    ・・・（１５）
この式（１５）が成立する時に、Add_Black_flg＝１とする。
【０１３２】
なお、式（１５）において、Bright_Tem[n]の値がＡ未満時にはＡにクリップする。また、A欠陥個数、B欠陥個数、C欠陥個数、は係数である。例えば、これらの係数（A欠陥個数，B欠陥個数，C欠陥個数）は、撮像素子の回路構造に依存して決まる欠陥画素出力特性（A欠陥個数，B欠陥個数）、および一定（C欠陥個数）の定数である。欠陥個数が少ない場合に追加暗時撮影フラグAdd_Black_flgを１としている。
【０１３３】
ステップＳ８１において、欠陥個数判別処理を行うと、次に、ブロックオフセット判別処理を行う（Ｓ８３）。ここでは、ステップＳ２１で保存されたブロックオフセット値Block_AVE[m][n]のレベルがスレッシュ以上、スレッシュ以下である場合に、追加暗時撮影フラグAdd_Black_flgを「１」とする。
【０１３４】
ここでは、スレッシュ判断とは、例えば、下記式（１６）が成立するかに応じた判断を行う。
Block_AVE[m][n]＜（1／Dark_TV_coe）×（（Bright_Tem[n]−A Block_AVE[m][n]１）／B Block_AVE[m][n]１）×C Block_AVE[m][n]１  ・・・（１６）
この式（１６）が成立する時に、Add_Black_flg＝１とする。
【０１３５】
なお、これらの係数（A Block_AVE[m][n]１，B Block_AVE[m][n]１，C Block_AVE[m][n]１）は、撮像素子の回路構造に依存して決まるシェーディング出力特性（A Block_AVE[m][n]１，B Block_AVE[m][n]１）であり、一定（C Block_AVE[m][n]１）の定数である。
【０１３６】
また、スレッシュ判断とは、例えば、下記式（１７）が成立するかに応じた判断を行う。
Block_AVE[m][n]＞（1／Dark_TV_coe）×（（Bright_Tem[n]−A Block_AVE[m][n]２）／B Block_AVE[m][n]２）×  C Block_AVE[m][n]２  ・・・（１７）
この式（１７）が成立する時に、Add_Black_flg＝１とする。
【０１３７】
なお、例えば、これらの係数（A Block_AVE[m][n]２，B Block_AVE[m][n]２，C Block_AVE[m][n]２）は、撮像素子の回路構造に依存して決まるシェーディング出力特性（A Block_AVE[m][n]２，B Block_AVE[m][n]２）であり、一定（C Block_AVE[m][n]２）の定数である。
【０１３８】
上述の式（１６）が成立する場合は、シェーディングが検出できていない場合で、追加暗時撮影が必要だと判断される。また、式（１７）が成立する場合はシェーディング特性が検出され、この特性が非線形の場合に、追加暗時撮影が必要だと判断される。式（１６）判断式や、式（１７）の判断式は画像データBright_Image[n]の各撮影条件（ＩＳＯ感度Bright_ISO[n]、露光時間Bright_TV[n]、撮影温度Bright_Tem[n]）や、撮像素子の回路構造に依存して決まるシェーディング出力特性に基づいて決める。
【０１３９】
ステップＳ８３において、ブロックオフセット判別処理を行うと、次に、追加遮光撮影条件算出処理を行う（Ｓ８５）。ここでは、ステップＳ８１またはＳ８３でAdd_Black_flg＝1だった場合、追加暗時撮影条件を算出する。図１２のＳ７５で決められた遮光撮影条件Dark_ISO、Dark_TVに基づいて追加遮光条件Dark_Add_ISO、Dark_Add _TVを決める。
【０１４０】
追加遮光条件Dark_Add_ISO、Dark_Add _TVはテーブル表をあらかじめ内部メモリ３に保持しておいてもよく、また演算式によって求めてもよい。演算式としては、例えば、下記（１８）（１９）によって算出してもよい。
Dark_Add_ISO＝αDark_Add_ISO×Dark_ISO+βDark_Add_ISO  ・・・（１８）
Dark_Add_TV＝αDark_Add_TV×Dark_TV+βDark_Add_TV  ・・・（１９）
なお、上述の式（１８）（１９）において、αDark_Add_ISO、βDark_Add_ISO、αDark_Add_TV、βDark_Add_TVは係数である。例えば、これらの係数（αDark_Add_ISO,βDark_Add_ISO, αDark_Add_TV, βDark_Add_TV）は、撮像素子の回路構造に依存して決まる欠陥画素出力特性やシェーディング出力特性による定数である。
【０１４１】
図１５に戻り、ステップＳ２３において、追加遮光撮影条件判断処理を行うと、次に、追加で遮光撮影を行わないか否かの判定を行う（Ｓ２４）。ステップＳ２３における追加遮光撮影条件判断処理において、追加遮光撮影が必要な場合には、Add_Black_flgに「１」がセットされるので（後述する図１６のＳ８１、Ｓ８３参照）、このフラグに基づいて判定する。
【０１４２】
ステップＳ２４における判定の結果、使いで遮光撮影を行う場合には、遮光準備を行う（Ｓ２５）。ここでは、ステップＳ１３における遮光準備と同様に、システム制御部８は、シャッタ２ｃを遮光させるように制御する。また、遮光撮影に備えて、撮像素子２ｄの電荷を一度リセットするよう制御する。追加遮光撮影における撮影条件は、ステップＳ２３の追加遮光撮影条件判断処理内において算出された追加遮光撮影条件（ＩＳＯ感度、露光時間）に従う（図１６のＳ８５参照）。
【０１４３】
遮光準備ができると、次に遮光撮影を開始する（Ｓ２６）。ここでは、ステップＳ１５と同様に、シャッタ２ｃで遮光した状態で、撮像素子２ｄのリセットを解除して、遮光撮影を開始させる。
【０１４４】
遮光撮影を開始すると、次に設定された撮影時間に達したか否かを判定する（Ｓ２７）。ここでは、ステップＳ２５において、設定された追加遮光撮影時の撮影時間が経過したか否かに基づいて判定する。この判定の結果、追加遮光撮影時の撮影時間が経過していない場合には、この撮影時間が達するのを待つ。
【０１４５】
ステップＳ２７における判定の結果、設定された撮影時間に達すると、撮像素子より画像を読み出し、内部メモリに保存する（Ｓ２８）。ここでは、撮像素子２ｄから、追加遮光撮影による遮光画像データを取得し、この取得した遮光画像データを内部メモリ３に格納する。この格納された画像データは、画像データDark_Image[2]とする。Dark_Image[2]は、追加遮光して得られた画像データを意味する。
【０１４６】
遮光画像データを読出し内部メモリに格納すると、次に、ノイズ検出処理を行う（Ｓ２９）。ここでは、ステップＳ２８において、内部メモリ３に格納した遮光画像データDark_Image[2]を読出し、ノイズ検出処理部４ａが遮光画像データを用いて、ノイズ検出処理を行う。ノイズ検出処理は、ステップＳ２１と同様に、ノイズとして現われる欠陥画素の位置と、シェーディングとして現われるブロックオフセットを検出する（図３参照）。
【０１４７】
ステップＳ２９においてノイズ検出処理を行うと、またはステップＳ２４における判定の結果、追加で遮光撮影を行わない場合には、次に、ノイズ補正処理を行う（Ｓ３３ａ）。追加遮光撮影を行わなかった場合には、ステップＳ１２〜Ｓ１９において行った遮光撮影の結果に基づいて行ったステップＳ２１におけるノイズ検出処理に基づいて、また追加遮光撮影を行った場合には、ステップＳ２９におけるノイズ検出処理に基づいて、ノイズ補正を行う。
【０１４８】
追加の遮光撮影を行ったか否かについては、前述のフラグAdd_Black_flgに基づいて判定する。Add_Black_flg＝０の場合は、追加遮光撮影を行わなかった場合であり、この場合には、前述のステップＳ３３におけるノイズ補正処理と同じであることから、詳しい説明は処略する。
【０１４９】
一方、Add_Black_flg＝１の場合は、追加遮光撮影を行った場合である。この場合には、ステップＳ２８で格納した追加遮光撮影時の画像データと、ステップＳ２９で行ったノイズ検出結果に基づいて、ステップＳ３３ａにおいてノイズ補正処理を行う。
【０１５０】
ステップＳ３３ａにおけるノイズ補正処理は、図４に示したノイズ補正処理の動作と略同じであるが、細部において異なっている。図４に示したノイズ補正処理に入ると、まず、欠陥補正を行う（図４のＳ６１）。ここでは、ステップＳ９において取得した画像データBright_Image[n]に対し、ステップＳ２８で保存したDark_Image[2]に基づいて、ステップＳ２９において検出し保存した欠陥画素アドレスdefect_add[x][y][n]に基づいて、欠陥補正を行う。欠陥補正した画像データをBright_Image_defect[n]とする。欠陥補正方法は第１実施形態と同様な処理のため説明を割愛する。
【０１５１】
ステップＳ６１において、欠陥補正を行うと、次にブロックオフセット補正を行う（図４のＳ６３）。ここでは、ステップＳ６１において欠陥補正した画像データをBright_Image_defect[n]に対しステップＳ２９で保存したBlock_AVE[m][n]を用いてブロックオフセット補正を行う。ブロックオフセット補正した画像データを画像データRaw_Image[n]とする。Raw_Image[n]は、露光して順次得られたｎ番目の露光画像データBright_Image[n]のノイズ補正処理を行った画像データを意味する。ｎ＝１、２、・・・であり、初期値は１である。ブロックオフセット補正方法は第１実施形態と同様な処理のため説明を割愛する。
【０１５２】
ブロックオフセット補正を行う（Ｓ６３）。第１、第２実施形態においては、ステップＳ６１において欠陥補正した画像データBright_Image_defect[n]に対して、ステップＳ５３で保存したBlock_AVE[m][n]を用いて、ブロックオフセット補正を行っていた。本実施形態においては、ブロックオフセット補正において使用するBlock_AVE[m][n]の係数（α[n] Block_AVE、β[n] Block_AVE）を、ステップＳ２９において得られたBlock_AVE[m][n]や、露光撮影時の画像データBright_Image[n]の各撮影条件（ＩＳＯ感度Bright_ISO[n]、露光時間Bright_TV[n]、撮影温度Bright_Tem[n]）や、１回目の遮光撮影時の画像データDark_Image[1]の各撮影条件（ＩＳＯ感度Dark_ISO、露光時間Dark_TV、撮影温度Dark_Tem）、追加遮光撮影時の画像データDark_Image[2]の各撮影条件（ＩＳＯ感度Dark_Add_ISO、露光時間Dark_Add_TV、撮影温度Dark_Add_Tem）により算出する。また、ブロックオフセット補正において使用するBlock_AVE[m][n]の係数（α[n]Block_AVE、β[n]Block_AVE）は、撮像素子の回路構造に依存して決まるシェーディング出力特性により算出して、Ｓ６３の処理におけるブロックオフセット補正の処理に利用してもよい。
【０１５３】
図１７に、ブロックオフセット補正係数算出のイメージ図を示す。図１７において、横軸は、遮光撮影を行う際の撮影条件を示し、露光時間、ＩＳＯ感度、撮影温度を総合的に示したものである。具体的には、撮影条件として、遮光時における、撮像素子２ｄの撮像面に対する露出量（露光時間（電荷蓄積時間）とＩＳＯ感度の積）に対して、撮像素子２ｄの温度特定に関係する温度係数を重み付けした値を示している。例えば、横軸は座標右側の撮影条件になると、露光時間が長い、ＩＳＯ感度が高い、または撮影温度が高い条件になる関係である。
【０１５４】
また、縦軸は、ブロック毎の平均値（Block_AVE[m][n]）を示している。図１７から分かるように、まず、１回目の遮光撮影時に得られたDark_Image[1]と（Dark_Image[1]を取得時の撮影条件）、２回目の追加遮光撮影時の画像データDark_Image[2]（Dark_Image[2]を取得時の撮影条件）とから、それぞれブロック毎の平均値（Dark_Image[1]のBlock_AVE[m][n]をBlock_AVE[m][n]-1とする。Dark_Image[2]のBlock_AVE[m][n]をBlock_AVE[m][n]-2とする。）を算出する。
【０１５５】
次に、この２つの値の変化より、露光時間と同じ露光条件とした場合の遮光撮影時の画像データにおけるブロック毎の平均値（Block_AVE[m][n]-3）を予測する。この予測は、具体的には、まず、１回目、２回目の遮光撮影時の画像データから算出したそれぞれブロック毎の平均値（Block_AVE[m][n]-1、Blok_AVE[m][n]-2）から線形変化した場合の係数α[n]Block_AVEを算出する。
【０１５６】
次に、シェーディング出力特性に応じた係数β[n]Block_AVEを決定する。最後に、Block_AVE[m][n]-2に係数α[n]Block_AVEを乗算し、係数β[n]Block_AVEを加算して、Block_AVE[m][n]-3を算出する。図９と同じように、Bright_Image_defect[n]からBlock_AVE[m][n]-3を減算することでブロックオフセットを補正した画像データ（Raw_Image[n]）を得ることができる。
【０１５７】
なお、前述のオフセット増加分（β[n]Block_AVE）の推定が必要な理由は、遮光撮影時の画像データにおけるブロック毎の平均値は、必ずしも、露光時間、ＩＳＯ感度、撮影温度に対して線形的な変化をするとは限らないためである。
【０１５８】
ステップＳ３３ａにおいて、ノイズ補正処理を行うと、ステップＳ３５〜Ｓ３９を実行する。ステップＳ３９において、画像データに基づいて表示を行うと、図１５に示す撮影のためのフローを終了する。
【０１５９】
このように、本実施形態においても、通常露光撮影（図１５のＳ３〜Ｓ１１）と、所定の露光時間にて遮光撮影を行い（図１５のＳ１２〜Ｓ１９）、所定の露光時間にて遮光画像からノイズ抽出を行っている（図１５のＳ２１）。
【０１６０】
また、本実施形態においても、第２実施形態と同様に、遮光撮影の撮影条件設定（ＩＳＯ感度、露光時間）は、通常露光の撮影条件、または外部操作によって設定された条件に応じて決めている（図１５のＳ１２）。すなわち、通常露光撮影の撮影条件（ＩＳＯ感度、露光時間、温度）に基づいて、遮光撮影の撮影条件設定（ＩＳＯ感度、露光時間）を決めている。
【０１６１】
また、本実施形態においては、遮光画像からノイズ抽出を行い抽出結果により、追加で遮光撮影を行うか判断するようにしている（図１５のＳ２３）。このため、露光撮影終了後の遮光撮影で取得した画像データによってノイズ検出及びノイズ補正が十分でない場合には、追加の遮光撮影を行い、精度よくノイズ補正を行った画像データを取得することができる。
【０１６２】
以上説明したように、本発明の各実施形態においては、撮影光学系によって被写体像が撮像素子上に結像した状態で露光開始から露光終了までの通常露光を制御し（例えば、図２のＳ３〜Ｓ１１）、また露光遮断制御部によって被写体像の結像が遮断された状態で、露光開始から露光終了までの遮光露光を制御し（例えば、図２のＳ１３〜Ｓ１９）、遮光露光を行った後に撮像素子によって生成された遮光画像データに基づいてノイズ抽出を行い（例えば、図２のＳ２１）、このノイズの抽出結果に基づいて、通常露光を行った後に撮像素子によって生成された通常露光画像データ（例えば、図２のＳ９参照）に対して、ノイズ補正を行う（例えば、図２のＳ３３）。
【０１６３】
このため、予め、撮影条件ごとに欠陥情報を記録しておく必要がなく、メモリ容量が大きくことなることがなく、ノイズ除去処理に伴う補正回路を大規模となることがない。また、検出された欠陥画素位置の画素値を補正するだけであるので、ランダムノイズの補正のために解像度が劣化することはなく、またノイズ除去処理において誤補正を行うことがない。
【０１６４】
なお、本発明の各実施形態においては、遮光画像データに基づいて欠陥画素位置の検出やオフセット補正を行っているが、これに限らず、遮光画像データ基づいてノイズを抽出し、この抽出したノイズに基づいてノイズ補正を行うものであれば、本発明の実施形態に限定されない。また、ノイズ補正も、本発明実施形態で説明したものに限定されず、他の補正方法であっても構わない。
【０１６５】
また、本発明の各実施形態においては、ノイズ算出処理部４ａ、ノイズ補正処理部４ｂは画像処理部４として、システム制御部８と別体の構成としたが、各部の全部または一部をソフトウエアで構成し、システム制御部８内のＣＰＵとプログラムによって実行するようにしても勿論かまわない。また、同様に、遮光撮影条件算出処理部１１、追加遮光撮影判断処理部１２についても、全部または一部をソフトウエアで構成し、システム制御部８内のＣＰＵとプログラムによって実行するようにしても勿論かまわない。
【０１６６】
また、本実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末（ＰＤＡ：Personal Digital Assist）、パーソナルコンピュータ（ＰＣ）、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラでも構わない。いずれにしても、撮像部を有し、この撮像部からの画像データを表示や記録する等の処理を行う撮像のための機器であれば、本発明を適用することができる。
【０１６７】
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
【０１６８】
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
【０１６９】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１７０】
１・・・撮像装置、２・・・撮像部、２ａ・・・撮影光学系、２ｂ・・・絞り、２ｃ・・・シャッタ、２ｄ・・・撮像素子、３・・・内部メモリ、４・・・画像処理部、４ａ・・・ノイズ算出処理部、４ｂ・・・ノイズ補正処理部、４ｃ・・・画像現像処理部、５・・・外部メモリ、６・・・表示部、７・・・入力部、８・・・システム制御部、９・・・バス、１０・・・温度検出部、１１・・・遮光撮影条件算出処理部、１２・・・追加遮光撮影判断処理部
【図１】
2017028568.tif 000003
【図２】
2017028568.tif 000004
【図３】
2017028568.tif 000005
【図４】
2017028568.tif 000006
【図５】
2017028568.tif 000007
【図７】
2017028568.tif 000008
【図８】
2017028568.tif 000009
【図９】
2017028568.tif 000010
【図１０】
2017028568.tif 000011
【図１１】
2017028568.tif 000012
【図１２】
2017028568.tif 000013
【図１３】
2017028568.tif 000014
【図１４】
2017028568.tif 000015
【図１５】
2017028568.tif 000016
【図１６】
2017028568.tif 000017
【図１７】
2017028568.tif 000018
【図６】
2017028568.tif 000019