以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係るカメラ10のシステム構成図である。カメラ10は、システム制御部11を備え、カメラ10を構成する各要素を直接的または間接的に制御する。システム制御部11は、システムメモリ12と通信する。システムメモリ12は、電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROM(登録商標)等により構成される。システムメモリ12は、カメラ10の動作時に必要な定数、変数、設定値、プログラム等を、カメラ10の非動作時にも失われないように記憶している。
カメラ10は、光学系20を備える。光学系20は、カメラ本体に対して着脱可能に構成されてもよい。光学系20は、主にズームレンズ、フォーカスレンズ等を含むレンズ群21、および、レンズシャッタ22により構成される。被写体像は光軸に沿って光学系20に入射し、撮像素子31の結像面に結像する。撮像部の少なくとも一部である撮像素子31は、光学系20を透過して入射する被写体像である光学像を光電変換する素子である。撮像素子31として、CCD、CMOSセンサ等が用いられる。撮像素子31で光電変換された被写体像は、A/D変換器32でアナログ信号からデジタル信号に変換される。
デジタル信号に変換された被写体像は、画像データとして順次処理される。A/D変換器32によりデジタル信号に変換された画像データは、メモリ制御部33の制御に従い、一旦内部メモリ34に記憶される。内部メモリ34は、高速で読み書きのできるランダムアクセスメモリであり、例えばDRAM、SRAMなどが用いられる。内部メモリ34は、連写撮影、動画撮影において高速に連続して画像データが生成される場合に、画像処理の順番を待つバッファメモリとしての役割を担う。
また、内部メモリ34は、画像処理部35が行う画像処理、圧縮処理において、ワークメモリとしての役割も担うと共に、加工処理された画像データを一時的に保管する役割も担う。更に、システムメモリ12に記憶されている定数、変数、設定値、プログラム等が適宜展開されて、カメラ10の制御に利用される。したがって、内部メモリ34は、これらの役割を担うに相当する十分なメモリ容量を備える。メモリ制御部33は、いかなる作業にどれくらいのメモリ容量を割り当てるかを制御する。
画像処理部35は、設定されている撮影モード、ユーザからの指示に則して、画像データを規定の画像フォーマットに従った画像ファイルに変換する。例えば、画像処理部35は、静止画としてJPEGファイルを生成する場合、色変換処理、ガンマ処理、ホワイトバランス処理等の画像処理を行った後に適応離散コサイン変換等を施して圧縮処理を行う。また、画像処理部35は、動画としてMPEGファイルを生成する場合、所定の画素数に縮小されて生成された連続する静止画としてのフレーム画像に対して、フレーム内符号化、フレーム間符号化を施して圧縮処理を行う。また、画像処理部35は、画像データの画像内における人物の顔部を認識する顔認識機能を実行する。
画像処理部35によって処理された静止画ファイル、動画ファイルは、メモリ制御部33の制御により、内部メモリ34から記録媒体IF38を介して、記録部50に記録される。記録部50は、フラッシュメモリ等により構成される、カメラ10に対して着脱可能な不揮発性メモリである。ただし、記録部50は、着脱式に限らず、カメラ10に内蔵される例えばSSDなどの記録媒体であっても良い。このとき、記録部50に記録された静止画ファイル、動画ファイルは、有線によるUSB、無線によるLAN等により外部へ出力される。また、記録部50には、焦点距離、フォーカス位置、絞り等の撮影に関連する関連情報が画像データに関連付けて記録される。なお、関連情報は、例えばExif情報に含まれていてもよい。
画像処理部35は、記録用に処理される画像データに並行して、表示用画像データを生成する。通常の表示用画像データは、記録用に処理される画像データをコピーして間引き処理された、画素数の少ない画像データである。つまり、記録用に処理される画像データに従って生成される通常の表示用画像データは、記録用の画像データと同様のカラー情報であるRGB情報を有する。このように生成された表示用画像データは、表示制御部36により、赤色信号であるR信号、緑色信号であるG信号および青色信号であるB信号に変換されて表示部37へ出力される。また、同時に、表示制御部36は、表示部37のバックライトの輝度を調整する輝度調整信号を出力する。
表示部37は、LCDパネルとバックライトを備える液晶ディスプレイユニットである。表示部37は、表示制御部36が出力するRGB信号および輝度調整信号を受け取り、LCDパネルの各画素でRGB信号の階調を生成しつつ、バックライトの輝度を調整することにより、表示用画像データをユーザに視認されるように表示する。
記録の有無に関わらず、画像処理部35が撮像素子31の出力に従って逐次表示用画像データを生成して表示部37へ出力すれば、電子ビューファインダーとしてのライブビュー表示を実現することができる。表示制御部36は、静止画および動画撮影後の再生表示、撮影前および動画撮影中のライブビュー表示を表示部37に実行させる。また、表示制御部36は、メニュー画面等を表示部37に表示させる。
カメラ10は、ユーザの入力を受け付ける受付部としての操作部材39を複数備えている。操作部材39は、静止画撮影を指示するレリーズボタン、動画撮影を指示する録画ボタン、ズームを指示するシーソースイッチ、メニュー項目等を選択する十字キー、選択した項目を確定させる確定ボタン等で構成される。システム制御部11は、操作部材39で受け付けたユーザの入力に応じて各種処理を実行する。
レンズ制御部40は、レンズ群21を制御して、被写体像の画角を変更し、被写体像の特定領域を撮像素子31の受光面上で合焦させる。露光制御部41は、レンズシャッタ22を制御して、設定された絞り値およびシャッタ速度を実現する。
まず、本実施形態に係る画像記録装置として機能するカメラ10の動作について説明する。カメラ10は、動画データからダイジェスト動画データを生成するためのフラグ群を生成し、フラグ群を動画データに関連付けて記録部50に記録する。本実施形態において、システム制御部11および画像処理部35は、フラグ群を生成するフラグ生成部として機能する。また、システム制御部11およびメモリ制御部33は、フラグ群を動画データに関連付けて記録部50に記録する記録制御部として機能する。
図2は、ダイジェスト動画データを生成するためのフラグ群の生成処理を説明する図である。カメラ10が動画撮影を実行して図2に示すフレーム画像データが取得された場合を想定する。図2の例において、ユーザは、設定画面において、人物A、人物Bを対象被写体として予め指定している。そして、人物A、人物Bを顔認識するためのパターンマッチング用データは、システムメモリ12に予め記録されている。
本実施形態において、システム制御部11は、画像処理部35と協働して、動画データからダイジェスト動画データを生成するためのフラグ群を生成する。フラグ群には、ダイジェスト動画の開始を規定する開始フラグおよびダイジェスト動画の終了を規定する終了フラグが含まれる。なお、開始フラグおよび終了フラグは、ユーザが予め指定した対象被写体ごとに生成される。
具体的には、画像処理部35は、システムメモリ12内のパターンマッチング用データを参照して、対象被写体について顔認識機能を実行する。そして、システム制御部11は、対象被写体がフレームに入ったときに、当該フレームに対して当該対象被写体の開始フラグを生成する。また、システム制御部11は、対象被写体がフレームの外に出たときに、当該フレームに対して当該対象被写体の終了フラグを生成する。図2の例において、システム制御部11は、第mフレーム、第n+2フレームに対して人物Aの開始フラグを、第m+4フレーム、第n+4フレームに対して人物Aの終了フラグを生成する。同様に、システム制御部11は、第nフレームに対して人物Bの開始フラグ、第n+3フレームに対して人物Bの終了フラグを生成する。
また、画像処理部35は、フレーム内での対象被写体の移動量を算出し、対象被写体の移動量を4段階のレベルに分類する。そして、システム制御部11は、対象被写体の移動量の変化が予め定められたレベル以上、例えば2レベル以上増加したフレームに対して、当該対象被写体の開始フラグを生成する。また、システム制御部11は、対象被写体の移動量の変化が予め定められたレベル以上、例えば2レベル以上減少したフレームに対して、当該対象被写体の終了フラグを生成する。図2の例において、システム制御部11は、第m+2フレームに対して人物Aの開始フラグを、第m+3フレームに対して人物Aの終了フラグを生成する。
また、システム制御部11は、レリーズボタンの押下を検知した時点のフレーム、すなわち静止画撮影時のフレームに対して、当該フレームに登場する対象被写体の開始フラグを生成する。図2の例において、システム制御部11は、第m+1フレームに対して人物Aの開始フラグを生成する。
システム制御部11は、メモリ制御部33と協働して、上述のように生成したフラグ群を動画データに関連付けて記録部50に記録する。このように、本実施形態におけるシステム制御部11は、ダイジェスト動画の1カットの開始、終了の候補となる時点のフレームにフラグを関連付ける。したがって、動画撮影後にユーザの要望に沿ったダイジェスト動画を、フラグ群を参照して自動でかつ容易に作成することができる。フラグ群を用いたダイジェスト動画の作成の詳細については後述する。
ここで、動画ファイルの構成について説明する。図3は、動画ファイルの一例であるMP4ファイルの構成を示す図である。デジタルビデオカメラ、デジタルスチルカメラ等で撮影されたMPEG4の画像データを記録する汎用フォーマットとしてMP4ファイルフォーマットが用いられている。動画データをMP4ファイルとして記録することにより、他のデジタル機器で再生できるなどの互換性が保証されている。
MP4ファイルは、(a)図に示すように、符号化されたストリーム画像データが格納されるmdatボックスと、ストリーム画像データに関連する情報が格納されるMoovボックスとから構成されている。mdatボックスは、(c)図に示すように複数のチャンク(chunk_c1〜chunk_cN)で構成され、それぞれのチャンクは、(d)図に示すように複数のサンプル(sample_s1〜sample_sM)で構成される。各サンプルは、例えば(e)図に示すように、sample_s1、sample_s2、sample_s3、sample_s4、…のそれぞれに対して、I0、B0、B1、P0、…の符号化されたMPEG画像データが対応する。すなわち、チャンクは、フレーム画像データを実質的に包含するMP4ファイルの部分データを構成する。
I0、I1、I2、…、Imはイントラ符号化(フレーム内符号化)されたフレーム画像データであり、B0、B1、B2、…、Bmは双方向から参照して符号化(フレーム間符号化)されるフレーム画像データである。また、P0、P1、P2、…、Pmは一方向(順方向)から参照して符号化(フレーム間符号化)されるフレーム画像データであり、いずれも可変長符号データである。
moovボックスは(b)図に示すように、作成日時等が記録されるヘッダ情報から成るmvhdボックスと、mdatボックスに格納されたストリーム画像データに関する情報を格納するtrakボックスから構成される。trakボックスに格納される情報としては、(f)図に示すように、mdatボックスの各チャンクへのオフセット値の情報を格納するstcoボックス、(g)図に示すように、各チャンク内のサンプル数の情報を格納するstscボックス、および(f)図に示すように、各チャンクにおける各サンプルのサイズ情報を格納するstszボックスが存在する。
このMP4ファイルを再生する場合、MP4ファイルのmoovボックスを読み込み、そのmoovボックスからstcoボックス、stscボックス、およびstszボックスを解析することにより、mdatボックス内の各チャンクへアクセスができるようになる。
本実施形態において、システム制御部11は、画像処理部35と協働して、mvhdボックスにフラグ群を記述する。具体的には、システム制御部11は、対象被写体のID等の被写体識別情報、フラグの種別を示すコード、対応するフレームのチャンクおよびサンプルの情報をmvhdボックスに記述する。本実施形態において、フラグの種別を示すコードとして、開始フラグを示すコードおよび終了フラグを示すコードのいずれかが記述される。このように動画データのヘッダ情報にフラグ群を記述することにより、フラグ群と動画データとが関連付けられる。
図4は、フラグ群の生成処理のフロー図である。本フローは、システム制御部11が録画ボタンのオン操作を検知した時点から開始される。なお、本実施形態において、システム制御部11は、画像処理部35と協働し、動画撮影処理と並行して本フローを実行する。ステップS101では、システム制御部11は、初期設定を行う。具体的には、システム制御部11は、ユーザが予め指定した対象被写体の数Nを設定し、各対象被写体に対して、1からNまでの番号を付与する。そして、システム制御部11は、N個の被写体フラグf1〜fNおよびiをそれぞれ0に設定する。図2の例において、システム制御部11は、Nを2に設定し、人物Aに番号1を、人物Bに番号2を付与する。そして、システム制御部11は、2個の被写体フラグf1、f2およびiをそれぞれ0に設定する。
ステップS102では、システム制御部11は、撮影中の動画のフレームを1つ取得する。なお、システム制御部11は、ステップS102へ移行するごとに、開始フレームから順にフレームを1つ取得する。ステップS103では、システム制御部11は、iをi+1に設定する。ステップS104では、システム制御部11は、番号iに対応する対象被写体がステップS102で取得したフレーム内に存在するか否かを判定する。システム制御部11は、対象被写体がフレーム内に存在する場合にはステップS105へ移行し、対象被写体がフレーム内に存在しない場合にはステップS108へ移行する。ステップS105では、システム制御部11は、fi=0であるか否かを判定する。
本実施形態において、fiは0または1の値をとる。そして、fiの値は、番号iに対応する対象被写体が前フレーム内に存在していたか否かを示す。fiの値0は、番号iに対応する対象被写体が前フレームまで存在していなかったことを示し、fiの値1は、番号iに対応する対象被写体が前フレームに既に存在していたことを示す。システム制御部11は、ステップS105において、fi=0である場合にはステップS106へ移行し、fi=1の場合にはステップS111へ移行する。ステップS106への移行は、これまではフレーム内に存在しなかった対象被写体が、フレーム内に入ってきたことを意味する。そこで、ステップS106では、システム制御部11は、番号iに対応する対象被写体の開始フラグを生成する。この時点で番号iに対応する対象被写体がフレーム内に存在することになるので、ステップS107では、システム制御部11は、fiを1に設定する。
一方、ステップS108では、システム制御部11は、fi=1であるか否かを判定する。システム制御部11は、fi=1であると判定した場合にはステップS109へ移行し、fi=1でないと判定した場合にはステップS117へ移行する。ステップS109への移行は、これまではフレーム内に存在していた対象被写体が、フレームの外へ出たことを意味する。そこで、ステップS109では、システム制御部11は、番号iに対応する対象被写体の終了フラグを生成する。この時点で番号iに対応する対象被写体がフレーム内に存在しないことになるので、ステップS110では、システム制御部11は、fiを0に設定する。そして、システム制御部11は、ステップS117へ移行する。
ステップS111では、システム制御部11は、番号iに対応する対象被写体の移動量の変化量が、予め定められた閾値より大きいか否かを判定する。システム制御部11は、移動量の変化量が閾値より大きい場合にはステップS112へ移行し、閾値より小さい場合にはステップS115へ移行する。ステップS112では、システム制御部11は、番号iに対応する対象被写体の移動量の変化量が増加したか否かを判定する。システム制御部11は、移動量の変化量が増加したと判定した場合にはステップS113へ移行し、減少したと判定した場合にはステップS114へ移行する。ステップS113では、システム制御部11は、番号iに対応する対象被写体の開始フラグを生成する。一方、ステップS114では、システム制御部11は、番号iに対応する対象被写体の終了フラグを生成する。
ステップS115では、システム制御部11は、レリーズボタンが押されたか否かを判断する。システム制御部11は、レリーズボタンが押されたと判断した場合にはステップS116へ移行し、レリーズボタンが押されていないと判断した場合にはステップS117へ移行する。ステップS116では、システム制御部11は、番号iに対応する対象被写体の開始フラグを生成する。
ステップS117では、システム制御部11は、i=Nであるか否かを判定する。システム制御部11は、i=Nでない場合にはステップS103へ戻り、次の対象被写体について上述のフラグ生成処理を実行する。一方、システム制御部11は、i=Nの場合にはステップS118へ移行する。ステップS118では、システム制御部11は、レリーズボタンが押されたか否かを判断する。システム制御部11は、レリーズボタンが押されたと判断した場合にはステップS119へ移行し、レリーズボタンが押されていないと判断した場合にはステップS120へ移行する。なお、システム制御部11は、ステップS115で既にレリーズボタンが押されたと判断している場合には、ステップS118をスキップしてステップS119へ移行する。
ステップS119では、システム制御部11は、静止画データの取得動作を実行する。具体的には、システム制御部11は、数フレーム分に相当する動画撮影を中断して、静止画撮影シーケンス、画像処理、記録処理を実行する。ステップS120では、システム制御部11は、動画撮影を継続するか否かを判定する。システム制御部11は、動画撮影が継続すると判定した場合にはステップS102へ戻り次のフレームを取得する。一方、システム制御部11は、録画ボタンの押下、電源ボタンのオフ操作等により動画撮影の終了指示を検知した場合には、本フローを終了する。
上述の実施形態では、対象被写体がフレームに入ったときに開始フラグが生成されたが、開始フラグの生成タイミングはこれに限らない。システム制御部11は、対象被写体の画面に占める面積の割合が予め定められた値以上、例えば0.1以上になった時点のフレームに対して開始フラグを生成してもよい。また、システム制御部11は、対象被写体がフレームに入ってから予め定められた時間、例えば3秒経過した時点のフレームに対して開始フラグを生成してもよい。
同様に、終了フラグの生成タイミングも、対象被写体がフレームの外に出たときに限らない。システム制御部11は、対象被写体の画面に占める面積の割合が予め定められた値、例えば0.1以下になった時点のフレームに対して終了フラグを生成してもよい。また、システム制御部11は、対象被写体がフレームから出てから予め定められた時間、例えば3秒経過した時点のフレームに対して終了フラグを生成してもよい。
また、システム制御部11は、対象被写体がフレームに入ってからフレームの外に出るまでの間の各フレームに対して一連の登場フラグを生成するようにしてもよい。そして、システム制御部11は、先頭の登場フラグに対するフレームに開始フラグを生成し、最後の登場フラグに対するフレームの次のフレームに終了フラグを生成してもよい。
上述の実施形態では、対象被写体の移動量を対象被写体の変化を示すパラメータとして扱ったが、対象被写体の変化を示すパラメータはこれに限らない。例えば、システム制御部11は、対象被写体の変化を示すパラメータとして音声を用いる。システム制御部11は、対象被写体の変化を示すパラメータとして音声を用いる場合も、対象被写体の移動量の場合と同様に、フレーム内の対象被写体の音声レベルを4段階のレベルに分類する。そして、システム制御部11は、音声レベルの変化が予め定められたレベル以上、例えば2レベル以上増加したフレームに対して、当該対象被写体の開始フラグを生成する。また、システム制御部11は、音声の変化が予め定められたレベル以上、例えば2レベル以上減少したフレームに対して、当該対象被写体の終了フラグを生成する。また、システム制御部11は、対象被写体の表情、対象被写体の画面における占有面積、対象被写体の向きを、対象被写体の変化を示すパラメータとして用いてもよい。
また、システム制御部11は、対象被写体の変化量をレベルではなく実測値で扱ってもよい。この場合、システム制御部11は、変化量の大小を判定する閾値を、例えば、移動量の場合には画素単位、音声の場合にはデシベル単位で予めシステムメモリ12に記録しておく。
上述の実施形態では、レリーズボタンが押されたときに対象被写体がフレームに入ったときに開始フラグが生成されたが、レリーズボタンに応じたフラグ生成はこれに限らない。システム制御部11は、対象被写体の大きさがレリーズボタンの押下時点における対象被写体の大きさに対して予め定められた比率以上、例えば1.3以上になった時点のフレームに対して開始フラグを生成してもよい。また、システム制御部11は、対象被写体の大きさがレリーズボタンの押下時点における対象被写体の大きさに対して予め定められた比率未満、例えば0.7未満になった時点のフレームに対して終了フラグを生成してもよい。
また、音声のレベルが測定されている場合に、システム制御部11は、対象被写体の音声レベルがレリーズボタンの押下時点における音声レベルに対して予め定められた比率以上、例えば1.3以上になった時点のフレームに対して開始フラグを生成してもよい。また、システム制御部11は、対象被写体の音声レベルがレリーズボタンの押下時点における音声レベルに対して予め定められた比率未満、例えば0.7未満になった時点のフレームに対して終了フラグを生成してもよい。
上述の実施形態では、システム制御部11は、開始フラグおよび終了フラグを生成したが、開始フラグおよび終了フラグと異なる中立フラグを生成してもよい。具体的には、システム制御部11は、ズームが変更された時点、フォーカスが変更された時点、絞りが変更された時点、パンニング動作を検知した時点、輝度または色が閾値以上変化した時点、動画撮影の一時停止が検知された時点等に中立フラグを生成する。ズーム、フォーカス、絞りの変更については、システム制御部11は、これらのパラメータが閾値以上変更された場合に中立フラグを生成するようにしてもよい。中立フラグは、ダイジェスト画像を生成する場合に、状況に応じて開始フラグまたは終了フラグとして用いられる。なお、中立フラグを示すコードは、開始フラグを示すコードおよび終了フラグを示すコードと異なるコードとして、mvhdボックスに記述される。
上述の実施形態では、システム制御部11は、動画データのヘッダ情報にフラグ情報を記述したが、これに限らない。システム制御部11は、フラグ群のテーブルを作成し、当該テーブルでフラグ群の各フラグと動画データのフレームとを関連付けてもよい。この場合、システム制御部11は、当該テーブルを動画データとともに記録部50へ記録する。
上述の実施形態では、被写体ごとに開始フラグおよび終了フラグが生成されたがこれに限らない。システム制御部11は、被写体を区別することなく開始フラグおよび終了フラグを含むフラグ群を生成する。そして、システム制御部11は、図2に示す顔認識による被写体の登場判定結果、被写体の移動量等の被写体の変化を示す変化情報を、フラグ群と対応付けて記録部50に記録する。したがって、システム制御部11は、フラグ群を生成した後に、フラグ群の各フラグが開始フラグであるか、それとも終了フラグであるか、およびどの被写体フラグであるかを、変化情報で判別できる。
上述の実施形態において、システム制御部11は、動画撮影後にユーザの選択を受け付け、ユーザが選択した被写体に対するフラグのみ残すようにしてもよい。具体的には、まず、システム制御部11は、動画撮影後に、表示制御部36を制御して、動画に登場する被写体若しくは予め登録されている被写体を表示部37に表示させ、ユーザの選択を受け付ける。そして、システム制御部11は、動画撮影後にユーザが選択した被写体に対するフラグ以外のフラグを記録部50から削除する。この構成によれば、ユーザの要望に沿ったフラグ群のみを動画データと関連付けることができる。
上述の実施形態では、システム制御部11は、動画撮影時にフラグ群を生成したが、これに限らない。システム制御部11は、画像処理部35と協働して、動画撮影後に動画データを解析してフラグ群を生成してもよい。具体的には、まず、システム制御部11は、動画撮影後に、表示制御部36を制御して、動画に登場する被写体若しくは予め登録されている被写体を表示部37に表示させ、ユーザの選択を受け付ける。そして、システム制御部11は、撮影開始フレームから撮影終了フレームまで順次フレーム解析を実行することにより、ユーザが選択した被写体に対するフラグ群を生成し、当該フラグ群を動画データと関連付けて記録する。また、システム制御部11は、動画撮影時に生成されたフラグ群と動画撮影後に生成されたフラグ群とが共存する場合、動画撮影後に生成されたフラグ群を動画撮影時に生成されたフラグ群より優先度の高いフラグとして設定してもよい。
次に、本実施形態に係る画像生成装置として機能するカメラ10の動作について説明する。カメラ10は、動画データと、動画データからダイジェスト動画データを生成するための上述したフラグ群とを記録部50から取得し、フラグ群を用いてダイジェスト動画データを生成する。本実施形態において、システム制御部11は、動画データとフラグ群とを記録部50から取得する取得部として機能する。また、システム制御部11および画像処理部35は、フラグ群を用いてダイジェスト動画データを生成する動画生成部として機能する。
図5は、ダイジェスト動画の作成条件の設定画面を示す図である。ユーザがダイジェスト動画作成のメニュー項目を選択し、ダイジェスト動画を作成する動画を選択すると、表示制御部36は、図5に示すようなダイジェスト動画の作成条件の設定画面を表示部37に表示させる。作成条件の設定画面には、時間条件項目101、注目人物項目102、優先度項目103の3つの設定項目が含まれている。
時間条件項目101は、ダイジェスト動画の全体の時間を設定するための項目である。注目人物項目102は、ダイジェスト動画で登場させる注目人物を設定するための項目である。注目人物項目102で複数の注目人物が選択された場合、システム制御部11は、優先度項目103をアクティブにする。優先度項目103は、ダイジェスト動画において選択された複数の人物の登場比率を設定するための項目である。
ユーザは、操作部材39を操作してこれらの項目にダイジェスト動画の作成条件を入力する。ユーザが作成条件を入力して画面右下のOKボタン104を押すと、システム制御部11は、画像処理部35と協働して、ダイジェスト動画データの生成を開始する。なお、システム制御部11は、一度設定した条件をシステムメモリ12に記録し、別のダイジェスト動画の作成条件の設定時に、以前の設定条件の選択をユーザから受け付けてもよい。ユーザが以前の設定条件を選択した場合、システム制御部11は、ユーザが選択した設定条件をシステムメモリ12から読み出す。
ここで、ダイジェスト動画の生成処理について説明する。図6は、ダイジェスト動画データの生成処理の第1例を説明する図である。第1例におけるダイジェスト動画の生成処理は、図2で示す動画データが選択され、かつ人物Aが注目人物として選択された場合の処理である。まず、システム制御部11は、動画データと、当該動画データに関連付けられたフラグ群データを記録部50から取得する。次に、システム制御部11は、取得したフラグ群のうちから人物Aのフラグ群を抽出する。
図6に示すとおり、人物Aのフラグ群には、第mフレーム、第m+1フレーム、第m+2フレーム、第n+2フレームにそれぞれ関連付けられた開始フラグ201、202、203、206が含まれている。また、人物Aのフラグ群には、第m+3フレーム、第m+4フレーム、第n+4フレームにそれぞれ関連付けられた終了フラグ204、205、207が含まれている。
システム制御部11は、人物Aのフラグ群を参照して、人物Aが登場しているフレームを用いてダイジェスト動画像データを生成する。具体的には、システム制御部11は、開始フラグに関連付けられたフレームから、終了フラグに関連付けられたフレームの1つ前のフレームまでのフレーム画像データを1カットの画像データとして抽出する。そして、画像処理部35は、システム制御部11の制御に従い、抽出したカットを順に並べたダイジェスト動画データを生成する。ただし、複数の開始フラグが終了フラグを挟むことなく並んでいる場合には、システム制御部11は、それら複数の開始フラグのうちの最初の開始フラグだけを採用する。同様に、複数の終了フラグが開始フラグを挟むことなく並んでいる場合には、システム制御部11は、それら複数の終了フラグのうち最後の終了フラグだけを採用する。
図6の例において、システム制御部11は、終了フラグを挟むことなく並んでいる3つの開始フラグ201、202、203のうち最初の開始フラグ201を採用する。また、システム制御部11は、開始フラグを挟むことなく並んでいる2つの終了フラグのうち最後の終了フラグ205を採用する。そして、システム制御部11は、開始フラグ201に関連付けられた第mフレームから、終了フラグ205に関連付けられた第m+4フレームの1つ前の第m+3フレームまでのフレーム画像データを1カットの画像データとして抽出する。また、システム制御部11は、開始フラグ206に関連付けられた第n+2フレームから、終了フラグ207に関連付けられた第n+4フレームの1つ前の第n+3フレームまでのフレーム画像データを1カットの画像データとして抽出する。
その後、画像処理部35は、これら抽出されたカットを並べて、図6に示すように、第mフレーム〜第m+3フレーム、第n+2フレーム〜第n+3フレームが順に配置されたダイジェスト動画Aのデータを生成する。この手法によれば、人物Aが登場する全てのフレームを含むダイジェスト動画データが生成される。
ダイジェスト動画の作成条件の設定画面でユーザが時間を予め指定したときに、人物Aが登場する全てのフレームを含むダイジェスト動画の時間がユーザによって予め指定された時間を超えてしまう場合がある。この場合に、システム制御部11は、ダイジェスト動画で採用するフレームを絞り込んでダイジェスト動画の時間を短縮する。
具体的には、システム制御部11は、ユーザが指定した時間に対してダイジェスト動画の時間が長くなると判断した場合に、終了フラグを挟むことなく並んでいる複数の開始フラグのうち最初の開始フラグより降順の開始フラグを採用する。図6の例において、システム制御部11は、ダイジェスト動画Aに対して、3つの開始フラグ201、202、203のうちダイジェスト動画に採用する開始フラグを開始フラグ202に変更する。そして、画像処理部35は、図6に示すダイジェスト動画Bのデータを生成する。ダイジェスト動画Bには、第m+1フレーム〜第m+3フレーム、第n+2フレーム〜第n+3フレームが順に配置されている。
また、システム制御部11は、ユーザが指定した時間に対してダイジェスト動画の時間が長くなると判断した場合に、開始フラグを挟むことなく並んでいる複数の終了フラグのうち最後の終了フラグより昇順の終了フラグを採用してもよい。図6の例において、システム制御部11は、ダイジェスト動画Bに対して、2つの終了フラグ204、205のうちダイジェスト動画に採用する終了フラグを終了フラグ204に変更する。そして、画像処理部35は、図6に示すダイジェスト動画Cのデータを生成する。ダイジェスト動画Cには、第m+1フレーム〜第m+2フレーム、第n+2フレーム〜第n+3フレームが順に配置されている。
一方、システム制御部11は、ユーザが指定した時間に対してダイジェスト動画の時間が短くなると判断した場合には、人物Aが登場する全てのフレームに人物Aが登場していないフレームを加えて全体の時間を延ばす。例えば、システム制御部11は、開始フラグの前の一連のフレーム、終了フラグの後の一連のフレームを1カットのフレームに組み込んで1カットの時間を延ばす。
また、システム制御部11は、ユーザが指定した時間に対してダイジェスト動画の時間が短くなると判断した場合に、上述した中立フラグを開始フラグまたは終了フラグとして用いてもよい。具体的には、システム制御部11は、中立フラグで形成される新たなカットを作成する。そして、システム制御部11は、新たなカットのフレームを人物Aが登場する全てのフレームに加えて、ダイジェスト動画の時間を延ばす。
図7は、ダイジェスト動画データの生成処理の第2例を説明する図である。第1例におけるダイジェスト動画の生成処理は、図2で示す動画データが選択され、かつ人物Aおよび人物Bが注目人物として選択された場合の処理である。まず、システム制御部11は、動画データと、当該動画データに関連付けられたフラグ群データを記録部50から取得する。次に、システム制御部11は、取得したフラグ群のうちから人物Aのフラグ群および人物Bのフラグ群を抽出する。
図7に示すとおり、人物Aのフラグ群には、図6を用いて説明したように、開始フラグ201、202、203、206および終了フラグ204、205、207が含まれている。また、人物Bのフラグ群には、第nフレームに関連付けられた開始フラグ301および第n+3フレームに関連付けられた終了フラグ302が含まれている。
システム制御部11は、人物Aのフラグ群および人物Bのフラグ群を参照して、人物Aおよび人物Bが登場しているフレームを抽出する。そして、画像処理部35は、システム制御部11の制御に従い、ダイジェスト動画像データを生成する。具体的には、システム制御部11は、上述と同様の手法で、人物Aが登場する全てのフレームの画像データと、人物Bが登場する全てのフレームの画像データとを動画データから抽出する。そして、画像処理部35は、システム制御部11が抽出したフレーム画像データを合成して、人物Aおよび人物Bが登場する全てのフレームを含むダイジェスト動画データを生成する。図7の例において、画像処理部35は、第mフレーム〜第m+3フレーム、第nフレーム〜第n+3フレームが順に配置されたダイジェスト動画Dのデータを生成する。
ダイジェスト動画の作成条件の設定画面でユーザが優先度を予め指定したときに、人物Aおよび人物Bの登場比率がユーザによって指定された比率と異なる場合がある。この場合に、システム制御部11は、ダイジェスト動画で採用するフレームを変更してダイジェスト動画に登場する人物の登場比率を調整する。
具体的には、まず、システム制御部11は、登場比率が一番高く設定されている人物Bのフラグ群を参照して、人物Bが登場する全てのフレームを抽出する。次に、システム制御部11は、人物Aのフラグ群を参照して、人物Bが登場する全てのフレームにおいて人物Aが登場するフレームを検出する。そして、システム制御部11は、人物Bが登場する全てのフレームにおける人物Aおよび人物Bの登場比率を算出し、予め設定された比率と比較する。
システム制御部11は、ユーザが指定した比率に対して人物Bに対する人物Aの登場比率が高くなると判断した場合に、人物Bが登場する全てのフレームから、人物Aが登場する幾らかのフレームをダイジェスト動画の対象から外して比率を調整する。この場合、システム制御部11は、人物Aのフラグ群を参照して、人物Aが登場するフレームを判別する。なお、人物Aおよび人物Bの登場比率が予め設定された比率に完全一致しなくても、両者の差が予め定められた範囲内、例えば0.1未満であればよい。
一方、システム制御部11は、ユーザが指定した比率に対して人物Bに対する人物Aの登場比率が低くなると判断した場合に、人物Bが登場する全てのフレームから幾らかのフレームをダイジェスト動画の対象から外して比率を調整する。また、システム制御部11は、人物Aが登場する他のフレームを人物Bが登場する全てのフレームに追加して比率を調整してもよい。なお、人物Aおよび人物Bの登場比率が予め設定された比率に完全一致しなくても、両者の差が予め定められた範囲内、例えば0.1未満であればよい。
図7の例において、人物Aおよび人物Bの登場比率が3:7に予め設定されている場合、まず、システム制御部11は、人物Bのフラグ群を参照して、人物Bが登場する全てのフレームである第nフレーム〜第n+2フレームを抽出する。次に、システム制御部11は、人物Aのフラグ群を参照して、第nフレーム〜第n+2フレームのうち人物Aが登場するフレームである第n+2を検出する。そして、システム制御部11は、人物Aおよび人物Bの登場比率1:3を算出する。人物Bに対する人物Aの登場比率1/3と予め設定された比率3/7との差が0.1未満であるので、画像処理部35は、対象フレームを変更せず、第nフレーム〜第n+2フレームが順に配置されたダイジェスト動画Eのデータを生成する。
このように、本実施形態におけるシステム制御部11は、動画データに関連付けられた開始フラグ、終了フラグを用いて、ダイジェスト動画全体の時間および注目人物の登場比率を調整する。したがって、動画撮影後にユーザの要望に沿ったダイジェスト動画を、フラグ群を参照して自動でかつ容易に作成することができる。また、注目人物の選択に応じてダイジェスト動画を作成することにより、ユーザの要望に沿ったダイジェスト動画を容易に作成することができる。例えば、新郎および新婦は、結婚式の動画データを関係者に配布する場合、新郎の関係者に対して、新郎を中心としたダイジェスト動画データが関連付けられた動画データを配布することができる。同様に、新郎および新婦は、新婦の関係者に対して、新婦を中心としたダイジェスト動画が関連付けられた動画データを配布することができる。
なお、本実施形態において、システム制御部11は、少なくとも終了フラグを含むフラグ群を生成すればよい。終了フラグおよび動画データの撮影終了フレームを用いることにより、ユーザの要望に応じて終了位置の異なる様々なダイジェスト動画を作成することができる。
図8は、ダイジェスト動画データの生成処理のフロー図である。本フローは、ユーザによるダイジェスト動画作成のメニュー項目の選択を、検知した時点から開始される。なお、本実施形態において、システム制御部11は、画像処理部35と協働して本フローを実行する。ステップS201では、システム制御部11は、図5を用いて説明したように、対象動画の選択およびダイジェスト動画の作成条件の設定を受け付ける。ステップS202では、システム制御部11は、対象動画の動画データと、当該動画データに関連付けられたフラグ群とを記録部50から取得する。
ステップS203では、システム制御部11は、図6および図7を用いて説明したように、注目人物が登場する全てのフレームをダイジェスト動画の対象フレームとして抽出する。ステップS204では、システム制御部11は、図7を用いて説明したように、ダイジェスト動画の対象フレームがステップS201で受け付けた優先度条件を満たしているか否かを判断する。システム制御部11は、優先度条件を満たしていないと判断した場合にはステップS205へ移行し、優先度条件を満たしていると判断した場合にはステップS206へ移行する。なお、優先度条件が設定されていない場合、システム制御部11は、ステップS206へ移行する。ステップS205では、システム制御部11は、図7を用いて説明したように、ダイジェスト動画の対象フレームを変更して、ダイジェスト動画における対象被写体の登場比率を調整する。
ステップS206では、システム制御部11は、図6を用いて説明したように、ダイジェスト動画の対象フレームがステップS101で受け付けた時間条件を満たしているか否かを判断する。システム制御部11は、時間条件を満たしていないと判断した場合にはステップS207へ移行し、時間条件を満たしている場合にはステップS208へ移行する。なお、次官条件が設定されていない場合、システム制御部11は、ステップS208へ移行する。ステップS207では、システム制御部11は、図6を用いて説明したように、ダイジェスト動画の対象フレームを変更して、ダイジェスト動画の時間を調整する。
ステップS208では、画像処理部35は、システム制御部11の制御に従い、ダイジェスト動画の対象フレームを並べたダイジェスト動画データを生成する。ステップS209では、システム制御部11は、ダイジェスト動画データを記録部50に記録して本フローを終了する。なお、システム制御部11は、ダイジェスト動画データを元の動画データと関連付けて記録する。
上述の実施形態において、システム制御部11は、被写体の移動量、音声等の被写体の変化量を加味してダイジェスト動画データの対象フレームを抽出してもよい。例えば、システム制御部11は、ダイジェスト動画全体の時間を短縮する場合に、被写体の移動量が閾値より大きいフレーム、音声レベルが閾値より高いフレームを抽出する。この場合、システム制御部11は、短縮すべき時間に応じて移動量の閾値、音声レベルの閾値を変更してもよい。
上述の実施形態において、システム制御部11は、被写体の移動量、音声レベル等の設定を設定画面で受け付けるようにしてもよい。また、システム制御部11は、優先度の代わりに注目人物の優先順位の設定を設定画面で受け付けてもよい。優先順位が設定された場合、システム制御部11は、優先順位の高い注目人物が登場するフレームの表示順序を、優先順位の低い注目人物が登場するフレームよりも先に設定してもよい。
上述の実施形態において、画像処理部35は、ダイジェスト動画の対象動画データの動画撮影時に静止画が撮影されている場合に、当該静止画を組み込んだダイジェスト動画データを生成してもよい。具体的には、まず、システム制御部11は、対象動画データを記録部50から取得するときに、当該動画データに関連付けられた静止画データもあわせて取得する。そして、画像処理部35は、上述のように作成したダイジェスト動画に静止画を組み込んだダイジェスト動画データを生成する。
例えば、画像処理部35は、静止画が撮影された時点のフレームのところで静止画を予め定められた時間、例えば5秒間再生するダイジェスト動画データを生成する。また、画像処理部35は、冒頭に静止画を再生し、その後にダイジェスト動画を再生するダイジェスト動画データを生成してもよい。また、画像処理部35は、ダイジェスト動画を再生した後に静止画を再生するダイジェスト動画データを生成してもよい。
上述の実施形態では、1つの動画データに対してダイジェスト動画データが生成されたが、これに限らない。画像処理部35は、複数の動画データを跨いだダイジェスト動画データを生成してもよい。具体的には、まず、システム制御部11は、対象となる複数の動画の選択をユーザから受け付ける。次に、システム制御部11は、対象となる複数の動画データと、複数の動画データにそれぞれ関連付けられた複数のフラグ群とを記録部50から取得する。
システム制御部11は、上述と同様の手法で、複数の動画データの各々からフレーム画像データを抽出する。そして、画像処理部35は、システム制御部11が抽出したフレーム画像データを繋ぎ合せて1つのダイジェスト動画データを生成する。このように複数の動画データから1つのダイジェスト動画データを生成することにより、ユーザは、例えば、旅行のときに複数回動画撮影し、これら複数の動画データから当該旅行のダイジェスト動画データを生成することができる。
上述の実施形態に係る画像記録装置および画像生成装置において、ダイジェスト動画で注目する対象被写体として人物が用いられたが、これに限らない。システム制御部11は、山、花、料理等のシーンを認識し、これらを対象被写体として上述のフラグ群を生成してもよい。そして、システム制御部11は、当該フラグ群を参照してダイジェスト動画データの対象フレームを抽出してもよい。
上述の実施形態に係る画像記録装置としてカメラ10を例に説明したが、PC等の電子機器が上述の画像記録装置として機能してもよい。例えば、PCが、カメラ10の記録部50から動画データを取得し、当該動画データを解析して上述のフラグ群を生成し、フラグ群を動画データに関連付けてPCに接続されている記録媒体に記録する。そして、当該PCが、画像生成装置として、当該記録媒体の動画データとフラグ群とを用いてダイジェスト動画データを生成してもよい。
また、上述の実施形態に係る画像生成装置としてカメラ10を例に説明したが、PC等の電子機器が上述の画像生成装置として機能してもよい。例えば、PCが、動画データと、フラグ群とをカメラ10の記録部50から取得し、動画データとフラグ群とを用いて上述のようにダイジェスト動画データを生成する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記の実施形態に記載の範囲には限定されない。上記の実施形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。