説明

ノイズ低減のための画像処理装置及び画像処理方法

【課題】複数毎の画像を利用して画像のノイズを低減する際に、位置合わせができない部分のノイズを低減できない。
【解決手段】複数の画像の位置合わせ処理を行い、位置合わせ処理が行われた画素により構成される平均画像を生成する。そして、平均画像を示す平均画像データと入力画像を示す入力画像データとの差分を算出し、算出された差分を用いて入力画像のノイズを低減する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば多眼方式の撮像部から得られる画像のノイズ低減機能を提供するための画像処理装置、画像処理方法およびプログラムに関するものである。
【背景技術】
【0002】
近年、産業界においてライトフィールドという概念を利用したカメラの高機能化が進められている。ライトフィールドとは、被写体からレンズへ入射する光を分割して撮影する概念である。この概念を具現化する主な方法は二通りある。一つ目はセンサと主レンズとの間にレンズアレイを配置する方法であり、二つ目は主レンズとセンサとを複数利用する、所謂多眼カメラである。
【0003】
ライトフィールドの概念を利用したカメラを利用すると、距離推定やボケ味のダイナミックな変更など、従来の一眼カメラには無かった機能を実現できる。一方で、新しい機能ではないが、従来の機能の性能を向上させる事もできる。例えば、ノイズ低減機能の性能を向上させることができる。
【0004】
多眼カメラを例に挙げると、同一被写体から得られた複数の画像群を位置合わせした後、それら画像の平均画像を生成すると、原理上ノイズが低減される。例えば、特許文献1には、位置合わせをして画像を重ね合わせて、MAP法で高画質化する発明が記載されている。また、特許文献2には、位置合わせをして超解像処理を行う発明が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2011−113527号公報
【特許文献2】特開2011−022805号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1または2で提案されているような位置合わせをして画像を平均化するような方式には、画像中の全ての領域のノイズを低減する機能が備わっていない。
【0007】
なぜなら、異なる視点から撮影した画像にはオクリュージョンが存在し、位置合わせできない画像領域が存在するからである。オクリュージョンとは、ある撮像部では撮影される領域であるが、別の撮像部では撮影されない領域が生じることである。つまり、オクリュージョンが無い画像領域は複数の画像の位置合わせができるのでノイズ低減されるが、オクリュージョンが存在する領域は複数の画像の位置合わせができないので位置合わせできない部分のノイズ低減ができない。このように、異なる視点から撮影した画像のノイズを低減しようとすると、画像領域によってノイズ低減の程度が変わってしまうという課題がある。
【課題を解決するための手段】
【0008】
本発明に係る画像処理装置は、複数の画像データを入力する入力部と、前記入力された画像データが示す複数の画像の位置合わせ処理を行う位置合わせ部と、前記位置合わせ部による位置合わせ処理が行われた画素により構成される平均画像を示す平均画像データを生成する平均画像生成部と、前記平均画像データが示す平均画像と前記入力された画像データが示す画像との差分を算出する減算部と、前記算出された差分を用いて前記入力された画像データが示す画像のノイズを低減するノイズ低減部とを備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、画像中のノイズ低減程度が均一な画像を提供することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態に係る複数の撮像部を備えた多眼方式の撮像装置の一例を示した図である。
【図2】本発明の実施形態に係る多眼方式の撮像装置の内部構成を示すブロック図である。
【図3】本発明の実施形態に係る撮像部の内部構成を示す図である。
【図4】実施形態1の発明原理を示す図である。
【図5】実施形態1における、画像処理部212の構成を示す図である。
【図6】実施形態1における、画像処理部212のフローチャートを示す図である。
【図7】実施形態1における、画像の位置合わせの概念を示す図である。
【図8】実施形態1における、位置合わせ後の画像データの生成方法の概念を示す図である。
【図9】実施形態1における、画像解析部403の構成を示す図である。
【図10】実施形態1における、画像解析部403のフローチャートを示す図である。
【図11】実施形態1における基準画像選択部500のフローチャートを示す図である。
【図12】実施形態1のおける位置合わせ部501のフローチャートを示す図である。
【図13】実施形態1における位置合わせの際の特徴点の対応探索を行う範囲を示す図である。
【図14】実施形態1にノイズ分散測定部505のフローチャートを示す図である。
【図15】実施形態1における画像補間部404の構成を示す図である。
【図16】実施形態1における画像補間部404のフローチャートを示す図である。
【発明を実施するための形態】
【0011】
<実施形態1>
図1は、複数の撮像部を備えた多眼方式による撮像装置(画像処理装置)の一例を示した図である。100は撮像装置の筐体である。撮像装置は、カラー画像を取得する9個の撮像部101〜109及び撮影ボタン110を備えている。9個の撮像部は、正方格子上に均等に配置されている。
【0012】
ユーザが撮影ボタン110を押下すると、撮像部101〜109が被写体の光情報をセンサ(撮像素子)で受光し、受光した信号がA/D変換されて、複数のカラー画像を示す画像データ(デジタルデータ)が同時に取得される。このような多眼方式の撮像装置により、同一の被写体を複数の視点位置から撮像したカラー画像群を得ることができる。
【0013】
なお、図1の例では撮像部の数を9個としたが撮像部の数は9個に限定されない。撮像装置が複数の撮像部を有する限りにおいて本実施形態を適用することが可能である。また、図1の例では9個の撮像部が正方格子上に均等に配置される例について説明したが、撮像部の配置は任意とすることができる。例えば、放射状や直線状に配置してもよいし、まったくランダムに配置してもよい。
【0014】
図2は、撮像装置100の内部構成の一例を示すブロック図である。中央処理装置(CPU)201は、以下に述べる各部を統括的に制御する。RAM202は、CPU201の主メモリ及びワークエリア等として機能する。ROM203は、カメラパラメータ(画角やカメラモード)及びCPU201で実行される制御プラグラム等を格納している。バス204は各種データの転送経路である。例えば、撮像部101〜109によって取得されたデジタルデータはこのバス204を介して所定の処理部に送られる。
【0015】
操作部205はユーザの指示を受け取るインターフェース機能を備えており、ボタンやモードダイヤルなどが含まれる。表示部206は撮影画像や文字の表示を行う。表示部には、例えば、液晶ディスプレイが用いられる。表示部206はタッチスクリーン機能を有していても良く、その場合はタッチスクリーンを用いたユーザ指示を操作部205の入力として扱うことも可能である。表示制御部207は、表示部206に表示される撮影画像や文字の表示制御を行う。
【0016】
撮像部制御部208は、フォーカスを合わせる、シャッターを開く・閉じる、絞りを調節するなどの、CPU201からの指示に基づいた撮像系の制御を行う。デジタル信号処理部209は、バス204を介して受け取ったデジタルデータに対し、ホワイトバランス処理、ガンマ処理、及びノイズ低減処理などの各種処理を行う。
【0017】
エンコーダ部210は、デジタルデータをJPEGやMPEGなどのファイルフォーマットに変換する処理を行う。外部メモリ制御部211は、PCやその他のメディア(例えば、ハードディスク、メモリーカード、CFカード、SDカード、又はUSBメモリ)に繋ぐためのインターフェースである。
【0018】
画像処理部212は、撮像部101〜109で取得されたカラー画像群或いは、デジタル信号処理部209から出力されるカラー画像群を示す画像データから、ノイズの少ない画像を生成する。画像処理部212の詳細については後述する。
【0019】
なお、撮像装置の構成要素は上記以外にも存在するが、本件発明の主眼ではないので、説明を省略する。
【0020】
図3は、撮像部101〜109の内部構成の一例を示す図である。撮像部101〜109は、レンズ301〜303、絞り304、シャッター305、光学ローパスフィルタ306、iRカットフィルタ307、カラーフィルタ308、センサ309及びA/D変換部310で構成される。レンズ301〜303は夫々、ズームレンズ301、フォーカスレンズ302、ぶれ補正レンズ303である。センサ309は、例えばCMOSやCCDなどのセンサである。
【0021】
センサ309で被写体の光量を検知すると、検知された光量がA/D変換部310によってデジタル値に変換され、デジタルデータとなってバス204に出力される。
【0022】
<ノイズ低減処理の原理>
図4を用いて、多眼式カメラシステム用のノイズ低減のための画像処理装置の原理を説明する。図4では、説明を簡単にする為、二眼カメラを例に挙げる。また図4の例では被写体として人の顔を想定している。従来法では、カメラ1で得られた画像データが示すノイズ画像とカメラ2で得られた画像データが示すノイズ画像とを位置合わせし、単純に重ね合わせて平均化(1)した結果が、ノイズ低減画像となる(2)。(2)の図に示す通り、重ね合わせできた顔の内側領域はノイズを低減でき、重ね合わせできない顔の外側領域はノイズが残ってしまう。このように、ノイズの低減程度が異なる領域が混在するので、画像としての品質が低下してしまうのである。
【0023】
一方で、本実施形態では、高SN領域と低SN領域の差、つまりノイズ成分を抽出し、そのノイズ特性をもった信号のみを画像全体のデータから低減する。よって、領域毎にノイズ低減の程度が異なるという従来の問題を解決している。なお、SNはSignal(信号)/Noise(雑音)のことであり、SNが高いほど信号の質が高いことを意味する。本実施形態では、具体的には、(1)の平均化までは、従来と同じ処理である。次に、位置合わせできた領域、つまり高SN領域を抽出する(3)。その後、高SN領域に対して、カメラ1のノイズ画像の空間的に対応している低SN領域を抽出する(4)。これら高SN領域と低SN領域との差は、カメラ1のノイズ画像を示すノイズ画像データとカメラ2のノイズ画像データとの平均化により低減されたノイズ量となる(5)。このノイズ量を指標にカメラ2のノイズ画像データに対してノイズ低減処理を行う。つまり、ノイズ量として、ノイズの分散値を計測し(6)、カメラ2のノイズ画像データに対して、ノイズの分散値を利用したウィナーフィルタ処理を施す。ウィナーフィルタは、原画像とフィルタ後の画像との2乗平均が最小となるように定義されるフィルタである。その結果、画像全体のノイズ低減量に大きな変動が無くなる。
【0024】
以上、説明したノイズ低減処理は画像処理部212によって施される。そこで、以下では画像処理部212について説明する。
【0025】
<画像処理部212の構成図>
図5は、本実施形態に係る画像処理部212の構成の一例を示す図である。なお、本実施形態では、入力画像を示す入力画像データを3枚分のデータとするが、複数枚であれば何枚でも良い。
【0026】
図5が示すとおり、画像処理部212は、入力部である端子400〜402と、端子405と、画像解析部403と、画像補間部404とで構成されている。端子400〜402は、それぞれ入力画像データImageN_1, ImageN_2, ImageN_3を入力する端子である。
【0027】
画像解析部403は、入力画像データImageN_1, ImageN_2, ImageN_3を解析する。そして、位置合わせ後の画像の平均画像を示す平均画像データImage_AVと、輝度別のノイズ分散マップVar_Arrayと、重ね合わせ枚数マップActiveMapと、基準画像を示す基準画像データRef_Imageとを生成する。これらの詳細については後述する。
【0028】
画像補間部404は、位置合わせ後の画像の平均画像データImage_AVと、輝度別のノイズ分散マップVar_Arrayと、重ね合わせ枚数マップActiveMapと、基準画像データRef_Imageとから、補間処理を行う。そして、ノイズ低減後の画像Image_Outを生成する。端子405は、ノイズ低減後の画像Image_Outを出力する。
【0029】
<画像処理部212の処理の流れ>
以下では、画像処理部212の処理の流れを図6を参照して説明する。処理を開始すると(ステップ600)、ステップ601では、入力画像データImageN_1, ImageN_2, ImageN_3を解析し、以下に示したノイズ低減に必要な4つの情報を生成する。
【0030】
ステップ601で生成される一つ目の情報は基準画像を示す基準画像データRef_Imageである。Ref_Imageは、入力画像データImageN_1, ImageN_2, ImageN_3の中から一つ選択される。具体的な選択方法は後述する。
【0031】
二つ目は、位置合わせ後の画像の平均画像データImage_AVである。Image_AVとは、3つの入力画像データが示す入力画像の位置合わせをした後、3つの画像中で空間的に対応する3つの画素の平均値で構成される画像を示すデータである。当然位置合わせ失敗する画素もでてくるが、位置合わせできない場合は位置合わせできた画素だけを利用して平均値をとる。例えば、1枚目の参照画像では位置合わせに失敗し、二枚目の参照画像で成功したのであれば、基準画像データの処理対象画素と、成功した二枚目の参照画像データの処理対象画素との平均値をとる。
【0032】
概念的な例を図7を参照して説明する。図7に示した3つの画像は多眼カメラで同一の被写体を撮影して得られる画像を表している。カメラ間の視差により被写体である顔が画像の左(ImageN_1)、中央(ImageN_2)、右(ImageN_3)に配置されている。これら3つの画像の位置合わせをする場合、基準画像データが示す基準画像をImageN_2とすると、ImageN_1を左にシフトするとImageN_1とImageN_2の顔が重なる。また、ImageN_3を右にシフトするとImageN_2の顔とImageN_3の顔が重なる。重ねることができたら、次に、基準画像ImageN_2の顔と重なる部分の画像データの平均値を算出する。この例では、顔を3つの領域に分けて平均値を算出する。
【0033】
図8は、重なり具合を可視化する為に、位置合わせ後の顔の輪郭を描いた概念図である。図8の(1)は、ImageN_1と、ImageN_2と、ImageN_3との全て重なっている。図8の(2)はImageN_1とImageN_2とが重なっている。図8の(3)はImageN_2とImageN_3とが重なっている。よって、(1)の領域ではImageN_1、ImageN_2、ImageN_3の平均値を、(2)の領域ではImageN_1、ImageN_2の平均値を、(3)の領域ではImageN_2、ImageN_3の平均値を、それぞれ算出する。その結果、平均画像データImage_AVが生成される。なお、重ね合わせることができない(4)及び(5)の領域については、平均画像データImage_AVの生成には用いられない。より詳細な説明は後述する。
【0034】
ステップ601で生成される三つ目の情報は重ね合わせ枚数マップActiveMapである。重ね合わせ枚数マップActiveMapは、平均画像データImage_AVの各画素が何枚の画像の画像データを利用して平均化されたかを示している。今回の例では、顔の中央領域が3、顔の左右領域が2という事になる。より詳細な説明は後述する。
【0035】
ステップ601で生成される四つ目の情報は輝度別の分散マップVar_Arrayである。これは、平均画像データImage_AVの重ね合わせ枚数マップActiveMapが最高値の領域と、その領域に空間的に対応する基準画像データRef_Imageの画素値とから推定されるRef_Imageのノイズ信号の輝度毎の分散である。ActiveMapが最高値の領域は、今回の例では3である。より詳細な説明は後述する。
【0036】
ステップ601では、以上のとおり位置合わせ後の画像の平均画像データImage_AVと、輝度別のノイズ分散マップVar_Arrayと、重ね合わせ枚数マップActiveMapと、基準画像データRef_Imageとを生成する。
【0037】
ステップ602では、ステップ601で生成された位置合わせ後の画像の平均画像データImage_AVと、輝度別のノイズ分散マップVar_Arrayと、重ね合わせ枚数マップActiveMapと、基準画像データRef_Imageとを利用する。すなわち、これらのデータからノイズ低減後の画像Image_Outを生成し、処理を終了する(ステップ603)
【0038】
<画像解析部の構成>
次に、図9を参照して、画像解析部403の詳細を説明する。画像解析部403は、例えば基準画像選択部500、位置合わせ部501、平均画像生成部502、利用可能マップ生成部503、減算部504、ノイズ分散測定部505で構成されている。
【0039】
基準画像選択部500は、入力画像データImageN_1、ImageN_2、ImageN_3の中から、位置合わせ時の基準画像を示す基準画像データRef_Imageを選択する。基準画像データRef_Imageの選択方法は後述する。なお、以下の例では、ImageN_2が示す入力画像が基準画像として選択されたものとして説明する。
【0040】
位置合わせ部501は、基準画像データ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は出力されない。位置合わせ精度指標値マップの説明については後述する。
【0041】
平均画像生成部502は、後述の重ね合わせ枚数マップActive_Mapと位置合わせ後の画像データImageA_iとに基づいて、位置合わせできた画素だけを平均化した平均画像データImage_AVを出力する。なお、iは任意の入力画像データに対応する番号が入る変数であり、本例では1から3のいずれかの数である。
【0042】
利用可能マップ生成部503は、Map_1, Map_3を閾値処理し、位置合わせできた画素を1、できなかった画素を0としてMapB_1, MapB_3を生成する。なお、本実施形態の例ではMapB_2は基準画像に対応する為、全ての値が1となる。さらに、MapB_i同士で空間的に対応する画素値の合算値を格納し重ね合わせ枚数マップActive_Mapを生成する。
【0043】
減算部504では、平均画像データImage_AVと基準画像データRef_Imageとの差分画像を示す差分画像データImage_Dを生成する。Image_Dは推定されるノイズ量である。
【0044】
ノイズ分散測定部505では、差分画像データImage_Dと、平均画像データImage_AVと、重ね合わせ枚数マップActiveMapとから、輝度に対応したノイズの分散を格納した輝度別のノイズ分散マップVar_Arrayを生成する。
【0045】
なお、上記の例では、基準画像に対応する位置合わせ後の画像データImageA_2を出力し、位置合わせ精度指標値マップMap_2は出力しない例を挙げて説明した。しかしながら、基準画像に対応する位置合わせ後の画像データImageA_2は出力しない処理を採用してもよい。また、基準画像に対応する精度指標値マップMap_2を出力する処理を採用してもよい。
【0046】
<画像解析部の処理の流れ>
以下では、画像解析部403の処理の流れを図10を参照して説明する。処理を開始すると(S1000)、位置合わせ部501は、入力画像データImageN_1、ImageN_2、ImageN_3を取得する(S1001)。次に、基準画像選択部500は、入力画像データImageN_1、ImageN_2、ImageN_3から基準画像データRef_Imageを選択する(S1002)。本実施形態ではImageN_2が示す画像を基準画像とする。基準画像選択部500の具体的な選択方法は後述する。その後、位置合わせ部501は、基準画像データRef_Imageが示す基準画像と、残りの入力画像データ、つまりImageN_1とImageN_3が示す入力画像との間で位置合わせを施す(S1003)。ここで、入力画像データImageN_1及びImageN_3は、位置合わせ処理の際にそれぞれ参照画像を示す参照画像データとなる。位置合わせ部501は、位置合わせ時に算出される基準画像中の着目画素と参照画像の着目画素との間で算出される相関値を相関マップMap_1,Map_3としてそれぞれ保存する。本実施形態では、後述のブロックマッチングを利用して相関をとるので、最大相関値は0であり、相関が低くなるにつれ値が大きくなる。また、最大相関値を生み出した参照画像の画素値をImageA_iとして保存する(S1004)。位置合わせの詳細は後述する。
【0047】
次に、利用可能マップ生成部503は、予め設定された閾値Thを利用して、Map_1,Map_3の値でTh以下のものを1、Th以上のものを0と設定し、それぞれMapB_1,MapB_3に保存する。また、利用可能マップ生成部503は、MapB_1と同じサイズの画像バッファの要素をすべて1で初期化したデータMapB_2を生成する。さらに、利用可能マップ生成部503は、MapB_1とMapB_2とMapB_3との間で空間的に対応する値を加算する。そして、基準画像データRef_Imageが示す基準画像の各画素が位置合わせできた画像数をマップ化した重ね合わせ枚数マップActiveMapを生成する(S1006)。
【0048】
次に、平均画像生成部502は、MapB_iとImageA_iの同じ座標に対応する画素同士を掛け合わせて、ImageA_iを構成する画素の中で位置合わせできなかった所を0とする(S1007)。さらに、平均画像生成部502はImageA_i同士で空間的に対応する画素を加算し、その結果を、ActiveMapの各画素に対応する値で除算し、位置合わせ後の画像の平均画像データImage_AVを生成する(S1008)。次に、減算部504は、基準画像データRef_Imageから平均画像データImage_AVを減算し、差分画像(ノイズ成分画像)データImage_Dを生成する(S1009)。
【0049】
次に、ノイズ分散測定部505では、ノイズ成分画像データImage_Dの分散Image_Varを算出し(S1010)する。さらに平均画像データImage_AVと分散Image_Varとを利用して、輝度(本実施形態では0〜255)に対応したノイズの分散値Var_Arrayを算出し(S1011)、処理を終了する(S1012)。
【0050】
<基準画像選択部500の処理>
図11のフローチャートを利用して、基準画像選択部500の処理の一例を説明する。処理を開始すると、基準画像選択部500は入力画像データImageN_1、ImageN_2、ImageN_3を取得する(ステップ1101)。次に、入力画像データImageN_1、ImageN_2、ImageN_3のそれぞれの画像に対応する輝度の分散値Var_i、i=1,2,3を算出する(ステップ1102)。最後にVar_iの中で最小値を検出し、対応する入力画像を基準画像と決定し、処理を終了する(ステップ1104)。なお、図11で説明した基準画像選択の手法は一例を示すものに過ぎず、他の手法によって基準画像を選択することも可能である。例えば、最終的に出力したい構図を持つ画像を基準にしても良い。
【0051】
<位置合わせ部501の処理>
以下では位置合わせ部501の処理の流れを説明する。図12は、図10のフローチャートのステップ1003における位置合わせ処理の流れの一例を示すフローチャートである。
【0052】
ステップ1201において、位置合わせ部501は、基準画像を示す基準画像データRef_Imageと参照画像を示す参照画像データとを入力する。基準画像とは、上述の基準画像選択部500で決定される画像の事である。参照画像は、ImageN_1、ImageN_2、ImageN_3が示す入力画像の中で、基準画像以外の画像である。例えば、ImageN_1が示す画像が基準画像の場合、ImageN_2、ImageN_3が示す画像が参照画像である。本実施形態ではImageN_2が示す画像を基準画像とし、ImageN_1、ImageN_3が示す画像を参照画像とする。ステップ1202において、位置合わせ部501は、入力された基準画像データが示す基準画像に対して特徴点を抽出する。特徴点の抽出方法については、一般的に使用されるエッジ検出フィルタ処理を用いることができる。本実施形態ではエッジ検出フィルタとしてSobelフィルタを使用する。なお、特徴点の抽出に際しては、その他のエッジ検出フィルタを使用しても構わない。例えば、Robinsonのエッジ検出フィルタを使用しても良い。更には、これらのエッジ検出フィルタを組み合わせた方法により特徴点を抽出しても構わない。
【0053】
ステップ1203において、位置合わせ部501は、対応点を探索するための注目画素の座標位置(x,y)を基準画像の中から設定する。ステップ1204において、位置合わせ部501は、設定された注目画素を中心とした所定のブロック(差分値を求めるブロック)を基準画像において設定する。また、参照画像の所定のブロックおよび該ブロックの中心位置(cx,cy)を参照画像において設定する。
【0054】
ステップ1205において、位置合わせ部501は、基準画像に設定された中心位置(x,y)のブロックが特徴点の対応探索に際して有効なブロックか否かを判断する。有効ブロックの判断方法は、位置合わせ部501がステップ1202で実施される特徴点の数をカウントし、その数が予め規定されている数よりも多い場合には、有効ブロックであると判断される。つまり、ステップ1205では、多くの特徴点をブロック内に有するブロックが、位置合わせ部500により有効ブロックとして判定される。有効ブロックであると判定された場合には、ステップ1206に進む。一方、ステップ1205において、位置合わせ部501が、着目しているブロックが有効ブロックでないと判断した場合には、ステップ1207に進む。
【0055】
ステップ1206において、位置合わせ部501は、特徴点の対応探索を行う範囲を設定する。特徴点の対応探索を行う範囲は演算コストを考慮して任意の大きさに設定すればよいが、注目画素の座標位置(x,y)をその中に含むことが条件となる。一般的に、ぶれ量が大きい場合には特徴点の対応探索を行う範囲を大きく設定することが好ましく、ぶれ量が小さい場合には特徴点の対応探索を行う範囲は小さくても足りる。
【0056】
図13は、注目画素の座標位置(x,y)、参照画像に設定されたブロック、該ブロックの中心位置、および設定された特徴点の対応探索を行う範囲を示す図である。この場合においてブロックは、横方向に2wx+1画素、縦方向に2wy+1画素で確定される大きさであり、wx、wyはそれぞれゼロ以上の整数値である。
【0057】
図12のフローチャートの説明に戻る。ステップ1207において、位置合わせ部501は、基準画像における注目画素の座標位置(x,y)に対応する点が参照画像には無いと判断する。
【0058】
ステップ1208において、位置合わせ部501は、設定されたブロックの範囲の基準画像を示す基準画像データと参照画像を示す参照画像データとを用いて、差分値の平均値を計算する。式(1)は、ブロックの中心位置(cx,cy)における、差分値の平均値Eave(cx,cy,m)を求める演算式である。
【0059】
【数1】

