(57)【要約】【課題】ユーザが字幕を確実に判別できるようにする。【解決手段】  アトリビュートバッファ１２３は、文字オブジェクトバッファ１２２に保持された字幕用の文字オブジェクトに適用するフォントスタイルを指定するフォントスタイル指定情報、および、アウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも保持する。フォントラスタライザ１２４は、フォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合、アウトラインのついたフォントスタイルのフォントスタイルデータを取得し、幅指定情報に基づいてフォントスタイルデータを更新し、文字オブジェクトを、更新されたフォントスタイルデータを少なくとも用いて字幕データに変換する。本発明は再生装置に適用できる。【選択図】図２６
2006295531.tif 000002
【特許請求の範囲】
【請求項１】
所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成する情報処理装置において、
前記字幕を表示させるための文字オブジェクトを保持する文字オブジェクト保持手段と、
前記文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データを保持する属性データ保持手段と、
前記属性データ保持手段により保持された前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合、前記アウトラインのついたフォントスタイルのフォントスタイルデータを取得し、前記属性データ保持手段により保持された前記幅指定情報に基づいて前記フォントスタイルデータを更新し、前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、更新された前記フォントスタイルデータを少なくとも用いて字幕データに変換する変換手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記変換手段は、
前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合、前記アウトラインのついたフォントスタイルの第１のフォントスタイルデータを取得する取得手段と、
前記幅指定情報に基づいて、前記取得手段により取得された前記第１のフォントスタイルデータに対応する文字オブジェクトのアウトラインの幅を、その文字オブジェクトの白抜き部分に向かう内側方向とその逆の外側方向ともに同一の割合で伸縮させる処理を施し、その処理の結果得られる、前記内側方向と前記外側方向ともに幅が伸縮されたアウトラインのついたフォントスタイルの第２のフォントスタイルデータを出力する幅変更手段と、
前記幅変更手段から出力された前記第２のフォントスタイルデータに対応する文字オブジェクトの上に、前記取得手段により取得された前記第１のフォントスタイルデータに対応する文字オブジェクトデータを合成させる処理を施し、その処理の結果得られる、前記外側方向だけに幅が伸縮されたアウトラインのついたフォントスタイルの文字オブジェクトデータからなる前記字幕データを出力する合成手段と
を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記属性データ保持手段により保持されている前記属性情報は、
前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの色を指定可能な色指定情報をさらに含み、
前記変換手段は、
前記属性データ保持手段により保持された前記幅指定情報に加えてさらに前記色指定情報基づいて前記フォントスタイルデータを更新し、前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、更新された前記フォントスタイルデータを少なくとも用いて前記字幕データに変換する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成する情報処理装置の情報処理方法において、
前記字幕を表示させるための文字オブジェクトの保持を制御する文字オブジェクト保持制御ステップと、
前記文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データの保持を制御する属性データ保持制御ステップと、
前記属性データ保持制御ステップの制御処理により保持された前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合、前記アウトラインのついたフォントスタイルのフォントスタイルデータを取得し、前記属性データ保持制御ステップの処理により保持された前記幅指定情報に基づいて前記フォントスタイルデータを更新し、前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、更新された前記フォントスタイルデータを少なくとも用いて字幕データに変換する変換ステップと
を含むことを特徴とする情報処理方法。
【請求項５】
所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成する処理をコンピュータに実行させるプログラムであって、
前記字幕を表示させるための文字オブジェクトの保持を制御する文字オブジェクト保持制御ステップと、
前記文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データの保持を制御する属性データ保持制御ステップと、
前記属性データ保持制御ステップの制御処理により保持された前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合、前記アウトラインのついたフォントスタイルのフォントスタイルデータを取得し、前記属性データ保持制御ステップの処理により保持された前記幅指定情報に基づいて前記フォントスタイルデータを更新し、前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、更新された前記フォントスタイルデータを少なくとも用いて字幕データに変換する変換ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが格納されているプログラム格納媒体。
【請求項６】
所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成する処理をコンピュータに実行させるプログラムであって、
前記字幕を表示させるための文字オブジェクトの保持を制御する文字オブジェクト保持制御ステップと、
前記文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データの保持を制御する属性データ保持制御ステップと、
前記属性データ保持制御ステップの制御処理により保持された前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合、前記アウトラインのついたフォントスタイルのフォントスタイルデータを取得し、前記属性データ保持制御ステップの処理により保持された前記幅指定情報に基づいて前記フォントスタイルデータを更新し、前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、更新された前記フォントスタイルデータを少なくとも用いて字幕データに変換する変換ステップと
を含むことを特徴とするプログラム。
【請求項７】
所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成するために必要な情報のデータ構造であって、
前記字幕を表示させるための文字オブジェクト、
前記文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データと
を含むことを特徴とするデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、プログラム格納媒体、プログラム、並びにデータ構造に関し、特に、ユーザが字幕を確実に判別できるようにする情報処理装置および情報処理方法、プログラム格納媒体、プログラム、並びにデータ構造に関する。
【背景技術】
【０００２】
DVD（Digital Versatile Disc）の再生専用の規格の１つにDVDビデオフォーマットがある。このDVDビデオフォーマットにおいては、ビデオやオーディオなどのコンテンツデータが字幕などの各種のサブピクチャのデータとともに多重化され、プログラムストリームとしてディスクに記録されている。また、そのストリームをインタラクティブに再生するためのナビゲーションデータもディスクに記録されている。このような技術は、例えば特許文献１や特許文献２等にも開示されている。
【０００３】
ここで、インタラクティブな再生とは、好みの位置からの再生や好みの順番での再生の他、様々な角度から撮影された映像の再生を可能にするマルチアングル機能、複数の言語の中から好みの言語での再生を可能にするマルチランゲージ機能、暴力シーンなどの、あるシーンの再生を行わないようにするバレンタルコントロール機能など、DVDの各種の機能をユーザが利用して行う再生をいう。
【０００４】
プログラムストリームは、複数のオーディオストリームと複数の字幕データストリームを多重化することも可能とされる。これにより、例えば、映画などの１つのビデオコンテンツに対して、複数の異なる言語の字幕のデータを１枚のディスクに記録させることが可能となり、ユーザは、ビデオの再生開始時や再生中に、好みの言語の音声や字幕を選択することができる。
【０００５】
【特許文献１】特開２００３−１４０６６２号公報
【特許文献２】特開２００２−３１１９６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、字幕とビデオとは同時に再生されるが、即ち、順次再生されていく各フレームのそれぞれにはビデオとそれに対応する字幕とが含まれているが、それらのフレームのうちの、例えば字幕の色とビデオの色とが同一または類似となってしまうフレームでは、ユーザからすると、あたかも字幕がビデオと一体化してしまって、字幕を判別できないこともある、という問題があった。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、ユーザが字幕を確実に判別できるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成する情報処理装置であって、字幕を表示させるための文字オブジェクトを保持する文字オブジェクト保持手段と、文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、フォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データを保持する属性データ保持手段と、属性データ保持手段により保持されたフォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合、アウトラインのついたフォントスタイルのフォントスタイルデータを取得し、属性データ保持手段により保持された幅指定情報に基づいてフォントスタイルデータを更新し、文字オブジェクト保持手段により保持された文字オブジェクトを、更新されたフォントスタイルデータを少なくとも用いて字幕データに変換する変換手段とを備えることを特徴とする。
【０００９】
変換手段は、フォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合、アウトラインのついたフォントスタイルの第１のフォントスタイルデータを取得する取得手段と、幅指定情報に基づいて、取得手段により取得された第１のフォントスタイルデータに対応する文字オブジェクトのアウトラインの幅を、その文字オブジェクトの白抜き部分に向かう内側方向とその逆の外側方向ともに同一の割合で伸縮させる処理を施し、その処理の結果得られる、前記内側方向と前記外側方向ともに幅が伸縮されたアウトラインのついたフォントスタイルの第２のフォントスタイルデータを出力する幅変更手段と、幅変更手段から出力された第２のフォントスタイルデータに対応する文字オブジェクトの上に、取得手段により取得された第１のフォントスタイルデータに対応する文字オブジェクトデータを合成させる処理を施し、その処理の結果得られる、外側方向だけに幅が伸縮されたアウトラインのついたフォントスタイルの文字オブジェクトデータからなる字幕データを出力する合成手段とを有するようにすることができる。
【００１０】
属性データ保持手段により保持されている属性情報は、フォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの色を指定可能な色指定情報をさらに含み、変換手段は、属性データ保持手段により保持された幅指定情報に加えてさらに色指定情報基づいてフォントスタイルデータを更新し、文字オブジェクト保持手段により保持された文字オブジェクトを、更新されたフォントスタイルデータを少なくとも用いて字幕データに変換するようにすることができる。
【００１１】
本発明の情報処理方法は、所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成する情報処理装置の情報処理方法であって、字幕を表示させるための文字オブジェクトの保持を制御する文字オブジェクト保持制御ステップと、文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、フォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データの保持を制御する属性データ保持制御ステップと、属性データ保持制御ステップの制御処理により保持されたフォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合、アウトラインのついたフォントスタイルのフォントスタイルデータを取得し、属性データ保持制御ステップの処理により保持された幅指定情報に基づいてフォントスタイルデータを更新し、文字オブジェクト保持手段により保持された文字オブジェクトを、更新されたフォントスタイルデータを少なくとも用いて字幕データに変換する変換ステップとを含むことを特徴とする。
【００１２】
本発明のプログラム格納媒体とプログラムのそれぞれは、上述した本発明の情報処理方法に対応するプログラム格納媒体とプログラムのそれぞれである。
【００１３】
本発明の情報処理装置および方法、プログラム格納媒体、並びにプログラムにおいては、所定のＡＶストリームに対応する字幕を表示させるための字幕データが生成される。具体的には、字幕データは次のようにして生成される。即ち、字幕を表示させるための文字オブジェクトが保持されており、また、文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、フォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データが保持されている。そこで、保持されたフォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合、アウトラインのついたフォントスタイルのフォントスタイルデータが取得されて、保持された幅指定情報に基づいてフォントスタイルデータが更新され、保持された文字オブジェクトが、更新されたフォントスタイルデータを少なくとも用いて字幕データに変換される。
【００１４】
本発明のデータ構造は、所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成するために必要な情報のデータ構造であって、字幕を表示させるための文字オブジェクト、文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、フォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データとを含むことを特徴とする。
【００１５】
本発明のデータ構造を有するデータにより、所定のＡＶストリームに対応する字幕を表示させるための字幕データが生成される。即ち、字幕を表示させるための文字オブジェクト、文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、フォントスタイル指定情報においてアウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データを利用して、字幕データが生成される。
【発明の効果】
【００１６】
本発明によれば、所定のＡＶストリームが再生されているときに、ＡＶストリームに対応する字幕の表示が可能になる。特に、ユーザがその字幕を確実に判別できるようになる。
【発明を実施するための最良の形態】
【００１７】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００１８】
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００１９】
請求項１に記載の情報処理装置（例えば、図１の再生装置１）は、
所定のＡＶストリームを再生するとともに、前記ＡＶストリームに対応する字幕を表示させるための字幕データを生成する情報処理装置において、
前記字幕を表示させるための文字オブジェクト（例えば、図１０や図１１のDialog Presentation Segment）を保持する文字オブジェクト保持手段（例えば図２６の文字オブジェクトバッファ１２２）と、
前記文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報（例えば図２２に示されるように、0x04乃至0x07で示されるアウトラインスタイルを指定可能な、図１５のfont_style）、および、前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報（例えば図１６のOutline_size）を少なくとも含む属性データ（例えば図１６のdialog_style_setを含む、図１０と図１１のDialog Style Segment）を保持する属性データ保持手段（例えば図２６のアトリビュートバッファ１２３）と、
前記属性データ保持手段により保持された前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合、前記アウトラインのついたフォントスタイルのフォントスタイルデータを取得し、前記属性データ保持手段により保持された前記幅指定情報に基づいて前記フォントスタイルデータを更新し、前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、更新された前記フォントスタイルデータを少なくとも用いて字幕データに変換する変換手段（例えば図３４のフォントラスタライザ１２４）と
を備えることを特徴とする。
【００２０】
前記変換手段は、
前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合、前記アウトラインのついたフォントスタイルの第１のフォントスタイルデータを取得する取得手段（例えば図２７のアウトラインスタイル取得部１６１）と、
前記幅指定情報に基づいて、前記取得手段により取得された前記第１のフォントスタイルデータに対応する文字オブジェクトのアウトラインの幅を、その文字オブジェクトの白抜き部分に向かう内側方向とその逆の外側方向ともに同一の割合で伸縮させる処理を施し、その処理の結果得られる、前記内側方向と前記外側方向ともに幅が伸縮されたアウトラインのついたフォントスタイルの第２のフォントスタイルデータを出力する幅変更手段（例えば図２７の両幅変更部１６３）と、
前記幅変更手段から出力された前記第２のフォントスタイルデータに対応する文字オブジェクトデータ（例えば図３１の文字オブジェクトデータ１８２）の上に、前記取得手段により取得された前記第１のフォントスタイルデータに対応する文字オブジェクトデータ（例えば図３１の文字オブジェクトデータ１８１）を合成させる処理を施し、その処理の結果得られる、前記外側方向だけに幅が伸縮されたアウトラインのついたフォントスタイルの文字オブジェクトデータ（例えば図３１の文字オブジェクトデータ１８３）からなる前記字幕データを出力する合成手段と
を有するようにすることができる。
【００２１】
前記属性データ保持手段により保持されている前記属性情報は、
前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの色を指定可能な色指定情報（例えば図１６のoutline_palette_entry_id_ref）をさらに含み、
前記変換手段は、
前記属性データ保持手段により保持された前記幅指定情報に加えてさらに前記色指定情報基づいて前記フォントスタイルデータを更新し、前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、更新された前記フォントスタイルデータを少なくとも用いて前記字幕データに変換する
ようにすることができる。
【００２２】
請求項４に記載の情報処理方法は、
所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成する情報処理装置（例えば図１の再生装置）の情報処理方法において、
前記字幕を表示させるための文字オブジェクトの保持を制御する文字オブジェクト保持制御ステップ（例えば図３４のステップＳ５２）と、
前記文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報、および、前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインのついたフォントスタイルに対応する文字オブジェクトについてのアウトラインの幅を指定可能な幅指定情報を少なくとも含む属性データの保持を制御する属性データ保持制御ステップ（例えば図３４のステップＳ５３）と、
前記属性データ保持制御ステップの制御処理により保持された前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合、前記アウトラインのついたフォントスタイルのフォントスタイルデータを取得し、前記属性データ保持制御ステップの処理により保持された前記幅指定情報に基づいて前記フォントスタイルデータを更新し、前記文字オブジェクト保持手段により保持された前記文字オブジェクトを、更新された前記フォントスタイルデータを少なくとも用いて字幕データに変換する変換ステップ（例えば主に、図３４のステップＳ５４ＹＥＳ，Ｓ５６，Ｓ５７、並びに、図３５のステップＳ６１）と
を含むことを特徴とする。
【００２３】
また、請求項５に記載のプログラム格納媒体に記録されているプログラム、および、請求項６に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項４に記載の情報処理方法と同様である。
【００２４】
請求項７に記載のデータ構造（例えば、図１０乃至図１８に示されるテキストサブタイトルストリームファイルのデータ構造）は、
所定のＡＶストリームに対応する字幕を表示させるための字幕データを生成するために必要な情報のデータ構造であって、
前記字幕を表示するための文字オブジェト（例えば、図１０や図１１のDialog Presentation Segumennt）と、
前記文字オブジェクトに適用するフォントスタイルとしてアウトラインのついたフォントスタイルを少なくとも指定可能なフォントスタイル指定情報（例えば図２２に示されるように、0x04乃至0x07で示されるアウトラインスタイルを指定可能な、図１５のfont_style）、および、前記フォントスタイル指定情報において前記アウトラインのついたフォントスタイルが指定されている場合に、そのアウトラインの幅を指定可能な幅指定情報（例えば図１６のOutline_size）を少なくとも含む属性データ（例えば図１６のdialog_style_setを含む、図１０と図１１のDialog Style Segment）と
を含むことを特徴とする。
【００２５】
以下、図を参照して、本発明の実施の形態について説明する。
【００２６】
図１は、本発明を適用した情報処理装置としての再生装置１の構成例を示すブロック図である。
【００２７】
コントローラ２１は、予め用意されている制御プログラムを実行するか、または、光ディスクドライブ２２を制御して光ディスク１１に記録されているナビゲーションプログラム（後述）を読み出し、メモリ２３に展開して実行することで、再生装置１の全体の動作を制御する。例えば、コントローラ２１は、光ディスク１１が装着されたとき、所定のメニュー画面を外部の表示装置に表示させることができる。
【００２８】
光ディスクドライブ２２は、コントローラ２１による制御に従って光ディスク１１からデータを読み出し、読み出したデータを、コントローラ２１、メモリ２３、または、デコーダ２６に出力する。光ディスク１１から読み出された情報が、ナビゲーションプログラムや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は、予め光ディスク１１に記録されていても良いし、ネットワーク２を介して、サーバ３からダウンロードされるものであっても良いし、または、リムーバブルメディア（例えば、後述するリムーバブルメディア２８）を用いて取得することができるようにしても良い。
【００３９】
再び、図１の説明に戻る。
【００４０】
メモリ２３は、コントローラ２１が各種の処理を実行する上において必要なデータなどを適宜記憶する。ローカルストレージ２４は、例えば、HDD(Hard Disk Drive)などより構成される。
【００４１】
インターネットインタフェース２５は、有線または無線によりネットワーク２に接続されており、コントローラ２１からの制御に従って、ネットワーク２を介して、サーバ３との間で通信を行い、サーバ３からダウンロードされたデータをローカルストレージ２４に供給する。サーバ３からは、例えば、そのとき再生装置１に装着されている光ディスク１１に記録されている、図２を用いて説明したデータをアップデートさせるデータがコンテンツとしてダウンロードされる。ローカルストレージ２４は、サーバ３からネットワーク２経由でダウンロードしたコンテンツを記録することができる。
【００４２】
デコーダ２６は、光ディスクドライブ２２、または、ローカルストレージ２４から供給されるＡＶストリーム、または、テキストデータをデコードし、得られたビデオ信号とオーディオ信号を外部の表示装置に出力する。表示装置においては、デコーダ２６によりデコードされた信号に基づいて、例えば、光ディスク１１に記録されているコンテンツの出力（映像の表示、音声の出力）が行われる。
【００４３】
操作入力部２９は、例えば、ボタン、キー、タッチパネル、ジョグダイヤル、マウスなどの入力デバイスや、所定のリモートコマンダから送信される赤外線などの信号を受信する受信部により構成され、ユーザの操作入力を取得し、コントローラ２１に供給する。
【００４４】
また、コントローラ２１には、必要に応じてドライブ２７も接続されており、ドライブ２７には、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory)，DVDを含む）、光磁気ディスク（ＭＤ（登録商標）（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２８が装着される。
【００４５】
次に、再生装置１に装着された光ディスク１１に記録されたデータ、および、ローカルストレージ２４に記憶されたデータを再生する方法について説明する。
【００４６】
再生装置１はHDD(Hard Disk Drive)などよりなるローカルストレージ２４を内部に備える。再生装置１は、有線または無線によりネットワーク２に接続されており、サーバ３からネットワーク２経由でダウンロードしたコンテンツを、このローカルストレージ２４に記録することができる。サーバ３からは、例えば、そのとき再生装置１に装着されている光ディスク１１に記録されている映画などのコンテンツをアップデートさせるデータをダウンロードすることができる。
【００４７】
ダウンロードされたコンテンツがローカルストレージ２４に記録されている状態で、操作入力部２９から、光ディスク１１に記録されているコンテンツの再生が指示されたとき、コントローラ２１は、光ディスク１１に記録されているコンテンツと、ローカルストレージ２４に記録されているコンテンツを関連付けて、コンテンツの再生処理を実行する。
【００４８】
図４は、図１のコントローラ２１の機能構成例を示すブロック図である。
【００４９】
図４の各構成は、予め用意されている制御プログラムがコントローラ２１により実行されることにより、または、光ディスク１１に記録されているナビゲーションプログラムがコントローラ２１により実行されることにより実現される。
【００５０】
メニュー画面表示制御部３１は、光ディスク１１に記録されているコンテンツの音声、または字幕の言語や、映像のアングルを選択するときにユーザにより操作されるボタンや、ダウンロードするアップデートファイルを選択するときにユーザにより操作されるボタンなどを含むメニュー画面を外部の表示装置に表示させる。
【００５１】
操作入力取得部３２は、操作入力部２９から入力された、ユーザからの操作入力を示す信号を取得し、ユーザからの操作入力を示す信号を、メニュー画面表示制御部３１、データ取得部３３、または、再生制御部３７のうちの対応する箇所に出力する。
【００５２】
データ取得部３３は、図１のインターネットインタフェース２５において行われる通信、または、ドライブ２７によるリムーバブルメディア２８との情報の授受を制御する。例えば、データ取得部３３は、ユーザが指示したアップデートファイルをサーバ３からダウンロードして取得し、取得したファイルをローカルストレージディレクトリ管理部３４に出力する。
【００５３】
ローカルストレージディレクトリ管理部３４は、ローカルストレージ２４のディレクトリを管理し、ローカルストレージ２４に対するデータの書き込み、および、ローカルストレージ２４からのデータの読み出しを制御する。例えば、ローカルストレージディレクトリ管理部３４の制御によりローカルストレージ２４から読み出された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」の名前が設定されたファイルは、ダウンロードにより新たに取得されたファイルである。
【００７２】
ローカルストレージ２４のSTREAMフォルダには、「04000.m2ts」の名前が設定されたファイルが格納されている。このファイルは、ダウンロードにより新たに取得されたファイルである。
【００７３】
なお、同様に、図５の例においては、ローカルストレージ２４の「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を使用して記述するものとされている。
【００９１】
本実施の形態では、テキスト字幕ファイル（テキストサブタイトルファイルであって、図８で言うtext_subtitle_file）は、図１０に示されるようなストリームファイルとして構成されている。以下、このようにストリームファイルとして構成されるテキスト字幕ファイルを、テキストサブタイトルストリームファイル（Text_Subtitle_Stream File）と称する。
【００９２】
図１０の一番上の図に示されるように、テキストサブタイトルストリームファイルは、伝送時には、複数のトランスポートパケット（図１０中ＴＰと記述されているパケットであり、以下、その記載に併せてＴＰと称する）から構成されるトランスポートストリームの形態を取っている。
【００９３】
なお、図１０の例では、トランスポートストリームは、0x1800という同一のＰＩＤを有するＴＰのみで構成されている。換言すると、図１０の例では、トランスポートストリームは、テキストサブタイトルストリームファイルの一部に対応するＴＰのみで構成されている。即ち、図１０の例では、トランスポートストリームは、テキストサブタイトルストリームファイルのみから構成されている。
【００９４】
このようなトランスポートストリームは、データ処理時（例えば記録処理時や再生処理時）またはその前に、図１０の上から２番目の図に示されるように、PES(Packetized Elementary Stream)パケットを単位とするストリームに変換される。即ち、図１０の上から２番目の図は、PESパケット（PES Packet）を単位とするテキストサブタイトルストリームファイルの構成例を示している。テキストサブタイトルストリームファイルを構成する複数のPESパケットのうちの一番先頭のPESパケットは、Dialog Style Segmentと称されている。このDialog Style Segmentが、後述する属性データに対応するPESパケットである。また、Dialog Style Segmentに続く複数のPESパケットのそれぞれは、Dialog Presentation Segmentと称されている。このDialog Presentation Segmentが、後述する文字オブジェクトに対応するPESパケットである。
【００９５】
図１１は、このようなテキストサブタイトルストリーム（Text_subtitle_stream）ファイルのシンタックスを示す図である。
【００９６】
図１１において、number_of_dialog_presentation_segmentsの１６ビットのフィールドは、Dialog Style Segmntに続くDialog Presentation Segmentの個数を指定する。即ち、テキストサブタイトルストリーム（Text_subtitle_stream）ファイルは、先頭にDialog Style Segmentが配置され、その後には、number_of_dialog_presentation_segmentsで指定された個数分のDialog Presentation Segmentが続いて配置されて構成されることになる。
【００９７】
図１２は、１つのセグメント(Segment)の一般的なシンタックスを示す図である。
【００９８】
図１２に示されるように、１つのセグメント(Segment)は、segment_descriptorとsegment_dataとから構成される。
【００９９】
図１３は、segment_descriptorのシンタックスを示す図である。
【０１００】
segment_typeの８ビットのフィールドは、セグメントのタイプを指定する。具体的には、segment_typeには、図１４に示されるセグメントのタイプのうちの所定の１つが、それに対応する値（図１４中同一行の値）で指定される。即ち、セグメントのタイプがDialog Style Segmentの場合、0x81がsegment_typeに設定される。また、セグメントのタイプがDialog Presentation Segmentの場合、0x82がsegment_typeに設定される。なお、0x00乃至0x13、0x19乃至0x7F、および、0x83乃至0xFFは、予備として用意されている。また、0x14乃至0x18、および、0x80は、グラフィックストリーム用のセグメントを指定する値として用意されている。
【０１０１】
segment_lengthの１６ビットのフィールドは、このセグメント(segment)のバイト数を指定する。
【０１０２】
このような図１２乃至図１４のシンタックスを有するsegmentのうちの、Dialog Style Segmentのシンタックスは図１５に示される通りになる。
【０１０３】
即ち、図１２のsegment_dataは、図１５のDialog Style Segmentではdialog_style_setとなる。
【０１０４】
図１６と図１７は、このdialog_style_setのシンタックスを示している。詳細については後述するが、このシンタックスにより、本発明の特徴のひとつである「字幕等を構成するテキストで利用される文字オブジェクトにアウトラインを付ける」ことが実現可能になる。
【０１０５】
図１６において、player_style_flagの１ビットのフィールドは、このdialog_style_setをユーザ独自のスタイルに変更することの許可の有無を指定する。即ち、図１８に示されるように、その許可を行わない（禁止する）場合には、player_style_flagとして0bが指定される。これに対して、その許可を行う場合には、player_style_flagとして1bが指定される。
【０１０６】
number_of_region_stylesの８ビットのフィールドは、このdialog_style_setで使われるregion_style（後述）の個数を指定する。number_of_user_stylesの８ビットのフィールドは、このdialog_style_setで使われるuser_style（後述）の個数を指定する。
【０１０７】
region_style_idの８ビットのフィールドは、対象のregion_style（リージョン  スタイル）の識別子を指定する。region（リージョン）とは描画領域を示す。
【０１０８】
region_horizontal_positionの１６ビットのフィールドは、対象のリージョンの水平方向座標を指定する。region_vertical_positionの１６ビットのフィールドは、対象のリージョンの垂直方向座標を指定する。region_widthの１６ビットのフィールドは、対象のリージョンの幅を指定する。region_heightの１６ビットのフィールドは、対象のリージョンの高さを指定する。region_bg_palette_entry_id_refの８ビットのフィールドは、対象のリージョンのバックグラウンドの色を指定する。
【０１０９】
text_box_horizontal_positionの１６ビットのフィールドは、対象のリージョン中のテキストボックス（字幕を構成するテキストが表示される範囲）の水平方向座標を指定する。text_box_vertical_positionの１６ビットのフィールドは、そのテキストボックスの垂直方向座標を指定する。text_box_widthの１６ビットのフィールドは、そのテキストボックスの幅を指定する。text_box_heightの１６ビットのフィールドは、そのテキストボックスの高さを指定する。
【０１１０】
text_flowの８ビットのフィールドは、対象のリージョン中のテキストボックスに表示されるテキストの表示方向を指定する。具体的には、text_flowには、図１９に示される表示方向のうちの所定の１つが、それに対応する値（図１９中同一行の値）で指定される。即ち、表示方向が水平方向のうちの左から右に向かう方向である場合、１がtext_flowに指定される。表示方向が水平方向のうちの右から左に向かう方向である場合、２がtext_flowに指定される。表示方向が垂直方向のうちの上から下に向かう方向である場合、３がtext_flowに指定される。なお、予備の値として、０、および１乃至３以外の値が用意されている。
【０１１１】
text_horizontal_alignmentの８ビットのフィールドは、対象のリージョン中のテキストボックスに表示されるテキストの右寄せ、左寄せ、中央寄せ（水平方向での中央寄せ）を指定する。具体的には、図２０に示されるような値がtext_horizontal_alignmentに指定される。即ち、左寄せの場合、１がtext_horizontal_alignmentに指定される。中央寄せの場合、２がtext_horizontal_alignmentに指定される。右寄せの場合、３がtext_horizontal_alignmentに指定される。なお、予備の値として、０、および１乃至３以外の値が用意されている。
【０１１２】
text_vertical_alignmentの８ビットのフィールドは、対象のリージョン中のテキストボックスに表示されるテキストの上寄せ、下寄せ、中央寄せ（垂直方向での中央寄せ）を指定する。具体的には、図２１に示されるような値がtext_vertical_alignmentに指定される。即ち、上寄せの場合、１がtext_vertical_alignmentに指定される。中央寄せの場合、２がtext_vertical_alignmentに指定される。下寄せの場合、３がtext_vertical_alignmentに指定される。なお、予備の値として、０、および１乃至３以外の値が用意されている。
【０１１３】
line_spaceの８ビットのフィールドは、対象のリージョンにおけるベースラインの間隔を指定する。
【０１１４】
font_id_refの８ビットのフィールドは、対象のリージョン中のテキストボックスに表示されるテキストのフォントを指定する。
【０１１５】
font_styleの８ビットのフィールドは、対象のリージョン中のテキストボックスに表示されるテキストのフォントスタイルを指定する。具体的には、図２２に示されるような値がfont_styleに指定される。即ち、フォントスタイルがNormal（予め標準として設定されたフォントスタイル）の場合、0x00がfont_styleに指定される。フォントスタイルがBold（ボールド体）の場合、0x01がfont_styleに指定される。フォントスタイルがItalic（イタリック体）の場合、0x02がfont_styleに指定される。フォントスタイルがBold and Italic（ボールド アンド イタリック体）の場合、0x03がfont_styleに指定される。フォントスタイルがOutline-bordered（アウトライン）の場合、0x04がfont_styleに指定される。フォントスタイルがBold and Outline-bordered（ボールド アンド アウトライン）の場合、0x05がfont_styleに指定される。フォントスタイルがItalic and outline-bordered（イタリック アンド アウトライン）の場合、0x06がfont_styleに指定される。フォントスタイルがBold，Italic and Outline-bordered（ボールド ，イタリック アンド アウトライン）の場合、0x07がfont_styleに指定される。
【０１１６】
以上説明したフォントスタイルのうちの0x04乃至0x07で指定されるフォントスタイルこそが、本発明の特徴のひとつである「字幕等を構成するテキストで利用される文字オブジェクトにアウトライン（輪郭）を付ける」ことの実現に必要なフォントスタイルである。即ち、本発明の特徴のひとつである「字幕等を構成するテキストで利用される文字オブジェクトにアウトラインを付ける」ことを実現するためには、font_styleの値が0x04乃至0x07のうちの何れかに指定されている必要がある。
【０１１７】
なお、以下、font_styleとして0x00乃至0x03が指定されるフォントスタイルを通常フォントスタイルと総称する。また、font_styleとして0x04乃至0x07が指定されるフォントスタイルをアウトラインスタイル総称する。
【０１１８】
font_sizeの８ビットのフィールドは、対象のリージョン中のテキストボックスに表示されるテキストのフォントのサイズを指定する。font_palette_entry_id_refのフィールドは、そのフォントの色を指定する。
【０１１９】
図１６と図１７の例のdialog_style_setのシンタックスでは、font_styleとして0x04乃至0x07のうちの何れかが指定されている場合、即ち、本発明の特徴のひとつである「字幕等で利用される文字オブジェクトにアウトラインを付ける」を実現するためにアウトラインスタイルが指定されている場合、outline_palette_entry_id_refという８ビットのフィールドと、outline_sizeという８ビットのフィールドとが指定される。
【０１２０】
outline_palette_entry_id_refは、アウトラインのついたフォントスタイルでテキストが表示される場合におけるアウトライン（そのテキストの輪郭）の色を指定する。outline_sizeは、そのアウトラインのサイズ（幅）を指定する。なお、アウトラインの色やサイズについては、図２８乃至図３０を参照して後述する。
【０１２１】
なお、inline_styleにおいて部分的にfont_styleをアウトラインスタイルに変更するために、従来のBlu-Ray Disc Read-Only Format Version0.89r3のTable 9-59(Data_type definition)に対して、図２３の灰色の項目を付加したテーブル、即ち、Data_typeが0x033である項目（行）において、Data_Lengthが３に変更され、かつ、inline_style_values() or text_stringにoutline_palette_entry_id_refとoutline_sizeとが新規に追加されたテーブルを採用する必要がある。
【０１２２】
図１６と図１７の例のdialog_style_setのシンタックスのうちの、以上説明したregion_styleのシンタックスに対して、user_styleの変更設定（以下、user_changeable_Style_set）のシンタックスが図１７に示されている。
【０１２３】
図１７において、user_style_idの８ビットのフィールドは、対象のUser_control_styleの識別子を指定する。
【０１２４】
region_horizontal_position_directionの１ビットのフィールドは、region_horizontal_positionの移動方向を指定する。具体的には、移動方向が右方向の場合には０が、移動方向が左方向の場合には１が、それぞれregion_horizontal_position_directionに指定される。region_horizontal_position_deltaの１５ビットのフィールドは、region_horizontal_positionの水平方向の移動量を指定する。
【０１２５】
region_vertical_position_directionの１ビットのフィールドは、region_vertical_positionの進行（移動）方向を指定する。具体的には、進行方向が下方向の場合には０が、進行方向が上方向の場合には１が、それぞれregion_vertical_position_directionに指定される。region_vertical_position_deltaの１５ビットのフィールドは、region_vertical_positionの垂直方向の移動量を指定する。
【０１２６】
font_size_inc_decの１ビットのフィールドは、フォントサイズの変更の方向、即ち、その変更後に大きくなるのかそれとも小さくなるかを指定する。具体的には、大きくなる場合には0bが、小さくなる場合には1bが、それぞれfont_size_inc_decに指定される。font_size_deltaの７ビットのフィールドは、フォントサイズの変更量を指定する。
【０１２７】
text_box_horizontal_position_directionの１ビットのフィールドは、テキストボックスの水平方向の移動方向を指定する。具体的には、移動方向が右方向の場合には０が、移動方向が左方向の場合には１が、それぞれtext_box_horizontal_position_directionに指定される。text_box_horizontal_position_deltaの１５ビットのフィールドは、テキストボックスの水平方向の移動量を指定する。
【０１２８】
text_box_vertical_position_directionの１ビットのフィールドは、テキストボックスの垂直方向の移動方向を指定する。具体的には、移動方向が下方向の場合には０が、移動方向が上方向の場合には１が、それぞれtext_box_vertical_position_directionに指定される。text_box_vertical_position_deltaの１５ビットのフィールドは、テキストボックスの垂直方向の移動量を指定する。
【０１２９】
text_box_width_inc_decの１ビットのフィールドは、テキストボックスの幅の変更の方向、即ち、その変更後に幅が太くなるのかそれとも狭くなるかを指定する。具体的には、太くなる場合には0bが、狭くなる場合には1bが、それぞれtext_box_width_inc_decに指定される。text_box_width_deltaの１５ビットのフィールドは、テキストボックスの幅の変更量を指定する。
【０１３０】
text_box_height_inc_decの１ビットのフィールドは、テキストボックスの高さの変更の方向、即ち、その変更後に高くなるのかそれとも低くなるかを指定する。具体的には、高くなる場合には0bが、低くなる場合には1bが、それぞれtext_box_height_inc_decに指定される。text_box_height_deltaの１５ビットのフィールドは、テキストボックスの高さの変更量を指定する。
【０１３１】
line_space_inc_decの１ビットのフィールドは、line_spaceの変更の方向、即ち、その変更後に増えるのかそれとも減るのかを指定する。具体的には、増える場合には0bが、減る場合には1bが、それぞれline_space_inc_decに指定される。line_space_deltaという７ビットのフィールドは、line_spaceの変更量を指定する。
【０１３２】
palette()は、図示はしないが、次のようなフィールドにより構成される。即ち、このpalette()の長さを指定するlength、paletteの特定の色の識別子を指定するpalette_entry_id、（Y, Cb, Cr）のうちのYの値を指定するY_value、（Y, Cb, Cr）のうちのCbの値を指定するCb_value、（Y, Cb, Cr）のうちのCrの値を指定するCr_value、および、透明度を指定するT_value、といったフィールドからpalette()は構成される。
【０１３３】
次に、図２４は、ローカルストレージ２４の仮想的な記憶領域を示す図である。
【０１３４】
ローカルストレージ２４には、図４を用いて説明したように、ダウンロードまたはコピーされた各種情報が図５を用いて説明したファイル形式で記憶される。これらのファイルを記憶するために、ローカルストレージ２４には、仮想的な記憶領域として、ダウンロードされたナビゲーションプログラムが記憶される領域であるナビゲーションプログラム記憶部５１、ダウンロードされたプレイリストが記憶される領域であるプレイリスト記憶部５２、ダウンロードされたテキストサブタイトルファイル（テキスト字幕ファイル）が記憶される領域であるテキストサブタイトルファイル記憶部５３、ダウンロードされたフォントファイルが記憶される領域であるフォントファイル記憶部５４が設けられているものとすることができる。ナビゲーションプログラム記憶部５１およびプレイリスト記憶部５２に記憶されたデータファイルは、図４を用いて説明したローカルストレージディレクトリ管理部３４の制御に基づいて読み出されてメモリ２３に供給され、テキストサブタイトルファイル記憶部５３およびフォントファイル記憶部５４、に記憶されたデータファイルは、図４を用いて説明したローカルストレージディレクトリ管理部３４の制御に基づいて読み出されてデコーダ２６に供給される。
【０１３５】
なお、図２４に図示されたローカルストレージ２４のナビゲーションプログラム記憶部５１、プレイリスト記憶部５２、テキストサブタイトルファイル記憶部５３、および、フォントファイル記憶部５４のそれぞれの記憶領域は仮想的なものであるから、ローカルストレージ２４の記憶領域は、図２４に図示されているように記憶される情報の種類により物理的に分割されていなくても良いことはいうまでもない。
【０１３６】
コントローラ２１の制御に基づいて、光ディスク１１、または、ローカルストレージ２４から読み出されたデータは、図示せぬ復調およびＥＣＣ復号部により復調され、誤り訂正が施され、デコーダ２６に供給される。図２５は、デコーダ２６の詳細な構成を説明するためのブロック図である。
【０１３７】
デコーダ２６には、制御部８１、ディスクデータ取得部８２、バッファ８３および８４、PID（パケットＩＤ）フィルタ８５、オーディオデコーダ８６、ＭＰＥＧ（Moving Picture Experts Group）ビデオデコーダ８７、ビデオプレーン処理部８８、ＧＵＩ（Graphic User Interface）データデコーダ８９、ＧＵＩグラフィックスプレーン処理部９０、ストレージデータ取得部９１、テキスト字幕処理部９２、字幕グラフィックスプレーン処理部９３、および、合成処理部９４が設けられている。
【０１３８】
制御部８１は、再生制御部３７の制御に基づいて、デコーダ２６の各部の処理を制御するものである。ディスクデータ取得部８２は、光ディスク１１から読み出されたデータのうち、デコーダ２６に供給されたデータを取得し、図７を用いて説明したPlayItemにより指定されるＡＶストリームなどの多重化ストリームを、メインパスを構成するPlayItemにより指定されるデータのリードバッファであるバッファ８３に供給し、SubPlayItemにより指定される、テキスト字幕ファイルまたはフォントファイルのデータ（フォントファイルのデータは指定されていない場合がある）を、サブパスを構成するSubPlayItemにより指定されるデータのリードバッファであるバッファ８４に供給する。
【０１３９】
バッファ８３から読み出されたストリームデータは、所定のタイミングで、後段のPIDフィルタ５５へ出力される。このPIDフィルタ８５は、入力された多重化ストリームを、PIDに応じて、後段の各エレメンタリストリームのデコーダであるオーディオデコーダ８６、ＭＰＥＧビデオデコーダ８７、または、ＧＵＩデータデコーダ８９へ振り分けて出力する。すなわち、PIDフィルタ５５は、音声（オーディオ）ストリームをオーディオデコーダ８６に供給し、映像（ビデオ）ストリームをＭＰＥＧビデオデコーダ８７に供給し、ユーザインターフェース関連の画像データをＧＵＩデータデコーダ８９に供給する。
【０１４０】
オーディオデコーダ８６は、オーディオストリームをデコードし、デコードされたオーディオストリームのデータを出力する。ＭＰＥＧビデオデコーダ８７は、ビデオストリームをデコードし、デコードされたビデオデータをビデオプレーン処理部８８へ出力する。ビデオプレーン処理部８８は、デコードされたビデオデータに基づいて、１ページ(または、１フレーム)に表示される画像(動画像である映像を構成する画像)に対応するビデオプレーンを生成し、合成処理部９４に出力する。
【０１４１】
ＧＵＩデータデコーダ８９は、インタラクティブグラフィクスストリームをデコードし、デコードされたＧＵＩデータを、ＧＵＩグラフィックスプレーン処理部９０に供給する。ＧＵＩグラフィックスプレーン処理部９０は、１画面に表示されるＧＵＩに対応するグラフィックスプレーンを生成し、合成処理部９４に出力する。
【０１４２】
ストレージデータ取得部９１は、ローカルストレージ２４から読み出されたデータのうち、デコーダ２６に供給されたデータ（すなわち、テキスト字幕ファイルまたはフォントファイルのデータ）を取得し、テキスト字幕処理部９２に供給する。テキスト字幕処理部９２は、制御部８１の制御に従い、ストレージデータ取得部９１から供給される、または、バッファ８４から読み出されるテキストデータをデコードし、所定のフォントスタイルデータに基づいて、ビットマップなどのラスタデータ（文字オブジェクトデータ）に変換（ラスタライズ）し、字幕グラフィックスプレーン処理部９３に供給する。テキスト字幕処理部９２についての詳細は、図２６を用いて後述する。字幕グラフィックスプレーン処理部９３は、デコードされレンダリングされたテキストデータを基に、１ページ(または、１フレーム)に表示される字幕に対応する字幕グラフィックスプレーンを生成し、合成処理部９４に出力する。
【０１４３】
合成処理部９４は、ビデオプレーン処理部８８から供給されたビデオプレーン、ＧＵＩグラフィックスプレーン処理部９０から供給されたＧＵＩに対応するグラフィックスプレーン、および、字幕グラフィックスプレーン処理部９３から供給された字幕グラフィックスプレーンを合成し、ビデオ信号として出力する。
【０１４４】
図２６は、テキスト字幕処理部９２の詳細な構成を説明するためのブロック図である。
【０１４５】
テキストデータデコーダ１２１は、テキスト字幕ファイル（テキストサブタイトルファイル）のデータをデコードし、文字オブジェクトは文字オブジェクトバッファ１２２に、属性（アトリビュート）データは、アトリビュートデータバッファ１２３に供給する。
【０１４６】
ここで言うテキスト字幕ファイルとは、例えば上述した図１０に示されるテキストサブタイトルストリームファイル等を指す。従って、文字オブジェクトとは、例えば上述した図１０のDialog presentation Segment等を指す。また、ここで言う属性データとは、例えば上述した図１０のDialog Style Segment等を指し、具体的には例えば、図１６に示される、アウトラインスタイルまたは通常フォントスタイルが指定されているfont_style、アウトラインのついたフォントスタイルにおけるアウトラインの色が指定されているoutline_palette_entry_id_ref、および、アウトラインのついたフォントスタイルにおけるアウトラインのサイズ（幅）が指定されているoutline_size等を指す。
【０１４７】
アトリビュートデータバッファ１２３に保存される属性データは、ユーザの操作入力に基づいて、制御部８１の制御に従い変更される。例えば、ユーザがフォントサイズや文字色の変更を指令した場合、制御部８１の制御により、アトリビュートデータバッファ１２３に保存される属性データのうち、対応するUser_control_style()（図１７)が変更される。
【０１４８】
フォントラスタライザ１２４は、アトリビュートデータバッファ１２３から読み出した属性の指定と、バッファ８４またはストレージデータ取得部９１から供給されるフォントスタイルデータに基づいて、文字オブジェクトバッファ１２２から読み出した文字オブジェクトをビットマップなどのラスタデータ（文字オブジェクトデータ）に変換して字幕グラフィックスプレーン処理部９３に出力する。さらに、フォントラスタライザ１２４は、アトリビュートデータバッファ１２３から読み出した属性に基づいて、ブックマークが付与されている文字オブジェクトを検出し、ブックマークバッファ１２５を利用して、同一のブックマークＩＤが付与されている文字オブジェクトに関しては、重複してラスタライズを行わないようにする。なお、フォントラスタイザ１２４についての詳細は、図２７を用いて後述する。
【０１４９】
ブックマークバッファ１２５は、フォントラスタライザ１２４の処理により、ブックマークが付与されている文字オブジェクトのラスタデータを保持するとともに、フォントラスタライザ１２４により、保持しているラスタデータが読み出される。
【０１５０】
図２７は、フォントラスタライザ１２４の詳細な構成を説明するためのブロック図である。
【０１５１】
文字オブジェクト取得部１５１は、文字オブジェクトバッファ１２２（図２６）から読み出した文字オブジェクトを取得し、ブックマーク検出部１５２に供給する。
【０１５２】
ブックマーク検出部１５２は、文字オブジェクト取得部１５１から供給された文字オブジェクトが、既にブックマークが付与されてブックマークバッファ１２５（図２６）に記憶されているか否か、即ち、同一のブックマークＩＤが付与されている文字オブジェクトがブックマークバッファ１２５に既に記憶されているか否かを検出する。
【０１５３】
そして、ブックマーク検出部１５２は、同一のブックマークＩＤが付与されている文字オブジェクトがブックマークバッファ１２５に記憶されていることを検出した場合、同一のブックマークＩＤが付与されている文字オブジェクト（既にラスタライズされたデータ）をブックマークバッファ１２５から取得して、字幕グラフィックスプレーン処理部９３（図２５）に出力する。
【０１５４】
これに対して、ブックマーク検出部１５２は、同一のブックマークＩＤが付与されている文字オブジェクトがブックマークバッファ１２５にまだ記憶されていないことを検出した場合、文字オブジェクト取得部１５１から供給された文字オブジェクトをそのままラスタライズ部１５３に供給する。
【０１５５】
ラスタライズ部１５３は、アトリビュートデータバッファ１２３から読み出した属性の指定と、通常フォントスタイル取得部１５６から供給された通常フォントスタイルのフォントスタイルデータ、若しくは、アウトラインスタイル加工部１５７から供給されたアウトラインスタイルのフォントスタイルデータに基づいて、ブックマーク検出部１５２から供給された文字オブジェクトをビットマップなどのラスタデータ（文字オブジェクトデータ）に変換して、字幕グラフィックスプレーン処理部９３に出力するとともに、ブックマーク記憶制御部１５４に供給する。
【０１５６】
なお、ラスタライズ部１５３に設けられている合成部１６４については後述する。
【０１５７】
また、詳細については図２８乃至図３１を用いて後述するが、アウトラインスタイル加工部１５７から供給されてくるアウトラインスタイルのフォントスタイルデータは、元のフォントスタイルデータに対して、そのアウトラインの色やサイズ（幅）が必要に応じて変更（加工）されたフォントスタイルデータである。
【０１５８】
ブックマーク記憶制御部１５４は、ラスタライズ部１５３から供給された文字オブジェクトの属性データに基づいて、新たなブックマークが記載されているか否かを判断し、ブックマークが記載されている場合、そのラスタデータをブックマークバッファ１２５に記憶させる制御を行い、ブックマークが記載されていない場合、その制御を禁止する。
【０１５９】
フォントスタイル検出部１５５は、アトリビュートデータバッファ１２３に記憶されている属性データのうちの対応するfont_styleを参照して、文字オブジェクト取得部１５１に取得された文字オブジェクトをラスタライズするために必要なフォントスタイルを検出する。そして、フォントスタイル検出部１５５は、フォントスタイルが通常フォントスタイルであることを検出した場合、その検出結果を通常フォントスタイル取得部１５６に通知する。これに対して、フォントスタイル検出部１５５は、フォントスタイルがアウトラインスタイルであることを検出した場合、その検出結果をアウトラインスタイル加工部１５７のアウトラインスタイル取得部１６１に通知する。
【０１６０】
通常フォントスタイル取得部１５６は、バッファ８４またはストレージデータ取得部９１から供給されるフォントスタイルデータのうちの、フォントスタイル検出部１５５の検出結果で特定される通常フォントスタイルのフォントスタイルデータを取得し、ラスタライズ部１５３に供給する。
【０１６１】
アウトラインスタイル加工部１５７は、バッファ８４またはストレージデータ取得部９１から供給されるフォントスタイルデータのうちの、フォントスタイル検出部１５５の検出結果で特定されるフォントスタイル、即ち、アウトラインスタイルのフォントスタイルデータを取得する。さらに、アウトラインスタイル加工部１５７は、アトリビュートデータバッファ１２３に記憶されている属性データのうちの対応するoutline_palette_entry_id_refを参照して、アウトラインの色を更新する。また、アウトラインスタイル加工部１５７は、アトリビュートデータバッファ１２３に記憶されている属性データのうちの対応するoutline_sizeを参照して、アウトラインのサイズ（幅）を更新する。そして、アウトラインスタイル加工部１５７は、アウトラインの色やサイズ（幅）が更新されたフォントスタイルデータをラスタライズ部１５３（より正確には後述する合成部１６４）に供給する。
【０１６２】
ここで、アウトラインスタイル加工部１５７の詳細な構成例を説明する前に、図２８乃至図３１を参照して、アウトラインのサイズ（幅）の変更手法の一例について説明する。なお、アウトラインのサイズ（幅）の変更手法は、次の例に限定されないことは言うまでも無い。
【０１６３】
図２８には、通常フォントスタイルの文字オブジェクトデータの一例として、アルファベットのＡが示されている。なお、以下、通常フォントスタイルのＡの文字オブジェクトデータを、文字オブジェクトデータ１７１と称する。
【０１６４】
また、図２９には、アウトラインスタイルの文字オブジェクトデータの一例として、アルファベットのＡが示されている。なお、以下、アウトラインスタイルのＡの文字オブジェクトデータを、文字オブジェクトデータ１８１と称する。
【０１６５】
文字オブジェクトデータ１８１は、アウトラインデータに基づいて生成される。アウトラインデータとは、文字の形がアウトライン（輪郭）として表現されるフォントスタイルデータのひとつである。このアウトラインデータはアウトラインフォントで利用されていた。即ち、アウトラインフォントとは、従来から存在するフォントの形式のひとつであって、アウトラインデータを保持し、レタリングを行う形式のことを言う。アウトラインフォントは、ビットマップフォント（ビットマップを保持する形式）に比べて拡大や縮小に強いという特徴がある。
【０１６６】
図３０は、この文字オブジェクトデータ１８１のアウトライン（輪郭）の幅を変更するための変更手法のうちの、従来の手法を説明する図である。
【０１６７】
図３０に示されるように、従来においては、文字オブジェクトデータ１８１のアウトライン１８１−Ｌ０は、アウトラインに対して垂直方向のうちの両方向とも均等な割合でその幅が伸縮され（図３０の例では水平方向のうちの左方向も右方向も伸ばされ）、その結果、アウトライン１８１−Ｌ１のように変更される。
【０１６８】
即ち、従来においては、文字オブジェクトデータ１８１は、アウトラインに対して垂直方向のうちの両方向とも均等な割合でアウトラインの幅が太くされ、その結果、図３１に示されるような文字オブジェクトデータ１８２に変更される。
【０１６９】
この文字オブジェクトデータ１８２と元の文字オブジェクトデータ１８１とを比較すると容易にわかることであるが、アウトラインに対して垂直方向のうちの両方向とも均等な割合でアウトラインの幅が太くされてしまうと、アウトラインで囲まれた白色の領域（白抜き部分）の面積がその分だけ小さくされ、最悪白色の領域が消されてしまう（白抜き部分がつぶれてしまう）という問題が従来の手法では発生してしまう。
【０１７０】
そこで、この従来の手法の問題を解決すべく、本実施の形態では、図３１に示されるような手法を採用することで、文字オブジェクトデータ１８１のアウトラインのサイズ（幅）を可変するようにしている。即ち、図３１は、アウトラインのサイズ（幅）の変更手法のうちの、従来の手法の問題を解決可能な変更手法の一例を説明する図である。換言すると、本実施の形態では、図３１の手法は、ラスタライズ部１５３の合成部１６４（図２７）に適用されている。
【０１７１】
以下、図３１の手法についてさらに説明する。換言すると、以下、合成部１６４の動作（処理）について説明する。
【０１７２】
最初に、合成部１６４は、アウトラインデータに基づいて文字オブジェクトデータ１８１を生成する。次に、合成部１６４は、図３０で説明した従来の手法に従って、文字オブジェクトデータ１８１のアウトラインの幅を、アウトラインに対して垂直方向のうちの両方向とも均等な割合で変更した文字オブジェクトデータ１８２を生成する。
【０１７３】
なお、合成部１６４は、この文字オブジェクトデータ１８２を生成するために、アウトラインスタイル加工部１５７から供給されるアウトラインのついたフォントスタイルデータを利用することになる。ただし、このアウトラインのついたフォントスタイルデータについては後述する。
【０１７４】
次に、合成部１６４は、文字オブジェクトデータ１８２の上に文字オブジェクトデータ１８１を重ね合わせる（合成処理を実行する）。その結果、文字オブジェクトデータ１８１のアウトラインを中心線と称するとすると、中心線に対して、白抜き部分に向かう方向（以下、内側方向と称する）とは逆方向（以下、外側方向と称する）のみが太くなったアウトラインを有する文字オブジェクトデータ１８３、即ち、文字オブジェクトデータ１８１に対して白抜き部分の面積は変更されずに、アウトラインの幅だけが外側に太くなった文字オブジェクトデータ１８３が生成される。
【０１７５】
ところで、上述したように、合成部１６４は、文字オブジェクトデータ１８２を生成するためにアウトラインスタイル加工部１５７から供給されるアウトラインスタイルのフォントスタイルデータを利用する。また、この文字オブジェクトデータ１８２は、アウトラインデータ（従来のアウトラインフォントで利用されていたアウトラインスタイルのフォントスタイルデータ）から生成される文字オブジェクトデータ１８１のアウトラインに対して、その幅（内側方向と外側方向とも）や色が変更されたアウトラインを有している。従って、アウトラインスタイル加工部１５７は、文字オブジェクトデータ１８１を生成するために必要なアウトラインデータを、文字オブジェクト１８２を生成するために必要なフォントスタイルデータに変更する必要がある。このため、本実施の形態では、アウトラインスタイル加工部１５７は図２７に示されるように構成されているのである。即ち、図２７の例では、アウトラインスタイル加工部１５７は、アウトラインスタイル取得部１６１、色変更部１６２、および、両幅変更部１６３から構成されている。
【０１７６】
アウトラインスタイル取得部１６１は、バッファ８４またはストレージデータ取得部９１から供給されるフォントスタイルデータのうちの、フォントスタイル検出部１５５の検出結果で特定されるフォントスタイル、即ち、アウトラインスタイルのフォントスタイルデータ（アウトラインデータ）を取得する。取得されたアウトラインスタイルのフォントスタイルデータは、色変更部１６２に提供される。
【０１７７】
色変更部１６２は、アトリビュートデータバッファ１２３に記憶されている属性データのうちの対応するoutline_palette_entry_id_refを参照して、アウトラインスタイル取得部１６１から供給されたアウトラインスタイルのフォントスタイルデータについて、そのアウトラインの色を変更する。アウトラインの色が変更されたアウトラインスタイルのフォントスタイルデータは、両幅変更部１６３と、ラスタライズ部１５３の合成部１６４とに供給される。
【０１７８】
即ち、合成部１６４は、例えば図３１の例では、色変更部１６２から供給されたフォントスタイルデータに基づいて、そのフォントスタイルデータに対応する色のアウトラインを有する文字フォントデータ１８１を生成することになる。
【０１７９】
両幅変更部１６３は、アトリビュートデータバッファ１２３に記憶されている属性データのうちの対応するoutline_sizeを参照して、色変更部１６２から供給されたアウトラインスタイルのフォントスタイルデータについて、そのアウトラインのサイズ（幅）を外側方向も内側方向も均等な割合で伸縮する。アウトラインのサイズ（幅）が外側方向と内側方向ともに変更されたアウトラインスタイルのフォントスタイルデータは、両幅変更部１６３から合成部１６４に供給される。
【０１８０】
すると、合成部１６４は、両幅変更部１６３から供給されたフォントスタイルデータに基づいて、上述した図３０の従来の手法に従った処理を実行する。具体的には例えば、図３１の文字オブジェクトデータ１８１を既に生成している場合、合成部１６４は、両幅変更部１６３から供給されたフォントスタイルデータに基づいて、文字オブジェクト１８１のアウトラインの幅に対して、その外側方向と内側方向ともに同率で伸縮された幅のアウトラインを有する（かつ色が変更された）文字オブジェクトデータ１８２を生成する。
【０１８１】
そして、上述したように、合成部１６４は、文字オブジェクトデータ１８１と、文字オブジェクトデータ１８２とを合成することで、文字オブジェクト１８１のアウトラインの幅に対して、その外側方向だけが伸縮された幅のアウトラインを有する（かつ色が変更された）文字オブジェクトデータ１８３を生成する。
【０１８２】
次に、図３２を参照して、コントローラ２１（図１）の再生処理について説明する。
【０１８３】
上述したようにしてダウンロードされたアップデートファイルがローカルストレージ２４に記録されている状態で、光ディスク１１に記録されているコンテンツの再生が指示された場合、ステップＳ１において、光ディスクディレクトリ管理部３５は、光ディスク１１から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により参照されるテキストサブタイトルデータを読み出させて、デコーダ２６のストレージデータ取得部９１に供給させるとともに、必要に応じて、ユーザに指定されたフォント（アウトラインフォント等）に対応するフォントスタイルデータを読み出させて、デコーダ２６のストレージデータ取得部９１に供給させる。
【０１９９】
ステップＳ２６において、デコーダ２６により、図３４と図３５とを用いて後述する字幕表示処理が実行される。
【０２００】
ステップＳ２７において、操作入力取得部３２は、表示させる字幕データの言語の変更を指令する操作入力を受けたか否かを判断する。ステップＳ２７において、表示させる字幕データの言語の変更を指令する操作入力を受けたと判断された場合、処理は、ステップＳ２５に戻り、それ以降の処理が繰り返される。
【０２０１】
ステップＳ２２において、字幕データの表示を指令する操作入力を受けていないと判断された場合、または、ステップＳ２７において、表示させる字幕データの言語の変更を指令する操作入力を受けていないと判断された場合、ステップＳ２８において、操作入力取得部３２は、コンテンツの再生の終了を指令する操作入力を受けたか、または、再生中のＡＶストリームデータが終了したか否かを判断する。
【０２０２】
ステップＳ２８において、コンテンツの再生の終了を指令する操作入力を受けず、かつ、再生中のＡＶストリームデータが終了していないと判断された場合、ステップＳ２９において、操作入力取得部３２は、字幕の表示を中止させる操作入力を受けたか否かを判断する。
【０２０３】
ステップＳ２９において、字幕の表示を中止させる操作入力を受けていないと判断された場合、処理は、ステップＳ２６に戻り、それ以降の処理が繰り返される。ステップＳ２９において、字幕の表示を中止させる操作入力を受けたと判断された場合、処理は、ステップＳ２１に戻り、それ以降の処理が繰り返される。
【０２０４】
ステップＳ２８において、コンテンツの再生の終了を指令する操作入力を受けたか、再生中のＡＶストリームデータが終了したと判断された場合、処理が終了される。
【０２０５】
このような処理により、光ディスク１１に予め記録されている、または、サーバ３からダウンロードされ、ローカルストレージ２４に記憶されているテキスト字幕ファイルが用いられて、ユーザが所望した言語の字幕がコンテンツの映像および音声とともに表示され、ユーザの操作入力に基づいて、表示される字幕の言語を変更するために、読み出されるテキスト字幕ファイルが変更される。
【０２０６】
次に、図３４と図３５とのフローチャートを参照して、図３３のステップＳ２６において実行される字幕表示処理について説明する。
【０２０７】
ステップＳ５１において、デコーダ２６（図２５）のテキスト字幕処理部９２のテキストデータデコーダ１２１（図２６）は、ストレージデータ取得部９１により取得されたテキストサブタイトルデータをデコードする。
【０２０８】
ステップＳ５２において、テキストデータデコーダ１２１は、デコードされたテキストサブタイトルデータに含まれる文字オブジェクトを文字オブジェクトバッファ１２２に供給するので、文字オブジェクトバッファ１２２に、文字オブジェクトがバッファリングされる。
【０２０９】
ステップＳ５３において、テキストデータデコーダ１２１は、デコードされたテキストサブタイトルデータに含まれる、フォントスタイル（font_style）、アウトラインの色（outline_palette_entry_id_ref）やサイズ（outline_size）等の属性データをアトリビュートデータバッファ１２３に供給するので、アトリビュートデータバッファ１２３に属性データがバッファリングされる。
【０２１０】
ステップＳ５４において、フォントラスタライザ１２４のフォントスタイル検出部１５５（図２７）は、ステップＳ５３の処理でバッファリングされたフォントスタイルは、アウトラインスタイルであるか否かを判定する。
【０２１１】
ステップＳ５４において、アウトラインスタイルではないと判定された場合、即ち、通常フォントスタイルであると判定された場合、ステップＳ５５において、通常フォントスタイル取得部１５６は、通常フォントスタイルのフォントスタイルデータを取得する。
【０２１２】
これに対して、ステップＳ５４において、アウトラインスタイルであると判定された場合、ステップＳ５６において、アウトラインスタイル加工部１５７は、アウトラインスタイルのフォントスタイルデータを取得する。そして、ステップＳ５７において、アウトラインスタイル加工部１５７は、ステップＳ５３の処理でバッファリングされたアウトラインのサイズや色等の属性データを基に、アウトラインスタイルのフォントスタイルデータを更新する。即ち、そのアウトラインの色や幅が変更されたアウトラインスタイルのフォントスタイルデータが生成される。
【０２１３】
ステップＳ５５の処理で通常フォントスタイルのフォントスタイルデータが取得されるか、または、ステップＳ５６の処理で取得されたアウトラインスタイルのフォントスタイルデータがステップＳ５７の処理で更新されると、処理は図３５のステップＳ５８に進む。
【０２１４】
ステップＳ５８において、文字オブジェクト取得部１５１は、文字オブジェクトバッファ１２２（図２６）から文字オブジェクトを取得して、ブックマーク検出部１５２に供給する。
【０２１５】
ステップＳ５９において、ラスタライズ部１５３は、通常フォントスタイル取得部１５６またはアウトラインスタイル加工部１５７からフォントスタイルデータを取得する。
【０２１６】
ステップＳ６０において、ブックマーク検出部１５２は、ステップＳ５３（図３４）の処理でバッファリングされた属性、およびブックマークバッファ１２５を参照し、ラスタライズしようとしている字幕データ（ステップＳ５８の処理で取得された文字オブジェクトに対応する字幕データ）は、ブックマークされ、すでにブックマークバッファ１２５にバッファリングされている字幕データであるか否かを判断する。
【０２１７】
ステップＳ６０において、ブックマークされ、バッファリングされている字幕データであると判断された場合、ステップＳ６１において、ブックマーク検出部１５２は、ブックマークバッファ１２５から、保存されているブックマーク対象の字幕画像データ（ラスタデータ）を読み出して出力する。これにより、処理はステップＳ６５に進む。
【０２１８】
これに対して、ステップＳ６０において、すでにブックマークされている字幕データではないと判断された場合、ステップＳ５８の処理で取得された文字オブジェクトは、ブックマーク検出部１５２からラスタライズ部１５３に供給される。これにより、処理はステップＳ６２に進む。
【０２１９】
ステップＳ６２において、ラスタライズ部１５３は、ステップＳ５８の処理で取得された文字オブジェクト、図３４のステップＳ５５またはＳ５６の処理で取得された（さらに必要に応じてステップＳ５７の処理で更新された）フォントスタイルデータ、および図３４のステップＳ５３の処理でバッファリングされた属性データを基に、ラスタライズを実行して、その実行結果であるラスタデータ（文字オブジェクトデータ）を、字幕グラフィックスプレーン処理部９３（図２５）に出力するともにブックマーク記憶制御部１５４に供給する。字幕グラフィックスプレーン処理部９３は、供給されたラスタデータを基に、字幕グラフィックスプレーンを生成し、合成処理部９４に供給する。
【０２２０】
ステップＳ６３において、ブックマーク記憶制御部１５４は、ステップＳ６２の処理でラスタライズされた字幕データ（ラスタデータである文字オブジェクトデータ）の属性データを基に、この属性データには、新たなブックマークが記載されているか否かを判断する。
【０２２１】
ステップＳ６３において、ブックマークが記載されていると判断した場合、ステップＳ６４において、ブックマーク記憶制御部１５４は、ラスタライズされた字幕画像データ（ラスタデータ）をブックマークバッファ１２５に保存する。
【０２２２】
ステップＳ６２の処理の終了後、ステップＳ６３において、ブックマークが記載されていないと判断された場合、または、ステップＳ６１の処理が終了した場合、ステップＳ６５において、合成処理部９４（図２５）は、供給された字幕画像データを映像データと合成して出力する。これにより、図３３のステップＳ２６の処理である字幕表示処理は終了し、処理はステップＳ２７に進む。
【０２２３】
このような処理により、ユーザの所望する言語の字幕データが、ユーザの所望する属性で、ユーザの所望するフォントで表示されるように、テキスト字幕ファイルおよびフォントファイルのデータの読み出しが制御されて、必要に応じてバッファリングされている属性データが変更され、ラスタライズされる。
【０２２４】
従って、現在再生されているフレームが例えば字幕の色とビデオの色とが同一または類似となってしまうフレームのような場合、即ち、ユーザからすると、あたかも字幕がビデオと一体化してしまって、字幕を判別できないような場合、ユーザは、所望のアウトラインスタイルを指定することで、字幕を構成するテキストがその所望のアウトラインスタイルで表示されるようになるので、その字幕を確実に判別できるようになる。
【０２２５】
ところで、上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０２２６】
このプログラム格納媒体は、図１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク（ＭＤ（Mini-Disk)（商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２８により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMまたはRAMなどのメモリ２３や、ハードディスクなどのローカルストレージ２４などにより構成される。
【０２２７】
また、本明細書において、プログラム格納媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的または個別に実行される処理をも含むものである。
【０２２８】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０２２９】
【図１】本発明を適用した再生装置の構成を示すブロック図である。
【図２】本発明を適用した再生装置に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。
【図３】本発明を適用した再生装置に装着される記録媒体上のアプリケーションフォーマットの例の異なる例について説明するための図である。
【図４】図１のコントローラの機能について説明するための機能ブロック図である。
【図５】光ディスクのファイルシステムと、ローカルストレージのファイルシステムの例を示す図である。
【図６】図５の２つのファイルシステムがマージされることで得られるファイルシステムの例を示す図である。
【図７】プレイリストとプレイリストによって参照可能なデータについて説明するための図である。
【図８】追加して配布される対象となるデータについて説明するための図である。
【図９】SubPlayItemのシンタックスを示す図である。
【図１０】テキストサブタイトルファイルの構成例を示す図である。
【図１１】図１０のテキストサブタイトルファイルのシンタックスを示す図である。
【図１２】図１０のテキストサブタイトルを構成する各セグメントのシンタックスを示す図である。
【図１３】図１２のセグメントの構成要素のうちのsegment_descriptorのシンタックスを説明する図である。
【図１４】図１３のsegment_typeで指定可能な値を説明する図である。
【図１５】図１０のテキストサブタイトルを構成する各セグメントのうちのdialog_style_segmentのシンタックスを示す図である。
【図１６】図１５のdialog_style_segmentの構成要素のうちのdialog_style_setのシンタックスを説明する図である。
【図１７】図１５のdialog_style_segmentの構成要素のうちのdialog_style_setのシンタックスを説明する図である。
【図１８】図１６のplayer_style_flagで指定可能な値を説明する図である。
【図１９】図１６のtext_flowで指定可能な値を説明する図である。
【図２０】図１６のtext_horizontal_alignmentで指定可能な値を説明する図である。
【図２１】図１６のtext_vertical_alignmentで指定可能な値を説明する図である。
【図２２】図１６のfont_styleで指定可能な値を説明する図である。
【図２３】従来のBlu-Ray Disc Read-Only Format Version0.89r3のTable 9-59(Data_type definition)に対して、本発明を適用するために必要な部分を更新したテーブルの一例を示す図である。
【図２４】図１のローカルストレージの仮想的な記憶領域を示す図である。
【図２５】図１のデコーダの詳細な構成を説明するためのブロック図である。
【図２６】図２５のテキスト字幕処理部の詳細な構成を説明するためのブロック図である。
【図２７】図２６のフォントラスタライザの詳細な構成を説明するためのブロック図である。
【図２８】通常フォントスタイルの文字オブジェクトデータの一例を示す図である。
【図２９】アウトラインスタイルの文字オブジェクトデータの一例を示す図である。
【図３０】アウトラインのサイズ（幅）の変更手法のうちの、従来の手法の一例を説明する図である。
【図３１】アウトラインのサイズ（幅）の変更手法のうちの、本発明を適用した手法の一例を説明する図である。
【図３２】再生処理について説明するためのフローチャートである。
【図３３】コンテンツ再生処理について説明するためのフローチャートである。
【図３４】字幕表示処理について説明するためのフローチャートである。
【図３５】字幕表示処理について説明するためのフローチャートである。
【符号の説明】
【０２３０】
１  再生装置，  １１  光ディスク，  ２１  コントローラ，  ２２  光ディスクドライブ，  ２３  メモリ，  ２４  ローカルストレージ，  ２６  デコーダ，  ３１  メニュー画面表示制御部，  ３２  操作入力取得部，  ３３  データ取得部，  ３４  ローカルストレージディレクトリ管理部，  ３５  光ディスクディレクトリ管理部，  ６６  ファイルシステムマージ処理部，  ３７  再生制御部，  ８１  制御部，  ８６  オーディオデコーダ，  ８７  ＭＰＥＧビデオデコーダ，  ９２  テキスト字幕処理部，  ９３  字幕グラフィックスプレーン処理部，  ９４  合成処理部，  １２１  テキストデータバッファ，  １２２  文字オブジェクトバッファ，  １２３  アトリビュートデータバッファ，  １２４  フォントラスタライザ，  １２５  ブックマークバッファ，  １５１  文字オブジェクト取得部，  １５２  ブックマーク検出部，  １５３  ラスタライズ部，  １５４  ブックマーク記憶制御部，  １５５  フォントスタイル検出部，  １５６  通常フォントスタイル取得部，  １５７  アウトラインスタイル加工部，  １６１  アウトラインスタイル取得部，  １６２  色変更部，  １６３  両幅変更部，  １６４  合成部
【図１】
2006295531.tif 000003
【図２】
2006295531.tif 000004
【図３】
2006295531.tif 000005
【図４】
2006295531.tif 000006
【図５】
2006295531.tif 000007
【図６】
2006295531.tif 000008
【図７】
2006295531.tif 000009
【図８】
2006295531.tif 000010
【図９】
2006295531.tif 000011
【図１０】
2006295531.tif 000012
【図１１】
2006295531.tif 000013
【図１２】
2006295531.tif 000014
【図１３】
2006295531.tif 000015
【図１４】
2006295531.tif 000016
【図１５】
2006295531.tif 000017
【図１６】
2006295531.tif 000018
【図１７】
2006295531.tif 000019
【図１８】
2006295531.tif 000020
【図１９】
2006295531.tif 000021
【図２０】
2006295531.tif 000022
【図２１】
2006295531.tif 000023
【図２２】
2006295531.tif 000024
【図２３】
2006295531.tif 000025
【図２４】
2006295531.tif 000026
【図２５】
2006295531.tif 000027
【図２６】
2006295531.tif 000028
【図２７】
2006295531.tif 000029
【図２８】
2006295531.tif 000030
【図２９】
2006295531.tif 000031
【図３０】
2006295531.tif 000032
【図３１】
2006295531.tif 000033
【図３２】
2006295531.tif 000034
【図３３】
2006295531.tif 000035
【図３４】
2006295531.tif 000036
【図３５】
2006295531.tif 000037