画像処理装置及びその制御方法及びレンズ交換式一眼レフデジタルカメラ及びプログラム
【課題】撮影画像に対して先にレンズの収差補正が行なわれた場合でも、後のゴミ除去処理を精度よく行えるようにする。
【解決手段】撮像部から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報を、この画像信号を取得したときの第1の撮影レンズの情報と、被写体を撮影したときの第2の撮影レンズの情報と、第2の撮影レンズの収差情報に基づいて、当該位置情報を変換する。第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報となるように変換したのち、被写体画像が画像処理により収差補正された後の撮影画面内における異物の位置情報となるように変換する。
【解決手段】撮像部から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報を、この画像信号を取得したときの第1の撮影レンズの情報と、被写体を撮影したときの第2の撮影レンズの情報と、第2の撮影レンズの収差情報に基づいて、当該位置情報を変換する。第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報となるように変換したのち、被写体画像が画像処理により収差補正された後の撮影画面内における異物の位置情報となるように変換する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CCDやCMOSセンサ等の撮像素子を用いた撮像装置によって撮影された撮影画像に表れる、光学ローパスフィルター等の表面に付着した異物に起因する影の影響を軽減する技術に関する。
【背景技術】
【0002】
近年、デジタルカメラやデジタルビデオカメラなどのように、CCD等の撮像素子を用いて画像信号を生成し、それをデータとして記録する撮像装置が数多く出回るようになってきている。デジタルカメラでは、従来記録媒体として使用していた感光フィルムが不要になり、これに代わって半導体メモリカードやハードディスク装置等のデータ記録媒体にデータ化された画像を記録する。これらのデータ記録媒体はフィルムと違って何度でも書き込み、消去が可能であるので、消耗品にかかる経費が少なくて済み、大変便利である。
【0003】
通常、デジタルカメラには撮像画像を随時表示可能なLCD(液晶表示器)モニタ装置と、着脱可能な大容量記憶装置が搭載されている。
【0004】
これら二つの装置を備えたデジタルカメラを利用すると、従来消耗品として使用してきた記録媒体であるフィルムが不要になるばかりでなく、撮像した画像をLCDモニタ装置に表示してその場で直ちに確認できる。したがって、満足の得られない画像データはその場で消去したり、必要に応じて再撮影したりすることが可能となり、フィルムを用いる銀塩カメラと比較すると、写真撮影の効率が飛躍的に高まったと言える。
【0005】
このような利便性と撮像素子の多画素化などの技術革新により、デジタルカメラの利用範囲は拡大しており、近年では一眼レフ方式などレンズ交換が可能なデジタルカメラも多くなってきている。
【0006】
ところが、上記のような一眼レフ方式のデジタルカメラでは、撮像素子に固定された撮像素子保護ガラス、光学フィルター等の光学系(以下、まとめて撮像素子光学系部品)の表面上にゴミ、ほこりなどの異物(以下、単にゴミ)が付着する場合がある。このように撮像素子光学系部品にゴミが付着すると、そのゴミによって光が遮られ、その部分が撮影されないなど、撮影した画像の品質が低下するという問題があった。
【0007】
デジタルカメラに限らず銀塩フィルムを用いるカメラにおいても、フィルム上にゴミが存在すると写りこんでしまう問題はあったが、フィルムの場合は1コマごとにフィルムが移動するため、全てのコマに同様のゴミが写りこむことは大変稀である。
【0008】
しかし、デジタルカメラの撮像素子は移動せず、1つの撮像素子で撮影を行うため、撮像素子光学系部品に一度ゴミが付着すると、多くのコマ(撮影画像)に同様のゴミが写りこんでしまう。特にレンズ交換式のデジタルカメラにおいては、レンズ交換時にカメラ内にゴミが入り込みやすいという問題がある。
【0009】
したがって、撮影者は撮像素子光学系部品へのゴミの付着に常時気を使わねばならず、ゴミのチェックや清掃に多くの労力を費やしていた。特に撮像素子は、カメラ内部の比較的奥まったところに配置されているため、清掃やゴミの確認は容易ではない。
【0010】
さらにレンズ交換式のデジタルカメラでは、レンズ着脱によるゴミの侵入が発生するばかりでなく、撮像素子の直前に配置されたフォーカルプレーンシャッターの駆動による削りかす等により、撮像素子光学系部品上にゴミが付着しやすい。
【0011】
そこで、レンズの絞りを絞った状態で白い壁などを撮影し、撮像素子上のゴミだけが写った画像を予め用意して通常撮影画像と組み合わせて使用することで、ゴミを目立たなくする方法が知られている(特許文献1参照)。しかし、この方法では、ゴミ検出用に撮影した画像と、それに関連付ける本撮影画像群との対応付けを常に意識しなくてはならず、煩わしい。そこで、白い壁などを撮影してゴミの位置を取得した後これをデジタルカメラ上で保持しておき、通常撮影時の画像データにゴミの位置や大きさのリスト(ダスト情報)を添付することが考えられる。例えば別途用意された画像処理装置を用い、添付されたゴミの位置から撮影データ上のゴミ位置を解析し、解析された領域を周囲の画素で補間処理することにより目立たなくすることができる。
【特許文献1】特開2004-222231号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
一方、撮影時の撮影レンズの情報などを利用して、レンズの特性、特に歪曲収差や倍率色収差などを補正するアプリケーションが登場している。このようなレンズの収差の補正処理を行うことで、より均質で高画質な画像を得ることができる。しかしながら、このような処理は画像を変形させるため、ダスト情報に記録されている座標と実際のゴミ像の位置がずれてしまい、ゴミ除去処理を正しく実行できなくなってしまうという問題がある。
【0013】
このような問題を回避するために、レンズ特性に応じた収差補正処理を適用する前にゴミの除去処理を実行することが考えられる。しかし、カメラとアプリケーションの役割分担やアプリケーション内での画像処理順序の制約により、そのような処理順序にできない場合もある。
【0014】
例えば、撮影した画像に対してカメラ内でレンズの収差の補正処理を行い、カメラ外部の画像処理装置でゴミ除去処理を実行する場合、ゴミ除去処理はレンズの収差の補正処理よりも後に行われることになる。
【0015】
したがって、本発明は上述した課題に鑑みてなされたものであり、その目的は、撮影画像に対して先にレンズの収差補正が行なわれた場合でも、後のゴミ除去処理を精度よく行えるようにすることである。
【課題を解決するための手段】
【0016】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、前記異物の位置情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第1の変換手段と、前記第1の変換手段で変換された前記異物の位置情報を更に、前記第2の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第2の変換手段と、を備えることを特徴とする。
【0017】
また、本発明に係わる別の画像処理装置は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、前記異物の位置および大きさ情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第1の変換手段と、前記第1の変換手段で変換された前記異物の位置および大きさ情報を更に、前記第2の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第2の変換手段と、を備えることを特徴とする。
【0018】
また、本発明に関わるレンズ交換式一眼レフデジタルカメラは、上記各手段に加え、異物検出モードにおいて前記異物検出用の画像信号を取得し、当該画像信号から撮像画面内における異物の位置情報を抽出する抽出手段を備えることを特徴とする。
【0019】
また、本発明に関わる画像処理装置の制御方法は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、前記異物の位置情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第1の変換工程と、前記第1の変換工程で変換された前記異物の位置情報を更に、前記第2の撮影レンズのレンズ情報と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第2の変換工程と、を備えることを特徴とする。
【0020】
また、本発明に関わる別の画像処理装置の制御方法は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、前記異物の位置および大きさ情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第1の変換工程と、前記第1の変換工程で変換された前記異物の位置および大きさ情報を更に、前記第2の撮影レンズのレンズ情報と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第2の変換工程と、を備えることを特徴とする。
【発明の効果】
【0021】
本発明によれば、撮影画像に対して先にレンズの収差補正が行なわれた場合でも、後のゴミ除去処理を精度よく行うことが可能となる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
(撮像装置の構成)
図1は、本発明の実施形態に係る撮像装置としてのレンズ交換式一眼レフデジタルカメラ(以下単にカメラ)の回路構成を示すブロック図である。
【0023】
図1において、マイクロコンピュータ402は、被写体像を光電変換する撮像素子(本実施形態ではCCD)418が出力する画像データの処理や、LCDモニタ装置417の表示制御をはじめ、カメラ全体の動作を制御する。
【0024】
スイッチ(SW1)405は、レリーズボタン114(図2参照)の半押し状態でオンになり、スイッチ(SW1)405がオンすると本実施形態のカメラは撮影準備状態になる。スイッチ(SW2)406は、レリーズボタン114が最後まで押された状態(全押し状態)でオンし、スイッチ(SW2)406がオンすると本実施形態のカメラは撮影動作を開始する。
【0025】
レンズ制御回路407は、撮影レンズ200(図3参照)との通信およびAF(オートフォーカス)時の撮影レンズ200の駆動制御や絞り羽根の駆動制御を行う。
【0026】
また図1において、外部表示制御回路408は、外部表示装置(OLC)409や、ファインダ内の表示装置(不図示)の制御を行う。スイッチセンス回路410は、カメラに設けられた電子ダイヤル411を含む多数のスイッチ類の信号をマイクロコンピュータ402に伝える。
【0027】
ストロボ発光調光制御回路412は、X接点412aを介して接地されており、外部ストロボの制御を行う。測距回路413は、AFのための被写体に対するデフォーカス量を検出する。測光回路414は、被写体の輝度を測定する。
【0028】
シャッター制御回路415はシャッターの制御を行い、撮像素子に対して適正な露光を行う。LCDモニタ装置417とバックライト照明装置416は、画像表示装置を構成している。記録装置419は例えばカメラ本体に着脱可能なハードディスクドライブや半導体メモリカード等である。
【0029】
また、マイクロコンピュータ402には、A/Dコンバータ423、画像バッファメモリ424、DSPなどからなる画像処理回路425、撮像素子内の所定画素そのものに欠陥があることを記憶している画素欠陥位置メモリ426が接続されている。また、ゴミによる画像不良を起こしている撮像素子内の画素位置を記憶しているゴミ位置メモリ427も接続されている。なお、画素欠陥位置メモリ426およびゴミ位置メモリ427は不揮発性メモリを用いることが好ましい。また、画素欠陥位置メモリ426とゴミ位置メモリ427は、同一メモリ空間の異なるアドレスを用いて記憶しても良い。
【0030】
また、428は、マイクロコンピュータ402が実行するプログラム等を記憶する不揮発性のメモリである。
【0031】
レンズ特性データ供給部430は、図示しないメモリに、各種の撮影レンズの特性に対応して収差を補正するための補正係数を記憶しており、この補正係数をマイクロコンピュータ402に供給する。本実施形態における撮影レンズに応じた収差補正処理では、補正関数を予め定めておき、補正関数に上記のレンズ特性データ供給部430から供給される補正係数を適用することで補正量を算出し、補正量にしたがって画像を変形する。撮影レンズの収差補正処理の詳細については後述する。なお、補正係数の記憶先はレンズ特性データ供給部430が有するメモリに限定されるものではなく、記録装置419に格納されても良い。撮影レンズの収差補正処理を適用するかどうかは、後述するメニュー画面で選択することができる。
【0032】
図2は、本実施形態に係るカメラの外観を示す斜視図、図3は図2の垂直断面図である。
【0033】
図2において、カメラ本体100の上部には、ファインダ観察用の接眼窓111、AE(自動露出)ロックボタン112、AFの測距点選択ボタン113、撮影操作をするためのレリーズボタン114が設けられている。また、電子ダイヤル411、撮影モード選択ダイヤル117、および外部表示装置409も設けられている。電子ダイヤル411は、他の操作ボタンと併用してカメラに数値を入力したり、撮影モードを切り換えたりするための多機能信号入力装置である。また、外部表示装置409は、液晶表示装置から構成され、シャッタースピード、絞り、撮影モードなどの撮影条件や、他の情報を表示する。
また、カメラ本体100の背面には、撮影された画像や各種設定画面などを表示するLCDモニタ装置417、LCDモニタ装置417をオン/オフするためのモニタスイッチ121、十字配置スイッチ116、およびメニューボタン124が設けられている。
【0034】
十字配置スイッチ116は、上下左右に配された4つのボタンと、中央に配されたSETボタンを有し、ユーザがLCDモニタ装置417に表示されるメニュー項目などの選択や実行をカメラに指示するために用いられる。
【0035】
メニューボタン124は、LCDモニタ装置417にカメラの各種設定を行うためのメニュー画面を表示させるためのボタンである。例えば、撮影モードを選択、設定する時は、このメニューボタン124を押した後、十字配置スイッチ116の上下左右のボタンを操作して希望のモードを選択し、希望のモードが選択された状態でSETボタンを押すことにより設定が完了する。このメニューボタン124と十字配置スイッチ116は、後述するゴミ検出モードの設定や、ゴミ検出モードの際の表示モード設定および識別マークの設定にも使用される。
【0036】
本実施形態のLCDモニタ装置417は透過型であるため、LCDモニタ装置の駆動だけでは画像を視認することはできず、必ずその裏面には図3に示すようにバックライト照明装置416が必要である。このようにLCDモニタ装置417とバックライト照明装置416は画像表示装置を構成している。
【0037】
図3に示すように、撮像光学系である撮影レンズ200はカメラ本体100に対してレンズマウント202を介して着脱可能である。図3において201は撮影光軸、203はクイックリターンミラーである。
【0038】
クイックリターンミラー203は撮影光路中に配置され、撮影レンズ200からの被写体光をファインダ光学系に導く位置(図3に示す位置、斜設位置と呼ぶ)と撮影光路外に退避する位置(退避位置と呼ぶ)との間で移動可能である。
【0039】
図3において、ピント板204上にはクイックリターンミラー203からファインダ光学系に導かれる被写体光が結像される。205はファインダの視認性を向上させるためのコンデンサレンズ、206はペンタゴナルダハプリズムであり、ピント板204およびコンデンサレンズ205を通った被写体光をファインダ観察用の接眼レンズ208および測光センサ207に導く。
【0040】
209、210はそれぞれシャッターを構成する後幕と先幕で、これら後幕209、先幕210の開放によって後方に配置されている固体撮像素子である撮像素子418が必要時間だけ露光される。撮像素子によって画素毎の電気信号に変換された撮影画像は、A/Dコンバータ423や画像処理回路425などによって処理され、画像データとして記録装置419に記録される。なお、撮像素子418の前方には光学ローパスフィルター等の光学素子418aが配置されており、この光学素子418aの表面に付着したゴミ等の異物が撮像素子418の撮像画面内に写り込むことになる。
【0041】
撮像素子418はプリント基板211に保持されている。このプリント基板211の後方には、もう一枚のプリント基板である表示基板215が配置されている。この表示基板215の反対側の面にLCDモニタ装置417およびバックライト照明装置416が配置されている。
【0042】
419は画像データを記録する記録装置、217は電池(携帯用電源)である。この記録装置419および電池217は、カメラ本体に対して着脱可能である。
【0043】
(レンズ収差補正ルーチン)
本実施例におけるレンズ収差補正処理の一例として、歪曲収差補正処理について説明する。
【0044】
レンズ収差補正処理を行うためには、レンズを識別する識別情報、ズーム位置を特定するための撮影時焦点距離情報、絞り値であるF値などの撮影時光学情報が必要である。本実施例では、これらの情報を被写体撮影時に撮影画像データのヘッダ情報であるExif情報のMakerNoteタグに格納する。このように格納することで、撮影画像と撮影時光学情報を一対一に管理することが可能である。また、さらに補正精度を上げるために、上記の情報に加えて被写体距離情報など有用な情報を格納しても良い。
【0045】
図4は、歪曲収差補正前の像高と補正後の像高の関係を示す図である。ここで像高とは、画像中心から画素(i,j)までの距離であるものとする。図示するように、歪曲収差補正前の像高から歪曲収差補正後の像高への変換を順変換、歪曲収差補正後の像高から歪曲収差補正前の像高への変換を逆変換とする。図中、レンズ特性データが、撮影時の焦点距離情報やF値などの撮影時光学情報によって定まる曲線である。歪曲収差補正処理は、歪曲収差補正前の像高と歪曲収差補正後の像高対応表である歪曲収差補正ルックアップテーブルを使って行う。従って、歪曲収差補正ルックアップテーブルは様々な撮影時光学情報に対応して用意されており、これらはレンズ特性データ供給部430に格納されている。
【0046】
通常、画素の変換を伴う画像処理は一般的に、逆変換によって画像処理を行う。つまり、変換後の画素を基準に、逆変換テーブルを用いて変換前の画素を求め、その変換前の画素における画像データ(画素値)を変換後の画素における画像データ(画素値)とする、置き換え処理である。このように逆変換による画像処理が望ましいのは、デジタル画像であるビットマップの場合、処理後の画素に処理前の画素が対応するとは限らないためである。
【0047】
図5は、本実施例における歪曲収差補正処理の流れを示すフローチャートである。
【0048】
ステップS1801で、処理対象画像のExif情報から撮影時光学情報(収差情報を含む)を取得し(レンズ情報取得)、これに対応する歪曲収差補正ルックアップテーブルをレンズ特性データ供給部430から取得する。
【0049】
次に、ステップS1802で、処理対象画像のExif情報から画素ピッチを取得する。画素ピッチとは隣り合う画素と画素のミリ単位で表される距離のことである。
【0050】
ステップS1803では、歪曲収差補正後の画像である出力画像の画像サイズを求める。出力画像の画像サイズの算出方法については後述する。
【0051】
次に、ステップS1804で、ステップS1803で求めた画像サイズ(幅fwピクセル、高さfhピクセル)を用いて、次式によりルックアップテーブルサイズfsを算出する。fsは、出力画像の中心から頂点までのピクセル単位での距離である。
【0052】
fs=√(((fw/2)*(fw/2))+((fh/2)*(fh/2)))
ステップS1805では、ステップS1801で得た歪曲収差補正ルックアップテーブルをスプライン補間して、ステップS1804で求めたルックアップテーブルサイズfsに応じた歪曲収差補正ルックアップテーブルに変換する。ここで、歪曲収差補正ルックアップテーブルの入力値は出力画像(歪曲収差補正後の画像)の中心からのピクセル単位の距離であり、出力値は入力画像(歪曲収差補正前の画像)の中心からのピクセル単位の距離である。このとき、ピクセル単位の距離をミリ単位の距離に変換するためには、ステップS1802で求めた画素ピッチを用いる。
【0053】
ステップS1806では、ステップS1803で求めた画像サイズの画像を構成する各画素に対して、後述する画素値算出処理を実行する。全ての画素について画素値を算出したら、処理を終了する。
【0054】
図6は、上述の逆変換によって歪曲収差を補正する、画像処理を説明するための説明図である。
【0055】
歪曲収差は、たる型の歪みが生じる場合と、糸巻き型の歪みが生じる場合があるが、例えば、たる型の歪みが生じた矩形画像の全画素を、歪みのない画像に補正した場合、その出力画像は、4頂点が鋭角に尖ったアメーバ形状の画像となる。図では、歪曲収差補正後の画像として、この形状が実線で表現されている。最終的な出力画像としては、点線で表された矩形画像を切り出すものとする。
【0056】
ここで、歪曲収差補正後の画像における座標P(i,j)の画素値を取得したい場合、まずこの座標の中心からの距離dを求める。そして、歪曲収差補正ルックアップテーブルから、入力値dに対する出力値d’を得る。つまり、歪曲収差補正後の像高から、歪曲収差補正前の像高を求めることになる。そして、歪曲収差補正補正前の画像において、θ=tan-1(j/i)となる方向で距離d’となる座標P’(i’,j’)を求める。ここで、P’(i’,j’)は必ずしも整数座標になるとは限らない。そこで、この座標を包含する周囲4点の整数座標における画素値を用いて、バイリニア補間によりこのP’(i’,j’)の画素値を演算する。このように逆変換処理を行うと、歪曲収差補正後の座標P(i,j)における座標値は、歪曲収差補正前の座標P’(i’,j’)の座標値として求めることができる。これを、歪曲収差補正後の画像の点線で囲まれた矩形内の全座標で繰り返し演算を行なえば、出力画像の全画素値を取得することができる。
【0057】
ここで、図6の点線で囲まれた矩形である出力画像のサイズについて、好ましい決定の仕方について説明する。
【0058】
図7は、歪曲収差補正前の画像(一点鎖線)と歪曲収差補正後の画像(点線)の第一象限を取り出してその関係を説明する図である。なお、歪曲収差補正前の画像のx軸方向の最大値をw/2、y軸方向の最大値をh/2とする。
【0059】
まずx軸方向について、歪曲収差補正前のy座標をh/2に固定し、x座標を0からw/2まで推移させたときにどのような曲線を描くかを求める。ここで、歪曲収差補正ルックアップテーブルは、入力値が出力画像の中心からのピクセル単位の距離で、出力値が入力画像の中心からのピクセル単位の距離として逆変換処理用に用意されているので、一旦順変換処理用に作り直すものとする。このように作り直された順変換処理用の歪曲収差補正ルックアップテーブルを用いて、(0,h/2)から(w/2,h/2)まで繰り返し変換後の座標を求める。
【0060】
次に、同様にy軸方向について、歪曲収差補正前のx座標をw/2に固定し、y座標を0からh/2まで推移させたときにどのような曲線を描くかを求める。つまり、順変換処理用の歪曲収差補正ルックアップテーブルを用いて、(w/2,0)から(w/2,h/2)まで繰り返し変換後の座標を求める。
【0061】
このようにして求めた座標を繋ぎ合わせたものが、図における実線で表された、歪曲収差補正後の外郭となる。この形状は、図6を用いて説明した、4頂点が鋭角に尖ったアメーバ形状の第一象限分と同じ形状である。
【0062】
このようにして求めた外郭において、これに内接する矩形、つまり、x軸方向では最小値となるw’/2、y軸方向では最小値となるh’/2を、それぞれx軸,y軸の最大値とする矩形を出力画像のサイズ(第一象現分)と定める。
【0063】
なお、ここではたる型の歪みが生じた矩形画像を補正処理する場合を例にしたが、糸巻き型の歪みが生じた矩形画像を補正処理する場合には、出力される外郭形状はアメーバ形状にはならず、楕円に近いような形状になる。この場合であっても、同様の処理をおこなって内接する矩形を求めれば、出力画像のサイズを定めることができる。
【0064】
このように定められた矩形である出力画像のサイズに応じて、図6を用いて説明した逆変換処理を全座標で繰り返し演算を行なえば、出力画像の全画素値を取得することができることになる。
【0065】
(ゴミ検出処理)
図8は、本実施形態に係るカメラの異物検出モードにおけるゴミ検出処理(ゴミによって画像不良が生じている画素位置の検出処理)を説明するフローチャートである。当該処理は、マイクロコンピュータ402がメモリ428に記憶されたゴミ検出処理プログラムを実行することにより実施される。
【0066】
ゴミ検出処理(異物情報取得処理)は、ゴミ検出用画像(異物検出用画像)を撮像することにより行われる。ゴミ検出処理を行う場合、面光源装置の出射面や白い壁などの均一な色を持つ面に撮影レンズ200の撮影光軸201を向けてカメラを設置し、ゴミ検出の準備を行なう。または、レンズマウント202にゴミ検出用のライトユニット(レンズの代わりに装着する小型の点光源装置)を装着し、ゴミ検出の準備を行う。ライトユニットの光源は例えば白色LEDが考えられ、発光面のサイズを予め定めた絞り値(例えば、本実施形態ではF16)相当になるように調整するのが望ましい。
【0067】
本実施形態では、通常の撮影レンズを用いた場合について説明するが、上記のライトユニットをレンズマウント202に取り付けてゴミ検出を行っても良い。このように、本実施形態においてゴミ検出用画像は、均一な色を有する画像である。
【0068】
準備が終了した後、例えば十字配置スイッチ116からゴミ検出処理の開始が指示されると、マイクロコンピュータ402は、まず絞りの設定を行う。撮像素子近傍のゴミはレンズの絞り値によって結像状態が変わり、レンズの瞳位置によって位置が変化する。したがって、ゴミ補正データ(異物情報)にはゴミの位置や大きさに加え、検出時の絞り値とレンズの瞳位置を保持する必要がある。
【0069】
ただし、ゴミ補正データを作成する段階で、異なるレンズを用いたとしても常に同じ絞り値を使うことを予め決めておけば、必ずしもゴミ補正データ内に絞り値を保持する必要はない。また、瞳位置に関してもライトユニットを用いたり、特定のレンズのみの使用を許可することで、同様に必ずしもゴミ補正データ内に瞳位置を保持する必要はなくなる。つまり、ゴミ補正データを作成する段階において、使用するレンズを複数許したり、絞り込む絞り値を適宜変更する場合には、検出時の絞り値とレンズの瞳位置を、ゴミ補正データ内に保持する必要があると言える。なお、ここで瞳位置とは、射出瞳の撮像面(焦点面)からの距離をいう。
【0070】
ここでは、例えばF16を指定する(ステップS21)。
【0071】
次にマイクロコンピュータ402はレンズ制御回路407に対し、撮影レンズ200の絞り羽根制御を行わせ、ステップS21で指定された絞り値に絞りを設定する(ステップS22)。さらに、フォーカス位置を無限遠に設定する(ステップS23)。
【0072】
撮影レンズの絞り値とフォーカス位置が設定されると、ゴミ検出モードでの撮影を実行する(ステップS24)。ステップS24で行う撮像処理ルーチンの詳細に関しては図9を用いて後に説明する。撮影された画像データは、バッファメモリ424に格納される。
【0073】
撮影が終了すると、撮影時の絞り値とレンズ瞳位置を取得する(ステップS25)。画像処理回路425に画像バッファメモリ424に記憶されている撮影画像の各画素に対応するデータを呼び出す(ステップS26)。画像処理回路425は、図10に示す処理を行い、ゴミが存在する画素の位置と大きさを取得する(ステップS27)。ステップS27で取得したゴミが存在する画素の位置と大きさ、およびステップS25で取得した絞り値とレンズ瞳位置情報を、ゴミ位置メモリ427に登録する(ステップS28)。ここで、前述したライトユニットを用いた場合には、レンズ情報を取得できない。そこで、レンズ情報が取得できない場合は、ライトユニットを使ったと判断し、予め定められたレンズ瞳位置情報と、ライトユニットの光源径から算出される換算絞り値を登録する。
【0074】
ここで、ステップS28において、予め画素欠陥位置メモリに記録されている製造時からの不良画素(画素欠陥)の位置と、読み出した画素データの位置を比べて画素欠陥であるかどうかを確認する。そして、画素欠陥によるものでは無いと判断された領域のみ、ゴミ位置メモリ427に位置を登録しても良い。
【0075】
ゴミ位置メモリ427に格納されるゴミ補正データのデータ形式例を図9に示す。図9に示した通り、ゴミ補正データには、検出用画像撮影時(画像信号取得時)の、レンズ情報(レンズの特性情報)とゴミの位置、大きさの情報が格納される。このゴミ補正データは、通常撮影時に画像データの撮影時情報と共に画像に付加し、後に説明するゴミ除去処理で利用する。
具体的には、検出用画像撮影時のレンズ情報として、検出用画像撮影時における実際の絞り値(F値)と、そのときのレンズ瞳位置を格納する。続く記憶領域に検出したゴミ領域の数(整数値)を格納し、これに続き、個々の具体的なゴミ領域のパラメータを、ゴミ領域の数だけ繰返して格納する。ゴミ領域のパラメータは、ゴミの半径(例えば2バイト)、有効画像領域における中心のx座標(例えば2バイト)、おなじく中心のy座標(例えば2バイト)の3つの数値のセットである。
【0076】
ゴミ位置メモリ427の大きさ等によりゴミ補正データサイズに制限がある場合、ステップS27で得たゴミ領域の先頭から優先してデータを格納する。これは、ステップS27のゴミ領域取得ルーチン内では、後述するようにゴミ領域を、目立つゴミの順にソートするからである。
【0077】
(ゴミ領域取得ルーチン)
次に、図10から図12を用いて、ステップS27で行うゴミ領域取得ルーチンの詳細について説明する。
【0078】
図11に示すように、呼び出した画像データをメモリ上に展開し、予め定められたブロック単位で処理を行う。これは、レンズやセンサ特性に起因する周辺減光に対応するためである。周辺減光とは、レンズの中央部に比べ周辺部の輝度が落ちてしまう現象であり、レンズの絞りを小さくすることである程度軽減されることが知られている。しかし、絞りを絞った状態でも、撮影画像に対して予め定められたスレッショルド値でゴミ位置の判定を行うと、レンズによっては周辺部のゴミが正確に検出できなくなるという問題がある。そこで、画像をブロック分割して周辺減光の影響を軽減する。
【0079】
単純にブロック分割すると、ブロックとブロックの間でスレッショルド値が異なる場合、ブロック間をまたぐゴミの検出結果がずれてしまうという問題がある。そこで、ブロック間をオーバーラップさせ、オーバーラップ領域を構成するブロックのいずれかでゴミと判定された画素をゴミ領域として扱う。
【0080】
ブロック内のゴミ領域判定は、図10に示す処理の流れで行う。まず、ブロック内の最大輝度Lmax、平均輝度Laveを算出し、次式を用いてブロック内のスレッショルド値T1を算出する。
【0081】
T1=Lave×0.6+Lmax×0.4
次に、スレッショルド値を超えない画素をゴミ画素とし(ステップS61)、ゴミ画素によって構成される孤立領域を各々一つのゴミ領域di(i=0,1,…,n)とする(ステップS62)。図12に示すように、ゴミ領域毎に、ゴミ領域を構成する画素の水平方向の座標の最大値Xmaxおよび最小値Xmin、垂直方向の座標の最大値Ymaxおよび最小値Yminを求め、ゴミ領域diのサイズを表す半径riを次式によって算出する(ステップS63)。
【0082】
ri=√[{(Xmax−Xmin)/2}2+{(Ymax−Ymin)/2}2]
Xmax、Xmin、Ymax、Yminとriの関係を、図12に示す。
【0083】
その後ステップS64で、ゴミ領域毎の平均輝度値を算出する。
【0084】
ゴミ位置メモリ427のサイズによる制限などにより、ゴミ補正データのデータサイズが制限されている場合がある。このような場合に対応するために、ゴミ位置情報を、大きさやゴミ領域の平均輝度値によってソートする(ステップS65)。本実施形態では、riの大きい順にソートする。riが等しい場合、平均輝度値の低い順にソートする。このようにすることで、目立つゴミを優先してゴミ補正データに登録することが出来る。なお、ソート済みのゴミ領域をDi、ゴミ領域Diの半径をRiとする。
【0085】
なお、予め定められたサイズより大きいゴミ領域がある場合、ソートの対象から外し、ソート済みゴミ領域リストの末尾に配置しても良い。これは、大きいゴミ領域については、後に補間処理をするとかえって画質を低下させる場合があり、編集対象の優先順位としては最下位として扱うことが望ましいからである。
【0086】
(撮像処理ルーチン)
次に、図13に示すフローチャートを用いて、図8のステップS24で行われる撮像処理ルーチンの詳細について説明する。当該処理はマイクロコンピュータ402がメモリ428に記憶された撮像処理プログラムを実行することにより実施される。
【0087】
この撮像処理ルーチンが実行されると、ステップS201でマイクロコンピュータ402は、図3に示すクイックリターンミラー203を作動させ、いわゆるミラーアップを行い、撮影光路外にクイックリターンミラー203を退避させる。
【0088】
次に、ステップS202で撮像素子での電荷蓄積を開始し、次のステップS203では図3に示したシャッターの先幕210、後幕209をそれぞれ走行させて露光を行う。そして、ステップS204で撮像素子の電荷蓄積を終了し、次のステップS205で撮像素子から画像信号を読み出してA/Dコンバータ423および画像処理回路425で処理した画像データをバッファメモリ424に一次記憶する。
【0089】
次のステップS206で撮像素子から全ての画像信号の読み出しが終了すると、ステップS207でクイックリターンミラー203をミラーダウンし、クイックリターンミラーを斜設位置に戻して一連の撮像動作を終了する。
【0090】
ステップS208において、通常撮影(被写体像の撮影)かゴミ検出用画像の撮影かを判断し、通常撮影時にはステップS209へ進んで撮影時のカメラ設定値等と共に図9に示したゴミ補正データを画像データに関連付けて記録装置419に記録する。
【0091】
具体的には、例えば、撮影時のカメラ設定値等が記録される画像ファイルのヘッダ領域であるExif領域にゴミ補正データを追記することで、関連付けを実現することができる。または、ゴミ補正データをファイルとして独立して記録し、画像データにはそのゴミ補正データファイルへのリンク情報のみを記録することで関連付けを実現することも可能である。ただし、画像ファイルとゴミ補正データファイルを別々に記録すると、画像ファイルの移動時に、リンク関係が消失する場合があるので、ゴミ補正データは画像データと一体的に保持することが望ましい。
【0092】
(ゴミ補正データの変換)
撮影画像に対して、レンズ収差補正処理とゴミ除去処理の両方を施すとき、順序として、まずレンズ収差補正処理を行ってから次にゴミ除去処理を行う場合と、その逆の場合がある。まずゴミ除去処理を行ってから次にレンズ収差補正処理を行う場合であれば、収差補正処理の影響を考慮することなくゴミ補正データを用いることができる。従って、歪曲収差補正処理を行う前にゴミ除去処理を施す方が、処理としては簡単である。しかし、撮影を行う撮像装置と、撮影された画像データをユーザが加工/鑑賞する画像処理装置は別物である場合が多く、それぞれの装置でどのような画像処理を担うかの役割分担の問題がある。また、ゴミ除去処理の対象となる領域が、被写体像との関係で、必ずしも適切に補正できる領域であるとは限らないという問題がある。例えば、コントラストの差が激しい被写体に跨って存在するゴミを補正処理しようとした場合、処理によってコントラストの差を無くしてしまう恐れがある。つまり、ゴミ除去処理を行いたくない場合があり、このような判断が必要となる処理は、処理が複雑で時間がかかるため、できるだけ後段で行うほうが有利である。
【0093】
従って、本実施形態においては、まずレンズ収差補正処理を行って、次にゴミ除去処理を行うものとする。このような順序で処理を行う場合、ゴミ補正データを、レンズ収差に応じて変換しなければならない。
【0094】
ゴミ補正データのデータ形式は、図9を用いて説明したように、ゴミ領域はゴミの半径と、中心のx座標、おなじく中心のy座標の3つの数値のセットで表されている。
【0095】
まず座標の変換は、歪曲収差補正前の座標点から歪曲収差補正後の座標点を求めることになるので、順変換による処理を行う。ここで、歪曲収差補正ルックアップテーブルは、入力値が出力画像の中心からのピクセル単位の距離で、出力値が入力画像の中心からのピクセル単位の距離として逆変換処理用に用意されているので、一旦順変換処理用に作り直すものとする。そして、作り直された順変換処理用の歪曲収差補正ルックアップテーブルを用いて、ゴミ補正データに記述された座標A(Xa,Ya)を、A’(Xa’,Ya’)に変換する。
【0096】
具体的には座標Aの中心からの距離である像高daを、作り直された歪曲収差補正ルックアップテーブルに入力し、歪曲収差補正後の像高da’を得る。そして、θ=tan−1(Ya/Xa)となる方向で距離da’となる座標A”(Xa”,Ya”)を求める。そして、このA”に最も近い整数座標をA’と定めるものとする。
【0097】
次に、半径の変換を行う。歪曲収差補正を行う場合に、像高が小さくなる方向に変換されるのであれば、変換前に比べ変換後のゴミ領域は小さくなり、像高が大きくなる方向に変換されるのであれば、逆に、変換前に比べて変換後のゴミ領域は大きくなる。これは、生じる歪曲収差が、糸巻き型であるかたる型であるかによる。半径の変換はこの関係に着目し、以下の変換式を用いることとする。
【0098】
ra’=ra+α(da’−da)
ここで、ra’は変換後の半径であり、raは変換前の半径である。da’は上述の中心座標A(Xa,Ya)の変換後の像高であり、daは変換前の像高である。αは、実験的に定められる、余裕量を見越した定数である。このような変換式を用いることにより、歪曲収差の型および座標位置に応じて、適切に半径を変換することが可能となる。
【0099】
このような変換を、ゴミ補正データに記述されている全てのゴミデータに対して行うことで、変換後のゴミ補正データを得ることができる。
【0100】
なお、ここではゴミの位置および大きさともに変換しているが、大きさについては位置に比べてそれほど厳密に変換する必要がない場合も多いので、厳密さを要求しない場合には、変換しないままゴミ検出時の大きさを用いても良い。
【0101】
(ゴミの除去を行うための処理)
次に、ゴミの除去(異物除去処理)を行うための処理の流れについて説明する。ゴミの除去を行うための処理は、カメラ本体ではなく、別途用意した画像処理装置上で行うものとする。また、ここでは簡単のため、まずレンズ収差補正を行わない場合について説明する。レンズ収差補正を行ってからゴミ除去処理を行う場合の説明は後述する。
【0102】
図14は、画像処理装置のシステム構成の概略を示した図である。
【0103】
CPU1001は、システム全体の動作をコントロールし、一次記憶部1002に格納されたプログラムの実行などを行う。一次記憶部1002は、主にメモリであり、二次記憶部1003に記憶されたプログラムなどを読み込んで格納する。二次記憶部1003は、例えばハードディスクなどがこれに該当する。一般に一次記憶部の容量は二次記憶部の容量より小さく、一次記憶部に格納しきれないプログラムやデータなどは二次記憶部に格納される。また、長時間記憶しなくてはならないデータなども二次記憶部に格納される。本実施形態では、プログラムを二次記憶部1003に格納し、プログラム実行時に一次記憶部1002に読み込んでCPU1001が実行処理を行う。
【0104】
入力デバイス1004とは例えば、システムのコントロールに用いるマウスやキーボードの他、画像データの入力に必要なカードリーダー、スキャナ、フィルムスキャナなどがこれに該当する。出力デバイス1005とは例えば、モニタやプリンタなどが考えられる。この装置の構成方法は他にも様々な形態が考えられるが、本発明の主眼ではないので説明を省略する。
【0105】
画像処理装置には、複数のプログラムを並列実行可能なオペレーティングシステムが搭載され、操作者はGUIを使ってこの装置上で動作するプログラムの操作が可能である。 本実施形態における画像処理装置は、ゴミの除去を行うための処理である画像編集機能として2つの処理を実行可能である。一つはコピースタンプ処理で、もう一つはリペア処理である。コピースタンプ処理とは、ユーザによりカーソル等で指定された画像上の一部の領域を別途指定された別の領域に合成する機能である。リペア処理とは、指定された領域内で予め定められた条件に合う孤立領域を検出し、この孤立領域を周囲の画素で補間する機能である。このリペア処理は、ユーザによりカーソル等で指定された領域に対して行う手動リペア機能と、ゴミ補正データを利用して自動的に処理を実行する自動リペア機能とがある。この自動リペア機能が、これまで単にゴミ除去処理と言っていたものであり、その具体的な処理についての詳細は後述する。
【0106】
図15は、画像処理装置における画像編集プログラムのGUI(Graphical User Interface)を示す図である。ウィンドウにはクローズボタン1100とタイトルバー1101が備えられ、クローズボタンを押すことでプログラムを終了する。ファイルを画像表示領域1102にドラッグアンドドロップすることで編集対象画像を指定し、編集対象画像が決定された場合、タイトルバー1101にファイル名を表示した後、画像表示領域1102に対象画像をFit表示する。
【0107】
編集対象画像の表示状態は、Fit表示と画素等倍表示の2つがあり、表示モードボタン1108で切り換えることが出来る。本GUIでは、画像上をクリックして加工位置を指定するが、Fit表示時はクリックされた位置に対応する加工画像上での座標を表示倍率に応じて算出し、その座標に処理を適用するものとする。また、本GUIでは処理範囲を半径で指定するが、この半径は編集対象画像上での半径であり、表示倍率によってはFit表示した画像上での半径とは異なる場合がある。
【0108】
自動リペア処理実行ボタン1103を押すと、後述する自動ゴミ除去処理を実行し、処理後の画像を画像表示領域1102に表示する。自動リペア処理実行ボタン1103は、画像が未編集の状態でのみ有効になり、コピースタンプ処理やリペア処理、自動リペア処理の実行により画像が編集された状態の場合は無効になる。
【0109】
半径スライダ1106は、コピースタンプ処理とリペア処理の適用範囲を指定するスライダである。
【0110】
リペア処理モードボタン1104を押すと、リペア処理モードになる。リペア処理モード時に画像中を左クリックすると、左クリックした座標を中心、半径スライダ1106で指定した画素数を半径とする領域に対し、後述するリペア処理を適用する。リペア処理を適用した後は、リペア処理モードを抜ける。また、リペアモード時に画像表示領域1102上で右クリックが押された場合、あるいはGUI上のいずれかのボタンが押された場合、リペアモードを抜ける。
【0111】
コピースタンプ処理モードボタン1105を押すと、コピースタンプモードになる。コピースタンプモード時に画像中が左クリックされた場合、左クリックされた座標をコピー元領域の中心座標に設定する。コピー元領域の中心座標が設定された状態で更に画像上が左クリックされた場合、左クリックされた座標をコピー先領域の中心座標、この時点での半径スライダ1106で指定された半径をコピー半径としてコピースタンプ処理を実行し、コピー元領域の中心座標を未設定の状態にしてコピースタンプモードを抜ける。また、コピースタンプモード時に画像表示領域1102上で右クリックが押された場合、あるいはGUI上のいずれかのボタンが押された場合、コピー元領域の中心座標を未設定の状態にしてコピースタンプモードを抜ける。
【0112】
保存ボタン1107が押された場合、処理後の画像を保存する。
【0113】
本画像編集プログラムでは、図16に示すように元画像と処理後の画像の両方を保持する。つまり、ユーザのGUI操作によって処理が実行された場合、その前後の画像を保持すると同時に、その操作によって指定された編集処理を記録する。具体的には、GUIで指定された編集処理は、処理後の画像に対して順次適用され、適用された編集処理を編集履歴として登録していく。編集履歴に登録した1回分の編集処理のことを、編集エントリと呼ぶ。
【0114】
編集エントリの例を図17に示す。本実施形態における編集エントリには、コピースタンプ処理かリペア処理かを区別するための処理ID、処理の適用領域を示す中心と半径、コピースタンプ処理の場合に必要なコピー元座標からコピー先座標への相対座標、後述する差分画像データを保持する。自動リペア処理を実行した場合、ゴミ補正データに従ってリペア処理を実行し、リペア処理を適用する度に編集エントリを編集履歴に追加する。
このような実装にすることで、編集履歴を完全に破棄して元画像を復元したり、直前の編集処理を取り消したりすることができる。
【0115】
例えば直前の編集処理を取り消す処理は、一旦処理後の画像を元画像で上書きし、取り消し対象の編集エントリの直前まで編集処理を再実行することで実現可能である。しかし、エントリの数が非常に多い場合など編集処理の再実行に時間がかかってしまう場合がある。そこで、編集操作を実行する度に、編集処理の実行前後について画像データの差分を取り、これを編集エントリに保持する。差分画像を保持すれば、1つの編集エントリを取り消す場合、編集エントリに記載された編集処理を1つ前の編集エントリまで最初から再実行する代わりに、差分画像を反映するだけで1つ前の編集エントリに戻ることができる。なお、この編集エントリの集まりである編集履歴は、画像処理装置の一次記憶部1002又は二次記憶部1003に記憶される。
【0116】
次に、リペア処理、自動リペア処理の各処理の詳細について述べる。コピースタンプ処理はよく知られた技術であるため、処理の詳細については説明を省略する。
リペア処理は、指定された領域内の孤立領域を検出し、この孤立領域を補間する処理である。リペア処理は、GUIで指定された中心座標と半径で表現される領域に対し、後述する補間ルーチンを適用することで実現する。
【0117】
自動リペア処理では、ゴミ除去処理を行う対象となる画像データである撮影画像データのExif情報からゴミ補正データを抽出し、ゴミ補正データに応じてリペア処理を自動実行する。自動リペア処理の基本的な処理の流れを、図18に示す。
【0118】
まず、カメラ内又はカメラから取り外された記録装置419から、ゴミ補正データがExif情報として付加された撮影画像データを画像処理装置に取り込んで、一次記憶部1002又は二次記憶部1003に記憶する(ステップS90)。
【0119】
次に、撮影画像データから、Exif情報として記述されたゴミ補正データを抽出する(ステップS91)。
【0120】
次に、ステップS91で抽出したゴミ補正データから座標列Di(i=1,2,…n)、半径列Ri(i=1,2,…,n)、絞り値f1とレンズ瞳位置L1を得る(ステップS92)。ここでRiは、図10のステップS65で算出した座標Diのゴミの大きさである。ステップS93で、撮影された画像の撮影時の絞り値f2とレンズ瞳位置L2を取得し、ステップS94でDiを次式で変換する。ここで、Hは撮像素子418の表面とゴミとの距離であるとする。変換後の座標Di’と変換後の半径Ri’は例えば次式で定義する。
【0121】
Di’(x,y)=(L2×(L1−H)/((L2−H)×L1))×Di(x,y)
Ri’=(Ri×f1/f2+3)× 2
ここでの単位はピクセルであり、Ri’についての「+3」はマージン量である。2倍しているのは、平均輝度を用いてゴミ領域を検出するため、ゴミ領域外の領域が必要であるからである。
【0122】
ステップS95で、補間処理カウンタiを0に初期化し、ステップS96でiをカウントアップする。
【0123】
ステップS97でi番目の座標Di’、半径Ri’によって表される領域に対して補間ルーチンを実行し、領域内のゴミを除去する。ステップS98で全ての座標についてゴミ除去処理を適用したかどうかを判定し、全ての座標について処理が終わっていれば処理を終了し、そうでなければステップS96に戻る。
【0124】
(補間ルーチン)
ここで、リペア処理、および自動リペア処理で実行する補間ルーチンについて説明する。
【0125】
図19は、補間ルーチンの流れを示すフローチャートである。まずステップS1201で、ゴミ領域判定を行う。ここで、リペア処理の対象となる領域の中心座標をP、半径をRとする。ゴミ領域とは、次の条件全てを満たす領域とする。
(i)リペア処理対象領域に含まれる画素の平均輝度Yaveと最高輝度Ymaxを用いて次式で求められるスレッショルド値T2より暗い領域。
【0126】
T2=Yave×0.6+Ymax×0.4
(ii)上記の中心座標P、半径Rで表される円と接しない領域。
(iii)(i)で選択された輝度の低い画素によって構成される孤立領域に対し、図10中のステップS63と同様の方法で算出した半径値がl1画素以上、l2画素未満である領域。
【0127】
自動リペア処理時には、上記の条件に加え、さらに次の条件を満たす領域をゴミ領域とする。
(iv)円の中心座標Pを含む領域。
【0128】
本実施形態では、l1は3画素、l2は30画素とする。このようにすることで、孤立した小領域だけをゴミ領域として扱うことが可能になる。
【0129】
ステップS1202で、このような領域があればステップS1203へ進みゴミ領域補間を行い、存在しない場合は処理を終了する。ステップS1203で実行するゴミ領域補間処理は、公知の欠損領域補間法で行う。公知の欠損領域補間法には例えば、特開2001−223894号公報に開示されているパターン置換がある。特開2001−223894号公報では赤外光を用いて欠損領域を特定しているが、本実施形態ではステップS1201で検出したゴミ領域を欠損領域として扱い、パターン置換によりゴミ領域を周囲の正常画素で補間する。パターン置換で埋められない画素については、パターン補間後の画像データに対し、補間対象画素に最も近い順に正常画素をp個、最も遠い順にq個選択し、その平均色を用いて補間する。
【0130】
以上で述べた方法で、カメラで取得したゴミ補正データを用いて、カメラ外部の画像処理装置でゴミを除去することができる。
【0131】
次に、レンズ収差補正を行う場合のゴミ除去処理について、上述のレンズ収差補正を行わない場合に対して、如何なる処理を追加するかの観点で説明する。
【0132】
レンズ収差補正を行ってから、ゴミ除去処理を行うという手順を採る場合、ゴミ補正データに対して必要な変換処理は以下の2つに纏められる。
(1)ゴミ検出用画像撮影時のレンズ(第1の撮影レンズ)と、通常撮影時(被写体を撮影する時)のレンズ(第2の撮影レンズ)の瞳位置の違いに基づく変換処理(図18のステップS94の変換処理)。
(2)レンズ収差補正による座標変換に基づく変換処理(例えば、上述の順変換処理用の歪曲収差補正ルックアップテーブルを用いて行う変換処理)。
【0133】
ここで、(1)の変換処理は、図18ではゴミ除去処理直前の処理として説明したが、レンズ収差補正処理を行う場合は、ゴミ除去処理を実行する前であればいずれの時点で行ってもよいが、(2)の変換処理の前に行う必要がある。
【0134】
また、上述のように、本実施形態においてゴミ除去処理は画像処理装置で行うものであるが、レンズ収差補正については、ゴミ除去処理を実行する前であれば、カメラ本体内で行っても画像処理装置で行っても良い。(1)の変換処理をおこなう第1の変換手段、および(2)の変換処理をおこなう第2の変換手段としては、カメラ本体内で行う場合は、マイクロコンピュータ402であり、画像処理装置内で行う場合は、CPU1001となる。
【0135】
従って、カメラと画像処理装置をシステムとして見た場合に、一連の変換処理および補正処理は、以下の手順を踏めばよいことになる。
【0136】
ステップA:ゴミ検出用画像の取得、ゴミ補正データの作成。この時点でのゴミ補正データは、ゴミ検出画像を取得したときのレンズ情報に基づくものである。
【0137】
ステップB:被写体画像の取得。このときこの被写体画像を撮影したレンズの情報も取得する。
【0138】
ステップC:上記(1)のゴミ補正データの変換処理を行う。
【0139】
ステップD:レンズ収差補正処理を被写体画像に対して行う。
【0140】
ステップE:上記(2)のゴミ補正データの変換処理を行う。
【0141】
ステップF:変換されたゴミ補正データに基づいて、ゴミ除去処理(自動リペア処理)を行う。
【0142】
ただし、上記(1)を行った後に上記(2)を行うという順序が守られれば、ステップCとステップDは逆順であっても良いし、ステップDとステップEは逆順であっても良い。また、ステップBの被写体画像の取得後は、ゴミ補正データはそのExif情報に記述され、変換処理がされるたびに書き換えられるものとする。
【0143】
次に、カメラ本体と画像処理装置の役割分担であるが、どこまでのステップをカメラ本体で行い、どこからのステップを画像処理装置で行うかという問題がある。そこで、以下に3つの実施例を示す。
【0144】
(実施例1)
実施例1では、ステップEまでをカメラ本体で行い、ステップFを画像処理装置で行う。このように構成すると、画像処理装置を用いて行う撮影後の鑑賞や印刷指示の段階で、画像処理装置の処理負担が軽く、多くの撮影画像を同時に扱いたい場合などに有利である。
【0145】
具体的には、カメラ本体において、マイクロコンピュータ402が、画像処理回路425を制御することにより、被写体画像のレンズ収差補正処理を行う。そして、マイクロコンピュータ402が、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施し、このゴミ補正データをレンズ収差補正処理が実行された被写体画像のExif情報に記述する。
【0146】
この段階で、レンズ収差補正による座標変換に基づく変換処理を施されたゴミ補正データをExif情報として有する、レンズ収差補正処理を受けた被写体画像データは、外部記録装置419に記録された状態となる。
【0147】
次に、画像処理装置のCPU1001は、入力デバイス1004を介して、外部記録装置419に記録された被写体画像データを取り込む。そして、CPU1001は、ゴミ除去処理を実行する。なお、図17を用いて説明したゴミ除去処理においては、ステップS92からステップS94で、上記(1)のゴミ補正データの変換処理を行っている。しかし、本実施例1では、画像処理装置が受け取る被写体画像データに付加されているゴミ補正データは、すでにこの変換処理が行われているので、画像処理装置内でのゴミ除去処理においては、これらのステップが省略される。つまり、画像処理装置内ではゴミ補正データの変換の必要は無く、付加されたゴミ補正データのその座標と半径を直接的に適用することで、被写体画像に対して補間処理を行うことができる。
【0148】
(実施例2)
実施例2では、ステップCとステップDを逆順とした上で、ステップA、B、Dをカメラ本体で行い、ステップC、E、Fを画像処理装置で行う。
【0149】
このように構成すると、被写体画像やゴミの付着状況によっては必ずしも画像処理装置で実行するとは限らないゴミ除去処理に対する準備を、カメラ側では最小限に留めることができる。したがって、カメラ側での処理負担が軽くなるため、カメラの連写性能などに対しては都合が良い。
【0150】
具体的には、カメラ本体において、マイクロコンピュータ402が、画像処理回路425を制御することにより、被写体画像のレンズ収差補正処理を行う。そして、このときExif情報としては、ゴミ検出画像から得られたゴミ補正データが、ゴミ検出画像を取得したときのレンズ情報と共に、記述されている。もちろん被写体画像を撮影したレンズ情報も記述されている。
【0151】
次に、画像処理装置のCPU1001は、入力デバイス1004を介して、外部記録装置419に記録された被写体画像データを取り込む。そして、CPU1001は、被写体画像データに付加されているExif情報を読み込む。このExif情報を基に、まずゴミ検出画像撮影時のレンズと通常撮影時のレンズとの違いによる変換処理を施した後、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施す。レンズ収差補正による座標変換に基づく変換処理は、図17を用いて説明したゴミ除去処理におけるステップS94の直後に行われることになる。このように変換処理されたゴミ補正データに基づいて、ゴミ除去処理を実行する。なお、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施すときに必要な、歪曲収差補正ルックアップテーブルは二次記憶部1003に記憶されている。この歪曲収差補正ルックアップテーブルは、ゴミ補正データの変換時に一次記憶部1002に読み込まれて用いられる。
【0152】
(実施例3)
実施例3では、ステップAとステップBをカメラ本体で行い、ステップC〜Fを画像処理装置で行う。
【0153】
このように構成すると、実施例2の構成に比べてもさらにカメラの処理負担は軽減されるので、よりシャッタチャンスに強いという効果が得られる。
【0154】
具体的には、カメラ本体は、ゴミ検出用画像を撮影してゴミ補正データを取得することと通常撮影を行うのみである。通常撮影で得られた被写体画像のExif情報には、ゴミ検出画像取得時のレンズ情報および通常撮影時のレンズ情報が、ゴミ補正データと共に記述されている。
【0155】
次に、画像処理装置のCPU1001は、入力デバイス1004を介して、外部記録装置419に記録された被写体画像データを取り込む。そして、CPU1001は、被写体画像に対してレンズ収差補正処理を行う。なお、歪曲収差補正ルックアップテーブルは二次記憶部1003に記憶されており、レンズ収差補正処理時には、一次記憶部1002に読み込まれて用いられる。そして、被写体画像データに付加されているExif情報を読み込む。このExif情報を基に、まずゴミ検出画像撮影時のレンズと通常撮影時のレンズとの違いによる変換処理を施した後、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施す。レンズ収差補正による座標変換に基づく変換処理は、図17を用いて説明したゴミ除去処理におけるステップS94の直後に行われることになる。このように変換処理されたゴミ補正データに基づいて、ゴミ除去処理を実行する。
【0156】
請求項の「画像処理装置」との対応は、上記(1)の変換処理をおこなう第1の変換手段、および上記(2)の変換処理をおこなう第2の変換手段を備える装置が請求項における「画像処理装置」であるといえる。つまり、実施例1においては、レンズ交換式一眼レフデジタルカメラが請求項の「画像処理装置」であり、実施例2,3においては、画像処理装置がそのまま請求項の「画像処理装置」に相当する。
【0157】
(他の実施形態)
また、各実施形態の目的は、次のような方法によっても達成される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、本発明には次のような場合も含まれる。すなわち、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【0158】
さらに、次のような場合も本発明に含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【0159】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した手順に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0160】
【図1】本発明の実施形態に係る撮像装置としてのレンズ交換式一眼レフデジタルカメラの回路構成を示すブロック図である。
【図2】本発明の実施形態に係るデジタルカメラの外観斜視図である。
【図3】本発明の実施形態に係るデジタルカメラの内部構造を示す垂直断面図である。
【図4】歪曲収差補正前の像高と補正後の像高の関係を示す図である。
【図5】本発明の実施形態に係る歪曲収差補正処理の流れを示すフローチャートである。
【図6】逆変換によって歪曲収差を補正する、画像処理を説明するための説明図である。
【図7】歪曲収差補正前の画像と歪曲収差補正後の画像の関係を説明する図である。
【図8】本発明の実施形態に係るゴミ検出処理を説明するフローチャートである。
【図9】本発明の実施形態に係るゴミ補正データのデータ形式例を示す図である。
【図10】図8のステップS27で行われるゴミ領域取得ルーチンの詳細を説明するフローチャートである。
【図11】図10のステップS62で行われるゴミ領域判定処理の処理単位を示す図である。
【図12】図10のステップS63で行われるゴミ領域サイズ算出の概要を示す図である。
【図13】図8のステップS24で行われる撮像処理ルーチンの詳細を説明するフローチャートである。
【図14】本発明の実施形態に係る画像編集プログラムの内部構造を示す図である。
【図15】本発明の実施形態に係る画像処理装置におけるGUIの例を示す図である。
【図16】本発明の実施形態に係る画像処理装置のシステム構成の概略を示した図である。
【図17】本発明の実施形態に係る画像編集プログラムの編集履歴のデータ構造を示す図である。
【図18】本発明の実施形態に係る自動リペア処理の基本的な流れを説明するフローチャートである。
【図19】本発明の実施形態に係る補間ルーチンの詳細を説明するフローチャートである。
【技術分野】
【0001】
本発明は、CCDやCMOSセンサ等の撮像素子を用いた撮像装置によって撮影された撮影画像に表れる、光学ローパスフィルター等の表面に付着した異物に起因する影の影響を軽減する技術に関する。
【背景技術】
【0002】
近年、デジタルカメラやデジタルビデオカメラなどのように、CCD等の撮像素子を用いて画像信号を生成し、それをデータとして記録する撮像装置が数多く出回るようになってきている。デジタルカメラでは、従来記録媒体として使用していた感光フィルムが不要になり、これに代わって半導体メモリカードやハードディスク装置等のデータ記録媒体にデータ化された画像を記録する。これらのデータ記録媒体はフィルムと違って何度でも書き込み、消去が可能であるので、消耗品にかかる経費が少なくて済み、大変便利である。
【0003】
通常、デジタルカメラには撮像画像を随時表示可能なLCD(液晶表示器)モニタ装置と、着脱可能な大容量記憶装置が搭載されている。
【0004】
これら二つの装置を備えたデジタルカメラを利用すると、従来消耗品として使用してきた記録媒体であるフィルムが不要になるばかりでなく、撮像した画像をLCDモニタ装置に表示してその場で直ちに確認できる。したがって、満足の得られない画像データはその場で消去したり、必要に応じて再撮影したりすることが可能となり、フィルムを用いる銀塩カメラと比較すると、写真撮影の効率が飛躍的に高まったと言える。
【0005】
このような利便性と撮像素子の多画素化などの技術革新により、デジタルカメラの利用範囲は拡大しており、近年では一眼レフ方式などレンズ交換が可能なデジタルカメラも多くなってきている。
【0006】
ところが、上記のような一眼レフ方式のデジタルカメラでは、撮像素子に固定された撮像素子保護ガラス、光学フィルター等の光学系(以下、まとめて撮像素子光学系部品)の表面上にゴミ、ほこりなどの異物(以下、単にゴミ)が付着する場合がある。このように撮像素子光学系部品にゴミが付着すると、そのゴミによって光が遮られ、その部分が撮影されないなど、撮影した画像の品質が低下するという問題があった。
【0007】
デジタルカメラに限らず銀塩フィルムを用いるカメラにおいても、フィルム上にゴミが存在すると写りこんでしまう問題はあったが、フィルムの場合は1コマごとにフィルムが移動するため、全てのコマに同様のゴミが写りこむことは大変稀である。
【0008】
しかし、デジタルカメラの撮像素子は移動せず、1つの撮像素子で撮影を行うため、撮像素子光学系部品に一度ゴミが付着すると、多くのコマ(撮影画像)に同様のゴミが写りこんでしまう。特にレンズ交換式のデジタルカメラにおいては、レンズ交換時にカメラ内にゴミが入り込みやすいという問題がある。
【0009】
したがって、撮影者は撮像素子光学系部品へのゴミの付着に常時気を使わねばならず、ゴミのチェックや清掃に多くの労力を費やしていた。特に撮像素子は、カメラ内部の比較的奥まったところに配置されているため、清掃やゴミの確認は容易ではない。
【0010】
さらにレンズ交換式のデジタルカメラでは、レンズ着脱によるゴミの侵入が発生するばかりでなく、撮像素子の直前に配置されたフォーカルプレーンシャッターの駆動による削りかす等により、撮像素子光学系部品上にゴミが付着しやすい。
【0011】
そこで、レンズの絞りを絞った状態で白い壁などを撮影し、撮像素子上のゴミだけが写った画像を予め用意して通常撮影画像と組み合わせて使用することで、ゴミを目立たなくする方法が知られている(特許文献1参照)。しかし、この方法では、ゴミ検出用に撮影した画像と、それに関連付ける本撮影画像群との対応付けを常に意識しなくてはならず、煩わしい。そこで、白い壁などを撮影してゴミの位置を取得した後これをデジタルカメラ上で保持しておき、通常撮影時の画像データにゴミの位置や大きさのリスト(ダスト情報)を添付することが考えられる。例えば別途用意された画像処理装置を用い、添付されたゴミの位置から撮影データ上のゴミ位置を解析し、解析された領域を周囲の画素で補間処理することにより目立たなくすることができる。
【特許文献1】特開2004-222231号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
一方、撮影時の撮影レンズの情報などを利用して、レンズの特性、特に歪曲収差や倍率色収差などを補正するアプリケーションが登場している。このようなレンズの収差の補正処理を行うことで、より均質で高画質な画像を得ることができる。しかしながら、このような処理は画像を変形させるため、ダスト情報に記録されている座標と実際のゴミ像の位置がずれてしまい、ゴミ除去処理を正しく実行できなくなってしまうという問題がある。
【0013】
このような問題を回避するために、レンズ特性に応じた収差補正処理を適用する前にゴミの除去処理を実行することが考えられる。しかし、カメラとアプリケーションの役割分担やアプリケーション内での画像処理順序の制約により、そのような処理順序にできない場合もある。
【0014】
例えば、撮影した画像に対してカメラ内でレンズの収差の補正処理を行い、カメラ外部の画像処理装置でゴミ除去処理を実行する場合、ゴミ除去処理はレンズの収差の補正処理よりも後に行われることになる。
【0015】
したがって、本発明は上述した課題に鑑みてなされたものであり、その目的は、撮影画像に対して先にレンズの収差補正が行なわれた場合でも、後のゴミ除去処理を精度よく行えるようにすることである。
【課題を解決するための手段】
【0016】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、前記異物の位置情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第1の変換手段と、前記第1の変換手段で変換された前記異物の位置情報を更に、前記第2の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第2の変換手段と、を備えることを特徴とする。
【0017】
また、本発明に係わる別の画像処理装置は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、前記異物の位置および大きさ情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第1の変換手段と、前記第1の変換手段で変換された前記異物の位置および大きさ情報を更に、前記第2の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第2の変換手段と、を備えることを特徴とする。
【0018】
また、本発明に関わるレンズ交換式一眼レフデジタルカメラは、上記各手段に加え、異物検出モードにおいて前記異物検出用の画像信号を取得し、当該画像信号から撮像画面内における異物の位置情報を抽出する抽出手段を備えることを特徴とする。
【0019】
また、本発明に関わる画像処理装置の制御方法は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、前記異物の位置情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第1の変換工程と、前記第1の変換工程で変換された前記異物の位置情報を更に、前記第2の撮影レンズのレンズ情報と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第2の変換工程と、を備えることを特徴とする。
【0020】
また、本発明に関わる別の画像処理装置の制御方法は、撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、前記異物の位置および大きさ情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第1の変換工程と、前記第1の変換工程で変換された前記異物の位置および大きさ情報を更に、前記第2の撮影レンズのレンズ情報と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第2の変換工程と、を備えることを特徴とする。
【発明の効果】
【0021】
本発明によれば、撮影画像に対して先にレンズの収差補正が行なわれた場合でも、後のゴミ除去処理を精度よく行うことが可能となる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
(撮像装置の構成)
図1は、本発明の実施形態に係る撮像装置としてのレンズ交換式一眼レフデジタルカメラ(以下単にカメラ)の回路構成を示すブロック図である。
【0023】
図1において、マイクロコンピュータ402は、被写体像を光電変換する撮像素子(本実施形態ではCCD)418が出力する画像データの処理や、LCDモニタ装置417の表示制御をはじめ、カメラ全体の動作を制御する。
【0024】
スイッチ(SW1)405は、レリーズボタン114(図2参照)の半押し状態でオンになり、スイッチ(SW1)405がオンすると本実施形態のカメラは撮影準備状態になる。スイッチ(SW2)406は、レリーズボタン114が最後まで押された状態(全押し状態)でオンし、スイッチ(SW2)406がオンすると本実施形態のカメラは撮影動作を開始する。
【0025】
レンズ制御回路407は、撮影レンズ200(図3参照)との通信およびAF(オートフォーカス)時の撮影レンズ200の駆動制御や絞り羽根の駆動制御を行う。
【0026】
また図1において、外部表示制御回路408は、外部表示装置(OLC)409や、ファインダ内の表示装置(不図示)の制御を行う。スイッチセンス回路410は、カメラに設けられた電子ダイヤル411を含む多数のスイッチ類の信号をマイクロコンピュータ402に伝える。
【0027】
ストロボ発光調光制御回路412は、X接点412aを介して接地されており、外部ストロボの制御を行う。測距回路413は、AFのための被写体に対するデフォーカス量を検出する。測光回路414は、被写体の輝度を測定する。
【0028】
シャッター制御回路415はシャッターの制御を行い、撮像素子に対して適正な露光を行う。LCDモニタ装置417とバックライト照明装置416は、画像表示装置を構成している。記録装置419は例えばカメラ本体に着脱可能なハードディスクドライブや半導体メモリカード等である。
【0029】
また、マイクロコンピュータ402には、A/Dコンバータ423、画像バッファメモリ424、DSPなどからなる画像処理回路425、撮像素子内の所定画素そのものに欠陥があることを記憶している画素欠陥位置メモリ426が接続されている。また、ゴミによる画像不良を起こしている撮像素子内の画素位置を記憶しているゴミ位置メモリ427も接続されている。なお、画素欠陥位置メモリ426およびゴミ位置メモリ427は不揮発性メモリを用いることが好ましい。また、画素欠陥位置メモリ426とゴミ位置メモリ427は、同一メモリ空間の異なるアドレスを用いて記憶しても良い。
【0030】
また、428は、マイクロコンピュータ402が実行するプログラム等を記憶する不揮発性のメモリである。
【0031】
レンズ特性データ供給部430は、図示しないメモリに、各種の撮影レンズの特性に対応して収差を補正するための補正係数を記憶しており、この補正係数をマイクロコンピュータ402に供給する。本実施形態における撮影レンズに応じた収差補正処理では、補正関数を予め定めておき、補正関数に上記のレンズ特性データ供給部430から供給される補正係数を適用することで補正量を算出し、補正量にしたがって画像を変形する。撮影レンズの収差補正処理の詳細については後述する。なお、補正係数の記憶先はレンズ特性データ供給部430が有するメモリに限定されるものではなく、記録装置419に格納されても良い。撮影レンズの収差補正処理を適用するかどうかは、後述するメニュー画面で選択することができる。
【0032】
図2は、本実施形態に係るカメラの外観を示す斜視図、図3は図2の垂直断面図である。
【0033】
図2において、カメラ本体100の上部には、ファインダ観察用の接眼窓111、AE(自動露出)ロックボタン112、AFの測距点選択ボタン113、撮影操作をするためのレリーズボタン114が設けられている。また、電子ダイヤル411、撮影モード選択ダイヤル117、および外部表示装置409も設けられている。電子ダイヤル411は、他の操作ボタンと併用してカメラに数値を入力したり、撮影モードを切り換えたりするための多機能信号入力装置である。また、外部表示装置409は、液晶表示装置から構成され、シャッタースピード、絞り、撮影モードなどの撮影条件や、他の情報を表示する。
また、カメラ本体100の背面には、撮影された画像や各種設定画面などを表示するLCDモニタ装置417、LCDモニタ装置417をオン/オフするためのモニタスイッチ121、十字配置スイッチ116、およびメニューボタン124が設けられている。
【0034】
十字配置スイッチ116は、上下左右に配された4つのボタンと、中央に配されたSETボタンを有し、ユーザがLCDモニタ装置417に表示されるメニュー項目などの選択や実行をカメラに指示するために用いられる。
【0035】
メニューボタン124は、LCDモニタ装置417にカメラの各種設定を行うためのメニュー画面を表示させるためのボタンである。例えば、撮影モードを選択、設定する時は、このメニューボタン124を押した後、十字配置スイッチ116の上下左右のボタンを操作して希望のモードを選択し、希望のモードが選択された状態でSETボタンを押すことにより設定が完了する。このメニューボタン124と十字配置スイッチ116は、後述するゴミ検出モードの設定や、ゴミ検出モードの際の表示モード設定および識別マークの設定にも使用される。
【0036】
本実施形態のLCDモニタ装置417は透過型であるため、LCDモニタ装置の駆動だけでは画像を視認することはできず、必ずその裏面には図3に示すようにバックライト照明装置416が必要である。このようにLCDモニタ装置417とバックライト照明装置416は画像表示装置を構成している。
【0037】
図3に示すように、撮像光学系である撮影レンズ200はカメラ本体100に対してレンズマウント202を介して着脱可能である。図3において201は撮影光軸、203はクイックリターンミラーである。
【0038】
クイックリターンミラー203は撮影光路中に配置され、撮影レンズ200からの被写体光をファインダ光学系に導く位置(図3に示す位置、斜設位置と呼ぶ)と撮影光路外に退避する位置(退避位置と呼ぶ)との間で移動可能である。
【0039】
図3において、ピント板204上にはクイックリターンミラー203からファインダ光学系に導かれる被写体光が結像される。205はファインダの視認性を向上させるためのコンデンサレンズ、206はペンタゴナルダハプリズムであり、ピント板204およびコンデンサレンズ205を通った被写体光をファインダ観察用の接眼レンズ208および測光センサ207に導く。
【0040】
209、210はそれぞれシャッターを構成する後幕と先幕で、これら後幕209、先幕210の開放によって後方に配置されている固体撮像素子である撮像素子418が必要時間だけ露光される。撮像素子によって画素毎の電気信号に変換された撮影画像は、A/Dコンバータ423や画像処理回路425などによって処理され、画像データとして記録装置419に記録される。なお、撮像素子418の前方には光学ローパスフィルター等の光学素子418aが配置されており、この光学素子418aの表面に付着したゴミ等の異物が撮像素子418の撮像画面内に写り込むことになる。
【0041】
撮像素子418はプリント基板211に保持されている。このプリント基板211の後方には、もう一枚のプリント基板である表示基板215が配置されている。この表示基板215の反対側の面にLCDモニタ装置417およびバックライト照明装置416が配置されている。
【0042】
419は画像データを記録する記録装置、217は電池(携帯用電源)である。この記録装置419および電池217は、カメラ本体に対して着脱可能である。
【0043】
(レンズ収差補正ルーチン)
本実施例におけるレンズ収差補正処理の一例として、歪曲収差補正処理について説明する。
【0044】
レンズ収差補正処理を行うためには、レンズを識別する識別情報、ズーム位置を特定するための撮影時焦点距離情報、絞り値であるF値などの撮影時光学情報が必要である。本実施例では、これらの情報を被写体撮影時に撮影画像データのヘッダ情報であるExif情報のMakerNoteタグに格納する。このように格納することで、撮影画像と撮影時光学情報を一対一に管理することが可能である。また、さらに補正精度を上げるために、上記の情報に加えて被写体距離情報など有用な情報を格納しても良い。
【0045】
図4は、歪曲収差補正前の像高と補正後の像高の関係を示す図である。ここで像高とは、画像中心から画素(i,j)までの距離であるものとする。図示するように、歪曲収差補正前の像高から歪曲収差補正後の像高への変換を順変換、歪曲収差補正後の像高から歪曲収差補正前の像高への変換を逆変換とする。図中、レンズ特性データが、撮影時の焦点距離情報やF値などの撮影時光学情報によって定まる曲線である。歪曲収差補正処理は、歪曲収差補正前の像高と歪曲収差補正後の像高対応表である歪曲収差補正ルックアップテーブルを使って行う。従って、歪曲収差補正ルックアップテーブルは様々な撮影時光学情報に対応して用意されており、これらはレンズ特性データ供給部430に格納されている。
【0046】
通常、画素の変換を伴う画像処理は一般的に、逆変換によって画像処理を行う。つまり、変換後の画素を基準に、逆変換テーブルを用いて変換前の画素を求め、その変換前の画素における画像データ(画素値)を変換後の画素における画像データ(画素値)とする、置き換え処理である。このように逆変換による画像処理が望ましいのは、デジタル画像であるビットマップの場合、処理後の画素に処理前の画素が対応するとは限らないためである。
【0047】
図5は、本実施例における歪曲収差補正処理の流れを示すフローチャートである。
【0048】
ステップS1801で、処理対象画像のExif情報から撮影時光学情報(収差情報を含む)を取得し(レンズ情報取得)、これに対応する歪曲収差補正ルックアップテーブルをレンズ特性データ供給部430から取得する。
【0049】
次に、ステップS1802で、処理対象画像のExif情報から画素ピッチを取得する。画素ピッチとは隣り合う画素と画素のミリ単位で表される距離のことである。
【0050】
ステップS1803では、歪曲収差補正後の画像である出力画像の画像サイズを求める。出力画像の画像サイズの算出方法については後述する。
【0051】
次に、ステップS1804で、ステップS1803で求めた画像サイズ(幅fwピクセル、高さfhピクセル)を用いて、次式によりルックアップテーブルサイズfsを算出する。fsは、出力画像の中心から頂点までのピクセル単位での距離である。
【0052】
fs=√(((fw/2)*(fw/2))+((fh/2)*(fh/2)))
ステップS1805では、ステップS1801で得た歪曲収差補正ルックアップテーブルをスプライン補間して、ステップS1804で求めたルックアップテーブルサイズfsに応じた歪曲収差補正ルックアップテーブルに変換する。ここで、歪曲収差補正ルックアップテーブルの入力値は出力画像(歪曲収差補正後の画像)の中心からのピクセル単位の距離であり、出力値は入力画像(歪曲収差補正前の画像)の中心からのピクセル単位の距離である。このとき、ピクセル単位の距離をミリ単位の距離に変換するためには、ステップS1802で求めた画素ピッチを用いる。
【0053】
ステップS1806では、ステップS1803で求めた画像サイズの画像を構成する各画素に対して、後述する画素値算出処理を実行する。全ての画素について画素値を算出したら、処理を終了する。
【0054】
図6は、上述の逆変換によって歪曲収差を補正する、画像処理を説明するための説明図である。
【0055】
歪曲収差は、たる型の歪みが生じる場合と、糸巻き型の歪みが生じる場合があるが、例えば、たる型の歪みが生じた矩形画像の全画素を、歪みのない画像に補正した場合、その出力画像は、4頂点が鋭角に尖ったアメーバ形状の画像となる。図では、歪曲収差補正後の画像として、この形状が実線で表現されている。最終的な出力画像としては、点線で表された矩形画像を切り出すものとする。
【0056】
ここで、歪曲収差補正後の画像における座標P(i,j)の画素値を取得したい場合、まずこの座標の中心からの距離dを求める。そして、歪曲収差補正ルックアップテーブルから、入力値dに対する出力値d’を得る。つまり、歪曲収差補正後の像高から、歪曲収差補正前の像高を求めることになる。そして、歪曲収差補正補正前の画像において、θ=tan-1(j/i)となる方向で距離d’となる座標P’(i’,j’)を求める。ここで、P’(i’,j’)は必ずしも整数座標になるとは限らない。そこで、この座標を包含する周囲4点の整数座標における画素値を用いて、バイリニア補間によりこのP’(i’,j’)の画素値を演算する。このように逆変換処理を行うと、歪曲収差補正後の座標P(i,j)における座標値は、歪曲収差補正前の座標P’(i’,j’)の座標値として求めることができる。これを、歪曲収差補正後の画像の点線で囲まれた矩形内の全座標で繰り返し演算を行なえば、出力画像の全画素値を取得することができる。
【0057】
ここで、図6の点線で囲まれた矩形である出力画像のサイズについて、好ましい決定の仕方について説明する。
【0058】
図7は、歪曲収差補正前の画像(一点鎖線)と歪曲収差補正後の画像(点線)の第一象限を取り出してその関係を説明する図である。なお、歪曲収差補正前の画像のx軸方向の最大値をw/2、y軸方向の最大値をh/2とする。
【0059】
まずx軸方向について、歪曲収差補正前のy座標をh/2に固定し、x座標を0からw/2まで推移させたときにどのような曲線を描くかを求める。ここで、歪曲収差補正ルックアップテーブルは、入力値が出力画像の中心からのピクセル単位の距離で、出力値が入力画像の中心からのピクセル単位の距離として逆変換処理用に用意されているので、一旦順変換処理用に作り直すものとする。このように作り直された順変換処理用の歪曲収差補正ルックアップテーブルを用いて、(0,h/2)から(w/2,h/2)まで繰り返し変換後の座標を求める。
【0060】
次に、同様にy軸方向について、歪曲収差補正前のx座標をw/2に固定し、y座標を0からh/2まで推移させたときにどのような曲線を描くかを求める。つまり、順変換処理用の歪曲収差補正ルックアップテーブルを用いて、(w/2,0)から(w/2,h/2)まで繰り返し変換後の座標を求める。
【0061】
このようにして求めた座標を繋ぎ合わせたものが、図における実線で表された、歪曲収差補正後の外郭となる。この形状は、図6を用いて説明した、4頂点が鋭角に尖ったアメーバ形状の第一象限分と同じ形状である。
【0062】
このようにして求めた外郭において、これに内接する矩形、つまり、x軸方向では最小値となるw’/2、y軸方向では最小値となるh’/2を、それぞれx軸,y軸の最大値とする矩形を出力画像のサイズ(第一象現分)と定める。
【0063】
なお、ここではたる型の歪みが生じた矩形画像を補正処理する場合を例にしたが、糸巻き型の歪みが生じた矩形画像を補正処理する場合には、出力される外郭形状はアメーバ形状にはならず、楕円に近いような形状になる。この場合であっても、同様の処理をおこなって内接する矩形を求めれば、出力画像のサイズを定めることができる。
【0064】
このように定められた矩形である出力画像のサイズに応じて、図6を用いて説明した逆変換処理を全座標で繰り返し演算を行なえば、出力画像の全画素値を取得することができることになる。
【0065】
(ゴミ検出処理)
図8は、本実施形態に係るカメラの異物検出モードにおけるゴミ検出処理(ゴミによって画像不良が生じている画素位置の検出処理)を説明するフローチャートである。当該処理は、マイクロコンピュータ402がメモリ428に記憶されたゴミ検出処理プログラムを実行することにより実施される。
【0066】
ゴミ検出処理(異物情報取得処理)は、ゴミ検出用画像(異物検出用画像)を撮像することにより行われる。ゴミ検出処理を行う場合、面光源装置の出射面や白い壁などの均一な色を持つ面に撮影レンズ200の撮影光軸201を向けてカメラを設置し、ゴミ検出の準備を行なう。または、レンズマウント202にゴミ検出用のライトユニット(レンズの代わりに装着する小型の点光源装置)を装着し、ゴミ検出の準備を行う。ライトユニットの光源は例えば白色LEDが考えられ、発光面のサイズを予め定めた絞り値(例えば、本実施形態ではF16)相当になるように調整するのが望ましい。
【0067】
本実施形態では、通常の撮影レンズを用いた場合について説明するが、上記のライトユニットをレンズマウント202に取り付けてゴミ検出を行っても良い。このように、本実施形態においてゴミ検出用画像は、均一な色を有する画像である。
【0068】
準備が終了した後、例えば十字配置スイッチ116からゴミ検出処理の開始が指示されると、マイクロコンピュータ402は、まず絞りの設定を行う。撮像素子近傍のゴミはレンズの絞り値によって結像状態が変わり、レンズの瞳位置によって位置が変化する。したがって、ゴミ補正データ(異物情報)にはゴミの位置や大きさに加え、検出時の絞り値とレンズの瞳位置を保持する必要がある。
【0069】
ただし、ゴミ補正データを作成する段階で、異なるレンズを用いたとしても常に同じ絞り値を使うことを予め決めておけば、必ずしもゴミ補正データ内に絞り値を保持する必要はない。また、瞳位置に関してもライトユニットを用いたり、特定のレンズのみの使用を許可することで、同様に必ずしもゴミ補正データ内に瞳位置を保持する必要はなくなる。つまり、ゴミ補正データを作成する段階において、使用するレンズを複数許したり、絞り込む絞り値を適宜変更する場合には、検出時の絞り値とレンズの瞳位置を、ゴミ補正データ内に保持する必要があると言える。なお、ここで瞳位置とは、射出瞳の撮像面(焦点面)からの距離をいう。
【0070】
ここでは、例えばF16を指定する(ステップS21)。
【0071】
次にマイクロコンピュータ402はレンズ制御回路407に対し、撮影レンズ200の絞り羽根制御を行わせ、ステップS21で指定された絞り値に絞りを設定する(ステップS22)。さらに、フォーカス位置を無限遠に設定する(ステップS23)。
【0072】
撮影レンズの絞り値とフォーカス位置が設定されると、ゴミ検出モードでの撮影を実行する(ステップS24)。ステップS24で行う撮像処理ルーチンの詳細に関しては図9を用いて後に説明する。撮影された画像データは、バッファメモリ424に格納される。
【0073】
撮影が終了すると、撮影時の絞り値とレンズ瞳位置を取得する(ステップS25)。画像処理回路425に画像バッファメモリ424に記憶されている撮影画像の各画素に対応するデータを呼び出す(ステップS26)。画像処理回路425は、図10に示す処理を行い、ゴミが存在する画素の位置と大きさを取得する(ステップS27)。ステップS27で取得したゴミが存在する画素の位置と大きさ、およびステップS25で取得した絞り値とレンズ瞳位置情報を、ゴミ位置メモリ427に登録する(ステップS28)。ここで、前述したライトユニットを用いた場合には、レンズ情報を取得できない。そこで、レンズ情報が取得できない場合は、ライトユニットを使ったと判断し、予め定められたレンズ瞳位置情報と、ライトユニットの光源径から算出される換算絞り値を登録する。
【0074】
ここで、ステップS28において、予め画素欠陥位置メモリに記録されている製造時からの不良画素(画素欠陥)の位置と、読み出した画素データの位置を比べて画素欠陥であるかどうかを確認する。そして、画素欠陥によるものでは無いと判断された領域のみ、ゴミ位置メモリ427に位置を登録しても良い。
【0075】
ゴミ位置メモリ427に格納されるゴミ補正データのデータ形式例を図9に示す。図9に示した通り、ゴミ補正データには、検出用画像撮影時(画像信号取得時)の、レンズ情報(レンズの特性情報)とゴミの位置、大きさの情報が格納される。このゴミ補正データは、通常撮影時に画像データの撮影時情報と共に画像に付加し、後に説明するゴミ除去処理で利用する。
具体的には、検出用画像撮影時のレンズ情報として、検出用画像撮影時における実際の絞り値(F値)と、そのときのレンズ瞳位置を格納する。続く記憶領域に検出したゴミ領域の数(整数値)を格納し、これに続き、個々の具体的なゴミ領域のパラメータを、ゴミ領域の数だけ繰返して格納する。ゴミ領域のパラメータは、ゴミの半径(例えば2バイト)、有効画像領域における中心のx座標(例えば2バイト)、おなじく中心のy座標(例えば2バイト)の3つの数値のセットである。
【0076】
ゴミ位置メモリ427の大きさ等によりゴミ補正データサイズに制限がある場合、ステップS27で得たゴミ領域の先頭から優先してデータを格納する。これは、ステップS27のゴミ領域取得ルーチン内では、後述するようにゴミ領域を、目立つゴミの順にソートするからである。
【0077】
(ゴミ領域取得ルーチン)
次に、図10から図12を用いて、ステップS27で行うゴミ領域取得ルーチンの詳細について説明する。
【0078】
図11に示すように、呼び出した画像データをメモリ上に展開し、予め定められたブロック単位で処理を行う。これは、レンズやセンサ特性に起因する周辺減光に対応するためである。周辺減光とは、レンズの中央部に比べ周辺部の輝度が落ちてしまう現象であり、レンズの絞りを小さくすることである程度軽減されることが知られている。しかし、絞りを絞った状態でも、撮影画像に対して予め定められたスレッショルド値でゴミ位置の判定を行うと、レンズによっては周辺部のゴミが正確に検出できなくなるという問題がある。そこで、画像をブロック分割して周辺減光の影響を軽減する。
【0079】
単純にブロック分割すると、ブロックとブロックの間でスレッショルド値が異なる場合、ブロック間をまたぐゴミの検出結果がずれてしまうという問題がある。そこで、ブロック間をオーバーラップさせ、オーバーラップ領域を構成するブロックのいずれかでゴミと判定された画素をゴミ領域として扱う。
【0080】
ブロック内のゴミ領域判定は、図10に示す処理の流れで行う。まず、ブロック内の最大輝度Lmax、平均輝度Laveを算出し、次式を用いてブロック内のスレッショルド値T1を算出する。
【0081】
T1=Lave×0.6+Lmax×0.4
次に、スレッショルド値を超えない画素をゴミ画素とし(ステップS61)、ゴミ画素によって構成される孤立領域を各々一つのゴミ領域di(i=0,1,…,n)とする(ステップS62)。図12に示すように、ゴミ領域毎に、ゴミ領域を構成する画素の水平方向の座標の最大値Xmaxおよび最小値Xmin、垂直方向の座標の最大値Ymaxおよび最小値Yminを求め、ゴミ領域diのサイズを表す半径riを次式によって算出する(ステップS63)。
【0082】
ri=√[{(Xmax−Xmin)/2}2+{(Ymax−Ymin)/2}2]
Xmax、Xmin、Ymax、Yminとriの関係を、図12に示す。
【0083】
その後ステップS64で、ゴミ領域毎の平均輝度値を算出する。
【0084】
ゴミ位置メモリ427のサイズによる制限などにより、ゴミ補正データのデータサイズが制限されている場合がある。このような場合に対応するために、ゴミ位置情報を、大きさやゴミ領域の平均輝度値によってソートする(ステップS65)。本実施形態では、riの大きい順にソートする。riが等しい場合、平均輝度値の低い順にソートする。このようにすることで、目立つゴミを優先してゴミ補正データに登録することが出来る。なお、ソート済みのゴミ領域をDi、ゴミ領域Diの半径をRiとする。
【0085】
なお、予め定められたサイズより大きいゴミ領域がある場合、ソートの対象から外し、ソート済みゴミ領域リストの末尾に配置しても良い。これは、大きいゴミ領域については、後に補間処理をするとかえって画質を低下させる場合があり、編集対象の優先順位としては最下位として扱うことが望ましいからである。
【0086】
(撮像処理ルーチン)
次に、図13に示すフローチャートを用いて、図8のステップS24で行われる撮像処理ルーチンの詳細について説明する。当該処理はマイクロコンピュータ402がメモリ428に記憶された撮像処理プログラムを実行することにより実施される。
【0087】
この撮像処理ルーチンが実行されると、ステップS201でマイクロコンピュータ402は、図3に示すクイックリターンミラー203を作動させ、いわゆるミラーアップを行い、撮影光路外にクイックリターンミラー203を退避させる。
【0088】
次に、ステップS202で撮像素子での電荷蓄積を開始し、次のステップS203では図3に示したシャッターの先幕210、後幕209をそれぞれ走行させて露光を行う。そして、ステップS204で撮像素子の電荷蓄積を終了し、次のステップS205で撮像素子から画像信号を読み出してA/Dコンバータ423および画像処理回路425で処理した画像データをバッファメモリ424に一次記憶する。
【0089】
次のステップS206で撮像素子から全ての画像信号の読み出しが終了すると、ステップS207でクイックリターンミラー203をミラーダウンし、クイックリターンミラーを斜設位置に戻して一連の撮像動作を終了する。
【0090】
ステップS208において、通常撮影(被写体像の撮影)かゴミ検出用画像の撮影かを判断し、通常撮影時にはステップS209へ進んで撮影時のカメラ設定値等と共に図9に示したゴミ補正データを画像データに関連付けて記録装置419に記録する。
【0091】
具体的には、例えば、撮影時のカメラ設定値等が記録される画像ファイルのヘッダ領域であるExif領域にゴミ補正データを追記することで、関連付けを実現することができる。または、ゴミ補正データをファイルとして独立して記録し、画像データにはそのゴミ補正データファイルへのリンク情報のみを記録することで関連付けを実現することも可能である。ただし、画像ファイルとゴミ補正データファイルを別々に記録すると、画像ファイルの移動時に、リンク関係が消失する場合があるので、ゴミ補正データは画像データと一体的に保持することが望ましい。
【0092】
(ゴミ補正データの変換)
撮影画像に対して、レンズ収差補正処理とゴミ除去処理の両方を施すとき、順序として、まずレンズ収差補正処理を行ってから次にゴミ除去処理を行う場合と、その逆の場合がある。まずゴミ除去処理を行ってから次にレンズ収差補正処理を行う場合であれば、収差補正処理の影響を考慮することなくゴミ補正データを用いることができる。従って、歪曲収差補正処理を行う前にゴミ除去処理を施す方が、処理としては簡単である。しかし、撮影を行う撮像装置と、撮影された画像データをユーザが加工/鑑賞する画像処理装置は別物である場合が多く、それぞれの装置でどのような画像処理を担うかの役割分担の問題がある。また、ゴミ除去処理の対象となる領域が、被写体像との関係で、必ずしも適切に補正できる領域であるとは限らないという問題がある。例えば、コントラストの差が激しい被写体に跨って存在するゴミを補正処理しようとした場合、処理によってコントラストの差を無くしてしまう恐れがある。つまり、ゴミ除去処理を行いたくない場合があり、このような判断が必要となる処理は、処理が複雑で時間がかかるため、できるだけ後段で行うほうが有利である。
【0093】
従って、本実施形態においては、まずレンズ収差補正処理を行って、次にゴミ除去処理を行うものとする。このような順序で処理を行う場合、ゴミ補正データを、レンズ収差に応じて変換しなければならない。
【0094】
ゴミ補正データのデータ形式は、図9を用いて説明したように、ゴミ領域はゴミの半径と、中心のx座標、おなじく中心のy座標の3つの数値のセットで表されている。
【0095】
まず座標の変換は、歪曲収差補正前の座標点から歪曲収差補正後の座標点を求めることになるので、順変換による処理を行う。ここで、歪曲収差補正ルックアップテーブルは、入力値が出力画像の中心からのピクセル単位の距離で、出力値が入力画像の中心からのピクセル単位の距離として逆変換処理用に用意されているので、一旦順変換処理用に作り直すものとする。そして、作り直された順変換処理用の歪曲収差補正ルックアップテーブルを用いて、ゴミ補正データに記述された座標A(Xa,Ya)を、A’(Xa’,Ya’)に変換する。
【0096】
具体的には座標Aの中心からの距離である像高daを、作り直された歪曲収差補正ルックアップテーブルに入力し、歪曲収差補正後の像高da’を得る。そして、θ=tan−1(Ya/Xa)となる方向で距離da’となる座標A”(Xa”,Ya”)を求める。そして、このA”に最も近い整数座標をA’と定めるものとする。
【0097】
次に、半径の変換を行う。歪曲収差補正を行う場合に、像高が小さくなる方向に変換されるのであれば、変換前に比べ変換後のゴミ領域は小さくなり、像高が大きくなる方向に変換されるのであれば、逆に、変換前に比べて変換後のゴミ領域は大きくなる。これは、生じる歪曲収差が、糸巻き型であるかたる型であるかによる。半径の変換はこの関係に着目し、以下の変換式を用いることとする。
【0098】
ra’=ra+α(da’−da)
ここで、ra’は変換後の半径であり、raは変換前の半径である。da’は上述の中心座標A(Xa,Ya)の変換後の像高であり、daは変換前の像高である。αは、実験的に定められる、余裕量を見越した定数である。このような変換式を用いることにより、歪曲収差の型および座標位置に応じて、適切に半径を変換することが可能となる。
【0099】
このような変換を、ゴミ補正データに記述されている全てのゴミデータに対して行うことで、変換後のゴミ補正データを得ることができる。
【0100】
なお、ここではゴミの位置および大きさともに変換しているが、大きさについては位置に比べてそれほど厳密に変換する必要がない場合も多いので、厳密さを要求しない場合には、変換しないままゴミ検出時の大きさを用いても良い。
【0101】
(ゴミの除去を行うための処理)
次に、ゴミの除去(異物除去処理)を行うための処理の流れについて説明する。ゴミの除去を行うための処理は、カメラ本体ではなく、別途用意した画像処理装置上で行うものとする。また、ここでは簡単のため、まずレンズ収差補正を行わない場合について説明する。レンズ収差補正を行ってからゴミ除去処理を行う場合の説明は後述する。
【0102】
図14は、画像処理装置のシステム構成の概略を示した図である。
【0103】
CPU1001は、システム全体の動作をコントロールし、一次記憶部1002に格納されたプログラムの実行などを行う。一次記憶部1002は、主にメモリであり、二次記憶部1003に記憶されたプログラムなどを読み込んで格納する。二次記憶部1003は、例えばハードディスクなどがこれに該当する。一般に一次記憶部の容量は二次記憶部の容量より小さく、一次記憶部に格納しきれないプログラムやデータなどは二次記憶部に格納される。また、長時間記憶しなくてはならないデータなども二次記憶部に格納される。本実施形態では、プログラムを二次記憶部1003に格納し、プログラム実行時に一次記憶部1002に読み込んでCPU1001が実行処理を行う。
【0104】
入力デバイス1004とは例えば、システムのコントロールに用いるマウスやキーボードの他、画像データの入力に必要なカードリーダー、スキャナ、フィルムスキャナなどがこれに該当する。出力デバイス1005とは例えば、モニタやプリンタなどが考えられる。この装置の構成方法は他にも様々な形態が考えられるが、本発明の主眼ではないので説明を省略する。
【0105】
画像処理装置には、複数のプログラムを並列実行可能なオペレーティングシステムが搭載され、操作者はGUIを使ってこの装置上で動作するプログラムの操作が可能である。 本実施形態における画像処理装置は、ゴミの除去を行うための処理である画像編集機能として2つの処理を実行可能である。一つはコピースタンプ処理で、もう一つはリペア処理である。コピースタンプ処理とは、ユーザによりカーソル等で指定された画像上の一部の領域を別途指定された別の領域に合成する機能である。リペア処理とは、指定された領域内で予め定められた条件に合う孤立領域を検出し、この孤立領域を周囲の画素で補間する機能である。このリペア処理は、ユーザによりカーソル等で指定された領域に対して行う手動リペア機能と、ゴミ補正データを利用して自動的に処理を実行する自動リペア機能とがある。この自動リペア機能が、これまで単にゴミ除去処理と言っていたものであり、その具体的な処理についての詳細は後述する。
【0106】
図15は、画像処理装置における画像編集プログラムのGUI(Graphical User Interface)を示す図である。ウィンドウにはクローズボタン1100とタイトルバー1101が備えられ、クローズボタンを押すことでプログラムを終了する。ファイルを画像表示領域1102にドラッグアンドドロップすることで編集対象画像を指定し、編集対象画像が決定された場合、タイトルバー1101にファイル名を表示した後、画像表示領域1102に対象画像をFit表示する。
【0107】
編集対象画像の表示状態は、Fit表示と画素等倍表示の2つがあり、表示モードボタン1108で切り換えることが出来る。本GUIでは、画像上をクリックして加工位置を指定するが、Fit表示時はクリックされた位置に対応する加工画像上での座標を表示倍率に応じて算出し、その座標に処理を適用するものとする。また、本GUIでは処理範囲を半径で指定するが、この半径は編集対象画像上での半径であり、表示倍率によってはFit表示した画像上での半径とは異なる場合がある。
【0108】
自動リペア処理実行ボタン1103を押すと、後述する自動ゴミ除去処理を実行し、処理後の画像を画像表示領域1102に表示する。自動リペア処理実行ボタン1103は、画像が未編集の状態でのみ有効になり、コピースタンプ処理やリペア処理、自動リペア処理の実行により画像が編集された状態の場合は無効になる。
【0109】
半径スライダ1106は、コピースタンプ処理とリペア処理の適用範囲を指定するスライダである。
【0110】
リペア処理モードボタン1104を押すと、リペア処理モードになる。リペア処理モード時に画像中を左クリックすると、左クリックした座標を中心、半径スライダ1106で指定した画素数を半径とする領域に対し、後述するリペア処理を適用する。リペア処理を適用した後は、リペア処理モードを抜ける。また、リペアモード時に画像表示領域1102上で右クリックが押された場合、あるいはGUI上のいずれかのボタンが押された場合、リペアモードを抜ける。
【0111】
コピースタンプ処理モードボタン1105を押すと、コピースタンプモードになる。コピースタンプモード時に画像中が左クリックされた場合、左クリックされた座標をコピー元領域の中心座標に設定する。コピー元領域の中心座標が設定された状態で更に画像上が左クリックされた場合、左クリックされた座標をコピー先領域の中心座標、この時点での半径スライダ1106で指定された半径をコピー半径としてコピースタンプ処理を実行し、コピー元領域の中心座標を未設定の状態にしてコピースタンプモードを抜ける。また、コピースタンプモード時に画像表示領域1102上で右クリックが押された場合、あるいはGUI上のいずれかのボタンが押された場合、コピー元領域の中心座標を未設定の状態にしてコピースタンプモードを抜ける。
【0112】
保存ボタン1107が押された場合、処理後の画像を保存する。
【0113】
本画像編集プログラムでは、図16に示すように元画像と処理後の画像の両方を保持する。つまり、ユーザのGUI操作によって処理が実行された場合、その前後の画像を保持すると同時に、その操作によって指定された編集処理を記録する。具体的には、GUIで指定された編集処理は、処理後の画像に対して順次適用され、適用された編集処理を編集履歴として登録していく。編集履歴に登録した1回分の編集処理のことを、編集エントリと呼ぶ。
【0114】
編集エントリの例を図17に示す。本実施形態における編集エントリには、コピースタンプ処理かリペア処理かを区別するための処理ID、処理の適用領域を示す中心と半径、コピースタンプ処理の場合に必要なコピー元座標からコピー先座標への相対座標、後述する差分画像データを保持する。自動リペア処理を実行した場合、ゴミ補正データに従ってリペア処理を実行し、リペア処理を適用する度に編集エントリを編集履歴に追加する。
このような実装にすることで、編集履歴を完全に破棄して元画像を復元したり、直前の編集処理を取り消したりすることができる。
【0115】
例えば直前の編集処理を取り消す処理は、一旦処理後の画像を元画像で上書きし、取り消し対象の編集エントリの直前まで編集処理を再実行することで実現可能である。しかし、エントリの数が非常に多い場合など編集処理の再実行に時間がかかってしまう場合がある。そこで、編集操作を実行する度に、編集処理の実行前後について画像データの差分を取り、これを編集エントリに保持する。差分画像を保持すれば、1つの編集エントリを取り消す場合、編集エントリに記載された編集処理を1つ前の編集エントリまで最初から再実行する代わりに、差分画像を反映するだけで1つ前の編集エントリに戻ることができる。なお、この編集エントリの集まりである編集履歴は、画像処理装置の一次記憶部1002又は二次記憶部1003に記憶される。
【0116】
次に、リペア処理、自動リペア処理の各処理の詳細について述べる。コピースタンプ処理はよく知られた技術であるため、処理の詳細については説明を省略する。
リペア処理は、指定された領域内の孤立領域を検出し、この孤立領域を補間する処理である。リペア処理は、GUIで指定された中心座標と半径で表現される領域に対し、後述する補間ルーチンを適用することで実現する。
【0117】
自動リペア処理では、ゴミ除去処理を行う対象となる画像データである撮影画像データのExif情報からゴミ補正データを抽出し、ゴミ補正データに応じてリペア処理を自動実行する。自動リペア処理の基本的な処理の流れを、図18に示す。
【0118】
まず、カメラ内又はカメラから取り外された記録装置419から、ゴミ補正データがExif情報として付加された撮影画像データを画像処理装置に取り込んで、一次記憶部1002又は二次記憶部1003に記憶する(ステップS90)。
【0119】
次に、撮影画像データから、Exif情報として記述されたゴミ補正データを抽出する(ステップS91)。
【0120】
次に、ステップS91で抽出したゴミ補正データから座標列Di(i=1,2,…n)、半径列Ri(i=1,2,…,n)、絞り値f1とレンズ瞳位置L1を得る(ステップS92)。ここでRiは、図10のステップS65で算出した座標Diのゴミの大きさである。ステップS93で、撮影された画像の撮影時の絞り値f2とレンズ瞳位置L2を取得し、ステップS94でDiを次式で変換する。ここで、Hは撮像素子418の表面とゴミとの距離であるとする。変換後の座標Di’と変換後の半径Ri’は例えば次式で定義する。
【0121】
Di’(x,y)=(L2×(L1−H)/((L2−H)×L1))×Di(x,y)
Ri’=(Ri×f1/f2+3)× 2
ここでの単位はピクセルであり、Ri’についての「+3」はマージン量である。2倍しているのは、平均輝度を用いてゴミ領域を検出するため、ゴミ領域外の領域が必要であるからである。
【0122】
ステップS95で、補間処理カウンタiを0に初期化し、ステップS96でiをカウントアップする。
【0123】
ステップS97でi番目の座標Di’、半径Ri’によって表される領域に対して補間ルーチンを実行し、領域内のゴミを除去する。ステップS98で全ての座標についてゴミ除去処理を適用したかどうかを判定し、全ての座標について処理が終わっていれば処理を終了し、そうでなければステップS96に戻る。
【0124】
(補間ルーチン)
ここで、リペア処理、および自動リペア処理で実行する補間ルーチンについて説明する。
【0125】
図19は、補間ルーチンの流れを示すフローチャートである。まずステップS1201で、ゴミ領域判定を行う。ここで、リペア処理の対象となる領域の中心座標をP、半径をRとする。ゴミ領域とは、次の条件全てを満たす領域とする。
(i)リペア処理対象領域に含まれる画素の平均輝度Yaveと最高輝度Ymaxを用いて次式で求められるスレッショルド値T2より暗い領域。
【0126】
T2=Yave×0.6+Ymax×0.4
(ii)上記の中心座標P、半径Rで表される円と接しない領域。
(iii)(i)で選択された輝度の低い画素によって構成される孤立領域に対し、図10中のステップS63と同様の方法で算出した半径値がl1画素以上、l2画素未満である領域。
【0127】
自動リペア処理時には、上記の条件に加え、さらに次の条件を満たす領域をゴミ領域とする。
(iv)円の中心座標Pを含む領域。
【0128】
本実施形態では、l1は3画素、l2は30画素とする。このようにすることで、孤立した小領域だけをゴミ領域として扱うことが可能になる。
【0129】
ステップS1202で、このような領域があればステップS1203へ進みゴミ領域補間を行い、存在しない場合は処理を終了する。ステップS1203で実行するゴミ領域補間処理は、公知の欠損領域補間法で行う。公知の欠損領域補間法には例えば、特開2001−223894号公報に開示されているパターン置換がある。特開2001−223894号公報では赤外光を用いて欠損領域を特定しているが、本実施形態ではステップS1201で検出したゴミ領域を欠損領域として扱い、パターン置換によりゴミ領域を周囲の正常画素で補間する。パターン置換で埋められない画素については、パターン補間後の画像データに対し、補間対象画素に最も近い順に正常画素をp個、最も遠い順にq個選択し、その平均色を用いて補間する。
【0130】
以上で述べた方法で、カメラで取得したゴミ補正データを用いて、カメラ外部の画像処理装置でゴミを除去することができる。
【0131】
次に、レンズ収差補正を行う場合のゴミ除去処理について、上述のレンズ収差補正を行わない場合に対して、如何なる処理を追加するかの観点で説明する。
【0132】
レンズ収差補正を行ってから、ゴミ除去処理を行うという手順を採る場合、ゴミ補正データに対して必要な変換処理は以下の2つに纏められる。
(1)ゴミ検出用画像撮影時のレンズ(第1の撮影レンズ)と、通常撮影時(被写体を撮影する時)のレンズ(第2の撮影レンズ)の瞳位置の違いに基づく変換処理(図18のステップS94の変換処理)。
(2)レンズ収差補正による座標変換に基づく変換処理(例えば、上述の順変換処理用の歪曲収差補正ルックアップテーブルを用いて行う変換処理)。
【0133】
ここで、(1)の変換処理は、図18ではゴミ除去処理直前の処理として説明したが、レンズ収差補正処理を行う場合は、ゴミ除去処理を実行する前であればいずれの時点で行ってもよいが、(2)の変換処理の前に行う必要がある。
【0134】
また、上述のように、本実施形態においてゴミ除去処理は画像処理装置で行うものであるが、レンズ収差補正については、ゴミ除去処理を実行する前であれば、カメラ本体内で行っても画像処理装置で行っても良い。(1)の変換処理をおこなう第1の変換手段、および(2)の変換処理をおこなう第2の変換手段としては、カメラ本体内で行う場合は、マイクロコンピュータ402であり、画像処理装置内で行う場合は、CPU1001となる。
【0135】
従って、カメラと画像処理装置をシステムとして見た場合に、一連の変換処理および補正処理は、以下の手順を踏めばよいことになる。
【0136】
ステップA:ゴミ検出用画像の取得、ゴミ補正データの作成。この時点でのゴミ補正データは、ゴミ検出画像を取得したときのレンズ情報に基づくものである。
【0137】
ステップB:被写体画像の取得。このときこの被写体画像を撮影したレンズの情報も取得する。
【0138】
ステップC:上記(1)のゴミ補正データの変換処理を行う。
【0139】
ステップD:レンズ収差補正処理を被写体画像に対して行う。
【0140】
ステップE:上記(2)のゴミ補正データの変換処理を行う。
【0141】
ステップF:変換されたゴミ補正データに基づいて、ゴミ除去処理(自動リペア処理)を行う。
【0142】
ただし、上記(1)を行った後に上記(2)を行うという順序が守られれば、ステップCとステップDは逆順であっても良いし、ステップDとステップEは逆順であっても良い。また、ステップBの被写体画像の取得後は、ゴミ補正データはそのExif情報に記述され、変換処理がされるたびに書き換えられるものとする。
【0143】
次に、カメラ本体と画像処理装置の役割分担であるが、どこまでのステップをカメラ本体で行い、どこからのステップを画像処理装置で行うかという問題がある。そこで、以下に3つの実施例を示す。
【0144】
(実施例1)
実施例1では、ステップEまでをカメラ本体で行い、ステップFを画像処理装置で行う。このように構成すると、画像処理装置を用いて行う撮影後の鑑賞や印刷指示の段階で、画像処理装置の処理負担が軽く、多くの撮影画像を同時に扱いたい場合などに有利である。
【0145】
具体的には、カメラ本体において、マイクロコンピュータ402が、画像処理回路425を制御することにより、被写体画像のレンズ収差補正処理を行う。そして、マイクロコンピュータ402が、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施し、このゴミ補正データをレンズ収差補正処理が実行された被写体画像のExif情報に記述する。
【0146】
この段階で、レンズ収差補正による座標変換に基づく変換処理を施されたゴミ補正データをExif情報として有する、レンズ収差補正処理を受けた被写体画像データは、外部記録装置419に記録された状態となる。
【0147】
次に、画像処理装置のCPU1001は、入力デバイス1004を介して、外部記録装置419に記録された被写体画像データを取り込む。そして、CPU1001は、ゴミ除去処理を実行する。なお、図17を用いて説明したゴミ除去処理においては、ステップS92からステップS94で、上記(1)のゴミ補正データの変換処理を行っている。しかし、本実施例1では、画像処理装置が受け取る被写体画像データに付加されているゴミ補正データは、すでにこの変換処理が行われているので、画像処理装置内でのゴミ除去処理においては、これらのステップが省略される。つまり、画像処理装置内ではゴミ補正データの変換の必要は無く、付加されたゴミ補正データのその座標と半径を直接的に適用することで、被写体画像に対して補間処理を行うことができる。
【0148】
(実施例2)
実施例2では、ステップCとステップDを逆順とした上で、ステップA、B、Dをカメラ本体で行い、ステップC、E、Fを画像処理装置で行う。
【0149】
このように構成すると、被写体画像やゴミの付着状況によっては必ずしも画像処理装置で実行するとは限らないゴミ除去処理に対する準備を、カメラ側では最小限に留めることができる。したがって、カメラ側での処理負担が軽くなるため、カメラの連写性能などに対しては都合が良い。
【0150】
具体的には、カメラ本体において、マイクロコンピュータ402が、画像処理回路425を制御することにより、被写体画像のレンズ収差補正処理を行う。そして、このときExif情報としては、ゴミ検出画像から得られたゴミ補正データが、ゴミ検出画像を取得したときのレンズ情報と共に、記述されている。もちろん被写体画像を撮影したレンズ情報も記述されている。
【0151】
次に、画像処理装置のCPU1001は、入力デバイス1004を介して、外部記録装置419に記録された被写体画像データを取り込む。そして、CPU1001は、被写体画像データに付加されているExif情報を読み込む。このExif情報を基に、まずゴミ検出画像撮影時のレンズと通常撮影時のレンズとの違いによる変換処理を施した後、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施す。レンズ収差補正による座標変換に基づく変換処理は、図17を用いて説明したゴミ除去処理におけるステップS94の直後に行われることになる。このように変換処理されたゴミ補正データに基づいて、ゴミ除去処理を実行する。なお、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施すときに必要な、歪曲収差補正ルックアップテーブルは二次記憶部1003に記憶されている。この歪曲収差補正ルックアップテーブルは、ゴミ補正データの変換時に一次記憶部1002に読み込まれて用いられる。
【0152】
(実施例3)
実施例3では、ステップAとステップBをカメラ本体で行い、ステップC〜Fを画像処理装置で行う。
【0153】
このように構成すると、実施例2の構成に比べてもさらにカメラの処理負担は軽減されるので、よりシャッタチャンスに強いという効果が得られる。
【0154】
具体的には、カメラ本体は、ゴミ検出用画像を撮影してゴミ補正データを取得することと通常撮影を行うのみである。通常撮影で得られた被写体画像のExif情報には、ゴミ検出画像取得時のレンズ情報および通常撮影時のレンズ情報が、ゴミ補正データと共に記述されている。
【0155】
次に、画像処理装置のCPU1001は、入力デバイス1004を介して、外部記録装置419に記録された被写体画像データを取り込む。そして、CPU1001は、被写体画像に対してレンズ収差補正処理を行う。なお、歪曲収差補正ルックアップテーブルは二次記憶部1003に記憶されており、レンズ収差補正処理時には、一次記憶部1002に読み込まれて用いられる。そして、被写体画像データに付加されているExif情報を読み込む。このExif情報を基に、まずゴミ検出画像撮影時のレンズと通常撮影時のレンズとの違いによる変換処理を施した後、レンズ収差補正による座標変換に基づく変換処理をゴミ補正データに施す。レンズ収差補正による座標変換に基づく変換処理は、図17を用いて説明したゴミ除去処理におけるステップS94の直後に行われることになる。このように変換処理されたゴミ補正データに基づいて、ゴミ除去処理を実行する。
【0156】
請求項の「画像処理装置」との対応は、上記(1)の変換処理をおこなう第1の変換手段、および上記(2)の変換処理をおこなう第2の変換手段を備える装置が請求項における「画像処理装置」であるといえる。つまり、実施例1においては、レンズ交換式一眼レフデジタルカメラが請求項の「画像処理装置」であり、実施例2,3においては、画像処理装置がそのまま請求項の「画像処理装置」に相当する。
【0157】
(他の実施形態)
また、各実施形態の目的は、次のような方法によっても達成される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、本発明には次のような場合も含まれる。すなわち、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【0158】
さらに、次のような場合も本発明に含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【0159】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した手順に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0160】
【図1】本発明の実施形態に係る撮像装置としてのレンズ交換式一眼レフデジタルカメラの回路構成を示すブロック図である。
【図2】本発明の実施形態に係るデジタルカメラの外観斜視図である。
【図3】本発明の実施形態に係るデジタルカメラの内部構造を示す垂直断面図である。
【図4】歪曲収差補正前の像高と補正後の像高の関係を示す図である。
【図5】本発明の実施形態に係る歪曲収差補正処理の流れを示すフローチャートである。
【図6】逆変換によって歪曲収差を補正する、画像処理を説明するための説明図である。
【図7】歪曲収差補正前の画像と歪曲収差補正後の画像の関係を説明する図である。
【図8】本発明の実施形態に係るゴミ検出処理を説明するフローチャートである。
【図9】本発明の実施形態に係るゴミ補正データのデータ形式例を示す図である。
【図10】図8のステップS27で行われるゴミ領域取得ルーチンの詳細を説明するフローチャートである。
【図11】図10のステップS62で行われるゴミ領域判定処理の処理単位を示す図である。
【図12】図10のステップS63で行われるゴミ領域サイズ算出の概要を示す図である。
【図13】図8のステップS24で行われる撮像処理ルーチンの詳細を説明するフローチャートである。
【図14】本発明の実施形態に係る画像編集プログラムの内部構造を示す図である。
【図15】本発明の実施形態に係る画像処理装置におけるGUIの例を示す図である。
【図16】本発明の実施形態に係る画像処理装置のシステム構成の概略を示した図である。
【図17】本発明の実施形態に係る画像編集プログラムの編集履歴のデータ構造を示す図である。
【図18】本発明の実施形態に係る自動リペア処理の基本的な流れを説明するフローチャートである。
【図19】本発明の実施形態に係る補間ルーチンの詳細を説明するフローチャートである。
【特許請求の範囲】
【請求項1】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、
被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、
少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、
前記異物の位置情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第1の変換手段と、
前記第1の変換手段で変換された前記異物の位置情報を更に、前記第2の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第2の変換手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、
被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、
少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、
前記異物の位置および大きさ情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第1の変換手段と、
前記第1の変換手段で変換された前記異物の位置および大きさ情報を更に、前記第2の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第2の変換手段と、
を備えることを特徴とする画像処理装置。
【請求項3】
前記第1の撮影レンズのレンズ情報および前記第2の撮影レンズのレンズ情報は、少なくとも前記画像信号取得時もしくは前記被写体撮影時の絞り値と瞳位置の情報を含むことを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
収差補正された被写体画像に対して、前記第2の変換手段によって変換された異物情報に基づいて、異物除去処理を行う異物除去処理手段を更に備えることを特徴とする請求項1ないし3のいずれか1項に記載の画像処理装置。
【請求項5】
前記記憶手段に記憶されている収差情報に基づいて、前記被写体撮影時に撮影された被写体画像の収差を補正する収差補正処理手段を更に備えることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
請求項1ないし3のいずれか1項に記載の画像処理装置と、
異物検出モードにおいて前記異物検出用の画像信号を取得し、当該画像信号から撮像画面内における異物の位置情報を抽出する抽出手段と、
を備えることを特徴とするレンズ交換式一眼レフデジタルカメラ。
【請求項7】
前記記憶手段に記憶されている収差情報に基づいて、前記被写体撮影時に撮影された被写体画像の収差を補正する収差補正処理手段を更に備えることを特徴とする請求項6に記載のレンズ交換式一眼レフデジタルカメラ。
【請求項8】
前記画像処理手段により収差補正された被写体画像に対して、前記第2の変換手段によって変換された異物情報に基づいて、異物除去処理を行う異物除去処理手段を更に備えることを特徴とする請求項7に記載のレンズ交換式一眼レフデジタルカメラ。
【請求項9】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、
被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、
前記異物の位置情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第1の変換工程と、
前記第1の変換工程で変換された前記異物の位置情報を更に、前記第2の撮影レンズのレンズ情報と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第2の変換工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項10】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、
被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、
前記異物の位置および大きさ情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第1の変換工程と、
前記第1の変換工程で変換された前記異物の位置および大きさ情報を更に、前記第2の撮影レンズのレンズ情報と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第2の変換工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項11】
請求項9または10に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項1】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、
被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、
少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、
前記異物の位置情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第1の変換手段と、
前記第1の変換手段で変換された前記異物の位置情報を更に、前記第2の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第2の変換手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得手段と、
被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得手段と、
少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段と、
前記異物の位置および大きさ情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第1の変換手段と、
前記第1の変換手段で変換された前記異物の位置および大きさ情報を更に、前記第2の撮影レンズのレンズ情報と前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第2の変換手段と、
を備えることを特徴とする画像処理装置。
【請求項3】
前記第1の撮影レンズのレンズ情報および前記第2の撮影レンズのレンズ情報は、少なくとも前記画像信号取得時もしくは前記被写体撮影時の絞り値と瞳位置の情報を含むことを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
収差補正された被写体画像に対して、前記第2の変換手段によって変換された異物情報に基づいて、異物除去処理を行う異物除去処理手段を更に備えることを特徴とする請求項1ないし3のいずれか1項に記載の画像処理装置。
【請求項5】
前記記憶手段に記憶されている収差情報に基づいて、前記被写体撮影時に撮影された被写体画像の収差を補正する収差補正処理手段を更に備えることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
請求項1ないし3のいずれか1項に記載の画像処理装置と、
異物検出モードにおいて前記異物検出用の画像信号を取得し、当該画像信号から撮像画面内における異物の位置情報を抽出する抽出手段と、
を備えることを特徴とするレンズ交換式一眼レフデジタルカメラ。
【請求項7】
前記記憶手段に記憶されている収差情報に基づいて、前記被写体撮影時に撮影された被写体画像の収差を補正する収差補正処理手段を更に備えることを特徴とする請求項6に記載のレンズ交換式一眼レフデジタルカメラ。
【請求項8】
前記画像処理手段により収差補正された被写体画像に対して、前記第2の変換手段によって変換された異物情報に基づいて、異物除去処理を行う異物除去処理手段を更に備えることを特徴とする請求項7に記載のレンズ交換式一眼レフデジタルカメラ。
【請求項9】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、
被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、
前記異物の位置情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置情報に変換する第1の変換工程と、
前記第1の変換工程で変換された前記異物の位置情報を更に、前記第2の撮影レンズのレンズ情報と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置情報に変換する第2の変換工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項10】
撮像手段から得られる異物検出用の画像信号に基づいて抽出された、撮像画面内における異物の位置および大きさ情報と、および前記画像信号を取得する際に用いた第1の撮影レンズのレンズ情報とを異物情報として取得する異物情報取得工程と、
被写体撮影時の第2の撮影レンズのレンズ情報を取得するレンズ情報取得工程と、
前記異物の位置および大きさ情報を、前記第1の撮影レンズのレンズ情報と前記第2の撮影レンズのレンズ情報に基づいて、前記第2の撮影レンズで撮影したときの撮像画面内における異物の位置および大きさ情報に変換する第1の変換工程と、
前記第1の変換工程で変換された前記異物の位置および大きさ情報を更に、前記第2の撮影レンズのレンズ情報と、少なくとも前記第2の撮影レンズの収差情報を含む収差情報を記憶する記憶手段に記憶された前記収差情報に基づいて、前記被写体撮影時に撮影された被写体画像が画像処理により収差補正された後の撮像画面内における異物の位置および大きさ情報に変換する第2の変換工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項11】
請求項9または10に記載の制御方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2009−152804(P2009−152804A)
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願番号】特願2007−327989(P2007−327989)
【出願日】平成19年12月19日(2007.12.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願日】平成19年12月19日(2007.12.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]