(57)【特許請求の範囲】
【請求項１】
複数のエッセンスデータが並んだコンテナフォーマットデータと、前記コンテナフォーマットデータ内のエッセンスデータの並び順である配置順序を指定する順序情報とが入力される入力部と、
前記入力部に入力されたコンテナフォーマットデータ内の複数のエッセンスデータを、前記入力部に入力された順序情報が指定した配置順序に並び変えて、変換コンテナフォーマットデータを生成する変換部と、
前記変換部にて生成された変換コンテナフォーマットデータを出力する出力部と、を有するデータ変換装置。
【請求項２】
請求項１に記載のデータ変換装置において、
前記入力部には、前記コンテナフォーマットデータに挿入可能なオプショナルデータを挿入するか否かを示す挿入有無情報がさらに入力され、
前記変換部は、前記入力部に入力された挿入有無情報が前記オプショナルデータの挿入を示す場合、当該オプショナルデータが挿入された前記変換コンテナフォーマットデータを生成する、データ変換装置。
【請求項３】
請求項１または２に記載のデータ変換装置において、
前記入力部には、前記エッセンスデータに関するメタデータを追加する旨の追加要求がさらに入力され、
前記変換部は、前記入力部に入力された追加要求にて追加が要求されたメタデータが挿入された前記変換コンテナフォーマットデータを生成する、データ変換装置。
【請求項４】
請求項１ないし３のいずれか１項に記載のデータ変換装置において、
前記変換部は、
前記コンテナフォーマットデータから前記複数のエッセンスデータを抽出する抽出部と、
前記抽出部が抽出したエッセンスデータを前記配置順序で並べて、前記変換コンテナフォーマットデータを生成する生成部と、を有する、データ変換装置。
【請求項５】
複数のエッセンスデータが並んだコンテナフォーマットデータと、前記コンテナフォーマットデータ内のエッセンスデータの並び順である配置順序を指定する順序情報とを受け付け、
前記受け付けられたコンテナフォーマットデータ内の複数のエッセンスデータを、前記受け付けられた順序情報が指定した配置順序に並び変えて、変換コンテナフォーマットデータを生成し、
前記生成された変換コンテナフォーマットデータを出力する、データ変換方法。
【請求項６】
コンピュータに、
複数のエッセンスデータが並んだコンテナフォーマットデータと、前記コンテナフォーマットデータ内のエッセンスデータの並び順である配置順序を指定する順序情報とを受け付ける手順と、
前記受け付けられたコンテナフォーマットデータ内の複数のエッセンスデータを、前記受け付けられた順序情報が指定した配置順序に並び変えて、変換コンテナフォーマットデータを生成する手順と、
前記生成された変換コンテナフォーマットデータを出力する手順と、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテナフォーマットのデータを編集するデータ変換装置およびデータ変換方法に関し、特には、コンテナフォーマットのデータの一種であるＭＸＦ（Material eXchange Format）のデータを編集するデータ変換装置およびデータ変換方法に関する。
【背景技術】
【０００２】
種々の装置間で映像データや音声データを交換するための交換フォーマットとして、ＭＸＦが使用されることが多い。ＭＸＦデータは、複数の種類のデータがラッピングされたコンテナフォーマットデータの一種であり、映像データや音声データを含む複数のエッセンスデータがある順番でラッピングされている。
【０００３】
ＭＸＦデータにラッピング可能なエッセンスデータは、ＳＭＰＴＥ３７７Ｍ規格で規定されている。ＳＭＰＴＥ３７７Ｍ規格では、ＭＸＦデータは、映像データや音声データ以外にも、字幕データなどをエッセンスデータとしてラッピングすることができる。また、ＭＸＦデータには、エッセンスデータに関するメタデータを挿入することもできる（特許文献１〜３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２７１４１４号公報
【特許文献２】特開２００９−２６７５３８号公報
【特許文献３】特表２００９−５０７４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＳＭＰＴＥ３７７Ｍ規格では、ＭＸＦデータにラッピング可能なエッセンスデータやメタデータに関する規定はあるが、ＭＸＦデータ内のエッセンスデータの並び順である配置順序に関する規定はない。このため、配置順序は種々の装置にて独自に設定されることになる。
【０００６】
また、ＭＸＦデータを扱う装置では、特定の配置順序のＭＸＦデータしか使用できないものがある。例えば、特定の配置順序のＭＸＦデータしか生成できない装置や、特定の配置順序のＭＸＦデータしか再生できない装置がある。
【０００７】
このため、特定の配置順序のＭＸＦデータしか使用できない装置間では、ＭＸＦデータを交換することができないという問題があった。なお、この問題は、ＭＸＦデータに限らず、一般的なコンテナフォーマットデータでも生じる。
【０００８】
本発明の目的は、上記の課題である、特定の配置順序を有するコンテナフォーマットデータしか使用できない装置間では、コンテナフォーマットデータを交換することができないという問題を解決するデータ変換装置、データ変換方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００９】
本発明によるデータ変換装置は、複数のエッセンスデータが並んだコンテナフォーマットデータと、前記コンテナフォーマットデータ内のエッセンスデータの並び順である配置順序を指定する順序情報とが入力される入力部と、前記入力部に入力されたコンテナフォーマットデータ内の複数のエッセンスデータを、前記入力部に入力された順序情報が指定した配置順序に並び変えて変換コンテナフォーマットデータを生成する変換部と、前記変換部にて生成された変換コンテナフォーマットデータを出力する出力部と、を有する。
【００１０】
また、本発明によるデータ変換方法は、複数のエッセンスデータが並んだコンテナフォーマットデータと、前記コンテナフォーマットデータ内のエッセンスデータの並び順である配置順序を指定する順序情報とを受け付け、前記受け付けられたコンテナフォーマットデータ内の複数のエッセンスデータを、前記受け付けられた順序情報が指定した配置順序に並び変えて変換コンテナフォーマットデータを生成し、前記生成された変換コンテナフォーマットデータを出力する。
【００１１】
また、本発明によるプログラムは、コンピュータに、複数のエッセンスデータが並んだコンテナフォーマットデータと、前記コンテナフォーマットデータ内のエッセンスデータの並び順である配置順序を指定する順序情報とを受け付ける手順と、前記入力されたコンテナフォーマットデータ内の複数のエッセンスデータを、前記受け付けられた順序情報が指定した配置順序に並び変えて変換コンテナフォーマットデータを生成する手順と、前記生成された変換コンテナフォーマットデータを出力する手順と、を実行させる。
【発明の効果】
【００１２】
本発明によれば、特定の配置順序を有するコンテナフォーマットデータしか使用できない装置間でも、コンテナフォーマットデータを交換することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】ＭＸＦデータの構成の一例を示す図である。
【図２】Header Metadataの構成の一例を示す図である。
【図３】ＫＬＶデータの構成を示す図である。
【図４】本発明の第一の実施形態の変換装置の構成を示す図である。
【図５】キーリストの一例を示す図である。
【図６】抽出処理を説明するためのフローチャートである。
【図７】メタデータファイルの一例を示す図である。
【図８】映像データファイルの一例を示す図である。
【図９】音声データファイルの一例を示す図である。
【図１０】字幕データファイルの一例を示す図である。
【図１１】抽出処理を説明するためのフローチャートである。
【図１２】ＭＸＦデータの一例を示す図である。
【図１３】変換ＭＸＦデータの一例を示す図である。
【図１４】抽出部の動作の一例を説明するための図である。
【図１５】生成部の動作の一例を説明するための図である。
【図１６】生成部の動作の一例を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を参照して説明する。なお、以下の説明では、同じ機能を有する構成には同じ符号を付け、その説明を省略する場合がある。
【００１５】
先ず、コンテナフォーマットデータであるＭＸＦデータについて説明する。
【００１６】
ＭＸＦデータは、ＳＭＰＴＥ３７７Ｍ規格で規定されている。本実施形態では、ＭＸＦデータは、エッセンスデータである映像データ、音声データおよび字幕データを含むものとする。また、ＭＸＦデータには、そのエッセンスデータに関するメタデータを含んでもよい。なお、メタデータはＳＭＰＴＥ３７７Ｍ規格で定義されている。また、以下では、ＭＸＦデータは、映像データとしてディジタルビデオデータを含み、音声データとしてディジタルオーディオデータを含む、ＭＸＦストリーミングデータであるとして説明する。
【００１７】
図１は、ＭＸＦデータの構成を示す図である。
【００１８】
図１に示されたように、ＭＸＦデータの基本フォーマットＡは、ヘッダ（Header Partition）、ボディ（Body Partition）およびフッタ（Footer Partition）の３つ基本的なパーティションに区切られている。なお、ボディは、ヘッダおよびフッタの間に、複数挿入されてもよい。
【００１９】
また、ヘッダ、ボディおよびフッタは、意味ごとに区切られたパーティションＢである、Header Partition Pack、Header Metadata、Index table、Body Partition Pack、Essence Container、Footer Partition PackおよびRandom Index Packで構成される。
【００２０】
より具体的には、ヘッダでは、Header Partition Pack、Header Metadata、Index tableおよびEssence Containerが順に並んでおり、ボディでは、Body Partition Pack、Header Metadata、Index tableおよびEssence Containerが順に並んでおり、フッタでは、Footer Partition Pack、Header Metadata、Index tableおよびRandom Index Packが順に並んでいる。なお、図１において、オプション（Optional）が付与されたパーティションパック（Index tableなど）は、ＭＸＦデータに挿入されるか否かを任意に設定することができるオプショナルパックである。なお、オプショナルパックは、コンテナフォーマットデータに挿入可能なオプショナルデータの一例である。
【００２１】
エッセンスデータはEssence Containerに格納され、メタデータはHeader Metadataに格納される。また、Header Metadataは、図２に示すように、Primer PackおよびMetadataの２つの項目で構成される。なお、項目「Metadata」は、項目「Primer Pack」の後に複数設けられてもよい。
【００２２】
また、図１に示されたように、ＭＸＦデータは、ＫＬＶ(Key-Length-Value)符号で符号化されたＫＬＶデータのデータ群Ｃで構成される。
【００２３】
図３は、ＫＬＶデータの構成を示す図である。図３に示されたように、ＫＬＶデータでは、識別子（Ｋ：Key）、データ長（Ｌ：Length）およびデータ項目（Ｖ：Value）が順に並んでいる。
【００２４】
識別子は、ＳＭＰＴＥ３７７Ｍ規格またはＳＭＰＴＥ３３５Ｍ/ＲＰ２１０規格に準拠した識別子であり、データ項目に格納されるデータを示す。なお、識別子は、１６バイトのデータである。
【００２５】
データ長は、データ項目の長さ（バイト数）を示す。なお、データ長自体は、４バイトのデータである。
【００２６】
データ項目は、識別子にて識別されるデータを格納する。データ項目に格納されるデータは、映像データ、音声データ、映像データおよびメタデータなどである。なお、識別子が「Primer」または、「Structural Metadata」または「Descriptive Metadata」を示す場合、データ項目にメタデータが格納されることになる。
【００２７】
また、図１に示されたように、ＭＸＦデータには、各ＫＬＶデータのＭＸＦデータ内の位置を補正するための、アライメント（Alignment）と呼ばれる位置補正用ＫＬＶデータＤがさらに挿入されることもある。
【００２８】
次に、本発明の第一の実施形態の変換装置の構成について説明する。
【００２９】
図４は、本実施形態の変換装置の構成を示す図である。図４において、データ変換装置１００は、主記憶部１０１と、入力部１０２と、抽出部１０３と、生成部１０４と、出力部１０５とを有する。
【００３０】
主記憶部１０１は、メモリなどの一時記憶装置であり、ＭＸＦデータに含まれる識別子のリストであるキーリストを記憶する。なお、データ変換装置１００は、起動した際に、補助記憶装置（不図示）からキーリストを読み取り、その読み取ったキーリストを主記憶部１０１に記憶する。補助記憶装置は、データ変換装置１００に実装されていてもよいし、データ変換装置１００とは別体でもよい。
【００３１】
図５は、キーリストの一例を示す図である。図５で示されたように、キーリストでは、識別子であるＫＥＹ５１が、その識別子にて識別されるデータを表わす意味５２ごとに示されている。なお、識別子は、１６進数で表記されている。
【００３２】
図４の説明に戻る。入力部１０２には、ＭＸＦデータ内のエッセンスデータの並び順である配置順序を変換するためのユーザ入力情報と、配置順序の変換対象となるＭＸＦデータとが入力される。
【００３３】
ユーザ入力情報は、少なくとも、エッセンスデータの配置順序を指定する順序情報を含む。また、ユーザ入力情報は、種々のオプショナルパックを挿入するか否かを示す挿入有無情報を含んでもよい。なお、ユーザ入力情報のより詳細な説明は後述する。
【００３４】
ユーザ入力情報およびＭＸＦデータの入力方法は、特に限定されない。例えば、入力部１０２には、ユーザ入力情報およびＭＸＦデータを、ハードディスクのような二次記憶装置から入力されてもよいし、ネットワークを介して入力されてもよいし、ユーザから入力されてもよい。また、ユーザ入力情報およびＭＸＦデータが別々の入力方法で入力されてもよい。
【００３５】
抽出部１０３および生成部１０４を有する変換部は、入力部１０２に入力されたＭＸＦデータ内のエッセンスデータを、入力部１０２に入力されたユーザ入力情報内の順序情報が示す配置順序に並び変えて変換ＭＸＦデータを生成する。ここで、変換部は、入力部１０２に入力された挿入有無情報がオプショナルデータの挿入を示す場合、そのオプショナルデータが挿入された変換コンテナフォーマットデータを生成する。
【００３６】
より具体的には、抽出部１０３は、主記憶部１０１に記憶されたキーリストに基づいて、ＭＸＦデータからエッセンスデータおよびメタデータを抽出する。生成部１０４は、抽出部１０３にて抽出されたエッセンスデータを、順序情報にて指定される配置順序で並べて変換ＭＸＦデータを生成する。このとき、生成部１０４は、抽出部１０３にて抽出されたメタデータが挿入された変換ＭＸＦデータを生成する。また、また、挿入有無情報がオプショナルデータの挿入を示す場合、生成部１０４は、そのオプショナルデータが挿入された変換ＭＸＦデータを生成する。
【００３７】
出力部１０５は、生成部１０４にて生成された変換ＭＸＦデータを出力する。
【００３８】
次に、ユーザ入力情報についてより詳細に説明する。
【００３９】
ユーザ入力情報は、以下の１．〜５．の５種類の情報を含む。
【００４０】
１．エッセンスデータの並び順である配置順序を示す順序情報。
【００４１】
本実施形態では、ＭＸＦデータには、エッセンスデータとして、映像データ、音声データおよび字幕データが含まれている。また、ＳＭＰＴＥ３７７Ｍ規格では、映像データ、音声データおよび字幕データの配置順序には制限がない。このため、順序情報は、映像データ→音声データ→字幕データ、音声データ→映像データ→字幕データ、字幕データ→映像データ→音声データ、字幕データ→音声データ→映像データ、映像データ→字幕データ→音声データおよび音声データ→字幕データ→映像データの６通りの配置順序のいずれかを示す。
【００４２】
２．ヘッダにエッセンスデータを挿入するか否かを示す第一挿入有無情報。
【００４３】
第一挿入有無情報は、ヘッダにエッセンスデータを挿入する場合、Ｔｒｕｅを示し、ヘッダにエッセンスデータを挿入しない場合、Ｆａｌｓｅを示す。
【００４４】
３．ＭＸＦデータにIndex Tableを挿入するか否かを示す第二挿入有無情報。
【００４５】
第二挿入有無情報は、ＭＸＦデータにIndex Tableが挿入される場合、Ｔｒｕｅを示し、ＭＸＦデータにIndex Tableが挿入されない場合、Ｆａｌｓｅを示す。
【００４６】
４．フッタにRandom Index Packを挿入するか否かを示す第三挿入有無情報。
【００４７】
第三挿入有無情報は、フッタにRandom Index Packが挿入される場合、Ｔｒｕｅを示し、フッタにRandom Index Packが挿入されない場合、Ｆａｌｓｅを示す。
【００４８】
５．１Partition Pack当たりに含まれるエッセンスデータのフレーム数。
【００４９】
なお、Partition Packは、Header Partition Pack、Body Partition PackおよびFooter Partition Packのそれぞれのことを示す。
【００５０】
次に、抽出部１０３によるエッセンスデータおよびメタデータの抽出処理についてより詳細に説明する。図６は、抽出処理を説明するためのフローチャートである。
【００５１】
なお、抽出部１０３は、図５に示したキーリストを用いて抽出処理を行い、メタデータファイルおよびエッセンスデータファイルをＭＸＦデータから抽出する。なお、エッセンスデータファイルは、映像ファイル、音声ファイルおよび字幕ファイルを含む。
【００５２】
メタデータファイルは、メタデータを表わすＫＬＶデータのみで構成され、図７に示すように、Primer Pack、Structural MetadataおよびDescriptive Metadataのそれぞれを表わすＫＬＶデータの列で構成される。
【００５３】
映像ファイルは、映像データを表わすＫＬＶデータのみで構成され、図８に示すように、１フレーム分の映像データを表わすＫＬＶデータの列で構成される。
【００５４】
音声ファイルは、音声データを表わすＫＬＶデータのみで構成され、図９に示すように、１フレーム分の映像データに対応する、１チャンネル分の音声データを表わすＫＬＶデータの列で構成される。
【００５５】
字幕ファイルは、字幕データを表わすＫＬＶデータのみで構成され、図１０に示すように、１フレーム分の映像データに対応する字幕データを表わすＫＬＶデータの列で構成される。
【００５６】
また、抽出部１０３は、デュレーション（ＤＵＲＡＴＩＯＮ）と呼ばれる、入力部１０２に入力されたＭＸＦデータファイルの素材長をカウントするための変数を保持する。素材長は、各エッセンスデータのフレーム数に対応する。なお、デュレーションの初期値は０であるとする。また、抽出部１０３にてカウントされたデュレーションは、生成部１０４にて使用される。
【００５７】
以下、図６に示したフローチャートを用いて、抽出処理を説明する。なお、入力部１０２は、ＭＸＦデータファイルを受け付けると、そのＭＸＦデータファイルを抽出部１０３に出力する。抽出部１０３は、ＭＸＦデータファイルの受け付けを開始すると、ＭＸＦデータファイルの読み込み位置をＭＸＦデータファイルの先頭に合わせて、ステップＳ１を実行する。
【００５８】
ステップＳ１では、抽出部１０３は、読み込み位置から１６バイト分のデータをＭＸＦデータファイルから読み出すことが可能か否かを判断する。抽出部１０３は、その１６バイト分のデータを読み出すことが可能な場合、ステップＳ２を実行し、１６バイト分のデータを読み出すことが可能でない場合、ＭＸＦデータファイルの終端であると判断して、抽出処理を終了する。
【００５９】
ステップＳ２では、抽出部１０３は、その１６バイト分のデータを識別子としてＭＸＦデータファイルから読み込む。その後、抽出部１０３は、ステップＳ３を実行する。
【００６０】
ステップＳ３では、抽出部１０３は、ＭＸＦデータファイルから、読み込み位置に１６バイトを加えた位置から４バイト分のデータをデータ長として読み込む。その後、抽出部１０３は、ステップＳ４を実行する。
【００６１】
ステップＳ４では、抽出部１０３は、主記憶部１０１に記憶されたキーリストを参照して、ステップＳ２で読み込んだ識別子が「Primer」、「Structural Metadata」および「Descriptive Metadata」のいずれかを示すか否かを判断して、その識別子がメタデータを示すか否かを判断する。なお、識別子が「Primer」、「Structural Metadata」および「Descriptive Metadata」のいずれかを示す場合、識別子がメタデータを示すことになる。
【００６２】
抽出部１０３は、識別子がメタデータを示すと、ステップＳ９を実行し、識別子がメタデータを示さないと、ステップＳ５を実行する。
【００６３】
ステップＳ５では、抽出部１０３は、主記憶部１０１に記憶されたキーリストを参照して、識別子が映像データを示すか否かを判断する。抽出部１０３は、識別子が映像データを示すと、ステップＳ１０を実行し、識別子が映像データを示さないと、ステップＳ６を実行する。
【００６４】
ステップＳ６では、抽出部１０３は、主記憶部１０１に記憶されたキーリストを参照して、識別子が音声データを示すか否かを判断する。抽出部１０３は、識別子が音声データを示すと、ステップＳ１２を実行し、識別子が音声データを識別しないと、ステップＳ７を実行する。
【００６５】
ステップＳ７では、抽出部１０３は、主記憶部１０１に記憶されたキーリストを参照して、識別子が字幕データを示すか否かを判断する。抽出部１０３は、識別子が字幕データを示すと、ステップＳ１３を実行し、識別子が字幕データを示さないと、ステップＳ８を実行する。
【００６６】
ステップＳ８では、抽出部１０３は、ＭＸＦデータファイルの現在の読み込み位置に（１６＋４＋Ｌ）バイト分加えた位置を新たに読み込み位置として算出する。その後、抽出部１０３は、ステップＳ１に戻る。なお、Ｌは、ステップＳ３で抽出部１０３に読み込まれたデータ長が示すデータ項目の長さである。
【００６７】
ステップＳ９では、抽出部１０３は、ＭＸＦデータファイルの読み込み位置から（１６＋４＋Ｌ）バイト分のデータをメタデータファイルとして読み込み、そのメタデータファイルを主記憶部１０１内のメタデータ用に予め定められている領域に保存する。その後、抽出部１０３は、ステップＳ８を実行する。
【００６８】
ステップＳ１０では、抽出部１０３は、ＭＸＦデータファイルの読み込み位置から（１６＋４＋Ｌ）バイト分のデータを映像データファイルとして読み込み、その映像データファイルを主記憶部１０１内の映像データ用に予め定められている領域に保存する。その後、抽出部１０３は、ステップＳ１１を実行する。
【００６９】
ステップＳ１１では、抽出部１０３は、保持しているデュレーションをインクリメントする。その後、抽出部１０３は、ステップＳ８を実行する。ここで、映像データを抽出すると、デュレーションをインクリメントした理由は、ＭＸＦデータには映像データが存在していることを前提としていることが多いためである。
【００７０】
ステップＳ１２では、抽出部１０３は、ＭＸＦデータの読み込み位置から（１６＋４＋Ｌ）バイト分のデータを音声データファイルとして読み込み、その音声データファイルを主記憶部１０１内の音声データ用に予め定められている領域に保存する。その後、抽出部１０３は、ステップＳ８を実行する。
【００７１】
ステップＳ１３では、抽出部１０３は、ＭＸＦデータの読み込み位置から（１６＋４＋Ｌ）バイト分のデータを字幕データファイルとして読み込み、その字幕データファイルを主記憶部１０１内の字幕データ用に予め定められている領域に保存する。その後、抽出部１０３は、ステップＳ８を実行する。
【００７２】
上記の抽出処理により、最大で、図７〜図１０で示した４種類のデータファイルが主記憶部１０１内に記憶されることになる。
【００７３】
次に、生成部１０４による変換ＭＸＦデータの生成処理についてより詳細に説明する。なお、図１１は、生成処理を説明するためのフローチャートである。
【００７４】
生成部１０４は、抽出部１０３で生成された各データファイルおよびデュレーションと、入力部１０２に入力されたユーザ入力情報を用いて、図１１に示したフリーチャートに従って生成処理を行い、変換ＭＸＦデータを生成する。
【００７５】
生成部１０４は、以下の値（ユーザ入力情報を示す変数や制御で使用する変数）を保持する。
【００７６】
１．デュレーション（DURATION）。デュレーションは、抽出部１０３で算出された値であり、生成部１０４では固定値として扱われる。
【００７７】
２．ユーザ入力情報に含まれる順序情報。
【００７８】
３．ユーザ入力情報に含まれる第一挿入有無情報ＩｓＨｅａｄｅｒ。
【００７９】
４．ユーザ入力情報に含まれる第二挿入有無情報ＩｓＩＴ。
【００８０】
５．ユーザ入力情報に含まれる第三挿入有無情報ＩｓＲＩＭ。
【００８１】
６．ユーザ入力情報に含まれる、１Partition Pack当たりに含まれるエッセンスデータのフレーム数Ｎ。
【００８２】
７．Partition Packの種別を表わす状態Ｓ。状態Ｓは、ＨＥＡＤＥＲ、ＢＯＤＹ及びＦＯＯＴＥＲのいずれかを示す。
【００８３】
８．出力フレーム数ｃ。出力フレーム数ｃは、変換ＭＸＦファイルとして出力されたエッセンスデータの素材長である。
【００８４】
９．後述するステップＴ１３〜Ｔ１６のＮループ処理のループ回数ｐｒｅＦ。
【００８５】
なお、生成部１０４は、入力部１０２に予め入力されたユーザ入力情報が示す値を上記の変数として保持しておく。
【００８６】
以下、図１１に示したフローチャートを用いて生成処理を説明する。なお、状態Ｓの初期値をＨＥＡＤＥＲとし、出力フレーム数ｃの初期値を０とする。
【００８７】
抽出部１０３は、抽出処理を終了すると、抽出処理を終了した旨を生成部１０４に通知する。生成部１０４は、その旨を受けると、ステップＴ１を実行する。
【００８８】
ステップＴ１では、生成部１０４は、生成処理（無限ループ処理）を開始する。その後、生成部１０４は、ステップＴ２を実行する。なお、後述するようにＭＸＦデータにフッタが挿入されると、生成処理は終了される。
【００８９】
ステップＴ２では、生成部１０４は、出力フレーム数ｃとデュレーションとが等しいか否かを判断する。生成部１０４は、出力フレーム数ｃとデュレーションとが等しい場合、ステップＴ３を実行し、出力フレーム数ｃとデュレーションとが等しくない場合、ステップＴ４を実行する。
【００９０】
ステップＴ３では、生成部１０４は、状態ＳをＦＯＯＴＥＲに設定する。その後、生成部１０４は、ステップＴ４を実行する。
【００９１】
ステップＴ４では、生成部１０４は、状態Ｓに応じて、Partition Pack（Header Partition Pack、Body Partition PackまたはFooter Partition Pack）を生成して出力部１０５に出力する。より具体的には、生成部１０４は、状態ＳがＨＥＡＤＥＲを示す場合、Header Partition Packを生成し、状態ＳがＢＯＤＹおよびを示す場合、Body Partition Packを生成し、状態ＳがＦｏｏｔｅｒを示す場合、Footer Partition Packを生成する。なお、各Partition Packは、識別子の値が異なるが、それ以外の値は等しい。生成部１０４は、Partition Packを生成すると、ステップＴ５を実行する。
【００９２】
ステップＴ５では、生成部１０４は、状態ＳがＨＥＡＤＥＲまたはＦＯＯＴＥＲを示すか否かを判断する。生成部１０４は、状態ＳがＨＥＡＤＥＲまたはＦＯＯＴＥＲを示す場合、ステップＴ６を実行し、状態ＳがＨＥＡＤＥＲまたはＢＯＤＹを示さない場合、ステップＴ７を実行する。
【００９３】
ステップＴ６では、生成部１０４は、主記憶部１０１からメタデータファイル全体を取得し、そのメタデータファイルを出力部１０５に出力する。その後、生成部１０４は、ステップＴ７を実行する。
【００９４】
ステップＴ７では、生成部１０４は、ループ回数ｐｒｅＦが０でなく、かつ、第二挿入有無情報ＩｓＩＴがＴＲＵＥであるか否かを判断する。生成部１０４は、ループ回数ｐｒｅＦが０でなく、かつ、第二挿入有無情報ＩｓＩＴがＴＲＵＥであると、ステップＴ８を実行し、ループ回数ｐｒｅＦが０でない、または、第二挿入有無情報ＩｓＩＴがＴＲＵＥでないと、ステップＴ９を実行する。
【００９５】
ステップＴ８では、生成部１０４は、Index Tableを生成して出力部１０５に出力する。その後、生成部１０４は、ステップＴ９が実行する。
【００９６】
ステップＴ９では、生成部１０４は、状態ＳがＦＯＯＴＥＲを示すか否かを判断する。生成部１０４は、状態ＳがＦＯＯＴＥＲを示すと、ステップＴ１７を実行し、状態ＳがＦＯＯＴＥＲを示さないと、ステップＴ１０を実行する。
【００９７】
ステップＴ１０では、生成部１０４は、エッセンスデータを出力するか否かを判断する。より、具体的には、生成部１０４は、状態ＳがＨＥＡＤＥＲを示し、かつ、第一挿入有無情報ＩｓＨｅａｄｅｒがＴＲＵＥを示すか否かを判断する。また、生成部１０４は、状態ＳがＢＯＤＹを示すか否かを判断する。そして、状態ＳがＨＥＡＤＥＲを示し、かつ、第一挿入有無情報ＩｓＨｅａｄｅｒがＴＲＵＥを示す場合および状態ＳがＢＯＤＹを示す場合、生成部１０４は、エッセンスデータを出力すると判断する。
【００９８】
生成部１０４は、エッセンスデータを出力しないと判断すると、ステップＴ１１を実行し、エッセンスデータを出力すると判断すると、ステップＴ１２を実行する。
【００９９】
ステップＴ１１では、生成部１０４は、状態ＳをＢＯＤＹに設定する。その後、生成部１０４は、ステップＴ１２を実行する。
【０１００】
ステップＴ１２では、生成部１０４は、ループ回数ｐｒｅＦを０に初期化して、ステップＴ１３〜Ｔ１６で行われるＮループ処理を開始する。その後、生成部１０４は、ステップＴ１３を実行する。
【０１０１】
ステップＴ１３では、生成部１０４は、出力フレーム数ｃがデュレーションと等しいか否かを判断する。生成部１０４は、出力フレーム数ｃがデュレーションと等しいと、Ｎループ処理を脱出して、ステップＴ８を実行し、出力フレーム数ｃがデュレーションと異なっていると、ステップＴ１４を実行する。
【０１０２】
ステップＴ１４では、生成部１０４は、主記憶部１０１に記憶されているエッセンスデータを１フレーム分、順序情報が示す配置順序で出力部１０５に出力する。例えば、配置順序が映像データ→音声データ→字幕データの場合、生成部１０４は、１フレーム分の映像データ、１フレーム分の音声データおよび１フレーム分の字幕データの順序で出力する。生成部１０４は、ステップＴ１４を終了すると、ステップＴ１５を実行する。
【０１０３】
ステップＴ１５では、生成部１０４は、出力フレーム数ｃをインクリメントする。その後、生成部１０４は、ステップＴ１６を実行する。
【０１０４】
ステップＴ１６では、生成部１０４は、ループ回数ｐｒｅＦをインクリメントする。生成部１０４は、そのインクリメントしたループ回数が１パーティションパック当たりのフレーム数Ｎと等しくなると、Ｎループ処理を終了し、ステップＴ８を実行する。また、生成部１０４は、そのインクリメントしたループ回数が１パーティションパック当たりのフレーム数Ｎと異なると、ステップＴ１３に戻ってＮループ処理を繰り返す。
【０１０５】
ステップＴ１７では、生成部１０４は、第三挿入有無情報ＩｓＲＩＭがＴＲＵＥであるか否かを判断する。生成部１０４は、第三挿入有無情報ＩｓＲＩＭがＴＲＵＥであると、ステップＴ１８を実行し、第三挿入有無情報ＩｓＲＩＭがＦａｌｓｅであると、生成処理を終了する。
【０１０６】
ステップＴ１８では、生成部１０４は、RandomIndexPackを生成して出力部１０５に出力し、その後、生成処理を終了する。
【０１０７】
次に変換装置の動作について説明する。
【０１０８】
なお、入力部１０２に入力される変換前のＭＸＦデータを図１２に示し、出力部１０５から出力される変換ＭＸＦデータを図１３に示す。なお、図１２に示したＭＸＦデータでは、メタデータは、説明を分かりやすくするために、本来の数より少なくしている。
【０１０９】
図１２に示した変換前のＭＸＦデータは、以下のような構成とする。
【０１１０】
エッセンスデータの配置順序：字幕データ→映像データ→音声データ。
【０１１１】
ヘッダにはエッセンスデータが挿入されている。
【０１１２】
ＭＸＦデータにはIndex Tableが挿入されていない。
【０１１３】
ＭＸＦデータにはRandom Index Packが挿入されている。
【０１１４】
１Partition Packに全てのフレーム（以下、１０００フレームとする）が含まれる。
【０１１５】
また、ユーザ入力情報は、以下の構成とする。
【０１１６】
順序情報は映像データ→音声データ→字幕データを示す。
【０１１７】
第一挿入有無情報ＩｓＨｅａｄｅｒはＦａｌｓｅを示す。
【０１１８】
第二挿入有無情報ＩｓＩＴはＴｒｕｅを示す。
【０１１９】
第三挿入有無情報ＩｓＲＩＭはＴｒｕｅを示す。
【０１２０】
フレーム数Ｎは３００フレームを示す。
【０１２１】
つまり、変換ＭＸＦデータは、図１３で示したように、以下のような構成となる。
【０１２２】
エッセンスデータの配置順序：映像データ→音声データ→字幕データ。
【０１２３】
ヘッダにはエッセンスデータが挿入されない。
【０１２４】
ＭＸＦデータにIndex Tableが挿入される。
【０１２５】
ＭＸＦデータにはRandom Index Packが挿入される。  
【０１２６】
１Partition Packに含まれるフレームの数は３００フレームである。
【０１２７】
先ず、図１４を参照して、抽出部１０３の動作について説明する。以下では、抽出部１０３は、図１４に示された項目番号（以下、項番と略す）順に処理を行う。また、図１４では、各項番と図６に示したフローチャートの各ステップとの関係が示されている。なお、丸数字がステップ数を表わしている。
【０１２８】
項番Ｉ１では、抽出部１０３は、入力部１０２から受け付けたＭＸＦデータファイルのHeader Partition Packから識別子およびデータ長を取得する。
【０１２９】
項番Ｉ２では、抽出部１０３は、項番Ｉ１で取得した識別子が主記憶部１０１に記憶されたキーリストに含まれないので、ステップＳ８に進み、読み込み位置を移動する。
【０１３０】
項番Ｉ３では、抽出部１０３は、ＭＸＦデータファイルのPrimer Packから識別子およびデータ長を取得する。
【０１３１】
項番Ｉ４では、抽出部１０３は、項番Ｉ３で取得した識別子がキーリスト内のメタデータの識別子に対応するので、メタデータファイルを生成して主記憶部１０１に保存する。その後、抽出部１０３は、読み込み位置を移動する。
【０１３２】
項番Ｉ５では、抽出部１０３は、ＭＸＦデータファイルのStructural Metadataから識別子およびデータ長を取得する。
【０１３３】
項番Ｉ６では、抽出部１０３は、項番Ｉ５で取得した識別子がキーリスト内のメタデータの識別子に対応するので、メタデータファイルを生成して主記憶部１０１に保存する。その後、抽出部１０３は、読み込み位置を移動する。
【０１３４】
項番Ｉ７では、抽出部１０３は、ＭＸＦデータファイルのStructural Metadataから識別子およびデータ長を取得する。
【０１３５】
項番Ｉ８では、抽出部１０３は、項番Ｉ７で取得した識別子がキーリスト内のメタデータの識別子に対応するので、メタデータファイルを生成して主記憶部１０１に保存する。その後、抽出部１０３は、読み込み位置を移動する。
【０１３６】
項番Ｉ９では、抽出部１０３は、ＭＸＦデータファイルのEssence Container（字幕１）から識別子およびデータ長を取得する。
【０１３７】
項番Ｉ１０では、抽出部１０３は、項番Ｉ９で取得した識別子がキーリスト内の字幕データの識別子に対応するので、字幕データファイルを生成して主記憶部１０１に保存する。
【０１３８】
項番Ｉ１１では、抽出部１０３は、読み込み位置を移動する。
【０１３９】
項番Ｉ１２では、抽出部１０３は、ＭＸＦデータファイルのEssence Container（映像１）から識別子およびデータ長を取得する。
【０１４０】
項番Ｉ１３では、抽出部１０３は、項番Ｉ１２で取得した識別子がキーリスト内の映像データの識別子に対応するので、映像データファイルを生成して主記憶部１０１に保存する。その後、抽出部１０３は、デュレーションをインクリメントする。
【０１４１】
項番Ｉ１４では、抽出部１０３は、読み込み位置を移動する。
【０１４２】
項番Ｉ１５では、抽出部１０３は、ＭＸＦデータファイルのEssence Container（１ｃｈ目の音声データ１）から識別子およびデータ長を取得する。
【０１４３】
項番Ｉ１６では、抽出部１０３は、項番Ｉ１５で取得した識別子がキーリスト内の音声データの識別子に対応するので、音声データファイルを生成して主記憶部１０１に保存する。
【０１４４】
項番Ｉ１７では、抽出部１０３は、読み込み位置を移動する。
【０１４５】
項番Ｉ１８では、抽出部１０３は、ＭＸＦデータファイルのEssence Container（２ｃｈ目の音声データ１）から識別子およびデータ長を取得し、その識別子がキーリスト内の音声データの識別子に対応するので、音声データファイルを生成して主記憶部１０１に保存する。
【０１４６】
項番Ｉ１９では、抽出部１０３は、読み込み位置を移動する。
【０１４７】
項番Ｉ２０では、抽出部１０３は、項番Ｉ９〜１９の動作を１０００フレーム分繰り返す。
【０１４８】
項番Ｉ２１では、抽出部１０３は、ＭＸＦデータファイルのPartition Packから識別子およびデータ長を取得する。
【０１４９】
項番Ｉ２２では、抽出部１０３、項番Ｉ２１で取得した識別子が主記憶部１０１に記憶されたキーリストに含まれないので、ステップＳ８に進み、読み込み位置を移動する。
【０１５０】
項番Ｉ２３では、抽出部１０３は、ＭＸＦデータファイルのIndex Tableから識別子およびデータ長を取得する。
【０１５１】
項番Ｉ２４では、抽出部１０３は、項番Ｉ２３で取得した識別子がキーリストに含まれないので、ステップＳ８に進み、読み込み位置を移動する。
【０１５２】
項番Ｉ２５では、抽出部１０３は、ＭＸＦデータファイルのRandom Index Packから識別子およびデータ長を取得する。
【０１５３】
項番Ｉ２６では、抽出部１０３は、項番Ｉ２３で取得した識別子がキーリストに含まれないので、ステップＳ８に進み、読み込み位置を移動する。
【０１５４】
項番Ｉ２７では、抽出部１０３は、読み込み位置がＭＸＦデータファイルの終端に達したため動作を終了する。なお、本動作により、デュレーションは１０００となる。
【０１５５】
続いて、図１５および図１６を参照して、生成部１０４の動作について説明する。なお、図１５および図１６では、生成部１０４の動作が項番の順で並んでいる。また、各項番と図１１に示したフローチャートの各ステップとの関係が示されている。図１５および図１６では、丸数字がステップ数を表わしている。さらに、出力フレーム数ｃ、状態Ｓおよびループ回数ｐｒｅＦのそれぞれの値が適宜示されている。
【０１５６】
図１５の項番Ｊ１では、生成部１０４は、無限ループ処理を開始する。
【０１５７】
項番Ｊ２では、出力フレーム数ｃが０なので、生成部１０４は、ステップＴ４に進む。
【０１５８】
項番Ｊ３では、状態ＳがＨＥＡＤＥＲを示すので、生成部１０４は、Header Partition Packを生成し出力部１０５に出力する。
【０１５９】
項番Ｊ４では、状態ＳがＨＥＡＤＥＲを示すので、生成部１０４は、主記憶部１０１に記憶されたメタデータファイルを全て出力部１０５に出力する。
【０１６０】
項番Ｊ５では、ループ回数ｐｒｅＦが０なので、生成部１０４は、Index Tableを生成せずに、ステップ９に進む。
【０１６１】
項番Ｊ６では、状態ＳがＨＥＡＤＥＲを示し、第一挿入有無情報ＩｓＨｅａｄｅｒはＦａｌｓｅを示すので、生成部１０４は、ステップＴ１１で状態ＳをＢＯＤＹに設定する。
【０１６２】
項番Ｊ７では、生成部１０４は、ステップＴ２に戻り、そして、出力フレーム数ｃがデュレーションに達していないので、ステップＴ４に進む。
【０１６３】
項番Ｊ８では、状態ＳがＢＯＤＹ示すので、生成部１０４は、Body Partition Packを生成して出力部１０５に出力する。
【０１６４】
項番Ｊ９では、状態ＳがＢＯＤＹ示すので、生成部１０４は、メタデータの出力を行わずにステップＴ７に進む。
【０１６５】
項番Ｊ１０では、ループ回数ｐｒｅＦが０なので、生成部１０４は、Index Tableの出力を行わずに、ステップＴ９に進む。
【０１６６】
項番Ｊ１１では、状態ＳがＢＯＤＹ示すので、生成部１０４は、エッセンスデータの出力処理（Ｎループ処理）であるステップＴ１３に進む。
【０１６７】
項番Ｊ１２では、生成部１０４は、映像データファイルを１フレーム分だけ出力部１０５に出力する。その後、生成部１０４は、音声データファイルを１フレーム分だけ出力部１０５に出力する。そして、生成部１０４は、字幕データファイルを１フレーム分だけ出力部１０５に出力する。
【０１６８】
項番Ｊ１３では、生成部１０４は、出力フレーム数ｃの値をインクリメントする。
【０１６９】
項番Ｊ１４では、生成部１０４は、項番Ｊ１２および２３の処理を３００フレーム分繰り返す。
【０１７０】
項番Ｊ１５では、Ｎループ処理が３００回繰り返されたので、ループ回数ｐｒｅＦが３００となり、出力フレーム数ｃが３００となる。
【０１７１】
項番Ｊ１６では、生成部１０４は、ループ回数ｐｒｅＦがユーザ入力情報内のフレーム数Ｎと等しくなったので、Ｎループ処理を終了し、ステップＴ４に進む。
【０１７２】
項番Ｊ１７では、状態ＳがＢＯＤＹ示すので、生成部１０４は、Body Partition Packを生成して出力部１０５に出力する。
【０１７３】
項番Ｊ１８では、状態ＳがＢＯＤＹ示すので、生成部１０４は、メタデータの出力を行わずにステップＴ７に進む。
【０１７４】
項番Ｊ１９では、ループ回数ｐｒｅＦが３００であり、第二挿入有無情報ＩｓＩＴがＴｒｕｅを示すので、生成部１０４は、ステップＴ８に進む。
【０１７５】
項番Ｊ２０では、生成部１０４は、Index Tableを３００フレーム分生成して出力部１０５に出力する。
【０１７６】
項番Ｊ２１では、状態ＳがＢＯＤＹ示すので、生成部１０４は、エッセンスデータの出力処理であるステップＴ１３に進む。
【０１７７】
項番Ｊ２２では、生成部１０４は、映像データファイルを１フレーム分だけ出力部１０５に出力する。その後、生成部１０４は、音声データファイルを１フレーム分だけ出力部１０５に出力する。そして、生成部１０４は、字幕データファイルを１フレーム分だけ出力部１０５に出力する。
【０１７８】
項番Ｊ２３では、生成部１０４は、出力フレーム数ｃの値をインクリメントする。
【０１７９】
項番Ｊ２４では、生成部１０４は、項番Ｊ２２および２３の処理を３００フレーム分繰り返す。
【０１８０】
項番Ｊ２５では、Ｎループ処理が３００回繰り返されたので、ループ回数ｐｒｅＦが３００となり、出力フレーム数ｃが６００となる。
【０１８１】
項番Ｊ２６では、生成部１０４は、ループ回数ｐｒｅＦがユーザ入力情報内のフレーム数Ｎと等しくなったので、Ｎループ処理を終了し、ステップＴ４に進む。
【０１８２】
項番Ｊ２７では、状態ＳがＢＯＤＹ示すので、生成部１０４は、Body Partition Packを生成して出力部１０５に出力する。
【０１８３】
項番Ｊ２８では、状態ＳがＢＯＤＹ示すので、生成部１０４は、メタデータの出力を行わずにステップＴ７に進む。
【０１８４】
項番Ｊ２９では、ループ回数ｐｒｅＦが３００であり、第二挿入有無情報ＩｓＩＴがＴｒｕｅを示すので、生成部１０４は、ステップＴ８に進む。
【０１８５】
項番Ｊ３０では、生成部１０４は、Index Tableを３００フレーム分生成して出力部１０５に出力する。
【０１８６】
図１６に移り、項番Ｊ３１では、状態ＳがＢＯＤＹ示すので、生成部１０４は、エッセンスデータの出力処理であるステップＴ１３に進む。
【０１８７】
項番Ｊ３２では、生成部１０４は、映像データファイルを１フレーム分だけ出力部１０５に出力する。その後、生成部１０４は、音声データファイルを１フレーム分だけ出力部１０５に出力する。そして、生成部１０４は、字幕データファイルを１フレーム分だけ出力部１０５に出力する。
【０１８８】
項番Ｊ３３では、生成部１０４は、出力フレーム数ｃの値をインクリメントする。
【０１８９】
項番Ｊ３４では、生成部１０４は、項番Ｊ３２および３３の処理を３００フレーム分繰り返す。
【０１９０】
項番Ｊ３５では、Ｎループ処理が３００回繰り返されたので、ループ回数ｐｒｅＦが３００となり、出力フレーム数ｃが９００となる。
【０１９１】
項番Ｊ３６では、生成部１０４は、ループ回数ｐｒｅＦがユーザ入力情報内のフレーム数Ｎと等しくなったので、Ｎループ処理を終了し、ステップＴ４に進む。
【０１９２】
項番Ｊ３７では、状態ＳがＢＯＤＹ示すので、生成部１０４は、Body Partition Packを生成して出力部１０５に出力する。
【０１９３】
項番Ｊ３８では、状態ＳがＢＯＤＹ示すので、生成部１０４は、メタデータの出力を行わずにステップＴ７に進む。
【０１９４】
項番Ｊ３９では、ループ回数ｐｒｅＦが３００であり、第二挿入有無情報ＩｓＩＴがＴｒｕｅを示すので、生成部１０４は、ステップＴ８に進む。
【０１９５】
項番Ｊ４０では、生成部１０４は、Index Tableを３００フレーム分生成して出力部１０５に出力する。
【０１９６】
項番Ｊ４１では、状態ＳがＢＯＤＹ示すので、生成部１０４は、エッセンスデータの出力処理であるステップＴ１３に進む。
【０１９７】
項番Ｊ４２では、生成部１０４は、映像データファイルを１フレーム分だけ出力部１０５に出力する。その後、生成部１０４は、音声データファイルを１フレーム分だけ出力部１０５に出力する。そして、生成部１０４は、字幕データファイルを１フレーム分だけ出力部１０５に出力する。
【０１９８】
項番Ｊ４３では、生成部１０４は、出力フレーム数ｃの値をインクリメントする。
【０１９９】
項番Ｊ４４では、生成部１０４は、項番Ｊ４２および４３の処理を１００フレーム分繰り返す。
【０２００】
項番Ｊ４５では、Ｎループ処理が１００回繰り返されたので、ループ回数ｐｒｅＦが１００となり、出力フレーム数ｃが１０００となる。出力フレーム数ｃがデュレーションと等しくなったので、生成部１０４は、Ｎループ処理を中断して、ステップＴ２に進む。
【０２０１】
項番Ｊ４６では、生成部１０４は、出力フレーム数ｃがデュレーションと等しくなったので、ステップＴ３に進み、状態ＳをＦＯＯＴＥＲに設定する。
【０２０２】
項番Ｊ４７では、状態ＳがＦＯＯＴＥＲなので、生成部１０４は、Footer Partition Packを生成して出力部１０５に出力する。
【０２０３】
項番Ｊ４８では、状態ＳがＦＯＯＴＥＲなので、生成部１０４は、主記憶部１０１に記憶されたメタデータファイルを全て出力部１０５に出力する。
【０２０４】
項番Ｊ４９では、ループ回数ｐｒｅＦが１００なので、生成部１０４は、ステップＴ９に進む。
【０２０５】
項番Ｊ５０では、生成部１０４は、Index Tableを１００フレーム分生成して出力部１０５に出力する。
【０２０６】
項番Ｊ５１では、状態ＳがＦＯＯＴＥＲであり、第三挿入有無情報ＩｓＲＩＭがＴＲＵＥを示すので、生成部１０４は、ステップＴ１８に進む。
【０２０７】
項番Ｊ５２では、生成部１０４は、Random Index Packを生成して出力部１０５に出力する。
【０２０８】
項番Ｊ５３では、生成部１０４は、動作を終了する。
【０２０９】
以上説明したように本実施形態によれば、入力部１０２は、コンテナフォーマットデータであるＭＸＦデータと、ＭＸＦデータ内のエッセンスデータの並び順である配置順序を指定する順序情報とが入力される。抽出部１０３および生成部１０４を含む変換部は、入力部１０２に入力されたＭＸＦデータ内のエッセンスデータを、入力部１０２に入力された順序情報が指定した配置順序に並び変えて変換ＭＸＦデータを生成する。出力部１０５は、変換部にて生成された変換ＭＸＦデータを出力する。
【０２１０】
この場合、ＭＸＦデータ内のエッセンスデータが順序情報にて指定された配置順序に並び変えられた変換ＭＸＦデータが出力される。したがって、ＭＸＦデータの交換先の装置が使用可能な配置順序を有するＭＸＦデータをその交換先の装置に送信することが可能になるので、特定の配置順序を有するコンテナフォーマットデータしか使用できない装置間でも、コンテナフォーマットデータを交換することが可能になる。
【０２１１】
また、本実施形態では、入力部１０２には、ＭＸＦデータに挿入可能なオプショナルデータを挿入するか否かを示す挿入有無情報がさらに入力される。変換部は、入力部１０２に入力された挿入有無情報がオプショナルデータの挿入を示す場合、そのオプショナルデータが挿入された変換ＭＸＦデータを生成する。
【０２１２】
この場合、交換先の装置にオプショナルデータを適宜挿入することが可能になる。
【０２１３】
なお、以上説明したデータ変換装置１００の機能は、その機能を実現するためのプログラムを、コンピュータにて読み取り可能な記録媒体（不図示）に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行させることで、実現されてもよい。
【０２１４】
また、以上説明した実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【０２１５】
例えば、ユーザ入力情報として様々な情報を加えることにより、より精密な変換ＭＸＦデータを生成することができる。
【０２１６】
また、ユーザ入力情報にＭＸＦデータに新たにメタデータを追加する旨の追加要求を加えてもよい。このとき、生成部１０４は、その追加要求にて追加が要求されたメタデータが挿入された変換ＭＸＦデータを生成する。この場合、メタデータを適宜追加することが可能になる。
【符号の説明】
【０２１７】
１００    データ変換装置
１０１    主記憶部
１０２    入力部
１０３    抽出部
１０４    生成部
１０５    出力部
【図１】
0005493972.tif 000002
【図２】
0005493972.tif 000003
【図３】
0005493972.tif 000004
【図４】
0005493972.tif 000005
【図５】
0005493972.tif 000006
【図６】
0005493972.tif 000007
【図７】
0005493972.tif 000008
【図８】
0005493972.tif 000009
【図９】
0005493972.tif 000010
【図１０】
0005493972.tif 000011
【図１１】
0005493972.tif 000012
【図１２】
0005493972.tif 000013
【図１３】
0005493972.tif 000014
【図１４】
0005493972.tif 000015
【図１５】
0005493972.tif 000016
【図１６】
0005493972.tif 000017