(57)【特許請求の範囲】
【請求項１】
記録媒体にデータを記録する装置であって、
入力されたデータを記憶するメモリと、
前記記録媒体の記録領域を、それぞれ所定のサイズを有する複数の管理単位に分割する分割手段と、
前記複数の管理単位それぞれにおける空き領域のサイズを検出し、前記検出した各管理単位の空き領域のサイズに基づいて、前記記録媒体における前記複数の管理単位から、前記データを記録する管理単位を指定する管理手段と、
前記メモリから前記データを読み出して前記記録媒体に記録する手段であって、前記メモリから読み出した前記データを、前記管理手段により指定された管理単位に対して記録する記録手段とを備え、
前記管理手段は、記録開始の指示に応じて、複数の前記管理単位から空き領域のサイズが所定量以上の管理単位を指定すると共に、記録停止の指示に応じて、前記空き領域のサイズが前記所定量以上の管理単位、または前記空き領域のサイズが前記所定量よりも小さい管理単位の何れか一方を指定し、
前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを前記記録停止の指示があった時点で指定していた前記管理単位の終端まで記録するまでに、新たに前記記録開始の指示があった場合、前記管理手段は、前記空き領域のサイズが前記所定量以上の管理単位を指定し、前記記録手段は、前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データのうち、前記記録停止の指示があった時点で指定していた前記管理単位に記録されたデータ以外の残りのデータを、前記空き領域のサイズが前記所定量以上の管理単位に記録し、
前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを、前記記録停止の指示があった時点で指定していた前記管理単位の終端まで記録するまでに、新たに前記記録開始の指示が無かった場合、前記管理手段は、前記空き領域のサイズが所定量よりも小さい管理単位を指定し、前記記録手段は、前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データのうち、前記記録停止の指示があった時点で指定していた前記管理単位に記録されたデータ以外の残りのデータを、前記空き領域のサイズが前記所定量よりも小さい管理単位に記録することを特徴とする記録装置。
【請求項２】
記録媒体にデータを記録する装置であって、
入力されたデータを記憶するメモリと、
前記記録媒体の記録領域を、それぞれ所定のサイズを有する複数の管理単位に分割する分割手段と、
前記複数の管理単位それぞれにおける空き領域のサイズを検出し、前記検出した各管理単位の空き領域のサイズに基づいて、前記記録媒体における前記複数の管理単位から、前記データを記録する管理単位を指定する管理手段と、
前記メモリから前記データを読み出して前記記録媒体に記録する手段であって、前記メモリから読み出した前記データを、前記管理手段により指定された管理単位に対して記録する記録手段とを備え、
前記管理手段は、記録開始の指示に応じて、複数の前記管理単位から空き領域のサイズが所定量以上の管理単位を指定すると共に、記録停止の指示に応じて、前記空き領域のサイズが前記所定量以上の管理単位、または前記空き領域のサイズが前記所定量よりも小さい管理単位の何れか一方を指定し、
前記管理手段は、
前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを記録するために必要な、前記空き領域のサイズが所定量よりも小さい管理単位の数が閾値よりも大きい場合、前記空き領域のサイズが所定量以上の管理単位を指定し、
前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを記録するために必要な、前記空き領域のサイズが所定量よりも小さい管理単位の数が閾値以下の場合、前記空き領域のサイズが所定量よりも小さい管理単位を指定することを特徴とする記録装置。
【請求項３】
前記記録手段は、前記管理単位ごとに前記記録媒体に記録されたデータを消去し、前記管理単位よりも小さいサイズの書き込み単位ごとに前記記録媒体にデータを記録することを特徴とする請求項１または２に記載の記録装置。
【請求項４】
前記管理手段は、前記複数の管理単位のそれぞれについて、前記管理単位のサイズに対する空き領域のサイズの割合を示す断片化率を算出し、前記断片化率に基づいて前記記録手段が前記データを記録する管理単位を指定することを特徴とする請求項１から３のいずれか１項に記載の記録装置。
【請求項５】
記録媒体にデータを記録する方法であって、
入力されたデータをメモリに記憶する工程と、
前記記録媒体の記録領域を、それぞれ所定のサイズを有する複数の管理単位に分割する分割工程と、
前記複数の管理単位それぞれにおける空き領域のサイズを検出し、前記検出した各管理単位の空き領域のサイズに基づいて、前記記録媒体における前記複数の管理単位から、前記データを記録する管理単位を指定する管理工程と、
前記メモリから前記データを読み出して前記記録媒体に記録する工程であって、前記メモリから読み出した前記データを、前記管理工程により指定された管理工程に対して記録する記録工程とを備え、
前記管理工程は、記録開始の指示に応じて、複数の前記管理単位から空き領域のサイズが所定量以上の管理単位を指定すると共に、記録停止の指示に応じて、前記空き領域のサイズが前記所定量以上の管理単位、または前記空き領域のサイズが前記所定量よりも小さい管理単位の何れか一方を指定し、
前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを前記記録停止の指示があった時点で指定していた前記管理単位の終端まで記録するまでに、新たに前記記録開始の指示があった場合、前記管理工程は、前記空き領域のサイズが前記所定量以上の管理単位を指定し、前記記録工程は、前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データのうち、前記記録停止の指示があった時点で指定していた前記管理単位に記録されたデータ以外の残りのデータを、前記空き領域のサイズが前記所定量以上の管理単位に記録し、
前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを、前記記録停止の指示があった時点で指定していた前記管理単位の終端まで記録するまでに、新たに前記記録開始の指示が無かった場合、前記管理工程は、前記空き領域のサイズが前記所定量よりも小さい管理単位を指定し、前記記録工程は、前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データのうち、前記記録停止の指示があった時点で指定していた前記管理単位に記録されたデータ以外の残りのデータを、前記空き領域のサイズが前記所定量よりも小さい管理単位に記録することを特徴とする記録方法。
【請求項６】
記録媒体にデータを記録する方法であって、
入力されたデータをメモリに記憶する工程と、
前記記録媒体の記録領域を、それぞれ所定のサイズを有する複数の管理単位に分割する分割工程と、
前記複数の管理単位それぞれにおける空き領域のサイズを検出し、前記検出した各管理単位の空き領域のサイズに基づいて、前記記録媒体における前記複数の管理単位から、前記データを記録する管理単位を指定する管理工程と、
前記メモリから前記データを読み出して前記記録媒体に記録する工程であって、前記メモリから読み出した前記データを、前記管理工程により指定された管理工程に対して記録する記録工程とを備え、
前記管理工程は、記録開始の指示に応じて、複数の前記管理単位から空き領域のサイズが所定量以上の管理単位を指定すると共に、記録停止の指示に応じて、前記空き領域のサイズが前記所定量以上の管理単位、または前記空き領域のサイズが前記所定量よりも小さい管理単位の何れか一方を指定し、
前記管理工程は、
前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを記録するために必要な、前記空き領域のサイズが所定量よりも小さい管理単位の数が閾値よりも大きい場合、前記空き領域のサイズが所定量以上の管理単位を指定し、
前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを記録するために必要な、前記空き領域のサイズが所定量よりも小さい管理単位の数が閾値以下の場合、前記空き領域のサイズが所定量よりも小さい管理単位を指定することを特徴とする記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録装置及び記録方法に関し、特に、動画や音声などのデータを記録する装置に用いて好適な技術に関する。
【背景技術】
【０００２】
従来、フラッシュメモリにデータを記録する装置が知られている。一般的なＮＡＮＤ型フラッシュメモリにおいて、一回の書き込み要求で書き替え可能な最小単位はページと呼ばれている。データ書き込み済みのページを別のデータで上書きするためには事前に消去を行う必要がある。データの消去はページよりも大きなブロックと呼ばれる単位でしか行えない。
【０００３】
そのため、ブロックの一部のページを書き替える場合でも、ブロック全体のデータを読み出し、書き替え部分のデータを変更した後、ブロック全体を消去して変更後のブロックのデータをフラッシュメモリに書き戻すという動作が必要になる。
【０００４】
従って、一部のページにデータが記録されているブロックの空きページに対してデータを書き込む場合、ブロック単位でデータを書き込む場合に比べて書き込み速度が低下する。近年は、フラッシュメモリの大容量化に伴い、ブロックサイズが大きくなってきていることから、このような断片化されたブロックが増加し、小さな単位でのデータの書き込み速度はますます低下する傾向にある。
【０００５】
また、近年では、このようなフラッシュメモリに対して動画や音声を記録再生するビデオカメラが登場している。ビデオカメラでは、動画や音声などの大容量のデータをリアルタイムに記録する必要がある。そこで、断片化されていないブロックに対してデータを記録することで、書き込み速度を低下させないようにすることが提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２６７９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述の様に、断片化されていないブロックに対して動画や音声を記録した場合、断片化されたブロックに対しては動画や音声を記録できなくなる。フラッシュメモリの大容量化に伴い、ブロックサイズが大きくなると、このような断片化されたブロックが増加する。そのため、空き領域が残っているにもかかわらず、動画や音声など、リアルタイムに記録する必要があるデータを記録できなくなってしまうという問題があった。
本発明は前述の問題点に鑑み、大容量のデータをリアルタイムに記録でき、且つ、断片化による無駄な空き容量の増加を防ぐことができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の記録装置は、記録媒体にデータを記録する装置であって、入力されたデータを記憶するメモリと、前記記録媒体の記録領域を、それぞれ所定のサイズを有する複数の管理単位に分割する分割手段と、前記複数の管理単位それぞれにおける空き領域のサイズを検出し、前記検出した各管理単位の空き領域のサイズに基づいて、前記記録媒体における前記複数の管理単位から、前記データを記録する管理単位を指定する管理手段と、前記メモリから前記データを読み出して前記記録媒体に記録する手段であって、前記メモリから読み出した前記データを、前記管理手段により指定された管理単位に対して記録する記録手段とを備え、前記管理手段は、記録開始の指示に応じて、複数の前記管理単位から空き領域のサイズが所定量以上の管理単位を指定すると共に、記録停止の指示に応じて、前記空き領域のサイズが前記所定量以上の管理単位、または前記空き領域のサイズが前記所定量よりも小さい管理単位の何れか一方を指定し、前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを前記記録停止の指示があった時点で指定していた前記管理単位の終端まで記録するまでに、新たに前記記録開始の指示があった場合、前記管理手段は、前記空き領域のサイズが前記所定量以上の管理単位を指定し、前記記録手段は、前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データのうち、前記記録停止の指示があった時点で指定していた前記管理単位に記録されたデータ以外の残りのデータを、前記空き領域のサイズが前記所定量以上の管理単位に記録し、前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データを、前記記録停止の指示があった時点で指定していた前記管理単位の終端まで記録するまでに、新たに前記記録開始の指示が無かった場合、前記管理手段は、前記空き領域のサイズが所定量よりも小さい管理単位を指定し、前記記録手段は、前記記録停止の指示があった時点で前記メモリに記憶されていた未記録データのうち、前記記録停止の指示があった時点で指定していた前記管理単位に記録されたデータ以外の残りのデータを、前記空き領域のサイズが前記所定量よりも小さい管理単位に記録することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、大容量のデータをリアルタイムに記録でき、且つ、断片化による無駄な空き容量の増加を防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態におけるビデオカメラの構成例を示すブロック図である。
【図２】アロケーションユニット（ＡＵ）とクラスタの様子を示す図である。
【図３】空きクラスタ率と記録上限レートの例を示す図である。
【図４】各ＡＵの断片化率と分割された領域の様子を示す図である。
【図５】記録停止時におけるビデオカメラの処理手順を示すフローチャートである。
【図６】記録停止時に指定されるＡＵの様子を示す図である。
【発明を実施するための形態】
【００１１】
図１は、本発明の実施形態におけるビデオカメラ１００の構成を示す図である。ビデオカメラ１００において、撮像部１０１はレンズや撮像素子、信号処理回路などを有し、被写体の画像を撮影してデジタル動画データを出力する。音声入力部１０２はマイクロフォンやアンプ、信号処理回路などを有し、被写体の音声を入力してデジタル音声データを出力する。メモリ１０３は、撮影時には撮像部１０１からの動画データや音声入力部１０２からの音声データを記憶する。また、メモリ１０３は、符号化処理部１０４により符号化された動画、音声データも記憶する。また、メモリ１０３は、再生時には再生された動画、音声データを記憶する。
【００１２】
符号化処理部１０４は、記録時には動画、音声データを公知の符号化方式により符号化し、情報量を圧縮する。また、符号化処理部１０４は、再生時には、再生された動画、音声データを復号し、情報量を伸張する。空き領域管理部１０５は、記録媒体１１６の空き領域の状態を管理する。操作部１０６は、電源スイッチや撮影開始、停止の指示ボタン、撮影モードと再生モードを切り替えるためのモードスイッチなど、各種の操作スイッチを備える。表示部１０７は、撮像部１０１により撮影された被写体の画像や、再生された画像、あるいは、各種の情報を表示する。
【００１３】
ＣＰＵ１０８は、マイクロコンピュータを有し、不図示のメモリに記憶された動作プログラムに従ってビデオカメラ１００の各部を制御する。ファイル管理部１０９は、動画や音声の記録動作に伴い、記録媒体１１６に対して記録する動画ファイルを管理する。ファイルシステム１１０は、所定のファイルシステムに従って記録媒体１１６に記録される各種のデータやファイルを管理する。なお、本実施形態では、ファイルシステムとしてＦＡＴ(File Allocation Table)３２ファイルシステムを用いる。
【００１４】
多重化処理部１１１は、記録時においては、圧縮された動画データと音声データ、あるいはその他必要なデータを記録フォーマットに従って多重する。また、多重化処理部１１１は、再生時には、再生されたデータから動画、音声データとその他のデータを分離して出力する。バッファメモリ１１２は、記録時においては、多重化処理部１１１からのデータを一時記憶し、記録媒体インターフェイス（ＩＦ）１１３に出力する。
【００１５】
また、バッファメモリ１１２は、再生時には、再生されたデータを一時記憶し、多重化処理部１１１に出力する。記録媒体ＩＦ１１３は、バッファメモリ１１２からデータを読み出して記録媒体１１６に記録し、また、記録媒体１１６からデータを読み出してバッファメモリ１１２に出力する。記録媒体１１６はフラッシュメモリを有するメモリカードである。記録媒体１１６は、不図示の装着、排出機構により、ビデオカメラ１００に対して容易に装着、排出することができる。バス１１４、１１５はそれぞれ、各部の間でデータやコマンドを送受信する。
【００１６】
なお、空き領域管理部１０５、ファイル管理部１０９、ファイルシステム１１０の機能は、ＣＰＵ１０８の機能に含めることができる。また、記録媒体１１６をビデオカメラ１００に内蔵する構成とすることも可能である。また、メモリ１０３とバッファメモリ１１２を一つのメモリチップで構成することも可能である。
【００１７】
次に、ビデオカメラ１００の撮影動作について説明する。操作部１０６により電源が投入されると、撮像部１０１はＣＰＵ１０８からの指示により被写体を撮影する。また、表示部１０７はＣＰＵ１０８からの指示により、撮像部１０１からの動画を表示し、撮影待機状態となる。また、記録媒体１１６が装着されると、ＣＰＵ１０８は記録媒体ＩＦ１１３に対して、記録媒体１１６より、ファイルシステム１１０が記録媒体１１６に記録されたデータを管理するためのファイルシステム情報を読み出すように指示する。
【００１８】
記録媒体ＩＦ１１３はファイルシステム情報を読み出してメモリ１０３に記憶する。ファイルシステム１１０は、記録媒体１１６より読み出されたファイルシステム情報に基づいて、記録媒体１１６の空きクラスタの状態を検出し、空き領域管理部１０５に知らせる。空き領域管理部１０５は、記録媒体１１６の空きクラスタの状態に基づいて、後述の様に記録媒体１１６の各ＡＵ（Allocation unit）に対する空きクラスタ率を算出する。
【００１９】
撮影待機状態で 操作部１０６より撮影開始の指示があると、ＣＰＵ１０８は各部を制御して、動画と音声の記録を開始する。撮像部１０１と音声入力部１０２はそれぞれ、動画データと音声データを出力し、メモリ１０３に記憶する。符号化処理部１０４は、メモリ１０３に記憶された動画データと音声データを符号化し、メモリ１０３に再度記憶する。
【００２０】
多重化処理部１１１は、メモリ１０３から符号化された動画データと音声データを読み出して、各種の情報と共に多重してバッファメモリ１１２に記憶する。ファイル管理部１０９は、記録開始の指示があると、ファイルシステム１１０に対して、新たに動画ファイルをオープンする様に指示する。
【００２１】
ファイルシステム１１０は、記録媒体ＩＦ１１３に対し、新たな動画ファイルを生成し、空き領域管理部１０５により後述の様に指定されたクラスタにデータを格納して記録するように指示する。記録媒体ＩＦ１１３は、バッファメモリ１１２に対して記憶されたデータが閾値に達すると、バッファメモリ１１２からデータを読み出し、記録媒体１１６に書き込む。また、記録媒体ＩＦ１１３は、バッファメモリ１１２に記憶されたデータが所定値よりも少なくなると、記録媒体１１６に対するデータの書き込みを一時停止する。後述の様に、記録媒体１１６に対して書き込み可能なデータレートは、記録データのデータレートよりも大きい。そのため、記録媒体ＩＦ１１３は、記録媒体１１６に対して間欠的にデータを書き込む。
【００２２】
そして、操作部１０６より撮影停止の指示があるか、あるいは、記録媒体１１６の空き領域が無くなるまで、データの記録を続ける。操作部１０６より記録停止の指示があると、ＣＰＵ１０８は、各部に対して記録停止を指示する。この、記録停止に伴う処理については後述する。
【００２３】
次に、ファイルシステム１１０による記録媒体１１６の制御について説明する。ＦＡＴファイルシステムでは、所定サイズのクラスタという単位でデータを書き込む。また、図２に示す様に、１以上の所定数のクラスタからなるＡＵという単位を定義し、このＡＵを単位としてデータを消去する。一方、記録媒体１１６では、前述の様に、ページ単位でデータを書き込み、ブロック単位でデータを消去する。ファイルシステム１１０は、初期化時に、ＡＵサイズとクラスタサイズを設定する。本実施形態では、ＡＵサイズをブロックのｎ倍（ｎは自然数）となるように設定する。
【００２４】
また、本実施形態では、空き領域管理部１０５が、各ＡＵにおいてデータ書き込み済み（使用済み）のクラスタ数の情報に基づいて、各ＡＵの断片化率を算出する。そして、空きクラスタ率（断片化率）に応じて各ＡＵに対して書き込み可能なデータレートの上限を設定し、それぞれ所定のサイズを有する複数の管理単位に分割する領域分割を行う。例えば、図３に示す様に、空きクラスタの割合が１００パーセントのＡＵに対するデータレートの上限を６メガバイト（ＭＢ）／秒とする。以下、空きクラスタ率が７５パーセントのＡＵは４ＭＢ／秒、空きクラスタ率５０パーセントのＡＵは２ＭＢ／秒、空きクラスタ率２５パーセントのＡＵは１ＭＢ／秒とする。
【００２５】
そして、空き領域管理部１０５は、算出した各ＡＵの上限のレートと記録媒体１１６の記録領域に記録するデータのデータレートとに基づいて、それぞれ所定のサイズを有する複数の管理単位に分類する領域分類を行い、各ＡＵを三つの領域に分類する。図４は、各領域を示している。図４において、領域ＡのＡＵは、記録データのデータレートよりもデータレートの上限が高いＡＵである。すなわち、空き領域のサイズが所定量以上の管理単位である。領域ＢのＡＵは、空きクラスタが１以上残っており、且つ、記録データのデータレートよりもデータレートの上限が低いＡＵである。領域Ｃは全てのクラスタに対してデータを書き込み済みで、空きクラスタ数が０のＡＵである。
【００２６】
空き領域管理部１０５は、動画の撮影中、記録データのデータレートよりもデータレートの上限が高いＡＵ、即ち、領域Ａに分類されたＡＵを順次指定する。このとき指定する順序はどのような順序でもかまわないが、本実施形態では、領域ＡのＡＵのうち、上限レートが低いＡＵ、即ち断片化率が大きいＡＵから順に指定する。
【００２７】
ファイルシステム１１０は、空き領域管理部１０５により指定されたＡＵの空きクラスタを指定し、データを書き込むように指示する。また、空き領域管理部１０５は、記録データのデータレートよりもデータレートの上限が高いＡＵが無くなると、その旨をＣＰＵ１０８に知らせ、ＣＰＵ１０８により、記録を停止する。
【００２８】
このように、各ＡＵの断片化率に応じた書き込み上限レートに基づいて、記録データを書き込むＡＵを指定することで、撮影中にバッファメモリ１１２がオーバーフローするのを防ぐことができる。
【００２９】
次に、記録停止時の処理について説明する。図５は、記録停止時におけるビデオカメラ１００の処理を示すフローチャートである。図５の処理は、ＣＰＵ１０８が各部を制御することにより実行される。
【００３０】
前述の様に、動画ファイルの記録中に 操作部１０６より記録停止の指示があると、ＣＰＵ１０８は、空き領域管理部１０５、ファイル管理部１０９、ファイルシステム１１０に対して、撮影停止の指示を知らせる。空き領域管理部１０５は、撮影停止の指示に応じて、その時点でバッファメモリ１１２に記憶されている、未記録のデータのサイズＤを検出する。また、空き領域管理部１０５は、現在データを書き込み中のＡＵにおける空き領域のサイズＳを検出する（Ｓ５０１）。そして、空き領域管理部１０５は、未記録データのサイズＤと書き込み中ＡＵの空き領域サイズＳを比較し、サイズＤがサイズＳよりも大きいか否かを判別する（Ｓ５０２）。
【００３１】
判別の結果、サイズＤの方がサイズＳよりも小さい場合、空き領域管理部１０５は、現在書き込み中のＡＵにそのまま未記録データを記録するように、ファイルシステム１１０に知らせる（Ｓ５１２）。
【００３２】
図６（ａ）は、サイズＳの方がサイズＤよりも大きい場合の様子を示す図である。図６（ａ）において、６０６がＡＵのサイズで、６０１が記録停止の指示があったときに書き込み中のＡＵに書き込み済みのデータ、６０２は記録停止の指示があった時点でバッファメモリ１１２に記憶されていた未記録データである。また、６０３が記録停止の指示があったときの書き込み位置である。
【００３３】
また、６０４が未記録データのサイズＤで、６０５が書き込み中のＡＵにおける空き領域のサイズＳである。図６（ａ）では、サイズＤよりもサイズＳの方が大きいので、現在書き込み中のＡＵにそのまま未記録データを記録する。
【００３４】
また、Ｓ５０２の判別において、サイズＳがサイズＤ以下の場合、空き領域管理部１０５は、現在書き込み中のＡＵの終端までそのまま未記録データを記録するように、ファイルシステム１１０に知らせる（Ｓ５０３）。そして、空き領域管理部１０５は、現在書き込み中のＡＵの終端まで未記録データを書き込んでいる間に、操作部１０６からの指示により、ＣＰＵ１０８から記録開始の指示を受けたか否かを判別する（Ｓ５０４）。
【００３５】
現在書き込み中のＡＵの終端まで未記録データを書き込んでいる間に記録開始の指示があった場合、空き領域管理部１０５は、現在書き込み中のＡＵの終端まで未記録データを書き込まれるのを待つ（Ｓ５１３）。そして、空き領域管理部１０５は、領域ＡのＡＵのうちの一つを選択し（Ｓ５１４）、選択したＡＵをファイルシステム１１０に知らせる（Ｓ５１５）。
【００３６】
領域ＢのＡＵに未記録データを記録すると書き込み速度が低下するため、バッファメモリ１１２の未記録データの書き込みが完了するまでに、次の記録開始指示による符号化データがバッファメモリ１１２に記憶され、溢れる恐れがある。そこで、書き込み中のＡＵに対して未記録データを記録している間に次の記録開始の指示があった場合には、領域ＡのＡＵを指定して残りの未記録データを記録することで、未記録データの書き込みを迅速に完了することができる。そのため、次の記録指示による動画、音声データを記憶するために、バッファメモリ１１２を空けておくことが可能となる。
【００３７】
また、記録開始の指示を受けずにＡＵ終端まで未記録データの書き込みが完了した場合（Ｓ５０５）、空き領域管理部１０５は、Ｓ５０６に進む。そして、空き領域管理部１０５は、領域Ｂの各ＡＵにおける空き領域のサイズ（空きクラスタ数）と、バッファメモリ１１２に残っている未記録データのサイズとに基づいて、未記録データを記録するために必要なＡＵの数Ｎを検出する（Ｓ５０６）。なお、ここでは、領域ＢのＡＵのうち、断片化率が小さいＡＵから順に指定し、指定されたＡＵの合計の空き領域サイズと未記録データのサイズを比較することで、未記録データを記録するために必要なＡＵの数Ｎを検出する。
【００３８】
次に、空き領域管理部１０５は、検出したＡＵの数Ｎと所定の閾値とを比較し、ＡＵの数Ｎが閾値よりも大きいか否かを判別する（Ｓ５０７）。なお、閾値は１以上の任意の整数を設定するものとする。Ｓ５０７の判別で、ＡＵの数Ｎが閾値以下の場合、空き領域管理部１０５は、Ｓ５０６で指定した領域ＢのＡＵのうちの一つを選択し（Ｓ５０８）、選択したＡＵをファイルシステム１１０に指示する（Ｓ５０９）。ファイルシステム１１０は、指定されたＡＵの空きクラスタに対してデータを記録するよう記録媒体ＩＦ１１３に指示する。
【００３９】
そして、ファイルシステム１１０は、全ての未記録データの記録が完了したか否かを判別し（Ｓ５１０）、全ての未記録データの記録が完了するとその旨をＣＰＵ１０８に知らせて処理を終了する。また、全ての未記録データの記録が完了していない場合、現在のＡＵへの書き込みが完了した旨を空き領域管理部１０５に知らせる。空き領域管理部１０５は、領域ＢのＡＵから次のＡＵを選択し、ファイルシステム１１０に知らせる（Ｓ５１１）。
【００４０】
一方、Ｓ５０７の判別で、ＡＵの数Ｎが閾値よりも大きい場合、領域ＡのＡＵを選択し（Ｓ５１４）、選択したＡＵをファイルシステム１１０に知らせる（Ｓ５１５）。ＡＵの数Ｎが閾値よりも大きい場合、未記録データを記録するために長い時間を要するものと考えられる。そして、未記録データの書き込み中に次の記録開始指示があると、新たに符号化データがバッファメモリ１１２に記憶され、溢れる恐れがある。
【００４１】
そこで、未記録データを書き込むのに必要なＡＵの数が閾値よりも大きい場合には、領域ＡのＡＵを指定して残りの未記録データを記録することで、未記録データの書き込みを迅速に完了することができるようになる。そのため、次の記録指示による動画、音声データを記憶するために、バッファメモリ１１２を迅速に空けておくことが可能となる。
【００４２】
図６（ｂ）は、サイズＤの方がサイズＳよりも大きい場合の様子を示す図である。図６（ｂ）において、６０７が記録停止の指示があったときの書き込み位置で、６０８が書き込み中のＡＵにおける空き領域のサイズＳである。図６（ｂ）では、サイズＳよりもサイズＤの方が大きいので、未記録データ６０２のうちサイズ６０８分のデータを書き込み中のＡＵの終端まで書き込む。そして、残りの未記録サイズ６０９については、前述の様に指定された領域ＢのＡＵ、或いは、領域ＡのＡＵに記録される。
【００４３】
このように記録が完了すると、ファイル管理部１０９は記録中の動画ファイルをクローズするようにファイルシステム１１０に指示する。ファイルシステム１１０は、記録中の動画ファイルをクローズし、メモリ１０３に記憶されたファイルシステム情報を更新する。そして、ファイルシステム１１０は、記録媒体１１６に記録されたファイルシステム情報を、メモリ１０３に記憶されたファイルシステム情報により更新する。
【００４４】
次に、ビデオカメラ１００における再生時の処理について説明する。
ユーザが操作部１０６を操作して、再生モードの切り替えを指示すると、ＣＰＵ１０８は各部を制御して再生モードに切り替える。そして、ＣＰＵ１０８は、ファイルシステム１１０に対し、記録媒体１１６に記録された動画ファイルのうち、ユーザによって指定された動画ファイルを再生するように指示する。
【００４５】
ファイルシステム１１０は、記録媒体ＩＦ１１３に対して指定された動画ファイルを読み出すように指示する。記録媒体ＩＦ１１３は、指定された動画ファイルを記録媒体１１６から読み出し、バッファメモリ１１２に記憶する。多重化処理部１１１は、バッファメモリ１１２に記憶されたデータから動画データと音声データを取り出し、符号化処理部１０４に出力する。
【００４６】
符号化処理部１０４は、再生された動画データと音声データを復号し、メモリ１０３に記憶する。表示部１０７はメモリに１０３に記憶された動画データを表示する。また、メモリ１０３に記憶された音声データは、不図示のスピーカにより出力される。
【００４７】
このように、本実施形態では、記録停止時においてバッファメモリ１１２に記憶されている未記録データを記録する場合に、一部のクラスタが記録済みのＡＵを選択して未記録データを記録する。そのため、一部のクラスタが記録済みのＡＵにおける空きクラスタを有効に用いて動画や音声などのリアルタイムデータを記録することができる。
【００４８】
また、記録停止の指示の後、未記録データの記録が完了するまでに、再度記録開始の指示を受けた場合には、記録済みのクラスタを含んでいないＡＵを選択して未記録データを記録する。そのため、未記録データの書き込みを迅速に完了することができる。従って、バッファメモリ１１２内に、次の記録開始の指示により符号化された動画、音声データを記憶するための空きを作ることができる。
【００４９】
また、未記録データの書き込みに必要なＡＵの数が閾値よりも多い場合には、記録済みのクラスタを含んでいないＡＵを選択して未記録データを記録する。そのため、未記録データの書き込みを迅速に完了することができる。従って、バッファメモリ１１２内に、次の記録開始の指示により符号化された動画、音声データを記憶するための空きを迅速に作ることができる。
【００５０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５１】
１００  ビデオカメラ、１０１  撮像部、１０２  音声入力部、１０３  メモリ、１０４  符号化処理部、１０５  空き領域管理部、１０６  操作部、１０７  表示部、１０８  ＣＰＵ、１０９  ファイル管理部、１１０  ファイルシステム、１１１  多重化処理部、１１２  バッファメモリ、１１３  記録媒体ＩＦ、１１４、１１５  バス、１１６  記録媒体
【図１】
0005693277.tif 000002
【図２】
0005693277.tif 000003
【図３】
0005693277.tif 000004
【図４】
0005693277.tif 000005
【図５】
0005693277.tif 000006
【図６】
0005693277.tif 000007