(57)【要約】【課題】複数枚の撮像画像に対して所定の処理を施して１枚の処理結果画像を得る場合において、撮像光学系により画像に発生する歪みを効率よく補正できる。【解決手段】処理出力画像生成手段で、複数枚の撮像画像の内の１枚を基準画像として前記複数枚の画像を用いた処理を行い、１枚の処理出力画像を生成する。この処理出力画像生成手段で生成された処理出力画像に対して、撮像レンズを含む撮像光学系により撮像画像に生じる画像歪みを、補正手段で補正する。【選択図】図１
2010183127.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子から連続的に出力された複数枚の撮像画像の内の１枚を基準画像として前記複数枚の画像を用いた処理を行い、１枚の処理出力画像を生成する処理出力画像生成手段と、
前記処理出力画像生成手段で生成された前記処理出力画像に対して、前記複数枚の撮像画像を得る際に、撮像レンズを含む撮像光学系により前記撮像画像に生じる画像歪みを補正する補正手段と、
を備える画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記処理出力画像生成手段は、前記複数枚の撮像画像を、前記撮像画像間の動きを補償しながら加算することにより、時間方向のノイズ低減処理を行う画像加算手段からなる
画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置において、
前記補正手段は、前記画像歪みの補正をソフトウエア処理により実行するものである
画像処理装置。
【請求項４】
請求項２に記載の画像処理装置において、
前記画像加算手段は、
画像中において設定された、複数の画素からなる所定の大きさのブロックの複数個のそれぞれについて、前記ブロック毎の動きベクトルを検出するローカル動きベクトル検出手段と、
前記画像全体に加わっている変形を表わすグローバルモーションを算出するグローバルモーション算出手段と、
前記グローバルモーション算出手段で算出された前記グローバルモーションから前記ブロック毎のグローバル動きベクトルを算出するグローバル動きベクトル算出手段と、
前記ブロック毎に、前記ローカル動きベクトルと前記グローバル動きベクトルとの一致度合いを示す指標値を算出する指標値算出手段と、
前記ローカル動きベクトルを用いて前記動き補償したブロック単位の動き補償画像を生成する動き補償手段と、
前記指標値算出手段で算出された前記指標値に応じて算出された加算率で前記動き補償画像を、前記基準画像または前記基準画像に動き補償画像を加算した加算結果に加算する加算手段と、
を備える画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記グローバルモーション算出手段は、
前記動きベクトル検出手段で検出された前記複数個のブロックについての複数個の動きベクトルから、アフィンパラメータの少なくとも１つを、前記画像の変位軸についての変数の関数とした拡張したアフィン変換を用いて収束演算をし、前記画像全体に加わっている変形を表わすグローバルモーションを算出する
画像処理装置。
【請求項６】
処理出力画像生成手段と、補正手段とを備える画像処理装置における画像処理方法であって、
前記処理出力画像生成手段が、撮像素子から連続的に出力された複数枚の撮像画像の内の１枚を基準画像として前記複数枚の画像を用いた処理を行い、１枚の処理出力画像を生成する処理出力画像生成工程と、
前記補正手段が、前記処理出力画像生成工程で生成された前記処理出力画像に対して、前記複数枚の撮像画像を得る際に、撮像レンズを含む撮像光学系により前記撮像画像に生じる画像歪みを補正する補正工程と、
を有する画像処理方法。
【請求項７】
撮像素子と、
前記撮像素子に対して被写体像を結像するための撮像光学系と、
前記撮像素子から連続的に出力された複数の撮像画像の内の１枚を基準画像として前記複数枚の画像を用いた処理を行い、１枚の処理出力画像を生成する処理出力画像生成手段と、
前記処理出力画像生成手段で生成された前記処理出力画像に対して、前記複数枚の撮像画像を得る際に、撮像レンズを含む撮像光学系により前記撮像画像に生じる画像歪みを補正する補正手段と、
前記補正手段で補正された撮像画像を記録媒体に記録する記録手段と、
を備える撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば撮像素子で撮像された画像について、撮像光学系により撮像画像に生じる歪曲収差や色収差などの画像歪みを補正する画像処理装置、画像処理方法および撮像装置に関する。
【背景技術】
【０００２】
例えば、デジタルスチルカメラ等の撮像装置においては、複数枚の撮像画像を加算して１枚の画像を生成することにより、時間方向のノイズを低減した静止画像を得るようにすることが提案されている。
【０００３】
例えば特許文献１（特開２００１−８６３９８号公報）には、静止画についてのセンサレス手ぶれ補正の技術が開示されている。すなわち、この特許文献１には、手ブレが生じないような高速のシャッター動作で複数枚の画像の撮影を行い、手ブレの影響を考慮して、撮影した低照度の画像を重ね合わせ、照度の高い１枚の静止画像を得る手法が示されている。
【０００４】
この技術は、連続撮影した画像を重ねれば、ランダム成分であるノイズは分散されて、ノイズ低減されるという考えであり、ノイズ低減という観点では、動画像のフレームＮＲ（Noise  Reduction）手法に近い技術であるといえる。動画像のフレームＮＲ手法は、現フレームと参照フレームをリアルタイムに重ね合わせる技術であり、現フレームと参照フレームは常に１：１で重ね合わせるものである。
【０００５】
一方、静止画のＮＲの場合、現フレーム１枚に対して、通常、参照フレームは複数枚となる。この静止画のＮＲ手法は、シャッターを高速化するほど手ブレの影響は減り、重ね合わせ枚数を増やすほど、ノイズ低減効果が大きくなり、また、高感度化を期待できる。
【０００６】
複数枚の画像を重ね合わせることにより、ノイズ低減を図る特許文献１の手法（以下、加算ＮＲ処理という）は、撮像素子からのＲＡＷ画像ではなく、ガンマ補正などが施された後のＹＣデータ（輝度成分Ｙと色成分Ｃとからなる）に対して施される。
【０００７】
ところで、特許文献２（特開２００６−１８６８８４号公報）や特許文献３（特開２００７−２６４８３１号公報）に記載されているように、撮像装置では、撮像レンズを含む撮像光学系により、撮像画像に画像歪みが生じることが知られている。この画像歪みは、撮像レンズの歪曲収差特性に基づくものである。
【０００８】
例えば、図４２（Ａ）に示すような矩形の被写体を撮影したときに、撮像レンズが広角レンズであるときには、図４２（Ｂ）に示すように、矩形が樽型になる画像歪みが生じる。また、撮像レンズが望遠レンズであるときには、図４２（Ｃ）に示すように、矩形が糸巻き形状になる画像歪みが生じる。
【０００９】
したがって、撮像画像については、この撮像レンズの歪曲収差特性に基づく画像歪み（以下、この画像歪みをレンズ歪みと言う）を除去あるいは軽減する補正処理をする必要がある。
【００１０】
これらの撮像画像のレンズ歪みを補正する手法は、従来から種々提案されており、撮像光学系の構成を工夫する手法の他に、撮像素子からの撮像画像信号に対して補正処理を施す画像処理手法も提案されている。
【００１１】
画像処理手法としては、特許文献３に紹介されているように、例えば、Tsaiの手法（非特許文献１，２参照）やZhengyou  Zhangが提案したアルゴリズム（非特許文献３，４参照）が良く知られている。これらの手法は、コンピュータプログラムによるソフトウエア処理として実装することも提案されている（非特許文献５）。
【００１２】
上述の加算ＮＲ処理をする場合に限らず、従来、一般的には、撮像素子からの撮像画像に対しては、ＲＡＷ信号の状態で、あるいはＹＣ信号状態で、加算ＮＲ処理など、所定の画像処理をする前に、レンズ歪みの補正を行うようにしている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００１−８６３９８号公報
【特許文献２】特開２００６−１８６８８４号公報
【特許文献３】特開２００７−２６４８３１号公報
【特許文献４】特開２０００−２９９８７４号公報
【非特許文献】
【００１４】
【非特許文献１】R.Y.Tsai: A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV camera and lenses ;IEEE Journal of Robotics and Automation, RA-3, 4, pp.323-344(1987)．
【非特許文献２】コンピュータビジョン：技術評論と将来展望  1998年6月  浅田尚紀
【非特許文献３】Z. Zhang. “Flexible Camera Calibration By Viewing a Plane From Unknown Orientations”, Proc. Of ICCV’99, pp666-673, 1999.
【非特許文献４】Z. Zhang. “Flexible New Technique for Camera Calibration” IEEE, PAMI 22(11), pp1130-1134, 2000.
【非特許文献５】OpenCV Reference Manual, 6 3 D Reconstruction [ Camera Calibration], pp6_1-6_3.
【発明の概要】
【発明が解決しようとする課題】
【００１５】
上述したように、従来は、加算ＮＲ処理など、所定の画像処理をする前に、撮像画像についてレンズ歪みの補正を行うようにしている。このため、例えば加算ＮＲ処理の場合、重ね合わせて加算ＮＲ処理をするために取り込む複数枚の画像フレームの全てについて、それぞれ、上記のレンズ歪みの補正処理を施す必要がある。
【００１６】
しかし、このレンズ歪みの補正処理には、大きな演算量のため比較的長い処理時間を必要とし、特に、上述したような、コンピュータプログラムによるソフトウエア処理として実装した場合、膨大な処理時間がかかるという問題があった。
【００１７】
この発明は、以上の点にかんがみ、複数枚の撮像画像に所定の処理を施して、１枚の処理出力画像を得る場合において、撮像光学系により撮像画像に生じる歪曲収差や色収差などの画像歪みの補正を、比較的短時間の処理時間で行えるようにすることを目的とする。
【課題を解決するための手段】
【００１８】
上記の課題を解決するために、請求項１の発明による画像処理装置は、
撮像素子から連続的に出力された複数枚の撮像画像の内の１枚を基準画像として前記複数枚の画像を用いた処理を行い、１枚の処理出力画像を生成する処理出力画像生成手段と、
前記処理出力画像生成手段で生成された前記処理出力画像に対して、前記複数枚の撮像画像を得る際に、撮像レンズを含む撮像光学系により前記撮像画像に生じる画像歪みを補正する補正手段と、
を備えることを特徴とする。
【００１９】
上述の構成の請求項１の発明においては、処理出力画像生成手段で、複数枚の撮像画像から生成された１枚の処理出力画像を得た後、補正手段で、撮像レンズを含む撮像光学系により前記撮像画像に生じる画像歪みが補正される。
【００２０】
したがって、補正対象の画像情報は、処理出力画像の１枚のみでよい。このため、補正手段における処理時間は短時間となり、補正処理をコンピュータプログラムによるソフトウエア処理としても、処理時間が短くて済む。
【００２１】
また、請求項２の発明は、請求項１に記載の画像処理装置において、
前記処理出力画像生成手段は、前記複数枚の撮像画像を、前記撮像画像間の動きを補償しながら加算することにより、時間方向のノイズ低減処理を行う画像加算手段からなることを特徴とする。
【００２２】
例えば樽型のレンズ歪みを補正手段により補正する場合、画像の周辺の画像部分は拡大するようにする。したがって、その画像部分にノイズが存在している場合には、ノイズ成分をも拡大されてしまうおそれがある。
【００２３】
このため、処理出力画像生成手段としての画像加算手段での画像加算処理前に、補正手段で撮像画像について画像歪み補正をすると、ノイズが拡大してしまうおそれがあり、ノイズ低減効果が損なわれるおそれがある。
【００２４】
これに対して、請求項２の発明においては、画像加算処理によりノイズ低減した後の処理出力画像に対して補正手段により画像歪み補正が行われるので、そのような恐れがないという効果がある。そして、請求項２の画像加算処理は、画像について動き補償しながら画像加算を行うので、画像歪みをそのまま残留させながら画像加算が行われ、処理出力画像に残る画像歪みが、補正手段により除去あるいは軽減されるように補正される。
【発明の効果】
【００２５】
この発明によれば、補正対象の画像情報は、処理出力画像の１枚のみでよいので、補正手段における処理時間は短時間となり、補正処理をコンピュータプログラムによるソフトウエア処理としても、処理時間が短くて済む。
【図面の簡単な説明】
【００２６】
【図１】この発明による画像処理装置の実施形態が適用される撮像装置の構成例を示すブロック図である。
【図２】この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図３】この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図４】この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図５】この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図６】この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図７】この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図８】この発明による画像処理装置の実施形態におけるブロックマッチング処理を説明するために用いる図である。
【図９】この発明による画像処理装置の実施形態における複数枚画像加算ＮＲ処理の一例を説明するための図である。
【図１０】複数枚画像加算ＮＲ処理の他の例を説明するための図である。
【図１１】この発明による画像処理装置の実施形態を説明するために用いる図である。
【図１２】この発明による画像処理装置の実施形態を説明するために用いる図である。
【図１３】この発明による画像処理装置の実施形態における動きベクトル算出部の構成例を説明するためのブロック図である。
【図１４】この発明による画像処理装置の実施形態の主要な処理動作を説明するためのフローチャートを示す図である。
【図１５】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図１６】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図１７】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理に用いる拡張されたアフィン変換を説明するために用いる図である。
【図１８】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理に用いる拡張されたアフィン変換を説明するために用いる図である。
【図１９】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図２０】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図２１】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図２２】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図２３】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図２４】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図２５】この発明による画像処理装置の実施形態において、ローカル動きベクトルからグローバルモーションを求める処理例を説明するために用いる式を説明するための図である。
【図２６】この発明による画像処理装置の実施形態におけるグローバルモーション算出部の処理動作を説明するためのフローチャートの一部を示す図である。
【図２７】この発明による画像処理装置の実施形態におけるグローバルモーション算出部の処理動作を説明するためのフローチャートの一部を示す図である。
【図２８】この発明の実施形態において、グローバル動きベクトルＧＭＶを用いて、ターゲットブロックの背景一致度合いを評価する処理を説明するために用いる図である。
【図２９】この発明による画像処理装置の実施形態における背景／動被写体判定部の構成例を説明するためのブロック図である。
【図３０】この発明による画像処理装置の実施形態における背景／動被写体判定部の処理動作を説明するためのフローチャートの一部を示す図である。
【図３１】この発明による画像処理装置の実施形態における背景／動被写体判定部の処理動作を説明するためのフローチャートの一部を示す図である。
【図３２】この発明による画像処理装置の実施形態における加算率計算部の構成例の一部を説明するためのブロック図である。
【図３３】この発明による画像処理装置の実施形態における加算率計算部の構成例の一部を説明するためのブロック図である。
【図３４】この発明の実施形態における加算率計算部の一例の構成例を説明するために用いる図である。
【図３５】この発明の実施形態における加算率計算部の一例の構成例を説明するために用いる図である。
【図３６】この発明の実施形態における加算率計算部の一例の構成例を説明するために用いる図である。
【図３７】この発明の実施形態における加算率計算部の一例の構成例を説明するために用いる図である。
【図３８】この発明の実施形態における加算率計算部の一例の構成例を説明するために用いる図である。
【図３９】この発明の実施形態における加算率計算部の一例の構成例を説明するために用いる図である。
【図４０】この発明の実施形態における加算率計算部の一例の構成例を説明するために用いる図である。
【図４１】この発明の実施形態におけるレンズ歪み補正部の構成例のブロック図である。
【図４２】撮像光学系のレンズの歪曲特性に基づく画像歪みを説明するための図である。
【発明を実施するための形態】
【００２７】
以下、この発明による画像処理装置および画像処理方法の実施形態を、静止画像の撮像装置に適用した場合について、図を参照しながら説明する。
【００２８】
この実施形態の撮像装置は、撮像素子（イメージャ）によって撮像された複数枚の静止画像を動き補償により位置合わせしながら重ね合わせて時間方向に加算して時間方向のノイズ低減をする加算ＮＲ処理を施すようにする。そして、加算ＮＲ処理して得た１枚の撮像画像に対してレンズ歪みの補正を施して、レンズ歪みを除去あるいは軽減した静止画像を得、その静止画像を記録媒体に記録するようにするものである。
【００２９】
すなわち、この実施形態では、処理出力画像生成手段は、加算ＮＲ処理手段とされる。また、補正手段は、レンズ歪みを補正する手段とされる。
【００３０】
［撮像装置のハードウエア構成例］
図１は、この発明の画像処理装置の実施形態としての撮像装置の一例のブロック図を示すものである。
【００３１】
この図１に示すように、この実施形態の撮像装置は、システムバス２にＣＰＵ（Central  Processing  Unit）１が接続される。また、システムバス２に、撮像信号処理系１０や、ユーザ操作入力部３、画像メモリ部４、記録再生装置部５などが接続されて構成されている。なお、この明細書においては、ＣＰＵ１は、図示は省略するが、種々のソフトウエア処理を行なうプログラムを記憶するＲＯＭ（Read  Only  Memory）やワークエリア用ＲＡＭ（Random  Access  Memory）などを含むものとしている。
【００３２】
ユーザ操作入力部３を通じた撮像記録開始操作を受けて、図１の撮像装置の撮像信号処理系は、後述するような静止画の撮像画像データの記録処理を行なう。また、ユーザ操作入力部３を通じた撮像記録画像の再生開始操作を受けて、図１の撮像装置は、記録再生装置部５の記録媒体に記録された撮像画像データの再生処理を行なう。
【００３３】
図１に示すように、撮像信号処理系１０においては、撮像レンズ１０Ｌを備えるカメラ光学系（図示は省略）を通じた被写体からの入射光は、撮像素子１１に照射されて撮像される。この例では、撮像素子１１は、ＣＣＤ（Charge  Coupled  Device）イメージャで構成されている。なお、撮像素子１１は、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）イメージャで構成してもよい。
【００３４】
この例の撮像装置においては、撮像記録開始操作がなされると、撮像レンズ１０Ｌを通じて入力された映像が、撮像素子１１により撮像画像信号に変換される。そして、タイミング信号発生部１２からのタイミング信号に同期した信号として、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の３原色から構成されるベイヤー配列のＲＡＷ信号（生の信号）であるアナログ撮像信号が、撮像素子１１から出力される。出力されたアナログ撮像信号は、前処理部１３に供給され、欠陥補正やγ補正等の前処理が施され、現像処理部１４に供給される。
【００３５】
現像処理部１４は、これに入力されたＲＡＷ信号であるアナログ撮像信号に対して、デモザイク処理、ガンマ補正処理、ホワイトバランス調整処理、画質補正もしくは画質調整処理などを行う。そして、現像処理部１４からの処理後のＲＡＷ信号は、データ変換部１５に供給する。
【００３６】
データ変換部１５は、その入力信号である赤（Ｒ）、緑（Ｇ）、青（Ｂ）のＲＡＷ信号から、輝度信号成分Ｙと、色差信号成分Ｃｂ／Ｃｒとにより構成されるデジタル撮像信号（ＹＣデータ；ＹＵＶ画像）に変換する。
【００３７】
従来の場合には、このデータ変換部１５の出力側にレンズ歪み補正部が設けられて、撮像画像データについて、１フレーム毎に、レンズ歪み補正がなされる。しかし、この実施形態では、レンズ歪み補正部は、この位置には設けられず、加算ＮＲ処理された後の位置に設けられる。
【００３８】
この実施形態では、データ変換部１５からのデジタル撮像信号は、ユーザ操作入力部３を通じた静止画の撮影指示に基づいて、画像メモリ部４に、加算ＮＲ処理する複数枚（Ｎ（Ｎは２以上の自然数）枚）分が書き込まれる。
【００３９】
すなわち、ユーザ操作入力部３を通じた撮影指示として、シャッターボタンの押下による静止画撮影指示があると、データ変換部１５からのＮ枚分（Ｎフレーム）のデジタル撮像信号が、１枚ずつ、Ｎ個のフレームメモリ４１〜４Ｎのそれぞれに書き込まれる。つまり、データ変換部１５からのデジタル撮像信号は、加算ＮＲ処理部で重ね合わせるべきＮフレーム分が、画像メモリ部４の第１〜第Ｎ（Ｎは、重ね合わせる静止画の枚数）のフレームメモリ４１〜４Ｎのそれぞれに１フレームずつに書き込まれる。
【００４０】
この例においては、シャッターボタンの押下時点から数えて１枚目のフレームの画像データは、後述するターゲットフレームの画像データとして第１のフレームメモリ４１に書き込まれる。そして、シャッターボタンの押下時点から数えて２枚目以降のフレーム画像のデータは、後述する参照フレームの画像データとして、それぞれ第２〜第Ｎのフレームメモリ４２〜４Ｎに順次に書き込まれる。この例では、例えばＮ＝６とされる。
【００４１】
なお、以下の説明において、シャッターボタンの押下時点から数えて１枚目、２枚目、・・・の画像フレームは、説明の簡単のため、単に、１枚目、２枚目、・・・の画像フレームということとする。
【００４２】
そして、複数フレーム分の画像が画像メモリ部４に書き込まれた後、ＣＰＵ１は、画像メモリ部４から当該複数フレーム分の画像を読み出して、加算ＮＲ処理部２０において、加算ＮＲ処理を実行する。
【００４３】
ＣＰＵ１は、後述するように、この実施形態では、始めに、１枚目の画像フレームと２枚目の画像フレームを画像メモリ部４から読み出して、加算ＮＲ処理部２０で両者の動き分（動きベクトル）を検出する。そして、加算ＮＲ処理部２０では、検出した動きベクトルを用いて、動き分を補償しながら２個の画像フレームを重ね合わせる。
【００４４】
また、この実施形態では、所定の大きさのブロック単位で動きベクトルの検出を行うと共に、そのブロックが静止画の背景部分か、動被写体部分かを判定し、背景部分での加算率は大きくし、動き被写体部分での加算率は小さくするようにする。これにより、動被写体部分で複数フレームを重ね合わせることによる、いわゆる多重露光と同じ画像状態になることを防止しながら、背景静止画部分について、所期のノイズ低減効果を得ることができる。
【００４５】
１枚目と２枚目の画像フレーム加算が終了したら、３枚目の画像フレームを画像メモリ部４から読み出し、これと、１枚目と２枚目の画像フレーム加算結果の画像とを、両者の間の動き分を補償しながら重ね合わせる。以下、４枚目以降は、３枚目の画像フレームと同様に、これと加算結果の画像とを、両者の間の動き分を補償しながら重ね合わせる。
【００４６】
加算ＮＲ処理部２０での重ね合わせ結果の画像データＭＩＸｖは、後述するように、画像メモリ部４に書き戻される。そして、画像メモリ部４に書き戻された重ね合わせ結果の画像フレームは、重ね合わされる画像フレームとの間での動き検出のために用いられる。
【００４７】
そして、画像メモリ部４に記憶された最終的な重ね合わせ結果の画像フレームは、レンズ歪み補正部１６に供給されて、レンズ歪みの補正処理がなされた後、記録媒体への記録画像フレームとされる。
【００４８】
すなわち、画像メモリ部４に格納された重ね合わせ結果のＮＲ画像である加算画像の画像データＭＩＸｖは、システムバス２を通じてレンズ歪み補正部１６に供給される。このレンズ歪み補正部１６では、画像データＭＩＸｖに残留しているレンズ歪みを、後述するように、この実施形態では、ソフトウエア処理として補正手段により補正する。
【００４９】
そして、レンズ歪み補正部１６からのレンズ歪みを補正した静止画の画像データは静止画コーデック部１７に供給されてコーデック変換される。この実施形態では、静止画コーデック部１７では、ＪＰＥＧ（Joint  Photographic  Experts  Group）方式の静止画についての画像圧縮符号化処理が行われる。
【００５０】
静止画コーデック部１７からの出力データは、記録再生装置部５の例えばＤＶＤ（Digital  Versatile  Disc）やハードディスクなどの記録媒体に記録される。
【００５１】
また、この静止画撮影モード時、シャッターボタンが押下操作される前においては、現像処理部５からの画像データは、画像メモリ部４およびレンズ歪み補正部１６を通じて、解像度変換部１８に供給される。そして、画像データは、この解像度変換部１８にて、所定の解像度に変換された後、ＮＴＳＣ（National  Television  System  Committee）エンコーダ１９に供給される。このＮＴＳＣエンコーダ１９では、画像データは、ＮＴＳＣ方式の標準カラー映像信号に変換され、例えばＬＣＤ（Liquid  Crystal  Display；液晶ディスプレイ）からなるモニターディスプレイ６に供給される。モニターディスプレイ６の表示画面には、静止画撮影モード時のモニター画像がモニター表示される。
【００５２】
記録再生装置部５の記録媒体に記録された静止画の画像データは、ユーザ操作入力部３を通じた再生開始操作に応じて読み出され、静止画コーデック部１７に供給されて、再生デコードされる。そして、再生デコードされた静止画の画像データは、画像メモリ部４のバッファメモリ（図示は省略）を通じ、解像度変換部１８を通じてＮＴＳＣエンコーダ１９に供給される。ＮＴＳＣエンコーダ１９でＮＴＳＣ方式の標準カラー映像信号に変換された画像データは、モニターディスプレイ６に供給され、再生画像がその表示画面に表示される。
【００５３】
なお、図１では、図示を省略したが、ＮＴＳＣエンコーダ１９からの出力映像信号は、映像出力端子を通じて外部に導出することが可能とされている。
【００５４】
なお、この実施形態では、静止画コーデック部１７により画像データを圧縮して記録するようにしたが、静止画コーデック部１７を省略して、画像データを圧縮せずに記録するようにしても良い。
【００５５】
［加算ＮＲ処理部２０の構成および処理動作］
この実施形態の撮像装置は、撮像素子（イメージャ）１１によって撮像され、画像メモリ部４に格納された複数枚の静止画像を、位置合わせしながら重ね合わせて、画像の時間方向のノイズ低減を行うようにする。
【００５６】
撮像装置を手で保持して撮影する環境は、手ぶれが生じ易い環境である。このような撮像装置の手持ち撮影時において、静止画を連写撮影した場合に、この実施形態では、例えば１枚目をターゲットフレーム、２枚目以降を参照フレームとする。ここで参照フレームは、処理対象となるフレーム、つまり注目フレームであり、一方、ターゲットフレームは、当該参照フレームの動きの元となる元フレームである。この例では、ターゲットフレームに対して参照フレームを動き補償しながら加算するようにする。
【００５７】
参照フレーム全体に、平行移動、回転、拡大縮小を伴う変形処理を施すことにより、ターゲットフレームの位置に、参照フレームを位置合わせすることができる場合、この参照フレーム全体に加わっている変形処理がグローバルモーションである。グローバルモーションは、通常は、画像の背景静止画（以下、背景と略す）の動きおよび動き量を示すものとなる。
【００５８】
手ぶれは、参照フレームがターゲットフレームに対して、平行移動、回転、拡大縮小を伴う画像変形をした分だけ、ターゲットフレームに対して、グローバルモーションが生じたことを意味している。
【００５９】
この実施形態では、説明の簡単のため、撮影した静止画の１枚目を基準（ターゲットフレーム）とする。しかし、これは本質ではない。任意のｎ枚目をターゲットフレームとし、任意のｍ（ｎ≠ｍ）枚目を参照フレームとして、グローバルモーションを定義し直しても良い。また、動画中の時間的に異なる２枚のフレーム画像間を対象にして、グローバルモーションを定義してもよい。また、撮像画像の１フレームのうちの有効画枠全てを対象とせず、１フレームの画像の一部分のみに関して、グローバルモーションの処理を適用しても良い。
【００６０】
グローバルモーションが求められると、当該求められたグローバルモーションから、画面上の座標位置毎のターゲットフレームと参照フレームとの間の、画面全体に加わっている動きに応じた動きベクトルを算出することができる。当該画面全体に加わっている動きに応じた動きベクトルを、以下、グローバル動きベクトルという。このグローバル動きベクトルは、画面に設定される多数個のターゲットブロックのそれぞれについて求めることができる。また、グローバル動きベクトルは、画素毎に求めることもできる。
【００６１】
そして、グローバルモーションに基づいて、グローバル動きベクトルを正確に求めることができれば、手ぶれを良好に補正することができる。あるいは、グローバル動きベクトルを手ぶれ分を補正しながら、フレーム画像を重ね合わせることができる。
【００６２】
この明細書においては、動きベクトル検出および動き補償（動きベクトルにより、２フレームの画像を位置合わせすること）を用いて複数枚の画像を重ね合わせて、ノイズを低減する処理を加算ＮＲ処理と呼ぶ。なお、加算ＮＲによりノイズ低減された画像を加算ＮＲ画像と称する。
【００６３】
この実施形態では、１画面を多数個のブロック（後述のターゲットブロック）に分割して、そのブロック単位の動きベクトルを、ブロックマッチング手法により検出する。ブロックマッチング手法によりブロック毎に検出した動きベクトルを、この明細書ではローカル動きベクトルという。
【００６４】
また、この実施形態では、ローカル動きベクトルの信頼性の指標を、ブロックマッチング手法における相関値を用いて、後述するようにして検出する。そして、この実施形態では、検出したローカル動きベクトルのうちの、信頼性の高いもののみから、グローバルモーションを算出し、算出したグローバルモーションからブロック毎のグローバル動きベクトルを検出するようにする。
【００６５】
また、この実施形態では、算出したグローバル動きベクトルと、ローカル動きベクトルＬＭＶとを用いて、ブロック毎の背景画部分か、動被写体部分かの判定をするようにしている。
【００６６】
［ブロックマッチングの概要］
図２〜図７は、ブロックマッチング手法の概要を説明するための図である。ここで説明するブロックマッチング手法においては、例えば、図２（Ａ）に示すように、ターゲットフレーム１００に、それぞれ水平方向の複数画素および垂直方向の複数ライン分からなる所定の大きさの矩形領域のブロック（ターゲットブロック）１０２を想定する。また、参照フレーム１０１にも、ターゲットブロックと同じ大きさのブロック（参照ブロック）を設定する。
【００６７】
ブロックマッチングにおいては、ターゲットブロック１０２と相関性の高い参照ブロックを、参照フレーム１０１の中から検索する。この検索の結果、相関性が最も高いとして参照フレーム１０１内に検出された参照ブロック１０３（図２（Ｂ）参照）を、動き補償ブロックと呼ぶ。また、ターゲットブロック１０２と動き補償ブロック１０３（相関性が最も高い参照ブロック）との間の位置ずれ量を、動きベクトル（図２（Ｂ）の符号１０４参照）と称する。
【００６８】
ターゲットブロック１０２と動き補償ブロック１０３との間の位置ずれ（位置ずれ量と位置ずれ方向を含む）に対応する動きベクトル１０４は、参照フレーム１０１におけるターゲットブロックの射影イメージブロック１０９の位置と、動き補償ブロック１０３の位置との間の位置ずれに相当する。ここで、射影イメージブロック１０９の位置と、動き補償ブロック１０３の位置は、例えばブロックの中心位置を用いる。
【００６９】
ターゲットブロック１０２の射影イメージブロック１０９は、参照フレーム１０１において、ターゲットフレーム１００の各ターゲットブロック１０２の位置と同じ位置に想定される。
【００７０】
ブロックマッチング処理の概要を説明する。
【００７１】
先ず、図３において点線で示すように、参照フレーム１０１において、ターゲットフレーム１００のターゲットブロック１０２の位置と同じ位置にターゲットブロック１０２の射影イメージブロック１０９を想定する。そして、このターゲットブロック１０２の射影イメージブロック１０９の中心の座標を、動き検出の原点１０５とする。そして、動きベクトル１０４が、動き検出の原点１０５から或る範囲内に存在すると仮定し、この動き検出の原点１０５を中心した所定の範囲をサーチ範囲１０６（図３の一点鎖線参照）と設定する。
【００７２】
次に、ターゲットブロック１０２と同じ大きさのブロック（参照ブロックという）１０８を参照画面において設定する。そして、この参照ブロック１０８の位置を、設定されたサーチ範囲１０６内において、例えば水平方向および垂直方向に、１画素または複数画素単位で移動させるようにする。したがって、サーチ範囲１０６においては、複数個の参照ブロック１０８が設定されることになる。
【００７３】
ここで、参照ブロック１０８を、サーチ範囲１０６内を移動させるというのは、この例では、動き検出原点１０５がターゲットブロックの中心位置であるので、参照ブロック１０８の中心位置を、サーチ範囲１０６内を移動させることを意味する。したがって、参照ブロック１０８を構成する画素は、サーチ範囲１０６よりもはみ出すことがある。
【００７４】
そして、サーチ範囲において、設定される各参照ブロック１０８に対して、当該各参照ブロック１０８とターゲットブロック１０２との位置ずれ量および位置ずれ方向を表すベクトル（参照ベクトルという）１０７（図３参照）を設定する。そして、それぞれの参照ベクトル１０７が指し示す位置にある参照ブロック１０８の画像内容と、ターゲットブロック１０２の画像内容との相関性を評価する。
【００７５】
参照ベクトル１０７は、図４に示すように、参照ブロック１０８の水平方向（Ｘ方向）の位置ずれ量Ｖｘとし、垂直方向（Ｙ方向）の位置ずれ量をＶｙとしたとき、ベクトル（Ｖｘ，Ｖｙ）と表すことができる。参照ブロック１０８の位置座標（例えば中心位置座標）とターゲットブロック１０２の位置座標（例えば中心位置座標）とが同じときには、参照ベクトル１０７は、ベクトル（０，０）と表す。
【００７６】
例えば、参照ブロック１０８が、ターゲットブロック１０２の位置から、Ｘ方向に１画素ずれた位置にある場合、参照ベクトル１０７はベクトル（１，０）となる。また、図５に示すように、参照ブロック１０８が、ターゲットブロック１０２の位置から、Ｘ方向に３画素、Y方向に２画素ずれた位置にある場合には、参照ベクトル１０７はベクトル（３，２）となる。
【００７７】
つまり、参照ベクトル１０７は、図５の例に示すように、対応する各参照ブロック１０８とターゲットブロック１０２との間での位置ずれ（位置ずれ量と位置ずれの方向を含むベクトルとなる）を意味する。なお、図５では、ターゲットブロック１０２および参照ブロック１０８の位置を、それぞれのブロックの中心位置としている。
【００７８】
参照ブロック１０８は、サーチ範囲１０６において移動するものとなるが、その場合に、参照ブロック１０８の中心位置がサーチ範囲１０６内を移動する。参照ブロック１０８は、水平方向および垂直方向の複数画素からなる。したがって、ターゲットブロック１０２とブロックマッチング処理される対象となる参照ブロック１０８が移動する最大範囲は、図５に示すように、サーチ範囲１０６よりも広いマッチング処理範囲１１０となる。
【００７９】
そして、ターゲットブロック１０２の画像内容との相関が最も強いとして検出された参照ブロック１０８の位置を、ターゲットフレーム１００のターゲットブロック１０２の、参照フレーム１０１における位置（動いた後の位置）として検出する。検出した参照ブロックを、前述した動き補償ブロック１０３とする。そして、その検出した動き補償ブロック１０３の位置と、ターゲットブロック１０２の位置との間の位置ずれ量を、方向成分を含む量としての動きベクトル１０４として検出するようにする（図２（Ｂ）参照）。
【００８０】
ここで、ターゲットブロック１０２と、サーチ範囲１０６において移動する参照ブロック１０８との相関の強さを表す相関値は、基本的にはターゲットブロック１０２と参照ブロック１０８との対応する画素値を用いて算出される。その算出方法としては、自乗平均を用いる方法やその他種々の方法が提案されている。
【００８１】
そのうち、動きベクトルを算出する際に一般的に用いられる相関値としては、例えば、ターゲットブロック１０２内の各画素の輝度値と、参照ブロック１０６内の対応する各画素の輝度値との差分の絶対値の、ブロック内の全画素についての総和が用いられる（図６参照）。この差分の絶対値の総和を差分絶対値和と呼ぶ。以下、この差分絶対値和をＳＡＤ（Sum  of  Absolute  Difference）値と記載することとする。
【００８２】
相関演算結果としてＳＡＤ値が用いられる場合には、ＳＡＤ値が小さいほど相関が強いものとされる。したがって、サーチ範囲１０６において移動する参照ブロック１０８のうち、ＳＡＤ値が最小となる位置の参照ブロック１０８が最も相関が強い最強相関参照ブロックとなる。この最強相関参照ブロックが、動き補償ブロック１０３として検出され、その検出された動き補償ブロック１０３のターゲットブロック１０２の位置に対する位置ずれ量が動きベクトルとして検出される。
【００８３】
なお、一般的には、相関値が大きい方が相関が強いとされる。しかし、相関演算結果としてＳＡＤ値が用いられる場合には、当該ＳＡＤ値が小さいほど相関値が大きく、相関が強いと言うことができる。
【００８４】
前述したように、ブロックマッチングでは、サーチ範囲１０６において設定される複数個の参照ブロック１０８のそれぞれの、ターゲットブロック１０２の位置に対する位置ずれ量は、方向成分を含む量としての参照ベクトル１０７で表現される。各参照ブロック１０８の参照ベクトル１０７は、参照ブロック１０８の参照フレーム１０２上の位置に応じた値となる。前述したように、ブロックマッチングでは、相関値であるＳＡＤ値が最小値となる参照ブロック１０８の参照ベクトルを、動きベクトル１０４として検出する。
【００８５】
そこで、ブロックマッチングでは、サーチ範囲１０６において設定される複数個の参照ブロック１０８のそれぞれとターゲットブロック１０２との間におけるＳＡＤ値（以下、説明の簡単のため参照ブロック１０８についてのＳＡＤ値という）を、先ず求める。
【００８６】
次に、求めたＳＡＤ値を、図７に示すように、それぞれの参照ブロック１０８の位置に応じた参照ベクトル１０７のそれぞれに対応させて、メモリに記憶しておく。そして、そのメモリに記憶された全ての参照ブロック１０８についてのＳＡＤ値の中から、最小のＳＡＤ値の参照ブロック１０８を検出することで、動きベクトル１０４を検出するようにしている。なお、以下、説明の簡単のため、参照ブロック１０６の位置に応じた参照ベクトル１０７を参照ブロック１０８の参照ベクトル１０７という。
【００８７】
サーチ範囲１０６において設定された複数個の参照ブロック１０８の位置に応じた参照ベクトル１０７のそれぞれに対応させて、それぞれの参照ブロック１０８についての相関値（この例では、ＳＡＤ値）を記憶したものを相関値テーブルと呼ぶ。この例では、相関値として差分絶対値和であるＳＡＤ値を用いるので、この相関値テーブルを、差分絶対値和テーブル（以下ＳＡＤテーブルという）と呼ぶことにする。
【００８８】
図７のＳＡＤテーブルＴＢＬが、これを示しており、このＳＡＤテーブルＴＢＬにおいて、それぞれの参照ブロック１０８についての相関値（この例ではＳＡＤ値）を相関値テーブル要素という。図７の例では、符号１１１で指し示すＳＡＤ値は、参照ベクトルがベクトル（０，０）のときのＳＡＤ値である。そして、図７の例では、ＳＡＤ値の最小値は、参照ベクトルがベクトル（３，２）のときの「７」であるので、求める動きベクトル１０４は、当該（３，２）となる。
【００８９】
なお、上述の説明において、ターゲットブロック１０２および参照ブロック１０８の位置とは、それらのブロックの任意の特定の位置、例えば中心位置を意味するものである。参照ベクトル１０７は、参照フレーム１０２におけるターゲットブロック１０２の射影イメージブロック１０９の位置と、参照ブロック１０８の位置との間のずれ量（方向を含む）を示すものである。
【００９０】
そして、各参照ブロック１０８に対応する参照ベクトル１０７は、参照フレーム１０１上において、ターゲットブロック１０２に対応する射影イメージブロック１０９の位置からの、各参照ブロック１０８の位置ずれとなっている。したがって、参照ブロック１０８の位置が特定されると、その位置に対応して参照ベクトルの値も特定される。これにより、ＳＡＤテーブル１１０のメモリにおける参照ブロックの相関値テーブル要素のアドレスが特定されると、対応する参照ベクトルは特定されることになる。
【００９１】
なお、ＳＡＤ値は、同時に、２つ以上のターゲットブロックについて並列に計算するようにしてもよい。
【００９２】
＜ブロック単位の動きベクトル検出および信頼性評価＞
以上のブロックマッチングの説明は、１つのターゲットブロックについての動きベクトルの算出についての説明である。このターゲットブロックのターゲットフレームの全体に占める割合は、通常、小さいので、この１つのターゲットブロックに基づいてターゲットフレームについての動き（グローバルモーション）を求めるようにすることは一般的には困難である。
【００９３】
この実施形態では、図８に示すように、ターゲットフレーム１００を、例えば６４画素×６４ラインのような、比較的小さい大きさのターゲットブロック１０２の複数個に分割する。そして、この複数個のターゲットブロックのそれぞれについての動きベクトル（ローカル動きベクトル）１０４Ｂを先ず求める。このとき、この実施形態では、求めたそれぞれのローカル動きベクトルの信頼性を示す指標を、併せて算出するようにする。
【００９４】
そして、ローカル動きベクトルの信頼性の指標から、ターゲットフレームについて求めた複数個のローカル動きベクトルの中から、信頼性の高いローカル動きベクトルのみを抽出する。
【００９５】
次に、抽出した信頼性の高いローカル動きベクトルのみから、グローバルモーションを算出する。そして、算出したグローバルモーションを用いて、各ターゲットブロック単位のグローバル動きベクトルを算出する。
【００９６】
そして、算出したグローバル動きベクトルと、ターゲットブロック毎のローカル動きベクトルとを比較して、その比較結果に基づいて、各ターゲットブロックが背景部分か、動被写体部分かを評価判定するようにする。この実施形態では、算出したグローバル動きベクトルと、ターゲットブロック毎のローカル動きベクトルとを比較して、両者の一致度合いを判定する。そして、その判定結果として、ターゲットブロック毎のローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値を算出する。この指標値を、この明細書ではヒット率と称する。
【００９７】
このような評価判定を行うのは、画像に含まれるノイズの、ブロックマッチングで算出される相関値に与える影響を考慮したものである。
【００９８】
ターゲットブロックについてのグローバル動きベクトルとローカル動きベクトルとが一致したときには、そのターゲットブロックは背景画像部分であると判断できる。したがって、この一致度合いの指標値は、ターゲットブロックの画像が、背景画像部分と一致しているかどうかの度合い（背景一致度合い）を示すものとなる。
【００９９】
ターゲットブロックが背景画像部分であれば、静止画像部分であるので、ターゲットブロックの画像に対して、動き補償画像は、１００％の割合（１：１の割合）で加算することができ、加算ＮＲ効果を最大限にすることができる。
【０１００】
そして、背景一致度合いが低ければ、ターゲットブロックは動被写体部分であると予想されるので、その画像に対する、動き補償画像の加算割合を、背景一致度合いに応じて低くすることで、多重露光のような状態を軽減することができる。
【０１０１】
ここで、グローバル動きベクトルとローカル動きベクトルとが一致しない場合には、画像ノイズを考慮しなければ、そのターゲットブロックは、全て動被写体部分であると判断しても良い。この場合、ローカル動きベクトルに対応する参照ブロックについての相関値が最大（ＳＡＤ値が最小）となっており、グローバル動きベクトルに対応する参照ブロックについての相関値よりも大きい（ＳＡＤ値は小さい）。
【０１０２】
しかし、一般に撮像画像などの画像中にはノイズが含まれる。この画像ノイズを考慮すると、グローバル動きベクトルとローカル動きベクトルとが一致しない場合であっても、ターゲットブロックが背景部分である場合がある。そして、そのようなターゲットブロックでは、ローカル動きベクトルに対応する参照ブロックについての相関値と、グローバル動きベクトルに対応する参照ブロックについての相関値との差は、前記画像ノイズ分よりも小さいものとなると考えられる。
【０１０３】
そこで、この実施形態では、グローバル動きベクトルに対応する参照ブロックについての相関値を、前記画像のノイズ分を反映した値に補正し、その補正後の相関値と、ローカル動きベクトルに対応する参照ブロックについての相関値とを比較する。そして、補正後の相関値の方が大きい（ＳＡＤ値は小さい）ときには、当該ターゲットブロックは、背景画像部分であると評価するようにする。すなわち、この実施形態では、補正した相関値に基づいて、前記背景一致度合いを評価するようにする。このとき、グローバル動きベクトルは、当該ターゲットブロックについての本来のローカル動きベクトルに一致したと考えられる。
【０１０４】
そして、この実施形態では、背景一致度合いの評価の結果、ターゲットブロックが背景画像部分であると判定されたときには、当該ターゲットブロックについては、グローバル動きベクトルを、出力動きベクトルとして出力する。また、背景一致度合いの評価の結果、ターゲットブロックが背景画像部分と一致していないと判定されたときには、当該ターゲットブロックについては、ローカル動きベクトルを、出力動きベクトルとして出力する。この実施形態では、出力動きベクトルは、後段の処理用動きベクトル、この実施形態では、ＮＲ処理用動きベクトルである。
【０１０５】
なお、グローバル動きベクトルとローカル動きベクトルとが全く一致したときには、グローバル動きベクトルとローカル動きベクトルのいずれを出力動きベクトルとしてもよいことは言うまでもない。
【０１０６】
そして、この実施形態では、上述のようにして得たターゲットブロック単位の出力動きベクトルを用いて、ターゲットフレームに対して、参照フレームをブロック単位で位置合わせを行い、動き補償画像（動き補償フレーム）を生成する。そして、ターゲットフレームと、動き補償フレームとを重ね合わせて加算ＮＲ画像を生成するようにする。
【０１０７】
そして、この実施の形態の撮像装置において、静止画撮影においては、図９に示すように、高速で複数枚の静止画像の撮影を行い、１枚目の静止画撮影画像をターゲットフレーム１００とする。そして、２枚目以降、所定枚数の静止画撮影画像を参照フレーム１０１として、重ね合わせを行い、その重ね合わせたものを静止画撮影画像として記録するようにする。
【０１０８】
すなわち、撮影者が撮像装置のシャッターボタンを押下操作すると、高速で前記所定枚数の静止画像が撮影される。そして、その１枚目に撮影した静止画像（フレーム）に対して、時間的に後で撮影された複数枚の静止画像（フレーム）が、重ね合わされて、記録されることになる。
【０１０９】
なお、この実施形態では対象としないが、動画撮影時は、図１０のように、撮像素子から出力されている現フレームの画像をターゲットフレーム１００の画像とし、その前フレームの過去の画像を参照フレーム１０１の画像とする。つまり、動画撮影時には、現フレームの画像のノイズ低減を行うために、現フレームの前フレームの画像を現フレームに重ね合わせるということになる。
【０１１０】
＜動きベクトルの信頼性評価方法＞
この実施形態では、上記の実情に鑑み、高ノイズ環境の画像においても有効に、動きベクトルの信頼性を評価できる信頼性指標値を得るようにしている。
【０１１１】
この実施形態では、ターゲットブロックと参照ブロックとの間の相関値の第１極大値と、第２極大値との差または比を、動きベクトルの信頼性の指標値とする。この実施形態では、ターゲットブロックと参照ブロックとの間の相関値は、ＳＡＤ値として検出するので、相関値の第１極大値および第２極大値は、ＳＡＤ値の第１極小値および第２極小値となる。
【０１１２】
図１１は、１つのターゲットブロックについてのＳＡＤテーブルにおける各ＳＡＤ値を、模式的に示した図である。この図１１では、サーチ範囲を、画像の水平方向（ｘ方向）と垂直方向（ｙ方向）との２次元で表わし、高さ方向（ｘ方向およびｙ方向に直交する方向）にＳＡＤ値を取って、ＳＡＤテーブルを３次曲面で表わしている。
【０１１３】
通常のブロックマッチング処理の場合、動きベクトルを検出するためにはＳＡＤテーブルにおけるＳＡＤ値の最小値のみが検出対象とされる。このＳＡＤ値の最小値は、ＳＡＤテーブルにおけるＳＡＤ値の第１極小値であり、図１１においては、点５０１で示す位置となっている。図１１では、動き原点（ｘ＝０、ｙ＝０）から、この点５０１で示すＳＡＤ値の最小値位置との間のベクトルとして、動きベクトルＭＶが検出される。
【０１１４】
ノイズが存在しない理想的な状態を考えれば、サーチ範囲内の複数の参照ブロックとターゲットブロックとの相関値を求めたとき、３次曲面で表わされるＳＡＤテーブルは、一様に下に凸となり、ＳＡＤ値の極小値は、１つのみ存在する状態となる。しかし、実際の撮影状況においては、光量変化や、動き物体の動きなどの影響のほか、種々のノイズのため、３次曲面で表わされるＳＡＤテーブルは、一様に下に凸となることは殆どなく、複数個のＳＡＤ値の極小値が存在するのが一般的である。
【０１１５】
そこで、この実施形態では、ＳＡＤ値の最小値に等しい第１極小値を呈する参照ブロックの位置に基づいて動きベクトルＭＶを検出するが、このＳＡＤ値の第１極小値を除くＳＡＤ値のうちの極小値、すなわち、ＳＡＤ値の第２極小値を、信頼性の指標を生成するために検出する。図１１においては、点５０１で示す位置が第１極小値を示し、点５０２で示す位置が第２極小値を示している。
【０１１６】
ノイズ等の影響が少なければ、ＳＡＤ値の第１極小値と、ＳＡＤ値の第２極小値との差は大きく、ＳＡＤ値の第１極小値、すなわち、ＳＡＤ値の最小値から検出される動きベクトルＭＶの信頼性は高くなる。一方、ノイズ等が多い環境においては、ＳＡＤ値の第１極小値と、ＳＡＤ値の第２極小値との差が小さく、いずれが動きベクトルＭＶに正しく対応しているか分からない状況になるので、信頼性が低いことになる。
【０１１７】
以上のことから、この実施形態では、ＳＡＤ値の第１極小値（ＳＡＤ値の最小値）と、ＳＡＤ値の第２極小値との差を、検出した動きベクトルの信頼性の指標とする。図１１のサーチ範囲を１次元軸上で表わし直したＳＡＤテーブルを、図１２に示す。この実施形態では、この図１２において、第２極小値と第１極小値（ＳＡＤ値の最小値）との差の値を、動きベクトルＭＶの指標値Ｆｔとする。
【０１１８】
なお、ＳＡＤ値の第１極小値しか得られず、第２極小値が得られない場合には、この実施形態では、ＳＡＤ値の理論上の最大値またはＳＡＤテーブル内のＳＡＤ値の最大値を、その動きベクトルＭＶの信頼性指標値とするようにする。したがって、そのようなブロックの動きベクトルは信頼性の高いものとされるが、このようなブロックは殆ど存在しないので、ＳＡＤ値の第１極小値しか得られず、第２極小値が得られないようなブロックの動きベクトルは、信頼性の評価から外すようにしても良い。
【０１１９】
なお、ＳＡＤ値の第１極小値（ＳＡＤ値の最小値）と、ＳＡＤ値の第２極小値との差の代わりに、ＳＡＤ値の第１極小値（ＳＡＤ値の最小値）と、ＳＡＤ値の第２極小値との比を、動きベクトルＭＶの信頼性の指標値Ｆｔとすることもできる。しかし、以下の説明においては、動きベクトルの信頼性の指標値Ｆｔとしては、ＳＡＤ値の第１極小値（ＳＡＤ値の最小値）と、ＳＡＤ値の第２極小値との差を用いるものとする。
【０１２０】
この実施形態の動きベクトルの信頼性指標によれば、従来のような画像のエッジや特徴などの画像成分を用いるものではなく、ターゲットフレームと参照フレームとの間の相関値のみを用いているので、ノイズに対してロバスト性が高い。すなわち、画像のノイズに影響されること無く、精度の高い動きベクトルの信頼性指標が得られる。
【０１２１】
また、この実施形態では、相関値の第１極大値（ＳＡＤ値の第１極小値）と、相関値の第２極大値（ＳＡＤ値の第２極小値）との差または比を用いていることも、この実施形態の動きベクトルの信頼性指標が、ノイズに対してロバスト性が高い理由となっている。
【０１２２】
すなわち、一般に、ノイズレベルが高くなって来ると、正しい動きベクトルであったとしても、そのＳＡＤ値は値が上昇してしまう。このため、信頼性の高い動きベクトルを抽出する目的で、動きベクトルの信頼性指標値Ｆｔに対して閾値を設定し、当該閾値との比較処理を行う場合には、その閾値自体もノイズレベルに応じて変化させる必要がある。
【０１２３】
これに対して、この実施形態による動きベクトルの信頼性指標値Ｆｔの場合、ノイズレベルが高くなると、相関値の第１極大値（ＳＡＤ値の第１極小値）と、相関値の第２極大値（ＳＡＤ値の第２極小値）の両方が、ノイズレベルに応じて、値が上昇する。このため、相関値の第１極大値（ＳＡＤ値の第１極小値）と、相関値の第２極大値の差に関しては、ノイズの影響が相殺されることになる。
【０１２４】
つまり、ノイズレベルに依らない一定値の閾値処理が可能となる。相関値の第１極大値（ＳＡＤ値の第１極小値）と、相関値の第２極大値（ＳＡＤ値の第２極小値）との比を、動きベクトルの信頼性指標値Ｆｔとして用いる場合も同様のことが言える。
【０１２５】
ところで、ブロックマッチングを行う対象ブロックの画像のコントラストが低い場合、ＳＡＤ値の第２極小値と、ＳＡＤ値の最小値の差は縮まる傾向にある。このため、同一フレーム内にコントラストの高い領域と低い領域があるとき、同一の閾値でベクトル信頼性の評価値Ｉｘを評価すると、コントラストの高い領域が優先的に抽出され易い。
【０１２６】
これは、動きベクトルの信頼性という観点では正しい結果ではあるが、コントラストの低い領域をある程度救済する目的で、この実施形態では、動きベクトルの信頼性の指標値を求める演算式に、コントラストの影響を軽減する項を追加する。すなわち、ターゲットフレームの画像の最大輝度の値と最小輝度の値との差を求め、当該輝度の差を動きベクトルの信頼性の指標値に反映させるようにする。なお、ノイズによる悪影響を避けるため、ターゲットフレームの画像データに対してローパスフィルタを施してから、最大輝度と最小輝度の抽出を行う。
【０１２７】
以上のことを踏まえたこの実施形態における動きベクトルの信頼性指標値Ｆｔの算出式は、
Ｆｔ＝（Ｂｔｍ２ＳＡＤ−ＭｉｎＳＡＤ）−（ＭａｘＴＡＲ−ＭｉｎＴＡＲ）×Ｃｏ
・・・（式１）
ただし、
Ｆｔ；動きベクトルの信頼性指標値
Ｂｔｍ２ＳＡＤ；ＳＡＤ値の第２極小値
ＭｉｎＳＡＤ；ＳＡＤ値の最小値（第１極小値）
ＭａｘＴＡＲ；ターゲットブロックの最大輝度値
ＭｉｎＴＡＲ；ターゲットブロックの最小輝度値
Ｃｏ；重み係数（≦１）
となる。
【０１２８】
なお、動きベクトル信頼性指標値として、相関値の第１極大値と相関値の第２極大値との比を用いる場合にも、信頼性指標値算出式において、上述の（式１）と全く同様に、コントラストの影響を軽減する項を追加するようにすれば良い。もっとも、動きベクトルの信頼性指標値Ｆｔの算出に当たって、コントラストの影響を軽減する項を追加することは必須ではなく、この項を省略してもよい。
【０１２９】
［グローバルモーションおよびグローバル動きベクトルＧＭＶの算出］
従来は、上述したような動きベクトルの信頼性指標値はなかったので、ターゲットフレームについて求められた複数個のローカル動きベクトルＬＭＶのすべてを、同じ重みで用いてグローバルモーションを算出するようにしている。
【０１３０】
これに対して、この実施形態では、上述のようにして、ターゲットフレームについての複数個のローカル動きベクトルＬＭＶのそれぞれの信頼性指標値Ｆｔを得ることができる。
【０１３１】
そこで、求められた複数個のローカル動きベクトルＬＭＶの信頼性指標値Ｆｔを正規化して、例えば０以上、１以下の重み係数を、それぞれのローカル動きベクトルＬＭＶに対して設定することができる。そして、各ローカル動きベクトルＬＭＶは同じ重みではなく、それぞれの重み係数に応じた重みで用いて、グローバルモーションを算出するようにすることができる。すなわち、求められた複数個のローカル動きベクトルＬＭＶの全てを用いてグローバルモーションを算出する収束演算を開始するようにするが、その際に、各ローカル動きベクトルＬＭＶは、信頼性指標値Ｆｔに応じた重み係数に応じた重みを用いるようにする。
【０１３２】
しかし、グローバルモーションの算出演算処理を簡単にして、演算負荷を軽くするため、この実施形態では、ローカル動きベクトルＬＭＶについての重み係数Ｗを、０と、１に２値化するようにする。
【０１３３】
このため、この実施形態では、動きベクトルの信頼性指標値Ｆｔに対する閾値ｔｈを設定し、
Ｆｔ＞ｔｈであるときには、Ｗ＝１
Ｆｔ≦ｔｈであるときには、Ｗ＝０
・・・（式２）
とする。この演算式により、各ローカル動きベクトルＬＭＶについての重み係数Ｗを、それぞれの動きベクトルの信頼性指標値Ｆｔを用いて算出するようにする。
【０１３４】
すなわち、この実施形態では、動きベクトル信頼性指標値Ｆｔを用いて、複数個のローカル動きベクトルＬＭＶのそれぞれの信頼性を判定し、複数個のローカル動きベクトルＬＭＶから、信頼性の高いローカル動きベクトルＬＭＶのみを抽出する。そして、当該抽出した信頼性の高いローカル動きベクトルＬＭＶのみを用いてグローバルモーションを算出する。
【０１３５】
この実施形態では、ターゲットフレームにおけるターゲットブロック数が比較的多いことから、この例のように、信頼性の高いローカル動きベクトルＬＭＶのみを抽出する方法であっても精度の良いグローバルモーションの算出が可能である。
【０１３６】
なお、複数個のローカル動きベクトルＬＭＶから、グローバルモーションを算出する具体的な処理例は、後述する。
【０１３７】
＜加算ＮＲ処理部２０のハードウエア構成例＞
加算ＮＲ処理部２０は、この実施形態では、図１に示すように、動きベクトル算出部２１と、動き補償画生成部２２と、加算部２３と、加算率計算部２４とからなる。
【０１３８】
動きベクトル算出部２１は、複数フレーム分の画像が画像メモリ部４に書き込まれた後、当該画像メモリ部４からターゲットフレームの画像データと参照フレームの画像データを読み込む。
【０１３９】
そして、動きベクトル算出部２１は、ブロックマッチング手法によるローカル動きベクトルＬＭＶの検出を行うと共に、ローカル動きベクトルＬＭＶの信頼性の算出、グローバルモーションの算出およびグローバル動きベクトルＧＭＶの算出処理を行う。さらに、動きベクトル算出部２１は、ターゲットブロックについての背景一致度合いの評価も行なって、ヒット率βを生成する。
【０１４０】
この実施形態では、動きベクトル算出部２１からは、ターゲットフレームの画像データＴＧｖと、参照フレームの画像データＲＥＦｖと、ヒット率βとが出力される。また、動きベクトル算出部２１からは、グローバル動きベクトルＧＭＶまたはローカル動きベクトルＬＭＶからなるＮＲ処理用動きベクトルＭＶｎｒの情報が出力される。
【０１４１】
そして、動きベクトル算出部２１からのＮＲ処理用動きベクトルＭＶｎｒの情報と、参照フレームの画像データＲＥＦｖとは動き補償画生成部２２に供給される。動き補償画生成部２２では、参照フレームの画像データＲＥＦｖに対して、ＮＲ処理用動きベクトルＭＶｎｒによりグローバルモーションに対応する処理、つまり、平行移動、回転、拡大縮小を伴う変形処理を施して、動き補償画像を生成する。
【０１４２】
そして、動きベクトル算出部２１からのターゲットフレームの画像データＴＧｖが加算部２３に供給されると共に、動き補償画生成部２２からの動き補償画像の画像データＭＣｖが加算部２３に供給される。
【０１４３】
また、動きベクトル算出部２１からのターゲットフレームの画像データＴＧｖとヒット率βとが、加算率計算部２４に供給される。加算率計算部２４は、ターゲットフレームの各ターゲットブロック毎の加算率αを、背景一致度合いであるヒット率βに応じて計算する。そして、加算率計算部２４は、算出したターゲットブロック毎の加算率αを、加算部２３に供給する。
【０１４４】
加算部２３では、両画像データＴＧｖおよびＭＣｖの対応する位置の画素が加算されることにより、画像の重ね合わせ処理がなされ、その加算画像（ＮＲ画像である）の画像データＭＩＸｖが出力される。この画像重ね合わせは、ターゲットブロック単位に行なわれ、ターゲットブロックの画像データに対して、加算率αで、動き補償画像の画像データＭＣｖの対応するブロックの画像データが加算される。
【０１４５】
加算部２３からの加算画像の画像データＭＩＸｖは、画像メモリ部４の第１のフレームメモリ４１に、ターゲットフレームの画像データとして、その前のターゲットフレームの画像データに重ね書き（上書き）される。
【０１４６】
すなわち、第１のフレームメモリ４１のターゲットフレームの画像データは、最初は、シャッターボタンが押下された直後の１枚目のフレームの画像データとなる。第１のフレームメモリ４１のターゲットフレームの画像データは、２枚目の参照フレームの動き補償画の画像データＭＣｖとターゲットフレームとが加算されると、その加算結果の加算画像の画像データＭＩＸｖに書き換えられる。
【０１４７】
そして、その加算画像の画像データＭＩＸｖが、３枚目の参照フレームの画像データに対するターゲットフレームの画像データとなる。そして、上述と同様にして、動きベクトル算出部２１でＮＲ処理用動きベクトルＭＶｎｒが算出され、加算部２３で画像の重ね合わせ処理がなされる。
【０１４８】
そして、その加算結果の加算画像の画像データＭＩＸｖが画像メモリ部４の第１のフレームメモリ４１に、ターゲットフレームの画像データとして、その前のターゲットフレームの画像データに重ね書き（上書き）される。以下、４枚目以降の参照フレームに対しても同様の処理動作がなされる。
【０１４９】
したがって、Ｎ枚目の参照フレームまでについての画像の重ね合わせ処理がなされた後には、画像メモリ部４の第１のフレームメモリ４１には、重ね合わせるべきＮ枚の全てのフレームが重ね合わされたＮＲ画像が書き込まれていることになる。
【０１５０】
上述した動きベクトル算出部２１および動き補償画生成部２２は、ハードウエアにより構成することできる。また、動きベクトル算出部２１および動き補償画生成部２２は、ＤＳＰ（Digital  Signal  Processor）を用いて構成することもできる。さらには、動きベクトル算出部２１および動き補償画生成部２２は、ＣＰＵ１によりソフトウエア処理とすることもできる。
【０１５１】
同様に、加算部２３も、ハードウエアにより構成することできるし、また、ＤＳＰを用いて構成することもできる。さらには、加算部２３も、ＣＰＵ１によりソフトウエア処理とすることもできる。また、静止画コーデック部１７も、同様である。
【０１５２】
［動きベクトル算出部２１の構成例］
動きベクトル算出部２１のハードウエア構成例を図１３に示す。この例では、動きベクトル算出部２１は、ターゲットブロック１０２の画素データを保持するターゲットブロックバッファ部２１１と、参照ブロック１０８の画素データを保持する参照ブロックバッファ部２１２とを備える。
【０１５３】
また、動きベクトル算出部２１は、ターゲットブロック１０２と参照ブロック１０８とで対応する画素についてのＳＡＤ値を計算するマッチング処理部２１３を備える。また、動きベクトル算出部２１は、マッチング処理部２１３から出力されるＳＡＤ値情報からローカル動きベクトルを算出するローカル動きベクトル算出部２１４を備える。動きベクトル算出部２１は、さらに、コントロール部２１５と、動きベクトル信頼性指標値算出部２１６と、グローバルモーション算出部２１７と、グローバル動きベクトル算出部２１８と、コントラスト算出部２１９と、背景／動被写体判定部２１０と、を備える。
【０１５４】
コントラスト算出部２１９は、ローパスフィルタ２１９１と、最大輝度値検出部２１９２と、最小輝度値検出部２１９３とからなる。
【０１５５】
この例では、図示は省略するが、画像メモリ部４には、原画のターゲットフレームや参照フレームの画像データから生成された、ターゲットフレームおよび参照フレームについての縮小面の画像データおよび中間面の画像データが、記憶保持されている。
【０１５６】
コントロール部２１５は、この動きベクトル算出部２１における処理シーケンスを制御するもので、図示のように各部に制御信号を供給するようにする。
【０１５７】
ターゲットブロックバッファ部２１１は、このコントロール部２１５の制御を受けて、画像メモリ部４のターゲットフレームの画像データから、指示されたターゲットブロックの画像データを読み込んで、マッチング処理部２１３に供給する。
【０１５８】
参照ブロックバッファ部２１２は、コントロール部２１５の制御を受けて、画像メモリ部４の参照フレームの画像データから、指示されたマッチング処理範囲の画像データを読み込む。そして、参照ブロックバッファ部２１２は、そのマッチング処理範囲の画像データの中から、参照ブロックの画像データを順次にマッチング処理部２１３に供給するようにする。
【０１５９】
マッチング処理部２１３は、ターゲットブロックバッファ部２１１からのターゲットブロックの画像データと、参照ブロックバッファ部２１２からの参照ブロックの画像データを受ける。そして、マッチング処理部２１３は、ブロックマッチング処理を、コントロール部２１５の制御にしたがって行う。そして、マッチング処理部２１３は、参照ベクトル（参照ブロックの位置情報）と、ブロックマッチング処理結果のＳＡＤ値とを、ローカル動きベクトル算出部２１４に供給する。
【０１６０】
ローカル動きベクトル算出部２１４は、ＳＡＤ値の第１極小値保持部２１４１と、ＳＡＤ値の第２極小値保持部２１４２とを備え、マッチング処理部２１３からのＳＡＤ値から、ＳＡＤ値の第１極小値と、ＳＡＤ値の第２極小値とを検出する処理を行う。
【０１６１】
ローカル動きベクトル算出部２１４は、ＳＡＤ値の第１極小値保持部２１４１のＳＡＤ値の第１極小値およびその位置情報（参照ベクトル）と、ＳＡＤ値の第２極小値保持部２１４２のＳＡＤ値の第２極小値およびその位置情報（参照ベクトル）とを更新してゆく。ローカル動きベクトル算出部２１４は、この更新処理をマッチング処理範囲の全ての参照ブロックについてのブロックマッチング処理が終了するまで行なう。
【０１６２】
ブロックマッチング処理が終了したときには、ＳＡＤ値の第１極小値保持部２１４１には、そのときのターゲットブロックについてのＳＡＤ値の第１極小値およびその位置情報（参照ベクトル）が記憶保持される。また、ＳＡＤ値の第２極小値保持部２１４２には、ＳＡＤ値の第２極小値およびその位置情報（参照ベクトル）が、記憶保持される。
【０１６３】
ローカル動きベクトル算出部２１４は、マッチング処理範囲の全ての参照ブロックについてのブロックマッチング処理が終了したときに、ＳＡＤ値の第１極小値保持部２１４１に保持されている参照ベクトルの情報（位置情報）を、動きベクトルとして検出する。このローカル動きベクトル算出部２１４の処理動作については、後で詳述する。
【０１６４】
ローカル動きベクトル算出部２１４で得られたローカル動きベクトルＬＭＶは、グローバル動きベクトル算出部２１７に供給される。グローバルモーション算出部２１７では、受け取ったローカル動きベクトルＬＭＶを、一時保持する。
【０１６５】
ローカル動きベクトル算出部２１４のローカル動きベクトルＬＭＶの算出処理が終了したときには、コントロール部２１５は、動きベクトル信頼性指標値算出部２１６をイネーブルとして、動作を開始させる。そして、ローカル動きベクトル算出部２１４からは、第１極小値保持部２１４１のＳＡＤ値の最小値ＭｉｎＳＡＤと、第２極小値保持部２１４２のＳＡＤ値の第２極小値Ｂｔｍ２ＳＡＤとが、動きベクトル信頼性指標値算出部２１６に供給される。
【０１６６】
また、このとき、ターゲットブロックバッファ部２１１からのターゲットブロックの画像データがローパスフィルタ２１９１を通じて最大輝度値検出部２１９２および最小輝度値検出部２１９３に供給される。そして、最大輝度値検出部２１９２および最小輝度値検出部２１９３のそれぞれで検出された最大輝度値ＭａｘＴＡＲおよび最小輝度値ＭｉｎＴＡＲが、動きベクトル信頼性指標値算出部２１６に供給される。
【０１６７】
動きベクトル信頼性指標値算出部２１６では、これに供給される情報を用いて、前述した（式１）にしたがって、動きベクトルの信頼性指標値Ｆｔを算出する。そして、動きベクトル信頼性指標値算出部２１６は、算出した動きベクトルの信頼性指標値Ｆｔを、グローバルモーション算出部２１７に供給する。グローバルモーション算出部２１７では、そのときに供給されているローカル動きベクトルＬＭＶに対応付けて、入力されてきた動きベクトルの信頼性指標値Ｆｔを、一時保持する。
【０１６８】
以上の処理が、ターゲットフレームの全てのターゲットブロックについて終了すると、コントロール部２１５は、グローバルモーション算出部２１７に、グローバルモーションの算出処理を開始するようにする制御指示信号を供給する。
【０１６９】
この実施形態では、グローバルモーション算出部２１７は、この制御指示信号を受けて、先ず、保持している複数個のローカル動きベクトルＬＭＶについて、対応して保持されている動きベクトル信頼性指標値Ｆｔを用いて、信頼性の判定を行う。この実施形態では、前述した（式２）により、各ローカル動きベクトルＬＭＶについての重み係数Ｗを算出する。グローバルモーション算出部２１７は、重み係数Ｗ＝１である、信頼性の高いローカル動きベクトルＬＭＶのみを抽出する。
【０１７０】
そして、グローバルモーション算出部２１７は、抽出した信頼性の高いローカル動きベクトルＬＭＶのみを用いてグローバルモーションＧＭを算出する演算処理を実行する。この例では、グローバルモーション算出部２１７は、アフィン変換を用いてグローバルモーションを推定して算出する。そして、グローバルモーション算出部２１７は、算出したグローバルモーションＧＭをグローバル動きベクトル算出部２１８に供給する。
【０１７１】
グローバル動きベクトル算出部２１８は、グローバルモーションＧＭを、ターゲットブロックの座標位置（例えば中心位置）に適用することにより、そのターゲットブロックのグローバル動きベクトルＧＭＶを算出する。
【０１７２】
グローバル動きベクトル算出部２１８は、算出したグローバル動きベクトルＧＭＶを背景／動被写体判定部２１０に供給する。背景／動被写体判定部２１０には、ローカル動きベクトル算出部２１４からのローカル動きベクトルＬＭＶも供給される。
【０１７３】
背景／動被写体判定部２１０では、前述もしたように、ターゲットブロック毎のローカル動きベクトルＬＭＶと、グローバル動きベクトルＧＭＶとを比較して、ターゲットブロックについての両者の一致度、つまり、背景一致度合いを判定する。この場合に、背景／動被写体判定部２１０では、ローカル動きベクトルＬＭＶおよびグローバル動きベクトルＧＭＶのそれぞれが対応する参照ブロックについての相関値（ＳＡＤ値）を比較して、背景と動被写体との判定を行う。
【０１７４】
ところで、ローカル動きベクトル算出部２１４でグローバルモーションを算出するために求めたローカル動きベクトルＬＭＶおよび相関値（ＳＡＤ値）を、背景／動被写体判定部２１０における前記の比較用として使用することもできる。
【０１７５】
しかし、その場合には、ローカル動きベクトル算出部２１４では、グローバルモーション算出部２１７やグローバル動きベクトル算出部２１８での処理時間分だけ、当該ローカル動きベクトルやＳＡＤ値を保持しておく必要がある。この場合、特に、保持しておくＳＡＤ値は、グローバル動きベクトルＧＭＶが、どの参照ベクトルに対応するものであるかは判っていないので、各ターゲットブロックのそれぞれについてＳＡＤ値テーブルの全てを保持しておく必要がある。そのため、これらローカル動きベクトルＬＭＶやＳＡＤ値を保持しておくメモリとして、容量が膨大なものが必要となってしまう。
【０１７６】
このことにかんがみ、この実施形態では、ローカル動きベクトル算出部２１４では、背景／動被写体判定部２１０における前記比較用のローカル動きベクトルＬＭＶやＳＡＤ値は、再計算するようにする。これにより、ローカル動きベクトル算出部２１４には、ローカル動きベクトルＬＭＶやＳＡＤ値を保持しておくメモリは設ける必要はなく、前記メモリの容量の問題は回避できる。
【０１７７】
したがって、背景／動被写体判定部２１０は、再算出されたローカル動きベクトルＬＭＶおよびＳＡＤ値を用いて、ターゲットブロックについての背景一致度合いを示すヒット率βを求める。グローバル動きベクトルＧＭＶに一致する参照ベクトル（参照ブロック位置）についてのＳＡＤ値も、当該再算出時に取得する。そして、背景／動被写体判定部２１０は、当該再算出されたローカル動きベクトルＬＭＶやＳＡＤ値を用いて、ターゲットブロックが、背景部分か、動被写体部分かを判定するようにする。
【０１７８】
背景／動被写体判定部２１０は、前述したように、ローカル動きベクトルＬＭＶに対応する参照ブロックについてのＳＡＤ値と比較すべき、グローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値は、画像のノイズ分を反映した値に補正する。
【０１７９】
画像のノイズは、一般に、画像の輝度値に応じたものとなる。そこで、この実施形態では、コントラスト算出部２１９の最大値輝度値検出部２１９２からの最大輝度値ＭａｘＴＡＲと、最小輝度値系部２１９３からの最小輝度値ＭｉｎＴＡＲが、背景／動被写体判定部２１０に供給される。
【０１８０】
背景／動被写体判定部２１０は、最大輝度値ＭａｘＴＡＲと、最小輝度値ＭｉｎＴＡＲとの差分として、画像の輝度値を検出し、検出した輝度値に応じて、グローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値の補正値を決定する。
【０１８１】
そして、背景／動被写体判定部２１０は、その補正後の相関値と、ローカル動きベクトルに対応する参照ブロックについての相関値とを比較する。そして、グローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値の補正値の方が、ローカル動きベクトルに対応する参照ブロックについての相関値よりも小さい（相関値は大きい）かどうか判定する。小さいときには、当該ターゲットブロックは、背景部分と評価判定する。
【０１８２】
背景／動被写体判定部２１０は、ターゲットブロックが背景部分であると見なせるようなヒット率βのときには、ＮＲ処理用動きベクトルＭＶｎｒとして、グローバル動きベクトルＧＭＶを出力する。それ以外のときには、背景／動被写体判定部２１０は、ターゲットブロックに対して、ＮＲ処理用動きベクトルＭＶｎｒとして、ローカル動きベクトルＬＭＶを出力する。
【０１８３】
前述したように、背景／動被写体判定部２１０からのＮＲ処理用動きベクトルＭＶｎｒは、動き補償画生成部２２に供給される。
【０１８４】
動き補償画生成部２２では、動きベクトル算出部２１を通じて送られてくる参照フレームの画像データＲＥＦｖに対して、ＮＲ処理用動きベクトルＭＶｎｒに対応する変形処理が施されて、動き補償画像のデータＭＣｖが生成される。そして、生成された動き補償画像のデータＭＣｖが加算部１７に供給される。
【０１８５】
また、背景／動被写体判定部２１０は、求めたヒット率βは、加算率計算部２１に供給する。加算率計算部２１は、ヒット率βに基づいて、ターゲット画像に対する動き補償画像の加算率αを算出する。
【０１８６】
この場合、加算率αは、ブロック単位あるいは画素単位で計算をすることができる。画素単位で計算をする場合であっても、ヒット率βは、ブロック単位であるので、当該ヒット率βが加算率の計算に関与するのは、ブロック単位であるのは言うまでもない。
【０１８７】
加算率αをブロック単位に計算する場合には、ヒット率βのみに応じた加算率αを計算することもできる。勿論、ヒット率β以外の他の加算率計算要素を加味して、加算率αを計算することもできる。この実施形態では、ヒット率βのみではなく、後述もするように、ターゲット画像と動き補償画像との画素単位の違い、ターゲット画像のノイズなどの要因を加味して加算率αを計算する。
【０１８８】
加算率計算部２１で求められた加算率αは、加算部２３に供給される。加算部２３は、これに送られてくるターゲット画像の画像データＴＧｖに対して、動き補償画像の画像データＭＣｖを、加算率αで加算する。
【０１８９】
この実施形態においては、加算部２３では、ターゲットブロックの背景一致度合い（ヒット率β）に応じた加算率で、ターゲット画像と動き補償画像とが重ね合わされる。つまり、静止画部分では、ターゲット画像に対する動き補償画像の加算率が高くなり、動被写体部分では、ターゲット画像に対する動き補償画像の加算率が低くなる。
【０１９０】
こうして、この実施形態では、背景部分と動被写体部分とでは、それぞれに適切な加算率で画像の重ね合わせをすることができる。したがって、画像重ね合わせにより得られたＮＲ画像は、良好なものとなる。
【０１９１】
しかも、この実施形態におけるグローバルモーションおよびグローバル動きベクトルＧＭＶは、信頼性の高いローカル動きベクトルＬＭＶから生成されたものであるので、確度の高い動きベクトルであり、その点でも良好な加算ＮＲ画像を得ることができる。
【０１９２】
［ＮＲ画像生成のための全体の処理の流れ］
図１４は、画像メモリ４に取り込んだ撮像画像について、ＮＲ画像を生成する処理の流れを示すフローチャートである。
【０１９３】
先ず、動きベクトル算出部２１では、ローカル動きベクトル算出部２１４でブロックマッチングによるローカル動きベクトルＬＭＶの検出を行なう（ステップＳ１０１）。次に、動きベクトル信頼性指標値算出部２１６は、検出されたローカル動きベクトルＬＭＶについての信頼性の指標値Ｆｔを、ローカル動きベクトル算出部２１４で算出されたＳＡＤ値の第１極小値ＭｉｎＳＡＤと、第２極小値Ｂｔｍ２ＳＡＤとを用いて算出する（ステップＳ１０２）。
【０１９４】
次に、グローバルモーション算出部２１７は、算出された信頼性の指標値Ｆｔに基づいて、信頼性の高いローカル動きベクトルＬＭＶを抽出する。そして、グローバルモーション算出部２１７は、当該抽出した信頼性の高いローカル動きベクトルＬＭＶのみを用いてグローバルモーションＧＭを算出する（ステップＳ１０３）。
【０１９５】
次に、ステップＳ１０３で算出されたグローバルモーションＧＭを用いて、ターゲットブロック毎のグローバル動きベクトルＧＭＶを算出する（ステップＳ１０４）。
【０１９６】
また、ローカル動きベクトル算出部２１４で、再ブロックマッチング処理を行なって、ローカル動きベクトルＬＭＶを再検出する（ステップＳ１０５）。そして、ローカル動きベクトルＬＭＶが検出された参照ブロック位置（参照ベクトル）におけるＳＡＤ値（ＭｉｎＳＡＤ）を保持すると共に、ステップＳ１０４で算出されたグローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値も保持しておく。なお、このときには、ローカル動きベクトルＬＭＶの信頼性の指標値Ｆｔの算出の必要はない。
【０１９７】
次に、背景／動被写体判定部２１０は、ステップＳ１０５で算出されたローカル動きベクトルＬＭＶと、ステップＳ１０４で求められたグローバル動きベクトルＧＭＶとを比較して、各ターゲットブロックについての背景一致度合いを評価し、ヒット率βを求める。そして、さらに、各ターゲットブロックについてのＮＲ処理用動きベクトルＭＶｎｒを定め、動き補償画生成部２２に出力する（ステップＳ１０６）。
【０１９８】
このステップＳ１０６でのローカル動きベクトルＬＭＶとグローバル動きベクトルＧＭＶとの比較においては、ローカル動きベクトルＬＭＶおよびグローバル動きベクトルＧＭＶのそれぞれに対応する参照ブロックについてのＳＡＤ値を比較する。さらに、グローバル動きベクトルＧＭＶに対応する参照ブロックのついてのＳＡＤ値については、上述したように、画像のノイズに応じた補正を加えるようにする。
【０１９９】
次に、動き補償画生成部２２では、ステップＳ１０６で定められたＮＲ処理用動きベクトルＭＶｎｒを用いて、参照ブロック毎に動き補償画を生成し、加算部２３に出力する（ステップＳ１０７）。
【０２００】
次に、加算率計算部２１は、ステップＳ１０６で求められたヒット率βを用いて、上述したようにして、この例では、画素毎の加算率αを算出し、加算部２３に供給する（ステップＳ１０８）。
【０２０１】
次に、加算部２３は、ターゲット画像に、ステップＳ１０７で生成された動き補償画を、ステップＳ１０８で算出された加算率αで画素毎に重ね合わせてＮＲ画像を生成する（ステップＳ１０９）。以上で、ＮＲ画像の処理は終了となる。
【０２０２】
なお、この図１４は、あるターゲットフレームの１枚についての処理動作を示したものである。３枚以上の複数枚の画像を重ね合わせる場合には、生成した加算ＮＲ画像をターゲットフレームとすると共に、新たに重ね合わせる画像を参照フレームとして、図１４の処理を繰り返す。
【０２０３】
次に、動きベクトル算出部２１の主要な各部の詳細な処理動作について、さらに説明する。
【０２０４】
＜グローバルモーション算出部２１７およびグローバル動きベクトル算出部２１８の処理動作＞
＜拡張したアフィン変換について＞
この実施形態では、多数個のローカル動きベクトルＬＭＶから、グローバルモーションを算出（推定）する。そして、算出したグローバルモーションから、グローバル動きベクトルＧＭＶを算出（グローバルモーションを推定）する。この場合において、グローバルモーションをアフィン変換で表現する方法を用いる。
【０２０５】
不特定多数のベクトルから、最も好適なグローバルモーションを導出する手法として、この実施形態では、前述したようにアフィン変換を用いる方法を用いる。この方法は、信頼性の高いブロックの中から、動被写体等のグローバルモーションに適合しにくいブロックのローカル動きベクトルを徐々に排除しながら、最小自乗法を用いて、グローバルモーションのパラメータの収束を図る方法である。
【０２０６】
図１５に、アフィン変換の一般式を、（式３）として示す。この（式３）において、ｖは、ターゲットブロックの動きベクトルの水平成分、ｗはターゲットブロックの動きベクトルの垂直成分を示し、ａ，ｂ，ｃ，ｄ，ｅ，ｆは、アフィンパラメータを示している。ここで、アフィン変換では、アフィンパラメータａ，ｂ，ｃ，ｄ，ｅ，ｆは、固定値である。そして、ｘ，ｙは、ターゲットブロックの中心座標の水平成分、垂直成分を示している。
【０２０７】
グローバルモーションの収束演算過程において求められたアフィンパラメータと、各ターゲットブロックの中心の座標から、グローバルモーションに応じた動きベクトル（このベクトルを理想的な動きベクトルと呼ぶ）が得られる。この理想的なベクトルと、観測（ブロックマッチングにより検出）された動きベクトルとの間のエラーの総和εは、図１６の（式４）のように表される。
【０２０８】
グローバルモーションを導出するという命題は、上記のエラーの総和εを最小化するアフィンパラメータａ〜ｆの推定であり、これは、例えば、最小自乗法によって解くことが可能である。
【０２０９】
しかしながら、通常のアフィン変換は、“あおり”に対応できない欠点がある。“あおり”とは、手ブレのピッチ軸（鉛直方向軸）またはヨー軸（鉛直方向に直交する水平方向軸）の回転成分によってもたらされる現象で、正対した矩形平面が、図１７に示すように、台形に変形してしまうことから、台形歪みやキーストーンとも呼ばれる。
【０２１０】
すなわち、図１７（Ａ）の下側に示すように、カメラＣＡＭの光軸Ｌｚが、被写体ＯＢＪの矩形平面に直交するように、カメラＣＡＭが被写体ＯＢＪに正対しているときには、被写体ＯＢＪの矩形平面の撮像画像は、図１７（Ａ）の上側に示すように、そのまま矩形平面となる。
【０２１１】
これに対して、例えば図１７（Ｂ）の下側に示すように、カメラＣＡＭの光軸Ｌｚが、被写体ＯＢＪに正対せずに、角度θだけピッチ軸回転（鉛直な面内で回転）した場合には、被写体ＯＢＪの矩形平面の撮像画像は、図１７（Ｂ）の上側に示すように、左右方向（画像の水平方向）の長さが、角度θに応じて線形に変化する台形となる。
【０２１２】
なお、図示は省略するが、カメラＣＡＭの光軸Ｌｚが、被写体ＯＢＪに正対せずに、角度θだけヨー軸回転（水平面内で回転）した場合には、被写体ＯＢＪの矩形平面の撮像画像は、上下方向（画像の垂直方向）の長さが、角度θに応じて線形に変化する台形となる。
【０２１３】
手ブレによって、上述のように撮像されてしまった画像を、元通り正対した形に戻す処理が、“あおり”補正または台形補正であるが、アフィン変換のパラメータではこれを表現できない。すなわち、例えば、図１７（Ｂ）に示されるような“あおり”台形画像を、長方形に戻す“あおり”補正を考えた場合、鉛直軸（ｙ軸）に沿って上方を水平縮小し、下方を水平拡大すれば良い。
【０２１４】
ところが、上述したアフィン変換のパラメータのうち、水平拡大縮小に関するパラメータはａであり、このパラメータａが一定値のため、アフィン変換ではこの補正に対応できないのである。
【０２１５】
この実施形態では、以上の点にかんがみ、画像に“あおり”変形があっても、良好にグローバルモーションを検出することができるようにする手法を用いる。
【０２１６】
すなわち、この実施形態では、前述の図１５に示した通常のアフィン変換を変形した拡張したアフィン変換（以下、拡張アフィン変換という）を用いる。
【０２１７】
図１８で実線に示すような“あおり”台形画像を、図１８で点線で示す矩形（長方形）に戻す“あおり”補正を考えた場合、図１８において、矢印により示すように、鉛直軸（ｙ軸）に沿って、台形画像の上方半分を水平縮小し、下方半分を水平拡大すれば良い。
【０２１８】
通常のアフィン変換では、アフィン変換のパラメータａ，ｂ，ｃ，ｄ，ｅ，ｆのうち、水平拡大縮小に関するパラメータはａであり、このパラメータａが一定値のため、通常のアフィン変換では、この“あおり”補正に対応できない。
【０２１９】
そこで、図１８の下側に示すように、パラメータａをｙ軸に沿って値が変化するように、ｑ０・ｙ＋ｒ０と置き換えれば、水平方向の拡大縮小率が、鉛直軸に応じて線形に変化する変換となる。すなわち、パラメータａを、“あおり”補正のために、ｙ軸の変数ｙの関数に置き換える。ここでは、図１８の“あおり”補正のためには、線形な関数、つまり、パラメータａは、一次関数ｑ０・ｙ＋ｒ０とすればよいことになる。
【０２２０】
図１８は、前述したピッチ軸の回転に伴う“あおり”の補正を考慮したものであるが、ヨー軸の回転に伴う“あおり”の補正や、ピッチ軸およびヨー軸の両者の回転が合成された“あおり”の補正を考慮する必要がある。
【０２２１】
そこで、この実施形態では、図１８を用いて説明した考え方を拡張する。すなわち、アフィン変換を、任意の軸に沿って、その軸と垂直な方向に拡大縮小する形にするには、パラメータａ，ｂ，ｄ，ｅを、図１９の（式５）に示すように、それぞれｐｎ・ｘ＋ｑｎ・ｙ＋ｒｎ（ｎ＝０，１，２，３）と置き換えるようにする。
【０２２２】
ここで、アフィンパラメータａ，ｂ，ｄ，ｅは、画像の変形に関与するパラメータであるのに対して、アフィンパラメータｃ，ｆは、画像の左右、上下方向のシフトに関与するパラメータである。よって、アフィンパラメータｃ，ｆについては、関数への置き換えはしない。
【０２２３】
この（式５）のように表すと、計１４個のパラメータとなり、拡張アフィン変換は、煩雑性が高いように見えるが、（式５）を展開して整理すれば、結局１２個のパラメータを使って、図２０の（式６）の形となる。
【０２２４】
この拡張アフィン変換の式形状であれば、複雑な式にはなるものの、最小自乗法によって、複数のローカル動きベクトルに対する解を、一意に導き出すことが可能である。手法はアフィン変換と同じであるため、最終結果のみを、図２１〜図２５に、それぞれ（式７）〜（式１１）として示す。
【０２２５】
なお、この実施形態では、図１９に示したように、画像の変形に関与するアフィンパラメータａ，ｂ，ｄ，ｅの全てを関数に置き換えるようにしたが、画像の変形が特定の方向のみである場合には、その方向に関するパラメータのみを関数に置き換えるようにすればよい。例えば、図１８の上方に示した変形のみを考慮する場合には、図１８の下側に示すように、パラメータａのみを、関数に置き換えればよい。
【０２２６】
また、上述の例の拡張したアフィン変換では、パラメータを置き換える関数は、線形変位を想定したため、一次関数としたが、曲線的な変位を想定する場合には、２次以上の関数とするようにしてもよい。
【０２２７】
＜拡張したアフィン変換を用いたグローバルモーションの算出＞
不特定多数のベクトルから、最も好適なグローバルモーションを導出する手法として、この実施形態では、図２６および図２７のフローチャートに示す方法を用いる。この方法は、信頼性の高いブロックの中から、動被写体等の、グローバルモーションに適合しにくいブロックのローカル動きベクトルを徐々に排除しながら、最小自乗法を用いて、グローバルモーションのパラメータの収束を図る方法である。
【０２２８】
この図２６、図２７のフローチャートの処理においては、拡張アフィン変換を導入することにより、ベクトル精度の低い多くのローカル動きベクトルから、動被写体等のエラーベクトルを排除しながら、“あおり”も含めた、最適なグローバルモーションを、現実的な演算コストで導出することが可能となる。
【０２２９】
ところで、この実施形態の拡張アフィン変換は、変形パラメータが多く、柔軟であるが故に、グローバルモーションの収束演算において、動被写体やノイズ等の誤った動きベクトルにも対応してしまい、これら誤った動きベクトルを排除できない可能性がある。
【０２３０】
そのため、この実施形態では、図２６，図２７に示すように、収束演算ループの初期においては、通常のアフィン変換を用いて誤った動きベクトル（エラーベクトルという）の排除を行い、その後、拡張アフィン変換を用いた収束演算を行なうようにする。これは、通常のアフィン変換を用いることで、あおり成分のベクトルを排除しない程度に、ベクトルエラーが小さくなってから、拡張アフィン変換を用いて、あおり成分にも対応した高精度の収束を試みる手法を用いるようにするためである。
【０２３１】
また、この実施形態では、収束演算の各回で求められたグローバルモーションＧＭから求められる動きベクトル（グローバル動きベクトル）と、検出された動きベクトル（上述のローカル動きベクトルＬＭＶ）との差としてのベクトルエラーの最大値を検出する。
【０２３２】
そして、検出したベクトルエラーの最大値が、予め定めた閾値よりも大きい場合には、通常のアフィン変換を継続し、検出したベクトルエラーの最大値が、予め定めた閾値以下になったら、拡張アフィン変換を用いる収束演算を行なうようにする。
【０２３３】
図２６および図２７のフローチャートに沿って説明する。
【０２３４】
先ず、動きベクトル算出部２１は、保持している複数個のローカル動きベクトルＬＭＶについて、それぞれの動きベクトル信頼性指標値Ｆｔと、予め定めた閾値とを比較する。そして、その比較結果から、動きベクトル信頼性指標値Ｆｔが、予め定めた閾値よりも大きい信頼性の高いローカル動きベクトルＬＭＶのターゲットブロック（以下、説明の簡単のためブロックと記載）のみを選定する（ステップＳ２０１）。この処理は、前述の（式７）を用いて説明したように、重み係数Ｗとして、１と０との２値を用いる場合に相当する。
【０２３５】
次に、動きベクトル算出部２１は、収束演算の収束ループが最初の１回目であるか否か判別する（ステップＳ２０２）。最初の１回目であると判別したときには、動きベクトル算出部２１は、選定した複数のブロックのローカル動きベクトルＬＭＶのみを用いると共に、通常のアフィン変換を用いて、グローバルモーションＧＭを導出（推定）する（ステップＳ２０３）。つまり、グローバルモーションＧＭについてのアフィンパラメータａ〜ｆを算出する。
【０２３６】
次に、導出したグローバルモーションＧＭに基づいて、演算に用いた、選定したブロックのそれぞれの理論上のローカル動きベクトルＬＭＶｓを計算する（ステップＳ２０６）。
【０２３７】
次に、選定した複数のブロックのそれぞれにおいて、ブロックマッチング処理により求めたローカル動きベクトルＬＭＶと、ステップＳ２０６で求めた理論上のローカル動きベクトルＬＭＶｓとの誤差Ｅｎを計算する（ステップＳ２０７）。
【０２３８】
このブロックマッチングで求めた動きベクトルと理論上の動きベクトルとの誤差計算は、演算の精度を重視するなら、三平方の定理から正しく距離計算を行えば良い。しかし、演算の精度よりも軽さを重要視するなら、水平及び垂直の両者の距離をそれぞれ求め、それらの和を、近似的な距離として用いても良い。
【０２３９】
次に、選定した複数のブロックのそれぞれについて求めた誤差Ｅｎの全てを用いて、それら全ての誤差の平均値Ｅ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は、ローパスフィルタ６３１を通じて空間分散フィルタ６３６に供給される。そして、この空間分散フィルタ６３６から、注目画素（自画素）と、その周囲近傍の例えば８画素との合計９個の画素についての分散値ＶａＣｒが得られる。
【０３５８】
そして、分散値ＶａＹ、ＶａＣｂおよびＶａＣｒは、図３２に示すように、加算部６１１で加算された後、加算率変換出力部６１２に供給される。さらに、加算率変換出力部６１２には、動きベクトル算出部２１からのヒット率βと、外部からのゲインＧＡが供給される。
【０３５９】
この加算率変換出力部６１２で求める加算率αＣは、ターゲットブロックの画像が、テクスチャー成分が少なく、輝度レベル変化がなだらかな場合（グラデーションの場合）に、その加算率を抑えることを目的としている。この実施形態のようにブロック分割した画像処理においては、人間の視覚効果により、ブロック境界が非常に目立ち易くなり、特に、輝度レベル変化がなだらかな場合には殊更であることを考慮している。
【０３６０】
上記の目的を実現させるために、基本的には、ブロック内の分散値が低いほど加算率を低くすれば良い。この実施形態の加算率変換出力部６１２では、図３９（Ａ）に示すように、分散値を横軸に取ると共に、分散値を所定の段階幅毎に幾つかの段階に分け、出力加算率を各段階の分散値に応じて決定するようにする。
【０３６１】
図３９（Ａ）の例では、分散値を段階幅８毎に、５段階に分け、分散値０−７に対する加算率を０．０、分散値８−１５に対する加算率を０．２５、分散値１６−２３に対する加算率を０．５、分散値２４−３１に対する加算率を０．７５、分散値３２以上に対する加算率を１．０とする。
【０３６２】
ところで、画像を重ね合わせる場合に、上述のようなブロック毎の境界が目立つのは、重ね合わせる画像に差異があるからである。換言すれば、背景静止画像部分については、重ね合わせる画像に差異はないので、分散値に応じた加算率の抑制をする必要はない。
【０３６３】
そこで、この実施形態では、加算率変換出力部６１２では、ヒット率βに応じて、分散値の段階幅を制御し、ヒット率βが大きいほど、分散値の段階幅を小さくするようにする。これにより、背景静止画像部分については、分散値に応じた加算率の低減を抑制し、できるだけ、高い加算率で加算ができるようにしている。
【０３６４】
すなわち、図３９の例では、ヒット率βが、例えばβ＝０というように低い値のときには、分散値の段階幅は、図３９（Ａ）に示すように、「８」とする。そして、ヒット率βが、例えばβ＝０．５というような値のときには、分散値の段階幅は、図３９（Ｂ）に示すように、「４」とする。
【０３６５】
さらに、ヒット率βが、背景静止画部分であることを示すβ＝１であるときには、分散値の段階幅は、図３９（Ｃ）に示すように、「０」とする。つまり、このときには、分散値による加算率の低減は行なわない。
【０３６６】
上述したように、加算率変換出力部６１２にも、ゲインＧＡが供給されており、このゲインＧＡによる出力加算率の制御が行なえるようにしている。この例の場合、ゲインＧＡにより、ヒット率βとの組み合わせにより、前述した分散値の段階幅を変更制御するようにする。
【０３６７】
図４０に、加算率変換出力部６１２における、ゲインＧＡと、ヒット率βと、段階幅との関係を示す。この図４０の例においても、ゲインＧＡは、ユーザにより、あるいは、撮影条件などにより、ＧＡ＝０、ＧＡ＝１、ＧＡ＝２、ＧＡ＝３の４段階に、変更設定可能とされる。そして、ヒット率βも、β＝０、β＝０．２５、β＝０．５、β＝１．０の４段階に設定されるようにされる。
【０３６８】
なお、図４０の例においては、段階幅については、ビットシフト演算により実現可能なように構成している。
【０３６９】
なお、図３９に示したように、この実施形態では、分散値を用いた加算率の算出に際しては、分散値について、段階幅を用いた複数段階を設定する構成としたが、複数段階とするのではなく、当該複数段階の間を線形補間するようにする構成としても良い。また、線形補間ではなく、２次曲線補間や３次曲線補間をするようにしても良い。
【０３７０】
以上のようにして、各加算率変換出力部６０８、６０９、６１２、６２５および６３５では、輝度差分値や色差差分値、輝度平均差分値、分散値などに応じると共に、ヒット率βに応じた値として加算率αＹＡ、αＹＢ、αＣ、αＣｂ、αＣｒが算出される。
【０３７１】
そして、この実施形態では、これらの加算率αＹＡ、αＹＢ、αＣ、αＣｂ、αＣｒが合成されて、加算率計算部２１の出力加算率αが得られる。すなわち、図３２に示すように、加算率変換出力部６０８および６０９からの加算率αＹＡおよびαＹＢは、乗算器６１３で乗算され、その乗算結果が乗算器６１４に供給される。この乗算器６１４には、加算率変換出力部６２５からの加算率αＣｂが供給されて、乗算器６１３の乗算結果と乗算される。
【０３７２】
そして、この乗算器６１４の乗算結果は、乗算器６１５に供給される。この乗算器６１５には、加算率変換出力部６３５からの加算率αＣｒが供給されて、乗算器６１４の乗算結果と乗算される。また、この乗算器６１５の乗算結果は、乗算器６１６に供給される。この乗算器６１６には、加算率変換出力部６１２からの加算率αＣが供給されて、乗算器６１５の乗算結果と乗算される。
【０３７３】
以上により、乗算器６１６からは、算出された全ての加算率αＹＡ、αＹＢ、αＣ、αＣｂ、αＣｒが乗算された乗算結果が得られ、これが加算率計算部２４の出力加算率αとして出力される。
【０３７４】
こうして、加算率計算部２４からは、画素単位で、ヒット率βに応じた値として加算率αが算出され、加算部２３に供給される。
【０３７５】
加算部２３では、この加算率計算部２４からの画素毎の加算率αに応じて、ターゲットブロックの画像データＴＧｖと、動き補償ブロックの画像データＭＣｖとが画素単位で加算される。そして、加算部２３からの加算画像データは、画像メモリ部４、レンズ歪み補正部１６、静止画コーデック部１７を介して、記録再生装置部５に記録される。
【０３７６】
［レンズ歪み補正部１６の例］
レンズ歪み補正部１６の構成例としては、背景技術で説明した特許文献２や特許文献３に開示されている補正手法を用いることもできるし、また、非特許文献１〜５に紹介されているような補正手法を用いることもできる。
【０３７７】
図４１は、特許文献２に開示されている手法を適用したこの実施形態の構成例である。この例のレンズ歪み補正部１６は、レンズ歪み補正実行部１６１と、レンズ歪み補正量データデコード部１６２と、レンズ歪み補正用データ導出・エンコード部１６３とからなる。
【０３７８】
レンズ歪み補正用データ導出・エンコード部１６３は、ユーザ操作入力部３を通じて入力されたレンズ１０Ｌの歪曲収差に関するデータおよびＣＰＵ１（制御部）からの光学ズームの操作情報に応じた撮像レンズの光軸位置に関する情報などから、撮像素子１１の全画素の当該撮像素子１１上の各位置に応じたレンズ歪み補正ベクトルを予め計算する。
【０３７９】
そして、補正用データ導出・エンコード部１６３は、求めた補正ベクトルを圧縮するなどしてエンコードしてメモリに格納しておく。この補正用データ導出・エンコード部１６３は、非常に負荷の大きな演算が必要となるので、専用のマイクロコンピュータやＤＳＰ（Digital  Signal  Processor）が用いられて構成される。
【０３８０】
レンズ歪み補正量データデコード部１６２は、レンズ歪み補正用データ導出・エンコード部１６３に格納されている、撮像素子１１上の各位置に応じたレンズ歪み補正ベクトルの圧縮エンコードデータを読み出し、レンズ歪み補正量データをデコードして生成する。
【０３８１】
レンズ歪み補正量データデコード部１２１は、レンズ歪み補正実行部１６１からの歪み補正対象部位としての画素位置の情報を引数として受けて、当該画素位置におけるレンズ歪み補正量データをレンズ歪み補正実行部１６１に返す。
【０３８２】
レンズ歪み補正実行部１６１では、画像メモリ４からの画像データの読み出しを制御しながら、読み出した画像データについてのレンズ歪みを、レンズ歪み補正量データデコード部１６２から得たレンズ歪み補正量データを用いて補正する。そして、レンズ歪み補正実行部１６１は、補正後の画像データを静止画コーデック部１７や解像度変換部１８に出力する。
【０３８３】
なお、この実施形態では、レンズ歪み補正量データデコード部１６２およびレンズ歪み補正実行部１６１は、ＣＰＵ１や、専用のマイクロコンピュータあるいはＤＳＰが用いられて、ソフトウエア処理として処理を実行するものとして構成されている。
【０３８４】
［実施形態の効果］
上述の実施形態によれば、加算ＮＲ処理する複数枚の画像フレームのそれぞれに対してレンズ歪み補正を施すのではなく、加算ＮＲ処理した後の１枚の画像フレームに対してのみ、レンズ歪み補正を施す。このため、レンズ歪み補正処理は、１枚の画像に対して行うだけでよいため、処理時間が少なくて済む。これにより、レンズ歪み補正をソフトウエア処理としても、その処理負荷が軽減され、短時間処理が可能となる。
【０３８５】
また、レンズ歪み補正処理により画像を拡大してしまうような場合においては、ノイズも拡大してしまうが、この実施形態では、加算ＮＲ処理を行ってノイズ低減した画像に対してレンズ歪み補正を行うので、ノイズの拡大を軽減することができる。
【０３８６】
また、上述の実施形態においては、拡張したアフィン変換を用いることにより、あおり変形や曲線的な動き変化に対しても、動き補償して位置合わせを行うようにしているので、レンズ歪みが生じたままの画像であっても、良好な動き補償をすることができる。
【０３８７】
そして、この実施形態の加算ＮＲ処理では、例えば１枚目の画像フレームを基準として重ね合わせて加算ＮＲ画像が得られ、加算ＮＲ処理した後のレンズ歪み補正を、当該基準画像フレームに存在していたレンズ歪みのみとすることができる。このため、加算ＮＲ画像に対するレンズ歪みを良好に補正することができるという効果がある。
【０３８８】
また、実施形態における加算ＮＲ処理においては、ターゲットブロック毎に背景一致度合いの指標値であるヒット率βを用いて、静止画像部分では、加算率αを大きくすることができる。このため、ＮＲ画像として、ノイズ低減効果が大きい画像が得られるという顕著な効果を奏する。
【０３８９】
また、動被写体部分では、加算率αが小さくされて加算されないようにされるので、動き部分が２重露光のような状態となってしまうことが軽減されるという効果もある。
【０３９０】
［他の実施形態および変形例］
加算ＮＲ処理としては、上述したターゲット画像が常に加算ＮＲ画像となるターゲット加算方式の他に、参照画像を常にＮＲ画像にする参照加算方式があり、この参照加算方式にも、この発明は、適用することが可能である。
【０３９１】
また、上述の実施形態は、複数枚の画像を用いて行う処理として加算ＮＲ処理の場合を例に説明した。しかし、この発明は、複数枚の画像を用いて超高解像度の１枚の画像を生成する処理や、複数枚の画像を用いて高ダイナミックレンジ化を図った１枚の画像を生成する処理にも適用可能である。
【０３９２】
また、撮像光学系により画像に生じる画像歪みは、上述した撮像レンズの歪曲収差特性に基づくものに限らず、種々の画像歪み（色歪みを含む）に適用可能である。
【０３９３】
すなわち、例えば、撮像レンズを有する撮像光学系で発生する収差の例として、上述した歪曲収差の他に、レンズの色収差がある。レンズの屈折率は、光の波長によって、すなわち、色によって異なる。このため、同じレンズを用いても、波長によって焦点距離が異なるために、像の大きさと位置に差が生じる。これがレンズの色収差である。
【０３９４】
この色収差には軸上色収差と倍率色収差とに分けることができ、そのうち、軸上色収差とはレンズの焦点距離が波長により異なるために、色によって結像面の位置が前後にずれることである。このため、画像はぼけたようになる。
【０３９５】
また、倍率色収差は色によって像の倍率が異なり、結像面での像の大きさが異なることである。例えば白色点光源を撮影したとき、特に画面に周辺部において虹色に色づいて放射状に伸びるように見える画像歪みが生じる。この倍率色収差については、画像データについて、ソフトウエア処理により、補正する手法が種々提案されている。
【０３９６】
この撮像レンズの色収差（倍率色収差）の補正を画像データに対して施す場合も、従来は、全ての撮像画像について、補正を施すようにするが、この倍率色収差の補正についても、この発明を適用することができる。
【０３９７】
すなわち、例えば加算ＮＲ処理の例の場合であれば、加算ＮＲ処理する前の撮像画像のそれぞれに倍率色収差の補正を施すのではなく、加算ＮＲ処理した後の出力画像に対して、色収差の補正処理を施すようにするものである。
【０３９８】
なお、このレンズの色収差による画像歪み（色歪み）を補正する手法としては、例えば特許文献４（特開２０００−２９９８７４号公報）に記載の手法を用いることができ、ここでは、その詳細な説明は省略する。
【０３９９】
なお、上述の実施形態は、画像処理装置が撮像装置の場合であるが、この発明が適用される画像処理装置は、撮像装置に組み込まれたものに限らないことは言うまでもない。
【符号の説明】
【０４００】
１…ＣＰＵ、４…画像メモリ部、１６…レンズ歪み補正部、２０…加算ＮＲ処理部、２１…動きベクトル算出部、２２…動き補償画生成部、２３…加算部、２４…加算率計算部
【図１】
2010183127.tif 000003
【図２】
2010183127.tif 000004
【図３】
2010183127.tif 000005
【図４】
2010183127.tif 000006
【図５】
2010183127.tif 000007
【図６】
2010183127.tif 000008
【図７】
2010183127.tif 000009
【図８】
2010183127.tif 000010
【図９】
2010183127.tif 000011
【図１０】
2010183127.tif 000012
【図１２】
2010183127.tif 000013
【図１３】
2010183127.tif 000014
【図１４】
2010183127.tif 000015
【図１５】
2010183127.tif 000016
【図１６】
2010183127.tif 000017
【図１７】
2010183127.tif 000018
【図１８】
2010183127.tif 000019
【図１９】
2010183127.tif 000020
【図２０】
2010183127.tif 000021
【図２１】
2010183127.tif 000022
【図２２】
2010183127.tif 000023
【図２３】
2010183127.tif 000024
【図２４】
2010183127.tif 000025
【図２５】
2010183127.tif 000026
【図２６】
2010183127.tif 000027
【図２７】
2010183127.tif 000028
【図２８】
2010183127.tif 000029
【図２９】
2010183127.tif 000030
【図３０】
2010183127.tif 000031
【図３１】
2010183127.tif 000032
【図３２】
2010183127.tif 000033
【図３３】
2010183127.tif 000034
【図３４】
2010183127.tif 000035
【図３５】
2010183127.tif 000036
【図３６】
2010183127.tif 000037
【図３７】
2010183127.tif 000038
【図３８】
2010183127.tif 000039
【図３９】
2010183127.tif 000040
【図４０】
2010183127.tif 000041
【図４１】
2010183127.tif 000042
【図４２】
2010183127.tif 000043
【図１１】
2010183127.tif 000044