JP2015148965A - 画像処理装置、撮像装置及び画像処理方法 - Google Patents
画像処理装置、撮像装置及び画像処理方法 Download PDFInfo
- Publication number
- JP2015148965A JP2015148965A JP2014021744A JP2014021744A JP2015148965A JP 2015148965 A JP2015148965 A JP 2015148965A JP 2014021744 A JP2014021744 A JP 2014021744A JP 2014021744 A JP2014021744 A JP 2014021744A JP 2015148965 A JP2015148965 A JP 2015148965A
- Authority
- JP
- Japan
- Prior art keywords
- image
- frame
- accumulation
- output
- motion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】高画質の画像を生成する画像処理装置、撮像装置及び画像処理方法を提供する。【解決手段】実施形態によれば、算出部を含む画像処理装置が提供される。前記算出部は、基準フレームと入力フレームと含む画像情報を取得し、第1動き推定処理を用いて前記基準フレームに対する前記入力フレームの第1動きを推定し、前記第1動きに基づいて前記入力フレームを前記基準フレームに蓄積した第1蓄積フレームを導出し、前記第1動き推定処理とは異なる第2動き推定処理を用いて前記基準フレームに対する前記入力フレームの第2動きを推定し、前記第2動きに基づいて前記入力フレームを前記基準フレームに蓄積した第2蓄積フレームを導出し、前記第1蓄積フレームと前記第2蓄積フレームとを用いて出力フレームを生成する。【選択図】図1
Description
本発明の実施形態は、画像処理装置、撮像装置及び画像処理方法に関する。
例えば、複数の入力フレームを加算し、出力フレームを生成する画像処理装置がある。このような画像処理装置において、画像の画質を向上することが望まれる。
本発明の実施形態は、高画質の画像を生成する画像処理装置、撮像装置及び画像処理方法を提供する。
本発明の実施形態によれば、算出部を含む画像処理装置が提供される。前記算出部は、基準フレームと入力フレームと含む画像情報を取得し、第1動き推定処理を用いて前記基準フレームに対する前記入力フレームの第1動きを推定し、前記第1動きに基づいて前記入力フレームを前記基準フレームに蓄積した第1蓄積フレームを導出し、前記第1動き推定処理とは異なる第2動き推定処理を用いて前記基準フレームに対する前記入力フレームの第2動きを推定し、前記第2動きに基づいて前記入力フレームを前記基準フレームに蓄積した第2蓄積フレームを導出し、前記第1蓄積フレームと前記第2蓄積フレームとを用いて出力フレームを生成する。
以下に、本発明の各実施の形態について図面を参照しつつ説明する。
なお、図面は模式的または概念的なものであり、各部分の厚みと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。
なお、本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
なお、図面は模式的または概念的なものであり、各部分の厚みと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。
なお、本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
(第1の実施形態)
実施形態は、画像処理装置、撮像装置及び画像処理方法に関する。
実施形態は、画像処理装置、撮像装置及び画像処理方法に関する。
図1は、第1の実施形態に係る画像処理装置を例示する模式図である。
図1に表したように、画像処理装置100は、算出部50と、出力部51と、を含む。算出部50は、ローカルモーション推定部10と、グローバルモーション推定部20と、第1蓄積バッファ30と、第2蓄積バッファ35と、合成部40と、を含む。
図1に表したように、画像処理装置100は、算出部50と、出力部51と、を含む。算出部50は、ローカルモーション推定部10と、グローバルモーション推定部20と、第1蓄積バッファ30と、第2蓄積バッファ35と、合成部40と、を含む。
算出部50は、入力フレームIsrcと基準フレームIrefとを含む画像情報を取得する。ローカルモーション推定部10及びグローバルモーション推定部20は、入力フレームIsrcと、基準フレームIrefとに基づき、画像の動き(例えば、入力フレームIsrcの画像における被写体の位置と、基準フレームIrefの画像における被写体の位置と、の差)を推定する。
ローカルモーション推定部10(第1動き推定手段)は、画像全体を複数の領域に分割し、それぞれの領域において、基準フレームIrefに対する入力フレームIsrcの第1動き(ローカルモーション)を推定する(第1動き推定処理)。ローカルモーションは、ベクトル(動きベクトル)によって表現される。ローカルモーションは、画面全体で少なくとも2以上の動きパラメータ(動きを表すパラメータ)を用いる。
グローバルモーション推定部20(第2動き推定手段)は、基準フレームIrefの全体に対する入力フレームIsrcの全体の第2動き(グローバルモーション)を推定する(第2動き推定処理)。グローバルモーション(第2動き)は、例えば、動きベクトルによって表現される。グローバルモーションは、回転を表すパラメータまたは並進を表すパラメータなどによって表現されてもよい。グローバルモーションは、画面全体で1つの動きパラメータを用いる。
第1蓄積バッファ30及び第2蓄積バッファ35は、入力フレームIsrcを蓄積するバッファである。
ローカルモーション推定部10において推定された動きベクトルに基づいて、入力フレームIsrcの画像の位置は、基準フレームIrefの画像の位置に合わせられる(ワーピングされる)。ローカルモーションを表す動きベクトルに基づいてワーピングされた入力フレームIsrcの画像は、第1蓄積バッファ30に蓄積される。
ローカルモーション推定部10において推定された動きベクトルに基づいて、入力フレームIsrcの画像の位置は、基準フレームIrefの画像の位置に合わせられる(ワーピングされる)。ローカルモーションを表す動きベクトルに基づいてワーピングされた入力フレームIsrcの画像は、第1蓄積バッファ30に蓄積される。
グローバルモーション推定部20において推定された動きベクトルに基づいて、入力フレームIsrcの画像の位置は、基準フレームIrefの画像の位置に対して合わせられる。グローバルモーションを表す動きベクトルに基づいてワーピングされた入力フレームIsrcは、第2蓄積バッファ35に蓄積される。
合成部40は、入力フレームIsrc、第1蓄積バッファ30に蓄積されたフレーム(第1処理画像)、及び第2蓄積バッファ35に蓄積されたフレーム(第2処理画像)を合成し、出力フレーム(出力画像)を生成する。合成の際には、例えば、後述する画素のそれぞれの重みが考慮される。これにより、ノイズが抑えられた高画質な画像が生成される。生成された画像は、出力部51によって出力される。
第1画像(基準フレームIrefの画像)は、第1画像情報を含む第1領域を含む。ローカルモーション推定部10において、第2画像(入力フレームIsrcの画像)は、第2領域を含む複数の領域に分割される。例えば複数の領域のそれぞれは、第1面積を有する。第2領域は、第1画像情報に対応する第2画像情報を含む。第1画像情報及び第2画像情報は、例えば、画像内の被写体の情報である。ローカルモーション推定部10は、第1画像における第1領域の位置と、第2画像における第2領域の位置と、の差(ローカルモーション)を推定する。差(ローカルモーション)に応じた第1ベクトルを算出する。
第1画像は、第3画像情報を含む第3領域を含む。第2画像は、第4画像情報を含む第4領域を含む。第3画像情報及び第4画像情報は、例えば、画像内の被写体の情報である。例えば、第4領域の面積は、第2領域の面積(第1面積)とは異なる。第3画像情報は、第4画像情報と対応する。例えば、グローバルモーション推定部20においては、第4領域には第2画像の全体が用いられる。グローバルモーション推定部20は、第1画像における第3領域の位置と、第2画像における第4領域の位置と、の差(グローバルモーション)を推定する。差(グローバルモーション)に応じた第2ベクトルが算出される。
第1ベクトルに基づいて、第2画像情報の少なくとも一部を第2画像内で移動させ、移動させた後の第2画像情報の少なくとも一部を第1画像に加算する。これにより、第1処理画像が導出される。第1処理画像は、第1蓄積バッファ30に蓄積される。
第2ベクトルに基づいて、第4画像情報の少なくとも一部を第2画像内で移動させ、移動させた後の第4画像情報の少なくとも一部を第1画像に加算する。これにより、第2処理画像が導出される。第2処理画像は、第2蓄積バッファ35に蓄積される。
第2ベクトルに基づいて、第4画像情報の少なくとも一部を第2画像内で移動させ、移動させた後の第4画像情報の少なくとも一部を第1画像に加算する。これにより、第2処理画像が導出される。第2処理画像は、第2蓄積バッファ35に蓄積される。
合成部40は、第1処理画像と第2処理画像とを用いて出力画像を算出(生成)する。出力部51は算出された出力画像を出力する。
図2は、第1の実施形態に係る画像処理方法を例示する模式図である。
図2に表したように、入力画像PIは、複数のフレームを含む。複数のフレームのうちの、1つのフレームを入力フレームIsrcとして、取得する。入力画像PIは、この例では、動画像である。入力画像PIは、複数の静止画像でも良い。例えば、時刻t、時刻t−1、時刻t−2・・・などのそれぞれの時刻において入力画像PIとなるフレームが取得される。入力画像PIに含まれるフレームのそれぞれが、それぞれの時刻に関する入力フレームIsrcとして、時々刻々、取得される。それぞれの入力フレームIsrcごとに、基準フレームIrefの画像に対する入力フレームIsrcの画像の動き(グローバルモーションgm及びローカルモーションlm)が推定される。
それぞれの入力フレームIsrcの画像は、推定されたローカルモーションlmに基づいて、逐次、ワーピングされる。ワーピングされた入力フレームIsrcは、逐次、第1蓄積バッファ30に蓄積される。すなわち、入力フレームIsrcは、第1蓄積バッファ30に記憶(蓄積)された第1蓄積フレームLMに、逐次、加算される。
入力フレームIsrcのそれぞれは、推定されたグローバルモーションgmに基づいて、逐次、ワーピングされる。ワーピングされた入力フレームIsrcは、逐次、第2蓄積バッファ35に蓄積される。すなわち、それぞれの入力フレームIsrcは、第2蓄積バッファ35に記憶(蓄積)された第2蓄積フレームGMに、逐次、加算される。
例えば、時刻tにおける入力フレームIsrcと、第1蓄積フレームLMと、第2蓄積フレームGMと、が合成され、出力フレームIoが生成される。これにより、ノイズが抑えられた高画質な画像が生成される。
例えば、基準フレームIrefまたは入力フレームIsrcの画像内において、1つの方向をx軸方向とする。x軸方向に垂直な方向をy軸方向とする。
出力フレームIo、第1蓄積フレームLMまたは第2蓄積フレームGMの画像内において、1つの方向をX軸方向とする。X軸方向に垂直な方向をY軸方向とする。
出力フレームIo、第1蓄積フレームLMまたは第2蓄積フレームGMの画像内において、1つの方向をX軸方向とする。X軸方向に垂直な方向をY軸方向とする。
入力フレームIsrcのうち、座標(x、y)に位置する画素が有する値を、値Isrc(x、y)と定義する。値Isrc(x、y)は、例えば、輝度などに対応したスカラーである。値Isrc(x、y)は、赤青緑(RGB)、または、明るさ及び色合い(YUV)などを表すベクトルでもよい。出力フレームIoのうち、座標(X、Y)に位置する画素が有する値を、O(X、Y)と定義する。
基準フレームIrefのうち、座標(x、y)に位置する画素が有する値をIref(x、y)と定義する。基準フレームIrefには、例えば、入力画像PIのうちの1つのフレームが用いられる。
第1蓄積フレームLM(第1処理画像)の解像度は、例えば、入力フレームIsrc(第2画像)の解像度と同じである。解像度は、例えば、画像の横幅・縦幅に含まれる画素の個数である。第1蓄積フレームLMの解像度は、例えば、入力フレームIsrcの解像度の2倍、3倍または4倍でも良い。第1蓄積フレームLMの解像度は、入力フレームIsrcの解像度よりも低くても良い。第2蓄積フレームGM(第2処理画像)の解像度も、同様に、入力フレームIsrcの解像度と同じでもよい。第2蓄積フレームGMの解像度は、入力フレームIsrcの解像度よりも高くても良く、低くても良い。例えば、第1蓄積フレームLMの解像度、及び第2蓄積フレームGMの解像度を高める。これにより、例えば、画質が向上する。例えば、超解像効果が得られる。
第1蓄積フレームLMの座標(X、Y)に位置する画素が有する値をBLM(X、Y)と表す。第2蓄積フレームGMの座標(X、Y)に位置する画素が有する値をBGM(X、Y)と表す。
画像処理装置100は、第1蓄積重みバッファ31と、第2蓄積重みバッファ36と、を含んでも良い。例えば、第1蓄積フレームLMと第2蓄積フレームGMと入力フレームIsrcとが合成される際に、適宜、画素のそれぞれに重み付けがされる(重要性が決定される)。第1蓄積重みバッファ31及び第2蓄積重みバッファ36には、それぞれの画素の重みの情報が格納される。
例えば、第1蓄積フレームLMの座標(X、Y)に位置する画素の重みは、WLM(X、Y)と表される。第2蓄積フレームGMの座標(X、Y)に位置する画素の重みは、WGM(X、Y)と表される。第1蓄積重みバッファ31に格納される重みの情報の解像度は、例えば、第1蓄積フレームLMの解像度と同じである。第2蓄積重みバッファ36に格納される重み情報の解像度は、例えば、第2蓄積フレームGMの解像度と同じである。
図3は、第1の実施形態に係る画像処理方法を例示する模式図である。
図3に表したように、実施形態に係る画像処理方法は、取得工程(ステップS0)と、ローカルモーション推定工程(ステップS1l)と、第1蓄積工程(ステップS2l)と、第1重み正規化工程(ステップS3l)と、グローバルモーション推定工程(ステップS1g)と、第2蓄積工程(ステップS2g)と、第2重み正規化工程(ステップS3g)と、合成工程(ステップS4)と、を含む。
図3に表したように、実施形態に係る画像処理方法は、取得工程(ステップS0)と、ローカルモーション推定工程(ステップS1l)と、第1蓄積工程(ステップS2l)と、第1重み正規化工程(ステップS3l)と、グローバルモーション推定工程(ステップS1g)と、第2蓄積工程(ステップS2g)と、第2重み正規化工程(ステップS3g)と、合成工程(ステップS4)と、を含む。
例えば、ステップS0において、基準フレームIrefの画像と、入力フレームIsrcの画像と、を取得する。
ステップS1lは、例えば、ローカルモーション推定部10において行われる。ステップS1lにおいて、基準フレームIrefの画像の位置に対する、入力フレームIsrcの画像の位置の動きを表すベクトル(動きベクトル)が算出される。ステップS1lにおいては、ローカルモーションに対応した動きベクトルが算出される。例えば、入力フレームIsrcの画像が複数の領域(ブロック)に分割される。それぞれのブロックの形状は、例えば、矩形である。基準フレームIrefの画像内から、それぞれのブロックが対応する部分が探索される。入力フレームIsrcにおけるブロックの位置と、基準フレームIrefにおける探索された部分の位置と、の差から動きベクトルが検出される。
ブロックのそれぞれは、例えば、x軸方向に沿った長さM1とy軸方向に沿った長さM2とを有する。入力フレームIsrcの画像内で、例えば、x軸方向においてi番目に位置し、y軸方向においてj番目に位置するブロックの位置を(i、j)と表す。
ブロックごとに動きベクトルが推定される。例えば、平均絶対値差分(Mean Absolute Difference:MAD)などの誤差関数が用いられる。MADは、
と表される。動きベクトルは、
と表される。「T」は転置を表す。誤差関数には、平均二乗誤差(Maen Squared Error)を用いてもよい。
と表される。動きベクトルは、
と表される。「T」は転置を表す。誤差関数には、平均二乗誤差(Maen Squared Error)を用いてもよい。
入力フレームIsrcのブロックに対応する部分を、基準フレームIrefの画像から探索するアルゴリズム(ブロックマッチングアルゴリズム)は、以下の式によって表される。
探索範囲を−WからWまでの矩形領域としている。例えば、探索範囲は、−W≦x≦Wかつ−W≦y≦Wの領域である。ベクトルuLM(i、j)は、位置(i、j)に位置するブロックのローカルモーションに対応した動きベクトルである。
は、誤差関数Eを最小にするux及びuyを探すことを表す。ブロック内のそれぞれの画素の動きベクトルuLM(x、y)は、ブロックの動きベクトルと同一であるとする。すなわち、
である。
探索範囲を−WからWまでの矩形領域としている。例えば、探索範囲は、−W≦x≦Wかつ−W≦y≦Wの領域である。ベクトルuLM(i、j)は、位置(i、j)に位置するブロックのローカルモーションに対応した動きベクトルである。
は、誤差関数Eを最小にするux及びuyを探すことを表す。ブロック内のそれぞれの画素の動きベクトルuLM(x、y)は、ブロックの動きベクトルと同一であるとする。すなわち、
である。
例えば、動きベクトルは、上記の方法で検出されなくても良い。例えば、MPEG2のような動画像符号化における圧縮のために用いられている動きベクトルを用いても良い。圧縮動画像のデコーダによってデコードされた動きベクトルを用いてもよい。例えば、予め与えられた動きベクトルを記憶媒体から読み出しても良い。
ステップS1gは、例えば、グローバルモーション推定部20において行われる。ステップS1gにおいて、基準フレームIrefにおける画像の位置に対する、入力フレームIsrcにおける画像の位置の動きを表すパラメータが算出される。ステップS1gにおいては、グローバルモーションに対応したパラメータが算出される。画面全体の動きを表現したパラメトリックモーションが求められる。例えば、パラメトリックモーションは、LucasKanade法を用いて求められる。これにより、動きベクトルが求められる。
パラメトリックモーションは、パラメータ化された射影によって動きを表現する。例えば、アフィン変換を用いて、座標(x、y)の動きは、以下のように表される。
ベクトルa=(a0、a1、a2、a3、a4、a5)Tが動きを表すパラメータである。
ベクトルa=(a0、a1、a2、a3、a4、a5)Tが動きを表すパラメータである。
動きベクトルuGM(x、y)は、
と表される。これにより、任意の座標位置における動きベクトルを求めることができる。 例えば、パラメトリックモーションは別の方法を用いて求めても良い。2つのフレーム(例えば、基準フレームIrefと入力フレームIsrc)のそれぞれにおいて、画像内の特徴的な点(特徴点)を算出する。基準フレームIrefの画像における特徴点と、入力フレームIsrcの画像における特徴点とを対応づける。これにより、パラメトリックモーションを求めても良い。
と表される。これにより、任意の座標位置における動きベクトルを求めることができる。 例えば、パラメトリックモーションは別の方法を用いて求めても良い。2つのフレーム(例えば、基準フレームIrefと入力フレームIsrc)のそれぞれにおいて、画像内の特徴的な点(特徴点)を算出する。基準フレームIrefの画像における特徴点と、入力フレームIsrcの画像における特徴点とを対応づける。これにより、パラメトリックモーションを求めても良い。
ステップS2lにおいては、ステップS1lにおいて算出された動きベクトルに基づいて、入力フレームIsrcが第1蓄積バッファ30に蓄積される。例えば、ステップS2lは、第1スケーリング工程(ステップS2l1)と、第1座標算出工程(ステップS2l2)と、第1蓄積工程(ステップS2l3)と、第1重み蓄積工程(ステップS2l4)と、を含む。
ステップS2l1において、ステップS1lで算出した動きベクトルのスケールを変換する。例えば、動きベクトルは、入力フレームIsrcと同じ解像度を有する。動きベクトルの解像度を、第1蓄積フレームLMの解像度に変換する。変換は、
によって表される。ベクトルULM(x、y)は、スケール変換された動きベクトルである。ρは、入力フレームIsrcの解像度に対する、第1蓄積フレームLMの解像度の比である。
によって表される。ベクトルULM(x、y)は、スケール変換された動きベクトルである。ρは、入力フレームIsrcの解像度に対する、第1蓄積フレームLMの解像度の比である。
ステップS2l2においては、入力フレームIsrcの画素の値Isrc(x、y)を蓄積する位置(第1蓄積座標)を決める。スケール変換された動きベクトルを用いて蓄積する位置が表される。第1蓄積フレームLMにおける、入力フレームIsrcの画素の値Isrc(x、y)が蓄積される位置は、
と、表される。ρは、入力フレームIsrcの解像度に対する、第1蓄積フレームLMの解像度の比である。
と、表される。ρは、入力フレームIsrcの解像度に対する、第1蓄積フレームLMの解像度の比である。
ステップS2l3において、第1蓄積フレームLMに入力フレームIsrcの画素の値Isrc(x、y)が加算される。加算には、ステップS2l2で求められた第1蓄積座標が用いられる。第1蓄積座標の要素のそれぞれは、少数の場合がある。画素の値Isrc(x、y)が蓄積される位置(第1近傍離散座標)は、
と表される。
は、第1蓄積座標の要素のそれぞれを四捨五入することを表す。
は第1近傍離散座標を表す。
と表される。
は、第1蓄積座標の要素のそれぞれを四捨五入することを表す。
は第1近傍離散座標を表す。
第1近傍離散座標において、入力フレームIsrcの画素の値Isrc(x、y)が加算されることで、蓄積が実施される。すなわちBLM(XLM、YLM)+=Isrc(x、y)の計算を実施する。z+=aは、aをzに加算することを表す。入力フレームIsrcの画素の値は、第1蓄積バッファ30に記憶された第1蓄積フレームLMに蓄積される。
ステップS2l4において、第1蓄積重みバッファ31に重みの情報が蓄積される。すなわち、WLM(XLM、YLM)+=1.0の計算が行われる。重みは、複数の入力フレームが加算された回数に応じて定められる。
例えば、第1蓄積フレームLMにおいては、画素によって蓄積された重み(回数)が異なる。ステップS2l4では、第1蓄積フレームLMの画素が有する値を、第1蓄積重みバッファ31に蓄積された重みの情報で除する。
これにより、蓄積の重みで正規化された第1蓄積出力フレーム(第1蓄積出力画像)が得られる。OLM(X、Y)は、第1蓄積出力フレームの座標(X、Y)に位置する画素が有する値を表す。すなわち、第1蓄積フレームLM(第1処理画像)の画素のそれぞれについての重みに基づいて、第1蓄積フレームLMから第1蓄積出力画像が算出される。
これにより、蓄積の重みで正規化された第1蓄積出力フレーム(第1蓄積出力画像)が得られる。OLM(X、Y)は、第1蓄積出力フレームの座標(X、Y)に位置する画素が有する値を表す。すなわち、第1蓄積フレームLM(第1処理画像)の画素のそれぞれについての重みに基づいて、第1蓄積フレームLMから第1蓄積出力画像が算出される。
ステップS2gにおいては、ステップS1gにおいて算出された動きベクトルに基づいて、入力フレームIsrcが第2蓄積バッファ35に蓄積される。例えば、ステップS2gは、第2スケーリング工程(ステップS2g1)と、第2座標算出工程(ステップS2g2)と、第2蓄積工程(ステップS2g3)と、第2重み蓄積工程(ステップS2g4)と、を含む。
ステップS2g1において、ステップS1gで算出した動きベクトルのスケールを変換する。例えば、第2蓄積バッファ35に蓄積される第2蓄積フレームGMの解像度と、入力フレームIsrcの解像度と、は、異なる場合がある。例えば、動きベクトルの解像度は、入力フレームIsrcの解像度と、同じである。動きベクトルの解像度を、第2蓄積フレームGMの解像度に変換する。変換は、
によって表される。ベクトルUGM(x、y)は、スケール変換された動きベクトルである。ρは、入力フレームIsrcの解像度に対する、第2蓄積フレームGMの解像度の比である。
によって表される。ベクトルUGM(x、y)は、スケール変換された動きベクトルである。ρは、入力フレームIsrcの解像度に対する、第2蓄積フレームGMの解像度の比である。
ステップS2g2においては、入力フレームの画素の値Isrc(x、y)を蓄積する位置(第2蓄積座標)を決める。スケール変換された動きベクトルを用いて蓄積する位置が表される。第2蓄積フレームGMにおける、入力フレームの画素の値Isrc(x、y)が蓄積される位置は、
と、表される。ρは入力フレームIsrcの解像度に対する、第2蓄積フレームGMの解像度の比である。
と、表される。ρは入力フレームIsrcの解像度に対する、第2蓄積フレームGMの解像度の比である。
ステップS2g3において、第2蓄積フレームGMに入力フレームの画素の値Isrc(x、y)を蓄積する。蓄積には、ステップS2g2で求められた第2蓄積座標が用いられる。第2蓄積座標の要素のそれぞれは、少数の場合がある。画素の値Isrc(x、y)が蓄積される位置(第2近傍離散座標)は、
とあらわされる。
は、第2蓄積座標の要素のそれぞれを四捨五入することを表す。
は第2近傍離散座標を表す。
とあらわされる。
は、第2蓄積座標の要素のそれぞれを四捨五入することを表す。
は第2近傍離散座標を表す。
第2近傍離散座標において、入力フレームの画素の値Isrc(x、y)が加算されることで、蓄積が実施される。すなわち、BGM(XGM、YGM)+=Isrc(x、y)が計算される。
ステップS2g4においては、第2蓄積重みバッファ36に重みの情報が蓄積される。すなわち、WGM(XGM、YGM)+=1.0が計算される。
ステップS3gでは、第2蓄積フレームGMの画素が有する値を、第2蓄積重みバッファ36に蓄積された重みの情報で除する。
これにより、蓄積の重みで正規化された第2蓄積出力フレーム(第2蓄積出力画像)が得られる。OGM(X、Y)は、第2蓄積出力フレームの座標(X、Y)に位置する画素が有する値を表す。すなわち、第2蓄積フレームGM(第2処理画像)の画素のそれぞれについての重みに基づいて、第2蓄積フレームGMから第2蓄積出力画像が算出される。
これにより、蓄積の重みで正規化された第2蓄積出力フレーム(第2蓄積出力画像)が得られる。OGM(X、Y)は、第2蓄積出力フレームの座標(X、Y)に位置する画素が有する値を表す。すなわち、第2蓄積フレームGM(第2処理画像)の画素のそれぞれについての重みに基づいて、第2蓄積フレームGMから第2蓄積出力画像が算出される。
この例では、第1蓄積フレームLMの解像度と、第2蓄積フレームGMの解像度と、は、同じである。第1蓄積フレームLMの解像度と、第2蓄積フレームGMの解像度と、は、互いに異なっていてもよい。第1蓄積フレームLMの解像度と、第2蓄積フレームGMの解像度と、が互いに異なる場合には、例えば、少なくともいずれかの解像度を、出力フレームの解像度に変換するステップが設けられる。
ステップS4において、第1蓄積出力フレームと第2蓄積出力フレームと基準フレームIrefとを用いて、最終的に出力される出力フレームO(X、Y)が求められる。
図4は、実施形態に係る画像処理方法を例示する模式図である。
図4は、ステップS4におけるフレームの合成の処理を例示している。例えば、図4に表したように、出力フレームの画素の値O(X、Y)は、第1蓄積出力フレームの画素の値OLM(X、Y)、第2蓄積出力フレームの画素の値OGM(X、Y)及び基準フレームの画素の値Iref(x、y)のそれぞれと、出力フレームの画素の値O(X、Y)との差が小さくなるように決められる。
第1蓄積フレームLMに対する出力フレームの誤差(第1誤差)が小さくなるように出力フレームが算出される。また、入力フレームに対すると出力フレームの誤差(第2誤差)が小さくなるように出力フレームが算出されても良い。
図4は、ステップS4におけるフレームの合成の処理を例示している。例えば、図4に表したように、出力フレームの画素の値O(X、Y)は、第1蓄積出力フレームの画素の値OLM(X、Y)、第2蓄積出力フレームの画素の値OGM(X、Y)及び基準フレームの画素の値Iref(x、y)のそれぞれと、出力フレームの画素の値O(X、Y)との差が小さくなるように決められる。
第1蓄積フレームLMに対する出力フレームの誤差(第1誤差)が小さくなるように出力フレームが算出される。また、入力フレームに対すると出力フレームの誤差(第2誤差)が小さくなるように出力フレームが算出されても良い。
差は、例えば、以下の式(評価関数1)を用いて評価される。
評価関数1:
は、L2ノルムを表す。xがベクトルの場合は、xの各要素の2乗の和を表す。xがスカラーの場合、xの2乗を表す。出力フレームにおける画像の全体をOと表す。適切な出力フレームにおける画像の全体を、
と表す。
評価関数1:
は、L2ノルムを表す。xがベクトルの場合は、xの各要素の2乗の和を表す。xがスカラーの場合、xの2乗を表す。出力フレームにおける画像の全体をOと表す。適切な出力フレームにおける画像の全体を、
と表す。
例えば、出力画像は、第1位置(例えば、座標(X、Y))に配置された第1画素を含む。第1蓄積出力画像の第1位置に配置された画素の値OLM(X、Y)と第1画素の値との差O(X、Y)(第1差)と、第2蓄積出力画像の第1位置に配置された画素の値OGM(X、Y)と第1画素の値O(X、Y)との差(第2差)と、に基づいて、出力画像の誤差が評価される。誤差が小さくなるように適切な出力フレームが算出される。
出力画像は、第1画素に隣接する(周辺の)第2画素を含む。第2画素の座標は、例えば、(X−1、Y)である。第1差と、第2差と、第2画素の値O(X−1、Y)と第1画素の値O(X、Y)との差(第3差)と、に基づいて誤差が算出される。
適切な出力フレームは、以下の式(評価関数3)によって、求められても良い。
評価関数3:
ここで、
は、L1ノルムを表す。xがベクトルの場合には、xの各要素の絶対値の和を表す。xがスカラーの場合は、xの絶対値を表す。これらを最小化して出力フレームを求めるには、最急降下法などの反復解法を用いればよい。これにより、例えば、適切な出力フレームを求める際に、外れ値の影響を小さくすることができる。外れ値に対してロバストになる。
評価関数3:
ここで、
は、L1ノルムを表す。xがベクトルの場合には、xの各要素の絶対値の和を表す。xがスカラーの場合は、xの絶対値を表す。これらを最小化して出力フレームを求めるには、最急降下法などの反復解法を用いればよい。これにより、例えば、適切な出力フレームを求める際に、外れ値の影響を小さくすることができる。外れ値に対してロバストになる。
例えば、第1蓄積フレームLMの画素の値OLM(X、Y)、及び、第2蓄積フレームGMの画素の値OGM(X、Y)には、誤差が含まれている場合があり、100%信頼することはできない。誤差は、例えば、動きベクトルの推定において生じる。適切な出力フレームを求める際に、誤差を重みとして考慮しても良い。例えば、動きベクトルの推定において誤差が生じていない場合、第1蓄積出力フレームと、基準フレームIrefとの差は、ノイズの分布に従う。例えば、第2蓄積出力フレームと基準フレームIrefとの差は、ノイズの分布に従う。
wLM(X、Y)は、座標(X、Y)の位置において、第1蓄積出力フレームと基準フレームIrefとの差を示す関数である。wGM(X、Y)は、座標(X、Y)の位置において、第2蓄積出力フレームと基準フレームIrefとの差を示す関数である。wLM(X、Y)、及びwGM(X、Y)のそれぞれは、0から1までの範囲のいずれかの値を有する。例えば、この値が小さいときには、動きベクトルの推定において誤差が生じている場合がある。σは、ノイズの標準偏差である。例えば、誤差を重みとして考慮すると、評価関数1は、
となる。同様に、評価関数2及び評価関数3においても、誤差を重みとして考慮してもよい。
wLM(X、Y)は、座標(X、Y)の位置において、第1蓄積出力フレームと基準フレームIrefとの差を示す関数である。wGM(X、Y)は、座標(X、Y)の位置において、第2蓄積出力フレームと基準フレームIrefとの差を示す関数である。wLM(X、Y)、及びwGM(X、Y)のそれぞれは、0から1までの範囲のいずれかの値を有する。例えば、この値が小さいときには、動きベクトルの推定において誤差が生じている場合がある。σは、ノイズの標準偏差である。例えば、誤差を重みとして考慮すると、評価関数1は、
となる。同様に、評価関数2及び評価関数3においても、誤差を重みとして考慮してもよい。
出力フレームを求める際に、第1蓄積フレームLMの重みと第2蓄積フレームGMの重みとを適宜変更しても良い。例えば、画像の明るさによって、重みを変更してもよい。例えば、明るい画像を撮像する場合には、第1蓄積フレームLMが優先される。例えば、画像のテクスチャ(画像内における明るさの変化の仕方)によって、重みを変更してもよい。例えば、画像内における明るさの変化が緩やかな場合(遠景を撮影した場合など)には、第2蓄積フレームGMが優先される。
第1蓄積フレームLM及び第2蓄積フレームGMのそれぞれには、複数の入力フレームIsrcが加算されている。これにより、例えば、第1蓄積フレームLM及び第2蓄積フレームGMのそれぞれにおいて、画像の画質が向上する。本実施形態においては、第1蓄積フレームLMと、第2蓄積フレームGMとが合成される。これにより、出力フレームの画質が向上する。
例えば、ローカルモーションに対応した蓄積フレーム(例えば、第1蓄積フレーム)を用いず、グローバルモーションに対応した蓄積フレーム(例えば、第2蓄積フレーム)を用いる第1の参考例の画像処理装置がある。この参考例においては、複数の入力フレームIsrcが加算され、蓄積される。これにより、ノイズが低減される。この参考例は、例えば、手ぶれの動きを対象としている。そのため、画面全体を回転と並進のパラメータで表現したグローバルモーションを推定する。一方、入力フレームIsrcを加算する際に、画面内の局所的な動き(例えば、人の動きなど)に対応できない場合がある。画面内の局所的な動きによってノイズが生じる場合がある。
例えば、グローバルモーションに対応した蓄積フレームを用いず、ローカルモーションに対応した蓄積フレームを用いる第2の参考例の画像処理装置がある。第2の参考例においては、ローカルモーションが推定される。推定されたローカルモーションに基づいて、蓄積フレームに入力フレームIsrcが加算される。これにより、例えば、画面内の局所的な動きに対応することができる。一方、ローカルモーションの推定においては、例えば、画面全体を複数の領域に分割する。分割された1つの領域における動きの推定に使われる画素は、画面全体の画素数よりも少ない。ローカルモーションは推定に使える画素数がグローバルモーションに比べると少ない。これにより、ローカルモーションの推定は、精度が低い場合がある。第2の参考例においては、入力フレームIsrcの加算(蓄積)に失敗する場合がある。
これに対して、本実施形態に係る画像処理装置においては、ローカルモーションに対応した第1蓄積フレームと、グローバルモーションに対応した第2蓄積フレームと、の両方が出力フレームに用いられる。これにより、画面内の局所的な動きに対応し、高精度に加算された出力フレームを得ることができる。
例えば、出力フレームの算出において複数の入力フレームIsrcの合成が行われる第3の参考例の画像処理装置がある。第3の参考例の画像処理装置においては、複数の蓄積バッファが用いられる。複数の蓄積バッファのそれぞれに、複数の入力フレームIsrcが記憶される。出力フレームの算出の際に、複数の蓄積バッファのそれぞれに記憶された複数の入力フレームIsrcが読み出され、加算される。第3の参考例では、加算される入力フレームIsrcの数と同数の蓄積バッファが用いられる。多くの蓄積バッファを用意しなければならない場合がある。
これに対して、本実施形態に係る画像処理装置においては、第1蓄積バッファ30及び第2蓄積バッファ35のそれぞれには、時々刻々、入力フレームIsrcが加算される。出力フレームを算出する際には、入力フレームIsrcが既に加算された第1蓄積フレームLM及び、入力フレームIsrcが既に加算された第2蓄積フレームGMが読み出される。本実施形態は、入力フレームIsrcの数が多い場合においても、2つの蓄積バッファを用いて実施することができる。
(第2の実施形態)
図5は、第2の実施形態に係る画像処理装置を例示する模式図である。
図5に表した画像処理装置101は、算出部50と、出力部51と、を含む。算出部50は、第1動き推定部11aと、第2動き推定部11bと、第3動き推定部11cと、第1蓄積バッファ31aと、第2蓄積バッファ31bと、第3蓄積バッファ31cと、合成部40と、を含む。
図5は、第2の実施形態に係る画像処理装置を例示する模式図である。
図5に表した画像処理装置101は、算出部50と、出力部51と、を含む。算出部50は、第1動き推定部11aと、第2動き推定部11bと、第3動き推定部11cと、第1蓄積バッファ31aと、第2蓄積バッファ31bと、第3蓄積バッファ31cと、合成部40と、を含む。
図6は、第2の実施形態に係る画像処理方法を例示する模式図である。
図6に表したように、第2の実施形態に係る画像処理方法は、取得工程(ステップS0)と、第1動き推定工程(ステップS11)と、第2動き推定工程(ステップS12)と、第3動き推定工程(ステップS13)と、第1蓄積工程(ステップS21)と、第2蓄積工程(ステップS22)と、第3蓄積工程(ステップS23)と、第1重み正規化工程(ステップS31)と、第2重み正規化工程(ステップS32)と、第3重み正規化工程(ステップS33)と、合成工程(ステップS4)と、を含む。
図6に表したように、第2の実施形態に係る画像処理方法は、取得工程(ステップS0)と、第1動き推定工程(ステップS11)と、第2動き推定工程(ステップS12)と、第3動き推定工程(ステップS13)と、第1蓄積工程(ステップS21)と、第2蓄積工程(ステップS22)と、第3蓄積工程(ステップS23)と、第1重み正規化工程(ステップS31)と、第2重み正規化工程(ステップS32)と、第3重み正規化工程(ステップS33)と、合成工程(ステップS4)と、を含む。
ステップS0、ステップS11、ステップS12及びステップS13のそれぞれにおいては、第1の実施形態におけるステップS1lと同様の処理が行われ、動きベクトルが算出される。例えば、ステップS11、ステップS12及びステップS13のそれぞれにおいて、画像全体は、複数のブロックに分割される。例えば、それぞれのブロックは、矩形である。第1動き推定部11aにおけるそれぞれのブロックにおいては、例えば、縦の長さ及び横の長さは、それぞれ8画素分である。例えば、第2動き推定部11bにおけるそれぞれのブロックにおいては、縦の長さ及び横の長さは、それぞれ32画素分である。例えば、第3動き推定部11cにおけるそれぞれのブロックにおいては、縦の長さ及び横の長さは、それぞれ128画素分である。
例えば、ステップS11においては、第1動き推定部11aによって動きベクトルu1(x、y)が算出される。例えば、ステップS12においては、第2動き推定部11bによって動きベクトルu2(x、y)が算出される。例えば、ステップS13においては、第3動き推定部11cによって動きベクトルu3(x、y)が算出される。
ステップS21、ステップS22及びステップS23のそれぞれにおいては、第1の実施形態におけるステップS2lと同様の処理が行われ、入力フレームIsrcが蓄積される。例えば、第1蓄積バッファ31aには、第1蓄積フレーム32aが蓄積される。ステップS21において、第1蓄積フレーム32aに、動きベクトルu1(x、y)に基づいて、入力フレームIsrcが加算される。例えば、第2蓄積バッファ31bには、第2蓄積フレーム32bが蓄積される。ステップS22において、第2蓄積フレーム32bに、動きベクトルu2(x、y)に基づいて、入力フレームIsrcが加算される。例えば、第3蓄積バッファ31cには、第3蓄積フレーム32cが蓄積される。ステップS23において、第3蓄積フレーム32cに、動きベクトルu3(x、y)に基づいて、入力フレームIsrcが加算される。
ステップS31、ステップS32及びステップS33のそれぞれにおいて、第1の実施形態におけるステップS3lと同様の処理が行われる。例えば、ステップS31において第1蓄積フレーム32aから第1蓄積出力フレームO1(X、Y)が求められる。ステップS32において、第2蓄積フレーム32bから第2蓄積出力フレームO2(X、Y)が求められる。ステップS33において、第3蓄積フレーム32bから第3出力フレームO3(X、Y)が求められる。
ステップS4において、合成部40は、第1蓄積出力フレームO1(X、Y)、第2蓄積出力フレームO2(X、Y)、第3出力フレームO3(X、Y)及び基準フレームIrefを合成し、出力フレームを生成する。合成には、例えば、評価関数1を変形した以下の式が用いられる。
同様に、評価関数2、評価関数3または評価関数4を変形した式を用いても良い。生成された画像は、出力部51から出力される。
同様に、評価関数2、評価関数3または評価関数4を変形した式を用いても良い。生成された画像は、出力部51から出力される。
動き推定部において、画面全体が複数のブロックに分割される。分割されたそれぞれのブロックの大きさが小さい場合、画像内の細かい動きに対応することができる。ブロックの大きさが大きい場合、入力フレームIsrcを加算することで、ノイズが抑制される。本実施形態においては、3つの大きさのブロックが用いられる。これにより、細かい動きにも対応したノイズが抑制された画像を得ることができる。3つ以上の動き推定を組み合わせてもよい。
(第3の実施形態)
図7は、第3の実施形態に係る画像処理装置を例示する模式図である。
図7に表したように、画像処理装置102は、算出部50と、出力部51と、を含む。算出部50は、ローカルモーション推定部10と、グローバルモーション推定部20と、第1蓄積バッファ30と、第2蓄積バッファ35と、第1動き補償部37と、第2動き補償部38と、合成部40と、を含む。
図7は、第3の実施形態に係る画像処理装置を例示する模式図である。
図7に表したように、画像処理装置102は、算出部50と、出力部51と、を含む。算出部50は、ローカルモーション推定部10と、グローバルモーション推定部20と、第1蓄積バッファ30と、第2蓄積バッファ35と、第1動き補償部37と、第2動き補償部38と、合成部40と、を含む。
ローカルモーション推定部10、グローバルモーション推定部20、第1蓄積バッファ30、第2蓄積バッファ35、及び、出力部51については、画像処理装置100に関する説明と同様の説明を適用できる。
図8は、第3の実施形態に係る画像処理方法を例示する模式図である。
図8に表したように、第3の実施形態に係る画像処理方法は、取得工程(ステップS0)と、ローカルモーション推定工程(ステップS1l)と、第1蓄積工程(ステップS2l)と、第1重み正規化工程(ステップS3l)と、グローバルモーション推定工程(ステップS1g)と、第2蓄積工程(ステップS2g)と、第2重み正規化工程(ステップS3g)と、合成工程(ステップS4)と、第1動き補償工程(ステップS5l)と、第2動き補償工程(ステップS5g)と、を含む。
図8に表したように、第3の実施形態に係る画像処理方法は、取得工程(ステップS0)と、ローカルモーション推定工程(ステップS1l)と、第1蓄積工程(ステップS2l)と、第1重み正規化工程(ステップS3l)と、グローバルモーション推定工程(ステップS1g)と、第2蓄積工程(ステップS2g)と、第2重み正規化工程(ステップS3g)と、合成工程(ステップS4)と、第1動き補償工程(ステップS5l)と、第2動き補償工程(ステップS5g)と、を含む。
取得工程(ステップS0)と、ローカルモーション推定工程(ステップS1l)と、第1蓄積工程(ステップS2l)と、第1重み正規化工程(ステップS3l)と、グローバルモーション推定工程(ステップS1g)と、第2蓄積工程(ステップS2g)と、第2重み正規化工程(ステップS3g)については、第1の実施形態に関する説明と同様の説明を適用できる。
ステップS3lにおいて、例えば、第1蓄積バッファ30から、第1蓄積出力フレームOLM(X、Y)が出力される。ステップS3gにおいて、例えば、第2蓄積バッファ35から、第2蓄積出力フレームOGM(X、Y)が出力される。
入力フレームIsrcの画像は、加算される際に、基準フレームIrefの画像に対して位置が合わせられている。すなわち、第1蓄積出力フレームOLM(X、Y)の画像及び第2蓄積出力フレームOGM(X、Y)の画像は、基準フレームIrefが撮像された時刻と同時刻の画像に対応する。第1蓄積出力フレームOLM(X、Y)及び第2蓄積出力フレームOGM(X、Y)は、基準フレームIrefと時間的に同位相である。第1蓄積出力フレームOLM(X、Y)の画像及び第2蓄積出力フレームOGM(X、Y)の画像は、入力フレームIsrcが撮像された時刻とは異なる時刻の画像に対応する。
ステップS5lにおいて、第1蓄積出力フレームOLM(X、Y)における画像の位置を入力フレームIsrcにおける画像の位置に引き戻す(動き補償を行う)。すなわち、第1蓄積出力フレームOLM(X、Y)における画像の位置を、入力フレームIsrcにおける画像に位置に対して合わせる。これにより、第1動き補償画像が得られる。
ステップS5gにおいて、第2蓄積出力フレームOGM(X、Y)の動き補償を行う。すなわち、第2蓄積出力フレームOGM(X、Y)における画像の位置を、入力フレームIsrcにおける画像の位置に対して合わせる。これにより、第2動き補償画像が得られる。動き補償によって、第1蓄積出力フレームOLM(X、Y)、及び、第2蓄積出力フレームOGM(X、Y)は、入力フレームIsrcが撮像された時刻と同時刻の画像に変換される。
例えば、動きベクトルは、入力フレームIsrcから基準フレームIrefへの動きを表すベクトルである。動きベクトルを用いて、出力フレームの位置を引き戻すことで、出力フレームの時間的な位相を入力フレームIsrcの時間的な位相に合わせることができる。ステップS5lは、例えば、第1動き補償部37において、行われる。
第1動き(第1動き推定処理によって推定された基準フレームIrefに対する入力フレームIsrcの動き)に応じて、第1蓄積フレームから第1動きを補償した第1蓄積出力フレーム(第1動き補償画像)が導出される。
第2動き(第2動き推定処理によって推定された基準フレームIrefに対する入力フレームIsrcの動き)に応じて、第2蓄積フレームから第2動きを補償した第2蓄積出力フレーム(第2動き補償画像)が導出される。
第1動き(第1動き推定処理によって推定された基準フレームIrefに対する入力フレームIsrcの動き)に応じて、第1蓄積フレームから第1動きを補償した第1蓄積出力フレーム(第1動き補償画像)が導出される。
第2動き(第2動き推定処理によって推定された基準フレームIrefに対する入力フレームIsrcの動き)に応じて、第2蓄積フレームから第2動きを補償した第2蓄積出力フレーム(第2動き補償画像)が導出される。
入力フレームIsrcの座標(x、y)と、第1蓄積フレームの座標(X、Y)との関係は、次のようになっている。
座標(X、Y)における動きベクトルは、
と表される。ここで、Uxは、動きベクトルのx要素であり、Uyは、動きベクトルのy要素である。第1の実施形態で述べたように、動きベクトルは、離散的な画素の位置を表すベクトルであるため、
は、存在しない可能性がある。そこで、線形補間などを用いて動きベクトルを補間する。動き補償は、以下のように計算される。
第1蓄積出力フレームOLM(X、Y)は、離散的な画素の位置に対してのみ定義されている。そこで、例えば、線形補間などの補間を用いることで計算すればよい。
座標(X、Y)における動きベクトルは、
と表される。ここで、Uxは、動きベクトルのx要素であり、Uyは、動きベクトルのy要素である。第1の実施形態で述べたように、動きベクトルは、離散的な画素の位置を表すベクトルであるため、
は、存在しない可能性がある。そこで、線形補間などを用いて動きベクトルを補間する。動き補償は、以下のように計算される。
第1蓄積出力フレームOLM(X、Y)は、離散的な画素の位置に対してのみ定義されている。そこで、例えば、線形補間などの補間を用いることで計算すればよい。
ステップS5gにおいて、第2蓄積出力フレームOGM(X、Y)の動き補償が行われる。第2蓄積出力フレームOGM(X、Y)の動き補償は、ステップS5lにおける動き補償と同様の処理で行われる。ステップS5gは、例えば、第2動き補償部38において行われる。
ステップS4において、第1蓄積出力フレームOt LM(X、Y)(第1動き補償画像)、第2蓄積出力フレームOt GM(X、Y)(第2動き補償画像)及び入力フレームIsrcが合成される。合成は、例えば、合成部40において行われる。例えば、合成における誤差をL2ノルムを用いて評価する。評価関数1を変形した以下の式が用いられる。
これにより、出力フレームが算出さる。出力フレームは、出力部51から出力される。
これにより、出力フレームが算出さる。出力フレームは、出力部51から出力される。
第1蓄積出力画像は、第2画像の第2領域に対応する第5領域を含む。第2蓄積出力画像は、第2画像の第4領域に対応する第6領域を含む。第1ベクトルを用いて第1蓄積出力画像の位置を引き戻す。すなわち、第1蓄積出力画像における第5領域の位置を、第2画像における第2領域の位置に合わせる。これにより、第1動き補償画像を算出する。
第2ベクトルを用いて第2蓄積出力画像の位置を引き戻す。すなわち、第2蓄積出力画像における第6領域の位置を、第2画像における第4領域の位置に合わせる。これにより、第2動き補償画像を算出する。第1動き補償画像と第2動き補償画像と、を用いて出力画像が算出される。例えば、第2画像と、第1動き補償画像と、第2動き補償画像と、が合成された出力画像が算出される。
本実施形態においては、動き補償が行われる。これにより、出力フレームは、入力フレームIsrcが撮像された時刻と同時刻の画像に対応する。これにより、動画像を出力することができる。イメージセンサやテレビ映像から入力された複数の入力フレームIsrcを、高画質な動画として出力することができる。
(第4の実施形態)
図9は、第4の実施形態に係る画像処理装置を例示する模式図である。
図9に例示したコンピュータ装置200は、例えば、第1〜第3の実施形態に関して説明した画像処理が実施可能である。コンピュータ装置200は、例えば、画像処理装置である。
図9に表したコンピュータ装置200は、バス201と、制御部202と、主記憶部203と、補助記憶部204と、外部I/F205と、を含む。バス201に、制御部202と、主記憶部203と、補助記憶部204と、外部I/F205と、が接続されている。
図9は、第4の実施形態に係る画像処理装置を例示する模式図である。
図9に例示したコンピュータ装置200は、例えば、第1〜第3の実施形態に関して説明した画像処理が実施可能である。コンピュータ装置200は、例えば、画像処理装置である。
図9に表したコンピュータ装置200は、バス201と、制御部202と、主記憶部203と、補助記憶部204と、外部I/F205と、を含む。バス201に、制御部202と、主記憶部203と、補助記憶部204と、外部I/F205と、が接続されている。
補助記憶部204には、例えば、ハードディスク等が用いられる。外部I/F205には、例えば、記憶媒体206が接続されている。記憶媒体206には、例えば、CD−R、CD−RW、DVD−RAMまたはDVD−R等が用いられる。
例えば、主記憶部203または補助記憶部204には、画像処理装置100における処理を実行するためのプログラムが記憶されている。制御部202がプログラムを実行することによって、画像処理装置100における処理が実行される。画像処理装置100における処理の実行において、例えば、主記憶部203または補助記憶部204が、それぞれのフレームを記憶するバッファとして用いられる。
画像処理装置100における処理を実行するためのプログラムは、例えば、あらかじめ主記憶部203または補助記憶部204にインストールされる。プログラムは、記憶媒体206に記憶されていてもよい。この場合、例えば、プログラムは、コンピュータ装置200に適宜インストールされる。ネットワークを介してプログラムを取得してもよい。
(第5の実施形態)
図10は、第5の実施形態に係る撮像装置を例示する模式図である。
図10に表したように撮像装置210は、光学素子211と、撮像部(撮像素子)212と、主記憶部213と、補助記憶部214と、処理回路215と、表示部216と、出入力I/F217と、を含む。
図10は、第5の実施形態に係る撮像装置を例示する模式図である。
図10に表したように撮像装置210は、光学素子211と、撮像部(撮像素子)212と、主記憶部213と、補助記憶部214と、処理回路215と、表示部216と、出入力I/F217と、を含む。
光学素子211には、例えば、レンズなどが設けられる。被写体から撮像装置210へ向かう光の一部は、光学素子211を透過し、撮像部212へ入射する。撮像部212には、例えば、CMOSイメージセンサや、CCDイメージセンサなどが用いられる。光学素子211及び撮像部212によって、基準フレームIrefの画像や入力フレームIsrcの画像が撮像される。例えば、主記憶部213または補助記憶部214には、画像処理装置100における処理を実行するためのプログラムが予め記憶されている。処理回路215によってプログラムが実行され、画像処理装置100における処理が実行される。すなわち、この例では、主記憶部213、補助記憶部214及び処理回路215によって画像処理装置100が実現される。画像処理装置100における処理の実行において、例えば、主記憶部213または補助記憶部214が、それぞれのフレームを記憶するバッファとして用いられる。画像処理装置100における処理によって、出力フレームが出力される。例えば、出力フレームは、出入力I/F217を介して表示部216において表示される。
すなわち、撮像装置210は、例えば、上記の実施形態に係るいずれかの画像処理装置と、撮像212と、を含む。撮像部212は、例えば、画像処理装置が取得する画像情報(例えば、基準フレーム、入力フレーム、第1画像及び第2画像など)を取得する。
すなわち、撮像装置210は、例えば、上記の実施形態に係るいずれかの画像処理装置と、撮像212と、を含む。撮像部212は、例えば、画像処理装置が取得する画像情報(例えば、基準フレーム、入力フレーム、第1画像及び第2画像など)を取得する。
本発明の実施形態によれば、高画質の画像を生成する画像処理装置、画像処理方法及び撮像装置が提供される。
以上、具体例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明は、これらの具体例に限定されるものではない。例えば、入力フレーム、基準フレーム、蓄積フレーム、算出部、ローカルモーション推定部、グローバルモーション推定部、第1蓄積バッファ、第2蓄積バッファ、合成部及び出力部などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。
また、各具体例のいずれか2つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
また、各具体例のいずれか2つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
その他、本発明の実施の形態として上述した画像処理装置、画像処理方法及び画像処理プログラムを基にして、当業者が適宜設計変更して実施し得る全ての画像処理装置、画像処理方法及び画像処理プログラムも、本発明の要旨を包含する限り、本発明の範囲に属する。
その他、本発明の思想の範疇において、当業者であれば、各種の変更例、及び修正例に想到し得るものであり、それら変更例、及び修正例についても本発明の範囲に属するものと了解される。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…ローカルモーション推定部、 11a…第1動き推定部、 11b…第2動き推定部、 11c…第3動き推定部、 20…グローバルモーション推定部、 30…第1蓄積バッファ、 31…第1蓄積重みバッファ、 31a…第1蓄積バッファ、 31b…第2蓄積バッファ、 31c…第3蓄積バッファ、 32a…第1蓄積フレーム、 32b…第2蓄積フレーム、 32c…第3蓄積フレーム、 35…第2蓄積バッファ、 36…第2蓄積重みバッファ、 37…第1動き補償部、 38…第2動き補償部、 40…合成部、 50…算出部、 51…出力部、 100〜102…画像処理装置、 200…コンピュータ装置、 201…バス、 202…制御部、 203…主記憶部、 204…補助記憶部、 205…外部I/F、 206…記憶媒体、 210…撮像装置、 211…光学素子、 212…撮像部(撮像素子)、 213…主記憶部、 214…補助記憶部、 215…処理回路、 216…表示部、 217…出入力I/F、 GM…第1蓄積フレーム、 Io…出力フレーム、 Iref…基準フレーム、 Isrc…入力フレーム、 LM…蓄積フレーム、 O…出力フレーム、 O1…第1蓄積出力フレーム、 O2…第2蓄積出力フレーム、 O3…第3出力フレーム、 OGM…第2蓄積出力フレーム、 OLM…第1蓄積出力フレーム、 PI… 入力画像、 S11〜S13、S21〜S23、S31〜S33、S4、S2g1〜S2g4、S2l1〜S2l4、S1g〜S5g、S1l〜S3l…ステップ、 gm…グローバルモーション、 lm…ローカルモーション、 u1〜u3、uGM、uLM…ベクトル
Claims (16)
- 基準フレームと入力フレームとを含む画像情報を取得し、
第1動き推定処理を用いて前記基準フレームに対する前記入力フレームの第1動きを推定し、前記第1動きに基づいて前記入力フレームを前記基準フレームに蓄積した第1蓄積フレームを導出し、
前記第1動き推定処理とは異なる第2動き推定処理を用いて前記基準フレームに対する前記入力フレームの第2動きを推定し、前記第2動きに基づいて前記入力フレームを前記基準フレームに蓄積した第2蓄積フレームを導出し、
前記第1蓄積フレームと前記第2蓄積フレームとを用いて出力フレームを生成する、算出部を備えた画像処理装置。 - 前記算出部は、前記第1蓄積フレームに対する前記出力フレームの第1誤差が小さくなるように前記出力フレームを算出する請求項1記載の画像処理装置。
- 前記算出部は、前記第1誤差のL2ノルム及び前記第1誤差のL1ノルムの少なくともいずれかを用いて前記第1誤差を評価する請求項2記載の画像処理装置。
- 前記算出部は、前記入力フレームに対する前記出力フレームの第2誤差が小さくなるように前記出力フレームを算出する請求項1〜3のいずれか1つに記載の画像処理装置。
- 前記算出部は、
前記第1動きに応じて、前記第1蓄積フレームから前記第1動きを補償した第1蓄積出力フレームを導出し、
前記第2動きに応じて、前記第2蓄積フレームから前記第2動きを補償した第2蓄積出力フレームを導出し、
前記第1蓄積出力フレームと前記第2蓄積出力フレームとを用いて前記出力フレームを生成する請求項1記載の画像処理装置。 - 第1画像と、第2画像と、を取得し、
前記第1画像のうちの第1画像情報を含む第1領域の位置と、前記第2画像のうちの、前記第1画像情報に対応する第2画像情報を含む第2領域の位置と、の差に応じた第1ベクトルに基づいて、前記第2画像情報の少なくとも一部を前記第2画像内で移動させ、前記移動させた後の前記第2画像情報の前記少なくとも一部を前記第1画像に加算して第1処理画像を導出し、
前記第1画像のうちの第3画像情報を含む第3領域の位置と、前記第2画像のうちの、前記第3画像情報に対応する第4画像情報を含む第4領域の位置と、の差に応じた第2ベクトルに基づいて、前記第4画像情報の少なくとも一部を前記第2画像内で移動させ、前記移動させた後の前記第4画像情報の前記少なくとも一部を前記第1画像に加算して第2処理画像を導出し、
前記第1処理画像と前記第2処理画像とを用いて出力画像を生成する、算出部を備えた画像処理装置。 - 前記第4領域は、前記第2画像の全体である請求項6記載の画像処理装置。
- 前記第1処理画像の解像度は、前記第2画像の解像度よりも高い請求項6または7に記載の画像処理装置。
- 前記算出部は、
前記第1処理画像の画素のそれぞれについての重みに基づいて、前記第1処理画像から第1蓄積出力画像を算出し、
前記第2処理画像の画素のそれぞれについての重みに基づいて、前記第2処理画像から第2蓄積出力画像を算出し、
前記第1蓄積出力画像と、前記第2蓄積出力画像とを用いて前記出力画像を算出する請求項6〜8のいずれか1つに記載の画像処理装置。 - 前記算出部は、前記第1処理画像及び前記第2処理画像に複数の画像を加算し、
前記重みは、前記複数の画像が加算された回数に応じて定められる請求項9記載の画像処理装置。 - 前記出力画像は、前記出力画像内における第1位置に配置された第1画素を含み、
前記算出部は、
前記第1蓄積出力画像の前記第1位置に配置された画素の値と、前記第1画素の値と、の第1差と、
前記第2蓄積出力画像の前記第1位置に配置された画素の値と、前記第1画素の前記値と、の第2差と、に基づいて前記出力画像の誤差を評価する請求項9または10に記載の画像処理装置。 - 前記誤差は、前記第1差の要素のそれぞれの2乗の和と、前記第2差の要素のそれぞれの2乗の和と、を用いて算出される請求項11記載の画像処理装置。
- 前記誤差は、前記第1差の要素のそれぞれの絶対値の和と、前記第2差の要素のそれぞれの絶対値の和と、を用いて算出される請求項11記載の画像処理装置。
- 請求項1〜5のいずれか1つに記載の画像処理装置と、
前記入力フレームを撮像する撮像素子と、
を備えた撮像装置。 - 請求項6〜13のいずれか1つに記載の画像処理装置と、
前記第1画像を撮像する撮像素子と、
を備えた撮像装置。 - 基準フレームと入力フレームとを含む画像情報を取得する工程と、
第1動き推定処理を用いて前記基準フレームに対する前記入力フレームの第1動きを推定し、前記第1動きに基づいて前記入力フレームを前記基準フレームに蓄積した第1蓄積フレームを導出する工程と、
前記第1動き推定処理とは異なる第2動き推定処理を用いて前記基準フレームに対する前記入力フレームの第2動きを推定し、前記第2動きに基づいて前記入力フレームを前記基準フレームに蓄積した第2蓄積フレームを導出する工程と、
前記第1蓄積フレームと前記第2蓄積フレームとを用いて出力フレームを算出する工程と、
を備えた画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014021744A JP2015148965A (ja) | 2014-02-06 | 2014-02-06 | 画像処理装置、撮像装置及び画像処理方法 |
US14/612,584 US20150222920A1 (en) | 2014-02-06 | 2015-02-03 | Image processing device, imaging device, and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014021744A JP2015148965A (ja) | 2014-02-06 | 2014-02-06 | 画像処理装置、撮像装置及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015148965A true JP2015148965A (ja) | 2015-08-20 |
Family
ID=53755904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014021744A Pending JP2015148965A (ja) | 2014-02-06 | 2014-02-06 | 画像処理装置、撮像装置及び画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150222920A1 (ja) |
JP (1) | JP2015148965A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9843711B2 (en) | 2014-06-30 | 2017-12-12 | Kabushiki Kaisha Toshiba | Image processing device, image processing method, and image processing program |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017087751A1 (en) * | 2015-11-20 | 2017-05-26 | Mediatek Inc. | Method and apparatus for global motion compensation in video coding system |
-
2014
- 2014-02-06 JP JP2014021744A patent/JP2015148965A/ja active Pending
-
2015
- 2015-02-03 US US14/612,584 patent/US20150222920A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9843711B2 (en) | 2014-06-30 | 2017-12-12 | Kabushiki Kaisha Toshiba | Image processing device, image processing method, and image processing program |
Also Published As
Publication number | Publication date |
---|---|
US20150222920A1 (en) | 2015-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI455588B (zh) | 以雙向、局部及全域移動評估為基礎之框率轉換 | |
US9055217B2 (en) | Image compositing apparatus, image compositing method and program recording device | |
JP5385969B2 (ja) | 画像の超解像のための方法及び装置 | |
JP6236259B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
WO2013005316A1 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP6326180B1 (ja) | 画像処理装置 | |
KR20120072352A (ko) | 적응 필터링을 이용한 디지털 이미지 안정화 방법 | |
TWI408620B (zh) | 用以決定插補畫面之移動向量的影像處理方法及其相關裝置 | |
US20090115908A1 (en) | Method and System for Automatically Turning Off Motion Compensation When Motion Vectors are Inaccurate | |
US20140368682A1 (en) | Real-time image processing method and device | |
TWI490819B (zh) | 影像處理方法及其裝置 | |
JP6242742B2 (ja) | 画像処理装置、撮像装置及び画像処理方法 | |
JP6282133B2 (ja) | 撮像装置、その制御方法、および制御プログラム | |
JP2015148965A (ja) | 画像処理装置、撮像装置及び画像処理方法 | |
US8768066B2 (en) | Method for image processing and apparatus using the same | |
JP5448983B2 (ja) | 解像度変換装置及び方法、走査線補間装置及び方法、並びに映像表示装置及び方法 | |
JP6604783B2 (ja) | 画像処理装置、撮像装置および画像処理プログラム | |
US11195247B1 (en) | Camera motion aware local tone mapping | |
JP5351200B2 (ja) | 画像処理装置、画像処理システムおよび画像処理方法 | |
JP6854629B2 (ja) | 画像処理装置、画像処理方法 | |
JP5701733B2 (ja) | 画像処理装置、画像処理システムおよび画像処理方法 | |
JP5085762B2 (ja) | 画像処理装置および画像処理方法 | |
WO2016111239A1 (ja) | 映像処理装置、映像処理方法及びプログラム記録媒体 | |
JP6274778B2 (ja) | 画像処理方法、画像処理装置、及びコンピュータプログラム | |
JP5804801B2 (ja) | 画像処理装置、撮像装置、制御方法、及びプログラム |