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