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