(57)【要約】【課題】画像の合成を適正に、且つ、簡便に行う。【解決手段】撮像装置１００であって、背景内に同時に存する複数人を連続して撮像することで生成された少なくとも二つの画像フレームの各々から各人の顔の位置を検出する顔検出部７と、少なくとも二つの画像フレームのうち、一の画像フレームの人の顔を基準として、当該一の画像フレームの各画素の他の画像フレームの対応画素に対する合成の重みが人の顔から離れる程小さくなるように合成重み関数w[p](x，y)を設定する重み設定部８ｂと、重み設定部により設定された一の画像フレームの合成重み関数w[p](x，y)に応じて当該一の画像フレームの各画素を他の画像フレームの対応画素に重ね合わせるように合成して合成画像を生成する画像合成部８ｄと、を備える。【選択図】図１
2010239440.tif 000002
【特許請求の範囲】
【請求項１】
背景内に同時に存する複数人を連続して撮像することで生成された少なくとも二つの画像を取得する取得手段と、
この取得手段により取得された少なくとも二つの画像の各々から各人の特徴部の位置を検出する特徴部検出手段と、
前記少なくとも二つの画像のうち、前記特徴部検出手段により検出された一の画像の特徴部を基準として、当該一の画像の各画素の他の画像の対応画素に対する合成の重みが前記特徴部から離れる程小さくなるように合成重み値を設定する重み設定手段と、
この重み設定手段により設定された前記一の画像の合成重み値に応じて当該一の画像の各画素を前記他の画像の対応画素に重ね合わせるように合成して合成画像を生成する合成手段と、
を備えたことを特徴とする画像合成装置。
【請求項２】
前記合成手段は、
前記重み設定手段により設定された前記一の画像の複数の合成重み値に基づいて、当該一の画像の各画素の前記他の画像の対応画素に対する重なり度合いが異なる複数の合成画像を生成し、
前記合成手段により生成された複数の合成画像のエッジを検出するエッジ検出手段と、
前記複数の合成画像の中から、前記エッジ検出手段により検出されたエッジの評価値が最も良い何れかの合成画像を特定する画像特定手段と、
を更に備えたことを特徴とする請求項１に記載の画像合成装置。
【請求項３】
前記重み設定手段は、
前記一の画像の各画素の前記他の画像の対応画素に対する合成の重みを変更して、当該重みが異なる複数の前記合成重み値を自動的に設定することを特徴とする請求項２に記載の画像合成装置。
【請求項４】
前記重み設定手段は、
所定操作に基づいて指示された、前記一の画像の各画素の前記他の画像の対応画素に対する合成の重みが異なる複数の前記合成重み値を設定し、
前記合成手段は、
前記重み設定手段により設定された前記一の画像の複数の合成重み値に基づいて、当該一の画像の各画素の前記他の画像の対応画素に対する重なり度合いが異なる合成画像を複数生成し、
所定操作に基づいて、前記合成手段により生成された複数の合成画像の中から、何れかの合成画像を指示する画像指示手段を更に備えることを特徴とする請求項１に記載の画像合成装置。
【請求項５】
前記特徴部検出手段は、
前記特徴部として、各画像から人の顔の位置を検出する顔検出手段を備えることを特徴とする請求項１〜４の何れか一項に記載の画像合成装置。
【請求項６】
画像合成装置のコンピュータを、
背景内に同時に存する複数人を連続して撮像することで生成された少なくとも二つの画像を取得する取得手段、
この取得手段により取得された少なくとも二つの画像の各々から各人の特徴部の位置を検出する特徴部検出手段、
前記少なくとも二つの画像のうち、前記特徴部検出手段により検出された一の画像の特徴部を基準として、当該一の画像の各画素の他の画像の対応画素に対する合成の重みが前記特徴部から離れる程小さくなるように合成重み値を設定する重み設定手段、
この重み設定手段により設定された前記一の画像の合成重み値に応じて当該一の画像の各画素を前記他の画像の対応画素に重ね合わせるように合成して合成画像を生成する合成手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像を合成する画像合成装置及びプログラムに関する。
【背景技術】
【０００２】
従来より、撮像装置を用いて全員が瞬きをせず、且つ、笑顔となっているような集合写真を撮影することは容易ではない。また、連写撮影を行って複数枚の写真を撮影した場合でさえも、これらの写真の中から全員が満足するような写真を得ることは少ない。
そこで、各個人ごとに最も良い顔の画像を選択して、それらを一枚に合成する技術が知られている（例えば、特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−４５３５５号公報
【特許文献２】特開２００２−１９９２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の技術は、個々人の領域及び個々人の最適フレームを入力操作により選択して合成するものであるが、個々人毎の抽出領域の形状は、ユーザ指定点付近のエッジ検出によって推定した顔又は人物全体の輪郭曲線によることから、合成時の不整合に関しては、抽出される輪郭のエッジをぼかすことで対応するようになっている。
しかしながら、エッジ検出による輪郭は、ロバストに得られるものではなく、複雑な背景や人物のオーバーラップには本質的に弱いため、人物以外の輪郭線で切ってしまい、不自然な結果が生じる虞がある。また、エッジのぼかし処理は、局所的なので大きな不整合には対応できないし、逆にぼかしが不必要な場合、シャープネスが低下して品質低下の原因となってしまう。
【０００５】
また、特許文献２の技術は、瞬き問題に特化したものであり、個々人の最適フレームを自動的に選択し、目の領域のみを置き換えて合成する方法である。このため、顔の内部で置き換えが完結するので、背景や顔以外の身体領域の不一致による問題は生じないが、目の検出は、顔全体の検出ほどロバストではないため、目の位置の算出を誤る虞があり、その場合にはひどい不整合な結果を生じてしまう。また、顔の向きが微妙に変化した場合にも、単純な置き換えでは不自然さが残ってしまうといった問題もある。
【０００６】
また、最適な境界線を任意曲線として算出するグラフカット法を利用した方法が知られている。この方法によれば、多くの場合に理想的な結果を出力するが、うまくいかない場合には、身体が欠けたり身体同士が入り組みあったりするなど極端に不自然な結果を生じる虞がある。なお、このような場合であっても、ユーザによるマーキング補正を援用してその問題を対話処理的に解決できることが多いが、マウスやスタイラス等の入力手段を用いなければならず、装置のコスト増を招き、ユーザの操作時間や煩わしさの増大といった問題を生じてしまう。
【０００７】
そこで、本発明の課題は、画像の合成を適正に、且つ、簡便に行うことができる画像合成装置及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、請求項１に記載の発明の画像合成装置は、
背景内に同時に存する複数人を連続して撮像することで生成された少なくとも二つの画像を取得する取得手段と、この取得手段により取得された少なくとも二つの画像の各々から各人の特徴部の位置を検出する特徴部検出手段と、前記少なくとも二つの画像のうち、前記特徴部検出手段により検出された一の画像の特徴部を基準として、当該一の画像の各画素の他の画像の対応画素に対する合成の重みが前記特徴部から離れる程小さくなるように合成重み値を設定する重み設定手段と、この重み設定手段により設定された前記一の画像の合成重み値に応じて当該一の画像の各画素を前記他の画像の対応画素に重ね合わせるように合成して合成画像を生成する合成手段と、を備えたことを特徴としている。
【０００９】
請求項２に記載の発明は、請求項１に記載の画像合成装置において、
前記合成手段は、前記重み設定手段により設定された前記一の画像の複数の合成重み値に基づいて、当該一の画像の各画素の前記他の画像の対応画素に対する重なり度合いが異なる複数の合成画像を生成し、前記合成手段により生成された複数の合成画像のエッジを検出するエッジ検出手段と、前記複数の合成画像の中から、前記エッジ検出手段により検出されたエッジの評価値が最も良い何れかの合成画像を特定する画像特定手段と、を更に備えたことを特徴としている。
【００１０】
請求項３に記載の発明は、請求項２に記載の画像合成装置において、
前記重み設定手段は、前記一の画像の各画素の前記他の画像の対応画素に対する合成の重みを変更して、当該重みが異なる複数の前記合成重み値を自動的に設定することを特徴としている。
【００１１】
請求項４に記載の発明は、請求項１に記載の画像合成装置において、
前記重み設定手段は、所定操作に基づいて指示された、前記一の画像の各画素の前記他の画像の対応画素に対する合成の重みが異なる複数の前記合成重み値を設定し、前記合成手段は、前記重み設定手段により設定された前記一の画像の複数の合成重み値に基づいて、当該一の画像の各画素の前記他の画像の対応画素に対する重なり度合いが異なる合成画像を複数生成し、所定操作に基づいて、前記合成手段により生成された複数の合成画像の中から、何れかの合成画像を指示する画像指示手段を更に備えることを特徴としている。
【００１２】
請求項５に記載の発明は、請求項１〜４の何れか一項に記載の画像合成装置において、
前記特徴部検出手段は、前記特徴部として、各画像から人の顔の位置を検出する顔検出手段を備えることを特徴としている。
【００１３】
請求項６に記載の発明のプログラムは、
画像合成装置のコンピュータを、背景内に同時に存する複数人を連続して撮像することで生成された少なくとも二つの画像を取得する取得手段、この取得手段により取得された少なくとも二つの画像の各々から各人の特徴部の位置を検出する特徴部検出手段、前記少なくとも二つの画像のうち、前記特徴部検出手段により検出された一の画像の特徴部を基準として、当該一の画像の各画素の他の画像の対応画素に対する合成の重みが前記特徴部から離れる程小さくなるように合成重み値を設定する重み設定手段、この重み設定手段により設定された前記一の画像の合成重み値に応じて当該一の画像の各画素を前記他の画像の対応画素に重ね合わせるように合成して合成画像を生成する合成手段、として機能させることを特徴としている。
【発明の効果】
【００１４】
本発明によれば、人の顔を基準として画像の合成を適正に、且つ、簡便に行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明を適用した一実施形態の撮像装置の概略構成を示すブロック図である。
【図２】図１の撮像装置による合成画像生成処理に係る動作の一例を示すフローチャートである。
【図３】図２の合成画像生成に係る原画像フレームの一例を模式的に示す図である。
【図４】図２の合成画像生成に係る合成画像の一例を模式的に示す図である。
【発明を実施するための形態】
【００１６】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図１は、本発明を適用した一実施形態の撮像装置１００の概略構成を示すブロック図である。
本実施形態の撮像装置１００は、少なくとも二つの画像フレーム（例えば、画像フレームＰ，Ｑ；図３（ａ）及び図３（ｂ）参照）のうち、一の画像フレーム（例えば、画像フレームＰ）の人の顔Ｆ１を基準として、当該一の画像フレームの各画素の他の画像フレーム（例えば、画像フレームＱ）の対応画素に対する合成の重みが人の顔Ｆ１から離れる程小さくなるように合成重み関数w[p](x，y)を設定して、一の画像フレームの合成重み関数w[p](x，y)に応じて当該一の画像フレームの各画素を他の画像フレームの対応画素に重ね合わせるように合成して合成画像Ｒ（図４参照）を生成する。
具体的には、図１に示すように、撮像装置１００は、レンズ部１と、電子撮像部２と、撮像制御部３と、画像データ生成部４と、画像メモリ５と、位置合わせ部６と、顔検出部７と、画像処理部８と、記録媒体９と、表示制御部１０と、表示部１１と、操作入力部１２と、ＣＰＵ１３とを備えている。
また、撮像制御部３と、位置合わせ部６と、顔検出部７と、画像処理部８と、ＣＰＵ１３は、例えば、カスタムＬＳＩ１Ａとして設計されている。
【００１７】
レンズ部１は、複数のレンズから構成され、ズームレンズやフォーカスレンズ等を備えている。
また、レンズ部１は、図示は省略するが、被写体の撮像の際に、ズームレンズを光軸方向に移動させるズーム駆動部、フォーカスレンズを光軸方向に移動させる合焦駆動部等を備えていても良い。
【００１８】
電子撮像部２は、例えば、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal-oxide Semiconductor）等のイメージセンサから構成され、レンズ部１の各種レンズを通過した光学像を二次元の画像信号に変換する。
【００１９】
撮像制御部３は、図示は省略するが、タイミング発生器、ドライバなどを備えている。そして、撮像制御部３は、タイミング発生器、ドライバにより電子撮像部２を走査駆動して、所定周期毎に光学像を電子撮像部２により二次元の画像信号に変換させ、当該電子撮像部２の撮像領域から１画面分ずつ画像フレームを読み出して画像データ生成部４に出力させる。
また、撮像制御部３は、ＡＦ（自動合焦処理）、ＡＥ（自動露出処理）、ＡＷＢ（自動ホワイトバランス）等の被写体を撮像する際の条件の調整制御を行う。
【００２０】
このように構成された撮像レンズ部１、電子撮像部２及び撮像制御部３は、撮像手段として、被写体を所定のフレームレートで連続して撮像して複数の画像フレームを逐次生成して取得する。
【００２１】
画像データ生成部４は、電子撮像部２から転送された画像フレームのアナログ値の信号に対してＲＧＢの各色成分毎に適宜ゲイン調整した後に、サンプルホールド回路（図示略）でサンプルホールドしてＡ／Ｄ変換器（図示略）でデジタルデータに変換し、カラープロセス回路（図示略）で画素補間処理及びγ補正処理を含むカラープロセス処理を行った後、デジタル値の輝度信号Ｙ及び色差信号Ｃｂ，Ｃｒ（ＹＵＶデータ）を生成する。
カラープロセス回路から出力される輝度信号Ｙ及び色差信号Ｃｂ，Ｃｒは、図示しないＤＭＡコントローラを介して、バッファメモリとして使用される画像メモリ５にＤＭＡ転送される。
【００２２】
なお、Ａ／Ｄ変換後のデジタルデータを現像するデモザイク部（図示略）が、カスタムＬＳＩ１Ａに実装されていても良い。
【００２３】
画像メモリ５は、例えば、ＤＲＡＭ等により構成され、位置合わせ部６、顔検出部７、画像処理部８、ＣＰＵ１３等によって処理されるデータ等を一時記憶する。
【００２４】
位置合わせ部６は、連写撮影により生成された複数の画像フレームの位置合わせを行う。具体的には、位置合わせ部６は、特徴量演算部、ブロックマッチング部、座標変換式算出部（いずれも図示略）等を備えている。
【００２５】
特徴量演算部は、複数の画像フレームのうち、隣合う画像フレームどうしの何れか一方の画像フレーム（例えば、画像フレームＰ等）を基準として、当該画像フレームＰから特徴点を抽出する特徴抽出処理を行う。具体的には、特徴量演算部は、一方の画像フレームのＹＵＶデータに基づいて、所定数（或いは、所定数以上)の特徴の高いブロック領域（特徴点）を選択して、当該ブロックの内容をテンプレート（例えば、１６×１６画素の正方形）として抽出する。
ブロックマッチング部は、隣合う画像フレームどうしの位置合わせのためのブロックマッチング処理を行う。具体的には、ブロックマッチング部は、特徴抽出処理にて抽出されたテンプレートが隣合う画像フレームのうちの他方の画像フレーム内のどこに対応するか、つまり、当該他方の画像フレーム内にてテンプレートの画素値が最適にマッチする位置（対応領域）を探索する。そして、画素値の相違度の評価値（例えば、差分二乗和（ＳＳＤ）や差分絶対値和（ＳＡＤ）等）が隣合う画像フレーム間の最適なオフセットを当該テンプレートの動きベクトルとして算出する。
座標変換式算出部は、隣合う画像フレームのうちの一方の画像フレームから抽出した特徴点に基づいて、当該一方の画像フレームに対する他方の画像フレームの各画素の座標変換式を算出する。具体的には、座標変換式算出部は、ブロックマッチング部により算出された複数のテンプレートの動きベクトルを多数決により演算して、統計的に所定％（例えば、５０％）以上となると判断された動きベクトルを全体の動きベクトルとして、当該動きベクトルに係る特徴点対応を用いて他方の画像フレームの射影変換行列を算出する。そして、位置合わせ部６は、射影変換行列に従って他方の画像フレームを座標変換して一方の画像フレームと位置合わせを行う。
【００２６】
顔検出部７は、連写撮影により生成された複数の画像フレームから所定の顔検出方法（例えば、ＶＩＯＬＡ−ＪＯＮＥＳの顔検出器等）を用いて人の顔を検出する。具体的には、顔検出部７は、連写撮影中は顔の位置が大きく変動しないものとみなして、画像メモリ５に一時記憶された複数の画像フレームのうち、何れか一の代表画像フレーム（例えば、画像フレームＰ等）のＹＵＶデータに基づいて、当該画像フレームから顔画像領域を検出して、当該顔画像領域を顔枠として顔の位置及び大きさを取得する。そして、代表画像フレーム以外の画像フレーム（例えば、画像フレームＱ等）については、代表画像フレームから検出された顔画像領域を流用して、顔の位置及び大きさを取得する。ここで、顔の位置としては、例えば、顔枠の中心座標（u[i]，v[i]）を取得し、顔の大きさとしては、例えば、顔枠の縦辺長・横辺長の平均をとることで顔枠のサイズs[i]を取得する。なお、iは、個人を示すインデクスである。
顔検出処理は、公知の技術であるので、ここでは詳細な説明を省略する。
ここで、顔検出部７は、複数の画像フレームの各々から人の顔の位置を検出する顔検出手段を構成している。また、顔検出部７は、各画像フレームから各人の顔（特徴部）の位置を検出する特徴部検出手段を構成している。
【００２７】
なお、上記した顔検出の手法は、一例であってこれに限られるものではない。即ち、例えば、顔検出の成功率を高めるため、全ての画像フレームから顔検出を行い、隣合う画像フレーム間でほぼオーバーラップする位置のものを同一人物とし、また隣合う画像フレーム間で検出の不安定な場所では、多数決により顔の存在・非存在を決定するような、顔検出の統合処理を行っても良い。
【００２８】
画像処理部８は、画像合成に係る各画像フレームの顔の評価値を算出する評価値算出部８ａを具備している。
評価値算出部８ａは、例えば、人の顔の目の瞬き度合の評価や、人の顔の目が細くなっている度合や口角の上がっている度合等に応じた笑顔度の評価や、これらの結合評価値などを用いて、良い顔ほど値が小さくなるように変換した値を評価値として算出する。これにより、各画像フレーム内の個人i（顔枠）について、最小の顔評価値を与える画像フレームが求められる。そのフレームインデクスをb[i]として表す。
【００２９】
また、画像処理部８は、画像合成に係る各画像フレームの他の画像フレームに対する合成重み関数w[p](x，y)を設定する重み設定部８ｂを具備している。
重み設定部８ｂは、集合写真に写っている各個人iについての最小の顔評価値を与える画像フレーム（例えば、画像フレームＰ）の顔（例えば、顔Ｆ１）を中心として、当該画像フレームの各画素の他の画像フレーム（例えば、画像フレームＱ）の対応画素に対する合成の重みが顔から離れる程小さくなるように、即ち、各画素（x，y）について顔の中心からの距離に従って連続的に０（ゼロ）に近づくように合成重み関数w[p](x，y)を設定する。具体的には、重み設定部８ｂは、例えば、合成重み関数w[p](x，y)を下記式（１）に示すようなガウス型関数で定義して、各画像フレームpについてp = b[i]となる全てのiに対して、下記式（２）に従って各画像フレームpの各画素（x，y）の合成重み関数w[p](x，y)を決定する。
【数１】
2010239440.tif 000003
【数２】
2010239440.tif 000004
ここで、σ[i]は、パラメータであり、初期値としては、適当な定数を顔枠のサイズs[i]に乗算して当該サイズs[i]に比例する値を設定する。なお、式（２）にあっては、maxに代えて総和Σを用いても良い。
【００３０】
また、式（１）に示すようなガウス型関数は、計算量が大きく、また値域も大きくて扱い難いため、例えば、下記式（３）や式（４）に示すような有理多項式で代替しても良い。
【数３】
2010239440.tif 000005
【数４】
2010239440.tif 000006
【００３１】
このように、重み設定部８ｂは、連写撮影により生成された複数の画像フレームの少なくとも二つの画像フレームＰ，Ｑのうち、一の画像フレームＰ（他の画像フレームＱ）の人の顔（特徴部）Ｆ１（顔Ｆ２）を基準として、当該一の画像フレームＰ（他の画像フレームＱ）の各画素の他の画像フレームＱ（一の画像フレームＰ）の対応画素に対する合成の重みが顔から離れる程小さくなるように合成重み関数w[p](x，y)を設定する重み設定手段を構成している。
【００３２】
また、画像処理部８は、重み設定部８ｂにより設定された合成重み関数w[p](x，y)のパラメータσ[i]を変更する重み変更部８ｃを具備している。
重み変更部８ｃは、ユーザによる操作入力部１２の所定操作に基づいて、或いは自動的にパラメータσ[i]を変更する。つまり、σ[i]のスケールを調整することで、重み設定部８ｂにより設定される合成重み関数w[p](x，y)に係る重みが拮抗する領域、即ち、画像フレームどうしがブレンド合成される広さが変わることとなる。
例えば、重み変更部８ｃは、手動で重なり度合いを変更するモードでは、ユーザによる操作入力部１２の所定操作に基づいて入力された所定の制御指示信号に従って、σ値を少し大きくしたり、或いは少し小さくするスケール変更を行う。ここで、σ値は、各σ[i]の全体を同じように、例えば同じ比例定数kをかけてスケールしても良いし（一重ループ）、或いは、個人iごとに別個にスケールしても良い。この場合には、個人選択ループ内にσ[i]調整ループが入る二重のループとなる。
また、重み変更部８ｃは、自動で重なり度合いを変更するモードでは、自動的にσ値のスケールを小さい値から大きい値（例えば、０．５〜１．５等）に変更する。
【００３３】
また、画像処理部８は、重み設定部８ｂにより設定された一の画像フレームＰの合成重み関数w[p](x，y)に応じて当該一の画像フレームＰの各画素を他の画像フレームＱの対応画素に重ね合わせるように合成する画像合成部８ｄを具備している。
即ち、画像合成部８ｄは、合成重み関数w[p](x，y)に応じて一の画像フレームＰの各画像の他の画像フレームＱの対応画素に対するブレンド比であるアルファ値を下記式（５）に従って算出するブレンド比算出部８ｅを有している。
【数５】
2010239440.tif 000007
ここで、Uは、全フレームインデクスの集合である。
アルファ値（０≦α≦１）は、一の画像フレームＰの各画素について他の画像フレームＱに対してアルファブレンディングする際の重み（ブレンド比）を表すものである。例えば、最小の顔評価値を与える一の画像フレームＰの各画素のアルファ値が最も大きくなり、当該顔以外に顔がなければ、当該画像フレームの画素がほぼ１．０（即ち、他の画像フレームＱは、ほぼ０（ゼロ））となる。また、被写体として二人を撮影して二枚の画像フレームを合成する場合に、これら二人の顔Ｆ１、Ｆ２がほぼ等距離にあれば、二つの顔Ｆ１、Ｆ２の中間点のアルファ値がほぼ０．５ずつとなる。また、最小の顔評価値を与える一の画像フレームＰ（他の画像フレームＱ）にあっては、中間点から当該最小の顔評価値の顔Ｆ１（Ｆ２）に近づくにつれて０．５から次第に大きくなるように連続的に変化する中間の値となるとともに、中間点から他の画像フレームＱ（一の画像フレームＰ）の顔Ｆ２（Ｆ１）に近づくにつれて０．５から次第に小さくなるように連続的に変化する中間の値となる。
なお、いずれの顔からも遠い、非常に小さい重みに対しては、数値計算的にゼロ除算が生じたり、対等に近い（拮抗する）ブレンド比率が生じたりするなどの問題を生じる場合がある。この場合には、いずれかの代表画像フレームの重みについて、０よりある程度大きい最小値を設定して、それ以下にならないようにクリップするなどの処理を施しても良い。
【００３４】
そして、画像合成部８ｄは、ブレンド比算出部８ｅにより算出されたアルファ値αに基づいて、当該アルファ値αと各原画像フレームIを用いて、下記式（６）に従ってブレンド合成して合成画像Ｒを生成する。
【数６】
2010239440.tif 000008
具体的には、画像合成部８ｄは、何れか一の原画像フレーム（例えば、画像フレームＰ）の各画素のうち、アルファ値が０の画素は透過させ、アルファ値が０＜α＜１の画素は他の画像フレーム（例えば、画像フレームＱ）の対応画素とブレンディングを行い、アルファ値が１の画素は何もせずに他の画像フレームの対応画素に対して透過させないようにする。
また、画像合成部８ｄは、重み変更部８ｃによりパラメータσ[i]が変更されることで重み設定部８ｂにより設定された一の画像フレームＰの複数の合成重み関数w[p](x，y)に基づいて、当該一の画像フレームＰの各画素の他の画像フレームＱの対応画素に対する重なり度合いが異なる複数の合成画像Ｒ、…を生成する。
ここで、画像合成部８ｄは、重み設定部８ｂにより設定された一の画像フレームＰの合成重み関数w[p](x，y)に応じて当該一の画像フレームＰの各画素を他の画像フレームＱの対応画素に重ね合わせるように合成して合成画像Ｒを生成する合成手段を構成している。
【００３５】
また、画像処理部８は、画像合成部８ｄにより生成された重なり度合が異なる複数の合成画像Ｒ、…のエッジの評価値が最も良い何れかの合成画像Ｒを自動的に特定する画像特定部８ｆを具備している。
即ち、画像特定部８ｆは、画像合成部８ｄにより生成された複数の合成画像Ｒ、…のエッジ点を検出するエッジ検出部８ｇを具備している。エッジ検出部８ｇは、例えば、近傍スケールを適当に調整した微分フィルタ演算を行って、その演算結果を所定の閾値で判定することで合成画像Ｒからエッジを抽出してエッジ点として検出する。また、エッジ検出部８ｇは、合成画像Ｒから検出された各エッジ点について、その点のアルファ値が所定値以上である原画像フレームからエッジを検出する。
そして、画像特定部８ｆは、エッジ検出部８ｇにより検出された合成画像Ｒのエッジに基づいてエッジ評価値J(k)を算出することで、エッジ評価値J(k)が最も小さい一の合成画像Ｒを特定する。具体的には、画像特定部８ｆは、合成画像Ｒの各エッジ点について、その点のアルファ値が所定値以上である原画像フレームのいずれにも、近傍にエッジが存在しない場合、即ち、原画像フレームにはエッジがないが、画像合成によって新たな且つ明確なエッジが生じた場合、そのようなエッジ点の個数をエッジ評価値J(k)とする。この処理を、画像特定部８ｆは、画像合成部８ｄにより生成された全ての合成画像Ｒについて行って、エッジ評価値J(k)の値が小さいほど、またエッジ評価値J(k)が同程度ならば、kが小さいほど良い結果と考えて、最適化したkの値を結果k’として算出する。具体的には、画像特定部８ｆは、例えば、適当な定数λを用いてJ(k)＋λkが最小になるkを算出する。
そして、画像特定部８ｆは、k＊σ[i]をσ[i]として最終結果を出力する。
【００３６】
記録媒体９は、例えば、不揮発性メモリ（フラッシュメモリ）等により構成され、画像処理部８のＪＰＥＧ圧縮部（図示略）により符号化された撮像画像の記録用の画像データを記憶する。
【００３７】
表示制御部１０は、画像メモリ５に一時的に記憶されている表示用の画像データを読み出して表示部１１に表示させる制御を行う。
具体的には、表示制御部１０は、ＶＲＡＭ、ＶＲＡＭコントローラ、デジタルビデオエンコーダなどを備えている。そして、デジタルビデオエンコーダは、ＣＰＵ１３の制御下にて画像メモリ５から読み出されてＶＲＡＭ（図示略）に記憶されている輝度信号Ｙ及び色差信号Ｃｂ，Ｃｒを、ＶＲＡＭコントローラを介してＶＲＡＭから定期的に読み出して、これらのデータを元にビデオ信号を発生して表示部１１に出力する。
【００３８】
表示部１１は、例えば、液晶表示装置であり、表示制御部１０からのビデオ信号に基づいて電子撮像部２により撮像された画像などを表示画面に表示する。具体的には、表示部１１は、撮像モードにて、撮像レンズ部１、電子撮像部２及び撮像制御部３による被写体の撮像により生成された複数の画像フレームに基づいてライブビュー画像を表示したり、本撮像画像として撮像されたレックビュー画像を表示する。
【００３９】
操作入力部１２は、当該撮像装置１００の所定操作を行うためのものである。具体的には、操作入力部１２は、被写体の撮影指示に係るシャッタボタン１２ａ、撮像モードの選択指示等に係る選択決定ボタン１２ｂ、ズーム量の調整指示に係るズームボタン（図示略）等を備え、これらのボタンの操作に応じて所定の操作信号をＣＰＵ１３に出力する。
【００４０】
また、選択決定ボタン１２ｂは、重み変更部８ｃにより合成重み関数w[p](x，y)がユーザによる手動操作に基づいて変更設定されることで画像合成部８ｄにより複数の合成画像Ｒ、…が生成される場合に、ユーザによる所定操作に基づいて、当該ユーザが最も良いと判断した合成画像Ｒを指示する。そして、選択決定ボタン１２ｂの操作に応じて出力された所定の指示信号がＣＰＵ１３に入力されると、ＣＰＵ１３は、当該指示信号に係る合成画像Ｒを最終結果として出力する。
即ち、選択決定ボタン１２ｂ及びＣＰＵ１３は、ユーザによる所定操作に基づいて、画像合成部８ｄにより生成された複数の合成画像Ｒ、…の中から、何れかの合成画像Ｒを指示する画像指示手段を構成している。
【００４１】
ＣＰＵ１３は、撮像装置１００の各部を制御するものである。具体的には、ＣＰＵ１３は、撮像装置１００用の各種処理プログラム（図示略）に従って各種の制御動作を行うものである。
【００４２】
次に、撮像装置１００による合成画像生成処理について、図２〜図４を参照して説明する。
図２は、合成画像生成処理に係る動作の一例を示すフローチャートである。また、図３（ａ）及び図３（ｂ）は、合成画像生成に係る原画像フレームの一例を模式的に示す図である。また、図４は、合成画像生成により生成された合成画像Ｒの一例を模式的に示す図である。
なお、図４にあっては、ブレンド比に応じて線種等を異ならせており、例えば、アルファ値が０．５程度の部分（犬の画像部分）を最も薄い（細い）実線で表し、また、０．５よりも小さくなる部分（図４中、原画像フレームを図３（ｂ）に示す画像フレームとする女性の腕の画像部分）を破線で表し、また、０．５よりも大きくなる部分（図４中、原画像フレームを図３（ａ）に示す画像フレームとする女性の腕の画像部分）を他の部分よりも薄い（細い）が、アルファ値０．５の部分よりも濃い（太い）実線で表している。また、犬の画像部分は、ドット数で重なり度合いを表現するものとする。
【００４３】
合成画像生成処理は、ユーザによる操作入力部１２の選択決定ボタン１２ｂの所定操作に基づいて、メニュー画面に表示された複数の撮像モードの中から画像合成モードが選択指示された場合に実行される処理である。
図２に示すように、先ず、集合写真として所定の背景（例えば、公園）内に同時に二人の人が存在する画像を連写撮影して、これらの連写画像を画像メモリ５に保存する（ステップＳ１）。具体的には、ＣＰＵ１３は、ユーザによる操作入力部１２のシャッタボタン１２ａの所定操作に基づいて連写撮像指示が入力されると、撮像制御部３に、フォーカスレンズの合焦位置や露出条件（シャッター速度、絞り、増幅率等）やホワイトバランス等の撮像条件を調整させて、被写体の光学像を電子撮像部２により所定の撮像フレームレート（例えば、１０ｆｐｓ）で連続して所定枚数撮像させる連写撮影を行わせる。そして、ＣＰＵ１３は、画像データ生成部４に、電子撮像部２から転送された被写体の各画像フレームの画像データを生成させて、これらの画像データを画像メモリ５に一時記憶させる。
なお、合成画像生成処理にて、集合写真として撮影される被写体の人数は、二人に限られるものではなく、複数人であれば良い。
【００４４】
次に、ＣＰＵ１３は、位置合わせ部６に、画像合成結果のシャープネスを向上させるため、前処理として、予め画像フレーム単体で手ぶれの大きいものを例えば高周波減衰により判別して除去させ（ステップＳ２）、残りの複数の画像フレームの位置合わせを行わせる（ステップＳ３）。
具体的には、位置合わせ部６の特徴量演算部は、何れか一の画像フレーム（例えば、画像フレームＰ）のＹＵＶデータに基づいて、所定数（或いは、所定数以上)の特徴の高いブロック領域（特徴点）を選択して、当該ブロックの内容をテンプレートとして抽出する。そして、ブロックマッチング部は、特徴抽出処理にて抽出されたテンプレートの画素値が最適にマッチする位置を隣合う画像フレーム内にて探索して、画素値の相違度の評価値が最も良かった隣合う画像フレーム間の最適なオフセットを当該テンプレートの動きベクトルとして算出する。そして、座標変換式算出部は、ブロックマッチング部により算出された複数のテンプレートの動きベクトルに基づいて全体の動きベクトルを統計的に算出し、当該動きベクトルに係る特徴点対応を用いて他方の画像フレームの射影変換行列を算出する。そして、位置合わせ部６は、射影変換行列に従って他方の画像フレームを座標変換して一方の画像フレームと位置合わせを行う。位置合わせ（前処理）後の画像フレームをi[p]で表す。
なお、画像フレームどうしの位置合わせ（ステップＳ３）以降の処理は、近似的に縮小サイズ画像で行うことができ、必要に応じて計算量を抑えることができる。
【００４５】
次に、ＣＰＵ１３は、顔検出部７に、各画像フレームから所定の顔検出方法を用いて人の顔を検出させ、当該顔画像領域を顔枠として顔の位置及び大きさを取得させる（ステップＳ４）。
続けて、ＣＰＵ１３は、画像処理部８の評価値算出部８ａに、例えば、人の顔の目の瞬き度合の評価や、人の顔の目が細くなっている度合や口角の上がっている度合等に応じた笑顔度の評価や、これらの結合評価値などを用いて、良い顔ほど値が小さくなるように変換した値を各画像フレームの顔の評価値として算出させる（ステップＳ５）。
これにより、評価値算出部８ａは、各画像フレーム内の個人i（顔枠）について、最小の顔評価値を与える画像フレームを求め、そのフレームインデクスをb[i]として表す。
【００４６】
その後、ＣＰＵ１３は、画像処理部８の重み設定部８ｂに、パラメータσ[i]の初期値として、例えば、適当な定数を顔枠のサイズs[i]に乗算して当該サイズs[i]に比例する値を設定させた後（ステップＳ６）、画像処理部８による複数の画像フレームからの合成画像Ｒの生成をループにより処理する（ステップＳ７〜Ｓ１３）。
具体的には、画像処理部８の重み設定部８ｂは、画像合成に係る何れか一の画像フレームの他の画像フレームに対する合成重み関数w[p](x，y)を下記式（１）に示すようなガウス型関数で定義して、各画像フレームpについてp = b[i]となる全てのiに対して、下記式（２）に従って各画像フレームpの各画素（x，y）の合成重み関数w[p](x，y)を算出して決定する（ステップＳ８）。
【数７】
2010239440.tif 000009
【数８】
2010239440.tif 000010
【００４７】
次に、画像処理部８のブレンド比算出部８ｅは、重み設定部８ｂにより設定された合成重み関数w[p](x，y)に応じて一の画像フレームの各画素の他の画像フレームの対応画素に対するアルファ値（ブレンド比）を下記式（５）に従って算出する（ステップＳ９）。
【数９】
2010239440.tif 000011
【００４８】
続けて、画像処理部８の画像合成部８ｄは、ブレンド比算出部８ｅにより算出されたアルファ値αと各原画像フレームIを用いて、下記式（６）に従ってブレンド合成する（ステップＳ１０）。
【数１０】
2010239440.tif 000012
具体的には、画像合成部８ｄは、何れか一の原画像フレーム（例えば、画像フレームＰ）の各画素のうち、アルファ値が０の画素は透過させ、即ち、他の画像フレーム（例えば、画像フレームＱ）の対応画素で塗りつぶし、アルファ値が０＜α＜１の画素は他の画像フレームの対応画素とブレンディングを行い、即ち、画素どうしを混ざり合わせ、アルファ値が１の画素は何もせずに他の画像フレームの対応画素に対して透過させないようにすることで、合成画像Ｒを生成する。
【００４９】
次に、ブレンド合成により生成された合成画像Ｒのブレンド結果を評価する（ステップＳ１１）。なお、以下の説明にあっては、自動で重なり度合いを変更するモードに設定されているものとして、画像特定部８ｆがブレンド結果の評価を自動的に行う場合について説明する。
画像特定部８ｆのエッジ検出部８ｇは、画像合成部８ｄにより生成された合成画像Ｒのエッジを抽出してエッジ点を検出した後、各エッジ点について、その点のアルファ値が所定値以上である原画像フレームのいずれにも、近傍にエッジが存在しない場合、即ち、原画像フレームにはエッジがないが、画像合成によって新たな且つ明確なエッジが生じた場合、そのようなエッジ点の個数をエッジ評価値J(k)とする。各合成画像Ｒのエッジ評価値J(k)は、画像メモリ５等に一時記憶され、これらの処理を、ループ処理によって画像合成部８ｄにより生成された全ての合成画像Ｒについて行う。
【００５０】
その後、画像処理部８の重み変更部８ｃは、例えば、σ値のスケールを小さい値から大きい値となるように（例えば、０．５〜１．５等）に自動的に変更した後（ステップＳ１２）、ステップＳ８に戻り、重み設定部８ｂは、重み変更部８ｃにより変更されたパラメータσ[i]に応じて合成重み関数w[p](x，y)を算出した後、画像合成部８ｄは、ブレンド比算出部８ｅにより算出されたアルファ値αと各原画像フレームIを用いてブレンド合成して合成画像Ｒを生成する。
【００５１】
上記の処理を、ステップＳ１２にてパラメータσ[i]が変更されるごとに繰り返し行う。そして、新たに生成された合成画像Ｒのブレンド結果の評価をステップＳ１１にて行う。これにより、画像特定部８ｆは、画像メモリ５に一時記憶されている複数のエッジ評価値J(k)の中で、エッジ評価値J(k)の値が小さいほど、またエッジ評価値J(k)が同程度ならばkが小さいほど良い結果と考えて、最適化したkの値を結果k’として算出する。
そして、画像特定部８ｆは、k＊σ[i]をσ[i]として最終結果を出力することで、合成画像生成処理を終了する（ステップＳ１４）。
これにより、最適化された合成重み関数w[p](x，y)に基づいて、一の画像フレームＰ（図３（ａ）参照）の各画素を他の画像フレームＱ（図３（ｂ）参照）の対応画素に重ね合わせるようにブレンド合成された合成画像Ｒ（図４参照）が生成される。
【００５２】
以上のように、本実施形態の撮像装置１００によれば、少なくとも二つの画像フレーム（例えば、画像フレームＰ，Ｑ）のうち、一の画像フレームＰの人の顔を基準として、当該一の画像フレームＰの各画素の他の画像フレームＱの対応画素に対する合成の重みが人の顔から離れる程小さくなるように合成重み関数w[p](x，y)を設定して、一の画像フレームＰの合成重み関数w[p](x，y)に応じて当該一の画像フレームＰの各画素を他の画像フレームＱの対応画素に重ね合わせるように合成して合成画像Ｒを生成する。
これにより、全体で一つ、或いは各個人毎に一つのパラメータσ[i]のみを用いて合成重み関数w[p](x，y)を調整し、従来の対話的操作に見られるような多くの座標を入力する必要がなくなり、合成画像Ｒの生成を簡便に行うことができる。
また、顔を中心とする重みの比、即ち、顔の中心からの距離に逆相関を持ち空間的に連続に（穏やかに）変化させる関数をアルファ値として、複数の画像フレームをブレンド合成するので、画像フレームＰ，Ｑ間の人（動体）の動きにより合成画像Ｒに二重写りが生じる場合があるが、この場合であっても、長時間露光して動きを入れたような表現として許容され得ると考えられる。つまり、本質的に不整合が発生するシーンであっても、ブレンド範囲が切れ目のない広い範囲（パラメータにより調整可能な範囲）に亘りつつ、それが人の顔（特徴部）以外の領域となるため、モーションブラーに近い自然な二重写りとなり、ユーザの満足感を著しく損なうことはない。
従って、人の顔を基準として、当該顔はぶれずに顔から離れるほど次第にぶれたような合成画像Ｒの生成を適正に行うことができる。
【００５３】
また、複数の合成重み関数w[p](x，y)に基づいて一の画像フレームＰの各画素の他の画像フレームＱの対応画素に対する重なり度合いが異なる複数の合成画像Ｒ、…を生成し、重なり度合いの異なる複数の合成画像Ｒ、…のエッジを検出して、これら複数の合成画像Ｒ、…の中から、エッジの評価値が最も良い何れかの合成画像Ｒを特定するので、合成画像Ｒに生じた変化の急峻さの程度をパラメータ可変とし、パラメータσ[i]を調整することによって最も良い合成結果を得ることができる。
このとき、パラメータσ[i]を変更して一の画像フレームＰの各画素の他の画像フレームＱの対応画素に対する合成の重みが異なる複数の合成重み関数w[p](x，y)を自動的に設定することができるので、最適な合成画像の取得をより簡便に行うことができる。
また、ユーザによる操作入力部１２の所定操作に基づいてパラメータσ[i]を調整する場合であっても、簡便なボタンで行うことができ、従来の対話的操作に見られるような多くの座標を入力する必要がなくなり、合成画像Ｒの生成を簡便に行うことができる。
【００５４】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態では、各個人について顔評価値が最小な（最も良い）画像フレームを１枚決定するようにしたが、これに限られるものではなく、顔評価値が所定の閾値以下となるもの、即ち、悪くないものを候補として複数枚取得しても良い。
この場合、合成可能な個人間の組合せは、それらの順列となることから、より多くの組合せ可能性が生じるが、重み（アルファ値）の拮抗する領域において、原画像フレーム間の画素値や勾配値の不一致度の総和を算出して、不一致度の最も小さいものを選択することで、これらの個人間の組合せのうち、最も不整合の出ない合成結果を選択することができる。これにより、組み合わせの最適化を行うことができ、不整合が生じる確率を非常に小さくすることができ、この発明の実用性をさらに高めることができる。
【００５５】
また、上記実施形態では、人の特徴部として顔を例示したが、これに限られるものではなく、特徴的な部分であれば如何なる部分であっても良い。即ち、特徴部をぶれてはいけない領域とし、それ以外をぶれてもあまり気にならない領域とに分けることができる。
【００５６】
また、撮像装置１００の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。即ち、画像合成装置として、撮像装置１００を例示したが、これに限られるものではい。例えば、連写撮影は当該撮像装置１００とは異なる撮像装置にて行い、この撮像装置から転送された画像データのみを記録して、合成画像生成処理のみを実行する画像合成装置であっても良い。
【００５７】
加えて、上記実施形態にあっては、取得手段、特徴部検出手段、重み設定手段、合成手段としての機能を、ＣＰＵ１３の制御下にて、電子撮像部２、撮像制御部３、顔検出部７、重み設定部８ｂ、画像合成部８ｄが駆動することにより実現される構成としたが、これに限られるものではなく、ＣＰＵ１３によって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリ（図示略）に、取得処理ルーチン、特徴部検出処理ルーチン、重み設定処理ルーチン、合成処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンによりＣＰＵ１３に、背景内に同時に存する複数人を連続して撮像することで生成された少なくとも二つの画像を取得させるようにしても良い。また、特徴部検出処理ルーチンによりＣＰＵ１３に、取得された少なくとも二つの画像の各々から各人の特徴部の位置を検出させるようにしても良い。また、重み設定処理ルーチンによりＣＰＵ１３に、少なくとも二つの画像のうち、検出された一の画像の特徴部を基準として、当該一の画像の各画素の他の画像の対応画素に対する合成の重みが特徴部から離れる程小さくなるように合成重み値を設定させるようにしても良い。また、合成処理ルーチンによりＣＰＵ１３に、一の画像の合成重み値に応じて当該一の画像の各画素を他の画像の対応画素に重ね合わせるように合成して合成画像Ｒを生成させるようにしても良い。
【符号の説明】
【００５８】
１００・・・撮像装置、１・・・レンズ部、２・・・電子撮像部、３・・・撮像制御部、７・・・顔検出部、８・・・画像処理部、８ａ・・・評価値算出部、８ｂ・・・重み設定部、８ｃ・・・重み変更部、８ｄ・・・画像合成部、８ｅ・・・ブレンド比算出部、８ｆ・・・画像特定部、８ｇ・・・エッジ検出部、１２・・・操作入力部、１２ｂ・・・選択決定ボタン、１３・・・ＣＰＵ
【図１】
2010239440.tif 000013
【図２】
2010239440.tif 000014
【図３】
2010239440.tif 000015
【図４】
2010239440.tif 000016