説明

画像処理装置および方法、プログラム、並びに記録媒体

【課題】リンギングやゴースト等のアーティファクトを抑制しつつ、より小さい回路規模で、かつ、より少ない計算量で、ぶれまたはぼけを補正する。
【解決手段】時間的に連続する画像のぶれまたはぼけを補正する画像処理装置において、零点成分抽出部は、注目する注目フレームに位置合わせされた、注目フレームより時間的に前のフレームであって、ぶれまたはぼけが補正された補正済みフレームから、所定のフィルタを用いて注目フレームに含まれない周波数成分を抽出し、合成部は、零点成分抽出部により抽出された周波数成分と注目フレームとを合成する。本技術は、デジタルカメラ等の撮像装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、画像処理装置および方法、プログラム、並びに記録媒体に関し、特に、リンギングやゴースト等のアーティファクトを抑制しつつ、ぶれまたはぼけを補正することができるようにする画像処理装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【0002】
露出中にカメラや被写体が動いたことによって、撮影された画像に生じるぶれやぼけがは、光軸や被写体の軌跡から定まる2次元のインパルス応答(PSF:Point Spread Function)を、元の画像に畳み込むこと(コンボリューション)によってモデル化される。近年、それを戻す、すなわち、ぶれやぼけを補正する手段としてのデコンボリューションの技術が研究されている。
【0003】
古典的なデコンボリューションの方法の1つであるWiener Filterを用いる手法によれば、ある程度のぶれやぼけの補正は可能であるが、仮にPSFが正確に分かったとしても、ぶれやぼけが生じる前の画像を完全に復元することは不可能であり、リンギングやゴーストと呼ばれるアーティファクトを伴う。これらリンギングやゴーストは、畳み込まれたPSFに対応する周波数応答の中に、周期的にまたは高域の多くに見られる零点(遮断される周波数成分)により情報が欠落することで生じる。このことは、デコンボリューションの方法が線形である限り、他の方法であっても同様である。
【0004】
そこで、複数のぶれ画像から1枚のぶれ補正画像を得るとともに、複数のぶれ画像毎の零点が重ならないようにすることで、全体として零点を生じさせないようにする手法が提案されている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Agrawal et al., "Invertible motion blur in video", SIGGRAPH, ACM Transactions on Graphics, Aug 2009
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した手法では、1枚のぶれ補正画像を得るのに必要なぶれ画像の枚数分のフレームメモリを必要とするので、ハードウェアにより実現しようとした場合、回路規模が大きくなってしまう。
【0007】
また、複数枚対1枚のアルゴリズムであるため、リアルタイムの動画像に対して処理を行う場合、計算量が多くなってしまう。
【0008】
本技術は、このような状況に鑑みてなされたものであり、リンギングやゴースト等のアーティファクトを抑制しつつ、より小さい回路規模で、かつ、より少ない計算量で、ぶれまたはぼけを補正することができるようにするものである。
【課題を解決するための手段】
【0009】
本技術の一側面の画像処理装置は、時間的に連続する画像のぶれまたはぼけを補正する画像処理装置であって、注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出する抽出部と、前記抽出部により抽出された前記周波数成分と前記注目画像とを合成する合成部とを備える。
【0010】
前記画像処理装置には、ぶれまたはぼけの周波数特性に対して略逆特性を有し、前記フィルタに相補的な相補フィルタを用いて、前記注目画像のぶれまたはぼけを補正する補正部をさらに設け、前記合成部には、前記補正部によりぶれまたはぼけが補正された前記注目画像と前記周波数成分とを合成させることができる。
【0011】
前記画像処理装置には、前記合成部により前記周波数成分が合成された前記注目画像と前記補正済み画像とを、所定の加算重みに応じて加算する加算する加算部をさらに設けることができる。
【0012】
前記補正済み画像の解像度は、前記注目画像の解像度である第1の解像度より高い第2の解像度とすることができ、前記フィルタおよび前記相補フィルタには、前記注目画像の解像度を前記第1の解像度から前記第2の解像度にさせることができる。
【0013】
前記画像処理装置には、前記第2の解像度の前記注目画像と前記補正済み画像とを、所定の加算重みに応じて加算する加算する加算部をさらに設けることができる。
【0014】
前記画像処理装置には、前記注目画像と前記補正済み画像との位置合わせにおけるずれを検出する検出部と、前記検出部により検出されたずれに応じて、前記合成部により前記周波数成分が合成された前記注目画像と、いずれの処理もされていない前記注目画像との合成の比率を調整して得られる画像を出力する出力部とをさらに設けることができる。
【0015】
前記画像処理装置には、前記注目画像と前記補正済み画像との間の位置のずれに基づいて、前記注目画像のぶれまたはぼけの向きおよび長さを推定する推定部をさらに設け、前記補正部には、前記推定部により推定された前記注目画像のぶれまたはぼけの向きおよび長さに応じた前記相補フィルタを用いて、前記注目画像のぶれまたはぼけを補正させることができる。
【0016】
前記補正部には、前記補正済み画像、前記注目画像、および前記注目画像より時間的に後の後画像に基づいて、前記注目画像における動体としての被写体以外の背景部分を除去して、前記注目画像における前記被写体のぶれまたはぼけを補正させることができる。
【0017】
前記注目画像に含まれない周波数成分は、前記注目画像のぶれまたはぼけをモデル化した周波数特性の零点近傍の周波数成分とすることができる。
【0018】
本技術の一側面の画像処理方法は、時間的に連続する画像のぶれまたはぼけを補正する画像処理装置において、注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出する抽出部と、前記抽出部により抽出された前記周波数成分と前記注目画像とを合成する合成部とを備える画像処理装置の画像処理方法であって、前記画像処理装置が、注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出し、抽出された前記周波数成分と前記注目画像とを合成するステップを含む。
【0019】
本技術の一側面のプログラムおよび一側面の記録媒体に記録されるプログラムは、時間的に連続する画像のぶれまたはぼけを補正する処理をコンピュータに実行させるプログラムであって、注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出する抽出ステップと、前記抽出ステップの処理により抽出された前記周波数成分と前記注目画像とを合成する合成ステップとを含む処理をコンピュータに実行させる。
【0020】
本技術の一側面においては、注目する注目画像に位置合わせされた、注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて注目画像に含まれない周波数成分が抽出され、抽出された周波数成分と注目画像とが合成される。
【発明の効果】
【0021】
本技術の一側面によれば、リンギングやゴースト等のアーティファクトを抑制しつつ、より小さい回路規模で、かつ、より少ない計算量で、ぶれまたはぼけを補正することが可能となる。
【図面の簡単な説明】
【0022】
【図1】本技術を適用した画像処理装置の一実施の形態の機能構成例を示すブロック図である。
【図2】パラメータρに応じたWiener FilterおよびNull Filling Filterの周波数応答を示す図である。
【図3】ぶれ補正処理について説明するフローチャートである。
【図4】図1の画像処理装置の変形例を示すブロック図である。
【図5】図4の画像処理装置のぶれ補正処理について説明するフローチャートである。
【図6】図1の画像処理装置の他の変形例の原理を説明するブロック図である。
【図7】図1の画像処理装置の他の変形例を示すブロック図である。
【図8】ノイズ低減処理を行う従来の画像処理装置の機能構成例を示すブロック図である。
【図9】本技術を適用した画像処理装置の他の機能構成例を示すブロック図である。
【図10】ノイズ低減に関わる処理部の置き換えについて説明する図である。
【図11】ノイズ低減に関わる処理部に、本技術の機能を追加した構成について説明する図である。
【図12】図9の画像処理装置のぶれ補正処理について説明するフローチャートである。
【図13】超解像処理を行う従来の画像処理装置の機能構成例を示すブロック図である。
【図14】本技術を適用した画像処理装置のさらに他の機能構成例を示すブロック図である。
【図15】本技術を適用した画像処理装置のさらに他の機能構成例を示すブロック図である。
【図16】ノイズ低減に関わるブロックに、超解像の機能を追加した構成について説明する図である。
【図17】被写体の等加速度運動について説明する図である。
【図18】等加速度運動する被写体のぶれについて説明する図である。
【図19】本技術を適用した画像処理装置のさらに他の機能構成例を示すブロック図である。
【図20】図19のぶれ補正部の機能構成例を示すブロック図である。
【図21】図19の画像処理装置のぶれ補正処理について説明するフローチャートである。
【図22】背景除去/ぶれ補正処理について説明するフローチャートである。
【図23】コンピュータのハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【0023】
以下、本技術の実施の形態について図を参照して説明する。なお、説明は以下の順序で行う。
1.画像処理装置の構成
2.ぶれ補正処理
3.ノイズ低減機能の追加
4.超解像処理機能の追加
5.PSFの推定方法の例
6.ぶれた被写体だけにぶれ補正を施す画像処理装置の構成
【0024】
<1.画像処理装置の構成>
図1は、本技術を適用した画像処理装置の一実施の形態の構成を示している。
【0025】
図1の画像処理装置11は、例えば、図示せぬ撮像装置から供給(入力)されてくる、時間的に連続した画像に対して、ぶれを補正するぶれ補正処理を施して、図示せぬ記憶装置や表示装置等に供給する。画像処理装置11に入力される画像は、連続して撮像された静止画像であってもよいし、動画像であってもよいが、以下においては、複数のフレームからなる動画像であるものとして説明する。また、画像処理装置11は、それ自身がデジタルカメラ等の撮像装置に設けられるようにしてもよい。
【0026】
図1の画像処理装置11は、動き検出部31、動き補償部32、PSF推定部33、ぶれ補正部34、零点成分抽出部35、合成部36、ずれ検出部37、ブレンド処理部38、事前知識処理部39、およびフレームメモリ40から構成される。
【0027】
動き検出部31は、連続して入力される画像のうちの、現在入力された、注目すべき注目画像(注目フレーム)である現フレームと、フレームメモリ40に保持されている、現フレームより時間的に1つ前のフレーム(以下、前フレームという)とに対して、ME(Motion Estimation)(動き検出)を行い、前フレームに対する現フレームの位置のずれを表す動きベクトル(MV:Motion Vector)を求める。このとき、動き検出部31は、PSF推定部33から供給されるPSFに基づいて、前フレームに対してぼけ処理を施して、動きベクトルを求める。動き検出部31は、求めた動きベクトルを動き補償部32およびPSF推定部33に供給する。
【0028】
動き補償部32は、動き検出部31からの動きベクトルに基づいて、フレームメモリに保持されている前フレームに対して動き補償(MC:Motion Compensation)を行い、現フレームに位置合わせされた、すなわち、動き補償された前フレーム(以下、動き補償前フレームという)を得る。動き補償部32は、得られた動き補償前フレームを、零点成分抽出部35およびずれ検出部37に供給する。
【0029】
PSF推定部33は、動き検出部31からの動きベクトルに基づいて、現フレームに含まれるぶれをモデル化するPSF(Point Spread Function)推定を行うことにより、PSFを求める。具体的には、例えば、PSF推定部33は、(動きベクトルMV)×(露出時間)÷(フレーム周期)より、ぶれの向きと長さを求めることでPSFを求める。PSF推定部33は、求めたPSFを、動き検出部31、ぶれ補正部34、零点成分抽出部35、およびずれ検出部37に供給する。
【0030】
ぶれ補正部34は、PSF推定部33からのPSFに基づいて、Wiener Filterを構成し、そのWiener Filterを現フレームに対して適用することで、ぶれ補正された現フレーム(以下、ぶれ補正現フレームという)を得て、合成部36に供給する。
【0031】
零点成分抽出部35は、PSF推定部33からのPSFに基づいて、Null Filling Filterを構成し、そのNull Filling Filterを動き補償部32からの動き補償前フレームに対して適用することで、動き補償前フレームから、現フレームのぶれ(PSF)の周波数特性に含まれない周波数成分である零点成分(零点を含む、零点近傍の周波数成分)を抽出して、合成部36に供給する。
【0032】
[Wiener FilterおよびNull Filling Filterの伝達関数]
ここで、Wiener FilterおよびNull Filling Filterの伝達関数について説明する。Wiener Filterの伝達関数RW(ω)およびNull Filling Filterの伝達関数RW(ω)チルダ(RW(ω)の上に~が付される。以下、RW~(ω)と記し、他の表記についても同様とする)は、以下の式(1)で表される。
【0033】
【数1】


