(57)【要約】【課題】動画の記録中に管理情報の更新処理を行う場合にも、記録を続行できるようにする。【解決手段】所定時間分の前記動画データと、前記所定時間分の動画データのファイル先頭からのオフセット情報を含む管理情報とを交互に多重してストリームデータを生成し、前記ストリームデータを含む動画ファイルを記録媒体に記録する記録手段を備え、動画ファイルの記録中に、ファイルをクローズして、新たな動画ファイルを生成して前記ストリームデータの記録を続ける場合に、前記記録中の動画ファイルにおける全ての前記管理情報の更新が完了する前に、前記記憶手段に記憶された、前記動画データのデータ量が閾値に達した場合、前記管理情報の更新を中止し、新たな動画ファイルを生成して前記ストリームデータの記録を続ける。【選択図】図１
2016009960.tif 000002
【特許請求の範囲】
【請求項１】
動画データを入力する入力手段と、
前記動画データを記憶する記憶手段と、
前記記憶手段から読み出した、所定時間分の前記動画データと、前記所定時間分の動画データのファイル先頭からのオフセット情報を含む管理情報とを交互に多重してストリームデータを生成し、前記ストリームデータを含む動画ファイルを記録媒体に記録する記録手段と、
前記動画ファイルの記録中に、前記動画ファイルのサイズが所定のサイズに達したことに応じて、前記記録媒体に記録されている、記録中の動画ファイルに含まれる前記ストリームデータ中の、複数の前記管理情報をそれぞれ更新し、全ての前記管理情報の更新が完了した場合に、新たな動画ファイルを生成して前記ストリームデータの記録を続けるように前記記録手段を制御する制御手段とを備え、
前記制御手段は、前記記録中の動画ファイルにおける全ての前記管理情報の更新が完了する前に、前記記憶手段に記憶された、前記動画データのデータ量が閾値に達した場合、前記管理情報の更新を中止し、新たな動画ファイルを生成して前記ストリームデータの記録を続けるように前記記録手段を制御することを特徴とする記録装置。
【請求項２】
前記制御手段は、前記記録中の動画ファイルにおける管理情報の更新処理を中止した場合、前記ストリームデータの記録を終了した後に、中止された前記管理情報の更新処理を行うことを特徴とする請求項１に記載の記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置に関する。
【背景技術】
【０００２】
近年、特に業務用途において、ディジタルビデオデータの記録フォーマットとして、ＭＸＦ（Ｍａｔｅｒｉａｌ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）が用いられる。
【０００３】
また、ファイルシステムを用い、ＭＸＦファイルを記録媒体に記録する場合、ファルサイズの制限が存在する。例えば、ＦＡＴでは最大４Ｇｂｙｔｅのファイルまでしか作成出来ない。したがって、長時間の記録によって映像データが４Ｇｂｙｔｅを越える場合には、前記ファイルサイズの制限のためファイルを分割して記録を行っている。特許文献１は、ユーザー指示により、ファイルを分割する提案である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３２８１５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
フラッシュメモリは、一般に連続したアドレスへの連続記録は高速であるが、ランダムなアドレスへの記録は低速になる傾向にある。ＭＸＦでは、動画データと管理情報とが交互に多重されている。この管理情報は、例えば、各動画データのファイル先頭からのオフセット情報を含む。そのため、動画の記録中に管理情報を記録することができず、例えば、記録中にファイル分割処理を行う場合に、各管理情報の更新処理が行われる。
【０００６】
しかし、このような管理情報の更新処理を行う場合、記録媒体に対してはランダムアクセスとなる。記録媒体のランダムアクセス性能が予想を下回ると、管理情報の更新処理が間に合わず、記録が停止してしまうおそれがある。
【０００７】
本発明は、動画の記録中に管理情報の更新処理を行う場合にも、記録を続行できる装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る記録装置の構成は、動画データを入力する入力手段と、前記動画データを記憶する記憶手段と、前記記憶手段から読み出した、所定時間分の前記動画データと、前記所定時間分の動画データのファイル先頭からのオフセット情報を含む管理情報とを交互に多重してストリームデータを生成し、前記ストリームデータを含む動画ファイルを記録媒体に記録する記録手段と、前記動画ファイルの記録中に、前記動画ファイルのサイズが所定のサイズに達したことに応じて、前記記録媒体に記録されている、記録中の動画ファイルに含まれる前記ストリームデータ中の、複数の前記管理情報をそれぞれ更新し、全ての前記管理情報の更新が完了した場合に、新たな動画ファイルを生成して前記ストリームデータの記録を続けるように前記記録手段を制御する制御手段とを備え、前記制御手段は、前記記録中の動画ファイルにおける全ての前記管理情報の更新が完了する前に、前記記憶手段に記憶された、前記動画データのデータ量が閾値に達した場合、前記管理情報の更新を中止し、新たな動画ファイルを生成して前記ストリームデータの記録を続けるように前記記録手段を制御することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、動画の記録中に管理情報の更新処理を行う場合にも、記録を続行できる。
【図面の簡単な説明】
【００１０】
【図１】記録装置の構成を示す図である。
【図２】信号処理部の構成を示す図である。
【図３】記録媒体に記録されるデータを示す図である。
【図４】記録処理を示すフローチャートである。
【図５】ファイルクローズ処理を中止した場合のバッファ量を示す図である。
【図６】ＭＸＦファイルの構成を示す図である。
【図７】ファイル分割時のファイルを示す図である。
【図８】ファイル分割時のバッファ量を示す図である。
【図９】ファイル分割を中止した際のバッファ量を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態を図面に基づいて説明する。
【実施例１】
【００１２】
図６に、ＭＸＦ（Ｍａｔｅｒｉａｌ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）データフォーマットのＭＰＥＧ（Ｍｏｖｉｅ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）ストリームに対するマッピング構造の一例を示し説明する。
【００１３】
図６に示すＭＰＥＧストリームに対するマッピング構造は、非特許文献１に規定されるものであり、以下、非特許文献１などのＭＸＦ規定に準じ、ビデオデータとオーディオデータとがフレームインターリーブされた構造をもつファイルを、インターリーブＭＸＦと呼ぶ。
【００１４】
インターリーブＭＸＦファイルは、図６に示すように、全体的にはＦｉｌｅ  Ｈｅａｄｅｒと、Ｆｉｌｅ  Ｂｏｄｙと、Ｆｉｌｅ  Ｆｏｏｔｅｒとからなる。図６は、Ｆｉｌｅ  Ｂｏｄｙに３個のＰａｒｔｉｔｉｏｎがあり、１つのＰａｒｔｉｔｉｏｎが１０秒分のデータである例である。Ｆｉｌｅ  Ｈｅａｄｅｒは、さらにＨｅａｄｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ（ＨＰＰ）とＨｅａｄｅｒ  Ｍｅｔａｄａｔａとからなる。ＨＰＰには、Ｈｅａｄｅｒ（ヘッダ）を特定するためのデータや、Ｆｉｌｅ  Ｂｏｄｙに配置されるデータの形式の情報、及びファイルフォーマットを示す情報が格納されている。さらに、Ｆｏｏｔｅｒ（フッター）のアドレスを示す後述するＦｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ（ＦＰＰ）の格納開始オフセットの情報などが格納されている。また、Ｈｅａｄｅｒ  Ｍｅｔａｄａｔａには、ファイルの作成日時などファイル単位のメタデータが格納されている。
【００１５】
Ｆｉｌｅ  Ｂｏｄｙは、さらにＢｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ（ＢＰＰ）と、Ｅｄｉｔ  Ｕｎｉｔ（ＥＵ）と、ＩｎｄｅｘＴａｂｌｅとからなる。ＢＰＰには、Ｂｏｄｙを特定するためのデータや、直前に配置されるＰａｒｔｉｔｉｏｎ  Ｐａｃｋ（ＨＰＰ又はＢＰＰ）の情報、ＢＰＰ及びＦＰＰの格納開始オフセットの情報などが格納されている。ＢＰＰ以外の領域には、０または１つのＩｎｄｅｘ  Ｔａｂｌｅと、１又は複数のＥＵとが配置されている。
【００１６】
ＥＵには、１フレーム分のデータを格納しており、Ｓｙｓｔｅｍ  Ｉｔｅｍ、Ｐｉｃｔｕｒｅ  Ｉｔｅｍ、Ｓｏｕｎｄ  Ｉｔｅｍから構成され、Ｉｎｄｅｘ  Ｔａｂｌｅには、ＢＰＰで区切られる１つ前の領域内に含まれるＥＵの情報が格納されている。Ｆｉｌｅ  Ｆｏｏｔｅｒは、さらに、Ｆｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ（ＦＰＰ）と、Ｉｎｄｅｘ  Ｔａｂｌｅと、Ｒａｎｄｏｍ  Ｉｎｄｅｘ  Ｐａｃｋ（ＲＩＰ）とからなる。
【００１７】
ＦＰＰには、Ｆｏｏｔｅｒを特定するためのデータや、直前に配置されるＢＰＰの情報、ＦＰＰの格納開始オフセットの情報などが格納されている。ＲＩＰには、まず所定のヘッダから格納されており、次に、各Ｐａｒｔｉｔｉｏｎ  ＰａｃｋのインターリーブＭＸＦファイルにおける格納開始オフセットが格納されている。そして、終端には、ＲＩＰ自身のデータサイズの情報が格納されている。
【００１８】
また、インターリーブＭＸＦファイルを構成する各要素（Ｐａｒｔｉｔｉｏｎ  ＰａｃｋやＩｎｄｅｘ  Ｔａｂｌｅ等）の直後には、境界調整用のＦｉｌｌ  ｉｔｅｍ（ＮＵＬＬデータ）が配置されている。説明を簡略化するため、ＮＵＬＬデータについては図示せず説明を省略する。
【００１９】
ＢＰＰで区切られる領域毎におけるＥＵの集合体は、Ｅｓｓｅｎｃｅ  Ｃｏｎｔａｉｎｅｒと呼ばれる。すなわち、Ｅｓｓｅｎｃｅ  Ｃｏｎｔａｉｎｅｒは、このインターリーブＭＸＦファイルに基づいて実際に再生されるビデオデータ及びオーディオデータに対応している。
【００２０】
ＭＸＦファイルを記録する場合は、ファイルを閉じる時に、前記ＨＰＰ内に前記ＦＰＰの格納開始オフセットの情報を格納し、前記ＢＰＰ内にも前記ＦＰＰの格納開始オフセットの情報を格納する必要がある。これは、ファイルの最後に位置するＦＰＰがファイルを閉じる直前に作成され、ファイルを閉じる時までＦＰＰの格納開始オフセット値が決定されないからである。
【００２１】
ＭＸＦデータフォーマットは、ファイルを閉じる時、前記、Ｈｅａｄｅｒ及び、Ｂｏｄｙ内にＦｏｏｔｅｒの格納開始オフセットの情報を格納する必要がある。これは、ファイルの最後に位置するＦｏｏｔｅｒが、ファイルを閉じる直前に作成され、ファイルを閉じる時までＦｏｏｔｅｒの格納開始オフセット値が決定されないからである。
【００２２】
よって、ファイルを分割する際、それまで記録してきたストリームファイルに対し、Ｈｅａｄｅｒ及び、Ｂｏｄｙに対し、上書き処理が必要となる。
【００２３】
記録中のファイル分割について、図７及び、図８を使い説明する。尚、ここでは、一つのファイルの容量を２Ｇｂｙｔｅとして説明する。
【００２４】
図７に示すように、第１ファイルが２Ｇｂｙｔｅになった時、第１ファイルのクローズ処理、つまり、前記、Ｆｏｏｔｅｒの格納開始オフセット値を、前記ＨＰＰ及び、各ＢＰＰに上書きする処理を行う。このクローズ処理をしている間は、映像データの記録が行えなくなるため、映像バッファに蓄積し、第１ファイルのクローズ処理が終了し次第、第２ファイルをオープンし、映像の記録を再開する事となる。
【００２５】
図８は、ＭＸＦデータフォーマットを用いた動画像データを、間欠記録した時のバッファ蓄積量を示すものである。
【００２６】
図８に示すように、記録中は、第１閾値まで映像データが蓄積されたところで、蓄積動作と同時に、記録媒体への書き込みを開始する。図８の１は蓄積のみを行っており、２は蓄積と同時に記録媒体への書き込みを行っている。図に示すように、第１ファイルのクローズ処理が始まると、クローズ処理中は、蓄積される映像データの書き込みが出来なくなるため、バッファの蓄積量が通常記録時よりも上がる事となる。
【００２７】
ファイル分割時のファイルクローズ処理に予想を越えた時間がかかる事となり、結果、間欠記録を行うための映像バッファの蓄積量を上回り、記録エラーとなり、ユーザが予期しないタイミングで、記録が停止する事となる。
【００２８】
９にクローズ処理に予想よりも時間がかかった場合について示す。図９に示すように、ファイルクローズに時間がかかり、映像データの蓄積量が、第２閾値を超えた場合、バッファフル（バッファオーバー）と判定し、記録を中止し、クローズ処理が終了し次第、現在、バッファに蓄積されているデータまでを、記録媒体へ記録し、記録動作を終了する。
【００２９】
図１は、本実施形態に係る記録装置１００の構成例を示すブロック図である。図１において、符号１０１は入力部であり、動画像信号や音声信号を取得して出力する。本実施形態では、入力部１０１は記録装置１００の外部から供給された動画像信号や音声信号を入力するが、入力部１０１を撮像部やマイクロフォンを含む構成とし、撮影された動画像やマイクにより音声信号を取得する構成としてもよい。
【００３０】
符号１０２は制御部であり、ユーザインターフェース１０３からの入力に応じて記録装置１００の動作全体を制御する。制御部１０２はマイクロコンピュータやメモリ等を含み、メモリに記憶されたプログラムに従って記録装置１００を制御する。また、制御部１０２は、記録媒体制御部１０６との間でデータやコマンドを通信するための記録媒体インターフェイスを内蔵している。
【００３１】
符号１０３はユーザインターフェースであり、ユーザにより操作可能な各種のスイッチを含む。そして、ユーザインターフェース１０３は、ユーザによる各種の指示などを受理して制御部１０２へ通知する。ユーザインターフェース１０３は、電源スイッチや記録の開始、停止を指示するためのスイッチ、記録装置１００のモードを切り替えるためのスイッチ等を含む。
【００３２】
符号１０４は信号処理部であり、入力部１０１により入力された動画像信号や音声信号を符号化し、インターリーブＭＸＦファイル形式に生成する。また、信号処理部１０４は、符号化された動画信号や音声信号の符号量（データ量）の情報を制御部１０２に出力する。
【００３３】
符号１０５はメモリであり、動画像信号や音声信号を記憶する。記録装置１００の各ブロックは、メモリ１０５に対してアクセスすることにより、必要な動画像信号や音声信号を処理する。また、メモリ１０５は、動画像信号や音声信号の他に、ファイルシステムの情報や、管理情報など、各種の情報を記憶し、更に、制御部１０２による制御のためのワークメモリ等の役割を果たす。
【００３４】
符号１０６は記録媒体制御部であり、記録媒体１０７に対し、動画信号や音声信号、或いは、各種の情報を記録する。また、記録媒体制御部１０６は、記録媒体１０７に記録する動画、音声データや、各種の情報を、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）等のファイルシステムに従い、ファイルとして管理する。また、記録媒体制御部１０６は、ＡＴＡ等の公知のインターフェイス（ＩＦ）を有し、制御部１０２における記録媒体ＩＦとの間でデータや各種のコマンドを通信する。
【００３５】
符号１０７は記録媒体であり、本実施形態では、フラッシュメモリカードであり、ランダムアクセスの可能な記録媒体である。また、記録媒体１０７は、不図示の記録媒体装着、排出機構により、記録装置１００に対して容易に装着、排出することができるように構成されている。
【００３６】
制御部１０２は記録媒体１０７へファイルの入出力を行う場合、記録媒体１０７のファイルシステムを一旦メモリ１０５へ読み出し、それに従ってファイルの入出力を行う。出力を行った場合は、メモリ１０５上のファイルシステムを更新したのち記録媒体１０７へ反映して、記録媒体１０７上のファイル実態の更新を行う。
【００３７】
符号１０８は表示部であり、動画像や各種の情報を液晶パネル等の表示装置に表示する。符号１０９はデータバスであり、記録装置１００の各部の間でデータや各種の制御コマンドなどを送受信するために用いられる。
【００３８】
次に図２を用いて、前記信号処理部１０４について説明する。符号１０４０はＭＰＥＧ２符号化部であり、入力されたディジタル映像をＭＰＥＧ２形式に符号化してＰｉｃｔｕｒｅ  Ｉｔｅｍ生成部１０４２へ出力する。符号１０４１はＳｙｓｔｅｍ  Ｉｔｅｍ生成部で、インターリーブＭＸＦファイルの各Ｅｄｉｔ  Ｕｎｉｔ先頭に付随するＳｙｓｔｅｍ  Ｉｔｅｍを生成し、Ｅｄｉｔ  Ｕｎｉｔ生成部１０４４へ出力する。符号１０４２はＰｉｃｔｕｒｅ  Ｉｔｅｍ生成部であり、ＭＰＥＧ２符号化部１０４０から入力されたＭＰＥＧ２のフレームデータに所定のヘッダを付加してＰｉｃｔｕｒｅ  Ｉｔｅｍ化し、Ｅｄｉｔ  Ｕｎｉｔ生成部１０４４へ出力する。
【００３９】
符号１０４３はＳｏｕｎｄ  Ｉｔｅｍ生成部であって、入力されたディジタル音声データをフレーム単位で分割し、所定のヘッダを付加してＥｄｉｔ  Ｕｎｉｔ生成部１０４４へ出力する。符号１０４４はＥｄｉｔ  Ｕｎｉｔ生成部であり、Ｓｙｓｔｅｍ  Ｉｔｅｍ生成部１０４１、Ｐｉｃｔｕｒｅ  Ｉｔｅｍ生成部１０４２、Ｓｏｕｎｄ  Ｉｔｅｍ生成部１０４３から入力される各Ｉｔｅｍを結合してＥｄｉｔ  Ｕｎｉｔを生成して、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６へ出力する。またＥｄｉｔ  Ｕｎｉｔ生成部は、生成したＥｄｉｔ  Ｕｎｉｔの全体サイズと、各ＳｌｉｃｅのサイズをＩｎｄｅｘ  Ｔａｂｌｅ生成部１０４５に渡す。
【００４０】
符号１０４５はＩｎｄｅｘ  Ｔａｂｌｅ生成部で、Ｅｄｉｔ  Ｕｎｉｔ生成部１０４４から受け取ったＥｄｉｔ  Ｉｎｉｔ全体サイズ及び、各ＳｌｉｃｅサイズからＩｎｄｅｘ  Ｅｎｔｒｙ  Ａｒｒａｙ、Ｄｅｌｔａ  Ｅｎｔｒｙ  Ａｒｒａｙを生成してＩｎｄｅｘ  ＴａｂｌｅとしＦｉｌｅ  Ｂｏｄｙ生成部１０４６及び、Ｆｉｌｅ  Ｆｏｏｔｅｒ生成部１０４９へ出力する。なお、Ｉｎｄｅｘ  Ｔａｂｌｅ生成部１０４５が生成するＩｎｄｅｘ  Ｔａｂｌｅは、固定サイズであるとし、Ｅｄｉｔ  Ｕｎｉｔが所定数に足りない場合でもＦｉｌｌ  ｉｔｅｍを詰めることで固定サイズ化するものである。
【００４１】
符号１０４６はＦｉｌｅ  Ｂｏｄｙ生成部であり、Ｅｄｉｔ  Ｕｎｉｔ生成部１０４４から入力されるＥｄｉｔ  Ｕｎｉｔをメモリ１０５へ出力する。また、Ｆｉｌｅ  Ｂｏｄｙ生成部は、Ｅｄｉｔ  Ｕｎｉｔを所定数、メモリ１０５へ出力する毎に、Ｆｉｌｅ  Ｈｅａｄｅｒ生成部１０４８から入力されるＦｉｌｅ  Ｈｅａｄｅｒサイズを用いてＢｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋを生成し、Ｉｎｄｅｘ  Ｔａｂｌｅ生成部１０４５から入力されるＩｎｄｅｘ  Ｔａｂｌｅを連結して、メモリ１０５へ出力する。また、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６は、Ｂｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋを出力するまでにメモリ１０５へ出力したＥｄｉｔ  Ｕｎｉｔのデータサイズをカウントし、Ｆｉｌｅ  Ｈｅａｄｅｒサイズを加えたものをＲＩＰ生成部１０４７へ出力する。
【００４２】
符号１０４７はＲＩＰ生成部で、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６から取得したＢｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋの挿入位置を元に、ＲＩＰを生成してＦｉｌｅ  Ｆｏｏｔｅｒ生成部１０４９へ出力する。符号１０４８はＦｉｌｅ  Ｈｅａｄｅｒ生成部で、Ｆｉｌｅ  Ｈｅａｄｅｒを生成してメモリ１０５へ出力するとともに、生成したＦｉｌｅ  Ｈｅａｄｅｒのサイズを、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６及びＦｉｌｅ  Ｆｏｏｔｅｒ生成部１０４９へ出力する。符号１０４９はＦｉｌｅ  Ｆｏｏｔｅｒ生成部で、Ｆｉｌｅ  Ｈｅａｄｅｒ生成部から入力されるＦｉｌｅ  ｈｅａｄｅｒサイズと、ＲＩＰ生成部から入力されるＲＩＰを元にＦｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋを生成し、それにＩｎｄｅｘ  Ｔａｂｌｅ生成部１０４５で生成されたＩｎｄｅｘ  Ｔａｂｌｅと、ＲＩＰ生成部１０４７が生成したＲＩＰを連結して、メモリ１０５へ出力する。
【００４３】
次に、信号処理部のインターリーブＭＸＦファイルの生成を、図３を用いて説明する。信号処理部１０４は、制御部１０２から記録指示を受けると、インターリーブＭＸＦファイルの生成を開始する。
【００４４】
信号処理部１０４は、記録指示を受けると、まず、Ｆｉｌｅ  Ｈｅａｄｅｒ生成部１０４８が符号化方式に適応するＦｉｌｅ  Ｈｅａｄｅｒ（ただし、Ｆｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ格納開始オフセット値は未決定であるため０を代入）を生成してメモリ１０５へ蓄積するとともに、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６及びＦｉｌｅ  Ｆｏｏｔｅｒ生成部１０４９へ生成したＦｉｌｅ  Ｈｅａｄｅｒのサイズを通知する。
【００４５】
次に信号処理部１０４は、は、入力された非圧縮な映像信号をＭＰＥＧ２符号化部１０４０でＭＰＥＧ２に符号化し、Ｐｉｃｔｕｒｅ  Ｉｔｅｍ生成部１０４２へ渡す。
【００４６】
Ｐｉｃｔｕｒｅ  Ｉｔｅｍ生成部１０４２は、受け取ったＭＰＥＧ２のフレームデータに所定のヘッダを付与してＥｄｉｔ  Ｕｎｉｔ生成部１０４４へ出力する。同時にＳｏｕｎｄ  Ｉｔｅｍ生成部１０４３は、入力された非圧縮音声データをＭＰＥＧ２符号化部１０４０が符号化するフレーム間隔にあわせて分割し、所定のヘッダを付与して同様にＥｄｉｔ  Ｕｎｉｔ生成部１０４４へ出力する。また、Ｓｙｓｔｅｍ  Ｉｔｅｍ生成部１０４１は、ＭＰＥＧ２符号化部１０４０が符号化するフレームに間隔にあわせてＳｙｓｔｅｍ  Ｉｔｅｍを生成してＥｄｉｔ  Ｕｎｉｔ生成部１０４４に出力する。
【００４７】
Ｅｄｉｔ  Ｕｎｉｔ生成部１０４４は、Ｓｙｓｔｅｍ  Ｉｔｅｍ生成部１０４１から受け取ったＳｙｓｔｅｍ  Ｉｔｅｍ及び、Ｐｉｃｔｕｒｅ  Ｉｔｅｍ生成部１０４２から受け取ったＰｉｃｔｕｒｅ  Ｉｔｅｍ、Ｓｏｕｎｄ  Ｉｔｅｍ生成部１０４３から受け取ったＳｏｕｎｄ  Ｉｔｅｍを結合してＥｄｉｔ  Ｕｎｉｔを生成し、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６へ出力する。また、同時にＥｄｉｔ  Ｕｎｉｔ生成部１０４４は、Ｄｅｌｔａ  Ｅｎｔｒｙ  Ａｒｒａｙ，  Ｉｎｄｅｘ  Ｅｎｔｒｙ  Ａｒｒａｙの生成するための情報として生成したＥｄｉｔ  Ｕｎｉｔのサイズ及び、内包するＳｙｓｔｅｍ  Ｉｔｅｍ，  Ｐｉｃｔｕｒｅ  Ｉｔｅｍ，  Ｓｏｕｎｄ  Ｉｔｅｍのサイズと、Ｐｉｃｔｕｒｅ  Ｉｔｅｍに含まれるＭＰＥＧ２フレームデータの符号化形式（Ｉ−ｐｉｃｔｕｒｅ／Ｂ−ｐｉｃｔｕｒｅ／Ｐ−ｐｉｃｔｕｒｅ）を、Ｉｎｄｅｘ  Ｔａｂｌｅ生成部１０４５へ出力する。
【００４８】
Ｉｎｄｅｘ  Ｔａｂｌｅ生成部１０４５は、Ｅｄｉｔ  Ｕｎｉｔ生成部１０４４から受け取った情報が所定のＥｄｉｔ  Ｕｎｉｔ数分貯まる毎にＩｎｄｅｘ  Ｔａｂｌｅを生成し、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６及び、Ｆｉｌｅ  Ｆｏｏｔｅｒ生成部１０４８へ出力する。
【００４９】
Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６は、記録指示をうけると、先頭のＢｏｄｙ  Ｐａｒｔｉｔｉｏｎ（ただし、Ｆｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ格納開始オフセット値は未決定であるため０を代入）を出力し、先頭Ｂｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋをメモリ１０５へ出力したことを制御部１０２へ通知する。その後、Ｅｄｉｔ  Ｕｎｉｔ生成部１０４４から入力されたＥｄｉｔ  Ｕｎｉｔをメモリ１０５へ出力する。Ｅｄｉｔ  Ｕｎｉｔ生成部１０４４から入力され、メモリ１０５へ出力したＥｄｉｔ  Ｕｎｉｔが所定数に達する毎に、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６は、Ｆｉｌｅ  Ｈｅａｄｅｒ生成部１０４８から入力されたＦｉｌｅ  Ｈｅａｄｅｒサイズと、自身（Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６）がメモリ１０５へ出力したＥｄｉｔＵｎｉｔのデータサイズをカウントして、直前及び現在のＰａｒｔｉｔｉｏｎ  ＰａｃｋのインターリーブＭＸＦファイル上の格納開始オフセットアドレスを決定し、それらの値を使ってＢｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ（ただし、Ｆｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ格納開始オフセット値は未決定であるため０を代入）を生成する。
【００５０】
更に、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６は、生成したＢｏｄｙ  Ｐａｒｔｉｔｉｏｎ  ＰａｃｋにＩｎｄｅｘ  Ｔａｂｌｅ生成部１０４５から入力されたＩｎｄｅｘ  Ｔａｂｌｅを合わせてメモリ１０５へ出力すると共にＩｎｄｅｘ  Ｔａｂｌｅをメモリ１０５へ出力したことを制御部１０２へ通知する。また、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６は、前記説明した直前及び自身のＰａｒｔｉｔｉｏｎ  ＰａｃｋのインターリーブＭＸＦファイル上の格納開始オフセットアドレスをＲＩＰ生成部１０４７へ出力する。
【００５１】
制御部１０２は、信号処理部１０４からメモリ１０５への出力状況を取得する。記録開始直後、Ｆｉｌｅ  Ｈｅａｄｅｒと、先頭のＢｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋがメモリ１０５へ出力されたことを信号処理部１０４から通知されると、制御部１０２は記録媒体制御部１０６を駆使して前述のＦｉｌｅ  Ｈｅａｄｅｒ及び先頭のＢｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋを記録媒体１０７へ書き込む（図３Ａ）。
【００５２】
以降、制御部１０２は、メモリ１０５の状況を収得し、予め決められた容量の蓄積が行われる毎に、記録媒体１０７へ蓄積が行われた分のデータを、出力する（図３−Ｂ）。
このように、メモリ１０５の使用状況が予め決められた容量になる毎に記録媒体への出力を継続的に行うことで、記録媒体１０７上でインターリーブＭＸＦファイルのＦｉｌｅ  Ｂｏｄｙ部を形成する（図３Ｃ、図３Ｄ）。
【００５３】
次に、ファイルをクローズする処理について説明する。信号処理部１０４は、制御部１０２より、ファイルのクローズの指示を受けると、ＭＰＥＧ２符号化部１０４０、Ｓｙｓｔｅｍ  Ｉｔｅｍ生成部１０４１、Ｐｉｃｔｕｒｅ  Ｉｔｅｍ生成部１０４２、Ｓｏｕｎｄ  Ｉｔｅｍ生成部１０４３、Ｅｄｉｔ  Ｕｎｉｔ生成部１０４４、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６は、ＥｄｉｔＵｎｉｔが１ＧＯＰの終了となるところでまで、記録媒体１０７への出力を行う。（図３Ｅ）。
【００５４】
次に、Ｉｎｄｅｘ  Ｔａｂｌｅ生成部１０４５は、最後に生成したＩｎｄｅｘ  ＴａｂｌｅをＦｉｌｅ  Ｆｏｏｔｅｒ生成部１０４９へ出力する。また、ＲＩＰ生成部１０４７は、Ｆｉｌｅ  Ｂｏｄｙ生成部１０４６から受け取った情報を元にＲＩＰを生成して、Ｆｉｌｅ  Ｆｏｏｔｅｒ生成部１０４９へ出力する。
【００５５】
Ｆｉｌｅ  Ｆｏｏｔｅｒ生成部１０４９は、ＲＩＰ生成部１０４７から入力されたＲＩＰを参照して、直前に配置されるＢｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋと、Ｆｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋの格納オフセットアドレスなどを取得し、これを用いてＦｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋを生成する。
【００５６】
次に生成したＦｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ、入力された最終Ｉｎｄｅｘ  Ｔａｂｌｅ、ＲＩＰを順にメモリ１０５へ出力し、制御部１０２へ通知する。制御部１０２は、信号処理部１０４からメモリ１０５に、Ｆｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ、最終Ｉｎｄｅｘ  Ｔａｂｌｅ、ＲＩＰが出力された通知を受けると、これを記録媒体１０７へ出力する（図３Ｆ）。
【００５７】
次に制御部１０２はメモリ１０５に蓄積されたＲＩＰを用いて、記録媒体１０７から、記録媒体制御部１０６を介してＨｅａｄｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ，各  Ｂｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋを一時メモリ１０５へ読み出す。メモリ１０５上のＲＩＰを用いて、Ｆｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋの格納開始オフセットアドレスを取得し、先ほどメモリ１０５上に読み出したＨｅａｄｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ，  Ｂｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ内のＦｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋの格納開始オフセット（記録動作中に未決定であったため０を代入していた）に上書きする。その後、Ｂｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ，  Ｈｅａｄｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋの順で、メモリ１０５から記録媒体制御部１０６を介して記録媒体１０７上へ上書き出力し、記録媒体１０７上でインターリーブＭＸＦファイルを完成させる。（図３Ｇ）。
【００５８】
次に、図４を用いて本実施形態における記録動作について説明する。図４は、記録媒体１０７に対する記録処理手順の一例を示すフローチャートである。尚、図４に示す各処理は、制御部１０２の制御に基づいて行われる。Ｓ４０１において、ユーザインターフェース１０３から記録動作モードへの指示を受け記録動作を開始する。
【００５９】
Ｓ４０２で、記録動作を開始し、記録待機状態となる。この際、ファイルがオープン済みであるか、オープン未であるかを示す、ＦＯフラグを、０とし、オープン未の状態とし、ＥｒｒＦｌｇＯｆｆとし、エラーの無い状態とする。
【００６０】
Ｓ４０３は、記録開始トリガ待ち状態であり、ユーザインターフェース１０３から記録開始トリガが入力されると、Ｓ４０３に進む。Ｓ４０４で、Ｓ４０３にて記録トリガがユーザーインターフェイス１０３より入力されると、信号処理部１０４で前記説明したように、ＭＸＦファイルデータの生成を開始し、メモリ１０５にＭＸＦファイルデータを蓄積する。
【００６１】
記録が継続している間は、Ｓ４０５〜Ｓ４１６の処理が繰り返される。つまり、ＭＸＦファイルデータが、メモリ１０５へ、一定量蓄積されるたびに蓄積されたＭＸＦファイルデータを記録媒体にファイルとして記録するという処理を繰り返す。Ｓ４０５で、ユーザインターフェース１０３から記録停止指示がされたかどうか判断し、記録停止指示か無い場合は、Ｓ４０６へ進む。
【００６２】
Ｓ４０６で、ＭＸＦファイルデータのメモリ１０５への蓄積量を、バッファ量閾値Ａと比較する。バッファ閾値Ａは、記録媒体へ定期的に書き込むための閾値であり、メモリ１０５にＭＸＦファイルデータが、バッファ閾値Ａまで蓄積されると、その分のデータを、記録媒体１０７へ記録する。バッファ閾値Ａ以上の場合は、Ｓ４０７へ進み、小さい場合は、Ｓ４０５へ戻る。
【００６３】
Ｓ４０７で、ＦＯフラグを確認し、既にファイルがオープンされているかどうか確認する。ファイルをオープンしていない場合には、Ｓ４０８へ進み、既にフィルがオープン済みである場合は、Ｓ４０９へ進む。Ｓ４０８で、新規にＭＸＦファイルデータを記録するファイルをオープンする。（本実施例でのファイルネームは、Ａ０００〜Ａ９９９で示され、オープンする毎に、数字をインクリメントしたファイルネームとする。）その際、ファイルネームは、Ａｎ（本実施例では、ｎは３桁の数字）としてオープンし、次ファイルのため、ｎをインクリメントさせ、ファイルオープンフラグＦＯを１とし、オープン済みとする。
【００６４】
次に、Ｓ４０９で、現在、メモリ１０５に蓄積されている容量分のＭＸＦファイルデータを現在オープン中のファイルへ書き込みを開始する。次に、Ｓ４１０で、メモリ１０５に蓄積されたＭＸＦファイルデータの容量を、バッファ閾値Ｂと比較する。バッファ閾値Ｂは、記録中にメモリ１０５に蓄積できる最大容量（オーバーフロー）を示す閾値である。比較した結果、バッファ閾値Ｂよりも少ない場合は、Ｓ４１１へ進む。
【００６５】
次に、Ｓ４１１でＳ４０９で書き込みを開始したデータの書き込みが完了したかどうか判断する。書き込みが完了していない場合は、Ｓ４１０へ戻り、完了したら、Ｓ４１２へ進む。次に、Ｓ４１２で、オープン中のファイルに書き込んだ、ＭＸＦファイルデータのサイズ（ファイルサイズ）がファイル分割を行う閾値（ファイル分割閾値）と比較する。ファイル分割閾値に達していない場合には、Ｓ４０５へ戻り、前記同様の処理を繰り返す。ただし、前記述べたように、Ｓ４０７では既に、ファイルはオープン済みであるため、Ｓ４０８の処理を行わず、すでにオープン中のファイルにＭＸＦファイルデータを追記していく事となる。
【００６６】
ここで、ファイルシステムにＦＡＴを用いている場合には、１つのファイルサイズの最大値が４Ｇバイトという制限があるため、ファイル分割閾値には４Ｇバイト以下のたとえば２Ｇバイトにする。Ｓ４１２でファイルサイズがファイル分割閾値を超えている場合には、Ｓ４１３へ進む。
【００６７】
Ｓ４１３で、現在オープン中のファイルのクローズ処理を開始する。クローズ処理については、前記説明した処理と同様のため省略する。Ｓ４１４で、メモリ１０５のＭＸＦファイルデータの蓄積量を確認する。ファイルクローズ処理中は、メモリ１０５に蓄積されたＭＸＦファイルデータの書き込みが出来ないため、蓄積量がバッファ閾値Ｂ、つまり、バッファ蓄積の上限になっていないか確認を行う。蓄積量が、バッファ閾値Ｂよりも小さい場合は、Ｓ４１５へ進み。
【００６８】
蓄積量が、バッファ閾値Ｂ以上の場合、Ｓ４１６へ進む。次にＳ４１５で、ファイルクローズ処理が完了されたかどうか確認する。クローズ処理が完了している場合は、ファイルオープンフラグＦＯを０として、Ｓ４０５へ戻り、同様の処理を繰り返す。
【００６９】
ファイルクローズ処理が完了していないと判断した場合、Ｓ４１４へ戻る。Ｓ４１４で、蓄積量が、バッファ閾値Ｂ以上となり、Ｓ４１６へ進んだ場合、Ｓ４１６で、ファイルクローズ処理を中止する。同時に、中止したファイル名を記憶し、ファイルオープンフラグＦＯを０とし、ファイルオープン未の状態とし、Ｓ４０５へ戻り、以上説明した同様の処理を繰り返す。
【００７０】
以上説明したように、ファイル分割を伴った記録動作を行い、ファイル分割中に、次ファイルのＭＸＦファイルデータのメモリ１０５への蓄積量がバッファ閾値Ｂ以上になった場合は、ファイル分割処理を中止し、次ファイルのオープンを行い、次ファイルの記録を継続する。
【００７１】
次に、Ｓ４０５で、ユーザインターフェース１０３より、記録停止指示がされた場合及び、Ｓ４１０で、蓄積量がバッファ閾値Ｂ以上となった場合の処理について説明する。ここで、Ｓ４１０で、蓄積量がバッファ閾値Ｂ以上となる場合は、ＭＸＦファイルデータの連続的な書き込みに対し、カードの記録レートが達していない場合である。
【００７２】
Ｓ４０５で、記録停止指示があった場合、及び、Ｓ４１０で蓄積量がバッファ閾値Ｂ以上となった場合、Ｓ４１７に進む。Ｓ４１７、ＭＸＦファイルデータ生成を停止する。Ｓ４１８〜Ｓ４１０では、前記Ｓ４０７〜Ｓ４０９と同様の処理を行い、Ｓ４２０で、メモリ１０５に蓄積された全てのデータを、ファイルに書き込む。次に、Ｓ４２１で、ファイルのクローズ処理を開始する。
【００７３】
次に、Ｓ４２２で、ファイルクローズ処理が完了したかどうか確認する。完了していれば、Ｓ４２４へ進み、完了していなければ、Ｓ４２３へ進む。次に、Ｓ４２３で、ＥｒｒｏｒＦｌｇがＯｎであるかどうか確認し、Ｏｎであれば、Ｓ４２２へ戻り、Ｏｆｆであれば、Ｓ４２６へ進む。Ｓ４２２でファイルクローズ処理が完了した場合、ファイルオープンフラグＦＯを０とし、オープン未の状態とし、Ｓ４２４進む。Ｓ４２４へ進んだ場合は、ファイルクローズ処理中に、新たな記録指示が無く、ファイルクローズが完了した場合又は、ＥｒｒＦｌｇがＯｎの状態で、ファイルクローズ処理が完了した場合であり、記録待機状態へ戻る場合である。
【００７４】
Ｓ４２４で、記録中にファイルクローズ処理を中止したファイルがあるかどうか確認し、ある場合はＳ４２５へ進み、Ｓ４２５で、中止したファイルのクローズ処理を全て行う。Ｓ４２４で、ファイルクローズ処理を中止したファイルは無いと判断した場合及び、Ｓ４２５でファイルクローズ処理を中止した全てのファイルのクローズ処理が終了した場合、Ｓ４０２へ戻り、記録待機状態となる。
【００７５】
次に、Ｓ４２２でファイルクローズ処理が完了していないと判断され、Ｓ４２３でＥｒｒＦｌｇＯｆｆと判断された場合、Ｓ４２６へ進む。Ｓ４２６は、Ｓ４０３と同様の処理であり、ユーザインターフェース１０３からの記録トリガの入力があったかどうかを判断する。入力トリガない場合は、Ｓ４２２へ戻り、入力トリガがあった場合は、Ｓ４２７へ進む。Ｓ４２７で、Ｓ４０４同様の処理を行い、信号処理部１０４でＭＸＦファイルデータの生成を開始し、メモリ１０５にＭＸＦファイルデータを蓄積する。
【００７６】
次にＳ４２８で、メモリ１０５の蓄積量がバッファ閾値Ｂより小さいか、バッファ閾値Ｂ以上であるか比較する。
【００７７】
蓄積量が、バッファ閾値Ｂよりも小さければ、Ｓ４２９へ進む。蓄積量が、バッファ閾値Ｂ以上だった場合、Ｓ４３０へ進む。次に、Ｓ４２９に進んだ場合は、ファイルクローズ処理が完了したかどうか確認し、完了していなければ、Ｓ４２８戻り、完了していれば、ファイルオープンフラグＦＯを０とし、ファイルオープン未の状態とし、Ｓ４０５へ戻り、記録動作を続行する。
【００７８】
次に、Ｓ４３０へ進んだ場合は、Ｓ４１６と同様に、ファイルクローズ処理を中止する。同時に、中止したファイル名を記憶し、ファイルオープンフラグＦＯを０とし、ファイルオープン未の状態とし、Ｓ４０５へ戻り、記録動作を続行する。
【００７９】
図５は、メモリ１０５の状態を表した図であり、第１ファイルのクローズ処理中に、メモリ１０５の蓄積量が、バッファ閾値Ｂ以上となり、第１ファイルのクローズ処理を中止し、第２ファイルの記録を開始したようすを示している。図５に示すように、記録が開始されると、メモリ１０５へ、ＭＸＦファイルデータが蓄積され、バッファ閾値Ａまで蓄積されると、記録媒体１０７への書き込みがスタートする動作が繰り返され、記録が間欠して行われる。
【００８０】
第１ファイルのクローズ中に、第２ファイルの書き込まれるデータが、バッファ閾値Ｂ以上となった場合、クローズ処理を中止し、第２ファイルの記録を開始する。
【００８１】
本実施例では、
バッファ総容量＞バッファ閾値Ｂ＞バッファ閾値Ａ
となっており、バッファ閾値Ｂは、メモリ１０５の蓄積量がバッファ閾値Ｂ以上となったと判断してから、記録停止とするまでの間、蓄積量がバッファ総容量を越えない値である。また、本実施例では、図４−Ｓ４１４及び、図４−Ｓ４２８でクローズ処理を中止する蓄積量の閾値に、バッファ閾値Ｂを用いたが、さらに、次ファイルのオープン処理（図４−Ｓ４０８）に必要な時間を考慮したバッファ閾値Ｃとしてもよく、その場合は、下記の様になる。
【００８２】
バッファ総容量＞バッファ閾値Ｂ＞バッファ閾値Ｃ＞バッファ閾値Ａ
尚、本実施例では、ファイルクローズ処理を中止したファイルのクローズ処理を、Ｓ４２４、Ｓ４２５で、ユーザーインターフェース１０３より、記録停止指示がされた後に行っているが、記録停止指示がされる前（記録続行中）に、メモリ１０５の蓄積量がバッファ閾値Ａよりも低い間等、記録媒体１０７へのアクセスが起こっていない、余りの時間を利用する事も出来る。
【符号の説明】
【００８３】
１００  記録装置、１０１  入力部、１０２  制御部、
１０３  ユーザインターフェース、１０６  記録媒体制御部
【図１】
2016009960.tif 000003
【図２】
2016009960.tif 000004
【図３】
2016009960.tif 000005
【図４】
2016009960.tif 000006
【図５】
2016009960.tif 000007
【図６】
2016009960.tif 000008
【図７】
2016009960.tif 000009
【図８】
2016009960.tif 000010
【図９】
2016009960.tif 000011