JP2005065110A - File recording method, file recorder, computer program and computer readable recording medium - Google Patents
File recording method, file recorder, computer program and computer readable recording medium Download PDFInfo
- Publication number
- JP2005065110A JP2005065110A JP2003295456A JP2003295456A JP2005065110A JP 2005065110 A JP2005065110 A JP 2005065110A JP 2003295456 A JP2003295456 A JP 2003295456A JP 2003295456 A JP2003295456 A JP 2003295456A JP 2005065110 A JP2005065110 A JP 2005065110A
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- chunk
- management information
- size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Description
本発明は、ファイル記録方法、ファイル記録装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体に関し、さらに詳細には、動画像データ、音声データの管理情報を含むデータ構造を一括して出力するために用いて好適なものである。 The present invention relates to a file recording method, a file recording apparatus, a computer program, and a computer-readable recording medium. More specifically, the present invention is used to collectively output a data structure including management information of moving image data and audio data. And suitable.
近年、動画像をデジタル化して記録する装置が普及している。例えば、撮影した動画像を、圧縮効率が高い映像音声符号化形式を用いてデジタル符号化し、内蔵メモリやSDカードなどの外部記憶媒体に記録することができるデジタルカメラが普及している。また、同様にして記録された動画像データを、電子メールでIPネットワークを介して交換することができる携帯電話機も普及しつつある。 In recent years, apparatuses for digitizing and recording moving images have become widespread. For example, digital cameras that can digitally encode captured moving images using a video / audio encoding format with high compression efficiency and record them in an external storage medium such as a built-in memory or an SD card have become widespread. In addition, mobile phones that can exchange moving image data recorded in the same way via an IP network by e-mail are becoming widespread.
この映像音声符号化形式には、ISO(International Organization for Standardization)を中心として標準化が進められているMPEG-4(ISO/IEC 14496)などが一般的に用いられる。MPEG-4は、DVDに採用されているMPEG-2と比較して、低帯域環境であっても動画・音声データを品質の劣化を抑えつつ高い圧縮効率で符号化できるという特性を持っている。こうした特性から、上記のような一般消費者向けの記録装置の多くがMPEG-4を採用している。 For this video / audio encoding format, MPEG-4 (ISO / IEC 14496), which is being standardized mainly by ISO (International Organization for Standardization), is generally used. Compared with MPEG-2 used for DVD, MPEG-4 has the property that it can encode video and audio data with high compression efficiency while suppressing degradation of quality even in a low bandwidth environment. . Because of these characteristics, many of the recording devices for general consumers as described above employ MPEG-4.
また、上記の機器では、動画像データと音声データは多重化され、最終的にファイルとして出力されるのが一般的である。上記ファイルの形式としては、MPEG-4規格の一部として標準化されているMPEG-4 File Format規格(ISO/IEC 14496-14。以下、「MP4」と記載)が代表的なものとして挙げられる。以下、MP4ファイルの基本構造について簡単に説明する。 In the above-described device, generally, moving image data and audio data are multiplexed and finally output as a file. A typical example of the file format is the MPEG-4 File Format standard (ISO / IEC 14496-14, hereinafter referred to as “MP4”) standardized as part of the MPEG-4 standard. Hereinafter, the basic structure of the MP4 file will be briefly described.
図1は、MP4ファイル形式の構造を単純化して示した図である。
MP4ファイルでは、すべてのデータは「アトム」(もしくは「ボックス」)と呼ばれるデータ構造にパッキングして記録するものとしている。各アトムの先頭には、次のような定義を持ったすべてのアトムで共通のヘッダ情報が付加される。
class Atom {
unsigned int(32) size;
byte type[4];
byte data[];
};
FIG. 1 is a diagram showing a simplified structure of the MP4 file format.
In the MP4 file, all data is packed and recorded in a data structure called “Atom” (or “Box”). The header information common to all atoms having the following definition is added to the head of each atom.
class Atom {
unsigned int (32) size;
byte type [4];
byte data [];
};
上記「size」は、アトムのデータ長を示すフィールドである。「type」は、アトムの種類を示すフィールドであり、各アトムに対して割り当てられている4文字の識別子がセットされる。「data」は、アトムが内包するデータの実体であり、内容はtypeによって異なる。なお、アトムはネスト構造を持つことができ、一つ以上の他のアトムを包含することが可能になっているため、「data」は他のアトムになることもある。 The “size” is a field indicating the data length of the atom. “Type” is a field indicating the type of atom, and a four-character identifier assigned to each atom is set. “Data” is a substance of data included in the atom, and the content differs depending on the type. Since atoms can have a nested structure and can include one or more other atoms, “data” can be another atom.
MP4ファイルのアトム構成は、図1で示されるように、大きく2つに分けることができる。動画像・音声などのメディアデータは、継続時間やフレームといった単位で分割されたごく小さな符号化データ(以下「サンプル」と記載)の連続から構成されるが、MP4ファイルには、それらのサンプルのサイズやタイムスタンプなどの管理情報もあわせて多重化されて記録される。 The atom structure of the MP4 file can be roughly divided into two as shown in FIG. Media data such as video and audio is composed of a series of very small encoded data (hereinafter referred to as “samples”) divided in units such as durations and frames. Management information such as size and time stamp is also multiplexed and recorded.
MP4規格においては、前者は「Movie Atom」(typeフィールドの値は‘moov')と呼ばれる、動画像・音声サンプルの管理情報のようないわゆるメタデータ情報を格納するためのアトムとして定義されている。後者は、動画像・音声のサンプルデータのような、いわゆるメディアデータを格納する「Media Data Atom」(typeフィールドの値は‘mdat')と呼ばれるアトムとして定義されている。 In the MP4 standard, the former is called “Movie Atom” (the value of the type field is “moov”) and is defined as an atom for storing so-called metadata information such as management information of moving image / audio samples. . The latter is defined as an atom called “Media Data Atom” (the value of the type field is “mdat”) for storing so-called media data such as moving image / audio sample data.
Media Data Atomのメディアデータは、「チャンク」と呼ばれるデータブロックに論理的に分割された状態で格納される。それぞれのチャンクは、時間的に連続するサンプルデータから構成されており、Media Data Atomのdataフィールドにはチャンクの配列が格納される。なお、このチャンクのサイズや含まれるサンプルの個数には特に制約はなく、環境や状況に応じて任意の大きさやサンプル数を持つチャンクを構成し、格納することができる。 Media data of Media Data Atom is stored in a state of being logically divided into data blocks called “chunks”. Each chunk is composed of temporally continuous sample data, and an array of chunks is stored in the data field of Media Data Atom. The size of the chunk and the number of included samples are not particularly limited, and a chunk having an arbitrary size and number of samples can be configured and stored according to the environment and situation.
MP4では、アトムを物理的に複数のパートに分割して記述することは許されていない。したがって、Movie Atomは、記録されるすべての管理情報が格納された単独のアトムとしてファイルに記録されなければならない。上記「Media Data Atom」も同様である。 In MP4, it is not permitted to describe an atom physically divided into a plurality of parts. Therefore, Movie Atom must be recorded in a file as a single atom in which all management information to be recorded is stored. The same applies to the above “Media Data Atom”.
上記のような装置で撮影される動画像の記録時間が最終的にどれだけの長さになるかは、記録完了の時点にならなければわからない。Movie Atom及びMedia Data Atomのサイズは記録時間が長くなるにつれて増加するので、記録完了時にこれらのアトムの最終的なサイズが確定しなければ、アトムを分割することなく図1のような配置でMP4ファイルに記録することはできない。 It is not possible to know how long the recording time of a moving image shot by the above apparatus will be at the end of recording. Since the size of Movie Atom and Media Data Atom increases as the recording time becomes longer, MP4 can be arranged in the arrangement shown in FIG. 1 without dividing the atom unless the final size of these atoms is determined when recording is completed. It cannot be recorded to a file.
それゆえ、図1のようなMP4ファイルを出力するためには、Movie Atomに格納される管理情報とMedia Data Atomに格納されるサンプルデータを別々に記憶あるいは記録しておき、最後に両者をマージするという処理を行なう必要があった。 Therefore, in order to output the MP4 file as shown in Fig. 1, management information stored in Movie Atom and sample data stored in Media Data Atom are stored or recorded separately, and finally the two are merged. It was necessary to perform the process of.
以上のように、図1の形式で出力を行なう場合、すべての動画像・音声サンプルデータの記録が正しく終了されない限りMP4ファイルを出力することができないという問題がある。例えば、撮影中に電力供給の停止や機器の不具合など不測の事態により記録処理が異常終了した場合、それまでに記録されたデータは消去されてしまうか、あるいは不正な状態で装置や記憶媒体に残ってしまう。この残存データはMP4としては不正な形式であるため再生することはできない。したがって、異常終了した場合は、それまでの記録内容は実質的にすべて失われてしまうことになる。 As described above, when the output is performed in the format of FIG. 1, there is a problem that the MP4 file cannot be output unless the recording of all the moving image / sound sample data is correctly terminated. For example, if the recording process ends abnormally due to unforeseen circumstances such as power supply interruption or equipment malfunction during shooting, the data recorded up to that point may be erased or stored in an illegal state on the device or storage medium. It will remain. The remaining data cannot be reproduced because it has an illegal format for MP4. Therefore, if the process ends abnormally, substantially all the recorded contents up to that point are lost.
上記の問題を防ぐためには、サンプルデータと管理情報を定期的にマージして、それまでの記録内容が一時保存されたMP4ファイルを残すという処理が必要になる。しかし、マージ処理は、蓄積されているすべてのサンプルデータと管理情報に対する入出力を伴うため、データ量の増加に比例して一回のマージ処理に要する時間が増大してしまう。 In order to prevent the above problem, it is necessary to periodically merge the sample data and the management information and leave an MP4 file in which the recorded contents up to that point are temporarily stored. However, since the merge process involves input / output of all accumulated sample data and management information, the time required for one merge process increases in proportion to the increase in the amount of data.
加えて、マージ処理を行なうには、出力されるMP4ファイルを保持するための領域と、それと同程度の大きさを占める、マージされるサンプルデータ及び管理情報を保持するための一時記憶領域がなければならない。すなわち、マージ処理を行なうためには、実際に記録されるデータサイズに対して、およそ2倍の大きさの記憶装置あるいは記憶媒体を設けることが記録装置には要求されることになる。 In addition, in order to perform the merge processing, there must be an area for holding the output MP4 file and a temporary storage area for holding sample data to be merged and management information, which occupy the same size. I must. That is, in order to perform the merging process, the recording apparatus is required to provide a storage device or storage medium having a size approximately twice as large as the data size to be actually recorded.
必要十分な一時記憶領域を得るためには、より多くの記憶装置あるいは記憶媒体を記録装置に搭載するか、さもなければ記録装置で記録可能な時間の上限を短くするといったように、コスト面あるいは性能面で何らかの代償が発生してしまう。 In order to obtain a necessary and sufficient temporary storage area, it is necessary to install a larger number of storage devices or storage media in the recording device, or to reduce the upper limit of the time that can be recorded by the recording device. There will be some cost in terms of performance.
上記の問題を解決しうる方策として、MP4規格では、図2のように他のファイルのサンプルデータを参照するための「Data Reference Atom」(typeフィールドの値は‘dref')というアトムを定義している。Data Reference Atomを用いて、サンプルデータと管理情報を別ファイルとして出力するようにすれば、マージ処理は不要になる。 As a measure that can solve the above problem, the MP4 standard defines an atom called “Data Reference Atom” (type field value is 'dref') for referring to sample data of other files as shown in FIG. ing. If the sample data and management information are output as separate files using Data Reference Atom, the merge process is not required.
また、MP4規格の基となるISO Base Media File Format規格(ISO/IEC 14496-12)では、「Movie Fragment Atom」(typeフィールドの値は‘moof')と呼ばれる、管理情報を複数のアトムに分割して記述するためのアトムが定義されている。 Also, in the ISO Base Media File Format standard (ISO / IEC 14496-12) that is the basis of the MP4 standard, management information called “Movie Fragment Atom” (type field value is 'moof') is divided into multiple atoms. Atom is defined to describe as
Movie Fragment Atomを用いた仕組みは、MP4規格や、同じくISO Base Media File Format規格から派生するMotion JPEG 2000規格(ISO/IEC 15444-3)に導入される方向で現在標準化作業が進められている。その他、基本原理を他のデータ形式にも応用したデータ記録方法も提案されている(例えば、特許文献1参照。)。 The mechanism using Movie Fragment Atom is currently being standardized in the direction to be introduced into the MP4 standard and the Motion JPEG 2000 standard (ISO / IEC 15444-3), which is also derived from the ISO Base Media File Format standard. In addition, a data recording method in which the basic principle is applied to other data formats has also been proposed (for example, see Patent Document 1).
Movie Fragment Atomを用いる場合のMP4ファイルの例を図3に示す。管理情報は、Movie Atomよりも後方に配置されたMovie Fragment Atomにも記録され、Movie AtomとすべてのMovie Fragment Atomに格納された内容が一つの論理的なメタデータ領域として扱われる。 An example of an MP4 file when Movie Fragment Atom is used is shown in FIG. The management information is also recorded in the Movie Fragment Atom arranged behind the Movie Atom, and the contents stored in the Movie Atom and all the Movie Fragment Atoms are handled as one logical metadata area.
この仕組みを用いて、一時記憶に蓄積された内容を定期的にマージして図3のような形式になるようにMP4ファイルの末尾に書き出し、一時記憶を解放するという処理を繰り返すことで、一回のマージ処理にかかる時間を短縮することができ、管理情報が喪失する危険も最小限に抑えることができる。 Using this mechanism, the contents accumulated in the temporary storage are periodically merged, written at the end of the MP4 file in a format as shown in FIG. 3, and the temporary storage is released. It is possible to shorten the time required for the merge processing of one time, and to minimize the risk of losing management information.
しかしながら、上記の解決方法にはそれぞれ問題があった。
まず、Data Reference Atomを用いる方法で記録されたファイルは、全てが欠落することなく揃っている状態でなければ正しく再生されることは保証されない。そのため、メールやファイル転送などで容易・安全に交換できるように、単一のMP4ファイルとして出力されることを望む利用者も決して少なくはないと思われる。そうしたユーザが望む形式で出力するには、最終的には結局すべてのデータをマージし直さなければならないため、問題解決にはならなかった。
However, each of the above solutions has problems.
First, files recorded using the Data Reference Atom method are not guaranteed to be played correctly unless they are all in a complete state without being lost. Therefore, it seems that there are not a few users who want to output as a single MP4 file so that they can be exchanged easily and safely by mail or file transfer. In order for such users to output in the format they wanted, eventually all data had to be re-merged, which did not solve the problem.
また、Movie Fragment Atomは、本願の明細書を記述している時点でMP4規格への編入が完了していないため、既に出荷されているMP4処理装置でMovie Fragment Atomの機能がサポートされている保証はない。おそらく、非サポート装置でMovie Fragment Atomを含むMP4ファイルを再生する場合は、少なくとも最初のMovie Atomに記録された管理情報が示す部分のデータしか再生されず、以降は再生できないと推測される。そのため、出荷済の装置に対しての互換性を十分に保つことができなくなる恐れがある。 In addition, since Movie Fragment Atom has not yet been incorporated into the MP4 standard at the time of writing the description of the present application, it is guaranteed that the function of Movie Fragment Atom is supported by an already shipped MP4 processing device. There is no. Probably, when playing back an MP4 file containing Movie Fragment Atom on a non-supporting device, it is assumed that at least the portion of the data indicated by the management information recorded in the first Movie Atom is played back, and thereafter it cannot be played back. For this reason, there is a risk that sufficient compatibility with a shipped device cannot be maintained.
本発明のファイル記録方法は、動画像または音声の符号化データからなるサンプルデータと、上記サンプルデータの複数からなるチャンクデータと、上記サンプルデータ及びチャンクデータを管理する管理情報とをファイルに記録するファイル記録方法であって、上記ファイル中に上記管理情報を一括して記録するための予約領域を生成する予約領域生成処理と、上記チャンクデータを上記ファイル中の異なる位置に再配置するデータ再配置処理とを有し、上記チャンクデータを上記ファイル中の異なる位置に再配置することによって上記予約領域のサイズを変更することを特徴としている。 According to the file recording method of the present invention, sample data composed of encoded data of moving images or audio, chunk data composed of a plurality of the sample data, and management information for managing the sample data and chunk data are recorded in a file. A file recording method, a reserved area generating process for generating a reserved area for collectively recording the management information in the file, and a data rearrangement for rearranging the chunk data at a different position in the file And the size of the reserved area is changed by rearranging the chunk data at a different position in the file.
本発明のファイル記録装置は、動画像または音声の符号化データからなるサンプルデータと、上記サンプルデータの複数からなるチャンクデータと、上記サンプルデータ及びチャンクデータを管理する管理情報とをファイルに記録するファイル記録装置であって、上記ファイル中に上記管理情報を一括して記録するための予約領域を生成する予約領域生成手段と、上記チャンクデータを上記ファイル中の異なる位置に再配置するデータ再配置手段とを備え、上記データ再配置手段は、上記チャンクデータを上記ファイル中の異なる位置に再配置することによって上記予約領域のサイズを変更することを特徴としている。 The file recording apparatus of the present invention records sample data composed of encoded data of moving images or sounds, chunk data composed of a plurality of the sample data, and management information for managing the sample data and chunk data in a file. A file recording apparatus, a reserved area generating means for generating a reserved area for collectively recording the management information in the file, and data rearrangement for rearranging the chunk data at different positions in the file Means for changing the size of the reserved area by rearranging the chunk data at a different position in the file.
本発明のコンピュータプログラムは、動画像または音声の符号化データからなるサンプルデータと、上記サンプルデータの複数からなるチャンクデータと、上記サンプルデータ及びチャンクデータを管理する管理情報とをファイルに記録するファイル記録方法であって、上記ファイル中に上記管理情報を一括して記録するための予約領域を生成する予約領域生成処理と、上記チャンクデータを上記ファイル中の異なる位置に再配置するデータ再配置処理と、上記データ再配置処理において、上記予約領域のサイズを変更する処理とをコンピュータに実行させることを特徴としている。 The computer program of the present invention is a file that records sample data consisting of encoded data of moving images or audio, chunk data consisting of a plurality of the sample data, and management information for managing the sample data and chunk data in a file A recording method, a reserved area generating process for generating a reserved area for collectively recording the management information in the file, and a data rearranging process for rearranging the chunk data at different positions in the file In the data rearrangement processing, the computer is caused to execute processing for changing the size of the reserved area.
本発明のコンピュータ読み取り可能な記録媒体は、上記に記載のコンピュータプログラムを記録したことを特徴としている。 The computer-readable recording medium of the present invention is characterized by recording the computer program described above.
以上説明したように、本発明によれば、従来規格との互換性が保たれた形式で管理情報をファイルに出力することを、少ないオーバーヘッドで実現することができる。 As described above, according to the present invention, outputting management information to a file in a format that is compatible with the conventional standard can be realized with a small overhead.
以下、本発明のファイル記録方法、ファイル記録装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体の実施の形態について、図面を参照しながら説明する。本発明は、ファイル中のデータ構造を必要に応じて再配置を行なうことによって、マージ処理を行なうことなく動画像データの管理情報を記録するものである。 Embodiments of a file recording method, a file recording apparatus, a computer program, and a computer-readable recording medium according to the present invention will be described below with reference to the drawings. The present invention records moving image data management information without performing merge processing by rearranging the data structure in the file as necessary.
なお、本発明の実施形態では、記録された動画像の最終出力形式にはMP4ファイル形式を用いるものとする。しかし、本発明が適用できる対象は必ずしもMP4ファイルに限定されるものではなく、例えば、QuickTime形式のようなMP4ファイルと類似の構造を持ったファイル形式に対しても適用されうることは言うまでもない。 In the embodiment of the present invention, the MP4 file format is used as the final output format of the recorded moving image. However, the object to which the present invention can be applied is not necessarily limited to the MP4 file, and it goes without saying that the present invention can also be applied to a file format having a similar structure to the MP4 file, such as the QuickTime format.
<第1の実施の形態>
図4は、本発明の動画像記録装置の基本構成例を示す図である。
図4において、本実施の形態の動画像記録装置は、記録する動画像を取り込む動画像入力部1と、同じく音声を取り込む音声入力部2と、取り込まれた動画像及び音声の圧縮符号化処理を行ない、デジタル符号化形式のサンプルデータ及び各サンプルのサイズやタイムスタンプといった管理情報を生成する動画像符号化部3及び音声符号化部4と、サンプルデータ及び管理情報を多重化して出力ファイル8に出力するファイル出力部5と、管理情報を出力ファイル8に出力するまでの間、一時的に保管しておく管理情報記憶部6と、出力ファイル8に記録されたデータブロックを、ファイル中の別の位置へ移動させるデータ構造再配置部7から構成される。上記のファイル出力部5、管理情報記憶部6、データ構造再配置部7によって、本実施の形態における基本処理を実行する記録部10が構成される。
<First Embodiment>
FIG. 4 is a diagram showing a basic configuration example of the moving image recording apparatus of the present invention.
4, the moving image recording apparatus according to the present embodiment includes a moving
動画像入力部1、音声入力部2に入力される動画像及び音声は、カメラあるいはマイクロホンなどの入力装置や、外部記録・記憶装置または媒体から、何らかの伝送手段を介して入力されるものとする。図4ではこれらの装置・媒体の記述は省略している。また、出力される出力ファイル8は、いずれかの記録・記録装置あるいは媒体によって保持されるものとする。
The moving image and sound input to the moving
記録部10に含まれない部分、すなわち、動画像入力部1、音声入力部2、動画像符号化部3及び音声符号化部4は、実施の形態によって異なる構成になる場合もありえる。例えば、図4において、動画像と音声の入力系統はそれぞれ1つずつとしているが、それぞれ任意の数の入力系統が存在してもよい。すなわち、記録部10に対して複数の動画像・音声チャネルの入力系統が存在していても、動画像あるいは音声のいずれか一方の入力系統のみであってもよい。
The parts not included in the recording unit 10, that is, the moving
また、記録部10にあらかじめ符号化された状態のデータが直接入力されてもよい。その場合、動画像入力部1、音声入力部2、動画像符号化部3及び音声符号化部4は不要となる。その他、本発明の意図が正しく実現される限りにおいては、各構成部の論理的・物理的配置や実装形態はいかなるものであってもよい。
In addition, pre-encoded data may be directly input to the recording unit 10. In this case, the moving
続いて、図4の記録装置内で行なわれる典型的な処理の流れについて説明する。
まず、上記の記録装置は、動画像を動画像入力部1から取り込む。そして、取り込まれた動画像の映像信号が、動画像符号化部3に逐次渡される。同様にして、音声は音声入力部2から取り込まれ、音声符号化部4に音声信号が渡される。
Next, a typical process flow performed in the recording apparatus of FIG. 4 will be described.
First, the recording apparatus takes in a moving image from the moving
動画像符号化部3では、入力された映像信号を、MPEG-4等の所定の圧縮符号化形式で符号化して動画像サンプルデータを出力する。音声の場合も同様に、音声符号化部4で入力された音声信号が符号化され、音声サンプルデータが出力される。 The moving image encoding unit 3 encodes the input video signal in a predetermined compression encoding format such as MPEG-4 and outputs moving image sample data. Similarly, in the case of audio, the audio signal input by the audio encoding unit 4 is encoded, and audio sample data is output.
上記符号化処理によって得られたサンプルデータは、ファイル出力部5を介して、Media Data Atomに含まれるチャンクデータとして出力ファイル8に書き込まれる。
ファイル出力部5は、ファイルの先頭から少し離れた位置からMedia Data Atomを出力し、以降はファイル末尾にチャンクデータを追加記録する。ファイル先頭からMedia Data Atomの開始位置までの領域は、図1で示されるように、管理情報を格納するMovie Atomを出力するための予約領域として用いられる。
The sample data obtained by the encoding process is written to the output file 8 as chunk data included in the Media Data Atom via the
The
ファイル出力部5は、サンプルデータを受け取った時点で即座に出力ファイル8に記録しても、渡されたサンプルデータを一時的に蓄積し、ある程度のサンプルデータが蓄積された時点でチャンクとしてまとめて記録してもよい。また、複数のサンプルデータあるいはチャンクデータがまとめてファイル出力部5に受け渡されてもよい。
Even if the
動画像符号化部3及び音声符号化部4では、上記符号化処理によって得られたサンプルのサイズ、タイムスタンプといった管理情報も同時に生成され、ファイル出力部5に受け渡される。渡された管理情報は、さらに管理情報記憶部6に渡される。
In the moving image encoding unit 3 and the audio encoding unit 4, management information such as sample size and time stamp obtained by the encoding process is also generated and transferred to the
管理情報記憶部6では、出力ファイル8に書き出されるデータ構造の管理情報を参照及び更新する機能や、必要に応じてMovie Atomの形式に変換し、MP4ファイル出力部5に対して出力を要求する機能を有する。管理情報は、実装によっては何らかの一時記憶手段によって保管されることもありえる。この一時記憶は、中間ファイルやRAMファイルなど、比較的大容量の記憶手段として実現されるのが一般的であろう。
The management information storage unit 6 refers to and updates the management information of the data structure written in the output file 8 and converts it to the Movie Atom format if necessary, and requests the MP4
さらに、管理情報記憶部6では、Movie Atomの形式で書き出される状態の管理情報のデータサイズを保持する。このデータサイズは、管理情報記憶部6に管理情報データが渡されるたびに再計算が行なわれ、最新の状態に更新される。 Further, the management information storage unit 6 holds the data size of the management information written in the Movie Atom format. This data size is recalculated each time management information data is transferred to the management information storage unit 6 and updated to the latest state.
サンプルの出力を繰り返し、管理情報の末尾がファイル先頭の予約領域のサイズを越えてしまう場合、管理情報記憶部6はデータ構造再配置部7に対して出力済みのチャンクデータの再配置を要求する。 When the sample output is repeated and the end of the management information exceeds the size of the reserved area at the beginning of the file, the management information storage unit 6 requests the data structure rearrangement unit 7 to rearrange the output chunk data. .
データ構造再配置部7は、管理情報として保管されているチャンクの位置やサイズなどを管理情報記憶部6から受け取り、先頭のチャンクデータをファイル末尾に再配置する。同時に、再配置されたチャンクの管理情報を、再配置後の位置に合わせて更新する。再配置されたチャンクがあった領域は、Movie Atom用に確保された予約領域として使用できるようになる。すなわち、再配置処理が実行されることによって、ファイル先頭の予約領域が拡張されることになる。 The data structure rearrangement unit 7 receives the position and size of the chunk stored as management information from the management information storage unit 6, and rearranges the first chunk data at the end of the file. At the same time, the management information of the rearranged chunk is updated according to the position after the rearrangement. The area with the rearranged chunk can be used as a reserved area reserved for Movie Atom. That is, by executing the rearrangement process, the reserved area at the beginning of the file is expanded.
データ構造再配置部7は、管理情報記憶部6で蓄積されている管理情報を出力するのに十分な大きさの予約領域が得られるまで、上記の再配置処理を繰り返す。そして、予約領域が十分な大きさになったら再配置処理を終了し、管理情報記憶部6に制御を戻す。 The data structure rearrangement unit 7 repeats the above rearrangement process until a reserved area large enough to output the management information accumulated in the management information storage unit 6 is obtained. When the reserved area becomes sufficiently large, the rearrangement process is terminated, and the control is returned to the management information storage unit 6.
なお、データ構造再配置部7は、チャンク再配置によってファイル形式が規格と矛盾することのないよう、チャンクデータ以外のデータブロックの再配置や変更も行ない、ファイル構造を正しく保つ処理も行なう。 The data structure rearrangement unit 7 also rearranges or changes data blocks other than the chunk data so that the file format does not contradict the standard due to the chunk rearrangement, and also performs a process of maintaining the file structure correctly.
図4の記録装置において上記の処理が行なわれることによって、管理情報を記録するのに十分な大きさを持った予約領域がファイル先頭に確保されている状態が実現される。この予約領域のあとにはMedia Data Atomが続くため、蓄積されている管理情報をMovie Atom形式にして予約領域に出力するだけで、図1で示されるようなMP4ファイルを作成することができる。 By performing the above processing in the recording apparatus of FIG. 4, a state is realized in which a reserved area having a sufficient size for recording management information is secured at the head of the file. Since this data area is followed by Media Data Atom, an MP4 file as shown in FIG. 1 can be created simply by outputting the stored management information to the reserved area in the Movie Atom format.
なお、最初に確保される予約領域は原理的には任意の大きさにすることができるが、実用上は再配置の回数を減らすため、ある程度の大きさがある方がよいかもしれない。しかし、あまり大きすぎるとMP4ファイル中に無駄な領域が発生し、MP4ファイルのサイズが増大してしまうため、適用する形態に応じて妥当な大きさを設定することが望ましい。 The reserved area that is initially reserved can be arbitrarily sized in principle, but in practice it may be better to have a certain size in order to reduce the number of relocations. However, if the size is too large, a useless area is generated in the MP4 file and the size of the MP4 file increases. Therefore, it is desirable to set an appropriate size according to the form to be applied.
空き領域のサイズを0、すなわち初期状態で空き領域を確保しないようにすることも可能である。ただしこの場合、最初にMovie Atomのサイズ計算が行われた時点でチャンクの再配置が発生するため、実質的には最初に空き領域を確保する場合と同等の処理が行われる。 It is also possible to set the size of the free area to 0, that is, not to reserve the free area in the initial state. However, in this case, chunk rearrangement occurs when Movie Atom size calculation is performed for the first time, and therefore, processing that is substantially equivalent to the case of allocating a free area first is performed.
<MP4のメタデータ構造>
引き続き、本実施の形態の詳細を説明するにあたって、MP4ファイル形式においてサンプルやチャンクの管理情報がどのような形で保持されるかに関して簡単に説明する。なお、本明細書では発明の内容を説明するために不要な部分は省略しているため、説明及び図で示される内容は実際のMP4の構造を完全に反映するものではないことに注意されたい。
<Metadata structure of MP4>
Subsequently, in describing the details of the present embodiment, how the management information of samples and chunks is held in the MP4 file format will be briefly described. It should be noted that unnecessary portions are omitted in this specification to explain the contents of the invention, and therefore the contents shown in the description and the drawings do not completely reflect the actual structure of MP4. .
図5は、MP4ファイルにおいてメタデータがどのようなデータ構造を持ち、どのようにメディアデータを参照するかを説明するための図である。
図5において、サンプルS1はサンプルを、C1はサンプルS1が含まれるチャンクを示す。すべてのサンプル及びチャンクに関するメタデータ情報はMovie Atomに記録されているため、サンプルS1及びC1の情報はMovie Atomの内容にアクセスすることで取得することができる。
FIG. 5 is a diagram for explaining what data structure the metadata has in the MP4 file and how to refer to the media data.
In FIG. 5, sample S1 indicates a sample, and C1 indicates a chunk including the sample S1. Since metadata information about all samples and chunks is recorded in Movie Atom, information on samples S1 and C1 can be obtained by accessing the contents of Movie Atom.
Movie Atom内には、MP4ファイル中のデータトラックのメタデータ情報を保管する「Track Atom」(typeフィールドの値は‘trak')というアトムが格納される。各データトラックは、「トラックID」と呼ばれるMP4ファイルで一意な識別子で識別されるようになっており、Track Atomには、トラックIDなどのデータトラックに関する情報を記述する。また、すべてのチャンク及びサンプルはいずれかのデータトラックに属することになっているため、それぞれのデータトラックを構成する全てのチャンク及びサンプルのメタデータ情報も、Track Atomに記述されるようになっている。 In the Movie Atom, an atom “Track Atom” (the value of the type field is “trak”) for storing metadata information of the data track in the MP4 file is stored. Each data track is identified by a unique identifier in an MP4 file called “track ID”, and Track Atom describes information on the data track such as a track ID. Also, since all chunks and samples belong to one of the data tracks, the metadata information of all chunks and samples that constitute each data track is also described in Track Atom. Yes.
Track Atom中のチャンク及びサンプルに関するメタデータ情報を格納するアトムには、「Sample Size Atom」(typeフィールドの値は‘stsz')、「Sample to Chunk Atom」(typeフィールドの値は‘stsc')、「Chunk Offset Atom」(typeフィールドの値は‘stco')などといったものがある。 Atoms that store metadata information about chunks and samples in Track Atom are "Sample Size Atom" (type field value is 'stsz'), "Sample to Chunk Atom" (type field value is 'stsc') , “Chunk Offset Atom” (type field value is 'stco'), etc.
Sample Size Atomはサンプルのサイズ(entry-size)を、Sample to Chunk Atomはサンプルが含まれるチャンクの情報を、Chunk Offset Atomはチャンクのファイル内のオフセット位置をそれぞれ管理している。 Sample Size Atom manages the size of the sample (entry-size), Sample to Chunk Atom manages information about the chunk containing the sample, and Chunk Offset Atom manages the offset position in the chunk file.
サンプルS1のデータをMedia Data Atomから取得するためには、まず、サンプルS1が最初から何番目かのサンプルであるかを示すサンプル番号を確認し、サンプル番号に対応するSample Size AtomのエントリからサンプルS1のサンプルサイズを取得する。 In order to obtain the data of sample S1 from Media Data Atom, first, check the sample number indicating which sample S1 is the first sample from the beginning, and sample from the entry of Sample Size Atom corresponding to the sample number Get the sample size of S1.
そして、そのサンプル番号を用いて、サンプルS1が含まれるチャンクの番号をSample to Chunk Atomから取得し、さらに、Chunk Offset Atomから、そのチャンク番号で示されるチャンクの先頭オフセット位置を取得する。この時、サンプルS1がチャンクC1の最初のサンプルでない場合は、チャンク先頭からサンプルS1の間に存在する各サンプルのサイズをSample Size Atomから取得し、サイズの総和を計算する。この総サイズをC1のオフセット位置に加えた位置がサンプルS1の開始オフセットとなる。以上のようにして得られるサンプルS1の開始オフセット及びサイズを用いて、Media Data AtomからサンプルS1のサンプルデータを抽出できるようになる。 Then, using the sample number, the number of the chunk containing the sample S1 is acquired from Sample to Chunk Atom, and further, the start offset position of the chunk indicated by the chunk number is acquired from Chunk Offset Atom. At this time, if the sample S1 is not the first sample of the chunk C1, the size of each sample existing between the samples S1 from the beginning of the chunk is obtained from the Sample Size Atom, and the sum of the sizes is calculated. A position obtained by adding the total size to the offset position of C1 becomes the start offset of the sample S1. Using the start offset and size of the sample S1 obtained as described above, the sample data of the sample S1 can be extracted from the Media Data Atom.
次に、上記のサンプルデータ取得処理の具体例を図6を用いて説明する。例として、図5におけるサンプルS1が、トラックID=2のデータトラックの最初のサンプル(サンプル番号=1)である場合を想定する。 Next, a specific example of the sample data acquisition process will be described with reference to FIG. As an example, assume that the sample S1 in FIG. 5 is the first sample (sample number = 1) of the data track with track ID = 2.
(1)トラックID=2のTrack Atomを検索し、その中に含まれるSample Size Atomから、サンプル番号1に対応する最初のエントリE1を取得する。サンプルS1の場合は、エントリE1の値0x2801がサンプルのサイズとなる。なお、すべてのサンプルが同じサイズを持つ場合は、Sample Size Atomにはのデフォルトサンプルサイズをただ一つのエントリが格納される。その場合、サンプルS1のサイズはそのデフォルトサンプルサイズとなる。
(1) Search for Track Atom with track ID = 2, and obtain the first entry E1 corresponding to sample
(2)Sample to Chunk Atomから、サンプル番号=1に対応する最初のエントリE2のfirst-chunkとして記録されているチャンク番号を取得する。
Sample to Chunk Atomのエントリは、同じエントリの内容を持つチャンクが連続している場合、連続するチャンクの先頭のチャンク番号がfirst-chunkに記録され、2番目以降のチャンクの属性は記録されずに省略されるようになっている。
(2) The chunk number recorded as the first-chunk of the first entry E2 corresponding to sample number = 1 is obtained from Sample to Chunk Atom.
In the Sample to Chunk Atom entry, if chunks with the same entry contents are consecutive, the first chunk number of consecutive chunks is recorded in first-chunk, and the attributes of the second and subsequent chunks are not recorded. Omitted.
すなわち、図6ではエントリE2から次のエントリの間に、(4―1=2)個のチャンク、(4*(4−1)=8)個のサンプルの情報が暗黙裏に記録されていることになる。よって、サンプル番号に対応するエントリの実体がSample to Chunk Atomに存在しない場合は、省略されているエントリのチャンク番号を求めなければならない。今回の例では、サンプル番号=1に対応するエントリE2のfirst-chunkの値1が、サンプルS1を含んでいるチャンクC1のチャンク番号となる。
That is, in FIG. 6, information of (4-1 = 2) chunks and (4 * (4-1) = 8) samples are implicitly recorded between the entry E2 and the next entry. It will be. Therefore, if the entry corresponding to the sample number does not exist in Sample to Chunk Atom, the chunk number of the omitted entry must be obtained. In this example, the
(3)チャンク番号=1に対応するSample Size Atomの最初のエントリE3から、チャンクのオフセット位置を取得する。今回の例では、0x05a2aがチャンクC1のオフセット位置となる。このオフセット位置に、チャンク先頭から取得対象サンプルの間に存在するサンプルの総サイズを加算して得られた値が、取得対象のサンプルのオフセット位置となる。サンプルS1はチャンク先頭のサンプルであるため、サンプルS1のオフセット位置は(0x05a2a+0=0x05a2a)となる。上記の処理によって、サンプルS1のデータはオフセット位置0x05a2aから0x2801バイトの間に記録されていることが導出される。 (3) The offset position of the chunk is acquired from the first entry E3 of Sample Size Atom corresponding to the chunk number = 1. In this example, 0x05a2a is the offset position of chunk C1. A value obtained by adding the total size of the samples existing between the acquisition target samples from the beginning of the chunk to the offset position becomes the offset position of the acquisition target sample. Since the sample S1 is the first sample of the chunk, the offset position of the sample S1 is (0x05a2a + 0 = 0x05a2a). By the above processing, it is derived that the data of the sample S1 is recorded between the offset position 0x05a2a and 0x2801 bytes.
<チャンクの再配置>
サンプル及びチャンクに関するメタデータ情報の検索には、それらの出現順を示す番号が非常に重要な意味を持っているため、基本的にMP4のアトム構造のエントリは、チャンクやサンプルの出現順と同じ順序で時系列に記録されなければならない。
<Relocation of chunks>
In searching for metadata information about samples and chunks, the numbers indicating the order of their appearance are very important, so the MP4 atom structure entries are basically the same as the order of appearance of the chunks and samples. Must be recorded in chronological order.
また、Sample to Chunk Atomのようにエントリの内容が直前のエントリの値に依存するようなアトムでは、既存のエントリの値を変更すると後続のエントリに影響が及んでしまうため、エントリの値を変更することはできない。 In addition, in an atom such as Sample to Chunk Atom where the contents of an entry depend on the value of the previous entry, changing the value of an existing entry affects the subsequent entries, so the entry value is changed. I can't do it.
しかし、Chunk Offset Atomの場合、エントリはアトム中の他のエントリとの依存関係は持たないため、各エントリの内容を変更しても他のエントリに影響が及ぶことはない。Chunk Offset Atomのエントリの内容はファイル中の絶対位置であり、必ずしも昇順に整列していなくてもよい。 However, in the case of Chunk Offset Atom, the entry has no dependency relationship with other entries in the atom, so changing the contents of each entry does not affect other entries. The contents of the Chunk Offset Atom entry are absolute positions in the file, and are not necessarily arranged in ascending order.
したがって、Chunk Offset Atomのエントリの値を変更するだけで、そのエントリが示すチャンクの位置を任意の場所に設定することが可能である。例えば図6の場合は、チャンクC1のオフセット位置を変更するには、Chunk Offset AtomのエントリE3の値を変更すればよい。本実施の形態では、上記のChunk Offset Atomの特徴を利用してチャンクの再配置処理を行なう。 Therefore, it is possible to set the position of the chunk indicated by the entry to an arbitrary place simply by changing the value of the Chunk Offset Atom entry. For example, in the case of FIG. 6, in order to change the offset position of the chunk C1, the value of the entry E3 of Chunk Offset Atom may be changed. In the present embodiment, chunk rearrangement processing is performed using the characteristics of the above Chunk Offset Atom.
<再配置処理のフロー>
以下、本実施の形態で行われるチャンクの再配置処理の具体的な手順を、図7のフローチャートを用いて説明する。
<Relocation processing flow>
Hereinafter, a specific procedure of the chunk rearrangement process performed in the present embodiment will be described with reference to the flowchart of FIG.
(ステップS71)図4の記録装置において記録動作が開始されると、まず、ファイル作成部5によって出力ファイル8が初期状態で作成される。
(Step S71) When a recording operation is started in the recording apparatus of FIG. 4, first, the output file 8 is created in the initial state by the
図8は、ファイル作成部5によって作成される出力ファイル8の構成を示す図である。ファイル作成部5は、Media Data Atomより前にMovie Atomを書き込むための予約領域として、あらかじめ任意のサイズの空き領域が設定された状態で出力ファイル8を作成する。空き領域は、MP4規格では、「Free Space Atom」(typeフィールドの値は‘free'あるいは‘skip')と呼ばれる空き領域を示すアトムを配置することによって設定できる。以下、この空き領域の先頭オフセット位置をFpと表わす。
FIG. 8 is a diagram showing the configuration of the output file 8 created by the
図8において、Movie Atomの先頭オフセット位置はMp、Movie AtomのサイズはMs(=Fp−Mp)として表される。初期状態ではFpはMpと同じ位置であるが、出力ファイル8にMovie Atomが書き出されるたびに、Fpの位置は(Fp+Ms)の位置に押し下げられる。 In FIG. 8, the first offset position of Movie Atom is represented as Mp, and the size of Movie Atom is represented as Ms (= Fp−Mp). In the initial state, Fp is at the same position as Mp, but each time Movie Atom is written to the output file 8, the position of Fp is pushed down to the position of (Fp + Ms).
Media Data Atomは空き領域の直後に配置され、以降はファイルの末尾にチャンクデータが順次書き込まれていく。図8では、Media Data Atomの先頭オフセットはDpと表わす。すなわち、利用可能な空き領域のサイズは(Dp−Fp)となる。 Media Data Atom is placed immediately after the free space, and thereafter, chunk data is written sequentially at the end of the file. In FIG. 8, the head offset of Media Data Atom is represented as Dp. That is, the size of the available free space is (Dp−Fp).
また、図8では、Media Data Atomに格納されるN個のチャンクの開始オフセット位置はCp[1],Cp[2]・・・Cp[n]、サイズはCs[1],Cs[2]・・・Cs[n]と表わす。(Cp[1]−Dp)は、Media Data Atomのヘッダのバイト長、すなわち(sizeof(size)+sizeof(type)=8)となる。図8で示されるオフセット位置及びサイズは、管理情報記憶部6によって初期化され、以降記録動作が終了するまで管理される。 In FIG. 8, the start offset positions of the N chunks stored in the Media Data Atom are Cp [1], Cp [2]... Cp [n], and the sizes are Cs [1], Cs [2]. ... Cs [n]. (Cp [1] −Dp) is the byte length of the header of Media Data Atom, that is, (sizeof (size) + sizeof (type) = 8). The offset position and size shown in FIG. 8 are initialized by the management information storage unit 6 and managed thereafter until the recording operation ends.
(ステップS72)ファイル出力部5は、サンプルのデータを受け取ると、出力ファイル8の末尾に出力していく。出力はサンプルを受け取るたびに行われても、複数のサンプルをまとめて出力してもよい。
(Step S <b> 72) Upon receiving the sample data, the
(ステップS73)管理情報記憶部6は、ステップS72において渡されたサンプルの管理情報をファイル出力部5から受け取り、内部的に保管する。同時に、受け取った管理情報を含むすべての管理情報をMovie Atom形式にしたときのサイズを計算し、算出されたサイズをMsとして記憶する。
(Step S73) The management information storage unit 6 receives the management information of the sample passed in step S72 from the
(ステップS74)管理情報記憶部6は、Fpで示されるMovie Atomの末尾オフセット位置が、Media Data Atomの先頭オフセット位置Dpを超えるかどうかをチェックする。
Movie AtomがMedia Data Atomと重なる場合、すなわち(Fp>Dp)の場合は、Media Data Atomの内容がMovie Atomの内容で上書きされてしまうため、チャンク再配置処理を行なうためステップS74以降の処理に進む。(Fp<=Dp)の場合は、チャンク再配置は不要なのでステップS72に戻る。
(Step S74) The management information storage unit 6 checks whether or not the end offset position of Movie Atom indicated by Fp exceeds the start offset position Dp of Media Data Atom.
When Movie Atom overlaps with Media Data Atom, that is, when (Fp> Dp), the content of Media Data Atom is overwritten with the content of Movie Atom. move on. In the case of (Fp <= Dp), chunk rearrangement is unnecessary, and the process returns to step S72.
(ステップS75)管理情報記憶部6は、データ構造再配置部7にチャンクの再配置を行なうよう要求する。データ構造再配置部7は、管理情報記憶部6に保管されている管理情報からMedia Data Atomの先頭に記録されているチャンクのオフセット位置Cp[1]及びサイズCs[1]を取得し、Cp[1]からCp[2]までの先頭チャンクのデータをファイル末尾にコピーする。 (Step S75) The management information storage unit 6 requests the data structure rearrangement unit 7 to rearrange chunks. The data structure rearrangement unit 7 acquires the offset position Cp [1] and the size Cs [1] of the chunk recorded at the head of the Media Data Atom from the management information stored in the management information storage unit 6, and Cp Data of the first chunk from [1] to Cp [2] is copied to the end of the file.
その際、データ構造再配置部7は、まずMedia Data Atomのsizeフィールドの値にコピーするチャンクのサイズCs[1]を加算してMedia Data Atomの領域を拡張したのち、ファイル末尾に先頭チャンクのデータを追加する。 At this time, the data structure rearrangement unit 7 first expands the area of the Media Data Atom by adding the size Cs [1] of the chunk to be copied to the value of the size field of the Media Data Atom, and then the first chunk at the end of the file. Add data.
なお、管理情報記憶部6は、上記Cp[1]の取得処理を効率的に行なうため、先頭チャンクの位置を記憶しておくようにしてもよい。先頭チャンクのオフセット位置は初期状態ではファイルの末尾位置であり、以降再配置が発生した時点で更新される。 The management information storage unit 6 may store the position of the leading chunk in order to efficiently perform the Cp [1] acquisition process. The offset position of the first chunk is the end position of the file in the initial state, and is updated when relocation occurs thereafter.
(ステップS76)データ構造再配置部7は、先頭チャンクのデータをコピーし終えたら、コピーされたチャンクのオフセット位置がコピー先の位置になるよう、管理情報記憶部6で管理されているChunk Offset Atomのエントリを更新する。エントリが更新された時点で、コピー元の位置にあるチャンクのデータはどこからも参照されることはなくなる。 (Step S76) When the data structure rearrangement unit 7 finishes copying the data of the first chunk, the Chunk Offset managed by the management information storage unit 6 so that the offset position of the copied chunk becomes the copy destination position. Update the Atom entry. When the entry is updated, the chunk data at the copy source position is not referenced from anywhere.
(ステップS77)データ構造再配置部7は、管理情報記憶部6から2番目のチャンクのオフセット位置Cp[2]を取得し、Media Data AtomのヘッダをCp[2]の直前にコピーする。 (Step S77) The data structure rearrangement unit 7 acquires the offset position Cp [2] of the second chunk from the management information storage unit 6, and copies the header of Media Data Atom immediately before Cp [2].
データ構造再配置部7は、Media Data Atomのヘッダをコピーする際に、アトムのサイズがCs[2]からCs[n]の総サイズと等しくなるよう、、sizeフィールドの値を更新する。 When copying the header of Media Data Atom, the data structure rearrangement unit 7 updates the value of the size field so that the atom size is equal to the total size of Cs [2] to Cs [n].
コピー完了時点で、Media Data Atomのヘッダは2つ存在することになるが、新しくコピーされたヘッダは後続のステップS78の処理が完了した時点ではじめて参照されるようになるため、通常は問題は発生しない。 There are two Media Data Atom headers at the time of copying completion, but the newly copied header will be referenced for the first time when the processing of the subsequent step S78 is completed. Does not occur.
ただし、再配置されるチャンクのサイズがMedia Data Atomのヘッダよりも小さい場合、すなわち7バイト以下の場合は、ステップS77のコピー処理によって既存のMedia Data Atomのヘッダの内容は破壊されてしまい、ステップS78の処理が完了するまで一時的にMedia Data Atomが参照不能な状態が発生してしまう。したがって、本実施形態においては、チャンクは少なくとも8バイト以上のデータブロックにして記録することが望ましい。 However, if the size of the chunk to be rearranged is smaller than the Media Data Atom header, that is, if it is 7 bytes or less, the content of the existing Media Data Atom header is destroyed by the copy processing in step S77, and the step Until the processing of S78 is completed, the Media Data Atom cannot be referred to temporarily. Therefore, in the present embodiment, it is desirable to record the chunk as a data block of at least 8 bytes or more.
(ステップS78)データ構造再配置部7は、管理情報記憶部6からFp及びステップS77でコピーしたMedia Data Atomの先頭オフセット位置(Cp[2]−8)を取得し、両者間の領域を空き領域にする。 (Step S78) The data structure rearrangement unit 7 obtains the Fp from the management information storage unit 6 and the head offset position (Cp [2] -8) of the Media Data Atom copied in step S77, and frees the area between the two. Make it an area.
データ構造再配置部7は、Fpの位置に存在するFree Space Atomのsizeフィールドの値を、(Fp+(Cp[2]−8))に更新することによって、空き領域を拡張する。
Free Space Atomの拡張が完了したら、管理情報記憶部6で記憶されているDpの値を、Media Data Atomの先頭オフセット位置(Cp[2]−8)に更新する。
The data structure rearrangement unit 7 extends the free space by updating the value of the size field of the Free Space Atom existing at the position of Fp to (Fp + (Cp [2] −8)).
When the expansion of Free Space Atom is completed, the value of Dp stored in the management information storage unit 6 is updated to the head offset position (Cp [2] -8) of Media Data Atom.
以降、ステップS74に戻り、Movie Atomの内容が予約領域内に収まるようになるまで再配置処理が繰り返し行われる。なお、ステップS74に戻る前のチャンクのオフセット表現Cp[2]〜Cp[n+1]は、ステップS74に戻った後はCp[1]〜Cp[n]として処理する。上記のステップによってチャンクの再配置が実行され、出力ファイル8には常に管理情報が十分記録できる領域が確保されている状態が維持される。 Thereafter, the process returns to step S74, and the rearrangement process is repeatedly performed until the contents of Movie Atom are within the reserved area. The chunk offset expressions Cp [2] to Cp [n + 1] before returning to step S74 are processed as Cp [1] to Cp [n] after returning to step S74. Chunk rearrangement is executed by the above steps, and the output file 8 always maintains a state where an area where management information can be sufficiently recorded is secured.
図7のフローチャートでは、管理情報を出力ファイル8に出力するタイミングは明記していないが、実際にはステップS72以降の任意のタイミングで管理情報を書き出すことが可能である。管理情報の出力を定期的に行なうようにすれば、その時点で正しく再生可能なMP4ファイルができる。 In the flowchart of FIG. 7, the timing at which the management information is output to the output file 8 is not specified, but it is actually possible to write the management information at an arbitrary timing after step S72. If the management information is output periodically, an MP4 file that can be correctly played back at that time can be obtained.
以上説明した方法によれば、管理情報をファイルに出力する際に、メディアデータのマージ処理を行なわずに管理情報データのみ出力すれば良くなるため、ファイル出力に要する時間を短縮できるようになる。 According to the method described above, when management information is output to a file, it is only necessary to output management information data without performing media data merging processing, so that the time required for file output can be shortened.
一般的なMP4ファイルでは、メディアデータの方が管理情報よりもサイズが大きくなるケースが多いため、マージ処理が不要になれば、出力すべきデータ量と出力に要する時間は半分以下になることが期待できる。 In general MP4 files, media data is often larger in size than management information, so if merge processing is not required, the amount of data to be output and the time required for output may be less than half. I can expect.
チャンクの再配置が発生した場合はメディアデータの再入出力処理が発生するが、その際のデータサイズは処理対象となるチャンクの総量に限定されるため、従来のマージ処理と比較して再入出力されるメディアデータのサイズは小さくて済む。あらかじめ十分な予約領域が確保されていれば、チャンクの再配置が発生しないこともあるため、メディアデータの再入出力を一切行なわずに済むこともある。 When chunk rearrangement occurs, media data re-input / output processing occurs, but the data size at that time is limited to the total amount of chunks to be processed, so re-entry compared to conventional merge processing. The output media data size can be small. If a sufficient reserved area is secured in advance, chunk rearrangement may not occur, and therefore, media data may not be re-input / output at all.
また、以上の方法によれば、メディアデータは直接MP4ファイルに出力されるため、一時記憶領域は管理情報を保持できるだけの容量で済む。その結果、装置に搭載する一時記憶を小さくしてコストを削減させたり、記録可能な時間の上限値を長くして性能を上げたりといった効果が得られるようになる。 Further, according to the above method, since the media data is directly output to the MP4 file, the temporary storage area only needs to have a capacity capable of holding the management information. As a result, it is possible to obtain an effect of reducing the cost by reducing the temporary storage installed in the apparatus or increasing the performance by increasing the upper limit value of the recordable time.
<第2の実施の形態>
第2の実施の形態として、末尾のチャンクを予約領域に戻すような再配置を行なう処理を説明する。
上記第1の実施の形態において、最初に確保される予約領域のサイズが大きすぎる場合は、記録完了の時点でファイル冒頭部に大量の未使用領域が残ってしまい、結果としてMP4ファイルのサイズが不必要に増大してしまう。第2の実施の形態では、ファイルの領域を有効に活用するため、記録完了後に末尾のチャンクを前方に再配置することによって、予約領域の余剰分をメディアデータ領域として再利用するといった処理について説明する。
<Second Embodiment>
As a second embodiment, a process for performing rearrangement for returning the last chunk to the reserved area will be described.
In the first embodiment, if the size of the reserved area that is initially secured is too large, a large amount of unused area remains at the beginning of the file when recording is completed. As a result, the size of the MP4 file is reduced. It will increase unnecessarily. In the second embodiment, in order to make effective use of the file area, processing for reusing the remaining reserved area as the media data area by rearranging the last chunk after completion of recording will be described. To do.
なお、環境によっては、ファイルの終了位置を指定することでファイルサイズを拡張・縮小する機能が提供されているものもあるが、本実施の形態の実行環境では、記録完了時にこの機能を利用してファイルサイズを縮小することが可能であるものとする。 Depending on the environment, there is a function that expands / reduces the file size by specifying the end position of the file.In the execution environment of this embodiment, this function is used when recording is completed. It is possible to reduce the file size.
<再配置処理のフロー>
以下、図9のフローチャートを用いて、メディアデータの記録が完了した後に実行される前方へのチャンク再配置処理を説明する。なお、説明において使用されるオフセット位置やサイズなどの表現は、第1の実施の形態と同様に、図8で示される記号を用いる。
<Relocation processing flow>
The forward chunk rearrangement process executed after the recording of the media data is completed will be described below using the flowchart of FIG. In addition, symbols such as those shown in FIG. 8 are used for expressions such as offset positions and sizes used in the description, as in the first embodiment.
(ステップS91)図4の記録装置においてメディアデータの記録が終了すると、管理情報記憶部6は、現在の空き領域のサイズFsと、出力ファイル8の末尾に記録されているチャンクnのサイズCs[n]とを比較し、チャンクの再配置が可能であるかどうかをチェックする。 (Step S91) When the recording of the media data is completed in the recording apparatus of FIG. 4, the management information storage unit 6 determines the size Fs of the current free area and the size Cs [ n] and check whether the chunk can be rearranged.
このチェックの結果、
(Fs>=Cs[n])の場合は、ステップS92に進み、末尾のチャンクを前方に移動する処理を行なう。さもなければ、チャンク再配置処理は不要なので、その時点で処理を終了する。
As a result of this check,
In the case of (Fs> = Cs [n]), the process proceeds to step S92, and a process of moving the last chunk forward is performed. Otherwise, the chunk rearrangement process is unnecessary, and the process ends at that point.
(ステップS92)管理情報記憶部6は、データ構造再配置部7にチャンクの再配置を行なうよう要求する。データ構造再配置部7はまず、管理情報記憶部6からMedia Data Atomの開始位置Dp及び再配置対象のチャンクnのサイズCs[n]を取得し、Media Data Atomのヘッダ部を再配置後のオフセット位置(Dp−Cs[n])にコピーする。 (Step S92) The management information storage unit 6 requests the data structure rearrangement unit 7 to rearrange chunks. First, the data structure rearrangement unit 7 obtains the start position Dp of Media Data Atom and the size Cs [n] of the chunk n to be rearranged from the management information storage unit 6, and after the rearrangement of the header part of the Media Data Atom Copy to the offset position (Dp-Cs [n]).
その際、データ構造再配置部7はコピーされるMedia Data Atomのsizeフィールドの値にCs[n]を加算した状態でコピーを行なう。すなわち、コピー直後のMedia Data Atomには、再配置されるチャンクnが含まれている状態になっている。 At this time, the data structure rearrangement unit 7 performs copying in a state where Cs [n] is added to the value of the size field of the Media Data Atom to be copied. That is, the Media Data Atom immediately after copying contains a chunk n to be rearranged.
Media Data Atomのヘッダ部のコピーが完了したら、管理情報記憶部6で記憶されているDpの値を、Media Data Atomの先頭オフセット位置(Dp−Cs[n])に更新する。なお、上記第1の実施の形態のステップS77で説明したように、(Cs[n]<8)の場合は、既存のMedia Data Atomのヘッダが上書きされてしまうため、チャンクのサイズは8バイト以上になっていることが望ましい。 When copying of the header part of Media Data Atom is completed, the value of Dp stored in the management information storage unit 6 is updated to the head offset position (Dp-Cs [n]) of Media Data Atom. As described in step S77 of the first embodiment, in the case of (Cs [n] <8), the existing Media Data Atom header is overwritten, so the chunk size is 8 bytes. The above is desirable.
(ステップS93)データ構造再配置部7は、管理情報記憶部6からFp及びFsを取得し、Fpの位置に存在するFree Space Atomのsizeフィールドの値を、(Fp―Dp)に更新することによって、空き領域のサイズを縮小する。同時に、管理情報記憶部6で記憶されているFsの値を(Fp―Dp)に更新する。 (Step S93) The data structure rearrangement unit 7 acquires Fp and Fs from the management information storage unit 6, and updates the value of the size field of the Free Space Atom existing at the position of Fp to (Fp−Dp). To reduce the size of the free space. At the same time, the value of Fs stored in the management information storage unit 6 is updated to (Fp−Dp).
(ステップS94)データ構造再配置部7は、ステップS92で取得されたオフセット位置Cp[n]及びサイズCs[n]をもとに、末尾のチャンクnをステップS92でコピーされたMedia Data Atomのヘッダ直後の位置(Dp+8)にコピーする。 (Step S94) Based on the offset position Cp [n] and the size Cs [n] acquired in step S92, the data structure rearrangement unit 7 stores the last chunk n of the Media Data Atom copied in step S92. Copy to the position (Dp + 8) immediately after the header.
(ステップS95)データ構造再配置部7は、末尾チャンクnのデータをコピーし終えたら、Chunk Offset Atom中の末尾チャンクnに対応するエントリに記録されているオフセット位置を、コピー先の位置に変更する。エントリが更新された時点で、コピー元の位置にあるチャンクのデータはどこからも参照されることはなくなる。 (Step S95) When the data structure rearrangement unit 7 finishes copying the data of the end chunk n, it changes the offset position recorded in the entry corresponding to the end chunk n in the Chunk Offset Atom to the copy destination position. To do. When the entry is updated, the chunk data at the copy source position is not referenced from anywhere.
(ステップS96)データ構造再配置部7は、ステップS92でコピーされたMedia Data Atomのsizeフィールドの値から、再配置されたチャンクnのサイズCs[n]を減算した値を再度設定する。その結果、Media Data Atomから再配置を行なう前のチャンクnのデータは除外され、sizeフィールドの内容は再配置処理が行われる前の状態に戻ることになる。 (Step S96) The data structure rearrangement unit 7 sets again a value obtained by subtracting the size Cs [n] of the rearranged chunk n from the value of the size field of the Media Data Atom copied in step S92. As a result, the data of chunk n before relocation is excluded from Media Data Atom, and the contents of the size field return to the state before relocation processing is performed.
(ステップS97)データ構造再配置部7は、実行環境が提供するファイルサイズの変更機能を用いて、ファイルサイズをチャンクnの再配置前のオフセット位置Cp[n]に変更する。その結果、ファイルサイズは再配置前と比較してCs[n]だけ縮小される。 (Step S97) The data structure rearrangement unit 7 uses the file size change function provided by the execution environment to change the file size to the offset position Cp [n] before the rearrangement of the chunk n. As a result, the file size is reduced by Cs [n] compared to before the rearrangement.
以降、ステップS91に戻り、空き領域が十分に小さくなるまで再配置処理が繰り返し行われる。なお、ステップS91に戻る前のチャンクのオフセット表現Cp[1]〜Cp[n−1]は、ステップS91に戻った後はCp[2]〜Cp[n]として、Cp[n]はCp[1]として処理する。 Thereafter, the process returns to step S91, and the rearrangement process is repeatedly performed until the free area becomes sufficiently small. Note that the chunk offset expressions Cp [1] to Cp [n−1] before returning to step S91 are Cp [2] to Cp [n] after returning to step S91, and Cp [n] is Cp [n]. 1].
以上説明した方法によれば、上記第1の実施の形態では不必要に大きくなっていた出力ファイルのサイズを、現実的なサイズまで縮小することができるようになる。 According to the method described above, the size of the output file that has become unnecessarily large in the first embodiment can be reduced to a realistic size.
<他の実施の形態>
本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、ライター、エンコーダなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、ビデオカメラ装置など)に適用してもよい。
<Other embodiments>
The present invention can be applied to a system constituted by a plurality of devices (for example, a host computer, an interface device, a writer, an encoder, etc.) or to a device (for example, a video camera device, etc.) comprising a single device. Good.
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。 Another object of the present invention is to supply a storage medium (or recording medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or CPU) of the system or apparatus. Needless to say, this can also be achieved by the MPU) reading and executing the program code stored in the storage medium.
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, after the program code read from the storage medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。 When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.
1 動画像入力部
2 音声入力部
3 動画像符号化部
4 音声符号化部
5 ファイル出力部
6 管理情報記憶部
7 データ構造再配置部
8 出力ファイル
10 記録部
DESCRIPTION OF
Claims (8)
上記ファイル中に上記管理情報を一括して記録するための予約領域を生成する予約領域生成処理と、
上記チャンクデータを上記ファイル中の異なる位置に再配置するデータ再配置処理とを有し、
上記チャンクデータを上記ファイル中の異なる位置に再配置することによって上記予約領域のサイズを変更するようにしたことを特徴とするファイル記録方法。 A file recording method for recording sample data consisting of encoded data of moving images or audio, chunk data consisting of a plurality of the sample data, and management information for managing the sample data and chunk data in a file,
A reserved area generating process for generating a reserved area for recording the management information in the file in a batch;
Data relocation processing for relocating the chunk data to a different position in the file,
A file recording method, wherein the size of the reserved area is changed by rearranging the chunk data at a different position in the file.
上記ファイル中に上記管理情報を一括して記録するための予約領域を生成する予約領域生成手段と、
上記チャンクデータを上記ファイル中の異なる位置に再配置するデータ再配置手段とを備え、
上記データ再配置手段は、上記チャンクデータを上記ファイル中の異なる位置に再配置することによって上記予約領域のサイズを変更することを特徴とするファイル記録装置。 A file recording apparatus for recording sample data consisting of encoded data of moving images or audio, chunk data consisting of a plurality of the sample data, and management information for managing the sample data and chunk data in a file,
Reserved area generating means for generating a reserved area for collectively recording the management information in the file;
Data rearrangement means for rearranging the chunk data at different positions in the file,
The file recording apparatus, wherein the data rearrangement means changes the size of the reserved area by rearranging the chunk data at a different position in the file.
上記サイズ管理手段は、上記管理情報のサイズが上記予約領域のサイズよりも大きい場合には、上記データ再配置手段に対して上記チャンクデータの再配置を行なうように要求し、
上記データ再配置手段により、連続している上記チャンクデータにおける先頭のチャンクデータを上記ファイルの末尾に再配置する処理を行なうことによって、上記管理情報及び上記予約領域のサイズを更新することを特徴とする請求項2に記載のファイル記録装置。 Size management means for managing the size of the management information and the reserved area;
The size management means requests the data relocation means to relocate the chunk data when the size of the management information is larger than the size of the reserved area;
The management information and the size of the reserved area are updated by performing a process of rearranging the first chunk data in the continuous chunk data at the end of the file by the data rearrangement unit. The file recording apparatus according to claim 2.
上記サイズ管理手段は、上記予約領域のうち上記管理情報の記録に用いられない未使用領域のサイズを管理し、上記未使用領域のサイズが上記ファイルの末尾に配置されているチャンクデータのサイズ以下である場合には上記データ再配置手段に対して上記チャンクデータの再配置を行なうように要求し、
上記データ再配置手段により、上記ファイルの末尾のチャンクデータを上記未使用領域に再配置する処理を行なうことにより、上記管理情報及び上記予約領域のサイズを更新することを特徴とする請求項2に記載のファイル記録装置。 Size management means for managing the size of the management information and the reserved area;
The size management means manages the size of an unused area that is not used for recording the management information in the reserved area, and the size of the unused area is equal to or less than the size of chunk data arranged at the end of the file. If so, the data relocation means is requested to relocate the chunk data,
The size of the management information and the reserved area is updated by performing a process of rearranging the chunk data at the end of the file in the unused area by the data rearranging means. The file recording device described.
上記ファイル中に上記管理情報を一括して記録するための予約領域を生成する予約領域生成処理と、
上記チャンクデータを上記ファイル中の異なる位置に再配置するデータ再配置処理と、
上記データ再配置処理において、上記予約領域のサイズを変更する処理とをコンピュータに実行させることを特徴とするコンピュータプログラム。 A file recording method for recording sample data consisting of encoded data of moving images or audio, chunk data consisting of a plurality of the sample data, and management information for managing the sample data and chunk data in a file,
A reserved area generating process for generating a reserved area for recording the management information in the file in a batch;
A data relocation process for relocating the chunk data to a different position in the file;
A computer program for causing a computer to execute processing for changing the size of the reserved area in the data rearrangement processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003295456A JP2005065110A (en) | 2003-08-19 | 2003-08-19 | File recording method, file recorder, computer program and computer readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003295456A JP2005065110A (en) | 2003-08-19 | 2003-08-19 | File recording method, file recorder, computer program and computer readable recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005065110A true JP2005065110A (en) | 2005-03-10 |
Family
ID=34371701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003295456A Pending JP2005065110A (en) | 2003-08-19 | 2003-08-19 | File recording method, file recorder, computer program and computer readable recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005065110A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008126311A1 (en) * | 2007-03-30 | 2008-10-23 | Fujitsu Limited | Moving picture recording method and information processing device |
JP2009506475A (en) * | 2005-08-31 | 2009-02-12 | リサーチ・アンド・インダストリアル・コーオペレイション・グループ | Integrated multimedia file format structure and multimedia service system and method based on the integrated multimedia file format structure |
US8009968B2 (en) | 2005-06-17 | 2011-08-30 | Sony Corporation | Recording apparatus, recording method, program, recording medium, and data recording medium |
JP2013034226A (en) * | 2012-09-26 | 2013-02-14 | Canon Inc | Information transmitter and control method and program of the same |
-
2003
- 2003-08-19 JP JP2003295456A patent/JP2005065110A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8009968B2 (en) | 2005-06-17 | 2011-08-30 | Sony Corporation | Recording apparatus, recording method, program, recording medium, and data recording medium |
JP2009506475A (en) * | 2005-08-31 | 2009-02-12 | リサーチ・アンド・インダストリアル・コーオペレイション・グループ | Integrated multimedia file format structure and multimedia service system and method based on the integrated multimedia file format structure |
WO2008126311A1 (en) * | 2007-03-30 | 2008-10-23 | Fujitsu Limited | Moving picture recording method and information processing device |
JPWO2008126311A1 (en) * | 2007-03-30 | 2010-07-22 | 富士通株式会社 | Video recording method and information processing apparatus |
JP4985766B2 (en) * | 2007-03-30 | 2012-07-25 | 富士通株式会社 | Video recording method and information processing apparatus |
US8526777B2 (en) | 2007-03-30 | 2013-09-03 | Fujitsu Limited | Moving image recording method and information processing device |
JP2013034226A (en) * | 2012-09-26 | 2013-02-14 | Canon Inc | Information transmitter and control method and program of the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8953927B2 (en) | Data processing system, apparatus and method for processing information, recording and playback apparatus, and computer program | |
JP2008243367A (en) | Method and device for recording broadcast data | |
US8165455B2 (en) | Data processing apparatus and data processing method, and computer program | |
US8270813B2 (en) | Apparatus, method and computer program for processing information | |
JP2002529884A (en) | Signal processing on information files to obtain characteristic point information sequences | |
US8255590B2 (en) | Image file transfer apparatus that detect whether transferred image files to an external device has been aborted or not | |
US20090047002A1 (en) | Data processing apparatus and data processing method, and computer program | |
CN1321526C (en) | Moving image editing apparatus and its control method | |
WO2008018311A1 (en) | Data processing device, data processing method, and computer program | |
JP4251219B2 (en) | Editing apparatus and editing method | |
JP4241839B2 (en) | Data and file system information recording apparatus and recording method | |
CN100454430C (en) | Recording apparatus | |
JP2006074391A (en) | File recording method and recorder | |
JP2005065110A (en) | File recording method, file recorder, computer program and computer readable recording medium | |
JP2005005810A (en) | Media data management method, disk recording apparatus, disk player, media data management system, computer program, and computer-readable recording medium | |
JP7468530B2 (en) | File processing device, file processing method, and program | |
US8200067B2 (en) | Processing of scalable compressed video data formats for nonlinear video editing systems | |
KR20190061549A (en) | File system and method of storing files based on the file system | |
JP4274783B2 (en) | Recording device | |
JP2004363825A (en) | Recording and reproducing device, recording and reproducing method, and recording medium and program therefor | |
US8423743B2 (en) | Method to divide a file or merge files using file allocation table (FAT) | |
JP2008310889A (en) | Recording and reproducing device | |
US8565584B2 (en) | Editing apparatus and editing method | |
JP2002373480A (en) | Data-recording method, data recorder and recording medium | |
JP4724551B2 (en) | Moving image processing apparatus and moving image processing method |