(57)【要約】      （修正有）【課題】連写画像の作成性能を向上させることができる、画像処理装置を提供する。【解決手段】ＣＰＵ１８は、イメージセンサ１６によって捉えられた被写界を表す１８０フレームの画像データをＳＤＲＡＭ２６に取り込み、被写界に出現した１または２以上の動的物体を画像データの取り込み処理と並列して検出する。ＣＰＵ１８はまた、検出された１または２以上の動的物体の各々の出現時期を動的物体の検出処理に関連して特定し、ＳＤＲＡＭ２６に取り込まれた１８０フレームの画像データの中から９フレームの画像データを抽出する処理を被写界から検出された動的物体の数に相当する回数にわたって実行する。ＣＰＵ１８はさらに、被写界から検出された動的物体毎に画像データの抽出態様を調整する処理を動的物体の出現時期に基づいて実行する。【選択図】図２
2012049639.tif 000002
【特許請求の範囲】
【請求項１】
被写界を捉える撮像手段から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込み手段、
前記被写界に出現した１または２以上の動的物体を前記取り込み手段の取り込み処理と並列して検出する検出手段、
前記検出手段によって検出された１または２以上の動的物体の各々の出現時期を前記検出手段の検出処理に関連して特定する特定手段、
前記取り込み手段によって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を前記検出手段によって検出された動的物体の数に相当する回数にわたって実行する抽出手段、および
前記検出手段によって検出された動的物体毎に前記抽出手段の抽出態様を調整する処理を前記特定手段によって特定された出現時期に基づいて実行する調整手段を備える、画像処理装置。
【請求項２】
前記調整手段は前記出現時期の長さの増大に応じて抽出周期を延長する、請求項１記載の画像処理装置。
【請求項３】
前記抽出手段および前記調整手段の各々は前記取り込み手段による前記Ｋ個の画像の取り込みが完了した後に処理を実行する、請求項１または２記載の画像処理装置。
【請求項４】
前記検出手段は、前記被写界に割り当てられた複数のエリアにそれぞれ対応する複数の動きベクトルを前記撮像手段の出力に基づいて作成する作成手段、前記作成手段によって作成された複数の動きベクトルの各々が示す動きの共通性を判別する判別手段、および前記判別手段の判別結果に基づいて前記動的物体の数を測定する測定手段を含む、請求項１ないし３のいずれかに記載の画像処理装置。
【請求項５】
前記特定手段は前記作成手段によって作成された複数の動きベクトルと前記判別手段の判別結果とに基づいて前記出現時期を特定する、請求項４記載の画像処理装置。
【請求項６】
画像処理装置のプロセッサに、
被写界を捉える撮像手段から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込みステップ、
前記被写界に出現した１または２以上の動的物体を前記取り込みステップの取り込み処理と並列して検出する検出ステップ、
前記検出ステップによって検出された１または２以上の動的物体の各々の出現時期を前記検出ステップの検出処理に関連して特定する特定ステップ、
前記取り込みステップによって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を前記検出ステップによって検出された動的物体の数に相当する回数にわたって実行する抽出ステップ、および
前記検出ステップによって検出された動的物体毎に前記抽出ステップの抽出態様を調整する処理を前記特定ステップによって特定された出現時期に基づいて実行する調整ステップを実行させるための、画像処理プログラム。
【請求項７】
画像処理装置によって実行される画像処理方法であって、
被写界を捉える撮像手段から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込みステップ、
前記被写界に出現した１または２以上の動的物体を前記取り込みステップの取り込み処理と並列して検出する検出ステップ、
前記検出ステップによって検出された１または２以上の動的物体の各々の出現時期を前記検出ステップの検出処理に関連して特定する特定ステップ、
前記取り込みステップによって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を前記検出ステップによって検出された動的物体の数に相当する回数にわたって実行する抽出ステップ、および
前記検出ステップによって検出された動的物体毎に前記抽出ステップの抽出態様を調整する処理を前記特定ステップによって特定された出現時期に基づいて実行する調整ステップを備える、画像処理方法。
【請求項８】
メモリに保存された内部制御プログラムに従う処理を実行するプロセッサを備える画像処理装置に供給される外部制御プログラムであって、
被写界を捉える撮像手段から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込みステップ、
前記被写界に出現した１または２以上の動的物体を前記取り込みステップの取り込み処理と並列して検出する検出ステップ、
前記検出ステップによって検出された１または２以上の動的物体の各々の出現時期を前記検出ステップの検出処理に関連して特定する特定ステップ、
前記取り込みステップによって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を前記検出ステップによって検出された動的物体の数に相当する回数にわたって実行する抽出ステップ、および
前記検出ステップによって検出された動的物体毎に前記抽出ステップの抽出態様を調整する処理を前記特定ステップによって特定された出現時期に基づいて実行する調整ステップを前記内部制御プログラムと協働して前記プロセッサに実行させるための、外部制御プログラム。
【請求項９】
外部制御プログラムを入力する入力手段、および
前記入力手段によって入力された外部制御プログラムとメモリに保存された内部制御プログラムとに従う処理を実行するプロセッサを備える画像処理装置であって、
前記外部制御プログラムは、
被写界を捉える撮像手段から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込みステップ、
前記被写界に出現した１または２以上の動的物体を前記取り込みステップの取り込み処理と並列して検出する検出ステップ、
前記検出ステップによって検出された１または２以上の動的物体の各々の出現時期を前記検出ステップの検出処理に関連して特定する特定ステップ、
前記取り込みステップによって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を前記検出ステップによって検出された動的物体の数に相当する回数にわたって実行する抽出ステップ、および
前記検出ステップによって検出された動的物体毎に前記抽出ステップの抽出態様を調整する処理を前記特定ステップによって特定された出現時期に基づいて実行する調整ステップを前記内部制御プログラムと協働して実行するプログラムに相当する、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置に関し、特に連写機能を有するディジタルカメラに適用され、動的物体を捉えた連写画像を作成する、画像処理装置に関する。
【背景技術】
【０００２】
この種の装置の一例が、特許文献１に開示されている。この背景技術によれば、撮像面に対する補正レンズの姿勢は、駆動制御回路によって変更される。また、連写撮影時の撮影条件は、予め設定される。カメラＣＰＵは、補正レンズの変位ストロークと連写撮影時の撮影条件と主たる移動物体の移動速度とに基づいて複数駒の各々の撮影パラメータを決定し、決定された撮影パラメータに従って各駒の撮影を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３０２７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、背景技術では、複数の移動物体の各々に適する態様で連写撮影が行われることはなく、連写画像の作成性能に限界がある。
【０００５】
それゆえに、この発明の主たる目的は、連写画像の作成性能を向上させることができる、画像処理装置を提供することである。
【課題を解決するための手段】
【０００６】
この発明に従う画像処理装置(10：実施例で相当する参照符号。以下同じ)は、被写界を捉える撮像手段(16)から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込み手段(S41)、被写界に出現した１または２以上の動的物体を取り込み手段の取り込み処理と並列して検出する検出手段(S43~S45, S91~S95, S99~S103, S107~S111)、検出手段によって検出された１または２以上の動的物体の各々の出現時期を検出手段の検出処理に関連して特定する特定手段(S47~S81, S97, S105, S113)、取り込み手段によって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を検出手段によって検出された動的物体の数に相当する回数にわたって実行する抽出手段(S115, S121~S123)、および検出手段によって検出された動的物体毎に抽出手段の抽出態様を調整する処理を特定手段によって特定された出現時期に基づいて実行する調整手段(S119)を備える。
【０００７】
好ましくは、調整手段は出現時期の長さの増大に応じて抽出周期を延長する。
【０００８】
好ましくは、抽出手段および調整手段の各々は取り込み手段によるＫ個の画像の取り込みが完了した後に処理を実行する。
【０００９】
好ましくは、検出手段は、被写界に割り当てられた複数のエリアにそれぞれ対応する複数の動きベクトルを撮像手段の出力に基づいて作成する作成手段(S43~S45)、作成手段によって作成された複数の動きベクトルの各々が示す動きの共通性を判別する判別手段(S101, S109)、および判別手段の判別結果に基づいて動的物体の数を測定する測定手段(S95, S103, S111)を含む。
【００１０】
さらに好ましくは、特定手段は作成手段によって作成された複数の動きベクトルと判別手段の判別結果とに基づいて出現時期を特定する。
【００１１】
この発明に従う画像処理プログラムは、画像処理装置(10)のプロセッサ(18)に、被写界を捉える撮像手段(16)から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込みステップ(S41)、被写界に出現した１または２以上の動的物体を取り込みステップの取り込み処理と並列して検出する検出ステップ(S43~S45, S91~S95, S99~S103, S107~S111)、検出ステップによって検出された１または２以上の動的物体の各々の出現時期を検出ステップの検出処理に関連して特定する特定ステップ(S47~S81, S97, S105, S113)、取り込みステップによって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を検出ステップによって検出された動的物体の数に相当する回数にわたって実行する抽出ステップ(S115, S121~S123)、および検出ステップによって検出された動的物体毎に抽出ステップの抽出態様を調整する処理を特定ステップによって特定された出現時期に基づいて実行する調整ステップ(S119)を実行させるための、画像処理プログラムである。
【００１２】
この発明に従う画像処理方法は、画像処理装置(10)によって実行される画像処理方法であって、被写界を捉える撮像手段(16)から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込みステップ(S41)、被写界に出現した１または２以上の動的物体を取り込みステップの取り込み処理と並列して検出する検出ステップ(S43~S45, S91~S95, S99~S103, S107~S111)、検出ステップによって検出された１または２以上の動的物体の各々の出現時期を検出ステップの検出処理に関連して特定する特定ステップ(S47~S81, S97, S105, S113)、取り込みステップによって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を検出ステップによって検出された動的物体の数に相当する回数にわたって実行する抽出ステップ(S115, S121~S123)、および検出ステップによって検出された動的物体毎に抽出ステップの抽出態様を調整する処理を特定ステップによって特定された出現時期に基づいて実行する調整ステップ(S119)を備える。
【００１３】
この発明に従う外部制御プログラムは、メモリ(46)に保存された内部制御プログラムに従う処理を実行するプロセッサ(18)を備える画像処理装置(10)に供給される外部制御プログラムであって、被写界を捉える撮像手段(16)から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込みステップ(S41)、被写界に出現した１または２以上の動的物体を取り込みステップの取り込み処理と並列して検出する検出ステップ(S43~S45, S91~S95, S99~S103, S107~S111)、検出ステップによって検出された１または２以上の動的物体の各々の出現時期を検出ステップの検出処理に関連して特定する特定ステップ(S47~S81, S97, S105, S113)、取り込みステップによって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を検出ステップによって検出された動的物体の数に相当する回数にわたって実行する抽出ステップ(S115, S121~S123)、および検出ステップによって検出された動的物体毎に抽出ステップの抽出態様を調整する処理を特定ステップによって特定された出現時期に基づいて実行する調整ステップ(S119)を内部制御プログラムと協働してプロセッサに実行させるための、外部制御プログラムである。
【００１４】
この発明に従う画像処理装置(10)は、外部制御プログラムを入力する入力手段(70)、および入力手段によって入力された外部制御プログラムとメモリ(46)に保存された内部制御プログラムとに従う処理を実行するプロセッサ(18)を備える画像処理装置であって、外部制御プログラムは、被写界を捉える撮像手段(16)から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む取り込みステップ(S41)、被写界に出現した１または２以上の動的物体を取り込みステップの取り込み処理と並列して検出する検出ステップ(S43~S45, S91~S95, S99~S103, S107~S111)、検出ステップによって検出された１または２以上の動的物体の各々の出現時期を検出ステップの検出処理に関連して特定する特定ステップ(S47~S81, S97, S105, S113)、取り込みステップによって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を検出ステップによって検出された動的物体の数に相当する回数にわたって実行する抽出ステップ(S115, S121~S123)、および検出ステップによって検出された動的物体毎に抽出ステップの抽出態様を調整する処理を特定ステップによって特定された出現時期に基づいて実行する調整ステップ(S119)を内部制御プログラムと協働して実行するプログラムに相当する、画像処理装置である。
【発明の効果】
【００１５】
Ｋ個の画像からＬ個の画像を抽出する処理は、動的物体の数に相当する回数にわたって実行される。また、Ｌ個の画像の抽出態様は、動的物体の出現時期を参照して動的物体毎に調整される。これによって、動的物体を個別に捉えた連写画像の作成性能が向上する。
【００１６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００１７】
【図１】この発明の一実施例の基本的構成を示すブロック図である。
【図２】この発明の一実施例の構成を示すブロック図である。
【図３】複数の動き検出ブロックを撮像面に割り当てた状態の一例を示す図解図である。
【図４】図２実施例に適用される動き検出回路の構成の一例を示すブロック図である。
【図５】図４実施例に適用される動き情報作成回路の構成の一例を示すブロック図である。
【図６】（Ａ）は動き検出ブロックの構成の一例を示す図解図であり、（Ｂ）は微小ブロックの構成の一例を示す図解図である。
【図７】複数の動的物体検出ブロックを撮像面に割り当てた状態の一例を示す図解図である。
【図８】動的物体の動きの一例を示す図解図である。
【図９】動的物体の動きの他の一例を示す図解図である。
【図１０】動的物体の動きのその他の一例を示す図解図である。
【図１１】図８に示す動きを表す画像データの一例を示す図解図である。
【図１２】（Ａ）はマルチ連写画像データの一例を示す図解図であり、（Ｂ）はマルチ連写画像データの他の一例を示す図解図であり、（Ｃ）はマルチ連写画像データのその他の一例を示す図解図である。
【図１３】図２実施例に適用されるＣＰＵの動作の一部を示すフロー図である。
【図１４】図２実施例に適用されるＣＰＵの動作の他の一部を示すフロー図である。
【図１５】図２実施例に適用されるＣＰＵの動作のその他の一部を示すフロー図である。
【図１６】図２実施例に適用されるＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図１７】図２実施例に適用されるＣＰＵの動作の他の一部を示すフロー図である。
【図１８】図２実施例に適用されるＣＰＵの動作のその他の一部を示すフロー図である。
【図１９】複数の動的物体検出ブロックを撮像面に割り当てた状態の一例を示す図解図である。
【図２０】この発明の他の実施例の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、この発明の実施の形態を図面を参照しながら説明する。
［基本的構成］
【００１９】
図１を参照して、この実施例の画像処理装置は、基本的に次のように構成される。取り込み手段１は、被写界を捉える撮像手段６から繰り返し出力されたＫ個（Ｋ：２以上の整数）の画像を取り込む。検出手段２は、被写界に出現した１または２以上の動的物体を取り込み手段１の取り込み処理と並列して検出する。特定手段３は、検出手段２によって検出された１または２以上の動的物体の各々の出現時期を検出手段２の検出処理に関連して特定する。抽出手段４は、取り込み手段１によって取り込まれたＫ個の画像の中からＬ個（Ｌ：２以上の整数）の画像を抽出する処理を検出手段２によって検出された動的物体の数に相当する回数にわたって実行する。調整手段５は、検出手段２によって検出された動的物体毎に抽出手段４の抽出態様を調整する処理を特定手段３によって特定された出現時期に基づいて実行する。
【００２０】
Ｋ個の画像からＬ個の画像を抽出する処理は、動的物体の数に相当する回数にわたって実行される。また、Ｌ個の画像の抽出態様は、動的物体の出現時期を参照して動的物体毎に調整される。これによって、動的物体を個別に捉えた連写画像の作成性能が向上する。
［実施例］
【００２１】
図２を参照して、この実施例のディジタルカメラ１０は、ドライバ２０ａおよび２０ｂによってそれぞれ駆動される光学レンズ１２および絞りユニット１４を含む。被写界の光学像は、これらの部材を通してイメージセンサ１６の撮像面に照射される。撮像面は、原色ベイヤ配列の色フィルタ（図示せず）によって覆われる。したがって、各画素では、Ｒ（Red），Ｇ（Green）およびＢ（Blue）のいずれか１つの光量に対応する量の電荷が光電変換によって生成される。
【００２２】
電源が投入されると、ＣＰＵ１８は、動画取り込み処理を実行するべくドライバ２０ｃを起動する。ドライバ２０ｃは、１／６０秒毎に発生する垂直同期信号Ｖｓｙｎｃに応答して、撮像面を露光し、撮像面で生成された電荷をラスタ走査態様で読み出す。イメージセンサ１６からは、被写界を表す生画像データが６０ｆｐｓのフレームレートで出力される。
【００２３】
前処理回路２２は、イメージセンサ１６から出力された生画像データにディジタルクランプ，画素欠陥補正，ゲイン制御などの処理を施す。これによって生成された生画像データは、メモリ制御回路２４を通してＳＤＲＡＭ２６の生画像エリア２６ａに書き込まれる。
【００２４】
後処理回路２８は、生画像エリア２６ａに格納された生画像データをメモリ制御回路２４を通して１／６０秒毎に読み出し、読み出された生画像データに色分離，白バランス調整，ＹＵＶ変換などの処理を施す。この結果、ＹＵＶ形式に対応する画像データが１／６０秒毎に作成される。作成された画像データは、メモリ制御回路２４を通してＳＤＲＡＭ２６のＹＵＶ画像エリア２６ｂに書き込まれる。
【００２５】
ＬＣＤドライバ３０は、ＹＵＶ画像エリア２６ｂに格納された画像データを繰り返し読み出し、読み出された画像データに基づいてＬＣＤモニタ３２を駆動する。この結果、被写界を表すリアルタイム動画像（スルー画像）がモニタ画面に表示される。
【００２６】
前処理回路２２は、上述の処理に加えて簡易Ｙ生成処理を実行し、生画像データを簡易的にＹデータに変換する。変換されたＹデータは、輝度評価回路３８，ＡＦ評価回路４０および動き検出回路４２に与えられる。また、撮像面の中央には、図示しない評価エリアが割り当てられる。
【００２７】
輝度評価回路３８は、前処理回路２２から出力されたＹデータのうち評価エリアに属するＹデータを、垂直同期信号Ｖｓｙｎｃに応答して積分する。積分値は、輝度評価値として輝度評価回路３８から出力される。また、ＡＦ評価回路４０は、前処理回路２２から出力されたＹデータのうち評価エリアに属するＹデータの高域周波数成分を、垂直同期信号Ｖｓｙｎｃに応答して積分する。積分値は、ＡＦ評価値としてＡＦ評価回路４０から出力される。
【００２８】
キー入力装置４４に設けられたシャッタボタン４４ｓｈが非操作状態のとき、ＣＰＵ１８は、輝度評価回路３８から出力された輝度評価値に基づいて適正ＥＶ値を算出するべく、簡易ＡＥ処理を繰り返し実行する。算出された適正ＥＶ値を定義する絞り量および露光時間は、ドライバ２０ｂおよび２０ｃにそれぞれ設定される。この結果、ＬＣＤモニタ３２に表示されるスルー画像の明るさが適度に調整される。
【００２９】
シャッタボタン４４ｓｈが半押しされると、ＣＰＵ１８は、輝度評価回路３８から出力された輝度評価値に基づいて最適ＥＶ値を算出するべく、厳格ＡＥ処理を実行する。算出された最適ＥＶ値を定義する絞り量および露光時間は、上述と同様、ドライバ２０ｂおよび２０ｃにそれぞれ設定される。これによって、ＬＣＤモニタ３２に表示されるスルー画像の明るさが厳格に調整される。
【００３０】
ＣＰＵ１８は続いて、ＡＦ処理を実行する。フォーカスレンズ１２は光軸方向に移動され、ＡＦ評価回路４０から出力されたＡＦ評価値はフォーカスレンズ１２の移動処理と並列して繰り返し取り込まれる。合焦点は取り込まれたＡＦ評価値に基づいて探索され、フォーカスレンズ１２は発見された合焦点に配置される。これによって、ＬＣＤモニタ３２に表示されるスルー画像の鮮鋭度が向上する。
【００３１】
シャッタボタン４４ｓｈが全押しされると、ＣＰＵ１８は、キー入力装置４４に設けられたモードスイッチ４４ｍｄの設定が通常モードおよびマルチ連写モードのいずれであるかを判別し、通常モードに対応して静止画取り込み処理を実行する一方、マルチ連写モードに対応してマルチ連写処理を実行する。
【００３２】
静止画取り込み処理では、シャッタボタン４４ｓｈが操作された時点の被写界を表す１フレームの画像データが、ＳＤＲＡＭ２６のワークエリア２６ｃに退避される。
【００３３】
マルチ連写処理では、シャッタボタン４４ｓｈが操作された後に生成される１８０フレームの画像データがＳＤＲＡＭ２６のワークエリア２６ｃに退避され、被写界に現れた１または２以上の動的物体の各々に対応する９フレームの画像データが退避された１８０フレームの画像データの中から抽出される。９フレームの画像は１画面にマルチ表示されるように編集され、この結果、動的物体の数に相当するフレームのマルチ連写画像データが得られる。なお、マルチ連写処理については後段で詳述する。
【００３４】
ＣＰＵ１８はその後、記録処理のためにメモリＩ／Ｆ３４を起動する。メモリＩ／Ｆ３４は、静止画取り込み処理によって得られた１フレームの画像データ或いはマルチ連写処理によって得られた１または２以上のフレームのマルチ連写画像データをメモリ制御回路２４を通してワークエリア２４ｃから読み出し、読み出された画像データまたはマルチ連写画像データをファイル形式で記録媒体３６に記録する。
【００３５】
図３を参照して、撮像面には９つの動き検出ブロックＭＤ＿１〜ＭＤ＿９が割り当てられる。動き検出ブロックＭＤ＿１〜ＭＤ＿３は撮像面の上段に水平方向に並ぶように配置され、動き検出ブロックＭＤ＿４〜ＭＤ＿６は撮像面の中央に水平方向に並ぶように配置され、そして動き検出ブロックＭＤ＿７〜ＭＤ＿９は撮像面の下段に水平方向に並ぶように配置される。
【００３６】
動き検出回路４２は、図４に示すように構成される。生画像データはラスタ走査態様でイメージセンサ１６から出力されるため、Ｙデータもまたラスタ走査態様で動き検出回路４２に入力される。分配器５０は、動き検出ブロックＭＤ＿１，ＭＤ＿４およびＭＤ＿７の各々に属するＹデータを動き情報作成回路５２に与え、動き検出ブロックＭＤ＿２，ＭＤ＿５およびＭＤ＿８の各々に属するＹデータを動き情報作成回路５４に与え、そして動き検出ブロックＭＤ＿３，ＭＤ＿６およびＭＤ＿９の各々に属するＹデータを動き情報作成回路５６に与える。
【００３７】
動き情報作成回路５２は、動き検出ブロックＭＤ＿１で捉えられた被写界の動きを示すベクトルを部分動きベクトルＰＶＣ＿１として出力し、動き検出ブロックＭＤ＿４で捉えられた被写界の動きを示すベクトルを部分動きベクトルＰＶＣ＿４として出力し、そして動き検出ブロックＭＤ＿７で捉えられた被写界の動きを示すベクトルを部分動きベクトルＰＶＣ＿７として出力する。
【００３８】
動き情報作成回路５４は、動き検出ブロックＭＤ＿２で捉えられた被写界の動きを示すベクトルを部分動きベクトルＰＶＣ＿２として出力し、動き検出ブロックＭＤ＿５で捉えられた被写界の動きを示すベクトルを部分動きベクトルＰＶＣ＿５として出力し、そして動き検出ブロックＭＤ＿８で捉えられた被写界の動きを示すベクトルを部分動きベクトルＰＶＣ＿８として出力する。
【００３９】
動き情報作成回路５６は、動き検出ブロックＭＤ＿３で捉えられた被写界の動きを示すベクトルを部分動きベクトルＰＶＣ＿３として出力し、動き検出ブロックＭＤ＿６で捉えられた被写界の動きを示すベクトルを部分動きベクトルＰＶＣ＿６として出力し、そして動き検出ブロックＭＤ＿９で捉えられた被写界の動きを示すベクトルを部分動きベクトルＰＶＣ＿９として出力する。
【００４０】
なお、部分動きベクトルＰＶＣ＿１〜ＰＶＣ＿９はいずれも、１／６０秒毎に作成される。
【００４１】
動き情報作成回路５２〜５６の各々は、図５に示すように構成される。Ｙデータは、ＬＰＦ６０でノイズ除去処理を施された後、代表点メモリ６２および相関値算出回路６４に与えられる。図６（Ａ）を参照して、動き検出ブロックＭＤ＿１〜ＭＤ＿９の各々は、Ｐ×Ｑ個の微小ブロックＳＢＫ，ＳＢＫ，…によって形成される。また、図６（Ｂ）を参照して、各々の微小ブロックＳＢＫは、ｐ×ｑ個の画素によって形成される。なお、“Ｐ”，“Ｑ”，“ｐ”および“ｑ”はいずれも２以上の整数に相当する。以下では、各微小ブロックＳＢＫの中央に存在する画素つまり図６（Ａ）および図６（Ｂ）に黒丸で示す画素を“代表画素”と定義する。
【００４２】
図５に戻って、代表点メモリ６２は、動き検出ブロックＭＤ＿Ｎ（Ｎ：１〜９のいずれか）に属するＹデータからＰ×Ｑ個の代表画素のＹデータを抽出し、抽出されたＹデータを記憶する。相関値算出回路６４は、動き検出ブロックＭＤ＿Ｎに属するＰ×Ｑ個の微小ブロックＳＢＫ，ＳＢＫ，…の各々に対応して、代表点メモリ６２に記憶された前フレームの代表画素のＹデータ値とＬＰＦ６０から与えられた現フレームの各画素のＹデータ値との差分を相関値として算出する。この結果、Ｐ×Ｑ×ｐ×ｑ個の相関値が、動き検出ブロックＭＤ＿Ｎに対応して相関値算出回路６４から出力される。なお、出力されたＰ×Ｑ×ｐ×ｑ個の相関値の各々は、相関値の算出の基礎となった２つの画素の位置を示す画素位置情報を伴う。
【００４３】
最小値算出回路６６は、Ｐ×Ｑ×ｐ×ｑ個の相関値の中から最小値を抽出し、抽出した最小値を最小相関値として出力する。最小相関値は、動き検出ブロックＭＤ＿Ｎに動きが生じたときに増大する。したがって、最小相関値に注目することで、被写界に動きが生じたか否かを判別することができる。
【００４４】
部分動きベクトル作成回路６８は、最小相関値に付随する画素位置情報に基づいて部分動きベクトルＰＶＣ＿Ｎを作成する。作成された部分動きベクトルＰＶＣ＿Ｎは、画素位置情報が示す２つの画素のうち前フレームの画素を起点とし、現フレームの画素を終点とするベクトルである。現フレームの画素が図６（Ｂ）にハッチングで示す画素である場合、部分動きベクトルＰＶＣ＿Ｎは図６（Ｂ）に矢印で示す方向および大きさを示す。
【００４５】
マルチ連写処理は、こうして動き検出回路４２から出力される部分動きベクトルＰＶＣ＿１〜ＰＶＣ＿９に基づいて、以下の要領で実行される。
【００４６】
まず、フラグＦＬＧｓｔ１〜ＦＬＧｓｔ３の各々が“０”に設定され、フラグＦＬＧｅｄ１〜ＦＬＧｅｄ３の各々が“０”に設定され、そして積算ベクトルＴＶＣ＿１〜ＴＶＣ＿３の各々が“０”に設定される。
【００４７】
撮像面には、図７に示す要領で動的物体検出ブロックＢＬＫ＿１〜ＢＬＫ＿３が定義される。動的物体検出ブロックＢＬＫ＿１は動き検出ブロックＭＤ＿１〜ＭＤ＿３を覆うように撮像面の上段に配置され、動的物体検出ブロックＢＬＫ＿２は動き検出ブロックＭＤ＿４〜ＭＤ＿６を覆うように撮像面の中段に配置され、そして動的物体検出ブロックＢＬＫ＿３は動き検出ブロックＭＤ＿７〜ＭＤ＿９を覆うように撮像面の下段に配置される。
【００４８】
フラグＦＬＧｓｔ１，ＦＬＧｅｄ１および積算ベクトルＴＶＣ＿１は動的物体検出ブロックＢＬＫ＿１に割り当てられ、フラグＦＬＧｓｔ２，ＦＬＧｅｄ２および積算ベクトルＴＶＣ＿２は動的物体検出ブロックＢＬＫ＿２に割り当てられ、そしてフラグＦＬＧｓｔ３，ＦＬＧｅｄ３および積算ベクトルＴＶＣ＿３は動的物体検出ブロックＢＬＫ＿３に割り当てられる。
【００４９】
垂直同期信号Ｖｓｙｎｃが発生すると、上述と同様の静止画取り込み処理が実行される。この結果、ＹＵＶ画像エリア２６ｂに格納された最新１フレームの画像データがワークエリア２６ｃに退避される。変数Ｋは、静止画取り込み処理が実行される毎に“１”から“１８０”までインクリメントされる。したがって、変数Ｋはワークエリア２６ｃに退避された画像データのフレーム番号を示す。
【００５０】
続いて、部分動きベクトルＰＶＣ＿１〜ＰＶＣ＿９が動き検出回路４２から取り込まれ、取り込まれた部分動きベクトルＰＶＣ＿１〜ＰＶＣ＿９に基づいて動きベクトルＶＣ＿１〜ＶＣ＿３が作成される。動きベクトルＶＣ＿１は部分動きベクトルＰＶＣ＿１〜ＰＶＣ＿３の総和に相当し、動きベクトルＶＣ＿２は部分動きベクトルＰＶＣ＿４〜ＰＶＣ＿６の総和に相当し、動きベクトルＶＣ＿３は部分動きベクトルＰＶＣ＿７〜ＰＶＣ＿９の総和に相当する。動きベクトルＶＣ＿１は積算ベクトルＴＶＣ＿１に積算され、動きベクトルＶＣ＿２は積算ベクトルＴＶＣ＿２に積算され、そして動きベクトルＶＣ＿３は積算ベクトルＴＶＣ＿３に積算される。
【００５１】
したがって、動的物体検出ブロックＢＬＫ＿１に出現した動きは動きベクトルＶＣ＿１および積算ベクトルＴＶＣ＿１に反映され、動的物体検出ブロックＢＬＫ＿２に出現した動きは動きベクトルＶＣ＿２および積算ベクトルＴＶＣ＿２に反映され、そして動的物体検出ブロックＢＬＫ＿３に出現した動きは動きベクトルＶＣ＿３および積算ベクトルＴＶＣ＿３に反映される。
【００５２】
フラグＦＬＧｓｔ１が“０”を示す状態で動きベクトルＶＣ＿１が有意な動きを示せば、変数Ｋの値が変数ＳＴ＿１に設定され、フラグＦＬＧｓｔ１の値が“０”から“１”に更新される。また、フラグＦＬＧｓｔ１およびＦＬＧｅｄ１がそれぞれ“１”および“０”を示す状態で動きベクトルＶＣ＿１が有意な動きを示さなくなると、変数Ｋの値が変数ＥＤ＿１に設定され、フラグＦＬＧｅｄ１の値が“０”から“１”に更新される。
【００５３】
フラグＦＬＧｓｔ２が“０”を示す状態で動きベクトルＶＣ＿２が有意な動きを示せば、変数Ｋの値が変数ＳＴ＿２に設定され、フラグＦＬＧｓｔ２の値が“０”から“１”に更新される。また、フラグＦＬＧｓｔ２およびＦＬＧｅｄ２がそれぞれ“１”および“０”を示す状態で動きベクトルＶＣ＿２が有意な動きを示さなくなると、変数Ｋの値が変数ＥＤ＿２に設定され、フラグＦＬＧｅｄ２の値が“０”から“１”に更新される。
【００５４】
フラグＦＬＧｓｔ３が“０”を示す状態で動きベクトルＶＣ＿３が有意な動きを示せば、変数Ｋの値が変数ＳＴ＿３に設定され、フラグＦＬＧｓｔ３の値が“０”から“１”に更新される。また、フラグＦＬＧｓｔ３およびＦＬＧｅｄ３がそれぞれ“１”および“０”を示す状態で動きベクトルＶＣ＿３が有意な動きを示さなくなると、変数Ｋの値が変数ＥＤ＿３に設定され、フラグＦＬＧｅｄ３の値が“０”から“１”に更新される。
【００５５】
したがって、動的物体検出ブロックＢＬＫ＿１において動きが出現した時期は、変数ＳＴ＿１およびＥＤ＿１によって特定される。また、動的物体検出ブロックＢＬＫ＿２において動きが出現した時期は、変数ＳＴ＿２およびＥＤ＿２によって特定される。さらに、動的物体検出ブロックＢＬＫ＿３において動きが出現した時期は、変数ＳＴ＿３およびＥＤ＿３によって特定される。
【００５６】
このような処理は、変数Ｋが“１８０”に達するまで繰り返し実行される。この結果、１８０フレームの画像データがワークエリア２６ｃに退避され、注目する１８０フレーム期間における被写界の動きが、動的物体検出ブロックＢＬＫ＿１〜ＢＬＫ＿３の各々に対応して特定される。
【００５７】
積算ベクトルＴＶＣ＿１〜ＴＶＣ＿３のいずれもが有意な動きを示さなければ、既定周期（＝２０フレーム）毎に１フレームの画像データが抽出され、抽出された合計９フレームの画像データに基づく１フレームのマルチ連写画像データがワークエリア２６ｃ上で作成される。マルチ連写画像データには、ほぼ共通する９フレームの画像がマルチ態様で配置される。マルチ連写処理は、このようなマルチ連写画像データの完成によって終了する。
【００５８】
積算ベクトルＴＶＣ＿１〜ＴＶＣ＿３の少なくとも１つが有意な動きを示す場合、被写界に出現した動的物体を検出するべく、以下の処理が実行される。
【００５９】
まず変数Ｍｍａｘが“０”に設定され、積算ベクトルＴＶＣ＿１の動きが判別される。積算ベクトルＴＶＣ＿１が有意な動きを示せば、動的物体が動的物体検出ブロックＢＬＫ１に存在するとみなされる。このとき、変数Ｍｍａｘがインクリメントされ、変数ＳＴ＿１およびＥＤ＿１が変数ＦＳＴ＿ＭｍａｘおよびＦＥＤ＿Ｍｍａｘにそれぞれ設定される。
【００６０】
次に、動きベクトルＴＶＣ＿２の動きが判別される。積算ベクトルＴＶＣ＿２が有意な動きを示せば、積算ベクトルＴＶＣ＿１およびＴＶＣ＿２が共通するか否かがさらに判別される。
【００６１】
積算ベクトルＴＶＣ＿１およびＴＶＣ＿２が共通すれば、動的物体検出ブロックＢＬＫ１に存在する動的物体が動的物体検出ブロックＢＬＫ２に跨っているとみなされる。このときは、変数Ｍｍａｘのインクリメントが省略され、変数ＳＴ＿２およびＥＤ＿２の変数ＦＳＴ＿ＭｍａｘおよびＦＥＤ＿Ｍｍａｘへの設定もまた省略される。
【００６２】
これに対して、積算ベクトルＴＶＣ＿１およびＴＶＣ＿２が共通しなければ、動的物体が動的物体検出ブロックＢＬＫ１に跨ることなく動的物体検出ブロックＢＬＫ２に存在するとみなされる。このときは、変数Ｍｍａｘがインクリメントされ、変数ＳＴ＿２およびＥＤ＿２が変数ＦＳＴ＿ＭｍａｘおよびＦＥＤ＿Ｍｍａｘにそれぞれ設定される。
【００６３】
続いて、動きベクトルＴＶＣ＿３の動きが判別される。積算ベクトルＴＶＣ＿３が有意な動きを示せば、積算ベクトルＴＶＣ＿２およびＴＶＣ＿３が共通するか否かがさらに判別される。
【００６４】
積算ベクトルＴＶＣ＿２およびＴＶＣ＿３が共通すれば、動的物体検出ブロックＢＬＫ２に存在する動的物体が動的物体検出ブロックＢＬＫ３に跨っているとみなされる。このときは、変数Ｍｍａｘのインクリメントが省略され、変数ＳＴ＿３およびＥＤ＿３の変数ＦＳＴ＿ＭｍａｘおよびＦＥＤ＿Ｍｍａｘへの設定もまた省略される。
【００６５】
これに対して、積算ベクトルＴＶＣ＿２およびＴＶＣ＿３が共通しなければ、動的物体が動的物体検出ブロックＢＬＫ２に跨ることなく動的物体検出ブロックＢＬＫ３に存在するとみなされる。このときは、変数Ｍｍａｘがインクリメントされ、変数ＳＴ＿３およびＥＤ＿３が変数ＦＳＴ＿ＭｍａｘおよびＦＥＤ＿Ｍｍａｘにそれぞれ設定される。
【００６６】
したがって、図８に示すように、動的物体ＯＢＪ１が動的物体検出ブロックＢＬＫ１を移動し、動的物体ＯＢＪ２が動的物体検出ブロックＢＬＫ２を移動し、動的物体ＯＢＪ３が動的物体検出ブロックＢＬＫ３を移動するときは、変数ＳＴ＿１およびＥＤ＿１が変数ＦＳＴ＿１およびＦＥＤ＿１に設定され、変数ＳＴ＿２およびＥＤ＿２が変数ＦＳＴ＿２およびＦＥＤ＿２に設定され、そして変数ＳＴ＿３およびＥＤ＿３が変数ＦＳＴ＿３およびＦＥＤ＿３に設定される。また、変数Ｍｍａｘは“３”を示す。
【００６７】
一方、図９に示すように、動的物体ＯＢＪ１が動的物体検出ブロックＢＬＫ１およびＢＬＫ２を跨いで移動し、動的物体ＯＢＪ２が動的物体検出ブロックＢＬＫ３を移動するときは、変数ＳＴ＿１およびＥＤ＿１が変数ＦＳＴ＿１およびＦＥＤ＿１に設定され、変数ＳＴ＿３およびＥＤ＿３が変数ＦＳＴ＿２およびＦＥＤ＿２に設定される。変数Ｍｍａｘは“２”を示す。他方、図１０に示すように、動的物体ＯＢＪ１が動的物体検出ブロックＢＬＫ１〜ＢＬＫ３を跨いで移動するときは、変数ＳＴ＿１およびＥＤ＿１が変数ＦＳＴ＿１およびＦＥＤ＿１に設定される。変数Ｍｍａｘは“１”を示す。
【００６８】
被写界に存在する動的物体がこうして検出されると、変数Ｍが“１”〜“Ｍｍａｘ”の各々に設定され、Ｍ番目の動的物体に対応する抽出周期が変数ＦＳＴ＿ＭおよびＦＥＤ＿Ｍに基づいて算出される。抽出周期は、変数ＦＳＴ＿ＭおよびＦＥＤ＿Ｍの差分（＝ＦＥＤ＿Ｍ−ＦＳＴ＿Ｍ）を“９”で割り算して得られる数値に対応する。したがって、抽出周期は、動的物体の出現時間が長いほど延長される。算出された抽出周期毎に存在する９フレームの画像データは、変数ＦＳＴ＿Ｍに対応するフレームを起点として抽出される。マルチ連写画像データは、抽出された９フレームの画像データに基づいて作成される。
【００６９】
図８に示す要領で移動する動的物体ＯＢＪ１〜ＯＢＪ３に注目してマルチ連写処理が実行された場合、ワークエリア２６ｃに退避された１８０フレームの画像データは図１１に示す要領で変化する。なお、図１１では、１８フレームに１フレームの割合で、第５フレーム，第２３フレーム，第４１フレーム，第５９フレーム，第７７フレーム，第９５フレーム，第１１３フレーム，第１３１フレーム，第１４９フレームおよび第１６７フレームの画像データを示している。
【００７０】
動的物体ＯＢＪ１は、第４１フレーム〜第１６７フレームの期間に有意な動きを示す。これによって、変数ＦＳＴ＿２は“４１”に設定され、変数ＦＥＤ＿２は“１６７”を示す。動的物体ＯＢＪ２は、第５フレーム〜第９５フレームの期間に有意な動きを示す。これによって、変数ＦＳＴ＿２は“５”に設定され、変数ＦＥＤ＿２は“９５”を示す。動的物体ＯＢＪ３は、第５９フレーム〜第１４９フレームの期間に有意な動きを示す。これによって、変数ＦＳＴ＿２は“５９”に設定され、変数ＦＥＤ＿２は“１４９”を示す。
【００７１】
したがって、抽出周期は、動的物体ＯＢＪ１に対応して“１４”（＝（１６７−４１）／９）に設定され、動的物体ＯＢＪ２に対応して“１０”（＝（９５−５）／９）に設定され、そして動的物体ＯＢＪ３に対応して“１０”（＝（１４９−５９）／９）に設定される。また、動的物体ＯＢＪ１に対応する抽出処理は第４１フレームを起点として実行され、動的物体ＯＢＪ２に対応する抽出処理は第５フレームを起点として実行され、そして動的物体ＯＢＪ３に対応する抽出処理は第５９フレームを起点として実行される。
【００７２】
この結果、動的物体ＯＢＪ１に注目したマルチ連写画像データは図１２（Ａ）に示す要領で作成され、動的物体ＯＢＪ２に注目したマルチ連写画像データは図１２（Ｂ）に示す要領で作成され、動的物体ＯＢＪ３に注目したマルチ連写画像データは図１２（Ｃ）に示す要領で作成される。
【００７３】
ＣＰＵ１８は、図１３〜図１８に示す撮像タスクを含む複数のタスクをマルチタスクＯＳの制御の下で並列的に実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ４６に記憶される。
【００７４】
図１３を参照して、ステップＳ１では動画取り込み処理を開始する。この結果、スルー画像がＬＣＤモニタ３２に表示される。ステップＳ３ではシャッタボタン４４ｓｈが半押しされたか否かを判別し、判別結果がＮＯである限りステップＳ５の簡易ＡＥ処理を繰り返す。この結果、スルー画像の明るさが適度に調整される。シャッタボタン３８ｓｈが半押しされると、ステップＳ３でＹＥＳと判断し、ステップＳ７で厳格ＡＥ処理を実行するとともに、ステップＳ９でＡＦ処理を実行する。厳格ＡＥ処理の結果、スルー画像の明るさが厳格に調整される。また、ＡＦ処理の結果、スルー画像の鮮鋭度が向上する。
【００７５】
ステップＳ１１ではシャッタボタン４４ｓｈが全押しされたか否かを判別し、ステップＳ１３ではシャッタボタン３８ｓｈの操作が解除されたか否かを判別する。ステップＳ１１の判別結果がＹＥＳであればステップＳ１５に進み、ステップＳ１３の判別結果がＹＥＳであればステップＳ３に戻り、ステップＳ１１およびＳ１３の判別結果がＮＯであればステップＳ１１に戻る。
【００７６】
ステップＳ１５では、現時点の撮像モードが通常モードおよびマルチ連写モードのいずれであるかをモードスイッチ４４ｍｄの設定を参照して判別する。現時点の撮像モードが通常モードであればステップＳ１７では静止画取り込み処理を実行し、現時点の撮像モードがマルチ連写モードであればステップＳ１９でマルチ連写処理を実行する。
【００７７】
静止画取り込み処理の結果、シャッタボタン４４ｓｈが全押しされた時点の被写界を表す１フレームの画像データがＹＵＶ画像エリア２６ｂからワークエリア２６ｃに退避される。また、マルチ連写処理の結果、被写界から検出された動的物体の数に相当するフレームのマルチ連写画像データがワークエリア２６ｃ上で作成される。
【００７８】
ステップＳ１７またはＳ１９の処理が完了すると、ステップＳ２１で記録処理を実行する。ワークエリア２６ｃ上の画像データまたは連写画像データは、ファイル形式で記録媒体３６に記録される。記録処理が完了すると、ステップＳ３に戻る。
【００７９】
ステップＳ１９に示すマルチ連写処理は、図１４〜図１８に示すサブルーチンに従って実行される。
【００８０】
ステップＳ３１ではフラグＦＬＧｓｔ１〜ＦＬＧｓｔ３の各々を“０”に設定し、ステップＳ３３ではフラグＦＬＧｅｄ１〜ＦＬＧｅｄ３の各々を“０”に設定し、そしてステップＳ３５では積算ベクトルＴＶＣ＿１〜ＴＶＣ＿３の各々を“０”に設定する。ステップＳ３７では変数Ｋを“１”に設定し、ステップＳ３９では垂直同期信号Ｖｓｙｎｃが発生したか否かを判別する。
【００８１】
判別結果がＮＯからＹＥＳに更新されるとステップＳ４１に進み、上述したステップＳ１７と同様の静止画取り込み処理を実行する。この結果、ＹＵＶ画像エリア２６ｂに格納された最新１フレームの画像データがワークエリア２６ｃに退避される。
【００８２】
ステップＳ４３では、部分動きベクトルＰＶＣ＿１〜ＰＶＣ＿９を動き検出回路４２から取り込み、取り込まれた部分動きベクトルＰＶＣ＿１〜ＰＶＣ＿９に基づいて動きベクトルＶＣ＿１〜ＶＣ＿３を作成する。ステップＳ４５では、動きベクトルＶＣ＿１を積算ベクトルＴＶＣ＿１に積算し、動きベクトルＶＣ＿２を積算ベクトルＴＶＣ＿２に積算し、そして動きベクトルＶＣ＿３を積算ベクトルＴＶＣ＿３に積算する。
【００８３】
ステップＳ４７ではフラグＦＬＧｓｔ１が“０”であるか否かを判別し、ステップＳ４９ではフラグＦＬＧｅｄ１が“０”であるか否かを判別する。また、ステップＳ５１およびＳ５３の各々では動きベクトルＶＣ＿１の動きを判別する。
【００８４】
フラグＦＬＧｓｔ１およびＦＬＧｅｄ１のいずれもが“１”を示すとき、フラグＦＬＧｓｔ１が“０”でかつ動きベクトルＶＣ＿１の動きが有意でないとき、或いはフラグＦＬＧｅｄ１が“１”でかつ動きベクトルＶＣ＿１の動きが有意であるときは、そのままステップＳ５９に進む。
【００８５】
フラグＦＬＧｓｔ１が“０”でかつ動きベクトルＶＣ＿１の動きが有意であれば、ステップＳ５５の処理を経てステップＳ５９に進む。また、フラグＦＬＧｓｔ１およびＦＬＧｅｄ１がそれぞれ“１”および“０”でかつ動きベクトルＶＣ＿１の動きが有意でなければ、ステップＳ５７の処理を経てステップＳ５９に進む。ステップＳ５５では、変数Ｋの値を変数ＳＴ＿１に設定し、フラグＦＬＧｓｔ１の値を“０”から“１”に更新する。また、ステップＳ５７では、変数Ｋの値を変数ＥＤ＿１に設定し、フラグＦＬＧｅｄ１の値を“０”から“１”に更新する。
【００８６】
ステップＳ５９ではフラグＦＬＧｓｔ２が“０”であるか否かを判別し、ステップＳ６１ではフラグＦＬＧｅｄ２が“０”であるか否かを判別する。また、ステップＳ６３およびＳ６５の各々では動きベクトルＶＣ＿２の動きを判別する。
【００８７】
フラグＦＬＧｓｔ２およびＦＬＧｅｄ２のいずれもが“１”を示すとき、フラグＦＬＧｓｔ２が“０”でかつ動きベクトルＶＣ＿２の動きが有意でないとき、或いはフラグＦＬＧｅｄ２が“１”でかつ動きベクトルＶＣ＿２の動きが有意であるときは、そのままステップＳ７１に進む。
【００８８】
フラグＦＬＧｓｔ２が“０”でかつ動きベクトルＶＣ＿２の動きが有意であれば、ステップＳ６７の処理を経てステップＳ７１に進む。また、フラグＦＬＧｓｔ２およびＦＬＧｅｄ２がそれぞれ“１”および“０”でかつ動きベクトルＶＣ＿２の動きが有意でなければ、ステップＳ６９の処理を経てステップＳ７１に進む。ステップＳ６７では、変数Ｋの値を変数ＳＴ＿２に設定し、フラグＦＬＧｓｔ２の値を“０”から“１”に更新する。また、ステップＳ６９では、変数Ｋの値を変数ＥＤ＿２に設定し、フラグＦＬＧｅｄ２の値を“０”から“１”に更新する。
【００８９】
ステップＳ７１ではフラグＦＬＧｓｔ３が“０”であるか否かを判別し、ステップＳ７３ではフラグＦＬＧｅｄ３が“０”であるか否かを判別する。また、ステップＳ７５およびＳ７７の各々では動きベクトルＶＣ＿３の動きを判別する。
【００９０】
フラグＦＬＧｓｔ３およびＦＬＧｅｄ３のいずれもが“１”を示すとき、フラグＦＬＧｓｔ３が“０”でかつ動きベクトルＶＣ＿３の動きが有意でないとき、或いはフラグＦＬＧｅｄ３が“１”でかつ動きベクトルＶＣ＿３の動きが有意であるときは、そのままステップＳ８３に進む。
【００９１】
フラグＦＬＧｓｔ３が“０”でかつ動きベクトルＶＣ＿３の動きが有意であれば、ステップＳ７９の処理を経てステップＳ８３に進む。また、フラグＦＬＧｓｔ３およびＦＬＧｅｄ３がそれぞれ“１”および“０”でかつ動きベクトルＶＣ＿３の動きが有意でなければ、ステップＳ８１の処理を経てステップＳ８３に進む。ステップＳ７９では、変数Ｋの値を変数ＳＴ＿３に設定し、フラグＦＬＧｓｔ３の値を“０”から“１”に更新する。また、ステップＳ８１では、変数Ｋの値を変数ＥＤ＿３に設定し、フラグＦＬＧｅｄ３の値を“０”から“１”に更新する。
【００９２】
ステップＳ８３では変数Ｋが“１８０”に達したか否かを判別し、判別結果がＮＯであればステップＳ８５で変数ＫをインクリメントしてからステップＳ３９に戻る一方、判別結果がＹＥＳであればステップＳ８７に進む。
【００９３】
ステップＳ８７では積算ベクトルＴＶＣ＿１〜ＴＶＣ＿３のいずれもが有意な動きを示さないか否かを判別し、判別結果がＹＥＳであればステップＳ８９に進む一方、判別結果がＮＯであればステップＳ９１に進む。
【００９４】
ステップＳ８９では、既定周期（＝２０フレーム）毎に１フレームの画像データを抽出し、抽出された合計９フレームの画像データに基づいて１フレームのマルチ連写画像データを作成する。マルチ連写画像データはワークエリア２６ｃ上で作成され、抽出された９フレームの画像は縮小された状態でマルチ連写画像上に配置される。ステップＳ８９の処理が完了すると、上階層のルーチンに復帰する。
【００９５】
ステップＳ９１では変数Ｍｍａｘを“０”に設定し、ステップＳ９３では積算ベクトルＴＶＣ＿１が有意な動きを示すか否かを判別する。判別結果がＮＯであれば、動的物体は動的物体検出ブロックＢＬＫ１に存在しないとみなし、そのままステップＳ９９に進む。一方、判別結果がＹＥＳであれば、動的物体が動的物体検出ブロックＢＬＫ１に存在するとみなし、ステップＳ９５〜Ｓ９７で次の処理を実行してからステップＳ９９に進む。ステップＳ９５では変数Ｍｍａｘをインクリメントし、ステップＳ９９では変数ＳＴ＿１およびＥＤ＿１を変数ＦＳＴ＿ＭｍａｘおよびＦＥＤ＿Ｍｍａｘに設定する。
【００９６】
ステップＳ９９では積算ベクトルＴＶＣ＿２が有意な動きを示すか否かを判別し、ステップＳ１０１では積算ベクトルＴＶＣ＿１およびＴＶＣ＿２が互いに共通するか否かを判別する。
【００９７】
ステップＳ９９の判別結果がＮＯであれば、動的物体は動的物体検出ブロックＢＬＫ２に存在しないとみなし、そのままステップＳ１０７に進む。ステップＳ９９の判別結果およびステップＳ１０１の判別結果がいずれもＹＥＳであれば、動的物体検出ブロックＢＬＫ１に存在する動的物体が動的物体検出ブロックＢＬＫ２に跨っているとみなし、そのままステップＳ１０７に進む。
【００９８】
ステップＳ９９の判別結果がＹＥＳでかつステップＳ１０１の判別結果がＮＯであれば、動的物体検出ブロックＢＬＫ２に動的物体が存在するとみなし、ステップＳ１０３〜Ｓ１０５で次の処理を実行してからステップＳ１０７に進む。ステップＳ１０３では変数Ｍｍａｘをインクリメントし、ステップＳ１０５では変数ＳＴ＿２およびＥＤ＿２を変数ＦＳＴ＿ＭｍａｘおよびＦＥＤ＿Ｍｍａｘに設定する。
【００９９】
ステップＳ１０７では積算ベクトルＴＶＣ＿３が有意な動きを示すか否かを判別し、ステップＳ１０９では積算ベクトルＴＶＣ＿２およびＴＶＣ＿３が互いに共通するか否かを判別する。
【０１００】
ステップＳ１０７の判別結果がＮＯであれば、動的物体は動的物体検出ブロックＢＬＫ３に存在しないとみなし、そのままステップＳ１１５に進む。ステップＳ１０７の判別結果およびステップＳ１０９の判別結果がいずれもＹＥＳであれば、動的物体検出ブロックＢＬＫ２に存在する動的物体が動的物体検出ブロックＢＬＫ３に跨っているとみなし、そのままステップＳ１１５に進む。
【０１０１】
ステップＳ１０７の判別結果がＹＥＳでかつステップＳ１０９の判別結果がＮＯであれば、動的物体検出ブロックＢＬＫ３に動的物体が存在するとみなし、ステップＳ１１１〜Ｓ１１３で次の処理を実行してからステップＳ１１５に進む。ステップＳ１１１では変数Ｍｍａｘをインクリメントし、ステップＳ１１３では変数ＳＴ＿３およびＥＤ＿３を変数ＦＳＴ＿ＭｍａｘおよびＦＥＤ＿Ｍｍａｘに設定する。
【０１０２】
ステップＳ１１５では変数Ｍを“１”に設定し、ステップＳ１１９では変数ＦＳＴ＿ＭおよびＦＥＤ＿Ｍに基づいて抽出周期を算出する。抽出周期は、変数ＦＳＴ＿ＭおよびＦＥＤ＿Ｍの差分（＝ＦＥＤ＿Ｍ−ＦＳＴ＿Ｍ）を“９”で割り算して得られる数値に対応する。したがって、抽出周期は、動的物体の出現時期が長いほど長くなる。
【０１０３】
ステップＳ１１９では、こうして算出された抽出周期毎に存在する９フレームの画像データを変数ＦＳＴ＿Ｍに対応するフレームを起点として抽出し、抽出された９フレームの画像データに基づいてマルチ連写画像データを作成する。ステップＳ１２１では、変数Ｍが変数Ｍｍａｘに達したか否かを判別する。判別結果がＮＯであればステップＳ１２３で変数ＭをインクリメントしてからステップＳ１１７に戻り、判別結果がＹＥＳであれば上階層のルーチンに復帰する。
【０１０４】
以上の説明から分かるように、ＣＰＵ１８は、イメージセンサ１６によって捉えられた被写界を表す１８０フレーム（＝Ｋフレーム）の画像データをＳＤＲＡＭ２６に取り込み(S41)、被写界に出現した１または２以上の動的物体を画像データの取り込み処理と並列して検出する(S43~S45, S91~S95, S99~S103, S107~S111)。ＣＰＵ１８はまた、検出された１または２以上の動的物体の各々の出現時期を動的物体の検出処理に関連して特定し(S47~S81, S97, S105, S113)、ＳＤＲＡＭ２６に取り込まれた１８０フレームの画像データの中から９フレーム（＝Ｌフレーム）の画像データを抽出する処理を被写界から検出された動的物体の数に相当する回数にわたって実行する(S115, S121~S123)。ＣＰＵ１８はさらに、被写界から検出された動的物体毎に画像データの抽出態様を調整する処理を動的物体の出現時期に基づいて実行する(S119)。
【０１０５】
このように、１８０フレームの画像データから９フレームの画像データを抽出する処理は、動的物体の数に相当する回数にわたって実行される。また、９フレームの画像データの抽出態様は、動的物体の出現時期を参照して動的物体毎に調整される。これによって、動的物体を個別に捉えた連写画像の作成性能が向上する。
【０１０６】
なお、この実施例では、動的物体検出ブロックＢＬＫ＿１〜ＢＬＫ＿３を図７に示すように定義するようにしているが、これに代えて図１９に示すように動的物体検出ブロックＢＬＫ＿１〜ＢＬＫ＿３を定義するようにしてもよい。
【０１０７】
また、この実施例では、マルチタスクＯＳおよびこれによって実行される複数のタスクに相当する制御プログラムは、フラッシュメモリ４６に予め記憶される。しかし、図２０に示すように通信Ｉ／Ｆ７０をディジタルカメラ１０に設け、一部の制御プログラムを内部制御プログラムとしてフラッシュメモリ４６に当初から準備する一方、他の一部の制御プログラムを外部制御プログラムとして外部サーバから取得するようにしてもよい。この場合、上述の動作は、内部制御プログラムおよび外部制御プログラムの協働によって実現される。
【０１０８】
また、この実施例では、ＣＰＵ１８によって実行される処理を複数のタスクに区分するようにしている。しかし、各々のタスクをさらに複数の小タスクに区分してもよく、さらには区分された複数の小タスクの一部を撮像タスクに統合するようにしてもよい。また、撮像タスクを複数の小タスクに区分する場合、その全部または一部を外部サーバから取得するようにしてもよい。
【０１０９】
さらに、この実施例では、９フレームの画像データに基づいてマルチ連写画像データを作成するようにしているが、１６フレームの画像データに基づいてマルチ連写画像データを作成したり、４フレームの画像データに基づいてマルチ連写画像データを作成したりしてもよい。
【符号の説明】
【０１１０】
１０  …ディジタルカメラ
１６  …イメージセンサ
１８  …ＣＰＵ
２２  …前処理回路
２６  …ＳＤＲＡＭ
２８  …後処理回路
４２  …動き検出回路
【図１】
2012049639.tif 000003
【図２】
2012049639.tif 000004
【図３】
2012049639.tif 000005
【図４】
2012049639.tif 000006
【図５】
2012049639.tif 000007
【図６】
2012049639.tif 000008
【図７】
2012049639.tif 000009
【図８】
2012049639.tif 000010
【図９】
2012049639.tif 000011
【図１０】
2012049639.tif 000012
【図１１】
2012049639.tif 000013
【図１２】
2012049639.tif 000014
【図１３】
2012049639.tif 000015
【図１４】
2012049639.tif 000016
【図１５】
2012049639.tif 000017
【図１６】
2012049639.tif 000018
【図１７】
2012049639.tif 000019
【図１８】
2012049639.tif 000020
【図１９】
2012049639.tif 000021
【図２０】
2012049639.tif 000022