(57)【要約】【課題】所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データ内の前記所定のデータを利用する利用先の処理負担を軽減することができるプログラムを提供する。【解決手段】リーダプログラムＲ＿ＰＲＧは、外部装置３から入力した素材ストリームデータＳＴＲ３をパースして、当該データＳＴＲ３内のＫＬＶデータのキー（Ｋ）の検出処理を行う。リーダプログラムＲ＿ＰＲＧは、ステップＳＴ１でキー（Ｋ）が検出したキー（Ｋ）に対応するイベントＩＶをアプリケーションプログラムＡＰに出力する。【選択図】      図７
2004310330.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する第１の手順と、
前記第１の手順で前記識別データを検出したことを、前記所定のデータの利用先に通知する第２の手順と
をコンピュータに実行させるプログラム。
【請求項２】
前記利用先からの要求に応じて、前記第１の手順で検出した前記識別データを含む前記モジュールデータ内の前記所定のデータを前記利用先に提供する第３の手順
をさらに有する請求項１に記載のプログラム。
【請求項３】
前記第２の手順は、前記利用先が予め指定した前記識別データを前記第１の手順で検出したことを条件に、前記利用先に前記通知を行う
請求項１に記載のプログラム。
【請求項４】
前記第２の手順は、前記識別データを基に、当該検出した識別データで構成される前記モジュールデータの属性を指定した前記通知を前記利用先に行う
請求項１に記載のプログラム。
【請求項５】
コンテンツデータを前記所定のデータとして含む第１の前記モジュールデータと、
前記コンテンツデータの属性データを前記所定のデータとして含む第２の前記モジュールデータと
で構成される前記対象データから前記識別データを検出する
請求項１に記載のプログラム。
【請求項６】
所定のデータを当該所定のデータの提供元に要求する第１の手順と、
前記第１の手順の前記要求に応じて前記所定データを前記提供元から受ける第２の手順と、
前記第２の手順で受けた前記所定のデータと当該所定のデータを識別する識別データとを含むモジュールデータを生成する第３の手順と、
前記第３の手順で生成した複数の前記モジュールデータで構成されるデータを生成する第４の手順と
をコンピュータに実行させるプログラム。
【請求項７】
コンテンツの属性を示す属性データを受ける第５の手順と、
前記第５の手順で受けた前記属性データを前記所定のデータとして含む第１の前記モジュールデータを生成する第６の手順と
をさらに有し、
前記第１の手順は、前記コンテンツデータを前記提供元に要求し、
前記第２の手順は、前記第１の手順の前記要求に応じた前記コンテンツデータを前記提供元から受け、
前記第３の手順は、前記第２の手順で受けた前記コンテンツデータを前記所定のデータとして含む第２の前記モジュールデータを生成し、
前記第４の手順は、前記第６の手順で生成した前記第１のモジュールデータと前記第３の手順で生成した前記第２のモジュールデータとから構成されるデータを生成する
請求項６に記載のプログラム。
【請求項８】
コンピュータが実行するデータ処理方法であって、
所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する第１の工程と、
前記第１の工程で前記識別データを検出したことを、前記所定のデータの利用先に通知する第２の工程と
を有するデータ処理方法。
【請求項９】
コンピュータが実行するデータ処理方法であって、
所定のデータを当該所定のデータの提供元に要求する第１の工程と、
前記第１の工程の前記要求に応じて前記所定データを前記提供元から受ける第２の工程と、
前記第２の工程で受けた前記所定のデータと当該所定のデータを識別する識別データとを含むモジュールデータを生成する第３の工程と、
前記第３の工程で生成した複数の前記モジュールデータから構成されるデータを生成する第４の工程と
を有するデータ処理方法。
【請求項１０】
第１のプログラムと第２のプログラムとを並行してコンピュータで実行するデータ処理方法であって、
前記第１のプログラムが、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する第１の工程と、
前記第１のプログラムが、前記第１の工程で前記識別データを検出したことを、前記第２のプログラムに通知する第２の工程と、
前記第２のプログラムが、前記第２の工程における前記第１のプログラムからの前記通知を基に、前記第１の工程で検出された前記識別データを含む前記モジュールデータ内の前記所定のデータを前記第１のプログラムから受け取る第３の工程と、
前記第２のプログラムが、前記第３の工程で受けた前記所定のデータを利用する第４の工程と
を有するデータ処理方法。
【請求項１１】
所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する検出手段と、
前記検出手段が前記識別データを検出したことを、前記所定のデータの利用先に通知する通知手段と
を有するデータ処理装置。
【請求項１２】
所定のデータを当該所定のデータの提供元に要求する要求手段と、
前記要求手段による前記要求に応じて前記所定データを前記提供元から受ける受信手段と、
前記受信手段が受けた前記所定のデータと当該所定のデータを識別する識別データとを含むモジュールデータを生成する第１の生成手段と、
前記第１の生成手段が生成した複数の前記モジュールデータで構成されるデータを生成する第２の生成手段と
を有するデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成されるデータの処理を行うためのプログラム、データ処理方法およびその装置、並びに上記データを生成するプログラム、データ処理方法およびその装置に関する。
【０００２】
【従来の技術】
ＭＸＦ（Ｍａｔｅｒｉａｌ  ｅＸｃｈａｎｇｅ  Ｆｏｒｍａｔ）と呼ばれる機器間でのデータ交換フォーマットが提案されている。
ＭＸＦのストリームは、例えば、ヘッダデータ、ボディデータおよびフッタデータで構成される。
ヘッダデータ内には、コンテンツの属性などを示すメタデータが含まれる。
ボディデータ内には、ビデオやオーディオなどのコンテンツデータが含まれる。
ヘッダデータ、ボディデータおよびフッタデータは、モジュールデータであるパックデータで構成される。
また、パックデータ、並びに当該パックデータを構成するデータのそれぞれは、キー（Ｋ）、データ長（Ｌ）およびデータ（Ｖ）で構成されるデータ（以下、ＫＬＶデータとも記す）である。
【０００３】
このようなＭＸＦのストリームを入力して処理するデータ処理装置のアプリケーションプログラムは、例えば、入力したＭＸＦのストリームをパースして、上記キーを検出し、その検出結果を基に、当該検出したキーで構成されるＫＬＶデータ内のデータ（Ｖ）を取り出して利用する。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述した従来の手法では、アプリケーションプログラムは、上述したＭＸＦのストリームをパースしてキー（Ｋ）を検出し、当該キー（Ｋ）に対応するデータ（Ｖ）を取り出す処理と、当該取り出したデータ（Ｖ）を用いる処理とを順にシーケンシャルに行う必要があり、処理負担が大きいという問題がある。
【０００５】
本発明はかかる事情に鑑みてなされたものであり、その目的は、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データ内の前記所定のデータを利用する利用先の処理負担を軽減することができるプログラム、データ処理方法およびその装置を提供することである。
また、本発明の目的は、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータを、上記所定のデータの提供元の処理負担を軽減させて生成できるプログラム、データ処理方法およびその装置を提供することである。
【０００６】
【課題を解決するための手段】
上記の目的を達成するため、第１の発明のプログラムは、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する第１の手順と、前記第１の手順で前記識別データを検出したことを、前記所定のデータの利用先に通知する第２の手順とをコンピュータに実行させる。
【０００７】
第１の発明のプログラムの作用は以下のようになる。
先ず、コンピュータに、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する第１の手順を実行させる。
次に、前記コンピュータに、前記第１の手順で前記識別データを検出したことを、前記所定のデータの利用先に通知する第２の手順とを実行させる。
【０００８】
第２の発明のプログラムは、所定のデータを当該所定のデータの提供元に要求する第１の手順と、前記第１の手順の前記要求に応じて前記所定データを前記提供元から受ける第２の手順と、前記第２の手順で受けた前記所定のデータと当該所定のデータを識別する識別データとを含むモジュールデータを生成する第３の手順と、前記第３の手順で生成した複数の前記モジュールデータで構成されるデータを生成する第４の手順とをコンピュータに実行させる。
【０００９】
第２の発明のプログラムの作用は以下のようになる。
先ず、コンピュータに所定のデータを当該所定のデータの提供元に要求する第１の手順を実行させる。
次に、前記コンピュータに、前記第１の手順の前記要求に応じて前記所定データを前記提供元から受ける第２の手順を実行させる。
次に、前記コンピュータに、前記第２の手順で受けた前記所定のデータと当該所定のデータを識別する識別データとを含むモジュールデータを生成する第３の手順を実行させる。
次に、前記コンピュータに、前記第３の手順で生成した複数の前記モジュールデータで構成されるデータを生成する第４の手順とをコンピュータに実行させる。
【００１０】
第３の発明のデータ処理方法は、コンピュータが実行するデータ処理方法であって、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する第１の工程と、前記第１の工程で前記識別データを検出したことを、前記所定のデータの利用先に通知する第２の工程とを有する。
【００１１】
第４の発明のデータ処理方法は、コンピュータが実行するデータ処理方法であって、所定のデータを当該所定のデータの提供元に要求する第１の工程と、
前記第１の工程の前記要求に応じて前記所定データを前記提供元から受ける第２の工程と、前記第２の工程で受けた前記所定のデータと当該所定のデータを識別する識別データとを含むモジュールデータを生成する第３の工程と、前記第３の工程で生成した複数の前記モジュールデータから構成されるデータを生成する第４の工程とを有する。
【００１２】
第５の発明のデータ処理方法は、第１のプログラムと第２のプログラムとを並行してコンピュータで実行するデータ処理方法であって、前記第１のプログラムが、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する第１の工程と、前記第１のプログラムが、前記第１の工程で前記識別データを検出したことを、前記第２のプログラムに通知する第２の工程と、前記第２のプログラムが、前記第２の工程における前記第１のプログラムからの前記通知を基に、前記第１の工程で検出された前記識別データを含む前記モジュールデータ内の前記所定のデータを前記第１のプログラムから受け取る第３の工程と、前記第２のプログラムが、前記第３の工程で受けた前記所定のデータを利用する第４の工程とを有する。
【００１３】
第６の発明のデータ処理装置は、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する検出手段と、前記検出手段が前記識別データを検出したことを、前記所定のデータの利用先に通知する通知手段とを有する。
【００１４】
第６の発明のデータ処理装置の作用は以下のようになる。
先ず、検出手段が、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データから前記識別データを検出する。
次に、通知手段が、前記検出手段が前記識別データを検出したことを、前記所定のデータの利用先に通知する。
【００１５】
第７の発明のデータ処理装置は、所定のデータを当該所定のデータの提供元に要求する要求手段と、前記要求手段による前記要求に応じて前記所定データを前記提供元から受ける受信手段と、前記受信手段が受けた前記所定のデータと当該所定のデータを識別する識別データとを含むモジュールデータを生成する第１の生成手段と、前記第１の生成手段が生成した複数の前記モジュールデータで構成されるデータを生成する第２の生成手段とを有する。
【００１６】
第７の発明のデータ処理装置の作用は以下のようになる。
先ず、要求手段が、所定のデータを当該所定のデータの提供元に要求する。
次に、受信手段が、前記要求手段による前記要求に応じて前記所定データを前記提供元から受ける。
次に、第１の生成手段が、前記受信手段が受けた前記所定のデータと当該所定のデータを識別する識別データとを含むモジュールデータを生成する。
次に、第２の生成手段が、前記第１の生成手段が生成した複数の前記モジュールデータで構成されるデータを生成する。
【００１７】
【発明の実施の形態】
以下、本発明の実施形態に係わる編集システムについて説明する。
図１は、本発明の実施形態に係わる編集システム１の構成図である。
図１に示すように、編集システム１は、例えば、外部装置３および編集装置４を有する。
ここで、編集装置４が第６および第７の発明のデータ処理装置に対応している。
外部装置３は、例えば、ＶＴＲ（Ｖｉｄｅｏ  Ｔａｐｅ  Ｒｅｃｏｒｄｅｒ）  、光ディスクドライブ、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバあるいはローカルドライブなどである。
外部装置３は、ＭＸＦの素材ストリームデータＳＴＲ３を編集装置４に出力する。また、外部装置３は、編集装置４から編集後の素材ストリームデータＳＴＲ４を入力する。
【００１８】
以下、図１に示す編集装置４について説明する。
図２は、図１に示す編集装置４のハードウェア構成図である。
図２に示すように、編集装置４は、例えば、インタフェース１１、インタフェース１２、ディスプレイ１３、メモリ１４およびＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）  １５を有し、これらがバス１０を介して接続されている。
ここで、ＣＰＵ１５が本発明のコンピュータに対応している。
【００１９】
インタフェース１１は、図１に示す外部装置３からＭＸＦの素材ストリームデータＳＴＲ３を入力する。
インタフェース１２は、ＣＰＵ１５によるＧＵＩプログラムの実行に応じて生成された所定の編集画面の画像信号をディスプレイ１３に出力する。
ディスプレイ１３は、インタフェース１２を介してＣＰＵ１５から入力した画像信号に応じて編集画面などのＧＵＩ画面を表示する。
【００２０】
メモリ１４は、リーダプログラムＲ＿ＰＲＧ、ライタプログラムＷ＿ＰＲＧ、アプリケーションプログラムＡＰ、ＧＵＩのプログラムＧＵＩ、再生プログラムＲＥＰＲ、並びにこれらのプログラムの実行に用いられるデータなどを記憶する。
ここで、リーダプログラムＲ＿ＰＲＧが第１の発明にプログラムまたは第５の発明の第１のプログラムに対応し、ライタプログラムＷ＿ＰＲＧが第２の発明のプログラムまたは第５の発明の第２のプログラムに対応する。
また、アプリケーションプログラムＡＰが、本発明の所定のデータの利用先および提供元に対応している。
【００２１】
ＣＰＵ１５は、メモリ１４に記憶された各プログラムを実行し、後述する種々の処理を行う。ＣＰＵ１５の動作例は、後述する編集装置４の動作例と関連付けて詳細に説明する。
【００２２】
先ず、ＭＸＦの素材ストリームデータＳＴＲ３，ＳＴＲ４のフォーマットを説明する。
図３は，ＭＸＦの素材ストリームデータＳＴＲ３，ＳＴＲ４のフォーマットを説明するための図である。
図３に示すように、素材ストリームデータＳＴＲ３，ＳＴＲ４は、ヘッダデータ、ボディデータおよびフッタデータで構成され、各々がパーティションＰＡＴと呼ばれるモジュールデータとして規定されている。
各パーティションは、複数のパックＰＡＣＫと呼ばれるモジュールデータで構成される。
【００２３】
例えば、ヘッダデータは、パックＰＡＣＫであるプリアンブルＰＲＥＡおよびメタデータＭＥＴＡ１を有する。
例えば、ボディデータは、パックＰＡＣＫであるビデオデータＶＩＤＥＯ、６チャンネル分のオーディオデータＡＵＤＩＯ１〜ＡＵＤＩＯ８を有する。
例えば、フッタデータは、パックＰＡＣＫであるポストアンブルＰＯＳＡおよびメタデータＭＥＴＡ２を有する。
【００２４】
上述したパックＰＡＣＫ、並びにパックＰＡＣＫ内のデータは全てＫＬＶデータ（本発明のモジュールデータに対応している）である。
ヘッダデータ、ボディデータおよびフッタデータを構成するパックデータ、並びに当該パックデータ内の各データが、キー（Ｋ）、データ長（Ｌ）およびデータ（Ｖ）で構成されるＫＬＶデータであるというデータ構造を素材ストリームデータＳＴＲ３，ＳＴＲ４は有している。当該データ構造は、例えば、ＭＸＦにより規定されている。
ここで、キー（Ｋ）が本発明の識別データに対応し、データ（Ｖ）が本発明の所定のデータに対応している。
ＫＬＶデータは、例えば、図４に示すように、データ（Ｖ）としてＫＬＶデータを持つことが許されている。
【００２５】
〔リーダプログラムＲ＿ＰＲＧ〕
以下、リーダプログラムＲ＿ＰＲＧとアプリケーションプログラムＡＰに基づいた編集装置４の動作例を説明する。
リーダプログラムＲ＿ＰＲＧおよびアプリケーションプログラムＡＰは、図２に示すＣＰＵ１５によって実行され、ＣＰＵ１５に以下に示す処理を行わせる。
すなわち、図５に示すように、リーダプログラムＲ＿ＰＲＧは、図２に示すインタフェース１１を介して図１に示す外部装置３から入力した素材ストリームデータＳＴＲ３をパース（Ｐａｒｓｅ）  して、ＫＬＶデータのキー（Ｋ）を検出すると、その旨を示すイベントＩＶをアプリケーションプログラムＡＰに出力する。
アプリケーションプログラムＡＰは、イベントＩＶを基に、ＫＬＶデータのデータ（Ｖ）が必要な場合には、リーダプログラムＲ＿ＰＲＧに要求ＲＥＱを出力する。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに応じて、上記キー（Ｋ）に対応するＫＬＶデータ内のデータ（Ｖ）をアプリケーションプログラムＡＰに出力（提供）する。
【００２６】
リーダプログラムＲ＿ＰＲＧからアプリケーションプログラムＡＰへのイベントＩＶの出力およびデータ（Ｖ）の出力は、例えば、コールバック（Ｃａｌｌ  ｂａｃｋ）  方式で行われる。
すなわち、例えば、アプリケーションプログラムＡＰが、上記必要なイベントＩＶ毎にイベントＩＶの入力処理関数、およびデータ（Ｖ）の入力処理関数の関数ポインタを、リーダプログラムＲ＿ＰＲＧに設定する。
そして、リーダプログラムＲ＿ＰＲＧは、上記設定されたイベントＩＶの入力処理関数ポインタ先にイベントＩＶの出力、および上記設定されたデータ（Ｖ）の入力処理関数先に要求ＲＥＱに係わるデータ（Ｖ）のメモリアドレスのポインタを引数として出力する。
そして、アプリケーションプログラムＡＰは、上記イベントＩＶの入力処理関数ではイベントを判断する、ならびにデータ（Ｖ）の入力処理関数では引数であるデータ（Ｖ）のメモリアドレスから要求ＲＥＱに係わるデータ（Ｖ）を読み出す。
【００２７】
図６は、上述した図５に示す場合の処理のフローチャートである。
以下、図６に示す各ステップについて説明する。
先ず、リーダプログラムＲ＿ＰＲＧの処理のステップを説明する。
図６において、ステップＳＴ１が第１の発明の第１の手順に対応し、ステップＳＴ３が第１の発明の第２の手順に対応し、ステップＳＴ５が第１の発明の第３の手順に対応している。
また、ステップＳＴ０が第５の発明の検出手段に対応し、ステップＳＴ３が第５の発明の通知手段に対応している。
【００２８】
ステップＳＴ０：
リーダプログラムＲ＿ＰＲＧは、例えば起動時にアプリケーションプログラムＡＰからイベントＩＶの出力先、およびデータ（Ｖ）の出力先を設定される。その後、例えばアプリケーションプログラムＡＰから素材ストリームデータＳＴＲ３の読み込み開始指示に従ってパースを開始する。
ステップＳＴ１：
リーダプログラムＲ＿ＰＲＧは、外部装置３から入力した素材ストリームデータＳＴＲ３をパース（構文解析等）して、当該データＳＴＲ３内のＫＬＶデータのキー（Ｋ）の検出処理を行う。
ステップＳＴ２：
リーダプログラムＲ＿ＰＲＧは、ステップＳＴ１でキー（Ｋ）が検出されたか否かを判断し、キー（Ｋ）が検出されたと判断した場合にはステップＳＴ３に進み、そうでない場合にはステップＳＴ１に戻る。
【００２９】
ステップＳＴ３：
リーダプログラムＲ＿ＰＲＧは、ステップＳＴ１で検出したキー（Ｋ）に対応するイベントＩＶをアプリケーションプログラムＡＰに出力する。
この場合に、上記イベントＩＶには、例えば、ステップＳＴ１で検出したキー（Ｋ）の種類を識別する情報が含まれる。
ステップＳＴ４：
リーダプログラムＲ＿ＰＲＧは、アプリケーションプログラムＡＰからのデータの要求ＲＥＱを受けたか否かを判断し、要求ＲＥＱを受けたと判断するとステップＳＴ５に進み、そうでない場合にはデータ（Ｖ）を読み飛ばしステップＳＴ１に戻る。
上記要求ＲＥＱには、例えば、当該要求ＲＥＱに係わるデータを含むＫＬＶデータのキー（Ｋ）を識別する情報が含まれている。
ステップＳＴ５：
リーダプログラムＲ＿ＰＲＧは、ステップＳＴ４で受けた要求ＲＥＱに対応するＫＬＶデータ内のデータ（Ｖ）をアプリケーションプログラムＡＰに出力する。
リーダプログラムＲ＿ＰＲＧは、上記ステップＳＴ５を終了すると、ステップＳＴ１に戻る。
【００３０】
以下、図６に示すアプリケーションプログラムＡＰの各ステップを説明する。
ステップＳＴ１０：
アプリケーションプログラムＡＰは、リーダプログラムＲ＿ＰＲＧに必要なイベントＩＶの入力処理関数、およびデータ（Ｖ）の入力処理関数のポインタを設定し、リーダプログラムＲ＿ＰＲＧに素材ストリームデータＳＴＲ３の読み込み開始を指示する。
ステップＳＴ１１：
アプリケーションプログラムＡＰは、リーダプログラムＲ＿ＰＲＧからイベントＩＶを入力するまで他の処理を行う。イベントＩＶを入力するとステップＳＴ１２に進む。
ステップＳＴ１２：
アプリケーションプログラムＡＰは、ステップＳＴ１１で入力したイベントＩＶに含まれるキー（Ｋ）の種類を識別する情報を基に、当該キー（Ｋ）に対応するデータ（Ｖ）が必要か否か判断し、必要であると判断するとステップＳＴ１３に進み、そうでない場合にはステップＳＴ１１に戻る。
【００３１】
ステップＳＴ１３：
アプリケーションプログラムＡＰは、データ（Ｖ）の要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する。
当該要求ＲＥＱには、例えば、当該要求ＲＥＱに係わるデータを含むＫＬＶデータのキー（Ｋ）を識別する情報を含める。
ステップＳＴ１４：
アプリケーションプログラムＡＰは、ステップＳＴ１３で出力した要求ＲＥＱに対応するデータ（Ｖ）をリーダプログラムＲ＿ＰＲＧから入力したか否かを判断し、入力したと判断するとステップＳＴ１５に進み、そうでない場合にはステップＳＴ１１に戻る。
ステップＳＴ１５：
アプリケーションプログラムＡＰは、ステップＳＴ１４でリーダプログラムＲ＿ＰＲＧから入力したイベントＩＶを用いて編集などの所定の処理を行う。
【００３２】
以下、図６に示すステップＳＴ１〜ＳＴ３において、リーダプログラムＲ＿ＰＲＧが、図３に示すＭＸＦの素材ストリームデータＳＴＲ３をパースしてイベントを出力する動作例を説明する。
図７および図８は、当該動作例を説明するための図である。
リーダプログラムＲ＿ＰＲＧは、図６に示すステップＳＴ１において、図７に示す矢印Ａの向きに、素材ストリームデータＳＴＲ３のパックＰＡＣＫであるプリアンブルＰＲＥＡの先頭から、メタデータＭＥＴＡ２に向けて順にパースを行う。
この過程で、リーダプログラムＲ＿ＰＲＧは、プリアンブルＰＲＥＡの先頭のＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＰＡＴ＿ＰＲＥＡをアプリケーションプログラムＡＰに出力する（ＳＴ３）。
そして、リーダプログラムＲ＿ＰＲＧは、メタデータＭＥＴＡ１の先頭のＫＬＶデータのキー（Ｋ）を検出し（ＳＴ２）、その旨を示すイベントＩＶ＿ＰＡＣＫ＿ＭＥＴＡ１をアプリケーションプログラムＡＰに出力する（ＳＴ３）。
【００３３】
そして、リーダプログラムＲ＿ＰＲＧは、ビデオデータＶＩＤＥＯの先頭のＫＬＶデータのキー（Ｋ）を検出し（ＳＴ２）、その旨を示すイベントＩＶ＿ＰＡＣＫ＿ＶＩＤＥＯをアプリケーションプログラムＡＰに出力する（ＳＴ３）。
その後、リーダプログラムＲ＿ＰＲＧは、同様に、オーディオデータＡＵＤＩＯ１〜ＡＵＤＩＯ８，ポストアンブルＰＯＳＡおよびメタデータＭＥＴＡ２の先頭のＫＬＶデータのキー（Ｋ）を順に検出し（ＳＴ２）、その旨を示すイベントＩＶ＿ＰＡＣＫ＿ＡＵＤＩＯ１〜ＡＵＤＩＯ８，ＩＶ＿ＰＡＣＫ＿ＰＯＳＡおよびＩＶ＿ＰＡＣＫ＿ＭＥＴＡ２ＶＩＤＥＯをアプリケーションプログラムＡＰに順に出力する（ＳＴ３）。
【００３４】
リーダプログラムＲ＿ＰＲＧは、上述した各パックＰＡＣＫ内をパースする過程で、当該パックＰＡＣＫを構成する全てのＫＬＶデータについて、図６に示すステップＳＴ２，ＳＴ３の処理を行う。
以下、図７に示すパックＰＡＣＫであるメタデータＭＥＴＡ内のパース処理を例示して説明する。
図８は、当該動作例を説明するための図である。
図８に示すように、リーダプログラムＲ＿ＰＲＧは、図６に示すステップＳＴ１において、図８に示す矢印Ａの向きに、素材ストリームデータＳＴＲ３のメタデータＭＥＴＡの先頭から末尾に向けて順にパースを行う。
この過程で、リーダプログラムＲ＿ＰＲＧは、メタデータＭＥＴＡ１内の先頭のＫＬＶデータＫＬＶ１のキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＰＡＣＫ＿ＭＥＴＡ１をアプリケーションプログラムＡＰに出力する（ＳＴ３）。
リーダプログラムＲ＿ＰＲＧは、続いて、メタデータＭＥＴＡ１内のＫＬＶデータＫＬＶ２〜ＫＬＶ９のキー（Ｋ）を順に検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ２〜ＩＶ＿ＫＬＶ９をアプリケーションプログラムＡＰに順に出力する（ＳＴ３）。
【００３５】
以下、図２に示すＣＰＵ１５が、リーダプログラムＲ＿ＰＲＧ、アプリケーションプログラムＡＰおよびプログラムＧＵＩを実行して、素材ストリームデータＳＴＲ３内のＫＬＶデータであるＵＭＩＤ（Ｕｎｉｑｕｅ  Ｍａｔｅｒｉａｌ  Ｉｄｅｎｔｉｆｉｅｒ）データおよびＥＭ（Ｅｓｓｅｎｃｅ  Ｍａｒｋ）データを基に、ＧＵＩ画面をディスプレイ１３に表示させる場合の動作例を説明する。
当該動作例では、リーダプログラムＲ＿ＰＲＧおよびアプリケーションプログラムＡＰは、図７および図８に示した動作をＣＰＵ１５に行わせる。
ＵＭＩＤデータは、図３に示すボディデータの属性を示すデータであり、ボディデータの形式、生成方法、生成日付、生成国名などをクリップ単位に規定している。ＵＭＩＤデータは、図３に示すメタデータＭＥＴＡ１内にある。
ＥＭデータは、ボディデータ内のビデオデータにおいて、当該ビデオデータの記録時に指定されたグットショト（ｇｏｏｄ  ｓｈｏｔ）  の位置（画像）を示している。ＥＭデータは、図３に示すボディデータ内の各画像に対応したデータ内にある。
【００３６】
図９は、上述したＧＵＩ画面を表示する場合の編集装置４の動作例を説明するための図である。
図７および図８を用いて説明したように、リーダプログラムＲ＿ＰＲＧは、図６に示すステップＳＴ１において、図９に示す矢印Ａの向きに、素材ストリームデータＳＴＲ３のパックＰＡＣＫであるプリアンブルＰＲＥＡの先頭から、メタデータＭＥＴＡ２に向けて順にパースを行う。
この過程で、リーダプログラムＲ＿ＰＲＧは、メタデータＭＥＴＡ１内のＵＭＩＤデータを格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＵＭＩＤをアプリケーションプログラムＡＰに出力する（ＳＴ３）。
アプリケーションプログラムＡＰは、イベントＩＶ＿ＫＬＶ＿ＵＭＩＤを基に、当該イベントに対応するＵＭＩＤデータが必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するＵＭＩＤデータをアプリケーションプログラムＡＰに出力する。
アプリケーションプログラムＡＰは、リーダプログラムＲ＿ＰＲＧから入力したＵＭＩＤデータをプログラムＧＵＩに出力する。
プログラムＧＵＩは、アプリケーションプログラムＡＰから入力したＵＭＩＤデータを基に、ＧＵＩ画面Ｄ１のＵＭＩＤに対応する項目をＵＭＩＤが存在することを示す「Ｙ」にする。
【００３７】
その後、リーダプログラムＲ＿ＰＲＧは、ビデオデータＶＩＤＥＯ内のＥＭデータＥＭ１を格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＥＭ１をアプリケーションプログラムＡＰに出力する（ＳＴ３）。
アプリケーションプログラムＡＰは、イベントＩＶ＿ＫＬＶ＿ＥＭ１を基に、当該イベントに対応するＥＭデータＥＭ１が必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するＥＭデータＥＭ１をアプリケーションプログラムＡＰに出力する。
アプリケーションプログラムＡＰは、リーダプログラムＲ＿ＰＲＧから入力したＥＭデータＥＭ１をプログラムＧＵＩに出力する。
プログラムＧＵＩは、アプリケーションプログラムＡＰから入力したＥＭデータＥＭ１を基に、ＧＵＩ画面Ｄ２のＥＭに対応する項目を「１」にする。
当該ＥＭに対応する項目は、素材ストリームデータＳＴＲ３から検出されたマークデータの数を示している。
【００３８】
その後、リーダプログラムＲ＿ＰＲＧは、ビデオデータＶＩＤＥＯ内のＥＭデータＥＭ２を格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＥＭ２をアプリケーションプログラムＡＰに出力する（ＳＴ３）。
アプリケーションプログラムＡＰは、イベントＩＶ＿ＫＬＶ＿ＥＭ２を基に、当該イベントに対応するＥＭデータＥＭ２が必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するＥＭデータＥＭ２をアプリケーションプログラムＡＰに出力する。
アプリケーションプログラムＡＰは、リーダプログラムＲ＿ＰＲＧから入力したＥＭデータＥＭ２をプログラムＧＵＩに出力する。
プログラムＧＵＩは、アプリケーションプログラムＡＰから入力したＥＭデータＥＭ２を基に、ＧＵＩ画面Ｄ２のＥＭに対応する項目をインクリメントして「２」にする。
【００３９】
その後、リーダプログラムＲ＿ＰＲＧは、ビデオデータＶＩＤＥＯ内のＥＭデータＥＭ３を格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＥＭ３をアプリケーションプログラムＡＰに出力する（ＳＴ３）。
アプリケーションプログラムＡＰは、イベントＩＶ＿ＫＬＶ＿ＥＭ３を基に、当該イベントに対応するＥＭデータＥＭ３が必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するＥＭデータＥＭ３をアプリケーションプログラムＡＰに出力する。
アプリケーションプログラムＡＰは、リーダプログラムＲ＿ＰＲＧから入力したＥＭデータＥＭ３をプログラムＧＵＩに出力する。
プログラムＧＵＩは、アプリケーションプログラムＡＰから入力したＥＭデータＥＭ３を基に、ＧＵＩ画面Ｄ２のＥＭに対応する項目をインクリメントして「３」にする。
【００４０】
上述したように、編集装置４では、素材ストリームデータＳＴＲ３をパースしてＵＭＩＤデータおよびＥＭデータを取り出す処理をリーダプログラムＲ＿ＰＲＧが行い、アプリケーションプログラムＡＰは必要に応じてリーダプログラムＲ＿ＰＲＧからこれらのデータを得る。そのため、アプリケーションプログラムＡＰは、ＵＭＩＤデータおよびＥＭデータの検出処理から開放され、処理負担を従来に比べて軽減できる。
【００４１】
次に、アプリケーションプログラムＡＰとして、クリップオブジェクトＣＬＩＰ＿Ｏ、ビデオオブジェクトＶＩＤＥＯ＿ＯおよびオーディオオブジェクトＡＵＤＩＯ＿Ｏを用いた場合の編集装置４の動作例を説明する。
図１０は、当該動作例を説明するための図である。
図７および図８を用いて説明したように、リーダプログラムＲ＿ＰＲＧは、図６に示すステップＳＴ１において、素材ストリームデータＳＴＲ３のパックＰＡＣＫであるプリアンブルＰＲＥＡの先頭から、メタデータＭＥＴＡ２に向けて順にパースを行う。
この過程で、リーダプログラムＲ＿ＰＲＧは、プリアンブルＰＲＥＡ内のプロパティデータＰＤを格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＰＤをクリップオブジェクトＣＬＩＰ＿Ｏに出力する（ＳＴ３）。
クリップオブジェクトＣＬＩＰ＿Ｏは、イベントＩＶ＿ＫＬＶ＿ＰＤを基に、当該イベントに対応するＰＤデータが必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するＰＤデータをクリップオブジェクトＣＬＩＰ＿Ｏに出力する。
【００４２】
そして、リーダプログラムＲ＿ＰＲＧは、メタデータＭＥＴＡ１内のＵＭＩＤデータを格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＵＭＩＤをクリップオブジェクトＣＬＩＰ＿Ｏに出力する（ＳＴ３）。
クリップオブジェクトＣＬＩＰ＿Ｏは、イベントＩＶ＿ＫＬＶ＿ＵＭＩＤを基に、当該イベントに対応するＵＭＩＤデータが必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するＵＭＩＤデータをクリップオブジェクトＣＬＩＰ＿Ｏに出力する。
【００４３】
そして、リーダプログラムＲ＿ＰＲＧは、メタデータＭＥＴＡ１内のＴＣ（Ｔｉｍｅ  Ｃｏｄｅ）  データを格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＴＣをクリップオブジェクトＣＬＩＰ＿Ｏに出力する（ＳＴ３）。
クリップオブジェクトＣＬＩＰ＿Ｏは、イベントＩＶ＿ＫＬＶ＿ＴＣを基に、当該イベントに対応するＴＣデータが必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するＴＣデータをクリップオブジェクトＣＬＩＰ＿Ｏに出力する。
【００４４】
そして、リーダプログラムＲ＿ＰＲＧは、ボディデータ内のシステムデータＳＹＳを格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＳＹＳをクリップオブジェクトＣＬＩＰ＿Ｏに出力する（ＳＴ３）。
クリップオブジェクトＣＬＩＰ＿Ｏは、イベントＩＶ＿ＫＬＶ＿ＳＹＳを基に、当該イベントに対応するＴＣデータが必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するシステムデータＳＹＳをクリップオブジェクトＣＬＩＰ＿Ｏに出力する。
クリップオブジェクトＣＬＩＰ＿Ｏは、リーダプログラムＲ＿ＰＲＧから入力したデータを基に、ビデオデータおよびオーディオデータと関連付けたクリップデータを生成する。
【００４５】
そして、リーダプログラムＲ＿ＰＲＧは、ボディデータ内のビデオデータＶＩＤＥＯを格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＶＩＤＥＯをビデオオブジェクトＶＩＤＥＯ＿Ｏに出力する（ＳＴ３）。
ビデオオブジェクトＶＩＤＥＯ＿Ｏは、イベントＩＶ＿ＫＬＶ＿ＶＩＤＥＯを基に、当該イベントに対応するビデオデータＶＩＤＥＯが必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するビデオデータＶＩＤＥＯをビデオオブジェクトＶＩＤＥＯ＿Ｏに出力する。
ビデオオブジェクトＶＩＤＥＯ＿Ｏは、リーダプログラムＲ＿ＰＲＧから入力したビデオデータＶＩＤＥＯを、必要に応じて編集したり、当該ビデオデータＶＩＤＥＯがエンコードされている場合にはデコードを行う。
【００４６】
そして、リーダプログラムＲ＿ＰＲＧは、ボディデータ内のオ−ディオデータＡＵＤＩＯを格納したＫＬＶデータのキー（Ｋ）を検出し（図６のＳＴ２）、その旨を示すイベントＩＶ＿ＫＬＶ＿ＡＵＤＩＯをオーディオオブジェクＡＵＤＩＯ＿Ｏに出力する（ＳＴ３）。
オーディオオブジェクトＡＵＤＩＯ＿Ｏは、イベントＩＶ＿ＫＬＶ＿ＡＵＤＩＯを基に、当該イベントに対応するオ−ディオデータＡＵＤＩＯが必要であると判断し（ＳＴ１２）、要求ＲＥＱをリーダプログラムＲ＿ＰＲＧに出力する（ＳＴ１３）。
リーダプログラムＲ＿ＰＲＧは、要求ＲＥＱに基づいて、上記検出したキー（Ｋ）に対応するオ−ディオデータＡＵＤＩＯをオーディオオブジェクトＡＵＤＩＯ＿Ｏに出力する。
オーディオオブジェクトＡＵＤＩＯ＿Ｏは、リーダプログラムＲ＿ＰＲＧから入力したオーディオデータＡＵＤＩＯを、必要に応じて編集したり、当該オーディオデータＡＵＤＩＯがエンコードされている場合にはデコードを行う。
【００４７】
〔ライタプログラムＷ＿ＰＲＧ〕
以下、図１１に示すライタプログラムＷ＿ＰＲＧとアプリケーションプログラムＡＰに基づいた編集装置４の動作例を説明する。
図１２は、当該動作例を説明するためのフローチャートである。
図１２において、ステップＳＴ２１が第２の発明の第１の手順に対応し、ステップＳＴ２５が第２の発明の第２の手順に対応し、ステップＳＴ２６が第２の発明の第３の手順および第４の手順に対応している。
また、ステップＳＴ２１が第６の発明の要求手段に対応し、ステップＳＴ２５が第６の発明の受信手段に対応し、ステップＳＴ２６が第６の発明の第１の生成手段および第２の生成手段に対応している。
【００４８】
以下、図１２に示す各ステップについて説明する。
先ず、ライタプログラムＷ＿ＰＲＧが行うステップを説明する。
ステップＳＴ２１：
図１３に示すように、ライタプログラムＷ＿ＰＲＧは、アプリケーションプログラムＡＰから、イベントＩＶ＿ＷＲＩＴＥと、ヘッダデータＨＤとを入力する。また、合わせてアプリケーションプログラムＡＰへの要求ＲＥＱ＿ＲＥＡＤ出力先を設定する。
ステップＳＴ２２：
ライタプログラムＷ＿ＰＲＧは、ステップＳＴ２１で入力したイベントＷＲＩＴＥを基に、素材ストリームデータＳＴＲ４のヘッダデータの生成を開始する。
そして、ライタプログラムＷ＿ＰＲＧは、ステップＳＴ２１で入力したヘッダデータＨＤを基に、素材ストリームデータＳＴＲ４のヘッダデータを生成する。
【００４９】
ステップＳＴ２３：
ライタプログラムＷ＿ＰＲＧは、素材ストリームデータＳＴＲ４のヘッダデータの生成が完了したか否かを判断し、完了したと判断するとステップＳＴ２４の処理に進み、完了していないと判断するとステップＳＴ２２に戻ってヘッダデータの生成を続けて行う。
ステップＳＴ２４：
ライタプログラムＷ＿ＰＲＧは、素材ストリームデータＳＴＲ４のボディデータを構成するＫＬＶデータの生成に必要なビデオータやオーディオデータなどのデータを要求する要求ＲＥＱ＿ＲＥＡＤをアプリケーションプログラムＡＰに出力する。
【００５０】
ステップＳＴ２５：
ライタプログラムＷ＿ＰＲＧは、ステップＳＴ２４の要求ＲＥＱ＿ＲＥＡＤに対応するデータをアプリケーションプログラムＡＰから入力したか否かを判断し、入力したと判断するとステップＳＴ２６に進み、そうでない場合にはステップＳＴ２５の処理を繰り返す。
ステップＳＴ２６：
ライタプログラムＷ＿ＰＲＧは、アプリケーションプログラムＡＰから入力したデータを用いてボディデータを構成するＫＬＶデータを生成する。
ステップＳＴ２７：
ライタプログラムＷ＿ＰＲＧは、ボディデータの生成が完了したか否かを判断し、完了したと判断するとステップＳＴ２８に進み、そうでない場合にはステップＳＴ２４の処理を戻る。
ステップＳＴ２８：
ライタプログラムＷ＿ＰＲＧは、フッタデータを生成する。
これにより、ヘッダデータ、ボディデータおよびフッタデータから構成される素材ストリームデータＳＴＲ４が生成される。
ライタプログラムＷ＿ＰＲＧは、素材ストリームデータＳＴＲ４の生成が完了するとイベントＩＶ＿ＥＮＤをアプリケーションプログラムＡＰに出力する。
【００５１】
次に、アプリケーションプログラムＡＰが行う図１２のステップを説明する。
ステップＳＴ３１：
アプリケーションプログラムＡＰは、先ず、外部装置３に出力する素材ストリームデータＳＴＲ４のヘッダデータに格納するヘッダデータＨＤを用意し、素材ストリームデータＳＴＲ４の生成指示に対応するイベントＩＶ＿ＷＲＩＴＥと共に、上記ヘッダデータＨＤをライタプログラムＷ＿ＰＲＧに出力する。また、合わせてＣａｌｌ  Ｂａｃｋ方式によるライタプログラムＷ＿ＰＲＧからの要求ＲＥＱ＿ＲＥＡＤを入力処理する関数のポインタを設定する。
ここで、アプリケーションプログラムＡＰは、ＭＸＦに関する情報、例えば、ビデオやオーディオのフォーマット、表示形式、再生長、ＵＭＩＤデータなどの情報をＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述したヘッダデータＨＤを生成する。
ステップＳＴ３２：
アプリケーションプログラムＡＰは、ライタプログラムＷ＿ＰＲＧから要求ＲＥＱ＿ＲＥＡＤを入力するまで他の処理をする。ライタプログラムＷ＿ＰＲＧから要求ＲＥＱ＿ＲＥＡＤを入力した場合にはステップＳＴ３３の処理に進む。そうでない場合にはステップＳＴ３２の処理を繰り返す。
ステップＳＴ３３：
アプリケーションプログラムＡＰは、素材ストリームデータＳＴＲ４のボディデータに格納するデータをライタプログラムＷ＿ＰＲＧに出力する。
【００５２】
以下、ＣＰＵ１５が、再生プログラムＲＥＰＲ、アプリケーションプログラムＡＰおよびライタプログラムＷ＿ＰＲＧを実行し、再生したビデオやオーディオなどのコンテンツデータを含む素材ストリームデータＳＴＲ４を生成する場合の動作例を説明する。
図１４は、当該動作例を説明するための図である。
アプリケーションプログラムＡＰが、イベントＩＶ＿ＷＲＩＴＥと共に、上記ヘッダデータＨＤをライタプログラムＷ＿ＰＲＧに出力する。
そして、ライタプログラムＷ＿ＰＲＧが、ヘッダデータＨＤを基に、素材ストリームデータＳＴＲ４のヘッダデータを生成する。
ライタプログラムＷ＿ＰＲＧは、ヘッダデーアの生成が完了すると、再生プログラムＲＥＰＲによるコンテンツの再生を指示する要求ＳＴＡＲＴをアプリケーションプログラムＡＰに出力する。
【００５３】
アプリケーションプログラムＡＰは、要求ＳＴＡＲＴを基に、再生プログラムＲＥＰＲに再生要求ＰＬＡＹを出力する。
再生プログラムＲＥＰＲは、再生要求ＰＬＡＹを受けると、例えば、所定の記録媒体に記憶されたコンテンツデータである例えばビデオデータの再生を開始する。
そして、再生プログラムＲＥＰＲは、再生したビデオデータＶＩＤＥＯを、例えば、フレーム単位で、アプリケーションプログラムＡＰによってアクセスされる所定のＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）メモリに順に書き込む。
ライタプログラムＷ＿ＰＲＧは、ボディデータの生成過程で、当該ボディデータを構成するＫＬＶデータに必要なビデオデータを要求する要求ＲＥＱ＿ＲＥＡＤをアプリケーションプログラムＡＰに出力する。
アプリケーションプログラムＡＰは、要求ＲＥＱ＿ＲＥＡＤに応じて、上記ＦＩＦＯメモリからビデオデータＶＩＤＥＯを読み出してライタプログラムＷ＿ＰＲＧに出力する。
オーディオデータについても同様に、アプリケーションプログラムＡＰは、要求ＲＥＱ＿ＲＥＡＤに応じて、上記ＦＩＦＯメモリからオーディオデータＡＵＤＩＯを読み出してライタプログラムＷ＿ＰＲＧに出力する。
上記動作は、ボディデータを構成する全てのＫＬＶデータについて行われる。
【００５４】
そして、ライタプログラムＷ＿ＰＲＧは、素材ストリームデータＳＴＲ４の生成が完了するとイベントＩＶ＿ＥＮＤをアプリケーションプログラムＡＰに出力する。
【００５５】
上述した動作の過程で、アプリケーションプログラムＡＰは、上記ＦＩＦＯメモリを監視し、ＦＩＦＯメモリがオーバーフローする可能性がある状態を検出すると、再生プログラムＲＥＰＲに再生停止を示す要求ＰＡＵＳＥを出力する。
これにより、再生プログラムＲＥＰＲは、コンテンツデータの再生を一時的に停止する。アプリケーションプログラムＡＰは、上記オーバーフローする可能性がある状態でなくなると、再生開始要求を再生プログラムＲＥＰＲに出力する。
図１４に示す例では、外部装置３と編集装置４との伝送ラインのバンド幅が低下するに従って、アプリケーションプログラムＡＰに出力する要求ＲＥＱ＿ＲＥＡＤの間隔を長くなり、上記ＦＩＦＯメモリがオーバーフローする可能性がでる。そのため、再生プログラムＲＥＰＲは、上記要求ＲＥＱ＿ＲＥＡＤの間隔に反比例したレートでコンテンツデータの再生（エンコード）行うようにしてもよい。これにより、編集装置４から外部装置３に出力する素材ストリームデータＳＴＲ４を途切れなくすることができる。
【００５６】
上述した動作の過程で、アプリケーションプログラムＡＰは、ライタプログラムＷ＿ＰＲＧの要求ＲＥＱ＿ＲＥＡＤの間に、次に出力すべきコンテンツデータを作成してデータ出力することができる。
【００５７】
以上説明したように、編集装置４では、アプリケーションプログラムＡＰとは別に、素材ストリームデータＳＴＲ３をパースしてＫＬＶデータ内のキー（Ｋ）を検出したことをイベントＩＶとしてアプリケーションプログラムＡＰに出力するリーダプログラムＲ＿ＰＲＧを用いている。そのため、アプリケーションプログラムＡＰは、素材ストリームデータＳＴＲ３のパース処理から開放され、それ以外の編集処理などを高いパフォーマンスで行うことができる。
また、編集装置４では、アプリケーションプログラムＡＰとは別に、素材ストリームデータＳＴＲ４を生成するライタプログラムＷ＿ＰＲＧを用いている。そのため、アプリケーションプログラムＡＰは、素材ストリームデータＳＴＲ４の生成処理から開放され、それ以外の編集処理などを高いパフォーマンスで行うことができる。
【００５８】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態では、本発明の所定のデータとして、図３などを用いて説明したＭＸＦの素材ストリームデータＳＴＲ３，ＳＴＲ４を例示したが、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成されるデータであれば、ＭＸＦ以外のフォーマットでデータであっても本発明は同様に適用できる。
【００５９】
【発明の効果】
以上説明したように、本発明によれば、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータで構成される対象データ内の前記所定のデータを利用する利用先の処理負担を軽減することができるプログラム、データ処理方法およびその装置を提供することができる。
また、本発明によれば、所定のデータと当該所定のデータを識別する識別データとをそれぞれ含む複数のモジュールデータを、上記所定のデータの提供元の処理負担を軽減させて生成できるプログラム、データ処理方法およびその装置を提供することができる。
【図面の簡単な説明】
【図１】図１は、本発明の実施形態に係わる編集システムの構成図である。
【図２】図２は、図１に示す編集装置のハードウェア構成図である。
【図３】図３は、図１に示すＭＸＦの素材ストリームデータのフォーマットを説明するための図である。
【図４】図４は、ＫＬＶデータを説明するための図である。
【図５】図５は、リーダプログラムＲ＿ＰＲＧとアプリケーションプログラムＡＰに基づいた図１に示す編集装置の動作例を説明するための図である。
【図６】図６は、上述した図５に示す場合の処理のフローチャートである。
【図７】図７は、図６に示すステップＳＴ１〜ＳＴ３において、リーダプログラムＲ＿ＰＲＧが、図３に示すＭＸＦの素材ストリームデータＳＴＲ３をパースしてイベントを出力する動作例を説明するための図である。
【図８】図８は、図６に示すステップＳＴ１〜ＳＴ３において、リーダプログラムＲ＿ＰＲＧが、図３に示すＭＸＦの素材ストリームデータＳＴＲ３をパースしてイベントを出力する動作例を説明するための図である。
【図９】図９は、ＧＵＩ画面を表示する場合の図１に示す編集装置の動作例を説明するための図である。
【図１０】図１０は、アプリケーションプログラムＡＰとして、クリップオブジェクトＣＬＩＰ＿Ｏ、ビデオオブジェクトＶＩＤＥＯ＿ＯおよびオーディオオブジェクトＡＵＤＩＯ＿Ｏがある場合の図１に示す編集装置の動作例を説明するための図である。
【図１１】図１１は、ライタプログラムＷ＿ＰＲＧとアプリケーションプログラムＡＰに基づいた編集装置の動作例を説明するための図である。
【図１２】図１２は、図１１に示す動作例を説明するための図である。
【図１３】図１３は、図１１に示す動作例を説明するための図である。
【図１４】図１４は、図２に示すＣＰＵが、再生プログラムＲＥＰＲ、アプリケーションプログラムＡＰおよびライタプログラムＷ＿ＰＲＧを実行し、再生したビデオやオーディオなどのコンテンツデータを含む素材ストリームデータＳＴＲ４を生成する場合の動作例を説明するための図である。
【符号の説明】
１…編集システム、３…外部装置、４…編集装置、１０…バス、１１…インタフェース、１２…インタフェース、１３…ディスプレイ、１４…メモリ、１５…ＣＰＵ、Ｒ＿ＰＲＧ…リーダプログラム、Ｗ＿ＰＲＧ…ライタプログラム、ＡＰ…アプリケーションプログラム、ＧＵＩ…プログラム、ＲＥＰＲ…再生プログラム
【図１】
2004310330.tif 000003
【図２】
2004310330.tif 000004
【図３】
2004310330.tif 000005
【図４】
2004310330.tif 000006
【図５】
2004310330.tif 000007
【図６】
2004310330.tif 000008
【図７】
2004310330.tif 000009
【図８】
2004310330.tif 000010
【図９】
2004310330.tif 000011
【図１０】
2004310330.tif 000012
【図１１】
2004310330.tif 000013
【図１２】
2004310330.tif 000014
【図１３】
2004310330.tif 000015
【図１４】
2004310330.tif 000016