(57)【特許請求の範囲】
【請求項１】
情報データを入力する入力手段と、
前記入力手段により入力された情報データを符号化する符号化手段と、
それぞれがサイズ情報を含む複数の格納単位を有する情報ファイルであって、前記複数の格納単位が、前記符号化手段により符号化された情報データを格納するための一つ以上の第１の格納単位と、前記第１の格納単位に格納された情報データに関する管理情報を格納するための一つ以上の第２の格納単位とを含む情報ファイルを生成する生成手段と、
前記生成手段により生成された情報ファイルを記録媒体に記録する記録手段と、
前記生成手段により生成された情報ファイルを外部装置に送信する送信手段と、
前記生成手段により生成された情報ファイルを前記記録手段により記録する記録モードと、前記生成手段により生成された情報ファイルを前記送信手段により送信する送信モードとを含む複数のモードの何れか一つを設定する設定手段と、
前記記録モードにおいて、前記第１の格納単位と前記第２の格納単位をそれぞれ一つだけ含む一つの前記情報ファイルを生成するように前記生成手段を制御し、前記送信モードにおいて、複数の前記第１の格納単位と複数の前記第２の格納単位とを含む前記情報ファイルを生成するように前記生成手段を制御する制御手段とを備え、
前記制御手段は、前記送信モードにおいて、前記入力された情報データを符号化しながら、前記符号化された情報データのデータ量が所定量となる毎に、前記符号化された情報データが格納された前記第１の格納単位を生成すると共に、生成した前記第１の格納単位に格納された情報データに対応した前記管理情報が格納された前記第２の格納単位を生成するように、前記符号化手段と前記生成手段とを制御し、前記生成された第１の格納単位に対応した前記第２の格納単位を送信し、次いで前記生成された第１の格納単位を送信するように前記送信手段を制御することを特徴とするデータ処理装置。
【請求項２】
前記情報データは動画データと音声データとを含み、前記生成手段は、前記所定量に対応したフレーム数の符号化された前記動画データを一つの前記第１の格納単位に格納すると共に、前記第１の格納単位に格納された動画データに対応した音声フレームの前記音声データを前記動画データと共に前記第１の格納単位に格納することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
情報データを入力する入力手段を有するデータ処理装置の制御方法において、
前記入力手段により入力された情報データを符号化する符号化ステップと、
それぞれがサイズ情報を含む複数の格納単位を有する情報ファイルであって、前記複数の格納単位が、前記符号化ステップで符号化された情報データを格納するための一つ以上の第１の格納単位と、前記第１の格納単位に格納された情報データに関する管理情報を格納するための一つ以上の第２の格納単位とを含む情報ファイルを生成する生成ステップと、
前記生成ステップで生成された情報ファイルを記録媒体に記録する記録ステップと、
前記生成ステップで生成された情報ファイルを外部装置に送信する送信ステップと、
前記生成ステップで生成された情報ファイルを前記記録ステップにより記録する記録モードと、前記生成ステップで生成された情報ファイルを前記送信ステップにより送信する送信モードとを含む複数のモードの何れか一つを設定する設定ステップと、
前記記録モードにおいて、前記第１の格納単位と前記第２の格納単位をそれぞれ一つだけ含む一つの前記情報ファイルを生成するように前記生成ステップを制御し、前記送信モードにおいて、複数の前記第１の格納単位と複数の前記第２の格納単位とを含む前記情報ファイルを生成するように前記生成ステップを制御する制御ステップとを備え、
前記制御ステップは、前記送信モードにおいて、前記入力された情報データを符号化しながら、前記符号化された情報データのデータ量が所定量となる毎に、前記符号化された情報データが格納された前記第１の格納単位を生成すると共に、生成した前記第１の格納単位に格納された情報データに対応した前記管理情報が格納された前記第２の格納単位を生成するように、前記符号化ステップと前記生成ステップとを制御し、前記生成された第１の格納単位に対応した前記第２の格納単位を送信し、次いで前記生成された第１の格納単位を送信するように前記送信ステップを制御することを特徴とする制御方法。
【請求項４】
前記情報データは動画データと音声データとを含み、前記生成ステップは、前記所定量に対応したフレーム数の符号化された前記動画データを一つの前記第１の格納単位に格納すると共に、前記第１の格納単位に格納された動画データに対応した音声フレームの前記音声データを前記動画データと共に前記第１の格納単位に格納することを特徴とする請求項３に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置、特に情報データを符号化して外部への出力を行なうデータ処理装置、方法および制御プログラムに関する。
【背景技術】
【０００２】
従来、動画信号や音声信号を記録媒体に記録するためのファイル形式として、ＭＰ４ファイル形式が知られている（特許文献１参照）。ＭＰ４形式では、符号化された動画信号や音声信号を格納する領域の他に、動画や音声を再生、復号するために必要な管理情報を格納する領域が設けられている。
【０００３】
管理情報はデータのサイズの情報を含んでいる。データのサイズは、実際に動画や音声の記録が停止するまで確定されない。そのため、例えば、動画の記録中に管理情報を作成し、装置内部のバッファメモリなどに記憶しておき、動画の記録停止後、管理情報を記録媒体に記録することが考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−０７４５３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
動画や音声を符号化しながらＭＰ４ファイルの形式に変換し、ネットワークなどを介して外部に送信することも可能である。そして、この様に送信されたＭＰ４ファイルを受信した装置が、順次ＭＰ４ファイルのデータを復号する構成が考えられる。
【０００６】
しかしながら、前記の様に、動画の記録（符号化）停止の指示の後に管理情報を作成して送信する構成では、受信側の装置は、管理情報を受け取るまで、先に受信した動画や音声を復号することができないという問題があった。
【０００７】
本発明は前述の問題点に鑑み、管理情報を含む情報データファイルを外部に送信する際に、受信側が情報データを迅速に再生できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記従来技術の問題を解決するため、本発明のデータ処理装置は、それぞれがサイズ情報を含む複数の格納単位を有し、複数の格納単位が、符号化された情報データを格納するための一つ以上の第１の格納単位と、第１の格納単位に格納された情報データに関する管理情報を格納するための一つ以上の第２の格納単位である情報ファイルを生成し、生成された情報ファイルを送信手段により送信する送信モードにおいて、符号化された情報データの所定量毎に第１の格納単位を生成すると共に、生成した第１の格納単位に対応した第２の格納単位を生成して一つの情報ファイルを生成する。
【発明の効果】
【０００９】
本発明によれば、管理情報を含む情報データファイルを外部に送信したときに、受信した情報データを迅速に復号することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るデータ処理装置の一つの構成例を示すブロック図である。
【図２】ＭＰ４ファイルの構成を示す図である。
【図３】本発明の実施形態に係わるデータ処理装置の一つの構成例における動作例のフローチャートを示す図である。
【図４】本発明の実施形態に係わる第１のモードの処理のフローチャートを示す図である。
【図５】第１のモードにおける動画ファイルの構成を示す図である。
【図６】本発明の実施形態に係わる第２のモードの処理のフローチャートを示す図である。
【図７】第２のモードにおける動画ファイルの構成を示す図である。
【図８】本発明の実施形態に係るデータ処理装置の他の構成例を示すブロック図である。
【図９】本発明の実施形態に係わるデータ処理装置の他の構成例における動作例のフローチャートを示す図である。
【図１０】本発明の実施形態に係わるデータ処理装置の他の構成例における他の動作例のフローチャートを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照しながら説明する。
【００１２】
第１の実施形態
図１は、本発明の実施形態に係るデータ処理装置１００の構成例を示すブロック図である。
図１において、入力部１０１は、動画データや音声データを取得して出力する。本実施形態では、入力部１０１はデータ処理装置１００の外部から供給された動画データや音声データを入力している。しかし、入力部１０１を撮像部やマイクロフォンを含む構成とし、撮像部で撮影された動画やマイクで収集された音声をそれぞれデータとして取得する構成としてもよい。
【００１３】
信号処理部１０２は、記録時においては、入力部１０１により入力された動画データや音声データをＨ．２６４（ＭＰＥＧ４  ＡＶＣ）等の公知の符号化形式に従って符号化して、その情報量を圧縮する。また、動画データや音声データを記録するために必要な処理も行なう。また、信号処理部１０２は、再生時においては、再生された動画データや音声データを復号し、その情報量を伸張する。また、信号処理部１０２は、記録時において、符号化された動画データや音声データの符号量（データ量）の情報を制御部１０２に出力する。
【００１４】
メモリ１０３は、動画データや音声データを記憶する。データ処理装置１００の各ブロックは、メモリ１０３に対してアクセスすることにより、必要な動画データや音声データを処理する。また、メモリ１０３は、動画データや音声データの他に、ファイルシステムの情報や、動画ファイルの管理情報など、各種の情報を記憶し、更に、制御部１０６による制御のためのワークメモリ等の役割を果たす。
【００１５】
ファイルデータ処理部１０４は、記録時においては、後述の様に、ＭＰ４ファイルにて規定された各種の管理情報を生成し、再生時には、再生された管理情報を処理し、その内容を制御部１０６に知らせる。表示部１０５は、入力または再生された動画、或いは、メニュー情報などの各種の情報を表示する。
【００１６】
制御部１０６は、操作入力部１０７からの入力に応じてデータ処理装置１００の動作全体を制御する。制御部１０６はマイクロコンピュータやメモリ等を含み、不図示のメモリに記憶されたプログラムに従ってデータ処理装置１００を制御する。操作入力部１０７は、ユーザにより操作可能な各種のスイッチを含み、ユーザによる各種の指示などを受け付けて制御部１０６へ通知する。また、操作入力部１０７は、電源スイッチや記録の開始、停止を指示するためのスイッチ、データ処理装置１００のモードを切り替えるためのスイッチ等を含む。
【００１７】
記録再生部１０８は、記録媒体１０９に動画データや音声データ、或いは、各種の情報を記録すると共に、記録媒体１０９からこれらのデータを再生する。記録再生部１０８は、記録時においては、メモリ１０３に蓄積された管理情報や動画データ、或いは音声データを、後述するようにファイル形式で記録媒体１０９に記録する。また、記録再生部１０６は、再生時においては、記録媒体１０９から動画ファイルの管理情報や動画データ、音声データを再生し、メモリ１０３に記憶する。本実施形態では、記録媒体１０９はハードディスク（ＨＤＤ）、フラッシュメモリカード等、ランダムアクセス可能な記録媒体である。
【００１８】
また、記録再生部１０８は、記録媒体１０９に記録する動画ファイルや、各種の情報を、ＦＡＴ（File Allocation Table）等のファイルシステムに従い、ファイルとして管理する。また、不図示の装着、排出機構により、データ処理装置１００に対して記録媒体１０９を容易に装着、排出することができるように構成するが、データ処理装置１００に記録媒体１０９が内蔵される構成でもよい。
【００１９】
制御部１０６は、記録媒体１０９に動画ファイルの書き込み、読み出しを行う場合、記録再生部１０８を制御して、記録媒体１０９からファイルシステムデータ（管理データ）を再生してメモリ１０３に記憶する。このファイルシステムデータは、記録媒体１０９に記録されたデータのファイル名やファイルのサイズ、データの記録アドレスなどを示すデータであり、ファイルを管理するための管理情報である。そして、制御部１０６は、読み出したファイルシステムデータに従ってファイルの書き込み、読み出しを制御する。制御部１０６は、記録媒体１０９へのファイルの書き込みに応じて、メモリ１０３に記憶されたファイルシステムデータを更新する。そして、更新したファイルシステムデータを、記録再生部１０８により記録媒体１０９に記録する。
【００２０】
外部インターフェイス（ＩＦ）１１０は、データ処理装置１００が外部送信モードに設定されている場合に、ユーザの記録指示により生成された動画ファイルを受け取り、ネットワーク１１２を介して外部装置１１３に動画ファイルを送信する。
【００２１】
次に、本実施形態で扱う情報ファイルについて説明する。本実施形態では、動画データや音声データを、ＭＰ４ファイル形式に従って記録、或いは、送信する。ＭＰ４ファイルはボックス（box）と呼ばれる単位で構成される。図２に一つのボックス２０１の構成を示す。一つのボックス２０１は、box-size、box-type、box-dataの領域を含む。box-sizeにはこのボックスのデータ長（バイト）の情報（サイズ情報）が格納される。box-typeにはbox-dataに格納されるデータ種別を示す情報が格納され、box-dataには実データが格納される。box-typeは３２ビットの固定長のデータ領域であり、box-dataは可変長の領域である。box-sizeが３２ビットであるため、一つのボックスのサイズは通常０ｘＦＦＦＦＦＦＦＦバイト以下である。
【００２２】
図２の２０２、２０３は本実施形態において扱うＭＰ４ファイル（情報ファイル）の構成例を示す図である。ファイル２０２、２０３は、複数のボックス２０１から構成される。ファイル２０２は、FileTypeBox(ftyp-box)、MovieBox(moov-box)、MediaDataBox(mdat-box)の三つの格納単位から構成される。
【００２３】
ftypは、box-typeがftypであり、ファイルの互換性に関する情報が格納されるボックスである。ftypに記述されたbox-dataに基づいて、ＭＰ４ファイルに格納された動画データや音声データの符号化方式等を判別することができる。
【００２４】
moovは、box-typeがmoovであり、動画データや音声データに関する管理情報が格納されるボックスである。moovのbox-dataには、動画データや音声データのチャンクのファイル先頭からのオフセットを示すチャンクオフセット、各チャンクのサンプル数、サンプルサイズなどの情報が格納される。moovボックスの様子を図２の２０４に示す。moovは、mvhdと１以上のtrakを含む。trakボックスは、１以上のビデオトラック、ビデオ、オーディオトラックを定義する情報である。trakは、tkhdとmdiaを含む。mdiaは各トラックのメディアタイプなどを記述した情報である。mdiaはmdhdとstblを含む。stblには、動画データや音声データのチャンクのファイル先頭からのオフセットを示すチャンクオフセット、各チャンクのサンプル数、サンプルの表示時間、サンプルサイズなどの情報が格納される。ここで、動画データの１サンプルはフレームに対応し、音声データの１サンプルは音声フレームに対応する。
【００２５】
mdatは、box-typeがmdatであり、動画データや音声データの各サンプルが格納されるボックスである。符号化された動画データや音声データは、それぞれチャンクという単位に分割されて格納される。本実施形態では、動画データの１チャンクを、Ｈ．２６４方式で規定された１ＧＯＰの動画データとする。また、音声データの１チャンクを、この１ＧＯＰに対応したフレーム数の音声データとする。
【００２６】
また、ファイル２０３に示すように、mdatボックスを複数に分割して配置するためのMovieFragmentBox(moof-box)を使うことも可能である。moofは、box-typeがmoofであり、moovと後に続くmdatボックスの管理情報がbox-dataに格納される。ファイル２０３では、一つのmoovボックスとｎ個のmoofボックスを含む。moofボックスの構成を図２の２０５に示す。moofのbox-dataには、mfhdと１以上のtrafを含む。mfhdには、fragment sequence numberが格納される。trafボックスは、１以上のビデオトラック、或いは、ビデオ、オーディオトラックを定義する情報である。各trafは、tfhdとtrunを含む。tfhdは、後に続くmdatに格納された各チャンクの長さ(duration)とサイズのデフォルト値を格納する。trunは、後に続くmdatに格納された各チャンクに格納されるサンプルの表示時間、サイズがサンプル単位で変化する場合に、これらの値を格納する。また、mdatに格納された各チャンクのサイズが異なる場合には、mdatの先頭からの各チャンク先頭までのオフセット値の情報もtrunに格納される。
【００２７】
なお、moovのmdia,stblは、各トラックを構成する複数のチャンクに関するサイズやオフセットなどの情報が一つのbox-dataに格納される。一方、moofのtrunには、一つのチャンクに関するサイズやオフセットなどの情報が格納される。そのため、moofには、後にmdatに格納されたチャンクの数と同じ数のtrunボックスが格納される。
【００２８】
この様に、一つのmoovボックスと、１以上のmdatボックス（複数の第１の格納単位）、及び１以上のmoofボックス（複数の第２の格納単位）により一つのＭＰ４形式のファイル２０３を構成することができる。また、moov、mdat、moofの各サイズは、動画や音声のサンプルデータ数、つまり記録時間や、圧縮後の動画、音声データのデータ量によって変わる。
【００２９】
次に、動画の記録処理、及び、外部への送信処理について説明する。本実施形態において図のフローチャートを用いて説明する処理は、制御部１０６が図示しないメモリに記憶されたプログラムをロードして実行することで各部を制御することにより実現される。
【００３０】
図３は、記録時の処理を示すフローチャートである。ユーザは、操作入力部１０７を操作することにより、入力された動画や音声を記録媒体１０８に記録する記録モードと、入力された動画や音声を記録するのではなく、外部に送信する送信モードの何れかを選択することができる。制御部１０６は、この様に記録モードと送信モードの何れかが選択された状態で、操作入力部１０７より記録開始の指示を受けると、設定されているモードを判別する（Ｓ３０１）。
【００３１】
制御部１０６は、記録モードが設定されていた場合、第１のモード処理を実行し（Ｓ３０２）、送信モードが設定されていた場合には、第２のモード処理を実行する（Ｓ３０３）。各モード処理により、出力先に適した形式の情報ファイルが生成される。
【００３２】
第１のモード処理を説明する。図４は第１のモード処理のフローチャートを示す図である。また、図５は、第１のモード処理において、メモリ１０２に格納されるデータと、記録媒体１０８に記録されるデータの状態を示す図である。
【００３３】
記録開始の指示を受けると、制御部１０６は、ファイルデータ処理部１０４に対し、ftyp、moov、mdatのデータを生成するように指示する。ファイルデータ処理部１０４は、ftypを生成してメモリ１０３に記憶する（Ｓ４０１）。また、ファイルデータ処理部１０４は、box-sizeとbox-dataに無効値（ダミーデータ）を格納したmoovボックスを生成してメモリ１０３に記憶する（Ｓ４０２）。更に、ファイルデータ処理部１０４は、box-sizeに無効値（ダミーデータ）を格納したmdatボックスを生成し、メモリ１０３に記憶する（Ｓ４０３）。このときメモリ１０３に記憶されているデータの構成を図５の５０１に示す。図５において、（ｄ）で示した領域は無効値（ダミーデータ）が格納されている。
【００３４】
次に、制御部１０６は、信号処理部１０２に動画データと音声データの符号化を開始させる。信号処理部１０２は、メモリ１０３に順次記憶された動画データと音声データを符号化し、符号化した動画データと音声データを、メモリ１０３に記憶する（Ｓ４０４）。この際、信号処理部１０２は、動画データと音声データを、moovボックスにおけるbox-data領域に格納する。また、信号処理部１０２は、符号化された動画データと音声データのサンプルデータサイズなどの情報を、ファイルデータ処理部１０４と制御部１０７に出力する。このときメモリ１０３に記憶されているデータの構成を図５の５０２に示す。
【００３５】
この様に、動画データと音声データの符号化を継続し、メモリ１０３に記憶された未記録データのデータ量が所定量に達したことに応じて、制御部１０７は、記録再生部１０８に対してデータを記録する様に指示する。記録再生部１０８は、メモリ１０３より未記録のデータをftyp、moov、mdatの順に読み出して、記録媒体１０９に記録する（Ｓ４０５）。
【００３６】
そして、制御部１０６は、記録停止の指示があるまで、符号化された動画データと音声データをメモリ１０３に続けて記憶させ、更に、記録媒体１０９への記録処理を継続する。このときメモリ１０３に記憶されているデータと記録媒体１０９に記録されているデータの構成を図５の５０３に示す。
【００３７】
操作入力部１０７より記録停止の指示を受けた場合（Ｓ４０６）、制御部１０６は、信号処理部１０２に対して動画と音声の符号化処理を停止するよう指示すると共に、記録再生部１０８に対し、記録媒体１０９への記録停止を指示する。記録再生部１０８は、メモリ１０３に記憶された未記録のmdatのデータを読み出して記録媒体１０９に記録すると、記録を停止する（Ｓ４０７）。このときメモリ１０３に記憶されているデータと記録媒体１０９に記録されているデータの様子を図５の５０４に示す。
【００３８】
次に、制御部１０６は、記録再生部１０８に対し、記録媒体１０９に記録済のＭＰ４ファイルから、moovボックスのデータと、mdatボックスにおけるbox-sizeのデータを読み出すように指示する（Ｓ４０８）。記録再生部１０８は、記録媒体１０９に記録済のＭＰ４ファイルから、moovボックスのデータと、mdatボックスにおけるbox-sizeのデータを読み出し、メモリ１０３に記憶する。このときメモリ１０３に記憶されているデータと記録媒体１０９に記録されているデータの様子を図５の５０５に示す。５０５に示す様に、メモリ１０３に記憶されたmoovボックスのデータと、mdatボックスにおけるbox-sizeのデータはそれぞれ無効値を含んでいる。
【００３９】
次に、制御部１０６は、ファイルデータ処理部１０４に対し、メモリ１０３に記憶されたmoovボックスのデータと、mdatボックスにおけるbox-sizeのデータの無効値を正しい値に変更する様に指示する。ファイルデータ処理部１０４は、動画と音声の記録中に信号処理部１０２から出力されたサンプルデータサイズなどの情報に基づいて、moovボックスのサイズとmdatボックスのサイズを算出する。また、ファイルデータ処理部１０４は、記録中に信号処理部１０２から出力されたサンプルデータサイズなどの情報に基づいて、moovボックスのデータを生成し、moovのbox-dataを変更する（Ｓ４０９）。このときメモリ１０３に記憶されているデータと記録媒体１０９に記録されているデータの様子を図５の５０６に示す。
【００４０】
この様に、ファイルデータ処理部１０４により、メモリ１０３に記憶された無効値が変更されると、制御部１０６は、更新されたデータを記録するように記録再生部１０８に指示する。記録再生部１０８は、メモリ１０３から、moovボックスのデータと、mdatボックスにおけるbox-sizeのデータを読み出し、読み出したデータにより、元のＭＰ４ファイルに記録されていたデータを更新する（Ｓ４１０）。このときメモリ１０３に記憶されているデータと記録媒体１０９に記録されているデータの様子を図５の５０７に示す。
【００４１】
この結果、最終的に記録媒体１０９に記録されているＭＰ４ファイルのデータは、図２の２０２の形式となる。
【００４２】
次に、第２のモード処理を説明する。図６は第２のモード処理のフローチャートを示す図である。また、図７は、第２のモード処理において、メモリ１０２に格納されるデータと、外部ＩＦ１１０により送信済みのデータの構成を示す図である。
【００４３】
送信開始の指示を受けると、制御部１０６は、ファイルデータ処理部１０４に対し、ftyp、moov、mdatのデータを生成するように指示する。ファイルデータ処理部１０４は、ftypを生成してメモリ１０３に記憶する（Ｓ６０１）。また、ファイルデータ処理部１０４は、box-sizeとbox-dataに無効値（ダミーデータ）を格納したmoovボックスを生成してメモリ１０３に記憶する（Ｓ６０２）。更に、ファイルデータ処理部１０４は、box-sizeに無効値（ダミーデータ）を格納したmdatボックスを生成し、メモリ１０３に記憶する（Ｓ６０３）。このときメモリ１０３に記憶されているデータの様子を図７の７０１に示す。図７において、（ｄ）で示した領域は無効値（ダミーデータ）が格納されている。
【００４４】
次に、制御部１０６は、信号処理部１０２により動画データと音声データの符号化を開始させる。信号処理部１０２は、メモリ１０３に順次記憶された動画データと音声データを符号化し、符号化した動画データと音声データを、メモリ１０３に記憶する（Ｓ６０４）。即ち、信号処理部１０２は、動画データと音声データを、mdatボックスにおけるbox-data領域に格納する。また、信号処理部１０２は、符号化された動画データと音声データのサンプルデータサイズなどの情報を、ファイルデータ処理部１０４と制御部１０７に出力する。このときメモリ１０３に記憶されているデータの構成を図７の７０２に示す。
【００４５】
この様に、操作入力部１０７より送信停止の指示があるまで動画データと音声データの符号化を継続する。送信停止の指示が無い場合（Ｓ６０５）、制御部１０６は、信号処理部１０２からの符号化済みの動画データと音声データのデータ量の情報に基づいて、メモリ１０３に記憶された未送信の符号化データのデータ量が所定量Ｌに達したか否かを判別する（Ｓ６０９）。
【００４６】
メモリ１０３に記憶された未送信の符合化データのデータ量がＬに達していない場合には、そのまま動画データと音声データの符号化を継続する。ここで、所定値Ｌは、例えば、メモリ１０３に対して記憶可能な符号化動画データと音声データのデータ量に基づいて決めることができる。即ち、符号化された動画データと音声データの平均データレートに基づいて、メモリ１０３に記憶可能な動画データのフレーム数に基づいて決めることも可能である。
【００４７】
また、メモリ１０３に記憶された未送信の符号化データのデータ量が所定値Ｌに達した場合、制御部１０６は、その時点でメモリ１０３に記憶されている圧縮動画データのうち、所定値に達する直前のフレームを検出する。更に、制御部１０６は、メモリ１０３に記憶されている圧縮音声データのうち、この所定値に達する直前のフレームに対応した音声データのフレームを検出する。そして、送信開始の指示から、この所定値に達する直前のフレームまでの動画データと、それに対応した音声フレームまでの音声データにより一つのmdatボックスを生成して、mdatボックスを分割する。本実施形態では、符号化された動画データのデータ量がフレーム毎に異なる。そのため、所定値Ｌに対応した符号化動画データのフレーム数は一定にならない。そして、本実施形態では、メモリ１０３に記憶された未送信の符号化データのデータ量が所定値Ｌに達した場合、フレーム単位で動画データを分割する。また、分割された動画データのフレームに対応する音声データを音声フレーム単位で分割する。
【００４８】
制御部１０６は、ファイルデータ処理部１０４に対して、メモリ１０３に記憶されたmoovボックスのデータと、mdatボックスにおけるbox-sizeのデータの無効値を正しい値に変更する様に指示する。
【００４９】
ファイルデータ処理部１０４は、動画と音声の記録中に信号処理部１０２から出力されたサンプルデータサイズなどの情報に基づいて、moovボックスのサイズとmdatボックスのサイズを算出し、box-sizeのデータを変更する。また、ファイルデータ処理部１０４は、記録中に信号処理部１０２から出力されたサンプルデータサイズなどの情報に基づいて、moovボックスのデータを生成し、moovのbox-dataを変更する（Ｓ６１０）。また、ファイルデータ処理部１０４は、動画データや音声データのトラック情報（圧縮形式など、動画や音声の再生互換に関するデータ）をmoovのdata-boxに格納する。この処理により、一つのmoovボックスが生成される。このときメモリ１０３に記憶されているデータの構成を図７の７０２に示す。
【００５０】
そして、制御部１０６は、ftypボックスと、この様に更新された一つのmoovボックスと一つのmdatボックスを含む未送信のデータを外部に送信するように外部ＩＦ１１０に指示する。外部ＩＦ１１０は、メモリ１０３より未送信のデータを読み出してネットワーク１１２に送信する（Ｓ６１１）。このとき、外部ＩＦ１１０は、最初にftypボックスを送信し、続いてmoovボックス、mdatボックスの順に送信する。そして、外部ＩＦ１１０は、指定された未送信のデータの送信が完了すると、送信を停止する。
【００５１】
次に、制御部１０６は、ファイルデータ処理部１０４に対し、新たにmoofボックスとmdatボックスを生成するように指示する。ファイルデータ処理部１０４は、box-sizeとbox-dataに無効値（ダミーデータ）を格納したmoofボックスを新たに生成してメモリ１０３に記憶する（Ｓ６１２）。ファイルデータ処理部１０４は、box-sizeに無効値（ダミーデータ）を格納したmdatボックスを生成し、メモリ１０３に記憶する（Ｓ６０３）。このときメモリ１０３に記憶されているデータと送信済みのデータの様子を図７の７０３に示す。
【００５２】
そして、動画データと音声データの符号化を継続する。送信停止の指示が無く、メモリ１０３に記憶された未送信の符号化動画データと音声データのデータ量がＬに達した場合、制御部１０６は、その時点でメモリ１０３に記憶されている動画データと、対応する音声データにより一つのmdatボックスを生成する。
【００５３】
そして、制御部１０６は、ファイルデータ処理部１０４に対して、メモリ１０３に記憶されたmoofボックスのデータと、mdatボックスにおけるbox-sizeのデータの無効値をMP4のファイル形式に従って正しい値に変更する様に指示する。ファイルデータ処理部１０４は、動画と音声の記録中に信号処理部１０２から出力されたサンプルデータサイズなどの情報に基づいて、moofボックスのサイズとmdatボックスのサイズを算出し、box-sizeのデータを変更する。また、ファイルデータ処理部１０４は、記録中に信号処理部１０２から出力されたサンプルデータサイズなどの情報に基づいて、moofボックスのデータを生成し、moofのbox-dataを変更する（Ｓ６１０）。このときメモリ１０３に記憶されているデータと送信済みのデータの構成を図７の７０４に示す。ここで、moofには、前述の様に、このmoofの後に続いて送信されるmdatに格納された動画データの管理情報が格納される。
【００５４】
そして、制御部１０６は、この様に更新されたmoofボックスとmdatボックスを含む、未送信のデータを外部に送信するように外部ＩＦ１１０に指示する。外部ＩＦ１１０は、メモリ１０３より未送信のデータを読み出してネットワーク１１２に送信する（Ｓ６１１）。そして、外部ＩＦ１１０は、指定された未送信のデータの送信が完了すると、送信を停止する。
【００５５】
次に、制御部１０６は、ファイルデータ処理部１０４に対し、新たにmoofボックスとmdatボックスを生成するように指示する。ファイルデータ処理部１０４は、box-sizeとbox-dataに無効値（ダミーデータ）を格納したmoofボックスデータを新たに生成してメモリ１０３に記憶する（Ｓ６１２）。ファイルデータ処理部１０４は、box-sizeに無効値（ダミーデータ）を格納したmdatボックスを生成し、メモリ１０３に記憶する（Ｓ６０３）。このときメモリ１０３に記憶されているデータと送信済みのデータの構成を図７の７０５に示す。
【００５６】
以下、同様に送信停止の指示を受けるまで処理を繰り返す。そして、操作入力部１０７より送信停止の指示を受けると（Ｓ６０５）、制御部１０６は、信号処理部１０２に対し、動画と音声の符号化を停止する様に指示する。また、制御部１０６は、送信停止の指示があった時点でメモリ１０３に記憶されている動画データと音声データにより一つのmdatボックスを生成する。
【００５７】
そして、制御部１０６は、ファイルデータ処理部１０４に対して、メモリ１０３に記憶されたmoofボックスのデータと、mdatボックスにおけるbox-sizeのデータの無効値を正しい値に変更する様に指示する。ファイルデータ処理部１０４は、動画と音声の記録中に信号処理部１０２から出力されたサンプルデータサイズなどの情報に基づいて、moofボックスのサイズとmdatボックスのサイズを算出し、box-sizeのデータを変更する。また、ファイルデータ処理部１０４は、記録中に信号処理部１０２から出力されたサンプルデータサイズなどの情報に基づいて、moofボックスのデータを生成し、moofのbox-dataを変更する（Ｓ６０６）。このときメモリ１０３に記憶されているデータと送信済みのデータの構成を図７の７０６に示す。
【００５８】
そして、制御部１０６は、この様に更新されたmoofボックスとmdatボックスを含む、未送信のデータを外部に送信するように外部ＩＦ１１０に指示する。外部ＩＦ１１０は、メモリ１０３より未送信のデータを読み出してネットワーク１１２に送信する（Ｓ６０７）。そして、外部ＩＦ１１０は、指定された未送信のデータの送信が完了すると、送信を停止する（Ｓ６０８）。このときメモリ１０３に記憶されているデータと送信済みのデータの構成を図７の７０７に示す。この結果、送信される動画ファイルの形式は図２の２０３に示す形式となる。
【００５９】
この様に、本実施形態では、動画や音声などの情報データを符号化しながら、符号化されたデータをＭＰ４ファイル形式に従って記録媒体に記録する場合には、管理情報に無効値を格納して記録媒体に記録する。そして、記録停止後に、記録媒体に記録された管理情報の値を更新する。そのため、記録中に管理情報を記憶するため、大容量のメモリを用意する必要がない。
【００６０】
また、本実施形態では、動画と音声を符号化しながら、符号化されたデータをＭＰ４ファイル形式に従って外部に送信する場合には、符号化された動画と音声のデータ量が所定値に達したことに応じて、mdatボックスを一つずつ複数生成する。そして、各mdatボックスと共にmoov（moof）データを送信する。この際、ftyp→moov(moof)→mdatボックスの順にデータを送信する。そのため、受信側の装置では、受信したデータを順次復号して出力することができる。
【００６１】
なお、本実施形態では、動画と音声を符号化し、ＭＰ４ファイル形式に従って記録、或いは送信する構成だったが、他の形式を用いることも可能である。例えば、動画データと音声データの前に、データサイズなどの管理情報を設ける構成であれば、同様に本発明を適用可能である。
【００６２】
また、本実施形態では、記録モードと送信モードのうち、選択されたモードに応じて第１のモード処理と第２のモード処理を切り替えていた。しかし、本実施形態はこれに限られるものではない。例えば、書き替え可能な記録媒体にデータを記録するためのファイルの生成では第１のモード処理を実行し、記録データの書き替えができないライトワンスの記録媒体にデータを記録するためのファイルの生成では第２のモード処理を実行する様にしてもよい。即ち、生成したファイルの出力先によって、ファイルの形式を、図２のファイル２０２に示すタイプと、ファイル２０３に示すタイプの何れかに決定する構成としてもよい。
【００６３】
また、本実施形態では、メモリ１０３に記憶された未送信の符号化動画、音声データのデータ量が所定値Ｌに達したことに応じて（所定量毎に）mdatを分割していたが、moofのデータ量が所定値Ｍに達したことに応じてmdatを分割する構成としてもよい。
【００６４】
例えば、メモリ１０３において、moof用の記憶領域とmdat用の記憶領域を予め割り当てておく。そして、moofの記憶領域に記憶されたデータが所定値Ｍ（Ｍ＜Ｌ）に達したことに応じて、mdatを分割し、送信する構成とする。この場合、mdatの記憶領域に記憶された未送信の符合化動画、音声データのデータ量が所定値Ｌに達していなくても、その時点でmdatを分割する。
【００６５】
第２の実施形態
次に、第２の実施形態を説明する。本実施形態では、記録されたＭＰ４形式のデータを再生して、外部に送信する処理について説明する。本実施形態においても、図のフローチャートを用いて説明する処理は、制御部１０６が図示しないメモリに記憶されたプログラムをロードして実行することで各部を制御することにより実現される。
【００６６】
図８は、第２の実施形態におけるデータ処理装置１００の構成を示す図である。図８の装置では、図１の構成に対して変換部１１４が追加されている。そして、本実施形態では、記録媒体１０９から再生された動画データの１画面の画素数を変更し、変更された動画データを外部に送信することができる。図８の装置においても、第１の実施形態と同様に、図３、図４、図６の処理を実行することができる。以下、図８の装置において、記録媒体１０９に記録された動画ファイルの送信処理について説明する。
【００６７】
ユーザは、記録媒体１０９に記録された動画ファイルを送信する前に、操作入力部１０７より、送信する動画の画素数を変更するか否かを設定することができる。本実施形態では、図４の処理により記録媒体１０９に記録される動画データの１画面あたりの画素数を第１の画素数とする。そして、ユーザは、記録媒体１０９に記録された動画の画素数を、第１の画素数よりも少ない第２の画素数に変換して外部に送信するように指示することができる。
【００６８】
図９は記録媒体１０９に記録された動画ファイルの装置外部への送信処理を示すフローチャートである。図９の処理は制御部１０６が各部を制御することにより実行される。
【００６９】
ユーザにより送信する動画の画素数が設定され、動画ファイルの送信が指示されると処理が開始される。制御部１０６は、まず、送信する動画の画素数を判別する（Ｓ９０１）。送信する動画の画素数が、記録された動画と同じ第１の画素数であった場合、制御部１０６は、記録再生部１０８に対し、指定された動画ファイルを再生するように指示する。記録再生部１０８は、指定された動画ファイルを記録媒体１０９より順次読み出してメモリ１０３に記憶する。そして、制御部１０６は、外部ＩＦ１１０に対し、メモリ１０３に記憶された動画ファイルのデータを外部に送信するように指示する。外部ＩＦ１１０は、メモリ１０３に記憶された動画ファイルのデータを読み出して、順次ネットワーク１１２を介して外部装置１１３に送信する（Ｓ９０２）。
【００７０】
そして、操作入力部１０７より送信停止の指示を受けた場合、或いは再生中の動画ファイルの最後まで再生が完了した場合（Ｓ９０３）、制御部１０６は、記録再生部１０８による動画ファイルの再生を停止させる。同時に、外部ＩＦ１１０によるＭＰ４ファイルの送信も停止させる（Ｓ９０４）。
【００７１】
一方、Ｓ９０１において、送信する動画の画素数が第２の画素数であった場合、制御部１０６は、記録再生部１０８に対し、指定された動画ファイルを再生するように指示する。記録再生部１０８は、指定された動画ファイルを記録媒体１０９より順次読み出してメモリ１０３に記憶する（Ｓ９０５）。次に、ファイルデータ処理部１０４は、メモリ１０３に記憶されたＭＰ４ファイルのデータをパース(parse（構文解析）)しながら、再生された動画ファイルに含まれるmoovボックスのデータを検出する。そして、このmoov内のサンプルデータサイズなどの必要なデータを取得して制御部１０６に送る。制御部１０６は、ファイルデータ処理部１０４より送られたデータに基づいて、動画ファイルのデータを記録媒体１０９より順次読み出すように記録再生部１０８に指示する。また、制御部１０６は、mdatボックスの動画データと音声データを復号するように信号処理部１０２に指示する。信号処理部１０２は、メモリ１０３より符号化された動画データと音声データを読み出して復号し、メモリ１０３に記憶する（Ｓ９０６）。
【００７２】
制御部１０６は、変換部１１４に対し、復号された動画データの画素数を第２の画素数に変更するように指示する。変換部１１４は、メモリ１０３より復号された動画データの各フレームを順次読み出して、各フレームの画素数を第１の画素数から第２の画素数に変更する。そして、変換部１１４は、第２の画素数の動画データをメモリ１０３に記憶する（Ｓ９０７）。
【００７３】
次に、制御部１０６は、前述の第２のモード処理を実行し、メモリ１０３に記憶された第２の画素数の動画データと音声データをＭＰ４ファイル形式に変換して、外部ＩＦ１１０より送信する（Ｓ９０８）。なお、第１の実施形態では、入力部１０１により得られた動画データと音声データを符号化して、ＭＰ４ファイル形式に変換して送信した。本実施形態では、入力部１０１からの動画データと音声データではなく、前述の様に、記録媒体１０９より再生され、変換部１１４により第２の画素数に変換された動画データと、再生された音声データを符号化する。そして、符号化された動画データと音声データとを、図６の処理によりＭＰ４ファイル形式に変換し、外部ＩＦ１１０よりネットワーク１１２を介して外部装置１１３に送信する。
【００７４】
この様に、記録媒体から再生された動画の画素数を変換し、再び符号化して送信する場合、送信対象のファイルの動画を全て符号化するまで、動画データのサイズが確定されない。
【００７５】
そのため、本実施形態では、再生された動画の画素数を変換した後、再び符号化して外部に送信する場合には、所定量の動画と音声が符号化されたことに応じて、一つのｍｄａｔボックスを生成する。そして、このmdatボックスと共にmoov（moof）データを送信する。そのため、受信側の装置では、受信したデータを順次復号して出力することができる。
【００７６】
本実施形態では、再生された符号化動画データに画素数の変換を行なって外部に送信することを例にして本件発明を説明したが、これに限るものではない。例えば、画素数の変換に代えて、またはそれに追加してフレームレートの変換（例えばフレームの間引き）を行なって送信する場合にも、再生データの復号、再符号化において本件発明を適用できるのは明らかである。
【００７７】
第３の実施形態
次に、第３の実施形態を説明する。第３の実施形態におけるデータ処理装置１００は、図８と同様である。第３の実施形態においても、第１、第２の実施形態と同様に、図３、図４、図６、図９の処理を実行することができる。第３の実施形態では、動画ファイルを外部機器に送信する際に、外部機器が受信した動画ファイルを一時記憶するためのバッファメモリのサイズに基づいて、所定値Ｌを設定する。
【００７８】
以下、第３の実施形態における動画ファイルの送信処理について説明する。本実施形態においても、図のフローチャートを用いて説明する処理は、制御部１０６が図示しないメモリに記憶されたプログラムをロードして実行することで各部を制御することにより実現される。
【００７９】
図１０は、第３の実施形態における、記録時の処理のフローチャートを示す図である。なお、図３と同様の処理については同一の番号を付加し、詳細な説明は省略する。記録開始の指示を受けたときに、送信モードが設定されていた場合、制御部１０６は、外部ＩＦ１１０により、外部装置１１３が受信した動画ファイルを一時記憶するためのバッファメモリのサイズを外部機器１１３に問い合わせる。外部ＩＦ１１０は、外部装置１１３より、バッファメモリのサイズに関する情報を受信し、制御部１０６に知らせる（Ｓ１００１）。制御部１０６は、外部ＩＦ１１０により受信されたバッファメモリのサイズに基づき、送信モードで用いる所定値Ｌを、このバッファメモリのサイズよりも小さく設定する（Ｓ１００２）。その後、前述の様に、第２のモード処理を実行する（Ｓ３０３）。
【００８０】
この様に、本実施形態においては、送信モードにおいて、動画ファイルの送信先の外部機器におけるバッファメモリのサイズを取得する。そして、このバッファメモリのサイズを超えない様に、所定値Ｌを設定する。
【００８１】
そのため、送信モードにおいて送信される動画ファイルの各mdatボックスのサイズが、受信側の外部装置１１３のバッファメモリのサイズよりも小さくなる。従って、外部１１４は、データ処理装置１００から送信された動画ファイルを良好に受信し、デコードすることが可能となる。
【００８２】
なお、本実施形態では、動画データや音声データを記録する装置について説明したが、入力された他の情報データを記録する装置に対しても同様に本発明を適用可能である。
【００８３】
その他の実施形態
前述した本発明の実施形態における記録装置を構成する各手段、並びに記録方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【００８４】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００８５】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図２、図５及び図７に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００８６】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００８７】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００８８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。
【００８９】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９０】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９２】
さらに、その他の方法として、まず記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図１】
0005624658.tif 000002
【図２】
0005624658.tif 000003
【図３】
0005624658.tif 000004
【図４】
0005624658.tif 000005
【図５】
0005624658.tif 000006
【図６】
0005624658.tif 000007
【図７】
0005624658.tif 000008
【図８】
0005624658.tif 000009
【図９】
0005624658.tif 000010
【図１０】
0005624658.tif 000011