(57)【要約】【課題】ユーザの所望の言語の字幕を所望の形式で表示させる。【解決手段】テキストデータデコーダ１２１は、テキスト字幕データをデコードし、文字オブジェクトは文字オブジェクトバッファ１２２に、属性データは、アトリビュートデータバッファ１２３に供給する。アトリビュートデータバッファ１２３に保存される属性データは、ユーザの操作入力に基づいて変更される。フォントラスタライザ１２４は、アトリビュートデータバッファ１２３から読み出した属性の指定、取得されるフォントデータに基づいて、文字オブジェクトをラスタデータに変換して出力するとともに、属性に基づいて、ブックマークが付与されている文字オブジェクトを検出し、ブックマークバッファ１２５を利用して、同一のブックマークＩＤが付与されている文字オブジェクトに関しては、重複してラスタライズを行わないようにする。本開示は、再生装置に適用できる。【選択図】図３４
2011239447.tif 000002
【特許請求の範囲】
【請求項１】
着脱可能な記録媒体に記録されているＡＶストリームを再生するとともに、前記ＡＶストリームに対応する字幕を表示させるための字幕データを生成する再生装置において、
フォントデータを予め保持するフォントデータ保持手段と、
サーバまたはリムーバブルメディアから供給される、文字オブジェクトおよび属性データを含む第１の情報を少なくとも記憶する記憶手段と、
少なくとも前記第１の情報を予め記録している前記記録媒体、または前記記憶手段から、前記第１の情報の読み出しを制御する読み出し制御手段と、
読み出された前記第１の情報に含まれる前記文字オブジェクトを保持する文字オブジェクト保持手段と、
読み出された前記第１の情報に含まれる前記属性データを保持する属性データ保持手段と、
前記フォントデータ保持手段、前記記録媒体、または前記記憶手段のいずれかから、前記フォントデータを取得するフォントデータ取得手段と、
前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、前記属性データ保持手段により保持された前記属性データおよび前記フォントデータ取得手段により取得した前記フォントデータを用いて字幕データに変換する変換手段と、
ユーザの操作入力を取得する操作入力取得手段と
を備え、
前記第１の情報には、エスケープコードが含まれており、
前記読み出し制御手段は、
前記記憶手段に記憶されている前記ＡＶストリームおよび前記第１の情報の読み出しを制御するための情報である第２の情報と、前記記録媒体に記録されている前記ＡＶストリームとの読み出しを更に制御し、
前記操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記第２の情報の読み出しを制御し、
読み出された前記第２の情報に基づいて、前記ＡＶストリームおよび前記第１の情報の読み出しを制御する
再生装置。
【請求項２】
前記読み出し制御手段により読み出しが制御された前記ＡＶストリームをデコードする第１のデコード手段を更に備える
請求項１に記載の再生装置。
【請求項３】
前記変換手段により変換された字幕データ、および、前記第１のデコード手段によりデコードされた前記ＡＶストリームに含まれる映像データを合成して出力する出力手段を更に備える
請求項２に記載の再生装置。
【請求項４】
前記読み出し制御手段により読み出しが制御された前記第１の情報をデコードする第２のデコード手段と、
前記第１のデコード手段による前記ＡＶストリームのデコードの処理タイミングの基準となるカウント値をカウントするカウント手段と、
前記カウント手段によりカウントされる前記カウント値に基づいて、前記第２のデコード手段による前記第１の情報のデコードの処理タイミングの基準を計算する計算手段と
を更に備える請求項２に記載の再生装置。
【請求項５】
前記読み出し制御手段により読み出しが制御された前記第１の情報をデコードするデコード手段を更に備え、
前記文字オブジェクト保持手段は、前記デコード手段によりデコードされた前記第１の情報に含まれる前記文字オブジェクトを保持し、
前記属性データ保持手段は、前記デコード手段によりデコードされた前記第１の情報に含まれる前記属性データを保持する
請求項１に記載の再生装置。
【請求項６】
ネットワークを介して、前記サーバと情報を授受する通信手段を更に備え、
前記記憶手段には、前記通信手段により受信された前記第１の情報が記憶される
請求項１に記載の再生装置。
【請求項７】
前記記録媒体に記憶されている第１のデータ群のファイルシステムと、前記記憶手段に記憶されている第２のデータ群のファイルシステムとを基に、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む仮想的なファイルシステムを生成する仮想ファイルシステム生成手段を更に備える
請求項６に記載の再生装置。
【請求項８】
前記記憶手段に記憶されている前記第１の情報には、前記仮想的なファイルシステムの生成に関する第２の情報が含まれ、
前記読み出し制御手段は、前記記憶手段に記憶されている前記第２の情報の読み出しを更に制御し、
前記仮想ファイルシステム生成手段は、前記読み出し制御手段により読み出しが制御された前記第２の情報を基に、前記仮想的なファイルシステムを生成する
請求項７に記載の再生装置。
【請求項９】
前記記憶手段は、前記前記読み出し制御手段により一括して全体の読み出しが制御された前記第１の情報を記憶する
請求項１に記載の再生装置。
【請求項１０】
前記読み出し制御手段により読み出しが制御される前記第１の情報のデコード開始点を示す情報と、前記デコード開始点のタイムスタンプとの関係を示すテーブル情報を生成するテーブル情報生成手段を更に備え、
前記読み出し制御手段は、前記テーブル情報生成手段により生成された前記テーブル情報を参照して、前記第１の情報の読み出しを制御する
請求項１に記載の再生装置。
【請求項１１】
着脱可能な記録媒体に記録されているＡＶストリームを再生するとともに、前記ＡＶストリームに対応する字幕を表示させるための字幕データを生成する再生装置の再生方法において、
少なくとも、文字オブジェクトおよび属性データを含む第１の情報を予め記録している前記記録媒体、若しくはサーバまたはリムーバブルメディアから供給される前記第１の情報を少なくとも記憶する記憶手段から、前記第１の情報の読み出しを制御する読み出し制御ステップと、
読み出された前記第１の情報に含まれる前記文字オブジェクトを保持する文字オブジェクト保持ステップと、
読み出された前記第１の情報に含まれる前記属性データを保持する属性データ保持ステップと、
フォントデータを予め保持するフォントデータ保持手段、前記記録媒体、または前記記憶手段のいずれかから、前記フォントデータを取得するフォントデータ取得ステップと、
前記文字オブジェクト保持ステップにより保持された前記文字オブジェクトを、前記属性データ保持ステップにより保持された前記属性データおよび前記フォントデータ取得ステップにより取得した前記フォントデータを用いて字幕データに変換する変換ステップと
を含み、
前記第１の情報には、エスケープコードが含まれており、
前記読み出し制御ステップは、
前記記憶手段に記憶されている前記ＡＶストリームおよび前記第１の情報の読み出しを制御するための情報である第２の情報と、前記記録媒体に記録されている前記ＡＶストリームとの読み出しを更に制御し、
ユーザの操作入力を取得する操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記第２の情報の読み出しを制御し、
読み出された前記第２の情報に基づいて、前記ＡＶストリームおよび前記第１の情報の読み出しを制御する
再生方法。
【請求項１２】
着脱可能な記録媒体に記録されているＡＶストリームを再生するとともに、前記ＡＶストリームに対応する字幕を表示させるための字幕データを生成する処理をコンピュータに実行させるためのプログラムであって、
少なくとも、文字オブジェクトおよび属性データを含む第１の情報を予め記録している前記記録媒体、若しくはサーバまたはリムーバブルメディアから供給される前記第１の情報を少なくとも記憶する記憶手段から、前記第１の情報の読み出しを制御する読み出し制御ステップと、
読み出された前記第１の情報に含まれる前記文字オブジェクトを保持する文字オブジェクト保持ステップと、
読み出された前記第１の情報に含まれる前記属性データを保持する属性データ保持ステップと、
フォントデータを予め保持するフォントデータ保持手段、前記記録媒体、または前記記憶手段のいずれかから、前記フォントデータを取得するフォントデータ取得ステップと、
前記文字オブジェクト保持ステップにより保持された前記文字オブジェクトを、前記属性データ保持ステップにより保持された前記属性データおよび前記フォントデータ取得ステップにより取得した前記フォントデータを用いて字幕データに変換する変換ステップと
を含み、
前記第１の情報には、エスケープコードが含まれており、
前記読み出し制御ステップは、
前記記憶手段に記憶されている前記ＡＶストリームおよび前記第１の情報の読み出しを制御するための情報である第２の情報と、前記記録媒体に記録されている前記ＡＶストリームとの読み出しを更に制御し、
ユーザの操作入力を取得する操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記第２の情報の読み出しを制御し、
読み出された前記第２の情報に基づいて、前記ＡＶストリームおよび前記第１の情報の読み出しを制御する
処理をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能なプログラム記録媒体。
【請求項１３】
着脱可能な記録媒体に記録されているＡＶストリームを再生するとともに、前記ＡＶストリームに対応する字幕を表示させるための字幕データを生成する処理をコンピュータに実行させるためのプログラムであって、
少なくとも、文字オブジェクトおよび属性データを含む第１の情報を予め記録している前記記録媒体、若しくはサーバまたはリムーバブルメディアから供給される前記第１の情報を少なくとも記憶する記憶手段から、前記第１の情報の読み出しを制御する読み出し制御ステップと、
読み出された前記第１の情報に含まれる前記文字オブジェクトを保持する文字オブジェクト保持ステップと、
読み出された前記第１の情報に含まれる前記属性データを保持する属性データ保持ステップと、
フォントデータを予め保持するフォントデータ保持手段、前記記録媒体、または前記記憶手段のいずれかから、前記フォントデータを取得するフォントデータ取得ステップと、
前記文字オブジェクト保持ステップにより保持された前記文字オブジェクトを、前記属性データ保持ステップにより保持された前記属性データおよび前記フォントデータ取得ステップにより取得した前記フォントデータを用いて字幕データに変換する変換ステップと
を含み、
前記第１の情報には、エスケープコードが含まれており、
前記読み出し制御ステップは、
前記記憶手段に記憶されている前記ＡＶストリームおよび前記第１の情報の読み出しを制御するための情報である第２の情報と、前記記録媒体に記録されている前記ＡＶストリームとの読み出しを更に制御し、
ユーザの操作入力を取得する操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記第２の情報の読み出しを制御し、
読み出された前記第２の情報に基づいて、前記ＡＶストリームおよび前記第１の情報の読み出しを制御する
処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、再生装置および再生方法、プログラム記録媒体、並びにプログラムに関し、特に、記録媒体に記録されているコンテンツのアップデートファイルをダウンロードすることができるようにする再生装置および再生方法、プログラム記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
DVD（Digital Versatile Disc）の再生専用の規格の１つにDVDビデオフォーマットがある。このDVDビデオフォーマットにおいては、ビデオやオーディオなどのコンテンツデータが字幕などの各種のサブピクチャのデータとともに多重化され、プログラムストリームとしてディスクに記録されている。また、そのストリームをインタラクティブに再生するためのナビゲーションデータもディスクに記録されている。
【０００３】
ここで、インタラクティブな再生とは、好みの位置からの再生や好みの順番での再生の他、様々な角度から撮影された映像の再生を可能にするマルチアングル機能、複数の言語の中から好みの言語での再生を可能にするマルチランゲージ機能、暴力シーンなどの、あるシーンの再生を行わないようにするバレンタルコントロール機能など、DVDの各種の機能をユーザが利用して行う再生をいう。
【０００４】
プログラムストリームは、複数のオーディオストリームと複数の字幕データストリームを多重化することも可能とされる。これにより、例えば、映画などの１つのビデオコンテンツに対して、複数の異なる言語の字幕のデータを１枚のディスクに記録させることが可能となり、ユーザは、ビデオの再生開始時や再生中に、好みの言語の音声や字幕を選択することができる。
【０００５】
ところで、ビデオ作品の素材となる効果音や動画、静止画等のコンテンツをユーザが容易にダウンロードすることができるシステムが特許文献１に開示されている。また、音楽データ全体のうちのある部分のデータを、他のデータに置き換えることができる技術が特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１４０６６２号公報
【特許文献２】特開２００２−３１１９６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ユーザは、当然、プレーヤに装着している、そのディスクに記録されているコンテンツを再生させることしかできないという課題があった。
【０００８】
したがって、例えば、英語の字幕しか用意されていない映画コンテンツが記録されたディスクを購入した場合、ユーザは、そのディスクに予め記録されている言語である英語の字幕を表示させることができるが、予め記録されている言語とは異なる所望の言語の字幕が表示されている同一の映画コンテンツを視聴するためには、所望の言語の字幕情報が予め記録されている異なるディスクを購入しなければならなかった。
【０００９】
また、ディスクの販売者側とすれば、言語の異なる複数の国で映画コンテンツが記録されたディスクを販売しようとする場合、各言語の字幕情報が記録されたディスクを予め用意したり、または、英語版のディスク、日本語版のディスクなど、複数種類のディスクを用意したりする必要がある。したがって、そのようなディスクを用意するために時間がかかることにより、場合によっては大きなビジネスチャンスを失うことにもなる。
【００１０】
また、従来の映画コンテンツなどの字幕の表示は、ビットマップなどの画像情報として記録されるため、例えば、所定の言語への翻訳処理が終了した後、それぞれの言語別に、例えば、色や大きさや自体などが指定された文字画像情報を生成する手間がかかってしまい、コンテンツのリリースに時間およびコストがかかってしまうという問題があった。
【００１１】
更に、従来の映画コンテンツなどの字幕の表示は、ビットマップなどの画像情報として記録されているため、例えば、大きな画面で映画コンテンツの映像を表示させたとき、字幕として表示される文字も、必要以上に拡大されてしまうため、アウトラインが崩れてしまうなど、その表示品質が著しく悪化してしまう恐れがある。また、ビットマップなどの画像情報として記録されている字幕の表示の大きさや色、または、フォントの種類などは、ユーザの操作入力に基づいて変更することができず、ユーザは、字幕の表示、または、非表示の選択しか行うことができなかった。
【００１２】
本開示はこのような状況に鑑みてなされたものであり、ディスクに記録されているコンテンツのアップデートファイルをダウンロードすることができるようにすることでディスクに記録されているコンテンツに対して、ユーザが所望する形式の字幕を表示させることができるようにするものである。
【課題を解決するための手段】
【００１３】
本開示の一側面の再生装置は、着脱可能な記録媒体に記録されているＡＶストリームを再生するとともに、前記ＡＶストリームに対応する字幕を表示させるための字幕データを生成する再生装置であって、フォントデータを予め保持するフォントデータ保持手段と、サーバまたはリムーバブルメディアから供給される、文字オブジェクトおよび属性データを含む第１の情報を少なくとも記憶する記憶手段と、少なくとも前記第１の情報を予め記録している前記記録媒体、または前記記憶手段から、前記第１の情報の読み出しを制御する読み出し制御手段と、読み出された前記第１の情報に含まれる前記文字オブジェクトを保持する文字オブジェクト保持手段と、読み出された前記第１の情報に含まれる前記属性データを保持する属性データ保持手段と、前記フォントデータ保持手段、前記記録媒体、または前記記憶手段のいずれかから、前記フォントデータを取得するフォントデータ取得手段と、前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、前記属性データ保持手段により保持された前記属性データおよび前記フォントデータ取得手段により取得した前記フォントデータを用いて字幕データに変換する変換手段と、ユーザの操作入力を取得する操作入力取得手段とを備え、前記第１の情報には、エスケープコードが含まれており、前記読み出し制御手段は、前記記憶手段に記憶されている前記ＡＶストリームおよび前記第１の情報の読み出しを制御するための情報である第２の情報と、前記記録媒体に記録されている前記ＡＶストリームとの読み出しを更に制御し、前記操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記第２の情報の読み出しを制御し、読み出された前記第２の情報に基づいて、前記ＡＶストリームおよび前記第１の情報の読み出しを制御する再生装置である。
【００１４】
前記読み出し制御手段により読み出しが制御された前記ＡＶストリームをデコードする第１のデコード手段を更に設けることができる。
【００１５】
前記変換手段により変換された字幕データ、および、前記第１のデコード手段によりデコードされた前記ＡＶストリームに含まれる映像データを合成して出力する出力手段を更に設けることができる。
【００１６】
前記読み出し制御手段により読み出しが制御された前記第１の情報をデコードする第２のデコード手段と、前記第１のデコード手段による前記ＡＶストリームのデコードの処理タイミングの基準となるカウント値をカウントするカウント手段と、前記カウント手段によりカウントされる前記カウント値に基づいて、前記第２のデコード手段による前記第１の情報のデコードの処理タイミングの基準を計算する計算手段とを更に設けることができる。
【００１７】
前記読み出し制御手段により読み出しが制御された前記第１の情報をデコードするデコード手段を更に設けることができ、前記文字オブジェクト保持手段では、前記デコード手段によりデコードされた前記第１の情報に含まれる前記文字オブジェクトを保持し、前記属性データ保持手段では、前記デコード手段によりデコードされた前記第１の情報に含まれる前記属性データを保持することができる。
【００１８】
ネットワークを介して、前記サーバと情報を授受する通信手段を更に設けることができ、前記記憶手段には、前記通信手段により受信された前記第１の情報が記憶されるようにすることができる。
【００１９】
前記記録媒体に記憶されている第１のデータ群のファイルシステムと、前記記憶手段に記憶されている第２のデータ群のファイルシステムとを基に、前記第１のデータ群および前記第２のデータ群のそれぞれの少なくとも一部を含む仮想的なファイルシステムを生成する仮想ファイルシステム生成手段を更に設けることができる。
【００２０】
前記記憶手段に記憶されている前記第１の情報には、前記仮想的なファイルシステムの生成に関する第２の情報が含まれ、前記読み出し制御手段では、前記記憶手段に記憶されている前記第２の情報の読み出しを更に制御し、前記仮想ファイルシステム生成手段では、前記読み出し制御手段により読み出しが制御された前記第２の情報を基に、前記仮想的なファイルシステムを生成することができる。
【００２１】
前記記憶手段では、前記前記読み出し制御手段により一括して全体の読み出しが制御された前記第１の情報を記憶することができる。
【００２２】
前記読み出し制御手段により読み出しが制御される前記第１の情報のデコード開始点を示す情報と、前記デコード開始点のタイムスタンプとの関係を示すテーブル情報を生成するテーブル情報生成手段を更に設けることができ、前記読み出し制御手段では、前記テーブル情報生成手段により生成された前記テーブル情報を参照して、前記第１の情報の読み出しを制御することができる。
【００２３】
本開示の一側面の再生方法は、着脱可能な記録媒体に記録されているＡＶストリームを再生するとともに、前記ＡＶストリームに対応する字幕を表示させるための字幕データを生成する再生装置の再生方法であって、少なくとも、文字オブジェクトおよび属性データを含む第１の情報を予め記録している前記記録媒体、若しくはサーバまたはリムーバブルメディアから供給される前記第１の情報を少なくとも記憶する記憶手段から、前記第１の情報の読み出しを制御する読み出し制御ステップと、読み出された前記第１の情報に含まれる前記文字オブジェクトを保持する文字オブジェクト保持ステップと、読み出された前記第１の情報に含まれる前記属性データを保持する属性データ保持ステップと、フォントデータを予め保持するフォントデータ保持手段、前記記録媒体、または前記記憶手段のいずれかから、前記フォントデータを取得するフォントデータ取得ステップと、前記文字オブジェクト保持ステップにより保持された前記文字オブジェクトを、前記属性データ保持ステップにより保持された前記属性データおよび前記フォントデータ取得ステップにより取得した前記フォントデータを用いて字幕データに変換する変換ステップとを含み、前記第１の情報には、エスケープコードが含まれており、前記読み出し制御ステップは、前記記憶手段に記憶されている前記ＡＶストリームおよび前記第１の情報の読み出しを制御するための情報である第２の情報と、前記記録媒体に記録されている前記ＡＶストリームとの読み出しを更に制御し、ユーザの操作入力を取得する操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記第２の情報の読み出しを制御し、読み出された前記第２の情報に基づいて、前記ＡＶストリームおよび前記第１の情報の読み出しを制御する再生方法である。
【００２４】
本開示の一側面のプログラム記録媒体は、着脱可能な記録媒体に記録されているＡＶストリームを再生するとともに、前記ＡＶストリームに対応する字幕を表示させるための字幕データを生成する処理をコンピュータに実行させるためのプログラムであって、少なくとも、文字オブジェクトおよび属性データを含む第１の情報を予め記録している前記記録媒体、若しくはサーバまたはリムーバブルメディアから供給される前記第１の情報を少なくとも記憶する記憶手段から、前記第１の情報の読み出しを制御する読み出し制御ステップと、読み出された前記第１の情報に含まれる前記文字オブジェクトを保持する文字オブジェクト保持ステップと、読み出された前記第１の情報に含まれる前記属性データを保持する属性データ保持ステップと、フォントデータを予め保持するフォントデータ保持手段、前記記録媒体、または前記記憶手段のいずれかから、前記フォントデータを取得するフォントデータ取得ステップと、前記文字オブジェクト保持ステップにより保持された前記文字オブジェクトを、前記属性データ保持ステップにより保持された前記属性データおよび前記フォントデータ取得ステップにより取得した前記フォントデータを用いて字幕データに変換する変換ステップとを含み、前記第１の情報には、エスケープコードが含まれており、前記読み出し制御ステップは、前記記憶手段に記憶されている前記ＡＶストリームおよび前記第１の情報の読み出しを制御するための情報である第２の情報と、前記記録媒体に記録されている前記ＡＶストリームとの読み出しを更に制御し、ユーザの操作入力を取得する操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記第２の情報の読み出しを制御し、読み出された前記第２の情報に基づいて、前記ＡＶストリームおよび前記第１の情報の読み出しを制御する処理をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能なプログラム記録媒体である。
【００２５】
本開示の一側面のプログラムは、着脱可能な記録媒体に記録されているＡＶストリームを再生するとともに、前記ＡＶストリームに対応する字幕を表示させるための字幕データを生成する処理をコンピュータに実行させるためのプログラムであって、少なくとも、文字オブジェクトおよび属性データを含む第１の情報を予め記録している前記記録媒体、若しくはサーバまたはリムーバブルメディアから供給される前記第１の情報を少なくとも記憶する記憶手段から、前記第１の情報の読み出しを制御する読み出し制御ステップと、読み出された前記第１の情報に含まれる前記文字オブジェクトを保持する文字オブジェクト保持ステップと、読み出された前記第１の情報に含まれる前記属性データを保持する属性データ保持ステップと、フォントデータを予め保持するフォントデータ保持手段、前記記録媒体、または前記記憶手段のいずれかから、前記フォントデータを取得するフォントデータ取得ステップと、前記文字オブジェクト保持ステップにより保持された前記文字オブジェクトを、前記属性データ保持ステップにより保持された前記属性データおよび前記フォントデータ取得ステップにより取得した前記フォントデータを用いて字幕データに変換する変換ステップとを含み、前記第１の情報には、エスケープコードが含まれており、前記読み出し制御ステップは、前記記憶手段に記憶されている前記ＡＶストリームおよび前記第１の情報の読み出しを制御するための情報である第２の情報と、前記記録媒体に記録されている前記ＡＶストリームとの読み出しを更に制御し、ユーザの操作入力を取得する操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記第２の情報の読み出しを制御し、読み出された前記第２の情報に基づいて、前記ＡＶストリームおよび前記第１の情報の読み出しを制御する処理をコンピュータに実行させるためのプログラムである。
【００２６】
本開示によれば、少なくとも、文字オブジェクトおよび属性データを含む第１の情報を予め記録している前記記録媒体、若しくはサーバまたはリムーバブルメディアから供給される前記第１の情報を少なくとも記憶する記憶手段から、前記第１の情報の読み出しが制御され、読み出された前記第１の情報に含まれる前記文字オブジェクトが保持され、読み出された前記第１の情報に含まれる前記属性データが保持され、フォントデータを予め保持するフォントデータ保持手段、前記記録媒体、または前記記憶手段のいずれかから、前記フォントデータが取得され、保持された前記文字オブジェクトが、保持された前記属性データおよび取得された前記フォントデータを用いて字幕データに変換される。また、前記第１の情報には、エスケープコードが含まれており、前記記憶手段に記憶されている前記ＡＶストリームおよび前記第１の情報の読み出しを制御するための情報である第２の情報と、前記記録媒体に記録されている前記ＡＶストリームとの読み出しが更に制御され、ユーザの操作入力を取得する操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記第２の情報の読み出しが制御され、読み出された前記第２の情報に基づいて、前記ＡＶストリームおよび前記第１の情報の読み出しが制御される。
【発明の効果】
【００２７】
本開示によれば、表示される字幕に対応する字幕データが生成され、特に、ＡＶストリームを再生する場合に、予め画像データに変換された字幕に対応するデータではなく、文字オブジェクトおよび属性データを取得して、字幕データに変換することができる。
【図面の簡単な説明】
【００２８】
【図１】本開示を適用した第１の実施の形態における再生装置の構成を示すブロック図である。
【図２】本開示を適用した第１の実施の形態における再生装置に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。
【図３】本開示を適用した再生装置に装着される記録媒体上のアプリケーションフォーマットの例の異なる例について説明するための図である。
【図４】ファイルのダウンロードが行われた状態について説明するための図である。
【図５】ＡＶストリームの構成について説明するための図である。
【図６】図１のコントローラの機能について説明するための機能ブロック図である。
【図７】光ディスクのファイルシステムと、ローカルストレージのファイルシステムの例を示す図である。
【図８】図７の２つのファイルシステムがマージされることで得られるファイルシステムの例を示す図である。
【図９】プレイリストとプレイリストによって参照可能なデータについて説明するための図である。
【図１０】追加して配布される対象となるデータについて説明するための図である。
【図１１】SubPlayItemのシンタックスを示す図である。
【図１２】テキスト字幕ファイルの構文について説明するための図である。
【図１３】制御文字による属性設定について説明するための図である。
【図１４】制御文字による属性設定について説明するための図である。
【図１５】マークアップ形式識別子とマークアップの形式ついて説明するための図である。
【図１６】TLVエンコード方式による属性指定の場合の、subtitle_data（）のデータ構造について説明するための図である。
【図１７】エスケープコードを示す図である。
【図１８】attribute_typeに記載される属性種別を示すコードについて説明するための図である。
【図１９】記載されている属性種別がCLUT設定であるときの、attribute_valueのデータ構造を示す図である。
【図２０】記載されている属性種別がリージョン原点指定であるときのattribute_valueのデータ構造を示す図である。
【図２１】レンダリング方向指定を示すコードの例を示す図である。
【図２２】記載されている属性種別がフォントスタイルの指定であるときのattribute_valueに記載されているコードについて説明するための図である。
【図２３】記載されている属性種別がブックマーク開始位置指定であるときのattribute_valueのデータ構造を示す図である。
【図２４】記載されている属性種別がブックマーク終了位置指定であるときのattribute_valueのデータ構造を示す図である。
【図２５】記載されている属性種別が文字オブジェクトシーケンス繰り返し指定であるときのattribute_valueのデータ構造を示す図である。
【図２６】タグ付き言語による属性指定の場合の、subtitle_data（）のデータ構造について説明するための図である。
【図２７】TaggedAttrの形式について説明するための図である。
【図２８】タグ付き言語による属性指定の要素および属性種別について説明するための図である。
【図２９】レンダリング方向について説明するための図である。
【図３０】レンダリング方向について説明するための図である。
【図３１】レンダリング方向について説明するための図である。
【図３２】図１のローカルストレージの仮想的な記憶領域を示す図である。
【図３３】図１のデコーダの詳細な構成を説明するためのブロック図である。
【図３４】図３３のテキスト字幕処理部の詳細な構成を説明するためのブロック図である。
【図３５】ダウンロード処理１について説明するためのフローチャートである。
【図３６】再生処理１について説明するためのフローチャートである。
【図３７】コンテンツ再生処理１について説明するためのフローチャートである。
【図３８】字幕表示処理１について説明するためのフローチャートである。
【図３９】字幕表示処理１について説明するためのフローチャートである。
【図４０】本開示を適用した第２の実施の形態における再生装置の構成を示すブロック図である。
【図４１】図４０のコントローラの機能について説明するための機能ブロック図である。
【図４２】図４０の光ディスクのファイルシステムの例を示す図である。
【図４３】追加して配布される対象となるデータについて説明するための図である。
【図４４】追加して配布される対象となるデータのアーカイブについて説明するための図である。
【図４５】SubPathの構成について説明するための図である。
【図４６】図４４のメタデータに含まれるoperation_typeに指定可能な値の一覧を示す図である。
【図４７】operation_typeの８ビットのフィールドに、0x02が記載されていたときのファイルの更新について説明するための図である。
【図４８】operation_typeの８ビットのフィールドに、0x02が記載されていたときのファイルの更新について説明するための図である。
【図４９】operation_typeの８ビットのフィールドに、0x03が記載されていたときのファイルの更新について説明するための図である。
【図５０】operation_typeの８ビットのフィールドに、0x03が記載されていたときのファイルの更新について説明するための図である。
【図５１】operation_typeの８ビットのフィールドに、0x04が記載されていたときのファイルの更新について説明するための図である。
【図５２】operation_typeの８ビットのフィールドに、0x04が記載されていたときのファイルの更新について説明するための図である。
【図５３】図４４のメタデータに含まれるpermissionに指定可能な値の一覧を示す図である。
【図５４】テキスト字幕ファイルの構文について説明するための図である。
【図５５】TLVエンコード方式による属性指定の場合の、subtitle_data（）のデータ構造について説明するための図である。
【図５６】data_typeに記載される属性種別を示すコードについて説明するための図である。
【図５７】タグ付き言語による属性指定の要素および属性種別について説明するための図である。
【図５８】テキスト字幕ストリームが格納されるコンテナファイルについて説明するための図である。
【図５９】テキスト字幕ストリームが格納されるBDAV MPEG-2トランスポートストリームの構成例について説明するための図である。
【図６０】ローカルストレージ２４に記憶されるデータのデータ構造を示す図である。
【図６１】第２の仮想ファイルシステムのデータ構造を示す図である。
【図６２】PlayListとMain PathおよびSub pathについて説明するための図である。
【図６３】図１の再生装置のデコーダの構成を示すブロック図である。
【図６４】EP_mapについて説明するための図である。
【図６５】図６３のテキスト字幕処理部の構成を示すブロック図である。
【図６６】ＳＴＣの参照について説明するための図である。
【図６７】ＳＴＣの参照について説明するための図である。
【図６８】ダウンロード処理２について説明するためのフローチャートである。
【図６９】再生処理２について説明するためのフローチャートである。
【図７０】仮想ファイルシステム生成処理について説明するためのフローチャートである。
【図７１】コンテンツ再生処理２について説明するためのフローチャートである。
【図７２】字幕表示処理２について説明するためのフローチャートである。
【図７３】字幕表示処理２について説明するためのフローチャートである。
【図７４】コンテンツ再生処理３について説明するためのフローチャートである。
【図７５】字幕表示処理３について説明するためのフローチャートである。
【図７６】字幕表示処理３について説明するためのフローチャートである。
【発明を実施するための形態】
【００２９】
以下、図を参照して、本開示の実施の形態について説明する。
【００３０】
図１は、本開示を適用した第１の実施の形態における再生装置１の構成例を示すブロック図である。
【００３１】
コントローラ２１は、予め用意されている制御プログラムを実行するか、または、光ディスクドライブ２２を制御して光ディスク１１に記録されているナビゲーションプログラム（後述）を読み出し、メモリ２３に展開して実行することで、再生装置１の全体の動作を制御する。例えば、コントローラ２１は、光ディスク１１が装着されたとき、所定のメニュー画面を外部の表示装置に表示させることができる。
【００３２】
光ディスクドライブ２２は、コントローラ２１による制御に従って光ディスク１１からデータを読み出し、読み出したデータを、コントローラ２１、メモリ２３、または、デコーダ２６に出力する。光ディスク１１から読み出された情報が、ナビゲーションプログラムやPlayListなどであった場合、光ディスクドライブ２２により読み出された情報は、コントローラ２１、または、メモリ２３に出力される。光ディスク１１から読み出された情報が、ＡＶストリームやテキストデータであった場合、光ディスクドライブ２２により読み出された情報は、デコーダ２６に出力される。
【００３３】
図２は、本開示を適用した再生装置１に装着される光ディスク１１のアプリケーションフォーマットの例を示す図である。記録媒体は、光ディスク１１の他、例えば、磁気ディスクや半導体メモリであってもよい。
【００３４】
アプリケーションフォーマットは、ＡＶ（Audio Visual)ストリームの管理のためにPlayListとClipの２つのレイヤをもつ。ここでは、１つのＡＶストリームまたはテキストデータとそれに付随する情報であるClip Informationのペアを１つのオブジェクトと考え、それらをまとめてClipと称する。以下、ＡＶストリームのデータファイルをＡＶストリームファイルと称する。また、Clip InformationのデータファイルをClip Informationファイルと称する。
【００３５】
一般的に、コンピュータ等で用いられるファイルはバイト列として扱われるが、ＡＶストリームファイルのコンテンツは時間軸上に展開され、Clipのアクセスポイントは、主に、タイムスタンプでPlayListにより指定される。
【００３６】
Clip中のアクセスポイントがタイムスタンプでPlayListにより示されている場合、Clip Informationファイルは、タイムスタンプから、ＡＶストリームファイル中のデコードを開始すべきアドレス情報を見つけるために用いられる。
【００３７】
PlayListはＡＶストリームの再生区間を示す情報の集合である。あるＡＶストリーム中の１つの再生区間を示す情報はPlayItemと呼ばれ、PlayItemは、時間軸上の再生区間のIN点（再生開始点）とOUT点（再生終了点）のペアで表される。したがって、PlayListは、図２に示されるように１つ、または複数のPlayItemにより構成される。
【００３８】
図２において、左から１番目に図示されている第１のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側に図示される第１のClipに含まれるＡＶストリームの前半部分と後半部分がそれぞれ参照されている。また、左から２番目に図示されている第２のPlayListは１つのPlayItemから構成され、それにより、右側に図示されている第２のClipに含まれるＡＶストリーム全体が参照されている。更に、左から３番目に図示されている第３のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側に図示されている第１のClipに含まれるＡＶストリームの所定の部分と、右側に図示されている第２のClipに含まれるＡＶストリームの所定の部分とがそれぞれ参照されている。
【００３９】
ナビゲーションプログラム（Navigation program）は、PlayListの再生の順序や、PlayListのインタラクティブな再生をコントロールする機能を、コントローラ２１に実行させるためのプログラムである。また、ナビゲーションプログラムは、各種の再生の実行をユーザが指示するためのメニュー画面を表示する機能なども有する。このナビゲーションプログラムは、例えば、Java（登録商標）などのプログラミング言語で記述され、光ディスク１１などの記録媒体に記録される。例えば、ナビゲーションプログラムがコントローラ２１により実行されて、そのときの再生位置を表す情報として、図２において左から１番目に図示される第１のPlayListに含まれる第１のPlayItemが指定された場合、そのPlayItemが参照する、左側に図示される第１のClipに含まれるＡＶストリームの前半部分の再生が行われる。
【００４０】
また、図２を用いて説明したPlayListには、PlayItemにより指定されるメインパス（Main Path）に加えて、図３に示されるようなサブプレイアイテム（Sub Play Item）を用いて指定されるサブパス（Sub path）の情報を含ませるようにすることもできる。SubPlayItemを定義すると、例えば、PlayItemにより指定されるClip（例えば、MPEG2トランスポートストリーム）に多重化されていない、独立したデータストリームをＡＶストリーム再生に同期して再生させることができる。
【００４１】
例えば、PlayItemにより指定されるメインパス（Main Path）のClip ＡＶストリームに対応させて、テキスト字幕ファイル、および、レンダリングに必要となるフォントファイルから構成される字幕関連情報と、字幕関連情報の再生区間を指定したSubPlayItemを用意することで、Clip ＡＶストリームの再生と同時に、テキスト字幕ファイルに記載されているデータに対応する字幕を、フォントファイルに記載されているフォントデータに基づいた表示フォントで、表示装置に表示させるようにすることができる。
【００４２】
テキスト字幕ファイルおよびレンダリングに必要となるフォントファイルから構成される字幕関連情報や、SubPlayItemは、予め光ディスク１１に記録されていても良いし、ネットワーク２を介して、サーバ３からダウンロードされるものであっても良いし、または、リムーバブルメディア（例えば、後述するリムーバブルメディア２８）を用いて取得することができるようにしても良い。字幕関連情報およびSubPlayItemをサーバ３からダウンロードする場合の詳細については、図４を用いて後述する。
【００４３】
再び、図１の説明に戻る。
【００４４】
メモリ２３は、コントローラ２１が各種の処理を実行する上において必要なデータなどを適宜記憶する。ローカルストレージ２４は、例えば、HDD(Hard Disk Drive)などより構成される。
【００４５】
インターネットインタフェース２５は、有線または無線によりネットワーク２に接続されており、コントローラ２１からの制御に従って、ネットワーク２を介して、サーバ３との間で通信を行い、サーバ３からダウンロードされたデータをローカルストレージ２４に供給する。サーバ３からは、例えば、そのとき再生装置１に装着されている光ディスク１１に記録されている、図２を用いて説明したデータをアップデートさせるデータがコンテンツとしてダウンロードされる。ローカルストレージ２４は、サーバ３からネットワーク２経由でダウンロードしたコンテンツを記録することができる。
【００４６】
デコーダ２６は、光ディスクドライブ２２、または、ローカルストレージ２４から供給されるＡＶストリーム、または、テキストデータをデコードし、得られたビデオ信号とオーディオ信号を外部の表示装置に出力する。表示装置においては、デコーダ２６によりデコードされた信号に基づいて、例えば、光ディスク１１に記録されているコンテンツの出力（映像の表示、音声の出力）が行われる。
【００４７】
操作入力部２９は、例えば、ボタン、キー、タッチパネル、ジョグダイヤル、マウスなどの入力デバイスや、所定のリモートコマンダから送信される赤外線などの信号を受信する受信部により構成され、ユーザの操作入力を取得し、コントローラ２１に供給する。
【００４８】
また、コントローラ２１には、必要に応じてドライブ２７も接続されており、ドライブ２７には、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory)，DVDを含む）、光磁気ディスク（ＭＤ（登録商標）（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２８が装着される。
【００４９】
次に、再生装置１に装着された光ディスク１１に記録されたデータ、および、ローカルストレージ２４に記憶されたデータを再生する方法について説明する。
【００５０】
再生装置１はHDD(Hard Disk Drive)などよりなるローカルストレージ２４を内部に備える。再生装置１は、有線または無線によりネットワーク２に接続されており、サーバ３からネットワーク２経由でダウンロードしたコンテンツを、このローカルストレージ２４に記録することができる。サーバ３からは、例えば、そのとき再生装置１に装着されている光ディスク１１に記録されている映画などのコンテンツをアップデートさせるデータをダウンロードすることができる。
【００５１】
ダウンロードされたコンテンツがローカルストレージ２４に記録されている状態で、操作入力部２９から、光ディスク１１に記録されているコンテンツの再生が指示されたとき、コントローラ２１は、光ディスク１１に記録されているコンテンツと、ローカルストレージ２４に記録されているコンテンツを関連付けて、コンテンツの再生処理を実行する。
【００５２】
ここで、光ディスク１１に記録されているコンテンツと、ローカルストレージ２４に記録されているコンテンツを関連付けて再生する方法について、図４を用いて説明する。
【００５３】
例えば、図２の光ディスク１１がパッケージ販売されているメディアであり、ある映画コンテンツが記録されているものとする。また、その映画コンテンツの映像に重畳して表示させることが可能な字幕データファイルとして、英語のテキスト字幕ファイルのみが光ディスク１１に記録されているものとする。
【００５４】
例えば、図４において、光ディスク１１に記録されている、PlayListのPlayItemが参照するClip1のＡＶストリームは、映画コンテンツの映像を表示させ、対応する音声を再生させるためのストリームであり、PlayListのSubPlayItemが参照するClip2の字幕関連情報１は、映像の表示に併せて英語の字幕を表示させるためのテキスト字幕ファイルである。
【００５５】
この状態で、英語とは異なる言語の字幕を表示させて、光ディスク１１に記録されている映画コンテンツを視聴したい場合、光ディスク１１には英語とは異なる言語の字幕データが記録されていないことから、ユーザは、このままでは英語とは異なる言語の字幕データを表示させて、映画を視聴することができない。
【００５６】
そこで、ユーザは、再生装置１に、光ディスク１１に記録されている映画の所望の言語のテキスト字幕ファイルをサーバ３からネットワーク２経由でダウンロードさせる（または、リムーバブルメディア２８を用いて取得させる）。光ディスク１１に予め記録されていない、例えば、アラビア語によるテキスト字幕ファイルのダウンロードが行われた（または、リムーバブルメディア２８からローカルストレージ２４にコピーされた）状態について説明する。
【００５７】
すなわち、ユーザが、光ディスク１１に予め記録されているPlayListに対応する、アラビア語によるテキスト字幕ファイルのダウンロードを指示した場合、再生装置１においては、サーバ３に対するアクセスが行われ、光ディスク１１に記録されているコンテンツをアップデートするものとして、そのサーバ３に用意されているファイルのダウンロードが行われる。
【００５８】
図４の例においては、アラビア語のテキスト字幕ファイル（字幕関連情報２）およびそれに付随するClip Informationファイルで構成されるClip３、光ディスク１１に予め記録されている、例えば、映画コンテンツの映像Clipおよび音声Clip（AVストリームデータ）と英語のテキスト字幕ファイルに加えて、対応するClip３の字幕データの再生表示を制御することができるPlayListファイル（Updated PlayListファイル）、光ディスク１１に記録されているものと比較してアップデートされた新規ナビゲーションプログラムファイルのダウンロードが行われ、それらがローカルストレージ２４に記録される。
【００５９】
なお、Updated PlayListには、メインパスを表すPlayItem以外に、サブパスを表すSubPlayItem１およびSubPlayItem2が付加されている。Updated PlayListのPlayItemは、光ディスク１１に記録されているＡＶ Streamを含むClip1を参照するものであり、SubPlayItem1は、光ディスク１１に記録されている字幕関連情報１を含むClip2を参照するものであり、SubPlayItem2は、Updated PlayListとともにサーバ３からダウンロードされた、アラビア語のテキスト字幕ファイルである字幕関連情報２を含むClip3を参照するものである。
【００６０】
図４の新規ナビゲーションプログラムは、再生区間としてUpdated PlayListのPlayItemとともに、SubPlayItem1またはSubPlayItem2を指定することができるものであり、これにより、例えば、所望の映像および音声データに対応付けて、光ディスク１１に予め記録されている英語によるテキスト字幕ファイルにより定義される英語字幕、または、光ディスク１１に予め記録されていない、アラビア語によるテキスト字幕ファイルにより定義されるアラビア語字幕のうち、ユーザの所望の言語の字幕を表示させることができる。
【００６１】
このように、サーバ３からのダウンロード（または、リムーバブルメディア２８からのコピー）が行われることにより、再生装置１は、英語のテキスト字幕ファイルであるClip2と、光ディスク１１に予め用意されていない、アラビア語のテキスト字幕ファイルであるClip3のいずれかを映画の字幕として再生表示することが可能となる。すなわち、ユーザは、表示装置に表示されるメニュー画面に記載される表示可能な字幕の言語から所望の言語を選択することで、英語とアラビア語のうちの所望する言語の字幕によって映画を視聴することができる。
【００６２】
なお、光ディスク１１に記録されるＡＶストリームは、図５に示すような、MPEG2（Moving Picture Experts Group 2）トランスポートストリームの構造を有する。MPEG2トランスポートストリームは、整数個のAligned unitから構成される。Aligned unitの大きさは、6144バイト(2048×3バイト)であり、ソースパケットの第１バイト目から始まる。ソースパケットは、192バイト長である。１つのソースパケットは、TP_extra_headerとトランスポートパケットから構成される。TP_extra_headerは、４バイト長であり、またトランスポートパケットは、188バイト長である。１つのAligned unitは、３２個のソースパケットから構成される。ビデオストリームやオーディオストリームのデータは、MPEG2 PES（Packetized Elementary Stream）パケットにパケット化されており、PESパケットは、トランスポートパケットにパケット化される。
【００６３】
図６は、図１のコントローラ２１の機能構成例を示すブロック図である。
【００６４】
図６の各構成は、予め用意されている制御プログラムがコントローラ２１により実行されることにより、または、光ディスク１１に記録されているナビゲーションプログラムがコントローラ２１により実行されることにより実現される。
【００６５】
メニュー画面表示制御部３１は、光ディスク１１に記録されているコンテンツの音声、または字幕の言語や、映像のアングルを選択するときにユーザにより操作されるボタンや、ダウンロードするアップデートファイルを選択するときにユーザにより操作されるボタンなどを含むメニュー画面を外部の表示装置に表示させる。
【００６６】
操作入力取得部３２は、操作入力部２９から入力された、ユーザからの操作入力を示す信号を取得し、ユーザからの操作入力を示す信号を、メニュー画面表示制御部３１、データ取得部３３、または、再生制御部３７のうちの対応する箇所に出力する。
【００６７】
データ取得部３３は、図１のインターネットインタフェース２５において行われる通信、または、ドライブ２７によるリムーバブルメディア２８との情報の授受を制御する。例えば、データ取得部３３は、ユーザが指示したアップデートファイルをサーバ３からダウンロードして取得し、取得したファイルをローカルストレージディレクトリ管理部３４に出力する。
【００６８】
ローカルストレージディレクトリ管理部３４は、ローカルストレージ２４のディレクトリを管理し、ローカルストレージ２４に対するデータの書き込み、および、ローカルストレージ２４からのデータの読み出しを制御する。例えば、ローカルストレージディレクトリ管理部３４の制御によりローカルストレージ２４から読み出されたPlayListは、メモリ２３に出力され、ローカルストレージ２４から読み出されたＡＶストリームの音声データおよび映像データやテキスト字幕ファイルのテキストデータは、デコーダ２６に出力される。また、ローカルストレージディレクトリ管理部３４は、後述するように、光ディスク１１のファイルシステムと、ローカルストレージ２４のファイルシステムとのマージがファイルシステムマージ処理部３６により行われる場合、ローカルストレージ２４のファイルシステムに関する情報をファイルシステムマージ処理部３６に出力する。
【００６９】
光ディスクディレクトリ管理部３５は、光ディスク１１のディレクトリを管理し、光ディスク１１からの各データの読み出しを制御する。光ディスク１１には識別情報であるStudio_idとContent_idが設定されており、光ディスクディレクトリ管理部３５の制御により、光ディスク１１から読み出されたStudio_idとContent_idは、データ取得部３３とローカルストレージディレクトリ管理部３４に出力される。また、光ディスクディレクトリ管理部３５の制御により、光ディスク１１から読み出されたPlayListは、メモリ２３に出力され、光ディスク１１から読み出されたＡＶストリームの音声データおよび映像データやテキスト字幕ファイルのテキストデータは、デコーダ２６に出力される。また、光ディスクディレクトリ管理部３５は、後述するように、光ディスク１１のファイルシステムと、ローカルストレージ２４のファイルシステムとのマージがファイルシステムマージ処理部３６により行われる場合、光ディスク１１のファイルシステムに関する情報をファイルシステムマージ処理部３６に出力する。
【００７０】
ファイルシステムマージ処理部３６は、光ディスクディレクトリ管理部３５から供給される光ディスク１１のファイルシステムと、ローカルストレージディレクトリ管理部３４から供給されるローカルストレージ２４のファイルシステムをマージし、１つの仮想的なファイルシステムを生成する。ファイルシステムマージ処理部３６は、マージすることで生成した仮想的なファイルシステムを再生制御部３７に出力する。以下、適宜、第１の実施の形態においてファイルシステムマージ処理部３６によりマージされることで生成される１つのファイルシステムを第１の仮想ファイルシステムと称する。
【００７１】
再生制御部３７は、ファイルシステムマージ処理部３６から供給される第１の仮想ファイルシステムで指定されるナビゲーションプログラムを実行し、コンテンツの再生を制御する。具体的には、再生制御部３７はメモリ２３に供給され、記憶されたPlayListを参照し、ローカルストレージディレクトリ管理部３４または光ディスクディレクトリ管理部３５を制御して、光ディスク１１またはローカルストレージ２４に記録されているＡＶストリームの音声データ、映像データ、および、必要に応じてテキスト字幕ファイルのテキストデータを読み出させ、図１のデコーダ２６を制御して、光ディスク１１またはローカルストレージ２４に記録されているＡＶストリームの音声データ、映像データ、および、必要に応じてテキスト字幕ファイルのテキストデータのデコード（再生）を行わせる。
【００７２】
ここで、ファイルシステムマージ処理部３６により行われる、光ディスク１１のファイルシステムと、サーバ３からダウンロードするなどによりローカルストレージ２４に記録されたファイルシステムのマージについて説明する。例えば、このマージは光ディスク１１に記録されているコンテンツの再生が指示されたときに行われる。
【００７３】
図７は、光ディスク１１のファイルシステム（左側）と、ローカルストレージ２４のファイルシステム（右側）の例を示す図である。図に示されるように、各ファイルシステムはディレクトリ構造を有している。
【００７４】
光ディスク１１の「root」の下には「BDMV」の名前が設定されたフォルダが用意され、そのフォルダに、「info.bdmv」の名前が設定されたファイルと、「Navigation.class」の名前が設定されたファイルが格納されている。以下、これらのファイルを、適宜、info.bdmvファイル、Navigation.classファイルとそれぞれ称する。他のファイル、フォルダについても同様に、「ファイル名」に「ファイル」を付加した形で、または、「フォルダ名」に「フォルダ」を付加した形で称する。
【００７５】
info.bdmvファイルには、光ディスク１１の製作者の識別情報であるStudio_id、コンテンツの識別情報であるContent_idが記述されている。
【００７６】
すなわち、Studio_idとContent_idにより、流通するコンテンツ全体の中から光ディスク１１に記録されているコンテンツが識別される。図７の例においては、Studio_idは「xxx」であり、Content_idは「yyy」である。なお、Studio_idとContent_idは、ダウンロードするアップデートファイルを識別するためにも利用される。
【００７７】
Navigation.classファイルは、所定のプログラム言語で記述されたナビゲーションプログラムである。
【００７８】
BDMVフォルダにはまた、「PLAYLIST」の名前が設定されたフォルダ（PLAYLISTフォルダ）、「CLIPINF」の名前が設定されたフォルダ（CLIPINFフォルダ）、「STREAM」の名前が設定されたフォルダ（STREAMフォルダ）が格納されている。
【００７９】
図７においては、PLAYLISTフォルダには、「11111.mpls」の名前が設定されたファイルと「22222.mpls」の名前が設定されたファイルが格納されている。これらのファイルは、ＡＶストリームファイルなどの再生区間をタイムスタンプで表すPlayListである。
【００８０】
CLIPINFフォルダには、「01000.clpi」の名前が設定されたファイルと「02000.clpi」の名前が設定されたファイルなどが格納されている。これらのファイルは、タイムスタンプと、ＡＶストリームファイルまたは字幕関連情報１(図４)のアドレス情報の対応を表すClip Informationである。
【００８１】
STREAMフォルダには、「01000.m2ts」の名前が設定されたファイルと「02000.m2ts」の名前が設定されたファイルなどが格納されている。これらのファイルは、図４のＡＶ streamや字幕関連情報１などである。
【００８２】
一方、ローカルストレージ２４の「root」の下には「xxx-yyy」の名前が設定されたフォルダが格納されている。フォルダ名の「xxx-yyy」は、このフォルダに格納されているデータが、光ディスク１１に記録されている、Studio_id「xxx」、Content_id「yyy」で識別されるコンテンツに対応するデータであることを表す。後述するように、xxx-yyyフォルダは、Studio_id「xxx」、Content_id「yyy」を有する光ディスク１１が再生装置１に装着され、アップデートファイル（xxx-yyyフォルダに格納される各ファイル）のダウンロードが行われたときに作成されるものである。
【００８３】
xxx-yyyフォルダには、info.bdmvファイル、Navigation.classファイルが格納されている。このinfo.bdmvファイルは光ディスク１１のinfo.bdmvファイルと同じであり、Navigation.classファイルは、光ディスク１１のNavigation.classファイルをアップデートさせたファイルである。すなわち、ローカルストレージ２４のNavigation.classファイルは、光ディスク１１に記録されているものと較べて、バージョンアップされたナビゲーションプログラムを記述するファイルである。
【００８４】
xxx-yyyフォルダには、更に、PLAYLISTフォルダ、CLIPINFフォルダ、STREAMフォルダが格納されている。
【００８５】
図７においては、ローカルストレージ２４のPLAYLISTフォルダに「11111.mpls」の名前が設定されたファイルと「22222.mpls」の名前が設定されたファイルが格納されており、このうちの「22222.mpls」の名前が設定されたファイルは、光ディスク１１の同じ名前が設定されているファイルをアップデートしたファイルとされている。例えば、ローカルストレージ２４の「22222.mpls」の名前が設定されたファイルは、ダウンロードされたUpdate PlayList（図４）を表し、このファイルに、PlayListにSubPlayItemが付加されたデータが記述される。
【００８６】
ローカルストレージ２４のCLIPINFフォルダには、光ディスク１１にも記録されている、「01000.clpi」の名前が設定されたファイルと「02000.clpi」の名前が設定されたファイルの他に、「04000.clpi」の名前が設定されたファイルが格納されている。すなわち、「04000.clpi」の名前が設定されたファイルは、ダウンロードにより新たに取得されたファイルであり、例えば、図４のClip3のClip Informationである。
【００８７】
ローカルストレージ２４のSTREAMフォルダには、「04000.m2ts」の名前が設定されたファイルが格納されている。このファイルは、ダウンロードにより新たに取得されたファイルであり、例えば、図４のClip3の字幕関連情報２である。
【００８８】
なお、同様に、図７の例においては、ローカルストレージ２４の「root」の下には「xxx-aaa」の名前が設定されたフォルダと、「yyy-bbb」の名前が設定されたフォルダが格納されている。これらは、Studio_id「xxx」、Content_id「aaa」で識別される光ディスク、Studio_id「yyy」、Content_id「bbb」で識別される光ディスクが再生装置１に装着されたときにそれぞれ作成されたものであり、それぞれのコンテンツに対応するファイルが格納されている。
【００８９】
このような光ディスク１１のファイルシステムとローカルストレージ２４のファイルシステムがある場合、コントローラ２１のファイルシステムマージ処理部３６は、光ディスク１１のファイルシステムと、ローカルストレージ２４のファイルシステムをメモリ２３上でマージし、第１の仮想ファイルシステムを生成する。
【００９０】
具体的には、ファイルシステムマージ処理部３６は、同じ名前のファイルが光ディスク１１とローカルストレージ２４の両方にある場合、それぞれのファイルに記述されるタイムスタンプ（作成日時）やバージョンに基づいて、ダウンロードにより取得されたファイルがコンテンツの再生時に参照するファイルとされるようにマージを行う。また、ファイルシステムマージ処理部３６は、光ディスク１１にはなく、ローカルストレージ２４にのみあるファイルがコンテンツの再生時に参照するファイルとされるようにマージを行う。
【００９１】
図８は、図７の２つのファイルシステムから得られる第１の仮想ファイルシステムの例を示す図である。
【００９２】
図８においては、光ディスク１１に記録されているファイルのうち、Navigation.classファイルと「22222.mpls」の名前が設定されたファイルが、ダウンロードされたファイルによりアップデートされている（置き換えられている）。また、光ディスク１１には記録されていない、「04000.clpi」の名前が設定されたファイルと、「04000.m2ts」の名前が設定されたファイルが追加されている。
【００９３】
すなわち、ダウンロードされたファイルに、アップデートされたナビゲーションプログラムやPlayListがある場合、そのファイルによって、光ディスク１１の同じ名前のファイルがアップデートされる（置き換えられる）。また、光ディスク１１にはないClipのファイル（Clip Informationファイル、ＡＶストリームファイル）がダウンロードされた場合、それがファイルシステムに追加される。
【００９４】
このようにして生成された第１の仮想ファイルシステムを通して、ナビゲーションプログラムに基づくＡＶストリームへのアクセスが行われる（直接、光ディスク１１やローカルストレージ２４にアクセスが行われるのではない）。
【００９５】
したがって、新たにダウンロードまたはコピーされた新規ナビゲーションプログラムの処理により、光ディスク１１に予め記憶されているデータと、新たにダウンロードまたはコピーされてローカルストレージ２４に記憶されたデータとは区別されることなく処理される。図９に示されるように、所定の区間のＡＶストリームに対応させて字幕を表示させるための字幕関連情報が、複数の言語の字幕に対応するテキスト字幕ファイルを構成するテキストサブタイトルデータと、フォントファイルを構成するフォントデータにより構成されている場合、ユーザの操作入力に基づいて、光ディスク１１に予め記憶されている字幕関連情報と、新たにダウンロードまたはコピーされてローカルストレージ２４に記憶された字幕関連情報とにより表示可能とされる複数の言語による字幕のうち、ユーザが所望する言語の字幕データが、光ディスク１１に予め記憶されているＡＶストリームに対応付けられて、処理されて表示される。
【００９６】
一方、光ディスクの販売者側（販売者、製作者）は、例えば、アラビア語の字幕情報は後からネットワーク２を介して提供するものとし、英語字幕のみを表示可能な状態で、映画が記録された光ディスク１１を販売することができる。すなわち、光ディスクの販売者側は、一度に多言語を翻訳することなく、より早いタイミングでディスクを販売し、必要に応じて、他の言語に対応する字幕関連情報を追加して提供することが可能になる。また、主な言語に対応する地域に光ディスクを先行販売し、他の言語の翻訳処理の終了後、光ディスクの販売地域を後から追加するとともに、対応する言語のテキスト字幕ファイルのダウンロードサービスを開始するようにすることなども可能になる。
【００９７】
光ディスクの販売者側（販売者、製作者）は、光ディスク１１に予め記憶されているＡＶストリームに対応付けて字幕データを表示可能とするために、少なくとも、アップデートされた新規のプレイリストファイルと、テキスト字幕ファイルを配布する必要があり、これに加えて、テキスト字幕ファイルに記載されているテキストデータに対応する字幕の表示形式を定義するためのフォントファイルを配布するようにしても良い。なお、基本的なフォントデータに関しては、再生装置１のメモリ２３などに予め記憶されているものとする。
【００９８】
追加して配布される対象となるデータ（すなわち、図４を用いて説明したローカルストレージ２４に記憶されるデータに対応する）のアーカイブを図１０に示す。
【００９９】
追加して配布するデータには、プレイリストファイル（PlayList_file）、テキストサブタイトルファイルの番号を示す８ビットの番号情報（number_of_TextSubTitle）、および、上述したテキスト字幕ファイルに対応するテキストサブタイトルファイル（text_subtitle_file）が含まれ、更に、フォントファイル（font_file）が含まれる場合がある。
【０１００】
図１１は、SubPlayItemのシンタックスを示す図である。
【０１０１】
ref_to_STC_idの８ビットのフィールドは、Clipが参照するＳＴＣシーケンスの識別子を指定する。SubPlayItem_IN_timeは、SubPlayItemの再生開始時刻を指定する。SubPlayItem_OUT_timeは、SubPlayItemの再生終了時刻を指定する。すなわち、SubPlayItem_IN_timeおよびSubPlayItem_OUT_timeで、SubPlayItemの再生区間を指定することができる。なお、SubPlayItem_IN_timeおよびSubPlayItem_OUT_timeに記載される時刻情報は、ＳＴＣで使用されている45kHzのクロックをベースに表現される。
【０１０２】
number_of_ClipTextSubtitleの８ビットのフィールドは、SubPlayItem中で定義する字幕のテキストの総数を指定する。language_idの８ビットのフィールドは、字幕として使用する言語の識別子を指定する。language_idフィールドのデータは、ISO/IEC 639-1規格に従うものとする。character_code_idの８ビットのフィールドは、文字データの符号化方式の識別子を指定する。font_format_idの８ビットのフィールドは、フォントフォーマットの識別子を指定する。
【０１０３】
font_file_path_lengthの１６ビットのフィールドは、font_file_pathに記載されるフォントファイルのパス名称のバイト数を指定する。このフィールドには、font_file_pathのバイト数として、０を指定することができる。０が指定された場合は、再生装置１に予め保存されている内蔵フォントが指定されたものとして処理される。font_file_pathは、字幕データを描画するために使用するフォントファイルのパス名称を指定する。font_file_pathのフィールドに、空文字列が指定された場合、再生装置１に予め保存されている内蔵フォントが指定されたものとして処理される。font_file_path本フィールド値は、ISO/IEC 646方式で符号化されるものとする。
【０１０４】
subtitle_file_path_lengthの１６ビットのフィールドは、subtitle_file_pathに記載されるテキスト字幕ファイルのパス名称のバイト数を指定する。subtitle_file_pathは、テキスト字幕ファイルのパス名称を指定する。subtitle_file_pathフィールド値は、ISO/IEC 646方式で符号化されるものとする。
【０１０５】
comment_lengthの１６ビットのフィールドは、commentに記述される情報のバイト数を指定する。Commentには、テキスト字幕に関するコメントが記述される。なお、Commentに記載されるコメントは、文字集合ISO/IEC 646を使用して記述するものとされている。
【０１０６】
テキスト字幕ファイルは、図１２に示される構文に従って記載される。
【０１０７】
versionは、テキスト字幕ファイルのバージョンを指定する１６ビットの情報である。markup_typeは、マークアップの形式を指定する８ビットの情報である。subtitle_countは、字幕データの総数を指定する３２ビットの情報である。（subtitle_countは、改行コードの総数ではない。）start_PTSは、字幕の表示開始時刻をClip ＡＶストリームのＰＴＳで指定する３３ビットの情報である。end_PTSは、字幕の表示終了時刻をClip ＡＶストリームのＰＴＳで指定する３３ビットの情報である。subtitle_data_lengthは、subtitle_dataのバイト数(字幕の文字数ではない)を指定する３２ビットの情報である。subtitle_dataは、字幕データを指定する情報である。
【０１０８】
字幕データは、字幕を構成する文字そのものを示す「文字オブジェクト」と「属性データ（アトリビュート）」から構成される。属性データの設定方法について記述する。
【０１０９】
字幕データの属性データには、制御文字による属性設定と、マークアップによるインライン属性設定の２つの属性設定方法がある。
【０１１０】
まず、図１３および図１４を用いて、制御文字による属性設定について説明する。
【０１１１】
図１３に示される「Tab」という文字は空白文字として取り扱われる。「Tab」以外にも、空白文字として取り扱うことができる文字を複数設定することが可能であることはいうまでもない。
【０１１２】
また、図１４に示される文字は全て改行文字として取り扱われる。すなわち、「CR」は、復帰を示す記号であるが改行文字として取り扱われ、「LF」は、改行文字として取り扱われ、「CR＋LF」は、復帰と改行を示す記号であるが改行文字として取り扱われ、「NEL」は、改行文字として取り扱われ、「VT」は、垂直タブを示す記号であるが改行文字として取り扱われ、「FF」は、改ページを示す記号であるが改行文字として取り扱われ、「LS」は、行区切りを示す記号であるが改行文字として取り扱われ、「PS」は、段落区切りを示す記号であるが改行文字として取り扱われる。
【０１１３】
次に、マークアップによるインライン属性設定について説明する。
【０１１４】
指定可能な属性に対してそれぞれマークアップが定義される。マークアップの形式は、TLV（Type-Length-Value)エンコード形式でマークアップする場合と、タグ付き言語の要素および属性によりマークアップする場合との２通りがあり、図１５に示されるように、マークアップ形式識別子が0x00であるとき、マークアップの形式は、TLVエンコード形式であると定義され、マークアップ形式識別子が0x01であるとき、マークアップの形式は、タグ付き言語であると定義される。いずれの形式においても、マークアップのスコープは、開始マーカー以降の文字全てであり、テキストデータをデコードするデコーダの一方向走査を可能にするために、終了マーカーは定義されない。したがって、属性を局所的に指定したい場合には、直前の属性を明示的に再指定する必要がある。
【０１１５】
まず、TLVエンコード方式による属性指定が行われる場合について説明する。TLVエンコード方式による属性指定の場合、字幕データの文字符号化方式は、図１１を用いて説明した、SubPlayItem中のcharacter_code_idの指定に従うものとする。
【０１１６】
図１６を用いて、TLVエンコード方式による属性指定の場合の、subtitle_data（）のデータ構造について説明する。
【０１１７】
escape_codeの８ビットのフィールドは、図１７に示されるように、後に属性が記述されていることを示すエスケープコード0x1Bを指定する。attribute_typeの８ビットのフィールドは、属性種別を指定する。attribute_typeに記載されるコードについては、図１８を用いて後述する。attribute_value_lengthの１６ビットのフィールドは、後に続く属性データのバイト数を指定する。attribute_valueは、属性データを指定する。char_dataは、文字オブジェクトのバイトシーケンスを指定する。
【０１１８】
次に、図１８を用いて、attribute_typeに記載される属性種別を示すコードについて説明する。
【０１１９】
subtitle_data（）のattribute_typeの８ビットのフィールドに0x01が記載されていたとき、記載されている属性の種別は、インデックスデータと代表色データとの変換テーブルであるCLUT（Color Look Up Table）の設定である。CLUTは、図３３を用いて後述する字幕グラフィックスプレーン処理部に記憶される変換テーブルである。subtitle_data（）のattribute_typeの８ビットのフィールドに0x02が記載されていたとき、記載されている属性の種別は、リージョン原点の指定である。subtitle_data（）のattribute_typeの８ビットのフィールドに0x03が記載されていたとき、記載されている属性の種別は、行間(Line Space)の指定である。subtitle_data（）のattribute_typeの８ビットのフィールドに0x04が記載されていたとき、記載されている属性の種別は、レンダリング方向の指定である。subtitle_data（）のattribute_typeの８ビットのフィールドに0x05が記載されていたとき、記載されている属性の種別は、フォント色の指定である。subtitle_data（）のattribute_typeの８ビットのフィールドに0x06が記載されていたとき、記載されている属性の種別は、背景色の指定である。subtitle_data（）のattribute_typeの８ビットのフィールドに0x07が記載されていたとき、記載されている属性の種別は、フォントスタイルの指定である。subtitle_data（）のattribute_typeの８ビットのフィールドに0x08が記載されていたとき、記載されている属性の種別は、フォントサイズの指定である。
【０１２０】
subtitle_data（）のattribute_typeの８ビットのフィールドに0x09が記載されていたとき、記載されている属性の種別は、フォント回転角の指定である。subtitle_data（）のattribute_typeの８ビットのフィールドに0x0Aが記載されていたとき、記載されている属性の種別は、ブックマークの開始位置である。subtitle_data（）のattribute_typeの８ビットのフィールドに0x0Bが記載されていたとき、記載されている属性の種別は、ブックマークの終了位置である。subtitle_data（）のattribute_typeの８ビットのフィールドに0x0Cが記載されていたとき、記載されている属性の種別は、ブックマークの付与された文字オブジェクトシーケンスの繰り返しの指定である。
【０１２１】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別がCLUT設定であるとき、attribute_valueにおいて、図３３を用いて後述する字幕グラフィックスプレーン処理部におけるCLUTのインデックスが設定される。図１９に、subtitle_data（）のattribute_typeにおいて、記載されている属性種別がCLUT設定であるときの、attribute_valueのデータ構造を示す。
【０１２２】
CLUT_sizeの８ビットのフィールドには、CLUTのサイズが記載されている。Yは、輝度データを設定する８ビットの情報であり、Cb，Crは、それぞれ、色差データを設定する８ビットの情報であり、Tは、透明度を設定する８ビットの情報である。
【０１２３】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別がリージョン原点指定であるとき、attribute_valueにおいて、リージョンの原点座標（x, y）が指定される。図２０に、subtitle_data（）のattribute_typeにおいて、記載されている属性種別がリージョン原点指定であるときのattribute_valueのデータ構造を示す。
【０１２４】
x_coordonateは、リージョンの原点のｘ座標を示す１６ビットの情報である。y_coordonateは、リージョンの原点のy座標を示す１６ビットの情報である。
【０１２５】
また、subtitle_data（）のattribute_typeにおいて、記載されている属性種別が行間(Line Space)指定であるとき、attribute_valueにおいて、行間がピクセル単位で指定される。なお、行間(Line Space)指定のデフォルトは、「フォントの高さ」であるものとしてもよい。
【０１２６】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別がレンダリング方向指定であるとき、attribute_valueには、文字オブジェクトを描画するときのレンダリング方向を指定するためのレンダリング方向指定を示すコードが記載される。図２１にレンダリング方向指定を示すコードの例を示す。
【０１２７】
すなわち、subtitle_data（）のattribute_typeにおいて、記載されている属性種別がレンダリング方向指定である場合、attribute_valueに、0x00が記載されているとき、文字オブジェクトを描画するときのレンダリング方向は、左から右に指定され、attribute_valueに、0x01が記載されているとき、文字オブジェクトを描画するときのレンダリング方向は、右から左に指定され、attribute_valueに、0x02が記載されているとき、文字オブジェクトを描画するときのレンダリング方向は、上から下に指定される。
【０１２８】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別がフォント色の指定であるとき、attribute_valueには、図３３を用いて後述する字幕グラフィックスプレーン処理部におけるCLUTに対する色指定のインデックスが指定される。フォント色を設定するためのattribute_valueの値のデフォルトは、「０」であるものとしてもよい。
【０１２９】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別が背景色の指定であるとき、attribute_valueには、図３３を用いて後述する字幕グラフィックスプレーン処理部におけるCLUTに対する背景色のインデックスが指定される。ただし、指定された背景色で塗りつぶされる表示画面内の領域は、リージョン単位であり、背景色のデフォルトは、無指定（透過）であるものとしてもよい。
【０１３０】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別がフォントスタイルの指定であるとき、attribute_valueには、図２２に示されるコードのうちのいずれかが記載されて、フォントのスタイルが指定される。すなわち、attribute_valueに、0x00が記載されているとき、フォントスタイルは標準に指定され、attribute_valueに、0x01が記載されているとき、フォントスタイルは太字に指定され、attribute_valueに、0x02が記載されているとき、フォントスタイルは斜体に指定される。なお、フォントのスタイルのデフォルトは、「標準」とするようにしてもよい。
【０１３１】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別がフォントサイズの指定であるとき、attribute_valueには、フォントサイズを示す８以上７２以下の値が指定される。なお、フォントサイズを指定する値のデフォルトは、「３２」とするようにしてもよい。
【０１３２】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別がフォント回転角の指定であるとき、attribute_valueには、フォント回転角に対応する０以上３６０以下の値が指定される。なお、回転方向は、例えば、反時計回りが正方向され、デフォルトは、「０」とするようにしてもよい。
【０１３３】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別がブックマーク開始位置指定であるとき、attribute_valueには、ブックマーク開始位置が指定される。ブックマークとは、複数回同じ文字が同じ形式で表示される場合にレンダリング処理を省略することができるように、テキスト字幕ファイルの供給元が予め付与する情報である。図２３に、subtitle_data（）のattribute_typeにおいて、記載されている属性種別がブックマーク開始位置指定であるときのattribute_valueのデータ構造を示す。
【０１３４】
bookmark_idの８ビットのフィールドには、ブックマークを固有に区別可能なＩＤが記載される。なお、ここでは、ブックマークは、最大256個まで指定できる。start_of_bookmark_indicatorの８ビットのフィールドには、ブックマークの開始位置が指定される。
【０１３５】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別がブックマーク終了位置指定であるとき、attribute_valueには、ブックマーク終了位置が指定される。図２４に、subtitle_data（）のattribute_typeにおいて、記載されている属性種別がブックマーク終了位置指定であるときのattribute_valueのデータ構造を示す。
【０１３６】
bookmark_idの８ビットのフィールドには、ブックマークを固有に区別可能なＩＤが記載される。end_of_bookmark_indicatorの８ビットのフィールドには、ブックマークの終了位置が指定される。
【０１３７】
subtitle_data（）のattribute_typeにおいて、記載されている属性種別が文字オブジェクトシーケンス繰り返し指定であるとき、attribute_valueには、ブックマークの付与された文字オブジェクトのシーケンスの繰り返し回数が指定される。図２５に、subtitle_data（）のattribute_typeにおいて、記載されている属性種別が文字オブジェクトシーケンス繰り返し指定であるときのattribute_valueのデータ構造を示す。
【０１３８】
bookmark_idの８ビットのフィールドには、ブックマークを固有に区別可能なＩＤが記載される。Countの８ビットのフィールドには、ブックマークの繰り返し回数が指定される。
【０１３９】
次に、タグ付き言語による属性指定の場合について説明する。タグ付き言語による属性指定の場合、字幕データの文字符号化方式は、SubPlayItem中のcharacter_code_idの指定を無視して、ISO/IEC 646 エンコードであるものとする。
【０１４０】
図２６を用いて、タグ付き言語による属性指定の場合の、subtitle_data（）のデータ構造について説明する。
【０１４１】
TaggedAttrは、属性データのタグ付き言語表現を指定する。TaggedAttrは、図２７に示されるような、所定の形式に従う。char_dataは、文字オブジェクトのバイトシーケンスを指定する。ただし、バイトシーケンスは、BASE64エンコーディング方式によりISO/IEC 646エンコードするものとする。その際、「<」および「>」は、「0x1B」によりエスケープする。
【０１４２】
次に、図２８を参照して、タグ付き言語による属性指定の要素および属性種別について説明する。
【０１４３】
CLUT設定は、<CLUT size= y= cb= cr= t= >と記載され、属性「size」にCLUTのサイズが指定され、属性「y」、「cb」、「cr」および「t」には、図３３を用いて後述する字幕グラフィックスプレーン処理部におけるCLUTのインデックス列が指定される。
【０１４４】
リージョン原点指定は、<region ｘ= y=>と記載され、属性「ｘ」および「y」に、リージョンの原点座標（x, y）が指定される。
【０１４５】
行間(Line Space)指定は、<linespace d=>と記載され、属性「d」に、行間がピクセル単位で指定される。なお、行間のデフォルトは、「フォントの高さ」とするようにしてもよい。
【０１４６】
レンダリング方向指定は、<textflow d=>と記載され、属性「d」に、文字オブジェクトを描画するときの方向が指定される。なお、レンダリング方向のデフォルトは、「左から右へ」とするようにしてもよい。
【０１４７】
フォント色指定は、<fontcolor c=>と記載され、属性「c」に、図３３を用いて後述する字幕グラフィックスプレーン処理部におけるCLUTに対するインデックスが指定される。なお、フォント色に対応するインデックスのデフォルトは、「０」とするようにしてもよい。
【０１４８】
背景色指定は、<backgroundcolor c=>と記載され、属性「c」に、図３３を用いて後述する字幕グラフィックスプレーン処理部におけるCLUTに対するインデックスが指定される。ただし、背景色で塗りつぶされる領域は、リージョン単位であり、背景色のデフォルトは、無指定（透過）とするようにしてもよい。
【０１４９】
フォントスタイル指定は、<fontstyle s=>と記載され、属性「s」に、太字、斜体、標準などのフォントのスタイルが指定される。なお、フォントのスタイルのデフォルトは、「標準」とするようにしてもよい。
【０１５０】
フォントサイズ指定は、<fontsize s=>と記載され、属性「s」に、フォントサイズに対応する８以上７２以下の値が指定される。なお、フォントサイズを指定する値のデフォルトは、「３２」とするようにしてもよい。
【０１５１】
フォント回転角指定は、<fontrotate a=>と記載され、属性「a」に、フォントの回転角に対応する０以上３６０以下の値が指定される。なお、回転方向は、反時計回りが正方向とされ、フォントの回転角に対応する値のデフォルトは、「０」とするようにしてもよい。
【０１５２】
ブックマーク指定は、<mark id=>と記載され、属性「id」に、ブックマークを個別に区別可能な０以上255以下の値が指定される。これにより、本要素のスコープ内の字幕データに対してブックマークが付与されたことになる。ブックマークは、最大256個まで指定することができる。
【０１５３】
文字オブジェクトシーケンス繰り返し指定は、<repeat id= c=>と記載され、属性「id」に、ブックマークを個別に区別可能な０以上255以下の値が、属性「c」には繰り返し回数が指定される。これにより、属性「id」により設定された属性値に対応するブックマークが付与された字幕データが、属性「c」に設定された回数繰り返される。
【０１５４】
上述したような方法で属性が指定されたテキスト字幕ファイルのテキストデータは、それぞれの属性の設定に基づいて、例えば、図２９に示されるように、レンダリング方向が左から右へ指定され、設定された改行位置において下方向に改行されて表示されたり、図３０に示されるように、レンダリング方向が右から左へ指定され、設定された改行位置において下方向に改行されて表示されたり、図３１に示されるように、レンダリング方向が上から下へ指定され、設定された改行位置において左方向に改行されて表示される。
【０１５５】
また、例えば、表示される字幕に対して、フェードインまたはフェードアウトを指定するときには、図３３を用いて後述する字幕グラフィックスプレーン処理部におけるCLUTのT値を変更して、文字の透明度を変化させつつ、文字オブジェクトシーケンスを繰り返し指定するようにすればよい。
【０１５６】
次に、図３２は、ローカルストレージ２４の仮想的な記憶領域を示す図である。
【０１５７】
ローカルストレージ２４には、図４を用いて説明したように、ダウンロードまたはコピーされた各種情報が図７を用いて説明したファイル形式で記憶される。これらのファイルを記憶するために、ローカルストレージ２４には、仮想的な記憶領域として、ダウンロードされたナビゲーションプログラムが記憶される領域であるナビゲーションプログラム記憶部５１、ダウンロードされたプレイリストが記憶される領域であるプレイリスト記憶部５２、ダウンロードされたテキストサブタイトルファイルが記憶される領域であるテキストサブタイトルファイル記憶部５３、ダウンロードされたフォントファイルが記憶される領域であるフォントファイル記憶部５４が設けられているものとすることができる。ナビゲーションプログラム記憶部５１およびプレイリスト記憶部５２に記憶されたデータファイルは、図６を用いて説明したローカルストレージディレクトリ管理部３４の制御に基づいて読み出されてメモリ２３に供給され、テキストサブタイトルファイル記憶部５３およびフォントファイル記憶部５４、に記憶されたデータファイルは、図６を用いて説明したローカルストレージディレクトリ管理部３４の制御に基づいて読み出されてデコーダ２６に供給される。
【０１５８】
なお、図３２に図示されたローカルストレージ２４のナビゲーションプログラム記憶部５１、プレイリスト記憶部５２、テキストサブタイトルファイル記憶部５３、および、フォントファイル記憶部５４のそれぞれの記憶領域は仮想的なものであるから、ローカルストレージ２４の記憶領域は、図３２に図示されているように記憶される情報の種類により物理的に分割されていなくても良いことはいうまでもない。
【０１５９】
コントローラ２１の制御に基づいて、光ディスク１１、または、ローカルストレージ２４から読み出されたデータは、図示せぬ復調およびＥＣＣ復号部により復調され、誤り訂正が施され、デコーダ２６に供給される。図３３は、デコーダ２６の詳細な構成を説明するためのブロック図である。
【０１６０】
デコーダ２６には、制御部８１、ディスクデータ取得部８２、バッファ８３および８４、PID（パケットＩＤ）フィルタ８５、オーディオデコーダ８６、ＭＰＥＧ（Moving Picture Experts Group）ビデオデコーダ８７、ビデオプレーン処理部８８、ＧＵＩ（Graphic User Interface）データデコーダ８９、ＧＵＩグラフィックスプレーン処理部９０、ストレージデータ取得部９１、テキスト字幕処理部９２、字幕グラフィックスプレーン処理部９３、および、合成処理部９４が設けられている。
【０１６１】
制御部８１は、再生制御部３７の制御に基づいて、デコーダ２６の各部の処理を制御するものである。ディスクデータ取得部８２は、光ディスク１１から読み出されたデータのうち、デコーダ２６に供給されたデータを取得し、図９を用いて説明したPlayItemにより指定されるＡＶストリームなどの多重化ストリームを、メインパスを構成するPlayItemにより指定されるデータのリードバッファであるバッファ８３に供給し、SubPlayItemにより指定される、テキスト字幕ファイルまたはフォントファイルのデータ（フォントファイルのデータは指定されていない場合がある）を、サブパスを構成するSubPlayItemにより指定されるデータのリードバッファであるバッファ８４に供給する。
【０１６２】
バッファ８３から読み出されたストリームデータは、所定のタイミングで、後段のPIDフィルタ５５へ出力される。このPIDフィルタ８５は、入力された多重化ストリームを、PIDに応じて、後段の各エレメンタリストリームのデコーダであるオーディオデコーダ８６、ＭＰＥＧビデオデコーダ８７、または、ＧＵＩデータデコーダ８９へ振り分けて出力する。すなわち、PIDフィルタ５５は、音声（オーディオ）ストリームをオーディオデコーダ８６に供給し、映像（ビデオ）ストリームをＭＰＥＧビデオデコーダ８７に供給し、ユーザインターフェース関連の画像データをＧＵＩデータデコーダ８９に供給する。
【０１６３】
オーディオデコーダ８６は、オーディオストリームをデコードし、デコードされたオーディオストリームのデータを出力する。ＭＰＥＧビデオデコーダ８７は、ビデオストリームをデコードし、デコードされたビデオデータをビデオプレーン処理部８８へ出力する。ビデオプレーン処理部８８は、デコードされたビデオデータに基づいて、１ページ(または、１フレーム)に表示される画像(動画像である映像を構成する画像)に対応するビデオプレーンを生成し、合成処理部９４に出力する。
【０１６４】
ＧＵＩデータデコーダ８９は、インタラクティブグラフィクスストリームをデコードし、デコードされたＧＵＩデータを、ＧＵＩグラフィックスプレーン処理部９０に供給する。ＧＵＩグラフィックスプレーン処理部９０は、１画面に表示されるＧＵＩに対応するグラフィックスプレーンを生成し、合成処理部９４に出力する。
【０１６５】
ストレージデータ取得部９１は、ローカルストレージ２４から読み出されたデータのうち、デコーダ２６に供給されたデータ（すなわち、テキスト字幕ファイルまたはフォントファイルのデータ）を取得し、テキスト字幕処理部９２に供給する。テキスト字幕処理部９２は、制御部８１の制御に従い、ストレージデータ取得部９１から供給される、または、バッファ８４から読み出されるテキストデータをデコードし、所定のフォントデータに基づいて、ビットマップなどのラスタデータに変換（ラスタライズ）し、字幕グラフィックスプレーン処理部９３に供給する。テキスト字幕処理部９２についての詳細は、図３４を用いて後述する。字幕グラフィックスプレーン処理部９３は、デコードされレンダリングされたテキストデータを基に、１ページ(または、１フレーム)に表示される字幕に対応する字幕グラフィックスプレーンを生成し、合成処理部９４に出力する。
【０１６６】
合成処理部９４は、ビデオプレーン処理部８８から供給されたビデオプレーン、ＧＵＩグラフィックスプレーン処理部９０から供給されたＧＵＩに対応するグラフィックスプレーン、および、字幕グラフィックスプレーン処理部９３から供給された字幕グラフィックスプレーンを合成し、ビデオ信号として出力する。
【０１６７】
図３４は、テキスト字幕処理部９２の詳細な構成を説明するためのブロック図である。
【０１６８】
テキストデータデコーダ１２１は、テキスト字幕ファイル（テキストサブタイトルファイル）のデータをデコードし、文字オブジェクトは文字オブジェクトバッファ１２２に、属性（アトリビュート）は、アトリビュートデータバッファ１２３に供給する。
【０１６９】
アトリビュートデータバッファ１２３に保存される属性データは、ユーザの操作入力に基づいて、制御部８１の制御に従い変更される。例えば、ユーザがフォントサイズや文字色の変更を指令した場合、制御部８１の制御により、アトリビュートデータバッファ１２３に保存される属性データのうち、対応するコードが書き換えられる。
【０１７０】
フォントラスタライザ１２４は、アトリビュートデータバッファ１２３から読み出した属性の指定と、バッファ８４またはストレージデータ取得部９１から供給されるフォントデータ、もしくは、予め再生装置１内部に保持されている内臓フォントデータに基づいて、文字オブジェクトバッファ１２２から読み出した文字オブジェクトをビットマップなどのラスタデータに変換して字幕グラフィックスプレーン処理部９３に出力する。例えば、フォントラスタライザ１２４は、スケーラブルフォントを属性指定に基づいてビットマップ展開し、ラスタデータに変換（ラスタライズ）して出力する。
【０１７１】
更に、フォントラスタライザ１２４は、アトリビュートデータバッファ１２３から読み出した属性に基づいて、ブックマークが付与されている文字オブジェクトを検出し、ブックマークバッファ１２５を利用して、同一のブックマークＩＤが付与されている文字オブジェクトに関しては、重複してラスタライズを行わないようにする。
【０１７２】
ブックマークバッファ１２５は、フォントラスタライザ１２４の処理により、ブックマークが付与されている文字オブジェクトのラスタデータを保持するとともに、フォントラスタライザ１２４により、保持しているラスタデータを読み出される。
【０１７３】
次に、図３５のフローチャートを参照して、サーバ３からアップデートファイルをダウンロードする再生装置１のコントローラ２１の処理であるダウンロード処理１について説明する。
【０１７４】
この処理は、光ディスク１１が再生装置１に装着され、例えば、メニュー画面から、光ディスク１１に記録されている英語字幕つきの映画コンテンツに対応するアラビア語テキスト字幕ファイルをダウンロードすることが指示されたときに実行される。
【０１７５】
ステップＳ１において、コントローラ２１の光ディスクディレクトリ管理部３５は、光ディスクドライブ２２を制御し、光ディスク１１に記録されているStudio_idとContent_idを読み出す。図７を参照して説明したように、Studio_idとContent_idはinfo.bdmvファイルに記述されている。光ディスクディレクトリ管理部３５は、光ディスク１１から読み出したStudio_idとContent_idをデータ取得部３３とローカルストレージディレクトリ管理部３４に出力する。
【０１７６】
ステップＳ２において、データ取得部３３は、インターネットインタフェース２４を制御し、光ディスクディレクトリ管理部３５から供給されたStudio_idとContent_idとを、インターネット２を介してサーバ３に送信する。ここで送信されたStudio_idとContent_idを受信したサーバ３においては、再生装置１に装着されている光ディスク１１のコンテンツが識別される。このとき、例えば、アップデート可能なファイルの一覧がサーバ３から再生装置１に通知される。データ取得部３３は、サーバ３から送信され、インターネットインタフェース２４により受信されたアップデート可能なファイルの一覧を取得し、メニュー画面表示制御部３１に供給する。
【０１７７】
ステップＳ３において、メニュー画面表示制御部３１は、アップデート用のメニュー画面を表示装置に表示させ、ステップＳ４に進み、操作入力取得部３２から供給される信号に基づいて、メニュー画面のボタンがユーザにより操作され、アップデートの内容が選択されたか否かを判定する。
【０１７８】
ステップＳ４において、メニュー画面表示制御部３１は、アップデートの内容が選択されたと判定するまで待機し、アップデートの内容が選択されたと判定した場合、ステップＳ５に進む。ユーザにより選択されたアップデートの内容を表す情報は、メニュー画面表示制御部３１からデータ取得部３３に出力される。
【０１７９】
ステップＳ５において、データ取得部３３は、インターネットインタフェース２４を制御し、アップデートの内容を表す情報をサーバ３に送信させ、ユーザが指定したアップデートファイルのダウンロードを要求する。
【０１８０】
ステップＳ６において、データ取得部３３は、インターネットインタフェース２４を制御し、サーバ３によりアップデートファイルとして用意されるテキストサブタイトルファイルをダウンロードさせ、テキストサブタイトルファイルがダウンロードされたことを、ローカルストレージディレクトリ管理部３４に通知する。
【０１８１】
ステップＳ７において、データ取得部３３は、インターネットインタフェース２４を制御し、ステップＳ６でダウンロードしたテキストサブタイトルファイルの再生パスを表すSubPlayItemが、メインのPlayItemに付加されているPlayListをダウンロードさせ、PlayListがダウンロードされたことを、ローカルストレージディレクトリ管理部３４に通知する。ここでダウンロードされたPlayListのSubPlayItemにより、例えば、アラビア語の字幕を表示させるためのテキストサブタイトルファイルが参照される。
【０１８２】
ステップＳ８において、データ取得部３３は、インターネットインタフェース２４を制御し、アップデートされたナビゲーションプログラムのファイルをダウンロードさせ、ナビゲーションプログラムがダウンロードされたことを、ローカルストレージディレクトリ管理部３４に通知する。
【０１８３】
ステップＳ９において、ローカルストレージディレクトリ管理部３４は、光ディスクディレクトリ管理部３５から供給されたStudio_idとContent_idに基づいて、それらのＩＤで識別されるディレクトリをローカルストレージ２４に作成する。これにより、例えば、図７に示されるように「xxx」のStudio_idと「yyy」のContent_idを有する光ディスク１１に対応するディレクトリとして、「xxx-yyy」の名前が設定されるフォルダ（ディレクトリ）がローカルストレージ２４に作成される。
【０１８４】
ステップＳ１０において、ローカルストレージディレクトリ管理部３４は、ステップＳ９で作成したディレクトリに、サーバ３からダウンロードされたそれぞれのファイルを展開し、格納させる。
【０１８５】
このような処理により、サーバ３からアップデートファイルがダウンロードされるので、例えば、映画などのコンテンツが記録された光ディスク１１を購入したユーザが、光ディスク１１に予め記録されていない言語の字幕を表示させるために必要なファイルを取得することができる。したがって、ユーザが所望する言語の字幕を表示させてコンテンツを視聴することが可能となる。
【０１８６】
なお、ダウンロードされたアップデートファイルはローカルストレージ２４に保存され続け、再度、同じ光ディスク１１が装着された場合には、保存されているテキスト字幕ファイルが利用され、ＡＶストリームファイルの再生が行われる。例えば、アラビア語の字幕を表示させるために必要なテキスト字幕ファイルが、上述した処理により既にダウンロードされている場合、ユーザは、光ディスク１１の映画コンテンツを再生装置１で次に再生させるとき、ダウンロードなどの処理を再生装置１に再度行わせることなく、アラビア語の字幕を表示させるようにすることができる。
【０１８７】
また、以上のようなアップデートファイルのダウンロードは、有料で行うことができるものであってもよいし、無料で行うことができるものであってもよい。
【０１８８】
更に、メニュー画面から、ユーザが、複数の言語の字幕の表示に必要なテキスト字幕ファイルをダウンロードすることを指示した場合、それぞれの言語の字幕の表示に必要なテキスト字幕ファイルが個別に提供されるのではなく、１つのテキスト字幕ファイルとしてサーバ３側でまとめられ、そのまとめられたテキスト字幕ファイルが提供されるようにしてもよい。この場合、各言語のテキスト字幕ファイルの保存の位置はPlayListにより指定される。
【０１８９】
次に、図３６のフローチャートを参照して、コントローラ２１の再生処理１について説明する。
【０１９０】
上述したようにしてダウンロードされたアップデートファイルがローカルストレージ２４に記録されている状態で、光ディスク１１に記録されているコンテンツの再生が指示された場合、ステップＳ３１において、光ディスクディレクトリ管理部３５は、光ディスク１１からStudio_idとContent_idを読み出し、読み出したStudio_idとContent_idをローカルストレージディレクトリ管理部３４に出力する。
【０１９１】
ステップＳ３２において、ローカルストレージディレクトリ管理部３４は、光ディスクディレクトリ管理部３５から供給されたStudio_idとContent_idに基づいて、光ディスク１１のファイルシステムに対応する、ローカルストレージ２４のファイルシステムを検索し、ファイルシステムマージ処理部３６に供給する。上述したように、光ディスク１１のファイルシステムに対応するファイルシステムは、ローカルストレージ２４において、Studio_idとContent_idを含む名前が設定されたディレクトリに格納されている（図７）。
【０１９２】
このとき、光ディスクディレクトリ管理部３５からは、光ディスク１１のファイルシステムがファイルシステムマージ処理部３６に出力される。
【０１９３】
ステップＳ３３において、ファイルシステムマージ処理部３６は、光ディスク１１のファイルシステムと、ローカルストレージ２４のファイルシステムとを、図７および図８を参照して説明したようにしてマージし、第１の仮想ファイルシステムを生成する。生成された第１の仮想ファイルシステムは再生制御部３７に出力され、ＡＶストリームファイルの再生に用いられる。
【０１９４】
ステップＳ３４において、再生制御部３７は、供給されてきた第１の仮想ファイルシステムからナビゲーションプログラムを指定し、実行する。したがって、図８に示されるように、アップデートされたナビゲーションプログラムが第１の仮想ファイルシステムにある場合、そのナビゲーションプログラム（ローカルストレージ２４に記録されているナビゲーションプログラム）が実行される。
【０１９５】
ステップＳ３５において、再生制御部３７は、ナビゲーションプログラムが再生区間として指定するPlayListとSubPlayItemを取得し、ステップＳ３６に進み、ローカルストレージディレクトリ管理部３４および光ディスクディレクトリ管理部３５を制御して、取得したPlayListとSubPlayItemが参照するファイル（ＡＶファイル、テキスト字幕ファイル、フォントファイルなど）を読み出させて、デコーダ２６に供給させる。ここでは、PlayListやSubPlayItemにより表されるタイムスタンプがClip informationによりアドレスに変換され、ＡＶストリームなどに対するアクセスが行われる。
【０１９６】
すなわち、再生制御部３７は、PlayListやSubPlayItemが参照するＡＶストリームファイルがローカルストレージ２４に存在する場合は、ローカルストレージ２４からそのＡＶストリームファイルを読み出し、存在しない場合、光ディスク１１からＡＶストリームファイルを読み出す。
【０１９７】
例えば、再生制御部３７が、図８のファイルシステムに従って、ローカルストレージディレクトリ管理部３４および光ディスクディレクトリ管理部３５を制御して、ＡＶストリームの読み出しを行わせている場合、光ディスク１１に予め用意されている「01000.m2ts」のファイル名が設定されているＡＶストリームファイルや、「02000.m2ts」のファイル名が設定されているＡＶストリームファイルについては光ディスク１１からの読み出しが行われ、ダウンロードにより追加された「04000.m2ts」のファイル名が設定されているＡＶストリームファイルについては、ローカルストレージ２４からの読み出しが行われる。
【０１９８】
ステップＳ３７において、図３７を用いて後述するコンテンツ再生処理１が実行されて、読み出したＡＶストリームファイルやテキスト字幕ストリームファイルなどがデコードされ、映像や音声、または字幕が表示装置から出力されて、処理が終了される。
【０１９９】
以上のように、第１の仮想ファイルシステムが生成され、コンテンツの再生時に利用されることにより、例えば、SubPlayItemが参照するテキスト字幕ファイルのデータが、ＡＶストリームと同時に読み出されて再生される。
【０２００】
次に、図３７のフローチャートを参照して、図３６のステップＳ３７において実行される、コンテンツ再生処理１について説明する。
【０２０１】
ステップＳ６１において、再生制御部３７は、デコーダ２６を制御して、PlayItemにより指定されるＡＶストリームデータを再生させる。
【０２０２】
ステップＳ６２において、操作入力取得部３２は、字幕データの表示を指令する操作入力を受けたか否かを判断する。ステップＳ６２において、字幕データの表示を指令する操作入力を受けていないと判断された場合、処理は、後述するステップＳ６８に進む。
【０２０３】
ステップＳ６２において、字幕データの表示を指令する操作入力を受けたと判断された場合、ステップＳ６３において、操作入力取得部３２は、ユーザの操作入力に対応する信号をメニュー画面表示制御部３１に供給する。メニュー画面表示制御部３１は、表示装置に、表示可能な字幕データの一覧メニューを表示させる。
【０２０４】
ステップＳ６４において、操作入力取得部３２は、表示させる字幕データの言語を指定する操作入力を受けたか否かを判断する。ステップＳ６４において、表示させる字幕データの言語を指定する操作入力を受けていないと判断された場合、処理は、ステップＳ６３に戻り、それ以降の処理が繰り返される。
【０２０５】
ステップＳ６４において、表示させる字幕データの言語を指定する操作入力を受けたと判断された場合、ステップＳ６５において、操作入力取得部３２は、ユーザの操作入力に対応する信号を再生制御部３７に供給する。再生制御部３７は、ローカルストレージディレクトリ管理部３４を制御し、ユーザの操作入力に基づいて指定されるSubPlayItemにより参照されるテキストサブタイトルデータを読み出させて、デコーダ２６のストレージデータ取得部９１に供給させるとともに、必要に応じて、ユーザに指定されたフォントに対応するフォントデータを読み出させて、デコーダ２６のストレージデータ取得部９１に供給させる。
【０２０６】
ステップＳ６６において、デコーダ２６により、図３８および図３９を用いて後述する字幕表示処理１が実行される。
【０２０７】
ステップＳ６７において、操作入力取得部３２は、表示させる字幕データの言語の変更を指令する操作入力を受けたか否かを判断する。ステップＳ６７において、表示させる字幕データの言語の変更を指令する操作入力を受けたと判断された場合、処理は、ステップＳ６５に戻り、それ以降の処理が繰り返される。
【０２０８】
ステップＳ６２において、字幕データの表示を指令する操作入力を受けていないと判断された場合、または、ステップＳ６７において、表示させる字幕データの言語の変更を指令する操作入力を受けていないと判断された場合、ステップＳ６８において、操作入力取得部３２は、コンテンツの再生の終了を指令する操作入力を受けたか、または、再生中のＡＶストリームデータが終了したか否かを判断する。
【０２０９】
ステップＳ６８において、コンテンツの再生の終了を指令する操作入力を受けず、かつ、再生中のＡＶストリームデータが終了していないと判断された場合、ステップＳ６９において、操作入力取得部３２は、字幕の表示を中止させる操作入力を受けたか否かを判断する。
【０２１０】
ステップＳ６９において、字幕の表示を中止させる操作入力を受けていないと判断された場合、処理は、ステップＳ６６に戻り、それ以降の処理が繰り返される。ステップＳ６９において、字幕の表示を中止させる操作入力を受けたと判断された場合、処理は、ステップＳ６１に戻り、それ以降の処理が繰り返される。
【０２１１】
ステップＳ６８において、コンテンツの再生の終了を指令する操作入力を受けたか、再生中のＡＶストリームデータが終了したと判断された場合、処理が終了される。
【０２１２】
このような処理により、予め光ディスク１１に記録されている、または、サーバ３からダウンロードされ、ローカルストレージ２４に記憶されているテキスト字幕ファイルが用いられて、ユーザが所望した言語の字幕がコンテンツの映像および音声とともに表示され、ユーザの操作入力に基づいて、表示される字幕の言語を変更するために、読み出されるテキスト字幕ファイルが変更される。
【０２１３】
次に、図３８および図３９のフローチャートを参照して、図３７のステップＳ６６において実行される字幕表示処理１について説明する。
【０２１４】
ステップＳ９１において、デコーダ２６のテキスト字幕処理部９２のテキストデータデコーダ１２１は、ストレージデータ取得部９１により取得されたテキストサブタイトルデータをデコードする。
【０２１５】
ステップＳ９２において、テキスト字幕処理部９２のテキストデータデコーダ１２１は、デコードされたテキストサブタイトルデータに含まれる文字オブジェクトをテキスト字幕処理部９２の文字オブジェクトバッファ１２２に供給するので、文字オブジェクトバッファ１２２に、文字オブジェクトがバッファリングされる。
【０２１６】
ステップＳ９３において、テキストデータデコーダ１２１は、デコードされたテキストサブタイトルデータに含まれる属性データをテキスト字幕処理部９２のアトリビュートデータバッファ１２３に供給するので、アトリビュートデータバッファ１２３に属性データがバッファリングされる。
【０２１７】
ステップＳ９４において、制御部８１は、再生制御部３７（コントローラ２１）から、例えば、フォントサイズなどの字幕の属性の変更を指令する操作入力を示す信号の入力を受けたか否かを判断する。
【０２１８】
ステップＳ９４において、字幕の属性の変更を指令する操作入力を示す信号の入力を受けたと判断された場合、ステップＳ９５において、制御部８１は、アトリビュートデータバッファ１２３に保持されている属性データを変更する。
【０２１９】
ステップＳ９４において、字幕の属性の変更を指令する操作入力を示す信号の入力を受けていないと判断された場合、または、ステップＳ９５の処理の終了後、ステップＳ９６において、テキスト字幕処理部９２のフォントラスタライザ１２４は、文字オブジェクトバッファ１２２およびアトリビュートデータバッファ１２３から文字オブジェクトおよび属性データを取得する。
【０２２０】
ステップＳ９７において、制御部８１は、再生制御部３７（コントローラ２１）からフォントタイプの変更を指令する操作入力を示す信号の入力を受けたか否かを判断する。
【０２２１】
ステップＳ９７において、フォントタイプの変更を指令する操作入力を示す信号の入力を受けたと判断された場合、再生制御部３７の制御を受けたローカルストレージディレクトリ管理部３４（コントローラ２１）の処理により、操作入力に基づいて、異なるフォントデータがローカルストレージ２４から読み出されるので、ステップＳ９８において、テキスト字幕処理部９２のフォントラスタライザ１２４は、操作入力に基づいた異なるフォントデータを取得する。
【０２２２】
ステップＳ９７において、フォントタイプの変更を指令する操作入力を示す信号の入力を受けていないと判断された場合、または、ステップＳ９８の処理の終了後、ステップＳ９９において、フォントラスタライザ１２４は、ステップＳ９６において取得された属性およびブックマークバッファ１２５を参照し、ラスタライズしようとしている字幕データは、ブックマークされ、すでにブックマークバッファ１２５にバッファリングされている字幕データであるか否かを判断する。
【０２２３】
ステップＳ９９において、ブックマークされ、バッファリングされている字幕データであると判断された場合、ステップＳ１００において、フォントラスタライザ１２４は、ブックマークバッファ１２５から、保存されているブックマーク対象の字幕画像データ（ラスタデータ）を読み出して出力し、処理は、ステップＳ１０４に進む。
【０２２４】
ステップＳ９９において、すでにブックマークされている字幕データではないと判断された場合、ステップＳ１０１において、フォントラスタライザ１２４は、取得された文字オブジェクトおよび属性データを基に、ラスタライズを実行して字幕グラフィックスプレーン処理部９３に出力する。字幕グラフィックスプレーン処理部９３は、供給されたラスタデータを基に、字幕グラフィックスプレーンを生成し、合成処理部９４に供給する。
【０２２５】
ステップＳ１０２において、フォントラスタライザ１２４は、ステップＳ１０１においてラスタライズした字幕データの属性データを基に、この属性データには、新たなブックマークが記載されているか否かを判断する。
【０２２６】
ステップＳ１０２において、ブックマークが記載されていると判断された場合、ステップＳ１０３において、フォントラスタライザ１２４は、ラスタライズされた字幕画像データをブックマークバッファ１２５に保存する。
【０２２７】
ステップＳ１００の処理の終了後、ステップＳ１０２において、ブックマークが記載されていないと判断された場合、または、ステップＳ１０３の処理の終了後、ステップＳ１０４において、合成処理部９４は、供給された字幕画像データを映像データと合成して出力し、処理は、図３７のステップＳ６７に進む。
【０２２８】
このような処理により、ユーザの所望する言語の字幕データが、ユーザの所望する属性で、ユーザの所望するフォントで表示されるように、テキスト字幕ファイルおよびフォントファイルのデータの読み出しが制御されて、必要に応じてバッファリングされている属性データが変更され、ラスタライズされる。
【０２２９】
ところで、本開示を適用した再生装置においては、上述した場合に加えて、以下に示すような方法で、光ディスクに記録されているコンテンツと、ローカルストレージに記録されているコンテンツを関連付けて再生することができる。以下、光ディスクに記録されているコンテンツと、ローカルストレージに記録されているコンテンツを関連付けて再生するための第２の実施の形態について説明する。
【０２３０】
図４０は、本開示を適用した第２の実施の形態における再生装置１８１の構成例を示すブロック図である。
【０２３１】
なお、図４０の再生装置１８１においては、図１を用いて説明した再生装置１における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図４０の再生装置１８１は、コントローラ２１に代わって、コントローラ１９１が設けられ、デコーダ２６に代わって、デコーダ１９２が設けられている以外は、基本的に、図１を用いて説明した再生装置１と同様の構成を有するものである。また、再生装置１８１は、図４２を用いて後述するファイル構造を有する光ディスク１９３に記録されたデータを読み込み、ＡＶストリーム、または、テキストデータをデコードして再生する。
【０２３２】
コントローラ１９１は、予め用意されている制御プログラムを実行して、再生装置１８１の全体の動作を制御したり、または、光ディスクドライブ２２を制御して光ディスク１９３に記録されている、複数のコマンドで構成されているMovieObject（ムービーオブジェクト：詳細は後述する）を読み出し、メモリ２３に展開してコマンドを実行することで、光ディス１１およびローカルストレージ２４に記憶されているデータの再生動作を制御する。例えば、コントローラ１９１は、光ディスク１９３が装着されたとき、所定のメニュー画面を外部の表示装置に表示させることができる。
【０２３３】
デコーダ１９２は、コントローラ１９１の制御に基づいて、光ディスクドライブ２２、または、ローカルストレージ２４から供給されるＡＶストリーム、または、テキストデータをデコードし、得られたビデオ信号とオーディオ信号を外部の表示装置に出力する。表示装置においては、デコーダ１９２によりデコードされた信号に基づいて、例えば、光ディスク１９３に記録されているコンテンツの出力（映像の表示、音声の出力）が行われる。
【０２３４】
図４１は、図４０のコントローラ１９１の機能構成例を示すブロック図である。
【０２３５】
図４１の各構成は、予め用意されている制御プログラムがコントローラ１９１により実行されることにより、または、光ディスク１９３に記録されているMovieObjectを構成するコマンドがコントローラ１９１により実行されることにより実現される。
【０２３６】
なお、図４１に示される機能構成図においては、図６を用いて説明した場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図４１に示されるコントローラ１９１の機能構成は、ローカルストレージディレクトリ管理部３４に代わって、ローカルストレージディレクトリ管理部２０１が設けられ、光ディスクディレクトリ管理部３５に代わって、光ディスクディレクトリ管理部２０２が設けられ、ファイルシステムマージ処理部３６に代わって、ファイルシステムマージ処理部２０３が設けられ、再生制御部３７に代わって、再生制御部２０４が設けられている以外は、図６を用いて説明したコントローラ２１の機能構成と基本的に同一である。
【０２３７】
ローカルストレージディレクトリ管理部２０１は、ローカルストレージ２４のディレクトリを管理し、ローカルストレージ２４に対するデータの書き込み、および、ローカルストレージ２４からのデータの読み出しを制御する。例えば、ローカルストレージディレクトリ管理部２０１の制御によりローカルストレージ２４から読み出されたPlayListは、メモリ２３に出力され、ローカルストレージ２４から読み出されたＡＶストリームの音声データおよび映像データやテキスト字幕ファイルのテキストデータは、デコーダ１９２に出力される。また、ローカルストレージディレクトリ管理部２０１は、後述するように、光ディスク１９３のファイルシステムと、ローカルストレージ２４のファイルシステムとのマージがファイルシステムマージ処理部２０３により行われて、後述する第２の仮想ファイルシステムが生成される場合、ローカルストレージ２４のファイルシステムに関する情報をファイルシステムマージ処理部２０３に出力する。
【０２３８】
また、ローカルストレージディレクトリ管理部２０１は、データ取得部３３により、ユーザが指示したアップデートファイルがサーバ３からダウンロードされて取得され、取得されたアップデートファイルが、既に存在するPlayListに対応するアップデートファイルである場合、取得されたアップデートファイルを参照して、既にローカルストレージ２４に記録されているデータの更新手続きを実行する。
【０２３９】
光ディスクディレクトリ管理部２０２は、光ディスク１９３のディレクトリを管理し、光ディスク１９３からの各データの読み出しを制御する。光ディスク１９３には、ユーザなどにより書き換えることができないセキュアな識別情報であるauthor_id（または、第１の実施の形態におけるStudio_id）と、disc_id（または、第１の実施の形態におけるContent_id）とが電子的なデータとして、または、物理的にピットによって記載されており、光ディスクディレクトリ管理部２０２の制御により、光ディスク１９３から読み出されたauthor_idとdisc_idとは、ローカルストレージディレクトリ管理部２０１に出力される。また、光ディスクディレクトリ管理部２０２の制御により、光ディスク１９３から読み出されたPlayListは、メモリ２３に出力され、光ディスク１９３から読み出されたＡＶストリームの音声データおよび映像データやテキスト字幕ファイルのテキストデータは、デコーダ１９２に出力される。また、光ディスクディレクトリ管理部２０２は、後述するように、光ディスク１９３のファイルシステムと、ローカルストレージ２４のファイルシステムとのマージがファイルシステムマージ処理部２０３により行われて、後述する第２の仮想ファイルシステムが生成される場合、光ディスク１９３のファイルシステムに関する情報をファイルシステムマージ処理部２０３に出力する。
【０２４０】
ファイルシステムマージ処理部２０３は、光ディスクディレクトリ管理部２０２から供給される光ディスク１９３のファイルシステムと、ローカルストレージディレクトリ管理部２０１から供給されるローカルストレージ２４のファイルシステムをマージし、１つの仮想的なファイルシステムを生成する。ファイルシステムマージ処理部２０３は、２つのファイルシステムをマージすることで生成した仮想的なファイルシステムを再生制御部２０４に出力する。以下、第２の実施の形態において、ファイルシステムマージ処理部２０３により生成される仮想的なファイルシステムを、第２の仮想ファイルシステムと称する。
【０２４１】
再生制御部２０４は、ファイルシステムマージ処理部２０３から供給される第２の仮想ファイルシステムで指定されるMovieObjectに含まれるコマンドを実行することにより、コンテンツの再生を制御する。具体的には、再生制御部２０４はメモリ２３に供給され、記憶されたPlayListを参照し、ローカルストレージディレクトリ管理部２０１または光ディスクディレクトリ管理部２０２を制御して、光ディスク１９３またはローカルストレージ２４に記録されているＡＶストリームの音声データ、映像データ、および、必要に応じてテキスト字幕ファイルのテキストデータを読み出させ、図４０のデコーダ１９２を制御して、光ディスク１９３またはローカルストレージ２４に記録されているＡＶストリームの音声データ、映像データ、および、必要に応じてテキスト字幕ファイルのテキストデータのデコード（再生）を行わせる。
【０２４２】
なお、第２の実施の形態においても、本開示を適用した再生装置１８１に装着される光ディスク１９３のアプリケーションフォーマットの例は、PlayListLayerおよびClipLayerにおいては、図２および図３を用いて説明した光ディスク１１における場合と、基本的に同様であるので、その説明は省略する。
【０２４３】
第２の実施の形態においても、本開示を適用した再生装置１８１は、光ディスク１９３に記録されているコンテンツと、ローカルストレージ２４に記録されているコンテンツを関連付けて再生することができるという、上述した第１の実施の形態における場合と同様の作用効果を奏する。したがって、例えば、光ディスク１９３に記録されている、PlayListのPlayItemが参照するClip1のＡＶストリームは、映画コンテンツの映像を表示させ、対応する音声を再生させるためのストリームであり、PlayListのSubPlayItemが参照するClip2の字幕関連情報１は、映像の表示に併せて英語の字幕を表示させるためのテキスト字幕ファイルであるとき、ユーザは、再生装置１８１に、光ディスク１９３に記録されている映画に対応する所望の言語のテキスト字幕ファイルをサーバ３からネットワーク２経由でダウンロード（または、リムーバブルメディア２８を用いて取得）させ、光ディスク１９３に記録されているコンテンツと、ローカルストレージ２４に記録されているコンテンツを関連付けて再生することができる。
【０２４４】
すなわち、ユーザが、光ディスク１９３に予め記録されているPlayListに対応する、アラビア語によるテキスト字幕ファイルのダウンロードを指示した場合、再生装置１８１においては、ネットワーク２を介して、サーバ３に対するアクセスが行われ、光ディスク１９３に記録されているコンテンツをアップデートするものとして、そのサーバ３に用意されているファイルのダウンロードが行われる。そして、再生装置１８１は、光ディスク１９３に記録されているコンテンツと、ローカルストレージ２４に記録されているコンテンツを関連付けるとともに、ClipＡＶストリームと、テキスト字幕ストリームとを、同期させて再生することができる。
【０２４５】
図４２は、光ディスク１９３のファイルシステムの例を示す図である。図４２に示されるように、光ディスク１９３のファイルシステムはディレクトリ構造を有している。
【０２４６】
光ディスク１９３の「root」の下には「BDMV」の名前が設定されたディレクトリが用意され、そのディレクトリに、「Index.bdmv」の名前が設定されたファイルと、「MovieObject.bdmv」の名前が設定されたファイルが格納されている。以下、適宜、これらのファイルをそれぞれIndexファイル、MovieObjectファイルと称する。また、適宜、各ファイルについては、「ファイル名」に「ファイル」を付加した形で、または、各ディレクトリについては、「ディレクトリ名」に「ディレクトリ」を付加した形で称する。
【０２４７】
Indexファイルは、光ディスク１９３を再生するメニューに関する情報を含む。再生装置１８１は、例えば、光ディスク１９３のコンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面をIndexファイルに基づいて、表示装置に表示させる。Indexファイルには各項目が選択されたときに実行するMovieObjectを設定することができ、ユーザにより再生メニュー画面から１つの項目が選択された場合、再生装置１８１はIndexファイルに設定されているMovieObjectのコマンドを実行する。
【０２４８】
MovieObjectファイルは、MovieObjectを含むファイルである。MovieObjectは、光ディスク１９３に記録されているPlayListの再生を制御するコマンドを含み、例えば、再生装置１８１は、光ディスク１９３に記録されているMovieObjectの中から１つを選択して、実行することにより、光ディスク１９３に記録されているコンテンツを再生させることができる。
【０２４９】
BDMVディレクトリにはまた、「BACKUP」の名前が設定されたディレクトリ（BACKUPディレクトリ）、「PLAYLIST」の名前が設定されたディレクトリ（PLAYLISTディレクトリ）、「CLIPINF」の名前が設定されたディレクトリ（CLIPINFディレクトリ）、「STREAM」の名前が設定されたディレクトリ（STREAMディレクトリ）、「AUXDATA」の名前が設定されたディレクトリ（AUXDATAディレクトリ）が設けられている。
【０２５０】
BACKUPディレクトリには、光ディスク１９３に記録されているファイルやデータをバックアップするためのファイルやデータが記録される。
【０２５１】
PLAYLISTディレクトリには、PlayListファイルが格納される。各PlayListファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.mpls」を付加した名称が命名される。
【０２５２】
CLIPINFディレクトリには、Clip Informationファイルが格納される。各Clip Informationファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.clpi」を付加した名称が命名される。
【０２５３】
STREAMディレクトリには、Clip AVストリームファイルやサブストリームファイルが格納される。各ストリームファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.m2ts」を付加した名称が命名される。
【０２５４】
AUXDATAディレクトリには、Clip AVストリームファイルやサブストリームファイルに含まれずに、Clip AVストリームファイルやサブストリームファイルから参照されるデータや、Clip AVストリームファイルやサブストリームファイルとは独立して利用されるデータなどのファイルが格納される。図４２の例においては、AUXDATAディレクトリには、「11111.otf」の名前がつけられている字幕のフォントのファイル、「sound.bdmv」の名前が設定された効果音のファイルが格納されている。
【０２５５】
また、光ディスク１９３には、製作会社や映画の配給会社などの光ディスク１９３のコンテンツ製作元であるタイトルオーサを識別するために各タイトルオーサに割り当てられた識別子であるauthor_id（または、第１の実施の形態におけるStudio_id）、および、author_idに示されるタイトルオーサにおいて製作された光ディスク１９３の種類を識別するために割り当てられた識別子であるdisc_id（または、第１の実施の形態におけるContent_id）が、ユーザなどにより書き換えることができないセキュアな電子データとして、または、物理的にピットによって記録されている。
【０２５６】
また、本開示の第２の実施の形態においては、字幕データを格納したテキスト字幕ファイルおよびレンダリングに必要となるフォントファイルを指定した、SubPathおよびSubPlayItemを定義しているPlayListファイルとClip Informationファイルとが、新たにダウンロードされることで、Clip AVストリームとテキスト字幕との同期が実現されるようになされている。ダウンロードされる一組のアーカイブファイルには、図４３に示されるように、PlayListファイル、Clip Informationファイル、テキスト字幕ストリームファイル、および、フォントファイルが、必須で含まれる。
【０２５７】
次に、本開示の第２の実施の形態において追加して配布される対象となるデータのアーカイブを図４４に示す
【０２５８】
図４４に示されるように、ユーザに新たに配布されるアーカイブファイルは、再生装置１８１におけるファイル追加または更新手続きのために、メタデータが付加された構造となっている。
【０２５９】
compression_typeの８ビットのフィールドは、FileArchive（）内データの圧縮方式を指定する。compression_typeの８ビットに０が指定された場合、FileArchive（）内のデータは、非圧縮形式であるものとする。encryption_typeの８ビットのフィールドは、FileArchive（）内データのスクランブル方式（暗号化方式）を指定する。encryption_typeの８ビットのフィールドに０が指定された場合、FileArchive（）内のデータは、ノンスクランブル形式（平文形式）であるものとする。なお、FileArchive（）内データのスクランブルと圧縮の順序は、圧縮処理が先に行われて、その後、スクランブル処理が行われるものとする。
【０２６０】
PlayList_file_nameの８×５ビットのフィールドは、後に続くPlayListファイルのファイル名称を指定する。ファイル名称の符号化方式は、ISO/IEC646規格に従う。PlayList_file_sizeの３２ビットのフィールドは、次に続くPlayListファイルのバイト単位でのサイズを指定する。PlayList_file_sizeのフィールドには、０を指定してはならない。
【０２６１】
PlayList_fileは、PlayListファイルをバイトシーケンスとして格納する。
【０２６２】
number_of_Filesの１６ビットのフィールドは、ファイル総数を指定する。number_of_Filesフィールドには０を指定してはならない。また、number_of_Filesフィールドで指定したファイル総数は、直前のPlayList_file中のSubPlayItem内で定義されているSubClip_entryの総数と一致しなければならない。
【０２６３】
そして、メタデータには、author_id、disc_id、title_id、version、operation_type、display_name、および、permissionが含まれている。
【０２６４】
author_idは、タイトルオーサを特定するための識別子を指定する８ビットのフィールドである。title_idは、タイトルを特定するための識別子を指定する８ビットのフィールドである。disc_idは、ディスクを特定するための識別子を指定する８ビットのフィールドである。versionは、アーカイブ内ファイルの履歴管理のためのバージョン情報を指定する８ビットのフィールドである。
【０２６５】
operation_typeは、アーカイブ内ファイルの更新方法を指定する８ビットのフィールドである。operation_typeに指定可能な値と、ファイルの更新方法の具体例については、後述する。
【０２６６】
display_nameは、このファイルに対応してＧＵＩにおいて表示される名前を指定する８×１２８ビットのフィールドである。図１を用いて説明したコントローラ１９１は、所定のメニュー画面を外部の表示装置に表示させることができる。例えば、ユーザに、ファイルを選択させる操作を行わせるために所定のメニュー画面を外部の表示装置に表示させる場合、メニュー画面に表示されるのがアーカイブ内で定義されているファイル名称では、ユーザはファイルの内容を特定することができないため、所望のファイルを選択するのが困難となる。そのため、display_nameフィールドには、メニュー画面に表示させるための、ユーザがファイルの内容を特定し易い名前を示す情報が記載される。display_nameフィールドに格納されるデータの符号化方式は、ISO/IEC 10646-1規格に従うものとする。
【０２６７】
permissionは、このメタデータを付随しているファイルの属性を示すものであり、具体的には、対応するファイルをユーザに対して可視属性にしてよいか、不可視属性にしておくかなどの許認可情報を指定する８ビットのフィールドである。permissionに指定可能な値については、後述する。
【０２６８】
そして、clip_information_file_nameは、後に続くClip Informationファイルのファイル名称を指定する８×５ビットのフィールドである。clip_information_file_nameに記載されるファイル名称の符号化方式は、ISO/IEC646規格に従う。
【０２６９】
clip_information_file_sizeは、次に続くClip Informationファイルのバイト単位でのサイズを指定する３２ビットのフィールドである。clip_information_file_sizeフィールドには０を指定してはならない。
【０２７０】
clip_information_fileは、Clip Informationファイルをバイトシーケンスとして格納する。
【０２７１】
text_subtitle_file_nameは、後に続くテキスト字幕ストリームファイルのファイル名称を指定する８×５ビットのフィールドである。text_subtitle_file_nameに記載されるファイル名称の符号化方式は、ISO/IEC646規格に従う。
【０２７２】
text_subtitle_file_sizeは、次に続くテキスト字幕ストリームファイルのバイト単位でのサイズを指定する３２ビットのフィールドである。text_subtitle_file_sizeフィールドには０を指定してはならない。
【０２７３】
text_subtitle_fileは、テキスト字幕ストリームファイルをバイトシーケンスとして格納する。テキスト字幕ストリームが格納されるsubtitle_fileの構文については、図５４を用いて後述する。また、テキスト字幕ストリームが格納されるコンテナファイルの構造については、図５８を用いて後述する。
【０２７４】
font_file_nameは、後に続くフォントファイルのファイル名称を指定する８×５ビットのフィールドである。font_file_nameに記載されるファイル名称の符号化方式は、ISO/IEC646規格に従う。
【０２７５】
font_file_sizeは、次に続くフォントファイルのバイト単位でのサイズを指定する３２ビットのフィールドである。font_file_sizeフィールドには０を指定してはならない。
【０２７６】
font_fileは、フォントファイルをバイトシーケンスとして格納する。
【０２７７】
追加されて配布されるアップデートファイルのデータに含まれるPlayListは、MainPathおよびSubPathを含む。図４５は、SubPathのデータ構造を示す図である。まず、図４５の左側に示されるSubPathの最上位層のデータ構造について説明する。
【０２７８】
SubPath_typeは、SubPathのアプリケーション種類を示す。SubPath_typeは、例えば、Sub Pathがオーディオであるか、ビットマップ字幕であるか、テキスト字幕であるかなどの種類を示す場合に利用される。is_repeat_SubPathは、SubPathの再生方法を示し、MainPathの再生の間にSub Pathの再生を繰り返し行うか、またはSubPathの再生を１回だけ行うかを示すものである。number_of_SubPlayItemsは、SubPathに含まれるSubPlayItemの数（エントリー数）を示す。その後、number_of_SubPlayItemsに含まれる数のSubPlayItemが含まれる。
【０２７９】
次に、図４５の中央に示されるSubPlayItemのデータ構造について説明する。
【０２８０】
Clip_Information_file_nameは、SubPlayItemが参照するサブClipに含まれるClip Informationファイルのファイル名を示す。Clip_codec_identifierは、SubPlayItemが参照するサブClipのコーデック方式を示す。is_multi_Clip_entriesは、このSubPlayItemが複数のサブClipを参照するか否かを示すフラグである。ref_to_STC_idは、ＳＴＣ（System Time Clock）不連続点（システムタイムベースの不連続点）に関する情報を示す。
【０２８１】
SubPlayItem_IN_timeとSubPlayItem_OUT_timeは、SubPlayItemが参照するサブClipに含まれるサブストリームの再生区間を示す。sync_PlayItem_idとsync_start_PTS_of_PlayItemは、Main Pathの時間軸上でSubPlayItemが再生を開始する時刻を指定するために用いられる。具体的には、sync_PlayItem_idの値と同じ値のPlayItem_idを持つPlayItemの時間軸上において、sync_start_PTS_of_PlayItemで指定される時刻に、このSubPlayItemの再生が開始される。
【０２８２】
number_of_Clip_entriesは、SubPlayItemが参照するサブClipの数を示している。その後、number_of_Clip_entriesにより示される数だけのSubClip_entryが含まれる。
【０２８３】
次に、図４５の右側に示されるSubClip_entryのデータ構造について説明する。
【０２８４】
Clip_Information_file_nameは、SubPlayItemが参照するサブClipに含まれるClip Informationファイルのファイル名を示す。Clip_codec_identifierは、SubPlayItemが参照するサブClipのコーデック方式を示す。ref_to_STC_idは、ＳＴＣ不連続点（システムタイムベースの不連続点）に関する情報を示す。
【０２８５】
次に、図４６に、図４４のメタデータに含まれるoperation_typeに指定可能な値の一覧を示す。
【０２８６】
図４６に示されるように、operation_typeの８ビットのフィールドに、0x01が記載されていたとき、アーカイブ内ファイルの更新方法は、PlayListの交換である。すなわち、operation_typeの８ビットのフィールドに、0x01が記載されているアップデートファイルがダウンロードされた場合、このアップデートファイルを用いてマージされて作成される第２の仮想ファイルシステムにおいては、ダウンロードされてローカルストレージ２４に記録されているPlayListがそのままの状態で参照され、光ディスク１９３のPlayListは全く参照されない。
【０２８７】
また、operation_typeの８ビットのフィールドに、0x02が記載されていたとき、ダウンロードされたファイルから、SubPath要素が抽出され、光ディスク１９３に記録されているSubPath要素に、抽出されたSubPath要素が加えられるようにファイルシステムがマージされて更新される（第２の仮想的なファイルシステムが生成される）。
【０２８８】
例えば、operation_typeの８ビットのフィールドに、0x02が記載され、図４７に示されるように、光ディスク１９３にはSubPath#１を含むPlayList#１ファイル、ClipAVストリーム#１ファイル、および、例えば、副音声に対応するAudioストリーム#１ファイルが記録され、サーバ３からダウンロードしたコンテンツパッケージには、SubPath#２を有するPlayList#１ファイル、および、テキスト字幕ストリーム#１ファイルが含まれていたとき、コンテンツパッケージ内のPlayList#１ファイルのSubPath#２が抽出されて、抽出されたSubPath#２が、光ディスク１９３から読み出された更新元のPlayList#１ファイルに追加された状態にファイルシステムが更新される。
【０２８９】
すなわち、図４８に示されるように、PlayItemから構成されるMainPath、および、SubPlayItemから構成されるSubPathを有するアップデート前の、すなわち、光ディスク１９３のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItemが参照し、Clip AVストリーム１と同期して再生される副音声のデータであるAudioストリーム#１が再生されるようになされている。この光ディスク１９３に記録されているコンテンツに対して、アップデート後（すなわち、ファイルシステムがマージされて更新された後）のPlayListにおいては、ClipAVストリーム#１に同期して再生され、かつ、独立して再生区間が設定可能な２つ目のSubPlayItemがSub Pathに追加されるので、PlayItemが参照するClipAVストリーム#１、および、１つ目のSubPlayItemが参照し、ClipAVストリーム#１と同期して再生される副音声のデータであるAudioストリーム#１が再生されるのみならず、Audioストリーム#１とは独立して再生区間が設定可能なテキスト字幕ストリーム#１が再生可能なようになされている。
【０２９０】
また、operation_typeの８ビットのフィールドに、0x03が記載されていたとき、ダウンロードされたファイルから、SubPlayItem要素が抽出され、光ディスク１９３に記録されているSubPlayItem要素に、抽出されたSubPlayItem要素が加えられるようにファイルシステムがマージされて更新される（第２の仮想的なファイルシステムが生成される）。
【０２９１】
例えば、operation_typeの８ビットのフィールドに、0x03が記載され、図４９に示されるように、光ディスク１９３にはSubPlayItem#1から構成されるSubPath#１を含むPlayList#１ファイル、ClipAVストリーム#１ファイル、および、例えば、副音声に対応するAudioストリーム#１ファイルが記録され、サーバ３からダウンロードしたコンテンツパッケージには、SubPlayItem#２から構成されるSubPath#１を有するPlayList#１ファイル、および、テキスト字幕ストリーム#２ファイルが含まれていたとき、コンテンツパッケージ内のPlayList#１ファイルのSubPath#1を構成するSubPlayItem#２が抽出されて、抽出されたSubPlayItem#２が、光ディスク１９３から読み出された更新元のPlayList#１ファイルのSubPath#１に追加された状態に、ファイルシステムが更新される。
【０２９２】
すなわち、図５０に示されるように、PlayItemから構成されるMainPath、および、SubPlayItem#１（図中SPI１と記載）から構成されるSub Pathを有するアップデート前のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItem#１が参照し、ClipAVストリーム#１と同期して所定の第１の区間に再生される副音声のデータであるAudioストリーム#１が再生されるようになされている。この光ディスク１９３に記録されているコンテンツに対して、アップデート後（すなわち、ファイルシステムがマージされて更新された後）のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItem#１が参照し、ClipAVストリーム１と同期して所定の第１の区間に再生される再生される副音声のデータであるAudioストリーム#１が再生されるのみならず、SubPlayItem#１と同一のSubPathに含まれるSubPlayItem#２（図中SPI２と記載）が追加されるので、ClipAVストリーム#１と同期して、所定の第２の区間にテキスト字幕ストリーム#１が再生可能なようになされている。
【０２９３】
そして、operation_typeの８ビットのフィールドに、0x04が記載されていたとき、ダウンロードされたファイルから、SubClip_entry要素が抽出され、光ディスク１９３に記録されているSubClip_entry要素に、抽出されたSubClip_entry要素が加えられるようにファイルシステムがマージされて更新される（第２の仮想的なファイルシステムが生成される）。
【０２９４】
例えば、operation_typeの８ビットのフィールドに、0x04が記載され、図５１に示されるように、光ディスク１９３にはClip#１が対応付けられているSubPlayItem#1から構成されるSubPath#１を含むPlayList#１ファイル、ClipAVストリーム#１ファイル、および、例えば、第１の言語の字幕に対応するテキスト字幕ストリーム#１ファイルが記録され、サーバ３からダウンロードしたコンテンツパッケージには、Clip#２が対応付けられているSubPlayItem#１から構成されるSubPath#１を有するPlayList#１ファイル、および、第２の言語の字幕に対応するテキスト字幕ストリーム#２ファイルが含まれていたとき、コンテンツパッケージ内のPlayList#１ファイルのSubPath#１を構成するSubPlayItem#１のClip#２が抽出されて、抽出されたClip#２が、光ディスク１９３から読み出された更新元のPlayList#１ファイルのSubPath#１を構成するSubPlayItem#１に追加された状態にファイルシステムが更新される。
【０２９５】
すなわち、図５２に示されるように、PlayItemから構成されるMainPath、および、SubPlayItemから構成されるSubPathを有するアップデート前のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItem#１が参照し、ClipAVストリーム#１と同期して、第１の言語の字幕に対応するテキスト字幕ストリーム#１が再生されるようになされている。この光ディスク１９３に記録されているコンテンツに対して、アップデート後（すなわち、ファイルシステムがマージされて更新された後）のPlayListにおいては、PlayItemが参照するClipAVストリーム#１、および、SubPlayItemが参照し、ClipAVストリーム#１と同期して再生される第１の言語の字幕に対応するテキスト字幕ストリーム#１が再生されるのみならず、SubPathを構成するSubPlayItemに、更に、Clip#２が追加されるので、ClipAVストリーム#１と同期して、SubPlayItemが参照する、第２の言語に対応するテキスト字幕ストリーム#２が、更に再生可能なようになされている。
【０２９６】
図５３に、図４４のメタデータに含まれるpermissionに指定可能な値の一覧を示す。
【０２９７】
図５３に示されるように、permissionの８ビットのフィールドに、0x00が記載されている場合、このメタデータを付随しているファイルの属性は、ユーザに対して不可視属性であり、permissionの８ビットのフィールドに、0x01が記載されている場合、このメタデータを付随しているファイルの属性は、ユーザに対して可視属性であり、permissionの８ビットのフィールドに、0x03が記載されている場合、このメタデータを付随しているファイルの属性は、上書き禁止属性である。
【０２９８】
また、図４４を用いて説明したように、subtitle_fileのフィールドには、テキスト字幕ストリームファイルがバイトシーケンスとして格納されている。テキスト字幕ファイルは、図５４に示される構文に従うものとする。
【０２９９】
基本的に、第２の実施の形態におけるテキスト字幕ファイルの構文は、図１２を用いて説明した第２の実施の形態における場合と、基本的に同一である部分が多いが、図５４に示される、第２の実施の形態におけるテキスト字幕ファイルの構文は、図１２を用いて説明した場合と比較して、メタデータに含まれるversion（バージョン）情報が省略され、start_PTSおよびend_PTSの前が、データ境界を調整するための８ビットのパディングビット（reserved）で区切られ、字幕データを指定する情報であるsubtitle_dataが、バイトシーケンスで格納されるようになされている。
【０３００】
すなわち、markup_typeは、マークアップの形式を指定する８ビットの情報である。subtitle_countは、字幕データの総数を指定する３２ビットの情報である。（subtitle_countは、改行コードの総数ではない。）reservedは、データ境界を調整するための８ビットのパディングビットである。start_PTSは、字幕データの表示開始時刻を、PlayListの開始時刻を０とした時間軸でのＰＴＳ（Presentation Time Stamp）で指定する３３ビットの情報である。end_PTSは、字幕データの表示終了時刻を、PlayListの開始時刻を０とした時間軸でのＰＴＳで指定する３３ビットの情報である。ＰＴＳには、90kHzで計測された値を使用する。start_PTSおよびend_PTSにおいては、ＰＴＳには、90kHzで計測された値が使用される。
【０３０１】
subtitle_data_lengthは、subtitle_dataのバイト数を指定する（字幕の文字数ではない)３２ビットの情報である。subtitle_dataは、字幕データを指定する情報であり、バイトシーケンスとして格納されている。
【０３０２】
また、第２の実施の形態においても、字幕データは、字幕を構成する文字そのものを示す「文字オブジェクト」と「属性データ（アトリビュート）」から構成され、字幕データの属性データには、制御文字による属性設定と、マークアップによるインライン属性設定の２つの属性設定方法がある。
【０３０３】
制御文字による属性設定は、図１３および図１４を用いて説明した場合と同様である。また、マークアップによるインライン属性設定においても、マークアップの形式は、TLV（Type-Length-Value)エンコード形式でマークアップする場合と、タグ付き言語の要素および属性によりマークアップする場合との２通りがあり、図１５を用いて説明した場合と同様に、マークアップ形式識別子が0x00であるとき、マークアップの形式は、TLVエンコード形式であると定義され、マークアップ形式識別子が0x01であるとき、マークアップの形式は、タグ付き言語であると定義される。
【０３０４】
まず、TLVエンコード方式による属性指定が行われる場合について説明する。TLVエンコード方式による属性指定の場合、字幕データの文字符号化方式は、図１１を用いて説明した、SubPlayItem中のcharacter_code_idの指定に従うものとする。
【０３０５】
図５５を用いて、TLVエンコード方式による属性指定の場合の、subtitle_data（）のデータ構造について説明する。
【０３０６】
escape_codeの８ビットのフィールドは、図１７を用いて説明したように、後に属性が記述されていることを示すエスケープコード0x1Bを指定する。data_typeの８ビットのフィールドは、属性種別を指定する。data_value_lengthの１６ビットのフィールドは、後に続く属性データのバイト数を指定する。data_valueは、属性データ、または、文字オブジェクトのバイトシーケンスを指定する。
【０３０７】
図５６に、data_typeとして指定可能な属性を示す。
【０３０８】
subtitle_data（）のdata_typeの８ビットのフィールドに0x01が記載されていたとき、記載されている属性の種別は、字幕データとして使用される文字列を指定する字幕文字列の設定である。字幕データは、SubPlayItem（）中のcharacter_code_idフィールドで指定された符号化方式で符号化されていなければならない。
【０３０９】
subtitle_data（）のdata_typeの８ビットのフィールドに0x02が記載されていたとき、記載されている属性の種別は、インデックスデータと代表色データとの変換テーブルであるCLUT（Color Look Up Table）の設定である。CLUTは、図６３を用いて後述する字幕グラフィックスプレーン処理部９３に記憶される変換テーブルである。subtitle_data（）のdata_typeに記載されている属性種別がCLUT設定であるときの、data_valueのデータ構造は、図１９を用いて説明した場合と同様である。subtitle_data（）のdata_typeの８ビットのフィールドに0x03が記載されていたとき、記載されている属性の種別は、リージョン原点の指定である。subtitle_data（）のdata_typeにおいて、記載されている属性種別がリージョン原点指定であるときのdata_valueのデータ構造は、図２０を用いて説明した場合と同様である。subtitle_data（）のdata_typeの８ビットのフィールドに0x04が記載されていたとき、記載されている属性の種別は、行間(Line Space)の指定である。
【０３１０】
subtitle_data（）のdata_typeの８ビットのフィールドに0x05が記載されていたとき、記載されている属性の種別は、レンダリング方向の指定である。subtitle_data（）のdata_typeにおいて、記載されている属性種別がレンダリング方向指定であるとき、data_valueに記載されるコードは、図２１を用いて説明した場合と同様である。subtitle_data（）のdata_typeの８ビットのフィールドに0x06が記載されていたとき、記載されている属性の種別は、フォント色の指定である。デフォルトは、「０」であるものとしてもよい。subtitle_data（）のdata_typeの８ビットのフィールドに0x07が記載されていたとき、記載されている属性の種別は、背景色の指定である。指定された背景色で塗りつぶされる領域は、リージョン単位である。デフォルトは、無指定（透過）であるものとしてもよい。
【０３１１】
subtitle_data（）のdata_typeの８ビットのフィールドに0x08が記載されていたとき、記載されている属性の種別は、フォントスタイルの指定である。subtitle_data（）のdata_typeにおいて、記載されている属性種別がフォントスタイルの指定であるとき、data_valueには、図２２を用いて説明したコードのうちのいずれかが記載されて、フォントのスタイルが指定される。なお、フォントのスタイルのデフォルトは、「標準」とするようにしてもよい。subtitle_data（）のdata_typeの８ビットのフィールドに0x09が記載されていたとき、記載されている属性の種別は、フォントサイズの指定である。subtitle_data（）のdata_typeにおいて、記載されている属性種別がフォントサイズの指定であるとき、data_valueには、フォントサイズを示す８以上７２以下の値が指定される。なお、フォントサイズを指定する値のデフォルトは、「３２」とするようにしてもよい。subtitle_data（）のdata_typeの８ビットのフィールドに0x0Aが記載されていたとき、記載されている属性の種別は、フォント回転角の指定である。subtitle_data（）のdata_typeにおいて、記載されている属性種別がフォント回転角の指定であるとき、data_valueには、フォント回転角に対応する０以上３６０以下の値が指定される。なお、回転方向は、例えば、反時計回りが正方向され、デフォルトは、「０」とするようにしてもよい。
【０３１２】
subtitle_data（）のdata_typeの８ビットのフィールドに0x0Bが記載されていたとき、記載されている属性の種別は、ブックマークの開始位置である。ブックマークとは、複数回同じ文字が同じ形式で表示される場合にレンダリング処理を省略することができるように、テキスト字幕ファイルの供給元が予め付与する情報である。subtitle_data（）のdata_typeにおいて、記載されている属性種別がブックマーク開始位置指定であるときのdata_valueのデータ構造は、図２３を用いて説明した場合と同様である。subtitle_data（）のdata_typeの８ビットのフィールドに0x0Cが記載されていたとき、記載されている属性の種別は、ブックマークの終了位置である。subtitle_data（）のdata_typeにおいて、記載されている属性種別がブックマーク終了位置指定であるときのdata_valueのデータ構造は、図２４を用いて説明した場合と同様である。subtitle_data（）のdata_typeの８ビットのフィールドに0x0Dが記載されていたとき、記載されている属性の種別は、ブックマークの付与された文字オブジェクトシーケンスの繰り返しの指定である。subtitle_data（）のdata_typeにおいて、記載されている属性種別が文字オブジェクトシーケンス繰り返し指定であるときのdata_valueのデータ構造は、図２５を用いて説明した場合と同様である。
【０３１３】
次に、タグ付き言語による属性指定の場合について説明する。タグ付き言語による属性指定の場合、字幕データの文字符号化方式は、SubPlayItem中のcharacter_code_idの指定を無視して、ISO/IEC646エンコードであるものとする。タグ付き言語による属性指定の場合の、subtitle_data（）のデータ構造は、図２６を用いて説明した場合と同様であり、TaggedAttrは、図２７を用いて説明したように、所定の形式に従う。char_dataは、文字オブジェクトのバイトシーケンスを指定する。ただし、バイトシーケンスは、BASE64エンコーディング方式によりISO/IEC646エンコードするものとする。その際、「<」および「>」は、「0x1B」によりエスケープする。
【０３１４】
次に、図５７を参照して、タグ付き言語による属性指定の要素および属性種別について説明する。
【０３１５】
CLUT設定は、<CLUT size= y= cb= cr= t= >と記載され、属性「size」にCLUTのサイズが指定され、属性「y」、「cb」、「cr」および「t」には、図６３を用いて後述する字幕グラフィックスプレーン処理部９３におけるCLUTのインデックス列が指定される。
【０３１６】
リージョン原点指定は、<region ｘ= y=>と記載され、属性「ｘ」および「y」に、リージョンの原点座標（x, y）が指定される。
【０３１７】
行間(Line Space)指定は、<linespace d=>と記載され、属性「d」に、行間がピクセル単位で指定される。なお、行間のデフォルトは、「フォントの高さ」とするようにしてもよい。
【０３１８】
レンダリング方向指定は、<textflow d=>と記載され、属性「d」に、文字オブジェクトを描画するときの方向が指定される。なお、レンダリング方向のデフォルトは、「左から右へ」とするようにしてもよい。
【０３１９】
フォント色指定の開始は、<fontcolor c=>と記載され、属性「c」に、図６３を用いて後述する字幕グラフィックスプレーン処理部９３におけるCLUTに対するインデックスが指定される。なお、フォント色に対応するインデックスのデフォルトは、「０」とするようにしてもよい。そして、フォント色指定の終了は、</fontcolor>と記載される。
【０３２０】
背景色指定は、<backgroundcolor c=>と記載され、属性「c」に、図６３を用いて後述する字幕グラフィックスプレーン処理部９３におけるCLUTに対するインデックスが指定される。ただし、背景色で塗りつぶされる領域は、リージョン単位であり、背景色のデフォルトは、無指定（透過）とするようにしてもよい。
【０３２１】
フォントスタイル指定は、<fontstyle s=>と記載され、属性「s」に、太字、斜体、標準などのフォントのスタイルが指定される。なお、フォントのスタイルのデフォルトは、「標準」とするようにしてもよい。そして、フォントスタイル指定の終了は、</fontstyle>と記載される。
【０３２２】
フォントサイズ指定は、<fontsize s=>と記載され、属性「s」に、フォントサイズに対応する８以上７２以下の値が指定される。なお、フォントサイズを指定する値のデフォルトは、「３２」とするようにしてもよい。そして、フォントサイズ指定の終了は、</fontsize>と記載される。
【０３２３】
フォント回転角指定は、<fontrotate a=>と記載され、属性「a」に、フォントの回転角に対応する０以上３６０以下の値が指定される。なお、回転方向は、反時計回りが正方向とされ、フォントの回転角に対応する値のデフォルトは、「０」とするようにしてもよい。そして、フォントの回転角度指定の終了は、</fontrotate>と記載される。
【０３２４】
ブックマーク指定は、<mark id=>と記載され、属性「id」に、ブックマークを個別に区別可能な０以上255以下の値が指定される。これにより、本要素のスコープ内の字幕データに対してブックマークが付与されたことになる。ブックマークは、最大256個まで指定することができる。そして、ブックマークを付与する字幕テキストの終了は、</mark>と記載される。
【０３２５】
文字オブジェクトシーケンス繰り返し指定は、<repeat id= c=>と記載され、属性「id」に、ブックマークを個別に区別可能な０以上255以下の値が、属性「c」には繰り返し回数が指定される。これにより、属性「id」により設定された属性値に対応するブックマークが付与された字幕データが、属性「c」に設定された回数繰り返される。
【０３２６】
上述したような方法で属性が指定されたテキスト字幕ファイルのテキストデータは、それぞれの属性の設定に基づいて、例えば、図２９を用いて説明したように、レンダリング方向が左から右へ指定され、設定された改行位置において下方向に改行されて表示されたり、図３０を用いて説明したように、レンダリング方向が右から左へ指定され、設定された改行位置において下方向に改行されて表示されたり、図３１を用いて説明したように、レンダリング方向が上から下へ指定され、設定された改行位置において左方向に改行されて表示される。
【０３２７】
また、例えば、表示される字幕に対して、フェードインまたはフェードアウトを指定するときには、図６３を用いて後述する字幕グラフィックスプレーン処理部９３におけるCLUTのT値を変更して、文字の透明度を変化させつつ、文字オブジェクトシーケンスを繰り返し指定するようにすればよい。
【０３２８】
次に、テキスト字幕ストリームが格納されるコンテナファイルについて説明する。
【０３２９】
テキスト字幕ストリームが格納されるコンテナファイルは、Clip AVストリームに多重化されていない別ファイル形式であるものとする。また、コンテナファイルのフォーマットは、BDAV MPEG-2 トランスポートストリームであるものとする。そして、テキスト字幕ストリームの格納されるPES（Packetized Elementary Stream)パケットは、図５８に示されるPrivate Stream 2形式に従う。
【０３３０】
図５８において、packet_start_code_prefixは、パケットの開始を識別するパケット開始コードである２４ビットのフィールドであり、値0x000001が設定される。stream_idは、ストリームの種類と番号を規定する８ビットのフィールドであり、値0xBFが設定される。PES_packet_lengthは、直後に続くバイトシーケンスのバイト数を指定する１６ビットのフィールドである。そして、PES_packet_data_byteは、テキスト字幕ストリームファイルをバイトシーケンスとして指定する。
【０３３１】
また、テキスト字幕ストリームが格納されるコンテナファイルにおいて、PATパケット、PMTパケット、および、SITパケットは、Aligned Unitの先頭に、それぞれ一回だけ出現するようになされており、ＰＣＲ（Program Clock Reference基準時刻情報）パケットを持たないようになされている。
【０３３２】
したがって、テキスト字幕ストリームが格納されるBDAV MPEG-2トランスポートストリームは、例えば、図５９に示されるような構成になる。
【０３３３】
図５９に示されるテキスト字幕ストリームが格納されるBDAV MPEG-2トランスポートストリームにおいては、それぞれのAligned Unitにおいて、ソースパケット#１が、PATパケットを含み、ソースパケット#２が、PMTパケットを含み、ソースパケット#３が、SITパケットを含み、ソースパケット#４乃至ソースパケット#３２が、図５８を用いて説明したPrivate Stream 2形式でテキスト字幕ストリームファイルが格納されたパケット#１乃至パケット#２９を含むものとされている。
【０３３４】
このように、第２の実施の形態においては、サーバ３からダウンロードされるなどして、以上説明したアップデートデータが取得されて、ローカルストレージ２４に記録される。図６０に、ローカルストレージ２４に記憶されるデータのデータ構造を示す。
【０３３５】
ローカルストレージ２４のルートディレクトリの直下に処理対象アップデートデータファイルを記録するauthor_idディレクトリがない場合、ローカルストレージ２４のルートディレクトリの直下に処理対象アップデートファイルのauthor_idと同じ名前のauthor_idディレクトリが作成される。そして、author_idディレクトリの下に処理対象アップデートファイルのdisc_idと同じ名前のdisc_idディレクトリが作成される。
【０３３６】
そして、作成したdisc_idディレクトリの下に、図４２を用いて説明した光ディスク１９３のBDMVディレクトリより下の階層と同様に、BACKUPディレクトリ、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、およびAUXDATAディレクトリが作成され、PLAYLISTディレクトリにはPlayListファイルが、CLIPINFディレクトリにはClipInformationファイルが、STREAMディレクトリには、テキスト字幕ストリームファイルが、AUXDATAディレクトリには、フォントファイルが、それぞれ格納される。なお、図６０の例においては、author_idディレクトリの名称およびdisc_idディレクトリの名称とも「１」である。すなわち、図６０に示されるディレクトリの下にはauthor_idおよびdisc_idがともに１であるアップデートファイルが記録されている。
【０３３７】
ローカルストレージ２４に記録されるアップデートデータファイルの名前は、図６０に示されるように、ファイル名と拡張子の間に「.」（ピリオド）と４桁の数字の番号を挿入したものとされる。この４桁の数字はバージョン番号を示し、0000から始まり、新しいバージョンのアップデートファイルが記録されるごとに１ずつ増やされる。例えば、「01001.mpls」の名前のPlayListファイルのアップデートファイルがPLAYLISTディレクトリに記録される場合、PLAYLISTディレクトリに「01001.****.mpls（****はバージョン番号）」のファイル名のファイルが記録されていないとき、すなわち、「01001.mpls」の名前のPlayListファイルのアップデートファイルがまだ存在しないとき、アップデートファイルは「01001.0000.mpls」の名前で記録され、PLAYLISTディレクトリにすでに「01001.0000.mpls」のファイルが記録されているとき、アップデートファイルは「01001.0001.mpls」の名前で記録される。
【０３３８】
また、サーバ３からダウンロードされるアップデートデータには、メタデータが含まれている。メタデータは、メタデータが対応するアップデートファイルと同じディレクトリに、アップデートファイルのファイル名の末尾に拡張子「.data」を付加したファイル名で記録される。
【０３３９】
そして、図４２を用いて説明した、光ディスク１９３に記録されているデータファイルと、図６０を用いて説明した、ローカルストレージ２４に記憶されているデータファイルとがマージされて、第２の仮想ファイルシステムが生成される。
【０３４０】
図６１に、第２の仮想ファイルシステムのデータ構造を示す。
【０３４１】
第２の仮想ファイルシステムにおいては、author_idおよびdisc_idが同一である光ディスク１９３に記録されているデータファイルと、ローカルストレージ２４に記憶されているデータファイルとがマージされて、「VBDMV」の名前が設定されたディレクトリが用意され、図４２を用いて説明した光ディスク１９３の「BDMV」ディレクトリに格納されている、「Index.bdmv」の名前が設定されたファイルと、「MovieObject.bdmv」の名前が設定されたファイルが格納されるとともに、BDMVディレクトリより下の階層と同様の構成となるように、BACKUPディレクトリ、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、およびAUXDATAディレクトリが作成され、それぞれ、対応するディレクトリの下に、データファイルが格納されているものとなされている。
【０３４２】
第２の仮想ファイルシステムのPLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、およびAUXDATAディレクトリに格納されるデータファイルのうち、実際にはローカルストレージ２４に記憶されているデータファイルには、それぞれ、メタデータファイルが対応付けられている。
【０３４３】
このようにして、光ディスクに記録されているコンテンツと、ローカルストレージに記録されているコンテンツを関連付けて再生することができるように、第２の仮想ファイルシステムによりデータがマージされる。
【０３４４】
また、図２を用いて説明した場合と同様に、第２の実施の形態においても、PlayListには、PlayItemにより指定されるメインパス（Main Path）に加えて、図３に示されるようなサブプレイアイテム（Sub Play Item）を用いて指定されるサブパス（Sub path）の情報を含ませることができ、SubPlayItemを定義すると、例えば、PlayItemにより指定されるClip（例えば、MPEG2トランスポートストリーム）に多重化されていない、独立したデータストリームをＡＶストリーム再生に同期して再生させることができる。
【０３４５】
すなわち、図６２に示されるように、PlayItemにより指定されるメインパスのClip ＡＶストリームに対応させて、テキスト字幕ファイル、および、レンダリングに必要となるフォントファイルから構成される字幕関連情報と字幕関連情報の再生区間を指定したSubPlayItemにより構成されるサブパスを用意することで、Clip ＡＶストリームの再生に対して、テキスト字幕ファイルに記載されているデータに対応する字幕を、同期させて表示させるようにすることができる。
【０３４６】
ユーザは、テキスト字幕ストリーム用のサブパスおよびサブプレイアイテムを取得することにより、メインパスに設定されているClipＡＶストリームと、テキスト字幕ストリームとを同期させて再生させることができる。また、ひとつのサブプレイアイテムには、複数のテキスト字幕ストリームを指定することができる。
【０３４７】
また、本開示の再生装置１８１においては、同期再生を行うために、サブパスの再生処理においても、メインパスの再生処理で参照されるＳＴＣ（System Time Clock）を参照するものとすることができる。また、サブパスの再生処理において、デコーダ１９２は、テキスト字幕ストリームを一括プリロードしたり、部分プリロードすることができる。
【０３４８】
更に、本開示の再生装置１８１においては、サブパスの再生処理において、テキスト字幕ストリームを一括プリロードしたり、または、テキスト字幕ファイルに関する、後述するEP_mapを作成することにより、テキスト字幕ファイルに対して、高速なランダムアクセスを実現させることができる。
【０３４９】
図６３は、同期再生のためのＳＴＣを参照することができ、更に、テキスト字幕ストリームを一括プリロードしたり、部分プリロードすることができるとともに、テキスト字幕ファイルに対してランダムアクセスを実行することができる、本開示を適用した再生装置１８１のデコーダ１９２の構成を示すブロック図である。
【０３５０】
なお、図６３のデコーダ１９２においては、図３３において説明した場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、デコーダ１９２は、ＳＴＣカウンタ２１１、メモリ２１６、バッファ２１７、および、バッファ２１９が新たに設けられ、オーディオデコーダ８６に代わって、オーディオデコーダ２１２が設けられ、ＭＰＥＧビデオデコーダ８７に代わって、ＭＰＥＧビデオデコーダ２１３が設けられ、制御部８１に代わって、制御部２１４が設けられ、ディスクデータ取得部８２に代わって、ディスクデータ取得部２１５が設けられ、ストレージデータ取得部９１に代わって、ストレージデータ取得部２１８が設けられ、テキスト字幕処理部９２に代わって、テキスト字幕処理部２２０が設けられている以外は、図３３を用いて説明したデコーダ２６と、基本的に同様の構成を有するものである。
【０３５１】
ＳＴＣカウンタ２１１は、ＳＴＣをカウントする。オーディオデコーダ２１２は、ＳＴＣカウンタ２１１のカウンタ値を参照して、ＰＴＳ（Program Time Stamp）を計算し、計算されたＰＴＳにしたがって、オーディオストリームをデコードし、デコードされたオーディオストリームのデータを出力する。ＭＰＥＧビデオデコーダ２１３は、ＳＴＣカウンタ２１１のカウンタ値を参照して、ＰＴＳを計算し、計算されたＰＴＳにしたがって、ビデオストリームをデコードし、デコードされたビデオデータをビデオプレーン処理部８８へ出力する。
【０３５２】
制御部２１４は、再生制御部２０４の制御に基づいて、デコーダ１９２の各部の処理を制御するものであり、例えば、ディスクデータ取得部２１５またはストレージデータ取得部２１８を制御して、テキスト字幕ストリームを一括プリロードさせてバッファ２１７にバッファリングさせることにより、テキスト字幕ストリームのランダムアクセスを制御したり、ディスクデータ取得部２１５、または、ストレージデータ取得部２１８から供給されたテキスト字幕ストリームに対応するSubPlayItem_IN_timeおよびSubPlayItem_OUT_timeなどの情報を基に、テキスト字幕ストリームに対応するEP_mapを生成して、メモリ２１６に保存し、保存されたEP_mapを参照してテキスト字幕ストリームのランダムアクセスを制御することができる。また、制御部２１４は、メインパスで指定されるClipＡＶストリームと、サブパスで指定されるテキスト字幕ストリームとを同期して再生させるために、メインパスにおけるノンシームレス接続条件下でのプレイアイテム切り替えにより発生する、オーディオデコーダ２１２およびＭＰＥＧビデオデコーダ２１３によるClipＡＶストリームのデコード動作のギャップなどの情報を、テキスト字幕処理部２２０に通知する。
【０３５３】
ディスクデータ取得部２１５は、制御部２１４の制御に基づいて、光ディスク１９３から読み出されたデータのうち、デコーダ１９２に供給されたデータを取得し、PlayItemにより指定されるＡＶストリームなどの多重化ストリームをバッファ８３に供給し、SubPlayItemにより指定される、テキスト字幕ファイルまたはフォントファイルのデータをバッファ８４に供給する。また、デコーダ１９２は、テキスト字幕ストリームを一括プリロードしたり、部分プリロードすることができる。ディスクデータ取得部２１５は、光ディスク１９３に記録されているテキスト字幕ストリームが一括プリロードされる場合、対応するすべてのテキスト字幕ファイルを読み出して、バッファ２１７に供給する。また、ディスクデータ取得部２１５は、光ディスク１９３に記録されているテキスト字幕ストリームが部分プリロードされる場合、光ディスク１９３に記録されているテキスト字幕ストリームに対応するSubPlayItem_IN_timeおよびSubPlayItem_OUT_timeなどの情報を取得して、制御部２１４に供給する。
【０３５４】
メモリ２１６は、制御部２１４により生成された、テキスト字幕ストリームに対応するEP_mapを保存する。バッファ２１７は、ディスクデータ取得部２１５、または、ストレージデータ取得部２１８から供給された、一括プリロードされたテキスト字幕ストリームを保存する。
【０３５５】
ストレージデータ取得部２１８は、ローカルストレージ２４から読み出されたデータのうち、デコーダ１９２に供給されたデータ（すなわち、テキスト字幕ファイルまたはフォントファイルのデータ）を取得し、一括プリロードが行われる場合は、バッファ２１７に、プリロードが行われない場合、または、部分プリロードが行われる場合は、内部のトランスポートストリーム用の図示しないバッファに一時保存し、バッファ２１９に、取得したデータを供給する。また、ストレージデータ取得部２１８は、ローカルストレージ２４に記録されているテキスト字幕ストリームが部分プリロードされる場合、ローカルストレージ２４に記録されているテキスト字幕ストリームに対応するSubPlayItem_IN_timeおよびSubPlayItem_OUT_timeなどの情報を取得して、制御部２１４に供給する。
【０３５６】
バッファ２１９は、テキスト字幕処理部２２０に供給されるテキスト字幕ストリームデータおよびフォントファイルのデータを一時バッファリングする。テキスト字幕処理部２２０は、テキスト字幕ストリームデータおよびフォントファイルのデータの供給を受け、ＳＴＣカウンタ２１１のカウンタ値、および、制御部２１４から供給されるClipＡＶストリームのデコード動作のギャップなどの情報を基に、ClipＡＶストリームと同期して再生されるように、供給されたテキスト字幕ストリームをデコードする。
【０３５７】
このように、本開示を適用した再生装置１８１のデコーダ１９２においては、テキスト字幕ストリームを一括プリロードしたり、部分プリロードすることができるとともに、テキスト字幕ファイルに対して、高速にランダムアクセスを実行することができる。
【０３５８】
一括プリロードは、ディスクデータ取得部２１５またはストレージデータ取得部２１８に、再生に必要なテキスト字幕ストリーム全体を取得させ、バッファ２１７に一度にプリロードする方式である。部分プリロードは、ディスクデータ取得部２１５またはストレージデータ取得部２１８に、テキスト字幕ストリームの一部分だけをプリロードさせる方式である。部分プリロードされたテキスト字幕ストリームのトランスポートストリームデータは、トランスポートストリームバッファであるバッファ８４、または、ストレージデータ取得部２１８内部の図示しないバッファのリークレート値に対応した転送レートにて、ソースパケット単位でバッファ２１９にロードされる（バッファ２１９にロードされるストリームは、TextSubtitleのエレメンタリストリームである）。
【０３５９】
次に、ClipAVストリームの再生時にテキスト字幕ストリームにランダムアクセスする場合について説明する。
【０３６０】
Clip AVストリームの場合、PlayItem中で任意のＰＴＳ値からソースパケット番号を求めるためにEP_mapを参照する。EP_mapについて図６４を用いて説明する。
【０３６１】
EP_mapとは、クリップの中のエントリーポイントのタイムスタンプ（PTS_EP_start）と、クリップＡＶストリームファイルの中でストリームのデコードを開始すべきソースパケット番号（SPN_EP_start）とのペアを格納したテーブルであり、Clip Informationファイル中に定義される。換言すれば、再生装置１８１は、エントリーポイントのタイムスタンプ（PTS_EP_start）が指定されることにより、ランダムアクセスする対象となる（デコードを開始すべき）ソースパケットのソースパケット番号（SPN_EP_start）を検出することができる。すなわち、再生装置１８１は、Clip AVストリームのEP_mapを参照することで、Clip AVストリームのランダムアクセス、ファーストフォワード再生、または、ファーストリバース再生に対応することができる。なお、ソースパケット番号とは、ＡＶストリームファイルの中のソースパケットの順番に１ずつインクリメントする番号であり、ファイルの先頭のソースパケット番号がゼロとされる。
【０３６２】
しかしながら、テキスト字幕ストリームは、規格上では、ClipAVストリームとは異なり、EP_mapを持たないものとされている。
【０３６３】
そのため、制御部２１４は、ディスクデータ取得部２１５またはストレージデータ取得部２１８を制御して、テキスト字幕ストリームを一括プリロードさせてバッファ２１７にバッファリングさせるとともに、再生装置１８１でのグローバル時間軸におけるＰＴＳ値Tに対して、次の式(１)および式(２)をいずれも満足するような非負整数iを求めることにより、ＰＴＳ値Tに対応した字幕データが格納されたデータ位置へのランダムアクセスを制御することができる。
【０３６４】
start_PTS（i)≦T      ・・・（１）
T≦end_PTS（i)        ・・・（２）
【０３６５】
一方で、テキスト字幕ストリームは、オーディオ／ビデオのClipAVストリームと同様に時系列データの性質を持つことから、常に、次の式(３)に示される関係が成立する。
【０３６６】
end_PTS（i)≦start_PTS（i＋１）・・・（３）
【０３６７】
したがって、制御部２１４は、任意のＰＴＳ値Tに対して、式(１)および式(２)に示される条件を満足するような非負整数iを求める高速なアルゴリズムとして、例えば、B-Treeインデッキシングなどを用いるようにすることにより、字幕データへのランダムアクセスを制御することが可能になる。なお、制御部２１４は、B-Treeインデッキシング以外のアルゴリズムを用いて、任意のＰＴＳ値Tに対して、式(１)および式(２)に示される条件を満足するような非負整数iを求めるようにしてもよいことはいうまでもない。
【０３６８】
また、制御部２１４は、テキスト字幕ストリームが部分プリロードされる場合、ランダムアクセスを許可せず、シーケンシャルアクセスのみを制御するようにしてもよい。また、制御部２１４は、PlayList再生時に、ディスクデータ取得部２１５から、光ディスク１９３に記録されているテキスト字幕ストリームに対応するSubPlayItem_IN_timeおよびSubPlayItem_OUT_timeなどの情報の供給を受けるか、ストレージデータ取得部２１８から、ローカルストレージ２４に記録されているテキスト字幕ストリームに対応するSubPlayItem_IN_timeおよびSubPlayItem_OUT_timeなどの情報の供給を受け、図６４を用いて説明したEP_mapと同様の、テキスト字幕ストリームのEP_mapを、事前に生成して、メモリ２１６に記憶させておき、メモリ２１６に記憶されたテキスト字幕ストリームのEP_mapを参照して、ランダムアクセスを制御することができるようにしてもよい。
【０３６９】
図６５は、図６３のテキスト字幕処理部２２０の構成を示すブロック図である。
【０３７０】
なお、図６５のテキスト字幕処理部２２０においては、図３４を用いて説明した場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、テキスト字幕処理部２２０は、ＳＴＣカウンタ２１１のカウンタ値、および、制御部２１４から供給されるClipＡＶストリームのデコード動作のギャップなどの情報を取得し、ClipＡＶストリームと同期してテキスト字幕ストリームが再生されるように、テキストデータデコーダ２３２の動作の基準となるＰＴＳを計算するＳＴＣ処理部２３１が新たに設けられ、テキストデータデコーダ１２１に代わって、ＳＴＣ処理部２３１がＳＴＣを基に計算したＰＴＳに基づいて、供給されたテキスト字幕ストリームをデコードするテキストデータデコーダ２３２が設けられている以外は、基本的に、図３４を用いて説明したテキスト字幕処理部９２と同様の構成を有するものである。
【０３７１】
テキストデータデコーダ２３２によるテキストデータのデコード処理においては、MainPathのClipAVストリームが参照するＳＴＣを参照することにより、ClipＡＶストリームとテキスト字幕ストリームとの同期を図ることができる。しかしながら、ClipＡＶストリームは、一つのPlayListファイル中で複数のＳＴＣを保持できるため、テキストデータデコーダ２３２がMainPathのClipAVストリームが参照するＳＴＣを直接参照してしまうと、テキスト字幕ストリームの再生制御が複雑になってしまう要因となる。また、テキスト字幕ストリームは、上述したように、ＰＣＲパケットを持たない。
【０３７２】
そこで、テキスト字幕ストリームをデコードするテキスト字幕処理部２２０においては、Main PathのClip AVストリームの再生時に参照されるＳＴＣを基に、再生装置１８１において一貫したグローバルな時間軸を想定するものとする。ＳＴＣ処理部２３１は、この時間軸を基準としてタイムスタンプを計算し、テキストデータデコーダ２３２に供給する。テキストデータデコーダ２３２は、供給されたタイムスタンプを基準にデコード処理を実行する。
【０３７３】
すなわち、図６６において示されるように、ClipＡＶストリームは、一つのPlayListファイル中のそれぞれのPlayItemで、それぞれにＳＴＣを参照する。したがって、ＳＴＣ処理部２３１は、ＳＴＣカウンタ２１１のカウンタ値を積算して、PlayList内でのグローバルな時間軸を構成し、テキストデータデコーダ２３２の動作の基準となるＰＴＳを計算する。
【０３７４】
そのとき、ＳＴＣ処理部２３１は、図６７に示されるように、ノンシームレス接続条件下でのPlayItem切り替えにより発生するギャップを考慮して、ＳＴＣカウンタ２１１のカウンタ値を積算する必要がある。したがって、ＳＴＣ処理部２３１は、制御部２１４から供給されるClipＡＶストリームのデコード動作のギャップなどの情報を取得し、その情報を基に、PlayItem切り替えにより発生するギャップを考慮したＳＴＣカウンタ２１１のカウンタ値の積算を実行して、テキストデータデコーダ２３２の動作の基準となるＰＴＳを計算する。
【０３７５】
テキストデータデコーダ２３２は、図６６および図６７を用いて説明したように、PlayItem切り替えにより発生するギャップを考慮して、Main PathのClip AVストリームが参照するＳＴＣカウンタ２１１のカウンタ値を積算することにより算出されるＰＴＳを基に、供給されるテキスト字幕のエレメンタリストリームをデコードする。
【０３７６】
次に、図６８のフローチャートを参照して、サーバ３からアップデートファイルをダウンロードする再生装置１８１コントローラ１９１の処理であるダウンロード処理２について説明する。
【０３７７】
この処理は、光ディスク１９３が再生装置１８１に装着されているか否かにかかわらず、ユーザにより、アップデート用データの取得が指令された場合に実行される。
【０３７８】
ステップＳ２０１において、コントローラ１９１のデータ取得部３３は、インターネットインタフェース２４を制御し、インターネット２を介してサーバ３にアクセスし、アップデート用のメニュー画面に対応するデータの送信を要求する。
【０３７９】
ステップＳ２０２において、データ取得部３３は、インターネットインタフェース２４を制御し、インターネット２を介してサーバ３から、アップデート用のメニュー画面に対応するデータを受信する。データ取得部３３は、サーバ３から送信され、インターネットインタフェース２４により受信されたアップデート用のメニュー画面に対応するデータを、メニュー画面表示制御部３１に供給する。
【０３８０】
ステップＳ２０３において、メニュー画面表示制御部３１は、アップデート用のメニュー画面を表示装置に表示させ、ステップＳ２０４に進み、操作入力取得部３２から供給される信号に基づいて、メニュー画面のボタンがユーザにより操作され、アップデートの内容が選択されたか否かを判定する。
【０３８１】
ステップＳ２０４において、メニュー画面表示制御部３１は、アップデートの内容が選択されたと判定するまで待機し、アップデートの内容が選択されたと判定した場合、ステップＳ２０５に進む。ユーザにより選択されたアップデートの内容を表す情報は、メニュー画面表示制御部３１からデータ取得部３３に出力される。
【０３８２】
ステップＳ２０５において、データ取得部３３は、インターネットインタフェース２４を制御し、アップデートの内容を表す情報をサーバ３に送信させ、ユーザが指定したアップデートファイルのダウンロードを要求する。
【０３８３】
ステップＳ２０６において、データ取得部３３は、インターネットインタフェース２４を制御し、サーバ３によりアップデートファイルとして用意される、PlayListファイル、ClipInformationファイル、テキスト字幕ストリームファイル、および、フォントファイルをダウンロードさせ、これらのファイルがダウンロードされたことを、ローカルストレージディレクトリ管理部２０１に通知する。
【０３８４】
ステップＳ２０７において、ローカルストレージディレクトリ管理部２０１は、ダウンロードされたアップデートデータファイルのメタデータに含まれるauthor_idとdisc_idとに基づいて、それらのＩＤで識別されるディレクトリをローカルストレージ２４に作成する。これにより、例えば、図６０を用いて説明した構造のファイルシステムがローカルストレージ２４に作成される。
【０３８５】
ステップＳ２０８において、ローカルストレージディレクトリ管理部２０１は、ステップＳ２０９で作成したディレクトリに、サーバ３からダウンロードされたそれぞれのファイルを展開し、格納させる。
【０３８６】
このような処理により、サーバ３からアップデートファイルがダウンロードされて、ローカルストレージ２４に記録されるので、例えば、映画などのコンテンツが記録された光ディスク１９３を購入したユーザが、光ディスク１９３に予め記録されていない言語の字幕を表示させるために必要なファイルを取得して記録させることができる。したがって、光ディスク１９３に記録されているＡＶストリームと同期させて、ユーザが所望する言語の字幕を表示させて、コンテンツを視聴することが可能となる。
【０３８７】
また、以上のようなアップデートファイルのダウンロードは、有料で行うことができるものであってもよいし、無料で行うことができるものであってもよい。
【０３８８】
次に、図３６のフローチャートを参照して、コントローラ１９１により制御が実行される再生処理２について説明する。
【０３８９】
上述したようにしてダウンロードされたアップデートファイルがローカルストレージ２４に記録されている状態で、光ディスク１９３が装着され、記録されているコンテンツの再生が指示された場合、ステップＳ２２１において、光ディスクディレクトリ管理部２０２は、光ディスク１９３から、ユーザにより書き換え不能なように記録されているauthor_idとdisc_idとを読み出し、読み出したauthor_idとdisc_idとをローカルストレージディレクトリ管理部２０１に出力する。
【０３９０】
ステップＳ２２２において、ローカルストレージディレクトリ管理部２０１は、光ディスクディレクトリ管理部２０２から供給されたauthor_idとdisc_idに基づいて、光ディスク１９３のファイルシステムに対応する、ローカルストレージ２４のファイルシステムを検索し、ファイルシステムマージ処理部２０３に供給する。上述したように、光ディスク１９３のファイルシステムに対応するファイルシステムは、ローカルストレージ２４において、author_idとdisc_idを用いて特定可能なディレクトリに格納されている（図６０）。
【０３９１】
このとき、光ディスクディレクトリ管理部２０２からは、光ディスク１９３のファイルシステムがファイルシステムマージ処理部２０３に出力され、光ディスク１９３のファイルシステムと、ローカルストレージ２４のファイルシステムとが、図６１を参照して説明したようにしてマージされる。そして、ステップＳ２２３において、図７０を用いて後述する仮想ファイルシステム生成処理が実行されて、第２の仮想ファイルシステムが生成される。生成された第２の仮想ファイルシステムは、再生制御部２０４に出力され、ＡＶストリームファイルの再生に用いられる。
【０３９２】
再生制御部２０４は、ステップＳ２２４において、生成された第２の仮想ファイルシステムからMovieObjectを指定し、MovieObjectに含まれる再生コマンドを実行し、ステップＳ２２５において、MovieObjectに含まれる再生コマンドにおいて再生区間として指定されるPlayListとSubPlayItemを取得し、ステップＳ２２６において、ローカルストレージディレクトリ管理部２０１および光ディスクディレクトリ管理部２０２を制御して、取得したPlayListとSubPlayItemが参照するファイル（ＡＶファイル、テキスト字幕ファイル、フォントファイルなど）を読み出させて、デコーダ１９２に供給させる。
【０３９３】
そして、ステップＳ２２７において、図７１を用いて後述するコンテンツ再生処理２、または、図７４を用いて後述するコンテンツ再生処理３が実行されて、読み出されたＡＶストリームファイルやテキスト字幕ストリームファイルなどがデコードされ、映像や音声、または字幕が表示装置から出力されて、処理が終了される。
【０３９４】
以上のように、第２の仮想ファイルシステムが生成され、コンテンツの再生時に利用されることにより、例えば、SubPlayItemが参照するテキスト字幕ファイルのデータが、ＡＶストリームと同時に読み出されて再生される。
【０３９５】
次に、図７０のフローチャートを参照して、図６９のステップＳ２２３において実行される仮想ファイルシステム生成処理について説明する。
【０３９６】
ファイルシステムマージ処理部２０３は、光ディスク１９３のファイルシステムと、ローカルストレージ２４のファイルシステムとを、図６１を参照して説明したようにしてマージし、第２の仮想ファイルシステムを生成する。
【０３９７】
ステップＳ２４１において、ファイルシステムマージ処理部２０３は、処理対象となるアップデートファイル、すなわち、図６９のステップＳ２２２において検出されたファイルシステムにおけるメタデータのoperation_typeの値が0x01であるか否かを判定する。ステップＳ２４１において、アップデートファイルのメタデータのoperation_typeの値が0x01ではないと判定された場合、処理は、後述するステップＳ２４３に進む。
【０３９８】
ステップＳ２４１において、アップデートファイルのメタデータのoperation_typeの値が0x01であると判定された場合、ステップＳ２４２において、ファイルシステムマージ処理部２０３は、光ディスク１９３のPlayListがアップデートファイルのPlayListに交換されて更新された第２の仮想ファイルシステムを生成し、処理は、図６９のステップＳ２２３に戻り、ステップＳ２２４に進む。すなわち、アップデートファイルのメタデータのoperation_typeの値が0x01であると判定された場合、ダウンロードされてローカルストレージ２４に記録されているPlayListがそのままの状態で参照され、光ディスク１９３のPlayListは全く参照されない。
【０３９９】
ステップＳ２４１において、アップデートファイルのメタデータのoperation_typeの値が0x01ではないと判定された場合、ステップＳ２４３において、ファイルシステムマージ処理部２０３は、処理対象となるアップデートファイル、すなわち、図６９のステップＳ２２２において検出されたファイルシステムにおけるメタデータのoperation_typeの値が0x02であるか否かを判定する。ステップＳ２４３において、メタデータのoperation_typeの値が0x02ではないと判断された場合、処理は、ステップＳ２２５に進む。
【０４００】
ステップＳ２４３において、メタデータのoperation_typeの値が0x02であると判断された場合、ステップＳ２４４において、ファイルシステムマージ処理部２０３は、光ディスク１９３のPlayListファイルに、アップデートファイルのSubPathが追加されて更新された第２の仮想ファイルシステムを生成し、処理は、図６９のステップＳ２２３に戻り、ステップＳ２２４に進む。すなわち、アップデートファイルのメタデータのoperation_typeの値が0x02であると判定された場合、図４７および図４８を用いて説明したように、ダウンロードされたファイルから、SubPath要素が抽出され、光ディスク１９３に記録されているSubPath要素に、抽出されたSubPath要素が加えられるようにファイルシステムがマージされて更新される。
【０４０１】
ステップＳ２４３において、メタデータのoperation_typeの値が0x02ではないと判断された場合、ステップＳ２４５において、ファイルシステムマージ処理部２０３は、処理対象となるアップデートファイル、すなわち、図６９のステップＳ２２２において検出されたファイルシステムにおけるメタデータのoperation_typeの値が0x03であるか否かを判定する。ステップＳ２４５において、メタデータのoperation_typeの値が0x03ではないと判断された場合、処理は、ステップＳ２２７に進む。
【０４０２】
ステップＳ２４５において、メタデータのoperation_typeの値が0x03であると判断された場合、ステップＳ２４６において、ファイルシステムマージ処理部２０３は、光ディスク１９３のPlayListファイルに、アップデートファイルのSubPlayItemが追加されて更新された第２の仮想ファイルシステムを生成し、処理は、図６９のステップＳ２２３に戻り、ステップＳ２２４に進む。すなわち、アップデートファイルのメタデータのoperation_typeの値が0x03であると判定された場合、図４９および図５０を用いて説明したように、ダウンロードされたファイルから、SubPlayItem要素が抽出され、光ディスク１９３に記録されているSubPlayItem要素に、抽出されたSubPlayItem要素が加えられるようにファイルシステムがマージされて更新される。
【０４０３】
ステップＳ２４５において、メタデータのoperation_typeの値が0x03ではないと判断された場合、すなわち、operation_typeの値が0x04である場合、ステップＳ２４７において、ファイルシステムマージ処理部２０３は、SubClip_entryを追加するSubPlayItemにおいて、is_multi_Clip_entries（図４５）の値が１であるか否かを判定する。
【０４０４】
ステップＳ２４７において、is_multi_Clip_entriesの値が１でないと判定された場合、すなわち、SubClip_entryを追加するSubPlayItemが、現在１つのSubClip_entryのみを参照している場合、ステップＳ２４８において、ファイルシステムマージ処理部２０３は、更新元のPlayListファイル内のSubClip_entryを追加するSubPlayItemのis_multi_Clip_entriesの値を１に設定する。
【０４０５】
ステップＳ２４７において、is_multi_Clip_entriesの値が１であると判定された場合、または、ステップＳ２４８の処理の終了後、ステップＳ２４９において、ファイルシステムマージ処理部２０３は、SubClip_entryを追加するSubPlayItemのnumber_of_Clip_entries（図４５）の値を、現在の値から１増やす。すなわち、SubClip_entryを追加するSubPlayItemが参照するサブClipの数の設定値が１つ増加される。
【０４０６】
そして、ステップＳ２５０において、ファイルシステムマージ処理部２０３は、光ディスク１９３のPlayListファイルのSubPlayItemに、アップデートファイルのSubClip_entryが追加されて更新された第２の仮想ファイルシステムを生成し、処理は、図６９のステップＳ２２３に戻り、ステップＳ２２４に進む。すなわち、アップデートファイルのメタデータのoperation_typeの値が0x04であると判定された場合、図４５を用いて説明したSubPlayItemのis_multi_Clip_entriesおよびnumber_of_Clip_entriesの値が適宜修正された後、図５１および図５２を用いて説明したように、ダウンロードされたファイルから、SubClip_entry要素が抽出され、光ディスク１９３に記録されているSubClip_entry要素に、抽出されたSubClip_entry要素が加えられるようにファイルシステムがマージされて更新される。
【０４０７】
このような処理により、メタデータのoperation_typeの値によって定められた方法で、光ディスク１９３に記録されているデータと、ローカルストレージ２４に記録されているデータがマージされて、光ディスク１９３に記録されているデータが、ローカルストレージ２４に記録されているアップデートファイルのデータにより更新されたようにユーザから見えるように、第２の仮想ファイルシステムが生成される。
【０４０８】
また、コンテンツの再生のためのテキスト字幕データのロード方法には、上述したように、一括プリロードと部分ロードとの２種類の方法がある。部分ロードが実行される場合、テキスト字幕データのランダムアクセスを可能とするためには、テキスト字幕データに対応するEP_mapを作成する必要がある。
【０４０９】
次に、図７１のフローチャートを参照して、図６８のステップＳ２２７において実行される、コンテンツ再生処理２について説明する。コンテンツ再生処理２においては、テキスト字幕データを一括プリロードすることにより、テキスト字幕データのランダムアクセスが可能なようになされている。
【０４１０】
ステップＳ２６１において、再生制御部２０４は、デコーダ１９２を制御して、図７０を用いて説明した処理により生成された第２の仮想ファイルシステムのPlayItemにより指定されるＡＶストリームデータを再生させる。
【０４１１】
ステップＳ２６２乃至ステップＳ２６４において、図３７のステップＳ６２乃至ステップＳ６４と基本的に同様の処理が実行される。すなわち、字幕データの表示を指令する操作入力を受けたか否かが判断され、字幕データの表示を指令する操作入力を受けたと判断された場合、ユーザの操作入力に対応する信号がメニュー画面表示制御部３１に供給されて、表示装置に表示可能な字幕データの一覧メニューが表示され、表示させる字幕データの言語を指定する操作入力を受けたか否かが判断される。ステップＳ２６４において、表示させる字幕データの言語を指定する操作入力を受けていないと判断された場合、処理は、ステップＳ２６３に戻り、それ以降の処理が繰り返される。
【０４１２】
ステップＳ２６４において、表示させる字幕データの言語を指定する操作入力を受けたと判断された場合、ステップＳ２６５において、操作入力取得部３２は、ユーザの操作入力に対応する信号を再生制御部２０４に供給する。再生制御部２０４は、ローカルストレージディレクトリ管理部２０１を制御し、ユーザの操作入力に基づいて指定されるSubPlayItemにより参照されるテキストサブタイトルデータ、すなわち、テキスト字幕データをデコーダ１９２のストレージデータ取得部２１８に供給させて、制御部２１４の制御に基づいて、バッファ２１７に一括プリロードさせるとともに、必要に応じて、ユーザに指定されたフォントに対応するフォントデータを読み出させて、デコーダ１９２のストレージデータ取得部２１８に供給させる。
【０４１３】
ステップＳ２６６において、図７２および図７３を用いて後述する字幕表示処理２が実行される。
【０４１４】
ステップＳ２６７乃至ステップＳ２６９において、図３７のステップＳ６７乃至ステップＳ６９と基本的に同様の処理が実行される。すなわち、表示させる字幕データの言語の変更を指令する操作入力を受けたか否かが判断され、表示させる字幕データの言語の変更を指令する操作入力を受けたと判断された場合、処理は、ステップＳ２６５に戻り、それ以降の処理が繰り返される。また、ステップＳ２６２において、字幕データの表示を指令する操作入力を受けていないと判断された場合、または、ステップＳ２６７において、表示させる字幕データの言語の変更を指令する操作入力を受けていないと判断された場合、ステップＳ２６８において、コンテンツの再生の終了を指令する操作入力を受けたか、または、再生中のＡＶストリームデータが終了したか否かが判断され、コンテンツの再生の終了を指令する操作入力を受けず、かつ、再生中のＡＶストリームデータが終了していないと判断された場合、ステップＳ２６９において、字幕の表示を中止させる操作入力を受けたか否かが判断される。字幕の表示を中止させる操作入力を受けていないと判断された場合、処理は、ステップＳ２６６に戻り、それ以降の処理が繰り返され、字幕の表示を中止させる操作入力を受けたと判断された場合、処理は、ステップＳ２６１に戻り、それ以降の処理が繰り返される。
【０４１５】
また、ステップＳ２６８において、コンテンツの再生の終了を指令する操作入力を受けたか、再生中のＡＶストリームデータが終了したと判断された場合、処理は、図６８のステップＳ２２７に戻り、終了される。
【０４１６】
このような処理により、サーバ３からダウンロードされ、ローカルストレージ２４に記憶されているテキスト字幕ファイルのうちの、ユーザが所望した言語の字幕に対応するデータがランダムアクセス可能となり、光ディスク１９３に記録されているコンテンツの映像および音声に同期されて表示されるとともに、ユーザの操作入力に基づいて、表示される字幕の言語を変更するために、読み出されるテキスト字幕ファイルが変更される。
【０４１７】
次に、図７２および図７３のフローチャートを参照して、図７１のステップＳ２６６において実行される字幕表示処理２について説明する。
【０４１８】
ステップＳ２９１において、デコーダ１９２の制御部２１４は、ランダムアクセスにおけるデコード開始位置を算出する。そして、制御部２１４は、デコード開始位置の算出結果を基に、一括プリロードされて、バッファ２１７にバッファリングされているテキストサブタイトルデータ、すなわち、テキスト字幕データを、バッファ２１９を介して、テキスト字幕処理部２２０に供給する。
【０４１９】
ステップＳ２９２において、デコーダ１９２のテキスト字幕処理部２２０のテキストデータデコーダ２３２は、ＳＴＣ処理部２３１の処理により、ClipAVストリームが参照しているＳＴＣと同一のＳＴＣカウンタのカウントおよび制御部２１４により供給されるClipＡＶストリームのデコード動作のギャップなどの情報を基に、PlayItem切り替えにより発生するギャップを考慮して計算されたＰＴＳに基づいて、供給されたテキストサブタイトルデータをデコードする。
【０４２０】
ステップＳ２９３乃至ステップＳ３０５において、図３８および図３９のステップＳ９２乃至ステップＳ１０４において実行された処理と基本的に同様の処理が実行される。すなわち、テキスト字幕処理部２２０のテキストデータデコーダ２３２は、デコードされたテキストサブタイトルデータに含まれる文字オブジェクトを、テキスト字幕処理部２２０の文字オブジェクトバッファ１２２に供給して、バッファリングさせ、テキストデータデコーダ２３２は、デコードされたテキストサブタイトルデータに含まれる属性データをテキスト字幕処理部２２０のアトリビュートデータバッファ１２３に供給して、アトリビュートデータバッファ１２３に属性データをバッファリングさせる。
【０４２１】
そして、制御部２１４は、再生制御部２０４（コントローラ１９１）から、例えば、フォントサイズなどの字幕の属性の変更を指令する操作入力を示す信号の入力を受けたか否かを判断し、字幕の属性の変更を指令する操作入力を示す信号の入力を受けたと判断された場合、アトリビュートデータバッファ１２３に保持されている属性データが変更される。
【０４２２】
ステップＳ２９５において、字幕の属性の変更を指令する操作入力を示す信号の入力を受けていないと判断された場合、または、ステップＳ２９６の処理の終了後、文字オブジェクトバッファ１２２およびアトリビュートデータバッファ１２３から文字オブジェクトおよび属性データが取得され、再生制御部２０４（コントローラ１９１）からフォントタイプの変更を指令する操作入力を示す信号の入力を受けたか否かが判断され、フォントタイプの変更を指令する操作入力を示す信号の入力を受けたと判断された場合、再生制御部２０４の制御を受けたローカルストレージディレクトリ管理部２０１（コントローラ１９１）の処理により、操作入力に基づいて、異なるフォントデータがローカルストレージ２４から読み出されて、異なるフォントデータが取得される。
【０４２３】
ステップＳ２９８において、フォントタイプの変更を指令する操作入力を示す信号の入力を受けていないと判断された場合、または、ステップＳ２９９の処理の終了後、取得された属性およびブックマークバッファ１２５が参照されて、ラスタライズしようとしている字幕データは、ブックマークされ、すでにブックマークバッファ１２５にバッファリングされている字幕データであるか否かが判断され、ブックマークされ、バッファリングされている字幕データであると判断された場合、フォントラスタライザ１２４により、ブックマークバッファ１２５から、保存されているブックマーク対象の字幕画像データ（ラスタデータ）が読み出して出力される。
【０４２４】
そして、すでにブックマークされている字幕データではないと判断された場合、取得された文字オブジェクトおよび属性データを基に、ラスタライズが実行されて、字幕グラフィックスプレーン処理部９３に出力され、字幕グラフィックスプレーンが生成されて、合成処理部９４に供給される。そして、この属性データには、新たなブックマークが記載されているか否かが判断され、ブックマークが記載されていると判断された場合、ラスタライズされた字幕画像データがブックマークバッファ１２５に保存される。
【０４２５】
そして、合成処理部９４により、供給された字幕画像データが映像データと合成されて出力され、処理は、図７１のステップＳ２６６に戻り、ステップＳ２６７に進む。
【０４２６】
このような処理により、ユーザの所望する言語の字幕データが、ユーザの所望する属性で、ユーザの所望するフォントで表示されるように、一括プリロードされたテキスト字幕ファイルおよびフォントファイルのデータの読み出しが制御されて、必要に応じてバッファリングされている属性データが変更され、ラスタライズされる。
【０４２７】
次に、図７４のフローチャートを参照して、図６８のステップＳ２２７において実行される、コンテンツ再生処理３について説明する。コンテンツ再生処理３においては、テキスト字幕データは部分プリロードされ、テキスト字幕ストリームに対応するEP_mapが生成されることにより、テキスト字幕データのランダムアクセスが可能なようになされている。
【０４２８】
ステップＳ３６１において、再生制御部２０４は、デコーダ１９２を制御して、図７０を用いて説明した処理により生成された第２の仮想ファイルシステムのPlayItemにより指定されるＡＶストリームデータを再生させる。
【０４２９】
ステップＳ３６２乃至ステップＳ３６４において、図３７のステップＳ６２乃至ステップＳ６４と基本的に同様の処理が実行される。すなわち、字幕データの表示を指令する操作入力を受けたか否かが判断され、字幕データの表示を指令する操作入力を受けたと判断された場合、ユーザの操作入力に対応する信号がメニュー画面表示制御部３１に供給されて、表示装置に表示可能な字幕データの一覧メニューが表示され、表示させる字幕データの言語を指定する操作入力を受けたか否かが判断される。ステップＳ３６４において、表示させる字幕データの言語を指定する操作入力を受けていないと判断された場合、処理は、ステップＳ３６３に戻り、それ以降の処理が繰り返される。
【０４３０】
ステップＳ３６４において、表示させる字幕データの言語を指定する操作入力を受けたと判断された場合、ステップＳ３６５において、デコーダ１９２の制御部２１４は、ディスクデータ取得部２１５から、光ディスク１９３に記録されているテキスト字幕ストリームに対応するSubPlayItem_IN_timeおよびSubPlayItem_OUT_timeなどの情報の供給を受けるか、ストレージデータ取得部２１８から、ローカルストレージ２４に記録されているテキスト字幕ストリームに対応するSubPlayItem_IN_timeおよびSubPlayItem_OUT_timeなどの情報の供給を受け、図６４を用いて説明したEP_mapと同様の、テキスト字幕ストリームのEP_mapを生成し、メモリ２１６に記憶させる。
【０４３１】
ステップＳ３６６において、操作入力取得部３２は、ユーザの操作入力に対応する信号を再生制御部２０４に供給する。再生制御部２０４は、ローカルストレージディレクトリ管理部２０１を制御し、ユーザの操作入力に基づいて指定されるSubPlayItemにより参照されるテキストサブタイトルデータ、すなわち、テキスト字幕データをデコーダ１９２のストレージデータ取得部２１８に供給させて、制御部２１４の制御に基づいて、バッファ８４にバッファリングさせるか、または、ストレージデータ記憶部２１８の内部のバッファにバッファリングさせるとともに、必要に応じて、ユーザに指定されたフォントに対応するフォントデータを読み出させて、デコーダ１９２のストレージデータ取得部２１８に供給させる。
【０４３２】
ステップＳ３６７において、デコーダ１９２により、図７５および図７６を用いて後述する字幕表示処理３が実行される。
【０４３３】
ステップＳ３６８乃至ステップＳ３７０において、図３７のステップＳ６７乃至ステップＳ６９と基本的に同様の処理が実行される。すなわち、表示させる字幕データの言語の変更を指令する操作入力を受けたか否かが判断され、表示させる字幕データの言語の変更を指令する操作入力を受けたと判断された場合、処理は、ステップＳ３６５に戻り、それ以降の処理が繰り返される。また、ステップＳ３６２において、字幕データの表示を指令する操作入力を受けていないと判断された場合、または、ステップＳ３６８において、表示させる字幕データの言語の変更を指令する操作入力を受けていないと判断された場合、ステップＳ３６９において、コンテンツの再生の終了を指令する操作入力を受けたか、または、再生中のＡＶストリームデータが終了したか否かが判断され、コンテンツの再生の終了を指令する操作入力を受けず、かつ、再生中のＡＶストリームデータが終了していないと判断された場合、ステップＳ３７０において、字幕の表示を中止させる操作入力を受けたか否かが判断される。字幕の表示を中止させる操作入力を受けていないと判断された場合、処理は、ステップＳ３６７に戻り、それ以降の処理が繰り返され、字幕の表示を中止させる操作入力を受けたと判断された場合、処理は、ステップＳ３６１に戻り、それ以降の処理が繰り返される。
【０４３４】
また、ステップＳ３６９において、コンテンツの再生の終了を指令する操作入力を受けたか、再生中のＡＶストリームデータが終了したと判断された場合、処理は、図６８のステップＳ２２７に戻り、処理が終了される。
【０４３５】
このような処理により、サーバ３からダウンロードされ、ローカルストレージ２４に記憶されているテキスト字幕ストリームに対応するEP_mapが生成され、ユーザが所望した言語の字幕に対応するデータがランダムアクセス可能となり、光ディスク１９３に記録されているコンテンツの映像および音声に同期されて表示されるとともに、ユーザの操作入力に基づいて、表示される字幕の言語を変更するために、読み出されるテキスト字幕ファイルが変更される。
【０４３６】
次に、図７５および図７６のフローチャートを参照して、図７４のステップＳ３６７において実行される字幕表示処理３について説明する。
【０４３７】
ステップＳ３９１において、デコーダ１９２の制御部２１４は、図７４のステップＳ３６５において生成され、メモリ２１６に記憶されたEP_mapを参照して、バッファ８４、または、ストレージデータ取得部２１８の内部のバッファにバッファリングされているテキストサブタイトルデータすなわち、テキスト字幕データを、バッファ２１９を介して、テキスト字幕処理部２２０に供給し、テキスト字幕処理部２２０を制御して、デコードさせる。デコーダ１９２のテキスト字幕処理部２２０のテキストデータデコーダ２３２は、ＳＴＣ処理部２３１の処理により、ClipAVストリームが参照しているＳＴＣと同一のＳＴＣカウンタのカウントおよび制御部２１４により供給されるClipＡＶストリームのデコード動作のギャップなどの情報を基に、PlayItem切り替えにより発生するギャップを考慮して計算されたＰＴＳに基づいて、供給されたテキストサブタイトルデータをデコードする。
【０４３８】
ステップＳ３９２乃至ステップＳ４０４において、図３８および図３９のステップＳ９２乃至ステップＳ１０４において実行された処理と基本的に同様の処理が実行される。すなわち、テキスト字幕処理部２２０のテキストデータデコーダ２３２は、デコードされたテキストサブタイトルデータに含まれる文字オブジェクトを、テキスト字幕処理部２２０の文字オブジェクトバッファ１２２に供給して、バッファリングさせ、テキストデータデコーダ２３２は、デコードされたテキストサブタイトルデータに含まれる属性データをテキスト字幕処理部２２０のアトリビュートデータバッファ１２３に供給して、アトリビュートデータバッファ１２３に属性データをバッファリングさせる。
【０４３９】
そして、制御部２１４は、再生制御部２０４（コントローラ１９１）から、例えば、フォントサイズなどの字幕の属性の変更を指令する操作入力を示す信号の入力を受けたか否かを判断し、字幕の属性の変更を指令する操作入力を示す信号の入力を受けたと判断された場合、アトリビュートデータバッファ１２３に保持されている属性データが変更される。
【０４４０】
ステップＳ３９４において、字幕の属性の変更を指令する操作入力を示す信号の入力を受けていないと判断された場合、または、ステップＳ３９５の処理の終了後、文字オブジェクトバッファ１２２およびアトリビュートデータバッファ１２３から文字オブジェクトおよび属性データが取得され、再生制御部２０４（コントローラ１９１）からフォントタイプの変更を指令する操作入力を示す信号の入力を受けたか否かが判断され、フォントタイプの変更を指令する操作入力を示す信号の入力を受けたと判断された場合、再生制御部２０４の制御を受けたローカルストレージディレクトリ管理部２０１（コントローラ１９１）の処理により、操作入力に基づいて、異なるフォントデータがローカルストレージ２４から読み出されて、異なるフォントデータが取得される。
【０４４１】
ステップＳ３９７において、フォントタイプの変更を指令する操作入力を示す信号の入力を受けていないと判断された場合、または、ステップＳ３９８の処理の終了後、取得された属性およびブックマークバッファ１２５が参照されて、ラスタライズしようとしている字幕データは、ブックマークされ、すでにブックマークバッファ１２５にバッファリングされている字幕データであるか否かが判断され、ブックマークされ、バッファリングされている字幕データであると判断された場合、フォントラスタライザ１２４により、ブックマークバッファ１２５から、保存されているブックマーク対象の字幕画像データ（ラスタデータ）が読み出して出力される。
【０４４２】
そして、すでにブックマークされている字幕データではないと判断された場合、取得された文字オブジェクトおよび属性データを基に、ラスタライズが実行されて、字幕グラフィックスプレーン処理部９３に出力され、字幕グラフィックスプレーンが生成されて、合成処理部９４に供給される。そして、この属性データには、新たなブックマークが記載されているか否かが判断され、ブックマークが記載されていると判断された場合、ラスタライズされた字幕画像データがブックマークバッファ１２５に保存される。
【０４４３】
そして、合成処理部９４により、供給された字幕画像データが映像データと合成されて出力され、処理は、図７４のステップＳ３６７に戻り、ステップＳ３６８に進む。
【０４４４】
このような処理により、ユーザの所望する言語の字幕データが、ユーザの所望する属性で、ユーザの所望するフォントで表示されるように、一括プリロードされたテキスト字幕ファイルおよびフォントファイルのデータの読み出しが制御されて、必要に応じてバッファリングされている属性データが変更され、ラスタライズされる。
【０４４５】
以上説明したように、本開示の第２の実施の形態においても、光ディスクに記録されているコンテンツと、ダウンロードされてローカルストレージに記録されているコンテンツを関連付けて再生することができる。また、光ディスクに記録されているコンテンツと、ローカルストレージに記録されているコンテンツを関連つけて再生させるための第２の仮想ファイルシステムは、ダウンロードされてローカルストレージに記録されているアーカイブデータのメタデータに含まれるoperation_typeに指定される値に基づいて生成される。
【０４４６】
また、本開示の第２の実施の形態において、ダウンロードされてローカルストレージに記録されているコンテンツは、再生時に、一括プリロードされても、部分プリロードされてもよく、本開示を適用することにより、プリロードの形式にかかわらず、光ディスクに記録されているコンテンツと、ローカルストレージに記録されているコンテンツとは、ＳＴＣを基準として、同期されて再生されるようになされている。
【０４４７】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０４４８】
このプログラム記録媒体は、図１または図４０に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク（ＭＤ（Mini-Disk)（商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２８により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMまたはRAMなどのメモリ２３や、ハードディスクなどのローカルストレージ２４などにより構成される。
【０４４９】
また、本明細書において、プログラム記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的または個別に実行される処理をも含むものである。
【０４５０】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【符号の説明】
【０４５１】
１  再生装置，  １１  光ディスク，  ２１  コントローラ，  ２２  光ディスクドライブ，  ２３  メモリ，  ２４  ローカルストレージ，  ２６  デコーダ，  ３１  メニュー画面表示制御部，  ３２  操作入力取得部，  ３３  データ取得部，  ３４  ローカルストレージディレクトリ管理部，  ３５  光ディスクディレクトリ管理部，  ６６  ファイルシステムマージ処理部，  ３７  再生制御部，  ８１  制御部，  ８６  オーディオデコーダ，  ８７  ＭＰＥＧビデオデコーダ，  ９２  テキスト字幕処理部，  ９３  字幕グラフィックスプレーン処理部，  ９４  合成処理部，  １２１  テキストデータバッファ，  １２２  文字オブジェクトバッファ，  １２３  アトリビュートデータバッファ，  １２４  フォントラスタライザ，  １２５  ブックマークバッファ，  １８１  再生装置，  １９１  コントローラ，  １９２  デコーダ，  １９３  光ディスク，  ２０１  ローカルストレージディレクトリ管理部，  ２０２  光ディスクディレクトリ管理部，  ２０３  ファイルシステムマージ処理部，  ２０４  再生制御部，  ２１１  ＳＴＣカウンタ，  ２１４  制御部，  ２１５  ディスクデータ取得部，  ２１６  メモリ，  ２１７  バッファ，  ２１８  ストレージデータ取得部，  ２１９  バッファ，  ２２０  テキスト字幕処理部，  ２３１  ＳＴＣ処理部，  ２３２  テキストデータデコーダ
【図１】
2011239447.tif 000003
【図２】
2011239447.tif 000004
【図３】
2011239447.tif 000005
【図４】
2011239447.tif 000006
【図５】
2011239447.tif 000007
【図６】
2011239447.tif 000008
【図７】
2011239447.tif 000009
【図８】
2011239447.tif 000010
【図９】
2011239447.tif 000011
【図１０】
2011239447.tif 000012
【図１１】
2011239447.tif 000013
【図１２】
2011239447.tif 000014
【図１３】
2011239447.tif 000015
【図１４】
2011239447.tif 000016
【図１５】
2011239447.tif 000017
【図１６】
2011239447.tif 000018
【図１７】
2011239447.tif 000019
【図１８】
2011239447.tif 000020
【図１９】
2011239447.tif 000021
【図２０】
2011239447.tif 000022
【図２１】
2011239447.tif 000023
【図２２】
2011239447.tif 000024
【図２３】
2011239447.tif 000025
【図２４】
2011239447.tif 000026
【図２５】
2011239447.tif 000027
【図２６】
2011239447.tif 000028
【図２７】
2011239447.tif 000029
【図２８】
2011239447.tif 000030
【図２９】
2011239447.tif 000031
【図３０】
2011239447.tif 000032
【図３１】
2011239447.tif 000033
【図３２】
2011239447.tif 000034
【図３３】
2011239447.tif 000035
【図３４】
2011239447.tif 000036
【図３５】
2011239447.tif 000037
【図３６】
2011239447.tif 000038
【図３７】
2011239447.tif 000039
【図３８】
2011239447.tif 000040
【図３９】
2011239447.tif 000041
【図４０】
2011239447.tif 000042
【図４１】
2011239447.tif 000043
【図４２】
2011239447.tif 000044
【図４３】
2011239447.tif 000045
【図４４】
2011239447.tif 000046
【図４５】
2011239447.tif 000047
【図４６】
2011239447.tif 000048
【図４７】
2011239447.tif 000049
【図４８】
2011239447.tif 000050
【図４９】
2011239447.tif 000051
【図５０】
2011239447.tif 000052
【図５１】
2011239447.tif 000053
【図５２】
2011239447.tif 000054
【図５３】
2011239447.tif 000055
【図５４】
2011239447.tif 000056
【図５５】
2011239447.tif 000057
【図５６】
2011239447.tif 000058
【図５７】
2011239447.tif 000059
【図５８】
2011239447.tif 000060
【図５９】
2011239447.tif 000061
【図６０】
2011239447.tif 000062
【図６１】
2011239447.tif 000063
【図６２】
2011239447.tif 000064
【図６３】
2011239447.tif 000065
【図６４】
2011239447.tif 000066
【図６５】
2011239447.tif 000067
【図６６】
2011239447.tif 000068
【図６７】
2011239447.tif 000069
【図６８】
2011239447.tif 000070
【図６９】
2011239447.tif 000071
【図７０】
2011239447.tif 000072
【図７１】
2011239447.tif 000073
【図７２】
2011239447.tif 000074
【図７３】
2011239447.tif 000075
【図７４】
2011239447.tif 000076
【図７５】
2011239447.tif 000077
【図７６】
2011239447.tif 000078