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