・・・(1)
【0034】
式(1)において、H(ω)は、PSFで表されるぶれモデル(以下、ぼけモデルともいう)であり、S/N比は一定であるものとする。式(1)に示されるように、Wiener FilterおよびNull Filling Filterの伝達関数RW(ω),RW~(ω)は、共通のパラメータρを取る。S/N比が高いほど、パラメータρは小さくなり、Wiener Filterは、ぶれに対して理想的な逆特性を有する逆フィルタに近づく。また、S/N比が低いほど、パラメータρは大きくなり、Wiener Filterは理想的な逆フィルタから遠ざかり、ローパスフィルタのような特性を有するようになる。具体的には、パラメータρは、ホワイトノイズを仮定したときのノイズレベルで、Wiener Filterによるぶれ補正の強さを示している。Wiener Filterによるぶれ補正の強さを弱くすると、対応するNull Filling Filterを通過する成分が増えるようになる。すなわち、パラメータρによって、現フレームに対するぶれ補正と動き補償された前フレームの補正結果との間の重みが調整される。
【0035】
図2は、Wiener FilterおよびNull Filling Filterの周波数応答の例を示している。図2において、上段には、パラメータρを0.3、0.1、0.03、0.01、および0.003としたときのWiener Filterの周波数応答の例が示されており、下段には、パラメータρを0.3、0.1、0.03、0.01、および0.003としたときのNull Filling Filterの周波数応答の例が示されている。図2に示されるように、Wiener Filterの周波数応答において振幅が0となる点(周波数)で、Null Filling Filterの周波数応答における振幅が最大値1となっている。これは、上述したように、Wiener Filterによるぶれ補正の強さを弱くすると、対応するNull Filling Filterを通過する成分が増えることを示しており、Wiener FilterとNull Filling Filterとは、相補的な関係を有している。ここで、相補的な関係とは、ぼけモデル(ぼけ)に対してWiener Filterによってぼけ補正を行った結果の周波数特性と、Null Filling Filterの周波数特性とを足し合わせると1となる、Wiener FilterとNull Filling Filterの関係をいう。
【0036】
なお、ここでは、Wiener Filterと、Wiener Filterと相補的な関係を有するNull Filling Filterとについて説明したが、画像F、ぼけモデルHとしたときに、本技術においては、以下の式(2)に示されるような相補性(相補的な関係)を満たすフィルタR,R~を適用することができる。
【0037】
【数2】


