(57)【特許請求の範囲】
【請求項１】
第１の画角を有する第１の撮像部により撮像された第１の画像と、前記第１の画角よりも小さい第２の画角を有する第２の撮像部により撮像された、前記第１の画像と同一の被写体の像を含む第２の画像とを取得する取得手段と、
前記第１の画像と前記第２の画像とを、前記同一の被写体の像が重なるように位置合わせおよび変形する変形手段と、
前記第１の画像と前記第２の画像とが重なる領域において、被写体像のエッジを検出するエッジ検出処理を行う検出手段と、
前記変形手段により位置合わせおよび変形された前記第１の画像と前記第２の画像とを重みづけ合成する際の重みを決定する決定手段と、
前記変形手段により位置合わせ及び変形された前記第１の画像と前記第２の画像とを、前記決定手段により決定された前記重みを用いて重みづけ合成する合成手段とを有し、
前記決定手段は、前記検出手段によってエッジとして検出された領域を含む一部の領域における前記第２の画像の重みに対する前記第１の画像の重みが、前記一部の領域以外の領域における前記第２の画像に対する前記第１の画像の重みよりも小さくなるように、前記重みを決定することを特徴とする画像処理装置。
【請求項２】
前記決定手段は、前記一部の領域における前記第１の画像の重みを０とし、前記一部の領域以外の領域における前記第１の画像の重みを０以外の値とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、前記第１の画像と前記第２の画像とが重なる領域において、前記一部の領域以外の領域における前記第１の画像の重みと前記第２の画像の重みとの比を１対１にすることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記決定手段は、前記第１の画像の各画素における重みを示す重みマップを生成し、前記生成した重みマップにローパスフィルタを作用させ、
前記合成手段は、前記ローパスフィルタを作用させた前記重みマップを用いて前記重みづけ合成を行うことを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記検出手段は、前記第１の画像及び前記第２の画像において、被写体像のエッジ強度を導出し、
前記決定手段は、前記エッジ強度が大きい画像領域ほど重みが大きくなるように前記第１の画像と前記第２の画像との重みを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記第１の画角よりも小さく前記第２の画角よりも大きい仮想画角を入力する入力手段を更に有し、
前記変形手段は更に、前記第１の画像の、前記入力手段により入力された前記仮想画角に対応する画像領域よりも外側の画像領域をトリミングし、
前記合成手段は、前記変形手段により位置合わせおよび変形された前記第１の画像と前記第２の画像とを合成することで、前記仮想画角に対応する画像データを生成することを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
前記取得手段は、前記第１の画角よりも大きい第３の画角を有する第３の撮像部により撮像され、前記第１の画像および前記第２の画像と同一の被写体を含む第３の画像を更に取得し、
前記変形手段は、前記第３の画像を、前記同一の被写体の像が前記第１の画像及び前記第２の画像と重なるように更に位置合わせおよび変形し、
前記検出手段は、前記第１の画像と前記第３の画像とが重なる領域において、被写体像のエッジを検出するエッジ検出処理を更に行い、
前記決定手段は前記第１の画像と前記第２の画像と前記第３の画像とを重みづけ合成する際の前記第３の画像の重みを更に決定し、
前記合成手段は前記変形手段により位置合わせ及び変形された前記第１の画像と前記第２の画像と前記第３の画像とを、前記決定手段により決定された前記重みを用いて重みづけ合成し、
前記決定手段は、前記第１の画像と前記第３の画像とが重なりかつ前記第２の画像が重ならない画像領域において、前記検出手段によってエッジとして検出された領域を含む一部の領域における前記第１の画像の重みに対する前記第３の画像の重みが、前記一部の領域以外の領域における前記第１の画像に対する前記第３の画像の重みよりも小さくなるように、前記重みを決定することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記決定手段は、前記第１の画像と前記第２の画像と前記第３の画像とが重なる領域において、前記検出手段によってエッジとして検出された領域を含む一部の領域における前記第２の画像の重みに対する前記第３の画像の重みが、前記一部の領域以外の領域における前記第２の画像に対する前記第３の画像の重みよりも小さくなるように、前記重みを決定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記検出手段は、前記第１の画像および前記第２の画像において、被写体像のエッジ強度を導出し、
前記導出したエッジ強度が所定の閾値を超える領域をエッジとして検出することを特徴とする請求項１乃至８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記一部の領域は、前記検出手段によってエッジとして検出された領域を、所定の画素数分拡張した領域であることを特徴とする請求項１乃至９のいずれか一項に記載の画像処理装置。
【請求項１１】
前記検出手段は、ソーベルフィルタを用いて前記エッジ検出処理を行うことを特徴とする請求項１乃至１０のいずれか一項に記載の画像処理装置。
【請求項１２】
同一の被写体を互いに異なる焦点距離の撮像部を用いて撮像することで得られた複数の画像を取得する取得手段と、
前記複数の画像を、前記同一の被写体の像が重なるように位置合わせおよび変形する変形手段と、
前記複数の画像が重なる領域において、被写体像のエッジを検出し、前記検出されたエッジのエッジ強度を導出する導出手段と、
前記変形手段により位置合わせおよび変形された前記複数の画像を重みづけ合成する際の重みを決定する決定手段と、
前記変形手段により位置合わせ及び変形された前記複数の画像を、前記決定手段により決定された前記重みを用いて重みづけ合成する合成手段とを有し、
前記決定手段は、前記導出手段によってエッジとして検出された領域を含む一部の領域において、前記複数の画像の前記エッジ強度を比較し、前記一部の領域における、前記エッジ強度が最も大きい画像の重みに対する前記エッジ強度が最も大きい画像以外の画像の重みが、前記一部の領域以外の領域における、前記エッジ強度が最も大きい画像の重みに対する前記エッジ強度が最も大きい画像以外の画像の重みよりも小さくなるように、前記重みを決定することを特徴とする画像処理装置。
【請求項１３】
前記決定手段は、前記一部の領域における前記エッジ強度が最も大きい画像以外の画像の重みを０とし、前記一部の領域以外の領域における前記エッジ強度が最も大きい画像以外の画像の重みを０以外の値とすることを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記決定手段は、前記複数の画像が重なる領域において、前記一部の領域以外の領域における前記複数の画像の重みを等しくすることを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
第１の画角を有する第１の撮像部により撮像された第１の画像と、前記第１の画角よりも小さい第２の画角を有する第２の撮像部により撮像された、前記第１の画像と同一の被写体の像を含む第２の画像とを取得する取得工程と、
前記第１の画像と前記第２の画像とを、前記同一の被写体の像が重なるように位置合わせおよび変形する変形工程と、
前記第１の画像と前記第２の画像とが重なる領域において、被写体像のエッジを検出するエッジ検出処理を行う検出工程と、
前記変形工程で位置合わせおよび変形された前記第１の画像と前記第２の画像とを重みづけ合成する際の重みを決定する決定工程と、
前記変形工程により位置合わせ及び変形された前記第１の画像と前記第２の画像とを、前記決定工程により決定された前記重みを用いて重みづけ合成する合成工程とを含み、
前記決定工程では、前記検出工程でエッジとして検出された領域を含む一部の領域における前記第２の画像の重みに対する前記第１の画像の重みが、前記一部の領域以外の領域における前記第２の画像に対する前記第１の画像の重みよりも小さくなるように、前記重みが決定されることを特徴とする画像処理方法。
【請求項１６】
同一の被写体を互いに異なる焦点距離の撮像部を用いて撮像することで得られた複数の画像を取得する取得工程と、
前記複数の画像を、前記同一の被写体の像が重なるように位置合わせおよび変形する変形工程と、
前記複数の画像が重なる領域において、被写体像のエッジを検出し、前記検出されたエッジのエッジ強度を導出する導出工程と、
前記変形工程で位置合わせおよび変形された前記複数の画像を重みづけ合成する際の重みを決定する決定工程と、
前記変形工程で位置合わせ及び変形された前記複数の画像を、前記決定工程により決定された前記重みを用いて重みづけ合成する合成工程とを有し、
前記決定工程は、前記導出工程でエッジとして検出された領域を含む一部の領域において、前記複数の画像の前記エッジ強度を比較し、前記一部の領域における、前記エッジ強度が最も大きい画像の重みに対する前記エッジ強度が最も大きい画像以外の画像の重みが、前記一部の領域以外の領域における、前記エッジ強度が最も大きい画像の重みに対する前記エッジ強度が最も大きい画像以外の画像の重みよりも小さくなるように、前記重みを決定する工程であることを特徴とする画像処理方法。
【請求項１７】
コンピュータを請求項１乃至１４のいずれか一項に記載の画像処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画角の異なる画像同士の合成処理に関する。
【背景技術】
【０００２】
画像のノイズ低減を行う方法として、同じシーンを撮影した複数の画像を合成する技術が知られている。また、複数の画像を同時に撮像する撮像装置として、画角の異なる複数の撮像部を有する撮像装置がある（特許文献１）。特許文献１には、画像の拡大による仮想的なズーム処理（電子ズーム）を行う際に、広角で撮影された画像と望遠で撮影された画像とを仮想画角に応じて切り替えながら電子ズームを行うことが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４３４１０１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像合成によるノイズ低減の効果を最大限まで高めようとした場合、撮像された複数の画像の全てを合成することが理想である。しかしながら、特許文献１に記載の技術のように、撮像された複数の画像の中に互いに画角の異なる画像が含まれている場合、そのまま全ての画像を合成してしまうと、望遠画像で得られた解像度が合成により劣化してしまうと言う課題があった。そこで、本発明は、画角の違う画像同士を合成してノイズ低減を行う場合の解像度の劣化を抑制することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る画像処理装置は、第１の画角を有する第１の撮像部により撮像された第１の画像と、前記第１の画角よりも小さい第２の画角を有する第２の撮像部により撮像された、前記第１の画像と同一の被写体の像を含む第２の画像とを取得する取得手段と、前記第１の画像と前記第２の画像とを、前記同一の被写体の像が重なるように位置合わせおよび変形する変形手段と、前記第１の画像と前記第２の画像とが重なる領域において、被写体像のエッジを検出するエッジ検出処理を行う検出手段と、前記変形手段により位置合わせおよび変形された前記第１の画像と前記第２の画像とを重みづけ合成する際の重みを決定する決定手段と、前記変形手段により位置合わせ及び変形された前記第１の画像と前記第２の画像とを、前記決定手段により決定された前記重みを用いて重みづけ合成する合成手段とを有し、前記決定手段は、前記検出手段によってエッジとして検出された領域を含む一部の領域における前記第２の画像の重みに対する前記第１の画像の重みが、前記一部の領域以外の領域における前記第２の画像に対する前記第１の画像の重みよりも小さくなるように、前記重みを決定することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画角の違う画像同士を合成してノイズリダクションを行う場合の解像度の劣化を抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】実施例１に係る複数の撮像部を備えた多眼方式の撮像装置の一例を示す図。
【図２】撮像装置の内部構成の一例を示すブロック図。
【図３】撮像部の内部構成の一例を示す図。
【図４】実施例１に係る撮像装置の機能構成を示すブロック図。
【図５】実施例１に係る撮像装置で行われる処理の流れを示すフローチャート。
【図６】画像変形処理の概念図。
【図７】実施例１の決定部で行われる重み決定処理の流れを示すフローチャート。
【図８】実施例１に係る重みの決定方法の概念図。
【図９】実施例２に係る複数の撮像部を備えた多眼方式の撮像装置の一例を示す図。
【図１０】実施例２の決定部で行われる重み決定処理の流れを示すフローチャート。
【図１１】実施例２に係る重みの決定方法の概念図。
【図１２】実施例３に係る重みの決定方法の概念図。
【図１３】実施例４に係る重みの決定方法の概念図。
【図１４】実施例５の決定部で行われる重み決定処理の流れを示すフローチャート。
【図１５】実施例５のエッジ強度を比較に基づく重み決定処理の流れを示すフローチャート。
【発明を実施するための形態】
【０００８】
以下に図面を参照して、発明の実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【０００９】
＜実施例１＞
本実施例では、画角の異なる２枚の撮像画像データとユーザの指定した仮想画角とを基に、仮想画角に対応する仮想画角画像データを生成する電子ズーム処理を行う撮像装置について説明する。この際、仮想画角を大きくすることでズーム倍率が小さい広角の仮想画角画像データが得られ、仮想画角を小さくすることでズーム倍率が大きい望遠の仮想画角画像データが得られる。すなわち、ユーザは仮想画角を変えることで、仮想画角画像データのズーム倍率を変えることができる。本実施例に記載の処理は、撮像の際のプレビュー画像データを生成する処理や撮像後に任意のズーム倍率の画像データを生成する処理として利用可能である。
【００１０】
図１は、本実施例に係る撮像装置の構成の一例を示す図である。図１に示すように、撮像装置１００はカラー画像データを取得する２個の撮像部１０１〜１０２及び撮像ボタン１０３を備えている。撮像部１０１と撮像部１０２は、それぞれの光軸が平行になるように配置されている。本実施例では、撮像部１０１と撮像部１０２との間の水平方向における間隔をＲ、撮像部１０１の画角をθ１、撮像部１０２の画角をθ２とする。なお、θ１＞θ２であり、撮像部１０２よりも撮像部１０１の方が画角が大きいものとする。ユーザが撮像ボタン１０３を押下すると、撮像部１０１〜１０２が被写体の光情報をセンサ（撮像素子）で受光し、受光した信号がＡ／Ｄ変換され、複数のデジタルデータ（撮像画像データ）が同時に得られる。なお、ここでは撮像部の数を２個としたが撮像部の数は２個に限定されず、撮像装置が複数の撮像部を有する限りにおいてその数によらず本実施例は適用可能である。
【００１１】
図２は、撮像装置１００の内部構成を示すブロック図である。中央処理装置（ＣＰＵ）２０１は、以下に述べる各部を統括的に制御する処理回路である。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能するメモリである。ＲＯＭ２０３は、ＣＰＵ２０１で実行される制御プラグラム等を格納しているメモリである。バス２０４は、各種データの転送経路であり、例えば、撮像部１０１〜１０２によって取得された撮像画像データは、このバス２０４を介して撮像装置１００内の各処理部に送られる。操作部２０５は、ボタンやモードダイヤル等の、ユーザの指示を受け取るための操作ユニットであり、ユーザは操作部２０５の操作により撮像装置１００に撮像指示やズーム指示を行うことができる。表示部２０６は撮像した画像や文字の表示を行うディスプレイである。表示部２０６はタッチスクリーン機能を有していても良く、その場合にはタッチスクリーンを用いた撮像指示やズーム指示などのユーザ指示を操作部２０５の入力として扱ってもよい。
【００１２】
表示制御部２０７は、表示部２０６に表示される画像や文字の表示制御を行う処理回路である。撮像制御部２０８は、フォーカスを合わせる、シャッターを開く・閉じる、絞りを調節するなどの、ＣＰＵ２０１からの指示に基づいた撮像部の制御を行う処理回路である。デジタル信号処理部２０９は、バス２０４を介して受け取った撮像画像データに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を行う処理回路である。
【００１３】
エンコード部２１０は、撮像画像データをＪＰＥＧやＭＰＥＧなどのファイルフォーマットに変換する処理を行う処理回路である。外部メモリ制御部２１１は、撮像装置１００を、外部メモリ２１３（例えば、ＰＣ、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリなどの記憶媒体）に接続するためのインターフェースである。画像処理部２１２は、撮像部１０１〜１０２で取得された撮像画像データ群或いは、デジタル信号処理部２０９から出力される撮像画像データ群を用いて画像合成などの画像処理を行う。例えば、画角の異なる複数の画像データとユーザのズーム指示によって設定された仮想画角とを用いて、仮想画角に対応した仮想画角画像データを生成する。なお、撮像装置の構成要素は上記以外にも存在するが、本実施例の主眼ではないので、説明を省略する。
【００１４】
図３は、撮像部１０１の内部構成を示す図である。撮像部１０１は、レンズ３０１〜３０２、絞り３０３、シャッター３０４、光学ローパスフィルタ３０５、ｉＲカットフィルタ３０６、カラーフィルタ３０７、センサ３０８及びＡ／Ｄ変形部３０９で構成される。レンズ３０１〜３０２は夫々、フォーカスレンズ３０１、ぶれ補正レンズ３０２である。センサ３０８は、例えばＣＭＯＳやＣＣＤなどのセンサであり、上記の各レンズでフォーカスされた被写体の光量を検知する。検知された光量はアナログ値としてセンサ３０８から出力され、Ａ／Ｄ変形部３０９によってデジタル値に変換されて、デジタルデータとなってバス２０４に出力される。なお、撮像部１０２の構成はレンズ３０１〜３０２の焦点距離以外は撮像部１０１と同様であるので、説明を省略する。
【００１５】
次に、本実施例の撮像装置１００で行われる処理の流れについて図４および図５を参照して説明する。図４は画像処理部２１２の機能ブロック図である。ＣＰＵ２０１がＲＯＭ２０３から読み出したプログラムをＲＡＭ２０２をワークメモリとして実行し、画像処理部２１２を制御することで、画像処理部２１２は図４に示す各機能ブロックとしての機能を果たす。なお、図４に示す各機能ブロックに対応する専用の処理回路を撮像装置１００が有するようにしても良い。図５は画像処理部２１２によって実行される処理の流れを示すフローチャートである。以下では、仮想画角θ’はθ２≦θ’≦θ１の範囲にあるものとして説明する。
【００１６】
ステップＳ５０１では、画像取得部４０１が、撮像部１０１〜１０２から入力された撮像画像データを取得し、位置合わせ部４０４に出力する。以下、撮像部１０１で撮像された画像をＩ１（ｘ，ｙ）、撮像部１０２で撮像された画像をＩ２（ｘ，ｙ）とする。まず、ステップ５０１の画像データ取得処理において、撮像データ入力部４０１は撮像部１０１、１０２によって撮像された複数の撮像画像データＩ１（ｘ，ｙ）、Ｉ２（ｘ，ｙ）を撮像部１０１、１０２から取得する。撮像画像データは撮像部１０１、１０２から直接取得してもよいし、ＲＡＭ２０２や外部メモリ２１３に記憶されたものを読み出してもよい。画像取得部４０１は、取得した撮像画像データを位置合わせ部４０４に出力する。
【００１７】
ステップＳ５０２では、撮像パラメータ取得部４０２が、撮像部１０１の画角θ１と、撮像部１０２の画角θ２と、撮像部１０１と撮像部１０２との間隔Ｒと、を含む撮像パラメータを、ＲＯＭ２０３や外部メモリ２１３などの記憶装置から取得する。撮像パラメータ取得部４０２は、取得した撮像パラメータを位置合わせ部４０４、変形部４０５、決定部４０６に出力する。
【００１８】
ステップＳ５０３では、処理パラメータ取得部４０３が仮想画角θ’を含む処理パラメータを操作部２０５からの出力に基づいて取得する。なお、ユーザは仮想画角θ’操作部２０５の走査により入力する。例えば撮像装置のズームボタンの操作に伴って画角の変化を推定しても良いし、ユーザが所望の画角の数値を直接入力するようにしてもよい。処理パラメータ取得部４０３は、取得した処理パラメータを位置合わせ部４０４、変形部４０５、決定部４０６に出力する。
【００１９】
ステップＳ５０４では位置合わせ部４０４が、画像取得部４０１から入力された撮像画像データと撮像パラメータ取得部４０２から入力された撮像パラメータと処理パラメータ取得部４０３から入力された処理パラメータとを用いて、画像の位置合わせを行う。位置合わせが行われた後の画像Ｉ１（ｘ，ｙ）、Ｉ２（ｘ，ｙ）を画像Ｊ１（ｘ，ｙ）、Ｊ２（ｘ，ｙ）とする。なお、ここで行われる位置合わせ処理の詳細については後述する。位置合わせ部４０４は位置合わせが終了した画像Ｊ１（ｘ，ｙ）とＪ２（ｘ，ｙ）を変形部４０５に出力する。
【００２０】
ステップＳ５０５では、変形部４０５が、位置合わせ部４０４から入力された画像Ｊ１（ｘ，ｙ）、Ｊ２（ｘ，ｙ）に対して、仮想画角θ’に応じた拡大（縮小）処理を行う。この処理の概念を図６に示す。図６において、画像６０１は視点位置合わせ後の画像Ｊ１であり、画像６０２は視点位置合わせ後の画像Ｊ２である。先に仮定したように、撮像部１０１の画角θ１は、仮想画角θ’以上であり、撮像部１０２の画角θ２は、仮想画角θ’以下である。画像６０３は画像６０１をｔａｎθ１／ｔａｎθ’倍に拡大したものであり、その中で画角θ’に対応する領域をトリミングしたものが画像６０４である。また、画像６０２をｔａｎθ２／ｔａｎθ’倍に縮小したものが画像６０５であり、画角θ’に対応するように画像６０５の周辺を０で埋めた画像が画像６０６である。変形部４０５は、位置合わせ部４０４から入力された画像Ｊ１（ｘ，ｙ）、Ｊ２（ｘ，ｙ）を画像６０１および画像６０２とした場合の画像６０４および画像６０６を生成する。以下では、画像６０４をＫ１（ｘ，ｙ）、画像６０６をＫ２（ｘ，ｙ）と表すものとする。変形部４０５は、生成した画像Ｋ１（ｘ，ｙ）、Ｋ２（ｘ，ｙ）を決定部４０６と合成部４０７とに出力する。
【００２１】
ステップＳ５０６では、決定部４０６が撮像部１０１の画角θ１、撮像部１０２の画角θ２、および処理パラメータに含まれる仮想画角θ’、変形後の撮像画像データＫ１（ｘ，ｙ）、Ｋ２（ｘ，ｙ）の特性を元に合成に用いる重み係数を決定する。ここで行われる処理の詳細については後述する。決定部４０６は、ここで決定した画像Ｋ１（ｘ，ｙ）に対応する重み係数ｗ１（ｘ，ｙ）と、画像Ｋ１（ｘ，ｙ）に対応する重み係数ｗ２（ｘ，ｙ）とを合成部４０７に出力する。
【００２２】
最後にステップＳ５０７では、合成部４０７がＫ１（ｘ，ｙ）、Ｋ２（ｘ，ｙ）に重み係数ｗ１（ｘ，ｙ）、ｗ２（ｘ，ｙ）を乗算し、以下の式に従って加算合成する。
Ｉｓｙｎｔｈ（ｘ，ｙ）＝［ｗ１（ｘ，ｙ）Ｋ１（ｘ，ｙ）＋ｗ２（ｘ，ｙ）Ｋ２（ｘ，ｙ）］／［ｗ１（ｘ，ｙ）＋ｗ２（ｘ，ｙ）］      （１）
合成部４０７は、生成した合成画像データＩｓｙｎｔｈ（ｘ，ｙ）をＲＡＭ２０２などの記憶装置に出力して処理を終了する。
【００２３】
以上が本実施例の撮像装置１００で行われる処理の流れである、次に、各工程における処理の詳細について説明する。
【００２４】
〔位置合わせ部４０４の処理〕
まず、位置合わせ部４０４で行われる処理（ステップＳ５０４）の詳細について説明する。位置合わせ部４０４は、撮像画像Ｉ１と撮像画像Ｉ２との位置合わせを行う。本実施例では、撮像部１０１の画角の方が撮像部１０２の画角に比べて大きいので、撮像部１０２の画像を撮像部１０１の視点位置に合わせるものとする。位置合わせ部４０４は、撮像部１０１の画像Ｉ１を図６の画像６０１と画像６０３の関係のように、ｔａｎθ１／ｔａｎθ２に拡大してトリミングし、この画像をＩ１’とする。
【００２５】
次に、画像Ｉ２（ｘ，ｙ）と画像Ｉ１’（ｘ，ｙ）の各画素（領域）における視差を求める。このとき視差を求めるのは、図６に示す例では、画像６０４の領域のみである。視差を求める方法としては、公知のブロックマッチング手法を用いる。ブロックマッチングは、基準画像のある画像領域との類似度が最も高い画像ブロックを、参照画像から導出する手法である。導出された対応する画像領域同士の画像中での位置の差から、各画素位置に対応するＩ１’から見たＩ２の視差（ｄｘ（ｘ，ｙ），ｄｙ（ｘ，ｙ））を求めることができる。画素（領域）ごとに視差を求めることができる方法であれば、ブロックマッチングに限らず、例えばグラフカットなどの手法を用いてもよい。最後に画像Ｉ２（ｘ，ｙ）を視差（−ｄｘ（ｘ，ｙ），−ｄｙ（ｘ，ｙ））だけずらし、
Ｉ’２（ｘ，ｙ）＝Ｉ２（ｘ＋ｄｘ（ｘ，ｙ），ｙ＋ｄｙ（ｘ，ｙ））      （２）
とし、撮像部１０２の画像の視点位置を撮像部１０１に合わせた画像を得る。なお、画像の位置合わせの方法は上記に限られず、例えば赤外線を用いた距離センサを使って被写体の距離を取得し、取得した距離と各撮像部の間の間隔とに基づいて画像をずらすようにしても良い。以上により、視点位置を合わせた画像をそれぞれ、Ｊ１（ｘ，ｙ）、Ｊ２（ｘ，ｙ）とする。以上が位置合わせ部４０４で行われる処理である。
【００２６】
〔決定部４０６の処理〕
次に、決定部４０６における処理（ステップＳ５０６）の詳細について説明する。図７は決定部４０６の処理を示すフローチャートである。ステップＳ７０１では、決定部４０６が、入力された各画像について、撮像された際の画角が仮想画角θ’より大きいかどうか判定する。撮像された際の画角が仮想画角θ’より大きい場合（本実施例では、撮像部１０１で撮像された場合）には、ステップＳ７０２に進む。撮像された際の画角が仮想画角θ’よりも小さい場合には、ステップＳ７０４に進む。
【００２７】
ステップＳ７０２では、決定部４０６が、画像のエッジの検出処理を行う。ここでは、エッジは以下のソーベルフィルタ
【００２８】
【数１】
0006579764.tif 000002
【００２９】
を用いて
【００３０】
【数２】
0006579764.tif 000003
【００３１】
の式によって強度を算出する。＊は畳みこみ、Ｉは画像を表すものとする。式（４）の値が閾値Ｔ以上のときは、対象の画素をエッジに対応する画素であると判定する。画素値の範囲が［０，２５５］の場合、閾値Ｔとしては、例えばＴ＝２０を用いる。なお、エッジ検出の方法は以上のソーベルフィルタに限られず画像の画素値に対して微分演算を行ってエッジ検出を行うなどの処理を行っても良い。
【００３２】
ステップＳ７０３では、決定部４０６が、ステップＳ７０２で検出されたエッジ情報に基づいて、画像の各画素について合成の重みを決定する。ここでは、画角θ２の範囲に含まれる、ステップＳ７０２でエッジとして検出された画素を中心としたｓ×ｓのサイズのブロックに含まれる画素の重みを０とし、その他の画素の重みは１とする。例えばブロックサイズｓはｓ＝１０を用いることができる。すなわち、エッジとして検出された画素を所定の画素数分拡張した一部の領域の重みが０として決定される。そして、決定部４０６は、決定した重みを合成部４０７に出力して処理を終了する。
【００３３】
ステップＳ７０４では、決定部４０６が、重み決定の対象の画像の撮像時の画角（θ２）に対応する画像領域の重みは１とし、画角θ２の範囲に含まれない画像領域の重みを０とする。そして、決定部４０６は、決定した重みを合成部４０７に出力して処理を終了する。
【００３４】
ステップＳ７０３およびＳ７０４における重みの決め方の概念図を図８に示す。図８において、領域８０２は、撮像部１０２の画角θ２の範囲を表したものであり、画像８０１は画像６０４の各画素に対応する重み係数を示した重みマップである、画像８０３は画像６０６の各画素に対応する重み係数を示した重みマップである。画像８０１および画像８０３において、白い領域には重み係数１が、黒い部分には重み係数０が格納されている。撮像された際の画角が仮想画角θ’よりも大きい場合には、領域８０２に含まれる画素のうち、エッジとして検出された画素を含むエッジ領域の重みが０となり、その他の画素の重みが１となっている。すなわち、領域８０２の中のエッジ領域以外の領域においては、望遠側の画像と広角側の画像の重みは１対１となっている。また、撮像された際の画角が仮想画角θ’よりも小さい場合には、領域８０２に含まれる画素全ての重みが１となり、領域８０２の外側の画素全ての重みが０となっている。このように、画像のエッジ領域には広角の画像の画素値を用いずに、画像のエッジ領域以外の領域では広角の画像の画素値も用いて最終的な画像の画素値を決定することにより、ノイズが低減されつつも望遠の画像の解像感が残った画像を生成することができる。
【００３５】
なお、本実施例において、画像取得部４０１は、第１の画角を有する第１の撮像部により撮像された第１の画像と、前記第１の画角よりも小さい第２の画角を有する第２の撮像部により撮像された第２の画像とを取得する取得手段として機能する。また、位置合わせ部４０４と変形部４０５は前記第１の画像と前記第２の画像とを、前記同一の被写体の像が重なるように位置合わせおよび変形する変形手段として機能する。また、決定部４０６は、前記第１の画像と前記第２の画像とが重なる領域において、被写体像のエッジを検出するエッジ検出処理を行う検出手段として機能する。また、決定部４０６は、前記変形手段により位置合わせおよび変形された前記第１の画像と前記第２の画像とを重みづけ合成する際の重みを決定する決定手段としても機能する。また、合成部４０７は、前記変形手段により位置合わせ及び変形された前記第１の画像と前記第２の画像とを、前記決定手段により決定された前記重みを用いて重みづけ合成する合成手段として機能する。
【００３６】
＜実施例２＞
実施例１では、撮像部の画角が２種類の場合について説明したが、本実施例では、画角が互いに異なる撮像部を３種類以上有する場合について説明する。図９は、本実施例に係る撮像装置の一例を示す図である。図９に示すように、撮像装置９００はカラー画像データを取得する４個の撮像部９０１〜９０４を備えている。撮像部９０１〜撮像部９０４は、それぞれの光軸が平行になるように配置されている。本実施例では、撮像部９０１〜撮像部９０４の画角をθ１〜θ４とし、画角の大小関係は、θ１＞θ２＞θ３＞θ４とする。すなわち、撮像部９０１が最も画角が大きく、撮像部９０４が最も画角が小さい。また、仮想画角θ’は、θ１＞θ２＞θ’＞θ３＞θ４の関係を満たすものとする。本実施例における基本的な処理は実施例１と同様であるが、ステップＳ５０６における重み決定の処理の内容が異なる。図１０は、本実施例におけるステップＳ５０６の処理の流れを示したフローチャートである。実施例１と同様の処理については図７と同様の符号を付し、説明を省略する。
【００３７】
ステップＳ１００１では、決定部４０６が、重み決定の対象である画像の撮像時の画角が、撮像部９０１〜９０４の画角のうち、仮想画角より広角の画角の中で仮想画角に最も近いかどうかを判定する。本実施例の場合、仮想画角よりも広角でかつ仮想画角に最も近い画角は、θ２である。重み決定の対象である画像の撮像時の画角がθ２であるときは、ステップＳ１００２に進む。そして、重み決定の対象である画像の撮像時の画角がθ２ではない場合は、ステップＳ１００３に進む。
【００３８】
ステップＳ１００２では、決定部４０６が、ステップＳ７０２で検出されたエッジ情報に基づいて、画像の各画素について合成の重みを決定する。ここでは、重み決定の対象の画像において、撮像部９０１〜９０４の画角のうち、重み決定の対象である画像の撮像時の画角よりも一段階小さい画角（本実施例ではθ３）に含まれない領域の重みが１として決定される。そして、画角θ３の範囲に含まる、ステップＳ７０２でエッジとして検出された画素を中心としたｓ×ｓのサイズのブロックに含まれる画素の重みを０とし、その他の画素の重みは１として決定される。そして、決定部４０６は、決定した重み係数を合成部４０７に出力して処理を終了する。
【００３９】
ステップＳ１００３では、決定部４０６が、ステップＳ７０２で検出されたエッジ情報に基づいて、画像の各画素について合成の重みを決定する。このステップでは、画像中の全領域において、エッジとして検出された画素を中心としたｓ×ｓのサイズのブロックに含まれる画素の重みを０とし、その他の画素の重みを１として決定する処理が行われる。そして、決定部４０６は、決定した重み係数を合成部４０７に出力して処理を終了する。
【００４０】
図１１は、ステップＳ１００２およびステップＳ１００３で行われる重み決定処理の概念を示す図である。図１１において、画像１１０１は撮像部９０２により撮像された画像（画角θ２）に変形処理を行ったものを、画像１１０３は撮像部９０１により撮像された画像（画角θ１）に変形処理を行ったものを示す。領域１１０２は、撮像部９０１〜９０４の撮像画角のうち仮想画角よりも小さい画角の中で、最も仮想画角に近い画角θ３の画角範囲を表している。画像１１０４は、画像１１０１の各画素に対応する重み係数を示した重みマップである。重み決定の対象である画像が撮像された際の画角が、仮想画角よりも大きな画角の中で最も仮想画角に近い場合（画角がθ２の場合）、領域１１０２に含まれない範囲では最も解像感の高い画像が得られている。そこで、エッジ領域の重みを０にするのは領域１１０２内のみに限定されており、領域１１０２に含まれない範囲の重みはエッジ領域においても１となっている。一方、重み決定の対象である画像が撮像された際の画角が、仮想画角よりも大きな画角の中で最も仮想画角に近いわけではない場合、仮想画角内の全ての領域において解像感が他の画像に比べて劣っている。そのため、画像内の全域でエッジ領域の重みが０となっている。
【００４１】
以上が本実施例における重み決定処理の概要である。以上の処理によれば、合成する画像の画角の種類が３種類以上である場合においても、解像感の低下を抑制しつつ画像合成によるノイズ低減を行うことができる。
【００４２】
＜実施例３＞
実施例１および実施例２では、決定部４０６が、撮像時の画角が仮想画角より小さい画像に対する重み係数を図８の重みマップ８０３のように決定した。しかし、このようにある領域の内側と外側で重みが０から１に急激に変化するように重みを決定すると、合成に用いる画像の枚数が切り替わる境界でノイズ量が急激に変化し、ノイズ段差が発生する。例えば実施例１の場合では、領域８０２の内側では加算される画像枚数が２枚であり、領域８０２の外側では加算される画像枚数が１枚であるため、領域８０２の外側では領域８０２の内側に比べてノイズ量が大きくなり、ノイズ段差が発生する。
【００４３】
そこで、本実施例では、撮像時の画角が仮想画角よりも小さい場合の重み係数を以下のように決める。図１２において、グラフ１２０１は重みマップ８０３の水平方向における断面図である。グラフ１２０１では、領域８０２の内側は重み係数が１、領域８０２の外側は重み係数が０となるように決定されている。これに対し、グラフ１２０２は本実施例における重みの決定方法により重み係数が決定された重みマップの水平方向における断面図である。グラフ１２０２では、領域８０２の内側において、領域８０２の境界に向かって重み係数が１から０になめらかに変化するように決定されている。なお、図１２の例では、重み係数が直線に沿って変化するように重み値を決定しているが、重み係数が境界に向かってなめらかに変化するように決定されていれば、重み係数を直線にそって変化するように決定する必要はない。例えば、スプライン曲線やシグモイド関数にそって重み値が変化するように決定してもよい。また、図１２では、水平方向における重みマップの断面図のみ図示しているが、垂直方向に関しても同様に重みが滑らかに変化するように重みを決定する。
【００４４】
以上のように、撮像時の画角が仮想画角よりも小さい画像に対する重みを決定する際に、重み係数が０になる領域と重み係数が１になる領域との境界で重みが滑らかに変化するように重みを決定することで、ノイズ段差を軽減することができる。
【００４５】
＜実施例４＞
実施例１および実施例２では、撮像時の画角が仮想画角よりも大きい画像の重み係数を、エッジ領域の重み係数が０になるように決定した。しかし、エッジ領域の重み係数を単純に０にしてしまうと、実施例３で述べたようにエッジ領域の周辺でノイズ段差が発生してしまう。そこで、本実施例では、撮像時の画角が仮想画角よりも大きい画像について決定された重みマップに対してローパスフィルタを作用させ、重み係数が滑らかに変化するようにし、ノイズ段差を緩和する。図１３は、本実施例における重みマップの補正処理の概要を示す図である。図１３において、画像１３０１は、重みマップ１１０５にローパスフィルタを作用させたものである。このように、重みマップに対してローパスフィルタを作用させることでエッジ領域における重みの急激な変化を緩和でき、エッジ領域におけるノイズ段差を軽減することができる。
【００４６】
なお、ここでは重みマップに対してローパスフィルタを作用させることにより、エッジ周辺部における重み係数の急激な変化を緩和したが、別の手法を用いてもよい。例えば、重み係数ｗ（ｘ，ｙ）を式（４）で定義されるようなエッジ強度の関数として表してもよい。このとき、エッジ強度の関数としては、エッジ強度が強いほど、重み係数が小さくなり、ベタ部（エッジ強度が０）では重み係数が１に近づく関数を採用する。例えば以下の関数を考えることができる。
【００４７】
【数３】
0006579764.tif 000004
【００４８】
式（５）において、Ｇ（ｘ，ｙ）は式（４）で定義されるエッジ強度である。この式に従ってエッジ領域における重みを決定すれば、重みマップにローパスフィルタを作用させなくても、エッジ領域におけるノイズ段差を軽減することができる。
【００４９】
＜実施例５＞
実施例１〜４では、画角が小さい画像の方が被写体像の解像度が高いという前提を置いた。しかし、実際には撮像部の画角が小さくなると被写界深度が浅くなるため、望遠側の画像ではピント面から外れた被写体にボケが発生し、広角側の画像よりも解像度が劣化している可能性がある。このような画像を実施例１〜４の手法に従って合成すると、望遠側の暈けが反映されて解像感のよくない画像が生成されてしまうため、画像の自然なボケよりも被写体の解像感を優先したい場合には課題となる。
【００５０】
そこで、本実施例では、合成する各画像のエッジ強度を比較し、エッジ強度の大きい方の領域の重みを大きくすることで、解像感を維持する例について説明する。ここで用いる撮像装置の撮像部の構成は実施例２と同様であるとする。図１４は、本実施例における決定部４０６の処理の流れを示すフローチャートである。実施例１および実施例２と同様の処理については同様の符号を付して説明を省略する。
【００５１】
ステップＳ１４０１およびステップＳ１４０２では、決定部４０６が、ステップＳ７０２と同様に画像のエッジの検出処理を行う。ステップＳ７０２と異なる点は、エッジとして検出された画素について、その画素のエッジ強度も保持しておく点である。ステップＳ１４０１を行った場合はステップＳ１００１に進み、ステップＳ１４０２を行った場合はステップＳ１４０３に進む。ステップＳ１４０３では、決定部４０６が、ステップＳ１４０１とステップＳ１４０２とで算出したエッジ強度を比較し、重みを決定する。この処理について詳細に説明する。
【００５２】
図１５はステップＳ１４０３の処理の流れを表したフローチャートである。ステップ１５０３では、画像を重なりのない複数のブロックに分割し、各ブロックに対し、処理を行うものとする。処理対象のブロックの順番は、画像の左上から開始し、左上から右下へ順次移動していくものとする。また、ステップＳ１４０３で処理の対象とする画像は、撮像時の画角が仮想画角よりも小さい画像と、撮像時の画角が仮想画角よりも大きくかつ最も仮想画角に近い画角の画像である。
【００５３】
ステップＳ１５０１では、決定部４０６が、重みを計算するブロックを初期位置に設定する。ここでは、画像の左上端に設定するものとする。ステップＳ１５０２では、決定部４０６が、ステップＳ１４０３での重み決定の対象である画像の中に、ステップＳ１４０１またはＳ１４０２でエッジとして検出された領域が対象のブロックに含まれる画像があるかどうかを判定する。ステップＳ１４０１またはＳ１４０２でエッジとして検出された領域が対象のブロックに含まれる画像がないと判定された場合は、ステップＳ１５０３に進む。ステップＳ１４０１またはＳ１４０２でエッジとして検出された領域が対象のブロックに含まれる画像があると判定された場合は、ステップＳ１５０４に進む。
【００５４】
ステップＳ１５０３では、決定部４０６が、ステップＳ１４０３での重み決定の対象となっている画像の、対象のブロックに含まれる全ての画素の重みを１にしてステップＳ１５０７に進む。
【００５５】
ステップＳ１５０４では、決定部４０６が、対象のブロックにエッジが含まれる画像が複数あるかどうかを判定する。対象のブロックにエッジが含まれる画像が複数あると判定された場合はステップＳ１５０５に進む。対象のブロックにエッジが含まれる画像が複数ないと判定された場合はステップＳ１５０６に進む。
【００５６】
ステップＳ１５０５では、決定部４０６が、対象のブロックにエッジが含まれるとして判定された複数の画像の、対象のブロックに含まれるエッジのエッジ強度を比較する。決定部４０６は、例えば対象のブロック内でエッジとして検出された画素のエッジ強度の平均同士を比較し、ブロック内でのエッジ強度の平均が最も大きい画像を判定する。
【００５７】
ステップＳ１５０６では、決定部４０６が、エッジに基づいて対象のブロックの重みを決定する。決定部４０６は、対象ブロックにエッジが含まれる唯一の画像、又は、対象ブロックにエッジが含まれる複数の画像の中で最もエッジ強度が大きい画像の対象ブロックの画素の重みを全て１に設定する。そして、重みが１に設定された画像以外の画像の対象ブロックの画素の重みを全て０に設定する。
【００５８】
ステップＳ１５０７では、決定部４０６が、画像中の全てのブロックについて重み決定の処理が終了したかどうかを判定する。画像中の全てのブロックについて重み決定の処理が終了したと判定された場合は、決定した重み値を合成部４０７に出力して処理を終了する。画像中の全てのブロックについて重み決定の処理が終了していないと判定された場合は、ステップＳ１５０８に進む。ステップＳ１５０８では、対象ブロックを更新してステップＳ１５０２に戻る。
【００５９】
以上が本実施例の決定部４０６で行われる処理である。以上の処理によれば、望遠側の画像に暈けが発生している場合であっても、合成による解像感の低下を抑制することができる。
【００６０】
＜その他の実施例＞
本発明の実施の形態は、上記の実施例に限られるものではない。例えば、上記の実施例では被写体像のエッジに基づいて画像の重みを１か０にするように重みを決定したが、重みの大小関係が上記の実施例と同じであれば、別の重みを用いるようにしてもよい。例えば、解像感とノイズ感のそれぞれをどれだけ重視するかに応じて、エッジにおける広角側の画像の重みを０以外の値としてもよい。また、エッジ強度に応じて重みを段階的に決定するようにしてもよい。
【００６１】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６２】
４０１  画像取得部
４０４  位置合わせ部
４０５  変形部
４０６  決定部
４０７  合成部
【図１】
0006579764.tif 000005
【図２】
0006579764.tif 000006
【図３】
0006579764.tif 000007
【図４】
0006579764.tif 000008
【図５】
0006579764.tif 000009
【図６】
0006579764.tif 000010
【図７】
0006579764.tif 000011
【図８】
0006579764.tif 000012
【図９】
0006579764.tif 000013
【図１０】
0006579764.tif 000014
【図１１】
0006579764.tif 000015
【図１２】
0006579764.tif 000016
【図１３】
0006579764.tif 000017
【図１４】
0006579764.tif 000018
【図１５】
0006579764.tif 000019