(57)【特許請求の範囲】
【請求項１】
露出条件の異なる第１画像及び第２画像を用いて合成画像を生成する画像合成装置であって、
前記第１画像及び前記第２画像を入力する入力部と、
前記第１画像と前記第２画像との露出条件を合わせる露出変換関数を推定する前に、前記第１画像及び前記第２画像の差分に基づいて、各画素における動被写体尤度を算出する尤度算出部と、
前記動被写体尤度に基づいて、前記露出変換関数を推定する露出推定部と、
前記露出変換関数を用いて前記第１画像及び前記第２画像を合成する合成部と、
を備え、
前記露出推定部は、前記動被写体尤度の高い画素ほど当該画素の重みを小さく設定して、前記露出変換関数を推定する、
画像合成装置。
【請求項２】
前記尤度算出部は、前記第１画像の画素の近傍画素、及び、対応する前記第２画像の画素の近傍画素を正規化し、正規化された近傍画素間の差分に基づいて、各画素における前記動被写体尤度を算出する請求項１に記載の画像合成装置。
【請求項３】
前記尤度算出部は、
前記第１画像の解像度をそれぞれ段階的に変更することで得られる複数の第１処理画像、及び、前記第２画像の解像度をそれぞれ段階的に変更することで得られる複数の第２処理画像を用いて、各画素の差分を解像度ごとに算出し、解像度ごとに得られた差分を重み付けすることによって各画素の前記動被写体尤度を算出する請求項１又は２に記載の画像合成装置。
【請求項４】
前記尤度算出部は、前記第１画像と前記第２画像との差分の信頼度、及び前記第１処理画像又は前記第２処理画像の画像サイズもしくは解像度に基づいて、解像度ごとに得られた差分を重み付けする請求項３に記載の画像合成装置。
【請求項５】
前記合成部は、
前記第１画像及び前記第２画像の差分に基づいて各画素における動被写体尤度を算出し、該動被写体尤度及び前記露出変換関数を用いて前記第１画像及び前記第２画像を合成する請求項１〜４の何れか一項に記載の画像合成装置。
【請求項６】
前記合成部は、
前記第１画像又は前記第２画像の元の輝度値の大きさに基づいて、前記第１画像及び前記第２画像の画素値の合成比を示す輝度ベースマスクを生成し、
前記第１画像及び前記第２画像の差分に基づいて、前記第１画像及び前記第２画像の画素値の合成比を示す被写体ぶれマスクを生成し、
前記輝度ベースマスク及び前記被写体ぶれマスクを結合させて、前記第１画像及び前記第２画像の画素値を合成する合成マスクを生成する請求項１〜５の何れか一項に記載の画像合成装置。
【請求項７】
前記合成部は、
前記第１画像及び前記第２画像の差分に基づいて、各画素における動被写体尤度を算出し、
該動被写体尤度に基づいて前記被写体ぶれマスクを生成する請求項６に記載の画像合成装置。
【請求項８】
前記合成部は、
前記第１画像の解像度をそれぞれ段階的に変更することで得られる複数の第１処理画像、及び、前記第２画像の解像度をそれぞれ段階的に変更することで得られる複数の第２処理画像を用いて、各画素の差分を解像度ごとに算出し、解像度ごとに得られた差分を重み付けすることによって各画素の前記動被写体尤度を算出し、該動被写体尤度に基づいて前記被写体ぶれマスクを生成する請求項７に記載の画像合成装置。
【請求項９】
前記合成部は、
前記動被写体尤度が所定の閾値以下となる画素が隣接する領域を検出し、各領域に対して識別ラベルを付与し、領域ごとに前記被写体ぶれマスクを生成する請求項８に記載の画像合成装置。
【請求項１０】
前記合成部は、
前記被写体ぶれマスクとして、前記第１画像及び前記第２画像のうち強制的に輝度値の低い画素値を選択させる第１マスク、又は、前記第１画像及び前記第２画像のうち強制的に輝度値の高い画素値を選択させる第２マスクを生成する請求項６〜９の何れか一項に記載の画像合成装置。
【請求項１１】
前記合成部は、
前記輝度ベースマスクに対して、前記第１マスクを反転させたマスクを乗算し、又は、前記第２マスクを加算することで、前記合成マスクを生成する請求項１０に記載の画像合成装置。
【請求項１２】
前記第１画像と前記第２画像との間の画素の動き情報を取得する動き情報取得部をさらに備え、
前記尤度算出部は、前記動き情報に基づいて前記第１画像及び前記第２画像を補正し、補正後の前記第１画像及び前記第２画像を用いて各画素の前記動被写体尤度を算出する請求項１〜１１の何れか一項に記載の画像合成装置。
【請求項１３】
前記第１画像は、露出条件の異なる画像同士が合成された画像からなる請求項１〜１２の何れか一項に記載の画像合成装置。
【請求項１４】
露出条件の異なる第１画像及び第２画像を用いて合成画像を生成する画像合成方法であって、
前記第１画像及び前記第２画像を入力し、
前記第１画像と前記第２画像との露出条件を合わせる露出変換関数を推定する前に、前記第１画像及び前記第２画像の差分に基づいて、各画素における動被写体尤度を算出し、
前記動被写体尤度の高い画素ほど当該画素の重みを小さく設定して、前記露出変換関数を推定し、
前記露出変換関数を用いて前記第１画像及び前記第２画像を合成する、
画像合成方法。
【請求項１５】
露出条件の異なる第１画像及び第２画像を用いて合成画像を生成するようにコンピュータを動作させる画像合成プログラムであって、
前記第１画像及び前記第２画像を入力する入力部、
前記第１画像と前記第２画像との露出条件を合わせる露出変換関数を推定する前に、前記第１画像及び前記第２画像の差分に基づいて、各画素における動被写体尤度を算出する尤度算出部、
前記動被写体尤度の高い画素ほど当該画素の重みを小さく設定して、前記露出変換関数を推定する露出推定部、及び
前記露出変換関数を用いて前記第１画像及び前記第２画像を合成する合成部として前記コンピュータを動作させる画像合成プログラム。
【請求項１６】
露出条件の異なる第１画像及び第２画像を用いて合成画像を生成するようにコンピュータを動作させる画像合成プログラムを記録した記録媒体であって、
前記第１画像及び前記第２画像を入力する入力部、
前記第１画像と前記第２画像との露出条件を合わせる露出変換関数を推定する前に、前記第１画像及び前記第２画像の差分に基づいて、各画素における動被写体尤度を算出する尤度算出部、
前記動被写体尤度の高い画素ほど当該画素の重みを小さく設定して、前記露出変換関数を推定する露出推定部、及び
前記露出変換関数を用いて前記第１画像及び前記第２画像を合成する合成部として前記コンピュータを動作させる画像合成プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像合成装置、画像合成方法、画像合成プログラム及び記録媒体に関するものである。
【背景技術】
【０００２】
従来、画像合成装置として、ハイダイナミックレンジ合成（ＨＤＲ（High  Dynamic  Range）合成）を行うものが知られている（特許文献１参照）。この装置は、異なる露出条件にて順次撮像された複数の画面を合成することによって、映像信号のダイナミックレンジを見かけ上拡大させている。これにより、逆光時などにおいて発生していた「白とび」又は「黒つぶれ」（輝度レベルが著しく高い又は低い部分）を解消する。また、この装置では、手ぶれによって生じる複数の画面間の撮像時の経時的な位置ずれに対応して、複数の画面の各々の座標変換を行った後にＨＤＲ合成を行う。具体的には、画像の動き情報を用いて、２つの画面の共通エリア部分を用いてＨＤＲ合成を行う。これにより、被写体に対する画面（撮像素子）の位置ずれ（画面ぶれ）を解消する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３１１０７９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、被写体が動体である場合には、順次撮像された複数の画像において被写体位置が異なる位置となる。このため、特許文献１記載の画像合成装置にあっては、被写体が移動して色が変化している場合であっても露出が異なることで色が変化しているものとして合成する。よって、適切な合成画像を生成できないおそれがある。当技術分野においては、被写体が移動した場合であっても適切な合成画像を生成することができる画像合成装置、画像合成方法及び画像合成プログラム並びに当該画像合成プログラムを格納した記録媒体が望まれている。
【課題を解決するための手段】
【０００５】
すなわち、本発明の一側面に係る画像合成装置は、露出条件の異なる第１画像及び第２画像を用いて合成画像を生成する装置である。この装置は、入力部、尤度算出部、露出推定部及び合成部を備える。入力部は、第１画像及び第２画像を入力する。尤度算出部は、第１画像と第２画像との露出条件を合わせる露出変換関数を推定する前に、第１画像及び第２画像の差分に基づいて、各画素における動被写体尤度を算出する。露出推定部は、動被写体尤度に基づいて露出変換関数を推定する。合成部は、露出変換関数を用いて第１画像及び第２画像を合成する。さらに、露出推定部は、動被写体尤度の高い画素ほど当該画素の重みを小さく設定して、露出変換関数を推定する。
【０００６】
この画像構成装置では、第１画像と第２画像との露出を合わせる前に、第１画像と第２画像との差分に基づいて各画素における動被写体尤度を算出する。そして、動被写体尤度に基づいて第１画像と第２画像との露出条件を合わせる露出変換関数を推定する。このように、露出を合わせる際に動被写体尤度が考慮されるため、例えば被写体の動きで色が変化している可能性がある領域を除いて露出を合わせることができる。よって、適切な合成画像を生成することが可能となる。
【０００７】
一実施形態においては、尤度算出部は、第１画像の画素の近傍画素、及び、対応する第２画像の画素の近傍画素を正規化し、正規化された近傍画素間の差分に基づいて、各画素における動被写体尤度を算出してもよい。このように構成することで、各画素における動被写体尤度を適切に算出することができる。
【０００８】
一実施形態においては、尤度算出部は、第１画像の解像度をそれぞれ段階的に変更することで得られる複数の第１処理画像、及び、第２画像の解像度をそれぞれ段階的に変更することで得られる複数の第２処理画像を用いて、各画素の差分を解像度ごとに算出し、解像度ごとに得られた差分を重み付けすることによって各画素の動被写体尤度を算出してもよい。このように構成することで、各画素の動被写体尤度を精度良く算出することができる。
【０００９】
一実施形態においては、尤度算出部は、第１画像と第２画像との差分の信頼度、及び第１処理画像又は第２処理画像の画像サイズもしくは解像度に基づいて、解像度ごとに得られた差分を重み付けしてもよい。このように構成することで、各画素の動被写体尤度をさらに精度良く算出することができる。
【００１０】
一実施形態においては、合成部は、第１画像及び第２画像の差分に基づいて各画素における動被写体尤度を算出し、該動被写体尤度及び露出変換関数を用いて第１画像及び第２画像を合成してもよい。このように構成することで、被写体の動きを考慮して合成することができるので、適切な合成画像を生成することが可能となる。
【００１１】
一実施形態においては、合成部は、第１画像又は第２画像の元の輝度値の大きさに基づいて、第１画像及び第２画像の画素値の合成比を示す輝度ベースマスクを生成してもよい。そして、合成部は、第１画像及び第２画像の差分に基づいて、第１画像及び第２画像の画素値の合成比を示す被写体ぶれマスクを生成してもよい。さらに、合成部は、輝度ベースマスク及び被写体ぶれマスクを結合させて、第１画像及び第２画像の画素値を合成する合成マスクを生成してもよい。
【００１２】
このように構成することで、露出をあわせた状態で、第１画像及び第２画像の差分に基づいて、輝度値を基準に合成する輝度ベースマスクとは異なる被写体ぶれマスクを生成することができる。このため、被写体ぶれが発生する領域のみを異なる処理で合成させることが可能となる。よって、被写体ぶれを抑制させた合成画像を生成することができる。
【００１３】
一実施形態においては、合成部は、第１画像及び第２画像の差分に基づいて、各画素における動被写体尤度を算出し、該動被写体尤度に基づいて被写体ぶれマスクを生成してもよい。このように構成することで、動被写体尤度に基づいて被写体ぶれが発生する領域を特定して被写体ぶれマスクを生成することができる。
【００１４】
一実施形態においては、合成部は、第１画像の解像度をそれぞれ段階的に変更することで得られる複数の第１処理画像、及び、第２画像の解像度をそれぞれ段階的に変更することで得られる複数の第２処理画像を用いて、各画素の差分を解像度ごとに算出し、解像度ごとに得られた差分を重み付けすることによって各画素の動被写体尤度を算出し、該動被写体尤度に基づいて被写体ぶれマスクを生成してもよい。このように構成することで、各画素の動被写体尤度を精度良く算出することができる。
【００１５】
一実施形態においては、合成部は、動被写体尤度が所定の閾値以下となる画素が隣接する領域を検出し、各領域に対して識別ラベルを付与し、領域ごとに被写体ぶれマスクを生成してもよい。このように構成することで、画像内で異なる動きをする動体が存在した場合であっても適切に合成することができる。
【００１６】
一実施形態においては、合成部は、被写体ぶれマスクとして、第１画像及び第２画像のうち強制的に輝度値の低い画素値を選択させる第１マスク、又は、第１画像及び第２画像のうち強制的に輝度値の高い画素値を選択させる第２マスクを生成してもよい。このように構成することで、被写体が動いている可能性のある領域については、第１画像及び第２画像の何れか一方の画像を強制的に選択させることができる。よって、被写体が動くことで合成後の画像において被写体が２重や３重にずれて表示されることを回避することが可能となる。
【００１７】
一実施形態においては、合成部は、輝度ベースマスクに対して、第１マスクを反転させたマスクを乗算し、又は、第２マスクを加算することで、合成マスクを生成してもよい。このように構成することで、被写体のぶれを適切に補正する合成マスクを生成することができる。
【００１８】
一実施形態においては、画像処理装置は、第１画像と第２画像との間の画素の動き情報を取得する動き情報取得部をさらに備えてもよい。そして、尤度算出部は、動き情報に基づいて第１画像及び第２画像を補正し、補正後の第１画像及び第２画像を用いて各画素の動被写体尤度を算出してもよい。このように構成することで、撮像素子が被写体に対して相対的に動く場合であっても、撮像素子の動きを補正して各画素の動被写体尤度を算出することができる。
【００１９】
一実施形態においては、第１画像は、露出条件の異なる画像同士が合成された画像であってもよい。このように構成することで、露出条件の異なる複数の画像を順次合成して最終的な合成画像を生成することができる。
【００２０】
また、本発明の他の側面に係る画像処理方法は、露出条件の異なる第１画像及び第２画像を用いて合成画像を生成する方法である。この方法では、第１画像及び第２画像を入力する。そして、第１画像と第２画像との露出条件を合わせる露出変換関数を推定する前に、第１画像及び第２画像の差分に基づいて、各画素における動被写体尤度を算出する。そして、動被写体尤度の高い画素ほど当該画素の重みを小さく設定して、露出変換関数を推定する。さらに、露出変換関数を用いて第１画像及び第２画像を合成する。
【００２１】
また、本発明のさらに他の側面に係る画像合成プログラムは、露出条件の異なる第１画像及び第２画像を用いて合成画像を生成するようにコンピュータを動作させるプログラムである。このプログラムは、コンピュータを、入力部、尤度算出部、露出推定部及び合成部として動作させる。入力部は、第１画像及び第２画像を入力する。尤度算出部は、第１画像と第２画像との露出条件を合わせる露出変換関数を推定する前に、第１画像及び第２画像の差分に基づいて、各画素における動被写体尤度を算出する。露出推定部は、動被写体尤度の高い画素ほど当該画素の重みを小さく設定して、露出変換関数を推定する。合成部は、露出変換関数を用いて第１画像及び第２画像を合成する。
【００２２】
また、本発明のさらに他の側面に係る記録媒体は、露出条件の異なる第１画像及び第２画像を用いて合成画像を生成するようにコンピュータを動作させる画像合成プログラムを記録した記録媒体である。このプログラムは、コンピュータを、入力部、尤度算出部、露出推定部及び合成部として動作させる。入力部は、第１画像及び第２画像を入力する。尤度算出部は、第１画像と第２画像との露出条件を合わせる露出変換関数を推定する前に、第１画像及び第２画像の差分に基づいて、各画素における動被写体尤度を算出する。露出推定部は、動被写体尤度の高い画素ほど当該画素の重みを小さく設定して、露出変換関数を推定する。合成部は、露出変換関数を用いて第１画像及び第２画像を合成する。
【００２３】
本発明の他の側面に係る画像合成方法、画像合成プログラム及び記録媒体によれば、上述した画像合成装置と同様の効果を奏する。
【発明の効果】
【００２４】
本発明の種々の側面及び実施形態によれば、被写体が移動した場合であっても適切な合成画像を生成することができる画像合成装置、画像合成方法及び画像合成プログラム並びに当該画像合成プログラムを格納した記録媒体が提供される。
【図面の簡単な説明】
【００２５】
【図１】一実施形態に係る画像合成装置を搭載した携帯端末の機能ブロック図である。
【図２】図１の画像合成装置が搭載される携帯端末のハードウェア構成図である。
【図３】図１に示す画像合成装置の前処理動作を示すフローチャートである。
【図４】動き検出を説明する概要図である。
【図５】差分画像を説明する概要図である。
【図６】多重解像度を用いて差分画像を導出する例を説明する概要図である。
【図７】露出変換関数の一例を示すグラフである。
【図８】輝度変換関数を説明する概要図である。
【図９】図１に示す画像合成装置の合成動作を示すフローチャートである。
【図１０】合成処理の流れを説明する概要図である。
【図１１】合成マスクを説明する概要図である。（Ａ）は、露出変換関数の一例を示すグラフである。（Ｂ）は、露出変換関数同士を繋ぎ合わせる際の重みの一例を示すグラフである。
【図１２】輝度ベースマスクを説明する概要図である。（Ａ）は、入力画像の一例である。（Ｂ）は、輝度ベースマスクの一例である。
【図１３】差分画像の被写体ぶれ領域のラベリングを説明する概要図である。（Ａ）は、差分画像の一例である。（Ｂ）は、ラベリングした差分画像の一例である。
【図１４】被写体ぶれマスクの生成処理の流れを説明する概要図である。
【図１５】合成マスクの生成処理の流れを説明する概要図である。
【発明を実施するための形態】
【００２６】
以下、添付図面を参照して本発明の実施形態について説明する。なお、各図において同一又は相当部分には同一の符号を付し、重複する説明を省略する。
【００２７】
本実施形態に係る画像合成装置は、露出条件の異なる複数の画像を合成して一つの合成画像を生成する装置である。この画像合成装置は、例えば、異なる露出条件で順次撮像された複数の画像を合成して、映像信号のダイナミックレンジを見かけ上拡大させるＨＤＲ合成を行う場合に採用される。本実施形態に係る画像合成装置は、例えば、携帯電話、デジタルカメラ、ＰＤＡ（Personal  Digital  Assistant）等、リソースに制限のあるモバイル端末に好適に搭載されるものであるが、これらに限られるものではなく、例えば通常のコンピュータシステムに搭載されてもよい。なお、以下では、説明理解の容易性を考慮し、本発明に係る画像合成装置の一例として、カメラ機能を備えた携帯端末に搭載される画像合成装置を説明する。
【００２８】
図１は、本実施形態に係る画像合成装置１を備える携帯端末２の機能ブロック図である。図１に示す携帯端末２は、例えばユーザにより携帯される移動端末であり、図２に示すハードウェア構成を有する。図２は、携帯端末２のハードウェア構成図である。図２に示すように、携帯端末２は、物理的には、ＣＰＵ（Central  Processing  Unit）１００、ＲＯＭ（Read  Only  Memory）１０１及びＲＡＭ（Random  Access  Memory）１０２等の主記憶装置、カメラ又はキーボード等の入力デバイス１０３、ディスプレイ等の出力デバイス１０４、ハードディスク等の補助記憶装置１０５などを含む通常のコンピュータシステムとして構成される。後述する携帯端末２及び画像合成装置１の各機能は、ＣＰＵ１００、ＲＯＭ１０１、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１００の制御の元で入力デバイス１０３及び出力デバイス１０４を動作させるとともに、主記憶装置や補助記憶装置１０５におけるデータの読み出し及び書き込みを行うことで実現される。なお、上記の説明は携帯端末２のハードウェア構成として説明したが、画像合成装置１がＣＰＵ１００、ＲＯＭ１０１及びＲＡＭ１０２等の主記憶装置、入力デバイス１０３、出力デバイス１０４、補助記憶装置１０５などを含む通常のコンピュータシステムとして構成されてもよい。また、携帯端末２は、通信モジュール等を備えてもよい。
【００２９】
図１に示すように、携帯端末２は、カメラ２０、画像合成装置１及び表示部２１を備えている。カメラ２０は、画像を撮像する機能を有している。カメラ２０として、例えばＣＭＯＳの画素センサ等が用いられる。カメラ２０は、例えばユーザ操作等により指定されたタイミングから所定の間隔で繰り返し撮像する連続撮像機能を有している。すなわち、カメラ２０は、一枚の静止画像だけでなく複数毎の静止画像（連続するフレーム画像）を取得する機能を有している。さらに、カメラ２０は、連続する各フレーム画像の露出条件を変更して撮像する機能を有している。すなわち、カメラ２０によって連続撮像された各画像は、それぞれ露出条件の異なる画像となる。カメラ２０は、例えば撮像されたフレーム画像を撮像の度に画像合成装置１へ出力する機能を有している。
【００３０】
画像合成装置１は、画像入力部１０、前処理部１１、動き補正部１５及び合成部１６を備えている。
【００３１】
画像入力部１０は、カメラ２０により撮像されたフレーム画像を入力する機能を有している。画像入力部１０は、例えばカメラ２０により撮像されたフレーム画像を撮像の度に入力する機能を有している。また、画像入力部１０は、入力フレーム画像を、携帯端末２に備わる記憶装置に保存する機能を有している。
【００３２】
前処理部１１は、ＨＤＲ合成前の前処理を行う。前処理部１１は、動き情報取得部１２、尤度算出部１３及び露出推定部１４を備えている。
【００３３】
動き情報取得部１２は、画像間の画素の動き情報を取得する機能を有している。例えば、入力フレーム画像を第１画像及び第２画像とすると、第１画像及び第２画像間の画素の動き情報を取得する。動き情報としては、例えば動きベクトルが用いられる。また、動き情報取得部１２は、３以上の入力画像が画像入力部１０により入力された場合には、入力画像を露出順にソートし、露出条件の近い入力画像間で動き情報を取得してもよい。露出条件の近い画像同士を比較して動きを検出することにより、画像間の露出の差によって動きの検出精度が低下することを回避することができる。そして、動き情報取得部１２は、複数の入力画像の中から、動き情報を合わせる基準画像を選択してもよい。基準画像としては、例えば複数の入力画像の中で最も有効画素が多い画像を採用する。ここで、有効画素とは、黒つぶれ又は白飛びしていない画素である。黒つぶれ又は白飛びは、輝度値を基準として判定される。また、動き情報取得部１２は、２つの入力画像を用いて動き情報を取得する場合には、２つの入力画像のうち露出の高い入力画像から特徴点を抽出し、それに対する対応点を露出の低い画像から求めてもよい。このように動作することで、露出の低い画像においては特徴点として抽出された点が露出の高い画像においては白飛びしていることにより、動き情報が取得できないことを回避することができる。なお、ジャイロセンサ等から動き情報を取得してもよい。動き情報取得部１２は、動き情報を尤度算出部１３へ出力する機能を有している。
【００３４】
尤度算出部１３は、各画素における被写体の動きの尤度（動被写体尤度）を算出する機能を有している。動被写体尤度が大きいほど、被写体に動きがある可能性が高く、合成画像がぶれる領域となる可能性が高いことを意味する。尤度算出部１３は、動き情報を用いて入力画像間の画面の動きを補正する。その後、尤度算出部１３は、２つの入力画像において対応する画素の画素値を正規化する。例えば、尤度算出部１３は、近傍画素の画素値に基づいてＬｏｃａｌ  Ｔｅｒｎａｒｙ  Ｐａｔｔｅｒｎｓ（ＬＴＰ）を求める。画素値としては、ＲＧＢ３色が用いられ、近傍画素としては２４近傍が用いられる。そして、尤度算出部１３は、正規化された画像間の差分を用いて動被写体尤度を算出する。例えば、正規化された画素値の差分、すなわち注目画素のＬＴＰにおける符号の不一致割合を、注目画素の動被写体尤度として算出する。
【００３５】
また、尤度算出部１３は、２つの入力画像を多重解像度化して動被写体尤度を算出してもよい。例えば、尤度算出部１３は、各入力画像（第１画像及び第２画像）の解像度をそれぞれ段階的に変更することで、解像度の異なる複数の画像（第１処理画像及び第２処理画像）を作成する。そして、尤度算出部１３は、同一の解像度において、第１処理画像及び第２処理画像の差分画像を作成する。この差分画像とは、第１処理画像と第２処理画像との差分であり、具体的には画素値の差分である。そして、尤度算出部１３は、解像度ごとに得られた差分画像を重み付けすることによって各画素の動被写体尤度を算出する。重み（信頼度）としては、各画素のＬＴＰにおける符号の不一致割合が用いられる。例えば、ＬＴＰにおいて、有意に差があるペアの数が用いられる。また、重みは、第１処理画像又は第２処理画像の画像サイズ又は解像度によってさらに重み付けされてもよい。すなわち、画像サイズが大きいほど又は解像度が大きいほど、重みを大きくしてもよい。尤度算出部１３は、各画素の動被写体尤度を露出推定部１４へ出力する機能を有している。
【００３６】
露出推定部１４は、入力画像間の露出条件を合わせる露出変換関数を推定する機能を有している。露出変換関数とは、各入力画像の露出を基準画像相当に露出変換するための関数である。露出推定部１４は、３以上の入力画像が入力された場合には、露出条件の近い入力画像間で露出条件をあわせてもよい。露出条件の近い画像同士を比較して露出を合わせることにより、画像間の露出の差によって推定の精度が低下することを回避することができる。
【００３７】
露出推定部１４は、例えば、動き情報を用いて入力画面間の動きを補正する。そして、動き補正後の２つの入力画像において、同一の箇所から輝度値を組としてサンプリングし、その関係をプロットする。入力画像の座標としては例えばＨａｌｔｏｎ数列が用いられる。なお、露出推定部１４は、所定の値以上の輝度値や所定の値以下の輝度値をサンプリング点として採用しなくてもよい。例えば、１０〜２４５の範囲に含まれる輝度値をサンプリング点として採用する。露出推定部１４は、例えば、プロットの結果をフィッティングすることにより、露出変換関数を推定する。例えば、第１画像のサンプリング点ｉにおける元の輝度値をＫｉ、露出変換関数をｆ（Ｋｉ）、第２画像のサンプリング点ｉにおける元の輝度値をＵｉとした場合、以下の誤差関数ｅを用いて、Ｇａｕｓｓ−Ｎｅｗｔｏｎ法によりフィッティングしてもよい。
【数１】
0005610245.tif 000002
【００３８】
なお、露出推定部１４は、各画素の動被写体尤度に基づいて、露出変換関数を導出するためのサンプリングを行う。露出推定部１４は、例えば、各画素の動被写体尤度に基づいてサンプリング点を選択する。例えば、露出推定部１４は、段階的に閾値を設けて、動被写体尤度の小さい画素から輝度値をサンプリングする。また、露出推定部１４は、動被写体尤度に基づいて、サンプリング点に重みを付けてもよい。例えば、以下の誤差関数ｅを最小化させてフィッティングしてもよい。
【数２】
0005610245.tif 000003
式２において、ｗｉは重みである。ここで、動被写体尤度が高い画素ほど、重みｗｉを小さく設定する。このように、露出推定部１４が各画素の動被写体尤度に基づいて露出変換関数を算出することで、信頼度の低いサンプリング点のデータほど露出変換関数の導出に影響を与えないようにすることができる。なお、露出変換関数は、変換後の入力画像が表現可能な範囲に収まるように変更されてもよい。
【００３９】
動き補正部１５は、動き情報を用いて入力画面間の動きを補正する機能を有している。合成部１６は、合成マスクを用いて入力画像同士あるいは、既に合成された画像と入力画像とを合成する。合成マスクは、画像同士を合成（αブレンド）する際の合成比（重み）を画像化したものである。合成部１６は、３以上の入力画像がある場合には、まず合成マスクに従って２つの入力画像を合成し、合成画像と残りの入力画像との合成マスクを生成して合成を行う。合成部１６は、輝度ベースマスク及び被写体ぶれマスクを結合して合成マスクを生成する。輝度ベースマスクは、画像同士を合成する際の重みを輝度値に基づいて決定することで、白飛びや黒つぶれの領域を合成に用いることを回避するためのマスクである。被写体ぶれマスクは、被写体が移動する画像を合成した際に、被写体が２重３重に重なって表示される現象（ゴースト現象）を回避するためのマスクである。
【００４０】
合成部１６は、入力画像の元の輝度値に基づいて重みを算出し、輝度ベースマスクを生成する。重みは、例えば以下の算出式で求める。
【数３】
0005610245.tif 000004
上記算出式により、重みが適切に決定されるとともに、輝度的な不連続性が軽減される。なお、空間的な不連続性を軽減するために、合成マスクに対してぼかし処理を施してもよい。
【００４１】
合成部１６は、入力画像間の差分に基づいて重みを算出し、被写体ぶれマスクを生成する。合成部１６は、入力画像間の画素値の差分から、動被写体尤度を算出する。入力画像間の画素値の差分及び動被写体尤度については、上述した尤度算出部１３と同様に動作することで得ることができる。そして、尤度算出部１３は、動被写体尤度が所定の閾値以下となる画素が隣接する被写体ぶれ領域を検出し、各被写体ぶれ領域に対して識別ラベルを付与し、被写体ぶれ領域ごとに被写体ぶれマスクを生成する。なお、所定の閾値は、要求仕様に応じて適宜変更可能である。閾値を大きく設定すると、連続領域を抽出しやすくすることができる。被写体ぶれ領域ごとにマスクを生成することにより、被写体ぶれ領域ごとに白飛び領域あるいは黒つぶれ領域を回避するように情報量の多い画像から画素を選択することができる。すなわち、この被写体ぶれマスクとしては、合成する画像同士のうち強制的に輝度値の低い画素値を選択させるｌｏ_ｍａｓｋ（第１マスク）、又は、合成する画像同士のうち強制的に輝度値の高い画素値を選択させるｈｉ_ｍａｓｋ（第２マスク）が存在する。合成部１６は、基本的には、情報量の多い高露出の画像から画素値を選択させる第２マスクを生成する。しかしながら、合成部１６は、高露出の画像において被写体ぶれ領域が白飛び領域に影響される場合には、第１マスクを生成する。具体的には、以下の何れかの条件を満たす場合には第１マスクを生成する。第１の条件としては、合成する２つの画像のうち、高露出の画像の白飛びの面積が低露出の画像の黒つぶれ領域の面積よりも大きい場合である。第２の条件としては、合成する２つの画像のうち高露出の画像において、被写体ぶれ領域内の白飛び領域の面積が１０％以上の場合である。なお、合成する２つの画像のうち高露出の画像において、被写体ぶれ領域と隣接する領域が白飛び領域である場合を条件としてもよい。
【００４２】
合成部１６は、輝度ベースマスク及び被写体ぶれマスクを結合させて合成マスクを生成する。例えば、合成部１６は、輝度ベースマスクに対して、第１マスクを反転させたマスクを乗算する。また、合成部１６は、輝度ベースマスクに対して、第２マスクを加算する。合成部１６は、全ての入力画像を合成し、最終的な合成画像を表示部２１へ出力する。表示部２１は、合成画像を表示する。表示部２１として例えばディスプレイ装置が用いられる。
【００４３】
次に、画像合成装置１の動作を説明する。図３は、ＨＤＲ合成の前処理を説明するフローチャートである。図３に示す制御処理は、例えばユーザによってＨＤＲ合成モードが選択され、カメラ２０が複数の画像を連続撮像した場合に開始する。
【００４４】
まず、画像入力部１０が画像フレームを入力する（Ｓ１０）。以下では、説明理解の容易性を考慮して、５つの入力画像Ｉ０〜Ｉ４を入力したものとして説明する。Ｓ１０の処理が終了すると、露出順ソート処理へ移行する（Ｓ１２）。
【００４５】
Ｓ１２の処理では、動き情報取得部１２が入力画像Ｉ０〜Ｉ４を露出順にソートする。動き情報取得部１２は、例えば輝度値の平均値を用いてソートする。ここでは、入力画像Ｉ０〜Ｉ４の数字が小さくなるほど輝度値が小さいものとする。この場合、入力画像Ｉ０〜Ｉ４は、数字の順にソートされる。Ｓ１２の処理が終了すると、動き情報取得処理へ移行する（Ｓ１４）。
【００４６】
Ｓ１４の処理では、動き情報取得部１２が、入力画像Ｉ０〜Ｉ４のそれぞれの画像間の動き情報を取得する。図４は、動き情報の取得処理を説明する概要図である。図４に示すように、入力画像Ｉ０〜Ｉ４が左から右に向けて順に平均輝度値が大きくなるように並べられているとする。まず、動き情報取得部１２は、入力画像Ｉ０〜Ｉ４の中から基準画像を設定する。ここでは、入力画像Ｉ２を基準画像とする。次に、露出条件の近い入力画像同士の動き情報を取得する（例えば、入力画像Ｉ０と入力画像Ｉ１、入力画像Ｉ１と入力画像Ｉ２等）。動き情報取得部１２は、２つの入力画像のうち、露出の高い入力画像で特徴点を抽出して、抽出された特徴点に対する対応点を露出の低い入力画像から抽出する。この動き情報によって、露出条件の近い入力画像同士を同一次元の座標に変換する変換行列を求めることができる。なお、図４では、露出条件の近い入力画像同士のうち、露出の低い画像を露出の高い画像へあわせるための変換行列ｍ１０，ｍ２１，ｍ３２，ｍ４３を示している。次に、変換行列ｍ１０，ｍ２１，ｍ３２，ｍ４３を用いて、基準画像Ｉ２以外の他の入力画像Ｉ０，Ｉ１，Ｉ３，Ｉ４の座標を基準画像Ｉ２相当の座標へ変形させる変換行列を算出する。図４に示すように、入力画像Ｉ０を基準画像Ｉ２へ変換させる変換行列は、ｍ１０*ｍ２１である。入力画像Ｉ１を基準画像Ｉ２へ変換させる変換行列は、ｍ１０である。入力画像Ｉ３を基準画像Ｉ２へ変換させる変換行列は、（ｍ３２）−１である。入力画像Ｉ４を基準画像Ｉ２へ変換させる変換行列は、（ｍ３２*ｍ４３）−１である。以下では変換後の入力画像をＩ０’〜Ｉ４’として説明する。Ｓ１４の処理が終了すると、動被写体尤度算出処理へ移行する（Ｓ１６）。
【００４７】
Ｓ１６の処理では、尤度算出部１３が、入力画像Ｉ０’〜Ｉ４’のそれぞれの画像間の動被写体尤度を算出する。図５は、入力画像Ｉ０’と入力画像Ｉ１’との画像間における動被写体尤度を算出する例である。なお、図５では、画素値としてＲ値を用いる場合を示している。図５に示すように、尤度算出部１３は、入力画像Ｉ０’の注目画素（Ｒ値＝４２）の８近傍の画素値（Ｒ値）を取得する。そして、注目画素の画素値と８近傍の画素値を用いて正規化する。例えば、ＬＴＰを用いる。注目画素の画素値と８近傍の画素値との差が±５の範囲であれば０、＋５より大きい場合には１、−５より小さい場合には−１とする。尤度算出部１３は、入力画像Ｉ１’についても、同様に正規化する。図中では、入力画像Ｉ０’の注目画素に対応する入力画像Ｉ１’の画素において正規化している。次に、正規化された画素の画素値を比較すると、差分が生じていることがわかる。差分の大きさ（符号の不一致度合い）に応じて当該画素の色を黒から白へ変化させた画像として表したものが差分画像Ｘである。この差分画像は、各画素の動被写体尤度が画像化されたものである。なお、８近傍に限定されることはなく、２４近傍であってもよい。また、Ｒ値のみに限られずＧ値及びＢ値についても同様に処理してもよい。
【００４８】
差分画像Ｘの領域Ｃ１に示す平滑領域の動被写体尤度の精度を向上させるために、尤度算出部１３は、多重解像度を用いて動被写体尤度を求めてもよい。図６は、多重解像度を用いて動被写体尤度を求める一例である。まず、尤度算出部１３は、入力画像Ｉ０’と入力画像Ｉ１’との解像度を段階的に変更させた複数の画像を生成する。そして、同一の解像度同士で差分画像を生成する。この差分画像は、単純に画素値を差し引いたものである。図６では、入力画像Ｉ０’と入力画像Ｉ１’とを６段階に多重化した場合を示している。それぞれの差分画像がＸ１〜Ｘ６であり、数字が大きくなるほど低い解像度の差分画像となる。また、解像度が低いほど画像サイズが小さくなる。この差分画像を信頼度で重み付けして最終的な差分画像を算出する。信頼度は、例えば、上述したＬＴＰの差分において有意な差のあるペアの数に画像サイズ（又は解像度）を乗算したものを用いる。例えば、図５に示すＬＴＰの場合には有意な差のあるペアの数は１となる。このように、画素ごとにペアの数と画像サイズとを掛けあわせて、差分画像Ｘ１〜Ｘ６に対応する重み画像（重みを画像化したもの）を算出する。そして、差分画像Ｘ１〜Ｘ６と重み画像とを用いて最終的な差分画像を算出する。尤度算出部１３は、上述した手法と同様の手法で、入力画像Ｉ１’〜Ｉ４’までの差分画像を算出する。Ｓ１６の処理が終了すると、露出変換関数推定処理へ移行する（Ｓ１８）。
【００４９】
Ｓ１８の処理では、露出推定部１４が露出変換関数を推定する。露出推定部１４は、変換前の輝度値をｘ、変換後の輝度値をｙとすると露出変換関数を以下の数式で表すことができる。
【数４】
0005610245.tif 000005
ここで、（ａ，ｂ）は露出変換パラメータである。露出変換パラメータ（ａ，ｂ）を導出することで露出変換関数を求めることができる。以下では、動き補正後の入力画像Ｉ０’と入力画像Ｉ１’との露出変換関数を求める場合を説明する。露出推定部１４は、入力画像の点（ｘ，ｙ）において、露出の低い入力画像Ｉ０’の輝度値と露出の低い入力画像Ｉ１’の輝度値の組みをいくつかサンプリングして、その関係をプロットする。ここで、Ｓ１６の処理で取得した差分画像に基づいて、サンプリングする点を選択する。例えば、動被写体尤度の高い領域からはサンプリングしないように設定する。すなわち動被写体尤度の低いものからサンプリングするように設定する。そして、例えば動被写体尤度が高いほど低い重みを割り当てて、式２を用いて露出変換関数を推定する。これにより、例えば図７に示すようなフィッティングが行われる。尤度算出部１３は、上述した手法と同様の手法で、入力画像Ｉ１’〜Ｉ４’間の露出変換関数を推定する。なお、輝度値が０に近いデータ又は２５５に近いデータを除いてもよい。
【００５０】
図８は、上記の露出変換関数の推定処理を説明する概要図である。なお、図８では、露出条件の近い入力画像同士のうち、露出の低い画像を露出の高い画像へあわせるための露出変換パラメータ（ａ１０，ｂ１０）、（ａ２１，ｂ２１）、（ａ３２，ｂ３２）、（ａ４３，ｂ４３）を示している。最終的な合成画像が表現可能な範囲に収まるように、最も露出の低い入力画像Ｉ０’の露出変換パラメータ（Ａ０，Ｂ０）のＡ０を１．０に設定することで、変換結果が１．０を超えないようにしてもよい。ここでは、入力画像Ｉ０’の露出変換後の画像を、入力画像Ｉ０’’として表示している。また、最も露出の低い入力画像Ｉ０’に対する基準画像Ｉ２’の露出変換パラメータを（Ａ２，Ｂ２）とすると、Ａ０を１．０に設定すると同時にＢ２を１．０とすることで、ゲインが１／Ａ２のときに色味が入力画像と等しくなるように設定してもよい。尤度算出部１３は、上述した処理をＲＧＢチャネルごとに別々に行う。Ｓ１８の処理が終了すると図３に示す前処理を終了する。
【００５１】
以上で図３に示す制御処理を終了する。図３に示す制御処理を実行することで、露出変換関数を推定する前に、被写体ぶれを検出することで、被写体ぶれ領域からサンプリングすることを回避したり、被写体ぶれ領域からサンプリングされたデータの影響を重み付けにより小さくすることができる。このため、露出変換関数を精度良く推定することができる。また、従来のＨＤＲ技術であれば、被写体ぶれの補正は、露出合わせが行われていないと正確に行うことができず、また逆に露出合わせは被写体ぶれの修正が行われていないと正確にできない。しかし、露出変換関数を推定する前に簡易的に被写体ぶれ（被写体の動き）を検出することで、上記デットロック関係を解消することができる。
【００５２】
次に、画像合成装置１の合成動作を説明する。図９は、ＨＤＲ合成を説明するフローチャートである。図９に示す制御処理は例えば図３に示す制御処理が終了すると開始する。
【００５３】
図９に示すように、動き補正部１５が実際に動きを補正する（Ｓ２０）。この処理では、図３のＳ１４の処理と同様に、動き補正部１５が、変換行列を用いて、露出変換後の入力画像Ｉ０’’〜Ｉ４’’の動きを補正する。なお、要求される精度に応じてサブピクセル補間アルゴリズム等を用いることができるようにしてもよい。Ｓ２０の処理が終了すると、輝度ベースマスク生成処理及び被写体ぶれ領域抽出処理へ移行する（Ｓ２２及びＳ２４）。
【００５４】
Ｓ２２の処理では、合成部１６が輝度ベースマスクを生成する。図１０は、合成処理の流れを説明する概要図である。図１０に示すように、露出の低い入力画像Ｉ０’’から順に、入力画像Ｉ１’’〜Ｉ４’’を置き換えていくことで合成する。すなわち、最初は、入力画像Ｉ０’’に対して入力画像Ｉ１’’をどの程度合成させるかを定める輝度ベースマスクを生成する。この輝度ベースマスクは、入力画像Ｉ１’’の元の輝度値から重みを算出する。例えば、白飛び領域の付近の重みを０とする。このように重みを設定して、露出の低い画像へ露出の高い画像を重ねるように合成させることで、対象のピクセルに対して情報量の多い入力画像を必ず選択させることができる。図１１の（Ａ）は、入力輝度に対するピクセル値の関係を示すグラフである。図１１の（Ａ）に示すように、関数ｆ０〜ｆ３は、輝度値に基づいてどちらの画像の画素値を採用するかを示すグラフである。関数ｆ０〜ｆ３は、数字が大きくなるほど露出が大きい画像に適用されるものである。例えば、最も露出の低い入力画像Ｉ０’’が入力されると、関数ｆ０が適用されて全ての画素値が採用される。次に、入力画像Ｉ１’’が入力されると、関数ｆ０と関数ｆ１とが適用される。このため、Ｓ０〜Ｓ５の輝度値の範囲では、入力画像Ｉ１’’が採用され、Ｓ６以上の輝度値の範囲では、入力画像Ｉ０’’が採用される。Ｓ５〜Ｓ６の輝度値の範囲は、（Ｂ）に示す重みでブレンドされた合成値で採用される。なお、便宜上γ補正は省略している。次に入力画像Ｉ２’’が入力されると、関数ｆ０〜ｆ２が適用される。このため、Ｓ０〜Ｓ３の輝度値の範囲では、入力画像Ｉ２’’が採用され、Ｓ４〜Ｓ５の輝度値の範囲では、入力画像Ｉ１’’が採用され、Ｓ６以上の輝度値の範囲では、入力画像Ｉ０’’が採用される。Ｓ３〜Ｓ４及びＳ５〜Ｓ６の輝度値の範囲は、（Ｂ）に示す重みでブレンドされた合成値で採用される。次に入力画像Ｉ３’’が入力されると、関数ｆ０〜ｆ３が適用される。このため、Ｓ０〜Ｓ１の輝度値の範囲では、入力画像Ｉ３’’が採用され、Ｓ２〜Ｓ３の輝度値の範囲では、入力画像Ｉ２’’が採用され、Ｓ４〜Ｓ５の輝度値の範囲では、入力画像Ｉ１’’が採用され、Ｓ６以上の輝度値の範囲では、入力画像Ｉ０’’が採用される。Ｓ１〜Ｓ２、Ｓ３〜Ｓ４及びＳ５〜Ｓ６の輝度値の範囲は、（Ｂ）に示す重みでブレンドされた合成値で採用される。このように、露出の高い画像が優先的に採用される。また、白とび領域部分については露出の低い画像が採用されるとともに、境界部分を滑らかにブレンドする。上記図１１の（Ａ）に示すグラフを画像化した輝度ベースマスクの一例を図１２に示す。図１２の（Ａ）は入力画像を示し、（Ｂ）は当該入力画像の輝度ベースマスクである。図１２の（Ｂ）では、１００％入力画像の画素値を利用する場合には白とし、１００％入力画像の画素値を利用しない場合には黒として表現している。Ｓ２２の処理が終了すると、合成マスク生成処理へ移行する（Ｓ３２）。
【００５５】
一方、Ｓ２４の処理では、合成部１６が被写体ぶれ領域を抽出する。例えば、合成部１６が、図３のＳ１６の処理と同様に差分画像を算出し、動被写体尤度が所定値以上の領域を被写体ぶれ領域として抽出する。図１３の（Ａ）は、被写体ぶれ領域を含む差分画像の一例である。Ｓ２４の処理が終了すると、ラベリング処理へ移行する（Ｓ２６）。
【００５６】
Ｓ２６の処理では、合成部１６が被写体ぶれ領域をラベリングする。合成部１６は、連続する被写体ぶれ領域に対して一つのラベルＲｎを設定する。図１３の（Ｂ）は、連続領域をラベリングした例である。Ｓ２６の処理が終了すると、各領域の基準画像の選択処理へ移行する（Ｓ２８）。
【００５７】
Ｓ２８の処理では、合成部１６が被写体ぶれ領域ごとに基準画像を設定する。合成部１６は、基準画像として基本的に高露出の画像を優先させる。例えば、入力画像Ｉ０’’と入力画像Ｉ１’’とを合成する場合には、基準画像として入力画像Ｉ１’’が選択される。ただし、入力画像Ｉ１’’において被写体ぶれ領域が白飛び領域に影響される場合には、基準画像として入力画像Ｉ０’’が選択される。Ｓ２８の処理が終了すると、被写体ぶれマスク生成処理へ移行する（Ｓ３０）。
【００５８】
Ｓ３０の処理では、合成部１６が被写体ぶれ領域ごとに被写体ぶれマスクを生成する。合成部１６は、基準画像として高露出の画像を優先させる場合には第２マスクを生成する。一方、基準画像として低露出の画像を優先させる場合には第１マスクを生成する。図１４は、Ｓ２４〜Ｓ３０の一連の処理を説明する概要図である。図１４に示すように、入力画像Ｉ０’’と入力画像Ｉ１’’とを合成する際に、差分画像Ｘを求め、差分画像の領域ごとに、第１マスク（ｌｏ_ｍａｓｋ）又は第２マスク（ｈｉ_ｍａｓｋ）が生成される。すなわち、被写体が動く領域については、被写体ぶれマスクを用いることで一枚の画像のみから画素値を入力させることで、上述したゴースト現象を回避することができる。Ｓ３０の処理が終了すると、合成マスク生成処理へ移行する（Ｓ３２）。
【００５９】
Ｓ３２の処理では、合成部１６が輝度ベースマスク及び被写体ぶれマスクに基づいて合成マスクを生成する。図１５は、合成マスクの生成処理を説明する概要図である。図１５に示すように、ｌｏ_ｍａｓｋを反転させた画像を輝度ベースマスクに乗算する。また、ｈｉ_ｍａｓｋを輝度ベースマスクに加算する。このように結合させることで、合成マスクが生成される。Ｓ３２の処理が終了すると、合成処理へ移行する（Ｓ３４）。
【００６０】
Ｓ３４の処理では、合成部１６がＳ３２の処理で作成された合成マスクに従って合成処理を行う。なお、合成済み画像の輝度値Ｐ０と露出変換関数を適用させた入力画像の輝度値Ｐ１を重みａで合成する場合、合成後の輝度値Ｐ２は以下の数式で求めることができる。
【数５】
0005610245.tif 000006
このとき、露出の最も低い画像については全領域をそのまま合成する。Ｓ３４の処理が終了すると、入力画像確認処理へ移行する（Ｓ３６）。
【００６１】
Ｓ３６の処理では、合成部１６が全ての入力画像を合成したか否かを判定する。全ての入力画像を合成していない場合には、Ｓ２２及びＳ２４の処理へ移行する。そして、例えば、図１０に示すように、入力画像Ｉ０’’と入力画像Ｉ１’’との合成画像Ｏ０と、新たな入力画像Ｉ０’’との合成処理が行われる。一方、全ての入力画像を合成した場合には、図９に示す制御処理を終了する。
【００６２】
図９に示す制御処理を実行することで、被写体ぶれの補正されたＨＤＲ合成画像が生成される。
【００６３】
次に、携帯端末（コンピュータ）２を上記画像合成装置１として機能させるための画像合成プログラムを説明する。
【００６４】
画像合成プログラムは、メインモジュール、入力モジュール及び演算処理モジュールを備えている。メインモジュールは、画像処理を統括的に制御する部分である。入力モジュールは、入力画像を取得するように携帯端末２を動作させる。演算処理モジュールは、動き情報取得モジュール、尤度算出モジュール、露出推定モジュール、動き補正モジュール及び合成モジュールを備えている。メインモジュール、入力モジュール及び演算処理モジュールを実行させることにより実現される機能は、上述した画像合成装置１の画像入力部１０、動き情報取得部１２、尤度算出部１３、露出推定部１４、動き補正部１５及び合成部１６の機能とそれぞれ同様である。
【００６５】
画像合成プログラムは、例えば、ＲＯＭ等の記録媒体または半導体メモリによって提供される。また、画像合成プログラムは、データ信号としてネットワークを介して提供されてもよい。
【００６６】
以上、本実施形態に係る画像合成装置１、画像合成方法及び画像合成プログラムによれば、第１画像と第２画像との露出を合わせる前に、第１画像と第２画像との差分に基づいて各画素における被写体の動きの尤度を算出する。そして、被写体の動きの尤度に基づいて第１画像と第２画像との露出条件を合わせる露出変換関数を推定する。このように、露出を合わせる際に被写体の動きの尤度が考慮されるため、例えば被写体の動きで色が変化している可能性がある領域を除いて露出を合わせることができる。よって、適切な合成画像を生成することが可能となる。さらに、被写体ぶれマスクを用いて被写体ぶれ（ゴースト的な表示）の発生を回避し、クリアな画像とすることができる。
【００６７】
なお、上述した実施形態は本発明に係る画像合成装置の一例を示すものである。本発明に係る画像合成装置は、実施形態に係る画像合成装置１に限られるものではなく、各請求項に記載した要旨を変更しない範囲で、実施形態に係る画像合成装置を変形し、又は他のものに適用したものであってもよい。
【００６８】
例えば、上述した各実施形態では、カメラ２０がフレーム画像を取得する例を説明したが、別の機器からネットワークを介して送信された画像であってもよい。また、合成画像を表示せずに記録のみする場合には、表示部２１を備えなくてもよい。
【００６９】
また、上述した各実施形態に係る画像合成装置１を、手ぶれ補正装置とともに動作させてもよい。
【符号の説明】
【００７０】
１…画像合成装置、１０…画像入力部（入力部）、１２…動き情報取得部、１３…尤度算出部、１４…露出推定部、１５…動き補正部、１６…合成部。
【図１】
0005610245.tif 000007
【図２】
0005610245.tif 000008
【図３】
0005610245.tif 000009
【図７】
0005610245.tif 000010
【図９】
0005610245.tif 000011
【図１１】
0005610245.tif 000012
【図４】
0005610245.tif 000013
【図５】
0005610245.tif 000014
【図６】
0005610245.tif 000015
【図８】
0005610245.tif 000016
【図１０】
0005610245.tif 000017
【図１２】
0005610245.tif 000018
【図１３】
0005610245.tif 000019
【図１４】
0005610245.tif 000020
【図１５】
0005610245.tif 000021