・・・(2)
【0038】
図1の説明に戻り、合成部36は、ぶれ補正部34からのぶれ補正現フレームと、零点成分抽出部35からの動き補償前フレームの零点成分とを合成(加算)し、零点成分が合成(補償)された現フレームを、ブレンド処理部38に供給する。
【0039】
ずれ検出部37は、現フレームと動き補償前フレームとを比較し、それぞれの間の位置のずれを検出する。このとき、ずれ検出部37は、PSF推定部33からのPSFに基づいて、動き補償前フレームに対してぼけ処理を施して、現フレームと動き補償前フレームとを比較する。ずれ検出部37は、現フレームと動き補償前フレームとの間のずれに応じて、ずれが大きい領域(例えば画素)ほど1に近い値(以下、α値という)を、ずれが小さい領域ほど0に近いα値を割り当てたαマップを生成し、ブレンド処理部38に供給する。αマップにおいて、α値は0乃至1の値をとる。
【0040】
ブレンド処理部38は、ずれ検出部37からのαマップに基づいて、領域毎に、合成部36からの零点成分が補償された現フレームと、いずれの処理もされていない、もともとの現フレームとの合成の比率を調整したフレームを現フレームとして出力するブレンド処理を行う。ブレンド処理部38は、ブレンド処理の結果得られた現フレームを、事前知識処理部39に供給する。
【0041】
事前知識処理部39は、ブレンド処理部38からの現フレームに対して、所定の事前知識を用いた処理を施し、図示せぬ記憶装置や表示装置等に出力するとともに、フレームメモリ40に保持(記憶)させる。
【0042】
フレームメモリ40は、事前知識処理部39からの現フレームを1フレーム遅延させ、ぶれ補正処理が済んだ前フレーム(以下、補正済み前フレーム)として、動き検出部31および動き補償部32に供給する。
【0043】
<2.ぶれ補正処理>
次に、図3のフローチャートを参照して、画像処理装置11によるぶれ補正処理について説明する。
【0044】
ステップS11において、動き検出部31は、連続して入力されてくる画像のうちの現フレームと、フレームメモリ40に保持されている補正済み前フレーム(以下、単に、前フレームともいう)とに基づいて、動きベクトルを検出する。このとき、動き検出部31は、PSF推定部33からのPSFに基づいて、前フレームに対してぼけ処理を施して、動きベクトルを検出する。これにより、ぶれを多く含まない前フレームのぶれの程度を、ぶれを含む現フレームに合わせることができ、動きベクトルの検出の精度を高めることができる。動き検出部31は、検出した動きベクトルを動き補償部32およびPSF推定部33に供給する。
【0045】
ステップS12において、動き補償部32は、動き検出部31からの動きベクトルに基づいて、フレームメモリ40に保持されている前フレームに対して動き補償を行い、動き補償前フレームを得る。動き補償部32は、得られた動き補償前フレームを、零点成分抽出部35およびずれ検出部37に供給する。
【0046】
ステップS13において、PSF推定部33は、動き検出部31からの動きベクトルに基づいて、PSFを求め、動き検出部31、ぶれ補正部34、零点成分抽出部35、およびずれ検出部37に供給する。
【0047】
ステップS14において、ぶれ補正部34は、PSF推定部33からのPSFに基づいて得られるWiener Filterにより、ぶれ補正された現フレーム(ぶれ補正現フレーム)を得て、合成部36に供給する。このようにして得られたぶれ補正現フレームは、ぶれの周波数特性およびWiener Filterの周波数特性に見られる零点の影響により、リンギングやゴーストを含んでいる。また、ぶれ補正現フレームにおいては、もともとの現フレームに含まれているノイズが、Wiener Filterの周波数特性により増幅されている。
【0048】
ステップS15において、零点成分抽出部35は、PSF推定部33からのPSFに基づいて得られるNull Filling Filterにより、動き補償前フレームの零点成分を抽出して、合成部36に供給する。このようにして得られた動き補償前フレームの零点成分は、フレームメモリ40からの補正済み前フレームにおいてぶれが十分に補正されていれば、ぶれ補正現フレームに残るリンギング成分を打ち消すような信号成分となる。
【0049】
ステップS16において、合成部36は、ぶれ補正部34からのぶれ補正現フレームと、零点成分抽出部35からの動き補償前フレームの零点成分とを合成し、ブレンド処理部38に供給する。これにより、ぶれが補正され、かつ、リンギングの原因となる零点が補償された現フレームが得られる。ここでは、ぶれ補正部34からのぶれ補正現フレームにおいて情報が失われてしまい復元できない零点成分が、1フレームずつ補正されてきた結果としての前フレームに含まれていることを期待してリンギングの解消が図られる。
【0050】
ステップS17において、ずれ検出部37は、現フレームと動き補償前フレームとの間の位置のずれを検出することで、αマップを生成し、ブレンド処理部38に供給する。αマップにおいては、現フレームと動き補償前フレームとの間のずれが大きい領域(画素)ほど1に近いα値が、ずれが小さい領域ほど0に近いα値が割り当てられる。すなわち、αマップにおいては、動き検出(ME)や動き補償(MC)が失敗していると考えられる領域ほど、0に近いα値が割り当てられる。
【0051】
ステップS18において、ブレンド処理部38は、ずれ検出部37からのαマップを用いて、合成部36からの零点成分が補償された現フレームと、もともとの現フレームとについて、領域毎にブレンド処理を行う。具体的には、ブレンド処理によって得られる領域毎の画像は、以下の式(3)により与えられる。
【0052】
【数3】


・・・(3)
【0053】
式(3)において、Curは現フレームを示しており、MCは動き補償前フレームを示している。すなわち、αマップにおいて、MEやMCの結果が信頼できる領域については、α値は1に近い値となり、合成部36からの零点成分が補償された現フレームが高い比率で出力され、MEやMCが失敗していると考えられる領域については、α値は0に近い値となり、もともとの現フレームが高い比率で出力される。これにより、MEやMCが失敗したまま処理が繰り返されて、破綻した画像が出力されることを防ぐことができるようになる。
【0054】
ステップS19において、事前知識処理部39は、ブレンド処理によって得られた現フレームに対して、所定の事前知識を用いた処理を施す。具体的には、事前知識処理部39は、ノイズの抑制に用いられる技術として、Total Variationの最小化や画素値の勾配のスパース性を利用した、エッジを保持しつつ平滑化を行う処理を行う。これにより、最終的に補正された現フレームが得られる。
【0055】
ステップS20において、事前知識処理部39は、最終的に補正された現フレームをフレームメモリ40に保持させる。フレームメモリ40に保持された現フレームは、1フレーム遅延され、次のフレームについてのぶれ補正処理において、補正済み前フレームとして、動き検出部31および動き補償部32に供給される。すなわち、図3のぶれ補正処理は、1フレーム毎に実行される。
【0056】
以上の処理によれば、補正済み前フレームから、現フレームに含まれない零点成分が抽出され、その零点成分とぼけ補正された現フレームとが合成されるので、リンギングやゴースト等のアーティファクトを抑制することができる。この補正済み前フレームは、複数枚の補正が反映されているが、1枚ずつ処理されるので、1枚分のフレームメモリがあればよい。また、上述した処理は、連続したフレームに対する逐次処理であるので、リアルタイムの動画像であっても、計算量は少なくて済む。したがって、リンギングやゴースト等のアーティファクトを抑制しつつ、より小さい回路規模で、かつ、より少ない計算量で、ぶれを補正することが可能となる。
【0057】
また、現フレームと前フレームとの間の位置ずれを検出するようにしたので、MEやMCが失敗したことによる画像の破たんを防ぐことが可能となる。
【0058】
特に、従来のデコンボリューションの手法によるぶれ補正においては、MEやMCが失敗した場合、移動する被写体の、背景との境界部分にリンギングやゴーストといったアーティファクトが発生するが、現フレームと前フレームとの間の位置ずれを検出することで、上述のリンギングやゴースト等のアーティファクトを抑制することが可能となる。
【0059】
なお、以上においては、合成部36からの零点成分が補償された現フレームと、もともとの現フレームとに対してブレンド処理を行うようにしたが、例えば、動き補償前フレームと、もともとの現フレームとに対してブレンド処理を行うようにしてもよい。
【0060】
[画像処理装置の変形例]
ここで、図4を参照して、動き補償前フレームと、もともとの現フレームとに対してブレンド処理を行うようにした画像処理装置について説明する。
【0061】
なお、図4の画像処理装置61において、図1の画像処理装置11に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付するものとし、その説明は、適宜省略するものとする。
【0062】
すなわち、図4の画像処理装置61において、図1の画像処理装置11と異なるのは、合成部36と事前知識処理部39との間に設けられているブレンド処理部38を、動き補償部32と零点成分抽出部35との間に設けた点である。
【0063】
[ぶれ補正処理の他の例]
次に、図5のフローチャートを参照して、図4の画像処理装置61のぶれ補正処理について説明する。
【0064】
なお、図5のフローチャートのステップS31,S32,S35乃至S40の処理は、図3のフローチャートのステップS11乃至S16,S19,S20の処理とそれぞれ同様であるので、その説明は省略する。
【0065】
ステップS33において、ずれ検出部37は、現フレームと動き補償前フレームとの間の位置のずれを検出することで、αマップを生成し、ブレンド処理部38に供給する。
【0066】
ステップS34において、ブレンド処理部38は、ずれ検出部37からのαマップを用いて、動き補償前フレームおよび現フレームに対して、領域毎にブレンド処理を行う。ブレンド処理によって得られた画像(フレーム)は、動き補償前フレームとして、零点成分抽出部35に供給される。
【0067】
図5のフローチャートで示されるぶれ補正処理によっても、図3のフローチャートで示されるぶれ補正処理と同様の作用効果を奏することができる。
【0068】
なお、以上においては、現フレームのぼけ補正にWiener Filterを用いるようにしたが、Wiener Filterに限らず、補正対象となる現フレームのぶれの周波数特性に対して略逆特性となるフィルタを用いることが可能であり、以下に後述する構成においても同様である。
【0069】
また、図1の画像処理装置11や図4の画像処理装置61の構成において、ぶれ補正部34を設けないようにしてもよい。
【0070】
この場合、Null Filling Filter、またはこれに準ずるフィルタを、上述の式(2)に従って構成することで、ぶれ補正を行うことができる。
【0071】
[画像処理装置の他の変形例]
ここで、図6を参照して、ぶれ補正部34を備えない画像処理装置によるぶれ補正の原理について説明する。
【0072】
なお、図6の画像処理装置211において、図1の画像処理装置11に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付するものとし、その説明は、適宜省略するものとする。
【0073】
すなわち、図6の画像処理装置211において、図1の画像処理装置11と異なるのは、ぶれ補正部34、零点成分抽出部35、および合成部36に代えて、図6中、破線で示される処理部220に含まれるぶれ処理部231、演算部232、および演算部233を設けた点である。
【0074】
ぶれ処理部231は、PSF推定部33からのPSFに基づいて、動き補償部32からの動き補償前フレームに対してぶれを加え、演算部232に供給する。
【0075】
演算部232は、ぶれ処理部231からの、ぶれが加えられた動き補償前フレームを、現フレームから減算し、ぶれが加えられた動き補償前フレームと現フレームとの差分を演算部233に供給する。
【0076】
演算部233は、動き補償部32からの動き補償前フレームと、演算部232からの、ぶれが加えられた動き補償前フレームと現フレームとの差分とを加算し、その結果をブレンド処理部38に供給する。
【0077】
このような構成において処理が繰り返されることにより、ぶれが加えられた動き補償前フレームと現フレームとの差分が減少する方向に働き、徐々に現フレームのぶれが補正されるようになる。
【0078】
図7は、図6の画像処理装置211の構成と等価であり、かつ、図1の画像処理装置11に対応させた画像処理装置の構成を示している。
【0079】
図7の画像処理装置261において、図6の画像処理装置211に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付している。
【0080】
すなわち、図7の画像処理装置261において、図6の画像処理装置211と異なるのは、図6の処理部220に含まれるぶれ処理部231、演算部232、および演算部233に代えて、図7中、破線で示される処理部270に含まれるフィルタ281、フィルタ282、および合成部283を設けた点である。
【0081】
フィルタ281は、所定のフィルタを現フレームに対して適用し、合成部283に供給する。フィルタ282は、PSF推定部33からのPSFを用いて、フィルタ281に相補的なフィルタを動き補償前フレームに適用し、合成部283に供給する。合成部283は、フィルタ281からの現フレームと、フィルタ282からの動き補償前フレームとを合成する。
【0082】
ここで、フィルタ281およびフィルタ282の伝達関数について説明する。フィルタ281の伝達関数R0(ω)およびフィルタ282の伝達関数R0~(ω)は、以下の式(4)で表される。
【0083】
【数4】


