JP2022095374A - Moving image file creation device, creation method for the same, and program - Google Patents
Moving image file creation device, creation method for the same, and program Download PDFInfo
- Publication number
- JP2022095374A JP2022095374A JP2020208663A JP2020208663A JP2022095374A JP 2022095374 A JP2022095374 A JP 2022095374A JP 2020208663 A JP2020208663 A JP 2020208663A JP 2020208663 A JP2020208663 A JP 2020208663A JP 2022095374 A JP2022095374 A JP 2022095374A
- Authority
- JP
- Japan
- Prior art keywords
- moving image
- divided
- data
- file
- image data
- 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
- Television Signal Processing For Recording (AREA)
Abstract
Description
本発明は、動画ファイル生成装置、その生成方法、およびプログラムに関する。 The present invention relates to a moving image file generator, a method for generating the same, and a program.
撮像装置などの情報処理装置には、たとえば撮像された動画データなどを扱うために動画ファイル生成装置を有するものがある。このような動画データには、たとえばISO/IEC14496-14:2003で標準化されているMP4形式の動画ファイルによるものがある。動画ファイルでは、動画の開始から終了までのすべての動画データが記録する。動画ファイル生成装置は、撮像などによる動画データについての動画ファイルを、たとえばSDカードなどの外付けの記録媒体に記録する。 Some information processing devices such as an image pickup device have a moving image file generation device for handling captured moving image data and the like. Such video data includes, for example, MP4 format video files standardized by ISO / IEC 14496-14: 2003. In the video file, all video data from the start to the end of the video is recorded. The moving image file generation device records a moving image file about moving image data by imaging or the like on an external recording medium such as an SD card.
ところで、近年、外付けの記録媒体が大容量化している。また、ライブ映像発信の機会は増加している。これらの要因により、1つの動画データについての動画ファイルの連続時間は、長くなる傾向にある。撮像装置などの情報処理装置には、たとえば数時間以上の動画データを生成できるようにすることが求められる。 By the way, in recent years, the capacity of external recording media has increased. In addition, opportunities for live video transmission are increasing. Due to these factors, the continuous time of a moving image file for one moving image data tends to be long. Information processing devices such as image pickup devices are required to be able to generate moving image data for, for example, several hours or more.
その一方で、特に長時間の動画データの動画ファイルについては、既に生成されている動画ファイルの動画データについて編集処理をする機会が増えている。動画データの編集処理では、撮像時に生成したMP4形式の動画ファイルをもとに、不要な部分である前後の動画データをカットしてその一部を切り出すことがある。そして、編集処理では、編集元のデータ量が多くなると、その読み込みや更新などに時間がかかる。たとえば長時間記録したMP4形式の動画ファイルのサイズが大きい場合、その動画ファイルをコンピュータ装置などへコピーする際に長い待ち時間が発生したり、動画データにおいて所望のシーンをサーチするまでに長い時間を要したりする。特に、画像データの一部を切り出す編集処理では、切り出し処理のたびに、切り出した画像データを再生できるようにするために動画ファイルの再構築が必要になる。また、画像ファイルを外部装置へ送信する場合にも、外部装置において画像ファイルの内容を確認できるようになるまでに長い待ち時間が発生し得る。 On the other hand, especially for video files of long-time video data, there are increasing opportunities to edit the video data of already generated video files. In the video data editing process, the video data before and after the unnecessary part may be cut and a part thereof may be cut out based on the MP4 format video file generated at the time of imaging. Then, in the editing process, when the amount of data of the editing source becomes large, it takes time to read or update the data. For example, if the size of an MP4 format video file recorded for a long time is large, a long waiting time may occur when copying the video file to a computer device, or it may take a long time to search for a desired scene in the video data. I need it. In particular, in the editing process for cutting out a part of the image data, it is necessary to reconstruct the moving image file so that the cut out image data can be played back each time the cutting process is performed. Further, even when the image file is transmitted to the external device, a long waiting time may occur until the content of the image file can be confirmed by the external device.
特許文献1では、MPEG Audio形式の音声ファイルのGOP境界を、記録媒体での記録の最小単位であるクラスタについての切れ目であるクラスタ境界に揃えている。これにより、動画ファイルの動画データは、クラスタごとに切り出し易くなる可能性がある。
In
しかしながら、特許文献1のように、動画ファイルに含まれるGOP境界を、記録媒体での記録の最小単位であるクラスタについての切れ目であるクラスタ境界に揃えて、クラスタごとに動画データを分割したとしても、編集処理が効率的になるとは言えない。編集処理により動画ファイルからクラスタごとに切り出した分割動画データを再生できるようにするためには、切り出したクラスタごとの分割動画データについての新たな管理情報を一から生成する必要がある。このように動画データが予めクラスタごとに分割されていたとしても、その一部を切り出した動画データを再生できるようにするためには、切り出したクラスタごとの分割動画データについての動画ファイルを再構築する必要がある。
However, even if the GOP boundary included in the moving image file is aligned with the cluster boundary which is the break for the cluster which is the minimum unit of recording on the recording medium as in
上述の課題を解決するために、本発明は、動画データの動画ファイルの編集処理を簡潔に行うことが可能な動画ファイルを生成する動画ファイル生成装置、生成方法を提供することを目的特する。 In order to solve the above-mentioned problems, it is an object of the present invention to provide a moving image file generation device and a generation method for generating a moving image file capable of simply editing a moving image file of moving image data.
本発明に係る動画ファイル生成装置は、動画データを取得する取得手段と、前記取得手段により取得される動画データを含む動画ファイルを生成し、生成した動画ファイルを記録媒体に記録するように制御する制御手段と、を有し、前記制御手段は、前記取得手段により取得した動画データを複数の分割動画データに分割し、当該複数の分割動画データと、当該複数の分割動画データにそれぞれ対応する複数の分割管理情報と、前記動画データ全体の全体管理情報とを含む動画ファイルを生成し、前記複数の分割管理情報を、前記全体管理情報から参照されないように生成する。 The moving image file generation device according to the present invention generates an acquisition means for acquiring moving image data and a moving image file including the moving image data acquired by the acquisition means, and controls the generated moving image file to be recorded on a recording medium. The control means has a control means, and the control means divides the moving image data acquired by the acquisition means into a plurality of divided moving image data, and the plurality of divided moving image data and a plurality of corresponding divided moving image data, respectively. A moving image file including the divided management information of the above and the overall management information of the entire moving image data is generated, and the plurality of divided management information is generated so as not to be referred to by the overall management information.
本発明では、動画データの動画ファイルにおける分割などの編集処理を簡潔に実行可能な動画ファイルを生成できる。 INDUSTRIAL APPLICABILITY According to the present invention, it is possible to generate a moving image file in which editing processing such as division of moving image data into a moving image file can be simply executed.
以下、本発明の実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の実施形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は実施形態に記載されている構成によって限定されることはない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. However, the configurations described in the following embodiments are merely examples, and the scope of the present invention is not limited by the configurations described in the embodiments.
[第一実施形態]
図1は、本発明の第一実施形態に係る動画ストリームファイル生成装置を有する撮像装置1のブロック図である。図1の撮像装置1は、動画ファイル生成装置として動画を撮像するために、マイクロコンピュータ105とともに、撮像レンズ100、撮像素子101、A/D変換器102、マイクロホン103、A/D変換器104、を有する。マイクロコンピュータ105には、A/D変換器102、A/D変換器104、揮発性メモリ106、静止画コーデック107、動画コーデック108、音声コーデック109、ファイル生成部110、が接続される。マイクロコンピュータ105には、不揮発性メモリ111、外部メモリ112、表示部材113、操作部材114、が接続される。
[First Embodiment]
FIG. 1 is a block diagram of an
撮像レンズ100は、たとえば単焦点レンズ、複数のレンズで構成されるズームレンズ、である。撮像素子101は、たとえばCCDやCMOSセンサである。撮像素子101は、撮像レンズ100によって結像された被写体像を、アナログ映像信号に変換する。A/D変換器102は、撮像素子101に接続され、アナログ映像信号をデジタル映像信号に変換する。マイクロホン103は、たとえば周囲の音を集めて、アナログ音信号に変換する。A/D変換器104は、マイクロホン103に接続され、アナログ音信号をデジタル音信号に変換する。
The
揮発性メモリ106は、たとえば半導体メモリである。揮発性メモリ106は、撮像による動画データや静止画データなどの一時的なデータを記録してよい。揮発性メモリ106は、編集などにより動画データから抜き出される静止画データ、音声データを一時的に記録してよい。静止画コーデック107は、揮発性メモリ106にある静止画データをJPEGフォーマットへ圧縮変換する。動画コーデック108は、揮発性メモリ106にある動画データを、H.264フォーマットへ圧縮変換し、H.264フォーマットのデータを伸長変換する。音声コーデック109は、揮発性メモリ106にある音声データを、AACフォーマットへ圧縮変換し、AACフォーマットのデータを伸長変換する。ファイル生成部110は、静止画コーデック107で変換されたJPEG圧縮データのヘッダファイルを生成し、JPEGフォーマットの静止画ファイルを生成する。ファイル生成部110は、動画コーデック108で生成されたH.264フォーマットのデータおよび音声コーデック109で生成されたAACフォーマットのデータとを多重化して、動画データファイルを生成する。ファイル生成部110は、多重化により生成する動画データファイルについてのヘッダファイルを生成する。動画データファイルには、たとえばMP4形式の動画ストリーミング再生に用いることができるものがある。ファイル生成部110は、動画ストリームファイルの動画データについての編集処理を実行してよい。編集処理には、たとえば編集元の動画データの前後の部分を削除して一部を切り出す処理がある。編集処理には、他にもたとえば、動画データにOSDデータを重畳する処理がある。ファイル生成部110は、編集後の動画データについて、動画ストリームファイルを再構築する処理を実行してよい。
The
外部メモリ112は、たとえばコンパクトフラッシュ(登録商標)、SDカード、スマートメディア、ハードディスクドライブ、である。外部メモリ112は、撮像装置1から取り外し可能に設けられてよい。表示部材113は、たとえば液晶モニタでよい。表示部材113は、撮像装置1の表示部でよい。操作部材114は、たとえばスイッチ、ボタン、タッチパネル、などを有する。操作部材114は、撮像装置1の操作部でよい。不揮発性メモリ111は、たとえば半導体メモリである。不揮発性メモリ111は、マイクロコンピュータ105のプログラムおよびデータを記録してよい。このようなデータには、プログラムの実行に用いる設定データ、動画データへ重畳可能なビットマップデータによるOSDデータ、が含まれてよい。
The
マイクロコンピュータ105は、不揮発性メモリ111からプログラムを読み込んで実行する。これにより、撮像装置1には、各部の動作を制御する制御部が実現される。マイクロコンピュータ105は、たとえば、操作部材114の操作に基づいて、静止画や動画を撮像する。動画を撮像する場合、マイクロコンピュータ105は、デジタル映像信号に含まれる静止画データと、デジタル音信号に含まれる音データとを、揮発性メモリ106に一時的に蓄積する。マイクロコンピュータ105は、揮発性メモリ106に蓄積されている静止画データおよび音データを、静止画コーデック107、動画コーデック108、ファイル生成部110に処理させる。これにより、揮発性メモリ106には、動画データファイルが一時的に記録される。マイクロコンピュータ105は、揮発性メモリ106に記録されている処理後の動画データファイルを、外部メモリ112に記録する。マイクロコンピュータ105は、外部メモリ112には、撮像装置1で撮像して生成された動画データをストリーミング再生するための動画ストリームファイルを、外部メモリ112に記録してよい。
The
この他にもたとえば動画を編集する場合、マイクロコンピュータ105は、外部メモリ112から、編集対象の動画ストリームファイルのデータを読み込み、揮発性メモリ106に記録する。マイクロコンピュータ105は、揮発性メモリ106に読み出された動画ストリームファイルの動画データの一部を切り出し、必要に応じて静止画コーデック107、動画コーデック108、ファイル生成部110に処理させる。これにより、揮発性メモリ106には、切り出された動画データをストリーミング再生するための新たな動画データファイルが一時的に記録される。マイクロコンピュータ105は、揮発性メモリ106に記録されている処理後の動画データファイルを、外部メモリ112に記録する。マイクロコンピュータ105は、外部メモリ112には、編集処理により生成された動画データをストリーミング再生するための動画ストリームファイルを、外部メモリ112に記録してよい。
In addition to this, for example, when editing a moving image, the
この他にもたとえば動画を再生する場合、マイクロコンピュータ105は、外部メモリ112から再生対象の動画ストリームファイルを読み込み、動画データを再生して表示部材113に表示する。このように撮像装置1のマイクロコンピュータ105は、撮像による動画データを生成または取得して、ストリーミング再生可能な動画ストリームファイルを生成することができる。
In addition to this, for example, when playing a moving image, the
図2は、図1の撮像装置1において生成可能な動画ストリームファイル20のファイルフォーマットの一例の説明図である。図2の動画ストリームファイル20は、ISO/IEC14496-14:2003で標準化されているMP4形式のものである。動画ストリームファイル20は、動画ファイルの一例である。図2の動画ストリームファイル20は、符号化された動画データを含むmdatアトム22と、動画データの管理情報を含むmoovアトム21と、を有する。
FIG. 2 is an explanatory diagram of an example of a file format of the moving
mdatアトム22には、動画ストリームファイル20に記録した撮像の開始から終了までのすべての動画データが記録される。mdatアトム22は、複数のチャンク(chunk cN)28を有する。各チャンク28は、複数のサンプル(sample sM)29を有する。各サンプル29は、符号化されたフレームデータ30が対応する。フレームデータ30は、たとえば基本的に撮像された静止画データに対応する。動画データは、連続する複数のフレームデータで構成される。たとえばサンプル(sample s1)29には、I0の符号化されたフレームデータ30が対応する。サンプル(sample s2)29には、B-2の符号化されたフレームデータ30が対応する。サンプル(sample s3)29には、B-1の符号化されたフレームデータ30が対応する。サンプル(sample s4)29には、P3の符号化されたフレームデータ30が対応する。ここで、I0、I1、I2、・・・、Inは、イントラ符号化(フレーム内符号化)されたフレームデータ30である。B0、B1、B2、・・・、Bnは、双方向から参照して符号化(フレーム間符号化)されるフレームデータ30である。P0、P1、P2、・・・、Pnは、一方向(順方向)から参照して符号化(フレーム間符号化)されるフレームデータ30である。いずれの符号化も、可変長でフレームデータ30を符号化している。
The
moovアトム21には、mdatアトム22に記録されている動画データを再生する際に使用する各種の管理情報が記録される。図2のmoovアトム21は、動画ストリームファイル20に格納されている動画データ全体についての全体管理情報である。moovアトム21は、生成日時等が記録されるヘッダ情報を含むmvhdアトム23と、mdatアトム22に格納された動画データに関する情報を入れるtrakアトム24と、を有する。trakアトム24には、stcoアトム25、stscアトム26、stszアトム27、などが含まれる。stcoアトム25は、mdatアトム22の各チャンク28へのオフセット値の情報を格納する。stscアトム26は、各チャンク28のサンプル29の数の情報を格納する。stszアトム27は、各サンプル28のサイズの情報を格納する。stcoアトム25のデータ量、stscアトム26のデータ量、stszアトム27のデータ量は、動画ストリームファイル20に記録される動画データの量、すなわち動画データの記録時間の長さに対応して増減する。たとえば1秒間30フレームの画像データについての15フレームを1つのチャンク28に格納するMP4形式の動画ストリームファイル20では、2時間の記録により1MByte程度のデータ量になる。この場合、moovアトム21には、1MByte程度の容量が必要になる。また、MP4形式の動画ストリームファイル20に記録される動画データが記録時間の経過とともに増大すると、その記録中においても、既に記録しているサイズが大きい動画データを外部メモリ112へ書き出す必要が生じる可能性がある。しかしながら、上述するように、moovアトム21も記録時間に応じてサイズが増減する。したがって、記録が終了するまで、moovアトム21のサイズは不明である。既に記録しているサイズが大きい動画データを、動画ファイルとして書き出すためのオフセット位置などを、適切に決定することは難しい。
Various management information used when playing back the moving image data recorded in the
図3は、MP4形式の動画ストリームファイルのバリエーションの説明図である。図3(a)の動画ストリームファイル31は、図2と同様に、ファイルの先頭にmoovアトム21を含み、moovアトム21の後にmdatアトム22を含む。この場合、動画ストリームファイル31の先頭にmoovアトム21が含まれている。動画ストリームファイル31の先頭のデータを読み込むことにより、動画データをストリーミング再生するための管理情報を読み込むことができる。その後にmdatアトム22に含まれている動画データを読み込む際には、動画データをストリーミング再生するための情報を既に取得できているため、遅滞することなくストリーミング再生を開始できる。図3(a)の動画ストリームファイル31は、動画データのストリーミング再生に適している。
FIG. 3 is an explanatory diagram of variations of an MP4 format video stream file. Similar to FIG. 2, the moving
図3(b)の動画ストリームファイル32は、ファイルの先頭にmdatアトム22を含み、mdatアトム22の後にmoovアトム21を含む。この場合、動画ストリームファイル32の先頭にmdatアトム22が含まれているため、最終的な記録時間などが不明であってtrakアトムのデータ量が不明な状態においても、たとえば撮像などによる動画データの記録を開始することが可能である。撮像中といった記録中においても、上述したオフセット位置などを適宜決定して、既に記録している動画データの一部を外部メモリ112へ書き出すことができる。しかも、撮像による記録が終了して記録時間などが明確になって、trakアトムのデータ量が確定した時点で、mdatアトム22の後に動画データの全体についてのmoovアトム21を記録することができる。
The moving
このようにMP4形式の動画ストリームファイルでは、複数の形式の中から1つを選択することができる。撮像装置1では、最終的な撮像時間が不明な状態での記録が可能であることから、図3(b)の形式での記録が好まれる。しかしながら、図3(b)の形式の動画ストリームファイル32の動画データをストリーミング再生しようとする場合、動画ストリームファイル32の先頭からデータの読み込みを開始することになる。そして、動画ストリームファイル32の最後までを一旦は読み込まないと、動画データをストリーミング再生するために使用するmoovアトム21を読み込むことができない。図3(b)の形式の動画ストリームファイル32は、動画データのストリーミング再生に適していない。動画データのストリーミング再生では、図3(a)の形式の動画ストリームファイル31が望まれる。図3(a)の形式の動画ストリームファイル31では、ファイルの先頭にあるmoovアトム21を読み込むことで、即座に、mdatアトム22に格納されている動画データへアクセスすることができる。図3(a)の形式の動画ストリームファイル31では、ファイルの読み込み開始から遅滞なく、動画データのストリーミング再生を開始することができる。
As described above, in the MP4 format video stream file, one can be selected from a plurality of formats. Since the
図4は、図1のマイクロコンピュータ105が実行可能な撮像時の動画ストリームファイル生成処理のフローチャートである。図1の撮像装置1のマイクロコンピュータ105は、撮像装置1が動画ストリームファイルを生成するために動画データを撮像する場合に、生成手段として、図4の生成処理を実行することができる。また、動画ストリームファイルが最終的に記録される外部メモリ112は、組込機器で一般的に使用されているFAT(FAT Allocation Table)ファイルシステムを使用するものとする。図4の処理により最終的に生成される動画ストリームファイルは、図3(a)の形式のものとなり、ファイルの先頭にmoovアトムを含み、moovアトムの後にmdatアトムを含むものとなる。
FIG. 4 is a flowchart of a moving image stream file generation process at the time of imaging, which can be executed by the
ステップS501において、マイクロコンピュータ105は、動画ストリームファイルを生成するための動画撮像が撮像装置1において開始されたか否かを判断する。マイクロコンピュータ105は、たとえば撮像装置1の操作部材114において動画撮像の開始ボタンが操作されると、動画撮像が開始されたと判断してよい。動画撮像が開始されていない場合、マイクロコンピュータ105は、本処理を繰り返す。動画撮像が開始されると、マイクロコンピュータ105は、処理をステップS502へ進める。ステップS502において、マイクロコンピュータ105は、取得手段として、撮像による動画データを取得して、動画データファイルの生成処理を実行する。動画データファイルの生成処理の詳細は、図5において後述する。また、マイクロコンピュータ105は、たとえば、動画撮像において既に生成している動画データのサイズが非常に大きい場合、その動画データの一部または全部を、揮発性メモリ106から外部メモリ112へ退避する処理を実行してよい。ステップS503において、マイクロコンピュータ105は、全体moovデータの生成処理を実行する。全体moovデータの生成処理の詳細は、図6において後述する。
In step S501, the
ステップS504において、マイクロコンピュータ105は、動画ストリームファイルを生成するための動画撮像が撮像装置1において停止または終了したか否かを判断する。マイクロコンピュータ105は、たとえば撮像装置1の操作部材114において動画撮像の終了ボタンが操作されると、動画撮像が終了したと判断してよい。動画撮像が終了していない場合、マイクロコンピュータ105は、処理をステップS502へ戻す。マイクロコンピュータ105は、動画撮像が終了するまで、ステップS502からステップS504の処理を繰り返す。動画の撮像が継続される。動画撮像が終了すると、マイクロコンピュータ105は、処理をステップS505へ進める。ステップS505において、マイクロコンピュータ105は、ステップS503の処理を繰り返すことにより生成している全体moovデータを用いて、全体moovファイルを生成処理を実行する。マイクロコンピュータ105は、ステップS503で最終的に生成した全体moovデータを含む全体moovファイルを、外部メモリ112に記録する。全体moovファイルの生成処理の詳細は、図7において後述する。ステップS506において、マイクロコンピュータ105は、以上の処理により外部メモリ112に記録した動画データファイルとmoovファイルとについてのファイル結合処理を実行する。外部メモリ112は、FATファイルシステムを使用している。このため、マイクロコンピュータ105は、外部メモリ112のFATを書きかえることにより、外部メモリ112に記録している動画データファイルとmoovファイルとを結合する。ファイル結合処理の詳細は、図8において後述する。これにより、外部メモリ112には、撮像装置1で撮像した動画データをストリーミング再生可能なMP4形式の動画ストリームファイルが生成される。このように撮像装置1のマイクロコンピュータ105は、撮像による動画データを取得して、記録媒体としての外部メモリ112へ記録できる。また、マイクロコンピュータ105は、撮像による動画データの取得を繰り返し、動画データを取得するたびに動画データの全体管理情報である全体moovデータを更新し、最終的な全体管理情報としての全体moovデータを生成できる。
In step S504, the
図5は、図4の動画データファイル生成処理の詳細なフローチャートである。図1の撮像装置1のマイクロコンピュータ105は、図4のステップS502において、図5の動画データファイルの生成処理を実行する。
FIG. 5 is a detailed flowchart of the moving image data file generation process of FIG. The
ステップS601において、マイクロコンピュータ105は、ストリーミング再生に使用可能な動画データの生成処理を実行する。マイクロコンピュータ105は、撮像による動画データを取得すると、揮発性メモリ106に記録する。マイクロコンピュータ105は、画像処理部206に対して、ストリーミング再生に使用可能な動画データの生成を指示する。画像処理部206は、揮発性メモリ106に記録されている撮像による画像データを読み込み、ストリーミング再生に使用可能な動画データを生成する。画像処理部206は、生成した動画データを、揮発性メモリ106に記録する。ステップS602において、マイクロコンピュータ105は、動画データファイルが生成済みであるか否かを判断する。マイクロコンピュータ105は、たとえばステップS601で揮発性メモリ106に記録した動画データを最終的に書きだすためのstream.DATファイルが、外部メモリ112にすでに生成済みであるか否かを判断してよい。stream.DATファイルとは、MP4ファイルのmdatアトムとなるデータを格納するためのファイルである。この時点でのstream.DATファイルは、たとえば、サイズの大きい動画データを撮像している場合に、撮像中に外部メモリ112へ書きだした途中段階のものである。今回の撮像において動画データを一度も外部メモリ112へ書き出していない場合、外部メモリ112には、stream.DATファイルが記録されていない。今回の撮像についてのstream.DATファイルが外部メモリ112に記録されていない場合、マイクロコンピュータ105は、処理をステップS603へ進める。今回の撮像についてのstream.DATファイルがすでに外部メモリ112に記録されている場合、マイクロコンピュータ105は、処理をステップS604へ進める。
In step S601, the
ステップS603において、マイクロコンピュータ105は、今回の撮像についてのstream.DATファイルを、外部メモリ112に新規に生成する。その後、マイクロコンピュータ105は、処理をステップS604へ進める。ステップS604において、マイクロコンピュータ105は、揮発性メモリ106に記録されていれるストリーミング再生に使用可能な動画データを、外部メモリ112に生成されているstream.DATファイルに記録する。外部メモリ112のstream.DATファイルにすでに動画データが記録されている場合、マイクロコンピュータ105は、その後に揮発性メモリ106に記録されていれる動画データを付け足すように記録する。これにより、stream.DATファイルは、更新される。図4のステップS502が繰り返し実行されることにより、マイクロコンピュータ105は、図5の処理を繰り返す。これにより、動画撮像の終了時には、外部メモリ112には、撮像の最初から最後までの動画データが、ストリーミング再生に使用可能な形式で記録される。外部メモリ112には、撮像された動画データをストリーミング再生可能に含むstream.DATファイルが生成される。
In step S603, the
図6は、図4の全体moovデータ生成処理の詳細なフローチャートである。図1の撮像装置1のマイクロコンピュータ105は、図4のステップS503において、図6の全体moovデータ生成処理を実行する。ステップS701において、マイクロコンピュータ105は、揮発性メモリ106に、全体moovデータが生成済みであるか否かを判断する。今回の撮像についての全体moovデータは、図4の処理が開始された直後には生成されていない。今回の撮像についての全体moovデータが生成済みでない場合、マイクロコンピュータ105は、処理をステップS702へ進める。今回の撮像についての全体moovデータが生成済みである場合、マイクロコンピュータ105は、処理をステップS703へ進める。ステップS702において、マイクロコンピュータ105は、揮発性メモリ106に、全体moovデータを新規に生成する。全体moovデータとは、MP4ファイルのmoovアトムとなるデータである。全体moovデータは、動画データと対応するように、stcoアトムのデータ、stscアトムのデータ、stszアトムのデータ、その他の必要なデータを有する。その後、マイクロコンピュータ105は、処理をステップS703へ進める。ステップS703において、マイクロコンピュータ105は、揮発性メモリ106に生成されている全体moovデータを更新する。マイクロコンピュータ105は、処理時点までの画像データに対応するように、全体moovデータに含まれているstcoアトムのデータ、stscアトムのデータ、stszアトムのデータ、その他の必要なデータを更新する。図4のステップS503が繰り返し実行されることにより、マイクロコンピュータ105は、図6の処理を繰り返す。これにより、揮発性メモリ106に生成される全体moovデータは更新される。動画撮像の終了時には、揮発性メモリ106には、撮像された動画データの最初から最後までの全体についての全体moovデータが生成される。
FIG. 6 is a detailed flowchart of the entire moov data generation process of FIG. The
図7は、図4の全体moovファイル生成処理の詳細なフローチャートである。図1の撮像装置1のマイクロコンピュータ105は、図4のステップS505において、図7の全体moovファイルの生成処理を実行する。
FIG. 7 is a detailed flowchart of the entire moov file generation process of FIG. The
ステップS801において、マイクロコンピュータ105は、揮発性メモリ106に生成されている全体moovデータの最終的なサイズが、FATで管理されている外部メモリ112のクラスタサイズアライメントになっているか否かを判断する。FATにおけるクラスタサイズとは、データを記録したことによって、使用してしまうデータ単位サイズのことである。仮にクラスタサイズが32KByteである場合、1Byteのデータを記録したとしても、32KByteの領域が使用されることになる。マイクロコンピュータ105は、全体moovデータの最終的なサイズが、クラスタサイズの倍数になっているか否かを判断してよい。全体moovデータの最終的なサイズがクラスタサイズの倍数となっていない場合、マイクロコンピュータ105は、処理をステップS802へ進める。たとえば全体moovデータが50KByteであり、外部メモリ112のクラスタサイズが32KByteである場合、全体moovデータの最終的なサイズはクラスタサイズの倍数となっていない。マイクロコンピュータ105は、処理をステップS802へ進める。全体moovデータの最終的なサイズがクラスタサイズの倍数となっている場合、マイクロコンピュータ105は、処理をステップS803へ進める。たとえば全体moovデータが64KByteであり、外部メモリ112のクラスタサイズが32KByteである場合、全体moovデータの最終的なサイズはクラスタサイズの倍数となる。マイクロコンピュータ105は、処理をステップS803へ進める。
In step S801, the
ステップS802において、マイクロコンピュータ105は、freeアトムの追加処理を実行する。マイクロコンピュータ105は、クラスタアライメントサイズでない全体moovデータに対してfreeアトムを付け足して、全体moovデータをクラスタサイズアライメントとする。freeアトムは、元の全体moovデータの後に付け足されてよい。これにより、全体moovデータは、外部メモリ112のクラスタサイズの倍数のものになる。ここで、freeアトムとは、文字通り自由に定義できるデータであり、一般的には空白を示すデータが使用されている。たとえば元の全体moovデータが50Kbyteであり、外部メモリ112のクラスタサイズが32KByteである場合、元の全体moovデータの後には、freeアトムが追加される。この場合、追加後の全体moovデータは、たとえば64KByteでよい。その後、マイクロコンピュータ105は、処理をステップS803へ進める。ステップS803において、マイクロコンピュータ105は、全体moovファイルの記録処理を実行する。マイクロコンピュータ105は、揮発性メモリ106に記録されている全体moovデータを、moovファイルとして外部メモリ112に記録する。外部メモリ112に記録される全体moovファイルのファイル名は、動画ストリームファイルのファイル名とされてよい。ファイル名は、たとえばMVI_0001.MP4でよい。図4のステップS505が実行されることにより、マイクロコンピュータ105は、図7の処理を実行する。これにより、動画撮像の終了後に、外部メモリ112には、撮像された動画データの最初から最後までの全体についての全体moovファイルが記録される。
In step S802, the
図8は、動画ストリームファイルを生成するためのFAT処理の説明図である。図4のステップS501からステップS505までの処理により、外部メモリ112には、撮像された動画データをストリーミング再生可能な形式で含む動画データファイルと、その動画データの全体についての全体moovファイルと、が記録される。マイクロコンピュータ105は、ステップS506において、外部メモリ112のFATを書き換えて外部メモリ112に記録した複数のファイルを結合して、動画ストリームファイルを外部メモリ112に生成して記録する。
FIG. 8 is an explanatory diagram of FAT processing for generating a moving image stream file. By the processing from step S501 to step S505 of FIG. 4, the
図8(a)は、動画データを含む動画データファイルが書き込まれた外部メモリ112の説明図である。図8(a)に斜線範囲として示すように、動画データファイルは、外部メモリ112の1番目のクラスタと2番目のクラスタとにまたがって記録されている。この場合、外部メモリ112のFATには、動画データファイルの開始位置である1番目のクラスタに対応するセルに、0x02が記録される。0x02は、1番目のクラスタのデータが、2番目のクラスタのデータとつながった一連のデータであることを示している。FATの2番目のクラスタに対応するセルには、0xFFが記録される。0xFFは、ファイルのデータが、セルに対応するクラスタで終了することを意味する。これにより、外部メモリ112のFATには、外部メモリ112の1番目のクラスタから2番目のクラスタにかけて1つの動画データファイル(stream.DATファイル)が記録されていることが、記録される。外部メモリ112のFATには、動画データファイルを読み出す際には、図中に矢印で示す順番で複数のクラスタを読み出すことが記録される。
FIG. 8A is an explanatory diagram of the
図8(b)は、動画データファイルに加えて、動画ストリームファイルについての全体moovファイル、が書き込まれた外部メモリ112の説明図である。図8(b)に点領域として示すように、全体moovファイルは、外部メモリ112の3番目のクラスタに記録される。全体moovファイルの前半部分には、moovアトムのデータが含まれ、後半部分には、クラスタサイズアライメントをとるために付け足したfreeアトムのデータが含まれる。freeアトムのデータが付加されることにより、全体moovファイルのサイズは、クラスタの倍数のデータ量となり、クラスタに収まっている。この場合、外部メモリ112のFATには、全体moovファイルが記録される3番目のクラスタに対応するセルに、0xFFが記録される。これにより、外部メモリ112のFATには、外部メモリ112の3番目のクラスタに1つの全体moovファイル(MVI_0001.MP4ファイル)が記録されていることが、記録される。
FIG. 8B is an explanatory diagram of the
図8(c)は、ステップS506によるFATの書き換え処理後の外部メモリ112の説明図である。動画ストリームファイルをストリーミング再生するためには、図3(a)の形式が適している。一方で、動画ストリームファイルを生成するためには、図3(b)の形式が適している。FATの書き換え処理前の図8(b)の外部メモリ112では、動画ストリームファイルのクラスタの後に、全体moovファイルのクラスタが位置している。外部メモリ112の先頭から順番にこれらのデータを読み出した場合、それによるストリーミング再生データは、図3(b)の形式のものになる。
FIG. 8C is an explanatory diagram of the
そこで、マイクロコンピュータ105は、ステップS506において、FATを書きかえて外部メモリ112に記録されている動画データファイルと全体moovファイルとを結合する。マイクロコンピュータ105は、結合後に動画ストリームファイルの先頭に全体moovデータが位置するように結合処理を実行する。具体的には、マイクロコンピュータ105は、FATにおいて全体moovファイルが記録される3番目のクラスタに対応するセルを、動画データファイルの先頭を記録しているクラスタを示す値に書き換える。図8(b)の外部メモリ112では、動画データファイルの先頭は1番目のクラスタである。マイクロコンピュータ105は、3番目のクラスタに対応するセルを、0x01に書き換える。これにより、外部メモリ112には、撮像装置1で撮像した動画データをストリーミング再生可能なMP4形式の動画ストリームファイルが生成される。外部メモリ112のFATには、動画ストリームファイルを読み出す際には、図中に矢印で示す順番で複数のクラスタを読み出すことが記録される。この動画ストリームファイルでは、図3(a)のように、ファイルの先頭に全体moovデータが含まれる。全体moovデータの後に、動画データが含まれる。生成される動画ストリームファイルでは、ファイルの先頭にmdatアトムが含まれ、moovアトムの後にmoovアトムが含まれることになる。マイクロコンピュータ105は、動画データファイルであるstream.DATを揮発性メモリ106へ読みだして、外部メモリ112へ再度書き込む処理を実行することなく、ストリーミング再生可能な動画ストリームファイルを生成できる。再書き込みでは、マイクロコンピュータ105は、揮発性メモリ106へ読みだしたstream.DATを、全体moovファイルであるMVI_0001.MP4の後に続けるように書き込むことになる。
Therefore, in step S506, the
ところで、このように外部メモリ112においてストリーミング再生可能に生成される動画ストリームファイルは、撮像装置1または他の装置において編集処理がなされることがある。動画ストリームファイルの編集処理では、不要な部分である前後の動画データをカットしてその一部を切り出すことがある。そして、編集元の動画ストリームファイルのデータ量が多くなると、編集処理中でのデータの読み込みや更新などに時間がかかる。しかも、動画データの一部を切り出す編集処理をした場合、切り出した動画データを再生できるようにするために、動画ストリームファイルを一から再構築する必要がある。次に、このような編集処理の効率化を期待できる、本実施形態での動画ストリームファイルの生成処理について説明する。
By the way, the moving image stream file thus generated so as to be streamably reproducible in the
図9は、第一実施形態での撮像時の動画ストリームファイル生成処理のフローチャートである。図1の撮像装置1のマイクロコンピュータ105は、撮像装置1が動画ストリームファイルを生成するために動画データを撮像する場合に、生成手段として、図4の替わりに、図9の生成処理を実行する。また、動画ストリームファイルが最終的に記録される外部メモリ112は、組込機器で一般的に使用されているFAT(FAT Allocation Table)ファイルシステムを使用するものとする。図9の処理により最終的に生成される動画ストリームファイルは、図3(a)の形式のものとなり、ファイルの先頭にmoovアトムを含み、moovアトムの後にmdatアトムを含むものとなる。
FIG. 9 is a flowchart of the moving image stream file generation process at the time of imaging in the first embodiment. When the
ステップS1001において、マイクロコンピュータ105は、動画ストリームファイルを生成するための動画撮像が撮像装置1において開始されたか否かを判断する。マイクロコンピュータ105は、たとえば撮像装置1の操作部材114において動画撮像の開始ボタンが操作されると、動画撮像が開始されたと判断してよい。動画撮像が開始されていない場合、マイクロコンピュータ105は、本処理を繰り返す。動画撮像が開始されると、マイクロコンピュータ105は、処理をステップS1002へ進める。ステップS1002において、マイクロコンピュータ105は、取得手段として、撮像による動画データを取得して、画像データの全体を複数に分割してなる分割画像データについての分割moovデータの生成処理を実行する。分割moovデータの生成処理の詳細は、図11において後述する。マイクロコンピュータ105は、分割moovデータを、外部メモリ112において分割moovファイルとして生成して記録してもよいが、動画データファイルに含まれる動画データの一部として揮発性メモリ106において生成する。ステップS1003において、マイクロコンピュータ105は、動画データファイルの生成処理を実行する。動画データファイルの生成処理は、図5と同様でよい。マイクロコンピュータ105は、撮像による動画データとともに分割moovデータを含む揮発性メモリ106の動画データを記録するための動画データファイルを外部メモリ112に生成する。マイクロコンピュータ105は、揮発性メモリ106にある動画データを、適宜、動画データファイルに退避する。ステップS1004において、マイクロコンピュータ105は、動画データの全体についての全体moovデータの生成処理を実行する。全体moovデータの生成処理の詳細は、図6と同様でよい。
In step S1001, the
ステップS1005において、マイクロコンピュータ105は、動画ストリームファイルを生成するための動画撮像が撮像装置1において停止または終了したか否かを判断する。マイクロコンピュータ105は、たとえば撮像装置1の操作部材114において動画撮像の終了ボタンが操作されると、動画撮像が終了したと判断してよい。動画撮像が終了していない場合、マイクロコンピュータ105は、処理をステップS1002へ戻す。マイクロコンピュータ105は、動画撮像が終了するまで、ステップS1002からステップS1005の処理を繰り返す。動画の撮像が継続される。動画撮像が終了すると、マイクロコンピュータ105は、処理をステップS1106へ進める。ステップS1106において、マイクロコンピュータ105は、分割動画データの生成のたびにステップS1104の処理を繰り返すことにより生成している全体moovデータを用いて、全体moovファイルを生成処理を実行する。マイクロコンピュータ105は、ステップS1104で最終的に生成した全体moovデータを含む全体moovファイルを、外部メモリ112に記録する。全体moovファイルの生成処理の詳細は、図7と同様でよい。ステップS1007において、マイクロコンピュータ105は、以上の処理により外部メモリ112に記録した動画データファイル、全体moovファイルといった複数のファイルの結合処理を実行する。外部メモリ112は、FATファイルシステムを使用している。このため、マイクロコンピュータ105は、外部メモリ112のFATを書きかえることにより、外部メモリ112に記録している複数のファイルを結合する。ファイル結合処理の仕方は、図8に倣ったものでよい。これにより、外部メモリ112には、動画ストリームファイルが生成して記録される。
In step S1005, the
図10は、図9の分割moovデータ生成処理の詳細なフローチャートである。図1の撮像装置1のマイクロコンピュータ105は、図9のステップS1002の処理において、図10の分割moovデータの生成処理を実行する。図10では、マイクロコンピュータ105は、分割moovデータを、動画データファイルに含まれる動画データの一部として揮発性メモリ106において生成する。
FIG. 10 is a detailed flowchart of the divided moov data generation process of FIG. The
ステップS1101において、マイクロコンピュータ105は、動画データが分割単位のデータ量となっているか否かを判断する。動画データを分割する単位データ量は、基本的に任意のものでよい。単位データ量は、固定量であってもよいが、動画データの境界に応じた変動量とするとよい。単位データ量は、たとえば動画データの30分ごとGOP境界のフレームとしてよい。単位データ量は、動画データのGOP境界のフレームとしてよい。動画データが分割単位のデータ量となっていない場合、マイクロコンピュータ105は、1つの分割動画データの処理中であるため、処理をステップS1105へ進める。動画データが分割単位のデータ量となっている場合、マイクロコンピュータ105は、次の分割動画データの処理を開始するために、処理をステップS1102へ進める。ステップS1102において、マイクロコンピュータ105は、動画データファイルに分割moovデータのためのデータ領域を確保するために、動画データのストリームオフセットを更新する。分割動画データのデータ量がある程度判明している場合、分割moovデータとして確保しておいたらよいデータ量は決定し得る。マイクロコンピュータ105は、使用予定のデータ量で、動画データの中にデータ領域を確保する。
In step S1101, the
ステップS1103において、マイクロコンピュータ105は、分割moovデータを動画データに埋め込む処理段階であるか否かを判断する。分割moovデータを動画データに埋め込む処理段階である場合、マイクロコンピュータ105は、処理をステップS1104へ進める。分割moovデータを動画データに埋め込む処理段階でない場合、マイクロコンピュータ105は、処理をステップS1105へ進める。ステップS1104において、マイクロコンピュータ105は、現時点で生成している分割moovデータを、ステップS1102において確保していたデータ領域に書き込む。分割moovデータには、uuidを含めてよい。uuidを用いることにより、分割moovデータに、独自のデータを格納できる。分割moovデータには、分割動画データについてのメタデータ、分割動画データの代表静止画データを格納してよい。このような分割moovデータは、分割動画データをストリーミング再生する際の分割管理情報として利用可能である。分割moovデータは、分割動画データとともに分割動画ファイルとされることにより、ストリーミング再生が可能となる。また、分割moovデータのuuidは、動画データの全体を管理する全体管理情報としての全体moovデータなどに記録してもよい。これにより、容易に分割位置を特定することかできる。ステップS1104において、マイクロコンピュータ105は、分割moovデータを更新する。マイクロコンピュータ105は、現在の分割動画データにより、分割moovデータのstcoやstszを更新する。
In step S1103, the
図11は、第一実施形態において動画ストリームファイル生成処理により外部メモリ112に生成される動画ストリームファイルの説明図である。マイクロコンピュータ105が図9および図10の動画ストリームファイル生成処理を実行することにより、図11の動画ストリームファイルが外部メモリ112に生成して記録される。図11の動画ストリームファイルは、動画データをストリーミング再生するための全体管理情報を構成する全体moovアトム1101およびmdat全体の全体ヘッダ領域1102、を有する。全体moovアトム1101には、ファイルタイプftyp、動画のメタデータmoov、を含む。全体ヘッダ領域1102には、動画データの全体でのデータサイズが記録される。
FIG. 11 is an explanatory diagram of a moving image stream file generated in the
また、図11の動画ストリームファイルは、全体ヘッダ領域1102の後に、動画ストリームファイルについての動画データを有する。動画ストリームファイルの動画データは、複数のmdatアトム1105,1108に分割して格納される。複数のmdatアトム1105,1108の各々は、動画データの全体を複数に分割した分割動画データを含む。また、動画データは、複数のmdatアトム1105,1108に対応する複数の分割管理情報、を有する。分割管理情報は、各分割動画データをストリーミング再生するための管理情報である。分割管理情報は、基本的に全体管理情報と同様の構成でよい。ここでは、動画ストリームファイルの1番目の分割管理情報は、分割moovアトム1103と、それ対応する分割ヘッダ領域1104と、を有する。分割moovアトム1103は、ファイルタイプftyp、1番目の分割動画データのメタデータmoov、を含む。分割ヘッダ領域1104には、1番目の分割動画データのデータサイズが記録される。2番目の分割管理情報は、分割moovアトム1106と、それ対応する分割ヘッダ領域1107と、を有する。分割moovアトム1106は、ファイルタイプftyp、2番目の分割動画データのメタデータmoov、を含む。分割ヘッダ領域1107には、2番目の分割動画データのデータサイズが記録される。
Further, the moving image stream file of FIG. 11 has moving image data about the moving image stream file after the
そして、分割moovアトム1103、分割ヘッダ領域1104、分割moovアトム1106、および、分割ヘッダ領域1107は、全体を管轄する全体moovアトム1101からは参照されないデータ領域とされている。参照されないというのは、全体moovアトム1101に格納されるstcoおよびstszから算出されるデータ格納領域に該当しない領域であるということを意味する。これに対し、複数のmdatアトム1105,1108は、全体を管轄する全体moovアトム1101からは連続したデータ領域として参照される。また、分割moovアトム1103には、mdatアトム1105に格納される分割画像データについてのstcoおよびstszが構築される。分割moovアトム1107には、mdatアトム1108に格納される分割画像データについてのstcoおよびstszが構築される。
The divided
このようにマイクロコンピュータ105は、生成手段として、動画データの動画ストリームファイルを生成する際に、動画データの全体をストリーミング再生するための全体管理情報とともに、分割動画データの分割管理情報を生成する。また、マイクロコンピュータ105は、分割動画データの分割管理情報については、全体管理情報から参照されないように生成する。また、分割動画データの分割管理情報は、動画データの全体をストリーミング再生するための全体管理情報と同様の形式で生成される。分割管理情報には、対応する分割動画データについての撮像時メタデータおよび代表動画データが含まれてよい。また、生成する動画データの全体管理情報には、分割動画データの管理情報の領域を含むデータサイズが記録される。
As described above, as a generation means, the
このようなファイルフォーマットの図11の動画ストリームファイルは、全体moovアトム1101を用いて、複数のmdatアトム1105,1108に含まれる複数の分割動画データを連続的にストリーミング再生することができる。図11の動画ストリームファイルは、分割moovアトム1103、分割ヘッダ領域1104、分割moovアトム1106、および分割ヘッダ領域1107を含んでいるにもかかわらず、それに影響されることなくストリーミング再生できる。ストリーミング再生において複数の分割動画データは順番に再生される。図11の動画ストリームファイルは、これらの分割管理情報を含まない図2の動画ストリームファイルと同様に、複数の分割動画データによる動画データをストリーミング再生することができる。
In the moving image stream file of FIG. 11 having such a file format, a plurality of divided moving image data included in a plurality of
また、図11の動画ストリームファイルは、動画データを複数の分割動画データに分けて記録し、さらに分割動画データごとの複数の分割管理情報を含んでいる。したがって、図11の動画ストリームファイルから、たとえばmdatアトム1105を切り出す編集処理では、mdatアトム1105とともにその分割管理情報を含む分割moovアトム1103および分割ヘッダ領域1104を切り出すことができる。これらを含む分割動画ストリームファイルは、mdatアトム1105の分割動画データをストリーミング再生可能なものとなる。mdatアトム1108を切り出す編集処理では、mdatアトム1108とともにその分割管理情報を含む分割moovアトム1106および分割ヘッダ領域1107を切り出すことができる。これらを含む分割動画ストリームファイルは、mdatアトム1108の分割動画データをストリーミング再生可能なものとなる。動画データの一部を切り出す編集処理では、切り出した分割画像データについての管理情報を新たに一から生成する必要がない。分割動画ストリームファイルの再構築を一から実行する必要がない。動画データの一部を切り出す編集処理は、短時間で終了できる。また、図11の動画ストリームファイルは容易に複数の分割動画ストリームファイルに分けて記録することができる。このため、図11の動画ストリームファイルを編集、コピー、転送する際には、それを複数に分割した複数の分割動画ストリームファイルを替わりに用いることができる。複数の分割動画ストリームファイルを用いることにより、編集処理の時間が短縮され得る。
Further, the moving image stream file of FIG. 11 divides and records the moving image data into a plurality of divided moving image data, and further includes a plurality of divided management information for each divided moving image data. Therefore, in the editing process for cutting out, for example, the
以上のように、本実施形態では、動画データについての動画ストリームファイルを生成する際に、動画データを複数の分割動画データに分割し、動画データの全体をストリーミング再生するための全体管理情報を生成する。本実施形態では、動画データを分割した複数の分割動画データと、全体管理情報とを含む、1つの動画ストリームファイルを生成する。また、本実施形態では、動画ストリームファイルを生成する際に、全体管理情報とともに、分割動画データの分割管理情報を、全体管理情報から参照されないように生成する。これにより、動画ストリームファイルは、全体管理情報を用いて、埋め込まれている分割動画データの分割管理情報に影響されることなく、複数の分割動画データに分割されている動画データの全体をストリーミング再生することができる。 As described above, in the present embodiment, when the video stream file for the video data is generated, the video data is divided into a plurality of divided video data, and the overall management information for streaming the entire video data is generated. do. In the present embodiment, one moving image stream file including a plurality of divided moving image data obtained by dividing the moving image data and overall management information is generated. Further, in the present embodiment, when the moving image stream file is generated, the divided management information of the divided moving image data is generated so as not to be referred from the overall management information together with the overall management information. As a result, the video stream file uses the overall management information to stream the entire video data divided into a plurality of divided video data without being affected by the divided management information of the embedded divided video data. can do.
しかも、本実施形態では、動画データの動画ストリームファイルにおいて、分割動画データの分割管理情報が、各分割動画データに対応付けて生成されている。ここで、分割動画データの分割管理情報は、動画データをストリーミング再生するための全体管理情報と同様の形式である。したがって、各分割動画データは、編集処理において、分割管理情報とともに切り出して1つの分割動画ストリームファイルとすることにより、分割動画データごとにストリーミング再生可能となる。編集処理において動画ストリームファイルの動画データから切り出した分割動画データを再生できるようにするために、切り出した分割動画データについての管理情報を一から新たに生成する必要はない。分割動画データを切り出して再生できるようにするための編集処理は改善され得る。 Moreover, in the present embodiment, in the moving image stream file of the moving image data, the divided management information of the divided moving image data is generated in association with each divided moving image data. Here, the divided management information of the divided moving image data has the same format as the overall management information for streaming and playing the moving image data. Therefore, each divided moving image data can be streamed and reproduced for each divided moving image data by cutting out the divided moving image data together with the divided management information into one divided moving image stream file in the editing process. In order to be able to play the divided video data cut out from the video data of the video stream file in the editing process, it is not necessary to newly generate the management information about the cut out divided video data from scratch. The editing process for cutting out and playing the divided moving image data can be improved.
その結果、本実施形態では、既に生成されている動画ストリームファイルの動画データについて編集処理をする際には、切り出した分割動画データについての管理情報を一から新たに生成する必要はない。分割動画データは、それとともに管理情報が併せて切り出されることにより、画像ファイルとして保存して編集処理に用いることができる。動画データの一部を切り出す編集処理において、切り出し処理のたびに、切り出した動画データを再生できるようにするために動画ストリームファイルを一から再構築する必要はない。切り出した動画データの動画ストリームファイルは、短時間で容易に生成できる。 As a result, in the present embodiment, when editing the moving image data of the already generated moving image stream file, it is not necessary to newly generate the management information about the cut out divided moving image data from scratch. The divided moving image data can be saved as an image file and used for editing processing by cutting out the management information together with the divided moving image data. In the editing process for cutting out a part of the video data, it is not necessary to reconstruct the video stream file from scratch so that the cut out video data can be played each time the cut out process is performed. A video stream file of the cut out video data can be easily generated in a short time.
そして、たとえば長時間記録したMP4形式の動画ストリームファイルのサイズが大きいとしても、その動画ストリームファイルについての必要な一部を切り出してコンピュータ装置などへ短時間でコピーし得る。分割動画データごとに画像ファイルにされていることにより、分割動画データごとにシーンのサーチをすればよく、サーチのたびに動画データの先頭からサーチする必要がなくなり、サーチに要する時間も短くなり得る。画像ファイルを外部装置へ送信する場合にも、必要な分割画像ファイルの分割動画データを送信するようにすることで、短時間で送信し得る。 Then, for example, even if the size of the MP4 format video stream file recorded for a long time is large, a necessary part of the video stream file can be cut out and copied to a computer device or the like in a short time. Since the image file is created for each divided video data, it is sufficient to search the scene for each divided video data, and it is not necessary to search from the beginning of the video data each time the search is performed, and the time required for the search can be shortened. .. Even when the image file is transmitted to an external device, it can be transmitted in a short time by transmitting the required divided moving image data of the divided image file.
[第二実施形態]
次に、本発明の第二実施形態に係る動画ストリームファイル生成装置を有する撮像装置1を説明する。以下の説明では、主に上述した実施形態との相違点について説明する。
[Second Embodiment]
Next, the
図12は、第二実施形態での撮像時の動画ストリームファイル生成処理のフローチャートである。図1の撮像装置1のマイクロコンピュータ105は、撮像装置1が動画ストリームファイルを生成するために動画データを撮像する場合に、生成手段として、図9の替わりに、図12の生成処理を実行する。また、動画ストリームファイルが最終的に記録される外部メモリ112は、組込機器で一般的に使用されているFAT(FAT Allocation Table)ファイルシステムを使用するものとする。図12の処理により最終的に生成される動画ストリームファイルは、図3(a)の形式のものとなり、ファイルの先頭にmoovアトムを含み、moovアトムの後にmdatアトムを含むものとなる。
FIG. 12 is a flowchart of the moving image stream file generation process at the time of imaging in the second embodiment. When the
ステップS1201において、マイクロコンピュータ105は、動画ストリームファイルを生成するための動画撮像が撮像装置1において開始されたか否かを判断する。マイクロコンピュータ105は、たとえば撮像装置1の操作部材114において動画撮像の開始ボタンが操作されると、動画撮像が開始されたと判断してよい。動画撮像が開始されていない場合、マイクロコンピュータ105は、本処理を繰り返す。動画撮像が開始されると、マイクロコンピュータ105は、処理をステップS1202へ進める。ステップS1202において、マイクロコンピュータ105は、取得手段として、撮像による動画データを取得して、動画データファイルの生成処理を実行する。動画データファイルの生成処理は、図5と同様でよい。マイクロコンピュータ105は、撮像による動画データを記録するための動画データファイルを外部メモリ112に生成する。マイクロコンピュータ105は、揮発性メモリ106にある動画データを、適宜、動画データファイルに退避する。
In step S1201, the
ステップS1203において、マイクロコンピュータ105は、動画データの全体についての全体moovデータの生成処理を実行する。全体moovデータの生成処理の詳細は、図6と同様でよい。ステップS1204において、マイクロコンピュータ105は、画像データの全体を複数に分割してなる分割画像データについての分割moovファイルの生成処理を実行する。マイクロコンピュータ105は、動画データが分割単位のデータ量となっている場合に、分割moovデータを生成し、外部メモリ112に分割moovファイルを記録する。この際、ステップS1202の処理により、外部メモリ112には、予め分割画像データが記録されていてよい。この場合、マイクロコンピュータ105は、分割moovデータの先頭が外部メモリ112のクラスタ境界となるように、外部メモリ112に記録されている分割画像データの後に、パディングを実行する。これにより、外部メモリ112に記録されている分割画像データは、クラスタの倍数サイズの分割画像データファイルとなる。その後、マイクロコンピュータ105は、分割moovデータを書き込む。分割moovデータは、予めクラスタサイズアライメントが確保されるようにパディングされている。分割moovデータは、クラスタの倍数サイズの倍数のデータ量のファイルとして、外部メモリ112に記録される。したがって、後に外部メモリ112に記録される次の分割画像データの先頭は、外部メモリ112のクラスタ境界となる。分割画像データは、上述したパディングにより、分割moovファイルとは別の、分割動画データファイルとして、外部メモリ112に記録される。その結果、外部メモリ112には、分割動画データファイルと、分割moovファイルとが交互に並ぶように、記録され得る。
In step S1203, the
ステップS1205において、マイクロコンピュータ105は、動画ストリームファイルを生成するための動画撮像が撮像装置1において停止または終了したか否かを判断する。マイクロコンピュータ105は、たとえば撮像装置1の操作部材114において動画撮像の終了ボタンが操作されると、動画撮像が終了したと判断してよい。動画撮像が終了していない場合、マイクロコンピュータ105は、処理をステップS1202へ戻す。マイクロコンピュータ105は、動画撮像が終了するまで、ステップS1202からステップS1205処理を繰り返す。動画の撮像が継続される。動画撮像が終了すると、マイクロコンピュータ105は、処理をステップS1206へ進める。ステップS1206において、マイクロコンピュータ105は、分割動画データの生成のたびにステップS1203の処理を繰り返すことにより生成している全体moovデータを用いて、全体moovファイルを生成処理を実行する。マイクロコンピュータ105は、ステップS1203で最終的に生成した全体moovデータを含む全体moovファイルを、外部メモリ112に記録する。全体moovファイルの生成処理の詳細は、図7と同様でよい。
In step S1205, the
ステップS1207において、マイクロコンピュータ105は、以上の処理により外部メモリ112に記録した複数のファイルの結合処理を実行する。外部メモリ112には、以上の処理により、複数の分割動画データファイルと、複数の分割moovファイルと、全体moovファイルと、が記録されている。外部メモリ112は、FATファイルシステムを使用している。このため、マイクロコンピュータ105は、外部メモリ112のFATを書きかえることにより、外部メモリ112に記録している複数のファイルを結合する。ファイル結合処理の仕方は、図8に倣ったものでよい。たとえば、FATにおいて全体moovファイルの最終セルには、1番目の分割moovファイルを記述し、1番目の分割moovファイルの最終セルには、1番目の分割動画データファイルを記述する。1番目の分割動画データファイルの最終セルには、2番目の分割moovファイルを記述し、2番目の分割moovファイルの最終セルには、2番目の分割動画ストリームファイルを記述する。この結合処理により、マイクロコンピュータ105は、外部メモリ112において動画ストリームファイルを生成して記録できる。
In step S1207, the
図13は、第二実施形態において動画ストリームファイル生成処理により外部メモリ112に生成される動画ストリームファイルの説明図である。マイクロコンピュータ105が図12の動画ストリームファイル生成処理を実行することにより、図13の動画ストリームファイルが外部メモリ112に生成して記録される。
FIG. 13 is an explanatory diagram of a moving image stream file generated in the
図13の動画ストリームファイルは、動画データをストリーミング再生するための全体管理情報を構成する全体moovアトム1301およびmdat全体の全体ヘッダ領域1302、を有する。全体ヘッダ領域1302の後には、外部メモリ112のクラスタ境界となる領域まで、パディングデータ1303が記録される。また、図13の動画ストリームファイルは、パディングデータ1303の後に、1番目の分割moovアトム1304と、1番目の分割ヘッダ領域1305と、1番目のmdatアトム1306と、が記録される。1番目のmdatアトム1306の後には、外部メモリ112のクラスタ境界となる領域まで、パディングデータ1307が記録される。また、図13の動画ストリームファイルは、パディングデータ1307の後に、2番目の分割moovアトム1308と、2番目の分割ヘッダ領域1309と、2番目のmdatアトム1310と、が記録される。2番目のmdatアトム1310の後には、外部メモリ112のクラスタ境界となる領域まで、不図示のパディングデータが記録されてもよい。
The moving image stream file of FIG. 13 has an
このような動画ストリームファイルにおいて、パディングデータ1303,1307、分割moovアトム1304,1308、分割ヘッダ領域1305,1309は、全体moovアトム1301からは参照されないデータ領域とされている。参照されないというのは、全体moovアトム1301に格納されるstcoおよびstszから算出されるデータ格納領域に該当しない領域であるということを意味する。これに対し、複数のmdatアトム1306,1310は、全体moovアトム1301からは連続したデータ領域として参照される。また、分割moovアトム1304,1308には、mdatアトム1306,1310に格納される分割画像データについてのstcoおよびstszが構築される。そして、mdat全体の全体ヘッダ領域1302には、パディングデータ1303からmdatアトム1310までの、パッティングデータを含む動画データのサイズが記録される。
In such a moving image stream file, the
また、図13の動画ストリームファイルは、動画データを複数の分割動画データに分けて記録し、さらに分割動画データごとの複数の分割管理情報を含んでいる。しかも、パディングデータ1303と分割moovアトム1304とは、外部メモリ112においてクラスタ境界の前後に分けて記録される。また、パディングデータ1307と分割moovアトム1308とは、外部メモリ112においてクラスタ境界の前後に分けて記録される。したがって、図13の動画ストリームファイルからたとえばmdatアトム1306を切り出す編集処理では、mdatアトム1306とともにその分割管理情報である分割moovアトム1304および分割ヘッダ領域1305を含めて切り出す。これにより、mdatアトム1306の画像データをストリーミング再生可能なファイルを切り出すことができる。このファイルは、mdatアトム1105の分割動画データをストリーミング再生可能な分割動画ストリームファイルとすることができる。動画データの一部を切り出す編集処理では、分割画像データを含む範囲を切り出すだけでよい。分割動画ストリームファイルの一からの再構築は不要である。動画データの一部を切り出す編集処理は、短時間で終了できる。また、図13の動画ストリームファイルは、ほぼそのままのデータ構造で切り出すだけで、容易に複数の分割動画ストリームファイルに分けて記録することができる。このため、図13の動画ストリームファイルを編集、コピー、転送する際には、複数の分割動画ストリームファイルを替わりに用いることができる。複数の分割動画ストリームファイルを用いることにより、処理時間の短縮が期待し得る。
Further, the moving image stream file of FIG. 13 divides and records the moving image data into a plurality of divided moving image data, and further includes a plurality of divided management information for each divided moving image data. Moreover, the
以上のように、本実施形態においてマイクロコンピュータ105は、生成手段として、動画データに対応する複数の分割動画データ、分割管理情報、および全体管理情報を、外部メモリ112のクラスタごとに分けて記録する。具体的には、パディングデータを使用して、複数の分割動画データの先頭、分割管理情報の先頭、および全体管理情報の先頭が、外部メモリ112のクラスタ境界の位置となるように分けて記録する。これにより、各分割動画データは、外部メモリ112においてクラスタごとに分けて記録されることになり、クラスタのデータを切り出すだけで分割画像ストリームファイルとすることができる。しかも、マイクロコンピュータ105は、外部メモリ112のFATを書きかえるだけで、複数の分割動画データに分かれている動画データをストリーミング再生するための画像ストリームファイルを生成することができる。
As described above, in the present embodiment, as a generation means, the
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。本発明は、上述の実施の形態の1以上の機能を実現するプログラムを、ネットワークや記録媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(たとえば、ASIC)によっても実現可能である。 Although the present invention has been described in detail based on the preferred embodiments thereof, the present invention is not limited to these specific embodiments, and various embodiments within the range not deviating from the gist of the present invention are also included in the present invention. included. The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or recording medium, and one or more processors of the computer of the system or device reads the program. It can also be realized by the processing to be executed. The present invention can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
1 撮像装置(動画ファイル生成装置)
20,31,32 動画ストリームファイル
21 moovアトム
22 mdatアトム
105 マイクロコンピュータ
106 揮発性メモリ
112 外部メモリ
1101,1301 全体moovアトム
1102,1302 全体ヘッダ領域
1103,1106,1304,1308 分割moovアトム
1104,1107,1305,1309 分割ヘッダ領域
1105,1108,1306,1310 mdatアトム
1303,1307 パディングデータ
1 Imaging device (video file generator)
20, 31, 32
Claims (10)
前記取得手段により取得される動画データを含む動画ファイルを生成し、生成した動画ファイルを記録媒体に記録するように制御する制御手段と、
を有し、
前記制御手段は、
前記取得手段により取得した動画データを複数の分割動画データに分割し、当該複数の分割動画データと、当該複数の分割動画データにそれぞれ対応する複数の分割管理情報と、前記動画データ全体の全体管理情報とを含む動画ファイルを生成し、
前記複数の分割管理情報を、前記全体管理情報から参照されないように生成する、
動画ファイル生成装置。 The acquisition method for acquiring video data and
A control means for generating a moving image file including moving image data acquired by the acquisition means and controlling the generated moving image file to be recorded on a recording medium.
Have,
The control means is
The video data acquired by the acquisition means is divided into a plurality of divided video data, the plurality of divided video data, a plurality of divided management information corresponding to the plurality of divided video data, and overall management of the entire video data. Generate a video file containing information and
The plurality of division management information is generated so as not to be referred to from the overall management information.
Video file generator.
請求項1記載の、動画ファイル生成装置。 The control means records the plurality of division management information in an area not referenced from the overall management information.
The moving image file generation device according to claim 1.
請求項1または2記載の、動画ファイル生成装置。 The control means records the data size including the area of the plurality of division management information in the overall management information.
The moving image file generation device according to claim 1 or 2.
前記取得手段により取得した前記動画データを分割して分割動画データを生成する毎に当該分割画像データの分割管理情報を生成するととともに、前記全体管理情報の更新する、
請求項1から3のいずれか一項記載の、動画ファイル生成装置。 The control means is
Every time the moving image data acquired by the acquisition means is divided and the divided moving image data is generated, the divided management information of the divided image data is generated, and the overall management information is updated.
The moving image file generation device according to any one of claims 1 to 3.
前記複数の前記分割動画データ、前記複数の分割管理情報、および、前記全体管理情報を、それぞれ、前記記録媒体の異なるクラスタに記録する、
請求項1から4のいずれか一項記載の、動画ファイル生成装置。 The control means is
The plurality of divided moving image data, the plurality of divided management information, and the overall management information are recorded in different clusters of the recording medium, respectively.
The moving image file generation device according to any one of claims 1 to 4.
請求項1から6のいずれか一項記載の、動画ファイル生成装置。 The control means converts the data sizes of the plurality of divided moving image data, the plurality of divided management information, and the plurality of clusters of the recording medium in which the overall management information is recorded into the overall management information of the moving image data. Record,
The moving image file generation device according to any one of claims 1 to 6.
前記分割管理情報には、当該分割管理情報に対応する前記分割動画データについてのメタデータおよび静止画データを含める、
請求項1から7のいずれか一項記載の、動画ファイル生成装置。 The control means is
The division management information includes metadata and still image data about the division video data corresponding to the division management information.
The moving image file generation device according to any one of claims 1 to 7.
動画データを取得する取得工程と、
前記取得工程により取得される動画データを含む動画ファイルを生成し、生成した動画ファイルを記録媒体に記録するように制御する制御工程と、
を有し、
前記制御工程は、
前記取得工程により取得した動画データを複数の分割動画データに分割し、当該複数の分割動画データと、当該複数の分割動画データにそれぞれ対応する複数の分割管理情報と、前記動画データ全体の全体管理情報とを含む動画ファイルを生成し、
前記複数の分割管理情報を、前記全体管理情報から参照されないように生成する、
動画ファイル生成装置の生成方法。 It is a method of generating a video file generator,
The acquisition process to acquire video data and
A control step of generating a moving image file including the moving image data acquired by the acquisition step and controlling the generated moving image file to be recorded on a recording medium.
Have,
The control step is
The video data acquired in the acquisition step is divided into a plurality of divided video data, the plurality of divided video data, a plurality of divided management information corresponding to the plurality of divided video data, and overall management of the entire video data. Generate a video file containing information and
The plurality of division management information is generated so as not to be referred to from the overall management information.
How to generate a video file generator.
動画データを取得する取得工程と、
前記取得工程により取得される動画データを含む動画ファイルを生成し、生成した動画ファイルを記録媒体に記録するように制御する制御工程と、
を有し、
前記制御工程は、
前記取得工程により取得した動画データを複数の分割動画データに分割し、当該複数の分割動画データと、当該複数の分割動画データにそれぞれ対応する複数の分割管理情報と、前記動画データ全体の全体管理情報とを含む動画ファイルを生成し、
前記複数の分割管理情報を、前記全体管理情報から参照されないように生成する、
プログラム。 A program that causes a computer to execute the generation method of a video file generator.
The acquisition process to acquire video data and
A control step of generating a moving image file including the moving image data acquired by the acquisition step and controlling the generated moving image file to be recorded on a recording medium.
Have,
The control step is
The video data acquired in the acquisition step is divided into a plurality of divided video data, the plurality of divided video data, a plurality of divided management information corresponding to the plurality of divided video data, and overall management of the entire video data. Generate a video file containing information and
The plurality of division management information is generated so as not to be referred to from the overall management information.
program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020208663A JP2022095374A (en) | 2020-12-16 | 2020-12-16 | Moving image file creation device, creation method for the same, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020208663A JP2022095374A (en) | 2020-12-16 | 2020-12-16 | Moving image file creation device, creation method for the same, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022095374A true JP2022095374A (en) | 2022-06-28 |
Family
ID=82163190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020208663A Pending JP2022095374A (en) | 2020-12-16 | 2020-12-16 | Moving image file creation device, creation method for the same, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022095374A (en) |
-
2020
- 2020-12-16 JP JP2020208663A patent/JP2022095374A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8165455B2 (en) | Data processing apparatus and data processing method, and computer program | |
JP2012054788A (en) | Data file transfer device, control method therefor, program, and storage medium | |
WO2008018311A1 (en) | Data processing device, data processing method, and computer program | |
WO2008032495A1 (en) | Data processing device, data processing method, and computer program | |
JP4323870B2 (en) | Recording device | |
JP2005136503A (en) | File recording apparatus and method for editing video effect | |
JP3814565B2 (en) | Recording device | |
JP4115061B2 (en) | Recording medium and video recording / reproducing apparatus using the same | |
JP2008193345A (en) | Editing device and editing method | |
JP4330968B2 (en) | REPRODUCTION DEVICE, RECORDING DEVICE, REPRODUCTION PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE REPRODUCTION PROGRAM | |
JP2012156587A (en) | Video recording device | |
JP6278353B2 (en) | RECORDING DEVICE, RECORDING METHOD, PROGRAM, AND IMAGING DEVICE | |
JP5713701B2 (en) | Movie recording device | |
JP2022095374A (en) | Moving image file creation device, creation method for the same, and program | |
JP2008283708A (en) | Playback apparatus | |
JP4724551B2 (en) | Moving image processing apparatus and moving image processing method | |
JP2013141065A (en) | Image pickup device and control method | |
JP2022096304A (en) | Moving image file transfer device, transfer system, transfer method for moving image file transfer device, and program | |
JP4058154B2 (en) | Video recording / reproducing apparatus and video recording / reproducing method | |
JP2013141064A (en) | Image pickup device and control method | |
JPH10210409A (en) | Image and voice recorder, and image and voice recorder and reproducer using semiconductor memory | |
JP7327950B2 (en) | IMAGING DEVICE, CONTROL METHOD THEREOF, AND PROGRAM | |
KR20030097095A (en) | Method for managing bookmark data in optical disc driver | |
JP2005348078A (en) | Video recorder | |
JP5889459B2 (en) | Recording device |