(57)【特許請求の範囲】
【請求項１】
複数の異なる視点から同じ被写体を撮像することで得られた複数の画像データを入力する入力手段と、
前記複数の画像データが示す複数の画像の位置合わせ処理を行う位置合わせ手段と、
前記複数の画像に含まれ、かつ、前記位置合わせ手段による位置合わせが成功した画素の画素値を平均することにより得られた画素値を持つ画素によって構成される平均画像を示す平均画像データを生成する平均画像生成手段と、
前記平均画像の画素の画素値と、前記平均画像を生成するために用いられた前記複数の画像に含まれる任意の画像における位置合わせが成功した画素の画素値と、を用いることによって、前記複数の画像のうちの少なくとも１つ画像のノイズを示すノイズデータを取得するノイズ取得手段と、
前記ノイズデータを用いることによって、前記複数の画像のうちの少なくとも１つの画像のノイズを低減するノイズ低減手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記平均画像の画素値と、前記複数の画像に含まれ、かつ、前記位置合わせ手段による位置合わせが成功した画素の画素値と、の差分を算出する減算手段をさらに備え、
前記ノイズデータは前記ノイズの分散を表し、
前記ノイズ取得手段は、前記差分を用いることによって前記ノイズデータを取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ノイズ取得手段は、輝度毎に定義されているノイズの分散を前記ノイズデータとして取得することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記ノイズ取得手段は、前記ノイズの分散として、基準画像に対応した単一の値を使用することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記平均画像の画素値と、前記複数の画像に含まれ、かつ、前記位置合わせ手段による位置合わせが成功した画素の画素値と、の差分を算出する減算手段と、
前記複数の画像から基準画像を選択する基準画像選択手段とをさらに備え、
前記位置合わせ手段は、前記選択された基準画像と、前記複数の画像の中の残りの画像との間で位置合わせをし、
前記減算手段は、前記平均画像と前記基準画像との差分を算出し、
前記ノイズ取得手段は、前記差分を用いることによって前記ノイズデータを取得することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記位置合わせ手段は、前記位置合わせ処理で得られた画素ごとの相関値を表わす相関マップを生成し、
前記画像処理装置は、前記相関マップに基づいて、各画素の位置合わせが成功した画像の枚数を示す重ね合わせ枚数マップを生成するマップ生成手段をさらに備え、
前記平均画像生成手段は、前記重ね合わせ枚数マップを用いることによって前記平均画像データを生成し、
前記ノイズ低減手段は、前記重ね合わせマップを用いることによってノイズ低減することを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記ノイズ低減手段は、
前記ノイズ低減された画像にエッジ強調を施したエッジ強調画像を示すエッジ強調画像データを生成するエッジ強調手段と、
前記平均画像データと、前記エッジ強調画像データと、前記重ね合わせ枚数マップとから出力画像を生成する合成手段と
を含むことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記複数の画像における領域であって、前記位置合わせ手段による画素の位置合わせが成功した領域を示す位置合わせマップを生成するマップ生成手段をさらに備え、
前記ノイズ取得手段は、前記平均画像の画素値と、前記位置合わせマップによって示される、前記複数の画像のうちの少なくとも１つの画像における領域の画素の画素値と、を用いることによって前記ノイズデータを取得することを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項９】
前記位置合わせマップは、前記領域のそれぞれの画素に対する、前記複数の画像のうちの対応する画像の数を表すことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記平均画像生成手段は、前記複数の画像のうちの少なくとも１つの画像の、前記位置合わせマップで示される前記領域における画素の画素値を加算し、該加算した結果を前記位置合わせマップで示される画像の数で除算することにより、前記平均画像の画素値を算出することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記複数の画像は前記位置合わせ手段による位置合わせが成功していない画素を含み、前記ノイズ低減手段は、前記ノイズデータを用いることによって前記位置合わせが成功していない画素のノイズを低減することを特徴とする請求項１から１０のいずれか一項に記載の画像処理装置。
【請求項１２】
複数の異なる視点から同じ被写体を撮像することで得られた複数の画像データを入力する入力ステップと、
前記複数の画像データが示す複数の画像の位置合わせ処理を行う位置合わせステップと、
前記複数の画像に含まれ、かつ、前記位置合わせ手段による位置合わせが成功した画素の画素値を平均することにより得られた画素値を持つ画素によって構成される平均画像を示す平均画像データを生成する平均画像生成ステップと、
前記平均画像の画素の画素値と、前記平均画像を生成するために用いられた前記複数の画像に含まれる任意の画像における位置合わせが成功した画素の画素値と、を用いることによって、前記複数の画像のうちの少なくとも１つ画像のノイズを示すノイズデータを取得するノイズ取得ステップと、
前記ノイズデータを用いることによって、前記複数の画像のうちの少なくとも１つの画像のノイズを低減するノイズ低減ステップと
を備えることを特徴とする画像処理方法。
【請求項１３】
コンピュータを請求項１から請求項１１のいずれかに記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば多眼方式の撮像部から得られる画像のノイズ低減機能を提供するための画像処理装置、画像処理方法およびプログラムに関するものである。
【背景技術】
【０００２】
近年、産業界においてライトフィールドという概念を利用したカメラの高機能化が進められている。ライトフィールドとは、被写体からレンズへ入射する光を分割して撮影する概念である。この概念を具現化する主な方法は二通りある。一つ目はセンサと主レンズとの間にレンズアレイを配置する方法であり、二つ目は主レンズとセンサとを複数利用する、所謂多眼カメラである。
【０００３】
ライトフィールドの概念を利用したカメラを利用すると、距離推定やボケ味のダイナミックな変更など、従来の一眼カメラには無かった機能を実現できる。一方で、新しい機能ではないが、従来の機能の性能を向上させる事もできる。例えば、ノイズ低減機能の性能を向上させることができる。
【０００４】
多眼カメラを例に挙げると、同一被写体から得られた複数の画像群を位置合わせした後、それら画像の平均画像を生成すると、原理上ノイズが低減される。例えば、特許文献１には、位置合わせをして画像を重ね合わせて、ＭＡＰ法で高画質化する発明が記載されている。また、特許文献２には、位置合わせをして超解像処理を行う発明が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１１３５２７号公報
【特許文献２】特開２０１１−０２２８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１または２で提案されているような位置合わせをして画像を平均化するような方式には、画像中の全ての領域のノイズを低減する機能が備わっていない。
【０００７】
なぜなら、異なる視点から撮影した画像にはオクリュージョンが存在し、位置合わせできない画像領域が存在するからである。オクリュージョンとは、ある撮像部では撮影される領域であるが、別の撮像部では撮影されない領域が生じることである。つまり、オクリュージョンが無い画像領域は複数の画像の位置合わせができるのでノイズ低減されるが、オクリュージョンが存在する領域は複数の画像の位置合わせができないので位置合わせできない部分のノイズ低減ができない。このように、異なる視点から撮影した画像のノイズを低減しようとすると、画像領域によってノイズ低減の程度が変わってしまうという課題がある。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、複数の異なる視点から同じ被写体を撮像することで得られた複数の画像データを入力する入力手段と、前記複数の画像データが示す複数の画像の位置合わせ処理を行う位置合わせ手段と、前記複数の画像に含まれ、かつ、前記位置合わせ手段による位置合わせが成功した画素の画素値を平均することにより得られた画素値を持つ画素によって構成される平均画像を示す平均画像データを生成する平均画像生成手段と、前記平均画像の画素の画素値と、前記平均画像を生成するために用いられた前記複数の画像に含まれる任意の画像における位置合わせが成功した画素の画素値と、を用いることによって、前記複数の画像のうちの少なくとも１つ画像のノイズを示すノイズデータを取得するノイズ取得手段と、前記ノイズデータを用いることによって、前記複数の画像のうちの少なくとも１つの画像のノイズを低減するノイズ低減手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像中のノイズ低減程度が均一な画像を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る複数の撮像部を備えた多眼方式の撮像装置の一例を示した図である。
【図２】本発明の実施形態に係る多眼方式の撮像装置の内部構成を示すブロック図である。
【図３】本発明の実施形態に係る撮像部の内部構成を示す図である。
【図４】実施形態１の発明原理を示す図である。
【図５】実施形態１における、画像処理部２１２の構成を示す図である。
【図６】実施形態１における、画像処理部２１２のフローチャートを示す図である。
【図７】実施形態１における、画像の位置合わせの概念を示す図である。
【図８】実施形態１における、位置合わせ後の画像データの生成方法の概念を示す図である。
【図９】実施形態１における、画像解析部４０３の構成を示す図である。
【図１０】実施形態１における、画像解析部４０３のフローチャートを示す図である。
【図１１】実施形態１における基準画像選択部５００のフローチャートを示す図である。
【図１２】実施形態１のおける位置合わせ部５０１のフローチャートを示す図である。
【図１３】実施形態１における位置合わせの際の特徴点の対応探索を行う範囲を示す図である。
【図１４】実施形態１にノイズ分散測定部５０５のフローチャートを示す図である。
【図１５】実施形態１における画像補間部４０４の構成を示す図である。
【図１６】実施形態１における画像補間部４０４のフローチャートを示す図である。
【発明を実施するための形態】
【００１１】
＜実施形態１＞
図１は、複数の撮像部を備えた多眼方式による撮像装置（画像処理装置）の一例を示した図である。１００は撮像装置の筐体である。撮像装置は、カラー画像を取得する９個の撮像部１０１〜１０９及び撮影ボタン１１０を備えている。９個の撮像部は、正方格子上に均等に配置されている。
【００１２】
ユーザが撮影ボタン１１０を押下すると、撮像部１０１〜１０９が被写体の光情報をセンサ（撮像素子）で受光し、受光した信号がＡ／Ｄ変換されて、複数のカラー画像を示す画像データ（デジタルデータ）が同時に取得される。このような多眼方式の撮像装置により、同一の被写体を複数の視点位置から撮像したカラー画像群を得ることができる。
【００１３】
なお、図１の例では撮像部の数を９個としたが撮像部の数は９個に限定されない。撮像装置が複数の撮像部を有する限りにおいて本実施形態を適用することが可能である。また、図１の例では９個の撮像部が正方格子上に均等に配置される例について説明したが、撮像部の配置は任意とすることができる。例えば、放射状や直線状に配置してもよいし、まったくランダムに配置してもよい。
【００１４】
図２は、撮像装置１００の内部構成の一例を示すブロック図である。中央処理装置（ＣＰＵ）２０１は、以下に述べる各部を統括的に制御する。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ及びワークエリア等として機能する。ＲＯＭ２０３は、カメラパラメータ（画角やカメラモード）及びＣＰＵ２０１で実行される制御プラグラム等を格納している。バス２０４は各種データの転送経路である。例えば、撮像部１０１〜１０９によって取得されたデジタルデータはこのバス２０４を介して所定の処理部に送られる。
【００１５】
操作部２０５はユーザの指示を受け取るインターフェース機能を備えており、ボタンやモードダイヤルなどが含まれる。表示部２０６は撮影画像や文字の表示を行う。表示部には、例えば、液晶ディスプレイが用いられる。表示部２０６はタッチスクリーン機能を有していても良く、その場合はタッチスクリーンを用いたユーザ指示を操作部２０５の入力として扱うことも可能である。表示制御部２０７は、表示部２０６に表示される撮影画像や文字の表示制御を行う。
【００１６】
撮像部制御部２０８は、フォーカスを合わせる、シャッターを開く・閉じる、絞りを調節するなどの、ＣＰＵ２０１からの指示に基づいた撮像系の制御を行う。デジタル信号処理部２０９は、バス２０４を介して受け取ったデジタルデータに対し、ホワイトバランス処理、ガンマ処理、及びノイズ低減処理などの各種処理を行う。
【００１７】
エンコーダ部２１０は、デジタルデータをＪＰＥＧやＭＰＥＧなどのファイルフォーマットに変換する処理を行う。外部メモリ制御部２１１は、ＰＣやその他のメディア（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、又はＵＳＢメモリ）に繋ぐためのインターフェースである。
【００１８】
画像処理部２１２は、撮像部１０１〜１０９で取得されたカラー画像群或いは、デジタル信号処理部２０９から出力されるカラー画像群を示す画像データから、ノイズの少ない画像を生成する。画像処理部２１２の詳細については後述する。
【００１９】
なお、撮像装置の構成要素は上記以外にも存在するが、本件発明の主眼ではないので、説明を省略する。
【００２０】
図３は、撮像部１０１〜１０９の内部構成の一例を示す図である。撮像部１０１〜１０９は、レンズ３０１〜３０３、絞り３０４、シャッター３０５、光学ローパスフィルタ３０６、ｉＲカットフィルタ３０７、カラーフィルタ３０８、センサ３０９及びＡ／Ｄ変換部３１０で構成される。レンズ３０１〜３０３は夫々、ズームレンズ３０１、フォーカスレンズ３０２、ぶれ補正レンズ３０３である。センサ３０９は、例えばＣＭＯＳやＣＣＤなどのセンサである。
【００２１】
センサ３０９で被写体の光量を検知すると、検知された光量がＡ／Ｄ変換部３１０によってデジタル値に変換され、デジタルデータとなってバス２０４に出力される。
【００２２】
＜ノイズ低減処理の原理＞
図４を用いて、多眼式カメラシステム用のノイズ低減のための画像処理装置の原理を説明する。図４では、説明を簡単にする為、二眼カメラを例に挙げる。また図４の例では被写体として人の顔を想定している。従来法では、カメラ１で得られた画像データが示すノイズ画像とカメラ２で得られた画像データが示すノイズ画像とを位置合わせし、単純に重ね合わせて平均化（１）した結果が、ノイズ低減画像となる（２）。（２）の図に示す通り、重ね合わせできた顔の内側領域はノイズを低減でき、重ね合わせできない顔の外側領域はノイズが残ってしまう。このように、ノイズの低減程度が異なる領域が混在するので、画像としての品質が低下してしまうのである。
【００２３】
一方で、本実施形態では、高ＳＮ領域と低ＳＮ領域の差、つまりノイズ成分を抽出し、そのノイズ特性をもった信号のみを画像全体のデータから低減する。よって、領域毎にノイズ低減の程度が異なるという従来の問題を解決している。なお、ＳＮはＳｉｇｎａｌ（信号）／Ｎｏｉｓｅ（雑音）のことであり、ＳＮが高いほど信号の質が高いことを意味する。本実施形態では、具体的には、（１）の平均化までは、従来と同じ処理である。次に、位置合わせできた領域、つまり高ＳＮ領域を抽出する（３）。その後、高ＳＮ領域に対して、カメラ１のノイズ画像の空間的に対応している低ＳＮ領域を抽出する（４）。これら高ＳＮ領域と低ＳＮ領域との差は、カメラ１のノイズ画像を示すノイズ画像データとカメラ２のノイズ画像データとの平均化により低減されたノイズ量となる（５）。このノイズ量を指標にカメラ２のノイズ画像データに対してノイズ低減処理を行う。つまり、ノイズ量として、ノイズの分散値を計測し（６）、カメラ２のノイズ画像データに対して、ノイズの分散値を利用したウィナーフィルタ処理を施す。ウィナーフィルタは、原画像とフィルタ後の画像との２乗平均が最小となるように定義されるフィルタである。その結果、画像全体のノイズ低減量に大きな変動が無くなる。
【００２４】
以上、説明したノイズ低減処理は画像処理部２１２によって施される。そこで、以下では画像処理部２１２について説明する。
【００２５】
＜画像処理部２１２の構成図＞
図５は、本実施形態に係る画像処理部２１２の構成の一例を示す図である。なお、本実施形態では、入力画像を示す入力画像データを３枚分のデータとするが、複数枚であれば何枚でも良い。
【００２６】
図５が示すとおり、画像処理部２１２は、入力部である端子４００〜４０２と、端子４０５と、画像解析部４０３と、画像補間部４０４とで構成されている。端子４００〜４０２は、それぞれ入力画像データImageN_1, ImageN_2, ImageN_3を入力する端子である。
【００２７】
画像解析部４０３は、入力画像データImageN_1, ImageN_2, ImageN_3を解析する。そして、位置合わせ後の画像の平均画像を示す平均画像データImage_AVと、輝度別のノイズ分散マップVar_Arrayと、重ね合わせ枚数マップActiveMapと、基準画像を示す基準画像データRef_Imageとを生成する。これらの詳細については後述する。
【００２８】
画像補間部４０４は、位置合わせ後の画像の平均画像データImage_AVと、輝度別のノイズ分散マップVar_Arrayと、重ね合わせ枚数マップActiveMapと、基準画像データRef_Imageとから、補間処理を行う。そして、ノイズ低減後の画像Image_Outを生成する。端子４０５は、ノイズ低減後の画像Image_Outを出力する。
【００２９】
＜画像処理部２１２の処理の流れ＞
以下では、画像処理部２１２の処理の流れを図６を参照して説明する。処理を開始すると（ステップ６００）、ステップ６０１では、入力画像データImageN_1, ImageN_2, ImageN_3を解析し、以下に示したノイズ低減に必要な４つの情報を生成する。
【００３０】
ステップ６０１で生成される一つ目の情報は基準画像を示す基準画像データRef_Imageである。Ref_Imageは、入力画像データImageN_1, ImageN_2, ImageN_3の中から一つ選択される。具体的な選択方法は後述する。
【００３１】
二つ目は、位置合わせ後の画像の平均画像データImage_AVである。Image_AVとは、３つの入力画像データが示す入力画像の位置合わせをした後、３つの画像中で空間的に対応する３つの画素の平均値で構成される画像を示すデータである。当然位置合わせ失敗する画素もでてくるが、位置合わせできない場合は位置合わせできた画素だけを利用して平均値をとる。例えば、１枚目の参照画像では位置合わせに失敗し、二枚目の参照画像で成功したのであれば、基準画像データの処理対象画素と、成功した二枚目の参照画像データの処理対象画素との平均値をとる。
【００３２】
概念的な例を図７を参照して説明する。図７に示した３つの画像は多眼カメラで同一の被写体を撮影して得られる画像を表している。カメラ間の視差により被写体である顔が画像の左（ImageN_1）、中央（ImageN_2）、右（ImageN_3）に配置されている。これら３つの画像の位置合わせをする場合、基準画像データが示す基準画像をImageN_2とすると、ImageN_1を左にシフトするとImageN_1とImageN_2の顔が重なる。また、ImageN_3を右にシフトするとImageN_2の顔とImageN_3の顔が重なる。重ねることができたら、次に、基準画像ImageN_2の顔と重なる部分の画像データの平均値を算出する。この例では、顔を３つの領域に分けて平均値を算出する。
【００３３】
図８は、重なり具合を可視化する為に、位置合わせ後の顔の輪郭を描いた概念図である。図８の（１）は、ImageN_1と、ImageN_2と、ImageN_3との全て重なっている。図８の（２）はImageN_1とImageN_2とが重なっている。図８の（３）はImageN_2とImageN_3とが重なっている。よって、（１）の領域ではImageN_1、ImageN_2、ImageN_3の平均値を、（２）の領域ではImageN_1、ImageN_2の平均値を、（３）の領域ではImageN_2、ImageN_3の平均値を、それぞれ算出する。その結果、平均画像データImage_AVが生成される。なお、重ね合わせることができない（４）及び（５）の領域については、平均画像データImage_AVの生成には用いられない。より詳細な説明は後述する。
【００３４】
ステップ６０１で生成される三つ目の情報は重ね合わせ枚数マップActiveMapである。重ね合わせ枚数マップActiveMapは、平均画像データImage_AVの各画素が何枚の画像の画像データを利用して平均化されたかを示している。今回の例では、顔の中央領域が３、顔の左右領域が２という事になる。より詳細な説明は後述する。
【００３５】
ステップ６０１で生成される四つ目の情報は輝度別の分散マップVar_Arrayである。これは、平均画像データImage_AVの重ね合わせ枚数マップActiveMapが最高値の領域と、その領域に空間的に対応する基準画像データRef_Imageの画素値とから推定されるRef_Imageのノイズ信号の輝度毎の分散である。ActiveMapが最高値の領域は、今回の例では３である。より詳細な説明は後述する。
【００３６】
ステップ６０１では、以上のとおり位置合わせ後の画像の平均画像データImage_AVと、輝度別のノイズ分散マップVar_Arrayと、重ね合わせ枚数マップActiveMapと、基準画像データRef_Imageとを生成する。
【００３７】
ステップ６０２では、ステップ６０１で生成された位置合わせ後の画像の平均画像データImage_AVと、輝度別のノイズ分散マップVar_Arrayと、重ね合わせ枚数マップActiveMapと、基準画像データRef_Imageとを利用する。すなわち、これらのデータからノイズ低減後の画像Image_Outを生成し、処理を終了する（ステップ６０３）
【００３８】
＜画像解析部の構成＞
次に、図９を参照して、画像解析部４０３の詳細を説明する。画像解析部４０３は、例えば基準画像選択部５００、位置合わせ部５０１、平均画像生成部５０２、利用可能マップ生成部５０３、減算部５０４、ノイズ分散測定部５０５で構成されている。
【００３９】
基準画像選択部５００は、入力画像データImageN_1、ImageN_2、ImageN_3の中から、位置合わせ時の基準画像を示す基準画像データRef_Imageを選択する。基準画像データRef_Imageの選択方法は後述する。なお、以下の例では、ImageN_2が示す入力画像が基準画像として選択されたものとして説明する。
【００４０】
位置合わせ部５０１は、基準画像データRef_Imageと、入力画像データImageN_1、ImageN_2、及びImageN_3のうち、基準画像に対応する画像以外の画像データと位置合わせ処理を行う。そして、位置合わせ後の画像データImageA_1、ImageA_2、ImageA_3と、位置合わせ時に算出した位置合わせ精度指標値マップMap_1、Map_3とを出力する。なお、ここではImageN_2が示す入力画像が基準画像に対応するので、ImageA_2はRef_Imageと同様の画像データとなる。ImageN_2が示す入力画像に対応する位置合わせ精度指標値マップMap_2は出力されない。位置合わせ精度指標値マップの説明については後述する。
【００４１】
平均画像生成部５０２は、後述の重ね合わせ枚数マップActive_Mapと位置合わせ後の画像データImageA_iとに基づいて、位置合わせできた画素だけを平均化した平均画像データImage_AVを出力する。なお、iは任意の入力画像データに対応する番号が入る変数であり、本例では１から３のいずれかの数である。
【００４２】
利用可能マップ生成部５０３は、Map_1, Map_3を閾値処理し、位置合わせできた画素を１、できなかった画素を０としてMapB_1, MapB_3を生成する。なお、本実施形態の例ではMapB_2は基準画像に対応する為、全ての値が１となる。さらに、MapB_i同士で空間的に対応する画素値の合算値を格納し重ね合わせ枚数マップActive_Mapを生成する。
【００４３】
減算部５０４では、平均画像データImage_AVと基準画像データRef_Imageとの差分画像を示す差分画像データImage_Dを生成する。Image_Dは推定されるノイズ量である。
【００４４】
ノイズ分散測定部５０５では、差分画像データImage_Dと、平均画像データImage_AVと、重ね合わせ枚数マップActiveMapとから、輝度に対応したノイズの分散を格納した輝度別のノイズ分散マップVar_Arrayを生成する。
【００４５】
なお、上記の例では、基準画像に対応する位置合わせ後の画像データImageA_2を出力し、位置合わせ精度指標値マップMap_2は出力しない例を挙げて説明した。しかしながら、基準画像に対応する位置合わせ後の画像データImageA_2は出力しない処理を採用してもよい。また、基準画像に対応する精度指標値マップMap_2を出力する処理を採用してもよい。
【００４６】
＜画像解析部の処理の流れ＞
以下では、画像解析部４０３の処理の流れを図１０を参照して説明する。処理を開始すると（Ｓ１０００）、位置合わせ部５０１は、入力画像データImageN_1、ImageN_2、ImageN_3を取得する（Ｓ１００１）。次に、基準画像選択部５００は、入力画像データImageN_1、ImageN_2、ImageN_3から基準画像データRef_Imageを選択する（Ｓ１００２）。本実施形態ではImageN_2が示す画像を基準画像とする。基準画像選択部５００の具体的な選択方法は後述する。その後、位置合わせ部５０１は、基準画像データRef_Imageが示す基準画像と、残りの入力画像データ、つまりImageN_1とImageN_3が示す入力画像との間で位置合わせを施す（Ｓ１００３）。ここで、入力画像データImageN_1及びImageN_3は、位置合わせ処理の際にそれぞれ参照画像を示す参照画像データとなる。位置合わせ部５０１は、位置合わせ時に算出される基準画像中の着目画素と参照画像の着目画素との間で算出される相関値を相関マップMap_1,Map_3としてそれぞれ保存する。本実施形態では、後述のブロックマッチングを利用して相関をとるので、最大相関値は０であり、相関が低くなるにつれ値が大きくなる。また、最大相関値を生み出した参照画像の画素値をImageA_iとして保存する（Ｓ１００４）。位置合わせの詳細は後述する。
【００４７】
次に、利用可能マップ生成部５０３は、予め設定された閾値Thを利用して、Map_1,Map_3の値でTh以下のものを１、Th以上のものを０と設定し、それぞれMapB_1,MapB_３に保存する。また、利用可能マップ生成部５０３は、MapB_1と同じサイズの画像バッファの要素をすべて１で初期化したデータMapB_2を生成する。さらに、利用可能マップ生成部５０３は、MapB_1とMapB_2とMapB_3との間で空間的に対応する値を加算する。そして、基準画像データRef_Imageが示す基準画像の各画素が位置合わせできた画像数をマップ化した重ね合わせ枚数マップActiveMapを生成する（Ｓ１００６）。
【００４８】
次に、平均画像生成部５０２は、MapB_iとImageA_iの同じ座標に対応する画素同士を掛け合わせて、ImageA_iを構成する画素の中で位置合わせできなかった所を０とする（Ｓ１００７）。さらに、平均画像生成部５０２はImageA_i同士で空間的に対応する画素を加算し、その結果を、ActiveMapの各画素に対応する値で除算し、位置合わせ後の画像の平均画像データImage_AVを生成する（Ｓ１００８）。次に、減算部５０４は、基準画像データRef_Imageから平均画像データImage_AVを減算し、差分画像（ノイズ成分画像）データImage_Dを生成する（Ｓ１００９）。
【００４９】
次に、ノイズ分散測定部５０５では、ノイズ成分画像データImage_Dの分散Image_Varを算出し（Ｓ１０１０）する。さらに平均画像データImage_AVと分散Image_Varとを利用して、輝度（本実施形態では０〜２５５）に対応したノイズの分散値Var_Arrayを算出し（Ｓ１０１１）、処理を終了する（Ｓ１０１２）。
【００５０】
＜基準画像選択部５００の処理＞
図１１のフローチャートを利用して、基準画像選択部５００の処理の一例を説明する。処理を開始すると、基準画像選択部５００は入力画像データImageN_1、ImageN_2、ImageN_3を取得する（ステップ１１０１）。次に、入力画像データImageN_1、ImageN_2、ImageN_3のそれぞれの画像に対応する輝度の分散値Var_i、i=1,2,3を算出する（ステップ１１０２）。最後にVar_iの中で最小値を検出し、対応する入力画像を基準画像と決定し、処理を終了する（ステップ１１０４）。なお、図１１で説明した基準画像選択の手法は一例を示すものに過ぎず、他の手法によって基準画像を選択することも可能である。例えば、最終的に出力したい構図を持つ画像を基準にしても良い。
【００５１】
＜位置合わせ部５０１の処理＞
以下では位置合わせ部５０１の処理の流れを説明する。図１２は、図１０のフローチャートのステップ１００３における位置合わせ処理の流れの一例を示すフローチャートである。
【００５２】
ステップ１２０１において、位置合わせ部５０１は、基準画像を示す基準画像データRef_Imageと参照画像を示す参照画像データとを入力する。基準画像とは、上述の基準画像選択部５００で決定される画像の事である。参照画像は、ImageN_1、ImageN_2、ImageN_3が示す入力画像の中で、基準画像以外の画像である。例えば、ImageN_1が示す画像が基準画像の場合、ImageN_2、ImageN_3が示す画像が参照画像である。本実施形態ではImageN_2が示す画像を基準画像とし、ImageN_1、ImageN_3が示す画像を参照画像とする。ステップ１２０２において、位置合わせ部５０１は、入力された基準画像データが示す基準画像に対して特徴点を抽出する。特徴点の抽出方法については、一般的に使用されるエッジ検出フィルタ処理を用いることができる。本実施形態ではエッジ検出フィルタとしてＳｏｂｅｌフィルタを使用する。なお、特徴点の抽出に際しては、その他のエッジ検出フィルタを使用しても構わない。例えば、Ｒｏｂｉｎｓｏｎのエッジ検出フィルタを使用しても良い。更には、これらのエッジ検出フィルタを組み合わせた方法により特徴点を抽出しても構わない。
【００５３】
ステップ１２０３において、位置合わせ部５０１は、対応点を探索するための注目画素の座標位置（ｘ，ｙ）を基準画像の中から設定する。ステップ１２０４において、位置合わせ部５０１は、設定された注目画素を中心とした所定のブロック（差分値を求めるブロック）を基準画像において設定する。また、参照画像の所定のブロックおよび該ブロックの中心位置（ｃｘ，ｃｙ）を参照画像において設定する。
【００５４】
ステップ１２０５において、位置合わせ部５０１は、基準画像に設定された中心位置（ｘ，ｙ）のブロックが特徴点の対応探索に際して有効なブロックか否かを判断する。有効ブロックの判断方法は、位置合わせ部５０１がステップ１２０２で実施される特徴点の数をカウントし、その数が予め規定されている数よりも多い場合には、有効ブロックであると判断される。つまり、ステップ１２０５では、多くの特徴点をブロック内に有するブロックが、位置合わせ部５００により有効ブロックとして判定される。有効ブロックであると判定された場合には、ステップ１２０６に進む。一方、ステップ１２０５において、位置合わせ部５０１が、着目しているブロックが有効ブロックでないと判断した場合には、ステップ１２０７に進む。
【００５５】
ステップ１２０６において、位置合わせ部５０１は、特徴点の対応探索を行う範囲を設定する。特徴点の対応探索を行う範囲は演算コストを考慮して任意の大きさに設定すればよいが、注目画素の座標位置（ｘ，ｙ）をその中に含むことが条件となる。一般的に、ぶれ量が大きい場合には特徴点の対応探索を行う範囲を大きく設定することが好ましく、ぶれ量が小さい場合には特徴点の対応探索を行う範囲は小さくても足りる。
【００５６】
図１３は、注目画素の座標位置（ｘ，ｙ）、参照画像に設定されたブロック、該ブロックの中心位置、および設定された特徴点の対応探索を行う範囲を示す図である。この場合においてブロックは、横方向に２ｗｘ＋１画素、縦方向に２ｗｙ＋１画素で確定される大きさであり、ｗｘ、ｗｙはそれぞれゼロ以上の整数値である。
【００５７】
図１２のフローチャートの説明に戻る。ステップ１２０７において、位置合わせ部５０１は、基準画像における注目画素の座標位置（ｘ，ｙ）に対応する点が参照画像には無いと判断する。
【００５８】
ステップ１２０８において、位置合わせ部５０１は、設定されたブロックの範囲の基準画像を示す基準画像データと参照画像を示す参照画像データとを用いて、差分値の平均値を計算する。式（１）は、ブロックの中心位置（ｃｘ，ｃｙ）における、差分値の平均値Ｅave（ｃｘ，ｃｙ，ｍ）を求める演算式である。
【００５９】
【数１】
0005766077.tif 000002
【００６０】
ここで、Ｉ（ｘ，ｙ，０）は基準画像を、Ｉ（ｘ，ｙ，ｍ）は参照画像を表している。ｍは参照画像の番号を示す変数ある。
【００６１】
ステップ１２０９において、位置合わせ部５０１は、設定された特徴点の対応探索の範囲内における全てのブロックについて、差分値の平均値を求める処理が完了したか否かを判定する。すべてのブロックについて差分値の平均値を求める処理が完了していればステップ１２１１に進む。一方、未処理のブロックがある場合にはステップ１２１０に進む。ステップ１２１０において、位置合わせ部５０１は、ブロックの中心位置（ｃｘ，ｃｙ）を更新して、まだ差分値の平均値を求めていないブロック位置にブロック位置を変更する。ブロック位置を変更すると、ステップ１２０８に戻る。
【００６２】
ステップ１２１１において、位置合わせ部５０１は、差分値の平均値が最小となるブロックの中心位置（ｘ’，ｙ’）を求め、設定された特徴点の対応探索の範囲内において差分値の平均値が最小となるブロック位置を対応点として選択する。すなわち、基準画像の画像位置（ｘ，ｙ）に対応する参照画像ｍでの画素位置は（ｘ’，ｙ’）として選択される。参照画像ｍでの画素（ｘ’，ｙ’）に対応する画素値をImageA_mに保存し、差分値の平均値が最小をMap_mに保存する。ImageA_mとMap_mは、画素毎の情報を持つことになるので、画像の総画素数分のデータになる。ｍは参照画像の番号を示す変数である。
【００６３】
ステップ１２１２において、位置合わせ部５０１は、基準画像内の全ての画素について差分値の平均値を求める処理が完了したか否かを判定する。すべての画素について差分値の平均値を求める処理が完了していればステップ１２１３に進む。一方、未処理の画素がある場合にはステップ１２１４に進む。
【００６４】
ステップ１２１４において、位置合わせ部５０１は、注目画素の位置（ｘ，ｙ）を更新して、まだ差分値の平均値を求めていない画素位置に注目画素の位置を変更する。注目画素の位置を変更すると、ステップ１２０４に戻る。
【００６５】
ステップ１２１３において、位置合わせ部５０１は、上記のようにして得られた基準画像と参照画像の対応点を出力する。その後、最後にRef_ImageをImageA_0として出力することができる。その後、本処理は終了する。
【００６６】
なお、本実施形態における特徴点の対応探索処理では、式（１）に示されるように、基準画像データと参照画像データとの差分値の平均値に基づいて画像間の対応点を探索したが、その他の値を使用しても構わない。例えば、相関係数など、注目画素近傍における画像間の類似度を知り得る値であれば、対応点の探索時に使用しても構わない。
【００６７】
＜ノイズ分散測定部の処理＞
次に、ノイズ分散測定部５０５の処理を図１４を利用して説明する。処理を開始すると（ステップ１４００）、ノイズ分散測定部５０５はImage_AVが示す平均画像の各画素に対して５ｘ５の平均値フィルタを施し、フィルタ済み平均画像を示す画像データImage_AV_Meanを生成する（ステップ１４０１）。次に、ノイズ分散測定部５０５は、ノイズ成分画像データImage_Dの画素中で、空間的に対応する重ね合わせ枚数マップActiveMapの値が最大の値である３の画素に着目する。そして、その着目画素の周辺５ｘ５の画素を利用して分散Image_Varを計算する（Ｓ１４０２）。最後に、ノイズ分散測定部５０５は、フィルタ済み平均画像データImage_AV_Meanの中で同じ値を持つ画素に対応するImage_Varの値を平均化し、輝度に対応したノイズ分散Var_Arrayを算出する（ステップ１４０３）。次に、ノイズはポアソン分布で近似できる事できる事が知られているのでVar_Arrayを変数０〜２５５のポアソン分布で近似し（ステップ１４０６）、処理を終了する（ステップ１４０５）。以上の処理の結果、入力画像データが示す入力画像の画素値に対応したノイズの分散の配列が生成される。
【００６８】
なお、上記の例では、ActiveMapの値が最大の値である３の画素に着目して分散Image_Varを計算する例を説明したが、ActiveMapの値が２の画素に着目して分散Image_Varを計算する処理を行っても良い。すなわち、少なくとも位置合わせが行われている画素を利用して処理が行われればよい。
【００６９】
＜画像補間部（ノイズ低減部）の構成＞
次に、画像補間部４０４の構成について、図１５を参照しながら説明する。画像補間部４０４は、基準画像データRef_Imageに対して、輝度に対応したノイズ分散Var_Arrayと平均画像データImage_AVとを利用してノイズ低減を施し、ノイズ低減画像Image_NRを出力するＬＰＦ処理部６００を有する。また、Image_NRを示す画像データにエッジ強調処理を施しエッジ強調画像を示す画像データImage_Enhを出力するエッジ強調部６０１と、エッジ強調画像データImage_EnhとImage_AVとの信号をブレンドする合成部６０２とを有する。
【００７０】
＜画像補間部の処理の流れ＞
図１６を利用して、画像補間部４０４の処理の流れを説明する。処理を開始すると（Ｓ１６００）、ＬＰＦ処理部６００は、基準画像データRef_Image内のフィルタリング対象の画素に空間的に対応した平均画像データImage_AVの値Ｌを参照する（Ｓ１６０１）。次に、ＬＰＦ処理部６００は輝度に対応したノイズ分散Var_Arrayの要素番号Ｌに対応する分散値Varを参照する（ステップ１６０２）。そして、着目画素をVarを利用したウィナーフィルタでノイズ低減し、ノイズ低減画像Image_NRを生成する（ステップ１６０３）。その後、エッジ強調部６０１はノイズ低減画像Image_NRが示す画像データに対してアンシャープマスクを施し、エッジ強調画像データImage_Enhを出力する。（ステップ１６０４）。
【００７１】
最後に、合成部６０２は、ActiveMapの値が１の場合、空間的に対応するエッジ強調画像Image_Enhの画素値に０．７５を、Image_AVの画素値に０．２５を掛けて加算した値をノイズ低減後の画像Image_Outとして出力する。重ね合わせ枚数マップActiveMapの値が２の場合は、エッジ強調画像Image_Enhの画素値に０．５を、Image_AVの画素値に０．５を掛けて加算した値をノイズ低減後の画像Image_Outとして出力する。ActiveMapの値が３の場合は、エッジ強調画像Image_Enhの画素値に０．２５を、Image_AVの画素値に０．７５を掛けて加算してノイズ低減後の画像Image_Outとして出力し（ステップ１６０５）する。そして、処理を終了する（ステップ１６０６）。ノイズ低減画像Image_NRに対してアンシャープマスクを施した画像データと、Image_AVとを、重ね併せ枚数マップActiveMapに応じて重み付けを変えて合成することで、ノイズ低減程度がより均一な画像を提供することができる。
【００７２】
以上の処理を入力画像データ群に施す事で、画像中のノイズを一様に低減する事が可能となる。
【００７３】
なお、ノイズ分散測定部５０５では、輝度に応じたノイズの分散を算出したが、画像データ全体で一つだけ分散を算出し、この単一の分散を利用してＬＰＦ処理部６００を稼動しても良い。この場合、高速にノイズ低減可能となる。
【００７４】
また、本実施形態は複数の撮像部を有する多眼式カメラにおける例を示したが、単眼カメラで時間差撮影をした結果である画像群を用いても、同様の効果が得られる。また、レンズとセンサとを複数利用する方式のほかにも、センサと主レンズとの間にレンズアレイを配置する方式においても本実施形態を適用することが可能である。
【００７５】
また、ステップ１５０３で処理を終了し、ノイズ低減画像Image_NRをノイズ低減後の画像Image_Out、すなわち出力画像として出力しても良い。この場合も、高速にノイズ低減が可能となる。
【００７６】
（その他の実施形態）
上記の実施形態の例においては、撮像部を複数備える撮像装置を例に挙げて説明した。しかしながら、例えば複数の撮像部から得られる画像等を情報処理装置等に転送し、情報処理装置において上述したノイズ低減処理が行われても良い。
【００７７】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005766077.tif 000003
【図２】
0005766077.tif 000004
【図３】
0005766077.tif 000005
【図４】
0005766077.tif 000006
【図５】
0005766077.tif 000007
【図６】
0005766077.tif 000008
【図７】
0005766077.tif 000009
【図８】
0005766077.tif 000010
【図９】
0005766077.tif 000011
【図１０】
0005766077.tif 000012
【図１１】
0005766077.tif 000013
【図１２】
0005766077.tif 000014
【図１３】
0005766077.tif 000015
【図１４】
0005766077.tif 000016
【図１５】
0005766077.tif 000017
【図１６】
0005766077.tif 000018