・・・(4)
【0084】
式(4)によれば、フィルタ281は、現フレームに対していずれの処理も行わない。また、図7の画像処理装置261におけるフィルタ281およびフィルタ282は、構成上、図1の画像処理装置11におけるぶれ補正部34および零点成分抽出部35に対応している。したがって、図1の画像処理装置11の構成において、ぶれ補正部34を設けないようにした場合であっても、零点成分抽出部35の伝達関数を調整することによって、現フレームのぶれが補正されるようになる。
【0085】
<3.ノイズ低減機能の追加>
以下においては、本技術を適用した画像処理装置に対して、ノイズ低減機能を追加することについて説明する。
【0086】
[ノイズ低減処理を行う従来の画像処理装置の機能構成例]
図8は、ノイズ低減処理を行う従来の画像処理装置の機能構成例を示すブロック図である。
【0087】
図8の画像処理装置311において、図1の画像処理装置11に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付している。
【0088】
すなわち、図8の画像処理装置311において、図1の画像処理装置11と異なるのは、PSF推定部33が削除され、ぶれ補正部34、零点成分抽出部35、合成部36、およびブレンド処理部38に代えて、図8中、破線で示される処理部320に含まれる演算部331、演算部332、およびブレンド処理部333を設けた点である。
【0089】
演算部331は、現フレームに対してフレーム加算の重み付けを行い、ブレンド処理部333に供給する。演算部332は、動き補償前フレームに対してフレーム加算の重み付けを行い、ブレンド処理部333に供給する。ブレンド処理部333は、演算部331からの現フレームと、演算部332からの動き補償前フレームとを、所定の加算重みに応じて加算するとともに、ずれ検出部37からのαマップに基づいて、加算の結果および現フレームに対してブレンド処理を行う。ブレンド処理部333は、結果として得られる、ノイズ低減されたフレーム(以下、ノイズ低減フレームともいう)を事前知識処理部39に供給する。
【0090】
ここで、演算部331および演算部332の伝達関数をそれぞれRN(ω),RN~(ω)とすると、それぞれは、以下の式(5)で表される。
【0091】
【数5】


・・・(5)
【0092】
ここで、γは、フレーム加算の重み付けの係数を示している。また、ブレンド処理部333から出力されるノイズ低減フレームNRは、以下の式(6)で表される。
【0093】
NR=(1−αγ)・Cur+αγ・MC ・・・(6)
【0094】
なお、ノイズ低減の具体的な方法は、例えば、特許第4321626号公報等に詳細に記載されている。
【0095】
さて、本技術を適用した画像処理装置に対しては、上述したノイズ低減を実現する構成を追加することができる。具体的には、図1の画像処理装置11に対応する画像処理装置の構成に、ノイズ低減を実現する構成を追加することができる。
【0096】
[本技術を適用した画像処理装置の他の機能構成例]
図9は、本技術を適用した画像処理装置の他の機能構成例を示している。
【0097】
図9の画像処理装置361において、図1の画像処理装置11に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付している。
【0098】
すなわち、図9の画像処理装置361において、図1の画像処理装置11と異なるのは、ぶれ補正部34、零点成分抽出部35、および合成部36に代えて、図9中、破線で示される処理部370に含まれるフィルタ381、フィルタ382、および合成部383を設けた点である。
【0099】
フィルタ381は、PSF推定部33からのPSFを用いて、所定のフィルタを現フレームに対して適用し、合成部383に供給する。フィルタ382は、PSF推定部33からのPSFを用いて、フィルタ381に相補的なフィルタを動き補償前フレームに適用し、合成部383に供給する。合成部383は、フィルタ381からの現フレームと、フィルタ382からの動き補償前フレームとを合成する。
【0100】
ここで、図10および図11を参照して、フィルタ381およびフィルタ382の伝達関数RWN(ω),RWN~(ω)の導出について説明する。
【0101】
図10の左側には、演算部331、演算部332、およびブレンド処理部333からなる、図8の処理部320と等価な構成が示されている。
【0102】
もともと、ノイズ低減(ノイズリダクション)は、図10に示される処理部320による1段のαブレンディングにより実現可能である。これは、現フレームと前フレームとのフレーム加算と、MCずれのコンシールを同時に行うことによるものであるが、原理的には、現フレームと前フレームとのフレーム加算と、MCずれのコンシールとを独立して行うようにした構成と等価である。
【0103】
すなわち、図10の左側に示される処理部320は、図10の右側に示される、演算部411乃至413からなる処理部410と、演算部421乃至423からなる処理部420とに置き換えることができる。処理部410は、現フレームと前フレームとのフレーム加算を行い、処理部420は、MCずれのコンシールを行う。
【0104】
ここで、図10の処理部410に、上述したぶれ補正の機能を実現する構成を追加した構成を図11に示す。
【0105】
図11の処理部450には、図10の処理部410に、図1の画像処理装置11のぶれ補正部34、零点成分抽出部35、および合成部36が追加されており、合成部36からの零点補償された現フレームと動き補償前フレームとのフレーム加算が行われるようになる。
【0106】
なお、図11の処理部450は、図9の処理部370と等価であり、図11の処理部420は、図9のブレンド処理部38と等価であるものとする。
【0107】
ここで、図10の処理部450から出力されるノイズ低減フレームNR’は、以下の式(7)で示される。
【数6】


・・・(7)
【0108】
式(7)に示されるように、ノイズ低減フレームNR’は、現フレームCurに関する項と、前フレームMCに関する項とからなる。上述したように、図10の処理部450は、図9の処理部370と等価であるので、図9のフィルタ381およびフィルタ382の伝達関数RWN(ω),RWN~(ω)は、以下の式(8)で与えられるようになる。
【数7】


