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