(57)【特許請求の範囲】
【請求項１】
少なくとも１つのストリームの時間軸上の位置を示す主の再生パス、少なくとも１つの他のストリームの時間軸上の位置を示す１以上の副の再生パス、および、再生するストリームを選択するための選択情報であって、前記主の再生パスにより参照されて時間軸上の位置が示された１以上の前記ストリームのうちの１以上の種類のストリームを選択し、１以上の前記副の再生パスのうちのいずれかにより参照されて時間軸上の位置が示された１以上の種類のストリームを選択するための前記選択情報を含む再生管理情報を取得する取得部と、
ユーザによる操作入力の補助となる情報を表示する表示画面を表示させる表示制御部と、
前記表示制御部により表示された前記表示画面を参照した前記ユーザからの、再生するストリームの選択を受け付ける受付部と、
再生するストリームの選択が前記受付部により受け付けられた場合、前記主の再生パスにより参照されて時間軸上の位置が示された１以上の前記ストリームのうちの選択が受け付けられたストリームを、前記主の再生パスを参照して読み出すとともに、１以上の前記副の再生パスのうちのいずれかにより参照されて時間軸上の位置が示された１以上の前記ストリームのうちの選択が受け付けられたストリームを、対応する前記副の再生パスを参照して読み出す読み出し部と、
前記読み出し部により読み出された前記主の再生パスにより参照されて時間軸上の位置が示された前記ストリームと前記副の再生パスにより参照されて時間軸上の位置が示された前記ストリームの中に、所定の種類のストリームが２以上含まれていた場合、前記所定の種類の２以上のストリームを合成する合成部と
を備え、
前記選択情報には、組み合わせて再生が可能な、前記主の再生パスにより参照されて時間軸上の位置が示された前記所定の種類の第１のストリームと、前記副の再生パスにより参照されて時間軸上の位置が示された前記所定の種類の第２のストリームとの組み合わせを示す情報がさらに含まれ、
前記表示制御部は、前記第１のストリームと同期して再生させる前記第２のストリームの選択が前記受付部により受け付けられた場合、前記第２のストリームに対応して再生可能なストリームの一覧を前記表示画面に表示させ、
前記受付部は、前記表示制御部により表示された前記表示画面を参照した前記ユーザからの、前記第２のストリームに対応して再生可能なストリームの選択を受け付け、
前記読み出し部は、前記主の再生パスにより参照される前記所定の種類の前記第１のストリームとともに、１以上の前記副の再生パスのうちの所定のものにより参照される前記所定の種類の前記第２のストリームを読み出し、
前記合成部は、前記読み出し部により読み出された前記所定の種類の前記第１のストリームと前記第２のストリームとを合成する
再生装置。
【請求項２】
前記主の再生パスにより参照されて時間軸上の位置が示された前記所定の種類のストリームは、第１のビデオストリームである
請求項１に記載の再生装置。
【請求項３】
少なくとも１つのストリームの時間軸上の位置を示す主の再生パス、少なくとも１つの他のストリームの時間軸上の位置を示す１以上の副の再生パス、および、再生するストリームを選択するための選択情報であって、前記主の再生パスにより参照されて時間軸上の位置が示された１以上の前記ストリームのうちの１以上の種類のストリームを選択し、１以上の前記副の再生パスのうちのいずれかにより参照されて時間軸上の位置が示された１以上の種類のストリームを選択するための前記選択情報を含む再生管理情報を取得し、
ユーザによる操作入力の補助となる情報を表示する表示画面を表示させ、
表示した前記表示画面を参照した前記ユーザからの、再生するストリームの選択を受け付け、
再生するストリームの選択を受け付けた場合、前記主の再生パスにより参照されて時間軸上の位置が示された１以上の前記ストリームのうちの選択が受け付けられたストリームを、前記主の再生パスを参照して読み出すとともに、１以上の前記副の再生パスのうちのいずれかにより参照されて時間軸上の位置が示された１以上の前記ストリームのうちの選択が受け付けられたストリームを、対応する前記副の再生パスを参照して読み出し、
読み出した前記主の再生パスにより参照されて時間軸上の位置が示された前記ストリームと前記副の再生パスにより参照されて時間軸上の位置が示された前記ストリームの中に、所定の種類のストリームが２以上含まれていた場合、前記所定の種類の２以上のストリームを合成する
ステップを含み、
前記選択情報には、組み合わせて再生が可能な、前記主の再生パスにより参照されて時間軸上の位置が示された前記所定の種類の第１のストリームと、前記副の再生パスにより参照されて時間軸上の位置が示された前記所定の種類の第２のストリームとの組み合わせを示す情報がさらに含まれ、
前記第１のストリームと同期して再生させる前記第２のストリームの選択を受け付けた場合、前記第２のストリームに対応して再生可能なストリームの一覧を前記表示画面に表示させ、
表示した前記表示画面を参照した前記ユーザからの、前記第２のストリームに対応して再生可能なストリームの選択を受け付け、
前記主の再生パスにより参照される前記所定の種類の前記第１のストリームとともに、１以上の前記副の再生パスのうちの所定のものにより参照される前記所定の種類の前記第２のストリームを読み出し、
読み出した前記所定の種類の前記第１のストリームと前記第２のストリームとを合成する
再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、再生装置、および再生方法に関し、特に、メインのＡＶストリームとともに再生する各種のデータを選択することができるようにする再生装置、および再生方法に関する。
【背景技術】
【０００２】
DVD（Digital Versatile Disc）ビデオの規格においては、記録媒体に記録されている映画などのＡＶ（Audio Visual）コンテンツを再生する場合、ユーザに、音声切り替えや字幕切り替えというインタラクティブな操作を提供している（例えば、非特許文献１参照）。具体的には、図１の表示装置１に表示されているＡＶコンテンツに対して、ユーザは、リモートコントローラ２の音声切り替えボタン１１や字幕切り替えボタン１２を操作することで、音声の切り替えや字幕を切り替える。例えば、音声１が初期状態として設定されており、ユーザによりリモートコントローラ２の音声切り替えボタン１１が操作された場合、図２に示されるように、音声１が音声２に切り替えられる。
【０００３】
DVDビデオ上のＡＶコンテンツは、MPEG（Moving Picture Experts Group）２プログラムストリームの形式で記録されている。このMPEG２プログラムストリームには、図３に示されるように、ビデオストリーム（図３のビデオ）、複数のオーディオストリーム（図３のオーディオ１，２，３）、および複数のサブピクチャストリーム（図３のサブピクチャ１，２，３）が、ビデオストリームにＡＶ同期して再生されるように多重化されている。
サブピクチャストリーム（サブピクチャ１，２，３）は、ビットマップ画像がランレングス符号化されたストリームであり、主に字幕用途に用いられる。
【０００４】
一般に、複数のオーディオストリームは、異なる言語の音声を記録するために用いられ、複数のサブピクチャストリームは、異なる言語の字幕を記録するために用いられる。ユーザは、ビデオが再生されている場合、インタラクティブに所望の言語の音声や字幕を、リモートコントローラ２を用いて選択することができる。
【０００５】
また、DVDビデオは、プログラムストリームの中の複数のオーディオストリーム（オーディオ１，２，３）と複数のサブピクチャストリーム（サブピクチャ１，２，３）に対して、ユーザに提供する音声番号と字幕番号の関係を表すテーブル構造を定義している。
【０００６】
図４は、ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルを説明する図である。ここでは、音声番号をＡ＿ＳＮ（Audio Stream Number）と称し、字幕番号をＳ＿ＳＮ（SubPicture Stream Number）と称する。図４においては、MPEG２プログラムストリームの複数のオーディオストリームのそれぞれにＡ＿ＳＮが与えられているとともに、MPEG２プログラムストリームの複数のサブピクチャストリームのそれぞれに、Ｓ＿ＳＮが与えられている。Ａ＿ＳＮ＝１：オーディオ２であり、Ａ＿ＳＮ＝２：オーディオ１であり、Ａ＿ＳＮ＝３：オーディオ３である。また、Ｓ＿ＳＮ＝１：サブピクチャ３であり、Ｓ＿ＳＮ＝２：サブピクチャ１であり、Ｓ＿ＳＮ＝３：サブピクチャ２である。ここでは、Ａ＿ＳＮやＳ＿ＳＮの番号が小さい程、ユーザに提供される音声信号として優先度が高い。すなわち、Ａ＿ＳＮ＝１はデフォルトで再生されるオーディオストリームであり、Ｓ＿ＳＮ＝１はデフォルトで再生されるサブピクチャストリームである。
【０００７】
具体的には、図１の初期状態で再生される音声１は、Ａ＿ＳＮ＝１であるオーディオ２（図４）に対応しており、音声が切り替えられた後、図２で再生される音声２は、Ａ＿ＳＮ＝２であるオーディオ１（図４）に対応している。
【０００８】
また、追加して記録された音声（例えば、いわゆるアフレコと称される音声）を再生するために、Sub pathが用いられている技術がある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−１５８９７２号公報
【非特許文献】
【００１０】
【非特許文献１】DVD Specifications for Read-Only Disc Part 3;Version1.1
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、DVDビデオでは、プログラムストリームのビデオを再生している場合に、ユーザによる音声切り替えや字幕切り替えという操作は、再生しているプログラムストリームに多重化されているオーディオストリームとサブピクチャストリームの中からしか、選ぶことができなかった。すなわち、図３に示されるようなMPEG２プログラムストリームを再生している場合に、音声の切り替えを行う場合、選択肢はオーディオ１乃至３のいずれか１つとなる。
【００１２】
そのため、再生しているプログラムストリームとは別の他のストリームでオーディオストリームと字幕を用意した場合、ユーザは、音声の切り替えの操作が、他のストリームから選択することができないため、拡張性がないという問題があった。
【００１３】
さらに、将来的には、切り替え対象のコンテンツとして、音声のみならず映像等、様々な種類のコンテンツが対象となることが想定されている。従って、将来的には、これらの様々な種類のコンテンツの切り替えの操作が、他のストリームから選択することができないため、拡張性がないという問題にまで発展してしまうことになる。
【００１４】
また、特許文献１に記載の技術では、たしかに、追加して記録された音声（例えば、いわゆるアフレコと称される音声）を再生するために、Sub pathが用いられているが、２つの同一の種類のストリーム、すなわち、２つのオーディオストリームや２つのビデオストリームを合成して再生するための構成についてはなんら開示されていない。
【００１５】
本技術は、このような状況に鑑みてなされたものであり、メインのＡＶストリームとともに再生する各種のデータを選択することができるようにするものである。
【課題を解決するための手段】
【００１６】
本技術の一側面の再生装置は、少なくとも１つのストリームの時間軸上の位置を示す主の再生パス、少なくとも１つの他のストリームの時間軸上の位置を示す１以上の副の再生パス、および、再生するストリームを選択するための選択情報であって、前記主の再生パスにより参照されて時間軸上の位置が示された１以上の前記ストリームのうちの１以上の種類のストリームを選択し、１以上の前記副の再生パスのうちのいずれかにより参照されて時間軸上の位置が示された１以上の種類のストリームを選択するための前記選択情報を含む再生管理情報を取得する取得部と、ユーザによる操作入力の補助となる情報を表示する表示画面を表示させる表示制御部と、前記表示制御部により表示された前記表示画面を参照した前記ユーザからの、再生するストリームの選択を受け付ける受付部と、再生するストリームの選択が前記受付部により受け付けられた場合、前記主の再生パスにより参照されて時間軸上の位置が示された１以上の前記ストリームのうちの選択が受け付けられたストリームを、前記主の再生パスを参照して読み出すとともに、１以上の前記副の再生パスのうちのいずれかにより参照されて時間軸上の位置が示された１以上の前記ストリームのうちの選択が受け付けられたストリームを、対応する前記副の再生パスを参照して読み出す読み出し部と、前記読み出し部により読み出された前記主の再生パスにより参照されて時間軸上の位置が示された前記ストリームと前記副の再生パスにより参照されて時間軸上の位置が示された前記ストリームの中に、所定の種類のストリームが２以上含まれていた場合、前記所定の種類の２以上のストリームを合成する合成部とを備え、前記選択情報には、組み合わせて再生が可能な、前記主の再生パスにより参照されて時間軸上の位置が示された前記所定の種類の第１のストリームと、前記副の再生パスにより参照されて時間軸上の位置が示された前記所定の種類の第２のストリームとの組み合わせを示す情報がさらに含まれ、前記表示制御部は、前記第１のストリームと同期して再生させる前記第２のストリームの選択が前記受付部により受け付けられた場合、前記第２のストリームに対応して再生可能なストリームの一覧を前記表示画面に表示させ、前記受付部は、前記表示制御部により表示された前記表示画面を参照した前記ユーザからの、前記第２のストリームに対応して再生可能なストリームの選択を受け付け、前記読み出し部は、前記主の再生パスにより参照される前記所定の種類の前記第１のストリームとともに、１以上の前記副の再生パスのうちの所定のものにより参照される前記所定の種類の前記第２のストリームを読み出し、前記合成部は、前記読み出し部により読み出された前記所定の種類の前記第１のストリームと前記第２のストリームとを合成する。
【００１７】
前記主の再生パスにより参照されて時間軸上の位置が示された前記所定の種類のストリームは、第１のビデオストリームであるようにすることができる。
【発明の効果】
【００１８】
本技術によれば、メインのＡＶストリームとともに再生する各種のデータを選択することができる。
【図面の簡単な説明】
【００１９】
【図１】従来の音声切り替えを説明する図である。
【図２】従来の音声切り替えを説明する図である。
【図３】MPEG２プログラムストリームの構成を説明する図である。
【図４】ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルを説明する図である。
【図５】本発明を適用した再生装置に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。
【図６】メインパスとサブパスの構造を説明する図である。
【図７】メインパスとサブパスの例を説明する図である。
【図８】メインパスとサブパスの別の例を説明する図である。
【図９】PlayList()のシンタクスを示す図である。
【図１０】SubPath()のシンタクスを示す図である。
【図１１】SubPath_typeを説明する図である。
【図１２】SubPlayItem(i)のシンタクスを示す図である。
【図１３】PlayItem()のシンタクスを示す図である。
【図１４】第１のSTN_table()のシンタクスを示す図である。
【図１５】stream_entry()のシンタクスの第1の例を示す図である。
【図１６】第２の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()のシンタクスの例を示す図である。
【図３８】Combination_of_Primary_and_Secondaryのビットマップシンタクスの例を示す図である。
【図３９】ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルの他の例を説明する図である。
【図４０】２つのオーディオをミキシング再生する他の例を説明する図である。
【図４１】オーディオストリーム＃１とオーディオストリーム＃２の組み合わせを定義する第５のSTN_table()のシンタクスの例を示す図である。
【図４２】オーディオストリーム＃１とオーディオストリーム＃２の組み合わせを定義する第６のSTN_table()のシンタクスの例を示す図である。
【図４３】ピクチャインピクチャ手法を説明する図である。
【図４４】プライマリビデオストリームと組み合わせて同時再生される、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義する場合の第６のSTN_table()のシンタクスの例を示す図である。
【図４５】プライマリビデオストリームと組み合わせて同時再生される、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義する場合の第７のSTN_table()のシンタクスの例を示す図である。
【図４６】ユーザに提供する音声信号、セカンダリビデオストリームとしての映像信号、および、字幕信号の組み合わせ可能な関係を表すストリームナンバーテーブルの例を示す図である。
【図４７】プライマリビデオストリームと組み合わせて同時再生される、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを選択するためのユーザの選択操作を説明する図である。
【図４８】ピクチャインピクチャ手法を実現させる場合に、図１１の例のSubPath_typeを利用して生成されたPlayListの例を示している。
【図４９】SubPath_typeの図１１とは異なる例を説明する図である。
【図５０】stream_entry()のシンタクスの第３の例を示す図である。
【図５１】ピクチャインピクチャ手法を実現させる場合に、図４９の例のSubPath_typeを利用して生成されたPlayListの例を示している。
【図５２】ピクチャインピクチャ手法を実現させる場合に、図４９の例のSubPath_typeを利用して生成されたPlayListの他の例を示している。
【図５３】本発明を適用した再生装置の構成例であって、図３６とは異なる例を示すブロック図である。
【図５４】図５３の再生装置におけるセカンダリビデオ切り替え処理を説明するフローチャートである。
【図５５】図５３の再生装置におけるセカンダリビデオ切り替え処理を説明するフローチャートである。
【図５６】application_typeの種類の例を説明する図である。
【図５７】サブパス制限手法を説明するための図であって、PlayListの種類に対する、そのPlayListが持ち得るSubPathの組み合わせの関係を示す図である。
【図５８】サブパス制限手法を説明するための図であって、PlayList内にあるPlayItemとSubPathの数の組み合わせの関係を示す図である。
【図５９】図５７乃至図５９により説明されるサブパス制限手法によって、作成されたPlayListの具体例を示す図である。
【図６０】図５７乃至図５９により説明されるサブパス制限手法によって、作成されたPlayListの具体例を示す図である。
【図６１】図５７乃至図５９により説明されるサブパス制限手法によって、作成されたPlayListの具体例を示す図である。
【図６２】図５７乃至図５９により説明されるサブパス制限手法によって、作成されたPlayListの具体例を示す図である。
【図６３】図５３の再生装置におけるapplication_type=3のPlayList再生処理を説明するフローチャートである。
【図６４】図５３の再生装置におけるapplication_type=3のPlayList再生処理を説明するフローチャートである。
【図６５】図５３の再生装置におけるapplication_type=1or2のPlayList再生処理を説明するフローチャートである。
【図６６】図５３の再生装置におけるapplication_type=1or2のPlayList再生処理を説明するフローチャートである。
【図６７】図５３の再生装置におけるapplication_type=1or2のPlayList再生処理を説明するフローチャートである。
【図６８】図５３の再生装置におけるapplication_type=1or2のPlayList再生処理を説明するフローチャートである。
【図６９】オーディオストリーム＃１とオーディオストリーム＃２の組み合わせ、ビデオストリーム＃２とオーディオストリーム＃１との組み合わせ、および、ビデオストリーム＃２とビデオストリーム＃２用のテキスト字幕ストリームとの組み合わせを定義する第８のSTN_table()のシンタクスの例を示す図である。
【図７０】オーディオストリーム＃１とオーディオストリーム＃２の組み合わせ、ビデオストリーム＃２とオーディオストリーム＃１との組み合わせ、および、ビデオストリーム＃２とビデオストリーム＃２用のテキスト字幕ストリームとの組み合わせを定義する第８のSTN_table()のシンタクスの例を示す図である。
【図７１】レジスタについて説明するための図である。
【図７２】ピクチャインピクチャ表示の実行時に、プライマリのPG TextSTストリームが再生される場合の例について説明するための図である。
【図７３】ピクチャインピクチャ表示の実行時に、ピクチャインピクチャアプリケーション用のPG TextSTストリームが再生される場合の例について説明するための図である。
【図７４】PiP（ピクチャインピクチャ）を含んだアプリケーションのPG TextST再生処理について説明するためのフローチャートである。
【図７５】PiP PG TextST表示処理について説明するためのフローチャートである。
【図７６】さらに多くのストリームの組み合わせを定義する第９のSTN_table()のシンタクスの例を示す図である。
【図７７】さらに多くのストリームの組み合わせを定義する第９のSTN_table()のシンタクスの例を示す図である。
【図７８】さらに多くのストリームの組み合わせを定義する第９のSTN_table()のシンタクスの例を示す図である。
【図７９】レジスタについて説明するための図である。
【図８０】ピクチャインピクチャ表示の実行時に、プライマリオーディオとセカンダリオーディオがミキシングされて再生される場合の例について説明するための図である。
【図８１】ピクチャインピクチャ表示の実行時に、ピクチャインピクチャアプリケーション用プライマリオーディオが再生される場合の例について説明するための図である。
【図８２】PiPを含んだアプリケーションのオーディオストリームの再生処理１について説明するためのフローチャートである。
【図８３】さらに多くのストリームの組み合わせを定義する第１０のSTN_table()のシンタクスの例を示す図である。
【図８４】さらに多くのストリームの組み合わせを定義する第１０のSTN_table()のシンタクスの例を示す図である。
【図８５】さらに多くのストリームの組み合わせを定義する第１０のSTN_table()のシンタクスの例を示す図である。
【図８６】ピクチャインピクチャ表示の実行時に、ピクチャインピクチャアプリケーション用プライマリオーディオとセカンダリオーディオがミキシングされて再生される場合の例について説明するための図である。
【図８７】PiPを含んだアプリケーションのオーディオストリームの再生処理２について説明するためのフローチャートである。
【図８８】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【図８９】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【図９０】パーソナルコンピュータの構成を示す図である。
【発明を実施するための形態】
【００２０】
図５は、本発明を適用した再生装置１（図２７および図２８を参照して後述する）のローカルストレージ(例えば、ハードディスクやメモリなど)上の、または、装着される記録媒体上のアプリケーションフォーマットの例を示す図である。記録媒体は、後述する光ディスクの他、磁気ディスクや半導体メモリであってもよい。
【００２１】
アプリケーションフォーマットは、ＡＶ（Audio Visual）ストリームの管理のために、PlayListとClipの２つのレイヤを有している。ここでは、１つのＡＶストリームとそれに付随する情報であるClipインフォメーションのペアを１つのオブジェクトと考え、それらをまとめてClipと称する。以下、ＡＶストリームをＡＶストリームファイルとも称する。
なお、AVストリームファイルには、音声データや映像データ以外にも、これらのデータとともに再生される各種のストリームファイルが含まれていてもよい。また、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に並行（並列）して、１つ以上のSub Pathの並びによって（非連続でもよいし、連続してもよい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 ＡＶストリームファイルに含まれるビデオストリームと同じタイミングで再生されるビットマップ字幕ストリーム（Presentation Graphic stream）が１つ以上含まれてもよいし、含まれなくてもよい。また、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()は、メインClipＡＶストリームを参照している。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ＡＶストリームファイルは、図７と同様であるので省略している。
【００４４】
例えば、メインパスにより参照されるClipＡＶストリームを１つの映画のコンテンツ（ＡＶコンテンツ）とし、サブパスのオーディオパスにより参照されるAuxiliary audio stream（Clip）をその映画に対する監督のコメントとし、メインパスで参照されるClipＡＶストリームのオーディオストリームにサブパスのオーディオパスで参照されるAuxiliary audio streamをミキシング（重ねて）再生するような場合に、このような構成が利用される。すなわち、ユーザが、映画を見ながら、その映画に対する監督のコメントを合わせて聞く指令を再生装置（プレーヤ）へ入力した場合、換言すれば、メインパスで参照されるClipＡＶストリームの音声と、サブパスのオーディオパスで参照されるAuxiliary audio streamとを、ミキシングして再生させる場合に利用される。
【００４５】
図８においては、メインパスに３つのPlayItemがPlayItem_id＝０，１，２と配置され、サブパス（Subpath_id＝０）に２つのSubPlayItemが配置されている。そして、Subpath_id＝０のSubPath（図１０にて後述する）で呼び出すSubPlayItem（図１２にて後述する）は、Auxiliary audio stream（SubClip_entry_id＝０の英語のAuxiliary audio streamのクリップ及びSubClip_entry_id＝１の日本語のAuxiliary audio streamのクリップ）のSubpathの再生区間を指定するための、SubPlayItem_IN_timeと、SubPlayItem_out_timeを含む。
【００４６】
図８と図７とを比較するに、図８においては、SubPlayItemによって、SubClip_entry_id＝０，１のAuxiliary audio stream（英語または日本語のオーディオストリーム）を参照することができる。すなわち、SubPlayItemを用いて、複数のオーディオストリームファイルを参照する構造を有し、このSubPlayItemを再生する場合には、複数のオーディオストリームファイルからオーディオストリームファイルが選ばれて再生される。図８の例の場合、英語のオーディオストリームファイルと日本語のオーディオストリームファイルのうち、１つのオーディオストリームファイルが選ばれて再生される。具体的には、subClip_entry_id＝０，１の中から（例えば、ユーザの指令に基づいて）１つが選択され、そのＩＤが参照するAuxiliary audio streamが再生される。また、これに加えて、さらにメインパスにより参照されるオーディオストリームとの組み合わせによる再生が選択された場合、メインパスで参照される１stオーディオストリームと、サブパスのオーディオパスで参照される２ndオーディオストリームファイルとが、ミキシングされて再生される。なお、２つのサブパスで参照される２つのオーディオストリームが、ミキシングされて再生されるようにすることも可能であるが、これについては後述する。
【００４７】
次に、図６乃至図８を用いて説明したメインパスとサブパスの構造を具体的に実現するためのデータ構造（シンタクス）を説明する。
【００４８】
図９は、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の種類は、例えば、図１１に示されるように定義することができる。
【００５４】
図１１において、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＝５は、2nd Audio Presentation path（２番目のオーディオプレゼンテーションパス）（２ndオーディオストリームを参照するためのパス）とされている。具体的には、SubPath_type＝５は、プレイリストの中において、サブパスで参照される２番目のオーディオプレゼンテーションパスと、プレイアイテムで参照されるメインパスとが同期していることを示している。例えば、このサブパスで参照される（２番目の）オーディオストリームは、映画に対する監督のコメント（音声）である。図８においてSubpath_id＝０で示されるSubpathの場合、図１０のSubPath_typeは、このSubPath_type＝５となる。
【００５８】
SubPath_type＝６は、2nd Video Presentation path（２番目のビデオプレゼンテーションパス）（２ndビデオストリームを参照するためのパス）とされている。具体的には、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ＡＶストリームファイルが参照される。また、PlayItem()には、Clipのコーディック方式を指定するClip_codec_identifier［0］、reserved_for_future_use、is_multi_angle、connection_condition、STC不連続点（システムタイムベースの不連続点）に関する情報であるref_to_STC_id［0］が含まれる。さらに、PlayItem()には、Clipの中のPlayItemの再生区間を指定するためのIN_time と OUT_timeが含まれる。図７の例の場合、IN_time と OUT_timeにより、メインClipＡＶストリームファイルの再生範囲が表される。また、PlayItem()には、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の属性として設定されている。また、図１４の第１のSTN_table()は、PlayItemが参照するClipとSubPathが参照するClipを組み合わせたものの再生を選ぶことができる仕組みを提供するものである。
【００７３】
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_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＝１またはtype＝３では、PlayItemによって参照されるClip(Main Clip)の中に多重化されている複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するために、１６ビットのパケットID(PID)が指定される。ref_to_stream_PID_of_mainClipが、このPIDを示している。すなわち、type＝１とtype＝３では、メインClipＡＶストリームファイルの中のPIDを指定するだけでストリームが決定される。
【００７９】
type＝２または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＝３の場合、PlayItemによって参照されるClip(Main Clip)の中に多重化されている複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するためのパケットID(PID)と、SubPathが一度に複数個のClipsを参照し、それぞれのClipが複数のエレメンタリストリームを多重化する場合に、SubPathによって参照される１つのClip(SubClip)の複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するための、SubPathのSubPath_id、Clip id、およびパケットID(PID)とにより、２つのストリームをエントリーすることができる。例えば、メインパスが参照するオーディオストリームと、サブパスが参照するオーディオストリームとの２つのオーディオストリームをエントリーすることができる。なお、以下においては、メインパスが参照するオーディオストリームを１st オーディオストリームとも称し、サブパスが参照するオーディオストリームを２ndオーディオストリームとも称する。
【００８１】
このように、type（１乃至３の３つのtype）を使うことで、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から１つのエレメンタリストリームを特定することができる。なお、type＝１はMain Pathが参照するClip（メインClip）を示しており、type＝２および３はSub Pathが参照するClip（サブClip）を示している。
【００８２】
また、type＝３の場合、メインパスで参照されるメインClipＡＶストリームファイルのオーディオストリーム（１stオーディオストリーム）と、サブパスで参照されるオーディオストリーム（２ndオーディオストリーム）とを特定し、エントリーすることができる。
例えば、１stオーディオストリームと、２ndオーディオストリームとを合わせて（ミキシングして）再生することができる。
【００８３】
図１４の第１の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である。オーディオストリーム番号は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号であるので、１から定義される。
【００８５】
同様に、字幕ストリームＩＤ (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()について説明する。このstream_attributeでは、stream_entry()で特定されるストリームの属性情報が記録される。
【００８８】
ビデオストリームＩＤ (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_entry()で特定されるオーディオエレメンタリストリームは１つであるので、stream_attribute()は、その１つのオーディオエレメンタリストリームのストリーム属性情報を与える。ここで、図１５のstream_entry()においてtype＝３である場合、このstream_entry()で特定されるオーディオエレメンタリストリームは２つ（メインパスで参照される１stオーディオストリームとサブパスで参照される２ndオーディオストリームの２つ）であるので、stream_attribute()は、２つのオーディオエレメンタリストリームのストリーム属性情報を与える。
【００９０】
このように、type＝３である場合、すなわち、メインパスとサブパスの両方で、audio streamを参照する場合、stream_attributesも２本分挿入できるものとされている。すなわち、for文のaudio streamにおいて、stream_entry()でtype＝３である場合、その後のstream_attributes（）では、stream_attributes（）が２つエントリーされる。
【００９１】
すなわち、図１４の第１のSTN_table()では、オーディオストリームＩＤ (audio_stream_id)のstream_entry()ごとに、stream_attributes()が定義されるのであるが、type＝３の場合、stream_entry()に対して、２つのstream_attributes()が与えられる。これにより、audio_stream_idひとつに対して、メインパスとサブパスにより参照される２つのstream_attributes()がエントリーされることになるので、同時に再生するオーディオストリームを２本エントリーすることが可能となる。
【００９２】
字幕ストリームＩＤ(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()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームのストリーム属性情報が記述されている。
【００９４】
なお、図１４と図１５の例では、メインパスで参照されるオーディオストリームとサブパスで参照されるオーディオストリームの２本のオーディオストリームをエントリーする場合について説明したが、２本のサブパスで参照される２本のオーディオストリームをエントリーすることができるようにした第２のSTN_table()のシンタクスと、第２のStream_entry()のシンタクスの例を、図１６と図１７に示す。なお、図中、図１４および図１５と対応する部分については、繰り返しになるのでその説明は省略する。
【００９５】
図１６は、第２のSTN_table()のシンタクスを示す図である。第２のSTN_table()は、PlayItemの属性として設定されている。図１７は、第２のStream_entry()のシンタクスを示す図である。
【００９６】
図１７の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()の説明に戻って、オーディオストリームＩＤ (audio_stream_id)のforループの中で、順番にstream_entry()ごとに特定されるオーディオエレメンタリストリームに、０からaudio_stream_idが与えられる。ここでは、図１４とは異なり、１番目のオーディオストリームのための（後述する図２８の再生装置の１ｓｔオーディオデコーダ７５−１がデコードする）Stream_entry()とStream_attributes()の後に、２番目のオーディオストリームを定義するか否かを示すsecondary_audio_present_flagが設けられている。２番目のオーディオストリーム（Secondary Audio Stream）を定義する場合、このsecondary_audio_present_flagの値が１にセットされ、その後に記述されているif文の中のStream_entry()、Stream_attributes()にて、２番目のオーディオストリームが定義される。Secondary_audio_present_flagが１である場合、オーディオストリームＩＤ (audio_stream_id)のforループの中に、２つのstream_entry()が定義されているので、２つのstream_entry()のそれぞれにより特定される２つのオーディオエレメンタリストリームに、０からaudio_stream_idが与えられる。なお、ビデオストリームの場合と同様に、オーディオストリームＩＤ（audio_stream_id）の代わりに、オーディオストリーム番号（audio_stream_number）を用いるようにしてもよい。この場合、audio_stream_numberは、０ではなく１から与えられる。すなわち、audio_stream_idの値に１を加算したものがaudio_stream_numberである。オーディオストリーム番号は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号であるので、１から定義される。
【０１００】
また、Secondary Audio Streamがエントリーされない場合（すなわち、２つ目のstream_entry()がエントリーされない場合）もあり、その場合には、secondary_audio_present_flagが０とされ、１番目のオーディオストリーム（Main Audio Stream）のみがエントリーされる。すなわち、２つ目のオーディオストリームがない場合には、２つ目のStream_entry()がエントリーされないことになる。この場合、２本のオーディオのミキシング再生は行われない。
【０１０１】
オーディオストリームＩＤ(audio_stream_id)のforループには、stream_entry()とstream_attribute()との組み合わせが２つ記述されている。最初のstream_entry()とstream_attribute()との組み合わせは、後述する図２８の再生装置１の１ｓｔオーディオデコーダ７５−１でデコードされるオーディオストリームのための定義であり、secondary_audio_present_flagが１である場合にエントリーされる２番目のstream_entry()とstream_attribute()との組み合わせは、後述する図２８の再生装置１の２ｎｄオーディオデコーダ７５−２でデコードされるオーディオストリームのための定義である。すなわち、２つのオーディオストリームを定義することができる。
【０１０２】
オーディオストリームＩＤ(audio_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される少なくとも１つ以上のオーディオエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される少なくとも１つ以上のオーディオエレメンタリストリームのストリーム属性情報が記述されている。具体的には、図１６のsecondary_audio_present_flagが１である場合、２つのstream_entry()で特定されるオーディオエレメンタリストリームは２つであるので、stream_attribute()は、それぞれ対応するオーディオエレメンタリストリームのストリーム属性情報を与える。すなわち、オーディオストリームＩＤ(audio_stream_id)のforループの中の最初のstream_entry()により、後述する図２８の再生装置１の１ｓｔオーディオデコーダ７５−１でデコードされるオーディオストリーム（Main Audio Stream）が定義され、これにより特定されるオーディオエレメンタリストリームのストリーム属性情報が、オーディオストリームＩＤ(audio_stream_id)のforループの中の最初のstream_attribute()により与えられる。同様にして、secondary_audio_present_flagが１である場合、オーディオストリームＩＤ(audio_stream_id)のforループの中の次の（２番目）のstream_entry()により、後述する図２８の再生装置１の２ｎｄオーディオデコーダ７５−２でデコードされるオーディオストリーム（Secondary Audio Stream）が定義され、これにより特定されるオーディオエレメンタリストリームのストリーム属性情報が、オーディオストリームＩＤ(audio_stream_id)のforループの中の２番目のstream_attribute()により与えられる。
【０１０３】
例えば、オーディオストリームＩＤ(audio_stream_id)のforループの中の最初のstream_entry()により定義されるオーディオストリームは、例えば、映画の日本語吹き替えの音声や、英語の音声とされ、オーディオストリームＩＤ(audio_stream_id)のforループの中のsecondary_audio_present_flagが１である場合、２番目のstream_entry()により定義されるオーディオストリームは、例えば、映画のディレクターズカット用の音声と想定され、Main Pathにより参照されるＡＶストリームファイルの所定の部分にのみ、映画監督などのコメントが入っている場合などに用いられることが考えられる。
【０１０４】
すなわち、２つのオーディオストリームを合成する場合には、Primary（１st）のオーディオストリームに合成すべきオーディオストリームが存在することを示すフラグである、図１６のsecondary_audio_present_flagに１がセットされ、合成すべきオーディオストリームのstream_entry(), stream_attribute()が参照されて、オーディオストリームの合成が行われる。
【０１０５】
詳しくは、合成する一方のオーディオストリームを、メインパスで参照されるオーディオストリーム（後述する図２８の再生装置１の１ｓｔオーディオデコーダ７５−１でデコードされるMain Audio Stream）とし、他方をサブパスで参照されるオーディオストリーム（後述する図２８の再生装置１の２ｎｄオーディオデコーダ７５−２でデコードされるSecondary Audio Stream）とした場合、図１６の最初のstream_entry()のtypeの値が、type＝１とされ、それにより特定されるオーディオエレメンタリストリームのストリーム属性情報がstream_attribute()により与えられ、図１６のsecondary_audio_present_flagが１とされ、２番目のstream_entry()のtypeの値が、type＝２とされ、それにより特定されるオーディオエレメンタリストリームのストリーム属性情報がstream_attribute()により与えられる。
【０１０６】
また、合成するオーディオストリームを、２つとも、サブパスで参照されるオーディオストリームとした場合、図１６のオーディオストリームＩＤ(audio_stream_id)のforループの中の最初のstream_entry()のtypeの値が、type＝２とされ、それにより特定されるオーディオエレメンタリストリームのストリーム属性情報がstream_attribute()により与えられ、図１６のオーディオストリームＩＤ(audio_stream_id)のforループの中のsecondary_audio_present_flagが１とされ、２番目のstream_entry()のtypeの値が、type＝２とされ、それにより特定されるオーディオエレメンタリストリームのストリーム属性情報がstream_attribute()により与えられる。すなわち、合成するオーディオストリームを、２つともサブパスで参照されるオーディオストリームとする場合、図１７のstream_entry()のtypeは、いずれも２とされる。
【０１０７】
このように、オーディオストリーム（又はビデオストリーム）をそれぞれサブパスで指定する形で追加することとしたため、ディスク上にあるオーディオストリーム（又はビデオストリーム）と、ダウンロード等により取得したまたはローカルストレージ上にあるオーディオストリーム（又はビデオストリーム）とを同期して再生することができると共に、共にダウンロード等により取得したオーディオストリーム同士（又はビデオストリーム同士）を、ディスク上のまたは取得したビデオストリーム（又はオーディオストリーム）と同期して再生することができる。
【０１０８】
なお、PlayListも取得するようにすれば、メインパスにより指定される取得したビデオストリーム（又はオーディオストリーム）と、サブパスにより指定される取得した２本のオーディオストリーム（又はビデオストリーム）を同期して再生することもできる。
【０１０９】
なお、メインパスで参照されるオーディオのみを再生、もしくは、１つのサブパスで指定されるオーディオのみを再生する場合には、図１６のsecondary_audio_present_flagに０がセットされ、最初のstream_entry()でメインパスで参照される場合にはtype=１とし、サブパスで指定されるオーディオのみを再生する場合にはtype=２として、それにより特定されるオーディオエレメンタリストリームのストリーム属性情報がstream_attribute()により与えられる。すなわち、ミキシングせずに１つのオーディオストリームのみを再生することもできる。
【０１１０】
このように、図１６では、stream_entry()とstream_attributesとを、２本のオーディオエレメンタリストリームの分だけ挿入できるものとされている。すなわち、for文のaudio streamにおいて、２つのstream_entry()を用いて、それぞれ対応するstream_attributes（）をエントリーすることができる。
【０１１１】
すなわち、図１６の第２のSTN_table()では、オーディオストリームＩＤ (audio_stream_id)の２つのstream_entry()によって、それぞれ対応するstream_attributes()が定義される。これにより、audio_stream_idひとつに対して、メインパスとサブパスにより参照される、または、２つのサブパスにより参照される２つのstream_entry()とstream_attributes()の組み合わせがエントリーされることになるので、同時に再生するオーディオストリームを２本エントリーすることが可能となる。
【０１１２】
なお、図１６のビデオストリームＩＤ(video_stream_id)、字幕ストリームＩＤ (PG_txtST_stream_id)、グラフィックスストリームＩＤ (IG_stream_id)については、図１４と同様である。
【０１１３】
次に、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が記述される。なお、このstream_coding_typeを拡張し、MPEG−4 AVC、VC−1等の他のコーディックにより圧縮されたビデオストリームを扱えるようにしてもよい。
【０１１６】
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()によって特定されたエレメンタリストリーム（type＝１とtype＝２の場合は１つ、type＝３の場合は２つ）の属性情報をstream_attribute()によって知ることができる。
【０１３４】
再生装置は、この属性情報（stream_attribute()）を調べることによって、そのエレメンタリストリームを自分自身が再生する機能を持っているか否かを調べることができる。
また、再生装置は、この属性情報を調べることによって、再生装置の言語設定の初期情報に対応したエレメンタリストリームの選択することができる。
【０１３５】
例えば、再生装置が、ビットマップ字幕エレメンタリストリームの再生機能だけを有し、テキスト字幕エレメンタリストリームの再生機能を有していない場合を想定する。この再生装置に対して、ユーザが言語切り替えを指示した場合、再生装置は、字幕ストリームＩＤ (PG_txtST_stream_id)のforループの中から、ビットマップ字幕エレメンタリストリームだけを順次選択して、再生する。
【０１３６】
また、例えば、再生装置の言語設定の初期情報が日本語である場合を想定する。この再生装置に対して、ユーザが副音声（すなわちSecondary audio）への切り替えまたは、主音声と副音声とのミキシング再生を指示した場合、再生装置は、副音声として用意されているオーディオストリームＩＤ (Audio stream id)のforループの中から、言語コードが日本語であるオーディオエレメンタリストリームだけを順次選択して、再生する。
【０１３７】
さらに、例えば、メインパスにより参照される、ビデオストリームとオーディオストリームからなるＡＶストリーム（映画）を再生する場合、再生装置に対して、ユーザが音声の切り替えを指令し、サブパスにより参照されるオーディオストリーム（監督や出演者によるコメント）とのミキシング再生が指令された場合、再生装置は、メインパスにより参照される１stオーディオストリームに、さらに、サブパスにより参照される２ndオーディオストリームをミキシング（重畳）して、ビデオストリームとともに再生する。
【０１３８】
また、例えば、ユーザが音声の切り替えを指令し、２つのサブパスにより参照される２つのオーディオストリームのミキシング再生が再生装置に対して指令された場合（図１６と図１７のシンタクスが用いられ、図１６のsecondary_audio_present_flagが１とされ、図１７のtypeがともに２とされているオーディオストリームＩＤに対応するオーディオストリームの再生が指令された場合）、再生装置は、２つのサブパスによりそれぞれ参照される２つのオーディオストリームをミキシング（重畳）して、ビデオストリームとともに再生する。
【０１３９】
このようにして、PlayItem()の中にSTN_table()を設けることにより、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、ユーザによる音声切り替えや字幕切り替えという操作により、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から再生されるストリームを選ぶことができる仕組みが提供されるので、再生するＡＶストリームとは異なるストリームやデータファイルに対しても、インタラクティブな操作を行うことができる。
【０１４０】
また、１つのPlayListの中にSubPathを複数使用し、それぞれのSubPathがそれぞれSubPlayItemを参照する構成としたので、拡張性の高い、また、自由度の高いＡＶストリームを実現することができる。すなわち、このPlayListにより再生されるコンテンツにおいて、後で、SubPlayItemを追加できる構成とすることができる。例えば、Main Pathが参照するClipＡＶストリームファイルと、これに対応付けられるPlayListがあり、このPlayListが新たなSub Pathを追加したPlayListに書き換えられた場合、新たなPlayListに基づいて、Main Pathが参照するClipＡＶストリームファイルとともに、Main Pathが参照するClipＡＶストリームファイルとは異なるClipＡＶストリームファイルを参照して、再生を行うことができる。このように、拡張性を有する構成とすることができる。
【０１４１】
さらに、PlayItem()の中のSTN_table()は、このPlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、２つのSubPathが参照するClipのオーディオストリームをミキシングして再生することができる仕組みを提供するようにしたので（図１６と図１７）、１ｓｔオーディオデコーダ７５−１でデコードされるオーディオストリーム（例えば、映画の日本語吹き替え音声）と、２ｎｄオーディオデコーダ７５−２でデコードされるオーディオストリーム（例えば、監督のディレクターズカット）との重畳再生に対しても、インタラクティブな操作を行うことができる。
【０１４２】
また、PlayItem()の中にSTN_table()が設けられることにより、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipの１stオーディオストリームと、SubPathが参照するClipの２ndオーディオストリームとをミキシングして再生することができる仕組みが提供されるので、ユーザは、メインClipＡＶストリームとは異なるオーディオストリーム（２ndオーディオストリーム、例えば、監督のコメントのストリーム）の重畳再生に対しても、インタラクティブな操作を行うことができる。
【０１４３】
具体的な例を、図２６を参照して説明する。図２６は、ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルの例を示す図である。図２６は、図１６と図１７の第２のSTN_tableと第２のStream_entry()に対応する場合の例である。
【０１４４】
図２６においては、音声番号をＡ＿ＳＮ（Audio Stream Number）と称し、字幕番号をＳ＿ＳＮ（SubPicture Stream Number）と称する。図２６においては、PlayListのMain Pathで参照されるメインClipＡＶストリームの複数のオーディオストリームと、Sub Pathで参照されるサブClipＡＶストリームのオーディオストリームのそれぞれにＡ＿ＳＮが与えられている。すなわち、Ａ＿ＳＮ＝１にMain Pathで参照されるオーディオストリームであるオーディオ２が与えられ、Ａ＿ＳＮ＝２にSub Pathで参照されるオーディオストリームであるオーディオ１が与えられ、Ａ＿ＳＮ＝３にMain Pathで参照されるオーディオストリームであるオーディオ３が与えられている。
【０１４５】
また、PlayListのSubPathで参照されるオーディオストリームが、Ａ＿ＳＮ＝１乃至３で与えられるオーディオストリームオーディオストリームのそれぞれとミキシング再生可能なように、Ａ＿ＳＮが与えられている。すなわち、Ａ＿ＳＮ＝４にオーディオ２＋Sub Pathで参照されるオーディオストリームであるオーディオ４が与えられ、Ａ＿ＳＮ＝５にSub Pathで参照されるオーディオストリームであるオーディオ１＋Sub Pathで参照されるオーディオストリームであるオーディオ４が与えられている。すなわち、Ａ＿ＳＮ＝４では、メインパスにより参照されるオーディオストリームと、サブパスにより参照されるオーディオストリームのミキシング再生のためのＡ＿ＳＮが与えられ、Ａ＿ＳＮ＝５では、２つのサブパスにより参照される２つのオーディオストリームのミキシング再生のためのＡ＿ＳＮが与えられている。
【０１４６】
また、PlayListのMain Pathで参照されるメインClipＡＶストリームの複数のサブピクチャストリームのそれぞれに、Ｓ＿ＳＮが与えられている。すなわち、Ｓ＿ＳＮ＝１にサブピクチャ３が与えられ、Ｓ＿ＳＮ＝２にサブピクチャ１が与えられ、Ｓ＿ＳＮ＝３にサブピクチャ２が与えられる。ここでは、Ａ＿ＳＮやＳ＿ＳＮの番号が小さい程、ユーザに提供される音声信号やサブピクチャの優先度が高い。すなわち、Ａ＿ＳＮ＝１はデフォルトで再生されるオーディオストリームであり、Ｓ＿ＳＮ＝１はデフォルトで再生されるサブピクチャストリームである。
【０１４７】
具体的には、再生装置の言語設定の初期情報に基づいて再生される音声は、Ａ＿ＳＮ＝１であるオーディオ２（図２６）に対応しており、音声が切り替えられた後、再生される音声は、Ａ＿ＳＮ＝２であるオーディオ１（図２６）に対応している。
【０１４８】
このようなストリームナンバーテーブルを提供するために、まず、PlayList（）で参照されるPlayItem()の中のSTN table()において、PlayItemのメインパスで「オーディオ１，またはオーディオ３」と、「サブピクチャ１、サブピクチャ２、またはサブピクチャ３」とを参照できる構成とし、さらに、PlayItemに関連付けられて再生されるサブパス（PlayListで参照されるSubPath()）で「オーディオ２、またはオーディオ４」を参照できる構成とする。そして、STN table()（図１６）のaudio_stream_id＝０（Ａ＿ＳＮ＝１）でオーディオ２（type＝１）を与え、audio_stream_id＝１（Ａ＿ＳＮ＝２）でオーディオ１（type＝２）を与え、audio_stream_id＝２（Ａ＿ＳＮ＝３）でオーディオ３（type＝１）を与え、audio_stream_id＝３（Ａ＿ＳＮ＝４）でオーディオ２とオーディオ４（type＝１とtype＝２）を与え、audio_stream_id＝４（Ａ＿ＳＮ＝５）でオーディオ１とオーディオ４（type＝２とtype＝２）を与える。
【０１４９】
すなわち、audio_stream_id＝３（Ａ＿ＳＮ＝４）の場合、図１６のオーディオストリームＩＤに対応する最初のstream_entry()とstream_attributes()とにより、メインパスが参照するオーディオストリーム（type＝１）が登録され、その後のsecondary_audio_present_flagが１とされ、２番目のstream_entry()とstream_attributes()により、サブパスが参照するオーディオストリーム（type＝２）が登録される。このとき、audio_stream_idを用いて、メインパスが参照するオーディオストリームとサブパスが参照するオーディオストリームとの組み合わせを定義することができる。すなわち、矛盾するような組み合わせを定義せずに済むので、ユーザは、常に再生可能なオーディオストリームの組み合わせを選択することができる。すなわち、図２６の例においては、矛盾するオーディオストリームの組み合わせであるオーディオ２＋オーディオ３を定義しないようにすることで、ユーザに、選択可能なもののみを提供することができる。
【０１５０】
このように、PlayItem()の中のSTN table()（図１６）のstream_entry（）（図１７）で、メインパスで参照される１stオーディオストリームと、サブパスで参照される２ndオーディオストリームとをエントリー（登録）することが可能な構成とし（secondary_audio_present_flagを設け）、さらに、audio_stream_idを用いて、１stオーディオストリームと２ndオーディオストリームとを組み合わせて提供する構成としたので、２つのオーディオストリームをミキシングして再生することができる。すなわち、複数の種類からなるストリームから、同じ種類（この例の場合、オーディオストリーム）のストリームをミキシング（重畳、または合成）して、同時に再生することができる。
【０１５１】
また、audio_stream_id＝４（Ａ＿ＳＮ＝５）の場合、図１６のオーディオストリームＩＤに対応する最初のstream_entry()およびstream_attributes()、secondary_audio_present_flag、並びに、２番目のstream_entry()およびstream_attributes()とにより、２つのサブパスが参照する２つのオーディオストリーム（いずれもtype＝２）が登録される。
このとき、audio_stream_idを用いて、２つのサブパスが参照する２本のオーディオストリームの組み合わせを定義することができる。すなわち、矛盾するような組み合わせを定義せずに済むので、ユーザは、常に再生可能なオーディオストリームの組み合わせを選択することができる。
【０１５２】
このように、PlayItem()の中のSTN table()（図１６）のstream_entry（）（図１７）で、２つのサブパスで参照される２本のオーディオストリームとをエントリー（登録）することが可能な構成とし、さらに、audio_stream_idを用いて、２本のオーディオストリームの組み合わせを提供する構成としたので、２つのオーディオストリームをミキシングして再生することができる。すなわち、複数の種類からなるストリームから、同じ種類（この例の場合、オーディオストリーム）のストリームをミキシング（重畳、または合成）して、同時に再生することができる。
【０１５３】
また、ミキシングする２つのオーディオストリームを個々に選ぶ必要がなく、２つのオーディオストリームが組み合わせられたものの中から、再生するオーディオストリームを選択することができる。
【０１５４】
なお、図１４と図１５のシンタクスにおいても、図２６のメインパスで参照される１ｓｔオーディオストリームとサブパスで参照される２ｎｄオーディオストリームとの組み合わせ（audio_stream_id＝３（Ａ＿ＳＮ＝４））は定義可能である。この場合、図１４のstream_entry()にtype＝３でメインパスが参照するオーディオストリームとサブパスが参照するオーディオストリームとを登録し、これに伴い、stream_attributes()も２本挿入する。このように、PlayItem()の中のSTN table()（図１４）のstream_entry（）（図１５）で、メインパスで参照される１stオーディオストリームと、サブパスで参照される２ndオーディオストリームとをエントリー（登録）することが可能な構成とし（type＝３を設けた）、さらに、audio_stream_idを用いて、１stオーディオストリームと２ndオーディオストリームとを組み合わせて提供する構成としたので、２つのオーディオストリームをミキシングして再生することができる。すなわち、複数の種類からなるストリームから、同じ種類（この例の場合、オーディオストリーム）のストリームをミキシング（重畳、または合成）して、同時に再生することができる。
【０１５５】
次に、本発明を適用した再生装置の第１の構成例について説明する。図２７は、本発明を適用した再生装置１の構成例を示すブロック図である。この再生装置１は、上述したメインパスとサブパスを有するPlayListを再生する再生装置１である。
【０１５６】
コントローラ２１は、予め用意されている制御プログラムを実行するか、または、ストレージドライブ２２を制御して、例えば、光ディスクなどの記録媒体１１に記録されている、または、ローカルストレージ２４に記録されているナビゲーションプログラムを読み出し、メモリ２３に展開して実行することで、再生装置１の全体の動作を制御する。例えば、コントローラ２１は、記録媒体１１が装着されたとき、所定のメニュー画面を外部の表示装置に表示させることができる。
【０１５７】
ストレージドライブ２２は、コントローラ２１による制御に従って記録媒体１１からデータを読み出し、読み出したデータを、コントローラ２１、メモリ２３、または、ＡＶデコーダ部２６に出力する。記録媒体１１から読み出された情報が、ナビゲーションプログラムやPlayListなどであった場合、ストレージドライブ２２により読み出された情報は、コントローラ２１、または、メモリ２３に出力される。記録媒体１１から読み出された情報が、ＡＶストリームやテキストデータであった場合、ストレージドライブ２２により読み出された情報は、ＡＶデコーダ部２６に出力される。
【０１５８】
メモリ２３は、コントローラ２１が各種の処理を実行する上において必要なデータなどを適宜記憶する。さらに、メモリ２３の記憶領域の一部には、再生装置１の再生処理において必要な情報が設定される各種のレジスタが設けられている。ローカルストレージ２４は、例えば、HDD(Hard Disk Drive)などより構成される。
【０１５９】
インターネットインタフェース２５は、有線または無線によりネットワーク２に接続されており、コントローラ２１からの制御に従って、ネットワーク２を介して、サーバ３との間で通信を行い、サーバ３からダウンロードされたデータをローカルストレージ２４に供給する。サーバ３からは、例えば、そのとき再生装置１に装着されている記録媒体１１に記録されている、図５を用いて説明したデータをアップデートさせるデータがコンテンツとしてダウンロードされる。ローカルストレージ２４は、サーバ３からネットワーク２経由でダウンロードしたコンテンツを記録することができる。
【０１６０】
ＡＶデコーダ部２６は、ストレージドライブ２２、または、ローカルストレージ２４から供給されるＡＶストリーム、または、テキストデータをデコードし、得られたビデオ信号とオーディオ信号を外部の表示装置に出力する。表示装置においては、ＡＶデコーダ部２６によりデコードされた信号に基づいて、例えば、記録媒体１１に記録されているコンテンツの出力（映像の表示、音声の出力）が行われる。
【０１６１】
操作入力部２９は、例えば、ボタン、キー、タッチパネル、ジョグダイヤル、マウスなどの入力デバイスや、所定のリモートコマンダから送信される赤外線などの信号を受信する受信部により構成され、ユーザの操作入力を取得し、コントローラ２１に供給する。
【０１６２】
また、コントローラ２１には、必要に応じてドライブ２７も接続されており、ドライブ２７には、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory)，DVDを含む）、光磁気ディスク（ＭＤ（登録商標）（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２８が装着される。
【０１６３】
図２８は、図２７の再生装置１のＡＶデコーダ部２６の構成例を示すブロック図である。
【０１６４】
図２８の例の場合、最初に、コントローラ２１がストレージドライブ２２、または、ローカルストレージ２４からPlayListファイルを読み出し、PlayListファイルの情報に基づいて、ストレージドライブ２２を介してHDD、Blu−ray Disc（商標）、またはDVDなどの記録媒体１１から、または、ローカルストレージ２４から、ＡＶストリームやＡＶデータを読み出す。ユーザは、操作入力部２９を用いて、コントローラ２１に対し、音声や字幕などの切り替えの指令を行うことができる。また、コントローラ２１は、メモリ２３のレジスタに登録されている再生装置１の言語設定の初期情報を含む各種設定情報を読み込む。
【０１６５】
PlayListファイルには、Main Path、Sub Pathの情報の他、STN_table()が含まれている。コントローラ２１は、PlayListファイルに含まれるPlayItemが参照するメインClip AVストリームファイル、SubPlayItemが参照するサブClip AVストリームファイル、およびSubPlayItemが参照するテキストサブタイトルデータを、ストレージドライブ２２を介して記録媒体１１またはローカルストレージ２４から読み出す。ここで、PlayItemが参照するメインClip AVストリームファイルとSubPlayItemが参照するサブClip AVストリームファイルとが、異なる記録媒体に記録されていてもよい。例えば、メインClip AVストリームファイルが記録媒体１１に記録されており、対応するサブClip AVストリームファイルは図示せぬネットワーク２を介して供給され、HDDなどのローカルストレージ２４に記憶されたものであってもよい。また、コントローラ２１は、メモリ２３のレジスタに登録されている各種設定情報を参照して、自分自身（再生装置１）の再生機能に対応するエレメンタリストリームを選択し、再生するよう制御したり、再生装置１の言語設定の初期情報に対応するエレメンタリストリームを選択し、再生するよう制御する。
【０１６６】
ＡＶデコーダ部２６には、バッファ５１乃至５４、PIDフィルタ５５、PIDフィルタ５６、スイッチ５７乃至５９、バックグラウンドデコーダ７１、MPEG（Moving Picture Experts Group）２ビデオデコーダ７２、プレゼンテーショングラフィックスデコーダ７３、インタラクティブグラフィックスデコーダ７４、１stオーディオデコーダ７５−１、２ndオーディオデコーダ７５−２、Text-STコンポジション７６、スイッチ７７、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、インタラクティブグラフィックスプレーン生成部９４、バッファ９５、ビデオデータ処理部９６、ミキシング処理部９７、およびミキシング処理部９８が設けられている。１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２は、ともにオーディオストリームをデコードする。１stオーディオデコーダ７５−１は、２ndオーディオデコーダ７５−２よりも優先的に使用されるオーディオデコーダである。すなわち、デコードするオーディオストリームが１つしかない場合、そのオーディオストリームがメインClip AVストリームファイルに含まれるオーディオストリームであっても、サブClip AVストリームファイルに含まれるオーディオストリームであっても、１stオーディオデコーダ７５−１でデコードされる。すなわち、再生装置１は、２つのオーディオストリームをデコードするために、２つのオーディオデコーダ（１stオーディオデコーダ７５−１、２ndオーディオデコーダ７５−２）を有している。なお、以下において、１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２とを個々に区別しない場合、オーディオデコーダ７５と称する。
【０１６７】
コントローラ２１により読み出されたファイルデータは、図示せぬ復調、ＥＣＣ復号部により、復調され、復調された多重化ストリームに誤り訂正が施される。スイッチ３２は、復調され、誤り訂正が施されたデータを、コントローラ２１からの制御に基づいて、ストリームの種類ごとに選択し、対応するバッファ５１乃至５４に供給する。具体的には、スイッチ３２は、コントローラ２１からの制御に基づいて、バックグラウンドイメージデータをバッファ５１に供給し、メインClip AVストリームファイルのデータをバッファ５２に供給し、サブClipのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClip AVストリームファイルのデータをバッファリングし、バッファ５３は、サブClip AVストリームファイルのデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。
【０１６８】
メインClip AVストリームファイルは、ビデオとオーディオとビットマップ字幕(Presentation Graphics stream)とインタラクティブグラフィックスのうち、ビデオに加えて１つ以上のストリームを多重化したストリーム（例えばトランスポートストリーム）である。サブClip AVストリームファイルは、オーディオとビットマップ字幕(Presentation Graphics stream)とインタラクティブグラフィックスとオーディオのうち、１つ以上のストリームを多重化したストリームである。なお、テキストサブタイトルデータファイル（Text-ST）のデータは、トランスポートストリームのような多重化ストリームの形式であっても、そうでなくてもよい。
【０１６９】
また、メインClip AVストリームファイルとサブClip AVストリームファイルおよびテキストサブタイトルデータを、ストレージドライブ２２（記録媒体１１）から読み出すときに、それぞれのファイルを時分割に交互に読み出しても良いし、または、サブClip AVストリームファイルやテキストサブタイトルデータをメインClipから読み出す前に、すべてバッファ(バッファ５３またはバッファ５４)へプリロードしてもよい。
【０１７０】
再生装置１は、これらのファイルのデータを、ストレージドライブ２２を介して記録媒体１１から読み出し、ビデオ、ビットマップ字幕、インタラクティブグラフィックス、およびオーディオを再生する。
【０１７１】
具体的には、メインClip AVストリームファイル用リードバッファであるバッファ５２から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５５へ出力される。このPIDフィルタ５５は、入力されたメインClip AVストリームファイルをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５５は、ビデオストリームをビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを１stオーディオデコーダ７５−１への供給元となるスイッチ５９に供給する。
【０１７２】
プレゼンテーショングラフィックスストリームは、例えば、ビットマップの字幕データであり、テキストサブタイトルデータは、例えば、テキスト字幕データである。
【０１７３】
サブClip AVストリームファイル用リードバッファであるバッファ５３から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５６へ出力される。このPIDフィルタ５６は、入力されたサブClip AVストリームファイルをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、メインClipのオーディオストリームとサブClip AVストリームファイルのオーディオストリームを１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２への供給元となるスイッチ５９に供給する。
【０１７４】
バックグラウンドイメージデータをバッファリングするバッファ５１から読み出されたデータは、所定のタイミングでバックグラウンドデコーダ７１に供給される。バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、デコードしたバックグラウンドイメージデータをバックグラウンドプレーン生成部９１に供給する。
【０１７５】
PIDフィルタ５５により振り分けられたビデオストリームは、後段のビデオデコーダ７２に供給される。ビデオデコーダ７２は、ビデオストリームをデコードし、デコードしたビデオデータをビデオプレーン生成部９２へ出力する。
【０１７６】
スイッチ５７は、PIDフィルタ５５から供給されたメインClip AVストリームファイルに含まれるプレゼンテーショングラフィックスストリームと、サブClip AVストリームファイルに含まれるプレゼンテーショングラフィックスストリームのうちのいずれか１つを選択し、選択したプレゼンテーショングラフィックスストリームを、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。プレゼンテーショングラフィックスデコーダ７３は、プレゼンテーショングラフィックスストリームをデコードし、デコードしたプレゼンテーショングラフィックスストリームのデータをプレゼンテーショングラフィックスプレーン生成部９３への供給元となるスイッチ７７に供給する。
【０１７７】
また、スイッチ５８は、PIDフィルタ５５から供給されたメインClip AVストリームファイルに含まれるインタラクティブグラフィックスストリームと、サブClip AVストリームファイルに含まれるインタラクティブグラフィックスストリームのうちのいずれか１つを選択し、選択したインタラクティブグラフィックスストリームを、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。すなわち、インタラクティブグラフィックスデコーダ７４へ同時に入力されるインタラクティブグラフィックスストリームは、メインClip AVストリームファイルまたはサブClip AVストリームファイルのどちらかから分離されたストリームである。インタラクティブグラフィックスデコーダ７４は、インタラクティブグラフィックスストリームをデコードし、デコードしたインタラクティブグラフィックスストリームのデータを、インタラクティブグラフィックスプレーン生成部９４に供給する。
【０１７８】
さらに、スイッチ５９は、PIDフィルタ５５から供給されたメインClip AVストリームファイルに含まれるオーディオストリームと、サブClip AVストリームファイルに含まれるオーディオストリームのうちのいずれか１つを選択し、選択したオーディオストリームを、後段の１stオーディオデコーダ７５−１または、２ndオーディオデコーダ７５−２に供給する。ここで、１stオーディオデコーダ７５−１へ同時に入力されるオーディオストリームは、メインClip AVストリームファイルまたはサブClip AVストリームファイルのどちらかから分離されたストリームである。また、２ndオーディオデコーダ７５−２へ同時に入力されるオーディオストリームは、サブClipから分離されたストリームである。
【０１７９】
具体的には、スイッチ５９は、図１５または図１７のstream_entry()のtypeの値によって、その選択を切り替える。例えば、type＝１である場合、スイッチ５９は、PIDフィルタ５５を介して供給されるメインClip AVストリームファイルのオーディオストリームを、１stオーディオデコーダ７５−１に供給するよう選択を切り替える。また、例えば、type＝２である場合、スイッチ５９は、PIDフィルタ５６を介して供給されるサブClip AVストリームファイルのオーディオストリームを、１stオーディオデコーダ７５−１または２ndオーディオデコーダ７５−２に供給するよう選択を切り替える。
【０１８０】
例えば、メインClip AVストリームファイルのオーディオストリームと、サブClip AVストリームファイルのオーディオストリームとのミキシング再生が指令された場合（すなわち、図１４を用いて説明した第１のSTN_tableのStream_entry（）ではtype＝３、図１６用いて説明した第２のSTN_tableのStream_entry（）では、secondary_audio_present_flagが１とされ、１番目のStream_entry（）でtype＝１、２番目のStream_entry（）でtype＝２とされるオーディオの再生が指令された場合）、スイッチ５９は、PIDフィルタ５５を介して供給されるメインClip AVストリームファイルのオーディオストリームを１stオーディオデコーダ７５−１に供給するよう選択を切り替えるとともに、PIDフィルタ５６を介して供給されるサブClip AVストリームファイルのオーディオストリームを２ndオーディオデコーダ７５−２に供給するよう選択を切り替える。
【０１８１】
また、例えば、２つのサブClip AVストリームファイルのオーディオストリームのミキシング再生が指令された場合（図１６のsecondary_audio_present_flagが１、１番目のStream_entry（）でtype＝２、２番目のStream_entry（）でtype＝２であるオーディオストリームの再生が指令された場合）、スイッチ５９は、PIDフィルタ５６を介して供給されるサブClip AVストリームファイルのオーディオストリームが、図１６のstream_entry()のオーディオストリームＩＤ(audio_stream_id)のforループの中の最初のstream_entry()により定義されるオーディオストリームに対応する場合、１ｓｔオーディオデコーダ７５−１に供給するよう選択を切り替え、PIDフィルタ５６を介して供給されるサブClip AVストリームファイルのオーディオストリームが、図１６のstream_entry()のオーディオストリームＩＤ(audio_stream_id)のforループの中の２番目のstream_entry()により定義されるオーディオストリームに対応する場合、２ｎｄオーディオデコーダ７５−２に供給するよう選択を切り替える。
【０１８２】
すなわち、１stオーディオデコーダ７５−１には、メインClip AVストリームファイル用リードバッファであるバッファ５２から読み出されたオーディオストリーム（図１５の例でtype＝１またはtype＝３、もしくは図１７の例でtype＝１である場合）、または、サブClip AVストリームファイル用リードバッファであるバッファ５３から読み出されたオーディオストリーム（図１５の例でtype＝２またはtype＝３、もしくは、図１７の例でtype＝２である場合）が供給され、２ndオーディオデコーダ７５−２には、サブClip AVストリームファイル用リードバッファであるバッファ５３から読み出されたオーディオストリームのみが供給される。
【０１８３】
１stオーディオデコーダ７５−１は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部１０１に供給する。また、２ndオーディオデコーダ７５−２は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部１０１に供給する。
【０１８４】
ここで、２つのオーディオストリームを重畳して再生するような場合、１stオーディオデコーダ７５−１によりデコードされたオーディオストリームと、２ndオーディオデコーダ７５−２によりデコードされたオーディオストリームとが、ミキシング処理部１０１に供給される。
【０１８５】
例えば、メインパスで参照される１stオーディオストリームとサブパスで参照される２ndオーディオストリームとを重畳して再生するような場合（図１５の例ではtype＝３であり、図１６ではsecondary_audio_present_flagが１、１番目のStream_entry（）のtype＝１、２番目のStream_entry（）のtype＝２である場合）、１stオーディオデコーダ７５−１によりデコードされたメインClip AVストリームファイルのオーディオストリームと、２ndオーディオデコーダ７５−２によりデコードされたサブClip AVストリームファイルのオーディオストリームとが、ミキシング処理部１０１に供給される。
【０１８６】
また、例えば、サブパスで参照される２本のオーディオストリームを重畳して再生するような場合（図１６のsecondary_audio_present_flagが１であり、１番目および２番目のStream_entry（）のいずれにおいてもtypeが２である場合）、１stオーディオデコーダ７５−１によりデコードされたサブClip AVストリームファイルのオーディオストリーム（type＝２、図１６の最初のstream entry()で定義されるオーディオストリーム）と、２ndオーディオデコーダ７５−２によりデコードされたサブClip AVストリームファイルのオーディオストリーム（type＝２、図１６のsecondary_audio_present_flagが１である場合に、２番目のstream entry()で定義されるオーディオストリーム）とが、ミキシング処理部１０１に供給される。
【０１８７】
ミキシング処理部１０１は、１stオーディオデコーダ７５−１からのオーディオデータと、２ndオーディオデコーダ７５−２からのオーディオデータとをミキシング（重畳）し、後段のミキシング処理部９７に出力する。なお、本実施の形態においては、１stオーディオデコーダ７５−１から出力されるオーディオデータと２ndオーディオデコーダ７５−２から出力されるオーディオデータとをミキシング（重畳）することを、合成するとも称する。すなわち、合成とは、２つのオーディオデータを、ミキシングすることも示すものとする。
【０１８８】
また、スイッチ３２により選択されたサウンドデータは、バッファ９５に供給され、バッファリングされる。バッファ９５は、所定のタイミングでサウンドデータをミキシング処理部９７に供給する。サウンドデータは、例えば、メニュー選択などによる効果音のデータなどである。ミキシング処理部９７は、ミキシング処理部１０１によりミキシングされたオーディオデータ（１stオーディオデコーダ７５−１から出力されたオーディオデータと２ndオーディオデコーダ７５−２から出力されたオーディオデータとがミキシングされたオーディオデータ）と、バッファ９５から供給されてきたサウンドデータをミキシング（重畳、または合成）し、音声信号として出力する。
【０１８９】
テキストサブタイトル用リードバッファであるバッファ５４から読み出されたデータは、所定のタイミングで、後段のテキストサブタイトルコンポジション（デコーダ）７６へ出力される。テキストサブタイトルコンポジション７６は、Text-STデータをデコードし、スイッチ７７に供給する。
【０１９０】
スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれかを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。すなわち、プレゼンテーショングラフィックスプレーン９３へ同時に供給される字幕画像は、プレゼンテーショングラフィックスデコーダ７３またはテキストサブタイトル（Text-ST）コンポジション７６のうちのいずれかの出力である。また、プレゼンテーショングラフィックスデコーダ７３へ同時に入力されるプレゼンテーショングラフィックスストリームは、メインClip AVストリームファイルまたはサブClip AVストリームファイルのいずれかから分離されたストリームである（スイッチ５７により選択される）。したがって、プレゼンテーショングラフィックスプレーン９３へ同時に出力される字幕画像は、メインClip AVストリームファイルからのプレゼンテーショングラフィックスストリーム、またはサブClip AVストリームファイルからのからのプレゼンテーショングラフィックスストリーム、またはテキストサブタイトルデータのデコード出力である。
【０１９１】
バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、例えば、ビデオ画像を縮小表示した場合に壁紙画像となるバックグラウンドプレーンを生成し、これを、ビデオデータ処理部９６に供給する。ビデオプレーン生成部９２は、ビデオデコーダ７２から供給されたビデオデータに基づいて、ビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。
プレゼンテーショングラフィックスプレーン生成部９３は、スイッチ７７により選択され、供給されたデータ（プレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータ）に基づいて、例えば、レンダリング画像であるプレゼンテーショングラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。
【０１９２】
ビデオデータ処理部９６は、バックグラウンドプレーン生成部９１からのバックグラウンドプレーン、ビデオプレーン生成部９２からのビデオプレーン、プレゼンテーショングラフィックスプレーン生成部９３からのプレゼンテーショングラフィックスプレーン、およびインタラクティブグラフィックスプレーン生成部９４からのインタラクティブグラフィックスプレーンを合成し、ビデオ信号として出力する。
【０１９３】
これらのスイッチ５７乃至５９、並びにスイッチ７７は、操作入力部２９を介するユーザからの選択に基づいて、または、対象となるデータが含まれるファイルが供給される側に、スイッチを切り替える。例えば、サブClip ＡＶストリームファイルのみにしか、オーディオストリームが含まれていない場合、スイッチ５９はサブClip ＡＶストリームファイルを供給する側（ＰＩＤフィルタ５６の出力）にスイッチを切り替える。
【０１９４】
次に、図２８の再生装置１における再生処理を、図２９乃至図３１のフローチャートを参照して説明する。なお、この処理は、ユーザにより操作入力部２９を介して、所定のＡＶストリームの再生が指令されたとき開始される。
【０１９５】
ステップＳ１１において、コントローラ２１は、ストレージドライブ２２を介して、記録媒体１１やHDD(Hard Disk Drive)などのローカルストレージ２４に記録されているPlayListファイルを読み出す。例えば、図９を用いて説明したPlayListのファイルが読み出される。
【０１９６】
ステップＳ１２において、コントローラ２１は、メインClip AVストリームファイル、サブClip AVストリームファイル、およびテキストサブタイトルデータ（Text-STデータ）を読み出す。具体的には、コントローラ２１は、図９を用いて説明したPlayListに含まれるPlayItemに基づいて、メインClipから対応するメインClip AVストリームファイルを読み出す。また、コントローラ２１は、PlayListに含まれるSubPathで参照される、図１０乃至図１２を用いて説明したSubPlayItemに基づいて、サブClip AVストリームファイルと、テキストサブタイトルデータを読み出す。
【０１９７】
ステップＳ１３において、コントローラ２１は、読み出したデータ（メインClip AVストリームファイル、サブClip AVストリームファイル、およびテキストサブタイトルデータ）を対応するバッファ５１乃至５４に供給するようスイッチ３２を制御する。具体的には、コントローラ２１は、バックグラウンドイメージデータをバッファ５１に供給し、メインClip AVストリームファイルのデータをバッファ５２に供給し、サブClip AVストリームファイルのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。
【０１９８】
ステップＳ１４において、スイッチ３２はコントローラ２１からの制御に基づいて、スイッチ３２を切り替える。これにより、バックグラウンドイメージデータはバッファ５１に供給され、メインClip AVストリームファイルのデータはバッファ５２に供給され、サブClip AVストリームファイルのデータはバッファ５３に供給され、テキストサブタイトルデータはバッファ５４に供給される。
【０１９９】
ステップＳ１５において、各バッファ５１乃至５４は、供給されたデータをそれぞれバッファリングする。具体的には、バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClip AVストリームファイルのデータをバッファリングし、バッファ５３は、サブClip AVストリームファイルのデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。
【０２００】
ステップＳ１６において、バッファ５１は、バックグラウンドイメージデータをバックグラウンドデコーダ７１に出力する。
【０２０１】
ステップＳ１７において、バッファ５２はメインClip AVストリームファイルのストリームデータをPIDフィルタ５５に出力する。
【０２０２】
ステップＳ１８において、PIDフィルタ５５は、メインClip ＡＶストリームファイルを構成するＴＳ（transport stream）パケットに付されているPIDに基づいて、各エレメンタリストリームのデコーダへ振り分ける。具体的には、PIDフィルタ５５は、ビデオストリームをビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを１stオーディオデコーダ７５−１への供給元となるスイッチ５９に供給する。すなわち、ビデオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム、およびオーディオストリームには、それぞれ異なるPIDが付されている。
【０２０３】
ステップＳ１９において、バッファ５３は、サブClip AVストリームファイルのストリームデータをPIDフィルタ５６に出力する。
【０２０４】
ステップＳ２０において、PIDフィルタ５６は、PIDに基づいて、各エレメンタリストリームを、それぞれのエレメンタリストリームに対応するデコーダへ振り分ける。具体的には、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２への供給元となるスイッチ５９に供給する。
【０２０５】
ステップＳ２１において、PIDフィルタ５５およびPIDフィルタ５６の後段のスイッチ５７乃至５９は、コントローラ２１からの制御に基づいて、メインClip AVストリームファイルとサブClip AVストリームファイルのいずれかを選択する。具体的には、スイッチ５７は、PIDフィルタ５５から供給されたメインClip AVストリームファイルまたはサブClip AVストリームファイルのプレゼンテーショングラフィックスストリームを選択し、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。また、スイッチ５８は、PIDフィルタ５５から供給されたメインClip AVストリームファイルまたはサブClip AVストリームファイルのインタラクティブグラフィックスストリームを選択し、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。さらに、スイッチ５９は、PIDフィルタ５５から供給されたメインClip AVストリームファイルまたはPIDフィルタ５６から供給されたサブCli AVストリームファイルのオーディオストリームを選択し、後段の１stオーディオデコーダ７５−１に供給する。なお、音声を切り替えるような指令がユーザにより行われた場合には、スイッチ５９は、サブClip AVストリームファイルのオーディオストリームを２ndオーディオデコーダ７５−２に供給したりもするが、ここでは、音声が切り替えられる前の処理について説明しているので、その説明は省略している。
【０２０６】
ステップＳ２２において、バッファ５４は、テキストサブタイトルデータをテキストサブタイトルコンポジション７６に出力する。
【０２０７】
ステップＳ２３において、バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、これをバックグラウンドプレーン生成部９１に出力する。
【０２０８】
ステップＳ２４において、ビデオデコーダ７２は、ビデオストリームをデコードし、これをビデオプレーン生成部９２に出力する。
【０２０９】
ステップＳ２５において、プレゼンテーショングラフィックスデコーダ７３は、スイッチ５７により選択され、供給されたプレゼンテーショングラフィックスストリームをデコードし、これを後段のスイッチ７７に出力する。
【０２１０】
ステップＳ２６において、インタラクティブグラフィックスデコーダ７４は、スイッチ５８により選択され、供給されたインタラクティブグラフィックスストリームをデコードし、これを後段のインタラクティブグラフィックスプレーン生成部９４に出力する。
【０２１１】
ステップＳ２７において、１stオーディオデコーダ７５−１は、スイッチ５９により選択され、供給されたオーティオデータをデコードし、これを後段のミキシング処理部１０１に出力する。音声の切り替えがユーザにより指示されていない状態における再生処理（図２９乃至図３２の再生処理）では、２ndオーディオデコーダ７５−２からオーディオデータが出力されることはないので、ミキシング処理部１０１は、１stオーディオデコーダ７５−１から出力されたオーディオデータを、そのまま後段のミキシング処理部９７に供給する。
【０２１２】
ステップＳ２８において、Text-STコンポジション７６は、テキストサブタイトルデータをデコードし、これを後段のスイッチ７７に出力する。
【０２１３】
ステップＳ２９において、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３またはText-STコンポジション７６からのデータのいずれかを選択する。具体的には、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれか１つを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。
【０２１４】
ステップＳ３０において、バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、バックグラウンドプレーンを生成する。
【０２１５】
ステップＳ３１において、ビデオプレーン生成部９２は、ビデオデコーダ７２から供給されたビデオデータに基づいて、ビデオプレーンを生成する。
【０２１６】
ステップＳ３２において、プレゼンテーショングラフィックスプレーン生成部９３は、ステップＳ２９の処理でスイッチ７７により選択され、供給されたプレゼンテーショングラフィックスデコーダ７３からのデータまたはText-STコンポジション７６からのデータに基づいて、プレゼンテーショングラフィックスプレーンを生成する。
【０２１７】
ステップＳ３３において、インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成する。
【０２１８】
ステップＳ３４において、バッファ９５は、ステップＳ１４の処理で選択され、供給されたサウンドデータをバッファリングし、所定のタイミングでミキシング処理部９７に供給する。
【０２１９】
ステップＳ３５において、ビデオデータ処理部９６は、各プレーンのデータを合成し、出力する。具体的には、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、およびインタラクティブグラフィックスプレーン生成部９４からのデータを合成し、ビデオデータとして出力する。
【０２２０】
ステップＳ３６において、ミキシング処理部９７は、オーディオデータ（ミキシング処理部１０１から出力されたオーディオデータ）とサウンドデータをミキシング（合成）し、出力し、処理が終了される。
【０２２１】
図２９乃至図３１を用いて説明した処理により、PlayListに含まれるメインパスとサブパスに関連付けられているメインClip AVストリームファイル、サブClip AVストリームファイル、およびテキストサブタイトルデータが参照され、再生される。PlayListにメインパスとサブパスを設けるようにし、サブパスで、メインパスで指定するClip ＡＶストリームファイルとは異なるClip AVストリームファイルを指定可能な構成としたので、メインパスのPlayItemが指すメインClipとは異なるClipであるサブClipに含まれるサブClip AVストリームファイルのデータとメインClipに含まれるメインClip AVストリームファイルのデータを一緒に（同じタイミングで）再生することができる。
【０２２２】
なお、図２９乃至図３１において、ステップＳ１６，ステップＳ１７の処理は、その順番が逆であってもよいし、並行して実行されてもよい。また、ステップＳ１８、ステップＳ２０の処理も、その順番が逆であってもよいし、並行して実行されてもよい。さらに、ステップＳ２３乃至ステップＳ２８の処理も、その順番が逆であってもよいし、並行して実行されてもよい。また、ステップＳ３０乃至ステップＳ３３の処理も、その順番が逆であってもよいし、並行して実行されてもよい。さらに、ステップＳ３５，ステップＳ３６の処理も、その順番が逆であってもよいし、並行して実行されてもよい。すなわち、図２８において、縦に同じ階層のバッファ５１乃至５４の処理、スイッチ５７乃至５９の処理、デコーダ７１乃至７６の処理、プレーン生成部９１乃至９４の処理、ビデオデータ処理部９６およびミキシング処理部９７の処理は、それぞれ、並行して実行されてもよいし、その順番は問わない。
【０２２３】
次に、音声の切り替えが指示された場合の再生装置１における処理を、図３２のフローチャートを参照して説明する。なお、この処理は、例えば、図２９乃至図３１の再生処理の実行中に実行される処理である。
【０２２４】
ステップＳ５１において、コントローラ２１は、オーディオストリーム番号（ＩＤでもよい）の順番リストを取得する。具体的には、コントローラ２１は、図１３を用いて説明したPlayItemのSTN_table()を参照し、さらに図１４または図１６を用いて説明したSTN_table()にエントリーされているオーディオストリーム番号（ＩＤ）の順番のリストを取得する。この処理は、図２９乃至図３１の再生処理が開始されたときに実行される処理である。
【０２２５】
ユーザにより操作入力部２９を介して、音声切り替えの指令が行われた場合、ステップＳ５２において、コントローラ２１は、ユーザからの音声切り替えの指令を受け付ける。
このとき、コントローラ２１は、図示せぬ外部の表示装置を制御して、図２６に示されるようなストリームナンバーテーブルを外部の表示装置に表示させるように制御してもよい。このように、コントローラ２１は、ユーザに提供する音声信号と字幕信号の選択肢を表示させ、ユーザからの音声切り替え（音声選択）の指令を受け付ける。図３２において、ステップＳ５１の処理はあらかじめ実行されている処理であり、ユーザにより音声切り替えの指令が行われた場合に、ステップＳ５２以降の処理が行われる。
【０２２６】
ステップＳ５３において、コントローラ２１は、再生しているオーディオストリーム番号の次のオーディオストリーム番号を取得する。例えば、図８のSubClip_entry_id＝０のオーディオストリーム（Auxiliary audio stream）が再生されていた場合、次のSubClip_entry_id＝１に対応するオーディオストリームファイルの番号が取得される。例えば、図２６のＡ＿ＳＮ＝３のオーディオ３に対応するオーディオストリームファイルが再生されていた場合、次は、Ａ＿ＳＮ＝４のオーディオ２＋オーディオ４であるので、コントローラ２１は、メインパスで参照される、オーディオ２に対応するオーディオストリームの番号と、サブパスで参照される、オーディオ４に対応するオーディオストリームの番号とを取得する。
【０２２７】
ステップＳ５４において、コントローラ２１は、取得した番号に対応するオーディオストリームを再生する機能を有するか否かを判定する。具体的には、コントローラ２１は、stream_attribute()（図１８）に記述されている内容に基づいて、例えば、必要に応じて、メモリ２３に登録されている各種設定を参照することなどにより、取得した番号に対応するオーディオストリームを自分自身（再生装置１）が再生する機能を有するか否かを判定する。例えば、図１５または図１７のStream_entry()において、type＝１である場合、コントローラ２１は、取得した番号に対応するメインClip AVストリームファイルのオーディオストリームを再生する機能を有するか否かを判定する。また、例えば、図１５または図１７のStream_entry（）において、type＝２である場合、コントローラ２１は、取得した番号に対応するサブClipのオーディオストリームを再生する機能を有するか否かを判定する。
【０２２８】
さらに、例えば、メインClip AVストリームファイルのオーディオストリームとサブClip AVストリームファイルのオーディオストリームとをミキシングして再生する場合（図１４の第１のSTN_tableにおいて、図１５のstream_entry()でtype＝３である場合、または、図１６の第２のSTN_tableにおいて、secondary_audio_present_flagが１であり、１番目のStream_entry()でtype＝１であり、２番目のStream_entry（）でtype＝２である場合）、コントローラ２１は、メインClip AVストリームファイルのオーディオストリームのみに対して、取得した番号に対応するオーディオストリームを再生する機能を有するか否かを判定する。ここで、メインClip AVストリームファイルのオーディオストリームとサブClipのオーディオストリームのミキシング再生をする場合、サブClip AVストリームファイルのオーディオストリームを再生する機能を有するか否かの判定は省略してもよい。
このことは、メインClip AVストリームファイルには、拡張されたストリームやマルチチャンネルのストリームが含まれる可能性があるが、サブClip AVストリームファイルだと、ある程度の制約が設けられている可能性が高く、特にサブClip AVストリームファイルに含まれるストリームが再生できるか否かを判定する必要がないからである。勿論、コントローラ２１は、サブClip AVストリームファイルに含まれるストリームを再生できるか否かも判定するようにしてもよい。
【０２２９】
また、例えば、２本のサブClip AVストリームファイルのオーディオストリームをミキシングして再生する場合（図１６の第２のSTN_tableにおいて、secondary_audio_present_flagが１であり、１番目のStream_entry()のtype＝２であり、２番目のStream_entry（）のtype＝２である場合）、コントローラ２１は、１ｓｔオーディオデコーダ７５−１でデコードされる（図１６のオーディオストリームＩＤ(audio_stream_id)のforループの中の最初の）オーディオストリームに対して、取得した番号に対応するオーディオストリームを再生する機能を有するか否かを判定する。ここで、図１６のstream entry()においてsecondary_audio_present_flagが１とされた後の２番目にエントリーされているサブClip AVストリームファイルのオーディオストリームを再生する機能を有するか否かの判定は省略してもよい。このことは、図１６のオーディオストリームＩＤ(audio_stream_id)のforループの中の最初のオーディオストリームは、映画の日本語吹き替えなどの音声と想定され、図１６のstream entry()において２番目にエントリーされているサブClip AVストリームファイルのオーディオストリームとして想定される映画のディレクターズカットよりも高品質の音声である可能性が高いため、特に、品質の低い方の図１６のstream entry()において２番目にエントリーされているサブClip AVストリームファイルのオーディオストリームを再生する機能を有するかの判定が必要ないからである。勿論、コントローラ２１は、２本のサブパスで参照される２つのサブClip AVストリームファイルのオーディオストリームに対して、再生できるか否かを判定するようにしてもよい。
【０２３０】
ステップＳ５４において、取得した番号に対応するオーディオストリームを再生する機能を有しないと判定された場合、ステップＳ５５において、コントローラ２１は、現在のストリーム番号の次のストリーム番号を取得する。すなわち、現在のストリーム番号のオーディオストリームを再生する機能を有さない場合には、そのストリーム番号は飛ばされ（再生対象とならず）、次のストリーム番号が取得される。そして、ステップＳ５５の処理の後、処理はステップＳ５４に戻り、それ以降の処理が繰り返される。すなわち、コントローラ２１により自分自身が再生する機能を有するオーディオストリームの番号が取得されるまで、処理が繰り返される。
【０２３１】
ステップＳ５４において、取得した番号に対応するオーディオストリームを再生する機能を有すると判定された場合、ステップＳ５６において、コントローラ２１は、取得した番号に対応するメインClipに含まれるClip AVストリームファイルのオーディオストリームと、サブClipに含まれるClip AVストリームファイルのオーディオストリームとを調べる。例えば、図８の例の場合、取得されたSubClip_entry_id＝１はSub Pathにより参照されるので、コントローラ２１は、取得した番号に対応するオーディオストリームが、サブClip AVストリームファイルにあることを確認することができる。また、例えば、図１５または図１７のStream_entry()において、type＝１である場合、コントローラ２１は、取得した番号に対応するオーディオストリームが、メインClip AVストリームファイルにあることを確認する。さらに、例えば、図１５または図１７のStream_entry（）において、type＝２である場合、コントローラ２１は、取得した番号に対応するオーディオストリームがサブClip AVストリームファイルにあることを確認する。また、例えば、メインClip AVストリームファイルとサブClip AVストリームファイルのオーディオストリームをミキシング再生する場合（図１４の第１のSTN_tableにおいて図１５のstream_entry()でtype＝３である場合、または、図１６の第２のSTN_tableにおいて、secondary_audio_present_flagが１であり、１番目のStream_entry()でtype＝１であり、２番目のStream_entry（）でtype＝２である場合）、コントローラ２１は、取得した番号に対応するオーディオストリームが、メインClip AVストリームファイルとサブClip AVストリームファイルの両方にあることを確認する。さらに、例えば、２本のサブClip AVストリームファイルのオーディオストリームをミキシング再生する場合（図１６のsecondary_audio_present_flagが１であり、１番目のStream_entry()でtype＝２であり、２番目のStream_entry（）でtype＝２である場合）、コントローラ２１は、取得した番号に対応するオーディオストリームが、サブClip AVストリームファイルのみにあることを確認する。
【０２３２】
ステップＳ５７において、コントローラ２１は、所望のオーディオストリームを特定する。具体的には、取得した番号に対応するストリームの属するメインClip AVストリームファイルまたはサブClip AVストリームファイルの中の所望のオーディオストリームを特定する。例えば、コントローラ２１は、図１５または図１７において、type＝１である場合、メインClip AVストリームファイルの中の所定のオーディオストリームを特定し、type＝２である場合、サブClip AVストリームファイルの中の所定のオーディオストリームを特定し、図１５においてtype＝３であるか、図１７において、secondary_audio_present_flagが１、１番目のStream_entry（）がtype＝１、２番目のStream_entry（）がtype＝２である場合、メインClip AVストリームファイルの中の所定のオーディオストリームと、サブClipの中の所定のオーディオストリームとを特定する。また、図１７においてsecondary_audio_present_flagが１、１番目のStream_entry（）がtype＝２、２番目のStream_entry（）がtype＝２である場合、コントローラ２１は、２つのサブClip AVストリームファイルの中の２つの所定のオーディオストリームを特定する。
【０２３３】
ステップＳ５８において、コントローラ２１は、所望のオーディオストリームが多重化されているClip（メインClip AVストリームファイルのみ、サブClip AVストリームファイルのみ、メインClip AVストリームファイルとサブClip AVストリームファイル、または、２本のサブClip AVストリームファイル、のうちのいずれかを含むClip）から、特定されたオーディオストリームを読み出すようストレージドライブ２２に指示するか、または、ローカルストレージ２４に記録されている所望のオーディオストリームが多重化されているClipから、特定されたオーディオストリームを読み出す。ストレージドライブ２２は、コントローラ２１から指示を受けた場合、この指示に基づいて、対象となるオーディオストリームを読み出す。そして、コントローラ２１は、読み出されたオーディオストリームをＡＶデコーダ部２６に供給して、再生するようＡＶデコーダ部２６に指示する。コントローラ２１は、例えば、図１４の第１のSTN_tableにおいて、図１５のstream_entry()でtype＝３である場合、または、図１６の第２のSTN_tableにおいて、secondary_audio_present_flagが１であり、１番目のStream_entry()がtype＝１であり、２番目のStream_entry（）がtype＝２である場合、メインClipのオーディオストリームとサブClip AVストリームファイルのオーディオストリームの両方を再生するよう、ＡＶデコーダ部２６に指示する。
【０２３４】
ステップＳ５９において、ＡＶデコーダ部２６は、オーディオストリームをデコードし、オーディオ出力する。すなわち、オーディオデコーダ７５によりデコードされたオーディオデータと、バッファ９５から出力されるサウンドデータが、ミキシング処理部９７によりミキシング処理され、オーディオ信号として出力される。具体的には、図１５または図１７においてtype＝１である場合、１stオーディオデコーダ７５−１は、メインClip AVストリームファイルの中の所定のオーディオストリームをデコードし、これを、ミキシング処理部１０１を介してミキシング処理部９７に供給する。また、図１５または図１７においてtype＝２である場合、１stオーディオデコーダ７５−１または２ndオーディオデコーダ７５−２のうちのいずれか（STN_tableの記載によって決まる）は、サブClip AVストリームファイルの中の所定のオーディオストリームをデコードし、これを、ミキシング処理部１０１を介してミキシング処理部９７に供給する。
【０２３５】
このとき、メインClip AVストリームファイルとサブClip AVストリームファイルのオーディオストリームをミキシング再生する場合（図１５のtype＝３である場合、または、図１６のsecondary_audio_present_flagが１、１番目のStream_entry()のtype＝１、２番目のStream_entry（）のtype＝２である場合）、１stオーディオデコーダ７５−１は、メインClip AVストリームファイルの中の所定のオーディオストリームをデコードし、これをミキシング処理部１０１に供給し、２ndオーディオデコーダ７５−２は、サブClip AVストリームファイルの中の所定のオーディオストリームをデコードし、これをミキシング処理部１０１に供給する。また、２本のサブClip AVストリームファイルのオーディオストリームをミキシング再生する場合（図１６のsecondary_audio_present_flagが１、１番目のStream_entry()のtype＝２、２番目のStream_entry（）のtype＝２である場合）、１stオーディオデコーダ７５−１は、サブClip AVストリームファイルの中の所定のオーディオストリームをデコードし、これをミキシング処理部１０１に供給し、２ndオーディオデコーダ７５−２は、サブClip AVストリームファイルの中の所定のオーディオストリームをデコードし、これをミキシング処理部１０１に供給する。ミキシング処理部１０１は、１stオーディオデコーダ７５−１から供給されたオーディオデータと、２ndオーディオデコーダ７５−２から供給されたオーディオデータとをミキシング（重畳、合成）し、これをミキシング処理部９７に供給する。ミキシング処理部９７は、ミキシング処理部１０１から供給されてきたオーディオデータと、バッファ９５から供給されてきたサウンドデータとをミキシング（重畳、合成）し、これをオーディオ信号として出力する。
【０２３６】
この図３２のステップＳ５９の処理の詳細な例を、図３３のフローチャートを参照して説明する。図３３は、ＡＶデコーダ部２６におけるオーディオストリームを出力する処理の例を説明するフローチャートである。
【０２３７】
ステップＳ８１において、ＡＶデコーダ部２６は、コントローラ２１からの制御に基づいて、再生するオーディオストリームがメインClip AVストリームファイルのオーディオストリームのみであるか否かを判定する。例えば、ＡＶデコーダ部２６は、図１４または図１６でエントリーされているオーディオストリームが、図１５または図１７においてtype＝１のみであるか否かを判定する。
【０２３８】
ステップＳ８１において、再生するオーディオストリームがメインClip AVストリームファイルのオーディオストリームのみであると判定された場合、PIDフィルタ５５により選択されて供給されてきたメインClip AVストリームファイルのオーディオストリームが、スイッチ５９により選択され、１stオーディオデコーダ７５−１に供給されるので、ステップＳ８２において、１stオーディオデコーダ７５−１は、メインClip AVストリームファイルのオーディオストリームをデコードする。１stオーディオデコーダ７５−１は、デコードしたメインClip AVストリームファイルのオーディオストリームを、後段のミキシング処理部１０１に供給する。ミキシング処理部１０１は、供給されてきたオーディオデータをそのまま後段のミキシング処理部９７に出力する。
【０２３９】
ステップＳ８１において、再生するオーディオストリームがメインClip AVストリームファイルのオーディオストリームのみでないと判定された場合、（すなわち、再生するオーディオストリームが図１５においてtype＝２またはtype＝３である場合、または、図１７において、type＝２を少なくとも含む場合）、ステップＳ８３において、ＡＶデコーダ部２６は、コントローラ２１からの制御に基づいて、再生するオーディオストリームがサブClip AVストリームファイルのオーディオストリームのみであるか否かを判定する。すなわち、ＡＶデコーダ部２６は、図１４または図１６でエントリーされているオーディオストリームが図１５または図１７においてtype＝２のみであるか否かを判定する。
【０２４０】
ステップＳ８３において、再生するオーディオストリームがサブClip AVストリームファイルのオーディオストリームのみでないと判定された場合、再生するオーディオストリームがメインClip AVストリームファイルのオーディオストリームとサブClip AVストリームファイルのオーディオストリームとの組み合わせであることを示す、すなわち、再生するオーディオストリームが図１５においてtype＝３である、または、図１６において、secondary_audio_present_flagが１とされ、さらに、１番目のStream_entry（）がtype＝１と２番目のStream_entry（）がtype＝２とされる組み合わせであるので、PIDフィルタ５５により選択されて供給されてきたメインClip AVストリームファイルのオーディオストリームがスイッチ５９により選択され、１stオーディオデコーダ７５−１に供給されると共に、PIDフィルタ５６により選択されて供給されてきたサブClip AVストリームファイルのオーディオストリームが、スイッチ５９により選択され、２ndオーディオデコーダ７５−２に供給される。
【０２４１】
そこで、ステップＳ８４において、１stオーディオデコーダ７５−１は、メインClip AVストリームファイルのオーディオストリームをデコードする。１stオーディオデコーダ７５−１は、デコードしたメインClip AVストリームファイルのオーディオストリームを、後段のミキシング処理部１０１に供給する。
【０２４２】
また、ステップＳ８５において、２ndオーディオデコーダ７５−２は、サブClip AVストリームファイルのオーディオストリームをデコードする。２ndオーディオデコーダ７５−２は、デコードしたサブClip AVストリームファイルのオーディオストリームを、後段のミキシング処理部１０１に供給する。なお、ステップＳ８４とステップＳ８５の処理は、並行して実行されてもよいし、順番を逆にして実行されてもよい。
【０２４３】
ステップＳ８６において、ミキシング処理部１０１は、１stオーディオデコーダ７５−１によりデコードされたメインClip AVストリームファイルのオーディオストリームと、２ndオーディオデコーダ７５−２によりデコードされたサブClip AVストリームファイルのオーディオストリームとをミキシングする。すなわち、ミキシング処理部１０１は、１stオーディオデコーダ７５−１から供給されてきたオーディオデータと２ndオーディオデコーダ７５−２から供給されてきたオーディオデータとを、ミキシング（合成、重畳）する。ミキシング処理部１０１は、ミキシングした結果得られたオーディオデータを、後段のミキシング処理部９７に供給する。
【０２４４】
一方、ステップＳ８３において、再生するオーディオストリームがサブClip AVストリームファイルのオーディオストリームのみであると判定された場合（図１５または図１７においてtype＝２のみである場合）、処理はステップＳ８７に進み、ＡＶデコーダ部２６は、コントローラ２１からの制御に基づいて、再生するオーディオストリームは、サブClip AVストリームファイルの２つのオーディオストリームの組み合わせであるか否かを判定する。すなわち、図１６のstream entry()において、secondary_audio_present_flagが１とされて２本のオーディオストリームがエントリーされ、さらに図１７において、ともにtype＝２とされているか否かが判定される。なお、図１４と図１５のシンタクスの場合、サブClip AVストリームファイルの２つのオーディオストリームの組み合わせは定義されないので、ステップＳ８７においては、再生するオーディオストリームは、サブClip AVストリームファイルの２つのオーディオストリームの組み合わせではないと判定される。
【０２４５】
ステップＳ８７において、再生するオーディオストリームは、サブClip AVストリームファイルの２つのオーディオストリームの組み合わせでないと判定された場合（図１４と図１５において、type＝２とされる場合、または、図１６と図１７において、secondary_audio_present_flagが０とされ、１番目のStream_entry（）でtype＝２とされる場合）、すなわち、オーディオストリームが１本しかエントリーされていない場合、このオーディオストリームは、勿論サブClip AVストリームファイルのオーディオストリームであるので、PIDフィルタ５６により選択されて供給されてきたサブClip AVストリームファイルのオーディオストリームが、スイッチ５９により選択され、１stオーディオデコーダ７５−１に供給される。そこで、ステップＳ８８において、１stオーディオデコーダ７５−１は、サブClip AVストリームファイルのオーディオストリームをデコードする。１stオーディオデコーダ７５−１は、デコードしたサブCli AVストリームファイルpのオーディオストリームを、後段のミキシング処理部１０１に供給する。ミキシング処理部１０１は、供給されてきたオーディオデータをそのまま後段のミキシング処理部９７に出力する。
【０２４６】
一方、ステップＳ８７において、再生するオーディオストリームは、サブClip AVストリームファイルの２つのオーディオストリームの組み合わせであると判定された場合（図１６と図１７において、secondary_audio_present_flagが１とされ、１番目のStream_entry（）と２番目のStream_entry（）がともにtype＝２とされる場合）、PIDフィルタ５６により選択されて供給されてきたサブClip AVストリームファイルのオーディオストリームは２本となるので、スイッチ５９は、１ｓｔオーディオデコーダ７５−１でデコードされるオーディオストリーム、すなわち、図１６において、オーディオストリームＩＤ(audio_stream_id)のforループの中の最初にエントリーされたオーディオストリームを、１stオーディオデコーダ７５−１に供給するようスイッチを選択し、２ｎｄオーディオデコーダ７５−２でデコードされるオーディオストリーム、すなわち、図１６において、オーディオストリームＩＤ(audio_stream_id)のforループの中のsecondary_audio_present_flagが１とされた後に、２番目にエントリーされたオーディオストリームを、２ｎｄオーディオデコーダ７５−２に供給するようスイッチを選択する。
【０２４７】
そこで、ステップＳ８９において、１stオーディオデコーダ７５−１は、供給されてきたサブClip AVストリームファイルのオーディオストリームをデコードする。１stオーディオデコーダ７５−１は、デコードしたサブClip AVストリームファイルのオーディオストリームを、後段のミキシング処理部１０１に供給する。
【０２４８】
また、ステップＳ９０において、２ndオーディオデコーダ７５−２は、供給されてきたサブClip AVストリームファイルのオーディオストリームをデコードする。２ndオーディオデコーダ７５−２は、デコードしたサブClip AVストリームファイルのオーディオストリームを、後段のミキシング処理部１０１に供給する。なお、ステップＳ８９とステップＳ９０の処理は、並行して実行されてもよいし、順番を逆にして実行されてもよい。
【０２４９】
ステップＳ９１において、ミキシング処理部１０１は、１stオーディオデコーダ７５−１によりデコードされたサブClip AVストリームファイルのオーディオストリームと、２ndオーディオデコーダ７５−２によりデコードされたサブClip AVストリームファイルのオーディオストリームと（すなわち、２つのサブClip AVストリームファイルのオーディオストリーム）をミキシングする。換言すれば、ミキシング処理部１０１は、１stオーディオデコーダ７５−１から供給されてきたオーディオデータと２ndオーディオデコーダ７５−２から供給されてきたオーディオデータとを、ミキシング（合成、重畳）する。ミキシング処理部１０１は、ミキシングした結果得られたオーディオデータを、後段のミキシング処理部９７に供給する。
【０２５０】
ステップＳ８２の処理の後、ステップＳ８６の処理の後、ステップＳ８８の処理の後、または、ステップＳ９１の処理の後、処理はステップＳ９２に進み、ミキシング処理部９７は、供給されてきたオーディオデータと、バッファ９５から供給されてきたサウンドデータとをミキシングし、出力する。例えば、このステップＳ９２の処理が、ステップＳ８２の処理の後の場合、ミキシング処理部９７は、メインClip AVストリームファイルのオーディオストリームがデコードされたオーディオデータと、サウンドデータとをミキシングする。また、例えば、このステップＳ９２の処理が、ステップＳ８８の処理の後の場合、ミキシング処理部９７は、サブClip AVストリームファイルのオーディオストリームがデコードされたオーディオデータとサウンドデータとをミキシングする。さらに、例えば、このステップＳ９２の処理が、ステップＳ８６の処理の後の場合、ミキシング処理部９７は、メインClip AVストリームファイルのオーディオストリームがデコードされたオーディオデータとサブClip AVストリームファイルのオーディオストリームがデコードされたオーディオデータとがミキシングされたオーディオデータに、サウンドデータをミキシングする。また、例えば、このステップＳ９２の処理が、ステップＳ９１の処理の後の場合、ミキシング処理部９７は、２本のサブClip AVストリームファイルのオーディオストリームがそれぞれデコードされたオーディオデータがミキシングされたオーディオデータに、サウンドデータをミキシングする。
【０２５１】
図３３の処理によれば、メインパスで参照されるオーディオストリームとサブパスで参照されるオーディオストリームとのミキシング再生を行うことができる。また、２つのサブパスで参照される２本のオーディオストリームのミキシング再生を行うことができる。
【０２５２】
図３３を用いて説明した処理のようにして、図３０のステップＳ２１における図２８のスイッチ５９の選択が決定される。すなわち、図３３を用いて説明した処理において再生されるオーディオストリームがメインClip AVストリームファイルのみである場合、スイッチ５９は、メイン側、すなわちPIDフィルタ５５から供給されたオーディオストリームを１stオーディオデコーダ７５−１に供給するよう選択し（図３３のステップＳ８１でYES）、対象となるClipが１本のサブClip AVストリームファイルのみである場合、スイッチ５９は、サブ側、すなわち、PIDフィルタ５６から供給されたオーディオストリームを１stオーディオデコーダ７５−１に供給するよう選択し（図３３のステップＳ８７でＮＯ）、対象となるClip AVストリームファイルがメインClip AVストリームファイルとサブClip AVストリームファイルの両方である場合、スイッチ５９は、PIDフィルタ５５から供給されたオーディオストリームを１stオーディオデコーダ７５−１に供給するとともに、PIDフィルタ５６から供給されたオーディオストリームを、２ndオーディオデコーダ７５−２に供給するよう選択し（図３３のステップＳ８３でＮＯ）、対象となるClipが２本のサブClip AVストリームファイルである場合、スイッチ５９は、サブ側、すなわち、PIDフィルタ５６から供給されたオーディオストリームを、１stオーディオデコーダ７５−１または２ｎｄオーディオデコーダ７５−２に供給するよう選択（図３３のステップＳ８７でYES）する。
【０２５３】
このように、コントローラ２１は、PlayItemのSTN_table()に基づいて、音声（オーディオ）の切り替えを制御することができる。また、コントローラ２１は、STN_table()のstream_attributeを参照することで、自分自身が再生機能を有するストリームだけを選んで、再生切り替えの制御をすることができる。さらに、コントローラ２１は、STN_table()に基づいて、メインClip AVストリームファイルに含まれるオーディオストリームと、サブClip AVストリームファイルに含まれるオーディオストリームとを重畳して再生するとともに、２本のサブClip AVストリームファイルに含まれるオーディオストリームを重畳して再生するよう制御することができる。
【０２５４】
なお、図１４と図１５のシンタクス（第１のSTN_table()）を用いる場合、サブClip AVストリームファイルの２つのオーディオストリームの組み合わせは定義されないので、図３３のステップＳ８７では必ずＮＯと判定され、ステップＳ８８以降の処理が実行される。すなわち、図１４と図１５のシンタクスに対応する場合、図３３のステップＳ８９、ステップＳ９０、およびステップＳ９１の処理は実行されない。
【０２５５】
なお、図３２の処理では、オーディオストリーム番号に基づいて、オーディオを切り替えるようにしたが、オーディオストリームＩＤ（audio_stream_id）に基づいて、オーディオを切り替えるようにしてもよい。この場合、オーディオストリーム番号から１を減算したものが、オーディオストリームＩＤとなる。
【０２５６】
また、以上の例では、メインパスにより参照されるオーディオストリームと、サブパスにより参照されるオーディオストリームとをミキシング（合成）して再生する場合の例（図１４と図１５、または、図１６と図１７）や、２本のサブパスにより参照されるオーディオストリームをミキシング（合成）して再生する場合の例（図１６と図１７）を説明したが、オーディオストリームに限らず、ストリームの種類が同じであれば、各種のストリームファイルについて同様に適用することができる。例えば、ビデオストリーム（ストリームの種類がビデオストリーム）を２つ合成して再生するピクチャインピクチャ表示をする場合にも、この構成は適用することができる。このように、本発明によれば、メインClipに含まれる所定の種類のストリームファイルと、同じ種類のサブClipに含まれるストリームファイルとの組み合わせを定義したり、サブClipに含まれる同じ種類のストリームファイルの組み合わせを定義することで、メインパスで参照されるストリームとサブパスで参照されるストリーム（同じ種類の２つのストリーム）や、２つのサブパスで参照されるストリーム（同じ種類の２つのストリーム）を合成して再生することができる。
【０２５７】
すなわち、上述したような構成は、例えば、図４３を用いて後述するように、メインパスで参照されるＡＶストリームのビデオストリームを主画面として表示させ、主画面の中に、サブパスのビデオパスで参照されるビデオストリームを子画面として合成して表示させる、いわゆるPinP（ピクチャインピクチャ）表示などについても利用することができる。上述した構成を応用することにより、PinP（ピクチャインピクチャ）表示を実行する場合の詳細については、後述する。
【０２５８】
以上により、メインのＡＶストリームとは別のストリームやデータファイルでオーディオや字幕などを用意する場合、PlayListの中にメインパスとサブパスを有する構成としたので、ユーザにより音声切り替えや字幕切り替えという操作が行われる場合、メインClipＡＶストリームとは異なる別ストリームや別データファイルの中から再生されるストリームを選ぶことができる。
【０２５９】
また、第１および第２のSTN_table()で、メインClipに含まれるオーディオストリームと、サブClipに含まれるオーディオストリームとの２つのオーディオストリームの組み合わせを選択できる構成としたので、ユーザは、２つのオーディオストリームの重畳再生を選ぶことができる。具体的には、STN_table()において、オーディオストリームとして２つのstream_attributes()をエントリー可能な構成とし、stream_entry()を、メインClipとサブClipの両方の組み合わせでオーディオストリームをエントリーすることが可能な構成としたので、オーディオストリームを２つ重畳して再生するよう指令することができる。
【０２６０】
また、図１６と図１７に示されるように、第２のSTN_table()で、２つのサブClipに含まれる２本のオーディオストリームの組み合わせを選択できる構成としたので（secondary_audio_present_flagを設けたので）、ユーザは、２つのオーディオストリームの重畳再生を選ぶことができる。具体的には、第２のSTN_table()において、オーディオストリームとして１つのオーディオストリームＩＤで、２つのstream_entry()とstream_attributes()との組み合わせをエントリー可能な構成としたので、オーディオストリームを２つ重畳して再生するよう指令することができる。
【０２６１】
また、メインパスのPlayItemの中に、ＡＶストリームファイルに多重化されているデータと、Sub Pathにより参照されるデータのtypeを定義するSTN_Tableを設けるようにしたので、より、拡張性の高いストリームを実現することができる。
【０２６２】
さらに、再生装置１は、STN_table()のstream_attributeを参照することで、自分自身が有する機能に対応するストリームだけを順次選択して再生することができる。
【０２６３】
以上説明した再生装置１の処理をまとめると、以下のようになる。
【０２６４】
再生装置１は、記録媒体に記録されている、少なくとも１つのストリームを含むメインClipＡＶストリームファイル（複数の種類のストリームからなるメインClip ＡＶストリームファイル）の位置を示す主の再生パスであるMain Pathと、メインClipＡＶストリームファイルに含まれるメインストリームファイルの再生のタイミングに合わせて再生されるサブClip ＡＶストリームファイルのそれぞれの位置を示す複数のサブパスにより構成される再生管理情報としてのPlayListを取得し、PlayListの中のメインパスに含まれる、メインClip ＡＶストリームファイルの所定の種類のメインストリームファイル（例えば、１stオーディオストリーム）の再生のタイミングに合わせて再生される、同じ種類のサブClip ＡＶストリームファイル（例えば、２ndオーディオストリーム）の組み合わせを示す情報であるSTN_table()（PlayItemで示されるSTN_table()）に基づいて、再生するストリームの選択を受け付ける。
【０２６５】
ここで、メインClipＡＶストリームファイルに含まれる所定の種類のメインストリームファイル（例えば、１stオーディオストリーム）と、そのメインストリームファイルの再生のタイミングに合わせて再生される、同じ種類のサブClipＡＶストリーム（２ndオーディオストリーム）との組み合わせの選択が受け付けられた場合、再生装置１は、選択されたメインClipＡＶストリームファイルとともに、サブパスにより参照される、対応するサブClipＡＶストリームファイルを読み出す。そして、再生装置１のミキシング処理部１０１は、この２つのオーディオストリーム（デコードされたオーディオストリーム）を合成し、ミキシング処理部９７（ＡＶデコーダ部２６）は、合成されたストリームを再生（出力）する。
【０２６６】
これにより、図３４に示されるように、メインClip ＡＶストリームファイルである本編のMovie（映画）にビデオデータ（Video）とオーディオデータ（Audio）が含まれており、監督のコメンタリ（Commentary）として、英語のコメンタリと、日本語のコメンタリがサブClipＡＶストリームファイルで与えられている場合に、ユーザは、audio_stream_number＝１の本編のaudioと、audio_stream_number＝２の本編のaudio＋英語のコメンタリと、audio_stream_number＝３の本編のaudio＋日本語のコメンタリとの中から、再生するオーディオストリームを選択することができる。そして、メインClipＡＶストリームファイルとサブClipＡＶストリームファイルの組み合わせ（audio_stream_number＝１と２）が選択された場合には、それらを合成して再生することができる。
【０２６７】
このように、PlayListにMain PathとSub Pathを含め、Main PathとSub Pathが異なるClip AVストリームファイルを参照する構成としたので、ストリームに拡張性を持たせることができる。また、１つのSub Pathで複数のファイルを参照可能な構成としたので（例えば、図８）、複数の異なるストリームの中からユーザが選択することができる。
【０２６８】
さらに、Main PathのPlayItemの中に、Main Pathにより参照されるＡＶストリームファイルに多重化されている（含まれる）付属データ（例えば、オーディオストリーム）と、Sub Pathにより参照される付属データとを定義するテーブルとして、図１４を用いて説明した第１のSTN_table()または図１６を用いて説明した第２のSTN_table()を設けるようにしたので、より、拡張性の高いストリームを実現することができる。また、STN_table()にエントリーすることにより、Sub Pathを容易に拡張することができる。
【０２６９】
また、STN_table()にストリームの属性情報である図１８のstream_attribute()を設けるようにしたので、再生装置１側で、選択されたストリームを再生可能か否かを判定することができる。さらに、stream_attribute()を参照することで、再生機能を有するストリームだけを選択して再生することができる。
【０２７０】
さらに、第１または第２のSTN_table()（図１４または図１６）において、stream_entry（）（図１５または図１７）でメインパスにより参照されるストリームファイルと、サブパスにより参照される、同じ種類のストリームファイル（ここでは、オーディオストリームファイル）との組み合わせを定義するとともに、図１６と図１７でサブパスにより参照される２本のオーディオストリームファイルの組み合わせを定義するようにし、さらに、図２８を用いて説明したように、再生装置１に２つのオーディオデコーダ（１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２）を設けるとともに、２つのオーディオデコーダによりデコードされたオーディオデータを合成（ミキシング）するミキシング処理部１０１を設けるようにしたので、２つの同じ種類のストリームを組み合わせて同時に再生することができる。
【０２７１】
例えば、サブClipＡＶストリームファイルに含まれる所定の種類の２つのサブClipＡＶストリームファイルの組み合わせの選択が受け付けられた場合（すなわち、第２のSTN_table()が参照され、secondary_audio_present_flagが１とされ、１番目のStream_entry（）と２番目のStream_entry（）がともにtype＝２とされる場合）、再生装置１は、選択された２つのサブClipＡＶストリームファイルを読み出す。そして、再生装置１のミキシング処理部１０１は、この２つのオーディオストリーム（デコードされたオーディオストリーム）を合成し、ミキシング処理部９７（ＡＶデコーダ部２６）は、合成されたストリームを再生（出力）する。
【０２７２】
また、Sub Pathには、図１１に示されるように、Sub Pathのタイプ（オーディオやテキスト字幕といったタイプ）を示すSubPath_type、Sub Pathが参照するサブClipの名を示す図１２のClip_Information_file_name、およびSub Pathが参照するClipのイン点を示す図１２のSubPlayItem_IN_timeとアウト点を示す図１２のSubPlayItem_OUT_timeを含むようにしたので、Sub Pathが参照するデータを的確に特定することができる。
【０２７３】
さらに、Sub Pathには、Sub PathがMain Pathとを同じタイミングで再生するためのMain Path上のＡＶストリームファイルを指定する指定情報である図１２のsync_PlayItem_id（例えば、図７と図８のsync_PlayItem_id）と、Sub Pathが参照するデータのイン点がMain Pathの時間軸上で同期してスタートするMain Path上の時刻であるsync_start_PTS_of_PlayItem（例えば、図７と図８のsync_start_PTS_of_PlayItem）とをさらに含むため、図７や図８に示されるように、Main Pathが参照するメインClipＡＶストリームファイルに同期してSub Pathが参照するデータ（ファイル）を再生することができる。
【０２７４】
なお、図２８のストレージドライブ２２が読み出してＡＶデコーダ部２６に供給するデータは、例えば、DVD（Digital Versatile Disc）などの記録媒体１１に記録されているデータである。そして、ハードディスクなどで構成されているローカルストレージ２４に記録されているデータも、ストレージドライブ２２が読み出したデータとともに、ＡＶデコーダ部２６に供給される。そして、ローカルストレージ２４に記録されているデータは、ネットワーク２を介してダウンロードしたデータであってもよい。換言すれば、ＡＶデコーダ部２６に供給されるデータは、着脱可能な記録媒体１１に記録されているデータであっても、あらかじめ再生装置１に記憶されているデータであっても、他の装置からネットワークを介して供給されたデータであっても、これらが組み合わされたデータでもよい。例えば、ダウンロードされ、ハードディスクなどで構成されているローカルストレージ２４に記録されたPlayListおよびサブClipと、DVDなどの記録媒体１１に記録されたメインClipＡＶストリームファイルに基づいて、AVストリームの再生処理が実行されてもよい。また、例えば、DVDなどの記録媒体１１に記録されたClipＡＶストリームファイルをサブClipとするようなPlayListとメインClipとがハードディスクなどで構成されているローカルストレージ２４に記録されている場合に、ローカルストレージ２４に記録されているPlayListに基づいて、メインClip AVストリームファイルとサブClip AVストリームファイルがそれぞれ、ローカルストレージ２４と記録媒体１１から読み出され再生されてもよい。
【０２７５】
また、例えば、１つのメインパスと１つのサブパスで示されるストリームデータが再生される場合、又は２本のサブパスで示されるストリームデータが再生される場合、メインパスとサブパス、または、２本のサブパスで示されるストリームデータがそれぞれ別のトランスポートストリーム（ＴＳ）としてダウンロード等により取得されたときには、取得された２本の異なるＴＳにそれぞれ含まれるオーディオストリームが合成されることになる。一方、２本のサブパスで示されるストリームデータが再生される場合であっても、その２本のサブパスで示される少なくとも２つのストリームが含まれる１つのＴＳが取得された場合には、１つのＴＳに含まれる２つのオーディオストリームが合成されることになる。
【０２７６】
また、図１４を用いて説明した第１のSTN_tableを用い、図１５のstream_attribute()においてtype＝３とすることによりメインパスとサブパスで、２つのオーディオストリームを定義した場合や、図１６を用いて説明した第２のSTN_tableを用い、secondary_audio_present_flagを用いて、図１７のstream_attribute()においてメインパスとサブパス、またはサブパスのみで２つのオーディオストリームを定義した場合、再生装置１の１stオーディオデコーダ７５−１は、メインClip AVストリームファイルまたはサブClip AVストリームファイルのオーディオストリームをデコードし、２ndオーディオデコーダ７５−２はサブClip AVストリームファイルのオーディオストリームをデコードするのであるが、コーディック（エンコード）方式が同一（例えば、図１９のDolby AC-3 audio）である２つのClipのオーディオストリームの組み合わせを、STN_table()で定義するよう制約を設けてもよい。換言すれば、STN_table()で定義される組み合わせにおいて同時にデコードされるものを、同一のコーディック方式となるように、制限を設けるようにしてもよい。
この場合、１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２がオーディオストリームをデコードしている途中（例えば、MPEGにおいては、逆量子化されたが、IDCTされていない状態）であっても、コーディック方式が同一であれば、デコード途中のデータ方式も同様であるので、ミキシング処理部１０１によりミキシング可能となるからである。
【０２７７】
以上説明した再生装置１においては、上述した図１４の第１のSTN_table()または図１６の第２のSTN_table()を参照することにより、PlayItemが参照するClipとSubPathが参照するClipを組み合わせたものの再生を選ぶことができるようになされていた。次に、２つのオーディオストリームのミキシング再生を選ぶことができる仕組みを提供するための異なる例について説明する。
【０２７８】
図３５は、２つのオーディオストリームのミキシング再生を行う場合における、STN_table()のシンタクスの第３の例（第３のSTN_table()）を示す図である。第３のSTN_table()も、PlayItemの属性として設定されていることは言うまでもない。図３５の第３のSTN_table()は、PlayItemが参照するClipとSubPathが参照するClipを組み合わせたものの再生を選ぶのではなく、再生されるClipを自由に選択することができるようになされている。
なお、図１４を用いて説明した場合と同様の部分については、その説明を、適宜省略する。
【０２７９】
図３５の第３のSTN_table()は、２つのオーディオストリームが定義されている点で、図１４を用いて説明した場合と異なる。Length、number_of_video_stream_entries、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のオーディオストリームは、後述する図３６の再生装置１４１または図５３の再生装置４０１の１stオーディオデコーダ７５−１でデコードされるオーディオストリームであり、第３のSTN_table()でエントリーされるnumber_of_audio_stream2_entriesのオーディオストリームは、後述する図３６の再生装置１４１または図５３の再生装置４０１の２ndオーディオデコーダ７５−２でデコードされるオーディオストリームである。このように、図３５の第３のSTN_table()では、２つのオーディオデコーダのそれぞれにデコードさせるオーディオストリームをエントリーすることができる。
【０２８２】
なお、以下において、図３６の再生装置１４１または図５３の再生装置４０１の１stオーディオデコーダ７５−１でデコードされるnumber_of_audio_stream_entriesのオーディオストリームをオーディオストリーム＃１と称し（さらに、オーディオストリーム＃１は、後述するように、プライマリ（Primary）オーディオストリームと称される場合もある）、図３６の再生装置１４１または図５３の再生装置４０１の２ndオーディオデコーダ７５−２でデコードされるnumber_of_audio_stream2_entriesのオーディオストリームをオーディオストリーム＃２と称する（さらに、オーディオストリーム＃２は、後述するように、セカンダリ（Secondary）オーディオストリームと称される場合もある）。また、オーディオストリーム＃１は、オーディオストリーム＃２よりも優先されるオーディオストリームであるものとする。
【０２８３】
number_of_PG_txtST_stream_entries、PG_txtST_stream_id、および、PG_txtST_stream_numberについては、図１４を用いて説明した場合と同様である。
【０２８４】
また、number_of_IG_stream_entries、IG_stream_id、IG_stream_numberについては、図１４を用いて説明した場合と同様である。
【０２８５】
そして、stream_entry()のシンタクスについては、図１７を用いて説明した場合と同様である。
【０２８６】
そして、図１４、図１６を用いて説明したビデオストリームＩＤ (video_stream_id)のforループ、および、オーディオストリームＩＤ (audio_stream_id)のforループにおける場合と同様に、オーディオストリームＩＤ２ (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ループ、および、グラフィックスストリームＩＤ (IG_stream_id)のforループの中ｉｄについても、図１４、または、図１６における場合と同様である。
【０２８９】
次に、図３５の第３のSTN_table()のstream_attribute()について説明する。なお、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()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームのストリーム属性情報が記述されている。
【０２９６】
このように、第３のSTN_tableが用いられる場合においても、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されているとき、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から、stream_entry()によって特定された１つのエレメンタリストリームの属性情報をstream_attribute()によって知ることができる。
【０２９７】
再生装置は、第１または第２のSTN_tableが用いられる場合と同様にして、この属性情報（stream_attribute()）を調べることによって、そのエレメンタリストリームを自分自身が再生する機能を持っているか否かを調べることができる。また、再生装置は、この属性情報を調べることによって、再生装置の言語設定の初期情報に対応したエレメンタリストリームの選択することができる。
【０２９８】
なお、図３５の第３のSTN_table()が適用される場合、オーディオストリーム＃１とオーディオストリーム＃２とは、両方ともメインパスにより参照されるClipに含まれるオーディオストリームとしてもよい。また、オーディオストリーム＃１とオーディオストリーム＃２のうちの、一方をメインパスにより参照されるClipに含まれるオーディオストリームとし、他方をサブパスにより参照されるClipに含まれるオーディオストリームとしてもよい。このように、図３５の第３のSTN_table()が適用される場合、メインパスにより参照されるメインClipＡＶストリームに重畳された複数のオーディオストリームを２つ選択して、ミキシングして再生することも可能である。
【０２９９】
このようにして、PlayItem()の中に第３のSTN_table()を設けるようにすることにより、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、ユーザによる音声切り替えや字幕切り替えという操作により、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から再生されるストリームを自由に組み合わせて選ぶことができる仕組みが提供されるので、ユーザは、再生するＡＶストリームとは異なるストリームやデータファイルに対しても、インタラクティブな操作を行うことができる。
【０３００】
また、第１および第２のSTN_tableにおける場合と同様に、第３のSTN_tableが適用される場合においても、１つのPlayListの中にSubPathを複数使用し、それぞれのSubPathがそれぞれSubPlayItemを参照する構成としたので、拡張性の高い、また、自由度の高いＡＶストリームを実現することができる。すなわち、このPlayListにより再生されるコンテンツにおいて、後で、SubPlayItemを追加できる構成とすることができる。
【０３０１】
さらに、図３５を用いて説明した第３のSTN_table()は、後述する図３６の再生装置１４１または図５３の再生装置４０１の１stオーディオデコーダ７５−１でデコードされるオーディオストリーム＃１と、２ndオーディオデコーダ７５−２でデコードされるオーディオストリーム＃２とをミキシングして再生することができる仕組みを提供するようにした。例えば、PlayItem()とそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、PlayItemが参照するClipに含まれるオーディオストリームをオーディオストリーム＃１とし、SubPathが参照するClipに含まれるオーディオストリームをオーディオストリーム＃２とし、これらををミキシングして再生することができる仕組みを提供するようにした。また、例えば、PlayItemが参照するClip（メインClip）に含まれる２つのオーディオストリームを、それぞれオーディオストリーム＃１とオーディオストリーム＃２とし、これらをミキシングして再生することができる仕組みを提供するようにした。
これにより、メインオーディオストリームと、メインのオーディオストリームとは異なるオーディオストリーム（例えば、監督のコメントのストリーム）の重畳再生を行うことができる。また、メインClipＡＶストリームに重畳されている２つのオーディオストリーム＃１とオーディオストリーム＃２とを重畳（ミキシング）して再生することができる。
【０３０２】
具体的には、例えば、図２６を参照して説明した場合と同様にして、ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルにおいて、音声番号をＡ＿ＳＮ（Audio Stream Number）、Ａ＿ＳＮ２と称し、字幕番号をＳ＿ＳＮ（SubPicture Stream Number）と称した場合、PlayListのMain Pathを構成するPlayItemの第３のSTN_table()でエントリーされるオーディオストリーム＃１（audio_stream_idでエントリーされるオーディオストリーム）のそれぞれにＡ＿ＳＮが与えられ、ユーザは、Ａ＿ＳＮが与えられているオーディオストリームの中から、再生するオーディオストリーム＃１を選択することができるようになされる。同様に、第３のSTN_table()でエントリーされるオーディオストリーム＃２（audio_stream_id2でエントリーされるオーディオストリーム）のそれぞれにＡ＿ＳＮ２を与えることにより、ユーザに、選択したオーディオストリーム＃１とミキシングされるオーディオストリーム＃２を、Ａ＿ＳＮ２が与えられているオーディオストリームの中から選択させるようにすることができる。
【０３０３】
ここで、オーディオストリーム＃１を選択するためのＡ＿ＳＮと、オーディオストリーム＃２を選択するためのＡ＿ＳＮ２とは、ユーザにより独立に選択可能なようになされているため、２つの音声の切り替えは独立している。
【０３０４】
すなわち、再生する２つのオーディオストリーム（オーディオストリーム＃１とオーディオストリーム＃２）とを別々に定義することで、ユーザは、再生する２つのオーディオストリームを、定義されたものの中から任意に選択することができる。換言すれば、ユーザは、再生する２つのオーディオストリームの選択を自由に（オーディオストリーム＃１とオーディオストリーム＃２で定義されているものの中から自由に）行うことができるので、組み合わせの自由度の高い選択を行うことができる。例えば、ユーザは、オーディオ２＋オーディオ４の組み合わせ（Ａ＿ＳＮ＝１とＡ＿ＳＮ２＝１の組み合わせ）や、オーディオ２＋オーディオ５の組み合わせ（Ａ＿ＳＮ＝１とＡ＿ＳＮ２＝２の組み合わせ）を選択することができる。
【０３０５】
このように、PlayItem()の中の第３のSTN table()（図３５）のstream_entry（）で、２本のオーディオストリームをエントリーすることが可能な構成としたので、２つのオーディオストリームをミキシングして再生することができる。すなわち、複数の種類からなるストリームから、同じ種類（この例の場合、オーディオストリーム）の２本のストリームをミキシング（重畳、または合成）して、同時に再生することができる。また、ユーザは、所望する２本の同じ種類のストリームのミキシング再生を指令することができる。
【０３０６】
次に、本発明を適用した再生装置の異なる例として、第３のSTN table()（図３５）など、２本のオーディオストリームを個別にエントリーすることが可能な構成を用いて、２つのオーディオストリームをミキシングして再生することができる再生装置１４１について説明する。
【０３０７】
再生装置１４１は、再生装置１のＡＶデコーダ部２６に代わって、ＡＶデコーダ部１５１が設けられている以外は、基本的に、図２７を用いて説明した再生装置１と同様の構成を有するものである。図３６は、ＡＶデコーダ部１５１の構成例を示すブロック図である。このＡＶデコーダ部１５１を備えた再生装置１４１は、上述したメインパスとサブパスを有する、図３５を用いて説明した第３のSTN_tableが記載されたPlayListに基づいて、AVストリームを再生することができる。
【０３０８】
そして、再生装置１４１のＡＶデコーダ部１５１は、PIDフィルタ５５に代わってPIDフィルタ１６１が設けられ、スイッチ５９に代わってスイッチ１６２が設けられている以外は、基本的に、再生装置１のＡＶデコーダ部２６と同様の構成を有するものである。また、図３５の第３のSTN_table()において、audio_stream_idで与えられるオーディオストリームをデコードするためのものが１stオーディオデコーダ７５−１であり、audio_stream_id2で与えられるオーディオストリームをデコードするためのものが２ndオーディオデコーダ７５−２である。
【０３０９】
コントローラ２１により読み出されたファイルデータは、図示せぬ復調、ＥＣＣ復号部により、復調され、復調された多重化ストリームに誤り訂正が施される。スイッチ３２は、復調され、誤り訂正が施されたデータを、コントローラ２１からの制御に基づいて、ストリームの種類ごとに選択し、対応するバッファ５１乃至５４に供給する。具体的には、スイッチ３２は、コントローラ２１からの制御に基づいて、バックグラウンドイメージデータをバッファ５１に供給し、メインClipから読み出されたデータ（すなわち、メインClip AVストリーム）をバッファ５２に供給し、サブClipから読み出されたデータ（すなわち、サブClip AVストリーム）をバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClipから読み出されたデータをバッファリングし、バッファ５３は、サブClipから読み出されたデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。
【０３１０】
メインClip AVストリーム用リードバッファであるバッファ５２から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ１６１へ出力される。このPIDフィルタ１６１は、入力されたメインClip AVストリームをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ１６１は、ビデオストリームをビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２への供給元となるスイッチ１６２に供給する。
【０３１１】
サブClip AVストリーム用リードバッファであるバッファ５３から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５６へ出力される。このPIDフィルタ５６は、入力されたサブClip AVストリームをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２への供給元となるスイッチ１６２に供給する。
【０３１２】
PIDフィルタ１６１により振り分けられたビデオストリームは、後段のビデオデコーダ７２に供給される。ビデオデコーダ７２は、ビデオストリームをデコードし、デコードしたビデオデータをビデオプレーン生成部９２へ出力する。
【０３１３】
スイッチ５７は、PIDフィルタ１６１から供給されたメインClip AVストリームに含まれるプレゼンテーショングラフィックスストリームと、サブClip AVストリームに含まれるプレゼンテーショングラフィックスストリームのうちのいずれか１つを選択し、選択したプレゼンテーショングラフィックスストリームを、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。プレゼンテーショングラフィックスデコーダ７３は、プレゼンテーショングラフィックスストリームをデコードし、デコードしたプレゼンテーショングラフィックスストリームのデータをプレゼンテーショングラフィックスプレーン生成部９３への供給元となるスイッチ７７に供給する。
【０３１４】
また、スイッチ５８は、PIDフィルタ１６１から供給されたメインClip AVストリームに含まれるインタラクティブグラフィックスストリームと、サブClip AVストリームに含まれるインタラクティブグラフィックスストリームのうちのいずれか１つを選択し、選択したインタラクティブグラフィックスストリームを、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。すなわち、インタラクティブグラフィックスデコーダ７４へ同時に入力されるインタラクティブグラフィックスストリームは、メインClip AVストリームまたはサブClip AVストリームのどちらかから分離されたストリームである。インタラクティブグラフィックスデコーダ７４は、インタラクティブグラフィックスストリームをデコードし、デコードしたインタラクティブグラフィックスストリームのデータを、インタラクティブグラフィックスプレーン生成部９４に供給する。
【０３１５】
さらに、スイッチ１６２は、PIDフィルタ１６１から供給されたメインClip AVストリームに含まれるオーディオストリームと、サブClip AVストリームに含まれるオーディオストリームのうちのいずれか１つを選択し、選択したオーディオストリームを、後段の１stオーディオデコーダ７５−１または、２ndオーディオデコーダ７５−２に供給する。ここで、１stオーディオデコーダ７５−１へ同時に入力されるオーディオストリームは、メインClip AVストリームまたはサブClip AVストリームのどちらかから分離されたストリームである。また、同様に、２ndオーディオデコーダ７５−２へ同時に入力されるオーディオストリームも、メインClip AVストリームまたはサブClip AVストリームのどちらかから分離されたストリームである。例えば、メインClip AVストリームにオーディオストリーム＃１とオーディオストリーム＃２とが含まれていた場合、PIDフィルタ１６１は、オーディオストリームのPIDに基づいて、オーディオストリーム＃１とオーディオストリーム＃２とをフィルタリングし、スイッチ１６２に供給する。
【０３１６】
スイッチ１６２は、例えば、PIDフィルタ１６１から供給されたオーディオストリーム＃１を、１stオーディオデコーダ７５−１に供給するようスイッチを選択し、PIDフィルタ１６１から供給されたオーディオストリーム＃２を、２ndオーディオデコーダ７５−２に供給するようスイッチを選択する。
【０３１７】
１stオーディオデコーダ７５−１は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部１０１に供給する。また、２ndオーディオデコーダ７５−２は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部１０１に供給する。
【０３１８】
ここで、オーディオストリーム＃１とオーディオストリーム＃２とを重畳して再生するような場合（ユーザにより再生するオーディオストリームとして、２つのオーディオストリームが選択された場合）、１stオーディオデコーダ７５−１によりデコードされたオーディオストリーム＃１と、２ndオーディオデコーダ７５−２によりデコードされたオーディオストリーム＃２とが、ミキシング処理部１０１に供給される。
【０３１９】
ミキシング処理部１０１は、１stオーディオデコーダ７５−１からのオーディオデータと、２ndオーディオデコーダ７５−２からのオーディオデータとをミキシング（重畳）し、後段のミキシング処理部９７に出力する。なお、本実施の形態においては、１stオーディオデコーダ７５−１から出力されるオーディオデータと２ndオーディオデコーダ７５−２から出力されるオーディオデータとをミキシング（重畳）することを、合成するとも称する。すなわち、合成とは、２つのオーディオデータを、ミキシングすることも示すものとする。
【０３２０】
また、スイッチ３２により選択されたサウンドデータは、バッファ９５に供給され、バッファリングされる。バッファ９５は、所定のタイミングでサウンドデータをミキシング処理部９７に供給する。サウンドデータは、この場合、メニュー選択などによる効果音のデータである。ミキシング処理部９７は、ミキシング処理部１０１によりミキシングされたオーディオデータ（１stオーディオデコーダ７５−１から出力されたオーディオデータと２ndオーディオデコーダ７５−２から出力されたオーディオデータとがミキシングされたオーディオデータ）と、バッファ９５から供給されてきたサウンドデータをミキシング（重畳、または合成）し、音声信号として出力する。
【０３２１】
そして、テキストサブタイトル（Text-ST）データ、プレゼンテーショングラフィックスストリーム、バックグラウンドイメージデータ、および、ビデオデータの処理については、基本的に、再生装置１のＡＶデコーダ部２６を用いて説明した場合と同様である。
【０３２２】
また、スイッチ５７乃至５８、および、スイッチ１６２、並びにスイッチ７７は、操作入力部２９を用いて指令されるユーザからの選択に基づいて、または、対象となるデータが含まれるファイルが供給される側に、スイッチを切り替える。例えば、サブClip ＡＶストリームファイルのみにしか、オーディオストリームが含まれていない場合、スイッチ１６２はサブClip ＡＶストリームファイルを供給する側（ＰＩＤフィルタ５６の出力）にスイッチを切り替える。
【０３２３】
次に、図３６の再生装置１４１における再生処理について説明する。操作入力部２９を用いてユーザにより所定のＡＶストリームの再生が指令されたとき、コントローラ２１は、ストレージドライブ２２を介して記録媒体１１から、または、HDD(Hard Disk Drive)などで構成されるローカルストレージ２４から、例えば、図９を用いて説明したPlayListのファイルと、PlayListに含まれるPlayItemおよびSubPlayItemに基づいて、メインClip AVストリーム、サブClip AVストリーム、およびテキストサブタイトルデータ（Text-STデータ）を読み出す。
【０３２４】
コントローラ２１は、バックグラウンドイメージデータをバッファ５１に供給し、メインClip AVストリームのデータをバッファ５２に供給し、サブClip AVストリームのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。
【０３２５】
そして、スイッチ３２が切り替えられて、バックグラウンドイメージデータはバッファ５１に供給され、メインClip AVストリームのデータはバッファ５２に供給され、サブClip AVストリームのデータはバッファ５３に供給され、テキストサブタイトルデータはバッファ５４に供給され、各バッファ５１乃至５４は、供給されたデータをそれぞれバッファリングする。
【０３２６】
そして、バッファ５１は、バックグラウンドイメージデータをバックグラウンドデコーダ７１に出力し、バッファ５２はメインClip AVストリームのストリームデータをPIDフィルタ１６１に出力し、バッファ５４は、テキストサブタイトルデータをテキストサブタイトルコンポジション７６に出力し、バッファ５３は、サブClip AVストリームのストリームデータをPIDフィルタ５６に出力する。
【０３２７】
PIDフィルタ１６１は、ビデオストリームをビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを１stオーディオデコーダ７５−１または2ndオーディオデコーダ７５−２への供給元となるスイッチ１６２に供給する。すなわち、ビデオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム、およびオーディオストリームには、それぞれ異なるPIDが付されている。
【０３２８】
そして、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２への供給元となるスイッチ１６２に供給する。
【０３２９】
そして、PIDフィルタ１６１およびPIDフィルタ５６の後段のスイッチ５７、スイッチ５８、および、スイッチ１６２は、コントローラ２１からの制御に基づいて、メインClipとサブClipのいずれかを選択する。すなわち、スイッチ５７は、PIDフィルタ１６１から供給されたメインClip AVストリームまたはサブClip AVストリームのプレゼンテーショングラフィックスストリームを選択し、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。また、スイッチ５８は、PIDフィルタ１６１から供給されたメインClip AVストリームまたはサブClip AVストリームのインタラクティブグラフィックスストリームを選択し、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。
さらに、スイッチ１６２は、PIDフィルタ１６１から供給されたメインClip AVストリーム、または、PIDフィルタ５６から供給されたサブClip AVストリームのオーディオストリーム（ここでは、音声が切り替えられる前であるので、オーディオストリーム＃１）を選択し、後段の１stオーディオデコーダ７５−１に供給する。なお、音声を切り替えるような指令がユーザにより行われた場合には、スイッチ１６２は、メインClip AVストリームのオーディオストリームを２ndオーディオデコーダ７５−２に供給したり、サブClip AVストリームのオーディオストリームを１stオーディオデコーダ７５−１や２ndオーディオデコーダ７５−２に供給したりもするが、ここでは、音声が切り替えられる前の再生処理について説明しているので、その説明は省略している。
【０３３０】
そして、バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、これをバックグラウンドプレーン生成部９１に出力し、ビデオデコーダ７２は、ビデオストリームをデコードし、これをビデオプレーン生成部９２に出力し、プレゼンテーショングラフィックスデコーダ７３は、スイッチ５７により選択され、供給されたプレゼンテーショングラフィックスストリームをデコードし、これを後段のスイッチ７７に出力し、インタラクティブグラフィックスデコーダ７４は、スイッチ５８により選択され、供給されたインタラクティブグラフィックスストリームをデコードし、これを後段のインタラクティブグラフィックスプレーン生成部９４に出力し、Text-STコンポジション７６は、テキストサブタイトルデータをデコードし、これを後段のスイッチ７７に出力する。
【０３３１】
そして、１stオーディオデコーダ７５−１は、スイッチ１６２により選択され、供給されたオーティオストリーム（オーディオストリーム＃１）をデコードし、これを後段のミキシング処理部１０１に出力する。音声の切り替えがユーザにより指示されていない状態における再生処理では、２ndオーディオデコーダ７５−２からオーディオデータが出力されることはないので、ミキシング処理部１０１は、１stオーディオデコーダ７５−１から出力されたオーディオデータを、そのまま後段のミキシング処理部９７に供給する。
【０３３２】
スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３またはText-STコンポジション７６からのデータのいずれかを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、バックグラウンドプレーンを生成し、ビデオプレーン生成部９２は、ビデオデコーダ７２から供給されたビデオデータに基づいて、ビデオプレーンを生成し、プレゼンテーショングラフィックスプレーン生成部９３は、スイッチ７７により選択され、供給されたプレゼンテーショングラフィックスデコーダ７３からのデータまたはText-STコンポジション７６からのデータに基づいて、プレゼンテーショングラフィックスプレーンを生成し、インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成する。また、バッファ９５は、供給されたサウンドデータをバッファリングし、所定のタイミングでミキシング処理部９７に供給する。
【０３３３】
そして、ビデオデータ処理部９６は、各プレーンのデータを合成し、ビデオデータとして出力する。ミキシング処理部９７は、オーディオデータ（ミキシング処理部１０１から出力されたオーディオデータ）とサウンドデータをミキシング（合成）し、出力する。
【０３３４】
このような処理により、PlayListに含まれるメインパスとサブパスによりメインClip AVストリーム、サブClip AVストリーム、およびテキストサブタイトルデータが参照され、再生される。PlayListにメインパスとサブパスを設けるようにし、サブパスで、メインパスで指定するClip ＡＶストリームファイルとは異なるClip AVストリームである、サブClip AVストリームを指定可能な構成としたので、メインパスのPlayItemが指すメインClipとは異なるClipであるサブClipに含まれるデータとメインClipに含まれるデータとを一緒に（同じタイミングで）再生することができる。
【０３３５】
次に、音声の切り替えが指示された場合の再生装置１４１における処理について説明する。最初に、ユーザによりオーディオストリーム＃１に対する音声の切り替えが指示される場合の処理を説明する。オーディオストリーム＃２に対する音声の切り替えの処理については、後述する。なお、これらの処理は、例えば、再生装置１４１の再生処理の実行中に実行される処理である。
【０３３６】
まず、コントローラ２１は、オーディオストリーム番号（ＩＤでもよい）の順番リストを取得する。具体的には、コントローラ２１は、PlayItemのSTN_table()を参照し、さらに図３５を用いて説明した第３のSTN_table()にエントリーされているオーディオストリーム番号（ＩＤ）の順番のリストを取得する。この処理は、再生処理が開始されたときに実行される処理である。
【０３３７】
ユーザにより、操作入力部２９を用いて、音声切り替えの指令が行われた場合、コントローラ２１は、ユーザからのオーディオストリーム＃１に対する音声切り替えの指令を受け付ける。このとき、コントローラ２１は、図示せぬ外部の表示装置を制御して、ストリームナンバーテーブルを外部の表示装置に表示させるように制御するようにしてもよい。
この処理は、オーディオストリーム＃１に対する音声の切り替えが指令される場合の処理であるので、ユーザは、例えば、ストリームナンバーテーブルにおける、Ａ＿ＳＮ＝１、Ａ＿ＳＮ＝２、Ａ＿ＳＮ＝３のオーディオの切り替えを指令する。具体的には、ユーザは、Ａ＿ＳＮ＝１のオーディオ２からＡ＿ＳＮ＝２のオーディオ１へのオーディオの切り替えを指令する。コントローラ２１は、この、ユーザからのオーディオストリーム＃１に対する音声の切り替えを受け付ける。
【０３３８】
コントローラ２１は、再生しているオーディオストリーム番号の次のオーディオストリーム番号を取得する。例えば、Ａ＿ＳＮ＝１に対応するオーディオストリームファイルが再生されていた場合、Ａ＿ＳＮ＝２に対応するオーディオストリームの番号が取得される。
【０３３９】
コントローラ２１は、stream_attribute()（図１８）に記述されている内容に基づいて、自分自身（再生装置１４１）が、取得した番号に対応するオーディオストリーム（オーディオストリーム＃１）を再生する機能を有するか否かを判定する。例えば、Stream_entry()において、type＝１である場合、コントローラ２１は、再生装置１４１が取得した番号に対応するメインClipに含まれるオーディオストリームを再生する機能を有するか否かを判定する。取得した番号に対応するオーディオストリームは、オーディオデコーダ７５−１でデコードされるオーディオストリーム＃１であるので、この処理は、このオーディオストリーム＃１を、オーディオデコーダ７５−１がデコードできるか否かを判定しているとも換言することができる。
【０３４０】
取得した番号に対応するオーディオストリームを再生する機能を有しない場合、コントローラ２１は、現在のストリーム番号の次のストリーム番号を取得する。すなわち、現在のストリーム番号のオーディオストリームを再生する機能を有さない場合には、そのストリーム番号は飛ばされ（再生対象とならず）、自分自身が再生する機能を有するオーディオストリーム（オーディオストリーム＃１）の番号が取得されるまで、次のストリーム番号を取得する処理が繰り返される。
【０３４１】
一方、取得した番号に対応するオーディオストリームを再生する機能を有する場合、コントローラ２１は、取得した番号に対応するオーディオストリームを含むClipを調べる。
例えば、コントローラ２１は、Stream_entry()のtypeに基づいて、取得した番号に対応するオーディオストリームがメインClipにあるのか（type＝１）、サブClipにあるのか（type＝２）を調べる。また、例えば、Stream_entry()において、type＝１である場合、コントローラ２１は、取得した番号に対応するオーディオストリームが、メインClipにあることを確認する。さらに、例えば、type＝２である場合、コントローラ２１は、取得した番号に対応するオーディオストリームがサブClipにあることを確認する。
【０３４２】
そして、コントローラ２１は、所望のオーディオストリーム、具体的には、取得した番号に対応するストリームの属するメインClipまたはサブClipの中の所望のオーディオストリームを特定する。例えば、取得した番号に対応するオーディオストリームが、メインClipに含まれることが確認された場合、コントローラ２１は、Stream_entry()のtype＝１でエントリーされている情報（ref_to_stream_PID_of_mainClip）に基づいて、メインClipの中の所定のオーディオストリームを特定する。また、例えば、取得した番号に対応するオーディオストリームがサブClipに含まれることが確認された場合、コントローラ２１は、Stream_entry()のtype＝２でエントリーされている情報（ref_to_SubPath_id、ref_to_SubClip_entry_id、ref_to_stream_PID_of_SubClip）に基づいて、サブClipの中の所定のオーディオストリームを特定する。この特定されたオーディオストリームが、オーディオデコーダ７５−１でデコードされるオーディオストリーム＃１となる。
【０３４３】
そして、コントローラ２１は、所望のオーディオストリームが多重化されているClipに含まれるClip AVストリーム（メインClip AVストリームまたはサブClip AVストリーム）から特定されたオーディオストリームを読み出すようストレージドライブ２２に指示し、ストレージドライブ２２は、この指示に基づいて、対象となるClipから所望のオーディオストリームを読み出して、ＡＶデコーダ部１５１に供給する。または、コントローラ２１は、ローカルストレージ２４に記録されている、所望のオーディオストリームが多重化されているClip AVストリーム（メインClip AVストリームまたはサブClip AVストリーム）から所望のオーディオストリームを読み出して、ＡＶデコーダ部１５１に供給する。そして、コントローラ２１は、読み出された所望のオーディオストリーム（すなわち、オーディオストリーム＃１）をＡＶデコーダ部１５１のオーディオデコーダ７５−１に供給するとともに、そのオーディオストリームをデコードさせるようオーディオデコーダ７５−１に指示する。
【０３４４】
ＡＶデコーダ部１５１のオーディオデコーダ７５−１は、オーディオストリーム＃１（ステップＳ５８の処理で読み出しが指令されたオーディオストリーム）をデコードし、ミキシング処理部１０１に出力する。ここで、オーディオストリーム＃２がオーディオデコーダ７５−２によってデコードされている場合には、ミキシング処理部１０１は、デコードされたオーディオストリーム＃１とオーディオストリーム＃２とをミキシングし、後段のミキシング処理部９７に供給する。一方、オーディオストリーム＃２がオーディオデコーダ７５−２によってデコードされていない場合には、ミキシング処理部１０１は、デコードされたオーディオストリーム＃１をそのまま、後段のミキシング処理部９７に供給する。ミキシング処理部９７は、ミキシング処理部１０１から供給されたオーディオデータ（オーディオストリーム＃１のみがデコードされたオーディオデータ、または、オーディオストリーム＃１とオーディオストリーム＃２とがそれぞれデコードされ、ミキシングされたオーディオデータ）と、バッファ９５から出力されるサウンドデータとを、ミキシング処理し、オーディオ信号として出力する。
【０３４５】
次に、ユーザによりオーディオストリーム＃２に対する音声の切り替えが指示される場合の処理を説明する。なお、この処理も、再生処理の実行中に実行される処理である。また、一般的には、オーディオストリーム＃２を再生する場合、オーディオストリーム＃１もまた再生されているので、この処理は、例えば、オーディオストリーム＃１の再生処理と並行して実行され、オーディオストリーム＃２がユーザにより選択されない場合には、オーディオストリーム＃１の再生処理のみが実行される。
【０３４６】
まず、コントローラ２１は、PlayItemのSTN_table()を参照し、さらに図３５を用いて説明した第３のSTN_table()にエントリーされているオーディオストリーム番号（ＩＤ）の順番のリストを取得する。この処理は、再生処理が開始されたときに実行される処理である。
【０３４７】
ユーザにより、操作入力部２９を用いて、音声切り替えの指令が行われた場合、コントローラ２１は、ユーザからのオーディオストリーム＃２に対する音声切り替えの指令を受け付ける。このとき、コントローラ２１は、図示せぬ外部の表示装置を制御して、図２６ストリームナンバーテーブルを外部の表示装置に表示させるように制御するようにしてもよい。この処理は、オーディオストリーム＃２に対する音声の切り替えが指令される場合の処理であるので、ユーザは、例えば、ストリームナンバーテーブルにおける、Ａ＿ＳＮ２＝１とＡ＿ＳＮ２＝２とに対応するオーディオの切り替えを指令する。コントローラ２１は、この、ユーザからのオーディオストリーム＃２に対する音声の切り替えを受け付ける。コントローラ２１は、再生しているオーディオストリーム番号の次のオーディオストリーム番号を取得する。
【０３４８】
そして、コントローラ２１は、stream_attribute()（図１８）に記述されている内容に基づいて、取得した番号に対応するオーディオストリーム（オーディオストリーム＃２）を自分自身（再生装置１４１）が再生する機能を有するか否かを判定する。取得した番号に対応するオーディオストリームは、オーディオデコーダ７５−２でデコードされるオーディオストリーム＃２であるので、この処理は、このオーディオストリーム＃２を、オーディオデコーダ７５−２がデコードできるか否かを判定しているとも換言することができる。
【０３４９】
なお、１stオーディオデコーダ７５−１でデコードされるオーディオストリーム＃１の方が、２ndオーディオデコーダ７５−２でデコードされるオーディオストリーム＃２より拡張性が高くマルチストリームである場合を仮定するような場合、例えば、１stオーディオデコーダ７５−１の方が２ndオーディオデコーダ７５−２よりも高い性能を有する場合（オーディオストリーム＃１が通常の映画の音声であり、オーディオストリーム＃２が映画に対する監督のコメントなどの場合）、２ndオーディオデコーダ７５−２でデコードされるオーディオストリーム＃２は、ある程度の制約が設けられている可能性が高く、オーディオデコーダ７５−２がデコードできないようなストリームは、オーディオストリーム＃２として設定されない可能性が高いと仮定することができるので、この処理を省略するようにしてもよい。
【０３５０】
取得した番号に対応するオーディオストリームを再生する機能を有しない場合、コントローラ２１は、現在のストリーム番号の次のストリーム番号を取得する。すなわち、現在のストリーム番号のオーディオストリームを再生する機能を有さない場合には、そのストリーム番号は飛ばされ（再生対象とならず）、自分自身が再生する機能を有するオーディオストリーム（オーディオストリーム＃２）の番号が取得されるまで、次のストリーム番号を取得する処理が繰り返される。
【０３５１】
一方、取得した番号に対応するオーディオストリームを再生する機能を有する場合、コントローラ２１は、Stream_entry()のtypeに基づいて、取得した番号に対応するオーディオストリームがメインClipにあるのか（type＝１）、サブClipにあるのか（type＝２）を調べる。Stream_entry()において、type＝１である場合、コントローラ２１は、取得した番号に対応するオーディオストリームが、メインClipにあることを確認する。また、Stream_entry()において、type＝２である場合、コントローラ２１は、取得した番号に対応するオーディオストリームがサブClipにあることを確認する。
【０３５２】
そして、コントローラ２１は、取得した番号に対応するストリームの属するメインClipまたはサブClipの中の所望のオーディオストリームを特定する。例えば、取得した番号に対応するオーディオストリームが、メインClipに含まれることが確認された場合、コントローラ２１は、Stream_entry()のtype＝１でエントリーされている情報（ref_to_stream_PID_of_mainClip）に基づいて、メインClipの中の所定のオーディオストリームを特定する。また、例えば、取得した番号に対応するオーディオストリームがサブClipに含まれることが確認された場合、コントローラ２１は、Stream_entry()のtype＝２でエントリーされている情報（ref_to_SubPath_id、ref_to_SubClip_entry_id、ref_to_stream_PID_of_SubClip）に基づいて、サブClipの中の所定のオーディオストリームを特定する。この特定されたオーディオストリームが、オーディオデコーダ７５−１でデコードされるオーディオストリーム＃２となる。
【０３５３】
そして、コントローラ２１は、所望のオーディオストリームが多重化されているClip AVストリーム（メインClip AVストリームまたはサブClip AVストリームAVストリーム）を読み出すようストレージドライブ２２に指示し、ストレージドライブ２２は、この指示に基づいて、対象となるClip AVストリームを読み出し、ＡＶデコーダ１５１に供給する。
または、コントローラ２１は、ローカルストレージ２４からは、所望のオーディオストリームが多重化されているClip AVストリーム（メインClip AVストリームまたはサブClip AVストリーム）を読み出させ、ＡＶデコーダ１５１に供給させる。そして、コントローラ２１は、読み出されたClipに含まれる所望のオーディオストリーム（すなわち、オーディオストリーム＃２）をＡＶデコーダ部１５１のオーディオデコーダ７５−２にデコードさせるよう指示する。
【０３５４】
ＡＶデコーダ部１５１は、オーディオストリーム（オーディオストリーム＃２）をデコードし、オーディオ出力する。具体的には、ＡＶデコーダ部１５１のオーディオデコーダ７５−２は、オーディオストリーム＃２（ステップＳ７８の処理で読み出しが指令されたオーディオストリーム）をデコードし、ミキシング処理部１０１に出力する。この処理で、オーディオストリーム＃２がオーディオデコーダ７５−２によってデコードされているということは、の処理でオーディオストリーム＃１がオーディオデコーダ７５−１によってもデコードされ、デコードされたオーディオストリーム＃１がミキシング処理部１０１に出力されているので、ミキシング処理部１０１は、デコードされたオーディオストリーム＃１とオーディオストリーム＃２とをミキシングし、後段のミキシング処理部９７に供給する。ミキシング処理部９７は、ミキシング処理部１０１から供給されたオーディオデータ（オーディオストリーム＃１とオーディオストリーム＃２とがそれぞれデコードされ、ミキシングされたオーディオデータ）と、バッファ９５から出力されるサウンドデータとを、ミキシング処理し、オーディオ信号として出力する。
【０３５５】
このようにして、２つのオーディオストリームを選択し、ミキシングして再生することができる。すなわち、再生するオーディオストリームが１つである場合、スイッチ５９は、PIDフィルタ５５またはPIDフィルタ５６からから供給されたオーディオストリームを１stオーディオデコーダ７５−１に供給するよう選択し、再生するオーディオストリームが２つである場合、スイッチ５９は、PIDフィルタ５５またはPIDフィルタ５６から供給されたオーディオストリームを２ndオーディオデコーダ７５−２に供給するよう選択する。
【０３５６】
すなわち、コントローラ２１は、PlayItemのSTN_table()に基づいて、音声（オーディオ）の切り替えを制御することができ、STN_table()のstream_attributeを参照することで、自分自身が再生機能を有するストリームだけを選んで、再生切り替えの制御をすることができる。さらに、コントローラ２１は、STN_table()に基づいて、２つのオーディオストリームを重畳して再生するよう制御することができる。また、コントローラ２１は、１つのメインとなるオーディオストリーム＃１と、オーディオストリーム＃１と同期して再生される同じ種類のストリーム（オーディオストリーム）であるオーディオストリーム＃２とを、ミキシングして再生するよう制御することができる。
【０３５７】
なお、この処理においても、オーディオストリーム番号に基づいて、オーディオを切り替えるものとして説明したが、オーディオストリームＩＤ（audio_stream_id）に基づいて、オーディオを切り替えるようにしてもよい。この場合、オーディオストリーム番号から１を減算したものが、オーディオストリームＩＤとなる。
【０３５８】
また、第３のSTN_tableを用いる場合の処理も、オーディオストリームに限らず、ストリームの種類が同じであれば、各種のストリームファイルについて同様に適用することができる。例えば、ビデオストリーム（ストリームの種類がビデオストリームであるストリーム）を２つ合成して再生するピクチャインピクチャ表示をする場合にも、この構成は適用することができる。このように、本発明によれば、２つの同じ種類のストリームファイルを合成して再生することができる。
【０３５９】
すなわち、この構成も、例えば、図４３を用いて後述するように、メインパスで参照されるＡＶストリームのビデオストリーム（ビデオストリーム＃１）を主画面として表示させ、主画面の中に、サブパス（やメインパス）のビデオパスで参照されるビデオストリーム（ビデオストリーム＃２）を子画面として合成して表示させる、いわゆるPinP（ピクチャインピクチャ）表示などについても利用することができる。
【０３６０】
以上により、再生装置１４１も、再生装置１における場合と同様に、メインのＡＶストリームとは別のストリームやデータファイルでオーディオや字幕などを用意する場合に、PlayListの中にメインパスとサブパスを有する構成としたので、ユーザによる音声切り替えや字幕切り替えという操作が、メインClipＡＶストリームとは異なる別ストリームや別データファイルの中から選ぶことができる。
【０３６１】
また、メインパスのPlayItemの中に、ＡＶストリームファイルに多重化されているデータと、Sub Pathにより参照されるデータのtypeを定義するSTN_Tableを設けるようにしたので、より、拡張性の高いストリームを実現することができる。
【０３６２】
さらに、再生装置１４１も、再生装置１における場合と同様に、STN_table()のstream_attributeを参照することで、自分自身が有する機能に対応するストリームだけを順次選択して再生することができる。
【０３６３】
以上説明した再生装置１４１が、図３５の第３のSTN_tableを参照して再生処理を行った場合についてまとめると、以下のようになる。
【０３６４】
再生装置１４１は、少なくとも１つのストリームを含むメインClip ＡＶストリームファイルの位置を示す主の再生パスであるメインパスと、メインClipＡＶストリームファイルのタイミングに合わせて再生されるサブClip ＡＶストリームファイルのそれぞれの位置を示す複数のサブパスにより構成される再生管理情報としてのPlayListを取得する。そして、再生装置１４１は、PlayListに含まれる再生するストリームを選択するためのSTN_table()に基づいて、再生するストリームの選択を受け付ける。STN_table()は、メインClip ＡＶストリームファイルの所定の種類のストリーム（例えば、オーディオストリーム＃１）と、そのストリームの再生のタイミングに合わせて再生される、同じ種類のストリームファイル（例えば、オーディオストリーム＃２）とを選択するための情報であるので、このSTN_table()（PlayItemで示されるSTN_table()）に基づいて、再生するストリームの選択を受け付ける。
【０３６５】
ここで、２つの同じ種類のストリーム（オーディオストリーム）が再生するストリームとして選択された場合、再生装置１４１は、選択された２つのストリームファイルを読み出し、再生装置１４１のミキシング処理部１０１は、この２つのオーディオストリーム（デコードされたオーディオストリーム）を合成し、ミキシング処理部９７（ＡＶデコーダ部１５１）は、合成されたストリームを再生（出力）する。
【０３６６】
これにより、ユーザに選択された（切り替えられて選択された）２つのオーディオがミキシング（合成）されて再生される。
【０３６７】
また、上述した再生装置１における場合と同様に、PlayListにMain PathとSub Pathを含め、Main PathとSub Pathが異なるClipを参照する構成としたので、ストリームに拡張性を持たせることができ、例えば、図８を用いて説明したように、１つのSub Pathで複数のファイルを参照可能な構成としたので、複数の異なるストリームの中からユーザが選択することができる。
【０３６８】
さらに、Main PathのPlayItemの中に、Main Pathにより参照されるＡＶストリームファイルに多重化されている（含まれる）付属データ（例えば、オーディオストリーム）と、Sub Pathにより参照される付属データとを定義するテーブルとして、図３５のSTN_table()を設けるようにしたので、より、拡張性の高いストリームを実現することができる。また、STN_table()にエントリーすれば、Sub Pathを容易に拡張することができる。
【０３６９】
また、STN_table()にストリームの属性情報である図１８のstream_attribute()を設けるようにしたので、再生装置１４１は、選択されたストリームを再生可能か否かを判定することができ、再生機能を有するストリームだけを選択して再生することができる。
【０３７０】
さらに、STN_table()（図３５）において、２つの同じ種類のストリームファイル（ここでは、オーディオストリームファイル）を定義するようにし、さらに、図３６の再生装置１４１に２つのオーディオデコーダ（１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２）を設けるとともに、２つのオーディオデコーダによりデコードされたオーディオデータを合成（ミキシング）するミキシング処理部１０１を設けるようにしたので、２つの同じ種類のストリームを組み合わせて同時に再生することができる。
【０３７１】
また、上述した再生装置１における場合と同様に、Sub Pathには、図１１を用いて説明した、Sub Pathのタイプ（オーディオやテキスト字幕といったタイプ）を示すSubPath_type、Sub Pathが参照するサブClipの名を示す図１２のClip_Information_file_name、およびSub Pathが参照するClip AVストリームのイン点を示す図１２のSubPlayItem_IN_timeとアウト点を示す図１２のSubPlayItem_OUT_timeを含むようにしたので、Sub Pathが参照するデータを的確に特定することができる。
【０３７２】
さらに、上述した再生装置１における場合と同様に、Sub Pathには、Sub PathがMain Pathとを同じタイミングで再生するためのMain Path上のＡＶストリームファイルを指定する指定情報である図１２のsync_PlayItem_id（例えば、図７と図８のsync_PlayItem_id）と、Sub Pathが参照するデータのイン点がMain Pathの時間軸上で同期してスタートするMain Path上の時刻であるsync_start_PTS_of_PlayItem（例えば、図７と図８のsync_start_PTS_of_PlayItem）とをさらに含むため、図７や図８に示されるように、Main Pathが参照するメインClipＡＶストリームファイルに同期してSub Pathが参照するデータ（ファイル）を再生することができる。
【０３７３】
また、２つのオーディオストリームをミキシングして再生する場合、再生装置１４１の１stオーディオデコーダ７５−１はオーディオストリーム＃１をデコードし、２ndオーディオデコーダ７５−２はオーディオストリーム＃２をデコードするのであるが、コーディック（エンコード）方式が同一（例えば、図１９のDolby AC-3 audio）であるか否かを、さらに判定するようにしてもよい。このことは、１stオーディオデコーダ７５−１と２ndオーディオデコーダ７５−２がオーディオストリームをデコードしている途中であっても、コーディック方式が同一であれば、デコード途中のデータ方式も同様であるので、途中の同一の段階までデコードされた２つのストリームを、ミキシング処理部１０１によりミキシングすることが可能となるからである。
【０３７４】
なお、図３６を用いて説明した再生装置１４１のＡＶデコーダ部１５１に供給されるデータは、上述した再生装置１における場合と同様に、DVD（Digital Versatile Disc）などの記録媒体１１に記録されているデータであってもよいし、ハードディスクなどで構成されるローカルストレージ２４に記録されているデータであってもよいし、ネットワーク２を介してダウンロードされたデータであってもよいし、これらが組み合わされたデータでもよい。
【０３７５】
また、図３５を用いて説明した第３のSTN_tableを参照して再生処理が行われる場合においては、図３６の再生装置１４１の１stオーディオデコーダ７５−１でデコードされるオーディオストリーム＃１と、２ndオーディオデコーダ７５−２でデコードされるオーディオストリーム＃２とを、ユーザが別々に選択可能な構成としたが、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義し、ミキシング再生する場合には、この組み合わせの中からユーザに選択させる構成としてもよい。すなわち、オーディオストリーム＃１とミキシング再生可能なオーディオストリーム＃２の組み合わせを定義しておくようにしてもよい。
【０３７６】
以下、再生されるストリームの組み合わせが定義されている場合について説明する。
【０３７７】
図３７は、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義する場合のSTN_table()のシンタクスの第４の例（第４のSTN_table()）の例を示す図である。第４のSTN_table()を参照して実行される再生処理は、図３６を用いて説明した再生装置１４１において実行可能である。なお、図中、図３５と同一の部分については、繰り返しになるのでその説明は省略する。
【０３７８】
図３７において、オーディオストリームＩＤ２ (audio_stream_id2)のforループの中で、順番にstream_entry()ごとに特定される１つのオーディオエレメンタリストリームに、０からaudio_stream_id2が与えられる。このとき、audio_stream_id2に対し、stream_entry()とstream_attribute()との他に、新たにCombination_of_Primary_and_Secondaryが定義される。Combination_of_Primary_and_Secondaryは、オーディオストリーム＃１（Primary）とオーディオストリーム＃２（Secondary）との組み合わせを定義する情報である。
すなわち、オーディオストリームＩＤ２(audio_stream_id2)で特定されるオーディオストリーム＃２に対して、どのオーディオストリーム＃１が組み合わせ可能であるかを示す情報が、オーディオストリームＩＤ２のforループの中で定義される。換言すれば、Combination_of_Primary_and_Secondaryにより、オーディオストリーム＃１に対して組み合わせ可能なオーディオストリーム＃２が定義される。このように、オーディオストリームＩＤ１のforループ内で組み合わせるオーディオストリームＩＤ２を定義するのではなく、オーディオストリームＩＤ１とオーディオストリームＩＤ２を個別に定義し、オーディオストリームＩＤ２のforループの中で組み合わせを定義することにより、オーディオストリームＩＤ１の登録可能数が決まっている場合にでも、組み合わせの登録を１つとカウントさせないことにより、その登録可能数を有効に使うことができる。
【０３７９】
なお、図３５を参照して説明したように、オーディオストリームＩＤ２（audio_stream_id2）の代わりに、オーディオストリーム番号２（audio_stream_number2）を用いるようにしてもよい。この場合、audio_stream_number2は、０ではなく１から与えられる。すなわち、audio_stream_id2の値に１を加算したものがaudio_stream_number2である。オーディオストリーム番号２は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号２であるので、１から定義される。
【０３８０】
ここで、図３７のCombination_of_Primary_and_Secondaryのビットマップシンタクスの例を、図３８を参照して説明する。
【０３８１】
Combination_of_Primary_and_Secondaryのビットマップシンタクスは、図３８の例の場合、３２ｂitとされる。図３８において、audio_stream_idは、図３７の第３のSTN_table()で定義されるaudio_stream_id（オーディオストリームＩＤ）を示しており、indicatorの値は、対応するaudio_stream_id2（オーディオストリームＩＤ２）により特定されるオーディオストリーム＃２と組み合わせ可能なオーディオストリーム＃１を特定するaudio_stream_idを示すフラグである。すなわち、audio_stream_idとindicatorとにより、audio_stream_id2で与えられるオーディオストリーム＃２と組み合わせ可能なオーディオストリーム＃１のaudio_stream_idを特定することができる。
【０３８２】
すなわち、図３７のaudio_stream_id2のforループの中にCombination_of_Primary_and_Secondaryが規定されるように、それぞれのaudio_stream_id2に対して、Combination_of_Primary_and_Secondaryが存在し、ある特定のaudio_stream_id2により特定されるオーディオストリーム＃２に対して組み合わせが可能なオーディオストリーム＃１が、indicatorにより示されるaudio_stream_idにより特定される。
【０３８３】
具体的には、Indicatorの値が０の場合、そのaudio_stream_id2は、audio_stream_idで特定されるオーディオストリーム＃１に対応していないことを示し、indicatorの値が１の場合、そのaudio_stream_id2は、audio_stream_idで特定されるオーディオストリーム＃１に対応していることを示す。
【０３８４】
すなわち、図３８の例の場合、audio_stream_id2（オーディオストリームＩＤ２）で特定されるオーディオストリーム＃２には、audio_stream_id＝０と、audio_stream_id＝１で特定される２つのオーディオストリーム（オーディオストリーム＃１）が組み合わせ可能であることが示されている。
【０３８５】
なお、図３８においては、組み合わせ可能なオーディオストリーム＃１を、audio_stream_idで特定するようにしたが、audio_stream_idの代わりに、オーディオストリーム番号を用いるようにしてもよい。この場合、audio_stream_idは、０ではなく１から与えられる。
【０３８６】
図３８のように、Combination_of_Primary_and_Secondaryを３２bitのビットマップシンタクスで定義するようにしたので、３２本のオーディオストリーム＃１に対して、組み合わせ可能なオーディオストリーム＃２をそれぞれ定義することができる。
【０３８７】
図３７と図３８によれば、audio_stream_idおよびaudio_stream_id2、並びに、Combination_of_Primary_and_Secondaryを用いて、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義することができる。すなわち、矛盾するようなオーディオストリームの組み合わせを定義せずに済むので、ユーザは、常に再生可能なオーディオストリームの組み合わせの再生を選択することができる。
【０３８８】
具体的な例を、図３９を参照して説明する。図３９は、ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルの例を示す図である。なお、図中、字幕信号（サブピクチャ）の記載については、図２６と同様であるので、その説明は省略する。
【０３８９】
図３９においては、PlayListのMain Pathを構成するPlayItemの第４のSTN_table()でエントリーされるオーディオストリーム＃１（audio_stream_idでエントリーされるオーディオストリーム）のそれぞれにＡ＿ＳＮが与えられる。
【０３９０】
具体的には、Ａ＿ＳＮ＝１にオーディオ２が与えられ、Ａ＿ＳＮ＝２にオーディオ１が与えられ、Ａ＿ＳＮ＝３にオーディオ３が与えられている。
【０３９１】
このとき、Ａ＿ＳＮ＝１のオーディオ２に対しては、オーディオ４（audio_stream_id2＝０、すなわち、オーディオストリーム番号２が１であるオーディオ４）が組み合わせ可能とされている。また、Ａ＿ＳＮ＝２のオーディオ１に対しては、オーディオ４（audio_stream_id2＝０、すなわち、オーディオストリーム番号２が１であるオーディオ４）とオーディオ５（audio_stream_id2＝１、すなわち、オーディオストリーム番号２が２であるオーディオ５）とが組み合わせ可能とされている。
【０３９２】
具体的には、オーディオ４（audio_stream_id2＝０のオーディオ４）の場合、図３８のCombination_of_Primary_and_Secondaryのビットマップシンタクスは、audio_stream_id＝０とaudio_stream_id＝１に対するindicatorの値がともに１とされ、audio_stream_id＝２からaudio_stream_id＝３１までのindicatorの値は、すべて０とされる。また、オーディオ５（audio_stream_id2＝１のオーディオ５）の場合、図３８のCombination_of_Primary_and_Secondaryのビットマップシンタクスは、audio_stream_id＝１に対するindicatorの値のみが１とされ、audio_stream_id＝０と、audio_stream_id＝２からaudio_stream_id＝３１までのindicatorの値は、すべて０とされる。
【０３９３】
ユーザは、Ａ＿ＳＮが与えられているオーディオストリームの中から、再生するオーディオストリーム＃１を選択し、選択したオーディオストリーム＃１とミキシングするオーディオストリーム＃２を、Ａ＿ＳＮが与えられているオーディオストリームの図中右側に表示されているものの中から選択する。図３９の例の場合、オーディオストリーム＃１として、オーディオ２（Ａ＿ＳＮ＝１）を選択する場合、ミキシング可能なオーディオストリーム＃２は、オーディオ２の図中右側に表示されているオーディオ４のみであるので、これを、ミキシング再生するか否かを選択する。図３９においては、Ａ＿ＳＮ＝１のオーディオ２に対応するオーディオ４は、「×」、すなわち、ミキシング再生を選択しない状態とされている。ユーザは、この「×」を切り替えて「○」とすることで、オーディオ２とオーディオ４とのミキシング再生が選択された状態とすることができる。
【０３９４】
また、例えば、図３９の例の場合、オーディオストリーム＃１として、オーディオ１（Ａ＿ＳＮ＝２）を選択する場合、ミキシング可能なオーディオストリーム＃２は、オーディオ２の図中右側に表示されているオーディオ４とオーディオ５の中から選択することができる。そのため、ユーザは、オーディオストリーム＃１をどのオーディオストリーム＃２と再生するか否かを選択する。図３９においては、Ａ＿ＳＮ＝２のオーディオ１に対応するオーディオ４とオーディオ５は、「×」、すなわち、ミキシング再生を選択しない状態とされている。ユーザは、この「×」を切り替えて「○」とすることで、オーディオ２とオーディオ４、またはオーディオ２とオーディオ５のミキシング再生が選択された状態とすることができる。
【０３９５】
この再生の選択の具体的な例としては、Ａ＿ＳＮ＝１のオーディオ２が選択されている場合に、ユーザが、オーディオの切り替えを指令した場合、Ａ＿ＳＮ＝１のオーディオ２とオーディオ４との組み合わせの再生（図３９のオーディオ２に対応するオーディオ４が「○」となる）に切り替えられ、ユーザが、さらにオーディオの切り替えを指令した場合、オーディオは、Ａ＿ＳＮ＝２のオーディオ１の再生（図３９のオーディオ２に対応するオーディオ４が「×」となる）に切り替えられ、ユーザが、さらにオーディオの切り替えを指令した場合、オーディオは、Ａ＿ＳＮ＝２のオーディオ１とオーディオ４との組み合わせの再生（図３９のオーディオ１に対応するオーディオ４が「○」となる）に切り替えられる。また、ユーザが、さらにオーディオの切り替えを指令した場合、オーディオは、Ａ＿ＳＮ＝２のオーディオ１とオーディオ５との組み合わせの再生（図３９のオーディオ１に対応するオーディオ４が「×」となり、オーディオ５が「○」となる）に切り替えられる。
【０３９６】
ユーザは、このようにして再生されるオーディオストリームの選択を切り替えて、例えば、図４０に示されるように、Ａ＿ＳＮ２のオーディオ１とオーディオ５との組み合わせの再生を選択することができる。これにより、オーディオ１（オーディオストリーム＃１）とオーディオ５（オーディオストリーム＃２）とをミキシング再生することができる。
【０３９７】
このように、audio_stream_idおよびaudio_stream_id2、並びに、Combination_of_Primary_and_Secondaryを用いて、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義するようにすることで、矛盾するような組み合わせを定義せずに済み、ユーザは、常に再生可能なオーディオストリームの組み合わせを選択することができる。すなわち、図３９の例においては、矛盾するオーディオストリームの組み合わせであるオーディオ２＋オーディオ５を定義しないようにすることで、ユーザに、選択可能なもののみを提供することができる。
【０３９８】
換言すれば、PlayItem()の中の第４のSTN table()（図３７）で、図３６の１stオーディオデコーダ７５−１でデコードするオーディオストリーム＃１と、２ndオーディオデコーダ７５−２でデコードするオーディオストリーム＃２との組み合わせを、Combination_of_Primary_and_Secondaryを用いて定義するようにしたので、２つのオーディオストリームをミキシングして再生することができる。すなわち、複数の種類からなるストリームから、同じ種類（この例の場合、オーディオストリーム）のストリームをミキシング（重畳、または合成）して、同時に再生することができる。
【０３９９】
また、このような構成とすることにより、ユーザは、ミキシングする２つのオーディオストリームを個々に選ぶ必要がなく、２つのオーディオストリームが組み合わせられたものの中から、再生するオーディオストリームを選択することができる。
【０４００】
次に、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義し、ミキシング再生する場合、すなわち、オーディオストリーム＃１とオーディオストリーム＃２の組み合わせの中からユーザに再生の選択をさせる構成とする場合の２番目の例を、図４１を参照して説明する。換言すれば、図４１は、オーディオストリーム＃１とミキシング再生可能なオーディオストリームを、オーディオストリーム＃２として定義する場合の２番目の例である。
【０４０１】
図４１は、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義する場合のSTN_table()のシンタクスの第５の例（第５のSTN_table()）の他の例を示す図である。第５のSTN_table()を参照して実行される再生処理も、図３６を用いて説明した再生装置１４１において実行可能である。なお、図中、図３５と同一の部分については、繰り返しになるのでその説明は省略する。
【０４０２】
図４１において、オーディオストリームＩＤ２ (audio_stream_id2)のforループの中で、順番にstream_entry()ごとに記録位置が特定される１つのオーディオエレメンタリストリームに、０からaudio_stream_id2が与えられる。このとき、audio_stream_id2に対して、number_of_combinationsが与えられ、number_of_combinationsの後のfor文では、number_of_combinationsの数だけ、audio_stream_idが与えられる。number_of_combinationsと、number_of_combinationsの後のfor文は、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義する情報であり、audio_stream_id2で特定されるオーディオストリーム＃２と組み合わせ可能なオーディオストリーム＃１の数が、number_of_combinationsとされる。そして、audio_stream_id2で特定されるオーディオストリーム＃２と組み合わせ可能なオーディオストリーム＃１を特定するaudio_stream_idが、number_of_combinationsの後のfor文で定義される。
【０４０３】
すなわち、図３７とは異なり、図４１の第５のSTN_table()のオーディオストリームＩＤ２ (audio_stream_id2)のfor文の中では、そのオーディオストリームＩＤ２で特定されるオーディオストリーム＃２に対して、オーディオストリーム＃１との組み合わせ可能な数がnumber_of_combinationsで定義され、number_of_combinationsの後のfor文で、対象となるオーディオストリーム＃１を特定するaudio_stream_idを直接定義している。
【０４０４】
このように、第５のSTN_table()では、オーディオストリームＩＤ２(audio_stream_id2)で特定されるオーディオストリーム＃２に対して、どのオーディオストリーム＃１が組み合わせ可能であるかを示す情報が、オーディオストリームＩＤ２のnumber_of_combinationsの後のfor文で定義される。すなわち、オーディオストリームＩＤ２のnumber_of_combinationsの後のfor文により、オーディオストリーム＃１に対して組み合わせ可能なオーディオストリーム＃２が定義される。
【０４０５】
なお、図３５を参照して説明した場合と同様に、オーディオストリームＩＤ２（audio_stream_id2）の代わりに、オーディオストリーム番号２（audio_stream_number2）を用いるようにしてもよい。また、オーディオストリームＩＤ（audio_stream_id）の代わりに、オーディオストリーム番号（audio_stream_number）を用いるようにしてもよい。すなわち、number_of_combinationsの後のfor文で定義されるaudio_stream_idも、オーディオストリーム番号としてもよい。
【０４０６】
図４１によれば、number_of_combinationsと、その後のfor文を用いて、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義することができる。すなわち、矛盾するようなオーディオストリームの組み合わせを定義せずに済むので、ユーザは、常に再生可能なオーディオストリームの組み合わせの再生を選択することができる。
【０４０７】
この場合のストリームナンバーテーブルの具体的な例は、図３９および図４０を用いて説明した場合と同様である。
【０４０８】
すなわち、図３９が図４１の第５のSTN_table()に対応する場合、オーディオ４（audio_stream_id2＝０、すなわち、オーディオストリーム番号２が１であるオーディオ４）に対して、組み合わせ可能なオーディオストリーム＃１として、Ａ＿ＳＮ＝１のオーディオ２（audio_stream_id＝０）と、Ａ＿ＳＮ＝２のオーディオ１（audio_stream_id＝１）とが定義されていることになる。この場合、図４１のaudio_stream_id2＝０に対応するnumber_of_combinationsの数は２つであり、定義されるaudio_stream_idは、audio_stream_id＝０とaudio_stream_id＝１である。また、オーディオ５（audio_stream_id2＝１、すなわち、オーディオストリーム番号２が２であるオーディオ５）に対して、組み合わせ可能なオーディオストリーム＃１として、Ａ＿ＳＮ＝２のオーディオ１（audio_stream_id＝１）が定義されていることになる。この場合、図４１のaudio_stream_id2＝１に対応するnumber_of_combinationsの数は１つであり、定義されるaudio_stream_idは、audio_stream_id＝１である。
【０４０９】
ユーザは、図３９に示されるオーディオの再生の選択を切り替えて、例えば、図４０に示されるように、Ａ＿ＳＮ＝２のオーディオ１とオーディオ５との組み合わせの再生を選択する。これにより、オーディオ１（オーディオストリーム＃１）とオーディオ５（オーディオストリーム＃２）とをミキシング再生することができる。
【０４１０】
このように、図４１のnumber_of_combinationsと、その後のfor文を用いて、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義するようにすることで、矛盾するような組み合わせを定義せずに済み、ユーザは、常に再生可能なオーディオストリームの組み合わせを選択することができる。すなわち、図３９の例においては、矛盾するオーディオストリームの組み合わせであるオーディオ２＋オーディオ５を定義しないようにすることで、ユーザに、選択可能なもののみを提供することができる。
【０４１１】
換言すれば、PlayItem()の中の第５のSTN table()（図４１）で、図３６の１stオーディオデコーダ７５−１でデコードするオーディオストリーム＃１と、２ndオーディオデコーダ７５−２でデコードするオーディオストリーム＃２との組み合わせを、number_of_combinationsと、その後のfor文とを用いて定義するようにしたので、２つの組み合わせ可能なオーディオストリームをミキシングして再生することができる。すなわち、複数の種類からなるストリームから、同じ種類（この例の場合、オーディオストリーム）のストリームをミキシング（重畳、または合成）して、同時に再生することができる。
【０４１２】
また、第５のSTN table()を用いることにより、ユーザは、ミキシングする２つのオーディオストリームを個々に選ぶ必要がなく、２つのオーディオストリームが組み合わせられたものの中から、再生するオーディオストリームを選択することができる。
【０４１３】
次に、図４２は、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義する場合のSTN_table()のシンタクスの第６の例（第６のSTN_table()）のさらに他の例を示す図である。第６のSTN_table()を参照して実行される再生処理も、図３６を用いて説明した再生装置１４１において実行可能である。なお、図中、図３５や図４１と同一の部分については、繰り返しになるのでその説明は省略する。
【０４１４】
図４２の例のオーディオストリームＩＤ (audio_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのオーディオストリーム＃１に、０からaudio_stream_idが与えられることと、その後に配置されるstream_attribute()とについては、図３５の例と同様とされている。
【０４１５】
ただし、図４２の例のオーディオストリームＩＤ (audio_stream_id)のforループの中には、さらに、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義する次のような情報が含まれる。即ち、number_of_audio_stream2_entriesが０でない場合（if(number_of_audio_stream2_entries!=0)）、number_of_audio_stream2_ref_entriesが与えられる。number_of_audio_stream2_ref_entriesは、audio_stream_idで特定されるオーディオストリーム＃１と組み合わせ可能なオーディオストリーム＃２の数を示す。そして、audio_stream_idで特定されるオーディオストリーム＃１と組み合わせ可能なオーディオストリーム＃２を特定するaudio_stream2_id_refが、number_of_audio_stream2_ref_entriesの後のfor文で定義される。
【０４１６】
なお、他の例と同様に、オーディオストリームＩＤ２ref（audio_stream_id2_ref）の代わりに、オーディオストリーム番号２ref（audio_stream_number2_ref）を用いるようにしてもよい。また、オーディオストリームＩＤ（audio_stream_id）の代わりに、オーディオストリーム番号（audio_stream_number）を用いるようにしてもよい。
【０４１７】
このように、図４２の例の第６のSTN_table（）を利用しても、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義することができる。すなわち、矛盾するようなオーディオストリームの組み合わせを定義せずに済むので、ユーザは、常に再生可能なオーディオストリームの組み合わせの再生を選択することができる。
【０４１８】
ところで、上述したように、本発明の再生装置に装着される記録媒体上、または、再生装置のローカルストレージに記録されるデータのアプリケーションフォーマットは、PlayListとClipの２つのレイヤを有している。そして、PlayListは、１つ以上のPlayItemの並びによって（連続するPlayItemにより）作られるメインパス(Main Path)と、そのMain Pathに並行（並列）して、１つ以上のSubPlayItemの並びによって（非連続でもよいし、連続してもよいSubPlayItemにより）作られるサブパス（Sub Path）を1以上含むことができる。
【０４１９】
従って、例えば図４３に示されるように、１画面のうちの、全画面３０１に、メインパスで参照されるＡＶストリーム（図４３中、Primary Videoと記述されているビデオストリーム３１１、および、Primary Audioと記述されているオーディオストリーム３１２）に対応する映画本編等のコンテンツを再生させるとともに、全画面３０１に配置される子画面３０２に、サブパスで参照されるＡＶストリーム（図４３中、Secondary Videoと記述されているビデオストリーム３１３、および、Secondary Audioと記述されているオーディオストリーム３１４）に対応する映画の監督のコメンタリー等、メインパスで参照されるＡＶストリームとは別のコンテンツを再生させる、といった手法を適用することが可能になる。
【０４２０】
即ち、全画面（親画面）３０１と子画面３０２のそれぞれに別々のコンテンツを同時再生させる、といった手法を適用することが可能になる。
【０４２１】
このような手法はピクチャインピクチャ(Picture in Picture)手法と称される。
【０４２２】
なお、Primary Audioと記述されているオーディオストリーム３１２に対応する音声と、Secondary Audioと記述されているオーディオストリーム３１４に対応する音声との再生とは、上述したように、それら２つのオーディオストリームに対してミキシング処理が施された結果得られる音声の出力のことをいう。
【０４２３】
また、実際の再生対象は、上述したように、各ストリームに対応する音声や画像であるが、以下の説明においては、説明の簡略上、各ストリームとする場合もある。即ち、所定のストリームを再生する、といった表現を使用する場合もある。
【０４２４】
ピクチャインピクチャ手法を適用するアプリケーションを実現するためには、例えば次のようなシンタクス（Syntax）が必要になる。即ち、例えば、本実施の形態では、STN_tableにおいてvideo_stream_idで定義されたビデオストリーム（以下、プライマリビデオストリームと称する。例えば、図４３の例では、Primary Videoと記述されているビデオストリーム３１１を、プライマリビデオストリーム３１１と称する）の数は、１つとされている。そこで、このことを考慮して、プライマリビデオストリームと同時に再生され得るストリームの組み合わせを定義するシンタクスがあれば、ピクチャインピクチャ手法の実現、即ち、ピクチャインピクチャを適用するアプリケーションの実現が可能になる。
【０４２５】
ここで、ピクチャインピクチャ手法により、プライマリビデオストリームと同時に再生され得るストリームとして、例えば本実施の形態では、次の第１乃至第４の種類のストリームが用意されている。
【０４２６】
第１の種類のストリームとはSTN_tableにおいてaudio_stream_idで定義されたオーディオストリーム、即ち、上述したオーディオストリーム＃１（以下、プライマリオーディオストリームと称する。例えば、図４３の例では、Primary Audioと記述されているオーディオストリーム３１２を、プライマリオーディオストリーム３１２と称する）のことをいう。
【０４２７】
第２の種類のストリームとは、STN_tableにおいてvideo_stream_id2で定義されたビデオストリーム（以下、セカンダリビデオストリームと称する。例えば、図４３の例では、Secondary Videoと記述されているビデオストリーム３１３を、セカンダリビデオストリーム３１３と称する）のことをいう。
【０４２８】
第３の種類のストリームとは、STN_tableにおいてaudio_stream_id2で定義されたオーディオストリーム、即ち、上述したオーディオストリーム＃２（以下、セカンダリオーディオストリームと称する。例えば、図４３の例では、Secondary Audioと記述されているオーディオストリーム３１４を、セカンダリオーディオストリーム３１４と称する）のことをいう。
【０４２９】
第４の種類のストリームとは、サブパスで参照されるテキスト字幕ストリーム(txtST)や、DVDのサブピクチャのようなビットマップ字幕をランレングス符号化したストリーム（PG, Presentation Graphics stream）等のことをいう。例えば図４３の例では、Subtitleと記述されているストリーム３１５が、第４の種類のストリームの一例である。なお、以下、第４の種類のストリームを、即ち、txtSTやPG等をまとめて、サブタイトルストリームと称する。なお、サブタイトルストリームの再生位置（字幕等の表示位置）は、特に子画面内である必要は無く、全画面のうちの何れの位置でもよい。このため、図４３の例では、サブタイトルストリーム３１５は、子画面３０２からはみ出すように描画されている。
【０４３０】
以上説明したように、ピクチャインピクチャ手法を適用するアプリケーションを実現するためには、例えば、プライマリビデオストリームと組み合わせて同時再生され得るストリームの組み合わせの定義、即ち、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせの定義が必要となる。
【０４３１】
さらに、複数の組み合わせを定義することで、全画面３０１に再生されるプライマリビデオストリームやプライマリオーディオスオストリームの切り替えのみならず、子画面３０２に再生されるセカンダリビデオストリームの切り替えや、サブタイトルストリームの切り替えも容易に行えるようになる。ただし、その切り替え操作の例については、図４６と図４７を参照して後述する。
【０４３２】
このような、プライマリビデオストリームと組み合わせて同時再生され得るストリームの組み合わせの定義は、例えば、図４４と図４５に示されるような第７のSTN_tableにて行うことが可能である。即ち、図４４と図４５とは、プライマリビデオストリームと組み合わせて同時再生され得る、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの記録位置(stream_entry)、属性(stream_attribute)、および、組み合わせを定義する場合の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_video 2とその後の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）を用いるようにしてもよい。ビデオストリームやサブタイトルストリームについても同様である。
【０４３９】
図４４と図４５で示される第７のSTN_tabkeによれば、video_stream_id2を用いて、プライマリビデオストリームと同時再生されるセカンダリビデオストリームを定義することができ、さらに、そのvideo_stream_id2、および、audio_stream_id、audio_stream_id2、並びに、PG_textST_stream_idを用いて、そのセカンダリビデオストリームと同時再生され得る、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義することができる。即ち、プライマリビデオストリームと同時再生され得る、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義することができる。
【０４４０】
従って、プライマリビデオストリームと同時再生され得る、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせとして、矛盾するような組み合わせを定義せずに済むので、ユーザは、プライマリビデオストリームと同時再生可能なストリームの組み合わせの再生を容易に選択することができる。
【０４４１】
具体的な例を、図４６と図４７を参照して説明する。図４６は、第７のSTN_tableが用いられた場合の、ユーザに提供するプライマリオーディオストリームまたはセカンダリオーディオストリームに対応する音声信号、セカンダリビデオストリームに対応する映像信号、および、サブタイトルストリームに対応する字幕信号の組み合わせの関係を表すストリームナンバーテーブルの例を示す図である。なお、図中、音声信号（オーディオ）と字幕信号（サブピクチャ）との記載については、図２６または図３９と同様であるので、その説明は省略する。
【０４４２】
図４６においては、PlayListのMain Pathを構成するPlayItemの第７のSTN_table()でエントリーされるセカンダリビデオストリーム（video_stream_id2でエントリーされるセカンダリビデオストリーム）のそれぞれにＶ２＿ＳＮ（Video2 Stream Number:セカンダリビデオストリーム番号とも称する）が与えられる。
【０４４３】
具体的には、Ｖ２＿ＳＮ＝１にビデオ２が与えられ、Ｖ２＿ＳＮ＝２にビデオ１が与えられている。
【０４４４】
このとき、Ｖ２＿ＳＮ＝１のビデオ２に対しては、プライマリオーディオストリームとしてオーディオ２（図４５のvideo_stream_id2がビデオ２を特定するIDである場合のfor文中において、audio_stream_idでエントリーされるプライマリオーディオストリーム）が、セカンダリオーディオストリームとしてオーディオ４（図４５のvideo_stream_id2がビデオ２を特定するIDである場合のfor文中において、audio_stream_id2でエントリーされるセカンダリオーディオストリーム）が、サブタイトルストリームとしてサブピクチャ３（図４５のvideo_stream_id2がビデオ２を特定するIDである場合のfor文中において、PG_textST_stream_idでエントリーされるサブタイトルストリーム）が、それぞれ組み合わせ可能とされている。
【０４４５】
また、Ｖ２＿ＳＮ＝２のビデオ１に対しては、プライマリオーディオストリームとしてオーディオ１（図４５のvideo_stream_id2がビデオ１を特定するIDである場合のfor文中において、audio_stream_idでエントリーされるプライマリオーディオストリーム）が、セカンダリオーディオストリームとしてオーディオ４若しくはオーディオ５（図４５のvideo_stream_id2がビデオ１を特定するIDである場合のfor文中において、２つのaudio_stream_id2のそれぞれでエントリーされる２つのセカンダリオーディオストリームのそれぞれ）が、サブタイトルストリームとしてサブピクチャ１（図４５のvideo_stream_id2がビデオ１を特定するIDである場合のfor文中において、PG_textST_stream_idでエントリーされるサブタイトルストリーム）が、それぞれ組み合わせ可能とされている。
【０４４６】
即ち、図４５のvideo_stream_id2がビデオ１を特定するIDである場合のfor文中において、Ｖ２＿ＳＮ＝２のビデオ１と同時再生可能なオーディオストリームの組として、次の第１の組と第２の組とがそれぞれ定義されている。第１の組とは、プライマリオーディオストリームがオーディオ１であり、セカンダリオーディオストリームがオーディオ４である組のことをいう。第２の組とは、プライマリオーディオストリームがオーディオ１であり、セカンダリオーディオストリームがオーディオ５である第２の組のことをいう。
【０４４７】
かかる図４６のストリームナンバーテーブルがユーザに呈示された場合（ここでは、呈示形態は特に問わない）、ユーザは、はじめに、映画本編等と同時再生させる監督のコメンタリー等の映像に対応するセカンダリビデオストリームとして、即ち、子画面（図４３の例では子画面３０２）に表示させる映像に対応するセカンダリビデオストリームとして、ビデオ２（ＶＳ＿ＳＮ＝１）とビデオ１（ＶＳ＿ＳＮ２）とのうちの何れか一方を選択することができる（そのような選択操作ができる）。
【０４４８】
例えば、セカンダリビデオストリームとしてビデオ２（ＶＳ＿ＳＮ＝１）が選択された場合には、図４６に示されるように、そのビデオ２（ＶＳ＿ＳＮ＝１）と同時再生可能な組み合わせは、オーディオ２、オーディオ４、およびサブピクチャ３の組み合わせのみである。従って、セカンダリビデオストリームとしてビデオ２（ＶＳ＿ＳＮ＝１）が選択された時点で、ユーザの選択操作は終了となる。
【０４４９】
一方、図４７に示されるように、セカンダリビデオストリームとしてビデオ１（ＶＳ＿ＳＮ＝２）が選択された場合には、そのビデオ１（ＶＳ＿ＳＮ＝２）と同時再生可能な組み合わせとしては、オーディオ１、オーディオ４、およびサブピクチャ１の第１の組み合わせと、オーディオ１、オーディオ５、およびサブピクチャ１の第２の組み合わせ、といった２通りの組み合わせが存在する。従って、セカンダリビデオストリームとしてビデオ１（ＶＳ＿ＳＮ＝２）を選択した場合、ユーザは、さらに、かかる第１の組み合わせと第２の組み合わせとのうちの何れか一方を選択することができる（そのような選択操作ができる）。
【０４５０】
具体的には、例えば、ここでは、図３９で説明した選択操作と同様に、ユーザは、ビデオ１（ＶＳ＿ＳＮ＝２）と同時再生させるストリームに対して（ストリームナンバーテーブル上の対応する表示の右方に対して）、再生を選択するときには、「×」から「○」に切り替える一方、再生を選択しないときには、「×」のまま保持する、といった選択操作を実行することができる。なお、図３９を用いて説明した場合と同様に、「○」は再生を選択する状態を示すシンボルとされている一方、「×」は再生を選択していない状態を示すシンボルとされている。
【０４５１】
図４７の例では、かかる選択操作により、オーディオ１、オーディオ４、およびサブピクチャ１の第１の組み合わせが選択された結果が示されている。即ち、図４７に示されるように、Ｖ２＿ＳＮ＝２のビデオ１と同時再生されるプライマリオーディオストリームとしてオーディオ１が選択されるので、その選択状態は、「×」から「○」に切り替えられる。また、Ｖ２＿ＳＮ＝２のビデオ１と同時再生されるセカンダリオーディオストリームとしてオーディオ４が選択されるので（オーディオ５が選択されないので）、オーディオ４の選択状態は、「×」から「○」に切り替えられる一方、オーディオ５の選択状態は「×」のまま保持される。また、Ｖ２＿ＳＮ＝２のビデオ１と同時再生されるサブタイトルストリームとしてサブピクチャ１が選択されるので、その選択状態は、「×」から「○」に切り替えられる。
【０４５２】
即ち、以上の一連の選択操作により、ビデオ１、オーディオ１、オーディオ４、および、サブピクチャ１を選択し、メインビデオ（プライマリビデオストリームのことである）とともに再生可能な状態（そのような再生を選択する状態）とすることができる。
【０４５３】
なお、上述した例では、プライマリビデオストリームと同時再生させるストリームの選択操作として、セカンダリビデオストリームを軸とする操作、即ち、先にセカンダリビデオストリームを選択した後、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームを選択する操作について説明した。
【０４５４】
しかしながら、かかる選択操作として、上述した例のみならず、例えば、図３９等を用いて上述した操作と同様にして、先にプライマリオーディオストリームを選択した後、セカンダリビデオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームを選択する操作を採用してもよい。即ち、図４７のストリームナンバーテーブルのうちの、Ａ＿ＳＮ＝１であるオーディオ２、Ａ＿ＳＮ＝２であるオーディオ１、および、Ａ＿ＳＮ＝３であるオーディオ３のうちの何れか１つを、プライマリオーディオストリームとして先に選択した後、図３９等を用いて上述した操作と同様の操作により、セカンダリビデオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームを選択する、といった選択操作を採用することもできる。
【０４５５】
また、例えば、先にサブタイトルストリームを選択した後、プライマリオーディオストリーム、セカンダリビデオストリーム、および、セカンダリオーディオストリームを選択する操作を採用することもできる。即ち、図４７のストリームナンバーテーブルのうちの、Ｓ＿ＳＮ＝１であるサブピクチャ３、Ｓ＿ＳＮ＝２でサブピクチャ１、および、Ｓ＿ＳＮ＝３であるサブピクチャ２のうちの何れか１つを、サブタイトルストリームとして先に選択した後、図４７中図示はされていないが、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリームを選択する、といった選択操作を採用することもできる。
【０４５６】
なお、本実施の形態では、セカンダリオーディオストリームのユーザの切り替え操作は禁止されている。このため、図４７の例では、セカンダリオーディオストリームに対するＡ＿ＳＮは与えられていない。即ち、図４７の例では、オーディオ１乃至３がプライマリオーディオストリームとして利用され、オーディオ４，５がセカンダリオーディオストリームとして利用されている。
【０４５７】
ところで、以上説明した図４４と図４５の第７のSTN_table()を利用するシンタクスにより、ピクチャインピクチャ手法（図４３参照）を実現させる場合、Subpath_typeの種類として、上述した図１１の第１の例の種類を利用すると、例えば図４８に示されるPlayListが生成される。
【０４５８】
図４８の例では、メインパス(Main path)を構成するプレイアイテム１（PlayItem1）により参照されるClip AV ストリームファイル-0（メインClip AVストリームファイル）に含まれるVideo（ビデオストリーム）とAudio（オーディオストリーム）とのそれぞれが、プライマリビデオストリームとプライマリオーディオストリームのそれぞれとしている。
つまり、STN_tableにおいて、video_stream_id、audio_stream_idに対応するstream_entryにおいて、type=1を設定した場合である。即ち、図４３の例に対応させると、Clip AVストリームファイル-0に含まれるVideoとAudioとのそれぞれが、プライマリビデオストリーム３１１とプライマリオーディオストリーム３１２のそれぞれに対応したClip AVストリームファイル-0に含まれるVideoが全画面３０１に再生されるとともに、Clip AVストリームファイル-0に含まれるAudioが再生出力される。
【０４５９】
一方、サブパス１(Sub path-1)に含まれるサブプレイアイテム（SubPlayItem:SPI）としにより参照されるClip AVストリームファイル−１（サブClip AVストリームファイル）に含まれる2ndVideo（ビデオストリーム）が、セカンダリビデオストリームとなり、また、サブパス2(Sub path-2)に含まれるサブプレイアイテム（SPI）により参照されるClip AVストリームファイル-１に含まれる2ndAudio（オーディオストリーム）が、セカンダリオーディオストリームとしている。つまり、STN_tableにおいて、video_stream_id2、audio_stream_id2のstream_entryにおいて、type=2を設定した場合である。即ち、図４３の例に対応させると、Clip AVストリームファイル-1に含まれる2ndVideoと2ndAudioとのそれぞれが、セカンダリビデオストリーム３１３とセカンダリオーディオストリーム３１４のそれぞれに対応し、Clip AVストリームファイル-1に含まれる2ndVideoが子画面３０２に再生されるとともに、Clip AVストリームファイル-１に含まれる2nd Audioが再生出力される。
【０４６０】
ただし、Clip AVストリームファイル-0に含まれるAudioをプライマリオーディオストリームとして全画面３０１と対応付けて再生させ、かつ、Clip AVストリームファイル-１に含まれる2ndAudioをセカンダリオーディオストリームとして子画面３０２と対応付けて再生させるとは、上述したように、それら２つのオーディオストリームに対してミキシング処理が施された結果得られる音声が出力されることを指す。
【０４６１】
このように、図４８の例では、SubPath_typeの種類として図１１の第１の例の種類が利用されて、その結果、メインパス、サブパス１、および、サブパス２により、ピクチャインピクチャ手法が実現されている。
【０４６２】
しかしながら、図４８の例では、プライマリビデオストリームであるClip AVストリームファイル-0のVideoと同時に再生されるセカンダリビデオストリームとセカンダリオーディオストリームとのそれぞれは、同一のClip AVストリームファイル-1内に含まれる2ndVideoと2ndAudioとのそれぞれであるにも関わらず、別々のサブパス１とサブパス２とのそれぞれで定義されている。なぜならば、図１１の例では、参照されるＥＳ（エレメンタリストリーム）の本数は１本のみである、というSubPath_typeの種類しか用意されていないためである。即ち、図１１の例では、Audio，IG，Text，Videoといった各種類のＥＳが、同一のClipに含まれるClip AVストリームファイルに含まれているか否かによらず、ＥＳ１本ずつに対して、SubPath_typeが１つずつ常に割り当てられる、というSubPath_typeの種類しか用意されていないためである。
【０４６３】
即ち、図４８の例によらず、図１１の例のSubPath_typeの種類が利用される場合、メインパスで参照されるＥＳと別に、再生対象のＥＳが２本以上存在するときには、それらの２本以上のＥＳは別々のサブパスにそれぞれ分けられて、即ち、２つの別のＳＰＩのそれぞれとして定義されることになる。
【０４６４】
この場合、それらの２本以上のＥＳが同一のClipに含まれるClip AVストリームファイルに含まれているならば、上述したSubPlayItem_IN_time,SubPlayItem_OUT_time等は同一となるにも関わらず、それぞれ個別に持つ（その結果何重にも持つ）必要が生じてしまい、SubPlayItem_IN_time、および、SubPlayItem_OUT_timeの情報が冗長となる、という第１の問題点が発生する。
【０４６５】
また、この場合、再生対象のＥＳごとにサブパスを定義しなければならないので、PlayListの構造が必要以上に複雑になる、という第２の問題点も発生する。
【０４６６】
さらに、かかる第２の問題点から、次のような第３の問題点も発生する。
【０４６７】
即ち、例えば、本実施の形態では、再生装置（例えば上述した図３６の再生装置１４１や後述する図５３の再生装置４０１）には、同時に２本のTS（すなわち、２つのClipに含まれるそれぞれのTS）までしか読めないという制限（縛り）が課せられている。かかる制限が課せられた再生装置では、このような複雑な構造のPlayListを再生しようとすると、そのPlayList内に定義されているメインパスと、何れのサブパスを組み合わせて再生すればよいのかを直ちに決められない、即ち、そのような組み合わせを決定するために複雑な処理の実行が必要になる、という第３の問題点が発生する。
【０４６８】
そこで、本発明人は、かかる第１乃至第３の問題点を解決すべく、SubPath_typeの種類として、複数のＥＳを取り扱える種類、即ち、複数のＥＳを同時に参照可能とする種類を追加する、という手法をさらに発明した。かかる手法が適用されたSubPath_typeの種類の第２の例が図４９に示されている。
【０４６９】
即ち、図４９は、SubPath_type（サブパスのタイプ）の種類の第２の例であって、図１１とは異なる例、即ち、図１１の例にも存在する種類に対して、かかる第１乃至第３の問題点を解決可能な種類を追加した例を説明する図である。すなわち、かかる第１乃至第３の問題点を解決するためには、例えば、図４９に示される第２のSubPath_typeを採用すればよい。
【０４７０】
図４９において、SubPath_type＝０乃至４は、図１１の対応するタイプと同一とされているので、ここではその説明については省略する。
【０４７１】
ただし、SubPath_type＝０乃至４の「Meaning」において、図４９の例では「Out-of-mux」という記述がなされているが、図１１の例ではその記述は省略されている。そこで、その記述について説明する。即ち、この「Out-of-mux」という記述は、サブパスで参照されるＥＳが含まれるＴＳと、メインパスで参照されるＥＳが含まれるＴＳとが異なっている場合のサブパスのタイプ（種類）、即ち、サブパスで参照されるＥＳが、メインパスで参照されるプレイアイテムが含まれるＴＳに多重化されていないサブパスのタイプ（種類）であることを示している。以下、かかる種類を、メインパスＴＳ非多重型のパスと称する。
【０４７２】
また、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＝５は、図１１を用いて説明した例におけるSubPath_type＝５，６のそれぞれで示される種類も含まれ、2nd Audio Presentation path（２番目のオーディオプレゼンテーションパス）（２ndオーディオストリームを参照するためのパス）や、2nd Video Presentation path（２番目のビデオプレゼンテーションパス）（２ndビデオストリームを参照するためのパス）を含むものである。
【０４７５】
ここで、ピクチャインピクチャプレゼンテーションパスとは、上述したピクチャインピクチャ手法（図４３参照）において、所定のプライマリビデオストリーム（メインパスで参照されるビデオストリーム）についての、プライマリオーディオストリームストリーム、セカンダリビデオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームのうちの１以上のパス（そのようなサブパスのタイプ）であることをいう。
【０４７６】
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」という記述は、サブパスで参照されるＥＳが含まれるＴＳと、メインパスで参照される１以上のＥＳが含まれるＴＳとが同一の場合のサブパスのタイプ（種類）、即ち、サブパスで参照されるＥＳが、メインパスで参照されるＥＳを含むＴＳに多重化されているサブパスのタイプ（種類）であることを示している。換言すれば、メインクリップに含まれるメインTSに、メインのClip AVストリームと、サブのClip AVストリームとが含まれている状態である。以下、かかる種類を、メインパスＴＳ多重型のパスと称する。
【０４７９】
即ち、SubPath_type＝７は、メインパスＴＳ多重型、かつ、同期型のパスであって、ピクチャインピクチャプレゼンテーションパス（１以上のＥＳのパス）とされている。
【０４８０】
そして、SubPath_type=8−255は予備(reserved)とされている。
【０４８１】
図４９の例のSubpath_typeの種類を利用することにより、新たに追加されたSubPath_type=５，６，７を利用することが可能となる。ここで、SubPath_type=７においては、PlayItemにより参照されるMainTS、すなわち、メインClip AVストリームには、SubPathにより参照されるSubSTも含まれる。そのため、図１７を用いて説明したStream_entry()に代わって、ｔｙｐｅ＝３（なお、図５０におけるｔｙｐｅ＝３は、図１５を用いて説明した場合のｔｙｐｅ＝３とは異なる）が定義された、図５０に示される第３のStream_entry()が用いられる。
【０４８２】
すなわち、第３のStream_entry()において定義されているｔｙｐｅ＝３は、対応するPlayItemにおいてSubPath_type=７の場合に、MainClipに含まれ、SubPathによって参照されるエレメンタリストリームを識別するためのものである。
【０４８３】
なお、図５０において、図１７と同一の部分については、その説明を適宜省略する。
【０４８４】
すなわち、type＝３では、SubPathがMainPathと同じClipを参照し、換言すれば、MainClipに複数のエレメンタリストリームが多重化され、MainPathとSubPathとのいずれも、MainClipに多重化されているエレメンタリストリームのうちのいずれかを参照している場合に、SubPath_type=７において、MainClipの複数のエレメンタリストリームの中から、SubPathによって参照される１つのエレメンタリストリームを再生時に特定するために、ref_to_stream_PID_of_MainClipにより、MainClipのパケットID(PID)が指定される。また、ref_to_SubPath_idによりSubPath_idが示され、このSubPath_idにより図９のPlayList()で定義されたSubPathが特定され、このSubpathから対応するSubPlayItemが呼び出されることにより（図１０）、エレメンタリストリームの再生時間（In_time, Out_time）等を把握することができる（図１２）ようになされている。
【０４８５】
このように、type（type１乃至type３の３つのtype）を使うことで、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipが、さらに、SubPathから参照されている場合であっても、Clipの中から１つのエレメンタリストリームを特定することができる。
【０４８６】
また、以上説明したような図４９の例のSubpath_typeの種類を利用することで、即ち、図１１の例にも存在したSubPath_type＝1乃至４とともに、新たに追加された複数（１以上）のエレメンタリストリームを扱いうるSubPath_type=５，６，７を利用することで、ピクチャインピクチャ手法（図４３参照）を実現させる場合のPlayListとして、図４８の例のような複雑な構造のPlayListの代わりに、例えば図５１に示されるような簡単な構造のPlayListの作成/利用が可能になる。
【０４８７】
即ち、図５１の例では、メインパス(Main path)に含まれるプレイアイテム１（PlayItem1）が参照するClip AVストリームファイル-0に含まれるVideo（ビデオストリーム）とAudio（オーディオストリーム）とのそれぞれが、プライマリビデオストリームとプライマリオーディオストリームのそれぞれとしている。即ち、図４３の例に対応させると、clip AVストリームファイル-0に含まれるVideoとAudioとのそれぞれが、プライマリビデオストリーム３１１とプライマリオーディオストリーム３１２のそれぞれに対応し、clip AVストリームファイル-0に含まれるVideoが全画面３０１に再生されるとともに、clip AVストリームファイル-0に含まれるAudioが再生出力される。
【０４８８】
なお、STN_tableにおいて、video_stream_id, audio_stream_id, video_stream_id2, audio_stream_id2のそれぞれでstream_entryを定義し、かつ、図５０のstream_entryにおいて、MainPathで指定されMainClipに存在する場合（type=1)、SubPathで指定し、SubClipに存在する場合、(type=2）、MainClipに存在するがSubPathで指定する場合（type=3、図５０）のそれぞれを定義しているため、プライマリオーディオストリーム（audio_stream_idで示されるオーディオストリーム）であっても、SubPathで指定される場合もありえる。また、同様にして、本構成では、プライマリビデオストリーム（video_stream_idで示されるビデオストリーム）もSubPathで指定されることも可能であるが、プライマリビデオストリームが前提のＡＶデータと考えているため、プライマリビデオストリームは、MainPathにより指定されるものとする。なお、SubPathによりプライマリビデオを指定する場合には、SubPath_typeの定義の変更、追加を行うのみでよい。
【０４８９】
また、図５１の例でも、プライマリビデオストリームであるClip AVストリームファイル-0のVideoと同時に再生されるセカンダリビデオストリームとセカンダリオーディオストリームとのそれぞれは、同一のClip AVストリームファイル-1内に含まれる2ndVideoと2ndAudioとのそれぞれとされている。
【０４９０】
そこで、図５１の例では、サブパスA(Sub path-A)のタイプとして、上述したSubPath_type＝５、即ち、メインパスＴＳ非多重型、かつ、同期型のパスであって、ピクチャインピクチャプレゼンテーションパスが採用されている。これにより、サブパスA(Sub path-A)が参照するサブプレイアイテム（SPI）として、Clip AVストリームファイル-１に含まれる2ndVideoと2ndAudioとの２つのＥＳを同時に参照できるようになる。その結果、図４３の例に対応させると、１つのサブパスA(Sub path-A)のみで参照されるClip AVストリームファイル-1に含まれる2ndVideoと2ndAudioとのそれぞれが、セカンダリビデオストリーム３１３とセカンダリオーディオストリーム３１４のそれぞれに対応し、Clip AVストリームファイル-1に含まれる2ndVideoが子画面３０２に再生されるとともに、Clip AVストリームファイル-1に含まれる2ndAudioが再生出力される。
【０４９１】
その際、サブパスA(Sub path-A)のタイプとして、上述したSubPath_type＝５が採用されている場合、セカンダリビデオストリーム３１３とセカンダリオーディオストリーム３１４とは、プライマリビデオストリーム３１１と同期して再生されることになる。
【０４９２】
換言すると、セカンダリビデオストリーム３１３とセカンダリオーディオストリーム３１４とを、プライマリビデオストリーム３１１と非同期で再生したい場合には（或いは非同期で再生する必要がある場合には）、サブパスA(Sub path-A)のタイプとして、上述したSubPath_type＝６、即ち、メインパスＴＳ非多重型、かつ、非同期型のパスであって、ピクチャインピクチャプレゼンテーションパス（１以上のＥＳのパス）を採用すればよい。
【０４９３】
このように、図５１の例では、図４９の例のSubpath_typeの種類が採用された結果、メインパスの他１つのサブパス（例えば、図５０のサブパスＡ）のみで、ピクチャインピクチャ手法が実現されている。
【０４９４】
即ち、同一のClip AVストリームファイル-1に含まれる2ndvideoと2ndAudioとのそれぞれをセカンダリビデオストリーム３１３とセカンダリオーディオストリーム３１４として利用する、といったピクチャインピクチャ手法を実現する場合、図１１の例のSubpath_typeの種類を利用して生成された図４８の例のPlayListでは、同一のClip AVストリームファイル-1に含まれる2ndvideoと2ndAudioとのそれぞれは２つの別々のサブパスで参照されていた。これに対して、図４９の例のSubpath_typeを利用して生成された図５１の例のPlayListでは、同一のClip AVストリームファイル-1に含まれる2ndvideoと2ndAudioとのそれぞれは１つのサブパスのみで参照できるようになっている。
【０４９５】
その結果、2ndvideoと2ndAudioとのそれぞれについての、SubPlayItem_IN_time,SubPlayItem_OUT_time等は１つ持てばよいため、上述した第１の問題点を解決することが可能になる。
【０４９６】
また、図４８の例と図５１の例のPlayListを比較すれば明らかなように、その構造を簡素化できるので、第２の問題点と第３の問題点を解決することが可能になる。
【０４９７】
さらに、図４９の例のSubpath_typeの種類のうちのSubPath_type＝７、即ち、メインパスＴＳ多重型、かつ、同期型のパスであって、ピクチャインピクチャプレゼンテーションパス（１以上のＥＳのパス）を利用することで、例えば図５２に示されるようなPlayListを作成することが可能になる。その結果、図５２の例のPlayListを利用したピクチャインピクチャ手法の実現も容易に可能になる。
【０４９８】
図５２の例では、メインパス(Main path)に含まれるプレイアイテム１（PlayItem1）により参照されるMain TSには、Clip AVストリームファイル-0（ただし、図５１のClip AVストリームファイル-0とは異なるClip AVストリームファイル）が含まれており、Clip AVストリームファイル-0には、PlayItem−１によって参照されるMainSTと、SubPlayItemによって参照されるSubSTが含まれている。そして、MainSTに含まれるVideo（ビデオストリーム）とAudio（オーディオストリーム）とのそれぞれが、プライマリビデオストリームとプライマリオーディオストリームのそれぞれとなる。即ち、図４３の例に対応させると、Clip AVストリームファイル-0に含まれるMainSTのVideoとAudioとのそれぞれが、プライマリビデオストリーム３１１とプライマリオーディオストリーム３１２のそれぞれに対応し、Clip AVストリームファイル-0に含まれるVideoが全画面３０１に再生されるとともに、Clip AVストリームファイル-0に含まれるAudioが再生出力される。
【０４９９】
また、図５２の例では、プライマリビデオストリームであるMainSTのVideoと同時に再生されるセカンダリビデオストリームとセカンダリオーディオストリームとのそれぞれは、同じMain TSに含まれる、Clip AVストリームファイル-１に含まれる2ndVideoと2ndAudioとのそれぞれとなる。
【０５００】
この場合、図５２の例のPlayListを作成するためには、サブパスA(Sub path-A)のタイプとして、SubPath_type＝７を採用すればよい。これにより、サブパスA(Sub path-A)に含まれるサブプレイアイテム（SPI）が参照するESとして、メインパスでも参照しているMain TSのClip AVストリームファイル-0に含まれるSubSTの2ndVideoと2ndAudioとの２つのＥＳを参照できるようになる。その結果、図４３の例に対応させると、サブパスA(Sub path-A)で参照されるClip AVストリームファイル-0に含まれる2ndVideoと2ndAudioとのそれぞれを、セカンダリビデオストリーム３１３とセカンダリオーディオストリーム３１４のそれぞれに対応し、Clip AVストリームファイル-０に含まれる2ndVideoが子画面３０２に再生できるとともに、Clip AVストリームファイル-０に含まれる2nd Audioが再生出力されるようになる。すなわち、図５２における場合では、メインクリップに含まれるメインTSに、メインのストリームであるMainSTと、サブのストリームであるSubSTとが含まれている。
【０５０１】
その他、図５２に示されるように、PlayItem-1に対するサブパスとして、サブパスAに加えて、Clip AVストリームファイル-１が含まれているMain TSとは異なるTS（Sub TS）に含まれているClip AVストリームファイル-1を参照するサブパスB(Subpath-B)が定義されている場合には、上述したように、本実施の形態の再生装置は、２つのＴＳを同時に読み出すことが可能であるので、メインTSに含まれるVideo，Audio，2ndVideo，2ndAudioとともに、サブTSに含まれるPG等も読み出すことが可能になる。
【０５０２】
以上、ピクチャインピクチャ手法（図４３参照）を適用するために必要なシンタクスの例、即ち、図４４と図４５の第７のSTN_table（）や、図４９の例のSubPath_typeの種類について説明した。
【０５０３】
かかるピクチャインピクチャ手法を実現するためには、プライマリビデオストリームとセカンダリビデオストリームとを同時再生できる機能を有する再生装置、例えば図５３に示されるような再生装置の適用が必要である。
【０５０４】
次に、本発明を適用した再生装置の異なる例について説明する。再生装置４０１は、図３６を用いて説明した再生装置１４１のＡＶデコーダ部１５１に代わって、ＡＶデコーダ部４０３が設けられている以外は、基本的に、図３６を用いて説明した再生装置１４１と同様の構成を有するものである。図５３は、ＡＶデコーダ部４０３の構成例を示すブロック図である。このＡＶデコーダ部４０３を備えた再生装置４０１は、ピクチャインピクチャ手法を適用して、図４７を用いて説明したように、１画面のうちの、全画面３０１に、メインパスで参照されるＡＶストリームに対応する映画本編等のコンテンツを再生させるとともに、全画面３０１に配置される子画面３０２に、サブパスで参照されるＡＶストリームに対応する映画の監督のコメンタリー等の別のコンテンツを再生させることが可能である。
【０５０５】
図５３の再生装置４０１は、上述したメインパスとサブパスを有するPlayListであって、ピクチャインピクチャ手法を実現するためのPlayList（例えば図５１や図５２の例のPlayList）に従った再生を行うことができる。
【０５０６】
なお、図５３において、図３６と対応する部分（ブロック）には対応する符号が付してあり、それらの説明については適宜省略する。
【０５０７】
図５３の例の再生装置４０１には、図３６の例の再生装置１４１と同様の機能と構成を有する、ストレージドライブ２２、スイッチ３２、およびコントローラ２１が設けられている。ただし、コントローラ２１の機能は追加されている。追加された機能の詳細については後述する。さらに、図５３の例の再生装置４０１には、図３６の例の再生装置１４１のAVデコーダ部１５１とは機能と構成が若干異なるAVデコーダ部４０３が設けられている。
【０５０８】
即ち、図５３の例のAVデコーダ部４０３には、図３６の例のAVデコーダ部１５１とほぼ同様の機能と構成を有するバッファ５１乃至ミキシング処理部１０１が設けられている他、さらに、図３６の例のAVデコーダ部１５１には設けられていないPIDフィルタ４１１乃至プリロード用バッファ４１４が設けられている。
【０５０９】
なお、「図３６の例のAVデコーダ部１５１とほぼ同様の機能と構成を有する」といったように「ほぼ」と記述したのは、ビデオデコーダ７２やビデオプレーン生成部９２の呼称が、1stビデオデコーダ７２や1stビデオプレーン生成部９２と変更されていたり、PIDフィルタ５６の出力が１つ増加していたり等、若干異なるところがあるからである。
【０５１０】
以下、図５３の例のAVデコーダ部４０３のうちの、図３６の例のAVデコーダ部１５１とは異なる箇所について説明する。
【０５１１】
AVデコータ部４０３は、ピクチャインピクチャ手法を実現するために、プライマリビデオストリームとセカンダリビデオストリームとをデコードする必要がある。このため、図３６の例のAVデコーダ部１５１に設けられていたビデオデコーダ７２とビデオプレーン生成部９２とのそれぞれは、図５３の例のAVデコーダ部４０３においては、プライマリビデオストリーム用の1stビデオデコーダ７２と1stビデオプレーン生成部９２とのそれぞれとして設けられている。さらに、図５３の例のAVデコーダ部４０３には、1stビデオデコーダ７２と1stビデオプレーン生成部９２とのそれぞれと同様の機能と構成を有する、セカンダリビデオストリーム用の2ndビデオデコーダ４１２と2ndビデオプレーン生成部４１３とのそれぞれが設けられている。
【０５１２】
また、PIDフィルタ４１１には、メインClipAV Streamのビデオストリーム、または、サブClip AV Streamのビデオストリームが、PIDフィルタ１６１またはPIDフィルタ５６を介して入力されてくる。そこで、PIDフィルタ４１１は、入力されたビデオストリームを、そのPID（パケットID)に応じて、後段の1stビデオデコーダ７２または2ndビデオデコーダ４１２に振り分けて出力する。即ち、PIDフィルタ４１１は、プライマリビデオストリームが入力された場合には、そのプライマリビデオストリームを1stビデオデコーダ７２に供給する。これに対して、PIDフィルタ４１１は、セカンダリビデオストリームが入力された場合には、そのセカンダリビデオストリームを2ndビデオデコーダ４１２に供給する。
【０５１３】
なお、本実施の形態では、プライマリビデオストリームとして、メインClipAV Streamのビデオストリームのみが利用され、サブClip AV Streamのビデオストリームは利用されないとされている。ただし、将来、サブClip AV Streamのビデオストリームもプライマリビデオストリームとして利用され得ることも考慮して、PIDフィルタ５６から供給されたサブClip AV Streamのビデオストリームも１stビデオデコーダ７２に供給され得るように、PIDフィルタ４１１が構成されている。すなわち、Subpathにより指定されたサブClipに含まれるビデオストリームのみを再生し、ビデオストリームの再生にメインClipを使わず、オーディオストリームの再生は、サブClip、もしくは、メインClipを用いる場合である。従って、ビデオストリーム、オーディオストリームの再生に、メインクリップを使わず（MainPathを使わず）、SubClipのみを用いた（SubPathのみを用いた）再生とする構成も可能である。
【０５１４】
プリロード用バッファ４１４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームを一時記憶する。即ち、上述したように、本実施の形態では、再生装置４０１には、一度に２つのＴＳしか読み出せないという制限が課せられている。そこで、再生装置４０１は、インタラクティブグラフィックスストリームを予め取得しておくことで（プリロードしておくことで）、ビデオストリームやオーディオストリームを再生するときに、プリロードしておいたインタラクティブグラフィックスストリームも同時再生することができる、といった機能を有している。かかる機能を実現するために、即ち、プリロードされたインタラクティブグラフィックスストリームを、ビデオストリームやオーディオストリームが再生されるタイミングまで保存しておくために、プリロード用バッファ４１４が図５３の例のAVデコード部４０３に設けられているのである。
【０５１５】
次に、かかる図５３の例の再生装置４０１が実行するピクチャインピクチャ手法による処理の一例であって、プライマリビデオストリーム等の再生中等に、再生対象のセカンダリビデオストリーム等を切り替えるために必要な一連の処理(以下、セカンダリビデオ切り替え処理と称する)の一例について、図５４と図５５のフローチャートを参照して説明する。
【０５１６】
図５４のステップＳ１０１において、コントローラ２１は、セカンダリビデオストリーム番号（ＩＤでもよい）の順番リストと、セカンダリビデオストリームに組み合わされているプライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームのリストを、図４４と図４５とを用いて説明した第７のSTN_table()から取得する。
【０５１７】
ここでは、このステップＳ１０１の処理後、取得されたリストに基づいて、例えば上述した図４６のようなストリームナンバーテーブルが生成され、そのストリームナンバーテーブル自身またはそれに基づいて生成された所定のＧＵＩ（Graphical User Interface）画像が、コントローラ２１により生成され、表示装置への表示が制御されて、ユーザに呈示されるとする。そして、これにより、処理はステップＳ１０２に進むとする。
【０５１８】
ステップＳ１０２において、コントローラ２１は、ユーザからのセカンダリビデオストリームに対する切り替えの指令を受け付ける。
【０５１９】
即ち、上述した図４６と図４７を用いて説明したユーザの切り替え操作の内容が、ステップＳ１０２において、ユーザからのセカンダリビデオストリームに対する切り替えの指令としてコントローラ２１に受け付けられることになる。
【０５２０】
ステップＳ１０３において、コントローラ２１は、再生しているセカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルの組み合わせの次の組み合わせの番号を取得する。
【０５２１】
具体的には、例えば、図４６の例のストリームナンバーテーブルがユーザに呈示されたとすると、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルの組み合わせとして、次の第１の組み合わせ乃至第３の組み合わせが存在することになる。即ち、第１の組み合わせとは、ビデオ２、オーディオ２、オーディオ４、サブピクチャ３の組み合わせをいう。第２の組み合わせとは、ビデオ１、オーディオ１、オーディオ４、サブピクチャ１の組み合わせをいう。第３の組み合わせとは、ビデオ１、オーディオ１、オーディオ５、サブピクチャ１の組み合わせをいう。そこで、例えばここでは、第１の組み合わせ、第２の組み合わせ、および、第３の組み合わせのそれぞれの組み合わせの番号として、１、２−１、２−２のそれぞれが与えられているとする。そして、例えば、ここでは、ステップＳ１０２の処理で、図４７の例の選択操作結果、即ち、第２の組み合わせの選択指令がコントローラ２１に受け付けられたとする。この場合、ステップＳ１０３の処理では、次の組み合わせの番号として２−１が取得される。
【０５２２】
ステップＳ１０４において、コントローラ２１は、stream_attribute()（図１８）に記述されている内容に基づいて、取得した番号（初回のステップＳ１０４の処理では、直前のステップＳ１０３の処理で取得した番号）に対応する複数のストリームを再生する機能を有するか否かを判定する。
【０５２３】
具体的には、例えば、オーディオストリームの再生機能に着目すると、図４７の例の選択操作結果、即ち、第２の組み合わせの選択指令がコントローラ２１に受け付けられた場合には、オーディオ１とオーディオ４とのそれぞれの再生機能を有するか否かの判定がステップＳ１０４の処理として実行される。
【０５２４】
また、その他、ビデオストリーム等他のストリームの再生機能の有無の判定もステップＳ１０４の処理として併せて実行することも可能である。
【０５２５】
ステップＳ１０４において、取得した番号に対応する複数のストリームの再生する機能を有していないと判定した場合、コントローラ２１は、ステップＳ１０５において、現在の組み合わせの番号の次の組み合わせの番号を取得する。即ち、現在の組み合わせ番号で特定されるオーディオストリーム等を再生する機能を有しない場合には、その組み合わせ番号は飛ばされ（再生対象とならず）、次の組み合わせ番号が取得される。その後、処理はステップＳ１０４に戻され、それ以降の処理が繰り返される。即ち、再生装置４０１自身が再生する機能を有するオーディオストリーム等を特定する組み合わせ番号が取得されるまで、ステップＳ１０４とＳ１０５のループ処理が繰り返される。
【０５２６】
ステップＳ１０４において、取得した番号（１回目の処理の場合は上述したように直前のステップＳ１０３の処理で取得された番号であり、２回目以降の処理の場合は直前のステップＳ１０５の処理で取得された番号である）に対応する複数のストリームの再生する機能を有すると判定された場合、処理は図５５のステップＳ１０６に進む。
【０５２７】
ステップＳ１０６において、コントローラ２１は、Stream_entry()のtypeに基づいて、取得した番号に対応するセカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、およびサブタイトルストリーム各々を含むClipを調べる。即ち、取得した番号に対応するセカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、およびサブタイトルストリームは各々、メインClipにあるのか、それとも、サブClipにあるのかが確認される。
【０５２８】
ステップＳ１０７において、コントローラ２１は、所望のセカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、およびサブタイトルストリーム各々を特定する。即ち、ステップＳ１０７の処理で、メインClipまたはサブClipの中の中から、取得した番号に対応する所望の各ストリームが特定される。
【０５２９】
ステップＳ１０８において、コントローラ２１は、ストレージドライブ２２に、所望のセカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、およびサブタイトルストリーム各々が多重化されているClip（メインClipまたはサブClip）から、特定されたそれぞれのストリームを読み出すよう指示するか、または、ローカルストレージ２４に記録されているClipから、特定されたそれぞれのストリームを読み出して、AVデコーダ部４０３に供給させる。対象となるClipが記録媒体１１に記録されている場合、ストレージドライブ２２は、この指示に基づいて、記録媒体１１に記録されている対象となるClipから、特定されたストリームを読み出す。具体的には、コントローラ２１は、ステップＳ１０７の処理で特定したそれぞれのストリームを、記録媒体１１に記録されているClipから読み出すようストレージドライブ２２に指示する。
【０５３０】
そして、コントローラ２１は、読み出された各々のストリームをAVデコーダ部４０３に供給するとともに、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、およびサブタイトルストリームを再生するようAVデコーダ部４０３に指示する。具体的には、コントローラ２１は、読み出された所望のセカンダリビデオストリームを２ndビデオデコーダ４１２にデコードさせるよう、読み出された所望のプライマリオーディオストリームを1stオーディオデコーダ７５−１にデコードさせるよう、読み出された所望のセカンダリオーディオストリームを2ndオーディオデコーダ７５−２にデコードさせるよう、読み出された所望のサブタイトルストリームをプレゼンテーショングラフィックスデコーダ７３等にデコードさせるよう、それぞれ指示する。
【０５３１】
ステップＳ１０９において、AVデコーダ部４０３は、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、およびサブタイトルストリームをデコードし出力して、処理が終了される。
【０５３２】
その際、プライマリオーディオストリームとセカンダリオーディオストリームとについては、上述したように、プライマリオーディオストリームとセカンダリオーディオストリームとがミキシングされた結果得られるオーディオ信号が出力されることになる。
【０５３３】
このようなセカンダリビデオ切り替え処理の結果、図４３を用いて説明したピクチャインピクチャ手法が実現される。即ち、図４３の例では、プライマリビデオストリーム３１１に対応する映像が全画面３１１に表示（再生）されている最中に、ステップＳ１０９の処理で出力されたセカンダリビデオストリーム３１３に対応する映像が子画面３０２に表示（再生）され、ステップＳ１０９の処理で出力されたサブタイトルストリーム３１５に対応する字幕等が全画面３１１の所定の位置に表示（再生）され、ステップＳ１０９の処理で出力されたプライマリオーディオストリーム３１１とセカンダリオーディオストリーム４０２とがミキシングされた結果得られる音声が、図４３には図示せぬスピーカから出力（再生）される。
【０５３４】
以上説明したように、図４４と図４５の例の第７のSTN_tableを採用することで、ピクチャインピクチャ手法を実現することが可能になる。
【０５３５】
このようなピクチャインピクチャ手法を実現する場合、図１１の例のSubPath_typeの種類を利用して生成されるPlaylist（例えば図４８参照）を利用することも可能であるが、上述したように、同一のClip AV Streamに含まれているセカンダリビデオストリームやセカンダリオーディオストリーム等は、それぞれ別々のサブパスに分けられること、即ち、２つの別のSPIとして定義されることになってしまう。その結果、上述した各種問題点、例えばPlayListの構造が必要以上に複雑になるという問題点が発生する。
【０５３６】
そこで、これらの各種問題点を解決する場合には、同一Clip AV Stream内の２以上のＥＳ（セカンダリビデオストリームやセカンダリオーディオストリーム等）を１つのサブパスで参照できるように、即ち、同一Clip AV Stream内の２以上のＥＳを１つのSPIとして定義できるようなSubPath_typeの種類、即ち、例えば図４９を用いて説明したSubPath_typeの種類を採用すればよい。
【０５３７】
ただし、PlayListの作成者側の観点に立つと、図４５の例のSubPath_typeの種類を採用することで簡単な構造のPlayListを作成できるようになったとは言え、即ち、作成された結果のPlayListの構造が簡単になったとは言え、そのような簡単な構造のPlayListを作成するまでには、次のような困難な作業が必要になる。即ち、PlayListの作成者は、ピクチャインピクチャ手法を実現するために、どのような種類のストリームの組み合わせが可能であり、どのような種類のストリームの組み合わせが不可能であるのかを自分自身で判断した上で、即ち、どのような種類のサブパスを含めるのかを自分自身で判断した上で、PlayListを作成しなければいけない、といった困難な作業が必要になる。従って、PlayListの作成者側から、PlayListを簡単に作成したいという要望が挙げられるようになることは想像に難くない。
【０５３８】
従って、かかる要望に予め応えるべく、本発明人は、PlayListの種類に応じて、作成可能（そのPlayListに含めることが可能なサブパス）を、図４９を用いて説明したSubPath_typeにより制限する、といった手法を発明した。なお、以下、かかる手法を、サブパス制限手法と称する。
【０５３９】
サブパス制限手法を適用することで、１つのPlayListに含め得るサブパスが限定されるため、作成者にとっては、PlayListにどのようなサブパスを含めるのかを判断した上でサブパスを作成することが容易になり、ひいては、PlayListの作成自体も容易になる、という効果を奏することが可能になる。
【０５４０】
以下、サブパス制限手法について、詳しく説明していく。
【０５４１】
ただし、サブパス制限手法では、再生装置が一度に読み出すことが可能なＴＳの数によって、その制限内容が変化する。本実施の形態では、上述したように、再生装置が一度に読み出すことが可能なＴＳは２つとされている。そこで、以下、再生装置が一度に読み出すことが可能なＴＳは２つである場合のサブパス制限手法について説明していく。
【０５４２】
本実施の形態では、PlayListは、Browsable Slideshow（非同期型）と、Movie Type/Time-based Slideshow（同期型）といった２種類に大別される。PlayListの種類が非同期型であるのか或いは同期型であるのかといった区別は、そのPlayListにより参照されるClipのclip_Information_fileに含まれるapplication_type（アプリケーションタイプ）に従って行うことが可能である。
【０５４３】
application_typeは、あるClipについてのClip Informationファイル中のClipInfo()に記述されている。ただし、ここでは、説明の簡略上、ClipInfo()のシンタクスの説明については省略し、以下、そのClipinfo()に記述され得るapplication_typeの種類についてのみ、図５６を参照して説明する。
【０５４４】
即ち、図５６は、application_typeの種類の例を説明する図である。
【０５４５】
図５６に示されるように、application_type=0は、予備（reserved）とされている。application_type=１は、映画のアプリケーション用のMain TSとされている。ここで「Main TS」とは、Playlistにおいてメインパスにより参照されるPlayItemとしてのTransport stream、即ち、Main TSを指している。application_type=2は、Time-based Slideshow用のMain TS、即ち、画像のスライドショー用のMain TSとされている。application_type=3は、Browsable Slideshow用のTS、即ち、ビデオのスライドショー用のMain TSとされている。
【０５４６】
application_type=4は、SubPath用のBrowsable SlideshowのTSとされている。これは、例えば、上述したapplication_type=3と非同期で再生されるBGM（サウンド）データを保持するClip AVストリームに対してのClip Info()に付与される。application_type=5は、SubPathのインタラクティブグラフィックス用のTSとされている。application_type=6は、SubPathのテキストサブタイトル（テキスト字幕データ）用のTSとされている。application_type=7は、1つ以上のES(エレメンタリストリーム)を含むSubPath用のTSとされている。application_type=8乃至255は、予備（reserved）とされている。
【０５４７】
そして、application_type=１乃至application_type=6で表されるClip AV Stream Fileは、ストレージドライブ２２を介して記録媒体１１から取得されるか、または、ローカルストレージ２４から取得される。これに対して、application_type=7で表されるClip AV Stream Fileは、ローカルストレージ２４から取得され、ストレージドライブ２２を介して記録媒体１１から取得されない。
【０５４８】
そこで、本実施の形態では、PlayListにより参照されるMain TSについてのClipInfo()に記述されているapplication_typeが、application_type=3の場合、そのPlayListはBrowsable Slideshow（非同期型）に分類され、application_type=1or2の場合、そのPlayListはMovie Type/Time-based Slideshow（同期型）に分類されるとする。
【０５４９】
この場合、PlayListの種類（非同期型または同期型）に対する、そのPlayListが持ち得るSubPath（サブパス）の組み合わせは、図５７に示される組み合わせのみ許可する、という制限がサブパス制限手法により課されることになる。
【０５５０】
図５７において、「number of SubPaths」の項目には、PlayListにより示されるMain TSが持ち得る、左方の「SubPath_type」の項目に示される種類のSubPathの個数が記述されている。
【０５５１】
また、図５７における「SubPath_type」の項目の各記述値（SubPath_typeの種類）は、上述した図１１の例の種類ではなく、図４９の例の種類に対応している。
【０５５２】
図５７に示されるように、PlayListの種類が非同期型の場合、即ち、application_type(of Main TS)=3であるBrowsable slideshowの場合、（１）０本以上のSubPath_type=2のSubPath、（２）０本以上のSubPath_type=3のSubPathのみが許可される。換言すると、（１）と（２）以外のSubPathの組み合わせは禁止される。
【０５５３】
また、（２）の組み合わせであっても、application_type=3のMain TSにIGが含まれる場合には、SubPath_type=3のSubPathは禁止される（図５７中＊２参照）。これは、次の制約によるものである。
【０５５４】
即ち、IGの観点に立つと、IGを含むPlayListは、次の第１の種類と第２の種類に大別される。第１の種類とは、参照されるMain TSにIGが多重化されていて、そのMain TSのAudio/VideoとIGが同期再生される、という種類をいう。第２の種類とは、SubPath_type=3のSubPathを含み、IGはプリロードされる（このIGはポップアップメニューに使われる）、という種類をいう。なお、この第２の種類のPlayListを再生可能とするために、上述したように、図５３の再生装置４０１にはプリロード用バッファ４１４が設けられているのである。
【０５５５】
また、本実施の形態の再生装置はIGデコーダを1つしか有しないため、具体的には、例えば、図５３の再生装置４０１はインタラクティブグラフィックスデコーダ７４を1つしか有しないため、次の制限が課せられている。即ち、上述した第１の種類のPlayListでは、IGデコーダがMain TSのIGをデコード中に、別のIGをプリロードできない、という制限が課せられている。一方、上述した第２のPlayListでは、IGデコーダ中にプリロードされた第１のIGが入力されている状態のとき、別のMain TSからの第２のIGをIGデコーダへ入力できない、という制限が課せられている。
【０５５６】
以上のことから、Main TSに多重化されているIGを参照するSTN_table()を含むPlayListは、SubPath_type=3のSubPathを持てないという制約が課せられることになる。かかる制約のため、application_type=3のMainTSにIGが含まれる場合には、SubPath_type=3のSubPathは禁止される、としたのである（図５７中＊２参照）。
【０５５７】
一方、PlayListの種類が同期型の場合、即ち、application_type(of Main TS)=1 or 2であるMovie Type/Time-based Slideshowの場合、(３)０本以上のSubPath_type=3のSubPath、（４）０本以上のSubPath_type=4のSubPath、（５）０本以上のSubPath_type=5のSubPath、（６）０本以上のSubPath_type=6のSubPath、（７）０本または1本のSubPath_type=７のSubPathのみが許可される。換言すると、SubPath_type=2のSubPathの組み合わせは禁止される。
【０５５８】
また、（３）の組み合わせであっても、application_type=3のMainTSにIGが含まれる場合、または、SubPath_type=5のSubPathが参照するTSにIGが含まれる場合には、SubPath_type=3のSubPathは禁止される（図５７中＊１参照）。これも、上述した制約によるものである。
【０５５９】
さらに、本実施の形態では、上述したように、PlayListが一度に参照することができるClipの数、すなわち、再生装置が一度に読み出すことが可能なＴＳは、多くても２つとされている。そこで、同一のPlayListにより参照されるESが多くても２つのClipに含まれていること、すなわち、同時に再生されるESは、多くても２つのClip AVストリームファイルから同時に参照されることを保証するために、次に示される条件を満たすという制限が、サブパス制限手法により課せられている。
【０５６０】
即ち、サブパス制限手法により課せられている、STN_table（）によって参照される、primary_video_stream、 primary_audio_stream、 Text subtitle stream以外のPG_textST_stream、 IG for Pop-up menu 以外のIG_stream、,secondary_video_stream、および、secondary_audio_streamのそれぞれを組み合わせる時の条件とは、次の通りである。
【０５６１】
ある値のprimary_video_stream_numberで特定されるES、 ある値のprimary_audio_stream_number で特定されるES、 ある値のPG_textST_stream_numberで特定されるES、ある値のIG_stream_number valueで特定されるES、ある値の secondary_video_stream_number で特定されるES、ある値のsecondary_audio_stream_number で特定されるESにおいて、同時に再生可能である組み合わせは、多くても２つのPlayListによって同時に参照されるClip AVストリームファイルに格納されている必要がある。
【０５６２】
なお、STN_table（）によって参照されるESは、3本以上のClip AVストリームファイルに格納されていてもよいが、同時に再生可能であるESは、そのうちの多くても２つのClip AVストリームファイルに格納されるようになされている。
【０５６３】
また、PlayList内にあるPlayItem（MainPath）とSubPathの数の組み合わせは、図５８に示されるように、次の（ａ）乃至（ｃ）のうちのいずれかの組み合わせである必要がある、という制限もサブパス制限手法により課せられている。即ち、（ａ）の組み合わせとは、1つのPlayItemのみの組み合わせ（図５８中、一番上の行の組み合わせ）をいう。（ｂ）の組み合わせとは、1つのPlayItemと1つのSubPathとの組み合わせ（図５８中、中央の行の組み合わせ）をいう。（ｃ）の組み合わせとは、1つのPlayItemと1つSubPathと1つのSubPath_type=7のSubPathとの組み合わせ、即ち、1つのPlayItemと２つSubPath（ただし、そのうちの１つのSubPath_type=7であること）との組み合わせ（図５８中、一番下の行の組み合わせ）をいう。
【０５６４】
以上説明した各種制限による結果として、所定の種類のPlayListについて作成可能なSubPath_typeを制限する、といった手法が、サブパス制限手法の一例である。
【０５６５】
換言すると、サブパス制限手法とは、PlayListの種類（上述した例では、Main TSのapplication_typeで区別される種類）、再生装置が一度に読み出すことが可能なＴＳの数（上述した例では２つ）、および、PlayListのサブパス(SubPath)で参照されるＥＳにプリロードされるIGが含まれているか否か（上述した例ではSubPath_type=3等のSubPathであるか否か）といった条件（制限）が存在し、これらの条件を満たすように、そのPlayListに含めるSubPathを決定する、ひいては、そのようにして決定したSubPathを含むPlayListを作成する、といった手法であるともいえる。
【０５６６】
以下、図５９乃至図６２を参照して、かかるサブパス制限手法により作成されたPlayListの具体例について説明する。
【０５６７】
図５９は、Browsable Slideshow（非同期型）のPlayListであって、SubPath_type=3のSubPathが存在しない場合のPlayList、即ち、SubPath_type=2のSub_Path-1乃至Sub_Path-3のみが存在する場合のPlayListの一例を示している。なお、SubPath_type=3のSubPathが存在しない理由は、PlayListのPlayItem−1／PlayItem−2が参照しているClip AVストリームファイル-0（すなわち、Main TS）にIGが含まれているためである。なお、この例は、複数の静止画をユーザ操作によって連続して表示していくBrowsable Slideshowを表しているため、Clip AVストリームファイル-０に含まれる、「video」のストリームは、静止画データを保持している。
【０５６８】
図５９の例のPlayListを作成するために利用された制限（条件）の内容は次の通りである。即ち、図５７を用いて上述した、「（１）０本以上のSubPath_type=2のSubPath、（２）０本以上のSubPath_type=3のSubPathのみを許可する」という制限と、「（１）と（２）以外のSubPathの組み合わせは禁止する」という制限と、「（２）の組み合わせであっても、application_type=3のMainTSにIGが含まれる場合には、SubPath_type=3のSubPathは禁止される（図５７中＊２参照）」という制限とが利用されて、図５９の例のPlayListが作成されている。
【０５６９】
このような図５９の例に対して、図６０は、Browsable Slideshow（非同期型）のPlayListであって、SubPath_type=3のSubPathが存在する場合のPlayList、即ち、SubPath_type=2のSub_Path−1，2に加えてさらに、SubPath_type=3のSub_Path−3が存在する場合のPlayListの一例を示している。なお、SubPath_type=3のSubPathが存在する理由は、PlayListのPlayItem−1/PlayItem−2が参照しているMain-STのClip AVストリームファイル-0にIGが含まれていない、即ち、SubPath_type=3のSubPathにより、Clip AVストリームファイル-0とは異なるClip AVストリームファイル−3のIGを参照するためである。
【０５７０】
図６０の例のPlayListを作成するために利用された制限（条件）の内容は、図５９の例の上述した制限内容と同一である。
【０５７１】
換言すると、図５７中＊２で示される制限、即ち、「（２）の組み合わせであっても、application_type=3のMainTSにIGが含まれる場合には、SubPath_type=3のSubPathは禁止される」という制限を課す必要がある場合のPlayListの例が、図５９の例であり、そのような制限を課す必要がない場合のPlayListの例が、図６０の例である。
【０５７２】
このように、図５９と図６０は、Browsable Slideshow（非同期型）のPlayListの例を示している。これに対して、図６１と図６２は、Movie Type / Time-based Slideshow（同期型）のPlayListの例を示している。
【０５７３】
即ち、図６１は、同期型のPlayListのうちの、セカンダリビデオストリーム（2ndVideo）とセカンダリオーディオストリーム（2ndAudio）とがMain TS(すなわち、Clip AVストリームファイル-0)に多重化されていない場合のPlayListであって、SubPath_type=6のSub_Path-1,2が存在する場合のPlayListの一例を示している。
【０５７４】
図６１の例のPlayListを作成するために利用された制限（条件）の内容は次の通りである。即ち、図５７を用いて上述した、「（６）０本以上のSubPath_type=6のSubPathを許可する」という制限が利用されて、図６１の例のPlayListが作成されている。
【０５７５】
このような図６１の例に対して、図６２は、同期型のPlayListにより参照されるMainTSすなわちClip AVストリームファイル-０が、MainSTとSubSTとを含み、、セカンダリビデオストリーム（2ndVideo）とセカンダリオーディオストリーム（2ndAudio）がMain TSを構成するClip AVストリームファイル-0に SubSTとして多重化されている場合のPlayListであって、それゆえ、SubPath_type=7のSub_Path-1が存在し、さらに、SubPath_type=5のSub_Path-2,3が存在する場合のPlayListの一例を示している。
【０５７６】
図６２の例のPlayListを作成するために利用された制限（条件）の内容は次の通りである。即ち、図５７を用いて上述した、「（５）０本以上のSubPath_type=5のSubPathを許可する」という制限と、「（７）０本のSubPathとSubPath_type=７のSubPathを許可する」という制限とが利用されて、図６２の例のPlayListが作成されている。
【０５７７】
また、以上説明したようなサブパス制限手法により作成されたPlayListも、例えば図５３の再生装置４０１により再生可能とされている。
【０５７８】
例えば、非同期型のPlayListの場合、即ち、application_type=3であるBrowsable slideshowのPlayListの場合、再生装置４０１は、そのPlayListを次のようにして再生することができる。即ち、再生装置４０１は、PlayListが1本以上のSubPath_type=3(Interactive graphics presentation menu)のSubPathsを参照している場合、SubPath_type=3用のClip AVストリーム、即ち、インタラクティブグラフィックスストリームをPlayListの再生前にプリロードして、プリロード用バッファ４１４に蓄積させる。また、再生装置４０１は、PlayListが1本以上のSubPath_type=2のSubPathを参照している場合、1つずつしかSubPathを参照できないので（一度に読み出すことが可能なTSは２つであり、そのうちの１つはMainPathにより参照されるMainTSであるので）、SubPath_type=2の1以上のSubPathのうちの所定の１つを参照して再生する。
【０５７９】
なお、Interactive graphics presentation menuには、ユーザによるON/OFFの操作入力を基に、表示させたり、表示を取り消したりすることが可能な“Pop-up menu”と、常時表示される“Always-on”の２種類の表示方法が用意されており、application_type=3のPlayListの再生処理の詳細例については、図６３，図６４を参照して後述する。
【０５８０】
また、例えば同期型のPlayListの場合、即ち、application_type=1or2であるMovie Type/Time-based SlideshowのClipを含むPlayListの場合、再生装置４０１は、そのPlayListを次のようにして再生することができる。即ち、再生装置４０１は、PlayListが1本以上のSubPath_type=3またはSubPath_type=4のSubPathを参照している場合、SubPath_type=3またはSubPath_type=4用のClip AVストリーム、即ち、インタラクティブグラフィックスストリームまたはテキストサブタイトルストリームをPlayListの再生前にプリロードして、プリロード用バッファ４１４またはバッファ５４に蓄積させる。また、再生装置４０１は、PlayListが1本以上SubPath_type=5or6のSubPathを参照している場合、Playerは1つずつしかSubPathを参照できないので（一度に読み出すことが可能なTSは２つであり、そのうちの１つはMainPathにより参照されるMainTSであるので）、SubPath_type=5 or 6の1以上のSubPathのうちの所定の１つを参照して再生する。ただし、SubPath_type=7のSubPathが1以上含まれている場合には、そのSubPathはMain TSに含まれるESを参照しているので、再生装置４０１は、SubPath_type=5 or 6の1以上のSubPathのうちの所定の１つを参照して再生している最中に、さらに、SubPath_type=7の1つのSubPathを参照して再生することができる。
【０５８１】
なお、application_type=1or２のPlayListの再生処理の詳細例については、図６５乃至図６８を参照して後述する。
【０５８２】
次に、図６３および図６４のフローチャートを参照して、application_type=3のClipを含むPlayListの再生処理の一例について説明する。
【０５８３】
例えば、図５３のコントローラ２１は、再生対象のPlayListのMainPathで参照されるClip_informationファイル中のclipinfo()に含まれるのapplication_typeを調査し、その調査によりapplication_type=3であることを認識した場合、application_type=3のPlayListの再生処理を開始させる。
【０５８４】
図６３のステップＳ１２１において、コントローラ２１は、Main TSはIG（インタラクティブグラフィックスストリーム）を含むか否かを判定する。
【０５８５】
ステップＳ１２１において、Main TSはIGを含まないと判定された場合、処理は図６４のステップＳ１２６に進む。ただし、ステップＳ１２６以降の処理については後述する。
【０５８６】
これに対して、ステップＳ１２１において、Main TSはIGを含むと判定された場合、処理はステップＳ１２２に進む。
【０５８７】
ステップＳ１２２において、コントローラ２１は、SubPath_type=3のSub Pathは存在するか否かを判定する。
【０５８８】
ステップＳ１２２において、SubPath_type=3のSub Pathは存在しないと判定された場合、処理は図６４のステップＳ１２６に進む。ただし、ステップＳ１２６以降の処理については後述する。
【０５８９】
これに対して、ステップＳ１２２において、SubPath_type=3のSub Pathは存在すると判定された場合、処理はステップＳ１２３に進む。ステップＳ１２３において、コントローラ２１は、選択されたSub Path（SubPath_type=3のSub Path）が参照するClipを調べる。
【０５９０】
そして、コントローラ２１は、そのClipから、Sub Pathにより特定されるストリーム、すなわち、IGを読み出すようストレージドライブ２２に指示する。ストレージドライブ２２は、この指示に基づいて、対象となるIGを読み出す。または、コントローラ２１は、ローカルストレージ２４から対象となるIGを読み出す。そして、コントローラ２１は、読み出されたIGを、インタラクティブグラフィックスデコーダ７４にデコードさせるように指示する。これにより処理はステップＳ１２４に進む。
【０５９１】
ステップＳ１２４において、インタラクティブグラフィックスデコーダ７４は、読み出されたIGをデコードする。そして、ステップＳ１２５において、インタラクティブグラフィックスデコーダ７４は、デコードされたIGをプリロード用バッファ４１４に格納する。
【０５９２】
このようにしてステップＳ１２５の処理が終了したとき、または、上述したようにステップＳ１２１若しくはＳ１２２の処理でＮＯであると判定されたとき、処理は図６４のステップＳ１２６に進む。
【０５９３】
ステップＳ１２６において、コントローラ２１は、SubPath_type=2のSub Pathは存在するか否かを判定する。
【０５９４】
ステップＳ１２６において、SubPath_type=2のSub Pathは存在しないと判定された場合、処理はステップＳ１２９に進む。ただし、ステップＳ１２９以降の処理については後述する。
【０５９５】
これに対して、ステップＳ１２６において、SubPath_type=2のSub Pathは存在すると判定された場合、処理はステップＳ１２７に進む。ステップＳ１２７において、コントローラ２１は、選択されたSubPath（SubPath_type=2のSub Path）が参照するClipを調べる。
【０５９６】
そして、コントローラ２１は、そのClipからSubPathにより特定されるストリーム、すなわち、オーディオストリームを読み出すようストレージドライブ２２に指示する。ストレージドライブ２２は、この指示に基づいて、対象となるオーディオストリームを読み出す。または、コントローラ２１は、ローカルストレージ２４から対象となるオーディオストリームを読み出す。そして、コントローラ２１は、読み出されたオーディオストリームを、例えば2ndオーディオデコーダ７５−２にデコードさせるように指示する。これにより処理はステップＳ１２８に進む。
【０５９７】
ステップＳ１２８において、2ndオーディオデコーダ７５−２は、読み出されたオーディオストリームをデコードする。
【０５９８】
このようにして、ステップＳ１２８の処理が終了したとき、または、ステップＳ１２６の処理でＮＯであると判定されたとき、処理はステップＳ１２９に進む。
【０５９９】
ステップＳ１２９において、AVデコーダ部４０３は、メインClip AV Streamをデコードする。ここで、メインClip AV Streamとは、再生対象のPlaylistのMainPathにより参照されるビデオストリームやオーディオストリーム等のことであり、Main TSに含まれている。即ち、AVデコーダ部４０３のうちの、1stビデオデコーダ７２や1stオーディオデコーダ７５−１等が、このステップＳ１２９の処理を実行する。
【０６００】
ステップＳ１３０において、AVデコーダ部４０３は、デコードされたメインClip AV Streamと、デコードされたSubPathストリームを合成し、出力する。ここで、デコードされたSubPathストリームとは、図６３のステップＳ１２４の処理でデコードされてステップＳ１２５の処理でプリロード用バッファ４１４に格納されたIGや、図６４のステップＳ１２８の処理でデコードされたオーディオストリームのことをいう。
【０６０１】
ステップＳ１３１において、コントローラ２１は、ステップＳ１３０の処理で合成されたストリームを出力中に、SubPath_type=2のSubPathの切り替え指示（ユーザの切り替え操作）があったか否かを判定する。
【０６０２】
ステップＳ１３１において、合成されたストリームを出力中に、SubPath_type=2のSubPathの切り替え指示があったと判定された場合、処理はステップＳ１２７に戻され、それ以降の処理が繰り返される。即ち、メインClip AV Streamと合成されるオーディオストリームが切り替えられる。
【０６０３】
これに対して、ステップＳ１３１において、合成されたストリームを出力中に、SubPath_type=2のSubPathの切り替え指示がなかったと判定された場合、application_type=3のPlayListの再生処理が終了となる。
【０６０４】
次に、図６５乃至図６８のフローチャートを参照して、application_type=1or2のClipを含むPlayListの再生処理の一例について説明する。
【０６０５】
例えば、図５３のコントローラ２１は、再生対象のPlayListのMainPathで参照されるClipのapplication_typeを調査し、その調査の結果、application_type=1or2であることを認識した場合、application_type=1or2のPlayListの再生処理を開始させる。
【０６０６】
図６５のステップＳ１４１において、コントローラ２１は、Main TSはIG（インタラクティブグラフィックスストリーム）を含むか否かを判定する。
【０６０７】
ステップＳ１４１において、Main TSはIGを含まないと判定された場合、処理はステップＳ１４６に進む。ただし、ステップＳ１４６以降の処理については後述する。
【０６０８】
これに対して、ステップＳ１４１において、Main TSはIGを含むと判定された場合、処理はステップＳ１４２に進む。
【０６０９】
ステップＳ１４２において、コントローラ２１は、SubPath_type=3のSub Pathは存在するか否かを判定する。
【０６１０】
ステップＳ１４２において、SubPath_type=3のSub Pathは存在しないと判定された場合、処理はステップＳ１４６に進む。ただし、ステップＳ１４６以降の処理については後述する。
【０６１１】
これに対して、ステップＳ１４２において、SubPath_type=3のSub Pathは存在すると判定された場合、処理はステップＳ１４３に進む。ステップＳ１４３において、コントローラ２１は、選択されたSubPath（SubPath_type=3のSub Path）が参照するClipを調べる。
【０６１２】
そして、コントローラ２１は、そのClipから、SubPathにより特定されるストリーム、すなわち、IGを読み出すようストレージドライブ２２に指示する。ストレージドライブ２２は、この指示に基づいて、対象となるIGを読み出す。または、コントローラ２１は、ローカルストレージ２４から対象となるIGを読み出す。そして、コントローラ２１は、読み出されたIGを、インタラクティブグラフィックスデコーダ７４にデコードさせるように指示する。これにより処理はステップＳ１４４に進む。
【０６１３】
ステップＳ１４４において、インタラクティブグラフィックスデコーダ７４は、読み出されたIGをデコードする。そして、ステップＳ１４５において、インタラクティブグラフィックスデコーダ７４は、デコードされたIGをプリロード用バッファ４１４に格納する。
【０６１４】
このようにしてステップＳ１４５の処理が終了したとき、または、上述したようにステップＳ１４１若しくはＳ１４２の処理でＮＯであると判定されたとき、処理はステップＳ１４６に進む。
【０６１５】
ステップＳ１４６において、コントローラ２１は、SubPath_type=4のSub Pathは存在するか否かを判定する。
【０６１６】
ステップＳ１４６において、SubPath_type=4のSub Pathは存在しないと判定された場合、処理は図６６のステップＳ１４９に進む。ただし、ステップＳ１４９以降の処理については後述する。
【０６１７】
これに対して、ステップＳ１４６において、SubPath_type=4のSub Pathは存在すると判定された場合、処理はステップＳ１４７に進む。ステップＳ１４７において、コントローラ２１は、選択されたSubPath（SubPath_type=4のSub Path ）が参照するClipを調べる。
【０６１８】
そして、コントローラ２１は、そのClipから、SubPathにより特定されるストリーム、すなわち、デキストサブタイトルストリームを読み出すようストレージドライブ２２に指示する。ストレージドライブ２２は、この指示に基づいて、対象となるデキストサブタイトルストリームを読み出す。または、コントローラ２１は、ローカルストレージ２４から対象となるデキストサブタイトルストリームを読み出す。そして、コントローラ２１は、読み出されたデキストサブタイトルストリームを、Text-STコンポジション７６にデコードさせるように指示する。これにより処理はステップＳ１４８に進む。
【０６１９】
ステップＳ１４８において、Text-STコンポジション７６は、読み出されたテキストサブタイトルをデコードする。
【０６２０】
このようにしてステップＳ１４８の処理が終了したとき、または、上述したステップＳ１４６の処理でＮＯであると判定されたとき、処理は図６６のステップＳ１４９に進む。
【０６２１】
ステップＳ１４９において、コントローラ２１は、SubPath_type=7のSub Pathは存在するか否かを判定する。
【０６２２】
ステップＳ１４９において、SubPath_type=7のSub Pathは存在しないと判定された場合、処理は図６７のステップＳ１５２に進む。ただし、ステップＳ１５２以降の処理については後述する。
【０６２３】
これに対して、ステップＳ１４９において、SubPath_type=7のSub Pathは存在すると判定された場合、処理はステップＳ１５０に進む。ステップＳ１５０において、コントローラ２１は、選択されたSubPath（SubPath_type=7のSub Path ）が参照するClipを調べる。
【０６２４】
そして、コントローラ２１は、そのClipから、SubPathにより特定されるストリーム、すなわち、ビデオ／オーディオストリームを読み出すようストレージドライブ２２に指示する。ストレージドライブ２２は、この指示に基づいて、対象となるビデオ／オーディオストリームを読み出す。または、コントローラ２１は、ローカルストレージ２４から対象となるビデオ／オーディオストリームを読み出す。そして、コントローラ２１は、読み出されたビデオ／オーディオストリームを、例えば2ndビデオデコーダ４１２／2ndオーディオデコーダ７５−２にデコードさせるように指示する。これにより処理はステップＳ１５１に進む。
【０６２５】
ステップＳ１５１において、2ndビデオデコーダ４１２／2ndオーディオデコーダ７５−２は、読み出されたビデオ/オーディオストリームをデコードする。
【０６２６】
このようにしてステップＳ１５１の処理が終了したとき、または、上述したステップＳ１４９の処理でＮＯであると判定されたとき、処理は図６７のステップＳ１５２に進む。
【０６２７】
ステップＳ１５２において、コントローラ２１は、SubPath_type=5のSub Pathは存在するか否かを判定する。
【０６２８】
ステップＳ１５２において、SubPath_type=5のSub Pathは存在しないと判定された場合、処理はステップＳ１５６に進む。ただし、ステップＳ１５６以降の処理については後述する。
【０６２９】
これに対して、ステップＳ１５２において、SubPath_type=5のSub Pathは存在すると判定された場合、処理はステップＳ１５３に進む。ステップＳ１５３において、コントローラ２１は、選択されたSubPath（SubPath_type=5のSub Path）が参照するClipを調べる。
【０６３０】
ステップＳ１５４において、コントローラ２１は、stream_attribute()（図１８）に記述されている内容に基づいて、そのClip内にあるオーディオストリームを再生する機能はあるか否かを判定する。
【０６３１】
ステップＳ１５４において、Clip内にあるオーディオストリームを再生する機能は無いと判定された場合、処理はステップＳ１５６に進む。ただし、ステップＳ１５６以降の処理については後述する。
【０６３２】
これに対して、ステップＳ１５４において、Clip内にあるオーディオストリームを再生する機能はあると判定した場合、コントローラ２１は、そのClipから、SubPathによって特定されるストリーム、すなわち、オーディオストリームを読み出すように、ストレージドライブ２２に指示する。ストレージドライブ２２は、この指示に基づいて、対象となるオーディオストリームを読み出す。または、コントローラ２１は、ローカルストレージ２４から対象となるオーディオストリームを読み出す。そして、コントローラ２１は、読み出されたオーディオストリームを、例えば2ndオーディオデコーダ７５−２にデコードさせるように指示する。これにより処理はステップＳ１５５に進む。
【０６３３】
ステップＳ１５５において、2ndオーディオデコーダ７５−２は、読み出されたオーディオストリームをデコードする。
【０６３４】
このようにしてステップＳ１５５の処理が終了したとき、または、上述したステップＳ１５２若しくはＳ１５４の処理でＮＯであると判定されたとき、処理はステップＳ１５６に進む。
【０６３５】
ステップＳ１５６において、コントローラ２１は、SubPath_type=6のSub Pathは存在するか否かを判定する。
【０６３６】
ステップＳ１５６において、SubPath_type=6のSub Pathは存在しないと判定された場合、処理は図６８のステップＳ１６１に進む。ただし、ステップＳ１６１以降の処理については後述する。
【０６３７】
これに対して、ステップＳ１５６において、SubPath_type=6のSub Pathは存在すると判定された場合、処理はステップＳ１５７に進む。ステップＳ１５７において、コントローラ２１は、選択されたSubPath（SubPath_type=6のSub Path）が参照するClipを調べる。
【０６３８】
ステップＳ１５８において、コントローラ２１は、stream_attribute()（図１８）に記述されている内容に基づいて、そのClip内にあるオーディオストリームを再生する機能はあるか否かを判定する。
【０６３９】
ステップＳ１５８において、Clip内にあるオーディオストリームを再生する機能は無いと判定された場合、コントローラ２１は、そのClipから、SubPathによって特定されるストリームのうちの、ビデオストリームを読み出すようストレージドライブ２２に指示する。ストレージドライブ２２は、この指示に基づいて、対象となるビデオストリームを読み出す。または、コントローラ２１は、ローカルストレージ２４から対象となるビデオストリームを読み出す。ただし、この場合、コントローラ２１は、オーディオストリームのデコードの禁止を指示し、かつ、読み出されたビデオストリームを、例えば2ndビデオデコーダ４１２にデコードさせるように指示する。これにより処理はステップＳ１６０に進む。ただし、ステップＳ１６０以降の処理については後述する。
【０６４０】
これに対して、ステップＳ１５８において、Clip内にあるオーディオストリームを再生する機能はあると判定した場合、コントローラ２１は、そのClipから、SubPathによって特定されるストリーム、すなわち、ビデオストリームおよびオーディオストリームを読み出すようストレージドライブ２２に指示する。ストレージドライブ２２は、この指示に基づいて、対象となるビデオストリームおよびオーディオストリームを読み出す。そして、コントローラ２１は、読み出されたオーディオストリームを、例えば2ndオーディオデコーダ７５−２にデコードさせるように指示し、かつ、読み出されたビデオストリームを、例えば2ndビデオデコーダ４１２にデコードさせるように指示する。これにより処理はステップＳ１５９に進む。
【０６４１】
ステップＳ１５９において、2ndオーディオデコーダ７５−２は、読み出されたオーディオストリームをデコードする。
【０６４２】
このようにしてステップＳ１５９の処理が終了したとき、または、上述したステップＳ１５８の処理でＮＯであると判定されたとき、処理はステップＳ１６０に進む。
【０６４３】
ステップＳ１６０において、2ndビデオデコーダ４１２は、読み出されたビデオストリームをデコードする。
【０６４４】
このようにしてステップＳ１６０の処理が終了したとき、または、上述したステップＳ１５６の処理でＮＯであると判定されたとき、処理は図６８のステップＳ１６１に進む。
【０６４５】
ステップＳ１６１において、AVデコーダ部４０３は、メインClip AV Streamをデコードする。ここで、メインClip AV Streamとは、再生対象のPlaylistのMainPathにより参照されるビデオストリームやオーディオストリーム等のことであり、Main TSに含まれている。メインClip AV Streamとは、例えば、ピクチャインピクチャ手法では、プライマリビデオストリームやプライマリオーディオストリーム等のことをいう。即ち、AVデコーダ部４０３のうちの、1stビデオデコーダ７２や1stオーディオデコーダ７５−１等が、このステップＳ１６１の処理を実行する。
【０６４６】
ステップＳ１６２において、AVデコーダ部４０３は、デコードされたメインClip AV Streamと、デコードされたSubPathストリームを合成し、出力する。ここで、デコードされたSubPathストリームとは、図６５のステップＳ１４４の処理でデコードされてステップＳ１４５の処理でプリロード用バッファ４１４に格納されたIG、図６５のステップＳ１４８の処理でデコードされたテキストサブタイトル、図６６のステップＳ１５１の処理でデコードされたオーディオストリーム、図６７のステップＳ１５５の処理でデコードされたオーディオストリーム、図６６のステップＳ１５９の処理でデコードされたオーディオストリーム、および、図６６のステップＳ１６０の処理でデコードされたビデオストリームのうちの０以上のSubPathストリームのことをいう。
【０６４７】
ステップＳ１６３において、コントローラ２１は、ステップＳ１６２の処理で合成されたストリームを出力中にSubPathの切り替え指示（ユーザの切り替え操作）があったか否かを判定する。
【０６４８】
ステップＳ１６３において、合成されたストリームを出力中にSubPathの切り替え指示が無かったと判定された場合、application_type=1or2のPlayListの再生処理が終了となる。
【０６４９】
これに対して、ステップＳ１６３において、合成されたストリームを出力中にSubPathの切り替え指示が有ったと判定された場合、処理はステップＳ１６４に進む。
【０６５０】
ステップＳ１６４において、コントローラ２１は、その切り替え指示により選択されたSubPathのSubPath_typeを調べる。具体的には、STN_tableに定義されている１以上のsecondary_audio_stream（audio_stream_id2）またはsecondary_video_stream（video_stream_id2）から、特定のsecondary audio _streamまたはsecondary video _streamが選択された場合、STN_tableを基にその特定のsecondary audio _streamまたはsecondary video _streamに対応するstream entryが調べられて、このstream entryに記録されているref_to_SubPath_idからsubpath_idが取得され、このsubpath_idにより図９のPlayList()のSubpathが特定されて、図１０のSubPath()により、Subpath_typeが取得される。
【０６５１】
ステップＳ１６５において、コントローラ２１は、ステップＳ１６４の調査結果がSubPath_type=3であるか否かを判定する。
【０６５２】
ステップＳ１６５において、SubPath_type=3であると判定された場合、処理は図６５のステップＳ１４３に戻され、処理が繰り返される。即ち、メインClip AV Streamと合成されるIGが切り替えられる。
【０６５３】
これに対して、ステップＳ１６５において、SubPath_type=3ではないと判定された場合、処理はステップＳ１６６に進む。
【０６５４】
ステップＳ１６６において、コントローラ２１は、ステップＳ１６４の調査結果がSubPath_type=4であるか否かを判定する。
【０６５５】
ステップＳ１６６において、SubPath_type=4であると判定された場合、処理は図６５のステップＳ１４７に戻され、処理が繰り返される。即ち、メインClip AV Streamと合成されるテキストサブタイトルが切り替えられる。
【０６５６】
これに対して、ステップＳ１６６において、SubPath_type=4ではないと判定された場合、処理はステップＳ１６７に進む。
【０６５７】
ステップＳ１６７において、コントローラ２１は、ステップＳ１６４の調査結果がSubPath_type=7であるか否かを判定する。
【０６５８】
ステップＳ１６７において、SubPath_type=7であると判定された場合、処理は図６６のステップＳ１５０に戻され、処理が繰り返される。即ち、メインClip AV Streamと合成されるビデオ／オーディオストリームが切り替えられる。
【０６５９】
これに対して、ステップＳ１６７において、SubPath_type=7ではないと判定された場合、処理はステップＳ１６８に進む。
【０６６０】
ステップＳ１６８において、コントローラ２１は、ステップＳ１６４の調査結果がSubPath_type=5であるか否かを判定する。
【０６６１】
ステップＳ１６８において、SubPath_type=5であると判定された場合、処理は図６７のステップＳ１５３に戻され、処理が繰り返される。即ち、メインClip AV Streamと合成されるオーディオストリームが切り替えられる。
【０６６２】
これに対して、ステップＳ１６８において、SubPath_type=5ではないと判定された場合、処理はステップＳ１６９に進む。
【０６６３】
ステップＳ１６９において、コントローラ２１は、ステップＳ１６４の調査結果がSubPath_type=6であるか否かを判定する。
【０６６４】
ステップＳ１６９において、SubPath_type=6であると判定された場合、処理は図６７のステップＳ１５７に戻され、処理が繰り返される。即ち、メインClip AV Streamと合成されるオーディオストリームやビデオストリームが切り替えられる。
【０６６５】
これに対して、ステップＳ１６９において、SubPath_type=6ではないと判定された場合、application_type=1or2のPlayListの再生処理が終了となる。
【０６６６】
以上説明したように、ピクチャインピクチャ手法を適用するアプリケーションを実現するためには、例えば、プライマリビデオストリームと組み合わせて同時再生され得るストリームの組み合わせの定義、即ち、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせの定義が必要となる。
【０６６７】
さらに、複数の組み合わせを定義することで、全画面３０１に再生されるプライマリビデオストリームやプライマリオーディオスオストリームの切り替えのみならず、子画面３０２に再生されるセカンダリビデオストリームの切り替えや、サブタイトルストリームの切り替えも容易に行えるようになる。
【０６６８】
図４４と図４５を用いて説明したような、プライマリビデオストリームと組み合わせて同時再生され得るストリームの組み合わせを定義するSTN_tableの異なる例、すなわち、第８のSTN_tableの例を、図６９および図７０を用いて説明する。
【０６６９】
即ち、図６９と図７０とは、プライマリビデオストリームと組み合わせて同時再生され得る、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義するにあたって、特に、セカンダリオーディオストリームとプライマリオーディオストリームとの組み合わせ、セカンダリビデオストリームとセカンダリオーディオストリームとの組み合わせ、セカンダリビデオストリームとピクチャインピクチャアプリケーション用のプレゼンテーショングラフィックス（ＰＧ）またはテキスト字幕の組み合わせを定義する場合のSTN_table()のシンタクスの第８の例（第8のSTN_table()）の例を示す図である。第8のSTN_table()を参照して実行される再生処理も、図５２を用いて説明した再生装置４０１において実行可能である。なお、図中、上述した図４４および図４５と同一の部分については、繰り返しになるのでその説明は省略する。
【０６７０】
number_of_audio_stream2_entriesの８ビットのフィールドは、STN_tableに登録されるセカンダリオーディオの数を示す。
【０６７１】
セカンダリビデオストリームの数は、audio_stream2_number＝audio_stream2_id＋1によって求められる。
【０６７２】
number_of_video_stream2_entriesの８ビットのフィールドは、STN_tableに登録されるセカンダリビデオの数を示す。
【０６７３】
セカンダリビデオストリームの数は、video_stream2_number＝video_stream2_id＋1によって求められる。
【０６７４】
また、各video_stream2_idのstream_entry()ブロックは、typeフィールドが２に設定されていなければならない。
【０６７５】
そして、number_of_PiP_PG_textST_stream_entriesの８ビットのフィールドは、STN_tableに登録されるPiPアプリケーション用のPG・テキスト字幕のストリームの数を示す。
【０６７６】
PIPアプリケーション用のPG（プレゼンテーショングラフィックス）または、テキスト字幕のストリームの数は、PiP_PG_textST_stream_number＝PiP_PG_textST_stream_id＋1によって求められる。
【０６７７】
そして、comb_info_Secondary_audio_Primary_audio()のブロックは、セカンダリオーディオとプライマリオーディオの組み合わせを示す。
【０６７８】
comb_info_Secondary_audio_Primary_audio()のブロック内において、number_of_audio_stream_ref_entriesの８ビットのフィールドは、セカンダリオーディオストリームと組み合わせることが出来るプライマリオーディオストリームの数を示す。そして、audio_stream_id_refの８ビットのフィールドは、セカンダリオーディオストリームと組み合わせることが出来るプライマリオーディオストリームのIDを示す。
【０６７９】
次に、comb_info_Secondary_video_Secondary_audio()のブロックは、セカンダリビデオストリームとセカンダリオーディオストリームの組み合わせを示す。
【０６８０】
comb_info_Secondary_video_Secondary_audio()のブロック内において、number_of_audio_stream2_ref_entriesの８ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るセカンダリオーディオストリームの数を示す。そして、audio_stream_id2_refの８ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るセカンダリオーディオストリームのIDを示す。
【０６８１】
そして、comb_info_Secondary_video_PiP_PG_textST()のブロックは、セカンダリビデオストリームとピクチャインピクチャアプリケーション用のPG・テキスト字幕のストリームの組み合わせを示す。
【０６８２】
comb_info_Secondary_video_PiP_PG_textST()のブロック内において、number_of_PiP_PG_textST_ref_entriesの８ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るPIPアプリケーション用のPG・テキスト字幕のストリームの数を示す。また、PiP_PG_textST_stream_id_refの８ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るピクチャインピクチャアプリケーション用のPG・テキスト字幕のストリームのIDを示す。
【０６８３】
なお、図３５、図４１、図４２、または、図４４および図４５を参照して説明した場合と同様に、各ＩＤの代わりに各番号、例えば、audio_stream_idの代わりに、オーディオストリーム番号（audio_stream_number）を用いたり、audio_stream_id2の代わりに、オーディオストリーム番号２（audio_stream_number2）を用いるようにしてもよい。ビデオストリームやサブタイトルストリームについても同様である。
【０６８４】
図６９と図７０によれば、セカンダリオーディオとプライマリオーディオの組み合わせ、セカンダリビデオとセカンダリオーディオの組み合わせ、および、セカンダリビデオとピクチャインピクチャアプリケーション用のPG・テキスト字幕の組み合わせを定義することができる。
【０６８５】
従って、プライマリビデオストリーム（＃１ビデオストリーム）と同時再生され得る、セカンダリビデオストリーム（＃２ビデオストリーム）、プライマリオーディオストリーム（＃１オーディオストリーム）、セカンダリオーディオストリーム（＃２オーディオストリーム）、および、サブタイトルストリーム（PG TextSTストリーム）の組み合わせに加えて、ピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム（PiP PG TextSTストリーム）の組み合わせとして矛盾するような組み合わせを選択することを防ぐようにすることができる。
【０６８６】
また、再生装置４０１においては、再生装置４０１のメモリ２３の書き換え可能なメモリ領域のうちの一部に、複数のレジスタが設けられ、このレジスタに設定される値を基に、再生処理が実行される。
【０６８７】
レジスタのうち、例えば、再生装置４０１が＃２オーディオストリームを再生することが可能か否かが設定されているレジスタの値など、再生装置４０１固有の機能について設定されているものは、その値が変更されることはない。これに対して、レジスタのうちの所定のものの設定は、例えば、ユーザから所定の操作入力を受けた場合、または、ナビゲーションプログラムにより発生されるナビゲーションコマンドにより変更される。
【０６８８】
なお、ナビゲーションコマンドは、ストリームデータとは個別に記録媒体や内部のハードディスク等に記録され、再生装置４０１によってプリロードされ、コントローラ２１に供給されるようになされていてもよいし、ストリームデータに埋め込まれて記録媒体や内部のハードディスク等に記録され、再生装置４０１によってストリームデータが再生されるのに伴ってロードされ、コントローラ２１に供給されるようになされていてもよい。
【０６８９】
レジスタには、再生装置４０１における再生処理に必要な各種設定を示す値が保持されている。レジスタには、例えば、再生装置４０１が再生するサブタイトルストリーム（PG TextSTストリーム）を定義するレジスタ、再生装置４０１が再生するピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム（PiP PG TextSTストリーム）を定義するレジスタ、再生装置４０１が再生可能なサブタイトルストリーム（PG TextSTストリーム）のストリームＩＤを示すレジスタ、再生装置４０１が再生可能なサブタイトルストリーム（PG TextSTストリーム）の言語コード番号（またはＩＤ）を示すレジスタ、初期設定されている言語のＩＤを示すレジスタ、再生装置４０１が再生可能なサブタイトルストリーム（PG TextSTストリーム）に対応する国のコード番号（またはＩＤ）を示すレジスタなどが含まれるものとすると好適である。
【０６９０】
ピクチャインピクチャアプリケーションが起動されたとき、再生装置４０１は、表示の見易さを考慮して、サブタイトルストリーム（PG TextSTストリーム）か、ピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム（PiP PG TextSTストリーム）かのいずれか一方のみしか表示させないようにしてもよいし、サブタイトルストリーム（PG TextSTストリーム）とピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム（PiP PG TextSTストリーム）の両方を表示することができるものとしてもよい。
【０６９１】
図７１を用いて、ピクチャインピクチャアプリケーションが起動されたとき、再生装置４０１がプライマリ（すなわち、ピクチャインピクチャアプリケーション用ではない）のサブタイトルストリーム（PG TextSTストリーム）を再生表示するか否か、および、再生表示する場合はいずれのストリームを再生するかを決定するために参照するレジスタ、ならびに、ピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム（PiP PG TextSTストリーム）を再生表示するか否か、および、再生表示する場合はいずれのストリームを再生するかを決定するために参照されるレジスタについて説明する。
【０６９２】
＃１レジスタは、プライマリのPG TextSTストリームのID番号を示すレジスタである。
すなわち、＃１レジスタは、現在のPlayItemのSTN_tableに登録されているプライマリのPG TextSTの中で、再生されるPG TextSTストリームを示すものである。
【０６９３】
＃１レジスタにおいて、disp_flag(display_flag)の値が０であるとき、プライマリのPG TextSTストリームは表示されず、disp_flagの値が１であるとき、プライマリのPG TextSTストリームは表示される。また、＃１レジスタにおいて、PG TextST stream numberは、現在のPlayItem()のSTN_table()に登録されているプライマリのPG Text STのＩＤ番号である。
【０６９４】
そして、＃２レジスタは、ピクチャインピクチャアプリケーション用のPG TextSTストリームのID番号を示すレジスタである。
【０６９５】
＃２レジスタにおいて、disp_flagの値が０である場合、ピクチャインピクチャアプリケーション用のPG TextSTストリームは表示されず、disp_flagの値が１である場合、ピクチャインピクチャアプリケーション用のPG TextSTストリームは表示される。また、PiP PG TextST stream numberは、現在のPlayItem()のSTN_table()に登録されているピクチャインピクチャアプリケーション用PG TextSTストリームのID番号を示す。そして、invalid_flagの値が０である場合、ピクチャインピクチャアプリケーション用のPG TextSTストリームのID番号は有効であり、１の場合には、無効である。
【０６９６】
なお、PG TextST stream numberに０ｘFFが登録されている場合、PG TextSTストリームが選択されていないか、または、存在しない。そして、PiP PG TextST stream numberに０ｘFFが登録されている場合、ピクチャインピクチャ用のTextSTストリームが選択されていないか、または、存在しない。
【０６９７】
また、PG TextST stream numberまたはPiP PG TextST stream numberに０ｘFF以外が登録されていた場合でもinvalid_flagやdisp_flagの組み合わせによって、表示の有効または無効が決められる。すなわち、＃１レジスタ及び＃２レジスタのdisp _flag=０で表示無効状態のときは、必ず、PG TextST stream numberまたはPiP PG TextST stream numberが０ｘFFに設定されるようになされているのではない。例えば、＃１レジスタまたは＃２レジスタのdisp_flag=0で表示無効状態のときは、PG TextST stream numberまたはPiP PG TextST stream numberに０ｘFF以外が登録されていても、PG TextST stream numberまたはPiP PG TextST stream numberに登録されている値は無視されて、表示されないようになされている。
【０６９８】
これらのレジスタに設定されている値を参照することにより、再生装置４０１においてそれぞれのストリームの再生処理が実行される。
【０６９９】
例えば、再生装置４０１が、ピクチャインピクチャアプリケーションが起動されたときに、サブタイトルストリーム（PG TextSTストリーム）か、ピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム（PiP PG TextSTストリーム）かのいずれか一方のみしか表示させないものとしている場合、＃１レジスタのPG TextST stream numberに設定されている値に対応するプライマリのPG TextSTストリームが再生されるのは、disp_flagの値が１であり、＃２レジスタのinvalid_flagが１に設定されているとき、または、Secondary Videoの表示が無効になっている、すなわち、ピクチャインピクチャ表示が実行されていない場合である。＃１レジスタの値が変更された場合、プライマリのPG TextSTストリームの再生も直ちに変更される。
【０７００】
また、＃１レジスタのPG TextST stream numberに示された値が、PlayItemのSTN_tableに登録されているPG TextSTストリームの番号と一致しなかった場合、再生されるプライマリのPG TextSTストリームは、PG TextSTストリーム自動選択ルーチンにより選択される。
【０７０１】
自動選択ルーチンにおいては、まず、再生装置４０１において表示できる言語、または、表示できない言語を表す値が設定されているレジスタが参照されて、再生装置４０１が表示能力を有する言語が優先して選択され、次に、再生装置４０１に設定されている言語コードと同等のものが優先され、そして、次に、STN_table()に登録されている順番で番号が若いものから順番に優先して選択される。
【０７０２】
そして、＃２レジスタのPiP PG TextST stream numberに設定されている値に対応するピクチャインピクチャアプリケーション用のPG TextSTストリームが再生されるのは、セカンダリビデオの表示が有効になっていて、かつ、＃２レジスタのdisp_flagの値が１、invalid_flagが０に設定され、＃２レジスタに登録されているピクチャインピクチャアプリケーション用のPiP PG TextSTのID番号が、現在のPlayItemのSTN_tableに登録されているピクチャインピクチャアプリケーション用のPiP PG TextSTストリームに含まれているときである。
【０７０３】
そして、セカンダリビデオの表示が有効になっていて、かつ、＃２レジスタのdisp_flagの値が１、invalid_flagが０に設定されているのに、＃２レジスタに示された値が、PlayItemのSTN_tableに登録されているPiP PG TextSTストリームの番号と一致しなかった場合、再生されるピクチャインピクチャアプリケーション用のPG TextSTストリームは、PiP PG TextSTストリーム自動選択ルーチンにより選択される。
【０７０４】
自動選択ルーチンにおいては、まず、再生装置４０１において表示できる言語、または、表示できない言語を表す値が登録されたレジスタが参照されて、再生装置４０１が表示能力を有する言語が優先して選択され、次に、再生装置４０１に設定されている言語コードと同等のものが優先され、そして、次に、STN_table()に登録されている順番で番号が若いものから順番に優先して選択される。
【０７０５】
次に、図７２を参照して、ピクチャインピクチャ表示の実行時に、プライマリのPG TextSTストリームが再生される場合の例について説明する。
【０７０６】
例えば、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）において、＃１レジスタのdisp_flagが１であるとき、＃２レジスタの設定にかかわらず、＃１レジスタのPG TextST stream numberに設定されている値が参照され、STN_table()に登録されているPG TextST number＝0x05のPG TextSTが再生表示される。
【０７０７】
そして、ナビゲーションプログラムによってコマンドが発生されるか、または、ユーザにより所定の操作入力が行われることにより、ピクチャインピクチャ表示の実行が開始（図中、PiP on）される。ピクチャインピクチャ表示の実行が開始されても、＃２レジスタのinvalid_flagが１に設定（例えば、ナビゲーションプログラムによって発生されるナビゲーションコマンドによりinvalid_flagが１に設定）されていれば、ユーザがピクチャインピクチャアプリケーション用のPiP PG TextSTストリームの表示を選択したとしても(disp_flag＝1であったとしても)、ピクチャインピクチャアプリケーション用のPiP PG TextSTストリームは、表示されない。すなわち、ピクチャインピクチャ表示が実行されている状態（図中、「PiP enabled」と示されている状態）においても、＃１レジスタのPG TextST stream numberに設定されている値が参照され、STN_table()に登録されているPG TextST number＝0x05のPG TextSTが再生表示される。
【０７０８】
なお、ナビゲーションコマンドは、ストリームデータとは個別に記録媒体等に記録され、再生装置４０１によってプリロードされ、コントローラ２１に供給されるようになされていてもよいが、ストリームデータに埋め込まれて記録媒体等に記録され、再生装置４０１によってストリームデータが再生されるのに伴ってロードされ、コントローラ２１に供給されるようになされていると、コマンドの実行タイミングの制御が容易であり、好適である。
【０７０９】
また、invalid_flagを設定しうるナビゲーションコマンドが発生される場合の例として、例えば、コンテンツ製作者が、自動でinvalid_flagが変更されるように、ストリーム中（例えば、インタラクティブグラフィックストリーム（ＩＧストリーム）中）にナビゲーションコマンドを埋め込むようにしてもよいし、例えば、ＩＧストリームにボタン情報およびinvalid_flagを変更する制御情報を含めて記録し、ユーザにより選択操作可能なボタンをストリーム再生中に表示可能なようにすることにより、対応するボタンがユーザにより押下される（選択される）操作入力に基づいてinvalid_flagを変更することができるような構成であってもよい。
【０７１０】
そして、ピクチャインピクチャ表示の実行が終了（図中、PiP off）され、再び、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）となった場合、＃１レジスタのdisp_flagが１であれば、＃２レジスタの設定にかかわらず、＃１レジスタのPG TextST stream numberに設定されている値が参照され、STN_table()に登録されているPG TextST number＝0x05のPG TextSTが再生表示される。
【０７１１】
次に、図７３を参照して、ピクチャインピクチャ表示の実行時に、ピクチャインピクチャアプリケーション用のPG TextSTストリームが再生される場合の例について説明する。
【０７１２】
例えば、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）において、＃１レジスタのdisp_flagが１であるとき、＃２レジスタの設定にかかわらず、＃１レジスタのPG TextST stream numberに設定されている値が参照され、STN_table()に登録されているPG TextST number＝0x05のPG TextSTが再生表示される。
【０７１３】
そして、ナビゲーションプログラムによってコマンド（例えば、ストリームに埋め込まれているナビゲーションコマンド）が発生されるか、または、ユーザにより所定の操作入力が行われることにより、ピクチャインピクチャ表示の実行が開始（図中、PiP on）され、＃２レジスタのinvalid_flagが０に設定され、disp_flagが１に設定されている場合、＃２レジスタのPiP PG TextST stream numberに設定されている値が参照されて、STN_table()に登録されているPiP PG TextST number＝0x02のピクチャインピクチャアプリケーション用のPiP PG TextSTストリームが表示される。なお、ユーザがピクチャインピクチャアプリケーション用のPiP PG TextSTストリームの表示を選択しない場合(disp_flag＝０の場合)、ピクチャインピクチャアプリケーション用のPiP PG TextSTストリームは、表示されない。
【０７１４】
そして、ピクチャインピクチャ表示の実行が終了（図中、PiP off）され、再び、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）となった場合、＃１レジスタのdisp_flagが１であれば、＃２レジスタの設定にかかわらず、＃１レジスタのPG TextST stream numberに設定されている値が参照され、STN_table()に登録されているPG TextST number＝0x05のPG TextSTが再生表示される。
【０７１５】
なお、図７２および図７３において、PiP PG TextST stream numberに０ｘFFが登録されている場合、TextSTストリームが選択されていないか、または、存在しない。例えば、PiP PG TextST stream numberに０ｘFF以外が登録されていた場合でもinvalid_flagやdisp_flagの組み合わせによって、表示の有効または無効が決められる。すなわち、invalid_flag=１で表示無効状態のときは、PiP PG TextST stream numberに０ｘFF以外が登録されていても、PG TextST stream numberまたはPiP PG TextST stream numberに登録されている値は無視されて、表示されないようになされている。
【０７１６】
また、図７２、図７３の例では、プライマリビデオの画像（字幕）情報に対する＃１のレジスタと、セカンダリビデオ（PiP）の画像（字幕）情報に対する＃２のレジスタを分けて設定しているが、レジスタを１つにしてもよい。
【０７１７】
さらに、この例における２つのdisp_flagをを１つにして、プライマリビデオの画像（字幕）ストリームであるPG TextST stream、または、セカンダリビデオ（PiP）の画像（字幕）ストリームであるPiP PG_TextST_streamの表示をするか否かのflag、すなわち、「画像情報を示すか否かを表すflag」としてもよい。この場合、invalid_flagを、プライマリビデオの画像情報またはPiPの画像情報の、いずれの画像の表示を行うかを決定するflagとする構成とする。
【０７１８】
次に、図７４のフローチャートを参照して、PiP（ピクチャインピクチャ）を含んだアプリケーションのPG TextST再生処理について説明する。
【０７１９】
ステップＳ３０１において、コントローラ２１は、＃１レジスタに設定されているPG TextST番号（PG TextST stream number）より、対応するPG TextSTを現在のPlayItemのSTN_table()から調べる。
【０７２０】
ステップＳ３０２において、コントローラ２１は、所望のPG TextSTを特定して、記録媒体１１、または、ローカルストレージ２４に記録されているClipから、特定されたストリームを読み出し、disp_flag等に応じ、再生を行う。
【０７２１】
例えば、コントローラ２１は、＃１レジスタのdisp_flagが１であるとき、＃１レジスタのPG TextST stream numberに設定されている値を参照し、STN_table()に登録されているPG TextST numberのPG TextSTを読み出し、ＡＶデコーダ部４０３に供給する。読み出されたPG TextSTは、各バッファ、PIDフィルタ、スイッチ等の処理により、プレゼンテーショングラフィックスプレーン生成部９３に供給されて、レンダリング画像であるプレゼンテーショングラフィックスプレーンが生成され、ビデオデータ処理部９６に供給されて、プライマリビデオストリームなどと合成され、対応する音声データとともに再生出力される。
【０７２２】
ステップＳ３０３において、コントローラ２１は、ピクチャインピクチャ表示を開始（PiPをONに）する。
【０７２３】
ここで、ピクチャインピクチャ表示がメインパスに同期して設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、そのピクチャインピクチャにより再生されるビデオストリームを示す図１２SubPlayItemのIN_time, Out_timeで示される、所定のタイミングで実行される。これに対して、ピクチャインピクチャ表示がメインパスと非同期で設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力、または、ナビゲーションコマンドにより設定される。
【０７２４】
ステップＳ３０４において、コントローラ２１は、ストリームに埋め込まれている、または、ストリームとは異なる位置に記憶されてプリロードされているNavigation Command（ナビゲーションコマンド）等により、必要に応じて、＃２レジスタのinvalid_flagの設定値を変更する。
【０７２５】
ステップＳ３０５において、コントローラ２１は、＃２レジスタにおいて、invalid_flag＝０（PiP PG TextST有効）であるか否かを判断する。
【０７２６】
ステップＳ３０５において、invalid_flag＝０であると判断された場合、ステップＳ３０６において、コントローラ２１は、＃２レジスタにおいてdisp_flag＝１（PiP PGTextST表示）であるか否かを判断する。すなわち、コントローラ２１は、ピクチャインピクチャ表示がメインパスと非同期で設定されている場合、ピクチャインピクチャ表示が、ユーザの操作入力により指令され、＃２レジスタのdisp_flagの値が１に設定されているか否かを判断する。
【０７２７】
なお、ステップＳ３０５の処理と、ステップＳ３０６の処理とにおいては、いずれの判断が先に行われるようにしてもよい。
【０７２８】
ステップＳ３０６において、＃２レジスタのdisp_flag＝１であると判断された場合、ステップＳ３０７において、図７５のフローチャートを用いて後述するPiP PG TextST表示処理が実行され、処理は、後述するステップＳ３１１に進む。
【０７２９】
なお、このとき、＃１レジスタにおいて、disp_flag=１に設定されている場合、ピクチャインピクチャアプリケーション用のPiP PG TextSTストリームとともに、プライマリのPG TextSTストリームを表示するようにしてもかまわない。
【０７３０】
ステップＳ３０５において、invalid_flag＝０ではない（すなわち、invalid_flag＝１である）と判断された場合、または、ステップＳ３０６において、disp_flag＝１ではない（すなわち、disp_flag＝０である）と判断された場合、ステップＳ３０８において、コントローラ２１は、＃１レジスタにおいて、disp_flag=１（PGTextST表示）であるか否かを判断する。
【０７３１】
ステップＳ３０８において、＃１レジスタのdisp_flag=１であると判断された場合、ステップＳ３０９において、コントローラ２１は、＃１レジスタに設定されているPG TextST番号（PG TextST stream number）より対応するPG TextSTを現在のPlayItemのSTN_table()より調べ、再生すべきPG TextSTを特定し、表示させ、処理は、後述するステップＳ３１１に進む。なお、disp_flagを１つにして、プライマリビデオの画像（字幕）ストリームであるPG TextST stream、または、PiPの画像（字幕）ストリームであるPiP PG_TextST_streamの表示をするか否かを表すflag、すなわち、「画像情報を示すか否かを表すflag」とした場合、ステップＳ３０６およびステップＳ３０８の処理においては、同じdisp_flagが参照される。
【０７３２】
例えば、コントローラ２１は、＃１レジスタのdisp_flagが１であるとき、＃１レジスタのPG TextST stream numberに設定されている値を参照し、STN_table()に登録されているPG TextST numberのPG TextSTを読み出し、ＡＶデコーダ部４０３に供給する。読み出されたPG TextSTは、各バッファ、PIDフィルタ、スイッチ等の処理により、プレゼンテーショングラフィックスプレーン生成部９３に供給されて、レンダリング画像であるプレゼンテーショングラフィックスプレーンが生成され、ビデオデータ処理部９６に供給されて、プライマリビデオストリームなどと合成され、対応する音声データとともに再生出力される。
【０７３３】
ステップＳ３０８において、disp_flag＝１ではない（すなわち、disp_flag＝０である）と判断された場合、ステップＳ３１０において、コントローラ２１は、PG, TextSTの表示なし（例えば、全画面３０１および子画面３０２のいずれに対応する字幕も表示されない状態）とし、処理は、後述するステップＳ３１１に進む。
【０７３４】
ステップＳ３０７、ステップＳ３０９、または、ステップＳ３１０の処理の終了後、ステップＳ３１１において、コントローラ２１は、ピクチャインピクチャ（PiP）表示が終了されるか否かを判断する。
【０７３５】
上述したように、ピクチャインピクチャ表示がメインパスに同期して設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力にかかわらず、所定のタイミングで実行される。これに対して、ピクチャインピクチャ表示がメインパスと非同期で設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力により設定される。
【０７３６】
ステップＳ３１１において、ピクチャインピクチャ（PiP）表示が終了されないと判断された場合、処理は、ステップＳ３０４に戻り、それ以降の処理が繰り返される。ステップＳ３１１において、ピクチャインピクチャ（PiP）表示が終了されると判断された場合、処理は終了される。
【０７３７】
このような処理により、ピクチャインピクチャ表示が実行される場合、＃１レジスタおよび＃２レジスタに設定されている値を基に、プライマリ（すなわち、ピクチャインピクチャアプリケーション用ではない）サブタイトルストリーム（PG TextSTストリーム）を再生表示するか否か、および、ピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム（PiP PG TextSTストリーム）を再生表示するか否かが決定される。また、再生表示されるストリームはいずれのストリームであるかも、基本的には、＃１レジスタまたは＃２レジスタの設定により決定されるが、＃１レジスタまたは＃２レジスタの設定がSTN_table()の登録内容と一致しない場合には、上述した自動選択ルーチンにより、再生表示されるストリームが決定される。
【０７３８】
次に、図７５のフローチャートを参照して、図７４のステップＳ３０７において実行される、PiP PG TextST表示処理について説明する。
【０７３９】
ステップＳ３５１において、コントローラ２１は、＃２レジスタに設定されているPiP PG TextST番号（PiP PG TextST stream number）を取得する。＃２レジスタに設定されているPiP PG TextST番号（PiP PG TextST stream number）は、例えば、ストリームナンバーテーブルを参照して選択されて設定されたり、前回ピクチャインピクチャ表示が行われた場合の設定値が保持されていたり、ユーザの操作入力を基に設定されたり、または、上述したナビゲーションコマンドにより設定された値である。
【０７４０】
ステップＳ３５２において、コントローラ２１は、図６９および図７０を用いて説明した第８のSTN_tableのPiP_PG_textST_stream_id_refの値に１を加えた値が、＃２レジスタに保存されているか否かを判断する。
【０７４１】
ステップＳ３５２において、第８のSTN_tableのPiP_PG_textST_stream_id_refの値に１を加えた値（PiP_PG_textST_id_ref＋1）が、＃２レジスタに保存されていると判断された場合、ステップＳ３５３において、コントローラ２１は、＃２レジスタに設定（換言すれば、保存）されているPiP PG TextST stream numberに対応するPiP PG TextSTを表示させ、処理は、図７４のステップＳ３０７に戻り、ステップＳ３１１に進む。
【０７４２】
すなわち、コントローラ２１は、＃２レジスタのPiP PG TextST stream numberに設定されている値に対応するPG TextSTを、ストレージドライブ２２を介して記録媒体１１から、または、ローカルストレージ２４から読み出させる。読み出されたPG TextSTは、各バッファ、PIDフィルタ、スイッチ等の処理により、プレゼンテーショングラフィックスプレーン生成部９３に供給されて、レンダリング画像であるプレゼンテーショングラフィックスプレーンが生成され、ビデオデータ処理部９６に供給されて、プライマリビデオストリームやセカンダリビデオストリームなどと合成され、対応する音声データとともに再生出力される。
【０７４３】
ステップＳ３５２において、第８のSTN_tableのPiP_PG_textST_stream_id_refの値に１を加えた値が、＃２レジスタに保存されていないと判断された場合、ステップＳ３５４において、コントローラ２１は、STN_tableのstream_attribute()（図１８）のPG_language_codeおよびtextST_language_codeを参照し、#１レジスタまたは#２レジスタとは異なる別のレジスタ、すなわち、言語の初期設定が登録されるレジスタを参照し、設定されている言語の初期設定が、自分自身（再生装置４０１）の再生可能言語であり、かつ、STN_tableのPiP_PG_textST_id_refの値に１を加えた値（PiP_PG_textST_id_ref＋1）で規定されているか否かを判断する。
【０７４４】
ステップＳ３５４において、別のレジスタに設定されている初期設定が、再生可能言語であり、かつ、STN_tableのPiP_PG_textST_id_refの値に１を加えた値で規定されていると判断された場合、ステップＳ３５５において、コントローラ２１は、初期設定されている言語に対応するPiP PG TextSTを表示させ、処理は、図７４のステップＳ３０７に戻り、ステップＳ３１１に進む。
【０７４５】
すなわち、コントローラ２１は、言語の初期設定が登録されるレジスタに設定されている値に対応するPG TextSTを、ストレージドライブ２２を介して記録媒体１１から、または、ローカルストレージ２４から読み出させる。読み出されたPG TextSTは、各バッファ、PIDフィルタ、スイッチ等の処理により、プレゼンテーショングラフィックスプレーン生成部９３に供給されて、レンダリング画像であるプレゼンテーショングラフィックスプレーンが生成され、ビデオデータ処理部９６に供給されて、プライマリビデオストリームなどと合成され、対応する音声データとともに再生出力される。
【０７４６】
ステップＳ３５４において、別のレジスタに設定されている初期設定が再生可能言語ではない、または、第８のSTN_tableのPiP_PG_textST_id_ref+1で規定されていないと判断された場合、ステップＳ３５６において、コントローラ２１は、iの設定値をｉ＝０とする。ここで、値ｉは、後述するステップＳ３５７において、再生できるか否かを確認するのは、STN_tableに定義されているPiP_PG_textST_id_refのうちの何番目についてであるかを表す値である。
【０７４７】
ステップＳ３５７において、コントローラ２１は、所定のレジスタ、すなわち、再生装置１４１が復号可能な言語を示す情報が登録されているレジスタを参照することにより、再生装置１４１が復号可能な言語を確認して、i番目のPiP_PG_textST_id_refに１を加えた値に対応するPiP PG textSTを再生できるか否かを判断する。
【０７４８】
ステップＳ３５７において、再生できないと判断された場合、ステップＳ３５８において、コントローラ２１は、値ｉを、ｉ＝ｉ＋１とし、処理は、ステップＳ３５７に戻り、それ以降の処理が繰り返される。すなわち、STN_table()に登録されている順番で番号が若いものから順番に、PiP PG textSTが再生できるか否かが判断される。
【０７４９】
ステップＳ３５７において、再生できると判断された場合、ステップＳ３５９において、コントローラ２１は、i番目のPiP_PG_textST_id_refに１を加えた値で規定されているPG textSTを表示させ、処理は、図７４のステップＳ３０７に戻り、ステップＳ３１１に進む。
【０７５０】
すなわち、コントローラ２１は、ステップＳ３５７において再生できると判断された、i番目のPiP_PG_textST_id_refに１を加えた値で規定されているPG TextSTを、ストレージドライブ２２を介して記録媒体１１から、または、ローカルストレージ２４から読み出させる。読み出されたPG TextSTは、各バッファ、PIDフィルタ、スイッチ等の処理により、プレゼンテーショングラフィックスプレーン生成部９３に供給されて、レンダリング画像であるプレゼンテーショングラフィックスプレーンが生成され、ビデオデータ処理部９６に供給されて、プライマリビデオストリームなどと合成され、対応する音声データとともに再生出力される。
【０７５１】
このような処理により、＃２レジスタのPiP PG TextST stream numberに示された値が、PlayItemのSTN_tableに登録されているPiP PG TextSTストリームの番号と一致した場合、PiP PG TextST stream numberに示された値に対応するPiP PG textSTが再生される。そして、＃２レジスタのPiP PG TextST stream numberに示された値が、PlayItemのSTN_tableに登録されているPiP PG TextSTストリームの番号と一致しなかった場合、再生されるピクチャインピクチャアプリケーション用のPG TextSTストリームは、PiP PG TextSTストリーム自動選択ルーチンにより選択される。
【０７５２】
次に、プライマリビデオストリームと組み合わせて同時再生され得るストリームの組み合わせを定義するSTN_tableの異なる例、すなわち、STN_tableの第９の例を、図７６乃至図７８を用いて説明する。
【０７５３】
即ち、図７６乃至図７８は、プライマリビデオストリームと組み合わせて同時再生され得る、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義するにあたって、特に、ピクチャインピクチャアプリケーション用のプライマリオーディオをさらに定義するとともに、セカンダリオーディオストリームとプライマリオーディオストリームとの組み合わせ、セカンダリビデオストリームとセカンダリオーディオストリームとの組み合わせ、セカンダリビデオストリームとピクチャインピクチャアプリケーション用のプレゼンテーショングラフィックス（ＰＧ）またはテキスト字幕の組み合わせに加えて、セカンダリビデオとピクチャインピクチャアプリケーション用のプライマリオーディオとの組み合わせをさらに定義する場合のSTN_table()のシンタクスの第９の例（第９のSTN_table()）の例を示す図である。
【０７５４】
第９のSTN_table()を参照して実行される再生処理も、図５２を用いて説明した再生装置４０１において実行可能である。なお、図中、上述した図６９および図７０と同一の部分については、繰り返しになるのでその説明は省略する。
【０７５５】
新たに加えられたnumber_of_PiP_primary_audio_stream_entriesの８ビットのフィールドは、STN_tableに登録されるピクチャインピクチャ表示用のプライマリオーディオストリームの数を示す。ピクチャインピクチャ表示用のプライマリオーディオストリームの数は、PiP_primary_audio_stream_number＝PiP_primary_audio_stream_id＋1によって求められる。
【０７５６】
そして、comb_info_Secondary_video_PiP_primary_audio()のブロックは、セカンダリビデオストリームとピクチャインピクチャ表示用のプライマリオーディオストリームの組み合わせを示す。
【０７５７】
comb_info_Secondary_video_PiP_primary_audio()のブロック内において、number_of_PiP_primary_audio_ref_entries_SVの８ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るピクチャインピクチャ表示用のプライマリオーディオストリームの数を示す。そして、PiP_primary_audio_id_ref_SVの８ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るピクチャインピクチャ表示用のプライマリオーディオストリームのIDを示す。
【０７５８】
なお、上述したそれぞれのSTN_tableにおける場合と同様に、各ＩＤの代わりに各番号、例えば、audio_stream_idの代わりに、オーディオストリーム番号（audio_stream_number）を用いたり、audio_stream_id2の代わりに、オーディオストリーム番号２（audio_stream_number2）を用いるようにしてもよい。ビデオストリームやサブタイトルストリームについても同様である。
【０７５９】
図７６乃至図７８の第９のSTN_table()によれば、セカンダリオーディオとプライマリオーディオの組み合わせ、セカンダリビデオとセカンダリオーディオの組み合わせ、および、セカンダリビデオとピクチャインピクチャアプリケーション用のPG・テキスト字幕の組み合わせに加えて、セカンダリビデオとピクチャインピクチャ表示用のプライマリオーディオの組み合わせを定義することができる。
【０７６０】
従って、プライマリビデオストリーム（＃１ビデオストリーム）と同時再生され得る、セカンダリビデオストリーム（＃２ビデオストリーム）、プライマリオーディオストリーム（＃１オーディオストリーム）、セカンダリオーディオストリーム（＃２オーディオストリーム）、サブタイトルストリーム（PG TextSTストリーム）、および、ピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム（PiP PG TextSTストリーム）の組み合わせに加えて、セカンダリビデオとピクチャインピクチャ表示用のプライマリオーディオの組み合わせとして矛盾するような組み合わせを選択することを防ぐようにすることができる。
【０７６１】
また、再生装置１４１においては、上述したように、再生装置１４１のメモリ２３の書き換え可能なメモリ領域のうちの一部に、複数のレジスタが設けられ、このレジスタに設定される値を基に、再生処理が実行される。再生装置１４１のメモリ２３の書き換え可能なメモリ領域のうちの一部には、図７０を用いて説明したレジスタに加えて、さらに、ピクチャインピクチャアプリケーションが起動されたときに再生されるオーディオについての設定を行うためのレジスタが設けられており、図７６乃至図７８の第９のSTN_table()が用いられる場合、それらのレジスタが参照される。
【０７６２】
図７９を用いて、図７６乃至図７８の第９のSTN_table()が適用されている場合において、ピクチャインピクチャアプリケーションが起動されたとき、再生装置１４１がいずれのオーディオストリームを再生するかを決定するために参照されるレジスタについて説明する。
【０７６３】
＃３レジスタは、プライマリオーディオストリームのID番号を示すレジスタである。すなわち、＃３レジスタは、現在のPlayItemのSTN_tableに登録されているプライマリオーディオストリームの中で、再生されるプライマリオーディオストリームが設定されているレジスタである。
【０７６４】
ピクチャインピクチャ表示がされていないとき、＃３レジスタに設定されているＩＤ番号のオーディオストリームは再生されるようになされている。ただし、＃３レジスタに設定されているＩＤ番号のオーディオストリームが現在のPlayItem()のSTN_table()に登録されていない場合、プライマリオーディオストリームの自動選択ルーチンにより再生されるオーディオストリームが選択される。
【０７６５】
一方、ピクチャインピクチャ表示時に、＃３レジスタに設定されているＩＤ番号のオーディオストリームが再生されるか否かは、後述する、#５レジスタの設定によって決まる。ピクチャインピクチャ表示時のオーディオの再生の具体的な例については後述する。
【０７６６】
そして、＃４レジスタは、セカンダリオーディオストリームのID番号を示すレジスタである。すなわち、＃４レジスタは、現在のPlayItemのSTN_tableに登録されているセカンダリオーディオストリームの中で、再生されるセカンダリオーディオストリームが設定されているレジスタである。
【０７６７】
ピクチャインピクチャ表示がされていないとき、＃４レジスタに設定されているＩＤ番号のオーディオストリームは、ユーザの操作入力に基づいて、または、各種設定に基づいて再生されるようになされている。ただし、＃４レジスタに設定されているＩＤ番号のオーディオストリームが現在のPlayItem()のSTN_table()に登録されていない場合、セカンダリオーディオストリームの自動選択ルーチンにより再生されるオーディオストリームが選択される。一方、＃４レジスタに設定されているＩＤ番号のオーディオストリームがピクチャインピクチャ表示時に再生される場合もある。ピクチャインピクチャ表示時のオーディオの再生の具体的な例については後述する。
【０７６８】
そして、＃５レジスタは、ピクチャインピクチャ表示用のプライマリオーディオストリームのID番号を示すレジスタである。すなわち、＃５レジスタは、現在のPlayItemのSTN_tableに登録されているピクチャインピクチャ表示用のプライマリオーディオストリームの中で、再生されるピクチャインピクチャ表示用のプライマリオーディオストリームが設定されているレジスタである。そして、＃５レジスタにおいて、invalid_flagの値が０である場合、ピクチャインピクチャアプリケーション用のプライマリオーディオストリームのID番号は有効であり、１の場合には、無効である。
【０７６９】
＃５レジスタに設定されているＩＤ番号のオーディオストリームがPlayItem()のSTN_table()においてセカンダリビデオストリームとの組み合わせが許可されているピクチャインピクチャ表示用のプライマリオーディオストリームではない場合、再生されるオーディオストリームは、ピクチャインピクチャ表示用のプライマリオーディオストリームの自動選択ルーチンによって選択される。
【０７７０】
なお、それぞれのオーディオストリームの自動選択ルーチンにおいては、まず、再生装置１４１において再生できるオーディオか、再生できないオーディオかを表すレジスタが参照されて、再生装置１４１が再生能力を有するオーディオが優先されて選択され、次に、再生装置１４１に設定されている言語コードと同等の言語のオーディオデータが優先されて選択され、そして、次に、STN_table()に登録されている順番で番号が若いものから順番に優先されて選択されるようになされている。
【０７７１】
なお、Secondary audio stream numberに０ｘFFが登録されている場合、セカンダリオーディオストリームが選択されていないか、または、存在しない。そして、PiP primary audio stream numberに０ｘFFが登録されている場合、ピクチャインピクチャ表示用のプライマリオーディオストリームが選択されていないか、または、存在しない。
【０７７２】
また、PiP primary audio stream numberに０ｘFF以外が登録されていた場合でもinvalid_flagによって、再生の有効または無効が決められる。すなわち、invalid_flag=１で再生無効状態のときは、必ず、PiP primary audio stream numberが０ｘFFに設定されるようになされているのではない。例えば、invalid_flag=１で再生無効状態のときは、PiP primary audio stream numberに０ｘFF以外が登録されていても、PiP primary audio stream numberに登録されている値は無視されて、再生されないようになされている。
【０７７３】
これらのレジスタに設定されている値を参照することにより、再生装置１４１においてそれぞれのストリームの再生処理が実行される。
【０７７４】
次に、図８０を参照して、ピクチャインピクチャ表示の実行時に、プライマリオーディオとセカンダリオーディオとが再生（セカンダリオーディオは、ユーザの操作入力に基づいて、または、各種設定に基づいて再生）される場合の例について説明する。
【０７７５】
例えば、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）において、＃３レジスタのprimary audio stream numberに設定されている値が参照され、STN_table()に登録されているaudio stream number＝0x05のプライマリオーディオストリームが再生される。
【０７７６】
このとき、＃４レジスタのSecondary audio stream numberに０ｘFF以外が登録されていれば、設定されているＩＤ番号のオーディオストリームは、ユーザの操作入力に基づいて、または、各種設定に基づいて再生される。
【０７７７】
そして、ナビゲーションプログラムによってコマンドが発生されるか、または、ユーザにより所定の操作入力が行われることにより、ピクチャインピクチャ表示の実行が開始（図中、PiP on）される。ピクチャインピクチャ表示の実行が開始されても、＃５レジスタのinvalid_flagが１に設定（例えば、ナビゲーションプログラムによって発生されるナビゲーションコマンドによりinvalid_flagが１に設定）されていれば、ピクチャインピクチャアプリケーション用のプライマリオーディオストリームは、再生されない。すなわち、ピクチャインピクチャ表示が実行されている状態（図中、「PiP enabled」と示されている状態）においても、＃３レジスタのPrimary stream numberに設定されている値、および、＃４レジスタのSecondary stream numberに設定されている値が参照され、STN_table()に登録されているaudio stream number＝0x0７が再生されるとともに、ユーザの操作入力に基づいて、または、各種設定に基づいて、audio stream2 number＝0x0１のオーディオストリームがミキシングされて再生される。
【０７７８】
そして、ピクチャインピクチャ表示の実行が終了（図中、PiP off）され、再び、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）となった場合、＃３レジスタのPrimary stream numberに設定されている値が参照され、STN_table()に登録されているaudio stream number＝0x05のオーディオストリームが再生される。
【０７７９】
このときも、＃４レジスタのSecondary audio stream numberに０ｘFF以外が登録されていれば、設定されているＩＤ番号のオーディオストリームは、ユーザの操作入力に基づいて、または、各種設定に基づいて再生される。
【０７８０】
次に、図８１を参照して、ピクチャインピクチャ表示の実行時に、ピクチャインピクチャアプリケーション用のプライマリオーディオストリームが再生される場合の例について説明する。
【０７８１】
例えば、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）において、＃３レジスタのPrimary stream numberに設定されている値が参照され、STN_table()に登録されているaudio stream number＝0x05のオーディオストリームが再生される。
【０７８２】
このとき、＃４レジスタのSecondary audio stream numberに０ｘFF以外が登録されていれば、設定されているＩＤ番号のオーディオストリームは、ユーザの操作入力に基づいて、または、各種設定に基づいて再生される。
【０７８３】
そして、ナビゲーションプログラムによってコマンド（例えば、ストリームに埋め込まれているナビゲーションコマンド）が発生されるか、または、ユーザにより所定の操作入力が行われることにより、ピクチャインピクチャ表示の実行が開始（図中、PiP on）され、＃５レジスタのinvalid_flagが０に設定されている場合、＃５レジスタのPiP primary audio stream numberに設定されている値が参照されて、STN_table()に登録されているPiP primary audio stream number＝0x07のピクチャインピクチャアプリケーション用のプライマリオーディオストリームが再生される。
【０７８４】
そして、ピクチャインピクチャ表示の実行が終了（図中、PiP off）され、再び、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）となった場合、＃３レジスタのPrimary stream numberに設定されている値が参照され、STN_table()に登録されているaudio stream number＝0x05のオーディオストリームが再生される。
【０７８５】
このときも、＃４レジスタのSecondary audio stream numberに０ｘFF以外が登録されていれば、設定されているＩＤ番号のオーディオストリームは、ユーザの操作入力に基づいて、または、各種設定に基づいて再生される。
【０７８６】
なお、図８０および図８１において、PiP primary audio stream numberに０ｘFFが登録されている場合、ピクチャインピクチャ表示用のプライマリオーディオストリームが選択されていないか、または、存在しない。例えば、PiP primary audio stream numberに０ｘFF以外が登録されていた場合でもinvalid_flagの設定によって、再生の有効または無効が決められる。すなわち、invalid_flag=１で再生無効状態のときは、PiP primary audio stream numberに０ｘFF以外が登録されていても、PiP primary audio stream numberに登録されている値は無視されて、再生されないようになされている。
【０７８７】
次に、図８２のフローチャートを参照して、PiP（ピクチャインピクチャ）を含んだアプリケーションのオーディオストリーム再生処理１について説明する。
【０７８８】
ステップＳ４０１において、コントローラ２１は、＃３レジスタに設定されているprimary audio stream番号（primary audio stream number）より、対応するプライマリオーディオを現在のPlayItemのSTN_table()から調べる。
【０７８９】
ステップＳ４０２において、コントローラ２１は、所望のプライマリオーディオストリームを特定して、記録媒体１１、または、ローカルストレージ２４に記録されているClipから、特定されたストリームを読み出し、再生を行う。
【０７９０】
例えば、コントローラ２１は、＃３レジスタのprimary audio stream numberに設定されている値を参照し、STN_table()に登録されているprimary audio stream numberのプライマリオーディオストリームを読み出し、ＡＶデコーダ部４０３に供給する。読み出されたプライマリオーディオストリームは、各バッファ、PIDフィルタ、スイッチ等の処理により、１stオーディオデコーダ７５−１に供給されてデコードされ、対応するビデオデータとともに再生出力される。
【０７９１】
ステップＳ４０３において、コントローラ２１は、ピクチャインピクチャ表示を開始（PiPをONに）する。
【０７９２】
ここで、ピクチャインピクチャ表示がメインパスに同期して設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力にかかわらず、所定のタイミングで実行される。これに対して、ピクチャインピクチャ表示がメインパスと非同期で設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力により設定される。
【０７９３】
ステップＳ４０４において、コントローラ２１は、ストリームに埋め込まれている、または、ストリームとは異なる位置に記憶されてプリロードされているNavigation Command（ナビゲーションコマンド）等により、必要に応じて、＃５レジスタのinvalid_flagの設定値を変更する。
【０７９４】
ステップＳ４０５において、コントローラ２１は、＃５レジスタにおいて、invalid_flag＝０（PiPプライマリオーディオストリーム有効）であるか否かを判断する。
【０７９５】
ステップＳ４０５において、invalid_flag＝０であると判断された場合、ステップＳ４０６において、コントローラ２１は、図８０を用いて説明したようにして、＃５レジスタに設定されているPiP primary audio stream番号より、対応するピクチャインピクチャ表示用のプライマリオーディオを、現在のPlayItemのSTN_table()より調べる。
【０７９６】
ステップＳ４０７において、コントローラ２１は、再生するべきピクチャインピクチャ表示用のプライマリオーディオを特定し、上述した場合と同様にしてClipから読み出してＡＶデコーダ部４０３に供給して再生させ、処理は、後述するステップＳ４０９に進む。
【０７９７】
例えば、コントローラ２１は、＃５レジスタのPip primary audio stream numberに設定されている値を参照し、STN_table()に登録されているPip primary audio stream numberのピクチャインピクチャ表示用のプライマリオーディオストリームを読み出し、ＡＶデコーダ部４０３に供給する。読み出されたピクチャインピクチャ表示用のプライマリオーディオストリームは、各バッファ、PIDフィルタ、スイッチ等の処理により、１stオーディオデコーダ７５−１に供給されてデコードされ、対応するビデオデータとともに再生出力される。なお、コントローラ２１は、＃５レジスタに設定されているＩＤ番号のオーディオストリームが現在のPlayItem()のSTN_table()に登録されていない場合、ピクチャインピクチャ表示用のプライマリオーディオストリームの自動選択ルーチンにより、再生されるオーディオストリームを選択する。
【０７９８】
ステップＳ４０５において、invalid_flag＝０ではない（すなわち、invalid_flag＝１である）と判断された場合、ステップＳ４０８において、コントローラ２１は、図８０を用いて説明したようにして、＃３レジスタに設定されているprimary audio stream番号（primary audio stream number）、および、＃４レジスタに設定されているsecondary audio stream番号（secondary audio stream number）より対応するプライマリとセカンダリのオーディオストリームを現在のPlayItemのSTN_table()より調べ、再生すべきプライマリとセカンダリのオーディオストリームを特定し、上述した場合と同様にしてClipから読み出してＡＶデコーダ部４０３に供給して、合成して再生させる。
【０７９９】
例えば、コントローラ２１は、＃３レジスタのprimary audio stream number、および、＃４レジスタのsecondary audio stream numberに設定されている値を参照し、STN_table()に登録されているプライマリとセカンダリのオーディオストリームを読み出し、ＡＶデコーダ部４０３に供給する。読み出されたプライマリとセカンダリのオーディオストリームは、各バッファ、PIDフィルタ、スイッチ等の処理により、プライマリオーディオストリームは１stオーディオデコーダ７５−１に、セカンダリオーディオストリームは２ndオーディオデコーダ７５−２にそれぞれ供給されてデコードされ、対応するビデオデータとともに再生出力される。なお、コントローラ２１は、＃３レジスタまたは＃４に設定されているＩＤ番号のオーディオストリームが現在のPlayItem()のSTN_table()に登録されていない場合、それぞれのオーディオストリームの自動選択ルーチンにより、再生されるオーディオストリームを選択する。
【０８００】
ステップＳ４０７、または、ステップＳ４０８の処理の終了後、ステップＳ４０９において、コントローラ２１は、ピクチャインピクチャ（PiP）表示が終了されるか否かを判断する。
【０８０１】
上述したように、ピクチャインピクチャ表示がメインパスに同期して設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力にかかわらず、所定のタイミングで実行される。これに対して、ピクチャインピクチャ表示がメインパスと非同期で設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力により設定される。
【０８０２】
ステップＳ４０９において、ピクチャインピクチャ（PiP）表示が終了されないと判断された場合、処理は、ステップＳ４０４に戻り、それ以降の処理が繰り返される。ステップＳ４０９において、ピクチャインピクチャ（PiP）表示が終了されると判断された場合、処理は終了される。
【０８０３】
このような処理により、ピクチャインピクチャ表示が実行される場合、＃３レジスタ乃至＃５レジスタに設定されている値を基に、いずれのオーディオストリームが再生されるかが決定される。なお、これらのレジスタの設定がSTN_table()の登録内容と一致しない場合には、上述した自動選択ルーチンにより、再生されるストリームが決定される。
【０８０４】
次に、プライマリビデオストリームと組み合わせて同時再生され得るストリームの組み合わせを定義するSTN_tableのさらに異なる例、すなわち、STN_tableの第１０の例を、図８３乃至図８５を用いて説明する。
【０８０５】
即ち、図８３乃至図８５は、プライマリビデオストリームと組み合わせて同時再生され得る、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義するにあたって、第９の例における場合と同様に、ピクチャインピクチャアプリケーション用のプライマリオーディオを定義するとともに、セカンダリオーディオストリームとプライマリオーディオストリームとの組み合わせ、セカンダリビデオストリームとセカンダリオーディオストリームとの組み合わせ、セカンダリビデオストリームとピクチャインピクチャアプリケーション用のプレゼンテーショングラフィックス（ＰＧ）またはテキスト字幕の組み合わせ、セカンダリビデオとピクチャインピクチャアプリケーション用のプライマリオーディオとの組み合わせに加えて、セカンダリオーディオとピクチャインピクチャアプリケーション用のプライマリオーディオとの組み合わせをさらに定義する場合のSTN_table()のシンタクスの第１０の例（第１０のSTN_table()）の例を示す図である。
【０８０６】
第１０のSTN_table()を参照して実行される再生処理も、図５２を用いて説明した再生装置４０１において実行可能である。なお、図中、上述した図７６乃至図７９と同一の部分については、繰り返しになるのでその説明は省略する。
【０８０７】
新たに加えられたcomb_info_Secondary_audio_PiP_primary_audio()のブロックは、セカンダリオーディオストリームとピクチャインピクチャ表示用のプライマリオーディオストリームの組み合わせを示す。
【０８０８】
comb_info_Secondary_audio_PiP_primary_audio()のブロック内において、number_of_PiP_primary_audio_ref_entries_SAの８ビットのフィールドは、セカンダリオーディオストリームと組み合わせることが出来るピクチャインピクチャ表示用のプライマリオーディオストリームの数を示す。そして、PiP_primary_audio_id2_ref_SAの８ビットのフィールドは、セカンダリオーディオストリームと組み合わせることが出来るピクチャインピクチャ表示用のプライマリオーディオストリームのIDを示す。
【０８０９】
なお、上述したそれぞれのSTN_tableにおける場合と同様に、各ＩＤの代わりに各番号、例えば、audio_stream_idの代わりに、オーディオストリーム番号（audio_stream_number）を用いたり、audio_stream_id2の代わりに、オーディオストリーム番号２（audio_stream_number2）を用いるようにしてもよい。ビデオストリームやサブタイトルストリームについても同様である。
【０８１０】
図８３乃至図８５の第１０のSTN_table()によれば、セカンダリオーディオとプライマリオーディオの組み合わせ、セカンダリビデオとセカンダリオーディオの組み合わせ、セカンダリビデオとピクチャインピクチャアプリケーション用のPG・テキスト字幕の組み合わせ、および、セカンダリビデオとピクチャインピクチャ表示用のプライマリオーディオの組み合わせに加えて、セカンダリオーディオとピクチャインピクチャ表示用のプライマリオーディオの組み合わせを定義することができる。
【０８１１】
従って、プライマリビデオストリーム（＃１ビデオストリーム）と同時再生され得る、セカンダリビデオストリーム（＃２ビデオストリーム）、プライマリオーディオストリーム（＃１オーディオストリーム）、セカンダリオーディオストリーム（＃２オーディオストリーム）、サブタイトルストリーム（PG TextSTストリーム）、ピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム（PiP PG TextSTストリーム）の組み合わせ、および、セカンダリビデオとピクチャインピクチャ表示用のプライマリオーディオの組み合わせに加えて、セカンダリオーディオとピクチャインピクチャ表示用のプライマリオーディオの組み合わせとして矛盾するような組み合わせを選択することを防ぐようにすることができる。
【０８１２】
また、再生装置１４１においては、上述したように、再生装置１４１のメモリ２３の書き換え可能なメモリ領域のうちの一部に、複数のレジスタが設けられ、このレジスタに設定される値を基に、再生処理が実行される。図８３乃至図８５の第１０のSTN_table()が用いられる場合、再生装置１４１のメモリ２３の書き換え可能なメモリ領域のうちの一部には、図７１を用いて説明したレジスタに加えて、図７９を用いて説明した、ピクチャインピクチャアプリケーションが起動されたときに再生されるオーディオについての設定を行うためのレジスタが設けられる。
【０８１３】
これらのレジスタに設定されている値を参照することにより、再生装置１４１においてそれぞれのストリームの再生処理が実行される。
【０８１４】
また、ピクチャインピクチャ表示の実行時に、プライマリオーディオとセカンダリオーディオとが再生される場合については、図７９を参照して説明したのと同様の処理が実行される。
【０８１５】
次に、図８６を参照して、ピクチャインピクチャ表示の実行時に、セカンダリオーディオストリームとピクチャインピクチャアプリケーション用のプライマリオーディオストリームが再生される場合の例について説明する。
【０８１６】
例えば、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）において、＃３レジスタのPrimary stream numberに設定されている値が参照され、STN_table()に登録されているaudio stream number＝0x05のオーディオストリームが再生される。
【０８１７】
そして、ナビゲーションプログラムによってコマンド（例えば、ストリームに埋め込まれているナビゲーションコマンド）が発生されるか、または、ユーザにより所定の操作入力が行われることにより、ピクチャインピクチャ表示の実行が開始（図中、PiP on）され、＃５レジスタのinvalid_flagが０に設定されている場合、＃４レジスタのSecondary stream numberに設定されている値、および、＃５レジスタのPiP primary audio stream numberに設定されている値が参照されて、STN_table()に登録されているaudio stream2 number＝0x0１のオーディオストリームとPiP primary audio stream number＝0x07のピクチャインピクチャアプリケーション用のプライマリオーディオストリームとがミキシングされて再生される。
【０８１８】
そして、ピクチャインピクチャ表示の実行が終了（図中、PiP off）され、再び、ピクチャインピクチャ表示が実行されていない状態（図中、「Ｎｏ  ＰｉＰ」と示されている状態）となった場合、＃３レジスタのPrimary stream numberに設定されている値が参照され、STN_table()に登録されているaudio stream number＝0x05のオーディオストリームが再生される。
【０８１９】
なお、図８６においても、PiP primary audio stream numberに０ｘFFが登録されている場合、ピクチャインピクチャ表示用のプライマリオーディオストリームが選択されていないか、または、存在しない。例えば、PiP primary audio stream numberに０ｘFF以外が登録されていた場合でもinvalid_flagの設定によって、再生の有効または無効が決められる。すなわち、invalid_flag=１で再生無効状態のときは、PiP primary audio stream numberに０ｘFF以外が登録されていても、PiP primary audio stream numberに登録されている値は無視されて、再生されないようになされている。
【０８２０】
次に、図８７のフローチャートを参照して、PiP（ピクチャインピクチャ）を含んだアプリケーションのオーディオストリーム再生処理２について説明する。
【０８２１】
ステップＳ４５１乃至ステップＳ４５５において、図８２を用いて説明したステップＳ４０１乃至ステップＳ４０５と基本的に同様の処理が実行される。
【０８２２】
すなわち、コントローラ２１は、＃３レジスタに設定されているprimary audio stream番号より、対応するプライマリオーディオを現在のPlayItemのSTN_table()から調べ、所望のプライマリオーディオストリームを特定して、Clipから読み出し、再生を行い、所定のタイミングで、ピクチャインピクチャ表示を開始する。ピクチャインピクチャ表示がメインパスに同期して設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力にかかわらず、所定のタイミングで実行される。これに対して、ピクチャインピクチャ表示がメインパスと非同期で設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力により設定される。
【０８２３】
コントローラ２１は、ストリームに埋め込まれている、または、ストリームとは異なる位置に記憶されてプリロードされているNavigation Command（ナビゲーションコマンド）等により、必要に応じて、＃５レジスタのinvalid_flagの設定値を変更する。そして、コントローラ２１は、＃５レジスタにおいて、invalid_flag＝０（PiPプライマリオーディオストリーム有効）であるか否かを判断する。
【０８２４】
ステップＳ４５５において、invalid_flag＝０であると判断された場合、ステップＳ４５６において、コントローラ２１は、＃５レジスタに設定されているPiP primary audio stream番号より、対応するピクチャインピクチャ表示用のプライマリオーディオを、現在のPlayItemのSTN_table()より調べる。
【０８２５】
ステップＳ４５７において、コントローラ２１は、＃４レジスタに設定されているsecondary audio stream番号より、対応するセカンダリオーディオを、現在のPlayItemのSTN_table()より調べる。
【０８２６】
ステップＳ４５８において、コントローラ２１は、再生するべきピクチャインピクチャ表示用のプライマリオーディオおよびセカンダリオーディオを特定し、上述した場合と同様にしてClipから読み出してＡＶデコーダ部４０３に供給して、合成(ミキシング)して再生させ、処理は、後述するステップＳ４６０にすすむ。
【０８２７】
例えば、コントローラ２１は、＃５レジスタのPip primary audio stream number、および、＃４レジスタのsecondary audio stream numberに設定されている値を参照し、STN_table()に登録されているPip primary audio stream numberのピクチャインピクチャ表示用のプライマリオーディオストリームとセカンダリオーディオストリームを読み出し、ＡＶデコーダ部４０３に供給する。読み出されたピクチャインピクチャ表示用のプライマリオーディオストリームとセカンダリオーディオストリームは、各バッファ、PIDフィルタ、スイッチ等の処理により、ピクチャインピクチャ表示用のプライマリオーディオストリームは１stオーディオデコーダ７５−１に供給されてデコードされ、セカンダリオーディオストリームは２ndオーディオデコーダ７５−２にそれぞれ供給されてデコードされ、対応するビデオデータとともに再生出力される。なお、コントローラ２１は、＃５レジスタまたは＃４レジスタに設定されているＩＤ番号のオーディオストリームが現在のPlayItem()のSTN_table()に登録されていない場合、それぞれのオーディオストリームの自動選択ルーチンにより、再生されるオーディオストリームを選択する。
【０８２８】
ステップＳ４５５において、invalid_flag＝０ではない（すなわち、invalid_flag＝１である）と判断された場合、ステップＳ４５９において、コントローラ２１は、図８０を用いて説明したようにして、＃３レジスタに設定されているprimary audio stream番号（primary audio stream number）、および、＃４レジスタに設定されているsecondary audio stream番号（secondary audio stream number）より対応するプライマリとセカンダリのオーディオストリームを現在のPlayItemのSTN_table()より調べ、再生すべきプライマリとセカンダリのオーディオストリームを特定し、上述した場合と同様にしてClipから読み出してＡＶデコーダ部４０３に供給して、合成して再生させる。
【０８２９】
例えば、コントローラ２１は、＃３レジスタのprimary audio stream number、および、＃４レジスタのsecondary audio stream numberに設定されている値を参照し、STN_table()に登録されているプライマリとセカンダリのオーディオストリームを読み出し、ＡＶデコーダ部４０３に供給する。読み出されたプライマリとセカンダリのオーディオストリームは、各バッファ、PIDフィルタ、スイッチ等の処理により、プライマリオーディオストリームは１stオーディオデコーダ７５−１に、セカンダリオーディオストリームは２ndオーディオデコーダ７５−２にそれぞれ供給されてデコードされ、対応するビデオデータとともに再生出力される。なお、コントローラ２１は、＃３レジスタまたは＃４に設定されているＩＤ番号のオーディオストリームが現在のPlayItem()のSTN_table()に登録されていない場合、それぞれのオーディオストリームの自動選択ルーチンにより、再生されるオーディオストリームを選択する。
【０８３０】
ステップＳ４５７、または、ステップＳ４５９の処理の終了後、ステップＳ４６０において、コントローラ２１は、ピクチャインピクチャ（PiP）表示が終了されるか否かを判断する。
【０８３１】
上述したように、ピクチャインピクチャ表示がメインパスに同期して設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力にかかわらず、所定のタイミングで実行される。これに対して、ピクチャインピクチャ表示がメインパスと非同期で設定されている場合、ピクチャインピクチャ表示の開始（PiPのON）およびピクチャインピクチャ表示の終了（PiPのOFF）は、ユーザの操作入力により設定される。
【０８３２】
ステップＳ４６０において、ピクチャインピクチャ（PiP）表示が終了されないと判断された場合、処理は、ステップＳ４５４に戻り、それ以降の処理が繰り返される。ステップＳ４６０において、ピクチャインピクチャ（PiP）表示が終了されると判断された場合、処理は終了される。
【０８３３】
このような処理により、ピクチャインピクチャ表示が実行される場合、＃３レジスタ乃至＃５レジスタに設定されている値を基に、いずれのオーディオストリームが再生されるかが決定される。なお、これらのレジスタの設定がSTN_table()の登録内容と一致しない場合には、上述した自動選択ルーチンにより、再生されるストリームが決定される。
【０８３４】
次に、図８８および図８９を参照して、再生装置１、再生装置１４１、または、再生装置４０１において再生可能なデータが記録された記録媒体１１の製造方法について、記録媒体１１がディスク状の記録媒体だった場合を例として説明する。
【０８３５】
即ち、図８８に示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
【０８３６】
そして、図８９に示すように、ソフト製作処理部において、符号化装置（ビデオエンコーダ）で符号化された、再生装置１、再生装置１４１、または、再生装置４０１において再生可能な形式のビデオデータが、一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが、一時バッファに記憶されるとともに、更に、データエンコーダで符号化された、ストリーム以外のデータ（例えば、Indexes、Playlist、PlayItemなど）が一時バッファに記憶される。それぞれのバッファに記憶されたビデオデータ、オーディオデータ、および、ストリーム以外のデータは、多重化器（ＭＰＸ）で同期信号と共に多重化され、誤り訂正符号回路（ＥＣＣ）でエラー訂正用のコードが付加される。
そして、変調回路（ＭＯＤ）で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、再生装置１、再生装置１４１、または、再生装置４０１において再生可能な記録媒体１１に記録されるソフトウェアが製作される。
【０８３７】
このソフトウェアを必要に応じて編集（プリマスタリング）し、光ディスクに記録すべきフォーマットの信号が生成される。そして、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
【０８３８】
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳等の処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
【０８３９】
この成形用金型に、例えばインジェクションなどによりＰＭＭＡ（アクリル）またはＰＣ（ポリカーボネート）などの材料を注入し、固定化させる。あるいは、金属スタンパ上に２Ｐ（紫外線硬化樹脂）などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
【０８４０】
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
【０８４１】
その後、このディスクに対して内外径の加工が施され、２枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして再生装置１、再生装置１４１、または、再生装置４０１によって再生可能なデータが記録された記録媒体１１が完成する。
【０８４２】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した処理は、図９０に示されるようなパーソナルコンピュータ５００により実行される。
【０８４３】
図９０において、CPU（Central Processing Unit）５０１は、ROM(Read Only Memory)５０２に記憶されているプログラム、または、記憶部５０８からRAM(Random Access Memory)５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【０８４４】
CPU５０１、ROM５０２、およびRAM５０３は、内部バス５０４を介して相互に接続されている。この内部バス５０４にはまた、入出力インターフェース５０５も接続されている。
【０８４５】
入出力インターフェース５０５には、キーボード、マウスなどよりなる入力部５０６、CRT，LCDなどよりなるディスプレイ、スピーカなどよりなる出力部５０７、ハードディスクなどより構成される記憶部５０８、並びに、モデム、ターミナルアダプタなどより構成される通信部５０９が接続されている。通信部５０９は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
【０８４６】
入出力インターフェース５０５にはまた、必要に応じてドライブ５１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア５２１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部５０８にインストールされる。
【０８４７】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０８４８】
この記録媒体は、図９０に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア５２１よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM５０２や記憶部５０８が含まれるハードディスクなどで構成される。
【０８４９】
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０８５０】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０８５１】
１  再生装置，  １１  記録媒体，  ２１  コントローラ，  ２２  光ディスクドライブ，  ２３  メモリ，  ２４  ローカルストレージ，  ２６  ＡＶデコーダ部，  ３２  スイッチ，  ５１乃至５４  バッファ，  ５５，５６  PIDフィルタ，  ５７乃至５９  スイッチ，  ７１  バックグラウンドデコーダ，  ７２  ビデオデコーダ/1stビデオデコーダ，  ７３  プレゼンテーショングラフィックスデコーダ，  ７４  インタラクティブグラフィックスデコーダ，  ７５  オーディオデコーダ，  ７６  Text-STコンポジション，  ７７  スイッチ，  ９１  バックグラウンドプレーン生成部，  ９２  ビデオプレーン生成部/1stビデオプレーン生成部，  ９３  プレゼンテーショングラフィックスプレーン生成部，  ９４  インタラクティブグラフィックスプレーン生成部，  ９５  バッファ  ９６  ビデオデータ処理部，  ９７  ミキシング処理部，  １０１  ミキシング処理部，  １４１  再生装置，  １５１  ＡＶデコーダ部，  １６１  PIDフィルタ，  １６２  スイッチ，  ４０１  再生装置，  ４０３  AVデコーダ部，  ４１１  PIDフィルタ，  ４１２  2ndビデオデコーダ，  ４１３  2ndビデオプレーン生成部，  ４１４  プリロード用バッファ
【図１】
0005382478.tif 000002
【図２】
0005382478.tif 000003
【図３】
0005382478.tif 000004
【図４】
0005382478.tif 000005
【図５】
0005382478.tif 000006
【図６】
0005382478.tif 000007
【図７】
0005382478.tif 000008
【図８】
0005382478.tif 000009
【図９】
0005382478.tif 000010
【図１０】
0005382478.tif 000011
【図１１】
0005382478.tif 000012
【図１２】
0005382478.tif 000013
【図１３】
0005382478.tif 000014
【図１４】
0005382478.tif 000015
【図１５】
0005382478.tif 000016
【図１６】
0005382478.tif 000017
【図１７】
0005382478.tif 000018
【図１８】
0005382478.tif 000019
【図１９】
0005382478.tif 000020
【図２０】
0005382478.tif 000021
【図２１】
0005382478.tif 000022
【図２２】
0005382478.tif 000023
【図２３】
0005382478.tif 000024
【図２４】
0005382478.tif 000025
【図２５】
0005382478.tif 000026
【図２６】
0005382478.tif 000027
【図２７】
0005382478.tif 000028
【図２８】
0005382478.tif 000029
【図２９】
0005382478.tif 000030
【図３０】
0005382478.tif 000031
【図３１】
0005382478.tif 000032
【図３２】
0005382478.tif 000033
【図３３】
0005382478.tif 000034
【図３４】
0005382478.tif 000035
【図３５】
0005382478.tif 000036
【図３６】
0005382478.tif 000037
【図３７】
0005382478.tif 000038
【図３８】
0005382478.tif 000039
【図３９】
0005382478.tif 000040
【図４０】
0005382478.tif 000041
【図４１】
0005382478.tif 000042
【図４２】
0005382478.tif 000043
【図４３】
0005382478.tif 000044
【図４４】
0005382478.tif 000045
【図４５】
0005382478.tif 000046
【図４６】
0005382478.tif 000047
【図４７】
0005382478.tif 000048
【図４８】
0005382478.tif 000049
【図４９】
0005382478.tif 000050
【図５０】
0005382478.tif 000051
【図５１】
0005382478.tif 000052
【図５２】
0005382478.tif 000053
【図５３】
0005382478.tif 000054
【図５４】
0005382478.tif 000055
【図５５】
0005382478.tif 000056
【図５６】
0005382478.tif 000057
【図５７】
0005382478.tif 000058
【図５８】
0005382478.tif 000059
【図５９】
0005382478.tif 000060
【図６０】
0005382478.tif 000061
【図６１】
0005382478.tif 000062
【図６２】
0005382478.tif 000063
【図６３】
0005382478.tif 000064
【図６４】
0005382478.tif 000065
【図６５】
0005382478.tif 000066
【図６６】
0005382478.tif 000067
【図６７】
0005382478.tif 000068
【図６８】
0005382478.tif 000069
【図６９】
0005382478.tif 000070
【図７０】
0005382478.tif 000071
【図７１】
0005382478.tif 000072
【図７２】
0005382478.tif 000073
【図７３】
0005382478.tif 000074
【図７４】
0005382478.tif 000075
【図７５】
0005382478.tif 000076
【図７６】
0005382478.tif 000077
【図７７】
0005382478.tif 000078
【図７８】
0005382478.tif 000079
【図７９】
0005382478.tif 000080
【図８０】
0005382478.tif 000081
【図８１】
0005382478.tif 000082
【図８２】
0005382478.tif 000083
【図８３】
0005382478.tif 000084
【図８４】
0005382478.tif 000085
【図８５】
0005382478.tif 000086
【図８６】
0005382478.tif 000087
【図８７】
0005382478.tif 000088
【図８８】
0005382478.tif 000089
【図８９】
0005382478.tif 000090
【図９０】
0005382478.tif 000091