(57)【特許請求の範囲】
【請求項１】
撮影した複数の画像を位置合わせベクトルに従って位置合わせをして合成するための画像合成装置において、
前記複数の画像の撮影の経過時間を計測して取得するための経過時間取得手段と、
前記複数の画像の撮影における被写体領域の情報を取得するための被写体領域取得手段と、
撮影した各画像を複数の領域に分割し、分割された各領域の動きベクトルを検出するための動きベクトル検出手段と、
前記経過時間および被写体領域の情報を使用して、前記検出された動きベクトルの重み付けを行うための動きベクトル重み付け手段と、
前記重み付けられた動きベクトルを用いて前記位置合わせベクトルを算出する位置合わせベクトル算出手段を備えたことを特徴とする画像合成装置。
【請求項２】
前記動きベクトル重み付け手段は、前記取得された経過時間と予め設定された第１の時間とを比較し、前記比較の結果にしたがって前記動きベクトル重み付け手段による重み付けを変更することを特徴とする請求項１記載の画像合成装置。
【請求項３】
前記第１の時間を設定する設定手段を備え、前記設定手段は前記複数の画像の撮影モードと撮影される被写体の特徴の情報を取得し、前記取得された撮影モードと被写体の特徴の情報に従って前記第１の時間を決定することを特徴とする請求項２記載の画像合成装置。
【請求項４】
前記経過時間取得手段は、前記複数の画像の撮影時の被写体ロックの時点から撮影指示までの経過時間を計測して取得することを特徴とする請求項１乃至３のいずれか一項に記載の画像合成装置。
【請求項５】
前記経過時間取得手段は、前記複数の画像の撮影時の被写体の検出から撮影指示までの経過時間を計測して取得することを特徴とする請求項１乃至３のいずれか一項に記載の画像合成装置。
【請求項６】
前記経過時間取得手段が計測した経過時間が予め設定された第２の時間より長くなったときは、前記被写体領域取得手段は、被写体領域の情報を再度取得し、前記経過時間取得手段は経過時間を再計測することを特徴とする請求項１乃至５のいずれか一項に記載の画像合成装置。
【請求項７】
前記経過時間取得手段が計測した経過時間が長いほど、前記動きベクトル重み付け手段による各動きベクトルへの重みはそれぞれある値に収束することを特徴とする請求項１乃至６のいずれか一項に記載の画像合成装置。
【請求項８】
撮影した複数の画像を位置合わせベクトルに従って位置合わせをして合成するための画像合成装置の制御方法において、
前記複数の画像の経過時間を計測して取得するための経過時間取得ステップと、
前記複数の画像の撮影における被写体領域の情報を取得するための被写体領域取得ステップと、
撮影した各画像を複数の領域に分割し、分割された各領域の動きベクトルを検出するための動きベクトル検出ステップと、
前記経過時間および被写体領域の情報を使用して、前記検出された前記動きベクトルの重み付けを行うための動きベクトル重み付けステップと、
前記重み付けられた動きベクトルを用いて前記位置合わせベクトルを算出する位置合わせベクトル算出ステップを備えたことを特徴とする制御方法。
【請求項９】
コンピュータを、
撮影した複数の画像を位置合わせベクトルに従って位置合わせをして合成するための画像合成装置の制御方法において、
前記複数の画像の撮影の経過時間を計測して取得するための経過時間取得手段、前記複数の画像の撮影における被写体領域の情報を取得するための被写体領域取得手段、撮影した各画像を複数の領域に分割し、分割された各領域の動きベクトルを検出するための動きベクトル検出手段、前記経過時間および被写体領域の情報を使用して、前記検出された前記動きベクトルの重み付けを行うための動きベクトル重み付け手段、および前記重み付けられた動きベクトルを用いて前記位置合わせベクトルを算出する位置合わせベクトル算出手段として機能させるプログラム。
【請求項１０】
請求項９のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【請求項１１】
コンピュータを、請求項１乃至７のいずれか一項に記載された画像合成装置の各手段として機能させるプログラム。
【請求項１２】
コンピュータを、請求項１乃至７のいずれか一項に記載された画像合成装置の各手段として機能させるプログラムを格納した記憶媒体。
【請求項１３】
画像を撮影するための撮像手段と、
請求項１乃至７のいずれか一項に記載の画像合成装置と、
前記被写体領域取得手段が取得する前記被写体領域の情報に基づいて被写体追尾処理を行なうための被写体追尾手段を備えた撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影した複数の画像を位置合わせした上で合成する画像合成装置に関する。
【背景技術】
【０００２】
従来、撮影した複数の画像を合成する場合、画像のブレ補正等において画像の動きベクトルを検出する方法として、ブロックマッチング法や相関演算に基づく相関法が知られている。ブロックマッチング法は、入力された画像信号を複数の適当な大きさのブロック（例えば８画素×８ライン）に分割し、このブロック単位で現在のフィールド（又はフレーム）と前のフィールドとの画素値の差分を計算する。そして、この差分に基づいて、現在のフィールドのブロックに対して相関の高い前のフィールドのブロックを探索し、ブロックの動きベクトルを画面間の相対的なズレとして求める。
【０００３】
例えば、特許文献１および特許文献２は、それぞれ動きベクトルの選択方法および重み付けの方法について開示している。特許文献１は、画像領域の大きさや、ベクトルの安定度を指標にした代表的な動きベクトル（画像全体の動きベクトル）の選択方法を示している。特許文献２は、被写体領域を検出して主要被写体の重要度を考慮し、主要被写体のブレを低減させるような動きベクトル（補正ベクトル）を算出する方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２５１４７４号公報
【特許文献２】特開２００９−１８８８３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来は、撮影した複数の画像を合成する場合、まず画像のブレ補正等のために画像の所定領域にたいして動きベクトルを検出し、検出された動きベクトルに重み付けを行なって位置合わせ用のベクトルを合成している。この場合の重み付けは、画像領域の特徴や被写体を検出した被写体領域に対応した重み付けを用いていた。
【０００６】
ところで、撮影時には操作者による第1のシャッタースイッチの操作（例えば半押し）に応じて被写体の検出、フォーカス制御、適正露出制御など行い、第２シャッタースイッチの操作（例えば全押し）に応じて本撮影が行われる。この場合、撮影画像の被写体位置、被写体の特徴などの情報は、操作者が第1のシャッタースイッチを操作して被写体をロックした際に取得されるのが一般的である。
【０００７】
図１および図２は従来の方法による動きベクトルの重み付け生成と第１および第２のシャッタースイッチの操作との関係を説明するための図である。
【０００８】
操作者が第１のシャッタースイッチを操作するとＡＦ制御、ＡＥ制御１０１、２０１を行い被写体ロック１０２、２０２（ＡＦロック、ＡＥロック状態）となる。次に操作者が第２シャッタースイッチを操作すると静止画撮影１０３、２０３が行われる。このときの第１のシャッタースイッチの操作からの経過時間は１１１、２１１である。１０４、２０４は第１のシャッタースイッチの操作時点の撮影画角であり、被写体が１０９、２０９、検出被写体領域が１０７、２０７である。被写体領域１０７、２０７はＡＦ制御またはＡＥ制御時に検出された例えば主被写体領域のことである。また１０５、２０５は第２のシャッタースイッチの操作および被写体ロック１０２、２０２の時点での撮影画角である。このときの実際の被写体が１１０、２１０であり、検出被写体領域が１０８、２０８である。１０６、２０６は合成時の位置合わせ用の動きベクトルの重み付けテーブルであり、数字が大きいほどこの領域の動きベクトルの重み付けが大きく、数字が小さいほど重み付けは小さい。重み付けテーブル１０６、２０６は被写体ロック１０２、２０２の時点での被写体情報（位置、サイズ、特徴など）を基に生成され、被写体の領域にたいしてより大きな重み付けが与えられる。
【０００９】
時間１１１のように、第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの経過時間（ロック状態）が短い場合は、 被写体１０９が時間１１１の経過後でも１１０とほぼ同じ位置にあり移動していないと考えられる。従って、生成される重み付けテーブル２０６は実際の被写体１１０の位置に対して適正に対応している。しかし、時間２１１のように、第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの経過時間（ロック状態）が長い場合は、被写体２０９は時間２１１の経過後には２１０の位置に移動するようなことがある。このような場合、生成される動きベクトルの重み付けテーブル２０６は、実際の被写体２１０の位置に対して適正に対応してないという問題があった。
【課題を解決するための手段】
【００１０】
上述の課題を解決するため、本発明によれば、撮影した複数の画像を位置合わせベクトルに従って位置合わせをして合成するための画像合成装置は、撮影の経過時間を計測し、複数画像の撮影における被写体領域の情報を取得し、撮影した各画像を複数の領域に分割し、各分割領域の動きベクトルを検出し、経過時間および被写体領域の情報を使用して、検出された動きベクトルの重み付けを行い、重み付けられた動きベクトルを用いて位置合わせベクトルを算出するよう構成されている。
【発明の効果】
【００１１】
本発明によれば、第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの経過時間に被写体が移動しても、動きベクトルの重み付けテーブルを移動後の被写体の位置に適正に対応するよう生成することが可能となる。これにより高い位置合わせ精度で複数画像の合成が行え、合成された画像の画質を向上させることが可能となる。また常に被写体の検出を行う場合に比べて、消費電力を極力抑えることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの経過時間が短い場合の動きベクトルの重み付けテーブルの従来例を説明するための図。
【図２】第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの経過時間が長い場合の動きベクトルの重み付けテーブルの従来例を説明するための図。
【図３】本発明の実施形態に係わる画像合成装置を有する撮像装置のブロック図。
【図４】画像間の動きベクトルを検出するためのブロックマッチングを説明するための図。
【図５】本発明に係わる第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの経過時間と撮影処理との関係を説明するための図。
【図６】主被写体と主被写体領域を説明するための図。
【図７】本発明に係わる第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの撮影処理のフローチャートを示す図。
【図８】合成するための複数画像を撮影するためのフローチャートを示す図。
【図９】撮影された複数の画像の合成処理のフローチャートを示す図。
【図１０】動きベクトルの検出領域であるブロックを説明するための図。
【図１１】動きベクトルの重み付けテーブルの構成を説明するための図。
【図１２】重み付けの基本テーブルの生成を説明するための図。
【図１３】経過時間の閾値Ｔ０の求め方の一例を説明するための図。
【図１４】経過時間ＴとウェイトＷｉの関係を示す図。
【図１５】第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの経過時間が短い場合に生成される本発明に係わる重み付けテープルを説明するための図。
【図１６】第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの経過時間が長い場合に生成される本発明の重み付けテーブルの一つの例を説明するための図。
【図１７】第１のシャッタースイッチの操作から第２のシャッタースイッチの操作までの経過時間が長い場合に生成される本発明の重み付けテーブルの他の例を説明するための図。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の好適な実施形態を説明する。
【００１４】
本実施形態は、本発明をデジタルカメラなどの撮像装置に適用した例である。
【００１５】
図３は、本発明の画像合成装置を適用した撮像装置３００の構成例を示すブロック図である。
【００１６】
図３において、３０３はフォーカスレンズを含む撮影レンズ、３０１は絞り機能を備えるシャッター、３２２は光学像を電気信号に変換するＣＣＤやＣＭＯＳ素子等で構成される撮像部である。３２３はＡ／Ｄ変換器であり、アナログ信号をデジタル信号に変換する。Ａ／Ｄ変換器３２３は、撮像部３２２から出力されるアナログ画像信号をデジタル画像信号に変換するために用いられる。３０２はバリアであり、デジタルカメラ３００の撮影レンズ３０３を含む撮像部を覆うことにより、撮影レンズ３０３、シャッター３０１、撮像部３２２を含む撮像系の汚れや破損を防止する。
【００１７】
３２４は画像処理部であり、Ａ／Ｄ変換器３２３からのデータ又はメモリ制御部３１５からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理などの画像処理を行う。また、画像処理部３２４は、システム制御部３５０による制御の下で撮像した画像データに所定の演算処理を行ない、得られた演算結果に基づいてシステム制御部３５０が露光制御、測距制御を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＥＦ（フラッシュプリ発光）処理が行われる。画像処理部３２４では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてＴＴＬ方式のＡＷＢ（オートホワイトバランス）処理も行っている。
【００１８】
Ａ／Ｄ変換器３２３からの出力データは、画像処理部３２４及びメモリ制御部３１５を介して、或いは、メモリ制御部３１５を介してメモリ３３２に直接書き込まれる。メモリ３３２は、撮像部３２２によって得られたデータをＡ／Ｄ変換器３２３によりデジタルデータに変換された画像データや、表示部３２８に表示するための画像データを格納する。メモリ３３２は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
【００１９】
また、メモリ３３２は画像表示用のメモリ（ビデオメモリ）を兼ねている。３１３はＤ／Ａ変換器であり、メモリ３３２に格納されている画像表示用のデータをアナログ信号に変換して表示部３２８に供給する。こうして、メモリ３３２に書き込まれた表示用の画像データはＤ／Ａ変換器３１３を介して表示部３２８により表示される。表示部３２８は、ＬＣＤ等の表示器上に、Ｄ／Ａ変換器３１３からのアナログ信号に応じた表示を行う。
【００２０】
不揮発性メモリ３５６は、電気的に消去・記録可能なメモリであり、例えばＥＥＰＲＯＭ等が用いられる。不揮発性メモリ５６には、システム制御部５０の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためにシステム制御部３５０がロードして実行するプログラムのことである。
【００２１】
３５０はシステム制御部であり、デジタルカメラ３００全体を制御する。前述した不揮発性メモリ３５６に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。３５２はシステムメモリであり、ＲＡＭが用いられる。システムメモリ３５２には、システム制御部３５０の動作用の定数、変数、不揮発性メモリ３５６から読み出したプログラム等を展開する。また、システム制御部はメモリ３３２、Ｄ／Ａ変換器３１３、表示部３２８等を制御することにより表示制御も行う。
【００２２】
加速度センサー３８２は、デジタルカメラ３００が物理的な加速度を加えられたかどうか、またその方向などを検知できるセンサーである。加速度センサーの制御はシステム制御部３５０によって行われ、検知された情報は後述する本実施形態の処理によって適宜扱われる。
【００２３】
モード切替スイッチ３６０、第１のシャッタースイッチ３６２、第２のシャッタースイッチ３６４、操作部３７０はシステム制御部３５０に各種の動作指示を入力するための操作手段である。
【００２４】
モード切替スイッチ３６０は、システム制御部３５０の動作モードを静止画記録モード、動画記録モード、再生モード等のいずれかに切り替える。第１のシャッタースイッチ３６２は、デジタルカメラ３００に設けられたシャッターボタン３６１の操作途中、いわゆる半押し（撮影準備指示）でＯＮとなり第１のシャッタースイッチ信号ＳＷ１を発生する。第１のシャッタースイッチ信号ＳＷ１により、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の動作が開始される。
【００２５】
第２のシャッタースイッチ３６４は、シャッターボタン３６１の操作完了、いわゆる全押し（撮影指示）でＯＮとなり、第２のシャッタースイッチ信号ＳＷ２を発生する。システム制御部３５０は、第２のシャッタースイッチ信号ＳＷ２により、撮像部３２２からの信号読み出しから記録媒体３９０に画像データを書き込むまでの一連の撮影処理の動作を前記プログラムに従って開始する。
【００２６】
操作部３７０の各操作部材は、表示部３２８に表示される種々の機能アイコンを選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部３２８に表示される。利用者は、表示部３２８に表示されたメニュー画面を４方向ボタンやＳＥＴボタンとを用いて操作することにより直感的に各種設定を行うことができる。
【００２７】
３８０は電源制御部であり、電池検出回路、ＤＣ−ＤＣコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部３８０は、その検出結果及びシステム制御部３５０の指示に基づいてＤＣ−ＤＣコンバータを制御し、必要な電圧を必要な期間、記録媒体３９０を含む各部へ供給する。
【００２８】
３３０は電源部であり、アルカリ電池やリチウム電池等の一次電池、ＮｉＣｄ電池やＮｉＭＨ電池、Ｌｉ電池等の二次電池、ＡＣアダプター等からなる。３１８はメモリカードやハードディスク等の記録媒体３９０に対するインターフェースである。記録媒体３９０は、メモリカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
【００２９】
以下、上述したデジタルカメラで本発明の画像合成装置がどのように実施されるかを説明する。まず、撮影機能の概要を説明し、次いで撮影処理の詳細を説明して、本発明の画像合成、特に重み付けテーブルの生成に使用する情報を取得する構成を記載する。
【００３０】
上述したデジタルカメラ３００では中央１点ＡＦや顔ＡＦを用いた撮影が可能であるとする。中央１点ＡＦとは撮影画面内の中央位置１点に対してＡＦを行うことである。また、顔ＡＦとは顔検出機能によって検出された撮影画面内の顔に対してＡＦを行うことである。
【００３１】
ここでは動きベクトルの検出の検出領域の設定に関連する顔検出機能について説明する。システム制御部３５０は顔検出対象の画像データを画像処理部３２４に送る。システム制御部３５０の制御下で画像処理部３２４は、当該画像データに水平方向バンドパスフィルタを作用させる。さらに、システム制御部３５０の制御下で画像処理部３２４は処理された画像データに垂直方向バンドパスフィルタを作用させる。これら水平及び垂直方向のバンドパスフィルタにより、画像データからエッジ成分が検出される。
【００３２】
その後、システム制御部３５０は、検出されたエッジ成分に対するパターンマッチングにより、目及び鼻、口、耳の候補群を抽出する。そして、システム制御部３５０は、抽出された目の候補群の中から、予め設定された条件（例えば２つの目の距離、傾き等）を満たすものを、目の対と判断し、目の対があるもののみ目の候補群として絞り込む。そして、システム制御部３５０は、絞り込まれた目の候補群とそれに対応する顔を形成する他のパーツ（鼻、口、耳）を対応付け、また、予め設定した非顔条件フィルタを通すことで、顔を検出する。システム制御部３５０は、顔の検出結果に応じて上記顔情報を出力し、処理を終了する。このとき、顔の数などの特徴量をメモリ３５２に記憶する。
【００３３】
以上のようにライブビュー表示あるいは再生表示される画像データを画像解析して、画像データの特徴量を抽出して被写体情報を検出すること（被写体領域取得）が可能である。本実施形態では被写体情報として顔情報を例に挙げたが、これ以外にも赤目判定や目の検出、目つむり検出、笑顔検出等によって得られる様々な情報がある。
【００３４】
なお、顔ＡＦと同時に顔ＡＥ，顔ＦＥ、顔ＷＢを行うことができる。顔ＡＥとは検出された顔の明るさに合わせて、画面全体の露出を最適化することである。顔ＦＥとは検出された顔を中心にフラッシュの調光をすることである。顔ＷＢとは、検出された顔の色に合わせて画面全体のＷＢを最適化することである。
【００３５】
上述したデジタルカメラ３００では、顔検出機能によって検出された撮影画面内の領域を動きベクトル検出に利用する。このようにすると、顔検出による被写体の追尾処理が可能となる。表示用画像など、時系列で連続して撮像する場合、現在のフレームと１つ前の連続したフレーム画像の被写体領域に対して動きベクトルの検出を行い、この結果を被写体領域の移動量として被写体領域の位置を逐次修正することで被写体追尾処理を行う。動きベクトル量はシステム制御部５０によって現フレームと１つ前のフレームの被写体領域データに対するブロックマッチングなど相関演算を利用して求める。  
【００３６】
図４は、相関演算処理の一例であるブロックマッチングの例を示す。図４において、ブロックマッチングの対象となる２つの画像のうちの一つの画像４００のベースブロック４０２内の画像が、他方の画像４０１の探索範囲４０５内の画像と最も近似する位置を探索する。前記最も近似する位置とは、矩形領域の全画素に対してＳＡＤ演算を行った結果、最小となる位置である。ここで、本明細におけるＳＡＤ値とは、差の絶対値の総和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）のことである。探索によって求められた撮像位置の座標とベースブロック４０２の座標の差分が動きベクトルとなる。
【００３７】
探索は、以下の手順で行う。
【００３８】
画像４０１のベースブロック４０２の射影イメージ位置であるベースブロック４０４の射影イメージを中心とする規定の範囲である探索範囲４０５の内側にあり、かつベースブロック４０２と同一サイズであるターゲットブロック４０３を決める。ターゲットブロック４０３とベースブロック４０２をそれぞれ切り出し、ＳＡＤ値を求める。探索範囲４０５の内側としてありえる全てのターゲットブロック４０３についてＳＡＤ値を求め、このＳＡＤ値が最小となるターゲットブロック４０３の位置を求めこれを前記撮像位置の座標とする。ここで求まった撮像位置の座標とベースブロック４０２の座標との差分が求める動きベクトル量となる。
【００３９】
図５は静止画撮影時の撮影操作と撮影処理の関連を説明するための図である。操作者が第１のシャッタースイッチを操作するとＡＦ制御（オートフォーカス制御）およびＡＥ制御（自動露出制御）５０１が行われ、撮影条件を決定した上で被写体ロック５０２（ＡＦロック、ＡＥロック状態）とする。次に操作者が第２のシャッタースイッチを操作すると静止画撮影５０３が行われる。操作者によって第２のシャッタースイッチが操作されるまでは、被写体ロック５０２（ＡＦロック、ＡＥロック状態）は維持される。このときの第１のシャッタースイッチの操作からの経過時間は５１１である。５０４は、第１のシャッタースイッチの操作および被写体ロック５０２の時点での撮影画角であり、被写体が５０９、検出被写体領域が５０７で示されている。被写体領域５０７はＡＦ制御あるいはＡＥ制御時に検出された主被写体領域のことである。例えば顔検出処理によって顔が検出された場合は、顔検出領域が主被写体領域５０７となる。
【００４０】
図６は被写体ロックにおける主被写体領域を説明するための図である。
【００４１】
図６（ａ）は被写体である人物６０２の顔が顔検出処理によって撮影画像６００において検出された例を示す。顔検出された領域が６０１である。この場合、顔検出領域６０１が主被写体領域となる。また主被写体情報として顔領域の位置、サイズ、目の位置、口の位置、顔の角度などが得られる。
【００４２】
図６（ｂ）は被写体６０４が人物でない場合の例である。６０３が、撮影画像６０５のＡＦ処理の結果としての合焦領域である。この場合、主被写体領域は合焦領域６０３となる。また主被写体情報として合焦領域の位置、サイズが得られる。
【００４３】
図７は操作者による第１のシャッタースイッチ３６２の操作による被写体ロックから第２のシャッタースイッチの操作（撮影完了）に至る静止画撮影までの処理を説明するためのフローチャートを示す図である。この処理は、不揮発性メモリ５６に記憶されたプログラムに基づいてシステム制御部３５０によって実行される。
ステップＳ７０１では第１のシャッタースイッチが操作されたかどうかを判別し、操作が検知されなかった場合はステップＳ７０１に戻り、検知された場合にはステップＳ７０２に進む。ステップＳ７０２は被写体検出処理である。例えば顔検出など被写体の特徴検出を行う。これにより被写体の位置、サイズ、特徴などの情報を得る。例えば顔検出で顔が検出された場合、顔の位置、大きさ、目の位置、口の位置などの情報が得られる。次にステップＳ７０３でオートフォーカス処理（ＡＦ処理）を行なう。ＡＦ処理では例えばステップＳ７０２で得た被写体情報を基に主被写体を特定し、この領域に対して合焦処理を行う。なお、主被写体が検出できない場合は予め定められた１つの固定領域、または複数の固定領域から例えば中距離を中心にして合焦処理を行うスポットAF処理または多点AF処理を行う。次にステップＳ７０４で自動露出処理（ＡＥ処理）を行なう。Ｓ７０２の被写体検出で得た被写体位置、または合焦処理で選択された合焦処理用の固定領域を基に適正な露出で撮影が行えるよう露出制御を行う。次に処理をステップＳ７０５の被写体ロックに進める。Ｓ７０２での被写体検出、Ｓ７０３でのＡＦ処理などで得た被写体の情報を被写体ロック時刻（現在時刻）とともにシステムメモリ３５２に保存し、ステップＳ１０３のＡＦ処理での合焦状態、ステップＳ７０４のＡＥ処理での適正露出状態を保持する。次にステップS７０６では被写体ロックで捕らえた被写体の追尾処理を行なう。ステップS７０６の被写体追尾処理は、ステップＳ７０２の被写体検出処理で得た主被写体領域に対して前述した動きベクトルの検出に基づいて行なわれる。例えば表示用撮像画像の時系列で現在フレームと１つ前のフレームの連続した撮像画像の主被写体領域に対してＳＡＤ値を利用した動きベクトル検出処理によって動きベクトルを求める。次いで、得られた動きベクトル量だけ主被写体領域の位置を修正する。さらにこれを後続のフレームに対して繰り返すことにより、主被写体領域が連続した表示用撮像画像上を移動してもこれを追尾することができる。次にステップＳ７０７では加速度センサーによってある加速度Ａｒ以上の加速度Ａが検知されたか判別する。Ａｒ以上の加速度が検知された場合は被写体検出Ｓ７０２に進み被写体検出Ｓ７０２、ＡＦ処理Ｓ７０３、ＡＥ処理Ｓ７０４、被写体ロックＳ７０５の一連の処理を再度行う。Ａｒ以上の加速度が検知されなかった場合はステップＳ７０８に進む。ステップＳ７０８ではステップＳ７０５で保存した被写体ロック時刻と現在時刻との差である経過時間Ｔと予め（経過時間取得）、設定されている閾値Ｔｒ（第２の時間）を比較する。経過時間Ｔが閾値Ｔｒを超えた場合はステップＳ７０２の被写体検出処理に進み、被写体検出Ｓ７０２、ＡＦ処理Ｓ７０３、ＡＥ処理Ｓ７０４、被写体ロックＳ７０５の一連の処理を再度行う。従って、経過時間Ｔも再度計測して取得される。経過時間Ｔが所定の閾値Ｔｒを超えていない場合はステップＳ７０９に進む。ステップＳ７０９では第２のシャッタースイッチが操作なされたかどうかを判別し、操作されなかった場合はステップＳ７０６の被写体追尾処理に戻り再度被写体追尾処理を行う。操作された場合にはステップＳ７１０に進む。ステップ７１０では第２のシャッタースイッチが操作なされた時刻と被写体ロック時刻との差である経過時間Ｔをシステムメモリ３５２に保存する。ステップＳ７１１は撮影処理であり前述のように撮像部３２２を介して取得された画像がメモリ３３２に書き込まれる。画像合成を行う撮影の場合は複数回連続して撮影処理が行われてメモリ３３２に撮影された複数の画像が記憶される。例えばN枚の画像合成を行うためＮ回連続撮影した場合は、メモリ３３２にＮ枚の画像データが記憶される。
【００４４】
図８は、撮影した複数の画像を合成する場合のステップＳ７１１での撮影処理のフローチャートを示す図である。ここでNは連続撮影枚数を示し、N枚の画像の合成を行うためにＮ回連続して撮影を行う。
【００４５】
ステップＳ８０１でｉ＝１と初期化する。ここでｉは撮影枚数のカウント値である。次にステップＳ８０２に進む。ステップＳ８０２では撮影処理を行なう。撮影処理Ｓ８０２はｉ番目の1枚分の画像の撮影処理である。前述のように撮像部３２２などを介して画像データを取得する。次にステップＳ８０３に進む。ステップＳ８０３では撮影処理Ｓ８０２で取得した画像データをｉ番目の画像データとしてメモリ３３２に記憶する。次にステップＳ８０４に進む。ステップＳ８０４では撮影枚数ｉに１を足しステップＳ８０５に進む。ステップＳ８０５では撮影枚数ｉがＮ以下かどうかを判別し、Ｎ以下の場合はステップＳ８０２の撮影処理に戻り、ｉがＮより大きい場合は一連の撮影処理を終了する。このようにＮ回連続して撮影を行ない、Ｎ枚の画像データを取得してメモリ３３２に記憶する。
【００４６】
次に、図９乃至１１を参照して本発明の画像合成処理を説明する。
【００４７】
図９はメモリ３３２に記憶されたＮ枚の画像データを合成して１枚の画像データを生成するための画像合成処理のフローチャートを示す図である。図１０は本実施形態での動きベクトル検出ステップＳ３０６における検出領域を示す図である。撮影画像１０００をＭ個のブロック領域１００１（１〜Ｍ）に分割して各領域にたいして動きベクトル検出を行う。例えば画像１と画像ｋのずれ量である動きベクトルはＭ個の動きベクトルＶｍ（１〜Ｍ）として取得する。図１１は動きベクトルの重み付けテーブルを示す図である。動きベクトルの重み付けテーブル１１０１はM個の重み付けWｉで構成される。これらは、図１０のＭ個の動きベクトル検出領域１００１のそれぞれに対応している。従って、動きベクトルの重み付けは重み付けWｉ（ｉ＝１〜Ｍ）で管理される。
【００４８】
図９を参照すると、本発明の画像合成処理では、まずステップＳ９０１で処理枚数ｋをｋ＝１に初期化する。次にステップＳ９０２でｋ枚目の撮影画像データがメモリ３３２に記憶されているかどうかを確認する。メモリ３３２にｋ枚目の画像データが記憶されていない場合はステップＳ９０２に戻る。メモリ３３２にｋ枚目の画像データが記憶されている場合はステップＳ９０３に進む。ステップＳ９０３では取得された画像データを画像処理する。この処理は前述した画像処理部３２４による処理である。次にステップＳ９０４で撮影枚数ｋが１か判別する。ｋ＝１で撮影が１枚目の場合はステップＳ９０５に進む。ｋが１でない場合はステップＳ９０６に進む。ステップＳ９０５では動きベクトルの重み付けテーブルＷｍ（ｍ＝１〜Ｍ））の生成を行う。ここでの処理の詳細は後述する。動きベクトルの重み付けテーブルは検出された動きベクトルとともにステップＳ９０７の位置合わせベクトルの算出時に使用される。ステップＳ９０６では動きベクトル検出を行う。１枚目の画像データとｋ枚目の画像データのずれ量を動きベクトルＶｍとして求める。このとき画像を領域分割し、画像の領域ごとに動きベクトルＶｍ（ｍ＝１〜Ｍ）を求める。次にステップＳ９０７で位置合わせベクトル算出を行う。位置合わせベクトルＶＣはステップＳ９０６で検出した動きベクトルＶｍ（ｍ＝１〜Ｍ）とステップＳ９０５で生成された動きベクトル重み付けテーブルから位置合わせベクトルＶＣを算出する。次にステップＳ９０８に進み、ステップＳ９０７で算出したベクトルＶＣを基に位置ずれ補正し合成画像（１〜ｋ−１）と画像ｋの画像合成処理を行う。ここでの画像合成処理の詳細は後述する。位置ずれ補正は例えば画像の回転と平行移動の組み合わせ処理（アフィン変換処理）で行う。次にステップＳ９０９に進み、撮影枚数ｋに１を加える（ｋ＝ｋ＋１）。次にステップＳ９１０に進みｋと撮影枚数Ｎを比較し、ｋがＮ以下の場合はステップＳ９０２に戻る。ｋがＮより大きい場合は、Ｎ枚の画像合成処理を行ったこととなり、一連の画像合成処理を終了する。次にステップＳ９１１に進み合成画像の圧縮処理を行なう。
【００４９】
以下、図１２乃至１４を参照して動きベクトルの重み付けテーブルの生成ステップＳ９０５の詳細を説明する。
【００５０】
最初に、重み付けテーブルＷｉの生成の元になる基本テーブルの生成を説明する。本発明の動きベクトル重み付けテーブルは、主被写体領域に基づいて生成された動きベクトル重み付け基本テーブルを用いて、撮影時に保存した経過時間Ｔに従って生成される。
【００５１】
図１２は動きベクトルの重み付け基本テーブルの生成ステップＳ９０５を説明するための図である。図において、１２０１は主被写体領域である。図６の顔検出領域６０１や合焦領域６０３が主被写体領域として定義される。１２０２は複数のブロック領域のうちの一つとしての動きベクトル検出領域である。１２０３は一つの動きベクトル検出領域１２０２に占める主被写体領域１２０１を示す。例えば、検出領域１２０２の領域に占める主被写体領域１２０３の割合から基本重み付けＢＷｉを求めることにより重み付けの基本テーブルＢＷｉ（ｉ＝１〜Ｍ）を生成する。このとき各重み付けＢＷｉは次式１で求める。
ＢＷｉ＝ＢＷ０＋Ｋ×Ｓｉ      （１）
ここで、ＢＷ０は最小重み付け値、Ｋは重み付け係数、Ｓｉは検出領域１２０２の領域に占める主被写体領域１２０３の割合である。即ち、被写体を多く含むブロックほど基本重み付けが大きくなる。
【００５２】
次に動きベクトル重み付け基本テーブルＢＷｉ（ｉ＝１〜Ｍ）から重み付けテーブルＷｉ（ｉ＝１〜Ｍ）を求める。動きベクトルの重み付けＷｉは次式２で求める。
Ｗｉ＝（ＷＡ−ＢＷｉ）×Ｔ／Ｔ０＋ＢＷｉ  （Ｔ＜Ｔ０）、または
＝  ＷＡ                              （Ｔ≧Ｔ０）            （２）
ここで、Ｔは経過時間Ｔの保存ステップＳ７１０で取得された経過時間であり、Ｔ０は重み付けテーブルが全平均となるまでの経過時間であり、後述するように撮影条件に基づいて予め設定されている（第１の時間）。Ｔ≧Ｔ０ではＷｉ＝ＷＡとなり、重み付けテーブルＷｉ（１〜Ｍ）は全平均となる。ＷＡは平均重み付け値、ＢＷｉは基本テーブルの基本重み付けである。
【００５３】
ここで、上記Ｔ０について説明する。Ｔ０は被写体の特徴、撮影モードおよびＡＥ処理などで決まる撮影条件によって決定され、設定される値である。被写体の特徴などの情報の取得およびＴ０の設定は制御部３５０の制御によって行なわれる。
【００５４】
図１３に設定されるＴ０の一例を示す。主被写体が人／顔として検知されたか、ＡＦ処理による合焦領域の個数、撮影モードがポートレート、夜景、ランドスケープ、スポーツなどのうちどれか、およびＡＥ処理結果のシャッタースピードで決まるＴｖ値からＴ０を決定する。図１３の表中の式がＴ０を求める式である。ＮおよびＫは既に説明したとおり、それぞれ合成される画像の枚数および重み付け係数である。
【００５５】
図１４は、式２で表される経過時間Ｔと重み付けＷｉとの関係を示すグラフである。Ｔ＝０ではＷｉ＝ＢＷｉである。時間が経過するに従ってＷｉはＷＡに近づきＴ＝Ｔ０になるとＷｉ＝ＷＡとなる。Ｔ≧Ｔ０ではＷｉ＝ＷＡであることがわかる。すなわち時間が経過すると基本重み付けＢＷｉからＷＡで定義された固定重み付けとなることを示す。固定重み付けＷＡは例えば全てのＷｉが等しい全平均重み付けで定義される。もしくは中央を重点に重み付けＷｉが少し周辺より大きい値を持った中央重点重み付けで定義される。
【００５６】
次に位置合わせベクトルの算出Ｓ９０７について説明する。位置合わせベクトルＶＣはブロックごとに検出した動きベクトルＶｉと動きベクトル重み付けＷｉから求める。位置合わせベクトルＶＣは次式３によって表される。
【数１】
0005743729.tif 000002
【００５７】
図１５、図１６、図１７は本発明によって生成される動きベクトルの重み付けの例を説明するための図である。
【００５８】
操作者が第１のシャッタースイッチを操作するとＡＦ制御、ＡＥ制御１５０１、１６０１、１７０１を行い被写体ロック１５０２、１６０２、１７０２（ＡＦロック、ＡＥロック状態）となる。次に操作者が第２のシャッタースイッチを操作すると静止画撮影１５０３、１６０３、１７０３が行われる。このときの被写体ロックからの経過時間は１５１１、１６１１、１７１１である。１５０４、１６０４、１７０４は被写体ロックの時点での撮影画角であり、１５０９、１６０９、１７０９は被写体、１５０７、１６０７、１７０７は検出被写体領域である。被写体領域１５０７、１６０７、１７０７はＡＦ制御またはＡＥ制御時に検出された例えば主被写体領域のことである。また１５０５、１６０５、１７０５は被写体ロック１５０２、１６０２、１７０２および第２のシャッタースイッチの操作の時点での撮影画角である。このときの実際の被写体が１５１０、１６１０、１７１０、また検出被写体領域が１５０８、１６０８、１７０８である。１５０６、１６０６、１７０６は合成時の位置合わせ用の動きベクトルの重み付けテーブルであり、数字が大きいほどこの領域の動きベクトルの重み付けが大きくなり、数字が小さいほど重み付けは小さくなる。
【００５９】
図１５の場合、被写体ロックからの経過時間１５１１が短いため１２０５のように実際の被写体１２１０と主被写体領域１５０８のずれはない。あったとしてもわずかであると考えられる。従って、動きベクトルの重み付けテーブル１５０６は、重み付けが大きい場所と実際の被写体位置１５１０とが一致しているように生成される。
【００６０】
図１６のように被写体ロックからの経過時間１６１１が長くなると、動きベクトルの重み付けテーブル１６０６は主被写体領域１６０８の重み付けブロックの重み付けと被写体周辺のブロックの重み付けの大きさの比が重み付けテーブル１５０６と比較し小さくなる。被写体ロックからの経過時間１６１１が長くなると１６０５のように実際の被写体１６１０と主被写体領域１６０８がずれてくる場合があるが、このような場合も主被写体領域のウェイトが小さくなるため位置合わせベクトルＶを算出する際の影響度が小さくできる。
【００６１】
さらに、図１７のように被写体ロックからの経過時間１７１１が長くなると、動きベクトルの重み付けテーブル１７０６は主被写体領域１７０８を含む重み付けブロックの重み付けと被写体周辺のブロックの重み付けの大きさの比がますます小さくなる。そして、期間Ｔ０が経過すると重み付けは全体平均化される。
【００６２】
なお、以上の例は固定重み付けＷＡが全平均重み付けの場合をとって説明したが、中央重点ウェイトの場合なども同様に実現できる。
【００６３】
また、図１５、図１６、図１７の説明では被写体ロックの時点を経過時間の基点とした場合について説明したが、被写体の検出（図７のステップＳ７０２）を経過時間の基点にする場合も同様に説明できる。この場合、被写体の検出からの経過時間Ｔが所定の期間Ｔｒを経過すると、主被写体検出、ＡＦ処理、ＡＥ処理、およびこれら情報を保持開始する被写体ロックを再処理し、経過時間Ｔが再計測されることで同様に処理できる。ただし、期間Ｔｒは適宜設定しなおす。
【００６４】
さらに、被写体追尾を行った場合も経過時間が長くなるに従って被写体と主被写体領域の誤差が蓄積して徐々にずれていくことがある。よって、この場合も被写体の検出を基点とする経過時間Ｔがある期間Ｔｒを経過すると、主被写体検出、ＡＦ処理、ＡＥ処理、およびこれら情報を保持開始する被写体ロックを再処理し、経過時間Ｔが再計測されることで同様に処理できる。
【００６５】
このように、本発明によれば被写体情報が取得されてからの経過時間が長い場合にも最小限の処理負荷、消費電力で被写体に対して適正な動きベクトルの重み付けが行え、画像合成用ベクトルの精度が高めることができ、これにより合成画像の画質が向上できる。
【００６６】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても達成される。すなわち、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても本件発明の目的が達成されることは言うまでもない。
【００６７】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００６９】
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行うことによっても前述した実施形態の機能が実現される。この場合も本件発明に含まれることは言うまでもない。
【００７０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づく処理も本件発明に含まれる。すなわち、機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等がプログラムコードの指示に基づき実際の処理の一部又は全部を行って前述した実施形態の機能を実現する場合も本件発明に含まれることは言うまでもない。
【００７１】
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図１】
0005743729.tif 000003
【図２】
0005743729.tif 000004
【図３】
0005743729.tif 000005
【図４】
0005743729.tif 000006
【図５】
0005743729.tif 000007
【図６】
0005743729.tif 000008
【図７】
0005743729.tif 000009
【図８】
0005743729.tif 000010
【図９】
0005743729.tif 000011
【図１０】
0005743729.tif 000012
【図１１】
0005743729.tif 000013
【図１２】
0005743729.tif 000014
【図１３】
0005743729.tif 000015
【図１４】
0005743729.tif 000016
【図１５】
0005743729.tif 000017
【図１６】
0005743729.tif 000018
【図１７】
0005743729.tif 000019