(57)【特許請求の範囲】
【請求項１】
順次に入力される入力画像を継ぎ合わせて合成画像を生成する画像生成装置であって、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出する相対値算出手段と、
前記相対値算出手段によって算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定手段と、
前記継ぎ目決定手段によって決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成手段と、
前記入力画像から顔を検出する顔検出手段と、
前記顔検出手段による検出結果に基づいて、異なる複数の領域のうちの何れかの領域を継ぎ目発生規制領域として設定する継ぎ目発生規制領域設定手段と、
を備え、
前記継ぎ目決定手段は、
前記相対値算出手段によって算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における前記継ぎ目発生規制領域設定手段によって設定された前記継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定する、
画像生成装置。
【請求項２】
前記相対値画像における前記継ぎ目発生規制領域設定手段によって設定された前記継ぎ目発生規制領域に含まれる画素の画素値を前記制約条件に基づく所定の画素値に修正する画素値修正手段をさらに備え、
前記継ぎ目決定手段は、前記画素値修正手段によって画素値が修正された相対値画像について前記分離処理を行って、前記継ぎ目を決定する、
請求項１に記載の画像生成装置。
【請求項３】
前記継ぎ目決定手段は、前記分離処理として、前記相対値画像において継ぎ目の始点とする画素から継ぎ目の終点とする画素に至るまでの各画素の相対値に基づき算出される評価値が、前記対象被写体領域と前記非対象被写体領域とを分離可能とする所定の分離可能条件を満たす画素の集合を探索する画素集合探索処理を行って、前記継ぎ目を決定する、
請求項１又は２に記載の画像生成装置。
【請求項４】
前記継ぎ目決定手段は、当初に継ぎ目を決定した際の前記制約条件とは異なる制約条件下で前記継ぎ目を再決定する継ぎ目再決定手段を有し、
前記画像合成手段は、前記継ぎ目再決定手段によって再決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を再生成する画像再合成手段を有する、
請求項１〜３の何れか一項に記載の画像生成装置。
【請求項５】
前記第１の入力画像の特徴点と前記第２の入力画像の特徴点との対応関係に基づいて、前記第１の入力画像と前記第２の入力画像とを位置合わせする位置合わせ手段をさらに備え、
前記画像合成手段は、前記位置合わせ手段による位置合わせの結果と、前記継ぎ目決定手段によって決定された継ぎ目とに基づいて、前記第１の入力画像と前記第２の入力画像とを合成する、
請求項１〜４の何れか一項に記載の画像生成装置。
【請求項６】
順次に入力される入力画像を継ぎ合わせて合成画像を生成する電子機器であって、
表示手段と、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出する相対値算出手段と、
前記相対値算出手段によって算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定手段と、
前記継ぎ目決定手段によって決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成手段と、
前記入力画像から顔を検出する顔検出手段と、
前記顔検出手段による検出結果に基づいて、異なる複数の領域のうちの何れかの領域を継ぎ目発生規制領域として設定する継ぎ目発生規制領域設定手段と、
前記画像合成手段によって生成された合成画像を前記表示手段に表示させる表示制御手段と、
を備え、
前記継ぎ目決定手段は、
前記相対値算出手段によって算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における前記継ぎ目発生規制領域設定手段によって設定された前記継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定する、
電子機器。
【請求項７】
前記表示制御手段は、前記継ぎ目決定手段によって決定された継ぎ目を前記合成画像に重畳表示させる、
請求項６に記載の電子機器。
【請求項８】
順次に入力される入力画像を継ぎ合わせて合成画像を生成する電子機器であって、
操作手段と、
表示手段と、
前記入力画像を前記表示手段に表示させる表示制御手段と、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出する相対値算出手段と、
前記相対値算出手段によって算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定手段と、
前記継ぎ目決定手段によって決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成手段と、
を備え、
前記継ぎ目決定手段は、
前記相対値算出手段によって算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における所定の継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定し、
前記表示手段に表示された入力画像中の前記操作手段に対するユーザー操作によって指定された指定領域に対応する前記相対値画像の領域を前記継ぎ目発生規制領域とする前記制約条件下で、前記継ぎ目を決定する、
電子機器。
【請求項９】
順次に入力される入力画像を継ぎ合わせて合成画像を生成する電子機器であって、
操作手段と、
表示手段と、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出する相対値算出手段と、
前記相対値算出手段によって算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定手段と、
前記継ぎ目決定手段によって決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成手段と、
前記画像合成手段によって生成された合成画像を前記表示手段に表示させる表示制御手段と、
を備え、
前記継ぎ目決定手段は、
前記相対値算出手段によって算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における所定の継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定し、
当初に継ぎ目を決定した際の前記制約条件とは異なる制約条件下で前記継ぎ目を再決定する継ぎ目再決定手段を有し、
前記画像合成手段は、前記継ぎ目再決定手段によって再決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を再生成する画像再合成手段を有し、
前記表示制御手段は、前記継ぎ目決定手段によって決定された継ぎ目を前記合成画像に重畳表示させ、
前記継ぎ目再決定手段は、前記操作手段に対するユーザー操作によって指定された指定領域に前記継ぎ目が含まれる場合に、当該指定領域に対応する前記相対値画像の領域を前記継ぎ目発生規制領域とする前記制約条件下で前記継ぎ目を再決定し、
前記表示制御手段は、前記画像再合成手段によって再生成された合成画像を前記表示手段に表示させる、
電子機器。
【請求項１０】
前記表示制御手段は、前記合成画像と区別可能な表示態様で前記継ぎ目を前記表示手段に表示させる、
請求項７又は９に記載の電子機器。
【請求項１１】
撮像手段をさらに備え、
前記表示制御手段は、撮像対象を写し出す前記撮像手段による撮像の待機状態の画面である撮像待機画面を前記表示手段に表示させ、
前記撮像待機画面に写し出される画像から検出される顔が前記撮像待機画面の端部所定範囲に含まれる場合に、所定の注意喚起報知を行う報知手段をさらに備え、
前記画像合成手段は、前記撮像手段によって撮像された撮影画像を前記入力画像として、前記合成画像を生成する、
請求項６〜１０の何れか一項に記載の電子機器。
【請求項１２】
前記報知手段は、前記注意喚起報知として、（１）顔が画面の端部から離れるように自装置又は顔の位置を調整することをユーザーに促す報知、（２）顔を画面の中央部に寄せることをユーザーに促す報知、（３）顔が画面の端部に位置しない画像を少なくとも１枚撮影させることをユーザーに促す報知、のうちの少なくとも何れかの報知を行う、
請求項１１に記載の電子機器。
【請求項１３】
順次に入力される入力画像を継ぎ合わせて合成画像を生成する画像生成方法であって、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出することと、
前記算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定することと、
前記決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成することと、
前記入力画像から顔を検出することと、
前記顔の検出結果に基づいて、異なる複数の領域のうちの何れかの領域を継ぎ目発生規制領域として設定することと、
を含み、
前記継ぎ目を決定することでは、
前記算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における前記設定された前記継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定する、
画像生成方法。
【請求項１４】
コンピュータに、順次に入力される入力画像を継ぎ合わせて合成画像を生成させるためのプログラムであって、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出する相対値算出ステップと、
前記算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定ステップと、
前記決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成ステップと、
前記入力画像から顔を検出する顔検出ステップと、
前記顔の検出結果に基づいて、異なる複数の領域のうちの何れかの領域を継ぎ目発生規制領域として設定する継ぎ目発生規制領域設定ステップと、
を前記コンピュータに実行させ、
前記継ぎ目決定ステップでは、
前記相対値算出ステップで算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における前記継ぎ目発生規制領域設定ステップで設定された前記継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定する、
プログラム。
【請求項１５】
順次に入力される入力画像を継ぎ合わせて合成画像を生成する画像生成方法であって、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出することと、
前記算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定することと、
前記決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成することと、
前記入力画像から顔を検出することと、
前記顔の検出結果に基づいて、異なる複数の領域のうちの何れかの領域を継ぎ目発生規制領域として設定することと、
前記生成された合成画像を表示することと、
を含み、
前記継ぎ目を決定することでは、
前記算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における前記設定された前記継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定する、
画像生成方法。
【請求項１６】
コンピュータに、順次に入力される入力画像を継ぎ合わせて合成画像を生成させるためのプログラムであって、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出する相対値算出ステップと、
前記相対値算出ステップで算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定ステップと、
前記継ぎ目決定ステップで決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成ステップと、
前記入力画像から顔を検出する顔検出ステップと、
前記顔の検出結果に基づいて、異なる複数の領域のうちの何れかの領域を継ぎ目発生規制領域として設定する継ぎ目発生規制領域設定ステップと、
前記画像合成ステップで生成された合成画像を表示する表示ステップと、
を前記コンピュータに実行させ、
前記継ぎ目決定ステップでは、
前記相対値算出ステップで算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における前記継ぎ目発生規制領域設定ステップで設定された前記継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定する、
プログラム。
【請求項１７】
順次に入力される入力画像を継ぎ合わせて合成画像を生成する画像生成方法であって、
前記入力画像を表示することと、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出することと、
前記算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定することと、
前記決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成することと、
を含み、
前記継ぎ目を決定することでは、
前記算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における所定の継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定し、
前記表示された入力画像中のユーザー操作によって指定された指定領域に対応する前記相対値画像の領域を前記継ぎ目発生規制領域とする前記制約条件下で、前記継ぎ目を決定する、
画像生成方法。
【請求項１８】
コンピュータに、順次に入力される入力画像を継ぎ合わせて合成画像を生成させるためのプログラムであって、
前記入力画像を表示する表示ステップと、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出する相対値算出ステップと、
前記相対値算出ステップで算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定ステップと、
前記継ぎ目決定ステップで決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成ステップと、
を前記コンピュータに実行させ、
前記継ぎ目決定ステップでは、
前記相対値算出ステップで算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における所定の継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定し、
前記表示された入力画像中のユーザー操作によって指定された指定領域に対応する前記相対値画像の領域を前記継ぎ目発生規制領域とする前記制約条件下で、前記継ぎ目を決定する、
プログラム。
【請求項１９】
順次に入力される入力画像を継ぎ合わせて合成画像を生成する画像生成方法であって、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出することと、
前記算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定することと、
前記決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成することと、
前記生成された合成画像を表示することと、
を含み、
前記継ぎ目を決定することでは、
前記算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における所定の継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定し、
当初に継ぎ目を決定した際の前記制約条件とは異なる制約条件下で前記継ぎ目を再決定し、
前記再決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を再生成することと、
前記決定された継ぎ目を前記合成画像に重畳表示することと、
をさらに含み、
前記継ぎ目の再決定では、ユーザー操作によって指定された指定領域に前記継ぎ目が含まれる場合に、当該指定領域に対応する前記相対値画像の領域を前記継ぎ目発生規制領域とする前記制約条件下で前記継ぎ目を再決定し、
前記再生成された合成画像を表示することをさらに含む、
画像生成方法。
【請求項２０】
コンピュータに、順次に入力される入力画像を継ぎ合わせて合成画像を生成させるためのプログラムであって、
第１の入力画像の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値を算出する相対値算出ステップと、
前記相対値算出ステップで算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定ステップと、
前記継ぎ目決定ステップで決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成ステップと、
前記画像合成ステップで生成された合成画像を表示する表示ステップと、
を前記コンピュータに実行させ、
前記継ぎ目決定ステップでは、
前記相対値算出ステップで算出された相対値を画素値とする相対値画像において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、前記継ぎ目を決定し、
前記相対値画像における所定の継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定し、
当初に継ぎ目を決定した際の前記制約条件とは異なる制約条件下で前記継ぎ目を再決定する継ぎ目再決定ステップを含み、
前記画像合成ステップは、前記継ぎ目再決定ステップで再決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を再生成する画像再合成ステップを含み、
前記表示ステップでは、前記継ぎ目決定ステップで決定された継ぎ目を前記合成画像に重畳表示し、
前記継ぎ目再決定ステップでは、ユーザー操作によって指定された指定領域に前記継ぎ目が含まれる場合に、当該指定領域に対応する前記相対値画像の領域を前記継ぎ目発生規制領域とする前記制約条件下で前記継ぎ目を再決定し、
前記表示ステップでは、前記画像再合成ステップで再生成された合成画像を表示する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広角な合成画像を生成する画像生成装置等に関する。
【背景技術】
【０００２】
従来より、画像生成装置として、順次に入力される入力画像を継ぎ合わせて、一枚の広角な合成画像であるパノラマ画像を生成する装置が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−７３４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されているような従来の画像生成装置においては、撮像された撮影画像を順次に入力し、これらの入力画像を位置合わせして継ぎ合わせることで、１枚の広角な合成画像を生成している。しかし、従来の画像生成装置では、複数の入力画像を完全に継ぎ目が見えない状態に（シームレスに）合成することが困難であるという問題がある。
【０００５】
また、従来の画像生成装置では、必ずしも対象とする被写体（以下、「対象被写体」という。）が存在する領域に継ぎ目が生じないように位置合わせが行われるとは限らないため、対象被写体が存在する領域に継ぎ目が発生するように位置合わせが行われてしまうと、対象被写体の一部が二重となったり、欠落するといった、対象被写体の画像部分に乱れが生じた合成画像が生成されてしまうという問題がある。
【０００６】
本発明は、このような課題に鑑みてなされたものであり、その目的とするところは、入力画像を順次に継ぎ合わせて合成画像を生成する際に、適切な継ぎ目を決定して入力画像を合成することで、良質な合成画像を得ることにある。
【課題を解決するための手段】
【０００７】
上記課題を解決すべく、以下の手段を採った。なお、後述する発明を実施するための形態の説明及び図面で使用した符号を参考のために括弧書きで付記するが、本発明の構成要素は該付記したものには限定されない。
【０００８】
第１の発明は、
順次に入力される入力画像を継ぎ合わせて合成画像を生成する画像生成装置（画像生成装置１）であって、
第１の入力画像（基準画像）の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像（対象画像）の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値（画素値の差分値、画素値の比）を算出する相対値算出手段（差分値算出部１５）と、
前記相対値算出手段によって算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定手段（継ぎ目決定部１６）と、
前記継ぎ目決定手段によって決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成手段（画像合成部１８）と、
を備えた画像生成装置である。
【０００９】
また、他の発明として、
順次に入力される入力画像を継ぎ合わせて合成画像を生成する画像生成方法であって、
第１の入力画像（基準画像）の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像（対象画像）の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値（画素値の差分値、画素値の比）を算出することと、
前記算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定することと、
前記決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成することと、
を含む画像生成方法を構成してもよい。
【００１０】
さらに、他の発明として、
コンピュータに、順次に入力される入力画像を継ぎ合わせて合成画像を生成させるためのプログラム（画像生成プログラム８１１）であって、
第１の入力画像（基準画像）の画素値と、前記第１の入力画像と画像の一部が重なり合う第２の入力画像（対象画像）の画素値とを用いて、前記第１の入力画像と前記第２の入力画像との相対関係を表す相対値（画素値の差分値、画素値の比）を算出する相対値算出ステップ（画像生成処理のＡ５）と、
前記算出された相対値を用いて、前記第１の入力画像と前記第２の入力画像との合成のための継ぎ目を決定する継ぎ目決定ステップ（画像生成処理のＡ１１）と、
前記決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を生成する画像合成ステップ（画像生成処理のＡ２１）と、
を前記コンピュータに実行させるためのプログラムを構成してもよい。
【００１１】
この第１の発明等によれば、第１の入力画像と第２の入力画像との相対関係を表す相対値から、第１の入力画像と第２の入力画像との間の背景や被写体の相対的な位置関係の変化を把握することができる。このため、上記の相対値を用いることで、第１の入力画像と第２の入力画像とを適切な位置で合成するための継ぎ目を決定することが可能となる。その結果、画像合成によって、良質な合成画像を得ることができる。
【００１２】
また、第２の発明として、
第１の発明の画像生成装置であって、
前記継ぎ目決定手段は、前記相対値算出手段によって算出された相対値を画素値とする相対値画像（差分画像、比画像）において、対象とする被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理（顔検出処理、最小コスト画素集合探索処理、グラフカット処理等）を行って、前記継ぎ目を決定する、
画像生成装置を構成してもよい。
【００１３】
この第２の発明によれば、相対値画像において、対象被写体領域と非対象被写体領域とを分離するための所定の分離処理を行うことで、対象被写体領域と非対象被写体領域とを分離して第１の入力画像と第２の入力画像とを合成することを可能とする継ぎ目を決定することができる。その結果、画像合成によって生成される合成画像は、対象被写体領域に乱れの生じていない良質な合成画像となる。
【００１４】
なお、他の発明として、
第２の発明の画像生成装置であって、
前記分離処理は、前記入力画像から対象被写体を検出する対象被写体検出処理（顔検出処理等）を含み、
前記継ぎ目決定手段は、前記相対値画像と前記対象被写体検出処理の処理結果とを用いて、前記継ぎ目を決定する、
画像生成装置を構成してもよい。
【００１５】
この他の発明によれば、入力画像から対象被写体を検出し、相対値画像と対象被写体の検出結果とを用いて継ぎ目を決定することで、対象被写体領域に継ぎ目を発生させないようにすることが可能となり、対象被写体領域に乱れの生じていない良質な合成画像を生成することができる。
【００１６】
また、第３の発明として、
第２の発明の画像生成装置であって、
前記継ぎ目決定手段は、前記分離処理として、前記相対値画像（差分画像）において継ぎ目の始点とする画素（始点画素）から継ぎ目の終点とする画素（終点画素）に至るまでの各画素の相対値に基づき算出される評価値（合計コスト値）が、前記対象被写体領域と前記非対象被写体領域とを分離可能とする所定の分離可能条件を満たす画素の集合を探索する画素集合探索処理（最小コスト画素集合探索処理）を行って、前記継ぎ目を決定する、
画像生成装置を構成してもよい。
【００１７】
この第３の発明によれば、画素集合探索処理によって、第１の入力画像と第２の入力画像とを適切な位置で継ぎ合わせるための継ぎ目を簡易且つ適切に決定することができる。
【００１８】
また、第４の発明として、
第２又は第３の発明の画像生成装置であって、
前記継ぎ目決定手段は、前記相対値画像における所定の継ぎ目発生規制領域（所定の物体が存在する領域）に継ぎ目が発生することを規制する制約条件下で前記分離処理を行って、前記継ぎ目を決定する、
画像生成装置を構成してもよい。
【００１９】
この第４の発明によれば、相対値画像における所定の継ぎ目発生規制領域を避けて継ぎ目が決定されるように制約を与えることができる。このため、例えば、継ぎ目発生規制領域を対象被写体の画像領域とすることで、目的の対象物以外の部分に継ぎ目を発生させることができる。
【００２０】
また、第５の発明として、
第４の発明の画像生成装置であって、
前記相対値画像の前記継ぎ目発生規制領域に含まれる画素の画素値を前記制約条件に基づく所定の画素値（継ぎ目発生規制領域に含まれない画素の最大差分値よりも大きな値：例えば最大階調値）に修正する画素値修正手段（画像生成装置１の処理部）をさらに備え、
前記継ぎ目決定手段は、前記画素値修正手段によって画素値が修正された相対値画像について前記分離処理を行って、前記継ぎ目を決定する、
画像生成装置を構成してもよい。
【００２１】
この第５の発明によれば、相対値画像の継ぎ目発生規制領域に含まれる画素の画素値を制約条件に基づく所定の画素値に修正した上で分離処理を行うことで、継ぎ目発生規制領域を避けて継ぎ目が確実に決定されるようにすることができる。
【００２２】
また、第６の発明として、
第４又は第５の発明の画像生成装置であって、
前記入力画像から顔を検出する顔検出手段（画像生成装置１の処理部）をさらに備え、
前記継ぎ目決定手段は、前記相対値画像のうち、前記顔検出手段によって検出された顔に対応する領域を前記継ぎ目発生規制領域とする前記制約条件下で前記分離処理を行って、前記継ぎ目を決定する、
画像生成装置を構成してもよい。
【００２３】
この第５の発明によれば、顔を避けて継ぎ目が決定されるようにすることができる。その結果、顔の部分に継ぎ目が発生しないようにすることができ、最終的に生成される合成画像において、顔の部分に乱れが生ずることを防止できる。
【００２４】
また、第７の発明として、
第４〜第６の何れかの発明の画像生成装置であって、
前記継ぎ目決定手段は、当初に継ぎ目を決定した際の前記制約条件とは異なる制約条件下で前記継ぎ目を再決定する継ぎ目再決定手段（継ぎ目決定部１６）を有し、
前記画像合成手段は、前記継ぎ目再決定手段によって再決定された継ぎ目に基づいて前記第１の入力画像と前記第２の入力画像とを合成して前記合成画像を再生成する画像再合成手段（画像合成部１８）を有する、
画像生成装置を構成してもよい。
【００２５】
この第７の発明によれば、当初に決定された継ぎ目が適切でない場合に、異なる制約条件下で継ぎ目を再決定することで、当初に決定された継ぎ目とは異なる継ぎ目を発生させて、合成画像を再生成することができる。
【００２６】
また、第８の発明として、
第１〜第７の何れかの発明の画像生成装置であって、
前記第１の入力画像の特徴点と前記第２の入力画像の特徴点との対応関係に基づいて、前記第１の入力画像と前記第２の入力画像とを位置合わせする位置合わせ手段（位置合わせ部１４）をさらに備え、
前記画像合成手段は、前記位置合わせ手段による位置合わせの結果と、前記継ぎ目決定手段によって決定された継ぎ目とに基づいて、前記第１の入力画像と前記第２の入力画像とを合成する、
画像生成装置を構成してもよい。
【００２７】
この第８の発明によれば、第１の入力画像と第２の入力画像との位置合わせの結果と、決定された継ぎ目とに基づくことで、第１の入力画像と第２の入力画像とを適切に合成することができる。
【００２８】
また、第９の発明として、
第１〜第８の何れかの発明の画像生成装置（画像生成装置１）と、
表示手段（表示部３００）と、
前記画像合成手段によって生成された合成画像を前記表示手段に表示させる表示制御手段（表示制御部１９０）と、
を備えた電子機器（スマートフォン２、デジタルカメラ、タブレット端末、ＰＤＡ、パソコン等）を構成してもよい。
【００２９】
この第９の発明によれば、第１〜第６の何れかの発明の画像生成装置によって生成された合成画像を、電子機器においてユーザーが閲覧することができる。
【００３０】
また、第１０の発明として、
第９の発明の電子機器であって、
前記表示制御手段は、前記継ぎ目決定手段によって決定された継ぎ目を前記合成画像に重畳表示させる（図２４（２））、
電子機器を構成してもよい。
【００３１】
この第１０の発明によれば、第１の入力画像と第２の入力画像とがどの位置で継ぎ合わされたかをユーザーが確認することができる。
【００３２】
また、第１１の発明として、
第４〜第７の何れかの発明の画像生成装置（画像生成装置１）と、
操作手段（操作部２００、タッチパネル２５０）と、
表示手段（表示部３００）と、
前記入力画像を前記表示手段に表示させる表示制御手段（表示制御部１９０）と、
をさらに備え、
前記継ぎ目決定手段は、前記表示手段に表示された入力画像中の前記操作手段に対するユーザー操作によって指定された指定領域（ユーザーのタップ操作によるタップ位置を含む領域）に対応する前記相対値画像の領域を前記継ぎ目発生規制領域とする前記制約条件下で、前記継ぎ目を決定する、
電子機器（スマートフォン２、デジタルカメラ、タブレット端末、ＰＤＡ、パソコン等）を構成してもよい。
【００３３】
この第１１の発明によれば、入力画像を表示させて、ユーザーに継ぎ目を発生させたくない領域を指定させることができる。そして、ユーザー操作によって指定された領域以外の部分に継ぎ目を発生させることができる。
【００３４】
また、第１２の発明として、
第７の発明の画像生成装置（画像生成装置１）と、
操作手段（操作部２００、タッチパネル２５０）と、
表示手段（表示部３００）と、
前記画像合成手段によって生成された合成画像を前記表示手段に表示させる表示制御手段（表示制御部１９０）と、
を備え、
前記表示制御手段は、前記継ぎ目決定手段によって決定された継ぎ目を前記合成画像に重畳表示させ（図２４（２））、
前記継ぎ目再決定手段は、前記操作手段に対するユーザー操作によって指定された指定領域（ユーザーのタップ操作によるタップ位置）に前記継ぎ目が含まれる場合に、当該指定領域に対応する前記相対値画像の領域を前記継ぎ目発生規制領域とする前記制約条件下で前記継ぎ目を再決定し（図２４（５））、
前記表示制御手段は、前記画像再合成手段によって再生成された合成画像を前記表示手段に表示させる（図２４（６））、
電子機器（スマートフォン２、デジタルカメラ、タブレット端末、ＰＤＡ、パソコン等）を構成してもよい。
【００３５】
この第１２の発明によれば、合成画像に継ぎ目を重畳表示させることで、ユーザーは、第１の入力画像と第２の入力画像とがどの位置で継ぎ合わされたかを確認することができる。その上で、表示された合成画像が所望の合成画像でない場合に、ユーザーは、継ぎ目の部分を指定して継ぎ目を再決定させ、再決定された継ぎ目を用いて生成された合成画像を確認することができる。
【００３６】
また、第１３の発明として、
第１０又は第１２の発明の電子機器であって、
前記表示制御手段は、前記合成画像と区別可能な表示態様（特定の色を付して表示する、太い線で表示する、点滅表示する）で前記継ぎ目を前記表示手段に表示させる、
電子機器を構成してもよい。
【００３７】
この第１３の発明によれば、合成画像に重畳表示される継ぎ目をユーザーが一見して把握できるようにすることができる。
【００３８】
また、第１４の発明として、
第１〜第８の何れかの発明の画像生成装置（画像生成装置１）と、
表示手段（表示部３００）と、
撮像手段（撮像部５００）と、
撮像対象を写し出す前記撮像手段による撮像の待機状態の画面である撮像待機画面を前記表示手段に表示させる表示制御手段（表示制御部１９０）と、
前記撮像待機画面に写し出される画像から顔を検出する顔検出手段（処理部１００）と、
前記顔検出手段によって検出された顔が前記撮像待機画面の端部所定範囲に含まれる場合に、所定の注意喚起報知を行う報知手段（表示部３００、音出力部４００）と、
を備え、
前記画像生成装置は、前記撮像手段によって撮像された撮影画像を前記入力画像として、前記合成画像を生成する、
電子機器（スマートフォン２、デジタルカメラ、タブレット端末、ＰＤＡ、パソコン等）を構成してもよい。
【００３９】
この第１４の発明によれば、撮像待機画面の端部に顔が写し出されている場合に所定の注意喚起報知を行うことで、ユーザーによって撮影が行われる前に、ユーザーに対して適切な画像の撮影を促すことができる。
【００４０】
また、第１５の発明として、
第１４の発明の電子機器であって、
前記報知手段は、前記注意喚起報知として、（１）顔が画面の端部から離れるように自装置又は顔の位置を調整することをユーザーに促す報知、（２）顔を画面の中央部に寄せることをユーザーに促す報知、（３）顔が画面の端部に位置しない画像を少なくとも１枚撮影させることをユーザーに促す報知、のうちの少なくとも何れかの報知を行う、
電子機器を構成してもよい。
【００４１】
この第１５の発明によれば、ユーザーによって撮影が行われる前に、顔が画面の端部から離れるように自装置を動かしたり、顔の位置を調整するようにユーザーに促したり、顔を画面の中央部に寄せるようにユーザーに促したり、顔が画面の端部に位置しない画像を少なくとも１枚撮影させるようにユーザーに促すことができる。その結果、顔の部分に継ぎ目が発生することを確実に防止することができる。
【図面の簡単な説明】
【００４２】
【図１】画像生成装置の機能構成の一例を示すブロック図。
【図２】広角パノラマ合成画像を説明する概要図。
【図３】対象画像の合成時の変形を説明する概要図。
【図４】基準画像と対象画像の位置合わせを説明する概要図。
【図５】対象画像の合成時の変形をカメラ回転に基づいて説明する概要図。
【図６】基準画像と対象画像の対応点を説明する概要図である。
【図７】基準画像と対象画像の位置合わせの詳細を説明する概要図。
【図８】複数の画像の位置合わせを説明する概要図。
【図９】基準画像の選択条件を説明する概要図である。
【図１０】複数画像の動きを同時に推定する場合を説明する概要図。
【図１１】基準画像同士の位置合わせを説明する概要図。
【図１２】差分画像生成の原理を説明する概要図。
【図１３】画素集合探索処理を説明する概要図。
【図１４】継ぎ目発生規制領域の設定の原理を説明する概要図。
【図１５】描画対象画像の合成平面への描画の原理を説明する概要図。
【図１６】合成平面への描画対象画像の投影の原理を説明する概要図。
【図１７】画像生成処理の流れの一例を示すフローチャート。
【図１８】画像位置合わせ処理の流れの一例を示すフローチャート。
【図１９】継ぎ目決定処理の流れの一例を示すフローチャート。
【図２０】スマートフォンの機能構成の一例を示すブロック図。
【図２１】カメラモード処理の流れの一例を示すフローチャート。
【図２２】第２のカメラモード処理の流れの一例を示すフローチャート。
【図２３】第２の継ぎ目決定処理の流れの一例を示すフローチャート。
【図２４】スマートフォンの表示部に表示されるパノラマ画像の一例を示す図。
【図２５】第３のカメラモード処理の流れの一例を示すフローチャート。
【図２６】記録媒体の一例を示す図。
【発明を実施するための形態】
【００４３】
以下、図面を参照して、本発明を適用した好適な実施形態の一例について説明する。なお、図面の説明において同一の要素には同一の符号を付して、重複する説明を省略する場合がある。また、図面の寸法比率は、説明のものと必ずしも一致していない。また、本発明を適用可能な形態が、以下説明する実施形態に限定されるわけではないことは勿論である。
【００４４】
［１．画像生成装置］
本実施形態に係る画像生成装置は、順次に入力される入力画像を入力の度につなぎ合わせて一枚の合成画像を逐次生成する装置であって、例えば連続撮像された複数の画像をリアルタイムで継ぎ合わせ、１枚の撮影画像よりも広角なパノラマ画像を生成する場合に好適に採用されるものである。
【００４５】
本実施形態に係る画像生成装置は、例えば、スマートフォン等の携帯電話機、デジタルカメラ、タブレット端末、ＰＤＡ（Personal Digital Assistant）等、リソースに制限のあるモバイル端末に具備させることが可能であるが、これらに限られるものではなく、例えば通常のコンピュータシステムに具備させてもよい。
【００４６】
［１−１．構成及び原理］
図１は、本実施形態における画像生成装置１の機能構成の一例を示すブロック図である。
画像生成装置１は、入力部１０と、基準画像選択部１１と、マッチング部１２と、変換行列推定部１３と、位置合わせ部１４と、差分値算出部１５と、継ぎ目決定部１６と、制約条件設定部１７と、画像合成部１８とを備える。これらは、画像生成装置１の処理部（処理装置）が有する機能部（機能ブロック）であり、処理部は、ＣＰＵやＤＳＰ等のプロセッサーやＡＳＩＣ等の集積回路を有して構成される。
【００４７】
入力部１０は、カメラ２０により撮像された画像（以下、「撮影画像」という。）を入力する機能を有している。入力部１０は、例えば、撮影画像を撮像の度に入力する機能を有する。
【００４８】
入力部１０は、最初に入力した画像を、第１の一時記憶領域（以下、「出力画像用バッファ」という。）に保存する。また、入力部１０は、次回以降連続して入力される画像を、第２の一時記憶領域（以下、「入力画像用バッファ」という。）に保存する。
【００４９】
なお、第２の一時記憶領域に画像が保存されると、該画像の位置決めが行われるとともに該画像が描画対象であるか否かが判断され、描画対象の画像と判断された場合には、第１の一時記憶領域に格納された出力画像が合成により更新され上書き保存される。以下では、第１の一時記憶領域に格納された画像を合成画像Ｉｔ、第２の一時記憶領域に格納された画像を対象画像Ｉｃ（入力画像）として説明する。
【００５０】
基準画像選択部１１は、位置合わせ用の基準画像Ｉｒを選択する機能を有する。基準画像Ｉｒとは、対象画像Ｉｃの位置合わせの基準となる画像である。例えば、基準画像選択部１１は、入力済画像に関する情報を格納した入力済画像メモリ２５を参照可能に構成されている。入力済画像は、対象画像Ｉｃよりも前に入力部１０によって入力された画像であり、１又は複数の画像が入力済画像となる。すなわち、ｎ番目の対象画像ＩｃをＩｃ（ｎ−１）とすると、入力済画像は、Ｉｃ（ｎ−２），Ｉｃ（ｎ−３），…Ｉｃ０となる。基準画像選択部１１は、入力済画像が１枚の場合には、該画像Ｉｃ１を対象画像Ｉｃ２の基準画像Ｉｒ０として選択する。以降、所定条件を満たす場合を除き、基準画像選択部１１は、当該基準画像を変更しない。
【００５１】
所定条件には、例えば、基準画像Ｉｒと対象画像Ｉｃ（ｎ）との距離が所定値以上離れた場合として定めておくことができる。この場合、基準画像選択部１１は、対象画像Ｉｃ（ｎ）を次回の新たな対象画像Ｉｃ（ｎ＋１）の基準画像Ｉｒ（ｋ）として選択し、対象画像Ｉｃ（ｎ）に関する情報を入力済画像メモリ２５に保存する。対象画像Ｉｃ（ｎ）に関する情報とは、例えば、後述するマッチング部１２によって導出された特徴点の画素値及び位置情報のみであってもよい。このように、入力済画像メモリ２５に記録する情報を制限することで、基準画像Ｉｒそのものを保存する場合に比べて使用メモリ容量を削減することができる。
【００５２】
基準画像選択部１１は、対象画像Ｉｃ（ｎ＋１）を入力した際には、入力済画像メモリ２５を参照し、基準画像Ｉｒ（ｋ）として対象画像Ｉｃ（ｎ）を選択する。以上、基準画像選択部１１は、対象画像Ｉｃごとに１つの基準画像Ｉｒを選択する。
【００５３】
なお、基準画像選択部１１が、所定条件を満たした場合、対象画像Ｉｃ（ｎ）に対して一時基準画像も選択するようにしてもよい。一時基準画像は、入力済画像の中から選択される画像であって一時的な基準画像である。一時基準画像の選択処理の詳細については後述する。
【００５４】
基準画像選択部１１は、基準画像Ｉｒに関する画像情報（少なくとも特徴点の画素情報及び位置情報を含む情報）をマッチング部１２に出力する。
【００５５】
マッチング部１２は、基準画像Ｉｒ及び対象画像Ｉｃの対応関係を取得する。マッチング部１２は、基準画像Ｉｒの特徴点及び対象画像Ｉｃの特徴点に関する情報を取得する。マッチング部１２は、例えば、特徴点の画素値に基づいて基準画像Ｉｒ及び対象画像Ｉｃの対応関係を取得する。マッチング方法としては、ブロックマッチング法や勾配法等の公知の手法を用いることができる。
【００５６】
なお、マッチング部１２が、基準画像Ｉｒ及び対象画像Ｉｃを多重解像度化した上でマッチングするようにしてもよい。例えば、マッチング部１２は、基準画像Ｉｒ及び対象画像Ｉｃの解像度をそれぞれ段階的に変更して、解像度の異なる複数の画像を生成する。そして、マッチング部１２は、最も解像度の小さい画像間で特徴点の平行移動量を取得し、より解像度の大きい画像間で特徴点のピクセル単位のマッチングを行うようにしてもよい。この場合、処理の高速化及び演算コストの低減を実現することができる。
【００５７】
マッチング部１２は、基準画像Ｉｒと対象画像Ｉｃとの対応関係が算出された特徴点のペアの位置情報（座標情報）を取得する。すなわち、マッチング部１２は、基準画像Ｉｒのある特徴点の位置情報と、当該特徴点に対応する対象画像Ｉｃの特徴点の位置情報とを、ペアにして取得する。この際、マッチング部１２は、後述する位置合わせ処理のために、特徴点のペアを複数取得する。
【００５８】
マッチング部１２は、取得した特徴点のペアを変換行列推定部１３に出力する。なお、前述した通り、基準画像選択部１１が当該対象画像Ｉｃを次回以降の基準画像Ｉｒとして追加する場合には、マッチング部１２は、対象画像Ｉｃの特徴点の画素値及び位置情報を基準画像選択部１１に出力する。
【００５９】
変換行列推定部１３は、マッチング部１２から出力される基準画像Ｉｒと対象画像Ｉｃとの対応関係に基づいて、基準画像Ｉｒの座標系と対象画像Ｉｃの座標系とを対応させる変換式である変換行列を推定する。
【００６０】
位置合わせ部１４は、変換行列推定部１３によって推定された変換行列を用いて、基準画像Ｉｒと対象画像Ｉｃとの位置合わせを行う。
【００６１】
図４は、基準画像と対象画像Ｉｃの位置合わせの概要を説明する概要図である。
図４（１）に示すように、一枚目の画像のみが入力されている場合には、当該画像が基準画像Ｉｒ０として選択される。そして、二枚目の画像（対象画像Ｉｃ）が入力された場合、位置合わせ部１４は、基準画像Ｉｒ０の位置を基準として、対象画像Ｉｃを位置合わせする。
【００６２】
ここで、位置合わせとは、図４（２）に示すように、基準画像Ｉｒ０の所定点（ここでは中心Ｃ０）と、対象画像Ｉｃの所定点（ここでは中心Ｃ１）との相対位置を決定することである。位置合わせ部１４は、マッチング部１２によって取得された特徴点のペアが互いに最も重なる位置を探索する。そして、図４（３）に示すように、基準画像Ｉｒ０と対象画像Ｉｃとの位置合わせが完了した場合には、互いに位置関係がリンクされた旨（リンクＲｅ１）を記録する。
【００６３】
なお、前述した通り、位置合わせ部１４によって位置合わせが完了し、基準画像Ｉｒ０と対象画像Ｉｃとの相対距離が所定値以上となっている場合には、基準画像選択部１１が該対象画像Ｉｃを次回以降の基準画像Ｉｒ１として追加する必要があるため、マッチング部１２は、対象画像Ｉｃの特徴点の画素値及び位置情報を基準画像選択部１１に出力する。
【００６４】
図５は、カメラ２０の回転による撮像面を説明する概要図である。
図５に示すように、回転前のカメラ２０の撮像面をＳ０、回転後のカメラ２０の撮像面をＳ１とすると、撮像面Ｓ０と撮像面Ｓ１とが同一平面内に存在しない。このため、特徴点のペアを平行移動によって重ねた位置は、本来の重ね合わせ位置とは異なることになる。すなわち、位置合わせを行う場合には、カメラの動きを考慮して、基準画像Ｉｒの特徴点の位置と対象画像Ｉｃの特徴点の位置とが同一の三次元座標系上で一致するように位置合わせを行う必要がある。
【００６５】
上記の理由から、変換行列推定部１３が、基準画像Ｉｒ０の三次元の座標系と、対象画像Ｉｃの三次元の座標系とを一致させる変換行列を推定する。
【００６６】
図６は、変換行列の生成の原理を説明するための図である。
図６に示すように、基準画像Ｉｒ０の特徴点の座標を（ｘ０，ｙ０，１）、当該特徴点に対応する対象画像Ｉｃの特徴点の座標を（ｘ１，ｙ１，１）とすると、変換行列推定部１３は、（ｘ０，ｙ０，１）と（ｘ１，ｙ１，１）とが一致する変換行列を推定する。
【００６７】
ここで、カメラの自由度は、焦点距離が１自由度、カメラの動き（ｘｙ方向への平行移動、ｚ方向への移動による拡大縮小）が３自由度、カメラの回転（ｘ方向、ｙ方向への画像の歪み（台形）及びｚ軸における画像の回転）が３自由度であり、７自由度である。ローリングシャッタ歪み（フォーカルプレーン歪み）を考慮して８自由度であると近似すると、次式（１）で表現される。
【数１】
0006450589.tif 000002
【００６８】
上記の変換行列（変換式）のパラメータａ１〜ｈ１は、上述した８自由度に関するパラメータである。変換行列推定部１３は、複数の特徴点のペアが上記関係を満たすことができる変換行列パラメータを最適化手法による収束演算により求める。具体的には、基準画像Ｉｒの特徴点の位置（ｘ０，ｙ０，１）と、対象画像Ｉｃの特徴点の位置（ｘ１，ｙ１，１）を変換した後の位置との差分を含む目的関数が最小値となるように収束演算を行う。最適化手法には、ニュートン法やガウスニュートン法等、公知の手法を適用することができる。
【００６９】
ここで、変換行列推定部１３は、基準画像Ｉｒと対象画像Ｉｃとの間の動きがカメラ２０の回転運動のみであるとして、カメラ２０の動きを３自由度に限定し、特徴点のペアの位置情報を用い変換式を推定する機能を有している。例えば、図６に示すように、カメラ２０の撮像位置を原点とすると、カメラの自由度をＸ軸，Ｙ軸，Ｚ軸の回転のみに限定する。各軸のパラメータを（β，α，γ）とすると、変換行列Ｒは、次式（２）のように表現することができる。
【数２】
0006450589.tif 000003
【００７０】
すなわち、基準画像Ｉｒの特徴点の位置（ｘ０，ｙ０，１）と、対象画像Ｉｃの特徴点の位置（ｘ１，ｙ１，１）とは、変換行列Ｒを用いて、次式（３）のように対応させることができる。
【数３】
0006450589.tif 000004
【００７１】
ここで、（ｃｘ，ｃｙ）は、基準画像Ｉｒ及び対象画像Ｉｃの画像サイズを同一とした場合の、それぞれの中心座標である。また、“Ｆ”は、焦点距離である。なお、焦点距離Ｆはカメラ２０の諸元情報から得られる値を適用させてもよい。
【００７２】
式（１）のように、縮小成分が考慮された変換行列を用いて、かつ、さらに誤差を小さくすることを優先させて収束演算をした場合には、画像を縮小した方が誤差は相対的に小さくなることから、縮小成分の度合いが大きくなる変換行列が解となる傾向になる。この場合、逐次合成するごとに誤差が蓄積されていき、結果として良質なパノラマ画像とはならない。これに対して、式（２）に示すように、変換行列Ｒを回転成分のみに限定することで、最適化手法による収束演算の際に縮小成分が考慮されることはないため、誤差の蓄積を回避でき、良質なパノラマ画像が生成される。
【００７３】
なお、ガウスニュートン法等の最適化手法の収束演算の初期値として、前回の対象画像Ｉｃの変換行列を採用してもよい。この場合、収束演算がより早く収束しやすくなることから、算出速度を向上させることができる。
【００７４】
変換行列推定部１３は、上記の処理によって変換行列Ｒを推定し、推定した変換行列Ｒを位置合わせ部１４に出力する。
【００７５】
本実施形態において、変換行列推定部１３は、式（３）を収束演算して変換行列Ｒを推定する際に、特徴点の二次元座標を三次元空間Ｓｐの球面に投影し、投影した座標の対応関係を用いて変換行列Ｒを推定する。
【００７６】
図７は、基準画像Ｉｒと対象画像Ｉｃの位置合わせの詳細を説明する概要図である。
（Ａ），（Ｂ）に示すように、変換行列推定部１３は、二次元座標系の基準画像Ｉｒの特徴点の位置（ｘ０，ｙ０，１）と二次元座標系の対象画像Ｉｃの位置（ｘ１，ｙ１，１）とを三次元空間Ｓｐの球面へ透視射影する。（ｘｎ−ｃｘ）をベクトルｘｎ、（ｙｎ−ｃｘ）をベクトルｙｎとし、投影後の座標を（Ｘｎ，Ｙｎ，Ｚｎ）とすると、座標（ｘ１，ｙ１，Ｆ）については、例えば次式（４）で射影投影される。
【数４】
0006450589.tif 000005
【００７７】
また、変換行列Ｒによる変換後の座標点は、次式（５）のように表現できる。
【数５】
0006450589.tif 000006
【００７８】
このため、収束演算の目的関数が、次式（６）の差分ｒを含むことになる。
【数６】
0006450589.tif 000007
【００７９】
なお、式（４）の変換は、対象画像Ｉｃが基準画像Ｉｒとの距離が近いと仮定した場合、省略することができる。この場合、上記差分ｒは除算を含まない形となるため、除算による桁落ちを考慮する必要がなくなる。このため、例えば目的関数をガウスニュートン法等による最適化処理により収束演算する際に、演算を容易にすることができる。よって、三次元空間の球面へ射影して算出する場合、演算コストを低減させることが可能となる。
【００８０】
変換行列推定部１３は、上記の処理によって変換行列Ｒを推定する。そして、位置合わせ部１４が、推定された変換行列Ｒを用いて、基準画像Ｉｒと対象画像Ｉｃとの位置合わせを行う。より具体的には、位置合わせ部１４は、基準画像選択部１１が選択した基準画像Ｉｒと入力された対象画像Ｉｃとを逐次位置合わせを行い、図７の（Ｃ）のように、基準画像Ｉｒの中心Ｃ０と対象画像Ｉｃの中心Ｃ１との間に、リンクＲｅ１を生成する。
【００８１】
図８は、８枚の入力画像間の位置決めを行ったリンクの一例を示す図である。
図８に示すように、８枚の入力画像の中心Ｃ０〜Ｃ７の間がリンクされている（リンクＲｅ１〜Ｒｅ７）。基準画像選択部１１が基準画像Ｉｒを選択し、位置合わせ部１４がリンクを形成するという動作を繰り返すことで、図８に示すように、画像を位置合わせしながら継ぎ合わせることができる。
【００８２】
また、変換行列推定部１３が球面に投影して変換行列Ｒを推定し、位置合わせ部１４が基準画像と対象画像とを位置合わせするため、二次元平面と球面との座標変換の際に、例えば図３に示す８自由度の画像変形が考慮される。言い換えれば、位置合わせ部１４は、球面上で位置決めすることで、後述する画像合成部１４が球面から平面へ投影する際に、図３に示す画像変形をすることができる。
【００８３】
なお、基準画像選択部１１が、基準画像Ｉｒを選択するのに限らず、一時基準画像Ｉｔｒを選択するようにしてもよい。
【００８４】
図９は、基準画像Ｉｒ及び一時基準画像Ｉｔｒを説明する概要図である。
まず、（Ａ）に示すように、画像が入力された場合には、該画像が次回以降の基準画像Ｉｒとなる。次に、（Ｂ）に示すように基準画像Ｉｒから一定値以上離れた対象画像Ｉｃが入力されたとする。この場合、（Ｃ）に示すように、対象画像Ｉｃを次回以降の一時的な基準画像である一時基準画像Ｉｔｒとする。一時基準画像Ｉｔｒは、履歴として保存されない一時的な基準画像である。
【００８５】
次に、（Ｄ）に示すように一時基準画像Ｉｔｒから離れた対象画像Ｉｃが入力され、（Ｅ）に示すように一時基準画像Ｉｔｒから一定値以上離れた対象画像Ｉｃが入力されたとする。この場合、（Ｆ），（Ｇ）に示すように、今回までの一時基準画像Ｉｔｒを破棄し、対象画像Ｉｃを次回以降の一時的な基準画像である一時基準画像Ｉｔｒとする。
【００８６】
次に、（Ｈ）に示すように一時基準画像Ｉｔｒのみならず基準画像Ｉｒからも一定値以上離れた対象画像Ｉｃが入力されたとする。この場合、（Ｉ）に示すように、今回までの一時基準画像Ｉｔｒを破棄し、対象画像Ｉｃを次回以降の基準画像Ｉｒとする。ここで、今回までの基準画像すなわち１番目の基準画像をＩｒ０とし、次回以降の基準画像をＩｒ１とする。基準画像Ｉｒ０，Ｉｒ１の特徴点に関する情報は位置合わせのために保存される。
【００８７】
次に、（Ｊ）に示すように基準画像Ｉｒ１からも一定値以上離れた対象画像Ｉｃが入力されたとする。この場合、（Ｃ）と同様に、（Ｋ）に示すように対象画像Ｉｃを次回以降の一時的な基準画像である一時基準画像Ｉｔｒとする。
【００８８】
次に、（Ｌ）に示すように一時基準画像Ｉｔｒよりも基準画像Ｉｒ０に近い対象画像Ｉｃが入力されたとする。この場合、今回までの一時基準画像Ｉｔｒを破棄し、次回以降の基準画像を基準画像Ｉｒ０とする。このように、基準画像の情報を保持しておくことで、カメラ２０が元の位置に戻ってきた場合であっても過去の基準画像を基準に対象画像を位置合わせすることができる。また、一時基準画像Ｉｔｒと基準画像Ｉｒとを用いることで、記録しておく必要のあるデータを最小限にすることができる。
【００８９】
また、変換行列推定部１３は、複数の画像が重なっている場合には、複数の画像間の動きを同時に推定するようにしてもよい。例えば、図１０に示すように、基準画像Ｉｒと対象画像Ｉｃに重なる画像（過去の対象画像Ｉｐ１）が存在するとする。基準画像Ｉｒと過去の対象画像Ｉｐ１とは位置決めされた状態、すなわち、変換行列Ｒ１が既に導出されているとする。そして、基準画像Ｉｒの特徴点の座標を（ｘ０，ｙ０，１）、過去の対象画像Ｉｐ１の特徴点の座標を（ｘ１，ｙ１，１）、対象画像Ｉｃの特徴点の座標を（ｘ２，ｙ２，１）とする。
【００９０】
ここで、基準画像Ｉｒの座標系と対象画像Ｉｃの座標系とを対応させる変換行列Ｒ２を導出する際に、次式（７）で与えられる条件を設定する。
【数７】
0006450589.tif 000008
【００９１】
式（７）によって、変換式Ｒ１と変換式Ｒ２とを関連付けしている。変換行列推定部１３は、上記の式（７）を満たすことができるＲ１、Ｒ２を最適化手法による収束演算によって同時に推定する。この場合、基準画像Ｉｒと過去の対象画像Ｉｐ１との特徴点のペアに関する情報を無駄にすることを回避できる。また、複数の画像間を同時に推定することで、リンクが直列に繋がっていく場合に比べて誤差の蓄積を抑制することができる。
【００９２】
また、変換行列推定部１３は、対象画像Ｉｃが過去の基準画像Ｉｒにも近い場合には、現在の基準画像Ｉｒだけでなく過去の基準画像Ｉｒとも位置合わせを行う。例えば、図１１（Ａ）に示すように、画像中心がＣ１３の対象画像Ｉｃ１３は、画像中心がＣ１２の基準画像Ｉｒ１２とリンクＲｅ１３が張られており、相対位置が決定している。
【００９３】
ここで、変換行列推定部１３は、図１１（Ｂ）に示すように、対象画像Ｉｃ１３が画像中心Ｃ１の過去の基準画像Ｉｒ１とも近い場合には、基準画像Ｉｒ１と対象画像Ｉｃ１３との位置合わせを行う。これにより、基準画像Ｉｒ１と対象画像Ｉｃ１３との間にはリンクＲｅ１４が張られる。すなわち、基準画像Ｉｒ１と基準画像Ｉｒ１２との位置合わせを、対象画像Ｉｃ１３を用いて行うことができる。このように、基準画像Ｉｒ同士の位置合わせを、対象画像Ｉｃを用いて達成することで、本来重なりの少ない基準画像Ｉｒ同士の位置決めをすることが可能となる。
【００９４】
また、位置合わせ部１４が、全体位置の調整をするようにしてもよい。全体位置の調整とは、描画対象の画像（出力用画像バッファに書き出される画像）の全体の位置関係を調整することである。例えば、基準画像Ｉｒ間で新たなリンクが張られたタイミングや、複数画像の動きの同時推定を実行することにより、複数の過去の変換行列が更新されたタイミングで、全ての描画対象画像の全体位置が微調整される。すなわち、全ての描画対象画像の変換行列Ｒが再演算される。
【００９５】
全体位置は、マッチング部１２により出力された特徴点を用いるのではなく、位置合わせされた結果を元に画像から画像間の対応点をランダムに抽出又は所定位置から抽出し、抽出された点の位置情報に基づいて全体の位置合わせを行う。この場合、過去の特徴点のペアを保持する必要がないため、メモリ使用量を削減することができる。
【００９６】
差分値算出部１５は、位置合わせ部１４によって位置合わせされた基準画像Ｉｒと対象画像Ｉｃとの相対関係を表す相対値として、基準画像Ｉｒの画素値と対象画像Ｉｃの画素値との差分値を算出する。
【００９７】
図１２は、差分値算出の原理を説明する概要図である。
この図には、画像の右端に胴体の一部が見切れた人物が写し出された基準画像Ｉｒと、その人物の胴体が見切れない状態で画像の右部に写し出された対象画像Ｉｃとを例示している。説明を簡単にするため、基準画像Ｉｒと対象画像Ｉｃとは同じサイズの画像であり、また、カメラ２０を基準とする水平方向に対してずれの生じていない２枚の画像として説明する。
【００９８】
差分値算出部１５は、基準画像Ｉｒと対象画像Ｉｃとを重ね合せた状態で、基準画像Ｉｒの各画素の画素値と、対象画像Ｉｃの対応する画素の画素値との差分値を算出する。以下では、算出した差分値を画素値とする画像を差分画像Ｉｄとして説明する。差分値算出部１５によって差分値が算出されると、図１２の下部に示すように、人物の輪郭が強調された差分画像Ｉｄが生成される。但し、図１２では、分かり易いように、差分画像を２値画像で表しているが、実際には、差分画像はグレースケールの画像で表すことができる。つまり、差分値「０」を黒、差分値「２５５」を白とする２５６階調の階調値によって差分画像Ｉｄを表すことができる。
【００９９】
継ぎ目決定部１６は、位置合わせ部１４による位置合わせ結果と、差分値算出部１５によって生成された差分画像Ｉｄの差分値とを用いて、基準画像Ｉｒと対象画像Ｉｃとの合成のための継ぎ目を決定する。具体的には、継ぎ目決定部１６は、差分値算出手段によって算出された差分値を画素値とする差分画像において、対象被写体が存在する画像領域（以下、「対象被写体領域」という。）と、それ以外の画像領域（以下、「非対象被写体領域」という。）とを分離する所定の分離処理を行って、継ぎ目を決定する。対象被写体領域は、対象被写体となる対象物が存在する画像領域であるため、物体領域と言うこともできる。
【０１００】
ここで、継ぎ目を決定するためには、最初に、差分画像において継ぎ目の始点とする画素（以下、「始点画素」という。）と、継ぎ目の終点とする画素（以下、「終点画素」という。）とを設定することが必要となる。基準画像Ｉｒと対象画像Ｉｃとを継ぎ合わせるためには、位置合わせされた状態で基準画像Ｉｒと対象画像Ｉｃとが重なり合う領域（以下、「重なり領域」という。）内に継ぎ目を発生させ、この継ぎ目を境界として基準画像Ｉｒと対象画像Ｉｃとを合成することが必要となる。
【０１０１】
そこで、例えば、重なり領域の外縁を構成する画素の中から２つの画素を選択し、これらの画素に対応する基準画像Ｉｒ上の２つの画素を特定する。そして、特定した２つの画素に対応する差分画像Ｉｄ上の画素を始点画素及び終点画素として設定するようにすればよい。好適には、重なり領域の４隅の画素のうち、合成対象である対象画像Ｉｃ側に位置する２つの画素に対応する基準画像Ｉｒ上の２つの画素を特定し、特定した２つの画素に対応する差分画像Ｉｄ上の画素を始点画素及び終点画素として設定するとよい。
【０１０２】
図１３は、継ぎ目の決定の原理を説明する概要図である。
図１３（１）には、図１２で得られた差分画像Ｉｄを示している。また、その右には、図１２に示した基準画像Ｉｒと対象画像Ｉｃとを位置合わせした状態を示しており、基準画像Ｉｒと対象画像Ｉｃとの重なり領域にハッチングを施している。
【０１０３】
ここでは、ハッチングを施した重なり領域の４隅の画素のうち、合成対象である対象画像Ｉｃ側に位置する基準画像Ｉｒ上の右上隅及び右下隅の２つの画素を選択し、これら２つの画素に対応する差分画像Ｉｄ上の画素、つまり、差分画像Ｉｄの右上隅及び右下隅の画素をそれぞれ始点画素及び終点画素として設定する場合を例に挙げて説明する。
【０１０４】
継ぎ目決定部１６は、対象被写体領域と非対象被写体領域の分離処理として、設定した始点画素から終点画素に至るまでの各画素の差分値の合計値として算出される合計コスト値が最小となる画素の集合を探索する最小コスト画素集合探索処理を行って、継ぎ目となる画素の集合を探索する。合計コスト値は、各画素の相対値に基づき算出される評価値に相当し、合計コスト値が最小となることは、対象被写体領域と非対象被写体領域とを分離可能とする所定の分離可能条件に相当する。
【０１０５】
具体的に説明する。図１３（２）には、差分画像のうち、右上の点線で囲った領域のうちの７つの画素に着目して、これを拡大した図を示している。点線で囲まれた領域に含まれる１つの矩形が１つの画素を示し、それぞれの矩形内に示した値は、当該画素の差分値を表している。便宜的に、始点画素をＰ１とし、他の６つの画素にＰ１〜Ｐ７の符号を付している。また、各画素を矢印付きの線で結び、始点画素Ｐ１から辿ることのできる各径路において算出されるコスト値を、矢印付きの線の上下左右のダイヤ内に図示している。
【０１０６】
始点画素から順番に、矢印付きの線によって辿ることのできる画素の差分値にそれまでに算出されたコスト値を加算してコスト値を更新し、コスト値の最小値とそれまでの経路に含まれる画素とを記憶する。そして、終点画素に至るまでにコスト値の合計値である合計コスト値を評価値として算出し、この合計コスト値が最小となるような画素の集合を継ぎ目に決定する。
【０１０７】
一例として、始点画素Ｐ１の差分値を「３」、画素Ｐ２の差分値を「９」、画素Ｐ３の差分値を「１５」、画素Ｐ４の差分値を「１２」、画素Ｐ５の差分値を「１０」、画素Ｐ６の差分値を「５」、画素Ｐ７の差分値を「１８」とし、始点画素Ｐ１から画素Ｐ６に至るまでの経路で考える。
【０１０８】
（１）Ｐ１→Ｐ２→Ｐ３→Ｐ６の経路
Ｐ１→Ｐ２での合計コスト値は「３＋９＝１２」となり、Ｐ１→Ｐ２→Ｐ３での合計コスト値は「１２＋１５＝２７」となる。そして、Ｐ１→Ｐ２→Ｐ３→Ｐ６での合計コスト値は「２７＋５＝３２」となる。
【０１０９】
（２）Ｐ１→Ｐ２→Ｐ５→Ｐ６の経路
Ｐ１→Ｐ２での合計コスト値は「３＋９＝１２」となり、Ｐ１→Ｐ２→Ｐ５での合計コスト値は「１２＋１０＝２２」となる。そして、Ｐ１→Ｐ２→Ｐ５→Ｐ６での合計コスト値は「２２＋５＝２７」となる。
【０１１０】
（３）Ｐ１→Ｐ４→Ｐ５→Ｐ６の経路
同様に、Ｐ１→Ｐ４での合計コスト値は「３＋１２＝１５」となり、Ｐ１→Ｐ４→Ｐ５での合計コスト値は「１５＋１０＝２５」となる。そして、Ｐ１→Ｐ４→Ｐ５→Ｐ６での合計コスト値は「２５＋５＝３０」となる。
【０１１１】
なお、画素Ｐ７を通る経路では、Ｐ７の画素値が「１８」であり、Ｐ７を通る経路は、どの経路においても、上記のいずれの合計コスト値よりも大きくなるため、Ｐ７を通ってＰ６に至る経路は、合計コスト値が最小とはならない。
【０１１２】
上記の３つの経路のうち、合計コスト値が最小となるのは、（２）のＰ１→Ｐ２→Ｐ５→Ｐ６の経路である。このため、始点画素Ｐ１から画素Ｐ６に至るまでの経路で考えた場合、Ｐ１→Ｐ２→Ｐ５→Ｐ６でなる画素の集合が、合計コスト値が最小となる画素の集合となる。
【０１１３】
上記のようにして、始点画素から終点画素に至るまでの各画素を通る経路の合計コスト値を算出して通過した画素とともに記憶しておき、最終的に合計コスト値が最小となる始点画素から終点画素に至る画素の集合を継ぎ目に決定する。このようにして継ぎ目を決定することで、例えば図１３（３）に白の実線で示すような継ぎ目が決定される。
【０１１４】
図１３（１）の差分画像Ｉｄでは、対象被写体（対象物）である人物の輪郭が検出されている。基準画像Ｉｒと対象画像Ｉｃとで人物の位置が異なるため、対象被写体となる人物の輪郭の部分では、基準画像Ｉｒと対象画像Ｉｃとの差分値が大きくなる。最小コスト画素集合探索処理では、差分値が小さい画素を辿るように継ぎ目が決定されるため、対象被写体となる人物を避けるように継ぎ目が決定される。つまり、最小コスト画素集合探索処理により、対象被写体領域と非対象被写体領域とを分離可能とする継ぎ目を決定することができる。
【０１１５】
制約条件設定部１７は、継ぎ目決定部１６が継ぎ目を決定する際の制約条件を設定する。制約条件設定部１７は、継ぎ目の発生を規制する所定の継ぎ目発生規制領域に継ぎ目が発生することを規制する制約条件を設定する。
【０１１６】
基準画像Ｉｒと対象画像Ｉｃとには、対象被写体となる人物以外にも様々な物体が存在し得る。このため、最小コスト画素集合探索処理によって、必ず人物の輪郭を避けるように継ぎ目が決定されるとは限らない。
【０１１７】
特に問題となるのは、人物の顔の一部を通るような継ぎ目が発生してしまう場合である。人物の顔を通るような継ぎ目が発生してしまうと、この継ぎ目を境界として基準画像Ｉｒと対象画像Ｉｃとを合成することで、最終的に生成される合成画像において、人物の顔が二重となったり、人物の顔の一部が途切れてしまったり、人物の顔の一部が欠落してしまうなどの問題が生ずる。そこで、本実施形態では、人物の顔を含む所定領域を継ぎ目発生規制領域とし、この所定領域に継ぎ目が発生することを規制する制約条件を設定する。
【０１１８】
本実施形態では、物体検出処理の一例であり、人物の顔を検出する顔検出処理を行う。具体的には、Viola-Jones法やHaar-like特徴量を用いた顔検出法等の公知の手法を用いて、基準画像Ｉｒ及び対象画像Ｉｃから人物の顔を検出する。そして、差分画像Ｉｄにおいて、顔検出処理で検出された顔を含む所定領域に対応する差分値画像の領域を継ぎ目発生規制領域として設定し、この継ぎ目発生規制領域に含まれる全画素の差分値を修正する。
【０１１９】
図１４は、継ぎ目発生規制領域の設定の原理を説明するための図である。
図１４には、差分画像Ｉｒのうちの一部の領域を示し、この一部の領域に人物の顔が含まれている状態を示している。１つの矩形は画素を示し、楕円が人物の顔を示し、楕円の輪郭が人物の顔の輪郭を示している。また、図１４の各図において、ハッチングを施した画素で構成される矩形の領域が、継ぎ目発生規制領域となる。
【０１２０】
この場合、図１４（１）に示すように、顔検出処理で、人物の目や鼻、口等の特徴に基づいて、顔の中心部分の矩形領域を人物の顔として検出した場合には、検出した矩形領域を継ぎ目発生規制領域として設定する。
【０１２１】
また、図１４（２）に示すように、顔検出処理で人物の顔の輪郭を検出した場合には、検出した顔の輪郭を含む人物の顔全体を包含する最小のサイズの矩形領域を継ぎ目発生規制領域として設定する。
【０１２２】
本実施形態では、上記のようにして設定した継ぎ目発生規制領域に含まれる各画素の差分値を、制約条件に基づく規定画素値に修正する。規定画素値は、継ぎ目発生規制領域に含まれない画素のうち、差分値が最大となる画素の差分値（以下、「最大差分値」という。）よりも大きな値を設定すればよい。最も好適な例では、差分画像をグレースケールで表した場合の階調値の最大値である「２５５」を規定画素値とすればよい。
【０１２３】
継ぎ目発生規制領域を構成する画素には、最大差分値よりも大きな規定画素値が設定される。このため、継ぎ目発生規制領域を構成する画素を通る経路では、合計コスト値が他の画素を通る経路よりも大きくなるため、継ぎ目発生規制領域を通らないような画素の集合が継ぎ目として求められることになる。
【０１２４】
なお、図１４（２）に示した継ぎ目発生規制領域の設定方法の他に、例えば、図１４（３）に示すように、人物の顔の輪郭を含む顔全体を包含する領域を継ぎ目発生規制領域として設定するようにしてもよい。つまり、図１４（２）において、顔の輪郭を表す画素の外側に位置する画素は、継ぎ目発生規制領域から除外してもよい。この場合、顔の輪郭を表す画素の外側に位置する画素も、継ぎ目の一部を構成する画素とすることが許容されるため、継ぎ目となり得る画素の範囲を拡大させることができる。
【０１２５】
また、入力画像中に複数の人物の顔が存在する場合には、顔検出処理により、それぞれの人物の顔が検出される。そして、それぞれの人物の顔が存在する領域が継ぎ目発生規制領域として設定されて、継ぎ目が決定されることになる。
【０１２６】
画像合成部１８は、変換行列推定部１３によって推定された変換行列を用いて、位置合わせ部１４によって三次元空間の球面上で位置合わせされた画像群を描画画像とし、この描画画像Ｉｄを二次元平面である合成平面Ｓｐに投影する。球面から合成平面Ｓｐへの投影の際に、例えば図３に示す画像変形がなされる。そして、描画画像を一枚の合成画像として出力画像用バッファへ記録する。
【０１２７】
図１５は、描画画像Ｉｄの描画の原理を説明するための概要図である。
外側に示した実線の矩形が描画平面Ｓｐである。また、位置合わせされた基準画像Ｉｒと対象画像Ｉｃとを点線で示し、これら位置合わせされた基準画像Ｉｒ及び対象画像Ｉｃで構成される画像が描画画像となる。
【０１２８】
画像合成部１８は、描画画像の基準画像Ｉｒと対象画像Ｉｃとが重なり合う重なり領域のうち、継ぎ目Ｊを基準として対象画像Ｉｃ側に位置する領域（以下、「内側領域」という。）Ｒｉｎについては、対象画像Ｉｃの画素値を合成平面Ｓｐに描画する。また、重なり領域のうち、継ぎ目Ｊを基準として基準画像Ｉｒ側に位置する領域（以下、「外側領域」という。）Ｒｏｕｔについては、基準画像Ｉｒの画素値と対象画像Ｉｃの画素値とをアルファブレンドし、このアルファブレンドした画素値を合成平面Ｓｐに描画する。
【０１２９】
アルファブレンドは、２つの画像を係数（α値）により合成する手法のことである。
具体的には、外側領域Ｒｏｕｔに含まれる画素については、対象画像Ｉｃの画素値に重みαを設定し、基準画像Ｉｒの画素値に重み（１−α）を設定して、対象画像Ｉｃの画素値と基準画像Ｉｒの画素値とを加重平均する。
【０１３０】
この際、継ぎ目Ｊに近い領域では対象画像Ｉｃの画素値が大きく反映されるようにし、外側領域Ｒｏｕｔの端部の領域では基準画像Ｉｒの画素値が大きく反映されるようにアルファブレンドを行うことが望ましい。このため、継ぎ目Ｊの画素では重みαを最大値である「１」とし、継ぎ目Ｊの画素から外側領域Ｒｏｕｔの端部に近づくにつれて重みαを段階的に小さくしていき、外側領域Ｒｏｕｔの端部の画素では重みαを最小値である「０」として、アルファブレンドを行うようにすると好適である。
【０１３１】
また、図１６に示すように、合成平面Ｓｐが格子状に分割されているとする。この場合、画像合成部１８は、図３に示した画像変形を考慮し、合成平面Ｓｐへ投影された画像Ｉｄに四隅が含まれるセル（例えば図１６のＲｉｄ）のみを描画する。このようにして描画された画像が、最終的に生成される合成画像となる。
【０１３２】
［１−２．処理］
図１７は、画像生成装置１が実行する画像生成処理の流れの一例を示すフローチャートである。なお、説明理解の容易性を考慮して、対象画像Ｉｃは２番目以降の入力画像であるとする。
【０１３３】
最初に、入力部１０が、画像入力処理を実行する（Ａ１）。具体的には、入力部１０は、カメラ２０から対象画像Ｉｃを入力する。次いで、位置合わせ部１４が、画像位置合わせ処理を実行する（Ａ３）。
【０１３４】
図１８は、画像位置合わせ処理の流れの一例を示すフローチャートである。
最初に、基準画像選択部１１が、入力済画像から基準画像Ｉｒを選択する（Ｂ１）。そして、マッチング部１２及び変換行列推定部１３の推定結果に基づいて、位置合わせ部１４が、基準画像Ｉｒと対象画像Ｉｃとの位置合わせを行う（Ｂ３）。
【０１３５】
次いで、位置合わせ部１４は、過去（又は他の）の基準画像Ｉｒと対象画像Ｉｃとが比較できるか否かを判定する（Ｂ５）。具体的には、基準画像Ｉｒの中心位置と対象画像Ｉｃと中心位置との間の距離が所定値以下（又は所定値未満）である場合には、基準画像Ｉｒと対象画像Ｉｃとが比較可能であると判定する。そして、比較可能であると判定した場合には（Ｂ５；Ｙｅｓ）、位置合わせ部１４は、過去の基準画像Ｉｒと対象画像Ｉｃとの位置合わせを行う（Ｂ７）。
【０１３６】
次いで、位置合わせ部１４は、全体位置の調整のために、再描画フラグを「ＯＮ」とする（Ｂ９）。その後、基準画像選択部１１は、対象画像Ｉｃと過去の基準画像Ｉｒとの間の距離が所定値以上であるか否かを判定する（Ｂ１１）。そして、距離が所定値以上であると判定した場合は（Ｂ１１；Ｙｅｓ）、基準画像選択部１１は、対象画像Ｉｃを次回以降の基準画像Ｉｒにすべく基準画像リストへ記録する（Ｂ１３）。基準画像リストとは、基準画像の特徴点の画素値及び座標を記録したデータを参照するためのリストである。Ｂ１３のステップが終了すると、画像位置合わせ処理を終了する。
【０１３７】
一方、Ｂ５において他の基準画像と比較可能ではないと判定した場合（Ｂ５；Ｎｏ）、
基準画像選択部１１が、対象画像Ｉｃと過去の基準画像Ｉｒとの距離を判定する処理へ移行する（Ｂ１１）。また、Ｂ１１において距離が所定値以上でないと判定した場合には（Ｂ１１；Ｎｏ）、画像位置合わせ処理を終了する。
【０１３８】
画像生成処理に戻り、画像位置合わせ処理を行った後、差分値算出部１５が、基準画像Ｉｒの画素値と対象画像Ｉｃの画素値との差分値を算出する差分値算出処理を実行する（Ａ５）。
【０１３９】
次いで、継ぎ目決定部１６は、顔検出フラグが「ＯＮ」に設定されているか否かを判定し（Ａ７）、「ＯＮ」に設定されている判定したならば（Ａ７；Ｙｅｓ）、対象画像Ｉｃから人物の顔を検出する顔検出処理を行う（Ａ９）。
【０１４０】
次いで、継ぎ目決定部１６が、差分値算出処理で算出された差分値に基づいて継ぎ目を決定する継ぎ目決定処理を実行する（Ａ１１）。
【０１４１】
図１９は、継ぎ目決定処理の流れの一例を示すフローチャートである。
最初に、継ぎ目決定部１６は、始点画素及び終点画素を設定する（Ｃ１）。始点画素及び終点画素の設定方法は前述した通りである。
【０１４２】
次いで、継ぎ目決定部１６は、顔検出フラグが「ＯＮ」に設定されているか否かを判定し（Ｃ３）、「ＯＮ」に設定されていると判定したならば（Ｃ３；Ｙｅｓ）、顔検出処理で検出された人物の顔を含む継ぎ目発生規制領域を設定する（Ｃ５）。そして、継ぎ目決定部１６は、設定された継ぎ目発生規制領域に含まれる画素の差分値を修正する修正処理を行う（Ｃ７）。
【０１４３】
次いで、継ぎ目決定部１６は、最小コスト画素集合探索処理を行う（Ｃ９）。そして、継ぎ目決定部１６は、最小コスト画素集合探索処理で探索された画素集合（継ぎ目）を基準画像及び対象画像と対応付けて記憶する（Ｃ１１）。そして、継ぎ目決定部１６は、継ぎ目決定処理を終了する。
【０１４４】
画像生成処理に戻り、継ぎ目決定処理を行った後、画像合成部１８が、Ａ１で入力した対象画像Ｉｃを描画用画像として追加するか否かを判定する（Ａ１３）。例えば、画像合成部１４は、描画すべき画像の画像情報を参照可能とする描画用画像リストを参照可能に構成されており、該リストに記載されている画像のうち最も位置が近い画像との距離が所定値以上である場合には、Ａ１で入力した対象画像Ｉｃを描画用画像に追加する。対象画像Ｉｃを描画用画像に追加すると判定したならば（Ａ１３；Ｙｅｓ）、画像合成部１８は、描画用リストに該対象画像Ｉｃを追加し、対象画像Ｉｃを保存する（Ａ１５）。
【０１４５】
次いで、画像合成部１８は、再描画フラグが「ＯＮ」に設定されているか否かを判定する（Ａ１７）。そして、「ＯＮ」に設定されていると判定したならば（Ａ１７；Ｙｅｓ）、描画位置の再計算処理を実行する（Ａ１９）。この再計算処理では、位置合わせ部１５が、全体位置合わせの処理を行う。この際、位置合わせ部１５は、変換行列推定部１３によって更新された変換行列を用いて、全ての描画用画像の位置を調整する。
【０１４６】
Ａ１７において再描画フラグが「ＯＦＦ」であると判定した場合（Ａ１７；Ｎｏ）、又は、Ａ１９の後、画像合成部１８が、合成画像を生成する合成画像生成処理を行う（Ａ２１）。
【０１４７】
具体的には、描画用画像リストから描画すべき画像を特定し、三次元空間の球面から二次元平面に投影する。この際、継ぎ目決定処理で決定された継ぎ目に基づいて、図１５のＲｉｎに相当する継ぎ目の内側領域に含まれる画素は、対応するセルに対象画素Ｉｃの画素値を割り当てて描画し、図１５のＲｏｕｔに相当する継ぎ目の外側領域に含まれる画素は、対応するセルに基準画像Ｉｒの画素値と対象画像Ｉｃの画素値とをアルファブレンドした画素値を割り当てて描画する。
【０１４８】
次いで、入力部１０は、画像の入力が終了したか否かを判定し（Ａ２３）、まだ入力が終了していないと判定したならば（Ａ２３；Ｎｏ）、Ａ１に処理を戻す。一方、画像の入力が終了したと判定したならば（Ａ２３；Ｙｅｓ）、画像合成部１８は、最終的な合成画像を保存する（Ａ２５）。そして、画像生成処理を終了する。
【０１４９】
［１−３．作用効果］
画像生成装置１は、順次に入力される入力画像を継ぎ合わせて合成画像を生成する。差分値算出部１５は、基準画像の画素値と、基準画像と画像の一部が重なり合う対象画像の画素値とを用いて、基準画像と対象画像との相対関係を表す差分値を算出する。継ぎ目決定部１６は、差分値算出部１５によって算出された差分値を用いて、基準画像と対象画像との合成のための継ぎ目を決定する。そして、画像合成部１８は、継ぎ目決定部１６によって決定された継ぎ目に基づいて基準画像と対象画像とを合成して合成画像を生成する。
【０１５０】
基準画像の対象画像との差分値から、基準画像と対象画像との間の背景や被写体の相対的な位置関係の変化を把握することができる。このため、基準画像と対象画像との差分値を用いることで、基準画像と対象画像とを適切な位置で合成するための継ぎ目を決定することが可能となる。その結果、画像合成によって、良質な合成画像を得ることができる。
【０１５１】
具体的には、画像合成部１８は、差分値算出部１５によって算出された差分値を画素値とする差分画像において、対象被写体が存在する画像領域である対象被写体領域とそれ以外の画像領域である非対象被写体領域とを分離するための所定の分離処理を行って、継ぎ目を決定する。これにより、対象被写体領域と非対象被写体領域とを分離して基準画像と対象画像とを合成することを可能とする継ぎ目を決定することができる。その結果、画像合成によって生成される合成画像は、対象被写体領域に乱れの生じていない良質な合成画像となる。
【０１５２】
［１−４．変形例］
上記の画像生成装置１は、本発明に係る画像生成装置の一例を示すものであるが、本発明に係る画像生成装置は、画像生成装置１に限られるものではなく、各請求項に記載した要旨を変更しない範囲で、実施形態に係る画像生成装置を変形し、又は他のものに適用したものであってもよい。
【０１５３】
例えば、上記の実施形態では、カメラ２０が静止画像を連続撮像する例を説明したが、カメラ２０は、動画を撮像するものであってもよい。この場合、入力部１０は、撮像された動画から連続する画像を抽出する機能を有していてもよい。また、入力部１０が入力する画像は、別の機器からネットワークを介して送信された画像であってもよい。
【０１５４】
また、上記の実施形態では、カメラ２０により撮像された画像の大きさは同一であるとして説明したが、撮像された画像の大きさは撮像の度に異なる大きさであってもよい。
【０１５５】
また、上記の実施形態では、画像生成装置１が、入力部１０、基準画像選択部１１、マッチング部１２、変換行列推定部１３、位置合わせ部１４、差分値算出部１５、継ぎ目決定部１６、制約条件設定部１７及び画像合成部１８を備える構成として説明したが、要求される性能に応じて、これらの構成を適宜変更してもよい。
【０１５６】
さらに、上記の実施形態では、画像を、図３に示す８自由度で変形する場合を説明したが、８自由度に限られるものではなく、例えば、図３（Ａ）〜（Ｆ）に示す６自由度で変形するようにしてもよい。
【０１５７】
［２．第１実施例］
次に、上記の画像生成装置１を備える電子機器の一例として、スマートフォン２の実施例について説明する。但し、本発明を適用可能な実施例が、以下説明する実施例に限定されるわけでないことは勿論である。
【０１５８】
［２−１．機能構成］
図２０は、スマートフォン２の機能構成の一例を示すブロック図である。
スマートフォン２は、処理部１００と、操作部２００と、表示部３００と、音出力部４００と、撮像部５００と、通信部６００と、時計部７００と、記憶部８００とを備える。
【０１５９】
処理部１００は、記憶部８００に記憶されているシステムプログラム等の各種プログラムに従ってスマートフォン２の各部を統括的に制御したり、画像処理に係る各種の処理を行う処理装置であり、ＣＰＵやＤＳＰ等のプロセッサーやＡＳＩＣ等の集積回路を有して構成される。
【０１６０】
処理部１００は、主要な機能部として、基準画像選択部１１０と、マッチング部１２０と、変換行列推定部１３０と、位置合わせ部１４０と、差分値算出部１５０と、継ぎ目決定部１６０と、制約条件設定部１７０と、画像合成部１８０と、表示制御部１９０とを有する。これらの機能部は、図１の画像生成装置１が備える機能部にそれぞれ対応するものである。
【０１６１】
操作部２００は、操作ボタンや操作スイッチ、マウスといった、ユーザーがスマートフォン２に対する各種の操作入力を行うための入力装置を有して構成される。また、操作部２００は、表示部３００と一体的に構成されたタッチパネル２５０を有し、このタッチパネル２５０はユーザーとスマートフォン２との間の入力インターフェースとして機能する。操作部２００からは、ユーザー操作に従った操作信号が処理部１００に出力される。
【０１６２】
表示部３００は、ＬＣＤ（Liquid Crystal Display）等を有して構成される表示装置であり、処理部１００から出力される表示信号に基づいた各種の表示を行う。表示部３００は、タッチパネル２５０と一体的に構成されてタッチスクリーンを形成している。表示部３００には、撮影画像や修正画像等の各種の画像が表示される。
【０１６３】
音出力部４００は、スピーカ等を有して構成される音出力装置であり、処理部１００から出力される音出力信号に基づいた各種の音出力を行う。
【０１６４】
撮像部５００は、任意のシーンの画像を撮影可能に構成された撮像装置であり、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary MOS）イメージセンサ等の撮像素子を有して構成される。撮像部５００は、光信号を電気信号に変換し、デジタル化した撮影画像のデータを処理部１００に出力する。
【０１６５】
通信部６００は、装置内部で利用される情報を外部の情報処理装置との間で送受するための通信装置である。通信部６００の通信方式としては、所定の通信規格に準拠したケーブルを介して有線接続する形式や、クレイドルと呼ばれる充電器と兼用の中間装置を介して接続する形式、近距離無線通信を利用して無線接続する形式等、種々の方式を適用可能である。
【０１６６】
時計部７００は、スマートフォン２の内部時計であり、例えば水晶振動子及び発振回路である水晶発振器を有して構成される。時計部７００の計時時刻は、処理部１００に随時出力される。
【０１６７】
記憶部８００は、ＲＯＭやＥＥＰＲＯＭ、フラッシュメモリ、ＲＡＭ等の揮発性又は不揮発性のメモリや、ハードディスク装置等を有して構成される記憶装置である。記憶部８００は、処理部１００がスマートフォン２を制御するためのシステムプログラムや、各種の画像処理を行うためのプログラムやデータを記憶する。
【０１６８】
本実施形態において、記憶部８００には、処理部１００により読み出され、カメラモード処理として実行されるカメラモード処理プログラム８１０が記憶されている。カメラモード処理プログラム８１０は、画像生成処理として実行される画像生成プログラム８１１をサブルーチンとして含む。
【０１６９】
また、記憶部８００には、撮像部５００から処理部１００に入力された撮影画像の画像情報が入力済画像として格納される入力済画像データベース８３０と、順次に入力される撮影画像が一時的に格納される入力画像用バッファ８５０と、最終的に生成された合成画像が格納される出力画像用バッファ８７０とが含まれる。
【０１７０】
［２−２．処理］
図２１は、処理部１００が、記憶部８００に記憶されているカメラモード処理プログラム８１０に従って実行するカメラモード処理の流れの一例を示すフローチャートである。このカメラモード処理は、ユーザーによりカメラのアプリケーションが起動されることにより実行される処理である。
【０１７１】
最初に、処理部１００は、ユーザーにより操作部２００を介して選択されたモードがパノラマ画像生成モードであるか否かを判定する（Ｅ１０）。パノラマ画像生成モードは、ユーザーがある地点から異なった方位の画像を複数枚撮影し、これらの撮影画像を継ぎ合わせて一枚の広角な静止画像であるパノラマ画像を生成させるためのモードである。このパノラマ画像生成モードは、自分撮りやグループ撮影に好適に利用されるモードである。
【０１７２】
パノラマ画像生成モードであると判定したならば（Ｅ１０；Ｙｅｓ）、処理部１００は、ユーザーにより人物の顔を検出する顔検出設定がなされたか否かを判定し（Ｅ１５）、なされたと判定したならば（Ｅ１５；Ｙｅｓ）、顔検出フラグを「ＯＮ」に設定する（Ｅ２０）。一方、なされなかったと判定したならば（Ｅ１５；Ｎｏ）、顔検出フラグを「ＯＦＦ」に設定する（Ｅ２５）。
【０１７３】
次いで、処理部１００は、操作部２００に対するユーザーの撮影操作に従って、撮像部５００に１枚の画像を撮像させる撮像処理を行う（Ｅ３０）。なお、ここでは詳細なステップを省略するが、撮影を実行する際には、撮影対象（撮影シーン）を写し出す撮像の待機状態の画面である撮像待機画面（ファインダー画面）を表示部３００に表示させ、この撮像待機画面の表示中にユーザーにより撮影操作がなされた場合に、撮像処理を行う。ユーザーがスマートフォン２を手に持った状態で撮影方向を変化させることで、撮影対象（撮影シーン）が変化する。これに伴い、撮像待機画面に写し出される画像も変化する。撮像部５００による撮像が終了すると、表示制御部１９０は、撮像された撮影画像を表示部３００に表示させる（Ｅ３５）。
【０１７４】
次いで、処理部１００は、操作部２００を介してユーザーによりパノラマ画像を生成する実行操作がなされたか否かを判定し（Ｅ４０）、なされなかったと判定した場合には（Ｅ４０；Ｎｏ）、Ｅ３０に戻り、操作部２００に対するユーザーの撮影操作に従って、撮像部５００に再び１枚の画像を撮像させる撮像処理を行う。
【０１７５】
一方、ユーザーによりパノラマ画像を生成する実行操作がなされたと判定したならば（Ｅ４０；Ｙｅｓ）、処理部１００は、記憶部８００に記憶されている画像生成プログラム８１１に従って、画像生成処理を実行する（Ｅ４５）。画像生成処理は、図１７に示した通りである。
【０１７６】
次いで、表示制御部１９０は、画像生成処理で生成された合成画像をパノラマ画像として表示部３００に表示制御する（Ｅ５０）。その後、ユーザーによりパノラマ画像生成モードを終了する操作がなされたか否かを判定し（Ｅ５５）、なされなかったと判定したならば（Ｅ５５；Ｎｏ）、Ｅ１５へと処理を戻す。
【０１７７】
一方、Ｅ１０においてパノラマ画像生成モードが選択されなかったと判定したならば（Ｅ１０；Ｎｏ）、処理部１００は、通常撮影モード処理を行う（Ｅ６０）。通常撮影モード処理では、処理部１００は、操作部２００に対するユーザーの撮影操作に応じて撮像部５００に１枚の画像の撮像を行わせ、撮像部５００によって撮像された撮影画像を記憶部８００に記憶させて、表示部３００に表示させる。
【０１７８】
Ｅ５５においてパノラマ画像生成モードを終了する操作がなされたと判定した場合（Ｅ５５；Ｙｅｓ）、又は、Ｅ６０の後、処理部１００は、ユーザーによりカメラモードを終了する操作がなされたか否かを判定し（Ｅ９０）、終了する操作がなされなかったと判定したならば（Ｅ９０；Ｎｏ）、Ｅ１０に処理を戻す。一方、終了する操作がなされたと判定したならば（Ｅ９０；Ｙｅｓ）、カメラモード処理を終了する。
【０１７９】
［２−３．作用効果］
ユーザーが所持する電子機器の一例であるスマートフォン２において、カメラモードが起動された場合には、処理部１００によってカメラモード処理が実行される。カメラモード処理では、パノラマ画像生成モードが選択された場合に、上記の実施形態で説明した画像生成の原理に基づいて広角な合成画像であるパノラマ画像を生成し、これを表示部３００に表示する。これにより、ユーザーは、生成されたパノラマ画像をスマートフォン２で閲覧することが可能となる。
【０１８０】
［３．第２実施例］
第２実施例は、上記のスマートフォン２の実施例において、パノラマ画像生成モードで生成されたパノラマ画像の出力が乱れている場合に、ユーザーがパノラマ画像を再生成させる実施例である。
【０１８１】
［３−１．処理］
図２２は、スマートフォン２の処理部１００が、図２１のカメラモード処理に代えて実行する第２のカメラモード処理の流れの一例を示すフローチャートである。なお、カメラモード処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
【０１８２】
Ｅ５０においてパノラマを表示部３００に表示させる制御を行った後、処理部１００は、パノラマ画像を修正する画像修正モードがユーザーにより選択されたか否かを判定する（Ｆ１０）。そして、選択されたと判定したならば（Ｆ１０；Ｙｅｓ）、表示制御部１９０が、表示部３００に表示中のパノラマ画像に、画像生成処理の継ぎ目決定処理で決定された継ぎ目を重畳表示させる（Ｆ１５）。パノラマ画像は、複数の入力画像を継ぎ合わせて生成される画像であるため、継ぎ合わせた入力画像の組合せそれぞれについて、これらの入力画像を継ぎ合わせた継ぎ目を、パノラマ画像の対応する位置に表示させる。
【０１８３】
パノラマ画像はカラーの画像であり、様々な色の要素で構成されている。また、パノラマ画像には、対象被写体の他に、種々の物体（建物や乗り物、道路、草木など）が混在している。このため、単純に黒色の線で継ぎ目をパノラマ画像に重畳表示した場合には、ユーザーが継ぎ目を認識することが困難な場合がある。
【０１８４】
そこで、合成画像修正モードでは、例えば、パノラマ画像をグレースケールの画像に変換したものを表示部３００に表示し、このグレースケールで表されたパノラマ画像に、青色や緑色、赤色といった鮮やかな色で継ぎ目を重畳表示させることで、継ぎ目を強調表示させるようにするとよい。このようにすることで、ユーザーは、パノラマ画像のどの位置に継ぎ目が発生しているかを一見して把握することが可能となる。
【０１８５】
また、カラーのパノラマ画像に継ぎ目を重畳表示させる場合には、例えば、継ぎ目を特定色（例えば白や黒）の太い線で強調表示させたり、継ぎ目を点滅表示させるなどしてもよい。つまり、ユーザーが継ぎ目であることを確実に認識できるような表示態様で継ぎ目を表示させればよく、継ぎ目の表示態様は、上記の表示態様に限られない。
【０１８６】
次いで、処理部１００は、タッチパネル２５０に対するタップ操作がなされたか否かを判定し（Ｆ２０）、なされたと判定したならば（Ｆ２０；Ｙｅｓ）、タップ位置に継ぎ目の画素が含まれるが否かを判定する（Ｆ２５）。そして、含まれると判定したならば（Ｆ２５；Ｙｅｓ）、処理部１００は、タップ位置を含む所定の修正領域を設定し、パノラマ画像に重畳表示させる（Ｆ３０）。
【０１８７】
タップ操作はユーザーの指で行われるため、タップ位置は一定の面積を有する。この場合、タップ位置に含まれる全ての画素でなる領域を修正領域として設定してもよいし、タップ位置よりも小さい領域であって、継ぎ目の画素を含む所定の形状（例えば楕円形）で囲まれる領域を修正領域として設定してもよい。
【０１８８】
次いで、処理部１００は、修正フラグを「ＯＮ」に設定する（Ｆ３５）。そして、処理部１００は、Ｅ５０に処理を戻し、再び画像生成処理を行う。つまり、処理部１００は、継ぎ目の再決定と、再決定した継ぎ目に基づく合成画像の再生成とを行うことになる。この場合における画像生成処理では、図１９の継ぎ目決定処理に代えて、第２の継ぎ目決定処理を実行する。
【０１８９】
図２３は、第２の継ぎ目決定処理の流れの一例を示すフローチャートである。なお、継ぎ目決定処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
【０１９０】
Ｃ３において顔検出フラグが「ＯＦＦ」であると判定した場合（Ｃ３；Ｎｏ）、又は、Ｃ５の後、継ぎ目決定部１６０は、修正フラグが「ＯＮ」に設定されているか否かを判定し（Ｇ６）、「ＯＮ」に設定されていると判定したならば（Ｇ６；Ｙｅｓ）、差分値算出処理によって生成された差分画像のうち、設定された修正領域に対応する領域を継ぎ目発生規制領域に設定する（Ｇ７）。
【０１９１】
次いで、継ぎ目決定部１６０は、Ｃ５及びＧ７で設定された継ぎ目発生規制領域の差分値を修正する差分値修正処理を行う（Ｇ８）。そして、継ぎ目決定部１６０は、Ｃ９へと処理を移す。
【０１９２】
第２のカメラモード処理に戻り、Ｆ２０においてタップ操作がなされなかったと判定したならば（Ｆ２０；Ｎｏ）、処理部１００は、ユーザーにより画像修正モードを終了する操作がなされたか否かを判定し（Ｆ４５）、なされなかったと判定したならば（Ｆ４５；Ｎｏ）、Ｆ２０に処理を戻す。一方、画像修正モードを終了する操作がなされたと判定したならば（Ｆ４５；Ｙｅｓ）、処理部１００は、Ｅ５５へと処理を移す。
【０１９３】
また、Ｆ２５においてタップ位置に継ぎ目の画素が含まれないと判定したならば（Ｆ２５；Ｎｏ）、処理部１００は、ユーザーに対してエラーを報知するエラー報知処理を行う（Ｆ４０）。具体的には、継ぎ目の表示部分をユーザーにタップするように促す表示メッセージを表示部３００に表示させる。そして、処理部１００は、Ｆ４５へと処理を移す。
【０１９４】
［３−２．表示画面］
図２４は、第２のカメラモード処理においてスマートフォン２の表示部３００に表示される表示画面及びユーザー操作の一例を示す図である。
【０１９５】
図２４（１）には、スマートフォン２の表示部３００にパノラマ画像が表示された状態を図示している（Ｅ５０）。但し、ここでは、説明を簡単にするために、一本の継ぎ目のみを図示している。ユーザーが顔検出処理を「ＯＮ」としなかったことで（Ｅ１５；Ｎｏ→Ｅ２５）、対象被写体である人物の顔の部分に継ぎ目発生規制領域が設定されずに画像生成処理において継ぎ目決定処理が行われ（Ｅ４５）、その結果、人物の顔の表示が合成により乱れてしまっている。
【０１９６】
これを見たユーザーは、画像修正モードを「ＯＮ」とする（Ｆ１０；Ｙｅｓ）。これにより、図２４（２）に示すように、図２４（１）のパノラマ画像に継ぎ目が重畳表示される（Ｆ１５）。ユーザーは、図２３（３）に示すように、顔にかかっている継ぎ目の部分を指でタップする（Ｆ２０；Ｙｅｓ→Ｆ２５；Ｙｅｓ）。これにより、例えば、タップ位置を含む楕円形状の修正領域Ｒｍが設定され（Ｆ３０）、図２４（４）に示すように、修正領域Ｒｍがパノラマ画像に重畳表示される（Ｆ３０）。
【０１９７】
ここで、図２４（５）に示すように、再決定された継ぎ目をユーザーが確認できるように画面上に表示してもよい。図２４（５）では、図２４（２）において人物の顔にかかっていた継ぎ目の部分が楕円形状の修正領域Ｒｍの外側に移動しており、ユーザーの意図を反映した継ぎ目の修正が行われたことが直感的に分かるように画面上に表示されている。また、修正前と修正後の継ぎ目の両方を、相互に識別できるような色や線を用いて画面上に表示して、両者の違いをユーザーが確認できるようにしてもよい。このようにすることで、当初に決定された継ぎ目に対して、再決定された継ぎ目がどのように変わったかをユーザーが把握することが可能となり、利便性を向上させることができる。
【０１９８】
その後、ユーザーのパノラマ画像の再生成を指示する指示操作により、再度画像生成処理が行われ（Ｆ３５→Ｅ４５）、再決定された継ぎ目位置を用いて合成画像が再生成される。そして、図２４（６）に示すように、再生成された合成画像がパノラマ画像として表示部３００に表示される（Ｅ５０）。図２４（６）では、図２４（１）において人物の顔の表示が合成により乱れていた顔の部分が適切に修正されたパノラマ画像が表示されている。
【０１９９】
［４．第３実施例］
第３実施例は、上記のスマートフォン２の実施例において、ユーザーが撮影を行う際に、撮像待機画面に写し出される画像に人物の顔が含まれている場合であって、その顔の位置が画面の端部に位置する場合に、所定の注意喚起を行う実施例である。これは、顔が画面の端部に位置する状態で撮影が行われてしまうと、以下のような問題が生ずる可能性があるためである。
【０２００】
（１）画像としての美観が損なわれる。
（２）画面の端部に位置する顔は、顔検出処理で検出されない可能性がある。この場合、顔検出処理で検出した顔に対応する領域を継ぎ目発生規制領域として設定することができないため、顔にかかるような継ぎ目が発生してしまい、顔の表示が合成により乱れてしまう可能性がある。
（３）撮影画像の何れにも画面の端部に位置する人物の顔全体が表示された画像が存在しない場合、その画面の端部にかかった状態の顔の画像情報を、その後の処理に使用するしかない状態となる。その結果、前述した画像生成処理において顔検出処理の結果を元に継ぎ目を決定していた場合、顔にかかるような継ぎ目が発生してしまい、顔の表示が合成により乱れてしまう可能性がある。
【０２０１】
上記の理由から、顔が画面の端部に位置した状態でユーザーが画像を撮影しようとしていると判定した場合には、その顔の全体が表示された状態で画像を撮影するか、もしくは、別途その顔の全体が表示された画像を少なくとも１枚撮影する必要がある。そこで、撮影が行われる前に、顔が画面の端部から離れるように、適切な位置にスマートフォン２（カメラ）や顔の位置を定めて撮影を行うようにユーザーに促す。
【０２０２】
図２５は、スマートフォン２の処理部１００が、図２０のカメラモード処理に代えて実行する第３のカメラモード処理の流れの一例を示すフローチャートである。なお、カメラモード処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
【０２０３】
Ｅ２０又はＥ２５の後、表示制御部１９０は、撮像待機画面を表示部３００に表示させる処理を開始する（Ｈ１０）。そして、処理部１００は、撮像待機画面に写し出される画像から人物の顔を検出する顔検出処理を行う（Ｈ１５）。
【０２０４】
次いで、処理部１００は、顔検出処理で人物の顔が検出されたか否かを判定し（Ｈ２０）、検出されたと判定したならば（Ｈ２０；Ｙｅｓ）、検出された顔が画面の端部の所定範囲に含まれるか否かを判定する（Ｈ２５）。そして、含まれると判定したならば（Ｈ２５；Ｙｅｓ）、処理部１００は、注意喚起報知処理を行う（Ｈ３０）。注意喚起報知処理では、撮像待機画面において、人物の顔が画面の端部に位置していることをユーザーに注意喚起する処理を行う。
【０２０５】
具体的には、例えば、顔が画面の端部から離れるようにスマートフォン２（カメラ）又は顔の位置を調整することをユーザーに促す表示メッセージや、顔を画面中央部に寄せることをユーザーに促す表示メッセージ、顔が画面の端部に位置しない画像を少なくとも１枚撮影させることをユーザーに促す表示メッセージを、表示部３００に表示中の撮像待機画面に表示させる。
【０２０６】
なお、上記の表示メッセージのうち、何れか１つの表示メッセージを表示させてもよいし、複数の表示メッセージを表示させてもよい。つまり、注意喚起報知として、（１）顔が画面の端部から離れるように自装置又は顔の位置を調整することをユーザーに促す報知、（２）顔を画面の中央部に寄せることをユーザーに促す報知、（３）顔が画面の端部に位置しない画像を少なくとも１枚撮影させることをユーザーに促す報知、のうちの少なくとも何れかの報知を行えばよい。
【０２０７】
また、上記の表示メッセージは、撮像待機画面にポップアップ表示させるなどしてユーザーが表示メッセージを確認できるようにしてもよいし、撮像待機画面の表示を一旦中断し、別画面を切り替えて表示させるなどしてユーザーが表示メッセージを確認できるようにしてもよい。
【０２０８】
また、注意喚起報知として、上記の表示メッセージと同様の音声メッセージを音出力部４００から音出力させるようにしてもよい。つまり、本実施形態では、表示部３００や音出力部４００を、注意喚起報知を行う報知手段として機能させることができる。
【０２０９】
Ｈ２０において人物の顔が検出されなかったと判定した場合（Ｈ２０；Ｎｏ）、又は、Ｈ２５において顔が画面の端部所定範囲に含まれないと判定した場合には（Ｈ２５；Ｎｏ）、処理部１００は、Ｈ３５へと処理を移す。
【０２１０】
Ｈ３０の後、処理部１００は、ユーザーにより撮影操作がなされたか否かを判定し（Ｈ３５）、なされたと判定したならば（Ｈ３５；Ｙｅｓ）、Ｅ３０〜Ｅ４０へと処理を移す。Ｅ４０においてユーザーにより画像生成実行操作がなされなかったと判定したならば（Ｅ４０；Ｎｏ）、処理部１００は、Ｈ１５へと処理を戻す。
【０２１１】
［５．変形例］
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明するが、上記の実施例と同一の構成については同一の符号を付して、再度の説明を省略する。
【０２１２】
［５−１．電子機器］
画像生成装置１は、スマートフォンやカメラ、デジタルカメラ、タブレット端末、ＰＤＡ、パソコン等の電子機器に具備させることができる。撮像部を備えた電子機器であれば、種々の電子機器に本発明の画像生成装置１を具備させることが可能である。
【０２１３】
また、ユーザーが、スマートフォン２において表示部３００に表示された合成画像を、他の電子機器（情報処理装置）の表示部に表示させるようにすることも可能である。具体的には、例えば、ユーザーは、手元のスマートフォン２とパソコンとを通信接続する。そして、ユーザーは、スマートフォン２の表示部３００に表示された合成画像をパソコンに転送する。パソコンは、スマートフォン２から転送された合成画像をディスプレイに表示させ、ユーザーはパソコンの表示画面で合成画像を閲覧する。
【０２１４】
なお、この場合において、スマートフォン２によって撮像された撮影画像の画像データ一式をパソコンに送信するようにし、スマートフォン２の代わりにパソコンが合成画像を生成して、パソコンのディスプレイに表示させるようにしてもよい。この場合は、スマートフォン及びパソコンが、本発明における画像生成装置１となる。
【０２１５】
［５−２．画素領域］
上記の実施形態では、画素単位で差分値を算出し、この画素単位で算出された差分値を用いた分離処理（例えば最小コスト画素集合探索処理）を行って、継ぎ目を決定することとして説明した。しかし、必ずしも画素単位で算出された差分値を用いなければならいわけではなく、２以上の画素で構成される画素領域単位で差分値を算出し、この画素領域単位で算出された差分値を用いて分離処理を行って、継ぎ目を決定してもよい。例えば、画像を構成する画素を格子状の領域に区切り、この区切られた各領域を画素領域として上記の実施形態と同様の処理を行って、継ぎ目を決定するようにしてもよい。
【０２１６】
この場合における画素領域は、例えば１０×１０や２０×２０といった正方形の領域としてもよいし、１０×２０や２０×１０といった長方形の領域としてもよい。
また、画素領域の大きさは、入力画像の大きさに基づいて適宜設定変更するとよい。例えば、入力画像のサイズの１％〜１０％の範囲内で各画素領域の大きさを決定して、画素領域別に処理を行うとよい。
【０２１７】
［５−３．相対値]
上記の実施形態では、基準画像と対象画像との相対関係を表す相対値として、画素値の差分値を算出することとして説明したが、これに代えて、画素値の比を相対値として算出することとしてもよい。この場合は、相対値として算出された画素値の比に基づいて、上記の実施形態と同様の手法で継ぎ目を決定するようにすればよい。
【０２１８】
［５−４．分離処理］
［５−４−１．グラフカットを利用した分離処理］
上記の実施形態では、分離処理として、最小コスト画素集合探索処理を行って継ぎ目を決定したが、この他に、グラフカットを利用した分離処理（以下、「グラフカット処理」という。）を行って継ぎ目を決定してもよい。グラフカットとは、グラフの頂点を２つの部分集合に分割するための手法である。画像処理において、グラフカットは、入力画像中から特定の領域を抽出する領域抽出や、入力画像から前景領域と背景領域とを分離するなどの目的で使用される。
【０２１９】
具体的には、最初に有向グラフＧ＝（Ｖ、Ｅ）を定義する。Ｖはノード（ノードの集合）であり、Ｅはエッジ（エッジの集合）である。また、ノードＶのうち、フローが発生する場所を示すソースｓと、フローが到着する場所を示すシンクｔとを設定する。エッジＥには、コストと呼ばれる重みを設定し、ソースｓからシンクｔに至るまでの径路に存在するエッジのコストの総和として表されるカット容量を最小とするようなｓ−ｔカット（最小カット）を求める。
【０２２０】
本発明における継ぎ目の決定にグラフカット処理を適用する場合には、基準画像と対象画像との差分画像における各画素をノードＶとし、隣接する画素を結ぶ線をエッジＥとする。また、基準画像と対象画像とで画像の重なりが生じていない領域にソースｓ及びシンクｔを設定する。具体的には、基準画像に基づいて描画を行うことは可能であるが、対象画像に基づいて描画を行うことができない画像領域内にソースｓを設定し、対象画像に基づいて描画を行うことは可能であるが、基準画像に基づいて描画を行うことができない画像領域内にシンクｔを設定する。また、基準画像と対象画像との両方の画像で描画を行うことが可能な画像領域内に、未設定のノードＶを設定する。各エッジＥには、隣接するノードＶの画素値に基づいてコストを設定する。
【０２２１】
そして、カット容量を評価値とし、このカット容量を最小とするようなｓ−ｔカットを、例えば最大フロー・最小切断のアルゴリズムによって求めることで、差分画像を２つの領域に分割する。そして、この分割された２つの領域の境界に位置する画素の集合を継ぎ目に決定する。
【０２２２】
［５−４−２．対象被写体検出を利用した分離処理］
他の分離処理として、入力画像から対象被写体を検出する対象被写体検出処理を行い、差分画像と対象被写体検出処理の処理結果とを用いて、継ぎ目を決定するようにしてもよい。
【０２２３】
具体的には、対象被写体検出処理として、入力画像から人物の顔を検出する顔検出処理や、人物の体の部分（例えば手や足、胴体）を検出する体検出処理を行う。そして、差分画像において、顔検出処理や体検出処理で検出された人物の顔や体に対応する画像領域を除外した画像領域を継ぎ目発生対象領域に設定し、設定した継ぎ目発生対象領域内に継ぎ目を発生させる。
【０２２４】
例えば、継ぎ目発生対象領域を対象として、前述した最小コスト画素集合探索処理やグラフカット処理を行って継ぎ目を決定するようにしてもよい。また、継ぎ目発生対象領域を対象として、直線や曲線（例えば２次曲線）で近似した継ぎ目パターンをマッチングさせるマッチング処理を行って継ぎ目を決定するようにしてもよい。
【０２２５】
なお、対象被写体検出処理で検出する対象被写体は、人物であってもよいし、動物であってもよい。また、撮影シーンに存在する様々な物体（例えば建物や乗り物）を対象被写体として検出してもよい。
【０２２６】
［５−５．継ぎ目発生規制領域］
上記の実施形態では、物体検出処理の一例として、人物の顔を検出する顔検出処理を行い、検出された人物の顔を含む領域を継ぎ目発生規制領域に設定して、継ぎ目を決定した。しかし、人物の顔に限らず、動物の顔を検出する顔検出処理を行い、検出された動物の顔を含む領域を継ぎ目発生規制領域に設定して、継ぎ目を決定するようにしてもよい。また、顔に限らず、人間や動物の体の部分（例えば手や足、胴体）を検出する体検出処理を行い、検出された体の部分を継ぎ目発生規制領域に設定して、継ぎ目を決定するようにしてもよい。
【０２２７】
また、他の物体検出処理として、撮影シーンに存在する様々な物体（例えば建物や乗り物）を検出する処理を行い、このようにして検出された物体を含む領域を継ぎ目発生規制領域に設定して、継ぎ目を決定するようにしてもよい。
【０２２８】
また、スマートフォン２の実施例において、ユーザーがタッチパネル２５０に対する指での塗りつぶし操作を行うことを可能とし、ユーザーによって塗りつぶされた領域を継ぎ目発生規制領域に設定して、継ぎ目を決定するようにしてもよい。
【０２２９】
［５−６．記録媒体］
上記の実施形態では、画像生成に係る各種のプログラムやデータが、画像生成装置１の記憶部や、スマートフォン２の記憶部８００に記憶されており、処理部がこれらのプログラムを読み出して実行することで、上記の各実施形態における画像処理が実現された。この場合、各装置の記憶部は、ＲＯＭやＥＥＰＲＯＭ、フラッシュメモリ、ハードディスク、ＲＡＭといった内部記憶装置の他に、メモリカード（ＳＤカード）やコンパクトフラッシュ（登録商標）カード、メモリスティック、ＵＳＢメモリ、ＣＤ−ＲＷ（光学ディスク）、ＭＯ（光磁気ディスク）といった記録媒体（記録メディア、外部記憶装置）を有していてもよく、これらの記録媒体に上記の各種のプログラムやデータを記憶させることとしてもよい。
【０２３０】
図２６は、この場合における記録媒体の一例を示す図である。
スマートフォン２には、メモリカード９を挿入するためのカードスロット９１０が設けられており、カードスロット９１０に挿入されたメモリカード９に記憶された情報を読み取る又はメモリカード９に情報を書き込むためのカードリーダライタ（Ｒ／Ｗ）９２０が設けられている。カードリーダライタ９２０は、処理部１００の制御に従って、記憶部８００に記録されたプログラムやデータをメモリカード９に書き込む動作を行う。メモリカード９に記録されたプログラムやデータは、スマートフォン２以外の外部装置（例えばパソコン）で読み取ることで、当該外部装置において上記の実施形態における合成画像の生成を実現することが可能に構成されている。
【符号の説明】
【０２３１】
１    画像生成装置
２    スマートフォン
９    メモリカード
１０    入力部
１１    基準画像選択部
１２    マッチング部
１３    変換行列推定部
１４    位置合わせ部
１５    差分値算出部
１６    継ぎ目決定部
１７    制約条件設定部
１８    画像合成部
２０    カメラ
２５    入力済画像メモリ
１００  処理部
２００  操作部
２５０  タッチパネル
３００  表示部
４００  音出力部
５００  撮像部
６００  通信部
７００  時計部
８００  記憶部
９１０  カードスロット
９２０  カードリーダライタ
【図１】
0006450589.tif 000009
【図２】
0006450589.tif 000010
【図３】
0006450589.tif 000011
【図４】
0006450589.tif 000012
【図５】
0006450589.tif 000013
【図６】
0006450589.tif 000014
【図７】
0006450589.tif 000015
【図８】
0006450589.tif 000016
【図９】
0006450589.tif 000017
【図１０】
0006450589.tif 000018
【図１１】
0006450589.tif 000019
【図１２】
0006450589.tif 000020
【図１３】
0006450589.tif 000021
【図１４】
0006450589.tif 000022
【図１５】
0006450589.tif 000023
【図１６】
0006450589.tif 000024
【図１７】
0006450589.tif 000025
【図１８】
0006450589.tif 000026
【図１９】
0006450589.tif 000027
【図２０】
0006450589.tif 000028
【図２１】
0006450589.tif 000029
【図２２】
0006450589.tif 000030
【図２３】
0006450589.tif 000031
【図２４】
0006450589.tif 000032
【図２５】
0006450589.tif 000033
【図２６】
0006450589.tif 000034