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