(57)【要約】【課題】高画質の画像を生成する画像処理装置、撮像装置及び画像処理方法を提供する。【解決手段】実施形態によれば、算出部を含む画像処理装置が提供される。前記算出部は、基準フレームと入力フレームと含む画像情報を取得し、第１動き推定処理を用いて前記基準フレームに対する前記入力フレームの第１動きを推定し、前記第１動きに基づいて前記入力フレームを前記基準フレームに蓄積した第１蓄積フレームを導出し、前記第１動き推定処理とは異なる第２動き推定処理を用いて前記基準フレームに対する前記入力フレームの第２動きを推定し、前記第２動きに基づいて前記入力フレームを前記基準フレームに蓄積した第２蓄積フレームを導出し、前記第１蓄積フレームと前記第２蓄積フレームとを用いて出力フレームを生成する。【選択図】図１
2015148965.tif 000002
【特許請求の範囲】
【請求項１】
基準フレームと入力フレームとを含む画像情報を取得し、
第１動き推定処理を用いて前記基準フレームに対する前記入力フレームの第１動きを推定し、前記第１動きに基づいて前記入力フレームを前記基準フレームに蓄積した第１蓄積フレームを導出し、
前記第１動き推定処理とは異なる第２動き推定処理を用いて前記基準フレームに対する前記入力フレームの第２動きを推定し、前記第２動きに基づいて前記入力フレームを前記基準フレームに蓄積した第２蓄積フレームを導出し、
前記第１蓄積フレームと前記第２蓄積フレームとを用いて出力フレームを生成する、算出部を備えた画像処理装置。
【請求項２】
前記算出部は、前記第１蓄積フレームに対する前記出力フレームの第１誤差が小さくなるように前記出力フレームを算出する請求項１記載の画像処理装置。
【請求項３】
前記算出部は、前記第１誤差のＬ２ノルム及び前記第１誤差のＬ１ノルムの少なくともいずれかを用いて前記第１誤差を評価する請求項２記載の画像処理装置。
【請求項４】
前記算出部は、前記入力フレームに対する前記出力フレームの第２誤差が小さくなるように前記出力フレームを算出する請求項１〜３のいずれか１つに記載の画像処理装置。
【請求項５】
前記算出部は、
前記第１動きに応じて、前記第１蓄積フレームから前記第１動きを補償した第１蓄積出力フレームを導出し、
前記第２動きに応じて、前記第２蓄積フレームから前記第２動きを補償した第２蓄積出力フレームを導出し、
前記第１蓄積出力フレームと前記第２蓄積出力フレームとを用いて前記出力フレームを生成する請求項１記載の画像処理装置。
【請求項６】
第１画像と、第２画像と、を取得し、
前記第１画像のうちの第１画像情報を含む第１領域の位置と、前記第２画像のうちの、前記第１画像情報に対応する第２画像情報を含む第２領域の位置と、の差に応じた第１ベクトルに基づいて、前記第２画像情報の少なくとも一部を前記第２画像内で移動させ、前記移動させた後の前記第２画像情報の前記少なくとも一部を前記第１画像に加算して第１処理画像を導出し、
前記第１画像のうちの第３画像情報を含む第３領域の位置と、前記第２画像のうちの、前記第３画像情報に対応する第４画像情報を含む第４領域の位置と、の差に応じた第２ベクトルに基づいて、前記第４画像情報の少なくとも一部を前記第２画像内で移動させ、前記移動させた後の前記第４画像情報の前記少なくとも一部を前記第１画像に加算して第２処理画像を導出し、
前記第１処理画像と前記第２処理画像とを用いて出力画像を生成する、算出部を備えた画像処理装置。
【請求項７】
前記第４領域は、前記第２画像の全体である請求項６記載の画像処理装置。
【請求項８】
前記第１処理画像の解像度は、前記第２画像の解像度よりも高い請求項６または７に記載の画像処理装置。
【請求項９】
前記算出部は、
前記第１処理画像の画素のそれぞれについての重みに基づいて、前記第１処理画像から第１蓄積出力画像を算出し、
前記第２処理画像の画素のそれぞれについての重みに基づいて、前記第２処理画像から第２蓄積出力画像を算出し、
前記第１蓄積出力画像と、前記第２蓄積出力画像とを用いて前記出力画像を算出する請求項６〜８のいずれか１つに記載の画像処理装置。
【請求項１０】
前記算出部は、前記第１処理画像及び前記第２処理画像に複数の画像を加算し、
前記重みは、前記複数の画像が加算された回数に応じて定められる請求項９記載の画像処理装置。
【請求項１１】
前記出力画像は、前記出力画像内における第１位置に配置された第１画素を含み、
前記算出部は、
前記第１蓄積出力画像の前記第１位置に配置された画素の値と、前記第１画素の値と、の第１差と、
前記第２蓄積出力画像の前記第１位置に配置された画素の値と、前記第１画素の前記値と、の第２差と、に基づいて前記出力画像の誤差を評価する請求項９または１０に記載の画像処理装置。
【請求項１２】
前記誤差は、前記第１差の要素のそれぞれの２乗の和と、前記第２差の要素のそれぞれの２乗の和と、を用いて算出される請求項１１記載の画像処理装置。
【請求項１３】
前記誤差は、前記第１差の要素のそれぞれの絶対値の和と、前記第２差の要素のそれぞれの絶対値の和と、を用いて算出される請求項１１記載の画像処理装置。
【請求項１４】
請求項１〜５のいずれか１つに記載の画像処理装置と、
前記入力フレームを撮像する撮像素子と、
を備えた撮像装置。
【請求項１５】
請求項６〜１３のいずれか１つに記載の画像処理装置と、
前記第１画像を撮像する撮像素子と、
を備えた撮像装置。
【請求項１６】
基準フレームと入力フレームとを含む画像情報を取得する工程と、
第１動き推定処理を用いて前記基準フレームに対する前記入力フレームの第１動きを推定し、前記第１動きに基づいて前記入力フレームを前記基準フレームに蓄積した第１蓄積フレームを導出する工程と、
前記第１動き推定処理とは異なる第２動き推定処理を用いて前記基準フレームに対する前記入力フレームの第２動きを推定し、前記第２動きに基づいて前記入力フレームを前記基準フレームに蓄積した第２蓄積フレームを導出する工程と、
前記第１蓄積フレームと前記第２蓄積フレームとを用いて出力フレームを算出する工程と、
を備えた画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置、撮像装置及び画像処理方法に関する。
【背景技術】
【０００２】
例えば、複数の入力フレームを加算し、出力フレームを生成する画像処理装置がある。このような画像処理装置において、画像の画質を向上することが望まれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−００５０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、高画質の画像を生成する画像処理装置、撮像装置及び画像処理方法を提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態によれば、算出部を含む画像処理装置が提供される。前記算出部は、基準フレームと入力フレームと含む画像情報を取得し、第１動き推定処理を用いて前記基準フレームに対する前記入力フレームの第１動きを推定し、前記第１動きに基づいて前記入力フレームを前記基準フレームに蓄積した第１蓄積フレームを導出し、前記第１動き推定処理とは異なる第２動き推定処理を用いて前記基準フレームに対する前記入力フレームの第２動きを推定し、前記第２動きに基づいて前記入力フレームを前記基準フレームに蓄積した第２蓄積フレームを導出し、前記第１蓄積フレームと前記第２蓄積フレームとを用いて出力フレームを生成する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る画像処理装置を示す模式図である。
【図２】第１の実施形態に係る画像処理方法を示す模式図である。
【図３】第１の実施形態に係る画像処理方法を示す模式図である。
【図４】実施形態に係る画像処理方法を示す模式図である。
【図５】第２の実施形態に係る画像処理装置を示す模式図である。
【図６】第２の実施形態に係る画像処理方法を示す模式図である。
【図７】第３の実施形態に係る画像処理装置を示す模式図である。
【図８】第３の実施形態に係る画像処理方法を示す模式図である。
【図９】第４の実施形態に係る画像処理装置を示す模式図である。
【図１０】第５の実施形態に係る撮像装置を示す模式図である。
【発明を実施するための形態】
【０００７】
以下に、本発明の各実施の形態について図面を参照しつつ説明する。  
なお、図面は模式的または概念的なものであり、各部分の厚みと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。  
なお、本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【０００８】
（第１の実施形態）  
実施形態は、画像処理装置、撮像装置及び画像処理方法に関する。
【０００９】
図１は、第１の実施形態に係る画像処理装置を例示する模式図である。  
図１に表したように、画像処理装置１００は、算出部５０と、出力部５１と、を含む。算出部５０は、ローカルモーション推定部１０と、グローバルモーション推定部２０と、第１蓄積バッファ３０と、第２蓄積バッファ３５と、合成部４０と、を含む。
【００１０】
算出部５０は、入力フレームＩｓｒｃと基準フレームＩｒｅｆとを含む画像情報を取得する。ローカルモーション推定部１０及びグローバルモーション推定部２０は、入力フレームＩｓｒｃと、基準フレームＩｒｅｆとに基づき、画像の動き（例えば、入力フレームＩｓｒｃの画像における被写体の位置と、基準フレームＩｒｅｆの画像における被写体の位置と、の差）を推定する。
【００１１】
ローカルモーション推定部１０（第１動き推定手段）は、画像全体を複数の領域に分割し、それぞれの領域において、基準フレームＩｒｅｆに対する入力フレームＩｓｒｃの第１動き（ローカルモーション）を推定する（第１動き推定処理）。ローカルモーションは、ベクトル（動きベクトル）によって表現される。ローカルモーションは、画面全体で少なくとも２以上の動きパラメータ（動きを表すパラメータ）を用いる。
【００１２】
グローバルモーション推定部２０（第２動き推定手段）は、基準フレームＩｒｅｆの全体に対する入力フレームＩｓｒｃの全体の第２動き（グローバルモーション）を推定する（第２動き推定処理）。グローバルモーション（第２動き）は、例えば、動きベクトルによって表現される。グローバルモーションは、回転を表すパラメータまたは並進を表すパラメータなどによって表現されてもよい。グローバルモーションは、画面全体で１つの動きパラメータを用いる。
【００１３】
第１蓄積バッファ３０及び第２蓄積バッファ３５は、入力フレームＩｓｒｃを蓄積するバッファである。  
ローカルモーション推定部１０において推定された動きベクトルに基づいて、入力フレームＩｓｒｃの画像の位置は、基準フレームＩｒｅｆの画像の位置に合わせられる（ワーピングされる）。ローカルモーションを表す動きベクトルに基づいてワーピングされた入力フレームＩｓｒｃの画像は、第１蓄積バッファ３０に蓄積される。
【００１４】
グローバルモーション推定部２０において推定された動きベクトルに基づいて、入力フレームＩｓｒｃの画像の位置は、基準フレームＩｒｅｆの画像の位置に対して合わせられる。グローバルモーションを表す動きベクトルに基づいてワーピングされた入力フレームＩｓｒｃは、第２蓄積バッファ３５に蓄積される。
【００１５】
合成部４０は、入力フレームＩｓｒｃ、第１蓄積バッファ３０に蓄積されたフレーム（第１処理画像）、及び第２蓄積バッファ３５に蓄積されたフレーム（第２処理画像）を合成し、出力フレーム（出力画像）を生成する。合成の際には、例えば、後述する画素のそれぞれの重みが考慮される。これにより、ノイズが抑えられた高画質な画像が生成される。生成された画像は、出力部５１によって出力される。
【００１６】
第１画像（基準フレームＩｒｅｆの画像）は、第１画像情報を含む第１領域を含む。ローカルモーション推定部１０において、第２画像（入力フレームＩｓｒｃの画像）は、第２領域を含む複数の領域に分割される。例えば複数の領域のそれぞれは、第１面積を有する。第２領域は、第１画像情報に対応する第２画像情報を含む。第１画像情報及び第２画像情報は、例えば、画像内の被写体の情報である。ローカルモーション推定部１０は、第１画像における第１領域の位置と、第２画像における第２領域の位置と、の差（ローカルモーション）を推定する。差（ローカルモーション）に応じた第１ベクトルを算出する。
【００１７】
第１画像は、第３画像情報を含む第３領域を含む。第２画像は、第４画像情報を含む第４領域を含む。第３画像情報及び第４画像情報は、例えば、画像内の被写体の情報である。例えば、第４領域の面積は、第２領域の面積（第１面積）とは異なる。第３画像情報は、第４画像情報と対応する。例えば、グローバルモーション推定部２０においては、第４領域には第２画像の全体が用いられる。グローバルモーション推定部２０は、第１画像における第３領域の位置と、第２画像における第４領域の位置と、の差（グローバルモーション）を推定する。差（グローバルモーション）に応じた第２ベクトルが算出される。
【００１８】
第１ベクトルに基づいて、第２画像情報の少なくとも一部を第２画像内で移動させ、移動させた後の第２画像情報の少なくとも一部を第１画像に加算する。これにより、第１処理画像が導出される。第１処理画像は、第１蓄積バッファ３０に蓄積される。  
第２ベクトルに基づいて、第４画像情報の少なくとも一部を第２画像内で移動させ、移動させた後の第４画像情報の少なくとも一部を第１画像に加算する。これにより、第２処理画像が導出される。第２処理画像は、第２蓄積バッファ３５に蓄積される。
【００１９】
合成部４０は、第１処理画像と第２処理画像とを用いて出力画像を算出（生成）する。出力部５１は算出された出力画像を出力する。
【００２０】
図２は、第１の実施形態に係る画像処理方法を例示する模式図である。
【００２１】
図２に表したように、入力画像ＰＩは、複数のフレームを含む。複数のフレームのうちの、１つのフレームを入力フレームＩｓｒｃとして、取得する。入力画像ＰＩは、この例では、動画像である。入力画像ＰＩは、複数の静止画像でも良い。例えば、時刻ｔ、時刻ｔ−１、時刻ｔ−２・・・などのそれぞれの時刻において入力画像ＰＩとなるフレームが取得される。入力画像ＰＩに含まれるフレームのそれぞれが、それぞれの時刻に関する入力フレームＩｓｒｃとして、時々刻々、取得される。それぞれの入力フレームＩｓｒｃごとに、基準フレームＩｒｅｆの画像に対する入力フレームＩｓｒｃの画像の動き（グローバルモーションｇｍ及びローカルモーションｌｍ）が推定される。
【００２２】
それぞれの入力フレームＩｓｒｃの画像は、推定されたローカルモーションｌｍに基づいて、逐次、ワーピングされる。ワーピングされた入力フレームＩｓｒｃは、逐次、第１蓄積バッファ３０に蓄積される。すなわち、入力フレームＩｓｒｃは、第１蓄積バッファ３０に記憶（蓄積）された第１蓄積フレームＬＭに、逐次、加算される。
【００２３】
入力フレームＩｓｒｃのそれぞれは、推定されたグローバルモーションｇｍに基づいて、逐次、ワーピングされる。ワーピングされた入力フレームＩｓｒｃは、逐次、第２蓄積バッファ３５に蓄積される。すなわち、それぞれの入力フレームＩｓｒｃは、第２蓄積バッファ３５に記憶（蓄積）された第２蓄積フレームＧＭに、逐次、加算される。
【００２４】
例えば、時刻ｔにおける入力フレームＩｓｒｃと、第１蓄積フレームＬＭと、第２蓄積フレームＧＭと、が合成され、出力フレームＩｏが生成される。これにより、ノイズが抑えられた高画質な画像が生成される。
【００２５】
例えば、基準フレームＩｒｅｆまたは入力フレームＩｓｒｃの画像内において、１つの方向をｘ軸方向とする。ｘ軸方向に垂直な方向をｙ軸方向とする。  
出力フレームＩｏ、第１蓄積フレームＬＭまたは第２蓄積フレームＧＭの画像内において、１つの方向をＸ軸方向とする。Ｘ軸方向に垂直な方向をＹ軸方向とする。
【００２６】
入力フレームＩｓｒｃのうち、座標（ｘ、ｙ）に位置する画素が有する値を、値Ｉｓｒｃ（ｘ、ｙ）と定義する。値Ｉｓｒｃ（ｘ、ｙ）は、例えば、輝度などに対応したスカラーである。値Ｉｓｒｃ（ｘ、ｙ）は、赤青緑（ＲＧＢ）、または、明るさ及び色合い（ＹＵＶ）などを表すベクトルでもよい。出力フレームＩｏのうち、座標（Ｘ、Ｙ）に位置する画素が有する値を、Ｏ（Ｘ、Ｙ）と定義する。
【００２７】
基準フレームＩｒｅｆのうち、座標（ｘ、ｙ）に位置する画素が有する値をＩｒｅｆ（ｘ、ｙ）と定義する。基準フレームＩｒｅｆには、例えば、入力画像ＰＩのうちの１つのフレームが用いられる。
【００２８】
第１蓄積フレームＬＭ（第１処理画像）の解像度は、例えば、入力フレームＩｓｒｃ（第２画像）の解像度と同じである。解像度は、例えば、画像の横幅・縦幅に含まれる画素の個数である。第１蓄積フレームＬＭの解像度は、例えば、入力フレームＩｓｒｃの解像度の２倍、３倍または４倍でも良い。第１蓄積フレームＬＭの解像度は、入力フレームＩｓｒｃの解像度よりも低くても良い。第２蓄積フレームＧＭ（第２処理画像）の解像度も、同様に、入力フレームＩｓｒｃの解像度と同じでもよい。第２蓄積フレームＧＭの解像度は、入力フレームＩｓｒｃの解像度よりも高くても良く、低くても良い。例えば、第１蓄積フレームＬＭの解像度、及び第２蓄積フレームＧＭの解像度を高める。これにより、例えば、画質が向上する。例えば、超解像効果が得られる。
【００２９】
第１蓄積フレームＬＭの座標（Ｘ、Ｙ）に位置する画素が有する値をＢＬＭ（Ｘ、Ｙ）と表す。第２蓄積フレームＧＭの座標（Ｘ、Ｙ）に位置する画素が有する値をＢＧＭ（Ｘ、Ｙ）と表す。
【００３０】
画像処理装置１００は、第１蓄積重みバッファ３１と、第２蓄積重みバッファ３６と、を含んでも良い。例えば、第１蓄積フレームＬＭと第２蓄積フレームＧＭと入力フレームＩｓｒｃとが合成される際に、適宜、画素のそれぞれに重み付けがされる（重要性が決定される）。第１蓄積重みバッファ３１及び第２蓄積重みバッファ３６には、それぞれの画素の重みの情報が格納される。
【００３１】
例えば、第１蓄積フレームＬＭの座標（Ｘ、Ｙ）に位置する画素の重みは、ＷＬＭ（Ｘ、Ｙ）と表される。第２蓄積フレームＧＭの座標（Ｘ、Ｙ）に位置する画素の重みは、ＷＧＭ（Ｘ、Ｙ）と表される。第１蓄積重みバッファ３１に格納される重みの情報の解像度は、例えば、第１蓄積フレームＬＭの解像度と同じである。第２蓄積重みバッファ３６に格納される重み情報の解像度は、例えば、第２蓄積フレームＧＭの解像度と同じである。
【００３２】
図３は、第１の実施形態に係る画像処理方法を例示する模式図である。  
図３に表したように、実施形態に係る画像処理方法は、取得工程（ステップＳ０）と、ローカルモーション推定工程（ステップＳ１ｌ）と、第１蓄積工程（ステップＳ２ｌ）と、第１重み正規化工程（ステップＳ３ｌ）と、グローバルモーション推定工程（ステップＳ１ｇ）と、第２蓄積工程（ステップＳ２ｇ）と、第２重み正規化工程（ステップＳ３ｇ）と、合成工程（ステップＳ４）と、を含む。
【００３３】
例えば、ステップＳ０において、基準フレームＩｒｅｆの画像と、入力フレームＩｓｒｃの画像と、を取得する。
【００３４】
ステップＳ１ｌは、例えば、ローカルモーション推定部１０において行われる。ステップＳ１ｌにおいて、基準フレームＩｒｅｆの画像の位置に対する、入力フレームＩｓｒｃの画像の位置の動きを表すベクトル（動きベクトル）が算出される。ステップＳ１ｌにおいては、ローカルモーションに対応した動きベクトルが算出される。例えば、入力フレームＩｓｒｃの画像が複数の領域（ブロック）に分割される。それぞれのブロックの形状は、例えば、矩形である。基準フレームＩｒｅｆの画像内から、それぞれのブロックが対応する部分が探索される。入力フレームＩｓｒｃにおけるブロックの位置と、基準フレームＩｒｅｆにおける探索された部分の位置と、の差から動きベクトルが検出される。
【００３５】
ブロックのそれぞれは、例えば、ｘ軸方向に沿った長さＭ１とｙ軸方向に沿った長さＭ２とを有する。入力フレームＩｓｒｃの画像内で、例えば、ｘ軸方向においてｉ番目に位置し、ｙ軸方向においてｊ番目に位置するブロックの位置を（ｉ、ｊ）と表す。
【００３６】
ブロックごとに動きベクトルが推定される。例えば、平均絶対値差分（Mean Absolute Difference：ＭＡＤ）などの誤差関数が用いられる。ＭＡＤは、
【数１】
2015148965.tif 000003
と表される。動きベクトルは、
【数２】
2015148965.tif 000004
と表される。「Ｔ」は転置を表す。誤差関数には、平均二乗誤差（Maeｎ Squared Error）を用いてもよい。
【００３７】
入力フレームＩｓｒｃのブロックに対応する部分を、基準フレームＩｒｅｆの画像から探索するアルゴリズム（ブロックマッチングアルゴリズム）は、以下の式によって表される。
【数３】
2015148965.tif 000005
探索範囲を−ＷからＷまでの矩形領域としている。例えば、探索範囲は、−Ｗ≦ｘ≦Ｗかつ−Ｗ≦ｙ≦Ｗの領域である。ベクトルｕＬＭ（ｉ、ｊ）は、位置（ｉ、ｊ）に位置するブロックのローカルモーションに対応した動きベクトルである。
【数４】
2015148965.tif 000006
は、誤差関数Ｅを最小にするｕｘ及びｕｙを探すことを表す。ブロック内のそれぞれの画素の動きベクトルｕＬＭ（ｘ、ｙ）は、ブロックの動きベクトルと同一であるとする。すなわち、
【数５】
2015148965.tif 000007
である。
【００３８】
例えば、動きベクトルは、上記の方法で検出されなくても良い。例えば、ＭＰＥＧ２のような動画像符号化における圧縮のために用いられている動きベクトルを用いても良い。圧縮動画像のデコーダによってデコードされた動きベクトルを用いてもよい。例えば、予め与えられた動きベクトルを記憶媒体から読み出しても良い。
【００３９】
ステップＳ１ｇは、例えば、グローバルモーション推定部２０において行われる。ステップＳ１ｇにおいて、基準フレームＩｒｅｆにおける画像の位置に対する、入力フレームＩｓｒｃにおける画像の位置の動きを表すパラメータが算出される。ステップＳ１ｇにおいては、グローバルモーションに対応したパラメータが算出される。画面全体の動きを表現したパラメトリックモーションが求められる。例えば、パラメトリックモーションは、LucasKanade法を用いて求められる。これにより、動きベクトルが求められる。
【００４０】
パラメトリックモーションは、パラメータ化された射影によって動きを表現する。例えば、アフィン変換を用いて、座標（ｘ、ｙ）の動きは、以下のように表される。
【数６】
2015148965.tif 000008
ベクトルａ＝（ａ０、ａ１、ａ２、ａ３、ａ４、ａ５）Ｔが動きを表すパラメータである。
【００４１】
画面全体の動きを表すパラメータをLucasKanade法を用いて推定する。LucasKanade法は、工程ＬＫ１〜工程ＬＫ４を含む。  
工程ＬＫ１において、勾配
【数７】
2015148965.tif 000009
を計算する。
【００４２】
工程ＬＫ２において、ヘッセ行列Ｈ
【数８】
2015148965.tif 000010
を計算する。
【００４３】
工程ＬＫ３において、
【数９】
2015148965.tif 000011
を計算する。
【００４４】
工程ＬＫ４において、更新
【数１０】
2015148965.tif 000012
を計算する。工程ＬＫ２〜工程ＬＫ４を規定の回数繰り返す。ｔは、繰り返しの回数を表す。これにより、ベクトルａのパラメータが求まる。
【００４５】
動きベクトルｕＧＭ（ｘ、ｙ）は、
【数１１】
2015148965.tif 000013
と表される。これにより、任意の座標位置における動きベクトルを求めることができる。  例えば、パラメトリックモーションは別の方法を用いて求めても良い。２つのフレーム（例えば、基準フレームＩｒｅｆと入力フレームＩｓｒｃ）のそれぞれにおいて、画像内の特徴的な点（特徴点）を算出する。基準フレームＩｒｅｆの画像における特徴点と、入力フレームＩｓｒｃの画像における特徴点とを対応づける。これにより、パラメトリックモーションを求めても良い。
【００４６】
ステップＳ２ｌにおいては、ステップＳ１ｌにおいて算出された動きベクトルに基づいて、入力フレームＩｓｒｃが第１蓄積バッファ３０に蓄積される。例えば、ステップＳ２ｌは、第１スケーリング工程（ステップＳ２ｌ１）と、第１座標算出工程（ステップＳ２ｌ２）と、第１蓄積工程（ステップＳ２ｌ３）と、第１重み蓄積工程（ステップＳ２ｌ４）と、を含む。
【００４７】
ステップＳ２ｌ１において、ステップＳ１ｌで算出した動きベクトルのスケールを変換する。例えば、動きベクトルは、入力フレームＩｓｒｃと同じ解像度を有する。動きベクトルの解像度を、第１蓄積フレームＬＭの解像度に変換する。変換は、
【数１２】
2015148965.tif 000014
によって表される。ベクトルＵＬＭ（ｘ、ｙ）は、スケール変換された動きベクトルである。ρは、入力フレームＩｓｒｃの解像度に対する、第１蓄積フレームＬＭの解像度の比である。
【００４８】
ステップＳ２ｌ２においては、入力フレームＩｓｒｃの画素の値Ｉｓｒｃ（ｘ、ｙ）を蓄積する位置（第１蓄積座標）を決める。スケール変換された動きベクトルを用いて蓄積する位置が表される。第１蓄積フレームＬＭにおける、入力フレームＩｓｒｃの画素の値Ｉｓｒｃ（ｘ、ｙ）が蓄積される位置は、
【数１３】
2015148965.tif 000015
と、表される。ρは、入力フレームＩｓｒｃの解像度に対する、第１蓄積フレームＬＭの解像度の比である。
【００４９】
ステップＳ２ｌ３において、第１蓄積フレームＬＭに入力フレームＩｓｒｃの画素の値Ｉｓｒｃ（ｘ、ｙ）が加算される。加算には、ステップＳ２ｌ２で求められた第１蓄積座標が用いられる。第１蓄積座標の要素のそれぞれは、少数の場合がある。画素の値Ｉｓｒｃ（ｘ、ｙ）が蓄積される位置（第１近傍離散座標）は、
【数１４】
2015148965.tif 000016
と表される。
【数１５】
2015148965.tif 000017
は、第１蓄積座標の要素のそれぞれを四捨五入することを表す。
【数１６】
2015148965.tif 000018
は第１近傍離散座標を表す。
【００５０】
第１近傍離散座標において、入力フレームＩｓｒｃの画素の値Ｉｓｒｃ（ｘ、ｙ）が加算されることで、蓄積が実施される。すなわちＢＬＭ（ＸＬＭ、ＹＬＭ）＋＝Ｉｓｒｃ（ｘ、ｙ）の計算を実施する。ｚ＋＝ａは、ａをｚに加算することを表す。入力フレームＩｓｒｃの画素の値は、第１蓄積バッファ３０に記憶された第１蓄積フレームＬＭに蓄積される。
【００５１】
ステップＳ２ｌ４において、第１蓄積重みバッファ３１に重みの情報が蓄積される。すなわち、ＷＬＭ（ＸＬＭ、ＹＬＭ）＋＝１．０の計算が行われる。重みは、複数の入力フレームが加算された回数に応じて定められる。
【００５２】
例えば、第１蓄積フレームＬＭにおいては、画素によって蓄積された重み（回数）が異なる。ステップＳ２ｌ４では、第１蓄積フレームＬＭの画素が有する値を、第１蓄積重みバッファ３１に蓄積された重みの情報で除する。
【数１７】
2015148965.tif 000019
これにより、蓄積の重みで正規化された第１蓄積出力フレーム（第１蓄積出力画像）が得られる。ＯＬＭ（Ｘ、Ｙ）は、第１蓄積出力フレームの座標（Ｘ、Ｙ）に位置する画素が有する値を表す。すなわち、第１蓄積フレームＬＭ（第１処理画像）の画素のそれぞれについての重みに基づいて、第１蓄積フレームＬＭから第１蓄積出力画像が算出される。
【００５３】
ステップＳ２ｇにおいては、ステップＳ１ｇにおいて算出された動きベクトルに基づいて、入力フレームＩｓｒｃが第２蓄積バッファ３５に蓄積される。例えば、ステップＳ２ｇは、第２スケーリング工程（ステップＳ２ｇ１）と、第２座標算出工程（ステップＳ２ｇ２）と、第２蓄積工程（ステップＳ２ｇ３）と、第２重み蓄積工程（ステップＳ２ｇ４）と、を含む。
【００５４】
ステップＳ２ｇ１において、ステップＳ１ｇで算出した動きベクトルのスケールを変換する。例えば、第２蓄積バッファ３５に蓄積される第２蓄積フレームＧＭの解像度と、入力フレームＩｓｒｃの解像度と、は、異なる場合がある。例えば、動きベクトルの解像度は、入力フレームＩｓｒｃの解像度と、同じである。動きベクトルの解像度を、第２蓄積フレームＧＭの解像度に変換する。変換は、
【数１８】
2015148965.tif 000020
によって表される。ベクトルＵＧＭ（ｘ、ｙ）は、スケール変換された動きベクトルである。ρは、入力フレームＩｓｒｃの解像度に対する、第２蓄積フレームＧＭの解像度の比である。
【００５５】
ステップＳ２ｇ２においては、入力フレームの画素の値Ｉｓｒｃ（ｘ、ｙ）を蓄積する位置（第２蓄積座標）を決める。スケール変換された動きベクトルを用いて蓄積する位置が表される。第２蓄積フレームＧＭにおける、入力フレームの画素の値Ｉｓｒｃ（ｘ、ｙ）が蓄積される位置は、
【数１９】
2015148965.tif 000021
と、表される。ρは入力フレームＩｓｒｃの解像度に対する、第２蓄積フレームＧＭの解像度の比である。
【００５６】
ステップＳ２ｇ３において、第２蓄積フレームＧＭに入力フレームの画素の値Ｉｓｒｃ（ｘ、ｙ）を蓄積する。蓄積には、ステップＳ２ｇ２で求められた第２蓄積座標が用いられる。第２蓄積座標の要素のそれぞれは、少数の場合がある。画素の値Ｉｓｒｃ（ｘ、ｙ）が蓄積される位置（第２近傍離散座標）は、
【数２０】
2015148965.tif 000022
とあらわされる。
【数２１】
2015148965.tif 000023
は、第２蓄積座標の要素のそれぞれを四捨五入することを表す。
【数２２】
2015148965.tif 000024
は第２近傍離散座標を表す。
【００５７】
第２近傍離散座標において、入力フレームの画素の値Ｉｓｒｃ（ｘ、ｙ）が加算されることで、蓄積が実施される。すなわち、ＢＧＭ（ＸＧＭ、ＹＧＭ）＋＝Ｉｓｒｃ（ｘ、ｙ）が計算される。
【００５８】
ステップＳ２ｇ４においては、第２蓄積重みバッファ３６に重みの情報が蓄積される。すなわち、ＷＧＭ（ＸＧＭ、ＹＧＭ）＋＝１．０が計算される。
【００５９】
ステップＳ３ｇでは、第２蓄積フレームＧＭの画素が有する値を、第２蓄積重みバッファ３６に蓄積された重みの情報で除する。
【数２３】
2015148965.tif 000025
これにより、蓄積の重みで正規化された第２蓄積出力フレーム（第２蓄積出力画像）が得られる。ＯＧＭ（Ｘ、Ｙ）は、第２蓄積出力フレームの座標（Ｘ、Ｙ）に位置する画素が有する値を表す。すなわち、第２蓄積フレームＧＭ（第２処理画像）の画素のそれぞれについての重みに基づいて、第２蓄積フレームＧＭから第２蓄積出力画像が算出される。
【００６０】
この例では、第１蓄積フレームＬＭの解像度と、第２蓄積フレームＧＭの解像度と、は、同じである。第１蓄積フレームＬＭの解像度と、第２蓄積フレームＧＭの解像度と、は、互いに異なっていてもよい。第１蓄積フレームＬＭの解像度と、第２蓄積フレームＧＭの解像度と、が互いに異なる場合には、例えば、少なくともいずれかの解像度を、出力フレームの解像度に変換するステップが設けられる。
【００６１】
ステップＳ４において、第１蓄積出力フレームと第２蓄積出力フレームと基準フレームＩｒｅｆとを用いて、最終的に出力される出力フレームＯ（Ｘ、Ｙ）が求められる。
【００６２】
図４は、実施形態に係る画像処理方法を例示する模式図である。  
図４は、ステップＳ４におけるフレームの合成の処理を例示している。例えば、図４に表したように、出力フレームの画素の値Ｏ（Ｘ、Ｙ）は、第１蓄積出力フレームの画素の値ＯＬＭ（Ｘ、Ｙ）、第２蓄積出力フレームの画素の値ＯＧＭ（Ｘ、Ｙ）及び基準フレームの画素の値Ｉｒｅｆ（ｘ、ｙ）のそれぞれと、出力フレームの画素の値Ｏ（Ｘ、Ｙ）との差が小さくなるように決められる。  
第１蓄積フレームＬＭに対する出力フレームの誤差（第１誤差）が小さくなるように出力フレームが算出される。また、入力フレームに対すると出力フレームの誤差（第２誤差）が小さくなるように出力フレームが算出されても良い。
【００６３】
差は、例えば、以下の式（評価関数１）を用いて評価される。
評価関数１：
【数２４】
2015148965.tif 000026
【数２５】
2015148965.tif 000027
は、Ｌ２ノルムを表す。ｘがベクトルの場合は、ｘの各要素の２乗の和を表す。ｘがスカラーの場合、ｘの２乗を表す。出力フレームにおける画像の全体をＯと表す。適切な出力フレームにおける画像の全体を、
【数２６】
2015148965.tif 000028
と表す。
【００６４】
例えば、出力画像は、第１位置（例えば、座標（Ｘ、Ｙ））に配置された第１画素を含む。第１蓄積出力画像の第１位置に配置された画素の値ＯＬＭ（Ｘ、Ｙ）と第１画素の値との差Ｏ（Ｘ、Ｙ）（第１差）と、第２蓄積出力画像の第１位置に配置された画素の値ＯＧＭ（Ｘ、Ｙ）と第１画素の値Ｏ（Ｘ、Ｙ）との差（第２差）と、に基づいて、出力画像の誤差が評価される。誤差が小さくなるように適切な出力フレームが算出される。
【００６５】
適切な出力フレームは、以下の式（評価関数２）によって、求められてもよい。
評価関数２：
【数２７】
2015148965.tif 000029
これにより、例えば、座標（Ｘ、Ｙ）における画素の値と、座標（Ｘ、Ｙ）の周辺の画素の値と、が滑らかに変化する。
【００６６】
出力画像は、第１画素に隣接する（周辺の）第２画素を含む。第２画素の座標は、例えば、（Ｘ−１、Ｙ）である。第１差と、第２差と、第２画素の値Ｏ（Ｘ−１、Ｙ）と第１画素の値Ｏ（Ｘ、Ｙ）との差（第３差）と、に基づいて誤差が算出される。
【００６７】
適切な出力フレームは、以下の式（評価関数３）によって、求められても良い。
評価関数３：
【数２８】
2015148965.tif 000030
ここで、
【数２９】
2015148965.tif 000031
は、Ｌ１ノルムを表す。ｘがベクトルの場合には、ｘの各要素の絶対値の和を表す。ｘがスカラーの場合は、ｘの絶対値を表す。これらを最小化して出力フレームを求めるには、最急降下法などの反復解法を用いればよい。これにより、例えば、適切な出力フレームを求める際に、外れ値の影響を小さくすることができる。外れ値に対してロバストになる。
【００６８】
例えば、第１蓄積フレームＬＭの画素の値ＯＬＭ（Ｘ、Ｙ）、及び、第２蓄積フレームＧＭの画素の値ＯＧＭ（Ｘ、Ｙ）には、誤差が含まれている場合があり、１００％信頼することはできない。誤差は、例えば、動きベクトルの推定において生じる。適切な出力フレームを求める際に、誤差を重みとして考慮しても良い。例えば、動きベクトルの推定において誤差が生じていない場合、第１蓄積出力フレームと、基準フレームＩｒｅｆとの差は、ノイズの分布に従う。例えば、第２蓄積出力フレームと基準フレームＩｒｅｆとの差は、ノイズの分布に従う。
【数３０】
2015148965.tif 000032
ｗＬＭ（Ｘ、Ｙ）は、座標（Ｘ、Ｙ）の位置において、第１蓄積出力フレームと基準フレームＩｒｅｆとの差を示す関数である。ｗＧＭ（Ｘ、Ｙ）は、座標（Ｘ、Ｙ）の位置において、第２蓄積出力フレームと基準フレームＩｒｅｆとの差を示す関数である。ｗＬＭ（Ｘ、Ｙ）、及びｗＧＭ（Ｘ、Ｙ）のそれぞれは、０から１までの範囲のいずれかの値を有する。例えば、この値が小さいときには、動きベクトルの推定において誤差が生じている場合がある。σは、ノイズの標準偏差である。例えば、誤差を重みとして考慮すると、評価関数１は、
【数３１】
2015148965.tif 000033
となる。同様に、評価関数２及び評価関数３においても、誤差を重みとして考慮してもよい。
【００６９】
出力フレームを求める際に、第１蓄積フレームＬＭの重みと第２蓄積フレームＧＭの重みとを適宜変更しても良い。例えば、画像の明るさによって、重みを変更してもよい。例えば、明るい画像を撮像する場合には、第１蓄積フレームＬＭが優先される。例えば、画像のテクスチャ（画像内における明るさの変化の仕方）によって、重みを変更してもよい。例えば、画像内における明るさの変化が緩やかな場合（遠景を撮影した場合など）には、第２蓄積フレームＧＭが優先される。
【００７０】
第１蓄積フレームＬＭ及び第２蓄積フレームＧＭのそれぞれには、複数の入力フレームＩｓｒｃが加算されている。これにより、例えば、第１蓄積フレームＬＭ及び第２蓄積フレームＧＭのそれぞれにおいて、画像の画質が向上する。本実施形態においては、第１蓄積フレームＬＭと、第２蓄積フレームＧＭとが合成される。これにより、出力フレームの画質が向上する。
【００７１】
例えば、ローカルモーションに対応した蓄積フレーム（例えば、第１蓄積フレーム）を用いず、グローバルモーションに対応した蓄積フレーム（例えば、第２蓄積フレーム）を用いる第１の参考例の画像処理装置がある。この参考例においては、複数の入力フレームＩｓｒｃが加算され、蓄積される。これにより、ノイズが低減される。この参考例は、例えば、手ぶれの動きを対象としている。そのため、画面全体を回転と並進のパラメータで表現したグローバルモーションを推定する。一方、入力フレームＩｓｒｃを加算する際に、画面内の局所的な動き（例えば、人の動きなど）に対応できない場合がある。画面内の局所的な動きによってノイズが生じる場合がある。
【００７２】
例えば、グローバルモーションに対応した蓄積フレームを用いず、ローカルモーションに対応した蓄積フレームを用いる第２の参考例の画像処理装置がある。第２の参考例においては、ローカルモーションが推定される。推定されたローカルモーションに基づいて、蓄積フレームに入力フレームＩｓｒｃが加算される。これにより、例えば、画面内の局所的な動きに対応することができる。一方、ローカルモーションの推定においては、例えば、画面全体を複数の領域に分割する。分割された１つの領域における動きの推定に使われる画素は、画面全体の画素数よりも少ない。ローカルモーションは推定に使える画素数がグローバルモーションに比べると少ない。これにより、ローカルモーションの推定は、精度が低い場合がある。第２の参考例においては、入力フレームＩｓｒｃの加算（蓄積）に失敗する場合がある。
【００７３】
これに対して、本実施形態に係る画像処理装置においては、ローカルモーションに対応した第１蓄積フレームと、グローバルモーションに対応した第２蓄積フレームと、の両方が出力フレームに用いられる。これにより、画面内の局所的な動きに対応し、高精度に加算された出力フレームを得ることができる。
【００７４】
例えば、出力フレームの算出において複数の入力フレームＩｓｒｃの合成が行われる第３の参考例の画像処理装置がある。第３の参考例の画像処理装置においては、複数の蓄積バッファが用いられる。複数の蓄積バッファのそれぞれに、複数の入力フレームＩｓｒｃが記憶される。出力フレームの算出の際に、複数の蓄積バッファのそれぞれに記憶された複数の入力フレームＩｓｒｃが読み出され、加算される。第３の参考例では、加算される入力フレームＩｓｒｃの数と同数の蓄積バッファが用いられる。多くの蓄積バッファを用意しなければならない場合がある。
【００７５】
これに対して、本実施形態に係る画像処理装置においては、第１蓄積バッファ３０及び第２蓄積バッファ３５のそれぞれには、時々刻々、入力フレームＩｓｒｃが加算される。出力フレームを算出する際には、入力フレームＩｓｒｃが既に加算された第１蓄積フレームＬＭ及び、入力フレームＩｓｒｃが既に加算された第２蓄積フレームＧＭが読み出される。本実施形態は、入力フレームＩｓｒｃの数が多い場合においても、２つの蓄積バッファを用いて実施することができる。
【００７６】
（第２の実施形態）  
図５は、第２の実施形態に係る画像処理装置を例示する模式図である。  
図５に表した画像処理装置１０１は、算出部５０と、出力部５１と、を含む。算出部５０は、第１動き推定部１１ａと、第２動き推定部１１ｂと、第３動き推定部１１ｃと、第１蓄積バッファ３１ａと、第２蓄積バッファ３１ｂと、第３蓄積バッファ３１ｃと、合成部４０と、を含む。
【００７７】
図６は、第２の実施形態に係る画像処理方法を例示する模式図である。  
図６に表したように、第２の実施形態に係る画像処理方法は、取得工程（ステップＳ０）と、第１動き推定工程（ステップＳ１１）と、第２動き推定工程（ステップＳ１２）と、第３動き推定工程（ステップＳ１３）と、第１蓄積工程（ステップＳ２１）と、第２蓄積工程（ステップＳ２２）と、第３蓄積工程（ステップＳ２３）と、第１重み正規化工程（ステップＳ３１）と、第２重み正規化工程（ステップＳ３２）と、第３重み正規化工程（ステップＳ３３）と、合成工程（ステップＳ４）と、を含む。
【００７８】
ステップＳ０、ステップＳ１１、ステップＳ１２及びステップＳ１３のそれぞれにおいては、第１の実施形態におけるステップＳ１ｌと同様の処理が行われ、動きベクトルが算出される。例えば、ステップＳ１１、ステップＳ１２及びステップＳ１３のそれぞれにおいて、画像全体は、複数のブロックに分割される。例えば、それぞれのブロックは、矩形である。第１動き推定部１１ａにおけるそれぞれのブロックにおいては、例えば、縦の長さ及び横の長さは、それぞれ８画素分である。例えば、第２動き推定部１１ｂにおけるそれぞれのブロックにおいては、縦の長さ及び横の長さは、それぞれ３２画素分である。例えば、第３動き推定部１１ｃにおけるそれぞれのブロックにおいては、縦の長さ及び横の長さは、それぞれ１２８画素分である。
【００７９】
例えば、ステップＳ１１においては、第１動き推定部１１ａによって動きベクトルｕ１（ｘ、ｙ）が算出される。例えば、ステップＳ１２においては、第２動き推定部１１ｂによって動きベクトルｕ２（ｘ、ｙ）が算出される。例えば、ステップＳ１３においては、第３動き推定部１１ｃによって動きベクトルｕ３（ｘ、ｙ）が算出される。
【００８０】
ステップＳ２１、ステップＳ２２及びステップＳ２３のそれぞれにおいては、第１の実施形態におけるステップＳ２ｌと同様の処理が行われ、入力フレームＩｓｒｃが蓄積される。例えば、第１蓄積バッファ３１ａには、第１蓄積フレーム３２ａが蓄積される。ステップＳ２１において、第１蓄積フレーム３２ａに、動きベクトルｕ１（ｘ、ｙ）に基づいて、入力フレームＩｓｒｃが加算される。例えば、第２蓄積バッファ３１ｂには、第２蓄積フレーム３２ｂが蓄積される。ステップＳ２２において、第２蓄積フレーム３２ｂに、動きベクトルｕ２（ｘ、ｙ）に基づいて、入力フレームＩｓｒｃが加算される。例えば、第３蓄積バッファ３１ｃには、第３蓄積フレーム３２ｃが蓄積される。ステップＳ２３において、第３蓄積フレーム３２ｃに、動きベクトルｕ３（ｘ、ｙ）に基づいて、入力フレームＩｓｒｃが加算される。
【００８１】
ステップＳ３１、ステップＳ３２及びステップＳ３３のそれぞれにおいて、第１の実施形態におけるステップＳ３ｌと同様の処理が行われる。例えば、ステップＳ３１において第１蓄積フレーム３２ａから第１蓄積出力フレームＯ１（Ｘ、Ｙ）が求められる。ステップＳ３２において、第２蓄積フレーム３２ｂから第２蓄積出力フレームＯ２（Ｘ、Ｙ）が求められる。ステップＳ３３において、第３蓄積フレーム３２ｂから第３出力フレームＯ３（Ｘ、Ｙ）が求められる。
【００８２】
ステップＳ４において、合成部４０は、第１蓄積出力フレームＯ１（Ｘ、Ｙ）、第２蓄積出力フレームＯ２（Ｘ、Ｙ）、第３出力フレームＯ３（Ｘ、Ｙ）及び基準フレームＩｒｅｆを合成し、出力フレームを生成する。合成には、例えば、評価関数１を変形した以下の式が用いられる。
【数３２】
2015148965.tif 000034
同様に、評価関数２、評価関数３または評価関数４を変形した式を用いても良い。生成された画像は、出力部５１から出力される。
【００８３】
動き推定部において、画面全体が複数のブロックに分割される。分割されたそれぞれのブロックの大きさが小さい場合、画像内の細かい動きに対応することができる。ブロックの大きさが大きい場合、入力フレームＩｓｒｃを加算することで、ノイズが抑制される。本実施形態においては、３つの大きさのブロックが用いられる。これにより、細かい動きにも対応したノイズが抑制された画像を得ることができる。３つ以上の動き推定を組み合わせてもよい。
【００８４】
（第３の実施形態）  
図７は、第３の実施形態に係る画像処理装置を例示する模式図である。  
図７に表したように、画像処理装置１０２は、算出部５０と、出力部５１と、を含む。算出部５０は、ローカルモーション推定部１０と、グローバルモーション推定部２０と、第１蓄積バッファ３０と、第２蓄積バッファ３５と、第１動き補償部３７と、第２動き補償部３８と、合成部４０と、を含む。
【００８５】
ローカルモーション推定部１０、グローバルモーション推定部２０、第１蓄積バッファ３０、第２蓄積バッファ３５、及び、出力部５１については、画像処理装置１００に関する説明と同様の説明を適用できる。
【００８６】
図８は、第３の実施形態に係る画像処理方法を例示する模式図である。  
図８に表したように、第３の実施形態に係る画像処理方法は、取得工程（ステップＳ０）と、ローカルモーション推定工程（ステップＳ１ｌ）と、第１蓄積工程（ステップＳ２ｌ）と、第１重み正規化工程（ステップＳ３ｌ）と、グローバルモーション推定工程（ステップＳ１ｇ）と、第２蓄積工程（ステップＳ２ｇ）と、第２重み正規化工程（ステップＳ３ｇ）と、合成工程（ステップＳ４）と、第１動き補償工程（ステップＳ５ｌ）と、第２動き補償工程（ステップＳ５ｇ）と、を含む。
【００８７】
取得工程（ステップＳ０）と、ローカルモーション推定工程（ステップＳ１ｌ）と、第１蓄積工程（ステップＳ２ｌ）と、第１重み正規化工程（ステップＳ３ｌ）と、グローバルモーション推定工程（ステップＳ１ｇ）と、第２蓄積工程（ステップＳ２ｇ）と、第２重み正規化工程（ステップＳ３ｇ）については、第１の実施形態に関する説明と同様の説明を適用できる。
【００８８】
ステップＳ３ｌにおいて、例えば、第１蓄積バッファ３０から、第１蓄積出力フレームＯＬＭ（Ｘ、Ｙ）が出力される。ステップＳ３ｇにおいて、例えば、第２蓄積バッファ３５から、第２蓄積出力フレームＯＧＭ（Ｘ、Ｙ）が出力される。
【００８９】
入力フレームＩｓｒｃの画像は、加算される際に、基準フレームＩｒｅｆの画像に対して位置が合わせられている。すなわち、第１蓄積出力フレームＯＬＭ（Ｘ、Ｙ）の画像及び第２蓄積出力フレームＯＧＭ（Ｘ、Ｙ）の画像は、基準フレームＩｒｅｆが撮像された時刻と同時刻の画像に対応する。第１蓄積出力フレームＯＬＭ（Ｘ、Ｙ）及び第２蓄積出力フレームＯＧＭ（Ｘ、Ｙ）は、基準フレームＩｒｅｆと時間的に同位相である。第１蓄積出力フレームＯＬＭ（Ｘ、Ｙ）の画像及び第２蓄積出力フレームＯＧＭ（Ｘ、Ｙ）の画像は、入力フレームＩｓｒｃが撮像された時刻とは異なる時刻の画像に対応する。
【００９０】
ステップＳ５ｌにおいて、第１蓄積出力フレームＯＬＭ（Ｘ、Ｙ）における画像の位置を入力フレームＩｓｒｃにおける画像の位置に引き戻す（動き補償を行う）。すなわち、第１蓄積出力フレームＯＬＭ（Ｘ、Ｙ）における画像の位置を、入力フレームＩｓｒｃにおける画像に位置に対して合わせる。これにより、第１動き補償画像が得られる。
【００９１】
ステップＳ５ｇにおいて、第２蓄積出力フレームＯＧＭ（Ｘ、Ｙ）の動き補償を行う。すなわち、第２蓄積出力フレームＯＧＭ（Ｘ、Ｙ）における画像の位置を、入力フレームＩｓｒｃにおける画像の位置に対して合わせる。これにより、第２動き補償画像が得られる。動き補償によって、第１蓄積出力フレームＯＬＭ（Ｘ、Ｙ）、及び、第２蓄積出力フレームＯＧＭ（Ｘ、Ｙ）は、入力フレームＩｓｒｃが撮像された時刻と同時刻の画像に変換される。
【００９２】
例えば、動きベクトルは、入力フレームＩｓｒｃから基準フレームＩｒｅｆへの動きを表すベクトルである。動きベクトルを用いて、出力フレームの位置を引き戻すことで、出力フレームの時間的な位相を入力フレームＩｓｒｃの時間的な位相に合わせることができる。ステップＳ５ｌは、例えば、第１動き補償部３７において、行われる。  
第１動き（第１動き推定処理によって推定された基準フレームＩｒｅｆに対する入力フレームＩｓｒｃの動き）に応じて、第１蓄積フレームから第１動きを補償した第１蓄積出力フレーム（第１動き補償画像）が導出される。  
第２動き（第２動き推定処理によって推定された基準フレームＩｒｅｆに対する入力フレームＩｓｒｃの動き）に応じて、第２蓄積フレームから第２動きを補償した第２蓄積出力フレーム（第２動き補償画像）が導出される。
【００９３】
入力フレームＩｓｒｃの座標（ｘ、ｙ）と、第１蓄積フレームの座標（Ｘ、Ｙ）との関係は、次のようになっている。
【数３３】
2015148965.tif 000035
座標（Ｘ、Ｙ）における動きベクトルは、
【数３４】
2015148965.tif 000036
と表される。ここで、Ｕｘは、動きベクトルのｘ要素であり、Ｕｙは、動きベクトルのｙ要素である。第１の実施形態で述べたように、動きベクトルは、離散的な画素の位置を表すベクトルであるため、
【数３５】
2015148965.tif 000037
は、存在しない可能性がある。そこで、線形補間などを用いて動きベクトルを補間する。動き補償は、以下のように計算される。
【数３６】
2015148965.tif 000038
第１蓄積出力フレームＯＬＭ（Ｘ、Ｙ）は、離散的な画素の位置に対してのみ定義されている。そこで、例えば、線形補間などの補間を用いることで計算すればよい。
【００９４】
ステップＳ５ｇにおいて、第２蓄積出力フレームＯＧＭ（Ｘ、Ｙ）の動き補償が行われる。第２蓄積出力フレームＯＧＭ（Ｘ、Ｙ）の動き補償は、ステップＳ５ｌにおける動き補償と同様の処理で行われる。ステップＳ５ｇは、例えば、第２動き補償部３８において行われる。
【００９５】
ステップＳ４において、第１蓄積出力フレームＯｔＬＭ（Ｘ、Ｙ）（第１動き補償画像）、第２蓄積出力フレームＯｔＧＭ（Ｘ、Ｙ）（第２動き補償画像）及び入力フレームＩｓｒｃが合成される。合成は、例えば、合成部４０において行われる。例えば、合成における誤差をＬ２ノルムを用いて評価する。評価関数１を変形した以下の式が用いられる。
【数３７】
2015148965.tif 000039
これにより、出力フレームが算出さる。出力フレームは、出力部５１から出力される。
【００９６】
第１蓄積出力画像は、第２画像の第２領域に対応する第５領域を含む。第２蓄積出力画像は、第２画像の第４領域に対応する第６領域を含む。第１ベクトルを用いて第１蓄積出力画像の位置を引き戻す。すなわち、第１蓄積出力画像における第５領域の位置を、第２画像における第２領域の位置に合わせる。これにより、第１動き補償画像を算出する。
【００９７】
第２ベクトルを用いて第２蓄積出力画像の位置を引き戻す。すなわち、第２蓄積出力画像における第６領域の位置を、第２画像における第４領域の位置に合わせる。これにより、第２動き補償画像を算出する。第１動き補償画像と第２動き補償画像と、を用いて出力画像が算出される。例えば、第２画像と、第１動き補償画像と、第２動き補償画像と、が合成された出力画像が算出される。
【００９８】
本実施形態においては、動き補償が行われる。これにより、出力フレームは、入力フレームＩｓｒｃが撮像された時刻と同時刻の画像に対応する。これにより、動画像を出力することができる。イメージセンサやテレビ映像から入力された複数の入力フレームＩｓｒｃを、高画質な動画として出力することができる。
【００９９】
（第４の実施形態）  
図９は、第４の実施形態に係る画像処理装置を例示する模式図である。  
図９に例示したコンピュータ装置２００は、例えば、第１〜第３の実施形態に関して説明した画像処理が実施可能である。コンピュータ装置２００は、例えば、画像処理装置である。
図９に表したコンピュータ装置２００は、バス２０１と、制御部２０２と、主記憶部２０３と、補助記憶部２０４と、外部Ｉ／Ｆ２０５と、を含む。バス２０１に、制御部２０２と、主記憶部２０３と、補助記憶部２０４と、外部Ｉ／Ｆ２０５と、が接続されている。
【０１００】
補助記憶部２０４には、例えば、ハードディスク等が用いられる。外部Ｉ／Ｆ２０５には、例えば、記憶媒体２０６が接続されている。記憶媒体２０６には、例えば、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭまたはＤＶＤ−Ｒ等が用いられる。
【０１０１】
例えば、主記憶部２０３または補助記憶部２０４には、画像処理装置１００における処理を実行するためのプログラムが記憶されている。制御部２０２がプログラムを実行することによって、画像処理装置１００における処理が実行される。画像処理装置１００における処理の実行において、例えば、主記憶部２０３または補助記憶部２０４が、それぞれのフレームを記憶するバッファとして用いられる。
【０１０２】
画像処理装置１００における処理を実行するためのプログラムは、例えば、あらかじめ主記憶部２０３または補助記憶部２０４にインストールされる。プログラムは、記憶媒体２０６に記憶されていてもよい。この場合、例えば、プログラムは、コンピュータ装置２００に適宜インストールされる。ネットワークを介してプログラムを取得してもよい。
【０１０３】
（第５の実施形態）
図１０は、第５の実施形態に係る撮像装置を例示する模式図である。  
図１０に表したように撮像装置２１０は、光学素子２１１と、撮像部（撮像素子）２１２と、主記憶部２１３と、補助記憶部２１４と、処理回路２１５と、表示部２１６と、出入力Ｉ／Ｆ２１７と、を含む。
【０１０４】
光学素子２１１には、例えば、レンズなどが設けられる。被写体から撮像装置２１０へ向かう光の一部は、光学素子２１１を透過し、撮像部２１２へ入射する。撮像部２１２には、例えば、ＣＭＯＳイメージセンサや、ＣＣＤイメージセンサなどが用いられる。光学素子２１１及び撮像部２１２によって、基準フレームＩｒｅｆの画像や入力フレームＩｓｒｃの画像が撮像される。例えば、主記憶部２１３または補助記憶部２１４には、画像処理装置１００における処理を実行するためのプログラムが予め記憶されている。処理回路２１５によってプログラムが実行され、画像処理装置１００における処理が実行される。すなわち、この例では、主記憶部２１３、補助記憶部２１４及び処理回路２１５によって画像処理装置１００が実現される。画像処理装置１００における処理の実行において、例えば、主記憶部２１３または補助記憶部２１４が、それぞれのフレームを記憶するバッファとして用いられる。画像処理装置１００における処理によって、出力フレームが出力される。例えば、出力フレームは、出入力Ｉ／Ｆ２１７を介して表示部２１６において表示される。
すなわち、撮像装置２１０は、例えば、上記の実施形態に係るいずれかの画像処理装置と、撮像２１２と、を含む。撮像部２１２は、例えば、画像処理装置が取得する画像情報（例えば、基準フレーム、入力フレーム、第１画像及び第２画像など）を取得する。
【０１０５】
本発明の実施形態によれば、高画質の画像を生成する画像処理装置、画像処理方法及び撮像装置が提供される。
【０１０６】
以上、具体例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明は、これらの具体例に限定されるものではない。例えば、入力フレーム、基準フレーム、蓄積フレーム、算出部、ローカルモーション推定部、グローバルモーション推定部、第１蓄積バッファ、第２蓄積バッファ、合成部及び出力部などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。  
また、各具体例のいずれか２つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
【０１０７】
その他、本発明の実施の形態として上述した画像処理装置、画像処理方法及び画像処理プログラムを基にして、当業者が適宜設計変更して実施し得る全ての画像処理装置、画像処理方法及び画像処理プログラムも、本発明の要旨を包含する限り、本発明の範囲に属する。
【０１０８】
その他、本発明の思想の範疇において、当業者であれば、各種の変更例、及び修正例に想到し得るものであり、それら変更例、及び修正例についても本発明の範囲に属するものと了解される。
【０１０９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１０】
１０…ローカルモーション推定部、  １１ａ…第１動き推定部、  １１ｂ…第２動き推定部、  １１ｃ…第３動き推定部、  ２０…グローバルモーション推定部、  ３０…第１蓄積バッファ、  ３１…第１蓄積重みバッファ、  ３１ａ…第１蓄積バッファ、  ３１ｂ…第２蓄積バッファ、  ３１ｃ…第３蓄積バッファ、  ３２ａ…第１蓄積フレーム、  ３２ｂ…第２蓄積フレーム、  ３２ｃ…第３蓄積フレーム、  ３５…第２蓄積バッファ、  ３６…第２蓄積重みバッファ、  ３７…第１動き補償部、  ３８…第２動き補償部、  ４０…合成部、  ５０…算出部、  ５１…出力部、  １００〜１０２…画像処理装置、  ２００…コンピュータ装置、  ２０１…バス、  ２０２…制御部、  ２０３…主記憶部、  ２０４…補助記憶部、  ２０５…外部Ｉ／Ｆ、  ２０６…記憶媒体、  ２１０…撮像装置、  ２１１…光学素子、  ２１２…撮像部（撮像素子）、  ２１３…主記憶部、  ２１４…補助記憶部、  ２１５…処理回路、  ２１６…表示部、  ２１７…出入力Ｉ／Ｆ、  ＧＭ…第１蓄積フレーム、  Ｉｏ…出力フレーム、  Ｉｒｅｆ…基準フレーム、  Ｉｓｒｃ…入力フレーム、  ＬＭ…蓄積フレーム、  Ｏ…出力フレーム、  Ｏ１…第１蓄積出力フレーム、  Ｏ２…第２蓄積出力フレーム、  Ｏ３…第３出力フレーム、  ＯＧＭ…第２蓄積出力フレーム、  ＯＬＭ…第１蓄積出力フレーム、  ＰＩ… 入力画像、  Ｓ１１〜Ｓ１３、Ｓ２１〜Ｓ２３、Ｓ３１〜Ｓ３３、Ｓ４、Ｓ２ｇ１〜Ｓ２ｇ４、Ｓ２ｌ１〜Ｓ２ｌ４、Ｓ１ｇ〜Ｓ５ｇ、Ｓ１ｌ〜Ｓ３ｌ…ステップ、  ｇｍ…グローバルモーション、  ｌｍ…ローカルモーション、  ｕ１〜ｕ３、ｕＧＭ、ｕＬＭ…ベクトル
【図１】
2015148965.tif 000040
【図２】
2015148965.tif 000041
【図３】
2015148965.tif 000042
【図４】
2015148965.tif 000043
【図５】
2015148965.tif 000044
【図６】
2015148965.tif 000045
【図７】
2015148965.tif 000046
【図８】
2015148965.tif 000047
【図９】
2015148965.tif 000048
【図１０】
2015148965.tif 000049