以下、図面を参照し、本発明の好適な実施の形態について詳細に説明する。本実施の形態では、本発明の撮影装置をデジタルカメラに適用した場合を例にとって説明する。なお、この実施の形態によって本発明が限定されるものではない。また、各図面の記載において、同一部分には同一の符号を付して示している。
ここで、本実施の形態のデジタルカメラは、撮影モードの1つとして連写モードを備えている。この連写モードでは、例えば連写開始が指示されたタイミングで連写を開始し、所定の撮影間隔で順次撮影画像を生成することによって、最終的に所定の連写枚数の撮影画像で構成される連続画像を取得する。なお、連写枚数は、例えばユーザ操作に従って決定される。例えば、連写モード中の操作入力に応じて連写を終了する構成としてもよいし、事前に操作入力された連写枚数に従って連続画像を取得する構成としてもよい。本実施の形態は、この連写モードで取得される連続画像の中から、ユーザにとって有用と推定される撮影画像を代表画像として抽出し、ユーザに提示するものである。なお、本実施の形態では、連写画像中に動きのある被写体(移動体)が含まれることを前提としている。
(実施の形態1)
実施の形態1では、取得した連続画像内に出現する移動体の状態変化を判別してその連写シーンを分類する。そして、分類した連写シーンに応じて連続画像を分割し、分割位置をもとに代表画像を抽出する。以下、連写シーンをシーンa〜シーンeの5つに分類する場合について説明する。なお、例示する連写シーンの分類手法は一例であって、適宜設定できる。
例えば、連続画像内で移動体が方向を変えずに所定の方向に沿って移動した場合(移動方向が一定方向の場合)には、その連写シーンをシーンaとする。また、移動体の移動方向が不規則で定まらず安定していない場合(移動方向が不安定の場合)には、その連写シーンをシーンbとする。また、移動方向が所定の変化パターンに従って規則的に変化した状態を判別した場合には、その連写シーンをシーンcとする。また、連続画像内で複数の移動体が検出された場合であって、これらの移動体同士が重なった状態を判別した場合に、その連写シーンをシーンdとする。そして、連続画像内で複数の移動体が検出された場合であって、1つの移動体が2つ以上に分裂した状態を判別した場合には、その連写シーンをシーンeとする。
図1は、シーンaに分類される連続画像の一例を示す図であり、連続画像を構成する5枚の撮影画像I11〜I19を時系列順(撮影順)に示している。図1では、移動体として鳥O1を写しており、木の枝に止まった鳥(移動体)O1が羽ばたき始めて枝から飛び立ち、フレームアウトする様子が写されている。ここで、移動体O1は、画像中の右下方から左上方に向けて略一直線上を移動している。このように、移動体O1が所定の方向に沿って移動した連写シーンでは、移動体O1が停止した状態を写した撮影画像I11や移動体O1がフレームアウトした後を写した撮影画像I19に比べて、移動体O1が移動を開始した位置の撮影画像I13や、移動途中を写した撮影画像I15、フレームアウトした位置の撮影画像I17がユーザにとって有用と推定できる。
また、図2は、シーンaに分類される連続画像の他の例を示す図であり、連続画像を構成する5枚の撮影画像I21〜I29を時系列順(撮影順)に示している。図2では、移動体として車O2を写しており、向かって右側から出現した車(移動体)O2が左側に移動してフレームアウトする様子を示している。図2の例では、移動体O2が移動を開始した位置(この場合はフレームインした位置)の撮影画像I21や、移動途中、特に画面の中央付近に位置した撮影画像I25、フレームアウトした位置の撮影画像I29が、ユーザにとって有用と推定できる。
そこで、連写シーンがシーンaに分類された連続画像については、移動体の移動開始位置、移動体の移動経路上の中間位置(以下、「移動中心位置」と呼ぶ。)、移動終了位置(移動途中で消失した位置を含む)またはフレームアウト位置を分割位置として連続画像を分割し、分割位置の撮影画像を代表画像として抽出することによって、代表画像をユーザに提示する。
これによれば、例えば図1の例では、移動体O1の動き始めの撮影画像I13や移動途中(移動中心位置)の撮影画像I15、フレームアウト位置の撮影画像I17を代表画像として提示することができる。したがって、ユーザは、提示された代表画像によって連続画像の内容を把握できる。そして例えば、これらの代表画像の中から1つを選択し、選択した代表画像から順番に撮影順が前後に隣接する撮影画像を閲覧するといったことが可能となる。したがって、連続画像を構成する全ての撮影画像を先頭から順次閲覧していく必要がないため、撮影画像I11に示すような移動体O1が木の枝に止まった状態が長時間続くような場合であっても、所望の撮影画像を簡単に選択することができ、ユーザの作業負担を軽減できる。
また、図3は、シーンcに分類される連続画像の一例を示す図であり、連続画像を構成する5枚の撮影画像I31〜I39を時系列順(撮影順)に示している。図3では、移動体としてイルカO3を写しており、水面から出現したイルカ(移動体)O3が放物線に沿って移動し、放物線の頂点位置で輪をくぐった後水面に潜る様子が写されている。本例では、移動開始位置の撮影画像I31や、移動終了位置(図3では消失位置)の撮影画像I39の他、移動体O3が輪をくぐっている撮影画像I35がユーザにとって有用と推定される。
そこで、移動体の移動方向が所定の変化パターンに従って規則的に変化しており、連写シーンがシーンcに分類された連続画像については、移動体の移動開始位置、移動体の移動方向の変化位置(図3に例示した移動体O3が放物線に沿って移動した場合であればその頂点位置)、移動終了位置またはフレームアウト位置を分割位置として連続画像を分割し、分割位置の撮影画像を代表画像として抽出する。なお、ここでは、移動体が放物線に沿って移動した場合を例示したが、これに限定されるものではなく、適宜の変化パターンを検出し、移動方向が変化する位置で連続画像を分割することとしてよい。また、複数の位置で方向が変化している場合には、各位置の中から1つまたは複数の位置を選出して分割位置としてもよいし、全ての位置をそれぞれ分割位置としてもよい。
また、図4は、シーンdに分類される撮影画像の一例を示す図であり、連続画像を構成する5枚の撮影画像I41〜I49を時系列順(撮影順)に示している。図4では、移動体である人物O41が別の移動体であるボールO43をバッティングする様子を写している。本例では、移動体(人物)O41の移動開始位置(バッティング動作の開始位置)の撮影画像I41や、移動体(ボール)O43の移動開始位置(フレームインした位置)の撮影画像I43、移動体(ボール)O43のフレームアウト位置である撮影画像I47の他、バッティングの瞬間、すなわち移動体(人物が持つバット)O41と移動体(ボール)O43とが重なった位置の撮影画像I45がユーザにとって有用と推定される。
そこで、連続画像内で複数の移動体が重なっており、連写シーンがシーンdに分類された連続画像については、移動体の移動開始位置、移動体の重なり位置、移動終了位置またはフレームアウト位置を分割位置として連続画像を分割し、分割位置の撮影画像を代表画像として抽出する。移動体同士が重なった状態としては、例示したような移動体同士が接触した場合の他、移動体が交差する場合等が挙げられる。
また、図示しないが、シーンbに分類される連続画像としては、例えば、移動体としてアイススケートをしている人物を写した連続画像等が挙げられる。連写シーンがシーンbに分類された連続画像については、例えば、シーンaに分類された連続画像と同様に、移動体の移動開始位置、移動中心位置、移動終了位置またはフレームアウト位置を分割位置として連続画像を分割し、分割位置の撮影画像を代表画像として抽出する。
また、シーンeに分類される連続画像としては、例えば、移動体として打ち上げ花火を写した連続画像等が挙げられる。連続画像内で移動体が分裂しており、連写シーンがシーンeに分類された連続画像については、例えば、移動体の移動開始位置、移動体の分裂位置、移動終了位置またはフレームアウト位置を分割位置として連続画像を分割し、分割位置の撮影画像を代表画像として抽出する。
図5は、実施の形態1のデジタルカメラ1の構成例を示す概略ブロック図である。図5に示すように、デジタルカメラ1は、撮像光学系11、連続画像取得部としての撮像素子12、AFE(Analog Front End)13、フレームメモリ14、移動体検出部としての動き検出部15、画像処理部16、顔検出部17、記録媒体I/F18、記録媒体保持部19、記録媒体20、ビデオエンコーダ21、表示ドライバ22、表示部23、ビデオ信号出力端子24、操作部25、RAM26、ROM27、コントローラ28等を備える。
撮像光学系11は、撮像レンズ、絞り、シャッター等を含み、入射される被写体像を撮像素子12に結像する。撮像素子12は、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の固体撮像素子であり、被写体からの光束を撮像光学系11を介して受光し、光電変換することによってフレーム単位の画像データ(アナログ電気信号)を得るものである。AFE13は、撮像素子12によって得られる画像データに対してCDS(Correlated Double Sampling)やAGC(Automatic Gain Control)等のアナログ信号処理を施した後、A/D変換処理を施してデジタル電気信号に変換する。AFE13によってデジタル化された画像データは、フレームメモリ14および動き検出部15に出力されるとともに、RAM26に一時的に記録される。
フレームメモリ14は、動き検出部15による作業用メモリとして用いられる。このフレームメモリ14は、2フレーム分の画像データを保持するための領域を備え、連写モード中において、今回生成した最新の撮影画像(最新画像)の画像データと前回生成した撮影画像(前回画像)の画像データとが保持される。
動き検出部15は、AFE13からの画像データをもとに、連写モード中に生成される撮影画像間の動きを検出するためのものであり、所定の撮影間隔毎の連写タイミングで順次撮像素子12から取り込まれてAFE13から出力される撮影画像間で動きベクトルを求めることによって、画像間の動きを検出する。
図6は、撮影画像の画角範囲Evに対して設定される移動体検出エリアEaおよび登録移動体エリアEb−1の一例を示す図である。また、図7(a)および図7(b)は、図6に続いて順次取り込まれる撮影画像の画角範囲Evに設定される移動体検出エリアEaおよび登録移動体エリアEb−2,Eb−3の一例をそれぞれ示す図である。実施の形態1では、動き検出部15は、図6に示すように、例えば前回画像の画角範囲(被写体範囲)Evのほぼ全域に対して一点鎖線で示す移動体検出エリアEaを設定するとともに、図6や図7(a)、図7(b)中に二点鎖線で示すように、既に移動体が検出されて登録されている場合には、その移動体(登録移動体)の現在位置に登録移動体エリアEb−1,Eb−2,Eb−3を設定する。ここで、移動体検出エリアEaは、画角範囲Evに対して固定的に設定される。一方、図6や図7(a)、図7(b)に示すように、登録移動体エリアEb−1,Eb−2,Eb−3は、前回生成された撮影画像との間で実行した動き検出の結果に従って決定される登録移動体の位置に設定される。
そして、動き検出部15は、移動体検出エリアEaを対象に動き検出を行うことによって最新画像中に出現した移動体を検出するとともに、登録移動体エリアEb−1,Eb−2,Eb−3を対象に動き検出を行うことによって最新画像中の登録移動体の位置を追尾する。具体的には、前回画像に設定した移動体検出エリアEaについて、最新画像との間でパタンマッチングを行うとともに、前回画像に設定した登録移動体エリアEb−1,Eb−2,Eb−3について最新画像との間でパタンマッチングを行う。ここで、パタンマッチングは、精度を高めるため、移動体検出エリアEaや登録移動体エリアEb−1,Eb−2,Eb−3内に複数のマクロブロックを設定し、マクロブロック毎にその動きベクトルを求めることにより行う。例えば、図6や図7(a)、図7(b)に示す例では、移動体検出エリアEaに対して70個のマクロブロックBaを設定している。一方、図6中において画角範囲Evの外に模式的に示すように、あるいは図7(a)や図7(b)に示すように、登録移動体エリアEb−1,Eb−2,Eb−3に対しては、そのサイズに応じた数のマクロブロックBbを設定する。例えば、図6の登録移動体エリアEb−1や図7(a)の登録移動体エリアEb−2には6個のマクロブロックBbを設定しており、図7(b)の登録移動体エリアEb−3には4個のマクロブロックを設定している。なお、登録移動体エリア内に設定するマクロブロックの数は同数であってもよい。また、移動体検出エリアや登録移動体エリア内に設定するマクロブロックのサイズについては、適宜設定できる。
なお、ここでは、1つの登録移動体について登録移動体エリアEb−1,Eb−2,Eb−3を設定してこの登録移動体を追尾する場合を例示したが、実際には、移動体検出エリアEaを対象に行った動き検出によって移動体が検出されるたびに、検出された移動体が登録移動体として登録されるようになっており、動き検出部15は、登録移動体毎に登録移動体エリアを設定し、個別に動き検出を行う。
顔検出部17は、図5に示すように、AFE13によってデジタル化されてRAM26に記録された画像データを処理して顔を検出する。例えば、顔検出部17は、テンプレートマッチング法によって撮影画像中(より具体的には最新画像中)の顔の位置を検出し、目や鼻、口等の顔の特徴点の位置を検出することによって、顔の大きさや向き、角度等を検出する。この顔検出部17による顔検出によって、例えば撮影画像中の顔の有無、顔の位置、顔の大きさ、顔の向き、顔の角度(傾き)等が顔検出結果として得られる。なお、撮影画像中に複数の顔が含まれる場合には、顔毎に顔検出結果が得られる。
画像処理部16は、RAM26に一旦記録された画像データを読み出し、この画像データに対して各種の画像処理を施すとともに、記録用、あるいは表示用等に適した画像データに変換する処理を行う。例えば、撮影画像の画像データを記録する際、あるいは記録されている画像データを表示する際等に、JPEG(Joint Photographic Experts Group)方式等に基づく画像データの圧縮処理や伸張処理を行う。この画像処理部16で画像処理された画像データは、記録媒体I/F18に出力されて記録媒体20に記録され、あるいはビデオエンコーダ21に出力されて表示部23に表示される。
ビデオエンコーダ21は、表示用に変換された画像データを表示ドライバ22に送出する。例えば撮影モードでは、1フレーム毎に撮像素子12から取り込まれて画像処理部16によって画像処理された画像をフレーム単位で表示部23に切換表示させ、ライブビュー画像の表示を行う。一方、再生モードでは、記録媒体20から読み出されて画像処理部16よって画像処理された撮影画像を表示部23に表示させる。また、このビデオエンコーダ21は、ビデオ信号出力端子24に接続された外部機器に対し、必要に応じて表示用の画像データを出力する。表示部23は、撮影画像やライブビュー画像の他、デジタルカメラ1の各種設定情報等を表示するためのものであり、LCD(Liquid Crystal Display)やELディスプレイ(Electroluminescence Display)等の表示装置で実現される。
記録媒体I/F18は、記録媒体保持部19によって挿脱自在に保持される記録媒体20に対して、記録用に変換された画像データ等の書き込みや、記録された画像データの読み出し等を行う。記録媒体20は、例えばxD−ピクチャーカード(登録商標)やコンパクトフラッシュ(登録商標)カード等のメモリカードである。
操作部25は、連写モードを含む各種の撮影モードや再生モードといったモードの設定操作、撮影開始の指示、連写開始や連写終了の指示、撮影条件の設定操作等、ユーザによる各種操作を受け付けて操作信号をコントローラ28に通知するためのものであり、各種機能が割り当てられたボタンスイッチ、ダイヤル、各種センサ等で実現される。
ROM27は、デジタルカメラ1を動作させ、このデジタルカメラ1が備える種々の機能を実現するための各種のカメラプログラムや、このカメラプログラムの実行中に使用されるデータ等を予め記録する。RAM26は、画像処理部16やコントローラ28の作業用メモリとして用いられる。例えば、AFE13からの画像データ等が一時的に記録され、表示部23に表示するライブビュー画像を生成する際の作業用や撮影画像を記録媒体20に記録する際の作業用、連続画像を取得し、この連続画像の中から保存画像として選択された撮影画像を記録媒体20に記録する際の作業用等に用いられる。
コントローラ28は、操作部25からの操作信号等に応じてROM27からカメラプログラムを読み出して実行し、デジタルカメラ1を構成する各部の動作制御やメモリ制御を行ってデジタルカメラ1全体の動作を統括的に制御する。また、AF(自動焦点)、AE(自動露出)、AWB(自動ホワイトバランス)等の処理を行う。このコントローラ28は、変化判別部としての連写シーン分類部281と、画像抽出部としての連続画像分割部283と、重要度算出部285と、表示処理部としての保存画像選択処理部287とを含む。連写シーン分類部281は、連続画像の連写シーンを分類する。連続画像分割部283は、連写シーンに応じた位置で連続画像を分割し、分割位置の撮影画像を代表画像として抽出する。重要度算出部285は、連続画像を構成する各撮影画像の重要度を算出する。保存画像選択処理部287は、連続画像の中から抽出された代表画像をユーザに提示し、ユーザ操作に従って記録媒体20に保存する撮影画像(保存画像)を選択するための処理を行う。
次に、デジタルカメラ1が行う処理手順について説明する。図8は、実施の形態1のデジタルカメラ1が行う処理の手順を説明するフローチャートであり、連写モードにおけるデジタルカメラ1の処理手順を示している。
連写モードでは、図8に示すように、ユーザによる連写開始の指示を受け付けるまで待機状態となる。そして、連写を開始する場合には(ステップa1:Yes)、撮影処理に移る(ステップa3)。すなわち、所定の撮影間隔毎の連写タイミングで順次撮影処理を行い、撮影画像の画像データを生成する。生成した撮影画像の画像データは、例えば撮影順に割り振られる画像番号と対応付けられてRAM26に記録される。
続いて、動き検出部15が動き検出処理を行う(ステップa5)。この動き検出処理では、動き検出部15は、ステップa3において今回生成した最新の撮影画像(最新画像)と前回生成した撮影画像(前回画像)との間で動き検出を行い、最新画像中の移動体を検出するとともに、最新画像中の登録移動体を追尾する。なお、連写開始直後の最初の撮影処理の後は、直前画像が存在しないためステップa5の動き検出処理は行わない。図9は、動き検出処理の詳細な処理手順を説明するフローチャートである。
動き検出処理では、動き検出部15は先ず、登録移動体の有無を判定する。ここで、図9中のステップb13または図10に示して後述する顔検出処理のステップc9で移動体が登録される。このため、連写が開始されて最初に行う動き検出処理では登録移動体はなく(ステップb1:No)、ステップb7に移る。
一方、登録移動体がある場合には(ステップb1:Yes)、動き検出部15は、その登録移動体について登録移動体エリアを設定し、最新画像と前回画像との間で動き検出を実行する(ステップb3)。このとき、複数の登録移動体が登録されている場合には、登録移動体毎に登録移動体エリアを設定し、動き検出を行う。具体的には、動き検出部15は、前回算出した登録移動体の位置(前回画像中の位置)に登録移動体エリアを設定し、最新画像との間での動き検出を実行する。そして、動き検出部15は、動き検出結果に従って登録移動体の位置(最新画像中の現在位置)を算出し、最新画像の画像番号とともにRAM26に記憶する(ステップb5)。その後、ステップb7に移る。
ステップb7では、動き検出部15は、最新画像と前回画像との間で移動体検出エリアの動き検出を実行する。具体的には、動き検出部15は、画角範囲のほぼ全域に移動体検出エリアを設定し、最新画像との間での動き検出を実行する。ここでの動き検出の結果、移動体を検出しなければ(ステップb9:No)、図8のステップa5にリターンし、その後ステップa7に移る。一方、動き検出部15は、移動体を検出した場合には(ステップb9:Yes)、検出した移動体が登録移動体か否かを判定する。そして、検出した移動体が既に登録された登録移動体であれば(ステップb11:Yes)、図8のステップa5にリターンし、その後ステップa7に移る。一方、動き検出部15は、検出した移動体が登録されていない場合には(ステップb11:No)、登録移動体として登録し、現在位置や最新画像の画像番号等とともにRAM26に記憶する(ステップb13)。そして、図8のステップa5にリターンし、その後ステップa7に移る。
そして、ステップa7では、顔検出部17が顔検出処理を行う。この顔検出処理では、ステップa3で今回生成した最新画像中の顔検出が行われる。図10は、顔検出処理の詳細な処理手順を説明するフローチャートである。
顔検出処理では、顔検出部17は先ず、最新画像中の顔検出を実行する(ステップc1)。ここでの顔検出の結果、顔を検出しなければ(ステップc3:No)、図8のステップa7にリターンし、その後ステップa9に移る。一方、顔検出部17は、顔を検出した場合には(ステップc3:Yes)、顔検出結果を最新画像の画像番号とともにRAM26に記憶する(ステップc5)。
続いて、顔検出部17は、検出した顔が登録移動体か否かを判定する。具体的には、検出した顔の位置を登録移動体の現在位置(最新画像中の位置)と比較し、一致していれば登録移動体と判定し、一致しない場合には登録移動体ではないと判定する。そして、検出した顔が登録移動体であれば(ステップc7:Yes)、図8のステップa7にリターンし、その後ステップa9に移る。一方、顔検出部17は、検出した顔が登録移動体でない場合には(ステップc7:No)、登録移動体として登録し、現在位置や最新画像の画像番号とともにRAM26に記憶する(ステップc9)。そして、図8のステップa7にリターンし、その後ステップa9に移る。
ステップa9では、連写を終了するか否かを判定し、連写を終了するまでの間(ステップa9:No)、ステップa3に戻って処理を繰り返す。そして、連写を終了する場合には(ステップa9:Yes)、ステップa11に移る。例えば、ユーザによる連写終了の指示に応じて連写を終了する。あるいは、所定の連写枚数の撮影画像を生成した場合に連写を終了する。
そして、ステップa11では、連写枚数が所定枚数を超えているか否かを判定する。連写枚数が所定枚数以下の場合には(ステップa11:No)、処理を終える。一方、連写枚数が所定枚数を超えている場合には(ステップa11:Yes)、連写シーン分類部281が連写シーン分類処理を行う(ステップa13)。図11は、連写シーン分類処理の詳細な処理手順を示すフローチャートである。
連写シーン分類処理では、連写シーン分類部281は先ず、連続画像内で検出された移動体の有無を判定する。連続画像内で移動体が検出されている場合、すなわち、撮影画像を生成するたびに行った動き検出や顔検出の結果、登録移動体として登録された移動体がある場合には(ステップd1:Yes)、移動体状態解析処理を行う(ステップd3)。図12は、移動体状態解析処理の詳細な処理手順を示すフローチャートである。
移動体状態解析処理では先ず、連写シーン分類部281は、移動体の移動開始位置を解析する(ステップe1)。ここでの処理は、登録移動体として登録された移動体が複数ある場合には、各移動体それぞれについて行う。例えば、その移動体が最初に検出されて登録移動体として登録された撮影画像を移動開始位置とし、画像番号を移動開始画像番号として取得する。
続いて、連写シーン分類部281は、移動体の移動方向を解析する(ステップe3)。ここでの処理は、登録移動体として登録された移動体が複数ある場合には、各移動体それぞれについて行う。例えば、その移動体を登録移動体として行った動き検出結果やその移動体についての顔検出結果によって定まる移動体の移動経路に従って、移動体の移動方向の変化を判別する。そして、移動体が所定の方向に沿って移動している状態を判別した場合には、移動方向を一定とする。移動体の移動方向が不規則で定まらず、不安定な状態を判別した場合には、移動方向を不安定とする。そして、移動体の移動方向が所定の変化パターンに従って規則的に変化した状態を判別した場合には、移動方向が変化する撮影画像の画像番号を方向変化画像番号として取得する。例えば、図3に示して例示したように移動体O3の移動経路が2次曲線に近似できるような場合には、その頂点(極値)位置の撮影画像を移動方向が変化する撮影画像とし、画像番号を方向変化画像番号として取得する。
続いて、連写シーン分類部281は、連続画像内で検出された移動体の数を判定する。移動体の数が1つの場合には(ステップe5:No)、ステップe11に移る。一方、検出された移動体が複数ある場合には(ステップe5:Yes)、連写シーン分類部281は、これらの移動体の重なり状態を解析する(ステップe7)。例えば、各移動体を登録移動体として行った動き検出結果やその移動体についての顔検出結果をもとに、これらの移動体の位置が重なった状態を判別し、判別した撮影画像の画像番号を重なり画像番号として取得する。
続いて、連写シーン分類部281は、移動体の分裂状態を解析し(ステップe9)、その後、ステップe11に移る。例えば、各移動体を登録移動体として行った動き検出結果やその移動体についての顔検出結果をもとに、いずれか1つの移動体の位置を始点として別の移動体が移動を開始した状態を判別し、判別した撮影画像の画像番号を分裂画像番号として取得する。
そして、ステップe11では、連写シーン分類部281は、移動体のフレームアウト位置を解析する。ここでの処理は、登録移動体として登録された移動体が複数ある場合には、各移動体それぞれについて行う。例えば、その移動体が画角範囲の端部に移動し、画角範囲から外れた撮影画像をフレームアウト位置とし、画像番号をフレームアウト画像番号として取得する。
続いて、連写シーン分類部281は、移動体の移動終了位置を解析する(ステップe13)。ここでの処理は、登録移動体として登録された移動体が複数ある場合には、各移動体それぞれについて行う。例えば、その移動体が停止した撮影画像あるいはその移動体を追尾できなくなった撮影画像を移動終了位置とし、画像番号を移動終了画像番号として取得する。そして、図11のステップd3にリターンし、その後、ステップd5に移る。
ステップd5では、連写シーン分類部281は、ステップd3の移動体状態解析処理の結果に従って移動体の移動方向を判定する。そして、連写シーン分類部281は、移動方向が一定の移動体について(ステップd5:Yes)、方向一定フラグをセット(ON)する(ステップd7)。一方、連写シーン分類部281は、移動方向が一定でない移動体であって(ステップd5:No)、移動方向が不安定でない移動体(移動方向が所定の変化パターンに従って規則的に変化した移動体)について(ステップd9:No)、方向変化フラグをセットする(ステップd11)。また、連写シーン分類部281は、移動方向が不安定である移動体については(ステップd9:Yes)、方向不安定フラグをセットする(ステップd13)。
続いて、連写シーン分類部281は、ステップd3の移動体状態解析処理の結果に従って移動体の重なりを判定する。そして、連写シーン分類部281は、移動体の重なりがあれば(ステップd15:Yes)、重なりフラグをセットし(ステップd17)、連続画像の連写シーンをシーンdとして設定する(ステップd19)。移動体の重なりがない場合には(ステップd15:No)、続いて連写シーン分類部281は、移動体の分裂を判定する。そして、連写シーン分類部281は、移動体の分裂があれば(ステップd21:Yes)、分裂フラグをセットし(ステップd23)、連続画像の連写シーンをシーンeに設定する(ステップd25)。移動体の分裂がない場合には(ステップd21:No)、続いて連写シーン分類部281は、方向不安定フラグを判定する。そして、連写シーン分類部281は、方向不安定フラグがONであれば(ステップd27:Yes)、連続画像の連写シーンをシーンcに設定する(ステップd29)。方向不安定フラグがOFFの場合には(ステップd27:No)、続いて連写シーン分類部281は、方向変化フラグを判定する。そして、連写シーン分類部281は、方向変化フラグがONであれば(ステップd31:Yes)、連続画像の連写シーンをシーンbに設定する(ステップd33)。方向変化フラグがOFFの場合には(ステップd31:No)、連写シーン分類部281は、連続画像の連写シーンをシーンaに設定する(ステップd35)。なお、このステップd35で連続画像の連写シーンがシーンaに設定されるのは、方向フラグがONの場合である。
続いて、連写シーン分類部281は、ステップd3の移動体状態解析処理の結果に従って移動体のフレームアウトの有無を判定する。そして、連写シーン分類部281は、フレームアウトしている移動体について(ステップd37:Yes)、フレームアウトフラグをセットする(ステップd39)。
続いて、連写シーン分類部281は、ステップd3の移動体状態解析処理の結果に従って移動体が移動を終了したか否かを判定する。そして、連写シーン分類部281は、移動を終了した移動体について(ステップd41:Yes)、移動終了フラグをセットする(ステップd43)。そして、図8のステップa13にリターンし、その後ステップa15に移る。
そして、ステップa15では、連続画像分割部283が連続画像分割処理を行う。図13は、実施の形態1の連続画像分割処理の詳細な処理手順を示すフローチャートである。
連続画像分割処理では、連続画像分割部283は先ず、移動体の移動開始画像番号を取得する(ステップf1)。続いて、連続画像分割部283は、移動終了フラグを判定する。そして、連続画像分割部283は、移動終了フラグがONであれば(ステップf3:Yes)、移動終了画像番号を取得し(ステップf5)、移動終了画像番号から移動開始画像番号を差し引いた値を算出して算出した値が所定値を超えているか否かを判定する。そして、所定値を超えている場合、すなわち移動体が移動を開始してから移動を終了するまでの間の撮影画像の枚数が所定枚数より多い場合には(ステップf7:Yes)、ステップf17に移る。所定値を超えていない場合には(ステップf7:No)、ステップf15に移る。
一方、ステップf3において判定した移動終了フラグがOFFであれば(ステップf3:No)、続いて連続画像分割部283は、フレームアウトフラグを判定する。そして、連続画像分割部283は、フレームアウトフラグがONであれば(ステップf9:Yes)、フレームアウト画像番号を取得し(ステップf11)、フレームアウト画像番号から移動開始画像番号を差し引いた値を算出して算出した値が所定値を超えているか否かを判定する。そして、所定値を超えている場合、すなわち移動体が移動を開始してからフレームアウトするまでの間の撮影画像の枚数が所定枚数より多い場合には(ステップf13:Yes)、ステップf17に移る。所定値を超えていない場合には(ステップf13:No)、ステップf15に移る。また、ステップf9において判定したフレームアウトフラグがOFFの場合も(ステップf9:No)、ステップf15に移る。
ステップf15では、連続画像分割部283は、最終画像番号から移動開始画像番号を差し引いた値を算出し、算出した値が所定値を超えているか否かを判定する。そして、所定値を超えている場合、すなわち移動体が移動を開始してから連写を終了するまでの間の撮影画像の枚数が所定枚数より多い場合には(ステップf15:Yes)、ステップf17に移る。所定値を超えていない場合には(ステップf15:No)、図8のステップa15にリターンし、その後ステップa17に移る。
そして、ステップf17では、連続画像分割部283は、図8のステップa13の連写シーン分類処理によって設定されたシーンを判定し、シーンに応じて処理を分岐する。すなわち、連続画像分割部283は、連写シーンがシーンaまたはシーンcの場合にはシーンa/c分割処理を行う(ステップf19)。そして、図8のステップa15にリターンし、その後ステップa17に移る。連写シーンがシーンbであれば、連続画像分割部283は、シーンb分割処理を行う(ステップf21)。そして、図8のステップa15にリターンし、その後ステップa17に移る。連写シーンがシーンdであれば、連続画像分割部283は、シーンd分割処理を行う(ステップf23)。そして、図8のステップa15にリターンし、その後ステップa17に移る。連写シーンがシーンeであれば、連続画像分割部283は、シーンe分割処理を行う(ステップf25)。そして、図8のステップa15にリターンし、その後ステップa17に移る。ここで、ステップf19〜ステップf25の各処理について順次説明する。
図14は、シーンa/c分割処理の詳細な処理手順を示すフローチャートである。シーンa/c分割処理では、連続画像分割部283は先ず、第1分割位置を移動開始画像番号とする(ステップg1)。続いて、連続画像分割部283は、移動体の移動中心位置を算出する(ステップg3)。すなわち、移動体の移動開始位置から移動終了位置またはフレームアウト位置までの移動経路上の中間位置を移動中心位置として算出する。そして、連続画像分割部283は、第2分割位置を移動中心画像番号とする(ステップg5)。
続いて、連続画像分割部283は、移動終了フラグを判定する。そして、移動終了フラグがONならば(ステップg7:Yes)、連続画像分割部283は、第3分割位置を移動終了画像番号とし(ステップg9)、ステップg17に移る。一方、連続画像分割部283は、移動終了フラグがOFFの場合には(ステップg7:No)、続いてフレームアウトフラグを判定する。そして、フレームアウトフラグがONならば(ステップg11:Yes)、連続画像分割部283は、第3分割位置をフレームアウト画像番号とし(ステップg13)、ステップg17に移る。また、フレームアウトフラグがOFFの場合には(ステップg11:No)、連続画像分割部283は、第3分割位置を設定せずになしとする(ステップg15)。そして、連続画像分割部283は、設定した第1分割位置、第2分割位置および第3分割位置の撮影画像を代表画像として抽出し(ステップg17)、その後図13のステップf19にリターンする。
図15は、シーンb分割処理の詳細な処理手順を示すフローチャートである。シーンb分割処理では、連続画像分割部283は先ず、第1分割位置を移動開始画像番号とする(ステップh1)。続いて、連続画像分割部283は、方向変化画像番号を取得する(ステップh3)。そして、連続画像分割部283は、第2分割位置を方向変化画像番号とする(ステップh5)。
続いて、連続画像分割部283は、移動終了フラグを判定する。そして、移動終了フラグがONならば(ステップh7:Yes)、連続画像分割部283は、第3分割位置を移動終了画像番号とし(ステップh9)、ステップh17に移る。一方、連続画像分割部283は、移動終了フラグがOFFの場合には(ステップh7:No)、続いてフレームアウトフラグを判定する。そして、フレームアウトフラグがONならば(ステップh11:Yes)、連続画像分割部283は、第3分割位置をフレームアウト画像番号とし(ステップh13)、ステップh17に移る。また、フレームアウトフラグがOFFの場合には(ステップh11:No)、連続画像分割部283は、第3分割位置を設定せずになしとする(ステップh15)。そして、連続画像分割部283は、設定した第1分割位置、第2分割位置および第3分割位置の撮影画像を代表画像として抽出し(ステップh17)、その後図13のステップf21にリターンする。
図16は、シーンd分割処理の詳細な処理手順を示すフローチャートである。シーンd分割処理では、連続画像分割部283は先ず、第1分割位置を移動開始画像番号とする(ステップi1)。続いて、連続画像分割部283は、分裂画像番号を取得する(ステップi3)。そして、連続画像分割部283は、第2分割位置を分裂画像番号とする(ステップi5)。
続いて、連続画像分割部283は、移動終了フラグを判定する。そして、移動終了フラグがONならば(ステップi7:Yes)、連続画像分割部283は、第3分割位置を移動終了画像番号とし(ステップi9)、ステップi17に移る。一方、連続画像分割部283は、移動終了フラグがOFFの場合には(ステップi7:No)、続いてフレームアウトフラグを判定する。そして、フレームアウトフラグがONならば(ステップi11:Yes)、連続画像分割部283は、第3分割位置をフレームアウト画像番号とし(ステップi13)、ステップi17に移る。また、フレームアウトフラグがOFFの場合には(ステップi11:No)、連続画像分割部283は、第3分割位置を設定せずになしとする(ステップi15)。そして、連続画像分割部283は、設定した第1分割位置、第2分割位置および第3分割位置の撮影画像を代表画像として抽出し(ステップi17)、図13のステップf23にリターンする。
図17は、シーンe分割処理の詳細な処理手順を示すフローチャートである。シーンe分割処理では、連続画像分割部283は先ず、第1分割位置を移動開始画像番号とする(ステップj1)。続いて、連続画像分割部283は、重なり画像番号を取得する(ステップj3)。そして、連続画像分割部283は、第2分割位置を重なり画像番号とする(ステップj5)。
続いて、連続画像分割部283は、移動終了フラグを判定する。そして、移動終了フラグがONならば(ステップj7:Yes)、連続画像分割部283は、第3分割位置を移動終了画像番号とし(ステップj9)、ステップj17に移る。一方、連続画像分割部283は、移動終了フラグがOFFの場合には(ステップj7:No)、続いてフレームアウトフラグを判定する。そして、フレームアウトフラグがONならば(ステップj11:Yes)、連続画像分割部283は、第3分割位置をフレームアウト画像番号とし(ステップj13)、ステップj17に移る。また、フレームアウトフラグがOFFの場合には(ステップj11:No)、連続画像分割部283は、第3分割位置を設定せずになしとする(ステップj15)。そして、連続画像分割部283は、設定した第1分割位置、第2分割位置および第3分割位置の撮影画像を代表画像として抽出し(ステップj17)、図13のステップf25にリターンする。
連続画像分割処理を終えると、続いて図8に示すように、重要度算出部285が移動体重要度算出処理を行う(ステップa17)。図18は、移動体重要度算出処理の詳細な処理手順を示すフローチャートである。この優先度採点処理では、連続画像を構成する全ての撮影画像についてそれぞれループAの処理を行う(ステップk1〜ステップk25)。以下、ループAで処理の対象とする撮影画像を処理画像と呼ぶ。
すなわち先ず、重要度算出部285は、処理画像中の移動体の有無を判定する。処理画像中で移動体が検出されていない場合、すなわち処理画像中で登録移動体の動きが検出されていない場合には(ステップk3:No)、ステップk11に移る。
一方、処理画像中で移動体が検出されている検出されている場合、すなわち処理画像中で登録移動体の動きが検出されている場合には(ステップk3:Yes)、重要度算出部285は、移動体の位置を採点する(ステップk5)。例えば、画角範囲の中心に位置するほど重要度が高いと推定し、重要度算出部285は、処理画像中で検出されている移動体の位置が画角範囲の中心に近いほど採点値を大きく設定する。
続いて重要度算出部285は、移動体の速度変化を採点する(ステップk7)。例えば、移動体の移動速度が速いほど重要度が高いと推定する。重要度算出部285は、例えば処理画像よりも前に生成した数枚分の撮影画像中における登録移動体の位置を参照してその位置の変位をもとに移動体の移動速度を算出する。そして、重要度算出部285は、その移動速度が速いほど採点値を大きく設定する。
続いて重要度算出部285は、移動体の方向変化を採点する(ステップk9)。例えば、移動体の移動方向の変化が大きいほど重要度が高いと推定する。重要度算出部285は、例えば処理画像よりも前に生成した数枚分の撮影画像中の移動体の位置を参照してその位置の変位をもとに移動方向の変化を判定する。そして、重要度算出部285は、判定した移動方向の変化が大きいほど採点値を大きく設定する。
続くステップk11では、重要度算出部285は、処理画像中の顔の有無を判定する。処理画像中に顔がない場合、すなわち処理画像中の顔検出の結果顔が検出されていない場合には(ステップk11:No)、ステップk21に移る。
一方、処理画像中に顔がある場合、すなわち処理画像中の顔検出の結果顔が検出されている場合には(ステップk11:Yes)、重要度算出部285は、顔の大きさを採点する(ステップk13)。サイズの大きい顔は、サイズの小さい顔に比べて重要度が高い。そこで、例えば重要度算出部285は、顔が大きいほど採点値を大きく設定する。
続いて重要度算出部285は、顔の位置を採点する(ステップk15)。顔の位置が画角範囲の中心に近いほど重要度が高い。一方、顔の位置が画角範囲の端部に位置している場合、その顔は次の撮影画像でフレームアウトする可能性があるため、重要度は低い。そこで、例えば重要度算出部285は、顔の位置が画角範囲の中心に近いほど採点値を大きく設定する。
続いて重要度算出部285は、顔の向きを採点する(ステップk17)。例えば、顔が正面向きから外れた方向を向いているほど重要度が低いと推定し、重要度算出部285は、顔が正面を向いている場合の採点値を小さくし、顔の向きが正面から外れるほど採点値を大きく設定する。
続いて重要度算出部285は、顔の角度を採点する(ステップk19)。例えば、処理画像の縦方向に対して顔が傾いていないほど重要度が高いと推定し、重要度算出部285は、顔が傾いていない場合の採点値を小さくし、顔の角度が大きいほど採点値を大きく設定する。
続いて、重要度算出部285は、各採点値に対する重み付けを行う(ステップk21)。ここで行う重み付けは、例えば、移動体の位置、移動体の速度変化、移動体の方向変化、顔の大きさ、顔の位置、顔の向きおよび顔の角度の各採点項目について予め重み係数を設定しておき、各採点値に重み係数を乗じて行う。重み係数は、採点項目の重要度に応じて適宜設定しておくことができる。例えば、ユーザが画角範囲の中央に移動体が写っている撮影画像を重要視しているような場合であれば、移動体の位置や顔の位置の重み係数を大きく設定しておくことで、これらの採点値が高い撮影画像の重要度を高く設定することができる。
そして、重要度算出部285は、重み付けした各採点値の総和を処理画像の重要度として算出する(ステップk23)。そして、連続画像を構成する全ての撮影画像を処理画像としてループAの処理を行ったならば、図8のステップa17にリターンし、その後ステップa19に移る。なお、上記した移動体重要度算出処理は一例であって、採点方法や採点項目はこれに限定されず、適宜設定できる。
続いて、保存画像選択処理部287が、表示部23に対し、ステップa15の連続画像分割処理の結果抽出された代表画像を表示する処理を行うとともに、分割シーンの選択依頼の通知を表示する処理を行う(ステップa19)。例えば、代表画像のサムネイルを一覧表示し、代表画像の選択操作を受け付けることによって分割シーンを選択する構成としてもよいし、代表画像を1枚ずつユーザ操作に従って順次切換表示し、代表画像の選択操作を受け付けることによって分割シーンを選択する構成としてもよい。
そして、保存画像選択処理部287は、選択依頼の通知に応答して分割シーンが選択された場合には(ステップa21:Yes)、続いて、選択された分割シーンの撮影画像を表示する処理を行うとともに、保存画像の選択依頼の通知を表示する処理を行う(ステップa23)。このとき、保存画像選択処理部287は、例えば、選択された代表画像と撮影順が後順の代表画像との間の撮影画像、例えば第1分割位置の代表画像が選択された場合であれば、第1分割位置の撮影画像および第1分割位置と第2分割位置との間の撮影画像を分割シーンの撮影画像として選出する。そして、保存画像選択処理部287は、ステップa17の移動体重要度算出処理の結果をもとに、選出した撮影画像を重要度の高い順番で並び替える。そして、保存画像選択処理部287は、並び替えた順番で選出した撮影画像のサムネイルを一覧表示し、保存する撮影画像の選択操作を受け付ける。これによれば、選択された分割シーンの撮影画像のうち、重要度の高いものから順番にユーザに提示することができる。したがってユーザは、分割シーンの撮影画像の枚数が多い場合であっても効率よく撮影画像を閲覧することができるので、作業負担をより軽減できる。
なお、分割シーンの撮影画像のうち、重要度の高いものから所定数の撮影画像をさらに選出して一覧表示し、保存画像の選択を受け付ける構成としてもよい。また、重要度による並び替えを行わずに、撮影順に一覧表示する構成としてもよい。また、ここでは、選択された分割シーンの撮影画像のサムネイルを一覧表示することとしたが、選択された分割シーンの撮影画像を1枚ずつユーザ操作に従って順次切換表示し、保存する撮影画像の選択操作を受け付ける構成としてもよい。そしてこのとき、ステップa17の重要度算出処理の結果をもとに、分割シーンの撮影画像を重要度の高い順番で並び替えて、並び替えた順番で切換表示するようにしてもよい。
そして、保存画像選択処理部287は、選択依頼の通知に応答して保存画像が選択された場合には(ステップa25:Yes)、保存処理を行い(ステップa27)、ステップa29に移る。
ステップa29では、保存画像選択処理部287は、分割シーンの変更操作の有無を監視する。そして、保存画像選択処理部287は、分割シーンの変更操作があった場合には(ステップa29:Yes)、ステップa19に戻って再度分割シーンの選択依頼を通知し、上記した処理を行う。一方、保存画像選択処理部287は、分割シーンの変更操作がない場合には(ステップa29:No)、保存完了操作の有無によって保存を完了するか否かを判定し、保存を完了するまでの間(ステップa31:No)、ステップa25に戻って上記した処理を行う。一方、保存を完了する場合には(ステップa31:Yes)、本処理を終える。
以上説明したように、実施の形態1によれば、連続画像を構成する撮影画像間で動き検出を行って連続画像中に出現する移動体の動きを検出し、動き検出結果をもとに連続画像内での移動体の状態変化を判別することによって、連続画像の中から代表画像を抽出することができる。詳細には、移動体の状態変化をもとに連続画像を連写シーンに分類し、分類した連写シーンに応じた位置で連続画像を分割することによって、分割した位置の撮影画像を代表画像として抽出することができる。これによれば、連続画像中で移動体がどのように動いたかによって代表画像を抽出することができるので、連続画像の中からユーザにとって有用な代表画像を適切に抽出することができる。また、抽出した代表画像を表示部23に表示してユーザに提示することができる。したがって、連続画像の中から保存する撮影画像を選択する際のユーザの作業負担を軽減できる。
なお、上記した実施の形態1では、連続画像の連写シーンがシーンaに分類された場合に、移動体の移動中心位置を分割位置として代表画像を抽出することとした。これに対し、移動体が撮影画角の中央に最も近接した位置で連続画像を分割するようにしてもよい。これによれば、移動体が中央付近に写る撮影画像を代表画像として抽出することができる。
また、連続画像の連写シーンをシーンcに分類した場合に、移動方向の変化位置を分割位置として代表画像を抽出する場合について例示したが、これに限定されるものではない。例えば、移動体の移動方向が所定の変化パターンに従って規則的に変化している場合には、移動体の移動開始位置から移動終了位置またはフレームアウト位置までの間を予め設定される所定数に等分割し、分割した位置の撮影画像を代表画像として抽出することとしてもよい。
また、移動体が顔である場合に、顔検出部17によって検出された顔の位置、顔の大きさ、顔の向き、顔の角度(傾き)等を加味して移動体の状態変化を判別するようにしてもよい。
また、代表画像としてユーザに提示する撮影画像の枚数を予め設定しておくようにしてもよい。そして、設定された枚数以上の代表画像が抽出された場合には、抽出された代表画像の中から設定された枚数の代表画像を選出するようにしてもよい。このとき、重要度算出部285によって撮影画像毎に算出される重要度の値を用いて、重要度の高い代表画像から順番に設定された枚数の代表画像を選出するようにしてもよい。
また、上記した実施の形態1では、連続画像分割部283によって分割位置とされた位置の撮影画像を代表画像として抽出する場合について説明したが、これに限定されるものではない。例えば、分割位置とされた位置を基準として前後に隣接する所定枚数の撮影画像を代表画像として抽出するようにしてもよい。
また、上記した実施の形態1では、連続画像分割部283によって抽出された代表画像を表示部23に表示してユーザに提示し、保存画像の選択操作を受け付けることとしたが、抽出した代表画像を自動的に保存画像とし、記録媒体20に記録するようにしてもよい。またこの場合に、変形例として上記したように、分割位置を基準として前後に隣接する所定枚数の撮影画像を代表画像として抽出し、抽出した代表画像を保存するようにしてもよい。これによれば、代表画像と例えばその前後数枚の撮影画像を自動的に記録媒体20に記録することができる。
また、連続画像内において複数の移動体が検出された場合には、例えばユーザ操作に従って1つまたは複数の移動体を選択し、選択した移動体について動き検出を行ってその状態変化を判別するようにしてもよい。これによれば、複数の移動体のうちの所望の移動体に着目した代表画像の抽出が実現できる。
(実施の形態2)
図19は、実施の形態2の代表画像の抽出原理を説明する図であり、連続画像を構成する各撮影画像に写る移動体の移動経路(移動体の位置の変化)の一例として、放物線を描いて移動する移動体の移動経路を示している。
実施の形態2では、撮影画像間の移動体の動き(移動量)をもとに、移動速度を解析する。続いて、移動体の移動区間内を、例えば移動速度が予め設定される所定の基準速度以上の区間と移動速度が基準速度に満たない区間とに区切り、各区間内を所定数に等分割する。この基準速度については、予め固定値として設定しておく構成としてもよいし、例えばユーザ操作に従って可変に設定する構成としてもよい。そして、各区間内を等分割した分割位置の撮影画像を代表画像として抽出する。図19では、移動体の移動区間内を、移動速度が基準速度以上の区間Aおよび区間Cと、移動速度が基準速度に満たない区間Bとに区切っている。そして、各区間A,B,C内をそれぞれ等分割し、区間Aから5枚の代表画像I51〜I55、区間Bから5枚の代表画像I61〜I65、区間Cから5枚の代表画像I71〜I75を抽出する様子を示している。図20−1〜5は、図19の区間Aから抽出された代表画像I51〜I55を示す図であり、図21−1〜5は、図19の区間Bから抽出された代表画像I61〜I65を示す図であり、図22−1〜5は、図19の区間Cから抽出された代表画像I71〜I75を示す図である。
なお、ここでは、各区間A,B,Cからそれぞれ同数の撮影画像を抽出する場合を例示したが、分割数は個別に設定してもよい。例えば、移動速度の速い区間の分割数を、移動速度の低い区間の分割数よりも多く設定してもよい。また、区間内の撮影画像の枚数を計数し、計数した枚数に応じた分割数で等分割することとしてもよい。また、移動速度の速い区間のみ分割し、移動速度の遅い区間は分割しないようにしてもよい。逆に、移動速度の遅い区間のみ分割し、移動速度の速い区間は分割しないようにしてもよい。また、図示しないが、移動体の移動速度が基準速度以上となる区間が存在しない場合には、移動体の移動区間全体を等分割して例えば5枚の撮影画像を抽出する。
図23は、実施の形態2のデジタルカメラのコントローラ28bの構成を示す図である。なお、実施の形態2のデジタルカメラは、実施の形態1において図5に示したデジタルカメラ1の構成において、コントローラ28を図23に示すコントローラ28bに置き換えた構成で実現できる。また、図23において、実施の形態1と同様の構成には、同一の符号を付している。
図23に示すように、実施の形態2では、コントローラ28bは、変化判別部としての移動体状態解析部282bと、画像抽出部としての連続画像分割部283bと、重要度算出部285と、表示処理部としての保存画像選択処理部287とを含む。移動体状態解析部282bは、連続画像内に出現した移動体の状態を解析して状態変化を判別する。実施の形態2では、移動体状態解析部282bは、移動体の移動開始位置、フレームアウト位置、移動終了位置および移動体の移動速度を解析する。連続画像分割部283bは、移動体の移動速度に応じた位置で連続画像を分割し、分割位置の撮影画像を代表画像として抽出する。
図24は、実施の形態2のデジタルカメラが行う処理の手順を説明するフローチャートであり、連写モードにおけるデジタルカメラの処理手順を示している。なお、図24では、実施の形態1と同様の処理工程については、同一の符号を付している。
実施の形態2では、連写枚数が所定枚数より多い場合に(ステップa11:Yes)、移動体状態解析部282bが移動体状態解析処理を行う(ステップl13)。図25は、移動体状態解析処理の詳細な処理手順を示すフローチャートである。
移動体状態解析処理では先ず、移動体状態解析部282bは、移動体の移動開始位置を解析する(ステップm1)。例えば、その移動体が最初に検出されて登録移動体として登録された撮影画像を移動開始位置とし、画像番号を移動開始画像番号として取得する。
続いて、移動体状態解析部282bは、移動体の移動速度を解析する(ステップm3)。例えば、移動体状態解析部282bは、連続画像を構成する各撮影画像間での移動体の動き検出結果をもとに、各撮影画像間での移動体の移動量を移動速度として算出する。
続いて、移動体状態解析部282bは、移動体のフレームアウト位置を解析する(ステップm5)。例えば、その移動体が画角範囲の端部に移動し、画角範囲から外れた撮影画像をフレームアウト位置とし、画像番号をフレームアウト画像番号として取得する。
続いて、移動体状態解析部282bは、移動体の移動終了位置を解析する(ステップm7)。例えば、その移動体が停止した撮影画像あるいはその移動体を追尾できなくなった撮影画像を移動終了位置とし、画像番号を移動終了画像番号として取得する。そして、図24のステップl13にリターンし、その後、ステップl15に移る。
ステップl15では、連続画像分割部283bが、連続画像分割処理を行う。図26は、連続画像分割処理の詳細な処理手順を示すフローチャートである。
連続画像分割処理では、連続画像分割部283bは先ず、移動体の移動開始画像番号を取得する(ステップn1)。そして、連続画像分割部283bは、連続画像内で移動体が移動している区間(移動区間)の先頭の撮影画像を移動開始画像番号とする(ステップn3)。続いて、連続画像分割部283bは、移動終了フラグを判定する。そして、連続画像分割部283bは、移動終了フラグがONであれば(ステップn5:Yes)、移動区間の最後尾の撮影画像を移動終了画像番号とし(ステップn7)、ステップn15に移る。
一方、ステップn5において判定した移動終了フラグがOFFであれば(ステップn5:No)、続いて連続画像分割部283bは、フレームアウトフラグを判定する。そして、連続画像分割部283bは、フレームアウトフラグがONであれば(ステップn9:Yes)、移動区間の最後尾の撮影画像をフレームアウト画像番号とし(ステップn11)、ステップn15に移る。
また、ステップn9において判定したフレームアウトフラグがOFFの場合には(ステップn9:No)、移動区間の最後尾の撮影画像を連続画像の最終画像番号とし(ステップn13)、ステップn15に移る。
ステップn15では、連続画像分割部283bは、移動体の移動速度の変化を判別する。そして、連続画像分割部283bは、いずれかの撮影画像間で移動速度が所定の基準速度以上となっていれば(ステップn15:Yes)、移動区間内を移動速度が基準速度以上の区間と基準速度に満たない区間とに区切り、先ず、移動速度が基準速度以上の区間内を所定数に等分割して分割位置を設定する(ステップn17)。続いて、連続画像分割部283bは、移動速度が基準速度に満たない区間内を所定数に等分割して分割位置を設定する(ステップn19)。そして、ステップn23に移る。一方、移動速度が基準速度以上となっていない場合には(ステップn15:No)、移動区間全体を所定数に等分割して分割位置を設定する(ステップn21)。そして、ステップn23に移る。
ステップn23では、分割位置の撮影画像を代表画像として抽出する。そして、図24のステップl15にリターンし、その後ステップa17に移る。
以上説明したように、実施の形態2によれば、連続画像を構成する撮影画像間で動き検出を行って連続画像中に出現する移動体の動きを検出し、動き検出結果をもとに連続画像内での移動体の状態変化として移動速度の変化を判別することができる。そして、移動体の移動速度に応じた分割位置で連続画像を分割することによって、分割した位置の撮影画像を代表画像として抽出することができる。例えば、移動体の移動区間内を、移動速度が所定の基準速度以上の区間と基準速度に満たない区間とに区切り、区間内を等分割して分割位置を設定し、代表画像を抽出することができる。したがって、連続画像中での移動体の移動速度の変化に応じて代表画像を抽出し、ユーザに提示できる。
なお、上記した実施の形態1では、移動体の重なり状態や分裂状態、移動体の移動方向が一定なのか不安定なのかそれとも所定の変化パターンに従って規則的に変化しているのかを判別して連写シーンに分類し、連写シーンに応じた位置で連続画像を分割することとした。一方、実施の形態2では、移動体の状態変化として移動速度の変化を判別し、判別した移動方向の変化に応じた位置で連続画像を分割することとした。これに対し、移動体の大きさの変化を判別し、判別した大きさの変化に応じた位置で連続画像を分割することとしてもよい。例えば、実施の形態2の適用例と同様にして、移動体の大きさが所定の基準サイズ以上である区間と、基準サイズに満たない区間とに区切り、区間内を等分割して分割位置を設定し、代表画像を抽出することとしてもよい。また、移動体の大きさが基準サイズ以上となる区間が存在しない場合には、移動体の移動区間全体を等分割して分割位置を設定することとしてもよい。
またこの場合には、実施の形態2と同様に、移動体の大きさが大きい区間と、移動体の大きさが小さい区間とを異なる分割数で分割することとしてもよい。例えば、サイズの大きい区間の分割数を、サイズの小さい区間の分割数よりも多く設定してもよい。また、区間内の撮影画像の枚数を計数し、計数した枚数に応じた分割数で等分割することとしてもよい。また、サイズの大きい区間のみ分割し、サイズの小さい区間は分割しないようにしてもよい。逆に、サイズの小さい区間のみ分割し、サイズの大きい区間は分割しないようにしてもよい。
また、移動体の移動方向の変化、移動速度の変化および大きさの変化の少なくとも2つ以上を組み合わせて移動体の状態変化を判別し、分割位置を設定するようにしてもよい。さらにこのとき、移動体が顔である場合に、顔検出部17によって検出された顔の位置、顔の大きさ、顔の向きおよび顔の角度(傾き)の少なくともいずれか1つの変化を加味してを加味して移動体の状態変化を判別するようにしてもよい。
また、画像処理部16、コントローラ28または28bを構成する連写シーン分類部281、移動体状態解析部282b、連続画像分割部283,283b、重要度算出部285、保存画像選択処理部287は、ハードウェアで実現する構成としてもよいし、所定のプログラムを実行することによってソフトウェアとして実現することとしてもよい。ソフトウェアとして実現する場合には、例えば、図8〜図18に示した処理、あるいは図24〜図26に示した処理の一部または全部を実現するためのプログラムをROM27に記録しておく。そして、コントローラ28,28bがこのプログラムを読み出して実行することによって、連写シーン分類部281、移動体状態解析部282b、連続画像分割部283,283b、重要度算出部285、保存画像選択処理部287の構成を実現するようにしてもよい。
また、上記した実施の形態では、本発明の撮影装置をデジタルカメラに適用した例について説明したが、適用対象はデジタルカメラに限定されず、携帯電話機に付属のカメラやPC付属のカメラに適用してもよい。