(57)【要約】【課題】  スタッフィングデータの送出に伴う、無駄な送出時間の増大を防ぐ。【解決手段】  映像ファイルを前記送出手段により外部へ送出する際に、映像ファイルのファイルサイズ及びMetaData部のサイズを取得し、前記取得されたファイルサイズにおけるMetaData部サイズの比率が閾値以上であれば、映像ファイルのMetaData部から、サイズの小さいMetaData部を生成し、生成されたMetaData部と映像ファイルのMediaData部を結合して新たな映像ファイルを生成し、新たに生成された映像ファイルを送出する。【選択図】  図１
2019087949.tif 000002
【特許請求の範囲】
【請求項１】
記録メディアに格納された、MetaData部とMediaData部とを有する映像ファイルのファイルサイズを取得するファイルサイズ取得手段と、
前記映像ファイルを外部へ送出する送出手段と、
前記映像ファイルのMetaData部のサイズを取得するMetaData部サイズ取得手段と、
前記映像ファイルのMetaData部の一部の情報を削除して、よりサイズの小さいMetaData部を生成する更新手段と、を有し、
前記記録メディア内に格納される映像ファイルを前記送出手段により外部へ送出する際に、前記ファイルサイズ取得手段及びMetaData部サイズ取得手段により、前記映像ファイルのファイルサイズ及びMetaData部のサイズを取得し、
前記取得されたファイルサイズにおけるMetaData部サイズの比率が閾値以上であれば、前記更新手段により、前記映像ファイルのMetaData部から、サイズの小さいMetaData部を生成し、生成されたMetaData部と前記映像ファイルのMediaData部を結合して新たな映像ファイルを生成し、前記新たに生成された前記映像ファイルを前記送出手段により送出することを特徴とするファイル処理装置。
【請求項２】
前記ファイルサイズ取得手段により取得された前記映像ファイルのファイルサイズが閾値以下であれば、前記映像ファイルのファイルサイズにおけるMetaData部サイズの比率に関わらず、前記更新手段によるMetaData部の生成を行わないことを特徴とする請求項１に記載のファイル処理装置。
【請求項３】
前記更新手段によるMetaData部の更新は、MetaData部内に含まれるstuffingデータの削除及び、stuffingデータ削除に伴うMediaData部のコンテンツ内の始端からのoffsetずれ量を、MetaData部へフィードバックすることを含むことを特徴とする請求項１に記載のファイル処理装置。
【請求項４】
前記映像ファイルは、QuickTimeFileFormatまたはＭＰ４形式であり、前記stuffingデータはskip-atomまたはfree-atomであり、前記フィードバック対象は、stco-atomまたはco64-atomであることを特徴とする請求項３に記載のファイル処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はファイル処理装置に関する。
【背景技術】
【０００２】
従来、ＭＯＶやＭＰ４ファイル形式のデータを扱う装置が知られている（特許文献１）。ＭＯＶやＭＰ４ファイルは、一定時間（例えば０．５秒）毎に再生出力タイミングが同期するサンプル塊（以下、チャンク）をインターリーブして配置するフォーマットである。映像サンプルを０．５秒分集めてビデオチャンクとして配置すると、その後にこれと再生出力タイミングが同期する音声サンプルを０．５秒分集めてオーディオチャンクとして配置する。これを繰り返してMediaDataとする。
【０００３】
MetaDataに対する管理情報としてMetaDataを加え、各々をatomと呼ばれる形式でパッキングし、所定の順に並べたものがＭＯＶあるいはＭＰ４ファイルである。atomは、４バイトの識別子と、同じく４バイトのサイズ領域、それに任意のサイズのpayloadで構成される。以下、ＭＰ４ファイルを例に説明するが、基本的なファイル構成はＭＯＶでも同様である。図２は、ＭＰ４形式のコンテンツファイルの例であり、ＭＰ４を構成する主要なatomとしては以下のようなものがある。
【０００４】
ftyp：ファイルの互換識別情報
moov：MetaDataとしてコンテンツ内に格納されるデータにアクセスするための管理情報
trak：コンテンツ内の同種サンプル（映像、音声）それぞれを管理
stsc：サンプルの出力期間情報
stco/co64：サンプルへアクセスするためのオフセット情報
stsz：サンプルのサイズ情報
free/skip：スタッフィング用の無効データ
mdat： MediaData部。動画データの実体
チャンク：同種サンプル(音声/映像)を複数個集めた固まり
サンプル：１個分の実データ
【０００５】
mdatに格納されるサンプルが増加すると、サンプルの管理情報を格納するmoovの情報量も合わせて増加する。従ってカメラでＭＰ４ファイルを生成する場合、例えば、ftyp/moovとmdatをそれぞれ別のファイルとして一旦記録メディアに保存し、サンプル数の増加が終了するとき(撮影が終了するとき)に、両者を結合する方法が用いられる。結合はまず、ＭＰ４ファイルで後部に配置されるmdatファイルの、ファイルエントリから始端クラスタへのチェーンを破棄する。次に、前部に配置されるftyp/moovファイルの終端クラスタに、mdatファイルの始端クラスタへのチェーンを繋ぐ。こうして、ftyp/moov/mdatが一つのファイルエントリから始まるクラスタチェーンに連結された後、ファイルエントリに登録されるファイルサイズを、結合したmdat部分のサイズを加算して補正する（図３）。
【０００６】
このように複数ファイルに分離書き込みして、最後に結合してＭＰ４ファイルを生成する手法を用いる場合、結合前部となるftyp/moovファイルのファイルサイズは、ファイル途中に半端使用のクラスタが許されないため、クラスタサイズの整数倍でなければならない。従って、moovの末端にはクラスタサイズまでデータを満たすための、スタッフィング(free/skip)データが詰められる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2012-10038号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、近年、記録メディアの大容量化に伴い、記録メディアのクラスタサイズは増加傾向にある。現在では数十メガバイトのものがあり、今後はさらに増加が予想される。一般的に、数秒のＭＰ４ファイルであれば、ftypは数十バイト、moovは数キロバイトまたはそれ以下、mdatは数メガバイト程度で構成される。しかし、記録メディアへ書き出す際には前述のスタッフィングデータが含まれ、最低でも１クラスタサイズ以上の、数十メガバイトとなる。
【０００９】
このようなＭＰ４ファイルを、ネットワーク等を通じてそのまま送出する場合、正味の有効データが数メガバイト程度であっても、数十メガバイトを送出することとなり、スタッフィングデータの送出が、送出時間の大部分を占めることを意味する。
【００１０】
本発明は上記課題を解決するものであり、スタッフィングデータの送出に伴う、無駄な送出時間の増大を防ぐことを目的とする。
【課題を解決するための手段】
【００１１】
記録メディアに格納された、MetaData部とMediaData部とを有する映像ファイルのファイルサイズを取得するファイルサイズ取得手段と、前記映像ファイルを外部へ送出する送出手段と、前記映像ファイルのMetaData部のサイズを取得するMetaData部サイズ取得手段と、前記映像ファイルのMetaData部の一部の情報を削除して、よりサイズの小さいMetaData部を生成する更新手段と、を有し、前記記録メディア内に格納される映像ファイルを前記送出手段により外部へ送出する際に、前記ファイルサイズ取得手段及びMetaData部サイズ取得手段により、前記映像ファイルのファイルサイズ及びMetaData部のサイズを取得し、前記取得されたファイルサイズにおけるMetaData部サイズの比率が閾値以上であれば、前記更新手段により、前記映像ファイルのMetaData部から、サイズの小さいMetaData部を生成し、生成されたMetaData部と前記映像ファイルのMediaData部を結合して新たな映像ファイルを生成し、前記送出手段により前記新たに生成された前記映像ファイルを送出する。
【発明の効果】
【００１２】
スタッフィングデータの送出に伴う、無駄な送出時間の増大を防ぐことができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態におけるシステム構成を説明する図である。
【図２】ＭＰ４ファイルの構造を説明する図である。
【図３】ＭＰ４ファイルの生成方法を説明する図である。
【図４】ＭＰ４ファイルの送出方法を説明する図である。
【図５】スタッフィングデータ削除方法を説明する図である。
【図６】スタッフィングデータ削除方法を説明する図である。
【図７】スタッフィングデータ削除方法を説明する図である。
【図８】スタッフィングデータ削除方法を説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照しながら説明する。図１は第１の実施形態を適応したＭＰ４ファイル送出装置であり、記録メディアに格納されるＭＰ４ファイルから、スタッフィングデータを削除して、ネットワーク等の外部へ送出する機能を有する。
【００１５】
符号１００は制御部である。マイクロコンピュータやメモリ等を含み、メモリに記憶されたプログラムに従って、本装置全体を制御する。また、一時蓄積部１０４上でＭＰ４ファイルを加工する機能を有す。加工機能には、ファイルサイズ取得機能、MetaData部サイズ取得機能、MetaData部更新機能を含む。符号１０１は記録メディア制御部である。記録メディア１０２から一時蓄積部１０３へのデータの読み出しを行う。符号１０２はメモリカードなどの記録メディアである。ファイルシステムを介して、格納するファイルにアクセス可能であり、ファイルサイズやファイル名の取得、ファイルの実体データの読み出しを行える。
【００１６】
符号１０３は通信部であり、例えばＭＴＰ（Media Transfer Protocol）などによって外部デバイスと通信を確立し、一時蓄積部１０３上のデータを送出、または、受信データを一時蓄積部１０３上へ出力する。符号１０４は一時蓄積用のメモリである。記録メディア１０２に格納されるＭＰ４ファイルを通信部１０３へ介して送出する際の中間バッファとして使用される他、制御部１００によるＭＰ４ファイル加工時のバッファとしても使用される。また、制御部のワークメモリとしても使用される。符号１０５はシステム全体を繋ぐバスである。
【００１７】
次に、ＭＰ４ファイル送出装置の送出方法について、図４を用いて説明する。Ｓ４０１において、通信部１０３が図示しない外部デバイスとの間に例えばＭＴＰによって通信が確立する。Ｓ４０２において、データを受信する外部デバイスは、通信部１０３を介して記録メディア１０２に格納される、ファイルのリストを要求する。Ｓ４０３において、制御部１００は記録メディア制御部を介して記録メディア１０２のファイルシステムにアクセスし、記録メディア１０２に格納された、拡張子．ＭＰ４を持つファイルのリストを一時蓄積部１０４上で生成し、これを、送信部１０３を介して送出する。
【００１８】
Ｓ４０４において、外部デバイスは受信したリストに登録されるＭＰ４ファイルのうち、所望のファイルの送出を要求する。Ｓ４０５において、外部デバイスからの送出要求を通信部１０３経由で受け取った制御部１００は、該当するＭＰ４ファイルを、記録メディア制御部１０１を介して記録メディア１０２から読み出して、一時蓄積部１０４へ蓄積する。ここで制御部１００は一時蓄積部１０３に格納されるＭＰ４ファイルに対し、後述する加工処理を施す。Ｓ４０６において、制御部１００は一時蓄積部１０３に格納されるＭＰ４ファイルを、通信部１０３を介して外部デバイスへ送出する。以上のようにして、本送出装置は記録メディア１０３に格納されるＭＰ４ファイルを外部デバイスへ送出する。
【００１９】
次に、Ｓ４０５におけるＭＰ４ファイルの加工処理について図５を用いて説明する。Ｓ４０５におけるＭＰ４加工処理は、ＭＰ４ファイルのmoov内に配置されるスタッフィングデータたる、free/skipを削ることを指す。また、これに、mdat内に配置されるサンプルデータへのoffset情報たる、stco/co64の格納値を補正する処理を指す。
【００２０】
また、ＭＰ４ファイルでは通常、moovとmdatのサイズ比率では、実サンプルを格納するmdatの方が著しく大きい。更に、スタッフィングデータは通常、ファイル前部に位置するmoov内部にのみ用いられ、mdat内部には用いられない。
【００２１】
この観点から、moovサイズがファイル全体に対し係数０．５以上の比率で占めている場合、つまり、moovがＭＰ４ファイルの過半を占めている場合は、スタッフィングデータ削除処理を行い送出する。それ以下である場合、ファイルサイズの大部分が有効データと判断して、加工せずに送出するものとする。
【００２２】
Ｓ５０１において、送出するＭＰ４ファイルのサイズを、ファイルシステムを介して取得する。次にＳ５０２において、atomの識別子を頼りにmoov始端を探しだし、このatomヘッダから、moovのatomサイズを取得する。Ｓ５０３において、Ｓ５０１で取得したファイルサイズとＳ５０２で取得したmoovのサイズを、係数０．５をかけて比較する。比較の結果、moovがファイル全体の半分以下の場合、スタッフィングデータ削除処理を行わず、そのまま送出する。
【００２３】
moovがフィルサイズの過半を占める場合、Ｓ５０４において、加工するファイルの削除データ量が０であるように初期化する（図６（ａ））。以下、加工対象となるＭＰ４ファイルの先頭から末端まで順にatomに以下の処理を繰り返す。
【００２４】
Ｓ５０５において、加工処理がＭＰ４の末端までたどり着いたかを確認し、未達であれば、残りのatomに対して、Ｓ５０６〜Ｓ５１１の処理を加える。終端までたどり着いていれば、Ｓ５１２へ進む。終端であるか否かの判定は、ファイルシステム経由で取得したファイルサイズの末尾まで処理が辿りついたか否かで判断する。Ｓ５０６において、対象のatom headerを取得し、識別子とatomサイズを得る。
【００２５】
次にＳ５０７において、取得したatomの識別子がスタッフィングデータを示す"free"または"skip"であるか否かを判定する。スタッフィングデータであれば、Ｓ５０８〜Ｓ５１０の削除処理を行う。スタッフィングデータでなければＳ５１１へと進む。スタッフィングデータであった場合、Ｓ５０８において当該スタッフィングデータの破棄を目的とし、以降のデータをこのatomの始端位置まで前詰する（図６（ｂ））。スタッフィングデータの破棄に伴いＳ５０９において、上位階層のatomのサイズ値を、Ｓ５０８で破棄したatomサイズ分減算する（図７（ａ））。
【００２６】
次にＳ５１０において、削除データに、Ｓ５０８で削除したatomのサイズを加算する。Ｓ５１１で次atomへ進み、以上のS503〜508をファイル終端まで繰り返す。ファイル終端に辿りつくとＳ５０２からＳ５０９へ進み、削除したatomのサイズをoffset情報たるstco/co64-atomへフィードバックする。具体的にはstco/co64に格納されるoffset値全てに対し、Ｓ５１０で加算した総削除量を引いた値に置き換えることで行う（図７（ｂ））。
【００２７】
以上の処理を行うことで、ＭＰ４ファイルを、ネットワーク等を通じて送出する場合、ＭＰ４ファイル内に多量のスタッフィングデータが入っていたとしても、これを削除して送出することができる。つまり、ＭＰ４の送出時間が、有効データの送出のみで占めることとなる。
【００２８】
第１の実施例では、ＭＰ４ファイルサイズによらず、これを削除して送出する方法について説明した。しかしながら、送出するＭＰ４ファイルがある程度小さければ、加工処理を行うより、そのまま送出した方が送出の完了が早い場合がある。そこで、本実施例では、送出対象たるＭＰ４ファイルサイズによって、加工処理に入るか否かの判断を加える。
【００２９】
システムの構成及び、ファイルの送出方法については第一の実施例と同じであるため、説明を省略する。従って、図６〜図７のスタッフィング処理を行う前に、この処理を行うべきか否かの判定条件を図８のように追加する。
【００３０】
Ｓ７０１において、送出するＭＰ４のファイルサイズを、ファイルシステムを介して取得する。Ｓ７０２において、Ｓ７０１で取得したファイルサイズが閾値αより小さければＳ４０５の加工処理を行わず、そのまま送出する。加工処理の実施の有無を切り分ける閾値αは、通信帯域などから、１〜２秒程度で送出可能なデータ量と定めるなどする。一方、大きかった場合はＳ７０３へと進む、第一の実施例で説明した加工処理へと進む。
【００３１】
なお、本実施例では、送出ファイルをＭＰ４、通信プロトコルをＭＴＰとして記載したが、これに限ったものではなく、atom構造またはこれに類する構造をもち、スタッフィングデータが内包されるファイルの送信時には同様の処理で同様の効果を得ることができる。
【符号の説明】
【００３２】
１００  制御部      １０３  通信部      １０２  記録メディア制御部
１０４  一時蓄積部      １０２  記録メディア
１０５  システム全体を繋ぐバス
【図１】
2019087949.tif 000003
【図２】
2019087949.tif 000004
【図３】
2019087949.tif 000005
【図４】
2019087949.tif 000006
【図５】
2019087949.tif 000007
【図６】
2019087949.tif 000008
【図７】
2019087949.tif 000009
【図８】
2019087949.tif 000010