(57)【要約】      （修正有）【課題】ファイル全体のデータを持たない限り再生できない動画像データを記憶管理しながらも、要求元装置がそのファイル終端の受信を待たずに再生することができるようにする。【解決手段】ｆｔｙｐｅアトム、ｍｄａｔアトム、ｍｏｏｖアトムの順番に並んだ動画像ファイルの転送要求を受信したとき、ｍｏｏｖアトムが管理しているチャンクの全格納アドレスを、ｍｏｏｖアトムのサイズ分だけ増加させて新たなｍｏｏｖアトムを生成する。そして、ｆｔｙｐｅアトム、生成した新たなｍｏｏｖアトム、ｍｄａｔアトムの順にしたファイルを、要求元に転送する。【選択図】図５
2012054788.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信する通信手段と、
部分符号化データで表わされるチャンクデータを連結した構造を持つデータ部と、当該データ部に後続し、各チャンクデータの再生順番並びに格納アドレスを示す管理情報部とを有する所定のデータ構造の動画像ファイルを記憶保持する記憶手段と、
前記通信手段を介して前記外部装置から、前記記憶手段に記憶保持されている動画像ファイルの転送要求を受信する受信手段と、
該受信手段により転送要求を受信した場合、当該転送要求された動画像ファイルにおける前記データ部と前記管理情報部の並びを逆にして、前記通信手段を介して前記外部装置に転送する転送手段とを備え、
前記転送手段は、
前記要求された動画像ファイルにおける前記管理情報部に格納されている各チャンクデータの格納アドレスを、当該管理情報部のサイズ分だけ増加させることで新たな管理情報部を生成する生成手段と、
該生成手段で生成した前記新たな管理情報部を、前記要求された動画像ファイルにおける前記管理情報部として前記外部装置に送信し、次いで、前記データ部を送信する送信手段と
を有することを特徴とするデータファイル転送装置。
【請求項２】
前記所定の動画像ファイルは、ＭＯＶ形式の動画像ファイルであり、前記データ部はｍｄａｔアトム、前記管理情報部はｍｏｏｖアトムであることを特徴とする請求項１に記載のデータファイル転送装置。
【請求項３】
更に、前記生成手段が前記新たな管理情報部を作成したとき、生成した前記新たな管理情報部を独立したファイルとして、前記要求された動画像ファイルと関連付けて前記記憶手段に記憶する管理手段とを有し、
前記転送手段は、
前記転送要求された動画像ファイルに関連付けて記憶管理された前記管理情報部のファイルが前記記憶手段に存在するか否かを判定し、存在すると判定した場合には、前記管理情報部のファイルのデータを、前記生成手段が生成した新たな管理情報部として前記外部装置に転送する
ことを特徴とする請求項１又は２に記載のデータファイル転送装置。
【請求項４】
更に、前記受信手段で受信した転送要求が、前記所定のデータ構造を持つ動画像ファイルの要求であるか否か、及び、前記外部装置で即時再生することを目的とする要求であるかを判定する判定手段を有し、
該判定手段の判定の結果が、前記受信手段で受信した転送要求が前記所定のデータ構造を持つ動画像ファイルの要求であり、且つ、前記外部装置で即時再生することを目的とする要求であることを示す場合には、前記転送手段は、前記データ部と前記管理情報部の並びを逆にして転送し、それ以外の場合には、指定されたファイルを変更せずに転送する
ことを特徴とする請求項１又は２に記載のデータファイル転送装置。
【請求項５】
更に、動画像を撮像する撮像手段と、
データファイル転送装置として機能させるか否かを指定する指定手段とを有する
ことを特徴とする請求項１乃至４のいずれか１項に記載のデータファイル転送装置。
【請求項６】
外部装置と通信する通信手段と、部分符号化データで表わされるチャンクデータを連結した構造を持つデータ部と、当該データ部に後続し、各チャンクデータの再生順番並びに格納アドレスを示す管理情報部とを有する所定のデータ構造の動画像ファイルを記憶保持する記憶手段とを有するデータファイル転送装置の制御方法であって、
受信手段が、前記通信手段を介して前記外部装置から、前記記憶手段に記憶保持されている動画像ファイルの転送要求を受信する受信工程と、
該受信工程により転送要求を受信した場合、転送手段が、当該転送要求された動画像ファイルにおける前記データ部と前記管理情報部の並びを逆にして、前記通信手段を介して前記外部装置に転送する転送工程とを備え、
前記転送工程は、
生成手段が、前記要求された動画像ファイルにおける前記管理情報部に格納されている各チャンクデータの格納アドレスを、当該管理情報部のサイズ分だけ増加させることで新たな管理情報部を生成する生成工程と、
送信手段が、該生成工程で生成した前記新たな管理情報部を、前記要求された動画像ファイルにおける前記管理情報部として前記外部装置に送信し、次いで、前記データ部を送信する送信工程と
を含むことを特徴とするデータファイル転送装置の制御方法。
【請求項７】
外部装置と通信する通信手段と、部分符号化データで表わされるチャンクデータを連結した構造を持つデータ部と、当該データ部に後続し、各チャンクデータの再生順番並びに格納アドレスを示す管理情報部とを有する所定のデータ構造の動画像ファイルを記憶保持する記憶手段とを有するコンピュータに読み込ませ実行させることで、前記コンピュータをデータファイル転送装置として機能させるプログラムであって、
前記コンピュータを、
前記通信手段を介して、前記記憶手段に記憶保持されている動画像ファイルの転送要求を受信する受信手段、
該受信手段により転送要求を受信した場合、当該転送要求された動画像ファイルにおける前記データ部と前記管理情報部の並びを逆にして、前記通信手段を介して前記外部装置に転送する転送手段として機能させ、
前記転送手段は、前記コンピュータを、
前記要求された動画像ファイルにおける前記管理情報部に格納されている各チャンクデータの格納アドレスを、当該管理情報部のサイズ分だけ増加させることで新たな管理情報部を生成する生成手段、
該生成手段で生成した前記新たな管理情報部を、前記要求された動画像ファイルにおける前記管理情報部として前記外部装置に送信し、次いで、前記データ部を送信する送信手段
として機能させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像ファイル、音楽ファイル等のメディアファイルを記録媒体に保持し、要求に応じて所望のメディアファイルを他の機器や、他の媒体にファイル転送するためのデータファイル転送技術に関するものである。
【背景技術】
【０００２】
近年、動画像をデジタルデータファイル（メディアファイル）として、記録媒体に記録する装置が普及している。また、このような装置では、記録媒体に記録されたメディアファイルを他の端末（コンピュータや記録装置、再生装置等）や他の記録媒体に転送する機能を有するものがある。さらに、このようなメディアファイルに適したファイル形式として、ＭＯＶ形式、ＭＰ４形式が知られている。ＭＯＶ形式、ＭＰ４形式では管理情報とメディアデータが１つのファイルに格納されており、ファイル単体で取り扱う事ができ、パーソナルコンピュータ（ＰＣ）での親和性の高い形式となっている。ＭＯＶ形式とＭＰ４形式は類似したファイル形式である。以下では、ＭＯＶ形式のファイル（ＭＯＶファイル）について説明し、ＭＰ４形式についての説明は省略する。
【０００３】
ＭＯＶファイルでは、すべてのデータは「アトム」（もしくは「ボックス」）と呼ばれるデータ構造にパッキングして記録されている。各アトムは、次のような定義を持つデータ構造を有している。
class Atom {
unsigned int(32) size;
byte type[4];
byte data[];
};
【０００４】
上記「size」は、アトムのデータ長（ビット数）を示すフィールドである。「type」は、アトムの種類を示すフィールドであり、各アトムに対して割り当てられている４文字の識別子がセットされる。これらsize、typeがアトムのヘッダ部を構成することとなる。また、「data」は、アトムが内包するデータの実体（ペイロード部分）であり、その内容はtypeによって異なる。さらに、アトムはネスト構造を持つことができ、一つ以上の他のアトムを包含することが可能になっているため、「data」は他のアトムになることもある。
【０００５】
ＭＯＶファイルのアトム構成は、大きく分けると３つのアトムで構成される。１つめはｆｔｙｐｅタイプ（typeフィールドの識別子が“ftyp”）のアトムであり、互換性に関する情報が記録されており、再生機器はこのｆｔｙｐｅを参照することで、再生互換性のあるファイルであるか否かの大枠を判別することが可能である。２つめはｍｄａｔタイプ（typeフィールドの識別子が“mdat”）のアトムであり、動画像・音声などのメディアデータが、継続時間やフレームといった単位で分割されたごく小さな符号化データ（以下「サンプル」と記載）の連続で構成される。３つめは、ｍｏｏｖタイプ（フィールド「type」の識別子が“moov”）のアトムであり、上記サンプルの符号化形式、サイズやファイル上での記録位置、タイムスタンプなどの管理情報で構成される。
【０００６】
ｍｄａｔアトムのメディアデータは、「チャンク」と呼ばれるデータブロックに論理的に分割された状態で格納される。それぞれのチャンクは、時間的に連続するサンプルデータから構成されており、ｍｄａｔアトムのフィールド「ｄａｔａ」にはチャンクの配列が格納される。なお、このチャンクのサイズや含まれるサンプルの個数には特に制約はなく、任意の大きさやサンプル数を持つチャンクを構成し、格納することができる。
【０００７】
ＭＯＶ形式ファイル内におけるｍｄａｔアトムとｍｏｏｖアトムの記録位置は定められておらず、ｍｄａｔ、ｍｏｏｖアトムの順で格納されても良いし、ｍｏｏｖ、ｍｄａｔアトムの順で記録されても良い。しかし、撮像装置で撮影される動画像をＭＯＶファイルとして記録する場合、記録時間が最終的にどれだけの長さになるかは、記録完了の時点にならなければわからない。つまりｍｄａｔアトム及びそれを管理するｍｏｏｖアトムのサイズは記録時間が長くなるにつれて増加するので、記録完了時にこれらのアトムの最終的なサイズが確定するまでは、ファイルを構成する事ができない。したがって、撮影中はデータサイズの小さいｍｏｏｖアトムをワークメモリに保持しておく。そして、データサイズの大きいｍｄａｔアトムについてはｆｔｙｐｅのあとに随時追記しておき、撮影完了によりｍｄａｔの記録が完了した後に、ワークメモリに保持しているｍｏｏｖアトムをｍｄａｔアトムの後ろに追記して、ＭＯＶファイルとするような記録方法が一般的である。つまり、デジタルカメラで動画像を撮影しＭＯＶ形式ファイルを作成する場合のアトムの並びは、効率面からｆｔｙｐｅ→ｍｄａｔ→ｍｏｏｖが望ましいと言える。
【０００８】
一方、ｆｔｙｐｅ→ｍｄａｔ→ｍｏｏｖの順に記録されたＭＯＶファイルを再生する再生装置について考察する。この場合、再生開始時にファイル終端に記録された管理情報のｍｏｏｖを先読みする処理が必要となる。なぜなら、ｍｏｏｖアトムを参照しないと、個々のフレーム画像や音声データのチャンク位置が判らず、どこから再生するが不明となるからである。この事は特に、ファイル転送を利用した外部機器に保持されているＭＯＶ形式ファイルの再生装置が受信して再生する場合を考えると分かりやすい。この場合、再生装置は、ｍｏｏｖの格納されているファイル終端まで受信しなければ再生が開始できないという不都合が生じる。一般に、動画ファイルのサイズは大きいので、ファイル転送が完了するまでに多くの時間を必要となるので、この問題は無視できない。かかる点に鑑み、撮像装置での記録においても、ｍｏｏｖをｍｄａｔよりも前に配置し、ｆｔｙｐｅ、ｍｏｏｖ、ｍｄａｔの順に記録するためのファイル記録方法が、特許文献１に提案されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−６５１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記特許文献１に示されたファイル記録方法では、動画像データのリアルタイム記録中に、既にファイル中に記録されているデータを、ファイルの後方に移動する処理が発生する場合がある。このようなデータの一部を移動するような処理は、一般に処理時間が長くなる処理であり、特に近年記録媒体として利用されているフラッシュメモリを利用するような場合には、その記録特性により、ファイル内部を前後にシークして書き込むような処理は、処理時間が非常に長くなる懸念がある。このデータ移動処理の処理時間が非常に長くなってしまった場合には、撮影データのリアルタイム記録が間に合わなくなり、記録を中断せざるを得ない事態が発生する可能性がある。
【００１１】
以上の事を鑑み、本発明のデータファイル転送装置では、ｆｔｙｐｅ、ｍｄａｔ、ｍｏｏｖアトム（又はボックス）の順で記録されているＭＯＶファイルを、受信側に都合の良い形式に構成し直して転送する技術を提供するものである。
【課題を解決するための手段】
【００１２】
この課題を解決するため、例えば本発明のデータファイル転送装置は以下の構成を備える。すなわち、
外部装置と通信する通信手段と、
部分符号化データで表わされるチャンクデータを連結した構造を持つデータ部と、当該データ部に後続し、各チャンクデータの再生順番並びに格納アドレスを示す管理情報部とを有する所定のデータ構造の動画像ファイルを記憶保持する記憶手段と、
前記通信手段を介して前記外部装置から、前記記憶手段に記憶保持されている動画像ファイルの転送要求を受信する受信手段と、
該受信手段により転送要求を受信した場合、当該転送要求された動画像ファイルにおける前記データ部と前記管理情報部の並びを逆にして、前記通信手段を介して前記外部装置に転送する転送手段とを備え、
前記転送手段は、
前記要求された動画像ファイルにおける前記管理情報部に格納されている各チャンクデータの格納アドレスを、当該管理情報部のサイズ分だけ増加させることで新たな管理情報部を生成する生成手段と、
該生成手段で生成した前記新たな管理情報部を、前記要求された動画像ファイルにおける前記管理情報部として前記外部装置に送信し、次いで、前記データ部を送信する送信手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ファイル全体のデータを待たない限り再生できない動画像データを記憶管理しながらも、要求元装置がそのファイル終端の受信を待たずに動画像を再生することができるようになる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態の撮像装置の構成例を示す図。
【図２】ＭＯＶファイル構成を示す図。
【図３】第１実施形態のファイル転送処理を示すフローチャート。
【図４】アトム入れ替え転送処理を示すフローチャート。
【図５】ファイル読み出し、転送順序を示す図。
【図６】第２実施形態の撮像装置の構成例を示す図。
【図７】撮像装置の基本処理を示すフローチャート。
【図８】第３の実施形態の管理テーブルを示す図。
【図９】第３の実施形態のファイル転送処理を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。実施形態では、データ転送装置としてデジタルカメラに代表される撮像装置に適用した例を説明する。
【００１６】
［第１の実施形態］
図１に、本第１の実施形態の撮像装置のブロック構成図を示す。同図に示すように、本装置は、制御部１０１、バス１０２、フラッシュメモリ１０３、メモリ１０４、カードスロット１０５、ＨＤＤ１０７、無線ＬＡＮデバイス１０８、光学部１０９、集音部１１０、及び、操作部１１１を有する。
【００１７】
制御部１０１は撮像装置全体の制御を担うものである。また、この制御部１０１は、符号化／復号処理をはじめ、後述するファイル転送処理、ファイル転送のための各種通信プロトコル処理、ファイルシステム処理等も行う。更に、制御部１０１はバス１０２を介して、各構成要素間のデータ転送にかかる処理も行う。フラッシュメモリ１０３は、制御部１０１で動作させるプログラムや各種設定データを格納するものであり、本装置の電源が切られた状態でもプログラムやデータは保持される。メモリ１０４は、いわゆるＲＡＭであって、制御部１０１のワークメモリや、各ブロック間のデータ転送の際のバッファの役割を持つ。カードスロット１０５は着脱可能なメモリカード１０６を接続するためのものである。このメモリカード１０６は所定のファイルシステムで初期化されており、撮像した静止画ファイル、動画ファイルを記憶保持するために用いられる。ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）１０７は、上記メモリカード１０６と同様に、所定のファイルシステムが構築されており、撮像した静止画ファイル、動画ファイルを格納、並びに、記憶保持のために用いられる。尚、カードスロット１０５やＨＤＤ１０７は必須ではなく、何らかの１つ以上の記録媒体であれば構わない。光学部１０９には、レンズ、ＣＣＤ又はＣＭＯＳ等の撮像素子、並びに、撮像した映像信号をデジタル画像データに変換するＡ／Ｄ変換器を内蔵し、静止画、動画を撮像するものである。集音部１１０は、マイクロホンやマイクロホンで検出した音声信号を増幅する増幅部、並びに、増幅した音声信号をデジタルデータに変換するＡ／Ｄ変換部を有する。操作部１１１は、ユーザインタフェースとして機能するための表示器を有する。更に、操作部１１１は、静止画撮影のためのシャッターボタン、動画像撮影開始／終了を指示するボタン、本装置をネットワーク上のファイルサーバとして機能させるスイッチをはじめ、各種スイッチ、ボタンを有する。ユーザが、この操作部１１１を操作して、本装置をファイルサーバとして機能させるようにしたとき、本装置はネットワーク上のメディアサーバとして機能する。そして、無線ＬＡＮデバイス１０８を介してネットワーク上のクライアント（受信機）からの要求に応じて、メモリカード１０６やＨＤＤ１０７に格納された静止画ファイル、動画ファイルの転送を行うこととなる。転送プロトコルとしえは、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等で良いし、それ以外のプロトコルであっても構わない。なお、複数のカードスロットを搭載するような装置では、そのカードスロットの１つに、無線ＬＡＮのカードを挿入する事で、上記無線ＬＡＮデバイス１０８を構成するようにしても構わない。
【００１８】
上記構成において、本装置における制御部１０１による処理手順を図７のフローチャートに従って説明する。同図のフローチャートに対応するプログラムは、先に説明したように、フラッシュメモリ１０３に格納されているものであり、制御部１０１が実行するものである。
【００１９】
先ず、制御部１０１は、操作部１１１により静止画撮影が指示されたか否か、すなわち、静止画シャッターボタンが操作されたか否かを判定する（Ｓ７０１）。静止画撮影指示入力を検出すると、光学部１０９を制御し、静止画を撮影し、デジタル画像データを得る（Ｓ７０２）。そして、デジタル画像データを符号化し（Ｓ７０３）、その符号化データを静止画画像ファイルとしてメモリカード１０６又はＨＤＤ１０７に格納し（Ｓ７０４）、Ｓ７０１に戻る。
【００２０】
操作部１１１からの指示入力が静止画撮影指示ではない場合（Ｓ７０１）、動画撮影開始指示が入力されたか否かを判定する（Ｓ７０５）。動画撮影開始指示ではないと判断した場合、入力された指示に応じた処理を行う（Ｓ７０６）。このＳ７０６の処理の１つに、後述する本撮像装置をファイルサーバとして機能させる処理がある。
【００２１】
さて、動画撮影開始指示が入力されたと判断すると、ＨＤＤ１０７（メモリカード１０６でも構わない）に、書き込み用のＭＯＶ形式の動画像ファイルをオープンする（Ｓ７９７）。このあと、制御部１０１は、ｆｔｙｐアトムを作成し、オープンした書き込み用動画ファイルの先頭に、その作成したｆｔｙｐｅアトムを格納する（Ｓ７０８）。そして、ｍｄａｔアトムのヘッダ部を作成し、そのヘッダ部を、ｆｔｙｐｅアトムに後続する位置に格納する（Ｓ７０９）。ただし、この際、ｍｄａｔアトムのヘッダ部におけるフィールド「ｓｉｚｅ」は不明であるので、その部分は空白状態にする。上記の結果、動画像のファイルの準備が整ったことになる。制御部１０１は、光学部１０９による動画像撮影処理と集音部１１０による音声検出処理を行わせる（Ｓ７１０）。この結果、フレームを単位とする画像がメモリ１０４に格納され、同時に音声データもメモリ１０４に格納されていくので、それを符号化し（Ｓ７１１）、符号化データをチャンクとして、ｍｄａｔアトムのヘッダ部に後続する位置に順次格納していく（Ｓ７１３）。なお、この際、各チャンクのファイル先頭からの格納される位置が判明するので、そのアドレス位置をメモリ１０４に一時的に記憶させていく。このアドレス位置を記憶する理由は、動画撮影終了したときに、ｍｏｏｖアトムを生成するためである。上記処理は、ユーザが操作部１１１から、動画撮影終了指示を行うまで繰り返される。すなわち、部分符号化データのチャンクデータの連結構造のデータ部としてのｍｄａｔアトムを構築していくことになる（Ｓ７１４）。
【００２２】
さて、制御部１０１が、動画撮影終了指示を検出すると、ｍｄａｔアトムのサイズが確定するので、ｍｄａｔアトムのヘッダ部のフィールド「ｓｉｚｅ」にそのサイズを示すビット数を書き込む（Ｓ７１５）。この後、メモリ１０４に格納した各チャンクの格納アドレスから、再生順番等を管理する管理情報部としてのｍｏｏｖアトムを作成する。そして、ｍｄａｔアトムの後続する位置に、作成したｍｏｏｖアトムを格納する（Ｓ７１６）。そして、書き込み用にオープンしたＭＯＶ形式動画像ファイルをクローズし、そのファイルを確定し、処理を終了する。
【００２３】
ここで、実施形態の処理で作成されたＭＯＶ形式の動画像ファイルのデータ構造の例を図２（ａ）に示す。図示の如く、ファイルのデータ構造は、ｆｔｙｐｅ、ｍｄａｔ、ｍｏｏｖアトムの順で構成されることになる。ｆｔｙｐｅアトムのフィールド「ｄａｔａ」には、詳細な互換性情報（記録機器の情報、ソフトウェアバージョンなど）が記録されており、再生機器はこの内容を参照し、自機で再生可能なＭＯＶファイルであるか否かの簡易判定を行う事ができる（詳細な判定は、ｍｏｏｖ中の管理情報の参照が必要）。
【００２４】
ｍｄａｔアトムのフィールド「ｄａｔａ」には、動画像・音声のサンプルデータのようなメディアデータが格納されている。メディアデータは「チャンク」と呼ばれるデータブロックに論理的に分割された状態で格納される。それぞれのチャンクは、時間的に連続するサンプルデータから構成されており、ｍｄａｔアトムのフィールド「ｄａｔａ」にはチャンクの配列が格納される。このチャンクのサイズや含まれるサンプルの個数には特に制約はなく、任意の大きさやサンプル数を持つチャンクで構成する事ができる。例えば、動画像データ（Ｖｉｄｅｏ）は１チャンク＝１フレーム＝１サンプルとして記録され、音声データ（Ａｕｄｉｏ）は１チャンク＝一定時間分のサンプルデータとして記録される。３２ｋＨｚでサンプリングされた音声データの１秒分が１チャンクに格納される場合は、３２ｋサンプルのデータが格納されることになる。図２（ａ）では、３つの動画像データチャンク毎に、１つの音声データチャンクが挿入されている例である。
【００２５】
ｍｏｏｖアトムのフィールド「ｄａｔａ」には、動画像・音声サンプルの管理情報（メタデータ）が格納されている。実際にはフィールド「ｄａｔａ」には様々なアトムが入れ子になって格納される事で、様々な管理情報が格納される。たとえばｍｏｏｖアトム内には、ＭＯＶファイル中のデータトラックのメタデータ情報を保管するｔｒａｃｋアトムが格納される。各データトラックは、「トラックＩＤ」と呼ばれるＭＯＶファイル内で一意な識別子で識別されるようになっており、ｔｒａｃｋアトムには、トラックＩＤなどのデータトラックに関する情報が記録されている。先に説明したすべてのチャンクおよびサンプルは、いずれかのデータトラックに属することになっているため、それぞれのデータトラックを構成する全てのチャンク及びサンプルのメタデータ情報も、このｔｒａｃｋアトムに記述されるようになっている。図２（ａ）の場合、動画像データのトラックと、音声データのトラックが存在し、それぞれのメタデータ情報が、それぞれのｔｒａｃｋアトムに格納される。ｔｒａｃｋアトムのフィールド「ｄａｔａ」には、Ｓａｍｐｌｅ  Ｄｅｓｃｒｉｐｔｉｏｎアトム、Ｓａｍｐｌｅ  Ｓｉｚｅアトム、Ｓａｍｐｌｅ  ｔｏ  Ｃｈｕｎｋアトム、Ｃｈｕｎｋ  Ｏｆｆｓｅｔアトムなどが格納される。Ｓａｍｐｌｅ  Ｄｅｓｃｒｉｐｔｉｏｎアトムには、トラックデータ再生のための情報が格納されており、例えば動画像データトラックの場合には、符号化情報、色情報などが格納され、音声データトラックの場合には、符号化情報、サンプルレート等が格納される。Ｓａｍｐｌｅ  Ｓｉｚｅアトムにはサンプルごとのサイズが格納されており、例えば動画像データトラックの場合は、サンプル毎（＝１フレーム毎）のサイズが可変長である場合には、サンプル毎のサイズが配列として全サンプル分格納される。また音声データトラックの場合、サンプル毎のサイズが固定長であるならば、固定長である事を記録し、その固定サイズが１つ格納される。Ｓａｍｐｌｅ  ｔｏ  Ｃｈｕｎｋアトムには、１チャンクあたりのサンプル数が格納されており、例えば動画像データトラックの場合には、１チャンクあたり１サンプル（＝１フレーム）固定、音声データトラックの場合には、先頭チャンクから１チャンクあたり３２００サンプルで、２４番目のチャンクは１チャンクあたり１０７０サンプルといったような情報が格納される。Ｃｈｕｎｋ  Ｏｆｆｓｅｔアトムには、各チャンクの格納先へのオフセット（ＭＯＶファイル先頭からのオフセット）が記録され、動画像データトラック、音声データトラックのそれぞれについて配列として格納される。
【００２６】
図２（ｂ）は、ＭＯＶ形式の動画像ファイルのもう１つのデータ構造を示している。図示の如く、ｍｄａｔアトムとｍｏｏｖアトムの順序が逆になっている。また、この２つの動画像ファイルが再生する動画が同一である場合、図２（ａ）と（ｂ）では、各チャンクの記録位置（ファイル先頭からのオフセット値）は、（ｂ）の方がｍｏｏｖアトムサイズ分だけ大きい値になっていなければならない事に注意が必要である。
【００２７】
上述のとおり、図２（ａ）に示すデータ構造は、撮影記録する際には都合が良いのがわかる。しかし、図２（ａ）に示すデータ構造によると、ｍｄａｔだけでは、符号化情報やチャンクがどのように構成され、どこにどれだけのサイズで格納されているかを知る事はできないため、ＭＯＶファイルを再生するにはｍｏｏｖの情報が必須となることも理解できよう。
【００２８】
次に、本実施形態の撮像装置が、ファイルサーバとして機能した場合の処理を図３、図４のフローチャートと図５を用いて説明する。なお、ファイルサーバとして機能するのは、ユーザが操作部１１１の所定のスイッチ（ボタン）を操作した場合であって、図７のＳ７０６の処理の一部である。
【００２９】
制御部１０１は、ファイルサーバとして機能させる指示を受けると、無線ＬＡＮデバイス１０８を有効にし、ＦＴＰサーバとして機能させる。このとき、メモリカード１０６やＨＤＤ１０７の静止画ファイル、動画像ファイルを格納しているフォルダが、ＦＴＰクライアントからアクセス可能なフォルダとして管理される。クライアント端末は、ネットワークを介して、それらのフォルダ内に格納されているファイル一覧を取得し、ユーザにより所望のファイルが指示された場合、そのファイルの転送要求（ＦＴＰではＲＥＴＲコマンド）を、本撮像装置（ファイルサーバ）に要求する。なお、転送プロトコル、ファイルの指定方法は一例である。また、本実施形態のように複数の記録媒体が存在する場合には、媒体の指定とともにファイルが指定されることとなる。
【００３０】
さて、ファイル転送要求を受信することでファイル転送処理が起動されると（Ｓ３０１）、クライアントから要求されたファイルが、動画を示すＭＯＶファイルか、静止画を示すファイル（ＪＰＥＧファイル）かを判断する（Ｓ３０２）。ＭＯＶファイルか否かについては、ファイル名のファイルの拡張子に（．ＭＯＶ）が使用されているか否かで、簡易的に判断が可能である。ＭＯＶファイルではない場合、すなわち、静止画ファイルが指定された場合、Ｓ３０９に進み、指定されたファイルに対して「順次読み出し転送処理」を実行し、終了する。ここで「順次読み出し転送処理」とは、一般的なファイル転送処理であり、ファイルを先頭から所定サイズで読み出し、読み出したデータを転送という処理をファイル終端まで順次繰り返す処理である。
【００３１】
一方、転送が要求されたファイルが動画像のＭＯＶファイルであると判定された場合には、そのファイルを記憶している記憶媒体（実施形態ではメモリカード１０６又はＨＤＤ１０７）から、ファイル先頭に記録されているｆｔｙｐｅアトムを読出し、メモリ１０４に一旦格納する（Ｓ３０３）。そして、制御部１０１は、読み出したｆｔｙｐｅアトムを無線ＬＡＮデバイス１０８により要求元であるクライアントに向けて転送する（Ｓ３０４）。続いてＳ３０５にて、ｆｔｙｐｅアトムに後続する次のアトムの先頭をメモリ１０４に所定サイズ読み出す（例えば１５００バイト、少なくとも前記リスト１のsize, typeを含む８バイト以上）。続いて、読み出したデータの先頭に存在するアトムのtypeフィールドを確認する（Ｓ３０７）。すなわち、転送要求されたＭＯＶファイルが図２（ａ）（ｂ）のいずれのデータ構造になっているかどうかを判定する。ｆｔｙｐｅアトムに後続するアトムがｍｏｏｖアトムであった場合、要求されたＭＯＶファイルのデータ構造が、受信側機器に適したアトム配置であるため、Ｓ３０９に進み、通常の「順次読み出し転送処理」を行い、ファイル転送処理を終了する。
【００３２】
一方、ｆｔｙｐｅアトムに後続するアトムがｍｄａｔアトムであった場合には、受信側機器に適さないアトム配置であるため、Ｓ３０８に進み、「アトム入れ替え転送処理」を実行する。
【００３３】
図４は、上記のＳ３０８のアトム入れ替え転送処理の詳細を示すフローチャートである。以下、同図に従って説明する。
【００３４】
制御部１０１は、アトム入れ替え転送処理を開始すると（Ｓ４０１）、先ず、メモリ１０４に読み出したｍｄａｔアトム先頭に含まれるsizeフィールドを参照することで、ｍｄａｔアトムのサイズを獲得する。そして、ファイル読み出し位置（ファイルポインタ）をｍｄａｔアトムの先頭から、獲得したサイズ分だけ進める（Ｓ４０２）。この結果、ファイルポインタは、ｍｏｏｖアトムの先頭位置にシークすることになるので、ファイルポインタ位置からファイル終端までのｍｏｏｖアトムをメモリ１０４に読み出す（Ｓ４０３）。読み出されたｍｏｏｖアトムには、Ｃｈｕｎｋ  Ｏｆｆｓｅｔアトムが含まれている。先にも説明したとおり、本アトムに記録されている各チャンクまでのオフセット値は、ファイル先頭からのオフセット位置である。これまでの説明から明らかなように、ｍｄａｔアトムよりもｍｏｏｖアトムが前にくるようにファイル構成を変更しようとしているため、このオフセット値にｍｏｏｖアトムのサイズ分の加算をする必要がある。そこで、メモリ１０４に読出した、Ｃｈｕｎｋ  Ｏｆｆｓｅｔアトムに記録されているオフセット値の配列の全てに対し、Ｍｏｏｖアトムサイズを加算し、更新する修正処理を実施する（Ｓ４０４）。つまり、オリジナルのＭｏｏｖアトムから、新たなＭｏｏｖアトムを生成する。続いて、オフセット値の修正（生成）されたｍｏｏｖアトムを、要求元であるクライアントに向けて送信する（Ｓ４０５）。
【００３５】
要求元のクライアントから見ると、先ず、ｆｔｙｐｅアトムを受信したあとに、ｍｏｏｖアトムを受信するため、図２（ｂ）の形式のＭＯＶファイルを受信しているように見える事になる。
【００３６】
次に、すでにＳ３０５で読み出し済みのｍｄａｔアトムの先頭を転送し（Ｓ４０６）、後続してｍｄａｔアトムの最後まで順次所定サイズのファイルデータ読み出し、転送を繰り返す事で（Ｓ４０７）、アトム入れ替え転送処理を終了する。
【００３７】
要求元のクライアントから見ると、図２（ｂ）の形式のファイルを最後まで受信したことになる。従って、クライアントは、ｍｏｏｖアトムを受信が完了すれば、それ以降に受信するｍｄａｔアトムをその都度、ｍｏｏｖアトムを参照して復号処理して再生を開始できる。すなわち、ファイル終端までダウンロードせずに、その動画像ファイルを再生開始できることになる。
【００３８】
以上、アトム入れ替え転送処理が実施される場合のＭＯＶファイル転送のファイル読み出しと、転送の順序を整理すると図５のようになる。要求元である受信機では、符号５０２のｍｏｏｖアトムの後に、符号５０１のｍｄａｔアトムの先頭を受信する事になる。ｍｏｏｖアトムの受信が完了した時点で、受信機は、再生に必要メタ情報と、少なくとも動画像データの先頭チャンク、音声データの先頭チャンクの受信が完了するため、ファイルを受信しながらの再生を開始する事も可能となる。
【００３９】
尚、これまでの説明では、説明を簡便化するためファイルの読み出しとファイルの転送を逐次処理として説明したが、読み出し済みデータの転送と次のファイルデータ読み出し処理を並行に処理する（パイプライン処理）事で、ファイル転送処理全体の処理時間を短縮できるように構成しても良い。
【００４０】
以上説明したとおり、実施形態のデータファイル転送装置（撮像装置）では、図２（ａ）のようなＭＯＶファイルであっても、ファイル転送処理においてｍｏｏｖアトムとｍｄａｔアトムを矛盾なく入れ替える処理を実施するため、受信機器では、図２（ｂ）の形式でＭＯＶファイルを受信する事が可能となる。またアトム入れ替え転送処理（図４）におけるオフセット値修正の処理（Ｓ４０４）は、メモリ上に存在するオフセット値の配列に対し、固定の値を加算するだけの処理であるため、短時間の処理で済む。そして、受信機器は、ｍｄａｔアトムを受信しながら再生を開始する事が可能となるため、受信機器を利用するユーザにとっては、ファイル転送を支持してから再生が開始されるまでの時間が短くなるため、メリットが大きい。
【００４１】
［第２の実施形態］
本第２の実施形態におけるデータファイル転送装置の構成を図６に示す。
【００４２】
図６は、図１の無線ＬＡＮデバイス１０８の代わりに、ＵＳＢデバイス６０１に置き換わっている点が異なる。また、本第２の実施形態では、ファイル転送のプロトコルとしてＭＴＰ（Ｍｅｄｉａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を利用し、通信処理、プロトコル処理については、制御部１０１上で動作するソフトウェア（ＭＴＰレスポンダ）として実現される。つまりＵＳＢで接続された外部機器（ＵＳＢホストを有する）上のＭＴＰイニシエータから、ファイル転送が要求される。ＭＴＰではＧｅｔＯｂｊｅｃｔでオブジェクトＩＤを指定する事で、転送要求のファイルの指定を行う。ＧｅｔＯｂｊｅｃｔを受けた本第２の実施形態のデータファイル転送装置は、第１の実施形態と同様に、図３のファイル転送処理、必要に応じて図４のアトム入れ替え転送処理を実行することになり、第１の実施形態と同様の作用効果を奏することに成功する。
【００４３】
［第３の実施形態］
上記第１，第２の実施形態では、要求された動画像ファイルが図２（ａ）のデータ構造なっている場合、同図（ｂ）のように並べ替えて送信するものであった。ここで注意すべき点は、受信機器に送信するｍｏｏｖアトムは、オリジナルのｍｏｏｖアトムのフィールド「ｄａｔａ」で管理している各チャンクのオフセットアドレスを、そのｍｏｏｖアトムのサイズ分（フィールド「ｓｉｚｅ」）だけ増加させる更新処理させたものである。従って、上記の更新処理が介在するので、ｆｔｙｐｅアトムを送信してから、シームレスにｍｏｏｖアトムを送信できない。
【００４４】
また、受信機器は単に動画像ファイルを要求する理由は２つあると考えてよい。１つは、ローカルに記憶管理するため、もう１つは、受信してすぐさま再生するためである。前者の場合、アトム入れ替え転送処理は不要であり、その分だけファイル転送が完了するまでに要する時間が短ければ短い程良い。後者の場合、第１の実施形態と同様に、アトム入れ替え転送処理を行って転送することが望ましい。
【００４５】
本第３の実施形態は、第１に、ｆｔｙｐｅアトムの後に、シームレスにｍｏｏｖアトムを送信可能とする。そして、第２には、受信機器は単に動画像ファイルを記憶管理するために要求しているのか、或いは、受信して再生するために要求しているのかを判定し、後者の場合にのみ、アトム入れ替え転送処理を行う。
【００４６】
上記第１の課題は、ＭＯＶファイルを最初に転送したときは第１の実施形態と同じである。異なる点は、その転送の際にオリジナルのｍｏｏｖアトムから作成した更新後のチャンクアドレスを持つｍｏｏｖアトムを、独立したファイルとして別途保存しておき、次回、同じファイルの転送要求を受信した場合に、それを利用する点である。別途保存したｍｏｏｖアトムのファイル名は、オリジナルの動画像のファイル名と同じとし、拡張子を「．ｍｏｏｖ」として、ＨＤＤ１０７に保存する。
【００４７】
上記第２の課題は、仮に、転送要求されたＭＯＶファイルのファイル名が「Ｍ０００１．ＭＯＶ」である場合、それは保存目的とする転送要求であると判定する。そして、即時再生目的とする場合には、ファイル名にもう１つの拡張子「．ＰＬＡＹ」を付加されている場合とする。すなわち、上記の場合、転送要求として仮想ファイル名「Ｍ０００１．ＭＯＶ．ＰＬＡＹ」が指定された場合、物理ファイル名「Ｍ０００１．ＭＯＶ」に対する即時再生を目的とした転送要求であると認定し、アトム入れ替え転送処理を行うものとする。このように、ファイル名を操作するだけであるので、既存のプロトコルを変更せずに、転送要求したＭＯＶファイルが要求元の装置内の記憶装置（ハードディスク等）に保存を目的とするものであるのか、即時再生を目的とするのかをファイルサーバ側で判断できるようになる。なお、転送要求するファイル名の一部も文字列を利用して、判別できればよいので、上記は単にその一例であることに注意願いたい。また、ファイル名による判別だけではなく、保存目的とする転送要求（例えばＣＯＰＹコマンド）か、即時再生を目的とした転送要求（例えばＰＬＡＹコマンド）か、要求コマンドで判別するようなプロトコルを使用しても、上述した課題を解決することが可能である。
【００４８】
本第３の実施形態における撮像装置のハードウェア構成は図１と同じであるものとし、上記第１，第２の課題を達成する例を説明する。
【００４９】
本第３の実施形態における制御部１０１は、動画像を撮影し、メモリカード１０６やＨＤＤ１０７にＭＯＶ形式ファイルを記録したとき、図８に示すような管理テーブルにその動画像ファイルのパス付きファイル名を登録するものとする。この管理テーブルは、ＨＤＤ１０７の予め設定された領域に作成されているものである（あるいは管理ファイルとして記録しても良い）。図８に示すように、管理テーブルは、パス付きファイル名を格納するフィールドと、フラグを格納するフィールドで構成される。フラグは、過去に一度でもアトム入れ替え転送処理を行ったか否かを示す情報として利用されるものであり、同時に、ｍｏｏｖアトムのファイルが存在するか否かを示す情報としても利用される。なお、図示は一例であって、動画像ファイルとｍｏｏｖアトムのファイルとの関連付けが成されていればよいので、この形式に限定されない。制御部１０１は、新規に動画像を撮影し保存記録した場合、アトム入れ替え転送処理を行っていないので、該当するフラグを“０”にし、一度でもアトム入れ替え転送処理を行った場合には“１”をセットするものとする。
【００５０】
先ず、図９のフローチャートを参照して、本第３の実施形態におけるファイル転送処理を説明する。図９のフローチャートは、図３に代わるものでもある。
【００５１】
制御部１０１は、クライアントから要求されたファイルが、動画を示すＭＯＶファイルか、静止画を示すファイル（ＪＰＥＧファイル）かを判断する（Ｓ９０１）。ＭＯＶファイルか否かについては、ファイル名のファイルの拡張子の文字列が「ＭＯＶ」又は「ＭＯＶ．ＰＬＡＹ」か、どうかで判断が可能である。ＭＯＶファイルではない場合、すなわち、静止画ファイルが指定された場合、Ｓ９０６に進み、指定されたファイルに対して「順次読み出し転送処理」を実行し、終了する。
【００５２】
一方、転送が要求されたファイルが動画像のＭＯＶファイルであると判定された場合には、そのファイルの拡張子の文字列が、「ＭＯＶ．ＰＬＡＹ」か「ＭＯＶ」かを判定することで、即時再生を目的とするものであるか否かを判定する（Ｓ９０２）。即時再生を目的としないと判定した場合は、Ｓ９０６に進み、動画像ファイルであっても、指定されたファイルに対して「順次読み出し転送処理」を実行し、終了する。この結果、保存目的の場合には、アトム並び替え処理をしないので、ｆｔｙｐｅアトムを転送してからｍｏｏｖアトムを転送するまでの空白時間が無くなり、転送に係る時間を短縮できる。
【００５３】
さて、転送要求された動画像ファイルが即時再生を目的としていると判定した場合、Ｓ９０３に処理を進める。制御部１０１は、指定された動画像ファイルを記憶媒体から、そのファイル先頭に記録されているｆｔｙｐｅアトムを読出し、メモリ１０４に一旦格納し、読み出したｆｔｙｐｅアトムを無線ＬＡＮデバイス１０８により要求元であるクライアントに向けて転送する。続いてＳ９０４にて、ｆｔｙｐｅアトムに後続する次のアトムの先頭をメモリ１０４に所定サイズ読み出す。そして、制御部１０１は、読み出したデータの先頭に存在するアトムのtypeフィールドを確認する（Ｓ９０５）。すなわち、転送要求されたＭＯＶファイルが図２（ａ）（ｂ）のいずれのデータ構造になっているかどうかを判定する。ｆｔｙｐｅアトムに後続するアトムがｍｏｏｖアトムであった場合、要求されたＭＯＶファイルのデータ構造が、受信側機器に適したアトム配置であるため、Ｓ９０６に進み、通常の「順次読み出し転送処理」を行い、ファイル転送処理を終了する。
【００５４】
一方、ｆｔｙｐｅアトムに後続するアトムがｍｄａｔアトムであった場合には、制御部１０１は、テーブル（図８参照）を調べ、転送要求された動画像ファイルのフラグが“０”か“１”かを判定する。フラグが“０”であった場合、その動画像ファイルは、即時再生目的として最初の転送であると判定できる。そこで、制御部１０１はアトム入れ替え転送処理を実行する（Ｓ９０８）。このアトム入れ替え転送処理は、第１の実施形態の図４と同じとし、その説明は省略する。ただし、メモリ１０４には、オリジナルのｍｏｏｖアトムから得られた更新後のｍｏｏｖアトムは、アトム入れ替え転送処理を終えた後にも残っているものとする。「アトム入れ替え転送処理」を終えると、制御部１０１はメモリ１０４に保持されている更新後のｍｏｏｖアトムを独立したファイルとして、ＨＤＤ１０７内の予め設定された非共有領域に保存する。そして、更新後のｍｏｏｖアトムが存在することを示すため、管理テーブルにおける、転送要求されたファイルのフラグを“１”に設定し、本処理を終える。
【００５５】
一方、Ｓ９０７にて、フラグが“１”であると判定した場合、制御部１０１は、ｍｏｏｖアトムとして保存されたファイルからｍｏｏｖアトムのデータを読出し、それを転送する（Ｓ９１１）。この後、転送要求されたＭｄａｔアトムを転送する（Ｓ９１２）。
【００５６】
以上説明した第３の実施形態によれば、第１、第２の実施形態と比較し、過去に一度でも再生目的として転送要求したＭＯＶ形式の動画像ファイルについては、各アトム間に時間差を無くして転送ができるようになる。また、ファイル保存目的とする転送要求については、そもそもアトム並び替え処理を行なわないので、ネットワークトラフィックを無視するのであれば、短時間での転送が約束される。なお、第３の実施形態では、２つの課題を同時に実現する例を説明したが、いずれか一方のみであっても構わない。
【００５７】
尚、上記説明では、ｍｏｏｖファイルの有無を管理テーブルを用いて管理していたが、ｍｏｏｖファイルをｍｏｖファイルと同一のフォルダに記録する事とし、同一フォルダ内にｍｏｏｖファイルが存在するか否かで管理するようにしても良い。
【００５８】
なお、実施形態では、ファイルサーバとして、デジタルカメラ等の撮像装置を例にしたが、デジタルカメラやビデオカメラとは独立したファイルサーバにも適用できるので、上記実施形態によって本発明が限定されるものではない。
【００５９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012054788.tif 000003
【図２】
2012054788.tif 000004
【図３】
2012054788.tif 000005
【図４】
2012054788.tif 000006
【図５】
2012054788.tif 000007
【図６】
2012054788.tif 000008
【図７】
2012054788.tif 000009
【図８】
2012054788.tif 000010
【図９】
2012054788.tif 000011