(57)【特許請求の範囲】
【請求項１】
異なる複数の露出により撮影された複数の画像データを入力する入力手段と、
前記複数の画像データそれぞれに露出不良があるか否かを判定する判定手段と、
前記判定の結果に基づき、同一露出により撮影された複数の画像データをパノラマ合成して、前記複数の露出に対応する複数のパノラマ画像を生成する生成手段と、
前記露出不良がないと判定された画像データ、および、前記露出不良があると判定された画像データを輝度補正した画像データを用いて、前記複数のパノラマ画像の位置合わせを行う位置合わせ手段と、
前記位置合わせされた複数のパノラマ画像をハイダイナミックレンジ合成する合成手段とを有する画像処理装置。
【請求項２】
画像データを撮影する撮像部を制御し、前記撮像部の光軸に直交するパン方向とチルト方向の角速度情報を画像データに付加する撮影制御手段を有し、
前記入力手段は、前記撮影制御手段の制御によって撮影された前記複数の画像データを入力する請求項1に記載された画像処理装置。
【請求項３】
前記撮影制御手段は、撮影開始が指示されると前記露出を順次変更して連続撮影を行い、撮影終了が指示されると前記連続撮影を終了する請求項2に記載された画像処理装置。
【請求項４】
前記生成手段は、前記角速度情報を用いて、前記同一露出により撮影された複数の画像データを平面に配置する請求項2または請求項3に記載された画像処理装置。
【請求項５】
前記生成手段は、前記平面に配置した画像データの間の重複領域を設定し、前記重複領域から前記露出不良の領域を除外し、前記露出不良の領域を除外した重複領域に基づく画像データの幾何変換により前記パノラマ合成を行う請求項4に記載された画像処理装置。
【請求項６】
前記判定手段は、第一の閾値以上の画素値を有する画素数が、画像データの画素数に占める割合、または、第二の閾値以下の画素値を有する画素数が、前記画素数に占める割合によって前記露出不良の判定を行う請求項1から請求項5の何れか一項に記載された画像処理装置。
【請求項７】
前記位置合わせ手段は、前記画像データまたは前記輝度補正した画像データから特徴点を検出し、前記特徴点に基づき前記複数のパノラマ画像の間の位置ずれ量を算出し、前記位置ずれ量に基づく画像データの幾何変換により前記位置合わせを行う請求項1から請求項6の何れか一項に記載された画像処理装置。
【請求項８】
前記露出不良があると判定された画像データを全体階調画像データと局所階調画像データに分離し、前記露出不良の判定結果に基づき前記全体階調画像データのトーンカーブを補正し、前記トーンカーブを補正した全体階調画像データと前記局所階調画像データを合成した画像データを前記輝度補正した画像データとして出力する補正手段を有する請求項1から請求項7の何れか一項に記載された画像処理装置。
【請求項９】
異なる露出で撮影された第一および第二の画像データを入力する画像処理装置であって、
前記第一および第二の画像データの間の重複領域を抽出する抽出手段と、
前記重複領域に露出不良があるか否かを判定する判定手段と、
前記露出不良があると判定された画像データを輝度補正した輝度補正画像データを生成し、前記第一および第二の画像データの非重複領域について前記第一および第二の画像データの間の露出補正を行って前記非重複領域の露出補正画像データを生成する補正手段と、
前記露出不良がないと判定された画像データまたは前記輝度補正画像データにおける前記重複領域の画素値に基づいて、前記第一および第二の画像データの位置合わせを行う位置合わせ手段と、
前記重複領域について前記第一および第二の画像データのハイダイナミックレンジ合成を行う合成手段とを有し、
前記ハイダイナミックレンジ合成された前記重複領域の画像データ、および、前記非重複領域の露出補正画像データを前記第一の画像データとし、新たに入力される露出を変更して撮影された画像データを前記第二の画像データとして、前記手段が処理を繰り返す画像処理装置。
【請求項１０】
異なる複数の露出により撮影された複数の画像データを入力し、
前記複数の画像データそれぞれに露出不良があるか否かを判定し、
前記判定の結果に基づき、同一露出により撮影された複数の画像データをパノラマ合成して、前記複数の露出に対応する複数のパノラマ画像を生成し、
前記露出不良がないと判定された画像データ、および、前記露出不良があると判定された画像データを輝度補正した画像データを用いて、前記複数のパノラマ画像の位置合わせを行い、
前記位置合わせされた複数のパノラマ画像をハイダイナミックレンジ合成する画像処理方法。
【請求項１１】
異なる露出で撮影された第一および第二の画像データを入力する画像処理装置の画像処理方法であって、
抽出手段が、前記第一および第二の画像データの間の重複領域を抽出し、
判定手段が、前記重複領域に露出不良があるか否かを判定し、
補正手段が、前記露出不良があると判定された画像データを輝度補正した輝度補正画像データを生成し、前記第一および第二の画像データの非重複領域について前記第一および第二の画像データの間の露出補正を行って前記非重複領域の露出補正画像データを生成し、
位置合わせ手段が、前記露出不良がないと判定された画像データまたは前記輝度補正画像データにおける前記重複領域の画素値に基づいて、前記第一および第二の画像データの位置合わせを行い、
合成手段が、前記重複領域について前記第一および第二の画像データのハイダイナミックレンジ合成を行い、
前記ハイダイナミックレンジ合成された前記重複領域の画像データ、および、前記非重複領域の露出補正画像データを前記第一の画像データとし、新たに入力される露出を変更して撮影された画像データを前記第二の画像データとして、前記手段が処理を繰り返す画像処理方法。
【請求項１２】
コンピュータを請求項1から請求項9の何れか一項に記載された画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パノラマ画像のハイダイナミック(HDR)合成を行う画像処理に関する。
【背景技術】
【０００２】
複数の画像を撮影し、撮影画像をつなぎ合わせて一つの画像に合成するパノラマ撮影が広く行われている。パノラマ画像は画角が非常に広いため、屋外撮影の場合は太陽や街灯の光が写り込み、室内撮影の場合は部屋奥の暗所から窓外の明所まで写り込み、明るい領域と暗い領域の差が大きいダイナミックレンジが非常に広い画像になる。そのため、単一露出で撮影を行うと、明るい領域に「白飛び」が発生し、暗い領域に「黒潰れ」が発生することがある。
【０００３】
「白飛び」は、露出オーバにより撮影画像の色分布が白側に偏り、一部の画素が白に塗り潰される（画素値が飽和する）ことである。また、「黒潰れ」は、露出アンダにより撮影画像の色分布が黒側に偏り、一部の画素が黒に塗り潰される（画素値が飽和する）ことである。そこで、パノラマ画像を取得する際は、HDR合成の手法を用いて、露出を変えながら撮影した複数の低ダイナミックレンジ画像を合成して、白飛びや黒潰れがないパノラマ画像を取得する方法が提案されている。特許文献1は、パノラマ合成した画像をHDR合成する方法を提案する。
【０００４】
しかし、特許文献1の方法は、撮影対象の被写体のすべての画角について、露出を変えた撮影が必要になり、撮影時の手順が煩雑になる。また、隣接する撮影画像間や異なる露出で撮影された画像間の合成を行う際、画像中に白飛びや黒潰れがあると適切な合成処理が行われず、画像のつなぎ目にずれが生じた不自然な合成結果になる場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2013-175827号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、露出が異なる複数の画像データを用いて、画像のつなぎ目のずれが抑制された、不自然さがないハイダイナミックレンジかつパノラマ画像を取得することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００８】
本発明にかかる画像処理は、異なる複数の露出により撮影された複数の画像データを入力し、前記複数の画像データそれぞれに露出不良があるか否かを判定し、前記判定の結果に基づき、同一露出により撮影された複数の画像データをパノラマ合成して、前記複数の露出に対応する複数のパノラマ画像を生成し、前記露出不良がないと判定された画像データ、および、前記露出不良があると判定された画像データを輝度補正した画像データを用いて、前記複数のパノラマ画像の位置合わせを行い、前記位置合わせされた複数のパノラマ画像をハイダイナミックレンジ合成する。
【発明の効果】
【０００９】
本発明によれば、露出が異なる複数の画像データを用いて、画像のつなぎ目のずれが抑制された、不自然さがないハイダイナミックレンジかつパノラマ画像を取得することができる。
【図面の簡単な説明】
【００１０】
【図１】実施例におけるパノラマ画像の取得処理の概要を説明する図。
【図２】露出不良を考慮したパノラマ合成を説明する図。
【図３】実施例の撮影装置の構成例を示すブロック図。
【図４】信号処理部におけるパノラマ合成に関連する処理部の構成例を示すブロック図。
【図５】パノラマ画像の撮影処理を説明するフローチャート。
【図６】輝度補正部の処理を説明するフローチャート。
【図７】階調補正テーブルの一例を示す図。
【図８】パノラマ合成部の処理を説明するフローチャート。
【図９】位置合わせ部の処理を説明するフローチャート。
【図１０】重複領域の設定の詳細について説明する図。
【図１１】実施例2のパノラマ画像の撮影処理を説明するフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明にかかる実施例の画像処理装置および画像処理方法を図面を参照して詳細に説明する。なお、実施例は特許請求の範囲にかかる本発明を限定するものではなく、また、実施例において説明する構成の組み合わせのすべてが本発明の解決手段に必須とは限らない。
【実施例１】
【００１２】
［パノラマ画像の取得処理の概要］
図1により実施例におけるパノラマ画像の取得処理の概要を説明する。図1に示すように、露出を変えて被写体を撮影した複数の画像データから露出が同一の複数の画像データ（以下、同一露出画像データ群）を取得する。そして、同一露出画像データ群の各画像データにおける白飛びや黒潰れ（以下、露出不良）の有無を画像判定し、判定結果に基づき、同一露出画像データ群からパノラマ画像を合成（以下、パノラマ合成）する。
【００１３】
図2により露出不良を考慮したパノラマ合成を説明する。図2(a)に示すように、隣接する画像Aと画像Bを合成する際、破線で示す画像間の重複領域に基づき画像の幾何変換を行うと、重複領域に白飛び領域が含まれる場合、適切なパノラマ合成結果が得られない。そこで、図2(b)に示すように、白飛び領域を除外した、破線で示す重複領域に基づき画像を幾何変換してパノラマ合成を行う。
【００１４】
続いて、図1に示すように、同一露出画像データ群ごとにパノラマ合成された複数の画像の位置合わせを行い、ハイダイナミックレンジ合成（以下、HDR合成）を行う。露出が異なる画像の間の位置合わせを行う際、各画像から特徴点を検出して位置ずれを補正するが、画像に含まれる白飛び領域においては特徴点が検出されず、適切な位置合わせを行うことができない。そこで、図2(d)に示すように、白飛び領域に含まれる特徴点を検出可能にするため、画像のテクスチャを識別できるように画像を輝度補正して、位置合わせ精度の向上を図る。
【００１５】
実施例においては、露出不良は画素値が飽和した状態のみを示すわけではない。露出が適正値よりもオーバもしくはアンダで撮影された画像において、画素値のヒストグラムが明部側または暗部側に偏った状態が実施例における露出不良である。
【００１６】
［装置の構成］
図3のブロック図により実施例の撮影装置101の構成例を示す。撮像光学系102は、撮影対象のシーンからの光をCCDやCMOSセンサなどの撮像デバイス103に結像させる。撮像デバイス103は、結像された光学像を光電変換した電気信号を出力する。信号処理部104は、撮像デバイス103が出力する電気信号に所定の処理を施して、シーンの画像データを生成し、画像データを記憶部105に格納したり、画像データが表す画像をLCDなどの表示部106に表示する。なお、表示部106に表示される画像は、記憶部105に格納された画像データが表す画像の場合もある。
【００１７】
撮影制御部107は、撮像光学系102のズーム、焦点、絞り、シャッタなどの制御、撮像デバイス103の制御、信号処理部104の制御、記憶部105の制御を行い、撮影装置101全体の動作を制御する。角速度センサ108は、撮影時の撮影装置101の角速度情報を取得し、角速度情報を撮影制御部107に出力する。撮影制御部107は、画像データの撮影時の角速度情報を当該画像データのヘッダ情報などに付加する。
【００１８】
撮影操作部109は、ユーザ指示を入力し、ユーザ指示を撮影制御部107に出力する。また、表示部106はタッチパネルを有し、表示部106に表示されるグラフィカルユーザインタフェイス(GUI)とタッチパネルは撮影操作部109の一部として機能する。撮影制御部107は、ワンチップマイクロプロセッサなどで構成され、内蔵RAMや記憶部105をワークメモリとして、内蔵ROMや記憶部105に格納されたプログラムを実行する。それにより、撮影装置101の各部の制御、および、後述するパノラマ画像の撮影処理を含む各種画像処理が実現される。
【００１９】
図4のブロック図により信号処理部104におけるパノラマ合成に関連する処理部の構成例を示す。画像判定部1041は、撮影制御部107の制御に従い、撮影された画像データを記憶部105から取得し、撮影された画像データが表す画像（以下、撮影画像）に露出不良があるか否かを判定する。輝度補正部1042は、撮影画像の輝度補正を行う。
【００２０】
パノラマ合成部1043は、複数の撮影画像をつなぎ合わせるパノラマ合成を行う。位置合わせ部1044は、異なる露出で撮影された撮影画像の間の位置合わせを行う。HDR合成部1045は、HDR合成を行う。バッファメモリ1046は、信号処理部104における各種処理に使用されるバッファメモリである。
【００２１】
［パノラマ画像の撮影処理］
図5のフローチャートによりパノラマ画像の撮影処理を説明する。撮影操作部109やGUIを介してパノラマ撮影が指示されると、撮影制御部107は、撮影時の露出を設定する(S11)。ユーザが撮影操作部109のレリーズボタンを押すと、撮影制御部107は、撮影開始と判定する(S12)。そして、撮像光学系102と撮像デバイス103を制御して撮影を行い、信号処理部104を制御して撮影された画像データを記憶部105に保存する(S13)。
【００２２】
ユーザがGUIに表示される「撮影終了ボタン」をタッチすることで撮影が終了する。従って、撮影終了ボタンが押されるまで、ステップS14の判定により処理はステップS15に進み、撮影制御部107による露出の変更(S15)と変更後の露出による撮影(S13)が継続される。言い替えれば、ユーザは、撮影開始を指示し、撮影装置101の画角をパノラマ撮影範囲の例えば左端から右端に向けて移動し、画角が右端に達したと判断すると撮影終了を指示する。その間、撮影制御部107は、例えば三つの異なる露出を順次切り替えるなど、露出を順次変更して連続撮影を行う。
【００２３】
露出の変更は、例えば、シャッタスピードの変更により行えばよいが、ISO感度や絞りなどの変更、あるいは、それらの組み合わせによって行ってもよい。また、例えば1/2段または1/3段露出を変えるが、露出の変更量は任意である。なお、撮影の終了指示はGUIの「撮影終了ボタン」に限らず、レリーズボタンが再度押されると撮影を終了してもよい。また、図3には示さない音声認識部による音声（例えば「撮影開始」「撮影終了」）の認識結果に基づき、撮影制御部107が撮影の開始と終了を行ってもよい。
【００２４】
撮影終了が指示されると処理はステップS16へ進み、画像判定部1041は、撮影された各画像データに露出不良があるか否かの判定を行う(S16)。白飛びの判定は、白飛び判定用の閾値（以下、白閾値）を用いて白閾値以上の画素値を有する画素数が、画像データ全体の画素数に占める割合によって判定される。同様に、黒潰れの判定は、黒潰れ判定用の閾値（以下、黒閾値）を用いて黒閾値以下の画素値を有する画素数が、画像データ全体の画素数に占める割合によって判定される。
【００２５】
例えば、白閾値=240として、G成分の値（以下、G値）≧240の画素数が1%以上の画像データは白飛びがあると判定される。また、黒閾値=16として、G値≦16の画素数が1%以上の画像データは黒潰れがあると判定される。なお、上記の閾値や割合は一例であり、他の閾値や割合を任意の設定することができる。
【００２６】
次に、輝度補正部1042は、露出不良があると判定された画像データについて、画像のテクスチャを検出可能にする画像補正を行う(S17)。続いて、パノラマ合成部1043はパノラマ合成を行い(S18)、位置合わせ部1044はパノラマ合成された画像間の位置合わせを行う(S19)。輝度補正、パノラマ合成、位置合わせの詳細は後述する。
【００２７】
次に、HDR合成部1045は、位置合わせされた画像を用いてHDR合成を行う(S20)。HDR合成には、例えば、特許文献1に開示された技術などを用いる。そして、信号処理部104は、合成された画像データを記憶部106に保存し(S21)、パノラマ画像の撮影処理を終了する。
【００２８】
●輝度補正部
図6のフローチャートにより輝度補正部1042の処理(S17)を説明する。輝度補正部1042は、露出不良があると判定された画像データ（以下、補正画像データ）を取得し(S61)、フィルタ処理により、補正画像データを全体階調画像データと局所階調画像データに分離する(S62)。例えば、下式のガウシアンフィルタにより補正画像データを平滑化して全体階調画像データを分離する。また、補正画像データの各画素の値を、全体階調画像データの対応する画素の値で除算して、局所階調画像データを分離する。
G(x, y) = (1/2πσ2)exp{-(x2+y2)/2σ2}      …(1)
【００２９】
ガウシアンフィルタのカーネルサイズσとして入力画像の1/10のサイズを使用するが、サイズはこれに限定されない。また、ガウシアンフィルタの代わりに、移動平均フィルタやバイラテラルフィルタなどの他の平滑化フィルタを用いてもよい。
【００３０】
次に、輝度補正部1042は、露出不良の判定結果に基づき全体階調画像データのトーンカーブを補正する(S63)。輝度補正部1042は、入力画素値と出力画素値の明るさの対応関係が記述された、バッファメモリ1046に予め格納された階調補正テーブルを参照してトーンカーブの補正を実施する。
【００３１】
図7により階調補正テーブルの一例を示す。輝度補正部1042は、図7(a)に示すようなハイライト部の明るさを小さくする階調補正テーブルを参照して、白飛びがあると判定された補正画像データの全体階調画像データのトーンカーブを補正する。同様に、図7(b)に示すようなシャドウ部の明るさを大きくする階調補正テーブルを参照して、黒潰れがあると判定された補正画像データの全体階調画像データのトーンカーブを補正する。
【００３２】
次に、輝度補正部1042は、局所階調画像データと、トーンカーブを補正した全体階調画像データを合成し(S64)、合成後の画像データ（輝度補正画像データ）をバッファメモリ1046に保存する(S65)。
【００３３】
●パノラマ合成部
図8のフローチャートによりパノラマ合成部1043の処理(S18)を説明する。パノラマ合成部1043は、同一露出で撮影された複数の画像データ（同一露出画像データ群）を取得し(S71)、画像データごとに対応付けられた撮影時の角速度センサ108の出力値（角速度情報）を取得する(S72)。角速度情報は、撮像部（撮像光学系102と撮像デバイス103）の光軸に直交する撮影装置101のパン方向とチルト方向の角速度に相当し、撮影された画像データごとに得られる。
【００３４】
次に、パノラマ合成部1043は、角速度情報を用いて、公知の技術により対応する画像データの暈けやパースを補正し(S73)、角速度情報と各画像データの撮影タイミングに基づき、同一露出画像データ群の複数の撮影画像を平面に配置する(S74)。画像の配置は、被写体を想定した被写体面（平面）を三次元空間上に設定し、角速度情報と各画像データの撮影タイミングに基づく被写体面上の位置に撮影画像を射影することで行われる。
【００３５】
次に、パノラマ合成部1043は、同一露出画像データ群の中から一つの画像データ（以下、選択画像）を選択し(S75)、選択画像と、選択画像に隣接する、同一露出画像データ群の撮影画像（以下、隣接画像）の間の重複領域を設定する(S76)。重複領域の設定の詳細は後述する。そして、重複領域に白飛び領域や黒潰れ領域（以下、露出不良領域）が含まれる場合、露出不良領域を重複領域から除外する(S77)。
【００３６】
例えば、重複領域を所定サイズの領域にブロック分割し、分割領域においてG値≧240の画素が分割領域の画素の90%以上を占める場合、当該分割領域の画素をすべてを白飛び領域として除外する。また、分割領域においてG値≦16の画素が分割領域の画素の90%以上を占める場合、当該分割領域の画素をすべてを黒潰れ領域として除外する。なお、上記の閾値や割合は一例であり、他の閾値や割合を任意の設定することができる。
【００３７】
次に、パノラマ合成部1043は、露出不良領域を除外した重複領域における画素値の差が最小になるように隣接画像を幾何変換する(S78)。重複領域における「画素値の差」については、重複領域の設定と一緒に後述する。幾何変換は、例えば、下式に示すアフィン変換により行われ、アフィン変換パラメータa、b、c、d、e、fを変化させて、重複領域における画素値の差が最小になるアフィン変換パラメータが設定される。
┌  ┐ ┌     ┐┌ ┐
│x'│ │a b c││x│
│y'│=│d e f││y│      …(2)
│1 │ │0 0 1││1│
└  ┘ └     ┘└ ┘
ここで、(x, y)は処理前の座標、
(x', y')は処理後の座標
a、b、d、eは回転移動パラメータ（回転角θの場合はa=cosθ、b=-sinθ、d=sinθ、e=cosθ）、
cは水平方向の移動量、
fは垂直方向の移動量。
【００３８】
次に、パノラマ合成部1043は、同一露出画像データ群のすべての画像データについてステップS75からS78の処理を実施したか否かを判定し(S79)、同一露出画像データ群に未処理の画像データがあれば処理をステップS75に戻す。未処理の画像データがない場合、パノラマ合成部1043は、露出が異なる複数の同一露出画像データ群についてステップS71からS78の合成処理を実施したか否かを判定し(S80)、未処理の同一露出画像データ群があれば処理をステップS71に戻す。また、未処理の同一露出画像データ群がない場合は合成処理を終了する。
【００３９】
●位置合わせ部
図9のフローチャートにより位置合わせ部1044の処理(S19)を説明する。位置合わせ部1044は、ステップS18でパノラマ合成された複数の画像データを取得し(S81)、それら画像データから位置合わせの基準になる基準画像データを選択する(S82)。例えば、複数の露出の中で、適正露出に最も近い露出で撮影された同一露出画像データ群からパノラマ合成された画像データを基準画像データに選択する。あるいは、複数の露出の中で、中間的な露出で撮影された同一露出画像データからパノラマ合成された画像データを基準画像データとして選択してもよい。
【００４０】
次に、位置合わせ部1044は、取得した複数の画像データから位置合わせ対象の画像データ（以下、位置合わせ画像データ）を選択し(S83)、基準画像データおよび位置合わせ画像データに露出不良があるか否かを判定する(S84)。露出不良があるか否かの判定には、ステップS15と同一の方法を用いればよい。
【００４１】
露出不良がある場合、位置合わせ部1044は、露出不良領域を含む画像データ（パノラマ合成前の画像データ）の角速度情報を参照して、露出不良領域を含む画像データに対応する輝度補正画像データを取得する(S85)。
【００４２】
次に、位置合わせ部1044は、露出不良領域については輝度補正画像データから特徴点を検出し、その他の領域については輝度が未補正の画像データから特徴点を検出する(S86)。特徴点の検出には、フィルタ処理によりエッジや曲率を抽出して、エッジや曲線の交点を求める方法や、テンプレートマッチングを用いる方法を用いればよい。
【００４３】
次に、位置合わせ部1044は、検出した各特徴点について画像間の横方向と縦方向の位置ずれ量を算出し(S87)、位置ずれ量の総和が最小になるようにアフィン変換パラメータを算出して、位置合わせ画像データの幾何変換を行う(S88)。そして、基準画像データを除くすべての画像データ（パノラマ合成後の画像データ）にステップS83からS88の処理を実施したか否かを判定する(S89)。未処理の画像データがある場合は処理をステップS83に戻し、未処理の画像データがない場合は位置合わせ処理を終了する。
【００４４】
［重複領域の設定と画素値の差］
図10により重複領域の設定の詳細について説明する。例えば、加速度情報を用いて二つの射影後画像AとBが、図10(a)に示すように配置されたと仮定する。撮影装置101の位置の微妙なずれやパースの影響を受けて平面に射影されるため、画像Aの画素中心と、画像Bの画素中心は一致しない可能性が高い。そればかりか、画素サイズ（隣接画素間の中心距離）が異なる場合もある。
【００４５】
そこで、図10(b)に示すように、画像Aと画像Bの間に仮想重複領域を設定する。画像Aと画像Bは同一平面に射影されるので図10(b)に示すような空間がある訳ではないが、仮想重複領域を設定することで微妙にずれた画素の比較が可能になる。仮想重複領域の解像度は任意であるが、例えば、画像Aと画像Bの画素サイズの平均に対応する解像度を設定すればよい。
【００４６】
図10(b)の場合、仮想重複領域の画素Pに対応する、画像A上の座標をPA、画像B上の座標をPBとする。座標PAおよびPBは、各画像の画素中心からずれた位置に存在するため、それら座標を包含する画素の値を画素PAおよびPBの値とすることはできない。
【００４７】
そこで、画素PAおよびPBの近傍画素の値の補間により、画素PAおよびPBの値を算出する。例えば、図10(b)に示すように、近傍四画素の値を用いるバイリニア補間により座標PAおよびPBの値を決定する。なお、参照する近傍画素の数を増やして、バイキュービック補間などの補間処理を行ってもよい。このようにして決定した画素PAの値と画素PBAの値の差（仮想重複領域の画素Pの誤差）を隣接画像の幾何変換(S78)における「画素値の差」として用いる。
【００４８】
このように、露出不良の判定結果に基づき、輝度補正、パノラマ合成、位置合わせを行うことにより、画像のつなぎ目のずれが抑制された、不自然さがないHDRかつパノラマ画像を取得することができる。
【実施例２】
【００４９】
以下、本発明にかかる実施例2の画像処理装置および画像処理方法を説明する。なお、実施例2において、実施例1と略同様の構成については、同一の符号を付して、その詳細な説明を省略する場合がある。
【００５０】
実施例1では、露出を変化させて撮影した複数の画像を同一露出ごとにパノラマ合成し、複数のパノラマ画像の位置合わせを行った後、HDR合成を行う方法を説明した。実施例2では、露出を変化させて撮影した画像を撮影順に貼り合わせてパノラマ合成する方法を説明する。
【００５１】
図11のフローチャートにより実施例2のパノラマ画像の撮影処理を説明する。撮影操作部109やGUIを介してパノラマ撮影が指示されると、撮影制御部107は、撮影時の露出を設定する(S31)。ユーザが撮影操作部109のレリーズボタンを押すと、撮影制御部107は、撮像光学系102と撮像デバイス103を制御して撮影を行い、信号処理部104を制御して撮影された画像データを記憶部105に保存する(S32)。
【００５２】
次に、撮影制御部107は、撮影終了が指示されたか否かを判定し(S33)、撮影終了が指示された場合はパノラマ画像の撮影処理を終了する。撮影終了が指示されていない場合、撮影制御部107は露出を変更する(S34)。ユーザが撮影操作部109のレリーズボタンを押すと、撮影制御部107は、撮像光学系102と撮像デバイス103を制御して撮影を行い、信号処理部104を制御して撮影された画像データを記憶部105に保存する(S35)。なお、ユーザは、ステップS32の撮影時における画角との間に重複領域が残るように撮影装置101の画角を移動してレリーズボタンを押す。
【００５３】
次に、パノラマ合成部1043は、角速度情報に基づいて、最初に撮影された画像データ（以下、第一の画像データ）と次に撮影された画像データ（以下、第二の画像データ）の間の重複領域を抽出する(S36)。重複領域に対してステップS37からS40の処理が行われ、非重複領域に対してステップS41の処理が行われる。
【００５４】
画像判定部1041は、重複領域に露出不良があるか否かを判定する(S37)。輝度補正部1042は、重複領域に露出不良があると判定された画像データについて、画像のテクスチャを検出可能にする画像補正を行って、輝度補正画像データを生成する(S38)。位置合わせ部1044は、輝度が未補正の画像データまたは輝度補正画像データにおける重複領域の画素値に基づいて、第二の画像データの位置を第一の画像データに位置に合わせる位置合わせを行う(S39)。HDR合成部1045は、重複領域について第一の画像データと位置合わせ後の第二の画像データをHDR合成する(S40)。
【００５５】
一方、輝度補正部1042は、非重複領域について、第一および第二の画像データの間の露出補正を行って、非重複領域の露出補正画像データを生成する(S41)。露出補正として、画像ごとに全画素値の平均値（以下、画素平均値）を算出し、二つの画像の画素平均値を同一にする補正が行われる。画素平均値の算出に、例えば、RGB値をCIELab値に変換した際の明度値Lを用いるが、G値やCIEXYZ値のY値を用いてもよい。また、平均値ではなく、最頻値や中央値などの他の統計値を用いてもよい。
【００５６】
次に、信号処理部104は、ステップS40でHDR合成された重複領域の画像データおよびステップS41で生成された非重複領域の露出補正画像データによって記憶部105に保存された第一の画像データを置き換える(S42)。その後、処理はステップS33に戻され、撮影終了が指示されていない場合は、露出の変更(S34)と撮影(S35)が行われ、ステップS35で新たに撮影された画像データを第二の画像データとしてステップS36以降の処理が繰り返される。
【００５７】
このように、重複領域を分離して露出不良の判定を行い、露出不良の判定結果に基づき、重複領域の輝度補正、位置合わせ、HDR合成、並びに、非重複領域の露出補正を行う。これにより、画像のつなぎ目のずれが抑制された、不自然さがないHDRかつパノラマ画像を取得することができる。
【００５８】
［変形例］
図3、図5には、本発明を撮影装置101に適用する例を説明した。しかし、撮影装置101によって異なる複数の露出によって撮影された複数の画像データを、例えば記憶メディア、シリアルバスまたはネットワークを介して画像処理装置に入力し、画像処理装置が図5に示すステップS16からS21の処理を実行してもよい。コンピュータ機器または専用ハードウェアによって実現される、そのような画像処理装置は、図4に示す信号処理部104の構成を備え、本発明の範囲に含まれる。
【００５９】
同様に、図11には、本発明を撮影装置101に適用する例を説明した。しかし、撮影装置101が露出を変更して順次撮影する画像データを、例えばシリアルバスまたはネットワークを介して画像処理装置に入力し、画像処理装置が図11に示すステップS36からS42の処理を実行してもよい。コンピュータ機器または専用ハードウェアによって実現される、そのような画像処理装置は、図4に示す信号処理部104の構成を備え、本発明の範囲に含まれる。
【００６０】
［その他の実施例］
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、一以上の機能を実現する回路（例えば、ASIC）によっても実現可能である。
【符号の説明】
【００６１】
104 … 信号処理部、1041 … 画像判定部、1043 … パノラマ合成部、1045 … HDR合成部
【図１】
0006630176.tif 000002
【図２】
0006630176.tif 000003
【図３】
0006630176.tif 000004
【図４】
0006630176.tif 000005
【図５】
0006630176.tif 000006
【図６】
0006630176.tif 000007
【図７】
0006630176.tif 000008
【図８】
0006630176.tif 000009
【図９】
0006630176.tif 000010
【図１０】
0006630176.tif 000011
【図１１】
0006630176.tif 000012