(57)【要約】【課題】振動によっても除去できないような光学系内のごく小さな異物による画質劣化をも補正できるようにする。【解決手段】撮像光学系により結像された被写体像を光電変換する撮像素子を備え、画像信号を生成する撮像部と、撮像光学系内の絞りを第１の絞り値に設定した状態で撮像部により得られる画像信号から、撮像部の撮像画面内における異物の位置及び大きさの情報である第１の異物情報を検出すると共に、撮像光学系内の絞りを第１の絞り値より絞った第２の絞り値に設定した状態で撮像部により得られる画像信号から、撮像部の撮像画面内における異物の位置及び大きさの情報である第２の異物情報を検出する異物検出部と、異物検出部により検出された第１の異物情報、又は第１及び第２の異物情報の双方を、撮像部による被写体の撮影によって得られた撮影画像データに関連付けて記録する記録部とを備える。【選択図】図９
2009152696.tif 000002
【特許請求の範囲】
【請求項１】
撮像光学系により結像された被写体像を光電変換する撮像素子を備え、画像信号を生成する撮像手段と、
前記撮像光学系内の絞りを第１の絞り値に設定した状態で前記撮像手段により得られる画像信号から、前記撮像手段の撮像画面内における異物の位置及び大きさの情報である第１の異物情報を検出すると共に、前記撮像光学系内の絞りを第１の絞り値より絞った第２の絞り値に設定した状態で前記撮像手段により得られる画像信号から、前記撮像手段の撮像画面内における異物の位置及び大きさの情報である第２の異物情報を検出する異物検出手段と、
前記異物検出手段により検出された第１の異物情報、又は第１及び第２の異物情報の双方を、前記撮像手段による前記被写体の撮影によって得られた撮影画像データに関連付けて記録する記録手段と、
を備えることを特徴とする撮像装置。
【請求項２】
前記記録手段は、前記撮影画像データが、前記撮像光学系内の絞りが前記第１の絞り値又は該第１の絞り値よりも開いた状態で撮影された画像データである場合には、前記第１の異物情報を前記撮影画像データに関連付けて記録し、前記撮影画像データが、前記撮像光学系内の絞りが前記第１の絞り値よりも閉じた状態で撮影された画像データである場合には、前記第１及び第２の異物情報を前記撮影画像データに関連付けて記録することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記記録手段に記録されている前記第１の異物情報、又は前記第１及び第２の異物情報の双方に基づいて、前記撮影画像データに写り込んだ前記異物の影を補正する画像処理手段をさらに備えることを特徴とする請求項１に記載の撮像装置。
【請求項４】
撮像光学系により結像された被写体像を光電変換する撮像素子を備え、画像信号を生成する撮像手段を有する撮像装置を制御する方法であって、
前記撮像光学系内の絞りを第１の絞り値に設定した状態で前記撮像手段により得られる画像信号から、前記撮像手段の撮像画面内における異物の位置及び大きさの情報である第１の異物情報を検出すると共に、前記撮像光学系内の絞りを第１の絞り値より絞った第２の絞り値に設定した状態で前記撮像手段により得られる画像信号から、前記撮像手段の撮像画面内における異物の位置及び大きさの情報である第２の異物情報を検出する異物検出工程と、
前記異物検出工程において検出された第１の異物情報、又は第１及び第２の異物情報の双方を、前記撮像手段による前記被写体の撮影によって得られた撮影画像データに関連付けて記録する記録工程と、
を備えることを特徴とする撮像装置の制御方法。
【請求項５】
請求項４に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項６】
請求項１に記載の撮像装置の前記記録手段に記録されている前記撮影画像データと、該撮影画像データに関連付けて記録されている前記第１の異物情報、又は前記第１及び第２の異物情報の双方とを入力する入力手段と、
前記第１の異物情報、又は前記第１及び第２の異物情報の双方に基づいて、前記撮影画像データに写り込んだ前記異物の影を補正する画像処理手段と、
を備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＣＤやＣＭＯＳセンサ等の撮像素子を用いた撮像装置における、光学ローパスフィルター等の表面に付着した異物による画質劣化を抑制する技術に関する。
【背景技術】
【０００２】
従来より、デジタルカメラにおいては、光学系内（特に撮像素子の前方に配置されたローパスフィルタなどの光学素子の表面）にゴミ等の異物が付着すると、撮影された画像にそれらの異物の影が写り込み、画像の品質が低下するという問題がある。
【０００３】
この問題を解決するために、振動手段を用いて撮像素子に付着した異物を除去する技術が提案されている（特許文献１参照）。
【０００４】
さらに、次のような方法も提案されている。まず、白壁等の一様な被写体を撮影し、ほぼ光学系内の異物のみが写りこんだ画像を撮影する。そして、その画像から光学系内の異物の位置や大きさの情報であるゴミ補正データを作成し、それに基づき本撮影した画像の補正処理を行って、画像の品質を向上させる（特許文献２参照）。
【特許文献１】特開平０７−１５１９４６号公報
【特許文献２】特開２００４−２２２２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記の特許文献２のように白壁等の被写体を撮影して異物検出用の画像を得る場合、絞りを絞り込んだ方が光学系内のより小さな異物がはっきり写り込むため、なるべく絞り込んで撮影することが好ましい。しかしながら、一般ユーザがＦ３２といったような極めて小径の絞りを用いて異物検出用の画像を撮影すると、異物ばかりでなく壁のしみなどまでが写り込んでしまう場合があり、誤った補正データが生成される恐れがある。そのため、一般ユーザは、Ｆ２２程度の絞りを用いて異物検出用の画像の撮影を行うことが望ましい。
【０００６】
一方、上記の特許文献１のような撮像素子を振動させて異物を除去する方法では、例えばＦ２２までの絞り込みでは見えないが、Ｆ３２まで絞ると見えてしまうような、ごく小さな異物は除去できない場合が多い。そのため、一般ユーザがＦ２２程度の絞りを用いて異物検出用の画像を撮影するだけでは、振動によっても除去されずに残ってしまったごく小さな異物の影を補正するためのデータが得られない。そのため、Ｆ２２より絞り込んだ状態で通常の撮影が行われた場合、十分な異物補正ができないという問題があった。
【０００７】
従って、本発明は上述した課題に鑑みてなされたものであり、その目的は、振動によっても除去できないような光学系内のごく小さな異物による画質劣化をも補正できるようにすることである。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明に係わる撮像装置は、撮像光学系により結像された被写体像を光電変換する撮像素子を備え、画像信号を生成する撮像手段と、前記撮像光学系内の絞りを第１の絞り値に設定した状態で前記撮像手段により得られる画像信号から、前記撮像手段の撮像画面内における異物の位置及び大きさの情報である第１の異物情報を検出すると共に、前記撮像光学系内の絞りを第１の絞り値より絞った第２の絞り値に設定した状態で前記撮像手段により得られる画像信号から、前記撮像手段の撮像画面内における異物の位置及び大きさの情報である第２の異物情報を検出する異物検出手段と、前記異物検出手段により検出された第１の異物情報、又は第１及び第２の異物情報の双方を、前記撮像手段による前記被写体の撮影によって得られた撮影画像データに関連付けて記録する記録手段と、を備えることを特徴とする。
【０００９】
また、本発明に係わる撮像装置の制御方法は、撮像光学系により結像された被写体像を光電変換する撮像素子を備え、画像信号を生成する撮像手段を有する撮像装置を制御する方法であって、前記撮像光学系内の絞りを第１の絞り値に設定した状態で前記撮像手段により得られる画像信号から、前記撮像手段の撮像画面内における異物の位置及び大きさの情報である第１の異物情報を検出すると共に、前記撮像光学系内の絞りを第１の絞り値より絞った第２の絞り値に設定した状態で前記撮像手段により得られる画像信号から、前記撮像手段の撮像画面内における異物の位置及び大きさの情報である第２の異物情報を検出する異物検出工程と、前記異物検出工程において検出された第１の異物情報、又は第１及び第２の異物情報の双方を、前記撮像手段による前記被写体の撮影によって得られた撮影画像データに関連付けて記録する記録工程と、を備えることを特徴とする。
【００１０】
また、本発明に係わる画像処理装置は、上記の撮像装置の前記記録手段に記録されている前記撮影画像データと、該撮影画像データに関連付けて記録されている前記第１の異物情報、又は前記第１及び第２の異物情報の双方とを入力する入力手段と、前記第１の異物情報、又は前記第１及び第２の異物情報の双方に基づいて、前記撮影画像データに写り込んだ前記異物の影を補正する画像処理手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、振動によっても除去できないような光学系内のごく小さな異物による画質劣化をも補正することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明をレンズ交換式一眼レフデジタルカメラに適用した一実施形態について、添付図面を参照して詳細に説明する。
【００１３】
本実施形態では、カメラ本体でゴミを検出して、ゴミ補正データを画像データに添付し、カメラ外部の画像処理装置で、画像データに添付されたゴミ補正データを用いて画像データからゴミ除去処理を行なう場合について説明する。
【００１４】
図１は、本発明の第１の実施形態に係る撮像装置としてのレンズ交換式一眼レフデジタルカメラの回路構成を示すブロック図である。
【００１５】
図１において、マイクロコンピュータ４０２は、撮像素子（本実施形態ではＣＣＤ）４１８が出力する画像データの処理や、ＬＣＤモニター装置４１７の表示制御をはじめ、カメラ全体の動作を制御する。
【００１６】
スイッチ（ＳＷ１）４０５は、レリーズボタン１１４（図２参照）の半押し状態でオンになり、スイッチ（ＳＷ１）４０５がオンすると本実施形態のデジタルカメラは撮影準備状態になる。スイッチ（ＳＷ２）４０６は、レリーズボタン１１４が最後まで押された状態（全押し状態）でオンし、スイッチ（ＳＷ２）４０６がオンすると本実施形態のデジタルカメラは撮影動作を開始する。
【００１７】
レンズ制御回路４０７は、撮影レンズ２００（図３参照）との通信およびＡＦ（オートフォーカス）時の撮影レンズ２００の駆動制御や絞り羽根の駆動制御を行う。
【００１８】
また図１において、外部表示制御回路４０８は、外部表示装置（ＯＬＣ）４０９や、ファインダ内の表示装置（不図示）の制御を行う。スイッチセンス回路４１０は、カメラに設けられた電子ダイヤル４１１を含む多数のスイッチ類の信号をマイクロコンピュータ４０２に伝える。
【００１９】
ストロボ発光調光制御回路４１２は、Ｘ接点４１２ａを介して接地されており、外部ストロボの制御を行う。測距回路４１３は、ＡＦのための被写体に対するデフォーカス量を検出する。測光回路４１４は、被写体の輝度を測定する。
【００２０】
シャッター制御回路４１５はシャッターの制御を行い、撮像素子４１８に対して適正な露光を行う。ＬＣＤモニター装置４１７とバックライト照明装置４１６は、画像表示装置を構成している。記録装置４１９は例えばカメラ本体に着脱可能なハードディスクドライブや半導体メモリカード等である。
【００２１】
また、マイクロコンピュータ４０２には、Ａ／Ｄコンバータ４２３、画像バッファメモリ４２４、ＤＳＰなどからなる画像処理回路４２５、撮像素子内の所定画素そのものに欠陥があることを記憶している画素欠陥位置メモリ４２６が接続されている。また、ゴミによる画像不良を起こしている撮像素子内の画素位置を記憶しているゴミ位置メモリ４２７も接続されている。なお、画素欠陥位置メモリ４２６およびゴミ位置メモリ４２７は不揮発性メモリを用いることが好ましい。また、画素欠陥位置メモリ４２６とゴミ位置メモリ４２７は、同一メモリ空間の異なるアドレスを用いて記憶しても良い。
【００２２】
また、４２８は、マイクロコンピュータ４０２が実行するプログラム等を記憶する不揮発性のメモリである。
【００２３】
図２は、本実施形態に係るデジタルカメラの外観を示す斜視図、図３は図２の垂直断面図である。
【００２４】
図２において、カメラ本体１００の上部には、ファインダ観察用の接眼窓１１１、ＡＥ（自動露出）ロックボタン１１２、ＡＦの測距点選択ボタン１１３、撮影操作をするためのレリーズボタン１１４が設けられている。また、電子ダイヤル４１１、撮影モード選択ダイヤル１１７、および外部表示装置４０９も設けられている。電子ダイヤル４１１は、他の操作ボタンと併用してカメラに数値を入力したり、撮影モードを切り換えたりするための多機能信号入力装置である。また、外部表示装置４０９は、液晶表示装置から構成され、シャッタースピード、絞り、撮影モードなどの撮影条件や、他の情報を表示する。
【００２５】
また、カメラ本体１００の背面には、撮影された画像や各種設定画面などを表示するＬＣＤモニター装置４１７、ＬＣＤモニター装置４１７をオン／オフするためのモニタースイッチ１２１、十字配置スイッチ１１６、メニューボタン１２４が設けられている。
【００２６】
十字配置スイッチ１１６は、上下左右に配された４つのボタンと、中央に配されたＳＥＴボタンを有し、ユーザがＬＣＤモニター装置４１７に表示されるメニュー項目などの選択や実行をカメラに指示するために用いられる。
【００２７】
メニューボタン１２４は、ＬＣＤモニター装置４１７にカメラの各種設定を行うためのメニュー画面を表示させるためのボタンである。例えば、撮影モードを選択、設定する時は、このメニューボタン１２４を押した後、十字配置スイッチ１１６の上下左右のボタンを操作して希望のモードを選択し、希望のモードが選択された状態でＳＥＴボタンを押すことにより設定が完了する。このメニューボタン１２４と十字配置スイッチ１１６は、後述するゴミ検出処理の実行指示のためにも使用される。
【００２８】
本実施形態のＬＣＤモニター装置４１７は透過型であるため、ＬＣＤモニター装置の駆動だけでは画像を視認することはできず、必ずその裏面には図３に示すようにバックライト照明装置４１６が必要である。このようにＬＣＤモニター装置４１７とバックライト照明装置４１６は画像表示装置を構成している。
【００２９】
図３に示すように、撮像光学系である撮影レンズ２００はカメラ本体１００に対してレンズマウント２０２を介して着脱可能である。図３において２０１は撮影光軸、２０３はクイックリターンミラーである。なお、撮影レンズ２００である撮像光学系内には絞り２００ａが配置されている。
【００３０】
クイックリターンミラー２０３は撮影光路中に配置され、撮影レンズ２００からの被写体光をファインダ光学系に導く位置（図３に示す位置、斜設位置と呼ぶ）と撮影光路外に退避する位置（退避位置と呼ぶ）との間で移動可能である。
【００３１】
図３において、ピント板２０４上にはクイックリターンミラー２０３からファインダ光学系に導かれる被写体光が結像される。２０５はファインダの視認性を向上させるためのコンデンサレンズ、２０６はペンタゴナルダハプリズムであり、ピント板２０４およびコンデンサレンズ２０５を通った被写体光をファインダ観察用の接眼レンズ２０８および測光センサ２０７に導く。
【００３２】
２０９、２１０はそれぞれシャッターを構成する後幕と先幕で、これら後幕２０９、先幕２１０の開放によって後方に配置されている被写体像を光電変換する固体撮像素子である撮像素子４１８が必要時間だけ露光される。撮像素子４１８によって画素毎の電気信号に変換された撮影画像は、Ａ／Ｄコンバータ４２３や画像処理回路４２５などによって処理され、画像データとして記録装置４１９に記録される。なお、撮像素子４１８の前方には、赤外カットフィルター、光学ローパスフィルター等の光学素子４１８ａが配置されており、この光学素子４１８ａの表面にゴミ等の異物が付着する。この付着した異物の影が撮像素子４１８の撮像画面内に写り込んで、画質を劣化させる。
【００３３】
撮像素子４１８はプリント基板２１１に保持されている。このプリント基板２１１の後方には、もう一枚のプリント基板である表示基板２１５が配置されている。この表示基板２１５の反対側の面にＬＣＤモニター装置４１７およびバックライト照明装置４１６が配置されている。
【００３４】
４１９は画像データを記録する記録装置、２１７は電池（携帯用電源）である。この記録装置４１９および電池２１７は、カメラ本体に対して着脱可能である。
【００３５】
（通常のゴミ検出処理）
図４は、本実施形態に係るデジタルカメラにおけるゴミ検出処理（ゴミによって画像不良が生じている画素位置の検出処理）を説明するフローチャートである。当該処理は、マイクロコンピュータ４０２がメモリ４２８に記憶されたゴミ検出処理プログラムを実行することにより実施される。
【００３６】
ゴミ検出処理は、ゴミ検出用画像を撮像することにより行われる。ゴミ検出処理を行う場合、面光源装置の出射面や白い壁などの均一な色を持つ面にレンズ２００の撮影光軸２０１を向けてカメラを設置し、ゴミ検出の準備を行なう。
【００３７】
準備が終了した後、例えば十字配置スイッチ１１６からゴミ検出処理の開始が指示されると、マイクロコンピュータ４０２は、まず絞りの設定を行う。撮像素子近傍のゴミはレンズの絞り値によって結像状態が変わり、レンズの瞳位置によって位置が変化する。したがって、ゴミ補正データにはゴミの位置や大きさに加え、検出時の絞り値とレンズの瞳位置を保持する必要がある。
【００３８】
ただし、ゴミ補正データを作成する段階で、異なるレンズを用いたとしても常に同じ絞り値を使うことを予め決めておけば、必ずしもゴミ補正データ内に絞り値を保持する必要はない。また、瞳位置に関してもライトユニットを用いたり、特定のレンズのみの使用を許可することで、同様に必ずしもゴミ補正データ内に瞳位置を保持する必要はなくなる。つまり、ゴミ補正データを作成する段階において、使用するレンズを複数許したり、絞り込む絞り値を適宜変更する場合には、検出時の絞り値とレンズの瞳位置を、ゴミ補正データ内に保持する必要があると言える。なお、ここで瞳位置とは、射出瞳の撮像面（焦点面）からの距離をいう。
【００３９】
通常のゴミ検出処理（第１の異物情報の取得処理）においては、ユーザーが白壁などの一様な被写体を撮影したときに壁のしみなどが写りこまないようにするために、絞り値の限界としてＦ２２（第１の絞り値）を指定する（ステップＳ２１）。
【００４０】
次にマイクロコンピュータ４０２はレンズ制御回路４０７に対し、撮影レンズ２００の絞り羽根制御を行わせ、ステップＳ２１で指定された絞り値に絞りを設定する（ステップＳ２２）。さらに、フォーカス位置を無限遠に設定する（ステップＳ２３）。
【００４１】
撮影レンズの絞り値とフォーカス位置が設定されると、ゴミ検出モードでの撮影を実行する（ステップＳ２４）。ステップＳ２４で行う撮像処理ルーチンの詳細に関しては図１１を用いて後に説明する。撮影された画像データは、バッファメモリ４２４に格納される。
【００４２】
撮影が終了すると、撮影時の絞り値とレンズ瞳位置を取得する（ステップＳ２５）。画像処理回路４２５に画像バッファメモリ４２４に記憶されている撮影画像の各画素に対応するデータを呼び出す（ステップＳ２６）。画像処理回路４２５は、図６に示す処理を行い、ゴミが存在する画素の位置と大きさを取得する（ステップＳ２７）。ステップＳ２７で取得したゴミが存在する画素の位置と大きさ、およびステップＳ２５で取得した絞り値とレンズ瞳位置情報を、ゴミ位置メモリ４２７に登録する（ステップＳ２８）。
【００４３】
ここで、ステップＳ２８において、予め画素欠陥位置メモリに記録されている製造時からの不良画素（画素欠陥）の位置と、読み出した画素データのゴミ位置を比べて画素欠陥であるかどうかを確認する。そして、画素欠陥によるものでは無いと判断された領域のみ、ゴミ位置メモリ４２７に位置を登録しても良い。
【００４４】
ゴミ位置メモリ４２７に格納されるゴミ補正データのデータ形式例を図５に示す。図５に示した通り、ゴミ補正データには、検出用画像撮影時の、レンズ情報とゴミの位置、大きさの情報が格納される。このゴミ補正データは、通常撮影時に画像データの撮影時情報と共に画像に付加し、後に説明するゴミ除去処理で利用する。
【００４５】
具体的には、検出画像撮影時のレンズ情報として、検出画像撮影時における実際の絞り値（Ｆ値）と、そのときのレンズ瞳位置を格納する。続いて記憶領域に検出したゴミ領域の数（整数値）を格納し、これに続き、個々の具体的なゴミ領域のパラメータを、ゴミ領域の数だけ繰返して格納する。ゴミ領域のパラメータは、ゴミの半径（例えば２バイト）、有効画像領域における中心のｘ座標（例えば２バイト）、おなじく中心のｙ座標（例えば２バイト）の３つの数値のセットである。
【００４６】
ゴミ位置メモリ４２７の大きさ等によりゴミ補正データサイズに制限がある場合、ステップＳ２７で得たゴミ領域の先頭から優先してデータを格納する。これは、ステップＳ２７のゴミ領域取得ルーチン内では、後述するようにゴミ領域を、目立つゴミの順にソートするからである。
【００４７】
（ゴミ領域取得ルーチン）
次に、図６から図８を用いて、ステップＳ２７で行うゴミ領域取得ルーチンの詳細について述べる。
【００４８】
図７に示すように、呼び出した画像データをメモリ上に展開し、予め定められたブロック単位で処理を行う。これは、レンズやセンサ特性に起因する周辺減光に対応するためである。周辺減光とは、レンズの中央部に比べ周辺部の輝度が落ちてしまう現象であり、レンズの絞りを小さくすることである程度軽減されることが知られている。しかし、絞りを絞った状態でも、撮影画像に対して予め定められたスレッショルド値でゴミ位置の判定を行うと、レンズによっては周辺部のゴミが正確に検出できなくなるという問題がある。そこで、画像をブロック分割して周辺減光の影響を軽減する。
【００４９】
単純にブロック分割すると、ブロックとブロックの間でスレッショルド値が異なる場合、ブロック間をまたぐゴミの検出結果がずれてしまうという問題がある。そこで、ブロック間をオーバーラップさせ、オーバーラップ領域を構成するブロックのいずれかでゴミと判定された画素をゴミ領域として扱う。
【００５０】
ブロック内のゴミ領域判定は、図６に示す処理の流れで行う。まず、ブロック内の最大輝度Ｌmax、平均輝度Ｌaveを算出し、次式を用いてブロック内のスレッショルド値Ｔ１を算出する。
【００５１】
Ｔ１＝Ｌave×０.６＋Ｌmax×０.４
次に、スレッショルド値を超えない画素をゴミ画素とし（ステップＳ６１）、ゴミ画素によって構成される孤立領域を各々一つのゴミ領域ｄｉ（ｉ＝０，１，…，ｎ）とする（ステップＳ６２）。図８に示すように、ゴミ領域毎に、ゴミ領域を構成する画素の水平方向の座標の最大値Ｘmaxおよび最小値Ｘmin、垂直方向の座標の最大値Ｙmaxおよび最小値Ｙminを求め、ゴミ領域ｄｉのサイズを表す半径ｒｉを次式によって算出する（ステップＳ６３）。
【００５２】
ｒｉ＝√[｛（Ｘmax−Ｘmin）／２｝2＋｛（Ｙmax−Ｙmin）／２｝2]
Ｘmax、Ｘmin、Ｙmax、Ｙminとｒｉの関係を、図８に示す。
【００５３】
その後ステップＳ６４で、ゴミ領域毎の平均輝度値を算出する。
【００５４】
ゴミ位置メモリ４２７のサイズによる制限などにより、ゴミ補正データのデータサイズが制限されている場合がある。このような場合に対応するために、ゴミ位置情報を、大きさやゴミ領域の平均輝度値によってソートする（ステップＳ６５）。本実施形態では、ｒｉの大きい順にソートする。ｒｉが等しい場合、平均輝度値の低い順にソートする。このようにすることで、目立つゴミを優先してゴミ補正データに登録することが出来る。なお、ソート済みのゴミ領域をＤｉ、ゴミ領域Ｄｉの半径をＲｉとする。
【００５５】
なお、予め定められたサイズより大きいゴミ領域がある場合、ソートの対象から外し、ソート済みゴミ領域リストの末尾に配置しても良い。大きいゴミ領域については、後に補間処理をするとかえって画質を低下させる場合があり、補正対象の優先順位としては最下位として扱うことが望ましいからである。
【００５６】
（拡張補正データ生成ルーチン）
次に、図９を参照して、ゴミ補正データの拡張（拡張補正データの生成）について説明する。
【００５７】
拡張補正データ（第２の異物情報）の生成では、絞りをＦ２２よりも絞る点と、通常のゴミ補正データからの差分をとる点が、通常のゴミ検出処理とは異なる。
【００５８】
まず、通常のゴミ情報の検出で用いる絞り値Ｆ２２では検出できないゴミを検出するために、Ｆ２２よりも絞った絞り値（第２の絞り値）、ここではＦ３２を指定する（ステップＳ３１）。
【００５９】
次にマイクロコンピュータ４０２はレンズ制御回路４０７に対し、撮影レンズ２００の絞り羽根制御を行わせ、ステップＳ３１で指定された絞り値に絞りを設定する（ステップＳ３２）。さらに、フォーカス位置を無限遠に設定する（ステップＳ３３）。
【００６０】
撮影レンズの絞り値とフォーカス位置が設定されると、ゴミ検出モードでの撮影を実行する（ステップＳ３４）。ステップＳ３４で行う撮像処理ルーチンの詳細に関しては図１１を用いて後に説明する。撮影された画像データは、バッファメモリ４２４に格納される。
【００６１】
撮影が終了すると、撮影時の絞り値とレンズ瞳位置を取得する（ステップＳ３５）。画像処理回路４２５に画像バッファメモリ４２４に記憶されている撮影画像の各画素に対応するデータを呼び出す（ステップＳ３６）。画像処理回路４２５は、図６に示す処理を行い、ゴミが存在する画素の位置と大きさを取得する（ステップＳ３７）。作成済みの通常のゴミ補正データを読み取る（ステップＳ３８）。ステップＳ３７で取得したゴミが存在する画素が、ステップＳ３８で読み取った通常のゴミ補正データに含まれていれば拡張補正データのデータ候補から除外する。つまり拡張補正データには含めない（ステップＳ３９）。ステップＳ３９で取得された、ゴミが存在する画素の位置と大きさ、およびステップＳ３５で取得した絞り値とレンズ瞳位置情報を、拡張補正データとしてゴミ位置メモリ４２７に登録する（ステップＳ４０）。
【００６２】
ここで、ステップＳ４０において、予め画素欠陥位置メモリに記録されている製造時からの不良画素（画素欠陥）の位置と、読み出した画素データのゴミ位置を比べて画素欠陥であるかどうかを確認する。そして、画素欠陥によるものでは無いと判断された領域のみ、ゴミ位置メモリ４２７に位置を登録しても良い。
【００６３】
拡張補正データの取得は、絞りをＦ２２よりも絞って作業を行うことから、ユーザが操作を行う場合、一様な白壁等を写したつもりでも壁のしみなどが写り込んだりすることが考えられ、注意が必要である。そのため、拡張補正データの取得は、工場やサービスなどの、しっかりとした設備が整っている条件で行うことが望ましい。
【００６４】
また、通常のゴミ補正データの作成作業では、拡張補正データの内容を更新しない。
【００６５】
（差分生成ルーチン）
図１０は、図９のステップＳ３９で説明した、通常のゴミ補正データと拡張補正データとで補正データが重複しないようにするための処理を行うサブルーチンの詳細フローチャートである。
【００６６】
まず、拡張補正データの取得工程で得られたゴミ情報をひとつ拡張補正データ候補として選択する（ステップＳ４１）。通常のゴミ補正データの中に、ステップＳ４１で選択されたゴミ情報と一致するものがあるかを検索する（ステップＳ４２）。検索の結果、一致するものが見つかった場合（ステップＳ４３：Ｙｅｓ）は、拡張補正データ候補のゴミ情報は消去され、拡張補正データとして保存されない（ステップＳ４４）。一方、ステップＳ４２の検索の結果、一致するものが見つからなかった場合（ステップＳ４３：Ｎｏ）は、拡張補正データ候補のゴミ情報は、拡張補正データとして保存される（ステップＳ４５）。そして、全てのゴミ情報について同様の処理が行われたかを判定し（ステップＳ４６）、全てのゴミ情報について処理が終了していない場合（ステップＳ４６：Ｎｏ）は、ステップＳ４１に戻って、次の拡張補正データ候補を選択する。一方、ステップＳ４６において全てのゴミ情報について処理が終了していれば、差分生成ルーチンを終了する。
【００６７】
なお、ゴミ情報が一致するか否かは、座標と半径から導かれる面の接触から判断してもよいし、座標間の距離に閾値をつけて判断してもよい。たとえば座標間の距離の閾値を２画素以内とすれば、拡張補正データ候補のゴミ情報の座標が（Ｘ，Ｙ）＝（１００，１００）で、通常のゴミ補正データに（Ｘ，Ｙ）＝（１００，１０２）という情報が存在すれば、この拡張補正データ候補のゴミ情報は、拡張補正データとして保存されない。
【００６８】
（撮像処理ルーチン）
次に、図１１に示すフローチャートを用いて、図４のステップＳ２４で行われる撮像処理ルーチンの詳細について説明する。当該処理はマイクロコンピュータ４０２がメモリ４２８に記憶された撮像処理プログラムを実行することにより実施される。
【００６９】
この撮像処理ルーチンが実行されると、ステップＳ２０１でマイクロコンピュータ４０２は、図３に示すクイックリターンミラー２０３を作動させ、いわゆるミラーアップを行い、撮影光路外にクイックリターンミラー２０３を退避させる。
【００７０】
次に、ステップＳ２０２で撮像素子４１８での電荷蓄積を開始し、次のステップＳ２０３では図３に示したシャッターの先幕２１０、後幕２０９をそれぞれ走行させて露光を行う。そして、ステップＳ２０４で撮像素子４１８の電荷蓄積を終了し、次のステップＳ２０５で撮像素子から画像信号を読み出してＡ／Ｄコンバータ４２３および画像処理回路４２５で処理した画像データをバッファメモリ４２４に一次記憶する。
【００７１】
次のステップＳ２０６で撮像素子から全ての画像信号の読み出しが終了すると、ステップＳ２０７でクイックリターンミラー２０３をミラーダウンし、クイックリターンミラーを斜設位置に戻す。
【００７２】
ステップＳ２０８にて、通常撮影かゴミ検出用画像撮影かを判断し、通常撮影時にはステップＳ２０９へ進んで撮影時のカメラ設定値等と共に図５に示したゴミ補正データを画像データに関連付けて記録装置４１９に記録する。
【００７３】
具体的には、例えば、撮影時のカメラ設定値等が記録される画像ファイルのヘッダ領域であるＥｘｉｆ領域にゴミ補正データを追記することで、関連付けを実現することができる。または、ゴミ補正データをファイルとして独立して記録し、画像データにはそのゴミ補正データファイルへのリンク情報のみを記録することで関連付けを実現することも可能である。ただし、画像ファイルとゴミ補正データファイルを別々に記録すると、画像ファイルの移動時に、リンク関係が消失する場合があるので、ゴミ補正データは画像データと一体的に保持することが望ましい。
【００７４】
なお、上記のステップＳ２０９において画像データに通常のゴミ補正データのみを関連付けるか、拡張プロファイルも含めて関連付けるかは後述のルールに従う。
【００７５】
（画像データに関連付けるプロファイルのルール）
画像データにどのゴミ情報プロファイルを関連付けるかを決定するための手順を図１２のフローチャートを参照して説明する。
【００７６】
まず、ゴミ検出用の撮影ではなく通常の撮影時のレンズのパラメータに関して、Ｆ値がＦ４よりも開放であるかを判断する（ステップＳ１７０１）。Ｆ４またはＦ４よりも開放であった場合、ゴミの写りこみは無視できるので、ゴミ補正のためのプロファイルは撮影画像に関連付けない（ステップＳ１７０２）。
【００７７】
一方、ステップＳ１７０１においてＦ値がＦ４よりも絞っていると判断された場合、ステップＳ１７０３に進む。ステップＳ１７０３では、通常の撮影時のＦ値がＦ２２よりも開放であるかを判断する。そして、ステップＳ１７０３においてＦ２２またはＦ２２よりも開放であった場合、通常のゴミ補正データは必要だが、拡張プロファイルが示すゴミの写りこみは無視できるので、通常のゴミ補正データを撮影画像に関連付ける（ステップＳ１７０４）。ステップＳ１７０３においてＦ２２よりも絞っていた場合、通常のゴミ補正データと拡張プロファイルの双方を撮影画像に関連付ける（ステップＳ１７０５）。
【００７８】
このような動作により、撮影時のレンズの絞りに応じて適切なゴミ補正データが撮影画像に関連付けられる。
【００７９】
（ゴミ除去処理）
次に、ゴミ除去処理の流れについて説明する。ゴミ除去処理は、デジタルカメラ本体ではなく、別途用意した画像処理装置上で行う。
【００８０】
図１３は、画像処理装置のシステム構成の概略を示した図である。
【００８１】
ＣＰＵ１００１は、システム全体の動作をコントロールし、一次記憶部１００２に格納されたプログラムの実行などを行う。一次記憶部１００２は、主にメモリであり、二次記憶部１００３に記憶されたプログラムなどを読み込んで格納する。二次記憶部１００３は、例えばハードディスクなどがこれに該当する。一般に一次記憶部の容量は二次記憶部の容量より小さく、一次記憶部に格納しきれないプログラムやデータなどは二次記憶部に格納される。また、長時間記憶しなくてはならないデータなども二次記憶部に格納される。本実施形態では、プログラムを二次記憶部１００３に格納し、プログラム実行時に一次記憶部１００２に読み込んでＣＰＵ１００１が実行処理を行う。
【００８２】
入力デバイス１００４とは例えば、システムのコントロールに用いるマウスやキーボードの他、画像データの入力に必要なカードリーダー、スキャナ、フィルムスキャナなどがこれに該当する。出力デバイス１００５とは例えば、モニタやプリンタなどが考えられる。この装置の構成方法は他にも様々な形態が考えられるが、本発明の主眼ではないので説明を省略する。
【００８３】
画像処理装置には、複数のプログラムを並列実行可能なオペレーティングシステムが搭載され、操作者はＧＵＩを使ってこの装置上で動作するプログラムの操作が可能である。
【００８４】
図１４は、画像処理装置における画像編集プログラムのＧＵＩ（Graphical User Interface）を示す図である。ウィンドウにはクローズボタン１１００とタイトルバー１１０１が備えられ、クローズボタンを押すことでプログラムを終了する。ファイルを画像表示領域１１０２にドラッグアンドドロップすることで補正対象画像を指定し、補正対象画像が決定された場合、タイトルバー１１０１にファイル名を表示した後、画像表示領域１１０２に対象画像をＦiｔ表示する。実行ボタン１１０３を押すと、後述するゴミ除去処理を実行し、処理後の画像を画像表示領域１１０２に表示する。ステップ実行ボタン１１０４を押すと後述するゴミ除去処理のステップ実行を行い、全てのゴミ領域に対して処理が終了した時点で処理後の画像を画像表示領域１１０２に表示する。保存ボタン１１０５を押すと、処理後の画像を保存する。
【００８５】
画像処理装置におけるゴミ除去処理の流れを、図１５に示す。
【００８６】
まず、デジタルカメラ内又はデジタルカメラから取り外された記録装置４１９からゴミ補正データが添付された通常撮影画像データを画像処理装置に取り込んで、一次記憶部１００２又は二次記憶部１００３に記憶する（ステップＳ９０）。
【００８７】
次に、通常撮影された画像データ（ゴミ除去処理を行う対象となる画像）から、ステップＳ２０８で撮影画像に付与されたゴミ補正データを抽出する（ステップＳ９１）。さらに、拡張補正データが存在するか否かを確認し（ステップＳ９２）、存在すれば読み取って（ステップＳ９３）、通常のゴミ補正データと結合する（ステップＳ９４）。結合においては、通常のゴミ補正データと拡張補正データそれぞれの座標、大きさ、絞り値、瞳位置を単純なデータ列として保持してもよいし、通常のゴミ補正データと拡張補正データを別々に保持してもよい。
【００８８】
次に、ステップＳ９１〜Ｓ９４で抽出したゴミ補正データから座標列Ｄｉ（ｉ＝１，２，…ｎ）、半径列Ｒｉ（ｉ＝１，２，…，ｎ）、絞り値ｆ１とレンズ瞳位置Ｌ１を得る（ステップＳ９５）。ここでＲｉは、図６のステップＳ６５で算出した座標Ｄｉのゴミの大きさである。ステップＳ９６で、通常撮影された画像の撮影時の絞り値ｆ２とレンズ瞳位置Ｌ２を取得し、ステップＳ９７でＤｉを次式で変換する。ここで、ｄは画像中心から座標Ｄｉまでの距離、Ｈは撮像素子４１８の表面とゴミとの距離であるとする。変換後の座標Ｄｉ’と変換後の半径Ｒｉ’は例えば次式で定義する。
【００８９】
Ｄｉ’（ｘ，ｙ）＝（Ｌ２×（Ｌ１−Ｈ）×ｄ／（（Ｌ２−Ｈ）×Ｌ１））×Ｄｉ（ｘ，ｙ）
Ｒｉ’＝Ｒｉ×ｆ１／ｆ２＋３              （１）
ここでの単位はピクセルであり、Ｒｉ’についての「＋３」はマージン量である。
【００９０】
ステップＳ９８で座標Ｄｉ’、半径Ｒｉ’で示される領域内にゴミと推定される影が実際に存在するかを検出し、必要に応じて補間処理を適用する。補間処理の詳細については後述する。ステップＳ９９で全ての座標についてゴミ除去処理を適用したかどうかを判定し、全ての座標について処理が終わっていれば処理を終了し、そうでなければステップＳ９８に戻る。
【００９１】
（補間ルーチン）
次に、ゴミ領域の補間処理の詳細について述べる。補間ルーチンの流れを示すフローチャートを図１６に示す。まずステップＳ１２０１で、ゴミ領域判定を行う。ゴミ領域とは、次の条件を全てを満たす領域とする。
（１）図１５のステップＳ９７で算出した中心座標Ｄｉ’、半径Ｒｉ’（式（１）で求められたＤｉ’，Ｒｉ’）に含まれる画素の平均輝度Ｙaveと最高輝度Ｙmaxを用いて次式で求められるスレッショルド値Ｔ２より暗い領域。
【００９２】
Ｔ２＝Ｙave×０.６＋Ｙmax×０.４
（２）上記の中心座標Ｄｉ’、半径Ｒｉ’の円と接しない領域。
（３）（１）で選択された輝度の低い画素によって構成される孤立領域に対し、図６中のステップＳ６３と同様の方法で算出した半径値がl１画素以上、l２画素未満である領域。
（４）円の中心座標Ｄｉを含む領域。
【００９３】
本実施形態では、例えば通常プロファイルに基づく場合にはl１は３画素、l２は３０画素とし、拡張プロファイルに基づく場合にはｌ１は１画素、ｌ２は１０画素とする。このようにすることで、孤立した小領域だけをゴミ領域として扱うことが可能になる。また、レンズ瞳位置が正確に取得できない場合には、（４）の条件は幅を持たせても良い。例えば、着目領域が座標ＤｉからＸ方向、Ｙ方向に夫々±３画素の範囲の座標を含めば、ゴミ領域と判定するなどという条件が考えられる。
【００９４】
ステップＳ１２０２で、このような領域があればステップＳ１２０３へ進みゴミ領域補間を行い、存在しない場合は処理を終了する。ステップＳ１２０３で実行するゴミ領域補間処理は、公知の欠損領域補間法で行う。公知の欠損領域補間法には例えば、特開２００１−２２３８９４号公報に開示されているパターン置換がある。特開２００１−２２３８９４号公報では赤外光を用いて欠損領域を特定しているが、本実施形態ではステップＳ１２０１で検出したゴミ領域を欠損領域として扱い、パターン置換によりゴミ領域を周囲の正常画素で補間する。パターン置換で埋められない画素については、パターン補間後の画像データに対し、補間対象画素に最も近い順に正常画素をｐ個選択し、その平均色を用いて補間する。
【００９５】
このように画像にゴミ補正データを添付することで、ゴミ補正用画像データと撮影画像データの対応を意識する必要が無くなるという利点がある。また、ゴミ補正データが位置、大きさ、変換用データ（絞り値、レンズの瞳位置の距離情報）で構成されるコンパクトなデータであるので、撮影画像データサイズが極端に大きくなることもない。また、ゴミ補正データで指定された画素を含む領域だけを補間処理することにより、誤検出の確率を大幅に低減することが可能になる。
【００９６】
（ユーザがクリーニングを行う場合）
次に、ユーザが撮像素子４１８のクリーニングをエアーブラシなどの装置を用いたり、溶剤を含ませたペーパーによって拭き取るなどして、手動で行った場合の拡張プロファイルの取り扱いについて説明する。
【００９７】
拡張プロファイルは、前述のとおり、撮像素子の振動によっても除去できないような小さなゴミを検出することを目的に作成する。しかし、ユーザが手動でクリーニングを行った場合、そのような小さなゴミも除去または移動される。すなわちユーザが手動でクリーニングを行った場合は、拡張プロファイルを生成しなおす必要がある。
【００９８】
ユーザが手動でクリーニングを行った場合の拡張プロファイルの取り扱いについて、図１７のフローチャートを参照して説明する。
【００９９】
ユーザが手動でクリーニングを行ったら、まず既存の拡張プロファイルを消去する（ステップＳ１６０１）。次に通常のゴミ検出処理を行う。通常のゴミ検出なので、絞り値はＦ２２に設定される（ステップＳ１６０２）。次にＧＵＩのメニュー画面などを用いてユーザに拡張プロファイルを生成するかどうかの問い合わせを行う（ステップＳ１６０３）。ステップＳ１６０４で拡張プロファイルの生成を行う場合はステップＳ１６０５に進み、カメラに絞り値がＦ３２に設定可能なレンズが装着されているか否かを判定する。ステップＳ１６０５で絞り値がＦ３２に設定可能なレンズが装着されていると判断された場合には、ステップＳ１６０６に進み、図９に示したフローチャートに従って拡張プロファイルを生成する。
【０１００】
一方、ステップＳ１６０４で拡張プロファイルを生成しないことが選択された場合、及びステップＳ１６０５で絞り値をＦ３２に設定可能なレンズが装着されていないと判定された場合には、拡張プロファイルの生成を行わず処理を終了する。
【０１０１】
なお、ステップＳ１６０１で拡張プロファイルを消去しているので、ステップＳ１６０４及びステップＳ１６０５の判断で拡張プロファイルが生成されなかった場合は、クリーニング後には拡張プロファイルは存在しないことになる。
【０１０２】
このように、拡張プロファイルの生成をユーザが選択できるようにしているのは、ユーザによる手動クリーニングにもやり方がいくつもあるからである。例えば、クリーニングモードに設定して、光学素子４１８ａの表面に付着したゴミに直接触れることができる状態にしたとしても、単にエアブラシでエアを吹き付けるだけのときもあれば、溶剤を含ませたペーパでゴミを拭き取るようなときもある。また、圧電素子などの振動子が光学素子４１８ａに設けられており、ユーザのクリーニングの指示により、マイクロコンピュータ４０２がこれを制御して、光学素子４１８ａを振動させて物理的にゴミを弾き飛ばすようなクリーニングもある。すなわち、ユーザのクリーニングの仕方により、ゴミの除去は完全であったり、不完全であったり、不完全であってもその度合いが異なったりする。拭き取り方式のように、その効果が相当期待できるものであれば、Ｆ３２まで絞っても影が生じるようなゴミは無いものと推定して、拡張プロファイルを作る必要は無い。一方でエアブラシのような方式の場合、ごく小さなゴミは多少移動したとしてもそのまま光学素子４１８ａ上に残っていることが多く、このような方式で手動クリーニングを行った場合には、拡張プロファイルを作り直すことが好ましい。さらに、振動子によって物理的にゴミを弾き飛ばすような方式の場合には、小さなゴミは質量も小さいことから弾き飛ばされ難く、そのまま移動せずに留まることが多い。このような場合は、拡張プロファイルを作り直すまでも無く、それ以前の拡張プロファイルをそのまま用いることができる。このように、手動クリーニングの効果に応じて、拡張プロファイルの生成の有無をコントロールすることが望ましい。
【０１０３】
なお、光学素子４１８ａを振動させて物理的にゴミを弾き飛ばすようなクリーニングモードについては、カメラ本体に内蔵されて行われるものであるので、その制御シーケンスにおいて、例えば電源のオンオフに合わせて自動的に実行されるように構成されていても良い。この場合は、拡張プロファイルは更新されない。
【０１０４】
なお、上記の実施形態では、カメラ本体でゴミを検出して、ゴミ補正データを画像データに添付し、カメラ外部の画像処理装置で、画像データに添付されたゴミ補正データを用いて画像データからゴミ除去処理を行なう場合について説明した。しかし、カメラ本体内に図１３に示したような画像処理装置を内蔵し、カメラ本体内で画像データからゴミ除去処理を行うようにしても良い。
（他の実施形態）
また、各実施形態の目的は、次のような方法によっても達成される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、本発明には次のような場合も含まれる。すなわち、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【０１０５】
さらに、次のような場合も本発明に含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【０１０６】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した手順に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１０７】
【図１】本発明の一実施形態に係わる撮像装置としてのレンズ交換式一眼レフデジタルカメラの回路構成を示すブロック図である。
【図２】第１の実施形態に係るデジタルカメラの外観を示す斜視図である。
【図３】図２の垂直断面図である。
【図４】ゴミ検出ルーチンを説明するためのフローチャートである。
【図５】ゴミ位置メモリに格納されるゴミ補正データのデータ形式例を示す図である。
【図６】ゴミ領域取得ルーチンを説明するためのフローチャートである。
【図７】ブロック単位でゴミ領域取得処理を行なう様子を示した図である。
【図８】ゴミ領域のＸmax、Ｘmin、Ｙmax、Ｙminとｒｉの関係を示した図である。
【図９】拡張補正データ生成ルーチンを説明するためのフローチャートである。
【図１０】通常のゴミ補正データと拡張補正データとで補正データが重複しないようにするための処理を示すフローチャートである。
【図１１】撮像処理ルーチンを説明するためのフローチャートである。
【図１２】画像データにゴミプロファイルを関連付けるルールを示すフローチャートである。
【図１３】画像処理装置のシステム構成の概略を示した図である。
【図１４】画像処理装置における画像編集プログラムのＧＵＩ（Graphical User Interface）を示す図である。
【図１５】ゴミ除去ルーチンを説明するためのフローチャートである。
【図１６】補間ルーチンを説明するためのフローチャートである。
【図１７】ユーザが撮像素子のクリーニングを手動で行った場合の拡張プロファイルの取り扱いを示すフローチャートである。
【図１】
2009152696.tif 000003
【図２】
2009152696.tif 000004
【図３】
2009152696.tif 000005
【図４】
2009152696.tif 000006
【図５】
2009152696.tif 000007
【図６】
2009152696.tif 000008
【図７】
2009152696.tif 000009
【図８】
2009152696.tif 000010
【図９】
2009152696.tif 000011
【図１０】
2009152696.tif 000012
【図１１】
2009152696.tif 000013
【図１２】
2009152696.tif 000014
【図１３】
2009152696.tif 000015
【図１４】
2009152696.tif 000016
【図１５】
2009152696.tif 000017
【図１６】
2009152696.tif 000018
【図１７】
2009152696.tif 000019