(57)【要約】      （修正有）【課題】被写体を撮像した画像データ中の長周期の揺らぎを補正する画像処理方法を提供する。【解決手段】被写体を時間的に連続して撮像した複数の画像データを取得し、取得した複数の画像データのうち時間的に近傍する複数の画像データを用いて、処理対象の画像データに対して揺らぎ補正を行い第１の補正データを取得し、基準画像データと、処理対象の画像データまたは第１の補正データとの間の位置ずれ量を、第１の位置ずれデータとして算出する。そして、複数の画像データに含まれる動体領域を判定し、第１の位置ずれデータまたは第１の補正データに基づいて、判定された動体領域内の第１の位置ずれデータを補間して、第２の位置ずれデータを算出し、第２の位置ずれデータに基づいて、処理対象の画像データまたは第１の補正データを補正して、第２の補正データを得る。【選択図】図８
2018033080.tif 000002
【特許請求の範囲】
【請求項１】
被写体を時間的に連続して撮像した複数の画像データを取得する取得手段と、
前記取得手段により取得された前記複数の画像データのうち時間的に近傍する複数の画像データを用いて、処理対象の画像データに対して揺らぎ補正を行い第１の補正データを得る第１の補正手段と、
基準画像データと、前記処理対象の画像データまたは前記第１の補正データとの間の位置ずれ量を、第１の位置ずれデータとして算出する第１の算出手段と、
前記複数の画像データに含まれる動体領域を判定する判定手段と、
前記第１の位置ずれデータまたは前記第１の補正データに基づいて、前記判定手段により判定された前記動体領域内の前記第１の位置ずれデータを補間して、第２の位置ずれデータを算出する第２の算出手段と、
前記第２の位置ずれデータに基づいて、前記処理対象の画像データまたは前記第１の補正データを補正して、第２の補正データを得る第２の補正手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記取得手段が取得した前記複数の画像データから前記基準画像データを生成する生成手段をさらに備え、
前記生成手段は、前記基準画像データを、前記第１の補正手段が前記第１の補正データを得るために用いた前記複数の画像データの数より多い数の画像データから生成する、ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記生成手段は、前記複数の画像データから揺らぎが静止した前記基準画像データを生成する、ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記生成手段は、前記複数の画像データの時系列の画素値にフィルタを適用することで前記基準画像データを生成することを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記生成手段は、前記複数の画像データの時系列の位置ずれ量にフィルタを適用することで基準画像データを生成することを特徴とする請求項２または３に記載の画像処理装置。
【請求項６】
前記複数の画像データのうちの１つを前記基準データとして選択する選択手段をさらに備えることを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記第２の補正手段は、前記第２の位置ずれデータに基づいて前記取得した複数の画像データまたは前記第１の補正データをリサンプリングするリサンプリング手段をさらに備えることを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第１の算出手段は、前記複数の画像データの時系列の画素値にフィルタを適用することにより前記第１の補正データを生成することを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記第１の算出手段は、前記複数の画像データの時系列の位置ずれ量にフィルタを適用することにより前記第１の補正データを生成することを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項１０】
前記第２の算出手段は、前記第２の位置ずれデータが時空間において滑らかになるように前記補間を行うことを特徴とする請求項２記載の画像処理装置。
【請求項１１】
前記第２の算出手段は、前記第２の位置ずれデータのラプラシアンを小さくするように更新する更新手段を有することを特徴とする請求項２記載の画像処理装置。
【請求項１２】
被写体を時間的に連続して撮像した複数の画像データを取得するステップと、
前記取得された前記複数の画像データのうち時間的に近傍の複数の画像データを用いて、処理対象の画像データに対して揺らぎ補正を行い第１の補正データを得るステップと、
基準画像データと前記処理対象の画像データまたは前記第１の補正データとの間の位置ずれ量を、第１の位置ずれデータとして算出するステップと、
前記複数の画像データに含まれる動体領域を判定するステップと、
前記第１の位置ずれデータまたは前記第１の補正データに基づいて、前記判定された前記動体領域内の前記第１の位置ずれデータを補間して、第２の位置ずれデータを算出するステップと、
前記第２の位置ずれデータに基づいて、前記処理対象の画像データまたは前記第１の補正データを補正して、第２の補正データを得るステップと、
を備えることを特徴とする画像処理方法。
【請求項１３】
コンピュータを請求項１から１１のいずれか１項に記載の画像処理装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
ビデオカメラや監視カメラなどで動画像を撮像する際に、大気の揺らぎの影響により撮像された動画像である映像が揺らぐことがある。これは不均一な大気の温度や密度の分布とその変動により、光線が不規則に屈折することにより生じる現象である。この映像の揺らぎにより、本来あるべき被写体の形状に対して、撮像された映像中の被写体の形状が空間的にも時間的にも不規則に変形してしまう。このような現象は映像の視認性を低下させたり、自動検知を行う監視カメラシステムにおける誤検出の原因となったりするため、補正されることが望ましい。
【０００３】
映像の揺らぎを補正する技術としては、撮像画像に空気揺らぎに起因する歪みが発生する場合に、同一の被写体を連続して複数枚撮像し、複数枚の撮像画像を平均化することにより歪みの補正を行う方法がある（特許文献１）。
また他の手法としては、時系列な連続画像上に存在する揺らぎを、画像間の動ベクトルとして抽出し、動ベクトルを追跡して揺らぎの中心を求め、中心位置に揺らぎの起点となる部分画像又は画素を再配置する方法がある（特許文献２）。
ここで、特許文献１及び特許文献２で開示されている揺らぎ補正技術では、撮像画像中に移動している被写体（動体）が存在する場合には、当該被写体の移動が揺らぎと誤認識されて結果的に画質の劣化が生じてしまう。
これに対して、補正対象画像と時間的に近い画像に存在する移動物体の画素値を用いて移動物体の動き情報を求め、動き補償を行う方法が提案されている（特許文献３）。また、時間的に近い画像の移動量に対して時系列のフィルタを適用することで、揺らぎによる変形量を算出し補正する方法も提案されている（非特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８２６２５号公報
【特許文献２】特開平０３−０９５６８６号公報
【特許文献３】特開２０１５−１４６１９２号公報
【非特許文献】
【０００５】
【非特許文献１】“Ａ  Ｎｅｗ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｓｕｐｐｒｅｓｓｉｎｇ  Ｏｐｔｉｃａｌ  Ｔｕｒｂｕｌｅｎｃｅ  ｉｎ  Ｖｉｄｅｏ”，  Ｄａｌｏｎｇ  Ｌｉ  ｅｔ．ａｌ．，２００５，  １３ｔｈ  Ｅｕｒｏｐｅａｎ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｃｏｎｆｅｒｅｎｃｅ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献３や非特許文献１で開示されているような揺らぎ補正技術では、移動している被写体の領域において画像劣化を生じさせないためには、時間的に近接した画像しか処理に用いることができない。したがって、長周期の揺らぎが補正できずに残存してしまう。
本発明は上記課題を解決するためになされたものであり、移動被写体を含む画像データ中の長周期の揺らぎを良好に補正することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る画像処理装置のある態様によれば、被写体を時間的に連続して撮像した複数の画像データを取得する取得手段と、前記取得手段により取得された前記複数の画像データのうち時間的に近傍する複数の画像データを用いて、処理対象の画像データに対して揺らぎ補正を行い第１の補正データを得る第１の補正手段と、基準画像データと、前記処理対象の画像データまたは前記第１の補正データとの間の位置ずれ量を、第１の位置ずれデータとして算出する第１の算出手段と、前記複数の画像データに含まれる動体領域を判定する判定手段と、前記第１の位置ずれデータまたは前記第１の補正データに基づいて、前記判定手段により判定された前記動体領域内の前記第１の位置ずれデータを補間して、第２の位置ずれデータを算出する第２の算出手段と、前記第２の位置ずれデータに基づいて、前記処理対象の画像データまたは前記第１の補正データを補正して、第２の補正データを得る第２の補正手段と、を備える画像処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、移動被写体を含む画像データ中の長周期の揺らぎを良好に補正することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る撮像装置の構成例を示すブロック図。
【図２】撮像部の構成例を示すブロック図。
【図３】揺らぎによる像の位置ずれを示す図。
【図４】位置ずれのフィルタリングによる揺らぎ補正の原理を示す図。
【図５】位置ずれによる画素値の変化と画素値平均による揺らぎ補正の原理を示す図。
【図６】残存揺らぎ補正の処理を概念的に示す図。
【図７】実施形態１における画像処理部の構成例を示すブロック図。
【図８】実施形態１における画像処理のフローチャート。
【図９】位置ずれのフィルタリングによる近傍画像揺らぎ補正部の構成例を示すブロック図。
【図１０】位置ずれのフィルタリングによる近傍画像揺らぎ補正処理のフローチャート。
【図１１】画素値のフィルタリングによる近傍画像揺らぎ補正部の構成例を示すブロック図。
【図１２】画素値のフィルタリングによる近傍画像揺らぎ補正処理のフローチャート。
【図１３】位置ずれ算出部の構成例を示すブロック図。
【図１４】位置ずれ算出処理のフローチャート。
【図１５】動体判定部の構成例を示すブロック図。
【図１６】動体判定処理のフローチャート。
【図１７】位置ずれ補間部の構成例を示すブロック図。
【図１８】位置ずれ補間処理のフローチャート。
【図１９】実施形態２における残存する揺らぎ補正の処理を概念的に示す図。
【図２０】実施形態２における画像処理部の構成例を示すブロック図。
【図２１】実施形態３における残存する揺らぎ補正の処理を概念的に示す図。
【図２２】実施形態３における画像処理部の構成例を示すブロック図。
【図２３】実施形態４における残存する揺らぎ補正の処理を概念的に示す図。
【図２４】実施形態４における画像処理部の構成例を示すブロック図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１１】
実施形態１
＜撮像装置の全体構成＞
本発明の実施形態１に係る撮像装置では、時間的に連続して撮像された複数の画像データのうち時間的に近傍する複数の画像データを用いて、処理対象の画像データに対して揺らぎ補正を行って第１の補正データを得る。また、この撮像装置では、基準画像データと処理対象の画像データまたは第１の補正データとの間の位置ずれ量を、第１の位置ずれデータとして算出し、さらに、複数の画像データに含まれる動体領域を判定する。
また、この撮像装置では、第１の位置ずれデータまたは第１の補正データに基づいて、判定された動体領域における第１の位置ずれデータを補間して、第２の位置ずれデータを算出する。さらに、この撮像装置では、第２の位置ずれデータに基づいて、処理対象の画像データまたは第１の補正データを補正して、第２の補正データを得るようになっている。
第1の補正データは、少なくとも、処理対象の画像データに対して揺らぎ補正を行った揺らぎ補正画像データと揺らぎによる位置ずれ量を示す位置ずれデータのいずれかを含んでいる。
【００１２】
図１は、本実施形態に係る撮像装置の構成の一例を示すブロック図である。
この撮像装置は、被写体を撮像して画像データを出力する撮像部１と、画像データに対するデータ処理を行う画像処理部２と、画像データを符号化するエンコーダ部３と、画像データに対する信号処理を行うデジタル信号処理部４とを備えている。
撮像部１は、詳細は後述するが、光学系によって結像された像を撮像素子により画像データへと変換するプロセスを繰り返すことで、被写体を時間的に連続して撮像した複数の画像データを取得する。
画像処理部２は、詳細は後述するが、撮像部１により取得された複数の画像データに対して揺らぎ補正処理を行う。エンコーダ部３は、画像処理部２による揺らぎ補正処理の結果生成された画像データのエンコード（符号化）処理を行う。デジタル信号処理部４は撮像部１により取得された画像データの輝度値の調整や欠陥画素の補間などを行う。これらの処理は画像処理部２による処理の前に行われる。
【００１３】
また、この撮像装置は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、操作部１４と、表示制御部１５と、表示部１６と、メディアＩ／Ｆ１７と、メディア１８と、キャラクタ生成部１９と、バス２０とを備えている。
ＣＰＵ１１は、各構成の処理全てに関わり、ＲＯＭ１２やＲＡＭ１３に格納された命令を順に読み込み、解釈し、その結果に従って処理を実行する。また、ＲＯＭ１２とＲＡＭ１３は、その処理に必要なプログラム、データ、作業領域などをＣＰＵ１１に提供する。
操作部１４は、ボタンやモードダイヤル等から構成され、これらを介して入力されたユーザーの指示を受け取る。
【００１４】
キャラクタ生成部１９は、文字やグラフィックなどを生成する。
表示制御部１５は、表示部１６の表示を制御する。表示部１６は、一般的には液晶ディスプレイが広く用いられており、キャラクタ生成部１９や表示制御部１５から受け取った撮像画像データや文字の表示を行う。また、表示部１６がタッチスクリーン機能を有していても良く、その場合は、ユーザーによるタッチスクリーンの指示を操作部１４の入力として扱うようにしてもよい。
メディアインターフェース１７は、ＰＣやその他のメディア（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）１８に接続するためのインターフェースである。メディアインターフェース１７を介してエンコーダ部３でエンコードされた画像データの出力が行われる。バス２０は、各構成要素間で、データや処理の指示をやり取りするための経路として機能する。
なお、装置の構成要素は上記以外にも存在してよいが、本実施形態の主眼ではないので、説明を省略する。
【００１５】
＜撮像部の構成＞
以下、図２のブロック図により撮像部１の構成例を説明する。
撮像部１は、結像光学系を構成するレンズ２１及びレンズ２２と、絞り２３と、赤外線（ＩＲ）カットフィルタ２４と、ローパスフィルタ２５と、カラーフィルタ２６と、撮像素子２７と、Ａ／Ｄ変換部２８と、バッファ２９と、撮像素子制御部３０とを備えている。
被写体からの光は、結像光学系により、絞り２３、ＩＲカットフィルタ２４、ローパスフィルタ２５、カラーフィルタ２６を通過した後に、撮像素子２７上に結像される。
なお、ここで示した光学系の構成は、説明のために単純化した例であり、撮像素子上に被写体の像を結像させる機能を有すればどのような構成でも構わない。また、カラー画像を取得する構成について説明したが、取得する画像は白黒や４色以上の画素を持つ画像、画素毎に露出の異なる画像でも構わない。また、オートフォーカスやズームなどの機構を持たせても構わない。
【００１６】
撮像素子制御部３０は、バス２０を介したＣＰＵ１１の指示に従い、撮像素子２７を制御して被写体を撮像させる。
撮像素子２７及びＡ／Ｄ変換部２８は、ＣＭＯＳイメージセンサなどのイメージセンサに相当する。撮像素子２７は、２次元の格子状に配列され、結像された像を電気信号に変換する。Ａ／Ｄ変換部２８は、電気信号に変換された像の情報をデジタル信号に変換する。Ａ／Ｄ変換部２８によりデジタル信号に変換された像の情報（電気信号）は、バッファ２９内に格納され画像データとなる。
撮像は連続的に行われ、バッファ２９に格納された各画像データは、バス２０を介して順次画像処理部２に送られる。
【００１７】
＜近傍画像を用いた揺らぎ補正の原理＞
本実施形態の前提となる補正方法、すなわち時間的に近傍の画像を用いて、移動している被写体（移動被写体）を破綻させずに連続して撮像された画像中の揺らぎを補正する方法の原理について説明する。
時間的に近傍の画像を用いて揺らぎを補正する方法としては、各画素の時系列の画素値に対して時系列の平均値フィルタやメディアンフィルタを適用する方法と、各画素の時系列の位置ずれに対して時系列のフィルタを適用し画像を変形する方法とがある。ここでは、この２つの方法について原理を説明する。
【００１８】
まず、画像間の位置ずれに対して時系列のフィルタを適用し画像を変形して揺らぎの補正を行う方法の原理について説明する。
図３は、揺らぎによる位置ずれを表した模式図である。以降の説明では、動画像（映像）を構成する時系列に並んだ画像データをフレームと呼ぶものとする。
図３（ａ）は、被写体が静止している静止領域における位置ずれの例を表している。符号３１は、被写体上のある点の揺らぎが無かった場合に映る本来の位置であり、符号３２〜３６は、フレームｎ〜ｎ＋４において符号３１に対応する点が実際に映っている位置である。符号３１の位置に撮像されるべき点は、揺らぎによって位置が変動することで、フレーム毎にそれぞれ符号３２〜３６の位置にばらついて撮像される。
図３（ｂ）は、被写体が動いている動体領域における位置ずれを表している。符号３７〜４１は、フレームｎ〜ｎ＋４において被写体上のある点の揺らぎが無かった場合に映る本来の位置であり、フレームが進む毎に右に移動している。符号４２〜４６は、フレームｎ〜ｎ＋４において、符号３７〜４１に対応する点が実際に撮像された位置である。符号３７〜４１の位置に撮像されるべき点は、揺らぎによって位置が変動することで、フレーム毎にそれぞれ符号４２〜４６の位置にばらついて撮像される。
【００１９】
図３に示すような揺らぎによる位置の変動をランダムな動きであると見なして、関数によるフィッティングを行うことで、揺らぎの無い場合の本来の被写体の位置を推定することができる。図４は、フィッティングによる被写体の本来の位置の推定の一例を表す図である。
図４（ａ）は、静止領域の場合の被写体の本来の位置の推定を示す例であり、被写体上のある点がフレームｎ〜ｎ＋４において映っている位置を、フレームｎ＋２における位置を基準とした位置ずれ量（位置ずれの量）で表している。ここでは本来の位置の推定を、時間と位置ずれ量の関係の１次関数へのフィッティングに基づいて行う例を示す。グラフ中の水平の実線が推定された本来の位置であり、静止領域であるためフレーム間の位置ずれ量の変動は無い。フレームｎ＋２において着目している点の揺らぎを補正するには、ｄｎ＋２だけ画素の位置を移動させれば良い。このフィッティングによる本来の位置の推定と補正を補正対象の画像の各画素に対してそれぞれ行うことで、画像データ全体に対する揺らぎ補正を行うことができる。
【００２０】
図４（ｂ）は、動体領域の場合の被写体の本来の位置の推定を示す例であり、図４（ａ）と同様に位置ずれ量をプロットしてある。動体領域であるため、フィッティングにより得られる本来の位置は、着目している点の移動を反映して斜行している。この場合においても、フレームｎ＋２において着目している点の揺らぎを補正するには、ｄｎ＋２だけ画素の位置を移動させれば良い。
この方法では位置ずれ量の算出が必要であるため、移動被写体の位置ずれが大きくなるような時間的に離れたフレームを用いると、位置ずれ量の算出に失敗して破綻してしまう。そのため、時間的に近傍の画像を用いて補正処理を行う必要がある。
【００２１】
次に、近傍フレームの画素値に対して時系列の平均値フィルタやメディアンフィルタを適用して揺らぎの補正を行う方法の原理について説明する。図５は、揺らぎによる画素値の変化を表した模式図である。
ここでは、図５（ａ）を例に、フレームｎからフレームｎ＋４を用いて、揺らぎ補正された画像データにおける画素位置５１の画素値を算出する原理について説明する。
図５（ａ）では、被写体５２が各フレームにおいて揺らぎによる変形を伴いながら撮像されている。画素位置５１における画素値は、揺らぎによる変形のため、撮像される被写体の位置がフレームによって変動している。
【００２２】
図５（ｂ）はフレーム毎の画素値の変動を表した図である。揺らぎによる変形は、本来の被写体の位置を中心として周囲に変位するような性質があるので、本来の画素値が最頻値として現れる。従って、平均値Ｙｍｅａｎ、中央値Ｙｍｅｄやバイラテラルフィルタにより算出した画素値Ｙｂｉｌを、揺らぎ補正画像の画素値として算出することで、揺らぎを補正することができる。移動被写体が存在する場合、移動被写体の位置合わせを行ってから処理を行うことで良好な結果が得られる。当然、移動量が小さいと仮定できるならば、そのまま処理を行っても構わない。
この方法では、移動被写体の位置ずれが大きくなるような時間的に離れたフレームを用いると、移動被写体の位置合わせに失敗したり、移動被写体の画素値の出現頻度が低下して移動被写体が補正結果から消えたりする。そのため、時間的に近傍の画像データを用いて処理を行う必要がある。
【００２３】
＜残存揺らぎの補正の原理＞
上記のような時間的に近傍の画像データを用いた揺らぎ補正では、補正処理で参照したフレーム数を超えるような長周期に亘るフレーム間の揺らぎが残存してしまう。
これに対して、本実施形態では、時間的に長周期な揺らぎが時間的に長周期であるという性質を利用して、移動被写体領域の残存揺らぎ量（残存位置ずれ量）を、それ以外の領域（静止領域等）のデータに基づき補間処理により生成する。
図６は、残存揺らぎ補正の概念を表す模式図である。本実施形態では、入力画像６１から前述の近傍画像揺らぎ補正を用いて、揺らぎ補正画像６２を生成する。また、全入力画像を平均するなどして、近傍画像揺らぎ補正より多数のフレームを用いて揺らぎを補正し、基準画像６３を生成する。
このとき、基準画像６３においては、揺らぎ補正画像６２より多数のフレームを用いて揺らぎ補正処理を行っているため、移動被写体領域は破綻するか消失してしまうことがあるが、揺らぎもほぼ残存しない。
【００２４】
さらに、基準画像６３と揺らぎ補正画像６２を位置合わせすることで、位置ずれ量６４を算出する。基準画像６３上では、移動被写体領域は破綻か消失しているため、移動被写体領域（動体領域）の位置ずれ量の算出に失敗するが、それ以外の領域（静止領域）では、位置ずれ量を正しく算出することができる。すなわち、位置ずれ量６４を算出することで、移動被写体領域以外の移動被写体領域（動体領域）の残存揺らぎを算出することができる。この残存揺らぎは、時空間的に低周波であるため、補間によって移動被写体領域の情報を算出することができる。このようにして、補間により算出した位置ずれ量（残存位置ずれ量）に基づき、揺らぎ補正画像６２を基準画像６３に重なるよう変形（リサンプリング）することで、移動被写体領域についての残存揺らぎを補正することができる。
【００２５】
＜画像処理部２の構成＞
以下、図７のブロック図により、上記の処理を実行する画像処理部２の構成例を説明する。
この画像処理部２は、画像取得部７１と、近傍画像揺らぎ補正部７２と、基準画像生成部７３と、位置ずれ算出部７４と、動体判定部７５と、位置ずれ補間部７６と、リサンプリング部７７と、画像出力部７８とを備えている。
画像取得部７１は、撮像部１によって連続的に撮像された複数の画像データを、バス２０を介して１フレームずつ取得する。
近傍画像揺らぎ補正部７２は、画像取得部７１が取得した画像データに対して、時間的に近傍の画像のみを用いた揺らぎ補正を適用し、揺らぎ補正画像データと被写体の移動速度データとを生成する。詳細は後述する。
基準画像生成部７３は、画像取得部７１が取得した画像データより、近傍画像揺らぎ補正部７２によって生成された揺らぎ補正画像データに残存する揺らぎ（残存位置ずれ量）を推定する位置合わせの基準となる画像データ（基準画像データ）を生成する。
【００２６】
本実施形態では、近傍画像揺らぎ補正部７２が揺らぎ補正画像データを得るために用いた画像データより多い、例えば画像取得部７１が取得した過去１００枚の画像データに対して各画素の中間値を算出することで基準画像データを生成するものとする。なお、ここでは近傍画像揺らぎ補正処理で参照する画像データの数より多い数の画像データを用いて、静止被写体上の揺らぎが概略静止した画像データを生成するならどのような方法を用いても構わない。例えば各画素の平均値フィルタを用いて良いし、時系列のバイラテラルフィルタを用いても構わない。すなわち、複数の画像データの時系列の画素値にフィルタを適用することによって基準画像データを生成する。あるいは、１枚の画像データに対して位置合わせを行い、動きの平均値を求め、各画素がその位置に移動するよう画像を変形しても構わない。すなわち、複数の画像データの時系列の位置ずれ量にフィルタを適用することによって基準画像データを生成する。なお、基準画像生成部７３が参照する画像データの数はどのようなものでも構わないことはいうまでもない。
【００２７】
位置ずれ算出部７４は、基準画像生成部７３が生成した基準画像データと、近傍画像揺らぎ補正部７２が生成した揺らぎ補正画像データの間の各画素の位置ずれ量を算出する。詳細は後述する。
動体判定部７５は、近傍画像揺らぎ補正部７２が生成した揺らぎ補正画像データ及び移動速度データと、位置ずれ算出部７４が算出した位置ずれ量とに基づき、移動被写体が存在する画像上の領域を判定し、動体マップデータを生成する。詳細は後述する。
位置ずれ補間部７６は、位置ずれ算出部７４が算出した位置ずれ量において、動体判定部７５が生成した動体マップデータで移動被写体が存在するとされる領域について、位置ずれ量の補間を行う。詳細は後述する。
【００２８】
リサンプリング部７７は、位置ずれ補間部７６が補間した位置ずれ量に基づき、近傍画像揺らぎ補正部７２が生成した揺らぎ補正画像データを、基準画像データに重なるようリサンプリングする。ここでは、位置ずれ算出部７４が、基準画像データ上の各画素が揺らぎ補正画像データ上のどの位置に対応するか位置ずれ量を算出しているものとして、バイリニア法やバイキュービック法などでリサンプリングを行う。なお、リサンプリング部７７が行うリサンプリングは、どのような方法を用いても構わない。また、逆方向の位置ずれ量を算出しておいて、画素値を対応する位置の近傍画素に重み付きで分配して平均しても構わない。
画像出力部７８は、リサンプリング部７７が生成した出力画像データを、バス２０を介して出力する。
【００２９】
＜画像処理部２における処理概略＞
以下、図８を用いて画像処理部２の処理概略の流れの一例を説明する。それぞれのステップにおける処理詳細は後述する。
Ｓ１では、画像取得部７１が、撮像部１によって撮像された画像データを、バス２０を介して新たに１フレーム取得する。
Ｓ２では、近傍画像揺らぎ補正部７２が、Ｓ１で取得した画像データに基づき揺らぎ補正を行い、揺らぎ補正画像データと被写体の移動速度データを生成する。
Ｓ３では、基準画像生成部７３が、基準画像データを生成する。
Ｓ４では、位置ずれ算出部７４が、Ｓ３で生成した基準画像データと、Ｓ２で生成した揺らぎ補正画像データとの間の位置ずれ量を算出する。
【００３０】
Ｓ５では、動体判定部７５が、Ｓ２で生成された揺らぎ補正画像データ及び移動速度データと、Ｓ４で算出された位置ずれ量に基づき、動体マップデータを生成する。
Ｓ６では、位置ずれ補間部７６が、Ｓ４で算出された位置ずれ量に対して、Ｓ５で生成された動体マップデータで移動被写体とされた領域の補間を行う。
Ｓ７では、リサンプリング部７７が、Ｓ６で補間され位置ずれ量に基づき、Ｓ２で生成された補正画像データを、基準画像データに重なるようリサンプリングする。
Ｓ８では、画像出力部７８が、Ｓ７でリサンプリングされた画像データを出力画像データとして出力する。
【００３１】
＜近傍画像揺らぎ補正部の構成と処理詳細＞
以下、近傍画像揺らぎ補正部７２の構成と処理の例を説明する。図９、図１０は、画素値をフィルタ処理することで揺らぎを補正する方法の例であり、図１１、図１２は、位置ずれをフィッティングして求めた位置に合わせて各画像を変形することで揺らぎを補正する方法の例である。本実施形態では、後者の方法を用いるものとするが、どちらの方法を用いても構わない。また、移動被写体領域を破綻させず、長周期の揺らぎ（残存位置ずれ量）が残存するような揺らぎ補正であれば、他のどのような方法を用いて揺らぎ補正を行っても構わない。
【００３２】
図９は、近傍５フレームの画像データを用いて、画素値をフィルタ処理することで揺らぎを補正する処理を行う近傍画像揺らぎ補正部７２の構成例である。
この近傍画像揺らぎ補正部７２は、画像取得部８１と、第１〜第５バッファ８２〜８６と、動体位置合わせ部８７と、画素値フィルタ部８８とを備えている。
画像取得部８１は、画像取得部７１から順次入力される画像データを取得する。取得された画像データは、第１バッファ８２から第５バッファ８６で保持される。取得された直後の画像データはまず、第１バッファ８２に格納され、新たな画像データが入力されるたびに、次のバッファに移動される。
【００３３】
動体位置合わせ部８７は、第３バッファ８４に格納されている画像データに重なるよう、各バッファに格納されている画像データを位置合わせして変形する。ここでは、移動被写体が略重なるように変形されればどのような位置合わせを用いても構わない。例えばブロックマッチングなどを用いても構わない。また、移動被写体にボケが生じるものの、位置合わせを適用しない構成としても構わない。
画素値フィルタ部８８は、動体位置合わせ部８７が出力した画像データに対して、画素毎に平均値を算出することで時系列のフィルタ処理を行い、揺らぎ補正画像データを生成する。なお、時系列フィルタ処理は平均値フィルタ以外に中間値フィルタやバイラテラルフィルタなど、揺らぎが補正されるならばどのような方法を用いても構わない。
【００３４】
図１０は近傍Ｎフレーム画像の画素値をフィルタ処理することで揺らぎを補正する処理の流れの例である。ここでは、Ｎ＝５であるものとする。
Ｓ１１では、近傍画像揺らぎ補正部７２が、カウンタｎをバッファ数Ｎに設定する。
Ｓ１２では、近傍画像揺らぎ補正部７２が、バッファｎ−１の画像データをバッファｎにコピーする。ここでバッファは、図９の各バッファ８２〜８６を表すものとする。
Ｓ１３では、近傍画像揺らぎ補正部７２が、カウンタｎにｎ−１を代入する。
Ｓ１４では、近傍画像揺らぎ補正部７２が、カウンタｎが１より大きいか判定し、１より大きければＳ１２に戻って処理を繰り返し、１以下であればＳ１５に進む。Ｓ１１からＳ１４の処理で、第５バッファ８６に格納されている画像データを破棄し、第１バッファ８２から第４バッファ８５までに格納されている画像データを次のバッファにコピーする。
【００３５】
Ｓ１５では、画像取得部８１が、新たな画像データを取得し、第１バッファ８２に格納する。
Ｓ１６からＳ１９では、動体位置合わせ部８７が、バッファ（Ｎ＋１）／２すなわち第３バッファ８４に重なるように、各バッファに格納された画像データを位置合わせする。
Ｓ１６では、近傍画像揺らぎ補正部７２が、カウンタｎをバッファ数Ｎに設定する。
Ｓ１７では、動体位置合わせ部８７が、バッファｎの画像データの位置合わせを行う。
Ｓ１８では、近傍画像揺らぎ補正部７２が、カウンタｎにｎ−１を代入する。
Ｓ１９では、近傍画像揺らぎ補正部７２が、カウンタｎが０より大きいか判定し、０より大きければＳ１７に戻って処理を繰り返し、０以下であればＳ２０に進む。
Ｓ２０では、画素値フィルタ部８８が、各バッファに格納されている画像データに対して時系列フィルタ処理を行い、揺らぎ補正画像データを生成する。
Ｓ２１では、画素値フィルタ部８８が、揺らぎ補正画像データを出力する。
【００３６】
図１１は近傍５フレームの画像データを用いて、位置ずれをフィッティングして求めた位置に合わせて各画像を変形することで揺らぎを補正する処理を行う近傍画像揺らぎ補正部７２’の構成例である。
この近傍画像揺らぎ補正部７２’は、画像取得部８１と、第１〜第５バッファ８２〜８６と、位置ずれ算出部９１と、位置ずれフィッティング部９２と、リサンプリング部９３とを備えている。画像取得部８１及び第１バッファ８２から第５バッファ８６の機能は図９の例と同様である。
位置ずれ算出部９１は、第３バッファ８４に格納されている画像データの各画素が、各バッファに格納されている画像データ上のどの位置に対応するかを表す位置ずれ量を算出する。位置ずれ量算出の詳細は後述する。
【００３７】
位置ずれフィッティング部９２は、位置ずれ算出部９１が算出した位置ずれ量を、時系列にフィッティングする。フィッティングに用いる関数は０次関数すなわち平均でも構わないし、１次関数やより高次の関数でも構わない。すなわち、数の画像データの時系列の位置ずれ量にフィルタを適用することにより、揺らぎによる位置ずれ量を示す位置ずれデータを生成する。なお、揺らぎが補正された位置への対応が各画像の位置ずれ量から算出されるならばどのような方法でも構わない。ここでは、１次関数を用いるものとし、その傾きを移動被写体の移動速度として移動速度マップデータを生成するものとする。
リサンプリング部９３は、第３バッファ８４に格納された画像データの各画素が、位置ずれフィッティング部９２で算出した関数が示す位置に移動するようリサンプリングを行い、揺らぎ補正画像データを生成する。
【００３８】
図１２は、近傍Ｎフレーム画像データを用いて、位置ずれ量をフィッティングして求めた位置に合わせて各画像を変形することで揺らぎを補正する処理の流れの例である。ここでは、Ｎ＝５であるものとする。
Ｓ１１からＳ１９における処理は、図１０の例と同様である。
なお、この図１２では、図１０のＳ１７に対応する処理として、Ｓ１７’において、位置ずれ算出部９１が、バッファｎの画像データの位置ずれ量を算出する。
Ｓ３１では、位置ずれ算出部９１が、バッファ（Ｎ＋１）／２、すなわち第３バッファ８４に格納されている画像データに対する、各バッファに格納された画像データの位置ずれ量を算出する。
【００３９】
Ｓ３２では、位置ずれフィッティング部９２が、位置ずれ算出部９１がＳ３１で算出した位置ずれ量を時系列にフィッティングする。
Ｓ３３では、リサンプリング部９３が、バッファ（Ｎ＋１）／２、すなわち第３バッファ８４に格納された画像データの各画素が、位置ずれフィッティング部９２で算出した関数が示す位置に移動するようリサンプリングを行い、揺らぎ補正画像データを生成する。
Ｓ３４では、リサンプリング部９３が、揺らぎ補正画像データを出力する。
なお、ここでは用いる画像データの数を５フレームとし、時間的に中央に位置する画像データを基準として処理を行ったが、用いる画像データの数はいくつであっても構わない。また、基準とする画像データはどれであっても構わない。
【００４０】
＜位置ずれ算出部の構成と処理詳細＞
位置ずれ算出部７４は、位置合わせの基準となる画像データから対象になる画像データへの位置ずれ量を算出する。
本実施形態では、位置ずれ算出部７４は、以下の文献に示されているＨｏｒｎ−Ｓｃｈｕｎｃｋの方法を用いて、対象画像データと基準画像データとの位置ずれ量を算出する。
“Ｄｅｔｅｒｍｉｎｉｎｇ  ｏｐｔｉｃａｌ  ｆｌｏｗ”，  Ｈｏｒｎ，  Ｂ．  Ｋ．  Ｐ．  ａｎｄ  Ｓｃｈｕｎｃｋ，  Ｂ．Ｇ．，１９８１，Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，１７：１８５-２０３．
Ｈｏｒｎ−Ｓｃｈｕｎｃｋの方法では、式（１）で表されるエネルギー関数Ｅを最小化する位置ずれ量ｕ，ｖを繰り返しの演算で求める。このとき、Ｉｘ、Ｉｙは、基準画像データの画素値のｘ方向、ｙ方向の微分であり、Ｉｔは、位置ずれ量を算出する２つの画像間の輝度の変動である。
【数１】
2018033080.tif 000003
【００４１】
式（１）の積分内の第１項は、位置ずれ量を算出する画像間の画素値が一定であるという条件を１次まで展開して得られる項であり、第２項は位置ずれ量の変動が連続的であるという条件を表す正則化項である。αは正則化の強さを調整するパラメータであり、大きいほど位置ずれ量の変動がなめらかになる。式（１）をＥｕｌｅｒ−Ｌａｇｒａｎｇｅ方程式を用いて解くと、式（２）が得られる。
Ｉｘ（Ｉｘｕ＋Ｉｙｖ＋Ｉｆ）―α２Δｕ＝０
Ｉｙ（Ｉｘｕ＋Ｉｙｖ＋Ｉｆ）―α２Δｕ＝０                   （２）
【００４２】
位置ずれ量ｕ，ｖのラプラシアンを式（３）とおいて式（２）に代入すると、式（４）が得られる。ここで、記号の上の直線（バー）は近傍領域での重み付き平均を表す。
【数２】
2018033080.tif 000004
【００４３】
式（４）は、近傍領域での位置ずれ量の重み付き平均を含むため、全ての画素位置でのｕ，ｖが関連性を持っており、解析的に解くには問題が大きい。そのため、式（５）の計算を繰り返すことで、式（４）の解を近似的に求める。ここでｋは繰り返しの回数を表し、ｕｋ，ｖｋはｋ回目の繰り返しにおける位置ずれ量の値である。
【数３】
2018033080.tif 000005
【００４４】
次に、図１３のブロック図により位置ずれ算出部７４の構成例を説明する。
この位置ずれ算出部７４は、差分画像生成部１０１と、微分画像生成部１０２と、位置ずれ初期化部１０３と、バッファ１０４と、位置ずれ更新部１０５と、位置ずれ出力部１０６とを備えている。
差分画像生成部１０１は、基準画像データと対象画像データとの差分画像を生成する。基準画像データ上の（ｉ，ｊ）の位置の画素値をＩｉ，ｊ，０とし、対象画像データ上の（ｉ，ｊ）の位置の画素値をＩｉ，ｊ，１としたとき、差分画像データ上の（ｉ，ｊ）の位置の値Ｉｔ  ｉ，ｊは、式（６）を用いて算出する。
【数４】
2018033080.tif 000006
【００４５】
微分画像生成部１０２は、基準画像データのｘ方向、ｙ方向の微分画像を生成する。基準画像データ上の（ｉ，ｊ）の位置のｘ微分Ｉｘ  ｉ，ｊとｙ微分Ｉｙ  ｉ，ｊはそれぞれ式（７）、式（８）を用いて算出する。
【数５】
2018033080.tif 000007
【００４６】
位置ずれ初期化部１０３は、繰り返し処理で算出する位置ずれ量の初期値を生成し、バッファ１０４に格納する。位置ずれ量の初期値としては、ｕ＝０，ｖ＝０となるような位置ずれ量無しのデータを用いる。
バッファ１０４は、式（５）に基づく繰り返し処理の間、計算途中の位置ずれ量を格納しておくバッファである。
位置ずれ更新部１０５は、式（５）に基づいて、微分画像生成部１０２が生成した微分画像データと、差分画像生成部１０１が生成した差分画像データとから、バッファ１０４に格納された計算途中の位置ずれ量を更新する。
位置ずれ出力部１０６は、位置ずれ更新部１０５による所定の回数の繰り返し処理が完了した後、バッファ１０４に格納された位置ずれ量を出力する。
【００４７】
図１４を用いて位置ずれ算出処理の流れの一例を説明する。
Ｓ４１では、差分画像生成部１０１が、対象画像データと基準画像データとを取得する。
Ｓ４２では、差分画像生成部１０１が、対象画像データと基準画像データとの差分画像データを生成する。
Ｓ４３では、微分画像生成部１０２が、基準画像データのｘ微分とｙ微分の微分画像データを生成する。
Ｓ４４では、位置ずれ初期化部１０３が、位置ずれ量を初期化してバッファ１０４に格納する。
Ｓ４５では、位置ずれ更新部１０５が、Ｓ４１で生成した差分画像データと、Ｓ４２で生成した微分画像データに基づき、バッファ１０４に格納された位置ずれ量を更新する。
【００４８】
Ｓ４６では、所定の回数処理を繰り返したか判定する。繰り返していない場合はＳ４５に進み、繰り返していた場合はＳ４７に進む。
Ｓ４７では、位置ずれ出力部１０６が、位置ずれ量を出力する。
なお、本実施形態における位置ずれ算出の方法は一例であり、別の手法によって算出しても構わない。例えば、領域毎にブロックマッチングを行う方法や、特徴点の対応を補間して画素位置の対応を求める方法で算出しても構わない。また、画素間の対応を規定する情報ならばどのような形態の情報を算出しても構わない。
【００４９】
＜動体判定部の構成と処理詳細＞
動体判定部７５は、基準画像データ上のどの領域に移動被写体が存在するか、基準画像データ、揺らぎ補正画像データ、移動速度データに基づき判定し、動体マップデータを生成する。
図１５は、動体判定部７５の構成の一例である。
この動体判定部７５は、基準画像取得部１１１、対象画像取得部１１２、位置ずれ取得部１１３、移動速度取得部１１４、リサンプリング部１１５、類似度判定部１１６、位置ずれ判定部１１７、移動速度判定部１１８及び動体マップ生成部１１９を備えている。
【００５０】
基準画像取得部１１１は、基準画像生成部７３から基準画像データを取得する。
対象画像取得部１１２は、位置合わせ対象の画像データとしての揺らぎ補正画像データを、近傍画像揺らぎ補正部７２から取得する。
位置ずれ取得部１１３は、位置ずれ算出部７４から位置ずれ量を取得する。
移動速度取得部１１４は、近傍画像揺らぎ補正部７２から移動速度データを取得する。
リサンプリング部１１５は、位置ずれ量に基づき対象画像データを基準画像データに重なるよう変形してリサンプリングする。
【００５１】
類似度判定部１１６は、変形された対象画像データと基準画像データの類似度に基づき移動被写体が存在する領域（動体領域）を判定する。
ここで、移動被写体が存在しない領域は位置合わせが良好に機能し基準画像と整合するが、移動被写体が存在する領域は基準画像と整合しないため、類似度が低下する。したがって、類似度判定部１１６は、類似度が低い領域を移動被写体が存在する領域として判定する。類似度の算出と判定にはどのような方法を用いても構わないが、本実施形態では画素毎に各チャネルの差分２乗和を類似度の指標として算出し、値が大きいほど類似していないものとして閾値ｔｃで判定を行うものとする。画素位置ｘにおける基準画像データの画素値をＩｒ（ｘ）し、対象画像データの画素値をＩｔ（ｘ）とすると、類似度判定部１１６で生成される動体マップＭｃは式（９）のようになる。
【数６】
2018033080.tif 000008
【００５２】
位置ずれ判定部１１７は、位置ずれ量に基づき移動被写体が存在する領域を判定する。
移動被写体が存在する領域は、基準画像データと対象画像データが整合しないため、位置合わせに失敗して位置ずれ量が妥当でない大きさになる場合がある。したがって、位置ずれ判定部１１７は、位置ずれ量の大きい領域を移動被写体が存在する領域として判定する。
なお、位置ずれ量に基づく判定にはどのような方法を用いても構わないが、本実施形態では画素毎に位置ずれ量の絶対値を算出し、閾値ｔｄにより判定を行うものとする。画素位置ｘにおける位置ずれ量ベクトルをｄ（ｘ）とすると、位置ずれ判定部１１７で生成される動体マップＭｄは式（１０）のようになる。
【数７】
2018033080.tif 000009
【００５３】
移動速度判定部１１８は、移動速度データに基づき移動被写体が存在する領域を判定する。移動被写体が存在すると移動速度は大きくなるので、移動速度が大きい領域を移動被写体が存在する領域として判定する。
なお、移動速度に基づく判定にはどのような方法を用いても構わないが、本実施形態では画素毎に移動速度の絶対値を算出し、閾値ｔｖにより判定を行うものとする。画素位置ｘにおける移動速度ベクトルをｖ（ｘ）とすると、移動速度判定部１１８で生成される動体マップＭｖは式（１１）のようになる。
【数８】
2018033080.tif 000010
【００５４】
動体マップ生成部１１９は、類似度判定部１１６、位置ずれ判定部１１７、移動速度判定部１１８が生成した動体マップを合成し、最終的な動体マップを生成する。本実施形態では、いずれかの判定部で移動被写体が存在すると判定された領域は、最終的に移動被写体が存在する領域とする。すなわち、式（１２）のように論理和をとることで、動体マップＭを生成する。
Ｍ＝ＭＣ∪Ｍｄ∪Ｍｖ                                         （１２）
【００５５】
図１６は動体判定部７５における処理の流れの一例である。
Ｓ５１では、基準画像取得部１１１が、基準画像データを取得する。
Ｓ５２では、対象画像取得部１１２が、位置合わせ対象の画像データとしての揺らぎ補正画像データを取得する。
Ｓ５３では、位置ずれ取得部１１３が、位置ずれ量を取得する。
Ｓ５４では、移動速度取得部１１４が、移動速度データを取得する。
Ｓ５５では、リサンプリング部１１５が、Ｓ５３で取得した位置ずれ量に基づき、Ｓ５２で取得した対象画像データを基準画像データに重なるよう変形してリサンプリングする。
【００５６】
Ｓ５６では、類似度判定部１１６が、Ｓ５５でリサンプリングされた対象画像データと、Ｓ５１で取得された基準画像データの類似度に基づき移動被写体が存在する動体領域を判定する。
Ｓ５７では、位置ずれ判定部１１７が、Ｓ５３で取得された位置ずれ量に基づき移動被写体が存在する動体領域を判定する。
Ｓ５８では、移動速度判定部１１８が、Ｓ５４で取得された移動速度に基づき移動被写体が存在する動体領域を判定する。
Ｓ５９では、動体マップ生成部１１９が、Ｓ５６からＳ５８での判定結果を合成して動体マップを生成する。
なお、本実施形態で用いた動体判定の方法は一例であり、位置ずれ量の算出が失敗している領域を判定できるならばどのような方法を用いても構わない。例えば、本実施形態で用いた判定方法のうちの一部だけを用いても構わない。
【００５７】
＜位置ずれ補間部の構成と処理詳細＞
位置ずれ補間部７６は、位置ずれ算出部７４が算出した入力位置ずれ量に対して、動体判定部７５が生成した動体マップで移動被写体領域と判定された領域の補間を行い、補間された出力位置ずれ量を生成する。補間される位置ずれは、移動被写体領域以外の位置ずれ量に基づいて算出する。
なお、位置ずれ量の補間は、補間された位置ずれ量が時空間的に滑らかになるような方法であれば、どのような方法を用いても構わない。本実施形態では位置ずれ量のｘ，ｙ方向それぞれの成分の時空間ラプラシアンが小さくなるよう最適化処理を行うことで算出するものとする。動体マップをＭ、ラプラシアンフィルタをｆｌａｐとし、入力位置ずれ量の処理対象の成分をＤｄａｔとすると、補間位置ずれ量をＤｉｎｔは式（１３）のような評価関数Ｅを最小化することで算出できる。
【数９】
2018033080.tif 000011
【００５８】
図１７は、位置ずれ補間部７６の構成の一例である。
この位置ずれ補間部７６は、位置ずれ取得部１２１と、動体マップ取得部１２２と、補間位置ずれ初期化部１２３と、バッファ１２４と、位置ずれ更新部１２５と、位置ずれ出力部１２６とを備えている。
位置ずれ取得部１２１は、位置ずれ算出部７４から位置ずれ量を取得する。
動体マップ取得部１２２は、動体判定部７５から動体マップデータを取得する。
補間位置ずれ初期化部１２３は、更新処理によって生成される補間位置ずれ量の初期値を生成し、バッファ１２４に格納する。
なお、ここでは、入力位置ずれ量をそのまま用いるものとするが、近傍の平均位置ずれ量を用いても構わないし、階層的な処理を行って粗いスケールの出力から初期値を生成する構成としても構わない。
【００５９】
バッファ１２４は、補間位置ずれ量を保持する。
位置ずれ更新部１２５は、位置ずれ取得部１２１が取得した位置ずれ量と動体マップ取得部１２２が取得した動体マップデータとバッファ１２４に格納された補間位置ずれ量とに基づき、補間位置ずれ量の更新を行い、結果をバッファ１２４に格納する。この処理を繰り返すことで最終的な補間位置ずれ量がバッファ１２４内に生成される。更新量の算出は、最急降下法や共役勾配法などを用いて、式（１３）から解析的にあるいは数値計算的に算出する。
位置ずれ出力部１２６は、バッファ１２４に格納されている補間位置ずれ量を出力位置ずれ量として、リサンプリング部７７に出力する。出力位置ずれ量Ｄｏｕｔは、入力位置ずれ量の処理対象の成分をＤｄａｔ、補間位置ずれ量をＤｉｎｔとすると、式（１４）のようになる。
ＤＯＵＴ＝（１−Ｍ）・Ｄｄａｔ＋Ｍ・Ｄｉｎｔ                 （１４）
【００６０】
図１８は、位置ずれ補間部７６における処理の流れの一例である。
Ｓ６１では、位置ずれ取得部１２１が、位置ずれ量を取得する。
Ｓ６２では、動体マップ取得部１２２が、動体マップデータを取得する。
Ｓ６３では、補間位置ずれ初期化部１２３が、更新処理によって生成される補間位置ずれ量の初期値を生成する。
Ｓ６４では、位置ずれ更新部１２５が、Ｓ６１で取得した位置ずれ量とＳ６２で取得した動体マップデータと補間位置ずれ量とに基づき、補間位置ずれ量の更新を行う。
Ｓ６５では、位置ずれ更新部１２５が、所定の回数処理を繰り返したか判定する。条件を満たしていなければＳ６４に戻り処理を継続する。条件を満たしていればＳ６６に進む。なお、処理を終了する条件は、繰り返し回数以外を基準としても構わない。
Ｓ６６では、位置ずれ出力部１２６が、補間位置ずれ量を出力位置ずれ量として出力する。
【００６１】
本実施形態では、以上のように近傍画像揺らぎ補正で残存した揺らぎ（残存位置ずれ量）に対して、時間的に低周波な残存揺らぎが空間的にも低周波であるという性質を利用することで、移動被写体領域の補間を行い、画像全体の残存揺らぎを推定する。このように推定した残存揺らぎに応じて補正を行うことにより、画像全体の残存揺らぎの補正が可能となる。
これにより、本実施形態によれば、移動する被写体を含む画像データ中の長周期の揺らぎを良好に補正することができる。
【００６２】
実施形態２
実施形態１では、近傍画像揺らぎ補正を適用した画像データの基準画像データに対する位置ずれ量を算出し、リサンプリングすることで残存する長周期の揺らぎを補正していた。第２の実施形態では、位置ずれ量のフィッティングに基づく近傍画像揺らぎ補正を用いることで、位置ずれ量１３５をさらに算出する。
図１９は、本実施形態における、揺らぎ補正の処理を概念的に示す図である。
本実施形態では、実施形態１と同様に入力画像１３１から揺らぎ補正画像１３２と基準画像１３３を生成し、基準画像１３３と揺らぎ補正画像１３２の位置ずれ量１３４を位置合わせにより算出する。また、本実施形態では、位置ずれ量のフィッティングに基づく近傍画像揺らぎ補正を用いることで、位置ずれ量１３５をさらに算出する。位置ずれ量１３５が残存揺らぎであり、これに対して補間処理を行う。画素位置ｘでの位置ずれ量１３４をｄｒｅｓ（ｘ）、補間されたｄｒｅｓ（ｘ）をｄ′ｒｅｓ（ｘ）、位置ずれ量１３５をｄｎｅａｒ（ｘ）とすると、残存揺らぎが補正された画像から入力画像１３１への位置ずれ量ｄｃｏｒ（ｘ）は式（１５）のように合成できる。リサンプリング部７７が、この位置ずれ量ｄｃｏｒに基づき、入力画像１３１をリサンプリングすることで、最終的な揺らぎ補正画像を生成する。
ｄｃｏｒ（ｘ）＝ｄ−１ｎｅａｒ｛ｄｒｅｓ（ｘ）＋ｘ｝         （１５）
図２０は、本実施形態の画像処理部２の構成例を表す図である。この画像処理部２は、図７に示す実施形態１の構成に加えて、式（１５）による位置ずれ量の合成を行う位置ずれ合成部１４１が追加されている。
【００６３】
実施形態３
本実施形態では、図２１に示すように、入力画像１３１から基準画像１３３を生成するが、揺らぎ補正画像１３２は生成しない。基準画像１３３と入力画像１３１の位置ずれ量１３６を位置合わせにより算出する。また、仮想的な揺らぎ補正画像１３２と入力画像１３１の位置ずれ量１３５を、近傍画像揺らぎ補正により算出する。仮想的な揺らぎ補正画像１３２と仮想的な揺らぎ補正画像１３２の位置ずれ量１３４は位置ずれ量１３６と１３５を合成することで算出する。
【００６４】
画素位置ｘでの位置ずれ量１３６をｄｒｅｆ（ｘ）、位置ずれ量１３５をｄｎｅａｒ（ｘ）とすると、位置ずれ量ｄｒｅｓ（ｘ）は式（１６）のように合成できる。また、補間されたｄｒｅｓ（ｘ）をｄ′ｒｅｓ（ｘ）とすると、残存揺らぎが補正された画像から入力画像１３１への位置ずれ量ｄｃｏｒ（ｘ）は式（１５）のように合成できる。リサンプリング部７７が、この位置ずれ量ｄｃｏｒに基づき、入力画像１３１をリサンプリングすることで、最終的な揺らぎ補正画像を生成する。
ｄｒｅｓ（ｘ）＝ｄｎｅａｒ｛ｄ−１ｒｅｆ（ｘ）＋ｘ｝         （１６）
図２２は、本実施形態の画像処理部２の構成例を表す図である。この実施形態における位置ずれ算出部７４は、基準画像データと入力画像データの位置ずれ量を算出する。また、この画像処理部２には、図７に示す実施形態１の構成に加えて、式（１５）による位置ずれ量の合成を行う位置ずれ合成部１４１と、式（１６）による位置ずれ量の合成を行う位置ずれ合成部１４２が追加されている。
【００６５】
実施形態４
本実施形態では、図２３に示すように、入力画像１３１から揺らぎ補正画像１３２を生成するが、基準画像１３３は生成しない。入力画像１３１あるいは揺らぎ補正画像１３２のうちの１フレームを基準として、揺らぎ補正画像１３２の位置ずれ量を位置合わせにより算出する。この位置ずれ量の平均位置を算出することで、仮想的な基準画像１３３と揺らぎ補正画像１３２の位置ずれ量１３４を算出する。このようにして算出した位置ずれ量１３４を用いて、実施形態１と同様に位置ずれ量の補間と残存揺らぎ補正の処理を行う。なお、実施形態２のように、位置ずれ量１３５と位置ずれ量１３４の合成によって得られた位置ずれ量で、リサンプリングによって入力画像１３１を変形する構成としても構わない。
【００６６】
図２４は、本実施形態の画像処理部２の構成例を表す図である。この画像処理部２では、実施形態１における基準画像生成部７３が基準画像選択部１４３に変更されている。基準画像選択部１４３は、入力画像データから１フレーム選択し、位置合わせの基準とする。なお、基準とするフレームはどのフレームでもよく、あらかじめ決められたフレームを基準としても構わない。また、この画像処理部２では、図７に示す実施形態１の構成に加えて、基準位置算出部１４４も追加されている。基準位置算出部１４４は、位置ずれ算出部７４から平均やフィッティングなどで位置ずれ量１３４を算出する。
【００６７】
実施形態５
本実施形態では、揺らぎ補正画像１３２と基準画像１３３の生成は行わない。入力画像１３１のうちの１フレームを基準として、入力画像１３１の位置ずれ量を位置合わせにより算出する。この位置ずれ量の平均位置を算出することで、仮想的な基準画像１３３と入力画像１３１の位置ずれ量１３５を算出する。また、仮想的な揺らぎ補正画像１３２と入力画像１３１の位置ずれ量１３６を、近傍画像揺らぎ補正により算出する。このようにして算出した位置ずれ量１３５と位置ずれ量１３６を用いて、実施形態３と同様に位置ずれ量の補間とリサンプリングによる残存揺らぎ補正の処理を行う。
【００６８】
本実施形態の画像処理部２では、図７に示す実施形態１の構成に加えて、位置ずれ合成部１４１と、基準画像選択部１４３と、基準位置算出部１４４の後に位置ずれ合成部１４２と、とが追加される。位置ずれ合成部１４１、位置ずれ合成部１４２、基準画像選択部１４３、基準位置算出部１４４の機能は、図２０、図２２、図２４中の各部と同様である。
なお、以上の例において、画像Ａ（任意の画像データ）から画像Ｂ（任意の画像データ）への位置ずれ量として説明した箇所は、全て画像Ｂから画像Ａへの位置ずれ量に置き換えて、リサンプリングや合成のときに逆変換するように構成しても同様に機能する。
【００６９】
ソフトウェアによる実施形態
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。なお、上述の２以上の実施形態における処理を組み合わせて実行するようにしてもよい。
【符号の説明】
【００７０】
１…撮像部、２…画像処理部、３…エンコーダ部、４…デジタル信号処理部、７１…画像取得部、７２…近傍画像揺らぎ補正部、７３…基準画像生成部、７４…位置ずれ算出部、７５…動体判定部、７６…位置ずれ補間部、７７…リサンプリング部、７８…画像出力部
【図１】
2018033080.tif 000012
【図２】
2018033080.tif 000013
【図３】
2018033080.tif 000014
【図４】
2018033080.tif 000015
【図５】
2018033080.tif 000016
【図６】
2018033080.tif 000017
【図７】
2018033080.tif 000018
【図８】
2018033080.tif 000019
【図９】
2018033080.tif 000020
【図１０】
2018033080.tif 000021
【図１１】
2018033080.tif 000022
【図１２】
2018033080.tif 000023
【図１３】
2018033080.tif 000024
【図１４】
2018033080.tif 000025
【図１５】
2018033080.tif 000026
【図１６】
2018033080.tif 000027
【図１７】
2018033080.tif 000028
【図１８】
2018033080.tif 000029
【図１９】
2018033080.tif 000030
【図２０】
2018033080.tif 000031
【図２１】
2018033080.tif 000032
【図２２】
2018033080.tif 000033
【図２３】
2018033080.tif 000034
【図２４】
2018033080.tif 000035