【0060】
ここで、I(x,y,0)は基準画像を、I(x,y,m)は参照画像を表している。mは参照画像の番号を示す変数ある。
【0061】
ステップ1209において、位置合わせ部501は、設定された特徴点の対応探索の範囲内における全てのブロックについて、差分値の平均値を求める処理が完了したか否かを判定する。すべてのブロックについて差分値の平均値を求める処理が完了していればステップ1211に進む。一方、未処理のブロックがある場合にはステップ1210に進む。ステップ1210において、位置合わせ部501は、ブロックの中心位置(cx,cy)を更新して、まだ差分値の平均値を求めていないブロック位置にブロック位置を変更する。ブロック位置を変更すると、ステップ1208に戻る。
【0062】
ステップ1211において、位置合わせ部501は、差分値の平均値が最小となるブロックの中心位置(x’,y’)を求め、設定された特徴点の対応探索の範囲内において差分値の平均値が最小となるブロック位置を対応点として選択する。すなわち、基準画像の画像位置(x,y)に対応する参照画像mでの画素位置は(x’,y’)として選択される。参照画像mでの画素(x’,y’)に対応する画素値をImageA_mに保存し、差分値の平均値が最小をMap_mに保存する。ImageA_mとMap_mは、画素毎の情報を持つことになるので、画像の総画素数分のデータになる。mは参照画像の番号を示す変数である。
【0063】
ステップ1212において、位置合わせ部501は、基準画像内の全ての画素について差分値の平均値を求める処理が完了したか否かを判定する。すべての画素について差分値の平均値を求める処理が完了していればステップ1213に進む。一方、未処理の画素がある場合にはステップ1214に進む。
【0064】
ステップ1214において、位置合わせ部501は、注目画素の位置(x,y)を更新して、まだ差分値の平均値を求めていない画素位置に注目画素の位置を変更する。注目画素の位置を変更すると、ステップ1204に戻る。
【0065】
ステップ1213において、位置合わせ部501は、上記のようにして得られた基準画像と参照画像の対応点を出力する。その後、最後にRef_ImageをImageA_0として出力することができる。その後、本処理は終了する。
【0066】
なお、本実施形態における特徴点の対応探索処理では、式(1)に示されるように、基準画像データと参照画像データとの差分値の平均値に基づいて画像間の対応点を探索したが、その他の値を使用しても構わない。例えば、相関係数など、注目画素近傍における画像間の類似度を知り得る値であれば、対応点の探索時に使用しても構わない。
【0067】
<ノイズ分散測定部の処理>
次に、ノイズ分散測定部505の処理を図14を利用して説明する。処理を開始すると(ステップ1400)、ノイズ分散測定部505はImage_AVが示す平均画像の各画素に対して5x5の平均値フィルタを施し、フィルタ済み平均画像を示す画像データImage_AV_Meanを生成する(ステップ1401)。次に、ノイズ分散測定部505は、ノイズ成分画像データImage_Dの画素中で、空間的に対応する重ね合わせ枚数マップActiveMapの値が最大の値である3の画素に着目する。そして、その着目画素の周辺5x5の画素を利用して分散Image_Varを計算する(S1402)。最後に、ノイズ分散測定部505は、フィルタ済み平均画像データImage_AV_Meanの中で同じ値を持つ画素に対応するImage_Varの値を平均化し、輝度に対応したノイズ分散Var_Arrayを算出する(ステップ1403)。次に、ノイズはポアソン分布で近似できる事できる事が知られているのでVar_Arrayを変数0〜255のポアソン分布で近似し(ステップ1406)、処理を終了する(ステップ1405)。以上の処理の結果、入力画像データが示す入力画像の画素値に対応したノイズの分散の配列が生成される。
【0068】
なお、上記の例では、ActiveMapの値が最大の値である3の画素に着目して分散Image_Varを計算する例を説明したが、ActiveMapの値が2の画素に着目して分散Image_Varを計算する処理を行っても良い。すなわち、少なくとも位置合わせが行われている画素を利用して処理が行われればよい。
【0069】
<画像補間部(ノイズ低減部)の構成>
次に、画像補間部404の構成について、図15を参照しながら説明する。画像補間部404は、基準画像データRef_Imageに対して、輝度に対応したノイズ分散Var_Arrayと平均画像データImage_AVとを利用してノイズ低減を施し、ノイズ低減画像Image_NRを出力するLPF処理部600を有する。また、Image_NRを示す画像データにエッジ強調処理を施しエッジ強調画像を示す画像データImage_Enhを出力するエッジ強調部601と、エッジ強調画像データImage_EnhとImage_AVとの信号をブレンドする合成部602とを有する。
【0070】
<画像補間部の処理の流れ>
図16を利用して、画像補間部404の処理の流れを説明する。処理を開始すると(S1600)、LPF処理部600は、基準画像データRef_Image内のフィルタリング対象の画素に空間的に対応した平均画像データImage_AVの値Lを参照する(S1601)。次に、LPF処理部600は輝度に対応したノイズ分散Var_Arrayの要素番号Lに対応する分散値Varを参照する(ステップ1602)。そして、着目画素をVarを利用したウィナーフィルタでノイズ低減し、ノイズ低減画像Image_NRを生成する(ステップ1603)。その後、エッジ強調部601はノイズ低減画像Image_NRが示す画像データに対してアンシャープマスクを施し、エッジ強調画像データImage_Enhを出力する。(ステップ1604)。
【0071】
最後に、合成部602は、ActiveMapの値が1の場合、空間的に対応するエッジ強調画像Image_Enhの画素値に0.75を、Image_AVの画素値に0.25を掛けて加算した値をノイズ低減後の画像Image_Outとして出力する。重ね合わせ枚数マップActiveMapの値が2の場合は、エッジ強調画像Image_Enhの画素値に0.5を、Image_AVの画素値に0.5を掛けて加算した値をノイズ低減後の画像Image_Outとして出力する。ActiveMapの値が3の場合は、エッジ強調画像Image_Enhの画素値に0.25を、Image_AVの画素値に0.75を掛けて加算してノイズ低減後の画像Image_Outとして出力し(ステップ1605)する。そして、処理を終了する(ステップ1606)。ノイズ低減画像Image_NRに対してアンシャープマスクを施した画像データと、Image_AVとを、重ね併せ枚数マップActiveMapに応じて重み付けを変えて合成することで、ノイズ低減程度がより均一な画像を提供することができる。
【0072】
以上の処理を入力画像データ群に施す事で、画像中のノイズを一様に低減する事が可能となる。
【0073】
なお、ノイズ分散測定部505では、輝度に応じたノイズの分散を算出したが、画像データ全体で一つだけ分散を算出し、この単一の分散を利用してLPF処理部600を稼動しても良い。この場合、高速にノイズ低減可能となる。
【0074】
また、本実施形態は複数の撮像部を有する多眼式カメラにおける例を示したが、単眼カメラで時間差撮影をした結果である画像群を用いても、同様の効果が得られる。また、レンズとセンサとを複数利用する方式のほかにも、センサと主レンズとの間にレンズアレイを配置する方式においても本実施形態を適用することが可能である。
【0075】
また、ステップ1503で処理を終了し、ノイズ低減画像Image_NRをノイズ低減後の画像Image_Out、すなわち出力画像として出力しても良い。この場合も、高速にノイズ低減が可能となる。
【0076】
(その他の実施形態)
上記の実施形態の例においては、撮像部を複数備える撮像装置を例に挙げて説明した。しかしながら、例えば複数の撮像部から得られる画像等を情報処理装置等に転送し、情報処理装置において上述したノイズ低減処理が行われても良い。
【0077】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。

