(57)【特許請求の範囲】
【請求項１】
記録媒体に記録されている字幕ストリームと、ビデオストリームとを同期して再生する再生装置であって、
前記記録媒体には、前記ビデオストリームと同期して再生すべき字幕ストリームと、プレイリスト情報とが更に記録されており、
前記プレイリスト情報は、再生区間情報と、表示方式フラグとを含み、
前記再生区間情報は、前記ビデオストリームの再生時間軸における再生開始点であるインタイムを示す情報、及び、再生終了点であるアウトタイムを示す情報を用いて再生区間を定義する情報であり、第１のストリーム情報テーブルとを含み、
前記表示方式フラグは、前記再生区間における立体視表示方式による字幕の表示を有効とするか否かを示し、
前記第１のストリーム情報テーブルは、前記再生区間において前記字幕を平面表示する場合に用いる、平面表示用の字幕ストリームを示し、
前記表示方式フラグが、前記再生区間における立体視表示方式による字幕の表示を有効とすることを示す場合、前記プレイリスト情報は、更に第２のストリーム情報テーブルを含み、前記第２のストリーム情報テーブルは、前記再生区間において前記字幕の立体視表示に用いるレフトビュー用の字幕ストリームおよびライトビュー用の字幕ストリームを示し、
前記再生装置は、
装置におけるコンフィグレーション情報を格納するコンフィグレーション格納部と、    当該再生装置と接続する表示装置から前記表示装置が立体視表示できるかどうかを示す情報を取得する取得手段と、
前記コンフィグレーション情報において、前記立体視表示方式による前記字幕の再生を有効にするかが設定されているかどうかの判定、および前記取得手段が取得した情報から前記表示装置が立体視表示できるかどうかの判定を行う判定手段と、
前記判定手段が前記立体視表示方式による前記字幕の再生を有効にする設定がされていると判定し、かつ前記表示装置が前記立体視表示できると判定した場合であって、かつ前記表示フラグが前記再生区間における立体視表示方式による字幕の表示を有効とすることを示していれば、前記第２のストリーム情報テーブルが示す前記立体視表示に用いる字幕ストリームをビデオストリームと同期すべき字幕ストリームとして選択し、前記判定手段が前記立体視表示方式による前記字幕の再生を有効にする設定がなされていないと判定するか、前記表示装置が前記立体視表示できないと判定した場合、前記第１のストリーム情報テーブルが示す前記平面表示用の字幕ストリームを前記ビデオストリームと同期すべき字幕ストリームとして選択する選択手段と、
前記選択された字幕ストリームと、前記ビデオストリームとを再生する再生手段と
を備える再生装置。
【請求項２】
前記字幕の立体視表示方式は、前記ライトビュー用の字幕ストリームから得られるライトビュー用の字幕、前記レフトビュー用の字幕ストリームから得られるレフトビュー用の字幕を交互に表示装置に出力することで、前記字幕の立体視を実現する請求項１記載の再生装置。
【請求項３】
前記第２のストリーム情報テーブルは、拡張データとして前記プレイリスト情報に含まれる請求項１記載の再生装置。
【請求項４】
記録媒体に記録されている字幕ストリームと、ビデオストリームとを同期して再生する処理をコンピュータ上で実行する再生方法であって、
前記記録媒体には、前記ビデオストリームと同期して再生すべき字幕ストリームと、プレイリスト情報とが記録されており、
前記プレイリスト情報は、再生区間情報と、表示方式フラグとを含み、
前記再生区間情報は、前記ビデオストリームの再生時間軸における再生開始点であるインタイムを示す情報、及び、再生終了点であるアウトタイムを示す情報を用いて再生区間を定義する情報であり、第１のストリーム情報テーブルとを含み、
前記表示方式フラグは、前記再生区間における立体視表示方式による字幕の表示を有効とするか否かを示し、
前記第１のストリーム情報テーブルは、前記再生区間において前記字幕を平面表示する場合に用いる、平面表示用の字幕ストリームを示し、
前記表示方式フラグが、前記再生区間における立体視表示方式による字幕の表示を有効とすることを示す場合、前記プレイリスト情報は、更に第２のストリーム情報テーブルを含み、前記第２のストリーム情報テーブルは、前記再生区間において前記立体視表示方式に用いるレフトビュー用の字幕ストリームおよびライトビュー用の字幕ストリームを示し、
前記コンピュータは、コンフィグレーション情報を格納するコンフィグレーション格納部を備え、
当該コンピュータと接続する表示装置から前記表示装置が立体視表示できるかどうかを示す情報を取得する取得ステップと、
前記コンピュータにおけるコンフィグレーション情報において、前記立体視表示方式による前記字幕の再生を有効にするかが設定されているかどうかの判定、および前記取得ステップが取得した情報から前記表示装置が立体視表示できるかどうかの判定を行う判定ステップと、
前記判定ステップが前記立体視表示方式による前記字幕の再生を有効にする設定がされていると判定し、かつ前記表示装置が前記立体視表示できると判定した場合であって、かつ前記表示フラグが前記再生区間における立体視表示方式による字幕の表示を有効とすることを示していれば、前記第２のストリーム情報テーブルが示す前記立体視表示に用いる字幕ストリームをビデオストリームと同期すべき字幕ストリームとして選択し、前記判定ステップが前記立体視表示方式による前記字幕の再生を有効にする設定がなされていないと判定するか、前記表示装置が前記立体視表示できないと判定した場合、前記第１のストリーム情報テーブルが示す前記平面表示用の字幕ストリームを前記ビデオストリームと同期すべき字幕ストリームとして選択する選択ステップと、
前記選択されたグラフィクス字幕ストリームと、前記ビデオストリームとを再生する再生ステップと
を含む再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィクス字幕の表示技術の分野に属する発明である。
【背景技術】
【０００２】
グラフィクス字幕とは、いわゆるランレングス符号化によって圧縮されたグラフィクスデータを復号して、字幕表示を行う技術であり、BD-ROM再生装置を始め、DVB-MHP、DVD-Videoにおいて採用されている。グラフィクス字幕は、一般にグラフィクス字幕ストリームをデコードすることで表示に供される。グラフィクス字幕ストリームは、PESパケットの配列であり、かかるPESパケットには、グラフィクスデータを格納したものと、パレットデータを格納したものと、制御データを格納したものとがあり、前記グラフィクスデータは、ランレングスデータであり、コード値と、そのコード値の連続長によって構成されている。
【０００３】
パレットデータは、各コード値と、輝度及び色差との対応関係を示す。制御データは、前記色変換に用いるべきパレットデータを示す参照値、プレーンメモリにグラフィクスを書き込むための表示領域を指定する情報、プレーンメモリにおけるグラフィクスの表示座標の情報を含み、当該参照値に基づくグラフィクス表示及び色変換に命じる。
【０００４】
グラフィクス字幕を描画する際の再生装置の処理は、ランレングスデータの伸長、プレーンメモリへの書き込み、カラールックアッテーブルを参照した色変換といったものに留まるので、再生装置における字幕表示の処理は簡素化される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０-２０８４４６号公報
【特許文献２】国際公開第２００４/０８２２９７号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、再生装置を用いて映画作品を視聴する視聴者の年齢層には年配者から幼児まで大きな広がりがあり、また再生装置にも、廉価モデルからハイエンドモデルまで、様々なバリエーションが存在する。近い将来には、立体視再生と平面視再生との切り替えが可能なモデルも登場すると囁かれており、映画作品の作り手側からは、これら再生装置のスペックやユーザ層の多様化に応じて特色ある字幕表示を実現することが要望されている。
【０００７】
ここで、グラフィクス字幕ストリームに組み込まれる制御情報には、プレーンメモリにおける表示領域や表示座標を指定する情報が存在するので、この制御情報における表示座標の設定や、表示領域の範囲を変化させてやることで、スクロール、ワイプ、カットイン、カットアウトといった表示効果を実現することができる。ところが、かかる制御情報における制御の種別は、上述したような表示効果に限られており、再生装置の再生装置のスペックやユーザ層の多様化に応じて、特色ある表示を実現できるような余地は存在しない。
【０００８】
無論、字幕ストリームに組込まれる制御情報に制御項目を追加したり、字幕ストリームに組込まれる制御情報のフォーマットを改変することで、そのような特色ある制御を実現することも考えられるが、これらの発案は、これまでの再生装置の製造開発で培われた制御情報の互換性を損なうものなので、メーカーの賛同を得られない恐れがある。特許文献１、２に記載されている記載されている技術も、既存のデータ構造の拡張、改変を前提にしたものであるから、制御情報の互換性を度外視している点は否めない。
【０００９】
本発明の目的は、グラフィクス字幕ストリームのデータ構造の互換を維持しつつも、再生装置の処理能力やユーザの年齢層に応じた字幕の表示方式の変化を実現することができる、再生装置を提供することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明にかかる再生装置は、記録媒体に記録されている字幕ストリームと、ビデオストリームとを同期して再生する再生装置であって、
前記記録媒体には、前記ビデオストリームと同期して再生すべき字幕ストリームと、プレイリスト情報とが更に記録されており、
前記プレイリスト情報は、再生区間情報と、表示方式フラグとを含み、
前記再生区間情報は、前記ビデオストリームの再生時間軸における再生開始点であるインタイムを示す情報、及び、再生終了点であるアウトタイムを示す情報を用いて再生区間を定義する情報であり、第１のストリーム情報テーブルとを含み、
前記表示方式フラグは、前記再生区間における立体視表示方式による字幕の表示を有効とするか否かを示し、
前記第１のストリーム情報テーブルは、前記再生区間において前記字幕を平面表示する場合に用いる、平面表示用の字幕ストリームを示し、
前記表示方式フラグが、前記再生区間における立体視表示方式による字幕の表示を有効とすることを示す場合、前記プレイリスト情報は、更に第２のストリーム情報テーブルを含み、前記第２のストリーム情報テーブルは、前記再生区間において前記字幕の立体視表示に用いるレフトビュー用の字幕ストリームおよびライトビュー用の字幕ストリームを示し、
前記再生装置は、
装置におけるコンフィグレーション情報を格納するコンフィグレーション格納部と、  
当該再生装置と接続する表示装置から前記表示装置が立体視表示できるかどうかを示す情報を取得する取得手段と、
前記コンフィグレーション情報において、前記立体視表示方式による前記字幕の再生を有効にするかが設定されているかどうかの判定、および前記取得手段が取得した情報から前記表示装置が立体視表示できるかどうかの判定を行う判定手段と、
前記判定手段が前記立体視表示方式による前記字幕の再生を有効にする設定がされていると判定し、かつ前記表示装置が前記立体視表示できると判定した場合であって、かつ前記表示フラグが前記再生区間における立体視表示方式による字幕の表示を有効とすることを示していれば、前記第２のストリーム情報テーブルが示す前記立体視表示に用いる字幕ストリームをビデオストリームと同期すべき字幕ストリームとして選択し、前記判定手段が前記立体視表示方式による前記字幕の再生を有効にする設定がなされていないと判定するか、前記表示装置が前記立体視表示できないと判定した場合、前記第１のストリーム情報テーブルが示す前記平面表示用の字幕ストリームを前記ビデオストリームと同期すべき字幕ストリームとして選択する選択手段と、
前記選択された字幕ストリームと、前記ビデオストリームとを再生する再生手段と
を備えることを特徴としている。
【発明の効果】
【００１１】
プレイリスト情報における第１、第２のストリーム情報テーブルは、複数の字幕ストリームのうちどれを選択させるべきかを再生装置に指示するので、互換性の維持のため、たとえ字幕ストリームに組込まれる制御情報の内容が、従来のものと同一の内容であるとしても、様々な字幕ストリームが記録媒体に記録されて、再生装置に提供されさえすれば、再生装置のコンフィグレーションに応じて、これら様々な字幕ストリームの何れかを再生装置に選択させることで、特有の表示方式に応じた字幕表示を、再生装置に実行させることができる。複数の字幕ストリームの中から、有効となる表示方式に応じて、字幕ストリームを選択するという処理により、特色ある字幕表示を実現するので、制御情報に変動をもたらす必要はない。
【００１２】
ユーザの年齢がいくつであるかに応じた表示方式の変更を実現することができるので、メーカーは、コンフィグレーションに応じて、字幕の表示方式を変化させることにより、他社との差別化を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】記録媒体、再生装置の、使用行為についての形態を示す図である。
【図２】BD-ROMの内部構成を示す。
【図３】BD-ROMのアプリケーションフォーマットを示す図である。
【図４】レフトビューストリーム、ライトビューストリームを構成する各ソースパケットがどのような過程を経てAVデータ領域に書き込まれるかを示す。
【図５】BD-ROMの物理単位と、1つのファイルエクステントを構成するソースパケットとの対応関係を示す図である。
【図６】TSパケットのパケットIDがとりうる複数の数値範囲と、各数値範囲のパケットIDをもつTSパケットのPESストリーム種別とを対応付けて示す図である。
【図７】インターリーブ配置の一例を示す図である。
【図８】立体視のためのベースビューストリーム、エンハンスドビューストリームの内部構成の一例を示す図である。
【図９】ゴーグルの透光／遮光を、図８のタイミングに従って切り替えることにより、どのような映像が再生に供されるかを示す図である。
【図１０】目の残像反応により形成される立体映像を示す図である。
【図１１】グラフィクス字幕ストリームの構成を示す図である。
【図１２】様々な種別の機能セグメントにて構成される論理構造を示す図である。
【図１３】字幕の表示位置と、Epochとの関係を示す図である。
【図１４】ODS、PDSのデータ構造を示す。
【図１５】WDS、PCSのデータ構造を示す。
【図１６】ディスプレイセットにおけるPCSの記述例を示す図である。
【図１７】DSnが割り当てられた、AVClipの再生時間軸を示す図である。
【図１８】ODSによって定義されるグラフィクス字幕の類型を示す図である。
【図１９】ベースビューを構成する字幕ストリーム、エンハンスドビューを構成する字幕ストリームがどのようにデコードされるかを示す。
【図２０】ベースビュービデオストリーム及びエンハンスドビュービデオストリームの再生と、ベースビュー字幕ストリーム及びエンハンスドビュー字幕ストリームの再生とが、同期する場合に再生される立体視映像の一例を示す。
【図２１】window＿horizontal＿position、window＿vertical＿positionによって規定されたグラフィクスプレーンにおけるウィンドゥの座標、及び、object＿horizontal＿position,object＿vertical＿positionによって規定されたグラフィクスプレーンにおけるグラフィクス字幕の座標が、立体視字幕に対してどのように影響するかを示す。
【図２２】クリップ情報ファイルの一例を示す図である。
【図２３】エントリーマップテーブルの内部構成を示す図である。
【図２４】エントリーマップによるエントリーポイントの登録を示す。
【図２５】レフトビュー、ライトビューのそれぞれに対応するエントリーマップが、どのように設定されているかを示す図である。
【図２６】プレイリスト情報のデータ構造を示す図である。
【図２７】サブパス情報テーブルの内部構成を示す図である。
【図２８】レフトビュー、ライトビューに対して、どのような再生区間が定義されているかを示す。
【図２９】ビデオストリーム番号テーブルの内部構成を示す図である。
【図３０】STN＿tableにおける字幕ストリーム情報テーブルの内部構成を示す。
【図３１】プレイリスト情報におけるエクステンションデータの内部構成を示す図である。
【図３２】ビデオストリーム番号テーブルの内部構成を示す図である。
【図３３】STN＿table＿extensionにおける字幕ストリーム情報テーブルの内部構成を示す図である。
【図３４】再生装置の内部構成を示す図である。
【図３５】再生装置の内部構成を詳細に示す図である。
【図３６】PSRセット１２、及び、再生制御エンジン１４の内部構成とを示す。
【図３７】平面視制御部４１の内部構成を示す図である。
【図３８】立体視制御部４２の内部構成を示す。
【図３９】グラフィクスデコーダの内部構成を示す図である。
【図４０】プレイリス再生処理の処理手順を示すフローチャートである。
【図４１】STN＿table＿extensionに基づく再生手順を示すフローチャートである。
【図４２】装置状態変化時、ストリーム変化の要求時におけるPSR2の設定手順を示すフローチャートである。
【図４３】年齢別再生時の選択手順を示すフローチャートである。
【図４４】立体視再生時における選択手順の処理手順を示すフローチャートである。
【図４５】動作の対象となるソースパケット列、プレイリスト情報を示す図である。
【図４６】字幕の内容を示す。
【図４７】再生装置における"ユーザ年齢が4歳"というコンフィグレーション情報に応じて、どのような字幕が表示されるかを示す。
【図４８】再生装置における"ユーザ年齢が70歳"というコンフィグレーション情報に応じて、どのような字幕が表示されるかを示す。
【図４９】再生装置における"立体視ケーパビリティがオン""立体視再生フラグがオン"というコンフィグレーション情報に応じて、どのような字幕が表示されるかを示す。
【発明を実施するための形態】
【００１４】
図面を参照しながら、上記課題解決手段を具備した記録媒体、及び、再生装置の実施形態について説明する。
【００１５】
図１は、記録媒体、再生装置の、使用行為についての形態を示す図である。本図に示すように、記録媒体の一例であるBD-ROM１０１、再生装置１０２は、テレビ１０３、液晶シャッタゴーグル１０４、リモコン１００と共にホームシアターシステムを構成し、ユーザによる使用に供される。
【００１６】
BD-ROM１０１は、上記ホームシアターシステムに、例えば映画作品を供給する。
【００１７】
再生装置１０２は、テレビ１０３と接続され、BD-ROM１０１を再生する。
【００１８】
テレビ１０３は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
【００１９】
液晶シャッタゴーグル１０４は、液晶シャッタと、制御部とから構成され、ユーザの両目における視差を用いて立体視を実現する。液晶シャッタゴーグル１０４の液晶シャッタは、印加電圧を変えることにより、光の透過率が変化する性質を有する液晶レンズを用いたシャッタである。液晶シャッタゴーグル１０４の制御部は、再生装置から送られるライトビュー用の画像とレフトビュー用の画像の出力の切り替えの同期信号を受け、この同期信号に従って、第１の状態、第２の状態の切り替えを行う。
【００２０】
図１（ｂ）は、第１の状態を示す。第１の状態とは、ライトビューに対応する液晶レンズが光を透過しないように印加電圧を調節し、レフトビューに対応する液晶レンズが光を透過するように印加電圧を調節した状態であり、この状態において、レフトビュー用の画像が視聴に供されることになる。
【００２１】
図１（ｃ）は、第２の状態を示す。第２の状態とは、ライトビューに対応する液晶レンズが光を透過するように印加電圧を調節し、レフトビューに対応する液晶レンズが光を透過しないように印加電圧を調節した状態であり、この場合、液晶シャッタゴーグルは、ライトビュー用の画像を視聴に供することができる。
【００２２】
一般にライトビューと、レフトビューは、その位置の差に起因して、ライトビューから見える像とレフトビューから見える像には見え方に若干の差がある。この差を利用して人間は目に見える像を立体として認識できるのである。そこで、液晶シャッタゴーグル１０４が、以上のような第１の状態、第２の状態の切り替えを、ライトビュー用の画像とレフトビュー用の画像の出力の切り替えタイミングに同期させれば、ユーザは、平面的な表示が立体的に見えると錯覚する。次に、ライトビュー映像、レフトビュー映像を表示するにあたっての時間間隔について説明する。
【００２３】
具体的には、平面表示の画像において、ライトビュー用の画像とレフトビュー用の画像には人間の視差に相当する見え方の差に相当する程度の差があり、これらの画像を短い時間間隔で切り替えて表示することにより、あたかも立体的な表示がなされているように見えるのである。
【００２４】
この短い時間間隔というのは、上述の切り替え表示により人間が立体的に見えると錯覚する程度の時間であればよい。
【００２５】
リモコン１００は、階層化されたGUIに対する操作をユーザから受け付ける機器であり、かかる操作受け付けのため、リモコン１００は、GUIを構成するメニューを呼び出すメニューキー、メニューを構成するGUI部品のフォーカスを移動させる矢印キー、メニューを構成するGUI部品に対して確定操作を行う決定キー、階層化されたメニューをより上位のものにもどってゆくための戻りキー、数値キーを備える。
【００２６】
以上がホームシアターシステムについての説明である。続いて、BD-ROMの詳細について説明する。
【００２７】
図２は、本実施の形態で説明をする記録媒体の一例である光ディスク、より具体的にはBD-ROMの内部構成を示す。
【００２８】
第１段目は、多層化された光ディスクであるBD-ROMを示し、第２段目は、各記録層上に存在する螺旋トラックを水平方向に引き伸ばして描いている。この螺旋トラックは、1つの連続した記録領域として扱われる。この記録領域は、最内周に位置するリードイン、最内周に位置するリードアウト、この間に存在する第１記録層の記録領域、第２記録層の記録領域、第３記録層の記録領域から構成される。
【００２９】
第３段目は、BD-ROMにおけるファイルシステム領域を示す。ファイルシステム領域は、"ボリューム管理領域"と、"論理アドレス空間"とから構成される。
【００３０】
"ボリューム管理領域"は、第１記録層の記録領域、第２記録層の記録領域、第３記録層の記録領域を1つの連続したファイルシステム空間として扱うためのファイルシステム管理情報が記録されている領域である。
【００３１】
"論理アドレス空間"は、セクタが連続する論理ブロック番号(LBN)によって指示されるアドレス空間である。つまり、第２段目における第１記録層の記録領域、第２記録層の記録領域、第３記録層の記録領域は、1つの連続した論理アドレス空間を構成することになる。
【００３２】
第４段目は、ファイルシステム管理領域の論理アドレス空間における領域割り当てを示す。ファイルシステム管理記録のうち、内周側には、非AVデータ記録領域が存在する。非AVデータ記録領域の直後には、AVデータ記録領域が存在する。
【００３３】
第５段目は、これら非AVデータ記録領域及びAVデータ記録領域に記録されるエクステントを示す。AVデータ記録領域には、AVファイルを構成する構成するエクステント(図中のEXT,EXT,EXT・・・・)が存在する。非AVデータ記録領域には、AVファイル以外のファイルを構成するエクステント(図中のEXT,EXT,EXT・・・・)が存在する。
【００３４】
図３は、BD-ROMのアプリケーションフォーマットを示す図である。
【００３５】
「BDMVディレクトリ」は、BD-ROMで扱うAVコンテンツや管理情報などのデータが記録されているディレクトリである。BDMVディレクトリの配下には、「JARディレクトリ」、「BDJOディレクトリ」、「PLAYLISTディレクトリ」、「CLIPINFディレクトリ」、「STREAMディレクトリ」と呼ばれる５つのサブディレクトリが存在し、BDMVディレクトリには、「index.bdmv」，「MovieObject.bdmv」の２種類のファイルが配置されている。
【００３６】
『index.bdmv』は、BD-ROM全体に関する管理情報であり、再生装置へのディスク挿入後に、index.bdmvが最初に読み出されることで、再生装置においてディスクが一意に認識される。加えて、index.bdmvは、BD-ROMにおいて再生可能となる複数タイトルのタイトル番号と、個々のタイトルを規定するBD-Jオブジェクト又はムービーブジェクトとの対応付けを示す。
【００３７】
『MovieObject.bdmv』は、1つ以上のムービーオブジェクトを格納している。ムービーオブジェクトは、コマンドインタプリタを制御主体とした動作モード(HDMVモード)において、再生装置が行うべき制御手順を規定する管理オブジェクトであり、1つ以上のコマンドと、GUIに対するメニューコール、タイトルコールがユーザによってなされた場合、これらのコールをマスクするかどうかを規定するマスクフラグを含む。
【００３８】
『JARディレクトリ』は、アーカイブファイルに対応するJARファイルが配置されるディレクトリである。アーカイブファイルは、1つ以上のクラスファイル、1つ以上のデータファイル等を1つにまとめることで得られるファイルである。1つ以上のクラスファイル、1つ以上のデータファイル等は例えば、アーカイバ（図示せず）により、１つにまとめることができる。
【００３９】
ここでは、アーカイブファイルの一例として、Java（登録商標）のアーカイブファイルを例に説明をする。
【００４０】
例えば、再生装置が備えるバイトコードインタプリタであるJava仮想マシンを制御主体とした動作モード(BD-Jモード)において、再生装置が行うべき制御手順を規定する。JARファイルを格納したファイルは、５桁の数字zzzzzと、拡張子jarとによって識別される。
【００４１】
『BDJOディレクトリ』は、バイトコードインタプリタであるJava仮想マシンを制御主体とした動作モード(BD-Jモード)において、再生装置が行うべき制御手順を規定する管理オブジェクト(BDJオブジェクト)を格納したファイルが格納されるディレクトリである。BDJオブジェクトを格納したファイルは、５桁の数字zzzzzと、拡張子bdjoとによって識別される。
【００４２】
『PLAYLISTディレクトリ』は、ベースビュービデオストリームに対する再生区間を指定するメインパス情報、エンハンスドビュービデオストリームに対する再生区間を指定するサブパス情報を含むプレイリスト情報を格納したファイルが配置される。このプレイリスト情報を格納したファイルは、"yyyyy"という５桁の識別番号と、拡張子"mpls"とによって識別される。ここでベースビュービデオストリームとは、レフトビュー又はライトビューを構成するビデオストリームのうち、平面視表示を実現しうるものである。一方、ライトビュー又はレフトビューを構成するビデオストリームのうち、ベースビュービデオストリームではないものを"エンハンスドビュービデオストリーム"という。エンハンスドビュービデオストリームを構成するピクチャデータは、ベースビュービデオストリームを構成するピクチャデータとのフレーム相関性に基づき圧縮符号化されている。
【００４３】
このような視点間の相関を利用したビデオ圧縮の方法としては、Multiview Video Coding（MVC）と呼ばれるMPEG-４ AVC/H.２６４の修正規格がある。ISO/IEC MPEGとITU-T VCEGの共同プロジェクトであるJoint Video Team（JVT）は、２００８年7月にMultiview Video Coding（MVC）と呼ばれるMPEG-４ AVC/H.２６４の修正規格の策定を完了した。MVCは、複数視点の映像をまとめて符号化する規格であり、映像の時間方向の類似性だけでなく視点間の類似性も予測符号化に利用することで、複数視点の独立した圧縮に比べて圧縮効率を向上している。
【００４４】
ベースビュー、エンハンスドビューを構成するストリームは、ビデオストリームだけではない。字幕ストリームも、ベースビュー、エンハンスドビューを構成する。以降、ベースビュービデオストリーム、ベースビュー字幕ストリームを併せて、"ベースビューストリーム"と呼ぶ。また、エンハンスドビュービデオストリーム、エンハンスドビュー字幕ストリームを併せて、"エンハンスドビューストリーム"と呼ぶ。
【００４５】
『CLIPINFディレクトリ』は、クリップ情報を格納したファイル(クリップ情報ファイル)が配置されるディレクトリである。クリップ情報ファイルは、"xxxxx"という５桁の識別番号と、拡張子"clpi"とによって識別される。このクリップ情報ファイルの内部には、レフトビューのビデオストリーム、ライトビューのビデオストリームのそれぞれに対応するエントリーマップが存在する。
【００４６】
以上のディレクトリに存在するファイルを構成するエクステントは、非AVデータ領域に記録される。
【００４７】
『STREAMディレクトリ』は、平面視ビデオストリームを格納したAVクリップファイル、立体視ビデオストリームを格納したAVクリップファイルが配置されるディレクトリである。平面視ビデオストリームを格納したファイルは、"xxxxx"という５桁の識別番号と、拡張子"m2ts"とによって識別される。立体視ビデオストリームを格納したファイルは、"xxxxx"という５桁の識別番号と、拡張子"ilts"とによって識別される。
【００４８】
STREAMディレクトリに格納されるベースビューストリームのファイルを構成するエクステント、STREAMディレクトリに格納されるべきエンハンスドビューストリームのファイルを構成するエクステントは、AVデータ記録領域に記録される。
【００４９】
(ストリームの記録のされ方)
図４は、ベースビューストリーム、エンハンスドビューストリームを構成する各ソースパケットがどのような過程を経てAVデータ領域に書き込まれるかを示す。本図の第１段目は、ベースビューストリーム又はエンハンスドビューストリームを構成するTSパケットを示す。
【００５０】
ベースビューストリーム及びエンハンスドビューストリームを構成する188バイトのTSパケットは、第２段目に示すように4バイトのTS＿extra＿header(図中のハッチング部)が付されて、192バイト長のソースパケットになる。このTS＿extra＿headerは、当該TSパケットのデコーダ入力時刻情報を示すArrival＿Time＿Stampを含む。
【００５１】
ベースビューストリーム及びエンハンスドビューストリームを構成するソースパケットは、1つ以上の"ATCシーケンス"を構成する。"ATCシーケンス"とは、ATSの時間軸を構成するソースパケットの配列であって、そのArrival＿Time＿Stampが参照しているArrival＿Time＿Clockに、不連続点(no 
arrival time-base 
discontinutiy)が存在しないものをいう。いいかえれば、そのArrival＿Time＿Stampが参照しているArrival＿Time＿Clockに、連続性が存在するソースパケット列を"ATCシーケンス"という。ATSは以下のようにTSパケットの先頭につけられ、デコーダへの転送時刻を示す。
【００５２】
かかるATCシーケンスがAVクリップになり、xxxxx.m2tsというファイル名で記録層に記録される。
【００５３】
かかるAVクリップは、通常のコンピュータファイル同様、1つ以上のファイルエクステントに分割され、各記録層上の領域に記録される。第３段目はAVクリップを示し、第4段目はAVクリップがどのように各記録層に記録されるかを模式的に示す。この第4段目においてファイルを構成する各ファイルエクステントは、予め定められたサイズ(このサイズを、Ｓ＿EXTという。)以上のデータ長を有する。
【００５４】
図５は、BD-ROMの物理単位と、1つのファイルエクステントを構成するソースパケットとの対応関係を示す図である。第２段目に示すように、BD-ROMのAVファイル記録領域には複数セクタが形成されている。ファイルエクステントを構成するソースパケットは、第1段目に示すように、32個毎にグループ化されて、連続する3つのセクタに書き込まれる。32個のソースパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のソースパケットを"Aligned
Unit"といい、BD-ROMへの書き込みは、Aligned Unit単位でなされる。
【００５５】
第３段目においてセクタは、32個単位で誤り訂正符号が付され、ECCブロックを構成する。再生装置はAligned 
Unitの単位でBD-ROMをアクセスする限り、32個の完結したソースパケットを得ることができる。以上がBD-ROMに対するAVクリップの書き込みのプロセスである。
【００５６】
図６（ａ）は、TSパケットのパケットID(PID)がとりうる複数の数値範囲と、各数値範囲のパケットIDをもつTSパケットのPESストリーム種別とを対応付けて示す図である。
【００５７】
0x0100のパケットIDをを有するTSパケットはプログラムマップ（Program＿map）を構成し、0x1001のパケットIDを有するTSパケットはプログラムクロックレファレンス(PCR)を構成する。
【００５８】
0x1011のパケットIDを有するTSパケットはベースビュービデオストリームを構成し、Ox1012のTSパケットはエンハンスドビュービデオストリームを構成する。
【００５９】
0x1100〜0x111FのパケットIDを有するTSパケットはオーディオストリームを構成する。
【００６０】
0x1220〜x123FのパケットIDを有するTSパケットは、ベースビュー字幕ストリームを構する。0x1240〜0x125FのパケットIDを有するTSパケットは、エンハンスドビュー字幕ストリームを構成する。尚、平面視のためのグラフィクス字幕ストリームを構成するTSパケットであって、ベースビュー字幕ストリームになりえないもののパケットIDは、0x1200〜0x121Fの数値範囲となる。
【００６１】
これらのビデオストリームを構成するTSパケット、字幕ストリームを構成するTSパケットは、ベースビューを構成するもの同士、エンハンスドビューを構成するもの同士でまとめられる。図６（ｂ）は、その一例を示す。
【００６２】
本図に示すように、ベースビューを構成するソースパケットのグループは、0x1011のPIDが付与されたベースビュービデオストリームのソースパケット(図中のVideo)、0x1100のPIDが付与されたオーディオストリームのソースパケット(図中のAudio)、0x1220,0x1221,0x1222,0x1223,0x1224,0x1225,0x1226のPIDが付与されたグラフィクス字幕ストリームのソースパケット(図中のPG)から構成される。
【００６３】
一方、エンハンスドビューを構成するソースパケットのグループは、0x1012のPIDが付与されたエンハンスドビュービデオストリーム(図中のVideo)のソースパケット、0x1101のPIDが付与されたオーディオストリームのソースパケット(図中のAudio)、0x1240,0x1241,0x1242,0x1243,0x1244,0x1245のPIDが付与されたグラフィクス字幕ストリームのソースパケット(図中のPG)から構成される。
【００６４】
ベースビュー、エンハンスドビューを構成するソースパケットのグループは、インターリーブ配置される。図７は、インターリーブ配置の一例を示す図である。本図におけるインターリーブ配置とは、ベースビュー、エンハンスドビューを構成するエクステントが、"ベースビュー"、"エンハンスドビュー"、"ベースビュー"、"エンハンスドビュー"・・・・・という規則性をもって記録されていることである。
【００６５】
第１段目は、AVファイルを示し、第２段目は、AVファイルを構成するエクステントEXT＿L[i],EXT＿L[i+1],EXT＿R[i],EXT＿R[i+1]を示す。第３段目は、各エクステント内に属するソースパケット列を示し、第４段目は、記録層におけるセクタ列を示す。ここで、括弧書きにおける変数i,i+1は、何番目のエクステントとして再生されるかを示す。この記法からすると、変数iによって指示される2つのエクステント、つまり、EXT＿L[i],EXT＿R[i]は同時に再生され、変数i+1によって指示される2つのエクステント、つまり、EXT＿L[i+1],EXT＿R[i+1]は同時に再生されることがわかる。
【００６６】
エクステントEXT＿L[i],EXT＿L[i+1]は、PID＝0x1011のソースパケットによって構成されている。破線の矢印h1,h2,h3,h4は、エクステントEXT＿L[i],EXT＿L[i+1]が、ベースビューストリーム、エンハンスドビューストリームのうちどちらに帰属するという帰属関係を示す。矢印h1,h2に示される帰属関係によると、エクステントEXT＿L[i],EXT＿L[i+1]は、ベースビューストリームに帰属していることがわかる。矢印h3,h4に示される帰属関係によると、エクステントEXT＿R[i],EXT＿R[i+1]は、エンハンスドビューストリームに帰属していることがわかる。
【００６７】
エクステントEXT＿L[i]のサイズをSEXT＿L[i]と呼び、エクステントEXT＿R[i]のサイズをSEXT＿R[i]と呼ぶ。
【００６８】
これらSEXT＿L、SEXT＿Rのサイズをどのように定めるかについて説明する。ここでエクステントは、再生装置においてライトビュー用リードバッファ、レフトビュー用リードバッファという2つのバッファに交互に読み出されてビデオデコーダに供される。そうすると、SEXT＿L、SEXT＿Rのサイズは、ライトビュー用リードバッファ及びレフトビュー用リードバッファをバッファフルにする時間を考慮して定める必要がある。つまり、ライトビュー用リードバッファへの転送レートを、Rmax1とすると、
ライトビュー用リードバッファ＝Rmax1×"ジャンプを伴いながらレフトビュー用リードバッファをフルにする時間"
という関係を満たすよう、ライトビュー用リードバッファの容量を定めねばならない。ここでジャンプとは、ディスクシークと同義である。何故なら、BD-ROMにおいて記録に確保できる連続領域は有限であり、ベースビューストリーム及びエンハンスドビューストリームは、必ずしも、隣合わせで記録されるとは限らず、飛び飛びの領域に記録されることも有り得るからである。
【００６９】
続いて"ジャンプを伴いながらレフトビュー用リードバッファをフルにする時間"について考える。レフトビュー用リードバッファにおけるTSパケット蓄積は、Rud-Rmax2という転送レートでなされる。これは、レフトビュー用リードバッファからの出力レートRmax2と、レフトビュー用リードバッファへの入力レートRudとの差分を意味する。そうすると、レフトビュー用リードバッファをフルにする時間は、RB2/(Rud-Rmax2)となる。
レフトビュー用リードバッファにデータを読み出すにあたっては、ライトビュービデオストリームからレフトビュービデオストリームへのジャンプ時間(Tjump)と、レフトビュービデオストリームからライトビュービデオストリームへのジャンプ時間(Tjump)とを考慮する必要があるので、
レフトビュー用リードバッファの蓄積には（2×Tjump+RB2/(Rud-Rmax2)）という時間が必要になる。
【００７０】
ライトビュー用リードバッファの転送レートをRmax1とすると、上述したレフトビュー用リードバッファの蓄積時間において、Rmax1という転送レートで、ライトビュー用リードバッファ内の全てのソースパケットは出力されねばならないから、ライトビュー用リードバッファのサイズRB1は、
RB1≧Rmax1×[2×Tjump+RB2/(Rud-Rmax2)]
になる。
同様の手順で、レフトビュー用リードバッファの容量RB2を求めると、
RB2≧Rmax2×[2×Tjump+RB1/(Rud-Rmax1)]
になる。
ライトビュー用リードバッファ,レフトビュー用リードバッファのメモリサイズの具体的な値としては、1.5Mbyte以下であり、本実施形態においてエクステントサイズSEXT＿R、SEXT＿Lは、このライトビュー用リードバッファ,レフトビュー用リードバッファのサイズと同じサイズか、またはこれにほぼ等しいサイズに設定されている。以上がベースビューストリーム、エンハンスドビューストリームの記録のされ方についての説明である。続いて、ベースビューストリーム及びエンハンスドビューストリームの内部構成について説明する。
【００７１】
図８は、立体視のためのベースビューストリーム、エンハンスドビューストリームの内部構成の一例を示す図である。
【００７２】
ベースビューストリーム、エンハンスドビューストリームは例えば、ピクチャデータを含む。ピクチャデータには複数種類があり、Ｉピクチャ、Ｐピクチャ、Ｂピクチャといったピクチャデータを含む。
【００７３】
Ｉピクチャとは、一画面分のピクチャデータであるである。
【００７４】
Ｐピクチャとは、基準となるＩピクチャとの差分を示すピクチャデータである。
【００７５】
Ｂピクチャとは、基準となるＩピクチャとＰピクチャにより生成されるピクチャデータである。
【００７６】
本図の第２段目は、ベースビューストリームの内部構成を示す。このストリームには、ピクチャデータI1,P2,Br3,Br4,P5,Br6,Br7,P9というピクチャデータが含まれている。
【００７７】
これらのピクチャデータは、DTS（デコーディングタイムスタンプ：デコーダによる復号の開始時刻を示す情報）に従いデコードされる。第１段目は、レフトビュー画像を示す。そうしてデコードされたピクチャデータI1,P2,Br3,Br4,P5,Br6,Br7,P9をPTSに従い、I1,Br3,Br4,P2,Br6,Br7,P5の順序で再生することで、レフトビュー画像が再生されることになる。
【００７８】
第４段目は、エンハンスドビューストリームの内部構成を示す。このセカンダリビデオストリームは、P1,P2,B3,B4,P5,B6,B7,P8というピクチャデータが含まれている。これらのピクチャデータは、DTSに従いデコードされる。第３段目は、ライトビュー画像を示す。そうしてデコードされたピクチャデータP1,P2,B3,B4,P5,B6,B7,P8をPTS（プレゼンテーションタイムスタンプ：ビデオ・オーディオの提示時刻を示す情報）に従い、P1,B3,B4,P2,B6,B7,P5の順序で再生することで、ライトビュー画像が再生されることになる。
【００７９】
第５段目は、液晶シャッタゴーグル１０４の状態をどのように変化させるかを示す。この第５段目に示すように、レフトビュー映像の視聴時は、ライトビューの液晶シャッタを閉じ、ライトビュー映像の視聴時は、レフトビューの液晶シャッタを閉じていることがわかる。
【００８０】
これらのプライマリビデオストリーム、セカンダリビデオストリームは、時間方向の冗長性を利用したピクチャ間予測符号化に加えて、視点間の冗長性を利用したピクチャ間予測符号化によって圧縮されている。エンハンスドビューストリームのピクチャは、ベースビューストリームの同じ表示時刻のピクチャを参照して圧縮されている。
【００８１】
例えば、エンハンスドビューストリームの先頭Pピクチャは、ベースビューストリームのIピクチャを参照し、エンハンスドビューストリームのBピクチャは、ベースビューストリームのBrピクチャを参照し、エンハンスドビューストリームの二つ目のPピクチャは、ベースビューストリームのPピクチャを参照している。
【００８２】
図９は、ゴーグルの透光／遮光を、図８のタイミングに従って切り替えることにより、どのような映像が再生に供されるかを示す図である。ここでフレーム表示期間が、１／２４秒であり、ゴーグルにおけるライトビュー、レフトビューの透光／遮光を、１／４８秒置きに変化させれば、ライトビュー、レフトビューのピクチャは、それぞれ交互に現れることになる。図９に示されるレフトビューの画像及びライトビューの画像は、画像内に現れる人物の顔の向きや位置が、レフトビュー画像と、ライトビュー画像とで僅かながらずれていることを模式的に示している(尚、図９、図１０における人物の顔の向きや位置のズレは模式的なものである。)。
【００８３】
図１０は、目の残像反応により形成される立体映像を示す図である。
【００８４】
以上で、エンハンスドビュービデオストリームの内部構成についての説明を終える。
【００８５】
続いてグラフィクス字幕ストリームについて説明する。図１１は、グラフィクス字幕ストリームの構成を示す図である。図１１（ａ）の第１段目は、AVClipを構成するTSパケット列を示す。第２段目は、グラフィクス字幕ストリームを構成するPESパケット列を示す。第２段目におけるPESパケット列は、第１段目におけるTSパケットのうち、所定のPIDをもつTSパケットからペイロードを取り出して、連結することにより構成される。
【００８６】
第３段目は、グラフィクス字幕ストリームの構成を示す。グラフィクス字幕ストリームは、PCS(Presentation Composition
Segment)、WDS(Window Define Segment)、PDS(Palette Difinition
Segment)、ODS(Object＿Definition＿Segment)、END(END of Display Set
Segment)と呼ばれる機能セグメントからなる。これらの機能セグメントのうち、PCSは、画面構成セグメントと呼ばれ、WDS,PDS,ODS,ENDは定義セグメントと呼ばれる。PESパケットと機能セグメントとの対応関係は、1対1の関係、1対多の関係である。つまり機能セグメントは、1つのPESパケットに変換されてBD-ROMに記録されるか、又は、フラグメント化され、複数PESパケットに変換されてBD-ROMに記録される。
【００８７】
図１１（ｂ）は、機能セグメントを変換することで得られるPESパケットを示す図である。図１１（ｂ）に示すようにPESパケットは、『パケットヘッダ』と、『ペイロード』とからなり、このペイロードが機能セグメント実体にあたる。またパケットヘッダには、この機能セグメントに対応するDTS、PTSが存在する。尚以降の説明では、機能セグメントが格納されるPESパケットのヘッダ内に存在するDTS及びPTSを、機能セグメントのDTS及びPTSとして扱う。
【００８８】
これら様々な種別の機能セグメントは、図１２のような論理構造を構築する。図１２は、様々な種別の機能セグメントにて構成される論理構造を示す図である。本図は第３段目に機能セグメントを、第２段目にDisplay 
Setを、第１段目にEpochをそれぞれ示す。
【００８９】
第２段目のDisplay 
Set(DSと略す)とは、グラフィクス字幕ストリームを構成する複数機能セグメントのうち、一画面分のグラフィクスを構成するものの集合をいう。図中の破線kz1は、第３段目の機能セグメントが、どのDSに帰属しているかという帰属関係を示す。PCS-WDS-PDS-ODS-ENDという一連の機能セグメントが、1つのDSを構成していることがわかる。再生装置は、このDSを構成する複数機能セグメントをBD-ROMから読み出せば、一画面分のグラフィクスを構成することができる。
【００９０】
第１段目のEpochとは、AVClipの再生時間軸上においてメモリ管理の連続性をもっている一つの期間、及び、この期間に割り当てられたデータ群をいう。ここで想定しているメモリとは、一画面分のグラフィクスを格納しておくためのグラフィクスプレーン、伸長された状態のグラフィクスデータを格納しておくためのオブジェクトバッファである。これらについてのメモリ管理に、連続性があるというのは、このEpochにあたる期間を通じてこれらグラフィクスプレーン及びオブジェクトバッファのフラッシュは発生せず、グラフィックスプレーン内のある決められた矩形領域内でのみ、グラフィクスの消去及び再描画が行われることをいう(※ここでフラッシュとは、プレーン及びバッファの格納内容を全部クリアしてしまうことである。)。この矩形領域の縦横の大きさ及び位置は、Epochにあたる期間において、終始固定されている。グラフィックスプレーンにおいて、この固定化された領域内で、グラフィクスの消去及び再描画を行っている限り、映像とグラフィクスとの同期が保障される。つまりEpochは、映像−グラフィクスの同期の保障が可能な再生時間軸上の一単位ということができる。グラフィックスプレーンにおいて、グラフィクスの消去・再描画を行うべき領域を変更したい場合は、再生時間軸上においてその変更時点を定義し、その変更時点以降を、新たなEpochにせねばならない。この場合、2つのEpochの境界では、映像−グラフィクスの同期は保証されない。
【００９１】
Epochにおける字幕の位置関係にたとえれば、再生時間軸上において、画面上のある決まった矩形領域内に字幕が出現している期間が、Epochということができる。図１３は、字幕の表示位置と、Epochとの関係を示す図である。本図では、動画の各ピクチャの絵柄に応じて字幕の位置を変更するという配慮がなされている。つまり5つの字幕「本当に」「ごめん」「あれから」「3年がたった」のうち、2つの字幕「本当に」「ごめん」は画面の下側に、「あれから」「3年がたった」は画面の上側に配置されている。これは画面の見易さを考え、画面中の余白にあたる位置に字幕を配置することを意図している。かかる時間的な変動がある場合、AVClipの再生時間軸において、下側の余白に字幕が出現している期間が1つのEpoch1、上側の余白に字幕が出現している期間が別のEpoch2になる。これら2つのEpochは、それぞれ独自の字幕の描画領域をもつことになる。Epoch1では、画面の下側の余白が字幕の描画領域(window1)になる。一方Epoch2では、画面の上側の余白が字幕の描画領域(window2)になる。これらのEpoch1,2において、バッファ・プレーンにおけるメモリ管理の連続性は保証されているので、上述した余白での字幕表示はシームレスに行われる。以上がEpochについての説明である。続いてDisplay 
Setについて説明する。
【００９２】
図１２における破線hk1,2は、第２段目の機能セグメントが、どのEpochに帰属しているかという帰属関係を示す。Epoch Start,Acquisition 
Point,Normal Caseという一連のDSは、第１段目のEpochを構成していることがわかる。『Epoch Start』、『Acquisition 
Point』、『Normal Case』は、DSの類型である。本図におけるAcquisition Point、Normal
Caseの順序は、一例にすぎず、どちらが先であってもよい。
【００９３】
『Epoch Start』は、新たなEpochの開始を示す。そのためEpoch Startは、次の画面合成に必要な全ての機能セグメントを含んでいる。Epoch 
Startは、映画作品におけるチャプター等、頭出しがなされることが判明している位置に配置される。
【００９４】
『Acquisition Point』は、Epochの開始時点ではないが、次の画面合成に必要な全ての機能セグメントを含んでいるDisplay 
Setである。Acquisition PointたるDSから頭出しを行えば、グラフィックス表示を確実に実現することができる。つまりAcquisition 
PointたるDSは、Epochの途中からの画面構成を可能するという役割をもつ。Acquisition PointたるDisplay 
Setは、頭出し先になり得る位置に組み込まれる。そのような位置には、タイムサーチにより指定され得る位置がある。タイムサーチとは、何分何秒という時間入力をユーザから受け付けて、その時間入力に相当する再生時点から頭出しを行う操作である。かかる時間入力は、10分単位、10秒単位というように、大まかな単位でなされるので、10分間隔の再生位置、10秒間隔の再生位置がタイムサーチにより指定され得る位置になる。このようにタイムサーチにより指定され得る位置にAcquisition 
Pointを設けておくことにより、タイムサーチ時のグラフィクス字幕ストリーム再生を好適に行うことができる。
【００９５】
『Normal Case』は、前のDisplay 
Setからの差分のみを含む。例えば、あるDSvの字幕は、先行するDSuと同じ内容であるが、画面構成が、この先行するDSuとは異なる場合、PCSと、ENDのみのDSvを設けてこのDSvをNormal
CaseのDSにする。こうすれば、重複するODSを設ける必要はなくなるので、BD-ROMにおける容量削減に寄与することができる。一方、Normal
CaseのDSは、差分にすぎないので、Normal Case単独では画面構成は行えない。
【００９６】
続いてDefinition Segment(ODS,WDS,PDS)について説明する。
『Object＿Definition＿Segment』は、グラフィクス字幕を定義する機能セグメントである。このグラフィクス字幕について以下説明する。BD-ROMに記録されているAVClipは、ハイビジョン並みの高画質をセールスポイントにしているため、グラフィクス字幕の解像度も、1920×1080画素という高精細な大きさに設定されている。1920×1080という解像度があるので、BD-ROMでは、劇場上映用の字幕の字体、つまり、手書きの味わい深い字体の字幕表示を鮮やかに再現できる。グラフィクス字幕は複数のランレングスデータからなる。ランレングスデータとは、ピクセル値を示すピクセルコードと、ピクセル値の連続長とにより、画素列を表現したデータである。ピクセルコードは、8ビットの値であり、1〜255の値をとる。ランレングスデータでは、このピクセルコードによりフルカラーの16,777,216色から任意の256色を選んで画素の色として設定することができる。尚、字幕として表示される場合、グラフィクス字幕は、透明色の背景に、文字列を配置することで描画せねばならない。
ODSによるグラフィクス字幕の定義は、図１４（ａ）に示すようなデータ構造をもってなされる。ODSは、図１４（ａ）に示すように自身がODSであることを示す『segment＿type』と、ODSのデータ長を示す『segment＿length』と、EpochにおいてこのODSに対応するグラフィクス字幕を一意に識別する『object＿id』と、EpochにおけるODSのバージョンを示す『object＿version＿number』と、『last＿in＿sequence＿flag』と、グラフィクス字幕の一部又は全部である連続バイト長データ『object＿data＿fragment』とからなる。
【００９７】
『Palette Difinition
Segment(PDS)』は、パレットデータを格納する機能セグメントである。パレットデータとは、1〜255のピクセルコードと、ピクセル値との組合せを示すデータである。ここでピクセル値は、赤色差成分(Cr値),青色差成分(Cb値),輝度成分(Y値),透明度(T値)から構成される。各ランレングスデータが有するピクセルコードを、パレットに示されるピクセル値に置き換えることで、ランレングスデータは発色されることになる。PDSのデータ構造を図１４（ｂ）に示す。図１４（ｂ）に示すようにPDSは、自身がPDSであることを示す『segment＿type』、PDSのデータ長を示す『segment＿length』、このPDSに含まれるパレットを一意に識別する『pallet＿id』、EpochにおけるEpochのPDSのバージョンを示す『pallet＿version＿number』、各エントリーについての情報『pallet＿entry』からなる。『pallet＿entry』は、各エントリーにおける赤色差成分(Cr値),青色差成分(Cb値),輝度成分Y値,透明度(T値)を示す。
【００９８】
続いてWDSについて説明する。
【００９９】
『window＿definition＿segment』は、グラフィックスプレーンの矩形領域を定義するための機能セグメントである。Epochでは、クリア及び再描画が、グラフィックスプレーンにおけるある矩形領域内で行われている場合のみ、メモリ管理に連続性が生ずることは既に述べている。このグラフィックスプレーンにおける矩形領域は"window"と呼ばれ、このWDSで定義される。図１５（ａ）は、WDSのデータ構造を示す図である。本図に示すようにWDSは、グラフィックスプレーンにおいてウィンドゥを一意に識別する『window＿id』と、グラフィックスプレーンにおける左上画素の水平位置を示す『window＿horizontal＿position』と、グラフィックスプレーンにおける左上画素の垂直位置を示す『window＿vertical＿position』と、グラフィックスプレーンにおけるウィンドゥの横幅を示す『window＿width』と、グラフィックスプレーンにおける縦幅を示す『window＿height』とを用いて表現される。
【０１００】
window＿horizontal＿position、window＿vertical＿position、window＿width、window＿heightがとりうる値について説明する。これらが想定している座標系は、グラフィックスプレーンの内部領域であり、このグラフィックスプレーンは、縦:video＿height、横:video＿widthという二次元状の大きさをもつ。
【０１０１】
window＿horizontal＿positionは、グラフィックスプレーンにおける左上画素の水平アドレスであるので、1〜video＿widthの値をとり、window＿vertical＿positionは、グラフィックスプレーンにおける左上画素の垂直アドレスであるので1〜video＿heightの値をとる。
【０１０２】
window＿widthは、グラフィックスプレーンにおけるウィンドゥの横幅であるので、1〜video＿width-window＿horizontal＿positionの値をとり、window＿heightは、グラフィックスプレーンにおける縦幅であるので1〜video＿height-window＿vertical＿positionの値をとる。
【０１０３】
WDSのwindow＿horizontal＿position、window＿vertical＿position、window＿width、window＿heightにより、グラフィックスプレーンの何処にウィンドゥを配置するか、ウィンドゥの大きさをどれだけにするかをEpoch毎に規定することができる。そのため、あるEpochに属するピクチャが表示されている期間において、ピクチャ内の絵柄の邪魔にならないように、ピクチャ上の余白にあたる位置に、ウィンドゥが現れるようオーサリング時に調整しておくことができる。これによりグラフィクスによる字幕表示を見易くすることができる。WDSはEpoch毎に定義可能なので、ピクチャの絵柄に時間的な変動があっても、その変動に応じて、グラフィクスを見易く表示することができる。そのため、結果として、字幕を映像本体に組み込むのと同じレベルにまで映画作品の品質を高めることができる。
【０１０４】
続いて『END of Display Set Segment』について説明する。END of Display Set Segmentは、Display 
Setの伝送の終わりを示す指標であり、Display Setにおける機能セグメントのうち、最後のODSの直後に配置される。この END of Display 
SetSegmentの内部構成は、自身が END of Display 
SetSegmentであることを示す『segment＿type』と、当該機能セグメントのデータ長を示す『segment＿length』とからなり、これといって説明が必要な構成要素はない。故に図示は省略する。
【０１０５】
以上がODS、PDS、WDS、ENDについての説明である。続いてPCSについて説明する。
【０１０６】
PCSは、対話的な画面を構成する機能セグメントである。PCSは、図１５（ｂ）に示すデータ構造で構成される。本図に示すようにPCSは、『segment＿type』と、『segment＿length』と、『composition＿number』と、『composition＿state』と、『pallet＿update＿flag』と、『pallet＿id』と、『composition＿object(1)〜(m)』とから構成される。
【０１０７】
『composition＿number』は、0から15までの数値を用いてDisplay 
Setにおけるグラフィクスアップデートを識別する。どのように識別するかというと、Epochの先頭から本PCSまでにグラフィクスアップデートが存在すれば、それらグラフィクスアップデートを経由する度に、インクリメントされるというルールでcomposition＿numberは設定される。
【０１０８】
『composition＿state』は、本PCSから始まるDisplay Setが、Normal Caseであるか、ACquisition 
Pointであるか、Epoch Startであるかを示す。
【０１０９】
『pallet＿update＿flag』は、本PCSにおいてPalletOnly Displey
Updateがなされているかどうかを示す。PalletOnly Displey
Updateとは、直前のパレットのみを新たなものに切り換えることでなされるアップデートをいう。本PCSでかかるアップデートがなされれば、本フィールドは"1"に設定される。
【０１１０】
『pallet＿id』は、本PCSにおいてPalletOnly Displey Updateがなされているかどうかを示す。PalletOnly Displey
Updateとは、直前のDisplay 
Setから、パレットのみを新たなものに切り換えることでなされるアップデートをいう。本PCSでかかるアップデートがなされる場合、本フィールドは"1"に設定される。
【０１１１】
『composition＿object(1)・・・(n)』は、このPCSが属するDisplay 
Setにおける画面構成を実現するための制御情報である。図１５（ｂ）の破線wd1は、任意のcomposition＿object(i)の内部構成をクローズアップしている。この破線wd1に示すように、composition＿object(i)は、『object＿id＿ref』、『window＿id＿ref』、『object＿cropped＿flag』、『object＿horizontal＿position』、『object＿vertical＿position』、『cropping＿rectangle情報(1)(2)・・・・・(n)』からなる。
【０１１２】
『object＿id＿ref』は、グラフィクス字幕識別子(object＿id)の参照値である。この参照値は、composition＿object(i)に対応する画面構成を実現するにあたって、用いるべきグラフィクス字幕の識別子を意味する。
【０１１３】
『window＿id＿ref』は、ウィンドゥ識別子(window＿id)の参照値である。この参照値は、composition＿object(i)に対応する画面構成を実現するにあたって、どのウィンドゥに、グラフィクス字幕を表示させるべきかを示す。
【０１１４】
『object＿cropped＿flag』は、オブジェクトバッファにおいてクロップされたグラフィクス字幕を表示するか、グラフィクス字幕を非表示とするかを切り換えるフラグである。"1"と設定された場合、オブジェクトバッファにおいてクロップされたグラフィクス字幕が表示され、"0"と設定された場合、グラフィクス字幕は非表示となる。
【０１１５】
『object＿horizontal＿position』は、グラフィックスプレーンにおけるグラフィクス字幕の左上画素の水平位置を示す。
【０１１６】
『object＿vertical＿position』は、グラフィックスプレーンにおける左上画素の垂直位置を示す。
【０１１７】
『cropping＿rectangle情報(1)(2)・・・・・(n)』は、『object＿cropped＿flag』が1に設定されている場合に有効となる情報要素である。破線wd2は、任意のcropping＿rectangle情報(i)の内部構成をクローズアップしている。この破線に示すようにcropping＿rectangle情報(i)は、『object＿cropping＿horizontal＿position』、『object＿cropping＿vertical＿position』、『object＿cropping＿width』、『object＿cropping＿height』からなる。
【０１１８】
『object＿cropping＿horizontal＿position』は、グラフィックスプレーンにおけるクロップ矩形の左上画素の水平位置を示す。クロップ矩形は、グラフィクス字幕の一部を切り出すための枠であり、ETSI
EN 300 743標準規格における"Region"に相当する。
【０１１９】
『object＿cropping＿vertical＿position』は、グラフィックスプレーンにおけるクロップ矩形の左上画素の垂直位置を示す。
【０１２０】
『object＿cropping＿width』は、グラフィックスプレーンにおけるクロップ矩形の横幅を示す。
【０１２１】
『object＿cropping＿height』は、グラフィックスプレーンにおけるクロップ矩形の縦幅を示す。
【０１２２】
以上がPCSのデータ構造である。続いてPCSの具体的な記述について説明する。この具体例は、動画の再生進行に伴い、複数のグラフィックスプレーンへの書き込みで『ほんとに』『ごめん』というように徐々に表示させるというものである。ここで想定するEpochは、DS1(Epoch 
Start)、DS2(Normal
Case)を有する。DS1は、字幕の表示枠となるwindowを定義するWDS、台詞『ほんとに ごめん』を表すODS、1つ目のPCSを備える。DS2(Normal
Case)は、2つ目のPCSを有すものとする。
【０１２３】
次に個々のPCSをどのように記述するかについて説明する。Display 
Setに属するWDS、PCSの記述例を図１６に示す。図１６は、ディスプレイセットにおけるPCSの記述例を示す図である。
【０１２４】
図１６（ａ）において、WDSのwindow＿horizontal＿position、window＿vertical＿positionは、グラフィックスプレーンにおけるウィンドゥの左上座標LP1を、window＿width,window＿heightは、ウィンドゥの表示枠の横幅、縦幅を示す。
【０１２５】
図１６（ａ）におけるクロップ情報のobject＿cropping＿horizontal＿position,object＿cropping＿vertical＿positionは、オブジェクトバッファにおけるグラフィクス字幕の左上座標を原点とした座標系においてクロップ範囲の基準SDTを示している。そして基準点からobject＿cropping＿width、object＿cropping＿heightに示される範囲(図中の太枠部分)がクロップ範囲になる。クロップされたグラフィクス字幕は、グラフィックスプレーンの座標系においてobject＿horizontal＿position,object＿vertical＿positionを基準点(左上)とした破線の範囲cp1に配置される。こうすることにより、『本当に』がグラフィックスプレーンにおけるウィンドゥ内に書き込まれる。これにより字幕『本当に』は動画像と合成され表示される。
【０１２６】
図１６（ｂ）は、DS2におけるPCSの記述例を示す図である。本図におけるWDSの記述は、図１７と同じなので説明を省略する。クロップ情報の記述は、図１６（ｂ）と異なる。図１６（ｂ）におけるクロップ情報のobject＿cropping＿horizontal＿position,object＿cropping＿vertical＿position,は、オブジェクトバッファ上の字幕『本当にごめん』のうち、『こめん』の左上座標を示し、object＿cropping＿height,object＿cropping＿widthは、『ごめん』の横幅、縦幅を示す。こうすることにより、『ごめん』がグラフィックスプレーンにおけるウィンドゥ内に書き込まれる。これにより字幕『ごめん』は動画像と合成され表示される。
【０１２７】
以上が機能セグメントについての説明である。続いてこれらPCS、ODSを有したDisplay 
Setが、AVClipの再生時間軸上にどのように割り当てられるかについて説明する。Epochは、再生時間軸上においてメモリ管理が連続する期間であり、Epochは1つ以上のDisplay 
Setから構成されるので、Display 
SetをどうやってAVClipの再生時間軸に割り当てるかが問題になる。ここでAVClipの再生時間軸とは、AVClipに多重されたビデオストリームを構成する個々のピクチャデータのデコードタイミング、再生タイミングを規定するための想定される時間軸をいう。この再生時間軸においてデコードタイミング、再生タイミングは、90KHzの時間精度で表現される。Display 
Set内のPCS、ODSに付加されたDTS、PTSは、この再生時間軸において同期制御を実現すべきタイミングを示す。このPCS、ODSに付加されたDTS、PTSを用いて同期制御を行うことが、再生時間軸へのDisplay 
Setの割り当てである。
【０１２８】
Epochに属するDisplay Setのうち、任意のDisplay 
SetをDSnとすると、DSnは、図１７に示すようなDTS、PTS設定によりAVClipの再生時間軸に割り当てられる。図１７は、DSnが割り当てられた、AVClipの再生時間軸を示す図である。本図においてDSnの始期は、DSnに属するPCSのDTS値(DTS(DSn[PCS]))により示されており、終期は、DSnに属するPCSのPTS値(PTS(DSn[PCS]))により示されている。そしてDSnにおいて最初の表示が行われるタイミングも、PCSのPTS値(PTS(DSn[PCS]))に示されている。AVClip再生時間軸において、ビデオストリームの所望のピクチャが出現するタイミングと、PTS(DSn[PCS])とを一致させれば、DSnの最初の表示は、そのビデオストリームと同期することになる。
【０１２９】
PTS(DSn[PCS])は、DTS(DSn[PCS])に、ODSのデコードに要する期間(DECODEDURATION)を足し合わせた値である。
【０１３０】
最初の表示に必要なODSのデコードは、このDECODEDURATION内に行われることになる。図１７の期間mc1は、DSnに属する任意のODS(ODSm)のデコードがなされる期間を示す。このデコード期間の開始点は、DTS(ODSn[ODSm])により示され、このデコードの終了点は、PTS(ODSn[ODSm])により示される。
【０１３１】
以上のような再生時間軸への割り付けを、Epochに属する全てのODSに対して行うことで、Epochは規定されることになる。以上が再生時間軸に対する割り付けについての説明である。
【０１３２】
以上がグラフィクスストリームについての説明である。
【０１３３】
図１８は、ODSによって定義されるグラフィクス字幕の類型を示す図である。（ａ）は、平仮名文字の字幕をなすグラフィクス字幕であり、（ｂ）は、振り仮名付き文字の字幕をなるグラフィクス字幕である。（ｃ）は、拡大文字の字幕をなすグラフィクス字幕であり、（ｄ）、（ｅ）は、厚み付き文字の字幕をなすグラフィクス字幕である。これら（ｄ）、（ｅ）における文字の厚みは、（ｄ）のものと、（ｅ）のものとで見える角度が微妙に違っている。そのため、これらの厚み付き文字を、レフトビュー字幕、ライトビュー字幕として、レフトビュー動画像、ライトビュー動画像と共に再生させれば、動画像の立体視と共に、字幕の立体視を実現することができる。これらは、字幕の表示方式の制御を有効とする場合に、その制御の内容に応じて適宜選択される。
【０１３４】
続いて、このグラフィクスストリームを用いて立体視を実現する場合の改良について説明する。
【０１３５】
図１９は、ベースビューを構成する字幕ストリーム、エンハンスドビューを構成する字幕ストリームがどのようにデコードされるかを示す。
【０１３６】
立体視を実現する場合、上述したようなグラフィクスデコーダ、グラフィクスプレーン、ビデオプレーンは、２系統用意される。これらのうち、ベースビューのためのグラフィクスデコーダ、グラフィクスプレーン、ビデオプレーンを、基本グラフィクスデコーダ、基本グラフィクスプレーン、基本ビデオプレーンという。一方、エンハンスドビューのためのグラフィクスデコーダ、グラフィクスプレーン、ビデオプレーンを拡張グラフィクスデコーダ、拡張グラフィクスプレーン、拡張ビデオプレーンと呼ぶ。
【０１３７】
そして、上述したように、0x1220〜0x123FのPIDをもつソースパケットがデコードされることで、基本グラフィクスデコーダ内のオブジェクトバッファには、これらのソースパケットをデコードすることにより得られたグラフィクス字幕が格納される。そして、基本グラフィクスプレーンには、これらのソースパケットをデコードすることにより得られたグラフィクス字幕が書き込まれて、基本ビデオプレーンに格納されたピクチャとの合成に供される。
【０１３８】
並行して、0x1240〜0x125FのPIDをもつソースパケットがデコードされることで、拡張グラフィクスデコーダ内のオブジェクトバッファには、これらのソースパケットをデコードすることにより得られたグラフィクス字幕が格納される。そして、拡張グラフィクスプレーンには、これらのソースパケットをデコードすることにより得られたグラフィクス字幕が書き込まれて、拡張ビデオプレーンに格納されたピクチャとの合成に供される。
【０１３９】
ここで、図１８に示した厚み付き文字を表すグラフィクス字幕が、左右にずれた状態で基本グラフィクスプレーン、拡張グラフィクスプレーンに書き込まれることにより、グラフィクスが、映像より前に浮き出て見える。
【０１４０】
図２０は、ベースビュービデオストリーム及びエンハンスドビュービデオストリームの再生と、ベースビュー字幕ストリーム及びエンハンスドビュー字幕ストリームの再生とが、同期する場合に再生される立体視映像の一例を示す。基本グラフィクスプレーン、拡張グラフィクスプレーンのそれぞれに、グラフィクスを書き込むので、立体視映像には、字幕が立体的に現れることになる。
【０１４１】
図２１は、window＿horizontal＿position、window＿vertical＿positionによって規定されたグラフィクスプレーンにおけるウィンドゥの座標、及び、object＿horizontal＿position,object＿vertical＿positionによって規定されたグラフィクスプレーンにおけるグラフィクス字幕の座標が、立体視字幕に対してどのように影響するかを示す。レフトビューグラフィクスプレーンにおけるウィンドゥ及びグラフィクス字幕の位置と、ライトビューグラフィクスプレーンにおけるウィンドゥ及びグラフィクス字幕の位置との間隔を、図２１では"オフセット"と呼んでいる。そして、（ａ）は、オフセットが大きく、レフトビューの字幕と、ライトビューの字幕との間隔が広いケースを示し、（ｂ）は、オフセットが狭く、レフトビューの字幕と、ライトビューの字幕との間隔が狭いケースを示す。
【０１４２】
（ａ）に示すようにレフトビューグラフィクスプレーンにおけるウィンドゥ及びグラフィクス字幕の位置と、ライトビューグラフィクスプレーンにおけるウィンドゥ及びグラフィクス字幕の位置との間隔が広ければ広い程、立体視字幕は手前にくる。逆に、（ｂ）に示すように、レフトビューグラフィクスプレーンにおけるウィンドゥ及びグラフィクス字幕の位置と、ライトビューグラフィクスプレーンにおけるウィンドゥ及びグラフィクス字幕の位置との間隔が狭ければ狭いば程、立体視字幕は奥に遠退く。
【０１４３】
以上の規則性が存在するので、オーサリングを実行するにあたっては、立体視動画像に対して、立体視字幕が適切な位置になるように、ベースビューグラフィクスストリームのPCSのwindow＿horizontal＿position、window＿vertical＿position、object＿horizontal＿position,object＿vertical＿position、エンハンスドビューストリームのPCSのwindow＿horizontal＿position、window＿vertical＿position、object＿horizontal＿position,object＿vertical＿positionを、適切な座標に設定しておく必要がある。
【０１４４】
以上で、ベースビュー字幕ストリーム、エンハンスドビュー字幕ストリームの内部構成についての説明を終える。続いて、クリップ情報ファイルについて説明する。
【０１４５】
字幕には、以上に説明した、ランレングスグラフィクスデータによって定義されるグラフィクス字幕ストリームの他に、テキストコードと、フォントによって定義されるテキスト字幕ストリームによって定義されるテキスト字幕ストリームが存在する。これらは、データ構造が違うものの、字幕としての用途は同じであるので、一律に扱われる。テキスト字幕ストリームと比較すると、グラフィクスストリーム字幕ストリームは、オーサリング時の手間が大きいものの、立体視のための厚み等を好適に表現することができ、再生品位を高くすることができるという利点がある。
＜クリップ情報ファイル＞
図２２は、クリップ情報ファイルの一例を示す図である。クリップ情報ファイルは、本図に示すようにAVクリップの管理情報であり、AVクリップと１対１に対応し、ストリーム属性テーブルとエントリーマップテーブルから構成される。
【０１４６】
引き出し線zh1は、ストリーム属性テーブルの内部構成をクローズアップして示している。ストリーム属性テーブルはこの引出線に示すように、AVクリップに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はベースビューストリーム、エンハンスドビューストリーム毎に異なる情報を持つ。
【０１４７】
引き出し線zh2は、ベースビューストリームの内部構成をクローズアップして示している。引出線に示すように、PID＝0x1011のTSパケットによって構成されるベースビューのストリーム属性情報として、コーディック、解像度、アスペクト比、フレームレートが記述される。
【０１４８】
続いて、エントリーマップテーブルの内部構成について説明する。
【０１４９】
エントリーマップは、あるパケットIDを用いて特定されるSTC時間軸のうち、任意のソースパケットのソースパケット番号と、STC時間軸におけるPTSとの対応付けを示すテーブルである。
【０１５０】
STC時間軸は、デコード時刻、表示時刻を表すMPEG2-TSの時間軸である。AVストリームのシステム基準時刻であるSTC(System Time 
Clock)の不連続点(system time-base discontinuity)が存在しない1つのソースパケットのまとまりを"STCシーケンス"と呼ぶ。
図２３（ａ）は、エントリーマップテーブルの内部構成を示す図である。引き出し線eh1は、エントリーマップテーブルの内部構成をクローズアップして示している。
【０１５１】
引出線eh1に示すように、エントリーマップテーブルは、PID＝0x1011のTSパケットによって構成されるベースビューストリームについてのエントリーマップ、PID＝0x1012のTSパケットによって構成されるエンハンスドビューストリームについてのエントリーマップというように、複数種別のTSパケットによって構成されるパケッタイズドエレメンタリストリームのそれぞれについて、エントリーマップが存在する。エントリーマップにおいて、一対となるPTSとSPNとの組みを含む情報を"エントリーポイント"と呼ぶ。エントリーポイントは、PTSとSPNとの組みに、当該SPNからのデコードが可能であるか否かを示す表示方式フラグ(is＿angle＿changeフラグ)を対応付けた情報である。また先頭を０として各エントリーポイント毎にインクリメントした値を"エントリーポイントID（以下EP＿ID）"と呼ぶ。
【０１５２】
このエントリーマップを利用することにより、再生装置はビデオストリームの時間軸上の任意の地点に対応するソースパケット位置を特定することが出来るようになる。例えば、早送り・巻戻しの特殊再生の際には、エントリーマップに登録されるIピクチャを特定し選択して再生することによりAVクリップを解析することなく効率的に処理を行うことが出来る。また、エントリーマップはAVクリップ内に多重化される各ビデオストリーム毎に作られ、PIDで管理される。
【０１５３】
引き出し線eh2は、PID＝0x1011のエントリーマップの内部構成をクローズアップして示している。EP＿ID=0に対応するエントリーポイント、EP＿ID=1に対応するエントリーポイント、EP＿ID=2に対応するエントリーポイント、EP＿ID=3に対応するエントリーポイントから構成される。EP＿ID=0に対応するエントリーポイントは、オンに設定されたis＿angle＿changeフラグと、SPN=3と、PTS=80000とから構成される。EP＿ID=1に対応するエントリーポイントは、オフに設定されたis＿angle＿changeフラグと、SPN=1500と、PTS=270000とから構成される。
【０１５４】
EP＿ID=2に対応するエントリーポイントは、オフに設定されたis＿angle＿changeフラグと、SPN=3200と、PTS=360000とから構成される。EP＿ID=3に対応するエントリーポイントは、オフに設定されたis＿angle＿changeフラグと、SPN=4800と、PTS=450000とを含んでいる。
【０１５５】
本図（ｂ）は、（ａ）に示したPID＝0x1011のTSパケットに対応するエントリーマップ内の複数のエントリーマップによって、どのソースパケットを指示されるかを示す。EP＿ID=0に対応するエントリーマップは、SPN=3を指し示しており、このソースパケット番号をPTS=80000と対応付けている。EP＿ID=1に対応するエントリーマップは、SPN=1500を指し示しており、このソースパケット番号をPTS=270000に対応付けている。
【０１５６】
EP＿ID=2に対応するエントリーマップは、SPN=3200のソースパケットを指し示しており、このソースパケット番号をPTS=360000に対応付けている。EP＿ID=3に対応するエントリーマップは、SPN=4800のソースパケットを指し示しおり、このソースパケット番号をPTS=450000と対応付けている。
【０１５７】
図２４は、エントリーマップによるエントリーポイントの登録を示す。第１段目は、STCシーケンスにて規定される時間軸を示す。第２段目は、クリップ情報におけるエントリーマップを示す。第３段目は、STCシーケンスを構成するソースパケット列を示す。
【０１５８】
矢印te1,te2,te3,te4は、STC時間軸における再生時点t1,t11,t21,t31と、エントリーポイントとの対応関係を模式的に示しており、矢印sh1,sh2,sh3,sh4は、ATCsequeceにおけるSPN=n1,n11,n21,n31と、エントリーポイントとの対応関係を模式的に示している。
【０１５９】
エントリーマップが、ATCシーケンスのうちSPN＝n1のソースパケットを指定している場合、このエントリーマップのPTSには、STCシーケンスにおけるPTS=t1に設定しておく。そうすると、PTS=t1という時点を用いて、ATCシーケンスにおけるSPN＝n1からのランダムアクセスを再生装置に実行させることができる。またエントリーマップが、ATCシーケンスのうちSPN＝n21のソースパケットを指定している場合、このエントリーマップのPTSには、STCシーケンスにおけるPTS=t21に設定しておく。そうすると、PTS=t21という時点を用いて、ATCシーケンスにおけるSPN＝n21からのランダムアクセスを再生装置に実行させることができる。
【０１６０】
図２５は、レフトビュー、ライトビューのそれぞれに対応するエントリーマップが、どのように設定されているかを示す図である。本図における対応付けは、エントリーマップにおける各エントリーマップのソースパケット番号に、STCシーケンスにおけるソースパケット番号を記述しておき、エントリーマップにおける各エントリーマップのPTSに、STCシーケンスにおけるPTSを記述しておくことでなされる。時間軸のソースパケットと、時間軸との対応付けが、エントリーマップによってどのようにとられているかを示す。
【０１６１】
矢印th1,th2,th3,th4は、STC時間軸における再生時点t1,t2,、エントリーポイントとの対応関係を模式的に示しており、矢印sh1,sh2,sh3,sh4は、ATCsequeceにおけSPN=n1,n11,n8,n18と、エントリーポイントとの対応関係を模式的に示している。
【０１６２】
第５段目は、インターリーブ記録されたレフトビュー、ライトビューのエクステントであり、これまでの図に示したものと同一である。第４段目は、PID＝0x1011、PID＝0x1012のそれぞれに対応するエントリーマップである。PID＝0x1011に対応するエントリーマップは、n1を指し示すエントリーポイント、n8を指し示すエントリーポイントを含む。これらのエントリーポイントは、n1,n8と、STC時間軸におけるt1、t2との対応付けを示す。PID＝0x1012に対応するエントリーマップは、n11を指し示すエントリーポイント、n18を指し示すエントリーポイントを含む。これらのエントリーポイントは、n11,n18と、STC時間軸におけるt1、t2との対応付けを示す。
【０１６３】
以上により、時間軸において、同じ再生時点で再生されるべきレフトビュー、ライトビューのエクステントは、AVデータ記録領域においてバラバラな位置に記録されつつも、各々に対応付けられたエントリーマップを用いることで、レフトビューのエクステント、ライトビューのエクステントの先頭となるソースパケットは、PTSを用いて一意にアクセスされることになる。
【０１６４】
以上がクリップ情報ファイルについての説明である。続いて、プレイリスト情報の詳細について説明する。
【０１６５】
図２６は、プレイリスト情報のデータ構造を示す図であり、本図において、引き出し線mp1に示すようにプレイリスト情報は、再生属性情報、メインパス情報、サブパス情報テーブル、エクステンションデータを含む。
【０１６６】
先ず再生属性情報について説明する。引出線mp3は、再生属性情報の内部構成をクローズアップして示している。引出線mp3に示すように、再生属性情報は、該当コンテンツがベースとしている規格の「バージョン番号」、「再生タイプ」、「立体再生フラグ」を含む。バージョン番号としては、BD-ROMアプリケーションフォーマットバージョン２.００等というバージョン番号を格納することができる。また、再生タイプとしては、プレイリストに含まれるプレイアイテムを先頭から順番に再生していくことを意味する"シーケンシャル"や、"ランダム／シャッフル"に再生すること再生装置に指示することができる。
【０１６７】
次にメインパス情報について説明する。引き出し線mp1は、メインパス情報の内部構成をクローズアップして示している。MainPathは、矢印mp1で示すように複数のPlayItem情報＃1・・・・＃Nから定義される。PlayItem情報は、MainPathを構成する1つの論理的な再生区間を定義する。PlayItem情報の構成は、引き出し線mp2によりクローズアップされている。この引き出し線に示すようにPlayItem情報は、再生区間のIN点及びOut点が属するAVクリップの再生区間情報のファイル名を示す『Clip＿Information＿file＿name』と、AVクリップの符号化方式を示す『Clip＿codec＿identifier』と、PlayItemがマルチアングルを構成するか否かを示す『is＿multi＿angle』と、このPlayItem(カレントPlayItem)と、その1つ前のPlayItem(previousPlayItem)との接続状態を示す『connection＿condition』と、このPlayItemが対象としているSTC＿Sequenceを一意に示す『ref＿to＿STC＿id[0]』と、再生区間の始点を示す時間情報『In＿time』と、再生区間の終点を示す時間情報『Out＿time』と、このPlayItemにおいてマスクすべきユーザオペレーションがどれであるかを示す『UO＿mask＿table』と、このPlayItemの途中へのランダムアクセスを許可するか否かを示す『PlayItem＿random＿access＿flag』と、このPlayItemの再生終了後、最後のピクチャの静止表示を継続するか否かを示す『Still＿mode』と、『STN＿table』と、『BaseView＿indicator』と、『STN＿table』と、『multi＿clip＿entry』とから構成される。このうち、再生経路を構成するのは、再生区間の始点を示す時間情報『In＿time』、再生区間の終点を示す時間情報『Out＿time』の組みであり、再生経路情報とは、この『In＿time』及び『Out＿time』の組みから構成される。
【０１６８】
STN＿table(STream
Number＿table)は、パケットIDを含むストリームエントリー及びストリーム属性の組みに、論理的なストリーム番号を割り当てるテーブルである。STN＿tableにおけるストリームエントリー及びストリーム属性の組みの順序は、対応するストリームの優先順位を示す。
【０１６９】
BaseView＿indicatorは、0ならばBaseViewはLeftであり、1ならばBaseViewはRightであることを示す。
【０１７０】
図２７は、サブパス情報テーブルの内部構成を示す図である。引き出し線su1は、サブパス情報の内部構成をクローズアップして示している。引出線su1に示すように、サブパス情報テーブルは複数のサブパス情報1,2,3・・・mを含む。これらのサブパス情報は、1つのクラス構造体から派生した複数のインスタンスであり、その内部構成は共通のものなる。引き出し線su2は、Subpath情報の共通の内部構成をクローズアップして示している。この引き出し線に示すように、各Subpath情報は、サブパスの類型を示すSubPath＿typeと、1つ以上のサブプレイアイテム情報(・・・サブプレイアイテム情報＃1〜VOB＃m・・・)とを含む。引き出し線su3は、SubPlayItemの内部構成をクローズアップして示している。この引出線に示すように、サブプレイアイテム情報は、『Clip＿information＿file＿name』、『Clip＿codec＿identifier』、『ref＿to＿STC＿id[0]』、『SubPlayItem＿In＿time』、『SubPlayItem＿Out＿time』、『sync＿PlayItem＿id』、『sync＿start＿PTS＿of＿PlayItem』からなる。以降、SubPlayItemの内部構成について説明する。
【０１７１】
『Clip＿information＿file＿name』は、クリップ情報のファイル名を記述することにより、SubPlayItemに対応するSubClipを一意に指定する情報である。
【０１７２】
『Clip＿codec＿identifier』は、AVクリップの符号化方式を示す。
【０１７３】
『ref＿to＿STC＿id[0]』は、このSubPlayItemが対象としているSTC＿Sequenceを一意に示す。
【０１７４】
『SubPlayItem＿In＿time』は、SubClipの再生時間軸上における、SubPlayItemの始点を示す情報である。
【０１７５】
『SubPlayItem＿Out＿time』は、SubClipの再生時間軸上における、SubPlayItemの終点を示す情報である。
【０１７６】
『sync＿PlayItem＿id』は、MainPathを構成するPlayItemのうち、本SubPlayItemが同期すべきものを一意に指定する情報である。SubPlayItem＿In＿timeは、このsync＿PlayItem＿idで指定されたPlay
Itemの再生時間軸上に存在する。
【０１７７】
『sync＿start＿PTS＿of＿PlayItem』は、sync＿PlayItem＿idで指定されたPlay
Itemの再生時間軸上において、SubPlayItem＿In＿timeで指定されたSubPlayItemの始点が、どこに存在するかを45KHzの時間精度で示す。
【０１７８】
図２８は、レフトビュー、ライトビューに対して、どのような再生区間が定義されているかを示す。本図は、図１４をベースとして作図されており、このベースとなる図の第２段目の時間軸に、PlayItemのIn＿Time及びOut＿Timeを描いている。第１段目の時間軸に、SubPlayItemのIn＿Time及びOut＿Timeを描いている。第３段目から第５段目は、図１４の第３段目から第５段目と同一である。レフトビュー、ライトビューのIピクチャは、時間軸において同じ時点になる。
【０１７９】
レフトビューと、ライトビューとは、プレイアイテム情報、サブプレイアイテム情報とによって、対応付けられることになる。
【０１８０】
エクステンションデータについて説明する。図１８は、プレイリスト情報におけるエクステンションデータの内部構成を示す図である。引き出し線et1は、エクステンションデータの内部構成をクローズアップして示している。この引き出し線に示すように、エクステンションデータは、プレイアイテム情報＃1〜＃Nのそれぞれがに対応するSTN＿table＿extentionから構成される。引き出し線et2は、PlayItem情報＃1に対応するSTN＿table＿extentionの内部構成をクローズアップして示している。この引き出し線に示すように、PlayItem情報＃1に対応するSTN＿table＿extentionは、"ビデオストリーム番号テーブル"を含む。
【０１８１】
図２９は、ビデオストリーム番号テーブルの内部構成を示す図である。引き出し線mh1に示すように、ビデオストリーム番号テーブルは、stream＿entry及びstream＿attributeの組みから構成される。
【０１８２】
「Stream＿entry」は、プライマリビデオストリームを構成するPESパケットのPIDに対する参照値を示す『ref＿to＿stream＿PID＿of＿main＿Clip』、NTSC,PAL等のビデオの表示方式を示す『video＿format』、1/24秒、1/29.94秒などの『frame＿rate』を含む。
図３０は、STN＿tableにおける字幕ストリーム情報テーブルの内部構成を示す。STN＿tableにおける字幕ストリーム情報テーブルは、「表示方式情報」と、「N個のストリーム情報」とから構成される。n個のストリーム情報のそれぞれは、ストリーム番号のそれぞれに対応付けられており、stream＿entryと、stream＿attributeとから構成される。引き出し線gh1は、stream＿entryの内部構成をクローズアップして示している。stream＿entryには、『ref＿to＿stream＿PID＿of＿mainClip』、又は、『ref＿to＿Sub＿Path＿id』、『ref＿to＿SubClip＿＿entry＿id』、『ref＿to＿stream＿PID＿of＿subClip』のどちらが設定される。『ref＿to＿stream＿PID＿of＿SubClip』は、ストリーム番号に対応する字幕ストリームが、ビデオストリームと同じAVClipに存在する場合に、その字幕ストリームについてのPIDを示す。
【０１８３】
『stream＿attribute』は、引き出し線gh2に示すように、「言語属性」と、「文字属性」とから構成される。引き出し線gh3は、文字属性の内部構成をクローズアップして示している。本引出線に示すように、文字属性は、「文字タイプ」と、「文字サイズ」とから構成される。引き出し線gh4は、文字タイプの構成をクローズアップしている。引出線gh4に示すように、文字タイプは、このstream＿attributeに対応する字幕ストリームが、平仮名文字であるか、振り仮名付き文字であるかを示すことができる。ここでの振り仮名付き文字は、"通常表示に振り仮名をふる"という意味である。文字属性のバリエーションとしては、"カタカナ"を設定することも考えられる。
【０１８４】
引出線gh5は、文字サイズの内部構成をクローズアップしている。引出線gh5に示すように、文字サイズは、stream＿attributeに対応する字幕ストリームの字幕文字が、拡大文字であるか、通常文字であるか、縮小文字であるかを示すことができる。
【０１８５】
図３０（ｂ）は、字幕ストリーム情報テーブルにおける表示方式情報の内部構成を示す。本図に示すように、表示方式情報は、"１"に設定されることにより、再生装置におけるユーザ年齢設定に応じた表示方式制御が有効である旨を示し、"０"に設定されることにより、再生装置におけるユーザ年齢設定に応じた表示方式制御が無効である旨を示す。
【０１８６】
以上が字幕ストリーム番号テーブルについての説明である。続いて、エクステンションデータについて説明する。図３１は、プレイリスト情報におけるエクステンションデータの内部構成を示す図である。引き出し線et1は、エクステンションデータの内部構成をクローズアップして示している。この引き出し線に示すように、エクステンションデータは、プレイアイテム情報＃1〜＃Nのそれぞれがに対応するSTN＿table＿extentionから構成される。引き出し線et2は、PlayItem情報＃1に対応するSTN＿table＿extentionの内部構成をクローズアップして示している。この引き出し線に示すように、PlayItem情報＃1に対応するSTN＿table＿extentionは、"ビデオストリーム番号テーブル"を含む。
【０１８７】
図３２は、ビデオストリーム番号テーブルの内部構成を示す図である。
【０１８８】
Ｎ個のenhanced＿view＿is＿availableフラグ及びdepth＿is＿availableフラグの組みe1と、Ｎ個のstream＿entry及びstream＿attributeの組みf1とから構成される。これらは、１〜Ｎのストリーム番号に対応付けられており、enhanced＿view＿is＿availableフラグは、１〜Ｎのストリーム番号を用いることで一意に特定することができる。stream＿entry及びstream＿attributeの組みも、１〜Ｎのストリーム番号を用いることで一意に特定することができる。
【０１８９】
「Stream＿entry」は、引き出し線vh1に示すように、プライマリビデオストリームを構成するPESパケットのPIDに対する参照値を示す『ref＿to＿stream＿PID＿of＿main＿Clip』を含み、stream＿attributeは、引出線vh2に示すように、『video＿format』『frame＿rate』を含む。
【０１９０】
これらのテーブルにおけるstream＿entryの順位は、再生装置がストリームを選択するにあたって、ストリーム選択の優先順位を意味する。つまり、テーブルにおけるにおいてエントリーが高い順位にあるものを再生装置は、優先的に選択することになる。
【０１９１】
enhanced＿view＿is＿availableフラグがオンであり、エンハンスドビューに設定されている場合、ref＿to＿stream＿of＿MainCLipには、0x1011のパケットIDと、0x1012のパケットIDとが記述される。
【０１９２】
図３３は、STN＿table＿extensionにおける字幕ストリーム情報テーブルの内部構成を示す図である。図３３（ａ）は、字幕ストリーム情報テーブルの全体構成を示す。本図に示すように、字幕ストリーム情報テーブルは、f3にて指示する表示方式情報と、f4にて指示するN個のストリーム情報とから構成される。n個のストリーム情報のそれぞれは、ストリーム番号のそれぞれに対応付けられており、「stream＿entry」と、「stream＿attribute」と、「立体表示情報」とから構成される。引き出し線gh3は、stream＿entryの内部構成をクローズアップして示している。stream＿entryには、『ref＿to＿stream＿PID＿of＿mainClip』、又は、『ref＿to＿Sub＿Path＿id』、『ref＿to＿SubClip＿＿entry＿id』、『ref＿to＿stream＿PID＿of＿subClip』のどちらが設定される。『ref＿to＿stream＿PID＿of＿mainClip』は、ストリーム番号に対応する字幕ストリームが、ビデオストリームと同じAVClipに存在する場合に、その字幕ストリームについてのPIDを示す。
【０１９３】
『ref＿to＿Sub＿Path＿id』は、ストリーム番号に対応する字幕ストリームが、ビデオストリームとは異なるAVClipに存在する場合に、その字幕ストリームを参照しているサブパスのIDを示す。
【０１９４】
『ref＿to＿SubClip＿＿entry＿id』は、ストリーム番号に対応する字幕ストリームが、ビデオストリームとは異なるAVClipに存在する場合に、そのAVClipのIDを示す。
【０１９５】
『ref＿to＿stream＿PID＿of＿SubClip』は、ストリーム番号に対応する字幕ストリームが、ビデオストリームとは異なるAVClipに存在する場合に、その字幕ストリームについてのPIDを示す。
【０１９６】
引き出し線gh4は、立体表示情報の内部構成をクローズアップして示している。引出線に示すように、立体表示情報は、対応する字幕ストリームが、レフトビュー用であるか、ライトビュー用であるかを示すと共に、当該ストリーム番号に対応する字幕ストリームと同時に選択すべき他の字幕ストリームのストリーム番号を示す。
【０１９７】
図３３（ｂ）は、字幕ストリーム情報テーブルにおける表示方式情報の内部構成を示す。本図に示すように、表示方式情報は、"１"に設定されることにより、再生装置における立体視再生設定に応じた表示方式制御が有効である旨を示し、"０"に設定されることにより、再生装置における立体視再生設定に応じた表示方式制御が無効である旨を示す。
【０１９８】
STN＿table＿extensionは、予備的に存在するので、立体表示可能でない場合、STN＿tableのストリーム情報にて設定されているライトビュー用あるいはレフトビュー用のビデオストリーム又は字幕ストリームのうち、どちらか一方が指定される。
【０１９９】
ただし、必ずしもビデオと字幕が共に立体表示である必要はない。
【０２００】
本願明細書におけるコンテンツとは、あるタイトル番号にて管理されるプレイリスト情報と、このプレイリスト情報から参照されるAVクリップに多重化されているビデオストリームとを包含する単位であり、"タイトル"と呼ばれる。
【０２０１】
また、本願における字幕ストリーム情報テーブルのデータ構造は、再生区間において立体視再生の再生方式を有効とする場合、複数の字幕ストリームのうちどれを選択させるべきかを指示する点に本質があり、字幕ストリーム情報テーブルは再生区間において立体視の表示方式を有効とする場合、同時に選択すべき2つの字幕ストリームの組合せを指示できればよいから、ストリーム番号と、これにに対応するTSパケットのパケットIDを対応付けることができるなら、どのようなデータ構造を採用してもかまわない。
【０２０２】
例えば、レフトビュー字幕ストリームを構成するTSパケットのパケット識別子と、ライトビュー字幕ストリームを構成するTSパケットのパケット識別子とを、ストリーム番号に対応付ける形式であってもよい。つまり、レフトビュー字幕ストリームの0x1220というパケット識別子と、ライトビュー字幕ストリームの0x1240というパケット識別子とを、ストリーム番号に対応付ける形式であってもよい。
【０２０３】
以上がプレイリスト情報についての説明である。続いて、再生装置の詳細について説明する。
【０２０４】
図３４は、再生装置の内部構成を示す図である。本図において再生装置を構成する主だった部品は、フロントエンド部１０５、システムLSI１０６、メモリデバイス１０７、バックエンド部１０８、不揮発性メモリ１０９、ホストマイコン１１０、ネットワークI／F１１１である。
【０２０５】
フロントエンド部１０５は、データ入力源である。後述する図３５において、フロントエンド部１０５は例えば、BD-ROMドライブ１１２、ローカルストレージ１１３を含む。
【０２０６】
システムLSI１０６は、論理素子から構成され、再生装置中核をなす。
【０２０７】
後述する図３５の構成要素のうち、デマルチプレクサ４、ビデオデコーダ５a,b、グラフィクスデコーダ７a,b、オーディオデコーダ９、PSRセット１２、再生制御エンジン１４、色変換部１５ａ、色変換部１５ｂ、合成器１７ａ、合成器１７ｂが、システムLSI１０６に包含されることになる。システムLSIは一チップで構成しても良いし、複数のチップで構成しても良い。
【０２０８】
メモリデバイス１０７は、SDRAM等のメモリ素子のアレイによって構成される。
【０２０９】
後述する図３５の構成要素のうち、リードバッファ１、リードバッファ２、基本ビデオプレーン６a、拡張ビデオプレーン６b、基本グラフィックスプレーン８a、拡張グラフィックスプレーン８b、静的シナリオメモリ１３、ヒープメモリ２１、動的シナリオメモリ２３が、メモリデバイス１０７に包含されることになる。
【０２１０】
バックエンド部１０８は、再生装置内部と、他の装置との接続インターフェイスである。後述する図３５において、バックエンド部１０８は例えば、HDMI送受信部１０を含む。
【０２１１】
不揮発性メモリ１０９は、読み書き可能な記録媒体であり、電源が供給されなくても、記録内容を保持できる媒体であり、字幕表示のためのコンフィグレーション情報のバックアップに利用される。かかる不揮発性メモリ１０９には、例えばフラッシュメモリ、FeRAMなどを利用することができる。
【０２１２】
ホストマイコン１１０は、MPU、ROM、RAMから構成される再生装置の中核である。後述する図３５の具体的な構成要素のうち、BD-Jプラットフォーム２２、コマンドインタプリタ２５は、このホストマイコン１１０に包含されることになる。
【０２１３】
ネットワークインターフェース１１１は、再生装置の外部と通信を行うためのものであり、インターネットでアクセス可能なサーバにアクセスしたり、ローカルネットワークで接続されたサーバにアクセスしたりすることが可能である。例えば、インターネット上に公開されたBD-ROM追加コンテンツのダウンロードに用いられたり、コンテンツが指定するインターネット上のサーバとの間でデータ通信を行うこうことでネットワーク機能を利用したコンテンツの再生を可能としたりする。BD-ROM追加コンテンツとは、オリジナルのBD-ROMにないコンテンツで、例えば追加の副音声、字幕、特典映像、アプリケーションなどである。BD-Jプラットフォームからネットワークインターフェース１１１を制御することができ、インターネット上に公開された追加コンテンツをローカルストレージ１１３にダウンロードすることができる。
【０２１４】
上述したように、フロントエンド部１０５は例えば、BD-ROMドライブ１１２、ローカルストレージ１１３を含む。
【０２１５】
BD-ROMドライブ１１２は例えば、半導体レーザ（図示せず）、コリメートレンズ（図示せず）、ビームスプリッタ（図示せず）、対物レンズ（図示せず）、集光レンズ（図示せず）、光検出器（図示せず）を有する光学ヘッド（図示せず）を備える。半導体レーザから出射された光ビームは、コリメートレンズ、ビームスプリッタ、対物レンズを通って、光ディスクの情報面に集光される。集光された光ビームは、光ディスク上で反射／回折され、対物レンズ、ビームスプリッタ、集光レンズを通って、光検出器に集光される。光検出器にて集光された光の光量に応じて、生成された信号がBD-ROMから読み出されたデータに対応する。
【０２１６】
ローカルストレージ１１３は、ビルドインメディア、リムーバブルメディアを備え、ダウンロードしてきた追加コンテンツやアプリケーションが使うデータなどの保存に用いられる。追加コンテンツの保存領域はBD-ROM毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。また、ダウンロードした追加コンテンツをどのようにBD-ROM上のデータとマージされるか、マージ規則が記載されたマージ管理情報もこのビルドインメディア、リムーバブルメディアに保存される。
【０２１７】
ビルドインメディアとは例えば再生装置に内蔵されたハードディスクドライブ、メモリなどの書き込み可能な記録媒体である。
【０２１８】
リムーバブルメディアとは、例えば可搬性を有する記録媒体であり、好適にはＳＤカードなどの可搬性を有する半導体メモリーカードである。
【０２１９】
リムーバブルメディアを半導体メモリーカードとしたときを例に説明をすると、再生装置にはリムーバブルメディアを装着するためのスロット（図示せず）およびスロットに装着されたリムーバブルメディアを読み取るためのインターフェース（例えばメモリーカードI/F）が備えられており、スロットに半導体メモリを装着すると、リムーバブルメディアと再生装置とが電気的に接続され、インターフェース（例えばメモリーカードI/F）を利用して、半導体メモリに記録されたデータを電気信号に変換して読み出すことが可能となる。
＜再生装置における詳細構成＞
これらフロントエンド部１０５〜ホストマイコン１１０内の構成要素を更に詳細に説明する。図３５は、フロントエンド部１０５〜ホストマイコン１１０内の詳細な構成を示す図である。本図に示すように、フロントエンド部１０５〜ホストマイコン１１０内には、リードバッファ１,２、仮想ファイルシステム３、デマルチプレクサ４、ビデオデコーダ５a,b、ビデオプレーン６a,b、グラフィクスデコーダ７a,b、グラフィクスプレーン８a,b、オーディオデコーダ９、HDMIインターフェイス１０、再生状態／設定レジスタセット１２、静的シナリオメモリ１３、再生制御エンジン１４、色変換部１５a,b、スケーラ部１６a,b、合成器１７a,b、テキスト字幕デコーダ１８、ヒープメモリ２１、BD-Jプラットフォーム２２、動的シナリオメモリ２３、モード管理モジュール２４、コマンドインタプリタ２５、UO検知モジュール２６といった構成要素が存在する。
【０２２０】
リードバッファ１は、BD-ROMドライブ１１２か読み出されたベースビューストリームを構成するエクステントを構成するソースパケットを一旦格納しておき、転送速度を調整した上、デマルチプレクサ４に転送するためのバッファであり、上述したような"RB1"という規模をもつ。
【０２２１】
リードバッファ２は、BD-ROMドライブ１１２か読み出されたエンハンスドビューストリームを構成するエクステントを構成するソースパケットを一旦格納しておき、転送速度を調整した上、デマルチプレクサ４に転送するためのバッファであり、上述したような"RB2"という規模をもつ。
【０２２２】
仮想ファイルシステム３は、追加コンテンツと共にローカルストレージ１１３にダウンロードされたマージ管理情報を元に、ローカルストレージに格納された追加コンテンツとBD-ROM上のコンテンツをマージさせた、仮想的なBD-ROM（仮想パッケージ）を構築する。HDMVモードの動作主体であるコマンドインタプリタやBD-Jモードの動作主体であるBD-Jプラットフォームからは、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置はBD-ROM上のデータとローカルストレージ上のデータの両方を用いて再生制御を行うことになる。
【０２２３】
デマルチプレクサ４は、ソースパケットデパケッタイザー、PIDフイルタから構成され、再生すべきストリームに対応するパケット識別子の指示を受け付けて、当該パケット識別子に基づくパケットフィルタリングを実行する。ベースビュービデオストリームを構成するソースパケット、エンハンスドビュービデオストリームを構成するソースパケットが、リードバッファ１、２を介して転送されれば、ベースビュービデオストリームを構成するTSパケット、エンハンスドビュービデオストリームを構成するTSパケットを当該エクステントから分離して、ビデオデコーダ５a、ビデオデコーダ５ｂに転送する。
【０２２４】
基本ビデオデコーダ５aは、デマルチプレクサ４から出力されたを構成するTSパケットを復号して非圧縮形式のピクチャを基本ビデオプレーン６aに書き込む。
【０２２５】
拡張ビデオデコーダ５ｂは、デマルチプレクサ４から出力されたエンハンスドビュービデオストリームを復号してTSパケットを復号して非圧縮形式のピクチャを拡張ビデオプレーン６ｂに書き込む。
【０２２６】
基本ビデオプレーン６aは、ベースビュービデオストリームを構成する非圧縮形式のピクチャを格納しておくためのメモリである。
【０２２７】
拡張ビデオプレーン６bは、エンハンスドビュービデオストリームを構成する非圧縮形式のピクチャを格納しておくためのメモリである。
【０２２８】
基本グラフィクスデコーダ７aは、デマルチプレクサ４から出力されたベースビュー字幕ストリームを構成するTSパケットを復号して非圧縮形式のグラフィクス字幕を基本グラフィクスプレーン８aに書き込む。
【０２２９】
拡張グラフィクスデコーダ７ｂは、デマルチプレクサ４から出力されたエンハンスドビュー字幕ストリームを構成するTSパケットを復号して非圧縮形式のグラフィクス字幕を拡張グラフィクスプレーン８bに書き込む。
【０２３０】
基本グラフィクスプレーン８aは、ベースビュー字幕ストリームをデコードすることにより得られた非圧縮形式のグラフィクス字幕を格納しておくためのメモリである。
【０２３１】
拡張グラフィクスプレーン８bは、エンハンスドビュー字幕ストリームをデコードすることにより得られた非圧縮形式のグラフィクス字幕を格納しておくためのメモリである。
【０２３２】
オーディオデコーダ９は、デマルチプレクサ４から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
【０２３３】
HDMI送受信部１０は、例えばHDMI規格（HDMI:High Definition Multimedia 
Interface）に準拠したインターフェイスを含み、再生装置とHDMI接続する装置（この例ではテレビ１０３）とHDMI規格に準拠するように送受信を行うものであり、基本ビデオプレーン６a、拡張ビデオプレーン６bに格納されたピクチャデータと、オーディオデコーダ９によってデコードされた非圧縮のオーディオデータとを、HDMIインターフェイス１０を介してテレビ１０３に伝送する。テレビ１０３は、例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報を保持しており、再生装置からHDMIインターフェイスを介して要求があると、テレビ１０３は要求された必要な情報（例えば立体視表示に対応しているかに関する情報、平面表示可能な解像度に関する情報、立体表示可能な解像度に関する情報）を再生装置へ返す。このように、HDMI送受信部１０を介することで、テレビ１０３が立体視表示に対応しているかどうかの情報を、テレビ１０３から取得することができる。
【０２３４】
再生状態／設定レジスタ(Player Status/Setting
Register)セット１２は、プレイリストの再生状態を格納する再生状態レジスタ、再生装置におけるコンフィグレーションを示すコンフィグレーション情報を格納する再生設定レジスタ、コンテンツが利用する任意の情報を格納できる汎用レジスタを含む、レジスタの集まりである。プレイリストの再生状態とは、プレイリストに記載されている各種AVデータ情報の中のどのAVデータを利用しているか、プレイリストのどの位置（時刻）を再生しているかなどの状態を現す。プレイリストの再生状態が変化した際は、再生制御エンジン１４がPSRセット１２に対し、その内容を格納する。また、HDMVモードの動作主体であるコマンドインタプリタもしくはBD-Jモードの動作主体であるJavaプラットフォームが実行しているアプリケーションからの指示により、アプリケーションが指定した値を格納したり、格納された値をアプリケーションに渡したりすることが可能である。
【０２３５】
静的シナリオメモリ１３は、カレントプレイリスト情報やカレントクリップ情報を格納しておくためのメモリである。カレントプレイリスト情報とは、BD-ROMまたはビルドインメディアドライブ、リムーバブルメディアドライブからアクセスできる複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントクリップ情報とは、BD-ROMまたはビルドインメディアドライブ、リムーバブルメディアドライブからアクセスできる複数クリップ情報のうち、現在処理対象になっているものをいう。
【０２３６】
再生制御エンジン１４は、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJavaプラットフォームからの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をカレントプレイリストを構成するカレントプレイリスト情報、カレントクリップ情報に従って行うことをいう。
【０２３７】
色変換部１５aは、カラールックアップテーブルを用いて、基本グラフィクスプレーン８aに格納されている画素コードを、Y,Cr,Cbといったピクセル値に変換する。
【０２３８】
色変換部１５bは、カラールックアップテーブルを用いて、拡張グラフィクスプレーン８bに格納されている画素コードを、Y,Cr,Cbといったピクセル値に変換する。
【０２３９】
スケーラ１６aは、基本グラフィクスプレーン８aに格納されているグラフィクスの拡大・縮小を実行する。
【０２４０】
スケーラ１６bは、拡張グラフィクスプレーン８bに格納されているグラフィクスの拡大・縮小を実行する。
【０２４１】
合成器１７aは、基本ビデオプレーン６aに格納された非圧縮形式のピクチャデータの各画素と、基本グラフィクスプレーン８aに展開されたグラフィクスの各画素とを合成する。
【０２４２】
合成器１７bは、基本ビデオプレーン６ｂに格納された非圧縮形式のピクチャデータの各画素と、拡張グラフィクスプレーン８bに展開されたグラフィクスの各画素とを合成する。
【０２４３】
テキスト字幕デコーダ１８は、グラフィクス字幕ストリームの代わりに、テキスト字幕ストリームがカレントストリームとして指定されている場合、テキスト字幕ストリームを構成するテキストコードを、フォントで展開することでテキスト字幕を得て、グラフィクスプレーン８a,bに書き込む。
【０２４４】
ヒープメモリ２１は、システムアプリケーションのバイトコード、BD-Jアプリケーションのバイトコード、システムアプリケーションが利用するシステムパラメータ、BD-Jアプリケーションが利用するアプリケーションパラメータが配置されるスタック領域である。
【０２４５】
BD-Jプラットフォーム２２は、BD-Jモードの動作主体であるJavaプラットフォームであり、Java2Micro＿Edition(J2ME) 
Personal Basis Profile(PBP 1.0)と、Globally Executable MHP 
specification(GEM1.0.2)for package media
targetsとをフル実装しており、クラスローダ、バイトコードインタプリタを含む。クラスローダは、システムアプリケーションの1つであり、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリに格納することにより、BD-Jアプリケーションのロードを行う。バイトコードインタプリタは、ヒープメモリ２１に格納されているBD-Jアプリケーションを構成するバイトコード、システムアプリケーションを構成するバイトコードをネィティブコードに変換して、MPU２１に実行させる。
動的シナリオメモリ２３は、カレント動的シナリオを格納しておき、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJavaプラットフォームによる処理に供されるメモリである。カレント動的シナリオとは、BD-ROMまたはビルドインメディア、リムーバブルメディアに記録されているIndex.bdmv、BD-Jオブジェクト、ムービーブジェクトのうち、現在実行対象になっているものをいう。
【０２４６】
モード管理モジュールの一例であるモジュールマネージャ２４は、BD-ROMまたはビルドインメディアドライブ、リムーバブルメディアドライブから読み出されたIndex.bdmvを保持して、モード管理及び分岐制御を行う。モジュールマネージャ２４によるモード管理とは、動的シナリオをどのコマンドインタプリタ４０、BD-Jモジュールに実行させるかという、モジュールの割り当てである。
【０２４７】
HDMVモジュールの一例であるコマンドインタプリタ２５は、HDMVモードの動作主体となるDVD仮想プレーヤであり、HDMVモードの実行主体となる。HDMVモードの動作主体であるコマンドインタプリタは、シナリオプログラムを構成するナビゲーションコマンドを解読して実行するものである。ナビゲーションコマンドは、DVD-Videoと似たようなシンタックスで記述されているため、かかるナビゲーションコマンドを実行することにより、DVD-Videoライクな再生制御を実現することができる。
【０２４８】
UO探知モジュール２６は、リモコン１００や再生装置１０２のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報（以降UO（User Operation）という）をモード管理モジュール２５に出力する。そのUOから、現在の再生装置におけるモードに適切なUOのみを選んで、そのモードを実行するモジュールに受け渡す。例えばHDMVモードの実行中に、上下左右、アクティベートといったUOを受け付けた場合、HDMVモードのモジュールにこれらのUOを出力する。以上がに再生装置の内部構成についての説明である。続いて、PSRセット１２及び再生制御エンジン１４の詳細について説明する。
【０２４９】
図３６は、再生制御エンジン１４の内部構成と、PSRセット１２の内部構成とを示す。
【０２５０】
始めに、PSRのうち、代表的なものについて説明する。
【０２５１】
PSR2は、１〜３２の値に設定されることで、字幕のカレントストリーム番号を示す。
【０２５２】
PSR4は、1〜100の値に設定されることで、カレントのタイトル番号を示す。
【０２５３】
PSR5は、1〜999の値に設定されることで、カレントのチャプター番号を示し、0xFFFFに設定されることで、再生装置においてチャプター番号が無効であることを示す。
【０２５４】
PSR6は、0〜999の値に設定されることで、カレントプレイリストの番号を示す。
【０２５５】
PSR7は、0〜255の値に設定されることで、カレントプレイアイテムの番号を示す。
【０２５６】
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM)を示す。以上がPSRについての説明である。
【０２５７】
PSR13は、ユーザ年齢を示す。
【０２５８】
PSR15は、再生装置における字幕表示のケーパビリティを示す。
【０２５９】
PSR16は、再生装置の言語設定を示す。
【０２６０】
この他、PSRセット１２には立体視再生ケーパビリティ、立体視再生表示方式フラグが存在する。
【０２６１】
立体視ケーパビリティは、再生装置に立体視再生を実行する能力が存在するかどうかを示す。立体視再生フラグは、ユーザが、立体視再生を実行することを意図しているかどうかを示す。
【０２６２】
図３６（ｂ）は、再生制御エンジン１４の内部構成を示す図である。本図に示すように、再生制御エンジン１４は、平面視再生を実行する場合のプレイリスト再生制御を実行する平面視制御部４１、立体視が設定されている場合のプレイリスト再生制御を実行する立体視制御部４２から構成される。
【０２６３】
図３７は、平面視制御部４１の内部構成を示す図である。本図に示すように平面視制御部４１は、プロシージャ制御部４３、PID設定部４４から構成される。
【０２６４】
＜プロシージャ制御部４３＞
プロシージャ制御部４３は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定のストリーム選択プロシージャを実行して、PSR2に新たなセカンダリビデオストリームのストリーム番号を書き込む。再生装置は、PSR2に書き込まれたストリーム番号に応じて、セカンダリビデオストリームを再生するので、かかるPSR2の設定を通じて、セカンダリビデオストリームが選択されることになる。
【０２６５】
PlayItem情報の切り換わり時に、ストリーム選択プロシージャを実行するのは、STN＿TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったセカンダリビデオストリームが、別のPlayItem情報において再生不可能になることが有り得るからである。
【０２６６】
特徴的な動作としてプロシージャ制御部４３は、カレントプレイアイテム情報におけるSTN＿tableの中から、PSR13におけるユーザ年齢に応じたストリーム番号を取り出して、そのストリーム番号をカレントストリーム番号としてPSR2に格納する。
【０２６７】
切り替えタイミングについて述べる。再生装置１０２を使用している利用者が幼少者だと判断した場合、プロシージャ制御部４３は、言語タイプが"平仮名"である字幕ストリームのパケット識別子をデマルチプレクサに設定して、前記再生するプレイリストが参照しているトランスポートストリームの多重分離を行わせる。こうすることで、言語タイプが"平仮名"であるグラフィクス字幕が、基本グラフィクスデコーダ７aによって出力されることになる。
【０２６８】
次にエラーハンドリングについて述べる。BD-Jアプリケーションが対応できない字幕ストリームを指定した場合（例えば平仮名用の字幕ストリームがないのに平仮名用の字幕ストリームを指定した場合など）、これらの指定を通常の字幕ストリームに切り替えることができる。平面・立体表示の切り替えを行う場合、再生装置１０２は、一旦プレイリストを停止させて、再度プレイリストを停止位置から再生させるか、最初から再生させる。
【０２６９】
＜PID設定部４４＞
PID設定部４４は、PSR2に格納されているストリーム番号に対応するPIDを、STN＿tableにおけるstream＿entryから取り出して、デマルチプレクサ４に設定してこのPIDに基づくパケットフィルタリングを、デマルチプレクサ４に行わせる。
図３８は、立体視制御部４２の内部構成を示す。本図に示すように立体視制御部４２は、プロシージャ制御部４５、PID設定部４６によって構成される。
【０２７０】
＜プロシージャ制御部４５＞
プロシージャ制御部４５は、ケーパビリティ２、表示方式フラグが、立体視再生可能を示す場合、Extension＿DataにおけるSTN＿table＿extensionの中から、2つのストリーム番号を取り出して、そのストリーム番号をカレントストリーム番号としてPSR2に格納する。
【０２７１】
字幕ストリームの優先順序について述べる。ライトビュー用、あるいは、レフトビュー用、どちらか一方を選ぶ場合、ストリーム番号の小さいほうから優先する。立体表示を行うかどうかの判断には、あるいは、汎用レジスタを参照しても良いし、再生装置１０２がPSRセット１２以外に独自に保持しているものを、判断材料にすることができる。
【０２７２】
リモコン１００を使用したユーザ操作やBD-Jアプリケーションからの指示によって、平面・立体表示設定を実現することもできる。
【０２７３】
立体表示フラグが立体表示可能ではないことを示す場合、ストリーム情報にある映像、および、字幕の立体表示情報に応じて、ライトビュー用、あるいは、レフトビュー用、どちらか一方の映像、字幕ストリームを指定する。必ずしもビデオと字幕が共に立体表示である必要はない。また、ライトビュー用、あるいは、レフトビュー用、どちらか一方を選ぶ場合、ストリーム番号の小さいほうから優先する。
【０２７４】
これにより、立体表示ができない再生装置または再生装置が立体表示できない表示装置に接続された場合であっても、立体表示用の映像ストリームの一部（この例ではレフトビュー用またはライトビュー用の映像ストリームの一方）および字幕ストリームの一部（この例ではレフトビュー用またはライトビュー用の字幕ストリームの一方）を用いて平面表示することが可能となる。
【０２７５】
さらに、プレイリスト再生中にリモコン１００を使用したユーザ操作やBD-Jアプリケーションから字幕の平面・立体表示の切り替えを行うことができりるし、エラーとして処理することもできる。
【０２７６】
＜PID設定部４６＞
PID設定部４６は、PSR2に格納されている2つのストリーム番号に対応する2つのPIDを、STN＿table＿extensionにおけるstream＿entryから取り出して、デマルチプレクサ４に設定してこのPIDに基づく、パケットフィルタリングを、デマルチプレクサ４に行わせる。
【０２７７】
以上が再生制御エンジン１４についての説明である。続いて、グラフィクスデコーダの詳細について説明する。
【０２７８】
図３９は、グラフィクスデコーダの内部構成を示す図である。本図に示すようにグラフィクスデコーダ１２は、コーデッドデータバッファ３１、周辺回路３６、ストリームグラフィクスプロセッサ３２、オブジェクトバッファ３３、コンポジションバッファ３４、グラフィクスコントローラ３５から構成される。
【０２７９】
コーデッドデータバッファ３１は、機能セグメントがDTS、PTSと共に格納されるバッファである。かかる機能セグメントは、トランスポートストリームの各TSパケットから、TSパケットヘッダ、PESパケットヘッダを取り除き、ペイロードをシーケンシャルに配列することにより得られたものである。取り除かれたTSパケットヘッダ、PESパケットヘッダのうち、PTS／DTSは、PESパケットと対応付けて格納される。
【０２８０】
ストリームグラフィクスプロセッサ３２は、ODSをデコードして、デコードにより得られたインデックスカラーからなる非圧縮状態の非圧縮グラフィクスをグラフィクス字幕としてオブジェクトバッファ３３に書き込む。ストリームグラフィクスプロセッサ３２によるデコードは瞬時に行われ、デコードによりグラフィクス字幕をストリームグラフィクスプロセッサ３２は一時的に保持する。ストリームグラフィクスプロセッサ３２によるデコードは瞬時になされるが、ストリームグラフィクスプロセッサ３２からオブジェクトバッファ３３への書き込みは、瞬時には終わらない。BD-ROM規格のプレーヤモデルでは、オブジェクトバッファ３３への書き込みは、128Mbpsという転送レートでなされるからである。オブジェクトバッファ３３への書き込み完了時点は、ENDセグメントのPTSに示されているので、このENDセグメントのPTSに示される時点が経過するまで、次のDSに対する処理を待つことになる。各ODSをデコードすることにより得られたグラフィクス字幕の書き込みは、そのODSに関連付けられたDTSの時刻に開始し、ODSに関連付けられたPTSに示されるデコード終了時刻までに終了する。
【０２８１】
オブジェクトバッファ３３は、ストリームグラフィクスプロセッサ３２のデコードにより得られたグラフィクス字幕が配置されるバッファである。オブジェクトバッファ３３は、グラフィクスプレーンの2倍／4倍の大きさに設定せねばならない。何故ならScrollingを実現する場合を考えると、グラフィクスプレーン８の2倍、4倍のグラフィクス字幕を格納しておかねばならないからである。
【０２８２】
コンポジションバッファ３４は、PCS、PDSが配置されるメモリである。処理すべきDisplay 
Setが2つあり、これらのPCSのアクティブ期間が重複している場合、Compositionバッファ１６には処理すべきPCSが複数格納される。
【０２８３】
グラフィクスコントローラ３５は、PCSの解読を行い、PCSの解読結果に従って、グラフィクス字幕のオブジェクトバッファ３３への書き込み、及び、オブジェクトバッファ３３からのグラフィクス字幕の読み出し、グラフィクス字幕の表示を実行する。グラフィクスコントローラ３５による表示は、PCSを格納したPESパケットのPTSに示される時点において実行される。グラフィクスコントローラ３５によるDSnに属するグラフィクス字幕の表示から、DSn+1に属するグラフィクス字幕の表示までの間隔は上述した通りである。
【０２８４】
周辺回路３６は、コーデッドデータバッファ３１−ストリームグラフィクスプロセッサ３２間の転送、コーデッドデータバッファ３１−コンポジションバッファ３４間の転送を実現するワイヤロジックである。この転送処理において現在時点がODSのDTSに示される時刻になれば、ODSを、コーデッドデータバッファ３１からストリームグラフィクスプロセッサ３２に転送する。また現在時刻がPCS、PDSのDTSに示される時刻になれば、PCS、PDSをコンポジションバッファ３４に転送するという処理を行う。以上がグラフィクスデコーダについての説明である。続いて、プレイリスト再生処理の詳細について説明する。
【０２８５】
図４０は、プレイリス再生処理の処理手順を示すフローチャートである。
【０２８６】
ステップＳ１においてプレイリスト情報ファイルを読み込み、ステップＳ２〜ステップＳ５の処理に突入する。ステップＳ２は、再生装置にケーパビリティが存在するか否かの判定である。ステップＳ３は、再生装置の接続相手であるテレビに、立体視再生の処理能力が存在するか否かの判定である。ステップＳ４は、カレントプレイリストの再生属性情報における表示方式フラグが有効かどうかの判定である。ステップＳ２〜ステップＳ４の何れかがNoと判定されれば、ステップＳ５に移行して、各プレイアイテム情報におけるSTN＿tableに基づくプレイアイテム再生を実行する。
【０２８７】
ステップＳ２〜ステップＳ４の全てがYesであれば、ステップＳ５において各プレイアイテム情報におけるSTN＿table＿extensionに基づくプレイアイテム再生を実行する。
【０２８８】
図４１は、プレイリスト情報の再生手順を示すフローチャートである。
【０２８９】
ステップＳ５１において、カレントPlayItem番号を"１"に初期化して、ステップＳ５２〜Ｓ６２のループに移る。このループは、カレントプレイアイテム番号に対してステップＳ５２〜ステップＳ６０の処理を実行して、カレントプレイアイテム番号をインクリメントするという処理を(ステップＳ６１)、カレントプレイアイテム番号が最終になるまで繰り返すものである(ステップＳ６２でYes)。ステップＳ５２〜ステップＳ６０は、以下のものである。
【０２９０】
ステップＳ５２において、ベースビューストリームのパケットIDに対応するエントリーマップを用いて、カレントPlayItem.In＿Time及びカレントPlayItem.Out＿TimeをStart＿SPN[i]及びEnd＿SPN[i]に変換する。
【０２９１】
エンハンスドビューストリームを選択し、カレント字幕ストリームを選択して(ステップＳ５３)、選択したストリームのカレントストリーム番号をPSRに書き込み(ステップＳ５４)、カレントストリーム番号に対応するSubPlayItemを特定する(ステップＳ５５)。エンハンスドビューストリームのパケットID[j]に対応するエントリーマップ[j]を用いて特定されたSubPlayItemIn＿Time、SubPlayItemOut＿TimeをStart＿SPN[j]、End＿SPN[j]に変換する(ステップＳ５６)。
【０２９２】
パケットID[i]のTSパケット[i]をStart＿SPN[i]からEnd＿SPN[i]まで読み出すための読出範囲[i]に属するエクステントを特定し(ステップＳ５７)、パケットID[j]のTSパケット[j]をStart＿SPN[j]からEnd＿SPN[j]まで読み出すための読出範囲に属するエクステントを特定する(ステップＳ５８)。そしてステップＳ５９において読出範囲[i],[j]に属するエクステントをアドレスの昇順にソートして、ステップＳ６０においてソートされたアドレスを用いて、読出範囲[i],[j]に属するエクステントを連続的に読み出すよう、ドライブに指示する。以上が、STN＿table、STN＿table＿extensionに基ずく再生手順である。
【０２９３】
次に字幕ストリーム選択手順について説明する。
【０２９４】
STN＿table、又は、STN＿table＿extensionに基づき、字幕ストリームを選択する選択手順には、『Procedure when
playback condition is changed』、『Procedure when Stream change is 
requested』という2つの選択手順がある。
【０２９５】
Procedure when playback condition is
changedは、何等かの事象が再生装置に生じたため、再生装置の状態が変化した際に実行すべき処理手順を示す。
【０２９６】
Procedure when Stream Change is requestedは、ユーザがストリームの切り換えを要求した際、実行すべき処理手順を示す。
【０２９７】
図４２（ａ）は、装置状態変化時におけるPSR2の設定手順を示すフローチャートである。
【０２９８】
ステップＳ１１は、STN＿tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR2の値を維持する(ステップＳ１３)。
【０２９９】
ステップＳ１２は、STN＿tableにおけるentry数は0ではない場合に、PSR２よりSTN＿tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR２で特定されるオーディオストリームを再生する能力が再生装置に存在することである。もしステップＳ１２がYesであればPSR２を維持する(ステップＳ１４)。もしPSR２の値がentry数より大きいか、或は条件(A)を満たさない場合は、PSR2を再設定する(ステップＳ１５)。
【０３００】
図４２（ｂ）は、ストリーム変化時におけるPSR2の設定手順を示すフローチャートである。本フローチャートと、同図（ａ）との違いは、（ａ）におけるPSR2の表記がXに置き換えられている点である。このXは、User
Operationに基づく値である。
本フローチャートにおけるステップＳ２０は、XよりSTN＿tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR2で特定されるオーディオストリームを再生する能力が再生装置に存在することであり、PSR15と、オーディオストリームのStream＿coding＿typeの比較で判定される。もしXがこの条件を満たすなら、PSR2にXを設定する(ステップＳ２１)。
【０３０１】
もしXがentry数より大きいか、或は条件(A)を満たさない場合は、Xが、0xFFFFであるか否かを判定する(ステップＳ２２)。もしOxFFFFでなければ、ユーザが選択を意図するオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR2の設定値を維持する(ステップＳ２４)。もしPSR2の設定値が0xFFFFであるなら、PSR2を設定する(ステップＳ２３)。
【０３０２】
図４３は、年齢別再生時の選択手順を示すフローチャートである。
本フローチャートのステップＳ３１、ステップＳ３２は、STN＿tableに記述されている字幕ストリームのそれぞれについて、ステップＳ３３〜ステップＳ３５の処理を繰り返すループ処理になっている。本ループ処理において処理対象となる字幕ストリームを字幕ストリームiとする。ステップＳ３３は、字幕ストリームiが、グラフィクス字幕ストリームであるか、テキスト字幕ストリームであるかの判定であり、もしグラフィクス字幕であるならステップＳ３４に移行する。
【０３０３】
ステップＳ３４は、グラフィクス字幕ストリームiが、以下の(a)(b)を満たすか否かの判定である。
(a)グラフィクス字幕ストリームiを再生する能力が再生装置に存在すること
(b)グラフィクス字幕ストリームiの言語属性が再生装置の言語設定と一致すること
この(b)の条件は、STN＿tableにおけるPG＿language＿codeがPSR17と一致するか否かの判定でなされる。
一方ステップＳ３５は、テキスト字幕ストリームiが(a)(b)を満たすかを否かの判定である。
(a)テキスト字幕ストリームiをフォントで展開して再生する能力が再生装置に存在すること
(b)テキスト字幕ストリームiの言語属性が再生装置の言語設定と一致すること
(a)の条件を具備しているかの判定は、再生装置のPSR30が"再生能力有"を示すかどうかでなされる。(b)の条件を具備しているかの判定は、STN＿tableのtextST＿language＿codeがPSR17の設定値と一致しているかどうかでなされる。
以上のステップＳ３３〜ステップＳ３５の処理が全ての字幕ストリームについて繰り返されれば、ステップＳ３６〜ステップＳ４１の処理が実行される。
【０３０４】
ステップＳ３６は、(a)を満たす字幕ストリームが存在しないかどうかの判定であり、もし存在しないのなら、ステップＳ３９においてInvalidな値(0xFFFF)をPSR2に設定する(ステップＳ３８)。
【０３０５】
ステップＳ３７は、(a)(b)の双方を満たす字幕ストリームが存在するかどうかの判定であり、もし存在するのなら(a)(b)を満たす字幕ストリームのうち、STN＿tableにおけるエントリー順位が最も高いものをPSR2に設定する(ステップＳ３９)。
【０３０６】
ステップＳ４１は、(a)のみを満たすグラフィクス字幕ストリーム、(a)のみを満たすテキスト字幕ストリームのうち、STN＿tableにおけるエントリー順位が最も高いものをPSR2に設定する。以降具体例を交えながら、本フローチャートの処理について説明する。
【０３０７】
ステップＳ４０は、PSR13におけるユーザ年齢が年少者を意味するかの判定である。尚、本実施形態では、５歳以下を年少者と設定していることにする。Yesである場合、(a)(b)を満たす字幕ストリームのうち、STN＿tableにおけるエントリー順位が最も高いものをPSR2に設定する。ステップＳ４３では、スケーラに、字幕文字の拡大を行わせる。
【０３０８】
ステップＳ４４は、ユーザ年齢が年配者を示す値であるかを判定する。尚、本実施形態では、６５歳以上を年配者と判定するものとする。Yesであれば、ステップＳ４５において字幕ストリームのうち、stream＿entryにおける文字属性が拡大文字であるもののストリーム番号をPSR2に設定する。
【０３０９】
（立体視設定時における選択手順）
図４４は、立体視設定時における選択手順の処理手順を示すフローチャートである。
【０３１０】
図４２のフローチャートと、同一の参照符号を付したステップは、図４２と共通する処理を意味するものなので、その説明は省略する。
【０３１１】
ステップＳ４６において、PSR2のストリーム番号に対応するstream＿entryのPIDと、PSR2のストリーム番号に対応する立体表示情報において、"他の字幕"として指定されている字幕のPIDとをデマルチプレクサに設定して、パケットフィルタリングを行わせる。
【０３１２】
ステップＳ４７において、基本グラフィクスデコーダ、拡張グラフィクスデコーダを起動して、２系統のTSパケット系列のデコードを行わせる。
【０３１３】
以上が立体視設定時におけるストリーム選択手順についての説明である。続いて、上述した選択手順の具体的な動作の詳細を説明する。
【０３１４】
図４５、図４６の事例を題材にして、具体的な動作について説明する。
【０３１５】
図４５は、動作の対象となるAVストリーム、プレイリスト情報を示す図である。同図（ａ）は、AVストリームの内部構成を示す図であり、これは、図６（ｂ）に示したものと同じになる。
【０３１６】
図４５（ｂ）は、プレイリスト情報の内部構成を示す。このプレイリスト情報におけるプレイアイテム情報１は、４つの字幕ストリームに、ストリーム番号を割り当てるSTN＿tableを含む。このSTN＿tableにおいて表示方式情報は、ユーザ年齢に応じた表示方式制御が有効であると設定されており、このSTN＿tableにおけるストリーム情報は、0x1220のPIDが付与されたTSパケットから構成される字幕ストリーム、0x1221のPIDが付与されたTSパケットから構成される字幕ストリーム、0x1222のPIDが付与されたTSパケットから構成される字幕ストリーム、0x1223のPIDが付与されたTSパケットから構成される字幕ストリームのそれぞれに対して、１〜４のストリーム番号を割り当てている。これらの字幕ストリームに対しては、言語コードがそれぞれ、日本語、日本語、日本語、英語に設定されており、文字属性がなし、平仮名、拡大文字、なしに設定されている。
【０３１７】
一方、図４５（ｂ）におけるプレイリスト情報のExtension＿Dataは、４つの字幕ストリームに、ストリーム番号を割り当てるSTN＿table＿extensionを含む。このSTN＿table＿extensionにおいて表示方式情報は、立体視再生設定に応じた表示方式制御が有効であると設定されており、このSTN＿table＿extensionにおけるストリーム情報は、0x1225のPIDが付与されたTSパケットから構成される字幕ストリーム、0x1240のPIDが付与されたTSパケットから構成される字幕ストリーム、0x1226のPIDが付与されたTSパケットから構成される字幕ストリーム、0x1241のPIDが付与されたTSパケットから構成される字幕ストリームのそれぞれに対して、６〜９のストリーム番号を割り当てている。これらの字幕ストリームに対しては、言語属性がそれぞれ、日本語、日本語、英語、英語に設定されており、立体表示情報は、以下のように設定されている。つまり、ストリーム番号＝６の立体表示情報は、組合せるべき字幕として、ストリーム番号＝７が設定されており、ストリーム番号＝７の立体表示情報は、組合せるべき字幕として、ストリーム番号＝６が設定されている。ストリーム番号＝８の立体表示情報は、組合せるべき字幕として、ストリーム番号＝９が設定されており、ストリーム番号＝９の立体表示情報は、組合せるべき字幕として、ストリーム番号＝８が設定されている。
【０３１８】
図４６は、字幕の内容を示す。0x1221のTSパケットに格納されるランレングスデータは、"さあはじまるよ"という平仮名文字を表す。
【０３１９】
0x1222のTSパケットに格納されるランレングスデータは、"囲碁クラブ"という拡大文字を表す。
【０３２０】
0x1242のTSパケットに格納されるランレングスデータは、"This is stereogram"という英文を示す。
【０３２１】
0x1243のTSパケットに格納されるランレングスデータは、"This is stereogram"という英文であって、その表示位置がやや異なるものを示す。
【０３２２】
この具体例では、通常のサイズの字幕を表示するように出力する字幕ストリームの他に、通常のサイズよりも大きいサイズの字幕を表示するように出力する字幕ストリームが、ビデオストリームに多重化されている。こうすることで、上述の２つの字幕ストリームのいずれかを適宜指定し、指定した字幕ストリームがグラフィクスデコーダによって出力されるこになる。このようにすることで、再生装置内に字幕を拡大する機能を設ける必要はなくなり、再生装置の構成をより簡単にし、安価で製造することができる。
【０３２３】
図４７は、再生装置における"ユーザ年齢が4歳"というコンフィグレーション情報に応じて、どのような字幕が表示されるかを示す。（ａ）は、コンフィグレーション情報の具体的な内容であり、PSR13におけるユーザ年齢が"4"つまり4歳に設定されている。PSR16における言語設定は日本語であり、立体視ケーパビリティは"無し"に、立体視再生フラグは"オフ"に設定されている。かかるコンフィグレーション情報の再生装置によって、先の図のプレイリスト情報が読み出されれば、上述したような処理手順を実行することにより、（ｂ）に示すように、"ストリーム番号＝２番"の字幕ストリームが選択の対象になる。
【０３２４】
その結果、PSR2には、ストリーム番号＝２が設定されることになる。そうすると、STN＿tableにおいて、ストリーム番号＝２に対応付けられている、0x1221が、（ｃ）に示すようにPSR2に設定されるから、0x1221のPIDが付与されたTSパケットが、（ｄ）に示すように選択的にビデオデコーダ５に出力されることになる。結果として、（ｅ）に示すように、図４６に示した"さあはじまるよ!!"という字幕が、動画像に合成されて表示されることになる。
図４８は、再生装置における"ユーザ年齢が70歳"というコンフィグレーション情報に応じて、どのような字幕が表示されるかを示す。（ａ）は、コンフィグレーション情報の具体的な内容であり、PSR13におけるユーザ年齢が"70"つまり70歳に設定されている。PSR16における言語設定は日本語であり、立体視ケーパビリティは"無し"に、立体視再生フラグはオフに設定されている。かかるコンフィグレーション情報の再生装置によって、先の図のプレイリスト情報が読み出されれば、上述したような処理手順を実行することにより、（ｂ）に示すように、ストリーム番号＝３番の字幕ストリームが選択の対象になる。その結果、PSR2には、ストリーム番号＝３が設定されることになる。そうすると、STN＿tableにおいて、ストリーム番号＝３に対応付けられている、0x1222が、（ｃ）に示すようにPSR2に設定されるから、0x1222のPIDが付与されたTSパケットが、（ｄ）に示すようにデマルチプレクサ４によって選択的にビデオデコーダ５に出力されることになる。結果として、（ｅ）に示すように、図４６に示した"囲碁サロン"という字幕が、動画像に合成されて表示されることになる。
図４９は、再生装置における"立体視ケーパビリティがオン""立体視再生フラグがオン"というコンフィグレーション情報に応じて、どのような字幕が表示されるかを示す。（ａ）は、コンフィグレーション情報の具体的な内容であり、"立体視ケーパビリティがオン""立体視再生フラグがオン"というコンフィグレーション情報に設定されている。PSR16における言語設定は英語である。かかるコンフィグレーション情報の再生装置によって、先の図のプレイリスト情報が読み出されれば、上述したような処理手順を実行することにより、（ｂ）に示すように、ストリーム番号＝８、９番の字幕ストリームが選択の対象になる。その結果、PSR2には、ストリーム番号＝８、９が設定されることになる。そうすると、STN＿tableにおいて、ストリーム番号＝８、９に対応付けられている、0x1226、0x1241がデマルチプレクサ４に設定されるから、0x1226、0x1241のPIDが付与されたTSパケットが、選択的にビデオデコーダ５に出力されることになる。結果として、（ｄ）に示すように、図３６に示した"This 
is streogram"という字幕が、動画像に合成されて表示されることになる。
【０３２５】
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
(記録装置としての実施)
再生装置１０２は、ビルドインメディアドライブ、リムーバブルメディアを含むローカルストレージを具備していて、これらへの書き込みを想定した構成になっているので、本願明細書に記載された再生装置は、記録装置としての機能を兼備しているといえる。再生装置１０２が記録装置として機能する場合、以下の2つの態様によって、プレイリスト情報の書き込みを実行する。
i)再生装置１０２が仮想パッケージを再生する機能をもつ場合、プレイリスト情報の書き込みを以下のように行う。つまり、BD-ROMが装填された際、アプリケーションからの要求に従い、前記BD-ROMに対応する追加コンテンツを、ネットワークを介して、WWWサーバから取得する。取得された追加コンテンツは上記プレイリスト情報を含む。再生装置１０２において、記録制御を行う制御部は、前記アプリケーションからの要求に従い、取得したプレイリスト情報をローカルストレージに書き込む。こうすることで、BD-ROMに記録されたコンテンツと、前記ローカルストレージに記録された追加コンテンツとを組み合わせることで、前記仮想パッケージを構築することが可能になる。
【０３２６】
ここで前記BD-ROMには、ディスクルート証明書の識別子、BD-ROMコンテンツを頒布した組織の識別子、BD-ROMの識別子が記録されており、追加コンテンツが格納されるべき領域は、ディスクルート証明書識別子と、組織識別子と、BD-ROM識別子とを含むファイルパスによって特定される。
【０３２７】
前記アプリケーションは、追加コンテンツが格納されるべき領域を特定するファイルパスを、制御部に引き渡すことで書き込みを行う。
【０３２８】
前記ローカルストレージが、ディレクトリ名、及び、ファイル名が２５５文字以下に制限されたファイルシステムを有している場合、前記ローカルストレージへの書き込みに用いられるファイルパスは、８文字以下のディレクトリ名、及び、ファイル名で、かつ拡張子名が３文字以下である８.３形式のファイルシステムにおけるファイル名と、拡張子との指定を含む。
【０３２９】
ii)再生装置１０２がオンデマンドマニュファクチャサービス又は電子的セルスルーサービス(MODEST)の供給を受ける機能をもつ場合、プレイリスト情報の書き込みを以下のように行う。
【０３３０】
つまり再生装置１０２がオンデマンドマニュファクチャサービス又は電子的セルスルーサービスによってプレイリスト情報の供給を受ける際、リムーバブルメディアにおけるルートディレクトリの配下に、デフォルトのディレクトリと、MODESTディレクトリとをクリエイトして、MODESTディレクトリの配下に、BDMVディレクトリをクリエイトする。MODESTディレクトリは、ファーストMODESTディレクトリであり、ファーストMODESTディレクトリは、前記サービスを初めて受けた際、クリエイトされるMODESTディレクトリである。ユーザが２回目以降にサービスを受ける際、再生装置１０２における制御部は、２回目以降のサービスに対応するMODESTディレクトリをクリエイトする。
【０３３１】
そして、上述したように、プレイリスト情報を取得すると、制御部は、デフォルトディレクトリにスタートアッププログラムを書き込み、MODESTディレクトリ配下のBDMVディレクトリにプレイリスト情報を書き込む。このスタートアッププログラムは、記録媒体が再生装置１０２に装填された際、最初に実行されるべきプログラムであり、BDMVディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置１０２に表示させて、ルート変更機能を再生装置１０２に実行させる。このルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたBDMVディレクトリが属するMODESTディレクトリをルートディレクトリとして認識させる機能である。かかるルート変更機能によって、BD-ROMを再生するのと同じ制御手順によって取得したプレイリスト情報に基づく再生制御を実行することができる。
(Java(TM)アプリケーション)
BD-Jアプリケーションは、例えば電子商取引(EC(Electronic
Commerce))のクライアントアプリケーションであってもよいし、ネット対戦型のオンラインゲームであってもよい。更に、検索エンジンと連携して、様々なオンラインサービスを、ユーザに供給するものでもよい。
（ライトビュー用、あるいは、レフトビュー用、どちらを指定するかを示す情報の置き場所）
また、上述の例では立体表示に対応していない場合、ライトビュー用、あるいは、レフトビュー用、どちらを指定するかを示す情報をプレイリストに含ませるような構成を説明したがこれに限定される必要はない。立体表示できない場合、ライトビュー用、あるいは、レフトビュー用、どちらを指定するかを示す情報は、再生装置１０２のコンフィグレーション情報に含まれるように構成し、立体表示に対応していない場合、再生装置１０２のコンフィグレーション情報に設定されたレフトビュー用、どちらを指定するかを示す情報に従って、レフトビュー用またはライトビュー用のストリーム（映像ストリームおよび字幕ストリーム）を指定するようにしても良い。
【０３３２】
このライトビュー用あるいはレフトビュー用どちらを指定するかを示す情報は利用者が再生装置に登録することにより設定しても良いし、再生状態レジスタあるいは、汎用レジスタにライトビュー用あるいはレフトビュー用どちらを指定するかを示す情報を登録するようにし、この情報をコンフィグレーション情報として使用しても良い。
（不揮発性メモリのバリエーション）
不揮発性メモリ１０９は、ローカルストレージ、BDドライブにおける書き込み可能な記録媒体を利用しても実施可能である。また、ネットワークI/Fを経由してアクセス可能な媒体であっても、再生装置の電源供給状態に依存せず記録内容を保持できるのであれば、不揮発性メモリ１０９として利用しても実施可能である。
【０３３３】
（事前登録の内容）
表示される字幕の好ましいサイズなどの利用者情報を再生装置１０２の事前登録情報として記憶し、使用しても良いし、PSRセット１２に含まれる再生状態レジスタ、あるいは、汎用レジスタに登録された情報をコンフィグレーション情報として使用しても良い。
【０３３４】
これにより、コンテンツ作成時点では判断できないコンテンツ利用者のニーズに合わせた字幕再生を自動的に行うことが可能となる。
【０３３５】
また、コンテンツ作成者はサイズの異なる複数の字幕ストリームを用意する必要がなくなるため、記録媒体の使用容量を削減したり、コンテンツ作成コストを削減したりすることが可能となる。
【０３３６】
(字幕の拡大)
上記実施形態では、拡大文字の字幕ストリームを、通常文字の字幕ストリームとは別に格納することで、年配者向けの文字拡大を実行したが、ユーザが年配者でされば、通常文字の字幕ストリームをスケーラが拡大することで、字幕文字の拡大を実行してもよい。
（字幕の自動拡大・縮小機能の有効、無効を設定）
字幕の自動拡大・縮小機能の有効、無効を設定する機能があっても良い。もし、字幕の自動拡大・縮小機能が有効であった場合には、拡大を実行するが、字幕の自動拡大・縮小機能が無効であった場合には、再生装置１０２を使用している利用者を年配者だと判断した場合であっても、字幕のサイズを変更させない。
（自動変更機能の有効、無効設定）
再生装置１０２に字幕文字の自動変更機能の有効、無効を設定する機能があっても良い。もし、字幕文字の自動変更機能が有効であった場合には、図１０の通りだが、字幕文字の自動変更機能が無効であった場合には、再生装置１０２を使用している利用者を幼少者だと判断した場合であっても、言語タイプが"通常"である字幕ストリームをデマルチプレクサ４に設定し、前記再生するプレイリストが参照しているトランスポートストリームの多重分離を行わせる。
（お気に入り設定）
例えば再生装置１０２の利用者が事前に年齢、好ましい字幕（平仮名の表示を好むなど）の情報を登録した利用者情報を再生装置１０２のコンフィグレーション情報として記憶し、使用しても良いし、再生状態レジスタ、あるいは、汎用レジスタに登録された情報をコンフィグレーション情報として使用しても良い。
(立体視のためのビデオストリーム)
レフトビュー用、ライトビュー用のビデオストリームをBD-ROMに記録しておくというのは、一例に過ぎない。ピクチャ毎に、画素毎の奥行き値を表すビデオストリームをエンハンスドビュービデオストリームとしてBD-ROMに記録しておいて、再生に供してもよい。
【０３３７】
（実装すべきパッケージ）
アプリケーション実行装置の実施にあたっては、以下のBD-J Extensionをアプリケーション実行装置に実装するのが望ましい。BD-J
Extensionは、GEM[1.0.2]を越えた機能を、Java(TM)プラットフォームに与えるために特化された、様々なパッケージを含んでいる。BD-J
Extensionにて供給されるパッケージには、以下のものがある。
・org.bluray.media
このパッケージは、Java(TM) Media
FrameWorkに追加すべき、特殊機能を提供する。アングル、音声、字幕の選択についての制御が、このパッケージに追加される。
・org.bluray.ti
このパッケージは、GEM[1.0.2]における"サービス"を"タイトル"にマップして動作するためのAPIや、BD-ROMからタイトル情報を問い合わせる機構や新たなタイトルを選択する機構を含む。
・org.bluray.application
このパッケージは、アプリケーションの生存区間を管理するためのAPIを含む。また、アプリケーションを実行させるにあたってのシグナリングに必要な情報を問い合わせるAPIを含む。
・org.bluray.ui
このパッケージは、BD-ROMに特化されたキーイベントのための定数を定義し、映像再生との同期を実現するようなクラスを含む。
・org.bluray.vfs
このパッケージは、データの所在に拘らず、データをシームレスに再生するため、BD-ROMに記録されたコンテンツ(on-discコンテンツ)と、BD-ROMに記録されていないLocal 
Storage上のコンテンツ(off-discコンテンツ)とをバインドする機構(Binding Scheme)を提供する。
【０３３８】
Binding Schemeとは、BD-ROM上のコンテンツ(AVクリップ、字幕、BD-Jアプリケーション)と、Local 
Storage上の関連コンテンツとを関連付けるものである。このBinding Schemeは、コンテンツの所在に拘らず、シームレス再生を実現する。
(プログラミング言語の適用範囲)
上記実施形態では、仮想マシンのプログラミング言語としてJava（TM）を利用したが、Java（TM）ではなく、UNIX（TM）
OSなどで使われているB-Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。
(マルチドライブ化)
上記実施形態では、記録媒体の一例としてBD-ROM、BD-ROMからデータを読み出す機能を有する具体的な手段の一例としてBD-ROMドライブを例に挙げて説明をした。しかしながら、BD-ROMは単なる一例であり、記録媒体としてBD-R、BD-RE、DVD、CDなどの光ディスク媒体であっても、これらの記録媒体に上述したデータ構造を有するデータが格納されていること、これらの記録媒体を読み取るドライブ装置があれば、上述の実施の形態で説明した動作が可能である。
【０３３９】
各実施の形態における記録媒体は、光ディスク、半導体メモリーカード等、パッケージメディア全般を含んでいる。本実施の形態の記録媒体は予め必要なデータが記録された光ディスク（例えばBD-ROM、DVD-ROMなどの既存の読み取り可能な光ディスク）を例に説明をしたが、これに限定される必要はなく、例えば、放送またはネットワークを経由して配信された本発明の実施に必要なデータを含んだ３Ｄコンテンツを光ディスクへ書き込む機能を有する端末装置（例えば左記の機能は再生装置に組み込まれていても良いし、再生装置とは別の装置であってもよい）を利用して書き込み可能な光ディスク（例えばBD-RE、DVD-RAMなどの既存の書き込み可能な光ディスク）に記録し、この記録した光ディスクを本発明の再生装置に適用しても本発明の実施は可能である。
【０３４０】
また、記録媒体は光ディスク以外にも例えば、SDメモリーカードなどのリムーバブルメディア（半導体メモリカード）であっても本発明の実施は可能である。
【０３４１】
例えば、BD-ROMの代わりに半導体メモリを用いた場合には、例えば図３５に示すような構成では、半導体メモリーカード内のデータを読み出すためのインターフェイスを介してリードバッファ１、リードバッファ２を経由して仮想ファイルシステム３へ送られ、仮想ファイルシステム３から、ヒープメモリ２１、動的シナリオメモリ２３、静的シナリオメモリ１３、テキスト字幕デコーダ１８、デマルチプレクサ４に転送されるように構成すればよい。
【０３４２】
より詳細には、再生装置１０２のスロット（図示せず）に半導体メモリーカードが挿入されると、メモリーカードＩ／Ｆを経由して再生装置１０２と半導体メモリーカードが電気的に接続される。半導体メモリーカードに記録されたデータはメモリーカードＩ／Ｆを介してリードバッファ１、リードバッファ２を経由して仮想ファイルシステム３へ送られ、仮想ファイルシステム３からヒープメモリ２１、動的シナリオメモリ２３、静的シナリオメモリ１３、テキスト字幕デコーダ１８、デマルチプレクサ４に転送されるように構成すれば良い。
【０３４３】
ＢＤ−ＲＯＭに記録されたデータのうち、例えば著作権の保護、データの秘匿性の向上の観点からデータの一部が、必要に応じて暗号化されている場合がある。
【０３４４】
例えば、ＢＤ−ＲＯＭに記録されたデータのうち、暗号化されているデータは、ＢＤ−ＲＯＭに記録されたデータのいずれであってもよいが、例えばビデオストリームに対応するデータ、オーディオストリームに対応するデータ、字幕ストリームに対応するデータまたはこれらを含むストリームに対応するデータであったりする。
【０３４５】
以後、ＢＤ−ＲＯＭに記録されたデータのうち、暗号化されているデータの解読について説明をする。
【０３４６】
再生装置においては、ＢＤ−ＲＯＭ内の暗号化されたデータを解読するために必要な鍵に対応するデータ（例えばデバイスキー）が予め再生装置に記憶されている。
【０３４７】
一方、ＢＤ−ＲＯＭには暗号化されたデータを解読するために必要な鍵に対応するデータ（例えば上述のデバイスキーに対応するＭＫＢ（メディアキーブロック））と、暗号化されたデータを解読するための鍵自体を暗号化したデータ（例えば上述のデバイスキー及びＭＫＢに対応する暗号化タイトルキー）が記録されている。ここで、デバイスキー、ＭＫＢ、及び暗号化タイトルキーは対になっており、さらにＢＤ−ＲＯＭ上の通常コピーできない領域（ＢＣＡと呼ばれる領域）に書き込まれた識別子（例えばボリュームＩＤ）とも対応付けがされている。この組み合わせが正しくなければ、暗号の解読ができないものとする。組み合わせが正しい場合のみ、暗号解読に必要な鍵（例えば上述のデバイスキー、ＭＫＢ及びボリュームＩＤを元に、暗号化タイトルキーを復号して得られるタイトルキー）を導き出すことができ、この暗号解読に必要な鍵を用いて、暗号化されたデータの解読が可能となる。
装填されたＢＤ−ＲＯＭを再生装置において再生する場合、例えばＢＤ−ＲＯＭ内の暗号化タイトルキー、ＭＫＢと対になっている（または対応する）デバイスキーが再生装置内になければ、暗号化されたデータは再生がなされない。何故ならば、暗号化されたデータの解読に必要な鍵（タイトルキー）は、鍵自体が暗号化されて（暗号化タイトルキー）ＢＤ−ＲＯＭ上に記録されており、ＭＫＢとデバイスキーの組み合わせが正しくなければ、暗号の解読に必要な鍵を導き出すことができないからである。
【０３４８】
逆に暗号化タイトルキー、ＭＫＢ、デバイスキー及びボリュームＩＤの組み合わせが正しければ、例えば上述の暗号解読に必要な鍵（デバイスキー、ＭＫＢ及びボリュームＩＤを元に、暗号化タイトルキーを復号して得られるタイトルキー）を用いてビデオストリームがデコーダにてデコードされ、オーディオストリームがオーディオデコーダにてデコードされるように再生装置は構成されている。
本実施の形態では記録媒体としてＢＤ−ＲＯＭを例に説明をしたが、ＢＤ−ＲＯＭに必ずしも限定されるのではなく、例えば、読込み／書込み可能な半導体メモリー（例えばＳＤカードなどの可搬性を有する半導体メモリーカード）に適用した場合においても、実施が可能である。
【０３４９】
例えば、ＢＤ−ＲＯＭに記録されるデータに相応するデータを例えば電子配信を利用して半導体メモリーカードに記録して、半導体メモリーカードから再生をするような構成としても良い。電子配信を利用して必要なデータを配信し、配信されたデータを記録する場合においても、配信されたデータのうちの一部または全てのデータに対して必要に応じて暗号化を行なって配信し、半導体メモリーに必要なデータについては暗号化がなされたままで記録するのが望ましい。
例えば電子配信を利用して、本実施の形態で説明をしたデータに相応するデータ（配信データ）を半導体メモリーに記録する動作について説明をする。
【０３５０】
上述の動作は本実施の形態において説明をした再生装置がそのような動作を行なえるように構成をされていても良いし、本実施の形態の再生装置とは別に半導体メモリーに配信データを記憶することを行う専用の端末装置にて行なうような形態であっても良い。ここでは再生装置が行なう例について説明をする。また記録先の半導体メモリーとしてＳＤカードを例に説明をする。
【０３５１】
再生装置が備えるスロットに挿入されたＳＤメモリーカードに配信データを記録する場合、まず配信データを蓄積する配信サーバ（図示せず）へ配信データの送信を要求する。このとき再生装置は挿入したＳＤメモリーカードを一意に識別するための識別情報（例えば個々のＳＤメモリーカード固有の識別番号、より具体的には、例えばＳＤメモリーカードのシリアル番号等）をＳＤメモリーカードから読み出して、読み出した識別情報を配信要求とともに、配信サーバへ送信する。
【０３５２】
この、ＳＤメモリーカードを一意に識別するための識別情報は例えば上述のボリュームＩＤに相当する。
【０３５３】
一方、配信サーバでは、配信するデータのうち必要なデータ（例えばビデオストリーム、オーディオストリーム等）が暗号解読に必要な鍵（例えばタイトルキー）を用いて暗号の解除ができるように暗号化がなされてサーバ上に格納されている。
【０３５４】
例えば配信サーバは、秘密鍵を保持しており、半導体メモリーカードの固有の識別番号のそれぞれに対して異なる公開鍵情報が動的に生成できるように構成されている。
【０３５５】
また、配信サーバは、暗号化されたデータの解読に必要な鍵（タイトルキー）自身に対して暗号化ができるように構成されている（つまり暗号化タイトルキーを生成できるように構成されている）。
生成される公開鍵情報は例えば上述のＭＫＢ、ボリュームＩＤ及び暗号化タイトルキーに相当する情報を含む。暗号化されたデータは例えば半導体メモリー固有の識別番号、後述する公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しければ、暗号解読に必要な鍵（例えばデバイスキー、ＭＫＢ及び半導体メモリー固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー）が得られ、この得られた暗号解読に必要な鍵（タイトルキー）を用いて、暗号化されたデータの解読ができるものである。
次に、再生装置は、受信した公開鍵情報と配信データをスロットに挿入した半導体メモリーカードの記録領域に記録する。
【０３５６】
次に、半導体メモリーカードの記録領域に記録した公開鍵情報と配信データに含まれるデータのうち暗号化したデータを復号して再生する方法の一例について説明をする。
【０３５７】
受信した公開鍵情報は例えば公開鍵本体（例えば上述のＭＫＢ及び暗号化タイトルキー）、署名情報、半導体メモリーカードの固有の識別番号、および無効にすべきデバイスに関する情報を示すデバイスリストが記録されている。
【０３５８】
署名情報には例えば、公開鍵情報のハッシュ値を含む。
【０３５９】
デバイスリストには例えば、不正に再生がなされる可能性があるデバイスに関する情報が記載されている。これは例えば再生装置に予め記録されたデバイスキー、再生装置の識別番号、または再生装置が備えるデコーダの識別番号といったように、不正に再生される可能性がある装置、装置に含まれる部品、または機能（プログラム）といったものを一意に特定するための情報である。
【０３６０】
半導体メモリーカードの記録領域に記録した配信データのうち、暗号化されたデータの再生に関し、説明をする。
【０３６１】
まず、公開鍵本体を利用して暗号化したデータを復号する前に復号鍵本体を機能させてよいかどうかに関するチェックを行う。
【０３６２】
具体的には、
（１） 公開鍵情報に含まれる半導体メモリー固有の識別情報と半導体メモリーカードに予め記憶されている固有の識別番号とが一致するかどうかのチェック
（２） 再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致するかのチェック
（３） 公開鍵情報に含まれるデバイスリストに示される情報に基づいて、再生を行う再生装置が不正な再生が可能かどうかのチェック（例えば公開鍵情報に含まれるデバイスリストに示されるデバイスキーと、再生装置に予め記憶されたデバイスキーが一致するかどうかのチェック）
を行なう。これらのチェックを行なう順番どのような順序で行なってもよい。
【０３６３】
上述の（１）〜（３）のチェックにおいて、公開鍵情報に含まれる半導体メモリー固有の識別情報と半導体メモリーに予め記憶されている固有の識別番号とが一致しない、再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致しない、または、再生を行う再生装置が不正に再生される可能性があると判断した、のいずれかを満足すれば、再生装置は、暗号化されたデータの解読がなされないように制御する。
また、公開鍵情報に含まれる半導体メモリーカードの固有の識別情報と半導体メモリーカードに予め記憶されている固有の識別番号とが一致し、かつ再生装置内で算出した公開鍵情報のハッシュ値と署名情報に含まれるハッシュ値が一致し、かつ再生を行う再生装置が不正に再生される可能性がないと判断したのであれば、半導体メモリー固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが正しいと判断し、暗号解読に必要な鍵（デバイスキー、ＭＫＢ及び半導体メモリー固有の識別番号を元に、暗号化タイトルキーを復号して得られるタイトルキー）を用いて、暗号化されたデータの解読を行なう。
例えば暗号化されたデータがビデオストリーム、オーディオストリームである場合、ビデオデコーダは上述の暗号解読に必要な鍵（暗号化タイトルキーを復号して得られるタイトルキー）を利用してビデオストリームを復号し（デコードし）、オーディオデコーダは、上述の暗号解読に必要な鍵を利用してオーディオストリームを復号する（デコードする）。
このように構成をすることにより、電子配信時において不正利用される可能性がある再生装置、部品、機能（プログラム）などが分っている場合、これらを識別するための情報をデバイスリストに示して、配信するようにすれば、再生装置側がデバイスリストに示されているものを含むような場合には公開鍵情報（公開鍵本体）を用いた復号を抑止できるようにできるため、半導体メモリー固有の識別番号、公開鍵情報に含まれる公開鍵本体、および再生装置に予め記録されたデバイスキーの組み合わせが、たとえ正しくても、暗号化されたデータの解読がなされないように制御できるため、不正な装置上での配信データの利用を抑止することが可能となる。
また半導体メモリーカードに予め記録されている半導体メモリーカードの固有の識別子は秘匿性の高い記録領域に格納するような構成を採用するのが望ましい。何故ならば、半導体メモリーカードに予め記録されている固有の識別番号（例えばＳＤメモリーカードを例にすればＳＤメモリーカードのシリアル番号等）は改竄がなされると、違法コピーが容易になされてしまう。何故ならば複数の半導体メモリーカードには、それぞれ異なる固有の識別番号が割り当てられているが、この固有の識別番号が同一となるように改竄がなされてしまえば、上述の（１）の判定が意味を成さなくなり、改竄がなされた数に相当する違法コピーがなされてしまう可能性があるからである。
【０３６４】
従って、半導体メモリーカードの固有の識別番号といった情報は秘匿性が高い記録領域に記録するような構成を採用するのが望ましい。
【０３６５】
このような構成を実現するために、例えば半導体メモリーカードは、半導体メモリーカードの固有の識別子と言った秘匿性の高いデータを記録するための記録領域を通常のデータを格納する記録領域（第１の記録領域と称す）とは別の記録領域（第２の記録領域と称す）に設けること、およびこの第２の記録領域へのアクセスをするための制御回路を設けるとともに、第２の記録領域へのアクセスには制御回路を介してのみアクセスできるような構成とする。
【０３６６】
例えば、第２の記録領域に記録されているデータは暗号化がなされて、記録されており、制御回路は、例えば暗号化されたデータを復号するための回路が組み込まれている。制御回路へ第２の記録領域へのデータのアクセスが合った場合には、暗号を復号し、復号したデータを返すように構成すれば良い。または、制御回路は第２の記録領域に記録されているデータの格納場所の情報を保持しており、データのアクセスの要求があれば、対応するデータの格納場所を特定し、特定した格納場所から読み取ったデータを返すような構成としても良い。
再生装置上で動作するアプリケーションで、電子配信を利用して半導体メモリーカードに記録する要求するアプリケーションは、メモリーカードＩ／Ｆを介して制御回路へ第２の記録領域に記録されたデータ（例えば半導体メモリ固有の識別番号）へのアクセス要求を発行すると、要求を受けた制御回路は第２の記録領域に記録されたデータを読み出して再生装置上で動作するアプリケーションへ返す。この半導体メモリーカードの固有の識別番号とともに必要なデータの配信要求を配信サーバに要求し、配信サーバから送られる公開鍵情報、および対応する配信データを第１の記録領域に記録するように構成すればよい。
【０３６７】
また、再生装置上で動作するアプリケーションで、電子配信を利用して半導体メモリーカードに記録を要求するアプリケーションは、メモリーカードＩ／Ｆを介して制御回路へ第２の記録領域に記録されたデータ（例えば半導体メモリ固有の識別番号）へのアクセス要求を発行する前に、アプリケーションの改竄がされていないかを事前にチェックすることが望ましい。改竄のチェックには例えば既存のＸ．５０９仕様に準拠したデジタル証明書を利用したチェックなどを利用しても良い。
【０３６８】
また、半導体メモリーカードの第１の記録領域に記録された配信データへのアクセスは半導体メモリーカードが有する制御回路を介してアクセスする必要は必ずしもない。
（プログラムの実施形態）
各実施形態に示したアプリケーションプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【０３６９】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
【０３７０】
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【０３７１】
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVAバイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
【０３７２】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。かかるプログラムをコンピュータ読取可能な記録媒体に記録してユーザに提供してよい。
(システムLSIの単体実施)
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
【０３７３】
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド
アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
【０３７４】
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置１０２の中核としての役割を果たす。
【０３７５】
かかるシステムLSIは、再生装置１０２は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
【０３７６】
エレメンタバッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
【０３７７】
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
【０３７８】
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
【０３７９】
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory
Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing
Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor 
Unit部」で構成される。
【０３８０】
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control
Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input
Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
【０３８１】
・ストリームI/Oブロック
これは、USBインターフェイスやATA 
Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリムーバブルメディアドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
【０３８２】
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
【０３８３】
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
【０３８４】
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
【０３８５】
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
【０３８６】
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
【０３８７】
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System
on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in 
Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置１０２の内部構成図を基に作ることができる。
【０３８８】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【０３８９】
FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up 
Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込ませる必要がある。
【０３９０】
本実施の形態においては、ミドルウェアとシステムLSIに対応するハードウェア、システムLSI以外のハードウェア、ミドルウェアに対するインターフェイスの部分、ミドルウェアとシステムLSIとの間のインターフェイスの部分、ミドルウェアとシステムLSI以外の必要なハードウェアとの間のインターフェイスの部分、ユーザインターフェイスの部分で実現し、これらを組み込んで再生装置を構成したとき、それぞれが連携して動作することにより特有の機能が提供されることになる。
【０３９１】
ミドルウェアに対するインターフェイス、および、ミドルウェアとシステムLSIのインターフェイスを適切に定義することにより、再生装置のユーザインターフェイス部分、ミドルウェア部分、システムLSI部分をそれぞれ独立して並行開発することができ、より効率よく開発することが可能となる。なお、それぞれのインターフェイスの部分のきり方には、様々なきり方がある。例えば、システムLSI１０６に含まれるものとして示したビデオデコーダ５ａ、ビデオデコーダ５ｂ、オーディオデコーダ９、色変換部１５ａ、色変換部１５ｂ、合成器１７ａ、合成器１７ｂを一チップ化したとき、これらを制御するミドルウェアおよびこれらと対応するミドルウェアとの間のインターフェイスの部分について、チップを開発する側で開発をし、完成後、チップを再生装置に組み込むとともに、開発したミドルウェア、インターフェイス部分を再生装置内のメモリなどの記憶部に組み入れることにより、再生装置側の開発とチップ側の開発を並行して行なうことができるようになり、開発効率が向上する。
【０３９２】
開発したチップと開発したチップに関連するミドルウェアとの間のインターフェイス部分について、共通にすると、汎用性が高くなる。
【０３９３】
なお、システムLSIにて構成をした部分に関しては、LSIでしか構成ができないというものではなく、システムLSIに含まれるべき機能に対応する信号処理回路を用いて構成をしても良いことは言うまでもない。
【産業上の利用可能性】
【０３９４】
本発明に係る、平面表示と立体表示を動的に切り換え可能にする記録媒体、その再生装置および再生方法は、殊に、AVコンテンツの制作に携わる映画産業、および、それを処理する機器の製造に携わる民生機器産業において利用される可能性が高い。例えば、BD-ROMディスク、および、BD-ROMプレーヤ等として利用可能である。
【符号の説明】
【０３９５】
１,２ リードバッファ
３ 仮想ファイルシステム
４ デマルチプレクサ
５a,b ビデオデコーダ
６a,b、ビデオプレーン
７a,b グラフィクスデコーダ
８a,b グラフィクスプレーン
９ オーディオデコーダ
１０ HDMIインターフェイス
１２ 再生状態／設定レジスタセット
１３ 静的シナリオメモリ
１４ 再生制御エンジン
１５a,b 色変換
１６a,b スケーラ部
１７a,b 合成器
１８ テキスト字幕デコーダ
２１ ヒープメモリ
２２ BD-Jプラットフォーム
２３ 動的シナリオメモリ
２４ モード管理モジュール
２５ コマンドインタプリタ
２６ UO検知モジュール
１０１ BD-ROM
１０２ 再生装置
１０３ テレビ
１０４ ゴーグル
１０５ フロントエンド部
１０６ システムLSI
１０７ メモリデバイス
１０８ バックエンド部
１０９ 不揮発性メモリ
１１０ ホストマイコン
１１１ ネットワークI/F
１１２ BD-ROMドライブ
１１３ ローカルストレージ
【図１】
0005400932.tif 000002
【図２】
0005400932.tif 000003
【図３】
0005400932.tif 000004
【図４】
0005400932.tif 000005
【図５】
0005400932.tif 000006
【図６】
0005400932.tif 000007
【図７】
0005400932.tif 000008
【図８】
0005400932.tif 000009
【図９】
0005400932.tif 000010
【図１０】
0005400932.tif 000011
【図１１】
0005400932.tif 000012
【図１２】
0005400932.tif 000013
【図１３】
0005400932.tif 000014
【図１４】
0005400932.tif 000015
【図１５】
0005400932.tif 000016
【図１６】
0005400932.tif 000017
【図１７】
0005400932.tif 000018
【図１８】
0005400932.tif 000019
【図１９】
0005400932.tif 000020
【図２０】
0005400932.tif 000021
【図２１】
0005400932.tif 000022
【図２２】
0005400932.tif 000023
【図２３】
0005400932.tif 000024
【図２４】
0005400932.tif 000025
【図２５】
0005400932.tif 000026
【図２６】
0005400932.tif 000027
【図２７】
0005400932.tif 000028
【図２８】
0005400932.tif 000029
【図２９】
0005400932.tif 000030
【図３０】
0005400932.tif 000031
【図３１】
0005400932.tif 000032
【図３２】
0005400932.tif 000033
【図３３】
0005400932.tif 000034
【図３４】
0005400932.tif 000035
【図３５】
0005400932.tif 000036
【図３６】
0005400932.tif 000037
【図３７】
0005400932.tif 000038
【図３８】
0005400932.tif 000039
【図３９】
0005400932.tif 000040
【図４０】
0005400932.tif 000041
【図４１】
0005400932.tif 000042
【図４２】
0005400932.tif 000043
【図４３】
0005400932.tif 000044
【図４４】
0005400932.tif 000045
【図４５】
0005400932.tif 000046
【図４６】
0005400932.tif 000047
【図４７】
0005400932.tif 000048
【図４８】
0005400932.tif 000049
【図４９】
0005400932.tif 000050