(57)【要約】【課題】被写体が大部分を占める場合にもＮＲ効果を挙げつつ、正確性の低い動き補償画像がターゲット画像に加算されてしまう可能性を低減する。【解決手段】撮像装置１０は、ターゲットブロック毎にローカル動きベクトルとして算出するとともに、ローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値をターゲットブロック毎に算出する動きベクトル算出部と、ローカル動きベクトルに基づいて参照ブロックを動き補償した動き補償ブロックをターゲットブロック毎に生成することにより、動き補償画像を生成する動き補償画像生成部と、動き補償画像とターゲット画像との相関性をターゲットブロック毎に判定する相関性判定部と、相関性と指標値とに基づいて、ターゲット画像と動き補償画像とを加算する加算部と、を備える。【選択図】図１
2012142828.tif 000002
【特許請求の範囲】
【請求項１】
参照画像のターゲット画像に対する動きをターゲットブロック毎にローカル動きベクトルとして算出するとともに、ローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値を前記ターゲットブロック毎に算出する動きベクトル算出部と、
前記動きベクトル算出部により算出された前記ローカル動きベクトルに基づいて参照ブロックを動き補償した動き補償ブロックを前記ターゲットブロック毎に生成することにより、動き補償画像を生成する動き補償画像生成部と、
前記動き補償画像生成部により生成された前記動き補償画像と前記ターゲット画像との相関性を前記ターゲットブロック毎に判定する相関性判定部と、
前記相関性判定部により判定された前記相関性と前記動きベクトル算出部により算出された前記指標値とに基づいて、前記ターゲット画像と前記動き補償画像とを加算する加算部と、
を備える、画像処理装置。
【請求項２】
前記画像処理装置は、
前記相関性判定部により判定された前記相関性と前記動きベクトル算出部により算出された前記指標値とに基づいて加算率を算出する加算率計算部をさらに備え、
前記加算部は、
前記加算率計算部により算出された前記加算率に基づいて、前記ターゲット画像と前記動き補償画像とを加算する、
請求項１に記載の画像処理装置。
【請求項３】
前記加算率計算部は、
前記相関性が第１閾値よりも大きい場合であり、かつ、前記指標値が第２閾値よりも大きい場合には、前記相関性を一定とした場合に、前記指標値の上昇に伴って前記加算率を上昇させる、
請求項２に記載の画像処理装置。
【請求項４】
前記加算率計算部は、
前記相関性が第１閾値よりも小さい場合であり、かつ、前記指標値が第２閾値よりも大きい場合には、前記相関性が前記第１閾値よりも大きい場合であり、かつ、前記指標値が前記第２閾値よりも大きい場合と比較して、前記相関性を一定とした場合に、前記指標値の増加に伴う前記加算率の上昇を抑制させる、
請求項３に記載の画像処理装置。
【請求項５】
前記加算率計算部は、
前記相関性が第１閾値よりも大きい場合であり、かつ、前記指標値が第２閾値よりも大きい場合には、前記指標値を一定とした場合に、前記相関性に関わらず前記加算率を一定とする、
請求項１に記載の画像処理装置。
【請求項６】
前記加算率計算部は、
前記相関性が第１閾値よりも大きい場合であり、かつ、前記指標値が第２閾値よりも小さい場合には、前記指標値を一定とした場合に、前記相関性の上昇に伴って前記加算率を上昇させる、
請求項５に記載の画像処理装置。
【請求項７】
参照画像のターゲット画像に対する動きをターゲットブロック毎にローカル動きベクトルとして算出するとともに、ローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値を前記ターゲットブロック毎に算出するステップと、
前記ローカル動きベクトルに基づいて参照ブロックを動き補償した動き補償ブロックを前記ターゲットブロック毎に生成することにより、動き補償画像を生成するステップと、
前記動き補償画像と前記ターゲット画像との相関性を前記ターゲットブロック毎に判定するステップと、
前記相関性と前記指標値とに基づいて、前記ターゲット画像と前記動き補償画像とを加算するステップと、
を含む、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関し、特に、画像に含まれるノイズを低減する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
画像の撮影において、連続して撮影された複数の画像（フレーム）を重ね合わせて、ノイズが低減された画像を得る技術が知られている。例えば、処理対象となる画像（ターゲット画像）に、ターゲット画像の前または後に連続して撮影され、動き検出および動き補償によって位置合わせされた複数の画像（参照画像）を重ね合わせた場合、略同一の画像が時間方向で積分されることになるため、各画像にランダムに含まれるノイズが相殺され、結果としてノイズが低減される。以下、このような方法によるノイズ低減（ＮＲ：Noise  Reduction）を、フレームＮＲという。
【０００３】
前記動き補償の方法は様々であるが、1画素ごとに動き補償をすると処理時間およびコストが大きいので、画像を複数個のブロックに分割してブロックごとに動き補償を行う方法がある。また、前記分割されたブロックごとに動きベクトルを算出すれば、動きベクトルが求まると同時に動き補償ブロックを生成することができる。
【０００４】
ここで、ターゲット画像内に設定された多数のターゲットブロックの画像内容との相関が最も強いとして検出された参照ブロックの位置は、参照画像におけるターゲットブロックの位置（動いた後の位置）として検出される。検出された参照ブロックは、動き補償ブロックと認識される。検出された動き補償ブロックの位置と、ターゲットブロックの位置との間の位置ずれ量は、方向成分を含む量としての動きベクトル（ローカル動きベクトル）として検出され得る。
【０００５】
従来、２画像間の画像全体に加わっている変形を表わすグローバルモーションを算出することが行なわれている。このグローバルモーションの算出方法は、複数フレーム間の画像情報を用いて計算する方法や、ジャイロ素子など画像情報以外の情報を元に算出する方法がある。グローバルモーションは、通常は、画像の静止画部分としての背景の動きおよび動き量を示すものとなる。
【０００６】
グローバルモーションを用いた技術としては、例えば、画像内における背景静止画部分と動被写体部分を分離し、グローバルモーションから生成したグローバル動きベクトルと一致したローカル動きベクトルを用いて動き補償画像（ＭＣ画像）を生成し、動き補償画像とターゲット画像とを重ね合わせる技術について開示されている（例えば、特許文献１参照）。この技術では、グローバル動きベクトルとローカル動きベクトルとの一致度合いをＧＭＶ（グローバル動きベクトル）ヒット率（単に、「ヒット率」と言う場合もある。）として使用している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２９０８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記した技術には、例えば、撮影領域内に背景が大部分を占める場合（例えば、夜景撮影を行った場合など）には、高いＮＲ効果を得ることができるが、撮影領域内に被写体が大部分を占める場合などには、ＮＲ効果を挙げることが難しいという問題があった。これは、例えば、上記した技術によれば、ＧＭＶヒット率が低い場合には一律的にターゲット画像に対する動き補償画像の加算を積極的に行わないこととしていることが要因の１つである。したがって、ＧＭＶヒット率が高くなり易い背景については加算が積極的に行われる一方、ＧＭＶヒット率が低くなり易い被写体（以下、「動体」とも言う。）については、ターゲット画像と動き補償画像との相関性が高い場合であっても加算が行われず、高いＮＲ効果を期待できない。
【０００９】
また、撮影領域内に存在する物体が影に隠れてしまった場合や変形した場合など、正確性の高い動き補償画像が存在しない場合にも関わらず、ＧＭＶヒット率が高く算出された場合などには、正確性の低い動き補償画像がターゲット画像に加算されてしまい、透けやボケのある画像が生成されてしまうという問題があった。これは、例えば、上記した技術によれば、特徴点がない領域は背景に相当し、特徴点がある領域は被写体に相当するという近似が行われるため、特徴点がない被写体については背景と認識され、グローバル動きベクトルを用いた動き補償画像がターゲット画像に対して積極的に加算されてしまうことが要因の１つである。
【００１０】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、被写体が大部分を占める場合にもＮＲ効果を挙げつつ、正確性の低い動き補償画像がターゲット画像に加算されてしまう可能性を低減することが可能な、新規かつ改良された画像処理装置および画像処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のある観点によれば、参照画像のターゲット画像に対する動きをターゲットブロック毎にローカル動きベクトルとして算出するとともに、ローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値を上記ターゲットブロック毎に算出する動きベクトル算出部と、上記動きベクトル算出部により算出された上記ローカル動きベクトルに基づいて参照ブロックを動き補償した動き補償ブロックを上記ターゲットブロック毎に生成することにより、動き補償画像を生成する動き補償画像生成部と、上記動き補償画像生成部により生成された上記動き補償画像と上記ターゲット画像との相関性を上記ターゲットブロック毎に判定する相関性判定部と、上記相関性判定部により判定された上記相関性と上記動きベクトル算出部により算出された上記指標値とに基づいて、上記ターゲット画像と上記動き補償画像とを加算する加算部と、を備える、画像処理装置が提供される。
【００１２】
上記画像処理装置は、上記相関性判定部により判定された上記相関性と上記動きベクトル算出部により算出された上記指標値とに基づいて加算率を算出する加算率計算部をさらに備え、上記加算部は、上記加算率計算部により算出された上記加算率に基づいて、上記ターゲット画像と上記動き補償画像とを加算することとしてもよい。
【００１３】
上記加算率計算部は、上記相関性が第１閾値よりも大きい場合であり、かつ、上記指標値が第２閾値よりも大きい場合には、上記相関性を一定とした場合に、上記指標値の上昇に伴って上記加算率を上昇させることとしてもよい。
【００１４】
上記加算率計算部は、上記相関性が第１閾値よりも小さい場合であり、かつ、上記指標値が第２閾値よりも大きい場合には、上記相関性が上記第１閾値よりも大きい場合であり、かつ、上記指標値が上記第２閾値よりも大きい場合と比較して、上記相関性を一定とした場合に、上記指標値の増加に伴う上記加算率の上昇を抑制させることとしてもよい。
【００１５】
上記加算率計算部は、上記相関性が第１閾値よりも大きい場合であり、かつ、上記指標値が第２閾値よりも大きい場合には、上記指標値を一定とした場合に、上記相関性に関わらず上記加算率を一定とすることとしてもよい。
【００１６】
上記加算率計算部は、上記相関性が第１閾値よりも大きい場合であり、かつ、上記指標値が第２閾値よりも小さい場合には、上記指標値を一定とした場合に、上記相関性の上昇に伴って上記加算率を上昇させることとしてもよい。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、参照画像のターゲット画像に対する動きをターゲットブロック毎にローカル動きベクトルとして算出するとともに、ローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値を上記ターゲットブロック毎に算出するステップと、上記ローカル動きベクトルに基づいて参照ブロックを動き補償した動き補償ブロックを上記ターゲットブロック毎に生成することにより、動き補償画像を生成するステップと、上記動き補償画像と上記ターゲット画像との相関性を上記ターゲットブロック毎に判定するステップと、上記相関性と上記指標値とに基づいて、上記ターゲット画像と上記動き補償画像とを加算するステップと、を含む、画像処理方法が提供される。
【発明の効果】
【００１８】
以上説明したように本発明によれば、被写体が大部分を占める場合にもＮＲ効果を挙げつつ、正確性の低い動き補償画像がターゲット画像に加算されてしまう可能性を低減することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る撮像装置の機能構成を示すブロック図である。
【図２】本発明の実施形態におけるブロックマッチングについての説明図である。
【図３】本発明の実施形態におけるフレームＮＲ処理の概念図である。
【図４】本発明の実施形態における階層化ブロックマッチングについての説明図である。
【図５】本発明の実施形態に係る撮像装置における動き補償部の機能構成を示すブロック図である。
【図６】本発明の実施形態に係る撮像装置において動き補償部に含まれるターゲットブロックバッファ部の機能構成を示すブロック図である。
【図７】本発明の実施形態に係る撮像装置において動き補償部に含まれる参照ブロックバッファ部の機能構成を示すブロック図である。
【図８】本発明の実施形態に係る撮像装置における画像重ね合わせ部の機能構成を示すブロック図である。
【図９】本発明の実施形態に係る撮像装置により実行される主要な処理の流れを示すフローチャートである。
【図１０】本発明の実施形態におけるＳＡＤテーブルの内容を示す図である。
【図１１】本発明の実施形態における背景一致度合い評価処理の流れを示すフローチャートである。
【図１２】本発明の実施形態における背景一致度合い評価処理の流れを示すフローチャートの続きである。
【図１３】本発明の実施形態における加算率計算部のハードウェア構成例を示す図である。
【図１４】本発明の実施形態における加算率計算部のハードウェア構成例を示す図である。
【図１５】本発明の実施形態における画素値の輝度値とノイズ標準偏差との関係について示す図である。
【図１６】本発明の実施形態におけるノイズ標準偏差と差分値と加算率との関係の一例を示す図である。
【図１７】本発明の実施形態におけるノイズ標準偏差と差分値と加算率との関係の一例を示す図である。
【図１８】本発明の実施形態におけるノイズ標準偏差と差分値と加算率との関係の一例を示す図である。
【図１９】本発明の実施形態における分散値の段階幅と加算率との関係の一例を示す図である。
【図２０】本発明の実施形態におけるヒット率とゲインと分散値の段階幅との関係の一例を示す図である。
【図２１】基礎加算率とＮＲ効果との関係の一例を示す図である。
【図２２】本発明の実施形態における平均値と分散値とを使用して、相関性フラグに値を設定する手法の一例を示す図である。
【図２３】本発明の実施形態におけるヒット率および相関性フラグと加算率との関係を示す図である。
【図２４】本発明の実施形態におけるヒット率および相関性フラグと加算率との関係の一例を示す図である。
【図２５】本発明の実施形態におけるブロックマッチングから加算処理までの流れを示すフローチャートである。
【図２６】本発明の実施形態におけるターゲット画像と動き補償画像との重ね合わせの一例を説明するための図である。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２１】
なお、説明は以下の順序で行うものとする。
１．実施形態
１−１．撮像装置の全体構成
１−２．フレームＮＲ処理について
１−３．階層化ブロックマッチング処理について
１−４．フレームＮＲ処理の詳細
２．まとめ
【００２２】
＜１．実施形態＞
＜１−１．撮像装置の全体構成＞
まず、本発明の実施形態に係る撮像装置の構成について説明する。本発明の実施形態において、撮像装置は、画像処理装置の一例に相当するものである。
【００２３】
図１は、本発明の実施形態に係る撮像装置１０の機能構成を示すブロック図である。撮像装置１０は、静止画または動画を撮像してデジタル方式の画像データとして記録媒体に記録する機能を有する、例えばデジタルカメラなどの任意の電子機器でありうる。
【００２４】
図１を参照すると、撮像装置１０は、制御部１、操作部３、メモリ４、ストレージ５、撮像光学系１０Ｌ、タイミングジェネレータ１２、撮像素子１１、信号処理部１３、ＲＡＷ／ＹＣ変換部１４、動き補償部１６、画像重ね合わせ部１７、静止画コーデック１８、動画コーデック１９、ＮＴＳＣエンコーダ２０、およびディスプレイ６を含む。これらの各構成要素は、システムバス２を介して相互に接続される。
【００２５】
制御部１は、撮像装置１０の各部の動作を制御する。制御部１は、メモリ４に格納されたプログラムに基づいて動作することによって、制御のために必要な各種の演算処理を実行するＣＰＵ（Central  Processing  Unit）でありうる。制御部１は、演算処理のための一時格納領域としてメモリ４を用いてもよい。なお、制御部１が動作するためのプログラムは、メモリ４に予め書き込まれたものであってもよく、ディスク状記録媒体またはメモリカードなどのリムーバブル記憶媒体に格納されて撮像装置１０に提供されるものであってもよい。また、制御部１が動作するためのプログラムは、ＬＡＮ（Local  Area  Network）、インターネット等のネットワークを介して撮像装置１０にダウンロードされるものであってもよい。
【００２６】
操作部３は、撮像装置１０を操作するためのユーザインターフェースとして機能する、操作部３は、例えば、撮像装置１０の外装に設けられたシャッターボタンなどの操作ボタン、タッチパネル、またはリモートコントローラなどでありうる。操作部３は、ユーザの操作に基づいて、撮像装置１０の起動および停止、静止画もしくは動画の撮影開始および終了、または撮像装置１０の各種機能の設定などの操作信号を制御部１に出力しうる。
【００２７】
メモリ４には、撮像装置１０の処理に関するデータが格納される。メモリ４は、例えば、フラッシュＲＯＭ（Read  Only  Memory）またはＤＲＡＭ（Dynamic  Random  Access  Memory）などの半導体メモリでありうる。メモリ４には、例えば、制御部１が用いるプログラム、および画像処理機能によって処理される画像信号が、一時的または継続的に格納されうる。メモリ４に格納される画像信号は、例えば、後述する基底面および縮小面のターゲット画像、参照画像、およびＮＲ画像でありうる。
【００２８】
ストレージ５には、撮像装置１０によって撮影された画像が、画像データとして格納される。ストレージ５は、例えば、フラッシュＲＯＭなどの半導体メモリ、ＢＤ（Blu-ray  Disc）、ＤＶＤ（Digital  Versatile  Disc）、もしくはＣＤ（Compact  Disc）などの光ディスク、またはハードディスクなどでありうる。ストレージ５は、撮像装置１０に内蔵される記憶装置であってもよく、メモリカードなどの撮像装置１０に着脱可能なリムーバブルメディアであってもよい。
【００２９】
撮像光学系１０Ｌは、フォーカスレンズ、ズームレンズ等の各種レンズ、光学フィルタ、および絞りなどの光学部品からなる。被写体から入射された光学像（被写体像）は、撮像光学系１０Ｌにおける各光学部品を介して、撮像素子１１の露光面に結像される。
【００３０】
タイミングジェネレータ１２は、制御部１の指示に従って、垂直転送のための４相パルス、フィールドシフトパルス、水平転送のための２相パルス、シャッタパルスなどの各種パルスを生成して撮像素子１１に供給する。
【００３１】
撮像素子（イメージセンサ）１１は、例えば、ＣＣＤ（Charge  Coupled  Device）またはＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの固体撮像素子で構成される。撮像素子１１は、タイミングジェネレータ１２からの動作パルスによって駆動され、撮像光学系１０Ｌから導かれた被写体像を光電変換する。これによって、撮像画像を表す画像信号が、信号処理部１３に出力される。ここで出力される画像信号は、タイミングジェネレータ１２からの動作パルスに同期した信号であって、赤（Ｒ）、緑（Ｇ）、および青（Ｂ）の３原色から構成されるベイヤー配列のＲＡＷ信号（生の信号）である。
【００３２】
信号処理部１３以降の各部の画像処理機能は、例えばＤＳＰ（Digital  Signal  Processor）を用いて実現されうる。信号処理部１３は、撮像素子１１から入力された画像信号に、ノイズ除去、ホワイトバランス調整、色補正、エッジ強調、ガンマ補正、解像度変換などの画像信号処理を実行する。信号処理部１３は、デジタル画像信号をメモリ４に一時的に格納してもよい。ＲＡＷ／ＹＣ変換部１４は、信号処理部１３から入力されたＲＡＷ信号をＹＣ信号に変換して、動き補償部１６に出力する。ここで、ＹＣ信号は、輝度成分（Ｙ）、および赤／青の色差成分（Ｃｒ／Ｃｂ）を含む画像信号である。
【００３３】
動き補償部１６は、ターゲット画像および参照画像の画像信号をメモリ４から読み込む。動き補償部１６は、例えばブロックマッチングなどの処理によって、これらの画像の間の動きベクトル（ローカル動きベクトルＬＭＶ）を検出し、ターゲット画像と参照画像との間の動きを補償する。また、動き補償部１６は、ターゲットブロックについての背景一致度合いの評価を行なって、ヒット率βを生成する。さらに、動き補償部１６は、ターゲットブロックと動き補償ブロックとの相関性を判定して、相関性フラグを生成する。この実施形態では、動き補償部１６からは、ターゲット画像と、動き補償画像と、ヒット率βと、相関性フラグとが画像重ね合わせ部１７に出力される。
【００３４】
画像重ね合わせ部１７は、ヒット率βや相関性フラグに基づいて、ターゲット画像と動き補償画像とを重ね合わせ、重ね合わせた結果としてＮＲ画像を生成する。ＮＲ画像では、上述したフレームＮＲの効果によって、画像に含まれるノイズが低減されている。なお、動き補償部１６および画像重ね合わせ部１７の詳細については後述する。
【００３５】
静止画コーデック１８は、操作部３によって静止画撮影の指示が取得されている場合（静止画撮影時）に、ＮＲ処理後の画像信号をメモリ４から読み込み、例えばＪＰＥＧ（Joint  Photographic  Experts  Group）などの所定の圧縮符号化様式で圧縮して、画像データとしてストレージ５に格納する。また、静止画コーデック１８は、操作部３によって静止画再生の指示が取得されている場合（静止画再生時）に、画像データをストレージ５から読み込み、ＪＰＥＧなどの所定の圧縮符号化様式で伸張した画像信号をＮＴＳＣエンコーダ２０に提供してもよい。
【００３６】
動画コーデック１９は、操作部３によって動画撮影の指示が取得されている場合（動画撮影時）に、ＮＲ処理後の画像信号をメモリ４から読み込み、例えばＭＰＥＧ（Moving  Picture  Experts  Group）などの所定の圧縮符号化様式で圧縮して、画像データとしてストレージ５に格納する。また、動画コーデック１９は、操作部３によって動画再生の指示が取得されている場合（動画再生時）に、画像データをストレージ５から読み込み、ＭＰＥＧなど所定の圧縮符号化様式で伸張した画像信号をＮＴＳＣエンコーダ２０に提供してもよい。
【００３７】
ＮＴＳＣ（National  Television  System  Committee）エンコーダ１２１は、画像信号をＮＴＳＣ方式の標準カラー映像信号に変換して、ディスプレイ６に提供する。静止画撮影時または動画撮影時において、ＮＴＳＣエンコーダ２０は、ＮＲ処理後の画像信号をメモリ４から読み込み、スルー画像または撮影された画像としてディスプレイ６に提供してもよい。また、静止画再生時または動画再生時において、ＮＴＳＣエンコーダ２０は、静止画コーデック１８または動画コーデック１９から画像信号を取得し、再生画像としてディスプレイ６に提供してもよい。
【００３８】
ディスプレイ６は、ＮＴＳＣエンコーダ２０から取得した映像信号を表示する。ディスプレイ６は、例えば、ＬＣＤ（Liquid  Crystal  Display）または有機ＥＬ（Electro-Luminescence）ディスプレイなどでありうる。また、ＮＴＳＣエンコーダ２０から出力される映像信号は、図示しないＨＤＭＩ（High-Definition  Multimedia  Interface）などの通信部によって、撮像装置１０から外部に出力されてもよい。
【００３９】
＜１−２．フレームＮＲ処理について＞
次に、本発明の実施形態におけるフレームＮＲ処理について説明する。本実施形態に係る撮像装置１０において、フレームＮＲ処理は、主に、動き補償部１６および画像重ね合わせ部１７によって実行される。
【００４０】
上述のように、撮像装置１０においては、撮像素子１１によるセンサーコーディングによって生成されたＲＡＷ信号が、ＲＡＷ／ＹＣ変換部１４によってＹＣ信号に変換される。フレームＮＲは、ＲＡＷ信号に対して行われることが一般的である。しかし、ＲＡＷ信号に対するフレームＮＲでは、撮像装置１０の中で非常に大きなシステムリソースが使用される。そのため、本実施形態では、フレームＮＲをＹＣ信号に対して行うことによって、フレームＮＲで使用されるシステムリソースを抑制する。
【００４１】
図２は、本発明の実施形態におけるブロックマッチングについての説明図である。この実施形態では、図２に示すように、ターゲットフレーム１００を、例えば、６４画素×６４ラインのような、比較的小さい大きさのターゲットブロック１０２の複数個に分割する。そして、この複数個のターゲットブロックのそれぞれについての動きベクトル（ローカル動きベクトル）１０４Ｂを先ず求める。このとき、この実施形態では、求めたそれぞれのローカル動きベクトルの信頼性を示す指標を、併せて算出するようにする。
【００４２】
そして、ローカル動きベクトルの信頼性の指標から、ターゲットフレームについて求めた複数個のローカル動きベクトルの中から、信頼性の高いローカル動きベクトルのみを抽出する。次に、抽出した信頼性の高いローカル動きベクトルのみから、グローバルモーションを算出する。そして、算出したグローバルモーションを用いて、各ターゲットブロック単位のグローバル動きベクトルを算出する。しかしながら、この実施形態においては、グローバル動きベクトルの算出手法については、特に限定されるものではない。
【００４３】
そして、算出したグローバル動きベクトルと、ターゲットブロック毎のローカル動きベクトルとを比較して、その比較結果に基づいて、各ターゲットブロックが背景部分か、動被写体部分かを評価判定するようにする。この実施形態では、算出したグローバル動きベクトルと、ターゲットブロック毎のローカル動きベクトルとを比較して、両者の一致度合いを判定する。そして、その判定結果として、ターゲットブロック毎のローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値を算出する。この指標値を、この明細書ではヒット率と称する。
【００４４】
この実施形態では、ターゲットブロックについてのグローバル動きベクトルとローカル動きベクトルとの一致度合いを判定することができる。そして、一致度合いの評価の結果、一致度合いが高いと判定されたときには、当該ターゲットブロックについては、グローバル動きベクトルを、出力動きベクトルとして出力する。また、一致度合いが低いと判定されたときには、当該ターゲットブロックについては、ローカル動きベクトルを、出力動きベクトルとして出力する。この実施形態では、出力動きベクトルは、後段の処理用動きベクトル、この実施形態では、ＮＲ処理用動きベクトルである。
【００４５】
なお、グローバル動きベクトルとローカル動きベクトルとが全く一致したときには、グローバル動きベクトルとローカル動きベクトルのいずれを出力動きベクトルとしてもよいことは言うまでもない。そして、この実施形態では、上述のようにして得たターゲットブロック単位の出力動きベクトルを用いて、ターゲットフレームに対して、参照フレームをブロック単位で位置合わせを行い、動き補償画像（動き補償フレーム）を生成する。そして、ターゲットフレームと、動き補償フレームとを重ね合わせてＮＲ画像を生成するようにする。
【００４６】
図３は、本発明の実施形態におけるフレームＮＲ処理の概念図である。図３を参照すると、本実施形態におけるフレームＮＲ処理では、連続して撮影された複数の画像Ｐ１〜Ｐ３が、位置合わせ（動き補償）後に重ね合わせられて、ノイズが低減された画像Ｐｍｉｘになる。なお、上述のように、連続して撮影された複数の画像を重ね合わせた場合にノイズが低減されるのは、略同一の画像が時間方向で積分され、各画像にランダムに含まれるノイズが相殺されるためである。
【００４７】
図示された例において、重ね合わせられる複数の画像Ｐ１〜Ｐ３は、必ずしも３枚の画像でなくてもよく、２枚または４枚以上の画像であってもよい。例えば、本実施形態に係る撮像装置１０が静止画を撮影する場合、高速で連続して撮影された複数枚の画像のうち、１枚目の画像がターゲット画像になり、このターゲット画像に２枚目以降の画像が参照画像として順次重ね合わせられうる。また、撮像装置１０が動画を撮影する場合、順次撮影される連続したフレームの画像がそれぞれターゲット画像になり、これらのターゲット画像に、それぞれのターゲット画像の１つ前のフレームの画像が参照画像として重ね合わせられうる。つまり、あるフレームの画像は、ターゲット画像にもなりうるし、別のフレームの画像をターゲット画像とした場合の参照画像にもなりうる。
【００４８】
このように、連続して撮影された画像を重ねあわせるフレームＮＲの処理では、重ね合わせられるターゲット画像と参照画像との間での位置合わせ（動き補償）が重要になる。これらの画像には、例えば撮影者の手ぶれなどによる画像の位置ずれが生じている場合がある。また、それぞれの画像において、被写体自体が動いたことによる位置ずれが生じている場合もある。そこで、本実施形態におけるフレームＮＲでは、ターゲット画像を分割して生成される複数個のターゲットブロックのそれぞれについて、ブロック単位の動きベクトルを検出する。さらに、各ブロックについて、ブロック単位の動きベクトルを反映した動き補償をしてから、ターゲット画像と参照画像とを重ね合わせる。
【００４９】
ここで、ブロック単位の動きベクトルを検出する処理では、ターゲット画像の各ブロック（ターゲットブロック）について、参照画像の各ブロック（参照ブロック）の中から相関性が最も高いブロック（動き補償ブロック）が探索されるブロックマッチング法が用いられる。ブロック単位の動きベクトルは、ターゲットブロックと動き補償ブロックとの間の位置ずれとして求められる。ターゲットブロックと参照ブロックとの間の相関性の高さは、例えば、双方のブロック内の各画素の輝度値の差分絶対値総和（ＳＡＤ：Sum  of  Absolute  Difference）値によって評価されうる。
【００５０】
＜１−３．階層化ブロックマッチング処理について＞
一般的な従来のブロックマッチングにおける動きベクトル検出処理では、サーチ範囲内を、ピクセル単位（１ピクセル単位または複数ピクセル単位）で参照ブロックを移動させて、各移動位置における参照ブロックについてのＳＡＤ値を算出する。そして、その算出したＳＡＤ値の中から最小値を示すＳＡＤ値を検出し、当該最小ＳＡＤ値を呈する参照ブロック位置に基づいて動きベクトルを検出するようにする。
【００５１】
そして、この実施形態では、１フレームが多数のブロックに分割されるので、以上のブロックマッチング処理をターゲットブロックおよび参照ブロックを順次切り替えながら、全画面において処理を行う。これにより、ターゲットフレーム内の全てのターゲットブロックについてのローカル動きベクトルＬＭＶの算出を行う。
【００５２】
しかし、このような従来の動きベクトル検出処理では、サーチ範囲内をピクセル単位で参照ブロックを移動させるようにするので、検索するサーチ範囲に比例して、ＳＡＤ値を算出するマッチング処理回数が多くなって、マッチング処理時間が大きくなる。また、ＳＡＤテーブルの容量も大きくなるという問題があった。
【００５３】
特に、静止画像の高画素化、並びに動画像のＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）化が進み、１枚の画像サイズが非常に大きくなってきていることを考慮すると、この問題は大きい。また、システムバス２を介して画像メモリをアクセスする回数も多くなり、バス帯域を大きくしなければならなくなるという問題もある。
【００５４】
以上のことを考慮して、この実施の形態では、先ず、ターゲット画像（ターゲットフレーム）および参照画像（参照フレーム）を縮小した縮小画像と中間画像を用意する。そして、縮小画像、中間画像、原画画像の順に、ブロックマッチングによる動きベクトルサーチを、前段階でのブロックマッチングの結果を次段階におけるサーチに反映させて行うという階層化ブロックマッチングを行う。
【００５５】
この階層化ブロックマッチングを行うことで、演算量や処理時間を少なく、効率の良いローカル動きベクトルの算出を行うようにする。ここで、縮小画像のことを縮小面、中間画像のことを中間面、縮小化をしていない元の画像のことを基底面と呼ぶことにする。
【００５６】
図４は、この階層化ブロックマッチングを説明するための図である。図４の例においては、基底面ターゲットフレーム２０１および基底面参照フレーム３０１を、１／ａ・１／ｂ（１／ａ、１／ｂは、縮小倍率であって、ａ＞１、ｂ＞１である）に縮小して、縮小面ターゲットフレーム２１１および縮小面参照フレーム３１１を生成する。また、基底面ターゲットフレーム２０１および基底面参照フレーム３０１を、１／ｂに縮小して、中間面ターゲットフレーム２２１および中間面参照フレーム３２１を生成しておく。
【００５７】
縮小面や中間面の基底面に対する倍率は任意であるが、１／２〜１／８倍（画素数換算で１／４〜１／６４倍）の範囲が適当である。なお、図４に示した例では、中間面に対する縮小面の縮小倍率は１／４（すなわち、ａ＝４）、また、基底面に対する中間面の縮小倍率は１／４（すなわち、ｂ＝４）の場合として示している。
【００５８】
縮小面や中間面の作成にあたっても、その方法は任意である。しかし、単に、原画像の画素を、縮小倍率に応じて間引くだけで縮小面や中間面を作成する方法では、折り返し成分が発生し、１階層目（縮小面）で検出される動きベクトルが、正しいものから外れやすくなる。このため、通常、縮小倍率に応じたカットオフ周波数帯域を持つローパスフィルタを原画に対して施したのち、縮小倍率に応じたサブサンプリングを行う。
【００５９】
この実施形態では、倍率に応じたサブサンプリングにより消失する画素を含んだ、輝度平均値を生成し、それを縮小面画素や中間面画素としている。つまり、１／ａ縮小なら、ａ×ａ画素の正方領域の輝度平均値を算出し、これを縮小面画素や中間面画素の輝度値とする。この手法の場合、まず中間面を生成しておいてから、中間面から縮小面を生成しても、原画から直接縮小面を生成する場合と同じ結果が得られるため、より効率的である。
【００６０】
なお、縮小画像を得るに当たっては、水平方向の縮小率と垂直方向の縮小率は、上記のように同じであってよいし、また、異ならせても良い。
【００６１】
以上のようにして、縮小面および中間面を作成したら、先ず、縮小面ターゲットフレーム２１１に縮小面ターゲットブロック２１２を設定すると共に、縮小面参照フレーム３１１に縮小面サーチ範囲３１３を設定する。
【００６２】
そして、当該縮小面サーチ範囲３１３内の複数個の縮小面参照ブロック３１２について、縮小面の動きベクトル検出装置４０１で、上述したブロックマッチング処理を行い、最小ＳＡＤ値を呈する縮小面参照ブロック位置を検出する。この縮小面参照ブロック位置の検出に基づき、縮小面動きベクトルＭＶｓを検出する。この例では、動きベクトル検出装置４０１は、縮小面ターゲットブロック２１２の大きさ（水平方向の画素数×垂直方向のライン数）のブロックをブロックマッチング処理単位として処理を実行する。
【００６３】
縮小面動きベクトルＭＶｓの算出が終了したら、次に、縮小面ターゲットフレーム２１１をａ倍したものに等しい中間面ターゲットフレーム２２１において、中間面ターゲットブロック２２２を設定する。図４に示した例では、中間面の動きベクトル検出装置４０２は、縮小面の動きベクトル検出装置４０１におけるブロックマッチング処理単位と同じ大きさのブロックを中間面ターゲットブロックとしてブロックマッチング処理を行うようにしている。ここで、同じ大きさのブロックとは、同じピクセル数であって、同じ水平方向の画素数×同じ垂直方向のライン数からなるものである。
【００６４】
この例の場合、縮小面は中間面の１／ａであるので、縮小面ターゲットブロック２１２に対応する中間面ターゲットフレームにおける領域には、中間面ターゲットブロック２２２が、ａ個含まれることなる。したがって、その中間面ターゲットブロック２２２のａ個の全てが中間面の動きベクトル検出装置４０２におけるブロックマッチング処理対象として設定される。
【００６５】
そして、縮小面参照フレーム３１１をａ倍したものに等しい中間面参照フレーム３２１において、縮小面動きベクトルＭＶｓを中心とした中間面サーチ範囲３２３を設定する。この中間面サーチ範囲３２３内の複数個の中間面参照ブロック３２２について、動きベクトル検出装置４０２で、上述したブロックマッチング処理を行い、最小ＳＡＤ値を呈する中間面参照ブロック位置を検出することにより、中間面動きベクトルＭＶｍを検出する。
【００６６】
中間面の動きベクトル検出装置４０２では、ａ個の中間面ターゲットブロックのそれぞれについて、中間面サーチ範囲３２３内に設定したそれぞれの当該中間面ターゲットブロック用のサーチ範囲において、ブロックマッチング処理を実行する。これにより、それぞれの中間面ターゲットブロックについての動きベクトルの検出を行う。そして、それら複数個の動きベクトルのうち、最小のＳＡＤ値を呈する動きベクトルを、中間面における動きベクトル（中間面動きベクトル）ＭＶｍとして検出する。
【００６７】
縮小面動きベクトルＭＶｓの算出が終了したら、次に、中間面ターゲットフレーム２２１をｂ倍したものに等しい基底面ターゲットフレーム２０１において、基底面ターゲットブロック２０２を設定する。図４に示した例では、基底面の動きベクトル検出装置４０３も、動きベクトル検出装置４０１および４０２と同じ大きさ（同じピクセル数＝同じ水平方向の画素数×同じ垂直方向のライン数）のブロックを処理単位ブロックとしてブロックマッチング処理を行うようにしている。
【００６８】
そして、前述したように、中間面動きベクトルＭＶｍは、処理単位ブロックの単位で得られる。したがって、動きベクトル検出装置４０３で対象となる基底面ターゲットフレーム２０１における基底面ターゲットブロック２０２は、図４において、斜線を付して示すように、縮小面ターゲットブロックと同じ大きさのブロック（処理単位ブロック）のｂ倍の個数からなるものとして設定される。
【００６９】
一方、中間面参照フレーム３２１をｂ倍したものに等しい基底面参照フレーム３０１において、縮小面動きベクトルＭＶｓと中間面動きベクトルＭＶｍとの合成ベクトルを中心とした基底面サーチ範囲３０３を設定する。当該基底面サーチ範囲３０３内の複数個の基底面参照ブロック３０２について、動きベクトル検出装置４０３で、上述したブロックマッチング処理を行い、最小ＳＡＤ値を呈する基底面参照ブロック位置を検出することにより、基底面動きベクトルＭＶｂを検出する。
【００７０】
縮小面動きベクトルＭＶｓおよび中間面動きベクトルＭＶｍは、同じ大きさの処理単位ブロックの単位で得られる。このため、縮小面動きベクトルＭＶｓと中間面動きベクトルＭＶｍとの合成ベクトルを中心とした設定された基底面サーチ範囲３０３は、ｂ個の基底面ターゲットブロック２０２を含む領域よりも若干広い領域とされる。
【００７１】
動きベクトル検出装置４０３では、ｂ個の基底面ターゲットブロック２０２について、基底面サーチ範囲３０３内に設定したそれぞれの基底面ターゲットブロックについてのサーチ範囲において、ブロックマッチング処理を実行する。これにより、それぞれの基底面ターゲットブロックについての動きベクトルの検出を行う。そして、それら複数個の動きベクトルのうち、最小のＳＡＤ値を呈する動きベクトルを、基底面における動きベクトル（基底面動きベクトル）ＭＶｂとして検出する。
【００７２】
そして、以上のようにして求められた縮小面動きベクトルＭＶｓと、中間面動きベクトルＶＭｍと、基底面動きベクトルＶＭｂとの合成ベクトルとして、基底面ターゲットフレーム２０１と基底面参照フレーム３０１との間における基底面ターゲットブロックについてのローカル動きベクトルＬＭＶが検出される。
【００７３】
以上のような階層化ブロックマッチング処理を、ターゲットブロックおよび参照ブロックを順次切り替えながら、ターゲットフレームおよび参照フレームの全領域において、実行する。これにより、ターゲットフレーム内に設定した複数個のターゲットブロック単位の複数個のローカル動きベクトルＬＭＶの全てが算出される。図４に示した例で、動きベクトル検出装置４０１，４０２および４０３は、実際的には、１つの装置であって、メモリ４から読み出されて入力されるターゲットブロックと、サーチ範囲から読み出される参照ブロックとが異なるのみである。
【００７４】
なお、ターゲットブロックの切り替えは、基底面ターゲットフレーム２０１において、全ての基底面ターゲットブロック２０２についてのローカル動きベクトルＬＭＶを得るようにする場合には、次のようにする。すなわち、縮小面において、縮小面ターゲットブロックを、水平方向には、縮小倍率１／ａおよび１／ｂに応じた水平方向の画素数分ずつ、ずらして設定する。また、垂直方向には、縮小倍率１／ａおよび１／ｂに応じた垂直方向のライン数分ずつ、ずらして設定するようにすれば良い。
【００７５】
しかし、グローバルモーションを複数個のローカル動きベクトルＬＭＶから求めるという目的からすると、次のようにしても良い。すなわち、基底面ターゲットフレーム２０１における飛び飛びの位置の基底面ターゲットブロックについてのローカル動きベクトルＬＭＶを得るように、縮小面ターゲットブロックを、水平方向および垂直方向に、順次にずらして設定するようにしてもよい。
【００７６】
なお、上述した階層化ブロックマッチングは、中間面を省略し、縮小面と基底面のみの２階層で行っても良いし、逆に、中間面の階層が複数存在しても構わない。ただし、縮小倍率が大き過ぎて、動被写体と背景が同じ単位ブロックに含まれてしまう場合には、注意が必要である。すなわち、本来は異なる動きベクトルとして検出されるべきものが、１つの動きベクトルとして扱われてしまい、以降の階層ではリカバリが効かないため、縮小倍率の選定は慎重に行われる必要がある。
【００７７】
＜１−４．フレームＮＲ処理の詳細＞
次に、本発明の実施形態におけるフレームＮＲ処理の詳細について、動き補償部１６、および画像重ね合わせ部１７の機能の詳細とともに説明する。
【００７８】
（動き補償部の詳細）
図５は、本発明の実施形態に係る撮像装置１０における動き補償部１６の機能構成を示すブロック図である。図５を参照すると、動き補償部１６は、ターゲットブロックバッファ部１６１、参照ブロックバッファ部１６２、マッチング処理部１６３、動きベクトル算出部１６４、コントロール部１６５、動き補償画像生成部１６６、および相関性判定部１６７を含む。これらの各部を含む動き補償部１６は、例えばＤＳＰを用いて実現されうる。
【００７９】
ここで、図６を参照して、ターゲットブロックバッファ部１６１について説明する。図５は、本発明の実施形態に係る撮像装置１０において動き補償部１６に含まれるターゲットブロックバッファ部１６１の機能構成を示すブロック図である。図６を参照すると、ターゲットブロックバッファ部１６１は、基底面バッファ部１６１１、縮小面バッファ部１６１２、および縮小化処理部１６１３を含む。
【００８０】
ターゲットブロックバッファ部１６１は、メモリ４、またはＲＡＷ／ＹＣ変換部１４から提供される基底面ターゲットフレーム２０１または縮小面ターゲットフレーム３０１の画素データを取得する。これらの画素データの取得元は、セレクタ１６１４によって切り替えられうる。例えば、ターゲットブロックバッファ部１６１は、静止画撮影時にはメモリ４から画素データを取得し、動画撮影時にはＲＡＷ／ＹＣ変換部１４から画素データを取得してもよい。なお、ここで取得される縮小面ターゲットフレーム３０１の画素データは、後述する画像重ね合わせ部１７に含まれる縮小面生成部１７４、または、ＲＡＷ／ＹＣ変換部１４によって生成され、メモリ４に格納されたものでありうる。
【００８１】
ターゲットブロックバッファ部１６１は、基底面バッファ部１６１１において、基底面ターゲットフレーム２０１の画素データを蓄積する。また、ターゲットブロックバッファ部１６１は、縮小面バッファ部１６１２において、縮小面ターゲットフレーム３０１の画素データを蓄積する。例えば、動画撮影時に、ＲＡＷ／ＹＣ変換部１４から取得される画素データに縮小面ターゲットフレーム３０１の画素データが含まれないような場合、ターゲットブロックバッファ部１６１は、縮小化処理部１６１３を用いて、基底面ターゲットフレーム２０１の画素データから縮小面ターゲットフレーム３０１の画素データを生成する。縮小化処理部１６１３を用いるか否かは、セレクタ１６１５によって切り替えられうる。
【００８２】
ターゲットブロックバッファ部１６１は、相関性判定部１６７、およびマッチング処理部１６３に、基底面ターゲットフレーム２０１または縮小面ターゲットフレーム３０１の画素データを提供する。相関性判定部１６７には、基底面バッファ部１６１１に蓄積された基底面ターゲットフレーム２０１の画素データが提供される。マッチング処理部１６３には、縮小面でのブロックマッチング処理時は縮小面バッファ部１６１２に蓄積された縮小面ターゲットフレーム３０１の画素データが、基底面でのブロックマッチング処理時には基底面バッファ部１６１１に蓄積された基底面ターゲットフレーム２０１の画素データが、それぞれ提供される。マッチング処理部１６３に提供される画素データは、セレクタ１６１６によって切り替えられうる。
【００８３】
続いて、図７を参照して、参照ブロックバッファ部１６２について説明する。図７は、本発明の実施形態に係る撮像装置１０において動き補償部１６に含まれる参照ブロックバッファ部１６２の機能構成を示すブロック図である。図７を参照すると、参照ブロックバッファ部１６２は、基底面バッファ部１６２１、および縮小面バッファ部１６２２を含む。
【００８４】
参照ブロックバッファ部１６２は、メモリ４から、縮小面マッチング処理範囲および基底面マッチング処理範囲の画素データを取得する。取得された縮小面マッチング処理範囲および基底面マッチング処理範囲の画素データは、それぞれ基底面バッファ部１６２１および縮小面バッファ部１６２２に蓄積される。
【００８５】
また、参照ブロックバッファ部１６２は、動き補償画像生成部１６６、およびマッチング処理部１６３に、基底面または縮小面の参照ブロックの画素データを提供する。動き補償画像生成部１６６には、基底面バッファ部１６２１に蓄積された基底面マッチング処理範囲の画素データのうち、動き補償ブロックとして特定された範囲の画素データが提供される。マッチング処理部１６３には、縮小面でのブロックマッチング処理時は、縮小面バッファ部１６２２に蓄積された縮小面マッチング処理範囲の画素データのうち、ブロックマッチング処理で用いられる縮小面参照ブロックの画素データが提供される。また、基底面でのブロックマッチング処理時は、基底面バッファ部１６２１に蓄積された基底面マッチング処理範囲の画素データのうち、ブロックマッチング処理で用いられる基底面参照ブロックの画素データが提供される。なお、マッチング処理部１６３に提供される画素データは、セレクタ１６２３によって切り替えられる。
【００８６】
再び図４を参照する。マッチング処理部１６３は、ターゲットブロックと参照ブロックとの間の相関の強さを検出するブロックマッチングの処理を実行する。ターゲットブロックと参照ブロックとの間の相関の強さは、例えば、各画素の輝度信号のＳＡＤ値を用いて評価されうる。ターゲットブロックと参照ブロックとの間の相関の強さは、各画素の色差信号などの他の情報を用いて評価されてもよい。また、演算量の削減のために、演算の対象とする画素が間引かれてもよい。
【００８７】
動きベクトル算出部１６４は、参照画像のターゲット画像に対する動きをターゲットブロック毎にローカル動きベクトルとして算出する。具体的には、例えば、動きベクトル算出部１６４は、マッチング処理部１６３におけるブロックマッチングの処理結果に基づいて、ローカル動きベクトルを取得する。動きベクトル算出部１６４は、例えば、マッチング処理部１６３によって算出されたＳＡＤ値の最小値を検出および保持し、さらに、ＳＡＤ値が最小である参照ブロックの近傍の複数の参照ブロックのＳＡＤ値を保持して、二次曲線近似補間処理によって、サブピクセル精度の高精度のローカル動きベクトルを検出してもよい。
【００８８】
また、動きベクトル算出部１６４は、ローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値をターゲットブロック毎に算出する。具体的には、例えば、動きベクトル算出部１６４は、ターゲットブロックについての背景一致度合いの評価を行なって、ヒット率βを生成する。また、動きベクトル算出部１６４は、グローバル動きベクトルとローカル動きベクトルとに基づいて、ＮＲ処理用動きベクトルを算出する。動きベクトル算出部１６４からは、ヒット率βが画像重ね合わせ部１７に出力され、ＮＲ処理用動きベクトルが動き補償画像生成部１６６に出力される。ＮＲ処理用動きベクトルの算出手法の例については、後述する。
【００８９】
コントロール部１６５は、動き補償部１６の各部を制御する。コントロール部１６５は、例えば、ターゲットブロックバッファ部１６１に含まれるセレクタ１６１４〜１６１６、および参照ブロックバッファ部１６２に含まれるセレクタ１６２３を制御する。また、コントロール部１６５は、ターゲットブロックバッファ部１６１および参照ブロックバッファ部１６２によって提供される画素データに応じて、縮小面または基底面でのブロックマッチング処理を実行するようにマッチング処理部１６３を制御してもよい。
【００９０】
動き補償画像生成部１６６は、動きベクトル算出部１６４により算出されたローカル動きベクトルに基づいて参照ブロックを動き補償した動き補償ブロックをターゲットブロック毎に生成する。動き補償画像生成部１６６は、かかる処理を行うことにより、動き補償画像を生成することができる。具体的には、例えば、動き補償画像生成部１６６は、動きベクトル算出部１６４により算出されたローカル動きベクトルとグローバル動きベクトルとに基づいて生成されるＮＲ処理用動きベクトルに基づいて、動き補償ブロックをターゲットブロック毎に生成することができる。
【００９１】
さらに詳細には、例えば、動き補償画像生成部１６６は、参照ブロックに対して、ＮＲ処理用動きベクトルによりグローバルモーションに対応する処理、つまり、平行移動、回転、拡大縮小を伴う変形処理を施して、動き補償画像を生成することができる。動き補償画像生成部１６６からは、動き補償ブロック（動き補償画像）が相関性判定部１６７に出力される。
【００９２】
相関性判定部１６７は、動き補償画像生成部１６６により生成された動き補償画像とターゲット画像との相関性をターゲットブロック毎に判定する。相関性判定部１６７は、例えば、判定した相関性が設定された相関性フラグを生成することができる。相関性判定部１６７が有する機能の詳細については後述する。相関性判定部１６７からは、動き補償ブロック（動き補償画像）とターゲットブロック（ターゲット画像）と相関性フラグとが画像重ね合わせ部１７に出力される。
【００９３】
（画像重ね合わせ部の詳細）
図８は、本発明の実施形態に係る撮像装置１０における画像重ね合わせ部１７の機能構成を示すブロック図である。図８を参照すると、画像重ね合わせ部１７は、加算率計算部１７１、加算部１７２、基底面出力バッファ部１７３、縮小面生成部１７４、および縮小面出力バッファ部１７５を含む。これらの各部を含む画像重ね合わせ部１７は、例えばＤＳＰを用いて実現されうる。
【００９４】
加算率計算部１７１は、動き補償部１６から、基底面ターゲットブロックおよび動き補償ブロックの画素データを取得し、これらのブロックの加算率を算出する。加算率の算出手法の詳細については後述する。基底面ターゲットフレーム２０１と動き補償ブロック２０８とは、例えば、単純加算方式または平均加算方式などの加算方式によって加算されうる。加算率計算部１７１は、これらの加算方式に応じて加算率を算出しうる。加算率計算部１７１は、算出した加算率と、基底面ターゲットフレーム２０１および動き補償ブロック２０８の画素データとを、加算部１７２に提供する。
【００９５】
加算部１７２は、加算率計算部１７１から、基底面ターゲットブロックおよび動き補償ブロックの画素データと、これらのブロックの加算率とを取得する。加算部１７２は、基底面ターゲットブロックの画素データと動き補償ブロックの画素データとを、取得した加算率で加算し、フレームＮＲの効果によってノイズが低減された基底面ＮＲブロックを生成する。加算部１７２は、基底面ＮＲブロックの画素データを、基底面出力バッファ部１７３および縮小面生成部１７４に提供する。
【００９６】
基底面出力バッファ部１７３は、加算部１７２から提供された基底面ＮＲブロックの画素データを蓄積し、基底面ＮＲ画像としメモリ４に提供する。
【００９７】
縮小面生成部１７４は、加算部１７２から提供された基底面ＮＲブロックの画素データを縮小して、縮小面ＮＲブロックの画素データを生成する。縮小面生成部１７４は、縮小面ＮＲブロックの画素データを、縮小面出力バッファ部１７５に提供する。
【００９８】
縮小面出力バッファ部１７５は、縮小面生成部１７４から提供された縮小面ＮＲブロックの画素データを蓄積し、縮小面ＮＲ画像としてメモリ４に格納する。ここでメモリ４に格納された縮小面ＮＲ画像は、例えば、静止画撮影時に、フレームＮＲ後のターゲット画像にさらに参照画像を重ね合わせる場合、縮小面ターゲット画像として用いられうる。また、ここでメモリ４に格納された縮小面ＮＲ画像は、動画撮影時に、次のフレームをターゲット画像としてフレームＮＲを実行する場合、縮小面参照画像として用いられうる。
【００９９】
（画像重ね合わせ部の詳細）
図９は、本発明の実施形態に係る撮像装置１０により実行される主要な処理の流れを示すフローチャートである。図９を参照すると、先ず、動きベクトル算出部１６４は、ブロックマッチングによるローカル動きベクトルＬＭＶの検出を行なう（ステップＳ１０１）。次に、動きベクトル算出部１６４は、ターゲットブロック毎のグローバル動きベクトルＧＭＶを検出する（ステップＳ１０２）。
【０１００】
次に、動きベクトル算出部１６４は、ステップＳ１０１で検出されたローカル動きベクトルＬＭＶと、ステップＳ１０２で検出されたグローバル動きベクトルＧＭＶとに基づいて、ローカル動きベクトルＬＭＶとグローバル動きベクトルＧＭＶとの一致度合いを示すヒット率βを算出する（ステップＳ１０３）。具体的には、動きベクトル算出部１６４は、ステップＳ１０１で検出されたローカル動きベクトルＬＭＶと、ステップＳ１０２で検出されたグローバル動きベクトルＧＭＶとを比較することで、各ターゲットブロックについての背景一致度合いを評価し、ヒット率βを求める。
【０１０１】
そして、さらに、動きベクトル算出部１６４は、各ターゲットブロックについてのＮＲ処理用動きベクトルＭＶｎｒを定め、動き補償画像生成部１６６に出力する。このステップＳ１０３でのローカル動きベクトルＬＭＶとグローバル動きベクトルＧＭＶとの比較においては、動きベクトル算出部１６４は、例えば、ローカル動きベクトルＬＭＶに対応する参照ブロックについてのＳＡＤ値と、グローバル動きベクトルＧＭＶに対応する参照ブロックのついてのＳＡＤ値とを比較する。さらに、動きベクトル算出部１６４は、グローバル動きベクトルＧＭＶに対応する参照ブロックのついてのＳＡＤ値については、画像のノイズに応じた補正を加えるようにすることができる。
【０１０２】
次に、動き補償画像生成部１６６では、ＮＲ処理用動きベクトルＭＶｎｒを用いて、参照ブロック毎に動き補償ブロックを生成する（ステップＳ１０４）。これにより、動き補償画像が生成される。動き補償画像生成部１６６は、動き補償画像とターゲット画像とを相関性判定部１６７に出力する。相関性判定部１６７は、動き補償画像とターゲットブロックとの相関性をターゲットブロック毎に判定し、相関性を示す相関性フラグを生成する（ステップＳ１０５）。相関性判定部１６７は、動き補償画像とターゲット画像と生成した相関性フラグとを画像重ね合わせ部１７に出力する。
【０１０３】
次に、加算率計算部１７１は、ステップＳ１０３で求められたヒット率βとステップＳ１０５で生成された相関性フラグとを用いて、画素毎の加算率αを算出し、加算部１７２に供給する（ステップＳ１０６）。加算率計算部１７１は、算出した加算率αと動き補償画像とターゲットブロックとを加算部１７２に供給する。次に、加算部１７２は、ターゲット画像に、ステップＳ１０４で生成された動き補償画像を、ステップＳ１０６で算出された加算率αで画素毎に重ね合わせてＮＲ画像を生成する（ステップＳ１０７）。以上で、ＮＲ画像生成の処理は終了となる。加算率αを用いてターゲット画像に動き補償画像を画素毎に重ね合わせる手法の例については、後述する。
【０１０４】
なお、この図９は、あるターゲットフレームの１枚についての処理動作を示したものである。したがって、３枚以上の複数枚の画像を重ね合わせる場合には、生成したＮＲ画像をターゲットフレームとすると共に、新たに重ね合わせる画像を参照フレームとして、図９に示した処理を繰り返せばよい。
【０１０５】
（ＳＡＤ値とＧＭＶとの関係）
図１０は、横軸にサーチ範囲を取り、縦軸にＳＡＤ値を取ったときの、１個のターゲットブロックについてのＳＡＤテーブルの内容（ＳＡＤ値）を示す図である。横軸の各値は、参照ブロック位置（参照ベクトル）となり、実線がＳＡＤテーブルの内容を示すものとなる。この図１０において、最小ＳＡＤ値となる参照ブロックの位置（つまり参照ベクトル）は、ブロックマッチングによりローカル動きベクトルＬＭＶとして検出される。
【０１０６】
このとき、ローカル動きベクトルＬＭＶにおけるＳＡＤ値と、グローバル動きベクトルＧＭＶにおけるＳＡＤ値とが、画像のノイズ分に応じた差の範囲にあれば、グローバル動きベクトルＧＭＶが、最小ＳＡＤ値を取る参照ベクトルとなっている可能性がある。つまり、本来はグローバル動きベクトルＧＭＶ（参照ブロックの位置）でのＳＡＤ値が最小となるべきであったのに、ノイズのために、異なる参照ブロックの位置（これがローカル動きベクトルＬＭＶ）を最小として検出されてしまったとすることができる。
【０１０７】
そこで、この例では、画像のノイズ分に応じたオフセット値ＯＦＳを、グローバル動きベクトルＧＭＶでのＳＡＤ値に付加して補正することができる。この例の場合には、オフセット値ＯＦＳを、グローバル動きベクトルＧＭＶでのＳＡＤ値（ＳＡＤ＿ＧＭＶとする）から減算して補正する。すなわち、補正後のＳＡＤ値は、ＭｉｎＳＡＤ＿Ｇとすると、
【０１０８】
ＭｉｎＳＡＤ＿Ｇ＝ＳＡＤ＿ＧＭＶ−ＯＦＳ ・・・ （式１）
【０１０９】
となる。ここで、このオフセット値ＯＦＳは、あまり大きな値を設定すると、動被写体の動きベクトルまで、最小ＳＡＤ値として判定されるようになってしまう。そこで、この実施形態では、オフセット値ＯＦＳは、ローカル動きベクトルの信頼性の指標値Ｆｔについての閾値ｔｈよりも小さい値に設定される。ローカル動きベクトルの信頼性の指標値Ｆｔとしては、例えば、第２極小値と第１極小値（ＳＡＤ値の最小値）との差の値を用いることができる。信頼性の指標値Ｆｔが閾値ｔｈを超えているローカル動きベクトルは、例えば、信頼性の高いローカル動きベクトルとして抽出され、後述するようなグローバルモーションＧＭおよびグローバル動きベクトルＧＭＶの算出に用いられる。信頼性の指標値Ｆｔが閾値ｔｈ以下であるローカル動きベクトルは、例えば、信頼性の高くないローカル動きベクトルであるとして扱われる。
【０１１０】
そして、動きベクトル算出部１６４では、その補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇと、ローカル動きベクトルＬＭＶでのＳＡＤ値（ＭｉｎＳＡＤ）とを比較する。その比較の結果、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤであれば、当該ターゲットブロックについてのＳＡＤ値の最小値は、グローバル動きベクトルＧＭＶに対応する参照ブロックについてのＳＡＤ値の補正値であるＭｉｎＳＡＤ＿Ｇであると評価する。図１０は、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤである場合を示している。
【０１１１】
すなわち、図１０に示すように、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤとなる場合は、当該ターゲットブロックについての真のローカル動きベクトルは、グローバル動きベクトルＧＭＶに一致すると判定する。そして、その場合は、当該ターゲットブロックに対する背景一致度合いは高いと評価し、当該ターゲットブロックについてのヒット率βは大きな値とする。そして、当該ターゲットブロックについてのＮＲ処理用動きベクトルは、グローバル動きベクトルＧＭＶとする。
【０１１２】
ここで、この実施形態では、ヒット率βは、０≦β≦１の範囲の値とされる。ローカル動きベクトルＬＭＶと、グローバル動きベクトルＧＭＶとが全く一致したときには、ヒット率βは、β＝１とすることができる。しかし、この例では、ローカル動きベクトルＬＭＶと、グローバル動きベクトルＧＭＶとが全く一致しているかどうかの評価は行なわず、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇと、ローカル動きベクトルＬＭＶでのＳＡＤ値（ＭｉｎＳＡＤ）との比較で評価する。したがって、評価結果には、ローカル動きベクトルＬＭＶと、グローバル動きベクトルＧＭＶとが全く一致する場合も含まれるが、不一致の場合も含まれる。
【０１１３】
そして、後述するように、この実施形態では、ＭｉｎＳＡＤ＿Ｇ＜ＭｉｎＳＡＤであれば、ヒット率βは、例えば、β＝０．７５とする。ここで、β＝１としなかったのは、上述のように、上記比較結果には、ローカル動きベクトルＬＭＶとグローバル動きベクトルＧＭＶとが不一致の場合が含まれるからである。
【０１１４】
（背景／動被写体判定処理の流れ）
動きベクトル算出部１６４での背景一致度合い評価処理の流れを、図１１および図１２のフローチャートを参照して更に説明する。この図１１および図１２の処理は、コントロール部１６５の制御に基づいて、各部が実行する。
【０１１５】
先ず、コントロール部１６５の制御により、ターゲットブロックバッファ部１６１に最初のターゲットブロックが設定される（ステップＳ３０１）。次に、コントロール部１６５の制御により、参照ブロックバッファ１５２にバッファリングされているマッチング処理範囲の参照フレームの画像データのうちから、ブロックマッチング処理する参照ブロックが設定される（ステップＳ３０２）。
【０１１６】
マッチング処理部１６３は、設定されたターゲットブロックと、設定された参照ブロックとについてブロックマッチング処理を行い、ＳＡＤ値を計算する。マッチング処理部１６３は、算出したＳＡＤ値を、参照ブロックの位置情報（参照ベクトル）と共に、動きベクトル算出部１６４に供給する（ステップＳ３０３）。
【０１１７】
動きベクトル算出部１６４は、参照ベクトルがグローバル動きベクトルＧＭＶと一致しているか、また、その周囲近傍の８位置Ｐ１〜Ｐ８と一致しているか否か判別する（ステップＳ３０４）。
【０１１８】
ステップＳ３０４で、参照ベクトルがグローバル動きベクトルＧＭＶおよびその周囲近傍の８位置Ｐ１〜Ｐ８とは一致していないと判別したときには、動きベクトル算出部１６４では、最小ＳＡＤ値ＭｉｎＳＡＤと、その参照ブロック位置（参照ベクトル）との更新処理を行なう（ステップＳ３０５）。
【０１１９】
次に、コントロール部１６５は、サーチ範囲内の全ての参照ブロックついてのターゲットブロックとのブロックマッチングが終了したか否か判別する（ステップＳ３０８）。
【０１２０】
そして、ステップＳ３０８で、サーチ範囲内の全ての参照ブロックついての処理が終了してはいないと判別したときには、コントロール部１６５は、次の参照ブロックを設定する（ステップＳ３０９）。そして、ステップＳ３０２に戻り、上述したこのステップＳ３０２以降の処理を繰り返す。
【０１２１】
また、ステップＳ３０４で、参照ベクトルがグローバル動きベクトルＧＭＶ、あるいはその周辺近傍位置Ｐ１〜Ｐ８のいずれかと一致したと判別したときには、動きベクトル算出部１６４では、そのＳＡＤ値からオフセット値ＯＦＳを減算する（ステップＳ３０６）。そして、その減算結果を補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇ＿０〜ＭｉｎＳＡＤ＿Ｇ＿８のいずれかとして、その参照ブロック位置（参照ベクトル）とを保持する（ステップＳ３０７）。
【０１２２】
そして、ステップＳ３０８に進み、サーチ範囲内の全ての参照ブロックついての処理が終了したか否か判別する。
【０１２３】
そして、ステップＳ３０８で、サーチ範囲内の全ての参照ブロックついての処理が終了したと判別したときには、動きベクトル算出部１６４は、ローカル動きベクトルＬＭＶと、最小ＳＡＤ値ＭｉｎＳＡＤを検出する。また、動きベクトル算出部１６４は、９個の補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇ＿０〜ＭｉｎＳＡＤ＿Ｇ＿８の中の最小値として、補正後ＳＡＤ値ＭｉｎＳＡＤ＿Ｇを検出する（図１２のステップＳ３１１）。
【０１２４】
そして、動きベクトル算出部１６４は、ヒット率βを算出し（ステップＳ３１２）、最小ＳＡＤ値ＭｉｎＳＡＤが、予め定められている前記閾値ＴＨ１より小さいか否か判別する（ステップＳ３１３）。
【０１２５】
ステップＳ３１３で、最小ＳＡＤ値ＭｉｎＳＡＤが、前記閾値ＴＨ１より大きいと判別したときには、再算出されたローカル動きベクトルＬＭＶを、当該ターゲットブロックのＮＲ処理用動きベクトルとして動き補償画像生成部１６６に出力する（ステップＳ３１４）。
【０１２６】
また、ステップＳ３１３で、最小ＳＡＤ値ＭｉｎＳＡＤが、前記閾値ＴＨ１より小さいと判別したときには、グローバル動きベクトルＧＭＶを、当該ターゲットブロックのＮＲ処理用動きベクトルとして動き補償画像生成部１６６に出力する（ステップＳ３１５）。
【０１２７】
そして、ステップＳ３１４およびステップＳ３１５の次に、動き補償画像生成部１６６は、ＮＲ処理用動きベクトルに基づいて動き補償ブロックを生成し（ステップＳ３１６）、相関性判定部１６７は、ターゲットブロックと動き補償ブロックとの相関性を示す相関性フラグを生成する（ステップＳ３１７）。コントロール部１６５は、ターゲットフレーム内の全てのターゲットブロックについての処理が終了したか否か判別し（ステップＳ３１８）、終了していなければ、次のターゲットブロックを設定する（ステップＳ３１９）。そして、ステップＳ３０２に戻り、コントロール部１６５の制御の下に、上述したステップＳ３０２以降の処理を繰り返す。
【０１２８】
また、ステップＳ３１８で、ターゲットフレーム内の全てのターゲットブロックについての処理が終了したと判別したときには、コントロール部１６５は、この背景／動被写体判定処理動作を終了する。
【０１２９】
（加算率算出処理の流れ）
この実施形態においては、加算率計算部１７１では、画素単位に加算率α（０≦α≦１）を求める。そして、前述したように、基本的には、ターゲット画像と動き補償画像との画素単位の違いと、ヒット率βとに応じて加算率αを計算する。このため、加算率計算部１７１には、ヒット率βと、ターゲット画像のデータＴＧｖおよび動き補償画像のデータＭＣｖが供給される。
【０１３０】
ここで、ターゲット画像と動き補償画像との画素単位の違いが大きければ、動き部分と考えられるので、加算率αは低くすべきであるが、前記画素単位の違いがない、あるいは小さければ加算率αは高くしても良い。しかし、ターゲットブロックが背景静止画部分であるか、動被写体部分であるかが不明である場合には、前述したように、動き部分における２重露光が目立たないようにするために、加算率αは比較的低く抑える必要がある。
【０１３１】
しかし、この実施形態では、ヒット率βにより、背景静止画部分としての一致度合いが求められているので、ヒット率βが大きく、背景一致度合いが高いほど、加算率αは高くするようにする。
【０１３２】
また、この実施形態では、さらに画像のノイズは、撮影シーンの明るさ（画像のゲイン量）に応じたものとなるので、加算率計算部１７１では、ターゲット画像と動き補償画像との画素単位の違いに関しては、当該撮影シーンの明るさ（画像のゲイン量）に応じたノイズを考慮するようにしている。すなわち、ターゲット画像と動き補償画像との画素単位の違いがノイズの範囲内であれば、両者の実際の差分は小さいと判断する。また、前記画素単位の違いがノイズの範囲よりも大きいときには、両者の差分は、実際に大きいと判断するようにする。
【０１３３】
ところで、ヒット率βとは、背景静止画部分としての一致度合いである。したがって、ヒット率βが大きいと、基本的には相関性フラグも大きいという関係がある。しかしながら、ＳＡＤ値の（相対的な）比較でヒット率βを算出している都合上、実際は背景でないにもかかわらず、ＧＭＶヒット（ヒット率βが高い）となってしまうケースもある。この場合、ヒット率βは高いが、相関性フラグは低いという状態になる。この状態のときは、加算率αを高くするのを取りやめることで、実際には背景でないのにもかかわらずＧＭＶヒットになってしまうケースを回避することができる。
【０１３４】
また、ＧＭＶヒットである背景領域についての加算率αが高くなる一方、ＧＭＶヒットではない領域（すなわち被写体領域）についての加算率が変化しないと、例えば、被写体領域が大きいシーンなどで不自然に背景のノイズが除去され、被写体領域に存在するノイズが残っている画像になってしまうことが懸念される。この場合、ＧＭＶヒットではないものの、相関性フラグが高ければ、この動き補償画像が正しいことにはある程度確証が持てる。そこで、相関性フラグの値に応じて加算率αを高くし、背景と被写体のバランスを取ることも可能である。
【０１３５】
また、この実施形態の加算率計算部１７１には、加算度合いを、加算率計算部１７１の外部から制御することができるようにするため、加算調整用ゲインＧＡが供給される。この加算調整用ゲインＧＡの値は、予め用意されているゲイン値の中から、ユーザが選択したものとするように構成することができる。あるいは、撮像画像のＩＳＯ感度に応じて、加算調整用ゲインＧＡの値を定めるように構成しても良い。後者の場合には、例えば、撮像時の露出値やシャッター速度などに応じて、画像の明るさを判断して、加算調整用ゲインＧＡの値を定めるように構成することができる。つまり、明るい画像の場合には、ノイズが目立つので、加算率が小さくなるようにゲインを小さくし、逆に、暗い画像の場合には、加算率を大きくするようにゲインを大きく設定する。
【０１３６】
このゲインＧＡによって、ヒット率βと相関性フラグとの組み合わせのマトリクスが決定する。しかし、設定パラメータを増やし、このマトリックスそのものをユーザが自由に選択できるようにしても良い。
【０１３７】
この実施形態の加算率計算部１７１のハードウェア構成例を図１３および図１４に示す。この図１３および図１４の例においては、ターゲット画像のデータＴＧｖおよび動き補償画像のデータＭＣｖは、輝度成分と、色差成分とのそれぞれについて、別個に処理がなされる。
【０１３８】
図１３は、加算率計算部１７１における、輝度成分についての処理部分である。図１３を参照して、先ず、輝度成分についての加算率計算処理について説明する。
【０１３９】
すなわち、ターゲット画像のデータＴＧｖのうちの輝度データＹ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は、ローパスフィルタ６３１を通じて空間分散フィルタ６３６に供給される。そして、この空間分散フィルタ６３６から、注目画素（自画素）と、その周囲近傍の例えば８画素との合計９個の画素についての分散値ＶａＣｒが得られる。
【０１８０】
そして、分散値ＶａＹ、ＶａＣｂおよびＶａＣｒは、図１３に示すように、加算部６１１で加算された後、加算率変換出力部６１２に供給される。さらに、加算率変換出力部６１２には、動きベクトル算出部１６４からのヒット率βと、外部からのゲインＧＡが供給される。
【０１８１】
この加算率変換出力部６１２で求める加算率αＣは、ターゲットブロックの画像が、テクスチャー成分が少なく、輝度レベル変化がなだらかな場合（グラデーションの場合）に、その加算率を抑えることを目的としている。この実施形態のようにブロック分割した画像処理においては、人間の視覚効果により、ブロック境界が非常に目立ち易くなり、特に、輝度レベル変化がなだらかな場合には殊更であることを考慮している。
【０１８２】
上記の目的を実現させるために、基本的には、ブロック内の分散値が低いほど加算率を低くすれば良い。この実施形態の加算率変換出力部６１２では、図１９（Ａ）に示すように、分散値を横軸に取ると共に、分散値を所定の段階幅毎に幾つかの段階に分け、出力加算率を各段階の分散値に応じて決定するようにする。
【０１８３】
図１９（Ａ）の例では、分散値を段階幅８毎に、５段階に分け、分散値０−７に対する加算率を０．０、分散値８−１５に対する加算率を０．２５、分散値１６−２３に対する加算率を０．５、分散値２４−３１に対する加算率を０．７５、分散値３２以上に対する加算率を１．０とする。
【０１８４】
ところで、画像を重ね合わせる場合に、上述のようなブロック毎の境界が目立つのは、重ね合わせる画像に差異があるからである。換言すれば、背景静止画像部分については、重ね合わせる画像に差異はないので、分散値に応じた加算率の抑制をする必要はない。
【０１８５】
そこで、この実施形態では、加算率変換出力部６１２では、ヒット率βに応じて、分散値の段階幅を制御し、ヒット率βが大きいほど、分散値の段階幅を小さくするようにする。これにより、背景静止画像部分については、分散値に応じた加算率の低減を抑制し、できるだけ、高い加算率で加算ができるようにしている。
【０１８６】
すなわち、図１９の例では、ヒット率βが、例えばβ＝０というように低い値のときには、分散値の段階幅は、図１９（Ａ）に示すように、「８」とする。そして、ヒット率βが、例えばβ＝０．５というような値のときには、分散値の段階幅は、図１９（Ｂ）に示すように、「４」とする。
【０１８７】
さらに、ヒット率βが、背景静止画部分であることを示すβ＝１であるときには、分散値の段階幅は、図１９（Ｃ）に示すように、「０」とする。つまり、このときには、分散値による加算率の低減は行なわない。
【０１８８】
上述したように、加算率変換出力部６１２にも、ゲインＧＡが供給されており、このゲインＧＡによる出力加算率の制御が行なえるようにしている。この例の場合、ゲインＧＡにより、ヒット率βとの組み合わせにより、前述した分散値の段階幅を変更制御するようにする。
【０１８９】
図２０に、加算率変換出力部６１２における、ゲインＧＡと、ヒット率βと、段階幅との関係を示す。この図２０の例においても、ゲインＧＡは、ユーザにより、あるいは、撮影条件などにより、ＧＡ＝０、ＧＡ＝１、ＧＡ＝２、ＧＡ＝３の４段階に、変更設定可能とされる。そして、ヒット率βも、β＝０、β＝０．２５、β＝０．５、β＝１．０の４段階に設定されるようにされる。
【０１９０】
なお、図２０の例においては、段階幅については、ビットシフト演算により実現可能なように構成している。
【０１９１】
なお、図１９に示したように、この実施形態では、分散値を用いた加算率の算出に際しては、分散値について、段階幅を用いた複数段階を設定する構成としたが、複数段階とするのではなく、当該複数段階の間を線形補間するようにする構成としても良い。また、線形補間ではなく、２次曲線補間や３次曲線補間をするようにしても良い。
【０１９２】
以上のようにして、各加算率変換出力部６０８、６０９、６１２、６２５および６３５では、輝度差分値や色差差分値、輝度平均差分値、分散値などに応じると共に、ヒット率βと相対性フラグとに応じた値として、加算率αＹＡ、αＹＢ、αＣｂ、αＣｒが算出され、ヒット率βに応じた値として、αＣが算出される。
【０１９３】
そして、この実施形態では、これらの加算率αＹＡ、αＹＢ、αＣ、αＣｂ、αＣｒが合成されて、加算率計算部１７１の出力加算率αが得られる。すなわち、図１３に示すように、加算率変換出力部６０８および６０９からの加算率αＹＡおよびαＹＢは、乗算器６１３で乗算され、その乗算結果が乗算器６１４に供給される。この乗算器６１４には、加算率変換出力部６２５からの加算率αＣｂが供給されて、乗算器６１３の乗算結果と乗算される。
【０１９４】
そして、この乗算器６１４の乗算結果は、乗算器６１５に供給される。この乗算器６１５には、加算率変換出力部６３５からの加算率αＣｒが供給されて、乗算器６１４の乗算結果と乗算される。また、この乗算器６１５の乗算結果は、乗算器６１６に供給される。この乗算器６１６には、加算率変換出力部６１２からの加算率αＣが供給されて、乗算器６１５の乗算結果と乗算される。
【０１９５】
以上により、乗算器６１６からは、算出された全ての加算率αＹＡ、αＹＢ、αＣ、αＣｂ、αＣｒが乗算された乗算結果が得られ、これが加算率計算部１７１の出力加算率αとして出力される。
【０１９６】
こうして、加算率計算部１７１からは、画素単位で、ヒット率βと相関性フラグとに応じた値として加算率αが算出され、加算部１７２に供給される。
【０１９７】
加算部１７２では、この加算率計算部１７１からの画素毎の加算率αに応じて、ターゲットブロックの画像データＴＧｖと、動き補償ブロックの画像データＭＣｖとが画素単位で加算される。そして、加算部１７２からの加算画像データは、メモリ４、静止画コーデック１８を介して、ストレージ５に記録される。
【０１９８】
上述した実施形態によれば、ターゲットブロック毎に背景一致度合いの指標値であるヒット率βを用いて、静止画像部分では、加算率αを大きくすることができるので、ＮＲ画像として、ノイズ低減効果が大きい画像が得られるという顕著な効果を奏する。
【０１９９】
（より改善された加算率算出について）
本来、ターゲット画像と動き補償画像との間における加算率を決める際には、撮影シーンでのノイズ標準偏差を考慮して閾値を規定し、｜ターゲットブロック−動き補償ブロック｜＞閾値であるときは動体と判断して、ターゲットブロックを残すようにし、｜ターゲットブロック−動き補償ブロック｜≦閾値であるときは、ノイズの範囲内であるとし、ターゲットブロックと動き補償ブロックとを加算すれば良い。しかしながら、この方法では誤加算による副作用を考慮すると、本来加算するために使用されるべき閾値よりも低い値を閾値として設定しなくてはならない。つまり、ＮＲ効果を低くする必要がある。この問題に対して、特許文献１にも記載されているように、ヒット率βを参考に、背景であることを考慮して、加算率を上げる方法が有効である。
【０２００】
しかしながら、前述したとおり、撮影領域内に存在する物体が影に隠れてしまった場合や変形した場合など、正確性の高い動き補償画像が存在しない場合にも関わらず、ＧＭＶヒット率が高く算出された場合などには、正確性の低い動き補償画像がターゲット画像に加算されてしまい、透けやボケのある画像が生成されてしまうという問題があった。
これはＮＲアプリケーションの本質的な課題であり、ＮＲ効果を高めるためには必ず副作用が発生するという問題である。
【０２０１】
そこで、前述したとおり、ＮＲ効果を高めるためのヒット率βという付加情報に対して、その副作用を防止する相関性フラグという付加情報を作成することにする。一般的に、効果を高めるための付加情報と副作用を防止するための付加情報とがある場合、その関係は、図２１に示すようになるはずである。この実施形態では、効果を高めるための付加情報としてはヒット率βを使用している。すなわち、ヒット率βは、動き検出（ＭＥ）におけるサーチの過程において、そのサーチ範囲の中で相対的に最もターゲット画像との相関性が高い動き補償画像（ＭＣ画像）を生成するためのベクトルがグローバル動きベクトル（ＧＭＶ）だったか否かを示す情報として使用し得る。
【０２０２】
一方、副作用を防止するための付加情報は、ターゲット画像と動き補償画像（ＭＣ画像）とを比較することにより得ることができる。すなわち、ターゲット画像と動き補償画像（ＭＣ画像）との相関性に対して、人間がおかしいと感じることができる絶対的な情報としてターゲット画像と動き補償画像（ＭＣ画像）との比較結果を取得し得る。この実施形態では、このように、相対的な情報としての付加情報および絶対的な情報としての付加情報の２種類の付加情報を用意し、この２種類の付加情報に基づいて加算率を算出することができる。これにより、例えば、動き補償ブロックを確認し、動き補償ブロックがターゲットブロックと大きく異なるときは加算しない仕組みを取り入れることができる。
【０２０３】
（相関性フラグ生成処理の詳細について）
絶対的な情報としての付加情報である相関性フラグは、上記したように、相関性判定部１６７により生成される。相関性判定部１６７は、動き補償画像生成部により生成された動き補償画像とターゲット画像との相関性をターゲットブロック毎に判定する。ここでは、動き補償ブロックとターゲットブロックとしては、動き補償画像生成部１６６から供給されたものを使用し得る。相関性フラグには、例えば、相関性を示す値「０」〜「１」が設定されている。相関性判定部１６７により生成された相関性フラグは、加算率計算部１７１に供給される。
【０２０４】
動き補償画像とターゲット画像との相関性の算出手法としては、様々なものが想定されるが、例えば、ＹＣ信号の輝度成分（Ｙ）、および赤／青の色差成分（Ｃｒ／Ｃｂ）のそれぞれに対して判定を行うことができる。すなわち、相関性判定部１６７は、ＹＣ信号の輝度成分（Ｙ）、および赤／青の色差成分（Ｃｒ／Ｃｂ）の各々に対する判定値を３つ算出し、算出した３つの判定値に対応する１つの相関性が設定された相関性フラグを生成することができる。３つの判定値と１つの相関性との対応関係については、あらかじめ設定しておくことができる。
【０２０５】
相関性判定部１６７は、例えば、対応するブロック単位におけるターゲットブロックと動き補償ブロックとの差分の平均値が所定の平均値よりも小さい場合には、相関性が高いと判断して相関性フラグに高い値を設定し、対応するブロック単位におけるターゲットブロックと動き補償ブロックとの差分の平均値が所定の平均値よりも大きい場合には、相関性フラグに低い値を設定することができる。対応するブロック単位におけるターゲットブロックと動き補償ブロックとの差分の平均値としては、例えば、対応する動き補償ブロック（例えば、８×８画素）およびターゲットブロック（例えば、８×８画素）の差分の平均値を使用することができる。相関性フラグに設定される高い値としては、例えば、「１」「０．５」などが想定され、相関性フラグに設定される低い値としては、例えば、「０．２５」「０」などが想定される。
【０２０６】
また、平均値の代わりにコントラストを使用することもできる。その場合には、相関性判定部１６７は、例えば、対応するブロック単位におけるターゲットブロックと動き補償ブロックとの各々のコントラストの差分の平均値が所定の平均値よりも小さい場合には、相関性が高いと判断して相関性フラグに高い値を設定し、コントラストの差分の平均値が所定の平均値よりも大きい場合には、相関性フラグに低い値を設定することができる。コントラストの差分としては、例えば、対応する動き補償ブロック（例えば、８×８画素）およびターゲットブロック（例えば、８×８画素）の各々の最大差（最大画素と最小画素との差）の差分を使用することができる。
【０２０７】
また、平均値の代わりに分散値を使用することもできる。その場合には、相関性判定部１６７は、例えば、対応するブロック単位におけるターゲットブロックと動き補償ブロックとの差分の分散値が所定の分散値よりも小さい場合には、相関性が高いと判断して相関性フラグに高い値を設定し、対応するブロック単位におけるターゲットブロックと動き補償ブロックとの差分の分散値が所定の分散値の差分よりも大きい場合には、相関性フラグに低い値を設定することができる。差分の分散値としては、例えば、対応する動き補償ブロック（例えば、８×８画素）およびターゲットブロック（例えば、８×８画素）の差分の分散値を使用することができる。
【０２０８】
また、平均値の代わりにＳＡＤ値を使用することもできる。その場合には、相関性判定部１６７は、例えば、対応するブロック単位におけるターゲットブロックと動き補償ブロックとのＳＡＤ値の差分が所定のＳＡＤ値の差分よりも小さい場合には、相関性が高いと判断して相関性フラグに高い値を設定し、ＳＡＤ値の差分が所定のＳＡＤ値の差分よりも大きい場合には、相関性フラグに低い値を設定することができる。ＳＡＤ値の差分としては、例えば、対応する動き補償ブロック（例えば、８×８画素）およびターゲットブロック（例えば、８×８画素）の各々の差分絶対値和の差分を使用することができる。
【０２０９】
また、平均値、コントラスト、分散値およびＳＡＤ値のうちのいずれか２つ以上を組み合わせて、相関性判定のために使用することとしてもよい。図２２は、平均値と分散値とを使用して、相関性フラグに値を設定する手法の一例を示したものである。図２２に示すように、相関性判定部１６７は、まず、平均値の差分が所定の平均値の差分よりも小さいか否かを判定し（ステップＳ４０１）、平均値の差分が所定の平均値の差分よりも小さい場合には、ステップＳ４０２に進み、その他の場合には、相関性フラグに「０」を設定する。
【０２１０】
次いで、相関性判定部１６７は、分散値が所定の第１分散値よりも小さいか否かを判定し（ステップＳ４０２）、分散値の差分が所定の分散値の差分よりも小さい場合には、相関性フラグに「１」を設定し、その他の場合には、ステップＳ４０４に進む。次いで、相関性判定部１６７は、分散値が所定の第２分散値よりも小さいか否かを判定し（ステップＳ４０４）、分散値が所定の第２分散値よりも小さい場合には、相関性フラグに「０．５」を設定し、その他の場合には、相関性フラグに「０．２５」を設定する。以上で、相関性フラグに値を設定する処理一例は終了となる。
【０２１１】
このように、ヒット率βを用いた場合に生じる欠点を補うために、相関性フラグを使用することができる。この相関性フラグは、ヒット率βとは関係なくターゲット画像とＭＣ画像との相関性を絶対的に評価したものである。相関性フラグは、平均値、コントラスト、分散値およびＳＡＤ値を単独で使用して判定することもできるし、図２２に示したように、平均値と分散値との組み合わせにより判定することもできる。また、平均値とＳＡＤ値との組み合わせにより判定することもできる。この場合に使用される閾値は、例えば、制御部１（例えば、ＣＰＵなど）から絶対的な指標として与えることができる。
【０２１２】
相関性フラグは、例えば、０〜１までを分割したものであり、相関性フラグに設定される「０」は「相関性がなく、ＧＭＶヒットであっても加算するのは危険」、相関性フラグに設定される「１」は「相関性が高く、ＧＭＶヒットでなくても加算率を上げることできる」という意味で使用することができる。相関性フラグに設定される「１」は、従来の「ＧＭＶヒットであれば強制加算する」と同様に使用され得る。なお、本発明で相関性フラグに設定される値は、「０」「０．２５」「０．５」「１」の４段階にしているが、段数や値は、特に限定されるものではない。
【０２１３】
これにより、例えば、ヒット率βが「０」でも、相関性フラグが「１」であれば、加算率を高くすることができる。また、ヒット率βが「１」であっても、相関性フラグが「０」であれば、加算率を高くすることを防ぐことができる。ヒット率βは、隣り合うブロックで急な変化がないように補正され得るものである。相関性フラグに設定される値に対して行われる補正も同様に有効である。
【０２１４】
（より改善された加算率算出についての詳細）
前述したように、この実施形態においては、相関性フラグとヒット率βとを使用して加算率を算出することができる。図２３は、ヒット率βおよび相関性フラグと加算率との関係を示す図である。図２３に示すように、ヒット率βと相関性フラグとの各々を縦軸および横軸として示し、ヒット率βの閾値Ｔβと相関性フラグの閾値ＴＲとにより区分けすれば、各領域に対して、ターゲット画像と動き補償画像との加算に関する説明を付することができる。
【０２１５】
より詳細には、加算率計算部１７１は、相関性（相関性フラグに設定されている値）が閾値ＴＲよりも大きい場合であり、かつ、ヒット率βが閾値Ｔβよりも大きい場合には、ＭＣ画像が絶対的にも相対的にも有効である場合と想定される。この場合には、ＭＣ画像を積極的にターゲット画像に加算することができる。また、加算率計算部１７１は、相関性が閾値ＴＲよりも小さい場合であり、かつ、ヒット率βが閾値Ｔβよりも大きい場合には、ＭＣ画像が相対的に有効であるが絶対的には無効である場合と想定される。例えば、サーチ範囲内に有効なＭＣ画像が存在しない場合などが該当すると想定される。
【０２１６】
また、加算率計算部１７１は、相関性が閾値ＴＲよりも大きい場合であり、かつ、ヒット率βが閾値Ｔβよりも小さい場合には、ＭＣ画像が相対的には無効であるが絶対的には有効である場合と想定される。例えば、ＧＭＶを使用してＭＣ画像を生成してはいないが、有効なＭＣ画像を生成できている場合などが該当すると想定される。また、加算率計算部１７１は、相関性が閾値ＴＲよりも小さい場合であり、かつ、ヒット率βが閾値Ｔβよりも小さい場合には、ＭＣ画像が絶対的にも相対的にも無効である場合と想定される。例えば、この場合には、ＭＣ画像を積極的にターゲット画像に加算できないと想定される。
【０２１７】
加算率計算部１７１においては、このように説明される加算手法に従って、加算率を算出すればよい。図２４は、ヒット率βおよび相関性フラグと加算率αとの関係の一例を示す図である。なお、図２４に示した場合においては、閾値Ｔβと閾値ＴＲとは、共に、「０」より大きく、「０．２５」より小さい値として設定されている。また、図２４においては、ゲインＧＡが「３」のときの基礎加算率α０に対する加算率αの倍数により加算率を示している。したがって、ゲインＧＡの値によってマトリクスも変更され得るものであり、ゲインＧＡは、前述したような様々な方式により選択され得るものである。
【０２１８】
ここで、相関性が閾値ＴＲよりも大きい場合であり、かつ、ヒット率βが閾値Ｔβよりも大きい場合は、図２４に示したマトリクスにおいては、相関性フラグの値が「０．２５」「０．５」「１」のいずれかであり、かつ、ヒット率βが「０．２５」「０．５」「１」のいずれかである場合に相当する。この場合には、上記したように、ＭＣ画像を積極的にターゲット画像に加算することができるため、図２４に示すように、相関性を一定とした場合に、ヒット率βの上昇に伴って加算率を上昇させることとすればよい。また、この場合には、図２４に示すように、ヒット率βを一定とした場合に、相関性に関わらず加算率αを一定とすればよい。
【０２１９】
また、相関性が閾値ＴＲよりも小さい場合であり、かつ、ヒット率βが閾値Ｔβよりも大きい場合は、図２４に示したマトリクスにおいては、相関性フラグの値が「０」であり、かつ、ヒット率βが「０．２５」「０．５」「１」のいずれかである場合に相当する。この場合には、上記したように、ＭＣ画像が相対的に有効であるが絶対的には無効である場合と想定されるため、相関性が閾値ＴＲよりも大きい場合であり、かつ、ヒット率βが閾値Ｔβよりも大きい場合と比較して、相関性を一定とした場合に、ヒット率βの増加に伴う加算率αの上昇を抑制させることとすればよい。
【０２２０】
また、相関性が閾値ＴＲよりも大きい場合であり、かつ、ヒット率βが閾値Ｔβよりも小さい場合は、図２４に示したマトリクスにおいては、相関性フラグの値が「０．２５」「０．５」「１」のいずれかであり、かつ、ヒット率βが「０」である場合に相当する。この場合には、上記したように、ＭＣ画像が相対的には無効であるが絶対的には有効である場合と想定されるため、ヒット率βを一定とした場合に、相関性の上昇に伴って加算率αを上昇させればよい。
【０２２１】
（ブロックマッチングから重ね合わせまでの詳細）
図２５に、グローバルモーションおよびグローバル動きベクトルＧＭＶを、基底面でのローカル動きベクトルＬＭＶと比較する場合の処理の全体フローを示す。ここでは、一例として、グローバルモーションを複数フレーム間のローカル動きベクトルから算出する方法について説明する。なお、本発明の実施形態では、ブロック単位のローカルベクトルとフレーム単位のグローバルベクトルを用いて、効果と副作用のバランスを取りながら画像の加算率を制御することができれば良く、グローバルモーションはどのような方法で算出しても良い。
【０２２２】
縮小面動きベクトルＭＶｓや中間面動きベクトルＭＶｍを、基底面に対する画像縮小倍率の逆数倍することで、基底面基底面動きベクトルＭＶｂを得ることができる。そこで、グローバルモーションＧＭを算出するためには、基底面動きベクトルＭＶｂを求めなくても、縮小面動きベクトルＭＶｓや中間面動きベクトルＭＶｍから、グローバルモーションＧＭを求めるようにすることもできる。
【０２２３】
例えば、縮小面動きベクトルＭＶｓからグローバルモーションＧＭを求める場合には、先ず、動きベクトル算出部１６４で、縮小面におけるローカル動きベクトルＬＭＶ（縮小面動きベクトルＭＶｓ）を算出する。そして、動きベクトル算出部１６４で、算出した縮小面動きベクトルＭＶｓについての信頼性指標Ｆｔを算出する。また、動きベクトル算出部１６４で、この縮小面のローカル動きベクトルＬＭＶについての信頼性指標値Ｆｔを用いて、信頼性の高いローカル動きベクトルＬＭＶを抽出する。そして、動きベクトル算出部１６４で、当該信頼性の高いローカル動きベクトルＬＭＶを用いて、グローバルモーションＧＭおよびグローバル動きベクトルＧＭＶを算出するようにする。
【０２２４】
中間面までの階層でブロックマッチングを行なって得た中間面動きベクトルＭＶｍから、グローバルモーションＧＭを用いる場合も同様にして算出することができる。ただし、グローバル動きベクトルＧＭＶの位置のＳＡＤ値についての補正を行う場合のオフセット値ＯＦＳやゲインｇは、それぞれの階層に応じて適切に設定するようにする。このようにして縮小面や中間面のローカル動きベクトルを用いて、グローバルモーションＧＭおよびグローバル動きベクトルＧＭＶを求めるメリットは、次の通りある。
【０２２５】
１つは、先に述べたように縮小面や中間面は、その生成にあたってローパスフィルタが施されるため、ノイズが除去され、結果として、得られたローカル動きベクトルがノイズの影響を受けにくい点である。
【０２２６】
他の１つは、縮小面や中間面では、ターゲットブロックの数が少なくなるので、ローカル動きベクトルの数は少なくなり、演算コストが小さくなると共に、処理に要する時間や小さいので、処理の高速化が可能であることである。
【０２２７】
上述の例のように、通常は、ハードウェアの制約から、縮小面、中間面、基底面のマッチング処理ブロック単位は同じサイズとなる。このため、画サイズの小さい縮小面のターゲットブロックの数（＝ローカル動きベクトルの数）は、基底面のみでブロックマッチングを行う場合に較べて相対的に少なくなる。
【０２２８】
そして、縮小面動きベクトルからグローバルモーションおよびグローバル動きベクトルＧＭＶを求める場合には、中間面および基底面での動きベクトル検出処理は省略することができる。また、中間面動きベクトルからグローバルモーションおよびグローバル動きベクトルＧＭＶを求める場合には、基底面での動きベクトル検出処理は省略することができる。したがって、処理の高速化が図れる。特に、縮小面動きベクトルＭＶｓを用いてグローバルモーションＧＭおよびグローバル動きベクトルＧＭＶを求めるようにした場合には、そのメリットは、大きい。
【０２２９】
先ず、動きベクトル算出部１６４では、縮小面ブロックマッチングを行なって、縮小面におけるターゲットブロック毎のローカル動きベクトルＬＭＶｓを求める。そして、ターゲットブロック毎の縮小面ローカル動きベクトルＬＭＶｓの信頼性を評価して、信頼性の高い縮小面ローカル動きベクトルＬＭＶｓのみを用いてグローバルモーションＧＭを算出する。そして、算出したグローバルモーションからグローバル動きベクトルＧＭＶを算出しておく（ステップＳ５０１）。
【０２３０】
次に、階層化ブロックマッチングのため、縮小面再ブロックマッチングを行い、縮小面ローカル動きベクトルＬＭＶｓを再算出する（ステップＳ５０２）。次に、縮小面ローカル動きベクトルＬＭＶｓから中間面におけるターゲットブロックに対する参照ブロックについてのサーチ範囲を求め、中間面ブロックマッチングを行う。そして、中間面ローカル動きベクトルＬＭＶｍを算出する（ステップＳ５０３）。
【０２３１】
次に、中間面ローカル動きベクトルＬＭＶｍから基底面におけるターゲットブロックに対する参照ブロックについてのサーチ範囲を求め、基底面ブロックマッチングを行う。そして、基底面ローカル動きベクトルＬＭＶｂを算出する。そして、基底面ローカル動きベクトルＬＭＶｂと、ステップＳ５０１で算出されたグローバル動きベクトルＧＭＶとを用いて、前述した背景一致度合いの評価判定を、ターゲットブロック毎に行う。そして、その評価判定に基づいて、ヒット率βを求めると共に、ＮＲ処理用動きベクトルＭＶｎｒを検出する（ステップＳ５０４）。
【０２３２】
次に、動き補償画像生成部１６６が、ＮＲ処理用動きベクトルＭＶｎｒを用いて、参照フレームの画像データから、ブロック単位で、動き補償画像を生成する（ステップＳ５０５）。上記した相関性フラグは、動き補償画像の生成とともに生成され、縮小面および中間面においては生成しなくてよい。また、加算率計算部１７１は、ステップＳ５０４で算出されたヒット率βと相関性フラグとに基づいて、上述したようにして、画素単位で加算率αを計算する（ステップＳ５０６）。そして、加算部１７２では、ステップＳ５０５で生成された動き補償画とターゲット画像とを、ブロック単位で、ステップＳ５０６で計算された加算率αで加算し、ＮＲ画像を生成する（ステップＳ５０７）。
【０２３３】
なお、上述の図２５の処理フローの説明では、１回目のブロックマッチングによる動きベクトル検出時に求められたグローバルモーションＧＭおよびグローバル動きベクトルＧＭＶは、階層化の再ブロックマッチングの基底面動きベクトルに対してのみ適用した。
【０２３４】
しかし、階層化の再ブロックマッチングの縮小面、中間面でも、グローバル動きベクトルＧＭＶと、縮小面ローカル動きベクトルＬＭＶｓ、中間面ローカル動きベクトルＬＭＶｍとを用いたターゲットブロックの背景一致度合い評価を行なってもよい。そして、その場合には、その結果としての動きベクトルＭＶｎｒを、縮小面、中間面における各ターゲットブロックについての動きベクトル出力とするようにする。
【０２３５】
そのようにした場合、縮小面、中間面における各ターゲットブロックについての動きベクトル（ローカル動きベクトル）を、通常よりも精度良く取得することが可能となる。基底面においても同様である。その際に、前述もしたように、オフセット値ＯＦＳやゲインｇは、各階層に応じて適切に設定するものである。
【０２３６】
（加算処理の詳細）
上記したように、加算部１７２は、加算率αを用いて、ターゲット画像に動き補償画像を、画素毎に重ね合わせてＮＲ画像を生成する。ここで、加算部１７２による加算率αを用いた重ね合わせの手法については様々なものが想定される。図２６は、ターゲット画像と動き補償画像との重ね合わせの一例を説明するための図である。
【０２３７】
図２６に示した例では、ターゲット画像Ａに対して動き補償画像Ｂを重ね合わせ、この重ね合わせにより生成された画像Ｂ’に対して動き補償画像Ｃを重ね合わせ、この重ね合わせにより生成された画像Ｃ’に対して動き補償画像Ｄを重ね合わせることにより、重ね合わせ後の画像を生成する例について示している。しかし、ターゲット画像に重ね合わせる動き補償画像の枚数は３枚以外でもよく、１枚以上であれば特に限定されるものではない。
【０２３８】
図２６に示すように、重ね合わせの回数を増加させるとともに、Ｐの値を「１／２」「１／３」「１／４」・・・と下げながら、動き補償画像を次々と加算していくことができる。すなわち、重ね合わせの回数をｎ回とした場合、Ｐの値を「１／ｎ−１」として、動き補償画像を加算する。このような加算により、ターゲット画像および動き補償画像の全てを均等な重みにより加算することができる。
【０２３９】
＜２．まとめ＞
本発明の実施形態において、画像処理装置は、被写体が大部分を占める場合にもＮＲ効果を挙げつつ、正確性の低い動き補償画像がターゲット画像に加算されてしまう可能性を低減することができる。
【０２４０】
本発明の実施形態においては、静止画撮影について主に説明しているが、本発明の実施形態におけるフレームＮＲを動画フレームＮＲに応用することも可能である。ただし、動画フレームＮＲに適用する場合は、以下のような注意が必要である。
【０２４１】
静止画撮影時におけるＧＭ（グローバルモーション）計算は、ＧＭが正しく算出されることが前提となっている。すなわち、ＧＭが正しく算出できない場合は、その参照フレームは加算されない。つまり、Ｎ枚目の画像とＮ＋１枚目の画像でＧＭが求まらない場合、Ｎ枚目の画像がそのまま加算画となり、次に、Ｎ＋２枚目の画像と処理を行う。これは、出力画像がターゲット画像となるためであり、ターゲット画像にＮ枚加算したことによるＮＲ効果があるためである。
【０２４２】
例えば、最終的にＭ枚加算する予定だった画像の中で、１枚ＧＭが正しく求まらない画像があったとする。この１枚は撮影条件など信頼性にかける画像であること考慮すると、Ｍ−１枚で加算をした方が理想の画像を得ることができるという考えである。一方、動画フレームＮＲの場合は、ＧＭが算出できない場合に、参照フレームを加算しないという手段は取れない。これは、ＩＩＲ型フィルタを構成している関係で、参照画像に、過去Ｎフレーム分のＮＲ効果があるためである。したがって、動画フレームＮＲでは、静止画撮影のように２枚の画像からＧＭを求めるだけではなく、光学センサの情報、手ぶれの情報、また時間的に前後のフレームの情報などを利用し、常にＧＭが求まる状態にしなくてはいけない。
【０２４３】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【０２４４】
例えば、上記実施形態では、画像処理装置として撮像装置を例示したが、本発明はかかる例に限定されない。例えば、画像処理装置は、保存されている画像データを加工するために用いられる独立した装置であってもよく、また、画像データを加工するアプリケーションとしてＰＣ（Personal  Computer）などの情報処理装置に組み込まれていてもよい。
【０２４５】
また、上記実施形態では、画像処理装置の動き補償部、および画像重ね合わせ部の機能がＤＳＰを用いて実現される場合を例示したが、本発明はかかる例に限定されない。例えば、これらの各部の機能は、専用のハードウェアによって実現されてもよく、またＣＰＵを用いてソフトウェアとして実現されてもよい。
【符号の説明】
【０２４６】
１０    撮像装置（画像処理装置）
１      制御部
１６    動き補償部
１６３  マッチング処理部
１６４  動きベクトル算出部
１６５  コントロール部
１６６  補償画像生成部
１６７  相関性判定部
１７１  加算率計算部
１７２  加算部
【図１】
2012142828.tif 000003
【図２】
2012142828.tif 000004
【図３】
2012142828.tif 000005
【図４】
2012142828.tif 000006
【図５】
2012142828.tif 000007
【図６】
2012142828.tif 000008
【図７】
2012142828.tif 000009
【図８】
2012142828.tif 000010
【図９】
2012142828.tif 000011
【図１０】
2012142828.tif 000012
【図１１】
2012142828.tif 000013
【図１２】
2012142828.tif 000014
【図１３】
2012142828.tif 000015
【図１４】
2012142828.tif 000016
【図１５】
2012142828.tif 000017
【図１６】
2012142828.tif 000018
【図１７】
2012142828.tif 000019
【図１８】
2012142828.tif 000020
【図１９】
2012142828.tif 000021
【図２０】
2012142828.tif 000022
【図２１】
2012142828.tif 000023
【図２２】
2012142828.tif 000024
【図２３】
2012142828.tif 000025
【図２４】
2012142828.tif 000026
【図２５】
2012142828.tif 000027
【図２６】
2012142828.tif 000028