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