・・・(8)
【0109】
このように、本技術を適用した画像処理装置に、ノイズ低減処理を行う構成を追加した場合であっても、図1の画像処理装置11に対応した構成とすることができる。すなわち、図1の画像処理装置11において、ぶれ補正部34および零点成分抽出部35の伝達関数を調整することによって、ノイズ低減の機能を追加することができる。
【0110】
[ぶれ補正処理]
ここで、図12のフローチャートを参照して、図9の画像処理装置361のぶれ補正処理について説明する。
【0111】
なお、図12のフローチャートのステップS111乃至S113,S117乃至S120の処理は、図3のフローチャートのステップS11乃至S13,S17乃至S20の処理とそれぞれ同様であるので、その説明は省略する。
【0112】
すなわち、ステップS114において、フィルタ381は、PSF推定部33からのPSFに基づいて、現フレームについてのフィルタを得て、そのフィルタを現フレームに適用する。フィルタ381は、フィルタ処理された現フレームを合成部383に供給する。
【0113】
ステップS115において、フィルタ382は、PSF推定部33からのPSFに基づいて、動き補償前フレームについてのフィルタを得て、そのフィルタを前フレームに適用する。フィルタ382は、フィルタ処理された前フレームを合成部383に供給する。
【0114】
ステップS116において、合成部383は、フィルタ381からのフィルタ処理後の現フレームと、フィルタ382からのフィルタ処理後の前フレームとを加算する。これにより、ぶれが補正され、かつ、リンギングの原因となる零点が補償され、さらにノイズが低減された現フレームが得られる。
【0115】
以上の処理によれば、図3のぶれ補正処理と同様の作用効果を奏することができる上に、ノイズを低減させることが可能となる。一般的に、デコンボリューションは、ノイズを増幅する性質があるが、本技術によれば、その増幅されたノイズを抑制することができるようになる。
【0116】
<4.超解像機能の追加>
以下においては、本技術を適用した画像処理装置に対して、超解像機能を追加することについて説明する。
【0117】
超解像とは、入力画像に含まれる折り返し成分から高域の信号成分を復元しながら、入力画像の画素数よりも画素数の多い、すなわち、入力画像の解像度よりも高い解像度の画像を出力することをいう。
【0118】
[超解像処理を行う従来の画像処理装置の機能構成例]
図13は、超解像処理を行う従来の画像処理装置の機能構成例を示すブロック図である。
【0119】
図13の画像処理装置511において、図1の画像処理装置11に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付している。
【0120】
すなわち、図13の画像処理装置511において、図1の画像処理装置11と異なるのは、PSF推定部33に代えて超解像用PSF仮定部530を設けた点、および、ぶれ補正部34、零点成分抽出部35、および合成部36に代えて、図13中、破線で示される処理部520に含まれるぼけ処理部531、ダウンサンプリング部532、演算部533、アップサンプリング部534、ぼけ処理部535、係数処理部536、および演算部537と、拡大処理部538とを設けた点である。
【0121】
なお、図13のフレームメモリ40には、超解像処理により得られた、入力される現フレームの解像度より高い高解像度のフレームが保持されており、超解像処理された前フレーム(以下、超解像前フレームという)として、動き検出部31および動き補償部32に供給される。
【0122】
超解像用PSF仮定部530は、現フレームに基づいて、低解像度で撮影するときのぼけモデルを仮定し、超解像用PSFとして、ぼけ処理部531およびぼけ処理部535に供給する。具体的には、例えば、超解像用PSF仮定部530は、1画素が大きいイメージセンサにおけるアパーチャ効果を仮定することで、ぼけモデルを仮定する。
【0123】
ぼけ処理部531は、超解像用PSF仮定部530からの超解像用PSFに基づいて、動き補償された超解像前フレーム(以下、単に、動き補償前フレームという)に対して、伝達関数Hd(ω)で与えられるぼけモデルを適用することで、ぼけ処理を施し、ダウンサンプリング部532に供給する。
【0124】
ダウンサンプリング部532は、ぼけ処理部531からの、ぼけ処理が施された動き補償前フレームをダウンサンプリングし、入力される現フレームと同じ解像度の画像を生成して、演算部533に供給する。
【0125】
演算部533は、現フレームから、ダウンサンプリング部532からのダウンサンプリングされた画像を減算することで、現フレームと、ダウンサンプリング部532からのダウンサンプリングされた画像との差分(差分画像)を求め、アップサンプリング部534に供給する。この差分画像は、超解像処理された前フレームと、入力された現フレームとの誤差であり、この誤差は、後段のアップサンプリング部534乃至係数処理部536を介して、動き補償された超解像前フレームにフィードバックされる。
【0126】
アップサンプリング部534は、演算部533からの差分画像をアップサンプリングし、超解像前フレームと同じ解像度の画像を生成して、ぼけ処理部535に供給する。
【0127】
ぼけ処理部535は、超解像用PSF仮定部530からの超解像用PSFに基づいて、アップサンプリング部534からのアップサンプリングされた差分画像に対して、伝達関数Hu(ω)で与えられるぼけモデルを適用することで、ぼけ処理を施し、係数処理部536に供給する。
【0128】
係数処理部536は、ぼけ処理部535からの、ぼけ処理された差分画像に対して、帰還の強度を決定する係数λをかけ、演算部537に供給する。
【0129】
演算部537は、動き補償部32からの動き補償前フレームと、係数処理部536からの差分画像とを加算し、得られた超解像画像(超解像処理された現フレーム)を、ブレンド処理部38に供給する。
【0130】
拡大処理部538は、入力された現フレームを、超解像前フレームと同じ解像度の画像となるように拡大して、ブレンド処理部38に供給する。
【0131】
すなわち、ブレンド処理部38においては、例えば、動き補償(MC)に失敗した領域については、拡大処理部538により拡大された現フレームが出力されるようになる。
【0132】
なお、超解像の具体的な方法は、例えば、特許第4646146号公報等に詳細に記載されている。
【0133】
ここで、図13の処理部520に含まれる構成は、例えば図9の処理部370に含まれるような、2つのフィルタと合成部とからなる構成に置き換えることができる。
【0134】
このときの、現フレームについてのフィルタおよび前フレームについてのフィルタの伝達関数をそれぞれRS(ω),RS~(ω)とすると、それぞれは、以下の式(9)で表される。
【0135】
【数8】


・・・(9)
【0136】
式(9)において、Dは、ダウンサンプリング部532によるダウンサンプリングを、Dは、ダウンサンプリング部532によるアップサンプリングを示している。
【0137】
図13の構成において、超解像の拡大側のぼけモデルHu(ω)には、縮小側のぼけモデルHd(ω)の複素共役(インパルス応答でいう上下左右反転したもの)が用いられる。図13においては、現フレームと前フレームとの差分画像(誤差)をフィードバックする構成に、2つのぼけモデルHd(ω),Hu(ω)が存在するため、高域のフィードバックゲインが不足し、超解像画像を得ることができるまでの時間(収束するまでの時間)が長くかかるという問題があった。
【0138】
そこで、本技術においては、フィードバック特性Hu(ω)として、ぼけモデルHd(ω)に対して逆特性を有する逆フィルタを用いるようにする。
【0139】
上述の式(9)において、Hd(ω)=H(ω),Hu(ω)=RW(ω)とすると、その伝達関数RS(ω),RS~(ω)は、D,Dを除いて、式(1)と同様となる。
【0140】
すなわち、図1の画像処理装置11において、ぶれ補正部34および零点成分抽出部35の伝達関数を調整することで、超解像処理を行う構成を追加することができる。
【0141】
[本技術を適用した画像処理装置のさらに他の機能構成例]
図14は、超解像処理を行うようにした、本技術の画像処理装置の機能構成例を示している。
【0142】
図14の画像処理装置561において、図1の画像処理装置11に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付している。
【0143】
すなわち、図14の画像処理装置561において、図1の画像処理装置11と異なるのは、ぶれ補正部34、零点成分抽出部35、および合成部36に代えて、図11中、破線で示される処理部570に含まれるフィルタ581、フィルタ582、および合成部583と、拡大処理部538とを設けた点、および、PSF推定部33に代えて超解像用PSF仮定部584を設けた点である。なお、拡大処理部538は、図13の画像処理装置511に設けられたものと同一である。また、超解像用PSF仮定部584は、図13の超解像用PSF仮定部530と同様の機能を備える。
【0144】
フィルタ581は、超解像用PSF仮定部584からのPSF(超解像用PSF)を用いて、所定のフィルタを現フレームに対して適用し、合成部583に供給する。フィルタ582は、超解像用PSF仮定部584からのPSFを用いて、フィルタ581に相補的なフィルタを動き補償前フレームに適用し、合成部583に供給する。合成部583は、フィルタ581からの現フレームと、フィルタ582からの動き補償前フレームとを合成する。
【0145】
なお、フィルタ581およびフィルタ582の伝達関数RWS(ω),RWS~(ω)は、上述の式(9)に示される伝達関数RS(ω),RS~(ω)において、Hd(ω)=H(ω),Hu(ω)=RW(ω)としたものとなる。
【0146】
また、図14の画像処理装置561による超解像処理は、図12のフローチャートを参照して説明した、図9の画像処理装置361によるぶれ補正処理と基本的に同様にして行われるので、その説明は省略する。
【0147】
以上の構成によれば、超解像処理を行う画像処理装置において、フィードバック特性Hu(ω)として、ぼけモデルHd(ω)に対して逆特性を有する逆フィルタを用いるようにしたので、高域のフィードバックゲインを大きくすることができ、収束するまでの時間を短くすることができるようになり、ひいては、超解像処理の処理速度を高めることが可能となる。
【0148】
なお、上述した超解像処理を行う画像処理装置においても、図8を参照して上述したノイズ低減を実現する構成を追加することができる。具体的には、図14の画像処理装置561に対応する画像処理装置の構成に、ノイズ低減を実現する構成を追加することができる。
【0149】
[ノイズ低減処理と超解像処理とを同時に行う画像処理装置の機能構成例]
図15は、ノイズ低減処理と超解像処理とを同時に行う画像処理装置の機能構成例を示している。
【0150】
図15の画像処理装置611において、図14の画像処理装置561に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付している。
【0151】
すなわち、図15の画像処理装置611において、図14の画像処理装置561と異なるのは、図14の処理部570に含まれるフィルタ581、フィルタ582、および合成部583に代えて、図15中、破線で示される処理部620に含まれるフィルタ631、フィルタ632、および合成部633を設けた点である。
【0152】
フィルタ631は、超解像用PSF仮定部584からのPSFを用いて、所定のフィルタを現フレームに対して適用し、合成部633に供給する。フィルタ632は、超解像用PSF仮定部584からのPSFを用いて、フィルタ631に相補的なフィルタを動き補償前フレームに適用し、合成部633に供給する。合成部633は、フィルタ631からの現フレームと、フィルタ632からの動き補償前フレームとを合成する。
【0153】
ここで、フィルタ631およびフィルタ632の伝達関数RWNS(ω),RWNS~(ω)の導出について説明する。
【0154】
上述したように、ノイズ低減を行う構成は、図10で示される処理部410と処理部420とで表される。
【0155】
ここで、図10の処理部410に、超解像の機能を実現する構成を追加した構成を図16に示す。
【0156】
図16における処理部650には、図10の処理部410に、フィルタ651、演算部652、フィルタ653、および演算部654が追加されており、超解像処理された現フレームと前フレームとのフレーム加算が行われるようになる。なお、図16において、フィルタ651は、図13のぼけ処理部531およびダウンサンプリング部532に対応し、演算部652は、図13の演算部533に対応し、フィルタ653は、図13のアップサンプリング部534、ぼけ処理部535、および係数処理部536に対応し、演算部654は、図13の演算部537に対応している。
【0157】
なお、図16の処理部650は、図15の処理部620と等価であるものとする。
【0158】
ここで、図16の処理部650から出力される超解像ノイズ低減フレームSNRは、以下の式(10)で示される。
【0159】
SNR=(1−γ)・{λHu(ω)D(Cur−DHd(ω)・MC)+MC}+γ・MC
=(1−γ)・λHu(ω)D・Cur
+{(1−γ)・(1−λHu(ω)D・D・Hd(ω))+γ}MC
・・・(10)
【0160】
式(10)に示されるように、超解像ノイズ低減フレームSNRは、現フレームCurに関する項と、前フレームMCに関する項とからなる。上述したように、図16の処理部650は、図15の処理部620と等価であるので、図15のフィルタ631およびフィルタ632の伝達関数RWNS(ω),RWNS~(ω)は、以下の式(11)で与えられるようになる。
【数9】


