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