図1は、本発明の実施の形態による画像処理装置の1つである撮像装置の一例についてその構成を示すブロック図である。なお、以下の説明では、撮像装置としてデジタルカメラ(以下単にカメラと呼ぶ)を例に挙げて説明するが、撮像装置は携帯電話機又はスマートフォンなどの端末装置であってもよい。
カメラ100は制御部101を備えており、制御部101は、例えば、CPU(MPU)、メモリ(DRAM又はSRAM)、および不揮発性メモリ(EEPROM)を有している。そして、制御部101は不揮発性メモリに記録された各種プログラムを実行してカメラ100を制御する。さらに、制御部101は、ユーザーの操作を受け付ける操作部102から操作信号を受けて、当該操作信号に応じてカメラ100を制御する。また、制御部101は、後述する画像処理部111および113で得られた画像を解析して、当該解析結果に応じてカメラ100を制御する。
操作部102は、例えば、電源ボタン、静止画記録ボタン、動画記録開始ボタン、ズーム調整ボタン、およびオートフォーカスボタンなどの撮影に関連する各種操作を入力するボタン類(スイッチ類)を有している。さらに、操作部102には、メニュー表示ボタン、決定ボタン、その他カーソルキー、ポインティングデバイス、およびタッチパネルなどが備えられている。そして、ユーザーによってこれらのキー又はボタンなどが操作されると、操作部102は、操作に応じた操作信号を制御部101に送る。
なお、バス103は、各種データ、制御信号、および指示信号などをカメラ100の各ブロックに送るための汎用バスである。
不揮発性メモリ105は、電気的に消去・記録可能なメモリであり、制御部101の動作用の定数およびプログラムなどが記憶される。撮像部110は、レンズを介して受けた光学像(被写体像)を絞りによってその光量を制御し、CCDセンサ又はCMOSセンサなどの撮像素子に結像する。そして、撮像素子は光学像に応じた画像信号(アナログ画像信号)を出力する。さらに、撮像部110は、当該アナログ画像信号をA/D変換をしてデジタル画像信号を画像処理部111に送る。
画像処理部111は、デジタル画像信号に対して予め設定された設定値に基づいてホワイトバランス、色、および明るさなどを調整する画質調整処理を行って画像データを出力する。
制御部101は画像データをメモリ104、後述する映像出力部150および表示制御部131に送る。
撮像部110は「光学ズーム」機能および「光学防振」機能を備えている。また、画像処理部111は「電子ズーム」機能および「電子防振」機能を備えている。「光学ズーム」機能および「電子ズーム」機能の各々はユーザー操作に応じて画像を拡大するための機能である。また、「光学防振」機能および「電子防振」機能の各々は、カメラ100の振動に起因する画像の揺れを防止すためのる機能である。そして、これらの機能は、制御部101の制御下で、同時に用いられるか又は交互に用いられる。さらには、これら機能の各々は単独で用いられることもある。
撮像部110は、ユーザーによるズームキーの操作に応じて、「光学ズーム」機能によってレンズを光軸に沿って移動させ、光学像を拡大又は縮小する。画像処理部111は、ユーザーによるズームキーの操作に応じて、「電子ズーム」機能によって撮像部110で得られた画像の一部を切り出した画像を拡大する。
撮像部110は、制御部101の制御下で、振動検出部(図示せず)で得られた加速度信号に基づいて、「光学防振」機能によってレンズを光軸に交差する方向に移動して、画像の揺れを防止する。画像処理部111は、制御部101の制御下で、上記の加速度信号に基づいて、「電子防振」機能によって撮像部110で得られた画像の揺れを防止する。
なお、「電子防振」機能については、加速度信号に基づいて、撮像素子において画素読み出し位置をずらすことによっても画像の揺れを防止することができる。これらの機能については既知であるので、詳細な説明は省略する。
音声入力部120は、例えば、内蔵の無指向性マイク又は音声入力端子を介して接続された外部マイクによって、カメラ100の周囲の音声(音響)を集音する。そして、音声入力部120は、集音の結果得られた音声信号をA/D変換してデジタル音声信号として音声処理部121に送る。
音声処理部121は、デジタル音声信号のレベルを適正化処理などの音声処理によって適正化した後、デジタル音声信号を制御部101に送る。そして、制御部101はデジタル音声信号を音声データとしてメモリ104に記録する。この結果、メモリ104には、画像データおよび音声データが一時的に記憶される。
画像処理部111は、メモリ104に記憶された画像データを読み出して圧縮符号化を行って、圧縮画像データを生成する。そして、制御部101は圧縮画像データを記録再生部140に送る。
同様に、音声処理部121は、メモリ104に記憶された音声データを読み出して圧縮符号化を行って、圧縮音声データを生成する。そして、制御部101は圧縮音声データを記録再生部140に送る。
記録再生部140は、圧縮画像データ、圧縮音声データ、およびその他撮影に関する制御データ(各種データ)などを記録媒体141に記録する。なお、音声データを圧縮符号化しない場合には、制御部101は音声データおよび圧縮画像データを記録再生部140に送る。そして、記録再生部140は音声データおよび圧縮画像データを記録媒体141に記録する。
記録媒体141は、カメラ100に内蔵の記録媒体であってもよく、カメラ100に対して取外し可能な記録媒体でもよい。例えば、記録媒体141として、ハードディスク、光ディスク、光磁気ディスク、CD−R、DVD−R、磁気テープ、不揮発性の半導体メモリ、又はフラッシュメモリが用いられる。
記録再生部140は、記録媒体141に記録された圧縮画像データ、圧縮音声データ(又は音声データ)、および各種データなどを読み出す(つまり、再生する)。そして、制御部101は、これら圧縮画像データおよび圧縮音声データ(又は音声データ)を画像処理部111および音声処理部121に送る。
画像処理部111は圧縮画像データをメモリ104に一時的に記憶する。画像処理部111は圧縮画像データを所定の手順で復号化して画像データを得る。そして、画像処理部111は画像データを映像出力部150および表示制御部131に送る。
同様にして、音声処理部121は、圧縮音声データをメモリ104に一時的に記憶する。音声処理部121は圧縮音声データを所定の手順で復号化して音声データを得る。そして、音声処理部121は音声データを音声出力部151に送る。なお、音声データが記録媒体141に非圧縮記録されている場合には、制御部101は音声データを直接音声出力部151に送る。
音声出力部151は、例えば、音声出力端子を有している。音声出力部151は音声出力端子に接続されたイヤホン又はスピーカなどから音声データに応じた音声を送出する。なお、音声出力部151は、カメラ100に内蔵のスピーカであってもよい。
映像出力部150は、例えば、映像出力端子を備えている。映像出力部150は、映像出力端子に接続された外部ディスプレイなどに画像データに応じた画像を表示する。
なお、音声出力部151および映像出力部150は、統合された1つの出力端子、例えば、HDMI(High−Definition Multimedia Interface:登録商標)端子を備えるようにしてもよい。
表示制御部131は、画像データに応じた映像(画像)を表示部130に表示する。さらに、表示制御部131は、制御部101の制御下でカメラ100を操作するための操作画面(メニュー画面)などを表示部130に表示する。なお、表示部130は、例えば、液晶ディスプレイ、有機ELディスプレイ、又は電子ペーパーなどの表示デバイスであればいずれのデバイスを用いてもよい。
通信部152は、カメラ100と外部装置との間で通信を行うために用いられる。通信部152は、制御部101の制御下で、例えば、音声データ、画像データ、圧縮音声データ、および圧縮画像データなどを送受する。
さらに、通信部152は、撮影開始および終了コマンドなどの撮影に係る制御信号、その他の情報を外部装置との間で送受する。通信部152として、例えば、赤外線通信モジュール、Bluetooth(登録商標)通信モジュール、無線LAN通信モジュール、WirelessUSB、およびGPS受信機などの無線通信モジュールが用いられる。
続いて、図1に示すカメラ100の撮影動作(通常動作)について説明する。
ユーザーが操作部102に備えられた電源ボタンを操作すると、操作部102から制御部101に起動指示が送られる。この起動指示に応答して、制御部101は、電源供給部(図示せず)を制御して、カメラ100に電源を供給する。
電源が供給されると、制御部101は、操作部102に備えられたモード切り換えスイッチが静止画撮影モード、動画撮影モード、又は再生モードのいずれのモードであるかを確認する。静止画撮影モードにおいては、制御部101は撮影待機状態においてユーザーが操作部102に備えられた静止画記録ボタンを操作すると撮影を行う。そして、前述のように、圧縮画像データが記録媒体141に記録される。その後、制御部101は撮影待機状態となる。
動画撮影モードにおいては、制御部101は撮影待機状態においてユーザーが操作部102に備えられた動画記録開始ボタンを操作すると撮影を開始する。そして、操作部102に備えられた動画記録終了ボタンが操作されるまで、圧縮画像データおよび圧縮音声データ(又は音声データ)が記録媒体141に記録される。ユーザーが動画記録終了ボタンを操作すると、制御部101は動画撮影を終了して、撮影待機状態となる。
再生モードにおいては、制御部101は、記録再生部140を制御してユーザーの選択に応じて圧縮画像データ又は圧縮音声データ(又は音声データ)を記録媒体141から再生する。そして、前述のようにして音声データに応じた音声が音声出力部151からを出力され、画像データに応じた画像が表示部130に表示される。
ここで、図1に示すカメラ100で行われる静止画撮影モードについてさらに説明する。
前述のように静止画撮影モードが設定されると、制御部101はカメラ100を撮影待機状態とする。撮影待機状態においては、画像処理部111は画像データを表示制御部131に送る。これによって、表示制御部131は画像データに応じた画像を表示部130に表示する。ユーザーは、表示部130に表示された画面を確認しつつ撮影の準備を行うことができる。
撮影待機状態において、ユーザーが静止画記録ボタンを操作すると(撮影指示を行うと)、制御部101はカメラ100を制御して、以下の動作を実行させる。
前述のようにして、撮像部110はデジタル画像信号を画像処理部111に送る。画像処理部111はデジタル画像信号に対して画質調整処理を行って、画像データを生成する。そして、制御部101は画像データをメモリ104、映像出力部150、および表示制御部131に送る。ユーザーは表示部130に表示された画像を見て、撮影の結果得られた静止画を確認することができる。
画像処理部111は、メモリ104に記憶された画像データを読み出して圧縮符号化を行う。そして、制御部101は圧縮画像データを記録再生部140に出力する。記録再生部140は、UDF又はFATなどのファイルシステム管理に基づいて、圧縮画像データを静止画ファイルとして記録媒体141に記録する。
なお、画像処理部111による圧縮符号化処理が終了すると、制御部101はカメラ100を撮影待機状態とする。
次に、図1に示すカメラで行われる動画撮影モードについてさらに説明する。
前述のように動画撮影モードが設定されると、制御部101はカメラ100を撮影待機状態とする。撮影待機状態においては、画像処理部111は画像データを表示制御部131に送る。これによって、表示制御部131は画像データに応じた画像を表示部130に表示する。ユーザーは、表示部130に表示された画面を確認しつつ撮影の準備を行うことができる。
撮影待機状態において、ユーザーが動画記録開始ボタンを操作すると、制御部101はカメラ100を制御して、以下の動作を実行させる。
前述のようにして、撮像部110はデジタル画像信号を画像処理部111に送る。画像処理部111はデジタル画像信号に対して画質調整処理を行って、画像データを生成する。そして、制御部101は画像データをメモリ104および表示制御部131に送る。表示制御部131は画像データに応じた画像(動画)を表示部130に表示する。
一方、音声入力部120からデジタル音声信号が音声処理部121に送られる。前述のように、音声処理部121はデジタル音声信号のレベルを適正化処理して音声データを出力する。そして、制御部101は、音声処理部121によって得られた音声データをメモリ104に送る。
画像処理部111および音声処理部121は、前述のように、所定の圧縮符号化を行って圧縮画像データおよび圧縮音声データを生成する。制御部101は、これら圧縮画像データおよび圧縮音声データを合成して、データストリームを形成する。そして、制御部101は当該データストリームを記録再生部140に出力する。
記録再生部140は、UDF又はFATなどのファイルシステム管理に基づいて、データストリームを一つの動画ファイルとして記録媒体141に記録する。なお、音声データを圧縮符号化しない場合に、制御部101は、圧縮画像データおよび音声データを合成して、データストリームを形成する。上述の動作は動画撮影終了の指示あるまで継続する。
撮影中、ユーザー操作に応じて又は画像データの解析結果に応じて、制御部101は撮像部110、画像処理部111、および音声処理部121を制御する。例えば、制御部101はレンズの移動および絞り調整などを行うため撮像部110を制御する。また、制御部101は画像データおよび音声データを調整するため画像処理部111および音声処理部121を制御する。
さらに、撮影中に、ユーザーがズームキーを操作すると、制御部101は撮像部110の「光学ズーム」機能および画像処理部111の「電子ズーム」機能を動作させる。なお、撮影中においては、制御部101は撮像部110の「光学防振」機能および画像処理部111の「電子防振」機能を動作させる。
ユーザーが動画記録終了ボタンを操作すると、制御部101は撮影終了のためカメラ100を以下のように制御する。
画像処理部111および音声処理部121は、それぞれ画像データおよび音声データのメモリ104への出力を停止する。そして、画像処理部111および音声処理部121は、メモリ104に記憶された残りの画像データおよび音声データを読み出して所定の圧縮符号化を行う。
制御部101は、これらの圧縮画データおよび圧縮音声データを合成して、データストリームを形成し記録再生部140に出力する。なお、音声データを圧縮符号化しない場合には、制御部101は、圧縮画データおよび音声データを合成して、データストリームを形成し記録再生部140に出力する。
記録再生部140は、前述のように、データストリームを一つの動画ファイルとして記録媒体141に記録する。記録媒体141の記録が終了すると、制御部101はサムネイルを生成するため、カメラ100を次のように制御する。
記録再生部140は記録媒体141に記録された動画ファイルの先頭フレームに位置する圧縮画像データを読み出して、画像処理部111に送る。画像処理部111は圧縮画像データを一時的にメモリ104に記憶する。そして、画像処理部111は圧縮画像データを所定の手順で復号化して画像データを得る。
次に、画像処理部111は画像データに対してサムネイル用の所定の圧縮符号化を行って、サムネイル用の圧縮画像データを生成する。そして、制御部101は、サムネイル用の圧縮画像データを記録再生部140に出力する。
記録再生部140は、UDF又はFATなどのファイルシステム管理に基づいて、サムネイル用の圧縮画像データを、元の動画ファイルに結合させて記録媒体141に書き込む。そして、記録再生部140は動画ファイルを完成させた後、記録動作を停止する。制御部101は、記録動作が停止すると、カメラ100を撮影待機状態とする。
なお、ユーザーによる操作部102の操作に応じて、制御部101は著作権者名および作成者名を不揮発性メモリ105に記憶する。そして、制御部101は、操作部102が操作される都度、不揮発性メモリ105に記憶された著作権者名および作成者名を変更する。不揮発性メモリ105に記憶された著作権者名および作成者名は、撮影処理に応じて静止画ファイル又は動画ファイルにメタデータとして記録される。
ところで、動画モードとして、通常記録を行う通常動画モードがある。さらに、動画モードとして、通常、早送り、スロー、又はリプレイなど再生効果を選択して短編動画を記録するショートクリップ動画モードがある。また、動画モードして、シャッタースピードおよび絞りを設定可能なマニュアル動画モード、ミニチュア模型のような効果および早送りによる動きを楽しめるジオラマ風動画モードなどがある。
上述の静止画撮影モードおよび動画撮影モードにおいて記録される静止画ファイルおよび動画ファイルは、DCF(Design rule for Camera File system)に従って記録されるものとする。
次に、図1に示すカメラ100で行われる再生モードについてさらに説明する。
操作部102により再生モードが設定されると、制御部101は、カメラ100を再生状態に移行させて以下の動作を行う。
記録再生部140は、制御部101の制御下で記録媒体141に記録された静止画ファイル又は動画ファイルを読み出す。なお、以下の説明では、動画ファイルを読み出したものとして説明する。
制御部101は圧縮画像データおよび圧縮音声データをそれぞれ画像処理部111および音声処理部121に送る。なお、音声データが圧縮符号化されていない場合には、制御部101は、音声出力部151に音声データを送る。
画像処理部111および音声処理部121は、それぞれ圧縮画像データおよび圧縮音声データを一時的にメモリ104に記憶する。そして、画像処理部111および音声処理部121は、それぞれ圧縮画像データおよび圧縮音声データを所定の手順で復号化する。
制御部101は、復号化によって得られた音声データを音声出力部151に送り、画像データを映像出力部150および表示制御部131に送る。表示制御部131は、画像データに応じた映像(画像)を表示部130に表示する。一方、音声出力部151は、音声データに応じた音声を内蔵スピーカ又は音声出力部151に接続されたイヤホン又はスピーカから出力する。
ところで、ユーザーは記録媒体141に記録された複数の動画ファイルから所望の動画ファイルを選択して、これら選択した動画ファイルを結合して1つの動画ファイルを生成したいことがある。この際には、制御部101は、ユーザーによる動画ファイルの選択履歴を作業履歴情報(以下作業履歴ファイルともいう)として記録媒体141に保存する。この作業履歴ファイルは、選択された動画ファイルを特定するための情報である。
図2は、図1に示すカメラで生成される作業履歴ファイルのフォーマットの一例を示す図である。
図示の作業履歴ファイルでは、例えば、CTGファイルフォーマットが用いられており、作業履歴ファイルは、ファイル情報を管理するHeader(ヘッダー)201と動画ファイルにおいて必要なデータを抽出したObjectInfo202とを有している。Header201およびObjectInfo202において各情報のデータ長は4バイトである。Header201に格納された情報は主に作業履歴を読み出して使用する際の整合性チェックに用いられる。
Header201において、FileSizeCheckSum(ファイルサイズチェックサム)203は作業履歴ファイルのファイルサイズについてその信頼性を検査するための情報である。FileVersino204は作業履歴ファイルのバージョンを示す情報である。ファイルバージョンはアップデートされた際などに更新される。TotalObject205は選択した動画ファイルの個数を示す情報である。また、ModelID206はカメラ100の機種固有の番号を示す情報である。
ObjectInfo202において、ObjectID1 207は1番目に選択した動画ファイルのユニークID(識別ID:固有番号)を示す情報である。FrameCount1 208は1番目に選択した動画ファイルのフレーム数を示す情報である。CreateTime1 209は1番目に選択した動画ファイルの作成時間を示す情報である。ObjectID1 210はN番目(Nは1以上の整数)に選択した動画ファイルのユニークID(識別ID)を示す情報である。FrameCountN 211はN番目に選択した動画ファイルのフレーム数を示す情報である。CreateTime1 212はN番目に選択した動画ファイルの作成時間を示す情報である。
このようにして、作業履歴ファイルにおいて、選択した動画ファイルの数が増加すると、ObjectID、FrameCount、およびCreateTimeの数が増加する。
図3は、図1に示すカメラ100で用いられる階層型ファイル構造の一例を示す図である。
図1に関連して説明したように、静止画ファイルおよび動画ファイルについてはDCFに従って記録される。階層型ファイル301において、DCFイメージルートディレクトリ(DCIM)のCONONMSCフォルダ中にファイル名をSC0001.CTGとして作業履歴ファイル302が保存される。
図4は、図1に示すカメラで行われる再生モード処理の一例を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は制御部101の制御下で行われる。
再生モード処理を開始すると、制御部101は記録媒体141から最新の画像データ(以下画像情報ともいう)を得て当該画像データに応じた画像を表示制御部131によって表示部130に表示する(ステップS401)。そして、制御部101は操作部102においてMenuボタンが押し下げられたか否かを判定する。つまり、制御部101はMenu画面に遷移するか否かを判定する(ステップS402)。
Menu画面に遷移すると判定した場合(ステップS402において、YES)、制御部101はMenu画面を表示部130に表示して、Menu画面において短編動画の結合を行う動画ファイルミックスが選択されたか否か判定する(ステップS403)。
なお、動画ファイルミックスとは、複数の動画ファイルを結合して、1つの動画ファイルとして記録媒体141に保存する処理をいう。ここでは、動画ファイルミックスにおいては、短編動画のショートクリップ動画を結合するものとして説明するが、結合する動画ファイルはこれに限定されない。
動画ファイルミックスが選択されると(ステップS403において、YES)、制御部101は、後述する動画ミックス処理を行う(ステップS404)。そして、制御部101は再生モードを終了するか否かを判定する(ステップS405)。再生モードを終了すると判定すると(ステップS405において、YES)、制御部101は再生モード処理を終了する。一方、再生モードを終了しないと判定すると(ステップS405において、NO)、制御部101はステップS402の処理に戻る。
動画ファイルミックスが選択されないと(ステップS403において、YES)、制御部101は操作部102の操作に応じたその他のMenu処理を行う(ステップS406)。そして、制御部101はステップS405の処理に進む。なお、その他のMenu処理には、例えば、画像のリサイズ処理、トリミング処理、および印刷設定がある。
Menu画面に遷移しないと判定した場合(ステップS402において、NO)、制御部101は操作部102の操作に応じたその他の再生処理を行う(ステップS407)。そして、制御部101はステップS405の処理に進む。なお、その他の再生処理には、例えば画像消去、画像編集、および画像送信がある。
図5は、図4に示す動画ミックス処理の一例を説明するためのフローチャートである。
動画ミックス処理を開始すると、制御部101は記録媒体141においてライトプロテクトが「入」であるか否かを判定する(ステップS501)。ライトプロテクトが「切」であると(ステップS501において、NO)、制御部101は、動画ファイルミックス処理において結合して得られた動画ファイル(結合動画ファイル)のファイル名が作成可能であるか否かを判定する(ステップS502)。
ここでは、結合動画ファイル名は、DCF(Design rure for Camera File system)によって規定されるファイルパスに従って命名保存される。DCF規格に規定されるファイルパスに従って命名を行う際に、既にDCF最大ディレクトリ(ディレクトリ番号:999)に最大ファイル番号(ファイル番号:9999)が存在していると、制御部101は結合動画ファイル名が作成できないと判定する。
結合動画ファイル名の作成が可能であると(ステップS502において、YES)、制御部101は、動画ファイルミックスで用いる短編動画のショートクリップ動画1ファイルにおける最大ファイルサイズを算出する。そして、制御部101は当該最大ファイルサイズと記録媒体141の空き容量とを比較して、その比較結果に応じて空き容量が存在するか否かを判定する(ステップS503)。
ショートクリップ動画1ファイルの最大ファイルサイズを算出する際には、制御部101はショートクリップ動画1ファイルの最大時間をフレーム数に換算する。そして、制御部101は動画のビットレート、サムネイルサイズ、およびビデオ方式(NTSC/PAL)のフレームレートを考慮してフレーム数をファイルサイズに変換する。
なお、最大ファイルサイズと記録媒体141の空き容量とを比較する際には、ショートクリップ動画1ファイルのファイルサイズおよび記録媒体の空き容量をカメラに最適なクラスタサイズに変換して比較することが望ましい。
空き容量があると(ステップS503において、YES)、制御部101は記録媒体141にショートクリップ動画(つまり、対象動画)が存在するか否かを判定する(ステップS504)。ショートクリップ動画が存在する場合(ステップS504において、YES)、制御部101は表示部130に後述する動画結合を行うか否かを選択するための画面(動画ファイルミックス画面)を表示する。そして、制御部101は動画結合が選択されたか否かを判定する(ステップS505)。
動画結合が選択されると、つまり、動画結合を行うと判定すると(ステップS505において、YES)、制御部101は記録媒体141に作業履歴ファイルが存在し、かつ作業履歴があるか否かを判定する(ステップS506)。作業履歴ファイルに作業履歴が存在すると(ステップS506において、YES)、制御部101は作業履歴ファイルに記録されているObjectInfo202におけるオブジェクトのフレーム数を加算する。そして、制御部101は、動画のビットレート、サムネイルサイズ、およびビデオ方式(NTSC/PAL)のフレームレートを考慮して、当該フレーム数に基づいてファイルサイズを算出する(ステップS507)。
続いて、制御部101は記録媒体141の空き容量を算出する(ステップS508)。なお、ステップS507およびS508で求めるファイルサイズおよび空き容量はカメラ100に最適なクラスタサイズに変換することが望ましい。
次に、制御部101はステップS507で求めたファイルサイズとステップS508で求めた空き容量とを比較して、当該比較結果に応じて結合動画ファイルを記録媒体141に保存可能であるか否かを判定する(ステップS509)。保存可能な空き容量が存在すると(ステップS509において、YES)、制御部101は作業履歴を使用するか否かを判定する(ステップS510)。ここでは、後述するように、制御部101は動画結合画面を表示部130に表示して、ユーザーによる作業履歴の使用が選択されたか否かを判定する。
作業履歴を使用すると判定すると(ステップS510において、YES)、制御部101は後述する結合選択画面を表示部130に表示する(ステップS511)。一方、作業履歴を使用しないと判定すると(ステップS510において、NO)、制御部101は作業履歴をクリアする(ステップS512)。そして、制御部101はステップS511の処理に進む。
ステップS511の処理の後、制御部513は、後述の動画結合選択処理を行って(ステップS513)、動画ミックス処理を終了する。
ステップS509において、保存可能な空き容量が存在しないと(ステップS509において、NO)、制御部101はステップS512の処理に進む。また、ステップS506において、作業履歴が存在しないと(ステップS506において、NO)、制御部101はステップS511の処理に進む。
ライトプロテクトが「入」であると(ステップS501において、YES)、制御部101は、操作部102の操作に応じて結合動画ファイルの再生が選択されたか否かを判定する(ステップS514)。結合動画ファイルの再生が選択されると(ステップS514において、YES)、制御部101は結合動画ファイルを再生する結合動画再生処理を行う(ステップS515)。そして、制御部101は動画ミックス処理を終了する。一方、結合動画ファイルの再生が選択されないと(ステップS514において、NO)、制御部101は動画ミックス処理を終了する。
なお、結合動画ファイル名の作成が可能でないと(ステップS502において、NO)、制御部101はステップS514の処理に進む。同様に、ステップS502において、空き容量がないと(ステップS503において、NO)、制御部101はステップS514の処理に進む。また、ショートクリップ動画が存在しないと(ステップS504において、NO)、制御部101はステップS514の処理に進む。さらに、動画結合を行わない判定すると(ステップS505において、NO)、制御部101はステップS514の処理に進む。
図6は、図5に示す結合動画選択処理を説明するためのフローチャートである。
結合動画選択処理を開始すると、制御部101は、結合のため選択されたショートクリップ動画(選択済み動画)が存在するか否かを判定する(ステップS601)。選択済み動画が存在すると(ステップS601において、YES)、制御部101は、選択済みショートクリップ動画(選択済み動画)の解除を行うか否かを判定する(ステップS602)。なお、ユーザーは、後述するように操作部102を用いて選択済み動画の解除を行うことができる。
選択済み動画の解除を行う場合には(ステップS602において、YES)、制御部101は、選択済動画の解除処理を行う(ステップS603)。そして、制御部101はステップS601の処理に戻る。
なお、選択済み解除処理の際には、制御部101は、メモリ104に展開した作業履歴をクリアして、記録媒体141に保存されているSC0001.CTGファイルを更新する。また、作業履歴をクリアする際には、制御部101は、図2に示すHeaderのTotalObject205の数を1つ減らし、ObjectInfo202に保存するObjectID、FrameCount、およびreateTimeを削除する。
選択済み動画が存在しないと(ステップS601において、NO)、制御部101は、動画ファイル結合選択を終了するか否かを判定する(ステップS604)。動画ファイル結合選択を終了する場合には(ステップS604において、YES)、制御部101は結合動画選択処理を終了する。
一方、動画ファイル結合選択を終了しない場合には(ステップS604において、NO)、制御部101は、結合動画ファイルを選択するか否かを判定する(ステップS605)。結合動画ファイルを選択する場合には(ステップS605において、YES)、制御部101は、後述するようにして動画ファイルの選択処理を行う(ステップS606)。
続いて、操作部102の操作に応じて、制御部101は動画ファイルの結合を行うか否かを判定する(ステップS607)。選択した動画ファイルの結合を行う場合には(ステップS607において、YES)、制御部101は、選択された動画ファイルの結合処理を行う(ステップS608)。なお、動画ファイルの結合処理には、結合した動画ファイルを確認するプレビュー、動画ファイルを結合する動画ファイル結合、BGMを付与するBGM選択、および色フィルターを結合動画ファイルに付与する色効果付与処理がある。その後、制御部101は結合動画選択処理を終了する。
選択した動画ファイルの結合を行わない場合には(ステップS607において、NO)、制御部101はステップS601の処理に戻る。なお、結合動画ファイルを選択しない場合には(ステップS605において、NO)、制御部101は結合動画選択処理を終了する。
図7は、図4に示す動画ミックス処理の他の例を説明するためのフローチャートである。なお、図7において、図5に示すフローチャートのステップと同一のステップについては同一の参照符号を付して説明を省略する。
図5で説明したステップS509において、保存可能な空き容量が存在しないと(ステップS509において、NO)、制御部101は、後述する作業履歴動作処理を行う(ステップS716)。そして、制御部101はステップS511の処理に進む。
図8は、図7に示す作業履歴動作処理を説明するためのフローチャートである。
作業履歴動作処理を開始すると、制御部101は、表示部130に記録媒体141の空き容量が不足している旨をガイダンスとして表示する(ステップS801)。そして、制御部101は作業履歴に保存されている選択動画ファイルの解除を行うか否かを判定する(ステップS802)。選択動画ファイルを解除する場合(ステップS802において、YES)、制御部101は結合動画ファイルサイズをする(ステップS803)。なお、動画ファイルサイズの算出については、図5のステップS507で説明したようにして行われる。
続いて、制御部101は記録媒体141の空き容量を算出する(ステップS804)。なお、空き容量の算出については、図5のステップS508で説明してようにして行われる。
次に、制御部101は、選択した動画ファイルの結合した結果、記録媒体141に保存可能であるか否かを判定する(ステップS805)。空き容量が存在する場合、つまり、保存可能であると(ステップS805において、YES)、制御部101は作業履歴動作処理を終了する。一方、保存可能な空き容量が存在しないと(ステップS805において、NO)、制御部101はステップS801の処理に戻る。
選択動画ファイルを解除しない場合(ステップS802において、NO)、制御部101は記録媒体141(メディア)に保存されている静止画ファイルおよび動画ファイルを選択的に削除するか否かを判定する(ステップS806)。選択削除を行う場合には(ステップS806において、YES)、制御部101は記録媒体141に保存されている静止画ファイルおよび動画ファイルの一覧を表示部130に表示する(ステップS807)。
続いて、制御部101は、ユーザー操作に応じて削除をする画像を選択する(ステップS808)。そして、制御部101は選択した画像を記録媒体141から削除する(ステップS809)。その後、制御部101はステップS803の処理に進む。なお、選択削除を行わない場合には(ステップS806において、NO)、制御部101はステップS802の処理に戻る。
ところで、削除した画像が結合用に選択されていたショートクリップ動画の場合には、制御部101は図2に示すHeaderのTotalObject205の数を1つ減らす。さらに、制御部101は、ObjectInfo202に保存するObjectID、FrameCount、およびCreateTimeを削除して、記録媒体141に保存されたSC0001.CTGファイルを更新する。
ここで、上述の動画ミックス処理において、表示部130に表示される画面の一例について説明する。
図9は、図5又は図7に示す動画ミックス処理において表示部130に表示されるガイダンス表示の一例を説明するための図である。そして、図9(a)および図9(b)は動画ファイルミックス画面の一例を示す図であり、図9(c)は動画結合画面を示す図である。また、図9(d)は選択済み動画の選択解除画面を示す図であり、図9(e)は記録媒体に記録された画像の削除を行う際の削除画面を示す図である。
また、図10は図5又は図7に示す動画ミックス処理において表示部130に表示される動画選択画面および削除画像選択画面の一例を説明するための図である。そして、図10(a)〜図10(c)は動画選択画面を示す図であり、図10(d)は削除画像選択画面を示す図である。
図5で説明したステップS505の処理において、制御部101は、図9(a)に示す動画ファイル未ミックス画面901を表示部130に表示する。図9(a)においては、“動画の結合”ボタン902および”結合した動画の再生”ボタン912が表示されている。
なお、ステップS504の処理において、結合可能なショートクリップ動画(対象動画)が存在しないと(ステップS504において、NO)、前述のように、制御部101はステップS514の処理に進む。この際、制御部101は、図9(b)に示すように、“動画の結合”ボタンをグレーアウト(選択禁止)して、“動画の結合”ボタン903として表示する。
ステップS505の処理では、ユーザーが“動画の結合”ボタン902を押し下げると、制御部101はステップS506の処理に進む。一方、ユーザーが”結合した動画の再生”ボタン912を押し下げると、制御部101はステップS514の処理に進む。
図5で説明したステップS510の処理において、制御部101は、図9(c)に示す動画結合画面904を表示部130に表示する。図9(c)においては、”前回の内容をもとにして編集しますか?”というガイダンスが表示されるとともに、“はい”ボタン913および”いいえ”ボタン914が表示されている。
ステップS510の処理では、ユーザーが“はい”ボタン913を押し下げると、制御部101はステップS511の処理に進む。作業履歴を使用する場合には、制御部101は履歴作業ファイルをメモリ104に展開する。一方、ユーザーが”いいえ”ボタン914を押し下げると、制御部101はステップS512の処理に進む。
図8で説明したステップS801の処理において、制御部101は、図9(d)に示す選択解除画面905を表示部130に表示する。図9(d)においては、”カード残量が足りません。選択した動画の選択を解除しますか?”というガイダンスが表示されるとともに、“はい”ボタンおよび”いいえ”ボタンが表示されている。
ステップS802の処理において、ユーザーが“はい”ボタンを押し下げると、制御部101はステップS803の処理に進む。一方、ユーザーが”いいえ”ボタンを押し下げると、制御部101はステップS806の処理に進む。
ステップS806の処理においては、制御部101は、図9(e)に示す削除画面906を表示部130に表示する。図9(e)においては、”カード残量が足りません。保存されている画像の削除を行いますか?”というガイダンスが表示されるとともに、“はい”ボタンおよび”いいえ”ボタンが表示されている。
ステップS806の処理において、ユーザーが“はい”ボタンを押し下げると、制御部101はステップS807の処理に進む。一方、ユーザーが”いいえ”ボタンを押し下げると、制御部101はステップS802の処理に戻る。
図6に示すステップS605の処理においては、制御部101は、図10(a)に示す動画選択画面907を表示部130に表示する。ここでは、”動画を選択してください”というガイダンスとともに、動画”1”〜動画”5”が動画一覧として表示されている。
いま、ユーザーが動画選択画面907において、動画”2”および動画”4”を選択動画916として選択したとする。これによって、制御部101はステップS606の処理において、図10(b)に示す動画選択画面908を表示部130に表示する。ここでは、選択された動画”2”および動画”4”がグレーアウト表示され、さらに、画面の下部に選択された動画”2”および動画”4”が選択動画915として表示される。
この際、制御部101はメモリ104に展開された作業履歴ファイルにおいてHeaderのTotalObject205の数を一つ増加させる。さらに、制御部101はObjectInfo202にObjectID、FrameCount、およびCreateTimeを保存して、記録媒体141に保存されたSC0001.CTGファイルを更新する。なお、SC0001.CTGファイルが存在しない場合には、制御部101は当該ファイルを生成する。
図6に示すステップS602の処理においては、制御部101は、図10(b)に示す動画選択画面908を表示部130に表示する。ここで、ユーザーが動画”2”の選択を解除すると、制御部101は、図10(c)に示す動画選択画面909を表示部130に表示する。ここでは、選択動画910において動画”2”がグレーアウトされ、動画一覧において、動画”2”のグレーアウトが解除される。
図8に示すステップS807の処理においては、制御部101は、図10(d)に示す削除画像択画面911を表示部130に表示する。図10(d)においては、”削除したい画像を選択してください”というガイダンスが表示されるとともに、記録媒体141に保存された画像の一覧が表示される。
ステップS808の処理において、ユーザが削除画像選択画面911で削除した画像にチェック917を入れると、制御部101はステップS809において、チェックを917を入れた、つまり、選択した画像を記録媒体141から削除する。
このように、本発明の実施の形態では、直近の作業履歴を用いると記録媒体の空き容量が不足して結合動画ファイルを保存ができない場合には、作業履歴をクリアして選択した動画ファイルを結合して保存ができないということをユーザーに知らせる。これによって、ユーザーに結合動画ファイルの保存が行えるという操作上の矛盾を与えないことができる。
上述の説明から明らかなように、図1に示す例においては、制御部101がファイル生成手段および判定手段として機能し、制御部101および画像処理部111が結合処理手段として機能する。また、制御部101および表示制御部131は報知手段として機能し、制御部101および記録再生部140は削除手段として機能する。なお、上記の作業履歴情報は、画像処理装置の電源をオフにしても消去されない記憶領域に保持され、画像処理装置の電源が再度オンになった後、制御部101は、結合動画ファイルを生成ため、記憶領域に保持された作業履歴情報を参照する。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
また、上記の実施の形態の機能を制御方法として、この制御方法を画像処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを画像処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。