・・・(11)
【0161】
このように、超解像処理を行う画像処理装置に、ノイズ低減処理を行う構成を追加した場合であっても、図14の画像処理装置561に対応した構成とすることができ、超解像とノイズリダクションとを同時に行うことができる。また、式(11)に示されるように、フィルタ631およびフィルタ632の伝達関数RWNS(ω),RWNS~(ω)は、超解像の結果にノイズリダクションをかけたものと等価な伝達関数となっており、超解像およびノイズリダクションのそれぞれの効果を欠くことなく得ることが可能となる。
【0162】
<5.PSFの推定方法の例>
さて、本技術で用いられるPSFの推定方法は、上述した動きベクトルに基づくものに限定されない。
【0163】
画像からぶれを推定する方法としては、ケプストラム変換を用いる方法や、被写体境界部のぼけを用いる方法等、多数の方法が知られており、これらを、本技術に適用するようにしてもよい。
【0164】
また、本技術で用いられるPSFは、直線ぶれをモデル化するものに限定されない。ほとんどのPSFには、その周波数特性に零点が存在し、上述した手法により、Null Filling Filterを構成することができる。例えば、自由軌跡の手ぶれや、ピンぼけをモデル化するPSFを、本技術で用いるようにしてもよい。すなわち、本技術によれば、手ぶれやピンぼけを、リンギングやゴースト等のアーティファクトを抑制しつつ、より小さい回路規模で、かつ、より少ない計算量で補正することができるようになる。
【0165】
ピンぼけのPSFを錯乱円でモデル化すると、その周波数特性は、回転対称なベッセル関数で表され、直線ぶれをモデル化した周波数特性と同様に、周期的な零点を有する。この場合、画像のスペクトラムから錯乱円の半径を推定することが可能である。撮像画像を入力するカメラにおいてAF(Auto focus)が機能している場合、錯乱円の大きさはフレーム毎に変化し、零点の位置も変化するので、フレーム間のNull Filling Filterが有効に作用する。
【0166】
また、PSFは、画像から推定する以外の方法により推定することもできる。例えば、カメラにジャイロセンサを取り付け、ジャイロセンサによりカメラの回転を測定することで、手ぶれによるPSFを推定することが可能となる。また、カメラ自体が、機械的に光軸の方向を変えることができる自動雲台(パンチルタ)に設置されている場合や、イメージセンサを機械的に動作させる機構を備えている場合、自動雲台やイメージセンサの動作を観測することにより、そのPSFを推定することが可能となる。
【0167】
ところで、上述で説明した構成および処理においては、PSFは、(動きベクトルMV)×(露出時間)÷(フレーム周期)により求められるものとしたが、被写体が画面上で等速運動をしている場合にのみ正確に求められる。
【0168】
ここで、画面上で、動体としての被写体が、図17に示されるように、時刻t1乃至t2、時刻t2乃至t3、時刻t3乃至t4のそれぞれのフレーム内では等速直線運動をし、時刻t1乃至t2、時刻t2乃至t3、時刻t3乃至t4それぞれのフレーム毎では等加速度運動をしているとみなせる場合には、注目する注目フレーム、および、その注目フレームに時間的に前後する2フレーム、すなわち、隣接する3フレームに基づいて、注目フレームについてのぶれを求めることができる。
【0169】
図18は、図17に示される運動を行う被写体の、時刻t1乃至t4のそれぞれの時刻における位置と、各フレームにおける被写体のぶれの様子を説明する図である。
【0170】
図18において、注目フレームを時刻t2乃至t3のFrame23とした場合、Frame23のぶれ(被写体と背景の境界部分であって、被写体と背景とが混在した部分)は、注目フレームの前フレームであるFrame12およびFrame23から得られる動きベクトルmv2と、Frame23および注目フレームの後フレームであるFrame34およびから得られる動きベクトルmv3の相加平均として与えられる。
【0171】
これにより、被写体が等加速度運動をしている場合であっても、隣接する3フレームに基づいて2つの動きベクトルを求めることで、PSFを正確に求めることが可能となる。
【0172】
ところで、静止した背景の中を動体である被写体が移動する場合、被写体の移動方向側(前方)の被写体と背景の境界部分では、背景はぶれずにだんだん薄くなるとともに、ぶれた被写体がだんだん濃くなっていく。また、被写体の移動方向と反対側(後方)の被写体と背景の境界部分では、背景はぶれずにだんだん濃くなるとともに、ぶれた被写体がだんだん薄くなっていく。このように、ぶれた被写体だけにぶれ補正を施すには、境界部分の背景を除去する必要がある。
【0173】
<6.ぶれた被写体だけにぶれ補正を施す画像処理装置の構成>
そこで、以下においては、ぶれた被写体だけにぶれ補正を施す画像処理装置の構成について説明する。
【0174】
図19は、境界部分の背景を除去して、ぶれた被写体だけにぶれ補正を施す画像処理装置の構成を示している。
【0175】
図19の画像処理装置711において、図1の画像処理装置11に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付している。
【0176】
すなわち、図19の画像処理装置711において、図1の画像処理装置11と異なるのは、フレームメモリ731を新たに設け、ぶれ補正部34に代えて、ぶれ補正部732を設けた点である。
【0177】
フレームメモリ731は、画像処理装置711に入力されてくる現フレームを保持し、1フレーム遅延させて、動き検出部31、ずれ検出部37、ブレンド処理部38、およびぶれ補正部732に供給する。
【0178】
ぶれ補正部732は、現フレーム、フレームメモリ731からの前フレーム、および、フレームメモリ40に保持されている、前フレームより1つ前のフレーム(以下、前々フレームという)に基づいて、前フレームにおける背景部分を除去する。そして、ぶれ補正部732は、PSF推定部33からのPSFに基づいて、Wiener Filterを構成し、そのWiener Filterを背景部分が除去された前フレームの被写体部分に対して適用することで、被写体部分についてぶれ補正された前フレームを得て、合成部36に供給する。
【0179】
なお、図19の画像処理装置711においては、フレームメモリ731から出力される前フレームを注目する注目フレームとして処理が行われる。
【0180】
[ぶれ補正部の構成]
次に、図20を参照して、図19の画像処理装置711のぶれ補正部732の詳細な構成例について説明する。
【0181】
ぶれ補正部732は、動き検出部741、クラスタリング部742、前方背景マスク生成部743、畳み込み部744、演算部745、動き検出部746、クラスタリング部747、前方背景マスク生成部748、畳み込み部749、演算部750、演算部751、ぶれ補正フィルタ752、演算部753、演算部754、および演算部755から構成される。
【0182】
動き検出部741は、前々フレームと前フレームとに対してME(動き検出)を行い、動きベクトルを求め、クラスタリング部742に供給する。
【0183】
クラスタリング部742は、動き検出部741からの動きベクトルをクラスタリングし、動きのない背景部分のベクトル(0ベクトル)と動きのある被写体部分のベクトルとに分類して、その分類結果を前方背景マスク生成部743に供給する。
【0184】
前方背景マスク生成部743は、クラスタリング部742からの動きベクトルの分類結果に基づいて、前フレームにおいて被写体の前方でぶれている被写体部分を含む背景をマスキングする前方背景マスクを生成し、畳み込み部744および演算部753に供給する。
【0185】
畳み込み部744は、前方背景マスク生成部743からの前方背景マスクにPSFを畳み込んで、だんだん薄くなる背景部分に重み付けする前方背景重みマップを生成し、演算部745に供給する。
【0186】
演算部745は、畳み込み部744からの前方背景重みマップを前々フレームにかけ合わせることで、だんだん薄くなる背景部分のみの画像(前方背景画像)を生成し、演算部751に供給する。
【0187】
動き検出部746は、前フレームと現フレームとに対してME(動き検出)を行い、動きベクトルを求め、クラスタリング部747に供給する。
【0188】
クラスタリング部747は、動き検出部746からの動きベクトルをクラスタリングし、動きのない背景部分のベクトル(0ベクトル)と動きのある被写体部分のベクトルとに分類して、その分類結果を後方背景マスク生成部748に供給する。
【0189】
後方背景マスク生成部748は、クラスタリング部747からの動きベクトルの分類結果に基づいて、前フレームにおいて被写体の後方でぶれている被写体部分を含む背景をマスキングする後方背景マスクを生成し、畳み込み部749および演算部754に供給する。
【0190】
畳み込み部749は、後方背景マスク生成部748からの後方背景マスクにPSFを畳み込んで、だんだん濃くなる背景部分に重み付けする後方背景重みマップを生成し、演算部750に供給する。
【0191】
演算部750は、畳み込み部749からの後方背景重みマップを現フレームにかけ合わせることで、だんだん濃くなる背景部分のみの画像(後方背景画像)を生成し、演算部751に供給する。
【0192】
演算部751は、演算部745からの前方背景画像および演算部750からの後方背景画像に基づいて、前フレームから背景画像を減算(除去)することで、ぶれた被写体部分の画像(以下、単に、被写体部分ともいう)を抽出し、ぶれ補正フィルタ752に供給する。
【0193】
ぶれ補正フィルタ752は、PSFに基づいて、Wiener Filterを構成し、そのWiener Filterを被写体部分に対して適用することで、ぶれ補正された被写体部分を得て、演算部755に供給する。
【0194】
演算部753は、前方背景マスク生成部743からの前方背景マスクを前々フレームにかけ合わせて、演算部755に供給する。
【0195】
演算部754は、後方背景マスク生成部748からの後方背景マスクを現フレームにかけ合わせて、演算部755に供給する。
【0196】
演算部755は、演算部753からの前々フレームおよび演算部754からの現フレームに基づいて、ぶれのない背景画像を生成し、ぶれ補正フィルタ752からのぶれ補正された被写体部分を合成し、図19の合成部36に供給する。
【0197】
[ぶれ補正処理]
次に、図21のフローチャートを参照して、図19の画像処理装置711のぶれ補正処理について説明する。
【0198】
なお、図21のフローチャートのステップS211乃至S213,S215乃至S220の処理は、注目フレームが現フレームではなく前フレームであることを除いて、図3のフローチャートのステップS11乃至S13,S15乃至S20の処理とそれぞれ同様であるので、その説明は省略する。
【0199】
すなわち、ステップS214において、ぶれ補正部732は、背景除去/ぶれ補正処理を実行する。
【0200】
[背景除去/ぶれ補正処理]
ここで、図22のフローチャートを参照して、ぶれ補正部732の背景除去/ぶれ補正処理について説明する。
【0201】
ステップS261において、動き検出部741は、前々フレームと前フレームとに基づいて動きベクトルを検出し、クラスタリング部742に供給する。
【0202】
ステップS262において、クラスタリング部742は、動き検出部741からの動きベクトルをクラスタリングし、その分類結果を前方背景マスク生成部743に供給する。
【0203】
ステップS263において、前方背景マスク生成部743は、クラスタリング部742からの動きベクトルの分類結果に基づいて、前方背景マスクを生成し、畳み込み部744および演算部753に供給する。
【0204】
ステップS264において、畳み込み部744は、前方背景マスク生成部743からの前方背景マスクにPSFを畳み込むことにより前方背景重みマップを生成し、演算部745に供給する。
【0205】
ステップS265において、演算部745は、畳み込み部744からの前方背景重みマップを前々フレームにかけ合わせることで、前方背景画像を生成し、演算部751に供給する。
【0206】
ステップS266において、動き検出部746は、前フレームと現フレームとに基づいて、動きベクトルを検出し、クラスタリング部747に供給する。
【0207】
ステップS267において、クラスタリング部747は、動き検出部746からの動きベクトルをクラスタリングし、その分類結果を後方背景マスク生成部748に供給する。
【0208】
ステップS268において、後方背景マスク生成部748は、クラスタリング部747からの動きベクトルの分類結果に基づいて、後方背景マスクを生成し、畳み込み部749および演算部754に供給する。
【0209】
ステップS269において、畳み込み部749は、後方背景マスク生成部748からの後方背景マスクにPSFを畳み込むことにより後方背景重みマップを生成し、演算部750に供給する。
【0210】
ステップS270において、演算部750は、畳み込み部749からの後方背景重みマップを現フレームにかけ合わせることで、後方背景画像を生成し、演算部751に供給する。
【0211】
なお、ステップS261乃至S265の処理と、ステップS266乃至S270の処理とは、並列して実行されてもよい。
【0212】
ステップS271において、演算部751は、演算部745からの前方背景画像および演算部750からの後方背景画像に基づいて、前フレームから背景部分を除去することで、ぶれた被写体部分の画像(被写体部分)を抽出し、ぶれ補正フィルタ752に供給する。
【0213】
ステップS272において、ぶれ補正フィルタ752は、PSFに基づいてWiener Filterを構成し、そのWiener Filterを被写体部分に対して適用することで、被写体部分のぶれを補正し、ぶれ補正された被写体部分を演算部755に供給する。
【0214】
ステップS273において、演算部753は、前方背景マスク生成部743からの前方背景マスクを前々フレームにかけ合わせて、演算部755に供給する。
【0215】
ステップS274において、演算部754は、後方背景マスク生成部748からの後方背景マスクを現フレームにかけ合わせて、演算部755に供給する。
【0216】
ステップS275において、演算部755は、演算部753からの前々フレームおよび演算部754からの現フレームに基づいて、ぶれのない背景画像を生成し、その背景画像に、ぶれ補正フィルタ752からのぶれ補正された被写体部分を合成する。その後、処理は、図21のフローチャートのステップS214に戻る。
【0217】
以上の処理によれば、静止した背景の中を動体である被写体が移動する場合であっても、境界部分の背景を除去しながら、ぶれた被写体だけにぶれ補正を施すことが可能になる。この場合、2枚分のフレームメモリがあればよく、比較的小さい回路規模で、ぶれを補正することが可能となる。
【0218】
なお、図19の画像処理装置711の構成において、フレームメモリ731を設けない場合、現フレームが注目フレームとなり、現フレームと前フレームとに基づいて、背景除去/ぶれ補正処理が実行されるが、注目フレームより時間的に後の後フレームの情報が得られないので、被写体の後方の境界部分のぶれを補正することができない。しかしながら、動画像においては、被写体の後方の境界部分は、1フレーム遅延して背景に置き換えられるので、その影響は限定的となる。すなわち、動画像に対しては、図19の画像処理装置711において、1枚分のフレームメモリ(フレームメモリ40)のみを備えるようにしてもよい。
【0219】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、プログラム記録媒体からインストールされる。
【0220】
図23は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0221】
コンピュータにおいて、CPU(Central Processing Unit)901,ROM(Read Only Memory)902,RAM(Random Access Memory)903は、バス904により相互に接続されている。
【0222】
バス904には、さらに、入出力インタフェース905が接続されている。入出力インタフェース905には、キーボード、マウス、マイクロホン等よりなる入力部906、ディスプレイ、スピーカ等よりなる出力部907、ハードディスクや不揮発性のメモリ等よりなる記憶部908、ネットワークインタフェース等よりなる通信部909、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等のリムーバブルメディア911を駆動するドライブ910が接続されている。
【0223】
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部908に記憶されているプログラムを、入出力インタフェース905およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。
【0224】
コンピュータ(CPU901)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリ等よりなるパッケージメディアであるリムーバブルメディア911に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0225】
そして、プログラムは、リムーバブルメディア911をドライブ910に装着することにより、入出力インタフェース905を介して、記憶部908にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部909で受信し、記憶部908にインストールすることができる。その他、プログラムは、ROM902や記憶部908に、あらかじめインストールしておくことができる。
【0226】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0227】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0228】
さらに、本技術は以下のような構成をとることができる。
(1) 時間的に連続する画像のぶれまたはぼけを補正する画像処理装置において、
注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出する抽出部と、
前記抽出部により抽出された前記周波数成分と前記注目画像とを合成する合成部と
を備える画像処理装置。
(2) ぶれまたはぼけの周波数特性に対して略逆特性を有し、前記フィルタに相補的な相補フィルタを用いて、前記注目画像のぶれまたはぼけを補正する補正部をさらに備え、
前記合成部は、前記補正部によりぶれまたはぼけが補正された前記注目画像と前記周波数成分とを合成する
(1)に記載の画像処理装置。
(3) 前記合成部により前記周波数成分が合成された前記注目画像と前記補正済み画像とを、所定の加算重みに応じて加算する加算する加算部をさらに備える
(1)または(2)に記載の画像処理装置。
(4) 前記補正済み画像の解像度は、前記注目画像の解像度である第1の解像度より高い第2の解像度であり、
前記フィルタおよび前記相補フィルタは、前記注目画像の解像度を前記第1の解像度から前記第2の解像度にする
(1)または(2)に記載の画像処理装置。
(5) 前記第2の解像度の前記注目画像と前記補正済み画像とを、所定の加算重みに応じて加算する加算する加算部をさらに備える
(4)に記載の画像処理装置。
(6) 前記注目画像と前記補正済み画像との位置合わせにおけるずれを検出する検出部と、
前記検出部により検出されたずれに応じて、前記合成部により前記周波数成分が合成された前記注目画像と、いずれの処理もされていない前記注目画像との合成の比率を調整して得られる画像を出力する出力部とをさらに備える
(1)乃至(5)のいずれかに記載の画像処理装置。
(7) 前記注目画像と前記補正済み画像との間の位置のずれに基づいて、前記注目画像のぶれまたはぼけの向きおよび長さを推定する推定部をさらに備え、
前記補正部は、前記推定部により推定された前記注目画像のぶれまたはぼけの向きおよび長さに応じた前記相補フィルタを用いて、前記注目画像のぶれまたはぼけを補正する
(2)乃至(6)のいずれかに記載の画像処理装置。
(8) 前記補正部は、前記補正済み画像、前記注目画像、および前記注目画像より時間的に後の後画像に基づいて、前記注目画像における動体としての被写体以外の背景部分を除去して、前記注目画像における前記被写体のぶれまたはぼけを補正する
(2)乃至(7)のいずれかに記載の画像処理装置。
(9) 前記注目画像に含まれない周波数成分は、前記注目画像のぶれまたはぼけをモデル化した周波数特性の零点近傍の周波数成分である
(1)乃至(8)のいずれかに記載の画像処理装置。
(10) 時間的に連続する画像のぶれまたはぼけを補正する画像処理装置において、
注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出する抽出部と、
前記抽出部により抽出された前記周波数成分と前記注目画像とを合成する合成部と
を備える画像処理装置の画像処理方法であって、
前記画像処理装置が、
注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出し、
抽出された前記周波数成分と前記注目画像とを合成する
ステップを含む画像処理方法。
(11) 時間的に連続する画像のぶれまたはぼけを補正する処理をコンピュータに実行させるプログラムにおいて、
注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記周波数成分と前記注目画像とを合成する合成ステップと
を含む処理をコンピュータに実行させるプログラム。
(12) (11)に記載のプログラムが記録されている記録媒体。
【符号の説明】
【0229】
11 画像処理装置, 31 動き検出部, 32 動き補償部, 33 PSF推定部, 34 ぶれ補正部, 35 零点成分抽出部, 36 合成部, 37 ずれ検出部, 38 ブレンド処理部, 39 事前知識処理部, 40 フレームメモリ

