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