(57)【要約】【課題】パノラマ合成のためのシーム（つなぎ目）を処理負担を過大とせずに、精度よく実行できるようにする。【解決手段】フレーム画像データについての被写体情報を検出する。そして隣接フレーム画像データ間のシームを決定する基準線となるシーム基準を、被写体情報を用いて求める。そして、シーム基準に基づいて設定される判定領域内のみで、被写体情報を用いて隣接フレーム画像データ間のシームを決定する。【選択図】図５
2013228896.tif 000002
【特許請求の範囲】
【請求項１】
パノラマ画像生成に用いる一連のｎ個（ｎは２以上の自然数）のフレーム画像データにおける、隣接する２つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する２つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理部と、
上記シーム基準決定処理部で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する２つのフレーム画像データ間のシームを決定するシーム決定処理部と、
を備えた画像処理装置。
【請求項２】
上記シーム基準決定処理部で決定される上記シーム基準は、一連のフレーム画像データの撮像時のスイープ方向に対して垂直な直線状の基準線とされる請求項１に記載の画像処理装置。
【請求項３】
上記シーム基準決定処理部は、上記被写体情報を反映した１次元のコスト関数を最適化することによって、上記シーム基準を決定する請求項１に記載の画像処理装置。
【請求項４】
上記シーム決定処理部は、上記被写体情報を反映した２次元のコスト関数を最適化することによって、上記シームを決定する請求項１に記載の画像処理装置。
【請求項５】
上記シームは、不定形状線である請求項４に記載の画像処理装置。
【請求項６】
上記判定領域は、隣接する２つのフレーム画像データの重なり領域のうちで、上記シーム基準としての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる領域である請求項１に記載の画像処理装置。
【請求項７】
上記判定領域を設定する上記所定距離は可変設定される請求項６に記載の画像処理装置。
【請求項８】
上記シーム決定処理部で決定された各シームに基づいて、各フレーム画像データを合成していくことで、上記ｎ個のフレーム画像データを用いたパノラマ画像データを生成する画像合成部をさらに備えた請求項１に記載の画像処理装置。
【請求項９】
上記画像合成部は、上記シームとしての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる隣接する２つのフレーム画像データの範囲を対象として、ブレンド処理を行って２つのフレーム画像データを合成する請求項８に記載の画像処理装置。
【請求項１０】
上記被写体情報検出部は、パノラマ画像生成に用いる一連のｎ個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出し、
上記シーム基準決定処理部は、（ｍ＋１）個（但しｍ＜ｎ）のフレーム画像データ群毎にｍ個以下のシーム基準を決定する処理を、上記入力過程で順次行う請求項１に記載の画像処理装置。
【請求項１１】
上記シーム決定処理部は、上記シーム基準決定処理部で上記ｍ個以下のシーム基準を決定させる処理が行われる毎に、決定された各シーム基準に基づいて設定される判定領域内で上記各シームを決定する処理を行う請求項１０に記載の画像処理装置。
【請求項１２】
パノラマ画像生成に用いる一連のｎ個のフレーム画像データについての被写体情報を検出する被写体情報検出部をさらに備えた請求項１に記載の画像処理装置。
【請求項１３】
上記シーム基準決定処理部は、第１の解像度の画像データを用いて上記シーム基準を決定し、
上記シーム決定処理部は、上記第１の解像度の画像データより高解像度の画像データを用いて上記シームを決定する請求項１に記載の画像処理装置。
【請求項１４】
上記被写体情報検出部は、低解像度の画像データについての被写体情報検出を行う低解像度被写体情報検出部と、高解像度の画像データについての被写体情報検出を行う高解像度被写体情報検出部とを含み、
上記シーム基準決定処理部は、フレーム画像データについて上記低解像度被写体情報検出部で得られた被写体情報を用いて上記シーム基準を決定し、
上記シーム決定処理部は、フレーム画像データの少なくとも上記判定領域内の画像について上記高解像度被写体情報検出部で得られた被写体情報を用いて上記シームを決定する請求項１２に記載の画像処理装置。
【請求項１５】
パノラマ画像生成に用いる一連のｎ個（ｎは２以上の自然数）のフレーム画像データにおける、隣接する２つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する２つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理と、
上記シーム基準決定処理で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する２つのフレーム画像データ間のシームを決定するシーム決定処理と、
を備えた画像処理方法。
【請求項１６】
パノラマ画像生成に用いる一連のｎ個（ｎは２以上の自然数）のフレーム画像データにおける、隣接する２つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する２つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理と、
上記シーム基準決定処理で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する２つのフレーム画像データ間のシームを決定するシーム決定処理と、
を演算処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はパノラマ画像生成のための画像処理装置、画像処理方法、及びそれらを実現するプログラムに関する。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特開２０１０−１６１５２０号公報
【特許文献２】特開２００８−１３２３１９号公報
【非特許文献】
【０００３】
【非特許文献１】「画像ラボ」２００８年６月号、日本工業出版、飯吉建彰・三橋 渉「パノラマ画像作成のための画像モザイク生成法」
【背景技術】
【０００４】
上記特許文献１に示されるように、複数枚の画像から１枚のパノラマ画像を生成する画像処理が知られている。
例えばユーザがカメラを水平にスイープさせながら多数の撮像画像（フレーム画像データ）を得、これを合成することで、いわゆるパノラマ画像を得ることができる。
【０００５】
なお「スイープ」とは、パノラマ画像生成のための複数のフレーム画像データを得るために、撮像時に撮像装置の回転運動による撮像方向移動の動作をいう。例えば水平方向に撮像方向を移動させる場合、スイープ方向とは水平方向を指す。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、パノラマ画像を生成する際には、隣接する撮像画像間のシーム（seam：つなぎ目）を決定して画像を張り合わせていく。
シームを決定し各画像を合成する場合、以下のような問題があった。
複数枚の撮像画像（複数のフレーム画像データ）を合成してパノラマ画像を生成する処理において、撮像シーンに動被写体が存在すると、動被写体の一部が分断されたり、ぼやけるなどの画像の破綻や画質の低下の原因となる。
そのため従来より動被写体を検出した上で、パノラマ画像を形成するためのシームを動被写体を避けて決定するなどの手法が提案されている。
【０００７】
上記非特許文献１の「パノラマ画像作成のための画像モザイク生成法」に記載されている手法では、画像の張り合わせを行うためのシームを決定する方法として、グラフ理論における最短経路問題の解法を利用する方法をあげている。この方法は、隣接２フレームの重複領域において算出されたコスト値から最小コストのシームの算出を行うもので、動被写体に高いコスト、静止被写体に低いコストを設定してグラフを生成し、最小コストのシームを決定する。このため、動被写体を分断しないような高精度の任意形状のシームを決定することができる。
しかしながら、シーム決定のための処理負担が重く、高い演算能力やメモリ容量などの十分なリソースが要求される。
【０００８】
これに対し、上記特許文献２では、２次元の被写体情報（画素値、動被写体検出、顔検出、人体検出など）を１次元のスイープ軸に射影することによって、従来と比べ被写体情報保持に必要なメモリの削減をはかる。加えて、動被写体を分断しないようにスイープ軸と垂直な方向にフレーム間の接続ライン（直線）を決定することにより、２次元の探索に比べてより低い計算量の処理で、パノラマ画像における動被写体の分断リスク、および重ね合わせによる動被写体のぼけを抑える手法が提案されている。
さらにこの手法では、複数のシームの交錯を防ぐための拘束条件が複雑化し計算コストが高くなるという欠点も解消されている。
しかしながらこの手法では、シームをスイープ方向に対して垂直な直線に限定しているため、シーム探索の自由度が低く、動被写体を分断しないシームを求められない場合が多かった。
【０００９】
本開示では、このような問題に鑑みて、パノラマ画像生成において、処理負担を重くせずに、自由度の高いシームを設定できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本開示の画像処理装置は、パノラマ画像生成に用いる一連のｎ個（ｎは２以上の自然数）のフレーム画像データにおける、隣接する２つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する２つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理部と、上記シーム基準決定処理部で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する２つのフレーム画像データ間のシームを決定するシーム決定処理部と、を備える。
【００１１】
本開示の画像処理方法は、パノラマ画像生成に用いる一連のｎ個（ｎは２以上の自然数）のフレーム画像データにおける、隣接する２つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する２つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理と、上記シーム基準決定処理で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する２つのフレーム画像データ間のシームを決定するシーム決定処理とを備える。
本開示のプログラムは、上記各処理を演算処理装置に実行させるプログラムである。
【００１２】
これらの本開示の技術によれば、２つのフレーム画像データを合成するシームを決定するために、まず、シーム基準としての基準線を決める。そしてシーム基準に基づいて判定領域を設定する。例えばシーム基準とは、動被写体が存在しない部分などを大まかに決めるラインとすればよい。そして判定領域とは、例えばシーム基準を中心線としたような領域とすればよい。この判定領域は、２つのフレーム画像データの重なり部分、つまりシームを探索できる最大範囲のうちの一部の領域となる。そして、判定領域内のみで被写体情報に基づいてシームを決める。判定領域内のみとすることで、例えば２次元コスト関数演算等により不定形状線のシーム探索を行っても、処理負担が過大にはならないうえ、効率的な探索が可能となる。
【発明の効果】
【００１３】
本開示の技術によれば、パノラマ画像生成において、低メモリ容量、低計算コストとして処理負担を重くせずに、精度が高く自由度の高いシームを設定することが可能となる。結果として、高速な処理で高品質なパノラマ画像を実現できる。
【図面の簡単な説明】
【００１４】
【図１】本開示の実施の形態の撮像装置のブロック図である。
【図２】パノラマ撮像で得られる画像群の説明図である。
【図３】パノラマ撮像のフレーム画像データにおけるシームの説明図である。
【図４】パノラマ画像の説明図である。
【図５】実施の形態のパノラマ合成処理を行う画像処理装置の説明図である。
【図６】実施の形態のコスト関数の説明図である。
【図７】実施の形態のコスト関数への空間的条件の反映の説明図である。
【図８】実施の形態のフレーム間のコスト関数の関係の説明図である。
【図９】実施の形態のシーム基準及び判定領域の説明図である。
【図１０】実施の形態の決定されるシームの説明図である。
【図１１】実施の形態の２次元探索の説明図である。
【図１２】実施の形態のブレンド処理の説明図である。
【図１３】実施の形態の判定領域の可変設定例の説明図である。
【図１４】実施の形態の判定領域の非対称設定例の説明図である。
【図１５】実施の形態の画像処理の他の例の説明図である。
【図１６】実施の形態のパノラマ合成処理例Ｉのフローチャートである。
【図１７】実施の形態のパノラマ合成処理例IIのフローチャートである。
【図１８】実施の形態の入力過程でのシーム基準決定の説明図である。
【図１９】実施の形態のシーム基準決定後の保存領域の説明図である。
【図２０】実施の形態のパノラマ合成処理例IIIのフローチャートである。
【図２１】実施の形態のコンピュータ装置のブロック図である。
【発明を実施するための形態】
【００１５】
以下、実施の形態を次の順序で説明する。なお実施の形態では、本開示の画像処理装置を搭載した撮像装置の例を挙げる。
＜１．撮像装置の構成＞
＜２．パノラマ合成機能の概要＞
＜３．実施の形態のパノラマ合成アルゴリズム＞
＜４．判定領域の設定例＞
＜５．低解像度画像／高解像度画像の利用＞
＜６．パノラマ合成処理例Ｉ＞
＜７．パノラマ合成処理例II＞
＜８．パノラマ合成処理例III＞
＜９．プログラム及びコンピュータ装置への適用＞
＜１０．変形例＞
【００１６】
＜１．撮像装置の構成＞
図１は本開示の実施の形態の画像処理装置を搭載した撮像装置１の構成例を示している。
撮像装置１はレンズユニット１００、撮像素子１０１、画像処理部１０２、制御部１０３、表示部１０４、メモリ部１０５、記録デバイス１０６、操作部１０７、センサー部１０８を備える。
【００１７】
レンズユニット１００は、被写体の光画像を集光する。レンズユニット１００は制御部１０３からの指示に従い、適切な画像を得られるように、焦点距離、被写体距離、絞りなどを調整する機構を持つ。
撮像素子１０１は、レンズユニット１００で集光された光画像を光電変換して電気信号に変換する。具体的には、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサなどにより実現される。
【００１８】
画像処理部１０２は、撮像素子１０１からの電気信号をサンプリングするサンプリング回路、アナログ信号をデジタル信号に変換するＡ／Ｄ変換回路、デジタル信号に所定の画像処理を施す画像処理回路などから構成される。ここでは、この画像処理部１０２は、撮像素子１０１での撮像によるフレーム画像データを得る処理を行うとともに、後述するパノラマ画像を合成する処理も行うものとして示している。
この画像処理部１０２は、専用のハードウエア回路のみではなく、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）を備え、柔軟な画像処理に対応するためにソフトウエア処理を行うことができる。
【００１９】
制御部１０３は、ＣＰＵ及び制御プログラムからなり、撮像装置１の各部の制御を行う。制御プログラム自体は実際にはメモリ部１０５に格納され、ＣＰＵによって実行される。
本実施の形態のパノラマ画像を合成する処理（後述するパノラマ合成処理Ｉ、II、III等）は、制御部１０３と画像処理部１０２によって実行される。その処理の詳細については後述する。
【００２０】
表示部１０４は、画像処理部１０２によって処理された、メモリ部１０５に格納されている画像データをアナログ化するＤ／Ａ変換回路と、アナログ化された画像信号を後段の表装置に適合する形式のビデオ信号にエンコードするビデオエンコーダと、入力されるビデオ信号に対応する画像を表示する表示装置とから構成される。
表示装置は、例えば、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electroluminescence）パネル等により実現され、ファインダとしての機能も有する。
【００２１】
メモリ部１０５は、ＤＲＡＭ（Dynamic Random Access Memory）などの半導体メモリから構成され、画像処理部１０２で処理された画像データ、制御部１０３における制御プログラム及び各種データなどが一時記録される。
【００２２】
記録デバイス１０６は、フラッシュメモリ（Flash Memory）メモリなどの半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクなどの記録媒体と、それらの記録媒体に対する記録再生系回路・機構により構成される。
撮像装置１による撮像時には、画像処理部１０２でＪＰＥＧ（Joint Photographic Experts Group）形式にエンコードされ、メモリ部１０５に格納されたＪＰＥＧ画像データを記録メディアに記録する。
再生時には、記録メディアに保存されたＪＰＥＧ画像データをメモリ部１０５に読み込み、画像処理部１０２でデコード処理を行う。デコードされた画像データは、表示部１０４で表示させたり、或いは図示しない外部インターフェースにより外部機器に出力することも可能である。
【００２３】
操作部１０７は、シャッターボタンなどのハードウエアキー、操作ダイアル、タッチパネルなどの入力デバイスを備え、撮像者（ユーザ）の入力操作を検出し、制御部１０３に伝達する。制御部１０３はユーザの入力操作に応じて撮像装置１の動作を決定し、各部が必要な動作を行うように制御する。
センサー部１０８は、ジャイロセンサー、加速度センサー、地磁気センサー、ＧＰＳ（Global Positioning System）センサーなどで構成され、各種情報の検出を行う。これらの情報は、撮像された画像データに対して、メタデータとして付加されるほか、各種画像処理、制御処理にも利用される。
【００２４】
画像処理部１０２、制御部１０３、表示部１０４、メモリ部１０５、記録デバイス１０６、操作部１０７、及びセンサー部１０８は、バス１０９を介して相互に接続され、画像データや制御信号等がやりとりされる。
【００２５】
＜２．パノラマ合成機能の概要＞
次に、撮像装置１が備えるパノラマ合成機能についての概要を説明する。
本実施の形態の撮像装置１は、撮像者がある回転軸で撮像装置１を回転運動させながら撮像して得られた複数枚の静止画像（フレーム画像データ）に対し、合成処理を行うことによってパノラマ画像を生成することができる。
【００２６】
図２Ａは、パノラマ撮像時の撮像装置１の動きを示したものである。パノラマ撮像時には遠景、近景の視差が合成時のシーム（seam：つなぎ目）の不自然さを生じさせるため、撮像時の回転中心は、ノーダルポイント（Nodal Point）と呼ばれる視差を生じないレンズ固有の点を回転中心にすることが望ましい。
パノラマ撮像時の撮像装置１の回転運動のことを「スイープ」と呼ぶ。
【００２７】
図２Ｂは、撮像装置１のスイープによって得られた複数枚の静止画像に対して、適切に位置合わせを行ったときの概念図である。撮像で得られる各静止画像を、撮像の時間的な順序で、時刻０〜時刻（ｎ−１）までに撮像されたフレーム画像データを、フレーム画像データＦＭ＃０、ＦＭ＃１・・・ＦＭ＃（ｎ−１）として示す。ｎ枚の静止画像からパノラマ画像を生成する場合は、図示するように連続して撮像された一連のｎ個のフレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）について合成処理を行うこととなる。
【００２８】
この図２Ｂに示すように、撮像された各フレーム画像データは隣接するフレーム画像データと必ず重なり部分を持つ必要があるので、撮像装置１の各フレーム画像データの撮像時間間隔と、撮像者がスイープする速度の上限値は適切に設定しなければならない。
そして、このように位置合わせされたフレーム画像データ群は多くの重なり部分を持つため、各フレーム画像データに対して最終的なパノラマ画像に使用する領域を決定する必要がある。これは言い換えると、パノラマ合成処理における画像のシームを決めていることと同一である。
【００２９】
図３Ａ、図３Ｂでは、シームＳＭの例を示している。
シームには、図３Ａに示すようにスイープ方向に垂直な直線や、図３Ｂに示すように非直線（曲線など）とすることができる。
この図３Ａ、図３Ｂにおいて、シームＳＭ０はフレーム画像データＦＭ＃０，ＦＭ＃１間のシーム、シームＳＭ１はフレーム画像データＦＭ＃１，ＦＭ＃２間のシーム、・・・シームＳＭ（ｎ−２）はフレーム画像データＦＭ＃（ｎ−２），ＦＭ＃（ｎ−１）間のシームとして示している。
なお、これらシームＳＭ０〜ＳＭ（ｎ−２）が合成時の隣接画像間のシームとされることで、各フレーム画像データにおいて斜線部とした部分は、最終的なパノラマ画像に使用されない画像領域となる。
【００３０】
また、パノラマ合成を行う際には、シーム付近の画像の不自然さを低減することを目的とし、シーム前後の画像領域についてブレンド処理することも行われる場合もある。ブレンド処理については図１２で後述する。
そして、各フレーム画像データの共通部分を広範囲にブレンド処理することによって接合させる場合や、パノラマ画像に寄与する画素を共通部分から画素毎に選択する場合もあり、これらの場合には、シームは明確には存在しないが、この広範囲な接合部分も広義のシームといえる。
【００３１】
また図２Ｂに示したように、各フレーム画像データの位置合わせの結果、一般的にスイープ方向だけでなく、スイープと垂直な方向にも若干の移動が認められる。これは撮像者のスイープ時の手振れ等によって生じるズレである。
【００３２】
各フレーム画像データのシームを決定し、その境界領域をブレンド処理することによって接合を行い、最終的に手振れ量を考慮してスイープと垂直な方向な不要な部分をトリミングすることによって、図４Ａに示すような、スイープ方向を長辺方向とする、広画角のパノラマ画像を得ることができる。
図４Ａでは不定形状線の縦線がシームを示しており、ｎ個のフレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）がシームＳＭ０〜ＳＭ（ｎ−２）でそれぞれ接合されてパノラマ画像が生成されている状態を模式的に示している。
【００３３】
なお詳しくは続いて説明していくが、本実施の形態のシーム決定のための処理としては、まず第１段階として、図４Ｂのように直線状の基準線としてのシーム基準ａＳＭ０〜ａＳＭ（ｎ−２）を決定する。そして第２段階として、各シーム基準ａＳＭ０〜ａＳＭ（ｎ−２）のそれぞれの周辺領域を探索して、図４Ａに示すような不定形状線のシームＳＭ０〜ＳＭ（ｎ−２）を決定するものとなる。
【００３４】
＜３．実施の形態のパノラマ合成アルゴリズム＞
次に、本実施の形態の撮像装置１のパノラマ合成処理についての詳細を説明する。
図５はパノラマ合成処理のために画像処理部１０２及び制御部１０３において実行される処理を、機能構成として示し、それらの機能構成部位によって実行される処理を示している。
そして機能構成としては、一点鎖線でそれぞれ示すように、被写体情報検出部２０、シーム決定処理部２１、画像合成部２２、パノラマ合成準備処理部２３、シーム基準決定処理部２４を備える。
【００３５】
被写体情報検出部２０は、パノラマ画像生成に用いる一連のｎ個のフレーム画像データの入力過程で、各フレーム画像データ毎に被写体情報を検出する。
この例では動被写体検出処理２０２、検出・認識処理２０３を行う。
【００３６】
シーム基準決定処理部２４は、隣接するフレーム画像データ間のシームＳＭを決定する基準線となるシーム基準ａＳＭ（ａＳＭ０〜ａＳＭ（ｎ−２））を、被写体情報検出部２０で検出された被写体情報を用いて求める処理（シーム基準決定処理２０７）を行う。
【００３７】
シーム決定処理部２１は、隣接フレーム画像データ間の重なり範囲のうちで、シーム基準決定処理部２４で決定された隣接フレーム画像データ間のシーム基準ａＳＭに基づいて設定される判定領域内のみで、被写体情報検出部２０で検出された被写体情報を用いて隣接フレーム画像データ間のシームＳＭを決定する処理（シーム決定処理２０５）を行う。
【００３８】
画像合成部２２は、シーム決定処理部２１で確定されたシームＳＭ０〜ＳＭ（ｎ−２）に基づいて、各フレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）を合成していくことで、ｎ個のフレーム画像データを用いたパノラマ画像データを生成するスティッチ処理２０６を行う。
【００３９】
パノラマ合成準備処理部２３は、パノラマ合成を精度良く行うために必要な準備処理として、例えば前処理２００、画像レジストレーション処理２０１、再投影処理２０４を行う。
【００４０】
本実施の形態の動作を実現するには、被写体情報検出部２０、シーム基準決定処理部２４、シーム決定処理部２１、画像合成部２２を有することが好ましい。但し、画像合成部２２の処理や被写体情報検出部２０の処理は、外部機器で行うようにしてもよく、本実施の形態の画像処理装置としてはシーム基準決定処理部２４、シーム決定処理部２１を少なくとも備えることが必要となる。
言い換えれば、画像処理装置が、撮像装置１に内蔵されたり、或いは後述するコンピュータ装置のような情報処理装置において実現されたり、さらには単体機器として実現される場合、その画像処理装置は、シーム決定処理部２１とシーム基準決定処理部２４を備える。また画像処理装置としては加えて画像合成部２２や被写体情報検出部２０の一方又は両方を含む場合もある。
【００４１】
各処理について説明する。
前処理２００の対象となる入力画像群とは、撮像者が撮像装置１でパノラマ撮像を実行しているときに順次得られるフレーム画像データＦＭ＃０、ＦＭ＃１、ＦＭ＃２・・・である。
まずパノラマ合成準備処理部２３では、撮像者のパノラマ撮像操作によって撮像された画像（各フレーム画像データ）に対して、パノラマ合成処理に対する前処理２００を行う。なお、入力される画像は、通常の撮像時と同様の画像処理は行われているものとする。
入力された画像はレンズユニット１００の特性に基づく収差の影響を受けている。特にレンズの歪曲収差は、画像レジストレーション処理２０１に悪影響を与え、位置合わせの精度を低下させる。さらに合成されたパノラマ画像のシーム付近にアーティファクトも発生させるため、この前処理２００において歪曲収差の補正を行う。歪曲収差の補正によって、動被写体検出処理２０２、検出・認識処理２０３の精度を向上させる効果もある。
【００４２】
次にパノラマ合成準備処理部２３は、前処理２００を行ったフレーム画像データに対して、画像レジストレーション処理２０１を行う。
パノラマ合成時には複数のフレーム画像データを単一の座標系に座標変換する必要があるが、この単一の座標系をパノラマ座標系と呼ぶことにする。
画像レジストレーション処理２０１は、２枚の連続するフレーム画像データを入力し、パノラマ座標系での位置合わせを行う処理である。２枚のフレーム画像データについての画像レジストレーション処理２０１によって得られる情報は、あくまで２枚の画像座標間の相対関係であるが、複数枚の画像座標系のうち一つ（例えば最初のフレーム画像データの座標系）を選び、パノラマ座標系に固定することによって、すべてのフレーム画像データの座標系をパノラマ座標系に変換することができる。
【００４３】
画像レジストレーション処理２０１で行う具体的な処理は、以下の二つに大別される。
１．画像内のローカルな動きを検出する。
２．上記で求めたローカルな動き情報から、画像全体のグローバルな動きを求める。
【００４４】
上記１の処理では一般的に、
・ブロックマッチング
・Ｈａｒｒｉｓ，Ｈｅｓｓｉａｎ，ＳＩＦＴ，ＳＵＲＦ，ＦＡＳＴなどの特徴点抽出及び特徴点マッチング
などが用いられ、画像の特徴点のローカルベクトルを求める。
【００４５】
上記２の処理では、上記１の処理で求められたローカルベクトル群を入力として、
・最小二乗法
・Ｍ−Ｅｓｔｉｍａｔｏｒ
・最小メジアン法（ＬＭｅｄＳ）
・ＲＡＮＳＡＣ（RANdom SAmple Consensus）
などのロバスト推定手法が用いられ、２枚間の座標系の関係を記述する最適なアフィン変換行列や射影変換行列（Homography）を求める。本明細書では、これらの情報を画像レジストレーション情報と呼ぶことにする。
【００４６】
またパノラマ合成準備処理部２３は再投影処理２０４を行う。
再投影処理２０４では、画像レジストレーション処理２０１によって得られた画像レジストレーション情報に基づき、すべてのフレーム画像データを単一の平面、あるいは円筒面、球面などの単一の曲面に投影処理を行う。また同時に、動被写体情報、検出・認識情報についても同一平面もしくは曲面に投影処理を行う。
フレーム画像データの再投影処理２０４は、ピクセル処理の最適化を考慮して、スティッチ処理２０６の前段処理として、もしくはスティッチ処理２０６の一部として行ってもよい。また簡易的に画像レジストレーション処理２０１の前、例えば前処理２００の一部として行ってもよい。またさらに簡略化して、処理そのものを行わず円筒投影処理の近似として扱ってもよい。
【００４７】
被写体情報検出部２０は、前処理２００が行われた各フレーム画像データについて、動被写体検出処理２０２、検出・認識処理２０３を行う。
パノラマ合成処理は、複数枚のフレーム画像データを合成するという特性上、撮像シーンに動被写体が存在すると動被写体の一部が分断されたり、ぼやけるなどの画像の破綻や画質の低下の原因となる。そのため動被写体を検出した上で、動被写体を避けてパノラマのシームを決定することが好ましい。
【００４８】
動被写体検出処理２０２は、２枚以上の連続するフレーム画像データを入力し、動被写体の検出を行う処理である。具体的な処理の例は、画像レジストレーション処理２０１によって得られた画像レジストレーション情報により、実際に位置合わせを行った２枚のフレーム画像データの画素の差分値がある閾値以上の場合に、その画素を動被写体と判定するものである。
あるいは、画像レジストレーション処理２０１のロバスト推定時に外れ値（アウトライア）として判断された、特徴点情報を利用して判定を行っても良い。
【００４９】
検出・認識処理２０３では、撮像されたフレーム画像データ内の人間の顔や身体、動物などの位置情報を検出する。人間や動物は動被写体である可能性が高く、仮に動いていなかったとしても、その被写体上にパノラマのシームが決定された場合、他の物体と比べて視感上の違和感を生じることが多いので、これらの物体を避けてシームを決定することが好ましい。つまりこの検出・認識処理２０３で得られた情報は、動被写体検出処理２０２の情報を補うために利用される。
【００５０】
シーム基準決定処理２０７、シーム決定処理２０５は、再投影処理２０４からの画像データ、画像レジストレーション処理２０１からの画像レジストレーション情報、動被写体検出処理２０２からの動被写体情報、検出・認識処理２０３からの検出・認識情報を入力とし、パノラマ画像として破綻の少ない、適切なシームＳＭを決定するための処理である。
その際にシーム基準決定処理２０７では、スイープ方向に垂直な直線状の基準線として最適なシーム基準ａＳＭを決定する。
またシーム決定処理２０５では、シーム基準決定処理２０７で決定したシーム基準ａＳＭの周辺領域となる判定領域内を探索し、不定形状線の最適なシームＳＭを決定する。
このように、まずシーム基準ａＳＭとしての最適な基準線を決定し、この基準線に応じた判定領域内で不定形状線の最適なシームＳＭを決定するという２段階処理を行うことになる。
なお、シーム基準ａＳＭとは、簡易的に求めたシームであるともいえる。その意味で２段階処理とは、まず簡易的に直線状のシームを決定し、その後、直線状のシームの周辺領域を判定領域として高精度のシーム設定、つまり直線、非直線に関わらず画像内容に応じて最適化された最終的なシーム（不定形状線のシーム）の決定を行うものであるといえる。
【００５１】
シーム基準決定処理部２４によるシーム基準決定処理２０７の具体的な処理を説明する。
まず図６により、重なり領域におけるコスト関数の定義について説明する。
パノラマ座標系においてスイープ方向の座標軸をｘ軸、ｘ軸と垂直な軸をｙ軸とする。そして図６Ａのように、ａk≦ｘ≦ｂkの領域において時刻ｋに撮像したフレーム画像データＦＭ＃（ｋ）と、時刻ｋ＋１に撮像したフレーム画像データＦＭ＃（ｋ＋１）が重なり合っているとする。
【００５２】
この重なり領域（ａk〜ｂk）における、動被写体検出処理２０２からの動被写体情報、検出・認識処理２０３からの検出・認識情報のそれぞれに対して適当な重みをつけ、ｘ軸方向に射影した上で、全情報について積分したものをコスト関数ｆk (x)と定義する。  すなわち、
【数１】
2013228896.tif 000003
但し、
・ｍｏi＝０，１：動被写体検出情報（０≦ｉ≦Ｎmo−１)
・ｗｍｏi：動被写体検出情報に対する重み関数（０≦ｉ≦Ｎmo−１)
・ｄｅｔj＝０，１：検出・認識情報（０≦ｊ≦Ｎdet−１)
・ｗｄｅｔj：検出・認識情報に対する重み関数（０≦ｊ≦Ｎdet−１)
と定義する。
【００５３】
コスト関数値が高いほど、そのライン上には動被写体や人体などの物体が多く存在することを意味する。前述の通り、パノラマ画像における破綻を最小限に抑えるためには、最終的なシームＳＭ（及びシーム基準ａＳＭ）はこれらの物体を避けて決めるべきであるので、コスト関数値の低いｘ座標値をシーム基準の位置とすればよい。
【００５４】
動被写体検出処理２０２、検出・認識処理２０３は、通常数〜数十画素を一辺にもつブロック単位で行われるため、コスト関数ｆk (x)はｘが整数値で定義された離散関数である。
動被写体検出情報に対する重み関数ｗｍｏiは、例えばその動被写体における動き量の大きさとすれば、動き量の大きい物体のある領域ほどシームＳＭ（及びシーム基準ａＳＭ）になりにくくなる。
【００５５】
図６Ａにおいては、フレーム画像データＦＭ＃（ｋ）、ＦＭ＃（ｋ＋１）の重なり領域（ａk〜ｂk）における、動被写体情報、検出・認識情報の該当画素ブロックを例示している。この場合、例えばｘ軸上のａｋ≦ｘ≦ｂｋの範囲で上記（数１）のコスト関数ｆk (x)で求められるコスト値は例えば図６Ｂのようになる。
そして、コスト値の最も低いｘ座標値（ｘk）が、２つのフレーム画像データＦＭ＃（ｋ）、ＦＭ＃（ｋ＋１）間のシームＳＭ（及びシーム基準ａＳＭ）として適切な位置となる。
シーム基準決定処理２０７では、このようにコスト関数を用いて、シーム基準ａＳＭとして適切なｘ座標値を算出する。
【００５６】
但し、ここでの説明はあくまでも２つのフレーム画像データ間のコスト関数でみた場合である。図４で説明したようにパノラマ画像はｎ個のフレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）についてシームＳＭ０〜ＳＭ（ｎ−２）で接合して生成する。この場合にシームＳＭ０〜ＳＭ（ｎ−２）の組み合わせを最適化する必要がある。例えばシームＳＭ２がシームＳＭ１よりも図４Ａ上で左側となるなどが生じたりすることがないように組み合わせを最適化する。
本実施の形態の場合、シーム決定処理部２１によるシーム決定処理２０５は、上述のようにシーム基準ａＳＭに基づく判定領域内でシームＳＭを決定する。つまりシームＳＭ０〜ＳＭ（ｎ−２）のそれぞれは、シーム基準ａＳＭ０〜ａＳＭ（ｎ−２）に基づく判定領域内で決定される。
従ってシーム決定処理２０５で求められる最終的なシームＳＭ０〜ＳＭ（ｎ−２）の組み合わせを最適化するには、各フレーム画像データ間で求める各シーム基準ａＳＭ０〜ａＳＭ（ｎ−２）の組み合わせを最適化すればよい。
このためシーム基準決定処理部２４でのシーム基準決定処理２０７では、単に２枚のフレーム画像データ間で、シーム基準を決定するものではない。詳しくは後に述べる。
【００５７】
なお、検出・認識情報に対する重み関数ｗｄｓｔjは、例えば顔検出、人体検出など検出器の種別において変更したり、あるいは検出時の信頼性（スコア値）としたり、検出された座標によって変更するなどによって、コスト関数値を調整することが考えられる。
さらに動被写体検出処理２０２と検出・認識処理２０３の検出精度、信頼度が異なる場合、検出精度、信頼度が高い方の重み関数を、低い方の重み関数に比べて、相対的に高く設定することによって、検出精度、信頼度をコスト関数に反映することができる。
このようにシーム基準決定処理部２４では、コスト関数ｆk (x)を、被写体情報の信頼度を反映する関数としてもよい。
【００５８】
またシーム基準決定処理部２４は、コスト関数を、画像の空間的条件を反映するコスト関数ｆ’k (x)としてもよい。
即ち上記（数１）式では、動被写体情報、検出・認識情報のみからコスト関数ｆk (x)を定義したが、さらにこのコスト関数ｆk (x)に対して、ｇ(x, ｆk (x))によって、新たなコスト関数ｆ’k (x)を定義する。
【数２】
2013228896.tif 000004
【００５９】
この新たなコスト関数ｆ’k (x)を使用することによって、動被写体情報、検出・認識情報だけでは表現できない、空間的なコスト値の調整を行うことができる。
一般的に、レンズの収差の影響で画像周辺部の画質は、中心部の画質よりも劣る傾向がある。そのため、画像周辺部をパノラマ画像になるべく使用しないようにしたい。このためには、シームを重なり領域の中央付近で決定すればよい。
そこで、例えば以下のようなｇ(x, ｆk (x))を用いて、コスト関数ｆ’k (x)を定義すればよい。
【数３】
2013228896.tif 000005
但しｔ0、ｔ1は正の定数値である。
【００６０】
空間的条件を反映するコスト関数ｆ’k (x)を図７で模式的に説明する。
図７Ａは、重なり領域（ａk〜ｂk）において、上記（数１）のコスト関数ｆk (x)で与えられるコスト値を示している。図６Ｂではコスト値を曲線で示したが、コスト関数ｆk (x)はｘが整数値で定義された離散関数であることから、実際には図７Ａのように棒グラフ状となる。
この場合、図中のｘ座標値のｘｐ〜ｘｑの範囲でコスト値が最小となっているため、この座標値ｘｐ〜ｘｑの範囲であれば、ｘ座標値をシーム基準としても良い。しかし、上記のようになるべくシーム基準ａＳＭ（ひいては最終的なシームＳＭ）を重なり領域の中央付近としたい。
【００６１】
ここで、上記（数３）の、ｔ0・｜ｘ−（ｂk−ａk）／２｜の項は、図７Ｂのような係数値を与えることを意味する。即ち画像の中央に行くほどコストが低くなるような係数である。なお、（数３）のｔ1はコスト関数ｆk (x)によるコスト値が０となる場合（動被写体が存在しない部分など）で係数によってコスト値の差が無くなってしまうことを避けるためのオフセット値である。
結局図７Ｂのような係数値が反映されることで、重なり領域（ａk〜ｂk）において、上記（数３）のコスト関数ｆ’k (x)で与えられるコスト値は、図７Ｃのようになる。すると、座標値ｘｐが、シーム基準ａＳＭとして選択される。これはつまり、なるべく重なり領域の中央付近で最終的なシームＳＭが決められるようにするための関数となる。
【００６２】
例えば以上のように、コスト関数を適切に設計することにより、各種の条件を織り込んだ最適なシーム基準ａＳＭを選択することができる。
【００６３】
ここまで２つのフレーム画像データ間の重なり領域において、最適なシーム基準ａＳＭを決めるためにはコスト関数値が最小になる位置として求めれば良いことを説明した。
次にｎ（ｎ＞２）枚のフレーム画像データを合成するときの最適なシーム基準ａＳＭ０〜ａＳＭ（ｎ−２）の組み合わせを求める手法について説明する。
【００６４】
ｎ個のフレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）を考えた場合、その重なり領域の数はｎ−１個になり、コスト関数もｎ−１個定義されることになる。
図８はｎ個のフレーム画像データを考えた場合のコスト関数の関係を示したものである。即ちフレーム画像データＦＭ＃０、ＦＭ＃１間のコスト関数ｆ0、フレーム画像データＦＭ＃１、ＦＭ＃２間のコスト関数ｆ1、・・・フレーム画像データＦＭ＃（ｎ−２）、ＦＭ＃（ｎ−１）間のコスト関数ｆn-2を示している。
ｎ個のフレーム画像データをパノラマ合成し、全体として最適なシームを選ぶためには、
【数４】
2013228896.tif 000006
を最小にするｘ0、ｘ1・・・ｘn-2を求めれば良い。
ただしｘkは以下を満たす整数値である。
・ｘk-1＋α≦ｘk≦ｘk+1−α  （シームの拘束条件）
・ａk≦ｘk≦ｂk  （コスト関数の定義域）
【００６５】
ここでαは隣接するシーム基準ａＳＭ（又はシームＳＭ）の最低間隔を定義する定数値である。
上記（数４）を最小化する問題は、一般に組み合わせ最適化問題と呼ばれ、以下のような解法が知られている。
・厳密解を求める解法
−分枝限定法
−Memoization
−動的計画法(Dynamic Programming)
−グラフカット
・近似解を求める解法
−局所探索法（山登り法）
−焼きなまし法(Simulated Annealing)
−タブーサーチ
−遺伝的アルゴリズム(Genetic Algorithm)
以上のいずれかの手法により（数４）の最小化問題を解く事が可能である。
【００６６】
以上の処理により、スイープ方向に垂直な直線としての最適なシーム基準ａＳＭ０〜ＳＭ（ｎ−２）を決定することができる。
なお、ここでは、パノラマ合成を行うｎ個の全フレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）を対象として、各隣接フレーム画像データ間のｎ−２個のシーム基準ａＳＭ０〜ＳＭ（ｎ−２）を求める場合を述べた。具体的な処理例として後述するパノラマ合成処理例Ｉでは、この手法を用いる。
【００６７】
但し、パノラマ合成処理例II、IIIでは、パノラマ画像生成に用いる一連のｎ個のフレーム画像データの入力過程で、（ｍ＋１）個（但しｍ＜ｎ）のフレーム画像データ群毎に、各シーム基準ａＳＭ０〜ＳＭ（ｍ−１）を、被写体情報検出部２０で検出された被写体情報を用いた最適位置判定処理によって求める。そしてｍ個以下のシーム基準を決定させる処理を、一連のフレーム画像データの入力過程で順次行うようにしている。
このように、ｍ＋１個のフレーム画像データ（但しｍ＜ｎ）について、ｍ個のシーム基準を求める処理を順次行う場合、上記（数４）を最小とするｍ個のシーム基準（例えばｘ0、ｘ1・・・ｘm）を求めれば良いものとなる。
【００６８】
以上のようにシーム基準決定処理部２４で決定されるシーム基準ａＳＭの例、及びシーム基準ａＳＭに応じた判定領域ＡＲ１の例を図９に示す。
図９ではフレーム画像データＦＭ＃（ｋ）、ＦＭ＃（ｋ＋１）の重なり領域（ａk〜ｂk）におけるシーム基準ａＳＭ（ｋ）を例示している。この場合、コスト関数ｆk (x)が設定され、さらに上記（数４）の組み合わせ最適化により、最終的にｘ座標値（ｘk）が、２つのフレーム画像データＦＭ＃（ｋ）、ＦＭ＃（ｋ＋１）間のシーム基準ａＳＭ（ｋ）とされたとする。
シーム基準ａＳＭ（ｋ）は、図示のようにスイープ方向（ｘ軸方向）に垂直な直線状とされる。
そして例えば、このシーム基準ａＳＭ（ｋ）としての線から、スイープ方向及びその逆方向に、所定の距離β内となる範囲、つまりｘ座標値として（ｘk−β）から（ｘk＋β）の範囲となる斜線部の領域が判定領域ＡＲ１とされる。
【００６９】
シーム決定処理部２１によるシーム決定処理２０５では、この判定領域ＡＲ１内のみを対象として、２次元コスト探索を行って、最終的なシームＳＭを決定することとなる。
シーム決定処理２０５の具体的な処理を説明する。
パノラマ画像として動被写体を分断せず、破綻の少ない不定形状シームは、直線シーム（つまりシーム基準ａＳＭとしての直線）の近傍領域付近に存在していると考えられる。そこでシーム決定処理２０５では、シーム基準ａＳＭの周辺である判定領域ＡＲ１内のみを部分的に探索し、最適な不定形状のシームＳＭを決定する。
【００７０】
図１０Ａに不定形状のシームＳＭの例を示している。シームＳＭは、判定領域ＡＲ１内で決定されることになる。
こうして求めた不定形状のシームＳＭは、フレーム間の重なり領域（ａk〜ｂk）の全体を対象として最適化を行った場合の不定形状シームに対しての十分に精度のよい近似解となる。
つまり、重なり領域（ａk〜ｂk）の全体を対象として探索するということをせず、（ｘk−β）から（ｘk＋β）の範囲となる判定領域ＡＲ１に絞って探索を行うことで、処理負担を大きく軽減しつつ、重なり領域（ａk〜ｂk）の全体を対象とした場合と遜色のない精度のシーム決定を行うことができるようにしている。
【００７１】
なお、決定されるシームＳＭは、あくまで判定領域ＡＲ１内での２次元コスト探索で決められるもので、最終的に決定されるシームＳＭとしての線の形状は不定である。例えば図１０Ａのように蛇行する曲線となったり、或いは図１０Ｂに示す折れ線状となることもある。また図１０Ｃのように直線状となったり、図１０Ｄのように曲線部分と直線部分がつながるような線となることもある。
【００７２】
判定領域ＡＲ１内において、最適な不定形状のシームＳＭを求める手法を説明する。
判定領域ＡＲ１としての（ｘk−β）〜（ｘk＋β）における、動被写体検出処理２０２からの動被写体情報、検出・認識処理２０３からの検出・認識情報を、それぞれに対して適当な重みをつけたものをコスト関数ｇk（ｘ，ｙ）と定義する。
上述のシーム基準決定処理２０７の場合のコスト関数と異なり、１次元射影をしないため、２変数関数となる。
【００７３】
すなわち
【数５】
2013228896.tif 000007
但し、
・ｍｏi＝０，１：動被写体検出情報（０≦ｉ≦Ｎmo−１)
・ｗｍｏi：動被写体検出情報に対する重み関数（０≦ｉ≦Ｎmo−１)
・ｄｅｔj＝０，１：検出・認識情報（０≦ｊ≦Ｎdet−１)
・ｗｄｅｔj：検出・認識情報に対する重み関数（０≦ｊ≦Ｎdet−１)
と定義する。
【００７４】
また別のコスト関数として、判定領域ＡＲ１の画素の輝度差分の絶対値を選択してもよい。すなわち、
【数６】
2013228896.tif 000008
としてもよい。
但し、Ｉk（ｘ，ｙ）は、パノラマ座標（ｘ，ｙ）におけるフレームＦＭ＃（ｋ）の画素の輝度値である。
【００７５】
これらのコスト関数に対して、コストを最小にする不定形状の経路を求める.法として、
・動的計画法(Dynamic Programming)
・グラフカット
が一般的に知られており、疑似多項式時間で厳密解を求めることが可能である。
【００７６】
以上の処理により、２フレーム間の重なり領域における極めて最適に近いシームＳＭを決定することができる。
図１１に、２変数関数によるコスト探索としてシームＳＭを求める処理のイメージを示した。図１１は判定領域ＡＲ１となるｘ座標範囲及びｙ座標範囲において、縦軸を各画素のコストの値とする模式図である。
コストを最小にする不定形状の経路とは、図１１の図における谷の部分を辿る経路ということになる。つまりその経路が、太破線で示すシームＳＭ（ｋ）となる。
【００７７】
一般的に、２つのフレームの重なり領域全域に対して不定形状シームの探索を行う手法は、広範囲の２次元のコスト関数を保持しなければならず、メモリ使用量が大きくなる。また探索範囲も広いため、計算コストも大きくなる。
さらに複数の重なり領域自体が重なっている場合には、求めた不定形状シームが交錯する可能性があるため、例外処理を行う必要や、複雑な拘束条件を適用する必要がある。
それに対して本実施の形態の手法では、直線シームとして求めたシーム基準ａＳＭの前後の判定領域ＡＲ１内のみの二次元探索を行うため、コスト関数の保持のためのメモリ量も、計算コストも小さい。さらにシーム基準ａＳＭを求める際の制約αと、最終的なシームＳＭを求める際の制約βを、α≧βの関係に設定しておけば、複数の不定形状のシームＳＭが交錯する恐れもないため、処理も簡便になる。
結果として処理速度も高速化される。
【００７８】
図５の画像合成部２２ではスティッチ処理２０６を行う。
スティッチ処理２０５では、シーム決定処理２０５で決定された全てのシームＳＭ０〜ＳＭ（ｎ−２）の情報と、各フレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）を使用して、最終的にパノラマ画像を生成する。
【００７９】
この場合、隣接するフレーム画像データ間を、単純にシームで接続させるようにしてもよいが、ブレンド処理を行うことが画質上好ましい。
図１２でブレンド処理の一例を説明する。図１２は、フレーム画像データＦＭ＃（ｋ）とＦＭ＃（ｋ＋１）の合成を模式的に示している。確定されたシームＳＭ（ｋ）を太線で示している。
なお、フレーム画像データＦＭ＃（ｋ）とＦＭ＃（ｋ＋１）の重なり領域のｙ軸状の範囲をｙ１〜ｙ２としている。
また、ｙ座標値＝ｙ１におけるシームＳＭのｘ座標値をｘ１、ｙ座標値＝ｙ２におけるシームＳＭのｘ座標値をｘ２としている。
【００８０】
画像合成部２２は、シームＳＭとしての線からスイープ方向、及びその逆方向に、所定の距離γ内となる斜線部で示すブレンド領域ＢＬを対象として、ブレンド処理を行って２つのフレーム画像データを合成することで、シームでの不自然さを低減する。
ｙ座標値＝ｙ１について言えば、ｘ１−γからｘ１＋γがブレンド領域ＢＬ内であり、ｙ座標値＝ｙ２についていえば、ｘ２−γからｘ２＋γがブレンド領域ＢＬ内となる。
それ以外の領域（重なり領域のうちの非斜線部）に対しては、単純な画素値のコピー、あるいはパノラマ座標系への再サンプリングのみを行い、すべての画像を接合する。
【００８１】
ブレンド処理は以下の演算で行う。
【数７】
2013228896.tif 000009
ＰＩk（ｘ，ｙ）：パノラマ座標（ｘ，ｙ）におけるパノラマ画像の画素値
Ｉk（ｘ，ｙ）：パノラマ座標（ｘ，ｙ）におけるフレーム画像データＦＭ＃（ｋ）の画素値
つまり、斜線部のブレンド領域ＢＬにおけるｙ１〜ｙ２の各ｙ座標について、上記（数５）の演算を行ってブレンド処理を行えばよい。
【００８２】
以上の画像合成部２２のスティッチ処理２０６により、ｎ個のフレーム画像データからのパノラマ合成画像を得ることができる。
【００８３】
＜４．判定領域の設定例＞
ここで判定領域ＡＲ１の設定について各種例を説明しておく。
図９で述べたように判定領域ＡＲ１はシーム基準ａＳＭからｘ軸の±方向の距離βの範囲の領域とすることが考えられる。
この距離βの具体的な設定例は各種想定される。例えばβの値は固定値としてもよいし、可変設定されてもよい。
【００８４】
距離βを例えば固定のピクセル数ＰＸとすれば、判定領域ＡＲ１は、シーム基準ａＳＭを決定したら、シーム基準ａＳＭのｘ座標値ｘからの±ＰＸの範囲として一意に決まる。つまり（ｘk−ＰＸ）〜（ｘk＋ＰＸ）の範囲である。
但しこの場合、判定領域ＡＲ１のｘ軸範囲（ｘk−ＰＸ）〜（ｘk＋ＰＸ）が、フレームの重なり領域（ａk〜ｂk）以上となることもあり得る。この場合、判定領域ＡＲ１は、フレームの重なり領域（ａk〜ｂk）の全域となるが、そもそもこの場合は、判定領域ＡＲ１が狭い領域であるため、シーム決定処理２０５における２次元コスト探索のための処理が重くなるものではない。
【００８５】
また距離βを例えば重なり領域（ａk〜ｂk）の所定割合の値としてもよい。例えば重なり領域（ａk〜ｂk）の距離の１０％の値をβとした場合、判定領域ＡＲ１はシーム基準ａＳＭを中央ラインとして重なり領域（ａk〜ｂk）の２０％の領域となる。
【００８６】
また距離βを固定のピクセル数とする場合の値や、距離βを重なり領域（ａk〜ｂk）の所定割合の値とする場合の割合の値を、ユーザが任意に設定したり選択できるようにしてもよい。判定領域ＡＲ１は狭くするほど、シーム決定処理２０５の演算負担は軽く処理速度は速くなるが、広いほどシームＳＭの精度は高くなる。従って処理速度を優先するか、シーム品質を優先するかにより、ユーザが任意に設定できる用にすることは有用である。
【００８７】
また、決定したシーム基準ａＳＭの信頼性によって距離βの値を可変してもよい。
図１３Ａはβ値を小さくして判定領域ＡＲ１を狭くした状態、図１３Ｃはβ値を大きくして判定領域ＡＲ１を広くした状態をそれぞれ示している。このように距離βの値を可変して判定領域ＡＲ１を最適化できる。
例えば重なり領域（ａk〜ｂk）におけるコスト値が図１３Ｂのようであったとする。この場合、最もコストが低い極小値であるｘ座標値（ｘk）と、第２極小値であるｘ座標値（ｃk）は、その差分Ｑが比較的大きい。このようなコスト分布になっている場合、ｘ座標値（ｘk）付近がシームとして最も適切である可能性は高く、ｘ座標値（ｘk）をシーム基準ａＳＭとすることは信頼性が高いと言える。すると、図１３Ａのようにβ値を小さくして判定領域ＡＲ１を狭くしても、高精度のシームＳＭが決定できる可能性は高い。その場合、シーム決定処理２０５の演算負担を小さくできるという利点が得られる。
一方、重なり領域（ａk〜ｂk）におけるコスト値が図１３Ｄのようななだらかな分布であったとする。この場合、最もコストが低い極小値であるｘ座標値（ｘk）は他のｘ座標値と比べて特徴的な座標値ではなく、ｘ座標値（ｘk）付近がシームとして最も適切であるという信頼性は低い。このような場合、シームＳＭの精度確保のために、演算負担は増えても、図１３Ｃのようにβ値を大きくして判定領域ＡＲ１を広げるということが考えられる。
【００８８】
また、判定領域ＡＲ１はシーム基準ａＳＭを中央ラインとする±βとしたが、シーム基準ａＳＭから左右非対称の領域としてもよい。
図１４Ａに、ｘ座標値（ｘk）としたシーム基準ａＳＭから−β１、＋β２の範囲を判定領域ＡＲ１とした例を示している。
判定領域ＡＲ１は、あくまで高精度なシームＳＭを探索するための領域であって、その判定領域ＡＲ１とされる範囲が、必ずしもシーム基準ａＳＭを中央とする必要はない。例えば重なり領域（ａk〜ｂk）におけるコスト値が図１４Ｂのように、ｘ座標値（ｘk）よりａk側の方に低コストの傾向が高い分布であったとする。この場合、β１＞β２としての値を設定し、図１４Ａのようにａk側の方に判定領域ＡＲ１を広げてシームＳＭの探索を行うことで、よりシームＳＭの精度が高くなる。
【００８９】
また図１４Ｃは、シーム基準ａＳＭが、重なり領域（ａk〜ｂk）のａk側の隅に近い位置に決定された場合を示している。
このような場合、当然に判定領域ＡＲ１の左端はｘ座標値＝ａkに制限される。そこでβ３＜β４として、判定領域ＡＲ１をｂk側に広めに確保するようにし、シームＳＭの探索範囲があまりにも狭すぎないようにすることが考えられる。
【００９０】
以上、判定領域ＡＲ１の設定例を例示したが、これら以外にも判定領域ＡＲ１の設定例は考えられる。
【００９１】
＜５．低解像度画像／高解像度画像の利用＞
ここで、シーム基準決定処理２０７と、シーム決定処理２０５で解像度の異なる画像から得た被写体情報を利用する例を説明する。
例えばシーム基準決定処理２０７では低解像度の画像から得た被写体情報を利用してシーム基準ａＳＭを決定する。
一方、シーム決定処理２０５では高解像度の画像から得た被写体情報を利用してシームＳＭを決定する。
これにより、性能を損なうことなくメモリ使用量、計算コストを低減することができる。
【００９２】
この場合、画像処理装置としては図５の構成に代えて図１５に示す構成をとることが考えられる。
図１５の構成は、図５と同じくパノラマ合成準備処理部２３、被写体情報検出部２０、シーム基準決定処理部２４、シーム決定処理部２１、画像合成部２２を備えるものとしている。この構成において、被写体情報検出部２０としては、低解像度の画像データについての被写体情報検出を行う低解像度被写体情報検出部２０Ｌと、高解像度の画像データについての被写体情報検出を行う高解像度被写体情報検出部２０Ｈとを備える。
低解像度被写体情報検出部２０Ｌと、高解像度被写体情報検出部２０Ｈは、いずれも図５で説明した動被写体検出処理２０２や検出・認識処理２０３を行う。
【００９３】
低解像度被写体情報検出部２０Ｌには、パノラマ合成準備処理部２３から低解像度とされたフレーム画像データＤＬが供給されるようにする。
一方でパノラマ合成準備処理部２３は、シーム基準決定処理部２４、シーム決定処理部２１、画像合成部２２、及び高解像度被写体情報検出部２０Ｈに対しては、高解像度のフレーム画像データＤＨを供給する。
【００９４】
低解像度被写体情報検出部２０Ｌは、低解像度のフレーム画像データＤＬについて、動被写体検出処理２０２や検出・認識処理２０３を行って、被写体情報をシーム基準決定処理部２４に供給する。
シーム基準決定処理部２４は、フレーム画像データＤＨについて、低解像度被写体情報検出部２０Ｌで得られた被写体情報を用いてシーム基準ａＳＭを決定する。そしてシーム基準ａＳＭの情報（又は判定領域ＡＲ１）の情報を、シーム決定処理部２１及び高解像度被写体情報検出部２０Ｈに受け渡す。
【００９５】
高解像度被写体情報検出部２０Ｈでは、高解像度のフレーム画像データＤＨにおいて、判定領域ＡＲ１の範囲内のみで被写体情報検出、つまり動被写体検出処理２０２や検出・認識処理２０３を行う。そして、被写体情報をシーム決定処理部２１に出力する。
シーム決定処理部２１は、高解像度被写体情報検出部２０Ｈからの被写体情報を用いて、シーム基準決定処理部２４で決定されたシーム基準ａＳＭに基づく判定領域ＡＲ１の範囲で、２次元コスト関数処理を行い、シームＳＭを決定する。
画像合成部２２のスティッチ処理は図５と同様である。
【００９６】
例えばこのような処理を行うことで、低解像度被写体情報検出部２０Ｌを有効利用し、シームＳＭの決定精度を損なわずに、シームＳＭの決定のためのメモリ使用量、計算コストを低減できる。シーム基準ａＳＭの決定については、大まかであっても、第２段階のシーム決定処理部２１で高解像度画像からの被写体情報によりシーム探索が行われることで精度が保たれるためである。
【００９７】
なお、低解像度のフレーム画像データを利用して被写体情報検出を行う例は他にも考えられる。
例えば図５の構成において、パノラマ合成準備処理部２３は、被写体情報検出部２０のみに低解像度のフレーム画像データを与えるようにしてもよい。つまり被写体情報検出部２０における動被写体検出処理２０２と検出・認識処理２０３は、低解像度のフレーム画像データを対象として行われるようにする。
この結果得られた被写体情報を用いて、シーム基準決定処理部２４でのシーム基準決定処理２０７と、シーム決定処理部２１でのシーム決定処理２０５が行われるようにする。
このようにすることで、さらにメモリ使用量、計算コストを低減することができる。
【００９８】
次にシーム基準決定処理２０７と、シーム決定処理２０５で解像度の異なる画像を利用する例を説明する。つまり被写体情報検出だけでなく、シーム基準ａＳＭとシームＳＭの決定処理自体にも解像度の異なる画像を利用するものである。
即ちシーム基準決定処理部２４は、第１の解像度の画像データ（低解像度のフレーム画像データＤＬ）を用いてシーム基準ａＳＭを決定する。一方、シーム決定処理部２１は、第１の解像度の画像データより高解像度のフレーム画像データＤＨを用いてシームＳＭを決定する。
【００９９】
例えば図１５において破線Ｚで示すように、シーム基準決定処理部２４には低解像度のフレーム画像データＤＬが供給されるようにする。
そしてシーム基準決定処理部２４は、フレーム画像データＤＬについて、低解像度被写体情報検出部２０Ｌで得られた被写体情報を用いてシーム基準ａＳＭを決定する。そしてシーム基準ａＳＭの情報（又は判定領域ＡＲ１）の情報を、シーム決定処理部２１及び高解像度被写体情報検出部２０Ｈに受け渡す。
高解像度被写体情報検出部２０Ｈ、シーム決定処理部２１、画像合成部２２の処理は上記と同様である。
【０１００】
つまりこの例は、被写体情報の検出だけでなく、シーム基準決定処理にも低解像度のフレーム画像データＤＬを用いるものである。
このような処理によっても、低解像度被写体情報検出部２０Ｌを有効利用し、シームＳＭの決定精度を損なわずに、シームＳＭの決定のためのメモリ使用量、計算コストを低減できる。シーム基準ａＳＭの決定については、低解像度のフレーム画像データＤＬを用いて大まかに行っても、第２段階のシーム決定処理部２１で高解像度画像からの被写体情報を用いて、高解像度のフレーム画像データＤＨを用いてシーム探索が行われることで精度が保たれるためである。
【０１０１】
シーム基準ａＳＭとシームＳＭの決定処理自体に解像度の異なる画像を利用する例は他にも考えられる。
例えば図５の構成において、シーム決定処理部２１には低解像度のフレーム画像データＤＬが供給され、これを用いてシーム基準ａＳＭを決定し、一方、シーム決定処理部２１には、高解像度のフレーム画像データＤＨが供給され、これを用いてシームＳＭを決定するようにしてもよい。
【０１０２】
以上をまとめると、低解像度のフレーム画像データの利用例としては次のような例が想定できる。
・シーム基準ａＳＭの決定に用いる被写体情報の検出に低解像度のフレーム画像データを用いる。
・シーム基準ａＳＭの決定及びシームＳＭの決定の両方に用いる被写体情報の検出に低解像度のフレーム画像データを用いる。
・シーム基準ａＳＭを低解像度のフレーム画像データを用いて決定する。
これらにより、シームＳＭの決定精度を損なわずに、シームＳＭの決定のためのメモリ使用量、計算コストを低減できる。
【０１０３】
＜６．パノラマ合成処理例Ｉ＞
以下では、図５や図１５のような機能構成で実行される、本実施の形態のパノラマ合成処理例を説明していく。
まず、図１６でパノラマ合成処理例Ｉを説明する。なお図１６（及び後述する図１７、図２０）は、主に図５に示した各機能構成で実行される処理要素に、いくつかの制御要素を付加してフローチャート化したものである。図１６の処理において図５の処理要素と同名の処理については、以下の説明で図５の対応する処理を付記するのみとし、重複した詳しい説明は避ける。
【０１０４】
ステップＦ１００の画像撮像は、パノラマ撮像モードにて１枚の静止画像を撮像し、撮像装置１内で１枚のフレーム画像データとして取り込む処理を意味する。即ち制御部１０３の制御により、撮像素子部１０１で得られる撮像信号が画像処理部１０２で撮像信号処理され、１枚のフレーム画像データとなる。
このフレーム画像データは、そのまま画像処理部１０２でのパノラマ合成処理（図５の各部によるステップＦ１０１以降の処理）に供されても良いし、一旦メモリ部１０５に取り込まれた後、１個のフレーム画像データとして画像処理部１０２でのパノラマ合成処理に供されてもよい。
【０１０５】
画像処理部１０２及び制御部１０３によって実現される図５の各部（パノラマ合成準備処理部２３、被写体情報検出部２０、シーム基準決定処理部２４、シーム決定処理部２１、画像合成部２２）では、ステップＦ１００に基づくフレーム画像データの入力に応じて、ステップＦ１０１以降の処理を行う。
ステップＦ１０１でパノラマ合成準備処理部２３は、前処理を行う（図５の前処理２００）。
ステップＦ１０２でパノラマ合成準備処理部２３は、画像レジストレーション処理を行う（図５の画像レジストレーション処理２０１）。
ステップＦ１０３で被写体情報検出部２０は、動被写体検出処理を行う（図５の動被写体検出処理２０２）。
ステップＦ１０４で被写体情報検出部２０は、検出・認識処理を行う（図５の検出・認識処理２０３）。
ステップＦ１０５でパノラマ合成準備処理部２３は、再投影処理を行う（図５の再投影処理２０４）。
【０１０６】
ステップＦ１０６では、ステップＦ１０５までの処理データのメモリ部１０５への一時保存を行う。即ち、画像のピクセル情報、画像レジストレーション情報、動被写体検出情報、検出・認識情報などのパノラマ合成に用いる処理データを一時保存する。またフレーム画像データ自体も、この時点で保存されていなければ、メモリ部１０５に一時保存する。
これはパノラマ合成準備処理部２３及び被写体情報検出部２０がシーム決定処理部２１に受け渡す各種データや画像を一時記憶させる処理となる。
以上の処理が、ステップＦ１０７で撮像終了と判断されるまで繰り返される。
【０１０７】
撮像終了とされ、パノラマ画像生成のためのｎフレームのフレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）、及びこれらについての被写体情報等が確保されたら、処理はステップＦ１０８に進む。
ステップＦ１０８では、シーム基準決定処理部２４が、シーム基準ａＳＭ０〜ａＳＭ（ｎ−２）を決定する処理を行う（図５のシーム基準決定処理２０７）
即ちフレーム画像データＦＭ＃０、ＦＭ＃１間のコスト関数ｆ0、フレーム画像データＦＭ＃１、ＦＭ＃２間のコスト関数ｆ1、・・・フレーム画像データＦＭ＃（ｎ−２）、ＦＭ＃（ｎ−１）間のコスト関数ｆn-2を設定する。
そして、上述の（数４）を最小化するｘ0、ｘ1・・・ｘn-2を求める。
求められたｘ0、ｘ1・・・ｘn-2が、シーム基準ａＳＭ０〜ａＳＭ（ｎ−２）のｘ座標値として決定される。
【０１０８】
続いてステップＦ１０９〜Ｆ１１１で、シーム決定処理部２１が、シームＳＭ０〜ＳＭ（ｎ−２）を決定する処理を行う（図５のシーム決定処理２０５）。
まずステップＦ１０９でシーム決定処理部２１は、変数Ｍ＝０にセットする。そしてステップＦ１１０で、シーム決定処理部２１はシーム基準ａＳＭ（Ｍ）についての判定領域ＡＲ１内で、シームＳＭ（Ｍ）を決定する処理を行う。
まず最初は、変数Ｍ＝０であるので、フレーム画像データＦＭ＃０、ＦＭ＃１の重なり領域内において、シーム基準ａＳＭ０としてのｘ座標値ｘ0に基づいて設定される判定領域ＡＲ１内で、（数５）又は（数６）の２次元コスト関数についてコストを最小化する経路を求める演算を行い、シームＳＭ０を決定する。
【０１０９】
そしてステップＦ１１１で変数Ｍ≧（ｎ−２）となるまで、つまりすべてのシームＳＭ０〜ＳＭ（ｎ−２）の算出を終えるまで、シーム決定処理部２１はステップＦ１１２で変数Ｍをインクリメントしながら、ステップＦ１１０の処理を行う。つまりシームＳＭ１、ＳＭ２，ＳＭ３・・・と、順次シームＳＭを決定していく。
シームＳＭ（ｎ−２）までを決定したら、ステップＦ１１１からＦ１１３に進む。
【０１１０】
ステップＦ１１３では画像合成部２２がスティッチ処理２０６を実行する。即ち各シームＳＭ０〜ＳＭ（ｎ−２）で、各フレーム画像データをつなぎ合わせる。つなぎ合わせる際にはブレンド処理も行う。
以上で、図４Ａに示したような１つのパノラマ画像データが生成される。
【０１１１】
上述したとおり、この図１６のパノラマ合成処理例Ｉによれば、まずスイープ方向に垂直な直線状のシーム基準ａＳＭ０〜ａＳＭ（ｎ−１）が求められ、各シーム基準ａＳＭ０〜ａＳＭ（ｎ−２）に基づいた判定領域ＡＲ１内で、不定形状線のシームＳＭ０〜ＳＭ（ｎ−２）が決定される。
この２段階の処理により、低メモリ容量、低計算コストとして処理負担を重くせずに、精度が高く自由度の高いシームを設定することが可能となる。結果として、高速な処理で高品質なパノラマ画像を実現できる。
【０１１２】
＜７．パノラマ合成処理例II＞
実施の形態のパノラマ合成処理例IIを図１７で説明する。
パノラマ合成処理例IIは、被写体情報検出部２０が、パノラマ画像生成に用いる一連のｎ個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出する。そしてシーム基準決定処理部２４は、（ｍ＋１）個（但しｍ＜ｎ）のフレーム画像データ群毎にｍ個以下のｌ個（ｍ≧ｌ：ｌは少なくとも１以上）のシーム基準ａＳＭを決定する処理を、フレーム画像データの入力過程で順次行う。
【０１１３】
つまり、ｎ個の全てのフレーム画像データの入力が完了する前にシーム基準決定処理２０７を順次進めていく。
この場合に、（ｍ＋１）個のフレーム画像データ群で、各シームを求めることで、その複数のフレーム画像データの全体を考慮したシーム基準が決定されるようにする。
【０１１４】
さらに、シーム基準ａＳＭが決定されたフレーム画像データについては、その後のパノラマ合成に使用しないことが明らかな画像部分が確定する。
例えば図９に示した２つのフレーム画像データＦＭ＃（ｋ）、ＦＭ＃（ｋ＋１）の関係で言えば、シーム基準ａＳＭ（ｋ）が決定され、判定領域ＡＲ１が決まることで、フレーム画像データＦＭ＃（ｋ）については、ｘ座標値（ｘk＋β）からｘ座標値（ｂk）の範囲の画像は不要となる。一方、フレーム画像データＦＭ＃（ｋ＋１）については、ｘ座標値（ｘk−β）からｘ座標値（ａk）の範囲の画像は不要となる。このように、シーム基準ａＳＭ決定に伴う判定領域ＡＲ１の決定により、各フレーム画像データについては、その後不要となる領域が確定する。従って、必要な画像部分のみを、その後のパノラマ合成に用いる画像データとして記憶し、不要な部分は記憶しない。これにより、処理過程での記憶しておく画像容量を削減することができる。
【０１１５】
図１７において、ステップＦ２００〜Ｆ２０６は、図１６のステップＦ１００〜Ｆ１０６と同様であるため、説明を省略する。
そしてこの図１７の処理では、ステップＦ２０７で未決定のシーム基準ａＳＭの数がｍ個以上となるまで、ステップＦ２００で得られるフレーム画像データの入力毎に、ステップＦ２０１〜Ｆ２０６の処理を繰り返す。
【０１１６】
シーム基準決定処理部２４はステップＦ２０７の判断に応じて処理を実行する。
即ちステップＦ２０７において、未決定のシーム基準ａＳＭがｍ個以上になったと判断される場合、つまり一時保存した、シーム基準ａＳＭが確定されていないフレーム画像データがｍ＋１個となった場合、シーム基準決定処理部２４が、ステップＦ２０８においてｍ個のシームに対して前述の手法で（数４）の最適化を行う。その最適化結果のｍ個の解のうち撮像開始順からｌ（ｌ≦ｍ）個のシーム基準ａＳＭを確定させる。
さらにステップＦ２０９でシーム基準決定処理部２４は、シーム基準ａＳＭを確定したフレーム画像データについてメモリ部１０５に保存させる。
この場合、シーム基準ａＳＭが決定され、判定領域ＡＲ１が確定したため、最終的にパノラマ画像に寄与しない画素データ部分を保存する必要はなく、必要な部分のみを保存すればよい。従ってフレーム画像データにおける不要部分の画像データを消去する。
【０１１７】
以上のステップＦ２００〜Ｆ２０９の処理を、ステップＦ２１０での撮像終了判定が成立するまで繰り返す。ステップＦ２１０の撮像終了とは、制御部１０３がパノラマ撮像モードでの撮像終了の判定を行う処理である。撮像終了の条件は、
・撮像者がシャッターボタンを離した
・規定の画角の撮像が終了した
・規定の撮像枚数を超過した
・規定のスイープ方向と垂直方向の手振れ量を超過した
・その他のエラー
などがある。
【０１１８】
上記ステップＦ２０７，Ｆ２０８，Ｆ２０９の処理を図１８，図１９で説明する。
なお、一例としてステップＦ２０７における未決定のシーム基準ａＳＭ数の判断基準のｍ＝５とする。またステップＦ２０８で確定させるシーム数ｌ＝１とする。
図１８は、順次入力されてくるフレーム画像データＦＭ＃０、ＦＭ＃１・・・を示している。
ステップＦ２００で最初のフレーム画像データＦＭ＃０が入力された後、５番目のフレーム画像データＦＭ＃４が入力された時点までの期間は、未決定のシーム基準ａＳＭの数は４以下であるため、各フレーム画像データ（ＦＭ＃０〜ＦＭ＃４）の入力毎にステップＦ２０１〜Ｆ２０６が繰り返される。
６番目（つまりｍ＋１個目）のフレーム画像データＦＭ＃５が入力され、ステップＦ２０６までの処理が行われた時点で、ステップＦ２０７では、未決定のシーム基準ａＳＭの数が５であるため、未決定シーム基準数≧ｍとなり、ステップＦ２０８に進むことになる。
【０１１９】
この場合、シーム基準決定処理部２４はステップＦ２０８で、（ｍ＋１）個のフレーム画像データ群（つまりフレーム画像データＦＭ＃０〜ＦＭ＃５）について、隣接フレーム画像データ間のｍ個の各シーム基準ａＳＭ０〜ａＳＭ４を、それぞれのフレーム画像データについての動被写体検出処理２０２（ステップＦ２０３）及び検出・認識処理２０３（ステップＦ２０４）で検出された被写体情報を用いた最適位置判定処理によって求める。そしてｌ個（例えば１個）のシーム基準ａＳＭを決定する。
このときの最適位置判定処理は、フレーム画像データＦＭ＃０とＦＭ＃１間、ＦＭ＃１とＦＭ＃２間、ＦＭ＃２とＦＭ＃３間、ＦＭ＃３とＦＭ＃４間  ＦＭ＃４とＦＭ＃５間の５つのシーム基準ａＳＭ０〜ａＳＭ４を最適化する処理である。即ち、各隣接フレーム画像データについての上記（数１）のコスト関数ｆk （又は上記（数３）のｆ’k）で求められる５つのシーム基準ａＳＭ０〜ａＳＭ４について、上記（数４）により最適化されるようにする。
そして最適化された５つのシーム基準ａＳＭ０〜ａＳＭ４の内、順番が早い方からのｌ個、例えば１個のシーム基準ａＳＭ０を確定させる。
図１９Ａで模式的に示す。図１９Ａには、フレーム画像データＦＭ＃０〜ＦＭ＃５をパノラマ座標上に重ねた状態で示しているが、各隣接フレーム画像データ間のシーム基準ａＳＭ０〜ａＳＭ４としてのｘ座標値ｘ0〜ｘ4を上記（数４）により最適化する。
そして先頭の１個のシーム基準ａＳＭ０が、ｘ座標値ｘ0であるとして確定させる。
【０１２０】
ステップＦ２０９ではシーム基準が確定されたフレーム画像データの保存を行うが、この場合、図１９Ｂに示すようにフレーム画像データＦＭ＃０の一部を保存することとなる。つまりシーム基準ａＳＭ０が確定され、次の処理であるシーム決定のための判定領域ＡＲ１が決まることで、フレーム画像データＦＭ＃０の画像領域は、パノラマ画像に使用する可能性のある領域ＡＵと、パノラマ画像に使用しないことが確定した領域ＡＮＵに分けられることとなる。ステップＦ２０９では、領域ＡＵのみを保存すればよい。
そしてステップＦ２０６で一時保存したフレーム画像データＦＭ＃０の全体の画像データは、この時点で消去すれば良い。
【０１２１】
例えば以上のように、最初のステップＦ２０８，Ｆ２０９では、図１８Ａに示すように、フレーム画像データＦＭ＃０〜ＦＭ＃５を対象として５つのシーム基準ａＳＭ０〜ａＳＭ＃４の最適化を行い、１つのシーム基準、即ちフレーム画像データＦＭ＃０とＦＭ＃１間のシーム基準ａＳＭ０を決定し、必要な画像領域を保存する。
その後、さらに後続のフレーム画像データＦＭ＃６が入力され、ステップＦ２０１〜Ｆ２０６が行われる。
上記の最初のステップＦ２０８では、１つのシーム基準ａＳＭ０を確定させたのみであるため、フレーム画像データＦＭ＃６が入力後のステップＦ２０７では、再び未決定のシーム基準数が５となる。
【０１２２】
そこで今度は図１８Ｂに示すように、ステップＦ２０８で、フレーム画像データＦＭ＃１〜ＦＭ＃６を対象として５つのシーム基準ａＳＭ１〜ａＳＭ５の最適化を行い、１つのシーム基準、即ちフレーム画像データＦＭ＃１とＦＭ＃２間のシーム基準ａＳＭ１を決定する。そしてステップＦ２０９でフレーム画像データＦＭ＃１について必要な画像領域を保存する。
さら同様に、フレーム画像データＦＭ＃７の入力後は、図１８Ｃに示すように、ステップＦ１０８で、フレーム画像データＦＭ＃２〜ＦＭ＃７を対象として５つのシーム基準ａＳＭ２〜ａＳＭ６の最適化を行い、１つのシーム基準、即ちフレーム画像データＦＭ＃２とＦＭ＃３間のシーム基準ａＳＭ２を決定する。そしてステップＦ１０９でフレーム画像データＦＭ＃２について必要な画像領域を保存する。
【０１２３】
このように、シーム基準決定処理部２４は、（ｍ＋１）個のフレーム画像データ群毎に、隣接フレーム画像データ間のｍ個の各シーム基準ａＳＭを最適位置判定処理によって求め、ｍ個以下のｌ個のシーム基準ａＳＭを確定させる処理を、フレーム画像データの入力過程で順次実行していく。
なお、ここではｌ＝１として１個のシーム基準を決定させていったが、ｍ＝５の場合、確定させるシーム基準数ｌは２個〜５個であってもよい。
【０１２４】
図１７のステップＦ２００〜Ｆ２０９の処理は、その後もステップＦ２１０で撮像終了と判断されるまで継続される。
撮像終了となったら、ステップＦ２１１で、シーム基準決定処理部２４が、その時点で未決定のシーム基準ａＳＭを、上記同様に決定していく。結果として、全部でｎ個のフレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）に関し、図４Ｂに示したような全てのシーム基準ａＳＭ０〜ａＳＭ（ｎ−２）が決定されることになる。
【０１２５】
続いてステップＦ２１２〜Ｆ２１５でシーム決定処理部２１が、シームＳＭ０〜ＳＭ（ｎ−２）を決定する処理を行う（図５のシーム決定処理２０５）。
まずステップＦ２１２でシーム決定処理部２１は、変数Ｍ＝０にセットする。そしてステップＦ２１３で、シーム決定処理部２１はシーム基準ａＳＭ（Ｍ）についての判定領域ＡＲ１内で、シームＳＭ（Ｍ）を決定する処理を行う。
まず最初は、変数Ｍ＝０であるので、フレーム画像データＦＭ＃０、ＦＭ＃１の重なり領域内において、シーム基準ａＳＭ０としてのｘ座標値ｘ0に基づいて設定される判定領域ＡＲ１内で、（数５）又は（数６）の２次元コスト関数についてコストを最小化する経路を求める演算を行い、シームＳＭ０を決定する。
【０１２６】
そしてステップＦ２１４で変数Ｍ≧（ｎ−２）となるまで、つまりすべてのシームＳＭ０〜ＳＭ（ｎ−２）の算出を終えるまで、シーム決定処理部２１はステップＦ２１５で変数Ｍをインクリメントしながら、ステップＦ２１３の処理を行う。つまりシームＳＭ１、ＳＭ２，ＳＭ３・・・と、順次シームＳＭを決定していく。
シームＳＭ（ｎ−２）までを決定したら、ステップＦ２１４からＦ２１６に進む。
【０１２７】
ステップＦ２１６では画像合成部２２がスティッチ処理２０６を実行する。即ち各シームＳＭ０〜ＳＭ（ｎ−２）で、各フレーム画像データをつなぎ合わせる。つなぎ合わせる際にはブレンド処理も行う。
以上で、図４Ａに示したような１つのパノラマ画像データが生成される。
【０１２８】
この図１７のパノラマ合成処理例IIの場合も、まずスイープ方向に対して垂直な直線状のシーム基準ａＳＭ０〜ＳＭ（ｎ−１）が求められ、各シーム基準ａＳＭ０〜ａＳＭ（ｎ−２）に基づいた判定領域ＡＲ１内で、不定形状線のシームＳＭ０〜ＳＭ（ｎ−２）が決定される。この２段階の処理により、低メモリ容量、低計算コストとして処理負担を重くせずに、精度が高く自由度の高いシームを設定することが可能となる。結果として、高速な処理で高品質なパノラマ画像を実現できる。
【０１２９】
さらにこの図１７のパノラマ合成処理例IIによれば、全フレーム画像データの撮像終了を待たずに、シーム基準決定処理２０７が順次行われていく。
そして全画像データを保存するのはステップＦ２０６における一時保存で最大でフレーム画像データのｍ＋１枚分のみである。ｎ−ｍ−１個分のフレーム画像データは、パノラマ画像に寄与する可能性のある部分の画素データのみ保存すれば良いことになり、必要なメモリ容量が大幅に削減される。
【０１３０】
例えば通常のパノラマ合成処理の場合で、単に２枚間のシームをコスト関数で決めるだけでなく、全フレーム画像データを考慮して各シームを最適化するには、ｎ個のフレーム画像データが全て入力された後に、各シーム（ここで言うシームは本実施の形態の場合はシーム基準ａＳＭに相当）を確定させる必要がある。
すると、処理過程で全画像の撮像が終了するまで、ｎ個のフレーム画像データを保存しておく必要があり、一時保存に必要なメモリ容量が大きくなる。特に高解像度化が進み、１枚のフレーム画像データのデータサイズが大きくなると、ｎ個のフレーム画像データの保存に必要なメモリ容量は膨大となる。これはメモリの利用効率の悪化が生じ、またメモリ制約の大きい組み込み機器においては、撮像画像の解像度を下げたり、撮像画像枚数を減らすなどの対応をしなければ実現不可能な場合もある。
【０１３１】
これに対しパノラマ合成処理例IIの場合、上記のように必要なメモリ容量が大幅に削減されるため、メモリ制約の大きい撮像装置１等でも、解像度を下げたり、撮像画像枚数を少なくするということなく、高画質なパノラマ合成の生成が可能となる。
即ち本実施の形態としてパノラマ合成処理例IIを行うようにすれば、撮像、位置合わせ、各種検出処理などの処理が終了した少数の画像群（ｍ＋１枚：例えば数枚）から徐々にシーム基準ａＳＭを決定していき、これを繰り返すことにより漸進的にパノラマ画像全体のシーム基準ａＳＭを決定する。このため、すでに必要なくなった画像データを消去することが可能になり、メモリ利用効率が大幅に向上する。特に搭載メモリが限られている組み込み機器においては、従来では不可能であった高解像度、広画角でのパノラマ合成が可能になる。
【０１３２】
その上で、（ｍ＋１）個のフレーム画像データ群で、その複数のフレーム画像データの全体を考慮して最適なシーム基準ａＳＭが求められていく。最終的な不定形状線のシームＳＭ０〜ＳＭ（ｎ−２）は、複数のフレーム画像データの全体を考慮して決められたシーム基準ａＳＭ〜ａＳＭ（ｎ−２）の位置の近傍となる。結果、決定されるシームＳＭ０〜ＳＭ（ｎ−２）が適切な位置となる。
【０１３３】
＜８．パノラマ合成処理例III＞
実施の形態のパノラマ合成処理例IIIを図２０により説明する。
このパノラマ合成処理例IIIは、全画像の撮像終了を待たずに、シーム基準決定処理だけでなくシーム決定処理、及びシームＳＭが確定した画像についてのスティッチ処理まで行うものである。
【０１３４】
このパノラマ合成処理例IIIの場合、被写体情報検出部２０は、パノラマ画像生成に用いる一連のｎ個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出する。
またシーム基準決定処理部２４は、（ｍ＋１）個（但しｍ＜ｎ）のフレーム画像データ群毎にｍ個以下のｌ個（ｍ≧ｌ：ｌは少なくとも１以上）のシーム基準ａＳＭを決定する処理を、フレーム画像データの入力過程で順次行う。
以上は上述のパノラマ合成処理例IIと同様である。
但しパノラマ合成処理例IIIでは、加えて、シーム決定処理部２１は、シーム基準決定処理部２４でｍ個以下のシーム基準ａＳＭを決定させる処理が行われる毎に、決定されたシーム基準ａＳＭに基づいて設定される判定領域ＡＲ１内でシームＳＭを決定する処理を行う。
さらに画像合成部２２は、シームＳＭが決定されたフレーム画像データについて、順次スティッチ処理を行う。
【０１３５】
図２０においてステップＦ３００〜Ｆ３０８は、図１７のステップＦ２００〜Ｆ２０８と同様であるため繰り返しの説明は避ける。
この図２０の場合、シーム基準決定処理部２４がステップＦ３０８でｌ個のシーム基準ａＳＭを決定させる毎に、ステップＦ３０９でシーム決定処理部２１が、ｌ個のシームＳＭを決定させる処理を行う。つまり決定されたシーム基準ａＳＭに基づく判定領域ＡＲ１内で、（数５）又は（数６）の２次元コスト関数についてコストを最小化する経路を求める演算を行い、シームＳＭを決定する。
さらにステップＦ３１０では、画像合成部２２がスティッチ処理を行う。
以上の処理を撮像終了まで繰り返す。
【０１３６】
ステップＦ３１１で撮像終了と判断された後は、ステップＦ３１２でシーム基準決定処理部２４が残りのシーム基準ａＳＭを決定する。そして決定されたシーム基準ａＳＭに基づいて、ステップＦ３１３でシーム決定処理部２１がシームＳＭを決定させる処理を行う。
その後ステップＦ３１４で画像合成部２２が確定された残りのシームに基づくスティッチ処理を行って、パノラマ画像データを完成させる。
【０１３７】
この図２０の処理によっても図１７の処理と同様な効果が得られる。その上でこの図２０の処理の場合、図１７の処理では必要だったｎ−ｍ−１枚分のフレーム画像データの、パノラマ画像に使用する画素部分の画像データの記憶も必要無くなり、さらなるメモリ量の削減が可能となる。
さらに画像撮像中にスティッチ処理までをも開始するため、全体のパノラマ合成処理時間をさらに短くすることもできる。
【０１３８】
＜９．プログラム及びコンピュータ装置への適用＞
以上、図５又は図１５の画像処理装置を搭載した撮像装置１０としての実施の形態を説明してきたが、上述したパノラマ合成処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。
【０１３９】
実施の形態のプログラムは、上述の実施の形態で示した処理を、例えばＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）等の演算処理装置に実行させるプログラムである。
即ちこのプログラムは、パノラマ画像生成に用いる一連のｎ個（ｎは２以上の自然数）のフレーム画像データにおける、隣接する２つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する２つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理を演算処理装置に実行させる。
また上記シーム基準決定処理で決定されたシーム基準に基づいて設定される判定領域内のみで、隣接する２つのフレーム画像データについての被写体情報を用いて該隣接する２つのフレーム画像データ間のシームを決定するシーム決定処理を演算処理装置に実行させる。
なお、さらにパノラマ画像生成に用いる一連のｎ個のフレーム画像データについての被写体情報を検出する被写体情報検出を演算処理装置に実行させるようにしてもよい。
【０１４０】
具体的には、実施の形態のプログラムは、図１６、図１７、図２０に示したパノラマ合成処理を演算処理装置に実行させるプログラムとすればよい。
このようなプログラムにより、上述したパノラマ合成処理を実行する画像処理装置を、演算処理装置を用いて実現できる。
【０１４１】
このようなプログラムはコンピュータ装置等の機器に内蔵されている記録媒体としてのＨＤＤや、ＣＰＵを有するマイクロコンピュータ内のＲＯＭ等に予め記録しておくことができる。
あるいはまた、フレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＭＯ(Magnet optical)ディスク、ＤＶＤ(Digital Versatile Disc)、ブルーレイディスク、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、ＬＡＮ(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
【０１４２】
またこのようなプログラムによれば、実施の形態の画像処理装置の広範な提供に適している。例えばパーソナルコンピュータ、携帯型情報処理装置、携帯電話機、ゲーム機器、ビデオ機器、ＰＤＡ（Personal Digital Assistant）等にプログラムをダウンロードすることで、当該携帯型情報処理装置等を、本開示の画像処理装置とすることができる。
例えば、図２１に示されるようなコンピュータ装置において、実施の形態の撮像装置１におけるパノラマ合成処理と同様の処理が実行されるようにすることもできる。
【０１４３】
図２１において、コンピュータ装置７０のＣＰＵ７１は、ＲＯＭ７２に記憶されているプログラム、または記憶部７８からＲＡＭ７３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ７３にはまた、ＣＰＵ７１が各種の処理を実行する上において必要なデータなども適宜記憶される。
ＣＰＵ７１、ＲＯＭ７２、およびＲＡＭ７３は、バス７４を介して相互に接続されている。このバス７４にはまた、入出力インターフェース７５も接続されている。
【０１４４】
入出力インターフェース７５には、キーボード、マウスなどよりなる入力部７６、ＣＲＴ（Cathode Ray Tube）やＬＣＤ、或いは有機ＥＬパネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力部７７、ハードディスクなどより構成される記憶部７８、モデムなどより構成される通信部７９が接続されている。通信部７９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１４５】
入出力インターフェース７５にはまた、必要に応じてドライブ８０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア８１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部７８にインストールされる。
【０１４６】
上述したパノラマ合成処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０１４７】
この記録媒体は、例えば、図２１に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（ブルーレイディスク（Blu-ray Disc（登録商標）、CD-ROM（Compact Disc - Read Only Memory）、DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア８１により構成される。或いは、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているＲＯＭ７２や、記憶部７８に含まれるハードディスクなどでも構成される。
【０１４８】
このようなコンピュータ装置７０は、通信部７９による受信動作や、或いはドライブ８０（リムーバブルメディア８１）もしくは記録部７８での再生動作等により、パノラマ画像生成のためのｎフレームのフレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）を入力した際に、ＣＰＵ７１がプログラムに基づいて、図５や図１５の機能を実現し、上述のパノラマ合成処理を実行する。
これにより入力されたｎフレームのフレーム画像データＦＭ＃０〜ＦＭ＃（ｎ−１）から１枚のパノラマ画像データが生成されることになる。
【０１４９】
＜１０．変形例＞
以上、実施の形態について説明してきたが、本開示の画像処理装置は多様な変形例が考えられる。
本開示の画像処理装置は、上述の撮像装置１、コンピュータ装置７０に搭載するほか、撮像機能を有する携帯電話機、ゲーム機、ビデオ機器、撮像機能を有さないがフレーム画像データを入力する機能を有する携帯電話機、ゲーム機、ビデオ機器、情報処理装置でも、本開示の画像処理装置を搭載することは有用である。
例えば撮像機能を有さない機器の場合、入力されてくる一連のフレーム画像データに対し、図１６，図１７，図２０のような処理を行うことで、上述した効果を奏するパノラマ合成処理を実現できる。
また被写体情報とともにフレーム画像データが入力される機器を考えれば、少なくとも被写体検出処理２０２を行う必要はない。
【０１５０】
即ち本開示の画像処理装置が、撮像装置１に内蔵されたり、或いはコンピュータ装置７０のような情報処理装置において実現されたり、さらには単体機器として実現される場合、その画像処理装置は、シーム決定処理部２１、シーム基準決定処理部２４を備える。また画像処理装置としては加えて画像合成部２２や被写体情報検出部２０を含む場合もある。
【０１５１】
また実施の形態では、シーム基準ａＳＭはスイープ方向に垂直な直線とし、こうすることがシーム基準決定処理を簡易化する点で好適であるが、例えばシーム基準ａＳＭをスイープ方向に垂直ではない傾きを持った直線、或いは非直線とすることも考えられる。
また図１０での説明ではシームＳＭは結果的に不定形状の線となるとしたが、必ず曲線となるようにしたり、もしくは必ず折れ線、或いは直線となるように設定をしてもよい。例えば２次元コスト探索のサンプル点を少なくしたうえで線分をつなげて折れ線のシームＳＭを設定することで、シーム決定処理を簡略化することができる。
【０１５２】
なお本技術は以下のような構成も採ることができる。
（１）パノラマ画像生成に用いる一連のｎ個（ｎは２以上の自然数）のフレーム画像データにおける、隣接する２つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する２つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理部と、
上記シーム基準決定処理部で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する２つのフレーム画像データ間のシームを決定するシーム決定処理部と、
を備えた画像処理装置。
（２）上記シーム基準決定処理部で決定される上記シーム基準は、一連のフレーム画像データの撮像時のスイープ方向に対して垂直な直線状の基準線とされる上記（１）に記載の画像処理装置。
（３）上記シーム基準決定処理部は、上記被写体情報を反映した１次元のコスト関数を最適化することによって、上記シーム基準を決定する上記（１）又は（２）に記載の画像処理装置。
（４）上記シーム決定処理部は、上記被写体情報を反映した２次元のコスト関数を最適化することによって、上記シームを決定する上記（１）乃至（３）のいずれかに記載の画像処理装置。
（５）上記シームは、不定形状線である上記（４）に記載の画像処理装置。
（６）上記判定領域は、隣接する２つのフレーム画像データの重なり領域のうちで、上記シーム基準としての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる領域である上記（１）乃至（５）のいずれかに記載の画像処理装置。
（７）上記判定領域を設定する上記所定距離は可変設定される上記（６）に記載の画像処理装置。
（８）上記シーム決定処理部で決定された各シームに基づいて、各フレーム画像データを合成していくことで、上記ｎ個のフレーム画像データを用いたパノラマ画像データを生成する画像合成部をさらに備えた上記（１）乃至（７）のいずれかに記載の画像処理装置。
（９）上記画像合成部は、上記シームとしての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる隣接する２つのフレーム画像データの範囲を対象として、ブレンド処理を行って２つのフレーム画像データを合成する上記（８）に記載の画像処理装置。
（１０）上記被写体情報検出部は、パノラマ画像生成に用いる一連のｎ個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出し、
上記シーム基準決定処理部は、（ｍ＋１）個（但しｍ＜ｎ）のフレーム画像データ群毎にｍ個以下のシーム基準を決定する処理を、上記入力過程で順次行う上記（１）乃至（９）のいずれかに記載の画像処理装置。
（１１）上記シーム決定処理部は、上記シーム基準決定処理部で上記ｍ個以下のシーム基準を決定させる処理が行われる毎に、決定された各シーム基準に基づいて設定される判定領域内で上記各シームを決定する処理を行う上記（１０）に記載の画像処理装置。
（１２）パノラマ画像生成に用いる一連のｎ個のフレーム画像データについての被写体情報を検出する被写体情報検出部をさらに備えた上記（１）乃至（１１）のいずれかに記載の画像処理装置。
（１３）上記シーム基準決定処理部は、第１の解像度の画像データを用いて上記シーム基準を決定し、
上記シーム決定処理部は、上記第１の解像度の画像データより高解像度の画像データを用いて上記シームを決定する上記（１）乃至（１２）のいずれかに記載の画像処理装置。
（１４）上記被写体情報検出部として、低解像度の画像データについての被写体情報検出を行う低解像度被写体情報検出部と、高解像度の画像データについての被写体情報検出を行う高解像度被写体情報検出部とを備え、
上記シーム基準決定処理部は、フレーム画像データについて上記低解像度被写体情報検出部で得られた被写体情報を用いて上記シーム基準を決定し、
上記シーム決定処理部は、フレーム画像データの少なくとも上記判定領域内の画像について上記高解像度被写体情報検出部で得られた被写体情報を用いて上記シームを決定する上記（１２）に記載の画像処理装置。
【符号の説明】
【０１５３】
１  撮像装置、２０  被写体情報検出部、２１  シーム決定処理部、２２  画像合成部、２３  パノラマ合成準備処理部、２４  シーム基準決定処理部、１００  レンズユニット、１０１  撮像素子、１０２  画像処理部、１０３  制御部、１０４  表示部、１０５  メモリ部、１０６  記録デバイス、１０７  操作部、１０８  センサー部
【図１】
2013228896.tif 000010
【図２】
2013228896.tif 000011
【図３】
2013228896.tif 000012
【図４】
2013228896.tif 000013
【図５】
2013228896.tif 000014
【図６】
2013228896.tif 000015
【図７】
2013228896.tif 000016
【図８】
2013228896.tif 000017
【図９】
2013228896.tif 000018
【図１０】
2013228896.tif 000019
【図１１】
2013228896.tif 000020
【図１２】
2013228896.tif 000021
【図１３】
2013228896.tif 000022
【図１４】
2013228896.tif 000023
【図１５】
2013228896.tif 000024
【図１６】
2013228896.tif 000025
【図１７】
2013228896.tif 000026
【図１８】
2013228896.tif 000027
【図１９】
2013228896.tif 000028
【図２０】
2013228896.tif 000029
【図２１】
2013228896.tif 000030