(57)【要約】【課題】グローバル動きベクトルを考慮した画像処理装置において、グローバル動きベクトルの信頼性の変動に関わらず安定したＮＲ効果を得つつ、グローバル動きベクトルが急に変化する場合においても不自然なＮＲ効果を生じないようにする。【解決手段】撮像装置１０は、自装置の動きを検出する検出部と、フレーム間における動きを示す第1の動きベクトルおよび第２の動きベクトルの各々から求められる第１の動き補償画像および第２の動き補償画像のブレンド率を、検出部により検出された自装置の動きに基づいて算出するブレンド率算出部と、第１の動き補償画像および第２の動き補償画像を、ブレンド率算出部により算出されたブレンド率に応じてブレンドすることにより動き補償画像を生成するブレンド部と、ブレンド部により生成された動き補償画像とターゲット画像とを加算する加算部とを備える。【選択図】図１
2012142829.tif 000002
【特許請求の範囲】
【請求項１】
自装置の動きを検出する検出部と、
フレーム間における動きを示す第１の動きベクトルおよび第２の動きベクトルの各々から求められる第１の動き補償画像および第２の動き補償画像のブレンド率を、前記検出部により検出された自装置の動きに基づいて算出するブレンド率算出部と、
前記第１の動き補償画像および第２の動き補償画像を、前記ブレンド率算出部により算出された前記ブレンド率に応じてブレンドすることにより動き補償画像を生成するブレンド部と、
前記ブレンド部により生成された前記動き補償画像と前記ターゲット画像とを加算する加算部と、
を備える、画像処理装置。
【請求項２】
前記第２の動き画像は、
前記第１の動き補償画像を求めるために使用されたフレームに対して１フレーム以上遅延させたフレームをもとに求められた動き補償画像である、
請求項１に記載の画像処理装置。
【請求項３】
前記第1の動きベクトルは、
前記フレーム内に設定されたブロック単位で算出されたベクトルである、
請求項１に記載の画像処理装置。
【請求項４】
前記第２の動きベクトルは、
前記フレーム単位で算出されたベクトルである、
請求項１に記載の画像処理装置。
【請求項５】
前記検出部は、
自装置の運動を検出することにより自装置の動きを検出する、
請求項１に記載の画像処理装置。
【請求項６】
前記検出部は、
自装置に対する固定部材の接続を検出することにより自装置の動きを検出する、
請求項１に記載の画像処理装置。
【請求項７】
自装置の動きを検出するステップと、
フレーム間における動きを示す第1の動きベクトルおよび第２の動きベクトルの各々から求められる第１の動き補償画像および第２の動き補償画像のブレンド率を、自装置の動きに基づいて算出するステップと、
前記第１の動き補償画像および第２の動き補償画像を、前記ブレンド率に応じてブレンドすることにより動き補償画像を生成するステップと、
前記動き補償画像と前記ターゲット画像とを加算する加算部と、
を含む、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関し、特に、画像に含まれるノイズを低減する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
画像の撮影において、連続して撮影された複数の画像（フレーム）を重ね合わせて、ノイズが低減された画像を得る技術が知られている。例えば、処理対象となる画像（ターゲット画像）に、ターゲット画像の前または後に連続して撮影され、動き検出および動き補償によって位置合わせされた複数の画像（参照画像）を重ね合わせた場合、略同一の画像が時間方向で積分されることになるため、各画像にランダムに含まれるノイズが相殺され、結果としてノイズが低減される。以下、このような方法によるノイズ低減（ＮＲ：Noise  Reduction）を、フレームＮＲという。
【０００３】
従来、ターゲット画像内に設定されたターゲットブロックについてのローカル動きベクトルを検出し、当該検出したローカル動きベクトル用いて、２画像間の画像全体に加わっている変形を表わすグローバルモーションを算出することが行なわれている。グローバルモーションは、通常は、画像の静止画部分としての背景の動きおよび動き量を示すものとなる。
【０００４】
グローバルモーションを用いた技術としては、例えば、画像内における背景静止画部分と動被写体部分を分離し、グローバルモーションから生成したグローバル動きベクトルと一致したローカル動きベクトルを用いて動き補償画像（ＭＣ画像）を生成し、動き補償画像とターゲット画像とを重ね合わせる技術について開示されている（例えば、特許文献１参照）。この技術では、グローバル動きベクトルとローカル動きベクトルとを適用的に用いてＭＣ画像を生成し、重ね合わせ処理を行うものである。
【０００５】
この技術では、例えば、ローカル動きベクトルの信頼性が高いときは、ローカル動きベクトルから求まるＭＣ画像を使用することで、動被写体を考慮した重ね合わせ処理を行うことができる。また、ローカル動きベクトルの信頼性が低い場合、ローカル動きベクトルは使わず、グローバル動きベクトルから求まるＭＣ画像を使用することで、動被写体の画像であるのかノイズであるのかに関して不確定なＭＣ画像が生成されることを避け、安定した重ね合わせ処理を行うことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２９０８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記した技術を用いた場合には、複数の画像からグローバル動きベクトルを算出する場合、例えば、画像内に特徴点が少ない場合には、グローバル動きベクトルが一意に求まらないケースがあるという問題があった。また、例えば、画像内に複数の異なる動きがある場合には、グローバル動きベクトルが一意に求まらないケースがあるという問題があった。
【０００８】
また、一般的には、撮影シーンが切り替わったり、撮影範囲を拡大・縮小したときなどに、グローバル動きベクトルが急に変化したりする。グローバル動きベクトルを多く使用した画像とローカルベクトルを多く使用した画像との間では、見た目のノイズに差があるため、両画像の間において途中で切り替えが行われるとユーザが違和感を覚える可能性が高いという問題があった。特に、動画に対して画像処理を行う場合には、毎フレームの連続性が重視されるため、フレーム毎にＮＲ強度が違う場合には、ＮＲ処理をしない場合よりも不自然な印象をユーザに対して与えることになる。
【０００９】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、グローバル動きベクトルを考慮した画像処理装置において、グローバル動きベクトルの信頼性の変動に関わらず安定したＮＲ効果を得つつ、グローバル動きベクトルが急に変化する場合においても不自然なＮＲ効果を生じないようにすることが可能な、新規かつ改良された画像処理装置および画像処理方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のある観点によれば、自装置の動きを検出する検出部と、フレーム間における動きを示す第1の動きベクトルおよび第２の動きベクトルの各々から求められる第１の動き補償画像および第２の動き補償画像のブレンド率を、上記検出部により検出された自装置の動きに基づいて算出するブレンド率算出部と、上記第１の動き補償画像および第２の動き補償画像を、上記ブレンド率算出部により算出された上記ブレンド率に応じてブレンドすることにより動き補償画像を生成するブレンド部と、上記ブレンド部により生成された上記動き補償画像と上記ターゲット画像とを加算する加算部と、を備える、画像処理装置が提供される。
【００１１】
上記第２の動き画像は、上記第１の動き補償画像を求めるために使用されたフレームに対して１フレーム以上遅延させたフレームをもとに求められた動き補償画像であることとしてもよい。
【００１２】
上記第1の動きベクトルは、上記フレーム内に設定されたブロック単位で算出されたベクトルであることとしてもよい。
【００１３】
上記第２の動きベクトルは、上記フレーム単位で算出されたベクトルであることとしてもよい。
【００１４】
上記検出部は、自装置の運動を検出することにより自装置の動きを検出することとしてもよい。
【００１５】
上記検出部は、自装置に対する固定部材の接続を検出することにより自装置の動きを検出することとしてもよい。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、自装置の動きを検出するステップと、フレーム間における動きを示す第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）値によって評価されうる。
【００５０】
図４は、本発明の実施形態における動きベクトル検出処理についての説明図である。図４を参照すると、本実施形態における動きベクトル検出処理では、まず縮小面における動きベクトルが検出され、その結果に基づいて、基底面における動きベクトルが検出される。
【００５１】
上述のようなブロック単位の動きベクトルを検出する処理では、最小のＳＡＤ値を示す参照ブロックが動き補償ブロックとして特定される。つまり、動き補償ブロックを特定するためには、参照ブロックの位置を順次移動させながら、最小のＳＡＤ値を示す参照ブロックを探索する必要がある。例えば、精度が１ピクセルである動きベクトルを検出しようとする場合、動き補償ブロックを１ピクセルの精度で特定する必要があり、従って、最小のＳＡＤ値を示す参照ブロックの探索においても、参照ブロックを１ピクセル単位で順次移動させる必要がある。
【００５２】
このような参照ブロックの探索を、ターゲット画像および参照画像に対してそのまま実行する場合、ＳＡＤ値を算出する回数が多くなり、処理負荷が増大する。そこで、本実施形態では、図示されている例のように、ターゲット画像および参照画像をそれぞれ縮小した画像（縮小面）を作成し、縮小面において動きベクトルを検出した結果に基づいて、縮小されていないターゲット画像および参照画像（基底面）において動きベクトルを検出する。
【００５３】
具体的には、まず、ターゲット画像および参照画像の水平方向および垂直方向がそれぞれ１／ｎ（ｎ＝２，３，・・・）に縮小されて、縮小面ターゲット画像および縮小面参照画像が作成される。これによって、基底面ターゲットブロック２０１と、基底面ターゲットブロック２０１の参照画像への射影イメージに基づいて設定されるサーチ範囲２０２およびマッチング処理範囲２０３とは、それぞれ１／ｎに縮小されて、縮小面ターゲットブロック３０１、縮小面サーチ範囲３０２、および縮小面マッチング処理範囲３０３になる。
【００５４】
次に、縮小面参照画像において、縮小面マッチング処理範囲３０３内に設定される複数個の縮小面参照ブロック３０４と、縮小面ターゲットブロック３０１との間のＳＡＤ値を算出することによって、縮小面参照ブロック３０４の中で縮小面ターゲットブロック３０１との相関性が最も高いブロックが、縮小面動き補償ブロックとして特定される。さらに、縮小面ターゲットブロック３０１と縮小面動き補償ブロックとの間の位置ずれが、縮小面動きベクトル３０５として取得される。
【００５５】
次に、基底面参照画像において、縮小面動きベクトル３０５をｎ倍した基底面仮動きベクトル２０５が定義される。さらに、基底面ターゲットブロック２０１の基底面参照画像への射影イメージから基底面仮動きベクトル２０５の分だけ移動した位置の近傍に、基底面サーチ範囲２０６および基底面マッチング処理範囲２０７が設定される。続いて、基底面マッチング処理範囲２０７内に設定される複数の基底面参照ブロック２０８と、基底面ターゲットブロック２０１との間のＳＡＤ値を算出することによって、基底面参照ブロック２０８の中で基底面ターゲットブロック２０１との相関性が最も高いブロックが、基底面動き補償ブロックとして特定される。さらに、基底面ターゲットブロック２０１と基底面動き補償ブロックとの間の位置ずれが、基底面動きベクトルとして取得される。
【００５６】
ここで、縮小面参照画像が基底面参照画像に比べて１／ｎに縮小されているため、縮小面動きベクトル３０５の精度は、基底面で同様の探索によって求められる動きベクトルの精度のｎ倍の低い精度になる。例えば、参照ブロックを１ピクセル単位で順次移動させて動き補償ブロックを探索して動きベクトルを得ようとする場合、基底面の探索で得られる動きベクトルの精度は１ピクセルになるが、縮小面の探索で得られる動きベクトルの精度はｎピクセルになる。
【００５７】
それゆえ、本実施形態では、縮小面の探索によって得られた縮小面動きベクトル３０５に基づいて、基底面参照画像において基底面サーチ範囲２０６および基底面マッチング処理範囲２０７が設定され、所望の精度での動き補償ブロック２０８および動きベクトルの探索が実行される。縮小面動きベクトル３０５によって、ｎ倍の低い精度ではあるものの、動き補償ブロック２０８が存在しうる範囲は特定されている。そのため、基底面の探索の範囲は、元のサーチ範囲２０２よりもずっと小さい基底面サーチ範囲２０６でよい。例えば、図示された例において、基底面の探索によって１ピクセル単位の動きベクトルを得ようとする場合、基底面サーチ範囲２０６は、水平方向および垂直方向がいずれもｎピクセルの範囲でありうる。
【００５８】
本実施形態における動きベクトル検出処理では、元のサーチ範囲２０２の全体における動き補償ブロックの探索が、縮小面サーチ範囲３０２における探索に置き換えられる。これによって、参照ブロックのＳＡＤ値を算出する回数が、ターゲット画像および参照画像に対してそのまま実行する場合に比べて例えば１／ｎに削減される。また、本実施形態における動きベクトル検出処理では、基底面サーチ範囲２０６における追加の探索が実行されるが、基底面サーチ範囲２０６は、元のサーチ範囲２０２よりもずっと小さい範囲であるため、この追加の探索において参照ブロックのＳＡＤ値を算出する回数は多くない。従って、本実施形態における動きベクトル検出処理では、ターゲット画像および参照画像に対してそのまま実行する場合に比べて処理負荷が軽減される。
【００５９】
以上説明したように、本実施形態におけるフレームＮＲ処理では、連続して撮影された複数の画像を動き補償後に重ね合わせることによって、画像のノイズが低減される。動き補償のための動きベクトルの検出では、基底面を縮小した縮小面を用いた探索によって、より少ない負荷で処理が実行される。
【００６０】
図５は、各種の動画フレームＮＲの実現手法についての説明図である。図５に示すように、動画フレームＮＲを実現するシステムにおいては、グローバル動きベクトル算出のためのグローバル動き検出（グローバルＭＥ）を行って、前記グローバル動きベクトルを用いて動き補償画像を作り、フレーム加算をする手法や、ローカル動きベクトル算出のためのローカル動き検出（ローカルＭＥ）を行って、前記ローカル動きベクトルを用いて動き補償画像を作り、フレーム加算をする手法が一般的である。
【００６１】
たとえば、グローバル動きベクトルを用いたフレームＮＲは、フレーム内の動被写体部分について正しい動き補償画像を作ることができないため、動被写体部分についてはＮＲ効果を得ることができない。一方、ローカル動きベクトルを用いたフレームＮＲは、ローカルＭＥによって、フレーム内の動被写体部分について動き補償画像を生成することができるため、画面全体にＮＲ効果を得ることができる。
【００６２】
また、ローカル動きベクトルを用いたフレームＮＲは、背景など特徴点の少ない画像部分について、ローカル動きベクトルがノイズ等の不安定な要素に振られ、正しい動き補償画像を作ることができないため、高いＮＲ効果を期待できない。一方、グローバル動きベクトルを用いたフレームＮＲであれば、局所的な特徴点の有無に関わらず、動き補償画像を生成することができ、背景など特徴点の少ない画像部分についてもＮＲ効果を得ることができる。
【００６３】
そこで、動被写体部分と、背景などの特徴点の少ない画像部分の両方に対して高いＮＲ効果を得るための手法として、グローバル動きベクトル算出のためのグローバル動き検出（グローバルＭＥ）とローカル動きベクトル算出のためのローカル動き検出（ローカルＭＥ）とを行う手法も存在する。
【００６４】
ここで述べているグローバル動きベクトル算出は、複数フレーム間の画像情報を用いた信号処理により行われても良いし、ジャイロ素子など画像情報以外の情報を元に行われても良い。
【００６５】
図６は、本発明の実施形態に係る動画フレームＮＲの実現手法についての説明図である。図６に示すように、グローバル動きベクトルを考慮した動画フレームＮＲを実現するシステムにおいては、ローカル動きベクトル算出のためのローカル動き検出（ローカルＭＥ）とグローバル動きベクトル算出のためのグローバル動き検出（グローバルＭＥ）との２種類の動き検出（ＭＥ）を行う技術もある。例えば、特許文献１に記載されているような動画フレームＮＲの実現手法においては、ローカルＭＥとグローバルＭＥを行うために、１ｓｔＭＥ（ｐｒｅＭＥ）と２ｎｄＭＥ（本ＭＥ）を定義し、同じ画像に対して２回のローカルＭＥを行う手法が提案されている。
【００６６】
このような手法は、静止画撮影には適用できるが、画像が前段から後段へ流れていく動画システムに適用しようすると、同じ画像に対して２回ＭＥをするために、動き検出回路を２つ設ける必要が生じてしまう。動き検出回路のために消費されるリソースは膨大であり、過去にこのリソースを削減するさまざまな提案がなされている。しかしながら、グローバルＭＥとローカルＭＥをリアルタイムに行うためのリソースを削減する提案はなされていない。この実施形態に係る動画フレームＮＲの実現手法によれば、このような一般的な動画フレームＮＲの実現手法が抱えている他の問題をさらに解決することも可能である。
【００６７】
具体的には、第１の動き補償画像（例えば、ローカルＭＣ画像）を求めるために使用されたフレームに対して１フレーム以上遅延させたフレームをもとに求められた動き補償画像を第２の動き補償画像（例えば、グローバルＭＣ画像）とすることができる。これにより、従来のローカルＭＥで実現していたフレームＮＲ装置と同じ構成により、グローバル動きベクトルを考慮したローカ動画フレームＮＲを実現することができる。より具体的には、１つの動き検出回路で、ローカル動きベクトルとグローバル動きベクトルを算出することができ、グローバルＭＥとローカルＭＥとをリアルタイムに行うためのリソースを削減することができる。
【００６８】
＜１−３．フレームＮＲ処理の詳細＞
次に、本発明の実施形態におけるフレームＮＲ処理の詳細について、動き補償部１６、および画像重ね合わせ部１７の機能の詳細とともに説明する。
【００６９】
（動き補償部の詳細）
図７は、本発明の実施形態に係る撮像装置１０における動き補償部１６の機能構成を示すブロック図である。図７を参照すると、動き補償部１６は、ターゲットブロックバッファ部１６１、参照ブロックバッファ部１６２、マッチング処理部１６３、動きベクトル算出部１６４、コントロール部１６５、および動き補償画像生成部１６６を含む。これらの各部を含む動き補償部１６は、例えばＤＳＰを用いて実現されうる。
【００７０】
ここで、図８を参照して、ターゲットブロックバッファ部１６１について説明する。図７は、本発明の実施形態に係る撮像装置１０において動き補償部１６に含まれるターゲットブロックバッファ部１６１の機能構成を示すブロック図である。図８を参照すると、ターゲットブロックバッファ部１６１は、基底面バッファ部１６１１、縮小面バッファ部１６１２、および縮小化処理部１６１３を含む。
【００７１】
ターゲットブロックバッファ部１６１は、メモリ４、またはＲＡＷ／ＹＣ変換部１４から提供される基底面ターゲットフレーム２０１または縮小面ターゲットフレーム３０１の画素データを取得する。これらの画素データの取得元は、セレクタ１６１４によって切り替えられうる。例えば、ターゲットブロックバッファ部１６１は、静止画撮影時にはメモリ４から画素データを取得し、動画撮影時にはＲＡＷ／ＹＣ変換部１４から画素データを取得してもよい。なお、ここで取得される縮小面ターゲットフレーム３０１の画素データは、後述する画像重ね合わせ部１７に含まれる縮小面生成部１７４、または、ＲＡＷ／ＹＣ変換部１４によって生成され、メモリ４に格納されたものでありうる。
【００７２】
ターゲットブロックバッファ部１６１は、基底面バッファ部１６１１において、基底面ターゲットフレーム２０１の画素データを蓄積する。また、ターゲットブロックバッファ部１６１は、縮小面バッファ部１６１２において、縮小面ターゲットフレーム３０１の画素データを蓄積する。例えば、動画撮影時に、ＲＡＷ／ＹＣ変換部１４から取得される画素データに縮小面ターゲットフレーム３０１の画素データが含まれないような場合、ターゲットブロックバッファ部１６１は、縮小化処理部１６１３を用いて、基底面ターゲットフレーム２０１の画素データから縮小面ターゲットフレーム３０１の画素データを生成する。縮小化処理部１６１３を用いるか否かは、セレクタ１６１５によって切り替えられうる。
【００７３】
ターゲットブロックバッファ部１６１は、動き補償画像生成部１６６、およびマッチング処理部１６３に、基底面ターゲットフレーム２０１または縮小面ターゲットフレーム３０１の画素データを提供する。動き補償画像生成部１６６には、基底面バッファ部１６１１に蓄積された基底面ターゲットフレーム２０１の画素データが提供される。マッチング処理部１６３には、縮小面でのブロックマッチング処理時は縮小面バッファ部１６１２に蓄積された縮小面ターゲットフレーム３０１の画素データが、基底面でのブロックマッチング処理時には基底面バッファ部１６１１に蓄積された基底面ターゲットフレーム２０１の画素データが、それぞれ提供される。マッチング処理部１６３に提供される画素データは、セレクタ１６１６によって切り替えられうる。
【００７４】
続いて、図９を参照して、参照ブロックバッファ部１６２について説明する。図９は、本発明の実施形態に係る撮像装置１０において動き補償部１６に含まれる参照ブロックバッファ部１６２の機能構成を示すブロック図である。図９を参照すると、参照ブロックバッファ部１６２は、基底面バッファ部１６２１、縮小面バッファ部１６２２、セレクタ１６２３、およびグローバルＭＣバッファ部１６２４を含む。
【００７５】
参照ブロックバッファ部１６２は、メモリ４から、縮小面マッチング処理範囲および基底面マッチング処理範囲の画素データを取得する。取得された縮小面マッチング処理範囲および基底面マッチング処理範囲の画素データは、それぞれ基底面バッファ部１６２１および縮小面バッファ部１６２２に蓄積される。
【００７６】
また、参照ブロックバッファ部１６２は、動き補償画像生成部１６６、およびマッチング処理部１６３に、基底面または縮小面の参照ブロックの画素データを提供する。動き補償画像生成部１６６には、基底面バッファ部１６２１に蓄積された基底面マッチング処理範囲の画素データのうち、動き補償ブロックとして特定された範囲の画素データが提供される。マッチング処理部１６３には、縮小面でのブロックマッチング処理時は、縮小面バッファ部１６２２に蓄積された縮小面マッチング処理範囲の画素データのうち、ブロックマッチング処理で用いられる縮小面参照ブロックの画素データが提供される。また、基底面でのブロックマッチング処理時は、基底面バッファ部１６２１に蓄積された基底面マッチング処理範囲の画素データのうち、ブロックマッチング処理で用いられる基底面参照ブロックの画素データが提供される。なお、マッチング処理部１６３に提供される画素データは、セレクタ１６２３によって切り替えられる。
【００７７】
グローバルＭＣバッファ部１６２４は、メモリ４から、グローバルＭＣブロック（グローバル動きベクトルに基づいて参照ブロックが動き補償された動き補償ブロック）を取得する。このグローバルＭＣブロックは、図６に示した「過去のＧＭ」に相当するものである。取得されたグローバルＭＣブロックは、動き補償画像生成部１６６に出力される。ここで、グローバルＭＣバッファ部１６２４によるグローバルＭＣブロック（ローカル動きベクトルに基づいて参照ブロックが動き補償された動き補償ブロック）の出力タイミングは、基底面バッファ部１６２１によるローカルＭＣブロックの出力タイミングと合わせられるように、コントロール部１６５により制御される。
【００７８】
再び図７を参照する。マッチング処理部１６３は、ターゲットブロックと参照ブロックとの間の相関の強さを検出するブロックマッチングの処理を実行する。ターゲットブロックと参照ブロックとの間の相関の強さは、例えば、各画素の輝度信号のＳＡＤ値を用いて評価されうる。ターゲットブロックと参照ブロックとの間の相関の強さは、各画素の色差信号などの他の情報を用いて評価されてもよい。また、演算量の削減のために、演算の対象とする画素が間引かれてもよい。
【００７９】
動きベクトル算出部１６４は、参照画像のターゲット画像に対する動きをターゲットブロック毎にローカル動きベクトルとして算出する。具体的には、例えば、動きベクトル算出部１６４は、マッチング処理部１６３におけるブロックマッチングの処理結果に基づいて、ローカル動きベクトルを取得する。動きベクトル算出部１６４は、例えば、マッチング処理部１６３によって算出されたＳＡＤ値の最小値を検出および保持し、さらに、ＳＡＤ値が最小である参照ブロックの近傍の複数の参照ブロックのＳＡＤ値を保持して、二次曲線近似補間処理によって、サブピクセル精度の高精度のローカル動きベクトルを検出してもよい。
【００８０】
また、動きベクトル算出部１６４は、ローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値をターゲットブロック毎に算出する。具体的には、例えば、動きベクトル算出部１６４は、ターゲットブロックについての背景一致度合いの評価を行なって、ヒット率βを生成する。動きベクトル算出部１６４からは、ヒット率βが画像重ね合わせ部１７に出力される。また、動きベクトル算出部１６４は、グローバル動きベクトルを算出し、算出したグローバル動きベクトルをメモリ４に格納する。ここでメモリ４に格納されたグローバル動きベクトルは、図６に示した次回の動き検出（ローカルＭＥ）において使用される。
【００８１】
コントロール部１６５は、動き補償部１６の各部を制御する。コントロール部１６５は、例えば、ターゲットブロックバッファ部１６１に含まれるセレクタ１６１４〜１６１６、および参照ブロックバッファ部１６２に含まれるセレクタ１６２３を制御する。また、コントロール部１６５は、ターゲットブロックバッファ部１６１および参照ブロックバッファ部１６２によって提供される画素データに応じて、縮小面または基底面でのブロックマッチング処理を実行するようにマッチング処理部１６３を制御してもよい。
【００８２】
続いて、図１０を参照して、動き補償画像生成部１６６について説明する。図１０は、本発明の実施形態に係る撮像装置１０において動き補償部１６に含まれる動き補償画像生成部１６６の機能構成を示すブロック図である。図１０に示すように、動き補償画像生成部１６６は、参照ブロックバッファ部１６２から同じタイミングにより出力されたグローバル動き補償ブロックおよびローカル動き補償ブロックをブレンドする。動き補償画像生成部１６６は、かかる処理を行うことにより、動き補償画像を生成することができる。具体的には、例えば、動き補償画像生成部１６６は、グローバル動き補償ブロックとローカル動き補償ブロックとを制御部１からの制御に基づいてブレンドすることにより、動き補償ブロックをターゲットブロック毎に生成することができる。
【００８３】
グローバル動き補償ブロックとローカル動き補償ブロックとのブレンド率は、例えば、ブレンド率制御回路１６６１において算出される。ブレンド率制御回路１６６１は、例えば、制御部１（例えば、ＣＰＵなど）から与えられた撮像装置１０の動きを示す情報に基づいてブレンド率を算出する。ブレンド率制御回路１６６１は、ブレンド率算出部の一例として機能する。
【００８４】
なお、ここでは、ブレンド率制御回路１６６１は、グローバル動き補償ブロックとローカル動き補償ブロックとのブレンド率を算出することとするが、フレーム間における動きを示す第1の動きベクトルおよび第２の動きベクトルの各々から求められる第１の動き補償画像および第２の動き補償画像のブレンド率を算出することもできる。この場合における第1の動きベクトルおよび第２の動きベクトルは、特に限定されるものはない。第１の動きベクトルとしては、フレーム内に設定されたブロック単位で算出されたベクトルを使用することができる。また、第２の動きベクトルとしては、フレーム単位で算出されたベクトルを使用することができる。ローカル動きベクトルは、フレーム内に設定されたブロック単位で算出されたベクトルの一例であり、グローバル動きベクトルは、フレーム単位で算出されたベクトルの一例である。
【００８５】
また、乗算回路１６６２は、ブレンド率制御回路１６６１により算出されたブレンド率に基づいて、グローバル動き補償ブロックおよびローカル動き補償ブロックを足し合わせる。例えば、三脚台のような固定部材に接続されている場合などにはグローバル動きベクトルにブレが生じない場合には、ブレンドされるグローバルＭＣブロックの比率を高くすればよい。一方、加速度センサやジャイロセンサ等により撮影者自身の手ブレが検出された場合、ブレンドされるローカルＭＣブロックの比率が高くすればよい。乗算回路１６６２は、ブレンド部の一例として機能する。
【００８６】
動き補償においては、例えば、参照ブロックに対して、グローバルモーションおよびローカルモーションの各々に対応する処理、つまり、平行移動、回転、拡大縮小を伴う変形処理を施して、その結果得られたグローバルＭＣブロックおよびローカルＭＣブロックをブレンドすることにより動き補償画像を生成することができる。動き補償画像生成部１６６からは、動き補償ブロック（動き補償画像）とターゲットブロック（ターゲット画像）とが画像重ね合わせ部１７に出力される。
【００８７】
（画像重ね合わせ部の詳細）
図１１は、本発明の実施形態に係る撮像装置１０における画像重ね合わせ部１７の機能構成を示すブロック図である。図１１を参照すると、画像重ね合わせ部１７は、加算率計算部１７１、加算部１７２、基底面出力バッファ部１７３、縮小面生成部１７４、および縮小面出力バッファ部１７５を含む。これらの各部を含む画像重ね合わせ部１７は、例えばＤＳＰを用いて実現されうる。
【００８８】
加算率計算部１７１は、動き補償部１６から、基底面ターゲットブロックおよび動き補償ブロックの画素データを取得し、これらのブロックの加算率を算出する。基底面ターゲットフレーム２０１と動き補償ブロック２０８とは、例えば、単純加算方式または平均加算方式などの加算方式によって加算されうる。加算率計算部１７１は、これらの加算方式に応じて加算率を算出しうる。加算率計算部１７１は、算出した加算率と、基底面ターゲットフレーム２０１および動き補償ブロック２０８の画素データとを、加算部１７２に提供する。
【００８９】
加算部１７２は、加算率計算部１７１から、基底面ターゲットブロックおよび動き補償ブロックの画素データと、これらのブロックの加算率とを取得する。加算部１７２は、基底面ターゲットブロックの画素データと動き補償ブロックの画素データとを、取得した加算率で加算し、フレームＮＲの効果によってノイズが低減された基底面ＮＲブロックを生成する。加算部１７２は、基底面ＮＲブロックの画素データを、基底面出力バッファ部１７３および縮小面生成部１７４に提供する。
【００９０】
基底面出力バッファ部１７３は、加算部１７２から提供された基底面ＮＲブロックの画素データを蓄積し、基底面ＮＲ画像としメモリ４に提供する。
【００９１】
縮小面生成部１７４は、加算部１７２から提供された基底面ＮＲブロックの画素データを縮小して、縮小面ＮＲブロックの画素データを生成する。縮小面生成部１７４は、縮小面ＮＲブロックの画素データを、縮小面出力バッファ部１７５に提供する。
【００９２】
縮小面出力バッファ部１７５は、縮小面生成部１７４から提供された縮小面ＮＲブロックの画素データを蓄積し、縮小面ＮＲ画像としてメモリ４に格納する。ここでメモリ４に格納された縮小面ＮＲ画像は、例えば、静止画撮影時に、フレームＮＲ後のターゲット画像にさらに参照画像を重ね合わせる場合、縮小面ターゲット画像として用いられうる。また、ここでメモリ４に格納された縮小面ＮＲ画像は、動画撮影時に、次のフレームをターゲット画像としてフレームＮＲを実行する場合、縮小面参照画像として用いられうる。
【００９３】
（撮像装置の使用例から見るブレンド率の変化）
以下において、補償ブロックに対してグローバル動き補償ブロックがブレンドされる割合を単に「ブレンド率」と言うことにする。図１２は、本実施形態に係る撮像装置１０の使用時におけるブレンド率の変化の一例を示す図である。図１２に示すように、撮像装置１０による撮影時において、固定部材が接続されている場合には、グローバル動きベクトルにブレがあまり生じないと考えられるため、ブレンド率を高くすることができる。また、撮像装置１０による撮影時において、撮像装置１０から固定部材が切断されている場合には、グローバル動きベクトルにブレが生じていると考えられるため、ブレンド率を下げることができる。
【００９４】
また、撮像装置１０による撮影時において、撮像装置１０から固定部材が接続された場合には、ブレンド率を上げることができる（再度高くすることができる）。ブレンド率が高い状態から低い状態、あるいはブレンド率が低い状態から高い情報への遷移は、図１２に示すように緩やかに行うことが好ましい。急激にブレンド率を変化させることにより、ユーザの目に違和感を覚えさせることを防止するためである。
【００９５】
図１３は、本実施形態に係る撮像装置１０の使用時におけるブレンド率の変化の他の一例を示す図である。図１３に示すように、撮像装置１０による撮影時において、ユーザの手ブレが発生していない場合には、グローバル動きベクトルにブレがあまり生じないと考えられるため、ブレンド率を高くすることができる。また、撮像装置１０による撮影時において、ユーザの手ブレが発生していない場合には、グローバル動きベクトルにブレが生じていると考えられるため、ブレンド率を下げることができる。
【００９６】
ブレンド率が高い状態から低い状態、あるいはブレンド率が低い状態から高い情報への遷移は、図１３に示すように緩やかに行うことが好ましい。急激にブレンド率を変化させることにより、ユーザの目に違和感を覚えさせることを防止するためである。また、図１３に示すように、ブレンド率を下げ終わった状態からブレンド率を上げるまでには、所定時間を設けるようにするのが好ましい。一度ユーザの手ブレが発生した直後は、再びユーザの手ブレが発生する可能性が高いからである。
【００９７】
（動画撮影時）
次に、この実施の形態の撮像装置１０において、動画撮影時における画像の重ね合わせによるノイズ低減処理のフローチャートを、図１４に示す。この図１４のフローチャートの各ステップも、制御部１およびこの制御部１により制御される動き補償部１６のコントロール部１６５の制御の下に実行されるものである。動画記録ボタンがユーザにより操作されると、制御部１は、図１４の処理をスタートから開始するように指示する。
【００９８】
この実施の形態では、動き補償部１６は、ターゲットブロック単位でマッチング処理をするのに適した構成とされている。そこで、信号処理部１３は、制御部１による制御に従って、フレーム画像を保持し、ターゲットブロック単位で、動き補償部１６へ画像データを送る（ステップＳ１０１）。
【００９９】
動き補償部１６に送られたターゲットブロックの画像データは、ターゲットブロックバッファ部１６１に格納される。次に、コントロール部１６５は、ターゲットブロックに対応した参照ベクトルを設定し（ステップＳ１０２）、メモリ４から、マッチング処理範囲の画像データを参照ブロックバッファ部１６２へ読み込む（ステップＳ１０３）。
【０１００】
次に、マッチング処理部１６３および動きベクトル算出部１６４は、この実施形態における階層化ブロックマッチングによる動き検出処理を行う（ステップＳ１０４）。すなわち、マッチング処理部１６３は、先ず、縮小面において、縮小面ターゲットブロックの画素値と縮小面参照ブロックの画素値との間のＳＡＤ値を算出し、算出したＳＡＤ値を動きベクトル算出部１６４へ送る。マッチング処理部１６３は、この処理をサーチ範囲内のすべての縮小面参照ブロックで繰り返す。サーチ範囲内のすべての縮小面参照ブロックについてのＳＡＤ値の算出が終了した後、動きベクトル算出部１６４は、最小のＳＡＤ値を特定して、縮小面動きベクトルを検出する。
【０１０１】
コントロール部１６５は、動きベクトル算出部１６４で検出された縮小面動きベクトルを縮小率の逆数倍して、基底面上における動きベクトルに変換し、その変換したベクトルが、基底面において指し示す位置を中心した領域を、基底面におけるサーチ範囲とする。そして、コントロール部１６５は、マッチング処理部１６３に、当該サーチ範囲において、基底面におけるブロックマッチング処理を行わせるように制御する。マッチング処理部１６３は、基底面ターゲットブロックの画素値と基底面参照ブロックの画素値との間のＳＡＤ値を算出し、算出したＳＡＤ値を動きベクトル算出部１６４へ送る。
【０１０２】
サーチ範囲内のすべての縮小面参照ブロックについてのＳＡＤ値の算出が終了した後、動きベクトル算出部１６４は、最小のＳＡＤ値を特定して、縮小面動きベクトルを検出すると共に、その近傍のＳＡＤ値を特定し、それらのＳＡＤ値を用いて、前述した二次曲線近似補間処理を行い、サブピクセル精度の高精度の動きベクトルを出力する。
【０１０３】
次に、コントロール部１６５は、ステップＳ１０４で算出された高精度の動きベクトルにしたがって、参照ブロックバッファ部１６２から動き補償ブロックの画像データを読み出し（ステップＳ１０５）、ターゲットブロックと同期して、後段の画像重ね合わせ部１７へ送る（ステップＳ１０６）。
【０１０４】
画像重ね合わせ部１７においては、ターゲットブロックと動き補償ブロックの重ね合わせを行う。そして、画像重ね合わせ部１７は、その重ね合わせた結果のＮＲ画像の画像データを、ＮＴＳＣエンコーダ２０を通じてディスプレイ６に出力することで、動画記録モニターをすると共に、動画コーデック１９を通じてストレージ５に送り、記録媒体に記録するようにする（ステップＳ１０７）。
【０１０５】
画像重ね合わせ部１７で重ね合わせされた画像は、また、メモリ４に格納し、次のフレーム（ターゲットフレーム）での参照フレームとなるようにする（ステップＳ１０８）。
【０１０６】
そして、制御部１は、動画記録停止操作がユーザによりなされたか否か判別し（ステップＳ１０９）、当該動画記録停止操作がユーザによりなされていないと判別したときには、ステップＳ１０１に戻って、このステップＳ１０１以降の処理を繰り返すように指示する。また、ステップＳ１０９で、動画記録停止操作がユーザによりなされたと判別したときには、制御部１は、この処理ルーチンを終了するようにする。
【０１０７】
以上の動画のノイズ低減処理の処理ルーチンにおいては、１フレーム前の画像フレームを参照フレームとするようにしたが、１フレームよりもさらに過去のフレームの画像を参照フレームとして用いるようにしても良い。また、１フレーム前と２フレーム前の画像を、メモリ４に格納しておき、それらの２枚の画像情報の内容から、どちらの画像フレームを参照フレームにするかを選択しても良い。
【０１０８】
上記のような手段、手順、システム構成を用いることで、一つの共通したブロックマッチング処理のハードウェアで、静止画ノイズ低減処理および動画ノイズ低減処理を行うことが可能になる。
【０１０９】
（動き補償ブロック作成の処理の流れ）
次に、この実施の形態の撮像装置１０において実行される動き補償ブロック作成の処理の流れを示すフローチャートを図１５に示す。図１５に示すように、動きベクトル算出部１６４は、動き検出・補償を行う座標を計算し（ステップＳ２０１）、ローカル動きベクトルを検出する（ステップＳ２０２）。動き補償画像生成部１６６は、動きベクトル算出部１６４により検出されたローカル動きベクトルによってローカルＭＣブロックを作成する（ステップＳ２０３）。一方、動きベクトル算出部１６４は、アフィンパラメータをもとに動きベクトル算出部１６４により検出されたローカル動きベクトルに基づいてグローバル動きベクトルを計算する（ステップＳ２０４）。
【０１１０】
動き補償画像生成部１６６は、グローバル動きベクトルをもとにグローバルＭＣブロックを作成し（ステップＳ２０５）、ローカルＭＣブロックとグローバルＭＣブロックとの関係からローカルＭＣブロックとグローバルＭＣブロックとをブレンドするか否かを判定する（ステップＳ２０６）。動き補償画像生成部１６６は、ローカルＭＣブロックとグローバルＭＣブロックとをブレンドしないと判定した場合には、ステップＳ２０８に進む。一方、動き補償画像生成部１６６は、ローカルＭＣブロックとグローバルＭＣブロックとをブレンドすると判定した場合には、制御部１から設定されたブレンド率に基づき、動き補償ブロックを作成し（ステップＳ２０７）、ステップＳ２０８に進む。
【０１１１】
ステップＳ２０８に進んだ場合には、動きベクトル算出部１６４は、Ｘ，Ｙループが終了したか否かを判定し（ステップＳ２０８）、Ｘ，Ｙループが終了していないと判定した場合には、次のＸＹ座標を動き検出・補償を行う座標として算出するため、ステップＳ２０１に戻る。動きベクトル算出部１６４は、Ｘ，Ｙループが終了したと判定した場合には、動き補償ブロック作成の処理を終了する。
【０１１２】
動き補償画像生成部１６６は、生成結果としてのＭＣ画像の精度を向上するために、ピクセル単位でローカルＭＣ画像（ＬＭＣ）とグローバルＭＣ画像（ＧＭＣ）とをブレンドし、ＭＣ画像を出力することができる。動き補償画像生成部１６６は、ブレンドの際の重み係数（ＧＭＣ＿Ｗ）の算出には、動体判定とＬＭＶの信頼度から行うことができる。
【０１１３】
すなわち、
・ＬＭＣとＧＭＣの差が大きいときは、動体部分なのでＬＭＣを使う。
・ＬＭＶの信頼度が低いときは、ＧＭＣのブレンド比率を上げる。
（ＬＭＶの信頼度が低い＝ＳＡＤの最小値と第二極小値の差が小さいｏｒ周辺のＬＭＶの分散が大きい）
・Ｃｂ，Ｃｒのブレンド時には、ＬＭＣ，ＧＭＣとも輝度（Ｙ信号）を用いて判定を実施する。
【０１１４】
ＬＭＶの信頼度判定は、例えば、以下のような判定式により行うことができる。
Ｉｆ（（ブロックマッチング時のＳＡＤテーブルの第二極小値−ブロックマッチング時の最小ＳＡＤ値＜＝ＳＡＤ＿ＴＨ）｜｜（ＬＭＶ差分絶対値ＭＡＸ＞ＬＭＶ＿ＴＨＲ））
ＬＭＶの信頼度が低い；
【０１１５】
差分の計算方式：ＭＶ１，ＭＶ２に対して、｜ＭＶ１−ＭＶ２｜＝｜ＭＶ１．ｘ−ＭＶ２．ｘ｜＋｜ＭＶ１．ｙ−ＭＶ２．ｙ｜
【０１１６】
ＧＭＣとＬＭＣのブレンド比率決定は、例えば、以下のような判定式により行うことができる。
【０１１７】
Ｉｆ（ＬＭＣとＧＭＣの差＞ＧＭＣ＿ＤＩＦＦ＿ＴＨＲ）｛
ＧＭＣ＿Ｗ＝０；
／／（撮像装置１０が動いているのでＬＭＣを使う。ＧＭＣはブレンドせず）
ｅｌｓｅ  Ｉｆ（ＬＭＶの信頼度が低い）
ＧＭＣ＿Ｗ＝ＧＭＣ＿Ｗ＿Ｌ；
ｅｌｓｅ
ＧＭＣ＿Ｗ＝ＧＭＣ＿Ｗ＿Ｓ；
｝
【０１１８】
図１６は、本実施形態に係る撮像装置の使用時における動作モード毎のグローバル動きベクトルとＧＭＣブレンド率とを示す図である。動作モード「通常撮影」は、撮像装置１０が固定されていない状態を意味し、動作モード「固定撮影」は、撮像装置１０が固定されている状態を意味するものとする。この状態は、検出部７により検出された撮像装置１０の動きに基づいて判定される。
【０１１９】
図１６に示すように、動作モード「通常撮影」の場合には、グローバル動きベクトルがリアルタイムに（例えば、２フレーム遅延により）計算されるが、動作モード「固定撮影」の場合には、グローバル動きベクトルは新たに計算されないことにする。また、動作モード「通常撮影」の場合には、ＧＭＣブレンド率が手ブレに応じて計算されるが、動作モード「固定撮影」の場合には、ＧＭＣブレンド率は高い値に設定されることにする。
【０１２０】
（加算率算出処理の流れ）
この実施形態においては、加算率計算部１７１では、画素単位に加算率α（０≦α≦１）を求める。そして、前述したように、基本的には、ターゲット画像と動き補償画像との画素単位の違いと、ヒット率βとに応じて加算率αを計算する。このため、加算率計算部１７１には、ヒット率βと、ターゲット画像のデータＴＧｖおよび動き補償画像のデータＭＣｖが供給される。
【０１２１】
ここで、ターゲット画像と動き補償画像との画素単位の違いが大きければ、動き部分と考えられるので、加算率αは低くすべきであるが、前記画素単位の違いがない、あるいは小さければ加算率αは高くしても良い。しかし、ターゲットブロックが背景静止画部分であるか、動被写体部分であるかが不明である場合には、前述したように、動き部分における２重露光が目立たないようにするために、加算率αは比較的低く抑える必要がある。
【０１２２】
しかし、この実施形態では、ヒット率βにより、背景静止画部分としての一致度合いが求められているので、ヒット率βが大きく、背景一致度合いが高いほど、加算率αは高くするようにする。
【０１２３】
また、この実施形態では、さらに画像のノイズは、撮影シーンの明るさ（画像のゲイン量）に応じたものとなるので、加算率計算部１７１では、ターゲット画像と動き補償画像との画素単位の違いに関しては、当該撮影シーンの明るさ（画像のゲイン量）に応じたノイズを考慮するようにしている。すなわち、ターゲット画像と動き補償画像との画素単位の違いがノイズの範囲内であれば、両者の実際の差分は小さいと判断する。また、前記画素単位の違いがノイズの範囲よりも大きいときには、両者の差分は、実際に大きいと判断するようにする。
【０１２４】
（加算処理の詳細）
上記したように、加算部１７２は、加算率αを用いて、ターゲット画像に動き補償画像を、画素毎に重ね合わせてＮＲ画像を生成する。ここで、加算部１７２による加算率αを用いた重ね合わせの手法については様々なものが想定される。図１７は、ターゲット画像と動き補償画像との重ね合わせの一例を説明するための図である。
【０１２５】
図１７に示した例では、ターゲット画像Ａに対して動き補償画像Ｂを重ね合わせ、この重ね合わせにより生成された画像Ｂ’に対して動き補償画像Ｃを重ね合わせ、この重ね合わせにより生成された画像Ｃ’に対して動き補償画像Ｄを重ね合わせることにより、重ね合わせ後の画像を生成する例について示している。しかし、ターゲット画像に重ね合わせる動き補償画像の枚数は３枚以外でもよく、１枚以上であれば特に限定されるものではない。
【０１２６】
図１７に示すように、重ね合わせの回数を増加させるとともに、Ｐの値を「１／２」「１／３」「１／４」・・・と下げながら、動き補償画像を次々と加算していくことができる。すなわち、重ね合わせの回数をｎ回とした場合、Ｐの値を「１／ｎ−１」として、動き補償画像を加算する。このような加算により、ターゲット画像および動き補償画像の全てを均等な重みにより加算することができる。
【０１２７】
＜２．まとめ＞
本発明の実施形態において、グローバル動きベクトルを考慮した画像処理装置において、グローバル動きベクトルの信頼性の変動に関わらず安定したＮＲ効果を得つつ、グローバル動きベクトルが急に変化する場合においても不自然なＮＲ効果を生じないようにすることができる。また、動画撮影時において、グローバルＭＥとローカルＭＥをリアルタイムに求めるためのリソースを削減することができる。
【０１２８】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【０１２９】
例えば、本発明の実施形態においては、動き検出・動き補償機能付きフレームＮＲについて説明したが、本発明の実施形態は、他のフレームＮＲにも適用できるものである。例えば、フレームＮＲには大きく分けて以下の種類があると考えられる。
１．ブロック単位でのローカルＭＥによる動き補償＋フレームＮＲ
２．画面単位でのグローバルＭＥによる動き補償＋フレームＮＲ
３．動き補償なし（すなわち、動き０）の前フレーム画像を使用したフレームＮＲ
【０１３０】
本発明の実施形態では、ブロック単位でのローカルＭＥによる動き補償＋画面単位でのグローバルＭＥによる動き補償のような２種類の動き補償画像を考慮したフレームＮＲについて提案している。こういった２種類の動き補償画像を使用する場合、まず、２つの動き補償画像を比較し、次に、隣接するベクトルのばらつきを考慮し、最後に撮像装置１０自体の動きの情報をもとに２種類の動き補償画像をブレンドするのが望ましい。
【０１３１】
この技術は、他の組み合わせでも適用することが可能である。例えば、
１．ブロック単位でのローカルＭＥによる動き補償＋動き０の前フレーム画像
２．画面単位でのグローバルＭＥによる動き補償＋動き０の前フレーム画像
に対してなどである。また、光学式手ブレなどの撮像装置１０外部の情報と組み合わせても良い。また、３種類以上の動き検出と組み合わせても良い。
【０１３２】
例えば、上記実施形態では、画像処理装置として撮像装置を例示したが、本発明はかかる例に限定されない。例えば、画像処理装置は、保存されている画像データを加工するために用いられる独立した装置であってもよく、また、画像データを加工するアプリケーションとしてＰＣ（Personal  Computer）などの情報処理装置に組み込まれていてもよい。
【０１３３】
また、上記実施形態では、画像処理装置の動き補償部、および画像重ね合わせ部の機能がＤＳＰを用いて実現される場合を例示したが、本発明はかかる例に限定されない。例えば、これらの各部の機能は、専用のハードウェアによって実現されてもよく、またＣＰＵを用いてソフトウェアとして実現されてもよい。
【符号の説明】
【０１３４】
１０    撮像装置（画像処理装置）
１      制御部
７      検出部
１６    動き補償部
１６３  マッチング処理部
１６４  動きベクトル算出部
１６５  コントロール部
１６６  補償画像生成部
１６６１  ブレンド率制御回路（ブレンド率算出部）
１６６２  乗算回路（ブレンド部）
１６７  相関性判定部
１７１  加算率計算部
１７２  加算部
【図１】
2012142829.tif 000003
【図２】
2012142829.tif 000004
【図３】
2012142829.tif 000005
【図４】
2012142829.tif 000006
【図５】
2012142829.tif 000007
【図６】
2012142829.tif 000008
【図７】
2012142829.tif 000009
【図８】
2012142829.tif 000010
【図９】
2012142829.tif 000011
【図１０】
2012142829.tif 000012
【図１１】
2012142829.tif 000013
【図１２】
2012142829.tif 000014
【図１３】
2012142829.tif 000015
【図１４】
2012142829.tif 000016
【図１５】
2012142829.tif 000017
【図１６】
2012142829.tif 000018
【図１７】
2012142829.tif 000019