(実施形態1)
図1は、本発明の各実施形態に共通する撮像装置および再生装置の一実施例としてのデジタルカメラの外観を示す図であり、ここでは主として正面(図1(a))及び背面(図1(b))の外観を示す。デジタルカメラ100は、図1(a)に示すように正面側に撮像レンズ(レンズ群)2を有している。また、デジタルカメラ100の背面には図1(b)に示すように、モードダイアル3、液晶モニタ画面4、カーソルキー5、SETキー6、ズームボタン7(Wボタン7−1、Tボタン7−2)、およびメニューキー10等のキーが設けられている。また、上面にはシャッターキー8、電源ボタン9が設けられている。なお、側部には図示されていないが、パーソナルコンピュータ(以下、パソコン)やモデム等の外部装置とUSBケーブルに接続する場合に用いるUSB端子接続部が設けられている。
図2は図1に示したデジタルカメラ100のブロック図であり、デジタルカメラ100は、(静止画)通常撮影モード、マクロ撮影モード、連写モード、速写モード、・・、動画撮影モード、高速連写モード、・・・等の撮影モードや、静止画再生モード、動画再生モード等の再生モード等静止画撮影モードと動画撮影モード、連写画像再生モード等を有している。また、動画再生モードの下位モードとして、動画像から静止画像を生成(静止画像化)して出力するための静止画出力モードを有している。なお、高速連写モードは例えば、1秒間に50枚以上の画像を連続撮影する撮影モードであり、本発明は動画から静止画を生成する場合だけでなく、高速連写モードで撮影された画像から選択した画像とその画像を中心として前後に撮影された画像から静止画像を生成する場合にも適用できる。
つまり、デジタルカメラ100は、カメラ本体1と、カメラ本体1に着脱可能な記録メディア30から構成されており、カメラ本体1にはズームレンズやフォーカスレンズからなる光学系12およびCCD13が配置されている。
CCD13は本発明の撮像手段であり、タイミングジェネレータ17から送られる駆動信号により駆動され、被写体の光像を光電変換し撮像信号として出力する。CCD13の出力信号はCDS回路14で相関二重サンプリングおよびゲイン調整され、A/D変換回路15でデジタル信号に変換される。A/D変換された撮像信号はDSPブロック16に入力され、ぺデスタルクランプ等の処理が施された後、DSPブロック16内の輝度・色差マトリックス回路で輝度(Y)信号および色差(UV)信号に変換される。なお、DSPブロック16ではオートアイリス(AE)、ホワイトバランス(WB)、輪郭強調などの画像の品質向上のための処理も行われる。
DSPブロック16で変換されたYUVデータは解像度変換ブロック18で予め設定された画像サイズに変換された後、1フレーム分のデータが順次内蔵メモリ24(例えば、SD内蔵メモリ24)に格納される。内蔵メモリ24に格納された1フレーム分のYUVデータは表示コントローラ21に送られ、そこでビデオ信号に変換された後、LCD(液晶表示部)12によりスルー画像、つまりスルーの動画像として表示される。
静止画モードでの撮影時に内蔵メモリ24に格納された1フレーム分のYUVデータはデータ圧縮・伸張ブロック19でJPEG方式等によってデータ圧縮後コード化され、内蔵メモリ内でファイル化された後、メディアコントローラ20を介して記録メディア30に静止画データ(静止画ファイル)として記録される。
記録メディア30は本発明の動画記録手段であり、動画撮影時に内蔵メモリ24に格納されたYUVデータは順次データ圧縮・伸張ブロック19に送られ、所定の動画記録方式(例えば、Motion−JPEGやMPEG)のコーデックによりデータ圧縮した後にコード化され、内蔵メモリ24内でファイル化された後、メディアコントローラ20を介して動画ファイルとして記録メディア30に記録される。なお、動画撮影のフレームレートはタイミングジェネレータ17で生成されるタイミング信号によって決まり、コード化されるデータの圧縮率はデータ圧縮・伸張ブロック19内の電子化テーブル値によって決定される。
データ圧縮・伸張ブロック19は、静止画または動画の再生時には記録メディア30から読み出された静止画や動画データを伸張し、静止画データや動画像のフレームデータとして内蔵メモリ24に展開する。展開された画像は表示コントローラ21に送られ、そこでビデオ信号に変換された後、LCD22により再生画像として表示される。なお、LCD22にはスルー画像や再生画像だけでなく、必要に応じてデジタルカメラ100における各種の機能に関する選択や設定を行うためのメニュー画面や設定画面も表示される。
音声処理ブロック25は、動画撮影時においてカメラ本体1に内蔵されたマイク26に入力した音声をデジタル信号に変換し、データ圧縮後にオーディオデータとして内蔵メモリ24に送る。内蔵メモリ24に送られたオーディオデータはフレームデータとともにストリームデータとして記録メディア30に順次書き込まれる。また、音声処理ブロック25は、動画撮影時には、内蔵メモリ24から送られたオーディオデータを復号し、アナログの音声信号に変換した後、カメラ本体1に内蔵された内蔵スピーカ27から音声出力させる。
キー入力ブロック28は、上述したモードダイアル3、カーソルキー5、SETキー6、ズームボタン7(Wボタン7−1、Tボタン7−2)、シャッターキー8、電源ボタン9、およびメニューキー10と、キーが操作されると操作されたキーの操作信号を生成してCPU23に送出するキー処理部(図示せず)等から構成されている。
モードダイアル3は撮影モードや再生モードの選択を行うものである。ユーザはモードダイアル3を操作して、(静止画)通常撮影モード、マクロ撮影モード、連写モード、速写モード、・・、動画撮影モード、・・・等の撮影モードや、静止画再生モード、動画再生モード等の再生モード等を選択することができる。
カーソルキー5はモード設定やメニュー選択等に際して液晶モニタ画面4に表示されるメニューやアイコン等をカーソルでポイント(指定)する際に操作するキーであり、カーソルキー5の操作によりカーソルを上下又は左右に移動させることができる。また、動画再生モードの下位モードである静止画出力モードにおいて1コマに写っている人数が指定されたときは、カーソルキー5を左方向(>)操作することにより停止した画面を進行方向に1コマずつ進めることができる。また、カーソルキー5を左方向(>)操作することにより画面を逆方向に1コマずつ進めることができる。
SETキー6はカーソルキー5によってカーソルが位置づけられている項目や画像を選択、設定若しくは確認する際に押すキーである。再生モードの下位モードである静止画出力モードにおいて多人数画像抽出モードが選択されたときは、SETキー6を押すとその時点で表示されていたコマが生成される静止画の中心画像となる。
ズームボタン7は、ズーム操作に用いられ、光学ズームの場合はズームボタン7(Wボタン7−1またはTボタン7−2)の操作に対応して画角が実際に変化し、液晶モニタ画面4にはワイド(広角)画像又はテレ(望遠)画像が表示される。電子ズームの場合はズームボタン7の操作に対応して光学系12からの画像がデジタルズーム処理により画像が拡大/縮小されて表示される。
シャッターキー8は、撮影時にレリーズ操作を行うもので、2段階のストロークを有しており、静止画撮影モードでは1段目の操作(半押し状態)でオートフォーカス(AF)と自動露出(AE)を行わせるための合焦指示信号を発生し、2段目の操作(全押し状態)で撮影処理を行うための撮影指示信号を発生する。また、動画撮影モードでは録画開始/終了の指示に用いられるほか、静止画出力モードにおいて、シャッターキー8を半押しすると表示中の動画像を停止させて静止表示し、シャッターキー8を全押しすると停止解除となり、動画表示を続行させる動画表示停止/停止解除キーとして用いることができる。なお、シャッターキー8を全押しすると表示中の動画像を停止させて静止表示し、シャッターキー8を半押しすると停止解除となり、動画表示を続行させる動画表示停止/停止解除キーとして用いるようにしてもよい。
メニューキー10はその時点で処理可能な選択メニューやアイコンを表示する場合に操作されるキーである。
人数検出ブロック31は動画再生モードの下位モードである静止画出力モードにおいて多人数数が指定されると、動画中のコマから多人数が写されているコマを検出し、検出信号をCPU23に送る。ここで、多人数とは静止画出力モード時にユーザが指定する人数であり、実施例では2人以上を選択できる(選択人数の例;2人、3人、4人、5人、・・・10人、2人以上、3人以上、4人以上、5人以上、・・・、10人以上)。人数の検出方法は公知の方法を用いることもできる。例えば、前述した特許文献1(特開2000―30033号公報)に記載の技術のように人物を認識する技術や特許文献3(特開2004−145563号公報)に記載の人数情報を取得する方法を適宜採用することができる。なお、この多人数検出処理のために専用の回路を設けても良いしCPU23で多人数検出用のプログラムを実行させるようにしてもよい。
輪郭抽出ブロック32は注目被写体(実施例ではフォーカスエリアを含む被写体)から人物の輪郭を抽出する。人物の輪郭抽出方法は公知の方法(例えば、特開平07−274067号公報や特開2004−297274号公報に記載の輪郭抽出方法)を適宜採用することができる。なお、輪郭抽出ブロック32は必須ではない。
上述した各ブロックはCPU23によって制御されており、CPU23が各ブロックの制御に必要とされるプログラムやデータはEEPROMやフラッシュメモリ等の書き換え可能な不揮発性メモリであるプログラムメモリ29に記憶されている。そしてCPU23は上記プログラムおよびキー入力ブロック28からのキー入力信号に基づき動作することにより、本発明の選択手段、人数情報取得手段、静止画生成手段、制御手段として機能する。なお、プログラムメモリ29にはユーザによって設定されたシステムや各機能に関する設定データも記憶されている。
また、プログラムメモリ29は本発明のレイアウト情報記憶手段でもあり、プログラムメモリ29には前述した静止画出力モードの動作に際して使用されるレイアウトデータがそのエリア29aに格納されている。レイアウトデータは動画像の静止画像化に際して生成する静止画像のデザイン、つまり、中心画像のまわりに縮小して配置するピックアップ画像の数、大きさ、配置等を示すデータである(図6参照)。
図3は動画から検出される多人数画像の表示方法の説明図であり、多人数画像として3人が写っている画像を動画中から検出する場合の表示例である。今、再生する動画中に、2人(コマ数i(1−1〜1−i)、0人(コマ数j(2−1〜1−j)、3人(コマ数k(3−1〜3−k)、2人(コマ数l(4−1〜4−l)、1人(コマ数m(5−1〜5−i)、4人(コマ数n(6−1〜1−n)、3人(コマ数p(7−1〜7−p)、0人(コマ数q(8−1〜1−q)の順にカメラの方を向いた人物が写っているものとする(但し、0人の場合は人物は写っていないコマである)。
多人数画像として3人がカメラの方を向いた画像を動画から検出する際は、コマ1−1〜2−j)には3人未満の人物しか写っていないため画像が表示されずにスキップされる。3人が写っているコマ3−1が検出されるとその位置で停止し、検出されたコマ3−1の画像が表示される。次にシャッターキー8を全押しするとk−1個のコマ3−2〜3−3kの画像が動画表示される。動画表示中にシャッターキー8が半押しされると押された時点の表示されていたコマで停止し、そのコマの画像が静止表示される。また、シャッターキー8を全押しすると動画表示を開始する。k−1個の動画表示が終了すると、コマ4−1〜6−nまでは3人未満の人物しか写っていないので画像の表示がスキップされ、3人が写っているコマ7−1が検出されるとその位置で停止し、コマ3−1の画像が静止画表示される。次にシャッターキー8の全押し操作によりp−1個のコマ7−2〜7−pの画像が動画表示される。動画表示中にシャッターキー8が半押しされると押された時点の表示されていたコマで停止し、そのコマの画像が静止表示される。また、シャッターキー8を全押しすると動画表示を開始する。なお、シャッターキー8を全押しすると表示中の動画像を停止させて静止表示し、シャッターキー8を半押しすると動画表示を開始するようにしてもよい。
上記説明したように、指定された人数以外の画像については表示をスキップするようにしたことにより、静止画出力のための時間を節約できる。なお、指定された人数が写っている連続したコマを動画表示する場合に所定時間間隔毎にコマを移動させてスロー表示するようにしてもよい。このようにすれば、連続したコマの中から所望の画像を選択し易い。
また、図3の例でカメラの方を向いた人物の数として「3人以上」を指定すると、動画はコマ3−1およびコマ6−1で停止する。また、カーソル操作により表示されたコマ3−1に続くk+l−1個のコマ3−2〜4−lの画像が動画表示される。同様に、コマ6−1で表示された画像に続くn+p−1個のコマ6−2〜7−pの画像が動画表示される。
上記図3の説明では、指定された人数以外の人物が写っている画像については画像表示をスキップするようにしたが、スキップさせず、動画表示するようにしてもよい。また、指定された人数が写っている連続したコマを動画表示せず、カーソル操作により1コマ1コマ送るようにしてもよい。このようにすると所望の画像がある場合に確実に選択できる。
図4は本実施形態に係わる静止画出力方法の説明図であり、図4(a)は動画から検出された多人数画像を示す。図示の例では画像41は選択された人数の画像として動画から最初に検出された画像である。また、図4(b)で画像45は生成される静止画におけるレイアウトの中心画像(ハイライトフレーム)としてカーソル操作によって選択された画像である。また、図4(c)は中心画像45の前後の画像(ピックアップ画像44、46)であり、静止画出力時にピックアップされる。図4(d)は生成される静止画を示し、ピックアップ画像の縮小画像47、48が選択されたレイアウト(図示の例では、左上隅、右上隅)で配置された静止画像49が表示される。
図4の例ではピックアップ画像は前後各一つの画像としたが、前後の複数の画像をピックアップすることもできる。ピックアップする画像の数は静止画出力モード開始時にユーザが選択・設定することができる。また、ピックアップ画像は中心画像の直前・直後の画像とは限らず、中心画像より何コマか離れた画像でもよい。なお、ピックアップする画像の数によってレイアウトが異なる(図6参照)。
図5は本実施形態に係わる静止画出力時のCPUによる制御動作を示すフローチャートである。このフローチャートはデジタルカメラ100に本発明の多人数画像検出機能および静止画像出力機能を実現させるためのプログラムを説明するためのものである。
以下に示す処理は基本的にCPUが予めフラッシュメモリ等のプログラムメモリに記憶されたプログラムに従って実行する例で説明するが、全ての機能をプログラムメモリに格納する必要はなく、必要に応じて、その一部若しくは全部をネットワークを介して受信して実現するようにしてもよい。以下、図1〜図6に基いて説明する。なお、図5に示すフローチャートでは動画再生モードを例として説明するが、本発明の適用範囲は動画再生モードに限定されず、例えば、前述した高速連写モードで撮影した連続撮影画像(高速連写画像)の再生時における静止画像出力にも適用できる。
図5で、動画再生モード選択後、静止画出力モードが選択されると、CPU23は記録メディア30に記録されている各動画ファイルの代表画像(通常は先頭フレームの縮小画像)をLCD22に一覧表示させ、ユーザに所定のキー操作(たとえば、カーソルキー5の操作)により、所望の動画ファイルを選択させる(ステップS1)。
次に、CPU23はLCD22に人数入力用のウインドウを表示し、1コマに写っている人数の指定(選択入力)を促し、キー入力ブロック28からの信号を調べて指定された人数を取得し、内蔵メモリ24に保持(一時記憶)する(ステップS2)。人数は実施例では2人以上を指定できる。また、無指定(ENTERキーの押し下げ)の場合は3人以上が指定されたものとする。なお、図示しない人数入力用のウインドウには、指定可能な人数(たとえば、2人、3人、4人、5人、・・・10人、2人以上、3人以上、4人以上、5人以上、・・・、10人以上)が表示され、ユーザは表示される人数のうち所望の人数をカーソルキー5の操作により指定できる。
CPU23は、メディアコントローラ20を制御して選択された動画ファイルのフレーム画像を記録メディア30から読み出してデータ圧縮・伸張ブロック19で伸張させて画像データを再生し(ステップS3)、人数検出ブロック31を制御して上記ステップS3で再生した画像データから顔領域を抽出させ、抽出させ顔領域の数のカウントを行わせてそのコマの中でカメラの方を向いている人物像の数情報(人数情報)を取得し(ステップS4)、取得した人数情報と上記ステップS2で指定された人数と比較し、取得した人数が指定された人数である場合はステップS6に進み、そうでない場合は次の動画フレームデータの再生を行うためにステップS3に戻る(ステップS5)。
CPU23は、上記ステップS3で再生した画像データを内蔵メモリ24に動画像フレームデータとして展開してから表示コントローラ21を介してLCD22に表示させる(ステップS6)。これにより、選択された動画ファイルに記録されている動画像のうち、上記ステップ2で指定された人数の人物像が写っている最初のコマが静止表示される。
ユーザはシャッターキー8を全押し(動画表示指示)することにより指定された数の人物がカメラの方を向いて写っているコマを動画表示できるので、CPU23はキー入力ブロック28からの信号を調べシャッターキー8が全押し操作された場合はステップS8に進み、そうでない場合はシャッターキー8の全押し操作を待つ(ステップS7)。
CPU23は、メディアコントローラ20を制御し、選択された動画ファイルのフレーム画像を記録メディア30から読み出してデータ圧縮・伸張ブロック19で伸張させて画像データを再生し(ステップS8)、人数検出ブロック31を制御して上記ステップS3で再生した画像データから顔領域を抽出させ、抽出させた顔領域の数のカウントを行わせて人数情報を取得し(ステップS9)、取得した人数情報と上記ステップS2で指定された人数と比較し、取得した人数が指定された人数である場合はステップS11に進み、そうでない場合は次の動画フレームデータの再生を行うためにステップS8に戻る(ステップS10)。
CPU23は、指定人数の(上記ステップS8で内蔵メモリ24に展開した)動画像フレームデータを表示コントローラ21を介してLCD22に順次表示させる(ステップS11)。
ユーザはシャッターキー8を半押しすると再生表示中の動画像を停止させてそのまま表示(つまり、静止表示)させることができるので、CPU23はキー入力ブロック28からの信号を調べ、シャッターキー8が半押しされた場合はステップS13に進み、そうでない場合はステップS8に戻る(ステップS12)。これによりこのコマの次からシャッターキー8が半押しされるまでは指定人数が写っている各コマが順次動画表示される。なお、このステップで、動画をスロー表示するようにしてもよく、更に、所定時間間隔毎に1コマずつ静止画表示するようにしてもよい。
シャッターキー8が半押しされるとCPU23は動画表示を停止するのでLCD22にはそのコマの静止画が表示される。ここで、ユーザはカーソルキー5の操作により静止画表示する画像を前のコマに戻したり、次のコマに進めることができるので、CPU23はキー入力ブロック28からの信号を調べ、カーソルキー5が操作された場合はカーソルキー5の操作に応じて画面を1コマずつ前に戻して静止表示したり、次のコマに進めて静止画表示する(ステップS13)。
CPU23はキー入力ブロック28からの信号を調べ、動画表示再開指示(シャッターキー8の全押し)があるとステップS3に戻り、中心画像の確定操作(たとえば、SETキー6の押し下げ)があるとステップS15に進む(ステップS14)。
CPU23は静止画出力時のレイアウトの中心画像の前後のコマとしてピックアップする画像の数の指定を促すメッセージ(例えば、「ピックアップする画像の数を指定してください」と指定可能な数をLCD22に表示し、ユーザがピックアップする画像数を選択するとその数を取得して保持し、ステップS16に進む(ステップS15)。
CPU23は、上記ステップS8で取得した前後のフレーム画像の数に対応するレイアウトデータ(図6)をプログラムメモリ29から取り出してピックアップ画像表示枠を生成し(ステップS16)、生成したピックアップ画像表示枠をレイアウトデータの示す位置で、現在静止表示中の画像(中心画像)に重ねてLCD22に表示する(ステップS17)。
次に、CPU23は内蔵メモリ24から、現在表示されている画像(中心画像)のフレーム画像を内蔵メモリ24の所定領域に保持(記憶)すると共に、前後のフレーム画像(ピックアップ画像)をステップS15で取得した前後のフレーム画像の数だけ取り出し(ステップS18)、上記ステップS18で生成したピックアップ画像表示枠のサイズに縮小して内蔵メモリ24の所定領域に保持(記憶)した後(ステップS19)、縮小したピックアップ画像を表示コントローラ22を介してLCD22に表示されているピックアップ画像表示枠内に表示する。これにより、図4(d)に示すような合成画像(静止画)が表示される(ステップS20)。上記縮小画像は、毎回作成しなくても予め用意されているサムネイル等を用いてもよい。
ユーザが確認入力を行う(例えば、SETキー6を押す)と静止画像生成指示が出たものとしてステップS24に進み、他のキー(例えば、カーソルキー5)が押されると変更(やり直し)指示があったものとしてステップS22に進む(ステップS21)。
変更指示があった場合は、上記ステップS14で取得した前後のフレーム画像の数に対応するレイアウトデータ(図6)を調べ、対応するレイアウトデータがない場合はステップS14に戻り(ステップS22)、対応するレイアウトデータがあった場合はそのレイアウトデータをプログラムメモリ29から取り出してピックアップ画像表示枠を生成し、ステップS17に戻る(ステップS23)。
静止画像生成指示があった場合は、CPU23は内蔵メモリ24に保持した中心画像のフレーム画像(データ)と、上記ステップS19で内蔵メモリ24に保持した各縮小画像を合成して、LCD22に表示している静止画像と同じレイアウトの静止画像(データ)を生成し(ステップS24)、記録メディア30に上記ステップS2で保持した指定人数とステップS24で生成した静止画データを関連付けてそれぞれ記録し(ステップS25)、次の画像データがある場合はステップS3に戻り、そうでない場合は一連の処理を終了する(ステップS26)。なお、上記ステップS25で指定人数とステップS24で生成した静止画データ関連付けてそれぞれプリンタ等の外部処理装置に送信するようにしてもよい。
上記図5のフローチャートに示した制御動作により、ユーザは所望の人数の人物がカメラの方を向いた動画像の中から所望する画像を中心とした所定のレイアウトの静止画を生成して出力(記録またはプリンタ等や外部処理装置に送信)できるので、皆がカメラの方を向いて写っている画像を再生表示したり印刷したりすることができる。また、静止画の記録の際に人数情報も出力するので、印刷の際にその人数情報を基に人数分の写真を自動印刷することもできる。また、所望の人数の人物がカメラの方を向いた画像のみを表示するので、処理に要する時間が全体として短時間で済む。
なお、上記図5のフローチャートでは中心画像と前後の画像を合成した静止画を生成して出力するようにしたが、ステップS15〜S24を省略し、ステップS14を「CPU23はキー入力ブロック28からの信号を調べ、動画表示再開指示(シャッターキー8の全押し)があるとステップS3に戻り、出力画像の確定操作(たとえば、SETキー6の押し下げ)があると次のステップ(つまり、ステップS25の記録処理)に進む」としてもよい。
また、上記図5のフローチャートでは圧縮された動画データから静止画を出力する例について述べたが、圧縮されていない動画データから所定時間間隔のフレームデータを自動的に選択してそのフレーム画像を所定のレイアウトに配置した静止画を出力することもできる。
また、上記図5のフローチャートに示す制御動作は、図5の各ステップおよびその説明で「動画」を「高速連写画」、「動画像」を「連写画像」とすれば高速連写画像からの静止画像生成を行う場合の制御フローとして適用できる。
図6はフレームレイアウトの例およびレイアウトデータの説明図であり、図6(a)〜(e)はフレームレイアウトの例、図6(f)はプログラムメモリに格納されているレイアウトデータのデータ構造を示す図である。
前記図4の例では、ピックアップ画像の数が前後各1個のとき左上隅と右下隅にピックアップ画像の縮小画像を配したレイアウトを示したが、図6(a)はピックアップ画像の数が前後各1個のとき右上隅と左上隅にピックアップ画像の縮小画像71−1,71−2を配すようにした例であり、図6(b)はピックアップ画像の数が前後各1個のとき右上隅と左下隅にピックアップ画像の縮小画像71−1,71−2を配すようにした例であり、図6(c)はピックアップ画像の数が前後各2個のとき四隅にピックアップ画像の縮小画像71−1、71−2、72−1、72−2を配すようにした例、図6(d)はピックアップ画像の数が前後各3つのとき左右に3個ずつピックアップ画像の縮小画像71−1、71−2、71−3、72−1、72−2、72−3を配すようにした例、図6(e)はピックアップ画像の数が前後各3つのとき上下に3個ずつピックアップ画像の縮小画像71−1、71−2、71−3、72−1、72−2、72−3を配すようにした例である。なお、ピックアップ画像は中心画像の撮影時間より前後にタイミングをずらしたフレーム画像である。図示の例では中心画像の撮影時間より前後に1〜3個分のピックアップ画像を指定した場合のレイアウトを示したが、ピックアップ画像の数は前後に1〜3個ずつに限定されず、4個以上であってもよい。また、レイアウトはユーザが作成、登録できるようにしてもよい。
また、図6(e)で、レイアウトデータ80は動画像の静止画像化に際して生成する静止画像のデザイン、つまり、ピックアップ画像の数81、ピックアップ画像から生成する縮小画像のサイズ82、縮小画像の配置位置(各縮小画像の中心座標)83等からなる)。なお、縮小画像の配置位置は各縮小画像の始点と終点の座標としてもよい。
なお、上記図5のフローチャートおよび図6では所定のレイアウトで規定された位置にレイアウトデータを表示するようにしたが、フォーカスエリアを含む被写体部分から輪郭抽出ブロック32(図2)によって人物の輪郭を抽出し、注目被写体部分を除く部分(背景部分等)に自動的フレーム画像表示枠を表示してレイアウトが像を表示するようにしてもよい。この場合、注目被写体部分の人物の輪郭が抽出されると、ユーザが選択・指定したピックアップ画像の数を基に画面内の注目被写体部分の人物を除く部分に指定した数のフレーム画像表示枠が自動的を生成・表示するようにし、フレーム画像表示枠のサイズは中心被写体人物左右の背景部分の面積やサイズを基に決定するようにする。
(実施形態2)
上記実施形態1では動画から直接所望の人数の人物が写っている静止画を出力する例について説明したが、本実施形態では、動画の再生時若しくは撮影時に各コマの人物情報(写っている人物の数情報)を検出して各コマに対応付けて記録メディア30に記録しておき、静止画の出力時に用いる例について説明する。本実施形態で用いるカメラとして実施形態1のデジタルカメラ100を用いるものとする。以下、図1〜図4および図6〜図9を基に説明する。
図7は実施形態2に係わる多人数静止画位置データの説明図であり、図7(a)は人数検出ブロック31によって検出された動画の各コマに写っているカメラの方を向いた人物の数の一例を示す図であり、1〜k+1コマまでを例示している。また、図7(b)は本実施形態で生成される多人数静止画位置データの一実施例であり、図7(a)の各コマに対応したものである。
多人数静止画位置データ90は動画の再生時若しくは撮影時に人数検出ブロック31で検出した各コマの人数情報(写っている人物の数情報)を検出して動画の記録時に各コマに対応付けて記憶される。図7(b)の例では多人数静止画位置データ90は図7(a)のコマ1〜k+1に対応して人数2、・・・・・2、0、・・・、0、3、・・・、3、2、・・・が記録されている。デジタルカメラ100は動画再生モードで静止画出力モードが選択され、多人数が選択されるとこの多人数静止画位置データ90を基に、指定された動画像データを読み出して出力(表示または印刷)することができる。
図8は多人数静止画位置データ生成機能を備えたデジタルカメラの静止画出力時のCPUによる制御動作を示すフローチャートである。
このフローチャートはデジタルカメラ100に本発明の多人数静止画位置データ記録機能(ステップT3〜ステップT7に相当)および静止画像出力機能を実現させるためのプログラムを説明するためのものである。
以下に示す処理は基本的にCPUが予めフラッシュメモリ等のプログラムメモリに記憶されたプログラムに従って実行する例で説明するが、全ての機能をプログラムメモリに格納する必要はなく、必要に応じて、その一部若しくは全部をネットワークを介して受信して実現するようにしてもよい。以下、図1〜図5、図6〜図8に基いて説明する。なお、図8に示すフローチャートでは動画再生モードを例として説明するが、本発明の適用範囲は動画再生モードに限定されず、例えば、前述した高速連写モードで撮影した連続撮影画像(高速連写画像)の再生時における静止画像出力にも適用できる。
図8で、動画再生モード選択後、静止画出力モードが選択されると、CPU23は記録メディア30に記録されている各動画ファイルの代表画像(通常は先頭フレームの縮小画像)をLCD22に一覧表示させ、ユーザに所定のキー操作(たとえば、カーソルキー5の操作)により、所望の動画ファイルを選択させる(ステップT1)。
CPU23は記録メディア30の管理領域を調べ、上記ステップT1で選択された動画ファイルに関連付けられた人数情報(多人数静止画位置データ)の有無を判定し、人数情報が選択された動画ファイルに関連付けられて記録されている場合はステップT8に進む(ステップT2)。つまり、ステップT1で選択された動画ファイルに関連付けられて記録されている多人数静止画位置データがある場合は、下記ステップT3〜T7で動画ファイルから人数検出および多人数静止画位置データの記録処理を行わなくてもよいので、直ちにステップT8以下の静止画像出力動作を開始できる。
CPU23は、メディアコントローラ20を制御して選択された動画ファイルのフレーム画像を記録メディア30から読み出してデータ圧縮・伸張ブロック19で伸張させて画像データを再生し(ステップT3)、人数検出ブロック31を制御して上記ステップT3で再生した画像データから顔領域を抽出させ、抽出させた顔領域の数のカウントを行わせてそのコマの中でカメラの方を向いている人物像の数情報(人数情報)を取得し(ステップT4)、取得した人数情報を内蔵メモリ24に確保した多人数静止画位置記憶エリアに追加記憶する(ステップT5)。多人数静止画位置記憶エリアは多人数静止画位置データ90のように選択された動画のコマ数分の人数記憶領域分(図7(b)参照)のサイズを備えており、検出された人数が読み取られたコマと1対1に対応付けられて順次記憶される。
CPU23は上記ステップT3〜T5の動作を上記ステップT1で選択された動画ファイルの動画像データが終わるまで(つまり全コマを読み取るまで)繰り返し(ステップT6)、全データの処理が終わると内蔵メモリ24の多人数静止画位置記憶エリアに記憶した人数データを多人数静止画位置データとして、記録メディア30に記録されている動画ファイルのうち上記ステップT1で選択した動画ファイルと関連付けて記録メディア30に記録する(ステップT7)。
多人数静止画位置データがすでに存在しているか上記ステップT7で多人数静止画位置データの記録が終了すると、CPU23はLCD22に人数入力用のウインドウを表示し、1コマに写っている人数の指定(選択入力)を促し、キー入力ブロック28からの信号を調べて指定された人数を取得し、内蔵メモリ24に保持(一時記憶)する(ステップT8)。人数は実施例では2人以上を指定できる。また、無指定(ENTERキーの押し下げ)の場合は本実施例では3人以上が指定されたものとしているがこれに減退されない。なお、図示しない人数入力用のウインドウには、指定可能な人数(たとえば、2人、3人、4人、5人、・・・10人、2人以上、3人以上、4人以上、5人以上、・・・、10人以上)が表示され、ユーザは表示される人数のうち所望の人数をカーソルキー5の操作により指定できる。
次に、CPU23は記録メディア30に記録されている動画ファイルのうち上記ステップT1で選択された動画ファイルをオープンして読み取り可能状態にしてから(ステップT9)、上記ステップT1で選択された動画ファイルに関連付けて記録メディア30に記録されている各コマの人数情報(多人数静止画位置データ)を読み出して内蔵メモリ24に確保されている多人数静止画位置記憶エリアに記憶し(ステップT10)、多人数静止画位置記憶エリアに記憶されている人数情報を1コマ分取り出して上記ステップT8で指定された人数と比較し、人数が一致した場合はステップT12に進み、そうでない場合は次のコマの人数を比較するためにこのステップを繰り返す(ステップT11)。
CPU23は、メディアコントローラ20を制御して上記ステップT9でオープンされた動画ファイルのフレーム画像のうち、上記ステップT8で指定された人数と写っている人物の人数が一致したコマのコマ番号と同じコマ番号のフレーム画像を記録メディア30から読み出してデータ圧縮・伸張ブロック19で伸張させた画像データを内蔵メモリ24にフレームデータとして展開してから表示コントローラ21を介してLCD22に表示させる(ステップT12)。これにより、選択された動画ファイルに記録されている動画像のうち、上記ステップ2で指定された人数の人物像が写っている最初のコマが静止画表示される。
ユーザはシャッターキー8を全押し(動画表示指示)することにより指定された数の人物がカメラの方を向いて写っているコマを動画表示できるので、CPU23はキー入力ブロック28からの信号を調べシャッターキー8が全押し操作された場合はステップT14に進み、そうでない場合はシャッターキー8の全押し操作を待つ(ステップT13)。
CPU23は多人数静止画位置記憶エリアに記憶されている人数情報を1コマ分取り出して上記ステップT8で指定された人数と比較し、人数が一致した場合はステップT15に進み、そうでない場合は次のコマの人数を比較するためにこのステップを繰り返す(ステップT14)。
CPU23は、メディアコントローラ20を制御して上記ステップT9でオープンされた動画ファイルのフレーム画像のうち、指定された人数と人数が一致したコマのコマ番号と同じコマ番号のフレーム画像を記録メディア30から読み出してデータ圧縮・伸張ブロック19で伸張させた画像データを内蔵メモリ24にフレームデータとして展開してから表示コントローラ21を介してLCD22に表示させる(ステップT15)。
ユーザはシャッターキー8を半押しすると再生表示中の動画像を停止させてそのまま表示(つまり、静止表示)させることができるので、CPU23はキー入力ブロック28からの信号を調べ、シャッターキー8が半押しされた場合はステップT17に進み、そうでない場合はステップT14に戻る(ステップT16)。これによりこのコマの次からシャッターキー8が半押しされるまでの間は指定人数が写っている各コマが順次動画表示される。なお、このステップで、動画をスロー表示するようにしてもよく、更に、所定時間間隔毎に1コマずつ静止表示するようにしてもよい。
シャッターキー8が半押しされるとCPU23は動画表示を停止するのでLCD22にはそのコマの静止画が表示される。ここで、ユーザはカーソルキー5の操作により静止表示する画像を前のコマに戻したり、次のコマに進めることができるので、CPU23はキー入力ブロック28からの信号を調べ、カーソルキー5が操作された場合はカーソルキー5の操作に応じて画面を1コマずつ前に戻して静止表示したり、次のコマに進めて静止画表示する(ステップT17)。
CPU23はキー入力ブロック28からの信号を調べ、動画表示再開指示(シャッターキー8の全押し)があるとステップT14に戻り、中心画像の確定操作(たとえば、SETキー6の押し下げ)があるとステップT19に進む(ステップT18)。
ステップT19〜T29までの動作は図5のステップS15〜S25の動作と同様である。但し、図5のステップS15〜S25までのステップ番号をT20〜T30に夫々対応させて読み替えるものとする)。ステップT29の記録処理が終了したあと、次の画像データがある場合はステップT12に戻り、そうでない場合は一連の処理を終了する(ステップT30)。
上記図8のフローチャートに示した動作により、実施形態1と同様の効果に加え、動画ファイルが多人数静止画位置データと関連付けられていない場合は多人数静止画位置データを生成するが、人数情報取得の際は動画表示を伴わないので短時間で済み、一回多人数静止画位置データを生成しておけば次回から、人数検出処理を伴うことなく直ちに多人数静止画像出力動作を開始できる。つまり、この場合の多人数静止画出力動作は人数検出処理を伴わないので実施形態1の静止画像出力動作より短時間で済む。
また、上記図8のフローチャートに示した多人数静止画位置データ記録動作(ステップT3〜ステップT7)は動画撮影時に多人数静止画位置データを生成して動画に対応付けて記録メディア30に記録する場合にも適用することができる。たとえば、撮影した動画データの記録時に動画の各コマの人数を検出し、各動画のコマ検出した人数を対応付けた多人数静止画位置データを生成し、その多人数静止画位置データを記録する動画ファイルに関連付けて記録メディア30に記録するようにすればよい。
なお、上記図8のフローチャートでは中心画像と前後の画像を合成した静止画を生成して出力するようにしたが、ステップT19〜T28を省略し、ステップT18を「CPU23はキー入力ブロック28からの信号を調べ、動画表示再開指示(シャッターキー8の全押し)があるとステップT14戻り、出力画像の確定操作(たとえば、SETキー6の押し下げ)があると次のステップ(つまり、ステップT29の記録処理)に進む」としてもよい。
また、上記図8のフローチャートでは圧縮された動画データから静止画を出力する例について述べたが、圧縮されていない動画データから所定時間間隔のフレームデータを自動的に選択してそのフレーム画像を所定のレイアウトに配置した静止画を出力することもできる。
また、上記図8のフローチャートに示す制御動作は、図8の各ステップおよびその説明で「動画」を「高速連写画」、「動画像」を「連写画像」とすれば高速連写画像からの静止画像生成を行う場合の制御フローとして適用できる。
上記実施形態1および実施形態2では、指定された数のみまたは指定された数以上の人物がカメラの方を向いて写っているコマ若しくは指定された数のみまたは指定された数以上の人物が写っているコマを出力(記録メディア30に記録したり、外部処理装置に送信)する場合、これらの画像を表示するようにしたが、これらの画像を全く表示することなく、記録メディア30から読み出したコマ(1動画フレーム分の画像データ)のうち条件に適合したコマのみを出力するようにしてもよい。
また、上記実施形態1および実施形態2では動画から検出する人数を指定するようにしたが、あらかじめ、設定された人数を「多人数」として検出時の多人数判定値とするようにしてもよい。
以上、本発明のいくつかの実施例について説明したが本発明は上記各実施例に限定されるものではなく、種々の変形実施が可能であることはいうまでもない。例えば、カメラという用語は、デジタルカメラ等の電子カメラのほかやカメラ付き携帯電話機や撮像機能を有する情報機器などにも適用し得るものである。
また、一旦撮像した動画像を後で再生するときに今物の数などを取得しているが、撮像時にリアルタイムで取得するようにしてもよい。