(57)【要約】【課題】１画面を複数個のブロックに分割して、ブロック単位に処理する場合においても、処理後の画像において、ブロック境界が目立たないようににした画像処理装置を提供する。【解決手段】１画面分の画像を複数個に分割したブロック単位で、画像について所定の画像処理を行ない、１画面分単位の処理後画像情報を出力する画像処理手段１０００と、１画面分の画像を複数個に分割して、ブロック単位の画像を生成し、生成したブロック単位の画像情報を画像処理手段１０００に渡すものであって、１画面上でのブロックの分割位置を、１画面毎に、異なる位置に変更するブロック分割手段１００５とを備える。【選択図】図１
2010016580.tif 000002
【特許請求の範囲】
【請求項１】
１画面分の画像を複数個に分割したブロック単位で、前記画像について所定の画像処理を行なう画像処理手段と、
前記１画面分の画像を複数個に分割して、前記ブロック単位の画像を生成し、生成したブロック単位の画像情報を前記画像処理手段に渡すものであって、前記１画面上での前記ブロックの分割位置を、１画面分の画像の処理を終了する毎に、異なる位置に変更するブロック分割手段と
を備える画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記画像処理手段は、
１画面分の画像情報からなるターゲット画像と、前記ターゲット画像とは異なる１画面分からなる参照画像との間において、前記ブロック毎に動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段で検出された前記ブロック毎の前記動きベクトルを用いて、前記参照画像の各ブロックを動き補償した動き補償画像を生成する動き補償手段と、
前記ターゲット画像と前記動き補償画像とを、前記ブロック単位で重ね合わせ、当該重ね合わせた後の加算画像を出力するようにする加算手段と、
を備える画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記画像処理手段では、
同じ１枚の前記ターゲット画像に対して、異なる２枚以上の参照画像を重ね合わせる
画像処理装置。
【請求項４】
請求項２に記載の画像処理装置において、
前記画像処理手段では、前記加算画像をターゲット画像として、異なる３枚以上の画像を重ね合わせる
画像処理装置。
【請求項５】
請求項１〜４のいずれかに記載の画像処理装置において、
前記画像情報は、撮像素子から所定のフレームレートで送出される撮像画像情報である
画像処理装置。
【請求項６】
請求項１〜４のいずれかに記載の画像処理装置において、
前記ブロック分割手段は、
前記１ブロックの範囲内において、黄金比率の割合で、前記ブロック分割の起点を変更する
画像処理装置。
【請求項７】
請求項１〜６のいずれかに記載の画像処理装置において、
前記ブロック単位は、水平方向の８画素および垂直方向の８ラインからなる矩形領域の画像とされる
画像処理装置。
【請求項８】
請求項１〜７のいずれかに記載の画像処理装置において、
前記ブロック分割手段では、分割ブロックの起点位置を１画像単位あるいは複数画素単位に変化することにより、ブロック分割位置を変更する
画像処理装置。
【請求項９】
１画面分の画像を複数個に分割したブロック単位で、前記画像について所定の画像処理を行い、１画面分単位の処理後画像情報を出力する画像処理工程と、
前記画像処理工程に先立ち、前記１画面分の画像を複数個に分割して、前記ブロック単位の画像を生成し、生成したブロック単位の画像情報を前記画像処理工程に渡す工程であって、前記１画面上での前記ブロックの分割位置を、１画面分の画像の処理を終了する毎に、異なる位置に変更するブロック分割工程と
を有する画像処理方法。
【請求項１０】
請求項９に記載の画像処理方法において、
１画面分の画像情報からなるターゲット画像と、前記ターゲット画像とは異なる１画面分からなる参照画像との間において、前記ブロック毎に動きベクトルを検出する動きベクトル検出工程と、
前記動きベクトル検出工程で検出された前記ブロック毎の前記動きベクトルを用いて、前記参照画像の各ブロックを動き補償した動き補償画像を生成する動き補償工程と、
前記ターゲット画像と前記動き補償画像とを、前記ブロック単位で重ね合わせ、当該重ね合わせた後の加算画像を出力するようにする加算工程と、
を備える画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、撮像素子からの撮像画像などの画像を処理する際に、１画面分の画像を複数個に分割したブロック単位で処理する画像処理装置および方法に関する。
【背景技術】
【０００２】
２つの画面間の動きベクトルを、画像情報自身から求めるブロックマッチング手法は、歴史の古い技術である。
【０００３】
このブロックマッチング手法は、注目画面である参照画面と、当該参照画面の動きの元となる元画面（ターゲット画面と称する）との間の２画面間の動きベクトルを算出する方法である。ブロックマッチング手法においては、所定の大きさの矩形領域のブロック（ターゲットブロックと参照ブロック）について、参照画面とターゲット画面との間での相関を算出することにより算出する。
【０００４】
ターゲット画面が時間的に参照画面よりも前の画面とされる場合と、参照画面が時間的にターゲット画面よりも前の画面とされる場合の両方がある。前者の例としては、例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）における動き検出の場合がある。また、後者の例としては、例えば、後述する画像フレームの重ね合わせによるノイズ低減の場合がある。
【０００５】
なお、この明細書で、画面とは、１フレームまたは１フィールドの画像データからなる画像を意味しているが、この明細書における以下の説明の便宜上、画面は１フレームからなるものとして、画面をフレームと称することとする。したがって、参照画面は参照フレーム、ターゲット画面はターゲットフレームと称することがある。
【０００６】
このブロックマッチングによる動きベクトル検出手法は、テレビジョンカメラのパン・チルト検出や被写体追尾、ＭＰＥＧ方式の動画符号化などを中心に開発が進んでいる。９０年代に入ってからは、画像の重ね合わせによるセンサレス手ブレ補正や低照度撮影時のノイズ除去（Ｎｏｉｓｅ  Ｒｅｄｕｃｔｉｏｎ：以降、ＮＲと表記する）などに応用されている（特許文献１（特開２００７−３３６１２１号公報）参照）。
【０００７】
画像重ね合わせによるＮＲ処理装置は、例えば、図８５に示すようなものとなり、ブロック分割処理部１００１と、画像処理部１０００とからなる。画像処理部１０００は、この例はＮＲ処理であるので、動きベクトル検出部１００２と、動き補償画生成部１００３と、画像加算部１００４とからなる。
【０００８】
ターゲットフレームの画像情報ＴＧおよび参照フレームの画像情報ＲＥＦは、ブロック分割処理部１００１に供給されて、例えば図８６に示すように、それぞれ１画面分が、水平方向にはｎ画素毎、垂直方向にはｍライン毎に分割される。その結果、１画面分の画像は、それぞれ、水平方向×垂直方向＝ｎ画素×ｍラインからなるブロックＢＫの複数個に分割される。
【０００９】
そして、ブロック分割処理部１００１からは、ターゲットフレームのブロック（以下、ターゲットブロックという）と、参照フレームのブロック（以下、参照ブロックという）とが、ブロック単位で、動きベクトル検出部１００２に順次供給される。
【００１０】
動きベクトル検出部１００２では、ターゲットブロックと参照ブロックとの間で、ブロックマッチングを行なって、ブロック単位の動きベクトルＭＶを検出する。
【００１１】
動きベクトル検出部１００２で検出されたブロック単位の動きベクトルＭＶは、動き補償画生成部１００３に供給される。また、参照ブロックも動きベクトル検出部１００２から動き補償画生成部１００３に供給される。
【００１２】
動き補償画生成部１００３では、動きベクトルを用いて参照ブロックを動き補償した動き補償画ブロックを生成する。動き補償画は、動きベクトルを用いて、動きを除去した画像としたものである。
【００１３】
そして、ブロック分割処理部１００１からのターゲットブロックの画像情報と、動き補償画生成部１００３からの動き補償画ブロックの画像情報ＭＶＶとが画像加算部１００４に供給される。画像加算部１００４では、ターゲットブロックの画像情報と、動き補償画生成部１００３からの動き補償画ブロックとを重ね合わせる。重ね合わされた結果の加算画像は、画像加算部１００４から出力され、例えば画像メモリに格納されたり、記録媒体に記録されたりされる。
【００１４】
以上の処理が、１画面の全てのブロックについて繰り返し実行される。そして、１画面のすべてのブロックについての処理が終了すると、ブロック分割処理部１００１には、新たなターゲットフレームの画像情報ＴＧと、参照フレームの画像情報ＲＥＦとが供給されて、上述の処理が繰り返される。
【００１５】
重ね合わせた画像は、画像そのものは、動き補償により同じ画像となるはずであるので、より強調される。一方、ノイズはランダムであるので、重ね合わせにより相殺される。これにより、重ね合わせた画像は、ノイズ低減されたものとなる。
【００１６】
上記の特許文献は、次の通りである。
【特許文献１】特開２００７−３３６１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、１画面を分割したブロック単位で画像の重ね合わせを行なうために、ブロック単位の画像の境界が目立つことがある。特に、３枚以上の複数枚のフレームの画像を重ね合わせてＮＲ処理して出力画を得る場合において、２枚のフレームの画像を重ね合わせた加算結果の画像をターゲットフレームとし、次のフレームを参照画像として画像を重ね合わせる場合が問題である。
【００１８】
すなわち、最初の２枚を重ね合わせる処理を処理１、その後、重ね合わせた画像をターゲット画像とし、３フレーム目以降を参照画像として重ね合わせる処理を処理２としたとき、処理２を繰り返す毎に、ブロックの境界が目立つことがある。
【００１９】
例えば、処理１での重ね合わせ結果の画像において、図８７（Ａ）に示すように、ブロック境界Ｂｄが薄く残ってしまった場合、処理２を実行すると、同一位置にブロック境界Ｂｄが重なることにより、図８７（Ｂ）に示すように、徐々に濃く残るものとなってしまう。
【００２０】
このようなブロック境界は、画像の重ね合わせに限らず、画像処理部１０００において、１画面を複数個のブロックに分割して、ブロック単位に処理する場合に、生じるおそれがある。
【００２１】
この発明は、以上の点にかんがみ、１画面を複数個のブロックに分割して、ブロック単位に処理する場合においても、処理後の画像において、ブロック境界が目立たないようににした画像処理装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記の課題を解決するために、請求項１の発明においては、
１画面分の画像を複数個に分割したブロック単位で、前記画像について所定の画像処理を行ない、１画面分単位の処理後画像情報を出力する画像処理手段と、
前記１画面分の画像を複数個に分割して、前記ブロック単位の画像を生成し、生成したブロック単位の画像情報を前記画像処理手段に渡すものであって、前記１画面上での前記ブロックの分割位置を、１画面毎に、異なる位置に変更するブロック分割手段と
を備える画像処理装置を提供する。
【００２３】
この請求項１の発明においては、１画面上での前記ブロックの分割位置を、１画面毎に、異なる位置に変更するので、ブロック分割位置が目立たなくなる。
【発明の効果】
【００２４】
この発明によれば、１画面上での前記ブロックの分割位置を、１画面毎に、異なる位置に変更するので、ブロック分割位置が目立たなくなる。
【発明を実施するための最良の形態】
【００２５】
以下、この発明による画像処理装置および画像処理方法の実施形態を、図を参照しながら説明する。
【００２６】
［第１の実施形態］
図１は、前述の背景技術で説明したＮＲ処理に、この発明による画像処理装置を適用した場合の実施形態の、概略的な構成例を示すブロック図である。この図１においては、上述した図８５と同一部分には、同一符号を付してある。
【００２７】
この実施形態においては、ブロック分割処理部１００１に対して分割位置シフト制御部１００５が接続される。この分割位置シフト制御部１００５には、タイミング信号発生部１００６からのフレーム周期のタイミング信号ＦＬｖが供給される。このフレーム周期のタイミング信号ＦＬｖは、ターゲットフレームおよび参照フレームに同期していることは勿論である。
【００２８】
なお、画像処理部１０００の動きベクトル検出部１００２、動き補償画生成部１００３、画像加算部１００４の動作を制御する制御部（図示を省略）にも、タイミング信号発生部１００６からのタイミング信号ＦＬｖに同期したタイミング信号が供給される。画像処理部１０００の各部は、制御部からの、タイミング信号に同期した制御信号より、制御されて処理を実行する。
【００２９】
分割位置シフト制御部１００５は、タイミング信号発生部１００６からのフレーム周期のタイミング信号ＦＬｖを受けて、分割ブロック位置を１フレーム毎に変更するように、ブロック分割処理部１００１における分割処理を制御する。
【００３０】
ブロック分割処理部１００１では、受け取ったターゲットフレームおよび参照フレームの画像情報について、最初は、図２（Ａ）に示すように、例えば左上隅を分割始点Ｐｏとして、水平方向には、ｎ画素毎に分割し、垂直方向には、ｍライン毎に分割する。
【００３１】
そして、このブロック分割処理部１００１での分割処理により生成された各ブロックＢｋ単位の画像情報は、順次に画像処理部１０００に供給される。画像処理部１０００においては、この例では、図８５の場合と同様にして、ブロックＢｋの単位で、動きベクトル検出処理、動き補償画生成処理および画像加算処理が順次になされる。
【００３２】
１フレーム分の全てのブロックＢｋについての上記の画像処理が、画像処理部１０００で終了すると、ブロック分割処理部１００１では、分割位置シフト制御部１００５の制御指示に基づき、画像分割を行なう始点を、始点Ｐｏから、始点Ｐａに変更する。そして、ブロック分割処理部１００１では、受け取った２枚目のターゲットフレームおよび参照フレームの画像情報について、図２（Ｂ）に示すように、分割始点Ｐａを起点として、水平方向には、ｎ画素毎に分割し、垂直方向には、ｍライン毎に分割する。すなわち、この実施形態では、ブロックＢｋのサイズは、変更はしない。
【００３３】
このとき、図２（Ｂ）において、影線を付して示すように、元の１フレームの画像領域の画枠をはみ出す領域を含むブロックについては、当該画枠をはみ出す領域部分を除く画像領域のみを画像処理の対象として、ブロックの大きさを変えるようにする。
【００３４】
あるいは、元の１フレームの画像領域の画枠をはみ出す領域の画素データを補間して生成して、元の１フレームの画像領域の画枠をはみ出す領域を含むブロックも、画像処理の際のブロックの大きさは変えないようにしても良い。
【００３５】
さらには、元の１フレームの画像領域の画枠をはみ出す領域を含むブロックについては、画像処理の対象外とするようにしても良い。
【００３６】
こうして、２枚目のターゲットフレームおよび参照フレームの画像情報については、最初の分割始点Ｐｏとは異なる分割始点Ｐａを起点として、ブロック分割され、その分割されたブロックについて、画像処理部１０００で、上述した画像処理がなされる。
【００３７】
３枚目以降のターゲットフレームおよび参照フレームの画像情報についても、さらに、異なる分割始点を基点として、ブロックサイズを変えることなく、ブロック分割される。そして、その分割されたブロックについて、画像処理部１０００で、上述した画像処理がなされる。
【００３８】
なお、ブロック分割の分割始点の位置の変更は、１つのブロック内で行うようにするものである。
【００３９】
以上のようにして、この実施形態では、１フレーム毎に、画面のブロック分割位置が変更されるので、重ね合わせた画像においては、ブロックの境界を目立たなくすることができる。
【００４０】
特に、最初の２枚を重ね合わせる処理を処理１、その後、重ね合わせた画像をターゲット画像とし、３フレーム目以降を参照画像として重ね合わせる処理を処理２としたとき、処理２を繰り返したとしても、ブロックの境界が目立つのを防止できる。
【００４１】
すなわち、従来の場合には、ブロック分割位置が固定であったため、処理１での重ね合わせ結果の画像において、ブロック境界Ｂｄが薄く残ってしまった場合図８７（Ｂ）のように、ブロックの境界が目立つことになる。
【００４２】
これに対して、この実施形態によれば、処理１の結果の画像に、図３（Ａ）に示すように、ブロック境界Ｂｄｏが薄く残ってしまった場合でも、処理２を実行したときには、薄く残るブロック境界Ｂｄｏとは異なる位置に薄く残るブロック境界Ｂｄａが表れる。このため、ブロック境界Ｂｄｏと、ブロック境界Ｂｄａとが重なることがなく、ブロック境界は、目立たなくなる。
【００４３】
［ブロック分割位置の変更制御の例］
次に、ブロック分割位置の変更制御の幾つかの例について説明する。以下に説明する例は、いずれも、ブロック分割の分割始点（分割起点）の位置を変更することにより、ブロック分割位置を変更制御する例である。
【００４４】
＜第１の例＞
第１の例は、図４（Ａ）において、矢印ＡＲで示すように、ブロック分割の分割始点を、フレーム画像の左上隅の最初の分割始点Ｐｏから、ブロックＢｋの対角線方向に移動させるようにする。そして、この第１の例においては、ブロックＢｋは、水平方向×垂直方向＝８画素×８ラインの大きさとし、１画面分の画像処理が終了する毎に、水平方向に１画素および垂直方向に１ラインだけ、分割始点を移動するようにする。
【００４５】
すなわち、最初のターゲットフレームについては、分割始点Ｐｏから水平方向８画素、垂直方向８ラインで、ブロック分割をするようにする。そして、ブロック単位での１フレーム分の画像処理が終了したら、次のターゲットフレームについては、図４（Ｂ）に示すように、分割始点Ｐｏを水平方向に１画素、垂直方向に１ラインだけずらした分割始点Ｐ１に設定する。そして、この分割始点Ｐ１を起点として水平方向８画素、垂直方向８ラインで、ブロック分割をするようにする。
【００４６】
次のターゲットフレームについては、図４（Ｃ）に示すように、分割始点Ｐ１をさらに、水平方向に１画素、垂直方向に１ライン、したがって、分割始点Ｐｏに対しては、水平方向に２画素、垂直方向に２ラインだけずらした分割始点Ｐ２に設定する。
【００４７】
以降、１画面分の画像処理が終了する毎に、水平方向に１画素および垂直方向に１ラインだけ、分割始点を移動するようにする。すなわち、ブロック分割の分割始点を、フレーム画像の左隅位置の画素座標を（０，０）とすると、画素単位の分割始点の遷移は、Ｐｏ→Ｐ１→Ｐ２→Ｐ３・・・→Ｐ７＝（０，０）→（１，１）→（２，２）→（３，３）・・・・→（７，７）となる。
【００４８】
そして、７フレーム目の分割始点Ｐ７の座標始点は、図４（Ｄ）に示すように、分割始点は、ブロックＢｋの対角線位置の頂点位置に相当する。そこで、その次のフレームでは、図４（Ａ）で点線矢印で示すように、最初の分割始点Ｐｏに戻る。以下、図４（Ａ）〜（Ｄ）を繰り返すようにする。
【００４９】
なお、１フレーム毎に、１画素および１ライン分だけずらすのではなく、１フレーム毎に、複数画素および複数ラインずつ、ずらすようにしても勿論よい。例えば、２画素×２画素ずつずらす場合には、分割始点の遷移は、Ｐｏ→Ｐ２→Ｐ４→Ｐ６→Ｐ１→Ｐ３→Ｐ５→Ｐ７＝（０，０）→（２，２）→（４，４）→（６，６）→（１，１）→（３，３）→（５，５）→→（７，７）となる。
【００５０】
＜第２の例＞
この例は、第１の例の変形である。第１の例では、水平方向の１画素、垂直方向の１ラインずつ、１フレーム分の画像情報の処理が終了して、次のフレームの処理を行なうときに、分割始点をずらすようにした。第２の例では、水平方向の１画素、垂直方向の１ラインずつではなく黄金比を考慮した分割始点のずらし方をするようにする。
【００５１】
ここで、黄金比とは、数学的に最も美しいとされる比率のことであり、（５１／２±１）／２≒１．６１８または０．６１８という数値である。この比率（１：１．６１８または１：０．６１８）は、自然界（花びらのつき方や、ひまわりの種の個数など）や古代物（パルテノン神殿や凱旋門）にも多く見られることは良く知られている。
【００５２】
黄金比で表された数値が数学的に美しいとされる理由の一つに、「０」から「１」までの区間を、黄金比率０．６１８ずつ加算していった場合、位相がきれいに分散されるという特徴がある。これは、ある一定の長さを黄金比率で連続的に印をつけた場合、全体的に偏りが無く印をつけることが可能であるということからも理解できる。
【００５３】
この黄金比の特徴を用いて、分割始点を順次にずらす方法が第２の例である。図５にその一例を示す。この図５の例では、１ブロックＢｋは、８画素×８ラインの矩形としている。
【００５４】
図５の例では、第１の例と同様に、矢印ＡＲで示す１ブロックの対角線方向に、分割始点を１フレーム毎にずらす。この場合において、この第２の例においては、図５（Ａ），（Ｂ），（Ｃ），（Ｄ）に示すように、対角線上の座標（０，０）から座標（７，７）までの間で、最初の分割始点Ｐｏ（座標は（０，０））から、黄金比率ずつ、分割始点を順次に変化させるようにする。
【００５５】
この場合、矩形の１ブロックの対角線の長さは三平方の定理より、８√２となる。この対角線の長さの黄金比倍は、（８√２×（√５−１)／２)≒７となる。そして、三平方の定理と相似形より、座標に置き換えると、（４．９，４，９）≒（５，５）となり、対角線上の座標（０，０）から（７，７）までの間で、水平方向に５画素ずつ、垂直方向に５ラインずつ、それぞれずらしてゆくことになる。
【００５６】
ブロック分割の分割始点Ｐｏを前述したように、フレーム画像の左隅位置として、その画素座標を（０，０）とすると、画素単位の分割始点の遷移は、例えば、Ｐｏ→Ｐ１→Ｐ２→Ｐ３→Ｐ４→Ｐ５→Ｐ６→Ｐ７→Ｐ０→・・・＝（０，０）→（５，５）→（２，２）→（７，７）→（４，４）→（１，１）→（６，６）→（３，３）→（０，０）・・・となる。
【００５７】
こうして、図５の例では、画素単位で分割始点をずらすので、分割始点は、上述のような異なる８点位置に繰り返し、位置するように変更されることになる。
【００５８】
＜第３の例＞
第１の例および第２の例は、矩形のブロックＢｋの対角線方向に、分割始点を徐々にずらすようにした例であるが、分割始点をずらす方向は、これに限られるものではない。
【００５９】
第３の例は、分割始点のずらす方向の他の例を示すもので、この例では、図６（Ａ）および（Ｂ）に示すように、分割始点を、１ブロックＢｋ内において、左上隅の起点Ｐｏから、矩形の渦巻状に変更する。そして、渦巻状に変更する分割始点の終点をＰｅとしたとき、この終点の分割始点Ｐｅの次には、分割始点Ｐｏに戻るようにする。
【００６０】
この第３の例においても、分割始点の１フレーム毎の変更は、１画素毎および１ライン毎や複数画素毎および複数ライン毎でもよいし、黄金比率により、分割始点の位置を変更するようにしてもよい。
【００６１】
＜第４の例＞
この第４の例も、ずらす方向の他の例である。この例は、図７（Ａ）および（Ｂ）に示すように、分割始点を、１ブロックＢｋ内において、左上隅の起点Ｐｏから、ジグザグ状に変更するようにするものである。そして、この第４の例においても、ジグザグ状に変更する分割始点の終点をＰｅとしたとき、この終点の分割始点Ｐｅの次には、分割始点Ｐｏに戻るようにする。
【００６２】
この第４の例においても、分割始点の１フレーム毎の変更は、１画素毎および１ライン毎や複数画素毎および複数ライン毎でもよいし、黄金比率により、分割始点の位置を変更するようにしてもよい。
【００６３】
＜第５の例＞
この第４の例も、ずらす方向の他の例である。この例は、図８（Ａ）および（Ｂ）に示すように、分割始点を、１ブロックＢｋ内において、左上隅の起点Ｐｏからライン方向にずらすが、１ライン分のずらしを終了した次は、複数ライン置きのラインにおいて、そのライン方向にずらすようにする。そして、分割始点について、ライン方向の１ライン分のずらしを終了した次は、複数ライン置きのラインにおいて、そのライン方向にずらすようにする変更処理を繰り返す。
【００６４】
そして、この第５の例においても、変更する分割始点の終点をＰｅとしたとき、この終点の分割始点Ｐｅの次には、分割始点Ｐｏに戻るようにする。
【００６５】
この第５の例においても、分割始点の１フレーム毎の変更は、１画素毎や複数画素でもよいし、黄金比率により、分割始点の位置を変更するようにしてもよい。
【００６６】
［第２の実施形態］
次に、この発明による画像処理装置および画像処理方法を、撮像装置に適用した場合の、より具体的に実施形態を、第２の実施形態として、図を参照しながら説明する。
【００６７】
この第２の実施形態の撮像装置は、撮像素子（イメージャ）によって撮像された複数枚の静止画像を、位置合わせしながら重ね合わせて、画像のノイズ低減を行うようにするものである。
【００６８】
撮像装置を手で保持して撮影する環境は、手ぶれが生じ易い環境である。このような撮像装置の手持ち撮影時において、静止画を連写撮影した場合の、例えば１枚目をターゲットフレーム、２枚目以降を参照フレームとする。
【００６９】
参照フレーム全体に、平行移動、回転、拡大縮小を伴う変形処理を施すことにより、ターゲットフレームの位置に、参照フレームを位置合わせすることができる場合、この参照フレーム全体に加わっている変形処理がグローバルモーションである。グローバルモーションは、通常は、画像の背景静止画（以下、背景と略す）の動きおよび動き量を示すものとなる。
【００７０】
手ぶれは、参照フレームがターゲットフレームに対して、平行移動、回転、拡大縮小を伴う画像変形をした分だけ、ターゲットフレームに対して、グローバルモーションが生じたことを意味している。
【００７１】
この実施形態では、説明の簡単のため、撮影した静止画の１枚目を基準（ターゲットフレーム）とする。しかし、これは本質ではない。任意のｎ枚目をターゲットフレームとし、任意のｍ（ｎ≠ｍ）枚目を参照フレームとして、グローバルモーションを定義し直しても良い。また、動画中の時間的に異なる２枚のフレーム画像間を対象にして、グローバルモーションを定義してもよい。また、撮像画像の１フレームのうちの有効画枠全てを対象とせず、１フレームの画像の一部分のみに関して、グローバルモーションの処理を適用しても良い。
【００７２】
グローバルモーションが求められると、当該求められたグローバルモーションから、画面上の座標位置毎のターゲットフレームと参照フレームとの間の、画面全体に加わっている動きに応じた動きベクトルを算出することができる。当該画面全体に加わっている動きに応じた動きベクトルを、以下、グローバル動きベクトルという。このグローバル動きベクトルは、画面に設定される多数個のターゲットブロックのそれぞれについて求めることができる。また、グローバル動きベクトルは、画素毎に求めることもできる。
【００７３】
そして、グローバルモーションに基づいて、グローバル動きベクトルを正確に求めることができれば、手ぶれを良好に補正することができる。あるいは、グローバル動きベクトルを手ぶれ分を補正しながら、フレーム画像を重ね合わせることができる。
【００７４】
以下の説明において、動きベクトル検出および動き補償（動きベクトルにより、２フレームの画像を位置合わせすること）を用いて複数枚の画像を重ね合わせて、ノイズを低減することをＮＲ（Ｎｏｉｓｅ Ｒｅｄｕｃｔｉｏｎ）と呼ぶ。そして、ＮＲによりノイズ低減された画像をＮＲ画像と称する。
【００７５】
この実施形態では、１画面を多数個のブロック（後述のターゲットブロック）に分割して、そのブロック単位の動きベクトルを、上述したブロックマッチング手法により検出する。ブロックマッチング手法によりブロック毎に検出した動きベクトルを、この明細書ではローカル動きベクトルという。
【００７６】
また、この実施形態では、ローカル動きベクトルの信頼性の指標を、ブロックマッチング手法における相関値を用いて、後述するようにして検出する。そして、この実施形態では、検出したローカル動きベクトルのうちの、信頼性の高いもののみから、グローバルモーションを算出し、算出したグローバルモーションからブロック毎のグローバル動きベクトルを検出するようにする。
【００７７】
［ブロックマッチングの概要］
図９〜図１４は、ブロックマッチング手法の概要を説明するための図である。ここで説明するブロックマッチング手法においては、例えば、図９（Ａ）に示すように、ターゲットフレーム１００に、それぞれ水平方向の複数画素および垂直方向の複数ライン分からなる所定の大きさの矩形領域のブロック（ターゲットブロック）１０２を想定する。また、参照フレーム１０１にも、ターゲットブロックと同じ大きさのブロック（参照ブロック）を設定する。
【００７８】
ブロックマッチングにおいては、ターゲットブロック１０２と相関性の高い参照ブロックを、参照フレーム１０１の中から検索する。この検索の結果、相関性が最も高いとして参照フレーム１０１内に検出された参照ブロック１０３（図９（Ｂ）参照）を、動き補償ブロックと呼ぶ。また、ターゲットブロック１０２と動き補償ブロック１０３（相関性が最も高い参照ブロック）との間の位置ずれ量を、動きベクトル（図９（Ｂ）の符号１０４参照）と称する。
【００７９】
ターゲットブロック１０２と動き補償ブロック１０３との間の位置ずれ（位置ずれ量と位置ずれ方向を含む）に対応する動きベクトル１０４は、参照フレーム１０１におけるターゲットブロックの射影イメージブロック１０９の位置と、動き補償ブロック１０３の位置との間の位置ずれに相当する。ここで、射影イメージブロック１０９の位置と、動き補償ブロック１０３の位置は、例えばブロックの中心位置を用いる。
【００８０】
ターゲットブロック１０２の射影イメージブロック１０９は、参照フレーム１０１において、ターゲットフレーム１００の各ターゲットブロック１０２の位置と同じ位置に想定される。
【００８１】
ブロックマッチング処理の概要を説明する。
【００８２】
先ず、図１０において点線で示すように、参照フレーム１０１において、ターゲットフレーム１００のターゲットブロック１０２の位置と同じ位置にターゲットブロック１０２の射影イメージブロック１０９を想定する。そして、このターゲットブロック１０２の射影イメージブロック１０９の中心の座標を、動き検出の原点１０５とする。そして、動きベクトル１０４が、動き検出の原点１０５から或る範囲内に存在すると仮定し、この動き検出の原点１０５を中心した所定の範囲をサーチ範囲１０６（図１０の一点鎖線参照）と設定する。
【００８３】
次に、ターゲットブロック１０２と同じ大きさのブロック（参照ブロックという）１０８を参照画面において設定する。そして、この参照ブロック１０８の位置を、設定されたサーチ範囲１０６内において、例えば水平方向および垂直方向に、１画素または複数画素単位で移動させるようにする。したがって、サーチ範囲１０６においては、複数個の参照ブロック１０８が設定されることになる。
【００８４】
ここで、参照ブロック１０８を、サーチ範囲１０６内を移動させるというのは、この例では、動き検出原点１０５がターゲットブロックの中心位置であるので、参照ブロック１０８の中心位置を、サーチ範囲１０６内を移動させることを意味する。したがって、参照ブロック１０８を構成する画素は、サーチ範囲１０６よりもはみ出すことがある。
【００８５】
そして、サーチ範囲において、設定される各参照ブロック１０８に対して、当該各参照ブロック１０８とターゲットブロック１０２との位置ずれ量および位置ずれ方向を表すベクトル（参照ベクトルという）１０７（図１０参照）を設定する。そして、それぞれの参照ベクトル１０７が指し示す位置にある参照ブロック１０８の画像内容と、ターゲットブロック１０２の画像内容との相関性を評価する。
【００８６】
参照ベクトル１０７は、図１１に示すように、参照ブロック１０８の水平方向（Ｘ方向）の位置ずれ量Ｖｘとし、垂直方向（Ｙ方向）の位置ずれ量をＶｙとしたとき、ベクトル（Ｖｘ，Ｖｙ）と表すことができる。参照ブロック１０８の位置座標（例えば中心位置座標）とターゲットブロック１０２の位置座標（例えば中心位置座標）とが同じときには、参照ベクトル１０７は、ベクトル（０，０）と表す。
【００８７】
例えば、参照ブロック１０８が、ターゲットブロック１０２の位置から、Ｘ方向に１画素ずれた位置にある場合、参照ベクトル１０７はベクトル（１，０）となる。また、図１２に示すように、参照ブロック１０８が、ターゲットブロック１０２の位置から、Ｘ方向に３画素、Y方向に２画素ずれた位置にある場合には、参照ベクトル１０７はベクトル（３，２）となる。
【００８８】
つまり、参照ベクトル１０７は、図１２の例に示すように、対応する各参照ブロック１０８とターゲットブロック１０２との間での位置ずれ（位置ずれ量と位置ずれの方向を含むベクトルとなる）を意味する。なお、図１２では、ターゲットブロック１０２および参照ブロック１０８の位置を、それぞれのブロックの中心位置としている。
【００８９】
参照ブロック１０８は、サーチ範囲１０６において移動するものとなるが、その場合に、参照ブロック１０８の中心位置がサーチ範囲１０６内を移動する。参照ブロック１０８は、水平方向および垂直方向の複数画素からなる。したがって、ターゲットブロック１０２とブロックマッチング処理される対象となる参照ブロック１０８が移動する最大範囲は、図１２に示すように、サーチ範囲１０６よりも広いマッチング処理範囲１１０となる。
【００９０】
そして、ターゲットブロック１０２の画像内容との相関が最も強いとして検出された参照ブロック１０８の位置を、ターゲットフレーム１００のターゲットブロック１０２の、参照フレーム１０１における位置（動いた後の位置）として検出する。検出した参照ブロックを、前述した動き補償ブロック１０３とする。そして、その検出した動き補償ブロック１０３の位置と、ターゲットブロック１０２の位置との間の位置ずれ量を、方向成分を含む量としての動きベクトル１０４として検出するようにする（図９（Ｂ）参照）。
【００９１】
ここで、ターゲットブロック１０２と、サーチ範囲１０６において移動する参照ブロック１０８との相関の強さを表す相関値は、基本的にはターゲットブロック１０２と参照ブロック１０８との対応する画素値を用いて算出される。その算出方法としては、自乗平均を用いる方法やその他種々の方法が提案されている。
【００９２】
そのうち、動きベクトルを算出する際に一般的に用いられる相関値としては、例えば、ターゲットブロック１０２内の各画素の輝度値と、参照ブロック１０６内の対応する各画素の輝度値との差分の絶対値の、ブロック内の全画素についての総和が用いられる（図１３参照）。この差分の絶対値の総和を差分絶対値和と呼ぶ。以下、この差分絶対値和をＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）値と記載することとする。
【００９３】
相関演算結果としてＳＡＤ値が用いられる場合には、ＳＡＤ値が小さいほど相関が強いものとされる。したがって、サーチ範囲１０６において移動する参照ブロック１０８のうち、ＳＡＤ値が最小となる位置の参照ブロック１０８が最も相関が強い最強相関参照ブロックとなる。この最強相関参照ブロックが、動き補償ブロック１０３として検出され、その検出された動き補償ブロック１０３のターゲットブロック１０２の位置に対する位置ずれ量が動きベクトルとして検出される。
【００９４】
なお、一般的には、相関値が大きい方が相関が強いとされる。相関演算結果としてＳＡＤ値が用いられる場合には、当該ＳＡＤ値が小さいほど相関値が大きく、相関が強いと言うことができる。
【００９５】
前述したように、ブロックマッチングでは、サーチ範囲１０６において設定される複数個の参照ブロック１０８のそれぞれの、ターゲットブロック１０２の位置に対する位置ずれ量は、方向成分を含む量としての参照ベクトル１０７で表現される。各参照ブロック１０８の参照ベクトル１０７は、参照ブロック１０８の参照フレーム１０２上の位置に応じた値となる。前述したように、ブロックマッチングでは、相関値であるＳＡＤ値が最小値となる参照ブロック１０８の参照ベクトルを、動きベクトル１０４として検出する。
【００９６】
そこで、ブロックマッチングでは、サーチ範囲１０６において設定される複数個の参照ブロック１０８のそれぞれとターゲットブロック１０２との間におけるＳＡＤ値（以下、説明の簡単のため参照ブロック１０８についてのＳＡＤ値という）を、先ず求める。
【００９７】
次に、求めたＳＡＤ値を、図１４に示すように、それぞれの参照ブロック１０８の位置に応じた参照ベクトル１０７のそれぞれに対応させて、メモリに記憶しておく。そして、そのメモリに記憶された全ての参照ブロック１０８についてのＳＡＤ値の中から、最小のＳＡＤ値の参照ブロック１０８を検出することで、動きベクトル１０４を検出するようにしている。なお、以下、説明の簡単のため、参照ブロック１０６の位置に応じた参照ベクトル１０７を参照ブロック１０８の参照ベクトル１０７という。
【００９８】
サーチ範囲１０６において設定された複数個の参照ブロック１０８の位置に応じた参照ベクトル１０７のそれぞれに対応させて、それぞれの参照ブロック１０８についての相関値（この例では、ＳＡＤ値）を記憶したものを相関値テーブルと呼ぶ。この例では、相関値として差分絶対値和であるＳＡＤ値を用いるので、この相関値テーブルを、差分絶対値和テーブル（以下ＳＡＤテーブルという）と呼ぶことにする。
【００９９】
図１４のＳＡＤテーブルＴＢＬが、これを示しており、このＳＡＤテーブルＴＢＬにおいて、それぞれの参照ブロック１０８についての相関値（この例ではＳＡＤ値）を相関値テーブル要素という。図１４の例では、符号１１１で指し示すＳＡＤ値は、参照ベクトルがベクトル（０，０）のときのＳＡＤ値である。そして、図１４の例では、ＳＡＤ値の最小値は、参照ベクトルがベクトル（３，２）のときの「７」であるので、求める動きベクトル１０４は、当該（３，２）となる。
【０１００】
なお、上述の説明において、ターゲットブロック１０２および参照ブロック１０８の位置とは、それらのブロックの任意の特定の位置、例えば中心位置を意味するものである。参照ベクトル１０７は、参照フレーム１０２におけるターゲットブロック１０２の射影イメージブロック１０９の位置と、参照ブロック１０８の位置との間のずれ量（方向を含む）を示すものである。
【０１０１】
そして、各参照ブロック１０８に対応する参照ベクトル１０７は、参照フレーム１０１上において、ターゲットブロック１０２に対応する射影イメージブロック１０９の位置からの、各参照ブロック１０８の位置ずれとなっている。したがって、参照ブロック１０８の位置が特定されると、その位置に対応して参照ベクトルの値も特定される。これにより、ＳＡＤテーブル１１０のメモリにおける参照ブロックの相関値テーブル要素のアドレスが特定されると、対応する参照ベクトルは特定されることになる。
【０１０２】
なお、ＳＡＤ値は、同時に、２つ以上のターゲットブロックについて並列に計算するようにしてもよい。同時に処理するターゲットブロックが増加すると、処理は高速化する。しかし、ＳＡＤ値を計算するハードウエアの規模が増大するので、処理の高速化と、回路規模の増大のトレードオフになる。
【０１０３】
［実施形態のブロックマッチング］
以上のブロックマッチングの説明は、１つのターゲットブロックについての動きベクトルの算出についての説明である。このターゲットブロックのターゲットフレームの全体に占める割合は、通常、小さいので、この１つのターゲットブロックに基づいてターゲットフレームについての動き（グローバルモーション）を求めるようにすることは一般的には困難である。
【０１０４】
この実施形態では、図１５に示すように、ターゲットフレーム１００を、例えば８画素×８ラインのような、比較的小さい大きさのターゲットブロック１０２の複数個に分割する。このターゲットブロック１０２の分割位置は、この実施形態では、１フレーム分の画像についてのブロックマッチング処理が終了する毎に、上述の第１の実施形態で説明したようにして、変更される。
【０１０５】
１フレーム内での処理においては、ブロック分割されて得られる複数個のターゲットブロック１０２のそれぞれについての動きベクトル（ローカル動きベクトル）１０４Ｂが先ず求められる。このとき、この実施形態では、求めたそれぞれのローカル動きベクトルの信頼性を示す指標を、併せて算出するようにする。
【０１０６】
そして、ローカル動きベクトルの信頼性の指標から、ターゲットフレームについて求めた複数個のローカル動きベクトルの中から、信頼性の高いローカル動きベクトルのみを抽出する。
【０１０７】
次に、抽出した信頼性の高いローカル動きベクトルのみから、グローバルモーションを算出する。そして、算出したグローバルモーションを用いて、各ターゲットブロック単位のグローバル動きベクトルを算出する。
【０１０８】
そして、算出したグローバル動きベクトルと、ターゲットブロック毎のローカル動きベクトルとを比較して、その比較結果に基づいて、各ターゲットブロックが背景部分か、動被写体部分かを評価判定するようにする。この実施形態では、算出したグローバル動きベクトルと、ターゲットブロック毎のローカル動きベクトルとを比較して、両者の一致度合いを判定する。そして、その判定結果として、ターゲットブロック毎のローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値を算出する。この指標値を、この明細書ではヒット率と称する。
【０１０９】
このような評価判定を行うのは、画像に含まれるノイズの、ブロックマッチングで算出される相関値に与える影響を考慮したものである。
【０１１０】
ターゲットブロックについてのグローバル動きベクトルとローカル動きベクトルとが一致したときには、そのターゲットブロックは背景画像部分であると判断できる。したがって、この一致度合いの指標値は、ターゲットブロックの画像が、背景画像部分と一致しているかどうかの度合い（背景一致度合い）を示すものとなる。
【０１１１】
ターゲットブロックが背景画像部分であれば、静止画像部分であるので、ターゲットブロックの画像に対して、動き補償画像は、１００％の割合（１：１の割合）で加算することができ、ＮＲ（ノイズ低減）効果を最大限にすることができる。
【０１１２】
そして、背景一致度合いが低ければ、ターゲットブロックは動被写体部分であると予想されるので、その画像に対する、動き補償画像の加算割合を、背景一致度合いに応じて低くすることで、多重露光のような状態を軽減することができる。
【０１１３】
ここで、グローバル動きベクトルとローカル動きベクトルとが一致しない場合には、画像ノイズを考慮しなければ、そのターゲットブロックは、全て動被写体部分であると判断しても良い。この場合、ローカル動きベクトルに対応する参照ブロックについての相関値が最大（ＳＡＤ値が最小）となっており、グローバル動きベクトルに対応する参照ブロックについての相関値よりも大きい（ＳＡＤ値は小さい）。
【０１１４】
しかし、一般に撮像画像などの画像中にはノイズが含まれる。この画像ノイズを考慮すると、グローバル動きベクトルとローカル動きベクトルとが一致しない場合であっても、ターゲットブロックが背景部分である場合がある。そして、そのようなターゲットブロックでは、ローカル動きベクトルに対応する参照ブロックについての相関値と、グローバル動きベクトルに対応する参照ブロックについての相関値との差は、前記画像ノイズ分よりも小さいものとなると考えられる。
【０１１５】
そこで、この実施形態では、グローバル動きベクトルに対応する参照ブロックについての相関値を、前記画像のノイズ分を反映した値に補正し、その補正後の相関値と、ローカル動きベクトルに対応する参照ブロックについての相関値とを比較する。そして、補正後の相関値の方が大きい（ＳＡＤ値は小さい）ときには、当該ターゲットブロックは、背景画像部分であると評価するようにする。すなわち、この実施形態では、補正した相関値に基づいて、前記背景一致度合いを評価するようにする。このとき、グローバル動きベクトルは、当該ターゲットブロックについての本来のローカル動きベクトルに一致したと考えられる。
【０１１６】
そして、この実施形態では、背景一致度合いの評価の結果、ターゲットブロックが背景画像部分であると判定されたときには、当該ターゲットブロックについては、グローバル動きベクトルを、出力動きベクトルとして出力する。また、背景一致度合いの評価の結果、ターゲットブロックが背景画像部分と一致していないと判定されたときには、当該ターゲットブロックについては、ローカル動きベクトルを、出力動きベクトルとして出力する。この実施形態では、出力動きベクトルは、後段の処理用動きベクトル、この実施形態では、ＮＲ処理用動きベクトルである。
【０１１７】
なお、グローバル動きベクトルとローカル動きベクトルとが全く一致したときには、グローバル動きベクトルとローカル動きベクトルのいずれを出力動きベクトルとしてもよいことは言うまでもない。
【０１１８】
そして、この実施形態では、上述のようにして得たターゲットブロック単位の出力動きベクトルを用いて、ターゲットフレームに対して、参照フレームをブロック単位で位置合わせを行い、動き補償画像（動き補償フレーム）を生成する。そして、ターゲットフレームと、動き補償フレームとを重ね合わせてＮＲ画像を生成するようにする。
【０１１９】
そして、この実施の形態の撮像装置において、静止画撮影においては、図１６に示すように、高速で複数枚の静止画像の撮影を行い、１枚目の静止画撮影画像をターゲットフレーム１００とする。そして、２枚目以降、所定枚数の静止画撮影画像を参照フレーム１０１として、重ね合わせを行い、その重ね合わせたものを静止画撮影画像として記録するようにする。
【０１２０】
すなわち、撮影者が撮像装置のシャッターボタンを押下操作すると、高速で前記所定枚数の静止画像が撮影される。そして、その１枚目に撮影した静止画像（フレーム）に対して、時間的に後で撮影された複数枚の静止画像（フレーム）が、重ね合わされて、記録されることになる。
【０１２１】
なお、この実施形態では対象としないが、動画撮影時は、図１７のように、撮像素子から出力されている現フレームの画像をターゲットフレーム１００の画像とし、その前フレームの過去の画像を参照フレーム１０１の画像とする。つまり、動画撮影時には、現フレームの画像のノイズ低減を行うために、現フレームの前フレームの画像を現フレームに重ね合わせるということになる。
【０１２２】
［撮像装置のハードウエア構成例］
図１８は、この発明の画像処理装置の実施形態としての撮像装置の一例のブロック図を示すものである。
【０１２３】
この図１８に示すように、この実施形態の撮像装置は、システムバス２にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１が接続される。また、システムバス２に、撮像信号処理系１０や、ユーザ操作入力部３、画像メモリ部４、記録再生装置部５などが接続されて構成されている。なお、この明細書においては、ＣＰＵ１は、図示は省略するが、種々のソフトウエア処理を行なうプログラムを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やワークエリア用ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含むものとしている。
【０１２４】
そして、ＣＰＵ１は、システムバス２を通じて、各処理部の動作を制御するように構成されている。
【０１２５】
ユーザ操作入力部３を通じた撮像記録開始操作を受けて、図１８の撮像装置の撮像信号処理系は、後述するような撮像画像データの記録処理を行なう。また、ユーザ操作入力部３を通じた撮像記録画像の再生開始操作を受けて、図１８の撮像装置の撮像信号処理系１０は、記録再生装置部５の記録媒体に記録された撮像画像データの再生処理を行なう。
【０１２６】
図１８に示すように、撮像信号処理系１０においては、撮像レンズ１０Ｌを備えるカメラ光学系（図示は省略）を通じた被写体からの入射光は、撮像素子１１に照射されて撮像される。この例では、撮像素子１１は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）イメージャで構成されている。なお、撮像素子１１は、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）イメージャで構成してもよい。
【０１２７】
この例の撮像装置においては、撮像記録開始操作がなされると、レンズ１０Ｌを通じて入力された映像が、撮像素子１１により撮像画像信号に変換される。そして、タイミング信号発生部１２からのタイミング信号に同期した信号として、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の３原色から構成されるベイヤー配列のＲＡＷ信号（生の信号）であるアナログ撮像信号が、撮像素子１１から出力される。出力されたアナログ撮像信号は、前処理部１３に供給され、欠陥補正やγ補正等の前処理が施され、データ変換部１４に供給される。
【０１２８】
データ変換部１４は、これに入力されたＲＡＷ信号であるアナログ撮像信号を、輝度信号成分Ｙと、色差信号成分Ｃｂ／Ｃｒとにより構成されるデジタル撮像信号（ＹＣデータ）に変換する。データ変換部１４からのデジタル撮像信号は、ユーザ操作入力部３を通じた撮影指示に基づいて、画像メモリ部４に、書き込まれる。
【０１２９】
すなわち、ユーザ操作入力部３を通じた撮影指示として、シャッターボタンの押下による静止画撮影指示であると、データ変換部１４からのデジタル撮像信号は、フレームメモリ４１〜４Ｎに書き込まれる。この場合に、データ変換部１４からのデジタル撮像信号は、重ね合わせるべき前述した複数フレーム分が画像メモリ部４の第１〜第Ｎ（Ｎは、重ね合わせる静止画の枚数）のフレームメモリ４１〜４Ｎに書き込まれる。
【０１３０】
この例においては、シャッターボタンの押下の１枚目のフレームの画像データは、ターゲットフレームの画像データとして第１のフレームメモリ４１に書き込まれる。そして、２枚目以降のフレーム画像のデータは、参照フレームの画像データとして、それぞれ第２〜第Ｎのフレームメモリ４２〜４Ｎに順次に書き込まれる。
【０１３１】
そして、複数フレーム分の画像が画像メモリ部４に書き込まれた後、ターゲットフレームの画像データと参照フレームの画像データが、動きベクトル算出部１５によって読み込まれる。
【０１３２】
動きベクトル算出部１５は、この画像メモリ部４からの画像データの読み込みに際して、機能的にブロック分割処理部を備える。すなわち、動きベクトル算出部１５は、画像メモリ部４からターゲットフレームの画像データと参照フレームの画像データとを読み込むが、その読み込み単位は、ブロック分割されたブロック単位とする。
【０１３３】
そして、動きベクトル算出部１５は、起点となる分割始点を定め、それに相当する画像メモリ部４のアドレスから、前述のブロックＢｋに対応するターゲットブロックおよび参照ブロックの読み込みをする。つまり、ターゲットブロックおよび参照ブロック単位で、動きベクトル算出部１５は、画像メモリ部４から画像データの読み込みを行なう。
【０１３４】
ターゲットフレームと参照フレームとのブロックマッチングによる動きベクトル検出が終了した後、次のターゲットフレームと参照フレームとのブロックマッチングをする際には、ブロック分割の分割始点を、上述の第１の実施形態のようにずらすようにする。
【０１３５】
そして、動きベクトル算出部１５では、そのブロック単位で、後述するようなローカル動きベクトルＬＭＶの検出、ローカル動きベクトルＬＭＶの信頼性の算出、グローバルモーションの算出およびグローバル動きベクトルＧＭＶの算出処理がなされる。さらに、動きベクトル算出部１５では、ターゲットブロックについての背景一致度合いの評価も行なって、ヒット率βを生成する。
【０１３６】
この実施形態では、動きベクトル算出部１５からは、ターゲットフレームの画像データＴＧｖと、参照フレームの画像データＲＥＦｖと、ヒット率βとが出力される。また、動きベクトル算出部１５からは、グローバル動きベクトルＧＭＶまたはローカル動きベクトルＬＭＶからなるＮＲ処理用動きベクトルＭＶｎｒの情報が出力される。
【０１３７】
そして、動きベクトル算出部１５からのＮＲ処理用動きベクトルＭＶｎｒの情報と、参照フレームの画像データＲＥＦｖとは動き補償画生成部１６に供給される。動き補償画生成部１６では、参照フレームの画像データＲＥＦｖに対して、ＮＲ処理用動きベクトルＭＶｎｒによりグローバルモーションに対応する処理、つまり、平行移動、回転、拡大縮小を伴う変形処理を施して、動き補償画像を生成する。
【０１３８】
そして、動きベクトル算出部１５からのターゲットフレームの画像データＴＧｖが加算部１７に供給されると共に、動き補償画生成部１６からの動き補償画像の画像データＭＣｖが加算部１７に供給される。
【０１３９】
また、動きベクトル算出部１５からのターゲットフレームの画像データＴＧｖとヒット率βとが、加算率計算部２１に供給される。加算率計算部２１は、ターゲットフレームの各ターゲットブロック毎の加算率αを、背景一致度合いであるヒット率βに応じて計算する。そして、加算率計算部２１は、算出したターゲットブロック毎の加算率αを、加算部１７に供給する。
【０１４０】
加算部１７では、両画像データＴＧｖおよびＭＣｖの対応する位置の画素が加算されることにより、画像の重ね合わせ処理がなされ、その加算画像（ＮＲ画像である）の画像データＭＩＸｖが出力される。この画像重ね合わせは、ターゲットブロック単位に行なわれ、ターゲットブロックの画像データに対して、加算率αで、動き補償画像の画像データＭＣｖの対応するブロックの画像データが加算される。
【０１４１】
加算部１７からの加算画像の画像データＭＩＸｖは、画像メモリ部４の第１のフレームメモリ４１に、ターゲットフレームの画像データとして、その前のターゲットフレームの画像データに重ね書き（上書き）される。
【０１４２】
すなわち、第１のフレームメモリ４１のターゲットフレームの画像データは、最初は、シャッターボタンが押下された直後の１枚目のフレームの画像データとなる。第１のフレームメモリ４１のターゲットフレームの画像データは、２枚目の参照フレームの動き補償画の画像データＭＣｖとターゲットフレームとが加算されると、その加算結果の加算画像の画像データＭＩＸｖに書き換えられる。
【０１４３】
そして、その加算画像の画像データＭＩＸｖが、３枚目の参照フレームの画像データに対するターゲットフレームの画像データとなる。そして、動きベクトル算出部１５による画像メモリ部４からの画像データの読み込みに際しての、ブロック分割位置が、その１フレーム分前とは、上述の第１の実施形態に示したようにして変更される。つまり、ブロック分割の分割始点が、その前のフレームでの処理の際とは異なるオフセット位置に変更される。そして、そのブロック分割位置が変更されたブロック単位の画像データについて、上述と同様にして、動きベクトル算出部１５でＮＲ処理用動きベクトルＭＶｎｒが算出され、加算部１７で画像の重ね合わせ処理がなされる。
【０１４４】
そして、その加算結果の加算画像の画像データＭＩＸｖが画像メモリ部４の第１のフレームメモリ４１に、ターゲットフレームの画像データとして、その前のターゲットフレームの画像データに重ね書き（上書き）される。以下、４枚目以降の参照フレームに対しても、さらに分割始点が変更された後、同様の処理動作がなされる。
【０１４５】
したがって、Ｎ枚目の参照フレームまでについての画像の重ね合わせ処理がなされた後には、画像メモリ部４の第１のフレームメモリ４１には、重ね合わせるべきＮ枚の全てのフレームが重ね合わされたＮＲ画像が書き込まれていることになる。
【０１４６】
そして、この画像メモリ部４の第１フレームメモリ４１に格納された重ね合わせ結果のＮＲ画像である加算画像の画像データＭＩＸｖは、システムバス２を通じて静止画コーデック部１８に供給されてコーデック変換される。静止画コーデック部１８からの出力データは、記録再生装置部５の例えばＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）やハードディスクなどの記録媒体に記録される。この実施形態では、静止画コーデック部１８では、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式の静止画についての画像圧縮符号化処理が行われる。
【０１４７】
また、この静止画撮影モード時、シャッターボタンが押下操作される前においては、データ変換部１４からの画像データは、画像メモリ部４の第１のフレームメモリ４１を通じて、解像度変換部１９に供給される。そして、画像データは、この解像度変換部１９にて、所定の解像度に変換された後、ＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｔｅｅ）エンコーダ２０に供給される。このＮＴＳＣエンコーダ２０では、画像データは、ＮＴＳＣ方式の標準カラー映像信号に変換され、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ；液晶ディスプレイ）からなるモニターディスプレイ６に供給される。モニターディスプレイ６の表示画面には、静止画撮影モード時のモニター画像がモニター表示される。
【０１４８】
この記録再生装置部５の記録媒体に記録された静止画の画像データは、ユーザ操作入力部３を通じた再生開始操作に応じて読み出され、静止画コーデック部１８に供給されて、再生デコードされる。そして、再生デコードされた静止画の画像データは、画像メモリ部４のバッファメモリ（図示は省略）を通じてＮＴＳＣエンコーダ２０に供給される。ＮＴＳＣエンコーダ２０でＮＴＳＣ方式の標準カラー映像信号に変換された画像データは、モニターディスプレイ６に供給され、再生画像がその表示画面に表示される。
【０１４９】
なお、図１８では、図示を省略したが、ＮＴＳＣエンコーダ２０からの出力映像信号は、映像出力端子を通じて外部に導出することが可能とされている。
【０１５０】
なお、この実施形態では、静止画コーデック部１８により画像データを圧縮して記録するようにしたが、静止画コーデック部１８を省略して、画像データを圧縮せずに記録するようにしても良い。
【０１５１】
また、上述した動きベクトル算出部１５および動き補償画生成部１６は、ハードウエアにより構成することできる。また、動きベクトル算出部１５および動き補償画生成部１６は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を用いて構成することもできる。さらには、動きベクトル算出部１５および動き補償画生成部１６は、ＣＰＵ１によりソフトウエア処理とすることもできる。
【０１５２】
同様に、加算部１７も、ハードウエアにより構成することできるし、また、ＤＳＰを用いて構成することもできる。さらには、加算部１７も、ＣＰＵ１によりソフトウエア処理とすることもできる。また、静止画コーデック部１８も、同様である。
【０１５３】
［動きベクトル算出部１５の説明］
動きベクトル算出部１５では、この実施の形態では、先ず、図９〜図１４を用いて説明した、ＳＡＤ値を用いてブロックマッチング処理を行うことで、ローカル動きベクトルＬＭＶの検出を行うようにする。ただし、この実施の形態では、動きベクトル算出部１５は、後述するようなハードウエアで構成され、ローカル動きベクトルＬＭＶは、階層化ブロックマッチング処理により算出することができる。
【０１５４】
また、前述したように、この実施形態の動きベクトル算出部１５では、ローカル動きベクトルＬＭＶのそれぞれの信頼性の指標も算出するようにする。
【０１５５】
さらに、動きベクトル算出部１５では、信頼性の高いローカル動きベクトルのみを用いてグローバルモーションを算出する。そして、算出したグローバルモーションから、ブロック単位のグローバル動きベクトルを算出する。さらに、各ターゲットブロックについて、背景部分か、動被写体部分かの判定を行い、背景一致度合いを示すヒット率βを算出する。
【０１５６】
＜階層化ブロックマッチング処理＞
一般的な従来のブロックマッチングにおける動きベクトル検出処理では、サーチ範囲内を、ピクセル単位（１ピクセル単位または複数ピクセル単位）で参照ブロックを移動させて、各移動位置における参照ブロックについてのＳＡＤ値を算出する。そして、その算出したＳＡＤ値の中から最小値を示すＳＡＤ値を検出し、当該最小ＳＡＤ値を呈する参照ブロック位置に基づいて動きベクトルを検出するようにする。
【０１５７】
そして、この実施形態では、１フレームが多数のブロックに分割されるので、以上のブロックマッチング処理をターゲットブロックおよび参照ブロックを順次切り替えながら、全画面において処理を行う。これにより、ターゲットフレーム内の全てのターゲットブロックについてのローカル動きベクトルＬＭＶの算出を行う。
【０１５８】
しかし、このような従来の動きベクトル検出処理では、サーチ範囲内をピクセル単位で参照ブロックを移動させるようにするので、検索するサーチ範囲に比例して、ＳＡＤ値を算出するマッチング処理回数が多くなって、マッチング処理時間が大きくなる。また、ＳＡＤテーブルの容量も大きくなるという問題があった。
【０１５９】
特に、静止画像の高画素化、並びに動画像のＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）化が進み、１枚の画像サイズが非常に大きくなってきていることを考慮すると、この問題は大きい。また、システムバス２を介して画像メモリをアクセスする回数も多くなり、バス帯域を大きくしなければならなくなるという問題もある。
【０１６０】
以上のことを考慮して、この実施の形態では、先ず、ターゲット画像（ターゲットフレーム）および参照画像（参照フレーム）を縮小した縮小画像と中間画像を用意する。そして、縮小画像、中間画像、原画画像の順に、ブロックマッチングによる動きベクトルサーチを、前段階でのブロックマッチングの結果を次段階におけるサーチに反映させて行うという階層化ブロックマッチングを行う。
【０１６１】
この階層化ブロックマッチングを行うことで、演算量や処理時間を少なく、効率の良いローカル動きベクトルの算出を行うようにする。ここで、縮小画像のことを縮小面、中間画像のことを中間面、縮小化をしていない元の画像のことを基底面と呼ぶことにする。
【０１６２】
図１９は、この階層化ブロックマッチングを説明するための図である。図１９の例においては、基底面ターゲットフレーム２０１および基底面参照フレーム３０１を、１／ａ・１／ｂ（１／ａ、１／ｂは、縮小倍率であって、ａ＞１、ｂ＞１である）に縮小して、縮小面ターゲットフレーム２１１および縮小面参照フレーム３１１を生成する。
【０１６３】
また、基底面ターゲットフレーム２０１および基底面参照フレーム３０１を、１／ｂに縮小して、中間面ターゲットフレーム２２１および中間面参照フレーム３２１を生成しておく。
【０１６４】
縮小面や中間面の基底面に対する倍率は任意であるが、１／２〜１／８倍（画素数換算で１／４〜１／６４倍）の範囲が適当である。なお、図１９の例では、中間面に対する縮小面の縮小倍率は１／４（すなわち、ａ＝４）、また、基底面に対する中間面の縮小倍率は１／４（すなわち、ｂ＝４）の場合として示している。
【０１６５】
縮小面や中間面の作成にあたっても、その方法は任意である。しかし、単に、原画像の画素を、縮小倍率に応じて間引くだけで縮小面や中間面を作成する方法では、折り返し成分が発生し、１階層目（縮小面）で検出される動きベクトルが、正しいものから外れやすくなる。このため、通常、縮小倍率に応じたカットオフ周波数帯域を持つローパスフィルタを原画に対して施したのち、縮小倍率に応じたサブサンプリングを行う。
【０１６６】
この実施形態では、倍率に応じたサブサンプリングにより消失する画素を含んだ、輝度平均値を生成し、それを縮小面画素や中間面画素としている。つまり、１／ａ縮小なら、ａ×ａ画素の正方領域の輝度平均値を算出し、これを縮小面画素や中間面画素の輝度値とする。この手法の場合、まず中間面を生成しておいてから、中間面から縮小面を生成しても、原画から直接縮小面を生成する場合と同じ結果が得られるため、より効率的である。
【０１６７】
なお、縮小画像を得るに当たっては、水平方向の縮小率と垂直方向の縮小率は、上記のように同じであってよいし、また、異ならせても良い。
【０１６８】
以上のようにして、縮小面および中間面を作成したら、先ず、縮小面ターゲットフレーム２１１に縮小面ターゲットブロック２１２を設定すると共に、縮小面参照フレーム３１１に縮小面サーチ範囲３１３を設定する。
【０１６９】
そして、当該縮小面サーチ範囲３１３内の複数個の縮小面参照ブロック３１２について、縮小面の動きベクトル検出装置４０１で、上述したブロックマッチング処理を行い、最小ＳＡＤ値を呈する縮小面参照ブロック位置を検出する。この縮小面参照ブロック位置の検出に基づき、縮小面動きベクトルＭＶｓを検出する。
【０１７０】
この例では、動きベクトル検出装置４０１は、縮小面ターゲットブロック２１２の大きさ（水平方向の画素数×垂直方向のライン数）のブロックをブロックマッチング処理単位として処理を実行する。
【０１７１】
縮小面動きベクトルＭＶｓの算出が終了したら、次に、縮小面ターゲットフレーム２１１をａ倍したものに等しい中間面ターゲットフレーム２２１において、中間面ターゲットブロック２２２を設定する。
【０１７２】
図１９の例では、中間面の動きベクトル検出装置４０２は、縮小面の動きベクトル検出装置４０１におけるブロックマッチング処理単位と同じ大きさのブロックを中間面ターゲットブロックとしてブロックマッチング処理を行うようにしている。ここで、同じ大きさのブロックとは、同じピクセル数であって、同じ水平方向の画素数×同じ垂直方向のライン数からなるものである。
【０１７３】
この例の場合、縮小面は中間面の１／ａであるので、縮小面ターゲットブロック２１２に対応する中間面ターゲットフレームにおける領域には、中間面ターゲットブロック２２２が、ａ個含まれることなる。したがって、その中間面ターゲットブロック２２２のａ個の全てが中間面の動きベクトル検出装置４０２におけるブロックマッチング処理対象として設定される。
【０１７４】
そして、縮小面参照フレーム３１１をａ倍したものに等しい中間面参照フレーム３２１において、縮小面動きベクトルＭＶｓを中心とした中間面サーチ範囲３２３を設定する。この中間面サーチ範囲３２３内の複数個の中間面参照ブロック３２２について、動きベクトル検出装置４０２で、上述したブロックマッチング処理を行い、最小ＳＡＤ値を呈する中間面参照ブロック位置を検出することにより、中間面動きベクトルＭＶｍを検出する。
【０１７５】
中間面の動きベクトル検出装置４０２では、ａ個の中間面ターゲットブロックのそれぞれについて、中間面サーチ範囲３２３内に設定したそれぞれの当該中間面ターゲットブロック用のサーチ範囲において、ブロックマッチング処理を実行する。これにより、それぞれの中間面ターゲットブロックについての動きベクトルの検出を行う。そして、それら複数個の動きベクトルのうち、最小のＳＡＤ値を呈する動きベクトルを、中間面における動きベクトル（中間面動きベクトル）ＭＶｍとして検出する。
【０１７６】
縮小面動きベクトルＭＶｓの算出が終了したら、次に、中間面ターゲットフレーム２２１をｂ倍したものに等しい基底面ターゲットフレーム２０１において、基底面ターゲットブロック２０２を設定する。
【０１７７】
図１９の例では、基底面の動きベクトル検出装置４０３も、動きベクトル検出装置４０１および４０２と同じ大きさ（同じピクセル数＝同じ水平方向の画素数×同じ垂直方向のライン数）のブロックを処理単位ブロックとしてブロックマッチング処理を行うようにしている。
【０１７８】
そして、前述したように、中間面動きベクトルＭＶｍは、処理単位ブロックの単位で得られる。したがって、動きベクトル検出装置４０３で対象となる基底面ターゲットフレーム２０１における基底面ターゲットブロック２０２は、図１９において、斜線を付して示すように、縮小面ターゲットブロックと同じ大きさのブロック（処理単位ブロック）のｂ倍の個数からなるものとして設定される。
【０１７９】
一方、中間面参照フレーム３２１をｂ倍したものに等しい基底面参照フレーム３０１において、縮小面動きベクトルＭＶｓと中間面動きベクトルＭＶｍとの合成ベクトルを中心とした基底面サーチ範囲３０３を設定する。当該基底面サーチ範囲３０３内の複数個の基底面参照ブロック３０２について、動きベクトル検出装置４０３で、上述したブロックマッチング処理を行い、最小ＳＡＤ値を呈する基底面参照ブロック位置を検出することにより、基底面動きベクトルＭＶｂを検出する。
【０１８０】
縮小面動きベクトルＭＶｓおよび中間面動きベクトルＭＶｍは、同じ大きさの処理単位ブロックの単位で得られる。このため、縮小面動きベクトルＭＶｓと中間面動きベクトルＭＶｍとの合成ベクトルを中心とした設定された基底面サーチ範囲３０３は、ｂ個の基底面ターゲットブロック２０２を含む領域よりも若干広い領域とされる。
【０１８１】
動きベクトル検出装置４０３では、ｂ個の基底面ターゲットブロック２０２について、基底面サーチ範囲３０３内に設定したそれぞれの基底面ターゲットブロックについてのサーチ範囲において、ブロックマッチング処理を実行する。これにより、それぞれの基底面ターゲットブロックについての動きベクトルの検出を行う。そして、それら複数個の動きベクトルのうち、最小のＳＡＤ値を呈する動きベクトルを、基底面における動きベクトル（基底面動きベクトル）ＭＶｂとして検出する。
【０１８２】
そして、以上のようにして求められた縮小面動きベクトルＭＶｓと、中間面動きベクトルＶＭｍと、基底面動きベクトルＶＭｂとの合成ベクトルとして、基底面ターゲットフレーム２０１と基底面参照フレーム３０１との間における基底面ターゲットブロックについてのローカル動きベクトルＬＭＶが検出される。
【０１８３】
以上のような階層化ブロックマッチング処理を、ターゲットブロックおよび参照ブロックを順次切り替えながら、ターゲットフレームおよび参照フレームの全領域において、実行する。これにより、ターゲットフレーム内に設定した複数個のターゲットブロック単位の複数個のローカル動きベクトルＬＭＶの全てが算出される。
【０１８４】
図１９の例で、動きベクトル検出装置４０１，４０２および４０３は、実際的には、１つの装置であって、画像メモリ部４から読み出されて入力されるターゲットブロックと、サーチ範囲から読み出される参照ブロックとが異なるのみである。
【０１８５】
なお、ターゲットブロックの切り替えは、基底面ターゲットフレーム２０１において、全ての基底面ターゲットブロック２０２についてのローカル動きベクトルＬＭＶを得るようにする場合には、次のようにする。すなわち、縮小面において、縮小面ターゲットブロックを、水平方向には、縮小倍率１／ａおよび１／ｂに応じた水平方向の画素数分ずつ、ずらして設定する。また、垂直方向には、縮小倍率１／ａおよび１／ｂに応じた垂直方向のライン数分ずつ、ずらして設定するようにすれば良い。
【０１８６】
しかし、グローバルモーションを複数個のローカル動きベクトルＬＭＶから求めるという目的からすると、次のようにしても良い。すなわち、基底面ターゲットフレーム２０１における飛び飛びの位置の基底面ターゲットブロックについてのローカル動きベクトルＬＭＶを得るように、縮小面ターゲットブロックを、水平方向および垂直方向に、順次にずらして設定するようにしてもよい。
【０１８７】
なお、上述した階層化ブロックマッチングは、中間面を省略し、縮小面と基底面のみの２階層で行っても良いし、逆に、中間面の階層が複数存在しても構わない。ただし、縮小倍率が大き過ぎて、動被写体と背景が同じ単位ブロックに含まれてしまう場合には、注意が必要である。すなわち、本来は異なる動きベクトルとして検出されるべきものが、１つの動きベクトルとして扱われてしまい、以降の階層ではリカバリが効かないため、縮小倍率の選定は慎重に行われる必要がある。
【０１８８】
［ローカル動きベクトルＬＭＶの信頼性の算出］
比較的ノイズの多い画像がターゲット画像の場合、ＳＡＤ値がノイズの影響を受け、正しいベクトルが得られないケースが多い。図２０は、夜景を撮影したもので、比較的ノイズの多い画像である。この図２０の画像に対して、僅かに回転を伴いながら左方向に手ぶれして撮影された画像を参照画像として、両画像間の動きベクトルを図示すると、図２１に示すような結果が得られる。この図２１は、原画を１／８に縮小した縮小画像における縮小面動きベクトルを描画したものである。
【０１８９】
この図２１を見て分かるように、特にテクスチャのはっきりしない、夜空の動きベクトルが、全くバラバラの動きとして得られている。階層化ブロックマッチングにおいては、前述の通り、縮小画像の生成の際にはローパスフィルタが施されるため、比較的ノイズ耐性が高いが、この図２１に示すように、ノイズの影響を受ける。
【０１９０】
基底面のローカル動きベクトルＬＭＶは、縮小面動きベクトルの周辺をサーチして得られるため、縮小面動きベクトルが、正しいものから外れている場合には、リカバリが効かず、ノイズの影響をまともに受け、さらに乱れることになる。
【０１９１】
仮に、ノイズが全く無い撮像画像が対象であった場合でも、テクスチャがはっきりしない画像の場合は、連写撮影時の僅かな外光の変化や露光時間の差違によるグラデーョンの変化の方が大きく、検出された動きベクトルが、正しいものから外れるケースが多い。また、多数の木やビル等の人口建築物には、テクスチャの繰り返しパターンが多いが、そのようなテクスチャの繰り返しパターンの場合でも、検出された動きベクトルが、正しいものから外れ易くなる。
【０１９２】
こうしたケースを想定して、前述したように、従来から、信頼性の高い動きベクトルのみを用いて、グローバルモーションを算出する試みが行われて来た。例えば、ターゲット画像において、エッジ検出を行い、エッジのはっきりしたブロックの動きベクトルは、信頼性が高いものとする提案がある。また、ターゲット画像のＩＤＣＴ（Inverse Discreet Cosine Transform）結果のＤＣ成分、ＡＣ成分を使って信頼性を算出する提案もなされている。
【０１９３】
また、予め、フィルタの一種であるコーナーディテクタを用いて、ターゲット画像上の特徴点を検出し、それらの動きベクトルは信頼性が高いものとする提案もある。さらに、複数の特徴点の位置関係が、参照画像上でも維持されるという前提から、複数点の動きベクトルの組み合わせから信頼性の高い動きベクトルを抽出する手法も、提案されている。
【０１９４】
しかしながら、これらの従来の手法は、いずれも高ノイズの画像を前提としておらず、ノイズが非常に大きいレベルの画像においては、どの手法も破綻してしまうことが明らかである。
【０１９５】
この実施形態では、上記の実情に鑑み、高ノイズ環境の画像においても有効に、動きベクトルの信頼性を評価できる信頼性指標値を得るようにしている。
【０１９６】
この実施形態では、ターゲットブロックと参照ブロックとの間の相関値の第１極大値と、第２極大値との差または比を、動きベクトルの信頼性の指標値とする。この実施形態では、ターゲットブロックと参照ブロックとの間の相関値は、ＳＡＤ値として検出するので、相関値の第１極大値および第２極大値は、ＳＡＤ値の第１極小値および第２極小値となる。
【０１９７】
図２２は、１つのターゲットブロックについてのＳＡＤテーブルにおける各ＳＡＤ値を、模式的に示した図である。この図２２では、サーチ範囲を、画像の水平方向（ｘ方向）と垂直方向（ｙ方向）との２次元で表わし、高さ方向（ｘ方向およびｙ方向に直交する方向）にＳＡＤ値を取って、ＳＡＤテーブルを３次曲面で表わしている。
【０１９８】
通常のブロックマッチング処理の場合、動きベクトルを検出するためにはＳＡＤテーブルにおけるＳＡＤ値の最小値のみが検出対象とされる。このＳＡＤ値の最小値は、ＳＡＤテーブルにおけるＳＡＤ値の第１極小値であり、図２２においては、点５０１で示す位置となっている。図２２では、動き原点（ｘ＝０、ｙ＝０）から、この点５０１で示すＳＡＤ値の最小値位置との間のベクトルとして、動きベクトルＭＶが検出される。
【０１９９】
ノイズが存在しない理想的な状態を考えれば、サーチ範囲内の複数の参照ブロックとターゲットブロックとの相関値を求めたとき、３次曲面で表わされるＳＡＤテーブルは、一様に下に凸となり、ＳＡＤ値の極小値は、１つのみ存在する状態となる。しかし、実際の撮影状況においては、光量変化や、動き物体の動きなどの影響のほか、種々のノイズのため、３次曲面で表わされるＳＡＤテーブルは、一様に下に凸となることは殆どなく、複数個のＳＡＤ値の極小値が存在するのが一般的である。
【０２００】
そこで、この実施形態では、ＳＡＤ値の最小値に等しい第１極小値を呈する参照ブロックの位置に基づいて動きベクトルＭＶを検出するが、このＳＡＤ値の第１極小値を除くＳＡＤ値のうちの極小値、すなわち、ＳＡＤ値の第２極小値を、信頼性の指標を生成するために検出する。図２２においては、点５０１で示す位置が第１極小値を示し、点５０２で示す位置が第２極小値を示している。
【０２０１】
ノイズ等の影響が少なければ、ＳＡＤ値の第１極小値と、ＳＡＤ値の第２極小値との差は大きく、ＳＡＤ値の第１極小値、すなわち、ＳＡＤ値の最小値から検出される動きベクトルＭＶの信頼性は高くなる。一方、ノイズ等が多い環境においては、ＳＡＤ値の第１極小値と、ＳＡＤ値の第２極小値との差が小さく、いずれが動きベクトルＭＶに正しく対応しているか分からない状況になるので、信頼性が低いことになる。
【０２０２】
以上のことから、この実施形態では、ＳＡＤ値の第１極小値（ＳＡＤ値の最小値）と、ＳＡＤ値の第２極小値との差を、検出した動きベクトルの信頼性の指標とする。図２２のサーチ範囲を１次元軸上で表わし直したＳＡＤテーブルを、図２３に示す。この実施形態では、この図２３において、第２極小値と第１極小値（ＳＡＤ値の最小値）との差の値を、動きベクトルＭＶの指標値Ｆｔとする。
【０２０３】
なお、ＳＡＤ値の第１極小値しか得られず、第２極小値が得られない場合には、この実施形態では、ＳＡＤ値の理論上の最大値またはＳＡＤテーブル内のＳＡＤ値の最大値を、その動きベクトルＭＶの信頼性指標値とするようにする。したがって、そのようなブロックの動きベクトルは信頼性の高いものとされるが、このようなブロックは殆ど存在しないので、ＳＡＤ値の第１極小値しか得られず、第２極小値が得られないようなブロックの動きベクトルは、信頼性の評価から外すようにしても良い。
【０２０４】
なお、ＳＡＤ値の第１極小値（ＳＡＤ値の最小値）と、ＳＡＤ値の第２極小値との差の代わりに、ＳＡＤ値の第１極小値（ＳＡＤ値の最小値）と、ＳＡＤ値の第２極小値との比を、動きベクトルＭＶの信頼性の指標値Ｆｔとすることもできる。しかし、以下の説明においては、動きベクトルの信頼性の指標値Ｆｔとしては、ＳＡＤ値の第１極小値（ＳＡＤ値の最小値）と、ＳＡＤ値の第２極小値との差を用いるものとする。
【０２０５】
この実施形態の動きベクトルの信頼性指標によれば、従来のような画像のエッジや特徴などの画像成分を用いるものではなく、ターゲットフレームと参照フレームとの間の相関値のみを用いているので、ノイズに対してロバスト性が高い。すなわち、画像のノイズに影響されること無く、精度の高い動きベクトルの信頼性指標が得られる。
【０２０６】
また、この実施形態では、相関値の第１極大値（ＳＡＤ値の第１極小値）と、相関値の第２極大値（ＳＡＤ値の第２極小値）との差、または、比を用いていることも、この実施形態の動きベクトルの信頼性指標が、ノイズに対してロバスト性が高い理由となっている。
【０２０７】
すなわち、一般に、ノイズレベルが高くなって来ると、正しい動きベクトルであったとしても、そのＳＡＤ値は値が上昇してしまう。このため、信頼性の高い動きベクトルを抽出する目的で、動きベクトルの信頼性指標値Ｆｔに対して閾値を設定し、当該閾値との比較処理を行う場合には、その閾値自体もノイズレベルに応じて変化させる必要がある。
【０２０８】
これに対して、この実施形態による動きベクトルの信頼性指標値Ｆｔの場合、ノイズレベルが高くなると、相関値の第１極大値（ＳＡＤ値の第１極小値）と、相関値の第２極大値（ＳＡＤ値の第２極小値）の両方が、ノイズレベルに応じて、値が上昇する。このため、相関値の第１極大値（ＳＡＤ値の第１極小値）と、相関値の第２極大値の差に関しては、ノイズの影響が相殺されることになる。
【０２０９】
つまり、ノイズレベルに依らない一定値の閾値処理が可能となる。相関値の第１極大値（ＳＡＤ値の第１極小値）と、相関値の第２極大値（ＳＡＤ値の第２極小値）との比を、動きベクトルの信頼性指標値Ｆｔとして用いる場合も同様のことが言える。
【０２１０】
ところで、ブロックマッチングを行う対象ブロックの画像のコントラストが低い場合、ＳＡＤ値の第２極小値と、ＳＡＤ値の最小値の差は縮まる傾向にある。このため、同一フレーム内にコントラストの高い領域と低い領域があるとき、同一の閾値でベクトル信頼性の評価値Ｉｘを評価すると、コントラストの高い領域が優先的に抽出され易い。
【０２１１】
これは、動きベクトルの信頼性という観点では正しい結果ではあるが、コントラストの低い領域をある程度救済する目的で、この実施形態では、動きベクトルの信頼性の指標値を求める演算式に、コントラストの影響を軽減する項を追加する。すなわち、ターゲットフレームの画像の最大輝度の値と最小輝度の値との差を求め、当該輝度の差を動きベクトルの信頼性の指標値に反映させるようにする。なお、ノイズによる悪影響を避けるため、ターゲットフレームの画像データに対してローパスフィルタを施してから、最大輝度と最小輝度の抽出を行う。
【０２１２】
以上のことを踏まえたこの実施形態における動きベクトルの信頼性指標値Ｆｔの算出式は、
Ｆｔ＝（Ｂｔｍ２ＳＡＤ−ＭｉｎＳＡＤ）−（ＭａｘＴＡＲ−ＭｉｎＴＡＲ）×Ｃｏ
・・・（式ａ）
ただし、
Ｆｔ；動きベクトルの信頼性指標値
Ｂｔｍ２ＳＡＤ；ＳＡＤ値の第２極小値
ＭｉｎＳＡＤ；ＳＡＤ値の最小値（第１極小値）
ＭａｘＴＡＲ；ターゲットブロックの最大輝度値
ＭｉｎＴＡＲ；ターゲットブロックの最小輝度値
Ｃｏ；重み係数（≦１）
となる。
【０２１３】
なお、動きベクトル信頼性指標値として、相関値の第１極大値と相関値の第２極大値との比を用いる場合にも、信頼性指標値算出式において、上述の（式ａ）と全く同様に、コントラストの影響を軽減する項を追加するようにすれば良い。もっとも、動きベクトルの信頼性指標値Ｆｔの算出に当たって、コントラストの影響を軽減する項を追加することは必須ではなく、この項を省略してもよい。
【０２１４】
上述の説明では、基底面動きベクトルＭＶｂについての動きベクトル信頼性指標値のみを求めるようにしたが、縮小面動きベクトルＭＶｓや中間面動きベクトルＭＶｍについても、同様にして、動きベクトル信頼性指標値を求めることができることは、言うまでもない。
【０２１５】
［グローバルモーションおよびグローバル動きベクトルＧＭＶの算出］
従来は、上述のような動きベクトルの信頼性指標値はなかったので、ターゲットフレームについて求められた複数個のローカル動きベクトルＬＭＶのすべてを、同じ重みで用いてグローバルモーションを算出するようにしている。これに対して、この実施形態では、上述のようにして、ターゲットフレームについての複数個のローカル動きベクトルＬＭＶのそれぞれの信頼性指標値Ｆｔを得ることができる。
【０２１６】
そこで、求められた複数個のローカル動きベクトルＬＭＶの信頼性指標値Ｆｔを正規化して、例えば０以上、１以下の重み係数を、それぞれのローカル動きベクトルＬＭＶに対して設定することができる。そして、各ローカル動きベクトルＬＭＶは同じ重みではなく、それぞれの重み係数に応じた重みで用いて、グローバルモーションを算出するようにすることができる。すなわち、求められた複数個のローカル動きベクトルＬＭＶの全てを用いてグローバルモーションを算出する収束演算を開始するようにするが、その際に、各ローカル動きベクトルＬＭＶは、信頼性指標値Ｆｔに応じた重み係数に応じた重みを用いるようにする。
【０２１７】
しかし、グローバルモーションの算出演算処理を簡単にして、演算負荷を軽くするため、この実施形態では、ローカル動きベクトルＬＭＶについての重み係数Ｗを、０と、１に２値化するようにする。
【０２１８】
このため、この実施形態では、動きベクトルの信頼性指標値Ｆｔに対する閾値ｔｈを設定し、
Ｆｔ＞ｔｈであるときには、Ｗ＝１
Ｆｔ≦ｔｈであるときには、Ｗ＝０
・・・（式ｂ）
なる演算式により、各ローカル動きベクトルＬＭＶについての重み係数Ｗを、それぞれの動きベクトルの信頼性指標値Ｆｔを用いて算出するようにする。
【０２１９】
すなわち、この実施形態では、動きベクトル信頼性指標値Ｆｔを用いて、複数個のローカル動きベクトルＬＭＶのそれぞれの信頼性を判定し、複数個のローカル動きベクトルＬＭＶから、信頼性の高いローカル動きベクトルＬＭＶのみを抽出する。そして、当該抽出した信頼性の高いローカル動きベクトルＬＭＶのみを用いてグローバルモーションを算出する。
【０２２０】
この実施形態では、ターゲットフレームにおけるターゲットブロック数が比較的多いことから、この例のように、信頼性の高いローカル動きベクトルＬＭＶのみを抽出する方法であっても精度の良いグローバルモーションの算出が可能である。
【０２２１】
なお、複数個のローカル動きベクトルＬＭＶから、グローバルモーションを算出する具体的な処理例は、後述する。
【０２２２】
前述の図２０のノイズの多い画像については、図２１に示したようなローカル動きベクトルが得られることを説明した。この図２１の画像上に示したローカル動きベクトルに対して、この実施形態による動きベクトルの信頼性指標値を用いて信頼性の判定をした上で、閾値以上の信頼性が得られたもののみを抽出し、そのブロックと動きベクトルを描画すると、図２３のようになる。この図２３に示した、これらのブロックについては、ノイズの影響を受けず、ほぼ正しいローカル動きベクトルが得られていると言える。
【０２２３】
［動きベクトル算出部１５のハードウエア構成例］
動きベクトル算出部１５は、上述したように、ターゲットブロック毎のローカル動きベクトルＬＭＶの検出、検出したローカル動きベクトルＬＭＶの信頼性指標値の算出、グローバルモーションＧＭおよびグローバル動きベクトルＧＭＶの算出、などの処理を行う。
【０２２４】
この動きベクトル算出部１５のハードウエア構成例を図２５に示す。この例では、動きベクトル算出部１５は、ターゲットブロック１０２の画素データを保持するターゲットブロックバッファ部１５１と、参照ブロック１０８の画素データを保持する参照ブロックバッファ部１５２とを備える。
【０２２５】
また、動きベクトル算出部１５は、ターゲットブロック１０２と参照ブロック１０８とで対応する画素についてのＳＡＤ値を計算するマッチング処理部１５３を備える。また、動きベクトル算出部１５は、マッチング処理部１５３から出力されるＳＡＤ値情報からローカル動きベクトルを算出するローカル動きベクトル算出部１５４を備える。動きベクトル算出部１５は、さらに、コントロール部１５５と、動きベクトル信頼性指標値算出部１５６と、グローバルモーション算出部１５７と、グローバル動きベクトル算出部１５８と、コントラスト算出部１５９と、背景／動被写体判定部１５０と、を備える。
【０２２６】
コントラスト算出部１５９は、ローパスフィルタ１５９１と、最大輝度値検出部１５９２と、最小輝度値検出部１５９３とからなる。
【０２２７】
この例では、図示は省略するが、画像メモリ部４には、原画のターゲットフレームや参照フレームの画像データから生成された、ターゲットフレームおよび参照フレームについての縮小面の画像データおよび中間面の画像データが、記憶保持されている。
【０２２８】
コントロール部１５５は、この動きベクトル算出部１５における処理シーケンスを制御するもので、図示のように各部に制御信号を供給するようにする。
【０２２９】
ターゲットブロックバッファ部１５１は、このコントロール部１５５の制御を受けて、画像メモリ部４の縮小面、中間面あるいは基底面のターゲットフレームの画像データから、指示されたターゲットブロックの画像データを読み込んで、マッチング処理部１５３に供給する。
【０２３０】
参照ブロックバッファ部１５２は、コントロール部１５５の制御を受けて、画像メモリ部４の縮小面、中間面あるいは基底面の参照フレームの画像データから、指示されたマッチング処理範囲の画像データを読み込む。そして、参照ブロックバッファ部１５２は、そのマッチング処理範囲の画像データの中から、参照ブロックの画像データを順次にマッチング処理部１５３に供給するようにする。
【０２３１】
コントロール部１５５は、１組のターゲットフレームおよび参照フレームについての全てのブロック単位の処理が終了すると、ブロック分割の分割始点を上述のようにずらすように、ターゲットブロックバッファ部１５１および参照ブロックバッファ部１５２を制御する。ターゲットブロックバッファ部１５１および参照ブロックバッファ部１５２は、コントロール部１５５の制御に基づいて、ターゲットブロックおよび参照ブロックを、１フレーム前とはずらされた分割始点に基づいて、画像メモリ部４から読み出す。
【０２３２】
マッチング処理部１５３は、ターゲットブロックバッファ部１５１からのターゲットブロックの画像データと、参照ブロックバッファ部１５２からの参照ブロックの画像データを受ける。そして、マッチング処理部１５３は、縮小面、中間面および基底面におけるブロックマッチング処理を、コントロール部１５５の制御にしたがって行う。そして、マッチング処理部１５３は、参照ベクトル（参照ブロックの位置情報）と、ブロックマッチング処理結果のＳＡＤ値とを、ローカル動きベクトル算出部１５４に供給する。
【０２３３】
ローカル動きベクトル算出部１５４は、ＳＡＤ値の第１極小値保持部１５４１と、ＳＡＤ値の第２極小値保持部１５４２とを備え、マッチング処理部１５３からのＳＡＤ値から、ＳＡＤ値の第１極小値と、ＳＡＤ値の第２極小値とを検出する処理を行う。
【０２３４】
ローカル動きベクトル算出部１５４は、ＳＡＤ値の第１極小値保持部１５４１のＳＡＤ値の第１極小値およびその位置情報（参照ベクトル）と、ＳＡＤ値の第２極小値保持部１５４２のＳＡＤ値の第２極小値およびその位置情報（参照ベクトル）とを更新してゆく。ローカル動きベクトル算出部１５４は、この更新処理をマッチング処理範囲の全ての参照ブロックについてのブロックマッチング処理が終了するまで行なう。
【０２３５】
ブロックマッチング処理が終了したときには、ＳＡＤ値の第１極小値保持部１５４１には、そのときのターゲットブロックについてのＳＡＤ値の第１極小値およびその位置情報（参照ベクトル）が記憶保持される。また、ＳＡＤ値の第２極小値保持部１５４２には、ＳＡＤ値の第２極小値およびその位置情報（参照ベクトル）が、記憶保持される。
【０２３６】
ローカル動きベクトル算出部１５４は、マッチング処理範囲の全ての参照ブロックについてのブロックマッチング処理が終了したときに、ＳＡＤ値の第１極小値保持部１５４１に保持されている参照ベクトルの情報（位置情報）を、縮小面、中間面および基底面のそれぞれにおける動きベクトルとして検出する。このローカル動きベクトル算出部１５４の処理動作については、後で詳述する。
【０２３７】
このローカル動きベクトル算出部１５４からは、この実施形態では、縮小面マッチング処理時には、縮小面動きベクトルＭＶｓが、ローカル動きベクトルＬＭＶとしてコントロール部１５５に供給される。
【０２３８】
階層化ブロックマッチング処理を行なうときには、コントロール部１５５は、この縮小面動きベクトルＭＶｓの情報から、中間面におけるサーチ範囲を決定する。そして、コントロール部は、ターゲットブロックバッファ部１５１、参照ブロックバッファ部１５２およびマッチング処理部１５３に制御信号を供給して、中間面におけるブロックマッチングを行なうように制御する。
【０２３９】
中間面のマッチング処理が終了したときには、ローカル動きベクトル算出部１５４からは、縮小面動きベクトルＭＶｓと中間面動きベクトルＭＶｍとの合成ベクトルの情報が、ローカル動きベクトルＬＭＶとしてコントロール部１５５に供給される。
【０２４０】
コントロール部１５５は、この縮小面動きベクトルＭＶｓと中間面動きベクトルＭＶｍとの合成ベクトルの情報から、基底面におけるサーチ範囲を決定する。そして、コントロール部１５５は、基底面におけるブロックマッチングを行なうように、ターゲットブロックバッファ部１５１、参照ブロックバッファ部１５２およびマッチング処理部１５３に制御信号を供給する。
【０２４１】
前述もしたように、階層化ブロックマッチングのいずれの階層までを行なって、当該階層での動きベクトルを、ローカル動きベクトルＬＭＶとして出力するかは、コントローラ部１５５により制御可能である。
【０２４２】
例えば、精度は犠牲にしても、短時間でローカル動きベクトルＬＭＶを得たい場合には、ローカル動きベクトル算出部１５４は、縮小面ブロックマッチング処理のみをするようにすればよい。また、高精度のローカル動きベクトルＬＭＶを必要とする場合には、ローカル動きベクトル算出部１５４は、基底面ブロックマッチング処理までの階層化ブロックマッチング処理をするのがよい。さらに、精度と、時間とを考慮した場合には、ローカル動きベクトル算出部１５４は、中間面ブロックマッチング処理までの階層化ブロックマッチング処理をした方が良い場合もある。
【０２４３】
基底面までの階層化マッチング処理が終了したときには、ローカル動きベクトル算出部１５４からは、縮小面動きベクトルＭＶｓと中間面動きベクトルＭＶｍと基底面動きベクトルＭＶｂとの合成ベクトルの情報が、ローカル動きベクトルＬＭＶとして得られる。このローカル動きベクトルＬＭＶは、グローバル動きベクトル演算部１５７に供給される。
【０２４４】
グローバルモーション算出部１５７では、受け取ったローカル動きベクトルＬＭＶを、一時保持する。
【０２４５】
ローカル動きベクトル算出部１５４のローカル動きベクトルＬＭＶの算出処理が終了したときには、動きベクトル信頼性指標値算出部１５６がコントロール部１５５によりイネーブルとされる。また、ローカル動きベクトル算出部１５４からは、第１極小値保持部１５４１のＳＡＤ値の最小値ＭｉｎＳＡＤと、第２極小値保持部１５４２のＳＡＤ値の第２極小値Ｂｔｍ２ＳＡＤとが、動きベクトル信頼性指標値算出部１５６に供給される。
【０２４６】
また、このとき、ターゲットブロックバッファ部１５１からのターゲットブロックの画像データがローパスフィルタ１５９１を通じて最大輝度値検出部１５９２および最小輝度値検出部１５９３に供給される。そして、最大輝度値検出部１５９２および最小輝度値検出部１５９３のそれぞれで検出された最大輝度値ＭａｘＴＡＲおよび最小輝度値ＭｉｎＴＡＲが、動きベクトル信頼性指標値算出部１５６に供給される。
【０２４７】
動きベクトル信頼性指標値算出部１５６では、これに供給される情報を用いて、前述した（式ａ）にしたがって、動きベクトルの信頼性指標値Ｆｔを算出する。そして、動きベクトル信頼性指標値算出部１５６は、算出した動きベクトルの信頼性指標値Ｆｔを、グローバルモーション算出部１５７に供給する。グローバルモーション算出部１５７では、そのときに供給されているローカル動きベクトルＬＭＶに対応付けて、入力されてきた動きベクトルの信頼性指標値Ｆｔを、一時保持する。
【０２４８】
以上の処理が、ターゲットフレームの全てのターゲットブロックについて終了すると、コントロール部１５５は、グローバルモーション算出部１５７に、グローバルモーションの算出処理を開始するようにする制御指示信号を供給する。
【０２４９】
この実施形態では、グローバルモーション算出部１５７は、この制御指示信号を受けて、先ず、保持している複数個のローカル動きベクトルＬＭＶについて、対応して保持されている動きベクトル信頼性指標値Ｆｔを用いて、信頼性の判定を行う。この実施形態では、前述した（式ｂ）により、各ローカル動きベクトルＬＭＶについての重み係数Ｗを算出する。グローバルモーション算出部１５７は、重み係数Ｗ＝１である、信頼性の高いローカル動きベクトルＬＭＶのみを抽出する。
【０２５０】
そして、抽出した信頼性の高いローカル動きベクトルＬＭＶのみを用いてグローバルモーションＧＭを算出する演算処理を実行する。そして、グローバルモーション算出部１５７は、算出したグローバルモーションＧＭをグローバル動きベクトル算出部１５８に供給する。
【０２５１】
グローバル動きベクトル算出部１５８は、グローバルモーションＧＭを、ターゲットブロックの座標位置（例えば中心位置）に適用することにより、そのターゲットブロックのグローバル動きベクトルＧＭＶを算出する。
【０２５２】
グローバル動きベクトル算出部１５８は、算出したグローバル動きベクトルＧＭＶを背景／動被写体判定部１５０に供給する。背景／動被写体判定部１５０には、ローカル動きベクトル算出部１５４からのローカル動きベクトルＬＭＶも供給される。
【０２５３】
背景／動被写体判定部１５０では、前述もしたように、ターゲットブロック毎のローカル動きベクトルＬＭＶと、グローバル動きベクトルＧＭＶとを比較して、ターゲットブロックについての両者の一致度、つまり、背景一致度合いを判定する。この場合に、背景／動被写体判定部１５０では、ローカル動きベクトルＬＭＶおよびグローバル動きベクトルＧＭＶのそれぞれが対応する参照ブロックについての相関値（ＳＡＤ値）を比較して、背景と動被写体との判定を行う。
【０２５４】
ところで、ローカル動きベクトル算出部１５４でグローバルモーションを算出するために求めたローカル動きベクトルＬＭＶおよび相関値（ＳＡＤ値）を、背景／動被写体判定部１５０における前記の比較用として使用することもできる。
【０２５５】
しかし、その場合には、ローカル動きベクトル算出部１５４では、グローバルモーション算出部１５７やグローバル動きベクトル算出部１５８での処理時間分だけ、当該ローカル動きベクトルやＳＡＤ値を保持しておく必要がある。この場合、特に、保持しておくＳＡＤ値は、グローバル動きベクトルＧＭＶが、どの参照ベクトルに対応するものであるかは判っていないので、各ターゲットブロックのそれぞれについてＳＡＤ値テーブルの全てを保持しておく必要がある。そのため、これらローカル動きベクトルＬＭＶやＳＡＤ値を保持しておくメモリとして、容量が膨大なものが必要となってしまう。
【０２５６】
このことにかんがみ、この実施形態では、ローカル動きベクトル算出部１５４では、背景／動被写体判定部１５０における前記比較用のローカル動きベクトルＬＭＶやＳＡＤ値は、再計算するようにする。これにより、ローカル動きベクトル算出部１５４には、ローカル動きベクトルＬＭＶやＳＡＤ値を保持しておくメモリは設ける必要はなく、前記メモリの容量の問題は回避できる。
【０２５７】
したがって、背景／動被写体判定部１５０は、再算出されたローカル動きベクトルＬＭＶおよびＳＡＤ値を用いて、ターゲットブロックについての背景一致度合いを示すヒット率βを求める。グローバル動きベクトルＧＭＶに一致する参照ベクトル（参照ブロック位置）についてのＳＡＤ値も、当該再算出時に取得する。そして、背景／動被写体判定部１５０は、当該再算出されたローカル動きベクトルＬＭＶやＳＡＤ値を用いて、ターゲットブロックが、背景部分か、動被写体部分かを判定するようにする。
【０２５８】
背景／動被写体判定部１５０は、前述したように、ローカル動きベクトルＬＭＶに対応する参照ブロックについてのＳＡＤ値と比較すべき、グローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値は、画像のノイズ分を反映した値に補正する。
【０２５９】
画像のノイズは、一般に、画像の輝度値に応じたものとなる。そこで、この実施形態では、コントラスト算出部１５９の最大値輝度値検出部１５９２からの最大輝度値ＭａｘＴＡＲと、最小輝度値系部１５９３からの最小輝度値ＭｉｎＴＡＲが、背景／動被写体判定部１５０に供給される。
【０２６０】
背景／動被写体判定部１５０は、最大輝度値ＭａｘＴＡＲと、最小輝度値ＭｉｎＴＡＲとの差分として、画像の輝度値を検出し、検出した輝度値に応じて、グローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値の補正値を決定する。
【０２６１】
そして、背景／動被写体判定部１５０は、その補正後の相関値と、ローカル動きベクトルに対応する参照ブロックについての相関値とを比較する。そして、グローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値の補正値の方が、ローカル動きベクトルに対応する参照ブロックについての相関値よりも小さい（相関値は大きい）かどうか判定する。小さいときには、当該ターゲットブロックは、背景部分と評価判定する。
【０２６２】
背景／動被写体判定部１５０は、ターゲットブロックが背景部分であると見なせるようなヒット率βのときには、ＮＲ処理用動きベクトルＭＶｎｒとして、グローバル動きベクトルＧＭＶを出力する。それ以外のときには、背景／動被写体判定部１５０は、ターゲットブロックに対して、ＮＲ処理用動きベクトルＭＶｎｒとして、ローカル動きベクトルＬＭＶを出力する。
【０２６３】
前述したように、背景／動被写体判定部１５０からのＮＲ処理用動きベクトルＭＶｎｒは、動き補償画生成部１６に供給される。
【０２６４】
動き補償画生成部１６では、動きベクトル算出部１５を通じて送られてくる参照フレームの画像データＲＥＦｖに対して、ＮＲ処理用動きベクトルＭＶｎｒに対応する変形処理が施されて、動き補償画像のデータＭＣｖが生成される。そして、生成された動き補償画像のデータＭＣｖが加算部１７に供給される。
【０２６５】
また、背景／動被写体判定部１５０は、求めたヒット率βは、加算率計算部２１に供給する。加算率計算部２１は、ヒット率βに基づいて、ターゲット画像に対する動き補償画像の加算率αを算出する。
【０２６６】
この場合、加算率αは、ブロック単位あるいは画素単位で計算をすることができる。画素単位で計算をする場合であっても、ヒット率βは、ブロック単位であるので、当該ヒット率βが加算率の計算に関与するのは、ブロック単位であるのは言うまでもない。
【０２６７】
加算率αをブロック単位に計算する場合には、ヒット率βのみに応じた加算率αを計算することもできる。勿論、ヒット率β以外の他の加算率計算要素を加味して、加算率αを計算することもできる。この実施形態では、ヒット率βのみではなく、後述もするように、ターゲット画像と動き補償画像との画素単位の違い、ターゲット画像のノイズなどの要因を加味して加算率αを計算する。
【０２６８】
加算率計算部２１で求められた加算率αは、加算部１７に供給される。加算部１７は、これに送られてくるターゲット画像の画像データＴＧｖに対して、動き補償画像の画像データＭＣｖを、加算率αで加算する。
【０２６９】
この実施形態においては、加算部１７では、ターゲットブロックの背景一致度合い（ヒット率β）に応じた加算率で、ターゲット画像と動き補償画像とが重ね合わされる。つまり、静止画部分では、ターゲット画像に対する動き補償画像の加算率が高くなり、動被写体部分では、ターゲット画像に対する動き補償画像の加算率が低くなる。
【０２７０】
こうして、この実施形態では、背景部分と動被写体部分とでは、それぞれに適切な加算率で画像の重ね合わせをすることができる。したがって、画像重ね合わせにより得られたＮＲ画像は、良好なものとなる。
【０２７１】
しかも、この実施形態におけるグローバルモーションおよびグローバル動きベクトルＧＭＶは、信頼性の高いローカル動きベクトルＬＭＶから生成されたものであるので、確度の高い動きベクトルであり、その点でも良好なＮＲ画像を得ることができる。
【０２７２】
［ＮＲ画像生成のための全体の処理の流れ］
図２６は、画像メモリ４に取り込んだ撮像画像について、ＮＲ画像を生成する処理の流れを示すフローチャートである。なお、この図２６は、１組のターゲットフレームと参照フレームについての処理について示したものである。
【０２７３】
先ず、動きベクトル算出部１５のコントロール部１５５は、処理をしようとするフレーム画像についての分割始点を、上述した第１の実施形態で説明したようにして、ブロック分割位置が前のフレームでのブロック分割位置と重ならないように決定する（ステップＳ１）。
【０２７４】
次に、動きベクトル算出部１５では、ローカル動きベクトル算出部１５４でブロックマッチングによるローカル動きベクトルＬＭＶの検出を行なう（ステップＳ２）。次に、動きベクトル信頼性指標値算出部１５６は、検出されたローカル動きベクトルＬＭＶについての信頼性の指標値Ｆｔを、ローカル動きベクトル算出部１５４で算出されたＳＡＤ値の第１極小値ＭｉｎＳＡＤと、第２極小値Ｂｔｍ２ＳＡＤとを用いて算出する（ステップＳ３）。
【０２７５】
次に、グローバルモーション算出部１５７は、算出された信頼性の指標値Ｆｔに基づいて、信頼性の高いローカル動きベクトルＬＭＶを抽出する。そして、グローバルモーション算出部１５７は、当該抽出した信頼性の高いローカル動きベクトルＬＭＶのみを用いてグローバルモーションＧＭを算出する（ステップＳ４）。
【０２７６】
次に、ステップＳ３で算出されたグローバルモーションＧＭを用いて、ターゲットブロック毎のグローバル動きベクトルＧＭＶを算出する（ステップＳ５）。
【０２７７】
また、ローカル動きベクトル算出部１５４で、再ブロックマッチング処理を行なって、ローカル動きベクトルＬＭＶを再検出する（ステップＳ６）。そして、ローカル動きベクトルＬＭＶが検出された参照ブロック位置（参照ベクトル）におけるＳＡＤ値（ＭｉｎＳＡＤ）を保持すると共に、ステップＳ４で算出されたグローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値も保持しておく。なお、このときには、ローカル動きベクトルＬＭＶの信頼性の指標値Ｆｔの算出の必要はない。
【０２７８】
次に、背景／動被写体判定部１５０は、ステップＳ６で算出されたローカル動きベクトルＬＭＶと、ステップＳ５で求められたグローバル動きベクトルＧＭＶとを比較することで、各ターゲットブロックについての背景一致度合いを評価し、ヒット率βを求める。そして、さらに、各ターゲットブロックについてのＮＲ処理用動きベクトルＭＶｎｒを定め、動き補償画生成部１６に出力する（ステップＳ７）。
【０２７９】
このステップＳ７でのローカル動きベクトルＬＭＶとグローバル動きベクトルＧＭＶとの比較においては、ローカル動きベクトルＬＭＶに対応する参照ブロックについてのＳＡＤ値と、グローバル動きベクトルＧＭＶに対応する参照ブロックのついてのＳＡＤ値とを比較する。さらに、グローバル動きベクトルＧＭＶに対応する参照ブロックのついてのＳＡＤ値については、上述したように、画像のノイズに応じた補正を加えるようにする。
【０２８０】
次に、動き補償画生成部１６では、ステップＳ６で定められたＮＲ処理用動きベクトルＭＶｎｒを用いて、参照ブロック毎に動き補償画を生成し、加算部１７に出力する（ステップＳ８）。
【０２８１】
次に、加算率計算部２１は、ステップＳ７で求められたヒット率βを用いて、上述したようにして、この例では、画素毎の加算率αを算出し、加算部１７に供給する（ステップＳ９）。
【０２８２】
次に、加算部１７は、ターゲット画像に、ステップＳ７で生成された動き補償画を、ステップＳ９で算出された加算率αで画素毎に重ね合わせてＮＲ画像を生成する（ステップＳ１０）。以上で、ＮＲ画像の処理は終了となる。
【０２８３】
なお、この図２６は、あるターゲットフレームの１枚についての処理動作を示したものである。３枚以上の複数枚の画像を重ね合わせる場合には、生成したＮＲ画像をターゲットフレームとすると共に、新たに重ね合わせる画像を参照フレームとして、図２６の処理を繰り返す。
【０２８４】
次に、動きベクトル算出部１５の主要な各部の詳細な処理動作について、さらに説明する。
【０２８５】
［ローカル動きベクトル算出部１５４での処理動作］
この実施形態のローカル動きベクトル算出部１５４では、ＳＡＤ値についての極小値を検出するため、注目画素（自画素）についての差分値と、当該注目画素の周囲の画素の差分値とを比較するようにする。すなわち、図２７において、点線で囲んで示すように、位置Ｐｏを判定対象点（画素）として、当該判定対象点位置ＰｏのＳＡＤ値と、当該判定対象点位置Ｐｏの周囲近傍の８個の画素のＳＡＤ値とを比較する。そして、判定対象点の画素のＳＡＤ値が、点線で囲んで示す領域の９個のＳＡＤ値の中で最小値（ローカルミニマムという）であるか否か判断する。
【０２８６】
そして、判定対象点のＳＡＤ値が、ローカルミニマムであると判断されたときには、それまで保持されていたＳＡＤ値の極小値と比較して、保持されていたＳＡＤ値の極小値よりも小さいか否か判断する。そして、判定対象点のＳＡＤ値が、保持されていたＳＡＤ値の極小値よりも小さいと判断されると、保持するＳＡＤ値の極小値を、新たに検出されたローカルミニマムのＳＡＤ値に更新してゆく。
【０２８７】
上述したようなローカルミニマムのＳＡＤ値を検出するための構成として、この実施形態では、ローカル動きベクトル算出部１５４は、ＳＡＤ値を保持しておくＳＡＤテーブルのバッファメモリとして、その規模を小さくするように工夫している。すなわち、参照ブロックを、１ピクセル単位でサーチする場合には、ＳＡＤ値を保持しておくＳＡＤテーブルのバッファメモリとして、図２７に示すように、ターゲットブロックの水平方向のサイズの２ライン分＋３個分のＳＡＤ値の保持が可能なものを用意する。
【０２８８】
図２７から分かるように、ターゲットブロックの水平方向のサイズの２ライン分＋３個分のＳＡＤ値が、バッファメモリに書き込まれると、判定対象点位置Ｐｏでのローカルミニマムの判定が可能となる。
【０２８９】
バッファメモリのサイズを最小にするために、ここでは、図２７に示すように、極小値評価（ローカルミニマム検出）で使われなくなったＳＡＤ値が記憶されていたメモリ位置Ｐａには、新規に入力されるＳＡＤ値が上書きされる。すなわち、新規に入力されるＳＡＤ値は、順番として図２７のメモリ位置Ｐｂに書き込まれるのであるが、このメモリ位置Ｐｂではなく、使われなくなったメモリ位置Ｐａを再利用することで、メモリのハードウエア規模の増大を抑えるようにしている。
【０２９０】
なお、この実施形態では、ローカル動きベクトル算出部１５４は、ローカルミニマムを検出するためのバッファの他に、前述した第１極小値保持部１５４１と、第２極小値保持部１５４２とを備えるものである。
【０２９１】
以上の処理が基本的な処理であり、この基本的な処理を、第１極小値と第２極小値とに適用することにより、ＳＡＤ値の最小値およびＳＡＤ値の第２極小値を検出するようにする。
【０２９２】
この実施形態では、ローカル動きベクトル算出部１５４では、縮小面と、中間面と、基底面とで、同じ動作をするものであるが、この実施形態では、基底面で、ローカル動きベクトルＬＭＶを検出するようにすると共に、その信頼性指標値を算出するようにする。したがって、ＳＡＤ値の第２極小値が必要になるのは、この例では、基底面のみでよく、縮小面および中間面では、ＳＡＤ値の第２極小値の算出保持は、省略するようにしてもよい。
【０２９３】
図２８は、このローカル動きベクトル算出部１５４における第１極小値および第２極小値の検出処理動作の流れを示すフローチャートである。
【０２９４】
先ず、マッチング処理部１５３からのＳＡＤ値を取り込む（ステップＳ１０１）。そして、判定対象点位置ＰｏのＳＡＤ値と、その周囲８個のＳＡＤ値との比較をする（ステップＳ１０２）。その比較の結果、判定対象点位置ＰｏのＳＡＤ値は、ローカルミニマムであるか否か判別する（ステップＳ１０３）。
【０２９５】
ステップＳ１０３で、判定対象点位置ＰｏのＳＡＤ値は、ローカルミニマムではないと判別したときには、ステップＳ１０１に戻り、次のＳＡＤ値の取り込みを行う。
【０２９６】
ステップＳ１０３で、判定対象点位置ＰｏのＳＡＤ値は、ローカルミニマムであると判別したときには、保持しているＳＡＤ値の第１極小値および第２極小値と、判定対象点位置ＰｏのＳＡＤ値とを比較する（ステップＳ１０４）。
【０２９７】
そして、判定対象点位置ＰｏのＳＡＤ値が、保持しているＳＡＤ値の第１極小値よりも小さいか否か判別する（ステップＳ１０５）。小さいと判別したときには、第１極小値保持部１５４１に保持しているＳＡＤ値を、第２極小値保持部１５４２に保持するように更新すると共に、判定対象点位置ＰｏのＳＡＤ値を第１極小値保持部１５４１に保持するようにする（ステップＳ１０６）。
【０２９８】
そして、ターゲットブロックに対して、全ての参照ブロックとの間のＳＡＤ値についての算出処理が完了したか否か判別し（ステップＳ１０９）、完了してはいないと判別したときには、ステップＳ１０１に戻って、次のＳＡＤ値を取り込む。また、ステップＳ１０９で、ターゲットブロックに対して、全ての参照ブロックとの間のＳＡＤ値についての算出処理が完了したと判別したときには、この処理ルーチンを終了する。
【０２９９】
また、ステップＳ１０５で、判定対象点位置ＰｏのＳＡＤ値が、保持しているＳＡＤ値の第１極小値より大きいと判別したときには、判定対象点位置ＰｏのＳＡＤ値が、保持しているＳＡＤ値の第２極小値より小さいか否か判別する（ステップＳ１０７）。小さいと判別したときには、第２極小値保持部１５４２に保持するＳＡＤ値を、判定対象点位置ＰｏのＳＡＤ値に更新するようにする（ステップＳ１０８）。
【０３００】
そして、ステップＳ１０８の次には、ステップＳ１０９に進み、ターゲットブロックに対して、全ての参照ブロックとの間のＳＡＤ値についての算出処理が完了したか否か判別する。完了してはいないと判別したときには、ステップＳ１０１に戻って、次のＳＡＤ値を取り込む。また、ステップＳ１０９で、ターゲットブロックに対して、全ての参照ブロックとの間のＳＡＤ値についての算出処理が完了したと判別したときには、この処理ルーチンを終了する。
【０３０１】
また、ステップＳ１０７で、判定対象点位置ＰｏのＳＡＤ値が、保持しているＳＡＤ値の第２極小値より小さくはないと判別したときにもステップＳ１０９に進む。そして、このステップＳ１０９で、ターゲットブロックに対して、全ての参照ブロックとの間のＳＡＤ値についての算出処理が完了したか否か判別する。
【０３０２】
ステップＳ１０９で、ターゲットブロックに対して、全ての参照ブロックとの間のＳＡＤ値についての算出処理が完了してはいないと判別したときには、ステップＳ１０１に戻って、次のＳＡＤ値を取り込む。また、ステップＳ１０９で、ターゲットブロックに対して、全ての参照ブロックとの間のＳＡＤ値についての算出処理が完了したと判別したときには、この処理ルーチンを終了する。
【０３０３】
この図２８の処理フローチャートは、縮小面、中間面および基底面で同様とすることができる。この場合に、縮小面および中間面では、第１極小値保持部１５４１に最終的に保持されたＳＡＤ値を、ＳＡＤ値の最小値ＭｉｎＳＡＤとして検出し、それに対応する参照ベクトルを、縮小面動きベクトルＭＶｓおよび中間面動きベクトルＭＶｍとして検出して、出力することができる。
【０３０４】
また、基底面では、第１極小値保持部１５４１に最終的に保持されたＳＡＤ値を、ＳＡＤ値の最小値ＭｉｎＳＡＤとして検出し、それに対応する参照ベクトルを、基底面動きベクトルＭＶｂとして検出して出力することができる。また、基底面では、第１極小値保持部１５４１に最終的に保持されたＳＡＤ値（最小値ＭｉｎＳＡＤ）と、第２極小値保持部１５４２に最終的に保持されたＳＡＤ値（ＳＡＤ値の第２極小値）とを、動きベクトル信頼性指標値算出部１５６に供給するようにする。
【０３０５】
［グローバルモーション算出部１５７での処理動作］
＜拡張したアフィン変換について＞
この実施形態では、多数個のローカル動きベクトルＬＭＶから、グローバルモーションを算出（推定）する。そして、算出したグローバルモーションから、グローバル動きベクトルＧＭＶを算出（グローバルモーションを推定）する。この場合において、グローバルモーションをアフィン変換で表現する方法を用いる。
【０３０６】
図２９に、アフィン変換の一般式を、（式１）として示す。この（式１）において、ｖは、ターゲットブロックの動きベクトルの水平成分、ｗはターゲットブロックの動きベクトルの垂直成分を示し、ａ，ｂ，ｃ，ｄ，ｅ，ｆは、アフィンパラメータを示している。ここで、通常のアフィン変換では、アフィンパラメータａ，ｂ，ｃ，ｄ，ｅ，ｆは、固定値である。そして、ｘ，ｙは、ターゲットブロックの中心座標の水平成分、垂直成分を示している。
【０３０７】
グローバルモーションの収束演算過程において求められたアフィンパラメータと、各ターゲットブロックの中心の座標から、グローバルモーションに応じた動きベクトル（このベクトルを理想的な動きベクトルと呼ぶ）が得られる。この理想的なベクトルと、観測（ブロックマッチングにより検出）された動きベクトルとの間のエラーの総和εは、図３０の（式２）のように表される。
【０３０８】
グローバルモーションを導出するという命題は、上記のエラーの総和εを最小化するアフィンパラメータａ〜ｆの推定であり、これは、例えば、最小自乗法によって解くことが可能である。図３１、図３２、図３３の（式３）、（式４）、（式５）には、アフィンパラメータａ〜ｆの導出過程と、その結果を示す。
【０３０９】
このように、アフィン変換のパラメータは比較的容易に算出されるが、その効果は大きい。アフィン変換は、画像の平行移動、回転、拡大縮小の他、ある程度の変形にも対応できるため、大抵の手ブレ即ちカメラワークの微少な補正をカバーする。
【０３１０】
上記のアフィン変換についての先行技術文献としては、特許文献２（特開２００５−３２１９０２号公報）などがある。
【０３１１】
しかしながら、通常のアフィン変換は、“あおり”に対応できない欠点がある。“あおり”とは、手ブレのピッチ軸（鉛直方向軸）またはヨー軸（鉛直方向に直交する水平方向軸）の回転成分によってもたらされる現象で、正対した矩形平面が、図３４に示すように、台形に変形してしまうことから、台形歪みやキーストーンとも呼ばれる。
【０３１２】
すなわち、図３４（Ａ）の下側に示すように、カメラＣＡＭの光軸Ｌｚが、被写体ＯＢＪの矩形平面に直交するように、カメラＣＡＭが被写体ＯＢＪに正対しているときには、被写体ＯＢＪの矩形平面の撮像画像は、図３４（Ａ）の上側に示すように、そのまま矩形平面となる。
【０３１３】
これに対して、例えば図３４（Ｂ）の下側に示すように、カメラＣＡＭの光軸Ｌｚが、被写体ＯＢＪに正対せずに、角度θだけピッチ軸回転（鉛直な面内で回転）した場合には、被写体ＯＢＪの矩形平面の撮像画像は、図３４（Ｂ）の上側に示すように、左右方向（画像の水平方向）の長さが、角度θに応じて線形に変化する台形となる。
【０３１４】
なお、図示は省略するが、カメラＣＡＭの光軸Ｌｚが、被写体ＯＢＪに正対せずに、角度θだけヨー軸回転（水平面内で回転）した場合には、被写体ＯＢＪの矩形平面の撮像画像は、上下方向（画像の垂直方向）の長さが、角度θに応じて線形に変化する台形となる。
【０３１５】
手ブレによって、上述のように撮像されてしまった画像を、元通り正対した形に戻す処理が、“あおり”補正または台形補正であるが、アフィン変換のパラメータではこれを表現できない。すなわち、例えば、図３４（Ｂ）に示されるような“あおり”台形画像を、長方形に戻す“あおり”補正を考えた場合、鉛直軸（ｙ軸）に沿って上方を水平縮小し、下方を水平拡大すれば良い。ところが、アフィン変換のパラメータのうち、水平拡大縮小に関するパラメータはａであり、このパラメータａが一定値のため、アフィン変換ではこの補正に対応できないのである。
【０３１６】
このような問題を回避するため、アフィン変換の代わりに正射影変換を用いることが考えられている。正射影変換は、図３５の（式６）で表され、３次元空間における、任意の平面から平面への射影変換を表すことが可能である。
【０３１７】
しかし、ここで想定するような、多数のベクトルに対して１つのグローバルモーションを特定するようなケースにおいて、正射影変換を適用するのは極めて難しい。図３５の（式６）の形状から最小自乗法を用いるのは難しく、他の手法を用いた場合でも、膨大な演算が必要となるからである。
【０３１８】
現実的な問題として、実際の撮像対象は立体物であるため、観測されたローカル動きベクトルには、互いに距離の異なる被写体が多数含まれる。そうした場合、正射影変換の当てはめは、単なる近似に過ぎないことになる。したがって、正射影変換の一般解を解くために要する膨大なコストを勘案すると、コスト対効果として釣り合わない、とする判断が妥当と言える。
【０３１９】
より簡易的に正射影変換を適用する場合には、６つのベクトルに対して解を求める方法が採用可能である。求めるべきパラメータが１２個あるため、６つのベクトルの座標を代入すれば、６元１次方程式が６本×２組でき、これは、６×６行列の逆行列計算により、比較的容易に解が導き出せるからである。したがって、多数のローカルベクトルから６つのベクトルを、適切に選択できさえすれば良いことになる。
【０３２０】
しかしながら、撮像画像に動被写体が含まれている場合を考慮すると、ローカルベクトルの精度のそれぞれは、それほど期待できないので、多くのローカル動きベクトルの中から、精度の高いベクトルのみを抽出することは困難である。このため、多数のローカル動きベクトルから６つのベクトルを、適切に選択することは非常に困難である。
【０３２１】
この実施形態では、以上の点にかんがみ、画像に“あおり”変形があっても、良好にグローバルモーションを検出することができるようにする手法を用いる。
【０３２２】
すなわち、この実施形態では、前述の図２９に示した従来の通常のアフィン変換を変形した拡張したアフィン変換（以下、拡張アフィン変換という）を用いる。
【０３２３】
図３６で実線に示すような“あおり”台形画像を、図３６で点線で示す矩形（長方形）に戻す“あおり”補正を考えた場合、図３６において、矢印により示すように、鉛直軸（ｙ軸）に沿って、台形画像の上方半分を水平縮小し、下方半分を水平拡大すれば良い。
【０３２４】
通常のアフィン変換では、アフィン変換のパラメータａ，ｂ，ｃ，ｄ，ｅ，ｆのうち、水平拡大縮小に関するパラメータはａであり、このパラメータａが一定値のため、通常のアフィン変換では、この“あおり”補正に対応できない。
【０３２５】
そこで、図３６の下側に示すように、パラメータａをｙ軸に沿って値が変化するように、ｑ０・ｙ＋ｒ０と置き換えれば、水平方向の拡大縮小率が、鉛直軸に応じて線形に変化する変換となる。すなわち、パラメータａを、“あおり”補正のために、ｙ軸の変数ｙの関数に置き換える。ここでは、図３６の“あおり”補正のためには、線形な関数、つまり、パラメータａは、一次関数ｑ０・ｙ＋ｒ０とすればよいことになる。
【０３２６】
図３６は、前述したピッチ軸の回転に伴う“あおり”の補正を考慮したものであるが、ヨー軸の回転に伴う“あおり”の補正や、ピッチ軸およびヨー軸の両者の回転が合成された“あおり”の補正を考慮する必要がある。
【０３２７】
そこで、この実施形態では、図３６を用いて説明した考え方を拡張する。すなわち、アフィン変換を、任意の軸に沿って、その軸と垂直な方向に拡大縮小する形にするには、パラメータａ，ｂ，ｄ，ｅを、図３７の（式７）に示すように、それぞれｐｎ・ｘ＋ｑｎ・ｙ＋ｒｎ（ｎ＝０，１，２，３）と置き換えるようにする。
【０３２８】
ここで、アフィンパラメータａ，ｂ，ｄ，ｅは、画像の変形に関与するパラメータであるのに対して、アフィンパラメータｃ，ｆは、画像の左右、上下方向のシフトに関与するパラメータである。よって、アフィンパラメータｃ，ｆについては、関数への置き換えはしない。
【０３２９】
この（式７）のように表すと、計１４個のパラメータとなり、拡張アフィン変換は、煩雑性が高いように見えるが、（式７）を展開して整理すれば、結局１２個のパラメータを使って、図３８の（式８）の形となる。
【０３３０】
この拡張アフィン変換の式形状であれば、複雑な式にはなるものの、最小自乗法によって、複数のローカル動きベクトルに対する解を、一意に導き出すことが可能である。手法はアフィン変換と同じであるため、最終結果のみを、図３９〜図４３に、それぞれ（式９〜（式１３）として示す。
【０３３１】
なお、この実施形態では、図３７に示したように、画像の変形に関与するアフィンパラメータａ，ｂ，ｄ，ｅの全てを関数に置き換えるようにしたが、画像の変形が特定の方向のみである場合には、その方向に関するパラメータのみを関数に置き換えるようにすればよい。例えば、図３６の上方に示した変形のみを考慮する場合には、図３６の下側に示すように、パラメータａのみを、関数に置き換えればよい。
【０３３２】
また、上述の例では、置き換える関数は、線形変位を想定したため、一次関数としたが、曲線的な変位を想定する場合には、２次以上の関数とするようにしてもよい。
【０３３３】
＜拡張したアフィン変換を用いたグローバルモーションの算出＞
不特定多数のベクトルから、最も好適なグローバルモーションを導出する手法として、この実施形態では、図４４および図４５のフローチャートに示す方法を用いる。この方法は、信頼性の高いブロックの中から、動被写体等の、グローバルモーションに適合しにくいブロックのローカル動きベクトルを徐々に排除しながら、最小自乗法を用いて、グローバルモーションのパラメータの収束を図る方法である。
【０３３４】
この図４４、図４５のフローチャートの処理においては、拡張アフィン変換を導入することにより、ベクトル精度の低い多くのローカル動きベクトルから、動被写体等のエラーベクトルを排除しながら、“あおり”も含めた、最適なグローバルモーションを、現実的な演算コストで導出することが可能となる。
【０３３５】
ところで、この実施形態の拡張アフィン変換は、変形パラメータが多く、柔軟であるが故に、グローバルモーションの収束演算において、動被写体やノイズ等の誤った動きベクトルにも対応してしまい、これら誤った動きベクトルを排除できない可能性がある。
【０３３６】
そのため、この実施形態では、図４４，図４５に示すように、収束演算ループの初期においては、通常のアフィン変換を用いて誤った動きベクトル（エラーベクトルという）の排除を行い、その後、拡張アフィン変換を用いた収束演算を行なうようにする。これは、通常のアフィン変換を用いることで、あおり成分のベクトルを排除しない程度に、ベクトルエラーが小さくなってから、拡張アフィン変換を用いて、あおり成分にも対応した高精度の収束を試みる手法を用いるようにするためである。
【０３３７】
また、この実施形態では、収束演算の各回で求められたグローバルモーションＧＭから求められる動きベクトル（グローバル動きベクトル）と、検出された動きベクトル（上述のローカル動きベクトルＬＭＶ）との差としてのベクトルエラーの最大値を検出する。
【０３３８】
そして、検出したベクトルエラーの最大値が、予め定めた閾値よりも大きい場合には、通常のアフィン変換を継続し、検出したベクトルエラーの最大値が、予め定めた閾値以下になったら、拡張アフィン変換を用いる収束演算を行なうようにする。
【０３３９】
図４４および図４５のフローチャートに沿って説明する。
【０３４０】
先ず、動きベクトル算出部１５７は、保持している複数個のローカル動きベクトルＬＭＶについて、それぞれの動きベクトル信頼性指標値Ｆｔと、予め定めた閾値とを比較する。そして、その比較結果から、動きベクトル信頼性指標値Ｆｔが、予め定めた閾値よりも大きい信頼性の高いローカル動きベクトルＬＭＶのターゲットブロック（以下、説明の簡単のためブロックと記載）のみを選定する（ステップＳ２０１）。この処理は、前述の（式ｂ）を用いて説明したように、重み係数Ｗとして、１と０との２値を用いる場合に相当する。
【０３４１】
次に、動きベクトル算出部１５７は、収束演算の収束ループが最初の１回目であるか否か判別する（ステップＳ２０２）。最初の１回目であると判別したときには、動きベクトル算出部１５７は、選定した複数のブロックのローカル動きベクトルＬＭＶのみを用いると共に、通常のアフィン変換を用いて、グローバルモーションＧＭを導出（推定）する（ステップＳ２０３）。つまり、グローバルモーションＧＭについてのアフィンパラメータａ〜ｆを算出する。
【０３４２】
次に、導出したグローバルモーションＧＭに基づいて、演算に用いた、選定したブロックのそれぞれの理論上のローカル動きベクトルＬＭＶｓを計算する（ステップＳ２０６）。
【０３４３】
次に、選定した複数のブロックのそれぞれにおいて、ブロックマッチング処理により求めたローカル動きベクトルＬＭＶと、ステップＳ２０６で求めた理論上のローカル動きベクトルＬＭＶｓとの誤差Ｅｎを計算する（ステップＳ２０７）。
【０３４４】
このブロックマッチングで求めた動きベクトルと理論上の動きベクトルとの誤差計算は、演算の精度を重視するなら、三平方の定理から正しく距離計算を行えば良い。しかし、演算の精度よりも軽さを重要視するなら、水平及び垂直の両者の距離をそれぞれ求め、それらの和を、近似的な距離として用いても良い。
【０３４５】
次に、選定した複数のブロックのそれぞれについて求めた誤差Ｅｎの全てを用いて、それら全ての誤差の平均値Ｅaveと、最大値Ｅmaxとを算出する（ステップＳ２０８）。そして、平均値Ｅaveが、それに対して予め定められた閾値θａよりも小さく、且つ、最大値Ｅmaxが、それに対して予め定められた閾値θｂよりも小さいか否か判別する（ステップＳ２０９）。
【０３４６】
ステップＳ２０９での判別の結果、条件を満足してはいないと判別したときには、ステップＳ２０７で求めた各ブロックの誤差Ｅｎの中から、誤差Ｅｎ＝Ｅmaxとなるブロックを、グローバルモーションを導出する複数のブロックから排除する。または、誤差Ｅｎ≧θｂとなるブロックを検出し、検出したブロックの全てを、グローバルモーションＧＭを導出する複数のブロックから排除する（図４５のステップＳ２１１）。
【０３４７】
次に、ステップＳ２１１でのブロック排除の結果、残存するブロックの数が予め定めた数の閾値θｃよりも少ないか否か判別する（ステップＳ２１２）。ステップＳ２１２で、残存するブロックの数が閾値θｃよりも少なくはないと判別したときには、ステップＳ２０２に戻り、残存するブロックを選定したブロックとして、ステップＳ２０２以降の処理を繰り返す。
【０３４８】
残存するブロックの数が閾値θｃよりも少ないときには、適切なグローバルモーションＧＭが得られないので、対象となっている参照フレームの画像は、この実施形態の画像の重ね合わせには使用できない。そこで、ステップＳ２１２で、残存するブロックの数が閾値θｃよりも少ないと判別したときには、当該参照フレームについてのその後の処理を全て行わないようにスキップする（ステップＳ２１３）。
【０３４９】
次に、ステップＳ２０２で、収束演算の収束ループが最初の１回目ではないと判別したときには、動きベクトル算出部１５７は、ステップＳ２０７で求めた各ブロックの誤差Ｅｎの最大値Ｅmaxが、予め定めた閾値θｄより大きいか否か判別する（ステップＳ２０４）。
【０３５０】
ここで、閾値θｄは、通常のアフィン変換を用いてグローバルモーションＧＭの演算を行い、上述のステップＳ２１１のようにして、エラーベクトルの排除を行うときに、あおり成分のベクトルを排除しない程度の値に選定される。
【０３５１】
ステップＳ２０４で、誤差Ｅｎの最大値Ｅmaxが、予め定めた閾値θｄより大きいと判別したときには、動きベクトル算出部１５７は、ステップＳ２０３に進み、通常のアフィン変換を用いて、グローバルモーションＧＭを導出するようにする。つまり、拡張アフィン変換のパラメータを算出する。そして、前述したステップＳ２０３以降の処理を繰り返す。
【０３５２】
また、ステップＳ２０４で、誤差Ｅｎの最大値Ｅmaxが、予め定めた閾値θｄ以下になった判別したときには、動きベクトル算出部１５７は、選定した複数のブロックのローカル動きベクトルＬＭＶのみを用いると共に、拡張アフィン変換を用いて、グローバルモーションを導出する（ステップＳ２０５）。そして、ステップＳ２０５の後は、上述したステップＳ２０６以降の処理を繰り返す。
【０３５３】
そして、図４４のステップＳ２０６で、誤差Ｅｎの平均値Ｅaveが閾値θａよりも小さく、且つ、誤差Ｅｎの最大値Ｅmaxが閾値θｂよりも小さいと判別したときには、演算は収束したとして、グローバルモーションＧＭをそのときのもので確定する（ステップＳ２１０）。そして、この処理ルーチンを終了する。
【０３５４】
なお、ステップＳ２１１で、誤差Ｅｎが最大エラーＥmaxのブロックのみを排除するか、誤差Ｅｎが閾値θｂ以上のブロックをまとめて排除するかは、グローバル動きベクトルＧＭＶを求める際の収束の早さと精度のバランスで決めれば良い。精度を優先するなら前者の方式を採用し、エラーブロックを1つずつ排除して行けば良く、収束の早さを優先するなら後者を選択しても構わない。
【０３５５】
なお、上述の例では、ステップＳ２０４においては、通常のアフィン変換を用いた演算と、拡張アフィン変換を用いた演算の切り替え判断に、誤差Ｅｎの最大値Ｅmaxを用いるようにした。しかし、上記のステップＳ２０４での切り替え判断は、誤差Ｅｎの最大値Ｅmaxだけでなく、誤差Ｅｎの平均値Ｅaveを考慮しても良い。
【０３５６】
すなわち、ステップＳ２０４で、誤差Ｅｎの平均値Ｅaveが予め定められた閾値よりも大きいか否か判別し、平均値Ｅaveが閾値よりも大きいときには、通常アフィン変換を用いた演算を行う。そして、平均値Ｅaveが閾値以下になったときには、拡張アフィン変換を用いた演算を開始するようにする。
【０３５７】
また、ステップＳ２０４で、誤差Ｅｎの最大値Ｅmaxと、平均値Ｅaveとの両方が、予め定められた閾値よりも大きいか否か判別する。そして、閾値よりも大きいと判別したときには、通常アフィン変換を用いた演算を行い、閾値よりも小さくなったと判別したときには、拡張アフィン変換を用いた演算を開始するようにしてもよい。
【０３５８】
なお、手ブレ補正の範囲が、光学ズーム倍率やセット形状から同定できることと同様に、最大手ブレ量からあおり成分の最大値が得られるため、上記の閾値の同定は、比較的容易である。
【０３５９】
グローバル動きベクトル演算部１５７は、以上のようにして算出したグローバルモーションＧＭに基づいて、各ターゲットブロック毎のグローバル動きベクトルＧＭＶを算出する。すなわち、算出したグローバルモーションＧＭについての拡張アフィン変換のパラメータａ〜ｌ（図３８参照）を用いて、図３８の（式８）により、各ターゲットブロック毎の動きベクトル（理論上のローカル動きベクトルＬＭＶｓに相当）を求める。図３８の（式８）において、ｘ、ｙは、各ターゲットブロックの中心位置座標が用いられる。この求めた動きベクトルが、各ターゲットブロック毎のグローバル動きベクトルＧＭＶとなる。
【０３６０】
そして、動き補償画生成部１６には、上述のようにして求められた、各ターゲットブロック毎のグローバル動きベクトルＧＭＶが供給される。そして、動き補償画生成部１６では、その各ターゲットブロック毎のグローバル動きベクトルＧＭＶを用いて、ターゲットブロック毎の動き補償画を生成し、生成したブロック毎の動き補償画を加算部１７に供給する。
【０３６１】
この実施形態において、前述の図２０のノイズの多い画像について求めた各ターゲットブロック毎のグローバル動きベクトルを、図４６に示す。図４６では、各ターゲットブロック毎のグローバル動きベクトルを、白線の矢印で示している。
【０３６２】
［背景／動被写体判定部１５０の構成例および処理動作］
背景／動被写体判定部１５０では、上述したように、グローバル動きベクトル算出部１５８で算出されたグローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値を、ローカル動きベクトル算出部１５４での再ブロックマッチングの際に取得する。
【０３６３】
なお、この再ブロックマッチングにおいては、ブロック分割位置の変更処理は行なわない。
【０３６４】
そして、取得したＳＡＤ値を、前述したように画像のノイズに応じて補正値により補正するようにする。その補正値による補正の方法としては、この実施形態では、２通りの方法を提供する。
【０３６５】
＜第１の例；オフセット付加によるＳＡＤ値の補正＞
図４７は、この第１の例の考え方を説明するための図である。図４７は、横軸にサーチ範囲を取り、縦軸にＳＡＤ値を取ったときの、１個のターゲットブロックについてのＳＡＤテーブルの内容（ＳＡＤ値）を示す図である。横軸の各値は、参照ブロック位置（参照ベクトル）となり、実線がＳＡＤテーブルの内容を示すものとなる。これは、図２３に示したものと全く同様である。
【０３６６】
この図４７において、最小ＳＡＤ値となる参照ブロックの位置（つまり参照ベクトル）５０１は、図２３と同様に、ブロックマッチングによりローカル動きベクトルＬＭＶとして検出される。一方、グローバル動きベクトルＧＭＶとなる参照ブロックの位置が、図４７において、位置５０３であるとする。
【０３６７】
このとき、ローカル動きベクトルＬＭＶにおけるＳＡＤ値と、グローバル動きベクトルＧＭＶにおけるＳＡＤ値とが、画像のノイズ分に応じた差の範囲にあれば、グローバル動きベクトルＧＭＶが、最小ＳＡＤ値を取る参照ベクトルとなっている可能性がある。
【０３６８】
つまり、本来はグローバル動きベクトルＧＭＶ（参照ブロックの位置）でのＳＡＤ値が最小となるべきであったのに、ノイズのために、異なる参照ブロックの位置（これがローカル動きベクトルＬＭＶ）を最小として検出されてしまったとすることができる。
【０３６９】
そこで、この例では、画像のノイズ分に応じたオフセット値ＯＦＳを、グローバル動きベクトルＧＭＶでのＳＡＤ値に付加して補正する。この例の場合には、オフセット値ＯＦＳを、グローバル動きベクトルＧＭＶでのＳＡＤ値（ＳＡＤ＿ＧＭＶとする）から減算して補正する。すなわち、補正後のＳＡＤ値は、ＭｉｎＳＡＤ＿Ｇとすると、
ＭｉｎＳＡＤ＿Ｇ＝ＳＡＤ＿ＧＭＶ−ＯＦＳ  ・・・  （式ｃ）
となる。
【０３７０】
ここで、このオフセット値ＯＦＳは、あまり大きな値を設定すると、動被写体の動きベクトルまで、最小ＳＡＤ値として判定されるようになってしまう。そこで、この実施形態では、オフセット値ＯＦＳは、ローカル動きベクトルの信頼性の指標値Ｆｔについての閾値ｔｈ（式ｂ参照）よりも小さい値に設定される。
【０３７１】
そして、背景／動被写体判定部１５０では、その補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇと、ローカル動きベクトルＬＭＶでのＳＡＤ値（ＭｉｎＳＡＤ）とを比較する。その比較の結果、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤであれば、当該ターゲットブロックについてのＳＡＤ値の最小値は、グローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値の補正値であるＭｉｎＳＡＤ＿Ｇであると評価する。図４７は、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤである場合を示している。
【０３７２】
すなわち、図４７のように、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤとなる場合は、当該ターゲットブロックについての真のローカル動きベクトルは、グローバル動きベクトルＧＭＶに一致すると判定する。そして、その場合は、当該ターゲットブロックに対する背景一致度合いは高いと評価し、当該ターゲットブロックについてのヒット率βは大きな値とする。そして、当該ターゲットブロックについてのＮＲ処理用動きベクトルは、グローバル動きベクトルＧＭＶとする。
【０３７３】
ここで、この実施形態では、ヒット率βは、０≦β≦１の範囲の値とされる。ローカル動きベクトルＬＭＶと、グローバル動きベクトルＧＭＶとが全く一致したときには、ヒット率βは、β＝１とすることができる。しかし、この例では、ローカル動きベクトルＬＭＶと、グローバル動きベクトルＧＭＶとが全く一致しているかどうかの評価は行なわず、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇと、ローカル動きベクトルＬＭＶでのＳＡＤ値（ＭｉｎＳＡＤ）との比較で評価する。したがって、評価結果には、ローカル動きベクトルＬＭＶと、グローバル動きベクトルＧＭＶとが全く一致する場合も含まれるが、不一致の場合も含まれる。
【０３７４】
そして、後述もするように、この実施形態では、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤであれば、ヒット率βは、例えばβ＝０．７５とする。ここで、β＝１としなかったのは、上述のように、前記比較結果には、ローカル動きベクトルＬＭＶとグローバル動きベクトルＧＭＶとが不一致の場合が含まれるからである。
【０３７５】
図４８に、この第１の例の場合の背景／動被写体判定部１５０の構成例（機能ブロック図）を、その周辺部と共に示す。
【０３７６】
図４８の例においては、背景／動被写体判定部１５０は、ＳＡＤ＿ＧＭＶ検出部１５０１と、オフセット減算部１５０２と、オフセット生成部１５０３と、比較判定部１５０４とを備えて構成される。
【０３７７】
この例の場合、マッチング処理部１５３からの再ブロックマッチング時に算出されたＳＡＤ値および各参照ブロックの位置情報（参照ベクトルの情報）が、ローカル動きベクトル算出部１５４に供給される。ローカル動きベクトル算出部１５４は、再ブロックマッチング時の最小ＳＡＤ値ＭｉｎＳＡＤを検出し、ローカル動きベクトルＬＭＶ（参照ブロックの位置情報（参照ベクトルの情報））を算出する。そして、ローカル動きベクトル算出部１５４は、再ブロックマッチング処理の結果、得られたローカル動きベクトルＬＭＶと、最小ＳＡＤ値ＭｉｎＳＡＤとを比較判定部１５０４に供給する。
【０３７８】
マッチング処理部１５３からの再ブロックマッチング時に算出されたＳＡＤ値および各参照ブロックの位置情報（参照ベクトルの情報）は、ＳＡＤ＿ＧＭＶ検出部１５０１にも供給される。ＳＡＤ＿ＧＭＶ検出部１５０１は、グローバル動きベクトルＧＭＶに一致する参照ベクトルの参照ブロックについてのＳＡＤ値ＳＡＤ＿ＧＭＶを検出し、検出したＳＡＤ値ＳＡＤ＿ＧＭＶをオフセット減算部１５０２に供給する。
【０３７９】
オフセット減算部１５０２では、オフセット生成部１５０３からのオフセット値ＯＦＳを、ＳＡＤ＿ＧＭＶ検出部１５０１からのＳＡＤ値ＳＡＤ＿ＧＭＶから減算して、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇを生成する。そして、オフセット減算部１５０２は、生成した補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇを比較判定部１５０４に供給する。
【０３８０】
オフセット生成部１５０３は、画像のノイズに応じたオフセット値ＯＦＳを生成して、オフセット減算部１５０２に供給する。画像のノイズは、画像の輝度値に応じたものとなることにかんがみ、この例では、種々の輝度値とオフセット値ＯＦＳとの対応テーブルの情報がオフセット生成部１５０３に記憶されている。
【０３８１】
オフセット生成部１５０３は、最大輝度値検出部１５９２からの最大輝度値ＭａｘＴＡＲと最小輝度値検出部１５９３からの最小輝度値ＭｉｎＴＡＲとの差としてターゲットブロックの輝度値を算出する。そして、オフセット生成部１５０３は、算出したターゲットブロックの輝度値を引数として、前記対応テーブルを検索し、前記引数の輝度値に対応するオフセット値ＯＦＳを取得するようにする。
【０３８２】
比較判定部１５０４は、前述したように、ローカル動きベクトルＬＭＶに対応する最小ＳＡＤ値ＭｉｎＳＡＤと、オフセット減算部１５０２からの補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇとを比較し、その比較結果に応じて、ヒット率βを生成して、出力する。
【０３８３】
また、比較判定部１５０４には、ローカル動きベクトル算出部１５４からの再算出されたローカル動きベクトルＬＭＶと、グローバル動きベクトル算出部１５８からのグローバル動きベクトルＧＭＶも供給される。
【０３８４】
そして、比較判定部１５０４は、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤである場合には、背景一致度合いが高いので、グローバル動きベクトルＧＭＶをＮＲ処理用ベクトルＭＶｎｒとして、動き補償画生成部１６に出力する。また、比較判定部１５０４は、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤでないときには、背景一致度合いが低いので、ローカル動きベクトルＬＭＶをＮＲ処理用ベクトルＭＶｎｒとして、動き補償画生成部１６に出力する。
【０３８５】
なお、グローバル動きベクトルＧＭＶのＳＡＤ値検出部１５０１およびオフセット減算部１５０２は、ローカル動きベクトル算出部１５４に含まれるように構成しても良い。その場合には、ローカル動きベクトル算出部１５４は、再ブロックマッチングを行いながら、グローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値ＳＡＤ＿ＧＭＶを検出し、オフセットＯＦＳの減算演算を行なうようにする。
【０３８６】
＜背景／動被写体判定処理の流れ＞
図４８の構成によるローカル動きベクトル算出部１５４での再ブロックマッチング処理および背景／動被写体判定部１５０での背景一致度合い評価処理の流れを、図４９および図５０のフローチャートを参照して更に説明する。この図４９および図５０の処理は、コントロール部１５５の制御に基づいて、各部が実行する。なお、この図４９および図５０の例は、ＳＡＤ＿ＧＭＶ検出部１５０１およびオフセット減算部１５０２は、ローカル動きベクトル算出部１５４に含まれるように構成されている場合である。
【０３８７】
先ず、コントロール部１５５の制御により、再ブロックマッチングが開始され、ターゲットブロックバッファ部１５１に最初のターゲットブロックが設定される（ステップＳ３０１）。次に、コントロール部１５５の制御により、参照ブロックバッファ１５２にバッファリングされているマッチング処理範囲の参照フレームの画像データのうちから、ブロックマッチング処理する参照ブロックが設定される（ステップＳ３０２）。
【０３８８】
マッチング処理部１５３は、設定されたターゲットブロックと、設定された参照ブロックとについてブロックマッチング処理を行い、ＳＡＤ値を計算する。そして、マッチング処理部１５３は、求めたＳＡＤ値を、参照ブロックの位置情報（参照ベクトル）と共に、ローカル動きベクトル算出部１５４に供給する（ステップＳ３０３）。
【０３８９】
ローカル動きベクトル算出部１５４は、参照ベクトルがグローバル動きベクトルＧＭＶと一致しているか否か判別する（ステップＳ３０４）。これは、ＳＡＤ＿ＧＭＶ検出部１５０１の処理動作に相当する。
【０３９０】
ステップＳ３０４で、参照ベクトルがグローバル動きベクトルＧＭＶとは一致していないと判別したときには、ローカル動きベクトル算出部１５４では、最小ＳＡＤ値ＭｉｎＳＡＤと、その参照ブロック位置（参照ベクトル）との更新処理を行なう（ステップＳ３０５）。つまり、それまでに保持されている最小ＳＡＤ値ＭｉｎＳＡＤと、新たに算出したＳＡＤ値とを比較して、小さい方のＳＡＤ値を最小ＳＡＤ値ＭｉｎＳＡＤとして保持すると共に、参照ブロック位置（参照ベクトル）も最小ＳＡＤ値を呈するものに更新する。
【０３９１】
次に、コントロール部１５５は、サーチ範囲内の全ての参照ブロックついてのターゲットブロックとのブロックマッチングが終了したか否か判別する（ステップＳ３０８）。
【０３９２】
そして、ステップＳ３０８で、サーチ範囲内の全ての参照ブロックついての処理が終了してはいないと判別したときには、コントロール部１５５は、次の参照ブロックを設定する（ステップＳ３０９）。そして、ステップＳ３０２に戻り、上述したこのステップＳ３０２以降の処理を繰り返す。
【０３９３】
また、ステップＳ３０４で、参照ベクトルがグローバル動きベクトルＧＭＶと一致したと判別したときには、ローカル動きベクトル算出部１５４では、そのＳＡＤ値ＳＡＤ＿ＧＭＶからオフセット値ＯＦＳを減算する（ステップＳ３０６）。そして、その減算結果を補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇとして、その参照ブロック位置（参照ベクトル＝グローバル動きベクトルＧＭＶ）とを保持する（ステップＳ３０７）。
【０３９４】
そして、ステップＳ３０８に進み、サーチ範囲内の全ての参照ブロックついての処理が終了したか否か判別する。
【０３９５】
そして、ステップＳ３０８で、サーチ範囲内の全ての参照ブロックついての処理が終了したと判別したときには、ローカル動きベクトル算出部１５４は、ローカル動きベクトルＬＭＶと、最小ＳＡＤ値ＭｉｎＳＡＤを検出し、比較判定部１５０４に供給する。また、ローカル動きベクトル算出部１５４は、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇも、比較判定部１５０４に供給する（図５０のステップＳ３１１）。
【０３９６】
そして、背景／動被写体判定部１５０の比較判定部１５０４は、最小ＳＡＤ値ＭｉｎＳＡＤが、予め定められている閾値ＴＨ１より小さいか否か判別する（ステップＳ３１２）。このステップＳ３１２の処理は、次のような問題に対処するために設けられている。
【０３９７】
すなわち、例えばターゲット画像上の動被写体部分に相当するブロックが、参照画像上では動きにより消失したり、大きな変形を伴ったりした場合に、サーチ範囲内のどの参照ブロックともターゲットブロックについてのマッチングが取れない状況が生じる。
【０３９８】
このような場合、ＳＡＤテーブルのＳＡＤ値は、大きな値で、同様の値となって、最小ＳＡＤ値ＭｉｎＳＡＤと他の値が近い値となってしまう。このような状況では、グローバル動きベクトルＧＭＶに一致する参照ベクトルでのＳＡＤ値からオフセット値ＯＦＳを減算した補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇは、必ず、最小ＳＡＤ値ＭｉｎＳＡＤよりも小さくなり、背景部分と誤検出されることになるおそれがある。
【０３９９】
そこで、この問題を回避するため、この実施形態では、グローバル動きベクトルＧＭＶに一致する参照ベクトルでのＳＡＤ値を補正して、背景一致度合いを判定する処理は、最小ＳＡＤ値ＭｉｎＳＡＤが、前記閾値ＴＨ１より大きい場合には、行わないようにする。
【０４００】
したがって、ステップＳ３１２で、最小ＳＡＤ値ＭｉｎＳＡＤが、前記閾値ＴＨ１より大きいと判別したときには、比較判定部１５０４は、グローバル動きベクトルＧＭＶを用いた背景一致度合いの判定を行わず、ヒット率β＝０．２５とする（ステップＳ３１３）。β＝０としないのは、閾値ＴＨ１より大きいＳＡＤ値を呈するターゲットブロックの中にも、背景と一致しているブロックも存在するかもしれないことを考慮したものである。
【０４０１】
そして、比較判定部１５０４は、再算出されたローカル動きベクトルＬＭＶを、当該ターゲットブロックのＮＲ処理用動きベクトルとして動き補償画生成部１６に出力する（ステップＳ３１４）。
【０４０２】
次に、コントロール部１５５は、ターゲットフレーム内の全てのターゲットブロックについての処理が終了したか否か判別し（ステップＳ３２０）、終了していなければ、次のターゲットブロックを設定する（ステップＳ３２１）。そして、ステップＳ３０２に戻り、コントロール部１５５の制御の下に、上述したステップＳ３０２以降の処理を繰り返す。
【０４０３】
また、ステップＳ３１２で、最小ＳＡＤ値ＭｉｎＳＡＤが、前記閾値ＴＨ１より小さいと判別したときには、比較判定部１５０４は、最小ＳＡＤ値ＭｉｎＳＡＤと、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇとを比較する（ステップＳ３１５）。そして、比較判定部１５０４は、ＭｉｎＳＡＤ＞ＭｉｎＳＡＤ＿Ｇであるか否か判別し（ステップＳ３１６）、そうではないと判別したときには、ターゲットブロックは背景には一致していないとして、ヒット率βは、β＝０とする（ステップＳ３１７）。
【０４０４】
このステップＳ３１７の次には、ステップＳ３１４に進み、比較判定部１５０４は、再算出されたローカル動きベクトルＬＭＶを、当該ターゲットブロックのＮＲ処理用動きベクトルとして動き補償画生成部１６に出力する。そして、ステップＳ３２０に進み、前述したステップＳ３２０以降の処理を繰り返す。
【０４０５】
また、ステップＳ３１６で、ＭｉｎＳＡＤ＞ＭｉｎＳＡＤ＿Ｇであると判別したときには、ターゲットブロックは背景に一致している度合いが高いとして、ヒット率βは、β＝０．７５とする（ステップＳ３１８）。そして、比較判定部１５０４は、グローバル動きベクトルＧＭＶを、当該ターゲットブロックのＮＲ処理用動きベクトルとして動き補償画生成部１６に出力する（ステップＳ３１９）。
【０４０６】
そして、このステップＳ３１９の次には、ステップＳ３２０に進み、コントロール部１５５は、ターゲットフレーム内の全てのターゲットブロックについての処理が終了したか否か判別する。このステップＳ３２０で、ターゲットフレーム内の全てのターゲットブロックについての処理が終了していないと判別したときには、コントロール部１５５は、次のターゲットブロックを設定し（ステップＳ３２１）、その後、ステップＳ３０２に戻る。
【０４０７】
また、ステップＳ３２０で、ターゲットフレーム内の全てのターゲットブロックについての処理が終了したと判別したときには、コントロール部１５５は、この背景／動被写体判定処理動作を終了する。
【０４０８】
なお、上述の実施形態では、グローバル動きベクトルＧＭＶのＳＡＤ値ＳＡＤ＿ＧＭＶに対してオフセット値ＯＦＳを減算して、補正ＳＡＤ値ＭｉｎＳＡＤ＿Ｇを得て、それと最小ＳＡＤ値ＭｉｎＳＡＤとを比較するようにした。しかし、ローカル動きベクトルＬＭＶの最小ＳＡＤ値ＭｉｎＳＡＤにオフセット値ＯＦＳを加算した値（ＭｉｎＳＡＤ＋ＯＦＳ）と、グローバル動きベクトルＧＭＶのＳＡＤ値ＳＡＤ＿ＧＭＶとを比較しても全く等価である。
【０４０９】
＜第２の例；ゲイン乗算によるＳＡＤ値の補正＞
上述した第１の例では、オフセット値ＯＦＳの付加によりグローバル動きベクトルＧＭＶと一致する参照ベクトル位置の参照ブロックについてのＳＡＤ値ＳＡＤ＿ＧＭＶを補正するようにした。同様の考え方により、オフセット付加の代わりに、画像のノイズ分を考慮したゲインｇを乗算することにより、ＳＡＤ値ＳＡＤ＿ＧＭＶを補正することもできる。この例の場合には、ＳＡＤ値ＳＡＤ＿ＧＭＶを、より小さい方向にゲイン倍するようにするので、ゲインｇは、ｇ＜１となる。なお、相関値が相関の強さに応じて大きくなるものであるときには、ｇ＞１であることは勿論である。
【０４１０】
この第２の例における、グローバル動きベクトルＧＭＶでのＳＡＤ値ＳＡＤ＿ＧＭＶの補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇは、
ＭｉｎＳＡＤ＿Ｇ＝ＳＡＤ＿ＧＭＶ×ｇ  ・・・  （式ｄ）
となる。
【０４１１】
図５１に、この第２の例の場合の背景／動被写体判定部１５０の構成例（機能ブロック図）を、その周辺部と共に示す。
【０４１２】
この図５１の例は、前述した図４８の例の構成において、オフセット減算部１５０２の代わりに、ゲイン乗算部１５０５を設け、また、オフセット生成部１５０３の代わりにゲイン生成部１５０６を設けた構成となる。
【０４１３】
ゲイン生成部１５０６は、画像のノイズが画像の輝度値に応じたものとなることから、種々の輝度値とゲインｇ（ｇ＜１）との対応テーブルの情報を記憶し、ターゲットブロックの輝度値を引数として、対応するゲインｇを出力する。
【０４１４】
ゲイン乗算部１５０５は、ゲイン生成部１５０６からのゲインｇを、ＳＡＤ＿ＧＭＶ検出部１５０１からのＳＡＤ値ＳＡＤ＿ＧＭＶに乗算して、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇを生成する。そして、ゲイン乗算部１５０５は、生成した補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇを比較判定部１５０４に供給する。その他の構成および処理動作は、上述した第１の例と同様である。
【０４１５】
この第２の例における背景／動被写体判定処理においては、図４９のフローチャートにおけるステップＳ３０６におけるＳＡＤ値ＳＡＤ＿ＧＭＶの補正処理が、上述した（式ｄ）の演算処理に変わる。そして、その他のステップの処理は、第１の例と全く同様にすることができる。
【０４１６】
なお、上述の実施形態では、グローバル動きベクトルＧＭＶのＳＡＤ値ＳＡＤ＿ＧＭＶに対してゲインｇ（ｇ＜１）を乗算して、補正ＳＡＤ値ＭｉｎＳＡＤ＿Ｇを得て、それと最小ＳＡＤ値ＭｉｎＳＡＤとを比較するようにした。しかし、ローカル動きベクトルＬＭＶの最小ＳＡＤ値ＭｉｎＳＡＤに、ゲインｇの逆数を乗算した値（ＭｉｎＳＡＤ×１／ｇ）と、グローバル動きベクトルＧＭＶのＳＡＤ値ＳＡＤ＿ＧＭＶとを比較しても全く等価である。
【０４１７】
なお、この第２の例におけるゲインｇも、第１の例のオフセットＯＦＳと同様に、動被写体の動きベクトルまで、最小ＳＡＤ値として判定されるようになってしまうのを避ける値とされる。すなわち、この実施形態では、ゲインｇも、オフセット値ＯＦＳと同様に、ローカル動きベクトルの信頼性の指標値Ｆｔについての閾値ｔｈ（式ｂ参照）を考慮した値に設定される。
【０４１８】
［背景／動被写体判定部１５０の他の構成例および処理動作］
ところで、グローバルモーションＧＭに基づいて算出されたグローバル動きベクトルＧＭＶは、本来、画素ピッチよりも精細な精度で表わすことができるのに対して、上述の実施形態では、ブロックマッチングは画素ピッチの精度で行なわれる。このため、グローバル動きベクトルＧＭＶと一致する参照ベクトルの参照ブロック位置に、誤差が生じる場合がある。
【０４１９】
また、たとえ、上述の実施形態のように拡張したアフィン変換を用いたとしても、求められたグローバルモーションＧＭと、真のグローバルモーションとの間には誤差が存在し得る。また、この実施形態における階層化ブロックマッチングにおいて、浅い階層のブロックマッチングにおいてミスを生じると、以降の階層で、そのミスをリカバリーすることができない。以上のことを考慮すると、グローバル動きベクトルＧＭＶの位置に関して、あるマージンを設ける方が良いと言える。
【０４２０】
以下に説明する例は、以上のことを考慮した場合の例である。この例においては、グローバル動きベクトルＧＭＶの位置ＰｇｍｖのＳＡＤ値のみではなく、その周辺近傍位置のＳＡＤ値についても、前記のような補正をして、ＭｉｎＳＡＤと比較するようにする。
【０４２１】
例えば、図５２に示すように、ターゲットブロックについてのＳＡＤテーブルＴＢＬにおいて、グローバル動きベクトルＧＭＶの位置が、位置Ｐｇｍｖであると判定されたとする。このときに、その位置ＰｇｍｖのＳＡＤ値のみではなく、当該位置Ｐｇｍｖに対して１画素隣接の周囲近傍位置Ｐ１〜Ｐ８の８個のＳＡＤ値をも、前記のような補正をして、背景一致度合いを判定する対象とする。
【０４２２】
そして、この例の場合には、位置Ｐｇｍｖおよび位置Ｐ１〜Ｐ８の９個のＳＡＤ値の補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇ＿０〜ＭｉｎＳＡＤ＿Ｇ＿８と、再算出された最小ＳＡＤ値ＭｉｎＳＡＤとを比較する。そして、９個の補正後ＳＡＤ値の中に、最小ＳＡＤ値ＭｉｎＳＡＤよりも小さいものがあれば、当該ターゲットブロックの動きベクトルは、グローバル動きベクトルＧＭＶに一致度合いが高いと評価し、背景一途度合いが高いと評価する。
【０４２３】
この例において、ＳＡＤ値の補正方法として、前述した第１の例を用いる場合の背景／動被写体判定部１５０周辺の構成図を、図５３に示す。
【０４２４】
図５３に示すように、この例は、図４８におけるＳＡＤ＿ＧＭＶ検出部１５０１に代えて、ＧＭＶ近傍ＳＡＤ値検出部１５０７を設けると共に、オフセット減算部１５０２と、比較判定部１５０４との間に、最小値検出部１５０８を設けた構成である。
【０４２５】
ＧＭＶ近傍ＳＡＤ値検出部１５０７は、マッチング処理部１５３からの位置情報およびＳＡＤ値のうちから、グローバル動きベクトルＧＭＶの位置ＰｇｍｖおよびそのＳＡＤ値と、その位置の周囲近傍８個の位置Ｐ１〜Ｐ８およびそのＳＡＤ値を検出する。
【０４２６】
そして、ＧＭＶ近傍ＳＡＤ値検出部１５０７は、検出したＳＡＤ値は、オフセット減算部１５０２に供給する。オフセット減算部１５０２は、位置ＰｇｍｖおよびＰ１〜Ｐ８の９個のＳＡＤ値のそれぞれについて、オフセット生成部１５０３からのオフセット値ＯＦＳを減算して、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇ＿０〜ＭｉｎＳＡＤ＿Ｇ＿８を生成する。そして、オフセット減算部１５０２は、それらの補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇ＿０〜ＭｉｎＳＡＤ＿Ｇ＿８を最小値検出部１５０８に供給する。
【０４２７】
また、ＧＭＶ近傍ＳＡＤ値検出部１５０７は、検出した位置ＰｇｍｖおよびＰ１〜Ｐ８の情報も、それぞれの位置におけるＳＡＤ値に対応するように最小値検出部１５０８に供給する。
【０４２８】
最小値検出部１５０８は、位置ＰｇｍｖおよびＰ１〜Ｐ８の９個の補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇ＿０〜ＭｉｎＳＡＤ＿Ｇ＿８の中の最小値を検出し、その検出結果の最小値を前記ＭｉｎＳＡＤ＿Ｇとして、その位置情報と共に比較判定部１５０４に供給する。
【０４２９】
比較判定部１５０４では、前述と同様にして、ローカル動きベクトル１５４から再ブロックマッチングの結果として得たＭｉｎＳＡＤと、最小値検出部１５０８からのＭｉｎＳＡＤ＿Ｇとを比較して、前述と同様にして、背景一致度合いの評価判定を行う。
【０４３０】
比較判定部１５０４は、ＭｉｎＳＡＤ＞ＭｉｎＳＡＤ＿Ｇではないときには、ヒット率βは、β＝０．０とする共に、ＮＲ処理用動きベクトルとして、ローカル動きベクトルＬＭＶを出力する。このことは前記の例と同様である。
【０４３１】
ＭｉｎＳＡＤ＞ＭｉｎＳＡＤ＿Ｇであるときには、比較判定部１５０４は、当該ＭｉｎＳＡＤ＿Ｇに対応する位置情報が、グローバル動きベクトルＧＭＶと一致しているか否かを判断し、その結果に応じたヒット率βを変える。例えば、ＭｉｎＳＡＤ＿Ｇに対応する位置情報が、グローバル動きベクトルＧＭＶと一致している場合には、ヒット率βは、β＝０．７５とする。また、ＭｉｎＳＡＤ＿Ｇに対応する位置情報が、グローバル動きベクトルＧＭＶと一致していない場合には、ヒット率βは、β＝０．５とする。
【０４３２】
そして、この例の場合においても、ＭｉｎＳＡＤ＞ＭｉｎＳＡＤ＿Ｇであるときには、、ＮＲ処理用動きベクトルとして、グローバル動きベクトルＧＭＶを出力する。
【０４３３】
しかし、この例においては、比較判定部１５０４は、ＭｉｎＳＡＤ＞ＭｉｎＳＡＤ＿Ｇであるときには、最小値検出部１５０８からの位置情報に対応するローカル動きベクトルＬＭＶを、ＮＲ処理用動きベクトルとして出力するようにしてもよい。
【０４３４】
なお、最小値検出部１５０８は、比較判定部１５０４に含めるように構成しても良い。その場合には、９個の補正後ＳＡＤ値から最小値を検出してから最小ＳＡＤ値ＭｉｎＳＡＤと比較するようにしてもよいし、９個の補正後ＳＡＤ値と最小ＳＡＤ値ＭｉｎＳＡＤとを逐次比較するようにしても勿論良い。
【０４３５】
＜背景／動被写体判定処理の流れ＞
図５３の構成によるローカル動きベクトル算出部１５４での再ブロックマッチング処理および背景／動被写体判定部１５０での背景一致度合い評価処理の流れを、図５４および図５５のフローチャートを参照して更に説明する。この図５４および図５５の処理は、コントロール部１５５の制御に基づいて、各部が実行する。なお、この図５４および図５５の例では、ＳＡＤ＿ＧＭＶ検出部１５０１、オフセット減算部１５０２は、ローカル動きベクトル算出部１５４に含まれるように構成されている場合である。また、最小値検出部１５０８は、比較判定部１５０４に含まれている場合としている。
【０４３６】
先ず、コントロール部１５５の制御により、再ブロックマッチングが開始され、ターゲットブロックバッファ部１５１に最初のターゲットブロックが設定される（ステップＳ４０１）。次に、コントロール部１５５の制御により、参照ブロックバッファ１５２にバッファリングされているマッチング処理範囲の参照フレームの画像データのうちから、ブロックマッチング処理する参照ブロックが設定される（ステップＳ４０２）。
【０４３７】
マッチング処理部１５３は、設定されたターゲットブロックと、設定された参照ブロックとについてブロックマッチング処理を行い、ＳＡＤ値を計算する。マッチング処理部１５３は算出したＳＡＤ値を、参照ブロックの位置情報（参照ベクトル）と共に、ローカル動きベクトル算出部１５４に供給する（ステップＳ４０３）。
【０４３８】
ローカル動きベクトル算出部１５４は、参照ベクトルがグローバル動きベクトルＧＭＶと一致しているか、また、その周囲近傍の８位置Ｐ１〜Ｐ８と一致しているか否か判別する（ステップＳ４０４）。
【０４３９】
ステップＳ４０４で、参照ベクトルがグローバル動きベクトルＧＭＶおよびその周囲近傍の８位置Ｐ１〜Ｐ８とは一致していないと判別したときには、ローカル動きベクトル算出部１５４では、最小ＳＡＤ値ＭｉｎＳＡＤと、その参照ブロック位置（参照ベクトル）との更新処理を行なう（ステップＳ４０５）。
【０４４０】
次に、コントロール部１５５は、サーチ範囲内の全ての参照ブロックついてのターゲットブロックとのブロックマッチングが終了したか否か判別する（ステップＳ４０８）。
【０４４１】
そして、ステップＳ４０８で、サーチ範囲内の全ての参照ブロックついての処理が終了してはいないと判別したときには、コントロール部１５５は、次の参照ブロックを設定する（ステップＳ４０９）。そして、ステップＳ４０２に戻り、上述したこのステップＳ４０２以降の処理を繰り返す。
【０４４２】
また、ステップＳ４０４で、参照ベクトルがグローバル動きベクトルＧＭＶ、あるいはその周辺近傍位置Ｐ１〜Ｐ８のいずれかと一致したと判別したときには、ローカル動きベクトル算出部１５４では、そのＳＡＤ値からオフセット値ＯＦＳを減算する（ステップＳ４０６）。そして、その減算結果を補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇ＿０〜ＭｉｎＳＡＤ＿Ｇ＿８のいずれかとして、その参照ブロック位置（参照ベクトル）とを保持する（ステップＳ４０７）。
【０４４３】
そして、ステップＳ４０８に進み、サーチ範囲内の全ての参照ブロックついての処理が終了したか否か判別する。
【０４４４】
そして、ステップＳ４０８で、サーチ範囲内の全ての参照ブロックついての処理が終了したと判別したときには、ローカル動きベクトル算出部１５４は、ローカル動きベクトルＬＭＶと、最小ＳＡＤ値ＭｉｎＳＡＤを検出し、比較判定部１５０４に供給する。また、ローカル動きベクトル算出部１５４は、９個の補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇ＿０〜ＭｉｎＳＡＤ＿Ｇ＿８の中の最小値として、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇを検出し、比較判定部１５０４に供給する（図５５のステップＳ４１１）。
【０４４５】
そして、背景／動被写体判定部１５０の比較判定部１５０４は、最小ＳＡＤ値ＭｉｎＳＡＤが、予め定められている前記閾値ＴＨ１より小さいか否か判別する（ステップＳ４１２）。
【０４４６】
ステップＳ４１２で、最小ＳＡＤ値ＭｉｎＳＡＤが、前記閾値ＴＨ１より大きいと判別したときには、比較判定部１５０４は、グローバル動きベクトルＧＭＶを用いた背景一致度合いの判定を行わず、ヒット率β＝０．２５とする（ステップＳ４１３）。そして、比較判定部１５０４は、再算出されたローカル動きベクトルＬＭＶを、当該ターゲットブロックのＮＲ処理用動きベクトルとして動き補償画生成部１６に出力する（ステップＳ４１４）。
【０４４７】
そして、ステップＳ４１４の次に、コントロール部１５５は、ターゲットフレーム内の全てのターゲットブロックについての処理が終了したか否か判別し（ステップＳ４２２）、終了していなければ、次のターゲットブロックを設定する（ステップＳ４２３）。そして、ステップＳ４０２に戻り、コントロール部１５５の制御の下に、上述したステップＳ４０２以降の処理を繰り返す。
【０４４８】
また、ステップＳ４１２で、最小ＳＡＤ値ＭｉｎＳＡＤが、前記閾値ＴＨ１より小さいと判別したときには、比較判定部１５０４は、最小ＳＡＤ値ＭｉｎＳＡＤと、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇとを比較する（ステップＳ４１５）。そして、比較判定部１５０４は、ＭｉｎＳＡＤ＞ＭｉｎＳＡＤ＿Ｇであるか否か判別し（ステップＳ４１６）、そうではないと判別したときには、ターゲットブロックは背景には一致していないとして、ヒット率βは、β＝０とする（ステップＳ４１７）。
【０４４９】
このステップＳ４１７の次には、ステップＳ４１４に進み、比較判定部１５０４は、再算出されたローカル動きベクトルＬＭＶを、当該ターゲットブロックのＮＲ処理用動きベクトルとして動き補償画生成部１６に出力する。そして、ステップＳ４２２に進み、前述したステップＳ４２２以降の処理を繰り返す。
【０４５０】
また、ステップＳ４１６で、ＭｉｎＳＡＤ＞ＭｉｎＳＡＤ＿Ｇであると判別したときには、ＭｉｎＳＡＤの位置（参照ベクトル）は、グローバル動きベクトルＧＭＶと一致しているか否か判別する（ステップＳ４１８）。このステップＳ４１８で、ＭｉｎＳＡＤの位置（参照ベクトル）は、グローバル動きベクトルＧＭＶと一致してはいないと判別したときには、比較判定部１５０４は、ヒット率βを、β＝０．５に設定する（ステップＳ４１９）。
【０４５１】
また、ステップＳ４１８で、ＭｉｎＳＡＤの位置（参照ベクトル）は、グローバル動きベクトルＧＭＶと一致していると判別したときには、比較判定部１５０４は、ヒット率βを、β＝０．７５に設定する（ステップＳ４２０）。
【０４５２】
そして、比較判定部１５０４は、ステップＳ４１９または４２０の次には、グローバル動きベクトルＧＭＶを、当該ターゲットブロックのＮＲ処理用動きベクトルとして動き補償画生成部１６に出力する（ステップＳ４２１）。
【０４５３】
このステップＳ４２１の次には、ステップＳ４２２に進み、コントロール部１５５は、ターゲットフレーム内の全てのターゲットブロックについての処理が終了したか否か判別する。このステップＳ４２２で、ターゲットフレーム内の全てのターゲットブロックについての処理が終了していないと判別したときには、コントロール部１５５は、次のターゲットブロックを設定し（ステップＳ４２３）、その後、ステップＳ４０２に戻る。
【０４５４】
また、ステップＳ４２２で、ターゲットフレーム内の全てのターゲットブロックについての処理が終了したと判別したときには、コントロール部１５５は、この背景／動被写体判定処理動作を終了する。
【０４５５】
このグローバル動きベクトルＧＭＶ位置のみならず、その周囲近傍の位置のＳＡＤ値をも考慮して、背景／動被写体判定をする方法は、前述したＳＡＤ値の補正方法の第２の例にも適用できる。
【０４５６】
図５６に、第２の例を適用した場合の背景／動被写体判定部およびその周辺部の構成例を示す。この図５６の例は、図５２におけるＳＡＤ＿ＧＭＶ検出部１５０１に代えて、ＧＭＶ近傍ＳＡＤ値検出部１５０７を設けると共に、ゲイン乗算部１５０５と、比較判定部１５０４との間に、最小値検出部１５０８を設けた構成である。
【０４５７】
この図５６の例の処理動作は、ＳＡＤ値の補正方法が第２の例に変わるだけで、前述した図３８の例と全く同様であるので、ここでは、その詳細な説明は省略する。
【０４５８】
＜加算率計算部２１の構成例＞
この実施形態においては、加算率計算部２１では、画素単位に加算率α（０≦α≦１）を求める。そして、前述したように、基本的には、ターゲット画像と動き補償画像との画素単位の違いと、ヒット率βとに応じて加算率αを計算する。このため、加算率計算部２１には、ヒット率βと、ターゲット画像のデータＴＧｖおよび動き補償画像のデータＭＣｖが供給される。
【０４５９】
ここで、ターゲット画像と動き補償画像との画素単位の違いが大きければ、動き部分と考えられるので、加算率αは低くすべきであるが、前記画素単位の違いがない、あるいは小さければ加算率αは高くしても良い。しかし、ターゲットブロックが背景静止画部分であるか、動被写体部分であるかが不明である場合には、前述したように、動き部分における２重露光が目立たないようにするために、加算率αは比較的低く抑える必要がある。
【０４６０】
しかし、この実施形態では、ヒット率βにより、背景静止画部分としての一致度合いが求められているので、ヒット率βが大きく、背景一致度合いが高いほど、加算率αは高くするようにする。
【０４６１】
また、この実施形態では、さらに画像のノイズは、画像の明るさに応じたものとなるので、加算率計算部２１では、ターゲット画像と動き補償画像との画素単位の違いに関しては、当該画像の明るさに応じたノイズを考慮するようにしている。すなわち、ターゲット画像と動き補償画像との画素単位の違いがノイズの範囲内であれば、両者の実際の差分は小さいと判断する。また、前記画素単位の違いがノイズの範囲よりも大きいときには、両者の差分は、実際に大きいと判断するようにする。
【０４６２】
このノイズを考慮するため、加算率計算部２１には、動きベクトル算出部１５から、最大輝度値ＭａｘＴＡＲおよび最小輝度値ＭｉｎＴＡＲが供給される。そして、加算率計算部２１では、この最大輝度値ＭａｘＴＡＲおよび最小輝度値ＭｉｎＴＡＲから、ターゲットブロック毎の明るさ、つまり、照度Ｌｘを算出するようにする。
【０４６３】
また、この実施形態の加算率計算部２１には、加算度合いを、加算率計算部２１の外部から制御することができるようにするため、加算調整用ゲインＧＡが供給される。この加算調整用ゲインＧＡの値は、予め用意されているゲイン値の中から、ユーザが選択したものとするように構成することができる。あるいは、撮像画像のＩＳＯ感度に応じて、加算調整用ゲインＧＡの値を定めるように構成しても良い。後者の場合には、例えば撮像時の露出値やシャッター速度などに応じて、画像の明るさを判断して、加算調整用ゲインＧＡの値を定めるように構成することができる。つまり、明るい画像の場合には、ノイズが目立つので、加算率が小さくなるようにゲインを小さくし、逆に、暗い画像の場合には、加算率を大きくするようにゲインを大きく設定する。
【０４６４】
この実施形態の加算率計算部２１のハードウエア構成例を図５７および図５８に示す。この図５７および図５８の例においては、ターゲット画像のデータＴＧｖおよび動き補償画像のデータＭＣｖは、輝度成分と、色差成分とのそれぞれについて、別個に処理がなされる。
【０４６５】
図５７は、加算率計算部２１における、輝度成分についての処理部分である。図５７を参照して、先ず、輝度成分についての加算率計算処理についての説明する。
【０４６６】
すなわち、ターゲット画像のデータＴＧｖのうちの輝度データＹtgは、ローパスフィルタ６０１を通じて差分絶対値計算部６０３に供給される。また、動き補償画像のデータＭＣｖのうちの輝度データＹmcが、ローパスフィルタ６０２を通じて差分絶対値計算部６０３に供給される。差分絶対値計算部６０３は、画素毎に、輝度データＹtgと輝度データＹmcとの画素差分絶対値ΔＰｘＹを算出し、算出した画素差分絶対値ΔＰｘＹを、加算率変換出力部６０８に供給する。
【０４６７】
ローパスフィルタ６０１を通じた輝度データＹtgは、また、空間平均フィルタ６０４に供給される。そして、ローパスフィルタ６０２を通じた輝度データＹmcは、また、空間平均フィルタ６０５に供給される。
【０４６８】
空間平均フィルタ６０４および６０５のそれぞれは、差分絶対値計算部６０３で画素差分を求める画素（注目画素という）の周囲の８個の画素と、自画素との９個の画素の平均値ＭtgおよびＭmcを求める。そして、空間平均フィルタ６０４および６０５は、求めた平均値ＭtgおよびＭmcは、差分絶対値計算部６０６に供給する。
【０４６９】
差分絶対値計算部６０６では、平均値Ｍtgと平均値Ｍmcとの平均差分絶対値ΔＭｅＹを算出し、算出した平均差分絶対値ΔＭｅＹを、加算率変換出力部６０９に供給する。
【０４７０】
そして、この例においては、輝度成分についてのノイズモデルメモリ６０７が設けられる。このノイズモデルメモリ６０７には、画素値の輝度値に対するノイズ標準偏差σが、予め算出されて記憶されている。すなわち、横軸に画素値の輝度値を取り、縦軸にノイズ標準偏差σを取ったとき、ノイズ標準偏差σは、例えば図５９に示すようなものとなる。この図５９に示すように、明るい画素に対しては、ノイズの標準偏差σは小さく、暗い画素に対しては、ノイズの標準偏差σは大きい。
【０４７１】
ノイズモデルは、ノイズが画像の明るさにより異なるものであるので、ノイズモデルメモリ６０７には、画像の照度Ｌｘに応じた複数個のノイズモデルが記憶されている。
【０４７２】
そして、前述したようにして、最大輝度値ＭａｘＴＡＲおよび最小輝度値ＭｉｎＴＡＲから求められたターゲットブロック毎の照度Ｌｘが、ノイズモデルメモリ６０７に、照度に応じたノイズモデルを選択用として供給される。これにより、どのノイズモデルを使用するかが、照度Ｌｘにより定められる。
【０４７３】
また、ローパスフィルタ６０１を通じたターゲット画像データＴＧｖの輝度データＹtgが、ノイズモデルメモリ６０７に供給され、照度Ｌｘおよび輝度データＹtgにより定まるノイズ標準偏差σＹが、ノイズモデルメモリ６０７から得られる。このノイズ標準偏差σＹは、加算率変換出力部６０８および６０９に供給される。
【０４７４】
さらに、これら加算率変換出力部６０８および６０９には、動きベクトル算出部１５からのヒット率βと、外部からのゲインＧＡが供給される。
【０４７５】
加算率変換出力部６０８は、画素差分絶対値ΔＰｘＹと、ノイズ標準偏差σＹと、ヒット率βと、ゲインＧＡとを変換パラメータとする変換関数を用いて、画素差分絶対値ΔＰｘＹに基づく加算率αＹＡを出力する。
【０４７６】
また、加算率変換出力部６０９は、平均差分絶対値ΔＭｅＹと、ノイズ標準偏差σＹと、ヒット率βと、ゲインＧＡとを変換パラメータとする変換関数を用いて、平均差分絶対値ΔＭｅＹに基づく加算率αＹＢを出力する。
【０４７７】
加算率変換出力部６０８および６０９は、基本的には、図６０に示すように、ノイズ標準偏差σと、差分値とから加算率αを定める。なお、加算率変換出力部６０８および６０９では、ノイズ標準偏差σは、ノイズモデルメモリ６０７からのノイズ標準偏差σＹであり、差分値は、画素差分絶対値ΔＰｘＹおよび平均差分絶対値ΔＭｅＹである。そして、出力加算率αは、加算率αＹＡおよびαＹＢである。
【０４７８】
この実施形態では、図６０に示すように、差分値が、ノイズ標準偏差σの倍数として設定できる所定の第１の閾値以下のときには、背景画像部分であるとして、加算率αは、最大値であるα＝１とする。
【０４７９】
そして、差分値が、（第１の閾値＜差分値＜第２の閾値）の範囲では、背景部分と動被写体部分とのいずれとの判断ができない部分として、図６０に示すように、加算率αは差分値が大きくなるに従って直線的に小さくなるようにされる。そして、（差分値≧第２の閾値）の範囲では、動被写体部分であると判断して、加算率αは、最小値であるα＝０とする。
【０４８０】
ターゲットブロックの背景一致度合いが不明であるときには、上述したように、動被写体部分での二重露光のような状態を軽減するために、第１の閾値は安全を見越した値とされて、加算率αは全体的に抑制される。つまり、背景画像部分であることが分かっていれば、第１の閾値および第２の閾値を大きな値として設定して、できるだけ大きな加算率での画像加算を行なうことができる。
【０４８１】
しかし、背景一致度合いが不明であるであるときには、全てのターゲットブロックについて、動被写体部分での二重露光のような状態を軽減するようにすることを考慮する必要がある。そのため、通常は、図６０の例に示すように、第１の閾値は、標準偏差σの１倍（１σ）程度とされ、第２の閾値は、標準偏差の３倍（３σ）程度とされる。
【０４８２】
これに対して、この実施形態では、上述したように、ターゲットブロック毎に、背景一致度合いが、その指標値であるヒット率βとして算出される。したがって、この背景一致度合いの指標値βを用いることにより、背景静止画像部分では、より大きな加算率で加算を行うことが可能となる。
【０４８３】
ヒット率βを考慮した場合における加算率変換出力部６０８および６０９での加算率変換出力特性を図６１に示す。
【０４８４】
すなわち、図６１の例においては、ヒット率βに応じて、差分値に対する第１の閾値を変更するようにする。すなわち、ヒット率βが最低で、β＝０であるとき（動被写体部分）では、図６０の例の場合と同様に、第１の閾値は、標準偏差σの１倍（１σ）とする。そして、ヒット率βが、β＞０であるときには、ヒット率βの値に応じて第１の閾値を、より大きなものに変更する。
【０４８５】
そして、図６１の例においては、差分値が第１の閾値よりも大きくなったときからの加算率αの漸減直線の傾きは常に一定とされる。したがって、図６１の例では、第２の閾値は、第１の閾値の変更に応じて自動的に変更される。
【０４８６】
例えば、図６２に示すように、ヒット率βを考慮しない図６０の例の場合（β＝０）においては、差分値が２σであるときには、加算率αは常に０．５となる。これに対して、ヒット率を考慮する場合においては、図６２に示すように、ヒット率β＝１．０である背景静止画像部分では、加算率αはα＝１となり、最大の加算率で加算されるようになる。
【０４８７】
このように、背景静止画像部分では、ヒット率βに応じて、より大きな加算率αが設定されるので、所期の通りのノイズ低減効果が得られる。また、動被写体部分では、ヒット率βに応じて加算率αは低く抑えられるので、二重露光の状態を軽減するという効果を維持することができる。
【０４８８】
なお、上述の例では、第１の閾値のみをヒット率βに応じて変更し、差分値が第１の閾値よりも大きくなったときからの加算率αの漸減直線の傾きは常に一定としたが、第２の閾値をもヒット率に応じて変更して、前記漸減直線の傾きも変更するようにしても良い。
【０４８９】
次に、加算率変換出力部６０８および６０９におけるゲインＧＡの寄与について説明する。
【０４９０】
ゲインＧＡは、以上のようにして算出される加算率αを、さらに、変更制御するパラメータである。前述したように、このゲインＧＡは、ユーザにより設定されたり、撮影条件に応じて画像の明るさに応じて設定されたりするものである。例えばユーザにより設定する場合には、ＮＲ加算により、より大きなノイズ低減効果を得ようとする場合には、ゲインＧＡは大きくする。すると、上述のようにして算出された加算率αが、ゲインＧＡに応じた値に変更制御される。
【０４９１】
図６３に、加算率変換出力部６０８および６０９における、ゲインＧＡと、ヒット率βと、加算率αとの関係を示す。図６３では、加算率αは、ヒット率β＝０の場合の加算率を基準加算率αｏとして、その基準加算率αｏを基にした値として示している。
【０４９２】
この図６３の例においては、ゲインＧＡは、ユーザにより、あるいは、撮影条件などにより、ＧＡ＝０、ＧＡ＝１、ＧＡ＝２、ＧＡ＝３の４段階に、変更設定可能とされる。そして、ヒット率βも、β＝０、β＝０．２５、β＝０．５、β＝１．０の４段階に設定されるようにされる。
【０４９３】
そして、加算率αは、図６３に示すように、基準加算率αｏを係数Ｋ倍（Ｋ≧１）したものとされるが、その係数Ｋが、ゲインＧＡとヒット率βとの組み合わせに応じた倍数とされるものである。
【０４９４】
以上のようにして、加算率変換出力部６０８では、画素差分絶対値ΔＰｘＹと、ノイズ標準偏差σＹと、ヒット率βと、ゲインＧＡとから、輝度成分の画素差分に基づく出力加算率αＹＡを出力する。また、加算率変換出力部６０８では、平均差分絶対値ΔＭｅＹと、ノイズ標準偏差σＹと、ヒット率βと、ゲインＧＡとから、輝度成分の平均差分に基づく出力加算率αＹＢを出力する。
【０４９５】
色差信号成分については、平均差分は計算されず、画素差分絶対値のみが計算されて、上述した輝度成分と同様にして、色差成分に基づく加算率が算出される。
【０４９６】
図５８は、加算率計算部２１における、色差成分についての処理部分である。図５８を参照して、色差成分についての加算率計算処理についての説明する。
【０４９７】
すなわち、ターゲット画像のデータＴＧｖのうちの青の色差データＣｂtgは、ローパスフィルタ６２１を通じて差分絶対値計算部６２３に供給される。また、動き補償画像のデータＭＣｖのうちの青の色差データＣｂmcが、ローパスフィルタ６２２を通じて差分絶対値計算部６２３に供給される。差分絶対値計算部６２３は、画素毎に、色差データＣｂtgと色差データＣｂmcとの画素差分絶対値ΔＰｘＣｂを算出し、算出した画素差分絶対値ΔＰｘＣｂを、加算率変換出力部６２５に供給する。
【０４９８】
そして、輝度成分の場合と同様に、画素値の青の色差成分についてのノイズモデルメモリ６２４が設けられ、このノイズモデルメモリ６２４には、画素値の青の色差成分値に対するノイズ標準偏差σが、予め算出されて記憶されている。輝度成分の場合と同様に、ノイズモデルメモリ６２４には、画像の照度Ｌｘに応じた複数個のノイズモデルが記憶されている。
【０４９９】
そして、ターゲットブロック毎の照度Ｌｘと、ローパスフィルタ６２１を通じたターゲット画像データＴＧｖの色差データＣｂtgが、ノイズモデルメモリ６２４に供給される。これにより、ノイズモデルメモリ６２４から、照度Ｌｘおよび色差データＣｂtgにより定まるノイズ標準偏差σＣｂが得られ、加算率変換出力部６２５に供給される。
【０５００】
さらに、この加算率変換出力部６２５には、動きベクトル算出部１５からのヒット率βと、外部からのゲインＧＡが供給される。
【０５０１】
加算率変換出力部６２５は、上述した加算率変換出力部６０８や６０９と同様の構成を有するもので、これよりは、画素差分絶対値ΔＰｘＣｂと、ノイズ標準偏差σＣｂと、ヒット率βと、ゲインＧＡとの組み合わせにより定まる加算率αＣｂが得られる。
【０５０２】
同様にして、ターゲット画像のデータＴＧｖのうちの赤の色差データＣｒtgは、ローパスフィルタ６３１を通じて差分絶対値計算部６３３に供給される。また、動き補償画像のデータＭＣｖのうちの赤の色差データＣｒmcが、ローパスフィルタ６３２を通じて差分絶対値計算部６３３に供給される。差分絶対値計算部６３３は、画素毎に、色差データＣｒtgと色差データＣｒmcとの画素差分絶対値ΔＰｘＣｒを算出し、算出した画素差分絶対値ΔＰｘＣｒを、加算率変換出力部６３５に供給する。
【０５０３】
そして、輝度成分の場合と同様に、画素値の赤の色差成分についてのノイズモデルメモリ６３４が設けられ、このノイズモデルメモリ６３４には、画素値の赤の色差成分値に対するノイズ標準偏差σが、予め算出されて記憶されている。輝度成分の場合と同様に、ノイズモデルメモリ６３４には、画像の照度Ｌｘに応じた複数個のノイズモデルが記憶されている。
【０５０４】
そして、ターゲットブロック毎の照度Ｌｘと、ローパスフィルタ６３１を通じたターゲット画像データＴＧｖの色差データＣｒtgが、ノイズモデルメモリ６３４に供給される。これにより、ノイズモデルメモリ６３４から、照度Ｌｘおよび色差データＣｒtgにより定まるノイズ標準偏差σＣｒが得られ、加算率変換出力部６３５に供給される。
【０５０５】
さらに、この加算率変換出力部６３５には、動きベクトル算出部１５からのヒット率βと、外部からのゲインＧＡが供給される。
【０５０６】
加算率変換出力部６３５は、上述した加算率変換出力部６０８や６０９と同様の構成を有するもので、これよりは、画素差分絶対値ΔＰｘＣｒと、ノイズ標準偏差σＣｒと、ヒット率βと、ゲインＧＡとの組み合わせにより定まる加算率αＣｒが得られる。
【０５０７】
また、この実施形態では、ターゲット画像の画素分散値に基づいても、加算率を求めるようにする。分散値は、注目画素（自画素）と、その周囲近傍の例えば８画素とについて求める。この分散値は、輝度成分および色差成分のそれぞれについて求める。そして、求めた分散値のすべてから、加算率を算出する。
【０５０８】
すなわち、図５７に示すように、ターゲットブロックの画像データＴＧｖの輝度データＹtgは、ローパスフィルタ６０１を通じて空間分散フィルタ６１０に供給される。そして、この空間分散フィルタ６１０から、注目画素（自画素）と、その周囲近傍の例えば８画素との合計９個の画素についての分散値ＶａＹが得られる。
【０５０９】
また、図５８に示すように、ターゲットブロックの画像データＴＧｖの青の色差データＣｂtgは、ローパスフィルタ６２１を通じて空間分散フィルタ６２６に供給される。そして、この空間分散フィルタ６２６から、注目画素（自画素）と、その周囲近傍の例えば８画素との合計９個の画素についての分散値ＶａＣｂが得られる。
【０５１０】
さらに、ターゲットブロックの画像データＴＧｖの赤の色差データＣｒtgは、ローパスフィルタ６３１を通じて空間分散フィルタ６３６に供給される。そして、この空間分散フィルタ６３６から、注目画素（自画素）と、その周囲近傍の例えば８画素との合計９個の画素についての分散値ＶａＣｒが得られる。
【０５１１】
そして、分散値ＶａＹ、ＶａＣｂおよびＶａＣｒは、図５７に示すように、加算部６１１で加算された後、加算率変換出力部６１２に供給される。さらに、加算率変換出力部６１２には、動きベクトル算出部１５からのヒット率βと、外部からのゲインＧＡが供給される。
【０５１２】
この加算率変換出力部６１２で求める加算率αＣは、ターゲットブロックの画像が、テクスチャー成分が少なく、輝度レベル変化がなだらかな場合（グラデーションの場合）に、その加算率を抑えることを目的としている。この実施形態のようにブロック分割した画像処理においては、人間の視覚効果により、ブロック境界が非常に目立ち易くなり、特に、輝度レベル変化がなだらかな場合には殊更であることを考慮している。
【０５１３】
上記の目的を実現させるために、基本的には、ブロック内の分散値が低いほど加算率を低くすれば良い。この実施形態の加算率変換出力部６１２では、図６４（Ａ）に示すように、分散値を横軸に取ると共に、分散値を所定の段階幅毎に幾つかの段階に分け、出力加算率を各段階の分散値に応じて決定するようにする。
【０５１４】
図６４（Ａ）の例では、分散値を段階幅８毎に、５段階に分け、分散値０−７に対する加算率を０．０、分散値８−１５に対する加算率を０．２５、分散値１６−２３に対する加算率を０．５、分散値２４−３１に対する加算率を０．７５、分散値３２以上に対する加算率を１．０とする。
【０５１５】
ところで、画像を重ね合わせる場合に、上述のようなブロック毎の境界が目立つのは、重ね合わせる画像に差異があるからである。換言すれば、背景静止画像部分については、重ね合わせる画像に差異はないので、分散値に応じた加算率の抑制をする必要はない。
【０５１６】
そこで、この実施形態では、加算率変換出力部６１２では、ヒット率βに応じて、分散値の段階幅を制御し、ヒット率βが大きいほど、分散値の段階幅を小さくするようにする。これにより、背景静止画像部分については、分散値に応じた加算率の低減を抑制し、できるだけ、高い加算率で加算ができるようにしている。
【０５１７】
すなわち、図６４の例では、ヒット率βが、例えばβ＝０というように低い値のときには、分散値の段階幅は、図６４（Ａ）に示すように、「８」とする。そして、ヒット率βが、例えばβ＝０．５というような値のときには、分散値の段階幅は、図６４（Ｂ）に示すように、「４」とする。
【０５１８】
さらに、ヒット率βが、背景静止画部分であることを示すβ＝１であるときには、分散値の段階幅は、図６４（Ｃ）に示すように、「０」とする。つまり、このときには、分散値による加算率の低減は行なわない。
【０５１９】
上述したように、加算率変換出力部６１２にも、ゲインＧＡが供給されており、このゲインＧＡによる出力加算率の制御が行なえるようにしている。この例の場合、ゲインＧＡにより、ヒット率βとの組み合わせにより、前述した分散値の段階幅を変更制御するようにする。
【０５２０】
図６５に、加算率変換出力部６１２における、ゲインＧＡと、ヒット率βと、段階幅との関係を示す。この図６５の例においても、ゲインＧＡは、ユーザにより、あるいは、撮影条件などにより、ＧＡ＝０、ＧＡ＝１、ＧＡ＝２、ＧＡ＝３の４段階に、変更設定可能とされる。そして、ヒット率βも、β＝０、β＝０．２５、β＝０．５、β＝１．０の４段階に設定されるようにされる。
【０５２１】
なお、図６５の例においては、段階幅については、ビットシフト演算により実現可能なように構成している。
【０５２２】
なお、図６４に示したように、この実施形態では、分散値を用いた加算率の算出に際しては、分散値について、段階幅を用いた複数段階を設定する構成としたが、複数段階とするのではなく、当該複数段階の間を線形補間するようにする構成としても良い。また、線形補間ではなく、２次曲線補間や３次曲線補間をするようにしても良い。
【０５２３】
以上のようにして、各加算率変換出力部６０８、６０９、６１２、６２５および６３５では、輝度差分値や色差差分値、輝度平均差分値、分散値などに応じると共に、ヒット率βに応じた値として加算率αＹＡ、αＹＢ、αＣ、αＣｂ、αＣｒが算出される。
【０５２４】
そして、この実施形態では、これらの加算率αＹＡ、αＹＢ、αＣ、αＣｂ、αＣｒが合成されて、加算率計算部２１の出力加算率αが得られる。すなわち、図５７に示すように、加算率変換出力部６０８および６０９からの加算率αＹＡおよびαＹＢは、乗算器６１３で乗算され、その乗算結果が乗算器６１４に供給される。この乗算器６１４には、加算率変換出力部６２５からの加算率αＣｂが供給されて、乗算器６１３の乗算結果と乗算される。
【０５２５】
そして、この乗算器６１４の乗算結果は、乗算器６１５に供給される。この乗算器６１５には、加算率変換出力部６３５からの加算率αＣｒが供給されて、乗算器６１４の乗算結果と乗算される。また、この乗算器６１５の乗算結果は、乗算器６１６に供給される。この乗算器６１６には、加算率変換出力部６１２からの加算率αＣが供給されて、乗算器６１５の乗算結果と乗算される。
【０５２６】
以上により、乗算器６１６からは、算出された全ての加算率αＹＡ、αＹＢ、αＣ、αＣｂ、αＣｒが乗算された乗算結果が得られ、これが加算率計算部２１の出力加算率αとして出力される。
【０５２７】
こうして、加算率計算部２１からは、画素単位で、ヒット率βに応じた値として加算率αが算出され、加算部１７に供給される。
【０５２８】
加算部１７では、この加算率計算部２１からの画素毎の加算率αに応じて、ターゲットブロックの画像データＴＧｖと、動き補償ブロックの画像データＭＣｖとが画素単位で加算される。そして、加算部１７からの加算画像データは、画像メモリ部４、静止画コーデック部１８を介して、記録再生装置部５に記録される。
【０５２９】
上述した実施形態によれば、ターゲットブロック毎に背景一致度合いの指標値であるヒット率βを用いて、静止画像部分では、加算率αを大きくすることができるので、ＮＲ画像として、ノイズ低減効果が大きい画像が得られるという顕著な効果を奏する。
【０５３０】
例えば、図６６に示すようなノイズがあるターゲット画像（図６６（Ａ））と、参照画像（図６６（Ｂ））とについてのＮＲ画像を考える。なお、図６６において、丸印で示す部分は、ターゲット画像と参照画像との間における動被写体部分である。この例の２枚の画像では、この動被写体部分以外は、全て背景静止画部分となっている。
【０５３１】
図６６の例の２枚の画像についてブロックマッチングを行なって、各ターゲットブロックについてローカル動きベクトルＬＭＶを求め、そのローカル動きベクトルＬＭＶを図示すると、図６７に示すようなものとなる。
【０５３２】
そして、上述のようなヒット率βによる考慮を行なわずに、このローカル動きベクトルＬＭＶを用いて、参照画像から動き補償画像を行い、加算率判定を行った結果の加算率分布画像を、白黒画像として図６８に示す。図６８では、加算率が大きくなるにつれ、より白で表わし、加算率がちいさくなるにつれ、より黒で表わしている。
【０５３３】
図６７において丸印をして示した部分は背景静止画部分であって、ローカル動きベクトルＬＭＶも正しいものが得られているが、ヒット率βを考慮していないので、図６８における対応部分においては、加算率が低くなっていることがわかる。つまり、期待通りのノイズ低減効果を得ることができないことが分かる。
【０５３４】
次に、上述した実施形態で説明したように、図６６に示した２枚の画像について、グローバルモーションＧＭを求め、当該グローバルモーションＧＭから生成したグローバル動きベクトルＧＭＶを図示すると、図６９（Ａ）に示すようなものとなる。
【０５３５】
そして、生成したグローバル動きベクトルＧＭＶと、ローカル動きベクトルＬＭＶとの一致度合いをチェックし、その結果、動き補償画生成部１６に出力するものとされた動きベクトルを図示すると、図６９（Ｂ）に示すようなものとなる。図６９（Ｂ）の右下の画像部分についての大きな動きベクトルは、図６６で示した動被写体画像部分である。この図６９から分かるように、この実施形態によれば、背景静止画像部分と、動被写体部分とが、正しく区別されて判定される。
【０５３６】
そして、図６９（Ｂ）の動きベクトルを生成する際に算出されたヒット率βを画像と対応させて図示すると、図７０に示すようなものとなる。ただし、この図７０では、ローカル動きベクトルＬＭＶと、グローバル動きベクトルＧＭＶとの一致度合いは、一致、不一致の２値で判定して、ヒット率βがβ＝０と、β＝１との２値で得られる場合として示している。白色部分がβ＝１、黒色部分がβ＝０の部分である。
【０５３７】
そして、図７１は、この実施形態により求められた加算率αを、画像に対応して示したものである。図７１では、加算率αについて、０．０〜１．０を１２８階調に分解し、白から黒になるほど加算率が下がる（α＝０．０に近づく）ように表示している。
【０５３８】
図６７と図７１を比較すれば、この実施形態によれば、背景静止画部分では加算率αが上昇していることが分かる。これにより、この実施形態によれば、所期のノイズ低減効果が得られるものである。
【０５３９】
なお、加算率変換出力部６０８、６０９、６１２、６２５、６３５は、上述したそれぞれの４個のパラメータ入力に対して、出力加算率αＹＡ、αＹＢ、αＣ、αＣｂ、αＣｒを出力する変換テーブルを備えるＲＯＭの構成とすることができる。
【０５４０】
［第３の実施形態］
上述した第２の実施形態では、ヒット率βは、ターゲットブロック単位で算出するようにした。そして、そのターゲットブロック単位のヒット率βを用いて、加算率αを制御するようにした。このため、加算率αは、画素単位で算出しているにも拘わらず、ＮＲ画像のブロック単位の境界が目立ち易いという問題がある。
【０５４１】
そこで、この第３の実施形態では、ターゲットブロック単位に算出したヒット率βを、自ブロックに隣接するターゲットブロックのヒット率を参照して、ヒット率βが空間的に滑らかに変化するように補間処理をするようにする。
【０５４２】
この第３の実施形態によれば、前述した処理１におけるブロック境界Ｂｄも目立たなくなり、このため、処理２以降におけるブロック境界も、さらに目立たなくなるという効果がある。
【０５４３】
＜ヒット率βの補間処理の第１の例＞
第１の例においては、ターゲットブロック単位でヒット率βの補間を行なう。図７２および図７３に、この第１の例の場合における補間処理例を示す。なお、図７２および図７３において、Ｂｋはターゲットブロックのそれぞれを示し、ターゲットブロックＢｋ内に記載されている数値は、ヒット率βの値を示している。ここでは、説明の簡単のため、算出されたヒット率βは、β＝１．０と、β＝０．５の２値としている。
【０５４４】
図７２の例は、自ターゲットブロックＢｋに隣接する他のターゲットブロックＢｋのヒット率βを参照して、空間的に滑らかに変化するように、自ターゲットブロックＢｋのヒット率を小さくする方向に補間する例である。すなわち、ターゲットブロックＢｋ単位に算出されたヒット率βが、図７２（Ａ）に示すような場合において、補間処理により、図７２（Ｂ）に示すように、所定のターゲットブロックＢｋのヒット率βが変更される。
【０５４５】
図７２の例では、自ターゲットブロックＢｋのヒット率βがβ＝１．０であるときであって、隣接する他のターゲットブロックＢｋのヒット率βがβ＝０．０であるときに、当該自ターゲットブロックＢｋを補間対象のターゲットブロックとする。そして、その補間対象のターゲットブロックのヒット率βを、この例では、β＝１．０からβ＝０．５に変更する。これにより、ターゲットブロックＢｋ単位のヒット率βが、図７２（Ｂ）に示すように、空間的に滑らかに変化するようにされる。
【０５４６】
図７３の例は、自ターゲットブロックＢｋに隣接する他のターゲットブロックＢｋのヒット率βを参照して、空間的に滑らかに変化するように、自ターゲットブロックＢｋのヒット率を大きくする方向に補間する例である。すなわち、ターゲットブロックＢｋ単位に算出されたヒット率βが、図７３（Ａ）に示すような場合において、補間処理により、図７３（Ｂ）に示すように、所定のターゲットブロックＢｋのヒット率βが変更される。
【０５４７】
図７３の例では、自ターゲットブロックのヒット率βがβ＝０．０であるときであって、隣接する他のターゲットブロックのヒット率βがβ＝１．０であるときに、当該自ターゲットブロックＢｋを補間対象のターゲットブロックとする。そして、その補間対象の自ターゲットブロックのヒット率βを、β＝０．０からβ＝０．５に変更する。これにより、ターゲットブロックＢｋ単位のヒット率βが、図７３（Ｂ）に示すように、空間的に滑らかに変化するようにされる。
【０５４８】
これにより、ヒット率βは、ターゲットブロック単位に算出されたとしても、ブロック単位の境界を目立たないようにすることができる。
【０５４９】
＜ヒット率βの補間処理の第２の例＞
第２の例においては、ターゲットブロックＢｋをさらに分割した細ブロック単位で、ヒット率βの補間を行なう。図７４および図７５に、この第２の例の場合の補間処理例を示す。図７４および図７５において、Ｂｋはターゲットブロックのそれぞれを示し、ＳＢｋは、当該ターゲットブロックＢｋを４分割した細ブロック、ＳＳＢｋは、当該ターゲットブロックＢｋを８分割した細ブロックを示している。そして、ターゲットブロックＢｋや細ブロック内などに記載されている数値は、ヒット率βの値を示している。この第２の例においても、説明の簡単のため、算出されたヒット率（補間処理前のヒット率）βは、β＝１．０と、β＝０．５の２値としている。
【０５５０】
図７４の例は、自ターゲットブロックＢｋに隣接する他のターゲットブロックＢｋのヒット率βを参照して、空間的に滑らかに変化するように、自ターゲットブロックＢｋのヒット率を小さくする方向に補間する例である。
【０５５１】
そして、図７４（Ａ）および（Ｂ）に示す例は、ターゲットブロックＢｋを４分割した細ブロックＳＢｋ単位で補間を行なう場合である。すなわち、ターゲットブロックＢｋ単位に算出されたヒット率βが、図７４（Ａ）に示すような場合において、補間処理により、図７４（Ｂ）に示すように、所定のターゲットブロックＢｋ内の細ブロックＳＢｋのヒット率βが変更される。
【０５５２】
図７４（Ｂ）の例では、自ターゲットブロックＢｋのヒット率βがβ＝１．０であるときであって、隣接する他のターゲットブロックＢｋのヒット率βがβ＝０．０であるときに、当該自ターゲットブロックＢｋを補間対象のターゲットブロックとする。そして、その補間対象の自ターゲットブロックのヒット率βを、β＝１．０以下の値に、細ブロックＳＢｋ単位に変更する。
【０５５３】
この場合に、自ターゲットブロックＢｋ内の全ての細ブロックＳＢｋのヒット率βをβ＝０．５に変更するのではなく、ヒット率βがβ＝０．０である他のターゲットブロックＢｋに隣接する細ブロックＳＢｋのみのヒット率βをβ＝０．５に変更する。そして、自ターゲットブロックＢｋ内の他の細ブロックのヒット率はβ＝１．０のまま保持するようにする。この第２の例の場合、隣接するターゲットブロックＢｋには、斜め方向に隣接するものも含むものとする。したがって、斜め方向に隣接するターゲットブロックＢｋのヒット率βがβ＝０．０である細ブロックＳＢｋのヒット率βも、β＝０．５に変更する。
【０５５４】
そして、図７４（Ａ）および（Ｃ）に示す例は、ターゲットブロックＢｋを８分割した細ブロックＳＳＢｋ単位で補間を行なう場合である。この例では、自ターゲットブロックＢｋのヒット率βがβ＝１．０であるのを、補間対象となるターゲットブロックＢｋでは、細ブロックＳＳＢｋ単位で、ヒット率βを、０．２５，０．５，０，７５、１．０というように、変化幅０．２５で変更する。
【０５５５】
すなわち、ターゲットブロックＢｋ単位に算出されたヒット率βが、図７４（Ａ）に示すような場合において、補間処理により、図７４（Ｃ）に示すように、所定のターゲットブロックＢｋ内の細ブロックＳＳＢｋのヒット率βが変更される。
【０５５６】
図７４（Ｃ）の例では、自ターゲットブロックＢｋのヒット率βがβ＝１．０であるときであって、隣接する他のターゲットブロックＢｋのヒット率βがβ＝０．０であるときに、当該自ターゲットブロックＢｋを補間対象のターゲットブロックとする。そして、その補間対象の自ターゲットブロックＢｋのヒット率βを、細ブロックＳＳＢｋ単位で変更する。
【０５５７】
この場合に、ヒット率βがβ＝０．０である他のターゲットブロックＢｋに隣接する細ブロックＳＳＢｋのヒット率βはβ＝０．２５に変更する。そして、自ターゲットブロックＢｋ内のβ＝０．２５に変更した細ブロックＳＳＢｋに隣接する細ブロックのヒット率はβ＝０．５とする。
【０５５８】
そして、補間対象のターゲットブロックＢｋにおいて、ヒット率βがβ＝１．０である他のターゲットブロックＢｋに隣接する細ブロックＳＳＢｋのヒット率βはβ＝１．０のままとする。そして、自ターゲットブロックＢｋ内のβ＝１．０のままとした細ブロックＳＳＢｋに隣接する細ブロックのヒット率はβ＝０．７５とする。そして、自ターゲットブロックＢｋ内のβ＝０．７５に変更した細ブロックＳＳＢｋに隣接する細ブロックのヒット率はβ＝０．５とする。
【０５５９】
この例の場合も、隣接するターゲットブロックＢｋには、斜め方向に隣接するものも含むものとする。
【０５６０】
これにより、ターゲットブロックＢｋ単位のヒット率βが、図７４（Ｂ）または（Ｃ）に示すように、空間的に滑らかに変化するようにされる。
【０５６１】
次に、図７５の例は、自ターゲットブロックＢｋに隣接する他のターゲットブロックＢｋのヒット率βを参照して、空間的に滑らかに変化するように、自ターゲットブロックＢｋのヒット率を大きくする方向に補間する例である。
【０５６２】
そして、図７５（Ａ）および（Ｂ）に示す例は、ターゲットブロックＢｋを４分割した細ブロックＳＢｋ単位で補間を行なう場合である。すなわち、ターゲットブロックＢｋ単位に算出されたヒット率βが、図７５（Ａ）に示すような場合において、補間処理により、図７５（Ｂ）に示すように、所定のターゲットブロックＢｋ内の細ブロックＳＢｋのヒット率βが変更される。
【０５６３】
図７５（Ｂ）の例では、自ターゲットブロックＢｋのヒット率βがβ＝０．０であるときであって、隣接する他のターゲットブロックＢｋのヒット率βがβ＝１．０であるときに、当該自ターゲットブロックＢｋを補間対象のターゲットブロックとする。そして、その補間対象の自ターゲットブロックのヒット率βを、β＝０．０以上の値に、細ブロックＳＢｋ単位に変更する。
【０５６４】
この場合に、自ターゲットブロックＢｋ内の全ての細ブロックＳＢｋのヒット率βをβ＝０．５に変更するのではなく、ヒット率βがβ＝１．０である他のターゲットブロックＢｋに隣接する細ブロックＳＢｋのみのヒット率βをβ＝０．５に変更する。そして、自ターゲットブロックＢｋ内の他の細ブロックのヒット率はβ＝０．０のまま保持するようにする。この第２の例の場合、隣接するターゲットブロックＢｋには、斜め方向に隣接するものも含むものとする。したがって、斜め方向に隣接するターゲットブロックＢｋのヒット率βがβ＝０．０である細ブロックＳＢｋのヒット率βも、β＝０．５に変更する。
【０５６５】
そして、図７５（Ａ）および（Ｃ）に示す例は、ターゲットブロックＢｋを８分割した細ブロックＳＳＢｋ単位で補間を行なう場合である。この例では、自ターゲットブロックＢｋのヒット率βがβ＝０．０であるのを、補間対象となるターゲットブロックＢｋでは、細ブロックＳＳＢｋ単位で、ヒット率βを、０．２５，０．５，０，７５、１．０というように、変化幅０．２５で変更する。
【０５６６】
すなわち、ターゲットブロックＢｋ単位に算出されたヒット率βが、図７５（Ａ）に示すような場合において、補間処理により、図７５（Ｃ）に示すように、所定のターゲットブロックＢｋ内の細ブロックＳＳＢｋのヒット率βが変更される。
【０５６７】
図７５（Ｃ）の例では、自ターゲットブロックＢｋのヒット率βがβ＝０．０であるときであって、隣接する他のターゲットブロックＢｋのヒット率βがβ＝１．０であるときに、当該自ターゲットブロックＢｋを補間対象のターゲットブロックとする。そして、その補間対象の自ターゲットブロックＢｋのヒット率βを、細ブロックＳＳＢｋ単位で変更する。
【０５６８】
この場合に、ヒット率βがβ＝１．０である他のターゲットブロックＢｋに隣接する細ブロックＳＳＢｋのヒット率βはβ＝０．７５に変更する。そして、自ターゲットブロックＢｋ内のβ＝０．７５に変更した細ブロックＳＳＢｋに隣接する細ブロックのヒット率はβ＝０．５とする。
【０５６９】
そして、補間対象のターゲットブロックＢｋにおいて、ヒット率βがβ＝０．０である他のターゲットブロックＢｋに隣接する細ブロックＳＳＢｋのヒット率βはβ＝０．０のままとする。そして、自ターゲットブロックＢｋ内のβ＝０．０のままとした細ブロックＳＳＢｋに隣接する細ブロックのヒット率はβ＝０．２５とする。そして、自ターゲットブロックＢｋ内のβ＝０．２５に変更した細ブロックＳＳＢｋに隣接する細ブロックのヒット率はβ＝０．５とする。
【０５７０】
この例の場合も、隣接するターゲットブロックＢｋには、斜め方向に隣接するものも含むものとする。
【０５７１】
これにより、ターゲットブロックＢｋ単位のヒット率βが、図７５（Ｂ）または（Ｃ）に示すように、空間的に滑らかに変化するようにされる。
【０５７２】
［第４の実施形態］
上述の実施形態では、ローカル動きベクトル算出部１５４では、階層化ブロックマッチングを行って、基底面におけるローカル動きベクトルＬＭＶを算出した。そして、動きベクトル信頼性指標値算出部１５６では、当該基底面のローカル動きベクトルＬＭＶの信頼性指標Ｆｔを算出した。
【０５７３】
また、動きベクトル算出部１５７では、この基底面のローカル動きベクトルＬＭＶについて、その信頼性指標値Ｆｔを生成し、当該信頼性指標値Ｆｔを用いて信頼性の高いローカル動きベクトルＬＭＶを抽出するようにした。そして、当該信頼性の高いローカル動きベクトルＬＭＶを用いてグローバルモーションＧＭを算出し、そのグローバルモーションＧＭからグローバル動きベクトルＧＭＶを算出するようにした。
【０５７４】
ところで、縮小面動きベクトルＭＶｓや中間面動きベクトルＭＶｍを、基底面に対する画像縮小倍率の逆数倍することで、基底面基底面動きベクトルＭＶｂを得ることができる。そこで、グローバルモーションＧＭを算出するためには、基底面動きベクトルＭＶｂを求めなくても、縮小面動きベクトルＭＶｓや中間面動きベクトルＭＶｍから、グローバルモーションＧＭを求めるようにすることもできる。
【０５７５】
例えば、縮小面動きベクトルＭＶｓからグローバルモーションＧＭを求める場合には、先ず、ローカル動きベクトル算出部１５４で、縮小面におけるローカル動きベクトルＬＭＶ（縮小面動きベクトルＭＶｓ）を算出する。
【０５７６】
そして、動きベクトル信頼性指標値算出部１５６で、算出した縮小面動きベクトルＭＶｓについての信頼性指標Ｆｔを算出する。また、動きベクトル算出部１５７で、この縮小面のローカル動きベクトルＬＭＶについての信頼性指標値Ｆｔを用いて、信頼性の高いローカル動きベクトルＬＭＶを抽出する。そして、動きベクトル算出部１５７で、当該信頼性の高いローカル動きベクトルＬＭＶを用いて、グローバルモーションＧＭおよびグローバル動きベクトルＧＭＶを算出するようにするようにする。
【０５７７】
中間面までの階層でブロックマッチングを行なって得た中間面動きベクトルＭＶｍから、グローバルモーションＧＭを用いる場合も同様にして算出することができる。ただし、グローバル動きベクトルＧＭＶの位置のＳＡＤ値についての補正を行う場合のオフセット値ＯＦＳやゲインｇは、それぞれの階層に応じて適切に設定するようにする。
【０５７８】
このようにして縮小面や中間面のローカル動きベクトルを用いて、グローバルモーションＧＭおよびグローバル動きベクトルＧＭＶを求めるメリットは、次の通りある。
【０５７９】
１つは、先に述べたように縮小面や中間面は、その生成にあたってローパスフィルタが施されるため、ノイズが除去され、結果として、得られたローカル動きベクトルがノイズの影響を受けにくい点である。
【０５８０】
他の１つは、縮小面や中間面では、ターゲットブロックの数が少なくなるので、ローカル動きベクトルの数は少なくなり、演算コストが小さくなると共に、処理に要する時間や小さいので、処理の高速化が可能であることである。
【０５８１】
上述の例のように、通常は、ハードウェアの制約から、縮小面、中間面、基底面のマッチング処理ブロック単位は同じサイズとなる。このため、画サイズの小さい縮小面のターゲットブロックの数（＝ローカル動きベクトルの数）は、基底面のみでブロックマッチングを行う場合に較べて相対的に少なくなる。
【０５８２】
そして、縮小面動きベクトルからグローバルモーションおよびグローバル動きベクトルＧＭＶを求める場合には、中間面および基底面での動きベクトル検出処理は省略することができる。また、中間面動きベクトルからグローバルモーションおよびグローバル動きベクトルＧＭＶを求める場合には、基底面での動きベクトル検出処理は省略することができる。したがって、処理の高速化が図れる。
【０５８３】
特に、縮小面動きベクトルＭＶｓを用いてグローバルモーションＧＭおよびグローバル動きベクトルＧＭＶを求めるようにした場合には、そのメリットは、大きい。
【０５８４】
図７６に、縮小面動きベクトルＭＶｓを用いてグローバルモーションおよびグローバル動きベクトルＧＭＶを求め、基底面でのローカル動きベクトルＬＭＶと比較する場合の処理の全体フローを示す。なお、この図７６は、１組のターゲットフレームと参照フレームについての処理について示したものである。
【０５８５】
先ず、動きベクトル算出部１５のコントロール部１５５は、処理をしようとする縮小面のフレーム画像についての分割始点を、上述した第１の実施形態で説明したようにして、ブロック分割位置が前のフレームでのブロック分割位置と重ならないように決定する（ステップＳ５０１）。
【０５８６】
次に、動きベクトル算出部１５では、縮小面ブロックマッチングを行なって、縮小面における各ターゲットブロック毎のローカル動きベクトルＬＭＶｓを求める。そして、各ターゲットブロック毎の縮小面ローカル動きベクトルＬＭＶｓの信頼性を評価して、信頼性の高い縮小面ローカル動きベクトルＬＭＶｓのみを用いてグローバルモーションＧＭを算出する。そして、算出したグローバルモーションからグローバル動きベクトルＧＭＶを算出しておく（ステップＳ５０２）。
【０５８７】
次に、階層化ブロックマッチングのため、縮小面再ブロックマッチングを行い、縮小面ローカル動きベクトルＬＭＶｓを再算出する（ステップＳ５０３）。
【０５８８】
次に、縮小面ローカル動きベクトルＬＭＶｓから中間面におけるターゲットブロックに対する参照ブロックについてのサーチ範囲を求め、中間面ブロックマッチングを行う。そして、中間面ローカル動きベクトルＬＭＶｍを算出する（ステップＳ５０４）。
【０５８９】
次に、中間面ローカル動きベクトルＬＭＶｍから基底面におけるターゲットブロックに対する参照ブロックについてのサーチ範囲を求め、基底面ブロックマッチングを行う。そして、基底面ローカル動きベクトルＬＭＶｂを算出する。そして、基底面ローカル動きベクトルＬＭＶｂと、ステップＳ５０１で算出されたグローバル動きベクトルＧＭＶとを用いて、前述した背景一致度合いの評価判定を、ターゲットブロック毎に行う。そして、その評価判定に基づいて、ヒット率βを求めると共に、ＮＲ処理用動きベクトルＭＶｎｒを検出する（ステップＳ５０５）。
【０５９０】
次に、動き補償画生成部１６が、ＮＲ処理用動きベクトルＭＶｎｒを用いて、参照フレームの画像データから、ブロック単位で、動き補償画を生成する（ステップＳ５０６）。
【０５９１】
また、加算率計算部２１は、ステップＳ５０５で算出されたヒット率βに基づいて、上述したようにして、画素単位で加算率αを計算する（ステップＳ５０７）。そして、加算部１７では、ステップＳ５０６で生成された動き補償画とターゲット画像とを、ブロック単位で、ステップＳ５０７で計算された加算率αで加算し、ＮＲ画像を生成する（ステップＳ５０８）。
【０５９２】
なお、上述の図７６の処理フローの説明では、１回目のブロックマッチングによる動きベクトル検出時に求められたグローバルモーションＧＭおよびグローバル動きベクトルＧＭＶは、階層化の再ブロックマッチングの基底面動きベクトルに対してのみ適用した。
【０５９３】
しかし、階層化の再ブロックマッチングの縮小面、中間面でも、グローバル動きベクトルＧＭＶと、縮小面ローカル動きベクトルＬＭＶｓ、中間面ローカル動きベクトルＬＭＶｍとを用いたターゲットブロックの背景一致度合い評価を行なってもよい。そして、その場合には、その結果としての動きベクトルＭＶｎｒを、縮小面、中間面における各ターゲットブロックについての動きベクトル出力とするようにする。
【０５９４】
そのようにした場合、縮小面、中間面における各ターゲットブロックについての動きベクトル（ローカル動きベクトル）を、通常よりも精度良く取得することが可能となる。基底面においても同様である。その際に、前述もしたように、オフセット値ＯＦＳやゲインｇは、各階層に応じて適切に設定するものである。
【０５９５】
図７６の処理フローに従って処理がなされたときのブロックマッチング結果および検出された動きベクトルの様子の例を、図７７（Ａ）〜（Ｄ）に示す。この図７７の例は、前述した図７８（Ａ）のターゲット画像と、図７８（Ｂ）の参照画像に対して、上述の処理を適用したときの処理結果を示している。
【０５９６】
図７７（Ａ）は、図７８（Ａ）のターゲット画像と、図７８（Ｂ）の参照画像に対して、縮小面ブロックマッチングを行なったときの、縮小面ローカル動きベクトルＬＭＶｓの検出結果を示している。
【０５９７】
また、図７７（Ｂ）は、当該縮小面ローカル動きベクトルＬＭＶｓについての信頼性評価を行い、高い信頼性を有するとされた縮小面ローカル動きベクトルＬＭＶｓおよびそのターゲットブロックを示している。なお、図７７（Ｂ）で、右下隅の部分のブロックは、動被写体部分であり、縮小面ローカル動きベクトルＬＭＶｓが大きなものとなっている。
【０５９８】
そして、図７７（Ｃ）は、基底面ローカル動きベクトルＬＭＶｂから算出されたグローバルモーションＧＭに基づいて算出された、各ターゲットブロック毎のグローバル動きベクトルＧＭＶである。更に、図７７（Ｄ）は、再度、動きベクトル検出し、上述のようにして、背景部分と動被写体部分とを評価して、ＮＲ処理用動きベクトルＭＶｎｒを検出したものを示している。
【０５９９】
図７７（Ｄ）から、背景部分の動きベクトルは、グローバル動きベクトルＧＭＶとして綺麗に揃っている状態が見て取れる。
【０６００】
なお、図７７（Ｄ）において、右下の大きな動きベクトルは、ローカル動きベクトルＬＭＶとグローバル動きベクトルＧＭＶとを用いた評価判定において、ＮＲ処理用動きベクトルとしてグローバル動きベクトルＧＭＶを出力しないとされた動被写体ブロックである。また、白抜きのベクトルは、サーチ範囲内の有効画素領域にグローバル動きベクトルＧＭＶと一致する参照ベクトルが存在しなかったブロックである。
【０６０１】
図７７は、効果を判り易く示すために作成したものであり、実際には、よりブロックサイズの小さいターゲットブロックサイズとなる。小さいブロック単位でヒット率βの生成を行なう方が効果的であることは、上述の通りである。
【０６０２】
ただし、画像内の動被写体領域とベクトルを、粗い単位で検出し、追跡するようなアプリケーションの場合、図７７（Ｄ）のような粗い単位で、グローバル動きベクトルＧＭＶを用いた評価に基づく、動きベクトルＭＶｎｒを出力する方が好適である。その際、画面内全てのブロックの情報が必要なのではなく、動被写体検出の信頼性を重視するならば、図７７（Ｂ）のように、１回目の動きベクトル検出時の、信頼性の高いベクトルのみから動被写体ブロックの分離をおこなって良い。
【０６０３】
［補間処理による高精度化について］
ところで、縮小面動きベクトルや中間面動きベクトルの精度は、縮小面および中間面は基底面の画像が縮小されたものであるので、低精度となっている点を考慮する必要がある。
【０６０４】
そこで、この低精度の問題を改善する場合には、縮小面動きベクトルあるいは中間面動きベクトルを用いる場合には、補間処理を行う。すなわち、算出された縮小面動きベクトルあるいは中間面動きベクトルで指し示される縮小面参照ブロック位置あるいは中間面参照ブロック位置の近傍の縮小面参照ブロックあるいは中間面参照ブロックのＳＡＤ値およびその位置情報を用いて、補間処理を行う。この補間処理により、ピクセル精度の縮小面動きベクトルあるいは中間面動きベクトルの検出を行うことができる。縮小面の場合を例に、以下にこの補間処理を説明する。
【０６０５】
例えば、縦および横、ともに１／４に縮小された縮小面でブロックマッチングを行った場合、縮小面動きベクトルは、４ピクセル精度の動きベクトルである。しかし、基底面参照フレームにおいては、縮小面動きベクトルＭＶｓをｎ倍した動きベクトルの近傍に、１ピクセル精度の基底面動きベクトルＭＶｂが存在することは明らかである。
【０６０６】
したがって、図７９に示すように、縮小面での最小ＳＡＤ値６０１が求まった場合、その近傍の複数個、例えば上下左右に隣接する４個のＳＡＤ値６０２，６０３，６０４，６０５を用いて補間処理を行い、ピクセル精度の動きベクトルの検出をすることを考えることができる。この場合、補間倍率は４倍必要ということになる。
【０６０７】
例えば、二次曲線を用いて、ＳＡＤテーブルを補間することで、例えばｎピクセル単位でマッチング処理を行った縮小面ＳＡＤテーブルから、ピクセル精度の動きベクトルを算出することを考える。この場合において、二次曲線近似補間ではなく、線形補間や、３次以上の高次の近似曲線補間を用いても良いが、精度とハードウエア化との兼ね合いから、この例では、二次曲線近似補間を用いている。
【０６０８】
この二次曲線近似補間においては、図７９に示すように、ｎピクセル精度の縮小面動きベクトルが指し示す縮小面ＳＡＤテーブルのＳＡＤ値の最小値Ｓminと、当該最小値Ｓminの位置の近傍位置の複数個のＳＡＤ値（近傍縮小面ＳＡＤ値という）とを使用する。この例では、近傍縮小面ＳＡＤ値としては、縮小面において、最小値Ｓminの位置のＸ方向（水平方向）およびＹ方向（垂直方向）に隣接する４個の近傍ＳＡＤ値Ｓx1、Ｓx2およびＳy1、Ｓy2を使用する。
【０６０９】
先ず、Ｘ方向（水平方向）の補間においては、図８０に示すように、縮小面ＳＡＤ値の最小値Ｓminと、Ｘ方向（水平方向）の近傍２点の近傍縮小面ＳＡＤ値Ｓx1、Ｓx2に対して二次の近似曲線７００を当てはめる。すなわち、最小値Ｓminと、Ｘ方向（水平方向）の近傍２点の近傍縮小面ＳＡＤ値Ｓx1、Ｓx2を通る二次の近似曲線７００を求める。すると、図８０に示すように、この二次曲線７００の極小を取る座標が、ピクセル精度のＳＡＤ値の最小値ＳＸminとなる縮小面動きベクトル（高精度縮小面動きベクトル）のＸ座標Ｖｘとなる。このときの二次曲線近似補間の式を、次式の（式ｅ）に示す。
【０６１０】
ＳＸmin＝１／２×（Ｓx2−Ｓx1）／（Ｓx2−２Ｓmin＋Ｓx1）…（式ｅ）
この計算式（式ｅ）で求めたピクセル精度のＳＡＤ値の最小値ＳＸminがＳＡＤテーブル上で取るＸ座標が、ピクセル精度の縮小面ＳＡＤ値の最小値となるＸ座標Ｖｘとなる。
【０６１１】
この計算式（式ｅ）の割り算は、複数回の引き算で実現可能である。求めたいピクセル精度が、例えば、縮小面における画素ピッチの１／４の画素ピッチの精度であれば、僅か２回の引き算で求められるため、回路規模、演算時間、共に小さく、二次の近似曲線補間よりもかなり複雑な三次曲線補間と殆ど変わらない性能が実現できる。
【０６１２】
同様に、Ｙ方向（垂直方向）の補間においては、縮小面ＳＡＤ値の最小値Ｓminと、Ｙ方向（垂直方向）の近傍２点の近傍縮小面ＳＡＤ値Ｓy1、Ｓy2に対して、二次の近似曲線を当て嵌める。すると、この二次近似曲線の極小値ＳＹminを取るＹ座標が、ピクセル精度のＳＡＤ値の最小値となるＹ座標Ｖｙとなる。このときの二次曲線近似補間の式を、次式の（式ｆ）に示す。
【０６１３】
ＳＹmin＝１／２×（Ｓy2−Ｓy1）／（Ｓy2−２Ｓmin＋Ｓy1）…（式ｆ）
以上のようにして、二次曲線の近似を、Ｘ方向およびＹ方向の２回、行うことで、ピクセル精度の高精度の縮小面動きベクトル（Ｖｘ、Ｖｙ）が求まる。
【０６１４】
以上の説明では、縮小面ＳＡＤ値の最小値と、そのＸ方向（水平方向）およびＹ方向（垂直方向）の近傍２点の縮小面ＳＡＤ値を使用したが、各方向の近傍の縮小面ＳＡＤ値は２点以上であってもよい。また、二次曲線をＸ方向、Ｙ方向に代えて、例えば、斜め方向に近似曲線を当て嵌めてもかまわない。さらに、Ｘ方向、Ｙ方向に、斜め方向を加えて近似曲線を当て嵌めてもかまわない。
【０６１５】
以上のような手段、手順を用いることにより、ｎピクセル単位の精度のＳＡＤテーブルの値から、ピクセル精度のベクトル検出結果が得られることを図８１に示す。図８１の横軸は、補間倍率であり、１次元方向に分解能を何倍にするかを表している。ＳＡＤテーブルは２次元のため、テーブル面積は、この２乗の割合で削減されるのに対し、補間による誤差は、線形程度にしか増加しないことから、上述の補間手法の有用性が分かる。
【０６１６】
なお、図７９〜図８１を用いて説明した補間手法は、縮小面に限らず、中間面および基底面においても適用可能であることは言うまでもない。上記の補間手法を基底面に適用した場合には、画素ピッチよりも小さい精度（サブピクセル精度）のローカル動きベクトルＬＭＶが得られる。
【０６１７】
基底面でサブピクセル精度のローカル動きベクトルＬＭＶを求めた場合には、ＮＲ処理用動きベクトルＭＶｎｒとして出力するグローバル動きベクトルＧＭＶは、これと一致する基底面のサブピクセル精度のローカル動きベクトルＬＭＶを出力するとよい。つまり、背景と判定されるブロックについては、グローバルモーションＧＭから算出されたグローバル動きベクトルＧＭＶを出力してもよいし、当該グローバル動きベクトルＧＭＶと一致するローカル動きベクトルＬＭＶを出力しても良い。どちらでも良いのであるが、この場合には、高精度のローカル動きベクトルＬＭＶを、グローバル動きベクトルＧＭＶとして出力する方がよい。
【０６１８】
また、基底面でサブピクセル精度のローカル動きベクトルＬＭＶを算出した場合には、動き補償画生成部１６においても、サブピクセル精度で補間画像を、動き補償画として生成することできるというメリットもある。
【０６１９】
［上述の実施形態の効果］
上述したように、上記の実施形態によれば、画像内の全てのターゲットブロックについての動きベクトルを、高い精度で検出することができる。更に、背景画像部分であるか、動被写体部分であるかを判定することができ、その指標値であるヒット率を得ることができる。そして、そのヒット率に応じて、画像の加算率を大きくすることが可能である。
【０６２０】
したがって、従来は困難であった、高ノイズレベルの画像からの、精度の高いローカル動きベクトルの検出や、画像全体における背景静止画領域および動被写体領域の抽出が可能になると共に、背景静止画領域においては、高い加算率で画像の重ね合わせができる。このため、所期のノイズ低減効果が得られるＮＲ画像が得られる。
【０６２１】
そして、ブロック分割位置を上述のようにフレーム毎にオフセット変更するようにしたので、加算後の重ね合わせ画像についてのブロック境界が目立たなくなるという効果を奏する。
【０６２２】
［他の実施形態および変形例］
以上の説明においては、背景／動被写体判定部１５０では、ターゲットフレーム内の全てのターゲットブロックについて、背景一致度合いの評価判定を行うようにした。
【０６２３】
しかし、この実施形態では、グローバルモーションは信頼性の高いローカル動きベクトルＬＭＶのみを用いて収束演算して求めるようにしている。信頼性の高いローカル動きベクトルＬＭＶのうち、図４４および図４５におけるグローバルモーションの収束演算過程において、排除されたローカル動きベクトルＬＭＶは、動被写体ブロックのローカル動きベクトルＬＭＶである可能性が高い。また、グローバルモーションの収束演算において、最終的にグローバルモーションの算出に使用されたローカル動きベクトルＬＭＶは、背景ブロックであると判定することができる。
【０６２４】
したがって、グローバルモーションの算出時に、評価した信頼性の高いローカル動きベクトルＬＭＶを呈するブロックは、改めて、背景か、動被写体かの評価判定を行う必要はない。そこで、これらの信頼性が高いローカル動きベクトルＬＭＶのターゲットブロックについては、再ブロックマッチングおよび背景／動被写体判定処理は省略することができる。これにより、処理時間および演算量を削減することができる。
【０６２５】
なお、グローバルモーションの収束演算において、最終的にグローバルモーションの算出に使用されたローカル動きベクトルＬＭＶは、背景ブロックであると判定できるので、そのヒット率βは、β＝１．０とすることができる。
【０６２６】
そして、ヒット率βが１．０のときには、ターゲットブロックと補償画ブロックとの加算率αが１．０となるようにすることにより、背景部分については積極的に強く加算され、大きなＮＲ効果が期待できる。
【０６２７】
なお、上述の実施形態では、動き補償画像は、ターゲットブロック単位で動き補償するようにしたが、グローバルモーションＧＭが得られるので、画素単位で動き補償することもできる。すなわち、例えば、ヒット率βが１．０や０．７５のように高く、背景一致度が高いターゲットブロックの画像に対しては、画素毎に、グローバルモーションからグローバル動きベクトルを算出する。そして、算出した画素毎のグローバル動きベクトルを用いて動き補償を行う。動き補償結果は、画素位置に一致しない場合があるので、補間処理を行なって動き補償画素を生成し、これにより、動き補償画を生成するようにする。
【０６２８】
このように、画素単位で動き補償するようにすれば、より滑らかな動き補償画像が得られると期待できる。
【０６２９】
なお、上述の実施形態では、相関値としては、ＳＡＤ値を検出するようにしたが、相関値はＳＡＤ値に限定されるものではないことは言うまでもない。
【０６３０】
また、上述の実施形態では、静止画像についての動き検出処理および画像の重ね合わせ処理は、画像メモリ部４に、複数枚の撮像画像を取り込み、当該取り込んだ複数枚の撮像画像について、上述のような動き検出および画像重ね合わせ処理を行うようにした。しかし、処理対象の複数枚の画像を、動画撮影時と同様に、リアルタイムで処理するようにすることもできる。
【０６３１】
なお、動きベクトルの検出対象となる画像情報は、撮像画像情報に限られるものではないことは言うまでもない。
【０６３２】
また、上述の実施形態では、動きベクトルの信頼性の判定を、動きベクトル信頼性指標値に基づいて行うようにした。しかし、相関値の第１極大値と相関値の第２極大値の差や比のみではなく、当該相関値の第１極大値を取る参照ベクトルと、相関値の第２極大値を取る参照ベクトルとの位置的な異なりをさらに用いて信頼性の判定をするようにしてもよい。また、相関値の第３極大値、さらには、それよりも、より順位の高位の極大値の値や当該極大値を取る参照ベクトルの位置分布をさらに参照して、信頼性の判定をしたりするようにしてもよい。
【０６３３】
なお、上述の実施形態では、グローバルモーションの演算処理に当たって、演算負荷を軽くするため、ローカル動きベクトルＬＭＶの信頼性指標値に応じた重み係数Ｗは、０と、１とに２値化したものを使用した。しかし、ローカル動きベクトルＬＭＶの信頼性指標値を正規化して得た、例えば０以上、１以下の重み係数Ｗを、そのまま用いて、グローバルモーションの演算処理をするようにしても、勿論よい。
【０６３４】
また、グローバルモーションは、上述した実施形態のように、アフィン変換を用いた信号処理により算出するのではなく、例えば、ジャイロなどの加速度センサなどを用いて、撮像素子全体に加わる変位として検出することもできる。そして、このように検出されたグローバルモーションを用いて、上述と同様にしてグローバル動きベクトルＧＭＶを求め、求めたグローバル動きベクトルＧＭＶとローカル動きベクトルＬＭＶとを比較して、両者の一致度合いを求めることができる。
【０６３５】
この場合において、グローバル動きベクトルＧＭＶは、グローバルモーションから求めた１つのベクトルのみを各ローカル動きベクトルＬＭＶと比較しても良い。また、グローバルモーションが画像（フレーム）の中心位置において生じたと判断して、当該中心位置を原点座標として、各ターゲットブロックのグローバル動きベクトルＧＭＶを、グローバルモーションから求めても良い。
【０６３６】
また、重ね合わせる画像についてのターゲットブロック毎のグローバル動きベクトルＧＭＶは、外部で生成するようにすることもできる。その場合には、グローバル動きベクトルＧＭＶは、画像処理装置では、上述のような計算を行なう必要はなく、単に、外部から取得するようにすれば良い。外部では、上述のような信号処理のみからなる計算により、あるいは、ジャイロなどのセンサを用いると共に、必要な計算を行なって、グローバル動きベクトルＧＭＶを生成することができる。
【０６３７】
特に、静止画像について、予め連写した画像を記憶しておき、後の時点において、ＮＲ処理をするような場合には、外部でグローバルモーションを算出し、グローバル動きベクトルＧＭＶを取得するようにすることは比較的容易である。
【０６３８】
上述の実施形態においては、この発明を、静止画撮影時における動きベクトル検出および背景／動被写体判定の場合に適用したが、この発明は、動画撮影時における動きベクトル検出および背景／動被写体判定をする場合にも、勿論適用できる。
【０６３９】
図８２に、動画撮影時を考慮した撮像装置のハードウエア構成例を示す。図８２において、図１と同一部分には、同一番号を付してその詳細な説明は省略する。
【０６４０】
この図８２の例の動画のＮＲ処理時においては、１Ｖ（Ｖは垂直周期（フレームまたはフィールド））毎に、入力される撮像素子１１からの撮像画像がターゲット画像となり、加算後の出力画像の、１Ｖ前と、２Ｖ前の画像が参照画像となる。
【０６４１】
１Ｖ前だけでなく、２Ｖ前の画像も参照するのは、インターレース画像の場合、静止物体は２Ｖ前とのマッチング率の方が高いためである。
【０６４２】
この図８２のシステムにおいても、ローカルベクトルからグローバルモーションを算出し、ターゲット画像内の各ブロックまたは各画素の動きベクトルが、グローバルモーションに一致するかどうかによってヒット率情報を生成し、後段の加算率αを制御する。これにより、ＮＲ効果の高い動画の撮像システムとなる。
【０６４３】
なお、この図８２の例の場合には、コーデック部２２は、ＭＰＥＧ方式の圧縮符号化を行なうものが用いられる。
【０６４４】
以上の説明は、全て画像情報が撮像画像情報の場合であったが、この発明の対象となる画像情報は、撮像画像情報に限られるものではないことは言うまでもない。
【０６４５】
また、上述の実施形態では、加算率は、画素単位で算出するようにしたが、ターゲットブロック単位で加算率を求めて、加算を行うようにしてもよい。
【０６４６】
上述の実施形態は、全てＮＲ処理による画像加算処理に、この発明を適用した場合であるが、ブロック分割して、処理を行なう画像処理としては、画像加算処理に限らないことは言うまでもない。
【０６４７】
図８３は、画像処理が画像認識処理の場合に、この発明を適用した実施形態のブロック図を示すものである。
【０６４８】
この図８３の実施形態は、入力画像情報をブロック分割するブロック分割処理部１０１１と、ブロック分割処理部１０１１からのブロック単位の画像情報について画像認識処理を行なう画像認識処理部１０１２と、制御部１０１０とからなる。
【０６４９】
この図８３の実施形態では、制御部１０１０は、ブロック分割処理部１０１１に対して、同じフレームの画像情報について、ブロック分割位置を変更して、複数回、画像認識処理部１０１２において、画像認識を行なわせるように制御する。
【０６５０】
この図８３の実施形態における画像認識処理のフローチャートを、図８４に示す。
【０６５１】
制御部１０１０は、先ず、入力画像情報についての最初のブロック分割始点を指定して、ブロック分割処理部１０１１にブロック分割を行なわせるようにする（ステップＳ６０１）。
【０６５２】
画像認識処理部１０１２では、このブロック分割されたブロックについて画像認識処理を行う（ステップＳ６０２）。このステップＳ６０２における画像認識処理は、１画面の全てのブロックについて行なうようにしてもよいし、予め、定められた注目位置のブロックのみについて行なうようにしてもよい。
【０６５３】
画像認識処理部１０１２での、１つのブロック分割位置での１フレーム分の画像認識処理が終了すると、制御部１０１０は、この例では、予め定められた所定回数（所定フレーム回数）だけ、画像認識処理がなされたか否か判別する（ステップＳ６０３）。そして、所定回数は画像認識を行なっていないと判別したときには、制御部１０１０は、ステップＳ６０１に戻り、ブロック分割処理部１０１１に対して、前回とは異なるブロック分割とするブロック分割始点を指示して、ブロック分割を行なわせるようにする。
【０６５４】
そして、画像認識処理部１０１２は、ステップＳ６０２において、再分割されたブロックについて、再度、画像認識処理を実行する。
【０６５５】
そして、ステップＳ６０３で、所定回数だけ、画像認識処理が繰り返されたと判別したときには、制御部１０１０は、画像認識処理部１０１２における画像認識処理を終了させる。そして、画像認識処理部１０１２に、前記所定回数の画像認識処理のうちの最良の処理結果を出力させるように指示する（ステップＳ６０４）。そして、この処理ルーチンを終了する。
【０６５６】
この実施形態においては、ブロック単位に画像認識を行なうが、そのブロック位置が画像上において異なる位置になるため、画像認識結果が異なることになり、ある分割位置では、認識結果は不良でも、他の分割位置では、良好な認識結果が得られることがある。
【０６５７】
このため、図８３の実施形態によれば、画像認識率の向上を図ることができるという効果がある。
【０６５８】
以上のように、この発明による画像処理装置は、１フレーム毎に、ブロック分割位置を変更するように制御するが、その場合における画像情報は、前述の実施形態の場合には、順次に所定のフレームレートで入力される画像とされる。一方、図８３の実施形態の場合における画像認識対象の画像情報は、同一の１つのフレームの画像情報である。
【０６５９】
すなわち、この発明は、同一のフレームの画像情報について、ブロック分割位置を１フレーム分の画像処理毎に変更して、画像処理を行う場合と、時系列信号として入力される画像情報を１フレーム毎に画像処理する場合の、いずれであっても、適用可能である。
【０６６０】
なお、上述の第１〜第３の実施形態においては、１フレーム分（１画面分）の画像情報の全てを等分にブロック分割するようにした。しかし、図８３の実施形態のような画像認識などにおいては、予め、定められた１画面上の特定位置の一部ブロックを処理対象とするようにブロック分割するようにすることもできる。
【０６６１】
前者の場合には、１画面分を等分にブロック分割するため、１画面分の画像の分割始点を決定するだけで、ブロック分割位置が決定されるので、１画面について、１個の分割始点のみを制御すればよい。しかし、後者の場合には、各ブロックの始点のそれぞれを制御して、ブロック分割位置を制御する必要がある。
【０６６２】
なお、この発明は、上述のＮＲ加算処理、画像認識処理に限らず、画像情報を、その１画面分について、ブロック分割して処理を行なう画像処理装置および画像処理方法の全てに適用できることは言うまでもない。
【図面の簡単な説明】
【０６６３】
【図１】この発明による画像処理装置の第１の実施形態の構成例を示すブロック図である。
【図２】この発明による画像処理装置の第１の実施形態の要部を説明するために用いる図である。
【図３】この発明による画像処理装置の第１の実施形態の効果を説明するために用いる図である。
【図４】この発明による画像処理装置の第１の実施形態におけるブロック分割位置の変更処理例を説明するための図である。
【図５】この発明による画像処理装置の第１の実施形態におけるブロック分割位置の変更処理例を説明するための図である。
【図６】この発明による画像処理装置の第１の実施形態におけるブロック分割位置の変更処理例を説明するための図である。
【図７】この発明による画像処理装置の第１の実施形態におけるブロック分割位置の変更処理例を説明するための図である。
【図８】この発明による画像処理装置の第１の実施形態におけるブロック分割位置の変更処理例を説明するための図である。
【図９】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図１０】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図１１】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図１２】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図１３】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図１４】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図１５】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図１６】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図１７】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図１８】この発明による画像処理装置の第２の実施形態が適用される撮像装置の構成例を示すブロック図である。
【図１９】この発明による画像処理装置の第２の実施形態におけるブロックマッチング処理を説明するためのブロック図である。
【図２０】この発明による画像処理装置の第２の実施形態が適用される撮像画像の例を示す図である。
【図２１】この発明による画像処理装置の第２の実施形態において検出されたローカル動きベクトルを、画像上に対応付けて示した図である。
【図２２】この発明による画像処理装置の第２の実施形態の要部を説明するために用いる図である。
【図２３】この発明による画像処理装置の第２の実施形態の要部を説明するために用いる図である。
【図２４】この発明による画像処理装置の第２の実施形態において、信頼性が高いとされたローカル動きベクトルを、画像上に対応付けて示した図である。
【図２５】この発明による画像処理装置の第２の実施形態の要部である動きベクトル算出部の構成例を説明するためのブロック図である。
【図２６】この発明による画像処理装置の第２の実施形態の主要な処理動作を説明するためのフローチャートを示す図である。
【図２７】図２５の構成例を説明するために用いる図である。
【図２８】この発明による画像処理装置の第２の実施形態の要部の構成例による処理例を説明するためのフローチャートである。
【図２９】ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図３０】ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図３１】ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図３２】ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図３３】ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図３４】従来のアフィン変換の問題点を説明するための図である。
【図３５】グローバルモーションを算出する他の方法を説明するために用いる図である。
【図３６】この発明による画像処理装置の第２の実施形態で用いる拡張したアフィン変換説明するための図である。
【図３７】この発明による画像処理装置の第２の実施形態において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。
【図３８】この発明による画像処理装置の第２の実施形態において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。
【図３９】この発明による画像処理装置の第２の実施形態において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。
【図４０】この発明による画像処理装置の第２の実施形態において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。
【図４１】この発明による画像処理装置の第２の実施形態において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。
【図４２】この発明による画像処理装置の第２の実施形態において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。
【図４３】この発明による画像処理装置の第２の実施形態において、ローカル動きベクトルからグローバルモーションを算出する処理例を説明するために用いる式を説明するための図である。
【図４４】この発明による画像処理装置の第２の実施形態の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するためのフローチャートの一部を示す図である。
【図４５】この発明による画像処理装置の第２の実施形態の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するためのフローチャートの一部を示す図である。
【図４６】この発明による画像処理装置の第２の実施形態において、算出されたグローバルモーションから求められたブロック単位の動きベクトルを、画像上に対応付けて示した図である。
【図４７】この発明の第２の実施形態において、グローバル動きベクトルＧＭＶを用いて、ターゲットブロックの背景一致度合いを評価する処理を説明するために用いる図である。
【図４８】この発明の第２の実施形態の要部である背景／動被写体判定部の構成例を説明するための図である。
【図４９】この発明の第２の実施形態の要部である背景／動被写体判定部での処理動作を説明するためのフローチャートの一部を示す図である。
【図５０】この発明の第２の実施形態の要部である背景／動被写体判定部での処理動作を説明するためのフローチャートの一部を示す図である。
【図５１】この発明の第２の実施形態の要部である背景／動被写体判定部の他の構成例を説明するための図である。
【図５２】この発明の第２の実施形態の要部である背景／動被写体判定部のさらに他の構成例を説明するための図である。
【図５３】この発明の第２の実施形態の要部である背景／動被写体判定部のさらに他の構成例を説明するための図である。
【図５４】この発明の第２の実施形態の要部である背景／動被写体判定部のさらに他の構成例での処理動作を説明するためのフローチャートの一部を示す図である。
【図５５】この発明の第２の実施形態の要部である背景／動被写体判定部のさらに他の構成例での処理動作を説明するためのフローチャートの一部を示す図である。
【図５６】この発明の第２の実施形態の要部である背景／動被写体判定部の、またさらに他の構成例を説明するための図である。
【図５７】この発明の第２の実施形態の要部である加算率計算部の一例の構成例の一部を示すブロック図である。
【図５８】この発明の第２の実施形態の要部である加算率計算部の一例の構成例の一部を示すブロック図である。
【図５９】この発明の第２の実施形態の要部である加算率計算部の一例の構成例を説明するために用いる図である。
【図６０】この発明の第２の実施形態の要部である加算率計算部の一例の構成例を説明するために用いる図である。
【図６１】この発明の第２の実施形態の要部である加算率計算部の一例の構成例を説明するために用いる図である。
【図６２】この発明の第２の実施形態の要部である加算率計算部の一例の構成例を説明するために用いる図である。
【図６３】この発明の第２の実施形態の要部である加算率計算部の一例の構成例を説明するために用いる図である。
【図６４】この発明の第２の実施形態の要部である加算率計算部の一例の構成例を説明するために用いる図である。
【図６５】この発明の第２の実施形態の要部である加算率計算部の一例の構成例を説明するために用いる図である。
【図６６】この発明の第２の実施形態の効果を説明するために用いる図である。
【図６７】この発明の第２の実施形態の効果を説明するために用いる図である。
【図６８】この発明の第２の実施形態の効果を説明するために用いる図である。
【図６９】この発明の第２の実施形態の効果を説明するために用いる図である。
【図７０】この発明の第２の実施形態の効果を説明するために用いる図である。
【図７１】この発明の第２の実施形態の効果を説明するために用いる図である。
【図７２】この発明の第３の実施形態における第１の処理例を説明するための図である。
【図７３】この発明の第３の実施形態における第１の処理例を説明するための図である。
【図７４】この発明の第３の実施形態における第２の処理例を説明するための図である。
【図７５】この発明の第３の実施形態における第２の処理例を説明するための図である。
【図７６】この発明の第４の実施形態における要部の処理動作を説明するためのフローチャートを示す図である。
【図７７】この発明の第４の実施形態による効果を説明するために用いる図である。
【図７８】この発明の第４の実施形態による効果を説明するために用いる図である。
【図７９】この発明による画像処理装置の実施形態において、ローカル動きベクトルを求める処理の他の例を説明するための図である。
【図８０】この発明による画像処理装置の実施形態において、ローカル動きベクトルを求める処理の他の例を説明するための図である。
【図８１】この発明による画像処理装置の実施形態において、ローカル動きベクトルを求める処理の他の例を説明するための図である。
【図８２】この発明による画像処理装置の他の実施形態の構成例を示すブロック図である。
【図８３】この発明による画像処理装置の他の実施形態の構成例を示すブロック図である。
【図８４】図８３の実施形態の処理動作を説明するためのフローチャートを示す図である。
【図８５】従来の画像処理装置の構成例を説明するためのブロック図である。
【図８６】ブロック分割処理の一例を説明するための図である。
【図８７】従来の画像処理装置の問題点を説明するための図である。
【符号の説明】
【０６６４】
１０００…画像処理部、１００１…ブロック分割処理部、１００２…動きベクトル検出部、１００３…動き補償画生成部、１００４…画像加算部、１００５…分割位置シフト制御部、１００６…タイミング信号発生部、１０１０…制御部、１０１１…ブロック分割処理部、１０１２…画像認識処理部、１５…動きベクトル算出部、１６…動き補償画生成部、１７…加算部
【図１】
2010016580.tif 000003
【図２】
2010016580.tif 000004
【図３】
2010016580.tif 000005
【図４】
2010016580.tif 000006
【図５】
2010016580.tif 000007
【図６】
2010016580.tif 000008
【図７】
2010016580.tif 000009
【図８】
2010016580.tif 000010
【図９】
2010016580.tif 000011
【図１０】
2010016580.tif 000012
【図１１】
2010016580.tif 000013
【図１２】
2010016580.tif 000014
【図１３】
2010016580.tif 000015
【図１４】
2010016580.tif 000016
【図１５】
2010016580.tif 000017
【図１６】
2010016580.tif 000018
【図１７】
2010016580.tif 000019
【図１８】
2010016580.tif 000020
【図１９】
2010016580.tif 000021
【図２３】
2010016580.tif 000022
【図２５】
2010016580.tif 000023
【図２６】
2010016580.tif 000024
【図２７】
2010016580.tif 000025
【図２８】
2010016580.tif 000026
【図２９】
2010016580.tif 000027
【図３０】
2010016580.tif 000028
【図３１】
2010016580.tif 000029
【図３２】
2010016580.tif 000030
【図３３】
2010016580.tif 000031
【図３４】
2010016580.tif 000032
【図３５】
2010016580.tif 000033
【図３６】
2010016580.tif 000034
【図３７】
2010016580.tif 000035
【図３８】
2010016580.tif 000036
【図３９】
2010016580.tif 000037
【図４０】
2010016580.tif 000038
【図４１】
2010016580.tif 000039
【図４２】
2010016580.tif 000040
【図４３】
2010016580.tif 000041
【図４４】
2010016580.tif 000042
【図４５】
2010016580.tif 000043
【図４７】
2010016580.tif 000044
【図４８】
2010016580.tif 000045
【図４９】
2010016580.tif 000046
【図５０】
2010016580.tif 000047
【図５１】
2010016580.tif 000048
【図５２】
2010016580.tif 000049
【図５３】
2010016580.tif 000050
【図５４】
2010016580.tif 000051
【図５５】
2010016580.tif 000052
【図５６】
2010016580.tif 000053
【図５７】
2010016580.tif 000054
【図５８】
2010016580.tif 000055
【図５９】
2010016580.tif 000056
【図６０】
2010016580.tif 000057
【図６１】
2010016580.tif 000058
【図６２】
2010016580.tif 000059
【図６３】
2010016580.tif 000060
【図６４】
2010016580.tif 000061
【図６５】
2010016580.tif 000062
【図７２】
2010016580.tif 000063
【図７３】
2010016580.tif 000064
【図７４】
2010016580.tif 000065
【図７５】
2010016580.tif 000066
【図７６】
2010016580.tif 000067
【図７９】
2010016580.tif 000068
【図８０】
2010016580.tif 000069
【図８１】
2010016580.tif 000070
【図８２】
2010016580.tif 000071
【図８３】
2010016580.tif 000072
【図８４】
2010016580.tif 000073
【図８５】
2010016580.tif 000074
【図８６】
2010016580.tif 000075
【図８７】
2010016580.tif 000076
【図２０】
2010016580.tif 000077
【図２１】
2010016580.tif 000078
【図２２】
2010016580.tif 000079
【図２４】
2010016580.tif 000080
【図４６】
2010016580.tif 000081
【図６６】
2010016580.tif 000082
【図６７】
2010016580.tif 000083
【図６８】
2010016580.tif 000084
【図６９】
2010016580.tif 000085
【図７０】
2010016580.tif 000086
【図７１】
2010016580.tif 000087
【図７７】
2010016580.tif 000088
【図７８】
2010016580.tif 000089