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