(57)【要約】      （修正有）【課題】無駄な空きクラスタの発生を抑制しながら、連続して撮影した静止画ファイルを記憶媒体に記録する。【解決手段】撮像部により連続して静止画を撮像した場合、静止画ファイルが生成されるたびに、各静止画ファイルのサイズ以下であってメモリカードが有する記録単位であるＲＵの最大整数倍のデータを独立した中間ファイルとしてメモリカードに記録する。このとき、その静止画ファイルの後端に位置しＲＵのサイズに満たない端数データをバッファ領域内に格納する。中間ファイルを記録中にバッファ領域内にＲＵサイズ分のデータが格納された場合、当該バッファ領域内のＲＵサイズのデータを独立した端数データファイルとしてメモリカードに記録する。静止画の連続撮像が終了したとき、メモリカードに記録された中間ファイルそれぞれに端数データファイル内の該当する端数データを格納しているクラスタを結合することで完成された静止画ファイルを生成する。【選択図】図１
2015216538.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段と、
前記撮像手段により得られた静止画データを含む静止画ファイルを、所定のファイルシステムに従って記録媒体に書き込む記録手段と、
前記記録媒体における、前記所定のファイルシステムに規定された記録単位の整数倍のサイズを書き込み単位として前記静止画ファイルの書き込みを行うように、前記記録手段を制御する制御手段と、
メモリとを備え、
前記制御手段は、連続して複数の画面の静止画データを前記記録媒体に記録する所定の記録モードにおいて、一つの前記静止画ファイルについて、前記静止画ファイルのサイズ以下で、前記書き込み単位の整数倍の最大値となる第１のデータと、前記静止画ファイルのうち前記第１のデータを除いた第２のデータとを生成し、前記第１のデータを含む第１のファイルを前記記録媒体に書き込むように前記記録手段を制御するとともに、前記第２のデータを前記メモリに記憶し、前記所定の記録モードにおける静止画データの記録中に、前記メモリに記憶された、複数の前記静止画ファイルから生成された前記第２のデータのサイズが前記書き込みサイズに達したことに応じて、複数の前記静止画ファイルから生成された前記第２のデータを含む第２のファイルを記録するように前記記録手段を制御し、
前記所定の記録モードにおける静止画データの記録が終了した後、複数の前記第１のファイルそれぞれに対し、前記第２のファイルに格納された前記第２のデータを結合することにより、複数の静止画ファイルを生成する制御を行うことを特徴とする撮像装置。
【請求項２】
撮像手段と、
前記撮像手段により得られた静止画データを含む静止画ファイルと、前記撮像手段により得られた動画データを含む動画ファイルとを、所定のファイルシステムに従って記録媒体に書き込む記録手段と、
前記記録媒体における、前記所定のファイルシステムに規定された記録単位の整数倍のサイズを書き込み単位として書き込みを行うように、前記記録手段を制御する制御手段と、
メモリとを備え、
前記制御手段は、前記動画データの記録中における静止画の記録指示に応じて、前記記録指示に応じて記録する一つの静止画ファイルについて、前記静止画ファイルのサイズ以下で、前記書き込み単位の整数倍の最大値となる第１のデータと、前記静止画ファイルのうち前記第１のデータを除いた第２のデータとを生成し、前記動画ファイルの書き込みを停止して前記第１のデータを含む第１のファイルを前記記録媒体に書き込み、前記第１のファイルの書き込み終了後に前記動画ファイルの書き込みを再開するように前記記録手段を制御するとともに、前記第２のデータを前記メモリに記憶し、前記動画データの記録中に前記メモリに記憶された、複数の前記静止画ファイルから生成された前記第２のデータのサイズが前記書き込みサイズに達したことに応じて、複数の前記静止画ファイルから生成された前記第２のデータを含む第２のファイルを記録するように前記記録手段を制御し、
前記動画データの記録が終了した後、複数の前記第１のファイルそれぞれに対し、前記第２のファイルに格納された前記第２のデータを結合することにより、複数の静止画ファイルを生成する制御を行うことを特徴とする撮像装置。
【請求項３】
前記制御手段は、前記結合処理を終えたときに前記第２のファイルを削除する手段を更に有することを特徴とする請求項１又は２に記載の撮像装置。
【請求項４】
前記記録媒体内に、前記第１のファイル、前記第２のファイルが存在するか否かを判定する判定手段と、
該判定手段で第２のファイルが存在すると判定した場合、当該第２のファイル内に格納されたクラスタが結合すべき第１のファイルを特定し、当該特定した第１のファイルに前記クラスタを結合することで、前記第１のファイルを完成された静止画ファイルとして回復する回復手段と
を更に有することを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記判定手段は、ユーザからの所定の指示入力があった場合に行われることを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記判定手段は、電源投入した際の前記記録媒体のファイルシステムのマウント処理にて実行されることを特徴とする請求項４に記載の撮像装置。
【請求項７】
前記第１のファイルのファイル名は、予め設定された第１の文字列と、連番を示す第２の文字列、並びに、第１のファイルであることを示す所定の拡張子を表す文字列で構成され、
前記第２のファイルのファイル名は、当該第２のファイル内に格納された端数データが結合されるべき第１のファイルちの最初の第１のファイルにおける前記第２の文字列と最後の第１のファイルにおける前記第２の文字列とする
ことを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
前記記憶媒体はメモリカードであることを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【請求項９】
撮像装置におけるプロセッサに読み込ませ実行させることで、前記撮像装置を請求項１乃至８のいずれか１項に記載の撮像装置として機能させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを格納した、コンピュータが読み取り可能な記憶媒体。
【請求項１１】
撮像手段と、前記撮像手段により得られた静止画データを含む静止画ファイルを、所定のファイルシステムに従って記録媒体に書き込む記録手段と、メモリとを備える撮像装置の制御方法であって、
制御手段が、前記記録媒体における、前記所定のファイルシステムに規定された記録単位の整数倍のサイズを書き込み単位として前記静止画ファイルの書き込みを行うように、前記記録手段を制御する制御工程とを有し、
当該制御工程は、
連続して複数の画面の静止画データを前記記録媒体に記録する所定の記録モードにおいて、一つの前記静止画ファイルについて、前記静止画ファイルのサイズ以下で、前記書き込み単位の整数倍の最大値となる第１のデータと、前記静止画ファイルのうち前記第１のデータを除いた第２のデータとを生成し、前記第１のデータを含む第１のファイルを前記記録媒体に書き込むように前記記録手段を制御するとともに、前記第２のデータを前記メモリに記憶し、前記所定の記録モードにおける静止画データの記録中に、前記メモリに記憶された、複数の前記静止画ファイルから生成された前記第２のデータのサイズが前記書き込みサイズに達したことに応じて、複数の前記静止画ファイルから生成された前記第２のデータを含む第２のファイルを記録するように前記記録手段を制御し、
前記所定の記録モードにおける静止画データの記録が終了した後、複数の前記第１のファイルそれぞれに対し、前記第２のファイルに格納された前記第２のデータを結合することにより、複数の静止画ファイルを生成する制御を行う
ことを特徴とする撮像装置の制御方法。
【請求項１２】
撮像手段と、前記撮像手段により得られた静止画データを含む静止画ファイルと前記撮像手段により得られた動画データを含む動画ファイルとを所定のファイルシステムに従って記録媒体に書き込む記録手段と、メモリとを備える撮像装置の制御方法であって、
制御工程が、前記記録媒体における、前記所定のファイルシステムに規定された記録単位の整数倍のサイズを書き込み単位として書き込みを行うように、前記記録手段を制御する制御工程を有し、
当該制御工程は、
前記動画データの記録中における静止画の記録指示に応じて、前記記録指示に応じて記録する一つの静止画ファイルについて、前記静止画ファイルのサイズ以下で、前記書き込み単位の整数倍の最大値となる第１のデータと、前記静止画ファイルのうち前記第１のデータを除いた第２のデータとを生成し、前記動画ファイルの書き込みを停止して前記第１のデータを含む第１のファイルを前記記録媒体に書き込み、前記第１のファイルの書き込み終了後に前記動画ファイルの書き込みを再開するように前記記録手段を制御するとともに、前記第２のデータを前記メモリに記憶し、前記動画データの記録中に前記メモリに記憶された、複数の前記静止画ファイルから生成された前記第２のデータのサイズが前記書き込みサイズに達したことに応じて、複数の前記静止画ファイルから生成された前記第２のデータを含む第２のファイルを記録するように前記記録手段を制御し、
前記動画データの記録が終了した後、複数の前記第１のファイルそれぞれに対し、前記第２のファイルに格納された前記第２のデータを結合することにより、複数の静止画ファイルを生成する制御を行う
ことを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像した静止画像を不揮発性の記憶媒体へ記録する技術に関するものである。
【背景技術】
【０００２】
従来、メモリカードなどの記録媒体に動画や静止画を記録する撮像装置が知られている（例えば、特許文献１参照）。動画データは単位時間当たりのデータ量が多い。そこで、ＳＤカードなどのフラッシュメモリカードでは、スピードクラスが規定されている。スピードクラスでは、フラッシュメモリにおける複数のクラスタに対応した、ＡＵ（allocation Unit)，或いはＲＵ(Recording Unit)といった単位でデータの書き込みを行うことにより、データの書き込み速度が保証される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２６７９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
デジタルカメラでは、動画の撮影中に静止画の撮影を行う機能を持つものが登場している。静止画データのデータ量は動画に比べて少ない。そのため、動画撮影中に静止画を記録する場合、スピードクラスによる記録を一旦停止し、クラスタ単位で静止画データを書き込む。
【０００５】
しかしながら、スピードクラスによる書き込みから、一旦、クラスタ単位での書き込みに切り替え、再度、スピードクラスに戻る場合、切り替えに時間がかかってしまう。そこで、切り替えの間、動画を保持しておくための大容量のバッファメモリが必要になる。
【０００６】
また、静止画をスピードクラスに従って書き込むようにすれば、書き込み方式を切り替えることなく、動画の撮影中に静止画を記録することが可能となる。しかしながら、スピードクラスは、ＡＵ或いはＲＵの単位での書き込みになる。ＡＵはＲＵを包含する関係にあり、ＲＵは一般にメモリカードにおけるファイルシステムのクラスタサイズよりも大きい。従って、ＡＵあるいはＲＵ単位に、連続して撮像した個々の静止画ファイルを記録する場合には、メモリカードには無駄な空き領域が発生する。
【０００７】
本発明は、上記問題点に鑑みなされたものであり、無駄な空きクラスタの発生を抑制しながら、連続して撮影した静止画ファイルを記憶媒体に記録することを可能ならしめる技術を提供しようとするものである。
【課題を解決するための手段】
【０００８】
この課題を解決するため、例えば本発明の撮像装置は以下の構成を備える。すなわち、
撮像手段と、
前記撮像手段により得られた静止画データを含む静止画ファイルを、所定のファイルシステムに従って記録媒体に書き込む記録手段と、
前記記録媒体における、前記所定のファイルシステムに規定された記録単位の整数倍のサイズを書き込み単位として前記静止画ファイルの書き込みを行うように、前記記録手段を制御する制御手段と、
メモリとを備え、
前記制御手段は、連続して複数の画面の静止画データを前記記録媒体に記録する所定の記録モードにおいて、一つの前記静止画ファイルについて、前記静止画ファイルのサイズ以下で、前記書き込み単位の整数倍の最大値となる第１のデータと、前記静止画ファイルのうち前記第１のデータを除いた第２のデータとを生成し、前記第１のデータを含む第１のファイルを前記記録媒体に書き込むように前記記録手段を制御するとともに、前記第２のデータを前記メモリに記憶し、前記所定の記録モードにおける静止画データの記録中に、前記メモリに記憶された、複数の前記静止画ファイルから生成された前記第２のデータのサイズが前記書き込みサイズに達したことに応じて、複数の前記静止画ファイルから生成された前記第２のデータを含む第２のファイルを記録するように前記記録手段を制御し、
前記所定の記録モードにおける静止画データの記録が終了した後、複数の前記第１のファイルそれぞれに対し、前記第２のファイルに格納された前記第２のデータを結合することにより、複数の静止画ファイルを生成する制御を行うことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、無駄な空きクラスタの発生を抑制しながら、連続して撮影した静止画ファイルを記憶媒体に記録することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態における画像処理装置１００の概略構成を示すブロック図。
【図２】メモリカードのファイルシステムにおけるファイルの断片化と速度低下を説明するための図。
【図３】メモリカードにおけるスピードクラスの概念を説明する図。
【図４】第１の実施形態に係る静止画連続撮影処理の概要を示す図。
【図５】第１の実施形態に係る端数クラスタ情報の一例を示す図。
【図６】第１の実施形態に係る、ファイル結合の一例を示す図。
【図７】一般的なＤＣＦ画像ファイル構造を模式的に示す図。
【図８】第１の実施形態に係るマウント処理を例示したフローチャート。
【図９】第１の実施形態に係る静止画連続撮影処理のフローチャート。
【図１０】第１の実施形態に係る静止画撮影処理のフローチャート。
【図１１】第１の実施形態に係る端数クラスタデータ処理のフローチャート。
【図１２】第１の実施形態に係る端数クラスタデータ結合処理のフローチャート。
【図１３】第２の実施形態に係る動画記録処理のフローチャート。
【図１４】第２の実施形態に係るストリームデータ書込み処理のフローチャート。
【図１５】第２の実施形態に係る動画ファイル保存処理のフローチャート。
【図１６】第３の実施形態に係る静止画ファイル回復処理の図。
【図１７】第３の実施形態に係る端数クラスタ情報の一例を示す図。
【図１８】第３の実施形態に係る端数クラスタデータ結合処理のフローチャート。
【図１９】第３の実施形態に係る静止画ファイル回復処理のフローチャート。
【図２０】第３の実施形態に係るファイル回復処理のフローチャート。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１２】
実施形態の説明に先立ち、メモリカードについて考察する。
【００１３】
ハードディスクなどの記憶装置に採用されているファイルシステムでは、ファイルの書込みと削除を繰り返していると、使用領域と未使用領域が混在してしまい、書込まれたファイルが分断される。空き領域もまた、分断されるので、連続した大きな空き領域を確保するのが難しい。これは一般に、フラグメンテーション、或いは断片化と呼ばれる現象である。ファイルの断片化は、アクセス速度の低下を招くので、動画記録などのリアルタイム性が要求され、かつ、単位時間当たりに書き込むデータ量が大きい場合に問題となる。
【００１４】
フラッシュメモリを使用するメモリカードに上記ファイルシステムを適用した場合にも、断片化によるアクセス速度の低下が起こりうる。フラッシュメモリは、書き換え回数に制限があり、消去単位（書き換えの単位サイズ）がハードディスクのそれと比較して大きい（数キロバイト〜数十キロバイトのブロック単位）ことから、ハードディスクとは異なる対応が必要となる。
【００１５】
図２（Ａ），（Ｂ）を参照して、簡単に説明する。一般にフラッシュメモリの消去単位又は書き換え単位（以下、単に記録単位という）は、上述のファイルステムの空き領域管理単位（クラスタサイズ）よりも大きい。図２（Ａ）に示す例は、フラッシュメモリの記録単位が、ファイルシステムの管理単位であるクラスタの４倍のサイズを有する例を示している。図２（Ｂ）では、記録領域Ａに記録されるデータに変更を加えることで、記録領域Ｂに書き換える場合を図示している。すなわち、図２（Ａ）が書き換え前の状態を示し、同（Ｂ）が書き換え中と書き換え後の状態を示している。
【００１６】
図２（Ａ）では、記録領域Ａ内に未使用クラスタと使用済みクラスタが混在している。記録領域Ａの論理アドレスは、０ｘ１０００００から０ｘ１３ｆｆｆｆ（「０ｘ」は１６進数を示している）に設定されている。
【００１７】
ここで、論理アドレス０ｘ１１００００から始まるクラスタ２に新データを書込む必要が生じたとする。フラッシュメモリでは、記録領域Ａに対する部分的な上書きが不可能であるので、カード内部で、データの移動と論理アドレスの割当の変更が行なわれる。即ち、記録領域Ａの記憶データ（旧データ）を読み出して新データと合成し、記録領域Ａとは物理的に異なる位置にある記録領域Ｂに書込む。そして、記録領域Ａに割り当てていた論理アドレス０ｘ１０００００から０ｘ１３ｆｆｆｆを記録領域Ｂに割り当てる。論理アドレス０ｘ１１００００に書込まれるべきデータは、実際には記録領域Ｂのクラスタ２’に書込まれることになる。記録領域Ａのクラスタ１，３のデータは、それぞれ領域Ｂのクラスタ１’，３’にコピーされる。つまり、本来、新データは１つのクラスタに書き込むだけで良いはずが、図示の場合、領域Ａ内の他の２つ（クラスタ１、３）のコピーを行うための記録が必要となる。このような書き換え時の内部的なコピー動作が、書込み速度の低下を招く。勿論、物理アドレスで見ても断片化が進行することになる。読み込みについては、断片化していても上記のようなコピー動作を伴わないので、速度低下はごくわずかである。
【００１８】
近年、フラッシュメモリを使用するメモリカードでは、フラグメンテーションによる速度低下を考慮に入れた、最低記録保証レートを規定するものが現れている。例えば、ＳＤカードでは、動画に代表されるリアルタイムデータを破綻なく記録可能とするためのスピードクラスが規定されている。
【００１９】
図３を参照して、そのスピードクラスを説明する。メモリカード上の記録領域３０１をＡＵ（Ａｌｌｏｃａｔｉｏｎ Ｕｎｉｔ）と呼ばれる単位で区切り、各ＡＵに対して断片化の程度を測定する。ＡＵの大きさは、メモリカード内部のフラッシュメモリの記録単位に合わせてカード毎に決められている。また、スピードクラスを適用した記録におけるリアルタイムデータの最小記録単位を、ＲＵ（Ｒｅｃｏｒｄｉｎｇ Ｕｎｉｔ）と呼ぶ。ＲＵは、クラスタサイズの整数倍と定められている。ＲＵ内の全クラスタが未使用クラスタである場合、そのＲＵを未使用ＲＵ３０３として扱う。また、ＲＵ内のクラスタが１つでも使用されている場合、そのＲＵを使用済みＲＵ３０４として扱う。
【００２０】
ＡＵは複数個のＲＵからなる。ＡＵを構成する全てのＲＵの中における使用済みＲＵの割合に応じて、そのＡＵ内の未使用ＲＵへの最低記録速度が規定されている。使用済みＲＵの割合が低いほど、高速に記録が可能となる。記録データのビットレートよりも高速に記録可能なＡＵを選択することで、リアルタイムデータを確実にカードに記録することが可能となる。例えば、図３のＡＵ３０２は、未使用ＲＵ３０３と使用済みＲＵ３０４の割合が等しく、ＲＵ率が５０％となる。また、ＡＵ内の空きＲＵ率が１００％の場合に書込み可能速度は符号３０５に示すごとく６ＭＢ／ｓｅｃに設定されているものとする。同様に、７５％の場合に符号３０６に示すように４ＭＢ／ｓｅｃ、５０％の場合に符号３０７に示すように２ＭＢ／ｓｅｃ、２５％の場合に符号３０８のように１ＭＢ／ｓｅｃと設定されている。このメモリカードに、今、ビットレート３ＭＢ／ｓｅｃのストリームをリアルタイムに記録する場合、未使用ＲＵの割合が１００％又は７５％の領域を使用することで、ストリームデータのビットレートでの記録が破綻せず継続できることになる。
【００２１】
＜第１の実施形態＞
先ず、本第１の実施形態の概要を簡単に説明すると、次の通りである。本第１の実施形態では、撮像部を有する画像処理装置（撮像装置）に適用するものであり、所謂、デジタルカメラ、デジタルビデオカメラ、撮像機能を有する携帯端末に適用可能である。そして、この装置は、撮像部で撮像して得られた静止画像から静止画像ファイルを生成する生成部と、生成された静止画ファイルを前記記憶媒体に記録する記録制御部を有する。そしてこの記録制御部は、メモリカードにおけるファイルシステムの最小記録単位であるクラスタを複数内包し、少なくとも前記記憶媒体の記録単位である１ブロック分の容量のバッファメモリ（又はＲＡＭなどのメモリにバッファ領域として確保する）を有する。そして、記録制御部は、撮像部により連続して静止画を撮像して静止画ファイルが生成されるたびに、その静止画ファイルのサイズ以下であってブロックの容量の最大整数倍のデータを、独立した中間ファイルとしてメモリカードに記録すると共に、その静止画ファイルの後端に位置しブロックのサイズに満たない端数データをバッファメモリ内（又はバッファ領域内）の該当するクラスタ領域に格納する。そして、記録制御部は、メモリカード内に中間ファイルを記録中に、バッファメモリ内（又はバッファ領域内）にブロック分のデータが格納された場合、当該ブロック内のデータを独立した端数データファイルとしてメモリカードに記録する。この静止画の連続撮像の終了後、記録制御部は、メモリカードに記録された中間ファイルそれぞれに、端数データファイル内の該当する端数データを格納しているクラスタを結合することで、完成された静止画ファイルを生成する。以下、係る点の具体例を説明する。
【００２２】
図１は、第１の実施形態に係る画像処理装置１００の概略構成を示すブロック図である。画像処理装置１００は、撮影した動画または静止画などのファイルをメモリカード１１０に記録するデジタルカメラ（撮像装置）でもある。
【００２３】
メモリカード１１０は、ＡＵまたはＲＵ単位でのアクセスが可能なスピードクラスモードとクラスタ単位でのアクセスが可能な通常モードの二つの機能を有し、脱着可能な半導体の不揮発性記録媒体である。
【００２４】
撮像素子１０１は、光電変換により入射光量に応じた電荷を生成して出力するＣＭＯＳセンサであり、全画素の信号を読み出す以外に、特定の画素の加算及び特定の行又は列おきに間引いて電荷を読み出すこともできる。撮像素子駆動回路１０２は、ＣＰＵ（プロセッサ）１１４による制御に基づいて、動画モードまたは静止画モードで撮像素子１０１を駆動することができる。画像処理回路１０３は、撮像素子１０１からの画像信号をＡ／Ｄ変換し、ガンマ補正、色バランス調整及び色変換等の所定の画像処理を施す。画像メモリ１０４は、画像処理回路１０３からの動画または静止画の画像データを表示用及び記録処理用に一時記憶するのに使用される。
【００２５】
マイク１０５は、外部の音声を取り込み、音声信号を出力する。音声処理回路１０６は、マイク１０５からの音声信号をＡ／Ｄ変換し、ＰＣＭ符号化方式で符号化する。ＰＣＭバッファ１０７は、音声処理回路１０６からのＰＣＭ音声データを記録処理用に一記記憶する。
【００２６】
画像変換回路１１５は、動画記録時には、画像メモリ１０４に格納される動画の画像データとＰＣＭバッファ１０７に格納されるＰＣＭ音声データを圧縮符号化及び多重化し、所定形式のストリームデータを生成する。生成されたストリームデータは、ストリームバッファ１０８に格納する。また、画像変換回路１１５は、静止画記録時には、画像メモリ１０４に格納される静止画の画像データを圧縮符号化し、ＪＰＥＧ画像データを生成する。生成されたＪＰＥＧ画像データは、静止画バッファ１０９に格納する。更に、画像変換回路１１５は、再生モードで、メモリカード１１０から読み出されたストリームデータの圧縮画像データ及び圧縮音声データを伸長（復号）する。
【００２７】
静止画バッファ１０９は、少なくとも一つ以上のＪＰＥＧ画像データを格納するメモリ領域を持つ。ストリームバッファ１０８は、一定期間のストリームデータを格納することができるだけのメモリ領域を持つ。記録媒体制御回路１１１は、メモリカード１１０の接続状態の監視とメモリカード１１０へのアクセスを制御する。操作部１１２は、レリーズボタン、動画記録ボタン、静止画連続撮影モードと動画記録モードなどを切り替えるモード切り換えダイヤルなどを有し、ユーザが種々の指示を画像処理装置１００に入力ために使用される。表示部１１３は、液晶表示パネルからなり、記録時は撮像素子１０１によって撮像される画像を表示し、再生時には再生画像を表示する。表示部１１３はまた、画像処理装置１００に対する設定メニュー等、記録時間、及びバッテリ残量等の情報を表示する。
【００２８】
ＣＰＵ１１４は、中央演算処理装置であり、画像処理装置１００の各部を制御する。メモリ１１８は、ＣＰＵ１１４、ファイルシステム１１６、書込み管理部１１７の作業領域として使用する。ファイルシステム１１６は、メモリカード１１０へのファイルの書込みと読出しに必要な情報を提供する。書込み管理部１１７は、ファイルシステム１１６と連携して、メモリカード１１０への書込みを管理し、記録シーケンス決定手段として機能する。具体的には、メモリカード１１０の断片化の状態およびメモリカード１１０の性能情報からメモリカード１１０内の各領域の書込み可能速度を算出する。また、書込み管理部１１７は、データ書込み要求に対し、データのビットレートや静止画連続時の連続撮影可能枚数に応じてメモリカード１１０上の書込み領域を決定する。なお、画像メモリ１０４、ＰＣＭバッファ１０７、ストリームバッファ１０８、静止画バッファ１０９、メモリ１１８はＲＡＭで構成される。
【００２９】
［静止画連続撮影処理の概要］
次に、後述する本第１の実施形態の静止画連続撮影処理における、静止画ファイル書込みの概要を、図４を用いて説明する。
【００３０】
ＣＰＵ１１４は、ＲＵと同一サイズ以上のメモリ領域を、図４に示す端数クラスタ格納バッファとしてメモリ１１８に確保する。図４に示す例では、ＲＵのサイズは３クラスタ分のサイズであり、端数クラスタ格納バッファのサイズはＲＵサイズと同じ例である。
【００３１】
操作部１１２から静止画連続撮影の要求がなされると、ＣＰＵ１１４は、撮像素子駆動回路１０２、画像処理回路１０３を制御し、撮像して得た静止画の画像データを画像メモリ１０４に格納させる。画像変換回路１１５は、ＣＰＵ１１４の制御の下、画像メモリ１０４の画像データを圧縮符号化し、ＪＰＥＧ画像データやサムネイル画像を静止画バッファ１０９に格納する。ＣＰＵ１１４は、静止画バッファ１０９のＪＰＥＧ画像データに、サムネイル画像やヘッダ情報などのファイル情報を付加し、静止画ファイルを生成する。本実施形態では、静止画の連続撮影処理においては、静止画データをスピードクラスに従ってメモリカード１１０に書き込む。即ち、ＣＰＵ１１４は、メモリカード１１０における、ＲＵの先頭クラスタのアドレスを指定し、静止画データの書き込みを指示する。記録媒体制御回路１１１は、メモリカード１１０における、ＲＵの先頭クラスタのアドレスを指定し、静止画データの書き込みコマンドを送信する。
【００３２】
また、ＣＰＵ１１４は、生成された静止画ファイルのサイズを、ＲＵのサイズで除算して余ったサイズを求める。そして、その静止画ファイルの後端に位置する、「余り」分のデータを端数クラスタデータとして図４に示す端数クラスタ格納バッファに格納する。この端数クラスタデータは、この時点ではメモリカード１１０に書き込まれず、ＲＵの整数倍のデータのみ中間ファイルとして、メモリカード１１０に記録される。
【００３３】
このように、１画面の静止画データのうち、端数クラスタデータを除くデータがスピードクラスに従って記録される。また、１画面の静止画データのうち、端数クラスタデータを除くデータが、一つのファイル（中間ファイル）として記録される。
【００３４】
なお、ＲＵが３個のクラスタで構成され、余り分のデータのサイズが、２クラスタサイズ以上である場合は、中間ファイルとして記録されるデータと合わせて、最終的な静止画ファイルとして記録される。即ち、この場合は、中間ファイル、端数ファイル共に記録されない。
【００３５】
また、各静止画ファイルの端数クラスタデータは、端数クラスタバッファにおけるクラスタの単位で記憶される。また、端数クラスタバッファに対し、次の静止画ファイルの端数クラスタデータが新たに記憶された結果、１ＲＵサイズを超えた場合は、ＲＵサイズ分のデータが端数ファイルとして記録される。そして、ＲＵサイズを超える分の端数クラスタデータが、端数クラスタバッファに保持される。
【００３６】
続いて、次の静止画データが記録されるが、この静止画データの余り分のデータも、同様に端数クラスタ格納バッファに記憶される。このように、静止画撮影が繰り返され、端数クラスタ格納バッファのデータがＲＵと同一サイズになると、ＣＰＵ１１４は、端数クラスタ格納バッファ内のデータを、図４に示す端数クラスタファイルとして、メモリカード１１０に記録する。また、ＣＰＵ１１４は、端数クラスタファイル内のクラスタが、実際はどのファイルの後端に位置するかを示す端数クラスタ情報をメモリ１１８に作成しておく。
【００３７】
静止画連続撮影が終了した時点で、ＣＰＵ１１４は、端数クラスタ情報を参照して、後述するファイル結合によって、端数クラスタファイル内の端数クラスタデータと、各静止画の中間ファイルの結合を行い、静止画ファイルとして成立させる。このようにすることで、ファイルの断片化を回避することができる。
【００３８】
［静止画ファイルフォーマット］
図７は一般的なＤＣＦ（Design rule for Camera File system）画像ファイルの構造を示した図である。ＤＣＦ画像ファイル７００は現在、最も多くのデジタルカメラが出力可能なファイルであり、ＤＣＦヘッダ部７０１、サムネイル画像部７０２、ＪＰＥＧ画像部７０３で構成されている。ＤＣＦヘッダ部７０１はＤＣＦヘッダ情報を格納する領域であって、予め所定のデータサイズが与えられている。ＤＣＦヘッダ情報には、ＪＰＥＧ画像部７０３に格納される画像データに関連する撮影情報やパラメータなど符号７０４で示されるメタデータAが含まれると共に、サムネイル画像までの符号７０５で示されるオフセット値B、ならびに、符号７０６で示されるＪＰＥＧ画像までのオフセット値Cが含まれる。このオフセット値B、Cにより各画像データの開始位置が特定されることになる。サムネイル画像部７０２は、表示部５１６に表示を行う際などにその画像の大まかなインデックスとして利用する画像を格納する領域であり、ＪＰＥＧ画像部７０３に格納されているＪＰＥＧ画像などを間引いてリサイズしたサムネイル画像である。ＪＰＥＧ画像部７０３は、画像処理回路１０３で画像処理した後、画像変換回路１１５で圧縮して得られたＪＰＥＧ画像を格納する領域であり、一般の多くのアプリケーションで扱うことが可能なデータである。ＥＯＩ７０７は、ＤＣＦ画像ファイルの終端を示すＥＯＩマーカである。
【００３９】
[端数クラスタ情報］
次に、本第１の実施形態の静止画連続撮影処理における、端数クラスタ情報を、図５を用いて説明する。
【００４０】
端数クラスタ情報は、静止画ファイルに対する中間ファイルと、端数クラスタデータの関連を示す情報であり、複数の端数クラスタファイル情報で構成される。また、端数クラスタファイル情報は、１つの端数クラスタファイルに対して１つ存在し、端数クラスタファイル名５０５と中間ファイル名５０６と使用クラスタ５０７から構成される。端数クラスタファイルに格納される、余り分のデータに対応した中間ファイルのファイル名の情報が、中間ファイル名５０６として格納されている。
【００４１】
使用クラスタには、各中間ファイルに対する余り分のデータである端数クラスデータが、端数クラスタファイルのどのクラスタに格納されているかを示す情報が格納されている。具体的には、端数クラスデータが格納されている開始クラスタ番号と終了クラスタ番号が格納されている。
【００４２】
実施形態の場合、ＲＵは３クラスタ分の容量を有するものであるから、端数クラスタファイル情報には、最大３個の中間ファイル名が記述可能である。これまでの説明からわかるように、静止画ファイルＡをメモリカード１１０に格納する際に、静止画ファイルＡのサイズを、ＲＵのサイズで除算した余りが１クラスタのサイズ未満の場合、その静止画ファイルＡは端数クラスタを１個利用することを意味する。余りが１クラスタのサイズより大きく２クラスタ分のサイズ未満の場合には、静止画ファイルＡは端数クラスタを２個利用することを意味する。そして、余りが２クラスタ分のサイズより大きく３クラスタ分のサイズ未満の場合には、計算上は端数クラスタが３個あることになるが、実施形態の場合、ＲＵは３クラスタ分のサイズであるので、端数クラスタを含まないと判断する。
【００４３】
上記のようにして端数クラスタ情報を生成することで、後述するファイル結合時に端数クラスタファイル内の端数クラスタデータと中間ファイルを結合することができる。上記実施形態は、端数クラスタ情報の一例であり、端数クラスタファイル内の端数クラスタデータと中間ファイルが結合できればよく、これに限られるものではない。
【００４４】
［ファイル結合］
次に、後述する本実施形態の静止画連続撮影処理における、ファイル結合に係る処理を、図６を用いて説明する。
【００４５】
図６（ａ）は、ファイル結合前のメモリカード１１０の状態を示す。図６（ａ）には、２つの静止画ファイルの中間ファイルと、それぞれの静止画ファイルに対応する端数クラスタデータが格納された１つの端数クラスタファイルが格納されていることを示している。つまり、連続撮影モードにて、２枚の画像を連写した場合である。それぞれのファイルの使用領域とクラスタチェーンの情報はメモリカード１１０の管理テーブル（Ｆｉｌｅ Ａｌｌｏｃａｔｉｏｎ Ｔａｂｌｅ）に記述されている。
【００４６】
一方、図６（ｂ）は、ファイル結合により、中間ファイルと端数クラスタデータが結合され、静止画ファイルとして成立させた状態を示す。端数ファイルに格納された、各静止画ファイルに対する端数クラスタデータは、クラスタの先頭アドレスから記録される。そのため、中間ファイルに後続して、端数クラスタデータが存在するように管理テーブルのクラスタチェーンの情報を変更することで、中間ファイルに対して端数クラスタデータを結合することができる。例えば、図６（ａ）の状態では、端数クラスタ情報には、静止画ファイル１の後端に接続すべき端数クラスが１つ存在し、静止画ファイル２の後端に接続すべき端数クラスが２つ存在することが記述されている。従って、ＣＰＵ１１４は、静止画ファイル１の中間データの最後の「クラスタ３」に、クラスタ７が後続し、そのクラスタ７で記録が終了していること示すように管理テーブルを更新する。同様に、ＣＰＵ１１４は、静止画ファイル２の中間データの最後の「クラスタ６」に、クラスタ８，９が後続し、そのクラスタ９で記録が終了していること示すように管理テーブルを更新する。上記の結果、図６（ｂ）に示すように、連写モードで撮影した場合に、ＲＵ内に無駄な空き領域を発生せず、静止画像ファイルを詰めて記録することが可能になる。なお、この際に、中間ファイルの拡張子を、“.JPG”等に変更することも行う。なお、拡張子の文字列は、符号化方式に依存して決めることになるので、必ずしも“.JPG”である必要はない。例えば、実施形態における符号化方式がＪＰＥＧ２０００の場合には、拡張子を“.J2K”とすることになる。
【００４７】
［マウント処理］
次に、第１の実施形態に係る画像処理装置１００のメモリカード１１０のマウント処理について、図８のフローチャートを用いて具体的な処理を説明する。
【００４８】
該フローチャートに対応する処理は、例えば画像処理装置１００にメモリカード１１０の接続されている状態で、マウント開始指示に対応する制御信号をＣＰＵ１１４が受信し、書込み管理部１１７に対してマウント処理を要求したものとして説明する。
【００４９】
まずＳ８０１で、書込み管理部１１７は、メモリカード１１０から必要な情報を取得し、スピードクラスを適用可能な状態にする。次いで、Ｓ８０２で、書込み管理部１１７は、接続されたメモリカード１１０のファイルシステムをマウントする。次に、Ｓ８０３で、書込み管理部１１７は、メモリカード１１０からＡＵサイズを取得する。Ｓ８０４で、書込み管理部１１７は、ＲＵサイズを決定する。ＲＵサイズは、クラスタサイズ以上、ＡＵサイズ未満であり、記録レートに応じて最小サイズが規格で定められているので、これを満たすように決定される。Ｓ８０５で、書込み管理部１１７は、メモリカード１１０から使用領域と未使用領域の管理テーブル（Ｆｉｌｅ Ａｌｌｏｃａｔｉｏｎ Ｔａｂｌｅ）を読出し、ＦＡＴ管理テーブルとして、メモリ１１８上に保持する。
【００５０】
ＦＡＴ管理テーブルをメモリ１１８上に保持するのは、静止画連続撮影時にメモリカード１１０が通常書込みに移行するのを回避するためである。ＦＡＴ管理テーブルは、ＲＵ未満のサイズとなりえる。また、ＦＡＴ管理テーブルは、静止画ファイルなどのファイル保存時などに更新される可能性がある。即ち、通常モードによるクラスタ単位での書込みとなる可能性がある。
【００５１】
そのため、ファイル保存要求発生時、書込み管理部１１７はメモリ１１８上のＦＡＴ管理テーブルのみを更新し、ＦＡＴ書込み要求が発生した場合のみ、メモリカード１１０の管理テーブルを更新するものとする。先に説明した、連写モードにおける管理テーブルも係る処理を経て行い、それが最終的に確定してから、実際に管理テーブルでメモリカード１１０を更新する処理を行う。また、ファイル保存時にクラスタ単位の書込みが発生する管理情報として、ＦＡＴ管理テーブルとしたが、これに限られるものではなく、必要であればその他の管理情報もメモリカード１１０に保持するものとする。
【００５２】
［静止画連続撮影処理］
次に、第１の実施形態に係る画像処理装置１００の静止画連続撮影処理について、図９のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、例えば前述したマウント処理が完了し、ユーザが操作部１１２を操作して、画像処理装置１００が静止画連続撮影モードに設定させ、静止画連続撮影開始指示の入力を検知した場合にＣＰＵ１１４が実行するものである。
【００５３】
Ｓ９０１で、ＣＰＵ１１４は、書込み管理部１１７が決定したＲＵサイズを取得し、メモリ１１８に、ＲＵサイズ以上の端数クラスタ格納バッファの領域を確保する。次に、ＣＰＵ１１４は、Ｓ９０２で、メモリ１１８に、端数クラスタ情報を格納するための領域を確保する。
【００５４】
Ｓ９０３で、操作部１１２からレリーズボタン押下の制御信号を検出したか否かを判断する。レリーズボタンの押下を示す制御信号を受信した場合は処理をＳ９０４に移し、なされていないと判断した場合は処理をＳ９０６に移す。Ｓ９０４で、１枚の静止画撮影を行う静止画撮影処理を実行する。そして、その撮影処理を終えて、Ｓ９０５にて、操作部１１２からレリーズボタン押下中の制御信号を検出したか否かを判断し、それ検出している限り、ステップＳ９０４の処理を実行する。また、レリーズボタンが非押下状態にあると判断した場合は、連続撮影が終了したものと判断し、処理をＳ９０６に移す。
【００５５】
Ｓ９０６にて、ＣＰＵ１１４は、操作部１１２から静止画連続撮影モードの制御信号を検出したか否かを判断する。静止画連続撮影モードである判断とした場合は処理をＳ９０３に処理を戻し、なされていないと判断した場合は処理をＳ９０７に移す。
【００５６】
Ｓ９０７で、記録媒体制御回路１１１を介して、メモリカード１１０を通常モードに移行させる。即ち、メモリカード１１０に対し、クラスタ単位での書込みを可能とする。そして、Ｓ９０８で、中間ファイルと、端数クラスタファイル内の端数クラスタとの結合所処理である端数クラスタデータ結合処理を実行する。そして、Ｓ９０９で、記録媒体制御回路１１１を介して、メモリカード１１０をスピードクラスモードに移行させる。Ｓ９１０で、メモリ１１８に確保した端数クラスタ情報の領域を解放する。Ｓ９１１で、メモリ１１８に各方確保した端数クラスタ格納バッファの領域も解放する。
【００５７】
［静止画撮影処理］
ここで、Ｓ９０４で実行される静止画撮影処理について、図１０のフローチャートを用いて詳述する。
【００５８】
まず、ＣＰＵ１１４は、Ｓ１００１にて、撮像素子駆動回路１０２、画像処理回路１０３を制御し、撮像した静止画に対して各種処理（ホワイトバランス処理等）を行い、画像データを画像メモリ１０４に格納させる。次いで、ＣＰＵ１１４は、ステップＳ１００２にて、画像変換回路１１５を制御し、画像メモリ１０４にある画像データの符号化処理を行い、ＪＰＥＧ画像データやサムネイル画像を生成する。そして、ＣＰＵ１１４は、Ｓ１００３で、前述した静止画ファイルフォーマットの静止画ファイルを作成する。ついて、ＣＰＵ１１４は、作成した静止画ファイルのファイルサイズを取得する。Ｓ１００５で、取得したファイルサイズに、端数クラスタデータが存在するか否かを判断する。
【００５９】
端数クラスタデータが存在する判断した場合は、処理をＳ１００６に移し、存在しないと判断された場合にはＳ１００７に移す。具体的には、ファイルサイズがＲＵサイズの整数倍かどうかを調べる。そして、整数倍でない場合は、ファイルサイズ以下で、ＲＵサイズの整数倍の最大値となるサイズと、ファイルサイズとの差が、２クラスタ以上であるか否かを判別する。ファイルサイズ以下で、ＲＵサイズの整数倍の最大値となるサイズと、ファイルサイズとの差分が、２クラスタ以上である場合は、端数クラスタデータが存在しないと判断する。ファイルサイズ以下で、ＲＵサイズの整数倍の最大値となるサイズと、ファイルサイズとの差分が、２クラスタより小さい場合は、端数クラスタデータが存在すると判断する。
【００６０】
Ｓ１００６に処理を進めた場合、ＣＰＵ１１４は、静止画ファイルを中間ファイルと端数クラスタデータに分割する端数クラスタデータ処理を実行する。また、一方、Ｓ１００７に進んだ場合、ＣＰＵ１１４は、静止画ファイルをメモリカード１１０にファイル保存する。Ｓ１００７での静止画ファイルはＲＵサイズの整数倍であるため、ファイル保存はスピードクラスで書き込むことができる。また、この場合、静止画ファイルの最後のデータが書き込まれるＲＵにおいて、空きとなるのは１クラスタ未満であるので、メモリカード１１０の記録領域を無駄にすることが無い。
【００６１】
［端数クラスタデータ処理］
ここで、Ｓ１００６で実行される端数クラスタデータ処理について、図１１のフローチャートを用いて詳述する。
【００６２】
ＣＰＵ１１４は、Ｓ１１０１で、中間ファイルを保存する。具体的には、先に生成した画像ファイルの先頭から、ファイルサイズ以下で、ＲＵサイズの整数倍の最大値で示される位置までを中間ファイルとし、メモリカード１１０に記録する。
【００６３】
次に、Ｓ１１０２には、ＣＰＵ１１４は、端数クラスタデータを端数クラスタ格納バッファに格納する。端数クラスタデータは、中間ファイルとして保存されていない静止画ファイルの終端に位置する２クラスタ以下のデータである。また、端数クラスタ格納バッファは、端数クラスタデータをクラスタ単位毎に管理する。
【００６４】
Ｓ１１０３では、ＣＰＵ１１４は、端数クラスタ格納バッファにＲＵサイズ分のデータが格納されたか否かを判断する。ＲＵサイズ分のデータが格納されたと判断した場合は、処理をＳ１１０４に移し、なされていないと判断した場合は処理をＳ１１０５に移す。
【００６５】
Ｓ１１０４で、端数クラスタ格納バッファのＲＵサイズ分のデータを端数クラスタファイルとしてメモリカード１１０に記録する。そして、Ｓ１１０５で、端数クラスタ情報を更新する。具体的には、端数クラスタ情報の端数クラスタデータに対する情報（中間ファイル名５０６、使用クラスタ５０７）を更新する。また、Ｓ１１０４で、端数クラスタ格納ファイルを記録したのであれば、端数クラスタファイル名５０５の情報も更新も行う。
【００６６】
［端数クラスタデータ結合処理］
ここで、Ｓ９０９で実行される端数クラスタデータ結合処理について、図１２のフローチャートを用いて詳述する。
【００６７】
先ず、Ｓ１２０２にて、ＣＰＵ１１４は、メモリ１１８に端数クラスタ情報が存在するか否かを判断する。端数クラスタ情報が存在すると判断した場合は、処理をＳ１２０３に移し、存在しなければ、本端数クラスタデータ結合処理を完了する。
【００６８】
Ｓ１２０３に処理を進めた場合、ＣＰＵ１１４は、端数クラスタ格納バッファに、端数クラスタデータが存在するか否かを判断する。端数クラスタデータが存在すると判断した場合は、処理をＳ１２０４に移し、存在しないと判断した場合は処理をＳ１２０６に移す。Ｓ１２０４では、端数クラスタ格納バッファの端数クラスタデータを端数クラスタファイルとしてメモリカード１１０に記録する。そして、Ｓ１２０５で、端数クラスタ情報を更新する。
【００６９】
ＣＰＵ１１４は、Ｓ１２０６で、端数クラスタがどの中間ファイルと結合すべきなのかを調べるため、端数クラスタ情報から端数クラスタファイル情報を取得する。そして、Ｓ１２０７で、ＣＰＵ１１４は、端数クラスタファイル情報内に格納された端数クラスタファイル名５０５を取得する。そして、Ｓ１２０８で、端数クラスタファイル情報にある中間ファイルの情報を取得する。具体的には、中間ファイル名５０６と使用クラスタ５０７を取得する。そして、ＣＰＵ１２０９にて、Ｓ１２０９で、ファイル結合を実行する。具体的には、中間ファイルと、端数クラスタファイル内の中間ファイルに対応した端数クラスタデータを前述したファイル結合により、１つの静止画ファイルとして成立させる。また、中間ファイルに対応した端数クラスタデータの位置は、端数クラスタファイル情報の使用クラスタ５０７にある開始クラスタ番号と終了クラスタ番号によって特定する。なお、結合処理では、着目中間ファイルに後続して、端数クラスタファイルの該当するクラスタが接続されるように、メモリ１１８に用意されたＦＡＴ管理テーブルを更新する処理を行うものである。
【００７０】
Ｓ１２１０では、着目端数クラスタファイル情報にある全ての中間ファイルのファイル結合が完了した否かを判断する。完了したと判断した場合は、処理をＳ１２１１に移し、なされていないと判断した場合は処理をＳ１２０８に移す。
【００７１】
Ｓ１２１１にて、ＣＰＵ１１４は、端数クラスタファイル情報に対する処理が完了した否かを判断する。完了したと判断した場合は、処理をＳ１２１２に移し、未処理の端数クラスタファイル情報があれば、処理をＳ１２０６に移す。Ｓ１２１２で、ＣＰＵ１１４は、書込み管理部１１７にメモリ１１８内の更新後のＦＡＴ管理領域をメモリカード１１０に書込みするよう要求する。
【００７２】
以上説明したように、本実施形態によれば、静止画連続撮影時において、ファイルの断片化を回避したスピードクラスによる静止画の書込みを実現することができる。具体的には、静止画ファイルのＲＵサイズの整数倍のデータを中間ファイル、ＲＵサイズに満たないデータを端数クラスタデータとして分割し、先に中間ファイルのみファイル保存する。また、静止画連続撮影終了時に中間ファイルと端数クラスタデータをファイル結合することで静止画ファイルとして成立させる。
【００７３】
＜第２の実施形態＞
上記第１の実施形態では、画像処理装置１００は、静止画連続撮影時において、ファイルの断片化を回避したスピードクラスによる静止画の書込みについて説明した。本第２の実施形態では、動画像記録中に静止画撮影が実行されても、記録媒体内に断片化の発生することを抑制し、動画のストリームデータをスピードクラスで書込み続けることを特徴とする画像処理装置について説明する。
【００７４】
なお、本第２の実施形態において画像処理装置１００の構成は第１の実施形態（図１参照）と同様であるため、その説明を省略する。
【００７５】
［動画記録中の静止画記録処理］
第２の実施形態に係る動画記録中の静止画記録処理について、図１３のフローチャートを用いて詳述する。なお、このフローチャートに対応する処理は、例えば前述したメモリカード１１０のマウント処理が完了し、画像処理装置１００が動画モードに設定されている状態で、動画記録開始指示に対応する制御信号をＣＰＵ１１４が操作部１１２から受信した際に開始されるものとして説明する。また、図１３中のステップＳ１３０６、Ｓ１３１３の処理は、第１の実施形態で説明した図１０、図１２と同様であるため、その説明を省略する。
【００７６】
先ずＳ１３０１にて、ＣＰＵ１１４は、書込み管理部１１７が決定したＲＵサイズを取得し、メモリ１１８内に、ＲＵサイズ以上の端数クラスタ格納バッファの領域を確保する。次いで、Ｓ１３０２で、ＣＰＵ１１４は、メモリ１１８に、端数クラスタ情報を格納するための領域を確保する。そして、Ｓ１３０３にて、動画記録を開始する。具体的には、ＣＰＵ１１４が、撮像素子駆動回路１０２、画像処理回路１０３を制御し、動画の画像データを画像メモリ１０４に格納するように要求する。また、ＣＰＵ１１４は、音声処理回路１０６を制御し、ＰＣＭバッファ１０７にＰＣＭ音声データを記録するように要求する。更に、ＣＰＵ１１４は、画像変換回路１１５を制御し、符号化された動画像と音声とを多重化したストリームデータの生成を要求する。この結果、生成されたストリームデータはストリームバッファ１０８に一時的に格納され、記録媒体制御回路１１１によりメモリカード１１０に動画像ファイルとして記録処理が行われる。
【００７７】
Ｓ１３０４で、操作部１１２から、静止画の記録紙を指示するためのレリーズボタン押下（記録指示）の制御信号を検出したか否かを判断する。レリーズボタンが押下されていると判断した場合は処理をＳ１３０５に移し、なされていないと判断した場合は処理をＳ１３０８に移す。
【００７８】
Ｓ１３０５では、ＣＰＵ１１４は動画記録を停止する。具体的には、ＣＰＵ１１４が、撮像素子駆動回路１０２、画像処理回路１０３を制御し、動画の画像データの取得を停止する。また、音声処理回路１０６を制御し、ＰＣＭ音声データの記録を停止する。更に、画像変換回路１１５を制御し、ストリームデータの生成を停止させる。そして、ＣＰＵ１１４は、Ｓ１３０６にて静止画撮影処理を実行し、Ｓ１３０７にて動画記録を再開する。また、Ｓ１３０８に処理が進んだ場合には、ストリームデータ書込み処理を継続する。
【００７９】
Ｓ１３０９では、ＣＰＵ１１４は操作部１１２から動画記録停止ボタンの制御信号を検出したか否かを判断する。動画記録停止ボタンが押下されていると判断した場合は処理をＳ１３１０に移し、なされていないと判断した場合は処理をＳ１３０４に移す。ステップＳ１３１０に移行した場合、ＣＰＵ１１４は動画記録を停止する。そして、Ｓ１３１１で、ＣＰＵ１１４は、記録媒体制御回路１１１を介して、メモリカード１１０を通常モードに移行させる。そして、Ｓ１３１２にて、動画ファイル保存処理を実行する。ステップ１３１３では、ＣＰＵ１１４は、端数クラスタデータ結合処理を実行する。この端数クラスタデータ結合処理は第１の実施形態の説明を参照されたい。そして、Ｓ１３１４で、記録媒体制御回路１１１を介して、メモリカード１１０をスピードクラスモードに移行させる。そして、ＣＰＵ１１４は、Ｓ１３１５にて、端数クラスタ情報の領域を解放し、Ｓ１３１６で、端数クラスタ格納バッファの領域を解放する。
【００８０】
［ストリームデータ書込み処理］
ここで、Ｓ１３０８で実行されるストリームデータ書込み処理について、図１４のフローチャートを用いて詳述する。
【００８１】
先ず、ＣＰＵ１１４は、Ｓ１４０１で、ストリームバッファ１０８に格納されているデータサイズを取得する。そして、Ｓ１４０２で、データサイズがＲＵサイズ以上か否かを判定する。データサイズがＲＵサイズ以上と判断した場合は処理をＳ１４０３に移し、データサイズがＲＵサイズ未満と判断した場合は本処理を終える。
【００８２】
Ｓ１４０３では、ＣＰＵ１１４は、書込みサイズを算出する。具体的には、ストリームバッファ１０８に格納されているデータのうち、ＲＵサイズの整数倍を書き込み対象のサイズとして決定する。そして、Ｓ１４０４で、ＣＰＵ１１４は、ストリームバッファのデータをＳ１４０３で算出した書込みサイズだけ、ファイル書込みする。なお、ストリームバッファのデータ書込みが完了した時点で、ストリームバッファ１０８に格納されているデータサイズを、書込みを終えたサイズ分だけ減算する。例えば、ＲＵサイズのＮ倍のサイズを１回の書き込み対象のサイズとした場合、記録媒体制御回路１１１は、Ｎ個の空きＲＵを指定して、書き込みコマンドを送信する。
【００８３】
［動画ファイル保存処理］
Ｓ１３１２で実行される動画ファイル保存処理について、図１５のフローチャートを用いて詳述する。この時点で、動画の撮影は停止されており、未記録の動画データがストリームバッファ１０８に格納されていることになる点に注意されたい。
【００８４】
ＣＰＵ１１４は、Ｓ１５０１にて、記録媒体制御回路１１１を介して、メモリカード１１０を通常モードに移行させる。そして、Ｓ１５０２で、ストリームバッファ１０８に格納されている残りのデータをファイル書込みする。そして、Ｓ１５０３にて、ストリームデータに動画記録情報などを付加して、動画ファイルを生成する。そして、Ｓ１５０４で、動画ファイルとしてメモリカード１１０に記録する。
【００８５】
以上説明したように、本第２の実施形態の画像処理装置は、動画撮影において、動画記録中に静止画の記録を行う場合に、ファイルの断片化を回避し、動画のストリームデータをスピードクラスで書込み続けることができる。具体的には、動画記録中に静止画撮影が実行された場合、静止画ファイルのＲＵサイズの整数倍のデータを中間ファイル、ＲＵサイズに満たないデータを端数クラスタデータとして分割し、先に中間ファイルを記録する。そして、動画記録中に、複数回、静止画記録が指示され、端数クラスタデータが１ＲＵのサイズに達した時点で端数クラスタファイルがメモリカード１１０に記録される。また、動画記録撮影終了時に中間ファイルと端数クラスタデータをファイル結合することで静止画ファイルとして成立させる。
【００８６】
［第３の実施形態］
上記第１、第２の実施形態では、画像処理装置１００は、静止画連続撮影時、または、動画記録中の静止画記録時時に静止画ファイルのＲＵサイズの整数倍のデータを中間ファイル、ＲＵサイズに満たないデータを端数クラスタデータとして分割する。また、先に中間ファイルを記録し、端数クラスタデータは、複数の静止画の端数クラスタデータがＲＵサイズとなった場合に端数クラスタファイルとして記録する。更に、静止画連続撮影、または、動画記録が完了した時点で、中間ファイルと端数クラスタファイル内の端数クラスタデータのファイル結合を行い、静止画ファイルとして成立させるものとした。
【００８７】
例えば、メモリカード１１０やバッテリが抜かれる可能性があることを検知した場合やバッテリ残量が少なくなったなどの場合には、静止画連続撮影や動画記録を速やかに終了させることが望ましい。そのためには、メモリ１１８上に保持しているＦＡＴ管理テーブルをメモリカード１１０に書込み、それまでに保存したファイルを正式に保存した状態にする必要がある。更に、中間ファイルと端数クラスタファイル内の端数クラスタデータのファイル結合をする必要がある。しかしながら、ファイル結合が間に合わず、メモリカード１１０に中間ファイルと端数クラスタファイルが残されたままの状態となり、静止画ファイルとして成立していないファイルが存在する可能性がある。
【００８８】
そこで、第３の実施形態では、メモリカード１１０に中間ファイルと端数クラスタファイルが残されていた場合、ユーザの指示、或いは、電源投入時にそのファイル結合し、静止画ファイルとして成立させること（静止画ファイル回復処理）を特徴とする画像処理装置について説明する。なお、本第３の実施形態において画像処理装置１００の構成は第１の実施形態（図１参照）と同様であるため、その説明を省略する。
【００８９】
［静止画ファイル回復処理の概要］
まずは、本実施形態の静止画ファイル回復処理に係る処理の概要を、図１６を用いて説明する。図１６は、メモリカード１１０の構成を示した図である。
【００９０】
なお、本実施形態において、メモリカード１１０の構成をＤＣＦメディア規定に準拠した構成として説明するが、これに限られるものではない。例えば、ファイルの名前を「４文字の英数字＋４桁の連番数字(0001〜9999).拡張子」で構成するが、これに限られるものではない。
【００９１】
図示における符号１６０１は、静止画ファイルまたは動画ファイルを保存するためのフォルダ１６０１である。フォルダ１６０１には、完成された静止画ファイル１６０２、未完状態の中間ファイル１６０３、１６０４、１６０５、１６０７．１６０８、１６１０が存在していることを示している。また、端数クラスタファイル１６０６、１６０９が格納されていることも示している。中間ファイルのファイル名は、静止画ファイルの拡張子を「DAT」に変えたものとする。
【００９２】
ここで、端数クラスタファイル１６０６、１６０９のファイル名は、端数クラスタファイルに格納されている端数クラスタデータと関連を持つ中間ファイルの２組の４桁の連番数字から構成されているものとする。具体的には、端数クラスタファイルの上位４桁は、端数クラスタファイルの先頭に格納されている端数クラスタデータと関連を持つ中間ファイルの４桁の連番数字である。また、端数クラスタファイルの下位４桁は、端数クラスタファイルの終端に格納されている端数クラスタデータと関連を持つ中間ファイルの４桁の連番数字である。即ち、図１６における端数クラスタファイル１６０６のファイル名は、“00020004,DAT”となっているので、その端数クラスタファイル１６０６には、中間ファイル１６０３乃至１６０５の端数クラスタデータが格納されていることを示す。なお、上記の端数クラスタファイルのファイル名は一例であって、これ以外でも良いのはもちろんである。
【００９３】
符号１６５０は、端数クラスタファイル１６０６に格納されているデータを例を示している。この端数クラスタファイル１６０６には、中間ファイル１６０３、１６０４、１６０５の端数クラスタデータが格納されていること示す。符号１６５１は、端数クラスタファイル１６０９に格納されているデータを例を示している。この端数クラスタファイル１６０９には、中間ファイル１６０５、１６０７、１６０８の端数クラスタデータが格納されていること示す。中間ファイル１６０５（中間ファイル名“IMG_0004.DAT”）の端数クラスタは、２つの端数クラスタファイル１６０６，１６０９に格納されていることに注意されたい。
【００９４】
符号１６７０は、中間ファイル１６０３と端数クラスタファイル１６０６の中の端数クラスタデータを結合し、静止画ファイルとして成立させた場合のファイル構成である。符号１６７１は、中間ファイル１６０５と端数クラスタファイル１６０６、及び、１６０９の中の端数クラスタデータを結合し、静止画ファイルとして成立させた場合のファイル構成である。
【００９５】
まず、操作部１１２から静止画ファイル回復の要求がなされると、画像処理装置１００のＣＰＵ１１４は、端数クラスタファイルを検索する。次に、端数クラスタファイルのファイル名を調べる。図１６の例では、端数クラスタファイル１６０６、１６０９の２つが発見されることになる。それぞれのファイル名の上位４ケタは“0002”,“0004”であるので、値の小さい順に端数クラスタファイルを順序つける。ここで、端数クラスタファイル１６０６の上位４ケタは“0002”であるので、その端数クラスタファイルの先頭（最初）には、中間ファイル１６０３（“IMG_0002.DAT”）の端数クラスタデータが格納されていることがわかる。次に、中間ファイル１６０３（“IMG_0002.DAT”）に格納されているＤＣＦヘッダ部を参照し、静止画ファイルとしてのファイルサイズを取得する。次に、取得したファイルサイズと中間ファイル１６０３のサイズから端数クラスタファイル１６０６に格納されている端数クラスタデータのサイズ（使用しているクラスタ数とも言える）を調べる。最後に、中間ファイル１６０３の後端に、端数クラスタファイル１６０６の端数クラスタデータ（不足分）の結合を行い静止画ファイルとして成立させる。
【００９６】
これを端数クラスタファイル１６０６のファイル名の下位４桁“0004”に対応する中間ファイル１６０５（“IMG_0004.DAT”）まで繰り返すことで、静止画ファイルを回復させる。ただし、中間ファイル１６０５に端数クラスタファイル１６０６内の端数クラスタを結合しても、中間ファイル１６０５のＤＣＦヘッダに格納されたファイルサイズに満たない。この場合、ＣＰＵ１１４は残りの端数クラスタは別の端数クラスタファイル内に格納されていると判定する。実施形態の場合、２番目に順序付けられた端数クラスタファイル１６０９が存在し、しかも、そのファイル名の上位４ケタが“0004”である。よって、ＣＰＵ１１４は、中間ファイル１６０５の不足分が、端数クラスタファイル１６０９に存在するとして判定でき、今度は、端数クラスタファイル１６０９を基準に上記処理を行う。そして、発見した端数クラスタファイルの数だけ、上記処理を行う。なお、結合処理を終えた場合、発見した端数クラスタファイル１６０６、１６０９をメモリカード１１０から削除する。
【００９７】
上記の結果、メモリカード１１０に中間ファイルと端数クラスタファイルが残されたままの状態であった場合、成立可能な中間ファイルについては可能な限り、完成された静止画像ファイルに復元できることとなる。
【００９８】
なお、図１６において、中間ファイル１６１０（ファイル名“IMG_0006.DAT”）の端数クラスタを格納することになっていた端数クラスタファイルはメモリカード１１０には存在しない。よって、この中間ファイル１６１９を、完成された静止画像ファイルに復元することはできない。また、中間ファイル１６０８（ファイル名“IMG_0006.DAT”）を完成させるための端数クラスタが、端数クラスタファイル１６０９内のデータだけで足りない場合も同様である。このように、完成された静止画ファイルに復元できない中間ファイルが存在した場合には、そのファイルを削除するものとする。ただし、ユーザに確認メッセージを表示して、削除許可があった場合に削除処理を行ってもよい。
【００９９】
［端数クラスタ情報］
次に、本第３の実施形態に係る端数クラスタ情報を、図１７を用いて説明する。図１７中の符号１７０１、１７０２、１７０３は、第１の実施形態の図５における符号５０５、５０６、５０７と同様であるため、その説明を省略する。符号１７０４は、保存フラグであり、端数クラスタファイル名１７０１が、メモリカード１１０に保存されたかどうかを示す。保存した場合は、保存フラグを保存済みとし、保存していない場合は、未保存とする。図１７の状態で、例えばバッテリ切れとなって、端数クラスタファイル名“00060007.DAT”をメモリカード１１０に保存できなかった状態が、図１６に示す状態であったものと理解されたい。
【０１００】
［静止画ファイル回復における静止画連続撮影処理］
次に、第３の実施形態に係る画像処理装置１００の静止画連続撮影処理、その処理における端数クラスタデータ処理を除き、図９、図１０、図１２のフローチャートと同じである。この処理はフローチャートに対応する処理は、例えば前述したメモリカード１１０のマウント処理が完了し、画像処理装置１００が静止画連続撮影モードに設定されている状態で、静止画連続撮影の開始指示に対応する制御信号をＣＰＵ１１４が受信した際に開始されるものとして説明する。なお、上記の通り、本第３の実施形態における処理は、第１の実施形態における図９、図１０、図１２と同じであるため、以下では端数クラスタデータ処理を図１８のフローチャートに従って説明する。
【０１０１】
先ず、Ｓ１８０１で、ＣＰＵ１１４は中間ファイルを保存する。具体的には、静止画ファイルのサイズ内であって、ＲＵサイズの整数倍の最大値を中間ファイルサイズとし、静止画ファイルの先頭からその中間ファイルサイズ分だけ、中間ファイルとしてメモリカード１１０に記録する。次いでＳ１８０２にて、ＣＰＵ１１４は、静止画ファイルの終端の未保存部分の端数クラスタデータを端数クラスタ格納バッファに格納する。また、端数クラスタ格納バッファは、端数クラスタデータをクラスタ単位毎に管理する。
【０１０２】
ＣＰＵ１１４は、Ｓ１８０３にて、端数クラスタ情報の保存フラグ１７０４を参照し、未保存の端数クラスタファイル情報が存在するか否かを判断する。未保存の端数クラスタファイル情報が存在すると判断した場合は、処理をＳ１８０４に移し、存在しないと判断した場合は、処理をＳ１８０７に移す。
【０１０３】
Ｓ１８０４において、ＣＰＵ１１４は、端数クラスタファイル情報の端数クラスタファイル名１７０１の上位４桁が“ＦＦＦＦ”が存在するか否かを判断する。上位４桁が“ＦＦＦＦ”が存在すると判断した場合は、処理をＳ１８０５に移し、存在しないと判断した場合は、処理をＳ１８０６に移す。なお、“ＦＦＦＦ”は、端数クラスタ格納バッファに１つの端数クラスタデータしか存在しないことを示す識別子であるが、識別可能であればよいので、これに限定されるものはない。
【０１０４】
Ｓ１８０５に処理が進んだ場合、ＣＰＵ１１４は端数クラスタファイル名１７０１の上位４桁を下位４桁の開始連番数字として認識し、Ｓ１８０６にて、端数クラスタファイル名１７０１の下位４桁を中間ファイルの終端連番数字と認識する。
【０１０５】
一方、未保存の端数クラスタファイル情報が存在しないと判断した場合は、ＣＰＵ１１４は、Ｓ１８０７にて、新たな端数クラスタファイル情報を作成し、Ｓ１８０８で、保存フラグを未保存とする。また、ＣＰＵ１１４は、Ｓ１８０９にて、端数クラスタファイル名１７０１の上位４桁を“ＦＦＦＦ”、下位４桁を中間ファイルの連番数字とする。
【０１０６】
Ｓ１８１０では、ＣＰＵ１１４は、端数クラスタ格納バッファにＲＵサイズ分のデータが格納されたか否かを判断する。ＲＵサイズ分のデータが格納されたと判断した場合は、処理をＳ１８１１に移し、なされていないと判断した場合は、処理をＳ１８１３に移す。そして、Ｓ１８１１にて、ＣＰＵ１１４は、端数クラスタ格納バッファのＲＵサイズ分のデータを端数クラスタファイルとしてファイル保存する。ファイル保存する際のファイル名は、端数クラスタファイル名１７０１に格納されているファイル名とする。Ｓ１８１２で、端数クラスタ情報の保存フラグ１７０４を保存済みとする。
【０１０７】
Ｓ１８１３にて、ＣＰＵ１１４は、全ての端数クラスタデータを端数クラスタ格納バッファに格納されたか否かを判断する。格納されたと判断した場合は、端数クラスタデータ結合処理を完了し、なされていないと判断した場合は、処理をＳ１８０２に移す。なお、全ての端数クラスタデータを端数クラスタ格納バッファに格納できていないと判断した場合は、端数クラスタデータが複数の端数クラスタファイルを跨いで格納されることを示す。
【０１０８】
［静止画ファイル回復処理］
次に、第３の実施形態に係る画像処理装置１００の静止画ファイル回復処理を、図１９、図２０のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、例えば前述したメモリカードのマウント処理が完了し、ユーザが操作部１１２から静止画ファイル回復指示入力を行い、それに対応するボタン押下の制御信号をＣＰＵ１１４が受信した際に開始されるものとして説明する。また、メモリカードのマウント処理にて、この処理を自動的に開始しても構わない。この場合、以下の説明から明らかになるように、電源オンやメモリカードを装着等によって、マウント処理が開始され、静止画ファイルを回復する処理が行われることになる。
【０１０９】
先ず、Ｓ１９０１にて、ＣＰＵ１１４は、メモリカード１１０内にて端数クラスタファイルを検索し、Ｓ１９０２にて、処理すべき端数クラスタファイルが存在するか否かを判断する。端数クラスタファイルが存在すると判断した場合は、処理をＳ１９０３に移し、存在しないと判断した場合は、ステップＳ１９１３に進む。
【０１１０】
Ｓ１９０３では、ＣＰＵ１１４は、端数クラスタファイル名の上位４桁と下位４桁の連番数字を取得する。そして、Ｓ１９０４にて上位４桁が“ＦＦＦＦ”であるか否かを判断する。“ＦＦＦＦ”であると判断した場合は、処理をＳ１９０５に移し、“ＦＦＦＦ”でないと判断した場合は、処理をＳ１９０６に移す。Ｓ１９０５にて。ＣＰＵ１１４は、上位４桁を下位４桁の開始連番数字と認識し、Ｓ１９０６で、上位４桁の連番数字をカウンタ値に格納する。
【０１１１】
Ｓ１９０７にて。ＣＰＵ１１４は、カウンタ値と一致する中間ファイルが存在するか否かを判断する。中間ファイルが存在すると判断した場合は、処理をＳ１９０８に移し、存在しないと判断した場合は、処理をＳ１９１０に移す。例えば、カウンタ値が“0002”であれば、"IMG_0002.DAT"の中間ファイルを検索し、存在するか否かを判断する。もし、該当するファイルが存在した場合には、ＣＰＵ１１４は、Ｓ１９０８にて、ファイル回復処理を実行する。
【０１１２】
Ｓ１９０９で、ファイル回復が完了したか否かを判断する。完了したと判断した場合は、処理をＳ１９１０に移し、完了していない判断した場合は、処理をＳ１９１２に移す。なお、ファイル回復が完了していないと判断した場合は、端数クラスタデータが複数の端数クラスタファイルを跨いで格納されていることを示す。よって、次の端数クラスタファイルを検索する処理に移行する。
【０１１３】
Ｓ１９１０にて、ＣＰＵ１１４は、次の中間ファイルを検索するためにカウンタ値をインクリメントし、Ｓ１９１１にて、カウンタ値が下位４桁の連番数字に対して大きいか否かを判定する。カウンタ値が下位４桁の連番数字に対して大きいと判断した場合は、処理をＳ１９１２に移し、カウンタ値に対して小さい、もしくは等しいと判定した場合は、処理をＳ１９０７に移す。Ｓ１９１２にた、ＣＰＵ１１４は、端数クラスタファイルの端数クラスタデータに対する全てのファイル結合が完了したと判断し、端数クラスタファイルを削除する。
上記のようにして、全端数クラスタファイルについての処理を終えると、ＣＰＵ１１４はＳ１９１３に処理を進め、完成された静止画ファイルに復元できなかった中間ファイルの削除処理を行い、本処理を終える。なお、ここでは、未完成の中間ファイルを自動的に削除するものとしたが、そのファイルのサイズ内で復号処理を行えば、大部分の画像を復元できる可能性は残っている。そこで、削除しても良いか否かをユーザに問い合わせるメッセージを表示し、ユーザから削除了解の指示を受けて削除するようにしても良い。
【０１１４】
また、ＤＣＦファイルヘッダの解析から、本来のファイルサイズは判明しているので、予め設定した色（例えば白）を示すダミーデータのクラスタを作成して、未完の中間データと結合して、見かけ上の完成された静止画ファイルを復元してもよい。この結果、通常のデコーダで、画像の端部が欠けるものの、エラー無く復号することも可能になる。
【０１１５】
［ファイル回復処理］
ここで、Ｓ１９０８で実行されるファイル回復処理について、図２０のフローチャートを用いて詳述する。
【０１１６】
先ず、Ｓ２００１にて、ＣＰＵ１１４は着目中間ファイルのＤＣＦヘッダ部からファイルサイズを取得する。具体的には、着目中間ファイルのＤＣＦヘッダ部における、図７に示す撮影情報やパラメータなどのメタデータA（７０４）からファイルサイズを取得する。そして、ＣＰＵ１１４は、Ｓ２００２にて、上記のＳ２００１で取得したファイルサイズから、着目中間ファイルが占有しているＲＵ数に基づくサイズを減算し、不足分のクラスタ数を算出する。そして、Ｓ２００３では、ＣＰＵ１１４は、着目端数クラスタファイル内に、着目中間ファイルの不足分の全クラスタが含まれるか否かを判定する。具体的には、Ｓ２００２で算出したクラスタ数と、着目端数クラスタファイル内の未結合処理のクラスタ数とを比較し、前者が後者以下であるか否かを判定する。
【０１１７】
Ｓ２００３の判定がＹｅｓの場合、処理はＳ２００４に進み、ＣＰＵ１１４は、着目端数クラスタファイル内の未結合処理の先頭のクラスタから不足分のクラスタ数のデータを、着目中間ファイルへの結合対象として決定する。そして、Ｓ２００５にて、着目中間ファイルが回復されるものとして完了する。
【０１１８】
一方、Ｓ２００３の判定がＮｏ、すなわち、着目端数クラスタファイル内の未結合クラスタだけでは不十分である場合にはＳ２００７に進み、着目端数クラスタファイル内の未結合処理の先頭のクラスタから最後のクラスタまでのデータを、着目中間ファイルへの結合対象として決定する。ただし、着目中間ファイルはこの結合処理を行っても完成しないので、ＣＰＵ１１４は未回復として決定する。この結果、着目中間ファイルは、次回、本処理が実行される場合にも結合処理を行う対象として扱われる。
【０１１９】
Ｓ２００６では、着目中間ファイルの後端に、上記Ｓ２００４、またはＳ２００７で決定したクラスタが後続するものとして、メモリ１１８の管理領域を更新する。なお、Ｓ２００４経た場合には、ファイル名の拡張子も“.JPG”に変更する。
【０１２０】
以上説明したように、本第３の実施形態によれば、メモリカード１１０に中間ファイルと端数クラスタファイルが残されたままの状態となり、静止画ファイルとして成立していないファイルが存在しても、端数クラスタファイル内に不足分のクラスタが存在する限り、その中間ファイルを正式な静止画像ファイルとして回復させることができる。
【０１２１】
上記の通り、本第１乃至第３の実施形態によれば、スピードクラスを用いてストリームデータを記録中に静止画を撮影する際、また、スピードクラスを用いた静止画の連続撮影の際に、スピードクラスによる書込みを継続しながら、記録媒体の断片化を回避し、空き領域を有効に利用することが可能になる。
【０１２２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１２３】
１００…画像処理装置、１０１…撮像素子、１０２…撮像素子駆動回路、１０３…画像処理回路、１０４…画像メモリ、１０５…マイク、１０６…音声処理回路、１０７…ＰＣＭバッファ、１０８…ストリームバッファ、１０９…静止画バッファ、１１０…メモリカード、１１１…記録媒体制御回路、１１２…操作部、１１３…表示部、１１４…ＣＰＵ、１１５…画像変換回路、１１６…ファイルシステム、１１７…書込み管理部、１１８…メモリ
【図１】
2015216538.tif 000003
【図２】
2015216538.tif 000004
【図３】
2015216538.tif 000005
【図４】
2015216538.tif 000006
【図５】
2015216538.tif 000007
【図６】
2015216538.tif 000008
【図７】
2015216538.tif 000009
【図８】
2015216538.tif 000010
【図９】
2015216538.tif 000011
【図１０】
2015216538.tif 000012
【図１１】
2015216538.tif 000013
【図１２】
2015216538.tif 000014
【図１３】
2015216538.tif 000015
【図１４】
2015216538.tif 000016
【図１５】
2015216538.tif 000017
【図１６】
2015216538.tif 000018
【図１７】
2015216538.tif 000019
【図１８】
2015216538.tif 000020
【図１９】
2015216538.tif 000021
【図２０】
2015216538.tif 000022