ゴースト像とは、複数のレンズ等を含む光学系において、レンズ表面での反射を介して本来の結像光(有効結像光)が通る光路とは異なる光路を通って像面上に到達した光(不要光)により、視覚的に一定の形状が認められるように形成された光学像である。なお、ゴースト像(以下、単にゴーストという)は、一般に、上記と同様の不要光により形成されるが、むらやかぶり等の一定の形状が認められないように発生するフレアと区別される。
図1には、複数のレンズを含む光学系において、ある点光源からの光によって形成されるゴーストを示す。ゴーストを形成する光を発する光源を、ゴースト光源という。ゴースト光源からの光がレンズ表面間で反射して生じたゴーストは、結像せずにある程度の広がりを持って像面に到着する。
図4はゴーストとフレアの違いを示す図である。401はゴースト像、402はフレアを示している。これらの図を比較すると分かるように、ゴーストは、フレアと異なり、視覚的に認識できる一定の形状を有する。
一般に、レンズ表面での反射率は低く、またレンズ表面には反射を低減するコーティングも施されているため、複数回の反射によって像面に到達してゴーストを形成する不要光(以下、ゴースト光という)の強度はきわめて弱い。このため、被写体の光強度が弱い場合は、ゴーストは人間が視認できる強度では出現しない。
しかし、被写体として非常に強い光源、例えば太陽を含む場合には、ゴーストは人が視認できる強度にまで高められ、画像の質を劣化させる要因となる。また、ゴースト光の光路は有効結像光の光路とは異なり、被写体から離れた位置にある非常に強い光源の光が像面に到達することでゴーストを出現させる場合もある。
また、撮像光学系のレンズ表面での反射により生ずるゴーストは、同じレンズ表面に対して反射と透過を経る。したがって、ゴーストの分光特性は、反射と透過の分光特性が積算される結果、比較的狭いスペクトルを持ち、彩度が高い傾向がある。
以下、本実施例においては、撮像光学系はその光軸に対して回転対称形状を有するものとして説明を行う。また、撮像光学系及び撮像素子を用いて取得された原画像を、入力画像データといい、該入力画像データは、赤、緑、青の3原色からなるカラー画像データであるとして説明を行う。
本実施例では、まず、ゴーストの出現位置をゴースト光源が存在する方向から判定する。そこで、図3、図5を用いて、ゴースト光源が存在する方向の表記方法について説明する。
図3には、光源と像の物理的な位置関係を示す。図3では、光軸をZ軸で、水平方向をX軸で、垂直方向をY軸でそれぞれ表す。光軸と像面が交わる点を画面中心という。図3において、光源と撮像系の物体側主点を結ぶ直線が光軸とのなす角度(半画角)をω、光源及び光軸を含む平面とY軸及び光軸を含む平面のなす角(軸方向回転角)をφと定義する。この場合、光源の存在する方向は、(ω,φ)で表現できる。本実施例では、この(ω,φ)を、ゴースト光源の方向に関する情報としてのゴースト光源方向情報という。
図5には、像面に形成されたゴースト光源の像とゴーストの出現位置との関係を示す。光軸に対して回転対称な撮像光学系では、ゴースト光の光路も有効結像光の光路と同様に、子午切断面に対して左右対称になり、ゴーストの中心点はゴースト光源の像と画面中心を結ぶ直線上に位置する。
図16には、本発明の実施例1である画像処理装置を有する撮像装置の構成を示す。撮像装置1は、基本的には、撮像光学系1601と、撮像素子1603と、画像形成回路1604と、メモリ制御回路1611、画像出力部1612及びフレームメモリ1613等を備える。
撮影光学系1601は、撮像素子1603に光を導く。1603は絞りやシャッタ等を含む露光量制御部材である。撮影光学系1601から入射した被写体光は、露光量制御部材1602を介して撮像素子1603に到達する。
撮像素子1603は、被写体光(光学像)を電気信号に変換する撮像素子であり、CCDセンサやCMOSセンサ等のイメージセンサで構成される。
画像形成回路1604は、撮像素子1603からのアナログ出力信号をデジタル化し、さらに各種処理を施して画像信号を生成する。画像形成回路1604は、A/D変換回路1621、オートゲイン制御回路(AGC)1622、オートホワイトバランス回路(AWB)1623及びその他の不図示の画素補間処理や色変換処理等を行う回路を含む。
A/D変換回路1621は、アナログ信号を標本化及び量子化してデジタル信号に変換する。AGC1622は、デジタル信号のレベル補正を行う。AWB1623は、画像の白レベル補正を行う。
1605は撮像光学系1601のフォーカシングを制御するフォーカス制御部である。1606は露光量制御部材1602を制御する露光制御部である。フォーカス制御部1605及び露光制御部1606は、例えば、TTL方式による自動焦点調節及び自動露出調節を行う。
1607は撮像装置1全体の制御を司るシステム制御回路である。1608はシステム制御回路1607で用いられる制御用データや処理プログラム等を記憶するフラッシュメモリ等のメモリ(記憶手段)である。1609は各種調整値等の情報を記憶するEEPROM等の不揮発性メモリである。
1610は画像処理装置としてのゴースト除去回路である。ゴースト除去回路1610は、撮像光学系1601及び撮像素子1603を用いて画像形成回路1604で生成された入力画像データからゴースト像成分を除去する。ゴーストは、本来、不要光により形成される光学像を意味するが、以下の説明では、このゴーストに対応した画像成分であるゴースト像成分も、単にゴーストという。また、ゴースト除去回路1610は、後に説明する図6のフローチャートに示す処理を実行することで、光源方向推定手段、ゴースト情報取得手段、シミュレーション手段、マッチング手段及び減算手段として機能する。
ゴースト除去回路1610は、不図示の操作部にて選択できるゴースト除去モードの設定により動作する。ゴースト除去回路1610に入力される画像データ(原画像)は、必ずしも画像形成回路1604での全ての処理を終えた画像データでなくともよく、画像形成回路1604での処理途中の画像データであってもよい。処理途中の画像データをゴースト除去回路1610に入力する場合は、該ゴースト除去回路1610で処理された画像データを再び画像形成回路1604に入力し、そこでの処理を継続する。
1613はゴースト除去回路1610又は画像形成回路1604から出力された画像データ(映像データ)を1画面又は複数画面単位で一時的に記憶保持するフレームメモリである。1611はフレームメモリ1613に対する画像データの入出力を制御するメモリ制御回路である。
1612はゴースト除去回路1610又は画像形成回路1604から出力された画像データを、図示しないモニタや記録媒体等の画像出力装置に表示又は記録する画像出力部である。
次に、図6を用いて、本実施例の撮像装置1のゴースト除去回路1610で行われるゴースト除去処理について説明する。本処理は、ゴースト除去回路1610を構成するマイクロコンピュータにおいて、該マイクロコンピュータ内に格納された画像処理プログラムとしてのコンピュータプログラムに従って実行される。
ステップS601では、マイクロコンピュータは、ゴースト除去回路1610に入力画像データを取り込む。
次にステップS602(光源方向推定ステップ)では、入力画像データを解析し、ゴースト光源と推定される光源の方向情報を記載したゴースト光源方向情報リストを作成する。該リストには、複数の光源の方向情報を記載してもよい。このステップの処理については後に詳しく説明する。
次にステップS603では、ゴースト光源方向情報リストに記載されたゴースト光源の全候補を処理が完了したか否かを判定する。全候補の処理が終了するまでは、以下のステップS604〜S610の処理を繰り返す。全候補の処理か終了した場合は、ステップS611に進む。
ステップS604(ゴースト情報取得ステップ)では、ゴーストシミュレーション像(シミュレーション画像)を算出するために必要な要素を取得する。以下の説明では、シミュレーションをSim.と略記する。
ステップS604では、まずメモリ1608に予め記憶されたゴースト像強度分布参照テーブル(参照データ)を参照する。ゴースト像強度分布参照テーブルでは、撮像光学系に関する情報としての撮像条件と、ゴースト像成分に関する情報としての該撮像条件にて出現するゴーストの像強度分布ファイル(像強度分布情報)とが対応付けられて記載されている。撮像条件には、Fナンバー、デフォーカス量及びズーム状態等が含まれる。また、ゴースト像強度分布ファイルは、ゴーストのスポットダイアグラム等から構成されるデータである。
次に、ゴースト像強度分布参照テーブルから、入力画像データ取得時における撮像条件とステップS602で取得したゴースト光源方向情報のうちωとに対応する、ゴースト像強度分布ファイルと発生し得るゴーストの出現位置(像高)の情報とを取得する。
次に、光源のスペクトルデータをゴースト除去回路1610又は不揮発性メモリ1609から取得する。例えば、光源のスペクトルは、ゴーストが発生しやすい昼間の太陽光のスペクトルとする。ただし、一般に、デジタルスチルカメラやデジタルビデオルカメラには自動ホワイトバランス(AWB)処理用の内部測光センサが設けられており、光源の色温度を測定できる。このため、本実施例でも、ステップS604で、撮像装置1が持っている光源の色温度の情報から光源のスペクトルを推定し、ゴースト光源のスペクトルとして用いてもよい。
さらに、本ステップS604では、撮像素子1603に設けられたカラーフィルタの分光特性データを、ゴースト除去回路1610又は不揮発性メモリ1609から取得する。
次にステップS605(シミュレーションステップ)では、ステップS604で取得したゴースト像強度分布ファイル、光源のスペクトルデータ及びカラーフィルタの分光特性データに基づいて、ゴーストをシミュレートしたゴーストSim.像を生成する。第1のシミュレーション画像としてのゴーストSim.像の生成処理については後に詳しく説明する。
次にステップS606(マッチングステップ)では、入力画像データ中のゴーストとステップS605で生成したゴーストSim.像との間でパターンマッチング処理を行う。本ステップで実行するパターンマッチング処理の詳細は後に説明する。
次にステップS607では、ステップS606で出力したパターンマッチング処理の結果に基づいて、ゴースト除去が可能か否かを判断する。マッチング処理の結果が所定の閾値以下ならば、予測したゴーストが存在しないと判定し、ステップS610に進む。一方、マッチング処理の結果が所定の閾値以上ならば、予測したゴーストが存在するとこなしてステップS608に進む。
ステップS608では、ステップS605で生成したゴーストSim.像の像強度を入力画像データ中のゴーストと合わせる(対応させる)ための像強度補正処理を行う。これにより、第2のシミュレーション画像としての強度補正ゴーストSim.像を生成する。本ステップで実行する処理の詳細は後に述べる。
次にステップS609(減算ステップ)では、入力画像データから、ステップS608で生成した強度補正ゴーストSim.像を減算する。これにより、出力画像データとしてのゴースト除去画像データが生成される。本ステップで実行する処理の詳細は後に述べる。
次にステップS610では、全ゴースト光源の候補における次の候補に対する処理に移行する。ステップS610からはステップS603に戻り、ステップS602でリストアップした全ゴースト光源の候補を処理するまでステップS603〜ステップS610の処理を続ける。
最後に、ステップS611では、ステップS602〜ステップS610の一連のゴースト除去処理を行った出力画像データを、画像出力部1612又は画像形成回路1604に出力する。
図9には、上記ゴースト除去処理によって入力画像データからゴーストが除去される様子を示す。入力画像データ901に対して、ステップS602でのゴースト光源方向のサーチ処理を行い、入力画像データ901中にあるゴースト光源像を特定する。次に、902に示すように、ゴースト光源像からゴースト像の出現位置や形状を予測する。そして、最後にゴースト像を除去した出力画像データ903を生成する。
以下、図6の各ステップについて詳しく説明する。まず、ステップS602におけるゴースト光源方向のサーチ処理について、図7のフローチャートを用いて説明する。
光源方向サーチ処理は、画像データ内でのゴースト光源方向のサーチ処理(S701)と、画像データ外でのゴースト光源方向のサーチ処理(S702)と、ゴースト光源方向情報リストの作成処理(S703)とにより構成される。
図8は、ステップS701で行われる画像データ内でのゴースト光源方向のサーチ処理の内容を示したフローチャートである。
まず、ステップS801では、マイクロコンピュータは、入力画像データの各画素の輝度を計算し、所定の閾値(例えば、輝度値250)によって入力画像データ701を2値化した2値化画像を生成する。
次にステップS802では、2値化画像に対し、隣接する要素を連結してグループ分類するラベリング処理を行い、複数のグループを生成する。ラベリング処理は、公知の技術であるため、ここでの詳しい説明は省略する。
次にステップS803では、ラベリング処理で生成した全てのグループに対して以降の処理が終了したか否かを判定する。全てのグループに対する処理が完了していれば、本サーチ処理を終了する。全てのグループに対する処理が完了するまでは、ステップS804〜S807の処理を繰り返す。
ステップS804では、ラベリング処理で生成した各グループに対し、上下左右端の画素の位置から外接矩形の大きさを求める。
次にステップS805では、計算した外接矩形のサイズを判定する。所定の範囲に収まる大きさの外接矩形ならば、該グループをゴースト光源像とみなしてステップS806に進む。一方、そうでないならば、ゴースト光源像とはみなさずにステップS808に進む。なお、グループをゴースト光源像とみなすための外接矩形の範囲は、実験等により求めるとよい。
例えば、ラベリングしたグループが5×5画素以上、30×30画素以下の外接矩形に収まるならば、該グループをゴースト光源の像と見なす。
次にステップS806では、ゴースト光源像であるとみなしたグループの中心座標を求める。中心座標は、ラベリングしたグループの重心、すなわち該グループに含まれる各画素のX座標の平均値とY座標の平均値とから求めることができる。この処理により、ゴースト光源像の中心座標Gが分かる。図9に示した902では、ゴースト光源像の中心座標Gは画面中の右上領域にて見つけられている。
次にステップS807では、撮像素子1603の画面(受光面)中心Iとゴースト光源像の中心座標Gとから、ゴースト光源方向情報(ω,φ)を求める処理を行う。
まず図9の902に示す画面中心Iと、そこからゴースト光源像の中心座標Gまでの距離(像高)Rとを、IとGのそれぞれの座標である、
から、以下のように求める。
次に、距離Rから半画角ωを求める。今、ゴースト光源が太陽のように十分遠い距離(無限遠)にある場合について考え、撮像光学系の焦点距離をf、焦点から像面までの距離をx’、ゴースト光源像の像高をy’とする。(f、x’、y’の単位は[mm])fとx’は撮像光学系の状態を示す情報から取得でき、y’は前述の距離Rにセンサーの画素ピッチを掛け算することで求められる。
半画角ωはゴースト光源と撮像光学系の物体側主点を結ぶ直線が光軸となす角であり、またゴースト光源像と撮像光学系の像側主点を結ぶ直線が光軸となす角と等しいため、後者から半画角ωを計算すると
となる。
以上の処理により、画像データ内でのゴースト光源方向情報(ω,φ)を推定又は特定することができる。なお、(ω,φ)の組み合わせは複数個存在してもよい。
次にステップS808では、マイクロコンピュータは、未処理のラベリングしたグループがある場合には、ステップS803に進み、全てのグループに対する処理を完了するまでステップS803〜S808までの処理を実行する。以上で、画像データ内でのゴースト光源方向のサーチ処理が終了する。
図10は、画像データ外でのゴースト光源方向のサーチ処理の内容を示すフローチャートである。
画像データ外に存在するゴースト光源の場合は、入力画像データにおいて画面中心Iを中心とする回転角φの直線上に彩度の高い領域が存在するか否かでゴースト光源の有無及び光源の方向を特定する。
まず、ステップS1001では、マイクロコンピュータは、入力画像データをHSI変換して彩度画像データを生成する。HSIとは、色相(Hue)、彩度(Saturation)、明度(Intensity)の略である。一般に、ゴーストは彩度が高い傾向があるため、彩度画像データを分析すれば、画像データ内のゴーストの有無を判定できる。
次にステップS1002では、彩度画像データを所定の閾値により2値化する。閾値は、実験的に決めた値を用いる。また、閾値を各画素に対して固定するだけでなく、画素ごとに閾値を変化させる動的閾値処理を行ってもよい。動的閾値処理を用いれば、シェーディングなどの背景の変化にかかわらず、背景と対象物を精度よく分離できる。
続いてステップS1003では、2値化した彩度画像データに対してラベリング処理を行う。
次にステップS1004では、ラベリング処理でグループ分けした全グループに対して処理が完了したか否かを確認する。全てのグループに対する処理が完了していれば、本サーチ処理を終了する。全てのグループに対する処理が完了するまでは、ステップS1005〜S1008の処理を繰り返す。
次にステップS1005では、各グループの外接矩形のサイズを計算する。
続いてステップS1006では、ステップS1005で計算した外接矩形のサイズが一定サイズ以上か否かを判定し、一定サイズ以上である場合にはステップS1007に進む。一定サイズ未満の場合にはステップS1009に進む。
次にステップS1007では、各グループの中心座標を求める。
さらにステップS1008では、それぞれの中心座標と画面中心とを通過する直線の回転角φを求める。
そしてステップS1009では、次のグループの処理に移行し、ステップS1004に戻る。
以上の処理により、画像データ外におけるゴースト光源の方向に関する回転角φを特定できる。ただし、上記の処理では、画像データ外のゴースト光源の方向に関する半画角ωの推定は難しい。このため、ゴースト光源方向情報(ω,φ)のωには、撮像素子で撮像可能な半画角以上の全画角、すなわちゴースト光源が撮像素子に記録されない半画角を全てリストアップする。このとき、必要以上にωを増やさないため、撮像素子の形状と回転角φを考慮することで、撮像素子で撮像可能な半画角ωの数を抑える。
以上で、画像データ外でのゴースト光源方向のサーチ処理を終了する。
次にステップS703におけるゴースト光源方向情報リストの作成処理で、入力画像データごとのゴースト光源方向情報リストを作成する。ゴースト光源方向情報リストには、ステップS701及びS702でゴースト光源と予測された光源の方向(ω,φ)をリストアップする。以降の処理では、このゴースト光源方向情報リストを参照して、ゴーストの除去を行う。
以上で、ステップ603のゴースト光源方向のサーチ処理を終了する。
次に、ステップS604にて行われるゴーストSim.像の算出要素取得処理について説明する。
図11は、ゴーストSim.像の算出要素取得処理の内容を示すフローチャートである。ゴーストSim.像の算出要素取得処理は、ステップS1101でのゴースト像強度分布取得処理と、ステップS1102での光源スペクトル取得処理と、ステップS1103でのカラーフィルタ分光特性配列処理とにより構成される。
ステップS1101のゴースト像強度分布取得処理について説明する。このゴースト像強度分布取得処理では、ステップS602で取得したゴースト光源方向情報のωから、画質劣化を生じさせる強いゴーストの像面での強度分布を表すゴースト像強度分布とゴーストの出現位置(像高)を取得する。
まず、ゴースト像強度分布について簡単に説明する。図2に示した202は、スポットダイアグラム201から生成したゴースト像強度分布を示す。ゴースト像強度分布202は、撮像素子の1画素ごとに表現したゴースト像の強度分布を表している。
次に、スポットダイアグラムからゴースト像強度分布を作成する方法について説明する。本実施例では、ゴーストのスポットダイアグラムは、スポットごとに像面でのスポット座標(単位[mm])と光の透過率を保持しているものとして説明する。
撮像素子の画素ピッチ(単位[mm])が与えられると、各スポットの座標を画素ピッチで除して得られた値を四捨五入することで、スポットダイアグラムの各スポットが撮像素子のどの画素に含まれるかを計算できる。
スポットダイアグラムが持つ全てのスポットに対して上記処理を行い、各スポットが持つ透過率をゴースト像強度分布の各画素に加算すれば、ゴースト像強度分布が得られる。
このとき、撮像素子の画素ピッチに対し、ゴーストのスポットダイアグラムが十分なスポット数を持っていれば、滑らかなゴースト像強度分布が得られる。しかし、十分なスポット数を持っていなければ、全スポットに対して処理してもスポットが含まれる画素とそうでない画素が間欠的に現われ、滑らかなゴースト像強度分布が得られない。
この場合は、以下に説明するスポット補間処理によってスポットダイアグラムのスポット数を増やす。スポット補間処理とは、入射瞳で互いに近傍の4点を通過する4つの光線のスポット座標と透過率とから、補間演算によりその間を通る光線のスポット座標と透過率を計算する処理である。補間としては線形補間を用いる。
このスポット補間処理を用いれば、例えば入射瞳をメッシュ状に32×32個に分割して光線を飛ばして得られたスポットダイアグラムに対し、2倍や4倍の補間により、瞳の分割数64×64や128×128に相当するスポットダイアグラムが得られる。このとき、入射瞳を分割するメッシュの一辺当たりにおける光線本数の倍数をスポット補間数という。
滑らかなゴースト像強度分布が得られるスポット補間数は、ゴーストのスポットダイアグラムの広がりと撮像素子の画素ピッチとに依存する。ゴーストのスポットダイアグラムが広がるとスポット補間数を増やし、撮像素子の画素ピッチが小さくなると同じくスポット補間数を増やす必要がある。このため、予めゴーストスポットダイアグラムごとに指定した撮像素子の画素ピッチで滑らかに補間できるスポット補間数を計算し、記憶保持しておくとよい。この場合、撮像素子の画素ピッチが異なる撮像装置に特定の交換レンズを接続しても、撮像素子の画素ピッチの倍率に基づいて、滑らかに補間するために必要なスポット補間数を算出できる。
撮像素子の画面全体に広がるゴーストの場合には、スポット数を増やさなければ滑らかなゴースト像強度分布が得られない傾向がある。このため、スポット補間処理は有効である。
補間で求めたスポット座標と透過率は、入射瞳の該当する位置を通る実際の光線のスポット座標と透過率とは若干異なる可能性があるが、元々のスポット数をある程度確保していれば、誤差は少なく、実用上十分な精度が得られる。
図12には、あるレンズ(Lens−1)のFナンバー5.6、焦点距離50[mm]、デフォーカス量0.0[mm]における、画像に対する影響が大きいゴーストの情報を記載したゴースト像強度分布参照テーブルを示す。図12では、半画角ωをインデックスとして、ゴーストの出現位置(中心像高)と、点光源におけるゴースト像強度分布が格納されたファイル名とが記載されている。
ゴースト像強度分布ファイルには、所定の画素ピッチにおいて滑らかに補間するためのスポット補間数と、ゴーストのスポットダイアグラムのスポット座標と、スポットごとの透過率データとが波長毎に格納されている。ゴースト像強度分布ファイルにはさらに、ゴースト像強度分布の作成に有効な補助情報、例えばスポットダイアグラムの外接矩形の大きさ、を格納してもよい。
例えば、ステップS602でゴースト光源の方向に関する半画角ωが35.0度であると推定した場合は、図12より、画像に対する影響が大きいゴーストは、番号1に対応するゴーストとして1つ出現する。そして、番号1のゴーストの出現位置(中心像高)は2.0[mm]の位置であり、ゴースト像強度分布ファイルは、
「L1_F5.6_Z50_D0_LIST1.psf」
という名称であることが分かる。
ステップS1101のゴースト像強度分布取得処理では、撮像光学系の条件(撮像条件)ごとに準備されたゴースト像強度分布参照テーブルを参照する。このとき、半画角ωをインデックスとして、ゴーストの出現位置(中心像高)とゴースト像強度分布ファイルを取得する。
そして、ゴースト像強度分布ファイルに記載されたスポット座標、透過率及びスポット補間数に基づいて、ゴースト像強度分布ファイルを作成する。
ゴーストが回転角φ方向に出現する場合、スポット座標を角度φだけ回転してからスポット補間処理を行ってもよいし、スポット補間後にスポット座標を回転させてもよい。
撮像素子の画素ピッチがゴースト像強度分布ファイルに記載された基準のスポット補間数と異なる場合は、スポット補間数を計算した基準の画素ピッチとの倍率だけスポット補間数を増やせばよい。例えば、撮像素子の画素ピッチが3μmであり、基準の画素ピッチが6μmである場合は、基準のスポット補間数を2倍したスポット補間数でスポット補間処理をすることで、滑らかなゴースト像強度分布が得られる。
以上説明したように、ステップS1101では、図12に示すようなゴースト像強度分布参照テーブルからゴーストの出現位置(中心像高)とゴースト像強度分布ファイルを取得し、滑らかに補間されたゴースト像強度分布を計算により取得する。
次に、ステップS1102の光源スペクトル取得処理について説明する。本実施例では、光源のスペクトルは、デフォルトでは晴天時の昼光のスペクトルを用いる。光源のスペクトルデータは、撮像装置1内の不揮発性メモリ1609に格納されており、必要に応じて読み出して取得することができる。
ただし、一般に、デジタルカメラは自動ホワイトバランス(AWB)処理のために、撮像時に内部測光センサにより光源の色温度を測定する機能を有する。したがって、本実施例でも、撮像装置1の内部で測定保持されたこの色温度情報から、太陽光のスペクトルを推定することも可能である。
次に、ステップS1103のカラーフィルタ分光特性取得処理について説明する。カラーフィルタの分光特性も、光源のスペクトルと同様、撮像装置1の不揮発性メモリ1609に格納されていて、必要に応じて読み出すことで取得することができる。
以上のステップS1101〜1103の処理により、ゴーストSim.像算出のために必要な各要素を取得することができる。
次に、ステップS604で行われるゴーストSim.像生成処理について説明する。ゴーストSim.像生成処理では、光源のスペクトルと撮像素子の各色のカラーフィルタの分光特性と、ゴースト像強度分布とを積算し、波長積分してゴーストSim.像の各色の値を計算する。
光源のスペクトルをP(λ)、赤、緑、青のカラーフィルタの分光特性をそれぞれR(λ)、G(λ)、B(λ)、波長ごとのゴースト像強度分布をPSF(x,y,λ)、kを定数として、ゴースト像の赤、青、緑の値である
を数式で表すと、
となる。
通常、波長350[nm]から800[nm]の帯域で、10[nm]間隔でデータを準備すれば、実用的な精度で色再現が可能である。上記計算式で得られるゴーストSim.像の色は、カラーフィルタの分光特性の重み付けによって計算された状態にあり、まだsRGB等の色空間には変換されていない状態にある。したがって、仮にゴーストSim.像と入力画像データの色空間が異なる場合は、ゴーストSim.像に対して、入力画像データの色空間に合わせる色変換を行う必要がある。
本実施例では、入力画像データもゴーストSim.像と同じく、カラーフィルタの分光特性の重み付けによって計算された状態にあるとする。
ここまでは、ゴースト光源が点光源である場合について説明してきたが、太陽は若干の拡がりを持つ面光源であり、実際のゴーストは点光源とみなして計算したゴーストSim.像と異なる場合もある。このため、点光源の代わりに、面光源に対応したゴーストSim.像を格納する場合について以下に説明する。
面光源に対応したゴースト像強度分布データは、面光源を複数の点光源に分割して得られる、互いに位置が異なる複数の点光源のゴースト像強度分布データによって表現される。面光源の分割方法は、メッシュ状でもランダムでもよい。点光源の数を十分に確保すれば、既に述べたスポット補間処理により滑らかな面光源ゴーストの強度分布を生成できる。
光源が面光源である場合のゴーストSim.像は、波長ごとの面光源のゴースト像強度分布をPL(x,y,λ)とすると、点光源の場合のゴーストSim.像と同様に、
で計算できる。
次に、ステップS605で行われるゴーストSim.像を用いたマッチング処理について説明する。
ここでは、まず実際に撮像により取得された入力画像データ中のゴースト出現位置の前後でゴーストSim.像のパターンマッチングを行う。このとき、パターンマッチングは入力画像データを画面中心を中心とした極座標に変換した後で行うとよい。これは、既に述べたように、ゴーストは画面中心を通る回転角φの直線上に出現するため、画像データを極座標に変換することで、回転角φの直線上の移動を平行移動として高速にて取り扱えるメリットがあるためである。また、マッチング処理をゴーストが出現すると想定される近傍領域に限って行うことで、処理の負荷を軽減することができる。
ステップS605におけるパターンマッチングの方式としては、画素値の差の2乗和が最小となる位置を見つける最小2乗誤差方式や、正規化相互相関方式等が挙げられる。
ステップS605では、パターンマッチング処理の結果を出力する。例えば、正規化相互相関方式を用いる場合、マッチング処理結果は、−1.0から1.0までの間の値となる。
次に、ステップS607で行われるゴースト除去判断処理について説明する。ステップS607では、ステップS606のマッチング処理結果に対して、閾値を用いた判定処理を行う。マッチング処理結果が所定の閾値以上であれば、以降のステップでゴースト除去処理を行い、閾値未満であればステップS610に進んで、ゴースト除去処理を行わない。ここでの閾値も、実験により定めた値とする。
次に、ステップS608で行われるゴーストSim.像の強度補正処理について説明する。ステップS605及びS606での処理により、入力画像データ中のゴーストとゴーストSim.像とが良好に一致すると判定されている。しかし、入力画像データ中のゴーストとゴーストSim.像とをより近似させるため、双方のゴーストの強度及びオフセットを近づけることが望ましい。
ゴーストSim.像の強度及びオフセットを入力画像データ中のゴーストに近似させる方法の1つとして、最小二乗法がある。最小二乗法とは、実写ゴースト像をS(x,y)、ゴーストSim.像をGH(x,y)とし、ゴーストSim.像の振幅倍率をa、オフセットをbとすると、
を最小とするa,bを求める方法である。
R,G,Bチャネルの強度をそれぞれ別々に調整すると、精度良く強度を合わせることができる。
図13には、強度補正処理のイメージ図を示す。1301は入力画像データ中のゴーストの1次元の強度イメージを示し、1302は強度補正後のゴーストSim.像(強度補正ゴーストSim.像)の1次元の強度イメージを示す。縦軸は画素値を、横軸は位置を表す。
次に、ステップS609で行われる減算処理について説明する。ステップS609では、入力画像データ中のゴーストに対して強度補正ゴーストSim.像のパターンが最も良く一致する位置で、前者から後者の減算を実行する。その結果、入力画像データからゴーストが良好に除去された出力画像データが得られる。
図14には、上記減算処理のイメージ図を示す。1401はゴーストを含む入力画像データであり、1402は強度補正ゴーストSim.像(ただし、オフセットbは除く)である。縦軸が画素値を、横軸が位置を表す。
1403は入力画像データ1401から強度補正ゴーストSim.像1402を減算して得られた出力画像データである。入力画像データ1401中から、実際のゴーストとの一致度が高い強度補正ゴーストSim.像1402を減算することで、入力画像データ1401からゴーストが良好に除去された出力画像データ1403が得られる。
ただし、入力画像データ中のゴーストの強度が高く、強度補正ゴーストSim.像を減算しても出力画像データの画質を十分に高められない場合もあり得る。図15には、減算処理で必ずしも出力画像データの画質を改善できない場合の例を示す。
1501はゴーストを含むものの画素値が飽和したあるチャネルの入力画像データを示す。1502は強度補正ゴーストSim.像(ただしオフセットbは除く)である。縦軸が画素値を、横軸が位置を表す。
1503は画素値が飽和した入力画像データ1501から強度補正ゴーストSim.像1502を減算して得られた出力画像データである。この出力画像データ1503は、強度補正ゴーストSim.像1502の強度を反転したものに相当する画像データになっている。つまり、減算処理によって、却ってゴーストを目立たせてしまう結果になる。
このため、本実施例では、ステップS609の減算処理において、入力画像データの画素値を解析する画像データ解析処理と、その結果から減算処理を行うか否かを判定する判定処理とを導入するとよい。
画像データ解析処理では、入力画像データ中に画素値が飽和している画素があるか否かを解析する。また、判定処理では、解析手段の結果に基づいて、飽和画素がない場合は強度補正ゴーストSim.像全体を用いた減算処理を行い、飽和画素がある場合は飽和画素に対してのみ補正強度ゴーストSim.像の減算処理を行わない等の判定を行う。
以上説明したように、本実施例によれば、従来は自動的に除去できなかった入力画像データ中のゴーストを自動的に除去することが可能となり、出力画像データの画質を高めることができる。