(57)【要約】【課題】データアクセスの効率に優れ、サンプルの検索に要する計算量が少なくなるようにメディアデータを多重化することができる多重化装置を提供する。【解決手段】ビデオデータを取得する第１入力部１０１と、オーディオデータを取得する第２入力部１０４と、ビデオデータを解析してビデオサンプルヘッダ情報を取得する第１解析部１０３と、オーディオデータを解析してオーディオサンプルヘッダ情報を取得する第２解析部１０６と、ビデオサンプルヘッダ情報に基づいてビデオデータのパケット化単位を決定した後に、ビデオデータのパケット化単位の先頭に配置されるビデオサンプルの再生開始時間と揃えてオーディオデータのパケット化単位を決定するパケット単位決定部１０７とを備える。【選択図】      図１
2004350250.tif 000002
【特許請求の範囲】
【請求項１】
画像データと、音声データおよびテキストデータのうち少なくとも１つとを含むメディアデータをパケット多重化して多重化データを作成する多重化装置であって、
前記メディアデータを取得するメディアデータ取得手段と、
前記メディアデータ取得手段が取得した前記メディアデータを解析して、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの最小のアクセス単位であるサンプルについて、サンプルの再生開始時間を示す再生開始時間情報を取得する解析手段と、
前記解析手段が取得した前記再生開始時間情報に基づいて、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの各サンプルの再生開始時間を揃えて前記メディアデータをパケット化する単位を決定するパケット単位決定手段と、
前記パケット単位決定手段が決定したパケット化単位で前記メディアデータのヘッダを格納するパケットヘッダ部を作成するパケットヘッダ部作成手段と、
前記パケット単位決定手段が決定したパケット化単位で前記メディアデータの実体データを格納するパケットデータ部を作成するパケットデータ部作成手段と、
前記パケットヘッダ部作成手段が作成したパケットヘッダ部と、前記パケットデータ部作成手段が作成したパケットデータ部とを結合してパケットを作成するパケット化手段とを備える
ことを特徴とする多重化装置。
【請求項２】
前記パケット単位決定手段は、
前記パケット化単位の先頭に配置される前記画像データのサンプルの再生開始時間に、前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルの再生開始時間を揃える
ことを特徴とする請求項１記載の多重化装置。
【請求項３】
前記パケット単位決定手段は、
前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルを、前記パケット化単位の先頭に配置される前記画像データのサンプルの再生開始時間以後であって、前記画像データのサンプルの再生開始時間に最も近い再生開始時間のサンプルとする
ことを特徴とする請求項２記載の多重化装置。
【請求項４】
前記パケット単位決定手段は、
前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルを、前記パケット化単位の先頭に配置される前記画像データのサンプルの再生開始時間以前であって、前記画像データのサンプルの再生開始時間に最も近い再生開始時間のサンプルとする
ことを特徴とする請求項２記載の多重化装置。
【請求項５】
前記画像データは、動画データであり、
前記解析手段は、さらに、
前記メディアデータ取得手段が取得した前記動画データを解析して、前記動画データが、画面内符号化サンプルであることを示すイントラフレーム情報が含まれているサンプルを１つ以上含む場合に、前記イントラフレーム情報を取得し、
前記パケット単位決定手段は、
前記解析手段が前記イントラフレーム情報を取得した場合に、前記イントラフレーム情報と前記再生開始時間情報とに基づいて、前記メディアデータをパケット化する単位を決定する
ことを特徴とする請求項１記載の多重化装置。
【請求項６】
前記パケット単位決定手段は、
前記イントラフレーム情報を含む前記動画データのサンプルを、前記パケット化単位の先頭に配置する
ことを特徴とする請求項５記載の多重化装置。
【請求項７】
前記パケット単位決定手段は、
前記パケット化単位の先頭に配置される前記イントラフレーム情報を含む前記動画データのサンプルの再生開始時間に、前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルの再生開始時間を揃える
ことを特徴とする請求項６記載の多重化装置。
【請求項８】
前記パケットデータ部作成手段は、
前記パケット化単位に含まれる前記メディアデータのサンプルについて、サンプルの再生開始時間が昇順となるようにインタリーブして格納する前記パケットデータ部を作成する
ことを特徴とする請求項１記載の多重化装置。
【請求項９】
前記パケットデータ部作成手段は、
前記パケット化単位に含まれる前記メディアデータのサンプルを、予め設定されている規定を満たすようにインタリーブして格納する前記パケットデータ部を作成する
ことを特徴とする請求項８記載の多重化装置。
【請求項１０】
画像データと、音声データおよびテキストデータのうち少なくとも１つとを含むメディアデータをパケット多重化して多重化データを作成する多重化方法であって、
前記メディアデータを取得するメディアデータ取得ステップと、
前記メディアデータ取得ステップにおいて取得した前記メディアデータを解析して、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの最小のアクセス単位であるサンプルについて、サンプルの再生開始時間を示す再生開始時間情報を取得する解析ステップと、
前記解析ステップにおいて取得した前記再生開始時間情報に基づいて、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの各サンプルの再生開始時間を揃えて前記メディアデータをパケット化する単位を決定するパケット単位決定ステップと、
前記パケット単位決定手ステップにおいて決定したパケット化単位で前記メディアデータのヘッダを格納するパケットヘッダ部を作成するパケットヘッダ部作成ステップと、
前記パケット単位決定ステップにおいて決定したパケット化単位で前記メディアデータの実体データを格納するパケットデータ部を作成するパケットデータ部作成ステップと、
前記パケットヘッダ部作成ステップにおいて作成したパケットヘッダ部と、前記パケットデータ部作成ステップにおいて作成したパケットデータ部とを結合してパケットを作成するパケット化ステップとを含む
ことを特徴とする多重化方法。
【請求項１１】
前記パケット単位決定ステップにおいて、
前記パケット化単位の先頭に配置される前記画像データのサンプルの再生開始時間に、前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルの再生開始時間を揃える
ことを特徴とする請求項１０記載の多重化方法。
【請求項１２】
前記画像データは、動画データであり、
前記解析ステップにおいて、さらに、
前記メディアデータ取得ステップにおいて取得した前記動画データを解析して、前記動画データが、画面内符号化サンプルであることを示すイントラフレーム情報が含まれているサンプルを１つ以上含む場合に、前記イントラフレーム情報を取得し、
前記パケット単位決定ステップにおいて、
前記解析ステップにおいて前記イントラフレーム情報を取得した場合に、前記イントラフレーム情報と前記再生開始時間情報とに基づいて、前記メディアデータをパケット化する単位を決定する
ことを特徴とする請求項１０記載の多重化方法。
【請求項１３】
前記パケット単位決定ステップにおいて、
前記イントラフレーム情報を含む前記動画データのサンプルを、前記パケット化単位の先頭に配置する
ことを特徴とする請求項１２記載の多重化方法。
【請求項１４】
前記パケット単位決定ステップにおいて、
前記パケット化単位の先頭に配置される前記イントラフレーム情報を含む前記動画データのサンプルの再生開始時間に、前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルの再生開始時間を揃えることを特徴とする請求項１３記載の多重化方法。
【請求項１５】
前記パケットデータ部作成ステップにおいて、
前記パケット化単位に含まれる前記メディアデータのサンプルについて、サンプルの再生開始時間が昇順となるようにインタリーブして格納する前記パケットデータ部を作成する
ことを特徴とする請求項１０記載の多重化方法。
【請求項１６】
画像データと、音声データおよびテキストデータのうち少なくとも１つとを含むメディアデータをパケット多重化して多重化データを作成する多重化装置のためのプログラムであって、
前記メディアデータを取得するメディアデータ取得ステップと、
前記メディアデータ取得ステップにおいて取得した前記メディアデータを解析して、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの最小のアクセス単位であるサンプルについて、サンプルの再生開始時間を示す再生開始時間情報を取得する解析ステップと、
前記解析ステップにおいて取得した前記再生開始時間情報に基づいて、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの各サンプルの再生開始時間を揃えて前記メディアデータをパケット化する単位を決定するパケット単位決定ステップと、
前記パケット単位決定手ステップにおいて決定したパケット化単位で前記メディアデータのヘッダを格納するパケットヘッダ部を作成するパケットヘッダ部作成ステップと、
前記パケット単位決定ステップにおいて決定したパケット化単位で前記メディアデータの実体データを格納するパケットデータ部を作成するパケットデータ部作成ステップと、
前記パケットヘッダ部作成ステップにおいて作成したパケットヘッダ部と、前記パケットデータ部作成ステップにおいて作成したパケットデータ部とを結合してパケットを作成するパケット化ステップとを含む多重化方法における各ステップをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項１７】
画像データと、音声データおよびテキストデータのうち少なくとも１つとを含むメディアデータが所定のパケットの単位で多重化されている多重化データを取得して逆多重化する逆多重化装置であって、
前記多重化データを取得する多重化データ取得手段と、
前記多重化データ取得手段が取得した前記多重化データを解析して、前記パケットのヘッダ部を前記多重化データから分離して取得する解析分離手段と、
前記多重化データの逆多重化の開始位置を変更する、あるいは前記多重化データの途中から逆多重化を開始する処理であるランダムアクセスを実行する際に、前記解析分離手段が分離したパケットヘッダ部の先頭に配置されている前記画像データのサンプルのヘッダのみを検索して、前記パケットに含まれる前記画像データのサンプルが画面内符号化サンプルであることを示すイントラフレーム情報が含まれているか否かを判定するランダムアクセス検索手段とを備える
ことを特徴とする逆多重化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像データや音声データ等のメディアデータを多重化する多重化装置、および動画像データや音声データ等のメディアデータが多重化されたビット列を読み込んで逆多重化する逆多重化装置に関する。
【０００２】
【従来の技術】
近年、通信ネットワークの大容量化および伝送技術の進歩により、インターネット上で、動画、音声、テキスト、あるいは、静止画等のマルチメディアコンテンツを含む動画像ファイルをパーソナルコンピュータに配信する動画配信サービスの普及が著しい。また、携帯端末等のいわゆる第３世代の移動体通信システムの規格の標準化を図ることを目的とする国際標準化団体３ＧＰＰ（Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ）で、無線による動画配信に関する規格としてＴＳ２６．２３４（Ｔｒａｎｓｐａｒｅｎｔ  ｅｎｄ−ｔｏ−ｅｎｄ  ｐａｃｋｅｔ  ｓｗｉｔｃｈｅｄ  ｓｔｒｅａｍｉｎｇ  ｓｅｒｖｉｃｅ）が定められる等の動きも見られ、動画配信サービスは、携帯電話機やＰＤＡ等の移動体通信端末への提供の拡大も見込まれている。
【０００３】
動画配信サービスにおいて、動画像ファイルを配信する際には、まず、多重化装置において、動画、静止画、音声およびテキスト等のメディアデータを取り込んで、メディアデータの再生に必要なヘッダ情報とメディアデータの実体データとを多重化して動画像ファイルデータを作成することが必要となるが、この動画像ファイルデータの多重化ファイルフォーマットとして、ＭＰ４ファイルフォーマットが注目されている。
【０００４】
このＭＰ４ファイルフォーマットは、国際標準化団体であるＩＳＯ／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｏｒｇａｎｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｎｓｏｒｔｉｕｍ）  ＪＴＣ１／ＳＣ２９／ＷＧ  １１  において標準化が進められている多重化ファイルフォーマットであり、上記３ＧＰＰのＴＳ２６．２３４でも採用されていることから、広く普及するものと予想されている。
【０００５】
ここで、ＭＰ４ファイルのデータ構造について説明する。なお、このＭＰ４ファイルのデータ構造については、非特許文献１に開示されている。
ＭＰ４ファイルは、ボックスと呼ばれるオブジェクト単位でヘッダ情報やメディアデータの実体データが格納されており、複数のボックスを階層的に配列することによって構成される。
【０００６】
図１８は、従来のＭＰ４ファイルを構成するボックスの構造を説明するための図である。
ボックス９０１は、ボックス９０１のヘッダ情報が格納されるボックスヘッダ部９０２と、ボックス９０１に含まれるデータ（例えば、そのボックスの下の階層のボックスや情報を記述するためのフィールド等）が格納されるボックスデータ格納部９０３とから構成される。
【０００７】
このボックスヘッダ部９０２は、ボックスサイズ９０４、ボックスタイプ９０５、バージョン９０６、フラグ９０７のフィールドを有している。
ボックスサイズ９０４は、このフィールドに割り当てられたバイトサイズも含めてボックス９０１全体のサイズ情報が記述されるフィールドである。
【０００８】
ボックスタイプ９０５は、ボックス９０１の種別を識別するための識別子が記述されるフィールドである。この識別子は、通常４つのアルファベット文字列によって表される。なお、以下、本明細書中において、この識別子によって各ボックスを示す場合がある。
【０００９】
バージョン９０６は、ボックス９０１のバージョンを示すバージョン番号が記述されるフィールドであり、フラグ９０７は、ボックス９０１毎に設定されるフラグ情報が記述されるフィールドである。このバージョン９０６とフラグ９０７は、全てのボックス９０１に必須のフィールドではないので、これらのフィールドを有しないボックス９０１も存在しうる。
【００１０】
このような構造のボックス９０１が複数連なって構成されるＭＰ４ファイルは、ファイルの構成に不可欠な基本部と、必要に応じて使用される拡張部とに大別することができる。まず、ＭＰ４ファイルの基本部について説明する。
図１９は、従来のＭＰ４ファイルの基本部を説明するための図である。
【００１１】
ＭＰ４ファイル９１０の基本部９１１は、ファイルヘッダ部９１２とファイルデータ部９１３とから構成される。
ファイルヘッダ部９１２は、ファイル全体のヘッダ情報、例えば、動画像（ビデオ）データの圧縮符号化方式等の情報が格納される部分であり、ファイルタイプボックス９１４とムービーボックス９１５とから構成される。
【００１２】
ファイルタイプボックス９１４は、“ｆｔｙｐ”の識別子で識別されるボックスであり、ＭＰ４ファイルを識別するための情報が格納される。ＭＰ４ファイルにどのようなメディアデータを格納するかについて、また、どのような圧縮符号化方式を用いた動画像（ビデオ）データや音声（オーディオ）データ等を格納するかについては、標準化団体やサービス事業者が独自に規定することができるため、ＭＰ４ファイルがどの規定に従って作成されたものであるかを識別するための情報を、このファイルタイプボックス９１４に格納する。
【００１３】
ムービーボックス９１５は、“ｍｏｏｖ”の識別子で識別されるボックスであり、ファイルデータ部９１３に格納される実体データのヘッダ情報、例えば、表示時間長等の情報が格納される。
ファイルデータ部９１３は、“ｍｄａｔ”の識別子で識別されるムービーデータボックス９１６によって構成される。なお、このファイルデータ部９１３の代わりに、このＭＰ４ファイル９１０とは異なる外部のファイルを参照することもできる。このように、外部のファイルを参照する場合には、ＭＰ４ファイル９１０の基本部９１１は、ファイルヘッダ部９１２のみから構成されることになる。本明細書では、この外部ファイルの参照をする場合ではなく、ＭＰ４ファイル９１０内に実体データを含む場合について説明する。
【００１４】
ムービーデータボックス９１６は、サンプルと称される単位でメディアデータの実体データを格納するボックスである。このサンプルとは、ＭＰ４ファイルにおける最小のアクセス単位であり、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４  Ｖｉｓｕａｌの圧縮符号化方式によって符号化したビデオデータのＶＯＰ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｐｌａｎｅ）やオーディオデータのフレームに相当するものである。
【００１５】
ここで、従来におけるＭＰ４ファイルの基本部の構造について階層を掘り下げて、ムービーボックス９１５の構造を説明することとする。
図２０は、従来のＭＰ４ファイルにおけるムービーボックスの構造を説明するための図である。
【００１６】
図２０（ａ）に示すように、ムービーボックス９１５は、先に説明したボックスヘッダ部９０２とボックスデータ格納部９０３とから構成されている。そして、ボックスヘッダ部９０２を構成するボックスサイズ９０４のフィールドには、ムービーボックス９１５のサイズ情報が記述され（図２０（ａ）では、“ｘｘｘｘ”とする。）、ボックスタイプ９０５のフィールドには、ムービーボックス９１５の識別子“ｍｏｏｖ”が記述される。
【００１７】
また、ムービーボックス９１５のボックスデータ格納部９０３には、ＭＰ４ファイル９１０の基本部９１１のヘッダ情報が格納されるムービーヘッダボックス９１７や、ビデオトラックやオーディオトラック等、トラック毎のヘッダ情報が格納されるトラックボックス９１８等が格納されている。なお、ここにいうトラックとは、ＭＰ４ファイル９１０に含まれる各メディアのサンプルデータ全体を意味し、動画像や音声やテキスト等のトラックは、それぞれビデオトラック、オーディオトラックやテキストトラック等と称される。また、ＭＰ４ファイル９１０内に同一メディアのデータが複数存在する場合は、同一メディアに対して複数のトラックが存在することになる。具体的に説明すると、例えば、ＭＰ４ファイル９１０内に２種類の動画像データが含まれている場合、２つのビデオトラックが存在することになる。
【００１８】
ムービーヘッダボックス９１７も、先に説明したボックスヘッダ部９０２とボックスデータ格納部９０３とから構成されており、ボックスヘッダ部９０２を構成するボックスサイズ９０４のフィールドには、ムービーヘッダボックス９１７のサイズ情報が記述され（図２０（ａ）では、“ｘｘｘ”とする。）、ボックスタイプ９０５のフィールドには、ムービーヘッダボックス９１７の識別子“ｍｖｈｄ”が記述される。そして、ムービーヘッダボックス９１７のボックスデータ格納部９０３には、ＭＰ４ファイル９１０の基本部９１１に含まれるコンテンツの再生に要する時間長に関する情報等が格納される。
【００１９】
また、トラックボックス９１８のボックスヘッダ部９０２を構成するボックスサイズ９０４のフィールドには、トラックボックス９１８のサイズ情報が記述され（図２０（ａ）では、“ｘｘ”とする。）、ボックスタイプ９０５のフィールドには、トラックボックス９１８の識別子“ｔｒａｋ”が記述される。そして、トラックボックス９１８のボックスデータ格納部９０３には、トラックヘッダボックス９１９が格納されている。
【００２０】
トラックヘッダボックス９１９は、トラック毎のヘッダ情報を記述するためのフィールドを有するボックスであり、“ｔｋｈｄ”の識別子によって識別される。このトラックヘッダボックス９１９のボックスデータ格納部９０３には、トラックの種類を識別するためのトラックＩＤを記述するフィールドや、トラックの再生に要する時間長に関する情報等が記述される。
【００２１】
このように、ムービーボックス９１５には、ボックス９０１が階層的に配列されており、“ｔｒａｋ”で識別されるトラックボックス９１８にビデオやオーディオ等のトラック毎のヘッダ情報が格納されている。そして、このトラックボックス９１８に含まれる下位のボックスにおいて、トラックのサンプル単位のヘッダ情報が格納されている。
【００２２】
図２０（ａ）に示すムービーボックス９１５の構造をツリー状に示すと、図２０（ｂ）のような図が得られる。
すなわち、ムービーボックス９１５の下位のボックス群としてムービーヘッダボックス９１７、トラックボックス９１８が配列され、トラックボックス９１８の下位のボックス群としてトラックヘッダボックス９１９が配列されており、ボックス９０１が階層的に配置されていることがわかる。
【００２３】
ＭＰ４ファイルフォーマットの標準化当初、ＭＰ４ファイル９１０は、上記基本部９１１のみから構成されていた。しかし、メディアデータの情報量が多くなると、サイズが大きくなってしまうので、ストリーミング再生への適用が難しい等の種々の問題があり、ヘッダボックスとデータボックスとの組が複数連なる拡張部の使用を加える改良がなされている。
【００２４】
図２１は、従来における拡張部を含むＭＰ４ファイルの構造を示す図である。
図２１に示すように、上記改良が加えられたＭＰ４ファイル９２０は、基本部９１１と拡張部９２１とから構成される。この拡張部９２１を含むＭＰ４ファイル９２０では、全てのメディアデータを拡張部９２１に格納することができるので、ＭＰ４ファイル基本部９１１のムービーデータボックス９１６を省略することとしてもよい。
【００２５】
拡張部９２１は、所定の単位で区切られたパケット９２２が複数連なって構成される。
このパケット９２２は、ムービーフラグメントボックス９２３とムービーデータボックス９１６とが一対となって構成され、ムービーフラグメントとも称される。
【００２６】
ムービーデータボックス９１６は、上記区切られた所定の単位でトラック毎のサンプルを格納し、ムービーフラグメントボックス９２３は、このムービーデータボックス９１６に対応してヘッダ情報を格納するボックスであり、“ｍｏｏｆ”という識別子によって識別される。このムービーフラグメントボックス９２３の構造について、さらに詳しく説明する。
【００２７】
図２２は、従来におけるムービーフラグメントボックスの構造を説明するための図である。
図２２に示すように、ムービーフラグメントボックス９２３のボックスデータ格納部９０３には、ムービーフラグメントヘッダボックス９２４と複数のトラックフラグメントボックス９２５が格納されている。
【００２８】
ムービーフラグメントヘッダボックス９２４は、“ｍｆｈｄ”の識別子で識別されるボックスであり、ムービーフラグメントボックス９２３全体のヘッダ情報が格納される。
トラックフラグメントボックス９２５は、“ｔｒａｆ”の識別子で識別されるボックスであり、トラック毎のヘッダ情報が格納される。
【００２９】
なお、通常１つのトラックのヘッダ情報に対して、１つのトラックフラグメントボックス９２５が用意されるが、１つのトラックのヘッダ情報に対して、複数のトラックフラグメントボックス９２５が用意されるとしてもよい。このように、１つのトラックのヘッダ情報を複数のトラックフラグメントボックス９２５に分割して格納する際には、トラックフラグメントボックス９２５の先頭サンプルの復号時間が昇順となるように配列される。
【００３０】
そして、このトラックフラグメントボックス９２５のボックスデータ格納部９０３には、トラックフラグメントヘッダボックス９２６と１つ以上のトラックフラグメントランボックス９２７が格納されている。
トラックフラグメントヘッダボックス９２６は、“ｔｆｈｄ”の識別子で識別されるボックスであり、トラックの種類を識別するためのトラックＩＤを記述するフィールドや、サンプルの再生時間長等のデフォルト値に関する情報等を格納する。
【００３１】
トラックフラグメントランボックス９２７は、“ｔｒｕｎ”の識別子で識別されるボックスであり、サンプル単位のヘッダ情報を格納する。図２３を用いて、このトラックフラグメントランボックス９２７について詳しく説明する。
図２３は、従来におけるトラックフラグメントランボックス９２７の構造を説明するための図である。
【００３２】
フラグ９０７は、ボックス９０１毎に設定されるフラグ情報が記述されるフィールドであるが、ここでは、フラグ９０７に続いてデータオフセット９２９からサンプルコンポジションタイムオフセット９３６までの各フィールドがトラックフラグメントランボックス９２７に存在するか否かを示すフラグ情報が記述される。
【００３３】
サンプルカウント９２８は、トラックフラグメントランボックス９２７にどれだけの数のサンプルに関するヘッダ情報が格納されるかを示す情報が記述されるフィールドである。
データオフセット９２９は、トラックフラグメントランボックス９２７にヘッダ情報が格納されているサンプルのうちトラックフラグメントランボックス９２７の先頭に位置するサンプルの実体データが、組となっているムービーデータボックス９１６のどこに格納されているかを示すポインタ情報が記述されるフィールドである。
【００３４】
先頭サンプルフラグ９３０は、トラックフラグメントランボックス９２７の先頭サンプルがランダムアクセス可能なサンプルである場合に、後述するサンプルフラグ９３５のフィールドの値を上書きすることができるフィールドである。ここで、ランダムアクセスとは、例えば、ＭＰ４ファイルの再生装置において、再生の途中でデータの再生位置を１０秒後に移動させたり、データの途中から再生を開始したりする処理動作を意味する。そして、ランダムアクセス可能なサンプルとは、ビデオサンプルのうち、ＭＰ４ファイルの再生装置において、他のフレームのデータを参照することなく単独で復号化できるフレーム、すなわち画面内符号化フレーム（いわゆるイントラフレーム）を構成するサンプルを意味する。なお、オーディオサンプルでは、いずれのサンプルも単独で復号化することができるので、全てのオーディオサンプルがランダムアクセス可能なサンプルといえる。
【００３５】
テーブル９３１は、サンプル毎のヘッダ情報を示すエントリ９３２が、サンプルカウント９２８において示される個数分集積されたものである。
エントリ９３２は、サンプル毎のヘッダ情報を示すフィールドの集まりであり、いずれのフィールドが含まれるかは、上記フラグ９０７によって示される。エントリ９３２に含まれるフィールドには、サンプルの再生時間長が記述されるサンプルデュレーション９３３、サンプルのサイズが記述されるサンプルサイズ９３４、サンプルがランダムアクセス可能であるか否かを示すフラグ情報が記述されるサンプルフラグ９３５、そして、双方向予測を用いたサンプルを扱うために、サンプルの復号時間と表示時間との差分値が記述されるサンプルコンポジションタイムオフセット９３６がある。
【００３６】
なお、これらのフィールドがエントリ９３２に含まれない場合は、各サンプルのヘッダ情報は、トラックフラグメントヘッダボックス９２６や、ムービーフラグメントボックス９１５内のムービーエクステンドボックス（識別子“ｍｖｅｘ”）に、これらのフィールドのデフォルト値が記述されているので、これらのデフォルト値が使用される。
【００３７】
また、トラックフラグメントランボックス９２７には、復号時間の早いサンプルから順にヘッダ情報が記述される。従って、ＭＰ４ファイルを再生する装置がサンプルのヘッダ情報を検索する際には、ファイル中の先頭のトラックフラグメントボックス９２５から順にトラックフラグメントヘッダボックス９２６内のトラックＩＤを参照することで、取得するトラックのヘッダ情報を含むトラックフラグメントボックス９２５を検索し、トラックフラグメントボックス９２５内においても、先頭のトラックフラグメントランボックス９２７から順にサンプルのヘッダ情報を検索することになる。
【００３８】
なお、この拡張部９２１を含むＭＰ４ファイル９２０の場合であっても、復号化時の初期化情報等、トラック全体に必要な情報は、ムービーボックス９１５に格納される。
続いて、このような構造を有する拡張部９２１を含むＭＰ４ファイルの構成例について説明する。
【００３９】
図２４は、従来における拡張部を含むＭＰ４ファイルの拡張部の構成例を示す図である。
図２４では、コンテンツの格納方法について２通りの例を示して説明することとし、コンテンツの再生時間長は、６０秒であるとする。
【００４０】
図２４（ａ）に示すＭＰ４ファイル９４０は、基本部９４１および拡張部９４２の両方にメディアデータを格納する構成になっている。すなわち、基本部９４１のｍｄａｔ＿１（符号９４５）に０〜３０秒までのメディアデータが格納され、拡張部９４２のｍｄａｔ＿２（符号９４７）に３０〜４５秒までのメディアデータが格納され、ｍｄａｔ＿３（符号９４９）に４５〜６０秒までのメディアデータが格納されている。そして、ｍｄａｔ＿１（符号９４５）のヘッダ情報はｍｏｏｖ９４４に格納され、ｍｄａｔ＿２（符号９４７）のヘッダ情報はｍｏｏｆ＿１（符号９４６）に格納され、ｍｄａｔ＿３（符号９４９）のヘッダ情報はｍｏｏｆ＿２（符号９４８）に格納されている。
【００４１】
これに対して、図２４（ｂ）に示すＭＰ４ファイル９５０は、拡張部９５２だけにメディアデータを格納する構成になっている。すなわち、基本部９５１は、ｆｔｙｐ９５３とｍｏｏｖ９５４とから構成されてｍｄａｔを含まず、拡張部９５２のｍｄａｔ＿１（符号９５６）に０〜３０秒までのメディアデータが格納され、ｍｄａｔ＿２（符号９５８）に３０〜６０秒までのメディアデータが格納されている。そして、ｍｄａｔ＿１（符号９５６）のヘッダ情報はｍｏｏｆ＿１（符号９５５）に格納され、ｍｄａｔ＿２（符号９５８）のヘッダ情報はｍｏｏｆ＿２（符号９５７）に格納されている。
【００４２】
ここで、上記ＭＰ４ファイルの拡張部がどのように作成されるかを図２５〜図２７を用いて説明する。
図２５は、従来の多重化装置の構成を示すブロック図である。
多重化装置９６０は、メディアデータを多重化してＭＰ４ファイルの拡張部データを作成する装置である。ここでは、ビデオデータとオーディオデータとを多重化してＭＰ４ファイルの拡張部データを作成するものとする。
【００４３】
第１入力部９６１はビデオデータを多重化装置９６０に取り込み、第１データ蓄積部９６２に蓄積させ、また、第２入力部９６４はオーディオデータを多重化装置９６０に取り込み、第２データ蓄積部９６５に蓄積させる。
第１解析部９６３は、第１データ蓄積部９６２から１サンプルずつビデオデータを読み出して解析し、ビデオサンプルのヘッダ情報をパケット単位決定部９６７に出力する。また、第２階席部９６６は、第２データ蓄積部９６５から１サンプルずつオーディオデータを読み出して解析し、オーディオサンプルのヘッダ情報をパケット単位決定部９６７に出力する。このビデオサンプルヘッダ情報およびオーディオサンプルヘッダ情報には、サンプルのサイズや再生時間長を示す情報が含まれており、ビデオサンプルヘッダ情報には、ビデオサンプルがイントラフレームであるか否かを示す情報も含まれている。
【００４４】
パケット単位決定部９６７は、パケットに含まれるサンプル数が一定となるように、ビデオデータおよびオーディオデータのパケット単位を決定し、取得したサンプルヘッダ情報に基づいて各パケットのヘッダ情報を作成する。
図２６に、従来におけるパケット単位決定部の処理動作フローを示す。ここで、１つのパケットに格納されるサンプルの数をＮとし、この値は予め定められて、多重化装置９６０のメモリ等に保持されている。
【００４５】
まず、第１解析部９６３が１つのビデオサンプルを取得して（Ｓ９０１）、ビデオサンプルヘッダ情報をパケット単位決定部９６７に出力すると、パケット単位決定部９６７は、ビデオサンプルヘッダ情報をパケット作成テーブルに追加する（Ｓ９０２）。
次に、パケット単位決定部９６７は、パケットに含まれるビデオサンプルの数を更新し（Ｓ９０３）、パケットに含まれるビデオサンプルの数がＮになったかどうかを判定する（Ｓ９０４）。
【００４６】
ここで、パケットに含まれるビデオサンプルの数がＮに満たない場合（Ｓ９０４のＮｏ）、上記Ｓ９０１〜Ｓ９０３までの処理が繰り返され、パケットに含まれるビデオサンプルの数がＮになった場合（Ｓ９０４のＹｅｓ）、パケット単位決定部９６７は、Ｎ個のビデオサンプルをパケット化して処理動作を終了する（Ｓ９０５）。
【００４７】
パケット単位決定部９６７は、同様に、オーディオについても上記Ｓ９０１〜Ｓ９０５までの処理動作によって、オーディオサンプルのパケット化を行なう。
そして、全てのサンプルのパケット化が完了するまで、パケット単位決定部９６７は、このフローの処理動作を繰り返す。
【００４８】
図２７に、従来におけるビデオサンプルのヘッダ情報を格納するパケット作成テーブルの一例を示す。このパケット作成テーブル９６８ａには、ビデオサンプル毎に、サンプルのサイズ、サンプルの再生時間長や、そのビデオサンプルがイントラフレームであるか否かを示す画面内符号化フレームフラグに関する情報が記述される。ここでは、パケットに格納される先頭のビデオサンプルは、サイズが３００バイト、再生時間長が３０ｍｓ、画面内符号化フレームでないことが示されており、２番目のビデオサンプルは、画面内符号化フレームであることが示されている。そして、このパケット作成テーブル９６８ａは、パケット単位決定部９６７においてこれらの情報が順次追加され、１パケットに含まれる最後のサンプルとなるＮ番目まで作成されると、パケット作成テーブル蓄積部９６８に出力される。
【００４９】
再び図２５を参照すると、続いて、パケット単位決定部９６７は、パケット作成テーブル９６８ａにＮ個分のサンプルのヘッダ情報を記述した後、パケット作成テーブル９６８ａをパケット作成テーブル蓄積部９６８に出力するとともに、パケットヘッダ作成部９６９にパケット作成信号を出力する。
【００５０】
パケットヘッダ作成部９６９は、パケット作成信号を取得すると、パケット作成テーブル蓄積部９６８に保持されているパケット作成テーブル９６８ａからパケットサンプルヘッダ情報を読み出してｍｏｏｆデータを作成する。また、パケットヘッダ作成部９６９は、作成したｍｏｏｆデータをパケット結合部９７１に出力するとともに、パケットに含まれるサンプルの実体データが第１データ蓄積部９６２および第２データ蓄積部９６５のどこに格納されているかを示すポインタ情報と、サンプルのサイズ情報とを含むｍｄａｔ情報をパケットデータ作成部９７０に出力する。
【００５１】
パケットデータ作成部９７０は、取得したｍｄａｔ情報に基づいて第１データ蓄積部９６２および第２データ蓄積部９６５からサンプルの実体データを読み出してｍｄａｔデータを作成し、ｍｄａｔデータをパケット結合部９７１に出力する。
【００５２】
そして、パケット結合部９７１は、ｍｏｏｆデータとｍｄａｔデータとを結合させて、１パケット分のｍｐ４拡張部データを出力する。
最終的には、出力された１パケット分のｍｐ４拡張部データは、ＭＰ４ファイルを作成する装置に取り込まれ、順次作成されるｍｐ４拡張部データが順番に並べられることによって、ＭＰ４ファイルの拡張部が作成される。その後、このファイル作成装置で、ＭＰ４ファイルの基本部と拡張部とが結合されることによって、ＭＰ４ファイルが作成されることになる。
【００５３】
【非特許文献１】
ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ、Ｎ４８５４「Ｐｒｏｐｏｓｅｄ  Ｒｅｖｉｓｅｄ  Ｃｏｍｍｏｎ  Ｔｅｘｔ  Ｍｕｌｔｉｍｅｄｉａ  Ｆｉｌｅ  Ｆｏｒｍａｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」、２００２年３月２１日
【００５４】
【発明が解決しようとする課題】
しかしながら、このような従来の多重化装置によって多重化されたＭＰ４ファイルの拡張部を再生する際には、以下のような問題がある。
その１つとして、まず、従来の多重化装置では、パケットに含まれるサンプルの再生開始時間を考慮することなく多重化が行なわれるので、例えば、ある再生開始時間のビデオサンプルと同期が図られているオーディオサンプルが、ビデオサンプルと異なるパケットに格納される場合がある。そのため、ＭＰ４ファイルの再生装置側で、再生時のデータアクセスの効率が悪化するという問題がある。
【００５５】
また、従来の多重化装置では、パケットに含まれるサンプルの数を基準として多重化を行なうので、ランダムアクセス可能なサンプル、すなわちイントラフレームに相当するビデオサンプルをパケット内のどこに格納するかは、パケット毎にまちまちとなることが多い。そのため、ＭＰ４ファイルの再生装置側で、ランダムアクセス可能なサンプルを検索する際に、パケットに含まれる全てのビデオサンプルを検索しなければならず、サンプルの検索に要する計算量が膨大となってしまうという問題もある。
【００５６】
これらの問題について、図２８を用いてさらに詳しく説明する。
図２８は、従来における多重化装置の問題点を説明するための図である。
図２８（ａ）では、再生時のデータアクセスの効率が悪化するという第１の問題を明らかにする。
【００５７】
各ｍｄａｔに含まれるサンプルのヘッダ情報は、直前のｍｏｏｆに格納されており、ｍｄａｔ＿１に格納されている再生開始時間２０ｓのビデオサンプルに関するヘッダ情報は、ｍｏｏｆ＿１に先頭サンプルとして格納されており、ｍｄａｔ＿１０に格納されている再生開始時間２０ｓのオーディオサンプルに関するヘッダ情報は、ｍｏｏｆ＿１０に最終サンプルとして格納されている。
【００５８】
従って、ＭＰ４ファイルの再生装置が、コンテンツの再生時間２０ｓの部分を再生しようとすれば、ｍｏｏｆ＿１に格納されているビデオサンプルのヘッダ情報を取得してからオーディオサンプルのヘッダ情報を取得するまでにｍｏｏｆ＿１０まで検索しなければならず、データアクセスの効率が悪くなってしまう。
【００５９】
図２８（ｂ）では、ランダムアクセス可能なサンプルの検索に要する計算量が膨大となってしまうという第２の問題を明らかにする。
ｍｄａｔ＿１の最後に格納されているｉ番目のランダムアクセス可能なビデオサンプルに関するヘッダ情報は、ｍｏｏｆ＿１に最終サンプルとして格納されており、ｍｄａｔ＿３の最後に格納されているｉ＋１番目のランダムアクセス可能なビデオサンプルに関するヘッダ情報は、ｍｏｏｆ＿３に最終サンプルとして格納されている。
【００６０】
従って、ＭＰ４ファイルの再生装置が、ランダムアクセスを行なおうとすれば、ｍｏｏｆの最終サンプルまで検索しなければならず、検索に必要な計算量が膨大となってしまう。
さらに、これら第１および第２の問題に加えて、従来の多重化装置で作成されるＭＰ４ファイルの拡張部の構成では、サンプルデータを取得するためのシークの回数が多くなるため、光ディスク再生機器等のシーク速度が遅い機器におけるランダムアクセス再生に適さないという問題もある。
【００６１】
この問題について、再び図２８（ｂ）を用いて説明する。ｍｏｏｆ＿１のｉ番目のランダムアクセス可能なビデオサンプルにランダムアクセスしようとする場合、再生装置は、まず、ｉ番目のランダムアクセス可能なビデオサンプルのヘッダ情報を取得するために、ｍｏｏｆ＿１の先頭位置まで読み出しポインタを移動させ、ｍｏｏｆ＿１内を順に解析する。このとき、１回目のシークが必要となる。
【００６２】
その後、再生装置は、ｍｄａｔ＿１のどこにｉ番目のランダムアクセス可能なビデオサンプルの実体データが格納されているかを取得し、実体データの開始位置へ読み出しポインタを移動させる。このとき、ｉ番目のランダムアクセス可能なビデオサンプルの実体データがｍｄａｔ＿１の終端に格納されているため、ｍｏｏｆ＿１の先頭位置から連続的に読み出しポインタを移動させてサンプルの実体データを取得できず、２回目のシークが必要となる。
【００６３】
すなわち、ｍｏｏｆ＿１の先頭位置と実体データの開始位置に読み出しポインタを移動させる時にそれぞれシーク動作を行なうことになるので、再生装置がシーク速度の遅い機器である場合は、ランダムアクセス再生に時間がかかってしまう。特に、このｉ番目のランダムアクセス可能なビデオサンプルと同期が図られているオーディオサンプル等の実体データが異なるパケット等、ビデオサンプルの実体データと離れて格納されている場合には、さらにシーク動作が必要となり、ランダムアクセス再生を迅速に行なうことが困難となる。
【００６４】
そこで、本発明は、これらの問題点に鑑みてなされたものであり、メディアデータの多重化ファイルが再生時のデータアクセスの効率に優れ、サンプルの検索に要する計算量が少なくなるようにメディアデータを多重化することができる多重化装置を提供することを目的とする。
【００６５】
また、多重化ファイルがシーク速度の遅い機器におけるランダムアクセス再生に適するようにメディアデータを多重化することができる多重化装置を提供することを目的とする。
さらに、このような多重化装置で多重化されたファイルを取得して、多重化分離することができる逆多重化装置を提供することを目的とする。
【００６６】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係る多重化装置は、画像データと、音声データおよびテキストデータのうち少なくとも１つとを含むメディアデータをパケット多重化して多重化データを作成する多重化装置であって、前記メディアデータを取得するメディアデータ取得手段と、前記メディアデータ取得手段が取得した前記メディアデータを解析して、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの最小のアクセス単位であるサンプルについて、サンプルの再生開始時間を示す再生開始時間情報を取得する解析手段と、前記解析手段が取得した前記再生開始時間情報に基づいて、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの各サンプルの再生開始時間を揃えて前記メディアデータをパケット化する単位を決定するパケット単位決定手段と、前記パケット単位決定手段が決定したパケット化単位で前記メディアデータのヘッダを格納するパケットヘッダ部を作成するパケットヘッダ部作成手段と、前記パケット単位決定手段が決定したパケット化単位で前記メディアデータの実体データを格納するパケットデータ部を作成するパケットデータ部作成手段と、前記パケットヘッダ部作成手段が作成したパケットヘッダ部と、前記パケットデータ部作成手段が作成したパケットデータ部とを結合してパケットを作成するパケット化手段とを備えることを特徴とする。
【００６７】
これによって、メディアデータに含まれる画像データと、音声データおよびテキストデータの再生開始時間が揃えられてパケットに格納されることとなるので、再生装置側で再生時におけるデータアクセスの効率を向上させることができる。
【００６８】
また、本発明に係る多重化装置は、前記画像データは、動画データであり、前記解析手段は、さらに、前記メディアデータ取得手段が取得した前記動画データを解析して、前記動画データが、画面内符号化サンプルであることを示すイントラフレーム情報が含まれているサンプルを１つ以上含む場合に、前記イントラフレーム情報を取得し、前記パケット単位決定手段は、前記解析手段が前記イントラフレーム情報を取得した場合に、前記イントラフレーム情報と前記再生開始時間情報とに基づいて、前記メディアデータをパケット化する単位を決定し、前記イントラフレーム情報を含む前記動画データのサンプルを、前記パケット化単位の先頭に配置するのが好ましい。
【００６９】
これによって、パケットに含まれる先頭のビデオサンプルは、イントラフレームのビデオサンプルとなるので、再生装置側でランダムアクセス時におけるサンプルの検索に要する計算量を大幅に削減することができる。
さらに、本発明に係る多重化装置は、前記パケットデータ部作成手段は、前記パケット化単位に含まれる前記メディアデータのサンプルについて、サンプルの再生開始時間が昇順となるようにインタリーブして格納する前記パケットデータ部を作成するのがより好ましい。
【００７０】
これによって、ビデオサンプルとオーディオサンプルとが再生開始時間が昇順となってｍｄａｔに格納されるので、再生装置側でのランダムアクセス時におけるシーク動作の回数を少なくすることができ、シーク速度の遅い再生装置でも迅速なランダムアクセス再生を実現することができる。
【００７１】
なお、本発明は、このような多重化装置として実現することができるだけでなく、このような多重化装置が備える特徴的な手段をステップとする多重化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【００７２】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、本実施の形態におけるビデオデータとして、ＭＰＥＧ−４  Ｖｉｓｕａｌの符号化データを用いることとし、本実施の形態におけるオーディオデータとして、ＭＰＥＧ−４  Ａｕｄｉｏの符号化データを用いることとする。そして、本実施の形態では、主に、ビデオデータとオーディオデータとを多重化する装置について説明するが、テキストデータ等のその他のメディアデータの多重化について排除することを意図するものではない。
【００７３】
（実施の形態１）
まず、本発明の実施の形態１に係る多重化装置について、図１から図５を参照しながら説明する。
図１は、本発明の実施の形態１に係る多重化装置の機能的な構成を示すブロック図である。
この多重化装置１００は、ビデオデータやオーディオデータを多重化してＭＰ４ファイルの拡張部データを作成する装置であり、第１入力部１０１、第１データ蓄積部１０２、第１解析部１０３、第２入力部１０４、第２データ蓄積部１０５、第２データ解析部１０６、パケット単位決定部１０７、パケット作成テーブル蓄積部１１１、パケットヘッダ作成部１１２、パケットデータ作成部１１３およびパケット結合部１１４を備える。
【００７４】
第１入力部１０１は、符号化されたビデオデータを画像符号化装置等から多重化装置１００内に取り込むインターフェースであり、取得したビデオ入力データを順次、第１データ蓄積部１０２に蓄積させる。
第１データ蓄積部１０２は、ビデオ入力データを一時的に保持するキャッシュメモリやＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等である。
【００７５】
第１解析部１０３は、第１データ蓄積部１０２に保持されているビデオ入力データのうちビデオサンプル１つ分のデータであるビデオサンプルデータを読み出して解析し、ビデオサンプルのヘッダ情報を出力する処理部であり、ＣＰＵやメモリによって実現される。なお、この第１解析部１０３において出力されるビデオサンプルヘッダ情報には、ビデオサンプルのサイズ、再生時間長およびイントラフレームであるか否かを示す情報が含まれる。さらに、このビデオサンプルヘッダ情報には、双方向予測を用いたサンプルの場合、復号時間と表示時間の差分情報も含まれる。
【００７６】
第２入力部１０４は、符号化されたオーディオデータを音声符号化装置等から多重化装置１００内に取り込むインターフェースであり、取得したオーディオ入力データを順次、第２データ蓄積部１０５に蓄積させる。
第２データ蓄積部１０５は、オーディオ入力データを一時的に保持するキャッシュメモリやＲＡＭ等である。
【００７７】
第２解析部１０６は、第２データ蓄積部１０５に保持されているオーディオ入力データのうちオーディオサンプル１つ分のデータであるオーディオサンプルデータを読み出して解析し、オーディオサンプルのヘッダ情報を出力する処理部であり、ＣＰＵやメモリによって実現される。なお、この第２解析部１０６において出力されるオーディオサンプルヘッダ情報には、オーディオサンプルのサイズおよび再生時間長を示す情報が含まれている。
【００７８】
パケット単位決定部１０７は、パケットに含まれるビデオサンプルおよびオーディオサンプルのヘッダ情報を集積させて、パケットに含まれるビデオサンプルの再生開始時間とオーディオサンプルの再生開始時間とが揃うように、ビデオデータおよびオーディオデータのパケット単位を決定する処理部であり、ＣＰＵやメモリによって実現される。また、パケット単位決定部１０７は、決定したパケット単位分のサンプルヘッダ情報の集まりをパケット作成テーブルとしてパケット作成テーブル蓄積部１１１に出力するとともに、パケット単位の決定後にパケットヘッダの作成を指示するパケット作成信号をパケットヘッダ作成部１１２に出力する。そして、このパケット単位決定部１０７は、パケット単位を時間単位で調整する時間調整部１０８と、ビデオデータのパケット単位を決定するビデオパケット単位決定部１０９と、オーディオデータのパケット単位を決定するオーディオパケット単位決定部１１０とを備える。
【００７９】
時間調整部１０８は、パケットが定められた時間単位内に納まるように、パケットの終了時間を調整する処理部である。この時間調整部１０８は、まず、予め定められた時間（ターゲットタイム）をビデオパケット単位決定部１０９に出力する。なお、このターゲットタイムは、ユーザが指定することとしてもよい。この場合、多重化装置１００は、キーボード等の入力装置を介してターゲットタイムの指定を取得し、入力装置から指定されたターゲットタイムを示すターゲットタイム入力信号が時間調整部１０８に出力されることとなる。
【００８０】
ビデオパケット単位決定部１０９は、第１解析部１０３からビデオサンプルヘッダ情報を取得してビデオデータのパケット単位を決定する処理部である。
このビデオパケット単位決定部１０９は、時間調整部１０８からターゲットタイムを、また、第１解析部１０３からビデオサンプルヘッダ情報を取得して、ビデオデータがターゲットタイム内のパケットに納まるように、各ビデオサンプルヘッダ情報に含まれる各ビデオサンプルの再生時間長をカウントしながら、パケットに含まれる最後のビデオサンプルのヘッダ情報まで順次ビデオパケット作成テーブルに追加していく。ビデオパケット単位決定部１０９は、パケットに含まれる最後のビデオサンプルのヘッダ情報をビデオパケット作成テーブルに追加すると、そのパケットに含まれる最初のビデオサンプルの再生開始時間とそのパケットに含まれるビデオサンプルの再生時間長の総和とを示すビデオサンプル再生時間情報をオーディオパケット単位決定部１１０に出力する。
【００８１】
オーディオパケット単位決定部１１０は、第２解析部１０６から取得したオーディオサンプルヘッダ情報を取得してオーディオデータのパケット単位を決定する処理部である。
このオーディオパケット単位決定部１１０は、ビデオパケット単位決定部１０９からビデオサンプル再生時間情報を、また、第２解析部１０６からオーディオサンプルヘッダ情報を取得して、パケットの先頭に、そのパケットに含まれる先頭のビデオサンプルの再生開始時間と同一または近似する再生開始時間のオーディオサンプルを配置し、各オーディオサンプルヘッダ情報に含まれる各オーディオサンプルの再生時間長をカウントしながら、そのパケットに含まれるオーディオサンプルの再生時間長の総和が、そのパケットに含まれるビデオサンプルの再生時間長の総和と同一または近似するように、そのパケットに含まれる最後のオーディオサンプルを配置する。
【００８２】
なお、ここで、ビデオサンプルの再生開始時間と近似する再生開始時間のオーディオサンプルとは、ビデオサンプルの再生開始時間以降であって、最も早い再生開始時間のオーディオサンプル、または、ビデオサンプルの再生開始時間以前であって、最も遅い再生開始時間のオーディオサンプルを意味する。
【００８３】
その後、オーディオパケット単位決定部１１０は、パケットに含まれる先頭のオーディオサンプルから最後のオーディオサンプルまでのオーディオサンプルヘッダ情報を順次オーディオパケット作成テーブルに追加する。
パケット作成テーブル蓄積部１１１は、パケット単位決定部１０７から出力されるビデオパケット作成テーブルおよびオーディオパケット作成テーブルを一時的に保持するキャッシュメモリやＲＡＭ等である。
【００８４】
パケットヘッダ作成部１１２は、パケットのヘッダ情報が格納されるパケットヘッダ部（ｍｏｏｆ）を作成する処理部であり、ＣＰＵやメモリによって実現される。
このパケットヘッダ作成部１１２は、パケット単位決定部１０７からパケット作成信号を取得すると、パケット作成テーブル蓄積部１１１からパケット作成テーブルを参照してパケットサンプルヘッダ情報を読み出してｍｏｏｆデータを作成し、パケット結合部１１４に出力する。
【００８５】
また、パケットヘッダ作成部１１２は、パケットに含まれるビデオサンプルおよびオーディオサンプルの実体データが、第１データ蓄積部１０２および第２データ蓄積部１０５のどこに格納されているかを示すポインタ情報や、サンプルのサイズを示すサンプルサイズ情報や、パケットデータ部（ｍｄａｔ）の作成を指示する信号が含まれるｍｄａｔ情報をパケットデータ作成部１１３に出力する。
【００８６】
なお、このパケットヘッダ作成部１１２は、ｍｏｏｆを作成する際に、例えば、ＡＭＲ（Ａｄｖａｎｃｅｄ  Ｍｕｌｔｉ  Ｒａｔｅ  ＣＯＤＥＣ）のような、データの途中で符号化レートの切替が発生する符号化方式によって符号化されたメディアデータについて、符号化レートに応じてヘッダ情報を異なるｔｒａｆに格納することもできる。
【００８７】
パケットデータ作成部１１３は、パケットの実体データが格納されるパケットデータ部（ｍｄａｔ）を作成する処理部であり、ＣＰＵやメモリによって実現される。
このパケットデータ作成部１１３は、パケットヘッダ作成部１１２からｍｄａｔ情報を取得すると、ｍｄａｔ情報に含まれるポインタ情報とサンプルサイズ情報とに基づいて、第１データ蓄積部１０２からパケットに含まれるビデオサンプルのビデオ実体データを読み出し、第２データ蓄積部１０５からパケットに含まれるオーディオサンプルのオーディオ実体データを読み出してｍｄａｔデータを作成し、パケット結合部１１４に出力する。
【００８８】
パケット結合部１１４は、ｍｏｏｆデータとｍｄａｔデータとを結合させて、１パケット分のｍｐ４拡張部データを作成する処理部であり、ＣＰＵやメモリによって実現される。このパケット結合部１１４は、パケットヘッダ作成部１１２からｍｏｏｆデータを取得し、パケットデータ作成部１１３からｍｄａｔデータを取得して、ｍｏｏｆデータとｍｄａｔデータとを結合させて１パケット分のｍｐ４拡張部データを作成し、順次作成したｍｐ４拡張部データをＭＰ４ファイルを作成する装置に出力する。
【００８９】
このように構成される多重化装置１００において、ＭＰ４ファイルの拡張部が作成される処理手順について図２を用いて説明する。
図２は、多重化装置１００の処理動作を示すフロー図である。
まず、第１入力部１０１および第２入力部１０４は、多重化装置１００内にそれぞれビデオデータおよびオーディオデータを取り込むと（Ｓ１００）、第１入力部１０１はビデオ入力データを第１データ蓄積部１０２に蓄積させ、第２入力部１０４はオーディオ入力データを第２データ蓄積部１０５に蓄積させる。
【００９０】
次に、第１解析部１０３は、第１データ蓄積部１０２からビデオサンプルデータを読み出して解析し、ビデオサンプルヘッダ情報をパケット単位決定部１０７のビデオパケット単位決定部１０９に出力する。そして、ビデオパケット単位決定部１０９は、第１解析部１０３から取得したビデオサンプルヘッダ情報と時間調整部１０８から取得したターゲットタイムとに基づいてビデオデータのパケット単位を決定する（Ｓ１１０）。なお、ビデオパケット単位決定部１０９がビデオデータのパケット単位を決定する処理動作については、詳しく後述する。
【００９１】
その後、ビデオパケット単位決定部１０９は、パケット単位が決定されたパケットに含まれるビデオサンプルの再生時間情報をオーディオパケット単位決定部１１０に出力する（Ｓ１２０）。
そして、オーディオパケット単位決定部１１０は、ビデオパケット単位決定部１０９から取得したビデオサンプルの再生時間情報に基づいて、オーディオデータのパケット単位を決定する（Ｓ１３０）。このとき、オーディオパケット単位決定部１１０は、パケットに含まれる先頭のオーディオサンプルの再生開始時間が、パケットに含まれる先頭のビデオサンプルの再生開始時間と同一またはこれに近似するように、パケット単位を決定する。
【００９２】
オーディオパケット単位決定部１１０がオーディオデータのパケット単位を決定すると、パケット単位決定部１０７は、パケット作成テーブルをパケット作成テーブル蓄積部１１１に出力し、パケット作成信号をパケットヘッダ作成部１１２に出力する。
【００９３】
その後、パケットヘッダ作成部１１２は、決定された単位でｍｏｏｆデータを作成してパケット結合部１１４に出力し、また、パケットデータ作成部１１３は、決定された単位でｍｄａｔデータを作成してパケット結合部１１４に出力し、パケット結合部１１４がｍｏｏｆデータとｍｄａｔデータとを結合させて、決定された単位で１パケットを作成し（Ｓ１４０）、１パケット分のｍｐ４拡張部データとして出力する。
【００９４】
１パケットを作成し終えると、多重化装置１００は、第１入力部１０１および第２入力部１０４から、まだ入力されるデータがあるか否かを判断する（Ｓ１５０）。ここで、入力データがある場合（Ｓ１５０のＮｏ）、多重化装置１００は、バッファメモリ、すなわち第１データ蓄積部１０２、第２データ蓄積部１０５およびパケット作成テーブル蓄積部１１１に保持されているデータのうち、既にパケット化が終了したデータをクリアして（Ｓ１６０）、上記Ｓ１１０からＳ１５０までの処理動作を繰り返す。
【００９５】
一方、入力データがない場合（Ｓ１５０のＹｅｓ）、多重化装置１００は、ＭＰ４ファイルの拡張部の作成処理を終了する。
このように、多重化装置１００は、まずビデオデータのパケット単位を決定した後にオーディオデータのパケット単位を決定して、メディアデータの多重化を行なうことによって、ＭＰ４ファイルの拡張部を作成する。
【００９６】
ここで、図２のステップＳ１１０において、ビデオパケット単位決定部１０９がビデオデータのパケット単位を決定する処理動作について詳しく説明する。
図３は、ビデオパケット単位決定部１０９の処理動作を示すフロー図である。
このフローに先立ってビデオパケット単位決定部１０９は、時間調整部１０８からターゲットタイムを取得しておく。
【００９７】
そして、ビデオパケット単位決定部１０９は、第１解析部１０３からビデオサンプルヘッダ情報を取得すると（Ｓ１１１）、ビデオサンプルヘッダ情報をビデオパケット作成テーブルに追加する（Ｓ１１２）。
このとき、ビデオパケット単位決定部１０９は、ビデオサンプルヘッダ情報に含まれるビデオサンプルの再生時間長の合計、すなわちパケットに含まれるビデオデータの総再生時間が、先に取得したターゲットタイムになったか、あるいは、ターゲットタイムを超えたか否かを判定する（Ｓ１１３）。
【００９８】
パケットに含まれるビデオデータの総再生時間がターゲットタイムに至っていない場合（Ｓ１１３のＮｏ）、ビデオパケット単位決定部１０９は、次のビデオサンプルヘッダ情報を取得して（Ｓ１１１）、Ｓ１１２とＳ１１３の処理動作を繰り返す。
【００９９】
パケットに含まれるビデオデータの総再生時間がターゲットタイムに至っている場合（Ｓ１１３のＹｅｓ）、ビデオパケット単位決定部１０９は、ビデオパケット作成テーブルに最後に追加したビデオサンプルヘッダ情報が指し示すビデオサンプルを、パケットに含まれる最後のビデオサンプルに決定し（Ｓ１１４）、パケット単位を決定する処理動作を終了する。
【０１００】
続いて、図２のステップＳ１３０において、オーディオパケット単位決定部１１０がオーディオデータのパケット単位を決定する処理動作について詳しく説明する。
図４は、オーディオパケット単位決定部１１０の処理動作を示すフロー図である。
【０１０１】
このフローに先立って、オーディオパケット単位決定部１１０は、ビデオパケット単位決定部１０９からビデオサンプル再生時間情報を取得しておく。
そして、オーディオパケット単位決定部１１０は、第２解析部１０６からオーディオサンプルヘッダ情報を取得すると（Ｓ１３１）、先に取得したビデオサンプル再生時間情報を参照して（Ｓ１３２）、パケットに含まれる先頭のビデオサンプルの再生開始時間を読み出し、パケットに含まれる先頭のビデオサンプルの再生開始時間と同一または近似する再生開始時間のオーディオサンプルを、そのパケットのオーディオ先頭サンプルに決定する（Ｓ１３３）。
【０１０２】
オーディオパケット単位決定部１１０は、パケットに含まれるオーディオ先頭サンプルを決定すると、オーディオサンプルヘッダ情報を順次取得して（Ｓ１３４）、オーディオサンプルヘッダ情報をオーディオパケット作成テーブルに追加していく（Ｓ１３５）。
【０１０３】
その後、オーディオパケット単位決定部１１０は、ビデオサンプル再生時間情報を参照して、パケットに含まれるビデオサンプルの再生時間長の総和を読み出し（Ｓ１３６）、パケットに含まれるオーディオサンプルの再生時間長の総和が、パケットに含まれるビデオサンプルの再生時間長の総和と同一または近似する値となるように、そのパケットに含まれる最後のオーディオサンプルを決定し（Ｓ１３７）、パケット単位を決定する処理動作を終了する。
【０１０４】
このような多重化装置１００による処理動作を経て作成されるＭＰ４ファイルの拡張部は、再生装置側におけるデータアクセスの効率に優れている。その理由について、図５に多重化装置１００が作成するＭＰ４ファイル拡張部のデータ構造の例を示して説明する。
【０１０５】
図５（ａ）に示すＭＰ４ファイル拡張部２００は、複数のパケットから構成され、ＭＰ４ファイルの基本部に結合されている。
ＭＰ４ファイル拡張部２００を構成する各パケットは、パケットヘッダ部のｍｏｏｆと、パケットデータ部のｍｄａｔから構成されている。ここで、パケット＿１は、ＭＰ４ファイル拡張部２００の１番目のパケットであることを意味し、パケット＿１に含まれるｍｏｏｆは、ｍｏｏｆ＿１、パケット＿１に含まれるｍｄａｔは、ｍｄａｔ＿１と示す。また、図５（ａ）の各ｍｄａｔ中に示す“Ｖ”は、ビデオサンプルであることを指し示すものであり、図５（ａ）の各ｍｄａｔ中に示す“Ａ”は、オーディオサンプルであることを指し示すものである（以下、他の図においても同様とする。）。
【０１０６】
ＭＰ４ファイル拡張部２００のｍｄａｔ＿１には、再生開始時間が２０秒のビデオサンプルがビデオ先頭サンプルとして格納されており、同じく再生開始時間が２０秒のオーディオサンプルがオーディオ先頭サンプルとして格納されている。また、ｍｄａｔ＿２にも、再生開始時間が３０秒のビデオサンプルがビデオ先頭サンプルとして格納されており、同じく再生開始時間が３０秒のオーディオサンプルがオーディオ先頭サンプルとして格納されている。
【０１０７】
このように、１つのパケットにビデオサンプルとオーディオサンプルとを、各々の再生開始時間を揃えて格納することによって、再生装置側で、ＭＰ４ファイル拡張部２００を再生する時に、データアクセスに要する計算量を大幅に削減することができる。
【０１０８】
また、各メディアデータの再生開始時間が揃えられてパケットに格納されているので、任意の数のパケットでデータを分割して、ＭＰ４ファイルデータのサイズを所望のサイズに調整することもできる。
ここで、多重化装置１００が作成するＭＰ４ファイル拡張部は、図５（ｂ）に示すデータ構造としてもよい。
【０１０９】
図５（ｂ）は、多重化装置１００が作成するＭＰ４ファイル拡張部のデータ構造の第２例を示す図である。
図５（ｂ）に示すＭＰ４ファイル拡張部２１０のｍｄａｔ＿１には、再生開始時間が２０秒のビデオサンプルがビデオ先頭サンプルとして格納されており、ｍｄａｔ＿２には、再生開始時間が２０秒のオーディオサンプルがオーディオ先頭サンプルとして格納されている。また、ｍｄａｔ＿３には、再生開始時間が３０秒のビデオサンプルがビデオ先頭サンプルとして格納されており、ｍｄａｔ＿４には、再生開始時間が３０秒のオーディオサンプルがオーディオ先頭サンプルとして格納されている。
【０１１０】
このように、１つのパケットにビデオまたはオーディオのいずれか一方のデータを格納して、ビデオデータを格納するパケットと、再生開始時間が揃えられたオーディオデータを格納するパケットを交互に配列することによっても、再生装置側で、ＭＰ４ファイル拡張部２００を再生する時に、データアクセスに要する計算量を大幅に削減することができる。
【０１１１】
以上説明したように、本実施の形態１に係る多重化装置１００によれば、各メディアデータの再生開始時間を揃えて、各メディアデータをパケット化するので、再生装置側におけるデータアクセスの効率化を図ることができる。
【０１１２】
（実施の形態２）
次に、本発明の実施の形態２に係る多重化装置について、図６から図９を参照しながら説明する。
本実施の形態２に係る多重化装置は、主な構成要素において、上記実施の形態１に係る多重化装置１００と共通するが、パケット単位決定部において特徴的な構成を備えており、この点において上記実施の形態１に係る多重化装置１００と異なる。以下、この異なる点を中心に説明する。なお、上記実施の形態１と同一の構成要素については、同一の符号を用いることとし、説明を省略する。
【０１１３】
図６は、本実施の形態２に係る多重化装置のパケット単位決定部の機能的な構成を示すブロック図である。
このパケット単位決定部１１７は、パケットに含まれるビデオサンプルおよびオーディオサンプルのヘッダ情報を集積させて、各々の再生開始時間が揃うように、かつ、パケットに含まれる先頭のビデオサンプルがイントラフレームとなるように、ビデオデータおよびオーディオデータのパケット単位を決定する処理部であり、時間調整部１０８と、ビデオパケット単位決定部１１９と、オーディオパケット単位決定部１１０とを備える。
【０１１４】
ビデオパケット単位決定部１１９は、第１解析部１０３からビデオサンプルヘッダ情報を取得してビデオデータのパケット単位を、時間またはイントラフレームのいずれかを基準に決定する処理部であり、時間基準単位調整部１２０と、Ｉフレーム基準単位調整部１２１とを備える。
【０１１５】
時間基準単位調整部１２０は、時間調整部１０８から出力されるターゲットタイムに基づいてビデオデータのパケット単位を調整する処理部であり、各ビデオサンプルヘッダ情報の再生時間長をカウントして、パケットが定められた時間単位となるようにパケット単位を調整する。
【０１１６】
Ｉフレーム基準単位調整部１２１は、第１解析部１０３から出力されるビデオサンプルヘッダ情報にイントラフレームであることを示す情報が含まれているか否かに基づいてビデオデータのパケット単位を調整する処理部であり、イントラフレームであることを示す情報が含まれているビデオサンプルヘッダ情報を取得すると、イントラフレームのビデオサンプルでパケット単位を切り替えて、次のパケットのビデオ先頭サンプルがイントラフレームのビデオサンプルとなるようにパケット単位を調整する。
【０１１７】
このように構成されるパケット単位決定部１１７を備えた本実施の形態２に係る多重化装置において、ビデオパケット単位決定部１１９がビデオデータのパケット単位を決定する処理動作について詳しく説明する。
図７は、ビデオパケット単位決定部１１９の処理動作を示すフロー図である。
【０１１８】
このフローに先立って、ビデオパケット単位決定部１１９は、時間調整部１０８からターゲットタイムを取得して、時間基準単位調整部１２０に保持する。
そして、上記実施の形態１と同様に、ビデオパケット単位決定部１１９は、第１解析部１０３からビデオサンプルヘッダ情報を取得すると（Ｓ２０１）、ビデオサンプルヘッダ情報をビデオパケット作成テーブルに追加する（Ｓ２０２）。
【０１１９】
このとき、ビデオパケット単位決定部１１９は、Ｉフレーム基準単位調整部１２１において、取得したビデオサンプルヘッダ情報にイントラフレームであることを示す情報が含まれているか否かを判定する（Ｓ２０３）。
イントラフレームであることを示す情報が含まれている場合（Ｓ２０３のＹｅｓ）、ビデオパケット単位決定部１１９は、時間基準単位調整部１２０において、パケットに含まれる全ビデオサンプルの総再生時間が、先に取得したターゲットタイムを超えているか否かを判定する（Ｓ２０５）。
【０１２０】
ここで、イントラフレームであることを示す情報が含まれていない場合（Ｓ２０３のＮｏ）またはターゲットタイムを超えていない場合（Ｓ２０５のＮｏ）、ビデオパケット単位決定部１１９は、時間基準単位調整部１２０において、ビデオサンプルヘッダ情報に含まれるビデオサンプルの再生時間長を加算することによって、パケットに含まれるビデオサンプルの再生時間長の総和を更新し（Ｓ２０４）、次のビデオサンプルヘッダ情報を取得して（Ｓ２０１）上記処理動作を繰り返す。
【０１２１】
一方、ターゲットタイムを超えている場合（Ｓ２０５のＹｅｓ）、ビデオパケット単位決定部１１９は、パケットに含まれる最後のビデオサンプルを、Ｉフレーム基準単位調整部１２１においてイントラフレームであると判定されたビデオサンプルの１つ前のビデオサンプルに決定し（Ｓ２０６）、ビデオデータのパケット単位決定の処理動作を終了する。
【０１２２】
このようなビデオパケット単位決定部１１９の処理動作を経て作成されるＭＰ４ファイルの拡張部は、パケットの先頭に格納されるビデオサンプルが必ずイントラフレームのビデオサンプルとなるので、再生装置側でランダムアクセス時にパケットの先頭のビデオサンプルから再生を開始することができるようになり、ランダムアクセス可能なビデオサンプルの検索に要する計算量を大幅に削減することができる。
【０１２３】
また、パケットの先頭に格納されるビデオサンプルが必ずイントラフレームのビデオサンプルとなることによって、パケットヘッダ部（ｍｏｏｆ）では、ビデオトラックのヘッダ情報を格納するｔｒａｆの先頭に位置するｔｒｕｎの先頭サンプルフラグフィールドにのみ、ランダムアクセス可能であることを示す情報を記述すればよく、各ｔｒｕｎのサンプルフラグフィールドは、デフォルト値を使用することにより省略できるので、ｍｏｏｆデータ作成時の負荷が軽減されるとともに、ＭＰ４ファイル全体のファイルサイズの削減を図ることもできる。
【０１２４】
なお、この処理動作によると、ビデオデータに含まれるイントラフレーム同士の間隔が大きくなると、１パケットあたりの再生時間長が長くなる場合がある。そのため、パケット単位決定部１１７は、以下に述べるような処理動作としてもよい。
【０１２５】
図８は、ビデオパケット単位決定部１１９の第２の処理動作を示すフロー図である。
上記第１の処理動作と同様に、このフローに先立って、ビデオパケット単位決定部１１９は、時間調整部１０８からターゲットタイムを取得して、時間基準単位調整部１２０に保持する。
【０１２６】
そして、ビデオパケット単位決定部１１９は、第１解析部１０３からビデオサンプルヘッダ情報を取得すると（Ｓ２１１）、ビデオサンプルヘッダ情報をビデオパケット作成テーブルに追加する（Ｓ２１２）。
このとき、ビデオパケット単位決定部１１９は、時間基準単位調整部１２０において、パケットに含まれる全ビデオサンプルの総再生時間が、先に取得したターゲットタイムを超えているか否かを判定する（Ｓ２１３）。
【０１２７】
ターゲットタイムを超えている場合（Ｓ２１３のＹｅｓ）、ビデオパケット単位決定部１１９は、パケットに含まれる最後のビデオサンプルを、今回取得したビデオサンプルヘッダ情報の１つ前のビデオサンプルヘッダ情報が指し示すビデオサンプルに決定し（Ｓ２１４）、ビデオデータのパケット単位決定の処理動作を終了する。
【０１２８】
一方、ターゲットタイムを超えていない場合（Ｓ２１３のＮｏ）、ビデオパケット単位決定部１１９は、Ｉフレーム基準単位調整部１２１において、取得したビデオサンプルヘッダ情報にイントラフレームであることを示す情報が含まれているか否かを判定する（Ｓ２１５）。
【０１２９】
ここで、イントラフレームであることを示す情報が含まれている場合（Ｓ２１５のＹｅｓ）、ビデオパケット単位決定部１１９は、パケットに含まれる最後のビデオサンプルを、Ｉフレーム基準単位調整部１２１においてイントラフレームであると判定されたビデオサンプルの１つ前のビデオサンプルに決定し（Ｓ２１４）、ビデオデータのパケット単位決定の処理動作を終了する。
【０１３０】
他方、イントラフレームであることを示す情報が含まれていない場合（Ｓ２１５のＮｏ）、ビデオパケット単位決定部１１９は、時間基準単位調整部１２０において、ビデオサンプルヘッダ情報に含まれるビデオサンプルの再生時間長を加算することによって、パケットに含まれるビデオサンプルの再生時間長の総和を更新し（Ｓ２１６）、次のビデオサンプルヘッダ情報を取得して（Ｓ２１１）上記処理動作を繰り返す。
【０１３１】
このようなビデオパケット単位決定部１１９の第２の処理動作を経て作成されるＭＰ４ファイルの拡張部は、所定の時間制限を設定してパケットを作成してパケットサイズを所望のサイズ以下に保ちつつ、イントラフレームのビデオサンプルが存在すれば、パケットの先頭に格納することができるので、再生装置側でランダムアクセス時にパケットの先頭のビデオサンプルについてのみランダムアクセス可能なビデオサンプルであるか否かを判定すればよくなり、ランダムアクセス可能なビデオサンプルの検索に要する計算量を削減することができる。
【０１３２】
なお、ビデオパケット単位決定部１１９は、ビデオデータのパケット単位決定の処理動作を終了すると、ビデオサンプル再生時間情報をオーディオパケット単位決定部１１０に出力し、オーディオパケット単位１１０でオーディオデータのパケット単位決定の処理動作が行なわれるのは、上記実施の形態１の場合と同様である。
【０１３３】
このようなパケット単位決定部１１７による処理動作を経て作成されるＭＰ４ファイルの拡張部は、再生装置側におけるランダムアクセス時の検索負荷を軽減させる。その理由について、図９に本実施の形態２に係る多重化装置が作成するＭＰ４ファイル拡張部のデータ構造の例を示して説明する。
【０１３４】
図９（ａ）に示すＭＰ４ファイル拡張部２２０のｍｄａｔ＿１には、イントラフレームのビデオサンプルがビデオ先頭サンプルとして格納されており、ｍｄａｔ＿２にも同じくイントラフレームのビデオサンプルがビデオ先頭サンプルとして格納されている。
【０１３５】
このように、イントラフレームのビデオサンプルを先頭のビデオサンプルとしてパケットに格納することによって、再生装置側でランダムアクセス時において、ランダムアクセス可能なビデオサンプルを取得するためにパケットの先頭のビデオサンプルのみを検索すれば足りるため、パケットに含まれる全てのビデオサンプルを検索する必要がなくなり、ランダムアクセス時のサンプル検索負荷を大幅に軽減することができる。
【０１３６】
また、このとき、ＭＰ４ファイル拡張部２２０のｍｏｏｆ＿１およびｍｏｏｆ＿２においても、ビデオトラックのヘッダ情報を格納するｔｒａｆの先頭に位置するｔｒｕｎの先頭サンプルフラグフィールドにのみ、ランダムアクセス可能であることを示す情報を記述することによって、ｍｏｏｆ＿１およびｍｏｏｆ＿２のサイズを削減することもできる。
【０１３７】
ここで、本実施の形態２に係る多重化装置が作成するＭＰ４ファイル拡張部は、図９（ｂ）に示すデータ構造としてもよい。
図９（ｂ）に示すＭＰ４ファイル拡張部２３０のｍｄａｔ＿１には、イントラフレームのビデオサンプルがビデオ先頭サンプルとして格納されており、ｍｄａｔ＿３にも同じくイントラフレームのビデオサンプルがビデオ先頭サンプルとして格納されている。また、ｍｄａｔ＿２およびｍｄａｔ＿４には、オーディオサンプルが格納されている。
【０１３８】
このように、１つのパケットにビデオまたはオーディオのいずれか一方のデータを格納して、ビデオデータを格納するパケットには、イントラフレームのビデオサンプルを先頭のビデオサンプルとして格納することによっても、再生装置側でランダムアクセス時におけるサンプル検索負荷を大幅に軽減することができる。
【０１３９】
なお、これらＭＰ４ファイル拡張部のデータ構造例のいずれにおいても、パケットに格納される先頭のビデオサンプルの再生開始時間と先頭のオーディオサンプルの再生開始時間とを揃えることによって、再生装置側でのデータアクセスに要する計算量を大幅に削減することができる。
【０１４０】
以上説明したように、本実施の形態２に係る多重化装置によれば、ランダムアクセス可能なビデオサンプルを先頭のビデオサンプルとして、パケットを作成するので、再生装置におけるランダムアクセス時のサンプル検索に要する計算量を削減することができる。
【０１４１】
（実施の形態３）
さらに、本発明の実施の形態３に係る多重化装置について、図１０から図１４を参照しながら説明する。
本実施の形態３に係る多重化装置は、主な構成要素において、上記実施の形態１および２に係る多重化装置と共通するが、パケットデータ作成部において特徴的な構成を備えており、この点において上記実施の形態１および２に係る多重化装置と異なる。以下、この異なる点を中心に説明する。なお、上記実施の形態１および２と同一の構成要素については、同一の符号を用いることとし、説明を省略する。
【０１４２】
図１０は、本実施の形態３に係る多重化装置のパケットデータ作成部の機能的な構成を示すブロック図である。
このパケットデータ作成部１３０は、パケットデータ部（ｍｄａｔ）を、ビデオサンプルの実体データとオーディオサンプルの実体データとをインタリーブして格納することによって作成する処理部であり、ｍｄａｔ情報取得部１３１と、ビデオ実体データ読出部１３２と、オーディオ実体データ読出部１３３と、インタリーブ配列部１３４とを備える。
【０１４３】
ｍｄａｔ情報取得部１３１は、パケットヘッダ作成部１１２からｍｄａｔ情報を取得して、パケットデータ作成部１３０を構成する他の各部に実体データの読出指示や再生時間情報を出力する処理部である。
このｍｄａｔ情報取得部１３１は、パケットヘッダ作成部１１２からｍｄａｔ情報を取得するとｍｄａｔ情報を解析して、ビデオサンプルおよびオーディオサンプルの再生開始時間と再生終了時間とを示す再生時間情報を取得し、この再生時間情報に基づいて、パケットに含まれる全てのビデオサンプルとオーディオサンプルとを再生開始時間が昇順となるように並び替える。
【０１４４】
そして、ｍｄａｔ情報取得部１３１は、並び替えた順番に従って再生開始時間の若いサンプルから順に、ビデオ実体データ読出部１３２にビデオサンプルの実体データの読み出しを指示するビデオ読出指示を出力する、または、オーディオ実体データ読出部１３３にオーディオサンプルの実体データの読み出しを指示するオーディオ読出指示を出力する。このビデオ読出指示には、ビデオサンプルの実体データが第１データ蓄積部１０２のどこに格納されているかを示すポインタ情報とビデオサンプルのサイズ情報とが含まれており、オーディオ読出指示には、オーディオサンプルの実体データが第２データ蓄積部１０５のどこに格納されているかを示すポインタ情報とオーディオサンプルのサイズ情報とが含まれている。
【０１４５】
ビデオ実体データ読出部１３２は、ｍｄａｔ情報取得部１３１からビデオ読出指示を取得して、第１データ蓄積部１０２からビデオ実体データを読み出す処理部である。このビデオ実体データ読出部１３２は、ビデオ読出指示に含まれるポインタ情報とサイズ情報とを参照して第１データ蓄積部１０２からビデオ実体データを読み出して、読み出したビデオ実体データをインタリーブ配列部１３４に出力する。
【０１４６】
オーディオ実体データ読出部１３３は、ｍｄａｔ情報取得部１３１からオーディオ読出指示を取得して、第２データ蓄積部１０５からオーディオ実体データを読み出す処理部である。このオーディオ実体データ読出部１３３は、オーディオ読出指示に含まれるポインタ情報とサイズ情報とを参照して第２データ蓄積部１０５からオーディオ実体データを読み出して、読み出したオーディオ実体データをインタリーブ配列部１３４に出力する。
【０１４７】
インタリーブ配列部１３４は、ビデオ実体データ読出部１３２およびオーディオ実体データ読出部１３３から出力される読出ビデオデータおよび読出オーディオデータを出力される順に逐次取得し、インタリーブして配列することによってｍｄａｔデータを作成し、パケット結合部１１４に出力する処理部である。
【０１４８】
このように構成されるパケットデータ作成部１３０を備えた本実施の形態３に係る多重化装置において、パケットデータ作成部１３０がｍｄａｔを作成する処理動作について詳しく説明する。
図１１は、パケットデータ作成部１３０の処理動作を示すフロー図である。
【０１４９】
まず、パケットデータ作成部１３０は、ｍｄａｔ情報取得部１３１において、パケットヘッダ作成部１１２からｍｄａｔ情報を取得する（Ｓ３０１）。ｍｄａｔ情報取得部１３１は、取得したｍｄａｔ情報を解析して、サンプルのポインタ情報とサイズ情報と再生時間情報とを抽出する。そして、ｍｄａｔ情報取得部１３１は、抽出したサンプルの再生時間情報に基づいて、パケットに含まれる全てのビデオサンプルとオーディオサンプルとを再生開始時間が昇順となるように並び替える。続いて、ｍｄａｔ情報取得部１３１は、並び替えた順番に従って再生開始時間の若いサンプルから順に、抽出したビデオサンプルのポインタ情報とサイズ情報とを含むビデオ読出指示をビデオ実体データ読出部１３２に出力する、または、抽出したオーディオサンプルのポインタ情報とサイズ情報とを含むオーディオ読出指示をオーディオ実体データ読出部１３３に出力する。
【０１５０】
ビデオ実体データ読出部１３２は、ビデオ読出指示を取得すると、ポインタ情報とサイズ情報とを参照して第１データ蓄積部１０２からビデオ実体データを読み出してインタリーブ配列部１３４に出力し、オーディオ実体データ読出部１３３は、オーディオ読出指示を取得すると、ポインタ情報とサイズ情報とを参照して第２データ蓄積部１０５からオーディオ実体データを読み出してインタリーブ配列部１３４に出力する（Ｓ３０２）。
【０１５１】
インタリーブ配列部１３４は、読み出した実体データをビデオ実体データ読出部１３２およびオーディオ実体データ読出部１３３から受け取ると、受け取った順に逐次配列する（Ｓ３０３）。
ここで、インタリーブ配列部１３４は、ビデオ実体データとオーディオ実体データの全て、すなわち、１パケットに格納される実体データの全ての配列が完了するまで、実体データの配列を続行する（Ｓ３０４のＮｏ、Ｓ３０３）。
【０１５２】
そして、１パケットに格納される実体データの全ての配列が完了すると（Ｓ３０４のＹｅｓ）、インタリーブ配列部１３４は、配列した実体データをｍｄａｔデータとして、パケット結合部１１４に出力して（Ｓ３０５）、ｍｄａｔの作成の処理動作を終了する。
【０１５３】
このようなパケットデータ作成部１３０の処理動作を経て作成されるＭＰ４ファイルの拡張部は、シークに時間がかかる光ディスク機器等におけるランダムアクセス再生に適している。その理由について図１２に本実施の形態３に係る多重化装置が作成するＭＰ４ファイル拡張部のデータ構造の概略を示して説明する。
【０１５４】
図１２に示すＭＰ４ファイル拡張部２４０は、４〜８秒までのコンテンツデータを格納するパケット１、８〜１２秒までのコンテンツデータを格納するパケット２、１２〜１６秒までのコンテンツデータを格納するパケット３というように、複数のパケットが配列されることで構成されている。
【０１５５】
各パケットは、ｍｏｏｆ２４１とｍｄａｔ２４２とから構成されており、ｍｏｏｆ２４１には、ビデオトラックに関するｔｆｈｄ（Ｖ）およびｔｒａｆ（Ｖ−１、Ｖ−２）と、オーディオトラックに関するｔｆｈｄ（Ａ）およびｔｒａｆ（Ａ−１、Ａ−２）とが格納されている。また、ｔｒａｆ（Ｖ−１）とｔｒａｆ（Ａ−１）に格納されるヘッダ情報が指し示すサンプルの実体データは、ｍｄａｔ＿１に格納され、ｔｒａｆ（Ｖ−２）とｔｒａｆ（Ａ−２）に格納されるヘッダ情報が指し示すサンプルの実体データは、ｍｄａｔ＿２に格納されている。そして、ｍｄａｔ２４２には、ビデオサンプルの実体データとオーディオサンプルの実体データとが交互にインタリーブして格納されている。
【０１５６】
このとき、再生装置側で、再生時間が４秒の位置から再生を開始するランダムアクセス処理に際して、ｍｏｏｆ＿１の先頭位置に読み出しポインタを移動させれば、後はｍｏｏｆ＿１を解析して、読み出しポインタを連続的に移動させることによりｍｏｏｆ＿１に連続するｍｄａｔ＿１から再生に必要な実体データを取得することができる。
【０１５７】
すなわち、このＭＰ４ファイル拡張部２４０によれば、再生装置は、ｍｏｏｆ＿１の先頭位置に読み出しポインタを移動させる１回のシーク動作だけで、ランダムアクセス再生を実現することができるので、シークに時間がかかる光ディスク機器等に有効といえる。
【０１５８】
ここで、ｍｄａｔ２４２において、ビデオサンプルの実体データの直後に格納されるオーディオサンプルの実体データは、直前のビデオサンプルの再生開始時間と揃えられているので、ビデオデータとオーディオデータの同期再生は担保されている。図１３に、ＭＰ４ファイル拡張部２４０のｍｄａｔ＿１に実体データが格納されている様子を示す。
【０１５９】
図１３に示すように、ｍｄａｔ＿１の先頭に格納されているビデオサンプル１の再生開始時間は４０００ｍｓであり、ビデオサンプル１の直後に格納されているオーディオサンプル１の再生開始時間は、４０００ｍｓであり、ビデオサンプル１とオーディオサンプル１の再生開始時間は同一に揃えられている。
【０１６０】
通常、ビデオサンプルとオーディオサンプルのサンプルレートは異なることが多いので、ここでは、ビデオサンプルの再生時間長は５００ｍｓとし、オーディオサンプルの再生時間長は１００ｍｓとする。
従って、ＭＰ４ファイル拡張部２４０のｍｄａｔ＿１には、ビデオサンプル１の直後にオーディオサンプル１〜５がインタリーブして格納され、その後に、ビデオサンプル２、オーディオサンプル６〜１０、ビデオサンプル３・・・の順に格納されることになる。
【０１６１】
このとき、ビデオサンプル２の再生開始時間は、４５００ｍｓであり、ビデオサンプル２の直後に格納されているオーディオサンプル６の再生開始時間も４５００ｍｓであり、ビデオサンプルとそのビデオサンプル直後のオーディオサンプルの再生開始時間は、常に同一となるように揃えられている。
【０１６２】
また、ビデオサンプルとオーディオサンプルのサンプルレートは異なるため、ビデオサンプルの再生開始時間とその直後のオーディオサンプルの再生開始時間とが同一とならない場合も生じうる。このような場合でも、ビデオサンプル直後のオーディオサンプルを、ビデオサンプルの再生開始時間と近似する再生開始時間を有するオーディオサンプルとすることによって、ビデオデータとオーディオデータの同期再生を担保することができる。
【０１６３】
図１４は、ＭＰ４ファイル拡張部のｍｄａｔ＿１に実体データが格納されている様子を示す第２のデータ構造を示す図である。
図１４に示すように、ＭＰ４ファイル拡張部２５０のｍｄａｔ＿１の先頭に格納されているビデオサンプル１の再生開始時間は、４０００ｍｓであり、ビデオサンプル１の直後に格納されているオーディオサンプル１の再生開始時間は、４０５０ｍｓであり、ビデオサンプル１の直後に格納されるオーディオサンプルとして、ビデオサンプル１の再生開始時間以降であって最も早い再生開始時間を有するオーディオサンプル１が格納されている。
【０１６４】
ここで、先に説明した場合と同様に、ビデオサンプルの再生時間長は５００ｍｓとし、オーディオサンプルの再生時間長は１００ｍｓとする。
従って、ＭＰ４ファイル拡張部２５０のｍｄａｔ＿１には、ビデオサンプル１の直後に、オーディオサンプル１〜５がインタリーブして格納され、その後に、ビデオサンプル２、オーディオサンプル６〜１０、ビデオサンプル３・・・の順に格納されることになる。
【０１６５】
このとき、ビデオサンプル２の再生開始時間は、４５００ｍｓであり、ビデオサンプル２の直後に格納されているオーディオサンプル６の再生開始時間は、４５５０ｍｓであり、ビデオサンプルとそのビデオサンプル直後のオーディオサンプルの再生開始時間は、常に近似するように揃えられている。
【０１６６】
なお、ここで、ビデオサンプルの直後に格納されるオーディオサンプルとして、ビデオサンプルの再生開始時間以前であって最も遅い再生開始時間を有するオーディオサンプルを格納することとしてもよい。この場合、ビデオサンプル１の直後に格納されるオーディオサンプル１は、３９５０ｍｓの再生時間を有することになる。
【０１６７】
以上説明したように、本実施の形態３に係る多重化装置によれば、ビデオサンプルの直後に、ビデオサンプルの再生開始時間と同一または近似する再生開始時間を有するオーディオサンプルを配置し、ビデオサンプルとオーディオサンプルとを再生開始時間が昇順となるようにインタリーブしてｍｄａｔに格納するので、シーク速度の遅い再生装置においても、迅速にランダムアクセス可能なデータ構造のＭＰ４ファイル拡張部を作成することができる。
【０１６８】
（実施の形態４）
続いて、本発明の実施の形態４に係る逆多重化装置について、図１５および図１６を参照しながら説明する。
図１５は、本実施の形態４に係る逆多重化装置の機能的な構成を示すブロック図である。
逆多重化装置３００は、上記実施の形態１、２および３に係る多重化装置で作成されたＭＰ４ファイル拡張部を含むＭＰ４ファイルデータを取得して解析し、メディアデータを逆多重化して再生データを出力する装置であり、ファイル入力部３０１、ファイルデータ蓄積部３０２、ヘッダ分離解析部３０３、ｍｏｏｖ解析部３０４、ｍｏｏｆ解析部３０５、ｔｒａｆ解析部３０６、ｔｒｕｎ解析部３０７、ＲＡ検索部３０８およびサンプル取得部３０９を備えている。
【０１６９】
ファイル入力部３０１は、ＭＰ４ファイルデータを取得するインターフェースであり、取得したＭＰ４ファイルの入力データを順次、ファイルデータ蓄積部３０２に蓄積させる。
ファイルデータ蓄積部３０２は、ＭＰ４入力データを一時的に保持するキャッシュメモリやＲＡＭ等である。
【０１７０】
ヘッダ分離解析部３０３は、ファイルデータ蓄積部３０２に保持されているＭＰ４入力データのうちＭＰ４ファイルのヘッダデータを読み出して解析し、ＭＰ４ファイルの基本部ヘッダのｍｏｏｖデータと、拡張部ヘッダのｍｏｏｆデータとに分離して、それぞれｍｏｏｖ解析部３０４およびｍｏｏｆ解析部３０５に出力する処理部であり、ＣＰＵやメモリによって実現される。
【０１７１】
ｍｏｏｖ解析部３０４は、ＭＰ４ファイルのｍｏｏｖを解析して、メディアデータの符号化レートやコンテンツの再生時間長等、メディアデータの解析に必要なメディア情報を取得する処理部であり、ＣＰＵやメモリによって実現される。このｍｏｏｖ解析部は、取得したメディア情報をｍｏｏｆ解析部３０５に出力する。
【０１７２】
ｍｏｏｆ解析部３０５は、ＭＰ４ファイルのｍｏｏｆを、ｍｏｏｖ解析部３０４から取得したメディア情報に基づいて解析し、トラック毎のヘッダデータであるｔｒａｆデータをｔｒａｆ解析部３０６に出力する処理部であり、ＣＰＵやメモリによって実現される。
【０１７３】
ｔｒａｆ解析部３０６は、ＭＰ４ファイルのｔｒａｆを解析して、ｔｒａｆに含まれるサンプル毎のヘッダデータであるｔｒｕｎデータをｔｒｕｎ解析部３０７に出力する処理部であり、ＣＰＵやメモリによって実現される。
ｔｒｕｎ解析部３０７は、ＭＰ４ファイルのｔｒｕｎを解析して、ｔｒｕｎ内の各フィールドに記述されている情報を取得して、サンプル取得部３０９にｔｒｕｎ解析情報を出力する処理部であり、ＣＰＵやメモリによって実現される。このｔｒｕｎ解析情報には、例えば、そのサンプルのサイズや、そのサンプルがファイルデータ蓄積部３０２のどこに格納されているかを示すデータオフセット情報や、さらにビデオサンプルの場合にはイントラフレームであることか否かを示すフラグ情報等が含まれている。
【０１７４】
また、このｔｒｕｎ解析部３０７は、次に述べるＲＡ検索部３０８から、ランダムアクセス後の再生開始位置を示し、再生の開始を指示する出力信号である再生開始指示を取得すると、再生開始指示によって示されるｔｒｕｎから順に解析して、サンプル取得部３０９にｔｒｕｎ解析情報を出力する。
【０１７５】
ＲＡ検索部３０８は、ランダムアクセス後の再生開始時間を示す目標再生時間情報を取得して、ビデオトラックに関するヘッダ情報を格納する先頭のｔｒａｆ内の先頭のｔｒｕｎに含まれる先頭サンプルについての再生開始時間、およびイントラフレームであるかを示す情報である先頭サンプル情報を読み出して、ランダムアクセス後の再生開始位置となるビデオサンプルを検索する処理部であり、ＣＰＵやメモリによって実現される。このＲＡ検索部３０８は、ユーザからのランダムアクセス指示を受け付ける逆多重化装置３００の入力装置から目標再生時間情報を取得すると、ｔｒｕｎ解析部３０７から先頭サンプル情報のみを順次取得して、目標再生時間情報と同一または近似する再生開始時間を有するビデオサンプルを検索し、再生開始指示をｔｒｕｎ解析部３０７に出力する。
【０１７６】
サンプル取得部３０９は、ｔｒｕｎ解析情報に基づいて、サンプルの実体データを読み出して復号化し、再生データをディスプレイ等の表示装置に出力する処理部である。このサンプル取得部３０９は、ｔｒｕｎ解析部３０７からｔｒｕｎ解析情報を取得すると、これに含まれるデータオフセット情報を参照して、ファイルデータ蓄積部３０２からサンプルの実体データを読み出す。ここで、ｔｒｕｎ解析情報の取得開始をもって、再生開始が指示されたものとする。
【０１７７】
このように構成される逆多重化装置３００におけるランダムアクセス処理動作について図１６を用いて説明する。
図１６は、逆多重化装置３００のランダムアクセス処理動作を示すフロー図である。なお、このフローに先立って、逆多重化装置３００は、入力装置を介してユーザからのランダムアクセス指示を受け付けているものとする。
【０１７８】
まず、逆多重化装置３００は、ファイル入力部３０１において、上記実施の形態１、２または３に係る多重化装置において作成されたＭＰ４ファイルのデータを取得すると（Ｓ４００）、順次ファイルデータ蓄積部３０２に蓄積させていく。
【０１７９】
次に、逆多重化装置３００は、ヘッダ分離解析部３０３において、ＭＰ４ファイルのファイルヘッダ部のみを分離して解析し（Ｓ４１０）、さらに、基本部ヘッダと拡張部ヘッダとに分離して、ｍｏｏｖ解析部３０４において基本部ヘッダを解析し、ｍｏｏｆ解析部３０５において拡張部ヘッダを解析する（Ｓ４２０）。
【０１８０】
続いて、逆多重化装置３００は、ｍｏｏｆ解析部３０５において、拡張部ヘッダをさらに、トラック毎のヘッダに分離して、ｔｒａｆ解析部３０６において、トラックフラグメント、すなわち、ｔｒａｆを解析する（Ｓ４３０）。このとき、逆多重化装置３００は、ｔｒａｆ解析部３０６において、トラックフラグメントをさらに分離して、ｔｒｕｎ解析部３０７において、ｔｒｕｎを解析する。
【０１８１】
ここで、逆多重化装置３００は、ＲＡ検索部３０８において目標再生時間情報の入力があると、ｔｒｕｎ解析部３０７から先頭サンプル情報をＲＡ検索部３０８に出力し、ＲＡ検索部３０８において、目標再生時間情報と同一または近似する再生開始時間が示されている先頭サンプル情報であるか否かを判定する（Ｓ４４０）。
【０１８２】
このとき、対象サンプルが見つからなければ（Ｓ４５０のＮｏ）、逆多重化装置３００は、ＲＡ検索部３０８において、ファイル内における格納順で次に配置された拡張部ヘッダにおける先頭サンプル情報を取得して、先に取得している目標再生時間情報と同一または近似する再生開始時間が示されている先頭サンプル情報であるか否かを判定する（Ｓ４４０）。
【０１８３】
一方、対象サンプルが見つかれば（Ｓ４５０のＹｅｓ）、逆多重化装置３００は、ＲＡ検索部３０８において、再生開始指示を生成し、ｔｒｕｎ解析部３０７に出力する。ｔｒｕｎ解析部３０７は、ＲＡ検索部３０８から再生開始指示を受けると、再生開始指示を受けたｔｒｕｎから順に、ｔｒｕｎ解析情報をサンプル取得部３０９に出力する。ここで、再生開始指示を受けたｔｒｕｎとは、ＲＡ検索部３０８において再生開始を指示されたサンプルを含むｔｒｕｎを指す。
【０１８４】
その後、逆多重化装置３００は、サンプル取得部３０９において、ｔｒｕｎ解析情報に含まれるデータオフセット情報を参照して、ファイルデータ蓄積部３０２から対象サンプルの実体データを取得し（Ｓ４６０）、復号化して再生データを出力してランダムアクセス処理動作を終了する。
【０１８５】
以上説明したように、本実施の形態４に係る逆多重化装置３００によれば、上記実施の形態１、２または３に係る多重化装置が作成するＭＰ４ファイル拡張部を含むＭＰ４ファイルについてランダムアクセス再生を行なう際に、各パケットの先頭に格納されているビデオサンプルのみを検索することによって、ランダムアクセス後の再生開始位置とすべきビデオサンプルを判定することができるので、ランダムアクセス時のサンプル検索負荷が大幅に軽減されることになる。
【０１８６】
（適用例）
ここで、本発明に係る多重化装置の適用例について図１７を用いて説明する。
図１７は、本発明に係る多重化装置の適用例を示す図である。
本発明に係る多重化装置は、ビデオデータやオーディオデータ等のメディアデータを取得して多重化し、ＭＰ４ファイルデータを作成する録画機能付き携帯電話機４０３やパーソナルコンピュータ４０４に適用されうる。また、本発明に係る逆多重化装置は、作成されたＭＰ４ファイルデータを読み込んで再生する携帯電話機４０７に適用されうる。
【０１８７】
ここで、録画機能付き携帯電話機４０３およびパーソナルコンピュータ４０４において作成されたＭＰ４ファイルデータは、ＳＤメモリカード４０５やＤＶＤ−ＲＡＭ４０６等の記録媒体に格納されたり、通信ネットワーク４０２を介して画像配信サーバ４０１に送信されて、画像配信サーバ４０１から他の携帯電話機４０７等に配信されたりする。
【０１８８】
このように、本発明に係る多重化装置および逆多重化装置は、画像配信システム等におけるＭＰ４ファイルの作成装置または再生装置として利用されるものである。
以上、本発明に係る多重化装置および逆多重化装置について、各実施の形態等に基づいて説明したが、本発明は、これらの実施の形態等に限定されるものではない。
【０１８９】
例えば、上記各実施の形態では、ビデオデータとして、ＭＰＥＧ−４  Ｖｉｓｕａｌの符号化データを用いることとしたが、ビデオデータとして、ＭＰＥＧ−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）やＨ．２６３等のその他の動画像圧縮符号化方式による符号化データを用いてもよい。なお、ＭＰＥＧ−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）やＨ．２６３の符号化データでは、１ピクチャが１サンプルに相当することになる。
【０１９０】
同様に、オーディオデータとして、ＭＰＥＧ−４  Ａｕｄｉｏの符号化データを用いることとしたが、オーディオデータとして、Ｇ．７２６等のその他の音声圧縮符号化方式による符号化データを用いてもよい。
また、上記各実施の形態では、ビデオデータとオーディオデータとを用いて説明しているが、テキストデータ等が含まれている場合でも、オーディオデータのパケット化と同じように処理することによって、本発明の効果を得ることができる。
【０１９１】
さらに、上記実施の形態２において、イントラフレーム毎にパケット化を行なうとする場合には、パケット単位決定部１１７の構成要素から時間基準単位調整部１２０を省略し、図７のステップＳ２０５の処理を省略することとしてもよい。
【０１９２】
またさらに、上記実施の形態３において、ＭＰ４ファイルの再生装置側で予め設定されているバッファモデルに従ってＭＰ４ファイルが再生されることとなっている場合には、そのバッファモデルを満たすようにビデオサンプルのデータとオーディオサンプルのデータとをインタリーブしてｍｄａｔに格納することとしてもよい。ここで、バッファモデルとは、規格で定められた条件に従って符号化データが入力される場合に、その規格で定められたサイズのバッファを再生装置に持たせることで、バッファが空になる（アンダーフロー）、または、バッファから溢れる（オーバーフロー）ことなく、再生装置が復号化を行なうことができることを保証するためのモデルである。
【０１９３】
また、上記実施の形態１、２および３において、作成されるＭＰ４ファイルの拡張部のｍｏｏｆに格納するｔｒａｆの個数について言及していないが、ｍｏｏｆに格納するｔｒａｆは、１つのトラックにつき１つのｔｒａｆを格納するのが好ましい。このようにすることで、トラック毎に、ｍｏｏｆ内の先頭ｔｒａｆのみを解析すれば、ｍｏｏｆに格納されるトラックの全てのサンプルについてのヘッダ情報を取得することができるので、ヘッダ情報取得時の効率がさらに向上することとなる。
【０１９４】
さらに、上記実施の形態１、２および３において、作成されるＭＰ４ファイルの拡張部のｍｏｏｆにヘッダ情報が格納されるサンプルの実体データは、ｍｏｏｆに連続する１つのｍｄａｔに格納するとしているが、ｍｏｏｆに連続する複数のｍｄａｔに分割して格納することとしてもよい。具体的に説明すると、ｍｏｏｆ＿１にヘッダ情報が格納されるサンプルの実体データを、ｍｄａｔ＿１、ｍｄａｔ＿２、ｍｄａｔ＿３の順に格納し、ｍｏｏｆ＿２にヘッダ情報が格納されるサンプルの実体データを、ｍｄａｔ＿４、ｍｄａｔ＿５、ｍｄａｔ＿６の順に格納するとしてもよい。
【０１９５】
そして、上記実施の形態２および３では、パケット内に動画像データのイントラフレームが含まれる場合には、パケットの先頭に配置することとしているが、ランダムアクセスが可能であれば、Ｐ（Ｐｒｅｄｉｃｔｉｖｅ）フレームやＢ（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  ｐｒｅｄｉｃｔｉｖｅ）フレーム等、イントラフレーム以外のビデオサンプルをパケットの先頭に配置することとしてもよい。以下、これについて、ビデオデータとしてＭＰＥＧ−４  ＡＶＣの符号化データを用いた場合を例に挙げて説明する。
【０１９６】
ＭＰＥＧ−４  ＡＶＣでは、イントラピクチャから復号化しても正しい復号結果を得られない場合がある。より詳しく説明すると、ＭＰＥＧ−４  ＡＶＣのイントラピクチャには、ＩＤＲ（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｄｅｃｏｄｅｒ  Ｒｅｆｒｅｓｈ）ピクチャと、それ以外のピクチャ（以下、ｎｏｎ−ＩＤＲイントラピクチャと称する。）の２種類があり、ＩＤＲピクチャから復号化を開始すると、必ず正しい復号結果を得ることができるが、ｎｏｎ−ＩＤＲイントラピクチャから復号化を開始すると、ｎｏｎ−ＩＤＲイントラピクチャおよび表示順でｎｏｎ−ＩＤＲイントラピクチャ以降の複数枚のピクチャについて、正しい復号結果を得られないことがある。
【０１９７】
そのため、ＭＰＥＧ−４  ＡＶＣでは、ｎｏｎ−ＩＤＲイントラピクチャから正しい復号結果を得るためには、どのピクチャから復号化を開始すればよいかを示す補助情報（Ｒｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  以下、“Ｒｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩ”  と称する。）を付加することができる。
【０１９８】
例えば、Ｐｉｃ＿１、Ｐｉｃ＿２、Ｐｉｃ＿３、Ｐｉｃ＿４、Ｐｉｃ＿５で示される５枚のピクチャが、この順序でビデオデータに含まれ、Ｐｉｃ＿５がｎｏｎ−ＩＤＲイントラピクチャで、表示順でＰｉｃ＿５およびＰｉｃ＿５以降のピクチャを正しく復号化しようとすると、Ｐｉｃ＿１から復号化を開始しなければならない場合、Ｐｉｃ＿１の直前に、Ｒｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩを配置することによって、ビデオデータ内における格納順で４枚後のピクチャであるＰｉｃ＿５、および、表示順でそれ以降のピクチャを正しく復号化するためには、Ｐｉｃ＿１から復号化を開始する必要があることを示すことができる。
【０１９９】
すなわち、この場合に、Ｐｉｃ＿１は、ランダムアクセス可能なサンプルであるといえるので、ＭＰＥＧ−４  ＡＶＣの符号化データの場合、ＩＤＲピクチャまたはＲｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩが付加されたピクチャのサンプルを、ランダムアクセス可能なサンプルとして、パケットの先頭に配置することとしてもよい。なお、Ｒｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩはイントラピクチャ以外のピクチャに付加することもできる。
【０２００】
このとき、Ｒｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩが付加されたピクチャのサンプルと、Ｒｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩが付加されたピクチャから復号化を開始することで正しい復号結果を得られるようになるピクチャのサンプルとを同一パケットに格納することによって、サンプルデータ取得時の処理量を削減することができる。
【０２０１】
さらに、ＩＤＲピクチャと、Ｒｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩが付加されたピクチャのサンプルとは、先頭サンプルフラグ９３０、あるいはサンプルフラグ９３５における特定のフラグ値（以降、ノンシンクサンプルフラグと呼ぶ。）により識別することができる。ＭＰ４においては、ランダムアクセス可能なサンプルのうち、ランダムアクセスするサンプルと正しい復号結果が得られるサンプルとが一致するサンプルについてのみ、ノンシンクサンプルフラグを０にセットすることができる。このため、ＩＤＲピクチャのサンプルではノンシンクサンプルフラグを０とし、Ｒｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩが付加されたピクチャのサンプルではノンシンクサンプルフラグを１とすることにより、両者を識別することができる。
【０２０２】
以上のような識別方法を用いることにより、ＩＤＲピクチャとＲｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩが付加されたピクチャに限らず、互いに異なる性質をもつランダムアクセス可能なサンプルを識別することができる。実際には、以下のように使用することができる。
【０２０３】
まず１つ目は、特定のサンプルのみを再生していくことにより、早送り再生を行う場合である。このときは、復号したサンプルをただちに表示できることが望ましいので、ノンシンクサンプルフラグが０であるサンプルのみを復号化し、再生することとする。
【０２０４】
２つ目は、コンテンツの途中から再生を開始する、あるいは特定区間をスキップして次区間の再生を開始するような場合である。このとき、復号を開始するサンプルと正しい復号結果が得られるサンプルとが異なる可能性があるのは、再生開始時のみである。そこで、ノンシンクサンプルフラグが０であるサンプル、あるいはノンシンクサンプルフラグが１であるランダムアクセス可能なサンプルのどちらからでも再生を開始できることとする。
【０２０５】
なお、このような格納方法は、ＭＰＥＧ−４  ＡＶＣのＲｅｃｏｖｅｒｙ  Ｐｏｉｎｔ  ＳＥＩの場合に限られず、復号化を開始するサンプルと、正しい復号結果が得られるサンプルとが異なる場合に適用することができ、例えば、ＭＰＥＧ２−ＶｉｄｅｏにおけるＯｐｅｎ  ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）のような構造に適用することができる。
【０２０６】
さらに、サンプルがランダムアクセス可能であることを示す識別情報が付加されている際には、その識別情報によってランダムアクセス可能であることが示されているサンプルをパケットの先頭に配置することとしてもよい。
【０２０７】
【発明の効果】
以上の説明から明らかなように、本発明に係る多重化装置によれば、メディアデータに含まれる画像データと、音声データおよびテキストデータの再生開始時間が揃えられてパケットに格納されるので、再生装置側における再生時のデータアクセスの効率化を実現することができる。
【０２０８】
また、パケットに含まれる先頭のビデオサンプルをイントラフレームのビデオサンプルとすることで、再生装置側におけるランダムアクセス時のサンプル検索に要する計算量を大幅に削減することが可能になるという効果が奏される。
さらに、パケットに含まれるビデオサンプルとオーディオサンプルとが再生開始時間が昇順となって格納されるので、再生装置側におけるランダムアクセス時のシーク動作の回数を少なくすることができ、シーク速度の遅い再生装置でも迅速なランダムアクセス再生を可能とする多重化を実現することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係る多重化装置の機能的な構成を示すブロック図である。
【図２】多重化装置の処理動作を示すフロー図である。
【図３】ビデオパケット単位決定部の処理動作を示すフロー図である。
【図４】オーディオパケット単位決定部の処理動作を示すフロー図である。
【図５】（ａ）は、多重化装置が作成するＭＰ４ファイル拡張部のデータ構造の第１例を示す図であり、（ｂ）は、多重化装置が作成するＭＰ４ファイル拡張部のデータ構造の第２例を示す図である。
【図６】本実施の形態２に係る多重化装置のパケット単位決定部の機能的な構成を示すブロック図である。
【図７】ビデオパケット単位決定部の第１の処理動作を示すフロー図である。
【図８】ビデオパケット単位決定部の第２の処理動作を示すフロー図である。
【図９】（ａ）は、多重化装置が作成するＭＰ４ファイル拡張部のデータ構造の第１例を示す図であり、（ｂ）は、多重化装置が作成するＭＰ４ファイル拡張部のデータ構造の第２例を示す図である。
【図１０】本実施の形態３に係る多重化装置のパケットデータ作成部の機能的な構成を示すブロック図である。
【図１１】パケットデータ作成部の処理動作を示すフロー図である。
【図１２】多重化装置が作成するＭＰ４ファイル拡張部のデータ構造の概略を示す図である。
【図１３】多重化装置が作成するＭＰ４ファイル拡張部のデータ構造の第１例を示す図である。
【図１４】多重化装置が作成するＭＰ４ファイル拡張部のデータ構造の第２例を示す図である。
【図１５】本実施の形態４に係る逆多重化装置の機能的な構成を示すブロック図である。
【図１６】逆多重化装置の処理動作を示すフロー図である。
【図１７】本発明に係る多重化装置の適用例を示す図である。
【図１８】従来のＭＰ４ファイルを構成するボックスの構造を説明するための図である。
【図１９】従来のＭＰ４ファイルの基本部を説明するための図である。
【図２０】（ａ）は、従来のＭＰ４ファイルにおけるムービーボックスの構造を説明するための図であり、（ｂ）は、従来のＭＰ４ファイルにおけるムービーボックスの構造をツリー状に示す図である。
【図２１】従来における拡張部を含むＭＰ４ファイルの構造を示す図である。
【図２２】従来におけるムービーフラグメントボックスの構造を説明するための図である。
【図２３】従来におけるトラックフラグメントランボックスの構造を説明するための図である。
【図２４】（ａ）従来における拡張部を含むＭＰ４ファイルの第１の構成例を示す図であり、（ｂ）は、従来における拡張部を含むＭＰ４ファイルの第２の構成例を示す図である。
【図２５】従来の多重化装置の構成を示すブロック図である。
【図２６】従来におけるパケット単位決定部の処理動作を示すフロー図である。
【図２７】従来におけるビデオサンプルのヘッダ情報を格納するパケット作成テーブルの一例を示す図である。
【図２８】（ａ）は、従来における多重化装置の第１の問題点を説明するための図であり、（ｂ）は、従来における多重化装置の第２の問題点を説明するための図である。
【符号の説明】
１００、９６０  多重化装置
１０１、９６１  第１入力部
１０２、９６２  第１データ蓄積部
１０３、９６３  第１解析部
１０４、９６４  第２入力部
１０５、９６５  第２データ蓄積部
１０６、９６６  第２解析部
１０７、１１７、９６７  パケット単位決定部
１０８    時間調整部
１０９、１１９    ビデオパケット単位決定部
１１０    オーディオパケット単位決定部
１１１、９６８  パケット作成テーブル蓄積部
１１２、９６９  パケットヘッダ作成部
１１３、１３０、９７０  パケットデータ作成部
１１４、９７１  パケット結合部
１２０    時間基準単位調整部
１２１    Ｉフレーム基準単位調整部
１３１    ｍｄａｔ情報取得部
１３２    ビデオ実体データ読出部
１３３    オーディオ実体データ読出部
１３４    インタリーブ配列部
２００、２１０、２２０、２３０、２４０、２５０    ＭＰ４ファイル拡張部
２４１、９２３、９４６、９４８、９５５、９５７  ムービーフラグメントボックス
２４２、９１６、９４５、９４７、９４９、９５６、９５８  ムービーデータボックス
３００    逆多重化装置
３０１    ファイル入力部
３０２    ファイルデータ蓄積部
３０３    ヘッダ分離解析部
３０４    ｍｏｏｖ解析部
３０５    ｍｏｏｆ解析部
３０６    ｔｒａｆ解析部
３０７    ｔｒｕｎ解析部
３０８    ＲＡ検索部
３０９    サンプル取得部
４０１    画像配信サーバ
４０２    通信ネットワーク
４０３    録画機能付き携帯電話機
４０４    パーソナルコンピュータ
４０５    ＳＤメモリカード
４０６    ＤＶＤ−ＲＡＭ
４０７    携帯電話機
９０１  ボックス
９０２  ボックスヘッダ部
９０３  ボックスデータ格納部
９０４  ボックスサイズ
９０５  ボックスタイプ
９０６  バージョン
９０７  フラグ
９１０、９２０、９４０、９５０  ＭＰ４ファイル
９１１、９４１、９５１  基本部
９１２  ファイルヘッダ部
９１３  ファイルデータ部
９１４、９４３、９５３  ファイルタイプボックス
９１５、９４４、９５４  ムービーボックス
９１７  ムービーヘッダボックス
９１８  トラックボックス
９１９  トラックヘッダボックス
９２１、９４２、９５２  拡張部
９２２  パケット
９２４  ムービーフラグメントヘッダボックス
９２５  トラックフラグメントボックス
９２６  トラックフラグメントヘッダボックス
９２７  トラックフラグメントランボックス
９２８  サンプルカウント
９２９  データオフセット
９３０  先頭サンプルフラグ
９３１  テーブル
９３２  エントリ
９３３  サンプルデュレーション
９３４  サンプルサイズ
９３５  サンプルフラグ
９３６  サンプルコンポジションタイムオフセット
９６８ａ  パケット作成テーブル
【図１】
2004350250.tif 000003
【図２】
2004350250.tif 000004
【図３】
2004350250.tif 000005
【図４】
2004350250.tif 000006
【図５】
2004350250.tif 000007
【図６】
2004350250.tif 000008
【図７】
2004350250.tif 000009
【図８】
2004350250.tif 000010
【図９】
2004350250.tif 000011
【図１０】
2004350250.tif 000012
【図１１】
2004350250.tif 000013
【図１２】
2004350250.tif 000014
【図１３】
2004350250.tif 000015
【図１４】
2004350250.tif 000016
【図１５】
2004350250.tif 000017
【図１６】
2004350250.tif 000018
【図１７】
2004350250.tif 000019
【図１８】
2004350250.tif 000020
【図１９】
2004350250.tif 000021
【図２０】
2004350250.tif 000022
【図２１】
2004350250.tif 000023
【図２２】
2004350250.tif 000024
【図２３】
2004350250.tif 000025
【図２４】
2004350250.tif 000026
【図２５】
2004350250.tif 000027
【図２６】
2004350250.tif 000028
【図２７】
2004350250.tif 000029
【図２８】
2004350250.tif 000030