(57)【要約】【課題】画像中の適切な位置に所定の画像を合成するのに好適な画像処理装置を提供する。【解決手段】撮像装置１００は、制御部１０と、撮像画像とキャラクタ画像とを記憶する記憶部２３と、を備える。制御部１０は、記憶部２３に記憶されている撮像画像に含まれている被写体を検出する。また、制御部１０は、検出した被写体の撮像画像中の位置を検出する。次に、制御部１０は、検出した被写体の位置に基づいて、合成しようとするキャラクタの撮像画像中の位置を決定する。そして、制御部１０は、記憶部２３に記憶されている撮像画像の決定したキャラクタの位置に記憶部２３に記憶されているキャラクタ画像を合成して、合成画像を生成する。【選択図】図１
2010103651.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像して得られた撮像画像にキャラクタ画像を合成して合成画像を生成する画像処理装置であって、
撮像画像とキャラクタ画像とを記憶する記憶手段と、
前記記憶手段に記憶されている撮像画像に含まれている被写体を検出する被写体検出手段と、
前記被写体検出手段により検出された被写体の撮像画像中の位置を検出する被写体位置検出手段と、
前記被写体位置検出手段により検出された被写体の位置に基づいて、合成しようとするキャラクタの撮像画像中の位置を決定するキャラクタ位置決定手段と、
前記記憶手段に記憶されている撮像画像の前記キャラクタ位置決定手段により決定されたキャラクタの位置に前記記憶手段に記憶されているキャラクタ画像を合成して、合成画像を生成する合成手段と、
を備える、ことを特徴とする画像処理装置。
【請求項２】
前記被写体検出手段により検出された被写体が、撮像者が撮像を予定していた撮像予定被写体であるか、撮像者が撮像を予定していなかった非撮像予定被写体であるかを判別する被写体判別手段、をさらに備え、
前記キャラクタ位置決定手段は、前記被写体位置検出手段により検出された被写体の位置のうち、前記被写体判別手段により撮像予定被写体であると判別された被写体の位置に基づいて、キャラクタの位置を決定する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記被写体検出手段により検出された被写体が、撮像者が撮像を予定していた撮像予定被写体であるか、撮像者が撮像を予定していなかった非撮像予定被写体であるかを判別する被写体判別手段、をさらに備え、
前記キャラクタ位置決定手段は、前記被写体位置検出手段により検出された被写体の位置のうち、前記被写体判別手段により非撮像予定被写体であると判別された被写体の位置に基づいて、キャラクタの位置を決定する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記記憶手段は、撮像予定被写体を示す画像である撮像予定被写体画像をさらに記憶し、
前記被写体判別手段は、前記記憶手段に記憶されている撮像画像のうち前記被写体検出手段により検出された被写体を示す画像部分が、前記記憶手段に記憶されている撮像予定被写体画像と一致するか否かにより、前記被写体検出手段により検出された被写体が撮像予定被写体であるか非撮像予定被写体であるかを判別する、
ことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記キャラクタ位置決定手段は、撮像予定被写体の位置から撮像画像の一端までの距離と、キャラクタの位置から撮像画像の他端までの距離とが一致するようにキャラクタの位置を決定する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記キャラクタ位置決定手段は、撮像予定被写体を構成する画像部分の所定の座標軸における最も大きい座標と、キャラクタを構成する画像部分の当該所定の座標軸における最も小さい座標とが一致するようにキャラクタの位置を決定する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記キャラクタ位置決定手段は、前記被写体検出手段により複数の撮像予定被写体が検出された場合に、当該複数の撮像予定被写体の位置に基づいて、複数の撮像予定被写体とキャラクタとが合成画像上で所定の方向に並んで配置されるようにキャラクタの位置を決定する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項８】
前記キャラクタ位置決定手段は、非撮像予定被写体の位置をキャラクタの位置に決定する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項９】
被写体は人物であり、
前記被写体検出手段により検出された被写体の視線が正面を向いているか否かを判別する視線判別手段、をさらに備え、
前記キャラクタ位置決定手段は、前記視線判別手段により視線が正面を向いていると判別された非撮像予定被写体の位置をキャラクタの位置に決定する、
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記記憶手段に記憶されている撮像画像に含まれている所定の被写体特定物を検出する被写体特定物検出手段と、
前記被写体特定物検出手段により検出された被写体特定物の撮像画像中の位置を検出する被写体特定物位置検出手段と、をさらに備え、
前記被写体判別手段は、前記被写体検出手段により検出された被写体のうち、被写体の位置が前記被写体特定物検出手段により検出された被写体特定物の位置と所定の距離以下である被写体を撮像予定被写体であると判別する、
ことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項１１】
撮像画像は動画像であり、
被写体特定物は所定のパターンで点滅する発光装置であり、
前記被写体判別手段は、前記記憶手段に記憶されている撮像画像のうち時間経過とともに所定のパターンで輝度が変化する画像部分を検出することにより被写体特定物を検出する、
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
コンピュータを、
被写体を撮像して得られた撮像画像にキャラクタ画像を合成して合成画像を生成する画像処理装置として機能させるためのプログラムであって、
当該画像処理装置は、
撮像画像とキャラクタ画像とを記憶する記憶手段、
を備え、
前記記憶手段に記憶されている撮像画像に含まれている被写体を検出する被写体検出手段、
前記被写体検出手段により検出された被写体の撮像画像中の位置を検出する被写体位置検出手段、
前記被写体位置検出手段により検出された被写体の位置に基づいて、合成しようとするキャラクタの撮像画像中の位置を決定するキャラクタ位置決定手段、
前記記憶手段に記憶されている撮像画像の前記キャラクタ位置決定手段により決定されたキャラクタの位置に前記記憶手段に記憶されているキャラクタ画像を合成して、合成画像を生成する合成手段、
として機能させる、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の適切な位置に所定の画像を合成するのに好適な画像処理装置、並びに、これらをコンピュータにより実現するためのプログラムに関する。
【背景技術】
【０００２】
現在、あらかじめ用意されたキャラクタ画像やフレーム画像などの合成用画像を、ある被写体を撮像して得られた撮像画像に合成する画像処理装置が知られている。ここで、撮像画像に合成用画像を合成する際には、撮像画像の適切な位置に合成用画像を合成することが望ましい。例えば、撮像画像にキャラクタ画像を合成する場合、合成後の画像において、被写体とキャラクタとが重ならないように、撮像画像とキャラクタ画像とを合成することが望ましい。例えば、特許文献１には、かかる要望に応えるデジタルカメラが開示されている。
【０００３】
特許文献１に開示されたデジタルカメラは、被写体を撮像してデジタル画像データを得る撮像手段と、デジタル画像データを記憶する画像記憶手段と、画像を表示する画像表示手段と、合成用に参照する画像中の１つ以上の少なくとも一部領域を参照画像領域として指定する参照画像指定手段と、参照画像領域内の参照画像を、現在撮影中の撮影対象画像に重ねて画像表示手段に表示するように合成する画像合成手段と、を備える。当該デジタルカメラによれば、撮像者は、画像表示手段に表示された合成用画像（参照画像）を確認しながら被写体を撮像することができる。従って、撮像者は、合成用画像が被写体と重ならないように撮像することができる。
【０００４】
【特許文献１】特開２００１−３３３３２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されたデジタルカメラを用いる場合、撮像者自身が、撮像領域内における、合成用画像と被写体との位置関係を確認しながら撮像する必要があった。従って、撮像者が撮像の際に位置合わせするなどわずらわしい行為をすることなく、画像中の適切な位置に所定の画像を合成したいという要望が強かった。
【０００６】
本発明は、上記問題に鑑みてなされたものであり、画像中の適切な位置に所定の画像を合成するのに好適な画像処理装置、並びに、これらをコンピュータにより実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の第１の観点に係る画像処理装置は、
被写体を撮像して得られた撮像画像にキャラクタ画像を合成して合成画像を生成する画像処理装置であって、
撮像画像とキャラクタ画像とを記憶する記憶手段と、
前記記憶手段に記憶されている撮像画像に含まれている被写体を検出する被写体検出手段と、
前記被写体検出手段により検出された被写体の撮像画像中の位置を検出する被写体位置検出手段と、
前記被写体位置検出手段により検出された被写体の位置に基づいて、合成しようとするキャラクタの撮像画像中の位置を決定するキャラクタ位置決定手段と、
前記記憶手段に記憶されている撮像画像の前記キャラクタ位置決定手段により決定されたキャラクタの位置に前記記憶手段に記憶されているキャラクタ画像を合成して、合成画像を生成する合成手段と、
を備える、ことを特徴とする。
【０００８】
前記被写体検出手段により検出された被写体が、撮像者が撮像を予定していた撮像予定被写体であるか、撮像者が撮像を予定していなかった非撮像予定被写体であるかを判別する被写体判別手段、をさらに備え、
前記キャラクタ位置決定手段は、前記被写体位置検出手段により検出された被写体の位置のうち、前記被写体判別手段により撮像予定被写体であると判別された被写体の位置に基づいて、キャラクタの位置を決定してもよい。
【０００９】
前記被写体検出手段により検出された被写体が、撮像者が撮像を予定していた撮像予定被写体であるか、撮像者が撮像を予定していなかった非撮像予定被写体であるかを判別する被写体判別手段、をさらに備え、
前記キャラクタ位置決定手段は、前記被写体位置検出手段により検出された被写体の位置のうち、前記被写体判別手段により非撮像予定被写体であると判別された被写体の位置に基づいて、キャラクタの位置を決定してもよい。
【００１０】
前記記憶手段は、撮像予定被写体を示す画像である撮像予定被写体画像をさらに記憶し、
前記被写体判別手段は、前記記憶手段に記憶されている撮像画像のうち前記被写体検出手段により検出された被写体を示す画像部分が、前記記憶手段に記憶されている撮像予定被写体画像と一致するか否かにより、前記被写体検出手段により検出された被写体が撮像予定被写体であるか非撮像予定被写体であるかを判別してもよい。
【００１１】
前記キャラクタ位置決定手段は、撮像予定被写体の位置から撮像画像の一端までの距離と、キャラクタの位置から撮像画像の他端までの距離とが一致するようにキャラクタの位置を決定してもよい。
【００１２】
前記キャラクタ位置決定手段は、撮像予定被写体を構成する画像部分の所定の座標軸における最も大きい座標と、キャラクタを構成する画像部分の当該所定の座標軸における最も小さい座標とが一致するようにキャラクタの位置を決定してもよい。
【００１３】
前記キャラクタ位置決定手段は、前記被写体検出手段により複数の撮像予定被写体が検出された場合に、当該複数の撮像予定被写体の位置に基づいて、複数の撮像予定被写体とキャラクタとが合成画像上で所定の方向に並んで配置されるようにキャラクタの位置を決定してもよい。
【００１４】
前記キャラクタ位置決定手段は、非撮像予定被写体の位置をキャラクタの位置に決定してもよい。
【００１５】
被写体は人物であり、
前記被写体検出手段により検出された被写体の視線が正面を向いているか否かを判別する視線判別手段、をさらに備え、
前記キャラクタ位置決定手段は、前記視線判別手段により視線が正面を向いていると判別された非撮像予定被写体の位置をキャラクタの位置に決定してもよい。
【００１６】
前記記憶手段に記憶されている撮像画像に含まれている所定の被写体特定物を検出する被写体特定物検出手段と、
前記被写体特定物検出手段により検出された被写体特定物の撮像画像中の位置を検出する被写体特定物位置検出手段と、をさらに備え、
前記被写体判別手段は、前記被写体検出手段により検出された被写体のうち、被写体の位置が前記被写体特定物検出手段により検出された被写体特定物の位置と所定の距離以下である被写体を撮像予定被写体であると判別してもよい。
【００１７】
撮像画像は動画像であり、
被写体特定物は所定のパターンで点滅する発光装置であり、
前記被写体判別手段は、前記記憶手段に記憶されている撮像画像のうち時間経過とともに所定のパターンで輝度が変化する画像部分を検出することにより被写体特定物を検出してもよい。
【００１８】
上記目的を達成するために、本発明のその他の観点に係るプログラムは、
コンピュータを、
被写体を撮像して得られた撮像画像にキャラクタ画像を合成して合成画像を生成する画像処理装置として機能させるためのプログラムであって、
当該画像処理装置は、
撮像画像とキャラクタ画像とを記憶する記憶手段、
を備え、
前記記憶手段に記憶されている撮像画像に含まれている被写体を検出する被写体検出手段、
前記被写体検出手段により検出された被写体の撮像画像中の位置を検出する被写体位置検出手段、
前記被写体位置検出手段により検出された被写体の位置に基づいて、合成しようとするキャラクタの撮像画像中の位置を決定するキャラクタ位置決定手段、
前記記憶手段に記憶されている撮像画像の前記キャラクタ位置決定手段により決定されたキャラクタの位置に前記記憶手段に記憶されているキャラクタ画像を合成して、合成画像を生成する合成手段、
として機能させる、ことを特徴とする。
【発明の効果】
【００１９】
本発明によれば、画像中の適切な位置に所定の画像を合成するのに好適な画像処理装置、並びに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面に基づき、本発明の実施形態に係る撮像装置の一例について説明する。なお、本発明は、デジタルカメラなどの撮像装置の他、パーソナルコンピュータなどあらゆる画像処理装置に適用することができる。
【００２１】
まず、図１を用いて、本発明の実施形態に係る撮像装置１００の構成を説明する。撮像装置１００は、被写体を含む空間を撮像して画像を生成し、生成した画像にＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）技術などを用いて生成したキャラクタ画像を合成する装置である。なお、本実施形態においては、被写体は人物の顔であり、キャラクタは動物のキャラクタであるものとして説明する。そして、人物の顔とキャラクタの顔との画像上における位置に基づいて、キャラクタの配置位置を算出する例を示す。
【００２２】
図１に示すように、撮像装置１００は、制御部１０と、光学系１１と、光学系制御部１２と、光学系駆動部１３と、撮像素子１４と、Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換器１５と、画像処理部１６と、画像処理メモリ１７と、フラッシュ制御部１８と、フラッシュ発光部１９と、ＣＧ生成部２０と、画像合成部２１と、画像合成メモリ２２と、記憶部２３と、操作部２４と、表示部２５と、電源制御部２６と、を備える。
【００２３】
制御部１０は、撮像装置１００全体の動作を制御する。制御部１０は、例えば、ＣＰＵ、ＲＯＭ及びＲＡＭなどから構成される。この場合、ＣＰＵがＲＡＭをワークエリアとしてＲＯＭに記憶されているプログラムを実行することにより、ＣＰＵ、ＲＯＭ及びＲＡＭが全体として制御部１０として機能する。
【００２４】
光学系１１は、ズームレンズ、フォーカスレンズ、絞り、シャッターなどから構成される。
【００２５】
光学系制御部１２は、制御部１０や画像処理部１６による制御に従って、光学系駆動部１３を制御する。具体的には、光学系制御部１２は、光学系駆動部１３を制御することにより、光学系１１が備えるズームレンズの位置を調節してズームを合わせるとともに、光学系１１が備えるフォーカスレンズの位置を調節して焦点を合わせる。また、光学系制御部１２は、光学系駆動部１３を制御することにより、光学系１１が備える絞りやシャッターを駆動する。
【００２６】
撮像素子１４は、光学系１１から入射された光を電気信号に変換する素子である。撮像素子１４は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などから構成され、変換した電気信号をアナログ信号として出力する。
【００２７】
Ａ／Ｄ変換器１５は、撮像素子１４から供給されたアナログ信号をデジタル信号に変換して出力する。
【００２８】
画像処理部１６は、Ａ／Ｄ変換器１５から供給されたデジタル信号を処理して、撮像された画像を示す画像データを生成する。また、画像処理部１６は、供給された画像のノイズ除去、配列変換、色変換、認識処理、圧縮処理を実行する。画像処理部１６は、シャッターボタンが押されたときは、比較的高画質の画像を示す大容量の画像データを生成し、プレビュー表示（スルー表示）をするときは、比較的低画質の画像を示す小容量の画像データを生成することもできる。しかしながら、本実施形態においては、理解を容易にするため、シャッターボタンが押されたときに生成される画像の画質と、プレビュー表示をするときに生成される画像の画質は同じものとする。すなわち、撮像装置１００は、シャッターボタンが押されたときは、プレビュー表示している画像を保存するものとして説明する。なお、画像処理部１６は、画像データを生成する際に、画像処理メモリ１７をバッファとして用いる。画像処理部１６は、例えば、ＣＰＵ、ＲＯＭ及びＲＡＭなどから構成される。
【００２９】
画像処理メモリ１７は、画像処理部１６がデジタル信号から画像データを生成するまでに生成される中間データなどを記憶する。画像処理メモリ１７は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などから構成される。
【００３０】
フラッシュ制御部１８は、制御部１０による制御に従って、フラッシュ発光部１９を制御する。フラッシュ発光部１９は、閃光電球などから構成される。
【００３１】
ＣＧ生成部２０は、記憶部２３に記憶されているキャラクタ生成情報などに基づいて、三次元の仮想空間上のキャラクタのＣＧを生成する。ＣＧ生成部２０は、例えば、ＣＰＵ、ＲＯＭ及びＲＡＭなどから構成される。
【００３２】
画像合成部２１は、画像処理部１６から供給された画像データにより示される画像とＣＧ生成部２０から供給されたＣＧとを合成する。なおＣＧ生成部２０から供給されるＣＧは三次元の仮想空間上のキャラクタのＣＧである。従って、画像合成部２１は、当該ＣＧを、三次元の仮想空間上の所定の点を基準として、三次元の仮想空間上の所定の投影面に投影したときに得られる画像（以下「キャラクタ画像」という。）を抽出し、抽出したキャラクタ画像を画像処理部１６から供給された画像データにより示される画像と合成する。なお、画像合成部２１は、画像を合成する際に、画像合成メモリ２２をバッファとして用いる。画像合成部２１は、例えば、ＣＰＵ、ＲＯＭ及びＲＡＭなどから構成される。
【００３３】
画像合成メモリ２２は、画像合成部２１が画像を合成するまでに生成される中間データなどを記憶する。画像合成メモリ２２は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などから構成される。
【００３４】
記憶部２３は、画像処理部１６が生成した画像データ、画像合成部２１が生成した画像データ、３次元の仮想空間上のキャラクタのＣＧを生成するためのキャラクタ生成情報などを記憶する。記憶部２３は、フラッシュメモリなどから構成される。
【００３５】
操作部２４は、ユーザから各種のキー操作を受け付ける。操作部２４は、シャッターボタン、ズームボタン、カーソルキー、決定ボタン、メニューボタンなどを備える。操作部２４は、ユーザから受け付けた各種のキー操作を示す信号を制御部１０に供給する。一方、制御部１０は、操作部２４からこれらの信号を受信すると、受信した信号に基づいた処理を実行する。
【００３６】
表示部２５は、記憶部２３に記憶されている画像データにより表現される画像などを表示する。表示部２５は、液晶ディスプレイなどから構成される。
【００３７】
電源制御部２６は、図示しない電源のオン／オフの制御や、充電の制御を実行する。電源制御部２６は、例えば、所定の時間継続して操作部２４に操作入力がない場合に、電源をオフにする機能を有する。電源制御部２６は、例えば、ＣＰＵ、ＲＯＭ及びＲＡＭなどから構成される。
【００３８】
次に、図２に示すフローチャートを用いて、撮像装置１００が実行する画像合成処理を説明する。撮像装置１００は、電源が投入されると、図２のフローチャートにより示される画像合成処理を実行する。また、画像合成処理は、シャッターボタンが押されるまでは、スルー画像とキャラクタ画像とを合成して合成画像を生成してプレビュー表示する処理を繰り返し、シャッターボタンが押されたことに応答して、合成画像を保存する処理である。なお、理解を容易にするため、「撮像された画像」を「スルー画像」、「スルー画像とキャラクタ画像とを合成して得られる画像」を「合成画像」とする。
【００３９】
まず、制御部１０は、スルー画像を取得する（ステップＳ１０１）。具体的には、制御部１０は、画像処理部１６を制御してスルー画像を生成する。
【００４０】
そして、制御部１０は、キャラクタの選択を求める要求があるか否かを判別する（ステップＳ１０２）。例えば、制御部１０は、キャラクタの選択を求める操作入力がユーザから操作部２４になされたか否かを判別することにより、キャラクタの選択を求める要求があるか否かを判別する。なお、キャラクタの選択を求める要求は、ユーザからのものに限られない。例えば、制御部１０は、記憶部２３に記憶されているデータに基づいてキャラクタの選択を求める要求があるか否かを判別してもよい。
【００４１】
制御部１０は、キャラクタの選択を求める要求があると判別すると（ステップＳ１０２：ＹＥＳ）、キャラクタの選択を実行する（ステップＳ１０３）。具体的には、制御部１０は、キャラクタの選択を促す画面を表示部２５に表示し、操作部２４を介してユーザからのキャラクタの選択を受け付ける。
【００４２】
なお、制御部１０は、キャラクタを指定する情報とともに、キャラクタの顔の中心の座標の初期値を指定する情報や、キャラクタの顔の半径を指定する情報などをキャラクタ指定情報として、ユーザから受け付けるようにしてもよい。キャラクタの顔の中心の座標の初期値は、キャラクタの配置位置の初期値を示し、スルー画像上の座標で示される。キャラクタの顔の半径は、キャラクタのスルー画像上での大きさを示し、画素数（ピクセル）で示される。以下、本明細書において、座標は、スルー画像（または、合成画像）上の座標を示し、顔の半径は、スルー画像（または、合成画像）上での顔の半径を示す。
【００４３】
図３に示す例では、キャラクタとして犬が指定され、キャラクタの顔の中心座標の初期値として（Ｘｃ０，Ｙｃ０）が指定され、キャラクタの顔の半径として２０（ピクセル）が指定されている。なお、キャラクタの顔の中心座標の初期値、キャラクタの顔の半径などは、ユーザから受け付けずに、あらかじめ記憶部２３に記憶されている値などを使用してもよい。
【００４４】
次に、制御部１０は、選択されたキャラクタのキャラクタ画像を生成する（ステップＳ１０４）。具体的には、まず、制御部１０は、三次元の仮想空間上のキャラクタのＣＧをＣＧ生成部２０に生成させる。例えば、制御部１０は、犬を指定する情報をＣＧ生成部２０に供給する。そして、ＣＧ生成部２０は、記憶部２３に記憶されているキャラクタ生成情報のうち、三次元の仮想空間上の犬のＣＧを生成するためのキャラクタ生成情報を読み出す。ＣＧ生成部２０は、読み出したキャラクタ生成情報に基づいて、三次元の仮想空間上の犬のＣＧを生成する。そして、制御部１０は、生成された犬のＣＧを変換して犬のキャラクタ画像を生成する。具体的には、制御部１０は、ＣＧ生成部２０により生成された犬のＣＧと、キャラクタの顔の半径とを画像合成部２１に供給し、画像合成部２１を制御して、犬のキャラクタ画像を生成する。
【００４５】
次に、制御部１０は、生成したキャラクタ画像を保存する（ステップＳ１０５）。具体的には、制御部１０は、生成した犬のキャラクタ画像を記憶部２３に記憶する。
【００４６】
制御部１０は、キャラクタの選択を求める要求がないと判別する（ステップＳ１０２：ＮＯ）、若しくは、キャラクタ画像の保存（ステップＳ１０５）を終了すると、キャラクタ配置方法の変更を求める要求があるか否かを判別する（ステップＳ１０６）。例えば、制御部１０は、キャラクタ配置方法の変更を求める操作入力がユーザから操作部２４になされたか否かを判別することにより、キャラクタ配置方法の変更を求める要求があるか否かを判別する。なお、キャラクタ配置方法の変更を求める要求は、ユーザからのものに限られない。例えば、制御部１０は、記憶部２３に記憶されているデータに基づいてキャラクタ配置方法の変更を求める要求があるか否かを判別してもよい。
【００４７】
制御部１０は、キャラクタ配置方法の変更を求める要求があると判別すると（ステップＳ１０６：ＹＥＳ）、キャラクタ配置方法を変更する（ステップＳ１０７）。具体的には、制御部１０は、キャラクタ配置方法の変更を促す画面を表示部２５に表示し、操作部２４を介してユーザからのキャラクタ配置方法の変更を受け付ける。
【００４８】
なお、制御部１０は、キャラクタ配置方法を指定する情報とともに、配置パラメータや、優先度を指定する情報などをキャラクタ配置方法指定情報として、ユーザから受け付けるようにしてもよい。
【００４９】
図３（Ｂ）にキャラクタ配置方法指定情報の一例を示す。キャラクタ配置方法指定情報は、キャラクタ配置方法を示す情報と、配置パラメータと、優先度を示す情報とを含む。ここで、配置パラメータは、キャラクタ配置方法毎に用意されるパラメータである。優先度は、対応するキャラクタ配置方法でのキャラクタ配置を実行するか否かを示すとともに、複数のキャラクタ配置方法でキャラクタ配置を実行する場合の優先度を示す。例えば、優先度が−１に設定されたキャラクタ配置方法でのキャラクタ配置は実行されず、優先度が０に設定されたキャラクタ配置方法でのキャラクタ配置は実行される。そして、例えば、優先度が−１、０以外に設定された場合、優先度に従って、対応するキャラクタ配置方法でのキャラクタ配置が実行されるか否かが決定される。具体的には、例えば、キャラクタ配置を実行しようとしているキャラクタ配置方法に対応する優先度よりも高い優先度（数字が小さい優先度）に対応するキャラクタ配置方法でのキャラクタ配置が全て失敗している場合は、当該キャラクタ配置方法によるキャラクタ配置を実行する。一方、キャラクタ配置を実行しようとしているキャラクタ配置方法に対応する優先度よりも高い優先度（数字が小さい優先度）に対応するキャラクタ配置方法でのキャラクタ配置が成功している場合は、当該キャラクタ配置方法によるキャラクタ配置は実行しない。
【００５０】
なお、例えば、キャラクタの顔が撮像領域からはみ出る場合やキャラクタの顔が撮像しようとする人の顔と重なる場合にキャラクタ配置が失敗したものとみなすことができる。なお、優先度などを設定せずに、所定のキャラクタ配置方法でキャラクタ配置を実行するようにしてもよい。
【００５１】
ここで、図３（Ｂ）を参照して、各キャラクタ配置方法について説明する。図３（Ｂ）に示すように、キャラクタ配置方法には、左右均等配置、左右隣接配置、上下隣接配置、等間隔配置、非登録顔置換配置などがある。
【００５２】
左右均等配置は、検出された顔とキャラクタの顔とが合成画像上で左右均等に配置されるようにキャラクタを配置する方法である。なお、左右均等配置は、検出された顔が１つの場合にのみ実行され、検出された顔が複数ある場合は、当該キャラクタ配置は失敗となる。
【００５３】
左右隣接配置は、検出された顔の左端部の左右方向の座標とキャラクタの顔の右端部の左右方向の座標とが一致、若しくは、検出された顔の右端部の左右方向の座標とキャラクタの顔の左端部の左右方向の座標とが一致するようにキャラクタを配置する方法である。また、左右隣接配置は、検出された顔の左／右のどちらにキャラクタの顔を配置するかを示す情報を配置パラメータとして有する。なお、左右隣接配置は、検出された顔が１つの場合にのみ実行され、検出された顔が複数ある場合は、当該キャラクタ配置は失敗となる。
【００５４】
上下隣接配置は、検出された顔の下端部の上下方向の座標とキャラクタの顔の上端部の上下方向の座標とが一致、若しくは、検出された顔の上端部の上下方向の座標とキャラクタの顔の下端部の上下方向の座標とが一致するようにキャラクタを配置する方法である。また、上下隣接配置は、検出された顔の上／下のどちらにキャラクタの顔を配置するかを示す情報を配置パラメータとして有する。なお、上下隣接配置は、検出された顔が１つの場合にのみ実行され、検出された顔が複数ある場合は、当該キャラクタ配置は失敗となる。
【００５５】
等間隔配置は、検出された複数の顔とキャラクタの顔とが合成画像上で等間隔に配置されるようにキャラクタを配置する方法である。等間隔配置は、複数の顔の左／右のどちらにキャラクタの顔を配置するかを示す情報を配置パラメータとして有する。なお、等間隔配置は、複数の顔が検出された場合にのみ実行され、検出された顔が１つである場合は、当該キャラクタ配置は失敗となる。
【００５６】
非登録顔置換配置は、検出された顔のうち、登録されていない顔、すなわち、顔認証で認証されない顔の中心の座標と、キャラクタの顔の中心の座標とが一致するように、キャラクタを配置する方法である。なお、非登録顔置換配置は、登録されていない顔のうち正面向きの顔（視線方向が撮像装置である顔）のみを対象とするか、若しくは、登録されていない全ての顔を対象にするかを示す情報を配置パラメータとして有する。
【００５７】
次に、制御部１０は、キャラクタ配置方法指定情報を保存する（ステップＳ１０８）。具体的には、制御部１０は、ステップＳ１０７で変更したキャラクタ配置方法指定情報を記憶部２３に記憶する。
【００５８】
制御部１０は、キャラクタ配置方法の変更を求める要求がないと判別する（ステップＳ１０６：ＮＯ）、若しくは、キャラクタ配置方法指定情報の保存（ステップＳ１０８）を終了すると、キャラクタを配置する位置を算出する処理を実行する（ステップＳ１０９）。
【００５９】
キャラクタ配置位置算出処理（ステップＳ１０９）については、図４に示すフローチャートを参照して詳細に説明する。
【００６０】
まず、制御部１０は、スルー画像から顔を検出する（ステップＳ２０１）。具体的には、制御部１０は、記憶部２３に記憶されているスルー画像を示す画像データを解析することにより、スルー画像に含まれる顔を検出する。例えば、制御部１０は、スルー画像から主に肌色と黒とから構成される画像部分を検出し、当該検出された画像部分を、顔を示す画像部分であると判別する。或いは、あらかじめ記憶部２３に記憶されている顔を示す画像と類似する画像部分をスルー画像から検出し、検出された画像部分を、顔を示す画像部分であると判別する。なお、制御部１０は、スルー画像に複数の顔が含まれる場合は、スルー画像に含まれる全ての顔を検出する。
【００６１】
そして、制御部１０は、検出した顔の中心の座標を取得する（ステップＳ２０２）。例えば、制御部１０は、検出した顔を示す画像部分をスルー画像から抽出する。そして、制御部１０は、抽出した画像部分を構成する全ての画素についてスルー画像上の座標の平均値を求め、求めた平均値を当該顔の中心の座標に設定する。制御部１０は、検出した顔の中心の座標を示す情報を記憶部２３に記憶する。なお、制御部１０は、スルー画像に複数の顔が含まれる場合は、スルー画像に含まれる全ての顔の中心の座標を取得する。
【００６２】
また、制御部１０は、検出した顔の半径を取得する（ステップＳ２０３）。例えば、制御部１０は、検出した顔を示す画像部分を構成する画素数を求め、求めた画素数の画素から構成される円の半径を当該顔の半径に設定する。制御部１０は、検出した顔の半径を示す情報を記憶部２３に記憶する。なお、制御部１０は、スルー画像に複数の顔が含まれる場合は、スルー画像に含まれる全ての顔の半径を取得する。
【００６３】
次に、制御部１０は、検出した顔について顔認証を行う（ステップＳ２０４）。具体的には、制御部１０は、検出した顔があらかじめ登録されている顔と一致するか否かを判別し、判別結果を記憶部２３に記憶する。検出した顔とあらかじめ登録されている顔とが一致するか否かを判別する手法は任意であるが、例えば、制御部１０は、パターンマッチングにより判別する。この場合、顔画像を示す画像データをあらかじめ複数個記憶部２３に記憶しておく。そして、制御部１０は、検出した顔を示す画像と当該記憶部２３に記憶されている顔画像とのマッチングを試みる。そして、制御部１０は、検出した顔を示す画像が記憶部２３に記憶されているいずれかの顔画像とマッチするか否かを判別する。なお、制御部１０は、スルー画像に複数の顔が含まれる場合は、スルー画像に含まれる全ての顔について顔認証を行う。
【００６４】
顔画像を示す画像データの代わりに、当該顔画像から抽出された特徴量を示すデータを記憶部２３に記憶しておき、当該特徴量を示すデータと検出した顔から抽出された特徴量を示すデータとを比較することにより、顔認証を行うようにしてもよい。
【００６５】
次に、制御部１０は、検出した顔がカメラ目線であるか否かを判別する（ステップＳ２０５）。具体的には、例えば、制御部１０は、スルー画像に基づいて、顔の向きと目に対する瞳（黒目）の相対的な位置とを検出し、検出した顔の向きと瞳の位置とに基づいて、カメラ目線であるか否かを判別する。例えば、顔の向きが正面向きであり、瞳の位置が目の中心にある場合は、カメラ目線であると判別する。また、例えば、顔の向きが左（右）向きであり、瞳の位置が目の中心から右（左）にずれている場合は、カメラ目線であると判別する。また、例えば、顔の向きが上（下）向きであり、瞳の位置が目の中心から下（上）にずれている場合は、カメラ目線であると判別する。なお、顔を示す画像部分において、肌色と黒とがどのように分布しているかを解析することにより、顔の向きを検出することができる。また、目を示す画像部分において、白と黒とがどのように分布しているかを解析することにより、目に対する瞳の相対的な位置を検出することができる。
【００６６】
或いは、制御部１０は、検出した顔を示す画像部分が、あらかじめ記憶部２３に記憶されているカメラ目線である顔を示す画像と類似すると判別した場合に、検出した顔がカメラ目線であると判別する。制御部１０は、検出した顔がカメラ目線であるか否かを示す情報を記憶部２３に記憶する。なお、制御部１０は、スルー画像に複数の顔が含まれる場合は、スルー画像に含まれる全ての顔についてカメラ目線であるか否かを判別する。
【００６７】
そして、制御部１０は、左右均等配置を実行するか否かを判別する（ステップＳ２０６）。具体的には、制御部１０は、左右均等配置に対応付けられて記憶部２３に記憶されている優先度が−１でなく、且つ、当該優先度よりも優先度が高いキャラクタ配置方法に対応する配置成功フラグが１にセットされていない場合に、左右均等配置を実行すると判別する。なお、配置成功フラグは、キャラクタ配置方法に対応付けられて記憶部２３に記憶されているフラグである。そして、配置成功フラグは、当該キャラクタ配置方法によるキャラクタ配置が成功である場合に１にセットされ、当該キャラクタ配置方法によるキャラクタ配置が失敗である場合に０にクリアされる。
【００６８】
制御部１０は、左右均等配置を実行すると判別すると（ステップＳ２０６：ＹＥＳ）、左右均等配置用のキャラクタ配置位置算出処理を実行する（ステップＳ２０７）。左右均等配置用のキャラクタ配置位置算出処理（ステップＳ２０７）については、図５に示すフローチャートを参照して詳細に説明する。なお、理解を容易にするため、左右均等配置用のキャラクタ配置位置算出処理の説明においては、スルー画像からは１つの顔のみが検出されたものとして説明する。
【００６９】
まず、図６（Ａ）、（Ｂ）、並びに、図７を参照して合成画像を説明する。
【００７０】
図６（Ａ）は、スルー画像の一例を示す図である。図６（Ａ）に示す例では、スルー画像には人物３１を示す画像部分が含まれている。図６（Ｂ）は、キャラクタの一例を示す図である。図６（Ｂ）には、ステップＳ１０３において選択されたキャラクタ４１が例示されている。
【００７１】
図７は、スルー画像にキャラクタ画像を合成することにより得られる合成画像の一例を示す図である。ここで、図７に示されている記号について説明する。ＸｍａｘはＸ軸方向の画素数であり、ＹｍａｘはＹ軸方向の画素数である。すなわち、合成画像の画像サイズは、Ｘｍａｘ×Ｙｍａｘである。Ｘｆ１は、人物３１の顔の中心のＸ軸方向の座標（合成画像上、または、スルー画像上の座標）であり、Ｙｆ１は、人物３１の顔の中心のＹ軸方向の座標である。すなわち、人物３１の顔の中心の座標は（Ｘｆ１，Ｙｆ１）である。Ｒｆ１は、人物３１の顔の半径（合成画像上、または、スルー画像上の顔の半径）である。Ｘｃは、キャラクタ４１の顔の中心のＸ軸方向の座標であり、Ｙｃは、キャラクタ４１の顔の中心のＹ軸方向の座標である。すなわち、キャラクタ４１の顔の中心の座標は（Ｘｃ，Ｙｃ）である。Ｒｃは、キャラクタ４１の顔の半径である。なお、Ｘ座標の基準は合成画像の左端であり、Ｙ座標の基準は合成画像の上端であるものとして説明する。従って、合成画像の左上端の画素の座標は（０，０）となる。
【００７２】
本実施形態においては、人物３１の顔（検出された顔）の中心の座標に基づいて、キャラクタ４１の顔の中心の座標を定める。なお、図７において、太線で囲まれた部分が人物３１若しくはキャラクタ４１の顔を示す画像部分である。
【００７３】
図５のフローチャートの説明に戻る。
制御部１０は、キャラクタの顔の中心のＸ座標を算出する（ステップＳ３０１）。具体的には、制御部１０は、キャラクタ４１の顔の中心のＸ座標Ｘｃを式（１）により算出する。なお、キャラクタ４１の顔の中心の座標の初期値は（Ｘｃ０，Ｙｃ０）である。従って、キャラクタ４１の顔の中心のＹ座標はＹｃ＝Ｙｃ０である。
Ｘｃ＝Ｘｍａｘ−Ｘｆ１  （１）
【００７４】
次に、制御部１０は、検出した顔とキャラクタの顔とが合成画像上で重なるか否かを判別する（ステップＳ３０２）。具体的には、例えば、制御部１０は、式（２）を満たすと判別した場合に、検出した顔とキャラクタの顔とが合成画像上で重なると判別する。
（Ｘｆ１−Ｘｃ）２＋（Ｙｆ１−Ｙｃ）２＜（Ｒｆ１＋Ｒｃ）２  （２）
【００７５】
制御部１０は、検出した顔とキャラクタの顔とが合成画像上で重ならないと判別した場合（ステップＳ３０２：ＮＯ）、キャラクタの顔が合成画像の画像領域からはみ出るか否かを判別する（ステップＳ３０３）。具体的には、例えば、制御部１０は、式（３）〜（６）の少なくとも１つの式を満たすと判別した場合に、キャラクタの顔が合成画像の画像領域からはみ出ると判別する。
Ｘｃ＋Ｒｃ＞Ｘｍａｘ  （３）
Ｘｃ＜Ｒｃ  （４）
Ｙｃ＋Ｒｃ＞Ｙｍａｘ  （５）
Ｙｃ＜Ｒｃ  （６）
【００７６】
制御部１０は、キャラクタの顔が合成画像の画像領域からはみ出ないと判別した場合（ステップＳ３０３：ＮＯ）、配置成功フラグをセットする（ステップＳ３０４）。具体的には、制御部１０は、キャラクタ配置方法に対応付けられて記憶部２３に記憶されている配置成功フラグを１にセットする。
【００７７】
一方、制御部１０は、検出した顔とキャラクタの顔とが合成画像上で重なると判別した場合（ステップＳ３０２：ＹＥＳ）、若しくは、キャラクタの顔が合成画像の画像領域からはみ出ると判別した場合（ステップＳ３０３：ＹＥＳ）、配置成功フラグをクリアする（ステップＳ３０５）。具体的には、制御部１０は、キャラクタ配置方法に対応付けられて記憶部２３に記憶されている配置成功フラグを０にクリアする。
【００７８】
制御部１０は、配置成功フラグのセット（ステップＳ３０４）、若しくは、配置成功フラグのクリア（ステップＳ３０５）を終了すると、左右均等配置用キャラクタ配置位置算出処理を終了する。
【００７９】
図４に示すフローチャートの説明に戻る。左右均等配置を実行しない（ステップＳ２０６：ＮＯ）、若しくは、左右均等配置用キャラクタ配置位置算出処理（ステップＳ２０７）を終了すると、制御部１０は、左右隣接配置を実行するか否かを判別する（ステップＳ２０８）。具体的には、制御部１０は、左右隣接配置に対応付けられて記憶部２３に記憶されている優先度が−１でなく、且つ、当該優先度よりも優先度が高いキャラクタ配置方法に対応する配置成功フラグが１にセットされていない場合に、左右隣接配置を実行すると判別する。
【００８０】
制御部１０は、左右隣接配置を実行すると判別すると（ステップＳ２０８：ＹＥＳ）、左右隣接配置用のキャラクタ配置位置算出処理を実行する（ステップＳ２０９）。左右隣接配置用のキャラクタ配置位置算出処理（ステップＳ２０９）については、図８に示すフローチャートを参照して詳細に説明する。なお、理解を容易にするため、左右隣接配置用のキャラクタ配置位置算出処理の説明においては、スルー画像からは１つの顔のみが検出されたものとして説明する。
【００８１】
まず、制御部１０は、キャラクタを右に配置するか否かを判別する（ステップＳ４０１）。具体的には、制御部１０は、記憶部２３に記憶されている配置パラメータが右を示す情報であるか否かを判別する。
【００８２】
制御部１０は、キャラクタを右に配置すると判別した場合（ステップＳ４０１：ＹＥＳ）、右配置用の計算式によりキャラクタの顔の中心のＸ座標を算出する（ステップＳ４０２）。具体的には、制御部１０は、キャラクタ４１の顔の中心のＸ座標Ｘｃを式（７）により算出する。
Ｘｃ＝Ｘｆ１＋Ｒｆ１＋Ｒｃ  （７）
【００８３】
一方、制御部１０は、キャラクタを右に配置しないと判別した場合（ステップＳ４０１：ＮＯ）、左配置用の計算式によりキャラクタの顔の中心のＸ座標を算出する（ステップＳ４０３）。具体的には、制御部１０は、キャラクタ４１の顔の中心のＸ座標Ｘｃを式（８）により算出する。
Ｘｃ＝Ｘｆ１−Ｒｆ１−Ｒｃ  （８）
【００８４】
次に、制御部１０は、検出した顔とキャラクタの顔とが合成画像上で重なるか否かを判別する（ステップＳ４０４）。
【００８５】
制御部１０は、検出した顔とキャラクタの顔とが合成画像上で重ならないと判別した場合（ステップＳ４０４：ＮＯ）、キャラクタの顔が合成画像の画像領域からはみ出るか否かを判別する（ステップＳ４０５）。
【００８６】
制御部１０は、キャラクタの顔が合成画像の画像領域からはみ出ないと判別した場合（ステップＳ４０５：ＮＯ）、配置成功フラグをセットする（ステップＳ４０６）。
【００８７】
一方、制御部１０は、検出した顔とキャラクタの顔とが合成画像上で重なると判別した場合（ステップＳ４０４：ＹＥＳ）、若しくは、キャラクタの顔が合成画像の画像領域からはみ出ると判別した場合（ステップＳ４０５：ＹＥＳ）、配置成功フラグをクリアする（ステップＳ４０７）。
【００８８】
制御部１０は、配置成功フラグのセット（ステップＳ４０６）、若しくは、配置成功フラグのクリア（ステップＳ４０７）を終了すると、左右隣接配置用キャラクタ配置位置算出処理を終了する。
【００８９】
ここで、図９（Ａ）、（Ｂ）を参照して合成画像を説明する。
【００９０】
図９（Ａ）は、キャラクタ配置方法が左右隣接配置であって、配置パラメータが右である場合に生成される合成画像の一例を示す図である。図９（Ａ）に示すように、配置パラメータが右である場合は、人物３１の顔の右端を示す画素のＸ座標とキャラクタ４１の顔の左端を示す画素のＸ座標とがほぼ同じ値になるように、人物３１の顔の右側にキャラクタ４１の顔が隣接して並ぶように配置される。
【００９１】
一方、図９（Ｂ）は、キャラクタ配置方法が左右隣接配置であって、配置パラメータが左である場合に生成される合成画像の一例を示す図である。図９（Ｂ）に示すように、配置パラメータが左である場合は、人物３１の顔の左端を示す画素のＸ座標とキャラクタ４１の顔の右端を示す画素のＸ座標とがほぼ同じ値になるように、人物３１の顔の左側にキャラクタ４１の顔が隣接して並ぶように配置される。
【００９２】
図４に示すフローチャートの説明に戻る。制御部１０は、左右隣接配置を実行しない（ステップＳ２０８：ＮＯ）、若しくは、左右隣接配置用キャラクタ配置位置算出処理（ステップＳ２０９）を終了すると、上下隣接配置を実行するか否かを判別する（ステップＳ２１０）。具体的には、制御部１０は、上下隣接配置に対応付けられて記憶部２３に記憶されている優先度が−１でなく、且つ、当該優先度よりも優先度が高いキャラクタ配置方法に対応する配置成功フラグが１にセットされていない場合に、上下隣接配置を実行すると判別する。
【００９３】
制御部１０は、上下隣接配置を実行すると判別すると（ステップＳ２１０：ＹＥＳ）、上下隣接配置用のキャラクタ配置位置算出処理を実行する（ステップＳ２１１）。上下隣接配置用のキャラクタ配置位置算出処理（ステップＳ２１１）については、図１０に示すフローチャートを参照して詳細に説明する。なお、理解を容易にするため、上下隣接配置用のキャラクタ配置位置算出処理の説明においては、スルー画像からは１つの顔のみが検出されたものとして説明する。
【００９４】
まず、制御部１０は、キャラクタを下に配置するか否かを判別する（ステップＳ５０１）。具体的には、制御部１０は、記憶部２３に記憶されている配置パラメータが下を示す情報であるか否かを判別する。
【００９５】
制御部１０は、キャラクタを下に配置すると判別した場合（ステップＳ５０１：ＹＥＳ）、下配置用の計算式によりキャラクタの顔の中心のＹ座標を算出する（ステップＳ５０２）。具体的には、制御部１０は、キャラクタ４１の顔の中心のＹ座標Ｙｃを式（９）により算出する。
Ｙｃ＝Ｙｆ１＋Ｒｆ１＋Ｒｃ  （９）
【００９６】
一方、制御部１０は、キャラクタを下に配置しないと判別した場合（ステップＳ５０１：ＮＯ）、上配置用の計算式によりキャラクタの顔の中心のＹ座標を算出する（ステップＳ５０３）。具体的には、制御部１０は、キャラクタ４１の顔の中心のＹ座標Ｙｃを式（１０）により算出する。
Ｙｃ＝Ｙｆ１−Ｒｆ１−Ｒｃ  （１０）
【００９７】
次に、制御部１０は、検出した顔とキャラクタの顔とが合成画像上で重なるか否かを判別する（ステップＳ５０４）。
【００９８】
制御部１０は、検出した顔とキャラクタの顔とが合成画像上で重ならないと判別した場合（ステップＳ５０４：ＮＯ）、キャラクタの顔が合成画像の画像領域からはみ出るか否かを判別する（ステップＳ５０５）。
【００９９】
制御部１０は、キャラクタの顔が合成画像の画像領域からはみ出ないと判別した場合（ステップＳ５０５：ＮＯ）、配置成功フラグをセットする（ステップＳ５０６）。
【０１００】
一方、制御部１０は、検出した顔とキャラクタの顔とが合成画像上で重なると判別した場合（ステップＳ５０４：ＹＥＳ）、若しくは、キャラクタの顔が合成画像の画像領域からはみ出ると判別した場合（ステップＳ５０５：ＹＥＳ）、配置成功フラグをクリアする（ステップＳ５０７）。
【０１０１】
制御部１０は、配置成功フラグのセット（ステップＳ５０６）、若しくは、配置成功フラグのクリア（ステップＳ５０７）を終了すると、上下隣接配置用キャラクタ配置位置算出処理を終了する。
【０１０２】
ここで、図１１（Ａ）、（Ｂ）を参照して合成画像を説明する。
【０１０３】
図１１（Ａ）は、キャラクタ配置方法が左右隣接配置であって、キャラクタ画像が合成画像の画像領域からはみ出る場合に生成される合成画像の一例を示す図である。キャラクタ配置方法が左右隣接配置であって、式（４）を満たす場合は（Ｘｃ＜Ｒｃ）は、図１１（Ａ）に示すように、キャラクタ画像が合成画像の画像領域からはみ出てしまう。このような場合に、キャラクタ配置方法として上下隣接配置が設定されていれば、図１１（Ｂ）に示すように、キャラクタ画像が合成画像の画像領域からはみ出ないように合成画像を生成することができる。なお、図１１（Ｂ）には、キャラクタ配置方法が上下隣接配置であって、配置パラメータが下である場合を示す。
【０１０４】
図４に示すフローチャートの説明に戻る。制御部１０は、上下隣接配置を実行しない（ステップＳ２１０：ＮＯ）、若しくは、上下隣接配置用キャラクタ配置位置算出処理（ステップＳ２１１）を終了すると、等間隔配置を実行するか否かを判別する（ステップＳ２１２）。具体的には、制御部１０は、等間隔配置に対応付けられて記憶部２３に記憶されている優先度が−１でなく、且つ、当該優先度よりも優先度が高いキャラクタ配置方法に対応する配置成功フラグが１にセットされていない場合に、等間隔配置を実行すると判別する。
【０１０５】
制御部１０は、等間隔配置を実行すると判別すると（ステップＳ２１２：ＹＥＳ）、等間隔配置用のキャラクタ配置位置算出処理を実行する（ステップＳ２１３）。等間隔配置用のキャラクタ配置位置算出処理（ステップＳ２１３）については、図１２に示すフローチャートを参照して詳細に説明する。なお、理解を容易にするため、等間隔配置用のキャラクタ配置位置算出処理の説明においては、スルー画像からは５つの顔が検出され、そのうちの３つの顔がステップＳ２０４において顔認証されたものとして説明する。
【０１０６】
まず、図１３（Ａ）、（Ｂ）を参照して合成画像を説明する。
【０１０７】
図１３（Ａ）は、スルー画像の一例を示す図である。図１３（Ａ）に示す例では、スルー画像には人物３１〜３５をそれぞれが示す画像部分が含まれている。なお、人物３１〜３３は、ステップＳ２０４において顔認証された人物であり、人物３４、３５は、ステップＳ２０４において顔認証されなかった人物である。なお、図１３（Ａ）において、認証された顔を太線の実線で囲み、認証されなかった顔を太線の破線で囲んでいる。人物３１の顔の中心の座標は（Ｘｆ１，Ｙｆ１）であり、人物３２の顔の中心の座標は（Ｘｆ２，Ｙｆ２）であり、人物３３の顔の中心の座標は（Ｘｆ３，Ｙｆ３）である。また、Ｒｆ１は人物３１の顔の半径であり、Ｒｆ２は人物３２の顔の半径であり、Ｒｆ３は人物３３の顔の半径である。
【０１０８】
図１３（Ｂ）は、スルー画像にキャラクタ画像を合成することにより得られる合成画像の一例を示す図である。ここで、キャラクタ４１の顔の中心の座標は（Ｘｃ，Ｙｃ）である。また、Ｒｃは、キャラクタ４１の顔の半径である。そして、ｄ１２は、顔認証された人物の中で左から１番目の人物３１の顔と顔認証された人物の中で左から２番目の人物３２の顔との間隔である。ｄ２３は、顔認証された人物の中で左から２番目の人物３２の顔と顔認証された人物の中で左から３番目の人物３３の顔との間隔である。ｄｃは、顔認証された人物の中で最もキャラクタ４１に近い人物３１の顔とキャラクタ４１の顔との間隔である。
【０１０９】
図１２のフローチャートの説明に戻る。
まず、制御部１０は、左から１番目の人物の顔と左から２番目の人物の顔との間隔を算出する（ステップＳ６０１）。具体的には、制御部１０は、顔認証された人物の中で左から１番目の人物３１の顔と顔認証された人物の中で左から２番目の人物３２の顔との間隔であるｄ１２を式（１１）により算出する。
ｄ１２＝Ｘｆ２−Ｘｆ１−Ｒｆ２−Ｒｆ１  （１１）
【０１１０】
次に、制御部１０は、左から２番目の人物の顔と左から３番目の人物の顔との間隔を算出する（ステップＳ６０２）。具体的には、制御部１０は、顔認証された人物の中で左から２番目の人物の顔と顔認証された人物の中で左から３番目の人物の顔との間隔であるｄ２３を式（１２）により算出する。
ｄ２３＝Ｘｆ３−Ｘｆ２−Ｒｆ３−Ｒｆ２  （１２）
【０１１１】
そして、制御部１０は、キャラクタと最も近い人物の顔とキャラクタの顔との間隔を算出する（ステップＳ６０３）。具体的には、制御部１０は、顔認証された人物の中で最もキャラクタ４１に近い人物３１の顔とキャラクタ４１の顔との間隔であるｄｃを式（１３）により算出する。
ｄｃ＝（ｄ１２＋ｄ２３）／２  （１３）
【０１１２】
そして、制御部１０は、キャラクタを左に配置するか否かを判別する（ステップＳ６０４）。具体的には、制御部１０は、記憶部２３に記憶されている配置パラメータが左を示す情報であるか否かを判別する。
【０１１３】
制御部１０は、キャラクタを左に配置すると判別した場合（ステップＳ６０４：ＹＥＳ）、左配置用の計算式によりキャラクタの顔の中心のＸ座標を算出する（ステップＳ６０５）。具体的には、制御部１０は、キャラクタ４１の顔の中心のＸ座標Ｘｃを式（１４）により算出する。
Ｘｃ＝Ｘｆ１−Ｒｆ１−Ｒｃ−ｄｃ  （１４）
【０１１４】
一方、制御部１０は、キャラクタを左に配置しないと判別した場合（ステップＳ６０４：ＮＯ）、右配置用の計算式によりキャラクタの顔の中心のＸ座標を算出する（ステップＳ６０６）。具体的には、制御部１０は、キャラクタ４１の顔の中心のＸ座標Ｘｃを式（１５）により算出する。
Ｘｃ＝Ｘｆ３＋Ｒｆ３＋Ｒｃ＋ｄｃ  （１５）
【０１１５】
次に、制御部１０は、認証された顔のいずれかとキャラクタの顔とが合成画像上で重なるか否かを判別する（ステップＳ６０７）。具体的には、例えば、制御部１０は、式（１６）〜（１８）の少なくとも１つの式を満たすと判別した場合に、認証された顔とキャラクタの顔とが合成画像上で重なると判別する。
（Ｘｆ１−Ｘｃ）２＋（Ｙｆ１−Ｙｃ）２＜（Ｒｆ１＋Ｒｃ）２  （１６）
（Ｘｆ２−Ｘｃ）２＋（Ｙｆ２−Ｙｃ）２＜（Ｒｆ２＋Ｒｃ）２  （１７）
（Ｘｆ３−Ｘｃ）２＋（Ｙｆ３−Ｙｃ）２＜（Ｒｆ３＋Ｒｃ）２  （１８）
【０１１６】
制御部１０は、認証された顔のいずれともキャラクタの顔が合成画像上で重ならないと判別した場合（ステップＳ６０７：ＮＯ）、キャラクタの顔が合成画像の画像領域からはみ出るか否かを判別する（ステップＳ６０８）。
【０１１７】
制御部１０は、キャラクタの顔が合成画像の画像領域からはみ出ないと判別した場合（ステップＳ６０８：ＮＯ）、配置成功フラグをセットする（ステップＳ６０９）。
【０１１８】
一方、制御部１０は、認証された顔のいずれかとキャラクタの顔とが合成画像上で重なると判別した場合（ステップＳ６０７：ＹＥＳ）、若しくは、キャラクタの顔が合成画像の画像領域からはみ出ると判別した場合（ステップＳ６０８：ＹＥＳ）、配置成功フラグをクリアする（ステップＳ６１０）。
【０１１９】
制御部１０は、配置成功フラグのセット（ステップＳ６０９）、若しくは、配置成功フラグのクリア（ステップＳ６１０）を終了すると、等間隔配置用キャラクタ配置位置算出処理を終了する。
【０１２０】
図４に示すフローチャートの説明に戻る。制御部１０は、等間隔配置を実行しない（ステップＳ２１２：ＮＯ）、若しくは、等間隔配置用キャラクタ配置位置算出処理（ステップＳ２１３）を終了すると、非登録顔置換配置を実行するか否かを判別する（ステップＳ２１４）。具体的には、制御部１０は、非登録顔置換配置に対応付けられて記憶部２３に記憶されている優先度が−１でなく、且つ、当該優先度よりも優先度が高いキャラクタ配置方法に対応する配置成功フラグが１にセットされていない場合に、非登録顔置換配置を実行すると判別する。
【０１２１】
制御部１０は、非登録顔置換配置を実行すると判別すると（ステップＳ２１４：ＹＥＳ）、非登録顔置換配置用のキャラクタ配置位置算出処理を実行する（ステップＳ２１５）。非登録顔置換配置用のキャラクタ配置位置算出処理（ステップＳ２１５）については、図１４に示すフローチャートを参照して詳細に説明する。なお、理解を容易にするため、非登録顔置換配置用のキャラクタ配置位置算出処理の説明においては、スルー画像からは５つの顔が検出され、そのうちの３つの顔がステップＳ２０４において顔認証され、顔認証されなかった２つの顔のうち１つの顔がステップＳ２０５においてカメラ目線であると判別されたものとして説明する。
【０１２２】
まず、図１５（Ａ）、（Ｂ）を参照して合成画像を説明する。
【０１２３】
図１５（Ａ）は、スルー画像の一例を示す図である。図１５（Ａ）に示す例では、スルー画像には人物３１〜３５をそれぞれが示す画像部分が含まれている。なお、人物３１〜３３は、ステップＳ２０４において顔認証された人物であり、人物３４、３５は、ステップＳ２０４において顔認証されなかった人物である。また、人物３４は、ステップＳ２０５においてカメラ目線であると判別された人物である。なお、図１５（Ａ）において、認証された顔を太線の実線で囲み、認証されなかった顔のうちカメラ目線である顔を太線の破線で囲んでいる。
【０１２４】
図１５（Ｂ）は、スルー画像にキャラクタ画像を合成することにより得られる合成画像の一例を示す図である。人物３４の顔の中心の座標は（Ｘｄ１，Ｙｄ１）である。そして、キャラクタ４１の顔の中心の座標は（Ｘｃ，Ｙｃ）である。
【０１２５】
図１４のフローチャートの説明に戻る。
まず、制御部１０は、認証されない顔のうちカメラ目線である顔の中心の座標を取得する（ステップＳ７０１）。具体的には、制御部１０は、ステップＳ２０４において顔認証された人物の中でステップＳ２０５においてカメラ目線であると判別された人物３４の顔の中心の座標である（Ｘｄ１，Ｙｄ１）を記憶部２３から読み出す。
【０１２６】
そして、制御部１０は、キャラクタの顔の中心の座標を算出する（ステップＳ７０２）。具体的には、制御部１０は、キャラクタの顔の中心の座標を式（１９）、（２０）により算出する。すなわち、人物３４の顔の中心の座標をキャラクタの顔の中心の座標とする。
Ｘｃ＝Ｘｄ１  （１９）
Ｙｃ＝Ｙｄ１  （２０）
【０１２７】
次に、制御部１０は、認証された顔のいずれかとキャラクタの顔とが合成画像上で重なるか否かを判別する（ステップＳ７０３）。
【０１２８】
制御部１０は、認証された顔のいずれともキャラクタの顔が合成画像上で重ならないと判別した場合（ステップＳ７０３：ＮＯ）、キャラクタの顔が合成画像の画像領域からはみ出るか否かを判別する（ステップＳ７０４）。
【０１２９】
制御部１０は、キャラクタの顔が合成画像の画像領域からはみ出ないと判別した場合（ステップＳ７０４：ＮＯ）、配置成功フラグをセットする（ステップＳ７０５）。
【０１３０】
一方、制御部１０は、認証された顔のいずれかとキャラクタの顔とが合成画像上で重なると判別した場合（ステップＳ７０３：ＹＥＳ）、若しくは、キャラクタの顔が合成画像の画像領域からはみ出ると判別した場合（ステップＳ７０４：ＹＥＳ）、配置成功フラグをクリアする（ステップＳ７０６）。
【０１３１】
制御部１０は、配置成功フラグのセット（ステップＳ７０５）、若しくは、配置成功フラグのクリア（ステップＳ７０６）を終了すると、非登録顔置換配置用キャラクタ配置位置算出処理を終了する。
【０１３２】
制御部１０は、非登録顔置換配置を実行しない（ステップＳ２１４：ＮＯ）、若しくは、非登録顔置換配置用キャラクタ配置位置算出処理（ステップＳ２１５）を終了すると、キャラクタ配置位置算出処理（ステップＳ１０９）を終了する。
【０１３３】
図４に示すフローチャートの説明に戻る。次に、制御部１０は、スルー画像とキャラクタ画像とを合成して合成画像を生成する（ステップＳ１１０）。具体的には、制御部１０は、画像合成部２１を制御して、画像処理部１６により生成された画像データにより示されるスルー画像と、ＣＧ生成部２０により生成されたＣＧを変換して得られたキャラクタ画像とを合成し、合成画像を示す画像データを生成する。なお、ＣＧは三次元の仮想空間上のものであるため、スルー画像と合成するのはキャラクタ画像である。
【０１３４】
そして、制御部１０は、合成画像を表示する（ステップＳ１１１）。具体的には、制御部１０は、ステップＳ１１０で生成した合成画像を表示部２５に供給することにより、合成画像を表示部２５に表示する。なお、ステップＳ１０３においてキャラクタが選択されるまでは、制御部１０は、合成画像を表示する代わりにスルー画像を表示する。なお、表示する合成画像は、キャラクタ配置位置算出処理（ステップＳ１０９）において図面を参照して説明したため、ここでの説明は省略する。
【０１３５】
次に、制御部１０は、シャッターボタンが押圧されているか否かを判別する（ステップＳ１１２）。具体的には、制御部１０は、操作部２４を監視することにより、ユーザによりシャッターボタンが押されているか否かを判別する。制御部１０は、シャッターボタンが押圧されていないと判別した場合（ステップＳ１１２：ＮＯ）、スルー画像を取得する処理（ステップＳ１０１）に処理を戻す。一方、制御部１０は、シャッターボタンが押圧されていると判別した場合（ステップＳ１１２：ＹＥＳ）、合成画像を圧縮する（ステップＳ１１３）。制御部１０は、合成画像を表現する画像データを圧縮して、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式、或いは、ＧＩＦ（Ｇｒａｐｈｉｃ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）形式の画像データを生成する。
【０１３６】
そして、制御部１０は、合成画像を保存する（ステップＳ１１４）。具体的には、制御部１０は、ステップＳ１１３において圧縮された画像データを記憶部２３に記憶する。
【０１３７】
制御部１０は、合成画像の保存（ステップＳ１１４）を終了すると、スルー画像を取得する処理（ステップＳ１０１）に処理を戻す。以下、制御部１０は、撮像装置１００の電源がオフになるまで、上述した処理を繰り返す。
【０１３８】
ここで、図１６（Ａ）、（Ｂ）を参照して、合成画像の記録形式について説明する。図１６（Ａ）に示す例では、合成画像は、ヘッダーと、圧縮された合成画像とから構成される。このように、合成画像を記録することにより、一般的な画像処理装置において合成画像を編集することができる。
【０１３９】
一方、図１６（Ｂ）に示す例では、合成画像は、ヘッダーと、キャラクタ配置座標と、キャラクタサイズと、キャラクタ生成情報と、圧縮されたスルー画像（圧縮された撮像画像）とから構成される。このように、キャラクタ配置座標、キャラクタサイズ、キャラクタ生成情報、などのキャラクタを生成するための情報と、圧縮されたスルー画像とを分離して保存することにより、後にキャラクタの配置位置や大きさなどを編集することが可能となる。
【０１４０】
以上、説明したように、本実施形態にかかる撮像装置１００によれば、撮像した画像の適切な位置にキャラクタ画像を合成することができる。より詳細には、登録済の被写体と非登録の被写体とを区別してキャラクタを配置することにより、撮像者の意に叶った合成画像を生成することができる。
【０１４１】
また、種々のキャラクタ配置方法を組み合わせることにより、撮像領域における被写体（人物の顔）の位置や大きさなどに応じた柔軟なキャラクタ（動物のキャラクタ）の配置が可能となる。すなわち、優先して実行させたいキャラクタ配置方法におけるキャラクタ配置が失敗した場合（キャラクタが被写体と重なる、キャラクタが撮像領域内に収まらない場合など）、次に優先して実行させたいキャラクタ配置方法におけるキャラクタ配置を実行できる。なお、各キャラクタ配置方法におけるキャラクタ配置を単独で実行した場合であっても、以下に示すような効果がある。
【０１４２】
例えば、左右均等配置では、被写体とキャラクタとが撮像領域内で左右均等に配置されるため、バランスの良い合成画像を生成することができる。
【０１４３】
例えば、左右隣接配置では、被写体とキャラクタとが撮像領域内で左右に隣接して配置されるため、あたかも被写体とキャラクタとが一緒に撮像されているような合成画像を生成することができる。
【０１４４】
例えば、上下隣接配置では、被写体とキャラクタとが撮像領域内で上下に隣接して配置されるため、あたかも被写体とキャラクタとが一緒に撮像されているような合成画像を生成することができる。特に、被写体の左右方向の位置とキャラクタの左右方向の位置とが近い場合、あたかも被写体がキャラクタとが一緒に撮像されているような合成画像を生成することができる。
【０１４５】
例えば、等間隔配置では、複数の被写体とキャラクタとが撮像領域内で等間隔に並んで配置されるため、あたかもキャラクタが複数の被写体と一緒に並んで撮像されているような合成画像を生成することができる。
【０１４６】
例えば、非登録顔置換配置では、非登録の被写体に重なるようにキャラクタが配置される。このため、撮像したくない被写体（非登録の被写体）を撮像してしまった場合に、撮像したくなかった被写体にキャラクタを重ねて、当該被写体が表示されないように合成画像を生成することができる。特に撮像したくない被写体（登録されていない被写体）の視線が撮像装置の方を向いていた場合（カメラ目線であった場合）、撮像したい人物（登録されている被写体）と一緒に撮像しているような不自然な合成画像ができてしまう。このような場合に、非登録の被写体のうちカメラ目線である被写体にキャラクタが重なるように構成することにより、自然な合成画像を生成することができる。
【０１４７】
（変形例）
本発明は、上記実施形態において示したものに限定されず、様々な変形が可能である。
【０１４８】
上記実施形態では、非登録顔置換配置において、非登録の顔（非登録の被写体）のうちカメラ目線である顔のみにキャラクタの顔を重ねるように合成画像を生成した。しかし、全ての非登録の顔にキャラクタを重ねるようにしてもよい。ここでは、スルー画像が、図１７（Ａ）に示すように、顔認証された人物３１〜３３と、顔認証されなかった人物３４、３５とがスルー画像に含まれ、人物３４がカメラ目線であり人物３５がカメラ目線でない場合について説明する。
【０１４９】
人物３５は、カメラ目線でないが顔認証されなかった人物である。従って、撮像装置１００は、非登録顔置換配置において、人物３４の顔だけでなく人物３５の顔にもキャラクタが重なるように合成画像を生成する。
【０１５０】
また、上記実施形態においては、各キャラクタ配置方法におけるキャラクタ配置を別々に説明した。しかし、複数のキャラクタ配置方法におけるキャラクタ配置を実行するようにしてもよい。例えば、図１７（Ｂ）に示すように、等間隔配置におけるキャラクタ配置と、非登録顔置換配置におけるキャラクタ配置とを共に実行してもよい。また、図１７（Ｂ）に示すように、キャラクタは同じキャラクタでなく、異なるキャラクタを用いても良い。
【０１５１】
上記実施形態では、非登録顔置換配置において、スルー画像中から検出された顔のうちどの顔が撮像対象の顔であるか否かを判別するために、スルー画像とあらかじめ記憶部２３に記憶されている複数の顔画像とを比較することにより顔認証を行う手法を示した。しかしながら、撮像対象の顔であるか否かを判別する手法は、この方法に限られない。
【０１５２】
例えば、撮像対象の顔の人物には、所定のパターンで点滅する発光機器を身につけさせた状態で撮像する。そして、制御部１０は、スルー画像中で所定のパターンで点滅する画像部分があるか否かを検出し、スルー画像上で当該画像部分から所定の距離以内の顔を撮像対象の顔であると判別する。
【０１５３】
ここでは、スルー画像が、図１８（Ａ）に示すように、撮像対象の顔の人物３１、３２、３４と、撮像対象でない顔の人物３３、３５とがスルー画像に含まれ、撮像対象の顔の人物３１、３２、３４はそれぞれ発光機器５１を身につけている場合について説明する。なお、図１８（Ａ）において、撮像対象の顔を太線の実線で囲み、撮像対象でない顔を太線の破線で囲んでいる。
【０１５４】
制御部１０は、ステップＳ２０４において検出した顔の顔認証を実行する代わりに、検出した顔の人物が発光機器５１を身につけているか否かを判別する処理を実行する。具体的には、まず、制御部１０は、スルー画像に含まれている発光機器５１を検出し、検出した発光機器５１の中心の座標を検出する。そして、制御部１０は、検出した顔の中心と検出した発光機器５１の中心とのスルー画像上での距離を求める。制御部１０は、検出した顔のうち、顔の中心と発光機器５１の中心とのスルー画像上での距離が所定の距離以内である顔を発光機器５１を身につけている人物の顔であると判別する。以降の処理では、発光機器５１を身につけている人物の顔であると判別した顔を、撮像対象の顔であるものとして取り扱う。
【０１５５】
なお、所定のパターンで点滅する発光機器５１を検出するためには、当該所定のパターンに対応する時間間隔でスルー画像を複数回抽出し、時間経過と共に輝度が大きく変化する部分を検出すればよい。
【０１５６】
また、撮像対象の顔であるか否かを判別するために、撮像対象の顔の人物に持たせるのは、所定のパターンで点滅する発光機器に限られず、継続して点灯する発光機器であってもよいし、発光機器でなくてもよい。なお、スルー画像から継続して点灯する発光機器を検出する場合は、輝度が高い画像部分を検出すればよい。撮像対象の顔の人物に持たせるものが発光機器でない場合は、特徴のある形状、模様などを有するものであることが望ましい。
【０１５７】
このように、撮像対象の顔の人物に所定のパターンで点滅する発光機器等を持たせることにより、顔認証など複雑な処理を行うことなく撮像対象の顔を特定することができる。
【０１５８】
上記実施形態では、キャラクタは動物のキャラクタであり、被写体は人物の顔である場合について説明した。しかしながら、キャラクタは、動物に限られず、物品や文字など、画像と認識できるものであれば何でもよい。また、被写体も、人物の顔に限られず、人物、動物、植物、建築物など何でもよい。
【０１５９】
上記実施形態では、キャラクタの頭の中心の座標、キャラクタの頭の半径、人物の頭の中心の座標、人物の頭の半径などに基づいて、キャラクタを配置する位置を決定する例を示した。これは、キャラクタが動物であり、被写体が人物の頭であるためであり、頭の位置や大きさを重視してキャラクタを配置することが望ましいと考えられるためである。しかしながら、キャラクタ全体の中心の座標、キャラクタ全体の大きさなどに基づいて、キャラクタを配置する位置を決定するように構成してもよい。また、人物そのものを被写体として、人物の中心の座標、人物の大きさなどに基づいて、キャラクタを配置する位置を決定するように構成してもよい。さらに、キャラクタや被写体の大きさは、半径でなく面積で定義してもよいし、形状などを考慮して定義してもよい。
【０１６０】
上記実施形態では、左右均等配置、左右隣接配置、及び、上下隣接配置においては、スルー画像中に検出された顔が１つである場合にのみ、キャラクタ配置が成功するものとして説明した。しかしながら、検出された顔が複数ある場合でもキャラクタ配置が可能となるように構成してもよい。この場合、例えば、配置パラメータとして、左から何番目の顔をキャラクタ配置の基準とするかを示す情報を設定するように構成する。
【０１６１】
上記実施形態では、撮像装置１００が静止画像を撮像する場合について説明したが、動画像を撮像する場合にも本発明を適用することができる。また、本発明は、撮像装置だけでなく、あらゆる画像処理装置に適用することができる。
【０１６２】
さらに、本発明は、上述した構成例やフローチャートに示される手順に限定されないことは勿論である。
【０１６３】
上記実施形態では、プログラムが、記憶装置に予め記憶されているものとして説明した。しかし、撮像装置を、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１６４】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等してプログラムを実行してもよい。
【図面の簡単な説明】
【０１６５】
【図１】本発明の実施形態に係る撮像装置の構成の一例を示すブロック図である。
【図２】本発明の実施形態に係る撮像装置が実行する画像合成処理の一例を示すフローチャートである。
【図３】（Ａ）は、キャラクタ指定情報を説明するための図である。（Ｂ）は、キャラクタ配置方法指定情報を説明するための図である。
【図４】図２のフローチャートに示すキャラクタ配置位置算出処理の一例を示すフローチャートである。
【図５】図４のフローチャートに示す左右均等配置用キャラクタ配置位置算出処理の一例を示すフローチャートである。
【図６】（Ａ）は、スルー画像を説明するための図である。（Ｂ）は、キャラクタを説明するための図である。
【図７】左右均等配置における合成画像を説明するための図である。
【図８】図４のフローチャートに示す左右隣接配置用キャラクタ配置位置算出処理の一例を示すフローチャートである。
【図９】（Ａ）、（Ｂ）は、左右隣接配置における合成画像を説明するための図である。
【図１０】図４のフローチャートに示す上下隣接配置用キャラクタ配置位置算出処理の一例を示すフローチャートである。
【図１１】（Ａ）、（Ｂ）は、上下隣接配置における合成画像を説明するための図である。
【図１２】図４のフローチャートに示す等間隔配置用キャラクタ配置位置算出処理の一例を示すフローチャートである。
【図１３】（Ａ）、（Ｂ）は、等間隔配置における合成画像を説明するための図である。
【図１４】図４のフローチャートに示す非登録顔置換配置用キャラクタ配置位置算出処理の一例を示すフローチャートである。
【図１５】（Ａ）、（Ｂ）は、非登録顔置換配置における合成画像を説明するための図である。
【図１６】（Ａ）、（Ｂ）は、合成画像の記録形式を説明するための図である。
【図１７】（Ａ）、（Ｂ）は、変形例に係る撮像装置により生成される合成画像を説明するための図である。
【図１８】（Ａ）、（Ｂ）は、変形例に係る撮像装置により生成される合成画像を説明するための図である。
【符号の説明】
【０１６６】
１０・・・制御部、１１・・・光学系、１２・・・光学系制御部、１３・・・光学系駆動部、１４・・・撮像素子、１５・・・Ａ／Ｄ変換器、１６・・・画像処理部、１７・・・画像処理メモリ、１８・・・フラッシュ制御部、１９・・・フラッシュ発光部、２０・・・ＣＧ生成部、２１・・・画像合成部、２２・・・画像合成メモリ、２３・・・記憶部、２４・・・操作部、２５・・・表示部、２６・・・電源制御部、３１、３２、３３、３４、３５・・・人物、４１、４２、４３・・・キャラクタ、５１・・・発光機器、１００・・・撮像装置
【図１】
2010103651.tif 000003
【図２】
2010103651.tif 000004
【図３】
2010103651.tif 000005
【図４】
2010103651.tif 000006
【図５】
2010103651.tif 000007
【図６】
2010103651.tif 000008
【図７】
2010103651.tif 000009
【図８】
2010103651.tif 000010
【図９】
2010103651.tif 000011
【図１０】
2010103651.tif 000012
【図１１】
2010103651.tif 000013
【図１２】
2010103651.tif 000014
【図１３】
2010103651.tif 000015
【図１４】
2010103651.tif 000016
【図１５】
2010103651.tif 000017
【図１６】
2010103651.tif 000018
【図１７】
2010103651.tif 000019
【図１８】
2010103651.tif 000020