(57)【要約】【課題】処理負荷を抑えたファイル生成方法を提供する。【解決手段】このファイル生成方法は、エレメンタリーストリームからＭＰ４ファイルを生成するファイル生成方法であって、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得するステップＳ４１と、取得したプレイリストから所定の識別情報によって示されるエレメンタリーストリームを選択するステップＳ４２と、選択したエレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、エレメンタリーストリームに含まれるデータをＭＰ４のファイルフォーマットに変換することによって、ＭＰ４ファイルを生成するステップＳ４３と、を含む。【選択図】図３２Ｂ
2015133696.tif 000002
【特許請求の範囲】
【請求項１】
エレメンタリーストリームからＭＰ４ファイルを生成するファイル生成方法であって、
複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得し、
取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択し、
選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをＭＰ４のファイルフォーマットに変換することによって、前記ＭＰ４ファイルを生成する
ファイル生成方法。
【請求項２】
前記プレイリストは、さらに、前記所定の識別情報によって示されるエレメンタリーストリームの一部の区間を示す区間情報を含み、
前記選択では、さらに、前記区間情報で示される前記エレメンタリーストリームの前記区間を選択し、
前記変換では、選択された前記エレメンタリーストリームの前記区間をＭＰ４のファイルフォーマットに変換する
請求項１に記載のファイル生成方法。
【請求項３】
前記区間情報は、前記エレメンタリーストリームの復号または表示の時刻を示す時刻情報で示されており、
前記マニフェストファイルは、前記時刻と前記エレメンタリーストリームにおける位置とが対応付けられた情報であり、
前記変換では、
前記マニフェストファイルから、前記プレイリストの前記区間情報により示される時刻情報に対応した、前記エレメンタリーストリームにおける前記区間の位置を特定し、
特定した前記エレメンタリーストリームの前記区間を抽出し、
抽出した前記エレメンタリーストリームの前記区間をＭＰ４のファイルフォーマットに変換する
請求項２に記載のファイル生成方法。
【請求項４】
前記プレイリストは、
第１エレメンタリーストリームを示す第１識別情報と、第２エレメンタリーストリームを示す第２識別情報とを前記所定の識別情報として、かつ、
前記第１エレメンタリーストリームの第１区間を示す第１区間情報と、前記第２エレメンタリーストリームの第２区間を示す第２区間情報とを前記区間情報として含み、
前記選択では、取得した前記プレイリストから、前記第１識別情報によって示される前記第１エレメンタリーストリームのうちの前記第１区間情報で示される前記第１区間と、前記第２識別情報によって示される前記第２エレメンタリーストリームのうちの前記第２区間情報で示される前記第２区間と、を選択し、
前記変換では、選択した前記第１エレメンタリーストリームの前記第１区間と、前記第２エレメンタリーストリームの前記第２区間とを含むデータをＭＰ４のファイルフォーマットに変換する
請求項２または３に記載のファイル生成方法。
【請求項５】
前記変換では、
前記第１エレメンタリーストリームに対応している第１マニフェストファイルに基づいて、選択した前記第１エレメンタリーストリームの前記第１区間を抽出し、
前記第２エレメンタリーストリームに対応している第２マニフェストファイルに基づいて、選択した前記第２エレメンタリーストリームの前記第２区間を抽出し、
抽出した前記第１区間及び前記第２区間を含むデータをＭＰ４のファイルフォーマットに変換する
請求項４に記載のファイル生成方法。
【請求項６】
前記変換では、
さらに、前記エレメンタリーストリームに対応する音声のＭＰ４ファイルを取得し、
選択した前記エレメンタリーストリームに対応しているマニフェストファイルに基づいて、当該エレメンタリーストリームに対応している映像のエレメンタリーストリームを抽出し、
抽出した前記映像のエレメンタリーストリームと、選択した前記音声のＭＰ４ファイルとを用いて、前記ＭＰ４ファイルを生成する
請求項１から５のいずれか１項に記載のファイル生成方法。
【請求項７】
前記選択では、
ユーザーからの入力を受け付けるためのメニューを生成し、
生成したメニューへの入力を受け付け、
受け付けたメニューへの入力に応じて決定されたプレイリストからエレメンタリーストリームを選択する
請求項１から６のいずれか１項に記載のファイル生成方法。
【請求項８】
エレメンタリーストリームからＭＰ４ファイルを生成するファイル生成装置であって、
複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得する取得部と、
取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択する選択部と、
選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをＭＰ４のファイルフォーマットに変換することによって、前記ＭＰ４ファイルを生成する生成部と、を備える
ファイル生成装置。
【請求項９】
複数のＭＰＥＧ２−ＴＳファイルと、
前記複数のＭＰＥＧ２−ＴＳファイルに含まれる複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストと、
選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルと、を記録している
記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰ４ファイルを生成するファイル生成方法などに関する。
【背景技術】
【０００２】
従来の光ディスクで利用されているファイルフォーマットは、ＩＳＯ／ＩＥＣ  １３８１８１−１で規定されるＭＰＥＧ２−ＴＳ（ＭＰＥＧ−２  Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）方式である。以下、ＭＰＥＧ２−ＴＳ方式を単にＭＰＥＧ２−ＴＳと称する。つまり、映像ストリーム、音声ストリーム、および字幕ストリームをＭＰＥＧ２−ＴＳのファイルフォーマットで多重化することによって構成されるファイルが、光ディスクに記録されている。具体的には、ＭＰＥＧ２−ＴＳでは、映像ストリーム、音声ストリーム、および字幕ストリームなどは、それぞれ１８８Ｂｙｔｅｓの複数のＴＳパケットに分割された上で多重化され、光ディスクに記録される。このＭＰＥＧ２−ＴＳは、前からシーケンシャルに読み込まれて処理されるデータを伝送または記録する、放送または光ディスクのようなメディアに対して最適化されている。したがって、比較的バッファ容量の少ない民生機でも、効率的にストリームを読み込んで復号して再生することが可能である。
【０００３】
これに対して、昨今のネットワークでのコンテンツ配信において利用されつつあるファイルフォーマットは、ＩＳＯ／ＩＥＣ  １４４９６−１２で規定されるＭＰ４方式である。以下、ＭＰ４方式を単にＭＰ４と称する。ＭＰ４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やフラッシュメモリのようなランダムアクセス可能なメディアへの適用を前提に、極めて柔軟なデータ構造を採用している。このＭＰ４の一般的な利用形態では、映像ストリーム、音声ストリーム、および字幕ストリームなどのストリームが、数秒程度のフラグメントという単位に分割され、これらのフラグメントが順次並べられることによって、一つのファイルが構成される。
【０００４】
今後、普及が見込まれる４Ｋなどの高品質なコンテンツを配布するためのメディアとしては、ビット単価の問題からまだまだ光ディスクを活用することが多いと考えられている。一方、スマートフォンまたはタブレットは、光ディスクドライブを持たないが、その携帯性の高さ、または昨今の大画面化および高精細化を活かして、ネットワークでのコンテンツ配信の受信および再生用の端末として利用されている。このため、スマートフォンまたはタブレットでは、ＭＰ４に対応する機能および処理が多く、ＭＰＥＧ２−ＴＳへの適用はあまり進んでいない。
【０００５】
したがって、光ディスクで配布されたＭＰＥＧ２−ＴＳのファイルであるコンテンツをスマートフォンまたはタブレットにコピーする際には、そのコンテンツのファイルフォーマットをＭＰ４に変換することがある（例えば、特許文献１参照）。このような変換によって、ＭＰ４のファイルであるＭＰ４ファイルが生成される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１７５６０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１のファイル生成方法では、ＭＰ４ファイルを生成するための処理負荷が高いという問題がある。
【０００８】
そこで、本発明は、処理負荷を抑えたファイル生成方法を提供する。
【課題を解決するための手段】
【０００９】
本発明の一態様に係るファイル生成方法は、エレメンタリーストリームからＭＰ４ファイルを生成するファイル生成方法であって、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得し、取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択し、選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをＭＰ４のファイルフォーマットに変換することによって、前記ＭＰ４ファイルを生成する。
【００１０】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１１】
本発明のファイル生成方法は、オーバーラップの再生に適したＭＰ４ファイルを生成することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、光ディスクに格納されているＭＰＥＧ２−ＴＳのコンテンツの構造の一例を模式的に示す図である。
【図２】図２は、Ａｌｉｇｎｅｄ  Ｕｎｉｔの復号方法を説明するための図である。
【図３】図３は、平文の状態のＡｌｉｇｎｅｄ  Ｕｎｉｔの内部構造を示す図である。
【図４】図４は、複数のＴＳ  Ｐａｙｌｏａｄから実際のＥｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍを作成する方法を示す図である。
【図５】図５は、実施の形態１におけるファイル生成装置の構成を示すブロック図である。
【図６】図６は、実施の形態１における、ＭＰＥＧ２−ＴＳのストリームファイル、差分ファイルおよびコピーマニフェストファイルから、ＭＰ４のストリームファイルを生成する方法を説明するための図である。
【図７】図７は、実施の形態１における、差分ファイルおよびコピーマニフェストファイルを生成する方法を説明するための図である。
【図８】図８は、実施の形態１におけるファイル生成方法のフローチャートである。
【図９】図９は、実施の形態１の変形例１におけるファイル生成方法を説明するための図である。
【図１０Ａ】図１０Ａは、実施の形態１の変形例１における、ＡＥＳ−ＣＴＲモードによるデータの暗号化を説明するための図である。
【図１０Ｂ】図１０Ｂは、実施の形態１の変形例１における、ＡＥＳ−ＣＴＲモードによるデータの復号を説明するための図である。
【図１１】図１１は、実施の形態１の変形例２における、トランスポートストリームに格納されるＭＰＥＧ−４  ＡＡＣのアクセスユニットをＭＰ４ファイルに格納する例を示す図である。
【図１２】図１２は、実施の形態１の変形例２における、トランスポートストリームに格納されるＭＰＥＧ−４  ＡＶＣのアクセスユニットをＭＰ４に格納する例を示す図である。
【図１３Ａ】図１３Ａは、実施の形態１の変形例２における、ＬＡＴＭヘッダとＬＡＴＭペイロードとのＴＳパケットへの格納例を示す図である。
【図１３Ｂ】図１３Ｂは、実施の形態１の変形例２におけるＡＵ＿ｉｎｆｏテーブルのシンタックスの一例を示す図である。
【図１３Ｃ】図１３Ｃは、実施の形態１の変形例２におけるＡＵ＿ｉｎｆｏテーブルのシンタックスの他の例を示す図である。
【図１４】図１４は、実施の形態１の変形例２におけるファイル生成装置の構成を示すブロック図である。
【図１５Ａ】図１５Ａは、実施の形態１の変形例２における、ＮＡＬユニットの概略構造を示す図である。
【図１５Ｂ】図１５Ｂは、実施の形態１の変形例２における、ＭＰＥＧ２−ＴＳにおけるＮＡＬユニットの格納フォーマットの例を示す図である。
【図１５Ｃ】図１５Ｃは、実施の形態１の変形例２における、ＭＰ４におけるＮＡＬユニットの格納フォーマットの例を示す図である。
【図１６Ａ】図１６Ａは、実施の形態１の変形例２におけるトランスポートストリームにおけるアクセスユニットの構成例を示す図である。
【図１６Ｂ】図１６Ｂは、実施の形態１の変形例２における、サイズ情報ＮＡＬユニットに含まれるサイズ情報のシンタックスの一例を示す図である。
【図１６Ｃ】図１６Ｃは、実施の形態１の変形例２における、サイズ情報ＮＡＬユニットに含まれるサイズ情報のシンタックスの他の例を示す図である。
【図１７】図１７は、実施の形態１の変形例２におけるファイル生成装置がＭＰ４ファイルを生成する処理動作を示すフローチャートである。
【図１８】図１８は、実施の形態１の変形例３における、モード２を使用した場合のアドレス指定の具体例を示す図である。
【図１９】図１９は、実施の形態１の変形例３における、コピーサイズの上限値を超える連続領域を読み出す例を示す図である。
【図２０】図２０は、実施の形態１の変形例３における、エレメンタリーストリームからデータをコピーしてＭＰ４ファイルを生成する処理を説明するための図である。
【図２１】図２１は、実施の形態２における、連続して再生される２つのＭＰ４ファイルのオーディオとビデオの再生区間の例を示す図である。
【図２２Ａ】図２２Ａは、実施の形態２における、再生区間を統合して１つのＭＰ４ファイルを生成する方法を説明するための図である。
【図２２Ｂ】図２２Ｂは、実施の形態２におけるファイル生成装置のブロック図である。
【図２２Ｃ】図２２Ｃは、実施の形態２におけるファイル生成方法のフローチャートである。
【図２２Ｄ】図２２Ｄは、実施の形態２における再生装置のブロック図である。
【図２２Ｅ】図２２Ｅは、実施の形態２における再生方法のフローチャートである。
【図２３Ａ】図２３Ａは、実施の形態３における、光ディスクに格納されたコンテンツからＭＰ４ファイルを生成する場合のメニュー画面の一例を示す図である。
【図２３Ｂ】図２３Ｂは、実施の形態３における、光ディスクおよびネットワークを利用したＭＰ４ファイルの生成方法を説明するための図である。
【図２４】図２４は、実施の形態３における、ＮＡＬユニットのサイズ、ＰＴＳおよびＤＴＳを示すコピーマニフェストの一例を示す図である。
【図２５】図２５は、実施の形態３における、ＭＰ４ファイルの末尾に格納されている字幕データの一例を示す図である。
【図２６】図２６は、実施の形態３における、２Ｋの解像度の字幕を４Ｋにスケーリングして表示するケースを示す図である。
【図２７】図２７は、実施の形態４におけるエクスポート用データの格納方法について示す図である。
【図２８Ａ】図２８Ａは、実施の形態４におけるエクスポート用のプレイリストの例について示す図である。
【図２８Ｂ】図２８Ｂは、実施の形態４におけるコピーマニフェストファイルの例について示す図である。
【図２９Ａ】図２９Ａは、実施の形態４における、複数のバージョンの本編コンテンツが格納されている場合のファイル生成方法の一例について説明するための図である。
【図２９Ｂ】図２９Ｂは、実施の形態４における、ディレクターズカット版の再生経路におけるＭＰ４ファイルを生成する場合のコピーマニフェストファイルを示す図である。
【図３０】図３０は、実施の形態４における、複数のバージョンの本編コンテンツが格納されている場合のファイル生成方法の他の一例について説明するための図である。
【図３１】図３１は、実施の形態４における、エクスポート用のオーディオのＭＰ４ファイルとＭ２ＴＳから分離したビデオのＭＰ４ファイルとの関係を示す一例である。
【図３２Ａ】図３２Ａは、実施の形態４におけるファイル生成装置のブロック図である。
【図３２Ｂ】図３２Ｂは、実施の形態４におけるファイル生成方法のフローチャートである。
【図３３】図３３は、変形例４−１におけるファイル生成装置のブロック図である。
【図３４】図３４は、変形例４−１における、ＭＰ４ファイルを複数に分割して生成する場合の一例を示す図である。
【図３５】図３５は、変形例４−１における、ＭＰ４ファイルを複数に分割して生成する場合の他の一例を示す図である。
【図３６】図３６は、変形例４−１における、ＭＰ４ファイルを複数に分割して生成する場合の他の一例を示す図である。
【図３７】図３７は、変形例４−２における、エクスポート時に使用されるデータを光ディスクに格納する際の格納位置について示す図である。
【図３８】図３８は、変形例４−３における、エクスポート用のプレイリスト内にエレメンタリーストリームのサイズを示すプレイリスト例を示す図である。
【図３９】図３９は、変形例４−４における、プレイアイテム間のオーディオの接続部に発生するギャップの情報をプレイリスト内に示すプレイリスト例を示す図である。
【図４０Ａ】図４０Ａは、変形例４−５における、エクスポート時にオーディオのギャップを生成する方法例について説明するための図である。
【図４０Ｂ】図４０Ｂは、変形例４−５における、ギャップを生成する際に削除する必要があるフレームが示されたプレイリスト例を示す図である。
【図４１】図４１は、変形例４−６における、ＨＤＲ（Ｈｉｇｈ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）の輝度範囲の輝度を含むビデオデータをＭＰ４ファイルに格納する際の格納例を示す図である。
【図４２】図４２は、変形例４−７における、エクスポートしたＤＭＰデータを、ＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）規格などに基づいて、モバイル端末で視聴する際の動作を説明するための図である。
【発明を実施するための形態】
【００１３】
（本発明の基礎となった知見）
本発明者は、「背景技術」の欄において記載した上記特許文献１のファイル生成方法に関し、以下の問題が生じることを見出した。
【００１４】
上記特許文献１のファイル生成方法では、ＭＰＥＧ２−ＴＳで多重化されたコンテンツを、一度、映像ストリーム、音声ストリーム、または字幕ストリームなどの各ストリームに戻した上で、そのコンテンツのファイルフォーマットをＭＰ４に変換する必要がある。また、一般的に、光ディスクで配布される商用コンテンツは暗号化されている。したがって、変換の際には、一旦、暗号を解いてからファイルフォーマットを変換し、その後に、再度暗号化を行う必要がある。以下、ＭＰＥＧ２−ＴＳのコンテンツの構造などについて詳細に説明する。
【００１５】
図１は、光ディスクに格納されているＭＰＥＧ２−ＴＳのコンテンツの構造の一例を模式的に示す図である。光ディスクには、コンテンツとしてＳｔｒｅａｍ  Ｆｉｌｅが格納される。図１に示す例では、光ディスクにはＳｔｒｅａｍ  Ｆｉｌｅが１つしか格納されていないが、複数格納されていてもよい。またここでは、Ｓｔｒｅａｍ  ＦｉｌｅはＸＸＸＸＸ．Ｍ２ＴＳというファイル名で記録されている。ＸＸＸＸＸには、番号が記載される。複数のコンテンツが格納される場合には、この番号によって、それらのコンテンツを個別に管理することが可能である。
【００１６】
Ｓｔｒｅａｍ  Ｆｉｌｅは、それぞれ６１４４ＢｙｔｅｓのＡｌｉｇｎｅｄ  Ｕｎｉｔと呼ばれる複数の単位に区分される。Ａｌｉｇｎｅｄ  Ｕｎｉｔは暗号化の単位である。なお、Ｓｔｒｅａｍ  Ｆｉｌｅのデータ量は、必ずしも６１４４Ｂｙｔｅｓの倍数にならない可能性がある。６１４４Ｂｙｔｅｓの倍数にならない場合には、コンテンツの末尾にＮＵＬＬ  Ｄａｔａを格納する等の方法によって、Ｓｔｒｅａｍ  Ｆｉｌｅのデータ量を６１４４Ｂｙｔｅｓの倍数にすることが望ましい。
【００１７】
図２は、Ａｌｉｇｎｅｄ  Ｕｎｉｔの復号方法を説明するための図である。
【００１８】
光ディスク上のコンテンツは、データであるユニット鍵Ｋｕを用いて暗号化されている。暗号化の際には、Ａｌｉｇｎｅｄ  Ｕｎｉｔに含まれる６１４４Ｂｙｔｅｓのデータは、先頭の１６Ｂｙｔｅｓのデータと、残る６１２８Ｂｙｔｅｓのデータとに分離され、その残りの６１２８Ｂｙｔｅｓのデータが暗号化される。
【００１９】
Ａｌｉｇｎｅｄ  Ｕｎｉｔの復号の際には、ＡＥＳ＿Ｅは、まず、先頭の１６Ｂｙｔｅｓのデータに対して、ユニット鍵Ｋｕを用いたＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）暗号方式の暗号化を行う。次に、この暗号化によって得られたデータと、先頭の１６Ｂｙｔｅｓのデータとの排他的論理和の演算が行われる。ＡＥＳ＿ＤＣＢＣは、この排他的論理和の演算の結果を鍵として利用し、残る６１２８ＢｙｔｅｓのデータをＡＥＳ−ＣＢＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ）モードで復号する。この復号によって得られる平文のデータに、先頭の１６Ｂｙｔｅｓのデータが付け加えられる。その結果、Ａｌｉｇｎｅｄ  Ｕｎｉｔに対応する６１４４Ｂｙｔｅｓの平文が得られる。
【００２０】
図３は、平文の状態のＡｌｉｇｎｅｄ  Ｕｎｉｔの内部構造を示す図である。
【００２１】
Ａｌｉｇｎｅｄ  Ｕｎｉｔは、それぞれ１９２Ｂｙｔｅｓの３２個のＳｏｕｒｃｅ  Ｐａｃｋｅｔから構成される。各Ｓｏｕｒｃｅ  Ｐａｃｋｅｔは、４ＢｙｔｅｓのヘッダであるＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒと、ＴＳパケットである１８８ＢｙｔｅｓのＴｒａｎｓｐｏｒｔ  Ｐａｃｋｅｔとから構成される。さらに１８８ＢｙｔｅｓのＴｒａｎｓｐｏｒｔ  Ｐａｃｋｅｔは、４ＢｙｔｅｓのＴＳ  Ｈｅａｄｅｒと、１８４ＢｙｔｅｓのＴＳ  Ｐａｙｌｏａｄとから構成される。ＴＳ  Ｈｅａｄｅｒには、ＴＳ  Ｐａｙｌｏａｄの属性を示す情報が記載されている。具体的には、ＴＳ  Ｈｅａｄｅｒは、ｓｙｎｃ＿ｂｙｔｅ（８ｂｉｔｓ）、ｔｒａｎｓｐｏｒｔ＿ｅｒｒｏｒ＿ｉｎｄｉｃａｔｏｒ（１ｂｉｔ）、ｐａｙｌｏａｄ＿ｕｎｉｔ＿ｓｔａｒｔ＿ｉｎｄｉｃａｔｏｒ（１ｂｉｔ）、ｔｒａｎｓｐｏｒｔ＿ｐｒｉｏｒｉｔｙ（１ｂｉｔ）、ＰＩＤ（１３ｂｉｔｓ）、ｔｒａｎｓｐｏｒｔ＿ｓｃｒａｍｂｌｉｎｇ＿ｃｏｎｔｒｏｌ（２ｂｉｔｓ）、ａｄａｐｔａｔｉｏｎ＿ｆｉｅｌｄ＿ｃｏｎｔｒｏｌ（２ｂｉｔｓ）、およびｃｏｎｔｉｎｕｉｔｙ＿ｃｏｕｎｔｅｒ（４ｂｉｔｓ）から構成される。ここで、ＰＩＤは、ＴＳ  Ｐａｙｌｏａｄ内に格納されるエレメンタリーストリームの種別、例えばビデオまたは音声などを識別するための情報である。また、音声が複数種類ある場合でも、このＰＩＤによって、エレメンタリーストリームの音声の種類を識別することができる。
【００２２】
図４は、複数のＴＳ  Ｐａｙｌｏａｄから実際のＥｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍを作成する方法を示す図である。同じＰＩＤが割り当てられた複数のＴＳ  Ｐａｙｌｏａｄをつなぎ合わせることによって、ＰＥＳ＿ＨｅａｄｅｒとＥｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍが構成される。ここで、複数のＴＳ  Ｐａｙｌｏａｄのうちの最初のＴＳ  Ｐａｙｌｏａｄは、ＰＥＳ＿Ｈｅａｄｅｒを含むように構成されている。なお、ＰＥＳ＿ＨｅａｄｅｒとＥｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍの少なくとも一部とからＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）またはＰＥＳパケットが構成される。
【００２３】
以上のように、ＭＰＥＧ２−ＴＳのファイル（Ｓｔｒｅａｍ  Ｆｉｌｅ）は、Ａｌｉｇｎｅｄ  Ｕｎｉｔごとに暗号化されている。したがって、そのファイルをＭＰ４のファイルに変換するためには、上述のような復号が行われ、さらに再暗号化が行われる。スマートフォンまたはタブレットなどの変換機器では、この復号および暗号化に時間がかかるという問題がある。さらに、一旦、平文のコンテンツを作成することとなるため、セキュリティ上の問題もある。
【００２４】
このような問題を解決するために、本発明の一態様に係るファイル生成方法は、ＭＰ４ファイルを生成するファイル生成方法であって、ＭＰ４と異なるファイルフォーマットで構成されている元ファイルを取得し、前記元ファイルに含まれていないデータを含む差分ファイルを取得し、前記ＭＰ４ファイルを生成するための手順を示す手順ファイルを取得し、前記手順ファイルに示される手順にしたがって、前記差分ファイルに含まれるデータと、前記元ファイルに含まれるデータとを組み合わせることによって、前記ＭＰ４ファイルを生成する。例えば、前記元ファイルの取得では、ＭＰＥＧ２−ＴＳのファイルフォーマットで構成されている前記元ファイルを取得する。
【００２５】
これにより、予め定められた手順にしたがって、差分ファイルに含まれるデータと、元ファイルに含まれるデータとを組み合わせることによってＭＰ４ファイルが生成される。したがって、ＭＰＥＧ２−ＴＳなどのファイルフォーマットによって構成される元ファイルを、映像ストリームまたは音声ストリームなどの各ストリームに戻すことなく、ＭＰ４ファイルを簡単に生成することができる。また、元ファイルが暗号化されていてもそれを復号して再暗号化する必要がない。したがって、ＭＰ４ファイルを生成するための処理負荷を抑えることができる。
【００２６】
また、前記元ファイル、前記差分ファイルおよび前記手順ファイルの取得では、光ディスクから前記元ファイル、前記差分ファイルおよび前記手順ファイルを読み出すことによって取得してもよい。
【００２７】
これにより、ＭＰ４ファイルの生成に必要となる全てのファイルが１つの光ディスクから取得されるため、それらのファイルを探す手間を省くことができ、ＭＰ４ファイルをより簡単に生成することができる。
【００２８】
また、前記手順ファイルには、前記差分ファイルに含まれる部分の範囲と、前記元ファイルに含まれる部分の範囲とが交互に配列されるように、前記差分ファイルに含まれる複数の部分のそれぞれの範囲と、前記元ファイルに含まれる複数の部分のそれぞれの範囲とが記述され、前記ＭＰ４ファイルの生成では、前記手順ファイルに記述されている各範囲の順に、前記各範囲によって示される部分を組み合わせることによって、前記ＭＰ４ファイルを生成してもよい。
【００２９】
これにより、ＭＰ４ファイルに含まれる各部分をそのＭＰ４ファイルの先頭側から順に生成することができ、後戻りすることがないため、ＭＰ４ファイルをより簡単に生成することができる。
【００３０】
また、前記差分ファイルに含まれる複数の部分のそれぞれの範囲は、データサイズによって前記手順ファイルに記述され、前記元ファイルに含まれる複数の部分のそれぞれの範囲は、当該部分の開始位置とデータサイズとによって前記手順ファイルに記述されていてもよい。
【００３１】
これにより、手順ファイルの記述に基づいて、差分ファイルおよび元ファイルから適切な部分をコピーまたは取得して組み合わせることができる。また、差分ファイルに含まれる部分の範囲の記述に開始位置が用いられないため、手順ファイルのデータサイズを抑えることができる。
【００３２】
また、前記手順ファイルには前記ＭＰ４ファイルのデータサイズが記述されてあり、前記ファイル生成方法は、さらに、前記手順ファイルに記述されている前記ＭＰ４ファイルのデータサイズに基づいて、前記ＭＰ４ファイルを記録するだけの空き容量がメディアにあるか否かを判定してもよい。
【００３３】
これにより、メディアにＭＰ４ファイルを記録するだけの空き容量があるか否かが判定されるため、空き容量がない場合には、そのＭＰ４ファイルの生成を事前に中止するなどの処理を行うことができる。つまり、エラーの発生を未然に防ぐことができる。
【００３４】
また、前記手順ファイルには前記ＭＰ４ファイルの属性が記述されてあり、前記ファイル生成方法は、さらに、前記手順ファイルに記述されている前記属性を読み出してもよい。
【００３５】
これにより、ＭＰ４ファイルの生成前にＭＰ４ファイルの属性を手順ファイルから読み出せば、所望のＭＰ４ファイルが生成されるか否かを事前に判断することができる。
【００３６】
また、前記手順ファイルには前記ＭＰ４ファイルの再生に必要なバッファサイズが記述されてあり、前記ファイル生成方法は、さらに、前記手順ファイルに記述されている前記バッファサイズを読み出してもよい。
【００３７】
これにより、ＭＰ４ファイルの再生に必要なバッファサイズを手順ファイルから読み出せば、ＭＰ４ファイルを解析することなく、そのＭＰ４ファイルが再生可能か否かを簡単に判断することができる。
【００３８】
また、前記手順ファイルには、前記元ファイルの名称である第１のファイル名と前記差分ファイルの名称である第２のファイル名とが記述されてあり、前記ファイル生成方法は、さらに、前記手順ファイルに記述されている第１のファイル名のファイルを前記元ファイルとして特定し、前記手順ファイルに記述されている第２のファイル名のファイルを前記差分ファイルとして特定してもよい。
【００３９】
これにより、ＭＰ４ファイルの生成に用いられる元ファイルおよび差分ファイルを適切に取得することができる。
【００４０】
また、前記ＭＰ４ファイルの生成では、前記差分ファイルに含まれるデータであるＭＰ４に対応するヘッダ情報を、前記元ファイルに含まれるデータと組み合わせてもよい。
【００４１】
これにより、ＭＰ４の適切なヘッダ情報を有するＭＰ４ファイルを簡単に生成することができる。
【００４２】
また、前記元ファイルの取得では、平文の状態の前記元ファイルを取得し、前記ＭＰ４ファイルの生成では、生成された前記ＭＰ４ファイルを暗号化してもよい。
【００４３】
これにより、ＭＰ４への変換後に元ファイルを削除しておけば、その元ファイルに含まれていたデータをＭＰ４ファイルとして残しておきながら、そのデータの秘匿性を確保することができる。
【００４４】
また、前記ＭＰ４ファイルの生成では、前記元ファイルを構成する部分が取得されるごとに、当該部分に対応する前記ＭＰ４ファイルの部分を生成して暗号化し、前記ＭＰ４ファイルを構成する部分が暗号化されるごとに、当該部分に対応する前記元ファイルの部分を削除してもよい。
【００４５】
これにより、平文の元ファイルに含まれる全てのデータが一時的にも記憶領域に格納されることを防ぐことができ、そのデータの秘匿性をより確実に確保することができる。
【００４６】
さらに、上記特許文献１のファイル生成方法では、２つのストリームを連続して再生することが考慮されていない。さらに、その２つのストリームのそれぞれの一部の再生のタイミングをオーバーラップさせことも考慮されていない。したがって、オーバーラップの再生に適したＭＰ４ファイルを生成することができない。
【００４７】
このような問題を解決するために、本発明の一態様に係るファイル生成方法は、ＭＰ４ファイルを生成するファイル生成方法であって、２つのストリームが連続して再生されるように前記２つのストリームを統合することによって１つのＭＰ４ファイルを生成し、前記２つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成された前記ＭＰ４ファイルに格納する。例えば、前記２つのストリームの統合では、それぞれＭＰ４のファイルフォーマットで構成されている元ファイルの少なくとも一部である前記２つのストリームを統合する。また、例えば、前記２つのストリームの統合では、それぞれオーディオのデータを含む前記２つのストリームを統合する。
【００４８】
これにより、ＭＰ４ファイルには、オーバーラップの区間を示す情報が格納されている。したがって、そのＭＰ４ファイルを再生する再生装置は、その情報を用いて、ＭＰ４ファイルから、オーバーラップの区間のデータを容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを合成するなどによってそのデータを適切に再生することができる。つまり、オーバーラップの再生に適したＭＰ４ファイルを生成することができる。
【００４９】
また、前記２つのストリームの統合では、前記２つのストリームのうちの何れか一方のストリームに含まれる複数のサンプルにわたって前記区間が存在する場合、  前記複数のサンプルのうちの少なくとも１つを削除した後に、前記２つのストリームを統合してもよい。
【００５０】
これにより、サンプルが削除されるため、オーバーラップの区間を短くすることができる。その結果、オーバーラップの区間に対する再生装置による特別な処理の負担を軽減することができる。
【００５１】
また、前記情報の格納では、前記区間の時間長を示す時間情報を前記情報として前記ＭＰ４ファイルに格納してもよい。
【００５２】
これにより、ＭＰ４ファイルを再生する再生装置は、その情報を用いて、オーバーラップの区間の時間長を容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを合成するなどによって、特定された時間長内でそのデータを適切に再生することができる。
【００５３】
また、前記情報の格納では、前記ＭＰ４ファイルにおけるｍｏｏｆ内のｔｒａｆに前記時間情報を格納してもよい。
【００５４】
これにより、再生装置は、格納されている時間情報を適切に取得することができる。
【００５５】
また、前記ファイル生成方法では、前記情報を保持している装置または光ディスクから前記情報を取得してもよい。
【００５６】
これにより、わざわざオーバーラップの区間を示す情報を生成することなく、ＭＰ４ファイルにその情報を簡単に格納することができる。
【００５７】
また、本発明の一態様に係る再生方法は、ＭＰ４ファイルを再生する再生方法であって、再生対象のコンテンツにおいて再生のタイミングがオーバーラップする２つの区間を示す情報を前記ＭＰ４ファイルから抽出し、抽出された前記情報に基づいて前記コンテンツにおける前記２つの区間を特定し、当該２つの区間のそれぞれのデータに対する復号結果を合成して出力する。
【００５８】
これにより、再生装置は、ＭＰ４ファイルから、オーバーラップの区間のデータを容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを適切に再生することができる。
【００５９】
また、本発明の一態様に係る記録媒体は、ＭＰ４ファイルを記録している記録媒体であって、前記ＭＰ４ファイルは、コンピュータに読み出されて再生されるコンテンツと、前記コンテンツにおいて再生のタイミングがオーバーラップする２つの区間を示す情報とを含む。
【００６０】
これにより、記録媒体からそのＭＰ４ファイルを読み出して再生する再生装置は、その情報を用いて、ＭＰ４ファイルから上述の２つの区間のデータを容易に特定することができる。その結果、再生装置は、それらの区間のデータを合成するなどによってそのデータを適切に再生することができる。
【００６１】
さらに、上記特許文献１のファイル生成方法では、エレメンタリーストリームからプレイリストを用いてＭＰ４ファイルを生成する際に、エレメンタリーストリームをプレイリストの情報を用いた演算を行うことで特定する必要がある。このため、特定する演算処理にかかる負荷が発生してしまう。
【００６２】
このような問題を解決するために、本発明の一態様に係るファイル生成方法は、エレメンタリーストリームからＭＰ４ファイルを生成するファイル生成方法であって、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得し、取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択し、選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをＭＰ４のファイルフォーマットに変換することによって、前記ＭＰ４ファイルを生成する。
【００６３】
これによれば、プレイリストから選択したエレメンタリーストリームに含まれるデータについて、当該エレメンタリーストリームに対応しているマニフェストファイルに基づいて、ＭＰ４のファイルフォーマットに変換することができる。マニフェストファイルを用いることにより、例えば、プレイリストの所定の識別情報によって示されるエレメンタリーストリームを、演算することなく特定できるため、処理負荷を抑えることができる。
【００６４】
また、前記プレイリストは、さらに、前記所定の識別情報によって示されるエレメンタリーストリームの一部の区間を示す区間情報を含み、前記選択では、さらに、前記区間情報で示される前記エレメンタリーストリームの前記区間を選択し、前記変換では、選択された前記エレメンタリーストリームの前記区間をＭＰ４のファイルフォーマットに変換してもよい。
【００６５】
これによれば、プレイリストから選択したエレメンタリーストリームの区間のデータについて、当該エレメンタリーストリームに対応しているマニフェストファイルに基づいて、ＭＰ４のファイルフォーマットに変換することができる。マニフェストファイルを用いることにより、プレイリストの区間情報によって示されるエレメンタリーストリームの区間を、演算することなく特定できるため、処理負荷を抑えることができる。
【００６６】
また、前記区間情報は、前記エレメンタリーストリームの復号または表示の時刻を示す時刻情報で示されており、前記マニフェストファイルは、前記時刻と前記エレメンタリーストリームにおける位置とが対応付けられた情報であり、前記変換では、前記マニフェストファイルから、前記プレイリストの前記区間情報により示される時刻情報に対応した、前記エレメンタリーストリームにおける前記区間の位置を特定し、特定した前記エレメンタリーストリームの前記区間を抽出し、抽出した前記エレメンタリーストリームの前記区間をＭＰ４のファイルフォーマットに変換してもよい。
【００６７】
これによれば、マニフェストファイルには、復号または表示の時刻と、エレメンタリーストリームにおける位置とが予め関連付けられているため、プレイリストに示される区間情報から、容易にエレメンタリーストリームの区間の位置を特定できる。これにより、処理負荷を抑えることができる。
【００６８】
また、前記プレイリストは、第１エレメンタリーストリームを示す第１識別情報と、第２エレメンタリーストリームを示す第２識別情報とを前記所定の識別情報として、かつ、前記第１エレメンタリーストリームの第１区間を示す第１区間情報と、前記第２エレメンタリーストリームの第２区間を示す第２区間情報とを前記区間情報として含み、前記選択では、取得した前記プレイリストから、前記第１識別情報によって示される前記第１エレメンタリーストリームのうちの前記第１区間情報で示される前記第１区間と、前記第２識別情報によって示される前記第２エレメンタリーストリームのうちの前記第２区間情報で示される前記第２区間と、を選択し、前記変換では、選択した前記第１エレメンタリーストリームの前記第１区間と、前記第２エレメンタリーストリームの前記第２区間とを含むデータをＭＰ４のファイルフォーマットに変換してもよい。
【００６９】
これによれば、プレイリストによって２つのエレメンタリーストリームのそれぞれの区間が選択されていても、容易に２つの区間を特定することができる。これにより、処理負荷を抑えることができる。
【００７０】
また、前記変換では、前記第１エレメンタリーストリームに対応している第１マニフェストファイルに基づいて、選択した前記第１エレメンタリーストリームの前記第１区間を抽出し、前記第２エレメンタリーストリームに対応している第２マニフェストファイルに基づいて、選択した前記第２エレメンタリーストリームの前記第２区間を抽出し、抽出した前記第１区間及び前記第２区間を含むデータをＭＰ４のファイルフォーマットに変換してもよい。
【００７１】
これによれば、プレイリストによって２つのエレメンタリーストリームのそれぞれの区間が選択されていても、２つのエレメンタリーストリームのそれぞれに対応するマニフェストファイルを用いるため、容易に２つの区間を特定することができる。これにより、処理負荷を抑えることができる。
【００７２】
また、前記変換では、さらに、前記エレメンタリーストリームに対応する音声のＭＰ４ファイルを取得し、選択した前記エレメンタリーストリームに対応しているマニフェストファイルに基づいて、当該エレメンタリーストリームに対応している映像のエレメンタリーストリームを抽出し、抽出した前記映像のエレメンタリーストリームと、選択した前記音声のＭＰ４ファイルとを用いて、前記ＭＰ４ファイルを生成してもよい。
【００７３】
これによれば、音声のＭＰ４ファイルをエレメンタリーストリームから変換して生成する必要がないため、処理負荷を抑えることができる。
【００７４】
また、前記選択では、ユーザーからの入力を受け付けるためのメニューを生成し、生成したメニューへの入力を受け付け、受け付けたメニューへの入力に応じて決定されたプレイリストからエレメンタリーストリームを選択してもよい。
【００７５】
これによれば、プレイリストにユーザーの意図を反映することができる。
【００７６】
また、本発明の一態様に係るファイル生成装置は、エレメンタリーストリームからＭＰ４ファイルを生成するファイル生成装置であって、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得する取得部と、取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択する選択部と、選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをＭＰ４のファイルフォーマットに変換することによって、前記ＭＰ４ファイルを生成する生成部と、を備える。
【００７７】
また、本発明の一態様に係る記録媒体は、複数のＭＰＥＧ２−ＴＳファイルと、前記複数のＭＰＥＧ２−ＴＳファイルに含まれる複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストと、選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルと、を記録している。
【００７８】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００７９】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００８０】
（実施の形態１）
図５は、本実施の形態におけるファイル生成装置の構成を示すブロック図である。
【００８１】
本実施の形態におけるファイル生成装置１０は、ＭＰ４ファイルを生成する装置であって、元ファイル取得部１１と、差分ファイル取得部１２と、手順ファイル取得部１３と、生成部１４とを備える。元ファイル取得部１１は、ＭＰ４と異なるファイルフォーマットで構成されている元ファイルを取得する。差分ファイル取得部１２は、その元ファイルに含まれていないデータを含む差分ファイルを取得する。手順ファイル取得部１３は、ＭＰ４ファイルを生成するための手順を示す手順ファイルを取得する。生成部１４は、その手順ファイルに示される手順にしたがって、差分ファイルに含まれるデータと、元ファイルに含まれるデータとを組み合わせることによって、ＭＰ４ファイルを生成する。言い換えれば、生成部１４は、元ファイルをＭＰ４ファイルに変換する。
【００８２】
以下、このファイル生成装置１０による処理動作について詳細に説明する。
【００８３】
図６は、ＭＰＥＧ２−ＴＳのストリームファイル、差分ファイルおよびコピーマニフェストファイルから、ＭＰ４のストリームファイルを生成する方法を説明するための図である。
【００８４】
本実施の形態では、例えば、光ディスク（例えばＢｌｕ−ｒａｙ（登録商標）ディスク）に、上述の元ファイルであるストリームファイルＡ（ＸＸＸＸＸ．Ｍ２ＴＳ）と、上述の手順ファイルであるコピーマニフェストファイル（ＸＸＸＸＸ．ＣＭＮＦ）と、上述の差分ファイル（ＸＸＸＸＸ．ＤＭＰ４）とが記録されている。コピーマニフェストファイル（ＸＸＸＸＸ．ＣＭＮＦ）には、この元ファイルをどのように処理してＭＰ４ファイルに変換するのかの変換手順が記述されている。差分ファイル（ＸＸＸＸＸ．ＤＭＰ４）は、ＭＰ４ファイルへ変換するために必要となるデータを格納している。
【００８５】
生成部１４は、ＭＰＥＧ２−ＴＳのストリームファイルＡ（ＸＸＸＸＸ．Ｍ２ＴＳ）を変換する際には、コピーマニフェストファイル（ＸＸＸＸＸ．ＣＭＮＦ）の記述に従って、ストリームファイルＡ（ＸＸＸＸＸ．Ｍ２ＴＳ）のデータと差分ファイル（ＸＸＸＸＸ．ＤＭＰ４）のデータとを交互に組み合わせることにより、ＭＰ４ファイルであるストリームファイルＢ（ＸＸＸＸＸ．ＭＰ４）を生成する。言い換えれば、生成部１４は、ストリームファイルＡ（ＸＸＸＸＸ．Ｍ２ＴＳ）をストリームファイルＢ（ＸＸＸＸＸ．ＭＰ４）に変換する。
【００８６】
これにより、元ファイルを音声または映像のエレメンタリーストリーム（例えば、ＨＥ−ＡＡＣまたはＭＰＥＧ−４  ＡＶＣのストリーム）に復元することなく、その変換を行うことができる。また、元ファイルが暗号化されていれば、その暗号化も解くことなく、元ファイルからＭＰ４ファイルへの変換が簡単にできる。
【００８７】
このコピーマニフェストファイル（ＸＸＸＸＸ．ＣＭＮＦ）は、“Ｉｎｐｕｔ  Ｆｉｌｅ  Ａ”、“Ｉｎｐｕｔ  Ｆｉｌｅ  Ｂ”、“Ｏｕｔｐｕｔ  Ｆｉｌｅ”、“Ｏｕｔｐｕｔ  Ｆｉｌｅ  Ｓｉｚｅ”、“ＡＴＴＲＩＢＵＴＥ”、“ＭＰ４  ＤＥＣＯＤＥＲ  ＢＵＦＦＥＲ  ＳＩＺＥ”、および“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”を含む。“Ｉｎｐｕｔ  Ｆｉｌｅ  Ａ”および“Ｉｎｐｕｔ  Ｆｉｌｅ  Ｂ”は、入力される２つのファイルのファイル名を示す。“Ｉｎｐｕｔ  Ｆｉｌｅ  Ａ”によって示されるファイルの先頭部分のコピーから変換処理が始められる。“Ｏｕｔｐｕｔ  Ｆｉｌｅ”は、出力されるファイル、つまり生成されるＭＰ４ファイルのファイル名を示す。“Ｏｕｔｐｕｔ  Ｆｉｌｅ  Ｓｉｚｅ”は、その出力されるＭＰ４ファイルのデータサイズを示す。このデータサイズは、バイト精度で記述されている。このデータサイズを確認することで、出力されるＭＰ４ファイルが記録されるメディアに、十分な空き容量があるか否かを変換処理の前に確認することができる。“ＡＴＴＲＩＢＵＴＥ”は、各ファイルの属性を示し、具体的には、どのようなエレメンタリーストリームが変換されてどのようなファイルが生成されるのかを示す。図６に示す例では、“ＡＴＴＲＩＢＵＴＥ”は、変換後のＭＰ４ファイルが、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）で圧縮された４Ｋ映像と、ＡＡＣ（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）の５．１ｃｈ英語音声とを含んでいることを示す。これによって、変換処理の前に、このコピーマニフェストファイルに従って変換した際に得られる変換後のファイルがどのようなファイルかを事前に確認することができる。また、“ＡＴＴＲＩＢＵＴＥ”は、ＭＰ４ファイルのデータ構造などを示してもよく、ＭＰ４ファイルの“ｆｔｙｐ”に格納されるＭＰ４のブランド（つまり種類）を示してもよい。
【００８８】
また、“ＭＰ４  ＤＥＣＯＤＥＲ  ＢＵＦＦＥＲ  ＳＩＺＥ”は、出力されるＭＰ４ファイルである変換後のストリームファイルＢ（ＸＸＸＸＸ．ＭＰ４）を再生するために、最低必要となるバッファサイズを示す。このバッファサイズは、変換後のストリームファイルＢであるＭＰ４ファイルにおいて、どのような多重化規則で映像と音声などが多重化されているかに依存する量である。“ＭＰ４  ＤＥＣＯＤＥＲ  ＢＵＦＦＥＲ  ＳＩＺＥ”は、バッファサイズ以外にも、変換後のストリームファイルＢを再生するために、どのようなデコーダリソース（メモリ量やデータ転送速度）が必要かを示してもよい。
【００８９】
“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”は、“Ｉｎｐｕｔ  Ｆｉｌｅ  Ａ”によって示されるファイルの各部分の範囲と、“Ｉｎｐｕｔ  Ｆｉｌｅ  Ｂ”によって示されるファイルの各部分の範囲とを示す。これの各部分は、“Ｏｕｔｐｕｔ  Ｆｉｌｅ”によって示されるＭＰ４ファイルを生成するために順次コピーして貼り付けられる部分である。また、それぞれの部分の範囲は、コピー開始位置とコピーサイズとによって、またはコピーサイズのみによって示される。また、“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”は、“Ｉｎｐｕｔ  Ｆｉｌｅ  Ａ”によって示されるファイルの部分と、“Ｉｎｐｕｔ  Ｆｉｌｅ  Ｂ”によって示されるファイルの部分とが交互に繰り返しコピーおよび貼り付けられるように、それらのファイルの各部分の範囲を示す。
【００９０】
差分ファイル（ＸＸＸＸＸ．ＤＭＰ４）は、その差分ファイルの先頭から、指定のサイズの部分ごとに、コピーされて貼り付けられる。したがって、“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”では、差分ファイル（ＸＸＸＸＸ．ＤＭＰ４）の各部分を示すために、コピー開始位置を指定する必要がない。つまり、コピー開始位置を用いずに、コピーサイズ（データサイズ）のみによって、差分ファイルの各部分の範囲が示される。
【００９１】
一方、ストリームファイルＡ（ＸＸＸＸＸ．Ｍ２ＴＳ）は、変換後のストリームファイルＢ（ＸＸＸＸＸ．ＭＰ４）に必要のないデータを含む。したがって、“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”では、元ファイルであるストリームファイルＡの各部分を示すために、コピー開始位置およびコピーサイズによって、その各部分の範囲が示される。コピー開始位置は、ファイルの先頭からのバイト位置であり、コピーサイズはバイト単位のデータサイズである。
【００９２】
生成部１４は、コピーマニフェストファイルにしたがって、“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”によって示される、元ファイルに含まれる部分と、差分ファイルに含まれる部分とを、交互にコピーして貼り付けることを繰り返す。つまり、生成部１４は、“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”によって示される、元ファイルに含まれる部分と、差分ファイルに含まれる部分とを、交互に組み合わせることを繰り返す。これにより、変換後のストリームファイルＢであるＭＰ４ファイルが生成される。
【００９３】
したがって、コピーマニフェストファイルにしたがえば、どのような機器で元ファイルを変換したとしても、同一の変換後のストリームファイルＢ（ＸＸＸＸＸ．ＭＰ４）を生成することが可能となる。つまり、変換後のストリームファイルＢを、どのような機器においても不具合無く再生することが容易となる。
【００９４】
なお、ファイル生成装置１０は、差分ファイル（ＸＸＸＸＸ．ＤＭＰ４）とコピーマニフェストファイル（ＸＸＸＸＸ．ＣＭＮＦ）を、Ｂｌｕ−ｒａｙ（登録商標）ディスクなどの光ディスクから取得してもよく、これらの両方もしくは片方のファイルをインターネット経由で取得してもよい。この場合は、元ファイルを、最新のファイルフォーマットのファイル、または別の映像および音声を含むＭＰ４ファイルなどへ変換するなどの様々な選択をユーザーに提示することが、ファイル生成装置１０に特段の変更を要することなく可能となる。
【００９５】
また、ファイル生成装置１０は、元ファイルであるストリームファイルＡが暗号化されたままの状態で変換を行ってもよく、元ファイルの暗号を解いた後に、ＭＰ４ファイルへの変換を行い、生成されたＭＰ４ファイルを再び暗号化してもよい。また、元ファイルであるファイルストリーム（ＸＸＸＸＸ．Ｍ２ＴＳ）は平文であってもよい。なお、差分ファイルは、ヘッダ情報から構成されるため、差分ファイルの暗号化は不要である。ただし、元ファイルであるストリームファイルＡ（ＸＸＸＸＸ．Ｍ２ＴＳ）、あるいは、ＭＰ４ファイルであるストリームファイルＢ（ＸＸＸＸＸ．ＭＰ４）が平文である場合に、ファイル全体をメモリに展開する、あるいは、ハードディスクに一旦保存するなどの動作は、セキュリティ面から許容されないことがある。
【００９６】
したがって、ファイル生成装置１０は、平文の元ファイルであるストリームファイルＡ（ＸＸＸＸＸ．Ｍ２ＴＳ）のうち、ＭＰ４ファイルへの変換が終了した領域から順に、その領域を削除してもよい。また、ファイル生成装置１０は、ＭＰ４ファイルであるストリームファイルＢ（ＸＸＸＸＸＸ．ＭＰ４）を暗号化するときには、そのＭＰ４ファイルに含まれる“Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ”、あるいは、所定の数のＭＰ４サンプルなどの部分が生成される度に、その生成された部分を順に暗号化してもよい。なお、暗号化の前後でデータサイズが変化しないような暗号化方式を用いれば、暗号化の有無に関わらず、コピーされるデータの領域は変化しない。
【００９７】
また、コピーマニフェストファイルは、元ファイルであるストリームファイルＡ（ＸＸＸＸＸ．Ｍ２ＴＳ）が暗号化されているかどうかを示してもよい。あるいは、コピーマニフェストファイルは、そのストリームファイルＡに多重化された符号化データを暗号化されたまま変換するのか、その暗号化された符号化データを平文にしてからＭＰ４ファイルに変換した後に再び暗号化するのかなどを示してもよい。
【００９８】
図７は、差分ファイルおよびコピーマニフェストファイルを生成する方法を説明するための図である。
【００９９】
差分ファイル（ＸＸＸＸＸ．ＤＭＰ４）とコピーマニフェストファイル（ＸＸＸＸＸ．ＣＭＮＦ）は次のようにして生成することが可能である。オーサリングの段階で、元ファイルであるストリームファイルＡ（ＸＸＸＸＸ．Ｍ２ＴＳ）をフォーマット変換することにより、ＭＰ４ファイルである変換後のストリームファイルＢ（ＸＸＸＸＸ．ＭＰ４）を生成する。次に、元ファイルであるストリームファイルＡと、ストリームファイルＢとのそれぞれの間で、互いに一致するデータを含む少なくとも１つの部分を検索する。このとき、それぞれの部分のデータサイズが最も大きくなるように検索する。次に、ストリームファイルＢに含まれる、上述のように検索された部分以外の残りの部分のそれぞれを、ストリームファイルＢに含まれている順番にしたがって連結することにより、差分ファイルを生成する。このときの、各ファイルの相関関係結果を、“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”としてコピーマニフェストファイルに記録する。
【０１００】
なお、上述の検索は、ストリームファイルＡとストリームファイルＢとのそれぞれに含まれるデータを、それぞれのファイルの先頭から後方へ向かう方向に順次取得し、それらのデータを比較することによって行われる。そして、その比較は、上述の方向と逆方向に戻ることなく行われる。これにより、上述の変換処理（コピー処理）を、シーケンシャルに、つまり１つの連続した処理によって行うことが可能となり、高速化または少メモリ化を実現することができる。
【０１０１】
なお、ビデオおよびオーディオをＭＰＥＧ２−ＴＳで多重化する際には、Ｉピクチャなど符号量の大きいピクチャのデータがアンダーフローしないように、ビデオに含まれる所定のＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  ＴｉｍｅＳｔａｍｐ）のピクチャが、オーディオに含まれるその所定のＰＴＳと同一のＰＴＳのフレームに比べて時間的に前に多重化されることがある。一方で、ビデオおよびオーディオをＭＰ４で多重化する際には、“Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ”におけるビデオの先頭ピクチャのＰＴＳとオーディオの先頭フレームのＰＴＳとが一致、あるいは近傍となるように、多重化されることが一般的である。
【０１０２】
このように、ストリームファイルＡとストリームファイルＢにおいて、オーディオ、ビデオ、またはテキストの多重化単位が異なると、変換処理をシーケンシャルに行うことができないことがある。その結果、読出し、あるいは、書き込みのポインタを順次、前後に移動させながら変換することも生じる。したがって、変換処理が１つの連続した処理で行えるかどうか、あるいは、１つの連続した処理で行えない場合に、後戻りが必要な最大データサイズなどを、コピーマニフェストファイルに登録してもよい。
【０１０３】
なお、ストリームファイルＡとストリームファイルＢとに対して行われる、一致するデータを含む部分の検索が、小さいデータの単位で行われると、コピーマニフェストファイルのデータサイズが大きくなったり、変換処理が煩雑になったりする。このため、特定の閾値を設けてもよい。例えば、互いに８バイト以上一致するデータを含む部分のみをコピーマニフェストファイルに登録する。ストリームファイルＢに含まれる、その部分以外の残りの部分のそれぞれが、ストリームファイルＡのデータと一致する８バイト未満のデータを含んでいても、それらの残りの部分に含まれるデータは差分ファイルに格納される。また、この閾値を、コピーマニフェストファイルに“ＭＩＮ  ＣＯＰＹ  ＳＩＺＥ：  ８  ｂｙｔｅｓ”のように記述しても良い。
【０１０４】
また、差分ファイルを用いずに、ＭＰ４ファイルにおける多重化単位を示すコピーマニフェストファイルを用いて、ＭＰＥＧ−２ＴＳのファイルをＭＰ４のファイルに変換してもよい。例えば、ＭＰ４では、オーディオ、ビデオ、あるいは、テキストがそれぞれ異なる“Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ”として多重化される。このとき、復号順で“Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ”の先頭および最終となるオーディオフレームおよびビデオピクチャのそれぞれのＤＴＳ、あるいは、ＭＰＥＧ−２ＴＳのファイルの先頭からのバイトオフセット値などを、メディアの識別情報と共に登録してもよい。なお、“Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ”の登録順は、ＭＰ４のファイルにおける“Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ”の出現順と一致するものとする。
【０１０５】
図８は、本実施の形態におけるファイル生成方法のフローチャートである。
【０１０６】
本実施の形態におけるファイル生成方法は、ファイル生成装置１０がＭＰ４ファイルを生成する方法である。このファイル生成方法では、まず、ファイル生成装置１０の元ファイル取得部１１は、ＭＰ４と異なるファイルフォーマットで構成されている元ファイルを取得する（ステップＳ１１）。次に、差分ファイル取得部１２は、その元ファイルに含まれていないデータを含む差分ファイルを取得する（ステップＳ１２）。次に、手順ファイル取得部１３は、ＭＰ４ファイルを生成するための手順を示す手順ファイルを取得する（ステップＳ１３）。そして、生成部１４は、その手順ファイルに示される手順にしたがって、差分ファイルに含まれるデータと、元ファイルに含まれるデータとを組み合わせることによって、上述のＭＰ４ファイルを生成する（ステップＳ１４）。例えば、ステップＳ１１では、元ファイル取得部１１は、ＭＰＥＧ２−ＴＳのファイルフォーマットで構成されている元ファイルを取得する。
【０１０７】
これにより、予め定められた手順にしたがって、差分ファイルに含まれるデータと、元ファイルに含まれるデータとを組み合わせることによってＭＰ４ファイルが生成される。したがって、ＭＰＥＧ２−ＴＳなどのファイルフォーマットによって構成される元ファイルを、映像ストリームまたは音声ストリームなどの各ストリームに戻すことなく、ＭＰ４ファイルを簡単に生成することができる。また、元ファイルが暗号化されていてもそれを復号して再暗号化する必要がない。したがって、ＭＰ４ファイルを生成するための処理負荷を抑えることができる。
【０１０８】
また、ステップＳ１１〜Ｓ１３では、元ファイル取得部１１、差分ファイル取得部１２、および手順ファイル取得部１３はそれぞれ、光ディスクから元ファイル、差分ファイルおよび手順ファイルを読み出すことによってそれらのファイルを取得する。これにより、ＭＰ４ファイルの生成に必要となる全てのファイルが１つの光ディスクから取得されるため、それらのファイルを探す手間を省くことができ、ＭＰ４ファイルをより簡単に生成することができる。
【０１０９】
ここで、手順ファイルには、差分ファイルに含まれる部分の範囲と、元ファイルに含まれる部分の範囲とが交互に配列されるように、差分ファイルに含まれる複数の部分のそれぞれの範囲と、元ファイルに含まれる複数の部分のそれぞれの範囲とが記述されている。そこで、ステップＳ１４では、生成部１４は、手順ファイルに記述されている各範囲の順に、その各範囲によって示される部分を組み合わせることによって、ＭＰ４ファイルを生成する。これにより、ＭＰ４ファイルに含まれる各部分をそのＭＰ４ファイルの先頭側から順に生成することができ、後戻りすることがないため、ＭＰ４ファイルをより簡単に生成することができる。
【０１１０】
また、差分ファイルに含まれる複数の部分のそれぞれの範囲は、データサイズによって手順ファイルに記述されている。一方、元ファイルに含まれる複数の部分のそれぞれの範囲は、その部分の開始位置とデータサイズとによって手順ファイルに記述されている。これにより、手順ファイルの記述に基づいて、差分ファイルおよび元ファイルから適切な部分をコピーまたは取得して組み合わせることができる。また、差分ファイルに含まれる部分の範囲の記述に開始位置が用いられないため、手順ファイルのデータサイズを抑えることができる。
【０１１１】
また、手順ファイルにはＭＰ４ファイルのデータサイズが記述されている。そこで、ステップＳ１４では、さらに、生成部１４は、手順ファイルに記述されているＭＰ４ファイルのデータサイズに基づいて、そのＭＰ４ファイルを記録するだけの空き容量がメディアにあるか否かを判定してもよい。これにより、メディアにＭＰ４ファイルを記録するだけの空き容量があるか否かが判定されるため、空き容量がない場合には、そのＭＰ４ファイルの生成を事前に中止するなどの処理を行うことができる。つまり、エラーの発生を未然に防ぐことができる。
【０１１２】
また、手順ファイルにはＭＰ４ファイルの属性が記述されている。そこで、ファイル生成装置１０は、さらに、手順ファイルに記述されているその属性を読み出してもよい。
【０１１３】
これにより、ＭＰ４ファイルの生成前にＭＰ４ファイルの属性を手順ファイルから読み出せば、所望のＭＰ４ファイルが生成されるか否かを事前に判断することができる。
【０１１４】
また、手順ファイルにはＭＰ４ファイルの再生に必要なバッファサイズが記述されている。そこで、ファイル生成装置１０は、さらに、手順ファイルに記述されているそのバッファサイズを読み出してもよい。これにより、ＭＰ４ファイルの再生に必要なバッファサイズを手順ファイルから読み出せば、ＭＰ４ファイルを解析することなく、そのＭＰ４ファイルが再生可能か否かを簡単に判断することができる。
【０１１５】
また、手順ファイルには、元ファイルの名称である第１のファイル名と差分ファイルの名称である第２のファイル名とが記述されている。そこで、ファイル生成装置１０は、さらに、手順ファイルに記述されている第１のファイル名のファイルを元ファイルとして特定し、手順ファイルに記述されている第２のファイル名のファイルを差分ファイルとして特定してもよい。これにより、ＭＰ４ファイルの生成に用いられる元ファイルおよび差分ファイルを適切に取得することができる。
【０１１６】
また、ステップＳ１４では、生成部１４は、差分ファイルに含まれるデータであるＭＰ４に対応するヘッダ情報を、元ファイルに含まれるデータと組み合わせる。これにより、ＭＰ４の適切なヘッダ情報を有するＭＰ４ファイルを簡単に生成することができる。
【０１１７】
また、ステップＳ１１では、元ファイル取得部１１は、平文の状態の元ファイルを取得し、ステップＳ１４では、生成部１４は、生成されたＭＰ４ファイルを暗号化してもよい。これにより、ＭＰ４への変換後に元ファイルを削除しておけば、その元ファイルに含まれていたデータをＭＰ４ファイルとして残しておきながら、そのデータの秘匿性を確保することができる。
【０１１８】
ここで、ステップＳ１４では、生成部１４は、元ファイルを構成する部分が取得されるごとに、その部分に対応するＭＰ４ファイルの部分を生成して暗号化し、ＭＰ４ファイルを構成する部分が暗号化されるごとに、その部分に対応する元ファイルの部分を削除してもよい。これにより、平文の元ファイルに含まれる全てのデータが一時的にも記憶領域に格納されることを防ぐことができ、そのデータの秘匿性をより確実に確保することができる。
【０１１９】
（変形例１−１）
上記実施の形態では、差分ファイルおよびコピーマニフェストファイルを用いてＭＰ４ファイルを生成したが、これらのファイルを用いずにＭＰ４ファイルを生成してもよい。本変形例に係るファイル生成方法では、それぞれ平文のヘッダを有する複数のＳｏｕｒｃｅ  ＰａｃｋｅｔからなるＭＰＥＧ２−ＴＳのストリームファイルを、カウンタを用いてＭＰ４のストリームファイルに変換する。これにより、ＭＰ４のストリームファイルが生成される。なお、ＭＰＥＧ２−ＴＳのストリームファイルは元ファイルであり、ＭＰ４のストリームファイルはＭＰ４ファイルである。
【０１２０】
図９は、本変形例におけるファイル生成方法を説明するための図である。
【０１２１】
ＭＰＥＧ２−ＴＳのストリームファイル（つまりコンテンツ）は、上述のように複数のＳｏｕｒｃｅ  Ｐａｃｋｅｔから構成されている。なお、図９において、Ｓｏｕｒｃｅ  Ｐａｃｋｅｔは、ＳＰと略して示されている。
【０１２２】
本変形例におけるＭＰＥＧ２−ＴＳのストリームファイルに含まれる各Ｓｏｕｒｃｅ  Ｐａｃｋｅｔでは、Ｓｏｕｒｃｅ  Ｐａｃｋｅｔに含まれるデータのうち、ＴＳ  Ｐａｙｌｏａｄ部分のみが暗号化されている。つまり、Ｓｏｕｒｃｅ  Ｐａｃｋｅｔに含まれるデータのうち、ＴＳ＿ｅｘｔｒａ＿ｈｅａｄｅｒと、ＴＳ  Ｈｅａｄｅｒとは暗号化されておらず、平文である。
【０１２３】
暗号化には、ＡＥＳ−ＣＴＲ（ＣｏｕｎＴｅＲ）モードが用いられる。なお、ＡＥＳ−ＣＴＲモードでは、カウンタの値を使った暗号化および復号が行われる。図９に示すように、ビデオ用のカウンタ（ＡＥＳ  Ｃｏｕｎｔｅｒ  ｆｏｒ  Ｖｉｄｅｏ）の値を用いて、それぞれビデオのデータを含む複数のＴＳ  Ｐａｙｌｏａｄが暗号化され、オーディオ用のカウンタ（ＡＥＳ  Ｃｏｕｎｔｅｒ  ｆｏｒ  Ａｕｄｉｏ）の値を用いて、それぞれオーディオのデータを含む複数のＴＳ  Ｐａｙｌｏａｄが暗号化される。ビデオ用のカウンタは、図９に示す矢印にしたがってカウント値が増加するように、ビデオのＳｏｕｒｃｅ  Ｐａｃｋｅｔのデータのみをカウントする。オーディオ用のカウンタは、図９に示す矢印にしたがってカウント値が増加するように、オーディオのＳｏｕｒｃｅ  Ｐａｃｋｅｔのデータのみをカウントする。なお、ＡＥＳ−ＣＴＲモードでの暗号化の詳細については後述する。
【０１２４】
ファイル生成装置は、ＭＰＥＧ２−ＴＳのストリームファイルに含まれる複数のＳｏｕｒｃｅ  Ｐａｃｋｅｔのそれぞれのうち、ＴＳ  Ｐａｙｌｏａｄのみを取り出すことによって、ＭＰＥＧ２−ＴＳのストリームファイルを、ＭＰ４のストリームファイルに簡単に変換することができる。
【０１２５】
図１０Ａは、ＡＥＳ−ＣＴＲモードによるデータの暗号化を説明するための図である。
【０１２６】
暗号化の際には、鍵と初期値であるＩＶ（Ｉｎｉｔｉａｌ  Ｖｅｃｔｏｒ）とが用いられる。まず、鍵を用いてＩＶを暗号化する。この暗号化によって得られた値と、暗号化対象のデータの先頭の１６Ｂｙｔｅｓ（図１０Ａに示すｍ１）との排他的論理和の演算によって、その先頭の１６Ｂｙｔｅｓに対応する暗号文ｃ１が生成される。暗号化対象のデータに含まれる次の１６Ｂｙｔｅｓ（図１０Ａに示すｍ２）のデータ（ブロック）に対しては、ＩＶ＝ＩＶ＋１のように、ＩＶを更新した後に、上述の先頭の１６Ｂｙｔｅｓに対する処理と同じ処理を行う。これにより、次の１６Ｂｙｔｅｓのデータに対応する暗号文ｃ２が生成される。上述のように更新されるＩＶは上述のカウンタ値であって、図９に示すビデオ用のカウンタおよびオーディオ用のカウンタはそれぞれＩＶ＝ＩＶ＋１の演算を行う。
【０１２７】
このような処理を連続して行うことで、１６Ｂｙｔｅｓ以上の長いデータに対しても暗号文を作成することができる。なお、暗号化対象のデータの長さが１６Ｂｙｔｅｓの倍数になっていない場合には、末尾のブロックにおいて、排他的論理和をビット単位で行うことによって暗号文が生成される。
【０１２８】
図１０Ｂは、ＡＥＳ−ＣＴＲモードによるデータの復号を説明するための図である。
【０１２９】
復号の際には、復号対象のデータに対して、暗号化の場合と全く同じ処理が行われる。つまり、復号の際にも、鍵を用いてＩＶを暗号化する処理が行われる。
【０１３０】
このように、本変形例に係るファイル生成方法は、ＭＰ４ファイルを生成するファイル生成方法であって、複数のパケットからなる元ファイルを取得し、前記元ファイルに含まれるパケットごとに、当該パケットのうち、平文の状態にあるヘッダ情報を除く、残りの暗号化されているペイロード部分のみを取得して組み合わせてＭＰ４ファイルを生成する。例えば、前記元ファイルの取得では、ＭＰＥＧ２−ＴＳのファイルフォーマットで構成されている前記元ファイルを取得する。これにより、ＭＰＥＧ２−ＴＳなどのファイルフォーマットによって構成される元ファイルを、映像ストリームまたは音声ストリームなどの各ストリームに戻すことなく、ＭＰ４ファイルを簡単に生成することができる。また、元ファイルを復号して再暗号化する必要がない。したがって、ＭＰ４ファイルを生成するための処理負荷を抑えることができる。
【０１３１】
ここで、前記元ファイルに含まれる前記複数のパケットのうち、ビデオのデータを含む複数のパケットのそれぞれのペイロードは、ビデオ用の第１のカウンタのカウンタ値を用いて暗号化され、オーディオのデータを含む複数のパケットのそれぞれのペイロードは、前記第１のカウンタと異なるオーディオ用の第２のカウンタのカウンタ値を用いて暗号化されている。前記第１のカウンタは、前記元ファイルの先頭から後に向かって、ビデオに対応する複数のパケットのそれぞれに含まれるデータのみをカウントし、前記第２のカウンタは、前記元ファイルの先頭から後に向かって、オーディオに対応する複数のパケットのそれぞれに含まれるデータのみをカウントする。これにより、第１のカウンタがビデオ専用のカウンタとして用いられるため、ＭＰ４ファイルにおいて、ビデオに対応する複数のパケットのそれぞれのペイロードが組み合わされて構成されるビデオエレメンタリーを、簡単に復号することができる。同様に、第２のカウンタがオーディオ専用のカウンタとして用いられるため、ＭＰ４ファイルにおいて、オーディオに対応する複数のパケットのそれぞれのペイロードが組み合わされて構成されるオーディオエレメンタリーを、簡単に復号することができる。
【０１３２】
なお、前記元ファイルは複数のＡｌｉｇｎｅｄ  Ｕｎｉｔからなり、前記複数のＡｌｉｇｎｅｄ  Ｕｎｉｔのそれぞれは複数のＳｏｕｒｃｅ  Ｐａｃｋｅｔからなる。前記元ファイルに含まれる前記複数のパケットは、前記複数のＡｌｉｇｎｅｄ  Ｕｎｉｔのそれぞれに含まれる複数のＳｏｕｒｃｅ  Ｐａｃｋｅｔである。また、前記ペイロードはＴＳ  Ｐａｙｌｏａｄであり、前記ヘッダ情報は、ＴＰ＿ｅｘｔｒａ＿ｈｅａｄｅｒおよびＴＳ  Ｈｅａｄｅｒからなる。
【０１３３】
（変形例１−２）
上記実施の形態では、差分ファイルおよびコピーマニフェストファイルを用いてＭＰ４ファイルを生成したが、これらのファイルを用いずにＭＰ４ファイルを生成してもよい。本変形例に係るファイル生成方法では、補助情報を含むＭＰＥＧ２−ＴＳのストリームファイルを、その補助情報を用いてＭＰ４のストリームファイルに変換する。これにより、ＭＰ４のストリームファイルが生成される。
【０１３４】
ＭＰＥＧ２−ＴＳとＭＰ４においては、アクセスユニットのデータの多重化方法が一部異なるため、ＭＰＥＧ２−ＴＳのデータをＭＰ４ファイルに格納する際には、アクセスユニットを複数の部分に分離してそれらの部分を別々に格納する必要がある。基本的には、ＭＰＥＧ２−ＴＳにおけるアクセスユニットは、ビデオのピクチャまたはオーディオのフレームの復号に必須となる初期化情報と、ピクチャまたはフレームの符号化データとを共に含む。一方、ＭＰ４ファイルにおけるアクセスユニット（ＭＰ４では、サンプルまたはＭＰ４サンプルと呼ばれる）は、ピクチャまたはフレームの符号化データのみから構成され、復号に必要な初期化情報は、ＭＰ４ファイルのヘッダ情報として符号化データとは別に格納される。
【０１３５】
以下に、ＭＰＥＧ２−ＴＳによって多重化された符号化データをＭＰ４ファイルに変換する際に、変換に係る処理量を低減させるための補助情報、および、補助情報を使用した多重化フォーマットの変換方法について説明する。特に、符号化データが暗号化されている場合には、暗号化を解いて再暗号化する際の処理量が大きい。本変形例では、符号化データの暗号化を解かずに、データのコピーのみでＭＰ４ファイルへの変換を行うことができる。
【０１３６】
なお、変換前の元ファイルであるＭＰＥＧ２−ＴＳのストリームファイルは、他のＴＳ（トランスポートストリーム）であってもよい。つまり、元ファイルは、ＭＰＥＧ−２システムで規定されたＴＳだけでなく、ＴＳパケットに所定のバイト数のヘッダ情報を付加したＴＳ（例えばＢｌｕ−ｒａｙ（登録商標）  ｄｉｓｃまたは映像配信などで使用されるＴＳ）であってもよい。また、変換によって生成されるＭＰ４ファイルは、“Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ”を使用したＭＰ４ファイルであってもよく、“Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ”を使用しないＭＰ４ファイルであってもよい。さらに、変換によって生成されるファイルのフォーマットは、ＭＰ４をベースに拡張されたＤＥＣＥ（Ｄｉｇｉｔａｌ  Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｃｏｎｔｅｎｔ  Ｅｃｏｓｙｓｔｅｍ）のＣＦＦ（Ｃｏｍｍｏｎ  Ｆｉｌｅ  Ｆｏｒｍａｔ）、またはＭＰＥＧ−ＤＡＳＨ（Ｄｙｎａｍｉｃ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ）などであってもよい。以下では、元ファイルをトランスポートストリームとして説明する。
【０１３７】
図１１は、トランスポートストリームに格納されるＭＰＥＧ−４  ＡＡＣのアクセスユニットをＭＰ４ファイルに格納する例を示す図である。
【０１３８】
トランスポートストリームにおけるＭＰＥＧ−４  ＡＡＣのアクセスユニットは、ＬＡＴＭ（Ｌｏｗ  Ｏｖｅｒｈｅａｄ  Ａｕｄｉｏ  Ｔｒａｎｓｐｏｒｔ  Ｍｕｌｔｉｐｌｅｘ）ヘッダ、ＰａｙｌｏａｄＬｅｎｇｔｈＩｎｆｏ（）、および、ＰａｙｌｏａｄＭｕｘ（）の３種類のデータから構成される。ＬＡＴＭヘッダには、チャネル数およびサンプリング周波数などの、ＭＰＥＧ−４  ＡＡＣの符号化データ（ＡＡＣデータともいう）の復号に必要な初期化情報が含まれる。より詳細には、ＬＡＴＭヘッダ内のＡｕｄｉｏＳｐｅｃｉｆｉｃＣｏｎｆｉｇ（）に、その初期化情報が格納される。ＰａｙｌｏａｄＬｅｎｇｔｈＩｎｆｏ（）には、ＰａｙｌｏａｄＭｕｘ（）のサイズが格納され、ＰａｙｌｏａｄＭｕｘ（）に、ＡＡＣデータが格納される。
【０１３９】
このアクセスユニットのデータをＭＰ４ファイルに格納する際には、ＬＡＴＭヘッダ内のＡｕｄｉｏＳｐｅｃｉｆｉｃＣｏｎｆｉｇ（）が、ＭＰ４ファイルのｍｏｏｖ内のｓｔｓｄにおけるサンプルエントリに格納される。さらに、ＰａｙｌｏａｄＬｅｎｇｔｈＩｎｆｏ（）とＰａｙｌｏａｄＭｕｘ（）とが、サンプルデータとしてｍｄａｔに格納される。なお、サンプルデータはサンプルに格納されるデータである。また、ｍｄａｔ内のサンプルデータはｍｏｏｖから参照される、あるいは、“Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ”を使用する場合には、ｍｄａｔ内のサンプルデータはｍｏｏｆから参照される。ＭＰＥＧ−２  ＡＡＣでは、ＬＡＴＭヘッダではなくＡＤＴＳ（Ａｕｄｉｏ  Ｄａｔａ  Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）ヘッダが用いられ、アクセスユニットは、ＡＤＴＳヘッダとＡＡＣデータ（ｒａｗ＿ｄａｔａ＿ｂｌｏｃｋ（）と呼ばれる）から構成される。このときも、ＡＤＴＳヘッダがアクセスユニットから分離され、ＡＤＴＳヘッダに含まれるデータのうち、少なくともａｄｔｓ＿ｆｉｘｅｄ＿ｈｅａｄｅｒ（）は、サンプルエントリに格納される。さらに、ＡＡＣデータがサンプルデータとしてｍｄａｔに格納される。
【０１４０】
図１２は、トランスポートストリームに格納されるＭＰＥＧ−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）のアクセスユニットをＭＰ４に格納する例を示す図である。
【０１４１】
ＭＰＥＧ−４  ＡＡＣの場合と同様に、トランスポートストリームでは、Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ（ＳＰＳ）およびＰｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ（ＰＰＳ）などの、復号時に必要となる初期化情報は、アクセスユニットの一部として格納される。一方、ＭＰ４ファイルでは、これらの初期化情報は、ＭＰ４ファイルのヘッダ情報として格納される。図１２に示すアクセスユニットは、ＩＤＲ（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｄｅｃｏｄｅｒ  Ｒｅｆｒｅｓｈ）ピクチャを構成する。ＳＰＳおよびＰＰＳのそれぞれのＮＡＬ（Ｎｅｔｗｏｒｋ  Ａｄａｐｔａｔｉｏｎ  Ｌａｙｅｒ）ユニットは、アクセスユニットから分離されて、ＭＰ４ファイルのｍｏｏｖ内のｓｔｓｄにおけるサンプルエントリに格納される。アクセスユニットに含まれるその他のデータは、サンプルデータとしてｍｄａｔに格納される。
【０１４２】
なお、ＭＰ４では、ＭＰＥＧ−４  ＡＶＣのサンプルデータに、ＳＰＳおよびＰＰＳなどの初期化情報を含めることが可能なモードを選択することができる。モードは、サンプルエントリの識別情報によって示される。識別情報が“ａｖｃ１”または“ａｖｃ２”の場合には、初期化情報をサンプルデータに含めることは禁止される。一方、識別情報が“ａｖｃ３”または“ａｖｃ４”の場合には、初期化情報をサンプルデータに含めることが許可される。したがって、トランスポートストリームをＭＰ４ファイルに変換する際に、ＭＰ４ファイルにおける上述の識別情報を“ａｖｃ１”または“ａｖｃ２”に設定する場合には、トランスポートストリームにおけるアクセスユニットからｍｄａｔに格納されるデータの中から、ＳＰＳおよびＰＰＳのＮＡＬユニット、あるいは、スタッフィング用に用いるＦｉｌｌｅｒＤａｔａのＮＡＬユニットは削除される。また、識別情報を“ａｖｃ３”または“ａｖｃ４”に設定する場合には、ＳＰＳまたはＰＰＳのＮＡＬユニットを削除しなくてもよい。したがって、ＭＰ４ファイルにおける識別情報の設定値に応じて、ＳＰＳおよびＰＰＳを削除するかどうかを切替えてもよい。
【０１４３】
また、次世代の動画像符号化方式であるＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）のデータは、ＭＰＥＧ−４  ＡＶＣと同様に、ＮＡＬユニットによって構造され、ＳＰＳおよびＰＰＳなどの初期化情報を有する。ＨＥＶＣのデータをＭＰ４ファイルに格納する際には、初期化情報をサンプルデータに含めてもよい。したがって、トランスポートストリームをＭＰ４ファイルに変換する際に、トランスポートストリームにおけるアクセスユニットからｍｄａｔに格納されるデータのうち、初期化情報を削除するかどうかを、符号化方式の種類に応じて判定し、その判定結果に応じて処理してもよい。
【０１４４】
上述のように、ＭＰＥＧ−４  ＡＡＣの符号化データをＭＰ４ファイルに格納する際には、ＬＡＴＭヘッダはアクセスユニットから分離される。さらに、ＰａｙｌｏａｄＬｅｎｇｔｈＩｎｆｏ（）およびＰａｙｌｏａｄＭｕｘ（）のみがサンプルデータとしてｍｄａｔに格納される。以降、ＰａｙｌｏａｄＬｅｎｇｔｈＩｎｆｏ（）とＰａｙｌｏａｄＭｕｘ（）とを合わせて、ＬＡＴＭペイロードと呼ぶ。
【０１４５】
そこで、本変形例では、ＭＰＥＧ−４  ＡＡＣのアクセスユニットのデータを複数のＴＳパケットに格納する際には、ＬＡＴＭヘッダとＬＡＴＭペイロードとを別々のＴＳパケットに格納する。これにより、ＬＡＴＭヘッダを容易に分離することができる。
【０１４６】
図１３Ａは、ＬＡＴＭヘッダとＬＡＴＭペイロードとのＴＳパケットへの格納例を示す図である。ＬＡＴＭヘッダとＬＡＴＭペイロードとのそれぞれのデータが同一ＴＳパケットのペイロード内に混在しないように、必要に応じてスタッフィングが行われる。例えば、アクセスユニット１のＬＡＴＭヘッダが先頭のＴＳパケットのペイロードに格納される。このとき、ＬＡＴＭヘッダのサイズがＴＳペイロードのサイズに満たない場合には、ＴＳペイロードの残りの領域に対してスタッフィングが行われる。なお、図１３Ａに示す例では、ＰＥＳパケットは記載されていないが、実際には、アクセスユニットのデータはＰＥＳパケットのペイロードに格納され、ＰＥＳパケットのデータがＴＳパケットのペイロードに格納される。
【０１４７】
次に、ＬＡＴＭヘッダが格納されたＴＳパケットと、ＬＡＴＭペイロードが格納されたＴＳパケットの識別方法について説明する。１アクセスユニットを１ＰＥＳパケットとして格納する際には、ＰＥＳパケットの先頭データを含むＴＳパケットにおいて、ＴＳヘッダのｐａｙｌｏａｄ＿ｕｎｉｔ＿ｓｔａｒｔ＿ｉｎｄｉｃａｔｏｒが１にセットされる。ｐａｙｌｏａｄ＿ｕｎｉｔ＿ｓｔａｒｔ＿ｉｎｄｉｃａｔｏｒが１にセットされたＴＳパケットのペイロードにＬＡＴＭヘッダが含まれることを保証すれば、ｐａｙｌｏａｄ＿ｕｎｉｔ＿ｓｔａｒｔ＿ｉｎｄｉｃａｔｏｒの値に基づいて、ＴＳパケット内にＬＡＴＭヘッダが含まれるかどうかを判定することができる。複数のアクセスユニットを１つのＰＥＳパケットに格納する際には、補助情報であるＡＵ＿ｉｎｆｏテーブルをＰＥＳパケットのペイロードの先頭に配置してもよい。このＡＵ＿ｉｎｆｏテーブルは、ＰＥＳパケットのペイロード内に含まれるアクセスユニットの個数と、各アクセスユニットにおけるＬＡＴＭヘッダとＬＡＴＭペイロードのサイズとを含む。
【０１４８】
図１３Ｂは、ＡＵ＿ｉｎｆｏテーブルのシンタックスの一例を示す図である。
【０１４９】
ＡＵ＿ｉｎｆｏテーブルは、ＡＵ＿ｉｎｆｏ＿ｉｄｅｎｔｉｆｉｃａｔｉｏｎ＿ｃｏｄｅと、アクセスユニットの個数を示すｎｕｍｂｅｒ＿ｏｆ＿ＡＵと、アクセスユニットにおけるＬＡＴＭヘッダとＬＡＴＭペイロードのサイズを示すｓｉｚｅ＿ｏｆ＿ＬｅｎｇｔｈＩｎｆｏとを含む。ＡＵ＿ｉｎｆｏ＿ｉｄｅｎｔｉｆｉｃａｔｉｏｎ＿ｃｏｄｅは、ＡＵ＿ｉｎｆｏテーブルに固有のビット列である。本コードをサーチすることで、ＡＵ＿ｉｎｆｏテーブルが存在するかどうかを判定することができる。あるいは、ＭＰ４のＢｏｘ構造のように、ＡＵ＿ｉｎｆｏテーブルを、ＢｏｘのデータサイズとＢｏｘのタイプとを組み合わせたデータ構造としてもよい。ただし、トランスポートストリームにおけるデスクリプタ、あるいは、トランスポートストリームとは別に用意されたＭＰ４ファイルへの変換用の補助データなどによって、ＡＵ＿ｉｎｆｏテーブルの存在がシグナリングされる場合には、上述のコードを省略してもよい。また、１アクセスユニットを１ＰＥＳパケットに格納する際にも、ＡＵ＿ｉｎｆｏテーブルを使用してもよい。
【０１５０】
このようなアクセスユニット内の各構成要素のサイズまたはデータオフセットを示すことにより、ＭＰ４ファイルへの変換のために分離されるデータを特定する手法を、ＭＰＥＧ−４  ＡＶＣの符号化データに対して適用してもよい。つまり、ＭＰＥＧ−４  ＡＶＣの符号化データをＭＰ４ファイルに格納する際に、ＳＰＳおよびＰＰＳのそれぞれのＮＡＬユニットを分離するために、上述の手法を適用してもよい。
【０１５１】
図１３Ｃは、アクセスユニット内の構成要素毎に、ＭＰ４ファイルのサンプルデータからその構成要素を除外する必要があるかどうかを示すためのＡＵ＿ｉｎｆｏテーブルのシンタックスの一例を示す図である。
【０１５２】
ＡＵ＿ｉｎｆｏテーブルは、ＡＵ＿ｉｎｆｏ＿ｉｄｅｎｔｉｆｉｃａｔｉｏｎ＿ｃｏｄｅと、ｎｕｍｂｅｒ＿ｏｆ＿ｄａｔａ＿ｕｎｉｔと、ｓｉｚｅ＿ｏｆ＿ｄａｔａ＿ｕｎｉｔと、ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅとを含む。ｎｕｍｂｅｒ＿ｏｆ＿ｄａｔａ＿ｕｎｉｔは、アクセスユニットに含まれるデータユニットの個数を示す。ｓｉｚｅ＿ｏｆ＿ｄａｔａ＿ｕｎｉｔは、データユニットのサイズを示す。ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅは、ＭＰ４ファイルへの変換時におけるデータユニットの扱い方を示す変換モードである。ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅが０であれば、そのｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅは、ＭＰ４ファイルのサンプルデータとしてデータユニットをコピーすることを示す。また、ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅが１であれば、そのｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅは、サンプルデータからデータユニットを除外すること、つまりサンプルデータとしてデータユニットをコピーしないことを示す。
【０１５３】
なお、ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅが１である場合には、そのｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅは、データユニットを除外した後のそのデータユニットの取り扱いを示してもよい。例えば、そのｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅは、サンプルデータからデータユニットを除外したうえで、そのデータユニットをサンプルエントリに格納することなどを示す。
【０１５４】
また、複数のデータユニットのそれぞれの情報は復号順で昇順となるように格納される。例えば、ＭＰＥＧ−４  ＡＶＣの１アクセスユニットを１ＰＥＳパケットとして格納する場合には、データユニットがＮＡＬユニットに相当し、アクセスユニットを構成するＮＡＬユニットの個数がｎｕｍ＿ｏｆ＿ｄａｔａ＿ｕｎｉｔによって示される。そして、ＳＰＳおよびＰＰＳのそれぞれのＮＡＬユニットに対して、ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅが１にセットされる。また、ＬＡＴＭヘッダとＬＡＴＭペイロードのそれぞれをデータユニットとみなしてもよい。この場合、ＬＡＴＭヘッダに対応するデータユニットに対して、ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅを１にセットすることで、このＡＵ＿ｉｎｆｏテーブルをＭＰＥＧ−４  ＡＡＣに対しても適用することができる。ＰＥＳパケット内に複数のアクセスユニットを格納する場合には、ｎｕｍｂｅｒ＿ｏｆ＿ｄａｔａ＿ｕｎｉｔは、ＰＥＳパケット内の全アクセスユニットに含まれるデータユニットの総数を示す。
【０１５５】
なお、ＰＥＳパケットの開始部分を含むＴＳパケットのヘッダ（図３のＴＳ  Ｈｅａｄｅｒ）のａｄａｐｔａｔｉｏｎ＿ｆｉｅｌｄ内に、ＡＵ＿ｉｎｆｏテーブルを格納してもよい。ＭＰＥＧ−４  ＡＶＣまたはＨＥＶＣにおけるＮＡＬユニットあるいはＳＥＩ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）などの符号化データの一部として、ＡＵ＿ｉｎｆｏテーブルを格納してもよい。ＡＵ＿ｉｎｆｏテーブルを符号化データの一部として格納する際には、アクセスユニット毎あるいはランダムアクセス毎にＡＵ＿ｉｎｆｏテーブルを格納することができる。また、ＡＵ＿ｉｎｆｏテーブルをＴＳパケットまたはＰＥＳパケットに格納する場合にも、ＰＥＳパケット毎にＡＵ＿ｉｎｆｏテーブルを格納してもよく、ランダムアクセスユニット内の復号順で先頭となるアクセスユニットを含むＰＥＳパケットにのみＡＵ＿ｉｎｆｏテーブルを格納してもよい。ランダムアクセスユニット毎にＡＵ＿ｉｎｆｏテーブルを格納する場合には、ＡＵ＿ｉｎｆｏテーブルには、ランダムアクセスユニットを構成する全てのアクセスユニットに関する情報が格納される。
【０１５６】
図１４は、本変形例に係るファイル生成装置の構成を示すブロック図である。
【０１５７】
本変形例に係るファイル生成装置１００は、ＡＵ＿ｉｎｆｏテーブルを含むトランスポートストリームをＭＰ４ファイルに変換することによって、そのＭＰ４ファイルを生成する。このファイル生成装置１００は、補助情報サーチ部１０１と、補助情報解析部１０３と、生成部１０４とを備える。補助情報サーチ部１０１は、トランスポートストリームから補助情報であるＡＵ＿ｉｎｆｏテーブルをサーチする。補助情報解析部１０３は、そのサーチ結果に基づいて、ＡＵ＿ｉｎｆｏテーブルが存在するか否かを判定する。さらに、補助情報解析部１０３は、ＡＵ＿ｉｎｆｏテーブルが存在すると判定すると、そのＡＵ＿ｉｎｆｏテーブルを解析する。生成部１０４は、補助情報解析部１０３による解析結果に基づいてＭＰ４ファイルを生成する。
【０１５８】
生成部１０４は、具体的には、サンプル生成部１０４ａとサンプルエントリ生成部１０４ｂとを備える。サンプル生成部１０４ａは、ＬＡＴＭペイロードのデータ、またはＳＰＳおよびＰＰＳ以外のＮＡＬユニットなどを、サンプルデータとしてＭＰ４ファイルのｍｄａｔに格納する。サンプルエントリ生成部１０４ｂは、ＬＡＴＭヘッダのデータ、またはＳＰＳおよびＰＰＳのそれぞれのＮＡＬユニットなどを、ＭＰ４ファイルのｍｏｏｖ内のｓｔｓｄにおけるサンプルエントリに格納する。
【０１５９】
このようなファイル生成装置１００によって、上述のＡＵ＿ｉｎｆｏテーブルを含むトランスポートストリームをＭＰ４ファイルに簡単に変換することができる。
【０１６０】
上述のように、ＭＰＥＧ２−ＴＳとＭＰ４とでは、オーディオまたはビデオの符号化データを格納する際に、復号時に必要となる初期化情報の格納場所が異なる。さらに、ＭＰＥＧ２−ＴＳとＭＰ４とでは、ＭＰＥＧ−４  ＡＶＣまたはＨＥＶＣにおけるＮＡＬユニットの格納フォーマットが異なる。したがって、トランスポートストリームからＭＰ４ファイルへの変換には、格納フォーマットの変換が必要である。以下、図１５Ａから図１５Ｃを用いて、ＭＰＥＧ２−ＴＳとＭＰ４におけるＮＡＬユニットの格納フォーマットについて説明する。
【０１６１】
図１５Ａは、ＮＡＬユニットの概略構造を示す図である。
【０１６２】
ＮＡＬユニットは、ヘッダとペイロードとから構成される。そのヘッダには、ペイロードに格納されるデータの種別を示すタイプ情報が格納されている。
【０１６３】
図１５Ｂは、ＭＰＥＧ２−ＴＳにおけるＮＡＬユニットの格納フォーマットの例を示す図である。ＭＰＥＧ２−ＴＳにおいては、ＮＡＬユニットの境界を識別するために、スタートコードと呼ばれる固有のビット列が識別情報としてＮＡＬユニットに付加される（以降、このような識別情報の形式をスタートコード形式と呼ぶ）。復号装置などは、そのスタートコード、及び、ＮＡＬユニットのヘッダに格納されているタイプ情報をサーチすることで、所望のＮＡＬユニットを分離することができる。
【０１６４】
図１５Ｃは、ＭＰ４におけるＮＡＬユニットの格納フォーマットの例を示す図である。ＭＰ４においては、ＮＡＬユニットの境界を識別するために、ＮＡＬユニットのデータサイズを識別情報として示すフィールドがＮＡＬユニットに付加される（以降、このような識別情報の形式をＮＡＬサイズ形式と呼ぶ）。ここで、データサイズを示すフィールドのフィールド長は、サンプルエントリ内におけるＡＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄの中に格納される。ＡＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄは、復号時の初期化情報などが格納される領域である。復号装置などは、ＮＡＬユニットのデータサイズに基づいて所望のＮＡＬユニットを分離することができる。
【０１６５】
以上のように、ＭＰＥＧ２−ＴＳとＭＰ４とでは、ＮＡＬユニットの境界を示す識別情報の形式が、スタートコード形式であるか、ＮＡＬサイズ形式であるかという点についても異なる。したがって、トランスポートストリームをＭＰ４ファイルへ変換する際には、ＮＡＬユニットの境界を示す識別情報を変換する必要がある。なお、ＮＡＬユニットの格納フォーマットは符号化方式毎に規定されるため、オーディオまたはビデオの符号化方式を参照して、ＭＰ４ファイルへの変換の動作を切替えればよい。
【０１６６】
ＭＰ４ファイルに変換する際に、ＮＡＬサイズ形式の符号化方式のデータを扱う場合には、ＮＡＬユニットのデータサイズが必要となる。したがって、アクセスユニットを構成するＮＡＬユニットのデータサイズが予め取得できることが望ましい。こうすることで、スタートコード形式のアクセスユニットにおいてスタートコードをサーチし、ＮＡＬユニット境界を検出することによって、ＮＡＬユニットのデータサイズを決定する際の処理量を削減することができる。
【０１６７】
つまり、本変形例におけるトランスポートストリームにおけるアクセスユニットの先頭には、そのアクセスユニットに含まれる各ＮＡＬユニットのデータサイズを示すサイズ情報が格納されている。
【０１６８】
図１６Ａは、本変形例に係るトランスポートストリームにおけるアクセスユニットの構成例を示す図である。この図１６Ａに示すように、トランスポートストリームに多重化されるアクセスユニットを構成する各ＮＡＬユニットのデータサイズを示すサイズ情報が、アクセスユニットの先頭に格納されている。例えば、このサイズ情報は、新規に定義されたサイズ情報ＮＡＬユニットに格納される。ＮＡＬユニットのタイプには、プライベート用およびユーザーデータ用が存在する。そこで、これらの中からいずれかのタイプを選択し、その選択されたタイプのＮＡＬユニットをサイズ情報ＮＡＬユニットとして使用する。サイズ情報については暗号化の必要がないため、このサイズ情報ＮＡＬユニットは平文で格納される。
【０１６９】
図１６Ｂは、サイズ情報ＮＡＬユニットに含まれるサイズ情報のシンタックスの一例を示す図である。サイズ情報は、ｎｕｍｂｅｒ＿ｏｆ＿ｎａｌｕおよびｎａｌ＿ｓｉｚｅを含む。ｎｕｍｂｅｒ＿ｏｆ＿ｎａｌｕはアクセスユニットを構成するＮＡＬユニットの個数を示し、ｎａｌ＿ｓｉｚｅによって各ＮＡＬユニットのデータサイズが示される。サイズ情報ＮＡＬユニットはＭＰ４ファイルには格納されないため、サイズ情報は、サイズ情報ＮＡＬユニット自体のデータサイズを示さなくてもよい。なお、図１６Ａに示す例では、サイズ情報ＮＡＬユニットは、Ａｃｃｅｓｓ  Ｕｎｉｔ  Ｄｅｌｉｍｉｔｅｒ（ＡＵＤ）と呼ばれるアクセスユニットの先頭をシグナリングするためのＮＡＬユニットの前に配置されているが、ＡＵＤの直後に配置されてもよい。ＡＵＤの直後にサイズ情報ＮＡＬユニットを配置する場合には、サイズ情報ＮＡＬユニットのサイズ情報は、ＡＵＤの後の各ＮＡＬユニットのサイズを示す。そのため、サイズ情報はＡＵＤのデータサイズを示さない。しかし、ＡＵＤのデータサイズは固定であるため、ファイル生成装置１００はそのデータサイズを予め記憶しておけばよい。また、ＡＵ＿ｉｎｆｏテーブルと同様に、サイズ情報をＰＥＳパケットのペイロードの先頭に配置してもよい。
【０１７０】
図１６Ｃは、サイズ情報ＮＡＬユニットに含まれるサイズ情報のシンタックスの他の例を示す図である。
【０１７１】
図１６Ａに示すように、トランスポートストリームにおけるＮＡＬユニットの前には、スタートコードに加えて、ｚｅｒｏ＿ｂｙｔｅなど可変長のコードが含まれることがある。したがって、図１６Ｃに示すように、ＮＡＬユニットのスタートコードを含む識別情報のデータサイズ（図１６Ｃに示すｐｒｅｆｉｘ＿ｓｉｚｅ）をサイズ情報に格納してもよい。なお、識別情報のデータサイズが固定であれば、ＭＰＥＧ２−ＴＳのデスクリプタ、またはＭＰ４ファイルへの変換時の補助データに、その識別情報のデータサイズを格納してもよい。さらに、ＮＡＬサイズ形式では、ＭＰ４ファイルへの変換後のＮＡＬユニットのデータサイズを示すフィールドのフィールド長も示してもよい。
【０１７２】
また、識別情報をデータユニットとみなし、ＡＵ＿ｉｎｆｏテーブルによってＮａｌ＿ｓｉｚｅ＿ｉｎｆｏの内容を示してもよい。このとき、ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅを多値とすることにより、データユニットを削除する、そのまま残す、の２つの動作に加えて、データユニットのデータ構造を変換するというモードを追加してもよい。さらに、ＡＵ＿ｉｎｆｏテーブルに、データユニットの種類を識別するための識別情報を追加してもよい。例えば、このような識別情報によって、ＭＰＥＧ−４  ＡＶＣまたはＨＥＶＣにおけるＳＰＳのＮＡＬユニット、ＰＰＳのＮＡＬユニットあるいはスライスのＮＡＬユニットなど、ＮＡＬユニットのタイプを判別することができる。あるいは、ＭＰＥＧ−４  ＡＡＣのＬＡＴＭヘッダまたはＬＡＴＭペイロードなどを判別することなどが可能である。さらに、データユニットが暗号化されているかどうかを示すフィールドを別途設けてもよい。
【０１７３】
ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅが異なるデータユニットを、異なるＴＳパケットに格納してもよい。また、ｃｏｎｖｅｒｓｉｏｎ＿ｍｏｄｅが２である場合に、ヘッダ情報としてサンプルエントリに格納されるデータユニットを平文としてＴＳパケットに格納しておいてもよい。
【０１７４】
暗号化については、スライスデータのＮＡＬユニットのみを暗号化し、それ以外の部分は平文としてもよい。暗号化はＴＳパケット単位で行われるため、ＴＳパケットのペイロードにおいて平文と暗号化部分とは混在できず、ＡＵＤなどはデータサイズが小さく、ＡＵＤを独立したパケットとして格納するとスタッフィングが増加して多重化効率が低下するためである。また、暗号化されたスライスのＮＡＬユニットデータの境界がＴＳパケットのペイロードの終端にアラインされない場合には、スタッフィングが必要となる。スタッフィングを行う場合には、ＴＳパケットヘッダのａｄａｐｔａｔｉｏｎ＿ｆｉｅｌｄを用いるか、符号化データに、Ｆｉｌｌｅｒ  Ｄａｔａ  ＮＡＬユニット、またはＦｉｌｌｅｒ  Ｄａｔａ用のＳＥＩなどを挿入する方法がある。ＴＳパケットヘッダのａｄａｐｔａｔｉｏｎ＿ｆｉｅｌｄを用いる場合には、ａｄａｐｔａｔｉｏｎ＿ｆｉｅｌｄは平文にする必要があるが、可変長の領域に対して暗号化するか否かの処理を切替えることは負荷が高い。したがって、スタッフィングを行う際には、符号化データにおけるスタッフィング用のデータ構造を用いて、ＮＡＬユニットデータの境界がＴＳパケットのペイロード終端にアラインさせることが望ましい。
【０１７５】
また、ＴＳパケットのＡｄａｐｔａｔｉｏｎ  ｆｉｅｌｄ、あるいは、アクセスユニット内に、ユーザーデータ格納用のＳＥＩ（Ｕｓｅｒ  ｕｎｒｅｇｉｓｔｅｒｅｄ  ＳＥＩ）を挿入して、そのＳＥＩにサイズ情報を格納してもよい。ＭＰ４ファイルに変換する際には、これらのいずれか１つ以上の方法により格納されたＮＡＬユニットのサイズ情報に基づいて、スタートコード形式をＮＡＬサイズ形式に変換することができる。また、サイズ情報が格納されているかどうかを示す情報を、ＭＰＥＧ２−ＴＳにおけるデスクリプタなどを用いて格納してもよい。
【０１７６】
図１７は、本変形例に係るファイル生成装置１００がＭＰ４ファイルを生成する処理動作を示すフローチャートである。具体的には、このフローチャートは、図１３Ｃに示すＡＵ＿ｉｎｆｏテーブルを参照してトランスポートストリームをＭＰ４ファイルに変化する処理動作の例を示す。
【０１７７】
ファイル生成装置１００の補助情報サーチ部１０１は、ＰＥＳパケットのペイロードの先頭などに配置されるＡＵ＿ｉｎｆｏテーブルをサーチする（ステップＳ１０１）。次に、補助情報解析部１０３は、そのサーチの結果に基づいて、ＡＵ＿ｉｎｆｏテーブルが存在するかどうかを判定する（ステップＳ１０２）。ここで、ＡＵ＿ｉｎｆｏテーブルが存在すると判定されると（ステップＳ１０２の「はい」）、補助情報解析部１０３は、ＡＵ＿ｉｎｆｏテーブルに含まれている、各データユニットのデータサイズと、その各データユニットの変換モードとを取得する（ステップＳ１０３）。一方、ＡＵ＿ｉｎｆｏテーブルが存在しないと判定されると（ステップＳ１０２の「いいえ」）、生成部１０４のサンプル生成部１０４ａは、ＰＥＳパケットから分離されたアクセスユニットをデータユニットとみなし、そのデータユニットをサンプルデータとしてコピーしてｍｄａｔに貼り付ける（ステップＳ１０５）。１アクセスユニットが１ＰＥＳパケットに格納されている場合には、サンプル生成部１０４ａは、ＰＥＳパケットのペイロードを１アクセスユニット分のデータとみなして分離する。複数アクセスユニットが１ＰＥＳパケットに格納されている場合、あるいは、アクセスユニットがフラグメント化されてＰＥＳパケットに格納されている場合には、サンプル生成部１０４ａは、符号化データにおける各アクセスユニットの境界をサーチしてそれらのアクセスユニットを分離する。
【０１７８】
ステップＳ１０３の後、補助情報解析部１０３は、変換モードが０であるか否かを判定する（ステップＳ１０４）。変換モードが０であると判定されると（ステップＳ１０４の「はい」）、サンプル生成部１０４ａは、その変換モードに対応するデータユニットをサンプルデータとしてコピーしてｍｄａｔに貼り付ける（ステップＳ１０５）。一方、変換モードが０ではないと判定されると（ステップＳ１０４の「いいえ」）、補助情報解析部１０３は、その変換モードが１であるか否かを判定する（ステップＳ１０６）。ここで、変換モードが１であると判定されると（ステップＳ１０６の「はい」）、サンプル生成部１０４ａは、その変換モードに対応するデータユニットのデータ構造を変換し、変換後のデータ構造を有するデータユニットをサンプルデータとしてｍｄａｔに格納する（ステップＳ１０７）。例えば、サンプル生成部１０４ａは、ＮＡＬユニット境界の識別情報の形式をスタートコード形式からＮＡＬサイズ形式に変換する。一方、変換モードが１ではなく２であると判定されると（ステップＳ１０６の「いいえ」）、サンプルエントリ生成部１０４ｂは、その変換モードに対応するデータユニットをｍｄａｔに格納することなく、データユニットの少なくとも一部のデータをサンプルエントリに格納する（ステップＳ１０８）。例えば、サンプルエントリ生成部１０４ｂは、ＭＰＥＧ−４  ＡＶＣにおけるＳＰＳおよびＰＰＳのそれぞれのＮＡＬユニットをサンプルエントリに格納する。あるいは、サンプルエントリ生成部１０４ｂは、ＭＰＥＧ−４  ＡＡＣのＬＡＴＭヘッダからＡｕｄｉｏＳｐｅｃｉｆｉｃＣｏｎｆｉｇ（）を分離してサンプルエントリに格納する。データユニットのデータのうち、サンプルエントリに格納される部分については、符号化方式に予め規定されるが、サンプルエントリへの格納部分を特定するための補助データをＡＵ＿ｉｎｆｏテーブル内に示してもよい。
【０１７９】
（変形例１−３）
上記実施の形態におけるコピーマニフェストファイルに記述される、ストリームファイルのコピー開始位置を示すアドレスは、ストリームファイルの先頭からの絶対値ではなくてもよい。例えば、コピー開始位置を示すアドレスは、直前のエントリのコピー開始位置を示すアドレスからの差分値であってもよい。
【０１８０】
図７に示すストリームファイルＡに含まれる２番目のエントリは、（コピー開始位置のアドレス，コピーサイズ）＝（５７７，１８０）ではなく、（コピー開始位置のアドレス，コピーサイズ）＝（３６７，１８０）のように記述される。また、コピー開始位置のアドレスとコピーサイズの記述方法としては、例えば以下の３通り（モード１〜３）が可能である。
【０１８１】
モード１では、ストリームファイルと差分ファイルから交互にデータをコピーする。例えば、コピーされるデータの範囲は（コピー開始位置のアドレス，コピーサイズ）として記述され、各フィールドのビット長は例えば（ｉｎｔ３２，ｉｎｔ８）である。
【０１８２】
モード２では、コピーサイズが０である場合には、コピーをスキップする。同一ファイルから連続してデータをコピーできるため、モード１と比較してアドレスのデータ長を短くすることができる。例えば、コピーされるデータの範囲は、（コピー開始位置のアドレス，コピーサイズ）として記述され、各フィールドのビット長は例えば（ｉｎｔ１６，ｉｎｔ８）である。
【０１８３】
モード３では、モード２においてコピーサイズを明示的に示すのではなく、アドレスによって示されるＴＳパケットのペイロードの最終までのデータをコピーする。コピーサイズのフィールドは省略される。また、アドレスを指定する代わりに、ストリームファイルにおけるＴＳパケットのインデックス番号の差分値を用いてもよい。例えば、コピーされるデータの範囲は、（パケット番号、コピーモード）として記述され、各フィールドのビット長は例えば（ｉｎｔ７，ｉｎｔ１）である。コピーモードは、コピーをスキップするかどうかを示す。
【０１８４】
図１８は、モード２を使用した場合のアドレス指定の具体例を示す図である。
【０１８５】
図１８に示すように、コピー開始位置である開始位置１と開始位置２はそれぞれ２１０バイト目と９１４２８バイト目である。アドレスの差分値のフィールド長を１６ｂｉｔとすると、フィールド長の最大値は６５５３５であるため、そのアドレスの差分値を１つのエントリでは表現できない。そこで、開始位置１から開始位置２までジャンプする場合には、（６５５３５，０）と（２５６８３，１８０）の２つのエントリを用いる。こうすることで、開始位置２までジャンプしてから１８０バイトのデータを取得することができる。
【０１８６】
図１９は、コピーサイズの上限値を超える連続領域を読み出す例を示す図である。
【０１８７】
この場合は、（２５５），（０，０），（１８２）のように記述することで、差分ファイルにおける領域１と領域２を連続的にコピーすることができる。
【０１８８】
なお、コピー開始位置を示すアドレスまたはコピーサイズは、１バイト単位ではなく、４バイト単位で記述してもよい。また、各エントリにおいて、差分ファイルとストリームファイルとのどちらのファイルからコピーするかを示す識別情報を別途設けることで、両ファイルのエントリを交互に記述するのではなく、一方のファイルに対するエントリを連続して記述できるようにしてもよい。
【０１８９】
ここまでは、ＭＰＥＧ２−ＴＳのファイルからデータをコピーしてＭＰ４ファイルを生成する処理を説明したが、ＴＳパケットに多重化されたＰＥＳパケットのペイロードから分離されたエレメンタリーストリームに基づいてデータをコピーしてもよい。
【０１９０】
図２０は、エレメンタリーストリームからデータをコピーしてＭＰ４ファイルを生成する処理を説明するための図である。
【０１９１】
ＭＰＥＧ２−ＴＳのファイルでは、１８８バイト、あるいは、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）ディスク）などにおいて用いられるタイムスタンプ付ＴＳの１９２バイトのパケット毎に、コピー情報が必要になる。したがって、ビットレートが高いコンテンツでは、ＴＳパケットの数が増大し、コピーマニフェストファイルのサイズが増加する。そこで、ＭＰＥＧ２−ＴＳのファイルから分離されたエレメンタリーストリームを用いることにより、フレーム単位、あるいは、ＨＥＶＣまたはＡＶＣにおけるＮＡＬユニットなどの単位で、データのコピーが可能となる。その結果、コピーマニフェストファイルの“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”に含まれるエントリ数を大幅に削減することができる。例えば、ビデオを多重化したＭＰＥＧ２−ＴＳのファイルのサイズが１０ＧＢであり、ＴＳパケットのサイズが１９２バイトである場合、パケット数は５５９２４０５３個となり、同数のエントリが必要となる。一方で、このビデオの再生時間長が２時間で、フレームレートが３０Ｈｚであれば、フレームの総数は２１６０００枚となる。したがって、フレームごとにエントリを生成する場合には、パケットごとにエントリを生成する場合に比べてエントリ数を大幅に低減できる。また、ＭＰＥＧ２−ＴＳのファイルがＡＡＣＳ（Ａｄｖａｎｃｅｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｅｎｔ  Ｓｙｓｔｅｍ）とＢＤ＋によって２重に暗号化されており、ＢＤ＋によってデータがインタリーブして再配置されるようなケースがある。このようなケースにおいても、暗号化を解いて符号化ストリームを分離した後であれば符号化ストリームを構成するデータの順序は一意に決定できるため、本手法によるコピー動作が可能である。
【０１９２】
エレメンタリーストリームからデータをコピーする場合、エレメンタリーストリームは複数存在するため、それらの識別情報が必要となる。“ＣＯＰＹ  ＭＡＮＩＦＥＳＴ”では、上述のモード１またはモード２に対応して以下のような記述が可能である。ここで、コピー開始位置のアドレスは、直前のエントリからの差分値によって示される。
【０１９３】
モード１では、エントリは（ファイルＩＤ，コピー開始位置のアドレス，コピーサイズ）から構成される。各フィールドのビット長は例えば（ｉｎｔ４，１バイト単位でｉｎｔ２２，ｉｎｔ２２）である。ファイルＩＤは、コピーされるデータを含むファイルの識別情報であり、例えば、ファイルＩＤとして０が差分ファイルに割り当てられ、１以上の値がエレメンタリーストリームのファイルに割り当てられる。解像度が４ＫのＨＥＶＣまたはＡＶＣの符号化データにおいては、Ｍｉｎｉｍｕｍ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ｒａｔｉｏを４とすると１フレームの最大サイズは約４Ｍバイトである。符号化ストリームからデータをコピーする場合、コピー開始位置のアドレスの差分値の最大値は１フレームの最大サイズとしてもよく、４Ｍバイトは２２ビットで表現できる。このとき、コピーサイズとしても１フレームの最大サイズを表現するために２２ビットとしている。
【０１９４】
モード２では、エントリは（ファイルＩＤ、コピー開始位置のアドレス、コピーサイズ）から構成される。各フィールドのビット長は例えば（ｉｎｔ４、１バイト単位でｉｎｔ１２、ｉｎｔ１６）である。なお、ＡＶＣまたはＨＥＶＣでは、ＮＡＬユニットのヘッダをスタートコード形式からＮＡＬサイズ形式に変換する必要があり、ＮＡＬユニットのペイロード単位でデータをコピーする必要がある。そのため、コピー開始位置のアドレスのフィールドが設けられているが、ＴＳ内のエレメンタリーストリームをそのままコピーできる場合には、コピー開始位置のアドレスのフィールドを省略してもよい。あるいは、１つのエントリがＮＡＬユニット全体を示すこととし、コピー後にＮＡＬユニットのヘッダをＮＡＬサイズ形式に変換してもよい。このときも、データを連続的に読み出すことができるため、コピー開始位置のアドレスは不要である。
【０１９５】
（実施の形態２）
ＢＤ−ＲＯＭ規格では、複数のＭＰＥＧ２−ＴＳのファイルをプレイリストから参照して連続的に再生することができ、ファイルの境界におけるストリームの制約条件なども規定されている。例えば、複数のファイルあるいは再生区間がシームレスに接続される場合には、接続対象となる２本のオーディオの再生区間をオーバーラップさせてもよい。
【０１９６】
ＭＰ４においても、プレイリストを用いて連続再生される複数のＭＰ４ファイルを指定することは可能であり、また、同様の制約条件を加えることが想定される。
【０１９７】
図２１は、連続して再生される２つのＭＰ４ファイルにおけるオーディオとビデオの再生区間の例を示す図である。この図２１に示すように、オーディオの再生区間はオーバーラップする。しかしながら、ＭＰ４におけるＤＴＳ（Ｄｅｃｏｄｅ  ＴｉｍｅＳｔａｍｐ）またはＰＴＳは、ファイル内の先頭サンプルのＤＴＳを基準（＝０）とした相対時刻によって表現され、絶対時刻で表現できない。したがって、再生区間が互いにオーバーラップする２つのＭＰ４ファイル（ＸＸＸ１．ＭＰ４とＸＸＸ２．ＭＰ４）を連続して再生すると、ＸＸＸ１．ＭＰ４の最終サンプルの直後にＸＸＸ２．ＭＰ４の先頭サンプルが再生される。その結果として、それぞれのオーバーラップ部分が連続して再生されることになる。
【０１９８】
そのため、本実施の形態では、ＸＸＸ１．ＭＰ４とＸＸＸ２．ＭＰ４の再生区間がオーバーラップしているかどうか、あるいは、オーバーラップしている再生区間を示す情報をプレイリスト、あるいは、ＭＰ４ファイル内に格納する。図２１に示す例では、プレイリスト内のプレイアイテムが参照するＭＰ４ファイルにおけるオーディオとビデオのそれぞれの先頭サンプルのＰＴＳと最終サンプルの再生終了時刻とが記述される。また、ＭＰ４ファイルのｍｏｏｖ内に、ＭＰ４ファイルの先頭サンプルのＤＴＳまたはＰＴＳの絶対時刻を格納してもよい。あるいは、ｍｏｏｆまたはｔｒａｆに、Ｍｏｖｉｅ  ｆｒａｇｍｅｎｔの先頭サンプルまたはＭｏｖｉｅ  ｆｒａｇｍｅｎｔ内のトラック毎の先頭サンプルの、ＤＴＳまたはＰＴＳの絶対時刻を格納してもよい。
【０１９９】
例えば、ＸＸＸ１．ＭＰ４とＸＸＸ２．ＭＰ４において、ビデオの再生区間はオーバーラップもギャップも無く、ＰＴＳが連続することが保証される。この場合、オーディオあるいはテキストについてのみ、オーバーラップに関する情報を示せばよい。ＸＸＸ２．ＭＰ４のビデオの先頭サンプルのＰＴＳをＴ０とすると、ＸＸＸ２．ＭＰ４におけるオーディオの先頭サンプルのＰＴＳとＴ０とのオフセット値、あるいは、ＸＸＸ１．ＭＰ４のオーディオの最終サンプルの再生終了時刻とＴ０とのオフセット値を格納してもよい。また、ＸＸＸ１．ＭＰ４の最終オーディオサンプルの再生終了時刻とＸＸＸ２．ＭＰ４の先頭サンプルのＰＴＳとのオフセット値をＸＸＸ２．ＭＰ４に格納してもよい。再生装置は、オーバーラップに関するこれらの情報に基づいて、出力するオーディオサンプルの選択や合成などを行う。なお、ビデオの再生区間をオーバーラップさせてもよいし、オーディオまたはビデオの再生区間をオーバーラップさせるのではなく、ギャップを設けてもよい。
【０２００】
図２１に示す例では、プレイリストを用いて複数のファイルが連続再生されるが、本実施の形態では、連続して再生される再生区間を統合して１つのＭＰ４ファイルを生成してもよい。
【０２０１】
図２２Ａは、再生区間を統合して１つのＭＰ４ファイルを生成する方法を説明するための図である。
【０２０２】
本実施の形態では、図２２Ａに示すように、例えば再生区間１と再生区間２を統合してＸＸＸ３．ＭＰ４を生成する。再生区間１のオーディオは、例えば、サンプル１−１からサンプル１−１００までの１００個のサンプルから構成される。再生区間２のオーディオは、例えば、サンプル２−１からサンプル２−１００までの１００個のサンプルから構成される。以下、オーディオを例に説明する。
【０２０３】
まず、再生区間１と再生区間２のそれぞれの再生区間にオーバーラップもギャップも存在しなければ、ＸＸＸ３．ＭＰ４のオーディオトラックには、サンプル１−１からサンプル１−１００に続いて、サンプル２−１からサンプル２−１００が格納され、再生時には、各サンプルが順に再生される。次に、サンプル１−１００とサンプル２−１の再生区間がオーバーラップする場合について説明する。サンプル１−１００とサンプル２−１の再生区間（開始時刻：ＰＴＳ、終了時刻：ＰＴＳ＋再生時間長）が同一である場合には、サンプル２−１を削除してＸＸＸ３．ＭＰ４のオーディオトラックを構成する。これにより、サンプル間のオーバーラップは解消される。これは、再生区間１に含まれる複数のサンプルの再生区間と、再生区間２に含まれる複数のサンプルの再生区間とがオーバーラップする場合も同様である。
【０２０４】
一方、サンプル１−１００とサンプル２−１の再生区間がオーバーラップし、かつ、それぞれのサンプルの再生区間が同一ではない場合には、サンプルの削除によっては対応できない。
【０２０５】
そこで、オーバーラップがある場合、ＸＸＸ３．ＭＰ４のオーディオトラックにはサンプル１−１００とサンプル２−１を共に格納した上で、オーバーラップした再生区間を示す情報を格納する。オーバーラップしている再生区間の時間長をΔＴとする。この場合、例えば、再生区間１の最終サンプルと再生区間２の先頭サンプルが互いに異なるムービーフラグメントとされ、ΔＴをｍｏｏｆのｔｒａｆ内などに格納する。このΔＴは、再生区間２に含まれるムービーフラグメントにおけるオーディオトラックの先頭からΔＴの再生区間が、直前のムービーフラグメントのオーディオトラックの再生区間とオーバーラップすることを示す。
【０２０６】
ギャップが存在する場合には、ＭＰ４におけるエディットリストの機能または、ムービーフラグメントにおけるｄｕｒａｔｉｏｎ−ｉｓ−ｅｍｐｔｙ  ｆｌａｇのセットなどによって、ギャップ区間に対応する無再生区間を生成する。
【０２０７】
また、オーバーラップ区間（オーバーラップしている再生区間）またはギャップ区間（ギャップが存在する区間）を、ＭＰ４ヘッダにおけるメタデータまたは外部ファイルに示してもよい。なお、オーバーラップ区間を含むＭＰ４よりも、ギャップ区間を含むＭＰ４のほうが、従来のＭＰ４との親和性が高い。したがって、互いにオーバーラップ区間を含む再生区間を統合してＭＰ４ファイルを生成する際には、例えば、図２２Ａの再生区間２において、オーバーラップ区間の少なくとも一部を含むサンプルを削除する。その上で、ギャップが発生した場合には、無再生区間を生成する。この方法は、オーディオだけでなく、ビデオや字幕などに対しても適用できる。また、削除が必要であるかどうか、及び、削除が必要なサンプル、削除した結果発生するギャップの時間長などを示す情報を、コピーマニフェストなどの補助情報として格納してもよい。
【０２０８】
このようなＭＰ４ファイルを再生する再生装置は、ＭＰ４ファイル内に含まれるオーバーラップ区間などの情報に基づいて、そのオーバーラップ区間のオーディオデータを再生する。つまり、再生装置は、再生対象のオーディオデータがオーバーラップ区間のデータであれば、例えば、オーバーラップしているそれぞれの再生区間のデータを含むオーディオサンプルの復号結果を合成する。そして、再生装置は、その合成された復号結果を出力する。また、連続して再生される再生区間を統合する際には、統合対象の再生区間においてオーバーラップ区間やギャップ区間が存在するかどうかを識別する必要がある。そこで、オーバーラップ区間などの有無、及び、その時間長を示す情報を、補助情報として光ディスク内、あるいは、インターネットなどから取得してもよい。
【０２０９】
図２２Ｂは、本実施の形態におけるファイル生成装置のブロック図である。
【０２１０】
本実施の形態におけるファイル生成装置２０は、ＭＰ４ファイルを生成するファイル生成装置であって、統合部２１および格納部２２を備えている。統合部２１は、２つのストリームが連続して再生されるようにその２つのストリームを統合することによって１つのＭＰ４ファイルを生成する。格納部２２は、その２つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成されたＭＰ４ファイルに格納する。例えば、上述の２つのストリームは、図２２Ａに示す再生区間１および再生区間２であって、生成されるＭＰ４ファイルは、図２２Ａに示す“ＸＸＸ３．ＭＰ４”のファイルである。さらに、２つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間は、例えば、図２２Ａに示すΔＴの区間である。
【０２１１】
図２２Ｃは、本実施の形態におけるファイル生成方法のフローチャートである。
【０２１２】
本実施の形態におけるファイル生成方法は、ＭＰ４ファイルを生成するファイル生成方法であって、ステップＳ２１およびステップＳ２２を含む。ステップＳ２１では、２つのストリームが連続して再生されるようにその２つのストリームを統合することによって１つのＭＰ４ファイルを生成する。次に、ステップＳ２１では、その２つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成されたＭＰ４ファイルに格納する。ここで、ステップＳ２１では、それぞれＭＰ４のファイルフォーマットで構成されている元ファイルの少なくとも一部である２つのストリームを統合する。また、ステップＳ２１では、それぞれオーディオのデータを含む２つのストリームを統合する。
【０２１３】
これにより、本実施の形態では、ＭＰ４ファイルには、オーバーラップの区間を示す情報が格納されている。したがって、そのＭＰ４ファイルを再生する再生装置は、その情報を用いて、ＭＰ４ファイルから、オーバーラップの区間のデータを容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを合成するなどによってそのデータを適切に再生することができる。つまり、オーバーラップの再生に適したＭＰ４ファイルを生成することができる。
【０２１４】
また、ステップＳ２１では、２つのストリームのうちの何れか一方のストリームに含まれる複数のサンプルにわたって上述の区間が存在する場合、その複数のサンプルのうちの少なくとも１つを削除した後に、２つのストリームを統合する。これにより、サンプルが削除されるため、オーバーラップの区間を短くすることができる。その結果、オーバーラップの区間に対する再生装置による特別な処理の負担を軽減することができる。
【０２１５】
また、ステップＳ２２では、上述の区間の時間長を示す時間情報を上述の情報としてＭＰ４ファイルに格納する。つまり、上述のΔＴを示す時間情報をＭＰ４ファイルに格納する。これにより、ＭＰ４ファイルを再生する再生装置は、その情報を用いて、オーバーラップの区間の時間長を容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを合成するなどによって、特定された時間長内でそのデータを適切に再生することができる。
【０２１６】
また、ステップＳ２２では、ＭＰ４ファイルにおけるｍｏｏｆ内のｔｒａｆにその時間情報を格納する。これにより、再生装置は、格納されている時間情報を適切に取得することができる。
【０２１７】
また、本実施の形態におけるファイル生成方法では、上述の情報を保持している装置から、インターネットなどの通信ネットワークを介してその情報を取得してもよい。あるいは、上述の情報を記録している光ディスクからその情報を取得してもよい。これにより、わざわざオーバーラップの区間を示す情報を生成することなく、ＭＰ４ファイルにその情報を簡単に格納することができる。
【０２１８】
図２２Ｄは、本実施の形態における再生装置のブロック図である。
【０２１９】
本実施の形態における再生装置３０は、ＭＰ４ファイルを再生する再生装置であって、抽出部３１および合成部３２を備えている。抽出部３１は、再生対象のコンテンツ（例えばオーディオトラック）において再生のタイミングがオーバーラップする２つの区間を示す情報をＭＰ４ファイルから抽出する。合成部３２は、抽出された情報に基づいてそのコンテンツにおける２つの区間を特定し、その２つの区間のそれぞれのデータに対する復号結果を合成して出力する。
【０２２０】
図２２Ｅは、本実施の形態における再生方法のフローチャートである。
【０２２１】
本実施の形態における再生方法は、ＭＰ４ファイルを再生する再生方法であって、ステップＳ３１およびステップＳ３２を含む。ステップＳ３１では、再生対象のコンテンツ（例えばオーディオトラック）において再生のタイミングがオーバーラップする２つの区間を示す情報をＭＰ４ファイルから抽出する。次に、ステップＳ３２では、抽出された情報に基づいてそのコンテンツにおける２つの区間を特定し、その２つの区間のそれぞれのデータに対する復号結果を合成して出力する。
【０２２２】
これにより、再生装置は、ＭＰ４ファイルから、オーバーラップの区間のデータを容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを適切に再生することができる。
【０２２３】
また、本実施の形態における記録媒体は、ＭＰ４ファイルを記録している記録媒体である。そのＭＰ４ファイルは、コンピュータに読み出されて再生されるコンテンツ（例えばオーディオトラック）と、そのコンテンツにおいて再生のタイミングがオーバーラップする２つの区間を示す情報とを含む。これにより、記録媒体からそのＭＰ４ファイルを読み出して再生する再生装置は、その情報を用いて、ＭＰ４ファイルから上述の２つの区間のデータを容易に特定することができる。その結果、再生装置は、それらの区間のデータを合成するなどによってそのデータを適切に再生することができる。
【０２２４】
（実施の形態３）
図２３Ａは、光ディスクに格納されたコンテンツからＭＰ４ファイルを生成する場合のメニュー画面の一例を示す図である。図２３Ｂは、光ディスクおよびネットワークを利用したＭＰ４ファイルの生成方法を説明するための図である。
【０２２５】
光ディスク内には、複数言語のオーディオや字幕が格納されており、ＭＰ４ファイルの生成時には、ＭＰ４ファイルに格納する言語を選択することができる。本例においては、ディスク内に格納される日本語、英語、スペイン語、および中国語から、オーディオ、字幕のそれぞれに対して、日本語と英語とが選択されている。ここで、オーディオあるいは字幕におけるサンプルのサイズが言語毎に異なると、コピーマニフェストファイルの内容はサンプルのサイズに依存する。このため、オーディオまたは字幕における選択言語の組合せに比例してコピーマニフェストファイルの種類が増加する。したがって、ＭＰ４ファイルには、常に全言語のオーディオと字幕のデータを格納して、ユーザーが選択した言語を示す情報をさらに格納しておき、再生時には、ユーザーの所望の言語を選択可能としてもよい。こうすることで、コピーマニフェストファイルは選択言語に依らず同一にすることができる。あるいは、各言語の１つだけを格納するケース、及び、全言語を格納するケースの２つのケースに対応するコピーマニフェストファイルを用意しておいてもよい。また、ＭＰ４ファイルを再生する機器におけるサポートの有無などに応じて、ＡＡＣまたはＡＣ３などのオーディオの符号化方式を選択できるようにしてもよい。あるいは、全ての符号化方式のオーディオデータをＭＰ４ファイルに格納してもよい。全ての符号化方式のオーディオデータを格納する場合、再生時には、ユーザーの選択操作、あるいは、再生装置のプリセット情報などに基づいて、符号化方式が選択される。
【０２２６】
あるいは、ＭＰ４ファイルの生成時には言語の選択を行わずに、全ての言語のオーディオと字幕を格納しておき、再生時にユーザーが選択してもよい。また、図２３Ｂに示すように、コピーマニフェストファイルをネットワーク経由で取得できるようにしておけば、コピーマニフェストファイルを光ディスクに格納する必要がない。特に、任意の言語を選択可能とするなどのために、コピーマニフェストファイルの個数が増加する場合において、ネットワーク経由での取得は有効である。デフォルトの言語組合せに対応するコピーマニフェストファイルのみ光ディスクに格納しておき、その他の組合せに対応するコピーマニフェストファイルはサーバからダウンロードしてもよい。また、光ディスク、あるいは、ネットワークから取得可能な言語のオーディオまたは字幕と、ＭＰ４ファイル内に含まれるオーディオまたは字幕の言語とを、それぞれ取得しておき、ＭＰ４ファイル内に含まれない言語のうち、外部から取得可能な言語をユーザーが選択して取得してもよい。
【０２２７】
あるいは、外部から取得可能なオーディオのリストをＭＰ４ファイル内などに格納しておく。そして、ＭＰ４ファイルの再生時に、再生装置がＭＰ４ファイル内のオーディオの符号化方式を復号できない場合には、再生装置がサポートする符号化方式のオーディオを選択して、外部から取得してもよい。このとき、外部から取得するデータは、字幕またはオーディオのみを含む符号化データ、あるいは、ＭＰ４ファイルであってもよい。このとき、再生時には元々のＭＰ４ファイルに含まれるビデオなどと、新規に取得したデータとを同期再生する。または、ビデオ、オーディオ、および字幕を全て含む完全なＭＰ４ファイルを外部から取得してもよい。
【０２２８】
また、光ディスクに格納されるコンテンツがＭＰＥＧ２−ＴＳのファイルではなく、ＭＰ４ファイルであってもよい。この場合には、変換処理を行わずに、光ディスク内に格納されたＭＰ４ファイルのデータを、デバイスバインドあるいはメディアバインドされた記録媒体または機器に対して、そのままコピー、あるいは、エクスポートしてもよい。コピーあるいはエクスポート時には、コンテンツを暗号化する鍵を変更してもよい。ＢＤプレーヤなどのＭＰ４ファイルを生成する機器では、光ディスク内のコンテンツがＭＰＥＧ２ーＴＳ形式あるいはＭＰ４形式のどちらであるかを、データ形式の識別情報などに基づいて判断することによって、ＭＰ４ファイルに変換する必要があるかどうかを判定して、ＭＰ４ファイルを生成してもよい。あるいは、コピーマニフェストファイルなどの補助情報において、ＭＰ４への変換が必要であるかどうかを示す情報を示してもよい。また、光ディスクに格納されるコンテンツがＭＰ４形式であっても、コンテンツ内の特定言語のオーディオまたは字幕、あるいは、劇場公開版またはディレクターズカット版などの種別をユーザーが選択してもよい。そして、選択結果に基づいて光ディスク内のＭＰ４ファイルから選択されたデータのみを抽出してＭＰ４ファイルを生成してもよい。
【０２２９】
ここで、図７を用いて説明したように、出力されるＭＰ４ファイルの多重化単位を特定するための情報をコピーマニフェストファイルに示すことによっても、ファイルサイズを削減でき、コピーマニフェストファイルの個数が多い場合には有効である。このとき、コピーマニフェストに示される情報としては、ＭＰ４ファイルにおけるムービーフラグメントの単位を一意に決定でき、かつ、言語に依存しない情報を用いることができる。その情報は、例えば、ムービーフラグメントの先頭となるサンプルのＰＴＳあるいはＤＴＳ、または、サンプルデータが取得されるＭＰＥＧ２−ＴＳのファイルの識別情報などである。ここで、ＭＰ４ファイルのサンプルのサイズが異なると、ＭＰ４ファイルのヘッダ情報のうち、ｍｏｏｖ内のｓｔｂｌ内に含まれるＢｏｘ、またはｍｏｏｆ内のｔｒｕｎなどの内容が異なる。このため、異なる言語に対して共通に用いることができるコピーマニフェストファイルにおいては、ＭＰ４ファイルのヘッダ情報を含めることができない。したがって、ＭＰ４ファイルに変換する際には、コピーマニフェストファイルに基づいてムービーフラグメントの単位を決定すると共に、ＭＰ４ファイルのヘッダ情報を、サンプル毎のＰＴＳあるいはＤＴＳ、または、サンプルのサイズなどに基づいて生成する。
【０２３０】
サンプル毎のＰＴＳ、ＤＴＳまたはサイズを取得する際には、ＭＰＥＧ２−ＴＳに多重化された、あるいは、多重化されずに別領域に格納されたオーディオ、ビデオまたは字幕などのデータから、アクセスユニットの境界をサーチする必要がある。または、ＰＥＳパケットヘッダを解析するなどの処理が必要となる。これらの必要とされる処理負荷は、ビットレートの高いビデオに対しては高い。従って、少なくともビデオに対しては、アクセスユニット（ＭＰ４ファイルのサンプルに相当）を構成するＮＡＬユニットのサイズ、及び、ＰＴＳまたはＤＴＳを示す情報をコピーマニフェストに格納してもよい。
【０２３１】
図２４は、ＮＡＬユニットのサイズ、ＰＴＳおよびＤＴＳを示すコピーマニフェストの一例を示す図である。
【０２３２】
コピーマニフェストには、アクセスユニットごとに、そのアクセスユニットを構成する各ＮＡＬユニットのサイズ、ＰＴＳおよびＤＴＳを示す情報が格納されている。これらの情報により、ビデオストリームをサーチする処理を大幅に低減することができる。さらに、サイズ情報を用いて、ＭＰＥＧ２−ＴＳのスタートコード形式をＭＰ４のＮＡＬサイズ形式に変換できるという利点もある。サイズ情報は、スタートコード部分のサイズとＮＡＬユニット部分のサイズとを別々に示してもよい。ＮＡＬユニットのサイズを示すフィールドのバイト長とＮＡＬサイズ形式におけるサイズ部分のバイト長とを同一としてもよい。これにより、スタートコード部分のデータをＮＡＬユニット部分のサイズを示すデータで置き換えることにより、ＮＡＬサイズ形式に変換できる。なお、このスタートコードは、図１５Ｂに示す識別情報に相当し、ｚｅｒｏ＿ｂｙｔｅを含む。
【０２３３】
また、スタートコード部分のサイズが全て同一である場合には、デフォルト値のみを設定してもよい。また、ＰＴＳまたはＤＴＳは、ＭＰＥＧ２−ＴＳのＰＥＳヘッダにおけるＰＴＳまたはＤＴＳの値で表現されるのではなく、ＭＰ４のヘッダにおいて使用されるデータ形式で表現されてもよい。例えば、ＤＴＳについては、復号順で連続する２つのサンプルのＤＴＳの差分値を示し、ＰＴＳについては、ＤＴＳとＰＴＳの差分値を示すことができる。これらの情報のタイムスケールを、ＭＰ４におけるタイムスケールに変換しておいてもよい。さらに、先頭サンプルのＰＴＳまたはＤＴＳの絶対値を示す情報を格納しておいてもよい。また、ＭＰ４ファイルへの変換時に削除するＮＡＬユニットを識別するための情報を追加してもよい。また、ＡＡＣの符号化ストリームに対して同様の補助情報を格納する場合には、ＡＤＴＳやＬＡＴＭなどのヘッダ情報はサンプルデータから削除される。しかし、これらヘッダ情報のサイズが固定であれば、ヘッダ情報とペイロードデータのサイズの合計値、および、ペイロードデータのサイズのうちのいずれか一方のみを示してもよい。また、オーディオの場合は、固定フレームレートとなるため、ＤＴＳ情報はデフォルト値のみ示してもよい。
【０２３４】
なお、オーディオの符号化方式が異なると、サンプル毎の再生時間長も異なることがある。結果として、サンプル毎のＰＴＳまたはＤＴＳも異なるため、オーディオの符号化方式毎にコピーマニフェストファイルを用意してもよい。
【０２３５】
ここで、ＭＰ４ファイルに字幕データを格納する場合には、字幕データをファイルの末尾にまとめて格納してもよい。
【０２３６】
図２５は、ＭＰ４ファイルの末尾に格納されている字幕データの一例を示す図である。
【０２３７】
この場合、字幕データの言語を変更しても、ＡＶ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ）データのムービーフラグメントは同一である。一方で、ビデオまたはオーディオのムービーフラグメントと字幕のムービーフラグメントとをインタリーブして格納すると、ｍｏｏｆの内容を変更する必要がある。これは、字幕データのサイズが変化するとＡＶデータのムービーフラグメントの位置が変化するためである。また、字幕データはＡＶデータと比較してサイズが小さい。したがって、コンテンツ全体の字幕データ、あるいは、コンテンツを分割したチャプターなどの単位に含まれる字幕データを、一括してメモリに展開して再生することも可能である。この時、ファイルの末尾にまとめて字幕データが格納されていると、その字幕データを取得し易いという利点もある。
【０２３８】
ここで字幕データは、テキストフォントに基づくものであってもよいし、ＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）形式などの画像データであってもよい。画像データの場合にはテキスト形式よりもデータサイズが大きくなるため、チャプターなどの単位毎にｔｒｕｎを生成して、所定の単位に含まれる字幕データへのアクセス性を高めるなどしてもよい。あるいは、再生時にテキストデータを保持するバッファサイズに応じて、ｔｒｕｎを構成する字幕データのサイズがバッファサイズ以下となるようにｔｒｕｎを生成してもよい。
【０２３９】
さらに、複数言語の字幕データを格納する際には、各言語を異なるムービーフラグメントに格納することで、特定言語の字幕データを容易に取得できる。このとき、ムービーフラグメントに格納される言語を特定するための情報が必要である。そこで、例えば、各言語を異なるトラックとして扱い、トラックのＩＤと言語とを対応付けてもよい。トラックのＩＤは、ｔｒａｆ内のＢｏｘにより示される。なお、トラックのＩＤと言語を対応付ける情報は、ＭＰ４におけるメタデータ格納用のＢｏｘなどに格納してもよいし、ＭＰ４ファイルとは異なる管理情報としてもよい。また、言語とムービーフラグメントとの対応付けは、オーディオに対しても適用できる。
【０２４０】
ビデオ、オーディオあるいは字幕におけるランダムアクセス可能なサンプルは、ｍｆｒａによって示される。ここで、互いに連続するビデオとオーディオのムービーフラグメントの再生区間が整合する場合には、ビデオのランダムアクセスポイントのみを示せばよい。この場合、ＰＴＳが同一、直前または直後となるオーディオのサンプルを、直後のムービーフラグメントから取得することができる。例えば、図２５において、ビデオ（Ｖ−１）の先頭サンプルと、オーディオ（Ａ−１）の先頭サンプルのＰＴＳが整合する。一方、テキストをファイル末尾に格納する場合には、テキストに対しては独立にランダムアクセスポイントを示す必要がある。
【０２４１】
また、光ディスクのコンテンツにおける全ての言語のオーディオまたは字幕のデータがＭＰ４ファイルに格納される。ここで、ＭＰ４ファイルの生成時にユーザーが所望の言語を選択している場合には、選択された言語に対応するトラックについてのみ、ｍｆｒａにおいてランダムアクセスポイントを示してもよい。
【０２４２】
ここで、光ディスクに格納されるコンテンツでは、ビデオとグラフィックスの解像度が異なることが想定される。例えば、ビデオの解像度は４Ｋであり、字幕などのグラフィックスの解像度は処理量を抑えるために２Ｋとされる。
【０２４３】
図２６は、２Ｋの解像度の字幕を４Ｋにスケーリングして表示するケースを示す図である。字幕の表示にあたっては、字幕データ及びその解像度と共に、字幕の表示領域を指定するための情報が必要である。表示領域は、例えば、矩形の表示領域のサイズ及び表示位置を用いて指定される。例えば、トラックの解像度を示す情報は、字幕のトラックが２Ｋであり、ビデオのトラックが４Ｋであることを示すことができる。また、ＳＭＰＴＥ（Ｓｏｃｉｅｔｙ  ｏｆ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  ａｎｄ  Ｔｅｌｅｖｉｓｉｏｎ  Ｅｎｇｉｎｅｅｒｓ）またはＷ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）のＴｉｍｅｄ  Ｔｅｘｔなどでは、Ｔｉｍｅｄ  Ｔｅｘｔを構成するＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）データの一部として表示領域の情報を記述してもよいし、ＭＰ４ファイル内のメタデータを示すＢｏｘに格納してもよい。
【０２４４】
ＭＰ４ファイルを再生する際には、ビデオと字幕の解像度を取得して、両者の解像度が異なる場合には、ビデオの解像度と一致するように字幕をスケーリングして表示する。このとき、字幕が画像データであれば、画像データを拡大するなどし、テキストデータであれば、ビデオの解像度と整合するサイズを選択する。表示領域についても、スケーリングの係数などに応じて計算して決定する。なお、ビデオの解像度に合わせてスケーリングした後の表示領域を示す情報を格納してもよい。
【０２４５】
（実施の形態４）
ＭＰ４ファイルを生成する際には、光ディスクに格納されたコンテンツからオーディオ、ビデオ、字幕などのデータを取得して、１つのＭＰ４ファイルに多重化する、あるいは、ＤＭＰ形式として複数のＭＰ４ファイルを生成することができる。例えば、光ディスクに格納されたＭ２ＴＳデータからビデオのエレメンタリーストリームを分離して、ビデオのＭＰ４を生成する。また、オーディオ及び字幕については、Ｍ２ＴＳとは別途格納されたオーディオ及び字幕を含むＭＰ４ファイルを取得する。そして、これらの生成したビデオのＭＰ４ファイルと取得したオーディオ及び字幕を含むＭＰ４ファイルとをまとめてＤＭＰ形式とすることができる。このとき、オーディオ及び字幕のＭＰ４ファイルは、オーディオ及び字幕のそれぞれが独立したファイルであってもよいし、両者が多重化されたものであってもよい。言語が複数存在する場合には、複数の言語毎にオーディオ及び字幕を同一のＭＰ４ファイルに多重化しておくなども可能である。エクスポート時には、エクスポート用のプレイリストを参照してエクスポート対象を決定する。エクスポート用のプレイリストは予めディスク内に格納しておいてもよいし、ネットワーク経由でダウンロードしてもよい。
【０２４６】
図２７は、エクスポート用データの格納方法について示す図である。図２８Ａは、エクスポート用のプレイリストの例について示す図である。図２８Ｂは、コピーマニフェストファイルの例について示す図である。ここでは、ＡＶが多重化された２つのＭ２ＴＳファイル（ＸＸＸ１．Ｍ２ＴＳ及びＸＸＸ２．Ｍ２ＴＳ）、及び、エクスポート用のオーディオが多重化されたＭＰ４ファイル（ＹＹＹ１．ＭＰ４）がディスク内に格納されている。図示していないが、字幕についても、オーディオと同様に扱うことが可能である。
【０２４７】
プレイリスト例１は、２つのプレイアイテムから構成されており、それぞれのプレイアイテムでは、ビデオはＸＸＸ１．Ｍ２ＴＳとＸＸＸ２．Ｍ２ＴＳとから、オーディオはＹＹＹ１．ＭＰ４とＹＹＹ２．ＭＰ４とからそれぞれ取得することが示される。ＹＹＹ１．ＭＰ４とＹＹＹ２．ＭＰ４ファイルとについては、ｓｔａｒｔ＿ａｄｒにより、ファイルの先頭位置をディスク内の論理アドレスにより示すことができる。なお、論理アドレスを明示的に示さずに、ファイル名のみにより識別してもよい。また、ｏｕｔ＿ｍｕｘにより、当該データがＭ２ＴＳ内に多重化されているか、あるいは、Ｍ２ＴＳとは別ファイルとして格納されているかを示してもよい。さらに、オーディオのデータが格納されるＭＰ４のトラックとＴｒａｃｋＩＤにより示しているが、ＤＭＰのように、ＭＰ４ファイルが単一のトラックから構成される（以降、シングルトラックＭＰ４と呼ぶ）場合には、ＴｒａｃｋＩＤフィールドを省略してもよい。シングルトラックＭＰ４においては、ファイル名に基づいて、オーディオ、ビデオ、字幕などファイル内に格納されるメディアの種別を識別できるようにしてもよいし、さらには、言語や符号化方式を示してもよい。符号化方式については、符号化方式そのものを示すのではなく、オーディオの場合であれば、音質が区別できるようにしてもよい。例えば、ロスレス圧縮されたオーディオは高音質、ＭＰＥＧ−２やＭＰＥＧ−４のＡＡＣで圧縮されたオーディオは中音質とするなどである。
【０２４８】
プレイリスト例２は、オーディオはＭＰ４ファイルにより格納されるが、プレイアイテム１とプレイアイテム２により示されるビデオが、ＹＹＹ．ＭＰ４における連続した再生区間として提供されるケースを示す。プレイリスト例３も、プレイリスト例２と同様の例であるが、ＹＹＹ．ＭＰ４がシングルトラックＭＰ４であり、ＴｒａｃｋＩＤフィールドを省略している。
【０２４９】
プレイリスト例１からプレイリスト例３に示したようなエクスポート用のプレイリストは、ディスク内のコンテンツを再生する際に使用されるプレイリストと、ファイル名などにより区別できるようにしてもよい。また、エクスポート用のプレイリストと、ディスク内コンテンツ再生用のプレイリストとを、ファイルシステムにおける異なるディレクトリに格納してもよい。
【０２５０】
さらに、エクスポートされるＭＰ４においては、ＰｉｎＰ（Ｐｉｃｔｕｒｅ  ｉｎ  Ｐｉｃｔｕｒｅ）、マルチアングル、３Ｄ、あるいは、サブパス、ブラウザブル・スライドショーなどを禁止してもよいが、機能制限が課されるかどうかをファイル名、あるいは、エクスポート用のプレイリストを管理するメタデータなどにより示してもよい。エクスポート用のプレイリストにおいて、使用が禁止されている機能が含まれる場合には、プレイリストが不正であると判定し、エクスポート用のＭＰ４を生成しないなどのエラー処理を行ってもよい。
【０２５１】
また、エクスポート用のプレイリストは、ネットワーク経由でダウンロードして取得してもよいし、エクスポート用のプレイリストに参照されるＭ２ＴＳやＭＰ４のデータをネットワーク経由でダウンロードしてもよい。Ｍ２ＴＳやＭＰ４をネットワーク経由でダウンロードする場合には、ダウンロード先のＩＰアドレスやＵＲＬなどを別途プレイリスト内に示してもよい。あるいは、エクスポート時に使用されるコンテンツがサーバの同一ディレクトリにまとめて格納される場合には、エクスポート用プレイリストに関するメタデータにおいて当該ディレクトリのＵＲＬを示し、プレイリスト内にはファイル名のみ記述してもよい。コンテンツを取得する際には、メタデータにより示されるＵＲＬとファイル名とを連結して完全なＵＲＬを構成したうえで、ファイルをダウンロードする。
【０２５２】
コピーマニフェストファイルは、２つのＭ２ＴＳファイル（ＸＸＸ１．Ｍ２ＴＳ及びＸＸＸ２．Ｍ２ＴＳ）のそれぞれに対応するエレメンタリーストリームの復号または表示の時刻を示す時刻情報と、当該エレメンタリーストリームの位置情報とが関連付けられた情報を含む。この関連付けられた情報は、図２４で説明したコピーマニフェストファイルと同様である。
【０２５３】
図２９Ａは、複数のバージョンの本編コンテンツが格納されている場合のファイル生成方法の一例について説明するための図である。図２９Ｂは、ディレクターズカット版の再生経路におけるＭＰ４ファイルを生成する場合のコピーマニフェストファイルを示す図である。
【０２５４】
ＢＤなどの光ディスクでは、ディレクターズカット版、劇場公開版など、複数のバージョンの本編コンテンツが格納されることがある。例えば、図２９Ａにおいて、ディレクターズカット版では再生区間（１）、（２）、（４）の順に再生され、劇場公開版では再生区間（１）、（３）、（４）の順に再生される。エクスポート用のオーディオはシングルトラックＭＰ４として格納されるものとする。
【０２５５】
図２９Ｂに示すように、ディレクターズカット版の再生経路が選択された場合のコピーマニフェストファイルには、“Ｉｎｐｕｔ  Ｆｉｌｅ  Ａ”によって示されるファイルの各部分の範囲と、“Ｉｎｐｕｔ  Ｆｉｌｅ  Ｂ”によって示されるファイルの各部分の範囲と、“Ｉｎｐｕｔ  Ｆｉｌｅ  Ｃ”によって示されるファイルの各部分の範囲とが示されており、各ファイルの部分の範囲に対して、“Ｏｕｔｐｕｔ  Ｆｉｌｅ”、“Ｏｕｔｐｕｔ  Ｆｉｌｅ  Ｓｉｚｅ”、および“ＡＴＴＲＩＢＵＴＥ”で示されるＭＰ４ファイルへの変換を繰り返し行う。
【０２５６】
エクスポートする際には、ビデオは３つのＭ２ＴＳから分離したエレメンタリーストリームを連結することで、ＭＰ４ファイルを生成するが、オーディオのエレメンタリーストリームは予め１つのＭＰ４ファイルに格納される。つまり、ディレクターズカット版向けのＭＰ４では、再生区間（１）、（２）、（４）に対応するエレメンタリーストリームが連続して格納され、劇場公開版向けのＭＰ４では、再生区間（１）、（２）、（４）に対応するエレメンタリーストリームが連続して格納される。このように、エクスポート用のオーディオのエレメンタリーストリームを予め１本のエレメンタリーストリームとしておくことで、再生区間（２）及び（４）、あるいは、再生区間（３）及び（４）などの接続部分においてオーディオのオーバーラップやギャップが発生しないというメリットがある。このため、オーディオのオーバーラップやギャップについての処理を再生装置が行わなくてもよい。
【０２５７】
図３０は、複数のバージョンの本編コンテンツが格納されている場合のファイル生成方法の他の一例について説明するための図である。
【０２５８】
図２９では、エクスポート用のオーディオを１つのＭＰ４ファイルとするケースについて説明したが、図３０に示すようにビデオの再生区間に対応するＭＰ４ファイルを複数格納してもよい。このとき、再生区間の接続部分ではオーディオのオーバーラップやギャップが発生するが、前述した方法により処理するものとする。
【０２５９】
図３１は、エクスポート用のオーディオのＭＰ４ファイルとＭ２ＴＳから分離したビデオのＭＰ４ファイルとの関係を示す一例である。
【０２６０】
ＤＭＰ形式のコンテンツを作成する場合には、オーディオやビデオ、字幕など異なるメディアにおけるＭｏｖｉｅ  Ｆｒａｇｍｅｎｔの単位が整合していることが望ましい。一般に、コンテンツの途中からランダムアクセスして再生する場合には、ビデオのランダムアクセスポイントに基づいてランダムアクセスポイントのＰＴＳを決定し、オーディオや字幕については、ビデオのランダムアクセスポイントのＰＴＳと同一、あるいは、直前、直後となるＰＴＳを持つフレームから再生する。オーディオや字幕については、予め格納されたエクスポート用のシングルトラックＭＰ４ファイルを使用する場合には、これらのＭＰ４ファイルのデータは変更することなくエクスポートされる。
【０２６１】
従って、Ｍ２ＴＳから分離したビデオのエレメンタリーストリームに基づいて生成するビデオのＭＰ４ファイルは、Ｍｏｖｉｅ  Ｆｒａｇｍｅｎｔの単位が、エクスポート用のオーディオや字幕と整合するように生成されることが望ましい。つまり、Ｍ２ＴＳから分離したエレメンタリーストリームに基づいて、オーディオや字幕のＭＰ４ファイルの再生時間に対応させた再生時間のビデオのＭＰ４ファイルを生成することが望ましい。こうすることで、ランダムアクセス時には、各メディアにおいて同一のインデックス番号を持つＭｏｖｉｅ  Ｆｒａｇｍｅｎｔから再生を開始することができる。なお、Ｍｏｖｉｅ  ＦｒａｇｍｅｎｔにおいてＤＴＳが先頭となるサンプルはＭＰＥＧ−４  ＡＶＣやＨＥＶＣにおけるＩピクチャ、あるいは、ＩＤＲピクチャなどのランダムアクセス可能なピクチャとするものとする。
【０２６２】
図３２Ａは、本実施の形態におけるファイル生成装置のブロック図である。
【０２６３】
本実施の形態におけるファイル生成装置４０は、エレメンタリーストリームからＭＰ４ファイルを生成するファイル生成装置であって、取得部４１、選択部４２及び生成部４３を備えている。取得部４１は、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得する。選択部４２は、取得したプレイリストから所定の識別情報によって示されるエレメンタリーストリームを選択する。生成部４３は、選択したエレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、エレメンタリーストリームに含まれるデータをＭＰ４のファイルフォーマットに変換することによって、ＭＰ４ファイルを生成する。なお、所定の識別情報とは、例えば、図２８の各プレイリスト例に示す“ＸＸＸ１．Ｍ２ＴＳ”や“ＸＸＸ２．Ｍ２ＴＳ”などのストリームファイルのファイル名である。
【０２６４】
なお、ここで、プレイリストは、さらに、所定の識別情報によって示されるエレメンタリーストリームの一部の区間を示す区間情報を含んでいてもよい。区間情報は、例えば、図２８Ａの“ＰＴＳ＿ｂｅｇｉｎ＝１０．０ｓ，  ＰＴＳ＿ｅｎｄ＝３０．３ｓ”などのように、エレメンタリーストリームの復号または表示の時刻を示す時刻情報で示されている。
【０２６５】
また、プレイリストは、第１エレメンタリーストリームを示す第１識別情報と、第２エレメンタリーストリームを示す第２識別情報とを所定の識別情報として、かつ、第１エレメンタリーストリームの第１区間を示す第１区間情報と、第２エレメンタリーストリームの第２区間を示す第２区間情報とを区間情報として含んでいてもよい。具体的には、図２７のストリームファイル（ＸＸＸ１．Ｍ２ＴＳ）から得られるエレメンタリーストリームが第１エレメンタリーストリームに相当し、ストリームファイル（ＸＸＸ２．Ｍ２ＴＳ）から得られるエレメンタリーストリームが第２エレメンタリーストリームに相当する。また、図２８Ａに示すように、プレイアイテム１の“ＸＸＸ１．Ｍ２ＴＳ”が第１識別情報に相当し、プレイアイテム２の“ＸＸＸ２．Ｍ２ＴＳ”が第２識別情報に相当する。また、図２８Ａに示すように、プレイアイテム１の“ＰＴＳ＿ｂｅｇｉｎ＝１０．０ｓ，  ＰＴＳ＿ｅｎｄ＝３０．３ｓ”が第１区間情報に相当し、プレイアイテム２の“ＰＴＳ＿ｂｅｇｉｎ＝３０．３ｓ，  ＰＴＳ＿ｅｎｄ＝６０．３ｓ”に相当する。
【０２６６】
また、マニフェストファイルは、図２４や図２８Ｂに示すようなコピーマニフェストファイルであり、復号または表示の時刻とエレメンタリーストリームにおける位置とが対応付けられた情報である。また、マニフェストファイルは、複数のエレメンタリーストリームのそれぞれに対して１対１で対応している。例えば、マニフェストファイルは、エレメンタリーストリーム（Ｍ２ＴＳファイル）のファイル名と対応するファイル名が付けられることにより、対応付けが行われていてもよいし、テーブルによりマニフェストファイルとエレメンタリーストリームとの対応付けが行われていてもよい。
【０２６７】
図３２Ｂは、本実施の形態におけるファイル生成方法のフローチャートである。
【０２６８】
本実施の形態におけるファイル生成方法は、エレメンタリーストリームからＭＰ４ファイルを生成するファイル生成方法であってステップＳ４１、ステップＳ４２及びステップＳ４３を含む。ステップＳ４１では、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得する。ステップＳ４２では、取得したプレイリストから所定の識別情報によって示されるエレメンタリーストリームを選択する。ステップＳ４３では、選択したエレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、エレメンタリーストリームに含まれるデータをＭＰ４のファイルフォーマットに変換することによって、ＭＰ４ファイルを生成する。
【０２６９】
これにより、本実施の形態では、プレイリストから選択したエレメンタリーストリームに含まれるデータについて、当該エレメンタリーストリームに対応しているマニフェストファイルに基づいて、ＭＰ４のファイルフォーマットに変換することができる。マニフェストファイルを用いることにより、例えば、プレイリストの所定の識別情報によって示されるエレメンタリーストリームを、演算することなく特定できるため、処理負荷を抑えることができる。
【０２７０】
また、プレイリストが、所定の識別情報によって示されるエレメンタリーストリームの一部の区間を示す区間情報を含んでいる場合、ステップＳ４２では、さらに、区間情報で示されるエレメンタリーストリームの前記区間を選択し、ステップＳ４３では、選択されたエレメンタリーストリームの区間をＭＰ４のファイルフォーマットに変換してもよい。
【０２７１】
これにより、本実施の形態では、プレイリストから選択したエレメンタリーストリームの区間のデータについて、当該エレメンタリーストリームに対応しているマニフェストファイルに基づいて、ＭＰ４のファイルフォーマットに変換することができる。マニフェストファイルを用いることにより、プレイリストの区間情報によって示されるエレメンタリーストリームの区間を、演算することなく特定できるため、処理負荷を抑えることができる。
【０２７２】
また、区間情報は、エレメンタリーストリームの復号または表示の時刻を示す時刻情報で示されており、マニフェストファイルは、時刻とエレメンタリーストリームにおける位置とが対応付けられた情報である場合、ステップＳ４３では、マニフェストファイルから、プレイリストの区間情報により示される時刻情報に対応した、エレメンタリーストリームにおける区間の位置を特定し、特定した前記エレメンタリーストリームの区間を抽出し、抽出したエレメンタリーストリームの区間をＭＰ４のファイルフォーマットに変換してもよい。
【０２７３】
これにより、本実施の形態では、マニフェストファイルには、復号または表示の時刻と、エレメンタリーストリームにおける位置とが予め関連付けられているため、プレイリストに示される区間情報から、容易にエレメンタリーストリームの区間の位置を特定できる。これにより、処理負荷を抑えることができる。
【０２７４】
また、プレイリストは、第１エレメンタリーストリームを示す第１識別情報と、第２エレメンタリーストリームを示す第２識別情報とを所定の識別情報として、かつ、第１エレメンタリーストリームの第１区間を示す第１区間情報と、第２エレメンタリーストリームの第２区間を示す第２区間情報とを区間情報として含んでいる場合、ステップＳ４２では、取得したプレイリストから、第１識別情報によって示される第１エレメンタリーストリームのうちの第１区間情報で示される第１区間と、第２識別情報によって示される第２エレメンタリーストリームのうちの第２区間情報で示される第２区間と、を選択し、変換では、選択した第１エレメンタリーストリームの第１区間と、第２エレメンタリーストリームの第２区間とを含むデータをＭＰ４のファイルフォーマットに変換してもよい。
【０２７５】
これにより、本実施の形態では、プレイリストによって２つのエレメンタリーストリームのそれぞれの区間が選択されていても、容易に２つの区間を特定することができる。これにより、処理負荷を抑えることができる。
【０２７６】
また、この場合、ステップＳ４３では、第１エレメンタリーストリームに対応している第１マニフェストファイルに基づいて、選択した第１エレメンタリーストリームの第１区間を抽出し、第２エレメンタリーストリームに対応している第２マニフェストファイルに基づいて、選択した第２エレメンタリーストリームの第２区間を抽出し、抽出した第１区間及び第２区間を含むデータをＭＰ４のファイルフォーマットに変換してもよい。
【０２７７】
これにより、本実施の形態では、プレイリストによって２つのエレメンタリーストリームのそれぞれの区間が選択されていても、２つのエレメンタリーストリームのそれぞれに対応するマニフェストファイルを用いるため、容易に２つの区間を特定することができる。これにより、処理負荷を抑えることができる。
【０２７８】
また、図２７に示すようにエクスポート用のストリームファイル（音声のＭＰ４ファイル）がある場合には、ステップＳ４２では、さらに、エレメンタリーストリームに対応する音声のＭＰ４ファイルを選択し、ステップＳ４３では、選択したエレメンタリーストリームに対応しているマニフェストファイルに基づいて、当該エレメンタリーストリームに対応している映像のエレメンタリーストリームを抽出し、抽出した映像のエレメンタリーストリームと、選択した音声のＭＰ４ファイルとを用いて、ＭＰ４ファイルを生成してもよい。
【０２７９】
これにより、本実施の形態では、音声のＭＰ４ファイルをエレメンタリーストリームから変換して生成する必要がないため、処理負荷を抑えることができる。
【０２８０】
（変形例４−１）
図３３は、本変形例におけるファイル生成装置のブロック図である。
【０２８１】
ファイル生成装置２００は、プレイリスト解析部２０１と、エクスポート対象選択部２０２と、Ｍ２ＴＳ分離部２０３と、エクスポートファイル取得部２０４と、再多重化部２０５と、コピーマニフェスト解析部２０６とを備えている。ファイル生成装置２００は、Ｍ２ＴＳから分離したエレメンタリーストリーム、及び、エクスポート用のシングルトラックＭＰ４に基づいて、オーディオ、ビデオ、あるいは、字幕を含むＭＰ４を生成して出力する。出力されるＭＰ４は、複数メディアのエレメンタリーストリームを１つのファイルに格納する形式であってもよいし、ＤＭＰ形式であってもよい。
【０２８２】
プレイリスト解析部２０１は、ファイル生成装置４０の取得部４１及び選択部４２に相当し、ディスク内、あるいは、ネットワーク経由でプレイリストを取得し、取得した１つ、あるいは、複数のエクスポート用のプレイリストを解析する。
【０２８３】
エクスポート対象選択部２０２は、ファイル生成装置４０の選択部４２に相当し、プレイリスト解析部２０１の解析結果に基づいて、ユーザーがエクスポート対象となるプレイリストにより提供されるコンテンツ、あるいは、コンテンツ内の言語設定や字幕データのエクスポートの有無などを選択するためのメニューを生成し、生成したメニューへの入力を受け付け、ユーザーの選択結果（受け付けたメニューへの入力に応じて決定されたプレイリスト）に基づいてエクスポート対象となるプレイリストなどを決定する。
【０２８４】
次に、ユーザーが選択したコンテンツを構成するエレメンタリーストリームが格納されるデータを決定し、エレメンタリーストリームがＭ２ＴＳに格納される場合には、Ｍ２ＴＳ分離部２０３が、コピーマニフェスト解析部２０６により提供されるコピーマニフェスト情報に基づいてエレメンタリーストリームを分離する。エレメンタリーストリームがエクスポート用のＭＰ４により提供される場合には、エクスポートファイル取得部２０４において当該ＭＰ４ファイルを取得する。エクスポートファイル取得部２０４は、音声のエレメンタリーストリームが、エクスポート用のＭＰ４ファイルにより提供される場合には、当該ＭＰ４ファイルを取得してもよい。最後に、再多重化部２０５は、Ｍ２ＴＳ分離部２０３から取得したエレメンタリーストリーム、及び、エクスポートファイル取得部２０４により取得したＭＰ４ファイルを用いて、出力用のＭＰ４ファイルを生成する。複数メディアを１つのＭＰ４ファイルに格納する場合には、エクスポート用ＭＰ４データからエレメンタリーストリームを分離したうえで、オーディオ、ビデオ、あるいは、字幕のエレメンタリーストリームを１つのＭＰ４ファイルに多重化する。ＤＭＰ形式で出力する場合には、Ｍ２ＴＳ分離手段により出力されたエレメンタリーストリームからシングルトラックＭＰ４を生成し、ＥＸＰＴファイル取得手段から出力されるエクスポート用ＭＰ４データと合わせて、ＤＭＰコンテンツを生成する。このとき、ＤＭＰに含まれる複数のＭＰ４ファイルを管理するためのメタデータは、別途生成するものとする。なお、再多重化部２０５は、映像のＭＰ４ファイル、音声のＭＰ４ファイル、及び字幕のＭＰ４ファイルのそれぞれを多重化することなく、独立したファイルで出力してもよい。
【０２８５】
なお、Ｍ２ＴＳ分離部２０３、エクスポートファイル取得部２０４、再多重化部２０５及びコピーマニフェスト解析部２０６は、ファイル生成装置４０の変換部４３に相当する。
【０２８６】
図３４は、ＭＰ４ファイルを複数に分割して生成する場合の一例を示す図である。具体的には、コンテンツ全体に対応するサイズが１１．４０ＧＢとなるＭＰ４ファイルを、ＳＤカードに記録するために、４ＧＢ以下となるように３つのファイルに分割する例について示している。
【０２８７】
Ｍ２ＴＳなどのデータから生成されたＭＰ４ファイルは、ＳＤカードなどのリムーバブルメディアや、スマートフォンあるいはタブレットなどのＨＤＤなど、ＭＰ４ファイルを持ち出す先の記録デバイスに記録される。このとき、記録デバイスのファイルシステムに依存して、扱うことのできるファイルサイズの上限値が制限される。例えば、ＳＤカードであれば４ＧＢであるし、ＳＤＨＣカードであれば３２ＧＢとなる。従って、コンテンツ全体に対応するＭＰ４ファイルのサイズが記録デバイスにおけるファイルシステムの上限値を超える場合には、ＭＰ４ファイルを分割する必要がある。
【０２８８】
Ｍｏｖｉｅ  Ｆｒａｇｍｅｎｔを用いたＭＰ４においては、オーディオ、ビデオ、あるいは、字幕などにおいて再生区間が同一、あるいは、近傍となるＭｏｖｉｅ  Ｆｒａｇｍｅｎｔは、同一ファイルに格納されることが望ましい。再生区間が同一であるオーディオやビデオのデータが異なるファイルに格納される場合には、再生時には同時に２つのＭＰ４ファイルのデータにアクセスする必要があり、記録デバイスにおけるデータの読出し速度やシーク速度に依存して、１つのファイルから再生する場合に比べて、データを余分にバッファリングしてから再生しなければならないなどの問題があるためである。
【０２８９】
従って、再生区間が同一あるいは近傍となるオーディオ、ビデオ、及び、字幕のＭｏｖｉｅ  Ｆｒａｇｍｅｎｔが同一のＭＰ４ファイルに含まれ、かつ、ファイルサイズが４ＧＢ以下となるようにＭＰ４ファイルを生成する。このように、４ＧＢバイト以下であって、かつ、できるだけ多くのＭｏｖｉｅ  Ｆｒａｇｍｅｎｔを同一ファイルに格納することで、生成されるファイル数を最小化できる。
【０２９０】
なお、オーディオや字幕のデータサイズはビデオと比較して小さいため、より長時間分のデータをバッファリングしておくことができる。従って、再生区間が同一である異なるメディアのＭｏｖｉｅ  Ｆｒａｇｍｅｎｔを全て同一ファイルに格納するのではなく、少なくともビデオのＭｏｖｉｅ  Ｆｒａｇｍｅｎｔについては、同一ファイルとなるように分割することにしてもよい。ビデオ以外のメディアについても、同一Ｍｏｖｉｅ  Ｆｒａｇｍｅｎｔのデータを異なるファイルに分割することを禁止してもよい。
【０２９１】
図３５は、ＭＰ４ファイルを複数に分割して生成する場合の他の一例を示す図である。
【０２９２】
図３４の例のように、オリジナルのＭＰ４ファイルのデータをそのまま分割すると、２番目以降のファイルにおいてはｍｏｏｖが存在せず、ＳａｍｐｌｅＥｎｔｒｙに格納される各メディアの復号時に必要となる初期化情報を取得するために、１番目のファイルを参照する必要がある。また、ｍｆｒａは最終のファイルにおいてのみ含まれるため、最終以外のＭＰ４ファイルのランダムアクセスを行う場合には、最終のＭＰ４ファイルに格納されるｍｆｒａを参照する必要があるなど、それぞれのＭＰ４ファイルに完結した再生を行うことができない。従って、ファイル毎に、ｍｏｏｖ、あるいは、ｍｆｒａを付加してもよい。
【０２９３】
ｍｏｏｖについては、オリジナルのＭＰ４ファイルのＳａｍｐｌｅＥｎｔｒｙには、コンテンツ全体で必要となる初期化情報が全て含まれるためｓｔｓｄの内容は変更不要である。また、他のＢｏｘについても、基本的には変更不要であるが、各トラックのｔｋｈｄ、あるいは、ｍｖｈｄには、それぞれ、トラック毎、ファイル全体の再生時間長が格納される。従って、これらの再生時間長は、分割後のＭＰ４ファイルの再生時間長に対応するように変更してもよい。あるいは、分割されたファイルであることが何らかの補助情報により示される場合には、再生時間長の変更も不要としてもよい。
【０２９４】
一方、ｍｆｒａについても、各ＭＰ４ファイル内のランダムアクセスポイントを示すように内容を変更してもよい。ｍｆｒａのランダムアクセス情報には、ランダムアクセスポイントとなるサンプルが属するｍｏｏｖのファイル先頭からのオフセットが示される。ｍｆｒａの内容を変更しない場合、オフセット値はオリジナルのＭＰ４に対応するため、分割後のファイルのオフセット値とはならない。従って、分割されたファイルにおけるランダムアクセスポイントの探索時には、２番目以降のファイルに対しては、再生順が前となるＭＰ４ファイルのサイズの総和を加算して、オリジナルのＭＰ４ファイルのファイルオフセット値を再現することにより、ランダムアクセスポイントとなるサンプルデータを取得する。
【０２９５】
分割後の各ファイルにおいてｍｏｏｖやｍｆｒａの内容を変更することにより、オリジナルのＭＰ４ファイルにおけるｍｏｏｖやｍｆｒａのサイズが更新される場合には、更新後のファイルサイズがファイルシステムにおける最大サイズ以下となるように分割する。
【０２９６】
なお、分割後のファイルの再生順はファイル名、あるいは、ファイルの再生順を示す情報を格納したコンテンツの管理情報により識別できるものとする。
【０２９７】
また、図２５の例のように、字幕データをインタリーブせずにＭＰ４ファイルの終端にまとめて格納する際には、字幕データが含まれる分割ファイルを識別するための情報をコンテンツの管理情報などに含める。再生時には、字幕データが格納される分割ファイルにアクセスして字幕データを取得する。一般に、字幕データはサイズが小さいため、全ての字幕データが同一ファイル内に含まれることが望ましい。ここで、字幕データを復号する際の初期化情報は、オーディオやビデオと同様にｍｏｏｖに格納される。
【０２９８】
ＭＰ４ファイルの生成時には、オリジナルのＭＰ４ファイルを出力先のファイルシステムにおけるファイルサイズの上限値を予め取得する必要がある。従って、出力先がタブレットなど他のデバイスである場合には、接続先のデバイスとの間で、また、出力先が、ＢＤプレーヤなど光ディスクが存在するデバイスと同一のデバイスに接続されたＳＤカード、ＨＤＤなどの記録媒体である場合には、デバイス内において、何らかの通信手段に基づいて通信を行い、出力先のファイルシステムの最大ファイルサイズを示す情報、又は、オリジナルのＭＰ４ファイルを分割する必要があるかを示す情報を取得する。
【０２９９】
例えば、ＭＰ４ファイルの生成に先立って、ＭＰ４の生成モジュールが出力先の記録媒体のファイルシステムにおける最大ファイルサイズを示す情報の取得要求を行うなどＭＰ４の生成モジュール主体で取得する。あるいは、オリジナルのＭＰ４ファイルを出力先のデバイスに通知し、分割が必要な場合には出力先のデバイスからＭＰ４の生成モジュールに対して最大ファイルサイズを示す情報を送信するなども可能である。
【０３００】
他のデバイスが通信ネットワーク経由でＭＰ４ファイルを取得する場合には、選択可能な言語、あるいは、ＭＰ４ファイルの取得先やＤＲＭ（Ｄｉｇｉｔａｌ  Ｒｉｇｈｔ  Ｍａｎａｇｅｍｅｎｔ）の管理サーバのＵＲＬなどコンテンツのメタ情報を記述したメタファイルを先ず取得し、メタファイルの解析結果に基づいてＭＰ４ファイルの取得要求を行うことが可能である。このような場合には、ＭＰ４ファイルの取得要求メッセージやコマンドにおいて、最大ファイルサイズを示す情報を記述してもよい。
【０３０１】
また、これらのメタファイルの更新に対応できるようにしてもよい。デフォルトのメタファイルは光ディスク内から取得して、更新があれば更新後のメタファイルをネットワーク経由で取得する。メタファイル内に、再生装置が最初にアクセスする管理サーバのＵＲＬを記述しておき、光ディスク内のメタファイルのバージョン番号などに基づいて、メタファイルが最新かどうかを管理サーバが判定し、最新でなければ最新のメタファイルの取得先を再生装置に通知するなどが可能である。また、国や地域に依存して、デフォルトのメタファイルに記述されたＤＲＭやコンテンツの取得先、あるいは、コンテンツの内容が異なることがあり、これらもメタファイルの更新と同様に、再生装置が存在する国や地域の識別情報に基づいて、メタファイルの更新と同様に管理サーバにおいて処理することができる。国や地域毎に、メタファイルの更新内容が異なる場合も同様である。
【０３０２】
図３６は、ＭＰ４ファイルを複数に分割して生成する場合の他の一例を示す図である。
【０３０３】
ＭＰ４ファイルを生成する際には、オーディオ、ビデオ、あるいは、字幕などの異なるメディアのデータを同一ファイルに多重化するのが一般的であるが、図３６に示すように、メディア毎にそれぞれ独立したＭＰ４ファイルとする形式もある。本形式はＤＭＰ（Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｐａｃｋａｇｅ）と呼ばれ、再生時には、複数のＭＰ４ファイルから取得したメディアデータを同期再生する。ＤＭＰでは、ＭＰ４ファイルやコンテンツの管理ファイルをＺＩＰ形式などでアーカイブするが、アーカイブ後のファイルが出力先のファイルシステムの最大ファイルサイズを超える場合には分割の必要がある。分割する際には、図３４および図３５において説明した分割方法と同様に分割を行える。つまり、同一ＤＭＰを構成する各メディアのＭＰ４ファイルの再生区間は同一、あるいは、近傍となるように分割する。あるいは、各メディアのＭＰ４において、１つのＭｏｖｉｅ  Ｆｒａｇｍｅｎｔが複数のＤＭＰに跨って格納されることを禁止するなどである。ｍｏｏｖやｍｆｒａの扱いについても同様である。また、オーディオや字幕はビデオに対してデータサイズが小さいため、複数ファイルに分割するのはビデオのみとして、オーディオや字幕は先頭の分割ファイルに全てのデータを格納してもよい。
【０３０４】
また、コンテンツ管理ファイルの内容については、コンテンツ全体に関わる属性情報は分割後の先頭のＤＭＰ内に格納されるコンテンツ管理ファイルに格納できる。また、先頭のＤＭＰに格納されるコンテンツ管理ファイルにおいて、分割された後続のＤＭＰファイルの識別情報、及び、再生順を示す情報を格納してもよい。後続のＤＭＰにおけるコンテンツ管理ファイルでは、ＤＭＰ内のファイルのアーカイブ情報、あるいは、ＤＭＰの識別情報などを記述して、コンテンツ全体に関わる情報は記述しなくてもよい。なお、ＤＭＰを複数生成するのではなく、単一のＤＭＰのデータを複数ファイルに分割してもよい。
【０３０５】
なお、ＤＭＰにおいても、図２１や図２２で説明したように、複数の再生区間を構成するＭＰ４ファイルをプレイリストなどにより参照して連続再生することは可能である。複数メディアを同一ファイルに多重化する際には、接続先と接続元はそれぞれ１つのファイルであるが、ＤＭＰでは、接続先と接続元がそれぞれ複数のファイルとなり、プレイリストには、それら複数のファイルの識別情報を記述する。また、連続して再生されるファイルの接続点におけるオーディオのギャップやオーバーラップも、前述した処理により同様に扱える。
【０３０６】
（変形例４−２）
図３７は、エクスポート用のＭＰ４など、エクスポート時に使用されるデータを光ディスクに格納する際の格納位置について示す図である。エクスポート用のデータは、高速に読出し、あるいは、コピーできることが望ましいため、光ディスクの外周部における連続領域に格納する。一方、Ｍ２ＴＳについては、光ディスクのレイヤ間をジャンプする際にオーディオやビデオ、あるいは、グラフィックスなどのデータがアンダーフローしないことを保証できるだけのデータを外周部に配置することが必須である。
【０３０７】
例えば、レイヤ０からレイヤ１へのジャンプに要する時間をＴ１、レイヤ１にジャンプしてからビデオのデータを取得できるまでの時間をＴ２、ビデオのビットレートをＲとすると、少なくともＲ＊（Ｔ１＋Ｔ２）だけのビデオデータがレイヤ０からジャンプする直前にバッファリングされる必要がある。ビットレートＲは、ビデオが符号化されるプロファイルやレベルにより規定されるビットレートの最大値、あるいは、実際の符号化データにおける平均ビットレートなどであってもよい。ここでの平均レートとは、ジャンプする直前の時刻に相当するビデオのＤＴＳをＴ＿ｄｅｃ１とすると、ＤＴＳがＴ＿ｄｅｃ１から（Ｔｄｅｃ１＋Ｔ１＋ｔ２）までの区間の平均レートを示す。
【０３０８】
また、エクスポート用のデータが配置される領域においても、Ｍ２ＴＳの再生時にはジャンプが発生する。従って、エクスポート用データの格納領域をジャンプする際にＭ２ＴＳのデータがアンダーフローしないように、エクスポート用データの格納領域を決定する必要がある。このように、ジャンプ再生時にＭ２ＴＳのデータがアンダーフローしないことを保証したうえで、できるだけ最外周に近い領域にエクスポート用のデータを配置する。
【０３０９】
なお、エクスポート用のＭＰ４については、同一ファイルが同一レイヤ内に格納されることが望ましい。
【０３１０】
（変形例４−３）
図３８は、エクスポート用のプレイリスト内にエレメンタリーストリームのサイズを示すプレイリスト例を示す図である。
【０３１１】
図３８の(ａ)のプレイリスト例１では、Ｍ２ＴＳやＭＰ４に多重化されたエレメンタリーストリームのサイズが示される。エクスポート時には、これらのサイズに基づいてエクスポートされるＭＰ４のデータサイズを概算できるため、エクスポート先の記録媒体においてエクスポートされるＭＰ４を格納するために十分な空き領域があるかどうかを判定できる。あるいは、コピーマニフェストにおいて、エクスポートするＭＰ４におけるヘッダ部のデータが含まれる場合には、ＭＰ４のヘッダ部のサイズを決定できるため、エレメンタリーストリームのサイズと合わせて、エクスポートされるＭＰ４のデータサイズが決定できる。
【０３１２】
図３８の（ｂ）のプレイリスト例２は、オーディオが基本部分と拡張部分（ロスレスとするための拡張など）から構成される場合に、基本部分と拡張部分のサイズの和、及び、基本部分のみのサイズを示すものであり、基本部分のみ、拡張部分のみ、あるいは、基本部分と拡張部分とを合わせてエクスポートする際の出力データのサイズを決定できる。オーディオだけでなく、ビデオがレイヤ構造により符号化される場合においても適用できる。
【０３１３】
（変形例４−４）
図３９は、プレイアイテム間のオーディオの接続部に発生するギャップの情報をプレイリスト内に示すプレイリスト例を示す図である。ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎがｓｅａｍｌｅｓｓ＿ｗ＿ｇａｐであれば、プレイアイテムの接続においてビデオはシームレスに接続されるが、オーディオにはギャップが発生することを示す。また、ギャップが存在する場合には、ｇａｐ＿ｄｕｒａｔｉｏｎによりギャップの時間長を示すこともできる。
【０３１４】
ＭＰ４においては、複数ファイルを連結する際には、オーディオのギャップを設ける必要があるが、これらの情報により、ギャップが存在するかどうかを判定し、ギャップが存在する場合にはギャップの時間長を取得して、ＭＰ４ファイルの連結部におけるギャップの時間長をＭＰ４のヘッダ情報として設定することができる。
【０３１５】
光ディスク内のコンテンツにおいては、プレイアイテム間ではオーディオのオーバーラップのみ許容するため、ｓｅａｍｌｅｓｓ＿ｗ＿ｇａｐに相当するモードは、エクスポート専用となる。
【０３１６】
（変形例４−５）
図４０Ａは、エクスポート時にオーディオのギャップを生成する方法例について説明するための図である。Ｍ２ＴＳ内のストリームにおいては、シームレス接続部においてオーディオフレームの再生区間が不連続となる場合には、プレイアイテム間でオーディオの再生区間をオーバーラップさせる。互いにオーバーラップが発生する２つのオーディオストリームをＭＰ４において連結する際には、接続部分におけるオーディオフレームを削除してギャップを生成する必要がある。
【０３１７】
図４０Ａにおいて、オーディオ１とオーディオ２とを連結する際には、オーディオ１のフレーム９８からフレーム１００までの３枚のフレーム（フレーム群Ａ）を削除して、オーディオ１のフレーム９７とオーディオ２のフレーム０との間にギャップを生成する。ここで、エクスポート時には、ギャップを生成する際に削除する必要があるフレームを特定できることが望ましい。
【０３１８】
図４０Ｂは、ギャップを生成する際に削除する必要があるフレームが示されたプレイリスト例を示す図である。図４０Ｂのプレイリスト例では、プレイアイテム１とプレイアイテム２とを連結する場合においてプレイアイテム１から参照されるオーディオの最終フレームのＰＴＳがｌａｓｔ＿ｆｒａｍｅ＿ｐｔｓにより示される。例えば、図４０Ａにおけるオーディオ１のフレーム９７のＰＴＳが３０．１ｓであるとすると、ｌａｓｔ＿ｆｒａｍｅ＿ｐｔｓが３０．１ｓと設定される。なお、削除が必要となるフレームのインデックス番号、格納先アドレスなど、ＰＴＳ以外の情報により削除するフレームを特定してもよい。
【０３１９】
なお、オーディオ１と、オーディオ２との間にオーバーラップが存在する（残る）ようにオーディオフレームを削除してもよい。つまり、オーディオフレームを削除した後において、オーディオ１の最終フレームとオーディオ２の先頭フレームとの間にオーバーラップが存在してもよい。
【０３２０】
また、図３９のプレイリスト例のように、ギャップの時間長などを合わせて示しても良い。
【０３２１】
以上の説明においては、エクスポート時に使用する補助情報をプレイリストに格納するものとしたが、プレイリストとは異なる再生管理のメタデータに格納してもよい。
【０３２２】
なお、図４０Ａ及び図４０Ｂでは、オーディオ１のうちのフレーム９８からフレーム１００までの３枚のフレームを削除して、オーディオ１のフレーム９７とオーディオ２のフレーム０との間にギャップを生成する例であるが、オーディオ２のフレームを削除してオーディオ１とオーディオ２との間にギャップを生成してもよい。例えば、図４０Ａのオーディオ２のうちのフレーム０からフレーム２までの３枚のフレーム（フレーム群Ｂ）を削除して、オーディオ１のフレーム１００とオーディオ２のフレーム３との間にギャップを生成してもよい。この場合、図４０Ｂで示すプレイリスト例において、プレイアイテム１のオーディオの最終フレームのＰＴＳを示すｌａｓｔ＿ｆｒａｍｅ＿ｐｔｓの代わりに、プレイアイテム２のオーディオの先頭フレームのＰＴＳを示すｆｉｒｓｔ＿ｆｒａｍｅ＿ｐｔｓを設け、オーディオ２のフレーム３のＰＴＳが３０．４ｓであるとすると、ｆｉｒｓｔ＿ｆｒａｍｅ＿ｐｔｓを３０．４ｓに設定してもよい。
【０３２３】
（変形例４−６）
図４１は、ＨＤＲ（Ｈｉｇｈ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）と呼ばれる、ＢＴ．７０９規格で使用される輝度範囲（ＳＤＲ：  Ｓｔａｎｄａｒｄ  Ｄｙａｎｍｉｃ  Ｒａｎｇｅ）よりも高輝度領域の輝度を含むビデオデータをＭＰ４ファイルに格納する際の格納例を示す図である。
【０３２４】
ＨＤＲコンテンツの再生には、ＨＤＲに対応したディスプレイが必要であり、ＳＤＲのディスプレイで再生する際にはＨＤＲの輝度範囲をＳＤＲの輝度範囲にマッピングするなどの処理が必要となる。本例では、エクスポート用のプレイリストにおいて最初に再生される０番目のプレイアイテムにおいて、ＨＤＲコンテンツが含まれ、ＨＤＲ対応のディスプレイでない場合には正しく表示できない旨を示す警告メッセージを示すコンテンツを格納しておく。
【０３２５】
エクスポート時にＭＰ４を生成する際には、０番目のプレイアイテムに対応する再生区間がＭＰ４の先頭データとして格納されるため、ＭＰ４を再生する際には、この警告メッセージが最初に表示される。なお、警告メッセージは字幕のみで構成してもよい。あるいは、ＭＰ４ファイル内にＨＤＲコンテンツが格納されるかどうかを、ＭＰ４のヘッダ情報においてシグナリングしてもよい。例えば、ｍｏｏｖにおいて、ビデオトラックの少なくとも一部の再生区間がＨＤＲを使用しているかどうかを示し、ｍｏｏｆにおいて、Ｍｏｖｉｅ  Ｆｒａｇｍｅｎｔを構成するビデオサンプルがＨＤＲを使用しているかどうかを示すことが可能である。
【０３２６】
ＨＤＲコンテンツを再生する際には、ストリーム単位、あるいは、シーン単位などで切替えることができるピーク輝度や白レベルの輝度などの輝度情報を用いて、出力先ディスプレイの最高輝度に応じたガンマカーブの調整を行う。従って、輝度情報についても、ＭＰ４のヘッダ情報として格納してもよい。輝度情報がＭＰ４ファイル内で固定の場合にはｍｏｏｖ内の情報として設定し、ＭＰ４ファイル内で可変となる場合にはｍｏｏｆ内の情報として設定してもよい。このとき、Ｍｏｖｉｅ  Ｆｒａｇｍｅｎｔ内では輝度情報は同一であるものとする。
【０３２７】
なお、ＨＤＲの使用、不使用が切替わる、あるいは、輝度情報が切替わると視覚的に目立ち、ユーザーに不快感を与えるため、シームレスに連続再生される区間においては、ＨＤＲの使用、不使用、あるいは、輝度情報は固定としてもよい。例えば、Ｍ２ＴＳを再生する際のプレイリストにおいては、プレイアイテム間でＨＤＲ関連の情報が固定であることを示す情報を格納してもよいし、ＭＰ４においても、ビデオトラック内でＨＤＲ関連の情報が固定であることを示す情報を格納してもよい。
【０３２８】
また、ＨＤＲ関連の情報などは、ＭＰ４ファイルに直接格納せずに、ＭＰ４ファイルを管理するメタ―データとして格納してもよい。
【０３２９】
（変形例４−７）
図４２は、光ディスクからＳＤカードやポータブルハードディスクなどにエクスポートしたＤＭＰデータを、ＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）規格などに基づいて、スマートフォンやタブレットなどのモバイル端末で視聴する際の動作を説明するための図である。
【０３３０】
例えば、ＤＬＮＡを例にとると、ＤＭＰデータを格納する記録媒体などがＤＬＮＡサーバとなり、スマートフォンやタブレットなどがＤＬＮＡクライアントとなる。ＤＬＮＡクライアントにおいてコンテンツを視聴する際には、ＤＭＰデータの全体をダウンロードしてから再生するのではなく、ダウンロードしながら再生できることが望ましい。
【０３３１】
しかしながら、ＤＭＰのデータは非圧縮ＺＩＰ形式で複数のＭＰ４ファイルを格納しており、ＭＰ４ファイルのデータは互いにインタリーブされていないため、ＤＭＰデータをダウンロードしながら、オーディオ、ビデオ、あるいは字幕のデータを同期再生するのは困難である。従って、ＤＬＮＡサーバにおいては、ＤＭＰからオーディオ、ビデオ、あるいは、字幕のＭＰ４ファイルを分離し、それらのＭＰ４ファイルに対してそれぞれ独立のセッションを確立した上で、ＤＬＮＡクライアントに送出する。ＤＬＮＡクライアントにおいては、独立した複数のセッションにより受信する複数のメディアのＭＰ４ファイルから、エレメンタリーストリームを分離して、同期再生を行う。
【０３３２】
なお、上記実施の形態および各変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態および各変形例におけるファイル生成装置などを実現するソフトウェアは、図８、図１７、図２２Ｂ、図２２Ｄ、図３２Ｂなどに示すフローチャートに含まれる各ステップを、コンピュータに実行させる。
【０３３３】
以上、一つまたは複数の態様に係るファイル生成装置および再生装置について、各実施の形態および各変形例に基づいて説明したが、本発明は、これらの実施の形態および各変形例に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態および各変形例に施したものや、各実施の形態および各変形例における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【０３３４】
例えば、実施の形態１およびその変形例では、ＭＰＥＧ２−ＴＳによって構成されたファイルを元ファイルとして用いた。しかし、元ファイルは、ＭＰ４と異なるファイルフォーマットによって構成されているファイルであれば、ＭＰＥＧ２−ＴＳのファイル以外のどのようなファイルまたはトランスポートストリームであってもよい。
【０３３５】
また、実施の形態２では、図２２Ａに示すように、再生区間１と再生区間２とを統合したが、これらの再生区間のそれぞれはＭＰ４ファイルのムービーフラグメントであっても、それ以外の他のストリームであってもよい。
【０３３６】
また、以下のような場合も本発明に含まれてもよい。
【０３３７】
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０３３８】
（２）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０３３９】
（３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０３４０】
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０３４１】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０３４２】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０３４３】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０３４４】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０３４５】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０３４６】
以上、本発明の一つまたは複数の態様に係るデータ送信方法およびデータ再生方法などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０３４７】
本発明は、処理負荷を抑えることができるという効果を奏し、例えば、ファイルフォーマットをＭＰＥＧ２−ＴＳからＭＰ４に変換する装置に適用することができ、例えばスマートフォンまたはタブレットなどの機器に利用可能である。
【符号の説明】
【０３４８】
１０，２０，４０，１００，２００    ファイル生成装置
１１    元ファイル取得部
１２    差分ファイル取得部
１３    手順ファイル取得部
１４，１０４    生成部
２１    統合部
２２    格納部
３０    再生装置
３１    抽出部
３２    合成部
４１    取得部
４２    選択部
４３    生成部
１０１    補助情報サーチ部
１０３    補助情報解析部
１０４ａ    サンプル生成部
１０４ｂ    サンプルエントリ生成部
２０１    プレイリスト解析部
２０２    エクスポート対象選択部
２０３    Ｍ２ＴＳ分離部
２０４    エクスポートファイル取得部
２０５    再多重化部
２０６    コピーマニフェスト解析部
【図１】
2015133696.tif 000003
【図２】
2015133696.tif 000004
【図３】
2015133696.tif 000005
【図４】
2015133696.tif 000006
【図５】
2015133696.tif 000007
【図６】
2015133696.tif 000008
【図７】
2015133696.tif 000009
【図８】
2015133696.tif 000010
【図９】
2015133696.tif 000011
【図１０Ａ】
2015133696.tif 000012
【図１０Ｂ】
2015133696.tif 000013
【図１１】
2015133696.tif 000014
【図１２】
2015133696.tif 000015
【図１３Ａ】
2015133696.tif 000016
【図１３Ｂ】
2015133696.tif 000017
【図１３Ｃ】
2015133696.tif 000018
【図１４】
2015133696.tif 000019
【図１５Ａ】
2015133696.tif 000020
【図１５Ｂ】
2015133696.tif 000021
【図１５Ｃ】
2015133696.tif 000022
【図１６Ａ】
2015133696.tif 000023
【図１６Ｂ】
2015133696.tif 000024
【図１６Ｃ】
2015133696.tif 000025
【図１７】
2015133696.tif 000026
【図１８】
2015133696.tif 000027
【図１９】
2015133696.tif 000028
【図２０】
2015133696.tif 000029
【図２１】
2015133696.tif 000030
【図２２Ａ】
2015133696.tif 000031
【図２２Ｂ】
2015133696.tif 000032
【図２２Ｃ】
2015133696.tif 000033
【図２２Ｄ】
2015133696.tif 000034
【図２２Ｅ】
2015133696.tif 000035
【図２３Ａ】
2015133696.tif 000036
【図２３Ｂ】
2015133696.tif 000037
【図２４】
2015133696.tif 000038
【図２５】
2015133696.tif 000039
【図２６】
2015133696.tif 000040
【図２７】
2015133696.tif 000041
【図２８Ａ】
2015133696.tif 000042
【図２８Ｂ】
2015133696.tif 000043
【図２９Ａ】
2015133696.tif 000044
【図２９Ｂ】
2015133696.tif 000045
【図３０】
2015133696.tif 000046
【図３１】
2015133696.tif 000047
【図３２Ａ】
2015133696.tif 000048
【図３２Ｂ】
2015133696.tif 000049
【図３３】
2015133696.tif 000050
【図３４】
2015133696.tif 000051
【図３５】
2015133696.tif 000052
【図３６】
2015133696.tif 000053
【図３７】
2015133696.tif 000054
【図３８】
2015133696.tif 000055
【図３９】
2015133696.tif 000056
【図４０Ａ】
2015133696.tif 000057
【図４０Ｂ】
2015133696.tif 000058
【図４１】
2015133696.tif 000059
【図４２】
2015133696.tif 000060