(57)【特許請求の範囲】
【請求項１】
記録媒体に記録されているＡＶストリームファイルの位置を示す主の再生パスを含む第１の情報と、前記ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスを含む第２の情報により構成される再生管理情報を取得する取得手段と、
前記主の再生パスにより参照される前記ＡＶストリームファイルに含まれる前記メイン画像データのタイミングに合わせて再生される付属データ、および、前記副の再生パスにより参照される前記サブファイルに含まれる前記付属データの中から、ユーザの指令に基づいて、再生する付属データを選択する選択手段と、
前記選択手段により選択された付属データが、前記副の再生パスにより参照されるサブファイルに含まれる場合、前記主の再生パスにより参照される前記ＡＶストリームファイルとともに前記副の再生パスにより参照されるサブファイルを読み出す読み出し手段と、  前記読み出し手段により読み出されたＡＶストリームファイルに含まれる前記メイン画像データ、および前記選択手段により選択され、前記読み出し手段により読み出された前記サブファイルに含まれる前記付属データを再生する再生手段と
を備えることを特徴とする再生装置。
【請求項２】
前記第１の情報は、前記主の再生パスにより参照される前記ＡＶストリームファイルに含まれる前記付属データと、前記副の再生パスにより参照される前記付属データを定義するテーブルを含み、
前記選択手段は、前記テーブルに定義されている前記付属データの中から、ユーザの指令に基づいて、再生する付属データを選択する
ことを特徴とする請求項１に記載の再生装置。
【請求項３】
前記選択手段により選択された前記付属データを、自分自身が再生する機能を有するか否かを判定する判定手段をさらに備え、
前記読み出し手段は、前記判定手段により前記付属データを再生する機能を有すると判定された場合であって、その付属データが前記副の再生パスにより参照されるサブファイルに含まれるとき、前記主の再生パスにより参照される前記ＡＶストリームファイルとともに前記副の再生パスにより参照されるサブファイルを読み出し、
前記再生手段は、前記読み出し手段により読み出されたＡＶストリームファイルに含まれる前記メイン画像データ、および前記選択手段により選択され、前記読み出し手段により読み出された前記サブファイルに含まれる前記付属データを再生する
ことを特徴とする請求項１に記載の再生装置。
【請求項４】
前記選択手段により選択された前記付属データを、自分自身が再生する機能を有するか否かを判定する判定手段をさらに備え、
前記読み出し手段は、前記判定手段により前記付属データを再生する機能を有すると判定された場合であって、その付属データが前記副の再生パスにより参照されるサブファイルに含まれるとき、前記主の再生パスにより参照される前記ＡＶストリームファイルとともに前記副の再生パスにより参照されるサブファイルを読み出し、
前記再生手段は、前記読み出し手段により読み出されたＡＶストリームファイルに含まれる前記メイン画像データ、および前記選択手段により選択され、前記読み出し手段により読み出された前記サブファイルに含まれる前記付属データを再生する
ことを特徴とする請求項２に記載の再生装置。
【請求項５】
前記テーブルは、前記付属データの属性情報をさらに定義し、
前記判定手段は、前記テーブルに定義されている前記付属データの属性情報に基づいて、前記付属データを自分自身が再生する機能を有するか否かを判定する
ことを特徴とする請求項４に記載の再生装置。
【請求項６】
前記第２の情報は、
前記副の再生パスのタイプを表すタイプ情報と、
前記副の再生パスが参照する前記サブファイルのファイル名と、
前記副の再生パスが参照する前記サブファイルのイン点とアウト点と
を含むことを特徴とする請求項１に記載の再生装置。
【請求項７】
前記第２の情報は、
前記副の再生パスと前記主の再生パスが同じタイミングで再生されるための、前記主の再生パスにより参照される前記ＡＶストリームファイルを指定する指定情報と、
前記イン点が、前記主の再生パスの時間軸上で同期してスタートするための、前記主の再生パス上の時刻と
をさらに含むことを特徴とする請求項６に記載の再生装置。
【請求項８】
記録媒体に記録されているＡＶストリームファイルの位置を示す主の再生パスを含む第１の情報と、前記ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスを含む第２の情報により構成される再生管理情報を取得する取得ステップと、  前記主の再生パスにより参照される前記ＡＶストリームファイルに含まれる前記メイン画像データのタイミングに合わせて再生される付属データ、および、前記副の再生パスにより参照される前記サブファイルに含まれる前記付属データの中から、ユーザの指令に基づいて、再生する付属データを選択する選択ステップと、
前記選択ステップの処理により選択された付属データが、前記副の再生パスにより参照されるサブファイルに含まれる場合、前記主の再生パスにより参照される前記ＡＶストリームファイルとともに前記副の再生パスにより参照されるサブファイルを読み出す読み出しステップと、
前記読み出しステップの処理により読み出されたＡＶストリームファイルに含まれる前記メイン画像データ、および前記選択ステップの処理により選択され、前記読み出しステップの処理により読み出された前記サブファイルに含まれる前記付属データを再生する再生ステップと
を含むことを特徴とする再生方法。
【請求項９】
記録媒体に記録されているＡＶストリームファイルの位置を示す主の再生パスを含む第１の情報と、前記ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスを含む第２の情報により構成される再生管理情報を取得する取得ステップと、  前記主の再生パスにより参照される前記ＡＶストリームファイルに含まれる前記メイン画像データのタイミングに合わせて再生される付属データ、および、前記副の再生パスにより参照される前記サブファイルに含まれる前記付属データの中から、ユーザの指令に基づいて、再生する付属データを選択する選択ステップと、
前記選択ステップの処理により選択された付属データが、前記副の再生パスにより参照されるサブファイルに含まれる場合、前記主の再生パスにより参照される前記ＡＶストリームファイルとともに前記副の再生パスにより参照されるサブファイルを読み出す読み出しステップと、
前記読み出しステップの処理により読み出されたＡＶストリームファイルに含まれる前記メイン画像データ、および前記選択ステップの処理により選択され、前記読み出しステップの処理により読み出された前記サブファイルに含まれる前記付属データを再生する再生ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
クリップに含まれるＡＶストリームファイルと、ＡＶストリームファイルの再生のタイミングに合わせて再生される付属データとに関する関連データが記録されている記録媒体であって、
前記関連データは、前記付属データが、前記ＡＶストリームファイルの位置を示す主の再生パスにより使用されるクリップに含まれるか、または、前記ＡＶストリームファイルの再生のタイミングに合わせて再生される前記付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスにより使用されるクリップに含まれるかを示し、
前記関連データが、前記付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスにより使用されるクリップに含まれることを示す場合、
前記関連データには、
再生すべき副の再生パスを特定するＩＤと、
前記副の再生パスにより使用されるクリップを特定するＩＤと、
前記クリップにより再生されるエレメンタリストリームを特定するＩＤとのうち、少なくとも前記再生すべき副の再生パスを特定するＩＤが含まれている
ことを特徴とする関連データが記録されている記録媒体。
【請求項１１】
クリップに含まれるＡＶストリームファイルの位置を示す主の再生パスを有する再生制御ファイルを含むデータが記録されている記録媒体であって、
前記再生制御ファイルは、前記ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルの位置を示す副の再生パスを含み、
前記主の再生パスは、前記主の再生パスを再生中に選択しうるエレメンタリストリームの一覧を定義するテーブルを有し、
前記テーブルは、前記選択しうるエレメンタリストリームが、前記主の再生パスにより選択されるＡＶストリームファイルに含まれているか、前記副の再生パスにより選択されるサブファイルに含まれているかを示すデータを有する
ことを特徴とするデータが記録されている記録媒体。
【請求項１２】
クリップに含まれるＡＶストリームファイルの位置を示す主の再生パスを有する再生制御ファイルを含むデータ構造であって、
前記再生制御ファイルは、前記ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルの位置を示す副の再生パスを含み、
前記主の再生パスは、前記主の再生パスを再生中に選択しうるエレメンタリストリームの一覧を定義するテーブルを有し、
前記テーブルは、前記選択しうるエレメンタリストリームが、前記主の再生パスにより選択されるＡＶストリームファイルに含まれているか、前記副の再生パスにより選択されるサブファイルに含まれているかを示すデータを有する
ことを特徴とするデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再生装置および再生方法、プログラム、記録媒体、並びにデータ構造に関し、特に、ＡＶコンテンツを再生する場合に、インタラクティブな操作を可能とする再生装置および再生方法、プログラム、記録媒体、並びにデータ構造に関する。
【背景技術】
【０００２】
DVD（Digital Versatile Disc）ビデオの規格においては、記録媒体に記録されている映画などのＡＶ（Audio Visual）コンテンツを再生する場合、ユーザに、音声切り替えや字幕切り替えというインタラクティブな操作を提供している（例えば、非特許文献１参照）。具体的には、図１の表示装置１に表示されているＡＶコンテンツに対して、ユーザは、リモートコントローラ２の音声切り替えボタン１１や字幕切り替えボタン１２を操作することで、音声の切り替えや字幕を切り替える。例えば、音声１が初期状態として設定されており、ユーザによりリモートコントローラ２の音声切り替えボタン１１が操作された場合、図２に示されるように、音声１が音声２に切り替えられる。【０００３】
DVDビデオ上のＡＶコンテンツは、MPEG（Moving Picture Experts Group）２プログラムストリームの形式で記録されている。このMPEG２プログラムストリームには、図３に示されるように、ビデオストリーム（図３のVideo）、複数のオーディオストリーム（図３のオーディオ１，２，３）、および複数のサブピクチャストリーム（図３のサブピクチャ１，２，３）が、ビデオストリームにＡＶ同期して再生されるように多重化されている。サブピクチャストリーム（サブピクチャ１，２，３）は、ビットマップ画像がランレングス符号化されたストリームであり、主に字幕用途に用いられる。【０００４】
一般に、複数のオーディオストリームは、異なる言語の音声を記録するために用いられ、複数のサブピクチャストリームは、異なる言語の字幕を記録するために用いられる。ユーザは、ビデオが再生されている場合、インタラクティブに所望の言語の音声や字幕を、リモートコントローラ２を用いて選択することができる。【０００５】
また、DVDビデオは、プログラムストリームの中の複数のオーディオストリーム（オーディオ１，２，３）と複数のサブピクチャストリーム（サブピクチャ１，２，３）に対して、ユーザに提供する音声番号と字幕番号の関係を表すテーブル構造を定義している。【０００６】
図４は、ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルを説明する図である。ここでは、音声番号をＡ＿ＳＮ（Audio Stream Number）と称し、字幕番号をＳ＿ＳＮ（SubPicture Stream Number）と称する。図４においては、MPEG２プログラムストリームの複数のオーディオストリームのそれぞれにＡ＿ＳＮが与えられているとともに、MPEG２プログラムストリームの複数のサブピクチャストリームのそれぞれに、Ｓ＿ＳＮが与えられている。Ａ＿ＳＮ＝１：オーディオ２であり、Ａ＿ＳＮ＝２：オーディオ１であり、Ａ＿ＳＮ＝３：オーディオ３である。また、Ｓ＿ＳＮ＝１：サブピクチャ３であり、Ｓ＿ＳＮ＝２：サブピクチャ１であり、Ｓ＿ＳＮ＝３：サブピクチャ２である。ここでは、Ａ＿ＳＮやＳ＿ＳＮの番号が小さい程、ユーザに提供される音声信号として優先度が高い。すなわち、Ａ＿ＳＮ＝１はデフォルトで再生されるオーディオストリームであり、Ｓ＿ＳＮ＝１はデフォルトで再生されるサブピクチャストリームである。【０００７】
具体的には、図１の初期状態で再生される音声１は、Ａ＿ＳＮ＝１であるオーディオ２（図４）に対応しており、音声が切り替えられた後、図２で再生される音声２は、Ａ＿ＳＮ＝２であるオーディオ１（図４）に対応している。
【非特許文献１】DVD Specifications for Read-Only Disc Part 3;Version1.1
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、DVDビデオでは、プログラムストリームのビデオを再生している場合に、ユーザによる音声切り替えや字幕切り替えという操作は、再生しているプログラムストリームに多重化されているオーディオストリームとサブピクチャストリームの中からしか、選ぶことができなかった。すなわち、図３に示されるようなMPEG２プログラムストリームを再生している場合に、音声の切り替えを行う場合、選択肢はオーディオ１乃至３のいずれか１つとなる。【０００９】
そのため、再生しているプログラムストリームとは別の他のストリームでオーディオストリームと字幕を用意した場合、ユーザは、音声の切り替えや字幕切り替えの操作が、他のストリームから選択することができないため、拡張性がないという課題があった。【００１０】
本発明は、このような状況に鑑みてなされたものであり、メインのＡＶストリームとは異なる他のストリームやデータファイルで音声や字幕などを用意した場合に、ユーザによる音声切り替えや字幕切り替えという操作が、メインのＡＶストリームの他に、異なる他のストリームやデータファイルの中から選択できるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の再生装置は、記録媒体に記録されているＡＶストリームファイルの位置を示す主の再生パスを含む第１の情報と、ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスを含む第２の情報により構成される再生管理情報を取得する取得手段と、主の再生パスにより参照されるＡＶストリームファイルに含まれるメイン画像データのタイミングに合わせて再生される付属データ、および、副の再生パスにより参照されるサブファイルに含まれる付属データの中から、ユーザの指令に基づいて、再生する付属データを選択する選択手段と、選択手段により選択された付属データが、副の再生パスにより参照されるサブファイルに含まれる場合、主の再生パスにより参照されるＡＶストリームファイルとともに副の再生パスにより参照されるサブファイルを読み出す読み出し手段と、読み出し手段により読み出されたＡＶストリームファイルに含まれるメイン画像データ、および選択手段により選択され、読み出し手段により読み出されたサブファイルに含まれる付属データを再生する再生手段とを備えることを特徴とする。【００１２】
第１の情報は、主の再生パスにより参照されるＡＶストリームファイルに含まれる付属データと、副の再生パスにより参照される付属データを定義するテーブルを含み、選択手段は、テーブルに定義されている付属データの中から、ユーザの指令に基づいて、再生する付属データを選択するものとすることができる。【００１３】
選択手段により選択された付属データを、自分自身が再生する機能を有するか否かを判定する判定手段をさらに備え、読み出し手段は、判定手段により付属データを再生する機能を有すると判定された場合であって、その付属データが副の再生パスにより参照されるサブファイルに含まれるとき、主の再生パスにより参照されるＡＶストリームファイルとともに副の再生パスにより参照されるサブファイルを読み出し、再生手段は、読み出し手段により読み出されたＡＶストリームファイルに含まれるメイン画像データ、および選択手段により選択され、読み出し手段により読み出されたサブファイルに含まれる付属データを再生するものとすることができる。【００１４】
選択手段により選択された付属データを、自分自身が再生する機能を有するか否かを判定する判定手段をさらに備え、読み出し手段は、判定手段により付属データを再生する機能を有すると判定された場合であって、その付属データが副の再生パスにより参照されるサブファイルに含まれるとき、主の再生パスにより参照されるＡＶストリームファイルとともに副の再生パスにより参照されるサブファイルを読み出し、再生手段は、読み出し手段により読み出されたＡＶストリームファイルに含まれるメイン画像データ、および選択手段により選択され、読み出し手段により読み出されたサブファイルに含まれる付属データを再生するものとすることができる。【００１５】
テーブルは、付属データの付属情報をさらに定義し、判定手段は、テーブルに定義されている付属データの属性情報に基づいて、付属データを自分自身が再生する機能を有するか否かを判定するものとすることができる。【００１６】
第２の情報は、副の再生パスのタイプを表すタイプ情報と、副の再生パスが参照するサブファイルのファイル名と、副の再生パスが参照するサブファイルのイン点とアウト点とを含むものとすることができる。【００１７】
第２の情報は、副の再生パスと主の再生パスが同じタイミングで再生されるための、主の再生パスにより参照されるＡＶストリームファイルを指定する指定情報と、イン点が、主の再生パスの時間軸上で同期してスタートするための、主の再生パス上の時刻とをさらに含むものとすることができる。【００１８】
本発明の再生方法は、記録媒体に記録されているＡＶストリームファイルの位置を示す主の再生パスを含む第１の情報と、ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスを含む第２の情報により構成される再生管理情報を取得する取得ステップと、主の再生パスにより参照されるＡＶストリームファイルに含まれるメイン画像データのタイミングに合わせて再生される付属データ、および、副の再生パスにより参照されるサブファイルに含まれる付属データの中から、ユーザの指令に基づいて、再生する付属データを選択する選択ステップと、選択ステップの処理により選択された付属データが、副の再生パスにより参照されるサブファイルに含まれる場合、主の再生パスにより参照されるＡＶストリームファイルとともに副の再生パスにより参照されるサブファイルを読み出す読み出しステップと、読み出しステップの処理により読み出されたＡＶストリームファイルに含まれるメイン画像データ、および選択ステップの処理により選択され、読み出しステップの処理により読み出されたサブファイルに含まれる付属データを再生する再生ステップとを含むことを特徴とする。【００１９】
本発明のプログラムは、記録媒体に記録されているＡＶストリームファイルの位置を示す主の再生パスを含む第１の情報と、ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスを含む第２の情報により構成される再生管理情報を取得する取得ステップと、主の再生パスにより参照されるＡＶストリームファイルに含まれるメイン画像データのタイミングに合わせて再生される付属データ、および、副の再生パスにより参照されるサブファイルに含まれる付属データの中から、ユーザの指令に基づいて、再生する付属データを選択する選択ステップと、選択ステップの処理により選択された付属データが、副の再生パスにより参照されるサブファイルに含まれる場合、主の再生パスにより参照されるＡＶストリームファイルとともに副の再生パスにより参照されるサブファイルを読み出す読み出しステップと、読み出しステップの処理により読み出されたＡＶストリームファイルに含まれるメイン画像データ、および選択ステップの処理により選択され、読み出しステップの処理により読み出されたサブファイルに含まれる付属データを再生する再生ステップとを含む処理をコンピュータに実行させることを特徴とする。【００２０】
第１の本発明においては、記録媒体に記録されているＡＶストリームファイルの位置を示す主の再生パスを含む第１の情報と、ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスを含む第２の情報により構成される再生管理情報が取得され、主の再生パスにより参照されるＡＶストリームファイルに含まれるメイン画像データのタイミングに合わせて再生される付属データ、および、副の再生パスにより参照されるサブファイルに含まれる付属データの中から、ユーザの指令に基づいて、再生する付属データが選択され、選択された付属データが、副の再生パスにより参照されるサブファイルに含まれる場合、主の再生パスにより参照されるＡＶストリームファイルとともに副の再生パスにより参照されるサブファイルが読み出され、読み出されたＡＶストリームファイルに含まれるメイン画像データ、および選択され、読み出されたサブファイルに含まれる付属データが再生される。【００２１】
本発明の第１の記録媒体に記録されている関連データは、付属データが、ＡＶストリームファイルの位置を示す主の再生パスにより使用されるクリップに含まれるか、または、ＡＶストリームファイルの再生のタイミングに合わせて再生される付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスにより使用されるクリップに含まれるかを示し、関連データが、付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスにより使用されるクリップに含まれることを示す場合、関連データには、再生すべき副の再生パスを特定するＩＤと、副の再生パスにより使用されるクリップを特定するＩＤと、クリップにより再生されるエレメンタリストリームを特定するＩＤとのうち、少なくとも再生すべき副の再生パスを特定するＩＤが含まれていることを特徴とする。【００２２】
第２の本発明においては、関連データは、付属データが、ＡＶストリームファイルの位置を示す主の再生パスにより使用されるクリップに含まれるか、または、ＡＶストリームファイルの再生のタイミングに合わせて再生される付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスにより使用されるクリップに含まれるかを示し、関連データが、付属データを含むサブファイルのそれぞれの位置を示す複数の副の再生パスにより使用されるクリップに含まれることを示す場合、関連データには、再生すべき副の再生パスを特定するＩＤと、副の再生パスにより使用されるクリップを特定するＩＤと、クリップにより再生されるエレメンタリストリームを特定するＩＤとのうち、少なくとも再生すべき副の再生パスを特定するＩＤが含まれていることを特徴とする。【００２３】
本発明の第２の記録媒体に記録されている再生制御ファイルは、ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルの位置を示す副の再生パスを含み、主の再生パスは、主の再生パスを再生中に選択しうるエレメンタリストリームの一覧を定義するテーブルを有し、テーブルは、選択しうるエレメンタリストリームが、主の再生パスにより選択されるＡＶストリームファイルに含まれているか、副の再生パスにより選択されるサブファイルに含まれているかを示すデータを有することを特徴とする。【００２４】
本発明のデータ構造は、再生制御ファイルは、ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルの位置を示す副の再生パスを含み、主の再生パスは、主の再生パスを再生中に選択しうるエレメンタリストリームの一覧を定義するテーブルを有し、テーブルは、選択しうるエレメンタリストリームが、主の再生パスにより選択されるＡＶストリームファイルに含まれているか、副の再生パスにより選択されるサブファイルに含まれているかを示すデータを有することを特徴とする。【００２５】
第３の本発明においては、再生制御ファイルに、ＡＶストリームファイルに含まれるメイン画像データの再生のタイミングに合わせて再生される付属データを含むサブファイルの位置を示す副の再生パスが含まれ、主の再生パスに、主の再生パスを再生中に選択しうるエレメンタリストリームの一覧を定義するテーブルが有され、テーブルに、選択しうるエレメンタリストリームが、主の再生パスにより選択されるＡＶストリームファイルに含まれているか、副の再生パスにより選択されるサブファイルに含まれているかを示すデータが有される。
【発明の効果】
【００２６】
本発明によれば、ＡＶストリームファイルの再生に対して、インタラクティブな操作を行うことができる。特に、本発明によれば、主の再生パスにより参照されるＡＶストリームファイルとは異なる、副の再生パスにより参照されるサブファイルに対しても、インタラクティブな操作を行うことができる。
【図面の簡単な説明】
【００２７】
【図１】従来の音声切り替えを説明する図である。
【図２】従来の音声切り替えを説明する図である。
【図３】MPEG２プログラムストリームの構成を説明する図である。
【図４】ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルを説明する図である。
【図５】本発明を適用した再生装置に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。
【図６】メインパスとサブパスの構造を説明する図である。
【図７】メインパスとサブパスの例を説明する図である。
【図８】メインパスとサブパスの別の例を説明する図である。
【図９】メインパスとサブパスのさらに別の例を説明する図である。
【図１０】メインパスとサブパスの別の例を説明する図である。
【図１１】PlayList()のシンタクスを示す図である。
【図１２】SubPath()のシンタクスを示す図である。
【図１３】SubPlayItem(i)のシンタクスを示す図である。
【図１４】PlayItem()のシンタクスを示す図である。
【図１５】STN_table()のシンタクスを示す図である。
【図１６】stream_entry()のシンタクスの例を示す図である。
【図１７】stream_attribute()のシンタクスを示す図である。
【図１８】stream_cording_typeを説明する図である。
【図１９】video_formatを説明する図である。
【図２０】frame_rateを説明する図である。
【図２１】aspect_ratioを説明する図である。
【図２２】audio_presentation_typeを説明する図である。
【図２３】sampling_frequencyを説明する図である。
【図２４】Character codeを説明する図である。
【図２５】本発明を適用した再生装置の構成例を示すブロック図である。
【図２６】図２５の再生装置における再生処理を説明するフローチャートである。
【図２７】図２５の再生装置における再生処理を説明するフローチャートである。
【図２８】図２５の再生装置における再生処理を説明するフローチャートである。
【図２９】ユーザにより音声の切り替えが指示される場合の処理を説明するフローチャートである。
【図３０】ユーザにより字幕の切り替えが指示される場合の処理を説明するフローチャートである。
【図３１】パーソナルコンピュータの構成を示す図である。
【図３２Ａ】PlayList()のシンタクスの別の例を示す図である。
【図３２Ｂ】PlayList()のシンタクスの別の例を示す図である。
【図３３】STN_table()のシンタクスの他の例を示す図である。
【図３４】図３３のSTN_table()におけるtypeを説明する図である。
【符号の説明】
【００２８】
２０  再生装置，  ３１  ストレージドライブ，  ３２  スイッチ，  ３３  ＡＶデコ
ーダ部，  ３４  コントローラ，  ５１乃至５４  バッファ，  ５５，５６  PIDフィル
タ，  ５７乃至５９  スイッチ，  ７１  バックグラウンドデコーダ，  ７２  MPEG２ビ
デオデコーダ，  ７３  プレゼンテーショングラフィックスデコーダ，  ７４  インタラ
クティブグラフィックスデコーダ，  ７５  オーディオデコーダ，  ７６  Text-STコン
ポジション，  ７７  スイッチ，  ９１  バックグラウンドプレーン生成部，  ９２  ビ
デオプレーン生成部，  ９３  プレゼンテーショングラフィックスプレーン生成部，  ９
４  インタラクティブグラフィックスプレーン生成部，  ９５  バッファ  ９６  ビデオ
データ処理部，  ９７  オーディオデータ処理部
【発明を実施するための最良の形態】
【００２９】
以下、図を参照して、本発明の実施の形態について説明する。【００３０】
図５は、本発明を適用した再生装置２０（図２５を参照して後述する）に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。記録媒体は、後述する光ディスクの他、磁気ディスクや半導体メモリであってもよい。【００３１】
アプリケーションフォーマットは、ＡＶ（Audio Visual）ストリームの管理のために、PlayListとClipの２つのレイヤを有している。ここでは、１つのＡＶストリームとそれに付随する情報であるClipインフォメーションのペアを１つのオブジェクトと考え、それらをまとめてClipと称する。以下、ＡＶストリームをＡＶストリームファイルとも称する。また、ClipインフォメーションをClipインフォメーションファイルとも称する。【００３２】
一般的に、コンピュータ等で用いられるファイルはバイト列として扱われるが、ＡＶストリームファイルのコンテンツは時間軸上に展開され、Clipのアクセスポイントは、主に、タイムスタンプでPlayListにより指定される。すなわち、PlayListとClipは、ＡＶストリームの管理のためのレイヤである。【００３３】
Clip中のアクセスポイントがタイムスタンプでPlayListにより示されている場合、Clip Informationファイルは、タイムスタンプから、ＡＶストリームファイル中のデコードを開始すべきアドレス情報を見つけるために役立つ。【００３４】
PlayListは、ＡＶストリームの再生区間の集まりである。あるＡＶストリーム中の１つの再生区間はPlayItemと呼ばれ、それは、時間軸上の再生区間のＩＮ点（再生開始点）とOUT点（再生終了点）のペアで表される。従って、PlayListは、図５に示されるように１つ、または複数のPlayItemにより構成される。【００３５】
図５において、左から１番目のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側のClipに含まれるＡＶストリームの前半部分と後半部分がそれぞれ参照されている。また、左から２番目のPlayListは１つのPlayItemから構成され、それにより、右側のClipに含まれるＡＶストリーム全体が参照されている。さらに、左から３番目のPlayListは２つのPlayItemから構成され、その２つのPlayItemにより、左側のClipに含まれるＡＶストリームのある部分と、右側のClipに含まれるＡＶストリームのある部分がそれぞれ参照されている。【００３６】
例えば、図５のディスクナビゲーションプログラムにより、そのときの再生位置を表す情報として、左から１番目のPlayListに含まれる左側のPlayItemが指定された場合、そのPlayItemが参照する、左側のClipに含まれるＡＶストリームの前半部分の再生が行われる。【００３７】
ディスクナビゲーションプログラムは、PlayListの再生の順序や、PlayListのインタラクティブな再生をコントロールする機能を有する。また、ディスクナビゲーションプログラムは、各種の再生の実行をユーザが指示するためのメニュー画面を表示する機能なども有する。このディスクナビゲーションプログラムは、例えば、Java（登録商標）などのプログラミング言語で記述され、記録媒体上に用意される。【００３８】
本実施の形態では、PlayListの中で、１つ以上のPlayItemの並びによって（連続するPlayItemにより）作られる再生パスをメインパス(Main Path)と称し、PlayListの中で、Main Pathに平行（並列）して、１つ以上のSub Pathの並びによって（非連続でもよいし、連続してもよいSubPlayItemにより）作られる再生パスをサブパス（Sub Path）と称する。すなわち、再生装置２０（図２５を参照して後述する）に装着される記録媒体上のアプリケーションフォーマットは、メインパスに関連付けられて（合わせて）再生されるサブパス(Sub Path)をPlayListの中に持つ。【００３９】
図６は、メインパスとサブパスの構造を説明する図である。PlayListは、１つのメインパスと１つ以上のサブパスを持つことができる。１つのサブパスは、１つ以上の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＝１のサブパスは、映画のディレクターズカットなどに適用され、所定のＡＶストリームの部分にのみ、映画監督などのコメントが入っている場合が考えられる。【００４２】
１つのPlayItemが参照するClip ＡＶストリームファイルには、少なくともビデオストリームデータ（メイン画像データ）が含まれる。また、Clip ＡＶストリームファイルに含まれるビデオストリーム（メイン画像データ）と同じタイミングで（同期して）再生されるオーディオストリームが１つ以上含まれてもよいし、含まれなくてもよい。さらに、Clip ＡＶストリームファイルに含まれるビデオストリームと同じタイミングで再生されるビットマップ字幕ストリームが１つ以上含まれてもよいし、含まれなくてもよい。また、Clip ＡＶストリームファイルに含まれるビデオストリームと同じタイミングで再生されるインタラクティブグラフィックスストリームが１つ以上含まれてもよいし、含まれなくてもよい。そして、Clip ＡＶストリームファイルに含まれるビデオストリームと、ビデオストリームと同じタイミングで再生されるオーディオストリーム、ビットマップ字幕ストリームファイル、またはインタラクティブグラフィックスストリームが多重化されている。すなわち、１つのPlayItemが参照するClip ＡＶストリームファイルには、ビデオストリームデータと、そのビデオストリームに合わせて再生される０個以上のオーディオストリーム、０個以上のビットマップ字幕ストリームデータ、および０個以上のインタラクティブグラフィックスストリームデータが多重化されている。【００４３】
また、１つのSubPlayItemは、PlayItemが参照するClip ＡＶストリームファイルとは異なるストリーム（別ストリーム）のオーディオストリームデータや字幕データを参照する。【００４４】
メインパスのみを有するPlayListを再生する場合、ユーザによる音声切り替えや字幕切り替えという操作は、そのメインパスが参照するClipに多重化されているオーディオストリームとサブピクチャストリームの中からしか音声や字幕を選択することができない。これに対し、メインパスとサブパスを持つPlayListを再生する場合、そのメインパスが参照するClip ＡＶストリームファイルに多重化されているオーディオストリームとサブピクチャストリームに加えて、SubPlayItemが参照するClipのオーディオストリームやサブピクチャストリームを参照することができる。【００４５】
このように、１つのPlayListの中にSubPathを複数使用し、それぞれのSubPathがそれぞれSubPlayItemを参照する構成としたので、拡張性の高い、また、自由度の高いＡＶストリームを実現することができる。すなわち、後で、SubPlayItemを追加できる構成とすることができる。【００４６】
図７は、メインパスとサブパスの例を説明する図である。図７においては、メインパスと同じタイミングで（ＡＶ同期して）再生されるオーディオの再生パスを、サブパスを使用して表している。【００４７】
図７のPlayListには、メインパスとして、PlayItem_id＝０である１つのPlayItemと、サブパスとして１つのSubPlayItemが含まれている。SubPlayItem()は、次に示すデータが含まれている。まず、PlayListの中のSub Path（サブパス）が参照するClipを指定するためのClip_Information_file_nameを含む。図７の例の場合、SubPlayItemによって、SubClip_entry_id＝０のAuxiliary audio stream（オーディオストリーム）が参照されている。また、Clip（ここでは、Auxiliary audio stream）の中の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＝ｔ１とされている。これにより、メインパスの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が参照するメインＡＶストリームファイルは、図７と同様であるので省略している。【００５３】
例えば、メインパスを静止画のスライドショーとし、サブパスのオーディオパスをメインパスのBGM(バックグラウンドミュージック)として使う場合に、このような構成が利用される。すなわち、ユーザが、スライドショーの画像更新を再生装置（プレーヤ）へ指令したときに、BGMを途切れさせないで再生させる場合に利用される。【００５４】
図８においては、メインパスにPlayItem_id＝０，１，２が配置され、サブパスに１つのSubPlayItemが配置されている。そして、Sub Pathが、Clip（Auxiliary audio stream）の中のSub Pathの再生区間を指定するためのSubPlayItem_IN_timeとSubPlayItem_OUT_timeを含む。図８の例の場合、SubPlayItemによって、Clip（Auxiliary audio stream）が参照されている。図８と図７を比較するに、図８では、SubPlayItemにsync_PlayItem_idとsync_start_PTS_of_PlayItemを含まない。このことは、メインパスが参照するＡＶストリームの（ビデオデータの）タイミングとオーディオの再生タイミングは関係ないため、Main pathの時間軸上でSub Pathが再生を開始する時刻を指定する必要がないからである。すなわち、単にMain Pathが参照するＡＶストリームとSub Pathが参照するオーディオストリームを合わせて再生する、という情報だけあればよい。【００５５】
なお、ここで、ＡＶストリームに含まれるビデオストリームのデータとサブパスにより参照されるオーディオストリームのデータの再生のタイミングが異なると記載しているが、より詳細には、ＡＶストリームに含まれるビデオストリームの再生のタイミングと、オーディオストリームの再生タイミングは合ってはいる（すなわち、ビデオストリームにオーディオストリームが関連付けられている）が、ビデオストリームの中の所定のフレームを再生中に、対応する音が再生される、という具体的な対応付けまでは行われていないことを示している。すなわち、図７の例では、ビデオストリームの再生タイミングと、オーディオストリームの再生タイミングが合っている上に、ビデオストリームの中の所定のフレームを再生中に、対応する音が再生される、という具体的な対応付けまで行われているが、図８の例では、ビデオストリームの再生タイミングと、オーディオストリームの再生タイミングが合っているが、具体的な対応付けまでは行われおらず、ビデオストリームの中の所定フレームを再生中に、対応する音が再生されるということではない。
【００５６】
図９は、メインパスとサブパスの別の例を説明する図である。図９においては、メインパスと同じタイミングで再生されるテキスト字幕（Interactive graphics stream）の再生パスを、サブパスを使用して表している。ここで、メインパスのPlayItemが参照するメインＡＶストリームファイルは、図７と同様であるので省略している。【００５７】
この場合、テキスト字幕はＭＰＥＧ−２システムの多重化ストリーム、あるいは、多重化ストリームではないデータファイルとして定義される。このデータファイルは、メインパスのビデオに同期して再生される台詞のテキストデータ(文字コードの並び)と、そのアトリビュートをまとめたファイルである。アトリビュートは、テキストデータをレンダリングするときに使うフォント種類、フォントの大きさ、文字の色などの情報である。【００５８】
図９と図７を比較するに、図９においては、SubPlayItemによって、SubClip_entry_id＝０，１，・・・，ＮのText based subtitle（テキスト字幕）を参照することができる。すなわち、１つのSubPlayItemで、同じタイミングで複数のテキスト字幕ファイルを参照する構造を有し、このSubPlayItemを再生する場合には、複数のテキスト字幕ファイルから１つのテキスト字幕ファイルが選ばれて再生される。例えば、複数の言語のテキスト字幕ファイルの中から、１つのテキスト字幕ファイルが選ばれて再生される。具体的には、SubClip_entry_id＝０乃至Ｎの中から（ユーザの指令に基づいて）１つが選択され、そのＩＤが参照するText based subtitleが再生される。【００５９】
なお、テキスト字幕ファイルに限らず、ビットマップ字幕ストリームファイル、トランスポートストリームファイル、各種のデータファイルなどについても同様に適用することができる。また、キャラクタのコードやそれをレンダリングする情報を含むデータファイルであっても、同様に適用することができる。【００６０】
図１０は、メインパスとサブパスの別の例を説明する図である。図１０においては、メインパスが、異なるタイミングで再生されるインタラクティブグラフィックスストリーム（Interactive graphics stream）の再生パスを、サブパスを使用して表している。【００６１】
図１０と図８を比較するに、図１０においては、SubPlayItemによって、SubClip_entry_id＝０，１，・・・，ＮのInteractive graphics stream（インタラクティブグラフィックスストリーム）を参照することができる。すなわち、１つのSubPlayItemで、同じタイミングで複数のインタラクティブグラフィックスストリームファイルを参照する構造を有し、このSubPlayItemを再生する場合には、複数のインタラクティブグラフィックスストリームファイルから１つのインタラクティブグラフィックスストリームファイルが選ばれて再生される。具体的には、SubClip_entry_id＝０乃至Ｎの中から（ユーザの指令に基づいて）１つが選択され、そのＩＤが参照するInteractive graphics streamが再生される。例えば、ユーザからの指令に基づいて、インタラクティブグラフィックスストリームの言語のうちの１つが選択され、選択された言語のインタラクティブグラフィックスストリームが再生される。【００６２】
次に、図６乃至図１０を用いて説明したメインパスとサブパスの構造を具体的に実現するためのデータ構造（シンタクス）を説明する。【００６３】
図１１は、PlayList()のシンタクスを示す図である。【００６４】
lengthは、このlengthフィールドの直後から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が参照される。【００６６】
図１１の別案として、図３２に示すSyntaxも考えられる。図１１では、SubPathの情報を格納したデータ構造SubPath()をPlayList()の中に設けたが、図３２ではPlayList()とは独立したデータ構造としている。図３２ＡのPlayList()には、Main pathのPlayItemだけが記述され、図３２ＢのSubPaths()には、Sub Path,SubPlayItemが記述される。図３２のようなデータ構造にしておくと、SubPaths()をPlayList()が格納されるファイルとは別のファイルに格納することができる。例えば、SubPath()が格納されたファイルとSubPathによって参照されている字幕ストリームファイルあるいはオーディオストリームファイル等をネットワークからダウンロードして、記録媒体に格納されているMain pathと同時に再生するという用途が考えられる。すなわち、SubPathの拡張がより容易に実現できる。PlayList()が格納されるファイルとSubPaths()が格納されるファイルとの関連付けは、例えばファイル名の一部を一致させることによって実現できる。【００６７】
図１２は、SubPath()のシンタクスを示す図である。【００６８】
lengthは、このlengthフィールドの直後からSub Path ()の最後までのバイト数を示す３２ビットの符号なし整数である。lengthの後には、１６ビットのreserved_for_future_useが用意される。SubPath_typeは、SubPathのアプリケーション種類を示す８ビットのフィールドである。SubPath_typeは、例えば、Sub Pathがオーディオであるか、ビットマップ字幕であるか、テキスト字幕であるかなどの種類を示す場合に利用される。すなわち、図７乃至図１０で上述したようなSub pathの種類を示す。SubPath_typeの後には、１５ビットのreserved_for_future_useが用意される。is_repeat_SubPathは、SubPathの再生方法を指定する１ビットのフィールドであり、メインパスの再生の間にSubPathの再生を繰り返し行うか、またはSubPathの再生を１回だけ行うかを示すものである。例えば、図８や図１０に示されるようなメインＡＶストリームとサブパスが指定するClipの再生タイミングが異なる場合などに利用される。Is_repeat_SubPathの後には、８ビットのreserved_for_future_useが用意される。number_of_SubPlayItemsは、１つのSubPathの中にあるSubPlayItemの数（エントリー数）を示す８ビットのフィールドである。例えば、number_of_SubPlayItemsは、図６のSubPath_id＝０のSubPlayItemは１個であり、SubPath_id＝１のSubPlayItemは２個である。その後のfor文では、SubPlayItemの数だけ、SubPlayItemが参照される。【００６９】
図１３は、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は、上述したように、図７と図９の場合（メインＡＶストリームとサブパスにより示されるファイルの再生タイミングが同じである場合）に使用され、図８と図１０の場合（メインＡＶストリームとサブパスにより示されるファイルの再生タイミングが異なる場合）には使用されない。また、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に対するText based subtitleがこのSubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemに基づいて再生される。【００７７】
ここで、subclip_entry_idの値は、SubPlayItemの中にあるClip_Information_file_name[subclip_entry_id]が現れる順番に１から割り振られる。また、Clip_Information_file_ name[0]のsubclip_entry_idは０である。【００７８】
図１４は、PlayItem()のシンタクスを示す図である。【００７９】
lengthは、このlengthフィールドの直後からPlayItem()の最後までのバイト数を示す１６ビットの符号なし整数である。Clip_Information_file_ name[0]は、PlayItemが参照するClipを指定するためのフィールドである。図７の例の場合、Clip_Information_file_ name[0]により、メインＡＶストリームが参照される。また、Clipのコーデック方式を指定するClip_codec_identifier［0］、reserved_for_future_use、is_multi_angle、connection_condition、STC不連続点（システムタイムベースの不連続点）に関する情報であるref_to_STC_id［0］を含む。さらに、Clipの中のPlayItemの再生区間を指定するためのIN_time と OUT_timeを含む。図７の例の場合、IN_time と OUT_timeにより、メインClipＡＶストリームファイルの再生範囲が表される。また、UO_mask_table()、PlayItem_random_access_mode、still_modeを含む。is_multi_angleが複数ある場合については、本発明と直接的には関係ないのでその説明を省略する。【００８０】
PlayItem()の中のSTN_table()は、対象のPlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、ユーザによる音声切り替えや字幕切り替えという操作が、そのPlayItemが参照するClipとこれらの１つ以上のSubPathが参照する参照するClipsの中から選ぶことができる仕組みを提供するものである。【００８１】
図１５は、STN_table()のシンタクスを示す図である。STN_table()は、PlayItemの属性として設定されている。【００８２】
lengthは、このlengthフィールドの直後からSTN_table()の最後までのバイト数を示す１６ビットの符号なし整数である。lengthの後には、１６ビットのreserved_for_future_useが用意される。num_of_video_stream_entriesは、STN_table()の中でエントリーされる（登録される）video_stream_idが与えられるストリーム数を示す。video_stream_idは、ビデオストリームを識別するための情報であり、video_stream_numberは、ビデオ切り替えに使われる、ユーザから見えるビデオストリーム番号である。num_of_audio_stream_entriesは、STN_table()の中でエントリーされるaudio_stream_idが与えられるストリーム数を示す。audio_stream_idは、オーディオストリームを識別するための情報であり、audio_stream_numberは、音声切り替えに使われるユーザから見えるオーディオストリーム番号である。【００８３】
num_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は、字幕切り替えに使われるユーザから見える字幕ストリーム番号（テキストサブタイトルストリームの番号）である。【００８４】
num_of_IG_stream_entriesは、STN_table()の中でエントリーされる IG_stream_idが与えられるストリーム数を示す。この中では、インタラクティブグラフィックスストリームがエントリーされる。IG_stream_idは、インタラクティブグラフィックスストリームを識別するための情報であり、IG_stream_numberは、グラフィックス切り替えに使われるユーザから見えるグラフィックスストリーム番号である。【００８５】
ここで、stream_entry()のシンタクスについて図１６を参照して説明する。【００８６】
typeは、上述したストリーム番号が与えられるストリームを一意に特定するために必要な情報の種類を示す８ビットのフィールドである。【００８７】
type＝１では、PlayItemによって参照されるClip(Main Clip)の中に多重化されている複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するために、パケットID(PID)が指定される。ref_to_stream_PID_of_mainClipが、このPIDを示している。すなわち、type＝１では、メインClipＡＶストリームファイルの中のPIDを指定するだけでストリームが決定される。【００８８】
type＝２では、SubPathが一度にただ１つのエレメンタリストリームだけを多重化する１つのClipを参照する場合に、この１つのエレメンタリストリームを特定するために、そのSubPathのSubPath_idが指定される。ref_to_SubPath_idがこのSubPath_idを示している。type＝２は、例えば、図８に示されるように、Sub Pathによって、１つのオーディオストリームしか参照されない場合、すなわち、SubPlayItemの中にClipが１つしかない場合に用いられる。【００８９】
type＝３では、SubPathが一度に複数個のClipsを参照し、それぞれのClipがただ１つのエレメンタリストリームだけを多重化する場合に、SubPathによって参照される１つのClip(Sub Clip)の１つのエレメンタリストリームを特定するために、そのSubPathのSubPath_idとClip idが指定される。ref_to_SubPath_idがこのSubPath_idを示し、ref_to_subClip_entry_idがこのClip idを示している。Type＝３は、例えば、図９に示されるように、１つのSub Pathで複数のClip （Text based Subtitle）を参照しているような場合、すなわち、SubPlayItemの中にClipが複数ある場合に用いられる。【００９０】
type＝４では、SubPathが一度に複数個のClipsを参照し、それぞれのClipが複数のエレメンタリストリームを多重化する場合に、SubPathによって参照される１つのClip(Sub Clip)の複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するために、その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）を使うことで、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から１つのエレメンタリストリームを特定することができる。なお、type＝１はMain Pathが参照するClip（メインClip）を示しており、type＝２乃至４はSub Pathが参照するClip（サブClip）を示している。なお、図１６において、エレメンタリストリームを特定するために、４つのtypeを設けたが、メインClipの中に多重化されているエレメンタリストリームを特定するためのtype（図１６ではtype＝１に相当）と、図１６における、type２乃至４までとをまとめて、サブパス（Subpath）により使用されるクリップのエレメンタリストリームを特定するためのtypeとして、２つのtypeに分けてもよい。この場合のstream_entry()のシンタクスを、図３３を参照して説明する。【００９２】
図３３において、typeは、上述したストリーム番号が与えられるストリームを一意に特定するために必要な情報の種類を示す８ビットのフィールドである。すなわち、typeの８ビットのフィールドは、stream_entry（）のstream numberにより参照されるエレメンタリストリームを特定するためのデータベースのtypeを指定するためのものである。図３３の例の場合、typeは、図３４に示されるように２つのtypeに分けられる。図３４において、type＝１は、メインクリップの中に多重化されているエレメンタリストリームを特定するためのtype（図１６ではtype＝１に相当）であり、type＝２は、図１６のtype２乃至４までをまとめたものであり、サブパス（Subpath）により使用されるクリップのエレメンタリストリームを特定するためのtypeである。【００９３】
図３３のtype＝１は、PlayItemにより使用されるClip(Main Clip)のエレメンタリストリームを特定するためのものである。すなわち、type＝１では、PlayItemによって参照されるClip(Main Clip)の中に多重化されている複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するために、パケットID(PID)が指定される。ref_to_stream_PID_of_mainClipが、このPIDを示している。換言すれば、type＝１では、メインClipＡＶストリームファイルの中のPIDを指定するだけでストリームが決定される。【００９４】
また、図３３のtype＝２は、PlayItemに付随するSubpathにより使用されるClipのエレメンタリストリームを特定するためのものである。type＝２では、例えば、SubPathが一度にただ１つのエレメンタリストリームだけを多重化する１つのClipを参照する場合（図１６におけるtype＝２）、SubPathが一度に複数個のClipsを参照し、それぞれのClipがただ１つのエレメンタリストリームだけを多重化する場合（図１６におけるtype＝３）、または、SubPathが一度に複数個のClipsを参照し、それぞれのClipが複数のエレメンタリストリームを多重化する場合（図１６におけるtype＝４）に、エレメンタリストリームを特定するために、SubPath_id、Clip id、およびパケットＩＤ(PID)が指定される。【００９５】
なお、図３３においては、type＝２である場合、SubPath_id、Clip id、およびパケットＩＤ(PID)の３つが指定されるものとして説明するが、SubPath_id、Clip id、およびパケットＩＤ(PID)の３つ全てが指定されなくともよい。例えば、SubPathが一度にただ１つのエレメンタリストリームだけを多重化する１つのClipを参照する場合（図１６のtype＝２に対応する場合）、この１つのエレメンタリストリームを特定するために、そのSubPathのSubPath_idが指定されればよい。また、例えば、SubPathが一度に複数個のClipsを参照し、それぞれのClipがただ１つのエレメンタリストリームだけを多重化する場合（図１６のtype＝３に対応する場合）、SubPathによって参照される１つのClip(Sub Clip)の１つのエレメンタリストリームを特定するために、そのSubPathのSubPath_idとClip idとが指定されればよい。また、例えば、SubPathが一度に複数個のClipsを参照し、それぞれのClipが複数のエレメンタリストリームを多重化する場合（図１６のtype＝４に対応する場合）、SubPathによって参照される１つのClip(Sub Clip)の複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するために、そのSubPathのSubPath_id、Clip id、およびパケットID(PID)が指定されればよい。すなわち、図３３および図３４のtype＝２の場合、SubPath_id、Clip id、およびパケットＩＤ(PID)のうち、少なくともSubpath_idが指定されればよい。【００９６】
図３３と図３４に示されるように、type（１と２のtype）を使う場合においても、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から１つのエレメンタリストリームを特定することができる。【００９７】
図１５のSTN_table()の説明に戻って、ビデオストリームＩＤ (video_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのビデオエレメンタリストリームに、０からvideo_stream_idが与えられる。なお、ビデオストリームＩＤ（video_stream_id）の代わりに、ビデオストリーム番号（video_stream_number）を用いるようにしてもよい。この場合、video_stream_numberは、０ではなく１から与えられる。すなわち、video_stream_idの値に１を加算したものがvideo_stream_numberである。ビデオストリーム番号は、ビデオ切り替えに使われる、ユーザから見えるビデオストリーム番号であるので、１から定義される。【００９８】
同様に、オーディオストリームＩＤ (audio_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのオーディオエレメンタリストリームに、０からaudio_stream_idが与えられる。なお、ビデオストリームの場合と同様に、オーディオストリームＩＤ（audio_stream_id）の代わりに、オーディオストリーム番号（audio_stream_number）を用いるようにしてもよい。この場合、audio_stream_numberは、０ではなく１から与えられる。すなわち、audio_stream_idの値に１を加算したものがaudio_stream_numberである。オーディオストリーム番号は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号であるので、１から定義される。【００９９】
同様に、字幕ストリームＩＤ (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()について説明する。【０１０２】
ビデオストリームＩＤ (video_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのビデオエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのビデオエレメンタリストリームのストリーム属性情報が記述されている。【０１０３】
同様に、オーディオストリームＩＤ(audio_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報が記述されている。【０１０４】
同様に、字幕ストリームＩＤ(PG_txtST_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのビットマップ字幕エレメンタリストリームまたはテキスト字幕エレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのビットマップ字幕エレメンタリストリームのストリーム属性情報が記述されている。【０１０５】
同様に、グラフィックスストリームＩＤ(IG_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームのストリーム属性情報が記述されている。【０１０６】
ここで、stream_attribute()のシンタクスについて図１７を参照して説明する。【０１０７】
lengthは、このlengthフィールドの直後からstream_attribute()の最後までのバイト数を示す１６ビットの符号なし整数である。【０１０８】
stream_coding_typeは、図１８に示されるようにエレメンタリストリームの符号化タイプを示す。エレメンタリストリームの符号化タイプとしては、MPEG-2 video stream、HDMV LPCM audio、Dolby AC-3 audio、dts audio、Presentation graphics stream、Interactive graphics stream、およびText subtitle streamが記述される。【０１０９】
video_formatは、図１９に示されるようにビデオエレメンタリストリームのビデオフォーマットを示す。ビデオエレメンタリストリームのビデオフォーマットとしては、４８０ｉ、５７６ｉ、４８０ｐ、１０８０ｉ、７２０ｐ、および１０８０ｐが記述される。【０１１０】
frame_rateは、図２０に示されるように、ビデオエレメンタリストリームのフレームレートを示す。ビデオエレメンタリストリームのフレームレートとしては、２４０００／１００１、２４、２５、３００００／１００１、５０、および６００００／１００１が記述される。【０１１１】
aspect_ratioは、図２１に示されるようにビデオエレメンタリストリームのアスペクト比情報を示す。ビデオエレメンタリストリームのアスペクト比情報としては、４：３ display aspect ratio、および１６：９ display aspect ratioが記述される。【０１１２】
audio_presentation_typeは、図２２に示されるようにオーディオエレメンタリストリームのプレゼンテーションタイプ情報を示す。オーディオエレメンタリストリームのプレゼンテーションタイプ情報としては、single mono channel、dual mono channel、stereo(2-channel)、およびmulti-channelが記述される。【０１１３】
sampling_frequencyは、図２３に示されるようにオーディオエレメンタリストリームのサンプリング周波数を示す。オーディオエレメンタリストリームのサンプリング周波数としては、４８ｋHz、および９６ｋHzが記述される。【０１１４】
audio_language_codeは、オーディオエレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。【０１１５】
PG_language_codeは、ビットマップ字幕エレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。【０１１６】
IG_language_code、インタラクティブグラフィックスエレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。【０１１７】
textST_language_codeは、テキスト字幕エレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。【０１１８】
character_codeは、図２４に示されるようにテキスト字幕エレメンタリストリームのキャラクタコードを示す。テキスト字幕エレメンタリストリームのキャラクタコードとしては、Unicode V1.1(ISO 10646-1)、Shift  JIS（Japanese）、KSC 5601-1987 including KSC 5653 for Roman character(Korean)、GB 18030-2000(Chinese)、GB2312(Chinese)、およびBIG５(Chinese)が記述される。【０１１９】
以下に、図１７のstream_attribute()のシンタクスについて、図１７と、図１８乃至図２４を用いて具体的に説明する。【０１２０】
エレメンタリストリームの符号化タイプ（図１７のstream_coding_type）がMPEG-2 video stream（図１８）である場合、stream_attribute()には、そのエレメンタリストリームのビデオフォーマット（図１９）、フレームレート（図２０）、およびアスペクト比情報（図２１）が含まれる。【０１２１】
エレメンタリストリームの符号化タイプ（図１７のstream_coding_type）がHDMV LPCM audio、Dolby AC-3 audio、またはdts audio（図１８）である場合、stream_attribute()には、そのオーディオエレメンタリストリームのプレゼンテーションタイプ情報（図２２）、サンプリング周波数（図２３）、および言語コードが含まれる。【０１２２】
エレメンタリストリームの符号化タイプ（図１７のstream_coding_type）がPresentation graphics stream（図１８）である場合、stream_attribute()には、そのビットマップ字幕エレメンタリストリームの言語コードが含まれる。【０１２３】
エレメンタリストリームの符号化タイプ（図１７のstream_coding_type）がInteractive graphics stream（図１８）である場合、stream_attribute()には、そのインタラクティブグラフィックスエレメンタリストリームの言語コードが含まれる。【０１２４】
エレメンタリストリームの符号化タイプ（図１７のstream_coding_type）がText subtitle stream（図１８）である場合、stream_attribute()には、そのテキスト字幕エレメンタリストリームのキャラクタコード（図２４）、言語コードが含まれる。【０１２５】
なお、これらの属性情報はこれに限定されない。【０１２６】
このように、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から、stream_entry()によって特定された１つのエレメンタリストリームの属性情報をstream_attribute()によって知ることができる。【０１２７】
再生装置は、この属性情報（stream_attribute()）を調べることによって、そのエレメンタリストリームを自分自身が再生する機能を持っているか否かを調べることができる。また、再生装置は、この属性情報を調べることによって、再生装置の言語設定の初期情報に対応したエレメンタリストリームの選択することができる。【０１２８】
例えば、再生装置が、ビットマップ字幕エレメンタリストリームの再生機能だけを有し、テキスト字幕エレメンタリストリームの再生機能を有していない場合を想定する。この再生装置に対して、ユーザが言語切り替えを指示した場合、再生装置は、字幕ストリームＩＤ (PG_txtST_stream_id)のforループの中から、ビットマップ字幕エレメンタリストリームだけを順次選択して、再生する。【０１２９】
また、例えば、再生装置の言語設定の初期情報が日本語である場合を想定する。この再生装置に対して、ユーザが音声切り替えを指示した場合、再生装置は、オーディオストリームＩＤ (Audio stream id)のforループの中から、言語コードが日本語であるオーディオエレメンタリストリームだけを順次選択して、再生する。【０１３０】
このようにして、PlayItem()の中のSTN_table()は、このPlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、ユーザによる音声切り替えや字幕切り替えという操作が、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から選ぶことができる仕組みを提供するようにしたので、メインＡＶストリームが記録されている、再生するＡＶストリームとは異なるストリームやデータファイルに対しても、インタラクティブな操作を行うことができる。【０１３１】
また、１つのPlayListの中にSubPathを複数使用し、それぞれのSubPathがそれぞれSubPlayItemを参照する構成としたので、拡張性の高い、また、自由度の高いＡＶストリームを実現することができる。すなわち、後で、SubPlayItemを追加できる構成とすることができる。例えば、Main Pathが参照するClipＡＶストリームファイルとこれに対応付けられるPlayListがあり、このPlayListが新たなSub Pathを追加したPlayListに書き換えられた場合、新たなPlayListに基づいて、Main Pathが参照するClipＡＶストリームファイルとともに、Main Pathが参照するClipＡＶストリームファイルとは異なるClipＡＶストリームファイルを参照して、再生を行うことができる。このように、拡張性を有する構成とすることができる。【０１３２】
次に、本発明を適用した再生装置について説明する。図２５は、本発明を適用した再生装置２０の構成例を示すブロック図である。この再生装置２０は、上述したメインパスとサブパスを有するPlayListを再生する再生装置２０である。【０１３３】
再生装置２０には、ストレージドライブ３１、スイッチ３２、ＡＶデコーダ部３３、およびコントローラ３４が設けられている。【０１３４】
図２５の例の場合、最初に、コントローラ３４がストレージドライブ３１を介してPlayListファイルを読み出し、PlayListファイルの情報に基づいて、ストレージドライブ３１を介してHDD、ブルーレイディスク、またはDVDなどの記録媒体からＡＶストリームやＡＶデータを読み出す。ユーザは、ユーザインターフェースを用いて、コントローラ３４に対し、音声や字幕などの切り替えの指令を行うことができる。また、コントローラ３４には、再生装置２０の言語設定の初期情報が図示せぬ記憶部などから供給される。【０１３５】
PlayListファイルには、Main Path、Sub Pathの情報の他、STN_table()が含まれている。コントローラ３４は、PlayListファイルに含まれるPlayItemが参照するメインClip AVストリームファイル（以下、メインClipと称する）、SubPlayItemが参照するサブClip AVストリームファイル（以下、サブClipと称する）、およびSubPlayItemが参照するテキストサブタイトルデータを、ストレージドライブ３１を介して記録媒体などから読み出す。また、コントローラ３４は、自分自身（再生装置２０）の再生機能に対応するエレメンタリストリームを選択し、再生するよう制御したり、再生装置２０の言語設定の初期情報に対応するエレメンタリストリームだけを選択し、再生するよう制御する。【０１３６】
ＡＶデコーダ部３３には、バッファ５１乃至５４、PIDフィルタ５５、PIDフィルタ５６、スイッチ５７乃至５９、バックグラウンドデコーダ７１、MPEG（Moving Picture Experts Group）２ビデオデコーダ７２、プレゼンテーショングラフィックスデコーダ７３、インタラクティブグラフィックスデコーダ７４、オーディオデコーダ７５、Text-STコンポジション７６、スイッチ７７、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、インタラクティブグラフィックスプレーン生成部９４、バッファ９５、ビデオデータ処理部９６、およびオーディオデータ処理部９７が設けられている。【０１３７】
コントローラ３４により読み出されたファイルデータは、図示せぬ復調、ＥＣＣ復号部により、復調され、復調された多重化ストリームに誤り訂正が施される。スイッチ３２は、復調され、誤り訂正が施されたデータを、コントローラ３４からの制御に基づいて、ストリームの種類ごとに選択し、対応するバッファ５１乃至５４に供給する。具体的には、スイッチ３２は、コントローラ３４からの制御に基づいて、バックグラウンドイメージデータをバッファ５１に供給し、メインClipのデータをバッファ５２に供給し、サブClipのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClipのデータをバッファリングし、バッファ５３は、サブClipのデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。【０１３８】
メインClipは、ビデオとオーディオとビットマップ字幕(Presentation Graphics stream)とインタラクティブグラフィックスのうち、ビデオに加えて１つ以上のストリームを多重化したストリーム（例えばトランスポートストリーム）である。サブClipは、オーディオとビットマップ字幕(Presentation Graphics stream)とインタラクティブグラフィックスとオーディオのうち、１つ以上のストリームを多重化したストリームである。なお、テキストサブタイトルデータファイル（Text-ST）のデータは、トランスポートストリームのような多重化ストリームの形式であっても、そうでなくてもよい。【０１３９】
また、メインClipとサブClipおよびテキストサブタイトルデータを、ストレージドライブ３１（記録媒体）から読み出すときに、それぞれのファイルを時分割に交互に読み出しても良いし、または、サブClipやテキストサブタイトルデータをメインClipから読み出す前に、すべてバッファ(バッファ５３またはバッファ５４)へプリロードしてもよい。【０１４０】
再生装置２０は、これらのファイルのデータを、ストレージドライブ３１を介して記録媒体から読み出し、ビデオ、ビットマップ字幕、インタラクティブグラフィックス、およびオーディオを再生する。【０１４１】
具体的には、メインClip用リードバッファであるバッファ５２から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５５へ出力される。このPIDフィルタ５５は、入力されたメインClipをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５５は、ビデオストリームをMPEG２ビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをオーディオデコーダ７５への供給元となるスイッチ５９に供給する。【０１４２】
プレゼンテーショングラフィックスストリームは、例えば、ビットマップの字幕データであり、テキストサブタイトルデータは、例えば、テキスト字幕データである。【０１４３】
サブClip用リードバッファであるバッファ５３から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５６へ出力される。このPIDフィルタ５６は、入力されたサブClipをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをオーディオデコーダ７５への供給元となるスイッチ５９に供給する。【０１４４】
バックグラウンドイメージデータをバッファリングするバッファ５１から読み出されたデータは、所定のタイミングでバックグラウンドデコーダ７１に供給される。バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、デコードしたバックグラウンドイメージデータをバックグラウンドプレーン生成部９１に供給する。【０１４５】
PIDフィルタ５５により振り分けられたビデオストリームは、後段のビデオデコーダ７２に供給される。ビデオデコーダ７２は、ビデオストリームをデコードし、デコードしたビデオデータをビデオプレーン生成部９２へ出力する。【０１４６】
スイッチ５７は、PIDフィルタ５５から供給されたメインClipに含まれるプレゼンテーショングラフィックスストリームと、サブClip に含まれるプレゼンテーショングラフィックスストリームのうちのいずれか１つを選択し、選択したプレゼンテーショングラフィックスストリームを、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。プレゼンテーショングラフィックスデコーダ７３は、プレゼンテーショングラフィックスストリームをデコードし、デコードしたプレゼンテーショングラフィックスストリームのデータをプレゼンテーショングラフィックスプレーン生成部９３への供給元となるスイッチ７７に供給する。【０１４７】
また、スイッチ５８は、PIDフィルタ５５から供給されたメインClipに含まれるインタラクティブグラフィックスストリームと、サブClip に含まれるインタラクティブグラフィックスストリームのうちのいずれか１つを選択し、選択したインタラクティブグラフィックスストリームを、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。すなわち、インタラクティブグラフィックスデコーダ７４へ同時に入力されるインタラクティブグラフィックスストリームは、メインClipまたはサブClipのどちらかから分離されたストリームである。インタラクティブグラフィックスデコーダ７４は、インタラクティブグラフィックスストリームをデコードし、デコードしたインタラクティブグラフィックスストリームのデータを、インタラクティブグラフィックスプレーン生成部９４に供給する。【０１４８】
さらに、スイッチ５９は、PIDフィルタ５５から供給されたメインClipに含まれるオーディオストリームと、サブClip に含まれるオーディオストリームのうちのいずれか１つを選択し、選択したオーディオストリームを、後段のオーディオデコーダ７５に供給する。すなわち、オーディオデコーダ７５へ同時に入力されるオーディオストリームは、メインClipまたはサブClipのどちらかから分離されたストリームである。オーディオデコーダ７５は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをオーディオデータ処理部９７に供給する。【０１４９】
また、スイッチ３２により選択されたサウンドデータは、バッファ９５に供給され、バッファリングされる。バッファ９５は、所定のタイミングでサウンドデータをオーディオデータ処理部９７に供給する。サウンドデータは、この場合、メニュー選択などによる効果音のデータである。【０１５０】
テキストサブタイトル用リードバッファであるバッファ５４から読み出されたデータは、所定のタイミングで、後段のテキストサブタイトルコンポジション（デコーダ）７６へ出力される。テキストサブタイトルコンポジション７６は、Text-STデータをデコードし、スイッチ７７に供給する。【０１５１】
スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれかを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。すなわち、プレゼンテーショングラフィックスプレーン９３へ同時に供給される字幕画像は、プレゼンテーショングラフィックスデコーダ７３またはテキストサブタイトル（Text-ST）コンポジション７６のうちのいずれかの出力である。また、プレゼンテーショングラフィックスデコーダ７３へ同時に入力されるプレゼンテーショングラフィックスストリームは、メインClipまたはサブClipのいずれかから分離されたストリームである（スイッチ５７により選択される）。したがって、プレゼンテーショングラフィックスプレーン９３へ同時に出力される字幕画像は、メインClipからのプレゼンテーショングラフィックスストリーム、またはサブClipからのからのプレゼンテーショングラフィックスストリーム、またはテキストサブタイトルデータのデコード出力である。【０１５２】
バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、例えば、ビデオ画像を縮小表示した場合に壁紙画像となるバックグラウンドプレーンを生成し、これを、ビデオデータ処理部９６に供給する。ビデオプレーン生成部９２は、MPEG２ビデオデコーダ７２から供給されたビデオデータに基づいて、ビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。プレゼンテーショングラフィックスプレーン生成部９３は、スイッチ７７により選択され、供給されたデータ（プレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータ）に基づいて、例えば、レンダリング画像であるプレゼンテーショングラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。【０１５３】
ビデオデータ処理部９６は、バックグラウンドプレーン生成部９１からのバックグラウンドプレーン、ビデオプレーン生成部９２からのビデオプレーン、プレゼンテーショングラフィックスプレーン生成部９３からのプレゼンテーショングラフィックスプレーン、およびインタラクティブグラフィックスプレーン生成部９４からのインタラクティブグラフィックスプレーンを合成し、ビデオ信号として出力する。また、オーディオデータ処理部９７は、オーディオデコーダ７５からのオーディオデータと、バッファ９５からのサウンドデータを合成し、音声信号として出力する。【０１５４】
これらのスイッチ５７乃至５９、並びにスイッチ７７は、ユーザインターフェースを介するユーザからの選択、または、対象となるデータが含まれるファイル側に基づいて、スイッチを切り替える。具体的には、サブClip ＡＶストリームファイルのみにしか、オーディオストリームが含まれていない場合、スイッチ５９はサブ側にスイッチを切り替える。【０１５５】
次に、図２５の再生装置２０における再生処理を、図２６乃至図２８のフローチャートを参照して説明する。なお、この処理は、ユーザによりユーザインターフェースを介して、所定のＡＶストリームの再生が指令されたとき開始される。【０１５６】
ステップＳ１１において、コントローラ３４は、ストレージドライブ３１を介して、記録媒体や図示せぬHDD(Hard Disk Drive)に記録されているPlayListファイルを読み出す。例えば、図１１を用いて説明したPlayListのファイルが読み出される。【０１５７】
ステップＳ１２において、コントローラ３４は、メインClip、サブClip、およびテキストサブタイトルデータ（Text-STデータ）を読み出す。具体的には、コントローラ３４は、図１１を用いて説明したPlayListに含まれるPlayItemに基づいて、メインClipを読み出す。また、コントローラ３４は、PlayListに含まれるSubPathで参照される、図１２および図１３を用いて説明したSubPlayItemに基づいて、サブClipと、テキストサブタイトルデータを読み出す。【０１５８】
ステップＳ１３において、コントローラ３４は、読み出したデータ（メインClip、サブClip、およびテキストサブタイトルデータ）を対応するバッファ５１乃至５４に供給するようスイッチ３２を制御する。具体的には、コントローラ３４は、バックグラウンドイメージデータをバッファ５１に供給し、メインClipのデータをバッファ５２に供給し、サブClipのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。【０１５９】
ステップＳ１４において、スイッチ３２はコントローラ３４からの制御に基づいて、スイッチ３２を切り替える。これにより、バックグラウンドイメージデータはバッファ５１に供給され、メインClipのデータはバッファ５２に供給され、サブClipのデータはバッファ５３に供給され、テキストサブタイトルデータはバッファ５４に供給される。【０１６０】
ステップＳ１５において、各バッファ５１乃至５４は、供給されたデータをそれぞれバッファリングする。具体的には、バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClipのデータをバッファリングし、バッファ５３は、サブClipのデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。【０１６１】
ステップＳ１６において、バッファ５１は、バックグラウンドイメージデータをバックグラウンドデコーダ７１に出力する。【０１６２】
ステップＳ１７において、バッファ５２はメインClipのストリームデータをPIDフィルタ５５に出力する。【０１６３】
ステップＳ１８において、PIDフィルタ５５は、メインClip ＡＶストリームファイルを構成するＴＳパケットに付されているPIDに基づいて、各エレメンタリストリームのデコーダへ振り分ける。具体的には、PIDフィルタ５５は、ビデオストリームをMPEG２ビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをオーディオデコーダ７５への供給元となるスイッチ５９に供給する。すなわち、ビデオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム、およびオーディオストリームには、それぞれ異なるPIDが付されている。【０１６４】
ステップＳ１９において、バッファ５３は、サブClipのストリームデータをPIDフィルタ５６に出力する。【０１６５】
ステップＳ２０において、PIDフィルタ５６は、PIDに基づいて、各エレメンタリストリームのデコーダへ振り分ける。具体的には、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをオーディオデコーダ７５への供給元となるスイッチ５９に供給する。【０１６６】
ステップＳ２１において、PIDフィルタ５５およびPIDフィルタ５６の後段のスイッチ５７乃至５９は、ユーザインターフェースを介するコントローラ３４からの制御に基づいて、メインClip とサブClipのいずれかを選択する。具体的には、スイッチ５７は、PIDフィルタ５５から供給されたメインClipまたはサブClipのプレゼンテーショングラフィックスストリームを選択し、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。また、スイッチ５８は、PIDフィルタ５５から供給されたメインClipまたはサブClipのインタラクティブグラフィックスストリームを選択し、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。さらに、スイッチ５９は、PIDフィルタ５５から供給されたメインClipまたはサブClipのオーディオストリームを選択し、後段のオーディオデコーダ７５に供給する。【０１６７】
ステップＳ２２において、バッファ５４は、テキストサブタイトルデータをテキストサブタイトルコンポジション７６に出力する。【０１６８】
ステップＳ２３において、バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、これをバックグラウンドプレーン生成部９１に出力する。【０１６９】
ステップＳ２４において、MPEG2ビデオデコーダ７２は、ビデオストリームをデコードし、これをビデオプレーン生成部９２に出力する。【０１７０】
ステップＳ２５において、プレゼンテーショングラフィックスデコーダ７３は、スイッチ５７により選択され、供給されたプレゼンテーショングラフィックスストリームをデコードし、これを後段のスイッチ７７に出力する。【０１７１】
ステップＳ２６において、インタラクティブグラフィックスデコーダ７４は、スイッチ５８により選択され、供給されたインタラクティブグラフィックスストリームをデコードし、これを後段のインタラクティブグラフィックスプレーン生成部９４に出力する。【０１７２】
ステップＳ２７において、オーディオデコーダ７５は、スイッチ５９により選択され、供給されたオーティオデータをデコードし、これを後段のオーディオデータ処理部９７に出力する。【０１７３】
ステップＳ２８において、Text-STコンポジション７６は、テキストサブタイトルデータをデコードし、これを後段のスイッチ７７に出力する。【０１７４】
ステップＳ２９において、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３またはText-STコンポジション７６からのデータのいずれかを選択する。具体的には、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれか１つを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。【０１７５】
ステップＳ３０において、バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、バックグラウンドプレーンを生成する。【０１７６】
ステップＳ３１において、ビデオプレーン生成部９２は、MPEG２ビデオデコーダ７２から供給されたビデオデータに基づいて、ビデオプレーンを生成する。【０１７７】
ステップＳ３２において、プレゼンテーショングラフィックスプレーン生成部９３は、ステップＳ２９の処理でスイッチ７７により選択され、供給されたプレゼンテーショングラフィックスデコーダ７３からのデータまたはText-STコンポジション７６からのデータに基づいて、プレゼンテーショングラフィックスプレーンを生成する。【０１７８】
ステップＳ３３において、インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成する。【０１７９】
ステップＳ３４において、バッファ９５は、ステップＳ１４の処理で選択され、供給されたサウンドデータをバッファリングし、所定のタイミングでオーディオデータ処理部９７に供給する。【０１８０】
ステップＳ３５において、ビデオデータ処理部９７は、各プレーンのデータを合成し、出力する。具体的には、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、およびインタラクティブグラフィックスプレーン生成部９４からのデータを合成し、ビデオデータとして出力する。【０１８１】
ステップＳ３６において、オーディオデータ処理部９７は、オーディオデータとサウンドデータを合成し、出力する。【０１８２】
図２６乃至図２８の処理により、PlayListに含まれるメインパスとサブパスによりメインClip、サブClip、およびテキストサブタイトルデータが参照され、再生される。メインパスとサブパスを設けるようにし、サブパスで、メインパスで指定するClip ＡＶストリームファイルとは異なるClipを指定可能な構成としたので、メインパスのPlayItemが指すメインClipとは異なるClipであるサブClipのデータとメインClipのデータを一緒に（同じタイミングで）再生することができる。【０１８３】
なお、図２６乃至図２８において、ステップＳ１６，ステップＳ１７の処理は、その順番が逆で合ってもよいし、平行して実行されてもよい。また、ステップＳ１８、ステップＳ２０の処理も、その順番が逆で合ってもよいし、平行して実行されてもよい。さらに、ステップＳ２３乃至ステップＳ２８の処理も、その順番が逆で合ってもよいし、平行して実行されてもよい。また、ステップＳ３０乃至ステップＳ３３の処理も、その順番が逆で合ってもよいし、平行して実行されてもよい。さらに、ステップＳ３５，ステップＳ３６の処理も、その順番が逆で合ってもよいし、平行して実行されてもよい。すなわち、図２５において、縦に同じ階層のバッファ５１乃至５４の処理、スイッチ５７乃至５９の処理、デコーダ７１乃至７６の処理、プレーン生成部９１乃至９４の処理、ビデオデータ処理部９６およびオーディオデータ処理部９７の処理は、それぞれ、平行して実行されてもよいし、その順番は問わない。【０１８４】
次に、音声や字幕の切り替えが指示された場合の再生装置２０における処理を、図２９と図３０を参照して説明する。【０１８５】
最初に、図２９のフローチャートを参照して、ユーザにより音声の切り替えが指示される場合の処理を説明する。なお、この処理は、例えば、図２６乃至図２８の再生処理の実行中に実行される処理である。【０１８６】
ステップＳ５１において、コントローラ３４は、オーディオストリーム番号（ＩＤでもよい）の順番リストを取得する。具体的には、コントローラ３４は、図１４を用いて説明したPlayItemのSTN_table()を参照し、さらに図１５を用いて説明したSTN_table()にエントリーされているオーディオストリーム番号（ＩＤ）の順番のリストを取得する。この処理は、図２６乃至図２８の再生処理が開始されたときに実行される処理である。【０１８７】
ユーザによりユーザインターフェースを介して、音声切り替えの指令が行われた場合、ステップＳ５２において、コントローラ３４は、ユーザからの音声切り替えの指令を受け付ける。すなわち、図２９において、ステップＳ５１はあらかじめ実行されている処理であり、ユーザにより音声切り替えの指令が行われた場合に、ステップＳ５２以降の処理が行われる。【０１８８】
ステップＳ５３において、コントローラ３４は、再生しているオーディオストリーム番号の次のオーディオストリーム番号を取得する。例えば、図９のSubClip_entry_id＝０のオーディオストリーム（図９においては、Text based subtitleであるが、ここでは、オーディオストリームファイルに読み替える）が再生されていた場合、次のSubClip_entry_id＝１に対応するオーディオストリームファイルの番号が取得される。【０１８９】
ステップＳ５４において、コントローラ３４は、取得した番号に対応するオーディオストリームを再生する機能を有するか否かを判定する。具体的には、コントローラ３４は、stream_attribute()（図１７）に記述されている内容に基づいて、取得した番号に対応するオーディオストリームを自分自身（再生装置２０）が再生する機能を有するか否かを判定する。ステップＳ５４において、取得した番号に対応するオーディオストリームを再生する機能を有しないと判定された場合、処理はステップＳ５５に進み、コントローラ３４は、現在のストリーム番号の次のストリーム番号を取得する。すなわち、現在のストリーム番号のオーディオストリームを再生する機能を有さない場合には、そのストリーム番号は飛ばされ（再生対象とならず）、次のストリーム番号が取得される。そして、ステップＳ５５の処理の後、処理はステップＳ５４に戻り、それ以降の処理が繰り返される。すなわち、自分自身が再生する機能を有するオーディオストリームの番号が取得されるまで、処理が繰り返される。【０１９０】
ステップＳ５４において、取得した番号に対応するオーディオストリームを再生する機能を有すると判定された場合、処理はステップＳ５６において、コントローラ３４は、取得した番号に対応するオーディオストリームがメインClipとサブClipのうちのどちらにあるかを調べる。例えば、図９の例の場合、取得されたSubClip_entry_id＝１はSub Pathにより参照されるので、サブClipにあると判断される。【０１９１】
ステップＳ５７において、コントローラ３４は、所望のオーディオストリームを特定する。具体的には、取得した番号に対応するストリームの属するメインClipまたはサブClipの中の所望のオーディオストリームを特定する。具体的には、図１６を用いて上述したSTN_table()にによりtype＝３が特定される。【０１９２】
ステップＳ５８において、コントローラ３４は、所望のオーディオストリームが多重化されているClip（メインClipまたはサブClip）を読み出すようストレージドライブ３１に指示する。ストレージドライブ３１は、この指示に基づいて、対象となるClipを読み出す。【０１９３】
ステップＳ５９において、コントローラ３４は、読み出されたClipからオーディオストリームを再生するようＡＶデコーダ部３３に指示する。【０１９４】
ステップＳ６０において、ＡＶデコーダ部３３は、オーディオストリームをデコードし、オーディオ出力する。より詳細には、オーディオデコーダ７５によりデコードされたオーディオデータと、バッファ９５から出力されるサウンドデータが、オーディオデータ処理部９７により処理され、オーディオ信号として出力される。【０１９５】
この処理により、図２７のステップＳ２１における図２５のスイッチ５９の選択が決定される。すなわち、図２９において対象となるClipがメインClipである場合、スイッチ５９は、メイン側、すなわちPIDフィルタ５５から供給されたオーディオストリームをオーディオデコーダ７５に供給し、対象となるClipがサブClipである場合、スイッチ５９は、サブ側、すなわち、PIDフィルタ５６から供給されたオーディオストリームをオーディオデコーダ７５に供給する。【０１９６】
このように、コントローラ３４は、PlayItemのSTN_table()に基づいて、音声（オーディオ）の切り替えを制御することができる。また、コントローラ３４は、STN_table()のstream_attributeを参照することで、自分自身が再生機能を有するストリームだけを選んで、再生切り替えの制御をすることができる。【０１９７】
なお、図２９の処理では、オーディオストリーム番号に基づいて、オーディオを切り替えるようにしたが、オーディオストリームＩＤ（audio_stream_id）に基づいて、オーディオを切り替えるようにしてもよい。この場合、オーディオストリーム番号から１を減算したものが、オーディオストリームＩＤとなる。【０１９８】
次に、図３０のフローチャートを参照して、ユーザにより字幕の切り替えが指示される場合の処理を説明する。なお、この処理は、例えば、図２６乃至図２８の再生処理の実行中に実行される処理である。【０１９９】
ステップＳ８１において、コントローラ３４は、字幕ストリーム番号（ＩＤでもよい）の順番リストを取得する。例えば、図１４を用いて説明したPlayItemのSTN_table()を参照し、さらに、図１５を用いて説明したSTN_table()にエントリーされている字幕ストリームＩＤ(PG_txtST_stream_id)の順番のリストを取得する。この処理は、図２６乃至図２８の再生処理が開始されたときに実行される処理である。【０２００】
ユーザによりユーザインターフェースを介して、字幕切り替えの指令が行われた場合、ステップＳ８２において、コントローラ３４は、ユーザからの字幕切り替えの指令を受け付ける。すなわち、図３０において、ステップＳ８１はあらかじめ実行されている処理であり、ユーザにより字幕切り替えの指令が行われた場合に、ステップＳ８２以降の処理が行われる。【０２０１】
ステップＳ８３において、コントローラ３４は、再生している字幕ストリーム番号の次の字幕ストリーム番号を取得する。例えば、図９のSubClip_entry_id＝０のText based subtitleが再生されていた場合、次のSubClip_entry_id＝１に対応するText based subtitleの番号が取得される。【０２０２】
ステップＳ８４において、コントローラ３４は、取得した番号に対応する字幕ストリームを再生する機能を有するか否かを判定する。具体的には、コントローラ３４は、stream_attribute()（図１７）に記述されている内容に基づいて、取得した番号に対応する字幕ストリームを自分自身が再生する機能を有するか否かを判定する。ステップＳ８４において、取得した番号に対応する字幕ストリームを再生する機能を有しないと判定された場合、処理はステップＳ８５に進み、コントローラ３４は、現在のストリーム番号の次のストリーム番号を取得する。すなわち、現在のストリーム番号の字幕ストリームを再生する機能を有さない場合には、そのストリーム番号は飛ばされ（再生対象とならず）、次のストリーム番号が取得される。そして、ステップＳ８５の処理の後、処理はステップＳ８４に戻り、それ以降の処理が繰り返される。すなわち、自分自身が再生する機能を有する字幕ストリームの番号が取得されるまで、処理が繰り返される。【０２０３】
ステップＳ８４において、取得した番号に対応する字幕ストリームを再生する機能を有すると判定された場合、処理はステップＳ８６において、コントローラ３４は、取得した番号（再生している字幕ストリームの次の字幕ストリームの番号）に対応するデータがメインClip（メインパス）、サブClip（サブパス）、テキストサブタイトルデータファイル（サブパス）のうちのいずれに格納されているかを調べる。【０２０４】
ステップＳ８７において、コントローラ３４は、所望のプレゼンテーショングラフィックスストリームまたはテキスト字幕データを特定する。具体的には、コントローラ３４は、メインClipまたはサブClipの中の所望のプレゼンテーショングラフィックスストリームを特定するか、あるいは、テキストサブタイトルファイルの中から、所望のテキストサブタイトルデータを特定する。【０２０５】
ステップＳ８８において、コントローラ３４は、所望のプレゼンテーショングラフィックスストリームが多重化されているClip（メインClipまたはサブClip）、または所望のテキストサブタイトルデータ（テキスト字幕データ）を読み出すようにストレージドライブ３１に指示する。【０２０６】
ステップＳ８９において、コントローラ３４は、読み出されたClipから分離されたプレゼンテーショングラフィックスストリーム、またはテキストサブタイトルデータを再生するようＡＶデコーダ部３３に指示する。【０２０７】
ステップＳ９０において、ＡＶデコーダ部３３は、プレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータをデコードし、字幕画像を出力する。より詳細には、デコードされたプレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータがプレゼンテーショングラフィックスプレーン生成部９３によりプレーンされ、ビデオデータ処理部９６に合成されて、ビデオ出力される。【０２０８】
この処理により、図２８のステップＳ２９における図２５のスイッチ７７の選択が決定される。すなわち、図３０のステップＳ８７において対象となるデータが、プレゼンテーショングラフィックスストリームである場合、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３から供給されたプレゼンテーショングラフィックスデータをプレゼンテーショングラフィックスプレーン生成部９３に供給し、対象となるデータがテキストサブタイトルデータである場合、スイッチ７７は、Text-STコンポジション７６から供給されたテキストサブタイトルデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。また、コントローラ３４は、再生機能を有するストリームだけを選んで、再生切り替えの制御をすることができる。【０２０９】
なお、図３０の処理では、字幕ストリーム番号に基づいて、字幕を切り替えるようにしたが、字幕ストリームＩＤ（PG_txtST_stream_id）に基づいて、字幕を切り替えるようにしてもよい。この場合、字幕ストリーム番号から１を減算したものが、字幕ストリームＩＤとなる。【０２１０】
以上により、メインのＡＶストリームとは別のストリームやデータファイルでオーディオや字幕などを用意する場合に、PlayListの中にメインパスとサブパスを有する構成としたので、ユーザによる音声切り替えや字幕切り替えという操作が、メインＡＶストリームとは異なる別ストリームや別データファイルの中から選ぶことができる。【０２１１】
また、メインパスのPlayItemの中に、ＡＶストリームファイルに多重化されているデータと、Sub Pathにより参照されるデータのtypeを定義するStream Number Definition Tableを設けるようにしたので、より、拡張性の高いストリームを実現することができる。【０２１２】
さらに、再生装置２０は、STN_table()のstream_attributeを参照することで、自分自身が有する機能に対応するストリームだけを順次選択して再生することができる。【０２１３】
以上の処理をまとめると、以下のようになる。【０２１４】
再生装置２０は、記録媒体に記録されているＡＶストリームファイルの位置を示す主の再生パスであるMain Pathと、主の再生パスにより参照されるＡＶストリームファイルに含まれるメイン画像データ（ビデオストリームデータ）の再生タイミングに合わせて再生される付属データ（例えば、オーディオストリームのデータや、ビットマップ字幕ストリームファイルのデータ）を含むサブClipのそれぞれの位置を示す複数の副の再生パスであるSub Pathにより構成される再生管理情報としてのPlayListを取得する。また、再生装置２０は、Main Pathにより参照されるＡＶストリームファイルに含まれるビデオストリームデータのタイミングに合わせて再生される付属データ（例えば、オーディオストリームファイルのデータ）およびSub Pathにより参照されるサブClipに含まれる付属データ（例えば、オーディオストリームファイルのデータ）の中から、ユーザの指令に基づいて、再生する付属データを選択する。上述した図２９、図３０の処理では、単に、字幕切り替えや音声切り替えの指令が行われている。そして、再生装置２０は、選択された付属データ（例えば、オーディオストリームファイルのデータ）を、自分自身が再生する機能を有するか否かを判定する。コントローラ３４はSTN_table()のstream_attributeを参照することで、自分自身（再生装置２０）が、付属データを再生することが可能か否かを判定することができる。選択された付属データを再生する機能を有すると判定された場合であって、その付属データ（オーディオストリームファイルのデータ）が、Sub Pathにより参照されるサブClipに含まれるとき、Main Pathにより参照されるメインＡＶストリームファイル（メインClip）とともに、Sub Pathにより参照されるサブClipが読み出され、合成されて再生される。例えば、再生する付属データとして、Sub Pathが参照するオーディオストリームファイルのデータがユーザにより選択された場合（ユーザにより音声切り替えが指令された場合）、再生装置２０は、メインClipＡＶストリームファイルのうち、MPEG２ビデオストリームファイル、プレゼンテーショングラフィックスストリームファイル、およびインタラクティブグラフィックスストリームファイルと、Sub Pathが参照するオーディオストリームファイルのデータとを合成して再生する。すなわち、このとき再生される音声は、ユーザにより選択されたオーディオストリームファイルがデコードされたものとなる。【０２１５】
このように、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()を設けるようにしたので、再生装置２０側で、選択されたストリームを再生可能か否かを判定することができる。さらに、stream_attribute()を参照することで、再生機能を有するストリームだけを選択して再生することができる。【０２１８】
また、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ＡＶストリームファイルに基づいて、再生されてもよい。また、例えば、DVDに記録されたClipＡＶストリームファイルをサブClipとするようなPlayListとメインClipがハードディスクに記録されている場合に、ハードディスクに記録されているPlayListに基づいて、メインClipとサブClipがそれぞれ、ハードディスクとDVDから読み出され再生されてもよい。【０２２１】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、上述した処理は、図３１に示されるようなパーソナルコンピュータ５００により実行される。【０２２２】
図３１において、CPU（Central Processing Unit）５０１は、ROM(Read Only Memory)５０２に記憶されているプログラム、または、記憶部５０８からRAM(Random Access Memory)５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなどが適宜記憶される。【０２２３】
CPU５０１、ROM５０２、およびRAM５０３は、内部バス５０４を介して相互に接続されている。この内部バス５０４にはまた、入出力インターフェース５０５も接続されている。【０２２４】
入出力インターフェース５０５には、キーボード、マウスなどよりなる入力部５０６、CRT，LCDなどよりなるディスプレイ、スピーカなどよりなる出力部５０７、ハードディスクなどより構成される記憶部５０８、並びに、モデム、ターミナルアダプタなどより構成される通信部５０９が接続されている。通信部５０９は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。【０２２５】
入出力インターフェース５０５にはまた、必要に応じてドライブ５１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア５２１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部５０８にインストールされる。【０２２６】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。【０２２７】
この記録媒体は、図３１に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア５２１よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM５０２や記憶部５０８が含まれるハードディスクなどで構成される。【０２２８】
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。【０２２９】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図１】
0004288613.tif 000002
【図２】
0004288613.tif 000003
【図３】
0004288613.tif 000004
【図４】
0004288613.tif 000005
【図５】
0004288613.tif 000006
【図６】
0004288613.tif 000007
【図７】
0004288613.tif 000008
【図８】
0004288613.tif 000009
【図９】
0004288613.tif 000010
【図１０】
0004288613.tif 000011
【図１１】
0004288613.tif 000012
【図１２】
0004288613.tif 000013
【図１３】
0004288613.tif 000014
【図１４】
0004288613.tif 000015
【図１５】
0004288613.tif 000016
【図１６】
0004288613.tif 000017
【図１７】
0004288613.tif 000018
【図１８】
0004288613.tif 000019
【図１９】
0004288613.tif 000020
【図２０】
0004288613.tif 000021
【図２１】
0004288613.tif 000022
【図２２】
0004288613.tif 000023
【図２３】
0004288613.tif 000024
【図２４】
0004288613.tif 000025
【図２５】
0004288613.tif 000026
【図２６】
0004288613.tif 000027
【図２７】
0004288613.tif 000028
【図２８】
0004288613.tif 000029
【図２９】
0004288613.tif 000030
【図３０】
0004288613.tif 000031
【図３１】
0004288613.tif 000032
【図３２Ａ】
0004288613.tif 000033
【図３２Ｂ】
0004288613.tif 000034
【図３３】
0004288613.tif 000035
【図３４】
0004288613.tif 000036