(57)【要約】【課題】  撮影光源の種類を判定する際の曖昧さを考慮して画像の暈けを補正する。【解決手段】  撮影された画像データを入力し(S501)、画像データの撮影光源の種類を判定する(S503〜S507)。そして、判定の結果、および、判定の結果の曖昧さに応じた回復フィルタを設定し(S505、S508、S509)、設定された回復フィルタによる回復処理を画像データに施す(S510)。【選択図】  図6
2010271951.tif 000002
【特許請求の範囲】
【請求項１】
撮影された画像データを入力する入力手段と、
前記画像データの撮影光源の種類を判定する判定手段と、
前記判定手段の判定の結果、および、前記判定の結果の曖昧さに応じた回復フィルタを設定する設定手段と、
前記設定された回復フィルタによる回復処理を前記画像データに施す画像処理手段とを有することを特徴とする画像処理装置。
【請求項２】
前記回復フィルタは、光源の種類に対応する点像分布関数から作成された光源最適化フィルタを含むことを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記設定手段は、前記判定の結果が前記曖昧さをもたない場合、前記判定の結果が示す光源の種類に対応する点像分布関数から作成された光源最適化フィルタを設定することを特徴とする請求項2に記載された画像処理装置。
【請求項４】
前記回復フィルタは、複数の光源の種類それぞれに対応する複数の点像分布関数から作成された光源共通化フィルタを含むことを特徴とする請求項1に記載された画像処理装置。
【請求項５】
前記設定手段は、前記判定の結果が前記曖昧さをもつ場合、前記判定の結果が示す光源の種類に対応する点像分布関数を含めて作成された光源共通化フィルタを設定することを特徴とする請求項4に記載された画像処理装置。
【請求項６】
前記回復フィルタは、さらに、前記判定手段が判定することができない複数の光源の種類それぞれに対応する複数の点像分布関数から作成された汎用回復フィルタを含むことを特徴とする請求項1から請求項5の何れか一項に記載された画像処理装置。
【請求項７】
さらに、前記画像データの撮影に使用されたレンズの情報を取得する取得手段を有し、前記設定手段は、前記レンズの情報、前記判定の結果、および、前記判定の結果の曖昧さに応じた回復フィルタを設定することを特徴とする請求項1から請求項6の何れか一項に記載された画像処理装置。
【請求項８】
撮影された画像データを入力し、
前記画像データの撮影光源の種類を判定し、
前記判定の結果、および、前記判定の結果の曖昧さに応じた回復フィルタを設定し、
前記設定された回復フィルタによる回復処理を前記画像データに施すことを特徴とする画像処理方法。
【請求項９】
コンピュータ装置を制御して、請求項1から請求項7の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするプログラム。
【請求項１０】
請求項9に記載されたプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の暈けを補正する画像処理に関する。
【背景技術】
【０００２】
撮像装置で撮影された画像に、ピンボケ、収差、手振れなどによる劣化が生じている場合、当該劣化を修復する画像回復アルゴリズムが知られている。例えば、画像劣化の特性を点像分布関数（point spread function: PSF）で表し、PSFに基づき劣化がない画像を回復する手法がある。このような画像回復アルゴリズムとして、例えば、特許文献1は、PSFの逆特性のフィルタ処理によって画像の暈けを補正する方法を開示する。
(x, y)を画面上の位置座標とし、劣化がない場合の画像（以下、被写体像）をo(x, y)、劣化した画像（以下、劣化画像）をz(x, y)、暈けによって広がった点像の情報PSFをp(x, y)とすると、これら三つは次の関係を満たす。
z(x, y) = o(x, y)＊p(x, y)      …(1)
【０００３】
式(1)において、＊はコンボリューション（畳込積分）演算を表す。従って、式(1)を積分式に書き直すと下式のように表される。
z(x, y) = ∬o(x, y)p(x-x', y-y')dx'dy'      …(2)
【０００４】
式(2)を空間周波数(u, v)領域にフーリエ変換すると下式のようになる。
Z(u, v) = O(u, v)・P(u, v)      …(3)
ここで、Z(u, v)はz(x, y)のスペクトル、
O(u, v)はo(x, y)のスペクトル、
P(u, v)はp(x, y)のスペクトル。
【０００５】
なお、P(u, v)は、PSFの二次元フーリエ変換である光学伝達関数(optical transfer function: OTF)の絶対値である空間周波数伝達関数(modulation transfer function: MTF)である。
【０００６】
ここで、劣化画像z(x, y)に加え、何らかの方法によりPSFであるp(x, y)を知ることができれば、それらのスペクトルを算出し、式(3)を変形した式(4)を利用することで、被写体像のスペクトルO(u, v)を算出することができる。そして、式(4)によって算出されるスペクトルを逆フーリエ変換すれば、被写体像o(x, y)を得ることができる。
O(u, v) = Z(u, v)/P(u, v)      …(4)
ここで、1/P(u, v)は、逆フィルタと呼ばれる。
【０００７】
劣化のMTFは、その値が零になる周波数が存在することがある。MTFの値が零は、劣化によって伝達されない（情報が失われる）周波数成分が存在することを意味する。MTFの値が零になる周波数が存在すると、被写体像を完全に回復することはできない。従って、MTFの逆フィルタには、フィルタ係数が無限大となる周波数が存在することがあり、当該周波数において、被写体像のスペクトル値は不定になる。
【０００８】
そこで、逆フィルタの係数が無限大にならないように、下式で表されるWienerフィルタを画像回復に使用することがある。
P(u, v)/{|P(u, v)|2 + c}      …(5)
ここで、cは非常に小さい値の定数。
【０００９】
以下、逆フィルタやWienerフィルタを「回復フィルタ」と呼ぶが、回復フィルタの係数はMTFに反比例するので、MTFが零に近付けば近付く程、係数は大きな値になる。つまり、劣化が大きい周波数の回復フィルタの係数は非常に大きく、回復フィルタの算出に利用するPSFと、実際の暈け画像のPSFが異なれば、その差は僅かでも、フィルタ処理によって差が増幅される。言い換えれば、劣化画像から暈けがない被写体像を回復するには、正確なPSFの取得が望まれる。
【００１０】
PSFは像高、ズーム、被写体位置、絞りで変化することがよく知られている。従って、これら撮影情報に応じてPSFを算出し、回復処理にフィードバックする方法が提案されている。たとえば、特許文献2は、被写体距離に応じたPSFを推定し、画像劣化の回復に利用する。特許文献3は、フラッシュ使用時はシャッタ開期間における被写体の輝度変化が大きく、フラッシュを使わない（輝度変化が均一）場合のシャッタ開期間のPSFと異なることに着目し、フラッシュ使用時はPSFを補正して回復処理を行う。
【００１１】
しかし、像高、ズーム、被写体位置、絞りが同一で、シャッタ開期間における輝度変化が均一な状態でも、撮影時の光源の違いによりPSFは異なる。例えば、A光源下のPSFと、電球色蛍光灯下のPSFは異なる。
【００１２】
図1AはPSFを示す図である。なお、点像は、画像の縦方向と横方向に広がるから、PSFの値をプロットすれば三次元形状になる。しかし、説明を簡単にするため、図1においては、画像の一次元方向のみに注目し、PSFの値を二次元にプロットしている。
【００１３】
図1Aに示すPSFは、異なる二つの光源下で、像高、ズーム、被写体位置が同一、シャッタ開期間における輝度変化が均一な状態を示している。しかし、二つの光源に対して、点像の広がり方、つまりPSFが異なる。
【００１４】
図1Bは図1Aに示すPSFをフーリエ変換した結果のMTFを示す図で、横軸は空間周波数を表し、中心が周波数0、左右に行く程周波数は高くなる。図1Bに示すMTFにおいては、高周波成分に対応するグラフの両端寄りで僅かに差がみられるが、二つの光源に対して、それほど大きな違いは認められない。
【００１５】
図1Cは図1Bに示すMTFの逆数を示す図である。つまり、図1Cは、回復フィルタの空間周波数特性を表す図である。図1Cを観察すると、図1Bでは僅かな差であった高周波成分の差が、逆数にすることで、大きな違いとなって現れることが分かる。
【００１６】
従って、光源が異なるPSFを用いて作成した回復フィルタを回復処理に使用しても、良好な回復結果を得ることは難しい。つまり、光源2のPSFから作成した回復フィルタで、光源1の下で撮影された画像を回復処理すれば、高周波成分における回復の程度が不足し、回復処理後の画像は暈けたままの画像になる。一方、光源1のPSFから作成した回復フィルタで、光源2の下で撮影された画像を回復すれば、高周波成分における回復の程度が過剰になる。その結果、色付き、リンギングなどの画像劣化が発生して、場合によっては、回復処理前の画像よりも回復後の画像の方が劣化することがある。
【００１７】
図2は回復処理の弊害を説明する図である。図2(a)は被写体像、図2(b)はある光源（光源3）のPSFで被写体像を暈した画像である。
【００１８】
図2(c)は、光源3に関するMTFの逆数から作成した、光源3に最適な回復フィルタを図2(b)の画像に適用した画像（以下、回復画像）を示す。図2(c)の回復画像においては、良好な回復結果が得られている。
【００１９】
他方、図2(d)は、光源3とは異なる光源（光源4）に最適な回復フィルタを、図2(b)の画像に適用した回復画像を示す。図2(d)の回復画像においては、エッジ部にリンギングが生じていて、回復前の画像（図2(b)）よりも回復後の画像（図2(d)）の方が劣化していると言える。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開昭62-127976号公報
【特許文献２】特開平4-088765号公報
【特許文献３】特開2004-205802公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
本発明は、撮影光源の種類を判定する際の曖昧さを考慮して画像の暈けを補正することを目的とする。
【課題を解決するための手段】
【００２２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００２３】
本発明にかかる画像処理は、撮影された画像データを入力し、前記画像データの撮影光源の種類を判定し、前記判定の結果、および、前記判定の結果の曖昧さに応じた回復フィルタを設定し、前記設定された回復フィルタによる回復処理を前記画像データに施すことを特徴とする。
【発明の効果】
【００２４】
本発明によれば、撮影光源の種類を判定する際の曖昧さを考慮して画像の暈けを補正することができる。
【図面の簡単な説明】
【００２５】
【図１Ａ】PSFを示す図。
【図１Ｂ】図1Aに示すPSFをフーリエ変換した結果のMTFを示す図。
【図１Ｃ】図1Bに示すMTFの逆数を示す図。
【図２】回復処理の弊害を説明する図。
【図３】撮像装置の構成例を示すブロック図。
【図４】光源推定用マップを示す図。
【図５】ロバストな回復フィルタの特性（MTFの逆数）を示す図。
【図６】画像処理部が実行する回復処理を説明するフローチャート。
【図７】昼白色蛍光灯Nの分光特性の一例を示す図。
【図８Ａ】ソフトウェアが保持するフィルタテーブルの一例を示す図。
【図８Ｂ】フィルタリスト番号に対応する回復フィルタのテーブルを示す図。
【図９】ソフトウェアによる回復処理を説明するフローチャート。
【発明を実施するための形態】
【００２６】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例１】
【００２７】
実施例1では、カメラなどの撮影装置内部で撮影画像に回復処理を施す例を説明する。
【００２８】
［装置の構成］
図3は撮像装置の構成例を示すブロック図である。
【００２９】
撮影レンズであるレンズ301は、被写体からの光を撮像デバイス302の撮影面に結像する。撮像デバイス302は、CCDやCMOSセンサで、撮影面に結像した光に対応するアナログ信号を出力する。アナログ-ディジタル変換器(A/D)303は、撮像デバイス302から出力されるアナログ信号をディジタル信号に変換した撮像データをバッファメモリ304に格納する。
【００３０】
詳細は後述するが、光源判断部305は、撮影時の光源（撮影光源）の種類を判断する。フィルタメモリ306は、回復フィルタを記憶する。
【００３１】
画像処理部307は、バッファメモリ304から入力した撮像データにデモザイキング処理、ホワイトバランス処理、ガンマ処理、回復処理など、必要な画像処理を施し、画像データを生成する。符号化部308は、画像処理部307から出力される、画像処理後の画像データをデータ圧縮し、所定の画像フォーマットに変換してメモリ309に格納する。メモリ309は、撮像装置に対して着脱可能な、例えばメモリカードのような記憶媒体である。
【００３２】
［光源判断部］
撮影時にフラッシュを発光したか否かを示す情報は、図示しない撮像装置の制御部から取得することができるから、フラッシュは最も特定し易い光源である。しかし、その他の光源については、何らかの解析により判断する必要がある。
【００３３】
光源の種類は、ホワイトバランス調整用にユーザが明示的に指定する場合と、撮像装置が自動的に推定または検出する場合がある。ユーザが明示的に指定する場合、その指定値（例えば色温度）を光源の種類として使用すればよい。
【００３４】
撮像装置が光源の種類を自動的に推定または検出する場合、撮像装置が備える光源検出用センサによって光源情報（例えば色温度）を取得する方法と、撮影した画像から光源を推定する場合がある。
【００３５】
光源の推定方法の一例を挙げれば次の方法がある。フラッシュを発光したか否かによって処理を変え、撮影EV値を使った評価関数に基づき光源を推定する方法（例えば特開2000-224608公報）。撮影画像のブロックごとの代表値が色差平面内のどこに位置するかによって光源を推定する方法（特開平8-289314号公報）。撮影した画像のブロックごとの色温度が、どの光源の色温度検出領域に一致するか判断して光源を推定する方法（特開平7-245764号公報）。本実施例において、これら様々な方法のどれを用いるか、あるいは、それら方法をどのように組み合わせるかは、任意である。
【００３６】
本実施例において、ホワイトバランス調整用にマニュアル設定できる光源の種類は、例えば、晴天、日陰、昼白色蛍光灯、タングステン電球の四種類とする。また、ホワイトバランスがオートに設定されている場合、光源判断部305は光源を推定するが、推定する光源は次の九種類の何れかとする。フラッシュ、晴天、日陰、タングステン電球、昼光色蛍光灯（D：5700〜7100K）、昼白色蛍光灯（N：4600〜5400K）、白色蛍光灯（W：3900〜4500K）、温白色蛍光灯（WW：3200〜3700K）、その他。なお、D、N、W、WWは蛍光灯の光色を表すJIS記号である。
【００３７】
［回復フィルタ］
光源判断部305が推定する「その他」を除く八種類の光源について、それぞれ適切な回復フィルタを用意することができる。しかし、光源判断部305の推定が必ずしも正しいとは言えない。説明を簡単にするために、撮影画像のRGBそれぞれの積算値から、比率R/GとB/Gを計算し、当該比率を光源推定用のマップに当て嵌めて光源を推定する場合を考える。
【００３８】
図4は光源推定用マップを示す図である。
【００３９】
領域401は光源を「日陰」と推定する領域である。また、領域402は「昼光色蛍光灯D」、領域403は「晴天」、領域404は「昼白色蛍光灯N」、領域405は「白色蛍光灯W」、領域406は「温白色蛍光灯WW」、領域407は「タングステン電球」に対応する。図4に示すように、日陰401、昼光色蛍光灯(D)402、晴天403の一部領域は重なっていて、日陰401における撮影にもかかわらず、光源は昼光色蛍光灯(D)402または晴天403と推定される可能性がある。日陰401の点像分布関数（point spread function: PSF）と、昼光色蛍光灯(D)402や晴天403のPSFは異なる。従って、光源に最適なフィルタを用意すれば、光源の推定が外れた場合、回復処理後の画像に色付きやリンギングが発生する。
【００４０】
そこで、フィルタメモリ306は、以下の三種類の回復フィルタを記憶する。
(1) 光源に最適な回復フィルタ：手動で設定された光源用、並びに、光源の推定結果が他の光源である可能性が低い光源用（本実施例の場合はフラッシュ用、昼白色蛍光灯N用、白色蛍光灯W用）。
(2) 推定が曖昧な光源用：複数の光源のうちどの光源かが曖昧な光源用、可能性がある光源に対してロバストな回復フィルタ。本実施例の場合、三光源（日陰、昼光色蛍光灯D、晴天）に共通のフィルタ、並びに、二光源（温白色蛍光灯WW、タングステン電球）に共通のフィルタ。
(3) 推定不能な光源用：「その他」に対応する推定されなかった光源用。本実施例の場合、曇天、標準光A、標準光B、標準光C、D55、D65、D75、D50などの光源用のフィルタを用意する。
【００４１】
なお、上記では、比率R/G、B/Gから光源を推定する例を挙げたが、他にも様々な光源の推定方法を利用可能である。しかし、それら光源の推定方法の曖昧程度は、予め知られているので、その情報に基づき、上記の三種類のフィルタを容易すればよい。
【００４２】
［ロバストな回復フィルタの作成］
推定が曖昧な複数の光源用に共通の回復フィルタのMTF R(u, v)は、それらの光源から得られるMTF P(u, v)の平均値をA(u, v)、分散値をS(u, v)とすると、下式のように表される。
R(u, v) ={1/A(u, v)}×A(u, v)2/{A(u, v)2 + |S(u, v)| + c}       …(6)
ここで、定数cは非常に小さい値。
【００４３】
つまり、推定が曖昧な複数の光源のMTFの分散が小さいと、回復フィルタR(u, v)は、平均値A(u, v)の逆フィルタに近付く。一方、MTFの分散が大きいと式(6)の分母が大きくなり、回復フィルタR(u, v)の値は小さくなって回復処理の強度が小さくなる。このような方法で回復フィルタを作成すれば、光源の違いに対する回復フィルタの敏感度が小さくなり、ロバスト性が向上する。
【００４４】
図5は上記の方法で作成したロバストな回復フィルタの特性（MTFの逆数）を示す図で、図1Aに示す光源1と2に対するロバストな回復フィルタの特性を示している。光源1と2の差が大きい（分散が大きい）周波数域におけるロバストな回復フィルタのMTFは、両者の平均よりもやや小さく設定される。従って、光源1下で撮影された画像に対しては補正の強度が弱く、光源2下で撮影された画像に対しては補正の強度がやや強くなるが、過補正の度合いは小さい。
【００４５】
例えば、温白色蛍光灯WWとタングステン電球の二つの光源に対して共通の回復フィルタを作成する場合、それら二つの光源のMTFから算出される平均値と分散値を式(6)に当て嵌めればよい。また、日陰、昼光色蛍光灯D、晴天の三つの光源に対して共通の回復フィルタを作成する場合、それら三つの光源のMTFから算出される平均値と分散値を式(6)に当て嵌めればよい。
【００４６】
また、推定不能な光源用の回復フィルタ（以下、汎用回復フィルタ）も上記と同様の考え方で作成すればよい。つまり、光源判断部305が「その他」と判断する光源である曇天、標準光A、B、C、D55、D65、D75、D50などの光源のMTFを予め計測し、これらMTFから算出される平均値と分散値を式(6)に当て嵌めて回復フィルタを作成する。なお、この回復フィルタを作成する際に利用する光源は多様性があることが望ましい。
【００４７】
このように、フィルタメモリ306が格納する回復フィルタは、光源の違いにより、次の十種類があるとする。
・光源最適化フィルタ：フラッシュ用、
晴天用、
曇天用、
昼白色蛍光灯D用、
タングステン電球用、
昼白色蛍光灯N用、
白色蛍光灯W用、
・光源共通化フィルタ：日陰、昼光色蛍光灯D、晴天に共用、
温白色蛍光灯WW、タングステン電球に共用、
・汎用回復フィルタ
【００４８】
また、レンズ301の種類により光源のMTFも変化する。従って、レンズ301が交換可能な場合、レンズ301のROMに上記の回復フィルタを格納し、当該ROMを参照するか、当該ROMからフィルタメモリ306に回復フィルタをアップロードする。
【００４９】
［画像処理部］
図6は画像処理部307が実行する回復処理を説明するフローチャートである。
【００５０】
画像処理部307は、バッファメモリ304から撮像データを取得し、取得した撮像データに必要な処理を施す(S501)。必要な処理には、デモザイキングや、デモザイキングに先立つ撮像デバイス302の欠陥を補償するような処理が含まれる。
【００５１】
次に、画像処理部307は、撮像装置の図示しないコントローラやレンズ301からレンズ301の種類を示す情報（以下、レンズ情報）Ltを取得する(S502)。さらに、光源判断部305が推定した光源の種類を示す情報（以下、光源情報）Lsを取得する(S503)。なお、コンパクトディジタルカメラのようにレンズの種類が固定されている場合は、レンズ情報Ltの取得は不要である。
【００５２】
次に、画像処理部307は、光源情報Lsが「その他」を示すか否かを判定する(S504)。言い換えれば、特定の光源が推定されたか否かを判定する。光源情報Lsが「その他」を示す場合、フィルタメモリ306からレンズ情報Ltに対応する汎用回復フィルタを回復フィルタFとして取得する(S505)。
【００５３】
また、光源情報Lsが特定の光源を示す場合、画像処理部307は、取得した光源情報Lsが「マニュアル設定」を示すか否かの判定(S506)、光源情報Lsが推定が曖昧な光源を示すか否かの判定(S507)を行う。そして、光源情報Lsが「マニュアル設定」または推定が曖昧ではない光源を示す場合は、フィルタメモリ306からレンズ情報Ltおよび光源情報Lsが示す光源に対応する光源最適化フィルタを回復フィルタFとして取得する(S508)。また、光源情報Lsが「マニュアル設定」を示さず、かつ、推定が曖昧な光源を示す場合は、フィルタメモリ306からレンズ情報Ltおよび光源情報Lsが示す光源に対応する光源共通化フィルタを回復フィルタFとして取得する(S509)。
【００５４】
そして、画像処理部307は、デモザイキング後の画像データに、取得した回復フィルタFによる回復処理を施し、回復処理後の画像データを出力する(S510)。
【００５５】
このように、上述した光源最適化フィルタ、光源共通化フィルタ、汎用回復フィルタを用意し、マニュアル設定された光源、または、推定された光源に応じて回復フィルタを選択的に利用して回復処理を行うことで、良好な回復処理結果を得ることができる。また、推定が曖昧な光源や推定不能な光源に対して、複数の光源のMTFの平均値および分散値から作成した回復フィルタを用意する。従って、光源に最適なフィルタを用いる場合よりも回復の度合いは低下する（暈けの低減度合いが小さい）が、過度な回復処理を抑えて、画像劣化の発生を防ぐことができる。
【実施例２】
【００５６】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００５７】
実施例1では、光源の推定の曖昧さ（推定精度）に応じた二段階の回復フィルタ（光源最適化回復フィルタと光源共通化フィルタ）を用意する例を説明した。しかし、推定精度が高い光源においても、その分光特性は必ずしも一定とは限らない。
【００５８】
図7は昼白色蛍光灯Nの分光特性の一例を示す図である。同じ規格の蛍光灯でも、図7に示すように、製造者によって分光特性が異なる。従って、光源の推定結果が昼白色蛍光灯Nだとしても、分光特性が全く異なる場合がある。例えば、図7に示す蛍光灯1の分光特性を前提にするPSFから回復フィルタを作成しても、昼白色蛍光灯Nと推定された光源の分光特性が、図7に示す蛍光灯2、3、4など特性を示せば、当然、良好な回復結果は得られない。従って、推定精度が高い光源に対しても、ロバスト性が高い回復フィルタを作成した方がよい場合がある。
【００５９】
例えば、図7に示す蛍光灯1〜4の四種類の光源のMTFの平均値と分散値を式(6)に当て嵌めて得られる回復フィルタを、昼白色蛍光灯N用の光源最適化フィルタとして、フィルタメモリ306に格納する。
【実施例３】
【００６０】
以下、本発明にかかる実施例3の画像処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００６１】
実施例1、2では、撮像装置の画像処理部307において回復処理を行う例を説明した。しかし、撮像装置は回復処理を行わず、撮影された画像データ（または撮像データ）のデータファイルを取得し、例えばパーソナルコンピュータ(PC)上で稼働するソフトウェアにより回復処理を行うことも可能である。
【００６２】
図8Aはソフトウェアが保持するフィルタテーブルの一例を示す図である。回復処理を行うソフトウェアは、カメラの機種と、撮影レンズの種類の組み合わせについて、図8に示すようなフィルタリスト番号をテーブルとして保持する。
【００６３】
図8Bはフィルタリスト番号1Aに対応する回復フィルタのテーブルを示す図である。つまり、回復処理を行うソフトウェアは、光源の種類ごとに予め算出した回復フィルタのフィルタサイズと係数を保持する。
【００６４】
以下では、Exif形式の画像データファイルに回復処理前の画像データが保存されている場合を説明する。
【００６５】
図9はソフトウェアによる回復処理を説明するフローチャートである。
【００６６】
まず、回復処理対象の画像データのデータファイルを読み込み(S701)、画像データのフォーマットを取得する(S702)。
【００６７】
Exif形式において、画像データはJPEG圧縮、非圧縮RGB、非圧縮YCbCrの何れかのフォーマットでデータファイルに格納されている。先頭データが0xffd8の場合はJPEG圧縮、0x4949または0x4d4dの場合はTIFFフォーマットであり非圧縮である。非圧縮の場合は、さらに、YCbCrサブサンプリングタグ(0x212)が、画像データの構成に関するタグを含む0th IFDにあるか否かを調べる。YCbCrサブサンプリングタグがなければ、RGB非圧縮と判定する。また、YCbCrサブサンプリングタグがあり、その値が[2, 1]であればYCbCr 4:2:2、[2, 2]であればYCbCr 4:2:0と判定する。
【００６８】
次に、画像データが圧縮か非圧縮かを判定し(S703)、圧縮されている場合（つまりJPEG圧縮）の場合は回復処理の効果が期待できないとして回復処理を終了する。
【００６９】
画像データが非圧縮の場合は、データファイルから画像データを取得する(S704)。0th IFDのストライプオフセットタグ(0x111)に記述されたオフセットから始まる画像データを取得する。なお、フォーマットがYCbCrの場合は、画像データを取得した後、RGBデータに変換する。
【００７０】
次に、カメラの機種情報Ct、撮影レンズの種類情報Ltを取得する(S705)。Exif形式の場合、0th IFDのモデルタグ(0x110)にカメラのモデル番号が記述されている。コンパクトカメラなどはモデル名から撮影レンズが必然的に決定される。しかし、一眼レフなど撮影レンズが交換可能なカメラの場合は撮影レンズを特定することができないから、撮影レンズの種類情報Ltを取得する必要がある。撮影レンズの種類に関する記述をExifは規定せず、メーカ独自の情報が記述されるメーカノートタグ(0x927C)などを参照して、撮影レンズの種類情報Ltを取得する。
【００７１】
次に、Exif IFDに光源の種類を示すライトソースタグ(0x9208)が記述されているか否かを判定し(S706)、ライトソースタグがあれば当該タグから光源情報Lsを取得する(S707)。なお、ライトソースタグ(37384)の値として、以下の21種類（「その他の光源」を含む）が定義されている。
不明、
昼光、
蛍光灯、
タングステン（白熱灯）、
フラッシュ、
晴天、
曇天、
日陰、
昼光色蛍光灯D、
昼白色蛍光灯N、
白色蛍光灯W、
温白色蛍光灯WW、
標準光A、
標準光B、
標準光C、
D55、
D65、
D75、
D50、
ISO studio tungsten、
その他
【００７２】
また、ライトソースタグがない場合は、Exif IFDに撮影時のストロボの状態を示すフラッシュタグ(0x9209)が記述されているか否かを判定し(S708)、フラッシュタグがあれば、撮影時にストロボが発光したか否かを判定する(S709)。なお、撮影時のストロボ発光の有無はフラッシュタグの最下位ビット(LSB)の値から判定することができ、LSB=‘0’はストロボ未発光を、LSB=‘1’はストロボ発光をそれぞれ表す。撮影時にストロボ発光した場合は、光源情報Lsに「フラッシュ」を設定する(S710)。
【００７３】
ライトソースタグから光源情報Lsを取得した場合、または、光源情報Lsに「フラッシュ」を設定した場合は、カメラの機種情報Ctとレンズの種類情報Ltの組み合わせに対応する回復フィルタが取得可能か否かを判定する(S711)。つまり、図8Aに示すテーブルを参照して、カメラの機種情報Ctとレンズの種類情報Ltの組み合わせに対応する回復フィルタを保持しているか否かを調べる。そして、カメラの機種情報Ctとレンズの種類情報Ltの組み合わせに対応する回復フィルタを保持する場合は、図8Bに示すテーブルを参照して、光源情報Lsに対応する回復フィルタを保持、つまり取得可能か否かを判定する(S712)。光源情報Lsに対応する回復フィルタが取得可能であれば当該フィルタを回復フィルタFとして取得する(S713)。
【００７４】
他方、フラッシュタグがないと判定した場合(S708)、ストロボ未発光と判定した場合(S709)、回復フィルタが取得不可能と判定した場合（S711またはＳ712）、汎用回復フィルタを回復フィルタFとして取得する(S714)。
【００７５】
そして、回復フィルタFによる回復処理を画像データに施し、回復処理後の画像データを出力する(S715)。
【００７６】
撮像装置のフィルタメモリ306に、多種類の撮影レンズや光源に対応する回復フィルタを保存すれば大きな記憶容量を必要とする。本実施例のように、撮影後、PC上で稼働するソフトウェアによって回復処理を行えば、記憶容量の大きな記憶装置の利用や、ネットワーク経由の回復フィルタのダウンロードが容易になり、多種類の撮影レンズや光源に対応する回復フィルタの利用が可能になる。
【００７７】
上記では、回復前の画像データが保存されるファイル形式としてExif形式を例に挙げが、撮影時の情報を含むファイル形式であれば、各社の独自形式であるRAWデータフォーマットなど、その他の形式のファイルでもよい。
【００７８】
また、Exif形式を想定すると画像の圧縮方式はロッシーのJPEGである。ロッシー圧縮であるJPEG圧縮は、データ圧縮により画像の劣化が生じ、回復処理による効果が少ないため回復処理を行わないと説明した。しかし、非圧縮時と同様に回復処理を行ってもよい。また、Exif形式以外では、ロスレス圧縮（例えばJPEG2000やPNGなど）のフォーマットで画像が圧縮されていることも想定される。ロスレス圧縮の場合、回復処理の効果が大いに期待できるため、圧縮方式がロスレス圧縮か否かを判定して、ロスレス圧縮の場合は回復処理を行うようにしてもよい。
【実施例４】
【００７９】
以下、本発明にかかる実施例4の画像処理を説明する。なお、実施例4において、実施例1〜3と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００８０】
実施例1〜3では、撮影時の光源の種類に応じた回復フィルタを回復処理に適用した。しかし、PSFは、光源の種類だけではなく、撮影時のその他の撮影条件、例えばズームや被写体位置によっても変化する。さらに、像高によってもPSFが変化することがわかっている。そこで、撮影情報として、光源の種類に加え、ズームや被写体位置、絞り、さらに画面内における像高を考慮して回復フィルタを設定し回復処理を行うことが望ましい。
【００８１】
その場合、図6に示す処理のステップS502（レンズ情報Ltの取得）において、撮影情報であるズーム、被写体位置、絞り（F値）を取得する。そして、ステップS505、S508、S509（回復フィルタFの取得）において、光源情報Ls、レンズ情報Lt、ズーム、被写体位置、絞りに応じた回復フィルタ群Fgを選択的に取得する。
【００８２】
回復フィルタ群Fgは、像高に応じた複数の回復フィルタを含む。従って、ステップS510（回復フィルタによる回復処理）において、画素の像高に応じた回復フィルタFを回復フィルタ群Fgから選択的に取得して、当該画素の回復処理を行えばよい。
【００８３】
また、実施例3のように、データファイルに格納された画像データに回復処理を施す場合は、Exifデータからズーム、被写体位置、絞りを示す情報を取得すればよい。
【００８４】
このうように、光源の種類だけではなく、ズーム、被写体位置、絞り、像高を考慮した回復処理を行えば、回復フィルタを保持する記憶容量は大きくなるが、光源の種類だけを考慮する場合に比べて、より良好な回復結果を得ることができる。
【００８５】
［変形例］
上記では、Wienerフィルタを用いる場合を説明したが、逆フィルタであっても同様の効果が得られる。
【００８６】
本発明の目的は、次のようにしても達成される。上記実施例の機能または先に説明したフローチャートを実現するコンピュータプログラムを記録した記録媒体または記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）に前記コンピュータプログラムを実行させる。この場合、記録媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記録媒体は本発明を構成する。
【図１Ａ】
2010271951.tif 000003
【図１Ｂ】
2010271951.tif 000004
【図１Ｃ】
2010271951.tif 000005
【図３】
2010271951.tif 000006
【図４】
2010271951.tif 000007
【図５】
2010271951.tif 000008
【図６】
2010271951.tif 000009
【図７】
2010271951.tif 000010
【図８Ａ】
2010271951.tif 000011
【図８Ｂ】
2010271951.tif 000012
【図９】
2010271951.tif 000013
【図２】
2010271951.tif 000014