(57)【特許請求の範囲】
【請求項１】
撮影範囲を変えて連続的に撮影された複数の画像を取得する取得手段と、
前記取得手段が取得した前記複数の画像に対して、それぞれの前記画像における被写体の位置が合うように重ね合わせる重ね合わせ手段と、
前記重ね合わせ手段により重ね合わされる画像の枚数が所定の数に達した領域を繋ぎ合わせることで広角合成画像を生成する生成手段と、
撮影開始時と撮影終了時との前記画像の領域に、前記複数の画像のいずれかに含まれ、かつ、前記広角合成画像に含まれない余白領域を設定する設定手段と、を備え、
前記設定手段は、前記所定の数が大きいほど前記余白領域を広く設定することを特徴とする画像処理装置。
【請求項２】
前記取得手段は、前記複数の画像として、適正露出値を前記所定の数で分割した分割露出値で撮影された画像を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記重ね合わせ手段は、前記取得手段が取得した前記複数の画像を重ね合わせる際に前記画像が重複する重複領域を検出する検出手段を有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記重ね合わせ手段は、前記複数の画像を重ね合わせた際に、領域毎に、前記検出手段により検出された前記重複領域が重ね合わされた回数を示す合成回数マップを作成する合成回数マップ作成手段を有することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記合成回数マップ作成手段は、前記重複領域が重ね合わされた回数が前記合成回数マップの各領域において所定の上限合成回数を超えないように前記合成回数マップを作成し、
前記生成手段は、前記合成回数マップにおいて前記上限合成回数となった領域を繋ぎ合わせながら前記複数の画像を合成することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記検出手段は、前記複数の画像を撮影した撮像手段のレンズの焦点距離および収差量に基づいて、前記重複領域を補正することを特徴とする請求項３乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記生成手段は、前記複数の画像を撮影するときの撮像装置の動きの速度に応じて、前記所定の数を変更することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
撮影範囲を変えて連続的に撮影された複数の画像を合成する画像処理方法であって、
前記複数の画像を取得する取得ステップと、
前記取得ステップで取得した前記複数の画像を重ね合わせる際に、画像が重複する重複領域を特定する特定ステップと、
前記取得ステップで取得した前記複数の画像を重ね合わせた際に、重ね合わされた回数の異なる領域毎に、前記特定ステップで特定された前記重複領域が重ね合わされた回数を示す合成回数マップを作成する作成ステップと、
前記作成ステップで作成された前記合成回数マップに基づいて、前記複数の画像を合成して広角合成画像を生成する生成ステップと、
前記特定ステップ、前記作成ステップおよび前記生成ステップを前記複数の画像の全てについて繰り返すステップと、
撮影開始時と撮影終了時との前記画像の領域に、前記複数の画像のいずれかに含まれ、かつ、前記広角合成画像に含まれない余白領域を設定する設定ステップと、を有し、
前記作成ステップにおいて前記合成回数マップは、前記重複領域が重ね合わされた回数が前記合成回数マップの各領域において所定の上限合成回数を超えないように作成され、  前記生成ステップでは、前記合成回数マップにおいて前記上限合成回数となった領域を繋ぎ合わせながら前記広角合成画像が生成され、
前記設定ステップでは、前記所定の数が大きいほど前記余白領域が広く設定されることを特徴とする画像処理方法。
【請求項９】
請求項８に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数枚の画像から広角画像を合成する画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラ等の撮像装置での撮影方法として、ダイナミックレンジの拡大や画角拡大等を目的として、同一シーンで複数の画像を撮影し、それら複数の画像を演算により合成する手法が提案されている（特許文献１，２参照）。例えば、特許文献１に記載された技術では、撮像装置を特定の方向に動かしながら連続撮影を行い、得られた複数の画像を特定位置で位置合わせして合成することで、広角な画像を生成している。また、特許文献２に記載された技術では、撮影方向を順次変化させて撮影範囲全体の一部を撮影し、撮影した複数の画像について、画像の一部を構成する所定サイズの画像領域を互いに重複領域が生じるように読み出す。そして、読み出した画像領域を、各画像位置について少なくとも２枚以上が重なるように順次重ね合わせることにより、撮影範囲全体を表す全体画像を生成している。
【０００３】
以下、このようにして複数の画像を画角が拡大するように合成する手法を「広角画像合成」と称呼し、また、広角画像合成により得られた画像を「広角合成画像」と称呼することとする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−５８９３１号公報
【特許文献２】特許第４３５６６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載された技術のように複数の画像で位置合わせを行って画像を繋ぎ合わせると、画像の繋ぎ目（画像の重複領域）とそれ以外の領域とで、ノイズの差が目立ってしまうという問題がある。また、特許文献２に記載された技術では、各位置で常に複数枚の画像を重複させるために画像の繋ぎ目とそれ以外の部分とで、ノイズの差は目立たなくなるが、位置によって重複させた画像の枚数が同じにならないことがある。この場合、例えば、全体画像の中央部と端部とで明るさが異なる等の不自然さが生じることがある。また、特許文献２に記載された技術では、撮像装置のカメラ部をモータ等速でパンニングさせて撮影を行うことを前提としている。そのため、撮影者が撮像装置を手持ちで操作してパンニング撮影を行う場合には、適用が難しいという問題がある。
【０００６】
本発明は、ノイズの発生を抑制すると共に、広角合成画像の各位置において重ね合わせた画像の枚数が均一となるようにすることで良好な広角合成画像を得ることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理装置は、撮影範囲を変えて連続的に撮影された複数の画像を取得する取得手段と、前記取得手段が取得した前記複数の画像に対して、それぞれの前記画像における被写体の位置が合うように重ね合わせる重ね合わせ手段と、前記重ね合わせ手段により重ね合わされる画像の枚数が所定の数に達した領域を繋ぎ合わせることで広角合成画像を生成する生成手段と、撮影開始時と撮影終了時との前記画像の領域に、前記複数の画像のいずれかに含まれ、かつ、前記広角合成画像に含まれない余白領域を設定する設定手段と、を備え、前記設定手段は、前記所定の数が大きいほど前記余白領域を広く設定することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、広角合成画像全体で、各位置での合成枚数を同一として、ノイズの発生が抑制された広角合成画像を得ることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るデジタルカメラの概略構成を示すブロック図である。
【図２】図１のデジタルカメラに対して設定される座標系を示す図である。
【図３】図１のデジタルカメラが備える画像処理部の構成を示すブロック図である。
【図４】図１のデジタルカメラで広角画像合成を行う場合の処理手順の一例を示すフローチャートである。
【図５】図４のステップＳ４０１のパンニング撮影の方法を模式的に示す図である。
【図６】図４のステップＳ４０１のパンニング撮影により得られる実際の撮影画像の例と、生成される広角合成画像の例を示す図である。
【図７】図４のステップＳ４０３の重複領域の特定方法を図６（ａ）に示す撮影画像を用いて説明する図である。
【図８】図４のステップＳ４０４の合成回数マップの作成処理を図６（ａ）に示す撮影画像を用いて説明する図である。
【図９】図４のステップＳ４０４の合成回数マップの作成処理の詳細なフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。ここでは、本発明に係る画像処理装置として、所謂、デジタルカメラを取り上げることとする。但し、本発明に係る画像処理装置は、デジタルカメラに限定されるものではなく、例えば、カメラ（撮像手段）が取得した撮影画像を処理することができるものであればよく、例えば、パーソナルコンピュータ（ＰＣ）等であってもよい。つまり、撮像手段と画像処理手段とは、デジタルカメラのように一体であってもよいし、撮像手段とパーソナルコンピュータの組み合わせのように別体であってもよい。
【００１１】
撮像手段と画像処理手段とが一体である場合に、本発明に係る画像処理装置は、デジタルカメラやデジタルビデオカメ等の撮影に特化された機器に限定されず、例えば、カメラ機能を有する携帯通信端末やパーソナルコンピュータ、ゲーム機等であってもよい。また、撮像手段と画像処理手段とが別体である場合に、撮像手段から画像処理手段への撮影画像の送信は、無線通信か有線通信かを問わず、また、直接接続かネットワークを介した接続かも問わない。
【００１２】
＜デジタルカメラの概略構造＞
図１は、本発明の実施形態に係るデジタルカメラ１００の概略構成を示すブロック図である。デジタルカメラ１００は、システム制御部１０１（以下「制御部１０１」と記す）、ＲＯＭ１０２、ＲＡＭ１０３、光学系１０４、撮像部１０５、Ａ／Ｄ変換部１０６、画像処理部１０７、記憶媒体１０８、検出部１１０及び表示部１１１を備える。これらの各ブロック間の通信は、バス１０９を介して行われる。
【００１３】
制御部１０１は、例えば、ＣＰＵであり、デジタルカメラ１００を構成する各ブロックの動作プログラムをＲＯＭ１０２から読み出し、ＲＡＭ１０３に展開することにより、各ブロックの動作を統括的に制御する。ＲＯＭ１０２は、書き換え可能な不揮発性メモリであり、デジタルカメラ１００を構成する各ブロックの動作プログラムや、各ブロックの動作に必要なパラメータ等を格納している。ＲＡＭ１０３は、書き換え可能な揮発性メモリであり、ＣＰＵの作業領域として用いられると共に、デジタルカメラ１００を構成する各ブロックの動作によって出力されたデータ等の一時的な記憶領域として用いられる。
【００１４】
光学系１０４は、被写体からの光を取り込み、撮像部１０５が備えるＣＣＤセンサ或いはＣＭＯＳセンサ等の撮像素子に光学像（被写体像）として結像させる。光学系１０４には、光学系１０４の開口径を調節することで撮影時の光量調節を行う絞りも含まれる。撮像部１０５が備える撮像素子は、光学像を光電変換し、アナログ電気信号をＡ／Ｄ変換部１０６へ出力する。Ａ／Ｄ変換部１０６は、撮像部１０５から供給されたアナログ電気信号をＡ／Ｄ変換し、生成したデジタル信号である画像データをＲＡＭ１０３に出力して記憶させる。
【００１５】
画像処理部１０７は、ＲＡＭ１０３に記憶されている画像データに対して、ホワイトバランス処理やガンマ補正処理等の必要な画像処理を施す。記憶媒体１０８は、例えば、着脱可能なメモリカード等であり、ＲＡＭ１０３に記憶されている画像処理部１０７で処理された画像の画像データや、Ａ／Ｄ変換部１０６でＡ／Ｄ変換されたデジタル信号（画像信号）等を記憶する。
【００１６】
検出部１１０は、周知のジャイロセンサや加速度センサ等から構成され、検出部１１０からの出力信号は制御部１０１へ送信される。制御部１０１は、検出部１１０から取得した出力信号に基づいて、デジタルカメラ１００の姿勢や動き（角度、加速度、移動量等）を検出する。
【００１７】
図２は、本実施形態において、デジタルカメラ１００に対して設定される座標系を示す図である。デジタルカメラ１００の光学系１０４の光軸方向をＺ方向、デジタルカメラ１００の本体部に、Ｚ軸と互いに直交するＸ軸とＹ軸を定める。検出部１１０から取得した出力信号に基づいて、制御部１０１は、図２に示す角度（α，β，γ）と位置（Ｘ，Ｙ，Ｚ）を算出し、また、デジタルカメラ１００の角度と位置とを基準値からの相対値として算出する。例えば、制御部１０１は、最初の撮影に同期した検出部１１０の検出結果を基準値として、角度（０°，０°，０°）及び位置（０，０，０）を定める。制御部１０１は、基準値を算出した後は、基準値からの相対的な移動量である相対値を算出することで、後述するパンニング撮影が想定した通りに行われているかを検出する。
【００１８】
表示部１１１は、画像や各種情報を表示する液晶ディスプレイ（ＬＣＤ）等の表示器と、表示器における画像表示を制御する表示制御回路とを含む。ＲＡＭ１０３に記憶された表示用画像データは、表示制御回路に含まれるＤ／Ａ変換部によってアナログ信号に変換されて表示器に表示される。
【００１９】
＜画像処理部の構成＞
図３は、画像処理部１０７の構成を示すブロック図である。画像処理部１０７は、重複領域抽出部３０１、合成回数マップ作成部３０２及び広角画像合成部３０３を有する。重複領域抽出部３０１は、隣接するＮ−１枚目の撮影画像とＮ枚目の撮影画像との間で被写体が重なる領域を、Ｎ−１回目の重複領域として特定する。ここで、“Ｎ”は２以上の整数であるとし、この定義は以下の説明において常に適用される。
【００２０】
合成回数マップ作成部３０２は、広角画像合成をＮ−１回行ったときの合成回数マップ（詳細は後述する）と、重複領域抽出部３０１から出力されたＮ回目の重複領域とに基づいて、Ｎ回目の合成回数マップを作成する。広角画像合成部３０３は、広角画像合成をＮ−１回行った広角合成画像とＮ回目に合成する撮影画像（Ｎ＋１枚目の撮影画像）とを、合成回数マップ作成部３０２の出力結果に基づいて合成処理し、広角画像合成をＮ回行った広角合成画像を生成する。なお、１回目の合成回数マップと１回目の広角合成画像は、１枚目と２枚目の撮影画像から作成される。
【００２１】
＜第１実施形態＞
図４は、デジタルカメラ１００で広角画像合成を行う場合の処理手順の一例を示すフローチャートである。ここでは、複数の撮影画像を用いて広角画像合成を行う場合に、重複領域の合成回数を所定の回数（以下「上限合成回数」という）に制限する処理について説明する。また、撮影者は、デジタルカメラ１００を構えた状態で、撮影者から見て水平方向で左から右に（図２でＹ軸回りに）回転させてパンニング撮影を行う、つまり、撮影範囲を変えて連続的に撮影を行うものとする。但し、パンニング撮影の方向は、その他の方向、例えば、逆の水平方向（右から左へ）、垂直方向（下から上へ或いは上から下へ）であっても構わない。
【００２２】
図４のフローチャートに示す各処理は、制御部１０１がＲＯＭ１０２から読み出したプログラムをＲＡＭ１０３に展開し、デジタルカメラ１００を構成する各ブロックの動作を制御することによって実現される。また、図４のフローチャートに示す処理は、デジタルカメラ１００が備える操作部（不図示）が備えるレリーズボタンの押下等によって撮影指示が制御部１０１になされることで開始される。
【００２３】
ステップＳ４０１において制御部１０１は、先ず、撮影するシーンに適した適正露出値を算出する。そして、適正露出値を所定数で分割した分割露出値を設定し、撮影に必要な各種の条件を決定する。適正露出値の分割数は、合成回数マップで重複領域の上限合成回数に設定され、例えば、合成回数マップの上限合成回数が“２”の場合には、適正露出値の分割数も“２”に設定される。また、制御部１０１は、撮影者に撮影方向を指示し、これにより撮影者は、制御部１０１に指示された方向にデジタルカメラ１００をパンニングしながら撮影を行うこととなる。なお、ステップＳ４０１のパンニング撮影の詳細については、図５及び図６を参照して後述する。
【００２４】
このとき、制御部１０１は、検出部１１０からの出力信号に基づいてデジタルカメラ１００の姿勢や動きを検出し、検出結果に基づいてデジタルカメラ１００が期待されるパンニング撮影を行っているか否かを判定する。例えば、制御部１０１は、検出部１１０が角速度或いは加速度を検出する場合、検出された数値を積分演算することにより、デジタルカメラ１００の角度と位置を算出する。
【００２５】
ステップＳ４０２において制御部１０１は、ステップＳ４０１のパンニング撮影で得られた撮影画像の中に、ステップＳ４０３〜Ｓ４０５の処理（広角画像合成）を行う撮影画像が残っているか否かを判定する。制御部１０１は、撮影画像が残っていない場合（Ｓ４０２でＮＯ）、本処理を終了させ、撮影画像が残っている場合（Ｓ４０２でＹＥＳ）、処理をステップＳ４０３へ進める。
【００２６】
ステップＳ４０３において制御部１０１は、重複領域抽出部３０１により、ステップＳ４０１のパンニング撮影で得られた撮影画像に対して、隣接するＮ−１枚目とＮ枚目の撮影画像とで被写体位置が重なる領域をＮ−１回目の重複領域として特定する。ステップＳ４０３の重複領域の特定処理については、図７を参照して後述する。
【００２７】
続くステップＳ４０４において制御部１０１は、合成回数マップ作成部３０２により、Ｎ−１回目の合成回数マップを作成する。ここで、前述した通り、１回目の合成回数マップは、１枚目と２枚目の撮影画像を合成することによって作成される。また、２回目以降の合成回数マップは、Ｎ−１回目の合成回数マップとＮ回目の重複領域（Ｎ＋１枚目の撮影画像）とを用いて作成される。なお、合成回数マップの作成では、最終出力画角での合成画像枚数が一定となるように、合成領域と合成回数とが制御され、その詳細については図８を参照して後述する。
【００２８】
ステップＳ４０５において制御部１０１は、広角画像合成部３０３より、ステップＳ４０４で作成した合成回数マップにおける合成領域と合成回数とに基づいて、時間的に隣接する撮影画像を順次合成しながら広角合成画像を生成する。その際に、Ｎ−１回目の広角画像合成を行った広角合成画像とＮ回目の広角画像合成を行う撮影画像（Ｎ＋１枚目の撮影画像）との合成比率を、Ｎ回目の合成回数マップにおける合成領域毎にその合成回数に応じて変える。
【００２９】
例えば、Ｎ回目の広角合成画像は、Ｎ−１回目の広角合成画像、Ｎ回目の広角画像合成に用いる撮影画像、Ｎ回目の合成回数マップを用いて、下記合成式で算出される。
【００３０】
【数１】
0006391356.tif 000002
【００３１】
なお、（ｘ，ｙ）は、広角合成画像での座標上の位置を示す。なお、Ｎ回目の合成回数マップの値がゼロ（０）の領域は、Ｎ−１回目の広角合成画像とＮ回目の広角画像合成に用いる撮影画像のうち、画角が存在する画像から出力されるように制御する。この具体例については、後に図８について説明する際に併せて説明する。
【００３２】
ステップＳ４０５の終了後に、制御部１０１は処理をステップＳ４０２へ戻す。こうして、ステップＳ４０２〜Ｓ４０５の処理を繰り返し行い、ステップＳ４０１のパンニング撮影で得られた全ての撮影画像を用いて広角画像合成を行うことにより、最終的に出力させる広角合成画像が生成される。
【００３３】
図５は、ステップＳ４０１のパンニング撮影を模式的に説明する図である。図５（ａ）に示されるように、デジタルカメラ１００を所定の方向に向けて撮影が開始され、撮影開始画像５０１が撮影される。デジタルカメラ１００の回転中心５０３を中心としてデジタルカメラ１００を回転方向５０４（図５において時計回り（図２のＹ軸回り）へ回転させながら所定のシャッタ速度で撮影を続け、撮影終了画像５０２が撮影されると、パンニング撮影は終了する。
【００３４】
図５（ｂ）に示されるように、撮影開始画像５０１と撮影終了画像５０２はそれぞれ、撮影余白領域を有する。これらの撮影余白領域は、最終的に出力される広角合成画像の画角には含まれない。よって、最終的に出力される広角合成画像の画角５０５は、撮影開始画像５０１において撮影余白領域を除いた領域からの撮影終了画像５０２において撮影余白領域を除いた領域までの範囲となる。
【００３５】
図６（ａ）は、ステップＳ４０１のパンニング撮影により得られる撮影画像例を示す図である。ここでは、被写体としての建築物に向かって、建築物の左側が余裕を持って写るように、建築物の左側に撮影余白領域を設けて撮影を開始し、建築物の右側が余裕をもって写るように建築物の右側に撮影余白領域を設けて撮影を終了する。これにより、７枚の撮影画像６０１〜６０７が撮影されている。図６（ｂ）は、図６（ａ）の撮影画像６０１〜６０７を用いて生成される広角合成画像６１０の例を示す図である。広角合成画像６１０には、撮影開始画像である撮影画像６０１と撮影終了画像である撮影画像６０７がそれぞれ有する撮影余白領域が含まれていないことがわかる。
【００３６】
図６及び図７を参照して、ステップＳ４０３の重複領域の特定処理について説明する。図７は、図６（ａ）に示す撮影画像６０１〜６０７について、隣接する撮影画像間の重複領域を特定する方法を説明する図である。隣接する撮影画像間の重複領域の特定処理では、隣接する撮影画像において被写体が重なる領域を算出する。そこで、図７では、撮影画像６０１を基準として、撮影画像６０２〜６０７の移動量を横軸に取り、撮影画像６０２〜６０７をそれぞれ１つ前の撮影画像に対して被写体の同じ部分が重なるように位置合わせしている。
【００３７】
隣接する２枚の撮影画像の位置合わせ方法には、一般的な画像位置合わせ手法を用いることができる。例えば、撮影画像を任意サイズの小ブロックに分割し、小ブロック毎に画像信号（輝度等）のＳＡＤ（Sum of Absolute Difference）が最小となる対応点を算出し、動きベクトルを算出する方法等を用いる。
【００３８】
撮影画像６０１，６０２間の位置合わせ処理では、開始座標がＳＸ１、終了座標がＥＸ１となる１回目の重複領域７０１が特定される。同様に、撮影画像６０２，６０３間の位置合わせ処理では、開始座標がＳＸ２、終了座標がＥＸ２となる２回目の重複領域７０２が特定される。このように、順次、撮影画像６０１〜６０７について、隣接した２枚の撮影画像の位置合わせ処理によって移動量（座標）等の特徴量算出を行うことで、１〜６回目の重複領域７０１〜７０６を特定することができる。なお、ステップＳ４０３では、１〜６回目の重複領域７０１〜７０６を特定すると同時に、位置合わせ処理を行った隣接する撮影画像について、時間的に後の撮影画像が前の撮影画像の位置に合うように幾何学変換処理を行う。
【００３９】
次に、ステップＳ４０４の合成回数マップの作成処理について図８及び図９を参照して説明する。図８は、図６（ａ）に示す撮影画像６０１〜６０７を用いて広角合成画像６１０を生成する際の合成回数マップの作成方法を説明する図である。
【００４０】
図８（ａ）は、撮影画像６０１，６０２から１回目の合成回数マップを作成する方法を模式的に示す図である。ここでは、ステップＳ４０３で、１回目の重複領域７０１（１枚目の撮影画像６０１と２枚目の撮影画像６０２との重複領域）は特定されているが、合成回数マップは未だ作成されていない。そのため、１回目の合成回数マップ８０１では、１回の合成が行われた領域ＳＸ１〜ＥＸ１、合成が行われていない領域０〜ＳＸ１，ＥＸ１〜が特定されたものが作成されている。
【００４１】
ここで、１回目の重複領域７０１に対応する領域ＳＸ１〜ＥＸ１については、１枚目の撮影画像６０１と２枚目の撮影画像６０２とが１／２：１／２の割合で合成される。また、１枚目の撮影画像６０１と２枚目の撮影画像６０２とで重複しない領域０〜ＳＸ１，ＥＸ１〜では、１枚目の撮影画像６０１の領域０〜ＳＸ１及び２枚目の撮影画像６０２の領域ＥＸ１〜がそのまま用いられる。
【００４２】
図８（ｂ）は、１回目の合成回数マップ８０１と２回目の広角画像合成を行う撮影画像（３枚目の撮影画像６０３）とから２回目の合成回数マップ８０２を作成する方法を模式的に示す図である。１回目の合成回数マップ８０１の領域ＳＸ１〜ＥＸ１のうちの領域ＳＸ２〜ＥＸ１が２回目の重複領域７０２と重複する。そのため、２回目の合成回数マップ８０２では、２回の合成が行われた領域ＳＸ２〜ＥＸ１、１回の合成が行われた領域ＳＸ１〜ＳＸ２，ＥＸ１〜ＥＸ２、合成が行われていない（合成回数がゼロ（０）の）領域０〜ＳＸ１，ＥＸ２〜が特定されたものが作成される。
【００４３】
より詳しくは、２回目の合成回数マップ８０２において、２回の合成が行われた領域ＳＸ２〜ＥＸ１は、１回目の合成回数マップ８０１の領域ＳＸ２〜ＥＸ１と３枚目の撮影画像６０３の領域ＳＸ２〜ＥＸ１とを２／３：１／３の割合で合成することによって作成される。これにより、２回目の合成回数マップ８０２の領域ＳＸ２〜ＥＸ１では、撮影画像６０１〜６０３がそれぞれ１／３ずつ合成されたことになる。つまり、Ｎ回目の合成回数マップにおいて合成回数が２回となる領域は、Ｎ−１回目の合成回数マップにおける合成回数が１回の領域とＮ＋１枚目の撮影画像の領域とを、２／３：１／３の割合で合成することで作成されるように制御される。
【００４４】
また、２回目の合成回数マップ８０２において、１回の合成が行われた領域ＥＸ１〜ＥＸ２は、１回目の合成回数マップ８０１の領域ＥＸ１〜と３枚目の撮影画像６０３の領域ＥＸ１〜ＥＸ２とを１／２：１／２の割合で合成することによって作成される。つまり、Ｎ回目の合成回数マップにおいて、Ｎ＋１枚目の撮影画像と重なることで合成回数が１回となる領域については、Ｎ−１回目の合成回数マップにおける合成回数が０回の領域とＮ＋１枚目の撮影画像の領域とを、１／２：１／２の割合で合成することで作成されるように制御される。
【００４５】
更に、２回目の合成回数マップ８０２において、１回の合成が行われた領域ＳＸ１〜ＳＸ２には、３枚目の撮影画像６０３と重ならないため、１回目の合成回数マップ８０１の領域ＳＸ１〜ＳＸ２がそのまま用いられる。また、合成が行われていない領域０〜ＳＸ１には１回目の合成回数マップ８０１の領域０〜ＳＸ１がそのまま用いられ、領域ＥＸ２〜には３枚目の撮影画像６０３の領域ＥＸ２〜がそのまま用いられる。このように、Ｎ回目の合成回数マップにおいて、合成回数がゼロ（０）となる領域は、Ｎ−１回目の合成回数マップとＮ＋１枚目の撮影画像のうち、画角が存在する画像領域を用いるように制御される。
【００４６】
図８（ｃ）は、２回目の合成回数マップ８０２と３回目の広角画像合成を行う撮影画像（４枚目の撮影画像６０４）とから３回目の合成回数マップ８０３を作成する方法を模式的に示す図である。ここで、本実施形態では、合成回数マップ上の領域での上限合成回数を２回に設定する。つまり、既に２回の合成が行われた領域ＳＸ２〜ＥＸ１と３回目の重複領域７０３（４枚目の撮影画像６０４）とで重複する領域があっても、３回の合成が行われる領域を求めることは行わない。そして、既に１回の合成が行われた領域と３回目の重複領域７０３とで重複する領域を求め、既に合成が２回行われた領域と繋ぎ合わせる。その結果、３回目の合成回数マップ８０３として、２回の合成が行われた領域ＳＸ２〜ＥＸ２、１回の合成が行われた領域ＳＸ１〜ＳＸ２，ＥＸ２〜ＥＸ３、合成が行われていない領域０〜ＳＸ１，ＥＸ３〜が特定されたものが作成される。
【００４７】
より詳しくは、３回目の合成回数マップ８０３において、合成が行われていない領域は、領域０〜ＳＸ１，ＥＸ３〜となる。ここで、領域０〜ＳＸ１には２回目の合成回数マップ８０２の領域０〜ＳＸ１が、領域ＥＸ３〜には４枚目の撮影画像６０４の領域ＥＸ３〜がそれぞれ用いられる。また、１回の合成が行われた領域は、領域ＳＸ１〜ＳＸ２，ＥＸ２〜ＥＸ３となる。ここで、領域ＳＸ１〜ＳＸ２は、２回目の合成回数マップ８０２の領域ＳＸ１〜ＳＸ２と４枚目の撮影画像６０４とで重複しないため、２回目の合成回数マップ８０２の領域ＳＸ１〜ＳＸ２がそのまま用いられる。一方、領域ＥＸ２〜ＥＸ３については、２回目の合成回数マップ８０２において合成が行われていない領域ＥＸ２〜と４枚目の撮影画像６０４とで重複している。そのため、領域ＥＸ２〜ＥＸ３は、２回目の合成回数マップ８０２の領域ＥＸ２〜ＥＸ３と４枚目の撮影画像６０４の領域ＥＸ２〜ＥＸ３とを１／２：１／２の割合で合成することによって作成されている。
【００４８】
３回目の合成回数マップ８０３において、２回の合成が行われた領域ＳＸ２〜ＥＸ２のうちの領域ＳＸ２〜ＥＸ１については、２回目の合成回数マップ８０２において既に２回の合成が行われているため、新たな合成を行わない。よって、領域ＳＸ２〜ＥＸ１には、２回目の合成回数マップ８０２の領域ＳＸ２〜ＥＸ１がそのまま用いられる。一方、２回の合成が行われた領域ＳＸ２〜ＥＸ２のうちの領域ＥＸ１〜ＥＸ２は、２回目の合成回数マップ８０２において１回の合成が行われた領域ＥＸ１〜ＥＸ２と４枚目の撮影画像６０４の領域ＥＸ１〜ＥＸ２とを２／３：１／３の割合で合成することによって作成される。
【００４９】
なお、２回目の合成回数マップ８０２が作成された後には、２回の合成が行われた領域ＳＸ２〜ＥＸ１を有する広角合成画像が生成されている。よって、３回目の合成回数マップ８０３が作成されると、既に作成されている広角合成画像の領域ＳＸ２〜ＥＸ１に、新たに２回の合成が行われた領域ＥＸ１〜ＥＸ２が繋ぎ合わされて、２回の合成が行われた領域ＳＸ２〜ＥＸ２が生成される。
【００５０】
図８（ｄ）は、５回目の合成回数マップと７枚目の撮影画像６０７とから６回目の合成回数マップ８０６を作成する方法を模式的に示す図であり、これが本実施形態では最終の合成回数マップの作成となる。図８（ｃ）での説明にしたがって、６回目の合成回数マップ８０６として、２回の合成が行われた領域ＳＸ２〜ＥＸ５、１回の合成が行われた領域ＳＸ１〜ＳＸ２，ＥＸ５〜ＥＸ６、合成が行われていない領域０〜ＳＸ１，ＥＸ６〜が特定されたものが作成される。
【００５１】
ステップＳ４０４，Ｓ４０５により、Ｎ回目の合成回数マップが作成されるにしたがって、広角合成画像が生成される。上記説明の通りに作成された最終的な６回目の合成回数マップ８０６から明らかなように、広角合成画像６１０は、合成回数が一律に２回である領域ＳＸ２〜ＥＸ５から生成され、その両端の領域は広角合成画像には用いられない。つまり、広角合成画像は、常に３枚の撮影画像を合成することによって生成される。これは、合成が２回行われた領域ＳＸ２〜ＥＸ５の外側（端側）の領域では、合成回数が上限合成回数に届かないため、これらの領域を含めてしまうと、画質を均一にすることができなくなるおそれがあるからである。なお、本実施形態では、予め撮影時に、撮影開始画像（撮影画像６０１）と撮影終了画像（撮影画像６０７）に撮影余白領域（図５参照）を用意し、撮影者が所望する画角以上の画角をステップＳ４０１のパンニング撮影で撮影するようにしている。
【００５２】
図９は、ステップＳ４０４の合成回数マップの作成処理のフローチャートである。ステップＳ９０１において制御部１０１は、Ｎ−１回目の合成回数マップがあるか否かを判定する。制御部１０１は、Ｎ−１回目の合成回数マップがない場合、つまり、１回目の合成回数マップを作成する場合（Ｓ９０１でＮＯ）、処理をステップＳ９０２へ進め、Ｎ−１回目の合成回数マップがある場合（Ｓ９０１でＹＥＳ）、処理をステップＳ９０３へ進める。
【００５３】
ステップＳ９０２において制御部１０１は、直前のステップＳ４０３で特定された２枚の撮影画像の重複領域に基づいて、合成回数マップを作成する。このステップＳ９０２の処理は、図８（ａ）の１回目の合成回数マップの作成処理に対応する。つまり、図８（ａ）の場合、過去の合成回数マップが存在しないため、１回目の重複領域７０１である領域ＳＸ１〜ＥＸ２を１回の合成を行った領域とした、１回目の合成回数マップ８０１を作成する。ステップＳ９０２の処理後、制御部１０１は、本処理を終了させる。
【００５４】
ステップＳ９０３において制御部１０１は、Ｎ回目の合成回数マップの作成に際して、Ｎ−１回目の合成回数マップに合成回数が上限合成回数以上となっている領域があるか否かを判定する。制御部１０１は、上限合成回数以上の領域がない場合（Ｓ９０３でＮＯ）、処理をステップＳ９０４へ進め、上限合成回数以上の領域がある場合（Ｓ９０３でＹＥＳ）、処理をステップＳ９０５へ進める。
【００５５】
ステップＳ９０４において制御部１０１は、Ｎ−１回目の合成回数マップにおいて合成回数が上限合成回数以上でなく、且つ、Ｎ＋１枚目の撮影画像と重複する領域について、合成回数を１だけ増加させて、Ｎ回目の合成回数マップを作成する。本実施形態では、上限合成回数を２回としているため、このステップ９０４の処理は、図８（ｂ）の２回目の合成回数マップ８０２の作成処理に対応する。なお、２回目の合成回数マップ８０３の作成方法については、既に詳細に説明しているため、ここでの再度の説明は省略する。ステップＳ９０４の処理後、制御部１０１は、本処理を終了させる。
【００５６】
ステップＳ９０５において制御部１０１は、Ｎ−１回目の合成回数マップにおいて合成回数が上限合成回数以上となっている領域については、Ｎ＋１枚目の撮影画像と重複する領域があっても、合成回数を増加させずに、Ｎ回目の合成回数マップを作成する。なお、ここでも、Ｎ−１回目の合成回数マップにおいて合成回数が上限合成回数以上でない領域であって、Ｎ＋１枚目の撮影画像と重複する領域については、合成回数を１だけ増加させる。これは、合成回数に上限を設けない場合には、合成回数マップに合成回数の多い領域と少ない領域とが混在することにより、合成される広角合成画像にノイズが増え、また、合成回数の多い領域と少ない領域との境界部が不自然な画像となってしまうからである。換言すれば、合成回数が所定回数を超えないように制御することで、広角画像合成に伴うノイズの発生を抑制し、自然な繋ぎ目を有する広角合成画像を生成させることができる。
【００５７】
本実施形態では、上限合成回数を２回としているため、このステップ９０５の処理は、図８（ｃ）の３回目〜６回目の合成回数マップ８０３〜８０６の作成処理に対応する。なお、３回目の合成回数マップ８０３の作成方法について、既に詳細に説明しているため、ここでの再度の説明は省略する。ステップＳ９０５の処理後、制御部１０１は、本処理を終了させる。
【００５８】
＜第２実施形態＞
上記第１実施形態では、合成回数マップでの各領域の上限合成回数を２回としたが、上限合成回数はこれに限定されるものではない。例えば、上限合成回数をＮｌｉｍ（Ｎｌｉｍ：２以上の整数）とすると、上限合成回数となる領域が初めて発生するのは、Ｎｌｉｍ回目の合成回数マップの作成時となる。ここで、Ｎ回目の合成回数マップにおける隣接する画像間の重複領域の開始座標をＳＸ（Ｎ）、終了座標をＥＸ（Ｎ）とすると、Ｎａ回（１≦Ｎａ≦Ｎｌｉｍ）までの合成回数マップの作成では、隣接する画像間の重複領域ＳＸ（Ｎａ）〜ＥＸ（Ｎａ）で合成回数マップを更新する。そして、Ｎｂ回目（Ｎｂ＞Ｎｌｉｍ）以降の合成回数マップの作成では、隣接する画像間の重複領域に対し、ＥＸ（Ｎｂ−Ｎｌｉｍ）〜ＥＸ（Ｎｂ）の領域で合成回数マップを更新するように変更する。
【００５９】
例えば、上限合成回数を３回とすると、上限合成回数となる領域が初めて発生するのは３回目の合成回数マップの作成時である。よって、図６（ａ）に示した７枚の撮影画像６０１〜６０７を合成する場合、１回目，２回目，３回目の合成回数マップの作成ではそれぞれ、ＳＸ１〜ＥＸ１，ＳＸ２〜ＥＸ２，ＳＸ３〜ＥＸ３の領域が更新される。そして、例えば、４回目，５回目，６回目の合成回数マップの作成ではそれぞれ、ＥＸ１〜ＥＸ４，ＥＸ２〜ＥＸ５，ＥＸ３〜ＥＸ６の領域が更新される。以上の通りに処理を行うことにより、上限合成回数を変更しても、同じ領域を合成する枚数の上限を変更しても本発明に係る画像処理を行うことができる。
【００６０】
なお、第２実施形態の説明では、上限合成回数が１回の場合を除いているが、これは、上限合成回数が１回の場合には、２回目の合成回数マップを作成する必要はなく、上限合成回数に達した領域を繋ぎ合わせる処理も不要なためである。但し、Ｎｌｉｍが１回の場合でも、Ｎａ＝１となりため、１回目の合成回数マップで領域ＳＸ１〜ＥＸ１が更新され、よって、上記の処理はそのまま適用が可能である。
【００６１】
＜第３実施形態＞
上記第１実施形態では、隣接する撮影画像間の重複領域を、撮影画像全体での位置合わせ処理を行って求めた特徴量から特定した。ここで、更に、撮影画像全体の位置合わせ処理で求められた重複領域に対して、光学系１０４を構成するレンズの収差量や撮影時の焦点距離に応じて、重複領域を変更する処理を行ってもよい。
【００６２】
例えば、レンズの収差量や撮影時の焦点距離によって、撮影画像の中心から離れた画像の領域では、パンニング撮影を行った隣接する撮影画像間で位置合わせ処理を行っても、画像の歪みが原因で正しく位置が合わない可能性がある。そこで、位置合わせ処理で求められた特徴量からで算出された重複領域に対して、さらに撮影画像の歪の大きさに応じて重複領域を狭く設定する処理を行ってもよい。なお、逆に、歪補正や円筒変換等の広角合成画像の合成精度を向上させる処理を行った場合には、位置合わせ処理で求められた特徴量から算出された重複領域を、最大限使用可能な領域に設定することも可能である。
【００６３】
＜第４実施形態＞
上記第１実施形態では、撮影開始時と撮影終了時の撮影画像に、最終的に生成される広角合成画像に使用しない撮影余白領域を設定した。これに限らず、合成回数マップでの上限合成回数に応じて、撮影余白領域を変更する処理を行ってもよい。上限合成回数が大きくなるほど、上限合成回数に到達するまでに合成する撮影画像が増えるため、広角画像合成に用いることができる画角が狭くなってしまう。そこで、上限合成回数が多い場合には撮影余白領域を広く制御することを行う。
【００６４】
＜第５実施形態＞
上記第１実施形態では、隣接する撮影画像について位置合わせ処理を行い、隣接する撮影画像間の重複領域を特定した。しかし、これに限られず、デジタルカメラ１００のパンニング位置や角度を検出部１１０の検出結果を用いて特定して、撮影画像間の重複領域を求めるようにしてもよい。つまり、検出部１１０の検出信号から算出したデジタルカメラ１００の角度と位置を、基準値からの相対値として算出することで、隣接する撮影画像間の重複領域を特定することができる。この方法を用いることで、低コントラストや繰り返しパターンが含まれるような被写体を撮影した場合には、動きベクトル方式のような画像解析で重複領域を求める場合よりも、正しい重複領域を特定することができる。なお、画像解析により撮影画像間の重複領域を特定する処理と、検出部１１０の検出信号から撮影画像間の重複領域を特定する処理とを併用してもよい。例えば、画像解析により求めた撮影画像間の重複領域を、検出部１１０の検出信号を用いて補正するようにしてもよい。
【００６５】
＜第６実施形態＞
上記第１実施形態では、合成回数マップの上限合成回数は予め固定されているものとしたが、これに限られず、合成回数マップの上限合成回数を撮影時のパンニング速度に応じて変更する構成としてもよい。例えば、パンニング速度が速い場合には、所望する広角合成画像を構成する画角を構成するための撮影画像の枚数が少なくなるため、パンニング速度が速くなるにつれて、合成回数マップの上限合成回数を減らすように制御する処理を行う。また、パンニング速度が速いために隣接する撮影画像間に重複領域があるか否かを、検出部１１０からの検出信号を用いて検出し、重複領域がない場合には、警告を発し或いは広角画像合成の処理を中止するように構成してもよい。
【００６６】
更に、撮影時の適正露光時間の長さに応じて、合成回数マップの上限合成回数と撮像時の時分割露光の露光時間を変更してもよい。例えば、夜景等を撮影する場合には、適正露光時間が長くなるため、適正露光時間が長くなるほど合成回数マップの上限合成回数を増やすように制御し、撮影画像１枚あたりの撮影露光時間が短くなるように制御する構成としてもよい。
【００６７】
＜その他の実施形態＞
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【００６８】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００６９】
１００    デジタルカメラ
１０１    システム制御部
１０２    ＲＯＭ
１０４    光学系
１０５    撮像部
１０７    画像処理部
１１０    検出部
８０１，８０２    １回目，２回目の合成回数マップ
８０３，８０６    ３回目，６回目の合成回数マップ
【図１】
0006391356.tif 000003
【図２】
0006391356.tif 000004
【図３】
0006391356.tif 000005
【図４】
0006391356.tif 000006
【図５】
0006391356.tif 000007
【図６】
0006391356.tif 000008
【図７】
0006391356.tif 000009
【図８】
0006391356.tif 000010
【図９】
0006391356.tif 000011