(57)【要約】【課題】  パノラマ撮像において動体が存在する場合、より少ないメモリ容量で、パノラマ画像に不要な動体を除去する技術が求められる。【解決手段】  複数の画像のそれぞれに対して第１領域と第２領域を設定し、これら第１領域の画像と第２領域に対して、記憶手段への記憶および削除を行う制御手段と、複数の画像のそれぞれにおいて、第１領域が所定の条件を満たせば、この第１領域の画像を用い、所定の条件を満たさなければ、この第１領域の画像を切り出した画像よりも前に撮像された画像から切り出した第２領域の画像のうち、この第１領域と重複する画角を有し、かつ、所定の条件を満たす画像を用いて、パノラマ画像を生成する生成手段を有する撮像装置を提供する。【選択図】  図６
2018207177.tif 000002
【特許請求の範囲】
【請求項１】
時間的に連続する複数の画像を撮像する撮像手段と、
前記複数の画像のそれぞれに対して第１領域、前記複数の画像のそれぞれの一部の画像に対して第２領域を設定し、前記複数の画像の撮像と並行して、前記複数の画像における第１領域と第２領域とに対して、記憶手段への記憶および前記記憶手段からの削除を制御する制御手段と、
前記複数の画像のそれぞれにおいて、前記第１領域が所定の条件を満たせば、該第１領域の画像を用い、前記第１領域が前記所定の条件を満たさなければ、該第１領域の画像を切り出した画像よりも前に撮像された画像から切り出した第２領域の画像のうち、該第１領域と重複する画角を有し、かつ、前記所定の条件を満たす画像を用いて、パノラマ画像を生成する生成手段を有し、
前記制御手段は、前記第１領域が前記所定の条件を満たせば、該第１領域と重複する画角を有し、かつ、該第１領域を切り出した画像よりも前に撮像された画像から切り出した第２領域を前記記憶手段から削除することを特徴とする撮像装置。
【請求項２】
動体を検出する動体検出手段を有し、
前記所定の条件は、前記動体が存在しないことであることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記動体検出手段は、重複する画角を有する複数の領域を比較することによって、該領域に動体が存在するかを検出することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記動体検出手段は、前記第１領域と該第１領域と重複する画角を有する前記第２領域とを比較することによって、該第１領域に動体を検出する請求項３に記載の撮像装置。
【請求項５】
前記制御手段は、前記複数の画像のそれぞれにおいて、画像の中央の位置を含むように前記第１領域を設定することを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記制御手段は、前記複数の画像の少なくとも一部の画像において、第３領域を設定し、
前記生成手段は、前記第２領域を該第２領域と重複する画角を有する前記第３領域とを比較することによって、該第２領域が前記所定の条件を満たすかどうかを判断することを特徴とする請求項１乃至５のいずれか１項に記載の撮像装置。
【請求項７】
前記制御手段は、前記第２領域を切り出した前記画像から切り出した前記第１領域が前記所定の条件を満たさないときに、前記第３領域を設定することを特徴とする請求項６に記載の撮像装置。
【請求項８】
前記制御手段は、前記第２領域を切り出した前記画像よりも前に撮像され、かつ、切り出した第１領域が前記所定の条件を満たす前記画像のうち、前記第２領域を切り出した前記画像との撮像のタイミングが最も近い前記画像に、前記第３領域を設定することを特徴とする請求項７に記載の撮像装置。
【請求項９】
前記制御手段は、前記第２領域が、前記所定の条件を満たさないとき、前記第３領域を、新たな第２領域として設定することを特徴とする請求項６乃至８のいずれか１項に記載の撮像装置。
【請求項１０】
前記制御手段は、前記第２領域と前記第３領域との幅を等しく設定することを特徴とする請求項６乃至９のいずれか１項に記載の撮像装置。
【請求項１１】
前記制御手段は、前記第１領域と前記第２領域との幅を等しく設定することを特徴とする請求項１乃至１０のいずれか１項に記載の撮像装置。
【請求項１２】
前記制御手段は、前記複数の画像のそれぞれの同じ位置において、前記第１領域を設定することを特徴とする請求項１乃至１１のいずれか１項に記載の撮像装置。
【請求項１３】
時間的に連続する複数の画像を撮像するステップと、
前記複数の画像のそれぞれに対して第１領域、前記複数の画像のそれぞれの一部の画像に対して第２領域を設定し、前記複数の画像を撮像するステップと並行して、前記複数の画像における第１領域と第２領域とに対して、記憶手段への記憶および前記記憶手段からの削除を制御するステップと、
前記複数の画像のそれぞれにおいて、前記第１領域が所定の条件を満たせば、該第１領域の画像を用い、前記第１領域が前記所定の条件を満たさなければ、該第１領域の画像を切り出した画像よりも前に撮像された画像から切り出した第２領域の画像のうち、該第１領域と重複する画角を有し、かつ、前記所定の条件を満たす画像を用いて、パノラマ画像を生成するステップを有し、
前記制御手段は、前記第１領域が前記所定の条件を満たせば、該第１領域と重複する画角を有し、かつ、該第１領域を切り出した画像よりも前に撮像された画像から切り出した第２領域を前記記憶手段から削除することを特徴とする撮像装置の制御方法。
【請求項１４】
撮像装置のコンピュータに動作させるコンピュータのプログラムであって、
時間的に連続する複数の画像を撮像するステップと、
前記複数の画像のそれぞれに対して第１領域、前記複数の画像のそれぞれの一部の画像に対して第２領域を設定し、前記複数の画像を撮像するステップと並行して、前記複数の画像における第１領域と第２領域とに対して、記憶手段への記憶および前記記憶手段からの削除を制御するステップと、
前記複数の画像のそれぞれにおいて、前記第１領域が所定の条件を満たせば、該第１領域の画像を用い、前記第１領域が前記所定の条件を満たさなければ、該第１領域の画像を切り出した画像よりも前に撮像された画像から切り出した第２領域の画像のうち、該第１領域と重複する画角を有し、かつ、前記所定の条件を満たす画像を用いて、パノラマ画像を生成するステップを行わせ、
前記制御手段は、前記第１領域が前記所定の条件を満たせば、該第１領域と重複する画角を有し、かつ、該第１領域を切り出した画像よりも前に撮像された画像から切り出した第２領域を前記記憶手段から削除することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関するものであり、特にパノラマ画像を生成する撮像装置に関するものである。
【背景技術】
【０００２】
デジタルカメラなどを移動させながら複数の画像を撮像し、撮像した複数の画像を繋ぎ合わせることによりパノラマ画像を生成する技術が知られている。たとえば、特許文献１では、動画を利用してパノラマ画像を生成する技術が開示されている。ただし、特許文献１に開示された技術では、動体が存在すると、同じ動体が複数回現れるなど、ユーザにとって違和感のある合成画像ができてしまう可能性がある。
【０００３】
特許文献２では、撮像素子を複数の領域に分けてパンニングをしながら撮影を繰り返し、それぞれの撮影で生成された画像のうち、撮像素子の同一領域に対応する画像をつなぎ合わせて複数のパノラマ画像を生成する。そして、これら複数のパノラマ画像のそれぞれから動体を検出し、これら複数のパノラマ画像を動体が存在しない領域を用いて合成することで、動体を削除したパノラマ画像を生成する方法が開示されている。特許文献２に開示された技術では、パノラマ撮像中で撮像した画像に、パノラマ合成用の領域を複数設定することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２４４８１４号公報
【特許文献２】特開２０１４−１１７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献２に開示された技術では、動体を削除したパノラマ画像を生成する前に、複数のパノラマ画像を生成する必要があるため、大きなメモリ量が必要という課題が生じる。
【０００６】
本発明は、上記の課題を鑑みてなされたものであり、パノラマ画像の合成において動体が存在する場合、より少ないメモリ量で不要な動体の除去を実現する撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、時間的に連続する複数の画像を撮像する撮像手段と、前記複数の画像のそれぞれに対して第１領域、前記複数の画像のそれぞれの一部の画像に対して第２領域を設定し、前記複数の画像の撮像と並行して、前記複数の画像における第１領域と第２領域とに対して、記憶手段への記憶および前記記憶手段からの削除を制御する制御手段と、前記複数の画像のそれぞれにおいて、前記第１領域が所定の条件を満たせば、該第１領域の画像を用い、前記第１領域が前記所定の条件を満たさなければ、該第１領域の画像を切り出した画像よりも前に撮像された画像から切り出した第２領域の画像のうち、該第１領域と重複する画角を有し、かつ、前記所定の条件を満たす画像を用いて、パノラマ画像を生成する生成手段を有し、前記制御手段は、前記第１領域が前記所定の条件を満たせば、該第１領域と重複する画角を有し、かつ、該第１領域を切り出した画像よりも前に撮像された画像から切り出した第２領域を前記記憶手段から削除することを特徴とする撮像装置を提供する。
【発明の効果】
【０００８】
本発明によれば、パノラマの合成において、撮像画像において異なる切り出し領域における動体検出を利用し、１つの動体が重複して存在しないパノラマ画像を作成できるとともに、使用するメモリ量の削減を図れる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るデジタルカメラの概略構成を示す背面斜視図である。
【図２】本発明の実施形態に係るデジタルカメラのハードウェア構成を示すブロック図である。
【図３】本発明の実施形態に係るパノラマ撮像中のデジタルカメラの動く方向と画像データの切り出し領域との関係を説明するための図である。
【図４】本発明の実施形態に係るパノラマ画像の合成処理の流れを説明する図である。
【図５】動体が存在する場合のパノラマ合成の課題を説明するための図である。
【図６】本発明の実施形態を説明するためのフローチャートである。
【図７】本発明の実施形態における第２領域の決定を説明するための図である。
【図８】本発明の実施形態におけるパノラマ合成を説明するための図である。
【図９】本発明の実施形態における領域の比較の高速化を説明するための図である。
【発明を実施するための形態】
【００１０】
以下では、添付の図面を参照しながら、本発明の好適な実施形態について詳細に説明する。
【００１１】
（本発明の実施形態）
図１は、本発明の実施形態に係るデジタルカメラの概略構成を示す背面斜視図である。
【００１２】
デジタルカメラ１００の背面には、画像や各種の情報を表示する表示部１０１と、ユーザによる各種操作を受け付ける各種スイッチやボタン等の操作部材からなる操作部１０２が設けられている。また、デジタルカメラ１００の背面には、撮像モード等を切り替えるモード切替スイッチ１０４と、回転操作可能なコントローラホイール１０３が設けられている。デジタルカメラ１００の上面には、撮像指示を行うシャッタボタン１２１と、デジタルカメラ１００の電源のオン／オフを切り替える電源スイッチ１２２と、被写体に対して閃光を照射するストロボ１４１が設けられている。
【００１３】
デジタルカメラ１００は、接続ケーブル１１１及びコネクタ１１２を介して外部装置と接続可能であり、外部装置に画像データ（静止画データ、動画データ）等を出力することができる。デジタルカメラ１００の下面には、蓋１３１により開閉可能な記憶媒体スロット（不図示）が設けられており、記憶媒体スロットに対してメモリカード等の記憶媒体１３０を挿抜することができるようになっている。
【００１４】
記憶媒体スロットに格納された記憶媒体１３０は、デジタルカメラ１００のシステム制御部２１０（図２参照）と通信可能である。なお、記憶媒体１３０は、記憶媒体スロットに対して挿抜可能なメモリカード等に限定されるものではなく、ＤＶＤ−ＲＷディスク等の光学ディスクやハードディスク等の磁気ディスクであってもよく、更に、デジタルカメラ１００の本体に内蔵されていてもよい。
【００１５】
図２は、デジタルカメラ１００のハードウェア構成を示すブロック図である。デジタルカメラ１００は、バリア２０１、撮像レンズ２０２、シャッタ２０３及び撮像部２０４を備える。バリア２０１は、撮像光学系を覆うことにより、撮像光学系の汚れや破損を防止する。撮像レンズ２０２は、ズームレンズ、フォーカスレンズを含むレンズ群により構成されており、撮像光学系を構成する。シャッタ２０３は、絞り機能を備え、撮像部２０４に対する露光量を調節する。撮像部２０４は、光学像を電気信号（アナログ信号）に変換する撮像素子であり、たとえば、ＲＧＢの画素が規則的に配置されたベイヤー配列構造を有するＣＣＤセンサやＣＭＯＳセンサ等のイメージセンサである。なお、シャッタ２０３は、機械式シャッタであってもよいし、撮像素子のリセットタイミングの制御によって蓄積時間を制御する電子シャッタであってもよい。
【００１６】
デジタルカメラ１００は、Ａ／Ｄ変換器２０５、画像処理部２０６、メモリ制御部２０７、Ｄ／Ａ変換器２０８、メモリ２０９及びシステム制御部２１０を備える。撮像部２０４からＡ／Ｄ変換器２０５へアナログ信号が出力され、Ａ／Ｄ変換器２０５は、取得したアナログ信号をデジタル信号からなる画像データに変換して、画像処理部２０６またはメモリ制御部２０７へ出力する。
【００１７】
画像処理部２０６は、Ａ／Ｄ変換器２０５から取得した画像データまたはメモリ制御部２０７から取得したデータに対して、画素補間やシェーディング補正等の補正処理、ホワイトバランス処理、γ補正処理、色変換処理等を行う。また、画像処理部２０６は、画像の切り出しや変倍処理を行うことで電子ズーム機能を実現する。更に、画像処理部２０６は撮像した画像の画像データを用いて所定の演算処理を行い、こうして得られた演算結果に基づいてシステム制御部２１０が露光制御や測距制御を行う。たとえば、システム制御部２１０により、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＥＦ（ストロボプリ発光）処理が行われる。画像処理部２０６は、撮像した画像の画像データを用いて所定の演算処理を行い、得られた演算結果を用いて、システム制御部２１０はＴＴＬ方式のＡＷＢ（オートホワイトバランス）処理を行う。
【００１８】
画像処理部２０６は、時間的に連続して撮像された複数の画像からパノラマ画像を合成し、またその合成結果の判断を行う画像合成処理回路を有する。画像合成処理回路は、単純な加算平均合成だけでなく、合成対象の画像データの各領域において最も明るい値または暗い値を持つ画素を選択して１枚の画像データを生成する比較明合成や比較暗合成等の処理を行うことができる。また、合成結果を特定の基準に基づいて評価し、判定する。なお、画像処理部２０６が画像合成処理回路を備える構成の代わりに、システム制御部２１０によるソフトウェア処理によって画像合成処理回路の機能を実現する構成としてもよい。
【００１９】
Ａ／Ｄ変換器２０５から出力される画像データは、画像処理部２０６及びメモリ制御部２０７を介して、或いは、メモリ制御部２０７を介して、メモリ２０９に書き込まれる。メモリ２０９は、表示部１０１に表示する画像データを格納する画像表示用メモリ（ビデオメモリ）を兼ねている。メモリ２０９は、所定枚数の静止画像、パノラマ画像（広角画像）、パノラマ画像合成結果を格納することができる記憶容量を備えている。なお、メモリ２０９は、システム制御部２１０が不揮発性メモリ２１１から読み出したプログラム等を展開する作業領域として用いることもできる。
【００２０】
メモリ２０９に格納されている画像表示用データ（デジタルデータ）は、Ｄ／Ａ変換器２０８に送信される。Ｄ／Ａ変換器２０８は、受信したデジタルデータをアナログ信号に変換して表示部１０１に供給し、これにより、表示部１０１に画像が表示される。表示部１０１は、液晶ディスプレイまたは有機ＥＬディスプレイ等の表示装置であり、Ｄ／Ａ変換器２０８からのアナログ信号に基づいて画像を表示する。表示部１０１における画像表示のオン／オフは、システム制御部２１０によって切り替えられ、画像表示をオフにすることで電力消費を低減させることができる。なお、撮像部２０４からＡ／Ｄ変換器２０５を通じてメモリ２０９に蓄積されるデジタル信号をＤ／Ａ変換器２０８によりアナログ信号に変換して表示部１０１に逐次表示することにより、スルー画像を表示する電子ビューファインダ機能を実現することができる。
【００２１】
デジタルカメラ１００は、不揮発性メモリ２１１、システムタイマ２１２、システムメモリ２１３、検出部２１５及びストロボ制御部２１７を備える。不揮発性メモリ２１１は、電気的に消去や記憶が可能なメモリ（たとえば、ＥＥＰＲＯＭ等）であり、システム制御部２１０が実行するプログラムや動作用の定数等を格納する。また、不揮発性メモリ２１１は、システム情報を記憶する領域やユーザ設定情報を記憶する領域を有しており、システム制御部２１０は、デジタルカメラ１００の起動時に不揮発性メモリ２１１に記憶された種々の情報や設定を読み出して復元する。
【００２２】
システム制御部２１０は、ＣＰＵを備え、不揮発性メモリ２１１に記憶されている各種のプログラムコードを実行することにより、デジタルカメラ１００の全体的な動作を制御する。なお、システム制御部２１０が不揮発性メモリ２１１から読み出したプログラムや動作用の定数、変数等は、システムメモリ２１３上に展開される。システムメモリ２１３には、ＲＡＭが用いられる。更に、システム制御部２１０は、メモリ２０９やＤ／Ａ変換器２０８、表示部１０１等を制御することにより、表示制御を行う。システムタイマ２１２は、各種の制御に用いる時間や内蔵された時計の時間を計測する。ストロボ制御部２１７は、被写体の明るさに応じて、ストロボ１４１の発光を制御する。検出部２１５は、ジャイロやセンサを含み、デジタルカメラ１００の角速度情報、姿勢情報等を取得する。なお、角速度情報は、デジタルカメラ１００によるパノラマ撮像時の角速度及び角加速度の情報を含む。また、姿勢情報は、水平方向に対するデジタルカメラ１００の傾き等の情報を含む。
【００２３】
図２に示される表示部１０１、操作部１０２、コントローラホイール１０３、シャッタボタン１２１、モード切替スイッチ１０４、電源スイッチ１２２及びストロボ１４１は、図１を参照して説明したものと同じである。
【００２４】
操作部１０２を構成する各種の操作部材は、たとえば、表示部１０１に表示される種々の機能アイコンの選択に用いられ、所定の機能アイコンが選択されることにより、場面毎に機能が割り当てられる。即ち、操作部１０２の各操作部材は、各種の機能ボタンとして作用する。機能ボタンとしては、たとえば、終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン、ＤＩＳＰボタン等が挙げられる。たとえば、メニューボタンが押下されると、各種の設定を行うためのメニュー画面が表示部１０１に表示される。ユーザは、表示部１０１に表示されたメニュー画面と、上下左右の４方向ボタンやＳＥＴボタンとを用いて、直感的に設定操作を行うことができる。
【００２５】
回転操作が可能な操作部材であるコントローラホイール１０３は、４方向ボタンと共に選択項目を指定するとき等に使用される。コントローラホイール１０３を回転操作すると、操作量（回転角度や回転回数等）に応じた電気的なパルス信号が発生する。システム制御部２１０は、このパルス信号を解析して、デジタルカメラ１００の各部を制御する。
【００２６】
シャッタボタン１２１は、第１スイッチＳＷ１と第２スイッチＳＷ２を有する。第１スイッチＳＷ１は、シャッタボタン１２１の操作途中の半押し状態でオンとなり、これにより、撮像準備を指示する信号がシステム制御部２１０に送信される。システム制御部２１０は、第１スイッチＳＷ１がオンになった信号を受信すると、ＡＦ処理、ＡＥ処理、ＡＷＢ処理、ＥＦ処理等の動作を開始する。第２スイッチＳＷ２は、シャッタボタン１２１の操作が完了する全押し状態でオンとなり、これにより、撮像開始を指示する信号がシステム制御部２１０に送信される。システム制御部２１０は、第２スイッチＳＷ２がオンになった信号を受信すると、撮像部２０４からの信号読み出しから記憶媒体１３０への画像データの書き込みまでの一連の撮像動作を行う。
【００２７】
モード切替スイッチ１０４は、デジタルカメラ１００の動作モードを、静止画撮像モード、動画撮像モード、再生モード等の各種モードの間で切り替えるためのスイッチである。静止画撮像モードは、オート撮像モード等の他に、パノラマ撮像によりパノラマ画像を合成するパノラマ画像撮像モードを含む。
【００２８】
デジタルカメラ１００は、電源部２１４及び電源制御部２１８を備える。電源部２１４は、アルカリ電池やリチウム電池等の一次電池、ＮｉＣｄ電池やＮｉＭＨ電池、Ｌｉ電池等の二次電池、或いは、ＡＣアダプタ等であり、電源制御部２１８へ電力を供給する。電源制御部２１８は、電源部２１４における電池の装着の有無、電池の種類、電池残量等を検出し、その検出結果及びシステム制御部２１０の指示に基づいて、必要な電圧を必要な期間、記憶媒体１３０を含む各部へ供給する。
【００２９】
デジタルカメラ１００は、記憶媒体１３０が記憶媒体スロット（不図示）に装着された際に、記憶媒体１３０とシステム制御部２１０との間の通信を可能にするための記憶媒体Ｉ／Ｆ２１６を備える。記憶媒体１３０の詳細については、図１を参照して既に説明しているため、ここでの説明を省略する。
【００３０】
次に、パノラマ撮像の方法と、複数の撮像画像からパノラマ画像を合成する方法について説明する。最初に、パノラマ画像を合成するために撮像画像の画像データから所定の領域を切り出す処理について説明する。
【００３１】
図３は、パノラマ撮像中のデジタルカメラ１００の動く方向と画像データの切り出し領域との関係を説明するための図である。
【００３２】
図３（ａ）は、撮像部２０４が有する撮像素子の有効画像領域を示しており、“Ｗｖ”は水平方向の有効画素数であり、“Ｈｖ”は垂直方向の有効画素数である。図３（ｂ）は、撮像画像の画像データから切り出した切り出し領域を示しており、“Ｗｃｒｏｐ”は水平方向の切り出し画素数であり、“Ｈｃｒｏｐ”は垂直方向の切り出し画素数である。
【００３３】
図３（ｃ）は、矢印で示す水平方向にデジタルカメラ１００を移動させながらパノラマ撮像を行った場合の画像データに対する切り出し領域を示す図である。図３（ｃ）においてハッチングにて示した領域Ｓ１が画像データからの切り出し領域を示しており、下記の（式１）および（式２）を満たす。
Ｗｖ＞Ｗｃｒｏｐ・・・・・・（式１）
Ｈｖ＝Ｈｃｒｏｐ・・・・・・（式２）
【００３４】
同様に、図３（ｄ）は、矢印で示す鉛直方向にデジタルカメラ１００を移動させながらパノラマ撮像を行った場合の画像データに対する切り出し領域を示す図である。図３（ｄ）においてハッチングにて示した領域Ｓ２が画像データの切り出し領域を示しており、下記の（式３）および（式４）を満たす。
Ｗｖ＝Ｗｃｒｏｐ・・・・・・（式３）
Ｈｖ＞Ｈｃｒｏｐ・・・・・・（式４）
【００３５】
撮像画像の画像データの切り出し領域は、画像データ毎に異なるようにしてもよい。また、パノラマ撮像の開始時とパノラマ撮像の終了時の画像データについては、画角を広くするために切り出し領域を広くしてもよい。画像データの切り出し領域の決定方法は、たとえば、撮像直後のデジタルカメラ１００の角度と１フレーム前のデジタルカメラ１００の角度との差等により決定することができる。パノラマ画像の合成処理に必要な画像データのみを切り出して保存することにより、メモリ２０９の記憶容量を節約することができる。
【００３６】
なお、前述した切り出し領域は、できるだけ撮像画像の中央に設定するとよい。これは、撮像画像の中央は、一般的に歪が少なく、切り出し領域を画像の中央に設定すれば、より自然な合成画像が生成できるからである。
【００３７】
次に、パノラマ画像の合成方法について説明する。システム制御部２１０は、パノラマ撮像時に保存された切り出し領域をメモリ２０９から読み出し、読み出した画像データに対応する画像間の位置ずれを検出する。一例としては、システム制御部２１０は、切り出し領域を任意のサイズの小ブロックに分割し、小ブロック毎に輝度のＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）が最小となる対応点を算出する。システム制御部２１０は、算出したＳＡＤが最小となる対応点より、動きベクトルを算出することができる。なお、システム制御部２１０は、動きベクトルの算出において、検出部２１５が検出した角速度情報や姿勢情報等を用いて行ってもよい。続いて、システム制御部２１０は、隣り合う切り出し領域の画像間で求めた動きベクトルに基づいて、切り出し領域の画像間の位置ずれを補正し、切り出し領域の画像間の重複部を加重加算などにより合成する。
【００３８】
図４は、パノラマ画像の合成処理の流れを説明する図である。図４では、ドットハッチングされた領域は、被写界にある並木を模式的に表した領域であり、斜線ハッチングされた領域は、画像データの切り出し領域を表している。図４（ａ）は、ユーザがシャッタボタン１２１を押下し、第１スイッチＳＷ１がオンにされた状態を示し、ユーザは、主被写体に対してピント合わせを行うことを示している。図４（ｂ）は、シャッタボタン１２１の第２スイッチＳＷ２がオンにされた位置を示しており、ユーザが合成しようとしているパノラマ画像の一方の端に合わせて被写界を設定している。図４（ｂ）では、撮像部２０４は画像４１０を撮像する。図４（ｃ）乃至図４（ｅ）では、ユーザが合成しようとしているパノラマ画像の他方の端に向けてデジタルカメラ１００を移動させながら、パノラマ撮像を行っている状態を模式的に示している。図４（ｅ）は、ユーザがシャッタボタン１２１の押下をやめ、パノラマ撮像が終了した状態を示している。図４（ｂ）乃至図４（ｅ）では、撮像部２０４が画像４１０乃至４７０計７枚の画像を撮像したが、画像４３０、４５０および４６０は不図示である。画像処理部２０６は、撮像部２０４が撮像した画像４１０乃至４７０に対して切り出し処理を行い、切り出し領域４１１乃至４７１を生成する。システム制御部２１０において、切り出し領域の幅は、予め定めてもよいが、パノラマ撮像中のデジタルカメラ１００の移動速度などに応じて変化させてもよい。
【００３９】
図４（ｆ）は、画像処理部２０６が、撮像部２０４が撮像した複数の画像を合成してできたパノラマ画像を示している。ここで、手振れなどのため、切り出し領域４１１乃至４７１の上辺と下辺とは合っていないため、画像処理部２０６は、縦方向に対しても切り出し処理を行う。その結果、画像処理部２０６は、領域４００が示したようなパノラマ画像を生成する。
【００４０】
図４では、説明を容易にするため、切り出し領域４１１乃至４７１の互いに重畳する領域がなく、かつ、互いに隣接している例を示している。もし、重畳する領域が存在していれば、重畳する領域の中央を境目として、画像処理部２０６は、その左側に片方の切り出し領域、右側にもう片方の切り出し領域の画素情報を合成画像に出力する。もしくは、画像処理部２０６は、境目上に両方の切り出し領域の画素情報を５０％ずつ合成した値を出力し、境目からの距離が離れるに従って境目の左側では片方の切り出し領域を、境目の右側ではもう片方の切り出し領域の割合を大きくしながら合成を行う。
【００４１】
本実施形態では、シャッタボタン１２１の押下の終了を待たずに、パノラマ画像の合成処理を開始する。具体的には、図４（ｃ）に示す撮像処理と並行して、画像処理部２０６は図４（ａ）と図４（ｂ）に示す矩形領域５１１と５１２の画像の合成処理を行ってもよい。画像処理部２０６が並行処理を行うことによって全体のパノラマ画像の合成処理時間を短縮することができる。画像処理部２０６は、合成したパノラマ画像はメモリ制御部２０７を経て、一旦メモリ２０９に格納する。最後に、システム制御部は、メモリ２０９に格納されたパノラマ画像をＩ／Ｆ２１６を介して記憶媒体１３０に記録する。
【００４２】
しかしながら、図４で示したようなパノラマ画像の合成は、動体が存在すると、不自然なパノラマ画像が生成してしまう可能性がある。以下では、動体が存在する場合のパノラマ合成の一例を説明する。
【００４３】
図５は、動体が存在する場合のパノラマ合成を説明するための図である。図５に示したシーンは、図４と異なり、被写体としての人物は動体であり、パノラマ撮像中に移動しているものとする。
【００４４】
図５（ａ）乃至（ｅ）はパノラマ撮像の各撮像シーンを順番に模式的に示した図である。矩形領域５１０、５２０、５３０、５４０、５５０は、各撮像で撮像部２０４が撮像した画像の撮像画角を表している。図４と同様に、斜線ハッチングされた領域５１１、５２１、５３１、５４１、５５１は、画像データの切り出し領域を表している。システム制御部２１０は、時間的に連続する複数の画像間の移動方向と移動量を、検出部２１５が検出した角速度情報や姿勢情報や、他に動きベクトル情報を基に算出することができる。図５（ｆ）は画像処理部２０６が図５（ａ）乃至（ｅ）に示したパノラマ撮像で撮像部２０４が撮像した複数の画像を合成した結果であるパノラマ画像５００を模式的に示す。
【００４５】
しかしながら、図５に示したシーンでは、人物が動体であるため、この人物が切り出し領域５１１乃至５４１のすべてに映ってしまっている。システム制御部２１０は、こうした切り出し領域をパノラマ合成に用いると、図５（ｆ）のパノラマ画像５００に示したように、動体の人物が複数回映るような画像ができてしまう。
【００４６】
そこで、本実施形態において、システム制御部２１０は、画像記録用のメモリ容量を配慮しながら、所定の条件を満たす領域を合成に用いることで、上記のような違和感のあるパノラマ画像を生成させないようにする。
【００４７】
図６は、本実施形態を説明するためのフローチャートである。このフローチャートは、ユーザが操作部１０２を操作することでパノラマ画像を生成するモードを設定し、かつ、ユーザがシャッタボタン１２１を操作した場合に、開始される。図７は、後述するステップＳ６０５における第２領域の決定を説明するためのフローチャートである。図８は、本実施形態におけるパノラマ画像の合成を説明するための図である。図８では、デジタルカメラ１００を動かしながら画像８１０乃至８４０を撮像したことを示している。以下では、本実施形態のフローを図６乃至図８を用いて詳細に説明する。
【００４８】
ステップＳ６０１では、撮像部２０４が撮像を行う。このとき、図８（ａ）に示した画像８１０を撮像したものとする。システム制御部２１０は、メモリ２０９に撮像部２０４が撮像した画像８１０を一時記憶する。ただし、デジタルカメラ１００の移動方向は右であるため、後述するように、画像８１０において、領域８１１より左の部分は合成に用いることがないので、この部分は記憶しない。
【００４９】
ステップＳ６０２では、画像処理部２０６は、画像８１０において、第１領域８１１を切り出す。図８（ａ）において、第１領域８１１は、画像８１０の中央よりも左側に寄って位置しているが、あくまでも図示の便宜上のためである。後述するように、本実施形態における合成において、第１領域が優先的に使われるため、歪などを考慮して、一般的に、画像処理部２０６は優先的に第１領域を画像の中央から切り出すほうが好ましい。
【００５０】
ステップＳ６０３では、撮像部２０４が次の撮像を行う。このとき、図８（ｂ）に示した画像８２０を撮像したものとする。ユーザがデジタルカメラ１００を移動させながら撮像を行っているため、画像８１０と画像８２０との画角がずれている。ステップＳ６０１と同様に、システム制御部２１０は、メモリ２０９に画像８２０を一時記憶する。
【００５１】
ステップＳ６０４では、画像処理部２０６は、画像８２０において、第１領域８２１を切り出す。第１領域８１１と第１領域８２１は、パノラマ画像の合成において、隣り合うため、画像処理部２０６は、両者の画角の間に隙間が出ないように切り出す。そのために、画像処理部２０６は、検出部２１５が検出した速度などの情報を参照して、画像から切り出す第１領域の画角の位置を決めてよい。なお、画像処理部２０６は、撮像した画像からＳＡＤ値や特徴点抽出などを利用して第１領域の画角の位置を決めてもよいが、動体が占める領域が大きいときなどは、静止領域のみでＳＡＤ値や特徴点抽出などを行うことが難しいケースがある。したがって、ステップＳ６０４で、画像処理部２０６は、検出部２１５が検出した速度などの情報を参照して、第１領域の画角の位置を決めることが望ましい。また、システム制御部２１０は、第１領域よりも左の部分を合成に用いないので、この時点でメモリ２０９から第１領域よりも左の部分を削除してよい。
【００５２】
ステップＳ６０５では、システム制御部２１０は、第２領域を決定する。ステップＳ６０５の詳細は、図７に示したフローで説明する。
【００５３】
ステップＳ７０１では、画像処理部２０６は、ステップＳ６０４で第１領域を切り出したフレームの画像よりも１フレーム前に撮像した画像から、第２領域の候補を切り出す。たとえば、画像処理部２０６は、画像８２０から切り出した第１領域８２１に対して、１フレーム前の画像８１０から第２領域の候補を切り出す。後述するように、システム制御部２１０は、ステップＳ６０６で、第１領域と第２領域の候補とに対して動体検出のための比較を行うため、第１領域と第２領域の候補とは重複する画角を持つことが必要である。したがって、画像処理部２０６は、画像８１０から、図８（ｂ）に示す画像８２０の第１領域８２１と重複する画角を有する第２領域の候補８１２を切り出す。同様に、画像処理部２０６は、画像８３０から第１領域８３１を切り出し、その１フレーム前の画像８２０から、この第１領域８３１と重複する画角を有する第２領域の候補８２２を切り出す。
【００５４】
ステップＳ７０２で、システム制御部２１０は、ステップＳ７０１で画像処理部２０６が第２領域の候補を切り出した画像の第１領域に動体があるかどうかを判断する。システム制御部２１０は、動体があると判断した場合、ステップＳ７０３に進み、画像処理部２０６は第３領域の切り出しを行う。システム制御部２１０は、動体がないと判断した場合、ステップＳ７０７に進み、ステップＳ７０１で画像処理部２０６が切り出した第２領域の候補を第２領域とする。
【００５５】
例えば、画像８１０から切り出した第２領域の候補８１２に対して、この画像から切り出した第１領域８１１に動体がない（動体が検出されない）ため、システム制御部２１０は、ステップＳ７０７に進み、第２領域の候補８１２を第２領域とする。また、画像８２０から切り出した第２領域の候補８２２に対して、この画像から切り出した第１領域８２１に動体があるため、ステップＳ７０３に進む。なお、初めてこのステップＳ７０２に進んだ場合には、第２候補領域を切り出した画像には１枚目に撮像された画像が該当し、その画像の第１領域が動体であるか否かの判定を行っていないため、ステップＳ７０７に進むものとする。
【００５６】
ステップＳ７０３では、画像処理部２０６は、ステップＳ７０１で切り出した第２領域の候補の画像より前のフレームのうち、第１領域に動体がないと判断されたフレームのうち、最も撮像されたタイミングが近いフレームの画像から、第３領域を切り出す。後述するように、システム制御部２１０はステップＳ７０４で、第２領域の候補と第３領域とに対して動体検出のための比較を行うため、第２領域の候補と第３領域とが同じ画角をもつ必要がある。たとえば、画像処理部２０６は、画像８３０において第１領域８３１を切り出し、画像８２０において第１領域８３１に対応する第２領域の候補８２２を切り出す。このとき、第２領域の候補８２２を切り出した画像８２０の第１領域８２１には、動体が含まれている。このような場合に、画像８２０よりも前のフレームであって、第１領域８１１から動体が検出されていない画像８１０から、第２領域の候補８２２と重複する画角を有する第３領域８１３を切り出す。また、画像処理部２０６は、画像８４０において、第１領域８４１を切り出し、画像８３０において、第１領域８４１と重複する画角を有する第２領域の候補８３２を切り出す。画像８２０における第１領域８２１に動体があるため、システム制御部２１０は、それよりも前のフレームである画像８１０において、第２領域の候補８３２と重複する画角を有する第３領域８１４を切り出す。
【００５７】
ステップＳ７０４で、システム制御部２１０は、画像処理部２０６がステップＳ７０１で切り出した第２領域の候補と、ステップＳ７０３で切り出した第３領域を比較する。ステップＳ７０４での比較は、動体検出のためのもので、この結果をもってシステム制御部２１０は次のステップＳ７０４での第２領域の候補に動体が存在するかを判断する。ここでの比較の方法は、画素値差分検出や画像相関判定など公知のものでよい。画素値差分検出では、システム制御部２１０は、第２領域の候補と第３領域との同じ位置にある画素の画素値の差を計算する。または、画素の輝度信号（Ｙ）の差を計算してもよい。この差が所定値以上であれば、システム制御部２１０は、計算の対象である画素をカウント対象とし、領域全体においてカウントされた画素数が予め定められた閾値を超えると、システム制御部２１０は、その領域に動体が存在すると判断する。画像相関判定の方法では、システム制御部２１０は、２つの領域に対して、指定したブロックサイズで分割し、ブロック内の輝度値（Ｙ）の平均値を計算する。さらに、システム制御部２１０は、２つの領域のそれぞれに対して、ブロックの輝度値の平均値の分散値を計算する。２つの領域の分散値の差が、予め定められた閾値以上であれば、システム制御部２１０は、動体が存在すると判断する。
【００５８】
ステップＳ７０５で、システム制御部２１０は、第２領域の候補に動体が存在すると判断した場合、ステップＳ７０６に進み、第２領域の候補と重複する画角を有する第３領域を第２領域と決定する。一方、ステップＳ７０４で、システム制御部２１０は、第２領域の候補に動体が存在しないと判断した場合、ステップＳ７０７に進み、この第２領域の候補を第２領域と決定する。
【００５９】
たとえば、システム制御部２１０は、画像８２０における第２領域の候補８２２と画像８１０における第３領域８１３とを比較して動体を検出するとする。図８の例では、画像８２０の第２領域の候補８２２に動体が存在すると認められるため（木の前の人が跳んでいる）、システム制御部２１０は、第２の領域の候補８２２を第２の領域とせず、第３の領域８１３を第２の領域と決定する。一方、システム制御部２１０は、画像８３０における第２領域の候補８３２と画像８１０の第３領域８１４とを比較し、動体がないと認められるので、第２領域の候補８３２を第２領域と決定する。
【００６０】
以上は、第２領域の決定についての説明であった。上記のような処理で、システム制御部２１０は、動体のない領域を第２領域として決定し、第１領域における動体検出の誤りを防ぐとともに、動体のある第２領域を合成画像に使ってしまうことを回避することができる。
【００６１】
次に、システム制御部２１０は、ステップＳ６０６で、ステップＳ６０４で画像処理部２０６が切り出した第１領域と、ステップＳ６０５で決定した第２領域とに対して、動体検出のための比較を行う。方法は、ステップＳ７０３と同様のため、詳細の説明は省略する。
【００６２】
ステップＳ６０７で、システム制御部２１０は、ステップＳ６０６での比較の結果に応じて、第１領域に動体が存在するかどうかについて判断する。第１領域に動体がなければ、ステップＳ６０８に進み、システム制御部２１０は該第１領域にフラグを立てる。第１領域に動体があれば、ステップＳ６０９に進み、システム制御部２１０はステップＳ６０５で決定した第２領域にフラグを立てる。
【００６３】
次に、ステップＳ６１０で、システム制御部２１０は、メモリ２０９から、不要な領域の削除を行う。ここでいう不要な領域とは、ステップＳ６１０の時点で、システム制御部２１０が確実に合成に用いないと判定した領域を指す。具体的に、システム制御部２１０は、ステップＳ６０８またはＳ６０９でフラグを立てた領域の画角よりも、デジタルカメラ１００の移動方向の逆方向にあるフラグの立っていない領域を削除する。
【００６４】
たとえば、システム制御部２１０は、図８（ｂ）に示した画像８２０において、第１領域８２１に動体があると判断し、第２領域８１２にフラグを立てた時点、メモリ２０９から第２領域の右端よりも左にあるフラグの立っていない領域を削除する。具体的に、システム制御部２１０は、画像８１０における第２領域８１２、および画像８２０における第１領域８２１の左端よりも左にある部分を削除する。
【００６５】
次に、システム制御部２１０は、図８（ｃ）に示した画像８３０において、第１領域８３１を切り出す。第２領域の候補８２２に動体が存在するため、画像処理部２０６は、画像８１０において第３領域８１３を第２領域として切り出す。システム制御部２１０は、第１領域８３１と第２領域８１３とを比較した結果、第１領域８３１に動体があるため、第２領域８１３にフラグを立てる。これに応じて、システム制御部２１０は、第２領域８１３の画角の右端より左側にある領域をメモリ２０９から削除する。具体的には、システム制御部２１０は、第１領域８３１と第２領域の候補８２２とを削除する。また、画像８２０における第１領域８２１に動体が存在するため、画像処理部２０６はこの時点以降も画像８２０からは第２領域も第３領域も切り出すことがない。したがって、システム制御部２１０は、画像８２０における第２領域の候補８２２の右端よりも右にある部分も削除してよい。つまり、システム制御部２１０は、第２領域８１３にフラグを立てるとともに、画像８２０の全体を削除する。
【００６６】
最後に、システム制御部２１０は、図８（ｄ）に示した画像８４０において、第１領域８４１を切り出す。第２の領域の候補８３２に動体が存在しないので、第２の領域の候補８３２を第２領域とし、システム制御部２１０は、第１領域８４１を第２領域８３２と比較し、第１領域８４１に動体がいないと判断する。したがって、システム制御部２１０は、第１領域８４１にフラグを立てる。この時点では、システム制御部２１０は、第２領域８３２と第３領域８１４とを削除する。
【００６７】
なお、前述するステップＳ７０２およびＳ７０７で説明したように、画像処理部２０６は、第２領域の候補を切り出した画像の第１領域に動体がないとき、システム制御部２１０は、第２領域の候補を第２領域と決定する。画像８４０における第１領域８４１に動体がないので、画像処理部２０６は、画像８４１に動体を検出しなかった時点以降では、画像８４１より前に撮像した画像からは、第２領域も第３領域も切り出すことがない。したがって、システム制御部２１０は、画像８４１に動体検出しなかったら、画像８１０乃至８３０におけるフラグが立っていないすべての領域を削除する。
【００６８】
上述したように、システム制御部２１０は、画像の領域にフラグを立てた時点で、不要な領域を判断し削除を行うことによって、使用するメモリ２０９の容量を最小限に抑えることができる。その抑えた容量の分で、画質の向上に寄与することが期待できる。
【００６９】
ステップＳ６１１で、システム制御部２１０は、パノラマ撮像が終了したかどうかについて判断する。判断の方法としては、ユーザがボタンの押下の中止を基準にしてよい、または、予め撮像枚数あるいは画角の範囲を定めた場合、それを達しているかどうかを判断してもよい。ステップＳ６１１でシステム制御部２１０はパノラマ撮像が終了していると判断した場合は、ステップＳ６１２に進み、パノラマ撮像がまだ終了していないと判断した場合、ステップＳ６０３に進む。
【００７０】
最後に、ステップＳ６１２で、システム制御部２１０は、ステップＳ６０２で画像処理部２０６が切り出した第１領域および、ステップＳ６０８とステップＳ６０９でフラグを立てた領域を用いてパノラマ画像の合成を行う。システム制御部２１０は、上述したフラグが立っている領域に対応する画像間の位置ずれを検出する。一例としては、システム制御部２１０は、フラグが立っている領域を任意のサイズの小ブロックに分割し、小ブロック毎に輝度のＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）が最小となる対応点を算出する。システム制御部２１０は、算出したＳＡＤが最小となる対応点より、動きベクトルを算出することができる。なお、システム制御部２１０は、動きベクトルの算出において、検出部２１５が検出した角速度情報や姿勢情報等を用いて行ってもよい。続いて、システム制御部２１０は、隣り合う領域の画像間で求めた動きベクトルに基づいて、領域間の位置ずれを補正し、領域間の重複部を加重加算などにより合成する。
【００７１】
なお、以上のような実施方法では、動体がそれぞれのフレームの画像の第１領域の付近に居続けてしまうと、最初の画像に対してフラグが立ち続けるため、その画像の画角を使い切っても動体が消えない場合、広角のパノラマ画像の合成はできない。このような状況を防ぐために、動体がそれぞれのフレームの第１領域の付近に居続ける場合、ユーザに警告を行うようにしてもよい。
【００７２】
また、ステップＳ６０６およびステップＳ７０４で２つの領域の比較において、比較する領域を限定してさらなる高速化も可能である。図９は、本実施形態における領域の比較の高速化を説明するための図である。図９（ａ）の斜線部を比較する領域とする。デジタルカメラ１００の移動方向が右の場合、図９（ｂ）の斜線部のように左側の一部分、デジタルカメラ１００の移動方向が左の場合、図９（ｃ）の斜線部のように右側の一部分のみで類似度の算出を行っても良い。その理由は、合成画像部３２３の画像とパノラマ合成するとき、デジタルカメラ１００の移動方向が右方向の場合は左側の部分がつながるように合成を行い、デジタルカメラ１００の移動方向が左方向の場合は右側の部分がつながるように合成を行うからである。つまりは、つなぎ目部分に移動している被写体が存在しているかを判定すれば良い。そのため、移動する被写体が一部にしか存在しないと想定できるシーンではさらに類似度を算出する領域を縮小できる。たとえば被写体が下部分しか移動しないはずであると分かるシーン（シーンの上半分が静止している空と山々で構成される風景シーン等）では、斜線部領域をさらに下の部分だけと縮小することも可能である。このように類似度算出領域が小さくなると、計算時間の短縮などのメリットがある。
【００７３】
本実施形態によれば、パノラマ合成を行うデジタルカメラを用いて、より少ないメモリ容量で、動体の除去を実現することができる。
【００７４】
（その他の実施形態）
なお、上記実施形態においては、個人向けのデジタルカメラをもとに説明を行ったが、パノラマ撮像および合成機能を搭載していれば、携帯機器やスマートフォン、あるいは、サーバーに接続されたネットワークカメラなどに適用することも可能である。
【００７５】
なお、本発明は、上述の実施形態の１つ以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し作動させる処理でも実現可能である。また、１以上の機能を実現する回路（たとえば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７６】
１００  デジタルカメラ
１０２  操作部
１０４  モード切替スイッチ
１３０  記録媒体
２０４  撮像部
２０６  画像処理部
２０７  メモリ制御部
２０９  メモリ
２１０  システム制御部
２１５  検出部
２１６  Ｉ／Ｆ
【図１】
2018207177.tif 000003
【図２】
2018207177.tif 000004
【図３】
2018207177.tif 000005
【図４】
2018207177.tif 000006
【図５】
2018207177.tif 000007
【図６】
2018207177.tif 000008
【図７】
2018207177.tif 000009
【図８】
2018207177.tif 000010
【図９】
2018207177.tif 000011