(57)【要約】【課題】より確実に画像からぼけを除去できるようにする。【解決手段】ぼけ検出部２３は、ケプストラム解析により入力画像上の被写体のぼけの大きさを検出する。縮小部２４は、ぼけの大きさの検出結果に基づいて、ぼけの大きさの分だけ入力画像を縮小し、入力画像からぼけを除去する。拡大部２５は、縮小された入力画像を、縮小前のもとの大きさに拡大する。これにより、入力画像の画質を劣化させることなく、より簡単な処理で、より確実に入力画像からぼけを除去することができる。本発明は、画像処理装置に適用することができる。【選択図】図１
2011035514.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に基づいて、前記入力画像上の被写体のぼけの大きさを検出する検出手段と、
前記入力画像を前記ぼけの大きさにより定まる縮小率で縮小することで、前記入力画像上の前記ぼけを除去する縮小手段と、
縮小された前記入力画像を拡大する拡大手段と
を備える画像処理装置。
【請求項２】
前記ぼけの大きさは、前記入力画像上において生じたぼけにより、前記被写体の輪郭が広がった距離を画素数により表したものとされ、
前記縮小手段は、前記ぼけの大きさの逆数を前記縮小率として前記入力画像を縮小する
請求項１に記載の画像処理装置。
【請求項３】
前記検出手段は、前記入力画像を用いたケプストラム解析により前記ぼけの大きさを検出する
請求項２に記載の画像処理装置。
【請求項４】
前記縮小手段は、前記ぼけの大きさが予め定められた閾値以上である場合に、前記入力画像を縮小し、
前記ぼけの大きさが前記閾値未満である場合、前記ぼけの大きさの検出結果に基づいて、前記ぼけが生じる空間周波数特性の逆特性を有するフィルタを生成する生成手段と、
前記フィルタを用いたフィルタ処理を前記入力画像に施して、前記入力画像から前記ぼけを除去するフィルタ処理手段とをさらに備える
請求項３に記載の画像処理装置。
【請求項５】
入力画像に基づいて、前記入力画像上の被写体のぼけの大きさを検出する検出手段と、
前記入力画像を前記ぼけの大きさにより定まる縮小率で縮小することで、前記入力画像上の前記ぼけを除去する縮小手段と、
縮小された前記入力画像を拡大する拡大手段と
を備える画像処理装置の画像処理方法であって、
前記検出手段が前記ぼけの大きさを検出し、
前記縮小手段が前記縮小率で前記入力画像を縮小し、
前記拡大手段が縮小された前記入力画像を拡大する
ステップを含む画像処理方法。
【請求項６】
入力画像に基づいて、前記入力画像上の被写体のぼけの大きさを検出し、
前記入力画像を前記ぼけの大きさにより定まる縮小率で縮小することで、前記入力画像上の前記ぼけを除去し、
縮小された前記入力画像を拡大する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、並びにプログラムに関し、特に、より確実に画像上のぼけを除去できるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
例えば、風景や人物を被写体として画像を撮像する場合に、撮像装置のフォーカスずれや、いわゆる手振れによって、撮像された画像がぼけてしまうことがある。そこで、画像のぼけを除去するべく、角速度センサからの出力に基づいて画像上に生じるぼけの大きさを推定し、そのぼけの特性を打ち消す逆フィルタを生成して、画像上のぼけを除去する撮像装置が提案されている（例えば、特許文献１参照）。
【０００３】
このような撮像装置では、生成された逆フィルタを用いたフィルタ処理が、撮像により得られた画像に施されて、画像処理によりぼけが除去される。例えば、一次元的な２画素分のぼけが検出され、そのぼけに対応するFIR（Finite Impulse Response）フィルタの係数が［１，１］であったとすると、逆フィルタの係数として、合成特性が１となるような係数［１，−１］が生成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２０５８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した技術では、画像から確実にぼけを除去することは困難であった。例えば、角速度センサを用いても、撮像装置に加えられた振動を精度よく求めることができるわけではないため、画像から完全にぼけを除去できる逆フィルタを生成することはできなかった。また、フィルタを用いてぼけを補正する画像処理は、いわば失われた画像信号を、ノイズに埋もれたぼけのある画像から無理に生成する処理となる。そのため、ぼけた画像に対して、そのぼけを除去する画像処理を施すと、画像の画質が著しく劣化してしまうことが多かった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、より確実に画像からぼけを除去することができるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の一側面の画像処理装置は、入力画像に基づいて、前記入力画像上の被写体のぼけの大きさを検出する検出手段と、前記入力画像を前記ぼけの大きさにより定まる縮小率で縮小することで、前記入力画像上の前記ぼけを除去する縮小手段と、縮小された前記入力画像を拡大する拡大手段とを備える。
【０００８】
前記ぼけの大きさを、前記入力画像上において生じたぼけにより、前記被写体の輪郭が広がった距離を画素数により表したものとし、前記縮小手段には、前記ぼけの大きさの逆数を前記縮小率として前記入力画像を縮小させることができる。
【０００９】
前記検出手段には、前記入力画像を用いたケプストラム解析により前記ぼけの大きさを検出させることができる。
【００１０】
前記縮小手段には、前記ぼけの大きさが予め定められた閾値以上である場合に、前記入力画像を縮小させ、前記ぼけの大きさが前記閾値未満である場合、前記ぼけの大きさの検出結果に基づいて、前記ぼけが生じる空間周波数特性の逆特性を有するフィルタを生成する生成手段と、前記フィルタを用いたフィルタ処理を前記入力画像に施して、前記入力画像から前記ぼけを除去するフィルタ処理手段とをさらに設けることができる。
【００１１】
本発明の一側面の画像処理方法またはプログラムは、入力画像に基づいて、前記入力画像上の被写体のぼけの大きさを検出し、前記入力画像を前記ぼけの大きさにより定まる縮小率で縮小することで、前記入力画像上の前記ぼけを除去し、縮小された前記入力画像を拡大するステップを含む。
【００１２】
本発明の一側面においては、入力画像に基づいて、前記入力画像上の被写体のぼけの大きさが検出され、前記入力画像が前記ぼけの大きさにより定まる縮小率で縮小することで、前記入力画像上の前記ぼけが除去され、縮小された前記入力画像が拡大される。
【発明の効果】
【００１３】
本発明の一側面によれば、より確実に画像からぼけを除去することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明を適用した画像処理装置の構成例を示す図である。
【図２】垂直アップサンプリング処理部の構成例を示す図である。
【図３】プロファイラ処理部の構成例を示す図である。
【図４】ダブラ処理部の構成例を示す図である。
【図５】ぼけ除去処理の概要を説明する図である。
【図６】ぼけ除去処理を説明するフローチャートである。
【図７】ぼけの大きさの検出について説明する図である。
【図８】垂直アップサンプリング処理を説明するフローチャートである。
【図９】本発明を適用した画像処理装置の他の構成例を示す図である。
【図１０】ぼけ除去処理を説明するフローチャートである。
【図１１】フィルタ処理によるぼけの除去を説明する図である。
【図１２】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明を適用した実施の形態について説明する。
【００１６】
〈第１の実施の形態〉
［画像処理装置の構成］
図１は、本発明を適用した画像処理装置１１の構成例を示す図である。
【００１７】
画像処理装置１１は、例えば、風景や人物などの被写体を撮像する撮像装置であり、ユーザの操作に応じて被写体を撮像し、得られた入力画像を表示する。
【００１８】
画像処理装置１１は、撮像部２１、信号処理部２２、ぼけ検出部２３、縮小部２４、拡大部２５、表示制御部２６、および表示部２７から構成される。
【００１９】
撮像部２１は、例えば、CCD（Charge Coupled Devices）などの撮像素子からなり、被写体から入射した光を受光して電気信号に変換することにより、入力画像を撮像する。撮像部２１は、撮像により得られた入力画像を信号処理部２２に供給する。信号処理部２２は、撮像部２１から供給された入力画像に対して、デモザイク処理やガンマ補正処理などの信号処理を施してぼけ検出部２３および縮小部２４に供給する。
【００２０】
ぼけ検出部２３は、信号処理部２２から供給された入力画像に基づいて、ケプストラム解析により、入力画像上の被写体に生じたぼけの大きさを検出し、その検出結果を縮小部２４に供給する。
【００２１】
ここで、入力画像上に生じるぼけとは、例えば、入力画像の撮像時に画像処理装置１１に加わる振動、つまりいわゆる手振れによって生じるぼけや、被写体からの光を撮像部２１の受光面上に結像させるレンズのフォーカスずれによって生じるぼけをいう。
【００２２】
また、ぼけの大きさとは、入力画像上において被写体の輪郭がぼけて広がった距離、すなわち被写体のぼけによる広がりの幅をいう。例えば、直線状の手振れにより、入力画像上の被写体の輪郭が、ぼけがない状態のときにあるべき位置から５画素分だけ所定方向に広がったとする。つまり、入力画像において、本来あるべき被写体の輪郭の位置だけでなく、その位置から５画素だけ離れた位置にもその輪郭があったとする。このような場合、その入力画像のぼけの大きさは、５画素とされる。
【００２３】
また、ぼけ検出部２３は、FFT（Fast Fourier Transform）演算部３１、ケプストラム画像生成部３２、および推定PSF（Point Spread Function）生成部３３を備えている。
【００２４】
FFT演算部３１は、信号処理部２２から供給された入力画像に高速フーリエ変換を施し、その結果得られたFFT画像をケプストラム画像生成部３２に供給する。ケプストラム画像生成部３２は、FFT演算部３１から供給されたFFT画像に基づいて、ケプストラム画像を生成し、推定PSF生成部３３に供給する。
【００２５】
推定PSF生成部３３は、ケプストラム画像生成部３２から供給されたケプストラム画像に基づいて、手振れ等に起因する入力画像の劣化の過程を表す推定PSFを生成することで、入力画像のぼけの大きさを求め、求めたぼけの大きさを縮小部２４に供給する。なお、推定PSF生成部３３により生成される推定PSFは、点広がり関数とも呼ばれている。
【００２６】
縮小部２４は、推定PSF生成部３３から供給されたぼけの大きさにより定まる縮小率で、信号処理部２２からの入力画像を縮小し、その結果得られた縮小画像を拡大部２５に供給する。例えば、画素数で表されるぼけの大きさの逆数が、縮小率とされ、間引きなどにより入力画像が縮小（ダウンサンプリング）される。
【００２７】
拡大部２５は、縮小部２４から供給された縮小画像を、もとの入力画像と同じ大きさに拡大し、その結果得られた出力画像を表示制御部２６に供給する。拡大部２５は、垂直アップサンプリング処理部３４および水平アップサンプリング処理部３５を備えている。
【００２８】
垂直アップサンプリング処理部３４は、縮小部２４からの縮小画像を、所定の方向（以下、垂直方向と呼ぶ）に拡大して、水平アップサンプリング処理部３５に供給する。また、水平アップサンプリング処理部３５は、垂直アップサンプリング処理部３４からの縮小画像を、垂直方向と直交する方向（以下、水平方向と呼ぶ）に拡大し、その結果得られた出力画像を表示制御部２６に供給する。
【００２９】
表示制御部２６は、水平アップサンプリング処理部３５からの出力画像を表示部２７に供給し、表示させる。表示部２７は、例えば液晶表示装置などからなり、表示制御部２６の制御に従って画像を表示させる。
【００３０】
［垂直アップサンプリング処理部の構成］
また、図１の垂直アップサンプリング処理部３４は、より詳細には、図２に示すように構成される。すなわち、垂直アップサンプリング処理部３４は、プロファイラ処理部６１、ダブラ処理部６２、およびエンハンス処理部６３から構成され、縮小部２４からの縮小画像は、プロファイラ処理部６１およびダブラ処理部６２に供給される。
【００３１】
プロファイラ処理部６１は、縮小部２４から供給された縮小画像を用いて、斜め補間処理に用いられるウェイトマップを生成し、ダブラ処理部６２に供給する。ここで、斜め補間処理とは、縮小画像の各領域におけるエッジの方向に並ぶ画素が用いられて、縮小画像の画素間に新たな画素を補間することにより、縮小画像を拡大（アップサンプリング）する処理である。
【００３２】
また、ウェイトマップとは、縮小画像の各領域において検出されたエッジの方向の確からしさの度合いを示す情報であり、ウェイトマップ上の画素の画素値が大きいほど、その画素と同じ位置の縮小画像の領域には、斜め補間処理がより効果的であることを示している。すなわち、ウェイトマップの画素の画素値が大きいほど、その画素と同じ縮小画像の領域を拡大するときに、画質の向上が期待できる。
【００３３】
また、プロファイラ処理部６１は、縮小部２４からの縮小画像を用いて、画像のエッジおよびテクスチャを強調するエンハンス処理用の重みを生成し、エンハンス処理部６３に供給する。なお、テクスチャとは、画像上において物体表面の模様など、画素の画素値がある程度変化し、画素値が急峻に変化するエッジの領域よりは画素値の変化が小さい領域をいう。
【００３４】
ダブラ処理部６２は、プロファイラ処理部６１から供給されたウェイトマップを用いて、斜め補間処理を行い、縮小部２４から供給された縮小画像を垂直方向に拡大し、エンハンス処理部６３に供給する。なお、以下、斜め補間処理により垂直方向に拡大された縮小画像を、垂直補間画像とも呼ぶこととする。
【００３５】
エンハンス処理部６３は、プロファイラ処理部６１から供給された重みを用いて、ダブラ処理部６２からの垂直補間画像にエンハンス処理を施して、水平アップサンプリング処理部３５に供給する。
【００３６】
［プロファイラ処理部の構成］
また、図２のプロファイラ処理部６１およびダブラ処理部６２は、より詳細には、図３および図４に示すように構成される。
【００３７】
図３は、プロファイラ処理部６１のより詳細な構成例を示す図である。
【００３８】
プロファイラ処理部６１は、方向検出部９１、信頼度検出部９２、コントラスト計算部９３、傾き選択部９４、斜め重み付け設定部９５、および重み算出部９６から構成される。
【００３９】
方向検出部９１は、縮小部２４から供給された縮小画像に基づいて、これから生成しようとする垂直補間画像の各補間画素について、補間画素近傍の領域におけるエッジの方向の分布を示す方向性分布を生成する。方向検出部９１は、生成した方向性分布を信頼度検出部９２、および傾き選択部９４乃至重み算出部９６に供給する。
【００４０】
ここで、補間画素とは、垂直補間画像上の画素であって、縮小画像に対して補間される画素をいう。また、以下において、垂直補間画像上において、補間されない画素、つまり縮小画像の画素を実在画素とも呼ぶこととする。
【００４１】
信頼度検出部９２は、縮小部２４から供給された縮小画像と、方向検出部９１から供給された方向性分布とに基づいて、方向性分布により示される各エッジの方向の確からしさを示す信頼度分布を生成し、傾き選択部９４乃至重み算出部９６に供給する。
【００４２】
コントラスト計算部９３は、縮小部２４からの縮小画像を用いて、これから生成しようとする垂直補間画像の各補間画素近傍の領域におけるコントラストの強さの度合いを示すコントラスト強度を生成し、重み算出部９６に供給する。また、コントラスト計算部９３は、生成したコントラスト強度に基づいて、垂直補間画像の各補間画素近傍の領域における、コントラスト強度に基づく重みWeight-contrast-Sからなるコントラスト分布を生成し、ダブラ処理部６２、傾き選択部９４、および斜め重み付け設定部９５に供給する。
【００４３】
傾き選択部９４は、方向検出部９１、信頼度検出部９２、およびコントラスト計算部９３から供給された、方向性分布、信頼度分布、およびコントラスト分布に基づいて、傾き選択情報を生成し、ダブラ処理部６２に供給する。傾き選択情報は、垂直補間画像上の補間画素を生成するために用いるべき画素が並んでいる方向を示す情報である。
【００４４】
斜め重み付け設定部９５は、方向検出部９１、信頼度検出部９２、およびコントラスト計算部９３から供給された、方向性分布、信頼度分布、およびコントラスト分布に基づいてウェイトマップを生成し、ダブラ処理部６２に供給する。重み算出部９６は、方向検出部９１、信頼度検出部９２、およびコントラスト計算部９３から供給された、方向性分布、信頼度分布、およびコントラスト強度に基づいて、エンハンス処理用の重みを生成し、エンハンス処理部６３に供給する。
【００４５】
［ダブラ処理部の構成］
図４は、ダブラ処理部６２のより詳細な構成例を示す図である。
【００４６】
ダブラ処理部６２は、線形補間部１２１、統計傾斜補間部１２２、および斜め合成部１２３から構成される。
【００４７】
線形補間部１２１は、縮小部２４から供給された縮小画像に基づいて、縮小画像を垂直方向に線形補間して、垂直補間画像の各補間画素（以下、線形補間画素とも称する）を求め、求めた補間画素と縮小画像とを斜め合成部１２３に供給する。
【００４８】
統計傾斜補間部１２２は、コントラスト計算部９３からのコントラスト分布と、縮小部２４から供給された縮小画像における、傾き選択部９４からの傾き選択情報により特定される画素とを用いて、垂直補間画像の各補間画素を求め、斜め合成部１２３に供給する。なお、以下、統計傾斜補間部１２２により求められた補間画素を統計傾斜補間画素とも称する。
【００４９】
斜め合成部１２３は、斜め重み付け設定部９５からのウェイトマップを用いて、線形補間部１２１からの線形補間画素と、統計傾斜補間部１２２からの統計傾斜補間画素とを合成し、垂直補間画像の補間画素の画素値を求める。また、斜め合成部１２３は、求めた補間画素と、線形補間部１２１からの縮小画像とから垂直補間画像を生成し、エンハンス処理部６３に供給する。
【００５０】
なお、図１の水平アップサンプリング処理部３５のより詳細な構成も、図２乃至図４に示した垂直アップサンプリング処理部３４の構成と同様であるため、その図示および説明は省略する。但し、垂直アップサンプリング処理部３４では、縮小画像の垂直方向が処理対象とされたのに対し、水平アップサンプリング処理部３５においては、縮小画像（垂直補間画像）の水平方向が処理対象とされ、縮小画像が水平方向に補間される。
【００５１】
［ぼけ除去処理の説明］
ところで、ユーザの操作により被写体の撮像が指示されると、画像処理装置１１は、ぼけ除去処理を開始する。ぼけ除去処理では、図５に示すように、被写体が撮像され、その結果得られた入力画像からぼけが除去される。
【００５２】
すなわち、撮像により入力画像ＩＰが得られ、入力画像ＩＰは、ぼけ検出部２３および縮小部２４に供給される。例えば、入力画像ＩＰの撮像時に、画像処理装置１１に振動が加えられた場合には、入力画像ＩＰ上の被写体にぼけが生じることになる。
【００５３】
ぼけ検出部２３は、供給された入力画像ＩＰから、推定PSF１５１を生成することにより、入力画像ＩＰに生じたぼけの大きさを検出し、その検出結果を縮小部２４に供給する。そして、縮小部２４は、ぼけ検出部２３からの検出結果を用いて、供給された入力画像ＩＰを縮小し、縮小画像ＳＰを生成する。このように、入力画像ＩＰを縮小することにより、入力画像ＩＰ上のぼけがより確実に除去される。
【００５４】
さらに、拡大部２５は、生成された縮小画像ＳＰを、もとの入力画像ＩＰと同じ大きさに拡大する。これにより、ぼけの除去された出力画像ＯＰが得られる。つまり、入力画像ＩＰを、より印刷、観賞に耐え得る出力画像ＯＰに補正することができる。
【００５５】
次に、図６のフローチャートを参照して、画像処理装置１１により行われるぼけ除去処理について、より詳細に説明する。
【００５６】
ステップＳ１１において、撮像部２１は入力画像を撮像し、信号処理部２２に供給する。信号処理部２２は、撮像部２１からの入力画像に対して、デモザイク処理やガンマ補正処理などの信号処理を施し、FFT演算部３１および縮小部２４に供給する。
【００５７】
なお、ぼけ除去処理の対象となる入力画像は、いわゆるプレビュー画像として撮像部２１により取り込まれる画像とされてもよいし、ユーザにより図示せぬシャッタボタンが押されてプレビュー画像からキャプチャされた画像とされてもよい。
【００５８】
ステップＳ１２において、FFT演算部３１は、信号処理部２２から供給された入力画像に高速フーリエ変換を施し、その結果得られたFFT画像をケプストラム画像生成部３２に供給する。このFFT画像は、入力画像に含まれる各周波数成分を示す画像である。
【００５９】
ステップＳ１３において、ケプストラム画像生成部３２は、FFT演算部３１から供給されたFFT画像に基づいて、ケプストラム画像を生成し、推定PSF生成部３３に供給する。すなわち、ケプストラム画像生成部３２は、FFT画像に対して対数演算、つまりFFT画像のLogをとる演算を行い、その演算結果に対して、逆高速フーリエ変換を施して、ケプストラム画像を得る。
【００６０】
ステップＳ１４において、推定PSF生成部３３は、ケプストラム画像生成部３２からのケプストラム画像に基づいて推定PSFを生成し、入力画像のぼけの大きさを求める。
【００６１】
例えば、画像処理装置１１に対して直線的な手振れが加えられて、入力画像上にぼけが発生した場合、ケプストラム画像上には２つの輝点が観測され、それらの輝点間の距離が、FFT画像の周波数の周期を示すことが知られている。推定PSF生成部３３は、ケプストラム画像上において、１または複数の画素からなる、最も輝度（画素値）が高い領域と、２番目に輝度が高い領域とを、２つの輝点として検出する。
【００６２】
そして、推定PSF生成部３３は、これから求めようとする推定PSFを、ケプストラム画像（FFT画像）と同じ大きさの画像であるとして、推定PSF上において、ケプストラム画像上の２つの輝点と同じ位置の領域を結ぶ線を線分ＳＧとする。
【００６３】
推定PSF生成部３３は、線分ＳＧを構成する推定PSF上の画素の画素値の合計値が１となるように、線分ＳＧを構成する各画素の画素値を定めるとともに、線分ＳＧを構成しない推定PSFの画素の画素値も定める。このとき、線分ＳＧを構成しない画素の画素値は、線分ＳＧを構成する画素の画素値よりも小さい値、例えば「０」とされる。
【００６４】
このようにして、推定PSFの各画素の画素値を定めることにより、点広がり関数である推定PSFが得られる。この推定PSFは、理想的な点像がぶれによりぼけたときの輝度分布、つまり画像処理装置１１に加えられたぶれの軌跡（移動した画像処理装置１１の軌跡）を表している。したがって、推定PSF上の線分ＳＧの長さが、入力画像上において被写体の輪郭がぶれにより広がった距離、すなわちぼけの大きさとなる。ぼけの大きさは、線分ＳＧの一方の端点から、他の端点までの間にある画素の数により表される。
【００６５】
ここで、ステップＳ１１からステップＳ１４の処理をまとめると、図７に示すように、まず撮像部２１により入力画像ＩＰが撮像され、入力画像ＩＰに対して高速フーリエ変換が施される。そして、その結果得られたFFT画像ＦＰに対して対数演算および逆高速フーリエ変換が施され、ケプストラム画像ＣＰが得られる。
【００６６】
図７の例では、ケプストラム画像ＣＰ上には、２つの輝点Ｌ１１および輝点Ｌ１２が観測される。さらに、ケプストラム画像ＣＰから、２つの輝点Ｌ１１および輝点Ｌ１２を結ぶ線分ＳＧを示す推定PSF１５１が生成され、この線分ＳＧの長さが、入力画像に生じたぼけの大きさとして求められる。
【００６７】
なお、ぼけの大きさの検出例として、直線的な手振れに起因するぼけの大きさを検出する場合について説明したが、その他、直線的なぼけに限らず、どのようなぼけを検出対象としてもよい。例えば、ぼけ検出部２３が入力画像を用いて、画像処理装置１１に加えられたぶれ（振動）の軌跡を表す画像を生成し、その画像におけるぶれの軌跡全体を囲む矩形の幅を、ぼけの大きさとして検出してもよい。これは、矩形の幅が、ぼけにより被写体が広がった距離を表しているからである。
【００６８】
図６のフローチャートの説明に戻り、推定PSF生成部３３は、ぼけの大きさを求めると、求めたぼけの大きさを縮小部２４に供給する。
【００６９】
ステップＳ１５において、縮小部２４は、推定PSF生成部３３から供給されたぼけの大きさにより定まる縮小率で、信号処理部２２から供給された入力画像を縮小し、縮小画像を生成する。入力画像の縮小（ダウンサンプリング）は、入力画像の画素を間引くことなどにより行われる。
【００７０】
例えば、ぼけの大きさがＢ画素である場合、入力画像上において、被写体の輪郭はＢ画素分だけ広がっているはずである。そこで、ぼけの大きさＢの逆数を縮小率として、入力画像をＢ分の１に縮小すれば、縮小後の入力画像（縮小画像）においてぼけが観察されなくなるはずである。
【００７１】
具体的には、直線状の４画素分のぼけが検出され、そのぼけに相当するFIRフィルタの係数が［１，１，１，１］であったとすると、入力画像は、１／４に縮小される。このように、入力画像に生じたぼけの大きさを検出し、検出されたぼけの大きさの分だけ入力画像を縮小すれば、入力画像からより簡単かつ確実にぼけを除去することができる。
【００７２】
縮小部２４は、入力画像を縮小すると、その結果得られた縮小画像を垂直アップサンプリング処理部３４に供給する。
【００７３】
ステップＳ１６において、垂直アップサンプリング処理部３４は、垂直アップサンプリング処理を行って、縮小部２４からの縮小画像を垂直方向に拡大し、水平アップサンプリング処理部３５に供給する。なお、垂直アップサンプリング処理の詳細は後述する。
【００７４】
ステップＳ１７において、水平アップサンプリング処理部３５は、水平アップサンプリング処理を行って、垂直アップサンプリング処理部３４からの垂直補間画像を水平方向に拡大し、その結果得られた出力画像を表示制御部２６に供給する。
【００７５】
なお、ステップＳ１７において行われる水平アップサンプリング処理は、ステップＳ１６において行われる垂直アップサンプリング処理と同様であるので、その説明は省略する。なお、水平アップサンプリング処理においては、垂直アップサンプリング処理により生成された垂直補間画像が処理対象とされ、その垂直補間画像が水平方向に拡大される。
【００７６】
また、水平アップサンプリング処理により最終的に得られる出力画像は、入力画像と同じ大きさの画像とされる。すなわち、ぼけが除去されるように入力画像が縮小され、縮小により得られた縮小画像を、縮小前のもとの大きさに拡大して得られた画像が出力画像であるから、出力画像は、入力画像からぼけを除去した画像ということができる。
【００７７】
ステップＳ１８において、表示制御部２６は、水平アップサンプリング処理部３５から供給された出力画像を表示部２７に供給して、表示部２７に出力画像を表示させ、ぼけ除去処理は終了する。
【００７８】
このようにして、画像処理装置１１は、入力画像からぼけの大きさを検出し、そのぼけの大きさの分だけ入力画像を縮小してから、得られた縮小画像を再びもとの大きさに拡大して、ぼけの除去された出力画像を得る。
【００７９】
このように、入力画像を縮小してぼけを除去した後、もとの大きさに拡大することにより、より簡単かつ確実に入力画像からぼけを除去することができる。しかも、ぼけを除去する処理によって、出力画像の画質が劣化してしまうようなこともない。
【００８０】
すなわち、従来は、入力画像からぼけを検出し、そのぼけの逆特性を有するフィルタを用いたフィルタ処理により入力画像からぼけを除去していた。このとき、ぼけをより確実に除去するには、ぼけの逆特性をより正確に求めることが必要であり、そのためには、精度よくぼけの大きさおよび形状を検出することが不可欠である。
【００８１】
ところが、ぼけの大きさおよび形状を精度よく検出することは困難であるため、正確な逆特性のフィルタを生成することはできなかった。その結果、入力画像からぼけを確実に除去することができないばかりか、フィルタ処理を施すことにより、かえって入力画像の画質が劣化してしまうことが多い。
【００８２】
これに対して、画像処理装置１１では、入力画像からぼけの大きさを検出し、その分だけ入力画像を縮小するだけであるので、ぼけの大まかな大きさが分かれば、縮小という簡単な処理により、より確実にぼけを除去することができる。しかも、入力画像を縮小するだけであるので、複雑な処理も不要であり、入力画像の画質が劣化してしまうこともない。また、縮小時に、ぼけの形状を求める必要もない。
【００８３】
さらに、画像処理装置１１では、縮小により得られた縮小画像を、再びもとの入力画像の大きさに拡大するため、画像が小さくなることも画質が劣化することもない。特に、縮小画像は、ぼけのない画像であるので、この縮小画像を拡大しても画質の劣化は殆どない。
【００８４】
このように、画像処理装置１１によれば、画像の縮小および拡大という安定したスケーリング処理により、画質を劣化させることなく、入力画像からぼけを除去することができる。
【００８５】
なお、検出されたぼけの大きさが充分小さく、入力画像からぼけを除去する必要がない場合には、入力画像の縮小、拡大が行われず、入力画像がそのまま出力画像として出力されるようにしてもよい。
【００８６】
そのような場合、例えば、縮小部２４は、推定PSF生成部３３から供給されたぼけの大きさが、予め定められた閾値ｔｈ１以上であるか否かを判定する。そして、縮小部２４は、閾値ｔｈ１以上であると判定された場合に入力画像を縮小し、閾値ｔｈ１未満であると判定された場合には、信号処理部２２からの入力画像を、そのまま出力画像として出力する。
【００８７】
また、縮小画像を入力画像の大きさまで拡大すると説明したが、出力画像は必ずしも入力画像と同じ大きさである必要はなく、任意の大きさとされてもよい。
【００８８】
さらに、撮像直後の入力画像を対象として、ぼけを除去する処理を行うと説明したが、撮像後、記録媒体等に記録されている入力画像を対象として、ぼけを除去する処理が行われるようにしてもよい。そのような場合、画像処理装置１１は、カメラ等の撮像装置である必要はなく、例えば、パーソナルコンピュータなどとされてもよい。
【００８９】
［垂直アップサンプリング処理の説明］
次に、図８のフローチャートを参照して、図６のステップＳ１６の処理に対応する垂直アップサンプリング処理について説明する。
【００９０】
ステップＳ４１において、方向検出部９１は、縮小部２４から供給された縮小画像に基づいて方向性分布を生成し、信頼度検出部９２、および傾き選択部９４乃至重み算出部９６に供給する。
【００９１】
具体的には、プロファイラ処理部６１は、これから生成しようとする垂直補間画像上の補間画素を１つ選択し、その補間画素を注目画素とするとともに、垂直補間画像上の注目画素を中心とする所定の大きさの領域を注目領域とする。
【００９２】
方向検出部９１は、注目領域内の補間画素を１つ選択して、選択した補間画素をエッジ方向検出画素とするとともに、そのエッジ方向検出画素の位置におけるエッジの方向を検出し、その検出結果を示すエッジ方向情報を生成する。方向検出部９１は、注目領域内の全ての補間画素をエッジ方向検出画素として、各補間画素について、エッジ方向を示すエッジ方向情報を生成する。
【００９３】
そして、方向検出部９１は、注目領域内の各補間画素のエッジ方向情報を、それらの補間画素の配置と同じ配置で並べた情報を方向性分布として生成する。したがって、この方向性分布は、注目領域におけるエッジ方向の分布を示しているということができる。方向検出部９１は、垂直補間画像の補間画素を、順次、注目画素として、垂直補間画像上の全ての補間画素について、方向性分布を生成する。
【００９４】
ステップＳ４２において、信頼度検出部９２は、縮小部２４から供給された縮小画像と、方向検出部９１から供給された方向性分布とに基づいて信頼度分布を生成し、傾き選択部９４乃至重み算出部９６に供給する。
【００９５】
具体的には、信頼度検出部９２は、垂直補間画像上の１つの補間画素を注目画素とし、その注目画素の方向性分布を選択する。また、信頼度検出部９２は、方向性分布に含まれる１つのエッジ方向情報を選択し、そのエッジ方向情報により示されるエッジの方向の信頼度（確からしさ）を検出する。
【００９６】
例えば、信頼度検出部９２は、エッジ方向情報の補間画素の仮の画素値を、垂直補間画像上において、その補間画素に対してエッジ方向情報に示されるエッジの方向に隣接する実在画素の画素値から求める。そして、信頼度検出部９２は、求めた画素の仮の画素値と、その画素の周囲にある垂直補間画像上の実在画素の画素値とを用いて、近傍の画素との間に整合性があるか否かを判定し、その判定結果に基づいて、エッジ方向の信頼度を示す信頼度情報を生成する。
【００９７】
例えば、処理対象の補間画素について、エッジ方向情報により示されるエッジ方向が確からしいとされた場合には、その補間画素の信頼度情報は「１」とされ、エッジ方向の信頼性が低い、つまり確からしくないとされた場合、信頼度情報は「０」とされる。
【００９８】
信頼度検出部９２は、方向性分布に含まれる各エッジ方向情報に対応する補間画素について信頼度情報を生成し、それらの補間画素の垂直補間画像上における配置と同じ配置で、各信頼度情報を並べた情報を信頼度分布とする。信頼度分布は、垂直補間画像上の全ての補間画素について生成される。
【００９９】
ステップＳ４３において、コントラスト計算部９３は、縮小部２４からの縮小画像を用いてコントラスト分布を生成する。
【０１００】
すなわち、コントラスト計算部９３は、上述した注目領域内の補間画素を、順次、エッジ方向検出画素とし、エッジ方向検出画素近傍の領域にある垂直補間画像の各実在画素間の画素値の差分の絶対値に、画素間の距離に応じた重みを乗じた値の総和を算出する。そして、コントラスト計算部９３は、得られた総和の値をコントラスト強度とし、注目領域内の各補間画素について、コントラスト強度を求める。このコントラスト強度は、垂直補間画像の補間画素近傍の領域全体におけるコントラストの強さの度合いを示している。
【０１０１】
コントラスト計算部９３は、注目領域内の各補間画素のコントラスト強度を求めると、同様にして垂直補間画像の全ての補間画素を注目画素とし、注目画素により定まる注目領域について各補間画素のコントラスト強度を求め、重み算出部９６に供給する。
【０１０２】
さらに、コントラスト計算部９３は、注目領域内の各補間画素について、その補間画素のコントラスト強度に基づく重みWeight-contrast-Sを求め、それらの重みを、補間画素の配置と同じ配置で配列してコントラスト分布とする。
【０１０３】
したがって、コントラスト分布は、注目領域内の各補間画素の重みの分布を示す情報となる。また、例えば、重みWeight-contrast-Sは、対応する補間画素のコントラスト強度が大きいほど大きくなる。
【０１０４】
コントラスト計算部９３は、垂直補間画像の全ての補間画素を注目画素として、各補間画素のコントラスト分布を生成し、統計傾斜補間部１２２、傾き選択部９４、および斜め重み付け設定部９５に供給する。
【０１０５】
ステップＳ４４において、傾き選択部９４は、方向検出部９１、信頼度検出部９２、およびコントラスト計算部９３から供給された、方向性分布、信頼度分布、およびコントラスト分布を用いて傾き選択処理を行い、傾き選択情報を生成する。
【０１０６】
例えば、傾き選択部９４は信頼度分布およびコントラスト分布に基づいて、各注目画素について、注目画素を中心とする注目領域内の補間画素のうち、信頼度情報が「１」であり、かつ重みWeight-contrast-Sが所定の閾値以上である補間画素を抽出する。
【０１０７】
そして、傾き選択部９４は方向性分布に基づいて、例えば、抽出した補間画素のエッジ方向情報により示されるエッジ方向のうち、最も数の多いエッジ方向を、注目画素の補間に用いるべき画素が並ぶ方向であるとして、その方向を示す傾き選択情報を生成する。すなわち、各方向について、注目領域内の一定の条件を満たす補間画素のうち、その方向をエッジ方向とする補間画素の数を求めた場合に、最も画素の数が多かった方向（エッジ方向）が、傾き選択情報により示される方向とされる。
【０１０８】
傾き選択情報により示される方向は、注目画素の周囲における大局的なエッジ方向であるから、注目画素におけるエッジ方向も、傾き選択情報により示される方向である可能性が高い。そこで、注目画素に対して、傾き選択情報により示される方向に隣接する（並ぶ）画素を用いて、注目画素を生成すれば、より画質の高い垂直補間画像を得ることができる。これは、エッジ方向と垂直な方向よりも、エッジ方向の方が、注目画素に類似する画素（近い色の画素）がある可能性が高く、より精度よく注目画素を予測することができるからである。
【０１０９】
傾き選択部９４は、垂直補間画像上の全ての補間画素について、傾き選択情報を生成すると、傾き選択情報、方向性分布、および信頼度分布を統計傾斜補間部１２２に供給する。
【０１１０】
ステップＳ４５において、斜め重み付け設定部９５は、方向検出部９１、信頼度検出部９２、およびコントラスト計算部９３から供給された、方向性分布、信頼度分布、およびコントラスト分布に基づいてウェイトマップを生成し、斜め合成部１２３に供給する。
【０１１１】
すなわち、斜め重み付け設定部９５は、垂直補間画像上の補間画素を、順次、注目画素として、注目画素ごとに、注目領域におけるエッジ方向の顕著性に基づく重みWeight-slantを求める。具体的には、斜め重み付け設定部９５は、注目領域内の各補間画素について、補間画素の信頼度情報の値、重みWeight-contrast-S、およびエッジ方向に応じた重みの積を求め、補間画素ごとに求めた積の総和を重みWeight-slantとする。
【０１１２】
したがって、注目画素の重みWeight-slantは、注目領域内の各補間画素におけるエッジ方向の信頼度が高いほど、かつ重みWeight-contrast-Sが大きいほど（注目領域におけるエッジの方向が顕著であるほど）、大きくなる。斜め重み付け設定部９５は、垂直補間画像の各補間画素の重みWeight-slantを求めると、その重みを、補間画素の配置と同じ配置で配列してウェイトマップとする。
【０１１３】
このようにして得られたウェイトマップの画素の画素値である重みWeight-slantは、エッジ方向の信頼度が高く、その注目画素近傍において、同じエッジ方向の画素が多いほど大きくなる。そのため、重みWeight-slantが大きいほど、注目画素のエッジ方向に並ぶ画素を用いて注目画素の画素値を算出すれば、より確からしい画素値を得ることができる。
【０１１４】
ステップＳ４６において、重み算出部９６は、方向検出部９１、信頼度検出部９２、およびコントラスト計算部９３から供給された方向性分布、信頼度分布、およびコントラスト強度に基づいてエンハンス処理用の重みを生成し、エンハンス処理部６３に供給する。
【０１１５】
例えば、エンハンス処理用の重みとして、エッジの強調に用いられる重みWeight-edgeと、テクスチャの強調に用いられる重みWeight-textureとが、垂直補間画像の補間画素（注目画素）ごとに求められる。
【０１１６】
具体的には、注目領域内の各補間画素について、補間画素の信頼度情報の値、コントラスト強度に応じた重み、およびエッジ方向に応じた重みの積が求められ、補間画素ごとに求められた積の総和が、注目画素の重みWeight-edgeとされる。なお、重みWeight-edgeの算出に用いられるコントラスト強度に応じた重みは、コントラスト強度が大きいほど大きくなるようにされる。
【０１１７】
同様に、注目領域内の各補間画素について、補間画素の信頼度情報の値、コントラスト強度に応じた重み、およびエッジ方向に応じた重みの積が求められ、補間画素ごとに求められた積の総和が、注目画素の重みWeight-textureとされる。なお、重みWeight-textureの算出に用いられるコントラスト強度に応じた重みは、テクスチャの領域に含まれる可能性が高い補間画素ほど大きくなるようにされる。
【０１１８】
ステップＳ４７において、線形補間部１２１は、縮小部２４から供給された縮小画像を垂直方向に線形補間して、垂直補間画像の各補間画素、つまり線形補間画素を求める。例えば、線形補間部１２１は、垂直補間画像上の注目画素に、垂直方向に隣接する複数の実在画素に対してフィルタ処理を施すことで線形補間を行い、注目画素（線形補間画素）の画素値を求める。そして、線形補間部１２１は、求めた線形補間画素と、縮小画像とを斜め合成部１２３に供給する。
【０１１９】
ステップＳ４８において、統計傾斜補間部１２２は、コントラスト計算部９３からのコントラスト分布と、傾き選択部９４からの傾き選択情報、方向性分布、および信頼度分布とを用いて、縮小部２４からの縮小画像に対して統計傾斜補間を行う。すなわち、統計傾斜補間により、垂直補間画像の各補間画素、つまり統計傾斜補間画素が求められる。
【０１２０】
具体的には、統計傾斜補間部１２２は、垂直補間画像上の注目画素に対して、傾き選択情報により示されるエッジ方向と、その方向に近い他のエッジ方向に隣接する垂直補間画像上の実在画素を、それらのエッジ方向に応じた重みで重み付け加算することにより、統計傾斜補間画素の画素値を求める。
【０１２１】
なお、この重み付け加算に用いられる重みは、エッジ方向ごとに、注目領域内の同じエッジ方向の補間画素であって、信頼度情報が「１」であり、かつコントラスト分布により示される重みWeight-contrast-Sが所定の値以上である補間画素の数により定まる。
【０１２２】
統計傾斜補間部１２２は、統計傾斜補間画素として、垂直補間画像上の各補間画素の画素値を求めると、求めた統計傾斜補間画素を斜め合成部１２３に供給する。
【０１２３】
ステップＳ４９において、斜め合成部１２３は、斜め重み付け設定部９５からのウェイトマップを用いて、線形補間部１２１からの線形補間画素と、統計傾斜補間部１２２からの統計傾斜補間画素とを合成し、垂直補間画像の補間画素の画素値を求める。
【０１２４】
すなわち、斜め合成部１２３は、垂直補間画像の補間画素を順次、注目画素として、注目画素と同じ位置にあるウェイトマップの画素の画素値である重みWeight-slantにより、注目画素と同じ位置の線形補間画素と統計傾斜補間画素とを重み付け加算して、注目画素の画素値を求める。
【０１２５】
重み付け加算では、重みWeight-slantが大きいほど、つまりエッジの方向が顕著な領域に位置する画素ほど、注目画素の生成への統計傾斜補間画素の寄与率が高くなるようにされる。このようにして得られた各補間画素の画素値と、縮小画像とから、垂直補間画像が生成される。斜め合成部１２３は、生成した垂直補間画像をエンハンス処理部６３に供給する。
【０１２６】
ステップＳ５０において、エンハンス処理部６３は、重み算出部９６から供給されたエンハンス処理用の重みを用いて、斜め合成部１２３からの垂直補間画像にエンハンス処理を施して、水平アップサンプリング処理部３５に供給する。垂直補間画像にエンハンス処理が施されると、垂直アップサンプリング処理は終了し、処理は図６のステップＳ１７に進む。
【０１２７】
具体的には、エンハンス処理部６３は、斜め合成部１２３からの垂直補間画像に対して、テクスチャフィルタ処理を施して、テクスチャ画像を生成する。ここで、テクスチャフィルタ処理とは、垂直補間画像における所定の周波数帯域の成分、つまりテクスチャの領域を強調し、画像全体をより鮮明にする処理をいう。
【０１２８】
また、エンハンス処理部６３は、重みWeight-textureを用いて、得られたテクスチャ画像と、垂直補間画像とを重み付け加算し、テクスチャ混合画像を生成する。なお、この重み付け加算では、テクスチャ成分をより多く含む領域ほど、テクスチャ混合画像の生成に対するテクスチャ画像の寄与率がより高くなるようにされる。また、より詳細には、重みWeight-textureは、垂直補間画像の大きさに合わせてアップサンプリングされて、重み付け加算に用いられる。
【０１２９】
次に、エンハンス処理部６３は、斜め合成部１２３からの垂直補間画像に対して、エッジフィルタ処理を施して、エッジ画像を生成する。ここで、エッジフィルタ処理とは、垂直補間画像におけるエッジを強調する処理をいう。
【０１３０】
さらに、エンハンス処理部６３は、重みWeight-edgeを用いて、得られたエッジ画像と、テクスチャ混合画像とを重み付け加算し、最終的な垂直補間画像を生成する。なお、この重み付け加算では、エッジ成分をより多く含む領域ほど、最終的な垂直補間画像の生成に対するエッジ画像の寄与率がより高くなるようにされる。また、より詳細には、重みWeight-edgeは、垂直補間画像の大きさに合わせてアップサンプリングされて、重み付け加算に用いられる。
【０１３１】
以上のように、画像のエッジ方向とその信頼度、およびコントラスト強度に基づいて、エッジ方向を考慮して縮小画像の画素を補間することにより、周囲の画素と調和の取れた画素を得ることができ、垂直補間画像の画質を向上させることができる。
【０１３２】
なお、拡大部２５により縮小画像を拡大する処理は、以上において説明した斜め補間処理に限らず、線形補間処理やクラス分類適応処理など、どのような処理であってもよい。
【０１３３】
例えば、入力画像として時間的に連続する画像が撮像される場合には、処理対象の入力画像から得られた縮小画像と、その入力画像の直前の時刻の入力画像から得られた出力画像とが用いられて、超解像処理により処理対象の縮小画像が拡大されてもよい。
【０１３４】
なお、超解像処理の詳細は、例えば、特開２００８−１４００１２号公報に記載されている。また、以上において説明した斜め補間処理の詳細は、例えば特開２００６−１５５１７９号公報に記載されている。
【０１３５】
〈第２の実施の形態〉
［画像処理装置の構成］
さらに、以上においては、入力画像を縮小および拡大することにより、入力画像のぼけを除去すると説明したが、入力画像上のぼけが小さい場合には、フィルタ処理によっても充分な精度でぼけを除去することができる。そこで、ぼけが小さい場合には、フィルタ処理によりぼけの除去を行い、ぼけがある程度大きい場合には、入力画像の縮小および拡大によりぼけの除去を行うようにしてもよい。
【０１３６】
そのような場合、画像処理装置１１は、例えば、図９に示すように構成される。なお、図９において、図１における場合と対応する部分には同一の符号を付してあり、その説明は適宜、省略する。
【０１３７】
図９の画像処理装置１１は、図１の場合と比べて、フィルタ処理部２０１が設けられている点、およびぼけ検出部２３内に判定部２１１が設けられている点が異なり、その他の点では一致している。
【０１３８】
図９の画像処理装置１１では、信号処理部２２から出力された入力画像は、FFT演算部３１、縮小部２４、およびフィルタ処理部２０１に供給される。
【０１３９】
判定部２１１は、推定PSF生成部３３からのぼけの大きさの検出結果に基づいて、ぼけの大きさが予め定められた閾値以上である場合、ぼけの大きさを縮小部２４に供給してぼけを除去させる。また、判定部２１１は、ぼけの大きさが閾値未満である場合、推定PSF生成部３３からの推定PSFをフィルタ処理部２０１に供給して、ぼけを除去させる。
【０１４０】
フィルタ処理部２０１は、判定部２１１からの推定PSFからフィルタを生成し、そのフィルタを用いたフィルタ処理を、信号処理部２２からの入力画像に施して出力画像を生成し、表示制御部２６に供給する。
【０１４１】
フィルタ処理部２０１は、フィルタ生成部２１２、FFT演算部２１３、乗算部２１４、および逆FFT演算部２１５から構成される。
【０１４２】
フィルタ生成部２１２は、判定部２１１からの推定PSFを用いて、入力画像に生じたぼけの特性を打ち消す、つまりぼけの逆特性を有するフィルタを生成し、乗算部２１４に供給する。FFT演算部２１３は、信号処理部２２から供給された入力画像に対して、高速フーリエ変換を施してFFT画像を生成し、乗算部２１４に供給する。
【０１４３】
乗算部２１４は、フィルタ生成部２１２から供給されたフィルタを用いて、FFT演算部２１３からのFFT画像にフィルタ処理を施して、逆FFT演算部２１５に供給する。逆FFT演算部２１５は、乗算部２１４から供給されたFFT画像に対して、逆高速フーリエ変換を施して出力画像を生成し、表示制御部２６に供給する。
【０１４４】
また、表示制御部２６は、拡大部２５または逆FFT演算部２１５の何れかから供給された出力画像を、入力画像からぼけが除去された画像として表示部２７に表示させる。
【０１４５】
［ぼけ除去処理の説明］
次に、図１０のフローチャートを参照して、図９の画像処理装置１１により行われるぼけ除去処理について説明する。なお、ステップＳ８１乃至ステップＳ８４の処理のそれぞれは、図６のステップＳ１１乃至ステップＳ１４の処理のそれぞれと同様であるので、その説明は省略する。
【０１４６】
ステップＳ８４において、推定PSF生成部３３により推定PSFが生成されてぼけの大きさが検出されると、生成された推定PSFと、ぼけの大きさとが推定PSF生成部３３から判定部２１１に供給される。
【０１４７】
すると、ステップＳ８５において、判定部２１１は、推定PSF生成部３３から供給されたぼけの大きさが、閾値以上であるか否かを判定する。
【０１４８】
ステップＳ８５において、閾値以上であると判定された場合、ぼけはある程度大きく、フィルタ処理では精度よくぼけを除去することが困難であるので、判定部２１１は推定PSF生成部３３からのぼけの大きさを縮小部２４に供給する。そして、判定部２１１は、縮小部２４に、入力画像の縮小処理および拡大処理によるぼけの除去を指示し、処理はステップＳ８６に進む。
【０１４９】
そして、その後、ステップＳ８６乃至ステップＳ８８の処理が行われて、縮小処理および拡大処理によりぼけの除去された出力画像が生成されるが、これらの処理は図６のステップＳ１５乃至ステップＳ１７の処理のそれぞれと同様であるので、その説明は省略する。
【０１５０】
ステップＳ８８において、水平アップサンプリング処理が行われ、拡大部２５から表示制御部２６に出力画像が供給されると、その後、処理はステップＳ９２に進む。
【０１５１】
一方、ステップＳ８５において、ぼけの大きさが閾値未満であると判定された場合、ぼけは小さく、フィルタ処理によっても精度よくぼけを除去することができるので、判定部２１１は、推定PSF生成部３３からの推定PSFをフィルタ生成部２１２に供給する。そして、判定部２１１は、フィルタ処理部２０１にフィルタ処理によるぼけの除去を指示し、処理はステップＳ８９に進む。
【０１５２】
ステップＳ８９において、フィルタ生成部２１２は、判定部２１１からの推定PSFを用いて、ぼけが生じる空間周波数特性の逆特性を有するフィルタＷを生成し、乗算部２１４に供給する。
【０１５３】
例えば、フィルタ生成部２１２は、推定PSFに対して高速フーリエ変換を施して画像（関数）Ｈを得るとともに、得られた画像Ｈの複素共役を取り、画像（関数）Ｈ’を得る。すなわち、画像Ｈ上の所定の画素の画素値の複素共役な数（値）が求められ、その求められた値が、その所定の画素と同じ位置にある画像Ｈ’の画素の画素値とされる。
【０１５４】
そして、フィルタ生成部２１２は、得られた画像Ｈおよび画像Ｈ’を用いて、次式（１）を計算し、ぼけの逆特性を有するフィルタＷを生成する。
【０１５５】
Ｗ＝（Ｈ’）／（Ｈ×Ｈ’＋α）      ・・・（１）
【０１５６】
なお、式（１）において、αは、ぼけのない入力画像の復元の強度、つまり画像の鮮鋭度をコントロールするパラメータであり、例えば、αは「0.03」などとされる。また、より詳細には、式（１）における「Ｈ」および「Ｈ’」には、画像Ｈおよび画像Ｈ’の同じ位置にある画素の画素値が代入され、その画素に対応するフィルタＷの係数が得られる。つまり、フィルタＷは、画像Ｈの画素のそれぞれに対応する係数のそれぞれからなる。
【０１５７】
このようにして得られたフィルタＷは、一般に、Wienerフィルタと呼ばれている。フィルタ生成部２１２は、フィルタＷを生成すると、得られたフィルタＷを乗算部２１４に供給する。
【０１５８】
ステップＳ９０において、FFT演算部２１３は、信号処理部２２から供給された入力画像に対して、高速フーリエ変換を施してFFT画像を生成し、乗算部２１４に供給する。
【０１５９】
ステップＳ９１において、乗算部２１４は、フィルタ生成部２１２から供給されたフィルタＷを用いて、FFT演算部２１３からのFFT画像にフィルタ処理を施して、逆FFT演算部２１５に供給する。
【０１６０】
すなわち、FFT画像と画像Ｈ（画像Ｈ’）とは同じ大きさの画像であり、フィルタＷの係数は、FFT画像の画素ごとに求められる。乗算部２１４は、FFT画像の各画素に、その画素に対して求められているフィルタＷの係数を乗算することで、FFT画像にフィルタＷを用いたフィルタ処理を施す。
【０１６１】
また、逆FFT演算部２１５は、乗算部２１４から供給された、フィルタ処理の施されたFFT画像に対して逆高速フーリエ変換を施すことで、出力画像を生成する。この出力画像は、入力画像からフィルタ処理によりぼけを除去することで得られた画像である。逆FFT演算部２１５は、得られた出力画像を表示制御部２６に供給する。
【０１６２】
ここで、ステップＳ８９からステップＳ９１の処理をまとめると、図１１に示すように、まず推定PSF１５１に高速フーリエ変換が施されて画像Ｈが生成され、得られた画像Ｈの複素共役が取られて画像Ｈ’がさらに得られる。そして、画像Ｈ、画像Ｈ’、および予め設定されたパラメータαから、フィルタＷが生成される。
【０１６３】
また、入力画像ＩＰに高速フーリエ変換が施されてFFT画像ＦＰ’が生成され、乗算部２１４において、得られたFFT画像ＦＰ’にフィルタＷの係数が乗算され、さらにその結果得られた画像に逆高速フーリエ変換が施されて、出力画像ＯＰ’が生成される。
【０１６４】
図１０のフローチャートの説明に戻り、ステップＳ９１において出力画像が生成されると、その後、処理はステップＳ９２に進む。
【０１６５】
ステップＳ９２において、表示制御部２６は、拡大部２５の水平アップサンプリング処理部３５、または逆FFT演算部２１５の何れかから供給された出力画像を表示部２７に供給して、表示部２７に出力画像を表示させ、ぼけ除去処理は終了する。
【０１６６】
すなわち、入力画像の縮小処理および拡大処理により出力画像が生成された場合には、拡大部２５から表示制御部２６に出力画像が供給されるので、その出力画像が表示される。これに対して、フィルタ処理により出力画像が生成された場合には、逆FFT演算部２１５から出力画像が供給されるので、その出力画像が表示される。
【０１６７】
このようにして、画像処理装置１１は、検出されたぼけの大きさに応じて、縮小処理および拡大処理、またはフィルタ処理の何れかの方法により出力画像を生成する。このように、ぼけの大きさに応じて、縮小処理および拡大処理、またはフィルタ処理により出力画像を生成することでも、より簡単かつ確実に入力画像からぼけを除去することができる。また、ぼけを除去する処理によって、出力画像の画質が劣化してしまうようなこともない。
【０１６８】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１６９】
図１２は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１７０】
コンピュータにおいて、CPU（Central Processing Unit）３０１，ROM（Read Only Memory）３０２，RAM（Random Access Memory）３０３は、バス３０４により相互に接続されている。
【０１７１】
バス３０４には、さらに、入出力インターフェース３０５が接続されている。入出力インターフェース３０５には、キーボード、マウス、マイクロホンなどよりなる入力部３０６、ディスプレイ、スピーカなどよりなる出力部３０７、ハードディスクや不揮発性のメモリなどよりなる記録部３０８、ネットワークインターフェースなどよりなる通信部３０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３１１を駆動するドライブ３１０が接続されている。
【０１７２】
以上のように構成されるコンピュータでは、CPU３０１が、例えば、記録部３０８に記録されているプログラムを、入出力インターフェース３０５及びバス３０４を介して、RAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０１７３】
コンピュータ（CPU３０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア３１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１７４】
そして、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インターフェース３０５を介して、記録部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記録部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記録部３０８に、あらかじめインストールしておくことができる。
【０１７５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１７６】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１７７】
１１  画像処理装置，  ２３  ぼけ検出部，  ２４  縮小部，  ２５  拡大部，  ３１  FFT演算部，  ３２  ケプストラム画像生成部，  ３３  推定PSF生成部，  ２０１  フィルタ処理部，  ２１１  判定部
【図１】
2011035514.tif 000003
【図２】
2011035514.tif 000004
【図３】
2011035514.tif 000005
【図４】
2011035514.tif 000006
【図５】
2011035514.tif 000007
【図６】
2011035514.tif 000008
【図７】
2011035514.tif 000009
【図８】
2011035514.tif 000010
【図９】
2011035514.tif 000011
【図１０】
2011035514.tif 000012
【図１１】
2011035514.tif 000013
【図１２】
2011035514.tif 000014