(57)【特許請求の範囲】
【請求項１】
光学系を介した撮像により生成された入力画像を取得する取得手段と、
前記入力画像が生成された際の前記光学系の撮像条件に対応する前記光学系の点像強度分布関数の情報に基づいて生成されたフィルタを用いて前記入力画像に対するアンシャープマスク処理を行う処理手段とを有し、
前記フィルタは、前記アンシャープマスク処理に用いるアンシャープマスクに基づいて生成されるフィルタであって、該フィルタを前記入力画像に対して畳み込み演算する際の前記入力画像の注目画素に対応するフィルタ係数に対して回転非対称なフィルタ係数を有する２次元データであり、
前記アンシャープマスクのピーク位置または重心位置が、前記フィルタのうち前記注目画素に対応するフィルタ係数の位置と一致することを特徴とする画像処理装置。 
【請求項２】
前記フィルタのうち前記注目画素に対応するフィルタ係数は正の値を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記フィルタにおいて、前記アンシャープマスクのピーク位置または重心位置が前記フィルタの中心位置に一致することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記入力画像に対するアンシャープマスク処理を行う処理手段は、
前記入力画像に対して前記アンシャープマスクを畳み込むことによりアンシャープ画像を生成し、
前記入力画像と前記アンシャープ画像との差分を用いて生成した補正データを前記入力画像に対して加算して鮮鋭化画像を生成することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記光学系の点像強度分布関数と理想点像との差分を用いて前記フィルタを生成し、
前記入力画像に対するアンシャープマスク処理を行う処理手段は、
前記入力画像に対して前記フィルタを畳み込むことにより補正データを生成し、
前記補正データを前記入力画像に対して加算して鮮鋭化画像を生成することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項６】
前記光学系の点像強度分布関数と理想点像との差分に対して前記光学系を介した撮像により生成された入力画像の位置に応じた調整係数により調整し前記理想点像に加算して前記フィルタを生成し、
前記入力画像に対するアンシャープマスク処理を行う処理手段は、
前記入力画像に対して前記フィルタを畳み込むことにより鮮鋭化画像を生成することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項７】
光学系を通して撮像を行う撮像手段と、
該撮像手段により取得された前記入力画像に対して補正処理を行う請求項１から６のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項８】
光学系を介した撮像により生成された入力画像を取得し、
前記入力画像が生成された際の前記光学系の撮像条件に対応する前記光学系の点像強度分布関数の情報に基づいて生成されたフィルタを用いて前記入力画像に対するアンシャープマスク処理を行う画像処理方法であって、
前記フィルタは、前記アンシャープマスク処理に用いるアンシャープマスクに基づいて生成されるフィルタであって、該フィルタを前記入力画像に対して畳み込み演算する際の前記入力画像の注目画素に対応するフィルタ係数に対して回転非対称なフィルタ係数を有する２次元データであり、
前記アンシャープマスクのピーク位置または重心位置が、前記フィルタのうち前記注目画素に対応するフィルタ係数の位置と一致することを特徴とする画像処理方法。
【請求項９】
コンピュータに、光学系を介した撮像により生成された入力画像に対する画像処理を実行させるコンピュータプログラムであって、
前記画像処理は、
前記入力画像を取得するステップと、
前記入力画像が生成された際の前記光学系の撮像条件に対応する前記光学系の点像強度分布関数の情報に基づいて生成されたフィルタを用いて前記入力画像に対するアンシャープマスク処理を行うステップとを含み、 
前記フィルタは、前記アンシャープマスク処理に用いるアンシャープマスクに基づいて生成されるフィルタであって、該フィルタを前記入力画像に対して畳み込み演算する際の前記入力画像の注目画素に対応するフィルタ係数に対して回転非対称なフィルタ係数を有する２次元データであり、
前記アンシャープマスクのピーク位置または重心位置が、前記フィルタのうち前記注目画素に対応するフィルタ係数の位置と一致することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラ等の撮像装置により生成された画像に対して鮮鋭化のための処理を行う画像処理技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置による撮像により生成された画像（入力画像）の鮮鋭度を向上させるための処理として、アンシャープマスク処理（鮮鋭化処理）が知られている。アンシャープマスク処理は、入力画像に対してアンシャープマスクを適用することでぼかした画像と元の入力画像との差分をとり、この差分のデータを入力画像に対して加算することで鮮鋭化を実現する。アンシャープマスクには平滑化フィルタ等の画像をぼかすためのフィルタが使用され、ぼかされた画像と入力画像との差分が大きい画像領域ほどより鮮鋭化される。
【０００３】
また、特許文献１には、像高方向（メリジオナル方向）に並んだ画素信号列に対して非対称な１次元フィルタを適用することで、光学系の点像強度分布関数（point spread function：ＰＳＦ）の影響による偽色や不要な色付きを補正する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−８１２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のアンシャープマスク処理では、アンシャープマスクとして回転対称なフィルタを用いている。このため、非対称収差やサジタルハロのような複雑な形状のＰＳＦの影響を受けて劣化した入力画像に対しては正しく鮮鋭化することができない。正しく鮮鋭化することができないとは、収差が大きく発生しているアジムス方向の収差を補正しようとすると収差が小さいアジムス方向ではアンダーシュートが発生し、逆にアンダーシュートを抑制すると収差を十分に補正できないという意味である。
【０００６】
また、特許文献１にて開示された方法では、ＰＳＦの非対称性や像高に対する変化については考慮されているものの、ＰＳＦの像高方向での非対称性しか考慮されていない。このため、該方法にて用いられる補正フィルタも１次元フィルタである。しかし、これでは像高方向以外の方向での非対称性については改善することができない。さらに、特許文献１にて開示された方法では、フィルタに関してもマイナスタップ係数の個数で該フィルタの非対称性を調整している。しかし、これでは像高方向についても、実際の非対称性が光学系のＰＳＦによるぼけ方とは異なる場合には、十分に鮮鋭化することができない。
【０００７】
さらに、回転対称なフィルタでは、該フィルタの中心位置と該フィルタの係数の重心位置やピーク位置が互いに一致する。しかし、回転非対称なフィルタではこれらが一致するとは限らず、これらの関係が適正な関係から外れることで、鮮鋭化の効果が低減したり弊害が発生したりする。
【０００８】
本発明は、非対称なＰＳＦに対して適切な調整がなされたフィルタを用いて精度の高い鮮鋭化処理を行えるようにした画像処理装置および画像処理方法等を提供する。
【課題を解決するための手段】
【０００９】
本発明の一側面としての画像処理装置は、光学系を介した撮像により生成された入力画像を取得する取得手段と、入力画像が生成された際の光学系の撮像条件に対応する該光学系の点像強度分布関数の情報に基づいて生成されたフィルタを用いて入力画像に対するアンシャープマスク処理を行う処理手段とを有する。フィルタは、アンシャープマスク処理に用いるアンシャープマスクに基づいて生成されるフィルタであって、該フィルタを入力画像に対して畳み込み演算する際の入力画像の注目画素に対応するフィルタ係数に対して回転非対称なフィルタ係数を有する２次元データであり、アンシャープマスクのピーク位置または重心位置が、フィルタのうち上記注目画素に対応するフィルタ係数の位置と一致することを特徴とする。
【００１０】
なお、上記画像処理装置を含む撮像装置も、本発明の他の一側面を構成する。
【００１１】
また、本発明の他の一側面としての画像処理方法は、光学系を介した撮像により生成された入力画像を取得し、入力画像が生成された際の光学系の撮像条件に対応する光学系の点像強度分布関数の情報に基づいて生成されたフィルタを用いて入力画像に対するアンシャープマスク処理を行う。該画像処理方法において、フィルタは、アンシャープマスク処理に用いるアンシャープマスクに基づいて生成されるフィルタであって、該フィルタを入力画像に対して畳み込み演算する際の入力画像の注目画素に対応するフィルタ係数に対して回転非対称なフィルタ係数を有する２次元データであり、アンシャープマスクのピーク位置または重心位置が、フィルタのうち上記注目画素に対応するフィルタ係数の位置と一致することを特徴とする。
【００１２】
なお、上記画像処理方法をコンピュータに行わせる画像処理プログラムも、本発明の他の一側面を構成する。
【発明の効果】
【００１３】
本発明によれば、光学系の非対称な点像強度分布関数に対して適切な調整がなされたフィルタを用いて精度の高い鮮鋭化処理を行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例１である撮像装置の構成を示すブロック図。
【図２】実施例１にて行われる画像処理を示すフローチャート。
【図３】実施例１にて行われるアンシャープマスク処理（鮮鋭化処理）を示す図。
【図４】実施例１の撮像装置における撮像光学系のＰＳＦを示す図。
【図５】回転対称なアンシャープマスクを用いたアンシャープマスク処理と非回転対称なアンシャープマスクを用いたアンシャープマスク処理を示す図。
【図６】実施例１で用いられるアンシャープマスクを示す図。
【図７】実施例１にて行われる画像処理の詳細を示すフローチャート。
【図８】ベイヤー配列を示す図。
【図９】実施例１における入力画像の分割方法と像高方向の補間方法を示す図。
【図１０】実施例１において行われる画像処理の詳細を示す別のフローチャート。
【図１１】実施例１において行われる画像処理の詳細を示す他のフローチャート。
【図１２】本発明の実施例２において行われる画像処理の詳細を示すフローチャート。
【図１３】本発明の実施例３において行われる画像処理の詳細を示すフローチャート。
【図１４】ＰＳＦの重心位置と鮮鋭化効果の関係を示す図。
【図１５】ＰＳＦの重心位置の調整処理を示すフローチャート。
【図１６】光学系の瞳関数を示す図。
【図１７】ＰＳＦの断面図。
【図１８】ＰＳＦの重心位置の調整処理を示すフローチャート。
【図１９】ＰＳＦの重心位置と鮮鋭化効果の関係を示す図。
【図２０】実施例１における詳細な画像処理を示すさらに別のフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例について図面を参照しながら説明する。
【００１６】
はじめに、後述する具体的な実施例において行う鮮鋭化処理としてのアンシャープマスク処理について図３を用いて説明する。図３（Ａ）中の実線は、撮像光学系（以下、単に光学系という）を通した撮像により生成された撮影画像（入力画像）を示し、破線は撮影画像をアンシャープマスクによりぼかした画像（アンシャープ画像）を示す。また、点線は鮮鋭化後の画像（鮮鋭化画像）を示す。また、図３（Ｂ）中の実線は、撮影画像とアンシャープ画像との差分である補正成分（補正信号ともいう）を示している。
【００１７】
ここで、撮影画像をｆ（ｘ，ｙ）とし、補正成分をｈ（ｘ，ｙ）とすると、鮮鋭化画像ｇ（ｘ，ｙ）は次式（１）で表すことができる。
ｇ（ｘ，ｙ）＝ｆ（ｘ，ｙ）＋ｍ×ｈ（ｘ，ｙ）  ・・・（１）
式（１）において、ｍは補正の強さを変化させるための調整係数であり、調整係数ｍの値を変化させることにより補正量を調整することができる。なお、ｍは撮影画像の位置によらず一定の定数であってもよいし、撮影画像の位置に応じて異ならせることにより撮影画像の位置に応じて補正量を調整してもよい。また、調整係数ｍは、光学系の焦点距離や絞り値や被写体距離といった撮像条件に応じて異ならせることもできる。
また、補正成分ｈ（ｘ，ｙ）は、アンシャープマスクをＵＳＭとすると、
ｈ（ｘ，ｙ）＝ｆ（ｘ，ｙ）−ｆ（ｘ，ｙ）＊ＵＳＭ（ｘ，ｙ）    ・・・（２）
または、式（２）の右辺を変形して、
ｈ（ｘ，ｙ）＝ｆ（ｘ，ｙ）＊（δ（ｘ，ｙ）−ＵＳＭ（ｘ，ｙ））  ・・・（３）
と表せる。＊は畳み込み積分（コンボリューション、積和）を表し、δはデルタ関数（理想点像）を表す。デルタ関数とは、ＵＳＭ（ｘ，ｙ）とタップ数が等しく、中心タップの値（フィルタ係数）が１で、それ以外のタップの値がすべて０であるデータである。なお、式（３）においてはｆ（ｘ，ｙ）に対して（δ（ｘ，ｙ）−ＵＳＭ（ｘ，ｙ））を畳み込むことによりｈ（ｘ，ｙ）を算出している。ただし、（δ（ｘ，ｙ）−ＵＳＭ（ｘ，ｙ））を畳み込む際の撮影画像の注目画素（ｘ，ｙ）と、δ（ｘ，ｙ）のタップの値が１になる位置とが一致していればよく、中心タップの値が１でなくてもよい。
【００１８】
式（３）は、式（２）とは処理としての演算方法が異なるが、式（２）を変形することで式（３）を表現できるため、式（２）と式（３）は等価な処理といえる。ここでは、式（２）を用いて補正成分の生成について説明する。
【００１９】
式（２）では、撮影画像ｆ（ｘ，ｙ）と撮影画像ｆ（ｘ，ｙ）をアンシャープマスクＵＳＭでぼかしたアンシャープ画像との差分をとることで補正成分ｈ（ｘ，ｙ）を生成している。
【００２０】
一般的なアンシャープマスク処理では、アンシャープマスクＵＳＭにガウシアンフィルタ、メディアンフィルタおよび移動平均フィルタ等の平滑化フィルタが使用される。例えば、図３（Ａ）中の実線で表せるような撮影画像ｆ（ｘ，ｙ）に対して、アンシャープマスクＵＳＭとしてガウシアンフィルタを使用した場合には、撮影画像ｆ（ｘ，ｙ）をぼかしたアンシャープ画像は図３（Ａ）中の点線で示すようになる。このとき、補正成分ｈ（ｘ，ｙ）は、式（２）に示すように、撮影画像ｆ（ｘ，ｙ）とアンシャープ画像との差分となるため、図３（Ａ）中の実線から同図中の破線を減算することで図３（Ｂ）中の実線で表される補正成分を得ることができる。このように算出された補正成分を用いて式（１）の演算を行うことで、図３（Ａ）中に実線で示す撮影画像ｆ（ｘ，ｙ）を図３（Ａ）中に点線で示すように鮮鋭化することができる。
【００２１】
次に、光学系を通した撮像により劣化した撮影画像に対して、アンシャープマスクＵＳＭとして該光学系の点像強度分布関数（以下、ＰＳＦという）を用いるアンシャープマスク処理（補正処理）を行うことにより鮮鋭化画像を得る方法について説明する。
【００２２】
光学系を介して得られた撮影画像ｆ（ｘ，ｙ）は、撮像前の画像（被写体の像）をＩ（ｘ，ｙ）とし、光学系のＰＳＦをｐｓｆ（ｘ，ｙ）とするとき、
ｆ（ｘ，ｙ）＝Ｉ（ｘ，ｙ）＊ｐｓｆ（ｘ，ｙ）    ・・・（４）
と表すことができる。
【００２３】
ここで、光学系が回転対称な共軸光学系であれば、撮影画像の中心部に対応するＰＳＦは回転対称となる。このため、撮影画像の中心部については回転対称なアンシャープマスクＵＳＭを適用することで撮影画像ｆ（ｘ，ｙ）を元の画像Ｉ（ｘ，ｙ）に近づけるような鮮鋭化処理を実現することができる。このときの補正量は、撮影画像とアンシャープ画像との差分値となるため、より精度良く補正するためには、アンシャープマスクＵＳＭとして単純な平滑化フィルタを使用するのではなく、よりｐｓｆ（ｘ，ｙ）に近い形状のマスクを使用した方がよい。例えば球面収差により画像が劣化した場合は、球面収差をマスクとして用いると、回転対称に影響を与えるが、ガウシアンフィルタ等の平滑化フィルタのように球面収差によるＰＳＦとは分布形状が異なるマスクを用いる場合に比べて精度良く補正を行えるためである。このように、回転対称な劣化（ぼけ）を低減する場合であっても、光学系のＰＳＦをアンシャープマスクＵＳＭとして使用する方が精度良く補正を行うことができる。
【００２４】
このため、後述する実施例１では、アンシャープマスクＵＳＭとしてＰＳＦを用いる。なお、アンシャープマスク処理の説明の際に用いた図３（Ａ）では、撮影画像ｆ（ｘ，ｙ）は対称な形状を有するが、必ずしも対称形状を有さなくてもよい。元の画像Ｉ（ｘ，ｙ）の形状が回転非対称であっても、ｐｓｆ（ｘ，ｙ）に相当する劣化関数が回転対称であれば、回転対称なアンシャープマスクＵＳＭを用いた鮮鋭化を行うことができる。
【００２５】
一方、画像の中心部以外の位置については光学系が回転対称な共軸光学系であっても、ＰＳＦは通常は回転非対称な形状となる。図４には、ｘｙ面における光学系のＰＳＦを示しており、図４（Ａ）は軸上のＰＳＦを、図４（Ｂ）は軸外のＰＳＦをそれぞれ示している。例えば、元の画像（被写体）が理想点像であったとすると、上記式（４）から撮影画像ｆ（ｘ，ｙ）は、光学系のＰＳＦになる。図４（Ｂ）に対応する画角に理想点像があり、光学系のＰＳＦの影響を受けて元の画像（被写体）が劣化したとすれば、撮影画像として得られる画像は図４（Ｂ）の形状のようにぼけた画像となる。このように回転非対称にぼけた画像に対してアンシャープマスク処理による鮮鋭化を行う場合について、以下に説明する。
【００２６】
図５には回転非対称に劣化した画像に対するアンシャープマスク処理を示しており、図５（Ａ），（Ｂ）は回転対称なアンシャープマスクを用いた場合を、図５（Ｃ），（Ｄ）は回転非対称なアンシャープマスクを用いた場合をそれぞれ示している。図５（Ａ）および図５（Ｃ）中の実線は図４（Ｂ）に示したようにぼけた撮影画像のｙ軸方向の断面を表しており、点線はその撮影画像をアンシャープマスクによりぼかしたアンシャープ画像を表している。図５（Ａ）における回転対称なアンシャープマスクとしてはガウシアンフィルタを用いており、図５（Ｃ）における非回転対称なアンシャープマスクとしては光学系のＰＳＦを用いている。また、図５（Ｂ）および図５（Ｄ）はそれぞれ、ｙ軸方向におけるアンシャープ画像と元の撮影画像との差分、すなわち補正成分を示している。ここでは、図５（Ａ）および図５（Ｃ）に示す撮影画像のうちＰＳＦによってより大きくぼけて裾が広くなっている方をｙ軸方向におけるプラス側とする。
【００２７】
まず、図５（Ａ）に示す回転対称なアンシャープマスクを用いた場合は、同図中の実線のピーク位置に対してプラス側においてはぼけた画像と元の画像との差分が小さく、マイナス側においてはぼけた画像と元の画像の差分値が大きくなっている。このため、図５（Ｂ）に示す補正成分も、中心のピーク位置に対してプラス側よりマイナス側において極値が小さくなっている。図５（Ａ）と図５（Ｂ）に示した曲線の比較から分かるように、撮影画像のプラス側は補正成分の補正量が小さく、裾が狭いマイナス側は補正量が大きい。このため、図５（Ｂ）に示す補正成分では、式（４）による鮮鋭化を行っても回転非対称なぼけを補正することはできない。例えば、アンシャープマスクを変えずに補正量を調整する方法として、式（４）の調整係数ｍを変更する方法が考えられる。
【００２８】
しかし、撮影画像のプラス側を十分に補正するために調整係数ｍの値を大きくとろうとすると、撮影画像のマイナス側が補正過剰（アンダーシュート）となってしまう。逆に撮影画像のマイナス側の補正量が適切になるように調整係数ｍの値を設定すると、撮影画像のプラス側では十分な補正が行われずに補正不足となる。
【００２９】
このように、回転非対称にぼけた撮影画像に対して回転対称なアンシャープマスクを用いてアンシャープマスク処理を行っても、非対称性を改善して鮮鋭化することは困難である。また、ここでは回転対称なアンシャープマスクとしてガウシアンフィルタを用いた場合について説明したが、他の種類の回転対称なフィルタを用いた場合でも同様な傾向となり、回転非対称にぼけた撮影画像を十分に鮮鋭化することはできない。
【００３０】
一方、図５（Ｃ）に示す回転非対称なアンシャープマスクを用いた場合について説明する。この場合は、図５（Ｃ）中の実線のピーク位置に対してプラス側においてぼけた画像と元画像との差分が大きく、マイナス側においてぼけた画像と元の画像との差分が小さい。これは、図５（Ａ）とは逆である。このため、図５（Ｄ）に示す補正成分も、中心のピーク位置に対してマイナス側よりプラス側において極値が小さくなっている。図５（Ｃ）中の実線で示す撮影画像に対して図５（Ｄ）に示す補正成分を適用すれば、ピーク位置に対してプラス側のぼけが大きい方に対する補正量が大きくなり、マイナス側のぼけが小さい方に対する補正量が小さくなる。
【００３１】
したがって、このような回転非対称なアンシャープマスクを用いると、プラス側とマイナス側における撮影画像のぼけの大小と補正成分（補正量）の大小とが一致するため、回転対称なアンシャープマスクを用いる場合に問題となる補正の過不足も起きにくくなる。しかも、回転対称なアンシャープマスクを用いる場合と比べて、補正過剰になりにくくなるため、式（４）の調整係数ｍの値も比較的大きく設定することができる。このため、非対称性を低減しつつ、より鮮鋭化した画像を得ることができる。以上のことから、実施例においては、フィルタとして、そのフィルタ面内において撮影画像の注目画素に対応するフィルタ係数に対して回転非対称なフィルタ係数（タップ値）を有するものを用いる。
【００３２】
また、補正成分（補正量）の大小はぼけた画像と元の画像との差分により決まるため、より精度良く補正を行うためには、光学系のＰＳＦによってより大きくぼけた部分がアンシャープマスクによって他の部分に比べてよりぼかされる必要がある。このように、さらに精度に良く補正を行うには、アンシャープマスクとして光学系のＰＳＦを用いることが望ましい。
【００３３】
次に、アンシャープマスクの重心位置およびピーク位置とアンシャープマスク処理による鮮鋭化効果について説明する。以下の説明において、アンシャープマスク、すなわちフィルタの重心位置とは、そのフィルタの複数のタップのそれぞれに与えられた複数のフィルタ係数（タップ値）の重心位置である。また、フィルタの中心位置とは、該フィルタの中心タップの位置である。撮影画像（入力画像）における注目画素（以下、特定位置ともいう）に対応する光学系のＰＳＦを用いて生成されたフィルタは、該フィルタの中心位置を該特定位置に合わせて撮影画像に対して適用される。特定位置は、撮影画像の全画素のうち任意の１画素である。なお、特定位置とフィルタの中心位置が一致していなくても畳み込み演算後に畳み込まれた画像に対しシフト等の処理を行うことにより同様の処理を行うことができるため、必ずしも一致しなくてもよい。さらに、フィルタのピーク位置とは、複数のタップのうち最大のフィルタ係数が与えられたタップの位置である。
【００３４】
図１４は非対称に劣化した撮影画像に対するアンシャープマスク処理を示している。図１４（Ａ），（Ｂ）はアンシャープマスクとして用いたフィルタの重心位置を調整しなかった場合を示し、図１４（Ｃ），（Ｄ）はフィルタの重心位置の調整を行った場合を示している。図１４（Ａ）および図１４（Ｃ）中の実線は鮮鋭化後の物体像を、一点鎖線は理想状態（ぼけがない状態）の物体像を、点線は非対称に劣化した状態の物体像をそれぞれ表している。また、図１４（Ｂ）および図１４（Ｄ）の実線はアンシャープマスクとして用いたフィルタを、点線は図１４（Ａ）の一点鎖線で示す物体像を点線で示す劣化状態に劣化させた光学系のＰＳＦをそれぞれ表している。
【００３５】
図１４（Ｂ）のフィルタは重心位置の調整を行わずにそのままアンシャープマスクとして用いられるため、同図中の点線と実線が一致している。このように、重心位置の調整を行わないフィルタをそのままアンシャープマスクとして用いると、フィルタの中心位置とピーク位置と重心位置とのずれに起因した弊害が発生するおそれがある。図１４（Ａ）では、鮮鋭化後のピークは劣化画像に対して増加して改善はしているものの、周辺部においてアンダーシュートが生じており、これが弊害として確認できる。これは、一点鎖線で示す理想状態から点線で示す劣化状態に移行する過程で分布の重心位置が変化しており、点線で示す劣化状態から実線で示す鮮鋭化の過程であるアンシャープマスク処理においてこの重心位置の変化を補正する効果が影響していると推測できる。
【００３６】
一方、図１４（Ｃ）に示すように、重心位置を調整した図１４（Ｄ）のフィルタをアンシャープマスクとして用いて鮮鋭化を行うことで、図１４（Ａ）で見られたアンダーシュートのような弊害を抑制できている。図１４（Ｃ）においてアンシャープマスク処理による鮮鋭化前後の重心位置の変化を見てみると、一点鎖線で示す理想状態に近づくことなく、点線で示す劣化状態とほぼ重心位置を変えずに鮮鋭化されている。理想状態に近づけるには重心位置も補正する必要があるが、重心位置のみの補正は平行シフトであり、歪曲収差補正や倍率色収差補正のような幾何的な補正で除去することができる。したがって、実施例では位相のずれの補正をあえて行わずに図１４（Ｄ）に示すように重心位置を調整したフィルタを用いてアンシャープマスク処理を行うことで、アンダーシュート等の弊害を抑制しつつ補正精度の高い鮮鋭化処理を実現している。
【００３７】
このことから、実施例では、撮影画像（入力画像）のうち特定位置（注目画素）における光学系のＰＳＦに関する情報を用いてフィルタを生成する際に、以下のような重心位置の調整を行う。すなわち、光学系のＰＳＦに関する情報を用いて生成されたフィルタの各フィルタ係数の重心位置が、該フィルタのうち撮影画像の特定位置に対応するタップの位置に近くなるよう調整を行う。図１４（Ｄ）で言えば、フィルタの中心位置および撮影画像の特定位置は横軸で示すタップ５の位置である。これら中心位置および特定位置に対して、調整後のフィルタ係数の重心位置は、調整前のフィルタ係数の重心位置に比べてフィルタの中心位置に近い。
【００３８】
なお、フィルタの重心位置は、フィルタの中心位置に一致させてもよいし、後述するようにフィルタの中心位置に一致させないようにしてもよい。また、後述するように、フィルタの重心位置をピーク位置に置き変えてもよい。ここまでの説明では、フィルタの重心位置の調整に関して述べてきたが、フィルタのピーク位置に関して調整を行っても調整されていない場合と比べて、重心調整と同様に鮮鋭化処理による弊害を低減することができる。さらに、フィルタのピーク位置をフィルタの中心位置に設定する場合、フィルタ係数が最大となる位置を検出すればよく、フィルタ係数の重心位置を計算する必要がないためより処理を高速化および簡易化することができる。以下では、調整する対象をフィルタの重心位置とする場合を中心に説明するが、重心位置ではなくピーク位置としても同様に鮮鋭化効果や弊害低減を実現できる。
【００３９】
次に、重心位置が調整されたフィルタ（アンシャープマスク）の生成方法について説明する。重心位置が調整されたフィルタの生成方法には、予め重心位置が調整されたＰＳＦデータ（重心調整済みＰＳＦ）を用いてフィルタを生成する第１の方法と、光学系のＰＳＦからフィルタを生成する際にフィルタの重心位置を調整する第２の方法とがある。ここでは、コンピュータがコンピュータプログラムに従ってフィルタの生成処理を行うものとして説明する。
【００４０】
図１５のフローチャートを用いて上述した第１の方法によるフィルタの生成処理について説明する。まずステップＳ０１１において、コンピュータは、光学系の瞳関数を生成する。瞳関数は光学ＣＡＤ等により光線追跡を行って波面収差を求めることで算出することができる。本処理では、計算精度を上げるため、瞳関数に対するデータの範囲を広めに設定しておく。
【００４１】
図１６（Ａ），（Ｂ）は、瞳関数の２次元データを示している。図１６（Ａ），（Ｂ）ではサンプリングピッチは等しく、瞳径に対するデータのサイズが異なっている。また、瞳外部で光線が通過しない領域に対応する箇所はデータの値はゼロとなり、図１６（Ｂ）に示すように値がゼロの領域を増やしておくことで、次のステップで算出するＰＳＦをより細分化することができる。
【００４２】
次に、ステップＳ０１２において、コンピュータは、光学系のＰＳＦを算出する。ＰＳＦは、まず瞳関数のフーリエ変換を行うことで点像の振幅分布を求め、得られた点像の振幅の絶対値の二乗をとることで算出することができる。なお、ＰＳＦを光学系のみから算出するのではなく、ローパスフィルタや撮像素子の光学特性を考慮して算出してもよい。
【００４３】
次に、ステップＳ０１３において、コンピュータは、ステップＳ０１２で算出した光学系のＰＳＦに対して重心位置の調整を行って重心調整済みＰＳＦ（調整済み点像強度分布関数）を生成する。ここでは、重心調整済みＰＳＦの重心位置が後のステップＳ０１４にてトリミングされる領域の中心付近になるように（つまりは、フィルタの中心位置に近くなるように）調整を行う。具体的には、まずステップＳ０１２で算出した光学系のＰＳＦを走査して、該ＰＳＦの重心（強度の重心）となる位置を算出する。図１７は本ステップＳ０１３で作成した重心調整済みＰＳＦを示している。この図の縦軸は強度に相当し、このデータの場合の重心位置はＧの位置となる
続いて、ステップＳ０１４において、コンピュータは、ステップＳ０１３で算出した重心調整済みＰＳＦの重心位置Ｇがフィルタの中心位置付近になるように領域を決定し、その領域をトリミング（抽出）することでフィルタを作成する。図１７に示す重心調整済みＰＳＦからは、ＡからＭの範囲をトリミングすることで、重心位置Ｇをフィルタの中央位置付近に設定することができる。また、重心調整済みＰＳＦのトリミングを行う際に該重心調整済みＰＳＦの裾付近を削りすぎてしまうと、本来の光学系のＰＳＦとのずれが大きくなり、弊害の原因となる場合がある。このため、ステップＳ０１４では、こうした影響を考慮して、重心調整済みＰＳＦのうちトリミングする領域をある程度広い範囲に設定しておく。
【００４４】
次に、ステップＳ０１５において、コンピュータは、ステップＳ０１４で重心調整済みＰＳＦをトリミングして得られたフィルタに対して、適切なタップ数およびサンプリングピッチを持つように調整を行う。本処理で生成されるアンシャープマスクは、その生成後に撮影画像に対する鮮鋭化処理において用いられるため、ステップＳ０１４で得られるフィルタを実際の撮像素子の画素ピッチに合わせる必要がある。このため、ステップＳ０１５では、ステップＳ０１４で得られたフィルタに対してダウンサンプリングを行い、実際の画素ピッチに合ったフィルタを生成する。
【００４５】
なお、本処理ではフィルタのタップ数を多めに設定してダウンサンプリングすることで画素ピッチに合ったフィルタを生成するが、計算精度よりも処理工程数や計算量を抑えることを優先する場合は、初めから撮像素子の画素ピッチに合わせて計算を行ってもよい。
【００４６】
最後に、ステップＳ０１６において、コンピュータは、ステップＳ０１５にて調整を行ったフィルタをタップ値の総和が１になるよう正規化し、正規化後のフィルタを出力する。こうして、重心位置が調整されたフィルタとしてのアンシャープマスクを生成することができる。
【００４７】
図１５に示した処理では、ステップＳ０１５において実空間でタップの調整処理を行ったが、周波数空間において調整処理を行ってもよい。この場合、全体的な流れとしてはステップＳ０１４においてトリミングしたフィルタに対してフーリエ変換を行い、周波数空間において撮像素子のナイキスト周波数に対応した領域を抽出してこれを逆フーリエ変換するという処理となる。このような処理を行うことで、周波数空間を経由したタップの調整を実現することができる。
【００４８】
図１８のフローチャートを用いて上述した第２の方法によるフィルタの生成処理について説明する。まずステップＳ０２１において、コンピュータは、ＰＳＦを取得する。この際、光学系の軸上に対応するＰＳＦは、製造誤差等の影響がなければ回転対称であり、その場合はＰＳＦの重心と中心とが一致する。このようなＰＳＦについても本処理を行ってもよいが、より処理の負荷を減らすため、すべてのＰＳＦに対して本処理を行うのではなく、予め本処理を行うＰＳＦを選定しておいてもよい。また、本処理を行うＰＳＦとしては、図１７に示したような離散化データを想定している。
【００４９】
次に、ステップＳ０２２において、コンピュータは、ステップＳ０２１で取得したＰＳＦに対してゼロ・パディング（ゼロ埋め）を行い、ＰＳＦのデータのタップ数を拡張する。このように、データのタップ数を増やしておくことで、重心位置の調整の際に元のＰＳＦに対してタップ数やサンプリングピッチを変えずにそのままその一部の領域をトリミングすることができる。
【００５０】
次のステップＳ０２３において、コンピュータは、ステップＳ０２２においてタップ数が拡張されたＰＳＦの重心位置を算出する。
【００５１】
そして、ステップＳ０２４において、コンピュータは、ステップＳ０１３で算出したＰＳＦの重心位置がフィルタの中心付近になるよう領域を決定し、その領域をトリミング（抽出）することでフィルタを作成する。
【００５２】
さらに、ステップＳ０２５において、コンピュータは、ステップＳ０２４にて生成されたフィルタに対して、適切なタップ数およびサンプリングピッチを持つように調整を行う。
【００５３】
最後に、ステップＳ０２６において、コンピュータは、ステップＳ０２５にて調整を行ったフィルタをタップ値の総和が１になるよう正規化し、正規化後のフィルタを出力する。こうして、重心位置が調整されたフィルタとしてのアンシャープマスクを生成することができる。
【００５４】
図１５および図１８では、重心位置を調整する際に補間等を行わない場合を示しているが、重心位置の調整をサブピクセル単位で行う場合は、バイキュービック法やバイリニア法を利用し内挿や外挿を行う。そして、タップ数を増やしたフィルタに対して、図１５のステップＳ０１４〜Ｓ０１６や図１８のステップＳ０２４〜Ｓ０２６の処理を行うことにより、重心位置の調整をより細かく高精度に行うことができる。
【００５５】
しかし、このような処理を行って重心位置が調整されたフィルタを用いて鮮鋭化処理を行った場合には、アンダーシュート等の弊害は抑制できるものの、鮮鋭化効果が低減するおそれがある。その原因としては、例えばフィルタの重心位置の調整によってフィルタの分布が本来のＰＳＦの形状からずれることが挙げられる。これはそもそも光学系の性能が良いとそのＰＳＦがデルタ関数の形状に近づくため、補間処理後のフィルタに対してダウンサンプリングを行う本処理では、該ダウンサンプリングにより情報が欠落する可能性がある。つまり、フィルタとして光学系のＰＳＦを用いる場合、該フィルタの重心位置を中心タップの位置（中心位置）に一致させる方向に調整するだけでなく、与えられたフィルタのタップ数で本来のＰＳＦの形状を保っておく必要がある。これらを両立させるためにも、重心位置を必ずしもフィルタの中心位置に設定する必要はなく、中心位置に対してある程度近い範囲内に収めておくことが望ましい。これにより、フィルタの中心位置に対する重心位置のずれによるアンダーシュート等の弊害を抑制しつつ、十分な鮮鋭化効果を得ることができる。
【００５６】
具体的には、以下の式（１０１）に示す条件を満足するように重心位置を調整するとよい。
ｊ−σ＜ｃ＜ｊ＋σ  ・・・（１０１）
ただし、
【００５７】
【数１】
0006347763.tif 000002
【００５８】
である。
【００５９】
式（１０１）において、ｆ（i）はフィルタの重心位置を通る一断面（一次元データ）におけるｉ番目のフィルタ係数（タップ値）を示し、ｊは該一断面での重心位置を示す。Ｎはフィルタの上記一断面におけるタップ数を示し、ｃは上記一断面でのフィルタの中心位置を示す。つまり、式（１０１）は（ｊ−σ）から（ｊ＋σ）の範囲内にフィルタの中心位置を配置するということを意味している。
【００６０】
式（１０１）の条件を、図１４（Ｂ），（Ｄ）に示したフィルタに適用する。表１は、図１４（Ｂ）のフィルタの９つのタップ（Ｎｏ．１〜９）のフィルタ係数の例を示している。
【００６１】
【表１】
0006347763.tif 000003
【００６２】
表１の値からσ，ｊ，ｃを計算すると、σ＝０．９５２、ｊ＝６．４１３、ｃ＝５となり、式（１０１）の下限値を下回っている。このため、前述した中心位置に対する重心位置のずれが影響してアンダーシュートが起きる。
【００６３】
一方、図１４（Ｄ）のフィルタでは、図１４（Ｂ）のフィルタに対して２タップずれでいるため、表１の値に対して２タップ分ずらした値を用いると、ｊ＝４．４１３となる。つまり、重心位置の調整処理によって式（１０１）の条件を満足する。このため、アンダーシュート等の弊害もなく、撮影画像を非対称性を軽減しつつ鮮鋭化することができる。
【００６４】
なお、図１４（Ｂ）のフィルタに対して１タップずらした場合は、ｊ＝５．４１３となり、式（１０１）の条件を満足する。図１９（Ａ）には、この場合の理想状態での物体像（一点鎖線）、非対称に劣化した物体像（点線）および鮮鋭化後の物体像（実線）を図１９（Ａ）に示している。また、図１９（Ｂ）には、アンシャープマスクとして用いたフィルタ（実線）および物体像を理想状態から劣化状態に劣化させたＰＳＦ（点線）をそれぞれ表している。図１９（Ａ）において、鮮鋭化後の物体像にはアンダーシュートが多少見られるものの、鮮鋭化および非対称性軽減といった効果を確認することができる。
【００６５】
このように、式（１０１）の条件を満足するようにフィルタの重心位置を調整することで弊害を抑制しつつ鮮鋭化効果を得ることができるが、フィルタの重心位置ではなくピーク位置を調整することにより高速化を図ってもよい。ＰＳＦは像高に応じて非対称形状を有するが、性能がある程度確保された光学系であれば、ＰＳＦの形状も尖度が大きくなるため、フィルタのピーク位置と重心位置とが大きく異なることはほとんどない。このように、重心位置に代えてピーク位置を用いて式（１０１）を満足するようにピーク位置を調整することで、重心位置を求める計算を省くことができるため、処理を高速化することができる。
【００６６】
次に、後述する実施例１〜３において用いるフィルタ、補正信号（補正データ）および実施例１〜３でのアンシャープマスク処理について説明する。
【００６７】
実施例１では、前述した式（１），（２）により導かれる以下の式（５）を用いてアンシャープマスク処理を行う。
ｇ（ｘ，ｙ）＝ｆ（ｘ，ｙ）＋ｍ×｛ｆ（ｘ，ｙ）−ｆ（ｘ，ｙ）＊ＵＳＭ（ｘ，ｙ）｝
・・・（５）
実施例２では、前述した式（１），（３）により導かれる以下の式（６）を用いてアンシャープマスク処理を行う。
ｇ（ｘ，ｙ）＝ｆ（ｘ，ｙ）＋ｍ×ｆ（ｘ，ｙ）＊｛δ（ｘ，ｙ）−ＵＳＭ（ｘ，ｙ）｝
・・・（６）
実施例３では、式（６）をさらに変形した以下の式（７）を用いてアンシャープマスク処理を行う。
ｇ（ｘ，ｙ）＝ｆ（ｘ，ｙ）＊｛δ（ｘ，ｙ）＋ｍ×（δ（ｘ，ｙ）−ＵＳＭ（ｘ，ｙ））｝
・・・（７）
式（５）から式（７）中のＵＳＭ（ｘ，ｙ）はアンシャープマスクである。実施例１ではＵＳＭ（ｘ，ｙ）をフィルタとして用い、実施例２ではアンシャープマスク（ＰＳＦ）と理想点像との差分（δ（ｘ，ｙ）−ＵＳＭ（ｘ，ｙ））をフィルタとして用いる。また、実施例３では、アンシャープマスク（ＰＳＦ）と理想点像との差分に調整係数ｍを適用して理想点像に加算したもの｛δ（ｘ，ｙ）＋ｍ×（δ（ｘ，ｙ）−ＵＳＭ（ｘ，ｙ））｝、つまりは補正信号をフィルタとして用いる。これら実施例１〜３におけるフィルタのうち撮影画像の注目画素に対応するフィルタ係数はいずれも正の値を有する。
【実施例１】
【００６８】
図１には、実施例１の撮像装置の構成を示している。撮像装置１００には、その内部に画像処理部（画像処理装置）１０４が設けられている。画像処理部１０４は、コンピュータプログラムとして画像処理プログラムに従って、撮影画像（入力画像）に対して鮮鋭化処理としてのアンシャープマスク処理（画像処理方法）を実行する。
【００６９】
撮像装置１００は、撮像光学系（以下、撮像レンズという）１０１と撮像装置本体（以下、カメラ本体という）とを備えている。撮像レンズ１０１は、絞り１０１ａとフォーカスレンズ１０１ｂとを含む。本実施例では、撮像レンズ１０１がカメラ本体に一体に設けられたレンズ一体型撮像装置について説明するが、撮像装置１００は、撮像レンズ１０１がカメラ本体に対して交換可能に装着されるレンズ交換型撮像装置であってもよい。
【００７０】
撮像素子（撮像手段）１０２は、ＣＣＤセンサやＣＭＯＳセンサ等の二次元光電変換素子である。撮像素子１０２は、撮像レンズ１０１により形成された被写体像（結像光）を光電変換してアナログ電気信号を生成する。撮像素子１０２から出力されたアナログ電気信号は、Ａ／Ｄコンバータ１０３によりデジタル信号に変換され、このデジタル信号は撮像信号として画像処理部１０４に入力される。
【００７１】
画像処理部１０４は、入力された撮像信号に対して所定の処理を行って撮影画像を生成するとともに、該撮影画像に対するアンシャープマスク処理を行う。まず、画像処理部１０４は、状態検知部１０７から撮影画像を取得するための撮像時における撮像レンズ１０１の状態である撮像条件の情報を取得する。撮像条件は、絞り値や被写体距離（フォーカスレンズ１０１ｂの位置）を含み、撮像レンズ１０１がズームレンズである場合は、その焦点距離を含む。状態検知部１０７は、システムコントローラ１０６から撮像条件の情報を取得してもよいし、撮像レンズ１０１を制御するレンズ制御部１０５から取得してもよい。
【００７２】
画像処理部１０４は、アンシャープマスク処理を行うために、ＰＳＦ選択部２０１、補正信号生成部２０２、補正信号適用部２０３および重心位置調整部２０４を有する。ＰＳＦ選択部２０１、補正信号生成部２０２および重心位置調整部２０４はフィルタ生成手段に相当する。補正信号適用部２０３はアンシャープマスク処理（補正処理）を行う補正手段に相当する。
【００７３】
画像処理部１０４は、アンシャープマスク処理により生成した鮮鋭化画像を所定のフォーマットのデータに変換して画像記録部１０８に保存する。
【００７４】
画像表示部１１２は、鮮鋭化画像に対して所定の表示処理を行って得られた表示用画像を表示する。これまで説明した各部の制御は、システムコントローラ１０６により行われる。撮像レンズ１０１の機械的な駆動の制御は、システムコントローラ１０６の指示に基づいてレンズ制御部１０５により行われる。
【００７５】
撮像レンズ１０１には、ローパスフィルタや赤外線カットフィルタ等の光学素子を挿入してもよい。ローパスフィルタ等のＰＳＦの特性に影響を与える光学素子を用いる場合は、アンシャープマスクを作成する段階でこの光学素子の影響を考慮することで、より高精度なアンシャープマスク処理が可能である。また、赤外カットフィルタは、分光波長のＰＳＦの積分値であるＲＧＢチャンネルの各ＰＳＦ、特にＲチャンネルのＰＳＦに影響するため、アンシャープマスクを作成する段階でこの赤外カットフィルタの影響を考慮することが好ましい。
【００７６】
次に、図２のフローチャートを用いて、本実施例におけるアンシャープマスク処理の基本的な流れについて説明する。本処理は、システムコントローラ１０６から指示を受けたコンピュータとしての画像処理部１０４により、前述した画像処理プログラムに従って実行される。
【００７７】
ステップＳ１１において、画像処理部１０４は、撮影画像を入力画像として取得する。
【００７８】
次に、ステップＳ１２において、ＰＳＦ選択部２０１は、入力画像に対応した撮影画像の点像強度分布関数（ＰＳＦ）をメモリ１０９から取得する。このときＰＳＦ選択部２０１が取得するＰＳＦに関する情報は、ＰＳＦを示す２次元タップのデータでもよいし、データ量の圧縮や処理の高速化のためにＰＳＦの構成要素である複数の１次元タップのデータでもよい。また、ＰＳＦに関する情報としてＰＳＦの係数の情報を取得してもよい。以下の説明では、ＰＳＦに関する情報をＰＳＦ情報という。
【００７９】
次に、ステップＳ１３において、重心位置調整部２０４は、ステップＳ１２で取得されたＰＳＦ情報により示されるＰＳＦに対して図１８の処理を行って、重心位置が調整されたフィルタとしてのアンシャープマスクを生成する。
【００８０】
図６（Ａ），（Ｂ）には、アンシャープマスクの例を示している。アンシャープマスクは、撮像レンズ１０１の収差特性や要求される鮮鋭化の精度に応じてそのタップ数が決定される。図６（Ａ）には、アンシャープマスクの例として、２次元に配置された１１×１１タップのフィルタサイズを有するアンシャープマスクを示している。図６（Ａ）では、各タップの値（フィルタ係数としてのタップ値）を省略しているが、このアンシャープマスクの一断面でのタップ値を図６（Ｂ）に示す。アンシャープマスクにおけるタップ値の分布は、収差により広がった信号値（すなわち撮像レンズ１０１のＰＳＦ）の形状に近い分布、すなわち図６（Ａ）中にハッチングして示す中心タップ回りにおいて回転非対称なタップ値分布が理想的である。
【００８１】
なお、ステップＳ１４においてＰＳＦ情報を用いてアンシャープマスクを生成する場合、ＰＳＦは入力画像の像高（画像内の位置）に応じて変化するため、アンシャープマスクも像高に応じて変化させることが望ましい。
【００８２】
次に、ステップＳ１４において、補正信号生成部２０２は、ステップＳ１３にて生成されたアンシャープマスクを用いて補正信号（補正データ）を生成する。この補正信号の生成処理については後に詳しく説明する。
【００８３】
次にステップＳ１５において、補正信号適用部２０３は、ステップＳ１４で補正信号生成部２０２により生成された補正信号を入力画像に適用する。すなわち、入力画像に対するアンシャープマスク処理を実行する。このステップＳ１５での処理の内容については後に詳しく説明する。
【００８４】
次に、図７のフローチャートを用いて、図２にて説明したアンシャープマスク処理の流れをより詳細に説明する。
【００８５】
まずステップＳ１１１において、画像処理部１０４は、撮影画像を入力画像として取得する。撮影画像のうち実際にアンシャープマスク処理における入力画像として使用するデータは、例えば、デモザイキング後のＧチャンネルの画像データである。ただし、ＲチャンネルやＢチャンネルの画像データを入力画像としてもよいし、ＲＧＢの全てのチャンネルの画像データを入力画像としてもよい。また、デモザイキング前の画像データを入力画像としてもよい。
【００８６】
図８には、一般的な撮像素子の画素配列として用いられているベイヤー配列を示す。このようなベイヤー配列の撮像素子からの撮像信号に基づいて生成された撮影画像のうち単純に特定チャンネル（例えばＧチャンネル）の画像データを抜き出して入力画像としてもよいし、全てのチャンネルの画像データを入力画像として用いてもよい。また、図８では、ＧチャンネルをＧ１，Ｇ２の２つのチャンネルに分けている。Ｇチャンネルを２つに分けることで、Ｒ，Ｇ１，Ｇ２，Ｂのそれぞれのチャンネルの画像データは解像度が等しくなるため、処理やデータ加工がしやすくなる。
【００８７】
続いてステップＳ１１２において、ＰＳＦ選択部２０１は、撮像レンズ１０１のＰＳＦ情報をメモリ１０９から取得する。図２のステップＳ１２で説明したように、取得するＰＳＦ情報は、ＰＳＦを示す２次元タップのデータでもよいし、ＰＳＦの構成要素である複数の１次元タップのデータでもよい。２次元データを複数の１次元データに分解する方法としては、例えば特異値分解定理がある。このような定理を用いて分解された主成分をメモリ１０９に記録しておき、撮像レンズ１０１の撮像条件に応じてＰＳＦの主成分に対応する複数の１次元タップのデータを取得してきてもよい。
【００８８】
また、前述したようにＰＳＦは像高によって変化するため、より精度良くアンシャープマスク処理を行うには、像高に応じたＰＳＦを用いてアンシャープマスクを生成し、このアンシャープマスクを用いて像高に応じた補正信号を生成することが望ましい。しかし、メモリ１０９に記録できるデータ容量には限りがあるので、多数の像高のそれぞれに応じたＰＳＦ情報をメモリ１０９に保存しておくのは好ましくない。このため、本実施例では、入力画像を複数の画像領域に分割し、画像領域ごとに少なくとも２つの特定像高（つまりは像高が異なる特定位置）でのＰＳＦ情報を用いて補間処理を行う。これにより、特定像高以外の像高に対応するアンシャープマスクまたはアンシャープマスクの適用によりぼけたアンシャープ画像の生成を可能とする。補間処理の方法は、後のステップＳ１１５にて詳しく説明する。
【００８９】
ここで、入力画像の複数の画像領域への分割について説明する。図９（Ａ）には、入力画像を示している。ここでは、入力画像の長辺方向をｘ軸方向とし、短辺方向をｙ軸方向とし、入力画像の中心を座標の原点としている。本実施例では、入力画像をＡ〜Ｈの８つの画像領域に分割し、原点と各画像領域の周辺部のＰＳＦ情報を取得する。なお、画像領域の分割数は、８つに限られず、撮像時における撮像レンズ１０１の撮像条件や撮像レンズ１０１の光学特性、あるいはメモリのデータ容量等を考慮し決定する必要がある。
【００９０】
次に、ステップＳ１１３において、重心位置調整部２０４は、ステップＳ１１２で取得された特定像高のＰＳＦ情報により示されるＰＳＦに対して図１８の処理を行い、重心位置が調整された特定像高ごとのフィルタとしてのアンシャープマスクを生成する。
【００９１】
このとき、予め重心位置の調整を行う必要がない場合は該調整を行なわなくてもよい。ステップＳ１１２で取得されたＰＳＦに対してフィルタの重心位置の調整を行うか否かを判定することで処理の高速化を図ることができる。例えば、ＰＳＦ情報が撮像レンズ１０１の光軸上に対応するものである場合は、該光軸がフィルタの中心に位置するように計算することで重心位置の調整を省くことができる。また、後述するように、重心位置の調整をＰＳＦの生成段階で予め行っておくことでもここでの調整を省くことができる。
【００９２】
次に、ステップＳ１１４において、補正信号生成部２０２は、ステップＳ１１３で重心位置が調整された特定像高ごとのフィルタであるアンシャープマスクを用いてフィルタリングを行う。本実施例では、ＰＳＦに対応するフィルタをアンシャープマスクとして用いる。そして、このアンシャープマスクを入力画像に対してコンボリューション（畳み込み積分）することでフィルタリングを行う。ステップＳ１１２において取得されたＰＳＦは、それぞれ特定像高である中心像高（軸上）と８つの周辺像高に対応する９つのＰＳＦがある。このため、これら９つのＰＳＦをアンシャープマスクとしてそれぞれ入力画像にコンボリューションすることで、ぼけたアンシャープ画像が９つ得られる。これら９つのアンシャープ画像は、アンシャープマスク処理（補正処理）のための中間データに相当する。
【００９３】
次にステップＳ１１５において、補正信号生成部２０２は、ステップＳ１１４で生成された９つのアンシャープ画像を用いて像高方向の補間処理を行い、１つのアンシャープマスクでフィルタリングされた画像データを生成する。
【００９４】
ここで、図９（Ｂ）を用いて像高方向の補間処理について説明する。図９（Ａ）において、原点に対して画像領域Ｃがある方向をｘ軸方向のうち正の側とし、画像領域Ａがある方向をｙ軸方向の正の側とすると、図９（Ｂ）は入力画像のうちｘ，ｙがともに正となる第１象限の領域を示している。ここで、Ｐ０は原点（中心像高）を示し、Ｐ１，Ｐ２，Ｐ３はそれぞれ画像領域Ａ，Ｂ，Ｃにおける周辺像高を示す。ステップＳ１１２においてＰＳＦ選択部２０１がこれら像高（特定像高）Ｐ０，Ｐ１，Ｐ２，Ｐ３のＰＳＦ情報（以下、単にＰＳＦという）を取得したとする。また、図９（Ｂ）において、白丸で示されたＰｎは、画像領域Ｂ内の任意の像高を表している。
【００９５】
領域Ｂ内の任意像高Ｐｎでは、像高Ｐ０と像高Ｐ２のＰＳＦを用いてステップＳ１１４で作成した該任意像高Ｐｎに対するアンシャープマスクを入力画像にフィルタリング（コンボリューション）して中間データとしてのアンシャープ画像を得る。同様に、画像領域Ａ内の任意像高では、像高Ｐ０と像高Ｐ１のＰＳＦを用いて作成した該任意像高に対するアンシャープマスクを入力画像にフィルタリングして中間データとしてのアンシャープ画像を得る。さらに、画像領域Ｃ内の任意像高では、像高Ｐ０と像高Ｐ３のＰＳＦを用いて作成した該任意像高に対するアンシャープマスクを入力画像にフィルタリングして中間データとしてのアンシャープ画像を得る。
【００９６】
ここで、２つの像高での中間データを用いた補間処理によって任意像高Ｐｎでのフィルタリング結果に相当する中間データを生成する方法について説明する。図９（Ｂ）に示すように、画像領域Ｂ内の任意像高Ｐｎまでの原点Ｐ０からの距離がｄ０であり、像高Ｐ２からの距離がｄ２であるとする。また、ステップＳ１１４において、像高Ｐ０，Ｐ２のＰＳＦを用いたフィルタリング結果としてのアンシャープ画像をそれぞれＦ０，Ｆ２とする。このとき、任意像高Ｐｎにおけるデータ（アンシャープ画像）Ｆｎは、
Ｆｎ＝Ｆ０×（１−ｄ０）＋Ｆ２×ｄ２  ・・・（８）
と表される。
【００９７】
このような補間処理を行うことで、各領域内の任意の像高における補間データを生成することができ、ステップＳ１１４おいて生成された複数のアンシャープ画像のデータから１つのアンシャープ画像のデータが生成される。
【００９８】
この補間処理方法およびＰＳＦを保持する特定像高Ｐ１，Ｐ２，Ｐ３の位置は、先に述べたように、撮像レンズ１０１の光学特性を考慮して選定する。このような補間処理により各画像領域内の任意像高での中間データを生成することができる。この結果、ステップＳ１１４で生成された９つの中間データとしてのアンシャープ画像から、全ての像高ごとのＰＳＦに対応する１つの中間データとしてのアンシャープ画像（以下、補間アンシャープ画像という）が生成される。
【００９９】
なお、本実施例では補間処理方法として、アンシャープ画像を補間する方法を説明したが、アンシャープマスクに対して式（８）に示すような補間処理を行い、補間したアンシャープマスクをフィルタリング（畳み込み処理）してもよい。フィルリング後の画像に対して補間処理を行っても、フィルタリング前のフィルタに対して補間処理を行いつつフィルタリングを行っても、得られる結果は同様であり、これらは等価な処理である。
【０１００】
このようにして、像高ごとに異なるＰＳＦから得たアンシャープマスクによる入力画像のフィルタリング結果に相当する補間アンシャープ画像を、限られた数の特定像高のＰＳＦの少ないデータ量のデータを保持するだけで生成することが可能となる。この方法では、全ての像高のＰＳＦを用意して像高ごとのＰＳＦから得たアンシャープマスクで入力画像に対するフィルタリングを行う場合に比べて若干精度が低くなる可能性がある。しかし、保持データ量を大幅に低減したり、処理速度（メモリデータの読み出し速度）を高速化したりすることができる。
【０１０１】
なお、像高方向の補間処理について、式（８）は第１象限の画像領域Ｂに関する計算式を示しているが、他の画像領域や他の象限についても同様な演算を行うことにより補間された中間データを作成することができる。また、像高の補間に用いられる計算式は、式（８）に限らず、２次曲線の計算式を用いてもよい。また、特定像高のアンシャープ画像に対してある係数を乗じて重み付けしてしてもよい。
【０１０２】
次に、ステップＳ１１６において、補正信号生成部２０２は、ステップＳ１１５で生成された補間アンシャープ画像を用いて最終的な補正データとしての補正信号を生成する。本実施例において、補正信号（補正成分）は式（２）で示されるものであり、入力画像と補間アンシャープ画像の差分をとることで生成される。
【０１０３】
次に、ステップＳ１１７において、補正信号適用部２０３は、ステップＳ１１６にて生成された補正信号を入力画像に適用することで、目的とする鮮鋭化画像を生成する。本実施例において、補正信号の適用は、式（１）により、入力画像に対してｍ倍した補正信号を加算することで行う。この際、画像のノイズや鮮鋭化における補正過剰や補正不足を考慮して調整係数ｍの値を決定する。ここで、式（１）は第１項と第２項を加算する形で表現されているが、これは調整係数ｍが負の場合であり、調整係数ｍが正の場合は減算になる。ただし、加算も減算も単に調整係数ｍの符号の違いによるもので、本質的には同じことを意味するため、本実施例でもこれらをまとめて加算という。
【０１０４】
このように、本実施例では、アンシャープマスク処理において撮像レンズ１０１のＰＳＦをアンシャープマスクとして用いている。このため、入力画像の周辺部にみられるような撮像レンズ１０１の回転非対称なＰＳＦによって劣化した入力画像であっても、精度良く鮮鋭化された鮮鋭化画像を得ることができる。
【０１０５】
本実施例では、像高方向の補間処理を入力画像に対するアンシャープマスクのフィルタリング後に行う場合について説明した。しかし、像高方向の補間処理を、補正信号に対して行ったり、補正信号を入力画像に適用した後の鮮鋭化画像に対して行ったりしてもよい。以下、これらの場合におけるアンシャープマスク処理をそれぞれ、図１０および図１１に示すフローチャートを用いて説明する。
【０１０６】
図１０には、補正信号に対して像高方向の補間処理を行う場合のアンシャープマスク処理の流れを示している。図１０において、図７に示したステップと同じステップには図７と同符号を付して説明に代える。図１０では、図７に示したステップＳ１１５およびＳ１１６に代えて、ステップＳ１２５およびＳ１２６の処理が行われる。
【０１０７】
ステップＳ１２５において、補正信号生成部２０２は、ステップＳ１１４で生成された複数の特定像高のＰＳＦに対応したアンシャープ画像のデータから最終的な補正データとしての補正信号を生成する。各補正信号は式（２）で示されるものであり、入力画像と補間アンシャープ画像の差分をとることで生成される。補正信号は、ステップＳ１２４で生成されたアンシャープ画像の数だけ生成される。
【０１０８】
次に、ステップＳ１２６において、補正信号生成部２０２は、ステップＳ１２５で生成した複数の補正信号を用いて像高方向の補間処理を行う。このステップＳ１２６で行われる補間処理は、処理対象が補正信号と図７のステップＳ１１５とは異なるが、基本的な処理の流れはステップＳ１１５にて説明したものと同じである。ステップＳ１１５ではＰＳＦをアンシャープマスクとして用い、このアンシャープマスクを入力画像にコンボリューションして得られたアンシャープ画像を像高方向に補間した。これに対して、ステップＳ１２６では、入力画像とアンシャープ画像との差分である補正信号に対して像高方向での補間処理を行う。数式の上では式（２）における「ｆ（ｘ，ｙ）＊ＵＳＭ」を像高方向に補間するのがステップＳ１１５であり、ｈ（ｘ，ｙ）を像高方向に補間するのがステップＳ１２６となる。このため、ステップＳ１１５におけるｆ（ｘ，ｙ）＊ＵＳＭのデータをｈ（ｘ，ｙ）に置き換えることでステップＳ１２６にて補正信号を像高方向に補間する処理を行うことができる。
【０１０９】
なお、上記のようにｈ（ｘ，ｙ）について補間処理を行うのではなく、式（３）におけるｈ（ｘ，ｙ）の中括弧｛｝の部分に対して補間処理を行いながら畳み込み処理を行うことで補間処理後のｈ（ｘ，ｙ）を生成してもよい。
【０１１０】
このようにして補正信号の補間処理により得られた補正データとしての補正信号を、補正信号適用部２０３は、ステップＳ１２７において入力画像に適用する。ステップＳ１２７における補正信号の適用処理については前述したステップＳ１１７と同じである。
【０１１１】
図１１には、入力画像に補正信号を適用して得られた鮮鋭化画像に対して像高方向の補間処理を行う場合のアンシャープマスク処理の流れを示している。図１１において、図７に示したステップと同じステップには図７と同符号を付して説明に代える。図１１では、図７に示したステップＳ１１５，Ｓ１１６およびステップＳ１１７に代えて、ステップＳ１３５，Ｓ１３６およびＳ１３７の処理が行われる。
【０１１２】
ステップＳ１３５において、補正信号生成部２０２は、ステップＳ１１４で生成された複数の特定像高のＰＳＦに対応したアンシャープ画像のそれぞれから複数の補正信号を生成する。各補正信号は式（２）で示されるものであり、入力画像と補間アンシャープ画像の差分をとることで生成される。補正信号は、ステップＳ１２４で生成されたアンシャープ画像の数だけ生成される。
【０１１３】
次に、ステップＳ１３６において、補正信号適用部２０３は、ステップＳ１３４で生成された複数の補正信号を入力画像にそれぞれ適用して複数の中間データとしての鮮鋭化画像を生成する。ここでは、式（１）により各補正信号を入力画像に適用することで鮮鋭化画像を生成する。
【０１１４】
次に、ステップＳ１３７において、補正信号適用部２０３は、ステップＳ１３６で生成した複数の鮮鋭化画像を用いた像高方向での補間処理を行い、目的とする鮮鋭化画像を生成する。このステップＳ１３７で行われる補間処理は、処理対象が鮮鋭化画像と図７のステップＳ１１５とは異なるが、基本的な処理の流れはステップＳ１１５および図１０のステップＳ１２６と同じである。ステップＳ１２６とステップＳ１３７を比較すると、数式の上では、式（１）におけるｈ（ｘ，ｙ）を像高方向に補間するのがステップＳ１２６であり、ｇ（ｘ，ｙ）を像高方向に補間するのがステップＳ１３７である。このため、ステップＳ１２６におけるｈ（ｘ，ｙ）のデータをｇ（ｘ，ｙ）に置き換えることで、ステップＳ１３７で鮮鋭化画像を像高方向に補間する処理を行うことができる。尚、上記のように、ｇ（ｘ，ｙ）について補間処理を行うのではなく、式（７）におけるｇ（ｘ，ｙ）の中括弧｛｝の部分に対して補間処理を行いながらｆ（ｘ，ｙ）に対し畳み込み処理を行うことで補間処理後のｇ（ｘ，ｙ）を生成してもよい。
【０１１５】
本実施例によれば、特定像高でのＰＳＦのデータを用いた像高方向での補間処理を行うことにより、少ない保持データ量でありながらも、光学特性（ＰＳＦ）の像高変化に対応した高精度の鮮鋭化処理（アンシャープマスク処理）を行うことができる。
【０１１６】
また、本実施例では、アンシャープマスクとして重心位置が調整されたフィルタを用いて鮮鋭化処理を行う場合について説明したが、重心位置の調整は必ずしも図２に示すように鮮鋭化処理を行う際に行われなくてもよい。例えば、予め重心位置が調整されたＰＳＦをメモリ１０９に保存して（記憶させて）おいてもよい。この場合、撮像装置の構成としては、図１に示した重心位置調整部２０４が不要となる。それ以外の構成については図１に示した構成と同じである。また、予め重心位置が調整されてメモリ１０９に保存されたＰＳＦを用いる場合は、フィルタ生成のための処理として、図７に示した処理のうちステップＳ１１３の重心位置の調整を省いた図２０に示す処理を行えばよい。図２０において、図７に示したステップと同じステップについては同符号を付している。ステップＳ１１２′でＰＳＦを選択した時点で既に重心位置の調整は行われているため、選択したＰＳＦを用いてステップＳ１１４にてフィルタリングを行えばよい。
【０１１７】
また、本実施例では、重心位置を調整する対象として説明したが、前述のようにピーク位置を調整することでも同様の効果を得ることができる。さらに、アンシャープマスクをピーク位置で調整した場合、式（３），（６），（７）の理想点像δ（ｘ，ｙ）＝１となる位置とアンシャープマスクのピーク位置が一致する。このように一致すると、式（７）の中括弧｛｝で示されるフィルタのフィルタ係数の正の値が最も小さくなるか、負となるフィルタ係数の値の総和の絶対値が最も小さくなる。これは、アンシャープマスクがＵＳＭ（ｘ，ｙ）≧０であり、（δ（ｘ，ｙ）−ＵＳＭ（ｘ，ｙ））としたときＵＳＭ（ｘ，ｙ）の最大値がδ（ｘ，ｙ）＝１で打ち消される。そのため、各フィルタ係数の絶対値の値が全体的に小さくなり、鮮鋭化処理においてアンダーシュート等の弊害が出にくくなるといった効果がある。
【０１１８】
なお、前述のように式（７）は式（５），（６）と等価な処理であるため、フィルタのピーク位置の調整による弊害低減効果は他の補正式でも成り立つ。
【０１１９】
このように、ＰＳＦの重心位置あるいはピーク位置を予め調整しておくことで、鮮鋭化処理の工程数を減らすことができる。このことは、後述する実施例２，３でも同じである。
【実施例２】
【０１２０】
次に、本発明の実施例２である撮像装置について説明する。本実施例の撮像装置は、画像処理（アンシャープマスク処理）の内容のみが実施例１の撮像装置と異なり、撮像装置の構成は実施例１の撮像装置と共通である。このため、本実施例の撮像装置の構成については説明を省略する。
【０１２１】
図１２のフローチャートには、本実施例におけるアンシャープマスク処理の流れを示している。本実施例でも、システムコントローラ１０６の指示を受けた画像処理部１０４が画像処理プログラムに従って本処理を行う。
【０１２２】
本実施例は、補正信号の生成方法において実施例１と異なる。具体的には、実施例１では式（２）により補正信号を生成したのに対して、本実施例では式（３）により補正信号を生成する。なお、ステップＳ２１１およびステップＳ２１２は、実施例１（図７，図１０および図１１）のステップＳ１１１およびステップＳ１１２と同じであり、これらの説明は省略する。
【０１２３】
ステップＳ２１３において、重心位置調整部２０４は、ステップＳ２１２で取得した特定像高のＰＳＦに対して、実施例１にて図１５に示した方法で重心位置を調整する。
【０１２４】
次に、ステップＳ２１４において、補正信号生成部２０２は、理想点像とステップＳ２１３で重心位置が調整された特定像高のＰＳＦのそれぞれとの差分をとることで複数のフィルタを生成する。
【０１２５】
続いてステップＳ２１５において、補正信号生成部２０２は、ステップＳ２１４において生成した複数のフィルタを入力画像に対してコンボリューションすることで複数の補正信号を生成する。
【０１２６】
次に、ステップＳ２１６において、補正信号生成部２０２は、ステップＳ２１５で生成した複数の補正信号を用いて、補正信号の像高方向での補間処理を行う。このステップＳ２１６および次のステップＳ２１７の処理は、図１０にて説明したステップＳ１２６およびステップＳ１２７の処理と同じであるため、これらの詳細な説明は省略する。以上の処理を行うことで、式（６）によるアンシャープマスク処理を行うことができる。
【０１２７】
なお、像高方向の補間処理については、補正信号に対して行ってもよいし、補正信号を入力画像に適用した後の鮮鋭化画像に対して行ってもよい。
【実施例３】
【０１２８】
次に、本発明の実施例３である撮像装置について説明する。本実施例の撮像装置は、画像処理（アンシャープマスク処理）の内容のみが実施例１の撮像装置と異なり、撮像装置の構成は実施例１の撮像装置と共通である。このため、本実施例の撮像装置の構成については説明を省略する。
【０１２９】
図１３のフローチャートには、本実施例におけるアンシャープマスク処理の流れを示している。本実施例でも、システムコントローラ１０６の指示を受けた画像処理部１０４が画像処理プログラムに従って本処理を行う。
【０１３０】
本実施例は、補正信号の生成方法および補正信号の入力画像に対する適用方法が実施例１，２と異なる。具体的には、本実施例では、式（７）によって補正信号を生成し、入力画像に対してこの補正信号を適用する。このため、図１３のフローチャートにおいて、ステップＳ３１４（補正信号の生成）およびステップＳ３１５（補正信号の適用）が実施例１，２とは異なる。また、ステップＳ３１３での重心位置の調整は、実施例１と同様に図１８に示した方法で行われる。
【０１３１】
ステップＳ３１４において、補正信号生成部２０２は、ステップＳ３１３で重心位置が調整された特定像高のアンシャープマスク（ＰＳＦ）を用いて、式（７）の中括弧内の部分に相当する複数のフィルタ（補正信号）を生成する。なお、本実施例では、補正信号生成部２０２が生成する補正信号はフィルタと等価となる。
【０１３２】
次に、ステップＳ３１５において、補正信号適用部２０３は、ステップＳ３１４において生成された複数のフィルタのそれぞれを入力画像に対してコンボリューションすることで複数の中間データとしての鮮鋭化画像を生成する。このように、本実施例では、ＰＳＦをアンシャープマスクとして用いて生成したフィルタを、入力画像に対して一度だけコンボリューションすることで鮮鋭化画像を生成することができる。
【０１３３】
そして、ステップＳ３１６では、補正信号適用部２０３は、図１１のステップＳ１３７と同様に、ステップＳ３１５にて生成した複数の鮮鋭化画像を用いて像高方向の補間処理を行うことにより、目的とする鮮鋭化画像を生成する。
【０１３４】
以上の処理を行うことで、式（７）によるアンシャープマスク処理を行うことができる。
【０１３５】
上記各実施例では、画像処理装置としての画像処理部１０４が撮像装置に組み込まれている場合について説明したが、画像処理装置を、パーソナルコンピュータ等、撮像装置とは別の装置として構成してもよい。この場合、画像処理装置は、撮像装置にて取得された撮影画像を、半導体メモリ等の記憶媒体やインターネット，ＬＡＮ等の通信を介して入力画像として取得し、該入力画像に対するアンシャープマスク処理を行う。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１３６】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【０１３７】
１０１  撮像レンズ
１０４  画像処理部
２０１  ＰＳＦ選択部
２０２  補正信号生成部
２０３  補正信号適用部
２０４  重心位置調整部
【図１】
0006347763.tif 000004
【図２】
0006347763.tif 000005
【図３】
0006347763.tif 000006
【図４】
0006347763.tif 000007
【図５】
0006347763.tif 000008
【図６】
0006347763.tif 000009
【図７】
0006347763.tif 000010
【図８】
0006347763.tif 000011
【図９】
0006347763.tif 000012
【図１０】
0006347763.tif 000013
【図１１】
0006347763.tif 000014
【図１２】
0006347763.tif 000015
【図１３】
0006347763.tif 000016
【図１４】
0006347763.tif 000017
【図１５】
0006347763.tif 000018
【図１６】
0006347763.tif 000019
【図１７】
0006347763.tif 000020
【図１８】
0006347763.tif 000021
【図１９】
0006347763.tif 000022
【図２０】
0006347763.tif 000023