(57)【要約】【課題】ゴミを補正する条件を最適化し、出力される画像の品質を向上させる。【解決手段】被写体像を光電変換する撮像素子の前方に配置された光学素子に付着した異物の影が写り込んだ画像データを、異物の影を除去するように補正し、補正された補正画像データを可視画像として出力する出力装置に送信する画像処理装置であって、画像データの画像の画素数を取得する画像画素数取得部と、出力装置に出力する画像の解像度に関する情報を取得する出力解像度取得部と、少なくとも画像画素数取得部によって取得された画素数と、出力解像度取得部によって取得された解像度に関する情報とに基づいて、異物を補正する度合いを設定する異物補正レベル設定部と、異物補正レベル設定部により設定された異物補正レベルに基づいて、画像データに写りこんだ異物の影を補正する異物補正部とを備える。【選択図】図１２
2008306306.tif 000002
【特許請求の範囲】
【請求項１】
被写体像を光電変換する撮像素子の前方に配置された光学素子に付着した異物の影が写り込んだ画像データを、前記異物の影を除去するように補正し、補正された補正画像データを可視画像として出力する出力装置に送信する画像処理装置であって、
前記画像データの画像の画素数を取得する画像画素数取得手段と、
前記出力装置に出力する画像の解像度に関する情報を取得する出力解像度取得手段と、
少なくとも前記画像画素数取得手段によって取得された画素数と、前記出力解像度取得手段によって取得された解像度に関する情報とに基づいて、異物を補正する度合いを設定する異物補正レベル設定手段と、
前記異物補正レベル設定手段により設定された異物補正レベルに基づいて、前記画像データに写りこんだ異物の影を補正する異物補正手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
ユーザにより指定されるところの、異物を補正する度合いであるユーザ補正レベルを設定するユーザ補正レベル設定手段を更に備え、前記異物補正レベル設定手段は、前記画像画素数取得手段によって取得された画素数と、前記出力解像度取得手段によって取得された解像度に関する情報と、前記ユーザ補正レベルとに基づいて、異物を補正する度合いを設定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記出力装置はプリンタであり、前記解像度に関する情報とは、前記画像処理装置でユーザにより設定される、前記プリンタから出力されるプリントの用紙サイズであることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記異物補正手段は、前記画像データに関連付けて記録されている、少なくとも前記画像データの画像内における前記異物の影に関する位置情報に基づいて補正することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記異物補正手段により補正された補正画像データと、補正した位置とを表示する表示手段を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
被写体像を光電変換する撮像素子の前方に配置された光学素子に付着した異物の影が写り込んだ画像データを、前記異物の影を除去するように補正し、補正された補正画像データを可視画像として出力する出力装置に送信する画像処理装置を制御する方法であって、
前記画像データの画像の画素数を取得する画像画素数取得工程と、
前記出力装置に出力する画像の解像度に関する情報を取得する出力解像度取得工程と、
少なくとも前記画像画素数取得工程において取得された画素数と、前記出力解像度取得工程において取得された解像度に関する情報とに基づいて、異物を補正する度合いを設定する異物補正レベル設定工程と、
前記異物補正レベル設定工程において設定された異物補正レベルに基づいて、前記画像データに写りこんだ異物の影を補正する異物補正工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項７】
請求項６に記載の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラ等の撮像装置において、光学系内に付着した異物が画像に写りこんでしまった際に、その異物を画像から除去するための画像補正技術に関する。
【背景技術】
【０００２】
従来より、レンズ交換式の一眼レフデジタルカメラにおいては、撮像光学系内(特に撮像素子の前方に配置されたローパスフィルタなどの光学素子の表面)にゴミ等の異物が付着すると、撮影された画像にその異物の影が写りこんでしまうことがある。その場合、撮影された画像を様々な出力先（例：液晶モニタ、プリンタ等）に出力する場合にも異物が存在するため、画像品質が低下するという問題がある。
【０００３】
このような課題に対して、次のような提案がなされている。まず、白一色の一様な被写体を撮影し、撮像光学系内のゴミが写りこんだ画像を撮影し、その画像から撮像光学系内のゴミの位置情報を得る。そして、本撮影した画像に対して、上記の位置情報をもとに補正処理（除去、色補正、周辺画素による補間など）を行う。これにより、補正された画像からはゴミが消去されるため、例えばプリンタのような出力先に出力する場合にもゴミのない画像をプリントすることができ、画像出力品質を向上させることができる(特許文献１参照)。
【特許文献１】特開２００２−２０９１４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ゴミを補正する場合には、ゴミの周辺の被写体の状況によっては補正することで、逆に画像の品質を低下させることがある。例えば、ゴミ周辺が一様な色ではない被写体（例：密集した建物等）が写っている場合、そのゴミを補正してしまうと被写体がつぶれてしまい、ゴミ周辺と違和感が生じてしまうといった問題がある。また、補正することによるゴミ周辺との違和感を避けるために、補正する条件（例：ゴミ周辺が一様である等）を一様に厳しくした場合、ゴミがほとんど補正されないといった問題もある。
【０００５】
したがって、被写体がつぶれてしまっている、もしくはほとんどゴミが補正されていない画像を出力することになり、結局は画像出力品質が悪くなってしまうという問題がある。
【０００６】
本発明は、上述した課題に鑑みてなされたものであり、その目的は、ゴミを補正する条件を最適化し、出力される画像の品質を向上させることである。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、被写体像を光電変換する撮像素子の前方に配置された光学素子に付着した異物の影が写り込んだ画像データを、前記異物の影を除去するように補正し、補正された補正画像データを可視画像として出力する出力装置に送信する画像処理装置であって、前記画像データの画像の画素数を取得する画像画素数取得手段と、前記出力装置に出力する画像の解像度に関する情報を取得する出力解像度取得手段と、少なくとも前記画像画素数取得手段によって取得された画素数と、前記出力解像度取得手段によって取得された解像度に関する情報とに基づいて、異物を補正する度合いを設定する異物補正レベル設定手段と、前記異物補正レベル設定手段により設定された異物補正レベルに基づいて、前記画像データに写りこんだ異物の影を補正する異物補正手段と、を備えることを特徴とする。
【０００８】
また、本発明に係わる画像処理装置の制御方法は、被写体像を光電変換する撮像素子の前方に配置された光学素子に付着した異物の影が写り込んだ画像データを、前記異物の影を除去するように補正し、補正された補正画像データを可視画像として出力する出力装置に送信する画像処理装置を制御する方法であって、前記画像データの画像の画素数を取得する画像画素数取得工程と、前記出力装置に出力する画像の解像度に関する情報を取得する出力解像度取得工程と、少なくとも前記画像画素数取得工程において取得された画素数と、前記出力解像度取得工程において取得された解像度に関する情報とに基づいて、異物を補正する度合いを設定する異物補正レベル設定工程と、前記異物補正レベル設定工程において設定された異物補正レベルに基づいて、前記画像データに写りこんだ異物の影を補正する異物補正工程と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ゴミを補正する条件を最適化でき、出力される画像の品質を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明を、レンズ交換式一眼レフデジタルカメラと出力先であるプリンタを接続し、ＰｉｃｔＢｒｉｄｇｅ規格に基づくダイレクトプリント環境下で使用する一実施形態について、図面を参照して説明する。なお、一眼レフデジタルカメラとプリンタにより本実施形態の画像処理システムを構成する。また、プリンタは一眼レフデジタルカメラから送信された画像データを可視画像として印刷する。
【００１１】
図１は、本発明の一実施形態であるレンズ交換式の一眼レフデジタルカメラとプリンタを接続した状態を示す図である。
【００１２】
図１において、一眼レフデジタルカメラ１１２０は、ＬＣＤモニタ装置４１７と十字配置スイッチ（ＳＷ）１１６を有する。通信ケーブル１１３０は、一眼レフデジタルカメラ１１２０とプリンタ１１１０とを接続するＵＳＢ等の通信ケーブルである。
【００１３】
図２は、本実施形態におけるプリンタ１１１０の制御系のブロック構成図である。
【００１４】
図２において、１２１０は装置全体の制御を司るＣＰＵ、１２１１はＣＰＵ１２１０の動作手順（プログラム）やフォントを記憶しているＲＯＭ、１２１２はＣＰＵ１２１０のワークエリアとして使用されるＲＡＭである。１２１３は操作パネルである。１２１４はＰＣ（パーソナルコンピュータ）との接続を行うためのインターフェースであり、１２１５は一眼レフデジタルカメラ１１２０との接続を行うインターフェース（ＵＳＢのホスト側）である。１２１６はメモリカード等の記憶メディアを搭載したアダプタ(ＰＣＭＣＩＡ)１２１７を接続可能なカードインターフェースである。カードインターフェース１２１６は、プリンタ１１１０がＤＰＯＦ、すなわち、一眼レフデジタルカメラ１１２０で撮影され、記憶されたメモリーカード内の印刷指示に関する記述ファイルを読み取って、それに従って印刷するためのものである。１２１８はプリンタエンジンである。
【００１５】
図３は、本実施形態に係る一眼レフデジタルカメラ１１２０の外観を示す斜視図であり、図４は図３に示した一眼レフデジタルカメラ１１２０の垂直断面図である。
【００１６】
図３において、カメラ本体１００の上部には、ファインダ観察用の接眼窓１１１、ＡＥ（自動露出）ロックボタン１１２、ＡＦ（自動焦点調整）の測距点選択ボタン１１３が設けられている。また、撮影に関する指示をするためのレリーズボタン１１４が設けられており、半押し状態（ＳＷ１）と全押し状態（ＳＷ２）の２段階の入力が可能となっている。さらに、諸々の設定値を選択するための電子ダイヤル４１１、撮影モード選択ダイヤル１１７および外部表示装置（ＯＬＣ）４０９が設けられている。外部表示装置４０９は、液晶表示装置から構成され、シャッタースピード、絞り、撮影モードなどの撮影条件や、他の情報を表示する。
【００１７】
カメラ本体１００の背面には、撮影された画像や補正処理を行った画像、メニュー画面等の各種設定画面などを表示するＬＣＤモニタ装置４１７が設けられている。
【００１８】
さらに、カメラ本体１００の背面には、ＬＣＤモニタ装置４１７をオン／オフするためのモニタスイッチ１２１、十字配置スイッチ１１６、およびメニューボタン１２４が設けられている。
【００１９】
十字配置スイッチ１１６は、上下左右に配された４つのボタンと、中央に配されたＳＥＴボタンを有し、ユーザがＬＣＤモニタ装置４１７に表示されるメニュー項目などの選択や実行をカメラに指示するために用いられる。
【００２０】
メニューボタン１２４は、ＬＣＤモニタ装置４１７にカメラの各種設定を行うためのメニュー画面を表示させるためのボタンである。例えば、撮影モードは、このメニューボタン１２４を押した後、十字配置スイッチ１１６の上下左右のボタンを操作し、希望のモードが選択された状態でＳＥＴボタンを押すことにより設定する。このメニューボタン１２４と十字配置スイッチ１１６は、後述する、画像データのゴミを補正してプリントする際の設定等にも使用される。
【００２１】
本実施形態のＬＣＤモニタ装置４１７は透過型であるため、ＬＣＤモニタ装置の駆動だけでは画像を視認することはできず、必ずその裏面には図４に示すようにバックライト照明装置４１６が必要である。このようにＬＣＤモニタ装置４１７とバックライト照明装置４１６は画像表示装置を構成している。
【００２２】
図４に示すように、撮像光学系である撮影レンズ２００はカメラ本体１００に対してレンズマウント２０２を介して着脱可能である。図４において２０１は撮影光軸、２０３はクイックリターンミラーである。
【００２３】
クイックリターンミラー２０３は撮影光路中に配置され、撮影レンズ２００からの被写体光をファインダ光学系に導く位置（図４に示す位置、斜設位置と呼ぶ）と撮影光路外に退避する位置（退避位置と呼ぶ）との間で移動可能である。
【００２４】
図４において、ピント板２０４上にはクイックリターンミラー２０３からファインダ光学系に導かれる被写体光が結像される。２０５はファインダの視認性を向上させるためのコンデンサレンズ、２０６はペンタゴナルダハプリズムであり、ピント板２０４およびコンデンサレンズ２０５を通った被写体光をファインダ観察用の接眼レンズ２０８および測光センサ２０７に導く。
【００２５】
２０９、２１０はそれぞれシャッターを構成する後幕と先幕で、これら後幕２０９、先幕２１０の開放によって後方に配置されている、被写体像を光電変換する固体撮像素子である撮像素子４１８が必要時間だけ露光される。撮像素子４１８によって画素毎の電気信号に変換された撮影画像は、後述のＡ／Ｄコンバータ４２３や画像処理回路４２５などによって処理され、画像データとして記録媒体４１９に記録される。撮像素子４１８は、その前面に光学ローパスフィルタ４１８ａが配設されており、撮像素子４１８に結像する被写体像の空間周波数を調整している。撮影画像に影響を及ぼすゴミ（異物）は、この光学ローパスフィルタ４１８ａに付着し、撮像素子４１８に結像する被写体像に影として現れることにより、撮影画像の品質を劣化させる。
【００２６】
撮像素子４１８はプリント基板２１１に保持されている。このプリント基板２１１の後方には、もう一枚のプリント基板である表示基板２１５が配置されている。この表示基板２１５の反対側の面にＬＣＤモニタ装置４１７およびバックライト照明装置４１６が配置されている。
【００２７】
４１９は画像データを記録する記録媒体であり、２１７は電池（携帯用電源）である。この記録媒体４１９および電池２１７は、カメラ本体に対して着脱可能である。
【００２８】
図５は、本発明の第１の実施形態に係る一眼レフデジタルカメラ１１２０の回路構成を示すブロック図である。
【００２９】
図５において、マイクロコンピュータ４０２は、撮像素子４１８が出力する画像データの処理や、ＬＣＤモニタ装置４１７の表示制御をはじめ、カメラ全体の動作を制御する。
【００３０】
スイッチ（ＳＷ１）４０５は、レリーズボタン１１４の半押し状態でオンになり、スイッチ（ＳＷ１）４０５がオンすると撮影準備状態になる。スイッチ（ＳＷ２）４０６は、レリーズボタン１１４が最後まで押された状態（全押し状態）でオンし、スイッチ（ＳＷ２）４０６がオンすると撮影動作を開始する。
【００３１】
レンズ制御回路４０７は、撮影レンズ２００との通信およびＡＦ時の撮影レンズ２００の駆動制御や絞り羽根の駆動制御を行う。
【００３２】
また図５において、外部表示制御回路４０８は、外部表示装置（ＯＬＣ）４０９や、ファインダ内の表示装置（不図示）の制御を行う。スイッチセンス回路４１０は、カメラに設けられた電子ダイヤル４１１を含む多数のスイッチ類の信号をマイクロコンピュータ４０２に伝える。
【００３３】
ストロボ発光調光制御回路４１２は、Ｘ接点４１２ａを介して接地されており、外部ストロボの制御を行う。測距回路４１３は、ＡＦのための被写体に対するデフォーカス量を検出する。測光回路４１４は、被写体の輝度を測定する。
【００３４】
シャッター制御回路４１５はシャッターの制御を行い、撮像素子４１８に対して適正な露光を行う。ＬＣＤモニタ装置４１７とバックライト照明装置４１６は、画像表示装置を構成している。記録媒体４１９は、例えばカメラ本体に着脱可能なハードディスクドライブや半導体メモリカード等である。
【００３５】
また、マイクロコンピュータ４０２には、Ａ／Ｄコンバータ４２３、画像バッファメモリ４２４、ＤＳＰなどからなる画像処理回路４２５、撮像素子内の所定画素そのものに欠陥があることを記憶している画素欠陥位置メモリ４２６が接続されている。また、ゴミによる画像不良を起こしている撮像素子内の画素位置を記憶しているゴミ位置メモリ４２７も接続されている。なお、画素欠陥位置メモリ４２６およびゴミ位置メモリ４２７は不揮発性メモリを用いることが好ましい。また、画素欠陥位置メモリ４２６とゴミ位置メモリ４２７は、同一メモリ空間の異なるアドレスを用いて記憶しても良い。
【００３６】
また、４２８は、マイクロコンピュータ４０２が実行するプログラム等を記憶する不揮発性のメモリである。
【００３７】
また、４０４はＰＣあるいは本実施形態におけるプリンタ１１１０と接続するためのＵＳＢインタフェース（ＵＳＢのスレーブ側）を含む、外部インタフェースである。
【００３８】
なお、一眼レフデジタルカメラとプリンタ間の通信手段としては、ＳＣＳＩやワイヤレスのＴＣＰ／ＩＰなどが考えられるが、ここではＵＳＢインターフェースとする。
【００３９】
次に、撮像光学系内に付着したゴミの位置を検出する処理の例を、図６のフローチャートを用いて説明する。
【００４０】
当該処理は、マイクロコンピュータ４０２がメモリ４２８に記憶されたゴミ検出処理プログラムを実行することにより実施される。
【００４１】
ゴミ検出処理は、ゴミ検出用画像を撮像することにより行われる。ゴミ検出処理を行う場合、面光源装置の射出面や白い壁などの均一な色を持つ面にレンズ２００の撮影光軸２０１を向けてカメラを設置し、ゴミ検出の準備を行なう。または、レンズマウント２０２にゴミ検出用のライトユニット（レンズの代わりに装着する小型の点光源装置）を装着し、ゴミ検出の準備を行う。ライトユニットの光源は例えば白色ＬＥＤが考えられ、発光面のサイズを予め定めた絞り値（例えば、Ｆ３２）相当になるように調整するのが望ましい。
【００４２】
本実施形態では、通常の撮影レンズを用いた場合について説明するが、上記のライトユニットをレンズマウント２０２に取り付けてゴミ検出を行っても良い。このように、本実施形態においてゴミ検出用画像は、均一な色を有する画像である。
【００４３】
準備が終了した後、十字配置スイッチ１１６からゴミ検出処理の開始が指示されると、マイクロコンピュータ４０２は、まず絞りの設定を行う。撮像素子近傍のゴミはレンズの絞り値によって結像状態が変わり、レンズの瞳位置によって位置が変化する。したがって、ゴミ補正データにはゴミの位置や大きさに加え、検出時の絞り値とレンズの瞳位置を保持する必要がある。
【００４４】
ただし、ゴミ補正データを作成する段階で、異なるレンズを用いたとしても常に同じ絞り値を使うことを予め決めておけば、必ずしもゴミ補正データ内に絞り値を保持する必要はない。また、瞳位置に関してもライトユニットを用いたり、特定のレンズのみの使用を許可することで、同様に必ずしもゴミ補正データ内に瞳位置を保持する必要はなくなる。
【００４５】
つまり、ゴミ補正データを作成する段階において、使用するレンズを複数許したり、絞り込む絞り値を適宜変更する場合には、検出時の絞り値とレンズの瞳位置を、ゴミ補正データ内に保持する必要があると言える。なお、ここで瞳位置とは、射出瞳の撮像面（焦点面）からの距離をいう。
【００４６】
ここでは、例えばＦ１６を指定する（ステップＳ２１）。
【００４７】
次にマイクロコンピュータ４０２はレンズ制御回路４０７に対し、撮影レンズ２００の絞り羽根制御を行わせ、ステップＳ２１で指定された絞り値に絞りを設定する（ステップＳ２２）。さらに、フォーカス位置を無限遠に設定する（ステップＳ２３）。
【００４８】
撮影レンズの絞り値とフォーカス位置が設定されると、ゴミ検出モードでの撮影を実行する（ステップＳ２４）。ステップＳ２４で行う撮像処理ルーチンの詳細に関しては図１１を用いて後に説明する。撮影された画像データは、バッファメモリ４２４に格納される。
【００４９】
撮影が終了すると、撮影時の絞り値とレンズ瞳位置を取得する（ステップＳ２５）。画像処理回路４２５に画像バッファメモリ４２４に記憶されている撮影画像の各画素に対応するデータを呼び出す（ステップＳ２６）。画像処理回路４２５は、図８に示す処理を行い、画像内のゴミが存在する画素の位置と大きさを取得する（ステップＳ２７）。ステップＳ２７で取得したゴミが存在する画素の位置と大きさ、およびステップＳ２５で取得した絞り値とレンズ瞳位置情報を、ゴミ位置メモリ４２７に登録する（ステップＳ２８）。ここで、前述したライトユニットを用いた場合には、レンズ情報を取得できない。そこで、レンズ情報が取得できない場合は、ライトユニットを使ったと判断し、予め定められたレンズ瞳位置情報と、ライトユニットの光源径から算出される換算絞り値を登録する。
【００５０】
ここで、ステップＳ２８において、予め画素欠陥位置メモリに記録されている製造時からの不良画素（画素欠陥）の位置と、読み出した画素データの位置を比べて画素欠陥であるかどうかを確認する。そして、画素欠陥によるものでは無いと判断された領域のみ、ゴミ位置メモリ４２７に位置を登録しても良い。
【００５１】
ゴミ位置メモリ４２７に格納されるゴミ補正データのデータ形式例を図７に示す。図７に示した通り、ゴミ補正データには、検出用画像撮影時の、レンズ情報とゴミの位置、大きさの情報が格納される。このゴミ補正データは、通常撮影時に画像データの撮影時情報と共に画像に付加する。
【００５２】
具体的には、検出画像撮影時のレンズ情報として、検出画像撮影時における実際の絞り値（Ｆ値）と、そのときのレンズ瞳位置を格納する。続いて記憶領域に検出したゴミ領域の数（整数値）を格納し、これに続き、個々の具体的なゴミ領域のパラメータを、ゴミ領域の数だけ繰返して格納する。ゴミ領域のパラメータは、ゴミの半径（例えば２バイト）、有効画像領域における中心のｘ座標（例えば２バイト）、おなじく中心のｙ座標（例えば２バイト）の３つの数値のセットである。
【００５３】
ゴミ位置メモリ４２７の大きさ等によりゴミ補正データサイズに制限がある場合、ステップＳ２７で得たゴミ領域の先頭から優先してデータを格納する。これは、ステップＳ２７のゴミ領域取得ルーチン内では、後述するようにゴミ領域を、目立つゴミの順にソートするからである。
【００５４】
次に、図８から図１０を用いて、ステップＳ２７で行うゴミ領域取得ルーチンの詳細について説明する。
【００５５】
図９に示すように、呼び出した画像データをメモリ上に展開し、予め定められたブロック単位で処理を行う。これは、レンズやセンサ特性に起因する周辺減光に対応するためである。周辺減光とは、レンズの中央部に比べ周辺部の輝度が落ちてしまう現象であり、レンズの絞りを小さくすることである程度軽減されることが知られている。しかし、絞りを絞った状態でも、撮影画像に対して予め定められたスレッショルド値でゴミ位置の判定を行うと、レンズによっては周辺部のゴミが正確に検出できなくなるという問題がある。そこで、画像をブロック分割して周辺減光の影響を軽減する。
【００５６】
単純にブロック分割すると、ブロックとブロックの間でスレッショルド値が異なる場合、ブロック間をまたぐゴミの検出結果がずれてしまうという問題がある。そこで、ブロック間をオーバーラップさせ、オーバーラップ領域を構成するブロックのいずれかでゴミと判定された画素をゴミ領域として扱う。
【００５７】
ブロック内のゴミ領域判定は、図８に示す処理の流れで行う。まず、ブロック内の最大輝度Ｌmax、平均輝度Ｌaveを算出し、次式を用いてブロック内のスレッショルド値Ｔ１を算出する。
【００５８】
Ｔ１＝Ｌave×０.６ + Ｌmax×０.４
次に、スレッショルド値を超えない画素をゴミ画素とし（ステップＳ６１）、ゴミ画素によって構成される孤立領域を各々一つのゴミ領域ｄｉ（ｉ＝０，１，…，ｎ）とする（ステップＳ６２）。図１０に示すように、ゴミ領域毎に、ゴミ領域を構成する画素の水平方向の座標の最大値Ｘmaxおよび最小値Ｘmin、垂直方向の座標の最大値Ｙmaxおよび最小値Ｙminを求め、ゴミ領域ｄｉのサイズを表す半径ｒｉを次式によって算出する（ステップＳ６３）。
【００５９】
ｒｉ＝√[｛（Ｘmax−Ｘmin）／２｝2＋｛（Ｙmax−Ｙmin）／２｝2]
Ｘmax、Ｘmin、Ｙmax、Ｙminとｒｉの関係を、図１０に示す。
【００６０】
その後ステップＳ６４で、ゴミ領域毎の平均輝度値を算出する。
【００６１】
ゴミ位置メモリ４２７のサイズによる制限などにより、ゴミ補正データのデータサイズが制限されている場合がある。このような場合に対応するために、ゴミ位置情報を、大きさやゴミ領域の平均輝度値によってソートする（ステップＳ６５）。本実施形態では、ｒｉの大きい順にソートする。ｒｉが等しい場合、平均輝度値の低い順にソートする。このようにすることで、目立つゴミを優先してゴミ補正データに登録することが出来る。なお、ソート済みのゴミ領域をＤｉ、ゴミ領域Ｄｉの半径をＲｉとする。
【００６２】
なお、予め定められたサイズより大きいゴミ領域がある場合、ソートの対象から外し、ソート済みゴミ領域リストの末尾に配置しても良い。これは、大きいゴミ領域については、後に補間処理をするとかえって画質を低下させる場合があり、補正対象の優先順位としては最下位として扱うことが望ましいからである。
【００６３】
次に、図１１に示すフローチャートを用いて、図６のステップＳ２４で行われる撮像処理ルーチンの詳細について説明する。当該処理はマイクロコンピュータ４０２がメモリ４２８に記憶された撮像処理プログラムを実行することにより実施される。
【００６４】
この撮像処理ルーチンが実行されると、ステップＳ２０１でマイクロコンピュータ４０２は、図４に示すクイックリターンミラー２０３を作動させ、いわゆるミラーアップを行い、撮影光路外にクイックリターンミラー２０３を退避させる。
【００６５】
次に、ステップＳ２０２で撮像素子での電荷蓄積を開始し、次のステップＳ２０３では図４に示したシャッターの先幕２１０、後幕２０９をそれぞれ走行させて露光を行う。そして、ステップＳ２０４で撮像素子の電荷蓄積を終了し、次のステップＳ２０５で撮像素子から画像信号を読み出してＡ／Ｄコンバータ４２３および画像処理回路４２５で処理した画像データをバッファメモリ４２４に一次記憶する。
【００６６】
次のステップＳ２０６で撮像素子から全ての画像信号の読み出しが終了すると、ステップＳ２０７でクイックリターンミラー２０３をミラーダウンし、クイックリターンミラーを斜設位置に戻して一連の撮像動作を終了する。
【００６７】
ステップＳ２０８にて、通常撮影かゴミ検出用画像撮影かを判断する。通常撮影時にはステップＳ２０９へ進んで撮影時のカメラ設定値等と共に図７に示したゴミ補正データを画像データのヘッダ領域であるＥｘｉｆ領域に追記し、画像データと関連付けて記録媒体４１９に記録する。
【００６８】
以下の本実施形態では、ゴミ補正データと画像データが一体的に保持されている画像ファイルを用いて説明する。なお、ゴミ補正データと画像データが一体的ではなく、例えば関連付けられた別々のファイルとして記録されていたとしても、本実施形態が適用できる。
【００６９】
（実施例１）
図１２は、画像データのゴミを補正してプリントする際のフローチャートである。なお、図１２では、ユーザがＬＣＤモニタ装置４１７と十字配置スイッチ１１６とを使って、プリントのための設定を行った後の、カメラ内部の処理手順を示している。なお、これら設定した情報や、選択された画像の画像データおよびそれに関連付けられたゴミ補正データなど必要なデータは、必要に応じて伸張／展開されて、すべてメモリ４２８上に記憶されているものとする。
【００７０】
まず、ステップＳ４０１で、選択された画像（以下、選択画像）の幅と高さのそれぞれの画素数をメモリ４２８より読み出す。これらの情報は、伸張された画像から直接的に算出しても良いし、画像のＥｘｉｆ（Ｅｘｃｈａｎｇｅａｂｌｅ Ｉｍａｇｅ Ｆｉｌｅ Ｆｏｒｍａｔ）情報にも記述されている内容であるので、ここから取得してもよい。ステップＳ４０２では、ステップＳ４０１で取得した画像の幅方向と高さ方向の画素数から画像の画素数（以下、画像画素数とする）を算出する。例えば、選択画像が３８８８画素×２５９２画素の場合、画像画素数は約１０００万画素となる。この場合、マイクロコンピュータ４０２は、画像画素数取得手段として作用する。
【００７１】
次に、ステップＳ４０３で、プリンタの出力解像度情報、用紙サイズ、レイアウト（以下、以上の３つをまとめてプリンタ情報とする）をメモリ４２８より読み出す。プリンタの出力解像度情報は、ＰｉｃｔＢｒｉｄｇｅ規格のＣａｐａｂｉｌｉｔｙコマンドのパラメータｑｕａｌｉｔｉｅｓに記載されている内容、もしくは独自にプリンタに解像度を問い合わせる通信方法を用意するなどして取得できる。もしくは、予めメモリ４２８に格納されて用意されている複数の出力プリンタの情報から、ユーザがＬＣＤモニタ装置４１７と十字配置スイッチ（ＳＷ）１１６を用いて選択するように構成しても良い。例えば、ユーザはこれから出力させるプリンタの機種名をＬＣＤモニタ装置４１７に表示されたメニューから選択する。そして、マイクロコンピュータ４０２は、選択されたプリンタについての情報をメモリ４２８から読み出して、そのプリンタの出力解像度情報を取得するように構成する。
【００７２】
ここで、ユーザが予め設定するプリントに関する設定項目について説明する。
【００７３】
図１４は、ＬＣＤモニタ装置４１７に表示されるメニューとしての、印刷設定画面を示す。印刷設定画面６０１は、図示するように設定の対象となる撮影画像と、プリント枚数、各種設定項目およびアイコンにより構成される。「ゴミ補正」ボタン６０２は、ゴミ補正処理を実行する／しないを選択するためのボタンである。「用紙設定」ボタン６０３は、プリントする用紙についての設定ボタンである。具体的には、このボタンを押下することにより、まず用紙サイズ選択画面に遷移する。
【００７４】
図１５は、ＬＣＤモニタ装置４１７に表示されるメニューとしての、用紙サイズ選択画面を示す図である。図示するように、プリントする用紙サイズに合わせて、Ｌ判、２Ｌ判、はがきサイズ、Ａ４サイズなどが選択できるように、メニューが表示される。ユーザは、他のメニュー項目の選択と同様に、十字配置スイッチ（ＳＷ）１１６を用いて所望の項目を選択可能である。
【００７５】
ユーザが用紙サイズを選択すると、次に用紙タイプ選択画面に遷移する。図１６は、ＬＣＤモニタ装置４１７に表示されるメニューとしての、用紙タイプ選択画面を示す図である。具体的には、画質重視の「Ｐｈｏｔｏ」クオリティーペーパーと、一般的な「ＦａｓｔＰｈｏｔｏ」クオリティーペーパーおよび既定値である「Ｄｅｆａｕｌｔ」が選択できるようになっている。
【００７６】
ユーザが用紙タイプを選択すると、次にレイアウト選択画面に遷移する。図１７は、ＬＣＤモニタ装置４１７に表示されるメニューとしての、レイアウト選択画面を示す図である。具体的には、１枚の画像を縁なしで画面一杯にプリントする「１−Ｕｐ  Ｂｏｒｄｅｒｌｅｓｓ」や縁ありの「１−Ｕｐ」、１枚の用紙を２分割して同じ写真を２つレイアウトする「２−Ｕｐ」などが選択できるようになっている。
【００７７】
図１２に戻って、ステップＳ４０３では、プリンタの出力解像度情報の他に、上述のようにユーザによって選択された用紙サイズやレイアウト情報を取得し、プリント出力する画像の解像度に関する情報を収集する。このようにプリント出力をしようとする際に、出力する画像の解像度に関連する情報を取得するマイクロコンピュータ４０２は、出力解像度取得手段として作用する。
【００７８】
上記の出力する画像の解像度に関連する情報をもとに、ステップＳ４０４でプリントに必要な画素数（以下、プリント画素数）を算出する。例えば、用紙サイズが図１３に示すＬ判（８９ｍｍ×１２７ｍｍ）であり、レイアウトが１―Ｕｐであり、プリンタの解像度が６００ｄｐｉである場合、プリント画素数は以下のように算出する。
【００７９】
まず、１インチ＝２．５４ｃｍから、縦８９ｍｍ＝３．５インチ、横１２７ｍｍ＝５インチとなる。プリンタの解像度が６００ｄｐｉということから、Ｌ判の印刷には、縦３．５×６００＝２１００ｄｏｔ、横５×６００＝３０００ｄｏｔが必要である。よってＬ判の印刷に必要なｄｏｔ数は、縦×横＝６，３００，０００ｄｏｔとなる。レイアウトが１ｕｐであることから、Ｌ判を印刷する際に必要な画素数は、６，３００，０００／１＝６，３００，０００画素＝６３０万画素となる。もし、２−Ｕｐが設定されていたなら、６，３００，０００／２＝３，１５０，０００画素＝３１５万画素となる。なお、プリント画素数はカメラ内で算出するのではなく、ＰｉｃｔＢｒｉｄｇｅ規格に基づき、プリンタに指定された用紙サイズやレイアウトの情報を送信し、プリンタ内でプリント画素数を算出してカメラに返信するという手法でもよい。
【００８０】
ステップＳ４０５で、ステップＳ４０２とステップＳ４０４で算出した画像画素数とプリント画素数の大小を比較し、ステップＳ４０６、ステップＳ４０７でゴミ（異物）の補正のレベル（異物補正の度合い）を決める。この場合、マイクロコンピュータ４０２は、異物補正レベルを設定する異物補正レベル設定手段として作用する。
【００８１】
例えば、画像画素数がプリント画素数以下の場合、選択画像が等倍、もしくは拡大されてプリントされるため、大きいゴミを補正してしまうと補正したところがつぶれてしまうなどゴミ周辺の被写体と違和感があれば、拡大されることで余計に目立ってしまう。そのため、補正して違和感が出そうなところを補正しないよう、つまり空など一様な被写体上のゴミだけを補正するよう、ゴミ補正条件を「弱」とする。逆にプリント画素数より画像画素数が大きい場合、選択画像が縮小されてプリントされるため、つぶれていて違和感のある補正になったとしても、ゴミ周辺への影響が縮小されることで小さくなるため、ゴミ補正条件を「強」とする。
【００８２】
そして、ステップＳ４０８で、ステップＳ４０５もしくはステップＳ４０７で決定したゴミ補正条件に基づき、選択画像に対して補正を行う。例えば、補正条件が「弱」ならば、空など一様な領域にあるゴミのみを補正したり、大きいゴミは補正しないといった処理になり、「強」ならば、大きなゴミやゴミ周辺が一様な領域でないところにあるゴミも補正するといった処理になる。補正の方法としては、ゴミ周辺の画素を用いて補間する方法など、公知の手法を用いて行う。最後に、ステップＳ４０９でＰｉｃｔＢｒｉｄｇｅ規格に基づき、プリンタに対してゴミを補正した補正画像データを出力する。
【００８３】
以上の結果、ダイレクトプリントを行う際、ユーザが指定した用紙サイズやレイアウトの条件下で、最大限に品質の良いゴミの補正処理を行うことが可能となる。なお、本実施例では、ユーザが指定した用紙サイズやレイアウトの情報を使ってゴミ補正条件を決定したが、さらに用紙タイプなどの情報を加えてゴミ補正条件を決定しても良い。また、ゴミ補正条件を「弱」、「強」の２段階に設定したが、２段階に限定されるものではない。
【００８４】
（実施例２）
実施例２では、実施例１の処理に加え、ユーザがゴミを補正する処理を「する（入）／しない（切）」や補正量のレベル（例えば、弱／中／強）(以下、ユーザ補正レベル)を決定する手法について説明する。
【００８５】
実施例１と同様に、まずプリントする画像を選択し、図１４の印刷設定画面と、この画面から遷移される図１５〜図１７の画面において、用紙サイズ、用紙タイプ、レイアウトがユーザによって設定される。これら設定された情報は、メモリ４２８に記憶されている。さらに、実施例２では図１４の印刷設定画面６０１の「ゴミ補正」ボタン６０２を押すことで、ゴミ補正処理をする／しないを選択する画面に遷移する。。具体的には、図１８に示す画面に移り、ＬＣＤモニタ装置４１７に表示されるメニューとして、ゴミ補正の「切」と「入」が選択可能となる。そして、ゴミ補正の「切」「入」を選択すると、次にユーザ補正レベルを選択するメニュー画面に遷移する。具体的には、図１９に示す画面に移り、ＬＣＤモニタ装置４１７に表示されるメニューとして、ユーザ補正レベルの「弱」、「中」、「強」が選択可能となる。ただし、ゴミ補正の選択で「切」をユーザが選択した場合には、ユーザ補正レベルのメニュー画面では、自動的に「切」が選択される。これらの設定された情報もメモリ４２８に記憶される。そして、図１４の印刷設定画面６０１の「印刷」ボタン６０４が押されると、ゴミ補正処理を実行し、プリンタに補正した画像データを出力する。なお、図１９に示す画面は、ユーザ補正レベル設定手段として作用する。
【００８６】
図２０は、実施例２におけるゴミを補正して、プリントするまでの動作を示すフローチャートである。なお、ここでは図１２との差異についてのみ説明する。
【００８７】
まず、ステップＳ１２０１でメモリ４２８に記憶されたユーザ補正レベルを参照し、「切」の場合はステップＳ４０９へ、それ以外の場合はステップＳ４０１へ進む。ステップＳ４０１に進んだ場合、ステップＳ４０１からステップＳ４０６、ステップＳ４０７までは、実施例１と同様の処理を行う。
【００８８】
ステップＳ１２０２で、ゴミ補正データ、ゴミ補正条件、ユーザ補正レベルをメモリ４２８から参照し、ゴミ補正条件とユーザ補正レベルからゴミを補正する程度を決定し、ゴミ補正データで示された場所からゴミを補正する。
【００８９】
ゴミ補正条件とユーザ補正レベルからゴミを補正する程度を決定する方法の一例として、図２１にゴミ補正テーブルを示す。ゴミ補正テーブルで、例えばゴミ補正条件が「弱」で、ユーザ補正レベルが「強」の場合、図示するようにゴミ補正条件が「弱」でもユーザ補正レベルが「強」なので、ユーザの意思を尊重する。即ち、ゴミの補正レベルは「強」、つまり大きなゴミやゴミ周辺が一様でないところのゴミも補正処理をする。また、ゴミ補正条件が「強」で、ユーザ補正レベルが「強」の場合、ゴミの補正レベルは「強強」、つまりゴミと認識した領域はすべて補正処理をするというようにする。そして、決定したゴミの補正レベルにあわせて、ゴミを補正する処理を行い、ステップＳ４０９で補正した画像をプリンタに出力し、プリントする。このように、ユーザ補正レベルとゴミ補正条件の組み合わせにより、「切」から「強強」までここでは５段階を割り当てている。
【００９０】
以上の結果、ゴミを補正する際にユーザが「補正をする／しない」や補正のレベル（弱／中／強）を指定することにより、補正処理に対してよりユーザの意思を反映することができるようになり、ユーザが所望のプリント結果を取得することが可能となる。
【００９１】
（実施例３）
実施例３では、実施例１や実施例２の処理に加え、決まったゴミの補正レベルで、画像上のどのゴミが補正されて、どのゴミが補正されないのかをユーザに印刷する前に通知する手法について説明する。
【００９２】
実施例１や実施例２と同様に、ユーザによりまずプリントする画像が選択され、図１４の印刷設定画面６０１から、用紙サイズ、用紙タイプ、レイアウト、ユーザ補正レベルが設定される。これら設定した情報や、選択された画像の画像データおよびそれに関連付けられたゴミ補正データなど必要なデータは、必要に応じて伸張／展開されて、すべてメモリ４２８上に記憶されているものとする。そして、図１４の印刷設定画面６０１で「印刷」ボタン６０４が押されると、ゴミ補正処理を実行し、プリンタに補正した画像データを出力する。
【００９３】
図２２は、実施例３におけるゴミを補正して、プリントするまでのフローチャートである。なお、ここでは図２０との差異についてのみ説明する。
【００９４】
ステップＳ１２０２までのステップでは、実施例２で説明した図２０の各ステップと同様に、選択された画像に対してゴミ補正処理を行う。例えば、図２３のような画像が選択され、６００ｄｐｉのプリンタに対して出力する場合であって、用紙サイズが「Ｌ判」、レイアウトが「１ｕｐ」、ユーザ補正レベルが「弱」に設定されているとする。この場合、図２１のゴミ補正テーブルより、補正レベルは「中」となる。この補正レベルで、図２３の画像に対してゴミ補正処理を行う。なお、１５０１〜１５０６は、光学ローパスフィルタ４１８ａにゴミが付着することにより写り込んだ影である（本実施形態においては、撮影画像に写り込んだ影そのものを「ゴミ」と称することがある）。ゴミ補正データは、画像中におけるこれらの影の位置情報を持っており、これらの影が補正対象の候補となる。
【００９５】
ステップＳ１４０１で、ＬＣＤモニタ装置４１７に、図２４のようにゴミ補正処理をした結果の画像に、次のような表示をする。即ち、図２３中のゴミ（１５０１〜１５０６）のうち補正レベル「中」で補正したゴミの位置（１６０２〜１６０４）を○で囲んだ画像（１６０１）を表示する。
【００９６】
ステップＳ１４０２で、ユーザは図２４のように表示される画像１６０１を見て、ゴミ補正処理をした画像を印刷したい場合はＯＫボタン１６０５を押して画像をプリンタに出力して、プリントする。また、ゴミ補正処理をした画像を印刷したくない場合はキャンセルボタン１６０６を押す。
【００９７】
以上の結果、ユーザは、図２４のようにどこのゴミが補正されるのかをプリントされる前に確認することで、補正に物足りなかったり、補正しすぎと判断した場合には、プリントせずに再度ユーザ補正レベルを設定し直すことができる。そのため、紙を無駄にすることなく、ユーザが所望するプリント結果を得ることが可能となる。
【００９８】
なお、本実施例では補正するゴミ位置を○で囲んでユーザに通知したが、ユーザが認識しやすい表示方法であれば、例えば点滅などでも良い。
【００９９】
また、本実施形態における実施例１から３においては、プリント出力する画像の解像度に関する情報として、プリンタの出力解像度や、ユーザによって選択された用紙サイズやレイアウト情報を取得するように構成している。そして、これらの情報をもとに、撮影画像の画素数と、プリンタに出力する画素数（ｄｏｔ数）を算出して比較している。しかし、プリント出力する画像の解像度に関する情報については、これらすべての情報を必ずしも必要とするものではない。例えば、ユーザが選択する用紙サイズのみをプリント出力する画像の解像度に関する情報として取得し、撮影画像の画素数と用紙サイズとでマトリックス状に作成された異物補正レベルのテーブルを持つようにしても良い。このとき、撮影画像の画素数としては、撮影時にユーザによって設定される撮影画像のサイズ、たとえばＬサイズやＳサイズといったような、撮影画素数と対応付けられて設定される項目を撮影画像の画素数として扱っても良い。このとき、画像画素数取得手段は、実質的に撮影画像のサイズを取得することになる。
【０１００】
（他の実施形態）
本発明は前述した実施形態の機能を実現するソフトウエアのプログラム（実施形態では図に示す通信手順に対応したプログラム）を、各装置に直接、或いは遠隔から供給できるようにしても良い。また、その装置の処理部が該供給されたプログラムコードを読み出して実行することによって、上記の実施形態を実行可能とする場合を含む。
【０１０１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１０２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【図面の簡単な説明】
【０１０３】
【図１】本発明の一実施形態であるレンズ交換式の一眼レフデジタルカメラとプリンタを接続した状態を示す図である。
【図２】プリンタの制御系のブロック構成図である。
【図３】デジタルカメラの外観斜視図である。
【図４】デジタルカメラの内部構造を示す垂直断面図である。
【図５】一眼レフデジタルカメラの制御系のブロック構成図である。
【図６】デジタルカメラにおけるゴミ検出処理を説明するフローチャートである。
【図７】ゴミ補正データのデータ形式例を示す図である。
【図８】図６のステップＳ２７で行われるゴミ領域取得ルーチンの詳細を説明するフローチャートである。
【図９】図８のステップＳ６２で行われるゴミ領域判定処理の処理単位を示す図である。
【図１０】図８のステップＳ６３で行われるゴミ領域サイズ算出の概要を示す図である。
【図１１】図６のステップＳ２４で行われる撮像処理ルーチンの詳細を説明するフローチャートである。
【図１２】本発明の一実施形態における実施例１としての、ゴミを補正してプリンタに出力する際のフローチャートである。
【図１３】プリンタで出力されるＬ判用紙を説明する図である。
【図１４】ＬＣＤモニタ装置４１７に表示される印刷設定画面を示す図である。
【図１５】ＬＣＤモニタ装置４１７に表示される、プリントに必要な条件である用紙サイズを指定する画面を示す図である。
【図１６】ＬＣＤモニタ装置４１７に表示される、プリントに必要な条件である用紙タイプを指定する画面を示す図である。
【図１７】ＬＣＤモニタ装置４１７に表示される、プリントに必要な条件であるレイアウトを指定する画面を示す図である。
【図１８】ＬＣＤモニタ装置４１７に表示される、ゴミ補正処理を行うか否かを指定する画面を示す図である。
【図１９】ＬＣＤモニタ装置４１７に表示される、ユーザが補正量を選択する画面を示す図である。
【図２０】本発明の一実施形態における実施例２としての、ゴミを補正して、プリンタに出力するまでの動作を示すフローチャートである。
【図２１】補正レベルのテーブルの一例を示す図である。
【図２２】本発明の一実施形態における実施例２としての、ゴミを補正して、プリンタに出力するまでのフローチャートである。
【図２３】ゴミが写り込んだ撮影画像の一例を示す図である。
【図２４】ＬＣＤモニタ装置４１７に表示される、プリント出力の選択画面の一例を示す図である。
【図１】
2008306306.tif 000003
【図２】
2008306306.tif 000004
【図３】
2008306306.tif 000005
【図４】
2008306306.tif 000006
【図５】
2008306306.tif 000007
【図６】
2008306306.tif 000008
【図７】
2008306306.tif 000009
【図８】
2008306306.tif 000010
【図９】
2008306306.tif 000011
【図１０】
2008306306.tif 000012
【図１１】
2008306306.tif 000013
【図１２】
2008306306.tif 000014
【図１３】
2008306306.tif 000015
【図１４】
2008306306.tif 000016
【図１５】
2008306306.tif 000017
【図１６】
2008306306.tif 000018
【図１７】
2008306306.tif 000019
【図１８】
2008306306.tif 000020
【図１９】
2008306306.tif 000021
【図２０】
2008306306.tif 000022
【図２１】
2008306306.tif 000023
【図２２】
2008306306.tif 000024
【図２３】
2008306306.tif 000025
【図２４】
2008306306.tif 000026