(57)【特許請求の範囲】
【請求項１】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第１の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、
被写体撮影時の第２の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、
少なくとも前記第２の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、
前記異物の位置情報を、前記第１の撮影レンズのレンズ情報と前記第２の撮影レンズのレンズ情報に基づいて、前記第２の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第１の変換手段と、
前記第１の変換手段で変換された前記異物の位置情報を更に、前記第２の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第２の変換手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第１の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、
被写体撮影時の第２の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、
少なくとも前記第２の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、
前記異物の位置および大きさ情報を、前記第１の撮影レンズのレンズ情報と前記第２の撮影レンズのレンズ情報に基づいて、前記第２の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第１の変換手段と、
前記第１の変換手段で変換された前記異物の位置および大きさ情報を更に、前記第２の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第２の変換手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
前記第１の撮影レンズのレンズ情報および前記第２の撮影レンズのレンズ情報は、少なくとも前記画像信号取得時もしくは前記被写体撮影時の絞り値と瞳位置の情報を含むことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
収差補正された被写体画像に対して、前記第２の変換手段によって変換された異物情報に基づいて、異物除去処理を行う異物除去処理手段を更に備えることを特徴とする請求項１ないし３のいずれか１項に記載の画像処理装置。
【請求項５】
前記記憶手段に記憶されている収差情報に基づいて、前記被写体撮影時に撮影された被写体画像の収差を補正する収差補正処理手段を更に備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
請求項１ないし３のいずれか１項に記載の画像処理装置と、
異物検出モードにおいて前記異物検出用の画像信号を取得し、当該画像信号から撮像画面内における異物の位置情報を抽出する抽出手段と、
を備えることを特徴とするレンズ交換式一眼レフデジタルカメラ。
【請求項７】
前記記憶手段に記憶されている収差情報に基づいて、前記被写体撮影時に撮影された被写体画像の収差を補正する収差補正処理手段を更に備えることを特徴とする請求項６に記載のレンズ交換式一眼レフデジタルカメラ。
【請求項８】
前記画像処理手段により収差補正された被写体画像に対して、前記第２の変換手段によって変換された異物情報に基づいて、異物除去処理を行う異物除去処理手段を更に備えることを特徴とする請求項７に記載のレンズ交換式一眼レフデジタルカメラ。
【請求項９】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第１の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、
被写体撮影時の第２の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、
前記異物の位置情報を、前記第１の撮影レンズのレンズ情報と前記第２の撮影レンズのレンズ情報に基づいて、前記第２の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第１の変換工程と、
前記第１の変換工程で変換された前記異物の位置情報を更に、前記第２の撮影レンズのレンズ情報と、少なくとも前記第２の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第２の変換工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項１０】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第１の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、
被写体撮影時の第２の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、
前記異物の位置および大きさ情報を、前記第１の撮影レンズのレンズ情報と前記第２の撮影レンズのレンズ情報に基づいて、前記第２の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第１の変換工程と、
前記第１の変換工程で変換された前記異物の位置および大きさ情報を更に、前記第２の撮影レンズのレンズ情報と、少なくとも前記第２の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第２の変換工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項１１】
請求項９または１０に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＣＤやＣＭＯＳセンサ等の撮像素子を用いた撮像装置によって撮影された撮影画像に表れる、光学ローパスフィルター等の表面に付着した異物に起因する影の影響を軽減する技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラやデジタルビデオカメラなどのように、ＣＣＤ等の撮像素子を用いて画像信号を生成し、それをデータとして記録する撮像装置が数多く出回るようになってきている。デジタルカメラでは、従来記録媒体として使用していた感光フィルムが不要になり、これに代わって半導体メモリカードやハードディスク装置等のデータ記録媒体にデータ化された画像を記録する。これらのデータ記録媒体はフィルムと違って何度でも書き込み、消去が可能であるので、消耗品にかかる経費が少なくて済み、大変便利である。
【０００３】
通常、デジタルカメラには撮像画像を随時表示可能なＬＣＤ（液晶表示器）モニタ装置と、着脱可能な大容量記憶装置が搭載されている。
【０００４】
これら二つの装置を備えたデジタルカメラを利用すると、従来消耗品として使用してきた記録媒体であるフィルムが不要になるばかりでなく、撮像した画像をＬＣＤモニタ装置に表示してその場で直ちに確認できる。したがって、満足の得られない画像データはその場で消去したり、必要に応じて再撮影したりすることが可能となり、フィルムを用いる銀塩カメラと比較すると、写真撮影の効率が飛躍的に高まったと言える。
【０００５】
このような利便性と撮像素子の多画素化などの技術革新により、デジタルカメラの利用範囲は拡大しており、近年では一眼レフ方式などレンズ交換が可能なデジタルカメラも多くなってきている。
【０００６】
ところが、上記のような一眼レフ方式のデジタルカメラでは、撮像素子に固定された撮像素子保護ガラス、光学フィルター等の光学系（以下、まとめて撮像素子光学系部品）の表面上にゴミ、ほこりなどの異物（以下、単にゴミ）が付着する場合がある。このように撮像素子光学系部品にゴミが付着すると、そのゴミによって光が遮られ、その部分が撮影されないなど、撮影した画像の品質が低下するという問題があった。
【０００７】
デジタルカメラに限らず銀塩フィルムを用いるカメラにおいても、フィルム上にゴミが存在すると写りこんでしまう問題はあったが、フィルムの場合は１コマごとにフィルムが移動するため、全てのコマに同様のゴミが写りこむことは大変稀である。
【０００８】
しかし、デジタルカメラの撮像素子は移動せず、１つの撮像素子で撮影を行うため、撮像素子光学系部品に一度ゴミが付着すると、多くのコマ（撮影画像）に同様のゴミが写りこんでしまう。特にレンズ交換式のデジタルカメラにおいては、レンズ交換時にカメラ内にゴミが入り込みやすいという問題がある。
【０００９】
したがって、撮影者は撮像素子光学系部品へのゴミの付着に常時気を使わねばならず、ゴミのチェックや清掃に多くの労力を費やしていた。特に撮像素子は、カメラ内部の比較的奥まったところに配置されているため、清掃やゴミの確認は容易ではない。
【００１０】
さらにレンズ交換式のデジタルカメラでは、レンズ着脱によるゴミの侵入が発生するばかりでなく、撮像素子の直前に配置されたフォーカルプレーンシャッターの駆動による削りかす等により、撮像素子光学系部品上にゴミが付着しやすい。
【００１１】
そこで、レンズの絞りを絞った状態で白い壁などを撮影し、撮像素子上のゴミだけが写った画像を予め用意して通常撮影画像と組み合わせて使用することで、ゴミを目立たなくする方法が知られている（特許文献１参照）。しかし、この方法では、ゴミ検出用に撮影した画像と、それに関連付ける本撮影画像群との対応付けを常に意識しなくてはならず、煩わしい。そこで、白い壁などを撮影してゴミの位置を取得した後これをデジタルカメラ上で保持しておき、通常撮影時の画像データにゴミの位置や大きさのリスト（ダスト情報）を添付することが考えられる。例えば別途用意された画像処理装置を用い、添付されたゴミの位置から撮影データ上のゴミ位置を解析し、解析された領域を周囲の画素で補間処理することにより目立たなくすることができる。
【特許文献１】特開２００４-２２２２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
一方、撮影時の撮影レンズの情報などを利用して、レンズの特性、特に歪曲収差や倍率色収差などを補正するアプリケーションが登場している。このようなレンズの収差の補正処理を行うことで、より均質で高画質な画像を得ることができる。しかしながら、このような処理は画像を変形させるため、ダスト情報に記録されている座標と実際のゴミ像の位置がずれてしまい、ゴミ除去処理を正しく実行できなくなってしまうという問題がある。
【００１３】
このような問題を回避するために、レンズ特性に応じた収差補正処理を適用する前にゴミの除去処理を実行することが考えられる。しかし、カメラとアプリケーションの役割分担やアプリケーション内での画像処理順序の制約により、そのような処理順序にできない場合もある。
【００１４】
例えば、撮影した画像に対してカメラ内でレンズの収差の補正処理を行い、カメラ外部の画像処理装置でゴミ除去処理を実行する場合、ゴミ除去処理はレンズの収差の補正処理よりも後に行われることになる。
【００１５】
したがって、本発明は上述した課題に鑑みてなされたものであり、その目的は、撮影画像に対して先にレンズの収差補正が行なわれた場合でも、後のゴミ除去処理を精度よく行えるようにすることである。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第１の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、被写体撮影時の第２の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、少なくとも前記第２の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、前記異物の位置情報を、前記第１の撮影レンズのレンズ情報と前記第２の撮影レンズのレンズ情報に基づいて、前記第２の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第１の変換手段と、前記第１の変換手段で変換された前記異物の位置情報を更に、前記第２の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第２の変換手段と、を備えることを特徴とする。
【００１７】
また、本発明に係わる別の画像処理装置は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第１の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、被写体撮影時の第２の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、少なくとも前記第２の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、前記異物の位置および大きさ情報を、前記第１の撮影レンズのレンズ情報と前記第２の撮影レンズのレンズ情報に基づいて、前記第２の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第１の変換手段と、前記第１の変換手段で変換された前記異物の位置および大きさ情報を更に、前記第２の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第２の変換手段と、を備えることを特徴とする。
【００１８】
また、本発明に関わるレンズ交換式一眼レフデジタルカメラは、上記各手段に加え、異物検出モードにおいて前記異物検出用の画像信号を取得し、当該画像信号から撮像画面内における異物の位置情報を抽出する抽出手段を備えることを特徴とする。
【００１９】
また、本発明に関わる画像処理装置の制御方法は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第１の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、被写体撮影時の第２の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、前記異物の位置情報を、前記第１の撮影レンズのレンズ情報と前記第２の撮影レンズのレンズ情報に基づいて、前記第２の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第１の変換工程と、前記第１の変換工程で変換された前記異物の位置情報を更に、前記第２の撮影レンズのレンズ情報と、少なくとも前記第２の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第２の変換工程と、を備えることを特徴とする。
【００２０】
また、本発明に関わる別の画像処理装置の制御方法は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第１の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、被写体撮影時の第２の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、前記異物の位置および大きさ情報を、前記第１の撮影レンズのレンズ情報と前記第２の撮影レンズのレンズ情報に基づいて、前記第２の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第１の変換工程と、前記第１の変換工程で変換された前記異物の位置および大きさ情報を更に、前記第２の撮影レンズのレンズ情報と、少なくとも前記第２の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第２の変換工程と、を備えることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、撮影画像に対して先にレンズの収差補正が行なわれた場合でも、後のゴミ除去処理を精度よく行うことが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
（撮像装置の構成）
図１は、本発明の実施形態に係る撮像装置としてのレンズ交換式一眼レフデジタルカメラ（以下単にカメラ）の回路構成を示すブロック図である。
【００２３】
図１において、マイクロコンピュータ４０２は、被写体像を光電変換する撮像素子（本実施形態ではＣＣＤ）４１８が出力する画像データの処理や、ＬＣＤモニタ装置４１７の表示制御をはじめ、カメラ全体の動作を制御する。
【００２４】
スイッチ（ＳＷ１）４０５は、レリーズボタン１１４（図２参照）の半押し状態でオンになり、スイッチ（ＳＷ１）４０５がオンすると本実施形態のカメラは撮影準備状態になる。スイッチ（ＳＷ２）４０６は、レリーズボタン１１４が最後まで押された状態（全押し状態）でオンし、スイッチ（ＳＷ２）４０６がオンすると本実施形態のカメラは撮影動作を開始する。
【００２５】
レンズ制御回路４０７は、撮影レンズ２００（図３参照）との通信およびＡＦ（オートフォーカス）時の撮影レンズ２００の駆動制御や絞り羽根の駆動制御を行う。
【００２６】
また図１において、外部表示制御回路４０８は、外部表示装置（ＯＬＣ）４０９や、ファインダ内の表示装置（不図示）の制御を行う。スイッチセンス回路４１０は、カメラに設けられた電子ダイヤル４１１を含む多数のスイッチ類の信号をマイクロコンピュータ４０２に伝える。
【００２７】
ストロボ発光調光制御回路４１２は、Ｘ接点４１２ａを介して接地されており、外部ストロボの制御を行う。測距回路４１３は、ＡＦのための被写体に対するデフォーカス量を検出する。測光回路４１４は、被写体の輝度を測定する。
【００２８】
シャッター制御回路４１５はシャッターの制御を行い、撮像素子に対して適正な露光を行う。ＬＣＤモニタ装置４１７とバックライト照明装置４１６は、画像表示装置を構成している。記録装置４１９は例えばカメラ本体に着脱可能なハードディスクドライブや半導体メモリカード等である。
【００２９】
また、マイクロコンピュータ４０２には、Ａ／Ｄコンバータ４２３、画像バッファメモリ４２４、ＤＳＰなどからなる画像処理回路４２５、撮像素子内の所定画素そのものに欠陥があることを記憶している画素欠陥位置メモリ４２６が接続されている。また、ゴミによる画像不良を起こしている撮像素子内の画素位置を記憶しているゴミ位置メモリ４２７も接続されている。なお、画素欠陥位置メモリ４２６およびゴミ位置メモリ４２７は不揮発性メモリを用いることが好ましい。また、画素欠陥位置メモリ４２６とゴミ位置メモリ４２７は、同一メモリ空間の異なるアドレスを用いて記憶しても良い。
【００３０】
また、４２８は、マイクロコンピュータ４０２が実行するプログラム等を記憶する不揮発性のメモリである。
【００３１】
レンズ特性データ供給部４３０は、図示しないメモリに、各種の撮影レンズの特性に対応して収差を補正するための補正係数を記憶しており、この補正係数をマイクロコンピュータ４０２に供給する。本実施形態における撮影レンズに応じた収差補正処理では、補正関数を予め定めておき、補正関数に上記のレンズ特性データ供給部４３０から供給される補正係数を適用することで補正量を算出し、補正量にしたがって画像を変形する。撮影レンズの収差補正処理の詳細については後述する。なお、補正係数の記憶先はレンズ特性データ供給部４３０が有するメモリに限定されるものではなく、記録装置４１９に格納されても良い。撮影レンズの収差補正処理を適用するかどうかは、後述するメニュー画面で選択することができる。
【００３２】
図２は、本実施形態に係るカメラの外観を示す斜視図、図３は図２の垂直断面図である。
【００３３】
図２において、カメラ本体１００の上部には、ファインダ観察用の接眼窓１１１、ＡＥ（自動露出）ロックボタン１１２、ＡＦの測距点選択ボタン１１３、撮影操作をするためのレリーズボタン１１４が設けられている。また、電子ダイヤル４１１、撮影モード選択ダイヤル１１７、および外部表示装置４０９も設けられている。電子ダイヤル４１１は、他の操作ボタンと併用してカメラに数値を入力したり、撮影モードを切り換えたりするための多機能信号入力装置である。また、外部表示装置４０９は、液晶表示装置から構成され、シャッタースピード、絞り、撮影モードなどの撮影条件や、他の情報を表示する。
また、カメラ本体１００の背面には、撮影された画像や各種設定画面などを表示するＬＣＤモニタ装置４１７、ＬＣＤモニタ装置４１７をオン／オフするためのモニタスイッチ１２１、十字配置スイッチ１１６、およびメニューボタン１２４が設けられている。
【００３４】
十字配置スイッチ１１６は、上下左右に配された４つのボタンと、中央に配されたＳＥＴボタンを有し、ユーザがＬＣＤモニタ装置４１７に表示されるメニュー項目などの選択や実行をカメラに指示するために用いられる。
【００３５】
メニューボタン１２４は、ＬＣＤモニタ装置４１７にカメラの各種設定を行うためのメニュー画面を表示させるためのボタンである。例えば、撮影モードを選択、設定する時は、このメニューボタン１２４を押した後、十字配置スイッチ１１６の上下左右のボタンを操作して希望のモードを選択し、希望のモードが選択された状態でＳＥＴボタンを押すことにより設定が完了する。このメニューボタン１２４と十字配置スイッチ１１６は、後述するゴミ検出モードの設定や、ゴミ検出モードの際の表示モード設定および識別マークの設定にも使用される。
【００３６】
本実施形態のＬＣＤモニタ装置４１７は透過型であるため、ＬＣＤモニタ装置の駆動だけでは画像を視認することはできず、必ずその裏面には図３に示すようにバックライト照明装置４１６が必要である。このようにＬＣＤモニタ装置４１７とバックライト照明装置４１６は画像表示装置を構成している。
【００３７】
図３に示すように、撮像光学系である撮影レンズ２００はカメラ本体１００に対してレンズマウント２０２を介して着脱可能である。図３において２０１は撮影光軸、２０３はクイックリターンミラーである。
【００３８】
クイックリターンミラー２０３は撮影光路中に配置され、撮影レンズ２００からの被写体光をファインダ光学系に導く位置（図３に示す位置、斜設位置と呼ぶ）と撮影光路外に退避する位置（退避位置と呼ぶ）との間で移動可能である。
【００３９】
図３において、ピント板２０４上にはクイックリターンミラー２０３からファインダ光学系に導かれる被写体光が結像される。２０５はファインダの視認性を向上させるためのコンデンサレンズ、２０６はペンタゴナルダハプリズムであり、ピント板２０４およびコンデンサレンズ２０５を通った被写体光をファインダ観察用の接眼レンズ２０８および測光センサ２０７に導く。
【００４０】
２０９、２１０はそれぞれシャッターを構成する後幕と先幕で、これら後幕２０９、先幕２１０の開放によって後方に配置されている固体撮像素子である撮像素子４１８が必要時間だけ露光される。撮像素子によって画素毎の電気信号に変換された撮影画像は、Ａ／Ｄコンバータ４２３や画像処理回路４２５などによって処理され、画像データとして記録装置４１９に記録される。なお、撮像素子４１８の前方には光学ローパスフィルター等の光学素子４１８ａが配置されており、この光学素子４１８ａの表面に付着したゴミ等の異物が撮像素子４１８の撮像画面内に写り込むことになる。
【００４１】
撮像素子４１８はプリント基板２１１に保持されている。このプリント基板２１１の後方には、もう一枚のプリント基板である表示基板２１５が配置されている。この表示基板２１５の反対側の面にＬＣＤモニタ装置４１７およびバックライト照明装置４１６が配置されている。
【００４２】
４１９は画像データを記録する記録装置、２１７は電池（携帯用電源）である。この記録装置４１９および電池２１７は、カメラ本体に対して着脱可能である。
【００４３】
（レンズ収差補正ルーチン）
本実施例におけるレンズ収差補正処理の一例として、歪曲収差補正処理について説明する。
【００４４】
レンズ収差補正処理を行うためには、レンズを識別する識別情報、ズーム位置を特定するための撮影時焦点距離情報、絞り値であるＦ値などの撮影時光学情報が必要である。本実施例では、これらの情報を被写体撮影時に撮影画像データのヘッダ情報であるＥｘｉｆ情報のＭａｋｅｒＮｏｔｅタグに格納する。このように格納することで、撮影画像と撮影時光学情報を一対一に管理することが可能である。また、さらに補正精度を上げるために、上記の情報に加えて被写体距離情報など有用な情報を格納しても良い。
【００４５】
図４は、歪曲収差補正前の像高と補正後の像高の関係を示す図である。ここで像高とは、画像中心から画素（ｉ，ｊ）までの距離であるものとする。図示するように、歪曲収差補正前の像高から歪曲収差補正後の像高への変換を順変換、歪曲収差補正後の像高から歪曲収差補正前の像高への変換を逆変換とする。図中、レンズ特性データが、撮影時の焦点距離情報やＦ値などの撮影時光学情報によって定まる曲線である。歪曲収差補正処理は、歪曲収差補正前の像高と歪曲収差補正後の像高対応表である歪曲収差補正ルックアップテーブルを使って行う。従って、歪曲収差補正ルックアップテーブルは様々な撮影時光学情報に対応して用意されており、これらはレンズ特性データ供給部４３０に格納されている。
【００４６】
通常、画素の変換を伴う画像処理は一般的に、逆変換によって画像処理を行う。つまり、変換後の画素を基準に、逆変換テーブルを用いて変換前の画素を求め、その変換前の画素における画像データ（画素値）を変換後の画素における画像データ（画素値）とする、置き換え処理である。このように逆変換による画像処理が望ましいのは、デジタル画像であるビットマップの場合、処理後の画素に処理前の画素が対応するとは限らないためである。
【００４７】
図５は、本実施例における歪曲収差補正処理の流れを示すフローチャートである。
【００４８】
ステップＳ１８０１で、処理対象画像のＥｘｉｆ情報から撮影時光学情報（収差情報を含む）を取得し（レンズ情報取得）、これに対応する歪曲収差補正ルックアップテーブルをレンズ特性データ供給部４３０から取得する。
【００４９】
次に、ステップＳ１８０２で、処理対象画像のＥｘｉｆ情報から画素ピッチを取得する。画素ピッチとは隣り合う画素と画素のミリ単位で表される距離のことである。
【００５０】
ステップＳ１８０３では、歪曲収差補正後の画像である出力画像の画像サイズを求める。出力画像の画像サイズの算出方法については後述する。
【００５１】
次に、ステップＳ１８０４で、ステップＳ１８０３で求めた画像サイズ（幅ｆｗピクセル、高さｆｈピクセル）を用いて、次式によりルックアップテーブルサイズｆｓを算出する。ｆｓは、出力画像の中心から頂点までのピクセル単位での距離である。
【００５２】
ｆｓ＝√（（（ｆｗ/２）＊（ｆｗ/２））＋（（ｆｈ/２）＊（ｆｈ/２）））
ステップＳ１８０５では、ステップＳ１８０１で得た歪曲収差補正ルックアップテーブルをスプライン補間して、ステップＳ１８０４で求めたルックアップテーブルサイズｆｓに応じた歪曲収差補正ルックアップテーブルに変換する。ここで、歪曲収差補正ルックアップテーブルの入力値は出力画像（歪曲収差補正後の画像）の中心からのピクセル単位の距離であり、出力値は入力画像（歪曲収差補正前の画像）の中心からのピクセル単位の距離である。このとき、ピクセル単位の距離をミリ単位の距離に変換するためには、ステップＳ１８０２で求めた画素ピッチを用いる。
【００５３】
ステップＳ１８０６では、ステップＳ１８０３で求めた画像サイズの画像を構成する各画素に対して、後述する画素値算出処理を実行する。全ての画素について画素値を算出したら、処理を終了する。
【００５４】
図６は、上述の逆変換によって歪曲収差を補正する、画像処理を説明するための説明図である。
【００５５】
歪曲収差は、たる型の歪みが生じる場合と、糸巻き型の歪みが生じる場合があるが、例えば、たる型の歪みが生じた矩形画像の全画素を、歪みのない画像に補正した場合、その出力画像は、４頂点が鋭角に尖ったアメーバ形状の画像となる。図では、歪曲収差補正後の画像として、この形状が実線で表現されている。最終的な出力画像としては、点線で表された矩形画像を切り出すものとする。
【００５６】
ここで、歪曲収差補正後の画像における座標Ｐ（ｉ，ｊ）の画素値を取得したい場合、まずこの座標の中心からの距離ｄを求める。そして、歪曲収差補正ルックアップテーブルから、入力値ｄに対する出力値ｄ’を得る。つまり、歪曲収差補正後の像高から、歪曲収差補正前の像高を求めることになる。そして、歪曲収差補正補正前の画像において、θ＝ｔａｎ-1（ｊ／ｉ）となる方向で距離ｄ’となる座標Ｐ’（ｉ’，ｊ’）を求める。ここで、Ｐ’（ｉ’，ｊ’）は必ずしも整数座標になるとは限らない。そこで、この座標を包含する周囲４点の整数座標における画素値を用いて、バイリニア補間によりこのＰ’（ｉ’，ｊ’）の画素値を演算する。このように逆変換処理を行うと、歪曲収差補正後の座標Ｐ（ｉ，ｊ）における座標値は、歪曲収差補正前の座標Ｐ’（ｉ’，ｊ’）の座標値として求めることができる。これを、歪曲収差補正後の画像の点線で囲まれた矩形内の全座標で繰り返し演算を行なえば、出力画像の全画素値を取得することができる。
【００５７】
ここで、図６の点線で囲まれた矩形である出力画像のサイズについて、好ましい決定の仕方について説明する。
【００５８】
図７は、歪曲収差補正前の画像（一点鎖線）と歪曲収差補正後の画像（点線）の第一象限を取り出してその関係を説明する図である。なお、歪曲収差補正前の画像のｘ軸方向の最大値をｗ／２、ｙ軸方向の最大値をｈ／２とする。
【００５９】
まずｘ軸方向について、歪曲収差補正前のｙ座標をｈ／２に固定し、ｘ座標を０からｗ／２まで推移させたときにどのような曲線を描くかを求める。ここで、歪曲収差補正ルックアップテーブルは、入力値が出力画像の中心からのピクセル単位の距離で、出力値が入力画像の中心からのピクセル単位の距離として逆変換処理用に用意されているので、一旦順変換処理用に作り直すものとする。このように作り直された順変換処理用の歪曲収差補正ルックアップテーブルを用いて、（０，ｈ／２）から（ｗ／２，ｈ／２）まで繰り返し変換後の座標を求める。
【００６０】
次に、同様にｙ軸方向について、歪曲収差補正前のｘ座標をｗ／２に固定し、ｙ座標を０からｈ／２まで推移させたときにどのような曲線を描くかを求める。つまり、順変換処理用の歪曲収差補正ルックアップテーブルを用いて、（ｗ／２，０）から（ｗ／２，ｈ／２）まで繰り返し変換後の座標を求める。
【００６１】
このようにして求めた座標を繋ぎ合わせたものが、図における実線で表された、歪曲収差補正後の外郭となる。この形状は、図６を用いて説明した、４頂点が鋭角に尖ったアメーバ形状の第一象限分と同じ形状である。
【００６２】
このようにして求めた外郭において、これに内接する矩形、つまり、ｘ軸方向では最小値となるｗ’／２、ｙ軸方向では最小値となるｈ’／２を、それぞれｘ軸，ｙ軸の最大値とする矩形を出力画像のサイズ（第一象現分）と定める。
【００６３】
なお、ここではたる型の歪みが生じた矩形画像を補正処理する場合を例にしたが、糸巻き型の歪みが生じた矩形画像を補正処理する場合には、出力される外郭形状はアメーバ形状にはならず、楕円に近いような形状になる。この場合であっても、同様の処理をおこなって内接する矩形を求めれば、出力画像のサイズを定めることができる。
【００６４】
このように定められた矩形である出力画像のサイズに応じて、図６を用いて説明した逆変換処理を全座標で繰り返し演算を行なえば、出力画像の全画素値を取得することができることになる。
【００６５】
（ゴミ検出処理）
図８は、本実施形態に係るカメラの異物検出モードにおけるゴミ検出処理（ゴミによって画像不良が生じている画素位置の検出処理）を説明するフローチャートである。当該処理は、マイクロコンピュータ４０２がメモリ４２８に記憶されたゴミ検出処理プログラムを実行することにより実施される。
【００６６】
ゴミ検出処理（異物情報取得処理）は、ゴミ検出用画像（異物検出用画像）を撮像することにより行われる。ゴミ検出処理を行う場合、面光源装置の出射面や白い壁などの均一な色を持つ面に撮影レンズ２００の撮影光軸２０１を向けてカメラを設置し、ゴミ検出の準備を行なう。または、レンズマウント２０２にゴミ検出用のライトユニット（レンズの代わりに装着する小型の点光源装置）を装着し、ゴミ検出の準備を行う。ライトユニットの光源は例えば白色ＬＥＤが考えられ、発光面のサイズを予め定めた絞り値（例えば、本実施形態ではＦ１６）相当になるように調整するのが望ましい。
【００６７】
本実施形態では、通常の撮影レンズを用いた場合について説明するが、上記のライトユニットをレンズマウント２０２に取り付けてゴミ検出を行っても良い。このように、本実施形態においてゴミ検出用画像は、均一な色を有する画像である。
【００６８】
準備が終了した後、例えば十字配置スイッチ１１６からゴミ検出処理の開始が指示されると、マイクロコンピュータ４０２は、まず絞りの設定を行う。撮像素子近傍のゴミはレンズの絞り値によって結像状態が変わり、レンズの瞳位置によって位置が変化する。したがって、ゴミ補正データ（異物情報）にはゴミの位置や大きさに加え、検出時の絞り値とレンズの瞳位置を保持する必要がある。
【００６９】
ただし、ゴミ補正データを作成する段階で、異なるレンズを用いたとしても常に同じ絞り値を使うことを予め決めておけば、必ずしもゴミ補正データ内に絞り値を保持する必要はない。また、瞳位置に関してもライトユニットを用いたり、特定のレンズのみの使用を許可することで、同様に必ずしもゴミ補正データ内に瞳位置を保持する必要はなくなる。つまり、ゴミ補正データを作成する段階において、使用するレンズを複数許したり、絞り込む絞り値を適宜変更する場合には、検出時の絞り値とレンズの瞳位置を、ゴミ補正データ内に保持する必要があると言える。なお、ここで瞳位置とは、射出瞳の撮像面（焦点面）からの距離をいう。
【００７０】
ここでは、例えばＦ１６を指定する（ステップＳ２１）。
【００７１】
次にマイクロコンピュータ４０２はレンズ制御回路４０７に対し、撮影レンズ２００の絞り羽根制御を行わせ、ステップＳ２１で指定された絞り値に絞りを設定する（ステップＳ２２）。さらに、フォーカス位置を無限遠に設定する（ステップＳ２３）。
【００７２】
撮影レンズの絞り値とフォーカス位置が設定されると、ゴミ検出モードでの撮影を実行する（ステップＳ２４）。ステップＳ２４で行う撮像処理ルーチンの詳細に関しては図９を用いて後に説明する。撮影された画像データは、バッファメモリ４２４に格納される。
【００７３】
撮影が終了すると、撮影時の絞り値とレンズ瞳位置を取得する（ステップＳ２５）。画像処理回路４２５に画像バッファメモリ４２４に記憶されている撮影画像の各画素に対応するデータを呼び出す（ステップＳ２６）。画像処理回路４２５は、図１０に示す処理を行い、ゴミが存在する画素の位置と大きさを取得する（ステップＳ２７）。ステップＳ２７で取得したゴミが存在する画素の位置と大きさ、およびステップＳ２５で取得した絞り値とレンズ瞳位置情報を、ゴミ位置メモリ４２７に登録する（ステップＳ２８）。ここで、前述したライトユニットを用いた場合には、レンズ情報を取得できない。そこで、レンズ情報が取得できない場合は、ライトユニットを使ったと判断し、予め定められたレンズ瞳位置情報と、ライトユニットの光源径から算出される換算絞り値を登録する。
【００７４】
ここで、ステップＳ２８において、予め画素欠陥位置メモリに記録されている製造時からの不良画素（画素欠陥）の位置と、読み出した画素データの位置を比べて画素欠陥であるかどうかを確認する。そして、画素欠陥によるものでは無いと判断された領域のみ、ゴミ位置メモリ４２７に位置を登録しても良い。
【００７５】
ゴミ位置メモリ４２７に格納されるゴミ補正データのデータ形式例を図９に示す。図９に示した通り、ゴミ補正データには、検出用画像撮影時（画像信号取得時）の、レンズ情報（レンズの特性情報）とゴミの位置、大きさの情報が格納される。このゴミ補正データは、通常撮影時に画像データの撮影時情報と共に画像に付加し、後に説明するゴミ除去処理で利用する。
具体的には、検出用画像撮影時のレンズ情報として、検出用画像撮影時における実際の絞り値（Ｆ値）と、そのときのレンズ瞳位置を格納する。続く記憶領域に検出したゴミ領域の数（整数値）を格納し、これに続き、個々の具体的なゴミ領域のパラメータを、ゴミ領域の数だけ繰返して格納する。ゴミ領域のパラメータは、ゴミの半径（例えば２バイト）、有効画像領域における中心のｘ座標（例えば２バイト）、おなじく中心のｙ座標（例えば２バイト）の３つの数値のセットである。
【００７６】
ゴミ位置メモリ４２７の大きさ等によりゴミ補正データサイズに制限がある場合、ステップＳ２７で得たゴミ領域の先頭から優先してデータを格納する。これは、ステップＳ２７のゴミ領域取得ルーチン内では、後述するようにゴミ領域を、目立つゴミの順にソートするからである。
【００７７】
（ゴミ領域取得ルーチン）
次に、図１０から図１２を用いて、ステップＳ２７で行うゴミ領域取得ルーチンの詳細について説明する。
【００７８】
図１１に示すように、呼び出した画像データをメモリ上に展開し、予め定められたブロック単位で処理を行う。これは、レンズやセンサ特性に起因する周辺減光に対応するためである。周辺減光とは、レンズの中央部に比べ周辺部の輝度が落ちてしまう現象であり、レンズの絞りを小さくすることである程度軽減されることが知られている。しかし、絞りを絞った状態でも、撮影画像に対して予め定められたスレッショルド値でゴミ位置の判定を行うと、レンズによっては周辺部のゴミが正確に検出できなくなるという問題がある。そこで、画像をブロック分割して周辺減光の影響を軽減する。
【００７９】
単純にブロック分割すると、ブロックとブロックの間でスレッショルド値が異なる場合、ブロック間をまたぐゴミの検出結果がずれてしまうという問題がある。そこで、ブロック間をオーバーラップさせ、オーバーラップ領域を構成するブロックのいずれかでゴミと判定された画素をゴミ領域として扱う。
【００８０】
ブロック内のゴミ領域判定は、図１０に示す処理の流れで行う。まず、ブロック内の最大輝度Ｌmax、平均輝度Ｌaveを算出し、次式を用いてブロック内のスレッショルド値Ｔ１を算出する。
【００８１】
Ｔ１＝Ｌave×０.６＋Ｌmax×０.４
次に、スレッショルド値を超えない画素をゴミ画素とし（ステップＳ６１）、ゴミ画素によって構成される孤立領域を各々一つのゴミ領域ｄｉ（ｉ＝０，１，…，ｎ）とする（ステップＳ６２）。図１２に示すように、ゴミ領域毎に、ゴミ領域を構成する画素の水平方向の座標の最大値Ｘmaxおよび最小値Ｘmin、垂直方向の座標の最大値Ｙmaxおよび最小値Ｙminを求め、ゴミ領域ｄｉのサイズを表す半径ｒｉを次式によって算出する（ステップＳ６３）。
【００８２】
ｒｉ＝√[｛（Ｘmax−Ｘmin）／２｝2＋｛（Ｙmax−Ｙmin）／２｝2]
Ｘmax、Ｘmin、Ｙmax、Ｙminとｒｉの関係を、図１２に示す。
【００８３】
その後ステップＳ６４で、ゴミ領域毎の平均輝度値を算出する。
【００８４】
ゴミ位置メモリ４２７のサイズによる制限などにより、ゴミ補正データのデータサイズが制限されている場合がある。このような場合に対応するために、ゴミ位置情報を、大きさやゴミ領域の平均輝度値によってソートする（ステップＳ６５）。本実施形態では、ｒｉの大きい順にソートする。ｒｉが等しい場合、平均輝度値の低い順にソートする。このようにすることで、目立つゴミを優先してゴミ補正データに登録することが出来る。なお、ソート済みのゴミ領域をＤｉ、ゴミ領域Ｄｉの半径をＲｉとする。
【００８５】
なお、予め定められたサイズより大きいゴミ領域がある場合、ソートの対象から外し、ソート済みゴミ領域リストの末尾に配置しても良い。これは、大きいゴミ領域については、後に補間処理をするとかえって画質を低下させる場合があり、編集対象の優先順位としては最下位として扱うことが望ましいからである。
【００８６】
（撮像処理ルーチン）
次に、図１３に示すフローチャートを用いて、図８のステップＳ２４で行われる撮像処理ルーチンの詳細について説明する。当該処理はマイクロコンピュータ４０２がメモリ４２８に記憶された撮像処理プログラムを実行することにより実施される。
【００８７】
この撮像処理ルーチンが実行されると、ステップＳ２０１でマイクロコンピュータ４０２は、図３に示すクイックリターンミラー２０３を作動させ、いわゆるミラーアップを行い、撮影光路外にクイックリターンミラー２０３を退避させる。
【００８８】
次に、ステップＳ２０２で撮像素子での電荷蓄積を開始し、次のステップＳ２０３では図３に示したシャッターの先幕２１０、後幕２０９をそれぞれ走行させて露光を行う。そして、ステップＳ２０４で撮像素子の電荷蓄積を終了し、次のステップＳ２０５で撮像素子から画像信号を読み出してＡ／Ｄコンバータ４２３および画像処理回路４２５で処理した画像データをバッファメモリ４２４に一次記憶する。
【００８９】
次のステップＳ２０６で撮像素子から全ての画像信号の読み出しが終了すると、ステップＳ２０７でクイックリターンミラー２０３をミラーダウンし、クイックリターンミラーを斜設位置に戻して一連の撮像動作を終了する。
【００９０】
ステップＳ２０８において、通常撮影（被写体像の撮影）かゴミ検出用画像の撮影かを判断し、通常撮影時にはステップＳ２０９へ進んで撮影時のカメラ設定値等と共に図９に示したゴミ補正データを画像データに関連付けて記録装置４１９に記録する。
【００９１】
具体的には、例えば、撮影時のカメラ設定値等が記録される画像ファイルのヘッダ領域であるＥｘｉｆ領域にゴミ補正データを追記することで、関連付けを実現することができる。または、ゴミ補正データをファイルとして独立して記録し、画像データにはそのゴミ補正データファイルへのリンク情報のみを記録することで関連付けを実現することも可能である。ただし、画像ファイルとゴミ補正データファイルを別々に記録すると、画像ファイルの移動時に、リンク関係が消失する場合があるので、ゴミ補正データは画像データと一体的に保持することが望ましい。
【００９２】
（ゴミ補正データの変換）
撮影画像に対して、レンズ収差補正処理とゴミ除去処理の両方を施すとき、順序として、まずレンズ収差補正処理を行ってから次にゴミ除去処理を行う場合と、その逆の場合がある。まずゴミ除去処理を行ってから次にレンズ収差補正処理を行う場合であれば、収差補正処理の影響を考慮することなくゴミ補正データを用いることができる。従って、歪曲収差補正処理を行う前にゴミ除去処理を施す方が、処理としては簡単である。しかし、撮影を行う撮像装置と、撮影された画像データをユーザが加工／鑑賞する画像処理装置は別物である場合が多く、それぞれの装置でどのような画像処理を担うかの役割分担の問題がある。また、ゴミ除去処理の対象となる領域が、被写体像との関係で、必ずしも適切に補正できる領域であるとは限らないという問題がある。例えば、コントラストの差が激しい被写体に跨って存在するゴミを補正処理しようとした場合、処理によってコントラストの差を無くしてしまう恐れがある。つまり、ゴミ除去処理を行いたくない場合があり、このような判断が必要となる処理は、処理が複雑で時間がかかるため、できるだけ後段で行うほうが有利である。
【００９３】
従って、本実施形態においては、まずレンズ収差補正処理を行って、次にゴミ除去処理を行うものとする。このような順序で処理を行う場合、ゴミ補正データを、レンズ収差に応じて変換しなければならない。
【００９４】
ゴミ補正データのデータ形式は、図９を用いて説明したように、ゴミ領域はゴミの半径と、中心のｘ座標、おなじく中心のｙ座標の３つの数値のセットで表されている。
【００９５】
まず座標の変換は、歪曲収差補正前の座標点から歪曲収差補正後の座標点を求めることになるので、順変換による処理を行う。ここで、歪曲収差補正ルックアップテーブルは、入力値が出力画像の中心からのピクセル単位の距離で、出力値が入力画像の中心からのピクセル単位の距離として逆変換処理用に用意されているので、一旦順変換処理用に作り直すものとする。そして、作り直された順変換処理用の歪曲収差補正ルックアップテーブルを用いて、ゴミ補正データに記述された座標Ａ（Ｘａ，Ｙａ）を、Ａ’（Ｘａ’，Ｙａ’）に変換する。
【００９６】
具体的には座標Ａの中心からの距離である像高ｄａを、作り直された歪曲収差補正ルックアップテーブルに入力し、歪曲収差補正後の像高ｄａ’を得る。そして、θ＝ｔａｎ−１（Ｙａ／Ｘａ）となる方向で距離ｄａ’となる座標Ａ”（Ｘａ”，Ｙａ”）を求める。そして、このＡ”に最も近い整数座標をＡ’と定めるものとする。
【００９７】
次に、半径の変換を行う。歪曲収差補正を行う場合に、像高が小さくなる方向に変換されるのであれば、変換前に比べ変換後のゴミ領域は小さくなり、像高が大きくなる方向に変換されるのであれば、逆に、変換前に比べて変換後のゴミ領域は大きくなる。これは、生じる歪曲収差が、糸巻き型であるかたる型であるかによる。半径の変換はこの関係に着目し、以下の変換式を用いることとする。
【００９８】
ｒａ’＝ｒａ＋α（ｄａ’−ｄａ）
ここで、ｒａ’は変換後の半径であり、ｒａは変換前の半径である。ｄａ’は上述の中心座標Ａ（Ｘａ，Ｙａ）の変換後の像高であり、ｄａは変換前の像高である。αは、実験的に定められる、余裕量を見越した定数である。このような変換式を用いることにより、歪曲収差の型および座標位置に応じて、適切に半径を変換することが可能となる。
【００９９】
このような変換を、ゴミ補正データに記述されている全てのゴミデータに対して行うことで、変換後のゴミ補正データを得ることができる。
【０１００】
なお、ここではゴミの位置および大きさともに変換しているが、大きさについては位置に比べてそれほど厳密に変換する必要がない場合も多いので、厳密さを要求しない場合には、変換しないままゴミ検出時の大きさを用いても良い。
【０１０１】
（ゴミの除去を行うための処理）
次に、ゴミの除去（異物除去処理）を行うための処理の流れについて説明する。ゴミの除去を行うための処理は、カメラ本体ではなく、別途用意した画像処理装置上で行うものとする。また、ここでは簡単のため、まずレンズ収差補正を行わない場合について説明する。レンズ収差補正を行ってからゴミ除去処理を行う場合の説明は後述する。
【０１０２】
図１４は、画像処理装置のシステム構成の概略を示した図である。
【０１０３】
ＣＰＵ１００１は、システム全体の動作をコントロールし、一次記憶部１００２に格納されたプログラムの実行などを行う。一次記憶部１００２は、主にメモリであり、二次記憶部１００３に記憶されたプログラムなどを読み込んで格納する。二次記憶部１００３は、例えばハードディスクなどがこれに該当する。一般に一次記憶部の容量は二次記憶部の容量より小さく、一次記憶部に格納しきれないプログラムやデータなどは二次記憶部に格納される。また、長時間記憶しなくてはならないデータなども二次記憶部に格納される。本実施形態では、プログラムを二次記憶部１００３に格納し、プログラム実行時に一次記憶部１００２に読み込んでＣＰＵ１００１が実行処理を行う。
【０１０４】
入力デバイス１００４とは例えば、システムのコントロールに用いるマウスやキーボードの他、画像データの入力に必要なカードリーダー、スキャナ、フィルムスキャナなどがこれに該当する。出力デバイス１００５とは例えば、モニタやプリンタなどが考えられる。この装置の構成方法は他にも様々な形態が考えられるが、本発明の主眼ではないので説明を省略する。
【０１０５】
画像処理装置には、複数のプログラムを並列実行可能なオペレーティングシステムが搭載され、操作者はＧＵＩを使ってこの装置上で動作するプログラムの操作が可能である。  本実施形態における画像処理装置は、ゴミの除去を行うための処理である画像編集機能として２つの処理を実行可能である。一つはコピースタンプ処理で、もう一つはリペア処理である。コピースタンプ処理とは、ユーザによりカーソル等で指定された画像上の一部の領域を別途指定された別の領域に合成する機能である。リペア処理とは、指定された領域内で予め定められた条件に合う孤立領域を検出し、この孤立領域を周囲の画素で補間する機能である。このリペア処理は、ユーザによりカーソル等で指定された領域に対して行う手動リペア機能と、ゴミ補正データを利用して自動的に処理を実行する自動リペア機能とがある。この自動リペア機能が、これまで単にゴミ除去処理と言っていたものであり、その具体的な処理についての詳細は後述する。
【０１０６】
図１５は、画像処理装置における画像編集プログラムのＧＵＩ（Graphical User Interface）を示す図である。ウィンドウにはクローズボタン１１００とタイトルバー１１０１が備えられ、クローズボタンを押すことでプログラムを終了する。ファイルを画像表示領域１１０２にドラッグアンドドロップすることで編集対象画像を指定し、編集対象画像が決定された場合、タイトルバー１１０１にファイル名を表示した後、画像表示領域１１０２に対象画像をＦｉｔ表示する。
【０１０７】
編集対象画像の表示状態は、Ｆｉｔ表示と画素等倍表示の２つがあり、表示モードボタン１１０８で切り換えることが出来る。本ＧＵＩでは、画像上をクリックして加工位置を指定するが、Ｆｉｔ表示時はクリックされた位置に対応する加工画像上での座標を表示倍率に応じて算出し、その座標に処理を適用するものとする。また、本ＧＵＩでは処理範囲を半径で指定するが、この半径は編集対象画像上での半径であり、表示倍率によってはＦｉｔ表示した画像上での半径とは異なる場合がある。
【０１０８】
自動リペア処理実行ボタン１１０３を押すと、後述する自動ゴミ除去処理を実行し、処理後の画像を画像表示領域１１０２に表示する。自動リペア処理実行ボタン１１０３は、画像が未編集の状態でのみ有効になり、コピースタンプ処理やリペア処理、自動リペア処理の実行により画像が編集された状態の場合は無効になる。
【０１０９】
半径スライダ１１０６は、コピースタンプ処理とリペア処理の適用範囲を指定するスライダである。
【０１１０】
リペア処理モードボタン１１０４を押すと、リペア処理モードになる。リペア処理モード時に画像中を左クリックすると、左クリックした座標を中心、半径スライダ１１０６で指定した画素数を半径とする領域に対し、後述するリペア処理を適用する。リペア処理を適用した後は、リペア処理モードを抜ける。また、リペアモード時に画像表示領域１１０２上で右クリックが押された場合、あるいはＧＵＩ上のいずれかのボタンが押された場合、リペアモードを抜ける。
【０１１１】
コピースタンプ処理モードボタン１１０５を押すと、コピースタンプモードになる。コピースタンプモード時に画像中が左クリックされた場合、左クリックされた座標をコピー元領域の中心座標に設定する。コピー元領域の中心座標が設定された状態で更に画像上が左クリックされた場合、左クリックされた座標をコピー先領域の中心座標、この時点での半径スライダ１１０６で指定された半径をコピー半径としてコピースタンプ処理を実行し、コピー元領域の中心座標を未設定の状態にしてコピースタンプモードを抜ける。また、コピースタンプモード時に画像表示領域１１０２上で右クリックが押された場合、あるいはＧＵＩ上のいずれかのボタンが押された場合、コピー元領域の中心座標を未設定の状態にしてコピースタンプモードを抜ける。
【０１１２】
保存ボタン１１０７が押された場合、処理後の画像を保存する。
【０１１３】
本画像編集プログラムでは、図１６に示すように元画像と処理後の画像の両方を保持する。つまり、ユーザのＧＵＩ操作によって処理が実行された場合、その前後の画像を保持すると同時に、その操作によって指定された編集処理を記録する。具体的には、ＧＵＩで指定された編集処理は、処理後の画像に対して順次適用され、適用された編集処理を編集履歴として登録していく。編集履歴に登録した１回分の編集処理のことを、編集エントリと呼ぶ。
【０１１４】
編集エントリの例を図１７に示す。本実施形態における編集エントリには、コピースタンプ処理かリペア処理かを区別するための処理ＩＤ、処理の適用領域を示す中心と半径、コピースタンプ処理の場合に必要なコピー元座標からコピー先座標への相対座標、後述する差分画像データを保持する。自動リペア処理を実行した場合、ゴミ補正データに従ってリペア処理を実行し、リペア処理を適用する度に編集エントリを編集履歴に追加する。
このような実装にすることで、編集履歴を完全に破棄して元画像を復元したり、直前の編集処理を取り消したりすることができる。
【０１１５】
例えば直前の編集処理を取り消す処理は、一旦処理後の画像を元画像で上書きし、取り消し対象の編集エントリの直前まで編集処理を再実行することで実現可能である。しかし、エントリの数が非常に多い場合など編集処理の再実行に時間がかかってしまう場合がある。そこで、編集操作を実行する度に、編集処理の実行前後について画像データの差分を取り、これを編集エントリに保持する。差分画像を保持すれば、１つの編集エントリを取り消す場合、編集エントリに記載された編集処理を１つ前の編集エントリまで最初から再実行する代わりに、差分画像を反映するだけで１つ前の編集エントリに戻ることができる。なお、この編集エントリの集まりである編集履歴は、画像処理装置の一次記憶部１００２又は二次記憶部１００３に記憶される。
【０１１６】
次に、リペア処理、自動リペア処理の各処理の詳細について述べる。コピースタンプ処理はよく知られた技術であるため、処理の詳細については説明を省略する。
リペア処理は、指定された領域内の孤立領域を検出し、この孤立領域を補間する処理である。リペア処理は、ＧＵＩで指定された中心座標と半径で表現される領域に対し、後述する補間ルーチンを適用することで実現する。
【０１１７】
自動リペア処理では、ゴミ除去処理を行う対象となる画像データである撮影画像データのＥｘｉｆ情報からゴミ補正データを抽出し、ゴミ補正データに応じてリペア処理を自動実行する。自動リペア処理の基本的な処理の流れを、図１８に示す。
【０１１８】
まず、カメラ内又はカメラから取り外された記録装置４１９から、ゴミ補正データがＥｘｉｆ情報として付加された撮影画像データを画像処理装置に取り込んで、一次記憶部１００２又は二次記憶部１００３に記憶する（ステップＳ９０）。
【０１１９】
次に、撮影画像データから、Ｅｘｉｆ情報として記述されたゴミ補正データを抽出する（ステップＳ９１）。
【０１２０】
次に、ステップＳ９１で抽出したゴミ補正データから座標列Ｄｉ（ｉ＝１，２，…ｎ）、半径列Ｒｉ（ｉ＝１，２，…，ｎ）、絞り値ｆ１とレンズ瞳位置Ｌ１を得る（ステップＳ９２）。ここでＲｉは、図１０のステップＳ６５で算出した座標Ｄｉのゴミの大きさである。ステップＳ９３で、撮影された画像の撮影時の絞り値ｆ２とレンズ瞳位置Ｌ２を取得し、ステップＳ９４でＤｉを次式で変換する。ここで、Ｈは撮像素子４１８の表面とゴミとの距離であるとする。変換後の座標Ｄｉ’と変換後の半径Ｒｉ’は例えば次式で定義する。
【０１２１】
Ｄｉ’（ｘ，ｙ）＝（Ｌ２×（Ｌ１−Ｈ）／（（Ｌ２−Ｈ）×Ｌ１））×Ｄｉ（ｘ，ｙ）
Ｒｉ’＝（Ｒｉ×ｆ１／ｆ２＋３）× ２              
ここでの単位はピクセルであり、Ｒｉ’についての「＋３」はマージン量である。２倍しているのは、平均輝度を用いてゴミ領域を検出するため、ゴミ領域外の領域が必要であるからである。
【０１２２】
ステップＳ９５で、補間処理カウンタｉを０に初期化し、ステップＳ９６でｉをカウントアップする。
【０１２３】
ステップＳ９７でｉ番目の座標Ｄｉ’、半径Ｒｉ’によって表される領域に対して補間ルーチンを実行し、領域内のゴミを除去する。ステップＳ９８で全ての座標についてゴミ除去処理を適用したかどうかを判定し、全ての座標について処理が終わっていれば処理を終了し、そうでなければステップＳ９６に戻る。
【０１２４】
（補間ルーチン）
ここで、リペア処理、および自動リペア処理で実行する補間ルーチンについて説明する。
【０１２５】
図１９は、補間ルーチンの流れを示すフローチャートである。まずステップＳ１２０１で、ゴミ領域判定を行う。ここで、リペア処理の対象となる領域の中心座標をＰ、半径をＲとする。ゴミ領域とは、次の条件全てを満たす領域とする。
（ｉ）リペア処理対象領域に含まれる画素の平均輝度Ｙaveと最高輝度Ｙmaxを用いて次式で求められるスレッショルド値Ｔ２より暗い領域。
【０１２６】
Ｔ２＝Ｙave×０.６＋Ｙmax×０.４
（ｉｉ）上記の中心座標Ｐ、半径Ｒで表される円と接しない領域。
（ｉｉｉ）（ｉ）で選択された輝度の低い画素によって構成される孤立領域に対し、図１０中のステップＳ６３と同様の方法で算出した半径値がl１画素以上、l２画素未満である領域。
【０１２７】
自動リペア処理時には、上記の条件に加え、さらに次の条件を満たす領域をゴミ領域とする。
（ｉｖ）円の中心座標Ｐを含む領域。
【０１２８】
本実施形態では、l１は３画素、l２は３０画素とする。このようにすることで、孤立した小領域だけをゴミ領域として扱うことが可能になる。
【０１２９】
ステップＳ１２０２で、このような領域があればステップＳ１２０３へ進みゴミ領域補間を行い、存在しない場合は処理を終了する。ステップＳ１２０３で実行するゴミ領域補間処理は、公知の欠損領域補間法で行う。公知の欠損領域補間法には例えば、特開２００１−２２３８９４号公報に開示されているパターン置換がある。特開２００１−２２３８９４号公報では赤外光を用いて欠損領域を特定しているが、本実施形態ではステップＳ１２０１で検出したゴミ領域を欠損領域として扱い、パターン置換によりゴミ領域を周囲の正常画素で補間する。パターン置換で埋められない画素については、パターン補間後の画像データに対し、補間対象画素に最も近い順に正常画素をｐ個、最も遠い順にｑ個選択し、その平均色を用いて補間する。
【０１３０】
以上で述べた方法で、カメラで取得したゴミ補正データを用いて、カメラ外部の画像処理装置でゴミを除去することができる。
【０１３１】
次に、レンズ収差補正を行う場合のゴミ除去処理について、上述のレンズ収差補正を行わない場合に対して、如何なる処理を追加するかの観点で説明する。
【０１３２】
レンズ収差補正を行ってから、ゴミ除去処理を行うという手順を採る場合、ゴミ補正データに対して必要な変換処理は以下の２つに纏められる。
（１）ゴミ検出用画像撮影時のレンズ（第１の撮影レンズ）と、通常撮影時（被写体を撮影する時）のレンズ（第２の撮影レンズ）の瞳位置の違いに基づく変換処理（図１８のステップＳ９４の変換処理）。
（２）レンズ収差補正による座標変換に基づく変換処理（例えば、上述の順変換処理用の歪曲収差補正ルックアップテーブルを用いて行う変換処理）。
【０１３３】
ここで、（１）の変換処理は、図１８ではゴミ除去処理直前の処理として説明したが、レンズ収差補正処理を行う場合は、ゴミ除去処理を実行する前であればいずれの時点で行ってもよいが、（２）の変換処理の前に行う必要がある。
【０１３４】
また、上述のように、本実施形態においてゴミ除去処理は画像処理装置で行うものであるが、レンズ収差補正については、ゴミ除去処理を実行する前であれば、カメラ本体内で行っても画像処理装置で行っても良い。（１）の変換処理をおこなう第１の変換手段、および（２）の変換処理をおこなう第２の変換手段としては、カメラ本体内で行う場合は、マイクロコンピュータ４０２であり、画像処理装置内で行う場合は、ＣＰＵ１００１となる。
【０１３５】
従って、カメラと画像処理装置をシステムとして見た場合に、一連の変換処理および補正処理は、以下の手順を踏めばよいことになる。
【０１３６】
ステップＡ：ゴミ検出用画像の取得、ゴミ補正データの作成。この時点でのゴミ補正データは、ゴミ検出画像を取得したときのレンズ情報に基づくものである。
【０１３７】
ステップＢ：被写体画像の取得。このときこの被写体画像を撮影したレンズの情報も取得する。
【０１３８】
ステップＣ：上記（１）のゴミ補正データの変換処理を行う。
【０１３９】
ステップＤ：レンズ収差補正処理を被写体画像に対して行う。
【０１４０】
ステップＥ：上記（２）のゴミ補正データの変換処理を行う。
【０１４１】
ステップＦ：変換されたゴミ補正データに基づいて、ゴミ除去処理（自動リペア処理）を行う。
【０１４２】
ただし、上記（１）を行った後に上記（２）を行うという順序が守られれば、ステップＣとステップＤは逆順であっても良いし、ステップＤとステップＥは逆順であっても良い。また、ステップＢの被写体画像の取得後は、ゴミ補正データはそのＥｘｉｆ情報に記述され、変換処理がされるたびに書き換えられるものとする。
【０１４３】
次に、カメラ本体と画像処理装置の役割分担であるが、どこまでのステップをカメラ本体で行い、どこからのステップを画像処理装置で行うかという問題がある。そこで、以下に３つの実施例を示す。
【０１４４】
（実施例１）
実施例１では、ステップＥまでをカメラ本体で行い、ステップＦを画像処理装置で行う。このように構成すると、画像処理装置を用いて行う撮影後の鑑賞や印刷指示の段階で、画像処理装置の処理負担が軽く、多くの撮影画像を同時に扱いたい場合などに有利である。
【０１４５】
具体的には、カメラ本体において、マイクロコンピュータ４０２が、画像処理回路４２５を制御することにより、被写体画像のレンズ収差補正処理を行う。そして、マイクロコンピュータ４０２が、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施し、このゴミ補正データをレンズ収差補正処理が実行された被写体画像のＥｘｉｆ情報に記述する。
【０１４６】
この段階で、レンズ収差補正による座標変換に基づく変換処理を施されたゴミ補正データをＥｘｉｆ情報として有する、レンズ収差補正処理を受けた被写体画像データは、外部記録装置４１９に記録された状態となる。
【０１４７】
次に、画像処理装置のＣＰＵ１００１は、入力デバイス１００４を介して、外部記録装置４１９に記録された被写体画像データを取り込む。そして、ＣＰＵ１００１は、ゴミ除去処理を実行する。なお、図１７を用いて説明したゴミ除去処理においては、ステップＳ９２からステップＳ９４で、上記（１）のゴミ補正データの変換処理を行っている。しかし、本実施例１では、画像処理装置が受け取る被写体画像データに付加されているゴミ補正データは、すでにこの変換処理が行われているので、画像処理装置内でのゴミ除去処理においては、これらのステップが省略される。つまり、画像処理装置内ではゴミ補正データの変換の必要は無く、付加されたゴミ補正データのその座標と半径を直接的に適用することで、被写体画像に対して補間処理を行うことができる。
【０１４８】
（実施例２）
実施例２では、ステップＣとステップＤを逆順とした上で、ステップＡ、Ｂ、Ｄをカメラ本体で行い、ステップＣ、Ｅ、Ｆを画像処理装置で行う。
【０１４９】
このように構成すると、被写体画像やゴミの付着状況によっては必ずしも画像処理装置で実行するとは限らないゴミ除去処理に対する準備を、カメラ側では最小限に留めることができる。したがって、カメラ側での処理負担が軽くなるため、カメラの連写性能などに対しては都合が良い。
【０１５０】
具体的には、カメラ本体において、マイクロコンピュータ４０２が、画像処理回路４２５を制御することにより、被写体画像のレンズ収差補正処理を行う。そして、このときＥｘｉｆ情報としては、ゴミ検出画像から得られたゴミ補正データが、ゴミ検出画像を取得したときのレンズ情報と共に、記述されている。もちろん被写体画像を撮影したレンズ情報も記述されている。
【０１５１】
次に、画像処理装置のＣＰＵ１００１は、入力デバイス１００４を介して、外部記録装置４１９に記録された被写体画像データを取り込む。そして、ＣＰＵ１００１は、被写体画像データに付加されているＥｘｉｆ情報を読み込む。このＥｘｉｆ情報を基に、まずゴミ検出画像撮影時のレンズと通常撮影時のレンズとの違いによる変換処理を施した後、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施す。レンズ収差補正による座標変換に基づく変換処理は、図１７を用いて説明したゴミ除去処理におけるステップＳ９４の直後に行われることになる。このように変換処理されたゴミ補正データに基づいて、ゴミ除去処理を実行する。なお、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施すときに必要な、歪曲収差補正ルックアップテーブルは二次記憶部１００３に記憶されている。この歪曲収差補正ルックアップテーブルは、ゴミ補正データの変換時に一次記憶部１００２に読み込まれて用いられる。
【０１５２】
（実施例３）
実施例３では、ステップＡとステップＢをカメラ本体で行い、ステップＣ〜Ｆを画像処理装置で行う。
【０１５３】
このように構成すると、実施例２の構成に比べてもさらにカメラの処理負担は軽減されるので、よりシャッタチャンスに強いという効果が得られる。
【０１５４】
具体的には、カメラ本体は、ゴミ検出用画像を撮影してゴミ補正データを取得することと通常撮影を行うのみである。通常撮影で得られた被写体画像のＥｘｉｆ情報には、ゴミ検出画像取得時のレンズ情報および通常撮影時のレンズ情報が、ゴミ補正データと共に記述されている。
【０１５５】
次に、画像処理装置のＣＰＵ１００１は、入力デバイス１００４を介して、外部記録装置４１９に記録された被写体画像データを取り込む。そして、ＣＰＵ１００１は、被写体画像に対してレンズ収差補正処理を行う。なお、歪曲収差補正ルックアップテーブルは二次記憶部１００３に記憶されており、レンズ収差補正処理時には、一次記憶部１００２に読み込まれて用いられる。そして、被写体画像データに付加されているＥｘｉｆ情報を読み込む。このＥｘｉｆ情報を基に、まずゴミ検出画像撮影時のレンズと通常撮影時のレンズとの違いによる変換処理を施した後、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施す。レンズ収差補正による座標変換に基づく変換処理は、図１７を用いて説明したゴミ除去処理におけるステップＳ９４の直後に行われることになる。このように変換処理されたゴミ補正データに基づいて、ゴミ除去処理を実行する。
【０１５６】
請求項の「画像処理装置」との対応は、上記（１）の変換処理をおこなう第１の変換手段、および上記（２）の変換処理をおこなう第２の変換手段を備える装置が請求項における「画像処理装置」であるといえる。つまり、実施例１においては、レンズ交換式一眼レフデジタルカメラが請求項の「画像処理装置」であり、実施例２，３においては、画像処理装置がそのまま請求項の「画像処理装置」に相当する。
【０１５７】
（他の実施形態）
また、各実施形態の目的は、次のような方法によっても達成される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、本発明には次のような場合も含まれる。すなわち、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【０１５８】
さらに、次のような場合も本発明に含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【０１５９】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した手順に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１６０】
【図１】本発明の実施形態に係る撮像装置としてのレンズ交換式一眼レフデジタルカメラの回路構成を示すブロック図である。
【図２】本発明の実施形態に係るデジタルカメラの外観斜視図である。
【図３】本発明の実施形態に係るデジタルカメラの内部構造を示す垂直断面図である。
【図４】歪曲収差補正前の像高と補正後の像高の関係を示す図である。
【図５】本発明の実施形態に係る歪曲収差補正処理の流れを示すフローチャートである。
【図６】逆変換によって歪曲収差を補正する、画像処理を説明するための説明図である。
【図７】歪曲収差補正前の画像と歪曲収差補正後の画像の関係を説明する図である。
【図８】本発明の実施形態に係るゴミ検出処理を説明するフローチャートである。
【図９】本発明の実施形態に係るゴミ補正データのデータ形式例を示す図である。
【図１０】図８のステップＳ２７で行われるゴミ領域取得ルーチンの詳細を説明するフローチャートである。
【図１１】図１０のステップＳ６２で行われるゴミ領域判定処理の処理単位を示す図である。
【図１２】図１０のステップＳ６３で行われるゴミ領域サイズ算出の概要を示す図である。
【図１３】図８のステップＳ２４で行われる撮像処理ルーチンの詳細を説明するフローチャートである。
【図１４】本発明の実施形態に係る画像編集プログラムの内部構造を示す図である。
【図１５】本発明の実施形態に係る画像処理装置におけるＧＵＩの例を示す図である。
【図１６】本発明の実施形態に係る画像処理装置のシステム構成の概略を示した図である。
【図１７】本発明の実施形態に係る画像編集プログラムの編集履歴のデータ構造を示す図である。
【図１８】本発明の実施形態に係る自動リペア処理の基本的な流れを説明するフローチャートである。
【図１９】本発明の実施形態に係る補間ルーチンの詳細を説明するフローチャートである。
【図１】
0004960852.tif 000002
【図２】
0004960852.tif 000003
【図３】
0004960852.tif 000004
【図４】
0004960852.tif 000005
【図５】
0004960852.tif 000006
【図６】
0004960852.tif 000007
【図７】
0004960852.tif 000008
【図８】
0004960852.tif 000009
【図９】
0004960852.tif 000010
【図１０】
0004960852.tif 000011
【図１１】
0004960852.tif 000012
【図１２】
0004960852.tif 000013
【図１３】
0004960852.tif 000014
【図１４】
0004960852.tif 000015
【図１５】
0004960852.tif 000016
【図１６】
0004960852.tif 000017
【図１７】
0004960852.tif 000018
【図１８】
0004960852.tif 000019
【図１９】
0004960852.tif 000020