(57)【要約】【課題】ピクチャインピクチャの表示を設定する。【解決手段】pip_metadataには、ピクチャインピクチャ表示に必要な情報が記載される。pip_horizontal_positionは、プライマリビデオのフレーム上において、セカンダリビデオが表示される副表示画面の左上隅のX座標を示すものであり、pip_vertical_positionは、プライマリビデオのフレーム上において、セカンダリビデオが表示される副表示画面の左上隅のY座標を示すものである。pip_scaleは、セカンダリビデオが表示される副表示画面の大きさを示す情報が記載され、例えば、プライマリビデオに対するセカンダリビデオの大きさの比率、セカンダリビデオのオリジナルの画像の大きさに対する縮小率、または、副表示画面を構成する画素が、縦横それぞれ何画素で構成されているかを示す情報などが記載される。本発明は、再生装置に適用できる。【選択図】図９
2008022568.tif 000002
【特許請求の範囲】
【請求項１】
再生装置においてコンテンツ再生に用いる再生管理データを生成するデータ生成方法であって、
メインストリームの映像と、サブストリームの映像とを取得し、
前記メインストリームに対応して再生される音声を取得し、
前記サブストリームに対応して再生される音声が存在する場合には、前記メインストリームに対応して再生される音声と合成される、前記サブストリームに対応して再生される音声を取得し、
前記メインストリームを再生する時間軸上の位置を示す第１の情報と、
前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、
前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報と
を含むデータ構造を有する再生管理データを生成する
ステップを含むデータ生成方法。
【請求項２】
前記表示状態に関する情報は、前記メインストリームの映像と合成される前記サブストリームの映像の表示位置に関する情報を含む
請求項１に記載のデータ生成方法。
【請求項３】
前記表示状態に関する情報は、前記メインストリームの映像と合成される前記サブストリームの映像の表示の大きさに関する情報を含む
請求項１に記載のデータ生成方法。
【請求項４】
前記表示状態に関する情報は、前記メインストリームの映像と合成される前記サブストリームの映像の表示色に関する情報を含む
請求項１に記載のデータ生成方法。
【請求項５】
前記表示状態に関する情報は、前記メインストリームの映像と合成される前記サブストリームの映像の、原映像に対する合成後の回転角度に関する情報を含む
請求項１に記載のデータ生成方法。
【請求項６】
前記表示状態に関する情報は、前記メインストリームの映像と合成される前記サブストリームの映像の明るさを示す情報に基づいて実行される、前記メインストリームの映像と、前記サブストリームの映像とを合成する処理に関する情報を含む
請求項１に記載のデータ生成方法。
【請求項７】
前記サブストリームの映像の明るさを示す情報は、透過処理を行うべき明るさを示す情報の少なくとも１つの閾値であり、前記サブストリームの映像の明るさが、前記閾値以上または以下となる映像部分に対して透過処理を行う
請求項６に記載のデータ生成方法。
【請求項８】
前記再生管理データには、前記メインストリームに対して前記サブストリームが必ず同時に再生されるか、ユーザから指令されたときのみ前記メインストリームに対して前記サブストリームが同時に再生されるかを示す情報が記載され、
前記ユーザから指令されたときのみ前記メインストリームに対して前記サブストリームが同時に再生されることを示す情報が前記再生管理データに記載されている場合、前記ユーザの操作入力に基づいて、前記ユーザから前記サブストリームの再生が指令されたときのみ、前記メインストリームの映像と前記サブストリームの映像とが合成される
請求項１に記載のデータ生成方法。
【請求項９】
前記再生管理データには、前記表示状態に関する情報を含むことを示す情報が含まれる
請求項１に記載のデータ生成方法。
【請求項１０】
少なくとも１つのストリームを含むメインストリームおよびサブストリームの再生を管理する情報である再生管理情報を含むデータ構造であって、
前記再生管理情報には、
前記メインストリームを再生する時間軸上の位置を示す第１の情報と、
前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、
前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報と
が含まれているデータ構造であり、
前記データ構造を取得した再生装置により、
取得された前記データ構造に含まれる前記再生管理情報の前記第１の情報および前記第２の情報を基に、再生される前記メインストリームおよび前記サブストリームを読み出し、
取得された前記データ構造に含まれる前記再生管理情報の前記表示状態に関する情報を基に、読み出された前記メインストリームの映像と、前記サブストリームの映像とを合成し、
前記メインストリームの映像と、前記サブストリームの映像とが合成される場合であって、前記メインストリームおよび前記サブストリームに対応して再生される音声が存在する場合には、前記第１の情報を基に読み出される前記メインストリームに対応して再生される音声と、前記第２の情報を基に読み出される前記サブストリームに対応して再生される音声とを合成する処理に用いられる
データ構造。
【請求項１１】
少なくとも１つのストリームを含むメインストリームおよびサブストリームの再生を管理する情報である再生管理情報を含むデータ構造であって、
前記再生管理情報には、
前記メインストリームを再生する時間軸上の位置を示す第１の情報と、
前記メインストリームとは異なるサブストリームであって、前記第１の情報を基に読み出される前記メインストリームの映像と合成される映像と、前記第１の情報を基に読み出される前記メインストリームに対応して再生される音声と合成される音声が存在する場合にはその音声と、を含んでいる前記サブストリームを再生する時間軸上の位置を示す第２の情報と、
前記第１の情報を基に読み出される前記メインストリームの映像と合成される、前記第２の情報を基に読み出される前記サブストリームの映像の表示状態に関する情報と
が含まれているデータ構造。
【請求項１２】
再生装置においてコンテンツ再生に用いる再生管理データが記録される記録媒体にデータを記録する記録装置において、
メインストリームの映像と、サブストリームの映像とを取得する第１の取得手段と、
前記メインストリームに対応して再生される音声を取得する第２の取得手段と、
前記サブストリームに対応して再生される音声が存在する場合には、前記メインストリームに対応して再生される音声と合成される、前記サブストリームに対応して再生される音声を取得する第３の取得手段と、
前記メインストリームを再生する時間軸上の位置を示す第１の情報と、
前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、
前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報と
を含むデータ構造を有する再生管理データを生成する生成手段と、
取得された前記メインストリームの映像および音声、取得された前記サブストリームの映像および音声または前記サブストリームの映像、並びに生成された前記再生管理データを前記記録媒体に記録する記録手段と
を備える記録装置。
【請求項１３】
再生装置においてコンテンツ再生に用いる再生管理データが記録される記録媒体の記録方法であって、
メインストリームの映像と、サブストリームの映像とを取得し、
前記メインストリームに対応して再生される音声を取得し、
前記サブストリームに対応して再生される音声が存在する場合には、前記メインストリームに対応して再生される音声と合成される、前記サブストリームに対応して再生される音声を取得し、
前記メインストリームを再生する時間軸上の位置を示す第１の情報と、
前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、
前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報と
を含むデータ構造を有する再生管理データを生成し、
取得された前記メインストリームの映像および音声、取得された前記サブストリームの映像および音声または前記サブストリームの映像、並びに生成された前記再生管理データを前記記録媒体に記録する
ステップを含む記録媒体の記録方法。
【請求項１４】
再生装置においてコンテンツ再生に用いる再生管理データが記録される記録媒体にデータを記録する処理をコンピュータに実行させるためのプログラムであって、
メインストリームの映像と、サブストリームの映像とを取得し、
前記メインストリームに対応して再生される音声を取得し、
前記サブストリームに対応して再生される音声が存在する場合には、前記メインストリームに対応して再生される音声と合成される、前記サブストリームに対応して再生される音声を取得し、
前記メインストリームを再生する時間軸上の位置を示す第１の情報と、
前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、
前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報と
を含むデータ構造を有する再生管理データを生成し、
取得された前記メインストリームの映像および音声、取得された前記サブストリームの映像および音声または前記サブストリームの映像、並びに生成された前記再生管理データを前記記録媒体に記録する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ生成方法、データ構造、記録装置および方法、並びに、プログラムに関し、特に、ストリームデータを再生する場合に用いて好適な、データ生成方法、データ構造、記録装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
異なったコンテンツを同時視聴するために、複数のコンテンツの映像データをデコードした後、非圧縮の画像データを合成して、その後、Ｄ／Ａ変換を実行し、映像出力端子へ出力して、外部の表示装置に表示させる技術がある（例えば、特許文献１）。
【特許文献１】特開２００５−２０２４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述したように、複数のコンテンツの映像データを合成して表示させる場合のみならず、１つのコンテンツが、複数の映像データを含む場合などにおいても、複数の映像データを合成して出力させることが求められている。
【０００４】
複数の映像データが合成されて出力される場合、主な表示画面に対する副となる表示画面の表示方法を、再生装置に依存させるのではなく、例えば、コンテンツごとに、または、コンテンツの所定の再生箇所ごとに、コンテンツの作成元またはコンテンツの配給元などが設定することは困難であった。
【０００５】
本発明はこのような状況に鑑みてなされたものであり、主な表示画面に対する副となる表示画面の表示方法を指定することができるようにするものである。
【課題を解決するための手段】
【０００６】
本発明のデータ生成方法は、再生装置においてコンテンツ再生に用いる再生管理データを生成するデータ生成方法であって、メインストリームの映像と、サブストリームの映像とを取得し、前記メインストリームに対応して再生される音声を取得し、前記サブストリームに対応して再生される音声が存在する場合には、前記メインストリームに対応して再生される音声と合成される、前記サブストリームに対応して再生される音声を取得し、前記メインストリームを再生する時間軸上の位置を示す第１の情報と、前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報とを含むデータ構造を有する再生管理データを生成するステップを含む。
【０００７】
前記表示状態に関する情報には、前記メインストリームの映像と合成される前記サブストリームの映像の表示位置に関する情報を含むようにすることができる。
【０００８】
前記表示状態に関する情報には、前記メインストリームの映像と合成される前記サブストリームの映像の表示の大きさに関する情報を含むようにすることができる。
【０００９】
前記表示状態に関する情報には、前記メインストリームの映像と合成される前記サブストリームの映像の表示色に関する情報を含むようにすることができる。
【００１０】
前記表示状態に関する情報には、前記メインストリームの映像と合成される前記サブストリームの映像の、原映像に対する合成後の回転角度に関する情報を含むようにすることができる。
【００１１】
前記表示状態に関する情報には、前記メインストリームの映像と合成される前記サブストリームの映像の明るさを示す情報に基づいて実行される、前記メインストリームの映像と、前記サブストリームの映像とを合成する処理に関する情報を含むようにすることができる。
【００１２】
前記サブストリームの映像の明るさを示す情報は、透過処理を行うべき明るさを示す情報の少なくとも１つの閾値であり、前記サブストリームの映像の明るさが、前記閾値以上または以下となる映像部分に対して透過処理を行うことができる。
【００１３】
前記再生管理データには、前記メインストリームに対して前記サブストリームが必ず同時に再生されるか、ユーザから指令されたときのみ前記メインストリームに対して前記サブストリームが同時に再生されるかを示す情報が記載され、前記ユーザから指令されたときのみ前記メインストリームに対して前記サブストリームが同時に再生されることを示す情報が前記再生管理データに記載されている場合、前記ユーザの操作入力に基づいて、前記ユーザから前記サブストリームの再生が指令されたときのみ、前記メインストリームの映像と前記サブストリームの映像とが合成されるようにすることができる。
【００１４】
前記再生管理データには、前記表示状態に関する情報を含むことを示す情報が含まれるようにすることができる。
【００１５】
本発明のデータ生成方法においては、メインストリームの映像と、サブストリームの映像とが取得され、メインストリームに対応して再生される音声が取得され、サブストリームに対応して再生される音声が存在する場合には、メインストリームに対応して再生される音声と合成される、サブストリームに対応して再生される音声が取得され、メインストリームを再生する時間軸上の位置を示す第１の情報と、メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、メインストリームの映像と合成されるサブストリームの映像の表示状態に関する情報とを含むデータ構造を有する再生管理データが生成される。
【００１６】
本発明の第１のデータ構造は、少なくとも１つのストリームを含むメインストリームおよびサブストリームの再生を管理する情報である再生管理情報を含むデータ構造であって、前記再生管理情報には、前記メインストリームを再生する時間軸上の位置を示す第１の情報と、前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報とが含まれているデータ構造であり、前記データ構造を取得した再生装置により、取得された前記データ構造に含まれる前記再生管理情報の前記第１の情報および前記第２の情報を基に、再生される前記メインストリームおよび前記サブストリームを読み出し、取得された前記データ構造に含まれる前記再生管理情報の前記表示状態に関する情報を基に、読み出された前記メインストリームの映像と、前記サブストリームの映像とを合成し、前記メインストリームの映像と、前記サブストリームの映像とが合成される場合であって、前記メインストリームおよび前記サブストリームに対応して再生される音声が存在する場合には、前記第１の情報を基に読み出される前記メインストリームに対応して再生される音声と、前記第２の情報を基に読み出される前記サブストリームに対応して再生される音声とを合成する処理に用いられる。
【００１７】
本発明の第２のデータ構造は、少なくとも１つのストリームを含むメインストリームおよびサブストリームの再生を管理する情報である再生管理情報を含むデータ構造であって、前記再生管理情報には、前記メインストリームを再生する時間軸上の位置を示す第１の情報と、前記メインストリームとは異なるサブストリームであって、前記第１の情報を基に読み出される前記メインストリームの映像と合成される映像と、前記第１の情報を基に読み出される前記メインストリームに対応して再生される音声と合成される音声が存在する場合にはその音声と、を含んでいる前記サブストリームを再生する時間軸上の位置を示す第２の情報と、前記第１の情報を基に読み出される前記メインストリームの映像と合成される、前記第２の情報を基に読み出される前記サブストリームの映像の表示状態に関する情報とが含まれている。
【００１８】
本発明の記録装置は、再生装置においてコンテンツ再生に用いる再生管理データが記録される記録媒体にデータを記録する記録装置において、メインストリームの映像と、サブストリームの映像とを取得する第１の取得手段と、前記メインストリームに対応して再生される音声を取得する第２の取得手段と、前記サブストリームに対応して再生される音声が存在する場合には、前記メインストリームに対応して再生される音声と合成される、前記サブストリームに対応して再生される音声を取得する第３の取得手段と、前記メインストリームを再生する時間軸上の位置を示す第１の情報と、前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報とを含むデータ構造を有する再生管理データを生成する生成手段と、取得された前記メインストリームの映像および音声、取得された前記サブストリームの映像および音声または前記サブストリームの映像、並びに生成された前記再生管理データを前記記録媒体に記録する記録手段とを備える。
【００１９】
本発明の記録方法は、再生装置においてコンテンツ再生に用いる再生管理データが記録される記録媒体の記録方法であって、メインストリームの映像と、サブストリームの映像とを取得し、前記メインストリームに対応して再生される音声を取得し、前記サブストリームに対応して再生される音声が存在する場合には、前記メインストリームに対応して再生される音声と合成される、前記サブストリームに対応して再生される音声を取得し、前記メインストリームを再生する時間軸上の位置を示す第１の情報と、前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報とを含むデータ構造を有する再生管理データを生成し、取得された前記メインストリームの映像および音声、取得された前記サブストリームの映像および音声または前記サブストリームの映像、並びに生成された前記再生管理データを前記記録媒体に記録するステップを含む。
【００２０】
本発明のプログラムは、再生装置においてコンテンツ再生に用いる再生管理データが記録される記録媒体にデータを記録する処理をコンピュータに実行させるためのプログラムであって、メインストリームの映像と、サブストリームの映像とを取得し、前記メインストリームに対応して再生される音声を取得し、前記サブストリームに対応して再生される音声が存在する場合には、前記メインストリームに対応して再生される音声と合成される、前記サブストリームに対応して再生される音声を取得し、前記メインストリームを再生する時間軸上の位置を示す第１の情報と、前記メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、前記メインストリームの映像と合成される前記サブストリームの映像の表示状態に関する情報とを含むデータ構造を有する再生管理データを生成し、取得された前記メインストリームの映像および音声、取得された前記サブストリームの映像および音声または前記サブストリームの映像、並びに生成された前記再生管理データを前記記録媒体に記録するステップを含む。
【００２１】
本発明の記録装置、記録方法、およびプログラムにおいては、メインストリームの映像と、サブストリームの映像とが取得され、メインストリームに対応して再生される音声が取得され、サブストリームに対応して再生される音声が存在する場合には、メインストリームに対応して再生される音声と合成される、サブストリームに対応して再生される音声が取得され、メインストリームを再生する時間軸上の位置を示す第１の情報と、メインストリームとは異なるサブストリームを再生する時間軸上の位置を示す第２の情報と、メインストリームの映像と合成されるサブストリームの映像の表示状態に関する情報とを含むデータ構造を有する再生管理データが生成され、取得されたメインストリームの映像および音声、取得されたサブストリームの映像および音声またはサブストリームの映像、並びに生成された再生管理データが記録媒体に記録される。
【発明の効果】
【００２２】
以上のように、本発明によれば、メインストリームファイルの映像と、サブストリームファイルの映像とを合成することができ、特に、再生管理情報に含まれるサブストリームファイルの映像の表示状態に関する情報を基に、メインストリームファイルの映像と、サブストリームファイルの映像とを合成することができるので、例えば、ピクチャインピクチャ表示における副表示画面の大きさと表示位置は、再生装置の仕様に依存することなく、コンテンツの製作者、または、コンテンツの配給元が、適宜定めることができる。
【００２３】
また、本発明によれば、少なくとも１つのストリームを含むメインストリームファイルの再生を管理する情報である再生管理情報を含むデータ構造を有するデータを提供することができ、特に、再生管理情報に、メインストリームファイルの時間軸上の位置を示す主の再生パスを含む第１の情報と、メインストリームファイルとは異なるサブストリームファイルの副の再生パスを含む第２の情報と、メインストリームファイルの映像と合成されるサブストリームファイルの映像の表示状態に関する情報とを含むデータ構造を有するデータを提供することができるので、例えば、ピクチャインピクチャ表示における副表示画面の大きさと表示位置は、再生装置の仕様に依存することなく、コンテンツの製作者、または、コンテンツの配給元が、適宜定めることができる。
【発明を実施するための最良の形態】
【００２４】
以下、図を参照して、本発明の実施の形態について説明する。
【００２５】
図１は、本発明を適用した再生装置２０（図３５を参照して後述する）に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。記録媒体は、後述する光ディスクの他、磁気ディスクや半導体メモリであってもよい。
【００２６】
アプリケーションフォーマットは、ＡＶ（Audio Visual）ストリームの管理のために、PlayList(プレイリスト)とClip(クリップ)の２つのレイヤを有している。ここでは、１つのＡＶストリームとそれに付随する情報であるClipインフォメーションのペアを１つのオブジェクトと考え、それらをまとめてClipと称する。以下、ＡＶストリームをＡＶストリームファイルとも称する。また、ClipインフォメーションをClipインフォメーションファイルとも称する。
【００２７】
一般的に、コンピュータなどで用いられるファイルはバイト列として扱われるが、ＡＶストリームファイルのコンテンツは時間軸上に展開され、Clipのアクセスポイントは、主に、タイムスタンプでPlayListにより指定される。すなわち、PlayListとClipは、ＡＶストリームの管理のためのレイヤである。
【００２８】
Clip中のアクセスポイントがタイムスタンプでPlayListにより示されている場合、Clip Informationファイルは、タイムスタンプから、ＡＶストリームファイル中のデコードを開始すべきアドレス情報を見つけるために使用される。
【００２９】
PlayListは、ＡＶストリームの再生区間の集まりである。あるＡＶストリーム中の１つの再生区間はPlayItemと呼ばれ、それは、時間軸上の再生区間のＩＮ点（再生開始点）とOUT点（再生終了点）のペアで表される。従って、PlayListは、図１に示されるように１つ、または複数のPlayItemにより構成される。
【００３０】
図１において、左から１番目のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側のClipに含まれるＡＶストリームの前半部分と後半部分がそれぞれ参照されている。また、左から２番目のPlayListは１つのPlayItemから構成され、それにより、右側のClipに含まれるＡＶストリーム全体が参照されている。さらに、左から３番目のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側のClipに含まれるＡＶストリームのある部分と、右側のClipに含まれるＡＶストリームのある部分がそれぞれ参照されている。
【００３１】
例えば、図１のディスクナビゲーションプログラムにより、そのときの再生位置を表す情報として、左から１番目のPlayListに含まれる左側のPlayItemが指定された場合、そのPlayItemが参照する、左側のClipに含まれるＡＶストリームの前半部分の再生が行われる。このように、PlayListは、ＡＶストリームファイルの再生を管理するための再生管理情報として用いられる。
【００３２】
ディスクナビゲーションプログラムは、PlayListの再生の順序や、PlayListのインタラクティブな再生をコントロールする機能を有する。また、ディスクナビゲーションプログラムは、各種の再生の実行をユーザが指示するためのメニュー画面を表示する機能なども有する。このディスクナビゲーションプログラムは、例えば、Java（登録商標）などのプログラミング言語で記述され、記録媒体上に用意される。
【００３３】
本実施の形態では、PlayListの中で、１つ以上のPlayItemの並びによって（連続するPlayItemにより）作られる再生パスをメインパス(Main Path)と称し、PlayListの中で、Main Pathに平行（並列）して、１つ以上のSubPlayItemの並びによって（非連続でもよいし、連続してもよいSubPlayItemにより）作られる再生パスをサブパス（Sub Path）と称する。すなわち、再生装置２０（図３５を参照して後述する）に装着される記録媒体上のアプリケーションフォーマットは、メインパスに関連付けられて（合わせて）再生されるサブパス(Sub Path)をPlayListの中に持つ。
【００３４】
図２は、メインパスとサブパスの構造を説明する図である。PlayListは、１つのメインパスと１つ以上のサブパスを持つことができる。１つのメインパスは、１つ以上のPlayItemの並びによって作られ、１つのサブパスは、１つ以上のSubPlayItemの並びによって作られる。
【００３５】
図２の例の場合、PlayListは、３つのPlayItemの並びにより作られる１つのメインパスと、３つのサブパスを有している。メインパスを構成するPlayItemには、先頭から順番にそれぞれＩＤ（Identification）が付されている。具体的には、メインパスは、PlayItem_id＝０、PlayItem_id＝１、およびPlayItem_id＝２のPlayItemからなる。また、サブパスにも先頭から順番にSubpath_id＝０、Subpath_id＝１、およびSubpath_id＝２、とそれぞれＩＤが付されている。Subpath_id＝０のサブパスには、１つのSubPlayItemが含まれ、Subpath_id＝１のサブパスには、２つのSubPlayItemが含まれ、Subpath_id＝２のサブパスには、１つのSubPlayItemが含まれる。
【００３６】
Subpath_id＝０のサブパスに含まれるSubPlayItemが参照するストリームは、例えば、映画の日本語吹き替えの音声と想定され、Mainpathにより参照されるＡＶストリームファイルのオーディオストリームに替えて再生される場合が考えられる。また、Subpath_id＝１のサブパスに含まれるSubPlayItemが参照するストリームは、例えば、映画のディレクターズカットと想定され、Main Pathにより参照されるＡＶストリームファイルの所定の部分にのみ、映画監督などのコメントが入っている場合が考えられる。
【００３７】
１つのPlayItemが参照するClipＡＶストリームファイルには、少なくともビデオストリームデータ（メイン画像データ）が含まれる。また、ClipＡＶストリームファイルには、ClipＡＶストリームファイルに含まれるビデオストリーム（メイン画像データ）と同じタイミングで（同期して）再生されるオーディオストリームが１つ以上含まれてもよいし、含まれなくてもよい。さらに、ClipＡＶストリームファイルには、ClipＡＶストリームファイルに含まれるビデオストリームと同じタイミングで再生されるビットマップ字幕ストリームが１つ以上含まれてもよいし、含まれなくてもよい。また、ClipＡＶストリームファイルには、ClipＡＶストリームファイルに含まれるビデオストリームと同じタイミングで再生されるインタラクティブグラフィックスストリームが１つ以上含まれてもよいし、含まれなくてもよい。そして、ClipＡＶストリームファイルに含まれるビデオストリームと、ビデオストリームと同じタイミングで再生されるオーディオストリーム、ビットマップ字幕ストリームファイル、またはインタラクティブグラフィックスストリームとは多重化されている。すなわち、１つのPlayItemが参照するClipＡＶストリームファイルには、ビデオストリームデータと、そのビデオストリームに合わせて再生される０個以上のオーディオストリーム、０個以上のビットマップ字幕ストリームデータ、および０個以上のインタラクティブグラフィックスストリームデータとが多重化されている。
【００３８】
すなわち、１つのPlayItemが参照するClipＡＶストリームファイルには、ビデオストリーム、オーディオストリーム、ビットマップ字幕ストリーム、または、インタラクティブグラフィックスストリームなどの、複数の種類のストリームが含まれている。
【００３９】
また、１つのSubPlayItemは、PlayItemが参照するClipＡＶストリームファイルとは異なるストリーム（別ストリーム）のオーディオストリームデータや字幕データを参照する。
【００４０】
メインパスのみを有するPlayListを再生する場合、ユーザによる音声切り替えや字幕切り替えという操作は、そのメインパスが参照するClipに多重化されているオーディオストリームとサブピクチャストリームの中からしか音声や字幕を選択することができない。これに対し、メインパスとサブパスを持つPlayListを再生する場合、そのメインパスが参照するClipＡＶストリームファイルに多重化されているオーディオストリームとサブピクチャストリームに加えて、SubPlayItemが参照するClipのオーディオストリームやサブピクチャストリームを参照することができる。
【００４１】
このように、１つのPlayListの中にSubPathを複数含め、それぞれのSubPathがそれぞれSubPlayItemを参照する構成としたので、拡張性の高い、また、自由度の高いＡＶストリームを実現することができる。すなわち、MainPathで参照されるClipＡＶストリームに加えて、後で、SubPlayItemを追加できる構成とすることができる。
【００４２】
図３は、メインパスとサブパスの例を説明する図である。図３においては、メインパスと同じタイミングで（ＡＶ同期して）再生されるオーディオの再生パスを、サブパスを使用して表している。
【００４３】
図３のPlayListには、メインパスとして、PlayItem_id＝０である１つのPlayItemと、サブパスとして１つのSubPlayItemが含まれている。メインパスのPlayItem_id＝０である１つのPlayItem()は、図３のメインＡＶストリームを参照している。SubPlayItem()には、以下に示すデータが含まれる。まず、SubPlayItem ()には、PlayListの中のSub Path（サブパス）が参照するClipを指定するためのClip_Information_file_nameが含まれる。図３の例の場合、SubPlayItemによって、SubClip_entry_id＝０のAuxiliary audio stream（オーディオストリーム）が参照されている。また、SubPlayItem ()には、Clip（ここでは、Auxiliary audio stream）の中のSub Pathの再生区間を指定するためのSubPlayItem_IN_timeとSubPlayItem_OUT_timeとが含まれる。さらに、SubPlayItem()には、Main pathの時間軸(再生時間軸)上でSub Pathが再生開始する時刻を指定するためのsync_PlayItem_idとsync_start_PTS_of_PlayItemとが含まれる。図３の例の場合、sync_PlayItem_id＝０とされ、sync_start_PTS_of_PlayItem＝ｔ１とされている。これにより、メインパスのPlayItem_id＝０の時間軸(再生時間軸)上でSub Pathが再生を開始する時刻ｔ１を指定することができる。すなわち、図３の例の場合では、メインパスの再生開始時刻ｔ１とサブパスの開始時刻ｔ１が同時刻であることを示している。
【００４４】
ここで、Sub Pathに参照されるオーディオのClip AVストリームは、STC不連続点（システムタイムベースの不連続点）を含んではならない。サブパスに使われるClipのオーディオサンプルのクロックは、メインパスのオーディオサンプルのクロックにロックされている。
【００４５】
換言すると、SubPlayItem（）には、Sub Pathが参照するClipを指定する情報、Sub Pathの再生区間を指定する情報、およびMain pathの時間軸上でSub Pathが再生を開始する時刻を指定する情報が含まれている。Sub Pathに使われるClip AVストリームがSTCを含まないため、SubPlayItem（）に含まれる情報（Sub Pathが参照するClipを指定する情報、Sub Pathの再生区間を指定する情報、およびMain pathの時間軸上でSub Pathが再生を開始する時刻を指定する情報）に基づいて、メインパスが参照するClipＡＶストリーム（メインＡＶストリーム）とは異なるClipＡＶストリームのオーディオストリームを参照して、再生することができる。
【００４６】
このように、PlayItemとSubPlayItemは、ClipＡＶストリームファイルをそれぞれ管理するものであり、ここでは、PlayItemが管理するClipＡＶストリームファイル（メインＡＶストリーム）とSubPlayItemが管理するClipＡＶストリームファイルは異なるファイルとなる。
【００４７】
なお、図３の例と同様にして、メインパスと同じタイミングで再生される字幕ストリーム再生パスを、サブパスを使用して表すこともできる。
【００４８】
図４は、メインパスとサブパスの別の例を説明する図である。図４においては、メインパスと同じタイミングで（ＡＶ同期して）再生されるビデオとオーディオの再生パスを、サブパスを使用して表している。
【００４９】
メインパスのPlayItem−１が参照するストリームファイルは、Clip−０のプライマリ（primary）ビデオストリームおよびプライマリオーディオストリーム、並びに、ＰＧ（Presentation Graphics）ストリームおよびＩＧ（Intaractive Graphics）ストリームの前半部分であり、PlayItem−２が参照するメインＡＶストリームファイルは、Clip−０のプライマリ（primary）ビデオストリームおよびプライマリオーディオストリーム、並びに、ＰＧストリームおよびＩＧストリームの後半である。
【００５０】
そして、サブパスのSubPlayItemが参照するストリームファイルは、Clip-1のセカンダリ（2ndary）ビデオストリームと、セカンダリオーディオストリームである。
【００５１】
例えば、メインパスにより参照されるプライマリ（primary）ビデオストリームおよびプライマリオーディオストリーム、並びに、ＰＧストリームおよびＩＧストリームを１つの映画のコンテンツ（ＡＶコンテンツ）とし、サブパスにより参照されるセカンダリビデオストリームと、セカンダリオーディオストリームをその映画に対して監督がコメントしているボーナストラックとし、メインパスで参照されるビデオおよびオーディオのストリームにサブパスで参照されるビデオおよびオーディオのストリームをミキシング（重ねて）再生するような場合に、このような構成が利用される。
【００５２】
また、セカンダリストリームがプライマリのストリームと同期（必ず同時に再生されるようなプレイリストの設定）していない場合であっても、ユーザが、映画を見ながら、ボーナストラックを合成させて表示させる指令を再生装置（プレーヤ）へ入力した場合に、メインパスで参照されるプライマリストリームの映像および音声と、サブパスで参照されるセカンダリストリームの映像および音声とがミキシングされて再生される場合には、同様にこのような構成が用いられる。
【００５３】
図４においては、メインパスに２つのPlayItemがPlayItem_id＝０，１と配置され、サブパス（Subpath_id＝０）に１つのSubPlayItemが配置されている。そして、SubPath（図１９にて後述する）で呼び出すSubPlayItem（図２１にて後述する）は、Subpathの再生区間を指定するための、SubPlayItem_IN_timeと、SubPlayItem_out_timeを含む。
【００５４】
図４を用いて説明したプライマリビデオ、プライマリオーディオに対して、セカンダリビデオ、セカンダリオーディオが重畳されて再生出力される場合、音声は、合成されて出力され、映像は、図５に示されるように、プライマリビデオが表示される主表示画面１に対して、セカンダリビデオが、所定の位置で所定の大きさの副表示画面２によって重ねあわされて表示される。
【００５５】
なお、図４においては、メインパスによって参照されたものがプライマリストリームであり、サブパスによって参照されたものがセカンダリストリームであるが、プライマリストリームおよびセカンダリストリームは、それぞれ、メインパスによって参照されていても、サブパスによって参照されていてもよい。例えば、プライマリストリームおよびセカンダリストリームがいずれもメインパスによって参照されていてもよいし、プライマリストリームおよびセカンダリストリームがいずれもサブパスによって参照されていてもよい。
【００５６】
すなわち、このような構成は、図５に示されるように、プライマリビデオストリームを主画面として表示させ、主画面の中に、セカンダリストリームを子画面として合成して表示させる、いわゆるPinP（ピクチャインピクチャ：Picture-in-Picture）表示を行う場合に利用することができる。
【００５７】
図６は、再生装置２０（図３５を参照して後述する）において再生可能なデータファイルのファイルシステムの例を示す図である。図６には、一例として、再生装置２０において再生可能なデータファイルが光ディスクなどの記録媒体によって供給されている場合を示しており、このファイルシステムはディレクトリ構造を有している。なお、再生装置２０において再生可能なデータファイルが光ディスク以外の記録媒体に記録されて供給されている場合や、内部の記録媒体に記録され再生される場合などにおいても、再生装置２０において再生可能なデータファイルは、図６に示されるようなファイルシステムを有すると好適である。
【００５８】
このファイルシステムにおいて、「root」の下には「BDMV」の名前が設定されたディレクトリが用意され、そのディレクトリに、「Index.bdmv」の名前が設定されたファイルと、「NavigationObject.bdmv」の名前が設定されたファイルが格納されている。以下、適宜、これらのファイルをそれぞれIndexファイル、NavigationObjectファイルと称する。また、適宜、各ファイルについては、「ファイル名」に「ファイル」を付加した形で、または、各ディレクトリについては、「ディレクトリ名」に「ディレクトリ」を付加した形で称する。
【００５９】
Indexファイルは、上述したインデックステーブルが記載されたファイルであり、再生装置２０において再生可能なデータファイルを再生するメニューに関する情報を含む。再生装置２０は、例えば、再生装置２０において再生可能なデータファイルに含まれるコンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面をIndexファイルに基づいて、表示装置に表示させる。Indexファイルのインデックステーブルには各項目が選択されたときに実行するNavigationObjectを設定することができ、ユーザにより再生メニュー画面から１つの項目が選択された場合、再生装置２０はIndexファイルのインデックステーブルに設定されているNavigationObjectのコマンドを実行する。
【００６０】
NavigationObjectファイルは、NavigationObjectを含むファイルである。NavigationObjectは、再生装置２０において再生可能なデータファイルに含まれているPlayListの再生を制御するコマンドを含み、例えば、再生装置２０は、このファイルシステムに含まれているNavigationObjectの中から１つを選択して、実行することにより、コンテンツを再生させることができる。
【００６１】
BDMVディレクトリにはまた、「BACKUP」の名前が設定されたディレクトリ（BACKUPディレクトリ）、「PLAYLIST」の名前が設定されたディレクトリ（PLAYLISTディレクトリ）、「CLIPINF」の名前が設定されたディレクトリ（CLIPINFディレクトリ）、「STREAM」の名前が設定されたディレクトリ（STREAMディレクトリ）、「AUXDATA」の名前が設定されたディレクトリ（AUXDATAディレクトリ）が設けられている。
【００６２】
BACKUPディレクトリには、再生装置２０において再生可能なファイルやデータをバックアップするためのファイルやデータが記録される。
【００６３】
PLAYLISTディレクトリには、PlayListファイルが格納される。各PlayListファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.mpls」を付加した名称が命名される。PlayListファイルについては、図７を用いて後述する。
【００６４】
CLIPINFディレクトリには、Clip Informationファイルが格納される。各Clip Informationファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.clpi」を付加した名称が命名される。
【００６５】
STREAMディレクトリには、Clip ＡＶストリームファイルやサブストリームファイルが格納される。各ストリームファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.m2ts」を付加した名称が命名される。
【００６６】
AUXDATAディレクトリには、Clip ＡＶストリームファイルやサブストリームファイルに含まれずに、Clip ＡＶストリームファイルやサブストリームファイルから参照されるデータや、Clip ＡＶストリームファイルやサブストリームファイルとは独立して利用されるデータなどのファイルが格納される。図６の例においては、AUXDATAディレクトリには、「11111.otf」の名前がつけられている字幕のフォントのファイル、「sound.bdmv」の名前が設定された効果音などのサウンドデータが格納されている。
【００６７】
また、再生装置２０において再生可能なデータファイルが光ディスクによって配布されている場合、例えば、製作会社や映画の配給会社など、このコンテンツ製作元や、または、この記録媒体の供給元であるタイトルオーサを識別するために各タイトルオーサに割り当てられた識別子であるauthor_id、および、author_idに示されるタイトルオーサにおいて製作された光ディスクの種類を識別するために割り当てられた識別子であるdisc_idが、ユーザなどにより書き換えることができないセキュアな電子データとして、または、物理的にピットによって記録されている。
【００６８】
また、再生装置２０において再生可能なデータファイルが光ディスク以外のリムーバブルな記録媒体に記録されている場合や、ネットワークを介してダウンロードされ、再生装置内部の記録媒体に記録されていたり、内部の記憶部に記憶されている場合も、author_id、および、author_idに相当するidが割り当てられてそれぞれ区別可能なようになされ、図６に示す場合と同様のディレクトリ構造を有していると好適である。また、再生装置２０において再生可能なデータファイルには、author_id、および、author_idに相当するidが割り当てられていないとしても、図６を用いて説明した場合と同様に、「Index.bdmv」の名前が設定されたファイル、「NavigationObject.bdmv」の名前が設定されたファイルが含まれており、「BACKUP」の名前が設定されたファイル群、「PLAYLIST」の名前が設定されたファイル群、「CLIPINF」の名前が設定されたファイル群、「STREAM」の名前が設定されたファイル群、「AUXDATA」の名前が設定されたファイル群のうち、適宜必要なファイル群が含まれている。
【００６９】
次に、図２乃至図４を用いて説明したメインパスとサブパスの構造を具体的に実現するための、図６を用いて説明したそれぞれのファイルのデータ構造（シンタクス）を説明する。
【００７０】
図７に、PLAYLISTディレクトリに格納される、拡張子「.mpls」を有するPlayListファイルのデータ構造を示す。
【００７１】
type_indicatorは、このファイルの種類を示す情報が記載されているものであり、このフィールドには、ISO646に従って、”MPLS”と符号化されなくてはならない。
【００７２】
version_numberは、このxxxxx.mplsのバージョンナンバを示す４個のキャラクター文字を示すものであり、vesrion_numberはISO”0089”と符号化されなければならない。
【００７３】
PlayList_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayList()の先頭アドレスを示すものである。
【００７４】
PlayListMark_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayListMark()の先頭アドレスを示すものである。
【００７５】
PlayListEntsnsionData_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayListEntsnsionData()の先頭アドレスを示すものである。
【００７６】
AppInfoPlayList()には、PlayListの再生コントロールに関するパラメータが格納されている。
【００７７】
PlayList()には、PlayListのメインパスやサブパスなどに関するパラメータが格納されている。PlayList()の詳細は、図１８を用いて後述する。
【００７８】
PlayListMark()には、PlayListのマーク情報が格納されている。また、PlayListExtensionData()の中には、プライベートデータが挿入できるようになっている。
【００７９】
図８に、PlayListExtensionData()のシンタクスを示す。
【００８０】
Lengthは、このlengthフィールドの直後からPlayListExtensionData()の最後までのPlayListExtensionData()のバイト数を示すものである。
【００８１】
data_block_start_addressは、PlayListExtensionData()の先頭のバイトからの相対バイト数を単位として、最初のdata_block()の先頭アドレスを示すものである。
【００８２】
number_of_PL_ext_data_entriesは、PlayListExtensionData()の中に含まれているPlayListExtensionDataのエントリー数を示すものである。PlayListExtensionData()内には、同じIDが２個以上存在してはならない。
【００８３】
ID1/ID2には、このPlayListExtensionData()のdata_blockに記載される情報の種類を識別することができる情報（識別子など）が記載される。
【００８４】
PL_ext_data_start_addressは、そのPlayListExtensionDataが開始されるdata_blockの番号を示すものである。PlayListExtensionDataの先頭データは、 data_blockの先頭にアラインされなければならない。
【００８５】
PL_ext_data_lengthは、バイト単位でPlayListExtensionDataの大きさを示すものである。
【００８６】
data_blockは、PlayListExtensionDataが格納される領域であり、PlayListExtensionData()内の全てのdata_blockは、同じサイズでなければならない。
【００８７】
そして、data_blockには、図５を用いて説明したセカンダリビデオが表示される副表示画面２の表示位置や大きさを示す情報を記載することができる。data_blockには、ピクチャインピクチャ（Picture-in-Picture）の表示設定を示すメタデータを記載することができる。
【００８８】
図９に、data_blockに記載されるpip_metadata（Picture-in-Pictureの表示設定を示すメタデータ）のシンタクスの第１の例を示す。
【００８９】
lengthは、このlengthフィールドの直後からpip_metadata()の最後までのpip_metadata()のバイト数を示すものである。
【００９０】
pip_metadata_typeのフィールドは、pip_metadataの種類を示すものである。図１０に示されるように、pip_metadata_type=0x01の場合、このpip_metadata()によりピクチャインピクチャ表示が指定されるセカンダリビデオストリームは同期型、すなわち、Main PathのPlayItemの時間軸(再生時間軸)に同期して再生されるので、プライマリストリームに対して、セカンダリストリームが同期して常に再生出力される。また、pip_metadata_type=0x02の場合、このpip_metadata()によりピクチャインピクチャ表示が指定されるセカンダリビデオストリームは非同期型、すなわち、Sub PathのSubPlayItemの時間軸に同期して再生されるが、Main PathのPlayItemの時間軸には同期しなくてもよいので、ユーザの操作入力により、セカンダリストリームの表示が指令された場合のみ、セカンダリストリームが再生出力されるようになされている。
【００９１】
すなわち、pip_metadata_type = 0x02で、「SubPlayItemに同期する」とは、このpip_metadata()によりピクチャインピクチャ表示が指定されるセカンダリビデオストリームは、main pathの時間軸とは非同期であるが、Sub Pathの時間軸には同期しているという意味である。すなわち、pip_metadata_type = 0x02である場合のpip_metadata()は、ユーザのアクション（操作入力）によってセカンダリビデオの表示がスタートした瞬間を基準に考えた場合のSubPlayItem再生中の副表示画面２の表示位置および大きさを示すものである。
【００９２】
ref_to_PlayItem / SubPath_idは、pip_metadataが適応されるPlayItemのPlayItem_idの値を示すか、または、pip_metadataが適応されるSubPlayItemのSubPath_idの値を示すものである。すなわち、このpip_metadata()によりピクチャインピクチャ表示が指定されるセカンダリビデオストリームがMain Pathと同期する場合（pip_metadata_type=0x01である場合）、ref_to_PlayItmとなり、このpip_metadata()によりピクチャインピクチャ表示が指定されるセカンダリビデオストリームがSub Pathと同期する場合（pip_metadata_type=0x02である場合）、ref_to_SubPath_idとなる。
【００９３】
pip_metadata_time_stampは、pip_metadataが適応されるPlayItemのタイムスタンプであり、pip_metadata_time_stampに示されるタイミングでpip_metadata()により指定される表示位置および大きさで、セカンダリビデオストリームの映像が副表示画面２に表示される。
【００９４】
すなわち、pip_metadata_time_stampは、ref_to_PlayItem/SubPath_idで参照されるPlayItemのIn_time/Out_timeの間にあるpresentation-timeを指す必要がある。そして、このpip_metadata()によりピクチャインピクチャ表示が指定されるセカンダリビデオストリームがSub Pathと同期の場合（すなわち、pip_metadata_type=0x02のとき）には、SubPlayItemの時間軸のなかでpip_metadata_time_stampに示されるタイミングでpip_metadata()により指定される表示位置および大きさで、セカンダリビデオストリームの映像が副表示画面２に表示される。
【００９５】
pip_entry_video_PIDは、ピクチャインピクチャ表示に用いられるセカンダリビデオのPIDの値を示すものである。
【００９６】
pip_horizontal_positionは、プライマリビデオのフレーム（図５の主表示画面１）上において、セカンダリビデオが表示される副表示画面２の左上隅のX座標を示すものである。また、pip_vertical_positionは、プライマリビデオのフレーム（図５の主表示画面１）上において、セカンダリビデオが表示される副表示画面２の左上隅のY座標を示すものである。
【００９７】
なお、例えば、副表示画面２の右下隅のX座標およびY座標の指定や、あらかじめ定められた複数の表示位置のうちのいずれかを指定するなど、pip_horizontal_positionおよびpip_vertical_positionによる副表示画面２の左上隅のX座標およびY座標の指定以外の方法によって、セカンダリビデオが表示される副表示画面２の表示位置を指定するようにしてもよいことはもちろんである。
【００９８】
pip_scaleは、セカンダリビデオが表示される副表示画面２の大きさを示す情報が記載されるフィールドであり、例えば、プライマリビデオに対するセカンダリビデオの大きさの比率、セカンダリビデオのオリジナルの画像の大きさに対する縮小率、または、副表示画面２を構成する画素が、縦横それぞれ何画素で構成されているかを示す情報などが記載される。
【００９９】
図１０に、図９のpip_metadata_typeの値とその意味を示す。
【０１００】
pip_metadata_type=0x00は、将来の拡張のために意味が未設定とされている値である。pip_metadata_type=0x01の場合、このpip_metadata()は同期型、すなわち、Main PathのPlayItemの時間軸に同期しているので、プライマリストリームに対して、セカンダリストリームが同期して常に再生出力されるものであり、pip_metadata_type=0x02の場合、このpip_metadata()は非同期型、すなわち、Sub PathのSubPlayItemの時間軸に同期するようになされているので、ユーザの操作入力により、セカンダリストリームの表示が指令された場合のみ、セカンダリビデオストリームの映像が副表示画面２に再生出力されるようになされているものである。また、pip_metadata_typeの上述した３つの値以外は、将来の拡張のために意味が未設定とされている。
【０１０１】
図１１に、data_blockに記載されるpip_metadataのシンタクスの、図９における場合と異なる第２の例を示す。なお、図９における場合と同一名称で同一定義のデータフィールドに関する説明は適宜省略する。
【０１０２】
number_of_pip_entriesは、ピクチャインピクチャのアプリケーション数を示すフィールドである。
【０１０３】
Synchronous_PIP_metadata_flagは、ピクチャインピクチャのアプリケーション（すなわち、セカンダリビデオストリーム）がどのパスに同期するかを示すものである。すなわち、Synchronous_PIP_metadata_flagの値が０'の場合、このピクチャインピクチャのアプリケーションは、SubPathに同期するものであり、ref_to_PlayItem / SubPath_id では、ref_to_SubPath_idが登録される。これに対して、Synchronous_PIP_metadata_flagの値が１'の場合、このピクチャインピクチャのアプリケーションは、MainPathに同期するものであり、ref_to_PlayItem / SubPath_id では、ref_to_PlayItemが登録される。
【０１０４】
すなわち、図１１のSynchronous_PIP_metadata_flagは、図９を用いて説明したpip_metadataにおけるpip_metadata_type（図１０）とほぼ同一の内容を定義するための情報である。
【０１０５】
number_of_pip_metadata_entriesは、ref_to_PlayItem/ref_to_SubPath_idのVideoストリームのためのPinP Metadataの総数を示すフィールドである。
【０１０６】
pip_metadata_typeは、このピクチャインピクチャのメタデータの種類を示すものであり、例えば、セカンダリビデオストリームが表示される副表示画面２の位置と大きさを示す情報以外に、例えば、セカンダリビデオストリームの原映像に対して表示される映像の回転や色の指定などに関する情報を記載することができるものである。
【０１０７】
すなわち、図１１のpip_metadata_typeは、図９を用いて説明したpip_metadataにおけるpip_metadata_typeとは定義の異なる情報である。
【０１０８】
また、図１２に、data_blockに記載されるpip_metadataのシンタクスの、図９および図１１における場合と異なる第３の例を示す。
【０１０９】
Lengthは、このlengthフィールドの直後からpip_metadata()の最後までのpip_metadata()のバイト数を示す情報が記載されるフィールドである。
【０１１０】
number_of_metadata_block_entriesは、pip_metadata()の中に含まれているmetadata blockのエントリー数を示す情報が記載されるフィールドである。
【０１１１】
metadata_block_header[k]()には、metadata blockに関連するヘッダー情報を含む情報が記載される。
【０１１２】
ref_to_PlayItem_id[k]は、pip_metadataが適用されるPlayItemのPlayItem_idの値を示す情報が記載されるフィールドである。
【０１１３】
ref_to_secondary_video_stream_id[k]は、pip_metadataが適用されるセカンダリビデオのidで、ref_to_PlayItem_idによって参照されるPlayItem内のSTN_table（図２２にて後述する）で定義されているsecondary_video_stream_idの値を示す情報が記載されるフィールドである。
【０１１４】
pip_timeline_type[k]は、pip_metadata_time_stampが参照する時間軸のタイプを表す情報が記載されるフィールドである。なお、pip_timeline_type[k]の値とその意味については後述する。
【０１１５】
is_luma_keyは、このフラグが１にセットされている場合は、luma-keyingがlower_limit_luma_keyとupper_limit_luma_keyの値に従って、セカンダリビデオストリームに適用される。
【０１１６】
lower_limit_luma_keyは、luma keyingのためのセカンダリビデオの輝度値の下限を示す情報が記載されるフィールドである。
【０１１７】
upper_limit_luma_keyは、luma keyingのためのセカンダリビデオの輝度値の上限を示す情報が記載されるフィールドである。
【０１１８】
ここでluma keyingとは、明るさ（輝度値）の成分差を利用して不要な部分を切り抜いた画像を、映像に重ねて合成することを意味する。すなわち、is_luma_keyのフラグが１に設定されている場合には、lower_limit_luma_keyとupper_limit_luma_keyで定義された、輝度値の下限から上限までの範囲で指定された輝度値を持つ画像を透明に設定することにより、この明るさ情報で指定された範囲の画像が取り除かれたセカンダリビデオがプライマリビデオに重ねて合成される。
【０１１９】
これにより、必要最小限のセカンダリビデオを表示することで、セカンダリビデオの不要な部分によって、プライマリビデオが見にくくなるのを防止することができるのに加え、セカンダリビデオとプライマリビデオの合成をより柔軟に行うことができる。
【０１２０】
また、この実施例では、lower_limit_luma_keyとupper_limit_luma_keyとの２つの閾値を用いることにより、透明に設定できるとして説明したが、本発明はそれに限らず、閾値をどちらか一方にすることにより、輝度値が、例えば、upper_limit_luma_key以下またはlower_limit_luma_key以上となる部分のみを透明に設定するなどとしてもよい。
【０１２１】
metadata_block_data_start_address[k]は、pip_metadata()の先頭のバイトからの相対バイト数を単位として、最初のmetadata_block_data[k]()の先頭アドレスを示す情報が記載されるフィールドである。なお、pip_metadata()内にエントリーされているmetadata_block_data_start_address[k]は、アドレス値の照準で登録されていなければならない。
【０１２２】
padding_wordには、metadata_block_data_start_address[k]の値によって、padding wordが挿入される。
【０１２３】
metadata_block_data[k]()には、metadata blockのデータ情報を含む情報が記載される。
【０１２４】
number_pip_metadata_entries[k]は、metadata_block_dataにあるpip_metadataの総数を示す情報が記載されるフィールドである。
【０１２５】
pip_metadata_time_stamp[i]は、pip_metadataが適用される時間を表す、例えば、45kHzのタイムスタンプを含む情報が記載されるフィールドである。なお、連続する２つのpip_metadata_time_stampの最小間隔は1秒である。なお、pip_timeline_typeの値に応じたpip_metadata_time_stampの意味については、後述する。
【０１２６】
pip_composition_metadata()は、プライマリビデオのフレームの大きさや位置などに関する情報が記載されるフィールドである。
【０１２７】
pip_horizontal_position[i]は、プライマリビデオのフレーム（図５の主表示画面１）上において、セカンダリビデオが表示される副表示画面２の左上隅のX座標を示すものである。pip_vertical_position[i]は、プライマリビデオのフレーム（図５の主表示画面１）上において、セカンダリビデオが表示される副表示画面２の左上隅のY座標を示すものである。
【０１２８】
pip_scale[i]は、図１３に示すように、セカンダリビデオのオリジナルの画像の大きさに対する縮小率を、１倍、１／２倍、１／４倍、１．５倍、またはfull Screen(セカンダリビデオが図５の主表示画面１の全画面に表示される)にする情報が記載されるフィールドである。
【０１２９】
なお、pip_metadata_time_stamp[i]のpip_composition_metadata()は、pip_metadata_time_stamp[i]からpip_metadata_time_stamp[i+1]のintervalの間、有効になる。ただし、最後のpip_compositoin_metadataの有効intervalは、最後のpip_metadata_time_stampから、ref_to_secondary_video_stream_id[k]によって示されるSubPathのpresentation end timeまでとなる。
【０１３０】
次に、図１４を参照してpip_timeline_typeの値とその意味を説明し、図１５乃至図１７を参照してpip_timeline_typeの値に応じたpip_metadata_time_stampの意味を説明する。
【０１３１】
pip_timeline_type=０は、将来の拡張のために意味が未設定とされている値である。
【０１３２】
pip_timeline_type=１は、ピクチャインピクチャプレゼンテーションパスは同期型のタイプであることを意味する。このときref_to_secondary_video_stream_idで指し示されているSubpathのタイプは、５または７でなければならない（Subpathのタイプの詳細は、図２０にて後述する）。
【０１３３】
pip_metadata_time_stampはこのとき、図１５に示すように、ref_to_PlayItem_idのPlayItemの時間軸を参照し、関連付けられたSubPlayItemの再生区間を示している。すなわちSubPlayItemの再生区間はref_to_PlayItem_id[k]で参照されるPlayItemの時間軸に投影される。pip_metadata_time_stamp[0]は、SubPath内のSubPlayItem[0]の再生区間の先頭を示している。
【０１３４】
pip_timeline_type=２は、ピクチャインピクチャプレゼンテーションパスは非同期型のタイプであることを意味する。このときref_to_secondary_video_stream_idで指し示されているSubpathのタイプは、６でなければならない。この場合SubPath_type=６のSubPathには１つのSubPlayItemしか含まれていない。
【０１３５】
pip_metadata_time_stampはこのとき、図１６に示すように、Subpathの時間軸を参照し、ref_to_secondary_video_stream_id[k]によって示されるSubPathのSubPlayItemの再生区間を示している。pip_metadata_time_stamp[0]は、SubPlayItemの再生区間の先頭を示している。
【０１３６】
pip_timeline_type=３は、ピクチャインピクチャプレゼンテーションパスは非同期型のタイプであることを意味する。このときref_to_secondary_video_stream_idで指し示されているSubpathのタイプは、６でなければならない。
【０１３７】
pip_metadata_time_stampはこのとき、図１７に示すように、ref_to_PlayItem_idのPlayItemの時間軸を参照し、ref_to_PlayItem_id[k]のPlayItemの再生区間を示している。pip_metadata_time_stamp[0]は、ref_to_PlayItem_id[k]のPlayItemの再生区間の先頭を示している。
【０１３８】
図１８は、PlayList()のシンタクスを示す図である。
【０１３９】
lengthは、このlengthフィールドの直後からPlayList()の最後までのバイト数を示す３２ビットの符号なし整数である。すなわち、reserved_for_future_useからPlaylistの最後までのバイト数を示すフィールドである。このlengthの後には、１６ビットのreserved_for_future_useが用意される。number_of_PlayItemsは、PlayListの中にあるPlayItemの数を示す１６ビットのフィールドである。例えば、図２の例の場合PlayItemの数は３個である。PlayItem_idの値は、PlayListの中でPlayItem()が現れる順番に０から割り振られる。例えば、図２および図４に示されるように、PlayItem_id＝０，１，２が割り振られる。
【０１４０】
number_of_SubPathsは、PlayListの中にあるSubPathの数（エントリー数）を示す１６ビットのフィールドである。例えば、図２の例の場合、Sub Pathの数は３個である。SubPath_idの値は、PlayListの中でSubPath()が現れる順番に０から割り振られる。例えば、図２に示されるように、Subpath_id＝０，１，２が割り振られる。その後のfor文では、PlayItemの数だけPlayItemが参照され、Sub Pathの数だけ、Sub Pathが参照される。
【０１４１】
図１９は、SubPath()のシンタクスを示す図である。
【０１４２】
lengthは、このlengthフィールドの直後からSub Path ()の最後までのバイト数を示す３２ビットの符号なし整数である。すなわち、reserved_for_future_useからPlaylistの最後までのバイト数を示すフィールドである。このlengthの後には、８ビットのreserved_for_future_useが用意される。SubPath_typeは、SubPathのアプリケーション種類を示す８ビットのフィールドである。SubPath_typeは、例えば、Sub Pathがオーディオであるか、ビットマップ字幕であるか、テキスト字幕であるかなどの種類を示す場合に利用される。このSubPath_typeについては、図２０を参照して後述する。SubPath_typeの後には、１５ビットのreserved_for_future_useが用意される。is_repeat_SubPathは、SubPathの再生方法を指定する１ビットのフィールドであり、メインパスの再生の間にSubPathの再生を繰り返し行うか、またはSubPathの再生を１回だけ行うかを示すものである。例えば、メインＡＶストリームとサブパスが指定するClipの再生タイミングが異なる場合（メインパスを静止画のスライドショーとし、サブパスのオーディオパスをメインパスのBGM(バックグラウンドミュージック)として使う場合など）に利用される。Is_repeat_SubPathの後には、８ビットのreserved_for_future_useが用意される。number_of_SubPlayItemsは、１つのSubPathの中にあるSubPlayItemの数（エントリー数）を示す８ビットのフィールドである。例えば、number_of_SubPlayItemsは、図２のSubPath_id＝０のSubPlayItemは１個であり、SubPath_id＝１のSubPlayItemは２個である。その後のfor文では、SubPlayItemの数だけ、SubPlayItemが参照される。
【０１４３】
図２０は、SubPath_type（サブパスのタイプ）の例を説明する図である。すなわち、SubPathの種類は、例えば、図２０に示されるように定義されている。
【０１４４】
また、それぞれのサブパスタイプのうち、「Out-of-mux・・・type」という記述は、サブパスで参照されるＥＳ（エレメンタリストリーム）が含まれるＴＳ（トランスポートストリーム）、すなわち、Clipと、メインパスで参照されるプレイアイテム（１以上のＥＳ）が含まれるＴＳ(Clip)とが異なっている場合のサブパスのタイプ（種類）、すなわち、サブパスで参照されるＥＳが、メインパスで参照されるプレイアイテムが含まれるＴＳ(Clip)に多重化されていないサブパスのタイプ（種類）であることを示している。以下、かかる種類を、メインパス非多重型のパスと称する。
【０１４５】
図２０において、SubPath_type＝０，１は、reservedとされている。SubPath_type＝２は、Audio presentation path of the Browsable slideshow（プラウザブルスライドショーのオーディオプレゼンテーションパス）とされている。例えば、SubPath_type＝２は、プレイリストの中において、サブパスで参照されるオーディオプレゼンテーションパスと、プレイアイテムで参照されるメインパスとが非同期であることを示している。
【０１４６】
SubPath_type＝３は、Interactive graphics presentation menu（インタラクティブグラフィックスのプレゼンテーションメニュー）とされている。例えば、SubPath_type＝３は、プレイリストの中において、サブパスで参照されるインタラクティブグラフィックスのメニューと、プレイアイテムで参照されるメインパスとが非同期であることを示している。
【０１４７】
SubPath_type＝４は、Text subtitle presentation path（テキスト字幕のプレゼンテーションパス）とされている。例えば、SubPath_type＝４は、プレイリストの中において、サブパスで参照されるテキスト字幕のプレゼンテーションパスと、プレイアイテムで参照されるメインパスとが同期していることを示している。
【０１４８】
ここで、SubPath_type＝２，３のように、メインパスで参照されるＥＳとサブパスで参照されるＥＳとが非同期である場合、そのサブパスのタイプ（種類）を、以下、非同期型のパスと称する。一方、SubPath_type＝４のように、メインパスで参照されるＥＳとサブパスで参照されるＥＳとが同期する場合、そのサブパスのタイプ（種類）を、以下、同期型のパスと称する。
【０１４９】
SubPath_type＝５は、Out-of-mux and AV Synchronized type of one or more elementary streams path(Primary audio/PG/IG/Secondary audio path).Out of mux and AV synchronized type of Picture-in-Picture presentation path which contains one or more elementary streams pathsとされている。すなわち、SubPath_type＝５は、メインパスＴＳ非多重型、かつ、同期型のパスであって、１本以上のＥＳ(Primary audio/PG/IG/Secondary audio)のパスや、ピクチャインピクチャプレゼンテーションパスとされている。
【０１５０】
ここで、ピクチャインピクチャプレゼンテーションパスとは、上述したピクチャインピクチャの手法において、所定のプライマリビデオストリーム（メインパスで参照されるビデオストリーム）についての、プライマリオーディオストリームストリーム、セカンダリビデオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームのうちの１以上のパス（そのようなサブパスのタイプ）であることをいう。
【０１５１】
SubPath_type＝６は、Out-of-mux and AV non-Synchronized type of Picture-in-Picture presentation path which contains one or more elementary streams pathsとされている。すなわち、SubPath_type＝６は、メインパスＴＳ非多重型、かつ、非同期型のパスであって、ピクチャインピクチャプレゼンテーションパス（１以上のＥＳのパス）とされている。
【０１５２】
SubPath_type＝７は、In-mux type and AV Synchronized type of Picture-in-Picture presentation path which contains one or more elementary streams pathsとされている。
【０１５３】
ここで、「In-mux type」という記述は、サブパスで参照されるＥＳが含まれるＴＳ(Clip)と、メインパスで参照されるプレイアイテム（１以上のＥＳ）が含まれるＴＳ(Clip)とが同一の場合のサブパスのタイプ（種類）、すなわち、サブパスで参照されるＥＳが、メインパスで参照されるプレイアイテムが含まれるＴＳ(Clip)に多重化されているサブパスのタイプ（種類）であることを示している。以下、かかる種類を、メインパス多重型のパスと称する。
【０１５４】
すなわち、SubPath_type＝７は、メインパスＴＳ多重型、かつ、同期型のパスであって、ピクチャインピクチャプレゼンテーションパス（１以上のＥＳのパス）とされている。
【０１５５】
SubPath_type＝８乃至２５５は、reservedとされている。
【０１５６】
図２１は、SubPlayItem(i)のシンタクスを示す図である。
【０１５７】
lengthは、このlengthフィールドの直後からSub playItem ()の最後までのバイト数を示す１６ビットの符号なし整数である。
【０１５８】
図２１においては、SubPlayItemが１つのClipを参照する場合と、複数のClipを参照する場合に分けられている。
【０１５９】
最初に、SubPlayItemが１つのClipを参照する場合について説明する。
【０１６０】
SubPlayItemには、Clipを指定するためのClip_Information_file_ name[0]が含まれる。また、Clipのコーデック方式を指定するClip_codec_identifier［0］、reserved_for_future_use、マルチクリップの登録の有無を示すフラグであるis_multi_Clip_entries、STC不連続点（システムタイムベースの不連続点）に関する情報であるref_to_STC_id［0］を含む。is_multi_Clip_entriesのフラグが立っている場合、SubPlayItemが複数のClipを参照する場合のシンタクスが参照される。また、Clipの中にあるSub Pathの再生区間を指定するためのSubPlayItem_IN_timeとSubPlayItem_OUT_timeを含む。さらに、main pathの時間軸上でSub Pathが再生開始する時刻を指定するためsync_PlayItem_id と sync_start_PTS_of_PlayItemを含む。このsync_PlayItem_id と sync_start_PTS_of_PlayItemは、上述したように、図３と図４の場合（メインＡＶストリームとサブパスにより示されるファイルの再生タイミングが同じである場合）に使用され、メインＡＶストリームとサブパスにより示されるファイルの再生タイミングが異なる場合（例えば、静止画により構成されるスライドショーのBGMのように、メインパスにより参照される静止画像とサブパスにより参照されるオーディオとが同期しない場合）には使用されない。また、SubPlayItem_IN_time、SubPlayItem_OUT_time、sync_PlayItem_id、sync_start_PTS_of_PlayItemは、SubPlayItemが参照するClipにおいて共通に使用される。
【０１６１】
次に、SubPlayItemが複数のClipを参照する場合（if（is_multi_Clip_entries＝＝１ｂ）である場合、すなわちマルチクリップの登録が行われている場合）について説明する。具体的には、図４に示されるように、SubPlayItemが複数のClip を参照する場合を示す。
【０１６２】
num_of_Clip_entriesは、Clipの数を示しており、Clip_Information_file_name[SubClip_entry_id]の数が、Clip_Information_file_ name[0]を除く、Clipsを指定する。すなわち、Clip_Information_file_ name[0]を除く、Clip_Information_file_ name[１]、Clip_Information_file_ name[２]などのClipを指定する。また、SubPlayItemは、Clipのコーデック方式を指定するClip_codec_identifier[SubClip_entry_id]、STC不連続点（システムタイムベースの不連続点）に関する情報であるref_to_STC_id[SubClip_entry_id]、およびreserved_for_future_useを含む。
【０１６３】
なお、複数のClipの間で、SubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemは共通して使われる。図４の例の場合、SubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemは、SubClip_entry_id＝０とSubClip_entry_id＝１との間で共通して使用されるものであり、選択されたSubClip_entry_idに対するText based subtitleがこのSubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemに基づいて再生される。
【０１６４】
ここで、SubClip_entry_idの値は、SubPlayItemの中にあるClip_Information_file_name[SubClip_entry_id]が現れる順番に１から割り振られる。また、Clip_Information_file_ name[0]のSubClip_entry_idは０である。
【０１６５】
図２２は、PlayItem()のシンタクスを示す図である。
【０１６６】
lengthは、このlengthフィールドの直後からPlayItem()の最後までのバイト数を示す１６ビットの符号なし整数である。Clip_Information_file_ name[0]は、PlayItemが参照するClipを指定するためのフィールドである。図３の例の場合、Clip_Information_file_ name[0]により、メインＡＶストリームが参照される。また、Clipのコーデック方式を指定するClip_codec_identifier［0］、reserved_for_future_use、is_multi_angle、connection_condition、STC不連続点（システムタイムベースの不連続点）に関する情報であるref_to_STC_id［0］を含む。さらに、Clipの中のPlayItemの再生区間を指定するためのIN_time と OUT_timeを含む。図３の例の場合、IN_time と OUT_timeにより、メインClipＡＶストリームファイルの再生範囲が表される。また、UO_mask_table()、PlayItem_random_access_mode、still_modeを含む。is_multi_angleが複数ある場合については、本発明と直接的には関係ないのでその説明を省略する。
【０１６７】
PlayItem()の中のSTN_table()は、対象のPlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、ユーザによる音声切り替えや字幕切り替えという操作が、そのPlayItemが参照するClipとこれらの１つ以上のSubPathが参照するClipsの中から選ぶことができる仕組みを提供するものである。また、STN_table()は、２つのオーディオストリームのミキシング再生を選ぶことができる仕組みを提供するものである。
【０１６８】
図２３は、STN_table()のシンタクスの第１の例を示す図である。STN_table()は、PlayItemの属性として設定されている。
【０１６９】
lengthは、このlengthフィールドの直後からSTN_table()の最後までのバイト数を示す１６ビットの符号なし整数である。lengthの後には、１６ビットのreserved_for_future_useが用意される。number_of_video_stream_entriesは、STN_table()の中でエントリーされる（登録される）video_stream_idが与えられるストリーム数を示す。video_stream_idは、ビデオストリームを識別するための情報であり、video_stream_numberは、ビデオ切り替えに使われる、ユーザから見えるビデオストリーム番号である。
【０１７０】
number_of_audio_stream_entriesは、STN_table()の中でエントリーされるaudio_stream_idが与えられる１番目のオーディオストリームのストリーム数を示す。audio_stream_idは、オーディオストリームを識別するための情報であり、audio_stream_numberは、音声切り替えに使われるユーザから見えるオーディオストリーム番号である。number_of_audio_stream2_entriesは、STN_table()の中でエントリーされるaudio_stream_id2が与えられる２番目のオーディオストリームのストリーム数を示す。audio_stream_id2は、オーディオストリームを識別するための情報であり、audio_stream_numberは、音声切り替えに使われるユーザから見えるオーディオストリーム番号である。具体的には、STN_table()でエントリーされるnumber_of_audio_stream_entriesのオーディオストリームは、後述する図３５の再生装置２０の1stオーディオデコーダ７５−１でデコードされるオーディオストリームであり、STN_table()でエントリーされるnumber_of_audio_stream2_entriesのオーディオストリームは、後述する図３５の再生装置２０の2ndオーディオデコーダ７５−２でデコードされるオーディオストリームである。このように、図２３、並びに、後述する図３３および図３４のSTN_table()では、２つのオーディオデコーダのそれぞれにデコードさせるオーディオストリームをエントリーすることができる。
【０１７１】
なお、以下において、図３５の再生装置２０の1stオーディオデコーダ７５−１でデコードされるnumber_of_audio_stream_entriesのオーディオストリーム、すなわち、プライマリオーディオストリームをオーディオストリーム＃１と称し、図３５の再生装置２０の2ndオーディオデコーダ７５−２でデコードされるnumber_of_audio_stream2_entriesのオーディオストリーム、すなわち、セカンダリオーディオストリームをオーディオストリーム＃２と称する。また、オーディオストリーム＃１は、オーディオストリーム＃２よりも優先されるオーディオストリームであるものとする。
【０１７２】
number_of_PG_txtST_stream_entriesは、STN_table()の中でエントリーされるPG_txtST_stream_idが与えられるストリーム数を示す。この中では、DVDのサブピクチャのようなビットマップ字幕をランレングス符号化したストリーム（PG, Presentation Graphics stream）とテキスト字幕ファイル(txtST)がエントリーされる。PG_txtST_stream_idは、字幕ストリームを識別するための情報であり、PG_txtST_stream_numberは、字幕切り替えに使われるユーザから見える字幕ストリーム番号（テキストサブタイトルストリームの番号）である。
【０１７３】
number_of_IG_stream_entriesは、STN_table()の中でエントリーされる IG_stream_idが与えられるストリーム数を示す。この中では、インタラクティブグラフィックスストリームがエントリーされる。IG_stream_idは、インタラクティブグラフィックスストリームを識別するための情報であり、IG_stream_numberは、グラフィックス切り替えに使われるユーザから見えるグラフィックスストリーム番号である。
【０１７４】
ここで、stream_entry()のシンタクスについて図２４を参照して説明する。
【０１７５】
lengthは、このlengthフィールドの直後からstream_entry ()の最後までのバイト数を示す８ビットの符号なし整数である。typeは、上述したストリーム番号が与えられるストリームを一意に特定するために必要な情報の種類を示す８ビットのフィールドである。
【０１７６】
type＝１では、PlayItemによって参照されるClip(Main Clip)の中に多重化されている複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するために、１６ビットのパケットID(PID)が指定される。ref_to_stream_PID_of_mainClipが、このPIDを示している。すなわち、type＝１では、メインClipＡＶストリームファイルの中のPIDを指定するだけでストリームが決定される。
【０１７７】
type＝２では、SubPathが一度に複数個のClipsを参照し、それぞれのClipが複数のエレメンタリストリームを多重化する場合に、SubPathによって参照される１つのClip(SubClip)の複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するために、そのSubPathのSubPath_id、Clip id、およびパケットID(PID)が指定される。ref_to_SubPath_idがこのSubPath_idを示し、ref_to_SubClip_entry_idがこのClip idを示し、ref_to_stream_PID_of_SubClipがこのPIDを示している。SubPlayItemの中で複数のClipが参照され、さらにこのClipに複数のエレメンタリストリームが参照されている場合に用いられる。
【０１７８】
このように、type（type＝１とtype＝２の２つのtype）を使うことで、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から１つのエレメンタリストリームを特定することができる。なお、type＝１はMain Pathが参照するClip（メインClip）を示しており、type＝２はSub Pathが参照するClip（サブClip）を示している。
【０１７９】
図２３のSTN_table()の説明に戻って、ビデオストリームＩＤ(video_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのビデオエレメンタリストリームに、０からvideo_stream_idが与えられる。なお、ビデオストリームＩＤ（video_stream_id）の代わりに、ビデオストリーム番号（video_stream_number）を用いるようにしてもよい。この場合、video_stream_numberは、０ではなく１から与えられる。すなわち、video_stream_idの値に１を加算したものがvideo_stream_numberである。ビデオストリーム番号は、ビデオ切り替えに使われる、ユーザから見えるビデオストリーム番号であるので、１から定義される。
【０１８０】
同様に、オーディオストリームＩＤ(audio_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのオーディオエレメンタリストリームに、０からaudio_stream_idが与えられる。なお、ビデオストリームの場合と同様に、オーディオストリームＩＤ（audio_stream_id）の代わりに、オーディオストリーム番号（audio_stream_number）を用いるようにしてもよい。この場合、audio_stream_numberは、０ではなく１から与えられる。すなわち、audio_stream_idの値に１を加算したものがaudio_stream_numberである。オーディオストリーム番号は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号であるので、１から定義される。
【０１８１】
同様に、オーディオストリームＩＤ２(audio_stream_id2)のforループの中で、順番にstream_entry()ごとに特定される１つのオーディオエレメンタリストリームに、０からaudio_stream_id2が与えられる。なお、ビデオストリームの場合と同様に、オーディオストリームＩＤ２（audio_stream_id2）の代わりに、オーディオストリーム番号２（audio_stream_number2）を用いるようにしてもよい。この場合、audio_stream_number2は、０ではなく１から与えられる。すなわち、audio_stream_id2の値に１を加算したものがaudio_stream_number2である。オーディオストリーム番号２は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号２であるので、１から定義される。
【０１８２】
すなわち、図２３のSTN_table()においては、number_of_audio_stream_entries（オーディオストリーム＃１）のオーディオストリームと、number_of_audio_stream2_entries（オーディオストリーム＃２）のオーディオストリームとが定義される。換言すれば、STN_table()を用いて、オーディオストリーム＃１とオーディオストリーム＃２とをエントリーすることができるので、ユーザは、同期して再生するオーディオストリームを２本選択することができる。
【０１８３】
同様に、字幕ストリームＩＤ(PG_txtST_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのビットマップ字幕エレメンタリストリームまたはテキスト字幕に、０からPG_txtST_stream_idが与えられる。なお、ビデオストリームの場合と同様に、字幕ストリームＩＤ（PG_txtST_stream_id）の代わりに、字幕ストリーム番号（PG_txtST_stream_number）を用いるようにしてもよい。この場合、PG_txtST_stream_numberは、０ではなく１から与えられる。すなわち、PG_txtST_stream_idの値に１を加算したものがPG_txtST_stream_numberである。字幕ストリーム番号は、字幕切り替えに使われるユーザから見える字幕ストリーム番号（テキストサブタイトルストリームの番号）であるので、１から定義される。
【０１８４】
同様に、グラフィックスストリームＩＤ(IG_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームに、０からIG_stream_idが与えられる。なお、ビデオストリームの場合と同様に、グラフィックスストリームＩＤ（IG_stream_id）の代わりに、グラフィックスストリーム番号（IG_stream_number）を用いるようにしてもよい。この場合、IG_stream_numberは、０ではなく１から与えられる。すなわち、IG_stream_idの値に１を加算したものがIG_stream_numberである。グラフィックスストリーム番号は、グラフィックス切り替えに使われるユーザから見えるグラフィックスストリーム番号であるので、１から定義される。
【０１８５】
次に、図２３のSTN_table()のstream_attribute()について説明する。
【０１８６】
reserved_for_future_useの後のfor文では、video streamの分だけvideo streamが参照され、ディスク製造者が、オーディオストリームに対してMain PathおよびSub Pathを設定した分だけaudio streamが参照され、PG textST streamの分だけPG textST streamが参照され、IG streamの分だけIG streamが参照される。
【０１８７】
ビデオストリームＩＤ(video_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのビデオエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのビデオエレメンタリストリームのストリーム属性情報が記述されている。
【０１８８】
同様に、オーディオストリームＩＤ(audio_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報が記述されている。例えば、図２４のstream_entry()のtype＝１またはtype＝２で特定されるオーディオエレメンタリストリームは１つであるので、stream_attribute()は、その１つのオーディオエレメンタリストリームのストリーム属性情報を与える。
【０１８９】
同様に、オーディオストリームＩＤ２(audio_stream_id2)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報が記述されている。例えば、図２４のstream_entry()のtype＝１またはtype＝２で特定されるオーディオエレメンタリストリームは１つであるので、stream_attribute()は、その１つのオーディオエレメンタリストリームのストリーム属性情報を与える。
【０１９０】
同様に、字幕ストリームＩＤ(PG_txtST_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのビットマップ字幕エレメンタリストリームまたはテキスト字幕エレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのビットマップ字幕エレメンタリストリームのストリーム属性情報が記述されている。
【０１９１】
同様に、グラフィックスストリームＩＤ(IG_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームのストリーム属性情報が記述されている。
【０１９２】
ここで、stream_attribute()のシンタクスについて図２５を参照して説明する。
【０１９３】
lengthは、このlengthフィールドの直後からstream_attribute()の最後までのバイト数を示す１６ビットの符号なし整数である。
【０１９４】
stream_coding_typeは、図２６に示されるようにエレメンタリストリームの符号化タイプを示す。エレメンタリストリームの符号化タイプとしては、MPEG-2 video stream、HDMV LPCM audio、Dolby AC-3 audio、dts audio、Presentation graphics stream、Interactive graphics stream、およびText subtitle streamが記述される。
【０１９５】
video_formatは、図２７に示されるようにビデオエレメンタリストリームのビデオフォーマットを示す。ビデオエレメンタリストリームのビデオフォーマットとしては、４８０ｉ、５７６ｉ、４８０ｐ、１０８０ｉ、７２０ｐ、および１０８０ｐが記述される。
【０１９６】
frame_rateは、図２８に示されるように、ビデオエレメンタリストリームのフレームレートを示す。ビデオエレメンタリストリームのフレームレートとしては、２４０００／１００１、２４、２５、３００００／１００１、５０、および６００００／１００１が記述される。
【０１９７】
aspect_ratioは、図２９に示されるようにビデオエレメンタリストリームのアスペクト比情報を示す。ビデオエレメンタリストリームのアスペクト比情報としては、４：３ display aspect ratio、および１６：９ display aspect ratioが記述される。
【０１９８】
audio_presentation_typeは、図３０に示されるようにオーディオエレメンタリストリームのプレゼンテーションタイプ情報を示す。オーディオエレメンタリストリームのプレゼンテーションタイプ情報としては、single mono channel、dual mono channel、stereo(2-channel)、およびmulti-channelが記述される。
【０１９９】
sampling_frequencyは、図３１に示されるようにオーディオエレメンタリストリームのサンプリング周波数を示す。オーディオエレメンタリストリームのサンプリング周波数としては、４８ｋHz、および９６ｋHzが記述される。
【０２００】
audio_language_codeは、オーディオエレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
【０２０１】
PG_language_codeは、ビットマップ字幕エレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
【０２０２】
IG_language_code、インタラクティブグラフィックスエレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
【０２０３】
textST_language_codeは、テキスト字幕エレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
【０２０４】
character_codeは、図３２に示されるようにテキスト字幕エレメンタリストリームのキャラクタコードを示す。テキスト字幕エレメンタリストリームのキャラクタコードとしては、Unicode V1.1(ISO 10646-1)、Shift JIS（Japanese）、KSC 5601-1987 including KSC 5653 for Roman character(Korean)、GB 18030-2000(Chinese)、GB2312(Chinese)、およびBIG５(Chinese)が記述される。
【０２０５】
以下に、図２５のstream_attribute()のシンタクスについて、図２５と、図２６乃至図３２を用いて具体的に説明する。
【０２０６】
エレメンタリストリームの符号化タイプ（図２５のstream_coding_type）がMPEG-2 video stream（図２６）である場合、stream_attribute()には、そのエレメンタリストリームのビデオフォーマット（図２７）、フレームレート（図２８）、およびアスペクト比情報（図２９）が含まれる。
【０２０７】
エレメンタリストリームの符号化タイプ（図２５のstream_coding_type）がHDMV LPCM audio、Dolby AC-3 audio、またはdts audio（図２６）である場合、stream_attribute()には、そのオーディオエレメンタリストリームのプレゼンテーションタイプ情報（図３０）、サンプリング周波数（図３１）、および言語コードが含まれる。
【０２０８】
エレメンタリストリームの符号化タイプ（図２５のstream_coding_type）がPresentation graphics stream（図２６）である場合、stream_attribute()には、そのビットマップ字幕エレメンタリストリームの言語コードが含まれる。
【０２０９】
エレメンタリストリームの符号化タイプ（図２５のstream_coding_type）がInteractive graphics stream（図２６）である場合、stream_attribute()には、そのインタラクティブグラフィックスエレメンタリストリームの言語コードが含まれる。
【０２１０】
エレメンタリストリームの符号化タイプ（図２５のstream_coding_type）がText subtitle stream（図２６）である場合、stream_attribute()には、そのテキスト字幕エレメンタリストリームのキャラクタコード（図３２）、言語コードが含まれる。
【０２１１】
なお、これらの属性情報はこれに限定されない。
【０２１２】
このように、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から、stream_entry()によって特定された１つのエレメンタリストリームの属性情報をstream_attribute()によって知ることができる。
【０２１３】
再生装置は、この属性情報（stream_attribute()）を調べることによって、そのエレメンタリストリームを自分自身が再生する機能を持っているか否かを調べることができる。また、再生装置は、この属性情報を調べることによって、再生装置の言語設定の初期情報に対応したエレメンタリストリームの選択することができる。
【０２１４】
例えば、再生装置が、ビットマップ字幕エレメンタリストリームの再生機能だけを有し、テキスト字幕エレメンタリストリームの再生機能を有していない場合を想定する。この再生装置に対して、ユーザが言語切り替えを指示した場合、再生装置は、字幕ストリームＩＤ (PG_txtST_stream_id)のforループの中から、ビットマップ字幕エレメンタリストリームだけを順次選択して、再生する。
【０２１５】
また、例えば、再生装置の言語設定の初期情報が日本語である場合を想定する。この再生装置に対して、ユーザが音声切り替えを指示した場合、再生装置は、オーディオストリームＩＤ (Audio stream id)のforループの中から、言語コードが日本語であるオーディオエレメンタリストリームだけを順次選択して、再生する。
【０２１６】
さらに、例えば、メインパスにより参照される、ビデオストリームとオーディオストリームからなるＡＶストリーム（例えば、映画）を再生する場合、再生装置に対して、ユーザが音声の切り替えを指令し、オーディオストリーム＃１（通常の映画で出力される音声）と、オーディオストリーム＃２（監督や出演者によるコメント）とを、再生する音声として指定（選択）した場合、再生装置は、オーディオストリーム＃１とオーディオストリーム＃２とをミキシング（重畳）して、ビデオストリームとともに再生する。
【０２１７】
なお、オーディオストリーム＃１とオーディオストリーム＃２とは、図２３のSTN_table()を参照しても分かるように、両方ともメインパスにより参照されるClipに含まれるオーディオストリームとしてもよい。また、オーディオストリーム＃１とオーディオストリーム＃２のうちの、一方をメインパスにより参照されるClipに含まれるオーディオストリームとし、他方をサブパスにより参照されるClipに含まれるオーディオストリームとしてもよい。このように、メインパスにより参照されるメインＡＶストリームに重畳された複数のオーディオストリームを２つ選択して、ミキシングして再生することも可能である。
【０２１８】
このようにして、PlayItem()の中のSTN_table()は、このPlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、ユーザによる音声切り替えや字幕切り替えという操作が、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から選ぶことができる仕組みを提供するようにしたので、メインＡＶストリームが記録されている、再生するＡＶストリームとは異なるストリームやデータファイルに対しても、インタラクティブな操作を行うことができる。
【０２１９】
また、１つのPlayListの中にSubPathを複数使用し、それぞれのSubPathがそれぞれSubPlayItemを参照する構成としたので、拡張性の高い、また、自由度の高いＡＶストリームを実現することができる。すなわち、後で、SubPlayItemを追加できる構成とすることができる。例えば、Main Pathが参照するClipＡＶストリームファイルとこれに対応付けられるPlayListがあり、このPlayListが新たなSub Pathを追加したPlayListに書き換えられた場合、新たなPlayListに基づいて、Main Pathが参照するClipＡＶストリームファイルとともに、Main Pathが参照するClipＡＶストリームファイルとは異なるClipＡＶストリームファイルを参照して、再生を行うことができる。このように、拡張性を有する構成とすることができる。
【０２２０】
さらに、PlayItem()の中のSTN_table()は、後述する図３５の再生装置２０の1stオーディオデコーダ７５−１でデコードされるオーディオストリーム＃１と、2ndオーディオデコーダ７５−２でデコードされるオーディオストリーム＃２とをミキシングして再生することができる仕組みを提供するようにした。例えば、PlayItem()とそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、PlayItemが参照するClipのオーディオストリームをオーディオストリーム＃１とし、SubPathが参照するClipのオーディオストリームをオーディオストリーム＃２とし、これらををミキシングして再生することができる仕組みを提供するようにした。また、例えば、PlayItemが参照するClip（メインClip）に含まれる２つのオーディオストリームを、それぞれオーディオストリーム＃１とオーディオストリーム＃２とし、これらをミキシングして再生することができる仕組みを提供するようにした。これにより、メインＡＶストリームが記録されている、再生するメインのオーディオストリームとは異なるオーディオストリーム（例えば、監督のコメントのストリーム）の重畳再生を行うことができる。また、メインＡＶストリームに重畳されている２つのオーディオストリーム＃１とオーディオストリーム＃２とを重畳（ミキシング）して再生することができる。
【０２２１】
また、STN_table()によって、プライマリビデオストリームと組み合わせて同時再生される、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義することができる。図３３および図３４は、STN_table()のシンタクスの第２の例を示す図である。
【０２２２】
図３３と図３４とは、プライマリビデオストリームと組み合わせて同時再生される、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義する場合のSTN_table()のシンタクスの例を示す図である。なお、図中、図２３と同一の部分については、繰り返しになるのでその説明は省略する。
【０２２３】
図３３と図３４の例では、プライマリビデオストリームと組み合わせて同時再生される、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせは、次のように定義される。すなわち、最初に、プライマリビデオストリームと組み合わせて同時再生されるセカンダリビデオストリームが１以上定義される。そして、１以上のセカンダリビデオストリームのそれぞれに対して、同時に再生されるオーディオストリーム（プライマリオーディオストリームとセカンダリオーディオストリーム）とサブタイトルストリームとが定義される。
【０２２４】
具体的には、図３３において、number_of_video_stream2_entriesは、STN_table()の中でエントリーされる（登録される）video_stream_id2が与えられるストリーム数を示す。video_stream_id2は、セカンダリビデオストリームを識別するための情報であり、video_stream_number2は、ビデオ切り替えに使われる、ユーザから見えるセカンダリビデオストリーム番号である。
【０２２５】
図３４において、ビデオストリームＩＤ２(video_stream_id2)のforループの中で、順番にstream_entry()ごとに特定される１つのビデオエレメンタリストリーム(セカンダリビデオストリームとなるビデオエレメンタリストリーム)に、０からvideo_stream_id2が与えられる。
【０２２６】
このとき、video_stream_id2に対して、number_of_Audio_combinations_for_video2が与えられ、その後のfor文では、number_of_Audio_combinations_for_video2の数だけ、audio_stream_idとaudio_stream_id2が与えられる。number_of_Audio_combinations_for_video2とその後のfor文とは、セカンダリビデオストリームと同時再生されるオーディオストリームの組み合わせ、すなわち、audio_stream_idで特定されるプライマリオーディオストリームと、audio_stream_id2で特定されるセカンダリオーディオストリームとの組み合わせを定義する情報である。video_stream_id2で特定されるセカンダリビデオストリームと組み合わせ可能なオーディオストリームの組（プライマリオーディオストリームとセカンダリオーディオストリームとの組）の数が、number_of_Audio_combinations_for_video2とされる。そして、video_stream_id2で特定されるセカンダリビデオストリームと組み合わせ可能なオーディオストリームの組として、プライマリオーディオストリームを特定するaudio_stream_idと、セカンダリオーディオストリームを特定するaudio_stream_id2とが、number_of_Audio_combinations_for_video2の後のfor文でそれぞれ定義される。
【０２２７】
また、同じvideo_stream_id2に対して、number_of_Subtitle_combinations_for_video2が与えられ、その後のfor文では、number_of_Subtitle_combinations_for_video2の数だけ、PG_textST_stream_idが与えられる。number_of_Subtitle_combinations_for_video2とその後のfor文とは、セカンダリビデオストリームと同時再生されるサブタイトルストリームの組み合わせ、すなわち、PG_textST_stream_idで特定されるサブタイトルストリームの組み合わせを定義する情報である。video_stream_id2で特定されるセカンダリビデオストリームと組み合わせ可能なサブタイトルストリームの数が、number_of_Subtitle_combinations_for_video2とされる。そして、video_stream_id2で特定されるセカンダリビデオストリームと組み合わせ可能なサブタイトルストリームを特定するPG_textST_stream_idが、number_of_Subtitle_combinations_for_video2の後のfor文で定義される。
【０２２８】
なお、図２３を参照して説明した場合と同様に、各ＩＤの代わりに各番号、例えば、audio_stream_idの代わりに、オーディオストリーム番号（audio_stream_number）を用いたり、audio_stream_id2の代わりに、オーディオストリーム番号２（audio_stream_number2）を用いるようにしてもよい。ビデオストリームやサブタイトルストリームについても同様である。
【０２２９】
図３３と図３４によれば、video_stream_id2を用いて、プライマリビデオストリームと同時再生されるセカンダリビデオストリームを定義することができ、さらに、video_stream_id2、および、audio_stream_id、audio_stream_id2、並びに、PG_textST_stream_idを用いて、そのセカンダリビデオストリームと同時再生される、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義することができる。すなわち、プライマリビデオストリームと同時再生される、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義することができる。
【０２３０】
従って、プライマリビデオストリームと同時再生される、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせとして、矛盾するような組み合わせを定義せずに済むので、ユーザは、プライマリビデオストリームと同時再生可能なストリームの組み合わせの再生を容易に選択することができる。
【０２３１】
また、PlayItem()の中のSTN_table()は、このPlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このSubpathのSubpath_typeを５乃至７、すなわちピクチャインピクチャプレゼンテーションパス（セカンダリビデオストリーム、セカンダリオーディオストリーム、および、プレゼンテーショングラフィックストリームのうちの１以上のパス）と定義することにより、図５を用いて説明したようにして、主に再生表示されるプライマリビデオストリームに対して、セカンダリビデオストリームを表示することにより、ピクチャインピクチャ表示を行うことができるようになる。
【０２３２】
また、ピクチャインピクチャの表示設定を、図９、図１１、または図１２を用いて説明したようにして、pip_metadataに記載するようにしたので、図５を用いて説明した副表示画面２の大きさや表示位置は、再生装置に依存することなく、コンテンツの作成元またはコンテンツの提供元などが任意に設定することができる。また、ピクチャインピクチャの表示設定は、ピクチャインピクチャ表示されるビデオストリーム（セカンダリビデオストリーム）のデータ自体に記載されるのではなく、図９、図１１、または図１２を用いて説明したpip_metadataに記載される。すなわち、図５を用いて説明した副表示画面２の大きさや表示位置を変更したい場合は、ピクチャインピクチャ表示されるビデオストリーム（セカンダリビデオストリーム）を修正する必要はなく、pip_metadataの記載を修正するようにすればよい。
【０２３３】
また、ピクチャインピクチャの表示設定を、図９、図１１、または図１２を用いて説明したようにして、pip_metadataに記載するようにしたことにより、図５を用いて説明した副表示画面２に表示される映像の大きさは、セカンダリビデオストリームの元となる画像の大きさにも依存することなく、コンテンツの作成元またはコンテンツの提供元などが任意に設定することができる。
【０２３４】
次に、本発明を適用した再生装置について説明する。図３５は、本発明を適用した再生装置２０の構成例を示すブロック図である。この再生装置２０は、上述したメインパスとサブパスを有するPlayListを再生する再生装置２０である。
【０２３５】
再生装置２０には、ストレージドライブ３１、スイッチ３２、ＡＶデコーダ部３３、およびコントローラ３４が設けられている。
【０２３６】
図３５の例の場合、最初に、コントローラ３４がストレージドライブ３１を介してPlayListファイルを読み出し、PlayListファイルの情報に基づいて、ストレージドライブ３１を介してHDD、ブルーレイディスク、またはDVDなどの記録媒体からＡＶストリームやＡＶデータを読み出す。ユーザは、ユーザインターフェースを用いて、コントローラ３４に対し、音声や字幕などの切り替えの指令を行うことができる。また、コントローラ３４には、再生装置２０の言語設定の初期情報が図示せぬ記憶部などから供給される。
【０２３７】
PlayListファイルには、Main Path、Sub Pathの情報の他、STN_table()が含まれている。コントローラ３４は、PlayListファイルに含まれるPlayItemが参照するメインClip AVストリームファイル（以下、メインClipと称する）、SubPlayItemが参照するサブClip AVストリームファイル（以下、サブClipと称する）、およびSubPlayItemが参照するテキストサブタイトルデータを、ストレージドライブ３１を介して記録媒体などから読み出す。ここで、PlayItemが参照するメインClipとSubPlayItemが参照するサブClipとが、異なる記録媒体に記録されていてもよい。例えば、メインClipが記録媒体に記録されており、対応するサブClipは図示せぬネットワークを介して供給され、HDDに記憶されたものであってもよい。また、コントローラ３４は、自分自身（再生装置２０）の再生機能に対応するエレメンタリストリームを選択し、再生するよう制御したり、再生装置２０の言語設定の初期情報に対応するエレメンタリストリームだけを選択し、再生するよう制御する。
【０２３８】
また、コントローラ３４は、PlayListファイルのPlayListExtensionData()のID1/ID2に記載されている情報（または識別子）を参照し、このPlayListExtensionData()のdata_blockに、ピクチャインピクチャ表示に関する情報（pip_metadata）が記載されていることを検出した場合、図９または図１１を用いて説明したpip_metadataを参照して、図５を用いて説明した副表示画面２に表示されるセカンダリビデオの表示設定を取得し、AVデコーダ部３３のビデオプレーン生成部９２によるプライマリビデオストリームとセカンダリビデオストリームの映像の合成を制御する。
【０２３９】
ＡＶデコーダ部３３には、バッファ５１乃至５４、PIDフィルタ５５、PIDフィルタ５６、スイッチ５７乃至５９、PIDフィルタ６０、バックグラウンドデコーダ７１、1stビデオデコーダ７２−１、2ndビデオデコーダ７２−２、プレゼンテーショングラフィックスデコーダ７３、インタラクティブグラフィックスデコーダ７４、1stオーディオデコーダ７５−１、2ndオーディオデコーダ７５−２、Text-STコンポジション７６、スイッチ７７、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、インタラクティブグラフィックスプレーン生成部９４、バッファ９５、ビデオデータ処理部９６、ミキシング処理部９７、およびミキシング処理部１０１が設けられている。
【０２４０】
1stビデオデコーダ７２−１は、プライマリビデオストリームをデコードするためのものであり、2ndビデオデコーダ７２−２は、セカンダリビデオストリームをデコードするためのものである。また、1stオーディオデコーダ７５−１は、オーディオストリーム＃１（プライマリオーディオストリーム）をデコードするためのものであり、2ndオーディオデコーダ７５−２は、オーディオストリーム＃２（セカンダリオーディオストリーム）をデコードするためのものである。具体的には、図２３、並びに、図３３および図３４のSTN_table()において、video_stream_idで与えられるビデオストリームをデコードするためのものが1stビデオデコーダ７２−１であり、video_stream_id2で与えられるビデオストリームをデコードするためのものが2ndビデオデコーダ７２−２であり、audio_stream_idで与えられるオーディオストリームをデコードするためのものが1stオーディオデコーダ７５−１であり、audio_stream_id2で与えられるオーディオストリームをデコードするためのものが2ndオーディオデコーダ７５−２である。
【０２４１】
このように、再生装置２０は、２つのビデオストリームをデコードするために２つのビデオデコーダ（1stビデオデコーダ７２−１、2ndビデオデコーダ７２−２）を有し、２つのオーディオストリームをデコードするために、２つのオーディオデコーダ（1stオーディオデコーダ７５−１、2ndオーディオデコーダ７５−２）を有している。なお、以下において、1stビデオデコーダ７２−１と2ndビデオデコーダ７２−２とを個々に区別しない場合、ビデオデコーダ７２と称し、1stオーディオデコーダ７５−１と2ndオーディオデコーダ７５−２とを個々に区別しない場合、オーディオデコーダ７５と称する。
【０２４２】
コントローラ３４により読み出されたファイルデータは、図示せぬ復調、ＥＣＣ復号部により、復調され、復調された多重化ストリームに誤り訂正が施される。スイッチ３２は、復調され、誤り訂正が施されたデータを、コントローラ３４からの制御に基づいて、ストリームの種類ごとに選択し、対応するバッファ５１乃至５４に供給する。具体的には、スイッチ３２は、コントローラ３４からの制御に基づいて、バックグラウンドイメージデータをバッファ５１に供給し、メインClipのデータをバッファ５２に供給し、サブClipのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClipのデータをバッファリングし、バッファ５３は、サブClipのデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。
【０２４３】
メインClipは、ビデオとオーディオとビットマップ字幕(Presentation Graphics stream)とインタラクティブグラフィックスのうち、ビデオに加えて１つ以上のストリームを多重化したストリーム（例えばトランスポートストリーム）である。サブClipは、ビデオとビットマップ字幕とインタラクティブグラフィックスとオーディオのうち、１つ以上のストリームを多重化したストリームである。なお、テキストサブタイトルデータファイル（Text-ST）のデータは、トランスポートストリームのような多重化ストリームの形式であっても、そうでなくてもよい。
【０２４４】
また、メインClipとサブClipおよびテキストサブタイトルデータを、ストレージドライブ３１（記録媒体）から読み出すときに、それぞれのファイルを時分割に交互に読み出しても良いし、または、サブClipやテキストサブタイトルデータをメインClipから読み出す前に、すべてバッファ(バッファ５３またはバッファ５４)へプリロードしてもよい。
【０２４５】
再生装置２０は、これらのファイルのデータを、ストレージドライブ３１を介して記録媒体から読み出し、ビデオ、ビットマップ字幕、インタラクティブグラフィックス、およびオーディオを再生する。
【０２４６】
具体的には、メインClip用リードバッファであるバッファ５２から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５５へ出力される。このPIDフィルタ５５は、入力されたメインClipをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５５は、ビデオストリームを1stビデオデコーダ７２−１または2ndビデオデコーダ７２−２のいずれかに供給するためのPIDフィルタ６０に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを1stオーディオデコーダ７５−１と2ndオーディオデコーダ７５−２への供給元となるスイッチ５９に供給する。
【０２４７】
プレゼンテーショングラフィックスストリームは、例えば、ビットマップの字幕データであり、テキストサブタイトルデータは、例えば、テキスト字幕データである。
【０２４８】
サブClip用リードバッファであるバッファ５３から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５６へ出力される。このPIDフィルタ５６は、入力されたサブClipをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５６は、供給されたビデオストリームを1stビデオデコーダ７２−１または2ndビデオデコーダ７２−２のいずれかに供給するためのPIDフィルタ６０へ供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを1stオーディオデコーダ７５−１と2ndオーディオデコーダ７５−２への供給元となるスイッチ５９に供給する。
【０２４９】
バックグラウンドイメージデータをバッファリングするバッファ５１から読み出されたデータは、所定のタイミングでバックグラウンドデコーダ７１に供給される。バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、デコードしたバックグラウンドイメージデータをバックグラウンドプレーン生成部９１に供給する。
【０２５０】
スイッチ５７は、PIDフィルタ５５から供給されたメインClipに含まれるプレゼンテーショングラフィックスストリームと、サブClip に含まれるプレゼンテーショングラフィックスストリームのうちのいずれか１つを選択し、選択したプレゼンテーショングラフィックスストリームを、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。プレゼンテーショングラフィックスデコーダ７３は、プレゼンテーショングラフィックスストリームをデコードし、デコードしたプレゼンテーショングラフィックスストリームのデータをプレゼンテーショングラフィックスプレーン生成部９３への供給元となるスイッチ７７に供給する。
【０２５１】
また、スイッチ５８は、PIDフィルタ５５から供給されたメインClipに含まれるインタラクティブグラフィックスストリームと、サブClipに含まれるインタラクティブグラフィックスストリームのうちのいずれか１つを選択し、選択したインタラクティブグラフィックスストリームを、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。すなわち、インタラクティブグラフィックスデコーダ７４へ同時に入力されるインタラクティブグラフィックスストリームは、メインClipまたはサブClipのどちらかから分離されたストリームである。インタラクティブグラフィックスデコーダ７４は、インタラクティブグラフィックスストリームをデコードし、デコードしたインタラクティブグラフィックスストリームのデータを、インタラクティブグラフィックスプレーン生成部９４に供給する。
【０２５２】
さらに、スイッチ５９は、PIDフィルタ５５から供給されたメインClipに含まれるオーディオストリームと、サブClip に含まれるオーディオストリームのうちのいずれか１つを選択し、選択したオーディオストリームを、後段の1stオーディオデコーダ７５−１または、2ndオーディオデコーダ７５−２に供給する。ここで、1stオーディオデコーダ７５−１へ同時に入力されるオーディオストリームは、メインClipまたはサブClipのどちらかから分離されたストリームである。また、同様に、2ndオーディオデコーダ７５−２へ同時に入力されるオーディオストリームも、メインClipまたはサブClipのどちらかから分離されたストリームである。例えば、メインClipにオーディオストリーム＃１とオーディオストリーム＃２とが含まれていた場合、PIDフィルタ５５は、オーディオストリームのPIDに基づいて、オーディオストリーム＃１とオーディオストリーム＃２とをフィルタリングし、スイッチ５９に供給する。
【０２５３】
スイッチ５９は、例えば、PIDフィルタ５５から供給されたオーディオストリーム＃１を、1stオーディオデコーダ７５−１に供給するようスイッチを選択し、PIDフィルタ５５から供給されたオーディオストリーム＃２を、2ndオーディオデコーダ７５−２に供給するようスイッチを選択する。
【０２５４】
PIDフィルタ６０は、PIDフィルタ５５から供給されたメインClipに含まれていたビデオストリーム、または、PIDフィルタ５６から供給されたサブClipに含まれていたビデオストリームの入力を受け、コントローラ３４の制御に基づいて、プライマリビデオストリームであるか、セカンダリビデオストリームであるかを判別し、プライマリビデオストリームを1stビデオデコーダ７２−１に供給し、セカンダリビデオストリームを2ndビデオデコーダ７２−２に供給する。
【０２５５】
PIDフィルタ６０により振り分けられたビデオストリームは、後段の1stビデオデコーダ７２−１または2ndビデオデコーダ７２−２に供給される。1stビデオデコーダ７２−１または2ndビデオデコーダ７２−２は、供給されたビデオストリームをデコードし、デコードしたビデオデータをビデオプレーン生成部９２へ出力する。
【０２５６】
ビデオプレーン生成部９２は、1stビデオデコーダ７２−１および2ndビデオデコーダ７２−２からビデオデータが供給された場合、pip_metadataを参照したコントローラ３４の制御に基づいて、供給されたビデオデータを合成して、図５を用いて説明したような、主表示画面１および副表示画面２により構成されるビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。また、ビデオプレーン生成部９２は、1stビデオデコーダ７２−１のみからビデオデータが供給された場合、供給されたビデオデータを用いてビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。なお、２つのビデオデータを合成することは、例えば、ミキシングする、重畳するとも称される。
【０２５７】
1stオーディオデコーダ７５−１は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部１０１に供給する。また、2ndオーディオデコーダ７５−２は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部１０１に供給する。
【０２５８】
ここで、オーディオストリーム＃１とオーディオストリーム＃２とを重畳して再生するような場合（ユーザにより再生するオーディオストリームとして、２つのオーディオストリームが選択された場合）、1stオーディオデコーダ７５−１によりデコードされたオーディオストリーム＃１と、2ndオーディオデコーダ７５−２によりデコードされたオーディオストリーム＃２とが、ミキシング処理部１０１に供給される。
【０２５９】
ミキシング処理部１０１は、1stオーディオデコーダ７５−１からのオーディオデータと、2ndオーディオデコーダ７５−２からのオーディオデータとをミキシング（重畳）し、後段のミキシング処理部９７に出力する。なお、本実施の形態においては、1stオーディオデコーダ７５−１から出力されるオーディオデータと2ndオーディオデコーダ７５−２から出力されるオーディオデータとをミキシング（重畳）することを、合成するとも称する。すなわち、合成とは、２つのオーディオデータを、ミキシングすることも示すものとする。
【０２６０】
また、スイッチ３２により選択されたサウンドデータは、バッファ９５に供給され、バッファリングされる。バッファ９５は、所定のタイミングでサウンドデータをミキシング処理部９７に供給する。サウンドデータは、この場合、メニュー選択などによる効果音のデータである。ミキシング処理部９７は、ミキシング処理部１０１によりミキシングされたオーディオデータ（1stオーディオデコーダ７５−１から出力されたオーディオデータと2ndオーディオデコーダ７５−２から出力されたオーディオデータとがミキシングされたオーディオデータ）と、バッファ９５から供給されてきたサウンドデータをミキシング（重畳、または合成）し、音声信号として出力する。
【０２６１】
テキストサブタイトル用リードバッファであるバッファ５４から読み出されたデータは、所定のタイミングで、後段のテキストサブタイトルコンポジション（デコーダ）７６へ出力される。テキストサブタイトルコンポジション７６は、Text-STデータをデコードし、スイッチ７７に供給する。
【０２６２】
スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれかを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。すなわち、プレゼンテーショングラフィックスプレーン９３へ同時に供給される字幕画像は、プレゼンテーショングラフィックスデコーダ７３またはテキストサブタイトル（Text-ST）コンポジション７６のうちのいずれかの出力である。また、プレゼンテーショングラフィックスデコーダ７３へ同時に入力されるプレゼンテーショングラフィックスストリームは、メインClipまたはサブClipのいずれかから分離されたストリームである（スイッチ５７により選択される）。したがって、プレゼンテーショングラフィックスプレーン９３へ同時に出力される字幕画像は、メインClipからのプレゼンテーショングラフィックスストリーム、またはサブClipからのからのプレゼンテーショングラフィックスストリーム、またはテキストサブタイトルデータのデコード出力である。
【０２６３】
バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、例えば、ビデオ画像を縮小表示した場合に壁紙画像となるバックグラウンドプレーンを生成し、これを、ビデオデータ処理部９６に供給する。
【０２６４】
プレゼンテーショングラフィックスプレーン生成部９３は、スイッチ７７により選択され、供給されたデータ（プレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータ）に基づいて、例えば、レンダリング画像であるプレゼンテーショングラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。
【０２６５】
ビデオデータ処理部９６は、バックグラウンドプレーン生成部９１からのバックグラウンドプレーン、ビデオプレーン生成部９２からのビデオプレーン、プレゼンテーショングラフィックスプレーン生成部９３からのプレゼンテーショングラフィックスプレーン、およびインタラクティブグラフィックスプレーン生成部９４からのインタラクティブグラフィックスプレーンを合成し、ビデオ信号として出力する。また、ミキシング処理部９７は、ミキシング処理部１０１からのオーディオデータ（1stオーディオデコーダ７５−１によりデコードされたオーディオデータと2ndオーディオデコーダ７５−２によりデコードされたオーディオデータとがミキシングされたオーディオデータ）と、バッファ９５からのサウンドデータをミキシング（合成または重畳）し、音声信号として出力する。
【０２６６】
これらのスイッチ５７乃至５９、並びにスイッチ７７は、ユーザインターフェースを介するユーザからの選択、または、対象となるデータが含まれるファイル側に基づいて、スイッチを切り替える。例えば、サブClip ＡＶストリームファイルのみにしか、オーディオストリームが含まれていない場合、スイッチ５９はサブ側にスイッチを切り替える。
【０２６７】
次に、図３５の再生装置２０における再生処理を、図３６のフローチャートを参照して説明する。なお、この処理は、ユーザによりユーザインターフェースを介して、所定のＡＶストリームの再生が指令されたとき開始される。
【０２６８】
ステップＳ１において、コントローラ３４は、ストレージドライブ３１を介して、記録媒体や図示せぬHDD(Hard Disk Drive)に記録されているPlayListファイルを読み出す。例えば、図７を用いて説明したPlayListファイル（×××××.mpls）が読み出される。
【０２６９】
ステップＳ２において、コントローラ３４は、読み出したPlayListファイルを基に、再生するストリームにセカンダリビデオが存在するか否かを判断する。
【０２７０】
具体的には、コントローラ３４は、読み出したPlayListファイルの中のPlayItemの中の、例えば、図３３および図３４を用いて説明したSTN_table()のセカンダリビデオループ（video_stream_id2のforループ）を実行することにより、再生するストリームにセカンダリビデオが存在するか否かを判断する。
【０２７１】
ステップＳ２において、セカンダリビデオが存在しないと判断された場合、ステップＳ３において、図３７乃至図３９を用いて後述するプライマリビデオ再生処理が実行される。
【０２７２】
ステップＳ４において、コントローラ３４は、読み出されたPlayListファイルに対応するストリームの再生は終了であるか否かを判断する。ステップＳ４において、ストリームの再生は終了ではないと判断された場合、処理は、ステップＳ３に戻り、それ以降の処理が繰り返され、ストリームの再生は終了であると判断された場合、処理が終了される。
【０２７３】
ステップＳ２において、セカンダリビデオが存在すると判断された場合、ステップＳ５において、コントローラ３４は、pip_metadataを読み出す。なお、上記の通りセカンダリビデオが含まれることを確認してから、PlayItemに関連するpip_metadataだけをメモリに保持するようにしても良いし、また、図７乃至図９で説明したようにpip_metadataは、Playlistの一部であるため、ステップＳ１のPlayListファイル読み出し時にpip_metadataも同時に読み出すようにしても良い。
【０２７４】
具体的には、コントローラ３４は、例えば、現在のPlayItem_idおよびSTN_table()により判別されるsecondary_video_stream_idに基づいて、対象となるpip_metadataを特定し、PlayListファイルから特定したpip_metadataを読み出す。
【０２７５】
ステップＳ６において、コントローラ３４は、読み出したpip_metadataの記載を基に、セカンダリストリームは、プライマリストリームに同期している（すなわち、メインパスのPlayItemの時間軸に同期している）か否かを判断する。
【０２７６】
具体的には、例えば、pip_metadataのデータ構造が、図９を用いて説明したものであった場合、コントローラ３４は、図１０を用いて説明したpip_metadata_typeの値を基に、セカンダリストリームは、プライマリストリームに同期しているか否かを判断し、pip_metadataのデータ構造が、図１１を用いて説明したものであった場合、コントローラ３４は、Synchronous_PIP_metadata_flagを参照し、セカンダリストリームは、プライマリストリームに同期しているか否かを判断することができる。
【０２７７】
また、例えば、pip_metadataのデータ構造が、図１２を用いて説明したものであった場合、コントローラ３４は、Subpath_typeによって、セカンダリストリームは、プライマリストリームと同期しているか否かを判断することができる。
【０２７８】
なお、pip_metadataのデータ構造が、図９または図１１を用いて説明したものであった場合、セカンダリストリームがプライマリストリームに同期しているか否かは、pip_metadata以外にも、図１２のpip_metadataのデータ構造と同様に、Subpath_typeによって判断することもできる。すなわち、コントローラ３４は、Subpath_typeにより、セカンダリストリームがプライマリストリームに同期しているか否かを判断することができる。
【０２７９】
ステップＳ６において、セカンダリストリームは、プライマリストリームに同期していると判断された場合、ステップＳ７に進み、コントローラ３４は、図１７を参照して説明したように、プライマリストリームの表示時刻が、セカンダリストリームの再生区間の先頭を示すSubPlayItem_IN_timeとなっているか否かを判断する。
【０２８０】
ステップＳ７において、プライマリストリームの表示時刻が、SubPlayItem_IN_timeでないと判断された場合、ステップＳ８において、図３７乃至図３９を用いて後述するプライマリビデオ再生処理が実行される。
【０２８１】
一方、ステップＳ７において、プライマリストリームの表示時刻が、SubPlayItem_IN_timeであると判断された場合、ステップＳ９において、図４０乃至図４２を用いて後述するプライマリおよびセカンダリビデオ再生処理が実行される。
【０２８２】
ステップＳ１０において、コントローラ３４は、プライマリストリームの表示時刻が、セカンダリストリームの再生区間の終了を示すSubPlayItem_OUT_timeであるか否かを判断する。ステップＳ１０において、SubPlayItem_OUT_timeでないと判断された場合、ステップＳ９に戻り、それ以降の処理が繰り返され、SubPlayItem_OUT_timeであると判断された場合、ステップＳ１１において、コントローラ３４は、読み出されたPlayListファイルに対応するストリームの再生は終了であるか否かを判断する。
【０２８３】
ステップＳ１１において、ストリームの再生は終了ではないと判断された場合、処理は、ステップＳ７に戻り、それ以降の処理が繰り返され、ストリームの再生は終了であると判断された場合、処理が終了される。
【０２８４】
一方、ステップＳ６において、セカンダリストリームは、プライマリストリームに同期していない（すなわち、サブパスのSubPlayItemの時間軸に同期している）と判断された場合、ユーザからセカンダリビデオストリームの表示が指示されるまで、プライマリビデオストリームのみが表示されるので、ステップＳ１２において、図３７乃至図３９を用いて後述するプライマリビデオ再生処理が実行される。
【０２８５】
ステップＳ１３において、コントローラ３４は、ユーザから、セカンダリビデオストリームの表示の指示を受けたか否かを判断する。
【０２８６】
ステップＳ１３において、セカンダリストリームの表示の指示を受けていないと判断された場合、ステップＳ１４において、コントローラ３４は、読み出されたPlayListファイルに対応するストリームの再生は終了であるか否かを判断する。ステップＳ１４において、ストリームの再生は終了ではないと判断された場合、処理は、ステップＳ１２に戻り、それ以降の処理が繰り返され、ストリームの再生は終了であると判断された場合、処理が終了される。
【０２８７】
一方、ステップＳ１３において、セカンダリビデオストリームの表示の指示を受けたと判断された場合、ステップＳ１５において、図４０乃至図４２を用いて後述するプライマリおよびセカンダリビデオ再生処理が実行される。
【０２８８】
ステップＳ１６において、コントローラ３４は、ユーザから、セカンダリビデオストリームの表示終了の指令を受けたか否かを判断する。ステップＳ１６において、セカンダリストリームの表示終了の指令を受けたと判断された場合、処理は、ステップＳ１２に戻り、それ以降の処理が繰り返される。
【０２８９】
ステップＳ１６において、セカンダリビデオストリームの表示終了の指令を受けていないと判断された場合、ステップＳ１７において、コントローラ３４は、読み出されたPlayListファイルに対応するストリームの再生は終了であるか否かを判断する。ステップＳ１７において、ストリームの再生は終了ではないと判断された場合、処理は、ステップＳ１５に戻り、それ以降の処理が繰り返され、ストリームの再生は終了であると判断された場合、処理が終了される。
【０２９０】
このような処理により、読み出されたPlayListファイルに対応するストリームの再生において、セカンダリストリームが存在するか否か、存在する場合は、プライマリストリーム（メインパス）に同期しているか否かを基に、セカンダリストリームをプライマリストリームに重畳させて常に表示させるか否かが決まり、プライマリストリーム（メインパス）に同期していない場合は、ユーザからセカンダリストリームの表示が指令されたか、または、セカンダリストリームの表示終了が指令されたかに基づいて、セカンダリストリームをプライマリストリームに重畳させるか否かが決まる。
【０２９１】
次に、図３７乃至図３９のフローチャートを参照して、図３６のステップＳ３、ステップＳ８、またはステップＳ１２において実行される、プライマリビデオ再生処理について説明する。
【０２９２】
ステップＳ４１において、コントローラ３４は、メインClip、サブClip、およびテキストサブタイトルデータ（Text-STデータ）を読み出す。具体的には、コントローラ３４は、図１８を用いて説明したPlayListに含まれる、図２２を用いて説明したPlayItemに基づいて、メインClipを読み出す。また、コントローラ３４は、PlayListに含まれるSubPathで参照される、図２１を用いて説明したSubPlayItemに基づいて、サブClipと、テキストサブタイトルデータを読み出す。
【０２９３】
ステップＳ４２において、コントローラ３４は、読み出したデータ（メインClip、サブClip、およびテキストサブタイトルデータ）を対応するバッファ５１乃至５４に供給するようスイッチ３２を制御する。具体的には、コントローラ３４は、バックグラウンドイメージデータをバッファ５１に供給し、メインClipのデータをバッファ５２に供給し、サブClipのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。
【０２９４】
ステップＳ４３において、スイッチ３２はコントローラ３４からの制御に基づいて、スイッチ３２を切り替える。これにより、バックグラウンドイメージデータはバッファ５１に供給され、メインClipのデータはバッファ５２に供給され、サブClipのデータはバッファ５３に供給され、テキストサブタイトルデータはバッファ５４に供給される。
【０２９５】
ステップＳ４４において、各バッファ５１乃至５４は、供給されたデータをそれぞれバッファリングする。具体的には、バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClipのデータをバッファリングし、バッファ５３は、サブClipのデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。
【０２９６】
ステップＳ４５において、バッファ５１は、バックグラウンドイメージデータをバックグラウンドデコーダ７１に出力する。
【０２９７】
ステップＳ４６において、バッファ５２はメインClipのストリームデータをPIDフィルタ５５に出力する。
【０２９８】
ステップＳ４７において、PIDフィルタ５５は、メインClip ＡＶストリームファイルを構成するＴＳパケットに付されているPIDに基づいて、各エレメンタリストリームのデコーダへ振り分ける。具体的には、PIDフィルタ５５は、ビデオストリームをPIDフィルタ６０を介して1stビデオデコーダ７２−１に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを1stオーディオデコーダ７５−１への供給元となるスイッチ５９に供給する。すなわち、ビデオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム、およびオーディオストリームには、それぞれ異なるPIDが付されている。
【０２９９】
ステップＳ４８において、バッファ５３は、サブClipのストリームデータをPIDフィルタ５６に出力する。
【０３００】
ステップＳ４９において、PIDフィルタ５６は、PIDに基づいて、各エレメンタリストリームのデコーダへ振り分ける。具体的には、PIDフィルタ５６は、供給されたビデオストリームをPIDフィルタ６０を介して1stビデオデコーダ７２−１へ供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを1stオーディオデコーダ７５−１と2ndオーディオデコーダ７５−２への供給元となるスイッチ５９に供給する。
【０３０１】
ステップＳ５０において、PIDフィルタ５５およびPIDフィルタ５６の後段のスイッチ５７乃至５９およびPIDフィルタ６０は、ユーザインターフェースを介するコントローラ３４からの制御に基づいて、メインClip とサブClipのいずれかを選択する。具体的には、スイッチ５７は、PIDフィルタ５５から供給されたメインClipまたはサブClipのプレゼンテーショングラフィックスストリームを選択し、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。また、スイッチ５８は、PIDフィルタ５５から供給されたメインClipまたはサブClipのインタラクティブグラフィックスストリームを選択し、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。さらに、スイッチ５９は、PIDフィルタ５５から供給されたメインClip、または、PIDフィルタ５６から供給されたサブClipのオーディオストリーム（ここでは、音声が切り替えられる前であるので、オーディオストリーム＃１）を選択し、後段の1stオーディオデコーダ７５−１に供給する。なお、音声を切り替えるような指令がユーザにより行われた場合には、スイッチ５９は、メインClipのオーディオストリームを2ndオーディオデコーダ７５−２に供給したり、サブClipのオーディオストリームを1stオーディオデコーダ７５−１や2ndオーディオデコーダ７５−２に供給したりもするが、ここでは、音声が切り替えられる前の再生処理について説明しているので、その説明は省略している。
【０３０２】
ステップＳ５１において、バッファ５４は、テキストサブタイトルデータをテキストサブタイトルコンポジション７６に出力する。
【０３０３】
ステップＳ５２において、バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、これをバックグラウンドプレーン生成部９１に出力する。
【０３０４】
ステップＳ５３において、1stビデオデコーダ７２−１は、ビデオストリーム（すなわち、供給されたプライマリビデオストリーム）をデコードし、これをビデオプレーン生成部９２に出力する。
【０３０５】
ステップＳ５４において、プレゼンテーショングラフィックスデコーダ７３は、スイッチ５７により選択され、供給されたプレゼンテーショングラフィックスストリームをデコードし、これを後段のスイッチ７７に出力する。
【０３０６】
ステップＳ５５において、インタラクティブグラフィックスデコーダ７４は、スイッチ５８により選択され、供給されたインタラクティブグラフィックスストリームをデコードし、これを後段のインタラクティブグラフィックスプレーン生成部９４に出力する。
【０３０７】
ステップＳ５６において、1stオーディオデコーダ７５−１は、スイッチ５９により選択され、供給されたオーティオストリーム（オーディオストリーム＃１）をデコードし、これを後段のミキシング処理部１０１に出力する。音声の切り替えがユーザにより指示されていない状態における再生処理では、2ndオーディオデコーダ７５−２からオーディオデータが出力されることはないので、ミキシング処理部１０１は、1stオーディオデコーダ７５−１から出力されたオーディオデータを、そのまま後段のミキシング処理部９７に供給する。
【０３０８】
ステップＳ５７において、Text-STコンポジション７６は、テキストサブタイトルデータをデコードし、これを後段のスイッチ７７に出力する。
【０３０９】
ステップＳ５８において、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３またはText-STコンポジション７６からのデータのいずれかを選択する。具体的には、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれか１つを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。
【０３１０】
ステップＳ５９において、バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、バックグラウンドプレーンを生成する。
【０３１１】
ステップＳ６０において、ビデオプレーン生成部９２は1stビデオデコーダ７２−１から供給されたビデオデータに基づいて、ビデオプレーンを生成する。
【０３１２】
ステップＳ６１において、プレゼンテーショングラフィックスプレーン生成部９３は、ステップＳ５８の処理でスイッチ７７により選択され、供給されたプレゼンテーショングラフィックスデコーダ７３からのデータまたはText-STコンポジション７６からのデータに基づいて、プレゼンテーショングラフィックスプレーンを生成する。
【０３１３】
ステップＳ６２において、インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成する。
【０３１４】
ステップＳ６３において、バッファ９５は、ステップＳ４３の処理で選択され、供給されたサウンドデータをバッファリングし、所定のタイミングでミキシング処理部９７に供給する。
【０３１５】
ステップＳ６４において、ビデオデータ処理部９６は、各プレーンのデータを合成し、出力する。具体的には、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、およびインタラクティブグラフィックスプレーン生成部９４からのデータを合成し、ビデオデータとして出力する。
【０３１６】
ステップＳ６５において、ミキシング処理部９７は、オーディオデータ（ミキシング処理部１０１から出力されたオーディオデータ）とサウンドデータをミキシング（合成）し、出力して、処理は、図３６のステップＳ３に戻り、ステップＳ４に進むか、または、図３６のステップＳ８に戻り、ステップＳ７に進むか、図３６のステップＳ１２に戻り、ステップＳ１３に進む。
【０３１７】
図３７乃至図３９を用いて説明した処理により、PlayListに含まれるメインパスとサブパスによりメインClip、サブClip、およびテキストサブタイトルデータが参照され、再生される。ここで、表示される映像は、プライマリビデオストリームの映像のみであり、図５を用いて説明した副表示画面２は表示されない。PlayListにメインパスとサブパスを設けるようにし、サブパスで、メインパスで指定するClip ＡＶストリームファイルとは異なるClipを指定可能な構成としたので、メインパスのPlayItemが指すメインClipとは異なるClipであるサブClipのデータとメインClipのデータを一緒に（同じタイミングで）再生することができる。
【０３１８】
なお、図３７乃至図３９において、ステップＳ４５，ステップＳ４６の処理は、その順番が逆であってもよいし、平行して実行されてもよい。また、ステップＳ４７、ステップＳ４９の処理も、その順番が逆であってもよいし、平行して実行されてもよい。さらに、ステップＳ５２乃至ステップＳ５７の処理も、その順番が逆であってもよいし、平行して実行されてもよい。また、ステップＳ５９乃至ステップＳ６２の処理も、その順番が逆であってもよいし、平行して実行されてもよい。さらに、ステップＳ６４，ステップＳ６５の処理も、その順番が逆であってもよいし、平行して実行されてもよい。すなわち、図３５において、縦に同じ階層のバッファ５１乃至５４の処理、スイッチ５７乃至５９の処理、デコーダ７１乃至７６の処理、プレーン生成部９１乃至９４の処理、ビデオデータ処理部９６およびミキシング処理部９７の処理は、それぞれ、平行して実行されてもよいし、その順番は問わない。
【０３１９】
次に、図４０乃至図４２のフローチャートを参照して、図３６のステップＳ９またはステップＳ１５において実行される、プライマリおよびセカンダリビデオ再生処理について説明する。
【０３２０】
ステップＳ１０１乃至ステップＳ１０６において、図３７および図３８を用いて説明したステップＳ４１乃至ステップＳ４６と基本的に同様の処理が実行される。
【０３２１】
すなわち、コントローラ３４により、メインClip、サブClip、およびテキストサブタイトルデータ（Text-STデータ）が読み出され、読み出したデータ（メインClip、サブClip、およびテキストサブタイトルデータ）を対応するバッファ５１乃至５４に供給するようスイッチ３２が制御される。スイッチ３２により、コントローラ３４からの制御に基づいて、バックグラウンドイメージデータはバッファ５１に供給され、メインClipのデータはバッファ５２に供給され、サブClipのデータはバッファ５３に供給され、テキストサブタイトルデータはバッファ５４に供給され、バッファ５１乃至５４にバッファリングされる。バッファ５１は、バックグラウンドイメージデータをバックグラウンドデコーダ７１に出力する。バッファ５２はメインClipのストリームデータをPIDフィルタ５５に出力する。
【０３２２】
ステップＳ１０７において、PIDフィルタ５５は、メインClip ＡＶストリームファイルを構成するＴＳパケットに付されているPIDに基づいて、各エレメンタリストリームのデコーダへ振り分ける。具体的には、PIDフィルタ５５は、ビデオストリームをＰＩＤフィルタ６０に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを1stオーディオデコーダ７５−１への供給元となるスイッチ５９に供給する。すなわち、ビデオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム、およびオーディオストリームには、それぞれ異なるPIDが付されている。ＰＩＤフィルタ６０は、コントローラ３４の制御に基づいて、プライマリビデオストリームを1stビデオデコーダ７２−１に供給し、セカンダリビデオストリームを2ndビデオデコーダ７２−２に供給する。
【０３２３】
ステップＳ１０８において、バッファ５３は、サブClipのストリームデータをPIDフィルタ５６に出力する。
【０３２４】
ステップＳ１０９において、PIDフィルタ５６は、PIDに基づいて、各エレメンタリストリームのデコーダへ振り分ける。具体的には、PIDフィルタ５６は、供給されたビデオストリームをPIDフィルタ６０へ供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを1stオーディオデコーダ７５−１と2ndオーディオデコーダ７５−２への供給元となるスイッチ５９に供給する。ＰＩＤフィルタ６０は、コントローラ３４の制御に基づいて、プライマリビデオストリームを1stビデオデコーダ７２−１に供給し、セカンダリビデオストリームを2ndビデオデコーダ７２−２に供給する。
【０３２５】
そして、ステップＳ１１０乃至ステップＳ１１２において、図３７および図３８を用いて説明したステップＳ５０乃至ステップＳ５２と基本的に同様の処理が実行される。
【０３２６】
すなわち、スイッチ５７乃至５９およびPIDフィルタ６０は、コントローラ３４からの制御に基づいて、メインClip とサブClipのいずれかを選択する。バッファ５４は、テキストサブタイトルデータをテキストサブタイトルコンポジション７６に出力する。バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、これをバックグラウンドプレーン生成部９１に出力する。
【０３２７】
そして、ステップＳ１１３において、1stビデオデコーダ７２−１は、供給されたプライマリビデオストリームをデコードし、これをビデオプレーン生成部９２に出力する。
【０３２８】
ステップＳ１１４において、2ndビデオデコーダ７２−２は、供給されたセカンダリビデオストリームをデコードし、これをビデオプレーン生成部９２に出力する。
【０３２９】
ステップＳ１１５において、プレゼンテーショングラフィックスデコーダ７３は、スイッチ５７により選択され、供給されたプレゼンテーショングラフィックスストリームをデコードし、これを後段のスイッチ７７に出力する。
【０３３０】
ステップＳ１１６において、インタラクティブグラフィックスデコーダ７４は、スイッチ５８により選択され、供給されたインタラクティブグラフィックスストリームをデコードし、これを後段のインタラクティブグラフィックスプレーン生成部９４に出力する。
【０３３１】
ステップＳ１１７において、1stオーディオデコーダ７５−１は、スイッチ５９により選択され、供給されたプライマリオーティオストリームをデコードし、これを後段のミキシング処理部１０１に出力する。
【０３３２】
ステップＳ１１８において、2ndオーディオデコーダ７５−２は、スイッチ５９により選択され、供給されたセカンダリオーティオストリームをデコードし、これを後段のミキシング処理部１０１に出力する。
【０３３３】
ステップＳ１１９において、Text-STコンポジション７６は、プライマリまたはセカンダリのうち、表示されるテキストサブタイトルデータをデコードし、これを後段のスイッチ７７に出力する。
【０３３４】
ステップＳ１２０において、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３またはText-STコンポジション７６からのデータのいずれかを選択する。具体的には、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれか１つを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。
【０３３５】
ステップＳ１２１において、バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、バックグラウンドプレーンを生成する。
【０３３６】
ステップＳ１２２において、ビデオプレーン生成部９２は、pip_metadataを参照したコントローラ３４の制御に基づいて、1stビデオデコーダ７２−１および2ndビデオデコーダ７２−２から供給されたビデオデータを合成して、図５を用いて説明したような、主表示画面１および副表示画面２により構成されるビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。
【０３３７】
具体的には、ビデオプレーン生成部９２は、例えば、図９、図１１、または図１２を用いて説明したpip_metadataを参照したコントローラ３４の制御に基づいて、ポジショニング、スケーリングしたセカンダリビデオストリームをプライマリビデオストリームに合成して、図５を用いて説明したような、主表示画面１および副表示画面２により構成されるビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。
【０３３８】
ここで、図４３を参照して、ポジショニングとスケーリングの詳細について説明する。
【０３３９】
図９、図１１、または図１２を用いて説明したpip_metadataに示したように、pip_horizontal_positionは、例えば、図５の主表示画面１上において、セカンダリビデオが表示される副表示画面２の左上隅のX座標を示し、pip_vertical_positionは、例えば、図５の主表示画面１上において、セカンダリビデオが表示される副表示画面２の左上隅のY座標を示す。また、pip_scaleは、セカンダリビデオが表示される副表示画面２の大きさに関する情報を示す。
【０３４０】
すなわち、図４３に示すように、Primary Video plane（プライマリビデオプレーン）上において、pip_scaleに基づいて所定の大きさに調節されたスケーリングセカンダリビデオ（Scaled Secondary Video）は、プライマリビデオプレーンの左上隅から、X軸方向にpip_horizontal_position、Y軸方向にpip_vertical_positionとなる位置が、スケーリングセカンダリビデオの左上隅となるように配置されることになる。
【０３４１】
また、このとき、図１２を用いて説明したpip_metadataにおいて、“is_luma_key=1”である場合、ビデオプレーン生成部９２は、プライマリビデオストリームとセカンダリビデオストリームとをluma_keying合成して、ビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。
【０３４２】
ここで、luma_keying合成とは、図１２のpip_metadataにより説明したように、明るさ（輝度値）の成分差を利用して不要な部分を切り抜いた画像を、映像に重ねて合成する手法である。次に、図４４および図４５を参照して、luma_keying合成の詳細について説明する。
【０３４３】
図４４は、luma_keying合成前のPrimary Video（プライマリビデオ）とSecondary Video（セカンダリビデオ）を示す図である。
【０３４４】
図中右側のプライマリビデオと、左側のセカンダリビデオとをluma_keying合成する場合、図１２のpip_metadataを用いて説明したように、lower_limit_luma_keyにより示される輝度値の下限から、upper_limit_luma_keyにより示される輝度値の上限までの範囲に含まれる、セカンダリビデオの輝度値を透明にし、そのセカンダリビデオをプライマリビデオに合成する。
【０３４５】
すなわち、lower_limit_luma_keyとupper_limit_luma_keyで定義された輝度値の下限と上限の範囲が取り除かれたセカンダリビデオがプライマリビデオに重ねて合成される。具体的には、図４４で示されるように、左側のセカンダリビデオの平行四辺形と円以外のハッチングされた領域は、輝度値の下限と上限の範囲内の輝度値となるので透明となり、そのように処理された左側のセカンダリビデオが、右側のプライマリビデオに重ねて合成される。
【０３４６】
図４５は、luma_keying合成後のプライマリビデオとセカンダリビデオを示す図である。
【０３４７】
luma_keying合成後のプライマリビデオとセカンダリビデオは、図４５に示すように、セカンダリビデオの平行四辺形と円以外の領域は透明となっているので、セカンダリビデオの領域のうち、平行四辺形と円の領域のみが、プライマリビデオと合成されることになる。
【０３４８】
なお、図４５では、説明を分かり易くするために、セカンダリビデオの領域を点線によって表現しているが、実際には、この点線が表示されることはない。
【０３４９】
図４２のフローチャートに戻り、ステップＳ１２３において、プレゼンテーショングラフィックスプレーン生成部９３は、ステップＳ５８の処理でスイッチ７７により選択され、供給されたプレゼンテーショングラフィックスデコーダ７３からのデータまたはText-STコンポジション７６からのデータに基づいて、プレゼンテーショングラフィックスプレーンを生成する。
【０３５０】
ステップＳ１２４において、インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成する。
【０３５１】
ステップＳ１２５において、バッファ９５は、ステップＳ４３の処理で選択され、供給されたサウンドデータをバッファリングし、所定のタイミングでミキシング処理部９７に供給する。
【０３５２】
ステップＳ１２６において、ビデオデータ処理部９６は、各プレーンのデータを合成し、出力する。具体的には、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、およびインタラクティブグラフィックスプレーン生成部９４からのデータを合成し、ビデオデータとして出力する。
【０３５３】
ステップＳ１２７において、ミキシング処理部１０１は、1stオーディオデコーダ７５−１から出力されたプライマリオーディオデータ、および、2ndオーディオデコーダ７５−２から出力されたセカンダリオーディオデータを合成し、ミキシング処理部９７に供給する。
【０３５４】
ステップＳ１２８において、ミキシング処理部９７は、ミキシング処理部１０１から出力された、合成されたオーディオデータとサウンドデータをミキシング（合成）し、出力して、処理は、図３６のステップＳ９に戻り、ステップＳ１０に進むか、または、図３６のステップＳ１５に戻り、ステップＳ１６に進む。
【０３５５】
図４０乃至図４２を用いて説明した処理により、PlayListに含まれるメインパスとサブパスによりメインClip、サブClip、およびテキストサブタイトルデータが参照され、再生される。PlayListにメインパスとサブパスを設けるようにし、サブパスで、メインパスで指定するClipＡＶストリームファイルとは異なるClipを指定可能な構成とし、プライマリビデオストリームの表示画像にセカンダリビデオストリームの表示画像を重畳させることができる。
【０３５６】
このとき、セカンダリビデオストリームの表示画像の大きさと表示位置を設定することができるようにしたので、副表示画面の表示位置や表示の大きさが再生装置に依存してあらかじめ定められている場合と比較して、コンテンツによって、または、表示されるタイミングによって、プライマリビデオストリームの表示の邪魔とならない位置や大きさでセカンダリビデオストリームを表示させるようにしたり、または、セカンダリビデオストリームの内容に応じて、例えば、重要な内容であれば、目立つ位置に大きく表示させたり、重要でない内容であれば、主表示画面１の端に小さく表示させるようにすることなどが可能である。
【０３５７】
また、セカンダリビデオストリームの表示画像の大きさと表示位置は、コンテンツの製作者、または、コンテンツの配給元が、適宜定めることができる。
【０３５８】
なお、図４０乃至図４２において、ステップＳ１０５，ステップＳ１０６の処理は、その順番が逆であってもよいし、平行して実行されてもよい。また、ステップＳ１０７、ステップＳ１０９の処理も、その順番が逆であってもよいし、平行して実行されてもよい。さらに、ステップＳ１１２乃至ステップＳ１１９の処理も、その順番が逆であってもよいし、平行して実行されてもよい。また、ステップＳ１２１乃至ステップＳ１２４の処理も、その順番が逆であってもよいし、平行して実行されてもよい。さらに、ステップＳ１２６の処理と、ステップＳ１２７およびステップＳ１２８の処理も、その順番が逆であってもよいし、平行して実行されてもよい。すなわち、図３５において、縦に同じ階層のバッファ５１乃至５４の処理、スイッチ５７乃至５９の処理、デコーダ７１乃至７６の処理、プレーン生成部９１乃至９４の処理、ビデオデータ処理部９６およびミキシング処理部９７の処理は、それぞれ、平行して実行されてもよいし、その順番は問わない。
【０３５９】
以上の処理をまとめると、以下のようになる。
【０３６０】
再生装置２０は、少なくとも１つのストリームを含むメインClipＡＶストリームファイルの位置を示す主の再生パスであるメインパスと、メインClipＡＶストリームファイルとは異なる再生パスで再生されるサブClipＡＶストリームファイルの再生パスであるサブパスの情報を含んで構成される再生管理情報としてのPlayListを取得する。そして、再生装置２０は、PlayListに含まれる再生するストリームを選択するためのSTN_table()に基づいて、再生するストリームの選択を受け付ける。STN_table()は、メインClipＡＶストリームファイルの所定の種類のストリーム（例えば、プライマリビデオストリーム）と、そのストリームの再生のタイミングに合わせて、または、非同期で再生される他のストリームファイルを選択するための情報であるので、このSTN_table()に基づいて、再生するストリームの選択を受け付けることができる。
【０３６１】
また、PlayList Subpath_typeがIn-Muxのものであれば、メインパスとサブパスが同一Clipを参照することができ、さらにサブパスを追加することができるので、ストリームに拡張性を持たせることができる。また、１つのSub Pathで複数のファイルを参照可能な構成としたので（例えば、図４）、複数の異なるストリームの中からユーザが選択することができる。
【０３６２】
さらに、Main PathのPlayItemの中に、Main Pathにより参照されるＡＶストリームファイルに多重化されている（含まれる）付属データ（例えば、オーディオストリーム）と、Sub Pathにより参照される付属データとを定義するテーブルとして、図２３、並びに、図３３および図３４のSTN_table()を設けるようにしたので、より、拡張性の高いストリームを実現することができる。また、STN_table()にエントリーすれば、Sub Pathを容易に拡張することができる。
【０３６３】
また、STN_table()にストリームの属性情報である図２５のstream_attribute()を設けるようにしたので、再生装置２０側で、選択されたストリームを再生可能か否かを判定することができる。さらに、stream_attribute()を参照することで、再生機能を有するストリームだけを選択して再生することができる。
【０３６４】
さらに、STN_table()（図２３、並びに、図３３および図３４）において、２つの同じ種類のストリームファイル（ここでは、プライマリビデオストリームファイルとセカンダリビデオストリームファイル、または、プライマリオーディオストリームファイルとセカンダリオーディオストリームファイル）を定義するようにした。さらに、図３５の再生装置２０に２つのビデオデコーダ（1stビデオデコーダ７２−１と2ndビデオデコーダ７２−２）および２つのオーディオデコーダ（1stオーディオデコーダ７５−１と2ndオーディオデコーダ７５−２）を設けた。そして、２つのビデオデコーダによりデコードされたプライマリビデオデータとセカンダリビデオデータを合成（ミキシング）するビデオプレーン生成部９２を設け、２つのオーディオデコーダによりデコードされたオーディオデータを合成するミキシング処理部１０１を設けるようにした。これにより、２つの同じ種類のストリームを組み合わせて同時に再生することができる。
【０３６５】
すなわち、本発明を適用した再生装置においては、図５に示されるように、プライマリビデオストリームを主画面に表示させ、主画面の中に、セカンダリストリームを子画面として合成して表示させる、いわゆるPinP（ピクチャインピクチャ）表示が可能である。
【０３６６】
また、このとき、pip_metadataによって、ピクチャインピクチャ表示におけるセカンダリビデオストリームの表示画像の大きさと表示位置を設定することができるようにした。これにより、副表示画面の表示位置や表示の大きさが再生装置に依存してあらかじめ定められている場合と比較して、コンテンツによって、または、表示されるタイミングによって、プライマリビデオストリームの表示の邪魔とならない位置や大きさでセカンダリビデオストリームを表示させるようにしたり、または、セカンダリビデオストリームの内容に応じて、例えば、重要な内容であれば、目立つ位置に大きく表示させたり、重要でない内容であれば、主表示画面１の端に小さく表示させるようにすることなどが可能である。
【０３６７】
また、セカンダリビデオストリームの表示画像の大きさと表示位置は、コンテンツの製作者、または、コンテンツの配給元が、適宜定めることができる。
【０３６８】
また、pip_metadataには、セカンダリビデオストリームの表示画像の大きさと表示位置以外に、このピクチャインピクチャの表示の設定を示す情報を記載することができる。セカンダリビデオストリームが表示される副表示画面２の位置と大きさを示す情報以外に、例えば、セカンダリビデオストリームの原映像に対して表示される映像の回転や色の指定などに関する情報を記載することができる。
【０３６９】
ここで、セカンダリビデオストリームの表示画像の大きさと表示位置をはじめとする表示に関する情報は、セカンダリビデオストリームには記載されず、セカンダリビデオストリームの再生を制御するためのプレイリストに記載される。すなわち、セカンダリビデオストリームを変更することなく、その表示形式のみを変更したい場合（例えば、セカンダリビデオストリームの表示位置のみを変更したり、表示の大きさを変更したい場合など）、再生装置の設定や、セカンダリビデオストリーム自体に手を加えることなく、プレイリストのpip_metadataの記載のみを更新するようにすればよい。
【０３７０】
また、第１のコンテンツと第２のコンテンツにおいて、同一のセカンダリビデオストリームを、異なる表示方法で表示させること（例えば、同一のセカンダリビデオストリームを、第１のコンテンツでは大きく、第２のコンテンツでは小さく表示させることなど）が非常に容易である。すなわち、セカンダリビデオストリーム自体のデータをそれぞれ変更することなく、第１のコンテンツと第２のコンテンツのそれぞれにおいて、プレイリストのpip_metadataに、所望する表示形式を示す情報を記載することにより、第１のコンテンツと第２のコンテンツにおいて、同一のセカンダリビデオストリームを、コンテンツ作成者またはコンテンツ配給元が所望する異なる表示方法で表示させることが可能となる。
【０３７１】
また、セカンダリビデオストリームの表示画像の大きさと表示位置をはじめとする表示に関する情報が、時間情報をはじめとする詳細な再生管理情報を有するプレイリストに記載されるので、セカンダリビデオの表示を詳細に設定することが可能となる。
【０３７２】
また、Sub Pathには、図２０に示されるように、Sub Pathのタイプ（オーディオやテキスト字幕といった種類と、メインパスと同期しているか否かを示すタイプ）を示すSubPath_type、Sub Pathが参照するサブClipの名を示す図２１のClip_Information_file_name、およびSub Pathが参照するClipのイン点を示す図２１のSubPlayItem_IN_timeとアウト点を示す図２１のSubPlayItem_OUT_timeを含むようにしたので、Sub Pathが参照するデータを的確に特定することができる。
【０３７３】
なお、図３５のストレージドライブ３１が読み出すデータは、DVD（Digital Versatile Disc）などの記録媒体に記録されているデータであってもよいし、ハードディスクに記録されているデータであってもよいし、図示せぬネットワークを介してダウンロードしたデータであってもよいし、これらが組み合わされたデータでもよい。例えば、ダウンロードされ、ハードディスクに記録されたPlayListおよびサブClipと、DVDに記録されたメインClipＡＶストリームファイルに基づいて、再生されてもよい。また、例えば、DVDに記録されたClipＡＶストリームファイルをサブClipとするようなPlayListとメインClipがハードディスクに記録されている場合に、ハードディスクに記録されているPlayListに基づいて、メインClipとサブClipがそれぞれ、ハードディスクとDVDから読み出され再生されてもよい。
【０３７４】
なお、セカンダリビデオの位置、大きさなどが再生装置２０（プレーヤ）の機能で変更するようにすることもできるが、この場合、オーサが意図した大きさなどにならないときがある。一方、本願発明のように管理情報であるPlaylistで大きさ、位置などを管理すれば、例えばROMディスクの取得後に位置などを変更させたい場合であっても、実際のClipに変更を加えなくても、サイズが比較的小さいプレイリストを取得するだけで、オーサが意図したとおりにセカンダリビデオの位置などを変更することができる。
【０３７５】
次に、図４６および図４７を参照して、再生装置２０において再生可能なデータが記録された記録媒体２１の製造方法について、記録媒体２１がディスク状の記録媒体だった場合を例として説明する。
【０３７６】
すなわち、図４６に示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
【０３７７】
そして、図４７に示すように、ソフト製作処理部において、符号化装置（ビデオエンコーダ）で符号化された、再生装置２０において再生可能な形式のビデオデータが、一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが、一時バッファに記憶されるとともに、更に、データエンコーダで符号化された、ストリーム以外のデータ（例えば、Indexes、Playlist、PlayItemなど）が一時バッファに記憶される。それぞれのバッファに記憶されたビデオデータ、オーディオデータ、および、ストリーム以外のデータは、多重化器（ＭＰＸ）で同期信号と共に多重化され、誤り訂正符号回路（ＥＣＣ）でエラー訂正用のコードが付加される。そして、変調回路（ＭＯＤ）で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、再生装置２０において再生可能な記録媒体２１に記録されるソフトウェアが製作される。
【０３７８】
このソフトウェアを必要に応じて編集（プリマスタリング）し、光ディスクに記録すべきフォーマットの信号が生成される。そして、図４６に示すように、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
【０３７９】
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳などの処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
【０３８０】
この成形用金型に、例えばインジェクションなどによりＰＭＭＡ（アクリル）またはＰＣ（ポリカーボネート）などの材料を注入し、固定化させる。あるいは、金属スタンパ上に２Ｐ（紫外線硬化樹脂）などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
【０３８１】
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
【０３８２】
その後、このディスクに対して内外径の加工が施され、２枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして再生装置２０によって再生可能なデータが記録された記録媒体２１が完成する。
【０３８３】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した処理は、図４８に示されるようなパーソナルコンピュータ５００により実行される。
【０３８４】
図４８において、CPU（Central Processing Unit）５０１は、ROM(Read Only Memory)５０２に記憶されているプログラム、または、記憶部５０８からRAM(Random Access Memory)５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【０３８５】
CPU５０１、ROM５０２、およびRAM５０３は、内部バス５０４を介して相互に接続されている。この内部バス５０４にはまた、入出力インターフェース５０５も接続されている。
【０３８６】
入出力インターフェース５０５には、キーボード、マウスなどよりなる入力部５０６、CRT（Cathode Ray Tube），LCD（Liquid Crystal Display）などよりなるディスプレイ、スピーカなどよりなる出力部５０７、ハードディスクなどより構成される記憶部５０８、並びに、モデム、ターミナルアダプタなどより構成される通信部５０９が接続されている。通信部５０９は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
【０３８７】
入出力インターフェース５０５にはまた、必要に応じてドライブ５１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア５２１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部５０８にインストールされる。
【０３８８】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークやプログラム格納媒体からインストールされる。
【０３８９】
このプログラム格納媒体は、図４８に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア５２１よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM５０２や記憶部５０８が含まれるハードディスクなどで構成される。
【０３９０】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０３９１】
【図１】本発明を適用した再生装置に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。
【図２】メインパスとサブパスの構造を説明する図である。
【図３】メインパスとサブパスの例を説明する図である。
【図４】メインパスとサブパスの別の例を説明する図である。
【図５】主表示画面と副表示画面について説明する図である。
【図６】再生可能なデータファイルのファイルシステムの例を示す図である。
【図７】PLAYLISTディレクトリに格納される、拡張子「.mpls」を有するPlayListファイルのデータ構造を示す図である。
【図８】PlayListExtensionData()のシンタクスを示す図である。
【図９】data_blockに記載されるpip_metadataのシンタクスの第１の例を説明する図である。
【図１０】図９のpip_metadata_typeの値とその意味を説明する図である。
【図１１】data_blockに記載されるpip_metadataのシンタクスの第２の例を説明する図である。
【図１２】data_blockに記載されるpip_metadataのシンタクスの第３の例を説明する図である。
【図１３】図１２のpip_scaleの値とその意味を説明する図である。
【図１４】図１２のpip_timeline_typeの値とその意味を説明する図である。
【図１５】図１２のpip_timeline_type =1のときのpip_metadata_time_stampの意味を説明する図である。
【図１６】図１２のpip_timeline_type =2のときのpip_metadata_time_stampの意味を説明する図である。
【図１７】図１２のpip_timeline_type =3のときのpip_metadata_time_stampの意味を説明する図である。
【図１８】PlayList()のシンタクスを示す図である。
【図１９】SubPath()のシンタクスを示す図である。
【図２０】SubPath_typeを説明する図である。
【図２１】SubPlayItem(i)のシンタクスを示す図である。
【図２２】PlayItem()のシンタクスを示す図である。
【図２３】STN_table()のシンタクスを示す図である。
【図２４】stream_entry()のシンタクスを示す図である。
【図２５】stream_attribute()のシンタクスを示す図である。
【図２６】stream_cording_typeを説明する図である。
【図２７】video_formatを説明する図である。
【図２８】frame_rateを説明する図である。
【図２９】aspect_ratioを説明する図である。
【図３０】audio_presentation_typeを説明する図である。
【図３１】sampling_frequencyを説明する図である。
【図３２】Character codeを説明する図である。
【図３３】STN_table()のシンタクスを示す図である。
【図３４】STN_table()のシンタクスを示す図である。
【図３５】本発明を適用した再生装置の構成例を示すブロック図である。
【図３６】図３５の再生装置における再生処理を説明するフローチャートである。
【図３７】プライマリビデオ再生処理を説明するフローチャートである。
【図３８】プライマリビデオ再生処理を説明するフローチャートである。
【図３９】プライマリビデオ再生処理を説明するフローチャートである。
【図４０】プライマリおよびセカンダリビデオ再生処理を説明するフローチャートである。
【図４１】プライマリおよびセカンダリビデオ再生処理を説明するフローチャートである。
【図４２】プライマリおよびセカンダリビデオ再生処理を説明するフローチャートである。
【図４３】ポジショニングとスケーリングを説明する図である。
【図４４】luma_keying合成を説明する図である。
【図４５】luma_keying合成を説明する図である。
【図４６】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【図４７】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【図４８】パーソナルコンピュータの構成を示す図である。
【符号の説明】
【０３９２】
１  主表示画面，  ２  副表示画面，  ２０  再生装置，  ３１  ストレージドライブ，  ３２  スイッチ，  ３３  ＡＶデコーダ部，  ３４  コントローラ，  ５１乃至５４  バッファ，  ５５，５６  PIDフィルタ，  ５７乃至５９  スイッチ，  ７１  バックグラウンドデコーダ，  ７２−１  1stビデオデコーダ，  ７２−２  2ndビデオデコーダ，  ７３  プレゼンテーショングラフィックスデコーダ，  ７４  インタラクティブグラフィックスデコーダ，  ７５  オーディオデコーダ，  ７６  Text-STコンポジション，  ７７  スイッチ，  ９１  バックグラウンドプレーン生成部，  ９２  ビデオプレーン生成部，  ９３  プレゼンテーショングラフィックスプレーン生成部，  ９４  インタラクティブグラフィックスプレーン生成部，  ９５  バッファ  ９６  ビデオデータ処理部，  ９７  ミキシング処理部，  １０１  ミキシング処理部
【図１】
2008022568.tif 000003
【図２】
2008022568.tif 000004
【図３】
2008022568.tif 000005
【図４】
2008022568.tif 000006
【図５】
2008022568.tif 000007
【図６】
2008022568.tif 000008
【図７】
2008022568.tif 000009
【図８】
2008022568.tif 000010
【図９】
2008022568.tif 000011
【図１０】
2008022568.tif 000012
【図１１】
2008022568.tif 000013
【図１２】
2008022568.tif 000014
【図１３】
2008022568.tif 000015
【図１４】
2008022568.tif 000016
【図１５】
2008022568.tif 000017
【図１６】
2008022568.tif 000018
【図１７】
2008022568.tif 000019
【図１８】
2008022568.tif 000020
【図１９】
2008022568.tif 000021
【図２０】
2008022568.tif 000022
【図２１】
2008022568.tif 000023
【図２２】
2008022568.tif 000024
【図２３】
2008022568.tif 000025
【図２４】
2008022568.tif 000026
【図２５】
2008022568.tif 000027
【図２６】
2008022568.tif 000028
【図２７】
2008022568.tif 000029
【図２８】
2008022568.tif 000030
【図２９】
2008022568.tif 000031
【図３０】
2008022568.tif 000032
【図３１】
2008022568.tif 000033
【図３２】
2008022568.tif 000034
【図３３】
2008022568.tif 000035
【図３４】
2008022568.tif 000036
【図３５】
2008022568.tif 000037
【図３６】
2008022568.tif 000038
【図３７】
2008022568.tif 000039
【図３８】
2008022568.tif 000040
【図３９】
2008022568.tif 000041
【図４０】
2008022568.tif 000042
【図４１】
2008022568.tif 000043
【図４２】
2008022568.tif 000044
【図４３】
2008022568.tif 000045
【図４４】
2008022568.tif 000046
【図４５】
2008022568.tif 000047
【図４６】
2008022568.tif 000048
【図４７】
2008022568.tif 000049
【図４８】
2008022568.tif 000050