(57)【要約】【課題】入力画像の画像劣化を客観的な指標で検出して、検出結果に基づいて復元画像または画像分類を実行する。【解決手段】入力画像の特徴量の平面分布を算出する特徴量算出部と、特徴量の平面分布に基づいて入力画像の画像劣化方向を得る特徴量解析部と、を備える画像処理装置を提供する。特徴量算出部は、入力画像を周波数変換して、特徴量の平面分布を算出してよい。また、特徴量算出部は、入力画像の縦方向および横方向の画素値の差分をそれぞれ算出して、特徴量の平面分布を得てもよい。【選択図】図１
2013054457.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の特徴量の平面分布を算出する特徴量算出部と、
前記特徴量の平面分布に基づいて前記入力画像の画像劣化方向及び画像劣化強度を得る特徴量解析部と、
を備える画像処理装置。
【請求項２】
前記特徴量算出部は、前記入力画像を周波数変換して、前記特徴量の平面分布を算出する請求項１に記載の画像処理装置。
【請求項３】
前記特徴量算出部は、前記入力画像の縦方向および横方向の画素値の差分をそれぞれ算出して、前記特徴量の平面分布を得る請求項１に記載の画像処理装置。
【請求項４】
前記特徴量算出部は、前記入力画像の予め定められた領域において前記特徴量の平面分布を算出する請求項２または３に記載の画像処理装置。
【請求項５】
前記特徴量解析部は、前記平面分布における前記特徴量の偏りの方向と強度を解析して画像劣化強度および前記画像劣化方向を得る請求項１に記載の画像処理装置。
【請求項６】
前記画像劣化強度および前記画像劣化方向から、ボケ関数の初期値を算出するボケ関数算出部を更に備える請求項５に記載の画像処理装置。
【請求項７】
前記特徴量解析部は、前記特徴量の前記平面分布における、画像劣化強度が最大となる第１の方向と、画像劣化強度が最小となる第２の方向とを決定し、
前記ボケ関数算出部は、前記第１の方向および前記第２の方向に応じた、それぞれの画像劣化度に依存する前記ボケ関数の初期値をそれぞれ算出する請求項６に記載の画像処理装置。
【請求項８】
前記ボケ関数の初期値を初期条件として、前記入力画像を復元した復元画像を生成する復元画像生成部を更に備える請求項６または７に記載の画像処理装置。
【請求項９】
前記復元画像生成部は、復元画像を生成する処理を繰り返して、前記復元画像に対し前記ボケ関数を適用した画像と前記入力画像との差分を含む形で定義された目的関数の値を、より小さく収束させる処理にて前記復元画像を生成する
請求項８に記載の画像処理装置。
【請求項１０】
前記ボケ関数算出部は、前記目的関数をより小さく収束させる前記復元画像について、前記目的関数をより小さく収束させるように前記ボケ関数を更新する請求項９に記載の画像処理装置。
【請求項１１】
前記入力画像の前記画像劣化強度から、画像劣化度を算出する劣化度算出部を備える請求項１から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記劣化度算出部は、前記画像劣化方向、および前記画像劣化方向における画像劣化強度から、画像劣化度を算出する請求項１１に記載の画像処理装置。
【請求項１３】
前記劣化度算出部は、画像劣化が最大となる第１の方向と前記第１の方向の画像劣化強度、及び／または画像劣化が最小となる第２の方向と前記第２の方向の画質劣化強度から、前記画像劣化度を算出する請求項１１に記載の画像処理装置。
【請求項１４】
前記第１の方向の画像劣化強度および前記第２の方向の画像劣化強度に応じて、前記入力画像に画像処理を施す処理部を更に備える請求項１３に記載の画像処理装置。
【請求項１５】
前記処理部が施す画像処理は、前記第１の方向に対して前記第２の方向よりも強いエッジ強調である請求項１４に記載の画像処理装置。
【請求項１６】
前記入力画像の前記画像劣化度と、予め定められた許容劣化度または他の入力画像の画像劣化度とを比較して、複数の入力画像の優劣を判定する判定部を更に備える請求項１１から１５のいずれか１項に記載の画像処理装置。
【請求項１７】
前記判定部は、同一被写体が撮像された複数の撮像画像の中で、前記画像劣化度に基づいて優劣を判定する請求項１６に記載の画像処理装置。
【請求項１８】
入力画像の特徴量の平面分布を算出し、
前記特徴量の平面分布に基づいて前記入力画像の画像劣化方向及び画像劣化強度を得る
画像処理方法。
【請求項１９】
コンピュータを、請求項１から１７のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
デジタルカメラ等で撮影されたデジタル画像から画像の劣化度合いを検出する技術が、検討されている。画像の劣化度合いが正しく見積もれると、複数の画像から最も劣化度合いの少ない画像を抽出する事ができる。
【０００３】
さらに、カメラ等で撮像された劣化を含む画像を、撮像後の画像処理で復元する手法が従来から知られている。例えば、撮像に用いたレンズに応じた像のボケ、および撮像時点での手ブレによる画像のボケ等を復元する画像処理方法が提案されている。（例えば、特許文献１および非特許文献１参照）。しかし、多くの画像復元の手法では、処理画像の劣化度合いを予め見積もっておく必要がある。
【０００４】
特許文献１  特開２０１０−２６９７７号公報
非特許文献１  G. K. Chantas, N. P. Galatsanos and A. C. Likas, "Bayesian Restoration Using a New Nonstationary Edge-Preserving Image Prior", IEEE Trans. Image Processing, vol. 15, pp.2987-2997, 2006
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザがボケおよび／またはブレを含む画像を複数撮像した場合、複数の画像からボケおよびブレがより少ない画像を取捨選択しなければならない場合がある。このような作業を画像処理によって自動で実行させる為には、目標となる画像劣化度合いを示す、客観的な指標値の算出が必要となる。しかし従来の手法では、多くの指標値が、人間の主観が入り、目標値を決定した人間の趣味および趣向が反映するものであったり、画像の高周波成分のみを考慮し、画像の劣化度合いを正しく見積もっていないものであったりした。
【０００６】
また、画像の劣化除去処理を行う従来方法では、撮像によって得られたボケ画像が、ボケの無い理想画像をボカす事で得られると仮定する。即ち、理想画像をボケ関数を用いて劣化させて、入力されたたボケのある画像と最も近くなる理想画像を推定することで、ボケの無い理想画像を復元する。
【０００７】
このような手法では、ボケ関数を既知の関数として処理するため、復元処理に幾つか問題がある事が指摘されている。具体的には、理想画像に対しボケ関数を適用した劣化予測画像と、撮像によって得られたボケ画像との差分を含む関数形で目的関数が定義される。当該目的関数を小さく収束させるように画像処理を繰り返す場合に、初期値として与えられたボケ関数が、実際のボケ関数と異なってしまうと収束するまでに時間がかかっていた。さらに、全く異なるボケ関数を初期値として用いると、所望の結果が得られない事もある。
【課題を解決するための手段】
【０００８】
本発明の第１の態様においては、入力画像の特徴量の平面分布を算出する特徴量算出部と、特徴量の平面分布に基づいて入力画像の画像劣化方向を得る特徴量解析部と、を備える画像処理装置を提供する。
【０００９】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る画像処理装置１００の構成例を示す。
【図２】本実施形態に係る画像処理装置１００による画像復元の処理フローを示す。
【図３】ステップ３００において入力される撮像画像の周波数強度分布の一例を示す。
【図４】手ぶれ補正機能を用いた場合の、図３と同じ被写体を撮像した画像の周波数強度分布の一例を示す。
【図５】本実施形態に係る画像復元処理によって得られる復元画像の周波数強度分布の一例を示す。
【図６】ステップ３００において入力される撮像画像の一例を示す。
【図７】本実施形態に係る画像復元処理によって得られる復元画像の一例を示す。
【図８】本実施形態に係る画像処理装置１００による画像劣化度検出の処理フローを示す。
【図９】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１１】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１２】
（第１の実施形態）
図１は、本実施形態に係る画像処理装置１００の構成例を示す。画像処理装置１００は、入力画像の画像劣化を客観的な指標で検出して、検出結果に基づいて画像復元または画像分類を実行する。画像処理装置１００は、特徴量算出部１１０と、特徴量解析部１２０と、ボケ関数算出部１３０と、復元画像生成部１４０と、劣化度算出部１５０と、判定部１６０と、処理部１７０とを備える。
【００１３】
特徴量算出部１１０は、入力画像の特徴量の平面分布を算出する。ここで、入力画像は、ボケ復元の対象となる撮像画像等でよい。例えば、デジタルカメラ等で撮像され、撮像時点で手ブレおよび／またはレンズのボケ等が含まれた撮像画像である。特徴量算出部１１０は、このような撮像画像のデジタルデータを、入力画像としてよい。
【００１４】
特徴量算出部１１０は、入力画像の周波数強度を特徴量としてよく、この場合、周波数強度の平面分布を算出する。即ち、特徴量算出部は、入力画像を周波数変換して、特徴量である周波数強度の平面分布を算出する。ここで、周波数変換は、２次元フーリエ変換によって実行されてよく、変換後の２次元データは、縦軸および横軸が各方向の周波数軸となる周波数強度の平面分布である。
【００１５】
また、特徴量算出部１１０は、入力画像のエッジ情報を特徴量としてよい。この場合、特徴量算出部１１０は、入力画像の縦方向および横方向の画素値の差分をそれぞれ算出して、特徴量であるエッジ情報の平面分布を得る。ここで、画素値は、ＲＧＢで表現される色情報であってよく、この場合、Ｒ（赤）、Ｇ（緑）、およびＢ（青）のうちの一つの画素値でよい。これに代えて、特徴量算出部１１０は、２以上の色情報の画素値の差分を入力画像のエッジ情報としてよい。これに代えて、特徴量算出部１１０は、入力画像の画素毎の輝度値の差分を、入力画像のエッジ情報としてよい。
【００１６】
特徴量解析部１２０は、特徴量の平面分布に基づいて入力画像の画像劣化方向を得る。例えば、特徴量解析部１２０は、特徴量の平面分布が、画像の中央を中心とした円と比較して偏っている方向を、画像劣化方向とする。また、特徴量解析部１２０は、特徴量の平面分布に基づき、入力画像の画像劣化方向における画像劣化強度を得てよい。即ち、特徴量解析部１２０は、平面分布における特徴量の偏りの方向と強度を解析して画像劣化強度および画像劣化方向を得る。
【００１７】
例えば、特徴量解析部１２０は、入力画像の周波数強度を特徴量とした場合、より周波数強度の分布が広がっている方向を画像劣化がより少ない方向とする。また、特徴量解析部１２０は、より周波数強度の分布が狭く偏っている方向を画像劣化がより大きい方向とする。
【００１８】
これに代えて、特徴量解析部１２０は、入力画像のエッジ情報を特徴量とした場合、より画素値の差分が大きい方向を画像劣化がより小さい方向とする。また、特徴量解析部１２０は、より画素値の差分が小さく偏っている方向を画像劣化がより大きい方向とする。
【００１９】
特徴量解析部１２０は、特徴量の平面分布における、画像劣化が最大となる第１の方向と、画像劣化が最小となる第２の方向とを決定してよい。ここで、画像劣化が手ブレによって発生した場合、第１の方向での劣化強度と第２の方向での劣化強度は異なる。また、画像劣化がレンズ等によるボケの場合、ほぼ等方的に画像が劣化するので、第１の方向の劣化強度と第２の方向の劣化強度はほぼ等しくなる。また、画像劣化が手ブレとレンズ等によるボケとを含む場合、ボケによる等方的な広がりと、ブレによる偏りが重畳される形になり、第１の方向の劣化強度と第２の方向の劣化強度は、手ブレの影響とレンズによるボケを反映した形で表される。
【００２０】
ボケ関数算出部１３０は、特徴量解析部１２０が決定した画像劣化強度および画像劣化方向から、ボケ関数の初期値を算出する。例えば、ボケ関数算出部１３０は、画像劣化方向がほぼ等方的な場合、レンズ等によるボケに応じたボケ関数を選択する。ボケ関数算出部１３０は、画像劣化強度に応じて汎用のボケ関数、レンズのデフォーカスによるボケを与えるボケ関数、または画像の拡大、縮小により生じるボケを与えるボケ関数等を選択してよい。また、ボケ関数算出部１３０は、画像劣化強度に応じて、ボケ関数のフィルタサイズ等のパラメータを設定してボケ関数を算出してよい。
【００２１】
また、ボケ関数算出部１３０は、第１の方向および第２の方向に応じたボケ関数の初期値をそれぞれ算出する。ボケ関数算出部１３０は、第１の方向には第１の方向の劣化強度に応じたボケ関数を、第２の方向には第２の方向の劣化強度に応じたボケ関数を、それぞれ算出する。例えば、ボケ関数算出部１３０は第１の方向の劣化強度と第２の方向の劣化強度の比較によって、第１の方向には手ブレによるボケを与えるボケ関数を算出し、第２の方向にはレンズ等によるボケに応じたボケ関数を算出する。
【００２２】
復元画像生成部１４０は、ボケ関数算出部１３０が算出したボケ関数の初期値を初期条件として、入力画像を復元した復元画像を生成する。例えば、復元画像生成部１４０は、理想画像がボケ関数でボカされていると仮定して、理想画像にボケ関数を用いてボカすことによって入力画像が得られるように、理想画像を生成する。
【００２３】
劣化度算出部１５０は、特徴量解析部１２０が決定した入力画像の画像劣化方向から、画像劣化度を算出する。例えば、劣化度算出部１５０は、入力画像の手ブレの有無、および手ブレの方向に応じて画像劣化度を算出する。
【００２４】
また、劣化度算出部１５０は、特徴量解析部１２０が入力画像の平面分布に基づいて得る画像劣化方向および当該画像劣化方向における画像劣化強度から、画像劣化度を算出してよい。例えば、劣化度算出部１５０は、入力画像の手ブレの方向および手ブレによる画像劣化強度に応じて画像劣化度を算出する。
【００２５】
また、劣化度算出部１５０は、画像劣化が最大となる第１の方向と第１の方向の画像劣化強度、または画像劣化が最小となる第２の方向と第２の方向の画質劣化強度から、画像劣化度を算出してよい。例えば、劣化度算出部１５０は、入力画像の手ブレが最も大きい方向に着目し、最も手ブレの大きい方向における画像劣化強度に応じて画像劣化度を算出する。
【００２６】
また、劣化度算出部１５０は、入力画像の手ブレが最も小さい方向に着目し、最も手ブレの小さい方向における画像劣化強度に応じて画像劣化度を算出する。ここで、特徴量を入力画像の周波数強度とした場合、最も手ブレの小さい方向における画像劣化強度は、入力画像の最高解像度、即ち、撮像に用いたレンズの実効解像限界に相当する。更に、上記算出された画像劣化度を、予め決められた基準値と比較しても良い。
【００２７】
また、劣化度算出部１５０は、第１の方向の画像劣化強度および第２の方向の画像劣化強度から、画像劣化度を算出してよい。例えば、劣化度算出部１５０は、第１の方向の画像劣化強度と第２の画像劣化強度との比を入力画像の手ブレの大きさを表す手ブレ指数とし、当該手ブレ指数に応じて画像劣化度を算出する。
【００２８】
判定部１６０は、劣化度算出部１５０によって算出された画像劣化度に基づき、入力画像を分類または選別する。例えば、判定部１６０は、複数の入力画像がある場合、当該複数の入力画像を画像劣化度が少ない順番に並べ替える。ここで、判定部１６０は、複数の入力画像のうち、例えば撮像した日毎に複数の入力画像を分類して、分類毎に画像劣化度が少ない順番に並べ替えてよい。また、判定部１６０は、複数の入力画像のうち、最も画像劣化度が少ない画像を選別してよい。
【００２９】
処理部１７０は、第１の方向の画像劣化強度および第２の方向の画像劣化強度に応じて、入力画像に画像処理を施す。例えば、処理部１７０は、入力画像に対してエッジ強調処理を施す。この場合、処理部１７０は、入力画像の画像劣化方向および当該画像劣化方向における画像劣化強度に応じて、エッジ強調の強度を変えて処理を施してよい。具体的には、処理部１７０が施す画像処理は、劣化度の大きい第１の方向に対して第２の方向よりも強いエッジ強調であってよい。
【００３０】
以上の本実施形態の画像処理装置１００によって、入力画像に対して、入力画像の画像劣化方向および画像劣化強度に基づいてボケ関数の初期値を決定して画像復元を実行する。また、画像処理装置１００は、入力画像の画像劣化方向および画像劣化強度に基づいて入力画像の画像劣化度を算出する。
【００３１】
図２は、本実施形態に係る画像処理装置１００による画像復元の処理フローを示す。まず、画像処理装置１００は、復元対象となる撮像画像を入力画像として入力する（Ｓ３００）。
【００３２】
次に、特徴量算出部１１０は、入力画像の特徴量の平面分布を算出する（Ｓ３１０）。ここで、特徴量算出部１１０は、入力画像の予め定められた領域において特徴量の平面分布を算出してよい。この場合、特徴量算出部１１０は、使用者によって予め指定された領域について、特徴量の平面分布を算出してよい。
【００３３】
本実施例において、特徴量算出部１１０は、入力画像の周波数強度を特徴量とする例を説明する。例えば、特徴量算出部１１０は、入力画像をフーリエ変換して、周波数強度の平面分布を算出する。
【００３４】
ここで、特徴量算出部１１０は、入力画像の予め定められた領域についてフーリエ変換を実行してよい。一例として、縦軸および横軸のピクセル数を２ｎ個（ｎは２以上の整数）とした領域を周波数変換してよい。これによって、特徴量算出部１１０は、ＦＦＴ処理することができ、高速に周波数変換することができる。
【００３５】
図３は、ステップＳ３００において入力される撮像画像の周波数強度分布の一例を示す。即ち、図３は、ステップＳ３１０において、特徴量算出部１１０が入力画像を周波数変換して算出した周波数強度の平面分布の一例を示す。ここで、図中の平面分布は、撮像した時点でｘ軸方向に手ブレによって劣化した画像を周波数変換した結果である。
【００３６】
図中の横軸ｆｘおよび縦軸ｆｙは、いずれも周波数を示す。また、図中の黒い領域は、周波数の振幅強度がほとんど０であることを示し、入力画像には当該領域の周波数成分はほとんど含まれていないことを示す。図中の周波数強度の平面分布は、ｆｘ方向に比べてｆｙ方向の周波数広がりが広いことがわかる。これは、入力画像のｙ軸方向は、ｘ軸方向に比べてより高い周波数の成分を有する画像であることを示す。即ち、入力画像は、ｘ軸方向の手ブレ等によってｘ軸方向の高周波成分のデータが失われて劣化した画像と考えられる。
【００３７】
図４は、レンズによる手ぶれ補正機能を用いた場合の、図３と同じ被写体を撮像した画像の周波数強度分布の一例を示す。即ち、図４は、ステップＳ３１０において、特徴量算出部１１０が入力画像の理想画像により近い画像を周波数変換した平面分布と考えることができる。図中の横軸ｆｘおよび縦軸ｆｙは、図３と同様にいずれも周波数を示す。
【００３８】
図中の周波数強度の平面分布は、画像の略中央であるｆｘ＝０、ｆｙ＝０の点を中心に、周波数広がりが全方位にわたってほぼ均一であることがわかる。このように、手ブレが補正されてブレの影響がほとんど無い画像の場合、周波数強度分布に偏りが無いことがわかる。即ち、入力画像の周波数強度の平面分布において、偏りが生じている場合は、手ブレ等によって画像が劣化し、当該偏りの方向がブレの方向またはブレが生じていない方向であると判断することができる。
【００３９】
そこで、特徴量解析部１２０は、特徴量算出部１１０が算出した入力画像の特徴量の平面分布を解析して、周波数分布の振幅強度の偏りから入力画像の画像劣化方向を決める（Ｓ３２０）。例えば、特徴量解析部１２０は、ｆｘ＝０、ｆｙ＝０の点を通り、周波数強度の広がりが最も狭い方向を、第１の方向とする。即ち、第１の方向は、特徴量の平面分布において、画像劣化が最大となる方向である。また、特徴量解析部１２０は、ｆｘ＝０、ｆｙ＝０の点を通り、周波数強度の広がりが最も広い方向を、第２の方向とする。即ち、第２の方向は、特徴量の平面分布において、画像劣化が最小となる方向である。
【００４０】
ここで、特徴量解析部１２０は、対数で表現された周波数分布の振幅強度を解析してもよい。これによって、特徴量解析部１２０は、振幅強度が数桁以上変動してダイナミックレンジが広い場合でも、振幅強度の偏りを容易に解析することができる。一例として、特徴量算出部１１０は、ステップＳ３１０において周波数変換されて算出する（ｉ，ｊ）成分の実部と虚部の振幅をそれぞれＲｉ，ｊとＩｉ，ｊとして、振幅強度Ｐｉ，ｊを次式のように算出する。ここで、ｉおよびｊは整数値をとり、それぞれｆｘ軸方向およびｆｙ軸方向の離散化したデータを示してよい。例えば、ｆｘ＝０、ｆｙ＝０の点の振幅強度をＰ０，０と表現する。
【００４１】
【数１】
2013054457.tif 000003
【００４２】
図３および図４は、数１の式を用いて周波数分布の振幅強度を対数で表現した図である。これに代えて、特徴量算出部１１０は、ステップＳ３１０において、予め定められた閾値と振幅強度を比較して、振幅強度を二値化してもよい。
【００４３】
このように算出された周波数分布の振幅強度より、特徴量解析部１２０は、一例として、主成分分析を用いて第１の方向および第２の方向を決めてよい。ここで、主成分分析は、次式を満たす固有値λ１およびλ２と、単位サイズのａ１ベクトルおよびａ２ベクトルを得ることで実行される。ここで、λ１＜λ２を満たすａ１ベクトルが手ブレの最も大きい第１の方向、ａ２ベクトルが手ブレの最も小さい第２の方向である。また、λ１およびλ２の逆数を用いて、それぞれ第１の方向および第２の方向の画像劣化強度を見積もる事もできる。
【００４４】
【数２】
2013054457.tif 000004
【００４５】
次に、ボケ関数算出部１３０は、特徴量解析部１２０が決定した画像劣化強度および画像劣化方向から、ボケ関数の初期値を算出する（Ｓ３３０）。一例として、ボケ関数算出部１３０は、ボケ関数ｈ（ｘ'，ｙ'）を次式のように定めて算出してよい。
【００４６】
【数３】
2013054457.tif 000005
【００４７】
ここで、ｆ（ｘ'，σ１）は、ｘ'方向の手ブレによるボケを与える１次元ボケ関数であり、σ１はｘ'方向のボケの強度を調整するパラメータである。また、ｇ（ｙ'，σ２）は、ｙ'方向のレンズ等によるボケを与える１次元ボケ関数であり、σ２はｙ'方向のボケの強度を調整するパラメータである。即ち、ボケ関数算出部１３０は、数３の式のｘ'を第１の方向であるａ１ベクトル方向に、ｙ'を第２の方向であるａ２ベクトル方向にすることで、入力画像のブレ方向に応じたボケ関数を算出することができる。ここで、ボケ関数算出部１３０は、画像劣化強度に応じた、σ１およびσ２の値を代入して、ボケ関数を算出してよい。
【００４８】
ここで、（ｘ'，ｙ'）で表現された数３の式を、入力画像の（ｘ，ｙ）を用いて表す目的で、次式のように座標系の回転を実行する。ここで、θは、ａ２ベクトルとｆｘ軸とがなす角度である。
【００４９】
【数４】
2013054457.tif 000006
【００５０】
このように算出されたボケ関数を用いて、復元画像生成部１４０は、入力画像を復元した復元画像を生成する（Ｓ３４０）。復元画像生成部１４０は、ボケ関数算出部１３０が算出した入力画像のブレ方向に応じたボケ関数を用い、復元画像をボカすことで入力画像が得られるように、復元画像を生成する。したがって、復元画像生成部１４０は、入力画像の手ブレ方向に応じたボケ関数を用いて画像復元処理を実行することができ、より理想的な復元画像を生成することができる。
【００５１】
また、ボケ関数算出部１３０は、手ブレによる画像劣化が大きい方向には手ブレによって発生するボケを与えるボケ関数を用い、手ブレによる画像劣化が小さい方向にはレンズ等のボケによって発生するボケ関数を用い、それぞれ異なるボケ関数をそれぞれの方向の画像劣化強度に応じた関数として算出する。したがって、復元画像生成部１４０は、手ブレによるボケとレンズ等によるボケが重畳された入力画像も復元することができる。
【００５２】
ここで、復元画像生成部１４０は、復元画像を生成する処理を繰り返して、復元画像に対しボケ関数を適用した画像と入力画像との差分を含む関数で定義された目的関数を、より小さく収束させる復元画像を生成してよい。例えば、復元画像生成部１４０は、目的関数が予め定められた値よりも小さくなるまで、ステップＳ３４０を繰り返す（Ｓ３５０）。これに代えて、復元画像生成部１４０は、復元画像と復元処理前の画像との差分が予め定められた値よりも小さくなるまで、ステップＳ３４０を繰り返してもよい。
【００５３】
ここで、ボケ関数算出部１３０は、目的関数をより小さく収束させる復元画像について、目的関数をより小さく収束させるようにボケ関数を更新してもよい（Ｓ３６０）。この場合、復元画像生成部１４０は、ボケ関数の更新前と更新後の差分が予め定められた値よりも小さくなるまで、ステップＳ３４０を繰り返してもよい。このように、ボケ関数を更新して復元画像を生成する場合、画像処理装置１００は、ボケ関数の初期値を入力画像の手ブレ方向に応じたボケ関数を用いることができるので、目的関数を収束させるまでの処理回数を低減させて、高速に復元画像を生成することができる。
【００５４】
図５は、本実施形態に係る画像復元処理によって得られる復元画像の周波数強度分布の一例を示す。図中の横軸ｆｘおよび縦軸ｆｙは、図３と同様にいずれも周波数を示す。入力画像の周波数強度分布である図３と比べて、図５の復元画像の周波数強度分布は、ｆｘ＝０、ｆｙ＝０の点を中心に、周波数広がりが全方位にわたってほぼ均一になっていることがわかる。
【００５５】
図６は、ステップ３００において入力される撮像画像の一例を示す。また、図７は、本実施形態に係る画像復元処理によって得られる復元画像の一例を示す。即ち、図６の画像を２次元フーリエ変換した画像が図３であり、図７の画像を２次元フーリエ変換した画像が図５である。
【００５６】
図６と図７を比較することにより、入力画像のボケが復元画像で改善されていることがわかる。また、図６は、撮像の時点で水平方向であるｘ軸方向の手ブレによって劣化した画像である。図６の入力画像では、雨が振っている風景を撮像したにも関わらず、入力画像においては雨が降っていることが確認することができない。その一方で、ｘ軸方向の手ブレによる画像劣化を復元させた図７の復元画像では、雨が降っていることが確認できる。
【００５７】
このように、本実施形態の画像処理装置１００は、手ブレによって劣化した画像から手ブレの方向を判別して、当該手ブレの方向に応じたボケ関数を算出して復元することができる。ここで、本実施例において、数３のボケ関数として、次式を用いた。より具体的には、ｆ（ｘ'，σ１）として、数５の式のηに１．０を代入した関数を用い、ｇ（ｙ'，σ２）として、数５の式のηに０．５を代入した関数を用いた。
【００５８】
【数５】
2013054457.tif 000007
【００５９】
以上の本実施形態に係る画像処理装置１００による画像復元の処理フローにおいて、特徴量算出部１１０は、入力画像の周波数強度を特徴量とする例を説明した。これに代えて、特徴量算出部１１０は、入力画像のエッジ情報を特徴量としてもよい。即ち、手ブレによって劣化した画像は、手ブレの方向のエッジ強度が小さくなるので、特徴量算出部１１０は、縦軸方向および横軸方向の画素値の差分をそれぞれとって、差分がより小さい方向を手ブレ方向とする。
【００６０】
この場合、特徴量解析部１２０は、数２の主成分分析において、Ａ、Ｂ、およびＣの値を次式に置き換えることで、手ブレ方向を得ることができる。ここで、Ｆｉ，ｊは、入力画像の（ｉ，ｊ）成分、即ち、画素値である。また、偏微分表記∂は差分を示す。例えば、∂Ｆ／∂ｘは、Ｆについてｘ軸方向の差分をとることを示す。
【００６１】
【数６】
2013054457.tif 000008
【００６２】
このように、画像処理装置１００は、入力画像の画素値の勾配成分が最も大きくなる方向を第２の方向とし、最も小さくなる方向を第１の方向として、手ブレの方向と画像劣化強度を定めてボケ関数を算出することができる。これによって、画像処理装置１００は、周波数変換の処理を無くして、より高速に復元処理を実行することができる。
【００６３】
（第２の実施形態）
次に、本実施形態に係る画像処理装置１００による画像劣化度検出の処理を説明する。また、当該処理の処理フローを図８に示す。ここで、ステップＳ３００からステップＳ３２０までの、入力画像から特徴量を解析するまでの過程は、図２で説明した動作と略同一の動作なので説明を省略する。
【００６４】
ステップＳ３２０において特徴量解析部１２０が決定した画像劣化強度および画像劣化方向から、劣化度算出部１５０は、入力画像の画像劣化度を算出する（Ｓ４３０）。例えば、特徴量の平面分布において、画像劣化が最小となる第２の方向とｆｘ軸とがなす角度をΘ１、第１の方向の画像劣化強度をＩ１、画像劣化が最小となる第２の方向の画像劣化強度をＩ２とした場合、劣化度算出部１５０は、Θ１、Ｉ１、Ｉ２／Ｉ１、またはＩ２を入力画像の画像劣化度とする。
【００６５】
ここで、劣化度算出部１５０は、画像劣化度を実数としてよく、これに代えて、予め定められた段階に分類してもよい。このように、劣化度算出部１５０は、入力画像の特徴量から入力画像の画像劣化度を算出することができる。
【００６６】
次に、画像処理装置１００は、入力画像に対して画像処理を実行するか否かを判別する（Ｓ４４０）。ここで、画像処理装置１００は、予めユーザ等に画像処理を実行するか否かを入力させ、ユーザ等の指示に応じて画像処理の実行を判別してよい。これに代えて、画像処理装置１００は、劣化度算出部１５０が算出した画像劣化度に基づいて画像処理の実行を判別してよい。例えば、画像処理装置１００は、入力画像の画像劣化度が予め定められた範囲内にある場合に、画像処理を実行する。
【００６７】
画像処理装置１００が画像処理を実行しない場合、判定部１６０は、劣化度算出部１５０によって算出された画像劣化度に基づき、入力画像を分類または選別する（Ｓ４５０）。例えば、判定部１６０は、入力画像の画像劣化度と、予め定められた許容劣化度または他の入力画像の画像劣化度とを比較して、複数の入力画像の優劣を判定する。また、判定部１６０は、同一被写体が撮像された複数の撮像画像の中で、画像劣化度に基づいて優劣を判定してもよい。
【００６８】
これによって、判定部１６０は、入力画像を客観的な指標で分類または選別することができる。例えば、判定部１６０は、同一の被写体を時間的に連続して撮像した連写画像から、最もブレの少ない画像を撮像者等の主観に関係なく選別することができる。また、判定部１６０は、大量に撮像された画像の中から、画像劣化が少ない画像を抽出して分類することができる。
【００６９】
次に、画像処理装置１００が画像処理を実行する場合、処理部１７０は、劣化度算出部１５０によって算出された画像劣化度に基づき、入力画像に画像処理を施す（Ｓ４６０）。具体的な例として、処理部１７０が入力画像に対してエッジ強調処理を施す場合を説明する。例えば、劣化度算出部１５０が画像劣化度としてＩ２／Ｉ１を算出する場合、処理部１７０は、第１の方向へのエッジ強調度を、第２のエッジ強調度に比べてＩ２／Ｉ１の割合に応じた分だけ高くする。
【００７０】
これに代えて、処理部１７０は、第１の方向のエッジを抽出する周波数帯域を、第２の方向のエッジを抽出する周波数帯域に比べてＩ２／Ｉ１の割合に応じた分だけ低い帯域にしてよい。より具体的には、入力画像からのエッジ量を抽出する場合に、次式で示されるフィルタを入力画像に施して入力画像をボカし、入力画像との差分をとってエッジ抽出を実行するとよい。
【００７１】
【数７】
2013054457.tif 000009
【００７２】
数７の式において、Ｄは、次式で示される２×２の行列である。処理部１７０は、σ１＞σ２として、第１の方向のエッジ強調度を高くしてよい。
【００７３】
【数８】
2013054457.tif 000010
【００７４】
以上のように、本実施形態に係る画像処理装置１００は、入力画像の画像劣化度に応じて、入力画像に画像処理を施すことができる。本実施例において、判定部１６０は、劣化度算出部１５０が算出した画像劣化度に応じて、入力画像を分類または選別することを説明した。これに代えて、判定部１６０は、複数の入力画像から選別した画像を処理部１７０に送信して、選別した画像について画像処理させるようにしてもよい。また、判定部１６０は、複数の入力画像から選別した画像をボケ関数算出部１３０に送信して、選別した画像について復元画像を生成するようにしてもよい。
【００７５】
以上の本実施形態に係る画像処理装置１００は、入力画像の手ブレによる画像劣化を復元すること、および画像の分類、抽出について説明した。これに代えて、画像処理装置１００は、一方向に動いた被写体を撮像し、結果として手ブレのように劣化した画像を入力画像としてもよい。画像処理装置１００は、このような被写体のブレ方向に応じてボケ関数を算出して、劣化した画像を復元すること、または分類、抽出することができる。
【００７６】
以上の本実施形態に係る画像処理装置１００は、撮像装置または撮像した画像が記録された記録媒体と接続され、画像処理を実行する装置であってよい。この場合、画像処理装置１００は、プログラムの実行によって処理するコンピュータ等であってよい。これに代えて、画像処理装置１００は、撮像装置に内蔵されてもよい。
【００７７】
（第３の実施例）
図９は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、および表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、およびＤＶＤドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、および入出力チップ２０７０を有するレガシー入出力部と、を備える。
【００７８】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００およびグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０およびＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７９】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラムおよびデータを格納する。ＤＶＤドライブ２０６０は、ＤＶＤ−ＲＯＭ２０９５からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００８０】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、および入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、および／または、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００８１】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＤＶＤ−ＲＯＭ２０９５、またはＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００８２】
プログラムは、コンピュータ１９００にインストールされ、コンピュータ１９００を画像処理装置１００として機能させる。
【００８３】
プログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である画像処理装置１００として機能する。そして、この具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の特徴量算出部１１０、特徴量解析部１２０、ボケ関数算出部１３０、復元画像生成部１４０、劣化度算出部１５０、判定部１６０、および処理部１７０が構築される。
【００８４】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、またはＤＶＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置または通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００８５】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０（ＤＶＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、および／または記憶装置に含まれるものとする。
【００８６】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（または不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００８７】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００８８】
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＤＶＤ−ＲＯＭ２０９５の他に、ＤＶＤまたはＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００８９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９０】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９１】
１００  画像処理装置、１１０  特徴量算出部、１２０  特徴量解析部、１３０  ボケ関数算出部、１４０  復元画像生成部、１５０  劣化度算出部、１６０  判定部、１７０  処理部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＤＶＤドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＤＶＤ−ＲＯＭ
【図１】
2013054457.tif 000011
【図２】
2013054457.tif 000012
【図８】
2013054457.tif 000013
【図９】
2013054457.tif 000014
【図３】
2013054457.tif 000015
【図４】
2013054457.tif 000016
【図５】
2013054457.tif 000017
【図６】
2013054457.tif 000018
【図７】
2013054457.tif 000019