(57)【要約】【課題】ストロボ画像を高速に生成する。【解決手段】撮像部１００の連写動作により画像メモリ２３０に格納された連写画像を、１次元データ生成部２１３が、被写体の移動方向に応じた１方向に投影することで、データ量の少ない１次元データに変換する。被写体検出部２１４が、生成された１次元データに基づいて、各撮像画像において被写体を示す部分を検出すると、画像選択部２１５が、検出された被写体部分が重ならない画像を有効フレームとして選択する。１次元データに基づいて有効フレームが選択されると、有効フレームの画素値を用いて背景画像生成部２１６が背景画像を生成するとともに、被写体検出部２１４が、各有効フレームの被写体部分を抽出する。抽出された被写体画像と背景画像をストロボ画像生成部２１７が合成することで、ストロボ画像が生成される。【選択図】図２
2010200360.tif 000002
【特許請求の範囲】
【請求項１】
撮像により連続する複数の撮像画像を生成する撮像手段と、
前記撮像手段が生成した各撮像画像から、被写体の移動方向に応じた１次元データを生成する１次元データ生成手段と、
前記１次元データ生成手段が生成した１次元データに基づいて、各撮像画像において前記被写体を示す部分を検出する被写体検出手段と、
前記被写体検出手段が検出した被写体を示す部分に基づいて、ストロボ画像の生成に用いる前記撮像画像を選択する画像選択手段と、
前記画像選択手段が選択した撮像画像から背景画像を生成する背景画像生成手段と、
前記背景画像生成手段が生成した背景画像と、前記画像選択手段が選択した撮像画像における前記被写体を示す部分とを合成してストロボ画像を生成するストロボ画像生成手段と、
を備えることを特徴とする撮像装置。
【請求項２】
前記１次元データ生成手段は、
被写体の移動方向と直交する方向に前記各撮像画像を投影した投影データを前記１次元データとして生成する、
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記被写体検出手段は、前記１次元データと、当該１次元データ上の同一座標における画素値との差分と閾値との比較により、前記被写体を示す部分を検出する、
ことを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記画像選択手段は、
前記被写体検出手段によって検出された前記被写体を示す部分が重ならない撮像画像を選択する、
ことを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
撮像装置による撮像からストロボ画像を生成するストロボ画像生成方法であって、
前記撮像装置が、
撮像によって生成した連続する複数の撮像画像から、被写体の移動方向に応じた１次元データを生成する１次元データ生成ステップと、
前記１次元データ生成ステップで生成された１次元データに基づいて、各撮像画像において前記被写体を示す部分を検出する被写体検出ステップと、
前記被写体検出ステップで検出された被写体を示す部分に基づいて、ストロボ画像の生成に用いる前記撮像画像を選択する画像選択ステップと、
前記画像選択ステップで選択された撮像画像から背景画像を生成する背景画像生成ステップと、
前記背景画像生成ステップで生成された背景画像と、前記画像選択ステップで選択された撮像画像における前記被写体を示す部分とを合成してストロボ画像を生成するストロボ画像生成ステップと、
を実行することを特徴とするストロボ画像生成方法。
【請求項６】
コンピュータに、
撮像によって生成された連続する複数の撮像画像から、被写体の移動方向に応じた１次元データを生成する機能と、
前記１次元データに基づいて、各撮像画像において前記被写体を示す部分を検出する機能と、
前記検出された被写体を示す部分に基づいて、ストロボ画像の生成に用いる前記撮像画像を選択する機能と、
前記選択された撮像画像から背景画像を生成する機能と、
前記生成された背景画像と、前記選択された撮像画像における前記被写体を示す部分とを合成してストロボ画像を生成する機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、ストロボ画像生成方法、および、プログラムに関し、特に、撮像装置でのストロボ画像生成に好適な撮像装置、ストロボ画像生成方法、および、プログラムに関する。
【背景技術】
【０００２】
固定したカメラで移動する被写体を撮影し、１枚の画像（写真）内に移動経過の様子を表したストロボ画像（マルチストロボ画像）が知られている。フィルムカメラ時代においては、長時間露光中に移動被写体へ複数回のストロボ発光をおこなうことでこのようなストロボ画像を生成していたが、デジタルカメラが普及した今日においては、カメラ内のコンピュータによる画像処理でストロボ画像の生成が可能となっている。
【０００３】
このような画像処理によるストロボ画像生成では、従来、被写体が重ならない画像同士から被写体を取り出したり（例えば、特許文献１）、動画上の特定の領域から背景らしい撮影時間を特定したり（例えば、特許文献２）することで被写体の位置を判別していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７９３２５８号
【特許文献２】特許第３５６９９９２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような従来技術では、連写撮影や動画撮影におけるフレームレートが変化したり、被写体の大きさが変化したりする場合などでは、撮像画像すべてについての領域情報が取得できるまで画像内での被写体の位置を特定することができない。このため、連写画像や動画像からストロボ画像を生成する場合、使用する画像の選択に時間がかかってしまい、ストロボ画像を高速に生成することができなかった。
【０００６】
本発明は、上記実状に鑑みてなされたものであり、高速にストロボ画像を生成することのできる撮像装置、ストロボ画像生成方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点にかかる撮像装置は、
撮像により連続する複数の撮像画像を生成する撮像手段と、
前記撮像手段が生成した各撮像画像から、被写体の移動方向に応じた１次元データを生成する１次元データ生成手段と、
前記１次元データ生成手段が生成した１次元データに基づいて、各撮像画像において前記被写体を示す部分を検出する被写体検出手段と、
前記被写体検出手段が検出した被写体を示す部分に基づいて、ストロボ画像の生成に用いる前記撮像画像を選択する画像選択手段と、
前記画像選択手段が選択した撮像画像から背景画像を生成する背景画像生成手段と、
前記背景画像生成手段が生成した背景画像と、前記画像選択手段が選択した撮像画像における前記被写体を示す部分とを合成してストロボ画像を生成するストロボ画像生成手段と、
を備えることを特徴とする。
【０００８】
上記撮像装置において、
前記１次元データ生成手段は、
被写体の移動方向と直交する方向に前記各撮像画像を投影した投影データを前記１次元データとして生成することが望ましい。
【０００９】
上記撮像装置において、
前記被写体検出手段は、前記１次元データと、当該１次元データ上の同一座標における画素値との差分と閾値との比較により、前記被写体を示す部分を検出することが望ましい。
【００１０】
上記撮像装置において、
前記画像選択手段は、前記被写体検出手段によって検出された前記被写体を示す部分が重ならない撮像画像を選択することが望ましい。
【００１１】
上記目的を達成するため、本発明の第２の観点にかかるストロボ画像生成方法は、
撮像装置による撮像からストロボ画像を生成するストロボ画像生成方法であって、
前記撮像装置が、
撮像によって生成した連続する複数の撮像画像から、被写体の移動方向に応じた１次元データを生成する１次元データ生成ステップと、
前記１次元データ生成ステップで生成された１次元データに基づいて、各撮像画像において前記被写体を示す部分を検出する被写体検出ステップと、
前記被写体検出ステップで検出された被写体を示す部分に基づいて、ストロボ画像の生成に用いる前記撮像画像を選択する画像選択ステップと、
前記画像選択ステップで選択された撮像画像から背景画像を生成する背景画像生成ステップと、
前記背景画像生成ステップで生成された背景画像と、前記画像選択ステップで選択された撮像画像における前記被写体を示す部分とを合成してストロボ画像を生成するストロボ画像生成ステップと、
を実行することを特徴とする。
【００１２】
上記目的を達成するため、本発明の第３の観点にかかるプログラムは、
コンピュータに、
撮像によって生成された連続する複数の撮像画像から、被写体の移動方向に応じた１次元データを生成する機能と、
前記１次元データに基づいて、各撮像画像において前記被写体を示す部分を検出する機能と、
前記検出された被写体を示す部分に基づいて、ストロボ画像の生成に用いる前記撮像画像を選択する機能と、
前記選択された撮像画像から背景画像を生成する機能と、
前記生成された背景画像と、前記選択された撮像画像における前記被写体を示す部分とを合成してストロボ画像を生成する機能と、
を実現させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ストロボ画像をより高速に生成することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態にかかるデジタルカメラの構成を示すブロック図である。
【図２】図１に示す制御部によって実現される機能を示す機能ブロック図である。
【図３】本発明の実施形態にかかる「ストロボ画像生成処理」を説明するためのフローチャートである。
【図４】図３に示す「ストロボ画像生成処理」で表示される設定画面の表示例を説明するための図であり、（ａ）は、カメラの向きを指定するための設定画面の表示例を示し、（ｂ）は、被写体の移動方向を指定するための設定画面の表示例を示す。
【図５】本発明の実施形態にかかる撮像画像を説明するための図であり、（ａ）は、ストロボ画像生成に必要となる連写撮影の場面を例示し、（ｂ）は、（ａ）に示した連写撮影で得られた撮像画像（連写画像）の例を示す。
【図６】図３に示す「ストロボ画像生成処理」で実行される「１次元データ生成処理」を説明するためのフローチャートである。
【図７】図６に示す「１次元データ生成処理」を説明するための図であり、（ａ）は、撮像画像における座標と被写体移動方向の関係を示し、（ｂ）および（ｃ）は、撮像画像の投影と１次元データの例を示し、（ｄ）は、（ｂ）および（ｃ）に示した１次元データを重ねて示した図である。
【図８】図３に示す「ストロボ画像生成処理」で実行される「被写体領域検出処理」を説明するためのフローチャートである。
【図９】図３に示す「ストロボ画像生成処理」で実行される「被写体領域検出処理」を説明するためのフローチャートである。
【図１０】図３に示す「ストロボ画像生成処理」で実行される「被写体領域検出処理」を説明するためのフローチャートである。
【図１１】図８〜図１０に示す「被写体領域検出処理」を説明するための図であり、（ａ）は、被写体の移動方向がＸ方向である場合に検出される被写体領域の例を示し、（ｂ）は、被写体の移動方向がＹ方向である場合に検出される被写体領域の例を示す。
【図１２】図３に示す「ストロボ画像生成処理」で実行される「有効フレーム選択処理」を説明するためのフローチャートである。
【図１３】図３に示す「ストロボ画像生成処理」で実行される「有効フレーム選択処理」を説明するためのフローチャートである。
【図１４】選択された有効フレームの例を示す図である。
【図１５】図３に示す「ストロボ画像生成処理」で実行される「背景画像生成処理」を説明するためのフローチャートである。
【図１６】図３に示す「ストロボ画像生成処理」で実行される「被写体画像抽出処理」を説明するためのフローチャートである。
【図１７】生成されたストロボ画像の例を示す図である。
【発明を実施するための形態】
【００１５】
本発明にかかる実施形態を、図面を参照して以下に説明する。本実施形態では、本発明をデジタルスチルカメラ（以下、デジタルカメラ）によって実現した場合を例示する。本実施形態にかかるデジタルカメラ１は、一般的なデジタルスチルカメラが有する機能を備えているものとし、この中には、少なくとも、いわゆる連写機能が含まれているものとする。ここでの連写機能とは、１回のシャッタ操作で連続した複数の撮像画像を得ることのできる機能とする。
【００１６】
また、本実施形態にかかるデジタルカメラ１は、本発明の適用により、連写機能によって得られた撮像画像から、ストロボ画像（マルチストロボ画像）を生成するストロボ画像生成機能を有する。ここで「ストロボ画像」とは、動く被写体の移動経過が１つの画像内に表された画像をいう。本実施形態にかかるデジタルカメラ１でストロボ画像を生成するためには、連写機能によって動く（移動する）被写体を撮像するが、この場合、デジタルカメラ１を固定して撮像することとする。
【００１７】
図１は、本発明の実施形態にかかるデジタルカメラ１の構成を示すブロック図である。本実施形態にかかるデジタルカメラ１の概略的構成は、図示するように、撮像部１００、データ処理部２００、インタフェース（Ｉ／Ｆ）部３００、などである。
【００１８】
撮像部１００は、デジタルカメラ１の撮像動作をおこなう部分であり、図示するように、光学装置１１０やイメージセンサ部１２０などから構成されている。
【００１９】
光学装置１１０は、例えば、レンズ、絞り機構、シャッタ機構、などを含み、撮像にかかる光学的動作をおこなう。すなわち、光学装置１１０の動作により、入射光が集光されるとともに、焦点距離、絞り、シャッタスピードなどといった、画角やピント、露出などにかかる光学的要素の調整がなされる。なお、光学装置１１０に含まれるシャッタ機構はいわゆるメカニカルシャッタであり、イメージセンサの動作のみでシャッタ動作をおこなう場合には、光学装置１１０にシャッタ機構が含まれていなくてもよい。また、光学装置１１０は、後述する制御部２１０による制御によって動作する。
【００２０】
イメージセンサ部１２０は、光学装置１１０によって集光された入射光に応じた電気信号を生成する、例えば、ＣＣＤ（Charge Coupled Device：電荷結合素子）やＣＭＯＳ（Complementally Metal Oxide Semiconductor：相補型金属酸化物半導体）などのイメージセンサから構成される。イメージセンサ部１２０は、光電変換をおこなうことで、受光に応じた電気信号を発生してデータ処理部２００に出力する。
【００２１】
データ処理部２００は、撮像部１００による撮像動作によって生成された電気信号を処理し、撮像画像を示すデジタルデータを生成するとともに、撮像画像に対する画像処理などをおこなう。図１に示すように、データ処理部２００は、制御部２１０、画像処理部２２０、画像メモリ２３０、画像出力部２４０、記憶部２５０、外部記憶部２６０、などから構成される。
【００２２】
制御部２１０は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）などのプロセッサや、ＲＡＭ（Random Access Memory）などの主記憶装置（メモリ）、などから構成され、後述する記憶部２５０などに格納されているプログラムを実行することで、デジタルカメラ１の各部を制御する。また、本実施形態では、所定のプログラムを実行することで、後述する各処理にかかる機能が制御部２１０によって実現される。
【００２３】
画像処理部２２０は、例えば、ＡＤＣ（Analog-Digital Converter：アナログ−デジタル変換器）、バッファメモリ、画像処理用のプロセッサ（いわゆる、画像処理エンジン）などから構成され、撮像部１００によって生成された電気信号に基づいて、撮像画像を示すデジタルデータを生成する。
【００２４】
すなわち、イメージセンサ部１２０から出力されたアナログ電気信号をＡＤＣがデジタル信号に変換して順次バッファメモリに格納すると、バッファされたデジタルデータに対し、画像処理エンジンがいわゆる現像処理などをおこなうことで、画質の調整やデータ圧縮などをおこなう。
【００２５】
画像メモリ２３０は、例えば、ＲＡＭやフラッシュメモリなどの記憶装置から構成され、画像処理部２２０によって生成された撮像画像データや、制御部２１０によって処理される画像データなどを一時的に格納する。
【００２６】
画像出力部２４０は、例えば、ＲＧＢ信号の生成回路などから構成され、画像メモリ２３０に展開された画像データをＲＧＢ信号などに変換して表示画面（後述する表示部３１０など）に出力する。
【００２７】
記憶部２５０は、例えば、ＲＯＭ（Read Only Memory）やフラッシュメモリなどの記憶装置から構成され、デジタルカメラ１の動作に必要なプログラムやデータなどを格納する。本実施形態では、制御部２１０などが実行する動作プログラムや処理に必要となるパラメータや演算式などが記憶部２５０に格納されているものとする。
【００２８】
外部記憶部２６０は、例えば、メモリカードなどといった、デジタルカメラ１に着脱可能な記憶装置から構成され、デジタルカメラ１で撮像した画像データなどを格納する。
【００２９】
インタフェース部３００は、デジタルカメラ１とその使用者あるいは外部装置とのインタフェースにかかる構成であり、図１に示すように、表示部３１０、外部インタフェース（Ｉ／Ｆ）部３２０、操作部３３０、などから構成される。
【００３０】
表示部３１０は、例えば、液晶表示装置などから構成され、デジタルカメラ１を操作するために必要な種々の画面や、撮影時のライブビュー画像、撮像画像、などを表示出力する。本実施形態では、画像出力部２４０からの画像信号（ＲＧＢ信号）などに基づいて撮像画像等の表示出力がおこなわれる。
【００３１】
外部インタフェース部３２０は、例えば、ＵＳＢ（Universal Serial Bus）コネクタやビデオ出力端子などから構成され、外部のコンピュータ装置への画像データの出力や、外部のモニタ装置への撮像画像の表示出力などをおこなう。
【００３２】
操作部３３０は、デジタルカメラ１の外面上に構成されている各種ボタンなどによって構成され、デジタルカメラ１の使用者による操作に応じた入力信号を生成して制御部２１０に入力する。操作部３３０を構成するボタンとして、例えば、シャッタ動作を指示するためのシャッタボタンや、デジタルカメラ１のもつ動作モードを指定するためのモードボタン、各種設定をおこなうための十字キーや機能ボタン、などが含まれているものとする。
【００３３】
ここで、本実施形態では、記憶部２５０に格納されている動作プログラムを制御部２１０が実行することで、後述する各処理が実現されるが、この場合に制御部２１０によって実現される機能を、図２を参照して説明する。
【００３４】
図２は、制御部２１０によって実現される機能を示した機能ブロック図である。ここでは、連写機能によって撮像された画像からストロボ画像を生成する機能を実現するために必要な機能構成を示す。この場合、図示するように、制御部２１０は、動作モード処理部２１１、撮像制御部２１２、１次元データ生成部２１３、被写体検出部２１４、画像選択部２１５、背景画像生成部２１６、ストロボ画像生成部２１７、などとして機能する。
【００３５】
動作モード処理部２１１は、表示部３１０との協働により、デジタルカメラ１が有する各種動作モードをデジタルカメラ１のユーザに指定させるために必要な画面表示や指定された動作モード毎の設定画面表示などをおこなう他、操作部３３０との協働により、ユーザが指定した動作モードを認識し、当該動作モードの実行に必要なプログラムや演算式などを記憶部２５０から読み出し、制御部２１０の主記憶装置（メモリ）にロードする。
【００３６】
本実施形態では、ストロボ画像生成機能にかかる動作モード（ストロボ画像生成モード）がユーザによって指定されるものとし、以下に説明する制御部２１０の各機能構成は、ストロボ画像生成モードの指定に応じて動作モード処理部２１１がロードしたプログラムを実行することで実現される機能構成である。
【００３７】
撮像制御部２１２は、撮像部１００を制御することでデジタルカメラ１での撮像動作を実行する。本実施形態にかかるストロボ画像生成機能は、デジタルカメラ１の連写機能によって得られた撮像画像からストロボ画像を生成するので、本実施形態にかかる撮像制御部２１２は、撮像部１００が連写動作をおこなうよう制御する。この場合、操作部３３０のシャッタボタンが押下されている間、撮像部１００による撮像動作が連続的におこなわれるものとする。撮像制御部２１２の制御による連写動作で得られた撮像画像（連写画像）は、画像処理部２２０による処理を経て、順次画像メモリ２３０に格納される。この場合、画像メモリ２３０に格納される連写画像のそれぞれには、例えば、撮像順にフレーム番号が付与される。
【００３８】
１次元データ生成部２１３は、画像メモリ２３０に格納された連写画像を順次１次元データに変換し、例えば、制御部２１０の主記憶装置（メモリ）に格納する。ここで「１次元データ」とは、画像データを構成している画素値など情報を１方向成分で表したものである。本実施形態では、画像データを所定の１方向に投影することで得られる投影データを１次元データとする。この場合に画像データを投影する１方向は、対象としている被写体の移動方向に基づいて決定される（詳細後述）。
【００３９】
被写体検出部２１４は、各撮像画像間の１次元データを比較することで、各撮像画像において被写体を示す部分（領域）を検出する。この場合、被写体検出部２１４は、検出した被写体部分の位置情報（座標情報）を検出する。また、画像選択部２１５が選択した画像についての被写体部分を、画像メモリ２３０に格納されている撮像画像（連写画像）から抽出する。
【００４０】
画像選択部２１５は、被写体検出部２１４が検出した被写体部分の位置情報に基づいて、被写体部分が重ならない撮像画像を選択することで、ストロボ画像の生成に好適な画像（フレーム）を連写画像の中から選択する。
【００４１】
背景画像生成部２１６は、画像選択部２１５が選択した撮像画像から背景画像を生成する。ここでは、選択された撮像画像すべてについて、同一座標における画素値を取得し、画素値の中央値などを当該座標の画素値とすることで、被写体を除外した背景画像を生成する。
【００４２】
ストロボ画像生成部２１７は、背景画像生成部２１６が生成した背景画像に、選択された撮像画像から被写体検出部２１４が抽出した被写体部分の画像を合成することで、１つの背景画像内に、移動する被写体が重ならずに複数箇所で現れるストロボ画像を生成する。
【００４３】
以上が制御部２１０によって実現される機能である。なお、本実施形態では、制御部２１０がプログラムを実行することによる論理的処理で上述した各機能が実現されるものとするが、これらの機能を、例えば、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）などのハードウェアによって構成してもよい。この場合、図２に示した機能のうち、画像処理にかかる機能については、画像処理部２２０によって実現されてもよい。
【００４４】
以上説明したデジタルカメラ１の構成は、本発明を実現するために必要な構成であり、デジタルカメラとしての基本機能や種々の付加機能に用いられる構成は必要に応じて備えられているものとする。
【００４５】
このような構成のデジタルカメラ１による動作を以下に説明する。ここでは、ストロボ画像生成モードが指定された場合にデジタルカメラ１が実行する「ストロボ画像生成処理」を、図３に示すフローチャートを参照して説明する。このストロボ画像生成処理は、デジタルカメラ１のユーザが操作部３３０を操作することで、ストロボ画像生成モードを指定したことを契機に開始される。この場合、動作モード処理部２１１が、ストロボ画像生成モードにかかるプログラムなどを記憶部２５０からロードすることで、図２に示した各機能構成により以下の処理が実行される。
【００４６】
処理が開始されると、動作モード処理部２１１が、ストロボ画像生成モードを実施する上で必要となる設定のための設定画面を表示部３１０に表示する（ステップＳ１０１）。ここで表示される設定画面の例を図４に示す。
【００４７】
ここではまず、図４（ａ）に示すような、カメラの向き（縦横）を設定するための設定画面が表示される。この設定画面は、ストロボ画像とする連写画像を撮影するときのデジタルカメラ１が、横位置であるか縦位置であるかをユーザに選択させるためのものである。デジタルカメラ１のユーザは、操作部３３０を操作し、連写撮影時のカメラの向きを指定する。なお、デジタルカメラ１が、例えば、加速度センサなどによる縦位置検出機能などを備えている場合は、その検出結果を用いることができるので、設定画面によってユーザに指定させる必要はない。
【００４８】
指定されたカメラの向きが指定されると、動作モード処理部２１１は、図４（ｂ）に示すような、被写体の移動方向を設定するための設定画面を表示部３１０に表示する。つまり、ストロボ画像生成モードにおいては、移動する被写体を撮影することになるので、その移動方向をここで設定する。図示するように、被写体の移動方向を設定する設定画面には、例えば、４方向を示す矢印が表示されるので、ユーザは、操作部３３０の十字キーなどを操作することで、撮影する被写体の移動方向を設定する。
【００４９】
動作モード処理部２１１は、このようにして設定された、カメラの向きや被写体の移動方向を、例えば、制御部２１０の主記憶装置（メモリ）などに記録することで、ストロボ画像生成モードにかかる設定をおこなう（ステップＳ１０２）。
【００５０】
ここで、ストロボ画像生成モードで撮影する場合における、デジタルカメラ１と被写体との関係を図５（ａ）に例示する。この場合、例えば、左から右に移動する被写体ＭＶをデジタルカメラ１で撮影することを想定する。この場合において、デジタルカメラ１の方向や画角は固定して撮影する。なお、図５（ａ）に例示した撮影の場合、ステップＳ１０２で設定される内容は「カメラの向き：横位置」、「被写体移動方向：→（右）」ということになる。つまり、横方向に被写体が移動することが設定される。
【００５１】
上述したように、ストロボ画像生成モードにおいては連写で撮影するので、デジタルカメラ１のユーザは、上記の設定をおこなった後、操作部３３０のシャッタボタンを操作して撮影を開始することになる。よって、動作モード処理部２１１は、ストロボ画像生成モードが指定された際に、撮像制御部２１２に対し、連写撮像をおこなうよう指示する。
【００５２】
そして、デジタルカメラ１のユーザ（撮影者）がシャッタボタン（操作部３３０）を操作（押下）すると、操作に応じた入力信号が操作部３３０から制御部２１０に入力される。これにより、撮像制御部２１２は、シャッタボタンが操作されたと判別し（ステップＳ１０３：Ｙｅｓ）、撮像部１００を制御して連写撮像をおこなう（ステップＳ１０４）。この連写撮像動作は、ユーザがシャッタボタンを押下し続けている間おこなわれる（ステップＳ１０５：Ｎｏ）。
【００５３】
シャッタ操作を終了すると（ステップＳ１０５：Ｙｅｓ）、撮像制御部２１２が撮像動作の終了を撮像部１００に指示する。これにより、連写撮像動作が終了し、連写撮像によって得られた画像（連写画像）が順次、画像処理部２２０での処理を経て画像メモリ２３０に格納される（ステップＳ１０６）。
【００５４】
図５（ａ）に例示した場面を連写撮像した場合に得られる連写画像の例を図５（ｂ）に示す。図示するように、被写体ＭＶが移動する様子が、複数の撮像画像によって示される。上述したように、デジタルカメラ１を固定して撮影しているので、各連写画像における被写体ＭＶ以外の部分（すなわち、背景）には大きな変化はない。
【００５５】
ここで、１回の連写撮像動作によって得られた連写画像のそれぞれには、撮像した時系列順に１〜ｐのフレーム番号が付される。図５（ｂ）の例では、フレーム１〜フレーム１２（すなわち、ｐ＝１２）までの画像が得られたことになる。
【００５６】
このようにして連写撮像がおこなわれると、得られた連写画像を用いてストロボ画像を生成するための処理が順次実行される。ここではまず、撮像制御部２１２が、連写撮像の終了を１次元データ生成部２１３に通知することで、連写画像を１次元データ化するための「１次元データ生成処理」が実行される（ステップＳ２００）。この１次元データ生成処理を、図６に示すフローチャートを参照して説明する。なお、理解を容易にするため、以下の説明においては、カメラの向きとして「横位置」が設定されているものとする。
【００５７】
処理が開始されると、１次元データ生成部２１３は、処理対象となる画像（フレーム）を指定するためのポインタｎに、フレーム番号の初期値「１」を設定し（ステップＳ２０１）、画像メモリ２３０に格納されている連写画像フレーム番号がｎの画像（ｎ番目の画像）を処理対象として選択する（ステップＳ２０２）。
【００５８】
処理対象画像を選択すると、１次元データ生成部２１３は、当該画像における調査座標の初期化をおこなう（ステップＳ２０３）。ここでは、ｘ座標とｙ座標のそれぞれを「０」とした座標を初期調査座標とする。ここで、画像上の座標について、図７（ａ）を参照して説明する。本実施形態では、カメラの向きが「横位置」としているので、このようなデジタルカメラ１で得られる撮像画像は、図７（ａ）に示すような横長の画像となる。この場合、画像の左右方向を「Ｘ方向」、上下方向を「Ｙ方向」とする。ここで、このような画像の左上端部を座標原点（０，０）とする。この場合、Ｘ方向の画素数をsizeXとすると、ｘ座標の最大値はsizeX-1となる。同様に、Ｙ方向の画素数をsizeYとすると、ｙ座標の最大値はsizeY-1となる。
【００５９】
次に１次元データ生成部２１３は、上述したストロボ画像生成処理（図３）のステップＳ１０２で設定された被写体移動方向が、図７（ａ）のように定義した撮像画像の座標系におけるＸ方向であるかＹ方向であるか判別する（ステップＳ２０４）。ここで、カメラの向きが横位置である場合、図４（ｂ）に示した設定画面で左右方向のいずれかが指定されていれば、被写体の移動方向はＸ方向（横方向）となる。一方、上下方向のいずれかが指定されていたのであれば、被写体の移動方向はＹ方向（縦方向）ということになる。
【００６０】
図５（ａ）に例示した場面では、横方向に移動している被写体ＭＶを撮影しているので、ここでは被写体の移動方向がＸ方向であると判別される（ステップＳ２０４：Ｙｅｓ）。被写体の移動方向がＸ方向である場合、１次元データ生成部２１３は、被写体の移動方向と直交する方向、すなわちＹ方向に画像を投影する処理をおこなう。
【００６１】
この場合、１次元データ生成部２１３は、処理対象画像のＸ方向の座標すべてにおいて、Ｙ方向の画素値を合算することでＹ方向に投影する（ステップＳ２０５、ステップＳ２０６、ステップＳ２０７：Ｙｅｓ）。ここでは、ステップＳ２０３で調査座標の初期化をおこなっているので、まず、ｘ座標０に対応するｙ座標の画素値を合算し、その結果を制御部２１０の主記憶装置（メモリ）に保持する。つぎに、ｘ座標の値を＋１し、次のｘ座標について同様の演算をおこなう。このような処理を、ｘ座標が当該画像のＸ方向のサイズ、すなわちＸ方向の画素数分繰り返しおこなう。
【００６２】
一方、被写体の移動方向がＹ方向（上下方向）である場合（ステップＳ２０４：Ｎｏ）は、同様の方法によって、移動方向と直交する方向、すなわちＸ方向に画像を投影することとなる（ステップＳ２０８、ステップＳ２０９、ステップＳ２１０：Ｙｅｓ）。
【００６３】
処理画像における投影が終了すると（ステップＳ２０７：Ｎｏ、もしくは、ステップＳ２１０：Ｎｏ）、１次元データ生成部２１３は、ポインタｎを＋１し（ステップＳ２１１）、新たなポインタｎに対応するフレーム番号が連写撮像によって付されたフレーム番号の値以下であれば（ステップＳ２１２：Ｎｏ）、次の連写画像を処理対象として選択する（ステップＳ２０２）。
【００６４】
一方、すべての連写画像についての投影が終了した場合（ステップＳ２１２：Ｙｅｓ）は、ストロボ画像生成処理（図３）のフローに戻る。
【００６５】
このような、１次元データ生成処理による投影により、連写画像のそれぞれが、例えば、図７（ｂ）や図７（ｃ）に示すような１次元データに変換されることになる。このような１次元データ生成は、例えば、数１によって表すことができる。
【００６６】
【数１】
2010200360.tif 000003
【００６７】
このようにして、連写画像のそれぞれについての１次元データ（投影データ）を生成すると、１次元データ生成部２１３は、生成した１次元データを、元となった撮像画像のフレーム番号と対応づけて画像メモリ２３０に順次格納するとともに、すべての連写画像についての１次元データが生成された旨を被写体検出部２１４に通知する。被写体検出部２１４は、１次元データ生成部２１３からの通知に応じて、変換された１次元データを用いて被写体部分を検出するための「被写体領域検出処理」を実行する（ステップＳ３００）。
【００６８】
ここで、連写画像についての１次元データから被写体部分を検出する処理の概念を図７（ｂ）〜図７（ｄ）を参照して説明する。図７（ｂ）は、図５（ａ）に示した場面において、被写体ＭＶがない状態で撮像した場合の撮像画像の例（上段）と、当該撮像画像の１次元データの例（下段）を示し、図７（ｃ）は、被写体ＭＶがある状態の撮像画像の例（上段）と、当該撮像画像の１次元データ（下段）の例を示したものである。
【００６９】
上述したように、本実施形態にかかるデジタルカメラ１でストロボ画像生成をおこなう場合、デジタルカメラ１を固定して連写撮像をおこなう。よって、得られる複数の連写画像間では、被写体ＭＶ以外の背景部分に大きな変化はない。よって、各連写画像間の１次元データを比較すると、被写体ＭＶの範囲において変化が現れることになる。ここで、理解を容易にするため、被写体ＭＶが写っていない画像と被写体ＭＶが写っている画像の１次元データを、それぞれ図７（ｂ）および図７（ｃ）に示す。それぞれの１次元データを比較すると、図７（ｃ）で被写体ＭＶが写っている箇所のデータが図７（ｂ）とは異なっており、その他の部分では同じデータとなっている。
【００７０】
すなわち、両画像の１次元データを図７（ｄ）に示すように重ねると、一致しない箇所が存在する。このような１次元データが一致しない箇所が、被写体ＭＶが写っている範囲（被写体の移動方向がＸ方向であればＸ方向の範囲、移動方向がＹ方向であればＹ方向の範囲）となる。よって、時系列順に隣接する連写画像間の１次元データの差分をとれば、被写体範囲の推移が示されることとなる。
【００７１】
被写体検出部２１４は、このような原理に基づく処理をおこなうことで、連写画像における被写体部分の検出をおこなう。ここで実行される被写体領域検出処理（ステップＳ３００）を、図８〜図１０に示すフローチャートを参照して説明する。
【００７２】
処理が開始されると、被写体検出部２１４はまず、ストロボ画像生成処理（図３）のステップＳ１０２における設定内容に基づき、被写体の移動方向がＸ方向であるかＹ方向であるか判別する（ステップＳ３０１）。以下、被写体の移動方向がＸ方向である場合（ステップＳ３０１：Ｙｅｓ）を中心に説明する。
【００７３】
この場合、被写体検出部２１４は、調査対象とするＸ方向の座標を初期化する。上述したように、撮像画像の座標範囲は(0,0)〜(sizeX-1,sizeY-1)なので、ｘ座標の初期値を「０」とする（ステップＳ３０２）。
【００７４】
次に被写体検出部２１４は、ポインタｎを１〜ｐとなるよう指定することで連写画像のフレームを順次指定し、各フレームについて「１次元データ生成処理」（図６）で生成された、座標ｘに対応する１次元データを画像メモリ２３０から取得して、例えば、制御部２１０の主記憶装置（メモリ）に格納する（ステップＳ３０３〜ステップＳ３０６：Ｎｏ）。
【００７５】
すべてのフレームの１次元データを取得すると（ステップＳ３０６：Ｙｅｓ）、被写体検出部２１４は、取得した１次元データをソートし（ステップＳ３０７）、その中央値を、座標ｘが背景画像を示している場合の画素値fb(x)とする（ステップＳ３０８）。
【００７６】
このような動作を、ｘ座標の各点でおこなう（ステップＳ３０９、ステップＳ３１０：Ｎｏ）。すべてのフレームにおけるすべてのｘ座標（０〜sizeX-1）についての背景画素値fb(x)が得られると（ステップＳ３１０：Ｙｅｓ）、ステップＳ３１１（図９）に進む。
【００７７】
ここで被写体検出部２１４は、ポインタｎをフレーム初期値「１」にするとともに、ｘ座標を座標初期値「０」とする（ステップＳ３１１、ステップＳ３１２）。そして、被写体検出部２１４は、ｎ番目のフレームの当該ｘ座標における画素値fn(x)と、ステップＳ３０８で求めた当該座標ｘにおける背景画素値fb(x)の差分fd(x)（＝|fb(x)−fn(x)|）を算出する（ステップＳ３１３：Ｙｅｓ、ステップＳ３１４）。
【００７８】
被写体検出部２１４は、算出した差分fd(x)が所定の閾値DiffThより大きいか否かを判別することで、当該座標ｘが被写体を示している部分であるか否かを判別する（ステップＳ３１５）。つまり、背景画素値fb(x)は、座標ｘが背景画像を示しているときの画素値であるから、実際の画素値fn(x)が背景画像の画素値より大きく異なっていれば、フレームｎにおける座標ｘは、背景以外、すなわち被写体ＭＶを示していることになる。よって、このような判別をおこなえる閾値DiffThを設定し、差分fd(x)が閾値DiffThより大きければ、画素値fn(x)は被写体部分を示す画素値であると判別することができる。
【００７９】
ここで、画素値fn(x)が閾値DiffTh以下である場合（ステップＳ３１５：Ｎｏ）、ｎ番目のフレームにおける座標ｘは被写体部分ではないので、ｘ座標を＋１し（ステップＳ３１６）、画像サイズ内の座標であれば（ステップＳ３１３：Ｙｅｓ）、次の座標ｘについて同様の判別をおこなう（ステップＳ３１４、ステップＳ３１５）。
【００８０】
ここで、ステップＳ３１２での初期化において、ｘ座標を画像の左端である「０」としているので、調査座標の座標ｘが被写体部分の画素を示していると判別した場合（ステップＳ３１５：Ｙｅｓ）、被写体検出部２１４は、当該ｘ座標を、ｎ番目のフレームにおける被写体部分の左端に対応する座標L(n)とする（ステップＳ３１７）。
【００８１】
つまり、撮像画像の左端となるｘ＝０の位置から、ｘ座標を＋１しながら判別をおこなっているので、ステップＳ３１２〜ステップＳ３１６の処理は、画像の左端から被写体部分の探索をおこなっていたことになる。ここで、ｘ座標についての被写体範囲には幅があるので、被写体の範囲の右端についても特定する必要がある。よって、被写体部分の左端を特定すると、被写体検出部２１４は、被写体部分の右端を探索する動作をおこなう。
【００８２】
この場合、撮像画像の右端側から被写体部分の探索を開始する。したがって、被写体検出部２１４は、調査座標ｘを、撮像画像の右端を示すｘ座標であるsizeX-1とする（ステップＳ３１８）。ここでは、被写体部分の右端を探索するので、調査座標ｘは、ステップＳ３１７で被写体部分の左端とした座標L(n)よりも右側でなければならない。よって、被写体検出部２１４は、調査座標ｘがL(n)より大きい場合（ステップＳ３１９：Ｙｅｓ）、当該座標ｘについてのfd(x)を算出し（ステップＳ３２０）、算出したfd(x)が閾値DiffThより大きいか否かを判別する（ステップＳ３２１）。
【００８３】
座標ｘにおけるfd(x)が閾値DiffTh以下で、被写体部分を示していないのであれば（ステップＳ３２１：Ｎｏ）、被写体検出部２１４は、調査座標ｘを−１することで左に１座標分ずらし（ステップＳ３２２）、当該座標ｘについて同様の判別をおこなう（ステップＳ３１９、ステップＳ３２０、ステップＳ３２１）。このようにして、撮像画像の右端側から探索し、調査座標ｘにおける画素が被写体部分を示していると判別した場合（ステップＳ３２１：Ｙｅｓ）、被写体検出部２１４は、当該座標ｘを、フレームｎにおける被写体部分の右端の座標R(n)とする（ステップＳ３２３）。
【００８４】
なお、画像の左端から探索しても被写体部分が検出されない場合（ステップＳ３１３：Ｎｏ）や、右端側から設定したｘ座標が被写体左端L(n)より左側にある場合（ステップＳ３１９：Ｎｏ）は、当該フレームｎには被写体部分がないものとし、例えば、L(n)＝R(n)となるよう数値設定し、次のフレームに調査対象を移動する（ステップＳ３２４）。
【００８５】
また、フレームｎについて被写体範囲が検出された場合も、次のフレームを調査対象として、上述した処理をおこなう（ステップＳ３２４、ステップＳ３２５：Ｎｏ）。そして、すべてのフレームについて被写体領域を検出すると（ステップＳ３３２５：Ｙｅｓ）、ストロボ画像生成処理（図３）のフローに戻る。
【００８６】
以上が、被写体の移動方向がＸ方向である場合の被写体領域検出の動作である。この場合、図１１（ａ）に示すように、各フレームに現れている被写体ＭＶのＸ方向についての範囲が順次求められることになる。このようにして求められた被写体範囲の座標（L(n)とR(n)）は、フレーム番号と対応づけて主記憶装置（メモリ）などに格納される。
【００８７】
一方、被写体の移動方向がＹ方向である場合、上述した処理と同様の処理をＹ方向についておこなうことになる。すなわち、図８のステップＳ３２６〜ステップＳ３３４および図１０のステップＳ３３５〜ステップＳ３４９をおこなうことで、各フレームに現れている被写体画像の上端座標T(n)と下端座標B(n)がそれぞれ求められる（図１１（ｂ）参照）。
【００８８】
このようにして被写体領域を検出すると、被写体検出部２１４はその旨を画像選択部２１５に通知する。この場合、画像選択部２１５は、検出された被写体領域に基づいて、ストロボ画像の生成に用いる撮像画像（有効フレーム）を選択するための「有効フレーム選択処理」（図３のステップＳ４００）を実行する。この有効フレーム選択処理を、図１２および図１３に示すフローチャートを参照して説明する。
【００８９】
処理が開始されると、画像選択部２１５はまず、被写体の移動方向がＸ方向であるかＹ方向であるかを判別する（ステップＳ４０１）。ここで、図１２のフローチャートは、被写体の移動方向がＸ方向である場合の処理を示し、図１３のフローチャートは、Ｙ方向である場合の処理を示している。
【００９０】
被写体の移動方向がＸ方向である場合（ステップＳ４０１：Ｙｅｓ）、画像選択部２１５は、ポインタｎをフレーム初期値「１」とし、上述した被写体領域検出処理での検出結果に基づき、当該ｎ番目のフレームには被写体領域があるか否かを判別する（ステップＳ４０２〜ステップＳ４０３）。ここでは、被写体領域の範囲を示すL(n)およびR(n)（もしくはT(n)およびB(n)）がフレームｎについて記録されており、かつ、L(n)≠R(n)（もしくはT(n)≠B(n)）であれば、フレームｎから被写体領域が検出されたと判別する。
【００９１】
ここで、フレームｎから被写体領域が検出されていない場合（ステップＳ４０３：Ｎｏ）は、当該ｎ番目のフレームはストロボ画像の生成には用いない無効フレームとし（ステップＳ４０４）、次のフレームについて被写体領域の有無を判別する（ステップＳ４０９、ステップＳ４１０：Ｎｏ、ステップＳ４０３）。
【００９２】
このようにして、連写画像の最初のフレームから順次被写体領域の有無を判別する。そして、画像選択部２１５は、被写体領域があると判別された最初のフレームを有効フレームとして選択する（ステップＳ４０３：Ｙｅｓ、ステップＳ４０５：Ｎｏ、ステップＳ４０７）。ここで、画像選択部２１５は、有効フレームとして選択したフレーム（連写画像）に、フレーム番号とは別の有効フレーム番号を付与する。この場合、ステップＳ４０７で最初の有効フレームとして選択したフレームには、有効フレーム番号として「１」を付与する。さらに、画像選択部２１５は、有効フレームを指定するためのポインタｍに、ステップＳ４０７で選択されたフレームのフレーム番号を設定する（ステップＳ４０８）。
【００９３】
最初の有効フレームを選択するとともに、このフレームのフレーム番号をポインタｍに設定すると、画像選択部２１５は、ポインタｎを＋１し、次のフレームについて被写体領域の有無を判別する（ステップＳ４０９、ステップＳ４１０：Ｎｏ、ステップＳ４０３）。すなわち、ストロボ画像の生成に用いる次のフレームを探索する。ここで、最初の有効フレームが選択された後は（ステップＳ４０５：Ｙｅｓ）、調査対象フレーム（ｎ番目のフレーム）と直前に選択した有効フレーム（ポインタｍが指定するフレーム）との間で被写体領域の位置を比較することで、前の有効フレームと被写体部分が重ならないフレームを有効フレームとして選択していく。
【００９４】
ここで、被写体の移動方向がＸ方向である場合、左から右への移動と右から左への移動の２通りがある。左から右に移動していたのであれば、フレームｎにおける被写体領域が、フレームｍにおける被写体領域より右側にある必要がある。一方、右から左に移動していたのであれば、フレームｎにおける被写体領域が、フレームｍにおける被写体領域より左側にある必要がある。
【００９５】
よって、画像選択部２１５は、フレームｎにおける被写体左端L(n)が、フレームｍの被写体右端R(m)より大きいか、フレームｎにおける被写体右端R(n)が、フレームｍの被写体左端L(m)より小さい場合、フレームｎの被写体部分がフレームｍの被写体部分と重なっていないと判別する（ステップＳ４０６）。
【００９６】
フレームｎの被写体領域がこのような条件に合致していれば（ステップＳ４０６：Ｙｅｓ）、画像選択部２１５は、当該ｎ番目のフレームを有効フレームとして選択する（ステップＳ４０７）。一方、条件に合致しなければ（ステップＳ４０６：Ｎｏ）、当該ｎ番目のフレームは、ストロボ画像の生成に用いない無効フレームとする（ステップＳ４０４）。
【００９７】
以降の連写画像についても、このような条件判別による有効フレームの選択をおこない、すべての連写画像を調査して有効フレームの選択をおこなうと（ステップＳ４１０：Ｙｅｓ）、図１４に示すように、フレーム番号とは別の有効フレーム番号が付与された有効フレームと、ストロボ画像の生成には用いない無効フレームとが峻別される。
【００９８】
なお、有効フレーム番号は、図示するように、選択された有効フレームにおいて時系列順に連番となっているものとする。この場合、選択された有効フレームの数をｐ’（ｐ’≦ｐ）とする。このように、選択した有効フレームを示す識別情報を付与することで、画像メモリ２３０に格納した連写画像の中から有効フレームを峻別できるが、無効フレームを画像メモリ２３０から消去することで、有効フレームのみ画像メモリ２３０に残すようにしてもよい。
【００９９】
以上が、被写体がＸ方向に移動していた場合に有効フレームを選択する動作である。被写体の移動方向がＹ方向である場合（図１２のステップＳ４０１：Ｎｏ）も、同様の処理によって有効フレームを選択することができる。つまり、図１３に示すフローチャートのステップＳ４１１〜ステップＳ４１９をおこなうことで、Ｙ方向に移動する被写体の画像が重ならないフレームが有効フレームとして選択されるが、最初の有効フレームが選択された後の選択条件は、被写体が上から下に移動する場合と下から上に移動する場合を考慮する。
【０１００】
すなわち、上から下に移動していたのであれば、フレームｎにおける被写体領域が、直前に選択した有効フレームｍにおける被写体領域より下側にある必要がある。一方、下から上に移動していたのであれば、フレームｎにおける被写体領域が、直前に選択した有効フレームｍにおける被写体領域より上側にある必要がある。
【０１０１】
よって、画像選択部２１５は、フレームｎにおける被写体上端T(n)が、直前に選択した有効フレームｍの被写体下端B(m)より大きいか、フレームｎにおける被写体下端B(n)が、直前に選択した有効フレームｍの被写体上端T(m)より小さい場合、フレームｎの被写体部分が直前に選択した有効フレームｍの被写体部分と重なっていないと判別する（図１３のステップＳ４１５）。
【０１０２】
以上説明したように、撮像画像を１方向に投影した１次元データから、被写体領域の検出と、被写体部分が重ならないフレームの選択をおこなった。すなわち、ストロボ画像の生成に用いる画像（有効フレーム）の選択を、データ量の少ない１次元データに基づいておこなうことで、撮像画像のすべてのデータを用いておこなうよりも、画像選択までの処理量が大幅に削減される。
【０１０３】
このようにして、ストロボ画像の生成に用いる画像（有効フレーム）が選択されると、ストロボ画像生成処理（図３）では、選択したフレームの画像データを用いて、ストロボ画像の背景画像を生成するための「背景画像生成処理」（ステップＳ５００）、有効フレームから被写体部分の画像を抽出するための「被写体画像抽出処理」（ステップＳ６００）が順次実行される。
【０１０４】
「背景画像生成処理」を、図１５に示すフローチャートを参照して説明する。この背景画像生成処理は、有効フレーム選択処理が終了した旨を画像選択部２１５が背景画像生成部２１６に通知したことを契機に開始される。
【０１０５】
処理が開始されると、背景画像生成部２１６は、有効フレーム上で調査する座標（ｘ，ｙ）の初期化をおこなう。ここでは、ｘおよびｙのそれぞれの初期値「０」とすることで、有効フレームの座標原点（０，０）を調査座標とする（ステップＳ５０１）。
【０１０６】
次に背景画像生成部２１６は、有効フレームを指定するポインタｎ’で１〜ｐ’を順次指定することで、設定した座標（ｘ，ｙ）の画素値を、画像メモリ２３０に格納されているすべての有効フレーム（１〜ｐ’）から順次取得する（ステップＳ５０２〜ステップＳ５０４、ステップＳ５０５：Ｎｏ）。
【０１０７】
すべての有効フレームから座標（ｘ，ｙ）の画素値を取得すると（ステップＳ５０５：Ｙｅｓ）、背景画像生成部２１６は、取得した画素値をソートし（ステップＳ５０６）、その中央値を座標（ｘ，ｙ）が背景部分を示している場合の画素値（背景画素値fb'(x,y)）とする（ステップＳ５０７）。
【０１０８】
座標（ｘ，ｙ）についての背景画素値fb'(x,y)を求めると、背景画像生成部２１６は、有効フレームの座標範囲内の座標を順次調査座標とし、当該座標（ｘ，ｙ）についての背景画素値fb'(x,y)を求める（ステップＳ５０８、ステップＳ５０９：Ｎｏ、ステップＳ５０２〜ステップＳ５０７）。ここでは、例えば、同一のｙ座標についてのｘ座標を順次＋１していき、ｘ座標が画像の右端に達したところでｙ座標を＋１するとともに座標ｘを０にすることを繰り返すことで、（０，０）から（sizeX-1，sizeY-1）までの画素値を順次取得し、各座標における背景画素値fb'(x,y)を求める。
【０１０９】
すべての座標から求めた背景画素値fb'(x,y)を各座標における画素値とすることで、有効フレームに示されている背景部分のみを示した背景画像とすることができる。背景画像生成部２１６は、このようにして背景画像を生成すると（ステップＳ５１０）、生成した背景画像を画像メモリ２３０に格納するとともに、背景画像を生成した旨を被写体検出部２１４に通知して処理を終了する。
【０１１０】
この場合、ストロボ画像生成処理（図３）のフローに戻り、「被写体画像抽出処理」（ステップＳ６００）が実行される。この被写体画像抽出処理は、背景画像の生成を契機に被写体検出部２１４によって実行される。この被写体画像抽出処理を、図１６に示すフローチャートを参照して説明する。
【０１１１】
処理が開始されると、被写体検出部２１４は、座標（ｘ，ｙ）の初期化（ステップＳ６０１）と、対象フレームの初期化（ステップＳ６０２）をおこない、有効フレーム１〜ｐ’のそれぞれから座標（ｘ，ｙ）の画素値fn'(x,y)を順次取得し、当該座標（ｘ，ｙ）における背景画素値fb'(x,y)との差分fd'(x,y)を算出する（ステップＳ６０３〜ステップＳ６０５、ステップＳ６０６：Ｎｏ）。
【０１１２】
すべての有効フレームから座標（ｘ，ｙ）における差分fd'(x,y)を算出すると（ステップＳ６０６：Ｙｅｓ）、被写体検出部２１４は、算出した差分fd'(x,y)の標準偏差fs(x,y)を算出する（ステップＳ６０７）。ここでは、例えば、被写体検出部２１４が数２を演算することで標準偏差fs(x,y)を算出する。
【０１１３】
【数２】
2010200360.tif 000004
【０１１４】
座標（ｘ，ｙ）での標準偏差fs(x,y)を算出すると、被写体検出部２１４は、有効フレームの座標範囲内で調査座標を移動させ、各座標における標準偏差fs(x,y)を順次算出する（ステップＳ６０８、ステップＳ６０９：Ｎｏ、ステップＳ６０２〜ステップＳ６０７）。
【０１１５】
各座標における標準偏差fs(x,y)を算出すると、被写体検出部２１４は、各有効フレームにおける被写体部分の判別に用いる変動閾値moveを、算出した標準偏差fs(x,y)に基づいて設定する（ステップＳ６１０）。ここでは、例えば、数３を演算することで、変動閾値moveを設定する。
【０１１６】
【数３】
2010200360.tif 000005
【０１１７】
変動閾値moveを設定すると、被写体検出部２１４は、画像メモリ２３０に格納されている有効フレーム（１〜ｐ’）のそれぞれから、差分fd'(x,y)≧変動閾値moveとなる画素値を取得する（ステップＳ６１１、ステップＳ６１２、ステップＳ６１５、ステップＳ６１６：Ｎｏ）。
【０１１８】
被写体検出部２１４は、このような条件となる画素値を、フレームｎ’で被写体部分を示す画素値とするが（ステップＳ６１４）、この場合、例えば、差分fd'(x,y)≧変動閾値moveとなる座標を「１」、差分fd'(x,y)＜変動閾値moveとなる座標を「０」するデータを生成し、生成した０と１のデータに対し、例えば、連続している領域には同じ番号を振り、離れている領域には別の番号を振るラベリングをおこなう。そして、ラベリングした領域のうちで最大となる領域のみとなる座標についての画素値を、当該フレームｎ’で被写体部分を示す画素値とする。
【０１１９】
このとき、被写体検出部２１４は、例えば、膨張・穴埋め・収縮などといった欠損を補完するための処理や、被写体領域の周辺部に透過パラメータを付加させるなどといった処理をおこなう（ステップＳ６１３）。
【０１２０】
以上のような処理により、有効フレームのそれぞれから被写体部分を示す画像（被写体画像）が抽出される。有効フレームから被写体画像を抽出すると、本処理を終了して、ストロボ画像生成処理（図３）のフローに戻る。このとき、背景画像生成部２１６は、被写体画像が抽出された旨をストロボ画像生成部２１７に通知する。
【０１２１】
ストロボ画像生成部２１７は、ストロボ画像生成処理のフローにおいて、背景画像生成処理（ステップＳ５００）で生成された背景画像と、被写体画像抽出処理で抽出された各有効フレームにおける被写体画像とを合成することで、図１７に示すようなストロボ画像を生成する（ステップＳ１０７）。
【０１２２】
生成したストロボ画像は、画像出力部２４０を通じて表示部３１０に表示される他、デジタルカメラ１のユーザが操作部３３０を操作することによる指示入力に応じて、記憶部２５０や外部記憶部２６０に保存されて（ステップＳ１０８）、処理を終了する。
【０１２３】
なお、カメラの向きを縦位置とした場合は、撮像画像を−９０°もしくは９０°回転させたときの座標系で上述した処理をおこなえば、同様にストロボ画像を生成することができる。
【０１２４】
以上説明したように、本発明を上記実施形態の如く適用することにより、ストロボ画像を高速に生成することができる。
【０１２５】
つまり、連写によって得られた画像を、データ量の少ない１次元データに変換し、ストロボ画像の生成に必要なフレームの選択を１次元データに基づいておこなうことで、画像選択までの処理量を大幅に削減し、処理時間を短縮することができる。
【０１２６】
この場合において、１次元データは、撮像画像を１方向に投影した投影データとすることができる。よって、単純な処理によって１次元データを生成することができる。
【０１２７】
このような投影データの生成する場合、被写体の移動方向に直交する１方向に投影すれば、移動方向についての１次元データとすることができる。このような投影データであれば、移動方向上での被写体部分の重なりを容易に判別することができる。したがって、ユーザが被写体の移動方向を指定するだけで、被写体が重ならずに合成されたストロボ画像を自動的に生成することができる。
【０１２８】
１次元データの生成および有効フレームの選択にかかる処理量が少ないので、デジタルカメラのプロセッサなどに必要以上の処理能力をもたせなくても、高速にストロボ画像の生成ができる。この結果、例えば、コンパクトデジタルカメラなどであっても、撮ったその場でストレスなくストロボ画像を生成することができる。
【０１２９】
これにより、例えば、スポーツなどの動作にかかるフォームのチェックをストロボ画像でおこなう場合などに、パーソナルコンピュータなどの大がかりな装置を用意することなく、デジタルカメラだけで撮影からストロボ画像の生成までをその場で短時間におこなうことができる。
【０１３０】
また、有効フレームの選択までを高速におこなえるので、連写画像が多数であっても高速にストロボ画像を生成することができる。つまり、ストロボ画像の生成にあたり、撮像画像の枚数や連写速度などに制限を設けなくてもよいので、連写速度や撮影開始タイミングにとらわれずに撮影しても、ストロボ画像を生成することができる。
【０１３１】
上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【０１３２】
例えば、上記実施形態では、被写体領域の探索や背景画素値の取得などを１座標ずつずらしておこなったが、例えば、間欠的に座標を移動することでより高速に処理することができる。
【０１３３】
また、上記実施形態では、背景画素値を全画素値の中央値としたが、これに限られず、例えば、平均値などとしてもよい。
【０１３４】
また、対象となる画像の座標数を実際の画像サイズより小さくしてから処理をおこなうことで高速化を図ってもよい。
【０１３５】
上記実施形態では、各座標での画素値の差分に基づく画素値で背景画像を生成したが、連写画像の中に被写体領域が検出されない画像があれば、上述した背景画像生成処理をおこなわずに、当該画像を背景画像として採用してもよい。
【０１３６】
また、上記実施形態では、被写体部分が重ならないフレームを有効フレームとして選択することで、被写体画像が重ならないストロボ画像を生成するものとしたが、これに限られず、例えば、任意に指定した間隔で被写体部分が示されるストロボ画像を生成してもよい。この場合、例えば、撮影前の設定画面において、ユーザが所望する被写体画像の間隔（例えば、ピクセル数）を指定する。そして、１次元データから被写体領域を検出する際、最初に選択した有効フレームで検出された被写体領域のL(n)（もしくはR(n)）、あるいは、T(n)（もしくはB(n)）から指定された間隔分離れた位置がL(n)（もしくはR(n)）、あるいは、T(n)（もしくはB(n)）となるフレームを、次以降の有効フレームとして順次選択することで、被写体部分が指定した間隔で現れるストロボ画像を生成することができる。この場合、指定された間隔が大きければ被写体部分が重ならないが、間隔が小さければ被写体部分が重なるストロボ画像となる。この場合においても、１次元データから被写体領域を検出するので、高速にストロボ画像を生成することができる。
【０１３７】
なお、本発明を上記実施形態で例示したデジタルカメラ１のような撮像装置で実現する場合においては、本発明にかかる構成や機能を予め備えた撮像装置として提供できる他、制御部２１０の各機能と同様の機能を実現するプログラムを適用することにより、既存の撮像装置を本発明にかかる撮像装置をして機能させることもできる。
【０１３８】
なお、上記実施形態では、撮像装置の例としてデジタルスチルカメラを示したが、撮像装置の形態は任意であり、単体のデジタルスチルカメラで実現可能であることはもとより、これと同様の撮像機能を備えた種々の電子機器（例えば、携帯電話など）に本発明を適用してもよい。
【０１３９】
上記実施形態では、スチルカメラによる連写機能で得られた画像からストロボ画像を生成する例を示したが、被写体が連続的に変化しているフレーム画像が得られればよいので、動画データからもストロボ画像を生成することができる。よって、本発明をビデオカメラや、動画撮像機能を有する種々の撮像装置に適用することでも高速にストロボ画像を生成することができる。
【０１４０】
このような場合においても、プログラムを適用することで、既存の装置を本発明にかかる撮像装置として機能させることができる。
【０１４１】
このようなプログラムの適用方法は任意であり、例えば、ＣＤ−ＲＯＭやメモリカードなどの記憶媒体に格納して適用できる他、例えば、インターネットなどの通信媒体を介して適用することもできる。
【０１４２】
また、画像処理をおこなえる装置であれば、上記プログラムを適用することで、高速なストロボ画像生成を実現することができる。すなわち、撮像装置に限られず、例えば、パーソナルコンピュータなどに上記プログラムを適用することで、予め撮像された画像から高速にストロボ画像を生成することができる。
【符号の説明】
【０１４３】
１…デジタルカメラ、１００…撮像部、１１０…光学装置、１２０…イメージセンサ部、２００…データ処理部、２１０…制御部、２１１…動作モード処理部、２１２…撮像制御部、２１３…１次元データ生成部、２１４…被写体検出部、２１５…画像選択部、２１６…背景画像生成部、２１７…ストロボ画像生成部、２２０…画像処理部、２３０…画像メモリ、２４０…画像出力部、２５０…記憶部、２６０…外部記憶部、３００…インタフェース部、３１０…表示部、３２０…外部インタフェース部、３３０…操作部
【図１】
2010200360.tif 000006
【図２】
2010200360.tif 000007
【図３】
2010200360.tif 000008
【図４】
2010200360.tif 000009
【図５】
2010200360.tif 000010
【図６】
2010200360.tif 000011
【図７】
2010200360.tif 000012
【図８】
2010200360.tif 000013
【図９】
2010200360.tif 000014
【図１０】
2010200360.tif 000015
【図１１】
2010200360.tif 000016
【図１２】
2010200360.tif 000017
【図１３】
2010200360.tif 000018
【図１４】
2010200360.tif 000019
【図１５】
2010200360.tif 000020
【図１６】
2010200360.tif 000021
【図１７】
2010200360.tif 000022