(57)【要約】【課題】  同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスできるようにしつつ、記録が異常終了した場合でも、データを再生できる。【解決手段】  管理情報フラグメント記録制御部４４は、データの一部を読み出すために用いる第１の管理情報と、データの一部とを交互に配置させるように、第１の管理情報の記録を制御する。管理情報全体記録制御部４５は、データの全部が記録された場合、データの全部を読み出すために用いる第２の管理情報の記録を制御する。書き換え制御部４６は、データの全部が記録された場合、第１の管理情報がデータの一部の読み出しに用いられないように第１の管理情報またはデータの書き換えを制御する。本発明は、記録再生装置に適用できる。【選択図】  図６
2006351130.tif 000002
【特許請求の範囲】
【請求項１】
データの一部を読み出すために用いる第１の管理情報と、前記データの一部とを交互に配置させるように、前記第１の管理情報の記録を制御する第１の記録制御手段と、
前記データの全部が記録された場合、前記データの全部を読み出すために用いる第２の管理情報の記録を制御する第２の記録制御手段と、
前記データの全部が記録された場合、前記第１の管理情報が前記データの一部の読み出しに用いられないように前記第１の管理情報または前記データの書き換えを制御する書き換え制御手段と
を備える記録装置。
【請求項２】
前記第１の記録制御手段は、ファイルに格納されているデータの一部を読み出すために用いる第１の管理情報と前記データの一部とを交互に配置させるように、前記ファイルへの前記第１の管理情報の記録を制御し、
前記第２の記録制御手段は、前記データの全部が記録された場合、前記ファイルに格納されている前記データの全部を読み出すために用いる第２の管理情報の前記ファイルへの記録を制御する
請求項１に記載の記録装置。
【請求項３】
前記書き換え制御手段は、前記第１の管理情報が前記データの一部の読み出しに用いられないように前記第１の管理情報の名前の書き換えを制御する
請求項１に記載の記録装置。
【請求項４】
前記書き換え制御手段は、initial moov boxまたはmoof boxである前記第１の管理情報をfree boxに書き換えるように、前記第１の管理情報の名前の書き換えを制御する
請求項３に記載の記録装置。
【請求項５】
前記書き換え制御手段は、前記第１の管理情報が前記データの一部の読み出しに用いられないように、前記データのデータ量を示す情報の書き換えを制御する
請求項１に記載の記録装置。
【請求項６】
前記書き換え制御手段は、mdat boxのサイズである、前記データのデータ量を示す情報の書き換えを制御する
請求項５に記載の記録装置。
【請求項７】
データの一部を読み出すために用いる第１の管理情報と、前記データの一部とを交互に配置させるように、前記第１の管理情報の記録を制御する第１の記録制御ステップと、
前記データの全部が記録された場合、前記データの全部を読み出すために用いる第２の管理情報の記録を制御する第２の記録制御ステップと、
前記データの全部が記録された場合、前記第１の管理情報が前記データの一部の読み出しに用いられないように前記第１の管理情報または前記データの書き換えを制御する書き換え制御ステップと
を含む記録方法。
【請求項８】
データの一部を読み出すために用いる第１の管理情報と、前記データの一部とを交互に配置させるように、前記第１の管理情報の記録を制御する第１の記録制御ステップと、
前記データの全部が記録された場合、前記データの全部を読み出すために用いる第２の管理情報の記録を制御する第２の記録制御ステップと、
前記データの全部が記録された場合、前記第１の管理情報が前記データの一部の読み出しに用いられないように前記第１の管理情報または前記データの書き換えを制御する書き換え制御ステップと
を含む処理をコンピュータに実行させるプログラム。
【請求項９】
請求項８に記載のプログラムを記録している記録媒体。
【請求項１０】
データの一部と交互に配置された、前記データの一部を読み出すために用いる第１の管理情報を、前記データの一部の読み出しに用いられないように書き換えてできた領域が配置され、データの全部を読み出すために用いる第２の管理情報が配置されているファイルが記録されているデータ記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録装置および方法、プログラム、記録媒体、並びにデータ記録媒体に関し、特に、データを読み出すために用いる管理情報と共に、データを記録できるようにした記録装置および方法、プログラム、記録媒体、並びにデータ記録媒体に関する。
【背景技術】
【０００２】
現在、MP4ファイルフォーマットは、プラットフォームに依存せず、様々な記録方式に対応し、拡張性を有しているので、代表的な記録フォーマットとして広く利用されている。
【０００３】
MP4ファイルフォーマットに準拠するファイルであるMP4ファイルは、ビデオデータまたはオーディオデータの実データを格納するmdat boxおよび実データの管理情報を格納するmoov boxの２つの部分からなる。管理情報が１箇所にまとまっているので、MP4ファイルは、ランダムアクセス性などにおいて、高い優位性を持っている。
【０００４】
図１は、従来のMP4ファイルの記録の処理を説明するフローチャートである。ステップＳ１１において、ファイルの先頭にftyp boxおよびmdat boxのヘッダが出力されて、書き込まれる。mdat boxのヘッダには、サイズを示す４バイトの情報およびmdat boxの名前を示す”mdat”の４文字が含まれる。この場合、サイズを示す情報は、仮の値とされる。
【０００５】
ステップＳ１２において、ビデオデータおよびオーディオデータが圧縮される。圧縮されたビデオデータおよびオーディオデータは多重化される。ステップＳ１３において、圧縮されたビデオデータおよびオーディオデータのサイズおよび再生時間を示す情報である管理情報が取得される。
【０００６】
ステップＳ１４において、圧縮されたビデオデータおよび圧縮されたオーディオデータがインターリーブされる。ステップＳ１５において、ファイルのmdat boxのヘッダの後ろに、順に、圧縮されインターリーブされたデータが出力されて、書き込まれる。ステップＳ１６において、書き込まれたデータのファイル内のオフセットが保持される。
【０００７】
ステップＳ１７において、圧縮されたデータのサイズ、再生時間、およびオフセットを示す情報である管理情報がメモリ上に保持される。
【０００８】
ステップＳ１８において、データが全部記録されたか否かが判定される。ステップＳ１８において、データが全部記録されていないと判定された場合、ステップＳ１２に戻り、上述した処理が繰り返される。
【０００９】
ステップＳ１８において、データが全部記録されたと判定された場合、mdat boxのヘッダに含まれるサイズを示す情報が修正される。ステップＳ１９において、全管理情報であるmoov boxが出力されて、mdat boxの後ろに書き込まれ、ファイルが完成させられて、処理は終了する。
【００１０】
図２Ａで示されるように、完成されたファイルには、ftyp box、mdat box、およびmoov boxが順に配置される。mdat boxに格納されているビデオデータおよびオーディオデータを読み出す場合には、まず、moov boxに格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、所望のビデオデータおよびオーディオデータが読み出される。
【００１１】
圧縮されたビデオデータおよび圧縮されたオーディオデータを別の領域に保持しておいて、全管理情報であるmoov boxをftyp boxの後ろに書き込んでから、moov boxの後ろに、別の領域に保持しておいた圧縮されたビデオデータおよび圧縮されたオーディオデータをmdat boxとして書き込むようにする場合もある。この場合、図２Ｂで示されるように、完成されたファイルには、ftyp box、moov box、およびmdat boxが順に配置される。
【００１２】
このように、全ての実データの記録または圧縮が完了しないと必要なすべての管理情報を得ることができないので、管理情報の記録媒体への書き出し（記録）は、記録の処理の最後に行われる。従って、記録の処理の途中で、処理が異常終了してしまった場合、管理情報が記録されず、ビデオデータまたはオーディオデータを再生することができなくなることがあった。
【００１３】
これに対して、管理情報を分割して記録する、いわゆるフラグメント記録もMP4ファイルフォーマットとして提案されている。
【００１４】
図３は、従来のMP4ファイルのフラグメント記録の処理を説明するフローチャートである。ステップＳ３１において、ファイルの先頭にftyp boxが出力されて、書き込まれる。ステップＳ３２において、mdat boxのヘッダが出力されて、書き込まれる。ステップＳ３３において、ビデオデータおよびオーディオデータが圧縮される。圧縮されたビデオデータおよびオーディオデータは、多重化される。ステップＳ３４において、圧縮されたビデオデータおよびオーディオデータのサイズおよび再生時間を示す情報である管理情報が取得される。
【００１５】
ステップＳ３５において、圧縮されたビデオデータおよび圧縮されたオーディオデータがインターリーブされる。ステップＳ３６において、ファイルのmdat boxのヘッダの後ろに、順に、圧縮されインターリーブされたデータが出力されて、書き込まれる。ステップＳ３７において、書き込まれたデータのファイル内のオフセットが保持される。ステップＳ３８において、圧縮されたデータのサイズ、再生時間、およびオフセットを示す情報である管理情報がメモリ上に保持される。
【００１６】
ステップＳ３９において、データが全部記録されたか否かが判定される。ステップＳ３９において、データが全部記録されていないと判定された場合、ステップＳ４０に進み、１つのフラグメント分の圧縮されたデータが記録されたか否かが判定される。１つのフラグメントには、所定の長さの再生時間分の圧縮されたデータが配置される。
【００１７】
ステップＳ４０において、１つのフラグメント分の圧縮されたデータが記録されたと判定された場合、ステップＳ４１に進み、圧縮されたデータを書き込んだmdat boxであって、まだ対応する管理情報を書き込んでいないmdat boxのヘッダに含まれるサイズを示す情報が修正される。ステップＳ４２において、１つのフラグメントの圧縮データを参照するための管理情報がmdat boxの後ろに出力されて、書き込まれる。
【００１８】
より具体的には、ステップＳ４２おいて、ファイルの最初のmdat boxについての管理情報は、initial moov boxとして書き込まれ、ファイルの２番目以降のmdat boxについての管理情報は、moof boxとして書き込まれる。
【００１９】
ステップＳ４２の処理の後、手続きは、ステップＳ３２に戻り、次のmdat boxのヘッダが書き込まれ、次のフラグメントに圧縮されたデータが記録される処理が繰り返される。
【００２０】
ステップＳ４０において、１つのフラグメント分の圧縮されたデータが記録されていないと判定された場合、ステップＳ３３に戻り、上述した処理が繰り返される。
【００２１】
ステップＳ３９において、データが全部記録されたと判定された場合、ステップＳ４３に進み、圧縮されたデータを書き込んだmdat boxであって、まだ対応する管理情報を書き込んでいないmdat boxのヘッダに含まれるサイズを示す情報が修正される。ステップＳ４４において、１つのフラグメントの圧縮データを参照するための管理情報がmdat boxの後ろに出力されて、書き込まれ、処理は終了する。
【００２２】
より具体的には、ステップＳ４４おいて、ファイルの最初のmdat boxについての管理情報は、initial moov boxとして書き込まれ、ファイルの２番目以降のmdat boxについての管理情報は、moof boxとして書き込まれる。
【００２３】
図４Ａで示されるように、完成されたファイルには、ftyp boxが先頭に配置され、ftyp boxに続いてmdat boxおよびinitial moov boxが配置され、initial moov boxに続いて、mdat box、およびmoof boxが順に繰り返し配置される。ファイルの最初のmdat boxに格納されているビデオデータおよびオーディオデータを読み出す場合には、まず、initial moov boxに格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、ファイルの最初のmdat boxのビデオデータおよびオーディオデータが読み出される。ファイルの２番目以降のmdat boxに格納されているビデオデータおよびオーディオデータを読み出す場合には、そのmdat boxの後に配置されているmoof boxに格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、そのmdat boxのビデオデータおよびオーディオデータが読み出される。
【００２４】
圧縮されたビデオデータおよび圧縮されたオーディオデータを別の領域に保持しておいて、最初のmdat boxについての管理情報であるinitial moov boxをftyp boxの後ろに書き込んでから、initial moov boxの後ろに、別の領域に保持しておいた圧縮されたビデオデータおよび圧縮されたオーディオデータを最初のmdat boxとして書き込み、さらに、２番目以降のmdat boxについての管理情報であるmoof boxをmdat boxの後ろに書き込んでから、moof boxの後ろに、別の領域に保持しておいた圧縮されたビデオデータおよび圧縮されたオーディオデータを２番目以降のmdat boxとして書き込む処理を繰り返すようにしてもよい。この場合、図４Ｂで示されるように、完成されたファイルには、ftyp boxが先頭に配置され、ftyp boxに続いてinitial moov boxおよびmdat boxが配置され、最初のmdat boxに続いて、moof boxおよびmdat boxが順に繰り返し配置される。
【００２５】
フラグメント記録においては、記録の処理の途中で、処理が異常終了してしまった場合であっても、ファイルにinitial moov boxまたはmoof boxとして管理情報が記録されるので、この管理情報の範囲でビデオデータまたはオーディオデータを再生することができる。
【００２６】
しかしながら、ファイルにおいて、管理情報が分割されて配置されているので、ランダムアクセスに時間がかかるようになる。例えば、再生されるビデオ上の時刻であって、再生の開始から１時間後の時刻のビデオデータまたはオーディオデータを再生しようとする場合、initial moov boxおよびmoof boxを順に読み出さなければならず、シークに時間がかかることになる。
【００２７】
これに対し、管理情報を所定の時間間隔で別のファイルに記録しておき、記録終了時に全管理情報を記録することで、ランダムアクセス性の優位性を維持しようとする手法が開示されている（例えば、特許文献１参照）。
【００２８】
このようにすることで、全管理情報を用いて迅速にランダムアクセスをすることができ、記録の処理が異常終了した場合には、データが格納されているファイルの管理情報から全管理情報を再構築して、これを基に再生を行うことができる。
【００２９】
【特許文献１】特開２００２−１９７８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
しかしながら、特許文献１に開示されている手法では、データが格納されるファイルとは別のファイルに管理情報を格納するので、複数のファイルを同時に扱うことが前提となっている。ファイルシステムにより制約があるので、用いているファイルシステムによっては、同時に複数のファイルを取り扱うことができるとは限らない。
【００３１】
さらに、記録媒体上で、異なるファイルに格納されているデータを連続的に配置するという特殊な機能がファイルシステムに要求されることになる。仮に、記録媒体上で、異なるファイルに格納されているデータを連続的に配置できないとすると、すなわち、記録媒体上で、データと管理情報とを連続的に配置できないとすると、データを読み出している状態から管理情報を読み出すとき、または逆に、管理情報を読み出している状態からデータを読み出すときに、無駄なシークが発生し、シームレスな記録および再生が行えなくなるおそれがある。
【００３２】
本発明はこのような状況に鑑みてなされたものであり、同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスできるようにしつつ、記録が異常終了した場合でも、データを再生できるようにする。
【課題を解決するための手段】
【００３３】
本発明の第１の側面は、データの一部を読み出すために用いる第１の管理情報と、データの一部とを交互に配置させるように、第１の管理情報の記録を制御する第１の記録制御手段と、データの全部が記録された場合、データの全部を読み出すために用いる第２の管理情報の記録を制御する第２の記録制御手段と、データの全部が記録された場合、第１の管理情報がデータの一部の読み出しに用いられないように第１の管理情報またはデータの書き換えを制御する書き換え制御手段とを備える記録装置である。
【００３４】
本発明の第１の側面においては、データの一部を読み出すために用いる第１の管理情報と、データの一部とを交互に配置させるように、第１の管理情報の記録が制御され、データの全部が記録された場合、データの全部を読み出すために用いる第２の管理情報の記録が制御され、データの全部が記録された場合、第１の管理情報がデータの一部の読み出しに用いられないように第１の管理情報またはデータの書き換えが制御される。
【００３５】
第１の記録制御手段は、ファイルに格納されているデータの一部を読み出すために用いる第１の管理情報とデータの一部とを交互に配置させるように、ファイルへの第１の管理情報の記録を制御し、第２の記録制御手段は、データの全部が記録された場合、ファイルに格納されているデータの全部を読み出すために用いる第２の管理情報のファイルへの記録を制御するようにすることができる。
【００３６】
書き換え制御手段は、第１の管理情報がデータの一部の読み出しに用いられないように第１の管理情報の名前の書き換えを制御するようにすることができる。
【００３７】
書き換え制御手段は、initial moov boxまたはmoof boxである第１の管理情報をfree boxに書き換えるように、第１の管理情報の名前の書き換えを制御するようにすることができる。
【００３８】
書き換え制御手段は、第１の管理情報がデータの一部の読み出しに用いられないように、データのデータ量を示す情報の書き換えを制御するようにすることができる。
【００３９】
書き換え制御手段は、mdat boxのサイズである、データのデータ量を示す情報の書き換えを制御するようにすることができる。
【００４０】
本発明の第２の側面は、データの一部と交互に配置された、データの一部を読み出すために用いる第１の管理情報を、データの一部の読み出しに用いられないように書き換えてできた領域が配置され、データの全部を読み出すために用いる第２の管理情報が配置されているファイルが記録されているデータ記録媒体である。
【発明の効果】
【００４１】
以上のように、第１の本発明によれば、データを記録することができる。
【００４２】
また、第１の本発明によれば、同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスできるようにしつつ、記録が異常終了した場合でも、データを再生できる。
【００４３】
第２の本発明によれば、記録されているデータを再生することができる。
【００４４】
また、第２の本発明によれば、再生側で、同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスでき、記録が異常終了した場合でも、データを再生できる。
【発明を実施するための最良の形態】
【００４５】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００４６】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００４７】
請求項１に記載の記録装置は、データの一部を読み出すために用いる第１の管理情報と、データの一部とを交互に配置させるように、第１の管理情報の記録を制御する第１の記録制御手段（例えば、図６の管理情報フラグメント記録制御部４４）と、データの全部が記録された場合、データの全部を読み出すために用いる第２の管理情報の記録を制御する第２の記録制御手段（例えば、図６の管理情報全体記録制御部４５）と、データの全部が記録された場合、第１の管理情報がデータの一部の読み出しに用いられないように第１の管理情報またはデータの書き換えを制御する書き換え制御手段（例えば、図６の書き換え制御部４６）とを備える。
【００４８】
請求項７に記載の記録方法は、データの一部を読み出すために用いる第１の管理情報と、データの一部とを交互に配置させるように、第１の管理情報の記録を制御する第１の記録制御ステップ（例えば、図７のステップＳ８２）と、データの全部が記録された場合、データの全部を読み出すために用いる第２の管理情報の記録を制御する第２の記録制御ステップ（例えば、図７のステップＳ８５）と、データの全部が記録された場合、第１の管理情報がデータの一部の読み出しに用いられないように第１の管理情報またはデータの書き換えを制御する書き換え制御ステップ（例えば、図７のステップＳ８７）とを含む。
【００４９】
請求項１０に記載のデータ記録媒体は、データの一部と交互に配置された、前記データの一部を読み出すために用いる第１の管理情報（例えば、図８Ａのinitial moov box５３）を、前記データの一部の読み出しに用いられないように書き換えてできた領域（例えば、図８Ｂのfree box６２−１）が配置され、データの全部を読み出すために用いる第２の管理情報（例えば、図８Ｂのmoov box６１）が配置されているファイルが記録されている。
【００５０】
図５は、本発明の一実施の形態の記録再生装置の構成を示すブロック図である。記録再生装置は、例えば、デジタルビデオカメラとすることができる。
【００５１】
図５において、記録再生装置は、ビデオ符号器１、オーディオ符号器２、ビデオ復号器３、オーディオ復号器４、ファイル生成器５、ファイル復号器６、メモリ７、１０、１７、メモリコントローラ８、システム制御マイコン９、エラー訂正符号／復号器１１、ドライブ制御マイコン１２、データ変復調器１３、磁界変調ドライバ１４、サーボ回路１５、操作部１６、モータ２１、磁界ヘッド２２及び光ピックアップ２３を備えて構成される。
【００５２】
ビデオ信号は、ビデオ入力端子からビデオ符号器１に供給され、圧縮符号化される。オーディオ信号は、オーディオ入力端子からオーディオ符号器２に供給され、圧縮符号化される。圧縮符号化は、本実施形態では、例えば、MPEG４（Moving Picture Experts Group phase 4）が使用される。ビデオ符号器１及びオーディオ符号器２は、圧縮符号化された結果得られた、圧縮されたデータの一例であるエレメンタリストリームを出力する。
【００５３】
ビデオ符号器１は、例えば、MPEG４の場合には、画像再配列部、ローカル復号部、減算器、ＤＣＴ部、量子化部、可変長符号化部及びバッファメモリを備えて構成される。
【００５４】
ビデオ符号器１に供給されたビデオ信号は、画像再配列部及び減算部を介してＤＣＴ部に入力され、ＤＣＴ変換される。画像再配列部は、ピクチャの順序を符号化処理に適した順に並び替える。すなわち、I-VOP（Video Object Plane）及びP-VOPを先に符号化し、その後、B-VOPを符号化するのに適した順に並び替える。ＤＣＴ部の出力は、量子化部に入力され、所定のビット数で量子化される。量子化部の出力は、可変長符号化部及びローカル復号部に入力される。可変長符号化部は、入力を所定の符号化方法、例えば、ハフマン符号で可変長符号化して符号化データをバッファメモリに出力する。バッファメモリは、一定レートで符号化データをビデオ符号器１の出力として出力する。
【００５５】
一方、ローカル復号部は、逆量子化部、逆ＤＣＴ部、加算部、フレームメモリ及び動き補償部を備えて構成される。量子化部からローカル復号部に入力された信号は、逆量子化部で逆量子化され、逆ＤＣＴ部で逆ＤＣＴされて、復号される。復号されたビデオ入力は、加算部で動き補償部の出力と加算され、フレームメモリに入力される。フレームメモリの出力は、動き補償部に入力される。動き補償部は、前方向予測、後方向予測及び両方向予測を行う。動き補償部の出力は、上述の加算部及び減算部に入力される。減算部は、画像再配列部の出力と動き補償部の出力との間で減算を行い、ビデオ信号とローカル復号部で復号された復号ビデオ信号との間の予測誤差を形成する。フレーム内符号化（I-VOP）の場合では、減算部は、減算処理を行わず、単にデータが通過する。
【００５６】
オーディオ符号器２は、例えば、サブバンド符号化部、適応量子化ビット割り当て部などを備えて構成される。
【００５７】
ビデオ符号器１の出力及びオーディオ符号器２の出力がファイル生成器５に供給される。ファイル生成器５は、特定のハードウェア構成を使用することなく動画、音声及びテキストなどを同期して再生することができるコンピュータソフトウェアにより扱うことができるファイル構造を持つように、ビデオエレメンタリストリーム及びオーディオエレメンタリストームのデータ構造を変換する。例えば、ファイル生成器５は、MP4ファイルフォーマットに準拠するように、ビデオエレメンタリストリーム及びオーディオエレメンタリストームのデータ構造を変換する。そして、ファイル生成器５は、符号化ビデオデータと符号化オーディオデータとを多重化する。ファイル生成器５は、システム制御マイコン９によって制御される。
【００５８】
ファイル生成器５の出力であるMP4ファイルは、メモリコントローラ８を介してメモリ７に順次に書き込まれる。メモリコントローラ８は、システム制御マイコンから記録媒体２０へのデータ書き込みが要求されると、メモリ７からMP4ファイルを読み出す。
【００５９】
ここで、MP4ファイルの符号化における転送レートは、記録媒体２０への書き込みデータの転送レートより低い転送レート、例えば、１／２に設定される。よって、MP4ファイルが連続的にメモリ７に書き込まれるのに対し、メモリ７からのMP4ファイルの読み出しは、メモリ７がオーバーフローまたはアンダーフローしないように、システム制御マイコン９によって監視されながら間欠的に行われる。
【００６０】
メモリ７から読み出されたMP4ファイルは、メモリコントローラ８からエラー訂正符号／復号器１１に供給される。エラー訂正符号／復号器１１は、このMP4ファイルを一旦メモリ１０に書き込み、インターリーブ（interleaved）及びエラー訂正符号の冗長データの生成を行う。エラー訂正符号／復号器１１は、冗長データが付加されたデータをメモリ１０から読み出し、これをデータ変復調器１３に供給する。
【００６１】
データ変復調器１３は、デジタルデータを記録媒体２０に記録する際に、再生時のクロック抽出を容易とし、符号間干渉などの問題が生じないように、データを変調する。例えば、（１，７）ＲＬＬ（run length limited）符号やトレリス符号などを利用することができる。
【００６２】
データ変復調器１３の出力は、磁界変調ドライバ１４及び光ピックアップ２３に供給される。磁界変調ドライバ１４は、入力信号に応じて、磁界ヘッド２２を駆動して記録媒体２０に磁界を印加する。光ピックアップ２３は、入力信号に応じて記録用のレーザビームを記録媒体２０に照射する。このようにして、記録媒体２０にデータが記録される。
【００６３】
記録媒体２０は、書き換え可能な光ディスク、例えば、光磁気ディスク（ＭＯ、magneto-optical disk）、相変化型ディスクなどである。
【００６４】
本一実施の形態では、小径のＭＯである。そして、記録媒体２０は、モータ２１によって、線速度一定（ＣＬＶ）、角速度一定（ＣＡＶ）またはゾーンＣＬＶ（ＺＣＬＶ）で回転される。
【００６５】
ドライブ制御マイコン１２は、システム制御マイコン９の要求に応じて、サーボ回路１５に信号を出力する。サーボ回路１５は、この出力に応じて、モータ２１及び光ピックアップ２３を制御することによって、ドライブ全体を制御する。例えば、サーボ回路１５は、光ピックアップ２３に対し、記録媒体２０の径方向の移動サーボ、トラッキングサーボ及びフォーカスサーボを行い、モータ２１に対し、回転数を制御する。
【００６６】
また、システム制御マイコン９には、ユーザが所定の指示を入力する操作部１６と、管理情報を書き込むメモリ１７が接続される。
【００６７】
一方、再生の際には、光ピックアップ２３は、再生用の出力でレーザビームを記録媒体２０に照射し、その反射光を光ピックアップ内の光検出器で受光することによって、再生信号を得る。この場合において、ドライブ制御マイコン１２は、光ピックアップ２３内の光検出器の出力信号からトラッキングエラー及びフォーカスエラーを検出し、読み取りのレーザビームがトラック上に位置し、トラック上に合焦するように、サーボ回路１５によって光ピックアップ２３を制御する。さらに、ドライブ制御マイコン１２は、記録媒体２０上における所望の位置のデータを再生するために、光ピックアップの径方向における移動も制御する。所望の位置は、記録時と同様にシステム制御マイコン９によって、ドライブ制御マイコン１２に信号が与えられ、決定される。
【００６８】
光ピックアップ２３の再生信号は、データ変復調器１３に供給され、復調される。復調されたデータは、エラー訂正符号／復号器１１に供給され、再生データを一旦メモリ１０に格納し、デインターリーブ（deinterleaved）及びエラー訂正が行われる、エラー訂正後のMP4ファイルは、メモリコントローラ８を介してメモリ７に格納される。
【００６９】
メモリ７に格納されたMP4ファイルは、システム制御マイコン９の要求に応じて、ファイル復号器６に出力される。システム制御マイコン９は、ビデオ信号及びオーディオ信号を連続再生するために、記録媒体２０の再生信号がメモリ７に格納されるデータ量と、メモリ７から読み出されてファイル復号器６に供給されるデータ量とを監視することによって、メモリ７がオーバーフローまたはアンダーフローしないようにメモリコントローラ８及びドライブ制御マイコン１２を制御する。こうして、システム制御マイコン９は、記録媒体２０から間欠的にデータを読み出す。
【００７０】
ファイル復号器６は、システム制御マイコン９の制御下で、MP4ファイルをビデオエレメンタリストリームとオーディオエレメンタリストリームとに分離する。ビデオエレメンタリストリームは、ビデオ復号器３に供給され、圧縮符号化の復号が行われてビデオ出力となってビデオ出力端子から出力される。オーディオエレメンタリストリームは、オーディオ復号器４に供給され、圧縮符号化の復号が行われてオーディオ出力となってオーディオ出力端子から出力される。ここで、ファイル復号器６は、ビデオエレメンタリストリームとオーディオエレメンタリストリームとが同期するように出力する。
【００７１】
ビデオ復号器３は、例えば、MPEG４の場合では、バッファメモリ、可変長符号復号部、逆量子化部、逆ＤＣＴ部、加算部、フレームメモリ、動き補償部及び画像再配列部を備えて構成される。加算部は、逆量子化部の出力と動き補償部の出力とを加算するが、I-VOPを復号する場合には、加算しない。加算部の出力は、画像再配列部で元の画像の順序に並び替えられる。
【００７２】
図６は、プログラムを実行するシステム制御マイコン９により実現される機能の構成を示すブロック図である。管理情報保持部４１は、メモリ１７への管理情報の保持を制御する。圧縮制御部４２は、ビデオ符号器１およびオーディオ符号器２を制御する。
【００７３】
圧縮データ記録制御部４３は、メモリコントローラ８を制御することで、圧縮されたデータの記録媒体２０への記録を制御する。
【００７４】
管理情報フラグメント記録制御部４４は、MP4ファイルに格納されるデータの一部を読み出すために用いる管理情報と、データの一部とを交互に配置させるように、管理情報の記録を制御する。すなわち、管理情報フラグメント記録制御部４４は、ファイル生成器５を制御することで、複数のmdat boxのそれぞれに対応した管理情報のinitial moov boxまたはmoof boxとしての記録媒体２０への記録を制御する。
【００７５】
管理情報全体記録制御部４５は、MP4ファイルにデータの全部が記録された場合、MP4ファイルに格納されるデータの全部を読み出すために用いる管理情報の記録を制御する。すなわち、管理情報全体記録制御部４５は、ファイル生成器５を制御することで、すべてのmdat boxに対応した１つの管理情報のmoov boxとしての記録媒体２０への記録を制御する。
【００７６】
書き換え制御部４６は、データの一部の読み出しに用いられないように、管理情報フラグメント記録制御部４４の制御によって記録された管理情報の書き換えを制御する。より詳細には、書き換え制御部４６は、データの全部が記録された場合、管理情報フラグメント記録制御部４４の制御によって記録された管理情報が、データの一部の読み出しに用いられないように管理情報またはデータの書き換えを制御する。
【００７７】
次に、図７のフローチャートを参照して、MP4ファイルであるファイルとしてデータを記録する、記録再生装置による記録の処理の一例を説明する。ステップＳ７１において、管理情報フラグメント記録制御部４４は、ファイル生成器５に、ftyp boxを生成させて、ファイルの先頭にftyp boxを出力させることで、記録媒体２０のファイルの先頭の位置にftyp boxを書き込ませる。ステップＳ７２において、管理情報フラグメント記録制御部４４は、ファイル生成器５に、mdat boxのヘッダを生成させ、生成したmdat boxのヘッダを出力させることで、記録媒体２０にmdat boxのヘッダを書き込ませる。最初に実行されるステップＳ７２においては、mdat boxのヘッダは、ファイルの先頭のftyp boxに続いて書き込まれ、２回目以後に実行されるステップＳ７２においては、mdat boxのヘッダは、後述するステップＳ８２において書き込まれたinitial moov boxまたはmoof boxに続いて書き込まれる。
【００７８】
mdat boxのヘッダには、mdat boxのサイズを示す４バイトの情報およびmdat boxであることを示す（名前を示す）”mdat”の４文字が含まれる。ステップＳ７２において、mdat boxのヘッダに配置された、mdat boxのサイズを示す情報は、仮の値とされる。
【００７９】
ファイル生成器５から出力されたftyp boxまたはmdat boxのヘッダが記録媒体２０に書き込まれる処理をより詳細に説明すれば次のようになる。管理情報フラグメント記録制御部４４は、メモリコントローラ８を制御して、ftyp boxまたはmdat boxのヘッダをエラー訂正符号／復号器１１に出力させる。エラー訂正符号／復号器１１は、ドライブ制御マイコン１２の制御の基に、ftyp boxまたはmdat boxのヘッダに冗長データを付加して、データ変復調器１３に供給する。データ変復調器１３は、ftyp boxまたはmdat boxのヘッダを変調して、磁界変調ドライバ１４及び光ピックアップ２３に、変調されたftyp boxまたはmdat boxのヘッダを記録媒体２０に記録させる。
【００８０】
ファイル生成器５から出力されたデータ若しくは情報またはシステム制御マイコン９から出力されたデータ若しくは情報が記録媒体２０に書き込まれる処理は、ftyp boxまたはmdat boxのヘッダを記録媒体２０に書き込む処理と同様なので、以下の説明において、その詳細な説明は適宜省略する。
【００８１】
ステップＳ７３において、圧縮制御部４２は、ビデオ符号器１に、ビデオ信号を圧縮させて、圧縮の結果得られたビデオデータを出力させると共に、オーディオ符号器２に、オーディオ信号を圧縮させ、圧縮の結果得られたオーディオデータを出力させる。圧縮制御部４２は、ファイル生成器５に、圧縮されたビデオデータおよびオーディオデータを多重化させる。ステップＳ７４において、管理情報保持部４１は、ファイル生成器５から、圧縮されたビデオデータおよびオーディオデータのサイズおよび再生時間を示す情報である管理情報を取得する。なお、管理情報保持部４１は、ビデオ符号器１およびオーディオ符号器２から、圧縮されたビデオデータおよびオーディオデータのサイズおよび再生時間を示す情報である管理情報を取得するようにしてもよい。
【００８２】
ステップＳ７５において、圧縮データ記録制御部４３は、ファイル生成器５に、圧縮されたビデオデータおよび圧縮されたオーディオデータをインターリーブさせる。ステップＳ７６において、圧縮データ記録制御部４３は、メモリコントローラ８を制御して、圧縮されインターリーブされたビデオデータおよびオーディオデータをエラー訂正符号／復号器１１に出力させる。圧縮データ記録制御部４３は、ドライブ制御マイコン１２を制御して、記録媒体２０において、ファイルのmdat boxのヘッダの後ろに、順に、圧縮されインターリーブされたデータを書き込ませる。
【００８３】
ステップＳ７７において、管理情報保持部４１は、ファイル生成器５から、書き込まれたデータのファイル内のオフセットを取得して、取得したオフセットをメモリ１７上に保持する。なお、ここでオフセットとは、記録媒体２０の論理アドレス上の、ファイルの先頭から書き込まれたデータまでの距離（アドレス値の差）をいう。
【００８４】
ステップＳ７８において、管理情報保持部４１は、圧縮されたデータのサイズ、再生時間、およびオフセットを示す情報である管理情報をメモリ１７上に保持する。
【００８５】
ステップＳ７９において、圧縮データ記録制御部４３は、データが全部記録されたか否かを判定する。ステップＳ７９において、データが全部記録されていないと判定された場合、ステップＳ８０に進み、圧縮データ記録制御部４３は、１つのフラグメント分の圧縮されたデータが記録されたか否かを判定する。１つのフラグメントには、所定の長さの再生時間分の圧縮されたデータが配置される。
【００８６】
ステップＳ８０において、１つのフラグメント分の圧縮されたデータが記録されたと判定された場合、ステップＳ８１に進み、圧縮データ記録制御部４３は、圧縮されたデータを書き込んだmdat boxであって、まだ対応する管理情報を書き込んでいないmdat boxのヘッダに含まれるサイズを示す情報を、mdat boxに書き込まれたデータのデータ量を示すように修正する。ステップＳ８２において、管理情報フラグメント記録制御部４４は、ファイル生成器５に、１つのmdat boxの圧縮データを参照するためのinitial moov boxまたはmoof boxである管理情報を出力させる。管理情報フラグメント記録制御部４４は、ドライブ制御マイコン１２を制御して、記録媒体２０に、mdat boxの後ろにinitial moov boxまたはmoof boxである管理情報を書き込ませる。
【００８７】
より具体的には、ステップＳ８２において、管理情報フラグメント記録制御部４４は、ファイルの最初のmdat boxについての管理情報を、initial moov boxとして書き込ませ、ファイルの２番目以降のmdat boxについての管理情報を、moof boxとして書き込ませる。
【００８８】
このように、ステップＳ８２において、データの一部を読み出すために用いる管理情報と、データの一部とを交互に配置させるように、管理情報の記録が制御される。
【００８９】
ステップＳ８２の処理の後、手続きは、ステップＳ７２に戻り、次のmdat boxのヘッダが書き込まれ、次のmdat boxに圧縮されたデータが記録される処理が繰り返される。
【００９０】
ステップＳ８０において、１つのフラグメント分の圧縮されたデータが記録されていないと判定された場合、ステップＳ７３に戻り、上述した処理が繰り返される。
【００９１】
ステップＳ７９において、データが全部記録されたと判定された場合、ステップＳ８３に進み、圧縮データ記録制御部４３は、圧縮されたデータを書き込んだmdat boxであって、まだ対応する管理情報を書き込んでいないmdat boxのヘッダに含まれるサイズを示す情報を、mdat boxに書き込まれたデータのデータ量を示すように修正する。ステップＳ８４において、管理情報フラグメント記録制御部４４は、ファイル生成器５に、１つのmdat boxの圧縮データを参照するためのinitial moov boxまたはmoof boxである管理情報を出力させる。管理情報フラグメント記録制御部４４は、ドライブ制御マイコン１２を制御して、記録媒体２０において、mdat boxの後ろにinitial moov boxまたはmoof boxである管理情報を書き込ませる。
【００９２】
より具体的には、ステップＳ８４おいて、管理情報フラグメント記録制御部４４は、ファイルの最初のmdat boxについての管理情報を、initial moov boxとして書き込ませ、ファイルの２番目以降のmdat boxについての管理情報を、moof boxとして書き込ませる。
【００９３】
なお、ステップＳ８４の処理は省略するようにしてもよい。
【００９４】
ステップＳ８５において、管理情報全体記録制御部４５は、メモリコントローラ８に、管理情報保持部４１がメモリ１７に保持させている、すべての管理情報、すなわち、このファイルに格納されているすべてのビデオデータおよびオーディオデータに対する管理情報を出力する。管理情報全体記録制御部４５は、ドライブ制御マイコン１２を制御して、記録媒体２０に、すべての管理情報をmoov boxとしてファイルの最後に配置されるように書き込ませる。
【００９５】
このように、ステップＳ８５において、データの全部が記録された場合、データの全部を読み出すために用いる管理情報の記録が制御される。
【００９６】
ステップＳ８６において、書き換え制御部４６は、ドライブ制御マイコン１２を制御して、ファイルの先頭にシークさせる。ステップＳ８７において、書き換え制御部４６は、ドライブ制御マイコン１２を制御して、initial moov boxおよびすべてのmoof boxをfree boxに書き換えさせて、処理は終了する。すなわち、ステップＳ８７において、書き換え制御部４６は、データの全部が記録された場合、データの一部を読み出すために用いる管理情報が、データの一部の読み出しに用いられないように、その管理情報の書き換えを制御する。より具体的には、initial moov boxおよびすべてのmoof boxのbox名が”free”の４文字に書き換えられることで、initial moov boxおよびすべてのmoof boxがfree boxに書き換えられる。
【００９７】
ステップＳ８４が実行された時点で、図８Ａで示されるように、ファイルの先頭には、ftyp box５１が配置され、ftyp box５１に続いてmdat box５２−１およびinitial moov box５３が順に配置される。initial moov box５３に続いて、mdat box５２−２およびmoof box５４−１が順に配置され、これに続いて、mdat box５２−３、moof box５４−２、mdat box５２−４、およびmoof box５４−３が順に配置される。すなわち、initial moov box５３に続いて、mdat boxおよびmoof boxが順に交互に配置される。
【００９８】
例えば、ステップＳ８４の処理の後に、記録の処理が異常終了した場合には、initial moov box５３に格納されている管理情報が、mdat box５２−１からのビデオデータおよびオーディオデータの読み出しに用いられ、moof box５４−１に格納されている管理情報が、mdat box５２−２からのビデオデータおよびオーディオデータの読み出しに用いられ、moof box５４−２に格納されている管理情報が、mdat box５２−３からのビデオデータおよびオーディオデータの読み出しに用いられ、moof box５４−３に格納されている管理情報が、mdat box５２−４からのビデオデータおよびオーディオデータの読み出しに用いられる。
【００９９】
すなわち、ファイルの最初のmdat box５２−１に格納されているビデオデータおよびオーディオデータを読み出す場合には、まず、initial moov box５３に格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、mdat box５２−１のビデオデータおよびオーディオデータが読み出される。ファイルの２番目以降のmdat box５２−２乃至mdat box５２−４のいずれかに格納されているビデオデータおよびオーディオデータを読み出す場合には、そのmdat box５２−２乃至mdat box５２−４のいずれかの後に配置されているmoof box５４−１乃至moof box５４−３のいずれかに格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、そのmdat box５２−２乃至mdat box５２−４のいずれかのビデオデータおよびオーディオデータが読み出される。
【０１００】
ステップＳ８５乃至ステップＳ８７の処理によって、ファイルの最後に、このファイルに格納されているすべてのビデオデータおよびオーディオデータについてのすべての管理情報を含むmoov boxが書き込まれ、initial moov box５３およびmoof box５４−１乃至moof box５４−３は、free boxに書き換えられる。
【０１０１】
記録の処理が正常に終了すると、図８Ｂで示されるように、ファイルの最後に、このファイルに格納されているすべてのビデオデータおよびオーディオデータについてのすべての管理情報を格納するmoov box６１が配置される。ファイルの先頭には、ftyp box５１が配置され、ftyp box５１に続いてmdat box５２−１とinitial moov box５３から書き換えられたfree box６２−１とが順に配置される。free box６２−１に続いて、mdat box５２−２とmoof box５４−１から書き換えられたfree box６２−２とが順に配置され、これに続いて、mdat box５２−３、moof box５４−２から書き換えられたfree box６２−３、mdat box５２−４、およびmoof box５４−３から書き換えられたfree box６２−４が順に配置される。すなわち、ftyp box５１に続いて、mdat boxおよびfree boxが順に交互に配置される。
【０１０２】
ここで、free box６２−１乃至free box６２−４は、データの一部と交互に配置された、データの一部を読み出すために用いる管理情報を、データの一部の読み出しに用いられないように書き換えてできた領域の一例である。
【０１０３】
記録の処理が正常に終了した場合には、mdat box５２−１乃至mdat box５２−４のいずれかに格納されているビデオデータおよびオーディオデータを読み出す場合には、まず、moov box６１に格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、mdat box５２−１乃至mdat box５２−４のいずれかに格納されているビデオデータおよびオーディオデータが読み出される。
【０１０４】
すなわち、記録媒体２０には、データの一部と交互に配置された、データの一部を読み出すために用いる管理情報を、データの一部の読み出しに用いられないように書き換えてできた領域が配置され、データの全部を読み出すために用いる管理情報が配置されているファイルが記録されることになる。
【０１０５】
管理情報が一箇所にまとめて配置されているので、ビデオデータおよびオーディオデータをランダムアクセスしようとする場合であっても、無駄なシークが発生することがなく、迅速にビデオデータおよびオーディオデータを読み出すことができる。
【０１０６】
記録が異常終了した場合には、管理情報が対応して記録されているデータを読み出すことができる。
【０１０７】
すなわち、管理情報を分散して記録するフラグメント記録および管理情報を一箇所にまとめて記録する通常の記録の利点を両立できるようになる。
【０１０８】
また、以上で説明したように、記録の処理において、ビデオデータおよびオーディオデータを書き込もうとする１つのファイルだけを扱えばよく、複数のファイルを同時に取り扱う必要がない。その結果、例えば、高度なファイルシステム若しくはオペレーティングシステムまたは複雑な処理が必要とされない。従って、システム制御マイコン９に、高い処理能力が必要とされない。
【０１０９】
さらに、異なるファイルに格納されているデータを記録媒体上で連続的に配置するなどという特殊な機能も、当然、不要である。
【０１１０】
さらにまた、このように記録されたファイルからビデオデータおよびオーディオデータを読み出そうとする（再生しようとする）場合においても、１つのファイルだけを扱えばよく、データを格納するファイルとは別の管理情報を保持するファイルを検索するなど、複数のファイルを同時に取り扱う必要がない。
【０１１１】
フラグメント記録されているMP4ファイルを再生できる標準のプレイヤで、記録が正常に終了したファイルだけでなく、記録が異常終了したファイルでも、再生することができる。ファイルが、データと管理情報とを格納する自己内包形式なので、プレイヤは、複数のファイルをアクセスすることなく、データを容易に再生することができる。すなわち、より小さな処理能力のプレーヤで、データを容易に再生することができる。
【０１１２】
ファイルシステムに対する要求が少なくなるので、より多くの種類の記録媒体にデータを記録することができるようになる。
【０１１３】
以上のように、同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスできるようにしつつ、記録が異常終了した場合でも、データを再生できるようになる。
【０１１４】
なお、圧縮されたビデオデータおよび圧縮されたオーディオデータをメモリ７に記憶させておいて、最初のmdat boxについての管理情報であるinitial moov boxをftyp boxの後ろに書き込んで、そのinitial moov boxの後ろに、メモリ７に記憶させておいた圧縮されたビデオデータおよび圧縮されたオーディオデータを最初のmdat boxとして書き込み、さらに、２番目以降のmdat boxについての管理情報であるmoof boxをmdat boxの後ろに書き込んでから、moof boxの後ろに、メモリ７に記憶させておいた圧縮されたビデオデータおよび圧縮されたオーディオデータを２番目以降のmdat boxとして書き込む処理を繰り返し、すべての圧縮されたビデオデータおよび圧縮されたオーディオデータを書き込んだら、すべてのビデオデータおよびオーディオデータに対する管理情報をmoov boxとしてファイルの最後に書き込んで、initial moov boxおよびすべてのmoof boxをfree boxに書き換えるようにしてもよい。
【０１１５】
initial moov boxまたはmoof boxを書き込んでから、メモリ７に記憶させたビデオデータおよびオーディオデータをmdat boxとして一度に書き込むので、書き込まれたmdat boxに対する管理情報を格納するinitial moov boxまたはmoof boxが必ずファイルに存在し、また、mdat boxのヘッダのサイズを書き換える処理が必要とされず、mdat boxのヘッダのサイズは常に正しい値となる。従って、記録の処理が異常終了した場合、ファイルがMP4ファイルフォーマットに違反し、データを読み出せない障害が発生する確率をより少なくすることができる。すなわち、ファイルの破壊に対する耐性をより強くすることができる。
【０１１６】
このようにした場合、ftyp box、initial moov box、すべてのmdat box、およびすべてのmoof boxが記録された時点で、図９Ａで示されるように、ファイルの先頭には、ftyp box５１が配置され、ftyp box５１に続いてinitial moov box５３およびmdat box５２−１が順に配置される。mdat box５２−１に続いて、moof box５４−１およびmdat box５２−２が順に配置され、これに続いて、moof box５４−２、mdat box５２−３、moof box５４−３、およびmdat box５２−４が順に配置される。すなわち、mdat box５２−１に続いて、moof boxおよびmdat boxが順に交互に配置される。
【０１１７】
例えば、ftyp box、initial moov box、すべてのmdat box、およびすべてのmoof boxが記録された後に、記録の処理が異常終了した場合には、図９Ａで示されるように、initial moov box５３に格納されている管理情報が、mdat box５２−１からのビデオデータおよびオーディオデータの読み出しに用いられ、moof box５４−１に格納されている管理情報が、mdat box５２−２からのビデオデータおよびオーディオデータの読み出しに用いられ、moof box５４−２に格納されている管理情報が、mdat box５２−３からのビデオデータおよびオーディオデータの読み出しに用いられ、moof box５４−３に格納されている管理情報が、mdat box５２−４からのビデオデータおよびオーディオデータの読み出しに用いられる。
【０１１８】
すなわち、mdat box５２−１に格納されているビデオデータおよびオーディオデータを読み出す場合には、まず、initial moov box５３に格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、mdat box５２−１のビデオデータおよびオーディオデータが読み出される。ファイルの２番目以降のmdat box５２−２乃至mdat box５２−４のいずれかに格納されているビデオデータおよびオーディオデータを読み出す場合には、そのmdat box５２−２乃至mdat box５２−４のいずれかの前に配置されているmoof box５４−１乃至moof box５４−３のいずれかに格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、そのmdat box５２−２乃至mdat box５２−４のいずれかのビデオデータおよびオーディオデータが読み出される。
【０１１９】
そして、記録の処理の最後で、ファイルに格納されているすべてのビデオデータおよびオーディオデータに対する管理情報を含むmoov boxがファイルの最後に書き込まれ、initial moov box５３およびmoof box５４−１乃至moof box５４−３は、free boxに書き換えられる。
【０１２０】
記録の処理が正常に終了すると、図９Ｂで示されるように、ファイルの最後に、このファイルに格納されているすべてのビデオデータおよびオーディオデータに対する管理情報を格納するmoov box６１が配置される。ファイルの先頭には、ftyp box５１が配置され、ftyp box５１に続いてinitial moov box５３から書き換えられたfree box６２−１とmdat box５２−１とが順に配置される。mdat box５２−１に続いて、moof box５４−１から書き換えられたfree box６２−２とmdat box５２−２とが順に配置され、これに続いて、moof box５４−２から書き換えられたfree box６２−３、mdat box５２−３、moof box５４−３から書き換えられたfree box６２−４、およびmdat box５２−４が順に配置される。すなわち、ftyp box５１に続いて、free boxおよびmdat boxが順に交互に配置される。
【０１２１】
この場合も、管理情報が一箇所にまとめて配置されているので、ビデオデータおよびオーディオデータをランダムアクセスしようとする場合であっても、無駄なシークが発生することがなく、迅速にビデオデータおよびオーディオデータを読み出すことができる。
【０１２２】
また、記録の処理および再生の処理（読み出しの処理）において、１つのファイルだけを扱えばよく、複数のファイルを同時に取り扱う必要がない。
【０１２３】
すなわち、この場合も、同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスできるようにしつつ、記録が異常終了した場合でも、データを再生できるようになる。
【０１２４】
次に、データの一部の読み出しに用いられないように管理情報の書き換える他の例について説明する。
【０１２５】
図１０は、記録再生装置による記録の処理の他の例を説明するフローチャートである。ステップＳ１０１乃至ステップＳ１１６の処理は、それぞれ、図７のステップＳ７１乃至ステップＳ８６の処理と同様なので、その説明は省略する。
【０１２６】
ステップＳ１１７において、書き換え制御部４６は、ドライブ制御マイコン１２を制御して、データの一部を読み出すために用いる管理情報が、データの一部の読み出しに用いられないように、ファイルの先頭のmdat boxのサイズを書き換えさせて、処理は終了する。より具体的には、ステップＳ１１７において、書き換え制御部４６は、ドライブ制御マイコン１２を制御して、ファイルの先頭のmdat boxのサイズを、すべてのmdat boxのサイズ、initial moov boxのサイズ、およびすべてのmoof boxのサイズの総和に等しい値に書き換えさせる。
【０１２７】
すなわち、ステップＳ１１７において、書き換え制御部４６は、データの全部が記録された場合、データの一部を読み出すために用いる管理情報が、データの一部の読み出しに用いられないように、データの書き換えを制御する。
【０１２８】
図１０のフローチャートを参照して説明した記録の処理が正常に終了すると、図１１Ａで示されるように、ファイルの最後に、このファイルに格納されているすべてのビデオデータおよびオーディオデータについてのすべての管理情報を格納するmoov box６１が配置される。そして、ファイルの先頭には、ftyp box５１が配置され、ftyp box５１とmoov box６１との間には、１つのmdat box８１が配置される。mdat box８１は、ステップＳ１１２またはステップＳ１１４の処理で書き込まれたinitial moov boxおよびすべてのmoof boxを含む。mdat box８１に含まれるinitial moov boxおよびすべてのmoof boxは、initial moov boxまたはmoof boxとしてのデータの方式を満たしているが、moov box６１に格納されている管理情報は、mdat box８１に含まれるinitial moov boxおよびmoof boxのいずれも参照せず、このファイルを再生する再生装置は、mdat box８１に含まれるinitial moov boxおよびすべてのmoof boxを無視する。すなわち、このファイルを再生する再生装置は、mdat box８１全体のうちの、ビデオデータおよびオーディオデータだけを用いることになる。
【０１２９】
mdat box８１に格納されているビデオデータおよびオーディオデータを読み出す場合には、まず、moov box６１に格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、mdat box８１に格納されているビデオデータおよびオーディオデータが読み出される。
【０１３０】
管理情報が一箇所にまとめて配置されているので、ビデオデータおよびオーディオデータをランダムアクセスしようとする場合であっても、無駄なシークが発生することがなく、迅速にビデオデータおよびオーディオデータを読み出すことができる。
【０１３１】
また、記録の処理および再生の処理（読み出しの処理）において、１つのファイルだけを扱えばよく、複数のファイルを同時に取り扱う必要がない。
【０１３２】
すなわち、この場合も、同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスできるようにしつつ、記録が異常終了した場合でも、データを再生できるようになる。
【０１３３】
なお、圧縮されたビデオデータおよび圧縮されたオーディオデータをメモリ７に記憶させておいて、最初のmdat boxについての管理情報であるinitial moov boxをftyp boxの後ろに書き込んで、そのinitial moov boxの後ろに、メモリ７に記憶させておいた圧縮されたビデオデータおよび圧縮されたオーディオデータを最初のmdat boxとして書き込み、さらに、２番目以降のmdat boxについての管理情報であるmoof boxをmdat boxの後ろに書き込んでから、moof boxの後ろに、メモリ７に記憶させておいた圧縮されたビデオデータおよび圧縮されたオーディオデータを２番目以降のmdat boxとして書き込む処理を繰り返し、すべての圧縮されたビデオデータおよび圧縮されたオーディオデータを書き込んだら、initial moov boxをfree boxに書き換えて、ファイルの先頭のmdat boxのサイズを、すべてのmdat boxのサイズおよびすべてのmoof boxのサイズの総和に等しい値に書き換えるようにしてもよい。
【０１３４】
この場合、図１１Ｂで示されるように、ファイルの最後に、このファイルに格納されているすべてのビデオデータおよびオーディオデータについてのすべての管理情報を格納するmoov box６１が配置される。そして、ファイルの先頭には、ftyp box５１が配置され、ftyp box５１に続いて、initial moov boxから書き換えられたfree box６２が配置され、free box６２とmoov box６１との間には、１つのmdat box８２が配置される。mdat box８２は、ファイルに書き込まれたすべてのmoof boxを含む。mdat box８２に含まれるすべてのmoof boxは、moof boxとしてのデータの方式を満たしているが、moov box６１に格納されている管理情報は、mdat box８２に含まれるmoof boxのいずれも参照せず、このファイルを再生する再生装置は、mdat box８２に含まれるすべてのmoof boxを無視する。すなわち、このファイルを再生する再生装置は、mdat box８２全体のうちの、ビデオデータおよびオーディオデータだけを用いることになる。
【０１３５】
mdat box８２に格納されているビデオデータおよびオーディオデータを読み出す場合には、まず、moov box６１に格納されている管理情報が読み出されて、読み出された管理情報が参照されることで、mdat box８２に格納されているビデオデータおよびオーディオデータが読み出される。
【０１３６】
管理情報が一箇所にまとめて配置されているので、ビデオデータおよびオーディオデータをランダムアクセスしようとする場合であっても、無駄なシークが発生することがなく、迅速にビデオデータおよびオーディオデータを読み出すことができる。
【０１３７】
また、記録の処理および再生の処理（読み出しの処理）において、１つのファイルだけを扱えばよく、複数のファイルを同時に取り扱う必要がない。
【０１３８】
すなわち、この場合も、同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスできるようにしつつ、記録が異常終了した場合でも、データを再生できるようになる。
【０１３９】
なお、書き換え可能な光ディスクである記録媒体２０にファイルを記録すると説明したが、これに限らず、磁気ディスクまたは半導体メモリなど、他の方式の記録媒体に記録するようにしてもよい。
【０１４０】
また、ビデオ符号器１またはオーディオ符号器２は、プログラムを実行するシステム制御マイコン９により実現するようにしてもよい。すなわち、ビデオ符号器１またはオーディオ符号器２は、ハードウェアで実現しても、ソフトウェアで実現してもよい。
【０１４１】
なお、ファイルの方式は、MP4ファイルであると説明したが、これに限るものではない。また、データの一部の読み出しに用いられないように、その管理情報の書き換える処理は、box名を書き換える処理またはmdat boxのサイズを書き換える処理に限るものではなく、例えば、データの属性を示す情報若しくはID、または利用の可否を示すフラグの書き換えなどの処理であってもよい。
【０１４２】
なお、本発明は、デジタルビデオカメラに適用できると説明したが、これに限らず、撮影機能付きのパーソナルコンピュータまたは携帯電話機など、各種の機器に適用することができる。
【０１４３】
このように、データの一部を読み出すために用いる第１の管理情報と、データの一部とを交互に配置させるように、第１の管理情報の記録を制御し、データの全部が記録された場合、データの全部を読み出すために用いる第２の管理情報の記録を制御し、データの全部が記録された場合、第１の管理情報がデータの一部の読み出しに用いられないように第１の管理情報またはデータの書き換えを制御するようにした場合には、同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスできるようにしつつ、記録が異常終了した場合でも、データを再生することができる。
【０１４４】
また、データ記録媒体に、データの一部と交互に配置された、データの一部を読み出すために用いる第１の管理情報を、データの一部の読み出しに用いられないように書き換えてできた領域が配置され、データの全部を読み出すために用いる第２の管理情報が配置されているファイルを記録する場合には、再生側で、同時に複数のファイルを取り扱う必要なく、迅速にランダムアクセスでき、記録が異常終了した場合でも、データを再生することができる。
【０１４５】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１４６】
この記録媒体は、図５に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、ＤＶＤ(Digital Versatile Disc)を含む）、若しくは光磁気ディスク（ＭＤ(Mini-Disc)（商標）を含む）などよりなる記録媒体２０、若しくは図示せぬ半導体メモリなどよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているシステム制御マイコン９に内蔵されているROMなどで構成される。
【０１４７】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０１４８】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１４９】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１５０】
【図１】従来のMP4ファイルの記録の処理を説明するフローチャートである。
【図２】従来のMP4ファイルの構成を示す図である。
【図３】従来のMP4ファイルの記録の他の処理を説明するフローチャートである。
【図４】従来のMP4ファイルの他の構成を示す図である。
【図５】本発明の一実施の形態の記録再生装置の構成を示すブロック図である
【図６】プログラムを実行するシステム制御マイコンにより実現される機能の構成を示すブロック図である。
【図７】記録の処理の一例を説明するフローチャートである。
【図８】MP4ファイルの構成を示す図である。
【図９】MP4ファイルの構成を示す図である。
【図１０】記録の処理の他の例を説明するフローチャートである。
【図１１】MP4ファイルの構成を示す図である。
【符号の説明】
【０１５１】
１  ビデオ符号器，  ２  オーディオ符号器，  ５  ファイル生成器，  ７  メモリ，  ８  メモリコントローラ，  ９  システム制御マイコン，  １２  ドライブ制御マイコン，  １７  メモリ，  ２０  記録媒体，  ４１  管理情報保持部，  ４２  圧縮制御部，  ４３  圧縮データ記録制御部，  ４４  管理情報フラグメント記録制御部，  ４５  管理情報全体記録制御部，  ４６  書き換え制御部
【図１】
2006351130.tif 000003
【図２】
2006351130.tif 000004
【図３】
2006351130.tif 000005
【図４】
2006351130.tif 000006
【図５】
2006351130.tif 000007
【図６】
2006351130.tif 000008
【図７】
2006351130.tif 000009
【図８】
2006351130.tif 000010
【図９】
2006351130.tif 000011
【図１０】
2006351130.tif 000012
【図１１】
2006351130.tif 000013