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