画像処理装置、画像処理方法、およびプログラム
【課題】入力画像の画像劣化を客観的な指標で検出して、検出結果に基づいて復元画像または画像分類を実行する。
【解決手段】入力画像の特徴量の平面分布を算出する特徴量算出部と、特徴量の平面分布に基づいて入力画像の画像劣化方向を得る特徴量解析部と、を備える画像処理装置を提供する。特徴量算出部は、入力画像を周波数変換して、特徴量の平面分布を算出してよい。また、特徴量算出部は、入力画像の縦方向および横方向の画素値の差分をそれぞれ算出して、特徴量の平面分布を得てもよい。
【解決手段】入力画像の特徴量の平面分布を算出する特徴量算出部と、特徴量の平面分布に基づいて入力画像の画像劣化方向を得る特徴量解析部と、を備える画像処理装置を提供する。特徴量算出部は、入力画像を周波数変換して、特徴量の平面分布を算出してよい。また、特徴量算出部は、入力画像の縦方向および横方向の画素値の差分をそれぞれ算出して、特徴量の平面分布を得てもよい。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【0002】
デジタルカメラ等で撮影されたデジタル画像から画像の劣化度合いを検出する技術が、検討されている。画像の劣化度合いが正しく見積もれると、複数の画像から最も劣化度合いの少ない画像を抽出する事ができる。
【0003】
さらに、カメラ等で撮像された劣化を含む画像を、撮像後の画像処理で復元する手法が従来から知られている。例えば、撮像に用いたレンズに応じた像のボケ、および撮像時点での手ブレによる画像のボケ等を復元する画像処理方法が提案されている。(例えば、特許文献1および非特許文献1参照)。しかし、多くの画像復元の手法では、処理画像の劣化度合いを予め見積もっておく必要がある。
【0004】
特許文献1 特開2010−26977号公報
非特許文献1 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
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザがボケおよび/またはブレを含む画像を複数撮像した場合、複数の画像からボケおよびブレがより少ない画像を取捨選択しなければならない場合がある。このような作業を画像処理によって自動で実行させる為には、目標となる画像劣化度合いを示す、客観的な指標値の算出が必要となる。しかし従来の手法では、多くの指標値が、人間の主観が入り、目標値を決定した人間の趣味および趣向が反映するものであったり、画像の高周波成分のみを考慮し、画像の劣化度合いを正しく見積もっていないものであったりした。
【0006】
また、画像の劣化除去処理を行う従来方法では、撮像によって得られたボケ画像が、ボケの無い理想画像をボカす事で得られると仮定する。即ち、理想画像をボケ関数を用いて劣化させて、入力されたたボケのある画像と最も近くなる理想画像を推定することで、ボケの無い理想画像を復元する。
【0007】
このような手法では、ボケ関数を既知の関数として処理するため、復元処理に幾つか問題がある事が指摘されている。具体的には、理想画像に対しボケ関数を適用した劣化予測画像と、撮像によって得られたボケ画像との差分を含む関数形で目的関数が定義される。当該目的関数を小さく収束させるように画像処理を繰り返す場合に、初期値として与えられたボケ関数が、実際のボケ関数と異なってしまうと収束するまでに時間がかかっていた。さらに、全く異なるボケ関数を初期値として用いると、所望の結果が得られない事もある。
【課題を解決するための手段】
【0008】
本発明の第1の態様においては、入力画像の特徴量の平面分布を算出する特徴量算出部と、特徴量の平面分布に基づいて入力画像の画像劣化方向を得る特徴量解析部と、を備える画像処理装置を提供する。
【0009】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0010】
【図1】本実施形態に係る画像処理装置100の構成例を示す。
【図2】本実施形態に係る画像処理装置100による画像復元の処理フローを示す。
【図3】ステップ300において入力される撮像画像の周波数強度分布の一例を示す。
【図4】手ぶれ補正機能を用いた場合の、図3と同じ被写体を撮像した画像の周波数強度分布の一例を示す。
【図5】本実施形態に係る画像復元処理によって得られる復元画像の周波数強度分布の一例を示す。
【図6】ステップ300において入力される撮像画像の一例を示す。
【図7】本実施形態に係る画像復元処理によって得られる復元画像の一例を示す。
【図8】本実施形態に係る画像処理装置100による画像劣化度検出の処理フローを示す。
【図9】本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0011】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0012】
(第1の実施形態)
図1は、本実施形態に係る画像処理装置100の構成例を示す。画像処理装置100は、入力画像の画像劣化を客観的な指標で検出して、検出結果に基づいて画像復元または画像分類を実行する。画像処理装置100は、特徴量算出部110と、特徴量解析部120と、ボケ関数算出部130と、復元画像生成部140と、劣化度算出部150と、判定部160と、処理部170とを備える。
【0013】
特徴量算出部110は、入力画像の特徴量の平面分布を算出する。ここで、入力画像は、ボケ復元の対象となる撮像画像等でよい。例えば、デジタルカメラ等で撮像され、撮像時点で手ブレおよび/またはレンズのボケ等が含まれた撮像画像である。特徴量算出部110は、このような撮像画像のデジタルデータを、入力画像としてよい。
【0014】
特徴量算出部110は、入力画像の周波数強度を特徴量としてよく、この場合、周波数強度の平面分布を算出する。即ち、特徴量算出部は、入力画像を周波数変換して、特徴量である周波数強度の平面分布を算出する。ここで、周波数変換は、2次元フーリエ変換によって実行されてよく、変換後の2次元データは、縦軸および横軸が各方向の周波数軸となる周波数強度の平面分布である。
【0015】
また、特徴量算出部110は、入力画像のエッジ情報を特徴量としてよい。この場合、特徴量算出部110は、入力画像の縦方向および横方向の画素値の差分をそれぞれ算出して、特徴量であるエッジ情報の平面分布を得る。ここで、画素値は、RGBで表現される色情報であってよく、この場合、R(赤)、G(緑)、およびB(青)のうちの一つの画素値でよい。これに代えて、特徴量算出部110は、2以上の色情報の画素値の差分を入力画像のエッジ情報としてよい。これに代えて、特徴量算出部110は、入力画像の画素毎の輝度値の差分を、入力画像のエッジ情報としてよい。
【0016】
特徴量解析部120は、特徴量の平面分布に基づいて入力画像の画像劣化方向を得る。例えば、特徴量解析部120は、特徴量の平面分布が、画像の中央を中心とした円と比較して偏っている方向を、画像劣化方向とする。また、特徴量解析部120は、特徴量の平面分布に基づき、入力画像の画像劣化方向における画像劣化強度を得てよい。即ち、特徴量解析部120は、平面分布における特徴量の偏りの方向と強度を解析して画像劣化強度および画像劣化方向を得る。
【0017】
例えば、特徴量解析部120は、入力画像の周波数強度を特徴量とした場合、より周波数強度の分布が広がっている方向を画像劣化がより少ない方向とする。また、特徴量解析部120は、より周波数強度の分布が狭く偏っている方向を画像劣化がより大きい方向とする。
【0018】
これに代えて、特徴量解析部120は、入力画像のエッジ情報を特徴量とした場合、より画素値の差分が大きい方向を画像劣化がより小さい方向とする。また、特徴量解析部120は、より画素値の差分が小さく偏っている方向を画像劣化がより大きい方向とする。
【0019】
特徴量解析部120は、特徴量の平面分布における、画像劣化が最大となる第1の方向と、画像劣化が最小となる第2の方向とを決定してよい。ここで、画像劣化が手ブレによって発生した場合、第1の方向での劣化強度と第2の方向での劣化強度は異なる。また、画像劣化がレンズ等によるボケの場合、ほぼ等方的に画像が劣化するので、第1の方向の劣化強度と第2の方向の劣化強度はほぼ等しくなる。また、画像劣化が手ブレとレンズ等によるボケとを含む場合、ボケによる等方的な広がりと、ブレによる偏りが重畳される形になり、第1の方向の劣化強度と第2の方向の劣化強度は、手ブレの影響とレンズによるボケを反映した形で表される。
【0020】
ボケ関数算出部130は、特徴量解析部120が決定した画像劣化強度および画像劣化方向から、ボケ関数の初期値を算出する。例えば、ボケ関数算出部130は、画像劣化方向がほぼ等方的な場合、レンズ等によるボケに応じたボケ関数を選択する。ボケ関数算出部130は、画像劣化強度に応じて汎用のボケ関数、レンズのデフォーカスによるボケを与えるボケ関数、または画像の拡大、縮小により生じるボケを与えるボケ関数等を選択してよい。また、ボケ関数算出部130は、画像劣化強度に応じて、ボケ関数のフィルタサイズ等のパラメータを設定してボケ関数を算出してよい。
【0021】
また、ボケ関数算出部130は、第1の方向および第2の方向に応じたボケ関数の初期値をそれぞれ算出する。ボケ関数算出部130は、第1の方向には第1の方向の劣化強度に応じたボケ関数を、第2の方向には第2の方向の劣化強度に応じたボケ関数を、それぞれ算出する。例えば、ボケ関数算出部130は第1の方向の劣化強度と第2の方向の劣化強度の比較によって、第1の方向には手ブレによるボケを与えるボケ関数を算出し、第2の方向にはレンズ等によるボケに応じたボケ関数を算出する。
【0022】
復元画像生成部140は、ボケ関数算出部130が算出したボケ関数の初期値を初期条件として、入力画像を復元した復元画像を生成する。例えば、復元画像生成部140は、理想画像がボケ関数でボカされていると仮定して、理想画像にボケ関数を用いてボカすことによって入力画像が得られるように、理想画像を生成する。
【0023】
劣化度算出部150は、特徴量解析部120が決定した入力画像の画像劣化方向から、画像劣化度を算出する。例えば、劣化度算出部150は、入力画像の手ブレの有無、および手ブレの方向に応じて画像劣化度を算出する。
【0024】
また、劣化度算出部150は、特徴量解析部120が入力画像の平面分布に基づいて得る画像劣化方向および当該画像劣化方向における画像劣化強度から、画像劣化度を算出してよい。例えば、劣化度算出部150は、入力画像の手ブレの方向および手ブレによる画像劣化強度に応じて画像劣化度を算出する。
【0025】
また、劣化度算出部150は、画像劣化が最大となる第1の方向と第1の方向の画像劣化強度、または画像劣化が最小となる第2の方向と第2の方向の画質劣化強度から、画像劣化度を算出してよい。例えば、劣化度算出部150は、入力画像の手ブレが最も大きい方向に着目し、最も手ブレの大きい方向における画像劣化強度に応じて画像劣化度を算出する。
【0026】
また、劣化度算出部150は、入力画像の手ブレが最も小さい方向に着目し、最も手ブレの小さい方向における画像劣化強度に応じて画像劣化度を算出する。ここで、特徴量を入力画像の周波数強度とした場合、最も手ブレの小さい方向における画像劣化強度は、入力画像の最高解像度、即ち、撮像に用いたレンズの実効解像限界に相当する。更に、上記算出された画像劣化度を、予め決められた基準値と比較しても良い。
【0027】
また、劣化度算出部150は、第1の方向の画像劣化強度および第2の方向の画像劣化強度から、画像劣化度を算出してよい。例えば、劣化度算出部150は、第1の方向の画像劣化強度と第2の画像劣化強度との比を入力画像の手ブレの大きさを表す手ブレ指数とし、当該手ブレ指数に応じて画像劣化度を算出する。
【0028】
判定部160は、劣化度算出部150によって算出された画像劣化度に基づき、入力画像を分類または選別する。例えば、判定部160は、複数の入力画像がある場合、当該複数の入力画像を画像劣化度が少ない順番に並べ替える。ここで、判定部160は、複数の入力画像のうち、例えば撮像した日毎に複数の入力画像を分類して、分類毎に画像劣化度が少ない順番に並べ替えてよい。また、判定部160は、複数の入力画像のうち、最も画像劣化度が少ない画像を選別してよい。
【0029】
処理部170は、第1の方向の画像劣化強度および第2の方向の画像劣化強度に応じて、入力画像に画像処理を施す。例えば、処理部170は、入力画像に対してエッジ強調処理を施す。この場合、処理部170は、入力画像の画像劣化方向および当該画像劣化方向における画像劣化強度に応じて、エッジ強調の強度を変えて処理を施してよい。具体的には、処理部170が施す画像処理は、劣化度の大きい第1の方向に対して第2の方向よりも強いエッジ強調であってよい。
【0030】
以上の本実施形態の画像処理装置100によって、入力画像に対して、入力画像の画像劣化方向および画像劣化強度に基づいてボケ関数の初期値を決定して画像復元を実行する。また、画像処理装置100は、入力画像の画像劣化方向および画像劣化強度に基づいて入力画像の画像劣化度を算出する。
【0031】
図2は、本実施形態に係る画像処理装置100による画像復元の処理フローを示す。まず、画像処理装置100は、復元対象となる撮像画像を入力画像として入力する(S300)。
【0032】
次に、特徴量算出部110は、入力画像の特徴量の平面分布を算出する(S310)。ここで、特徴量算出部110は、入力画像の予め定められた領域において特徴量の平面分布を算出してよい。この場合、特徴量算出部110は、使用者によって予め指定された領域について、特徴量の平面分布を算出してよい。
【0033】
本実施例において、特徴量算出部110は、入力画像の周波数強度を特徴量とする例を説明する。例えば、特徴量算出部110は、入力画像をフーリエ変換して、周波数強度の平面分布を算出する。
【0034】
ここで、特徴量算出部110は、入力画像の予め定められた領域についてフーリエ変換を実行してよい。一例として、縦軸および横軸のピクセル数を2n個(nは2以上の整数)とした領域を周波数変換してよい。これによって、特徴量算出部110は、FFT処理することができ、高速に周波数変換することができる。
【0035】
図3は、ステップS300において入力される撮像画像の周波数強度分布の一例を示す。即ち、図3は、ステップS310において、特徴量算出部110が入力画像を周波数変換して算出した周波数強度の平面分布の一例を示す。ここで、図中の平面分布は、撮像した時点でx軸方向に手ブレによって劣化した画像を周波数変換した結果である。
【0036】
図中の横軸fxおよび縦軸fyは、いずれも周波数を示す。また、図中の黒い領域は、周波数の振幅強度がほとんど0であることを示し、入力画像には当該領域の周波数成分はほとんど含まれていないことを示す。図中の周波数強度の平面分布は、fx方向に比べてfy方向の周波数広がりが広いことがわかる。これは、入力画像のy軸方向は、x軸方向に比べてより高い周波数の成分を有する画像であることを示す。即ち、入力画像は、x軸方向の手ブレ等によってx軸方向の高周波成分のデータが失われて劣化した画像と考えられる。
【0037】
図4は、レンズによる手ぶれ補正機能を用いた場合の、図3と同じ被写体を撮像した画像の周波数強度分布の一例を示す。即ち、図4は、ステップS310において、特徴量算出部110が入力画像の理想画像により近い画像を周波数変換した平面分布と考えることができる。図中の横軸fxおよび縦軸fyは、図3と同様にいずれも周波数を示す。
【0038】
図中の周波数強度の平面分布は、画像の略中央であるfx=0、fy=0の点を中心に、周波数広がりが全方位にわたってほぼ均一であることがわかる。このように、手ブレが補正されてブレの影響がほとんど無い画像の場合、周波数強度分布に偏りが無いことがわかる。即ち、入力画像の周波数強度の平面分布において、偏りが生じている場合は、手ブレ等によって画像が劣化し、当該偏りの方向がブレの方向またはブレが生じていない方向であると判断することができる。
【0039】
そこで、特徴量解析部120は、特徴量算出部110が算出した入力画像の特徴量の平面分布を解析して、周波数分布の振幅強度の偏りから入力画像の画像劣化方向を決める(S320)。例えば、特徴量解析部120は、fx=0、fy=0の点を通り、周波数強度の広がりが最も狭い方向を、第1の方向とする。即ち、第1の方向は、特徴量の平面分布において、画像劣化が最大となる方向である。また、特徴量解析部120は、fx=0、fy=0の点を通り、周波数強度の広がりが最も広い方向を、第2の方向とする。即ち、第2の方向は、特徴量の平面分布において、画像劣化が最小となる方向である。
【0040】
ここで、特徴量解析部120は、対数で表現された周波数分布の振幅強度を解析してもよい。これによって、特徴量解析部120は、振幅強度が数桁以上変動してダイナミックレンジが広い場合でも、振幅強度の偏りを容易に解析することができる。一例として、特徴量算出部110は、ステップS310において周波数変換されて算出する(i,j)成分の実部と虚部の振幅をそれぞれRi,jとIi,jとして、振幅強度Pi,jを次式のように算出する。ここで、iおよびjは整数値をとり、それぞれfx軸方向およびfy軸方向の離散化したデータを示してよい。例えば、fx=0、fy=0の点の振幅強度をP0,0と表現する。
【0041】
【数1】
【0042】
図3および図4は、数1の式を用いて周波数分布の振幅強度を対数で表現した図である。これに代えて、特徴量算出部110は、ステップS310において、予め定められた閾値と振幅強度を比較して、振幅強度を二値化してもよい。
【0043】
このように算出された周波数分布の振幅強度より、特徴量解析部120は、一例として、主成分分析を用いて第1の方向および第2の方向を決めてよい。ここで、主成分分析は、次式を満たす固有値λ1およびλ2と、単位サイズのa1ベクトルおよびa2ベクトルを得ることで実行される。ここで、λ1<λ2を満たすa1ベクトルが手ブレの最も大きい第1の方向、a2ベクトルが手ブレの最も小さい第2の方向である。また、λ1およびλ2の逆数を用いて、それぞれ第1の方向および第2の方向の画像劣化強度を見積もる事もできる。
【0044】
【数2】
【0045】
次に、ボケ関数算出部130は、特徴量解析部120が決定した画像劣化強度および画像劣化方向から、ボケ関数の初期値を算出する(S330)。一例として、ボケ関数算出部130は、ボケ関数h(x',y')を次式のように定めて算出してよい。
【0046】
【数3】
【0047】
ここで、f(x',σ1)は、x'方向の手ブレによるボケを与える1次元ボケ関数であり、σ1はx'方向のボケの強度を調整するパラメータである。また、g(y',σ2)は、y'方向のレンズ等によるボケを与える1次元ボケ関数であり、σ2はy'方向のボケの強度を調整するパラメータである。即ち、ボケ関数算出部130は、数3の式のx'を第1の方向であるa1ベクトル方向に、y'を第2の方向であるa2ベクトル方向にすることで、入力画像のブレ方向に応じたボケ関数を算出することができる。ここで、ボケ関数算出部130は、画像劣化強度に応じた、σ1およびσ2の値を代入して、ボケ関数を算出してよい。
【0048】
ここで、(x',y')で表現された数3の式を、入力画像の(x,y)を用いて表す目的で、次式のように座標系の回転を実行する。ここで、θは、a2ベクトルとfx軸とがなす角度である。
【0049】
【数4】
【0050】
このように算出されたボケ関数を用いて、復元画像生成部140は、入力画像を復元した復元画像を生成する(S340)。復元画像生成部140は、ボケ関数算出部130が算出した入力画像のブレ方向に応じたボケ関数を用い、復元画像をボカすことで入力画像が得られるように、復元画像を生成する。したがって、復元画像生成部140は、入力画像の手ブレ方向に応じたボケ関数を用いて画像復元処理を実行することができ、より理想的な復元画像を生成することができる。
【0051】
また、ボケ関数算出部130は、手ブレによる画像劣化が大きい方向には手ブレによって発生するボケを与えるボケ関数を用い、手ブレによる画像劣化が小さい方向にはレンズ等のボケによって発生するボケ関数を用い、それぞれ異なるボケ関数をそれぞれの方向の画像劣化強度に応じた関数として算出する。したがって、復元画像生成部140は、手ブレによるボケとレンズ等によるボケが重畳された入力画像も復元することができる。
【0052】
ここで、復元画像生成部140は、復元画像を生成する処理を繰り返して、復元画像に対しボケ関数を適用した画像と入力画像との差分を含む関数で定義された目的関数を、より小さく収束させる復元画像を生成してよい。例えば、復元画像生成部140は、目的関数が予め定められた値よりも小さくなるまで、ステップS340を繰り返す(S350)。これに代えて、復元画像生成部140は、復元画像と復元処理前の画像との差分が予め定められた値よりも小さくなるまで、ステップS340を繰り返してもよい。
【0053】
ここで、ボケ関数算出部130は、目的関数をより小さく収束させる復元画像について、目的関数をより小さく収束させるようにボケ関数を更新してもよい(S360)。この場合、復元画像生成部140は、ボケ関数の更新前と更新後の差分が予め定められた値よりも小さくなるまで、ステップS340を繰り返してもよい。このように、ボケ関数を更新して復元画像を生成する場合、画像処理装置100は、ボケ関数の初期値を入力画像の手ブレ方向に応じたボケ関数を用いることができるので、目的関数を収束させるまでの処理回数を低減させて、高速に復元画像を生成することができる。
【0054】
図5は、本実施形態に係る画像復元処理によって得られる復元画像の周波数強度分布の一例を示す。図中の横軸fxおよび縦軸fyは、図3と同様にいずれも周波数を示す。入力画像の周波数強度分布である図3と比べて、図5の復元画像の周波数強度分布は、fx=0、fy=0の点を中心に、周波数広がりが全方位にわたってほぼ均一になっていることがわかる。
【0055】
図6は、ステップ300において入力される撮像画像の一例を示す。また、図7は、本実施形態に係る画像復元処理によって得られる復元画像の一例を示す。即ち、図6の画像を2次元フーリエ変換した画像が図3であり、図7の画像を2次元フーリエ変換した画像が図5である。
【0056】
図6と図7を比較することにより、入力画像のボケが復元画像で改善されていることがわかる。また、図6は、撮像の時点で水平方向であるx軸方向の手ブレによって劣化した画像である。図6の入力画像では、雨が振っている風景を撮像したにも関わらず、入力画像においては雨が降っていることが確認することができない。その一方で、x軸方向の手ブレによる画像劣化を復元させた図7の復元画像では、雨が降っていることが確認できる。
【0057】
このように、本実施形態の画像処理装置100は、手ブレによって劣化した画像から手ブレの方向を判別して、当該手ブレの方向に応じたボケ関数を算出して復元することができる。ここで、本実施例において、数3のボケ関数として、次式を用いた。より具体的には、f(x',σ1)として、数5の式のηに1.0を代入した関数を用い、g(y',σ2)として、数5の式のηに0.5を代入した関数を用いた。
【0058】
【数5】
【0059】
以上の本実施形態に係る画像処理装置100による画像復元の処理フローにおいて、特徴量算出部110は、入力画像の周波数強度を特徴量とする例を説明した。これに代えて、特徴量算出部110は、入力画像のエッジ情報を特徴量としてもよい。即ち、手ブレによって劣化した画像は、手ブレの方向のエッジ強度が小さくなるので、特徴量算出部110は、縦軸方向および横軸方向の画素値の差分をそれぞれとって、差分がより小さい方向を手ブレ方向とする。
【0060】
この場合、特徴量解析部120は、数2の主成分分析において、A、B、およびCの値を次式に置き換えることで、手ブレ方向を得ることができる。ここで、Fi,jは、入力画像の(i,j)成分、即ち、画素値である。また、偏微分表記∂は差分を示す。例えば、∂F/∂xは、Fについてx軸方向の差分をとることを示す。
【0061】
【数6】
【0062】
このように、画像処理装置100は、入力画像の画素値の勾配成分が最も大きくなる方向を第2の方向とし、最も小さくなる方向を第1の方向として、手ブレの方向と画像劣化強度を定めてボケ関数を算出することができる。これによって、画像処理装置100は、周波数変換の処理を無くして、より高速に復元処理を実行することができる。
【0063】
(第2の実施形態)
次に、本実施形態に係る画像処理装置100による画像劣化度検出の処理を説明する。また、当該処理の処理フローを図8に示す。ここで、ステップS300からステップS320までの、入力画像から特徴量を解析するまでの過程は、図2で説明した動作と略同一の動作なので説明を省略する。
【0064】
ステップS320において特徴量解析部120が決定した画像劣化強度および画像劣化方向から、劣化度算出部150は、入力画像の画像劣化度を算出する(S430)。例えば、特徴量の平面分布において、画像劣化が最小となる第2の方向とfx軸とがなす角度をΘ1、第1の方向の画像劣化強度をI1、画像劣化が最小となる第2の方向の画像劣化強度をI2とした場合、劣化度算出部150は、Θ1、I1、I2/I1、またはI2を入力画像の画像劣化度とする。
【0065】
ここで、劣化度算出部150は、画像劣化度を実数としてよく、これに代えて、予め定められた段階に分類してもよい。このように、劣化度算出部150は、入力画像の特徴量から入力画像の画像劣化度を算出することができる。
【0066】
次に、画像処理装置100は、入力画像に対して画像処理を実行するか否かを判別する(S440)。ここで、画像処理装置100は、予めユーザ等に画像処理を実行するか否かを入力させ、ユーザ等の指示に応じて画像処理の実行を判別してよい。これに代えて、画像処理装置100は、劣化度算出部150が算出した画像劣化度に基づいて画像処理の実行を判別してよい。例えば、画像処理装置100は、入力画像の画像劣化度が予め定められた範囲内にある場合に、画像処理を実行する。
【0067】
画像処理装置100が画像処理を実行しない場合、判定部160は、劣化度算出部150によって算出された画像劣化度に基づき、入力画像を分類または選別する(S450)。例えば、判定部160は、入力画像の画像劣化度と、予め定められた許容劣化度または他の入力画像の画像劣化度とを比較して、複数の入力画像の優劣を判定する。また、判定部160は、同一被写体が撮像された複数の撮像画像の中で、画像劣化度に基づいて優劣を判定してもよい。
【0068】
これによって、判定部160は、入力画像を客観的な指標で分類または選別することができる。例えば、判定部160は、同一の被写体を時間的に連続して撮像した連写画像から、最もブレの少ない画像を撮像者等の主観に関係なく選別することができる。また、判定部160は、大量に撮像された画像の中から、画像劣化が少ない画像を抽出して分類することができる。
【0069】
次に、画像処理装置100が画像処理を実行する場合、処理部170は、劣化度算出部150によって算出された画像劣化度に基づき、入力画像に画像処理を施す(S460)。具体的な例として、処理部170が入力画像に対してエッジ強調処理を施す場合を説明する。例えば、劣化度算出部150が画像劣化度としてI2/I1を算出する場合、処理部170は、第1の方向へのエッジ強調度を、第2のエッジ強調度に比べてI2/I1の割合に応じた分だけ高くする。
【0070】
これに代えて、処理部170は、第1の方向のエッジを抽出する周波数帯域を、第2の方向のエッジを抽出する周波数帯域に比べてI2/I1の割合に応じた分だけ低い帯域にしてよい。より具体的には、入力画像からのエッジ量を抽出する場合に、次式で示されるフィルタを入力画像に施して入力画像をボカし、入力画像との差分をとってエッジ抽出を実行するとよい。
【0071】
【数7】
【0072】
数7の式において、Dは、次式で示される2×2の行列である。処理部170は、σ1>σ2として、第1の方向のエッジ強調度を高くしてよい。
【0073】
【数8】
【0074】
以上のように、本実施形態に係る画像処理装置100は、入力画像の画像劣化度に応じて、入力画像に画像処理を施すことができる。本実施例において、判定部160は、劣化度算出部150が算出した画像劣化度に応じて、入力画像を分類または選別することを説明した。これに代えて、判定部160は、複数の入力画像から選別した画像を処理部170に送信して、選別した画像について画像処理させるようにしてもよい。また、判定部160は、複数の入力画像から選別した画像をボケ関数算出部130に送信して、選別した画像について復元画像を生成するようにしてもよい。
【0075】
以上の本実施形態に係る画像処理装置100は、入力画像の手ブレによる画像劣化を復元すること、および画像の分類、抽出について説明した。これに代えて、画像処理装置100は、一方向に動いた被写体を撮像し、結果として手ブレのように劣化した画像を入力画像としてもよい。画像処理装置100は、このような被写体のブレ方向に応じてボケ関数を算出して、劣化した画像を復元すること、または分類、抽出することができる。
【0076】
以上の本実施形態に係る画像処理装置100は、撮像装置または撮像した画像が記録された記録媒体と接続され、画像処理を実行する装置であってよい。この場合、画像処理装置100は、プログラムの実行によって処理するコンピュータ等であってよい。これに代えて、画像処理装置100は、撮像装置に内蔵されてもよい。
【0077】
(第3の実施例)
図9は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、および表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、およびDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、および入出力チップ2070を有するレガシー入出力部と、を備える。
【0078】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000およびグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010およびRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0079】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラムおよびデータを格納する。DVDドライブ2060は、DVD−ROM2095からプログラムまたはデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0080】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、および入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、および/または、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラムまたはデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0081】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD−ROM2095、またはICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0082】
プログラムは、コンピュータ1900にインストールされ、コンピュータ1900を画像処理装置100として機能させる。
【0083】
プログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である画像処理装置100として機能する。そして、この具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の特徴量算出部110、特徴量解析部120、ボケ関数算出部130、復元画像生成部140、劣化度算出部150、判定部160、および処理部170が構築される。
【0084】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、またはDVD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置または通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0085】
また、CPU2000は、ハードディスクドライブ2040、DVDドライブ2060(DVD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、および/または記憶装置に含まれるものとする。
【0086】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(または不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0087】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0088】
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD−ROM2095の他に、DVDまたはCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0089】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0090】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0091】
100 画像処理装置、110 特徴量算出部、120 特徴量解析部、130 ボケ関数算出部、140 復元画像生成部、150 劣化度算出部、160 判定部、170 処理部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 DVDドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 DVD−ROM
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【0002】
デジタルカメラ等で撮影されたデジタル画像から画像の劣化度合いを検出する技術が、検討されている。画像の劣化度合いが正しく見積もれると、複数の画像から最も劣化度合いの少ない画像を抽出する事ができる。
【0003】
さらに、カメラ等で撮像された劣化を含む画像を、撮像後の画像処理で復元する手法が従来から知られている。例えば、撮像に用いたレンズに応じた像のボケ、および撮像時点での手ブレによる画像のボケ等を復元する画像処理方法が提案されている。(例えば、特許文献1および非特許文献1参照)。しかし、多くの画像復元の手法では、処理画像の劣化度合いを予め見積もっておく必要がある。
【0004】
特許文献1 特開2010−26977号公報
非特許文献1 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
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザがボケおよび/またはブレを含む画像を複数撮像した場合、複数の画像からボケおよびブレがより少ない画像を取捨選択しなければならない場合がある。このような作業を画像処理によって自動で実行させる為には、目標となる画像劣化度合いを示す、客観的な指標値の算出が必要となる。しかし従来の手法では、多くの指標値が、人間の主観が入り、目標値を決定した人間の趣味および趣向が反映するものであったり、画像の高周波成分のみを考慮し、画像の劣化度合いを正しく見積もっていないものであったりした。
【0006】
また、画像の劣化除去処理を行う従来方法では、撮像によって得られたボケ画像が、ボケの無い理想画像をボカす事で得られると仮定する。即ち、理想画像をボケ関数を用いて劣化させて、入力されたたボケのある画像と最も近くなる理想画像を推定することで、ボケの無い理想画像を復元する。
【0007】
このような手法では、ボケ関数を既知の関数として処理するため、復元処理に幾つか問題がある事が指摘されている。具体的には、理想画像に対しボケ関数を適用した劣化予測画像と、撮像によって得られたボケ画像との差分を含む関数形で目的関数が定義される。当該目的関数を小さく収束させるように画像処理を繰り返す場合に、初期値として与えられたボケ関数が、実際のボケ関数と異なってしまうと収束するまでに時間がかかっていた。さらに、全く異なるボケ関数を初期値として用いると、所望の結果が得られない事もある。
【課題を解決するための手段】
【0008】
本発明の第1の態様においては、入力画像の特徴量の平面分布を算出する特徴量算出部と、特徴量の平面分布に基づいて入力画像の画像劣化方向を得る特徴量解析部と、を備える画像処理装置を提供する。
【0009】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0010】
【図1】本実施形態に係る画像処理装置100の構成例を示す。
【図2】本実施形態に係る画像処理装置100による画像復元の処理フローを示す。
【図3】ステップ300において入力される撮像画像の周波数強度分布の一例を示す。
【図4】手ぶれ補正機能を用いた場合の、図3と同じ被写体を撮像した画像の周波数強度分布の一例を示す。
【図5】本実施形態に係る画像復元処理によって得られる復元画像の周波数強度分布の一例を示す。
【図6】ステップ300において入力される撮像画像の一例を示す。
【図7】本実施形態に係る画像復元処理によって得られる復元画像の一例を示す。
【図8】本実施形態に係る画像処理装置100による画像劣化度検出の処理フローを示す。
【図9】本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0011】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0012】
(第1の実施形態)
図1は、本実施形態に係る画像処理装置100の構成例を示す。画像処理装置100は、入力画像の画像劣化を客観的な指標で検出して、検出結果に基づいて画像復元または画像分類を実行する。画像処理装置100は、特徴量算出部110と、特徴量解析部120と、ボケ関数算出部130と、復元画像生成部140と、劣化度算出部150と、判定部160と、処理部170とを備える。
【0013】
特徴量算出部110は、入力画像の特徴量の平面分布を算出する。ここで、入力画像は、ボケ復元の対象となる撮像画像等でよい。例えば、デジタルカメラ等で撮像され、撮像時点で手ブレおよび/またはレンズのボケ等が含まれた撮像画像である。特徴量算出部110は、このような撮像画像のデジタルデータを、入力画像としてよい。
【0014】
特徴量算出部110は、入力画像の周波数強度を特徴量としてよく、この場合、周波数強度の平面分布を算出する。即ち、特徴量算出部は、入力画像を周波数変換して、特徴量である周波数強度の平面分布を算出する。ここで、周波数変換は、2次元フーリエ変換によって実行されてよく、変換後の2次元データは、縦軸および横軸が各方向の周波数軸となる周波数強度の平面分布である。
【0015】
また、特徴量算出部110は、入力画像のエッジ情報を特徴量としてよい。この場合、特徴量算出部110は、入力画像の縦方向および横方向の画素値の差分をそれぞれ算出して、特徴量であるエッジ情報の平面分布を得る。ここで、画素値は、RGBで表現される色情報であってよく、この場合、R(赤)、G(緑)、およびB(青)のうちの一つの画素値でよい。これに代えて、特徴量算出部110は、2以上の色情報の画素値の差分を入力画像のエッジ情報としてよい。これに代えて、特徴量算出部110は、入力画像の画素毎の輝度値の差分を、入力画像のエッジ情報としてよい。
【0016】
特徴量解析部120は、特徴量の平面分布に基づいて入力画像の画像劣化方向を得る。例えば、特徴量解析部120は、特徴量の平面分布が、画像の中央を中心とした円と比較して偏っている方向を、画像劣化方向とする。また、特徴量解析部120は、特徴量の平面分布に基づき、入力画像の画像劣化方向における画像劣化強度を得てよい。即ち、特徴量解析部120は、平面分布における特徴量の偏りの方向と強度を解析して画像劣化強度および画像劣化方向を得る。
【0017】
例えば、特徴量解析部120は、入力画像の周波数強度を特徴量とした場合、より周波数強度の分布が広がっている方向を画像劣化がより少ない方向とする。また、特徴量解析部120は、より周波数強度の分布が狭く偏っている方向を画像劣化がより大きい方向とする。
【0018】
これに代えて、特徴量解析部120は、入力画像のエッジ情報を特徴量とした場合、より画素値の差分が大きい方向を画像劣化がより小さい方向とする。また、特徴量解析部120は、より画素値の差分が小さく偏っている方向を画像劣化がより大きい方向とする。
【0019】
特徴量解析部120は、特徴量の平面分布における、画像劣化が最大となる第1の方向と、画像劣化が最小となる第2の方向とを決定してよい。ここで、画像劣化が手ブレによって発生した場合、第1の方向での劣化強度と第2の方向での劣化強度は異なる。また、画像劣化がレンズ等によるボケの場合、ほぼ等方的に画像が劣化するので、第1の方向の劣化強度と第2の方向の劣化強度はほぼ等しくなる。また、画像劣化が手ブレとレンズ等によるボケとを含む場合、ボケによる等方的な広がりと、ブレによる偏りが重畳される形になり、第1の方向の劣化強度と第2の方向の劣化強度は、手ブレの影響とレンズによるボケを反映した形で表される。
【0020】
ボケ関数算出部130は、特徴量解析部120が決定した画像劣化強度および画像劣化方向から、ボケ関数の初期値を算出する。例えば、ボケ関数算出部130は、画像劣化方向がほぼ等方的な場合、レンズ等によるボケに応じたボケ関数を選択する。ボケ関数算出部130は、画像劣化強度に応じて汎用のボケ関数、レンズのデフォーカスによるボケを与えるボケ関数、または画像の拡大、縮小により生じるボケを与えるボケ関数等を選択してよい。また、ボケ関数算出部130は、画像劣化強度に応じて、ボケ関数のフィルタサイズ等のパラメータを設定してボケ関数を算出してよい。
【0021】
また、ボケ関数算出部130は、第1の方向および第2の方向に応じたボケ関数の初期値をそれぞれ算出する。ボケ関数算出部130は、第1の方向には第1の方向の劣化強度に応じたボケ関数を、第2の方向には第2の方向の劣化強度に応じたボケ関数を、それぞれ算出する。例えば、ボケ関数算出部130は第1の方向の劣化強度と第2の方向の劣化強度の比較によって、第1の方向には手ブレによるボケを与えるボケ関数を算出し、第2の方向にはレンズ等によるボケに応じたボケ関数を算出する。
【0022】
復元画像生成部140は、ボケ関数算出部130が算出したボケ関数の初期値を初期条件として、入力画像を復元した復元画像を生成する。例えば、復元画像生成部140は、理想画像がボケ関数でボカされていると仮定して、理想画像にボケ関数を用いてボカすことによって入力画像が得られるように、理想画像を生成する。
【0023】
劣化度算出部150は、特徴量解析部120が決定した入力画像の画像劣化方向から、画像劣化度を算出する。例えば、劣化度算出部150は、入力画像の手ブレの有無、および手ブレの方向に応じて画像劣化度を算出する。
【0024】
また、劣化度算出部150は、特徴量解析部120が入力画像の平面分布に基づいて得る画像劣化方向および当該画像劣化方向における画像劣化強度から、画像劣化度を算出してよい。例えば、劣化度算出部150は、入力画像の手ブレの方向および手ブレによる画像劣化強度に応じて画像劣化度を算出する。
【0025】
また、劣化度算出部150は、画像劣化が最大となる第1の方向と第1の方向の画像劣化強度、または画像劣化が最小となる第2の方向と第2の方向の画質劣化強度から、画像劣化度を算出してよい。例えば、劣化度算出部150は、入力画像の手ブレが最も大きい方向に着目し、最も手ブレの大きい方向における画像劣化強度に応じて画像劣化度を算出する。
【0026】
また、劣化度算出部150は、入力画像の手ブレが最も小さい方向に着目し、最も手ブレの小さい方向における画像劣化強度に応じて画像劣化度を算出する。ここで、特徴量を入力画像の周波数強度とした場合、最も手ブレの小さい方向における画像劣化強度は、入力画像の最高解像度、即ち、撮像に用いたレンズの実効解像限界に相当する。更に、上記算出された画像劣化度を、予め決められた基準値と比較しても良い。
【0027】
また、劣化度算出部150は、第1の方向の画像劣化強度および第2の方向の画像劣化強度から、画像劣化度を算出してよい。例えば、劣化度算出部150は、第1の方向の画像劣化強度と第2の画像劣化強度との比を入力画像の手ブレの大きさを表す手ブレ指数とし、当該手ブレ指数に応じて画像劣化度を算出する。
【0028】
判定部160は、劣化度算出部150によって算出された画像劣化度に基づき、入力画像を分類または選別する。例えば、判定部160は、複数の入力画像がある場合、当該複数の入力画像を画像劣化度が少ない順番に並べ替える。ここで、判定部160は、複数の入力画像のうち、例えば撮像した日毎に複数の入力画像を分類して、分類毎に画像劣化度が少ない順番に並べ替えてよい。また、判定部160は、複数の入力画像のうち、最も画像劣化度が少ない画像を選別してよい。
【0029】
処理部170は、第1の方向の画像劣化強度および第2の方向の画像劣化強度に応じて、入力画像に画像処理を施す。例えば、処理部170は、入力画像に対してエッジ強調処理を施す。この場合、処理部170は、入力画像の画像劣化方向および当該画像劣化方向における画像劣化強度に応じて、エッジ強調の強度を変えて処理を施してよい。具体的には、処理部170が施す画像処理は、劣化度の大きい第1の方向に対して第2の方向よりも強いエッジ強調であってよい。
【0030】
以上の本実施形態の画像処理装置100によって、入力画像に対して、入力画像の画像劣化方向および画像劣化強度に基づいてボケ関数の初期値を決定して画像復元を実行する。また、画像処理装置100は、入力画像の画像劣化方向および画像劣化強度に基づいて入力画像の画像劣化度を算出する。
【0031】
図2は、本実施形態に係る画像処理装置100による画像復元の処理フローを示す。まず、画像処理装置100は、復元対象となる撮像画像を入力画像として入力する(S300)。
【0032】
次に、特徴量算出部110は、入力画像の特徴量の平面分布を算出する(S310)。ここで、特徴量算出部110は、入力画像の予め定められた領域において特徴量の平面分布を算出してよい。この場合、特徴量算出部110は、使用者によって予め指定された領域について、特徴量の平面分布を算出してよい。
【0033】
本実施例において、特徴量算出部110は、入力画像の周波数強度を特徴量とする例を説明する。例えば、特徴量算出部110は、入力画像をフーリエ変換して、周波数強度の平面分布を算出する。
【0034】
ここで、特徴量算出部110は、入力画像の予め定められた領域についてフーリエ変換を実行してよい。一例として、縦軸および横軸のピクセル数を2n個(nは2以上の整数)とした領域を周波数変換してよい。これによって、特徴量算出部110は、FFT処理することができ、高速に周波数変換することができる。
【0035】
図3は、ステップS300において入力される撮像画像の周波数強度分布の一例を示す。即ち、図3は、ステップS310において、特徴量算出部110が入力画像を周波数変換して算出した周波数強度の平面分布の一例を示す。ここで、図中の平面分布は、撮像した時点でx軸方向に手ブレによって劣化した画像を周波数変換した結果である。
【0036】
図中の横軸fxおよび縦軸fyは、いずれも周波数を示す。また、図中の黒い領域は、周波数の振幅強度がほとんど0であることを示し、入力画像には当該領域の周波数成分はほとんど含まれていないことを示す。図中の周波数強度の平面分布は、fx方向に比べてfy方向の周波数広がりが広いことがわかる。これは、入力画像のy軸方向は、x軸方向に比べてより高い周波数の成分を有する画像であることを示す。即ち、入力画像は、x軸方向の手ブレ等によってx軸方向の高周波成分のデータが失われて劣化した画像と考えられる。
【0037】
図4は、レンズによる手ぶれ補正機能を用いた場合の、図3と同じ被写体を撮像した画像の周波数強度分布の一例を示す。即ち、図4は、ステップS310において、特徴量算出部110が入力画像の理想画像により近い画像を周波数変換した平面分布と考えることができる。図中の横軸fxおよび縦軸fyは、図3と同様にいずれも周波数を示す。
【0038】
図中の周波数強度の平面分布は、画像の略中央であるfx=0、fy=0の点を中心に、周波数広がりが全方位にわたってほぼ均一であることがわかる。このように、手ブレが補正されてブレの影響がほとんど無い画像の場合、周波数強度分布に偏りが無いことがわかる。即ち、入力画像の周波数強度の平面分布において、偏りが生じている場合は、手ブレ等によって画像が劣化し、当該偏りの方向がブレの方向またはブレが生じていない方向であると判断することができる。
【0039】
そこで、特徴量解析部120は、特徴量算出部110が算出した入力画像の特徴量の平面分布を解析して、周波数分布の振幅強度の偏りから入力画像の画像劣化方向を決める(S320)。例えば、特徴量解析部120は、fx=0、fy=0の点を通り、周波数強度の広がりが最も狭い方向を、第1の方向とする。即ち、第1の方向は、特徴量の平面分布において、画像劣化が最大となる方向である。また、特徴量解析部120は、fx=0、fy=0の点を通り、周波数強度の広がりが最も広い方向を、第2の方向とする。即ち、第2の方向は、特徴量の平面分布において、画像劣化が最小となる方向である。
【0040】
ここで、特徴量解析部120は、対数で表現された周波数分布の振幅強度を解析してもよい。これによって、特徴量解析部120は、振幅強度が数桁以上変動してダイナミックレンジが広い場合でも、振幅強度の偏りを容易に解析することができる。一例として、特徴量算出部110は、ステップS310において周波数変換されて算出する(i,j)成分の実部と虚部の振幅をそれぞれRi,jとIi,jとして、振幅強度Pi,jを次式のように算出する。ここで、iおよびjは整数値をとり、それぞれfx軸方向およびfy軸方向の離散化したデータを示してよい。例えば、fx=0、fy=0の点の振幅強度をP0,0と表現する。
【0041】
【数1】
【0042】
図3および図4は、数1の式を用いて周波数分布の振幅強度を対数で表現した図である。これに代えて、特徴量算出部110は、ステップS310において、予め定められた閾値と振幅強度を比較して、振幅強度を二値化してもよい。
【0043】
このように算出された周波数分布の振幅強度より、特徴量解析部120は、一例として、主成分分析を用いて第1の方向および第2の方向を決めてよい。ここで、主成分分析は、次式を満たす固有値λ1およびλ2と、単位サイズのa1ベクトルおよびa2ベクトルを得ることで実行される。ここで、λ1<λ2を満たすa1ベクトルが手ブレの最も大きい第1の方向、a2ベクトルが手ブレの最も小さい第2の方向である。また、λ1およびλ2の逆数を用いて、それぞれ第1の方向および第2の方向の画像劣化強度を見積もる事もできる。
【0044】
【数2】
【0045】
次に、ボケ関数算出部130は、特徴量解析部120が決定した画像劣化強度および画像劣化方向から、ボケ関数の初期値を算出する(S330)。一例として、ボケ関数算出部130は、ボケ関数h(x',y')を次式のように定めて算出してよい。
【0046】
【数3】
【0047】
ここで、f(x',σ1)は、x'方向の手ブレによるボケを与える1次元ボケ関数であり、σ1はx'方向のボケの強度を調整するパラメータである。また、g(y',σ2)は、y'方向のレンズ等によるボケを与える1次元ボケ関数であり、σ2はy'方向のボケの強度を調整するパラメータである。即ち、ボケ関数算出部130は、数3の式のx'を第1の方向であるa1ベクトル方向に、y'を第2の方向であるa2ベクトル方向にすることで、入力画像のブレ方向に応じたボケ関数を算出することができる。ここで、ボケ関数算出部130は、画像劣化強度に応じた、σ1およびσ2の値を代入して、ボケ関数を算出してよい。
【0048】
ここで、(x',y')で表現された数3の式を、入力画像の(x,y)を用いて表す目的で、次式のように座標系の回転を実行する。ここで、θは、a2ベクトルとfx軸とがなす角度である。
【0049】
【数4】
【0050】
このように算出されたボケ関数を用いて、復元画像生成部140は、入力画像を復元した復元画像を生成する(S340)。復元画像生成部140は、ボケ関数算出部130が算出した入力画像のブレ方向に応じたボケ関数を用い、復元画像をボカすことで入力画像が得られるように、復元画像を生成する。したがって、復元画像生成部140は、入力画像の手ブレ方向に応じたボケ関数を用いて画像復元処理を実行することができ、より理想的な復元画像を生成することができる。
【0051】
また、ボケ関数算出部130は、手ブレによる画像劣化が大きい方向には手ブレによって発生するボケを与えるボケ関数を用い、手ブレによる画像劣化が小さい方向にはレンズ等のボケによって発生するボケ関数を用い、それぞれ異なるボケ関数をそれぞれの方向の画像劣化強度に応じた関数として算出する。したがって、復元画像生成部140は、手ブレによるボケとレンズ等によるボケが重畳された入力画像も復元することができる。
【0052】
ここで、復元画像生成部140は、復元画像を生成する処理を繰り返して、復元画像に対しボケ関数を適用した画像と入力画像との差分を含む関数で定義された目的関数を、より小さく収束させる復元画像を生成してよい。例えば、復元画像生成部140は、目的関数が予め定められた値よりも小さくなるまで、ステップS340を繰り返す(S350)。これに代えて、復元画像生成部140は、復元画像と復元処理前の画像との差分が予め定められた値よりも小さくなるまで、ステップS340を繰り返してもよい。
【0053】
ここで、ボケ関数算出部130は、目的関数をより小さく収束させる復元画像について、目的関数をより小さく収束させるようにボケ関数を更新してもよい(S360)。この場合、復元画像生成部140は、ボケ関数の更新前と更新後の差分が予め定められた値よりも小さくなるまで、ステップS340を繰り返してもよい。このように、ボケ関数を更新して復元画像を生成する場合、画像処理装置100は、ボケ関数の初期値を入力画像の手ブレ方向に応じたボケ関数を用いることができるので、目的関数を収束させるまでの処理回数を低減させて、高速に復元画像を生成することができる。
【0054】
図5は、本実施形態に係る画像復元処理によって得られる復元画像の周波数強度分布の一例を示す。図中の横軸fxおよび縦軸fyは、図3と同様にいずれも周波数を示す。入力画像の周波数強度分布である図3と比べて、図5の復元画像の周波数強度分布は、fx=0、fy=0の点を中心に、周波数広がりが全方位にわたってほぼ均一になっていることがわかる。
【0055】
図6は、ステップ300において入力される撮像画像の一例を示す。また、図7は、本実施形態に係る画像復元処理によって得られる復元画像の一例を示す。即ち、図6の画像を2次元フーリエ変換した画像が図3であり、図7の画像を2次元フーリエ変換した画像が図5である。
【0056】
図6と図7を比較することにより、入力画像のボケが復元画像で改善されていることがわかる。また、図6は、撮像の時点で水平方向であるx軸方向の手ブレによって劣化した画像である。図6の入力画像では、雨が振っている風景を撮像したにも関わらず、入力画像においては雨が降っていることが確認することができない。その一方で、x軸方向の手ブレによる画像劣化を復元させた図7の復元画像では、雨が降っていることが確認できる。
【0057】
このように、本実施形態の画像処理装置100は、手ブレによって劣化した画像から手ブレの方向を判別して、当該手ブレの方向に応じたボケ関数を算出して復元することができる。ここで、本実施例において、数3のボケ関数として、次式を用いた。より具体的には、f(x',σ1)として、数5の式のηに1.0を代入した関数を用い、g(y',σ2)として、数5の式のηに0.5を代入した関数を用いた。
【0058】
【数5】
【0059】
以上の本実施形態に係る画像処理装置100による画像復元の処理フローにおいて、特徴量算出部110は、入力画像の周波数強度を特徴量とする例を説明した。これに代えて、特徴量算出部110は、入力画像のエッジ情報を特徴量としてもよい。即ち、手ブレによって劣化した画像は、手ブレの方向のエッジ強度が小さくなるので、特徴量算出部110は、縦軸方向および横軸方向の画素値の差分をそれぞれとって、差分がより小さい方向を手ブレ方向とする。
【0060】
この場合、特徴量解析部120は、数2の主成分分析において、A、B、およびCの値を次式に置き換えることで、手ブレ方向を得ることができる。ここで、Fi,jは、入力画像の(i,j)成分、即ち、画素値である。また、偏微分表記∂は差分を示す。例えば、∂F/∂xは、Fについてx軸方向の差分をとることを示す。
【0061】
【数6】
【0062】
このように、画像処理装置100は、入力画像の画素値の勾配成分が最も大きくなる方向を第2の方向とし、最も小さくなる方向を第1の方向として、手ブレの方向と画像劣化強度を定めてボケ関数を算出することができる。これによって、画像処理装置100は、周波数変換の処理を無くして、より高速に復元処理を実行することができる。
【0063】
(第2の実施形態)
次に、本実施形態に係る画像処理装置100による画像劣化度検出の処理を説明する。また、当該処理の処理フローを図8に示す。ここで、ステップS300からステップS320までの、入力画像から特徴量を解析するまでの過程は、図2で説明した動作と略同一の動作なので説明を省略する。
【0064】
ステップS320において特徴量解析部120が決定した画像劣化強度および画像劣化方向から、劣化度算出部150は、入力画像の画像劣化度を算出する(S430)。例えば、特徴量の平面分布において、画像劣化が最小となる第2の方向とfx軸とがなす角度をΘ1、第1の方向の画像劣化強度をI1、画像劣化が最小となる第2の方向の画像劣化強度をI2とした場合、劣化度算出部150は、Θ1、I1、I2/I1、またはI2を入力画像の画像劣化度とする。
【0065】
ここで、劣化度算出部150は、画像劣化度を実数としてよく、これに代えて、予め定められた段階に分類してもよい。このように、劣化度算出部150は、入力画像の特徴量から入力画像の画像劣化度を算出することができる。
【0066】
次に、画像処理装置100は、入力画像に対して画像処理を実行するか否かを判別する(S440)。ここで、画像処理装置100は、予めユーザ等に画像処理を実行するか否かを入力させ、ユーザ等の指示に応じて画像処理の実行を判別してよい。これに代えて、画像処理装置100は、劣化度算出部150が算出した画像劣化度に基づいて画像処理の実行を判別してよい。例えば、画像処理装置100は、入力画像の画像劣化度が予め定められた範囲内にある場合に、画像処理を実行する。
【0067】
画像処理装置100が画像処理を実行しない場合、判定部160は、劣化度算出部150によって算出された画像劣化度に基づき、入力画像を分類または選別する(S450)。例えば、判定部160は、入力画像の画像劣化度と、予め定められた許容劣化度または他の入力画像の画像劣化度とを比較して、複数の入力画像の優劣を判定する。また、判定部160は、同一被写体が撮像された複数の撮像画像の中で、画像劣化度に基づいて優劣を判定してもよい。
【0068】
これによって、判定部160は、入力画像を客観的な指標で分類または選別することができる。例えば、判定部160は、同一の被写体を時間的に連続して撮像した連写画像から、最もブレの少ない画像を撮像者等の主観に関係なく選別することができる。また、判定部160は、大量に撮像された画像の中から、画像劣化が少ない画像を抽出して分類することができる。
【0069】
次に、画像処理装置100が画像処理を実行する場合、処理部170は、劣化度算出部150によって算出された画像劣化度に基づき、入力画像に画像処理を施す(S460)。具体的な例として、処理部170が入力画像に対してエッジ強調処理を施す場合を説明する。例えば、劣化度算出部150が画像劣化度としてI2/I1を算出する場合、処理部170は、第1の方向へのエッジ強調度を、第2のエッジ強調度に比べてI2/I1の割合に応じた分だけ高くする。
【0070】
これに代えて、処理部170は、第1の方向のエッジを抽出する周波数帯域を、第2の方向のエッジを抽出する周波数帯域に比べてI2/I1の割合に応じた分だけ低い帯域にしてよい。より具体的には、入力画像からのエッジ量を抽出する場合に、次式で示されるフィルタを入力画像に施して入力画像をボカし、入力画像との差分をとってエッジ抽出を実行するとよい。
【0071】
【数7】
【0072】
数7の式において、Dは、次式で示される2×2の行列である。処理部170は、σ1>σ2として、第1の方向のエッジ強調度を高くしてよい。
【0073】
【数8】
【0074】
以上のように、本実施形態に係る画像処理装置100は、入力画像の画像劣化度に応じて、入力画像に画像処理を施すことができる。本実施例において、判定部160は、劣化度算出部150が算出した画像劣化度に応じて、入力画像を分類または選別することを説明した。これに代えて、判定部160は、複数の入力画像から選別した画像を処理部170に送信して、選別した画像について画像処理させるようにしてもよい。また、判定部160は、複数の入力画像から選別した画像をボケ関数算出部130に送信して、選別した画像について復元画像を生成するようにしてもよい。
【0075】
以上の本実施形態に係る画像処理装置100は、入力画像の手ブレによる画像劣化を復元すること、および画像の分類、抽出について説明した。これに代えて、画像処理装置100は、一方向に動いた被写体を撮像し、結果として手ブレのように劣化した画像を入力画像としてもよい。画像処理装置100は、このような被写体のブレ方向に応じてボケ関数を算出して、劣化した画像を復元すること、または分類、抽出することができる。
【0076】
以上の本実施形態に係る画像処理装置100は、撮像装置または撮像した画像が記録された記録媒体と接続され、画像処理を実行する装置であってよい。この場合、画像処理装置100は、プログラムの実行によって処理するコンピュータ等であってよい。これに代えて、画像処理装置100は、撮像装置に内蔵されてもよい。
【0077】
(第3の実施例)
図9は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、および表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、およびDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、および入出力チップ2070を有するレガシー入出力部と、を備える。
【0078】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000およびグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010およびRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0079】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラムおよびデータを格納する。DVDドライブ2060は、DVD−ROM2095からプログラムまたはデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0080】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、および入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、および/または、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラムまたはデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0081】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD−ROM2095、またはICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0082】
プログラムは、コンピュータ1900にインストールされ、コンピュータ1900を画像処理装置100として機能させる。
【0083】
プログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である画像処理装置100として機能する。そして、この具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の特徴量算出部110、特徴量解析部120、ボケ関数算出部130、復元画像生成部140、劣化度算出部150、判定部160、および処理部170が構築される。
【0084】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、またはDVD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置または通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0085】
また、CPU2000は、ハードディスクドライブ2040、DVDドライブ2060(DVD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、および/または記憶装置に含まれるものとする。
【0086】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(または不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0087】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0088】
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD−ROM2095の他に、DVDまたはCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0089】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0090】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0091】
100 画像処理装置、110 特徴量算出部、120 特徴量解析部、130 ボケ関数算出部、140 復元画像生成部、150 劣化度算出部、160 判定部、170 処理部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 DVDドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 DVD−ROM
【特許請求の範囲】
【請求項1】
入力画像の特徴量の平面分布を算出する特徴量算出部と、
前記特徴量の平面分布に基づいて前記入力画像の画像劣化方向及び画像劣化強度を得る特徴量解析部と、
を備える画像処理装置。
【請求項2】
前記特徴量算出部は、前記入力画像を周波数変換して、前記特徴量の平面分布を算出する請求項1に記載の画像処理装置。
【請求項3】
前記特徴量算出部は、前記入力画像の縦方向および横方向の画素値の差分をそれぞれ算出して、前記特徴量の平面分布を得る請求項1に記載の画像処理装置。
【請求項4】
前記特徴量算出部は、前記入力画像の予め定められた領域において前記特徴量の平面分布を算出する請求項2または3に記載の画像処理装置。
【請求項5】
前記特徴量解析部は、前記平面分布における前記特徴量の偏りの方向と強度を解析して画像劣化強度および前記画像劣化方向を得る請求項1に記載の画像処理装置。
【請求項6】
前記画像劣化強度および前記画像劣化方向から、ボケ関数の初期値を算出するボケ関数算出部を更に備える請求項5に記載の画像処理装置。
【請求項7】
前記特徴量解析部は、前記特徴量の前記平面分布における、画像劣化強度が最大となる第1の方向と、画像劣化強度が最小となる第2の方向とを決定し、
前記ボケ関数算出部は、前記第1の方向および前記第2の方向に応じた、それぞれの画像劣化度に依存する前記ボケ関数の初期値をそれぞれ算出する請求項6に記載の画像処理装置。
【請求項8】
前記ボケ関数の初期値を初期条件として、前記入力画像を復元した復元画像を生成する復元画像生成部を更に備える請求項6または7に記載の画像処理装置。
【請求項9】
前記復元画像生成部は、復元画像を生成する処理を繰り返して、前記復元画像に対し前記ボケ関数を適用した画像と前記入力画像との差分を含む形で定義された目的関数の値を、より小さく収束させる処理にて前記復元画像を生成する
請求項8に記載の画像処理装置。
【請求項10】
前記ボケ関数算出部は、前記目的関数をより小さく収束させる前記復元画像について、前記目的関数をより小さく収束させるように前記ボケ関数を更新する請求項9に記載の画像処理装置。
【請求項11】
前記入力画像の前記画像劣化強度から、画像劣化度を算出する劣化度算出部を備える請求項1から10のいずれか1項に記載の画像処理装置。
【請求項12】
前記劣化度算出部は、前記画像劣化方向、および前記画像劣化方向における画像劣化強度から、画像劣化度を算出する請求項11に記載の画像処理装置。
【請求項13】
前記劣化度算出部は、画像劣化が最大となる第1の方向と前記第1の方向の画像劣化強度、及び/または画像劣化が最小となる第2の方向と前記第2の方向の画質劣化強度から、前記画像劣化度を算出する請求項11に記載の画像処理装置。
【請求項14】
前記第1の方向の画像劣化強度および前記第2の方向の画像劣化強度に応じて、前記入力画像に画像処理を施す処理部を更に備える請求項13に記載の画像処理装置。
【請求項15】
前記処理部が施す画像処理は、前記第1の方向に対して前記第2の方向よりも強いエッジ強調である請求項14に記載の画像処理装置。
【請求項16】
前記入力画像の前記画像劣化度と、予め定められた許容劣化度または他の入力画像の画像劣化度とを比較して、複数の入力画像の優劣を判定する判定部を更に備える請求項11から15のいずれか1項に記載の画像処理装置。
【請求項17】
前記判定部は、同一被写体が撮像された複数の撮像画像の中で、前記画像劣化度に基づいて優劣を判定する請求項16に記載の画像処理装置。
【請求項18】
入力画像の特徴量の平面分布を算出し、
前記特徴量の平面分布に基づいて前記入力画像の画像劣化方向及び画像劣化強度を得る
画像処理方法。
【請求項19】
コンピュータを、請求項1から17のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
【請求項1】
入力画像の特徴量の平面分布を算出する特徴量算出部と、
前記特徴量の平面分布に基づいて前記入力画像の画像劣化方向及び画像劣化強度を得る特徴量解析部と、
を備える画像処理装置。
【請求項2】
前記特徴量算出部は、前記入力画像を周波数変換して、前記特徴量の平面分布を算出する請求項1に記載の画像処理装置。
【請求項3】
前記特徴量算出部は、前記入力画像の縦方向および横方向の画素値の差分をそれぞれ算出して、前記特徴量の平面分布を得る請求項1に記載の画像処理装置。
【請求項4】
前記特徴量算出部は、前記入力画像の予め定められた領域において前記特徴量の平面分布を算出する請求項2または3に記載の画像処理装置。
【請求項5】
前記特徴量解析部は、前記平面分布における前記特徴量の偏りの方向と強度を解析して画像劣化強度および前記画像劣化方向を得る請求項1に記載の画像処理装置。
【請求項6】
前記画像劣化強度および前記画像劣化方向から、ボケ関数の初期値を算出するボケ関数算出部を更に備える請求項5に記載の画像処理装置。
【請求項7】
前記特徴量解析部は、前記特徴量の前記平面分布における、画像劣化強度が最大となる第1の方向と、画像劣化強度が最小となる第2の方向とを決定し、
前記ボケ関数算出部は、前記第1の方向および前記第2の方向に応じた、それぞれの画像劣化度に依存する前記ボケ関数の初期値をそれぞれ算出する請求項6に記載の画像処理装置。
【請求項8】
前記ボケ関数の初期値を初期条件として、前記入力画像を復元した復元画像を生成する復元画像生成部を更に備える請求項6または7に記載の画像処理装置。
【請求項9】
前記復元画像生成部は、復元画像を生成する処理を繰り返して、前記復元画像に対し前記ボケ関数を適用した画像と前記入力画像との差分を含む形で定義された目的関数の値を、より小さく収束させる処理にて前記復元画像を生成する
請求項8に記載の画像処理装置。
【請求項10】
前記ボケ関数算出部は、前記目的関数をより小さく収束させる前記復元画像について、前記目的関数をより小さく収束させるように前記ボケ関数を更新する請求項9に記載の画像処理装置。
【請求項11】
前記入力画像の前記画像劣化強度から、画像劣化度を算出する劣化度算出部を備える請求項1から10のいずれか1項に記載の画像処理装置。
【請求項12】
前記劣化度算出部は、前記画像劣化方向、および前記画像劣化方向における画像劣化強度から、画像劣化度を算出する請求項11に記載の画像処理装置。
【請求項13】
前記劣化度算出部は、画像劣化が最大となる第1の方向と前記第1の方向の画像劣化強度、及び/または画像劣化が最小となる第2の方向と前記第2の方向の画質劣化強度から、前記画像劣化度を算出する請求項11に記載の画像処理装置。
【請求項14】
前記第1の方向の画像劣化強度および前記第2の方向の画像劣化強度に応じて、前記入力画像に画像処理を施す処理部を更に備える請求項13に記載の画像処理装置。
【請求項15】
前記処理部が施す画像処理は、前記第1の方向に対して前記第2の方向よりも強いエッジ強調である請求項14に記載の画像処理装置。
【請求項16】
前記入力画像の前記画像劣化度と、予め定められた許容劣化度または他の入力画像の画像劣化度とを比較して、複数の入力画像の優劣を判定する判定部を更に備える請求項11から15のいずれか1項に記載の画像処理装置。
【請求項17】
前記判定部は、同一被写体が撮像された複数の撮像画像の中で、前記画像劣化度に基づいて優劣を判定する請求項16に記載の画像処理装置。
【請求項18】
入力画像の特徴量の平面分布を算出し、
前記特徴量の平面分布に基づいて前記入力画像の画像劣化方向及び画像劣化強度を得る
画像処理方法。
【請求項19】
コンピュータを、請求項1から17のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
【図1】
【図2】
【図8】
【図9】
【図3】
【図4】
【図5】
【図6】
【図7】
【図2】
【図8】
【図9】
【図3】
【図4】
【図5】
【図6】
【図7】
【公開番号】特開2013−54457(P2013−54457A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−190955(P2011−190955)
【出願日】平成23年9月1日(2011.9.1)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願日】平成23年9月1日(2011.9.1)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]