(57)【要約】【課題】発光画像と非発光画像との位置合わせを行う際の精度を向上させる。【解決手段】被写体を撮影する際に発光を行って得られた発光画像と発光を行うことなく連続的に得られた非発光画像群とを位置合わせして合成する際、位置合わせ部１０７は非発光画像群における基準非発光画像に前記基準非発光画像を除く非発光画像を位置合わせする際に用いられる第１の位置合わせ変換係数を求め、基準非発光画像を発光画像に位置合わせする際に用いられる第２の位置合わせ変換係数を求める。位置合わせ部は第１および第２の位置合わせ変換係数に応じて発光画像および非発光画像群を位置合わせする。画像合成部１１４は位置合わせされた発光画像および非発光画像群を合成して合成画像とする。【選択図】図１
2014039222.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影する際に発光を行って得られた発光画像と発光を行うことなく連続的に得られた非発光画像群とを位置合わせして合成する画像処理装置であって、
前記非発光画像群において特定の非発光画像を基準非発光画像として、前記基準非発光画像を除く非発光画像を前記基準非発光画像に位置合わせする際に用いられる第１の位置合わせ変換係数を求める第１の算出手段と、
前記発光画像を基準として前記基準非発光画像を前記発光画像に位置合わせする際に用いられる第２の位置合わせ変換係数を求める第２の算出手段と、
前記第１の位置合わせ変換係数および前記第２の位置合わせ変換係数に応じて前記発光画像および前記非発光画像群を位置合わせする位置合わせ手段と、
前記位置合わせ手段によって位置合わせされた前記発光画像および前記非発光画像群を合成して合成画像とする画像合成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記発光画像と前記基準非発光画像についてその輝度レベルを比較して、前記発光画像において前記発光による光の照射が行われた照射領域を特定する照射領域検出手段を備え、
前記第１の算出手段は、前記基準非発光画像と前記基準非発光画像を除く非発光画像との間における動きベクトルを検出し、前記照射領域を除く非照射領域で検出された動きベクトルに応じて画像のズレを示す第１の変換係数を求め、さらに、画像全体において検出された動きベクトルに応じて第２の変換係数を求めて、前記第１の変換係数および前記第２の変換係数に応じて変換された所定の着目点の座標と前記動きベクトルとの誤差に応じて、前記第１の変換係数および前記第２の変換係数のいずれか一方を前記第１の位置合わせ変換係数として選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記照射領域検出手段は、前記発光画像と前記基準非発光画像の各々を予め定められたブロックに分割して、当該ブロック毎に前記輝度レベルの差分を求めて前記差分の絶対値が所定の第１の閾値よりも大きいと当該ブロックを前記照射領域とすることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記照射領域検出手段は、前記差分の絶対値が所定の第１の閾値以下であると、前記ブロック毎にその輝度レベルとに応じて発光の影響度を示す発光影響度を求めて、前記発光影響度が所定の第２の閾値よりも大きいと当該ブロックを前記照射領域とすることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第２の算出手段は、前記基準非発光画像において前記照射領域における平均輝度を求めて、前記平均輝度が予め定められた輝度閾値よりも大きいと、前記照射領域において前記ブロック毎に前記発光画像および基準非発光画像においける動きベクトルを求め、当該動きベクトルに応じて、前記発光画像と前記基準非発光画像との位置合わせを行う前記第２の位置合わせ変換係数を求めることを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記第２の算出手段は、前記平均輝度が前記輝度閾値以下であると、前記照射領域を除く非照射領域において前記ブロック毎に前記発光画像および基準非発光画像においける動きベクトルを求め、当該動きベクトルに応じて、前記発光画像と前記基準非発光画像との位置合わせを行う前記第２の位置合わせ変換係数を求めることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記第２の算出手段は、前記第１の位置合わせ変換係数と、前記発光画像と前記基準非発光画像との位置合わせを行う前記第２の位置合わせ変換係数とに応じて前記発光画像と前記基準非発光画像を除く非発光画像との位置合わせを行う前記第２の位置合わせ変換係数を求めることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記画像合成手段は、前記位置合わせ手段によって位置合わせされた前記発光画像および前記非発光画像群を合成する際、前記発光画像と非発光画像との輝度の差分の絶対値に応じて予め設定された前記発光画像と前記非発光画像との合成比率を示す発光画像合成比率および非発光画像合成比率に基づいて前記発光画像および前記非発光画像群の合成を行うことを特徴とする請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
前記画像合成手段は、前記位置合わせ手段によって位置合わせされた前記発光画像および前記非発光画像群を合成する際、前記照射領域については前記発光画像を出力し、前記照射領域を除く非照射領域については前記非発光画像群を加算平均した画像を出力することを特徴とする請求項３〜７のいずれか１項に記載の画像処理装置。
【請求項１０】
請求項１〜９のいずれか１項に記載の画像処理装置と、
発光を行って被写体を撮影して発光画像を得るとともに、前記発光を行うことなく前記被写体を連続的に撮影して非発光画像群を得る撮像手段とを有することを特徴とする撮像装置。
【請求項１１】
被写体を撮影する際に発光を行って得られた発光画像と発光を行うことなく連続的に得られた非発光画像群とを位置合わせして合成する画像処理装置の制御方法であって、
前記非発光画像群において特定の非発光画像を基準非発光画像として前記基準非発光画像を除く非発光画像を前記基準非発光画像に位置合わせする際に用いられる第１の位置合わせ変換係数を求める第１の算出ステップと、
前記発光画像を基準として前記基準非発光画像を前記発光画像に位置合わせする際に用いられる第２の位置合わせ変換係数を求める第２の算出ステップと、
前記第１の位置合わせ変換係数および前記第２の位置合わせ変換係数に応じて前記発光画像および前記非発光画像群を位置合わせする位置合わせステップと、
前記位置合わせステップで位置合わせされた前記発光画像および前記非発光画像群を合成して合成画像とする画像合成ステップと、
を有することを特徴とする制御方法。
【請求項１２】
被写体を撮影する際に発光を行って得られた発光画像と発光を行うことなく連続的に得られた非発光画像群とを位置合わせして合成する画像処理装置で用いられる制御プログラムであって、
前記画像処理装置が備えるコンピュータに、
前記非発光画像群において特定の非発光画像を基準非発光画像として前記基準非発光画像を除く非発光画像を前記基準非発光画像に位置合わせする際に用いられる第１の位置合わせ変換係数を求める第１の算出ステップと、
前記発光画像を基準として前記基準非発光画像を前記発光画像に位置合わせする際に用いられる第２の位置合わせ変換係数を求める第２の算出ステップと、
前記第１の位置合わせ変換係数および前記第２の位置合わせ変換係数に応じて前記発光画像および前記非発光画像群を位置合わせする位置合わせステップと、
前記位置合わせステップで位置合わせされた前記発光画像および前記非発光画像群を合成して合成画像とする画像合成ステップと、
を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、その制御方法、および制御プログラム、並びに撮像装置に関し、特に、夜景撮影などの際に被写体および背景の双方を適切な露光状態に画像処理する画像処理装置に関する。
【背景技術】
【０００２】
一般に、夜景などの低照度下において主要被写体（主に人物）と背景との双方を適正な露出で撮影する際には、露光時間などを背景が適正露出となるように設定する。そして、人物などの主要被写体についてはフラッシュなどの補助照明光によって適正露出に設定して撮影が行われる。このような撮影はスローシンクロ撮影と呼ばれている。
【０００３】
ところが、スローシンクロ撮影においては、背景が低照度であるので設定すべき露光時間が長時間となってしまう。このため、背景についてブレを防止するため所謂三脚撮影を行う必要がある。
【０００４】
背景におけるブレを防止するため、ストロボ発光によって撮影した一枚の画像（以下発光画像と呼ぶ）と、ストロボ非発光で手振れを起こさない程度の時間で撮影された複数の画像（以下非発光画像と呼ぶ）とを連続撮影することが行われている。
【０００５】
そして、発光画像と非発光画像との位置合わせを行って、主要被写体の部分について発光画像を用い、背景部分については複数の非発光画像を加算平均して用いる。これによって、所謂手持ち撮影によるスローシンクロ撮影を実現している。
【０００６】
例えば、予め主要被写体までの距離を検出して、主要被写体が遠くにいる場合には発光画像と複数の非発光画像との位置合わせを背景で行い、主要被写体が近くにいる場合には位置合わせを主要被写体で行うようにしたものがある（特許文献１参照）。
【０００７】
また、予め撮影した発光画像からストロボの照射されている領域を近景領域として検出して、近景領域で発光画像と非発光画像との像位置合わせを行うようにしたものがある（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１７６０６号公報
【特許文献２】特開２０１０−１１４５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前述のように、特許文献１においては、主要被写体が近くにいると判定すると、主要被写体で発光画像と非発光画像との位置合わせを行っている。ところが、発光画像と非発光画像とにおいては、一般に主要被写体の輝度が大きく異なっており、このような輝度が異なる主要被写体を基準として位置合わせを行うとなると、不可避的に位置合わせの精度が低下してしまう。
【００１０】
一方、前述のように、特許文献２においては、ストロボの照射されている領域を近景領域として当該近景領域で発光画像と非発光画像との位置合わせを行っている。ところが、特許文献１と同様に、発光画像と非発光画像との間で近景領域の輝度が大きく異なるので、位置合わせの精度が低下してしまう。
【００１１】
従って、本発明の目的は、発光画像と非発光画像との位置合わせを行う際の精度を向上させることのできる画像処理装置、その制御方法、および制御プログラム、並びに撮像装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記の目的を達成するため、本発明による画像処理装置は、被写体を撮影する際に発光を行って得られた発光画像と発光を行うことなく連続的に得られた非発光画像群とを位置合わせして合成する画像処理装置であって、前記非発光画像群において特定の非発光画像を基準非発光画像として前記基準非発光画像を除く非発光画像を前記基準非発光画像に位置合わせする際に用いられる第１の位置合わせ変換係数を求める第１の算出手段と、前記発光画像を基準として前記基準非発光画像を前記発光画像に位置合わせする際に用いられる第２の位置合わせ変換係数を求める第２の算出手段と、前記第１の位置合わせ変換係数および前記第２の位置合わせ変換係数に応じて前記発光画像および前記非発光画像群を位置合わせする位置合わせ手段と、前記位置合わせ手段によって位置合わせされた前記発光画像および前記非発光画像群を合成して合成画像とする画像合成手段と、を有することを特徴とする。
【００１３】
本発明による撮像装置は、上記の画像処理装置と、発光を行って被写体を撮影して発光画像を得るとともに、前記発光を行うことなく前記被写体を連続的に撮影して非発光画像群を得る撮像手段とを有することを特徴とする。
【００１４】
本発明による制御方法は、被写体を撮影する際に発光を行って得られた発光画像と発光を行うことなく連続的に得られた非発光画像群とを位置合わせして合成する画像処理装置の制御方法であって、前記非発光画像群において特定の非発光画像を基準非発光画像として前記基準非発光画像を除く非発光画像を前記基準非発光画像に位置合わせする際に用いられる第１の位置合わせ変換係数を求める第１の算出ステップと、前記発光画像を基準として前記基準非発光画像を前記発光画像に位置合わせする際に用いられる第２の位置合わせ変換係数を求める第２の算出ステップと、前記第１の位置合わせ変換係数および前記第２の位置合わせ変換係数に応じて前記発光画像および前記非発光画像群を位置合わせする位置合わせステップと、前記位置合わせステップで位置合わせされた前記発光画像および前記非発光画像群を合成して合成画像とする画像合成ステップと、を有することを特徴とする。
【００１５】
本発明による制御プログラムは、被写体を撮影する際に発光を行って得られた発光画像と発光を行うことなく連続的に得られた非発光画像群とを位置合わせして合成する画像処理装置で用いられる制御プログラムであって、前記画像処理装置が備えるコンピュータに、前記非発光画像群において特定の非発光画像を基準非発光画像として前記基準非発光画像を除く非発光画像を前記基準非発光画像に位置合わせする際に用いられる第１の位置合わせ変換係数を求める第１の算出ステップと、前記発光画像を基準として前記基準非発光画像を前記発光画像に位置合わせする際に用いられる第２の位置合わせ変換係数を求める第２の算出ステップと、前記第１の位置合わせ変換係数および前記第２の位置合わせ変換係数に応じて前記発光画像および前記非発光画像群を位置合わせする位置合わせステップと、前記位置合わせステップで位置合わせされた前記発光画像および前記非発光画像群を合成して合成画像とする画像合成ステップと、を実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、発光画像と非発光画像との位置合わせを行う際の精度を向上させて、画質を良好にすることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態による画像処理装置が用いられた撮像装置の一例を示すブロック図である。
【図２】図１に示す撮像部、ストロボ発光制御部、および露出条件制御部の動作を説明するための図である。
【図３】図１に示すストロボ照射領域算出部で行われる処理を説明するためのフローチャートである。
【図４】図１に示す非発光画像変換係数算出部で行われる処理を説明するためのフローチャートである。
【図５】図４に示す変換係数の算出を説明するための図である。
【図６】図１に示す発光画像変換係数算出部で行われる処理を説明するためのフローチャートである。
【図７】図１に示す位置合わせ変換係数算出部による変換係数（射影変換係数）の算出を説明するための図である。
【図８】図１に示す位置合わせ変換係数算出部による画像変換係数の変換を説明するための図である。
【図９】図１に示す画像合成部で行われる処理を説明するためのフローチャートである。
【図１０】図１に示す画像合成部で用いられる差分絶対値と画像合成比率との関係を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態による画像処理装置の一例について図面を参照して説明する。
【００１９】
本発明の第１の実施の形態による画像処理装置が用いられた撮像装置の一例を示すブロック図である。
【００２０】
撮像装置（以下単にカメラと呼ぶ）は撮像部１０１を備えている。図示はしないが、撮像部１０１は撮像レンズ群、ＣＭＯＳセンサ又はＣＣＤなどの半導体撮像素子（以下単に撮像素子と呼ぶ）、およびストロボ発光部を有している。
【００２１】
ここで、撮像部１０１は同一の被写体に対して複数回の撮影を連続的に行う。この際、ストロボ発光制御部１０２は、撮影毎にストロボを発光させるか否かを制御する。さらに、撮影毎に露出条件制御部１０３がその露出条件を決定する。
【００２２】
撮像部１０１による撮影の結果得られたアナログ信号（映像信号又は画像信号）はＡ／Ｄ変換部１０４に与えられる。Ａ／Ｄ変換部１０４は映像信号をＡ／Ｄ変換して画像データとして、当該画像データを信号処理部１０５に送る。
【００２３】
信号処理部１０５は画像データに対して、階調変換およびノイズ低減などの所定の信号処理を施して、画像処理部１０６に出力する。なお、図示の例では、画像処理部１０６が第１の実施形態による画像処理装置である。
【００２４】
画像処理部１０６は、前述のように複数回の撮影の結果得られた画像データの位置合わせを行う位置合わせ部１０７を有するとともに、位置合わせ部１０７によって位置合わせ処理が行われた画像データについて合成処理を行う画像合成部１１４を有している。
【００２５】
画像合成部１１４の出力（合成画像データ）は画像表示部１１５および画像記録部１１６に与えられる。画像表示部１１５は合成画像データに応じた画像を、例えば、撮像装置が備える液晶モニタに表示する。また、画像記録部１１６は、合成画像データを記録媒体（図示せず）に記録する。
【００２６】
ここで、図１に示す撮像部１０１、ストロボ発光制御部１０２、および露出条件制御部１０３について説明する。
【００２７】
図２は、図１に示す撮像部１０１、ストロボ発光制御部１０２、および露出条件制御部１０３の動作を説明するための図である。
【００２８】
ここでは、撮影回数を５回として、１回目にストロボ発光を伴った撮影を行う。そして、２回目以降についてストロボを発光させずに撮影を行うものとする。なお、以下の説明では、１回目の撮影で得られた撮影画像を発光画像０と呼び、２回目以降の撮影で得られた撮影画像を非発光画像１〜４と呼ぶ。また、非発光画像１〜４をまとめて非発光画像群と呼ぶ。
【００２９】
さらに、図２においては、発光画像０の撮影感度をＳＯＮとした場合に、非発光画像群の撮影感度ＳＯＦＦは、ＳＯＦＦ＝２×ＳＯＮに設定される。このように、撮影感度の設定を行うのは、後の処理において非発光画像群を加算平均することを考慮して、加算平均後の非発光画像と発光画像０との人物（被写体）のノイズレベルを合わせるためである。
【００３０】
なお、発光画像０および非発光画像群を撮影する際のシャッター速度は異なり、発光画像０においてはシャッター速度はＴＯＮとされ、非発光画像群においてはシャッター速度はＴＯＦＦとされる。
【００３１】
また、発光画像０および非発光画像群を撮影する際のシ絞り値は異なり、発光画像０においては絞り値はＡＯＮとされ、非発光画像群においては絞り値はＡＯＦＦとされる。
【００３２】
一般に、Ｎ（Ｎは２以上の整数）枚の画像を加算平均する場合、加算平均後の画像のノイズレベルは（１／√Ｎ）倍になる。ここでは、非発光画像を４枚加算平均するので、加算平均後の画像のノイズレベルは（１／２）倍となる。
【００３３】
再び図１を参照して、位置合わせ部１０７は、メモリ部１０８、ストロボ照射領域算出部１０９、非発光画像変換係数群算出部１１０、発光画像変換係数算出部１１１、位置合わせ変換係数算出部１１２、および画像変形部１１３を有している。
【００３４】
メモリ部１０８は、信号処理部１０５によって所定の信号処理が施された画像データ（つまり、発光画像および非発光画像群）を一時的に記憶する。ストロボ照射領域算出部１０９は位置合わせに処理を行う前に、メモリ部１０８に記憶された画像データについてストロボが照射されている領域（照射領域）と照射されていない領域（非照射領域）とを判別する。
【００３５】
図３は、図１に示すストロボ照射領域算出部１０９における処理を説明するためのフローチャートである。
【００３６】
照射領域判別処理を開始すると、ストロボ照射領域算出部１０９はメモリ部１０８から発光画像０および非発光画像１を入力して、これら２画像における輝度レベルを調整する（ステップＳ３０１）。
【００３７】
輝度レベル調整の際には、例えば、発光画像０と非発光画像１の露出条件（絞り値（Ａｖ），シャッター速度（Ｔｖ），撮影感度（Ｓｖ））を比較する。そして、露出差が存在すると、ストロボ照射領域算出部１０９は相対的に暗い画像に対して露出差を補正するゲインをかけて、２画像における輝度レベルを揃える。
【００３８】
このような処理を行うによって、後述するストロボ照射の判定を輝度差を用いて行う場合に、露出差による輝度レベルの相違による影響を排除することができる。
【００３９】
続いて、ストロボ照射領域算出部１０９は２画像を複数のブロック（小ブロック）に分割して、各画像において小ブロックにおける輝度を積分して輝度積分値を求める（ステップＳ３０２）。そして、ストロボ照射領域算出部１０９は２画像間における輝度積分値の差（輝度差分値）を求める（ステップＳ３０３）。
【００４０】
次に、ストロボ照射領域算出部１０９は輝度差分値の絶対値と所定の第１の閾値（閾値１）と比較して、絶対値＞閾値１であるか否かを判定する（ステップＳ３０４）。絶対値が第１の閾値以下（絶対値≦閾値１）であると（ステップＳ３０４において、ＮＯ）、ストロボ照射領域算出部１０９は当該小ブロック（絶対値≦閾値１である小ブロック）についてストロボ影響度を算出する（ステップＳ３０５）。
【００４１】
ここで、ストロボ影響度Ｅは、上記の絶対値をＳＺ、非発光画像１の輝度積分値をＳＳとした際、次の式（１）で表される。
【００４２】
Ｅ＝ＳＺ／ＳＳ      （１）
続いて、ストロボ照射領域算出部１０９は、ストロボ影響度（発光影響度）と所定の第２の閾値（閾値２）と比較して、ストロボ影響度＞閾値２であるか否かを判定する（ステップＳ３０６）。ストロボ影響度≦閾値２であると（ステップＳ３０６において、ＮＯ）、ストロボ照射領域算出部１０９は当該小ブロックにはストロボが照射されておらず、輝度の変化が生じなかった小ブロックとみして、ストロボ非照射ブロックとする（ステップＳ３０７）。
【００４３】
一方、絶対値＞閾値１であると（ステップＳ３０４において、ＹＥＳ）、ストロボ照射領域算出部１０９は当該小ブロックではストロボの照射によって輝度が大きく変化したとみなして、該当小ブロックをストロボ照射ブロックとする（ステップＳ３０８）。
【００４４】
同様に、ストロボ影響度＞閾値２であると（ステップＳ３０６において、ＹＥＳ）、ストロボ照射領域算出部１０９は輝度差分値の絶対値は大きくないものの、当該小ブロックをストロボの照射によって非発光時と比較して輝度が大きくなったブロックとみなす。そして、ストロボ照射領域算出部１０９はステップＳ３０８の処理に進んで、該当小ブロックをストロボ照射ブロックとする。
【００４５】
続いて、ステップＳ３０７又はＳ３０８の処理に続いて、ストロボ照射領域算出部１０９は、全ての小ブロックについてストロボ照射又は非照射の判別処理を行ったか否かを判定する（ステップＳ３０９）。そして、全ての小ブロックについて判別処理が終了していないと（ステップＳ３０９において、ＮＯ）、ストロボ照射領域算出部１０９はステップＳ３０４の処理に戻って次の小ブロックについて判別処理を行う。
【００４６】
全ての小ブロックについて判別処理が終了すると（ステップＳ３０９において、ＹＥＳ）、ストロボ照射領域算出部１０９はストロボ照射ブロックの集合をストロボ照射領域とするとともに、ストロボ非照射ブロックの集合をストロボ非照射領域とする。そして、ストロボ照射領域算出部１０９は照射領域判別処理を終了する。
【００４７】
図４は、図１に示す非発光画像変換係数算出部１１０で行われる処理を説明するためのフローチャートである。
【００４８】
非発光画像変換係数算出部１１０は、非発光画像群の間における位置ズレを検出して、位置合わせのための非発光画像変換係数（射影変換係数：第１の位置合わせ変換係数）を算出する。
【００４９】
まず、非発光画像変換係数算出部１１０は、ストロボ照射領域算出部１０９を介してメモリ部１０８から非発光画像群を読み込む。そして、非発光画像変換係数算出部１１０は非発光画像群から変換係数算出のための基準画像（基準非発光画像）を設定する。ここでは、非発光画像１を基準画像（基準非発光画像）として設定するものとする。
【００５０】
さらに、非発光画像変換係数算出部１１０は非発光画像群から基準画像以外の画像を比較画像として選択する（ステップＳ４０１）。ここでは、非発光画像２〜４を比較画像として選択するものとする。
【００５１】
次に、非発光画像変換係数算出部１１０は基準画像と比較画像との間の位置ズレを算出する。例えば、ストロボ照射領域算出部１０９による分割の結果得られた小ブロック毎に、非発光画像変換係数算出部１１０は基準画像と比較画像の間で動きベクトルを検出する（ステップＳ４０２）。
【００５２】
動きベクトルを検出する際には、例えば、差分絶対値の和を評価値とするパターンマッチング処理が用いられる。
【００５３】
ところで、最終的に合成画像を行う際には、非発光画像からはストロボが照射されていない背景部分が得られる。このため、非発光画像同士の位置合わせを行うための変換係数は、ストロボ非照射領域で検出された動きベクトルに応じて算出することが望ましい。
【００５４】
さらに、ストロボ照射領域、つまり、ストロボが照射されている主要被写体領域の動きがストロボ非照射領域と同様の動きを表す場合、ストロボ照射領域の動きベクトルも用いて変換係数を算出すれば、位置合わせの精度が向上する。
【００５５】
ところが、特に、主要被写体が人物であり、さらには、人物と背景との距離の差が大きいと、人物の動きおよび距離差の影響などに起因してストロボ照射領域およびストロボ非照射領域の示す動きが異なることがある。このような場合には、ストロボ照射領域の動きベクトルを用いて変換係数を算出すると、背景部分の位置合わせ精度が低下する恐れがある。
【００５６】
従って、図示の例では、ストロボ非照射領域のみから算出した変換係数Ｈと、ストロボ照射領域およびストロボ非照射領域、つまり、画像全体から算出した変換係数Ｈ’のうち背景部分の動きをより精度よく表している変換係数とを用いる。
【００５７】
図５は、図４に示す変換係数の算出を説明するための図である。
【００５８】
図４および図５を参照して、前述のようにして動きベクトルを検出した後、非発光画像変換係数算出部１１０はストロボ非照射領域に属する小ブロックにおいて検出された複数の動きベクトルに応じて、画像の位置ズレを表す変換係数Ｈ（第１の変換係数）を算出する（ステップＳ４０３）。ここでは、複数の動きベクトルから変換係数Ｈを算出する手法として、最小二乗法が用いられる。
【００５９】
続いて、非発光画像変換係数算出部１１０は、画像全体において検出された複数の動きベクトルに応じて変換係数Ｈ’（第２の変換係数）を算出する（ステップＳ４０４）。
【００６０】
次に、非発光画像変換係数算出部１１０は変換係数ＨおよびＨ’の評価を行う。まず、非発光画像変換係数算出部１１０は変換係数ＨおよびＨ’を用いてストロボ非照射領域に属する小ブロックの着目点の座標を変換する（ステップＳ４０５）。ここで、着目点とは、小ブロックの各々においてその中央の点を表す。
【００６１】
図５に示すように、非発光画像はストロボ照射領域５０１およびストロボ非照射領域５０２を有している。そして、１つの小ブロックにおいて検出された動きベクトル５０３についてステップＳ４０５の処理を行うと、着目点５０６を始点として、座標変換後の着目点５０７を終点とする動きベクトル５０４および５０５が生成される。
【００６２】
なお、動きベクトル５０４は変換係数Ｈを用いて得られた動きベクトルであり、動きベクトル５０５は変換係数Ｈ’を用いて得られた動きベクトルである。
【００６３】
次に、非発光画像変換係数算出部１１０は小ブロックにおいて動きベクトル５０３と、変換係数ＨおよびＨ’を用いて生成された動きベクトル５０４および５０５との誤差ＥｒｒＨおよびＥｒｒＨ’を算出する（ステップＳ４０６）。ここで、誤差ＥｒｒＨおよびＥｒｒＨ’は動きベクトルが示す終点座標間の距離を示す。
【００６４】
続いて、非発光画像変換係数算出部１１０はストロボ非照射領域に属する全ての小ブロックについてそれぞれ誤差ＥｒｒＨおよびＥｒｒＨ’の総和を求める（ステップＳ４０７）。そして、非発光画像変換係数算出部１１０は誤差ＥｒｒＨおよびＥｒｒＨ’の総和をそれぞれ総和ΣＥｒｒＨおよびΣＥｒｒＨ’とする。
【００６５】
さらに、非発光画像変換係数算出部１１０は総和ΣＥｒｒＨおよびΣＥｒｒＨ’の大きさを比較して、総和ΣＥｒｒＨ＞ΣＥｒｒＨ’であるか否かを判定する（ステップＳ４０８）。誤差の値が小さい程、変換係数の精度が高いと考えられるので、総和ΣＥｒｒＨ≦総和ΣＥｒｒＨ’であると（ステップＳ４０８において、ＮＯ）、非発光画像変換係数算出部１１０は変換係数Ｈを使用すると決定する（ステップＳ４０９）。
【００６６】
続いて、非発光画像変換係数算出部１１０は全ての比較画像について変換係数を算出したか否かを判定する（ステップＳ４１０）。全ての比較画像について変換係数の算出を終了すると（ステップＳ４１０において、ＹＥＳ）、非発光画像変換係数算出部１１０は射影変換係数算出処理を終了する。
【００６７】
一方、全ての比較画像について変換係数の算出を終了していない（ステップＳ４１０において、ＹＥＳ）、非発光画像変換係数算出部１１０はステップＳ４０２の処理に戻って、次の比較画像について変換係数の算出を行う。
【００６８】
総和ΣＥｒｒＨ＞総和ΣＥｒｒＨ’であると（ステップＳ４０８において、ＹＥＳ）、非発光画像変換係数算出部１１０は変換係数Ｈ’を使用すると決定する（ステップＳ４１１Ｓ４０９）。そして、非発光画像変換係数算出部１１０はステップＳ４１０の処理に進む。
【００６９】
このようにして、非発光画像変換係数算出部１１０は基準画像と比較画像間との位置ズレを示す変換係数を確定する。なお、以下の説明では、非発光画像１（基準画像）に対する非発光画像２〜４（比較画像）の変換係数をそれぞれＨ１２、Ｈ１３、およびＨ１４とする。
【００７０】
発光画像変換係数算出部１１１は、発光画像について、非発光画像変換係数算出部１１０において基準画像とした特定の非発光画像との位置ズレを表す変換係数（射影変換係数）を算出する。ここでは、発光画像０と基準画像である非発光画像１との変換係数を算出する。
【００７１】
合成画像の合成を行う際には、発光画像からはストロボが照射されている被写体像のみが得られる。このため、発光画像と非発光画像との位置合わせを行う際には、ストロボ照射領域で検出された動きベクトルから変換係数を算出することが望ましい。
【００７２】
ところが、ストロボが照射された被写体像は、非発光画像においては光量不足のため黒く潰れてしまい、動きベクトルの検出が困難なことがある。従って、非発光画像におけるストロボ照射領域の輝度を検出して、当該輝度値が所定の輝度値（閾値レベル）よりも大きい場合には、ストロボ照射領域で変換係数の算出を行う。一方、輝度値が所定の閾値レベル以下である場合には、ストロボ非照射領域で変換係数の算出を行う。
【００７３】
図６は、図１に示す発光画像変換係数算出部１１１で行われる処理を説明するためのフローチャートである。
【００７４】
発光画像変換係数算出処理を開始すると、まず、発光画像変換係数算出部１１１は非発光画像においてストロボ照射領域の平均輝度値を算出する（ステップＳ６０１）。次に、発光画像変換係数算出部１１１は平均輝度値を所定の閾値と比較して、平均輝度値＞所定の閾値（輝度閾値）であるか否かを判定する（ステップＳ６０２）。
【００７５】
平均輝度値＞所定の閾値であると（ステップＳ６０２において、ＹＥＳ）、発光画像変換係数算出部１１１は非発光画像においてストロボ照射領域に黒潰れが生じていないと判断して、ストロボ照射領域で変換係数を算出する。
【００７６】
この際、発光画像変換係数算出部１１１は、まずストロボ照射領域の輝度レベルを調整する（ステップＳ６０３）。例えば、発光画像変換係数算出部１１１は、発光画像および非発光画像においてストロボ照射領域の小ブロック毎に平均輝度を求める。
【００７７】
そして、発光画像変換係数算出部１１１は、発光画像および非発光画像における平均輝度値が互いに等しくなるようにゲインをかける。これによって、発光画像および非発光画像において小ブロック同士の輝度レベルが等しくなる。
【００７８】
続いて、発光画像変換係数算出部１１１は、ストロボ照射領域において小ブロック毎に発光画像および非発光画象の動きベクトルを検出する（ステップＳ６０４）。そして、発光画像変換係数算出部１１１は、検出した動きベクトルに応じて変換係数（発光画像変換係数）を求めて、発光画像変換係数算出処理を終了する。
【００７９】
なお、ステップＳ６０４における動きベクトルの検出およびステップＳ６０５における変換係数の算出は、図４で説明した非発光画像変換係数算出部１１０と同様の処理で行われる。
【００８０】
一方、平均輝度値が所定の輝度閾値以下（平均輝度値≦輝度閾値）であると（ステップＳ６０２において、ＮＯ）、発光画像変換係数算出部１１１は非発光画像においてストロボ照射領域に黒潰れが生じている判断して、ストロボ非照射領域で変換係数を算出する。
【００８１】
この場合、発光画像変換係数算出部１１１は、まずストロボ非照射領域の輝度レベルを調整する（ステップＳ６０６）。ここでは、ステップＳ６０３と同様に平均輝度値を用いて輝度レベルを調整してもよいが、ストロボ非照射領域はストロボの影響を受けていないので、図３で説明したステップＳ３０１と同様にして、露出条件を比較してゲイン調整を行うようにしてもよい。
【００８２】
続いて、発光画像変換係数算出部１１１は、ストロボ非照射領域において小ブロック毎に発光画像および非発光画象の動きベクトルを検出する（ステップＳ６０７）。その後、発光画像変換係数算出部１１１はステップＳ６０５の処理を行う。
【００８３】
なお、ステップＳ６０７における動きベクトルの検出は図４で説明した非発光画像変換係数算出部１１０と同様の処理で行われる。また、以下の説明では、発光画像０に対する非発光画像１の変換係数をＨ０１とする。
【００８４】
このようにして、発光画像変換係数算出部１１１は発光画像と非発光画像群のうち基準画像との位置ズレを示す変換係数（第２の位置合わせ変換係数）を算出する。
【００８５】
前述の図２に示すように、ここでは、撮影順において発光画像０が最初に撮影されている。最終の合成画像においてその画角はなるべくユーザーがシャッターを切ったタイミングの画角となることが望ましい。
【００８６】
よって、位置合わせのために画像を変形する際の基準画像として発光画像０を用いることが望ましい。
【００８７】
ところが、図示の例では、発光画像０および非発光画像２〜４の位置ズレを表す変換係数（Ｈ０２，Ｈ０３，Ｈ０４）は算出されていない。また、非発光画像同士でまず位置合わせを行って、その後に基準とした非発光画像と発光画像との位置合わせを行う場合、位置合わせのために非発光画像の座標変換が２回行われることになる。
【００８８】
一般に、変換係数を用いた画像の変形においては、入出力の座標値がともに整数精度とはならないので、補間処理によって画素値を生成する必要がある。このため、画像の高周波成分が失われるという問題がある。
【００８９】
従って、位置合わせ変換係数算出部１１２では、発光画像変換係数算出部１１１までの処理で算出された変換係数（以下座標変換係数とも呼ぶ）Ｈ１２、Ｈ１３，Ｈ１４、およびＨ０１から、発光画像０と非発光画像２〜４の位置ズレを表す変換係数（Ｈ０２，Ｈ０３，Ｈ０４）を算出する。そして、変換係数Ｈ０１、Ｈ０２、Ｈ０３、およびＨ０４を用いて、画像変形部１１３は発光画像０に対して全ての非発光画像を変形した後、位置合わせを行う。
【００９０】
図７は、図１に示す位置合わせ変換係数算出部１１２による変換係数（射影変換係数）の算出を説明するための図である。
【００９１】
また、図８は、図１に示す位置合わせ変換係数算出部１１２による画像変換係数の変換を説明するための図である。
【００９２】
まず、図７を参照して、発光画素０および非発光画素１の変換係数Ｈ０１と非発光画像１および非発光画像２の変換係数Ｈ１２とから、発光画像０と非発光画像２の変換係数Ｈ０２を算出する場合について説明する。
【００９３】
なお、同様にして、発光画素０および非発光画素２の変換係数Ｈ０２と非発光画像２および非発光画像３の変換係数Ｈ２３とから、発光画像０と非発光画像３の変換係数Ｈ０３が求められ、発光画素０および非発光画素３の変換係数Ｈ０３と非発光画像３および非発光画像４の変換係数Ｈ３４とから、発光画像０と非発光画像４の変換係数Ｈ０４が求められる。
【００９４】
いま、発光画像０の座標値を（ｘ０，ｙ０）、非発光画像１の座標値を（ｘ１，ｙ１）、そして、非発光画像２の座標値を（ｘ２，ｙ２）とする。また、変換係数Ｈ０１およびＨ１２はそれぞれ次の式（２）および（３）で示されるものする。
【００９５】
【数１】
2014039222.tif 000003
従って、斜影変換の際に用いられる式は次の式（４）〜式（７）で表される。
【００９６】
【数２】
2014039222.tif 000004
式（４）および式（５）の（ｘ１，ｙ１）にそれぞれ式（６）および式（７）を代入すると、それぞれ式（８）および式（９）が得られる。
【００９７】
【数３】
2014039222.tif 000005
なお、係数ａ０２、ｂ０２、ｃ０２、ｄ０２、ｅ０２、ｆ０２、ｇ０２、およびｈ０２は、式（４）および式（５）の（ｘ１，ｙ１）にそれぞれ式（６）および式（７）を代入して整理した後の係数を表す。
【００９８】
従って、発光画像０と非発光画像２の変換係数Ｈ０２は式（１０）で示すことができる。
【００９９】
【数４】
2014039222.tif 000006
【０１００】
このようにして、図７に示すように、位置合わせ変換係数算出部１１２は、発光画素０および非発光画素１の変換係数Ｈ０１と非発光画像１および非発光画像２の変換係数Ｈ１２とを用いて、発光画像０と非発光画像２の変換係数Ｈ０２を算出する。
【０１０１】
同様の処理を繰り返して、図８に示すように、位置合わせ変換係数算出部１１２は、発光画素０および非発光画素２の変換係数Ｈ０２と非発光画像２および非発光画像３の変換係数Ｈ２３とに基づいて、発光画像０と非発光画像３の変換係数Ｈ０３を求める。
【０１０２】
また、位置合わせ変換係数算出部１１２は、発光画素０および非発光画素３の変換係数Ｈ０３と非発光画像３および非発光画像４の変換係数Ｈ３４とから、発光画像０と非発光画像４の変換係数Ｈ０４を求める。
【０１０３】
これら変換係数Ｈ０１〜Ｈ０４を用いて、画像変形部１１３は発光画像０に合わせて非発光画像１〜４を位置合わせする。そして、画像変形部１１３は発光画像０を基準として位置合わせ処理が行われた非発光画像１〜４を発光画像０とともに画像合成部１１４に出力する。
【０１０４】
画像合成部１１４には、位置合わせ部１０７で位置合わせ処理が行われた発光画像および非発光画像群が入力される。そして、画像合成部１１４は、後述するように、発光画像においてストロボが照射されている領域について発光画像の領域を出力し、ストロボが照射されていない領域には非発光画像の領域を出力する。さらに、画像合成部１１４は非発光画像が複数枚存在する場合には非発光画像を加算平均してノイズの低減を行う。
【０１０５】
図９は、図１に示す画像合成部１１４で行われる処理を説明するためのフローチャートである。
【０１０６】
画像合成処理を開始すると、画像合成部１１４は、まず発光画像０および非発光画像１の輝度レベルを調整する（ステップＳ９０１）。ここでは、ストロボ照射領域算出部１０９における処理と同様に、画像合成部１１４は発光画像０と非発光画像１の露出条件を比較して、その比較結果に応じて輝度レベルが揃うようにゲイン調整を行う。
【０１０７】
続いて、画像合成部１１４は輝度レベルの調整を行った発光画像０と非発光画像１との差分絶対値を算出する（ステップＳ９０２）。図示の例では、差分絶対値は画素単位で算出される。ここでは、背景の輝度レベルが揃っているので、差分絶対値の大きさはストロボが照射された領域では大きくなり、ストロボが照射されていない領域では小さくなる。
【０１０８】
同様にして、発光画像０と非発光画像２〜４について、ステップＳ９０１およびＳ９０２の処理が行われる。
【０１０９】
一方、局所的なノイズの影響を受けて、ストロボの照射に関係なく差分絶対値が大きくなることが懸念されるので、差分絶対値を算出する前に画像をローパスフィルタ処理するようにしてもよい。
【０１１０】
次に、画像合成部１１４は差分絶対値に基づいて発光画像０および非発光画像１の画像合成比率を算出する。そして、画像合成部１１４は画像合成比率に応じて画素毎に画像の合成を行う（ステップＳ９０４）。
【０１１１】
その後、画像合成部１１４は撮影の結果得られた画像の全てを合成したか否かを判定する（ステップＳ９０５）。画像の全てを合成していないと（ステップＳ９０５において、ＮＯ）、画像合成部１１４はステップＳ９０４の処理に戻る。
【０１１２】
一方、画像の全てを合成していないと（ステップＳ９０５において、ＮＯ）、画像合成部１１４は画像合成処理を終了する。なお、画像合成の際には、画像合成部１１４は発光画像と非発光画像群との合成を行うことになる。
【０１１３】
図１０は、図１に示す画像合成部１１４で用いられる差分絶対値と画像合成比率との関係を示す図である。
【０１１４】
図１０において、差分絶対値が小さい場合（閾値ＴＨ１以下であると）、発光画像合成比率は０、非発光画像合成比率は１となる。画像合成部１１４から出力される画像として非発光画像群が１００％出力される。
【０１１５】
差分絶対値が閾値ＴＨ１を超え閾値ＴＨ２未満であると、発光画像合成比率は線形的に逓減し、非発光画像群は線形的に逓増する。この結果、差分絶対値が閾値ＴＨ１を超え閾値ＴＨ２未満であると、差分絶対値が増加するに伴って、画像合成部１１４から出力される画像には非発光画像群の割合（比率）が増加することになる。
【０１１６】
そして、差分絶対値が閾値ＴＨ２以上となると、発光画像合成比率は１、非発光画像合成比率は０となり、画像合成部１１４から出力される画像として発光画像を１００％出力される。
【０１１７】
前述のように、発光画像について発光画像合成比率に応じて合成が行われることになるが、非発光画像は複数枚（ここでは、４枚）存在するので、非発光画像合成比率を非発光画像の枚数で除算したものが、非発光画像１枚当たりの合成比率となる。
【０１１８】
このようにして、画像合成部１１４によって発光画像および非発光画像群が合成され、合成画像が画像表示部１１５および画像記録部１１６に送られる。
【０１１９】
以上説明したように、図１に示すカメラでは、ストロボ発光画像と複数の非発光画像とを位置合わせする際、複数の非発光画像の位置合わせを所定の非発光画像を基準として行う。その後、発光画像と所定の非発光画像との位置合わせを行う。
【０１２０】
これによって、非発光画像間の位置合わせにおいてストロボ照射領域も位置合わせに用いることが可能となって、従来よりも位置合わせの精度が向上する。その結果、合成画像の画質が向上する。
【０１２１】
さらに、発光画像と非発光画像との位置合わせにおいても、非発光画像における輝度に応じて、主要被写体で位置合わせを行うか又は背景部分で位置合わせを行うかを選択するようにしたので、主要被写体における位置合わせが失敗することに起因する合成画像の画質低下を低減させることができる。
【０１２２】
上述の説明から明らかなように、図１に示す例においては、画像処理部１0６が画像処理装置として機能する。さらに、非発光画像変換係数算出部１１０は第１の算出手段として機能し、発光画像変換係数算出部１１１および位置合わせ変換係数算出部１１２は第２の算出手段として機能する。そして、位置合わせ変換係数算出部１１２および画像変形部１１３は位置合わせ手段として機能し、画像合成部１１４は画像合成手段として機能する。
【０１２３】
なお、ストロボ照射領域算出部１０９は照射領域検出手段として機能する。また、撮像部１０１、ストロボ発光制御部１０２、露出制御部１０３、Ａ／Ｄ変換部１０４、および信号処理部１０５は撮像手段として機能する。
【０１２４】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【０１２５】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を画像処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを画像処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【０１２６】
上記の制御方法および制御プログラムの各々は、少なくとも第１の算出ステップ、第２の算出ステップ、位置合わせステップ、および画像合成ステップを有している。
【０１２７】
また、本発明は、以下の処理を実行することによっても実現される。つまり、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種の記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵなど）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１２８】
１０１  撮像部
１０６  画像処理部
１０７  位置合わせ部
１０８  メモリ部
１０９  ストロボ照射領域算出部
１１０  非発光画像変換係数算出部
１１１  発光画像変換係数算出部
１１２  位置合わせ変換係数算出部
１１３  画像変形部
１１４  画像合成部
【図１】
2014039222.tif 000007
【図３】
2014039222.tif 000008
【図４】
2014039222.tif 000009
【図６】
2014039222.tif 000010
【図９】
2014039222.tif 000011
【図１０】
2014039222.tif 000012
【図２】
2014039222.tif 000013
【図５】
2014039222.tif 000014
【図７】
2014039222.tif 000015
【図８】
2014039222.tif 000016