(57)【要約】【課題】ＡＶストリームファイルの再生における音声の切り替え操作の対象として、dual_monoのオーディオストリームも加ええることができるようにする。【解決手段】  コントローラ３４は、１以上のオーディオストリームを少なくとも含むＡＶストリームファイルの再生を管理するためのPlaylistを取得し、そのPlaylistの中に、所定のオーディオストリームがdual_monoであることを示す情報含まれていた場合、その所定のオーディオストリームをストレージドライブ３１から読み出してAVデコーダ部３３に供給する。ＡＶデコーダ部３３は、供給された所定のオーディオストリームのchannel1とchannel2とのうちのユーザにより指定された方をオーディオ信号として出力する。本発明は、再生と記録とのうちの少なくとも一方が可能な光ディスク装置に適用可能である。【選択図】図２８
2006338733.tif 000002
【特許請求の範囲】
【請求項１】
１以上のオーディオストリームを少なくとも含むＡＶストリームファイルの再生を管理するための再生管理情報であって、１以上の前記オーディオストリームのそれぞれのタイプを示すタイプ情報を少なくとも含む前記再生管理情報に基づいて、所定の記録媒体に記録されている前記ＡＶストリームファイルの再生を行う再生装置であって、
前記再生管理情報を取得する取得手段と、
前記取得手段により取得された前記再生管理情報の中に、所定のオーディオストリームのタイプ情報としてdual_monoを示す情報が含まれていた場合、その所定のオーディオストリームを読み出す読み出し手段と、
前記読み出し手段により読み出された前記所定のオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を再生する再生手段と
を備えることを特徴とする再生装置。
【請求項２】
１以上の前記オーディオストリームのそれぞれについて、そのタイプが前記dual_mono以外の場合には１つのオーディオストリームに対して１つの識別子が付与され、そのタイプが前記dual_monoの場合にはchannel1とchannel2とのそれぞれに対して異なる識別子が１つずつ個別に付与されており、
前記再生管理情報は、さらに、１以上の前記オーディオストリームのうちの、そのタイプが前記dual_mono以外のオーディオストリームのそれぞれに付与された前記識別子、および、そのタイプが前記dual_monoのオーディオストリームのchannel1とchannel2とのそれぞれに対して付与された前記識別子を含んでおり、
ユーザにより再生が指定されたオーディオストリームを、前記取得手段により取得された前記再生管理情報に含まれる前記識別子のうちの対応する識別子により受け付ける受付手段をさらに備え、
前記読み出し手段は、前記受付手段により受付された前記識別子が、前記dual_monoである所定のオーディオストリームのchannel1またはchannel2の識別子であった場合、その所定のオーディオストリームを読み出し、
前記再生手段は、前記読み出し手段により読み出された所定のオーディオストリームを構成するchannel1とchannel2とのうちの、前記受付手段により受付された前記識別子で特定される方を再生する
ことを特徴とする請求項１に記載の再生装置。
【請求項３】
１以上のオーディオストリームを少なくとも含むＡＶストリームファイルの再生を管理するための再生管理情報であって、１以上の前記オーディオストリームのそれぞれのタイプを示すタイプ情報を少なくとも含む前記再生管理情報に基づいて、所定の記録媒体に記録されている前記ＡＶストリームファイルの再生を行う再生装置の再生方法であって、
前記再生管理情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記再生管理情報の中に、所定のオーディオストリームのタイプ情報としてdual_monoを示す情報が含まれていた場合、その所定のオーディオストリームを読み出す読み出しステップと、
前記読み出しステップの処理により読み出された前記所定のオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を再生する再生ステップと
を含むことを特徴とする再生方法。
【請求項４】
１以上のオーディオストリームを少なくとも含むＡＶストリームファイルの再生を管理するための再生管理情報であって、１以上の前記オーディオストリームのそれぞれのタイプを示すタイプ情報を少なくとも含む前記再生管理情報に基づいて、所定の記録媒体に記録されている前記ＡＶストリームファイルの再生を制御するコンピュータに実行させるプログラムであって、
前記再生管理情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記再生管理情報の中に、所定のオーディオストリームのタイプ情報としてdual_monoを示す情報が含まれていた場合、その所定のオーディオストリームを読み出す読み出しステップと、
前記読み出しステップの処理により読み出された前記所定のオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を再生する再生ステップと
を含むことを特徴とするプログラム。
【請求項５】
dual_monoを少なくとも含む複数のタイプのうちの所定の１つに分類されるオーディオストリームを少なくとも１以上含むＡＶストリームファイルの再生を管理するための再生管理情報を含むデータ構造であって、
１以上の前記オーディオストリームのそれぞれの前記タイプを示すタイプ情報が少なくとも含まれている
ことを特徴とするデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再生装置および再生方法、プログラム、並びにデータ構造に関し、特に、ＡＶコンテンツの再生における音声の切り替え操作の対象として、dual_monoのオーディオストリームも加えることが可能になった再生装置および再生方法、プログラム、並びにデータ構造に関する。
【背景技術】
【０００２】
DVD（Digital Versatile Disc）ビデオの規格においては、記録媒体に記録されている映画などのＡＶ（Audio Visual）コンテンツを再生する場合、ユーザに、音声切り替えや字幕切り替えというインタラクティブな操作を提供している（例えば、非特許文献１参照）。具体的には、図１の表示装置１に表示されているＡＶコンテンツに対して、ユーザは、リモートコントローラ２の音声切り替えボタン１１や字幕切り替えボタン１２を操作することで、音声の切り替えや字幕を切り替える。例えば、音声１が初期状態として設定されており、ユーザによりリモートコントローラ２の音声切り替えボタン１１が操作された場合、図２に示されるように、音声１が音声２に切り替えられる。
【０００３】
DVDビデオ上のＡＶコンテンツは、MPEG（Moving Picture Experts Group）２プログラムストリームの形式で記録されている。このMPEG２プログラムストリームには、図３に示されるように、ビデオストリーム（図３のビデオ）、複数のオーディオストリーム（図３のオーディオ１，２，３）、および複数のサブピクチャストリーム（図３のサブピクチャ１，２，３）が、ビデオストリームにＡＶ同期して再生されるように多重化されている。サブピクチャストリーム（サブピクチャ１，２，３）は、ビットマップ画像がランレングス符号化されたストリームであり、主に字幕用途に用いられる。
【０００４】
一般に、複数のオーディオストリームは、異なる言語の音声を記録するために用いられ、複数のサブピクチャストリームは、異なる言語の字幕を記録するために用いられる。ユーザは、ビデオが再生されている場合、インタラクティブに所望の言語の音声や字幕を、リモートコントローラ２を用いて選択することができる。
【０００５】
また、DVDビデオは、プログラムストリームの中の複数のオーディオストリーム（オーディオ１，２，３）と複数のサブピクチャストリーム（サブピクチャ１，２，３）に対して、ユーザに提供する音声番号と字幕番号の関係を表すテーブル構造を定義している。
【０００６】
図４は、ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルの従来例を説明する図である。例えば、このストリームナンバーテーブルに対応する画像を表示装置１に表示させたりすることで、切換対象となるオーディオストリームの音声番号やサブピクチャストリームの字幕番号がユーザに提供される。ここでは、音声番号をＡ＿ＳＮ（Audio Stream Number）と称し、字幕番号をＳ＿ＳＮ（SubPicture Stream Number）と称する。図４においては、MPEG２プログラムストリームの複数のオーディオストリームのそれぞれにＡ＿ＳＮが与えられているとともに、MPEG２プログラムストリームの複数のサブピクチャストリームのそれぞれに、Ｓ＿ＳＮが与えられている。Ａ＿ＳＮ＝１：オーディオ２であり、Ａ＿ＳＮ＝２：オーディオ１であり、Ａ＿ＳＮ＝３：オーディオ３である。また、Ｓ＿ＳＮ＝１：サブピクチャ３であり、Ｓ＿ＳＮ＝２：サブピクチャ１であり、Ｓ＿ＳＮ＝３：サブピクチャ２である。ここでは、Ａ＿ＳＮやＳ＿ＳＮの番号が小さい程、ユーザに提供される音声信号として優先度が高い。すなわち、Ａ＿ＳＮ＝１はデフォルトで再生されるオーディオストリームであり、Ｓ＿ＳＮ＝１はデフォルトで再生されるサブピクチャストリームである。
【０００７】
具体的には、図１の初期状態で再生される音声１は、Ａ＿ＳＮ＝１であるオーディオ２（図４）に対応しており、音声が切り替えられた後、図２で再生される音声２は、Ａ＿ＳＮ＝２であるオーディオ１（図４）に対応している。
【非特許文献１】DVD Specifications for Read-Only Disc Part 3;Version1.1
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来のDVDビデオでは、オーディオストリームのタイプとしてdual_monoは考慮されていなかった。dual_monoとは、オーディオストリームを構成するchannel1とchannel2とのそれぞれに、相互に独立したモノラルの音声（データ）が含まれているタイプを言う。即ち、従来のDVDビデオでは、dual_monoのオーディオストリームのchannelとchannel２とは何れも、音声の切り替え操作の対象とはされていなかった。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、ＡＶコンテンツの再生における音声の切り替え操作の対象として、dual_monoのオーディオストリームも加ええることを可能にするものである。
【課題を解決するための手段】
【００１０】
本発明の再生装置は、１以上のオーディオストリームを少なくとも含むＡＶストリームファイルの再生を管理するための再生管理情報であって、１以上のオーディオストリームのそれぞれのタイプを示すタイプ情報を少なくとも含む再生管理情報に基づいて、所定の記録媒体に記録されているＡＶストリームファイルの再生を行う再生装置である。詳細には、本発明の再生装置は、再生管理情報を取得する取得手段と、取得手段により取得された再生管理情報の中に、所定のオーディオストリームのタイプ情報としてdual_monoを示す情報が含まれていた場合、その所定のオーディオストリームを読み出す読み出し手段と、読み出し手段により読み出された所定のオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を再生する再生手段とを備えることを特徴とする。
【００１１】
１以上のオーディオストリームのそれぞれについて、そのタイプがdual_mono以外の場合には１つのオーディオストリームに対して１つの識別子が付与され、そのタイプがdual_monoの場合にはchannel1とchannel2とのそれぞれに対して異なる識別子が１つずつ個別に付与されており、再生管理情報は、さらに、１以上のオーディオストリームのうちの、そのタイプがdual_mono以外のオーディオストリームのそれぞれに付与された識別子、および、そのタイプがdual_monoのオーディオストリームのchannel1とchannel2とのそれぞれに対して付与された識別子を含んでおり、ユーザにより再生が指定されたオーディオストリームを、取得手段により取得された再生管理情報に含まれる識別子のうちの対応する識別子により受け付ける受付手段をさらに設け、読み出し手段は、受付手段により受付された識別子が、dual_monoである所定のオーディオストリームのchannel1またはchannel2の識別子であった場合、その所定のオーディオストリームを読み出し、再生手段は、読み出し手段により読み出された所定のオーディオストリームを構成するchannel1とchannel2とのうちの、受付手段により受付された識別子で特定される方を再生するようにすることができる。
【００１２】
本発明の再生方法は、１以上のオーディオストリームを少なくとも含むＡＶストリームファイルの再生を管理するための再生管理情報であって、１以上のオーディオストリームのそれぞれのタイプを少なくとも含む再生管理情報に基づいて、所定の記録媒体に記録されているＡＶストリームファイルの再生を行う再生装置の再生方法である。詳細には、本発明の再生方法は、再生管理情報を取得する取得ステップと、取得ステップの処理により取得された再生管理情報の中に、所定のオーディオストリームのタイプ情報としてdual_monoを示す情報が含まれていた場合、その所定のオーディオを読み出す読み出しステップと、読み出しステップの処理により読み出された前記dual_monoのオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を再生する再生ステップとを含むことを特徴とする。
【００１３】
本発明のプログラムは、上述した本発明の再生方法に対応するプログラムであって、コンピュータにより実行される。
【００１４】
本発明の再生装置および方法、並びにプログラムにおいては、１以上のオーディオストリームを少なくとも含むＡＶストリームファイルの再生を管理するための再生管理情報であって、１以上のオーディオストリームのそれぞれのタイプを少なくとも含む再生管理情報に基づいて、所定の記録媒体に記録されているＡＶストリームファイルの再生が行われる。詳細には、再生管理情報の中に、所定のオーディオストリームのタイプ情報としてdual_monoを示す情報が含まれていた場合、その所定のオーディオストリームが読みだされ、その所定のオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方が再生される。
【００１５】
本発明のデータ構造は、dual_monoを少なくとも含む複数のタイプのうちの所定の１つに分類されるオーディオストリームを少なくとも１以上含むＡＶストリームファイルの再生を管理するための再生管理情報を含むデータ構造であって、１以上のオーディオストリームのそれぞれの前記タイプを示す情報が少なくとも含まれていることを特徴とする。
【００１６】
本発明のデータ構造においては、dual_monoを少なくとも含む複数のタイプのうちの所定の１つに分類されるオーディオストリームを少なくとも１以上含むＡＶストリームファイルの再生を管理するための再生管理情報であって、１以上のオーディオストリームのそれぞれの前記タイプを示す情報が少なくとも含む再生管理情報が含まれている。
【発明の効果】
【００１７】
本発明によれば、ＡＶストリームファイルの再生における音声の切り替え操作を可能にできる。特に、ＡＶストリームファイルの再生における音声の切り替え操作の対象として、dual_monoのオーディオストリームも加えることが可能になった
【発明を実施するための最良の形態】
【００１８】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００１９】
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２０】
請求項１に記載の再生装置（例えば、図２８の再生装置２０）は、
１以上のオーディオストリーム（例えば図３のオーディオ１等）を少なくとも含むＡＶストリームファイル（例えば図３のMPEG2プログラムストリーム）の再生を管理するための再生管理情報（例えばPlaylist）であって、１以上の前記オーディオストリームのそれぞれのタイプを示すタイプ情報（例えば図１８のaudio_presentation_typeに記述される図２３に示される０乃至１５）を少なくとも含む前記再生管理情報に基づいて、所定の記録媒体に記録されている前記ＡＶストリームファイルの再生を行う再生装置であって、
前記再生管理情報を取得する取得手段（例えば図２９のステップＳ１１の処理を実行する図２８のコントローラ３４）と、
前記取得手段により取得された前記再生管理情報の中に、所定のオーディオストリームのタイプ情報としてdual_monoを示す情報（例えば図２３の例では、７または８）が含まれていた場合、その所定のオーディオストリームを読み出す読み出し手段（例えば図２９のステップＳ１２や図３２のステップＳ５８の処理を実行する図２８のコントローラ３４）と、
前記読み出し手段により読み出された前記所定のオーディオストリームのchannel1とchannel2とのうちの少なくとも一方を再生する再生手段（例えば図３０のステップＳ２７や図３２のステップＳ６０の処理を実行する図２８のオーディオデコーダ７５を含むＡＶデコーダ部３３）と
を備えることを特徴とする。
【００２１】
請求項２に記載の再生装置においては、
１以上の前記オーディオストリームのそれぞれについて、そのタイプが前記dual_mono以外の場合には１つのオーディオストリームに対して１つの識別子が付与され、そのタイプが前記dual_monoの場合にはchannel1とchannel2とのそれぞれに対して異なる識別子が１つずつ個別に付与されており（例えば、図３のオーディオ１のchannel1およびchannel2、オーディオ２、および、オーディオ３のそれぞれに対しては、図１６のaudio_stream_id、或いは、図４のＡ＿ＳＮがそれぞれ１つずつ付与されており）、
前記再生管理情報は、さらに、１以上の前記オーディオストリームのうちの、そのタイプが前記dual_mono以外のオーディオストリームのそれぞれに付与された前記識別子、および、そのタイプが前記dual_monoのオーディオストリームのchannel1とchannel2とのそれぞれに対して付与された前記識別子を含んでおり、
ユーザにより再生が指定されたオーディオストリームを、前記取得手段により取得された前記再生管理情報に含まれる前記識別子のうちの対応する識別子により受け付ける受付手段（例えば図３２のステップＳ５２の処理を実行する図２８のコントローラ３４）
をさらに備え、
前記読み出し手段は、前記受付手段により受付された前記識別子が、前記dual_monoの前記オーディオストリームのchannel1またはchannel2の識別子であった場合、前記dual_monoの前記オーディオストリームのchannel1またはchannel2を読み出し、
前記再生手段は、前記読み出し手段により読み出された前記dual_monoの前記オーディオストリームのchannel1またはchannel2を再生する
ことを特徴とする。
【００２２】
請求項３に記載の再生方法は、
１以上のオーディオストリーム（例えば図３のオーディオ１等）を少なくとも含むＡＶストリームファイル（例えば図３のMPEG2プログラムストリーム）の再生を管理するための再生管理情報（例えばPlaylist）であって、１以上の前記オーディオストリームのそれぞれのタイプを示すタイプ情報（例えば図１８のaudio_presentation_typeに記述される図２３に示される０乃至１５）を少なくとも含む前記再生管理情報に基づいて、所定の記録媒体に記録されている前記ＡＶストリームファイルの再生を行う再生装置（例えば、図２８の再生装置２０）の再生方法であって、
前記再生管理情報を取得する取得ステップ（例えば図２９のステップＳ１１）と、
前記取得ステップの処理により取得された前記再生管理情報の中に、所定のオーディオストリームのタイプ情報としてdual_monoを示す情報が含まれていた場合、その所定のオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を読み出す読み出しステップ（例えば図２９のステップＳ１２や図３２のステップＳ５８）と、
前記dual_monoのオーディオストリームのchannel1とchannel2とのうちの前記読み出しステップの処理により読み出された方を再生する再生ステップ（例えば図３０のステップＳ２７や図３２のステップＳ６０）と
を含むことを特徴とする。
【００２３】
請求項４に記載のプログラムは、上述した請求項３に記載の再生方法に対応するプログラムであって、例えば図３３のパーソナルコンピュータ５００により実行されるプログラムである。
【００２４】
請求項５に記載のデータ構造は、
dual_monoを少なくとも含む複数のタイプのうちの所定の１つに分類されるオーディオストリーム（例えば図３のオーディオ１等）を少なくとも１以上含むＡＶストリームファイル（例えば図３のMPEG2プログラムストリーム）の再生を管理するための再生管理情報（例えばPlaylist）を含むデータ構造であって、
１以上の前記オーディオストリームのそれぞれの前記タイプを示すタイプ情報（例えば図１８のaudio_presentation_typeに記述される図２３に示される０乃至１５）が少なくとも含まれている
ことを特徴とする。
【００２５】
以下、図を参照して、本発明の実施の形態について説明する。
【００２６】
図５は、本発明を適用した再生装置２０（図２８を参照して後述する）で利用されるストリームナンバーテーブルの一例を説明する図である。
【００２７】
即ち、本実施の形態では、dual_monoのオーディオストリームのchannel1とchannel2とのそれぞれを切り替え操作の対象とすることができるように、上述した図４に示されるような従来のストリームナンバーテーブルではなく、図５に示されるようなストリームナンバーテーブルが採用される。このような図５のストリームナンバーテーブルに対応する画像（またはそれに基づいて生成される所定の画像）を例えば表示装置１（図１）に表示させることで、ユーザは、dual_monoのオーディオストリームのchannel1とchannel2とのそれぞれも切り替え操作の対象、即ち、再生対象として選択可能であることを容易に認識することができる。
【００２８】
具体的には、図５は、上述した図３の例のMPEG2プログラムストリームについてのストリームナンバーテーブルの一例であって、オーディオ１のタイプがdual_monoとされている場合におけるストリームナンバーテーブルの一例を説明する図である。
【００２９】
オーディオ１のタイプがdual_monoである場合、上述したように、そのオーディオ１を構成するchannel1とchannel2とのそれぞれには相互に独立したモノラルの音声（データ）が個別に含まれている。そこで、本実施の形態では、オーディオ１のchannel1とchannel2とのそれぞれに対して、それぞれ独立したＡ＿ＳＮが与えられる。即ち、図５の例では、Ａ＿ＳＮ＝１：オーディオ１のchannel1とされ、Ａ＿ＳＮ＝２：オーディオ１のchannel2とされている。
【００３０】
また、図５の例では、オーディオ２とオーディオ３とのタイプは何れもdual_mono以外とされており、このため、Ａ＿ＳＮ＝３：オーディオ２とされ、Ａ＿ＳＮ＝４：オーディオ３とされている。
【００３１】
なお、図示はしないが、その他のオーディオストリーム（図３の例ではオーディオ２やオーディオ３）のタイプがdual_monoであった場合にも全く同様に、dual_monoである各オーディオストリームのchannel1とchannel２とのそれぞれは相互に独立してストリームナンバーテーブルに定義される。即ち、dual_monoである各オーディオストリームのそれぞれについて、channel1とchannel２とのそれぞれに対して相互に独立したＡ＿ＳＮが個別に与えられる。
【００３２】
このように、dual_monoのオーディオストリームを構成するchannel1とchannel2とのそれぞれに対して相互に独立したＡ＿ＳＮを個別に与えることで、そのchannel1とchannel2とのそれぞれを相互に独立したオーディオプログラムとして個別に取り扱うことが可能になる。
【００３３】
図６は、本発明を適用した再生装置２０（図２８を参照して後述する）に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。記録媒体は、後述する光ディスクの他、磁気ディスクや半導体メモリであってもよい。
【００３４】
アプリケーションフォーマットは、ＡＶ（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を追加できる構成とすることができる。
【００４９】
さらに、本実施の形態では、上述した図５に示されるように、dual_monoであるオーディオストリームのchannel１とchannel2とのそれぞれは相互に独立してストリームナンバーテーブルに個別にエントリーする（対応するＡ＿ＳＮが１つずつ与えられる）ことが可能である。換言すると、そのようなストリームナンバーテーブルを構築するために必要なSTN_table(図１６を参照して後述する)に、dual_monoであるオーディオストリームのchannel１とchannel2とのそれぞれを個別にエントリーすることが可能である。これにより、dual_monoであるオーディオストリームのchannel１とchannel2とのそれぞれをあたかも１つのオーディオスオストリームとして取り扱うことが可能になり、その結果、PlayItemまたはSubPlayItemが、dual_monoであるオーディオストリームのchannel１とchannel2とのそれぞれを個別に参照することが可能になる。即ち、ユーザの操作の観点に立つと、dual_monoであるオーディオストリームのchannel１とchannel2とのそれぞれの音声についても、切り替え操作の対象とすることが可能になる。
【００５０】
図８は、メインパスとサブパスの例を説明する図である。図８においては、メインパスと同じタイミングで（ＡＶ同期して）再生されるオーディオの再生パスを、サブパスを使用して表している。
【００５１】
図８の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 ＡＶストリームのオーディオストリームを参照して、再生することができる。
【００５４】
なお、本実施の形態では、上述しように、オーディオストリームのタイプがdual_monoである場合、そのオーディオストリームのchannel１とchannel２とのそれぞれを相互に独立したオーディオストリームとして個別に取り扱うことが可能である。従って、オーディオストリームのタイプがdual_monoである場合には、ここで言う「Clip ＡＶストリームのオーディオストリーム」とは、そのオーディオストリームのchannel１とchannel2とのうちの少なくとも一方を指す。少なくとも一方と記述したのは、後述するように、オーディオストリームのchannel１とchannel２との両者とも参照されて、同時に再生される（例えばchannel１は左側のスピーカから再生され、channel2は右側のスピーカから再生される）場合もあるからである。この段落に記載されている内容は、後述する図９乃至図１１についても全く同様であるとする。
【００５５】
このように、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が再生される。例えば、ユーザからの指令に基づいて、インタラクティブグラフィックスストリームの言語のうちの１つが選択され、選択された言語のインタラクティブグラフィックスストリームが再生される。
【００６７】
次に、図７乃至図１１を用いて説明したメインパスとサブパスの構造を具体的に実現するためのデータ構造（シンタクス：Syntax）を説明する。
【００６８】
図１２は、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フィールドの直後からSubPlayItem ()の最後までのバイト数を示す１６ビットの符号なし整数である。
【００７６】
図１４においては、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は、音声切り替えに使われるユーザから見えるオーディオストリーム番号である。
【００８９】
なお、本実施の形態では、上述したように、所定のオーディオストリームのタイプがdual_monoである場合には、そのchannel1とchannel2とのそれぞれを１つの独立したオーディオストリームとして個別に取り扱うことが可能である。ただし、このような個別の取り扱いを可能にするためには、このSTN_table()においては、そのchannel1とchannel2とのそれぞれは個別にエントリーされている必要、即ち、audio_stream_idが個別に付与されている必要がある。
【００９０】
即ち、詳細については後述するが、所定のオーディオストリームのchannel1については、audilio_stream_id＝α（αは０乃至（number_of_audio_stream_entries  １）のうちの何れかの値）がそのchannel1のIDとして付与され、audilio_stream_id＝αにおけるstream_attributes（）のaudio_presentation_type（図１８）として、７（＝channel-1 of dual mono channel）(図２３)が記述されている必要がある。また、所定のオーディオストリームのchannel2については、audilio_stream_id＝β（βは、０乃至（number_of_audio_stream_entries-1）のうちの、αを除く何れかの値）がそのchannel2のIDとして付与され、audilio_stream_id＝βにおけるstream_attributes（）のaudio_presentation_typeとして、８（＝channel-2 of dual mono channel）(図２３)が記述されている必要がある。
【００９１】
さらに、dual_monoである所定のオーディオストリームのchannel1とchannel2とを併せて１つのオーディオストリームとして取り合う必要がある場合には、上述したchannel1とchannel2との個別のエントリーに加えてさらに、dual_monoである所定のオーディオストリームのエントリーが必要になる。dual_monoである所定のオーディオストリームのchannel1とchannel2とを併せて１つのオーディオストリームとして取り合うとは、例えば、左右のスピーカが存在する場合、channel1の音声を左側のスピーカから出力させると同時に、channel2の音声を右側のスピーカから出力させるような再生を行うことを言う。
ただし、このようなエントリーを行うためには、後述する図１８のaudio_presentation_typeのreserveとして用意されている値のうちの何れか（例えば２）を、channel1とchannel2とを併せて１つのオーディオストリームとして取り合うタイプ（以下、このようなタイプをdual mono channelと称する）して割り当てる必要がある。そして、channel1とchannel2とを併せて１つのオーディオストリームとして扱う所定のオーディオストリームについては、audilio_stream_id＝γ（γは０乃至（number_of_audio_stream_entries-1）のうちの、αとβとを除く何れかの値）が、その所定オーディオストリームのIDとして付与され、audilio_stream_id＝γにおけるstream_attributes（）のaudio_presentation_type（図１８）として、dual mono channelが割り当てられている値（例えば２）が記述されている必要がある。
【００９２】
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）を示している。
【０１０１】
図１６の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である。オーディオストリーム番号は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号であるので、１から定義される。
【０１０３】
なお、本実施の形態では、所定のオーディオストリームのタイプがdual_monoである場合には、上述したように、そのchannel1とchannel2とのそれぞれを１つのオーディオエレメンタリストリームとして個別に取り扱うことを可能にするために、そのchannel1とchannel2とのそれぞれに対してaudio_stream_idがそれぞれ個別に与えられる。さらに、そのchannel1とchannel2とを１つに併せたオーディオストリームとして取り扱う必要がある場合には、その所定のオーディオストリームに対しても、channel1やchannel2とは別のaudio_stream_idが１つ与えられる。
【０１０４】
同様に、字幕ストリームＩＤ (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()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報が記述されている。
【０１０９】
なお、本実施の形態では、所定のオーディオストリームのタイプがdual_monoである場合には、上述したように、そのchannel1とchannel2（さらに必要に応じてchannel1とchannel2とを併せたオーディオストリーム）のそれぞれが、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の場合には0x02が、HDMV LPCM audio streamの場合には0x80が、Dolby Digital(AC-3 )audio stream or Dolby Digital Plus audio streamの場合には0x81が、Dts audio stream or DTS-HDaudio streamの場合には0x82が、Dolby Lossless audio streamの場合には0x83が、Presentation graphics streamの場合には0x90が、Interactive graphics streamの場合には0x91が、Text subtitle streamの場合には0x92が、MPEG-4 AVC video streamの場合には0x1Bが、SMPTE VC-1 video streamの場合には0xEAが、それぞれstream_coding_typeに記述される。
【０１１５】
video_formatは、図２０に示されるようにビデオエレメンタリストリームのビデオフォーマットを示す。ビデオエレメンタリストリームのビデオフォーマットとしては、４８０ｉ、５７６ｉ、４８０ｐ、１０８０ｉ、７２０ｐ、および１０８０ｐが記述される。
【０１１６】
frame_rateは、図２１に示されるように、ビデオエレメンタリストリームのフレームレートを示す。ビデオエレメンタリストリームのフレームレートとしては、２４０００／１００１、２４、２５、３００００／１００１、５０、および６００００／１００１が記述される。
【０１１７】
aspect_ratioは、図２２に示されるようにビデオエレメンタリストリームのアスペクト比情報を示す。ビデオエレメンタリストリームのアスペクト比情報としては、４：３ display aspect ratio、および１６：９ display aspect ratioが記述される。
【０１１８】
audio_presentation_typeは、オーディオエレメンタリストリームのプレゼンテーションタイプを示す。オーディオエレメンタリストリームのプレゼンテーションタイプとは、再生（提示）対象のオーディオエレメンタリストリームのタイプを示す情報（以下、タイプ情報と称する）であって、本実施の形態では、図２３に示される０乃至１５のうちの何れかの値がタイプ情報としてaudio_presentation_typeに記述される。
【０１１９】
即ち、audio_presentation_typeに１が記述されている場合には、オーディオエレメンタリストリームのプレゼンテーションタイプはsingle mono channelであることを示す。
【０１２０】
audio_presentation_typeに３が記述されている場合には、オーディオエレメンタリストリームのプレゼンテーションタイプはstereo(2-channel)であることを示す。
【０１２１】
audio_presentation_typeに６が記述されている場合には、オーディオエレメンタリストリームのプレゼンテーションタイプはmulti-channel （例えば5.1ch等）であることを示す。
【０１２２】
audio_presentation_typeに７が記述されている場合には、オーディオエレメンタリストリームのプレゼンテーションタイプはchannel-1 of dual mono channelであること、即ち、即そのオーディオエレメンタリストリームを構成するchannel1とchannel2とのうちのchannel1のみを再生するタイプであることを示す。
【０１２３】
audio_presentation_typeに８が記述されている場合には、オーディオエレメンタリストリームのプレゼンテーションタイプはchannel-2 of dual mono channelであること、即ち、そのオーディオエレメンタリストリームを構成するchannel1とchannel2とのうちのchannel2のみを再生するタイプであることを示す。
【０１２４】
なお、audio_presentation_typeのそれ以外の値は予備(reserved)として設けられている。従って、例えば上述したように、オーディオエレメンタリストリームのプレゼンテーションタイプとしてdual mono channel（channel1とchannel2とを同時に再生するタイプ）を定義したい場合には、この予備(reserved)として設けられている値のうちの所定の１つ（例えば２）を、dual mono 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ＡＶストリームファイルを参照して、再生を行うことができる。このように、拡張性を有する構成とすることができる。
【０１４４】
さらに、本実施の形態では、上述したように、dual_monoであるオーディオストリームのchannel１とchannel2とのそれぞれをSTN_table()に個別にエントリーすることが可能である。従って、dual_monoであるオーディオストリームのchannel１とchannel2とのそれぞれも、ユーザによる音声切り替え操作の対象とすることができる。
【０１４５】
ただし、dual_monoであるオーディオストリームのchannel１とchannel2とのそれぞれを、ユーザによる音声切り替え操作の対象とするためには、Clipインフォメーションファイル（図６）に含まれるProgramInfo（）として、例えば図２６に示されるシンタックスを採用する必要がある。即ち、図２６は、ProgramInfo（）のシンタックスを説明する図である。
【０１４６】
なお、ProgramInfo（）とは、それが含まれているClipインフォメーションファイルに対応するＡＶストリームの内容を説明するための情報である。このＡＶストリームには、プログラムシーケンス（例えば図３の例ではMPEG2プログラムストリーム）が1以上含まれている。即ち、ProgramInfo（）とは、１以上のプログラムシーケンスのそれぞれの内容を説明するための情報である。
【０１４７】
lengthは、このlengthフィールドの直後からProgramInfo ()の最後までのバイト数を示す３２ビットの符号なし整数である。lengthの後には、８ビットのreserved_for_word_alignが用意される。
【０１４８】
number_of_program_sequencesは、ProgramInfo（）内に定義されているプログラムシーケンスの数を示す８ビットの符号なし整数である。
【０１４９】
その後のfor文では、number_of_program_sequences の数だけ、各プログラムシーケンスのそれぞれについての次のような情報が参照される。
【０１５０】
即ち、SPN_program_sequence_start[i]は、i番目のプログラムシーケンスが開始するソースパケットナンバーを示す32ビット符号なし整数である。
【０１５１】
program_map_PID[i]は、i番目のプログラムシーケンスに適応できるprogram_map_sectionを含んだトランスポートパケットのPIDの値を示す8ビット符号なし整数である。
【０１５２】
number_of_streams_in_ps[i]は、i番目のプログラムシーケンスで定義されているエレメンタリストリームの数を示す8ビットの符号なし整数である。
【０１５３】
なお、i番目のプログラムシーケンス内に、dual_monoのオーディオストリームが含まれているときには、number_of_streams_in_ps[i]では、そのdual_monoのオーディオストリームを構成するchannel1とchannel2とのそれぞれは１本のエレメンタリストリームとして個別に取り扱われる。従って、number_of_streams_in_ps[i]では、channel1とchannel2とのそれぞれは１本であるとしてカウントされる。さらに、channel1とchannel2とを併せたオーディオストリーム（dual mono channel）の取り扱いが必要な場合、そのchannel1とchannel2とを併せたオーディオストリーム（dual mono channel）も、channel1とchannel2とは別の１本のエレメンタリストリームとして取り扱われる。従って、number_of_streams_in_ps[i]では、そのchannel1とchannel2とを併せたオーディオストリーム（dual mono channel）も、channel1とchannel2とは別の1本としてカウントされる。
【０１５４】
number_of_streams_in_ps[i]の後には、８ビットのreserved_for_future_useが用意される。そして、その後のfor文では、number_of_streams_in_ps[i]の数だけ、各エレメンタリストリームのそれぞれについての次の情報が参照される。この場合、参照されるべきエレメンタリストリームはstream_indexの値によって特定される。従って、上述したように、dual_monoのオーディオストリームについては、channel1、channel2、および、dual mono channelのそれぞれは、個別のstream_indexの値が付与されているので、１本のエレメンタリストリームとしてそれぞれ個別に取り扱われることなる。
【０１５５】
stream_PID[i][stream_index]は、i番目のプログラムによって参照されるPMTに記述されている、stream_indexの値によって特定されるエレメンタリストリームのPID値を示す16ビット符号なし整数である。
【０１５６】
StreamCodingInfo(i,stream_index)は、stream_PID[i][stream_index]に関連付けられているエレメンタリストリーム、即ち、stream_indexの値によって特定されるエレメンタリストリームの符号化情報である。
【０１５７】
ここで、StreamCodingInfo(i,stream_index)のシンタックスについて図２７を参照して説明する。即ち、図２７は、StreamCodingInfo(i,stream_index)のシンタックスを説明する図である。
【０１５８】
lengthは、このlengthフィールドの直後からStreamCodingInfo(i,stream_index)の最後までのバイト数を示す８ビットの符号なし整数である。
【０１５９】
stream_coding_typeは、対象のストリーム番号（stream_index）で特定されるエレメンタリストリームの符号化タイプを示す。即ち、上述した図１９に示される値のうちの所定の１つがstream_coding_typeに記述される。
【０１６０】
このstream_coding_typeの後には、そのstream_coding_typeの値に応じて参照される各種情報が配置される。ただし、ここでは、本発明の目的のひとつである、dual_monoであるオーディオストリームのchannel１とchannel2とのそれぞれを音声切り替え操作の対象にするという目的を達成するために必要な情報についてのみ説明し、その他の情報の説明は省略する。即ち、この目的を達成するために必要な情報とは、対象のストリーム番号（stream_index）で特定されるエレメンタリストリームがオーディオストリームである場合に参照される情報、具体的には、stream_coding_typeが0x80,0x81,0x82，0x83のうちの何れかの場合に参照される情報である。そこで、以下、これらの情報についてのみ説明する。
【０１６１】
audio_presentation_typeは、対象のストリーム番号（stream_index）で特定されるオーディオエレメンタリストリームのプレゼンテーションタイプを示す。即ち、本実施の形態では、上述した図２３に示される０乃至１５のうちの何れかの値がタイプ情報としてaudio_presentation_typeに記述される。
【０１６２】
具体的には例えば、対象のストリーム番号（stream_index）で特定されるオーディオエレメンタリストリームが、dual_monoのオーディオエレメンタリストリームのchannel１である場合には、channel-1 of dual mono channelを示す７がaudio_presentation_typeに記述される。
【０１６３】
また例えば、対象のストリーム番号（stream_index）で特定されるオーディオエレメンタリストリームが、dual_monoのオーディオエレメンタリストリームのchannel2である場合には、channel-2 of dual mono channelを示す８がaudio_presentation_typeに記述される。
【０１６４】
さらに例えば、対象のストリーム番号（stream_index）で特定されるオーディオエレメンタリストリームが、dual mono channel（channel1とchannel2とを併せて取り扱うストリーム）である場合には、dual mono channnelを示す値（例えば２）がaudio_presentation_typeに記述される。
【０１６５】
sampling_frequencyは、上述した図２４に示されるオーディオエレメンタリストリームのサンプリング周波数を示す。また、audio_language_codeは、オーディオエレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
【０１６６】
ISRC()は、ISO3901によって定義されているISRC-International Standard Recording Codeを示す12文字の情報である。
【０１６７】
ISRC()の後には、３２ビットのreserved_for_future_useが用意される。
【０１６８】
次に、本発明を適用した再生装置について説明する。図２８は、本発明を適用した再生装置２０の構成例を示すブロック図である。この再生装置２０は、上述したメインパスとサブパスを有するPlayListを再生する再生装置２０である。
【０１６９】
再生装置２０には、ストレージドライブ３１、スイッチ３２、ＡＶデコーダ部３３、およびコントローラ３４が設けられている。
【０１７０】
図２８の例の場合、最初に、コントローラ３４がストレージドライブ３１を介してPlayListファイルを読み出し、PlayListファイルの情報に基づいて、ストレージドライブ３１を介してHDD、ブルーレイディスク、またはDVDなどの記録媒体からＡＶストリームやＡＶデータを読み出す。ユーザは、ユーザインターフェースを用いて、コントローラ３４に対し、音声や字幕などの切り替えの指令を行うことができる。また、コントローラ３４には、再生装置２０の言語設定の初期情報が図示せぬ記憶部などから供給される。
【０１７１】
PlayListファイルには、Main Path、Sub Pathの情報の他、STN_table()が含まれている。コントローラ３４は、PlayListファイルに含まれるPlayItemが参照するメインClip AVストリームファイル（以下、メインClipと称する）、SubPlayItemが参照するサブClip AVストリームファイル（以下、サブClipと称する）、およびSubPlayItemが参照するテキストサブタイトルデータを、ストレージドライブ３１を介して記録媒体などから読み出す。
【０１７２】
また、コントローラ３４は、自分自身（再生装置２０）の再生機能に対応するエレメンタリストリームを選択し、再生するよう制御したり、再生装置２０の言語設定の初期情報に対応するエレメンタリストリームだけを選択し、再生するよう制御する。
【０１７３】
この場合、再生対象のオーディオストリームのタイプがdual_monoであるときには、コントローラ３４は、そのオーディオストリームを構成するchannel1とchannel2とのうちの何れか一方のみを再生させたり（例えば左側のスピーカと右側のスピーカともに、channel1とchannel2とのうちの何れか一方のみを再生させたり）、両者を同時に再生させる（例えば左側のスピーカからchannel1を再生させるとともに、右側のスピーカからchannel2を再生させる）ように制御することができる。
【０１７４】
ＡＶデコーダ部３３には、バッファ５１乃至５４、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フィルタ５５は、ビデオストリームをビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをオーディオデコーダ７５への供給元となるスイッチ５９に供給する。
【０１８０】
プレゼンテーショングラフィックスストリームは、例えば、ビットマップの字幕データであり、テキストサブタイトルデータは、例えば、テキスト字幕データである。
【０１８１】
サブClip用リードバッファであるバッファ５３から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５６へ出力される。このPIDフィルタ５６は、入力されたサブClipをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをオーディオデコーダ７５への供給元となるスイッチ５９に供給する。
【０１８２】
バックグラウンドイメージデータをバッファリングするバッファ５１から読み出されたデータは、所定のタイミングでバックグラウンドデコーダ７１に供給される。バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、デコードしたバックグラウンドイメージデータをバックグラウンドプレーン生成部９１に供給する。
【０１８３】
PIDフィルタ５５により振り分けられたビデオストリームは、後段のビデオデコーダ７２に供給される。ビデオデコーダ７２は、ビデオストリームをデコードし、デコードしたビデオデータをビデオプレーン生成部９２へ出力する。
【０１８４】
スイッチ５７は、PIDフィルタ５５から供給されたメインClipに含まれるプレゼンテーショングラフィックスストリームと、サブClip に含まれるプレゼンテーショングラフィックスストリームのうちのいずれか１つを選択し、選択したプレゼンテーショングラフィックスストリームを、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。プレゼンテーショングラフィックスデコーダ７３は、プレゼンテーショングラフィックスストリームをデコードし、デコードしたプレゼンテーショングラフィックスストリームのデータをプレゼンテーショングラフィックスプレーン生成部９３への供給元となるスイッチ７７に供給する。
【０１８５】
また、スイッチ５８は、PIDフィルタ５５から供給されたメインClipに含まれるインタラクティブグラフィックスストリームと、サブClip に含まれるインタラクティブグラフィックスストリームのうちのいずれか１つを選択し、選択したインタラクティブグラフィックスストリームを、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。すなわち、インタラクティブグラフィックスデコーダ７４へ同時に入力されるインタラクティブグラフィックスストリームは、メインClipまたはサブClipのどちらかから分離されたストリームである。インタラクティブグラフィックスデコーダ７４は、インタラクティブグラフィックスストリームをデコードし、デコードしたインタラクティブグラフィックスストリームのデータを、インタラクティブグラフィックスプレーン生成部９４に供給する。
【０１８６】
さらに、スイッチ５９は、PIDフィルタ５５から供給されたメインClipに含まれるオーディオストリームと、サブClip に含まれるオーディオストリームのうちのいずれか１つを選択し、選択したオーディオストリームを、後段のオーディオデコーダ７５に供給する。すなわち、オーディオデコーダ７５へ同時に入力されるオーディオストリームは、メインClipまたはサブClipのどちらかから分離されたストリームである。オーディオデコーダ７５は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをオーディオデータ処理部９７に供給する。
【０１８７】
この場合、オーディオデコーダ７５は、デコードしたオーディオストリームのタイプがdual_monoであったときには、コントローラ３４の制御に基づいて、そのオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を抽出して、オーディオデータ処理部９７に供給する。
【０１８８】
換言すると、コントローラ３４は、PlayListファイルのSTN_table()のうちの、再生対象のオーディオストリームのaudio_stream_idにおけるaudio_presentation_type（図１８）の記述値に基づいて、そのオーディオストリームを構成するchannel1とchannel2とのうちの何れのオーディオデータを抽出するのかを認識し、認識した方（ただし両方となる場合もある）のオーディオデータをオーディオデコーダ７５が抽出するように制御する。
【０１８９】
具体的には例えば、上述した図２３に示されるように、例えばaudio_presentation_typeに７（＝channel-1 of dual mono channel）が記述されていた場合、再生対象のオーディオストリームを構成するchannel1とchannel2とのうちのchannel1のみが抽出される。例えばaudio_presentation_typeに８（＝channel-2 of dual mono channel）が記述されていた場合、再生対象のオーディオストリームを構成するchannel1とchannel2とのうちのchannel2のみが抽出される。
【０１９０】
また例えば、audio_presentation_typeにdual mono channelを示す値（例えば２）が記述されていた場合、再生対象のオーディオストリームを構成するchannel1とchannel2との両者が抽出される。
【０１９１】
また、スイッチ３２により選択されたサウンドデータは、バッファ９５に供給され、バッファリングされる。バッファ９５は、所定のタイミングでサウンドデータをオーディオデータ処理部９７に供給する。サウンドデータは、この場合、メニュー選択などによる効果音のデータである。
【０１９２】
テキストサブタイトル用リードバッファであるバッファ５４から読み出されたデータは、所定のタイミングで、後段のテキストサブタイトルコンポジション（デコーダ）７６へ出力される。テキストサブタイトルコンポジション７６は、Text-STデータをデコードし、スイッチ７７に供給する。
【０１９３】
スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれかを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。すなわち、プレゼンテーショングラフィックスプレーン９３へ同時に供給される字幕画像は、プレゼンテーショングラフィックスデコーダ７３またはテキストサブタイトル（Text-ST）コンポジション７６のうちのいずれかの出力である。また、プレゼンテーショングラフィックスデコーダ７３へ同時に入力されるプレゼンテーショングラフィックスストリームは、メインClipまたはサブClipのいずれかから分離されたストリームである（スイッチ５７により選択される）。したがって、プレゼンテーショングラフィックスプレーン９３へ同時に出力される字幕画像は、メインClipからのプレゼンテーショングラフィックスストリーム、またはサブClipからのからのプレゼンテーショングラフィックスストリーム、またはテキストサブタイトルデータのデコード出力である。
【０１９４】
バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、例えば、ビデオ画像を縮小表示した場合に壁紙画像となるバックグラウンドプレーンを生成し、これを、ビデオデータ処理部９６に供給する。ビデオプレーン生成部９２は、ビデオデコーダ７２から供給されたビデオデータに基づいて、ビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。プレゼンテーショングラフィックスプレーン生成部９３は、スイッチ７７により選択され、供給されたデータ（プレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータ）に基づいて、例えば、レンダリング画像であるプレゼンテーショングラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。
【０１９５】
ビデオデータ処理部９６は、バックグラウンドプレーン生成部９１からのバックグラウンドプレーン、ビデオプレーン生成部９２からのビデオプレーン、プレゼンテーショングラフィックスプレーン生成部９３からのプレゼンテーショングラフィックスプレーン、およびインタラクティブグラフィックスプレーン生成部９４からのインタラクティブグラフィックスプレーンを合成し、ビデオ信号として出力する。また、オーディオデータ処理部９７は、オーディオデコーダ７５からのオーディオデータと、バッファ９５からのサウンドデータを合成し、音声信号として出力する。
【０１９６】
これらのスイッチ５７乃至５９、並びにスイッチ７７は、ユーザインターフェースを介するユーザからの選択、または、対象となるデータが含まれるファイル側に基づいて、スイッチを切り替える。具体的には、サブClip ＡＶストリームファイルのみにしか、オーディオストリームが含まれていない場合、スイッチ５９はサブ側にスイッチを切り替える。
【０１９７】
以上、本発明を適用した再生装置の一実施の形態として図２８の再生装置２０について説明した。ただし、本発明は、図２８の再生装置２０以外の再生装置にも当然ながら適用可能である。即ち、本発明を適用した再生装置は、図２８の実施の形態に限定されず、様々な実施の形態を取ることが可能である。
【０１９８】
例えば、図２８の例では、オーディオデコーダ７５から出力されたオーディオデータと、バッファ９５から出力されたサウンドデータとのミキシング（Audio Mixing）が前提とされていたため、バッファ９５とオーディオデータ処理部９７とが設けられている。従って、このミキシングが不要である場合には、バッファ９５とオーディオデータ処理部９７とは省略可能である。
【０１９９】
この場合、dual_monoのオーディオストリームを構成するchannel1とchannel2との抽出については、図２８の例と同様にＡＶデコーダ部３３の内部のオーディオデコーダ７５で行ってもよいし、ＡＶデコーダ部３３の外部で行ってもよい。後者のときには、オーディオデコーダ７５は、dual_monoのオーディオストリームをそのまま（channel1とchannel2との両者をそのまま）、AVデコーダ部３３の外部の所定の出力先に出力することができる。ただしこのとき、その所定の出力先が、channel1とchannel2とのうちの何れを再生するのかを制御する必要がある。また、この制御の実現のためには、コントローラ３４が所定の制御情報を出力先に供給する必要がある。
【０２００】
また、ミキシング（Audio Mixing）の対象（組み合わせ方）は、オーディオデータとサウンドデータとに限定されず、例えば第１のオーディオデータと第２のオーディオデータとであってもよい。この場合、図示はしないが、再生装置には、例えばオーディオデコーダ７５と基本的に同様の機能と構成を有する２つのオーディオデコーダと、それらの２つのオーディオデコーダのそれぞれによりデコードされた結果得られる第１のオーディオデータと第２のオーディオデータとをミキシングするオーディオデータ処理部とが設けられる。
【０２０１】
この場合、２つのオーディオデコーダは何れも、自身がデコードしたオーディオストリームのタイプがdual_monoであったときには、そのオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を抽出して、オーディオデータ処理部に提供する。即ち、オーディオストリームを構成するchannel1若しくはchannel2、または、channel1とchannel2との両者を、ミキシング対象の第１のオーディオデータとすることができる。同様に、オーディオストリームを構成するchannel1若しくはchannel2、または、channel1とchannel2との両者を、ミキシング対象の第２のオーディオデータとすることができる。
【０２０２】
次に、図２８の例の再生装置２０における再生処理を、図２９乃至図３１のフローチャートを参照して説明する。なお、この処理は、ユーザによりユーザインターフェースを介して、所定のＡＶストリームの再生が指令されたとき開始される。
【０２０３】
ステップＳ１１において、コントローラ３４は、ストレージドライブ３１を介して、記録媒体や図示せぬ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フィルタ５５は、ビデオストリームをビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをオーディオデコーダ７５への供給元となるスイッチ５９に供給する。すなわち、ビデオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム、およびオーディオストリームには、それぞれ異なるPIDが付されている。
【０２１１】
ステップＳ１９において、バッファ５３は、サブClipのストリームデータをPIDフィルタ５６に出力する。
【０２１２】
ステップＳ２０において、PIDフィルタ５６は、PIDに基づいて、各エレメンタリストリームのデコーダへ振り分ける。具体的には、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをオーディオデコーダ７５への供給元となるスイッチ５９に供給する。
【０２１３】
ステップＳ２１において、PIDフィルタ５５およびPIDフィルタ５６の後段のスイッチ５７乃至５９は、ユーザインターフェースを介するコントローラ３４からの制御に基づいて、メインClip とサブClipのいずれかを選択する。具体的には、スイッチ５７は、PIDフィルタ５５から供給されたメインClipまたはサブClipのプレゼンテーショングラフィックスストリームを選択し、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。また、スイッチ５８は、PIDフィルタ５５から供給されたメインClipまたはサブClipのインタラクティブグラフィックスストリームを選択し、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。さらに、スイッチ５９は、PIDフィルタ５５から供給されたメインClipまたはサブClipのオーディオストリームを選択し、後段のオーディオデコーダ７５に供給する。
【０２１４】
ステップＳ２２において、バッファ５４は、テキストサブタイトルデータをテキストサブタイトルコンポジション７６に出力する。
【０２１５】
ステップＳ２３において、バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、これをバックグラウンドプレーン生成部９１に出力する。
【０２１６】
ステップＳ２４において、ビデオデコーダ７２は、ビデオストリームをデコードし、これをビデオプレーン生成部９２に出力する。
【０２１７】
ステップＳ２５において、プレゼンテーショングラフィックスデコーダ７３は、スイッチ５７により選択され、供給されたプレゼンテーショングラフィックスストリームをデコードし、これを後段のスイッチ７７に出力する。
【０２１８】
ステップＳ２６において、インタラクティブグラフィックスデコーダ７４は、スイッチ５８により選択され、供給されたインタラクティブグラフィックスストリームをデコードし、これを後段のインタラクティブグラフィックスプレーン生成部９４に出力する。
【０２１９】
ステップＳ２７において、オーディオデコーダ７５は、スイッチ５９により選択され、供給されたオーティオデータをデコードし、これを後段のオーディオデータ処理部９７に出力する。
【０２２０】
なお、上述したように、オーディオデコーダ７５は、このステップＳ２７の処理でデコードしたオーディオストリームのタイプがdual_monoであったときには、コントローラ３４の制御に基づいて、そのオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を抽出して、オーディオデータ処理部９７に出力する。
【０２２１】
ステップＳ２８において、Text-STコンポジション７６は、テキストサブタイトルデータをデコードし、これを後段のスイッチ７７に出力する。
【０２２２】
ステップＳ２９において、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３またはText-STコンポジション７６からのデータのいずれかを選択する。具体的には、スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれか１つを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。
【０２２３】
ステップＳ３０において、バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、バックグラウンドプレーンを生成する。
【０２２４】
ステップＳ３１において、ビデオプレーン生成部９２は、ビデオデコーダ７２から供給されたビデオデータに基づいて、ビデオプレーンを生成する。
【０２２５】
ステップＳ３２において、プレゼンテーショングラフィックスプレーン生成部９３は、ステップＳ２９の処理でスイッチ７７により選択され、供給されたプレゼンテーショングラフィックスデコーダ７３からのデータまたはText-STコンポジション７６からのデータに基づいて、プレゼンテーショングラフィックスプレーンを生成する。
【０２２６】
ステップＳ３３において、インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成する。
【０２２７】
ステップＳ３４において、バッファ９５は、ステップＳ１４の処理で選択され、供給されたサウンドデータをバッファリングし、所定のタイミングでオーディオデータ処理部９７に供給する。
【０２２８】
ステップＳ３５において、ビデオデータ処理部９７は、各プレーンのデータを合成し、出力する。具体的には、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、およびインタラクティブグラフィックスプレーン生成部９４からのデータを合成し、ビデオデータとして出力する。
【０２２９】
ステップＳ３６において、オーディオデータ処理部９７は、オーディオデータとサウンドデータを合成し、出力する。
【０２３０】
図２９乃至図３１の処理により、PlayListに含まれるメインパスとサブパスによりメインClip、サブClip、およびテキストサブタイトルデータが参照され、再生される。メインパスとサブパスを設けるようにし、サブパスで、メインパスで指定するClip ＡＶストリームファイルとは異なるClipを指定可能な構成としたので、メインパスのPlayItemが指すメインClipとは異なるClipであるサブClipのデータとメインClipのデータを一緒に（同じタイミングで）再生することができる。
【０２３１】
その際、メインClipまたはサブClipから読み出されたオーディオストリームのタイプがdual_monoであった場合には、そのオーディオストリームのchannel１とchannel2とのうちの少なくとも一方を再生することができる。
【０２３２】
なお、図２９乃至図３１において、ステップＳ１６，ステップＳ１７の処理は、その順番が逆で合ってもよいし、平行して実行されてもよい。また、ステップＳ１８、ステップＳ２０の処理も、その順番が逆で合ってもよいし、平行して実行されてもよい。さらに、ステップＳ２３乃至ステップＳ２８の処理も、その順番が逆で合ってもよいし、平行して実行されてもよい。また、ステップＳ３０乃至ステップＳ３３の処理も、その順番が逆で合ってもよいし、平行して実行されてもよい。さらに、ステップＳ３５，ステップＳ３６の処理も、その順番が逆で合ってもよいし、平行して実行されてもよい。すなわち、図２８において、縦に同じ階層のバッファ５１乃至５４の処理、スイッチ５７乃至５９の処理、デコーダ７１乃至７６の処理、プレーン生成部９１乃至９４の処理、ビデオデータ処理部９６およびオーディオデータ処理部９７の処理は、それぞれ、平行して実行されてもよいし、その順番は問わない。
【０２３３】
次に、音声（オーディオ）の切り替えが指示された場合の再生装置２０における処理（以下、オーディオ切替処理とも称する）を、図３２を参照して説明する。なお、この処理は、例えば、図２９乃至図３１の再生処理の実行中に実行される処理である。
【０２３４】
ステップＳ５１において、コントローラ３４は、オーディオストリーム番号（ＩＤでもよい）の順番リストを取得する。具体的には、コントローラ３４は、図１５を用いて説明した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の中の所望のオーディオストリームを特定する。
【０２４１】
ステップＳ５８において、コントローラ３４は、所望のオーディオストリームが多重化されているClip（メインClipまたはサブClip）を読み出すようストレージドライブ３１に指示する。ストレージドライブ３１は、この指示に基づいて、対象となるClipを読み出す。
【０２４２】
ステップＳ５９において、コントローラ３４は、読み出されたClipからオーディオストリームを再生するようＡＶデコーダ部３３に指示する。
【０２４３】
ステップＳ６０において、ＡＶデコーダ部３３は、オーディオストリームをデコードし、オーディオ出力する。より詳細には、オーディオデコーダ７５によりデコードされたオーディオデータと、バッファ９５から出力されるサウンドデータが、オーディオデータ処理部９７により処理され、オーディオ信号として出力される。
【０２４４】
なお、上述したように、オーディオデコーダ７５は、このステップＳ６０の処理でデコードしたオーディオストリームのタイプがdual_monoであったときには、コントローラ３４の制御に基づいて、そのオーディオストリームを構成するchannel1とchannel2とのうちの少なくとも一方を抽出して、オーディオデータ処理部９７に出力する。
【０２４５】
具体的には例えば、ステップＳ５４の処理で再生機能を有すると判定されたオーディオストリームに対応する番号（その番号に対応するaudio_stream_id）におけるaudio_presentation_type（図２３）に７（＝channel-1 of dual mono channel）が記述されていたときには、デコードされたオーディオストリームを構成するchannel1とchannel2とのうちのchannel1のみが抽出されて、オーディオデータ処理部９７に出力される。
【０２４６】
例えば、ステップＳ５４の処理で再生機能を有すると判定されたオーディオストリームに対応する番号（その番号に対応するaudio_stream_id）におけるaudio_presentation_typeに８（＝channel-2 of dual mono channel）が記述されていたときには、デコードされたオーディオストリームを構成するchannel1とchannel2とのうちのchannel2のみが抽出されて、オーディオデータ処理部９７に出力される。
【０２４７】
また例えば、ステップＳ５４の処理で再生機能を有すると判定されたオーディオストリームに対応する番号（その番号に対応するaudio_stream_id）におけるaudio_presentation_typeにdual mono channelを示す値（例えば２）が記述されていたときには、デコードされたオーディオストリームを構成するchannel1とchannel2との両者が抽出されて、オーディオデータ処理部９７に出力される。
【０２４８】
そして、channel1とchannel2とのうちのオーディオデコーダ７５から出力されたオーディオデータと、バッファ９５から出力されるサウンドデータとが、オーディオデータ処理部９７により処理され、オーディオ信号として出力される。
【０２４９】
この処理により、図３０のステップＳ２１における図２８のスイッチ５９の選択が決定される。すなわち、図３２において対象となるClipがメインClipである場合、スイッチ５９は、メイン側、すなわちPIDフィルタ５５から供給されたオーディオストリームをオーディオデコーダ７５に供給し、対象となるClipがサブClipである場合、スイッチ５９は、サブ側、すなわち、PIDフィルタ５６から供給されたオーディオストリームをオーディオデコーダ７５に供給する。
【０２５０】
このように、コントローラ３４は、PlayItemのSTN_table()に基づいて、音声（オーディオ）の切り替えを制御することができる。
【０２５１】
さらに、その音声の切り替えの対象として、dual_monoのオーディオストリームを加えること、具体的にはそれを構成するchannel1とchannel2とのそれぞれ、および、channel1とchannel2との両者を加えることが可能になる。
【０２５２】
なお、図３２の処理では、オーディオストリーム番号に基づいて、オーディオを切り替えるようにしたが、オーディオストリームＩＤ（audio_stream_id）に基づいて、オーディオを切り替えるようにしてもよい。この場合、オーディオストリーム番号から１を減算したものが、オーディオストリームＩＤとなる。
【０２５３】
以上により、メインのＡＶストリームとは別のストリームやデータファイルでオーディオや字幕などを用意する場合に、PlayListの中にメインパスとサブパスを有する構成としたので、ユーザによる音声切り替えや字幕切り替えという操作が、メインＡＶストリームとは異なる別ストリームや別データファイルの中から選ぶことができる。
【０２５４】
また、メインパスのPlayItemの中に、ＡＶストリームファイルに多重化されているデータと、Sub Pathにより参照されるデータのtypeを定義するStream Number Definition Tableを設けるようにしたので、より、拡張性の高いストリームを実現することができる。
【０２５５】
さらに、再生装置２０は、STN_table()のstream_attributeを参照することで、自分自身が有する機能に対応するストリームだけを順次選択して再生することができる。
【０２５６】
さらにまた、ＡＶコンテンツの再生における音声の切り替え操作の対象として、dual_monoのオーディオストリームも加ええることができる。
【０２５７】
なお、図２８のストレージドライブ３１が読み出すデータは、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５０２や記憶部５０８が含まれるハードディスクなどで構成される。
【０２６５】
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２６６】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０２６７】
【図１】従来の音声切り替えを説明する図である。
【図２】従来の音声切り替えを説明する図である。
【図３】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を説明する図である。
【図２６】ProgramInfo()を説明する図である。
【図２７】StreamCodingInfo(i.stream_index)を説明する図である。
【図２８】本発明を適用した再生装置の構成例を示すブロック図である。
【図２９】図２８の再生装置における再生処理を説明するフローチャートである。
【図３０】図２８の再生装置における再生処理を説明するフローチャートである。
【図３１】図２８の再生装置における再生処理を説明するフローチャートである。
【図３２】ユーザにより音声の切り替えが指示される場合の処理を説明するフローチャートである。
【図３３】パーソナルコンピュータの構成を示す図である。
【図３４】PlayList()のシンタクスの別の例を示す図である。
【符号の説明】
【０２６８】
２０  再生装置，  ３１  ストレージドライブ，  ３２  スイッチ，  ３３  ＡＶデコーダ部，  ３４  コントローラ，  ５１乃至５４  バッファ，  ５５，５６  PIDフィルタ，  ５７乃至５９  スイッチ，  ７１  バックグラウンドデコーダ，  ７２  ビデオデコーダ，  ７３  プレゼンテーショングラフィックスデコーダ，  ７４  インタラクティブグラフィックスデコーダ，  ７５  オーディオデコーダ，  ７６  Text-STコンポジション，  ７７  スイッチ，  ９１  バックグラウンドプレーン生成部，  ９２  ビデオプレーン生成部，  ９３  プレゼンテーショングラフィックスプレーン生成部，  ９４  インタラクティブグラフィックスプレーン生成部，  ９５  バッファ  ９６  ビデオデータ処理部，  ９７  オーディオデータ処理部
【図１】
2006338733.tif 000003
【図２】
2006338733.tif 000004
【図３】
2006338733.tif 000005
【図４】
2006338733.tif 000006
【図５】
2006338733.tif 000007
【図６】
2006338733.tif 000008
【図７】
2006338733.tif 000009
【図８】
2006338733.tif 000010
【図９】
2006338733.tif 000011
【図１０】
2006338733.tif 000012
【図１１】
2006338733.tif 000013
【図１２】
2006338733.tif 000014
【図１３】
2006338733.tif 000015
【図１４】
2006338733.tif 000016
【図１５】
2006338733.tif 000017
【図１６】
2006338733.tif 000018
【図１７】
2006338733.tif 000019
【図１８】
2006338733.tif 000020
【図１９】
2006338733.tif 000021
【図２０】
2006338733.tif 000022
【図２１】
2006338733.tif 000023
【図２２】
2006338733.tif 000024
【図２３】
2006338733.tif 000025
【図２４】
2006338733.tif 000026
【図２５】
2006338733.tif 000027
【図２６】
2006338733.tif 000028
【図２７】
2006338733.tif 000029
【図２８】
2006338733.tif 000030
【図２９】
2006338733.tif 000031
【図３０】
2006338733.tif 000032
【図３１】
2006338733.tif 000033
【図３２】
2006338733.tif 000034
【図３３】
2006338733.tif 000035
【図３４】
2006338733.tif 000036