(57)【要約】  本技術は、XMLで記述された字幕データを、フォーマットを変換した後でも再生可能な形で他のフォーマットのコンテンツに多重化することができるようにする情報処理装置、情報処理方法、およびプログラムに関する。本技術の一側面の情報処理装置は、ビデオデータと、ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得し、第１のフォーマットのコンテンツに含まれる、字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成し、ビデオデータと、補足情報を付加した字幕データをそれぞれパケット化し、多重化することによって第２のフォーマットのコンテンツを生成する。本技術は、ハードディスクレコーダなどの記録装置に適用することができる。
2017154607.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得する取得部と、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成する生成部と、
前記ビデオデータと、前記補足情報を付加した前記字幕データをそれぞれパケット化し、多重化することによって第２のフォーマットのコンテンツを生成する多重化部と
を備える情報処理装置。
【請求項２】
前記字幕データは、画像データを用いて字幕を表示するXML文書と、前記XML文書内で参照する前記画像データを含み、
前記生成部は、前記補足情報、前記XML文書、および、それぞれの前記画像データを分離するために用いられる分離情報をさらに含む前記補足情報を生成する
請求項１に記載の情報処理装置。
【請求項３】
前記多重化部は、前記字幕データのパケットとして、前記補足情報、前記XML文書、および、前記XML文書内で参照する全ての前記画像データをペイロードに含む１つのパケットを生成する
請求項２に記載の情報処理装置。
【請求項４】
前記生成部は、前記補足情報の長さを示す情報、前記XML文書または前記画像データを格納するデータブロックの数を示す情報、それぞれの前記データブロックに格納されるデータの種類を示す情報、および、それぞれの前記データブロックの長さを示す情報を含む前記分離情報を生成する
請求項３に記載の情報処理装置。
【請求項５】
前記多重化部は、前記字幕データのパケットとして、前記補足情報と前記XML文書をペイロードに含むパケットと、それに続く、前記XML文書内で参照するそれぞれの前記画像データをペイロードに含むパケットを生成する
請求項２に記載の情報処理装置。
【請求項６】
前記生成部は、前記補足情報の長さを示す情報と、前記XML文書内で参照する前記画像データの数を示す情報を含む前記分離情報を生成する
請求項５に記載の情報処理装置。
【請求項７】
前記生成部は、前記XML文書の時刻の表現形式に関する情報、前記XML文書が想定するフレームレートに関する情報、前記XML文書を用いた字幕の開始時刻と終了時刻に関する情報、前記XML文書が想定する画枠に関する情報、前記字幕データの再生時に、前記XML文書に記述された時刻を無視するか否かを示す情報、および、前記XML文書に施されている圧縮のタイプを示す情報のうちの少なくともいずれかを含む前記補足情報を生成する
請求項２に記載の情報処理装置。
【請求項８】
前記多重化部は、前記ビデオデータと、前記補足情報を付加した前記字幕データをMPEG-2 TSのフォーマットで多重化する
請求項１に記載の情報処理装置。
【請求項９】
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得し、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成し、
前記ビデオデータと、前記補足情報を付加した前記字幕データをそれぞれパケット化し、多重化することによって第２のフォーマットのコンテンツを生成する
ステップを含む情報処理方法。
【請求項１０】
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得し、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成し、
前記ビデオデータと、前記補足情報を付加した前記字幕データをそれぞれパケット化し、多重化することによって第２のフォーマットのコンテンツを生成する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項１１】
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツのフォーマットを変換して得られた第２のフォーマットのコンテンツを取得する取得部と、
前記ビデオデータと前記字幕データを分離する分離部と、
前記ビデオデータを再生するビデオ再生部と、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報を前記字幕データから分離し、前記補足情報を参照して前記字幕データを再生する字幕再生部と、
前記第２のフォーマットのコンテンツの映像と字幕を表示させる表示制御部と
を備える情報処理装置。
【請求項１２】
前記字幕データは、画像データを用いて字幕を表示するXML文書と、前記XML文書内で参照する前記画像データを含み、
前記補足情報は、前記補足情報、前記XML文書、および、それぞれの前記画像データを分離するために用いられる分離情報をさらに含む
請求項１１に記載の情報処理装置。
【請求項１３】
前記字幕再生部は、前記分離情報に基づいて、前記補足情報、前記XML文書、および、前記XML文書内で参照する全ての前記画像データをペイロードに含む１つのパケットから、それぞれの情報を分離する
請求項１２に記載の情報処理装置。
【請求項１４】
前記分離情報は、前記補足情報の長さを示す情報、前記XML文書または前記画像データを格納するデータブロックの数を示す情報、それぞれの前記データブロックに格納されるデータの種類を示す情報、および、それぞれの前記データブロックの長さを示す情報を含む
請求項１３に記載の情報処理装置。
【請求項１５】
前記字幕再生部は、前記分離情報に基づいて、前記補足情報と前記XML文書をペイロードに含むパケットから、前記補足情報と前記XML文書を分離し、それに続く、前記XML文書内で参照するそれぞれの前記画像データをペイロードに含むパケットから、前記画像データを分離する
請求項１２に記載の情報処理装置。
【請求項１６】
前記分離情報は、前記補足情報の長さを示す情報と、前記XML文書内で参照する前記画像データの数を示す情報を含む
請求項１５に記載の情報処理装置。
【請求項１７】
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツのフォーマットを変換して得られた第２のフォーマットのコンテンツを取得し、
前記ビデオデータと前記字幕データを分離し、
前記ビデオデータを再生し、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報を前記字幕データから分離し、
前記補足情報を参照して前記字幕データを再生し、
前記第２のフォーマットのコンテンツの映像と字幕を表示させる
ステップを含む情報処理方法。
【請求項１８】
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツのフォーマットを変換して得られた第２のフォーマットのコンテンツを取得し、
前記ビデオデータと前記字幕データを分離し、
前記ビデオデータを再生し、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報を前記字幕データから分離し、
前記補足情報を参照して前記字幕データを再生し、
前記第２のフォーマットのコンテンツの映像と字幕を表示させる
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項１９】
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得する取得部と、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成する生成部と、
前記補足情報をTSパケットに格納し、前記ビデオデータをペイロードに含むPESパケットを分割して得られたTSパケット、および前記字幕データをペイロードに含むPESパケットを分割して得られたTSパケットとともにMPEG-2 TSのフォーマットで多重化することによって第２のフォーマットのコンテンツを生成する多重化部と
を備える情報処理装置。
【請求項２０】
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツをMPEG-2 TSのフォーマットに変換して得られた第２のフォーマットのコンテンツを取得する取得部と、
前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報を格納するTSパケット、前記ビデオデータをペイロードに含むPESパケットを分割して得られたTSパケット、および前記字幕データをペイロードに含むPESパケットを分割して得られたTSパケットをそれぞれ分離する分離部と、
前記ビデオデータを再生するビデオ再生部と、
前記補足情報を参照して前記字幕データを再生する字幕再生部と、
前記第２のフォーマットのコンテンツの映像と字幕を表示させる表示制御部と
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置、情報処理方法、およびプログラムに関し、特に、XMLで記述された字幕データを、フォーマットを変換した後でも再生可能な形で他のフォーマットのコンテンツに多重化することができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、多くのコンテンツ配信において、TTML(Timed Text Mark-up Language)を用いた字幕が採用されている。日本の4K/8K放送規格においてもTTMLを用いた字幕が採用されている。【０００３】
TTMLは、W3C(World Wide Web Consortium)により策定されたXML(Extensible Markup Language)に基づくマークアップ言語である。TTMLにより、字幕の表示タイミング、表示位置、表示タイミングなどを指定することができる。【０００４】
Timed Textは、ビデオなどの他のメディアと同期して表示されるテキストであり、主に、CaptionとSubtitleの提示に用いられる。Captionは、聴覚に障害がある視聴者に対する補助情報であり、Subtitleは、言語が理解できない視聴者に対する補助情報である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−２１６５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
コンテンツの伝送方式としてMMT(MPEG Media Transport)がある。MMTにより、放送だけでなく、インターネットなどの各種の伝送路を用いたコンテンツの伝送が可能になる。【０００７】
ところで、MMTのコンテンツを受信し、記録する場合、編集のしやすさなどからMPEG-2 TS形式で記録することが望まれる。MMTにおいては、例えばビデオデータはGOP単位でMFU(MMT Fragment Unit)と呼ばれるユニットに分割され、MFUをペイロードに含むMMTPパケットが構成される。MMTPパケットのヘッダには、ペイロードに格納されるデータのアドレスがバイトで表現されており、仮に、編集によって一部のシーンを削除した場合、全てのアドレスを書き換える必要がある。【０００８】
MMTのコンテンツはTTMLの字幕データがビデオなどの他のデータとともに多重化されることによって構成されるものであるが、TTMLの字幕データを、MPEG-2 TS形式で多重化する規格が存在しない。【０００９】
本技術はこのような状況に鑑みてなされたものであり、XMLで記述された字幕データを、フォーマットを変換した後でも再生可能な形で他のフォーマットのコンテンツに多重化することができるようにするものである。
【課題を解決するための手段】
【００１０】
本技術の一側面の情報処理装置は、ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得する取得部と、前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成する生成部と、前記ビデオデータと、前記補足情報を付加した前記字幕データをそれぞれパケット化し、多重化することによって第２のフォーマットのコンテンツを生成する多重化部とを備える。【００１１】
本技術の一側面においては、ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツが取得される。また、前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報が生成され、前記ビデオデータと、前記補足情報を付加した前記字幕データをそれぞれパケット化し、多重化することによって第２のフォーマットのコンテンツが生成される。【００１２】
本技術の他の側面の情報処理装置は、ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツのフォーマットを変換して得られた第２のフォーマットのコンテンツを取得する取得部と、前記ビデオデータと前記字幕データを分離する分離部と、前記ビデオデータを再生するビデオ再生部と、前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報を前記字幕データから分離し、前記補足情報を参照して前記字幕データを再生する字幕再生部と、前記第２のフォーマットのコンテンツの映像と字幕を表示させる表示制御部とを備える。【００１３】
本技術の他の側面においては、ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツのフォーマットを変換して得られた第２のフォーマットのコンテンツが取得され、前記ビデオデータと前記字幕データが分離され、前記ビデオデータが再生される。また、前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報が前記字幕データから分離され、前記補足情報を参照して前記字幕データが再生され、前記第２のフォーマットのコンテンツの映像と字幕が表示される。
【発明の効果】
【００１４】
本技術によれば、XMLで記述された字幕データを、フォーマットを変換した後でも再生可能な形で他のフォーマットのコンテンツに多重化することができる。【００１５】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１６】
【図１】本技術の一実施形態に係る情報処理システムの構成例を示す図である。
【図２】コンテンツの変換の例を示す図である。
【図３】XML字幕データの構成を示す図である。
【図４】image subtitleのXML文書の記述例を示す図である。
【図５】text subtitleのXML文書の記述例を示す図である。
【図６】XML文書の具体例を示す図である。
【図７】図６のXML文書に従って表示される字幕の例を示す図である。
【図８】XML字幕データのデコードの流れについて説明する図である。
【図９】XML字幕データのデコードの流れについて説明する図である。
【図１０】XML字幕データのデコードの流れについて説明する図である。
【図１１】XML字幕データのデコードの流れについて説明する図である。
【図１２】PESパケットの構成例を示す図である。
【図１３】図１２のTTMLヘッダのシンタクスの例を示す図である。
【図１４】root_container_sizeの意味を示す図である。
【図１５】効果について示す図である。
【図１６】PESパケットの構成例を示す図である。
【図１７】図１６のTTMLヘッダのシンタクスの例を示す図である。
【図１８】効果について示す図である。
【図１９】TSパケット化の例を示す図である。
【図２０】再生装置におけるTSパケットの処理の例を示す図である。
【図２１】記録装置の構成例を示すブロック図である。
【図２２】記録装置の機能構成例を示すブロック図である。
【図２３】再生装置の構成例を示すブロック図である。
【図２４】字幕生成部の構成例を示すブロック図である。
【図２５】再生装置の機能構成例を示すブロック図である。
【図２６】記録装置の処理について説明するフローチャートである。
【図２７】再生装置の処理について説明するフローチャートである。
【図２８】図２７のステップＳ１６において行われる字幕画面生成処理について説明するフローチャートである。
【図２９】図２７のステップＳ１６において行われる字幕画面生成処理について説明する、図２８に続くフローチャートである。
【図３０】text subtitleを含むPESパケットの構成例を示す図である。
【図３１】TTMLヘッダを含むTSパケットの例を示す図である。
【図３２】XML字幕データのパケット化の例を示す図である。
【図３３】TSパケットの配置の例を示す図である。
【図３４】XML字幕データのパケット化の他の例を示す図である。
【図３５】TTMLヘッダと言語との関連付けの第１の例を示す図である。
【図３６】TTMLヘッダと言語との関連付けの第２の例を示す図である。
【図３７】記録装置の記録処理について説明するフローチャートである。
【図３８】字幕生成部の構成例を示すブロック図である。
【図３９】字幕画面生成処理について説明するフローチャートである。
【図４０】Data Base情報の例を示す図である。
【図４１】記録装置の機能構成例を示すブロック図である。
【図４２】記録装置の記録処理について説明するフローチャートである。
【図４３】再生装置の機能構成例を示すブロック図である。
【図４４】再生装置の再生処理について説明するフローチャートである。
【図４５】TTMLヘッダのパケット化の例を示す図である。
【図４６】AVストリームの管理構造の例を示す図である。
【図４７】Main PathとSub Pathの構造を示す図である。
【図４８】ファイルの管理構造の例を示す図である。
【図４９】Clip Informationファイルのシンタクスを示す図である。
【図５０】図４９のProgramInfo()のシンタクスを示す図である。
【図５１】図５０のStreamCodingInfoのシンタクスを示す図である。
【図５２】記録装置の記録処理について説明するフローチャートである。
【図５３】字幕生成部の構成例を示すブロック図である。
【図５４】再生装置の再生処理について説明するフローチャートである。
【図５５】図５４のステップＳ２２９において行われる字幕画面生成処理について説明するフローチャートである。
【図５６】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
１．情報処理システム
２．字幕の記述方式
３．字幕のデコードについて
４．第１のPESパケット化の例
５．第２のPESパケット化の例
６．PESパケット化以降の処理について
７．記録装置と再生装置の構成例
８．記録装置と再生装置の動作例
９．TTMLヘッダの生成例
１０．変形例１
１１．TTMLヘッダをTSパケットに格納する例
１２．TTMLヘッダをData Base情報に記述する例
１３．変形例２
【００１８】
＜＜１．情報処理システム＞＞
図１は、本技術の一実施形態に係る情報処理システムの構成例を示す図である。
【００１９】
図１の情報処理システムは、記録装置１と再生装置２とを含む。
【００２０】
記録装置１は、ハードディスクレコーダ、テレビジョン受像機、パーソナルコンピュータなどの情報処理装置である。記録装置１は、放送コンテンツ、インターネットなどのネットワークを介して配信されたコンテンツ等のコンテンツを取得し、録画する機能を有する。
【００２１】
記録装置１が取得するコンテンツは、例えば、ビデオとオーディオを含むテレビジョン番組である。ビデオを少なくとも含むコンテンツであれば、どのようなコンテンツが記録装置１により取得されるようにしてもよい。
【００２２】
再生装置２は、ハードディスクレコーダ、メディアプレーヤ、テレビジョン受像機などの据え置き型の情報処理装置である。再生装置２を、スマートホンやタブレット端末などの携帯型の情報処理装置としてもよい。再生装置２は、コンテンツを再生し、コンテンツの映像と音声を出力する。
【００２３】
再生装置２が再生したコンテンツの映像は、再生装置２がハードディスクレコーダやメディアプレーヤなどのディスプレイを有していない装置である場合には、再生装置２に接続された外部のディスプレイに表示される。また、再生装置２が再生したコンテンツの映像は、再生装置２がテレビジョン受像機、携帯型の情報処理装置などのディスプレイを有している装置である場合には、再生装置２自身が有するディスプレイに表示される。
【００２４】
記録媒体３は、SD規格などの所定の規格に準拠したメモリカード、USB(Universal Serial Bus)メモリ、USB接続の外付けのHDD(Hard Disk Drive)、SSD(Solid State Drive)などの汎用の記録媒体である。記録媒体３は、記録装置１と再生装置２に着脱可能である。Blu-ray（登録商標） discなどの光ディスクが記録媒体３として用いられるようにしてもよい。
【００２５】
白抜き矢印Ａ１に示すように記録装置１が記録媒体３に記録したコンテンツは、記録媒体３を再生装置２に付け替えることで、白抜き矢印Ａ２に示すように、再生装置２において再生することが可能とされる。記録装置１から再生装置２に対するコンテンツの提供が、記録媒体３を介してではなく、ネットワークを介して行われるようにしてもよい。
【００２６】
ここで、記録装置１によるコンテンツの記録について説明する。
【００２７】
記録装置１が取得するコンテンツには、TTML(Timed Text Mark-up Language)で記述された字幕のデータ、または、SMPTE-TT(SMPTE Timed Text)規格の字幕のデータが含まれる。
【００２８】
SMPTE-TTは、上述したTTMLに、PNGによるイメージでの字幕の表示機能を追加した規格である。米国連邦通信委員会が制定するCFR47 Part79において、IP配信するコンテンツにキャプションを付加することが義務付けられており、SMPTE-TTはその米国連邦通信委員会が推奨する規格である。
【００２９】
TTMLの字幕、およびSMPTE-TTの字幕は、いずれもXMLで記述された字幕である。以下、適宜、TTMLの字幕とSMPTE-TTの字幕を区別する必要がない場合、まとめてXML字幕という。
【００３０】
記録装置１は、MMTによって伝送されたコンテンツを取得し、記録媒体３に記録する。MMTによって伝送されたコンテンツは、ビデオデータ、オーディオデータ、XML字幕データを、MMTで規定されたファイル形式で多重化したコンテンツである。
【００３１】
また、記録装置１は、ビデオデータ、オーディオデータ、XML字幕データを多重化したMP4のファイル形式のコンテンツを取得し、記録媒体３に記録する。
【００３２】
記録装置１は、MMTの伝送方式に対応した装置であるとともに、MP4のファイル形式のデータを処理可能な装置である。
【００３３】
記録装置１は、記録媒体３にコンテンツを記録する前、記録対象として取得したMMT形式のコンテンツ、またはMP4形式のコンテンツを、MPEG-2 TS形式のコンテンツに変換する。記録装置１は、変換して得られたMPEG-2 TS形式のコンテンツを記録媒体３に記録させる。以下、適宜、MMTのファイル形式のコンテンツをMMTコンテンツといい、MP4のファイル形式のコンテンツをMP4コンテンツという。
【００３４】
図２は、コンテンツの変換の例を示す図である。
【００３５】
図２の左方に示すコンテンツは、記録対象となるMMTコンテンツまたはMP4コンテンツである。記録対象となるコンテンツには、ビデオデータ、オーディオデータ、およびXML字幕データが含まれる。また、XML字幕データをビデオデータと同期して再生するために用いられる情報が含まれる。
【００３６】
記録対象のコンテンツがMMTコンテンツである場合、例えば、ビデオデータを格納するMFU(MMT Fragment Unit)のヘッダであるMFUヘッダや、MPU(Media Processing Unit)のヘッダであるMPUヘッダには、XML字幕の再生に用いられる情報が含まれる。
【００３７】
また、記録対象のコンテンツがMP4コンテンツである場合、例えば、ビデオデータを格納するbox（mdat box）の管理情報であるMP4ヘッダ（moov box）には、XML字幕の再生に用いられる情報が含まれる。
【００３８】
ビデオデータは、HEVC(High Efficiency Video Coding)やH.264/MPEG-4 AVC(Advanced Video Coding)などの所定の符号化方式で符号化して得られたデータである。オーディオデータは、AAC(Advanced Audio Coding)、mp3などの所定の符号化方式で符号化して得られたデータである。
【００３９】
記録装置１は、MMTコンテンツまたはMP4コンテンツから、ビデオデータ、オーディオデータ、およびXML字幕データをそれぞれ抽出する。
【００４０】
また、記録装置１は、MPEG-2 TS形式のコンテンツの再生時に、XML字幕データをビデオデータと同期して再生するために用いられる補足情報を生成する。
【００４１】
変換前のコンテンツに含まれる情報の中には、MMT形式またはMP4形式のデータをMPEG-2 TS形式のデータに変換したときに参照できなくなる情報がある。
【００４２】
補足情報は、そのように形式（フォーマット）の変換によって情報が参照できなくなったとしても、MPEG-2 TS形式のコンテンツに含まれるXML字幕データを、ビデオデータと同期して再生することができるようにするための情報である。後述する、XML字幕データを格納するPESパケットに含まれるTTMLヘッダが、補足情報に相当する。
【００４３】
記録装置１は、記録対象のコンテンツから抽出したXML字幕データに補足情報を付加し、補足情報を含むXML字幕データを生成する。また、記録装置１は、補足情報を含むXML字幕データを、記録対象のコンテンツから抽出したビデオデータ、オーディオデータとともにMPEG-2 TS形式で多重化し、矢印Ａ１１の先に示すトランスポートストリーム（TS）のコンテンツを生成する。記録装置１は、生成したTSを記録媒体３に記録させる。
【００４４】
すなわち、記録装置１においては、XML字幕データを含むコンテンツのフォーマットが、MMT形式やMP4形式から、MPEG-2 TS形式に変換されることになる。また、フォーマットの変換によって参照できなくなる情報などをまとめた補足情報が生成され、MPEG-2 TS形式のコンテンツに含まれることになる。
【００４５】
再生装置２は、記録媒体３に記録されたコンテンツの再生時、MPEG-2 TS形式のコンテンツを記録媒体３から読み出し、TSを、ビデオデータ、オーディオデータ、XML字幕データのそれぞれのTSパケットに分離する。
【００４６】
再生装置２は、分離したビデオデータのTSパケットとオーディオデータのTSパケットをデコードし、映像と音声を出力させる。また、再生装置２は、分離したTSパケットに基づいてXML字幕データを取得し、補足情報を適宜参照してデコードして、コンテンツの映像とともに字幕を表示させる。
【００４７】
このように、記録装置１は、MMTコンテンツやMP4コンテンツに含まれるTTMLの字幕データやSMPTE-TTの字幕データを、MPEG-2 TS形式で多重化することができる。
【００４８】
また、再生装置２は、MPEG-2 TS形式で多重化されたTTMLの字幕データやSMPTE-TTの字幕データを再生することができる。
【００４９】
＜＜２．字幕の記述方式＞＞
XML字幕には、PNGを用いてイメージによって字幕を表示するimage subtitleと、テキストによって字幕を表示するtext subtitleがある。image subtitleはSMPTE-TT規格の字幕である。一方、text subtitleは、TTMLの字幕であるとともに、SMPTE-TT規格の字幕であるともいえる。
【００５０】
図３は、XML字幕データの構成を示す図である。
【００５１】
図３のＡに示すように、image subtitleのXML字幕データは、XML文書とPNGファイルから構成される。
【００５２】
XML文書は、表示タイミング、表示位置、表示サイズなどをXMLで記述したデータである。XML文書には、各表示タイミングにおいて参照するPNGファイルを指定する記述も含まれる。
【００５３】
PNGファイルは、字幕のイメージのファイルである。image subtitleのXML字幕データには複数のPNGファイルが含まれる。
【００５４】
図３のＢに示すように、text subtitleのXML字幕データは、XML文書から構成される。
【００５５】
XML文書は、image subtitleのXML字幕データに含まれるXML文書と同様に、表示タイミング、表示位置、表示サイズなどをXMLで記述したデータである。text subtitleのXML文書には、各表示タイミングにおいて表示するテキストデータの記述も含まれる。
【００５６】
図４は、image subtitleのXML文書の記述例を示す図である。
【００５７】
図４の左側に示す数字と「：（コロン）」は説明の便宜上付してあるものである。図５以降においても同様である。主なエレメントについて説明する。
【００５８】
１０行目の「ttp:frameRate="24"」と、それに続く「ttp:frameRateMultiplier="1000 1001“」は、フレームレートが23.976Hzであることを示す。
【００５９】
１１行目の「tts:extent="1920px 1080px"」は、画枠のサイズが1920×1080画素であることを示す。
【００６０】
１２行目の<head>エレメントは、XML文書のheaderに相当する。
【００６１】
１３行目の<layout>エレメントは、headerの中で、字幕のレイアウトを指定するエレメントである。
【００６２】
１４行目の<region>エレメントは、字幕の表示領域を指定するエレメントである。<region>エレメントには、id，origin，extentの各属性が含まれる。id，origin，extentは、それぞれ、表示領域のID、起点、範囲を表す。
【００６３】
１７行目の<body>エレメントは、XML文書の本文に相当する。
【００６４】
１８行目の<div>エレメントは、字幕（文書）のブロックに相当する。<div>エレメントには、region，begin，end，smpte:backgroundImageの各属性が含まれる。regionは、当該本文の表示領域を示す。beginは、当該本文の表示開始時刻を示す。endは、当該本文の表示終了時刻を示す。smpte:backgroundImageは、参照するPNGファイルを示す。
【００６５】
図５は、text subtitleのXML文書の記述例を示す図である。図４の説明と重複する説明については適宜省略する。
【００６６】
１９行目の<p>エレメントは、字幕の一行を示す。<p>エレメントには、region，begin，endの各属性が含まれる。
【００６７】
２２行目の<span>エレメントは、字幕の一部区間を示す。<span>エレメントに含まれる属性であるtts:colorは文字の色を表す。
【００６８】
図５の<p>エレメントは、「00:00:00:00」から「00:00:05:00」までの間（０秒から５秒までの間）、「これはテキストの例です」の一行を、「imageRegion」で表される表示領域に表示させることを表す。「テキスト」の文字は赤色である。
【００６９】
図６は、XML文書の具体例を示す図である。図６のXML文書は、text subtitleのXML文書である。
【００７０】
１１行目の<p>エレメントに記述される「text1」の一行は、「r1」で示される領域に表示される字幕である。beginとendの属性が含まれていないが、この場合、上位のエレメントの値を継承して用いられる。
【００７１】
図６の例においては、１０行目の<div>エレメントに「begin=“00:00:00:00”」と「end=“00:00:10:00”」が記述されている。「text1」の一行の表示開始時刻は「00:00:00:00」となり、表示終了時刻は「00:00:10:00」となる。
【００７２】
時刻に関する属性であるbegin，end，durは、エレメント中に存在しない場合がある。その場合、上位のエレメント中の時刻に従って、表示タイミングが特定される。
【００７３】
１２行目の<p>エレメントに記述される「text2」の一行は、「r1」で示される領域に、「begin=“00:00:01”」で指定される時刻から「end=“00:00:02”」で指定される時刻までの間、表示される字幕である。
【００７４】
図７は、図６のXML文書に従って表示される字幕の例を示す図である。
【００７５】
横軸は時刻を表す。図７に示すように、０秒から１０秒までの期間においては、「text1」の一行が「r1」で表される領域に表示され続ける。また、１秒から２秒までの期間においては、「text2」の一行も、「r1」で表される領域に表示される。
【００７６】
以上のような記述を含むXML字幕データが、記録装置１が取得するコンテンツに含まれる。また、記録媒体３に記録され、再生装置２に提供されるコンテンツにも、以上のような記述を含むXML字幕データが含まれる。
【００７７】
以下、image subtitleのXML字幕データの処理について主に説明する。text subtitleのXML字幕データの処理も、image subtitleのXML字幕データの処理と同様にして行われる。
【００７８】
＜＜３．字幕のデコードについて＞＞
図８乃至図１１を参照して、再生装置２におけるXML字幕データのデコードの流れについて説明する。
【００７９】
図８の左方に示すように、再生装置２は、記録装置１から提供されたコンテンツを取得する。再生装置２が取得するコンテンツは、ビデオデータ、オーディオデータ、XML字幕データを含むMPEG-2 TS形式のコンテンツである。
【００８０】
図８の右方に示すように、再生装置２は、TSからXML字幕データを取り出し、字幕デコーダに出力する。再生装置２には、それぞれのデータを分離する分離部（デマルチプレクサ）と、XML文書を解析し、XML文書の記述に従って字幕の再生を行う字幕デコーダが設けられる。再生装置２には、ビデオデータのデコードを行うビデオデコーダと、オーディオデータのデコードを行うオーディオデコーダも設けられる。
【００８１】
図９に示すように、再生装置２の字幕デコーダは、分離部から供給されたXML字幕データを解析してXML文書の意味を解釈し、最適化したXML字幕データを内部のメモリに保持する。XML字幕データの最適化には、字幕の表示に不要な情報を削除する処理が含まれる。
【００８２】
また、XML字幕データの最適化には、XML文書に含まれる時刻を、統一した表現の時刻に置き換える処理が含まれる。XML字幕データの最適化が、適宜、補足情報に基づいて行われる。
【００８３】
字幕デコーダは、図１０に示すように、字幕の表示タイミングになったとき、その時刻に関する字幕情報をXML字幕データから取り出し、intermediate synchronic documentを生成する。
【００８４】
intermediate synchronic documentは、図１１に示すように、各表示タイミングにおける字幕の情報を記述した中間字幕情報である。図１１の例においては、元になるSMPTE-TTの字幕データは、１時間分の字幕の表示に関する記述を含むデータである。例えば、１秒の表示タイミングで表示する字幕に関するintermediate synchronic document＃１、５秒の表示タイミングで表示する字幕に関するintermediate synchronic document＃２といったように、各表示タイミングの字幕に対応する情報が、SMPTE-TTの字幕データに基づいて生成される。
【００８５】
字幕デコーダは、生成したintermediate synchronic documentをデコードし、PNGファイルのビットマップデータを用いて、字幕プレーンを生成する。字幕プレーンは字幕画面のデータである。字幕デコーダにより生成された字幕プレーンは、ビデオデコーダにより生成されたビデオプレーンと合成され、合成後の表示データに基づいて、コンテンツの映像（画面）が表示される。
【００８６】
XML字幕データのデコードを以上のようにして行う再生装置２の一連の処理については、フローチャートを参照して後述する。
【００８７】
＜＜４．第１のPESパケット化の例＞＞
記録装置１においては、ビデオのエレメンタリストリームとオーディオのエレメンタリストリームがそれぞれPESパケット化され、188バイト単位のTSパケットに分割される。XML字幕データについても同様に、PESパケット化され、188バイト単位のTSパケットに分割される。ビデオデータを格納するTSパケット、オーディオデータを格納するTSパケット、およびXML字幕データを格納するTSパケットが多重化され、TSが生成される。
【００８８】
ここで、image subtitleのPESパケット化の第１の方式について説明する。
【００８９】
PESパケット化の第１の方式は、１つの有効区間分の全ての字幕データを１つのPESパケットにまとめて格納する方式である。１つの有効区間は、１つのXML文書を用いて字幕の再生が行われる区間である。
【００９０】
図３を参照して説明したように、image subtitleの字幕データは、XML文書とPNGファイルから構成される。多重化すべきアセットは、１つのXML文書のファイルと、そのXML文書が参照する全てのPNGファイルとなる。
【００９１】
図１２は、PESパケットの構成例を示す図である。
【００９２】
図１２に示すように、PESペイロードの先頭にTTMLヘッダが配置される。TTMLヘッダは、XML文書内の記述だけでは不足する情報を補足する補足情報である。
【００９３】
TTMLヘッダの次にXML文書のデータブロックが配置され、XML文書のデータブロックに続けて、XML文書内で参照される全てのPNGファイルのデータブロック＃１〜＃Ｎが順に配置される。
【００９４】
TTMLヘッダ、XML文書、および全てのPNGファイルを含むPESペイロードにPESヘッダが付加され、１つのPESパケットが構成される。
【００９５】
図１３は、図１２のTTMLヘッダのシンタクスの例を示す図である。
【００９６】
１行目のlengthは、TTMLヘッダの長さを示す。
【００９７】
２行目のnumber_of_data_blockは、全てのデータブロック（XML文書のデータブロックとPNGファイルのデータブロック）の数を示す。
【００９８】
５行目から７行目までの情報は、各データブロックに関する情報であり、number_of_data_blockにより示される数だけ繰り返される。例えば、i=0の情報は、１番目のデータブロック、すなわちXML文書のデータブロックに関する情報である。また、i=1の情報は、２番目のデータブロック、すなわち１番目のPNGファイルのデータブロックに関する情報である。
【００９９】
なお、XML文書のデータブロックとPNGファイルのデータブロックの並び順は任意である。例えば、TTMLヘッダに続くデータブロックをPNGファイルのデータブロックとすることも可能である。
【０１００】
５行目のdata_lengthは、当該データブロックの長さを示す。
【０１０１】
６行目のdata_typeは、当該データブロックがXML文書のデータブロックであるのか、PNGファイルのデータブロックであるのかを示す。
【０１０２】
１行目のlength、２行目のnumber_of_data_block、および各データブロックに関する情報であるdata_length，data_typeは、XML文書とPNGファイルを分離するのに用いられる分離情報である。
【０１０３】
９行目のtime_scaleは、1tickが、1/time_scale秒であることを示す。tickは、時間表現の１つである。例えば90000tickは、90000tickが１秒に相当することを示す。この場合、1tickは1/90000秒の時間を示すことになる。time_scaleは、XML文書内の時刻の表現形式を示す情報となる。
【０１０４】
１０行目のframe_rateは、字幕の想定するフレームレートを示す。
【０１０５】
１１行目のstart_timeは、有効区間の開始時刻を示す。
【０１０６】
１２行目のend_timeは、有効区間の終了時刻を示す。
【０１０７】
１３行目のroot_container_sizeは、字幕の想定する画枠のサイズを示す。図１４に示すように、例えば、root_container_sizeの値が０であることは、画枠のサイズが1920×1080画素であることを示す。また、root_container_sizeの値が１であることは、画枠のサイズが3840×2160画素であることを示す。
【０１０８】
１４行目のTMDは、XML文書内のbegin，endの時刻情報を無視するか否かを示す。TMDの値の0010bは無効値である。TMDの値が1111bであることは、XML文書内のbegin，endの時刻情報を無視することを示す。
【０１０９】
１５行目のcompression_typeは、XML文書のデータバイトに対して圧縮が施されているか否かと、圧縮が施されている場合に、その圧縮のタイプを示す。compression_typeの値が0000bであることは、XML文書のデータバイトが非圧縮であることを示す。compression_typeの値が0000b以外であることは、compression_typeの値に応じた圧縮がXML文書のデータバイトに対して施されていることを示す。
【０１１０】
TTMLヘッダに記述されるこれらの情報は、MPEG-2 TS形式のコンテンツのXML字幕データを再生する際に必要になる情報である。記録装置１は、このような記述を含むTTMLヘッダを生成し、PESペイロードの先頭に配置してXML字幕データのPESパケット化を行う。
【０１１１】
上述したように、記録対象のコンテンツが例えばMMTコンテンツである場合、MFUヘッダやMPUヘッダには、MMTコンテンツをMPEG-2 TS形式のコンテンツに変換することによって参照できなくなる情報がある。従って、図１５に示すように、TTMLヘッダを含めずに、単に、XML文書のデータと参照するPNGファイルだけがPESペイロードに格納されている場合、情報が不足し、再生装置２は、XML文書に従って字幕を表示させることができない。
【０１１２】
このように、XML字幕データを、TTMLヘッダを含む形でPESパケット化し、MPEG-2 TS形式のコンテンツに多重化することにより、再生装置２は、MPEG-2 TS形式のコンテンツに含まれるXML字幕データを再生することが可能になる。
【０１１３】
＜＜５．第２のPESパケット化の例＞＞
次に、image subtitleのPESパケット化の第２の方式について説明する。
【０１１４】
PESパケット化の第２の方式は、１つの有効区間分の各コンポーネントを、それぞれ個別のPESパケットに格納する方式である。
【０１１５】
図１６は、PESパケットの構成例を示す図である。
【０１１６】
図１６に示すように、１番目のPESパケットであるPESパケット＃１のPESペイロードの先頭にTTMLヘッダが配置される。また、PESパケット＃１のPESペイロードには、TTMLヘッダの次にXML文書のデータブロックが配置される。
【０１１７】
TTMLヘッダとXML文書を含むPESペイロードにPESヘッダが付加され、PESパケット＃１が構成される。TTMLヘッダは、XML文書を格納するPESパケットにだけ同梱される。
【０１１８】
PESパケット＃１以降のPESパケットのPESペイロードには、それぞれ、PNGファイル＃１〜＃Ｎのデータブロックが１つずつ配置される。
【０１１９】
１つのPNGファイルのデータブロックを含むPESペイロードにPESヘッダが付加され、PESパケット＃２〜＃Ｎ+１が構成される。
【０１２０】
図１７は、図１６のTTMLヘッダのシンタクスの例を示す図である。図１３の説明と重複する説明については適宜省略する。
【０１２１】
１行目のlengthは、TTMLヘッダの長さを示す。
【０１２２】
２行目のnumber_of_data_blockは、全てのデータブロック（XML文書のデータブロックとPNGファイルのデータブロック）の数を示す。number_of_data_blockにより表される数から１を引いた数が、XML文書が参照するPNGファイルの数、すなわち、当該TTMLヘッダを含むPESパケットに続くPESパケットの数となる。
【０１２３】
１行目のlengthと２行目のnumber_of_data_blockは、XML文書とPNGファイルを分離するのに用いられる分離情報である。
【０１２４】
４行目のtime_scaleは、1tickが、1/time_scale秒であることを示す。
【０１２５】
５行目のframe_rateは、字幕の想定するフレームレートを示す。
【０１２６】
６行目のstart_timeは、有効区間の開始時刻を示す。
【０１２７】
７行目のend_timeは、有効区間の終了時刻を示す。
【０１２８】
８行目のroot_container_sizeは、字幕の想定する画枠のサイズを示す。
【０１２９】
９行目のTMDは、XML文書内のbegin，endの時刻情報を無視するか否かを示す。
【０１３０】
１０行目のcompression_typeは、XML文書のデータバイトに対して圧縮が施されているか否かと、圧縮が施されている場合に、その圧縮のタイプを示す。
【０１３１】
図１３に示すTTMLヘッダとは異なり、図１７に示すTTMLヘッダには、data_lengthとdata_typeを含む各データブロックに関する情報がない。各PESパケットのPESヘッダの記述から、各PESパケットの長さを特定することができるためである。また、PESパケットの順番から、PESペイロードに配置されているデータブロックの種類を特定することができるためである。
【０１３２】
仮に、図１８に示すように、TTMLヘッダを１番目のPESパケットに含めずに、単に、XML文書のデータと参照するPNGファイルだけがそれぞれのPESパケットに格納されている場合、情報が不足し、再生装置２は、XML文書に従って字幕を表示させることができない。
【０１３３】
このように、XML字幕データを、TTMLヘッダを含む形でPESパケット化し、MPEG-2 TS形式のコンテンツに多重化することにより、再生装置２は、MPEG-2 TS形式のコンテンツに含まれるXML字幕データを再生することが可能になる。
【０１３４】
例えば、XML字幕データのPESパケット化の方式（第１の方式または第２の方式）については、記録装置１と再生装置２の間で予め決められている。
【０１３５】
＜＜６．PESパケット化以降の処理について＞＞
図１９は、TSパケット化の例を示す図である。
【０１３６】
PESパケット化の第１の方式または第２の方式によって得られたそれぞれのPESパケットは、１８８バイトのTSパケットに分割される。それぞれのTSパケットは、TSヘッダとTSペイロードから構成される。それぞれのTSパケットのTSヘッダのPIDには、XML字幕データに対して割り当てられた値が設定される。
【０１３７】
記録装置１においては、このようにして生成されたTSパケットが、ビデオのエレメンタリストリームのデータを含むTSパケット、およびオーディオのエレメンタリストリームのデータを含むTSパケットとともに多重化され、TSが生成される。
【０１３８】
図２０は、再生装置２におけるTSパケットの処理の例を示す図である。
【０１３９】
図２０に示すTSパケットは、図１９を参照して説明したようにして生成されたXML字幕データを格納したTSパケットである。
【０１４０】
再生装置２は、それぞれのTSパケットのTSヘッダに含まれるPIDに基づいて、同一のPIDが設定されたTSパケットを集め、PESパケットを生成する。１番目のPESパケットのPESペイロードには、TTMLヘッダとXML文書のデータブロックが含まれる。
【０１４１】
同様に、同一のPIDが設定されたTSパケットを集めることによって２番目以降のPESパケットが生成される。２番目以降の各PESパケットのPESペイロードには、XML文書が参照する各PNGファイルのデータブロックが含まれる。
【０１４２】
すなわち、図２０に示すPESパケットは、PESパケット化の第２の方式により得られたPESパケットである。
【０１４３】
＜＜７．記録装置と再生装置の構成例＞＞
＜７−１．記録装置の構成例＞
図２１は、記録装置１の構成例を示すブロック図である。
【０１４４】
記録装置１は、入力部１１、制御部１２、ドライブ１３、記録部１４、ドライブ１５、信号処理部１６、および記録媒体Ｂにより構成される。信号処理部１６は、字幕読み出し部２１、ビデオ読み出し部２２、オーディオ読み出し部２３、および多重化部２４から構成される。
【０１４５】
記録装置１には、外部の記録媒体である記録媒体Ａが接続される。記録媒体Ａが、上述した記録媒体３に相当する。記録媒体Ｂは、HDD、SSDなどの内蔵の記録媒体である。
【０１４６】
入力部１１は、XML字幕データを含む記録対象のコンテンツを取得する。入力部１１が取得するコンテンツは、放送された、または、インターネットを介して配信されたMMTコンテンツ、またはMP4コンテンツである。
【０１４７】
記録装置１には、放送信号の受信部、インターネットを介して外部の装置と通信を行う通信部などの構成も設けられている。入力部１１は、取得したコンテンツを制御部１２に出力する。また、入力部１１は、記録装置１のユーザによる操作を受け付け、操作の内容を表す情報を制御部１２に出力する。
【０１４８】
制御部１２は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などよりなり、所定のプログラムを実行して、記録装置１の全体の動作を制御する。
【０１４９】
例えば、制御部１２はTTMLヘッダを生成する。また、制御部１２は、信号処理部１６を制御し、記録対象のコンテンツを、MPEG-2 TS形式のコンテンツに変換させる。制御部１２は、変換によって得られたMPEG-2 TS形式のコンテンツをドライブ１３に出力し、記録媒体Ａに記録させる。
【０１５０】
再生装置２に対するコンテンツの提供がネットワークを介して行われる場合、制御部１２は、図示せぬ通信部を制御し、変換によって得られたMPEG-2 TS形式のコンテンツを再生装置２に送信する。
【０１５１】
ドライブ１３は、制御部１２から供給されたコンテンツを記録媒体Ａに記録させる。また、ドライブ１３は、適宜、記録媒体Ａからデータを読み出し、制御部１２に出力する。
【０１５２】
記録部１４は、HDD、SSDなどの内蔵の記録媒体である。記録部１４は、制御部１２から供給されたデータを記録する。
【０１５３】
ドライブ１５は、制御部１２から供給されたデータを記録媒体Ｂに記録させる。また、ドライブ１５は、適宜、記録媒体Ｂからデータを読み出し、制御部１２に出力する。
【０１５４】
信号処理部１６の字幕読み出し部２１は、制御部１２から供給されたコンテンツからXML字幕データを読み出す。字幕読み出し部２１は、読み出したXML字幕データを多重化部２４に出力する。
【０１５５】
ビデオ読み出し部２２は、制御部１２から供給されたコンテンツからビデオデータを読み出す。ビデオ読み出し部２２は、読み出したビデオデータ（ビデオストリーム）を多重化部２４に出力する。
【０１５６】
オーディオ読み出し部２３は、制御部１２から供給されたコンテンツからオーディオデータを読み出す。オーディオ読み出し部２３は、読み出したオーディオデータ（オーディオストリーム）を多重化部２４に出力する。
【０１５７】
多重化部２４は、制御部１２により生成されたTTMLヘッダと字幕読み出し部２１から供給されたXML字幕データを、上述した第１の方式または第２の方式でPESパケット化する。また、多重化部２４は、ビデオ読み出し部２２から供給されたビデオストリーム、およびオーディオ読み出し部２３から供給されたオーディオストリームをPESパケット化する。
【０１５８】
多重化部２４は、XML字幕、ビデオ、オーディオの各TSパケットを多重化し、TSを生成する。多重化部２４は、生成したTSを制御部１２に出力する。
【０１５９】
図２２は、記録装置１の機能構成例を示すブロック図である。図２２に示す構成のうちの少なくとも一部は、制御部１２により所定のプログラムが実行されることによって実現される。
【０１６０】
制御部１２においては、コンテンツ取得部３１、TTMLヘッダ生成部３２、および記録制御部３３が実現される。
【０１６１】
コンテンツ取得部３１は、入力部１１から供給された記録対象のコンテンツを取得し、信号処理部１６に出力する。また、コンテンツ取得部３１は、信号処理部１６においてコンテンツから読み出されたデータのうち、TTMLヘッダの生成に用いられる情報を取得する。コンテンツ取得部３１は、取得した情報をTTMLヘッダ生成部３２に出力する。
【０１６２】
TTMLヘッダ生成部３２は、コンテンツ取得部３１から供給された情報に基づいてTTMLヘッダを生成し、信号処理部１６に出力する。TTMLヘッダ生成部３２によるTTMLヘッダの生成は、適宜、記録装置１のユーザにより入力された情報等も用いて行われる。TTMLヘッダの生成については後述する。
【０１６３】
記録制御部３３は、信号処理部１６により生成されたMPEG-2 TS形式のコンテンツを取得し、ドライブ１３を制御して記録媒体Ａに記録させる。
【０１６４】
＜７−２．再生装置の構成例＞
図２３は、再生装置２の構成例を示すブロック図である。
【０１６５】
再生装置２は、入力部５１、制御部５２、ドライブ５３、記録部５４、ドライブ５５、再生部５６、および記録媒体Ｂにより構成される。再生部５６は、読み出しバッファ７１、分離部７２、字幕生成部７３、ビデオ生成部７４、オーディオ生成部７５、および表示データ生成部７６から構成される。
【０１６６】
再生装置２には、記録媒体３に相当する記録媒体Ａが接続される。記録媒体Ａには、MPEG-2 TS形式のコンテンツが記録されている。記録媒体Ａに記録されているコンテンツを再生する場合について説明する。記録媒体Ｂは、HDD、SSDなどの内蔵の記録媒体である。
【０１６７】
また、再生装置２には、表示部８１とスピーカ８２が接続される。再生装置２が、メディアプレーヤなどのディスプレイを有していない装置である場合、表示部８１とスピーカ８２は、再生装置２に接続されるテレビジョン受像機の構成となる。再生装置２とテレビジョン受像機はHDMI（登録商標）などの所定のインタフェースを介して接続される。一方、再生装置２が、携帯端末などのディスプレイを有している装置である場合、表示部８１とスピーカ８２は、再生装置２の内部に設けられる構成となる。
【０１６８】
入力部５１は、再生装置２のユーザによる操作を受け付け、操作の内容を表す情報を制御部５２に出力する。
【０１６９】
制御部５２は、CPU、ROM、RAMなどよりなり、所定のプログラムを実行して、再生装置２の全体の動作を制御する。
【０１７０】
例えば、制御部５２は、ドライブ５３を制御して、記録媒体Ａに記録されたTSを読み出し、再生部５６に出力する。また、制御部５２は、再生部５６を制御し、コンテンツの再生を行わせる。
【０１７１】
ドライブ５３は、記録媒体Ａを制御して、記録媒体Ａに記録されたデータを読み出す。読み出されたデータは制御部５２に供給される。
【０１７２】
記録部５４は、HDD、SSDなどの内蔵の記録媒体である。記録部５４は、制御部５２から供給されたデータを記録する。
【０１７３】
ドライブ５５は、記録媒体Ｂを制御して、記録媒体Ｂに記録されたデータを読み出す。読み出されたデータは制御部５２に供給される。
【０１７４】
再生部５６の読み出しバッファ７１は、制御部５２から供給されたTSを一時的に記憶する。
【０１７５】
分離部７２は、TSを構成する各TSパケットのPIDに基づいて、読み出しバッファ７１に記憶されたデータを、XML字幕データ、ビデオデータ、およびオーディオデータの各TSパケットに分離する。
【０１７６】
分離部７２は、分離したXML字幕データのTSパケットを字幕生成部７３に出力する。また、分離部７２は、ビデオデータのTSパケットとオーディオデータのTSパケットを、それぞれ、ビデオ生成部７４とオーディオ生成部７５に出力する。
【０１７７】
字幕生成部７３は、分離部７２から供給されたTSパケットを集めてPESパケットを生成する。字幕生成部７３は、PESパケットに含まれるXML字幕データをデコードし、字幕プレーンを表示データ生成部７６に出力する。
【０１７８】
ビデオ生成部７４は、分離部７２から供給されたビデオデータをデコードし、ビデオプレーンを表示データ生成部７６に出力する。
【０１７９】
オーディオ生成部７５は、分離部７２から供給されたオーディオデータをデコードする。オーディオ生成部７５は、デコードして得られたデータをスピーカ８２に出力し、コンテンツの音声を出力させる。
【０１８０】
表示データ生成部７６は、字幕生成部７３から供給された字幕プレーンとビデオ生成部７４から供給されたビデオプレーンを合成し、表示データとして表示部８１に出力する。
【０１８１】
表示部８１は、LCD、有機ELディスプレイなどのディスプレイである。表示部８１は、表示データ生成部７６から供給された表示データに基づいて、コンテンツの映像を表示する。コンテンツの映像には、適宜、字幕が重畳される。
【０１８２】
スピーカ８２は、オーディオ生成部７５から供給されたオーディオデータに基づいて、コンテンツの音声を出力する。
【０１８３】
図２４は、字幕生成部７３の構成例を示すブロック図である。
【０１８４】
TSバッファ９１は、分離部７２から供給されたXML字幕データのTSパケットを保存する。制御部５２は、TSバッファ９１に保存されたTSパケットを複数集めてPESパケットを生成し、PESバッファ９２に出力させる。
【０１８５】
PESバッファ９２は、TSバッファ９１から供給されたPESパケットを保存する。制御部５２は、PESヘッダ、TTMLヘッダなどの情報を用いて、PESバッファ９２に保存されているそれぞれのPESパケットに格納されているデータの種類を特定する。制御部５２は、TTMLヘッダをTTMLヘッダバッファ９３に出力させ、XML文書をXML文書バッファ９４に出力させる。また、制御部１２は、XML文書が参照するPNGファイルをPNGバッファ９５に出力させる。
【０１８６】
TTMLヘッダバッファ９３は、PESバッファ９２から供給されたTTMLヘッダを保存する。
【０１８７】
XML文書バッファ９４は、PESバッファ９２から供給されたXML文書を保存する。
【０１８８】
PNGバッファ９５は、PESバッファ９２から供給されたPNGファイルを保存する。
【０１８９】
字幕デコーダ９６は、字幕の表示タイミングになったとき、XML文書バッファ９４に保存されたXML文書を解析し、intermediate synchronic documentを生成する。字幕デコーダ９６は、生成したintermediate synchronic documentをintermediate synchronic documentバッファ９７に出力する。
【０１９０】
intermediate synchronic documentバッファ９７は、字幕デコーダ９６により生成されたintermediate synchronic documentを保存する。intermediate synchronic documentバッファ９７が保存するintermediate synchronic documentは、字幕デコーダ９６からintermediate synchronic documentが供給される毎に更新される。
【０１９１】
PNGデコーダ９８は、PNGバッファ９５に保存されたPNGファイルをデコードし、ビットマップデータをbitmapバッファ９９に出力する。
【０１９２】
bitmapバッファ９９は、PNGデコーダ９８から供給されたビットマップデータを保存する。
【０１９３】
intermediate synchronic documentデコーダ１００は、intermediate synchronic documentバッファ９７に保存されたintermediate synchronic documentを読み出してデコードし、記述内容を表す情報をplane生成部１０１に出力する。
【０１９４】
plane生成部１０１は、intermediate synchronic documentデコーダ１００から供給された情報と、bitmapバッファ９９に保存されているビットマップデータに基づいて字幕プレーンを生成し、出力する。plane生成部１０１から出力された字幕プレーンは、表示データ生成部７６に供給され、ビデオプレーンと合成される。
【０１９５】
図２５は、再生装置２の機能構成例を示すブロック図である。図２５に示す構成のうちの少なくとも一部は、制御部５２により所定のプログラムが実行されることによって実現される。
【０１９６】
制御部５２においては、コンテンツ取得部１１１と再生制御部１１２が実現される。
【０１９７】
コンテンツ取得部１１１は、ドライブ５３を制御するなどして、再生対象となるMPEG-2 TS形式のコンテンツを取得する。コンテンツ取得部１１１は、取得したコンテンツを再生制御部１１２に出力する。
【０１９８】
再生制御部１１２は、コンテンツ取得部１１１により取得されたコンテンツを再生部５６に出力し、再生させる。再生制御部１１２は、適宜、XML字幕データに含まれるTTMLヘッダの情報を参照し、字幕生成部７３による処理を制御する。
【０１９９】
＜＜８．記録装置と再生装置の動作例＞＞
＜８−１．記録装置の動作＞
ここで、以上のような構成を有する記録装置１の動作について説明する。
【０２００】
はじめに、図２６のフローチャートを参照して、コンテンツを記録媒体Ａ（記録媒体３）に記録する記録装置１の処理について説明する。
【０２０１】
ステップＳ１において、制御部１２のコンテンツ取得部３１は、入力部１１において受信された記録対象のコンテンツを取得する。
【０２０２】
ステップＳ２において、信号処理部１６の字幕読み出し部２１、ビデオ読み出し部２２、およびオーディオ読み出し部２３は、それぞれ、記録対象のコンテンツから、XML字幕データ、ビデオデータ、オーディオデータを読み出す。
【０２０３】
各データの読み出し時、信号処理部１６は、記録対象のコンテンツがMMTコンテンツである場合、MFUのMFUヘッダやMPUのMPUヘッダに含まれる情報のうち、TTMLヘッダの生成に用いられる情報を読み出す。
【０２０４】
また、信号処理部１６は、記録対象のコンテンツがMP4コンテンツである場合、MP4ヘッダに含まれる情報のうち、TTMLヘッダの生成に用いられる情報を読み出す。信号処理部１６により読み出された情報は、コンテンツ取得部３１により取得され、TTMLヘッダ生成部３２に供給される。
【０２０５】
ステップＳ３において、TTMLヘッダ生成部３２は、信号処理部１６において読み出された情報を適宜用いてTTMLヘッダを生成する。
【０２０６】
例えば、PESパケット化が第１の方式で行われる場合、TTMLヘッダ生成部３２は、図１３のシンタクスを有するTTMLヘッダを生成する。また、PESパケット化が第２の方式で行われる場合、TTMLヘッダ生成部３２は、図１７のシンタクスを有するTTMLヘッダを生成する。
【０２０７】
ステップＳ４において、多重化部２４は、字幕読み出し部２１から供給されたXML字幕データとTTMLヘッダ生成部３２により生成されたTTMLヘッダに基づいて字幕ストリームを生成する。
【０２０８】
ステップＳ５において、多重化部２４は、字幕ストリームを第１の方式または第２の方式でPESパケット化する。また、多重化部２４は、ビデオ読み出し部２２から供給されたビデオストリームと、オーディオ読み出し部２３から供給されたオーディオストリームをそれぞれPESパケット化する。多重化部２４は、XML字幕データ、ビデオデータ、オーディオデータの各TSパケットをMPEG-2 TS形式で多重化し、TSを生成する。
【０２０９】
ステップＳ６において、記録制御部３３は、多重化部２４により生成されたTSを記録媒体Ａに記録させ、処理を終了させる。
【０２１０】
＜８−２．再生装置の動作＞
次に、再生装置２の動作について説明する。
【０２１１】
図２７のフローチャートを参照して、コンテンツを再生する再生装置２の処理について説明する。
【０２１２】
図２７の処理は、例えば、記録装置１によりコンテンツが記録された記録媒体Ａが再生装置２に装着され、表示部８１に表示されたタイトルリストを用いるなどして、再生するコンテンツがユーザにより指示されたときに開始される。
【０２１３】
ステップＳ１１において、制御部５２のコンテンツ取得部１１１（図２５）は、ドライブ５３を制御し、再生対象のコンテンツを記録媒体Ａから読み出す。記録媒体Ａから読み出されたTSは再生部５６に供給される。
【０２１４】
ステップＳ１２において、再生部５６の読み出しバッファ７１はTSを保存する。
【０２１５】
ステップＳ１３において、分離部７２は、TSを構成する各TSパケットのPIDに基づいて、XML字幕データ、ビデオデータ、およびオーディオデータの各TSパケットを分離する。
【０２１６】
ステップＳ１４において、ビデオ生成部７４は、分離部７２から供給されたTSパケットにより構成されるビデオデータをデコードし、ビデオプレーンを表示データ生成部７６に出力する。
【０２１７】
ステップＳ１５において、オーディオ生成部７５は、分離部７２から供給されたTSパケットにより構成されるオーディオデータをデコードする。オーディオ生成部７５は、デコードして得られたデータをスピーカ８２に出力し、コンテンツの音声を出力させる。
【０２１８】
ステップＳ１６において、字幕生成部７３は、字幕画面生成処理を行う。字幕画面生成処理はXML字幕データを再生する処理である。字幕画面生成処理については図２８および図２９のフローチャートを参照して後述する。
【０２１９】
ステップＳ１７において、表示データ生成部７６は、字幕生成部７３から供給された字幕プレーンとビデオ生成部７４から供給されたビデオプレーンを合成し、表示データを生成する。表示データ生成部７６は、表示データに基づいて、コンテンツの映像と字幕を表示部８１に表示させる。
【０２２０】
以上の処理が、コンテンツの再生が終わるまでの間、繰り返し行われる。ステップＳ１４，Ｓ１５，Ｓ１６を含む、図２７に示す各ステップの処理は、適時並行して、または前後して行われる処理である。
【０２２１】
次に、図２８および図２９のフローチャートを参照して、図２７のステップＳ１６において行われる字幕画面生成処理について説明する。
【０２２２】
ステップＳ３１において、再生制御部１１２は、分離部７２により分離されたXML字幕データのTSパケットをTSバッファ９１に保存させる。
【０２２３】
ステップＳ３２において、再生制御部１１２は、TSバッファ９１に保存されたTSパケットを複数集めてPESパケットを生成する。
【０２２４】
ステップＳ３３において、再生制御部１１２は、PESパケットをPESバッファ９２に出力し、保存させる。
【０２２５】
ステップＳ３４において、再生制御部１１２は、PESパケットを構成するPESヘッダとPESペイロードを分離する。PESヘッダには、PESヘッダの長さを示す情報が含まれている。
【０２２６】
ステップＳ３５において、再生制御部１１２は、PESペイロードの先頭に配置されているTTMLヘッダを取得する。
【０２２７】
PESパケット化が第１の方式で行われている場合、PESペイロードの先頭に配置されている情報が、TTMLヘッダである。再生制御部１１２は、PESペイロードの先頭から、TTMLヘッダのlengthで示される長さの分のデータをTTMLヘッダとして特定し、取得する。
【０２２８】
一方、PESパケット化が第２の方式で行われている場合、１番目のPESパケットのPESペイロードの先頭に配置されている情報が、TTMLヘッダである。再生制御部１１２は、１番目のPESパケットのPESペイロードの先頭から、TTMLヘッダのlengthで示される長さの分のデータをTTMLヘッダとして特定し、取得する。
【０２２９】
なお、PESパケット化が第２の方式で行われている場合、TTMLヘッダのlengthを用いずに、固定長の長さの分のデータがTTMLヘッダとして特定されるようにしてもよい。
【０２３０】
ステップＳ３６において、再生制御部１１２は、TTMLヘッダをTTMLヘッダバッファ９３に出力し、保存させる。
【０２３１】
ステップＳ３７において、再生制御部１１２は、TTMLヘッダのnumber_of_data_blockに従って、XML文書とPNGファイルを分離する。
【０２３２】
PESパケット化が第１の方式で行われている場合、再生制御部１１２は、XML文書とPNGファイルの分離を、TTMLヘッダのdata_lengthとdata_typeをも参照して行う。すなわち、再生制御部１１２は、number_of_data_blockにより指定される数のデータブロックがPESペイロードに含まれていることを特定する。また、再生制御部１１２は、各データブロックの長さと種類を、data_lengthとdata_typeに基づいて特定し、XML文書とPNGファイルを分離する。
【０２３３】
一方、PESパケット化が第２の方式で行われている場合、再生制御部１１２は、number_of_data_blockにより表される数から１を引いた数を、XML文書が参照するPNGファイルの数、すなわち、TTMLヘッダを含むPESパケットに続くPESパケットの数として特定する。再生制御部１１２は、１番目のPESパケットのPESペイロードにTTMLヘッダに続けて配置されているデータをXML文書として特定し、分離する。また、再生制御部１１２は、２番目以降のPESパケットのPESペイロードに配置されているデータをPNGファイルとして特定し、分離する。
【０２３４】
ステップＳ３８において、再生制御部１１２は、TTMLヘッダのcompression_typeに従って、分離したXML文書が圧縮されているか否かを判定する。圧縮されている場合、再生制御部１１２は、compression_typeにより示されるタイプに応じてXML文書を展開する。
【０２３５】
ステップＳ３９において、再生制御部１１２は、取得したPNGファイルをPNGバッファ９５に出力し、保存させる。TTMLヘッダやPESヘッダに記述されている情報に基づいてPNGファイルのデータ量を特定できるため、再生制御部１１２は、PNGバッファ９５に割り当てるデータ量を予め知ることができる。
【０２３６】
ステップＳ４０において、再生制御部１１２は、TTMLヘッダのTMD，time_scale，frame_rateに従って、XML文書内の時刻を、統一した表現の時刻に変換し、時刻表現の変換後のXML文書をXML文書バッファ９４に保存させる。
【０２３７】
再生制御部１１２は、TMDの値が1111bである場合、所定の無効値をbegin，endに設定するなどして、XML文書内のbegin，endの時刻情報が無視されるように設定する。
【０２３８】
また、再生制御部１１２は、time_scaleとframe_rateに従って、XML文書内の時刻を、統一した表現の時刻に変換する。
【０２３９】
TTMLにおいては、「50ms」のような時刻を用いた表現、「90000」のようなtickを用いた表現、「00:00:01:12」のようなタイムコードを用いた表現といったように、時刻の表現が複数許されている。タイムコードを用いた表現である「hh:mm:ss:ff」中の「hh」、「mm」、「ss」、「ff」は、それぞれ、時間、分、秒、フレーム数を示す。
【０２４０】
仮に、時刻が「90000」としてtickを用いて表されている場合、字幕デコーダ９６がXML文書内の時刻を理解するためには、前提として、1tickが何秒であるのかが示されている必要がある。
【０２４１】
1tickが何秒であるのかについては、XML文書内で示されていることもあるし、示されていないこともある。例えばMMTコンテンツを再生する場合において、1tickが何秒であるのかがXML文書内で示されていないとき、それは、MFUヘッダやMPUヘッダなどの、XML文書の外部の情報により示されるが、この情報は、MPEG-2 TS形式のコンテンツへの変換時に失われている。MP4コンテンツについても同様である。
【０２４２】
前提となる1tickが何秒であるのかが、TTMLヘッダのtime_scaleにより示されることになる。これにより、再生制御部１１２は、1tickが何秒であるのかがXML文書内で示されていない場合においても、XML文書内の時刻を理解することが可能になる。
【０２４３】
また、仮に、時刻が「00:00:01:12」としてタイムコードを用いて表されている場合、字幕デコーダ９６がXML文書内の時刻を理解するためには、前提として、フレームレートが示されている必要がある。
【０２４４】
フレームレートについては、XML文書内で示されていることもあるし、示されていないこともある。例えば、MMTコンテンツを再生する場合において、フレームレートがXML文書内で示されていないとき、それは外部の情報により示されるが、この情報は、MPEG-2 TS形式のコンテンツへの変換時に失われている。MP4コンテンツについても同様である。
【０２４５】
前提となるフレームレートが、TTMLヘッダのframe_rateにより示されることになる。これにより、再生制御部１１２は、フレームレートがXML文書内で示されていない場合においても、XML文書内の時刻を理解することが可能になる。
【０２４６】
例えば、再生制御部１１２は、XML文書内の時刻を、「50ms」のような時刻を用いた統一表現の時刻に変換する。
【０２４７】
また、再生制御部１１２は、XML文書内の時刻がtickを用いて表されている場合において、XML文書内で、1tickが何秒であるのかが示されていないが、フレームレートについては示されているとき、XML文書内の時刻を、タイムコードを用いた統一表現の時刻に変換する。
【０２４８】
XML文書内の時刻がtickを用いて表されている場合において、XML文書内で、1tickが何秒であるのかが示されていないとき、1tickが何秒であるのかを示す情報を、再生制御部１１２が、time_scaleに基づいてXML文書内に付加するようにしてもよい。
【０２４９】
再生制御部１１２は、XML文書内の時刻がタイムコードを用いて表されている場合において、XML文書内で、フレームレートが示されていないが、1tickが何秒であるのかについては示されているとき、XML文書内の時刻を、tickを用いた統一表現の時刻に変換する。
【０２５０】
XML文書内の時刻がタイムコードを用いて表されている場合において、XML文書内で、フレームレートが示されていないとき、フレームレートを示す情報を、再生制御部１１２が、frame_rateに基づいてXML文書内に付加するようにしてもよい。
【０２５１】
再生制御部１１２は、このように、字幕デコーダ９６が理解可能な表現の時刻を含むXML文書をXML文書バッファ９４に保存させる。
【０２５２】
また、再生制御部１１２は、字幕の想定する画枠のサイズがXML文書において示されていない場合、画枠のサイズをTTMLヘッダのroot_container_sizeに基づいて特定し、画枠のサイズを示す情報をXML文書内に付加する。
【０２５３】
ここで、字幕の想定する画枠のサイズは、XML文書において、図４等を参照して説明したようにtts:extentのエレメントによって示されることもあるが、示されていないこともある。例えば、MMTコンテンツを再生する場合において、字幕の想定する画枠のサイズがXML文書内で示されていないとき、それは外部の情報により示されるが、この情報は、MPEG-2 TS形式のコンテンツへの変換時に失われている。
【０２５４】
再生制御部１１２は、字幕の想定する画枠のサイズがXML文書において示されていない場合、画枠のサイズをTTMLヘッダのroot_container_sizeに基づいて特定することができる。
【０２５５】
ステップＳ４１において、字幕デコーダ９６は、TTMLヘッダバッファ９３に保存されているTTMLヘッダのstart_timeにより示される時刻、すなわち、有効区間の開始時刻になったことを検出する。
【０２５６】
有効区間は、XML文書において、図４等を参照して説明したようにbeginとendの属性によって示されることもあるが、示されていないこともある。例えば、MMTコンテンツを再生する場合において、有効区間の開始時刻と終了時刻がXML文書内で示されていないとき、それは外部の情報により示されるが、この情報は、MPEG-2 TS形式のコンテンツへの変換時に失われている。
【０２５７】
字幕デコーダ９６は、有効区間の開始時刻と終了時刻がXML文書において示されていない場合においても、それらの時刻をstart_timeとend_timeに基づいて特定することができる。
【０２５８】
ステップＳ４２において、字幕デコーダ９６は、TTMLヘッダバッファ９３に保存されているTTMLヘッダのend_timeにより示される時刻、すなわち、有効区間の終了時刻になったか否かを判定する。
【０２５９】
有効区間の終了時刻になっていないとステップＳ４２において判定された場合、処理はステップＳ４３に進む。
【０２６０】
ステップＳ４３において、字幕デコーダ９６は、画面更新が必要なタイミングになったか否かをXML文書の記述に基づいて判定する。
【０２６１】
XML文書には、各字幕の表示タイミングを表す時刻が含まれている。現在時刻が、ある字幕の表示タイミングとしてXML文書内で示された時刻になったとき、画面更新が必要なタイミングになったと判定され、処理はステップＳ４４に進む。ステップＳ４０において時刻表現が変換されているため、字幕デコーダ９６は、XML文書内の時刻を特定することができる。
【０２６２】
ステップＳ４４において、字幕デコーダ９６は、XML文書内の要素のうち、表示タイミングになった字幕に関するエレメント（要素）を集め、集めたエレメントに基づいてintermediate synchronic documentを生成する。字幕デコーダ９６は、生成したintermediate synchronic documentをintermediate synchronic documentバッファ９７に出力し、保存させる。
【０２６３】
ステップＳ４５において、PNGデコーダ９８は、PNGバッファ９５に保存されているPNGファイルをデコードし、ビットマップデータをbitmapバッファ９９に保存する。
【０２６４】
ステップＳ４６において、intermediate synchronic documentデコーダ１００は、intermediate synchronic documentをintermediate synchronic documentバッファ９７から読み出してデコードし、記述内容を表す情報をplane生成部１０１に出力する。
【０２６５】
ステップＳ４７において、plane生成部１０１は、intermediate synchronic documentデコーダ１００から供給された情報とbitmapバッファ９９に保存されているビットマップデータに基づいて字幕プレーンを生成する。plane生成部１０１により生成された字幕プレーンは表示データ生成部７６に供給され、コンテンツの画面表示に用いられる（図２７のステップＳ１７）。
【０２６６】
ステップＳ４７において字幕プレーンが生成された後、または、ステップＳ４３において画面更新が必要なタイミングになっていないと判定された場合、ステップＳ４２に戻り、それ以降の処理が繰り返される。
【０２６７】
一方、有効区間の終了時刻になったとステップＳ４２において判定された場合、処理はステップＳ４８に進む。
【０２６８】
ステップＳ４８において、再生制御部１１２は、plane生成部１０１により生成された字幕プレーンをクリアするとともに、TTMLヘッダバッファ９３、XML文書バッファ９４、PNGバッファ９５、intermediate synchronic documentバッファ９７、bitmapバッファ９９に記憶されている情報をクリアする。
【０２６９】
ステップＳ４９において、再生制御部１１２は、再生すべきXML字幕のPESパケットがPESバッファ９２にあるか否かを判定し、PESパケットがあると判定した場合、ステップＳ３４に戻り、それ以降の処理を繰り返す。
【０２７０】
一方、再生すべきXML字幕のPESパケットがPESバッファ９２にないと判定された場合、処理は図２７のステップＳ１６に戻り、それ以降の処理が行われる。
【０２７１】
以上の一連の処理により、再生装置２は、MPEG-2 TS形式のコンテンツに含まれるXML字幕データを再生することが可能になる。
【０２７２】
以上においては、XML文書をXML文書バッファ９４に保存するときに、時刻の表現を変換する処理とともに、字幕の想定する画枠のサイズを示す情報を付加する処理がXML文書に対して施されるものとしたが、時刻情報以外の情報に関する処理については、intermediate synchronic documentの生成時に行われるようにしてもよい。
【０２７３】
例えば字幕の想定する画枠のサイズがXML文書において示されていない場合、字幕デコーダ９６は、画枠のサイズの情報を含むintermediate synchronic documentをTTMLヘッダのroot_container_sizeに基づいて生成し、保存させる。
【０２７４】
＜＜９．TTMLヘッダの生成例＞＞
TTMLヘッダ生成部３２によるTTMLヘッダの生成について説明する。
【０２７５】
MPEG-2 TS形式のコンテンツの生成に用いられるビデオ、オーディオ、XML字幕の各エレメンタリストリームは、放送波を介して、またはネットワークを介して記録装置１に入力される。MPEG-2 TS形式のコンテンツの生成に用いられるエレメンタリストリームが、記録装置１に装着された記録媒体Ａから入力されるようにしてもよい。
【０２７６】
また、MPEG-2 TS形式のコンテンツの生成に用いられるエレメンタリストリームは、上述したようにMMT形式やMP4形式で多重化されているようにしてもよいし、MPEG-2 TS形式で多重化されているようにしてもよい。多重化されずに、エレメンタリストリームが記録装置１に入力されるようにしてもよい。
【０２７７】
MP4形式で多重化されたエレメンタリストリームが入力された場合、TTMLヘッダ生成部３２は、MP4ヘッダから必要な情報を収集し、TTMLヘッダを生成する。MP4ヘッダは、例えば、mdat boxの管理情報であるmoov boxである。MP4ファイルは、データを格納するmdat boxと、管理情報であるmoov boxから構成される。
【０２７８】
また、MMT形式で多重化されたエレメンタリストリームが入力された場合、TTMLヘッダ生成部３２は、MMTヘッダから必要な情報を収集し、TTMLヘッダを生成する。MMTヘッダは、例えば、MFUヘッダ、MPUヘッダである。
【０２７９】
MPEG-2 TSで多重化されたエレメンタリストリームが入力された場合、TTMLヘッダ生成部３２は、XML文書と、TSに含まれるXML文書以外の情報から必要な情報を収集し、TTMLヘッダを生成する。
【０２８０】
エレメンタリストリームが入力された場合、TTMLヘッダ生成部３２は、XML文書と、XML文書以外のエレメンタリストリームに含まれる情報から必要な情報を収集し、TTMLヘッダを生成する。
【０２８１】
以下、図１３のTTMLヘッダを生成する場合について入力形式毎に説明する。図１７のTTMLヘッダを生成する場合、図１７のTTMLヘッダの各情報の値は、対応する図１３のTTMLヘッダの各情報と同様にして設定される。
【０２８２】
＜９−１．MP4形式の入力の場合＞
この場合、TTMLヘッダ生成部３２は、number_of_data_block，data_length，data_typeの各値を、MP4ヘッダ内の’subs’ boxから取得した情報に基づいて設定する。
【０２８３】
また、TTMLヘッダ生成部３２は、time_scaleの値を、MP4ヘッダ内のmdhd boxから取得した情報に基づいて設定する。TTMLヘッダ生成部３２は、frame_rateの値を、mp4 header sample entry内のconfiguration recordに基づいて設定する。TTMLヘッダ生成部３２は、start_timeの値を、MP4ヘッダ内のtfra boxとtrun boxのdurationに基づいて設定する。TTMLヘッダ生成部３２は、end_timeの値を、MP4ヘッダ内のtrun boxから取得した情報に基づいて設定する。TTMLヘッダ生成部３２は、root_container_sizeの値を、tkhd boxのwidthとheightに基づいて設定する。
【０２８４】
TTMLヘッダ生成部３２は、TMDの値を、記録装置１のユーザにより入力された情報に応じて設定し、ユーザによる入力がない場合には0010b（無効値）を設定する。記録装置１のユーザによる操作は入力部１１により検出され、その内容を表す情報がTTMLヘッダ生成部３２に供給されてくる。
【０２８５】
TTMLヘッダ生成部３２は、compression_typeの値を、記録装置１のユーザにより入力された情報に応じて設定し、ユーザによる入力がない場合には0000b（非圧縮）を設定する。
【０２８６】
＜９−２．MMT形式の入力の場合＞
この場合、TTMLヘッダ生成部３２は、number_of_data_block，data_length，data_typeの各値を、MFU_data_byte()から取得した情報に基づいて設定する。
【０２８７】
また、TTMLヘッダ生成部３２は、time_scaleの値を、MPU_Extended_Timestamp_Descriptor()から取得した情報に基づいて設定する。TTMLヘッダ生成部３２は、frame_rateの値を、Video_Component_Descriptor()から取得した情報に基づいて設定する。TTMLヘッダ生成部３２は、start_timeの値を、mpu_presentation_time，pts_offset、およびTimescaleに基づいて設定する。TTMLヘッダ生成部３２は、end_timeの値を、次のstart_timeに基づいて設定する。TTMLヘッダ生成部３２は、root_container_sizeの値を、Additional_Arib_Subtitle_Info()に基づいて設定する。
【０２８８】
TTMLヘッダ生成部３２は、TMDの値を、Additional_Arib_Subtitle_Info()のTMDの値を転用して設定する。TTMLヘッダ生成部３２は、compression_typeの値を、Additional_Arib_Subtitle_Info()のcompression_typeの値を転用して設定する。
【０２８９】
＜９−３．それ以外の場合＞
この場合、TTMLヘッダ生成部３２は、number_of_data_block，data_length，data_typeの各値を、記録装置１のユーザにより入力された情報に応じて設定する。また、TTMLヘッダ生成部３２は、XML文書とPNGファイルの数とサイズを検出し、それらの値を設定する。
【０２９０】
また、TTMLヘッダ生成部３２は、time_scale，frame_rate，start_time，end_time，root_container_sizeの各値を、XML文書内に記載がある場合には、XML文書内の記載に基づいて設定し、XML文書内に記載がない場合には記録装置１のユーザにより入力された情報に応じて設定する。
【０２９１】
TTMLヘッダ生成部３２は、TMDの値を、記録装置１のユーザにより入力された情報に応じて設定し、ユーザによる入力がない場合には0010b（無効値）を設定する。
【０２９２】
TTMLヘッダ生成部３２は、compression_typeの値を、記録装置１のユーザにより入力された情報に応じて設定し、ユーザによる入力がない場合には0000b（非圧縮）を設定する。
【０２９３】
＜＜１０．変形例１＞＞
図３０は、text subtitleを含むPESパケットの構成例を示す図である。
【０２９４】
図３０に示すように、text subtitleのXML字幕データは１つのPESパケットにPESパケット化される。図３０の例においては、PESペイロードの先頭にTTMLヘッダが配置され、TTMLヘッダの次にXML文書のデータブロックが配置される。
【０２９５】
このように、XML字幕データがtext subtitleである場合も、image subtitleと同様にしてPESパケット化し、MPEG-2 TS形式のコンテンツに含めることができる。XML字幕データがtext subtitleである場合、TTMLヘッダのnumber_of_data_blockの値は常に１になる。
【０２９６】
以上においては、記録装置１により記録対象として処理されるコンテンツがMMT形式のコンテンツまたはMP4形式のコンテンツであるものとしたが、XML字幕データを含むコンテンツであれば、どのようなフォーマットのコンテンツであってもよい。
【０２９７】
また、以上においては、フォーマットの変換後のコンテンツがMPEG-2 TS形式のコンテンツであるものとしたが、XML字幕データの多重化の方式が規定されていないフォーマットであれば、どのようなフォーマットに変換されるようにしてもよい。
【０２９８】
記録装置１の機能と再生装置２の機能を１つの情報処理装置上で実現することも可能である。
【０２９９】
＜＜１１．TTMLヘッダをTSパケットに格納する例＞＞
＜１１−１．パケット化の例＞
以上においては、XML字幕データにTTMLヘッダを付加してPESパケット化し、TSに多重化するものとしたが、TTMLヘッダをペイロードに含むTSパケットを生成し、XML字幕データのTSパケットなどとともにTSに多重化するようにしてもよい。
【０３００】
図３１は、TTMLヘッダをペイロードに含むTSパケットの例を示す図である。
【０３０１】
例えば図１３の各情報を含むTTMLヘッダのビット数は393ビットであり、全体を１個のTSパケットのペイロードに格納することが可能である。TSパケットのペイロードは184バイトである。
【０３０２】
TTMLヘッダを格納したペイロードには4バイトのTSヘッダが付加され、１個のTSパケットが生成される。TTMLヘッダの各情報を複数のTSパケットに分けて格納することも可能である。
【０３０３】
図３２は、XML字幕データのパケット化の例を示す図である。
【０３０４】
image subtitleのXML字幕データについては、上述した第１の方式または第２の方式ではなく、TTMLヘッダを含めずに、単に、XML文書データと参照するPNGファイルをPESペイロードに格納するようにしてPESパケット化される。
【０３０５】
図３２に示すPESパケットは、図１５を参照して説明したPESパケットと同じ構成を有している。PESパケットのPESペイロードにはTTMLヘッダが含まれない。
【０３０６】
XML文書データとPNGファイルをPESペイロードに格納するPESパケットは、矢印に示すようにTSパケット化され、XML字幕データのTSパケットが生成される。
【０３０７】
図３３は、TSパケットの配置の例を示す図である。
【０３０８】
図３３に示すように、XML字幕データのTSパケットの並びの先頭には、TTMLヘッダを含むTSパケットが配置され、字幕ストリームが生成される。このようにして生成された字幕ストリームは、ビデオやオーディオなどのストリームとともにMPEG-2 TS形式で多重化される。
【０３０９】
図３４は、XML字幕データのパケット化の他の例を示す図である。
【０３１０】
図３４の例においては、１番目のPESパケット＃１のPESペイロードにXML文書のデータが格納される。XML文書を含むPESペイロードにPESヘッダが付加され、PESパケット＃１が構成される。
【０３１１】
また、PESパケット＃１以降のPESパケットのPESペイロードには、それぞれ、PNGファイル＃１〜＃Ｎのデータブロックが１つずつ配置される。
【０３１２】
図３４に示す各PESパケットは、図１８を参照して説明したPESパケットと同じ構成を有している。PESパケット＃１のPESペイロードには、XML文書のみが含まれ、TTMLヘッダが含まれない。
【０３１３】
なお、XML字幕データがimage subtitleではなくtext subtitleである場合も、同様にして、TTMLヘッダをTSパケットに格納することが可能である。text subtitleのXML字幕データのパケット化は、TTMLヘッダを含まずに、XML文書のみがペイロードに格納されたPESパケットをTSパケットに分割するようにして行われる。
【０３１４】
＜１１−２．字幕の種類との関連付けの例＞
記録装置１が取得するMMTコンテンツには、１つの番組の字幕データとして、例えば英語のXML字幕データと日本語のXML字幕データといったように、複数種類の言語のXML字幕データが含まれることがある。
【０３１５】
この場合、TTMLヘッダは言語毎に用意される。例えば英語のXML字幕データの再生時には英語用のTTMLヘッダが参照され、日本語のXML字幕データの再生時には日本語用のTTMLヘッダが参照される。
【０３１６】
上述したようにしてTTMLヘッダをTSパケットに格納する場合、TTMLヘッダを格納したTSパケットと、言語との関連付けが必要になる。
【０３１７】
［関連付けの第１の例］
図３５は、TTMLヘッダを格納するTSパケットと言語との関連付けの第１の例を示す図である。
【０３１８】
図３５の例は、TSパケットのPIDを用いた例である。例えば、所定の言語のXML字幕データのTSパケットのPIDの値に、0x1000などの予め決められた固定の値を加算した値が、そのXML字幕データの再生時に参照するTTMLヘッダのTSパケットのPIDとされる。
【０３１９】
図３５の例においては、英語のXML字幕データのTSパケットのPIDが0x1200であり、英語のXML字幕データの再生時に参照されるTTMLヘッダのTSパケットのPIDが0x2200である。また、日本語のXML字幕データのTSパケットのPIDが0x1201であり、日本語のXML字幕データの再生時に参照されるTTMLヘッダのTSパケットのPIDが0x2201である。
【０３２０】
例えば日本語の字幕を再生する場合、再生装置２は、PIDが0x2200のTSパケットを集めて日本語のXML字幕データを取得し、PIDが0x2201のTSパケットから、日本語用のTTMLヘッダを取得することになる。
【０３２１】
［関連付けの第２の例］
図３６は、TTMLヘッダを格納するTSパケットと言語との関連付けの第２の例を示す図である。
【０３２２】
図３６の例は、TSパケットの配置位置を用いた例である。例えば、所定の言語のXML字幕データのTSパケットの並びの先頭に、そのXML字幕データの再生時に参照するTTMLヘッダのTSパケットが配置される。
【０３２３】
図３６の例においては、英語のXML字幕データのTSパケットの並びの前に配置されるTSパケット＃１０１が、英語のXML字幕データの再生時に参照されるTTMLヘッダを格納するTSパケットである。また、日本語のXML字幕データのTSパケットの並びの前に配置されるTSパケット＃１０２が、日本語のXML字幕データの再生時に参照されるTTMLヘッダを格納するTSパケットである。
【０３２４】
例えば日本語の字幕を再生する場合、再生装置２は、所定のPIDのTSパケットを集めて日本語のXML字幕データを取得するとともに、日本語のXML字幕データを格納する先頭のTSパケットの１つ前のTSパケットから、日本語用のTTMLヘッダを取得することになる。
【０３２５】
このように、TTMLヘッダを格納したTSパケットと言語との関連付けを各種の方法により行うことが可能である。
【０３２６】
＜１１−３．記録装置／再生装置の構成と動作＞
TTMLヘッダをTSパケットに格納し、TSに多重化して記録媒体３に記録する記録装置１と、記録媒体３に記録されたTSを再生する再生装置２について説明する。上述した説明と重複する説明については適宜省略する。
【０３２７】
［記録装置１の構成と動作］
記録装置１は、図２１の構成と同様の構成を有する。制御部１２においては、図２２の各構成が実現される。
【０３２８】
信号処理部１６（図２１）は、上述したように、字幕読み出し部２１、ビデオ読み出し部２２、オーディオ読み出し部２３、および多重化部２４から構成される。
【０３２９】
字幕読み出し部２１は、制御部１２から供給されたコンテンツからXML字幕データを読み出し、多重化部２４に出力する。
【０３３０】
ビデオ読み出し部２２は、制御部１２から供給されたコンテンツからビデオデータを読み出し、多重化部２４に出力する。
【０３３１】
オーディオ読み出し部２３は、制御部１２から供給されたコンテンツからオーディオデータを読み出し、多重化部２４に出力する。
【０３３２】
多重化部２４は、制御部１２により生成されたTTMLヘッダを格納するTSパケットを生成する。また、多重化部２４は、字幕読み出し部２１から供給されたXML字幕データを、図３２または図３４を参照して説明した方式でPESパケット化し、PESパケットをTSパケットに分割する。
【０３３３】
多重化部２４は、ビデオ読み出し部２２から供給されたビデオストリーム、およびオーディオ読み出し部２３から供給されたオーディオストリームをそれぞれPESパケット化し、PESパケットをTSパケットに分割する。
【０３３４】
多重化部２４は、TTMLヘッダ、XML字幕、ビデオ、オーディオの各TSパケットを多重化し、TSを生成する。TTMLヘッダとXML字幕の言語の関連付けは、図３５または図３６を参照して説明したようにして行われる。
【０３３５】
多重化部２４により生成されたMPEG-2 TS形式のコンテンツは、記録制御部３３（図２２）により、記録媒体Ａに記録される。
【０３３６】
図３７のフローチャートを参照して、以上のような構成を有する記録装置１の記録処理について説明する。
【０３３７】
図３７に示す処理は、TTMLヘッダを格納するTSパケットの生成が行われる点を除いて、基本的に、図２６のフローチャートを参照して説明した処理と同様の処理である。
【０３３８】
すなわち、ステップＳ１０１において、制御部１２のコンテンツ取得部３１は、入力部１１において受信された記録対象のコンテンツを取得する。
【０３３９】
ステップＳ１０２において、信号処理部１６の字幕読み出し部２１、ビデオ読み出し部２２、およびオーディオ読み出し部２３は、それぞれ、記録対象のコンテンツから、XML字幕データ、ビデオデータ、オーディオデータを読み出す。
【０３４０】
このとき、記録対象のコンテンツがMMTコンテンツである場合、MFUのMFUヘッダやMPUのMPUヘッダに含まれる情報のうち、TTMLヘッダの生成に用いられる情報が読み出される。また、記録対象のコンテンツがMP4コンテンツである場合、MP4ヘッダに含まれる情報のうち、TTMLヘッダの生成に用いられる情報が読み出される。
【０３４１】
ステップＳ１０３において、TTMLヘッダ生成部３２は、信号処理部１６において読み出された情報を適宜用いてTTMLヘッダを生成する。
【０３４２】
ステップＳ１０４において、多重化部２４は、TTMLヘッダ生成部３２により生成されたTTMLヘッダをペイロードに格納したTSパケットを生成する。
【０３４３】
ステップＳ１０５において、多重化部２４は、字幕読み出し部２１から供給されたXML字幕データをPESパケット化し、PESパケットを分割することによってTSパケットを生成する。
【０３４４】
ステップＳ１０６において、多重化部２４は、ビデオ読み出し部２２から供給されたビデオストリームと、オーディオ読み出し部２３から供給されたオーディオストリームをそれぞれPESパケット化する。多重化部２４は、ビデオストリームとオーディオストリームのPESパケットを分割することによってそれぞれのTSパケットを生成し、TTMLヘッダ、XML字幕データ、ビデオデータ、オーディオデータの各TSパケットをMPEG-2 TS形式で多重化する。
【０３４５】
ステップＳ１０７において、記録制御部３３は、多重化部２４により生成されたTSを記録媒体Ａに記録し、処理を終了させる。
【０３４６】
［再生装置２の構成と動作］
再生装置２は、図２３の構成と同様の構成を有する。制御部５２においては、図２５の各構成が実現される。
【０３４７】
図３８は、字幕生成部７３の構成例を示すブロック図である。
【０３４８】
図３８に示す字幕生成部７３の構成は、TTMLヘッダを格納したTSパケットがTSバッファ９１に記録されたとき、TTMLヘッダがTSバッファ９１からTTMLヘッダバッファ９３に出力されるようになっている点で、図２４の構成と異なる。
【０３４９】
制御部５２の再生制御部１１２（図２５）は、所定の言語のXML字幕データの再生時、TSバッファ９１に保存されたTSパケットのうち、言語に関連付けられたTTMLヘッダを格納するTSパケットを、PIDに基づいて、またはTSパケットの位置に基づいて特定する。再生制御部１１２は、特定したTSパケットに格納されたTTMLヘッダをTTMLヘッダバッファ９３に転送し、保存させる。
【０３５０】
TTMLヘッダバッファ９３に保存されたTTMLヘッダは、上述したように、字幕デコーダ９６により参照され、intermediate synchronic documentの生成に用いられる。
【０３５１】
このような構成を有する再生装置２においては、図２７のフローチャートを参照して説明した処理と基本的に同様の処理が行われる。
【０３５２】
すなわち、図２７のステップＳ１１において、制御部５２のコンテンツ取得部１１１は、ドライブ５３を制御し、再生対象のコンテンツを記録媒体Ａから読み出す。
【０３５３】
ステップＳ１２において、再生部５６の読み出しバッファ７１はTSを保存する。
【０３５４】
ステップＳ１３において、分離部７２は、TSを構成する各TSパケットのPIDに基づいて、TTMLヘッダ、XML字幕データ、ビデオデータ、およびオーディオデータの各TSパケットを分離する。
【０３５５】
ステップＳ１４において、ビデオ生成部７４は、分離部７２から供給されたTSパケットにより構成されるビデオデータをデコードする。
【０３５６】
ステップＳ１５において、オーディオ生成部７５は、分離部７２から供給されたTSパケットにより構成されるオーディオデータをデコードする。オーディオ生成部７５は、デコードして得られたデータをスピーカ８２に出力し、コンテンツの音声を出力させる。
【０３５７】
ステップＳ１６において、字幕生成部７３は、字幕画面生成処理を行う。
【０３５８】
ステップＳ１７において、表示データ生成部７６は、字幕生成部７３から供給された字幕プレーンとビデオ生成部７４から供給されたビデオプレーンを合成し、表示データを生成する。表示データ生成部７６は、表示データに基づいて、コンテンツの映像と字幕を表示部８１に表示させ、処理を終了させる。
【０３５９】
図３９のフローチャートを参照して、ステップＳ１６において行われる字幕画面生成処理について説明する。
【０３６０】
図３９に示す処理は、TTMLヘッダが、XML字幕データのPESパケットから取得されるのではなく、TSパケットから取得される点を除いて、図２８を参照して説明した処理と同様の処理である。
【０３６１】
ステップＳ１３１において、再生制御部１１２は、分離部７２により分離されたTTMLヘッダのTSパケットとXML字幕データのTSパケットをTSバッファ９１に保存させる。
【０３６２】
ステップＳ１３２において、再生制御部１１２は、TSバッファ９１に保存されたTTMLヘッダのTSパケットから、TTMLヘッダを読み出して取得する。
【０３６３】
ステップＳ１３３において、再生制御部１１２は、取得したTTMLヘッダをTTMLヘッダバッファ９３に転送し、保存させる。
【０３６４】
ステップＳ１３４において、再生制御部１１２は、TSバッファ９１に保存された、XML字幕データのTSパケットを複数集めてPESパケットを生成する。
【０３６５】
ステップＳ１３５において、再生制御部１１２は、PESパケットをPESバッファ９２に出力し、保存させる。
【０３６６】
ステップＳ１３６において、再生制御部１１２は、PESパケットを構成するPESヘッダとPESペイロードを分離する。
【０３６７】
ステップＳ１３７において、再生制御部１１２は、TTMLヘッダのnumber_of_data_blockに従って、PESペイロードに格納されているXML文書とPNGファイルを分離する。
【０３６８】
ステップＳ１３８において、再生制御部１１２は、TTMLヘッダのcompression_typeに従って、分離したXML文書が圧縮されているか否かを判定する。圧縮されている場合、再生制御部１１２は、compression_typeにより示されるタイプに応じてXML文書を展開する。
【０３６９】
その後、図２９のフローチャートを参照して説明した処理と同様の処理が行われ、XML字幕データのデコードが行われる。
【０３７０】
＜１１−４．字幕の種類との関連付けの第３の例＞
コンテンツの記録先となる記録媒体３がBlu-ray（登録商標） Disc（以下、適宜、BDという）である場合について説明する。
【０３７１】
後に詳述するように、BDに記録された、ビデオ、オーディオ、字幕のそれぞれのストリームを含むAVストリームの再生は、AVストリームとは別にBDに記録されたPlayListとClip Informationを少なくとも用いて行われる。PlayListとClip Informationには、AVストリームの再生に関する情報が含まれる。
【０３７２】
以下、適宜、AVストリームとは別にBDに記録された、AVストリームの再生に関する情報を含むPlayList、Clip Informationなどの情報をData Base情報という。
【０３７３】
図４０は、Data Base情報の例を示す図である。
【０３７４】
図４０の記録媒体３は例えばBDである。記録媒体３には、英語と日本語のそれぞれのXML字幕データを含むAVストリームが記録される。
【０３７５】
この場合、図４０に示すように、記録媒体３に記録されるData Base情報には、英語と日本語のそれぞれのXML字幕データの再生に用いられるTTMLヘッダを格納したTSパケットのPIDを指定する情報が記述される。図４０の例においては、英語のXML字幕データの再生時に参照されるTTMLヘッダのTSパケットのPIDが0x2200であり、日本語のXML字幕データの再生時に参照されるTTMLヘッダのTSパケットのPIDが0x2201である。
【０３７６】
＜１１−５．記録装置／再生装置の構成と動作＞
［記録装置１の構成と動作］
Data Base情報を用いてTTMLヘッダと言語との関連付けを行う場合の記録装置１は、図２１の構成と同様の構成を有する。
【０３７７】
図４１は、記録装置１の機能構成例を示すブロック図である。
【０３７８】
図４１に示す構成は、図２１の制御部１２により所定のプログラムが実行されることによって実現される。図４１に示す制御部１２の構成は、Data Base情報生成部３４が追加されている点を除いて、図２２の構成と同じである。
【０３７９】
すなわち、TTMLヘッダ生成部３２により生成されたTTMLヘッダは、信号処理部１６に出力され、TSパケットに格納される。TTMLヘッダを格納したTSパケットを、XML字幕データのTSパケット、ビデオストリームのTSパケット、およびオーディオストリームのTSパケットとともに多重化することによって生成されたTSは、記録制御部３３からドライブ１３に出力され、BDに記録される。
【０３８０】
Data Base情報生成部３４は、TTMLヘッダ生成部３２により生成されたTTMLヘッダを格納したTSパケットのPIDと、XML字幕データのTSパケットのPIDとの対応関係を表す情報を記述したData Base情報を生成する。Data Base情報生成部３４は、生成したData Base情報を記録制御部３３に出力し、BDに記録させる。
【０３８１】
図４２のフローチャートを参照して、以上のような構成を有する記録装置１の記録処理について説明する。
【０３８２】
図４２に示す処理は、Data Base情報を生成する処理が追加されている点を除いて、基本的に、図３７のフローチャートを参照して説明した処理と同様の処理である。
【０３８３】
すなわち、ステップＳ１５１において、制御部１２のコンテンツ取得部３１（図４１）は、入力部１１において受信された記録対象のコンテンツを取得する。
【０３８４】
ステップＳ１５２において、信号処理部１６の字幕読み出し部２１、ビデオ読み出し部２２、およびオーディオ読み出し部２３は、それぞれ、記録対象のコンテンツから、XML字幕データ、ビデオデータ、オーディオデータを読み出す。
【０３８５】
ステップＳ１５３において、TTMLヘッダ生成部３２は、信号処理部１６において読み出された情報を適宜用いてTTMLヘッダを生成する。
【０３８６】
ステップＳ１５４において、多重化部２４は、TTMLヘッダ生成部３２により生成されたTTMLヘッダを格納したTSパケットを生成する。
【０３８７】
ステップＳ１５５において、多重化部２４は、字幕読み出し部２１から供給されたXML字幕データをPESパケット化し、PESパケットを分割したTSパケットからなるXML字幕のストリームを生成する。
【０３８８】
ステップＳ１５６において、多重化部２４は、ビデオ読み出し部２２から供給されたビデオストリームと、オーディオ読み出し部２３から供給されたオーディオストリームをそれぞれPESパケット化する。多重化部２４は、ビデオストリームとオーディオストリームのPESパケットを分割することによってTSパケットを生成し、TTMLヘッダ、XML字幕データ、ビデオデータ、オーディオデータの各TSパケットをMPEG-2 TS形式で多重化する。
【０３８９】
ステップＳ１５７において、Data Base情報生成部３４は、TTMLヘッダ生成部３２により生成されたTTMLヘッダを格納したTSパケットのPIDと、XML字幕データのTSパケットのPIDとの対応関係を表す情報を記述したData Base情報を生成する。ここで生成されるData Base情報には、PIDの対応関係を表す情報の他に、AVストリームの再生に関する各種の情報が含まれる。
【０３９０】
ステップＳ１５８において、記録制御部３３は、多重化部２４により生成されたTSと、Data Base情報生成部３４により生成されたData Base情報をBDに記録し、処理を終了させる。
【０３９１】
［再生装置２の構成と動作］
一方、再生装置２は、図２３の構成と同様の構成を有する。字幕生成部７３の構成は、図３８の構成と同じである。
【０３９２】
図４３は、再生装置２の機能構成例を示すブロック図である。
【０３９３】
図４３に示す構成は、図２３の制御部５２により所定のプログラムが実行されることによって実現される。図４３に示す制御部５２の構成は、Data Base情報解析部１１３が追加されている点を除いて、図２５の構成と同じである。
【０３９４】
コンテンツ取得部１１１は、ドライブ５３を制御するなどして、再生対象となるMPEG-2 TS形式のコンテンツをBDから取得し、再生制御部１１２に出力する。また、コンテンツ取得部１１１は、Data Base情報をBDから取得し、Data Base情報解析部１１３に出力する。
【０３９５】
再生制御部１１２は、コンテンツ取得部１１１により取得されたコンテンツを再生部５６に出力し、再生させる。再生制御部１１２は、適宜、XML字幕データに含まれるTTMLヘッダの情報を参照し、字幕生成部７３による処理を制御する。
【０３９６】
Data Base情報解析部１１３は、Data Base情報を解析し、AVストリームの再生に関する情報を再生制御部１１２に出力する。再生制御部１１２によるAVストリームの再生は、Data Base情報解析部１１３から供給された情報に従って行われる。
【０３９７】
また、Data Base情報解析部１１３は、Data Base情報の解析を行うことによって、TTMLヘッダを格納したTSパケットのPIDと、XML字幕データのTSパケットのPIDとの対応関係を特定する。Data Base情報解析部１１３は、TTMLヘッダを格納したTSパケットのPIDとXML字幕データのTSパケットのPIDを再生制御部１１２に出力し、XML字幕の再生を行わせる。
【０３９８】
図４４のフローチャートを参照して、コンテンツを再生する再生装置２の処理について説明する。
【０３９９】
ステップＳ１７１において、コンテンツ取得部１１１は、Data Base情報をBDから読み出して取得し、Data Base情報解析部１１３に出力する。
【０４００】
ステップＳ１７２において、Data Base情報解析部１１３は、Data Base情報を解析し、TTMLヘッダを格納したTSパケットのPIDと、XML字幕データのTSパケットのPIDとの対応関係を特定する。
【０４０１】
それ以降の処理は、図２７のステップＳ１１以降の処理と同様である。ステップＳ１７３において、コンテンツ取得部１１１は、再生対象のコンテンツをBDから読み出す。
【０４０２】
ステップＳ１７４において、再生部５６の読み出しバッファ７１はTSを保存する。
【０４０３】
ステップＳ１７５において、分離部７２は、TSを構成する各TSパケットのPIDに基づいて、TTMLヘッダ、XML字幕データ、ビデオデータ、およびオーディオデータの各TSパケットを分離する。TTMLヘッダのTSパケットとXML字幕データのTSパケットの分離に、適宜、Data Base情報を解析することによって特定されたPIDが用いられる。
【０４０４】
ステップＳ１７６において、ビデオ生成部７４は、分離部７２から供給されたTSパケットにより構成されるビデオデータをデコードし、ビデオプレーンを表示データ生成部７６に出力する。
【０４０５】
ステップＳ１７７において、オーディオ生成部７５は、分離部７２から供給されたTSパケットにより構成されるオーディオデータをデコードする。
【０４０６】
ステップＳ１７８において、字幕生成部７３は字幕画面生成処理を行う。ここで行われる字幕画面生成処理は、図３９を参照して説明した処理と同様の処理である。
【０４０７】
ステップＳ１７９において、表示データ生成部７６は、字幕生成部７３から供給された字幕プレーンとビデオ生成部７４から供給されたビデオプレーンを合成し、表示データを生成する。表示データ生成部７６は、表示データに基づいて、コンテンツの映像と字幕を表示部８１に表示させる。
【０４０８】
以上のように、TTMLヘッダのTSパケットとXML字幕データのTSパケットの対応関係をData Base情報において定義することが可能である。
【０４０９】
＜１１−６．パケット化の例＞
TTMLヘッダをTSパケットに格納するものとしたが、PESパケットに格納するようにしてもよい。
【０４１０】
図４５は、TTMLヘッダのパケット化の例を示す図である。
【０４１１】
図４５の例においては、TTMLヘッダをペイロードに格納した１つのPESパケットが生成され、PESパケットを分割することによってTSパケットが生成される。PESパケットを分割することによって生成されたTSパケットは、英語のXML字幕データのTSパケットと日本語のXML字幕データのTSパケットの並びの前に配置され、XML字幕のストリームが構成されている。
【０４１２】
このように、TTMLヘッダをPESパケットに格納する場合、言語とTTMLヘッダの関連付けは、PESパケットに設定されているPTSとDTSのうちの少なくともいずれかに基づいて行われる。PESパケットにはDTS(Decoding Time Stamp)とPTS(Presentation Time Stamp)の２つのタイムスタンプがある。
【０４１３】
TTMLヘッダを格納するPESパケットが複数ある場合、再生装置２は、例えば、その複数のPESパケットのうち、再生の対象とするXML字幕データのPESパケットのタイムスタンプと一致するタイムスタンプが設定されたPESパケットを取得する。再生装置２は、取得したPESパケットに格納されたTTMLヘッダを用いて、XML字幕データの再生を行う。
【０４１４】
＜＜１２．TTMLヘッダをData Base情報に記述する例＞＞
記録媒体３がBDである場合、TTMLヘッダをData Base情報に記述するようにしてもよい。
【０４１５】
すなわち、上述した例においては、TTMLヘッダがTSパケットに格納され、TTMLヘッダと言語との関連付けを表す情報がData Base情報に記述されるものとしたが、この例においては、TTMLヘッダ自体が、Data Base情報に記述される。
【０４１６】
＜１２−１．BDフォーマットについて＞
ここで、BDのフォーマットについて説明する。
【０４１７】
［データの管理構造］
図４６は、BD-REフォーマットにおけるAVストリームの管理構造の例を示す図である。
【０４１８】
AVストリームの管理は、PlayListとClipの２つのレイヤを用いて行われる。AVストリームは、BDだけでなく、再生装置２のローカルストレージに記録されることもある。
【０４１９】
１つのAVストリームと、それに付随する情報であるClip Informationのペアが１つのオブジェクトとして管理される。AVストリームとClip InformationのペアをClipという。
【０４２０】
AVストリームは時間軸上に展開され、各Clipのアクセスポイントは、主に、タイムスタンプでPlayListにおいて指定される。Clip Informationは、AVストリーム中のデコードを開始すべきアドレスを見つけるためなどに使用される。
【０４２１】
PlayListはAVストリームの再生区間の集まりである。AVストリーム中の１つの再生区間はPlayItemと呼ばれる。PlayItemは、時間軸上の再生区間のIN点とOUT点のペアで表される。図４６に示すように、PlayListは１つまたは複数のPlayItemにより構成される。
【０４２２】
図４６の左から１番目のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側のClipに含まれるAVストリームの前半部分と後半部分がそれぞれ参照される。
【０４２３】
左から２番目のPlayListは１つのPlayItemから構成され、それにより、右側のClipに含まれるAVストリーム全体が参照される。
【０４２４】
左から３番目のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側のClipに含まれるAVストリームのある部分と、右側のClipに含まれるAVストリームのある部分がそれぞれ参照される。
【０４２５】
例えば、左から１番目のPlayListに含まれる左側のPlayItemが再生対象としてプログラムにより指定された場合、そのPlayItemが参照する、左側のClipに含まれるAVストリームの前半部分の再生が行われる。このように、PlayListは、AVストリームの再生を管理するための再生管理情報として用いられる。
【０４２６】
PlayListの中で、１つ以上のPlayItemの並びによって作られる再生パスをメインパス(Main Path)という。また、PlayListの中で、Main Pathに並行して、１つ以上のSubPlayItemの並びによって作られる再生パスをサブパス（Sub Path）という。
【０４２７】
図４７は、Main PathとSub Pathの構造を示す図である。
【０４２８】
PlayListは、１つのMain Pathと１つ以上のSub Pathを持つ。図４７のPlayListは、３つのPlayItemの並びにより作られる１つのMain Pathと３つのSub Pathを有する。
【０４２９】
Main Pathを構成するPlayItemには、先頭から順番にそれぞれIDが設定される。Sub Pathにも、先頭から順番にSubpath_id=0、Subpath_id=1、およびSubpath_id=2のIDが設定される。
【０４３０】
図４７の例においては、Subpath_id=0のSub Pathには１つのSubPlayItemが含まれ、Subpath_id=1のSub Pathには２つのSubPlayItemが含まれる。また、Subpath_id=2のSub Pathには１つのSubPlayItemが含まれる。
【０４３１】
１つのPlayItemが参照するAVストリームには、少なくともビデオストリーム（メイン画像データ）が含まれる。AVストリームには、AVストリームに含まれるビデオストリームと同じタイミングで（同期して）再生されるオーディオストリームが含まれるようにすることができる。
【０４３２】
AVストリームには、AVストリームに含まれるビデオストリームと同期して再生されるPG(Presentation Graphic）のストリームが含まれるようにすることができる。上述したXML字幕のストリームが、PGストリームとしてBDに記録される。
【０４３３】
AVストリームには、AVストリームファイルに含まれるビデオストリームと同期して再生されるIG(Interactive Graphic)のストリームが含まれるようにすることができる。IGのストリームは、ユーザにより操作されるボタンなどのグラフィックを表示させるために用いられる。
【０４３４】
１つのPlayItemが参照するAVストリームには、ビデオストリームと、それと同期して再生されるオーディオストリーム、PGストリーム（XML字幕のストリーム）、およびIGストリームが多重化される。
【０４３５】
また、１つのSubPlayItemは、PlayItemが参照するAVストリームとは異なるストリームの、ビデオストリーム、オーディオストリーム、PGストリームなどを参照する。
【０４３６】
このように、AVストリームの再生は、Data Base情報であるPlayListとClip Informationを用いて行われる。
【０４３７】
［ディレクトリ構造］
図４８は、BDに記録されるファイルの管理構造の例を示す図である。
【０４３８】
BDに記録される各ファイルはディレクトリ構造により階層的に管理される。BD上には１つのrootディレクトリが作成される。
【０４３９】
rootディレクトリの下にはBDAVディレクトリが置かれる。
【０４４０】
BDAVディレクトリの下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ等が設けられる。
【０４４１】
PLAYLISTディレクトリには、PlayListを記述したPlayListファイルが格納される。各PlayListファイルには、５桁の数字と拡張子「.rpls」を組み合わせた名前が設定される。
【０４４２】
CLIPINFディレクトリにはClip Informationファイルが格納される。各Clip Informationファイルには、５桁の数字と拡張子「.clpi」を組み合わせた名前が設定される。図４７の３つのClip Informationファイルには、それぞれ、「01000.clpi」、「02000.clpi」、「03000.clpi」のファイル名が設定されている。
【０４４３】
STREAMディレクトリにはストリームファイルが格納される。各ストリームファイルには、５桁の数字と拡張子「.m2ts」を組み合わせた名前が設定される。図４７の３つのストリームファイルには、それぞれ、「01000.m2ts」、「02000.m2ts」、「03000.m2ts」のファイル名が設定されている。
【０４４４】
同じ５桁の数字がファイル名に設定されているClip Informationファイルとストリームファイルが１つのClipを構成するファイルとなる。「01000.m2ts」のストリームファイルの再生時には「01000.clpi」のClip Informationファイルが用いられ、「02000.m2ts」のストリームファイルの再生時には「02000.clpi」のClip Informationファイルが用いられる。
【０４４５】
AVストリームに含まれるXML字幕データの再生に用いられるTTMLヘッダは、例えばClip Informationファイルに記述される。
【０４４６】
［ファイルのシンタクス］
図４９は、Clip Informationファイルのシンタクスを示す図である。
【０４４７】
Clip Informationファイルは、図４８のCLIPINFディレクトリに格納される、拡張子「.clpi」が設定されるファイルである。
【０４４８】
ClipInfo()には、Clipを構成するAVストリームのタイプを示す情報、AVストリームの記録レートを示す情報などが格納される。
【０４４９】
SequenceInfo()には、AVストリームを構成するsource packetの時間軸上の位置を示す情報、表示時刻を示す情報などが含まれる。
【０４５０】
ProgramInfo()には、Clipを構成するAVストリームのPID、AVストリームに多重化されている各ストリームの符号化に関する情報などが含まれる。
【０４５１】
図５０は、図４９のProgramInfo()のシンタクスを示す図である。
【０４５２】
number_of_program_sequencesは、ProgramInfo()に記述されるプログラムシーケンスの数を示す。プログラムシーケンスは、プログラムを構成するソースパケットの並びにより構成される。
【０４５３】
number_of_program_sequences以降の情報が、number_of_program_sequencesにより表される数だけ繰り返される。SPN_program_sequence_startは、プログラムシーケンスの先頭のソースパケットの番号（source packet number）を示す。num_of_streams_in_psは、プログラムシーケンスを構成するelementary streamの数を表す。
【０４５４】
stream_PIDとStreamCodingInfoが、１つのプログラムシーケンスを構成するelementary stream毎に記述される。
【０４５５】
stream_PIDは、elementary streamのPIDを表す。
【０４５６】
StreamCodingInfoは、elementary streamの符号化に関する情報が含まれる。
【０４５７】
例えば、AVストリームに多重化されているビデオストリーム、オーディオストリーム、XML字幕のストリームのそれぞれのストリームについて、stream_PIDとStreamCodingInfoが続けて記述される。
【０４５８】
例えば、ビデオストリームのstream_PIDに続けて、ビデオストリームのStreamCodingInfoが記述され、オーディオストリームのstream_PIDに続けて、オーディオストリームのStreamCodingInfoが記述される。また、XML字幕のストリームのstream_PIDに続けて、XML字幕のストリームのStreamCodingInfoが記述される。
【０４５９】
図５１は、図５０のStreamCodingInfoのシンタクスを示す図である。
【０４６０】
stream_coding_typeは、elementary streamの符号化方式を示す。
【０４６１】
例えば、stream_coding_typeの値が0x01である場合、elementary streamがMPEG-1 video streamであることを表す。stream_coding_typeの値として0x01が設定されたStreamCodingInfoは、MPEG-1 video streamの符号化に関する情報を含む情報となる。
【０４６２】
stream_coding_typeに続けて、そのMPEG-1 video streamに関する情報として、video_format、frame_rate、aspect_ratioなどの情報が記述される。
【０４６３】
video_formatは、1080i、1080pなどの走査方式を表す。frame_rateはフレームレートを表す。aspect_ratioはアスペクト比を表す。
【０４６４】
ビデオストリームのstream_PIDに続くStreamCodingInfoには、このようなビデオストリームに関する記述が含まれる。
【０４６５】
また、例えば、stream_coding_typeの値が0x03である場合、elementary streamがMPEG-1 audioのストリームであることを表す。stream_coding_typeの値として0x03が設定されたStreamCodingInfoは、MPEG-1 audioのストリームの符号化に関する情報を含む情報となる。
【０４６６】
stream_coding_typeに続けて、そのMPEG-1 audioのストリームに関する情報として、audio_presentation_type、sampling_frequencyなどの情報が記述される。
【０４６７】
audio_presentation_typeは、stereo、multi-channelなどの出力チャネルを表す。sampling_frequencyはサンプリング周波数を表す。
【０４６８】
オーディオストリームのstream_PIDに続くStreamCodingInfoには、このようなオーディオストリームに関する記述が含まれる。
【０４６９】
図５１の下方に示すように、例えば、stream_coding_typeの値が0x100である場合、elementary streamがXML字幕のストリームであることを表す。stream_coding_typeの値として0x100が設定されたStreamCodingInfoは、XML字幕のストリームの符号化に関する情報を含む情報となる。
【０４７０】
stream_coding_typeの値として0x100が設定されたStreamCodingInfoには、TTML_header()（TTMLヘッダ）が記述される。TTML_header()の内容は、図１３または図１７を参照して説明したものと同じである。
【０４７１】
このように、TTMLヘッダを、XML字幕のストリームのstream_PIDに続くStreamCodingInfoに記述することが可能である。なお、TTMLヘッダをStreamCodingInfoに記述したClip Informationのシンタクスは、新規のシンタクスとなる。
【０４７２】
XML字幕データの再生時、Data Base情報としてのClip Informationファイルが解析され、Clip InformationファイルからTTMLヘッダが抽出される。
【０４７３】
なお、複数の言語のそれぞれに対応するTTMLヘッダをStreamCodingInfoに記述するようにしてもよい。
【０４７４】
＜１２−２．記録装置／再生装置の構成と動作＞
［記録装置１の構成と動作］
記録装置１は、図２１の構成と同様の構成を有している。制御部１２においては、所定のプログラムが実行され、図４１の各部が実現される。
【０４７５】
制御部１２のTTMLヘッダ生成部３２は、コンテンツ取得部３１から供給された情報に基づいて生成したTTMLヘッダをData Base情報生成部３４に出力する。
【０４７６】
Data Base情報生成部３４は、PlayListを生成するとともに、TTMLヘッダ生成部３２から供給されたTTMLヘッダをProgramInfo()のStreamCodingInfoに記述するなどしてClip Informationを生成する。Data Base情報生成部３４は、生成したPlayListファイルとClip Informationファイルを記録制御部３３に出力し、BDに記録させる。
【０４７７】
図５２のフローチャートを参照して、記録装置１の記録処理について説明する。
【０４７８】
ステップＳ２０１において、制御部１２のコンテンツ取得部３１は、入力部１１において受信された記録対象のコンテンツを取得する。
【０４７９】
ステップＳ２０２において、信号処理部１６の字幕読み出し部２１、ビデオ読み出し部２２、およびオーディオ読み出し部２３は、それぞれ、記録対象のコンテンツから、XML字幕データ、ビデオデータ、オーディオデータを読み出す。
【０４８０】
ステップＳ２０３において、TTMLヘッダ生成部３２は、信号処理部１６において読み出された情報を適宜用いてTTMLヘッダを生成する。
【０４８１】
ステップＳ２０４において、Data Base情報生成部３４は、PlayListを生成するとともに、TTMLヘッダ生成部３２により生成されたTTMLヘッダをProgramInfo()のStreamCodingInfoに記述するなどしてClip Informationを生成する。
【０４８２】
ステップＳ２０５において、多重化部２４は、字幕読み出し部２１から供給されたXML字幕データをPESパケット化し、PESパケットをTSパケットに分割して、XML字幕のストリームを生成する。
【０４８３】
ステップＳ２０６において、多重化部２４は、ビデオ読み出し部２２から供給されたビデオストリームと、オーディオ読み出し部２３から供給されたオーディオストリームをそれぞれPESパケット化する。多重化部２４は、ビデオストリームとオーディオストリームのPESパケットを分割することによってTSパケットを生成し、XML字幕データ、ビデオデータ、オーディオデータの各TSパケットをMPEG-2 TS形式で多重化する。
【０４８４】
ステップＳ２０８において、記録制御部３３は、多重化部２４により生成されたTSと、Data Base情報生成部３４により生成されたData Base情報をBDに記録し、処理を終了させる。
【０４８５】
［再生装置２の構成と動作］
一方、再生装置２は、図２３の構成と同様の構成を有する。制御部５２においては、図４３の各構成が実現される。
【０４８６】
図５３は、字幕生成部７３の構成例を示すブロック図である。
【０４８７】
図５３に示す字幕生成部７３の構成は、TTMLヘッダバッファ９３に対するTTMLヘッダの書き込みが、制御部５２により行われるようになっている点で、図３８等の構成と異なる。すなわち、TSバッファ９１には、分離部７２から供給されたXML字幕データのTSパケットが保存され、Data Base情報を用いて提供されるTTMLヘッダは保存されない。
【０４８８】
図５４のフローチャートを参照して、コンテンツを再生する再生装置２の処理について説明する。
【０４８９】
ステップＳ２２１において、コンテンツ取得部１１１は、Data Base情報をBDから読み出す。コンテンツ取得部１１１は、Data Base情報として取得したPlayListファイルとClip InformationファイルをData Base情報解析部１１３に出力する。
【０４９０】
ステップＳ２２２において、Data Base情報解析部１１３は、Clip Informationを解析し、ProgramInfo()のStreamCodingInfoに記述されたTTMLヘッダを取得する。
【０４９１】
ステップＳ２２３において、Data Base情報解析部１１３は、TTMLヘッダをTTMLヘッダバッファ９３に書き込み、保存する。それ以降の処理は、図２７のステップＳ１１以降の処理と同様である。ステップＳ２２４において、コンテンツ取得部１１１は、再生対象のコンテンツのAVストリームをBDから読み出す。
【０４９２】
ステップＳ２２５において、再生部５６の読み出しバッファ７１はTSを保存する。
【０４９３】
ステップＳ２２６において、分離部７２は、TSを構成する各TSパケットのPIDに基づいて、XML字幕データ、ビデオデータ、およびオーディオデータの各TSパケットを分離する。
【０４９４】
ステップＳ２２７において、ビデオ生成部７４は、分離部７２から供給されたTSパケットにより構成されるビデオデータをデコードし、ビデオプレーンを表示データ生成部７６に出力する。
【０４９５】
ステップＳ２２８において、オーディオ生成部７５は、分離部７２から供給されたTSパケットにより構成されるオーディオデータをデコードする。
【０４９６】
ステップＳ２２９において、字幕生成部７３は字幕画面生成処理を行う。字幕画面生成処理については、図５５を参照して後述する。
【０４９７】
ステップＳ２３０において、表示データ生成部７６は、字幕生成部７３から供給された字幕プレーンとビデオ生成部７４から供給されたビデオプレーンを合成し、表示データを生成する。表示データ生成部７６は、表示データに基づいて、コンテンツの映像と字幕を表示部８１に表示させる。コンテンツの再生が行われている間、以上の処理が繰り返される。
【０４９８】
ここで、図５５のフローチャートを参照して、ステップＳ２２９において行われる字幕画面生成処理について説明する。
【０４９９】
図５５に示す処理は、TTMLヘッダをTSバッファ９１に保存する処理が行われない点を除いて、図２８を参照して説明した処理と同様の処理である。
【０５００】
すなわち、ステップＳ２４１において、再生制御部１１２は、分離部７２により分離されたXML字幕データのTSパケットをTSバッファ９１に保存させる。
【０５０１】
ステップＳ２４２において、再生制御部１１２は、TSバッファ９１に保存された、XML字幕データのTSパケットを複数集めてPESパケットを生成する。
【０５０２】
ステップＳ２４３において、再生制御部１１２は、PESパケットをPESバッファ９２に出力し、保存させる。
【０５０３】
ステップＳ２４４において、再生制御部１１２は、PESパケットを構成するPESヘッダとPESペイロードを分離する。
【０５０４】
ステップＳ２４５において、再生制御部１１２は、Data Base情報解析部１１３によりTTMLヘッダバッファ９３に書き込まれたTTMLヘッダのnumber_of_data_blockに従って、PESペイロードに格納されているXML文書とPNGファイルを分離する。上述したように、図５４のステップＳ２２３においては、Data Base情報から抽出されたTTMLヘッダがTTMLヘッダバッファ９３に書き込まれている。
【０５０５】
ステップＳ２４６において、再生制御部１１２は、TTMLヘッダのcompression_typeに従って、分離したXML文書が圧縮されているか否かを判定する。圧縮されている場合、再生制御部１１２は、compression_typeにより示されるタイプに応じてXML文書を展開する。
【０５０６】
その後、図２９のフローチャートを参照して説明した処理と同様の処理が行われ、XML字幕データのデコードが行われる。
【０５０７】
このように、TTMLヘッダを、BDのData Base情報に記述することも可能である。例えば、XML字幕データがimage subtitleであり、PNGファイルが多い場合には、TTMLヘッダを１つのTSパケットに収めることができない場合がある。TTMLヘッダをData Base情報に含めることにより、PNGファイルが多い場合であっても、各PNGファイルの再生に関する情報をTTMLヘッダに記述することが可能になる。
【０５０８】
なお、以上においては、TTMLヘッダをClip InformationのProgramInfo()のStreamCodingInfoに記述するものとしたが、Clip Informationの他の領域に記述するようにしてもよい。また、Data Base情報であるPlayListの所定の領域にTTMLヘッダを記述するようにしてもよい。
【０５０９】
また、以上においては、記録媒体３がBDである場合について説明したが、記録媒体３が、BDと同様に、Data Base情報をAVストリームとは別に記録するSeeQVault（登録商標）対応の記録媒体であってもよい。SeeQVaultは、標準化団体であるNSM(Next. Generation Secure Memory Initiative)により提供される規格である。
【０５１０】
SeeQVault対応の電子機器がSeeQVault対応の記録媒体に記録したコンテンツは、その記録媒体が接続された、SeeQVault対応の別の電子機器において再生することが可能とされる。この場合、記録装置１と再生装置２は、それぞれSeeQVault対応の電子機器となる。
【０５１１】
＜＜１３．変形例２＞＞
＜コンピュータの構成例＞
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０５１２】
図５６は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０５１３】
CPU１００１、ROM１００２、RAM１００３は、バス１００４により相互に接続されている。
【０５１４】
バス１００４には、さらに、入出力インタフェース１００５が接続されている。入出力インタフェース１００５には、キーボード、マウスなどよりなる入力部１００６、ディスプレイ、スピーカなどよりなる出力部１００７が接続される。また、入出力インタフェース１００５には、ハードディスクや不揮発性のメモリなどよりなる記憶部１００８、ネットワークインタフェースなどよりなる通信部１００９、リムーバブルメディア１０１１を駆動するドライブ１０１０が接続される。
【０５１５】
以上のように構成されるコンピュータでは、CPU１００１が、例えば、記憶部１００８に記憶されているプログラムを入出力インタフェース１００５及びバス１００４を介してRAM１００３にロードして実行することにより、上述した一連の処理が行われる。
【０５１６】
CPU１００１が実行するプログラムは、例えばリムーバブルメディア１０１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部１００８にインストールされる。
【０５１７】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０５１８】
なお、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０５１９】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０５２０】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０５２１】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０５２２】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０５２３】
＜構成の組み合わせ例＞
本技術は、以下のような構成をとることもできる。
【０５２４】
（１）
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得する取得部と、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成する生成部と、
前記ビデオデータと、前記補足情報を付加した前記字幕データをそれぞれパケット化し、多重化することによって第２のフォーマットのコンテンツを生成する多重化部と
を備える情報処理装置。
（２）
前記字幕データは、画像データを用いて字幕を表示するXML文書と、前記XML文書内で参照する前記画像データを含み、
前記生成部は、前記補足情報、前記XML文書、および、それぞれの前記画像データを分離するために用いられる分離情報をさらに含む前記補足情報を生成する
前記（１）に記載の情報処理装置。
（３）
前記多重化部は、前記字幕データのパケットとして、前記補足情報、前記XML文書、および、前記XML文書内で参照する全ての前記画像データをペイロードに含む１つのパケットを生成する
前記（２）に記載の情報処理装置。
（４）
前記生成部は、前記補足情報の長さを示す情報、前記XML文書または前記画像データを格納するデータブロックの数を示す情報、それぞれの前記データブロックに格納されるデータの種類を示す情報、および、それぞれの前記データブロックの長さを示す情報を含む前記分離情報を生成する
前記（３）に記載の情報処理装置。
（５）
前記多重化部は、前記字幕データのパケットとして、前記補足情報と前記XML文書をペイロードに含むパケットと、それに続く、前記XML文書内で参照するそれぞれの前記画像データをペイロードに含むパケットを生成する
前記（２）に記載の情報処理装置。
（６）
前記生成部は、前記補足情報の長さを示す情報と、前記XML文書内で参照する前記画像データの数を示す情報を含む前記分離情報を生成する
前記（５）に記載の情報処理装置。
（７）
前記生成部は、前記XML文書の時刻の表現形式に関する情報、前記XML文書が想定するフレームレートに関する情報、前記XML文書を用いた字幕の開始時刻と終了時刻に関する情報、前記XML文書が想定する画枠に関する情報、前記字幕データの再生時に、前記XML文書に記述された時刻を無視するか否かを示す情報、および、前記XML文書に施されている圧縮のタイプを示す情報のうちの少なくともいずれかを含む前記補足情報を生成する
前記（２）乃至（６）のいずれかに記載の情報処理装置。
（８）
前記多重化部は、前記ビデオデータと、前記補足情報を付加した前記字幕データをMPEG-2 TSのフォーマットで多重化する
前記（１）乃至（７）のいずれかに記載の情報処理装置。
（９）
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得し、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成し、
前記ビデオデータと、前記補足情報を付加した前記字幕データをそれぞれパケット化し、多重化することによって第２のフォーマットのコンテンツを生成する
ステップを含む情報処理方法。
（１０）
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得し、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成し、
前記ビデオデータと、前記補足情報を付加した前記字幕データをそれぞれパケット化し、多重化することによって第２のフォーマットのコンテンツを生成する
ステップを含む処理をコンピュータに実行させるプログラム。
（１１）
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツのフォーマットを変換して得られた第２のフォーマットのコンテンツを取得する取得部と、
前記ビデオデータと前記字幕データを分離する分離部と、
前記ビデオデータを再生するビデオ再生部と、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報を前記字幕データから分離し、前記補足情報を参照して前記字幕データを再生する字幕再生部と、
前記第２のフォーマットのコンテンツの映像と字幕を表示させる表示制御部と
を備える情報処理装置。
（１２）
前記字幕データは、画像データを用いて字幕を表示するXML文書と、前記XML文書内で参照する前記画像データを含み、
前記補足情報は、前記補足情報、前記XML文書、および、それぞれの前記画像データを分離するために用いられる分離情報をさらに含む
前記（１１）に記載の情報処理装置。
（１３）
前記字幕再生部は、前記分離情報に基づいて、前記補足情報、前記XML文書、および、前記XML文書内で参照する全ての前記画像データをペイロードに含む１つのパケットから、それぞれの情報を分離する
前記（１２）に記載の情報処理装置。
（１４）
前記分離情報は、前記補足情報の長さを示す情報、前記XML文書または前記画像データを格納するデータブロックの数を示す情報、それぞれの前記データブロックに格納されるデータの種類を示す情報、および、それぞれの前記データブロックの長さを示す情報を含む
前記（１３）に記載の情報処理装置。
（１５）
前記字幕再生部は、前記分離情報に基づいて、前記補足情報と前記XML文書をペイロードに含むパケットから、前記補足情報と前記XML文書を分離し、それに続く、前記XML文書内で参照するそれぞれの前記画像データをペイロードに含むパケットから、前記画像データを分離する
前記（１２）に記載の情報処理装置。
（１６）
前記分離情報は、前記補足情報の長さを示す情報と、前記XML文書内で参照する前記画像データの数を示す情報を含む
前記（１５）に記載の情報処理装置。
（１７）
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツのフォーマットを変換して得られた第２のフォーマットのコンテンツを取得し、
前記ビデオデータと前記字幕データを分離し、
前記ビデオデータを再生し、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報を前記字幕データから分離し、
前記補足情報を参照して前記字幕データを再生し、
前記第２のフォーマットのコンテンツの映像と字幕を表示させる
ステップを含む情報処理方法。
（１８）
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツのフォーマットを変換して得られた第２のフォーマットのコンテンツを取得し、
前記ビデオデータと前記字幕データを分離し、
前記ビデオデータを再生し、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報を前記字幕データから分離し、
前記補足情報を参照して前記字幕データを再生し、
前記第２のフォーマットのコンテンツの映像と字幕を表示させる
ステップを含む処理をコンピュータに実行させるプログラム。
（１９）
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツを取得する取得部と、
前記第１のフォーマットのコンテンツに含まれる、前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含む補足情報を生成する生成部と、
前記補足情報をTSパケットに格納し、前記ビデオデータをペイロードに含むPESパケットを分割して得られたTSパケット、および前記字幕データをペイロードに含むPESパケットを分割して得られたTSパケットとともにMPEG-2 TSのフォーマットで多重化することによって第２のフォーマットのコンテンツを生成する多重化部と
を備える情報処理装置。
（２０）
ビデオデータと、前記ビデオデータと同期して再生される、XMLで記述された字幕データを少なくとも含む第１のフォーマットのコンテンツをMPEG-2 TSのフォーマットに変換して得られた第２のフォーマットのコンテンツを取得する取得部と、
前記字幕データの再生に関する情報のうち、フォーマットを変換することによって参照できなくなる情報を含むように生成された補足情報を格納するTSパケット、前記ビデオデータをペイロードに含むPESパケットを分割して得られたTSパケット、および前記字幕データをペイロードに含むPESパケットを分割して得られたTSパケットをそれぞれ分離する分離部と、
前記ビデオデータを再生するビデオ再生部と、
前記補足情報を参照して前記字幕データを再生する字幕再生部と、
前記第２のフォーマットのコンテンツの映像と字幕を表示させる表示制御部と
を備える情報処理装置。
【符号の説明】
【０５２５】
１  記録装置，  ２  再生装置，  ２４  多重化部，  ３１  コンテンツ取得部，  ３２  TTMLヘッダ生成部，  ３３  記録制御部，  ７２  分離部，  ７３  字幕生成部，  ９１  TSバッファ，  ９２  PESバッファ，  ９３  TTMLヘッダバッファ，  ９４  XML文書バッファ，  ９５  PNGバッファ，  ９６  字幕デコーダ，  ９７  intermediate synchronic documentバッファ，  ９８  PNGデコーダ，  ９９  bitmapバッファ，  １００  intermediate synchronic documentデコーダ，  １０１  plane生成部，  １１１  コンテンツ取得部，  １１２  再生制御部
【図１】
2017154607.tif 000003
【図２】
2017154607.tif 000004
【図３】
2017154607.tif 000005
【図４】
2017154607.tif 000006
【図５】
2017154607.tif 000007
【図６】
2017154607.tif 000008
【図７】
2017154607.tif 000009
【図８】
2017154607.tif 000010
【図９】
2017154607.tif 000011
【図１０】
2017154607.tif 000012
【図１１】
2017154607.tif 000013
【図１２】
2017154607.tif 000014
【図１３】
2017154607.tif 000015
【図１４】
2017154607.tif 000016
【図１５】
2017154607.tif 000017
【図１６】
2017154607.tif 000018
【図１７】
2017154607.tif 000019
【図１８】
2017154607.tif 000020
【図１９】
2017154607.tif 000021
【図２０】
2017154607.tif 000022
【図２１】
2017154607.tif 000023
【図２２】
2017154607.tif 000024
【図２３】
2017154607.tif 000025
【図２４】
2017154607.tif 000026
【図２５】
2017154607.tif 000027
【図２６】
2017154607.tif 000028
【図２７】
2017154607.tif 000029
【図２８】
2017154607.tif 000030
【図２９】
2017154607.tif 000031
【図３０】
2017154607.tif 000032
【図３１】
2017154607.tif 000033
【図３２】
2017154607.tif 000034
【図３３】
2017154607.tif 000035
【図３４】
2017154607.tif 000036
【図３５】
2017154607.tif 000037
【図３６】
2017154607.tif 000038
【図３７】
2017154607.tif 000039
【図３８】
2017154607.tif 000040
【図３９】
2017154607.tif 000041
【図４０】
2017154607.tif 000042
【図４１】
2017154607.tif 000043
【図４２】
2017154607.tif 000044
【図４３】
2017154607.tif 000045
【図４４】
2017154607.tif 000046
【図４５】
2017154607.tif 000047
【図４６】
2017154607.tif 000048
【図４７】
2017154607.tif 000049
【図４８】
2017154607.tif 000050
【図４９】
2017154607.tif 000051
【図５０】
2017154607.tif 000052
【図５１】
2017154607.tif 000053
【図５２】
2017154607.tif 000054
【図５３】
2017154607.tif 000055
【図５４】
2017154607.tif 000056
【図５５】
2017154607.tif 000057
【図５６】
2017154607.tif 000058
【国際調査報告】
2017154607.tif 000059
2017154607.tif 000060
2017154607.tif 000061
2017154607.tif 000062