【特許請求の範囲】
【請求項1】
複数の画像データを入力する入力部と、
前記入力された画像データが示す複数の画像の位置合わせ処理を行う位置合わせ部と、
前記位置合わせ部による位置合わせ処理が行われた画素により構成される平均画像を示す平均画像データを生成する平均画像生成部と、
前記平均画像データが示す平均画像と前記入力された画像データが示す画像との差分を算出する減算部と、
前記算出された差分を用いて前記入力された画像データが示す画像のノイズを低減するノイズ低減部と
を備えることを特徴とする画像処理装置。
【請求項2】
前記差分からノイズの分散を測定するノイズ分散測定部をさらに備え、
前記のノイズ低減部は、前記測定されたノイズの分散を用いて前記入力された画像データが示す画像のノイズを低減することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記入力された画像データが示す複数の画像から基準画像を選択する基準画像選択部をさらに備え、
前記位置合わせ部は、前記選択された基準画像と、前記入力された画像データが示す複数の画像の中の残りの画像との間で位置合わせをし、
前記減算部は、前記平均画像データが示す平均画像と前記基準画像との差分を算出し、
前記ノイズ低減部は、前記平均画像データと前記基準画像を示す基準画像データと前記差分とを用いてノイズを低減したノイズ低減画像を生成することを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記位置合わせ部は、前記位置合わせ処理で得られた画素ごとの相関値を記した相関マップを生成し、
前記画像処理装置は、前記相関マップに基づいて、各画素の位置合わせできた画像の枚数を示す重ね合わせ枚数マップを生成するマップ生成部をさらに備え、
前記平均画像生成部は、前記重ね合わせマップを用いて前記平均画像データを生成し、
前記ノイズ低減部は、前記重ね合わせマップを用いてノイズ低減することを特徴とする請求項1から3のいずれかに記載の画像処理装置。
【請求項5】
前記ノイズ分散測定部は、輝度毎に定義されているノイズの分散を使用することを特徴とする請求項2記載の画像処理装置。
【請求項6】
前記ノイズ分散測定部は、前記ノイズの分散として、基準画像に対応した単一の値を使用することを特徴とする請求項2記載の画像処理装置。
【請求項7】
前記ノイズ低減部は、
前記ノイズ低減された画像にエッジ強調を施したエッジ強調画像を示すエッジ強調画像データを生成するエッジ強調部と、
前記平均画像データと、前記エッジ強調画像データと、前記重ね合わせ枚数マップとから出力画像を生成する合成部と
を含むことを特徴とする請求項4に記載の画像処理装置。
【請求項8】
複数の画像データを入力する入力ステップと、
前記入力された画像データが示す複数の画像の位置合わせ処理を行う位置合わせステップと、
前記位置合わせステップによる位置合わせ処理が行われた画素により構成される平均画像を示す平均画像データを生成する平均画像生成ステップと、
前記平均画像データが示す平均画像と前記入力された画像データが示す画像との差分を算出する減算ステップと、
前記算出された差分を用いて前記入力された画像データが示す画像のノイズを低減するノイズ低減ステップと
を備えることを特徴とする画像処理方法。
【請求項9】
コンピュータを請求項1から請求項7のいずれかに記載の画像処理装置として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−61850(P2013−61850A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−200493(P2011−200493)
【出願日】平成23年9月14日(2011.9.14)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】