【特許請求の範囲】
【請求項1】
時間的に連続する画像のぶれまたはぼけを補正する画像処理装置において、
注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出する抽出部と、
前記抽出部により抽出された前記周波数成分と前記注目画像とを合成する合成部と
を備える画像処理装置。
【請求項2】
ぶれまたはぼけの周波数特性に対して略逆特性を有し、前記フィルタに相補的な相補フィルタを用いて、前記注目画像のぶれまたはぼけを補正する補正部をさらに備え、
前記合成部は、前記補正部によりぶれまたはぼけが補正された前記注目画像と前記周波数成分とを合成する
請求項1に記載の画像処理装置。
【請求項3】
前記合成部により前記周波数成分が合成された前記注目画像と前記補正済み画像とを、所定の加算重みに応じて加算する加算する加算部をさらに備える
請求項2に記載の画像処理装置。
【請求項4】
前記補正済み画像の解像度は、前記注目画像の解像度である第1の解像度より高い第2の解像度であり、
前記フィルタおよび前記相補フィルタは、前記注目画像の解像度を前記第1の解像度から前記第2の解像度にする
請求項2に記載の画像処理装置。
【請求項5】
前記第2の解像度の前記注目画像と前記補正済み画像とを、所定の加算重みに応じて加算する加算する加算部をさらに備える
請求項4に記載の画像処理装置。
【請求項6】
前記注目画像と前記補正済み画像との位置合わせにおけるずれを検出する検出部と、
前記検出部により検出されたずれに応じて、前記合成部により前記周波数成分が合成された前記注目画像と、いずれの処理もされていない前記注目画像との合成の比率を調整して得られる画像を出力する出力部とをさらに備える
請求項2に記載の画像処理装置。
【請求項7】
前記注目画像と前記補正済み画像との間の位置のずれに基づいて、前記注目画像のぶれまたはぼけの向きおよび長さを推定する推定部をさらに備え、
前記補正部は、前記推定部により推定された前記注目画像のぶれまたはぼけの向きおよび長さに応じた前記相補フィルタを用いて、前記注目画像のぶれまたはぼけを補正する
請求項2に記載の画像処理装置。
【請求項8】
前記補正部は、前記補正済み画像、前記注目画像、および前記注目画像より時間的に後の後画像に基づいて、前記注目画像における動体としての被写体以外の背景部分を除去して、前記注目画像における前記被写体のぶれまたはぼけを補正する
請求項2に記載の画像処理装置。
【請求項9】
前記注目画像に含まれない周波数成分は、前記注目画像のぶれまたはぼけをモデル化した周波数特性の零点近傍の周波数成分である
請求項1に記載の画像処理装置。
【請求項10】
時間的に連続する画像のぶれまたはぼけを補正する画像処理装置において、
注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出する抽出部と、
前記抽出部により抽出された前記周波数成分と前記注目画像とを合成する合成部と
を備える画像処理装置の画像処理方法であって、
前記画像処理装置が、
注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出し、
抽出された前記周波数成分と前記注目画像とを合成する
ステップを含む画像処理方法。
【請求項11】
時間的に連続する画像のぶれまたはぼけを補正する処理をコンピュータに実行させるプログラムにおいて、
注目する注目画像に位置合わせされた、前記注目画像より時間的に前の画像であって、ぶれまたはぼけが補正された補正済み画像から、所定のフィルタを用いて前記注目画像に含まれない周波数成分を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記周波数成分と前記注目画像とを合成する合成ステップと
を含む処理をコンピュータに実行させるプログラム。
【請求項12】
請求項11に記載のプログラムが記録されている記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2013−3610(P2013−3610A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−130652(P2011−130652)
【出願日】平成23年6月10日(2011.6.10)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】