(57)【要約】【課題】再生されるストリームデータに、オーディオストリーム＃１に合成される他の音声データがストリームに含まれているか否かを判断する。【解決手段】PlayListファイルに含まれるPlayList()には、PlayList()により参照されるデータにオーディオストリーム＃１に合成されるサウンドデータが含まれているか否かのフラグと、オーディオストリーム＃１に合成されるオーディオストリーム＃２が含まれているか否かのフラグとが記載されている。再生装置のコントローラは、PlayListに記載されているフラグを参照し、自分自身が再生可能な音声データデータであって、オーディオストリーム＃１に合成される他の音声データがストリームに含まれているか否かを判断することができる。本発明は、再生装置に適用できる。【選択図】図１８
2008287869.tif 000002
【特許請求の範囲】
【請求項１】
符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データを取得できる再生データ取得手段と、
前記再生データ取得手段により取得された前記再生制御情報ファイルに基づき、前記ストリームデータをデコードするデコード手段と、
前記合成用データを、前記デコード手段によりデコードされた前記ストリームデータと合成する合成手段と、
前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段と、
前記再生データ取得手段により取得された前記再生データに含まれる前記ストリームデータを前記デコード手段に供給するか、出力するかを選択する選択手段と、
前記選択手段を制御する制御手段と
を備え、
前記制御手段は、
前記再生データ取得手段により取得される前記再生データに含まれる前記再生制御情報ファイルから、前記合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報を取得し、
前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データ取得手段により取得された前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データ取得手段により取得された前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記符号化手段を介して出力するように、前記選択手段を制御する
再生装置。
【請求項２】
前記符号化されたストリームデータは、音声データである
請求項１に記載の再生装置。
【請求項３】
前記合成用データは、ユーザ操作に基づき発生されるクリック音データ、または効果音データである
請求項２に記載の再生装置。
【請求項４】
前記合成手段は、前記ユーザ操作に基づきクリック音、又は効果音が発生された場合、少なくとも前記音声データと前記クリック音データ又は効果音データを合成し、
前記符号化手段は、合成された音声データおよびクリック音データ又は効果音データを符号化する
請求項３に記載の再生装置。
【請求項５】
前記合成用データは、ユーザ操作に基づき切り替えられる副音声データである
請求項２に記載の再生装置。
【請求項６】
前記合成手段は、前記副音声データが選択された場合、前記音声データと前記副音声データを合成する
請求項５に記載の再生装置。
【請求項７】
符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データを取得し、
前記合成用データを、前記再生制御情報ファイルに基づき前記ストリームデータをデコードするデコード手段によりデコードされた前記ストリームデータと合成する合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報を、前記再生データに含まれる前記再生制御情報ファイルから取得し、
前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段を介して出力するように制御する
ステップを含む再生方法。
【請求項８】
符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データを取得し、
前記合成用データを、前記再生制御情報ファイルに基づき前記ストリームデータをデコードするデコード手段によりデコードされた前記ストリームデータと合成する合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報を、前記再生データに含まれる前記再生制御情報ファイルから取得し、
前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段を介して出力するように制御する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再生装置、再生方法、プログラムに関し、特に、再生される音声データの合成が可能なようになされている場合に用いて好適な、再生装置、再生方法、プログラムに関する。
【背景技術】
【０００２】
異なったコンテンツを同時視聴するために、複数のコンテンツの映像データをデコードした後、非圧縮の画像データを合成して、その後、Ｄ／Ａ変換を実行し、映像出力端子へ出力して、外部の表示装置に表示させる技術がある（例えば、特許文献１）。
【０００３】
【特許文献１】特開２００５−２０２４２号公報
【０００４】
上述した特許文献１のように、ビデオデータを合成するためには、圧縮符号化されたビデオデータをそれぞれ復号し、非圧縮のビデオデータを合成する必要がある。これば、ビデオデータのみならず、オーディオデータであっても同様であり、オーディオデータを合成する場合には、非圧縮のオーディオデータを用いなければならない。
【０００５】
また、出力先の機器が有する機能、または、出力先の機器との接続方法によっては、出力データは、符号化されたデータでなければならない場合がある。
【０００６】
主に出力される音声データに対して、他の音声データが合成され、出力される音声データは、符号化データである場合の処理について、図１を用いて説明する。
【０００７】
第１の音声データ取得部１１は、例えば、光ディスクから読み出されて供給された圧縮符号化された第１の音声データを取得し、復号部１２に供給する。第１の音声データは、そのコンテンツにおいて、常時再生出力される音声データであるものとする。復号部１２は、第１の音声データ取得部１１から供給された、圧縮符号化された第１の音声データを復号し、非圧縮の第１の音声データを、合成部１４に供給する。
【０００８】
第２の音声データ取得部１３は、非圧縮の第２の音声データを取得し、合成部１４に供給する。合成部１４は、第２の音声データ取得部１３から非圧縮の第２の音声データの供給を受け、第２の音声データを、復号部１２から供給された非圧縮の第１の音声データと合成し、合成された音声データを符号化部１５に供給する。
【０００９】
符号化部１５は、供給された音声データを符号化し、デジタルインターフェース１６に供給する。デジタルインターフェースは、供給された符号化データを、所定のネットワークを介して、他の装置などに送出する。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
この非圧縮の第２の音声データは、そのコンテンツに対して用意されている場合と用意されていない場合がある。すなわち、コンテンツによっては、第２の音声データ取得部１３が、非圧縮の第２の音声データを取得しないようになされている場合や、コンテンツの所定の部分のみ、第２の音声データが用意され、第２の音声データ取得部１３が、所定の部分のみの非圧縮の第２の音声データを取得するようになされている場合などがある。合成部１４は、第２の音声データ取得部１３から非圧縮の第２の音声データの供給を受けない場合、復号部１２から供給された非圧縮の第１の音声データを符号化部１５に供給する。
【００１１】
図１を用いて説明した装置において、主に再生出力される第１の音声データに対して、第２の音声データが合成されるコンテンツと合成されないコンテンツの両方を再生出力可能なようになされている場合、または、同一コンテンツの所定の部分のみ、第２の音声データを合成することが可能なようになされている場合、従来では、再生出力する装置において、第２の音声データが合成されるか否か（第２の音声データが存在するか否か）を検出することができなかった。
【００１２】
したがって、第１の音声データは、第２の音声データが合成されないコンテンツ、または、第２の音声データが合成されない部分であっても、第２の音声データが合成される場合と同様に、復号され、再符号化されるようになされていた。そのため、第１の音声データは、常に復号および再符号化のために、音質が劣化してしまう。
【００１３】
また、例えば、上述した特許文献１のように、ビデオデータを合成する場合であって、符号化データを出力されるようになされている場合にも同様のことが考えられる。すなわち、映像データの合成を行うことが可能な再生装置が、主に出力される映像データに合成する他のデータの有無を検出することができなければ、主に出力される映像データは、常に復号され、再符号化されてしまうため、画質が劣化してしまう。
【００１４】
本発明はこのような状況に鑑みてなされたものであり、必要に応じてデータの合成を実現することができるようにするものである。
【課題を解決するための手段】
【００１５】
本発明の一側面の再生装置は、符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データを取得できる再生データ取得手段と、前記再生データ取得手段により取得された前記再生制御情報ファイルに基づき、前記ストリームデータをデコードするデコード手段と、前記合成用データを、前記デコード手段によりデコードされた前記ストリームデータと合成する合成手段と、前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段と、前記再生データ取得手段により取得された前記再生データに含まれる前記ストリームデータを前記デコード手段に供給するか、出力するかを選択する選択手段と、前記選択手段を制御する制御手段とを備える。前記制御手段は、前記再生データ取得手段により取得される前記再生データに含まれる前記再生制御情報ファイルから、前記合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報を取得し、前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データ取得手段により取得された前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データ取得手段により取得された前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記符号化手段を介して出力するように、前記選択手段を制御する。
【００１６】
前記符号化されたストリームデータは、音声データであるようにすることができる。
【００１７】
前記合成用データは、ユーザ操作に基づき発生されるクリック音データ、または効果音データであるようにすることができる。
【００１８】
前記合成手段には、前記ユーザ操作に基づきクリック音、又は効果音が発生された場合、少なくとも前記音声データと前記クリック音データ又は効果音データを合成させ、前記符号化手段には、合成された音声データおよびクリック音データ又は効果音データを符号化させることができる。
【００１９】
前記合成用データは、ユーザ操作に基づき切り替えられる副音声データであるようにすることができる。
【００２０】
前記合成手段には、前記副音声データが選択された場合、前記音声データと前記副音声データを合成させることができる。
【００２１】
本発明の一側面の再生方法またはプログラムは、符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データを取得し、前記合成用データを、前記再生制御情報ファイルに基づき前記ストリームデータをデコードするデコード手段によりデコードされた前記ストリームデータと合成する合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報を、前記再生データに含まれる前記再生制御情報ファイルから取得し、前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段を介して出力するように制御するステップを含む。
【００２２】
本発明の一側面においては、符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データが取得され、前記合成用データを、前記再生制御情報ファイルに基づき前記ストリームデータをデコードするデコード手段によりデコードされた前記ストリームデータと合成する合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報が、前記再生データに含まれる前記再生制御情報ファイルから取得される。前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段を介して出力するように制御される。
【発明の効果】
【００２３】
本発明の一側面によれば、必要に応じてデータの合成を実現することができる。
【発明を実施するための最良の形態】
【００２４】
以下、図を参照して、本発明の実施の形態について説明する。
【００２５】
図２を用いて、本発明を適用した再生装置について説明する。
【００２６】
再生装置２０は、装着された、例えば、光ディスクなどの記録媒体２１に記録されている情報、ネットワーク２２を介して供給された情報、または、自分自身の内部の記録媒体（例えば、HDDなど）に記録されている情報を再生することができる。再生装置２０は、再生されたデータを、有線または無線により接続されている表示・音声出力装置２３に供給して、画像を表示させ、音声を出力させることができる。再生装置２０はまた、再生されたデータを、ネットワーク２２を介して、他の装置に送出することができる。再生装置２０は、例えば、リモートコマンダ２３のほか、本体に備えられたボタン等の入力デバイスによって、ユーザからの操作入力を受けることができる。
【００２７】
記録媒体２１は、再生装置２０により再生可能な映像および音声を含むデータを所定のフォーマットで記録している。記録媒体２１は、光ディスクの他、例えば、磁気ディスクや半導体メモリであってもよい。
【００２８】
表示・音声出力装置２３が、デジタルの非圧縮データの入力を受けるようになされている場合、再生装置２０は、記録媒体２１などに記録されている符号化データを復号して、非圧縮データを表示・音声出力装置２３に供給するようになされているが、表示・音声出力装置２３が、復号機能を有し、圧縮データの入力を受けるようになされている場合、再生装置２０は、圧縮データを表示・音声出力装置２３に供給するようになされている。また、表示・音声出力装置２３が、非圧縮のアナログデータの入力を受けるようになされている場合、再生装置２０は、記録媒体２１などに記録されている符号化データを復号して、非圧縮データをD/A変換してアナログ信号を生成し、表示・音声出力装置２３に供給するようになされている。再生装置２０はまた、記録媒体２１などに記録されているデータを再生し、圧縮データの状態で、ネットワーク２２に送出する。
【００２９】
図３は、図２の再生装置２０によって再生可能な情報、すなわち、再生装置２０に装着される記録媒体２１に記録されているデータ、ネットワーク２２を介して供給されるデータ、または、再生装置２０の内部の記録媒体に記録されているデータのアプリケーションフォーマットの例を示す図である。
【００３０】
アプリケーションフォーマットは、ＡＶ（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の再生の順序や、PlayListのインタラクティブな再生をコントロールする機能を有する。また、ナビゲーションプログラムは、各種の再生の実行をユーザが指示するためのメニュー画面を表示する機能なども有する。このナビゲーションプログラムは、例えば、Java（登録商標）などのプログラミング言語で記述される。
【００３６】
例えば、図３のナビゲーションプログラムにより、そのときの再生位置を表す情報として、左から１番目のPlayListに含まれる左側のPlayItemが指定された場合、そのPlayItemが参照する、左側のClipに含まれるＡＶストリームの前半部分の再生が行われる。このように、PlayListは、ＡＶストリームファイルの再生を管理するための再生管理情報として用いられる。
【００３７】
ナビゲーションプログラムは、インデックステーブル（Index table）と、インデックステーブルにより読み出されるナビゲーションオブジェクト（Navigation Object）により構成される。図４を用いて、インデックステーブルとナビゲーションオブジェクトについて説明する。
【００３８】
インデックステーブルは、コンテンツのタイトルやメニューの定義を行うものであり、各タイトルやメニューのエントリーポイントを保持している。FirstPlaybackには、このデータを記録している記録媒体２１が再生装置２０に装着されたときなど、インデックステーブルが読み込まれたときに最初に自動的に実行されるNavigationObjectに関する情報が含まれている。TopMenuには、ユーザが、コンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面を表示させる場合などに呼び出されるTopMenuのNavigationObjectに関する情報が含まれている。それぞれのTitleは、所定のTitle IDで区別されるタイトルごとに割り当てられて呼び出すことが可能なNavigationObjectに関する情報が含まれている。この図４においては、１つのTitleに付き１つのNavigation Commandが存在している。
【００３９】
ナビゲーションオブジェクトは、実行可能なコマンドであるNavigation commandから成っている。Navigation Commandは、例えば、PlayListの再生や、他のNavigation Objectの呼び出しなどの各種コマンドを含む。例えば、Navigation Command#3に、PlayList#1を再生するための命令文が含まれる場合、Navigation Command#3を実行すると、PlayList#1が再生される。
【００４０】
インデックステーブルを含むデータファイルであるIndexファイルについては、図９乃至図１１を用いて後述する。
【００４１】
本実施の形態では、PlayListの中で、１つ以上のPlayItemの並びによって（連続するPlayItemにより）作られる再生パスをメインパス(Main Path)と称し、PlayListの中で、Main Pathに並行（並列）して、１つ以上のSub Pathの並びによって（非連続でもよいし、連続してもよいSubPlayItemにより）作られる再生パスをサブパス（Sub Path）と称する。すなわち、再生装置２０で再生可能なデータのアプリケーションフォーマットは、メインパスに関連付けられて（合わせて）再生されるサブパス(Sub Path)を、PlayListの中に持つ(関連付けられる)ようになされている。
【００４２】
図５は、メインパスとサブパスの構造を説明する図である。PlayListは、１つのメインパスと１つ以上のサブパスを持つことができる。１つのメインパスは、１つ以上のPlayItemの並びによって作られ、１つのサブパスは、１つ以上のSubPlayItemの並びによって作られる。
【００４３】
図５の例の場合、PlayListは、３つのPlayItemの並びにより作られる１つのメインパスと、３つのサブパスを有している。メインパスを構成するPlayItemには、先頭から順番にそれぞれＩＤ（Identification）が付されている。具体的には、メインパスは、PlayItem_id＝０、PlayItem_id＝１、およびPlayItem_id＝２のPlayItemからなる。また、サブパスにも先頭から順番にSubpath_id＝０、Subpath_id＝１、およびSubpath_id＝２、とそれぞれＩＤが付されている。Subpath_id＝０のサブパスには、１つのSubPlayItemが含まれ、Subpath_id＝１のサブパスには、２つのSubPlayItemが含まれ、Subpath_id＝２のサブパスには、１つのSubPlayItemが含まれる。
【００４４】
Subpath_id＝０のサブパスに含まれるSubPlayItemが参照するストリームは、例えば、映画の日本語吹き替えの音声と想定され、Mainpathにより参照されるＡＶストリームファイルのオーディオストリームに替えて再生される場合が考えられる。また、Subpath_id＝１のサブパスに含まれるSubPlayItemが参照するストリームは、例えば、映画のディレクターズカットと想定され、Main Pathにより参照されるＡＶストリームファイルの所定の部分にのみ、映画監督などのコメントが入っている場合が考えられる。
【００４５】
１つのPlayItemが参照するClip ＡＶストリームファイルには、少なくともビデオストリームデータ（メイン画像データ）が含まれる。また、Clip ＡＶストリームファイルには、Clip ＡＶストリームファイルに含まれるビデオストリーム（メイン画像データ）と同じタイミングで（同期して）再生されるオーディオストリームが１つ以上含まれてもよいし、含まれなくてもよい。さらに、Clip ＡＶストリームファイルには、Clip ＡＶストリームファイルに含まれるビデオストリームと同じタイミングで再生されるビットマップ字幕ストリームが１つ以上含まれてもよいし、含まれなくてもよい。また、Clip ＡＶストリームファイルには、Clip ＡＶストリームファイルに含まれるビデオストリームと同じタイミングで再生されるインタラクティブグラフィックスストリームが１つ以上含まれてもよいし、含まれなくてもよい。そして、Clip ＡＶストリームファイルに含まれるビデオストリームと、ビデオストリームと同じタイミングで再生されるオーディオストリーム、ビットマップ字幕ストリームファイル、またはインタラクティブグラフィックスストリームとは多重化されている。すなわち、１つのPlayItemが参照するClip ＡＶストリームファイルには、ビデオストリームデータと、そのビデオストリームに合わせて再生される０個以上のオーディオストリーム、０個以上のビットマップ字幕ストリームデータ、および０個以上のインタラクティブグラフィックスストリームデータとが多重化されている。
【００４６】
すなわち、１つのPlayItemが参照するClip ＡＶストリームファイルには、ビデオストリーム、オーディオストリーム、ビットマップ字幕ストリームファイル、または、インタラクティブグラフィックスストリームなどの、複数の種類のストリームが含まれている。
【００４７】
また、１つのSubPlayItemは、PlayItemが参照するClip ＡＶストリームファイルとは異なるストリーム（別ストリーム）のオーディオストリームデータや字幕データを参照する。
【００４８】
メインパスのみを有するPlayListを再生する場合、ユーザによる音声切り替えや字幕切り替えという操作は、そのメインパスが参照するClipに多重化されているオーディオストリームとサブピクチャストリームの中からしか音声や字幕を選択することができない。これに対し、メインパスとサブパスを持つPlayListを再生する場合、そのメインパスが参照するClip ＡＶストリームファイルに多重化されているオーディオストリームとサブピクチャストリームに加えて、SubPlayItemが参照するClipのオーディオストリームやサブピクチャストリームを参照することができる。
【００４９】
このように、１つのPlayListの中にSubPathを複数含め、それぞれのSubPathがそれぞれSubPlayItemを参照する構成としたので、拡張性の高い、また、自由度の高いＡＶストリームを実現することができる。すなわち、MainPathで参照されるClip ＡＶストリームに加えて、後で、SubPlayItemを追加できる構成とすることができる。
【００５０】
図６は、メインパスとサブパスの例を説明する図である。図６においては、メインパスと同じタイミングで（ＡＶ同期して）再生されるオーディオの再生パスを、サブパスを使用して表している。
【００５１】
図６のPlayListには、メインパスとして、PlayItem_id＝０である１つのPlayItemと、サブパスとして１つのSubPlayItemが含まれている。メインパスのPlayItem_id＝０である１つのPlayItem()は、図６のメインＡＶストリームを参照している。SubPlayItem()には、以下に示すデータが含まれる。まず、SubPlayItem ()には、PlayListの中のSub Path（サブパス）が参照するClipを指定するためのClip_Information_file_nameが含まれる。図６の例の場合、SubPlayItemによって、SubClip_entry_id＝０のAuxiliary audio stream（オーディオストリーム）が参照されている。また、SubPlayItem ()には、指定されたClipに含まれるストリーム（ここでは、Auxiliary audio stream）中のSub Pathの再生区間を指定するためのSubPlayItem_IN_timeとSubPlayItem_OUT_timeとが含まれる。さらに、SubPlayItem()には、Main pathの時間軸上でSub Pathが再生開始する時刻を指定するためのsync_PlayItem_idとsync_start_PTS_of_PlayItemとが含まれる。図６の例の場合、sync_PlayItem_id＝０とされ、sync_start_PTS_of_PlayItem＝ｔ１とされている。これにより、メインパスのPlayItem_id＝０の時間軸上でSub Pathが再生を開始する時刻ｔ１を指定することができる。すなわち、図６の例の場合では、メインパスの再生開始時刻ｔ１とサブパスの開始時刻ｔ１が同時刻であることを示している。
【００５２】
ここで、Sub Pathに参照されるオーディオのClip AVストリームは、STC不連続点（システムタイムベースの不連続点）を含んではならない。サブパスに使われるClipに含まれるストリームのオーディオサンプルのクロックは、メインパスに使われるClipに含まれるストリームのオーディオサンプルのクロックにロックされている。
【００５３】
換言すると、SubPlayItem（）には、Sub Pathが参照するClipを指定する情報、Sub Pathの再生区間を指定する情報、およびMain pathの時間軸上でSub Pathが再生を開始する時刻を指定する情報が含まれている。Sub Pathに使われるClip AVストリームがSTCを含まないため、SubPlayItem（）に含まれる情報（Sub Pathが参照するClipを指定する情報、Sub Pathの再生区間を指定する情報、およびMain pathの時間軸上でSub Pathが再生を開始する時刻を指定する情報）に基づいて、メインパスが参照するClip ＡＶストリーム（メインＡＶストリーム）とは異なるClip ＡＶストリームのオーディオストリームを参照して、再生することができる。
【００５４】
このように、PlayItemとSubPlayItemは、Clip ＡＶストリームファイルをそれぞれ管理するものであり、ここでは、PlayItemが管理するClip ＡＶストリームファイル（メインＡＶストリーム）とSubPlayItemが管理するClip ＡＶストリームファイルは異なるファイルとなる。
【００５５】
なお、図６の例と同様にして、メインパスと同じタイミングで再生される字幕ストリーム再生パスを、サブパスを使用して表すこともできる。
【００５６】
図７は、メインパスとサブパスの別の例を説明する図である。図７においては、メインパスと同じタイミングで（ＡＶ同期して）再生されるオーディオの再生パスを、サブパスを使用して表している。ここで、メインパスのPlayItemが参照するメインＡＶストリームファイルは、図６と同様であるので省略している。
【００５７】
例えば、メインパスにより参照されるClipＡＶストリームを１つの映画のコンテンツ（ＡＶコンテンツ）とし、サブパスのオーディオパスにより参照されるAuxiliary audio streamをその映画に対する監督のコメントとし、メインパスで参照されるClipＡＶストリームのオーディオストリームにサブパスのオーディオパスで参照されるAuxiliary audio streamをミキシング（重ねて）再生するような場合に、このような構成が利用される。すなわち、ユーザが、映画を見ながら、その映画に対する監督のコメントを合わせて聞く指令を再生装置（プレーヤ）へ入力した場合、例えば、メインパスで参照されるClipＡＶストリームの音声と、サブパスのオーディオパスで参照されるAuxiliary audio streamとを、ミキシングして再生させる場合に利用される。
【００５８】
図７においては、メインパスに３つのPlayItemがPlayItem_id＝０，１，２と配置され、サブパス（Subpath_id＝０）に２つのSubPlayItemが配置されている。そして、Subpath_id＝０のSubPath（図１９にて後述する）で呼び出すSubPlayItem（図２１にて後述する）は、Auxiliary audio stream（SubClip_entry_id＝０の英語のAuxiliary audio streamのクリップ及びSubClip_entry_id＝１の日本語のAuxiliary audio streamのクリップ）のSubpathの再生区間を指定するための、SubPlayItem_IN_timeと、SubPlayItem_out_timeを含む。
【００５９】
図７と図６とを比較するに、図７においては、SubPlayItemによって、SubClip_entry_id＝０，１のAuxiliary audio stream（英語または日本語のオーディオストリーム）を参照することができる。すなわち、SubPlayItemを用いて、複数のオーディオストリームファイルを参照する構造を有し、このSubPlayItemを再生する場合には、複数のオーディオストリームファイルから１つのオーディオストリームファイルが選ばれて再生される。図７の例の場合、英語のオーディオストリームファイルと日本語のオーディオストリームファイルのうち、１つのオーディオストリームファイルが選ばれて再生される。具体的には、subClip_entry_id＝０，１の中から（ユーザの指令に基づいて）１つが選択され、そのＩＤが参照するAuxiliary audio streamが再生される。また、これに加えて、さらにメインパスにより参照されるオーディオストリームとのミキシングによる再生が選択された場合（再生するオーディオストリームとして２つのオーディオストリームが選択された場合）、例えば、メインパスで参照されるオーディオストリームファイルと、サブパスのオーディオパスで参照されるオーディオストリームファイルとが、ミキシングされて再生される。
【００６０】
図８は、再生装置２０において再生可能なデータファイルのファイルシステムの例を示す図である。図８には、一例として、再生装置２０において再生可能なデータファイルが光ディスクなどの記録媒体２１によって供給されている場合を示しており、このファイルシステムはディレクトリ構造を有している。
【００６１】
このファイルシステムにおいて、「root」の下には「BDMV」の名前が設定されたディレクトリが用意され、そのディレクトリに、「Index.bdmv」の名前が設定されたファイルと、「NavigationObject.bdmv」の名前が設定されたファイルが格納されている。以下、適宜、これらのファイルをそれぞれIndexファイル、NavigationObjectファイルと称する。また、適宜、各ファイルについては、「ファイル名」に「ファイル」を付加した形で、または、各ディレクトリについては、「ディレクトリ名」に「ディレクトリ」を付加した形で称する。
【００６２】
Indexファイルは、上述したインデックステーブルが記載されたファイルであり、再生装置２０において再生可能なデータファイルを再生するメニューに関する情報を含む。再生装置２０は、例えば、再生装置２０において再生可能なデータファイルに含まれるコンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面をIndexファイルに基づいて、表示装置に表示させる。Indexファイルのインデックステーブルには各項目が選択されたときに実行するNavigationObjectを設定することができ、ユーザにより再生メニュー画面から１つの項目が選択された場合、再生装置２０はIndexファイルのインデックステーブルに設定されているNavigationObjectのコマンドを実行する。
【００６３】
NavigationObjectファイルは、NavigationObjectを含むファイルである。NavigationObjectは、再生装置２０において再生可能なデータファイルに含まれているPlayListの再生を制御するコマンドを含み、例えば、再生装置２０は、このファイルシステムに含まれているNavigationObjectの中から１つを選択して、実行することにより、コンテンツを再生させることができる。
【００６４】
BDMVディレクトリにはまた、「BACKUP」の名前が設定されたディレクトリ（BACKUPディレクトリ）、「PLAYLIST」の名前が設定されたディレクトリ（PLAYLISTディレクトリ）、「CLIPINF」の名前が設定されたディレクトリ（CLIPINFディレクトリ）、「STREAM」の名前が設定されたディレクトリ（STREAMディレクトリ）、「AUXDATA」の名前が設定されたディレクトリ（AUXDATAディレクトリ）が設けられている。
【００６５】
BACKUPディレクトリには、再生装置２０において再生可能なファイルやデータをバックアップするためのファイルやデータが記録される。
【００６６】
PLAYLISTディレクトリには、PlayListファイルが格納される。各PlayListファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.mpls」を付加した名称が命名される。
【００６７】
CLIPINFディレクトリには、Clip Informationファイルが格納される。各Clip Informationファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.clpi」を付加した名称が命名される。
【００６８】
STREAMディレクトリには、Clip ＡＶストリームファイルやサブストリームファイルが格納される。各ストリームファイルには、図内に示されるように５桁の数字からなるファイル名に拡張子「.m2ts」を付加した名称が命名される。
【００６９】
AUXDATAディレクトリには、Clip ＡＶストリームファイルやサブストリームファイルに含まれずに、Clip ＡＶストリームファイルやサブストリームファイルから参照されるデータや、Clip ＡＶストリームファイルやサブストリームファイルとは独立して利用されるデータなどのファイルが格納される。図８の例においては、AUXDATAディレクトリには、「11111.otf」の名前がつけられている字幕のフォントのファイル、「sound.bdmv」の名前が設定された効果音などのサウンドデータが格納されている。
【００７０】
また、再生装置２０において再生可能なデータファイルが光ディスクによって配布されている場合、例えば、製作会社や映画の配給会社など、このコンテンツ製作元や、または、この記録媒体の供給元であるタイトルオーサを識別するために各タイトルオーサに割り当てられた識別子であるauthor_id、および、author_idに示されるタイトルオーサにおいて製作された光ディスクの種類を識別するために割り当てられた識別子であるdisc_idが、ユーザなどにより書き換えることができないセキュアな電子データとして、または、物理的にピットによって記録されている。
【００７１】
また、再生装置２０において再生可能なデータファイルが光ディスク以外のリムーバブルな記録媒体に記録されている場合や、ネットワークを介してダウンロードされている場合も、author_id、および、author_idに相当するidが割り当てられてそれぞれ区別可能なようになされ、図８に示す場合と同様のディレクトリ構造を有していると好適である。また、再生装置２０において再生可能なデータファイルには、author_id、および、author_idに相当するidが割り当てられていないとしても、図８を用いて説明した場合と同様に、「Index.bdmv」の名前が設定されたファイル、「NavigationObject.bdmv」の名前が設定されたファイルが含まれており、「BACKUP」の名前が設定されたファイル群、「PLAYLIST」の名前が設定されたファイル群、「CLIPINF」の名前が設定されたファイル群、「STREAM」の名前が設定されたファイル群、「AUXDATA」の名前が設定されたファイル群のうち、適宜必要なファイル群が含まれている。
【００７２】
ところで、再生装置２０は、音声データを非圧縮データとして出力する場合と、圧縮符号化されたデータとして出力する場合とがある。また、再生装置２０は、音声データを必要に応じて合成することができる。再生装置２０は、例えば、主に再生出力される音声データに対して、効果音を合成する機能を有することができ、また、効果音のみならず、第２の音声（副音声など）を主に再生出力される音声データに合成する機能を有することができる。換言すれば、再生装置２０が音声データの合成を行うか否かは、再生されるストリームに、再生装置２０が有する機能において合成可能な音声データが含まれているか否かによって決まる。
【００７３】
以下、主に再生出力される音声データをオーディオストリーム＃１と称し、例えば、ユーザの操作入力に対応して発生するクリック音や効果音など、上述したAUXDATAディレクトリにsound.bdmvとして記載されている音声データをサウンドデータと称するものとする。サウンドデータはオーディオストリーム＃１に合成可能である。また、オーディオストリーム＃１とは別のストリームであって、例えば、副音声など、オーディオストリーム＃１に合成可能な音声データをオーディオストリーム＃２と称するものとする。なお、オーディオストリーム＃１とは別のストリームであって、オーディオストリーム＃１に合成可能な音声データは、オーディオストリーム＃２以外にも、複数存在してもよく、その場合、例えば、オーディオストリーム＃３、オーディオストリーム＃４・・・などとして、それぞれ、区別可能なようにすればよい。
【００７４】
オーディオストリーム＃１が圧縮符号化データとして出力される場合であっても、オーディオストリーム＃２やサウンドデータとの音声合成が行われる場合、オーディオストリーム＃１は、一旦復号され、合成処理が行われた後、再エンコードされて出力される。これに対して、オーディオストリーム＃１が圧縮符号化データとして出力され、オーディオストリーム＃２やサウンドデータとの音声合成が行われない場合、オーディオストリーム＃１は、デコードされずにそのまま出力されるほうが、音質が劣化せず、好適である。
【００７５】
したがって、再生装置２０においては、オーディオストリーム＃１に対して復号処理を施すか否かを決定するために、出力の形態と、このデータファイルに含まれている音声データの種別（オーディオストリーム＃１に合成される他の音声データが含まれているか否か）を認識する必要がある。このため、再生装置２０によって再生可能なデータファイルには、サウンドデータが含まれているか否かを示すフラグや、オーディオストリーム＃２が含まれているか否かを示すフラグが所定の位置に記載されている。
【００７６】
なお、オーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグが記載される位置としては、例えば、Indexファイル、プレイリスト（PlayList）ファイル、プレイアイテム（PlayItem）などがある。これらのフラグがIndexファイルに記載されている場合、図８を用いて説明したデータ構造に含まれる全てのデータの再生において、オーディオストリーム＃１に合成される他の音声データが含まれていると扱われるか、含まれていないと扱われるかが規定される。同様に、これらのフラグがプレイリストに記載されている場合、対応するプレイリストを基に再生されるデータに含まれるオーディオストリーム＃１に対して合成される他の音声データが含まれていると扱われるか、含まれていないと扱われるかが規定され、これらのフラグがプレイアイテムに記載されている場合、対応するプレイアイテムに対応するクリップにオーディオストリーム＃１に対して合成される他の音声データが含まれていると扱われるか、含まれていないと扱われるかが規定される。
【００７７】
Indexファイル（Index.bdmv）のシンタクスを図９に示す。
【００７８】
Type_indicatorは、ＩＳＯ６４６に基づいて符号化された"ＩＮＤＸ"の値が記述されるフィールドである。
【００７９】
version_numberは、Index.bdmvのバージョンナンバーを示す４文字の文字列であり、ＩＳＯ６４６に基づいて符号化された"００８９"の値が記述される。
【００８０】
Indexes_start_addressは、Indexes（）ブロックのスタートアドレスが記載されるフィールドである。
【００８１】
AppInfoBDMV（）には、このIndexファイルを含むデータファイルの供給元を示す、個別の識別子などが記載されている。
【００８２】
Indexes（）には、例えば、メニューを読み出したり、タイトルを検索したり、所定のタイトルにジャンプしたり、または、このIndexファイルを含むデータファイルが記録されている光ディスクなどの記録媒体２１が再生装置２０に装着された場合に自動的に起動する処理を実行するアプリケーション（NavigationObject）とのリンクが記載されている。Indexes（）のシンタクスについては、図１０乃至図１２を用いて後述する。
【００８３】
Padding_wordは、Index.bdmvのシンタクスに基づいて挿入されるものであり、０または正の整数で表される。
【００８４】
Indexes（）のシンタクスの第１の例を、図１０に示す。図１０は、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されていない場合のシンタクスである。
【００８５】
lengthは、Indexes（）に何バイトの情報が記載されているかを表すフィールドである。
【００８６】
FirstPlaybackは、このファイルシステムのデータが再生される場合に最初に実行されるNavigationObjectに関する情報が含まれているデータブロックである。具体的には、このファイルシステムのデータが記録された光ディスクなどの記録媒体２１が再生装置２０に装着されたときに最初に自動的に実行されるNavigationObjectに関する情報が含まれているデータブロックである。
【００８７】
FirstPlayback_mobj_id_refは、最初に実行されるNavigationObjectのmobj_idの値を指定するためのフィールドである。mobj_idは、NavigationObjectがそれぞれ固有に与えられているＩＤである。また、再生開始時に自動的に実行されるNavigationObjectが設定されない場合、すなわち、再生開始時にはアプリケーションはいずれも実行されず、ユーザによる指令を受けて、いずれかのアプリケーションが実行されるようになされている場合、このフィールドには、"0Xffff"が記載される。
【００８８】
TopMenu（）は、ユーザがメニュー画面を表示させる場合などに呼び出されるTopMenuのNavigationObjectに関する情報が含まれているデータブロックである。
【００８９】
TopMenu_mobj_id_refは、TopMenuのNavigationObjectのmobj_idの値を指定するためのフィールドである。TopMenuが設定されない場合、このフィールドには、"0xFFFF"が記載される。
【００９０】
number_of_Titlesは、Indexes（）に記載されているタイトルの数を表すフィールドである。
【００９１】
Title[title_id]（）は、title_idによって固有に区別されているそれぞれのタイトルに関する情報が記載されるブロックである。title_idは０から割り当てられる。
【００９２】
Title_playback_type[title_id]は、そのtitle_idによって指定されるタイトルの再生タイプを示す情報であり、例えば、再生される動画と音声による一般的なコンテンツであるMovie Titleか、ユーザの操作入力によって再生される動画や音声が変更されるなどの双方向のやり取りが可能なコンテンツであるInteractive Titleなどのタイプが示される。例えば、そのタイトルがMovie Titleである場合、PlayListに基づいた再生処理が実行される。
【００９３】
Title_access_type[title_id]は、そのtitle_idによって指定されるタイトルが、Title_Searchを用いて再生することが許可されているか否かを示す情報である。
【００９４】
reserved_for_future_useは、将来の拡張に備えるためにデータの記述内容が未設定とされている２９ビットのフィールドである。
【００９５】
Title_mobj_id_ref[title_id]は、そのtitle_idによって指定されるタイトルがエントリーされているNavigationObjectのmobj_idの値を指定するためのフィールドである。
【００９６】
次に、Indexes（）のシンタクスの第２の例を、図１１に示す。図１１の例においては、Indexes（）により参照されるデータには、サウンドデータのみ合成される(オーディオストリーム＃２は含まれていない)ようになされている場合のものであるから、Index（）には、Indexes（）により参照されるデータにオーディオストリーム＃１に合成されるサウンドデータが含まれているか否かのフラグが記載されている。
【００９７】
図１１に示されるIndexes（）のシンタクスの第２の例においては、Indexes（）により参照されるデータにサウンドデータが含まれているか否かを示す１ビットのフラグであるis_MixAppが新たに記載され、reserved_for_future_useが２９ビットから２８ビットに変更されている以外は、図１０を用いて説明したIndexes（）のシンタクスの第１の例と同様の構成を有している。なお、このis_MixAppを、Indexes（）により参照されるデータに、オーディオストリーム＃１に合成され得るサウンドデータまたはオーディオストリーム＃２のうちの少なくともいずれかが含まれているか否かを示すフラグとして定義しても良い。この場合には、この1つのフラグを確認することのみにより、オーディオデータの合成が行われるか否か、すなわち、デコード処理の必要性を、迅速に認識することが可能となる。
【００９８】
次に、Indexes（）のシンタクスの第３の例を、図１２に示す。図１２の例においては、Index（）には、Indexes（）により参照されるデータにオーディオストリーム＃１に合成されるサウンドデータが含まれているか否かのフラグと、オーディオストリーム＃１に合成されるオーディオストリーム＃２が含まれているか否かのフラグとの２種類が記載されている。
【００９９】
図１２に示されるIndexes（）のシンタクスの第３の例においては、Indexes（）により参照されるデータにオーディオストリーム＃２が含まれているか否かを示す１ビットのフラグであるis_MixApp_1と、Indexes（）により参照されるデータにサウンドデータが含まれているか否かを示す1ビットのフラグであるis_MixApp_2との２種類のフラグが新たに記載され、reserved_for_future_useが２９ビットから２７ビットに変更されている以外は、図１０を用いて説明したIndexes（）のシンタクスの第１の例と同様の構成を有している。
【０１００】
また、オーディオストリーム＃１に合成すべきデータ（オーディオストリーム＃２、またはサウンドデータのうちの少なくともいずれか）がIndexes（）により参照されるデータに含まれているか否かを示すフラグではなく、合成処理が行われ得るか、行われないかを示すフラグを定義するものとしても良い。この場合には、定義されるフラグは、再生順を管理するIndex,PlayList等に基づいて再生を行うときに、合成データがそのPlayListに対して適用され得るか、または、適用されないかを示すフラグとなる。
【０１０１】
図１３に、PlayListファイルのデータ構造を示す。PlayListファイルは、再生装置２０に装着された記録媒体、または、再生装置２０内部の記憶部（例えば、ハードディスクなどからなるローカルストレージ）において、PLAYLISTディレクトリに格納される、拡張子「.mpls」を有するデータファイルである。
【０１０２】
type_indicatorは、このファイルの種類を示す情報が記載されているものである。すなわち、このフィールドには、このファイルの種類が映像の再生を管理する再生管理情報であるPlayList（MoviePlayList）であることを示す情報が記載される。
【０１０３】
version_numberは、このxxxx.mpls（MoviePlayList）のバージョンナンバーを示す４個のキャラクター文字を示すものである。
【０１０４】
PlayList_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayList()の先頭アドレスを示すものである。
【０１０５】
PlayListMark_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayListMark()の先頭アドレスを示すものである。
【０１０６】
ExtensionData_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、ExtensionData()の先頭アドレスを示すものである。
【０１０７】
AppInfoPlayList()には、例えば、再生制限など、PlayListの再生コントロールに関するパラメータが格納されている。AppInfoPlayList()の詳細については、図１４または図１５を用いて後述する。
【０１０８】
PlayList()には、PlayListのメインパスやサブパスなどに関するパラメータが格納されている。PlayList()の詳細は、図１６乃至図１８を用いて後述する。
【０１０９】
PlayListMark()には、PlayListのマーク情報、すなわち、チャプタジャンプなどを指令するユーザオペレーションまたはコマンドなどにおけるジャンプ先（ジャンプポイント）であるマークに関する情報が格納されている。
【０１１０】
ExtensionData()には、プライベートデータが挿入できるようになっている。
【０１１１】
次に、図１４を参照して、AppInfoPlayList()の第１の例について説明する。図１４のAppInfoPlayList()は、Indexes（）が、図１０を用いて説明したものであるとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されていない場合に適用することができる。
【０１１２】
lengthは、length以下のシンタックスの長さ、すなわち、このlengthフィールドの直後からreserved_for_future_useの最後までのAppInfoPlayList()のバイト数を示すものである。このlengthの後には、８ビットのreserved_for_future_useが用意される。
【０１１３】
Playlist_playback_typeは、連続再生、ランダムアクセス、シャッフルのいずれの再生を行うPlaylistであるかを示す情報を記載するフィールドである。
【０１１４】
Playback_countは、ランダムアクセス、シャッフルを行うPlayListの場合、再生に用いるPlayItemの数を示す情報を記載するフィールドである。
【０１１５】
そして、UO_mask_table()は、一時停止、チャプタサーチ、ジャンプ、早送り、早戻し（後方高速再生）等の特殊再生、または、表示等に関するユーザ操作の制限を決める情報である。
【０１１６】
そして、PlayList_random_access_flagは、他のPlayListからのジャンプ再生を制御するためのフラグ情報である。ここでは、PlayList_random_access_flag＝１に設定されている場合、他のPlayListからのジャンプ再生を禁止するものとする。
【０１１７】
例えば、再生装置２０においては、例えば、現在のPlayListにより参照されている再生位置から、他のPlayListにより参照される所定のPlayItemの先頭またはチャプタの位置への再生位置のジャンプを指令するユーザオペレーションなど、装置独自で拡張的なユーザオペレーションを用意することができる。PlayList_random_access_flagは、例えば、これらのユーザオペレーションにより、他のPlayListによって参照されるClip AV Streamのある再生位置から、このPlayListによって参照されるClip AV Streamへのジャンプ（再生位置の移動）が指令された場合、このユーザオペレーションを制限するか否かを設定するためのフラグ情報である。
【０１１８】
なお、ユーザオペレーションによりジャンプ（再生位置の移動）が指令されるのではなく、ナビゲーションコマンドによりジャンプ（再生位置の移動）が指令された場合、PlayList_random_access_flagは無視される（コマンドは実行され、コマンドの発生に伴って、再生位置が移動される）。
【０１１９】
Is_MixAppは、このPlaylistファイルにより再生されるストリームが音声や効果音の合成を行うか否かのフラグである。すなわち、このis_MixAppは、このPlayListにより参照されるデータに、オーディオストリーム＃１に合成され得るサウンドデータおよびオーディオストリーム＃２が含まれているか否かを示すフラグとして定義されている。この場合には、この1つのフラグを確認することのみにより、オーディオデータの合成が行われるか否か、すなわち、デコード処理の必要性を、迅速に認識することが可能となる。
【０１２０】
また、Lossless_may_bypass_mixer_flagは、ロスレスの音声の再生に関するフラグである。この後には、１３ビットのreserved_for_future_useが用意される。
【０１２１】
図１０に示されるように、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndexes（）に記載されていない場合においては、図１４を用いて説明したように、AppInfoPlayList()にIs_MixAppを記載し、このPlaylistが音声や効果音の合成を行うか否かを示すようにしてもよいが、例えば、AppInfoPlayList()にIs_MixAppを記載するのではなく、PlayList()またはPlayItemにIs_MixAppを記載するものとしてもよい。
【０１２２】
次に、図１５を参照して、AppInfoPlayList()の第２の例について説明する。
【０１２３】
図１５に示されるAppInfoPlayList()の第２の例は、このPlaylistが音声や効果音の合成を行うか否かのフラグであるIs_MixAppが記載されていないこと以外は、図１４を用いて説明したAppInfoPlayList()の第１の例と同様の構成を有している。すなわち、図１５のAppInfoPlayList()の第２の例は、Indexes（）が、図１０を用いて説明したものであるが、Is_MixAppなどのフラグが、後述するPlayList()またはPlayItemに記載されているとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されず、PlayList()またはPlayItemにIs_MixAppが記載される場合、または、Indexes（）が、図１１または図１２を用いて説明したものであるとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されている場合に適用される。
【０１２４】
次に、図１６は、PlayList()のシンタクスの第１の例を示す図である。図１６は、オーディオストリーム＃１に合成される他の音声データがこのプレイリストを参照することにより再生されるデータに含まれているか否かのフラグがPlayList()に記載されていない場合のシンタクスである。
【０１２５】
すなわち、図１６の、PlayList()のシンタクスの第１の例は、Indexes（）が、図１０を用いて説明したものであるとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されていないが、後述するPlayItemに記載されている場合、または、Indexes（）が、図１１または図１２を用いて説明したものであるとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されている場合に適用される。
【０１２６】
lengthは、このlengthフィールドの直後からPlayList()の最後までのバイト数を示す３２ビットの符号なし整数である。すなわち、reserved_for_future_useからPlaylistの最後までのバイト数を示すフィールドである。このlengthの後には、１６ビットのreserved_for_future_useが用意される。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が参照される。
【０１２８】
次に、図１７は、PlayList()のシンタクスの第２の例を示す図である。図１７の例においては、このプレイリストを参照することにより再生されるオーディオストリームは、オーディオストリーム#１のみであり（オーディオストリーム＃２は含まれていない）、PlayList()には、PlayList()を参照して再生されるデータにオーディオストリーム＃１に合成されるサウンドデータが含まれているか否かのフラグが記載されている。
【０１２９】
すなわち、図１７の、PlayList()のシンタクスの第２の例は、Indexes（）が、図１０を用いて説明したものであるとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されておらず、かつ、後述するPlayItemにもフラグが記載されていない場合に適用される。
【０１３０】
図１７に示されるPlayList()のシンタクスの第２の例においては、PlayList()により参照されるデータにサウンドデータが含まれているか否かを示す１ビットのフラグであるis_MixAppが新たに記載され、reserved_for_future_useが１６ビットから１５ビットに変更されている以外は、図１６を用いて説明したPlayList()のシンタクスの第１の例と同様の構成を有している。なお、このis_MixAppを、Playlist（）により参照されるデータに、オーディオストリーム＃１に合成され得るサウンドデータおよびオーディオストリーム＃２が含まれているか否かを示すフラグとして定義しても良い。この場合には、この1つのフラグを確認することのみにより、オーディオデータの合成が行われるか否か、すなわち、デコード処理の必要性を、迅速に認識することが可能となる。
【０１３１】
次に、PlayList()のシンタクスの第３の例を、図１８に示す。図１８の例においては、PlayList()には、PlayList()により参照されるデータにオーディオストリーム＃１に合成されるサウンドデータが含まれているか否かのフラグと、オーディオストリーム＃１に合成されるオーディオストリーム＃２が含まれているか否かのフラグとが記載されている。
【０１３２】
すなわち、図１８の、PlayList()のシンタクスの第３の例も、Indexes（）が、図１０を用いて説明したものであるとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されておらず、かつ、後述するPlayItemにもフラグが記載されていない場合に適用される。
【０１３３】
図１８に示されるPlayList()のシンタクスの第３の例においては、PlayList()により参照されるデータにオーディオストリーム＃２が含まれているか否かを示す１ビットのフラグであるis_MixApp_1と、PlayList()により参照されるデータにサウンドデータが含まれているか否かを示す1ビットのフラグであるis_MixApp_2との２種類のフラグが新たに記載され、reserved_for_future_useが１６ビットから１４ビットに変更されている以外は、図１６を用いて説明したPlayList()のシンタクスの第１の例と同様の構成を有している。
【０１３４】
図１９は、SubPath()のシンタクスの例を示す図である。
【０１３５】
lengthは、このlengthフィールドの直後からSub Path ()の最後までのバイト数を示す３２ビットの符号なし整数である。すなわち、reserved_for_future_useからPlaylistの最後までのバイト数を示すフィールドである。このlengthの後には、１６ビットのreserved_for_future_useが用意される。reserved_for_future_useは、将来の拡張に備えるためにデータの記述内容が未設定とされている。SubPath_typeは、SubPathのアプリケーション種類を示す８ビットのフィールドである。SubPath_typeは、例えば、Sub Pathがオーディオであるか、ビットマップ字幕であるか、テキスト字幕であるかなどの種類を示す場合に利用される。このSubPath_typeについては、図２０を参照して後述する。SubPath_typeの後には、１５ビットのreserved_for_future_useが用意される。is_repeat_SubPathは、SubPathの再生方法を指定する１ビットのフィールドであり、メインパスの再生の間にSubPathの再生を繰り返し行うか、またはSubPathの再生を１回だけ行うかを示すものである。例えば、メインＡＶストリームとサブパスが指定するClipの再生タイミングが異なる場合（メインパスを静止画のスライドショーとし、サブパスのオーディオパスをメインパスのBGM(バックグラウンドミュージック)として使う場合など）に利用される。Is_repeat_SubPathの後には、８ビットのreserved_for_future_useが用意される。number_of_SubPlayItemsは、１つのSubPathの中にあるSubPlayItemの数（エントリー数）を示す８ビットのフィールドである。例えば、number_of_SubPlayItemsは、図５のSubPath_id＝０のSubPlayItemは１個であり、SubPath_id＝１のSubPlayItemは２個である。その後のfor文では、SubPlayItemの数だけ、SubPlayItemが参照される。
【０１３６】
図２０は、SubPath_type（サブパスのタイプ）の例を説明する図である。すなわち、SubPathの種類は、例えば、図２０に示されるように定義されている。
【０１３７】
図２０において、SubPath_type＝０，１は、reservedとされている。SubPath_type＝２は、Audio presentation path of the Browsable slideshow（プラウザブルスライドショーのオーディオプレゼンテーションパス）とされている。例えば、SubPath_type＝２は、プレイリストの中において、サブパスで参照されるオーディオプレゼンテーションパスと、プレイアイテムで参照されるメインパスとが非同期であることを示している。
【０１３８】
SubPath_type＝３は、Interactive graphics presentation menu（インタラクティブグラフィックスのプレゼンテーションメニュー）とされている。例えば、SubPath_type＝３は、プレイリストの中において、サブパスで参照されるインタラクティブグラフィックスのメニューと、プレイアイテムで参照されるメインパスとが非同期であることを示している。
【０１３９】
SubPath_type＝４は、Text subtitle presentation path（テキスト字幕のプレゼンテーションパス）とされている。例えば、SubPath_type＝４は、プレイリストの中において、サブパスで参照されるテキスト字幕のプレゼンテーションパスと、プレイアイテムで参照されるメインパスとが同期していることを示している。
【０１４０】
SubPath_type＝５は、2nd Audio Presentation path（２番目のオーディオプレゼンテーションパス）（２ndオーディオストリームを参照するためのパス）とされている。具体的には、SubPath_type＝５は、プレイリストの中において、サブパスで参照される２番目のオーディオプレゼンテーションパスと、プレイアイテムで参照されるメインパスとが同期していることを示している。例えば、このサブパスで参照される（２番目の）オーディオストリームは、映画に対する監督のコメント（音声）である。図７に示されるようなSubpath_idの場合、図１９のSubPath_typeは、このSubPath_type＝５となる。
【０１４１】
SubPath_type＝６は、2nd Video Presentation path（２番目のビデオプレゼンテーションパス）（２ndビデオストリームを参照するためのパス）とされている。具体的には、SubPath_type＝６は、プレイリストの中において、サブパスで参照される２番目のビデオプレゼンテーションパスと、プレイアイテムで参照されるメインパスとが同期していることを示している。例えば、このサブパスで参照される（２番目の）ビデオストリームは、映画に対する監督のコメント（動画像）である。
【０１４２】
SubPath_type＝７乃至２５５は、reservedとされている。
【０１４３】
図２１は、SubPlayItem(i)のシンタクスを示す図である。
【０１４４】
lengthは、このlengthフィールドの直後からSub playItem ()の最後までのバイト数を示す１６ビットの符号なし整数である。
【０１４５】
図２１においては、SubPlayItemが１つのClip を参照する場合と、複数のClip を参照する場合に分けられている。
【０１４６】
最初に、SubPlayItemが１つのClipを参照する場合について説明する。
【０１４７】
SubPlayItemには、Clipを指定するためのClip_Information_file_name[0]が含まれる。また、Clipのコーデック方式を指定するClip_codec_identifier［0］、reserved_for_future_use、マルチクリップの登録の有無を示すフラグであるis_multi_Clip_entries、STC不連続点（システムタイムベースの不連続点）に関する情報であるref_to_STC_id［0］を含む。is_multi_Clip_entriesのフラグが立っている場合、SubPlayItemが複数のClipを参照する場合のシンタクスが参照される。また、Clipの中にあるSub Pathの再生区間を指定するためのSubPlayItem_IN_timeとSubPlayItem_OUT_timeを含む。さらに、main pathの時間軸上でSub Pathが再生開始する時刻を指定するためsync_PlayItem_id と sync_start_PTS_of_PlayItemを含む。このsync_PlayItem_id と sync_start_PTS_of_PlayItemは、上述したように、図６と図７の場合（メインＡＶストリームとサブパスにより示されるファイルの再生タイミングが同じである場合）に使用され、メインＡＶストリームとサブパスにより示されるファイルの再生タイミングが異なる場合（例えば、静止画により構成されるスライドショーのBGMのように、メインパスにより参照される静止画像とサブパスにより参照されるオーディオとが同期しない場合）には使用されない。また、SubPlayItem_IN_time、SubPlayItem_OUT_time、sync_PlayItem_id、sync_start_PTS_of_PlayItemは、SubPlayItemが参照するClipにおいて共通に使用される。
【０１４８】
次に、SubPlayItemが複数のClipを参照する場合（if（is_multi_Clip_entries＝＝１ｂ）である場合、すなわちマルチクリップの登録が行われている場合）について説明する。具体的には、図７に示されるように、SubPlayItemが複数のClip を参照する場合を示す。
【０１４９】
num_of_Clip_entriesは、Clipの数を示しており、Clip_Information_file_name[SubClip_entry_id]の数が、Clip_Information_file_ name[0]を除く、Clipsを指定する。すなわち、Clip_Information_file_ name[0]を除く、Clip_Information_file_ name[１]、Clip_Information_file_ name[２]などのClipを指定する。また、SubPlayItemは、Clipのコーデック方式を指定するClip_codec_identifier[SubClip_entry_id]、STC不連続点（システムタイムベースの不連続点）に関する情報であるref_to_STC_id[SubClip_entry_id]、およびreserved_for_future_useを含む。
【０１５０】
なお、複数のClipの間で、SubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemは共通して使われる。図７の例の場合、SubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemは、SubClip_entry_id＝０とSubClip_entry_id＝１との間で共通して使用されるものであり、選択されたSubClip_entry_idに対するText based subtitleがこのSubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemに基づいて再生される。
【０１５１】
ここで、SubClip_entry_idの値は、SubPlayItemの中にあるClip_Information_file_name[SubClip_entry_id]が現れる順番に１から割り振られる。また、Clip_Information_file_ name[0]のSubClip_entry_idは０である。
【０１５２】
図２２は、PlayItem()のシンタクスの第１の例を示す図である。図２２は、オーディオストリーム＃１に合成される他の音声データが、このPlayItem()に対応するデータに含まれているか否かのフラグが記載されていない場合のシンタクスである。
【０１５３】
すなわち、図２２の、PlayItem()のシンタクスの第１の例は、Indexes（）が、図１１または図１２を用いて説明したものであるとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されているか、AppInfoPlayList()が図１４を用いて説明したものであるとき、すなわち、PlayListにより参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがAppInfoPlayList()に記載されているか、もしくは、PlayList()が図１７または図１８を用いて説明したものであるとき、すなわち、PlayListにより参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグが記載されている場合に適用される。
【０１５４】
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()は、２つのオーディオストリームのミキシング再生を選ぶことができる仕組みを提供するものである。
【０１５６】
次に、図２３は、PlayItem()のシンタクスの第２の例を示す図である。図２３の例においては、このPlayItem()に対応するデータにオーディオストリーム＃２は含まれておらず、PlayItem()には、PlayItem()に対応するデータにオーディオストリーム＃１に合成されるサウンドデータが含まれているか否かのフラグが記載されている。
【０１５７】
すなわち、図２３の、PlayItem()のシンタクスの第２の例は、Indexes（）が、図１０を用いて説明したものであるとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されておらず、AppInfoPlayList()が図１５を用いて説明したものであるとき、すなわち、PlayListにより参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがAppInfoPlayList()に記載されておらず、PlayList()が図１６を用いて説明したものであるとき、すなわち、PlayListにより参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグが記載されていない場合に適用される。
【０１５８】
図２３に示されるPlayItem()のシンタクスの第２の例においては、PlayItem()により参照されるデータにサウンドデータが含まれているか否かを示す１ビットのフラグであるis_MixAppが新たに記載され、reserved_for_future_useが１１ビットから１０ビットに変更されている以外は、図２２を用いて説明したPlayItem()のシンタクスの第１の例と同様の構成を有している。なお、このis_MixAppを、PlayItem（）により参照されるデータに、オーディオストリーム＃１に合成され得るサウンドデータおよびオーディオストリーム＃２が含まれているか否かを示すフラグとして定義しても良い。この場合には、この1つのフラグを確認することのみにより、オーディオデータの合成が行われるか否か、すなわち、デコード処理の必要性を、迅速に認識することが可能となる。
【０１５９】
次に、PlayItem()のシンタクスの第３の例を、図２４に示す。図２４の例においては、PlayItem()には、PlayItem()に対応するデータにオーディオストリーム＃１に合成されるサウンドデータが含まれているか否かのフラグと、オーディオストリーム＃１に合成されるオーディオストリーム＃２が含まれているか否かのフラグとが記載されている。
【０１６０】
すなわち、図２４の、PlayItem()のシンタクスの第３の例も、Indexes（）が、図１０を用いて説明したものであるとき、すなわち、Indexes（）により参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがIndex（）に記載されておらず、AppInfoPlayList()が図１５を用いて説明したものであるとき、すなわち、PlayListにより参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグがAppInfoPlayList()に記載されておらず、PlayList()が図１６を用いて説明したものであるとき、すなわち、PlayListにより参照されるデータにオーディオストリーム＃１に合成される他の音声データが含まれているか否かのフラグが記載されていない場合に適用される。
【０１６１】
図２４に示されるPlayItem()のシンタクスの第３の例においては、PlayItem()に対応するデータにオーディオストリーム＃２が含まれているか否かを示す１ビットのフラグであるis_MixApp_1と、PlayItem()に対応するデータにサウンドデータが含まれているか否かを示す1ビットのフラグであるis_MixApp_2との２種類のフラグが新たに記載され、reserved_for_future_useが１１ビットから９ビットに変更されている以外は、図２２を用いて説明したPlayItem()のシンタクスの第１の例と同様の構成を有している。
【０１６２】
図２５は、STN_table()のシンタクスを示す図である。STN_table()は、PlayItemの属性として設定されている。
【０１６３】
lengthは、このlengthフィールドの直後からSTN_table()の最後までのバイト数を示す１６ビットの符号なし整数である。lengthの後には、１６ビットのreserved_for_future_useが用意される。number_of_video_stream_entriesは、STN_table()の中でエントリーされる（登録される）video_stream_idが与えられるストリーム数を示す。video_stream_idは、ビデオストリームを識別するための情報であり、video_stream_numberは、ビデオ切り替えに使われる、ユーザから見えるビデオストリーム番号である。
【０１６４】
number_of_audio_stream_entriesは、STN_table()の中でエントリーされるaudio_stream_idが与えられる１番目のオーディオストリームのストリーム数を示す。audio_stream_idは、オーディオストリームを識別するための情報であり、audio_stream_numberは、音声切り替えに使われるユーザから見えるオーディオストリーム番号である。number_of_audio_stream2_entriesは、STN_table()の中でエントリーされるaudio_stream_id2が与えられる２番目のオーディオストリームのストリーム数を示す。audio_stream_id2は、オーディオストリームを識別するための情報であり、audio_stream_numberは、音声切り替えに使われるユーザから見えるオーディオストリーム番号である。具体的には、STN_table()でエントリーされるnumber_of_audio_stream_entriesのオーディオストリームは、後述する図２８の再生装置２０の１stオーディオデコーダ７５−１でデコードされるオーディオストリームであり、STN_table()でエントリーされるnumber_of_audio_stream2_entriesのオーディオストリームは、後述する図２８の再生装置２０の２ndオーディオデコーダ７５−２でデコードされるオーディオストリームである。このように、図２５のSTN_table()では、２つのオーディオデコーダのそれぞれにデコードさせるオーディオストリームをエントリーすることができる。
【０１６５】
なお、以下において、図２８の再生装置２０の１stオーディオデコーダ７５−１でデコードされるnumber_of_audio_stream_entriesのオーディオストリームをオーディオストリーム＃１と称し、図２８の再生装置２０の２ndオーディオデコーダ７５−２でデコードされるnumber_of_audio_stream2_entriesのオーディオストリームをオーディオストリーム＃２と称する。また、オーディオストリーム＃１は、オーディオストリーム＃２よりも優先されるオーディオストリームであるものとする。
【０１６６】
number_of_PG_txtST_stream_entriesは、STN_table()の中でエントリーされるPG_txtST_stream_idが与えられるストリーム数を示す。この中では、DVDのサブピクチャのようなビットマップ字幕をランレングス符号化したストリーム（PG, Presentation Graphics stream）とテキスト字幕ファイル(txtST)がエントリーされる。PG_txtST_stream_idは、字幕ストリームを識別するための情報であり、PG_txtST_stream_numberは、字幕切り替えに使われるユーザから見える字幕ストリーム番号（テキストサブタイトルストリームの番号）である。
【０１６７】
number_of_IG_stream_entriesは、STN_table()の中でエントリーされる IG_stream_idが与えられるストリーム数を示す。この中では、インタラクティブグラフィックスストリームがエントリーされる。IG_stream_idは、インタラクティブグラフィックスストリームを識別するための情報であり、IG_stream_numberは、グラフィックス切り替えに使われるユーザから見えるグラフィックスストリーム番号である。
【０１６８】
ここで、stream_entry()のシンタクスについて図２６を参照して説明する。
【０１６９】
lengthは、このlengthフィールドの直後からstream_entry ()の最後までのバイト数を示す８ビットの符号なし整数である。typeは、上述したストリーム番号が与えられるストリームを一意に特定するために必要な情報の種類を示す８ビットのフィールドである。
【０１７０】
type＝１では、PlayItemによって参照されるClip(Main Clip)の中に多重化されている複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するために、１６ビットのパケットID(PID)が指定される。ref_to_stream_PID_of_mainClipが、このPIDを示している。すなわち、type＝１では、メインClipＡＶストリームファイルの中のPIDを指定するだけでストリームが決定される。
【０１７１】
type＝２では、SubPathが一度に複数個のClipsを参照し、それぞれのClipが複数のエレメンタリストリームを多重化する場合に、SubPathによって参照される１つのClip(SubClip)の複数のエレメンタリストリームの中から１つのエレメンタリストリームを特定するために、そのSubPathのSubPath_id、Clip id、およびパケットID(PID)が指定される。ref_to_SubPath_idがこのSubPath_idを示し、ref_to_SubClip_entry_idがこのClip idを示し、ref_to_stream_PID_of_SubClipがこのPIDを示している。SubPlayItemの中で複数のClipが参照され、さらにこのClipに複数のエレメンタリストリームが参照されている場合に用いられる。
【０１７２】
このように、type（type＝１とtype＝２の２つのtype）を使うことで、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から１つのエレメンタリストリームを特定することができる。なお、type＝１はMain Pathが参照するClip（メインClip）を示しており、type＝２はSub Pathが参照するClip（サブClip）を示している。
【０１７３】
図２５のSTN_table()の説明に戻って、ビデオストリームＩＤ (video_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのビデオエレメンタリストリームに、０からvideo_stream_idが与えられる。なお、ビデオストリームＩＤ（video_stream_id）の代わりに、ビデオストリーム番号（video_stream_number）を用いるようにしてもよい。この場合、video_stream_numberは、０ではなく１から与えられる。すなわち、video_stream_idの値に１を加算したものがvideo_stream_numberである。ビデオストリーム番号は、ビデオ切り替えに使われる、ユーザから見えるビデオストリーム番号であるので、１から定義される。
【０１７４】
同様に、オーディオストリームＩＤ (audio_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのオーディオエレメンタリストリームに、０からaudio_stream_idが与えられる。なお、ビデオストリームの場合と同様に、オーディオストリームＩＤ（audio_stream_id）の代わりに、オーディオストリーム番号（audio_stream_number）を用いるようにしてもよい。この場合、audio_stream_numberは、０ではなく１から与えられる。すなわち、audio_stream_idの値に１を加算したものがaudio_stream_numberである。オーディオストリーム番号は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号であるので、１から定義される。
【０１７５】
同様に、オーディオストリームＩＤ２ (audio_stream_id2)のforループの中で、順番にstream_entry()ごとに特定される１つのオーディオエレメンタリストリームに、０からaudio_stream_id2が与えられる。なお、ビデオストリームの場合と同様に、オーディオストリームＩＤ２（audio_stream_id2）の代わりに、オーディオストリーム番号２（audio_stream_number2）を用いるようにしてもよい。この場合、audio_stream_number2は、０ではなく１から与えられる。すなわち、audio_stream_id2の値に１を加算したものがaudio_stream_number2である。オーディオストリーム番号２は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号２であるので、１から定義される。
【０１７６】
すなわち、図２５のSTN_table()においては、number_of_audio_stream_entries（オーディオストリーム＃１）のオーディオストリームと、number_of_audio_stream2_entries（オーディオストリーム＃２）のオーディオストリームとが定義される。換言すれば、STN_table()を用いて、オーディオストリーム＃１とオーディオストリーム＃２とをエントリーすることができるので、ユーザは、同期して再生するオーディオストリームを２本選択することができる。
【０１７７】
同様に、字幕ストリームＩＤ (PG_txtST_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのビットマップ字幕エレメンタリストリームまたはテキスト字幕に、０からPG_txtST_stream_idが与えられる。なお、ビデオストリームの場合と同様に、字幕ストリームＩＤ（PG_txtST_stream_id）の代わりに、字幕ストリーム番号（PG_txtST_stream_number）を用いるようにしてもよい。この場合、PG_txtST_stream_numberは、０ではなく１から与えられる。すなわち、PG_txtST_stream_idの値に１を加算したものがPG_txtST_stream_numberである。字幕ストリーム番号は、字幕切り替えに使われるユーザから見える字幕ストリーム番号（テキストサブタイトルストリームの番号）であるので、１から定義される。
【０１７８】
同様に、グラフィックスストリームＩＤ (IG_stream_id)のforループの中で、順番にstream_entry()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームに、０からIG_stream_idが与えられる。なお、ビデオストリームの場合と同様に、グラフィックスストリームＩＤ（IG_stream_id）の代わりに、グラフィックスストリーム番号（IG_stream_number）を用いるようにしてもよい。この場合、IG_stream_numberは、０ではなく１から与えられる。すなわち、IG_stream_idの値に１を加算したものがIG_stream_numberである。グラフィックスストリーム番号は、グラフィックス切り替えに使われるユーザから見えるグラフィックスストリーム番号であるので、１から定義される。
【０１７９】
次に、図２５のSTN_table()のstream_attribute()について説明する。
【０１８０】
reserved_for_future_useの後のfor文では、video streamの分だけvideo streamが参照され、このデータの提供者（例えば、記録媒体２１の製造者など）が、オーディオストリームに対してMain PathおよびSub Pathを設定した分だけaudio streamが参照され、PG textST streamの分だけPG textST streamが参照され、IG streamの分だけIG streamが参照される。
【０１８１】
ビデオストリームＩＤ (video_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのビデオエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのビデオエレメンタリストリームのストリーム属性情報が記述されている。
【０１８２】
同様に、オーディオストリームＩＤ(audio_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報が記述されている。例えば、図２６のstream_entry()のtype＝１またはtype＝２で特定されるオーディオエレメンタリストリームは１つであるので、stream_attribute()は、その１つのオーディオエレメンタリストリームのストリーム属性情報を与える。
【０１８３】
同様に、オーディオストリームＩＤ２(audio_stream_id2)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのオーディオエレメンタリストリームのストリーム属性情報が記述されている。例えば、図２６のstream_entry()のtype＝１またはtype＝２で特定されるオーディオエレメンタリストリームは１つであるので、stream_attribute()は、その１つのオーディオエレメンタリストリームのストリーム属性情報を与える。
【０１８４】
同様に、字幕ストリームＩＤ(PG_txtST_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのビットマップ字幕エレメンタリストリームまたはテキスト字幕エレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのビットマップ字幕エレメンタリストリームのストリーム属性情報が記述されている。
【０１８５】
同様に、グラフィックスストリームＩＤ(IG_stream_id)のforループの中のstream_attribute()は、stream_entry()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される１つのインタラクティブグラフィックスエレメンタリストリームのストリーム属性情報が記述されている。
【０１８６】
ここで、stream_attribute()のシンタクスについて図２７を参照して説明する。
【０１８７】
lengthは、このlengthフィールドの直後からstream_attribute()の最後までのバイト数を示す１６ビットの符号なし整数である。
【０１８８】
stream_coding_typeは、図２８に示されるようにエレメンタリストリームの符号化タイプを示す。エレメンタリストリームの符号化タイプとしては、MPEG-2 video stream、HDMV LPCM audio、Dolby AC-3 audio、dts audio、Presentation graphics stream、Interactive graphics stream、およびText subtitle streamが記述される。
【０１８９】
video_formatは、図２９に示されるようにビデオエレメンタリストリームのビデオフォーマットを示す。ビデオエレメンタリストリームのビデオフォーマットとしては、４８０ｉ、５７６ｉ、４８０ｐ、１０８０ｉ、７２０ｐ、および１０８０ｐが記述される。
【０１９０】
frame_rateは、図３０に示されるように、ビデオエレメンタリストリームのフレームレートを示す。ビデオエレメンタリストリームのフレームレートとしては、２４０００／１００１、２４、２５、３００００／１００１、５０、および６００００／１００１が記述される。
【０１９１】
aspect_ratioは、図３１に示されるようにビデオエレメンタリストリームのアスペクト比情報を示す。ビデオエレメンタリストリームのアスペクト比情報としては、４：３ display aspect ratio、および１６：９ display aspect ratioが記述される。
【０１９２】
audio_presentation_typeは、図３２に示されるようにオーディオエレメンタリストリームのプレゼンテーションタイプ情報を示す。オーディオエレメンタリストリームのプレゼンテーションタイプ情報としては、single mono channel、dual mono channel、stereo(2-channel)、およびmulti-channelが記述される。
【０１９３】
sampling_frequencyは、図３３に示されるようにオーディオエレメンタリストリームのサンプリング周波数を示す。オーディオエレメンタリストリームのサンプリング周波数としては、４８ｋHz、および９６ｋHzが記述される。
【０１９４】
audio_language_codeは、オーディオエレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
【０１９５】
PG_language_codeは、ビットマップ字幕エレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
【０１９６】
IG_language_code、インタラクティブグラフィックスエレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
【０１９７】
textST_language_codeは、テキスト字幕エレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
【０１９８】
character_codeは、図３４に示されるようにテキスト字幕エレメンタリストリームのキャラクタコードを示す。テキスト字幕エレメンタリストリームのキャラクタコードとしては、Unicode V1.1(ISO 10646-1)、Shift  JIS（Japanese）、KSC 5601-1987 including KSC 5653 for Roman character(Korean)、GB 18030-2000(Chinese)、GB2312(Chinese)、およびBIG５(Chinese)が記述される。
【０１９９】
以下に、図２７のstream_attribute()のシンタクスについて、図２７と、図２８乃至図３４を用いて具体的に説明する。
【０２００】
エレメンタリストリームの符号化タイプ（図２７のstream_coding_type）がMPEG-2 video stream（図２８）である場合、stream_attribute()には、そのエレメンタリストリームのビデオフォーマット（図２９）、フレームレート（図３０）、およびアスペクト比情報（図３１）が含まれる。
【０２０１】
エレメンタリストリームの符号化タイプ（図２７のstream_coding_type）がHDMV LPCM audio、Dolby AC-3 audio、またはdts audio（図２８）である場合、stream_attribute()には、そのオーディオエレメンタリストリームのプレゼンテーションタイプ情報（図３２）、サンプリング周波数（図３３）、および言語コードが含まれる。
【０２０２】
エレメンタリストリームの符号化タイプ（図２７のstream_coding_type）がPresentation graphics stream（図２８）である場合、stream_attribute()には、そのビットマップ字幕エレメンタリストリームの言語コードが含まれる。
【０２０３】
エレメンタリストリームの符号化タイプ（図２７のstream_coding_type）がInteractive graphics stream（図２８）である場合、stream_attribute()には、そのインタラクティブグラフィックスエレメンタリストリームの言語コードが含まれる。
【０２０４】
エレメンタリストリームの符号化タイプ（図２７のstream_coding_type）がText subtitle stream（図２８）である場合、stream_attribute()には、そのテキスト字幕エレメンタリストリームのキャラクタコード（図３４）、言語コードが含まれる。
【０２０５】
なお、これらの属性情報はこれに限定されない。
【０２０６】
このように、PlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から、stream_entry()によって特定された１つのエレメンタリストリームの属性情報をstream_attribute()によって知ることができる。
【０２０７】
再生装置は、この属性情報（stream_attribute()）を調べることによって、そのエレメンタリストリームを自分自身が再生する機能を持っているか否かを調べることができる。また、再生装置は、この属性情報を調べることによって、再生装置の言語設定の初期情報に対応したエレメンタリストリームの選択することができる。
【０２０８】
例えば、再生装置が、ビットマップ字幕エレメンタリストリームの再生機能だけを有し、テキスト字幕エレメンタリストリームの再生機能を有していない場合を想定する。この再生装置に対して、ユーザが言語切り替えを指示した場合、再生装置は、字幕ストリームＩＤ (PG_txtST_stream_id)のforループの中から、ビットマップ字幕エレメンタリストリームだけを順次選択して、再生する。
【０２０９】
また、例えば、再生装置の言語設定の初期情報が日本語である場合を想定する。この再生装置に対して、ユーザが音声切り替えを指示した場合、再生装置は、オーディオストリームＩＤ (Audio stream id)のforループの中から、言語コードが日本語であるオーディオエレメンタリストリームだけを順次選択して、再生する。
【０２１０】
さらに、例えば、メインパスにより参照される、ビデオストリームとオーディオストリームからなるＡＶストリーム（映画）を再生する場合、再生装置に対して、ユーザが音声の切り替えを指令し、オーディオストリーム＃１（通常の映画で出力される音声）と、オーディオストリーム＃２（監督や出演者によるコメント）とを、再生する音声として指定（選択）した場合、再生装置は、オーディオストリーム＃１とオーディオストリーム＃２とをミキシング（重畳）して、ビデオストリームとともに再生する。
【０２１１】
なお、オーディオストリーム＃１とオーディオストリーム＃２とは、図２５および図２６のSTN_table()を参照しても分かるように、両方ともメインパスにより参照されるClipに含まれるオーディオストリームとしてもよい。また、オーディオストリーム＃１とオーディオストリーム＃２のうちの、一方をメインパスにより参照されるClipに含まれるオーディオストリームとし、他方をサブパスにより参照されるClipに含まれるオーディオストリームとしてもよい。このように、メインパスにより参照されるメインＡＶストリームに重畳された複数のオーディオストリームを２つ選択して、ミキシングして再生することも可能である。
【０２１２】
このようにして、PlayItem()の中のSTN_table()は、このPlayItemとそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、ユーザによる音声切り替えや字幕切り替えという操作が、このPlayItemが参照するClipと１つ以上のSubPathが参照するClipの中から選ぶことができる仕組みを提供するようにしたので、メインＡＶストリームが記録されている、再生するＡＶストリームとは異なるストリームやデータファイルに対しても、インタラクティブな操作を行うことができる。
【０２１３】
また、１つのPlayListの中にSubPathを複数使用し、それぞれのSubPathがそれぞれSubPlayItemを参照する構成としたので、拡張性の高い、また、自由度の高いＡＶストリームを実現することができる。すなわち、後で、SubPlayItemを追加できる構成とすることができる。例えば、Main Pathが参照するClipＡＶストリームファイルとこれに対応付けられるPlayListがあり、このPlayListが新たなSub Pathを追加したPlayListに書き換えられた場合、新たなPlayListに基づいて、Main Pathが参照するClipＡＶストリームファイルとともに、Main Pathが参照するClipＡＶストリームファイルとは異なるClipＡＶストリームファイルを参照して、再生を行うことができる。このように、拡張性を有する構成とすることができる。
【０２１４】
さらに、PlayItem()の中のSTN_table()は、後述する図４１の再生装置２０−２の１stオーディオデコーダ７５−１でデコードされるオーディオストリーム＃１と、２ndオーディオデコーダ７５−２でデコードされるオーディオストリーム＃２とをミキシング（合成）して再生することができる仕組みを提供する。例えば、PlayItem()とそれに関連付けられて再生される１つ以上のSubPathが用意されている場合に、PlayItemが参照するClipのオーディオストリームをオーディオストリーム＃１とし、SubPathが参照するClipのオーディオストリームをオーディオストリーム＃２とし、これらををミキシングして再生することができる仕組みを提供するようにした。また、例えば、PlayItemが参照するClip（メインClip）に含まれる２つのオーディオストリームを、それぞれオーディオストリーム＃１とオーディオストリーム＃２とし、これらをミキシングして再生することができる仕組みを提供するようにした。これにより、メインＡＶストリームが記録されている、再生するメインのオーディオストリームとは異なるオーディオストリーム（例えば、監督のコメントのストリーム）の重畳再生を行うことができる。また、メインＡＶストリームに重畳されている２つのオーディオストリーム＃１とオーディオストリーム＃２とを重畳（ミキシング）して再生することができる。
【０２１５】
具体的な例を、図３５を参照して説明する。図３５は、ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルの例を示す図である。
【０２１６】
図３５においては、音声番号をＡ＿ＳＮ（Audio Stream Number）、Ａ＿ＳＮ２と称し、字幕番号をＳ＿ＳＮ（SubPicture Stream Number）と称する。図３５においては、PlayListのMain Pathを構成するPlayItemのSTN_table()でエントリーされるオーディオストリーム＃１（audio_stream_idでエントリーされるオーディオストリーム）のそれぞれにＡ＿ＳＮが与えられ、PlayListのMain Pathを構成するPlayItemのSTN_table()でエントリーされるオーディオストリーム＃２（audio_stream_id2でエントリーされるオーディオストリーム）のそれぞれにＡ＿ＳＮ２が与えられる。
【０２１７】
具体的には、Ａ＿ＳＮ＝１にオーディオ２が与えられ、Ａ＿ＳＮ＝２にオーディオ１が与えられ、Ａ＿ＳＮ＝３にオーディオ３が与えられている。また、Ａ＿ＳＮ２＝１にオーディオ４が与えられ、Ａ＿ＳＮ２＝２にオーディオ５が与えられている。ユーザは、Ａ＿ＳＮが与えられているオーディオストリームの中から、再生するオーディオストリーム＃１を選択し、選択したオーディオストリーム＃１とミキシングするオーディオストリーム＃２を、Ａ＿ＳＮ２が与えられているオーディオストリームの中から選択する。例えば、ユーザは、Ａ＿ＳＮ＝２のオーディオ１と、Ａ＿ＳＮ２＝２のオーディオ５とを再生するオーディオストリームとして選択する。
【０２１８】
具体的な例としては、Ａ＿ＳＮ＝１のオーディオ２が選択されている場合に、ユーザが、オーディオの切り替えを指令した場合、オーディオはＡ＿ＳＮ＝２のオーディオ１に切り替えられ、ユーザが、さらにオーディオの切り替えを指令した場合、オーディオは、Ａ＿ＳＮ＝３のオーディオ３に切り替えられる。また、ユーザが、さらにオーディオの切り替えを指令した場合、オーディオは、Ａ＿ＳＮ＝１のオーディオ２に切り替えられる。また、例えば、Ａ＿ＳＮ２＝１のオーディオ４が選択されている場合に、ユーザが、オーディオの切り替えを指令した場合、オーディオはＡ＿ＳＮ２＝２のオーディオ５に切り替えられ、ユーザが、さらにオーディオの切り替えを指令した場合、オーディオはＡ＿ＳＮ２＝１のオーディオ４に切り替えられる。このように、オーディオストリーム＃１を選択するためのＡ＿ＳＮと、オーディオストリーム＃２を選択するためのＡ＿ＳＮ２とは、音声の切り替えを独立させている。すなわち、ユーザは、Ａ＿ＳＮ＝１乃至Ａ＿ＳＮ＝３から１つオーディオストリームを選択し、Ａ＿ＳＮ２＝１およびＡ＿ＳＮ２＝２から１つオーディオストリームを選択することになる。
【０２１９】
なお、ここでは、Ａ＿ＳＮ、Ａ＿ＳＮ２の番号が小さい程、ユーザに提供される音声信号の優先度が高い。また、Ａ＿ＳＮで与えられるストリームの方が、Ａ＿ＳＮ２で与えられるストリームより優先度が高い。すなわち、Ａ＿ＳＮ＝１はデフォルトで再生されるオーディオストリームである。
【０２２０】
具体的には、再生装置の言語設定の初期情報に基づいて再生される音声は、Ａ＿ＳＮ＝１であるオーディオ２（図３５）に対応しており、音声が切り替えられた後、再生される音声は、Ａ＿ＳＮ＝２であるオーディオ１（図３５）に対応している。
【０２２１】
このようなストリームナンバーテーブルを提供するために、PlayList（）で参照されるPlayItem()の中のSTN table()（図２５）において、最初に、オーディオストリーム＃１にエントリーするためのaudio_stream_id＝０（Ａ＿ＳＮ＝１）でオーディオ２を与え、audio_stream_id＝１（Ａ＿ＳＮ＝２）でオーディオ１を与え、audio_stream_id＝２（Ａ＿ＳＮ＝３）でオーディオ３を与える。次に、STN table()（図２５）において、オーディオストリーム＃２にエントリーするためのaudio_stream_id2＝０（Ａ＿ＳＮ２＝１）でオーディオ４を与え、audio_stream_id2＝１（Ａ＿ＳＮ２＝２）でオーディオ５を与える。
【０２２２】
すなわち、再生する２つのオーディオストリーム（オーディオストリーム＃１とオーディオストリーム＃２）とを別々に定義することで、ユーザは、再生する２つのオーディオストリームを、定義されたものの中から任意に選択することができる。換言すれば、ユーザは、再生する２つのオーディオストリームの選択を自由に（オーディオストリーム＃１とオーディオストリーム＃２で定義されているものの中から自由に）行うことができるので、組み合わせの自由度の高い選択を行うことができる。例えば、ユーザは、オーディオ２＋オーディオ４の組み合わせ（Ａ＿ＳＮ＝１とＡ＿ＳＮ２＝１の組み合わせ）や、オーディオ２＋オーディオ５の組み合わせ（Ａ＿ＳＮ＝１とＡ＿ＳＮ２＝２の組み合わせ）を選択することができる。
【０２２３】
このように、PlayItem()の中のSTN table()（図２５）のstream_entry（）（図２６）で、２本のオーディオストリームをエントリーすることが可能な構成としたので、２つのオーディオストリームをミキシングして再生することができる。すなわち、複数の種類からなるストリームから、同じ種類（この例の場合、オーディオストリーム）の２本のストリームをミキシング（重畳、または合成）して、同時に再生することができる。また、ユーザは、所望する２本の同じ種類のストリームのミキシング再生を指令することができる。
【０２２４】
なお、以上の例では、図４１の再生装置２０−２の１stオーディオデコーダ７５−１でデコードされるオーディオストリーム＃１と、２ndオーディオデコーダ７５−２でデコードされるオーディオストリーム＃２とを、ユーザが別々に選択可能な構成としたが、オーディオストリーム＃１とオーディオストリーム＃２との組み合わせを定義し、ミキシング再生する場合には、この組み合わせの中からユーザに選択させる構成としてもよい。
【０２２５】
次に、図３６を参照して、AUXDATAディレクトリのsound.bdmvのシンタクスについて説明する。
【０２２６】
sound.bdmvは、インタラクティブグラフィックスを用いたストリームに対する1つ又は複数の効果音を含むファイルである。
【０２２７】
SoundData_start_addressは、SoundData()の先頭アドレスを示す３２ビットのフィールドであり、SoundIndex()は、実際の効果音のデータであるSoundData()の効果音の属性（例えば、チャネル数・周波数など）を示す情報である。
【０２２８】
実際の効果音のデータであるSoundData()は、非圧縮のオーディオデータであり、例えば、サウンドストリームとは別に効果音が用意され、所定の位置で出力されるようになされているコンテンツや、ユーザの操作入力を基に再生するデータを変更することができるようになされているなど、ユーザの操作入力を受けることを前提としているコンテンツや、インタラクティブなコンテンツなどにおけるクリック音などとして用意されるデータである。換言すれば、コンテンツ、または、プレイリストまたはプレイアイテムで指定されるコンテンツの一部の仕様によっては、SoundData()を有していないものもある。SoundData()は、例えば、効果音の再生がコマンドによって指令された場合やユーザの操作入力を受けた場合、オーディオストリームに合成されて出力されるようになされている。
【０２２９】
次に、上述した構成を有するデータを再生出力する再生装置２０の構成例と処理について説明する。
【０２３０】
図３７は、本発明を適用した再生装置の第１の例である再生装置２０−１の構成例を示すブロック図である。この再生装置２０−１は、上述したメインパスとサブパスを有するPlayListを再生することができる。再生装置２０−１は、audio_stream_idで与えられるオーディオストリーム＃１のみを再生することが可能であり、audio_stream_id2で与えられるオーディオストリーム＃２が存在するかしないかにかかわらず、再生することができない。そして、再生装置２０-１は、オーディオストリーム＃１に対して、サウンドデータを合成して再生することができる。
【０２３１】
再生装置２０−１には、再生データ取得部３１、スイッチ３２、ＡＶデコーダ部３３−１、コントローラ３４−１、オーディオエンコーダ４１、ビデオエンコーダ４２、D/A変換部４３、D/A変換部４４、非圧縮オーディオ信号インターフェース５１、圧縮オーディオ信号インターフェース５２、非圧縮ビデオ信号インターフェース５３、圧縮ビデオ信号インターフェース５４、アナログオーディオ信号インターフェース５５、および、アナログビデオ信号インターフェース５６が設けられている。
【０２３２】
図３７の例の場合、最初に、コントローラ３４−１が、例えば、装着された記録媒体２１からデータを読み込むストレージドライブ、自分自身の内部の記録媒体からデータを読み込むデータドライブ、または、ネットワーク２２を介してデータを取得するネットワークインターフェイスなどの再生データ取得部３１を介して、Indexファイルを読み出し、発生されるコマンドに基づいて、PlayListファイルを読み出し、PlayListファイルの情報に基づいてPlayItemを読み出し、これに対応するClipを検出し、ClipInfoを基に、対応するＡＶストリームやＡＶデータなどを読み出す。ユーザは、上述したリモートコマンダ２３などのユーザインターフェースを用いて、コントローラ３４−１に対し、音声や字幕などの切り替えの指令を行うことができる。また、コントローラ３４−１には、再生装置２０−１の言語設定の初期情報が図示せぬ記憶部などから供給される。
【０２３３】
また、コントローラ３４−１は、Indexファイル,PlayListファイル（AppInfoPlayList()、PlayList()、または、PlayItem）のうちのいずれかに記載される、オーディオストリームに合成可能なサウンドデータの有無を示すフラグであるis_MixAppまたはis_MixApp_2の値を基に、スイッチ６１を制御する。
【０２３４】
PlayListファイルには、Main Path、Sub Pathの情報の他、STN_table()が含まれている。コントローラ３４−１は、PlayListファイルに含まれるPlayItemが参照するメインClipに含まれるメインClip AVストリームファイル、サブClipに含まれるSubPlayItemが参照するサブClip AVストリームファイル、およびSubPlayItemが参照するテキストサブタイトルデータを、再生データ取得部３１を介して記録媒体２１などから読み出す。ここで、PlayItemが参照するメインClipとSubPlayItemが参照するサブClipとが、異なる記録媒体に記録されていてもよい。例えば、メインClipが記録媒体２１に記録されており、対応するサブClipは、例えば、ネットワーク２２を介して供給され、再生装置２０-１に内蔵されている図示しないHDDに記憶されたものであってもよい。また、コントローラ３４−１は、自分自身（再生装置２０−１）の再生機能に対応するエレメンタリストリームを選択し、再生するよう制御したり、再生装置２０−１の言語設定の初期情報に対応するエレメンタリストリームだけを選択し、再生するよう制御する。
【０２３５】
ＡＶデコーダ部３３−１には、バッファ５１乃至５４、PIDフィルタ５５、PIDフィルタ５６、スイッチ５７乃至５９、スイッチ６１、バックグラウンドデコーダ７１、ビデオデコーダ７２、プレゼンテーショングラフィックスデコーダ７３、インタラクティブグラフィックスデコーダ７４、オーディオデコーダ７５、Text-STコンポジション７６、スイッチ７７、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、インタラクティブグラフィックスプレーン生成部９４、バッファ９５、ビデオデータ処理部９６、および、ミキシング処理部９７が設けられている。ここでは、オーディオデコーダとして、オーディオデコーダ７５のみが設けられているので、オーディオストリーム＃１をデコードすることができるが、オーディオストリーム＃２をデコードすることはできない。具体的には、再生装置２０-１においては、図２５のSTN_table()において、audio_stream_idで与えられるオーディオストリームをデコードすることは可能であるが、audio_stream_id2で与えられるオーディオストリームをデコードすることができない。また、ビデオデコーダ７２としては、再生されるストリームに応じて、例えば、MPEG2,MPEG4,H.264/AVCなどの種々のデコーダを採用することができる。
【０２３６】
コントローラ３４−１により読み出されたファイルデータは、図示せぬ復調、ＥＣＣ復号部により復調され、復調された多重化ストリームに誤り訂正が施される。スイッチ３２は、復調され、誤り訂正が施されたデータを、コントローラ３４−１からの制御に基づいて、ストリームの種類ごとに選択し、対応するバッファ５１乃至５４に供給する。具体的には、スイッチ３２は、コントローラ３４−１からの制御に基づいて、バックグラウンドイメージデータをバッファ５１に供給し、メインClip AV Streamのデータをバッファ５２に供給し、サブClip AV Streamのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClip AV Streamのデータをバッファリングし、バッファ５３は、サブClip AV Streamのデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。
【０２３７】
メインClip AV Streamは、ビデオとオーディオとビットマップ字幕(Presentation Graphics stream)とインタラクティブグラフィックスのうち、ビデオに加えて１つ以上のストリームを多重化したストリーム（例えばトランスポートストリーム）である。サブClipは、オーディオとビットマップ字幕(Presentation Graphics stream)とインタラクティブグラフィックスとオーディオのうち、１つ以上のストリームを多重化したストリームである。なお、テキストサブタイトルデータファイル（Text-ST）のデータは、トランスポートストリームのような多重化ストリームの形式であっても、そうでなくてもよい。
【０２３８】
また、再生データ取得部３１は、メインClip AV StreamとサブClip AV Streamおよびテキストサブタイトルデータのそれぞれのファイルを時分割に交互に読み出しても良いし、または、メインClip AV Streamを読み出す前に、サブClip AV Streamやテキストサブタイトルデータを予め読み出しておき、すべてバッファ(バッファ５３またはバッファ５４)へプリロードしておくようにしてもよい。
【０２３９】
そして、メインClip AV Stream用リードバッファであるバッファ５２から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５５へ出力される。このPIDフィルタ５５は、入力されたメインClip AV StreamをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５５は、ビデオストリームをビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをオーディオデコーダ７５への供給元となるスイッチ５９に供給する。
【０２４０】
プレゼンテーショングラフィックスストリームは、例えば、ビットマップの字幕データであり、テキストサブタイトルデータは、例えば、テキスト字幕データである。
【０２４１】
サブClip AV Stream用リードバッファであるバッファ５３から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５６へ出力される。このPIDフィルタ５６は、入力されたサブClip AV StreamをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームをスイッチ６１への供給元となるスイッチ５９に供給する。
【０２４２】
バックグラウンドイメージデータをバッファリングするバッファ５１から読み出されたデータは、所定のタイミングでバックグラウンドデコーダ７１に供給される。バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、デコードしたバックグラウンドイメージデータをバックグラウンドプレーン生成部９１に供給する。
【０２４３】
PIDフィルタ５５により振り分けられたビデオストリームは、後段のビデオデコーダ７２に供給される。ビデオデコーダ７２は、ビデオストリームをデコードし、デコードしたビデオデータをビデオプレーン生成部９２へ出力する。
【０２４４】
スイッチ５７は、PIDフィルタ５５から供給されたメインClipに含まれるプレゼンテーショングラフィックスストリームと、サブClip に含まれるプレゼンテーショングラフィックスストリームのうちのいずれか１つを選択し、選択したプレゼンテーショングラフィックスストリームを、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。プレゼンテーショングラフィックスデコーダ７３は、プレゼンテーショングラフィックスストリームをデコードし、デコードしたプレゼンテーショングラフィックスストリームのデータをプレゼンテーショングラフィックスプレーン生成部９３への供給元となるスイッチ７７に供給する。
【０２４５】
また、スイッチ５８は、PIDフィルタ５５から供給されたメインClipに含まれるインタラクティブグラフィックスストリームと、サブClip に含まれるインタラクティブグラフィックスストリームのうちのいずれか１つを選択し、選択したインタラクティブグラフィックスストリームを、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。すなわち、インタラクティブグラフィックスデコーダ７４へ同時に入力されるインタラクティブグラフィックスストリームは、メインClip AV StreamまたはサブClip AV Streamのどちらかから分離されたストリームである。インタラクティブグラフィックスデコーダ７４は、インタラクティブグラフィックスストリームをデコードし、デコードしたインタラクティブグラフィックスストリームのデータを、インタラクティブグラフィックスプレーン生成部９４に供給する。
【０２４６】
さらに、スイッチ５９は、PIDフィルタ５５から供給されたメインClipに含まれるオーディオストリームと、サブClip に含まれるオーディオストリームのうちのいずれか１つを選択し、選択したオーディオストリームを、後段のスイッチ６１に供給する。
【０２４７】
スイッチ６１は、コントローラ３４−１の制御に基づいて、供給されたオーディオデータをオーディオデコーダ７５に供給するか，または、圧縮オーディオ信号インターフェース５２に供給する。
【０２４８】
オーディオデコーダ７５は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部９７に供給する。
【０２４９】
また、スイッチ３２により選択されたサウンドデータは、バッファ９５に供給され、バッファリングされる。バッファ９５は、所定のタイミングでサウンドデータをミキシング処理部９７に供給する。サウンドデータは、この場合、メニュー選択などによる効果音のデータである。ミキシング処理部９７は、オーディオデコーダ７５から供給されたオーディオデータと、バッファ９５から供給されてきたサウンドデータをミキシング（重畳、または合成）し、音声信号として出力する。
【０２５０】
テキストサブタイトル用リードバッファであるバッファ５４から読み出されたデータは、所定のタイミングで、後段のテキストサブタイトルコンポジション（デコーダ）７６へ出力される。テキストサブタイトルコンポジション７６は、Text-STデータをデコードし、スイッチ７７に供給する。
【０２５１】
スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれかを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。すなわち、プレゼンテーショングラフィックスプレーン生成部９３へ同時に供給される字幕画像は、プレゼンテーショングラフィックスデコーダ７３またはテキストサブタイトル（Text-ST）コンポジション７６のうちのいずれかの出力である。また、プレゼンテーショングラフィックスデコーダ７３へ同時に入力されるプレゼンテーショングラフィックスストリームは、メインClip AV StreamまたはサブClip AV Streamのいずれかから分離されたストリームである（スイッチ５７により選択される）。したがって、プレゼンテーショングラフィックスプレーン生成部９３へ同時に出力される字幕画像は、メインClip AV Streamからのプレゼンテーショングラフィックスストリーム、またはサブClip AV Streamからのプレゼンテーショングラフィックスストリーム、またはテキストサブタイトルデータのデコード出力である。
【０２５２】
バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、例えば、ビデオ画像を縮小表示した場合に壁紙画像となるバックグラウンドプレーンを生成し、これを、ビデオデータ処理部９６に供給する。ビデオプレーン生成部９２は、ビデオデコーダ７２から供給されたビデオデータに基づいて、ビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。プレゼンテーショングラフィックスプレーン生成部９３は、スイッチ７７により選択され、供給されたデータ（プレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータ）に基づいて、例えば、レンダリング画像であるプレゼンテーショングラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。
【０２５３】
ビデオデータ処理部９６は、バックグラウンドプレーン生成部９１からのバックグラウンドプレーン、ビデオプレーン生成部９２からのビデオプレーン、プレゼンテーショングラフィックスプレーン生成部９３からのプレゼンテーショングラフィックスプレーン、およびインタラクティブグラフィックスプレーン生成部９４からのインタラクティブグラフィックスプレーンを合成し、ビデオ信号として出力する。
【０２５４】
これらのスイッチ５７乃至５９、並びにスイッチ７７は、ユーザインターフェースを介するユーザからの選択、または、対象となるデータが含まれるファイル側に基づいて、スイッチを切り替える。例えば、サブClip ＡＶストリームファイルのみにしか、オーディオストリームが含まれていない場合、スイッチ５９はサブ側にスイッチを切り替える。
【０２５５】
オーディオエンコーダ４１は、ミキシング処理部９７から供給された非圧縮のオーディオデータをエンコードし、圧縮オーディオ信号インターフェース５２に供給する。ビデオエンコーダ４２は、ビデオデータ処理部９６から供給された非圧縮のビデオ信号をエンコードし、圧縮ビデオ信号インターフェース５４に供給する。D/A変換部４３は、ミキシング処理部９７から供給された非圧縮のオーディオデータをデジタル信号からアナログ信号に変換し、アナログオーディオ信号インターフェース５５に供給する。D/A変換部４４は、ビデオデータ処理部９６から供給された非圧縮のビデオ信号をデジタル信号からアナログ信号に変換し、アナログビデオ信号インターフェース５６に供給する。非圧縮オーディオ信号インターフェース５１は、ミキシング処理部９７から供給された非圧縮のオーディオデータを外部に出力する。圧縮オーディオ信号インターフェース５２は、オーディオエンコーダ４１またはスイッチ６１から供給された圧縮オーディオ信号を外部に出力する。非圧縮ビデオ信号インターフェース５３は、ビデオデータ処理部９６から供給された非圧縮のビデオ信号を外部に出力する。圧縮ビデオ信号インターフェース５４は、ビデオエンコーダ４２から供給された圧縮ビデオ信号を外部に出力する。アナログオーディオ信号インターフェース５５は、D/A変換部４３から供給されたアナログオーディオ信号を外部に出力する。アナログビデオ信号インターフェース５６は、D/A変換部４４から供給されたアナログビデオ信号を外部に出力する。
【０２５６】
次に、図３８のフローチャートを参照して、オーディオストリーム＃１に合成される他の音声データがあるか否かを示すフラグがIndexファイルのIndexes（）に記載されているデータを再生装置２０-１が再生する場合に実行される、再生処理１について説明する。
【０２５７】
ステップＳ１において、コントローラ３４−１は、再生装置２０−１から出力されるのは符号化ストリームであるか否かを判断する。ステップＳ１において、再生装置２０−１から出力されるのは符号化ストリームではないと判断された場合、処理は、後述するステップＳ２４に進む。
【０２５８】
ステップＳ１において、再生装置２０−１から出力されるのは符号化ストリームであると判断された場合、ステップＳ２において、コントローラ３４−１は、スイッチ３２から供給されるIndexファイルを読み取る。
【０２５９】
ステップＳ３において、コントローラ３４−１は、indexes()に記載されている、サウンドデータが存在することを示すフラグis_MixAppまたはis_MixApp_２が１となっているか否かを判断する。
【０２６０】
audio_stream_idで与えられるオーディオストリーム＃１に加えて、audio_stream_id2で与えられるオーディオストリーム＃２も存在しているコンテンツには、サウンドデータが存在するか否かを示すフラグであるis_MixApp_２に加えて、オーディオストリーム＃２が存在するか否かを示すフラグであるis_MixApp_１が記載されている。しかしながら、再生装置２０-１は、audio_stream_id2で与えられるオーディオストリーム＃２を再生する機能を有していない。したがって、再生装置２０-１は、ステップＳ３において、is_MixAppまたはis_MixApp_2で示されるフラグの値のみを検出し、読み出したデータの中にis_MixApp_1で示されるフラグが記載されていても、そのフラグは参照しない。すなわち、再生装置２０において、フラグis_MixApp_1の値は、スイッチ６１の制御に影響を及ぼさない。
【０２６１】
ステップＳ３において、フラグis_MixAppまたはis_MixApp_２が１となっていると判断された場合、処理は、後述するステップＳ１４に進む。
【０２６２】
ステップＳ３において、フラグis_MixAppまたはis_MixApp_２が１ではないと判断された場合、このIndexファイルに関連するデータには、再生装置２０−１においてオーディオストリーム＃１に合成することが可能なサウンドデータが含まれていないので、ステップＳ４において、コントローラ３４−１は、このIndexファイルに関連するオーディオデータを圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２に供給するように、スイッチ６１を制御する。
【０２６３】
ステップＳ５において、コントローラ３４−１は、例えば、ユーザの操作入力などによって発生されるコマンドにより、Playlistファイル(例えば、図１３の×××××.mpls)の読み出しが指令されたか否かを判断する。ステップＳ５において、Playlistファイルの読み出しが指令されていないと判断された場合、Playlistファイルの読み出しが指令されたと判断されるまで、ステップＳ５の処理が繰り返される。
【０２６４】
ステップＳ５において、Playlistファイルの読み出しが指令されたと判断された場合、ステップＳ６において、コントローラ３４−１は、スイッチ３２から供給されるPlaylistファイルを読み出す。
【０２６５】
ステップＳ７において、コントローラ３４−１は、そのPlayListファイルに記載されているPlayList(図１３のPlylist())により指定されるPlayItemを読み出し、対応するメインClip AV Stream、サブClip AV Stream、およびテキストサブタイトルデータを読み出してスイッチ３２に供給する。
【０２６６】
ステップＳ８において、コントローラ３４−１は、読み出したデータを対応するバッファに供給してバッファリングする。具体的には、コントローラ３４−１は、バックグラウンドイメージデータをバッファ５１に供給し、メインClip AV Streamのデータをバッファ５２に供給し、サブClip AV Streamのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。そして、バッファ５１乃至５４は、供給されたデータをそれぞれバッファリングする。具体的には、バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClip AV Streamのデータをバッファリングし、バッファ５３は、サブClip AV Streamのデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。
【０２６７】
ステップＳ９において、コントローラ３４−１は、PIDフィルタ５５、５６およびスイッチ６７乃至５９を制御し、映像系データを所定のデコーダでデコードし、ビデオデータ処理部９６にて処理する。
【０２６８】
ステップＳ１０において、ビデオエンコーダ４２は、ビデオデータ処理部９６から供給された処理済のビデオデータをエンコードする。
【０２６９】
ステップＳ１１において、圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２は、スイッチ６１から出力される符号化オーディオデータであるオーディオストリーム＃１を外部に出力し、圧縮符号化ビデオ信号の出力端子である圧縮ビデオ信号インターフェース５４は、エンコードされた符号化ビデオデータを外部に出力する。
【０２７０】
すなわち、ステップＳ１１において圧縮オーディオ信号インターフェース５２から出力される圧縮符号化オーディオデータは、再生装置２０−１のＡＶデコーダ部３３−１において、復号処理が施されていないため、音質が劣化していない。
【０２７１】
ステップＳ１２において、コントローラ３４−１は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ１２において、次のPlayItemがあると判断された場合、処理は、ステップＳ７に戻り、それ以降の処理が繰り返される。
【０２７２】
ステップＳ１２において、次のPlayItemがないと判断された場合、ステップＳ１３において、コントローラ３４−１は、再生終了であるか否かを判断する。ステップＳ１３において、再生終了ではないと判断された場合、処理は、ステップＳ５に戻り、それ以降の処理が繰り返される。ステップＳ１３において、再生終了であると判断された場合、処理は、終了される。
【０２７３】
ステップＳ３において、フラグis_MixAppまたはis_MixApp_２が１となっていると判断された場合、このIndexファイルに関連するデータには、再生装置２０−１においてオーディオストリーム＃１に合成することが可能なサウンドデータが含まれているので、ステップＳ１４において、コントローラ３４−１は、このIndexファイルに関連するオーディオストリーム＃１をオーディオデコーダ７５に供給するように、スイッチ６１を制御する。
【０２７４】
ステップＳ１５乃至ステップＳ１９において、ステップＳ５乃至ステップＳ９と基本的に同様の処理が実行される。すなわち、PlayListの読み出しが指令されたか否かが判断され、読み出しが指令されたと判断された場合、PlayListが読み出されて、PlayListにより指定されるPlayItemが読み出される。そして、読み出されたPlayItemに対応するClipのデータ（AV Stream）が対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。
【０２７５】
ステップＳ２０において、コントローラ３４−１は、PIDフィルタおよび各スイッチを制御し、バッファ５３にバッファリングされたオーディオストリーム＃１を、スイッチ６１を介してオーディオデコーダ７５に供給してデコードし、ミキシング処理部９７を制御して、バッファ９５に保持されているサウンドデータとの合成処理を適宜実行させる。
【０２７６】
すなわち、スイッチ６１が制御されて、オーディオストリーム＃１がオーディオデコーダ７５によりデコードされるようになされているので、オーディオストリーム＃１とサウンドデータを合成することが可能となる。
【０２７７】
ステップＳ２１において、オーディオエンコーダ４１は、合成処理が施された非圧縮のオーディオデータをエンコードし、圧縮オーディオ信号インターフェース５２に供給して外部出力させ、ビデオエンコーダ４２はビデオデータ処理部９６により処理された非圧縮のビデオデータをエンコードして、圧縮ビデオ信号インターフェース５４に供給して外部に出力させる。
【０２７８】
ステップＳ２２において、コントローラ３４−１は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ２２において、次のPlayItemがあると判断された場合、処理は、ステップＳ１７に戻り、それ以降の処理が繰り返される。
【０２７９】
ステップＳ２２において、次のPlayItemがないと判断された場合、ステップＳ２３において、コントローラ３４−１は、再生終了であるか否かを判断する。ステップＳ２３において、再生終了ではないと判断された場合、処理は、ステップＳ１５に戻り、それ以降の処理が繰り返される。ステップＳ２３において、再生終了であると判断された場合、処理は、終了される。
【０２８０】
ステップＳ１において、出力されるのは符号化ストリームではないと判断された場合、ステップＳ２４において、コントローラ３４−１は、供給されたオーディオ＃１をオーディオデコーダ７５に供給するように、スイッチ６１を制御する。
【０２８１】
すなわち、出力されるのは符号化ストリームではない場合、オーディオストリーム＃１に合成されるサウンドデータがあるか否かにかかわらず、オーディオストリーム＃１はデコードされる。
【０２８２】
ステップＳ２５乃至ステップＳ３０において、ステップＳ１５乃至ステップＳ２０と基本的に同様の処理が実行される。すなわち、PlayListの読み出しが指令されたか否かが判断され、読み出しが指令されたと判断された場合、PlayListが読み出されて、PlayListにより指定されるPlayItemが読み出される。そして、読み出されたPlayItemに対応するClipのデータ（AV Stream）が対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。そして、PIDフィルタおよび各スイッチが制御され、バッファ５３にバッファリングされたオーディオストリーム＃１がスイッチ６１を介してオーディオデコーダ７５に供給されてデコードされ、バッファ９５にサウンドデータが供給されて存在する場合は、ミキシング処理部９７の処理により、適宜合成処理が実行される。
【０２８３】
ステップＳ３１において、非圧縮オーディオ信号インターフェース５１は、ミキシング処理部９７から供給された処理済の非圧縮のビデオデータを外部に出力し、非圧縮ビデオ信号インターフェース５３は、ビデオデータ処理部９６から供給された非圧縮のオーディオデータを外部に出力する。または、D/A変換部４３は、非圧縮のオーディオデータをD/A変換し、アナログオーディオ信号インターフェース５５は、アナログ信号を外部に出力し、D/A変換部４４は、非圧縮のビデオデータをD/A変換し、アナログビデオ信号インターフェース５６は、アナログ信号を外部に出力する。
【０２８４】
ステップＳ３２において、コントローラ３４−１は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ３２において、次のPlayItemがあると判断された場合、処理は、ステップＳ２７に戻り、それ以降の処理が繰り返される。
【０２８５】
ステップＳ３２において、次のPlayItemがないと判断された場合、ステップＳ３３において、コントローラ３４−１は、再生終了であるか否かを判断する。ステップＳ３３において、再生終了ではないと判断された場合、処理は、ステップＳ２５に戻り、それ以降の処理が繰り返される。ステップＳ３３において、再生終了であると判断された場合、処理は、終了される。
【０２８６】
このような処理により、再生装置２０−１は、Indexes()に記載されているフラグを参照して、このIndexes()により参照されるデータにサウンドデータが含まれていない場合は、オーディオストリーム＃１をデコードせずに圧縮符号化されたデータのまま外部に出力するので、必要以上に音質を劣化させることを防止することができる。
【０２８７】
なお、この処理においては、処置の最初において、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断し、その後、フラグを参照して、合成処理が実行されるか否かを判断するものとしているが、例えば、まず、フラグを参照して、合成処理が実行されるか否かを判断し、その後、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断するようにしても、判断する処理の順番が異なるだけで、実質的に同様の処理が実行されるのは言うまでもない。
【０２８８】
次に、図３９のフローチャートを参照して、オーディオストリーム＃１に合成される他の音声データがあるか否かを示すフラグがPlayListに記載されているデータを再生装置２０-１が再生する場合に実行される、再生処理２について説明する。
【０２８９】
ステップＳ６１において、コントローラ３４−１は、再生装置２０−１から出力されるのは符号化ストリームであるか否かを判断する。ステップＳ６１において、再生装置２０−１から出力されるのは符号化ストリームではないと判断された場合、処理は、後述するステップＳ８２に進む。
【０２９０】
ステップＳ６１において、再生装置２０−１から出力されるのは符号化ストリームであると判断された場合、ステップＳ６２において、コントローラ３４−１は、スイッチ３２から供給されるIndexファイルを読み取る。
【０２９１】
ステップＳ６３において、コントローラ３４−１は、例えば、ユーザの操作入力などによって発生されるコマンドにより、Playlistファイル(例えば、図１３の×××××.mpls)の読み出しが指令されたか否かを判断する。ステップＳ６３において、Playlistファイルの読み出しが指令されていないと判断された場合、Playlistファイルの読み出しが指令されたと判断されるまで、ステップＳ６３の処理が繰り返される。
【０２９２】
ステップＳ６３において、Playlistファイルの読み出しが指令されたと判断された場合、ステップＳ６４において、コントローラ３４−１は、スイッチ３２から供給されるPlaylistファイルを読み出す。
【０２９３】
ステップＳ６５において、コントローラ３４−１は、PlayListファイルに記載されている、すなわち、AppInfoPlayList()またはPlayList()に記載されている、サウンドデータが存在することを示すフラグis_MixAppまたはis_MixApp_２が１となっているか否かを判断する。
【０２９４】
audio_stream_idで与えられるオーディオストリーム＃１に加えて、audio_stream_id2で与えられるオーディオストリーム＃２も存在しているコンテンツには、サウンドデータが存在するか否かを示すフラグであるis_MixApp_２に加えて、オーディオストリーム＃２が存在するか否かを示すフラグであるis_MixApp_１が記載されている。しかしながら、再生装置２０-１は、audio_stream_id2で与えられるオーディオストリーム＃２を再生する機能を有していないので、is_MixApp_2で示されるフラグの値のみを検出し、読み出したデータの中にis_MixApp_1で示されるフラグが記載されていても、そのフラグは参照しないようになされている。
【０２９５】
ステップＳ６５において、フラグis_MixAppまたはis_MixApp_２が１となっていると判断された場合、処理は、後述するステップＳ７４に進む。
【０２９６】
ステップＳ６５において、フラグis_MixAppまたはis_MixApp_２が１となっていないと判断された場合、このPlayListファイルに関連するオーディオデータには、再生装置２０−１においてオーディオストリーム＃１に合成することが可能なサウンドデータが含まれていないので、ステップＳ６６において、コントローラ３４−１は、このPlaylistファイルに関連するオーディオデータを圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２に供給するように、スイッチ６１を制御する。
【０２９７】
ステップＳ６７乃至ステップＳ７１において、図３８のステップＳ７乃至ステップＳ１１と基本的に同様の処理が実行される。
【０２９８】
すなわち、PlayListにより指定されるPlayItemが読み出されて、対応するClipのデータ（AV Stream）が読み出されて、スイッチ３２に供給され、読み出されたデータが対応するバッファに供給されてバッファリングされる。そして、PIDフィルタ５５、５６およびスイッチ６７乃至５９が制御されて、映像系データが所定のデコーダでデコードされ、ビデオデータ処理部９６にて処理され処理済のビデオデータがエンコードされる。そして、スイッチ６１から出力される符号化オーディオデータが圧縮オーディオ信号インターフェース５２から外部に出力され、エンコードされた符号化ビデオデータが圧縮ビデオ信号インターフェース５４から外部に出力される。
【０２９９】
すなわち、ステップＳ７１において圧縮オーディオ信号インターフェース５２から出力される圧縮符号化オーディオデータは、再生装置２０−１のＡＶデコーダ部３３−１において、復号処理が施されていないため、音質が劣化していない。
【０３００】
ステップＳ７２において、コントローラ３４−１は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ７２において、次のPlayItemがあると判断された場合、処理は、ステップＳ６７に戻り、それ以降の処理が繰り返される。
【０３０１】
ステップＳ７２において、次のPlayItemがないと判断された場合、ステップＳ７３において、コントローラ３４−１は、再生終了であるか否かを判断する。ステップＳ７３において、再生終了ではないと判断された場合、処理は、ステップＳ６３に戻り、それ以降の処理が繰り返される。すなわち、次に読み出されたPlayListに記載されているフラグの値により、スイッチ６１の制御は変更される可能性がある。ステップＳ７３において、再生終了であると判断された場合、処理は、終了される。
【０３０２】
ステップＳ６５において、フラグis_MixAppまたはis_MixApp_２が１となっていると判断された場合、このPlayListファイルに関連するデータには、再生装置２０−１においてオーディオストリーム＃１に合成することが可能なサウンドデータが含まれているので、ステップＳ７４において、コントローラ３４−１は、このPlayListファイルに関連するオーディオデータをデコードするデコーダであるオーディオデコーダ７５に供給するように、スイッチ６１を制御する。
【０３０３】
ステップＳ７５乃至ステップＳ７９において、図３８のステップＳ１７乃至ステップＳ２１と基本的に同様の処理が実行される。すなわち、PlayListにより指定されるPlayItemが読み出されて、対応するClipのデータ（AV Stream）が読み出され、読み出されたデータが対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。
【０３０４】
そして、PIDフィルタおよび各スイッチが制御されて、バッファ５３にバッファリングされたオーディオストリーム＃１がスイッチ６１を介して、オーディオデコーダ７５に供給されてデコードされ、ミキシング処理部９７の処理により、バッファ９５に保持されているサウンドデータとの合成処理が適宜実行される。すなわち、スイッチ６１が制御されて、オーディオストリーム＃１がオーディオデコーダ７５によりデコードされるようになされているので、オーディオストリーム＃１とサウンドデータを合成することが可能となる。
【０３０５】
そして、合成処理が施された非圧縮のオーディオデータがエンコードされて、圧縮オーディオ信号インターフェース５２から外部出力され、ビデオデータ処理部９６により処理された非圧縮のビデオデータがエンコードされて、圧縮ビデオ信号インターフェース５４から外部に出力される。
【０３０６】
ステップＳ８０において、コントローラ３４−１は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ８０において、次のPlayItemがあると判断された場合、処理は、ステップＳ７５に戻り、それ以降の処理が繰り返される。
【０３０７】
ステップＳ８０において、次のPlayItemがないと判断された場合、ステップＳ８１において、コントローラ３４−１は、再生終了であるか否かを判断する。ステップＳ８１において、再生終了ではないと判断された場合、処理は、ステップＳ６３に戻り、それ以降の処理が繰り返される。すなわち、次に読み出されたPlayListに記載されているフラグの値により、スイッチ６１の制御は変更される可能性がある。ステップＳ８１において、再生終了であると判断された場合、処理は、終了される。
【０３０８】
ステップＳ６１において、出力されるのは符号化ストリームではないと判断された場合、ステップＳ８２乃至ステップＳ９１において、図３８のステップＳ２４乃至ステップＳ３３と基本的に同様の処理が実行される。
【０３０９】
すなわち、出力されるのは符号化ストリームではない場合、オーディオストリーム＃１に合成されるサウンドデータがあるか否かにかかわらず、オーディオストリーム＃１はデコードされるので、供給されたオーディオストリーム＃１がオーディオデコーダ７５に供給されるように、スイッチ６１が制御される。そして、PlayListの読み出しが指令されたか否かが判断され、読み出しが指令されたと判断された場合、PlayListが読み出されて、PlayListにより指定されるPlayItemが読み出されて対応するClipのデータが読み出される。そして、読み出されたデータが対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。そして、PIDフィルタおよび各スイッチが制御され、バッファ５３にバッファリングされたオーディオストリーム＃１がスイッチ６１を介してオーディオデコーダ７５に供給されてデコードされ、バッファ９５にサウンドデータが供給されて存在する場合は、ミキシング処理部９７の処理により、適宜合成処理が実行される。
【０３１０】
そして、非圧縮オーディオ信号インターフェース５１は、ミキシング処理部９７から供給された処理済の非圧縮のビデオデータを外部に出力し、非圧縮ビデオ信号インターフェース５３は、ビデオデータ処理部９６から供給された非圧縮のオーディオデータを外部に出力する。または、D/A変換部４３は、非圧縮のオーディオデータをD/A変換し、アナログオーディオ信号インターフェース５５は、アナログ信号を外部に出力し、D/A変換部４４は、非圧縮のビデオデータをD/A変換し、アナログビデオ信号インターフェース５６は、アナログ信号を外部に出力する。
【０３１１】
そして、再生するべき次のPlayItemがあるか否かが判断され、次のPlayItemがあると判断された場合、処理は、ステップＳ８５に戻り、それ以降の処理が繰り返される。次のPlayItemがないと判断された場合、再生終了であるか否かが判断され、再生終了ではないと判断された場合、処理は、ステップＳ８３に戻り、それ以降の処理が繰り返され再生終了であると判断された場合、処理は、終了される。
【０３１２】
このような処理により、再生装置２０−１は、Playlistファイルに記載されているフラグを参照して、このPlaylistにより参照されるデータにサウンドデータが含まれていない場合は、オーディオストリーム＃１をデコードせずに圧縮符号化されたデータのまま外部に出力するので、必要以上に音質を劣化させることを防止することができる。また、フラグをPlaylistファイル内のAppInfoPlayList()またはPlayList()に記載するようにした場合、サウンドデータが含まれているか否かをPlayListごとに設定することが可能となるので、オーサリングの自由度が増す。
【０３１３】
なお、この処理においても、処置の最初において、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断し、その後、フラグを参照して、合成処理が実行されるか否かを判断するものとしているが、例えば、まず、フラグを参照して、合成処理が実行されるか否かを判断し、その後、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断するようにしても、判断する処理の順番が異なるだけで、実質的に同様の処理が実行されるのは言うまでもない。
【０３１４】
次に、図４０のフローチャートを参照して、オーディオストリーム＃１に合成される他の音声データがあるか否かを示すフラグがPlayItemに記載されているデータを再生装置２０-１が再生する場合に実行される、再生処理３について説明する。
【０３１５】
ステップＳ１３１において、コントローラ３４−１は、再生装置２０−１から出力されるのは符号化ストリームであるか否かを判断する。ステップＳ１３１において、再生装置２０−１から出力されるのは符号化ストリームではないと判断された場合、処理は、後述するステップＳ１５１に進む。
【０３１６】
ステップＳ１３１において、再生装置２０−１から出力されるのは符号化ストリームであると判断された場合、ステップＳ１３２において、コントローラ３４−１は、スイッチ３２から供給されるIndexファイルを読み取る。
【０３１７】
ステップＳ１３３において、コントローラ３４−１は、例えば、ユーザの操作入力などによって発生されるコマンドにより、Playlistファイル(例えば、図１３の×××××.mpls)の読み出しが指令されたか否かを判断する。ステップＳ１３３において、Playlistファイルの読み出しが指令されていないと判断された場合、Playlistファイルの読み出しが指令されたと判断されるまで、ステップＳ１３３の処理が繰り返される。
【０３１８】
ステップＳ１３３において、Playlistファイルの読み出しが指令されたと判断された場合、ステップＳ１３４において、コントローラ３４−１は、スイッチ３２から供給されるPlaylistファイルを読み出す。
【０３１９】
ステップＳ１３５において、コントローラ３４−１は、そのPlayListファイルに記載されているPlayList(図１３のPlylist())により指定されるPlayItemを読み出す。そして、コントローラ３４−１は、PlayItemに基づいて、再生データ取得部３１を制御して、対応するメインClip AV Stream、サブClip AV Stream、およびテキストサブタイトルデータを読み出してスイッチ３２に供給する。
【０３２０】
ステップＳ１３６において、コントローラ３４−１は、PlayItemに記載されている、サウンドデータが存在することを示すフラグis_MixAppまたはis_MixApp_２が１となっているか否かを判断する。
【０３２１】
audio_stream_idで与えられるオーディオストリーム＃１に加えて、audio_stream_id2で与えられるオーディオストリーム＃２も存在しているコンテンツには、サウンドデータが存在するか否かを示すフラグであるis_MixApp_２に加えて、オーディオストリーム＃２が存在するか否かを示すフラグであるis_MixApp_１が記載されている。しかしながら、再生装置２０-１は、audio_stream_id2で与えられるオーディオストリーム＃２を再生する機能を有していないため、ステップＳ１３６において、is_MixAppまたはis_MixApp_2で示されるフラグの値のみを検出し、読み出したデータの中にis_MixApp_1で示されるフラグが記載されていても、そのフラグは参照しない。
【０３２２】
ステップＳ１３６において、フラグis_MixAppまたはis_MixApp_２が１となっていると判断された場合、処理は、後述するステップＳ１４４に進む。
【０３２３】
ステップＳ１３６において、フラグis_MixAppまたはis_MixApp_２が１ではないと判断された場合、このIndexファイルに関連するオーディオデータには、再生装置２０−１においてオーディオストリーム＃１に合成することが可能なサウンドデータが含まれていないので、ステップＳ１３７において、コントローラ３４−１は、このPlayItemに関連するオーディオストリーム＃１を圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２に供給するように、スイッチ６１を制御する。
【０３２４】
ステップＳ１３７乃至ステップＳ１４１において、図３８のステップＳ８乃至ステップＳ１１と基本的に同様の処理が実行される。
【０３２５】
すなわち、読み出されたデータが対応するバッファに供給されてバッファリングされ、PIDフィルタ５５、５６およびスイッチ６７乃至５９が制御されて、映像系データが所定のデコーダでデコードされ、ビデオデータ処理部９６にて処理され処理済のビデオデータがエンコードされる。そして、スイッチ６１から出力される符号化オーディオデータであるオーディオストリーム＃１が圧縮オーディオ信号インターフェース５２から外部に出力され、エンコードされた符号化ビデオデータが圧縮ビデオ信号インターフェース５４から外部に出力される。
【０３２６】
すなわち、ステップＳ１４１において圧縮オーディオ信号インターフェース５２から出力される圧縮符号化オーディオデータであるオーディオストリーム＃１は、再生装置２０−１のＡＶデコーダ部３３−１において、復号処理が施されていないため、音質が劣化していない。
【０３２７】
ステップＳ１４２において、コントローラ３４−１は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ１４２において、次のPlayItemがあると判断された場合、処理は、ステップＳ１３５に戻り、それ以降の処理が繰り返される。すなわち、次に読み出されたPlayItemに記載されているフラグの値により、スイッチ６１の制御は変更される可能性がある。
【０３２８】
ステップＳ１４２において、次のPlayItemがないと判断された場合、ステップＳ１４３において、コントローラ３４−１は、再生終了であるか否かを判断する。ステップＳ１４３において、再生終了ではないと判断された場合、処理は、ステップＳ１３３に戻り、それ以降の処理が繰り返される。ステップＳ１４３において、再生終了であると判断された場合、処理は、終了される。
【０３２９】
ステップＳ１３６において、フラグis_MixAppまたはis_MixApp_２が１となっていると判断された場合、このPlayItemに関連するデータには、再生装置２０−１においてオーディオストリーム＃１に合成することが可能なサウンドデータが含まれているので、ステップＳ１４４において、コントローラ３４−１は、このPlayItemに関連するオーディオストリーム＃１をオーディオデコーダ７５に供給するように、スイッチ６１を制御する。
【０３３０】
ステップＳ１４５乃至ステップＳ１４８において、図３８のステップＳ１８乃至ステップＳ２１と基本的に同様の処理が実行される。すなわち、読み出されたデータが対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。
【０３３１】
そして、PIDフィルタおよび各スイッチが制御されて、バッファ５３にバッファリングされたオーディオストリーム＃１が、スイッチ６１を介してオーディオデコーダ７５に供給されてデコードされ、ミキシング処理部９７の処理により、バッファ９５に保持されているサウンドデータとの合成処理が適宜実行される。すなわち、スイッチ６１が制御されて、オーディオストリーム＃１がオーディオデコーダ７５によりデコードされるようになされているので、オーディオストリーム＃１とサウンドデータを合成することが可能となる。
【０３３２】
そして、合成処理が施された非圧縮のオーディオデータがエンコードされて、圧縮オーディオ信号インターフェース５２から外部出力され、ビデオデータ処理部９６により処理された非圧縮のビデオデータがエンコードされて、圧縮ビデオ信号インターフェース５４から外部に出力される。
【０３３３】
ステップＳ１４９において、コントローラ３４−１は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ１４９において、次のPlayItemがあると判断された場合、処理は、ステップＳ１３５に戻り、それ以降の処理が繰り返される。すなわち、次に読み出されたPlayItemに記載されているフラグの値により、スイッチ６１の制御は変更される可能性がある。
【０３３４】
ステップＳ１４９において、次のPlayItemがないと判断された場合、ステップＳ１５０において、コントローラ３４−１は、再生終了であるか否かを判断する。ステップＳ１５０において、再生終了ではないと判断された場合、処理は、ステップＳ１３３に戻り、それ以降の処理が繰り返される。ステップＳ１５０において、再生終了であると判断された場合、処理は、終了される。
【０３３５】
ステップＳ１３１において、出力されるのは符号化ストリームではないと判断された場合、ステップＳ１５１乃至ステップＳ１６０において、図３８のステップＳ２４乃至ステップＳ３３と基本的に同様の処理が実行される。
【０３３６】
すなわち、出力されるのは符号化ストリームではない場合、オーディオストリーム＃１に合成されるサウンドデータがあるか否かにかかわらず、オーディオストリーム＃１はデコードされるので、供給されたオーディオストリーム＃１がオーディオデコーダ７５に供給されるように、スイッチ６１が制御される。そして、PlayListの読み出しが指令されたか否かが判断され、読み出しが指令されたと判断された場合、PlayListが読み出されて、PlayListにより指定されるPlayItemが読み出されて対応するClipのデータ（AV Stream）が読み出される。そして、読み出されたデータが対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。そして、PIDフィルタおよび各スイッチが制御され、バッファ５３にバッファリングされたオーディオストリーム＃１がスイッチ６１を介してオーディオデコーダ７５に供給されてデコードされ、バッファ９５にサウンドデータが供給されて存在する場合は、ミキシング処理部９７の処理により、適宜合成処理が実行される。
【０３３７】
そして、非圧縮オーディオ信号インターフェース５１は、ミキシング処理部９７から供給された処理済の非圧縮のビデオデータを外部に出力し、非圧縮ビデオ信号インターフェース５３は、ビデオデータ処理部９６から供給された非圧縮のオーディオデータを外部に出力する。または、D/A変換部４３は、非圧縮のオーディオデータをD/A変換し、アナログオーディオ信号インターフェース５５は、アナログ信号を外部に出力し、D/A変換部４４は、非圧縮のビデオデータをD/A変換し、アナログビデオ信号インターフェース５６は、アナログ信号を外部に出力する。
【０３３８】
そして、再生するべき次のPlayItemがあるか否かが判断され、次のPlayItemがあると判断された場合、処理は、ステップＳ１５４に戻り、それ以降の処理が繰り返される。次のPlayItemがないと判断された場合、再生終了であるか否かが判断され、再生終了ではないと判断された場合、処理は、ステップＳ１５２に戻り、それ以降の処理が繰り返され、再生終了であると判断された場合、処理は、終了される。
【０３３９】
このような処理により、再生装置２０−１は、PlayItemに記載されているフラグを参照して、このPlayItemにより参照されるデータにサウンドデータが含まれていない場合は、オーディオストリーム＃１をデコードせずに圧縮符号化されたデータのまま外部に出力するので、必要以上に音質を劣化させることを防止することができる。また、フラグがPlayItemに記載されているので、サウンドデータが含まれているか否かをPlayItemごとに設定することが可能となるので、オーサリングの自由度が更に増す。
【０３４０】
なお、この処理においても、処置の最初において、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断し、その後、フラグを参照して、合成処理が実行されるか否かを判断するものとしているが、例えば、まず、フラグを参照して、合成処理が実行されるか否かを判断し、その後、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断するようにしても、判断する処理の順番が異なるだけで、実質的に同様の処理が実行されるのは言うまでもない。
【０３４１】
次に、本発明を適用した再生装置２０の第２の実施例である、オーディオストリーム＃１およびオーディオストリーム＃２の２つの音声ストリームの再生が可能な再生装置２０−２について説明する。図４１は、本発明を適用した再生装置２０−２の構成例を示すブロック図である。この再生装置２０−２は、上述したメインパスとサブパスを有するPlayListを再生する再生装置２０−２である。再生装置２０−２は、audio_stream_idで与えられるオーディオストリーム＃１に対して、audio_stream_id2で与えられるオーディオストリーム＃２とサウンドデータを合成して再生することができる。
【０３４２】
なお、図３７を用いて説明した再生装置２０-１と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０３４３】
すなわち、再生装置２０−２には、再生装置２０-１と同様にして、再生データ取得部３１、スイッチ３２、オーディオエンコーダ４１、ビデオエンコーダ４２、D/A変換部４３、D/A変換部４４、非圧縮オーディオ信号インターフェース５１、圧縮オーディオ信号インターフェース５２、非圧縮ビデオ信号インターフェース５３、圧縮ビデオ信号インターフェース５４、アナログオーディオ信号インターフェース５５、および、アナログビデオ信号インターフェース５６が設けられ、再生装置２０-１のＡＶデコーダ部３３−１、およびコントローラ３４−１に代わって、ＡＶデコーダ部３３−２、およびコントローラ３４−２が設けられている。
【０３４４】
図４１の例の場合も図３７を用いて説明した場合と同様にして、コントローラ３４−２は、再生データ取得部３１を介してIndexファイルを読み出し、発生されるコマンドに基づいて、PlayListファイルを読み出し、PlayListファイルの情報に基づいて、PlayItemを読み出して、対応するClip（ＡＶストリームやＡＶデータなど）を読み出す。ユーザは、ユーザインターフェースを用いて、コントローラ３４−２に対し、音声や字幕などの切り替えの指令を行うことができる。また、コントローラ３４−２には、再生装置２０の言語設定の初期情報が図示せぬ記憶部などから供給される。
【０３４５】
また、コントローラ３４−２は、Indexファイル,PlayListファイル（AppInfoPlayList()、PlayList()、または、PlayItem）のうちのいずれかに記載される、オーディオストリーム＃１に合成可能なサウンドデータの有無を示すフラグであるis_MixAppまたはis_MixApp_2の値、および、オーディオストリーム＃１に合成可能なオーディオストリーム＃２有無を示すフラグであるis_MixApp_1を基に、スイッチ６１を制御する。
【０３４６】
ＡＶデコーダ部３３−２には、ＡＶデコーダ部３３−１と同様に、バッファ５１乃至５４、PIDフィルタ５５、PIDフィルタ５６、スイッチ５７乃至５８、スイッチ６１、スイッチ１０２、バックグラウンドデコーダ７１、ビデオデコーダ７２、プレゼンテーショングラフィックスデコーダ７３、インタラクティブグラフィックスデコーダ７４、Text-STコンポジション７６、スイッチ７７、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、インタラクティブグラフィックスプレーン生成部９４、バッファ９５、ビデオデータ処理部９６、およびミキシング処理部９７が設けられ、スイッチ５９に代わってスイッチ１０１が設けられ、オーディオデコーダ７５に代わって、１stオーディオデコーダ７５−１が設けられ、新たに、２ndオーディオデコーダ７５−２、およびミキシング処理部１０２が設けられている。
【０３４７】
１stオーディオデコーダ７５−１は、オーディオストリーム＃１をデコードするためのものであり、２ndオーディオデコーダ７５−２は、オーディオストリーム＃２をデコードするためのものである。具体的には、図２５のSTN_table()において、audio_stream_idで与えられるオーディオストリームをデコードするためのものが１stオーディオデコーダ７５−１であり、audio_stream_id2で与えられるオーディオストリームをデコードするためのものが２ndオーディオデコーダ７５−２である。
【０３４８】
このように、再生装置２０−２は、２つのオーディオストリームをデコードするために、２つのオーディオデコーダ（１stオーディオデコーダ７５−１、２ndオーディオデコーダ７５−２）を有している。
【０３４９】
コントローラ３４−２により読み出されたファイルデータは、図示せぬ復調、ＥＣＣ復号部により、復調され、復調された多重化ストリームに誤り訂正が施される。スイッチ３２は、復調され、誤り訂正が施されたデータを、コントローラ３４−２からの制御に基づいて、ストリームの種類ごとに選択し、対応するバッファ５１乃至５４に供給する。
【０３５０】
また、メインClipおよびサブClipに含まれるAV Streamのストリームの形式や、再生データ取得部３１がデータを読み出すときの方法（時分割であっても、プリロードしても良い）は、上述した場合と同様であることは言うまでもない。
【０３５１】
メインClip用リードバッファであるバッファ５２から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５５へ出力される。このPIDフィルタ５５は、入力されたメインClipをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５５は、ビデオストリームをビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを、スイッチ６１と２ndオーディオデコーダ７５−２への供給元となるスイッチ１０１に供給する。
【０３５２】
ここで、スイッチ６１に供給され、圧縮オーディオ信号インターフェース５２から出力されるか、または、１stオーディオデコーダ７５−１へ入力されるオーディオストリームは、メインClipまたはサブClipのどちらかから分離されたストリームである。また、同様に、２ndオーディオデコーダ７５−２へ入力されるオーディオストリームも、メインClipまたはサブClipのどちらかから分離されたストリームである。例えば、メインClipにオーディオストリーム＃１とオーディオストリーム＃２とが含まれていた場合、PIDフィルタ５５は、オーディオストリームのPIDに基づいて、オーディオストリーム＃１とオーディオストリーム＃２とをフィルタリングし、スイッチ１０１に供給する。
【０３５３】
再生装置２０−２においては、ビデオデータ、ビットマップ字幕データ、インタラクティブグラフィックスデータに関しては、再生装置２０-１と同様にして再生処理を行うようになされている。
【０３５４】
スイッチ１０１は、PIDフィルタ５５から供給されたメインClipに含まれるオーディオストリームと、サブClip に含まれるオーディオストリームのうちのいずれか１つを選択し、選択したオーディオストリームを、後段のスイッチ６１、または、２ndオーディオデコーダ７５−２に供給する。
【０３５５】
スイッチ１０１は、例えば、PIDフィルタ５５から供給されたオーディオストリーム＃１を、スイッチ６１に供給するようスイッチを選択し、PIDフィルタ５５から供給されたオーディオストリーム＃２を、２ndオーディオデコーダ７５−２に供給するようスイッチを選択する。
【０３５６】
スイッチ６１は、コントローラ３４−２の制御に基づいて、供給されたオーディオデータを、１stオーディオデコーダ７５−１または圧縮オーディオ信号インターフェース５２のいずれか一方に供給する
【０３５７】
１stオーディオデコーダ７５−１は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部１０２に供給する。また、２ndオーディオデコーダ７５−２は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部１０２に供給する。
【０３５８】
ここで、オーディオストリーム＃１とオーディオストリーム＃２とを重畳して再生するような場合（ユーザにより再生するオーディオストリームとして、２つのオーディオストリームが選択された場合）、１stオーディオデコーダ７５−１によりデコードされたオーディオストリーム＃１と、２ndオーディオデコーダ７５−２によりデコードされたオーディオストリーム＃２とが、ミキシング処理部１０２に供給される。
【０３５９】
ミキシング処理部１０２は、１stオーディオデコーダ７５−１からのオーディオデータと、２ndオーディオデコーダ７５−２からのオーディオデータとをミキシング（重畳）し、後段のミキシング処理部９７に出力する。なお、本実施の形態においては、１stオーディオデコーダ７５−１から出力されるオーディオデータと２ndオーディオデコーダ７５−２から出力されるオーディオデータとをミキシング（重畳）することを、合成するとも称する。すなわち、合成とは、２つのオーディオデータを、ミキシングすることも示すものとする。
【０３６０】
また、スイッチ３２により選択されたサウンドデータは、バッファ９５に供給され、バッファリングされる。バッファ９５は、所定のタイミングでサウンドデータをミキシング処理部９７に供給する。サウンドデータは、この場合、メニュー選択などによる効果音のデータなど、ストリームとは独立して存在する音声データである。ミキシング処理部９７は、ミキシング処理部１０２によりミキシングされたオーディオデータ（１stオーディオデコーダ７５−１から出力されたオーディオデータと２ndオーディオデコーダ７５−２から出力されたオーディオデータとがミキシングされたオーディオデータ）と、バッファ９５から供給されてきたサウンドデータをミキシング（重畳、または合成）し、音声信号として出力する。
【０３６１】
次に、図４２のフローチャートを参照して、オーディオストリーム＃１に合成される他の音声データがあるか否かを示すフラグがIndexファイルのIndexes（）に記載されているデータを再生装置２０-２が再生する場合に実行される、再生処理４について説明する。
【０３６２】
ステップＳ２０１において、コントローラ３４−２は、再生装置２０−２から出力されるのは符号化ストリームであるか否かを判断する。ステップＳ２０１において、再生装置２０−２から出力されるのは符号化ストリームではないと判断された場合、処理は、後述するステップＳ２２４に進む。
【０３６３】
ステップＳ２０１において、再生装置２０−２から出力されるのは符号化ストリームであると判断された場合、ステップＳ２０２において、コントローラ３４−２は、スイッチ３２から供給されるIndexファイルを読み取る。
【０３６４】
ステップＳ２０３において、コントローラ３４−２は、Indexファイルのindexes()に記載されている、メインのオーディオストリームであるオーディオストリーム＃１に合成されるデータが存在することを示すフラグのうちのいずれかが１となっているか否か、具体的には、サウンドデータが存在することを示すフラグis_MixAppまたはis_MixApp_２、もしくは、オーディオストリーム＃２が存在することを示すフラグis_MixApp_1のうちのいずれかが１となっているか否かを判断する。
【０３６５】
audio_stream_idで与えられるオーディオストリーム＃１に加えて、audio_stream_id2で与えられるオーディオストリーム＃２も存在しているコンテンツには、サウンドデータが存在するか否かを示すフラグであるis_MixApp_２に加えて、オーディオストリーム＃２が存在するか否かを示すフラグであるis_MixApp_１が記載されている。再生装置２０−２は、audio_stream_id2で与えられるオーディオストリーム＃２を再生する機能を有しているので、ステップＳ２０３において、is_MixAppまたはis_MixApp_2で示されるフラグの値のみならず、is_MixApp_1で示されるフラグの値を参照するようになされている。
【０３６６】
ステップＳ２０３において、いずれかのフラグが１となっていると判断された場合、処理は、後述するステップＳ２１４に進む。
【０３６７】
ステップＳ２０３において、いずれのフラグも１ではないと判断された場合、このIndexファイルに関連するデータには、再生装置２０−２においてオーディオストリーム＃１に合成することが可能なサウンドデータおよびオーディオストリーム＃２が含まれていないので、ステップＳ２０４において、コントローラ３４−２は、このIndexファイルに関連するオーディオデータを圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２に供給するように、スイッチ６１を制御する。
【０３６８】
ステップＳ２０５において、コントローラ３４−２は、例えば、ユーザの操作入力などによって発生されるコマンドにより、Playlistファイル(例えば、図１３の×××××.mpls)の読み出しが指令されたか否かを判断する。ステップＳ２０５において、Playlistファイルの読み出しが指令されていないと判断された場合、Playlistファイルの読み出しが指令されたと判断されるまで、ステップＳ２０５の処理が繰り返される。
【０３６９】
ステップＳ２０５において、Playlistファイルの読み出しが指令されたと判断された場合、ステップＳ２０６において、コントローラ３４−２は、スイッチ３２から供給されるPlaylistファイルを読み出す。
【０３７０】
ステップＳ２０７において、コントローラ３４−２は、そのPlayListファイルに記載されているPlayList(図１３のPlylist())により指定されるPlayItemを読み出し、対応するメインClip AV Stream、サブClip AV Stream、およびテキストサブタイトルデータを読み出してスイッチ３２に供給する。
【０３７１】
ステップＳ２０８において、コントローラ３４−２は、読み出したデータを対応するバッファに供給してバッファリングする。具体的には、コントローラ３４−２は、バックグラウンドイメージデータをバッファ５１に供給し、メインClip AV Streamのデータをバッファ５２に供給し、サブClip AV Streamのデータをバッファ５３に供給し、Text-STのデータをバッファ５４に供給するようスイッチ３２を切り替える。そして、バッファ５１乃至５４は、供給されたデータをそれぞれバッファリングする。具体的には、バッファ５１は、バックグラウンドイメージデータをバッファリングし、バッファ５２は、メインClip AV Streamのデータをバッファリングし、バッファ５３は、サブClip AV Streamのデータをバッファリングし、バッファ５４は、Text-STデータをバッファリングする。
【０３７２】
ステップＳ２０９において、コントローラ３４−２は、PIDフィルタ５５、５６およびスイッチ６７乃至５９を制御し、映像系データを所定のデコーダでデコードし、ビデオデータ処理部９６にて処理する。
【０３７３】
ステップＳ２１０において、ビデオエンコーダ４２は、ビデオデータ処理部９６から供給された処理済のビデオデータをエンコードする。
【０３７４】
ステップＳ２１１において、圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２は、スイッチ６１から出力される符号化オーディオデータであるオーディオストリーム＃１を外部に出力し、圧縮符号化ビデオ信号の出力端子である圧縮ビデオ信号インターフェース５４は、エンコードされた符号化ビデオデータを外部に出力する。
【０３７５】
すなわち、ステップＳ２１１において圧縮オーディオ信号インターフェース５２から出力される圧縮符号化オーディオデータは、再生装置２０−２のＡＶデコーダ部３３−２において、復号処理が施されていないため、音質が劣化していない。
【０３７６】
ステップＳ２１２において、コントローラ３４−２は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ２１２において、次のPlayItemがあると判断された場合、処理は、ステップＳ２０７に戻り、それ以降の処理が繰り返される。
【０３７７】
ステップＳ２１２において、次のPlayItemがないと判断された場合、ステップＳ２１３において、コントローラ３４−２は、再生終了であるか否かを判断する。ステップＳ２１３において、再生終了ではないと判断された場合、処理は、ステップＳ２０５に戻り、それ以降の処理が繰り返される。ステップＳ２１３において、再生終了であると判断された場合、処理は、終了される。
【０３７８】
ステップＳ２０３において、いずれかのフラグが１となっていると判断された場合、このIndexファイルに関連するデータには、再生装置２０−２においてオーディオストリーム＃１に合成することが可能なサウンドデータまたはオーディオストリーム＃２のうちの少なくとも一方が含まれているので、ステップＳ２１４において、コントローラ３４−２は、このIndexファイルに関連するオーディオストリーム＃１を１ｓｔオーディオデコーダ７５−１に供給するように、スイッチ６１を制御する。
【０３７９】
ステップＳ２１５乃至ステップＳ２１９において、ステップＳ２０５乃至ステップＳ２０９と基本的に同様の処理が実行される。すなわち、PlayListファイルの読み出しが指令されたか否かが判断され、読み出しが指令されたと判断された場合、PlayListファイルが読み出されて、そのPlayListファイルに含まれるPlayListにより指定されるPlayItemが読み出される。そして、読み出されたPlayItemに対応するClipのデータ（AV Stream）が対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。
【０３８０】
ステップＳ２２０において、コントローラ３４−２は、PIDフィルタおよび各スイッチを制御し、バッファ５３にバッファリングされたオーディオストリーム＃１を、スイッチ１０１およびスイッチ６１を介して1stオーディオデコーダ７５−１に供給してデコードさせ、バッファ５３にバッファリングされたオーディオストリーム＃２を、スイッチ１０１を介して2ndオーディオデコーダ７５−２に供給してデコードさせ、ミキシング処理部１０２を制御して、1stオーディオデコーダ７５−１および２ndオーディオデコーダ７５−２においてデコードされたオーディオストリームの合成処理を適宜実行させ、ミキシング処理部９７を制御して、ミキシング処理部１０２により合成されたオーディオストリームとバッファ９５に保持されているサウンドデータとの合成処理を適宜実行させる。
【０３８１】
すなわち、スイッチ６１が制御されて、オーディオストリーム＃１がオーディオデコーダ７５によりデコードされるようになされているので、オーディオストリーム＃１とオーディオストリーム＃２やサウンドデータを合成することが可能となる。
【０３８２】
ステップＳ２２１において、オーディオエンコーダ４１は、合成処理が施された非圧縮のオーディオデータをエンコードし、圧縮オーディオ信号インターフェース５２に供給して外部出力させ、ビデオエンコーダ４２はビデオデータ処理部９６により処理された非圧縮のビデオデータをエンコードして、圧縮ビデオ信号インターフェース５４に供給して外部に出力させる。
【０３８３】
ステップＳ２２２において、コントローラ３４−２は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ２２２において、次のPlayItemがあると判断された場合、処理は、ステップＳ２１７に戻り、それ以降の処理が繰り返される。
【０３８４】
ステップＳ２２２において、次のPlayItemがないと判断された場合、ステップＳ２２３において、コントローラ３４−２は、再生終了であるか否かを判断する。ステップＳ２２３において、再生終了ではないと判断された場合、処理は、ステップＳ２１５に戻り、それ以降の処理が繰り返される。ステップＳ２２３において、再生終了であると判断された場合、処理は、終了される。
【０３８５】
ステップＳ２０１において、出力されるのは符号化ストリームではないと判断された場合、ステップＳ２２４において、コントローラ３４−２は、供給されたオーディオストリーム＃１をオーディオデコーダ７５に供給するように、スイッチ６１を制御する。
【０３８６】
すなわち、出力されるのは符号化ストリームではない場合、オーディオストリーム＃１に合成されるサウンドデータがあるか否かにかかわらず、オーディオストリーム＃１はデコードされる。
【０３８７】
ステップＳ２２５乃至ステップＳ２３０において、ステップＳ２１５乃至ステップＳ２２０と基本的に同様の処理が実行される。すなわち、PlayListファイルの読み出しが指令されたか否かが判断され、読み出しが指令されたと判断された場合、PlayListファイルが読み出されて、そのPlayListファイルに含まれるPlayListにより指定されるPlayItemが読み出される。そして、読み出されたPlayItemに対応するClipのデータ（AV Stream）が対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。そして、PIDフィルタおよび各スイッチが制御され、バッファ５３にバッファリングされたオーディオストリーム＃１がスイッチ１０１およびスイッチ６１を介して1stオーディオデコーダ７５−１に供給されてデコードされ、オーディオストリーム＃２がスイッチ１０１を介して2ndオーディオデコーダ７５−２に供給されてデコードされ、ミキシング処理部１０２を制御して、1stオーディオデコーダ７５−１および２ndオーディオデコーダ７５−２においてデコードされたオーディオストリームが適宜合成され、ミキシング処理部９７を制御して、ミキシング処理部１０２により合成されたオーディオストリームとバッファ９５に保持されているサウンドデータとが適宜合成される。
【０３８８】
ステップＳ２３１において、非圧縮オーディオ信号インターフェース５１は、ミキシング処理部９７から供給された処理済の非圧縮のビデオデータを外部に出力し、非圧縮ビデオ信号インターフェース５３は、ビデオデータ処理部９６から供給された非圧縮のオーディオデータを外部に出力する。または、D/A変換部４３は、非圧縮のオーディオデータをD/A変換し、アナログオーディオ信号インターフェース５５は、アナログ信号を外部に出力し、D/A変換部４４は、非圧縮のビデオデータをD/A変換し、アナログビデオ信号インターフェース５６は、アナログ信号を外部に出力する。
【０３８９】
ステップＳ２３２において、コントローラ３４−２は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ２３２において、次のPlayItemがあると判断された場合、処理は、ステップＳ２２７に戻り、それ以降の処理が繰り返される。
【０３９０】
ステップＳ２３２において、次のPlayItemがないと判断された場合、ステップＳ２３３において、コントローラ３４−２は、再生終了であるか否かを判断する。ステップＳ２３３において、再生終了ではないと判断された場合、処理は、ステップＳ２２５に戻り、それ以降の処理が繰り返される。ステップＳ２３３において、再生終了であると判断された場合、処理は、終了される。
【０３９１】
このような処理により、再生装置２０−２は、IndexファイルのIndexes()に記載されているフラグを参照して、このIndexes()により参照されるデータにサウンドデータまたはオーディオストリーム＃２がいずれも含まれていない場合には、オーディオストリーム＃１をデコードせずに圧縮符号化されたデータのまま外部に出力するので、必要以上に音質を劣化させることを防止することができる。
【０３９２】
なお、この処理においても、処置の最初において、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断し、その後、フラグを参照して、合成処理が実行されるか否かを判断するものとしているが、例えば、まず、フラグを参照して、合成処理が実行されるか否かを判断し、その後、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断するようにしても、判断する処理の順番が異なるだけで、実質的に同様の処理が実行されるのは言うまでもない。
【０３９３】
次に、図４３のフローチャートを参照して、再生装置２０-２において、オーディオストリーム＃１に合成される他の音声データがあるか否かを示すフラグがPlayListファイルに記載されているデータが再生される場合に実行される、再生処理５について説明する。
【０３９４】
ステップＳ２６１において、コントローラ３４−２は、再生装置２０−２から出力されるのは符号化ストリームであるか否かを判断する。ステップＳ２６１において、再生装置２０−２から出力されるのは符号化ストリームではないと判断された場合、処理は、後述するステップＳ２８２に進む。
【０３９５】
ステップＳ２６１において、再生装置２０−２から出力されるのは符号化ストリームであると判断された場合、ステップＳ２６２において、コントローラ３４−２は、スイッチ３２から供給されるIndexファイルを読み取る。
【０３９６】
ステップＳ２６３において、コントローラ３４−２は、例えば、ユーザの操作入力などによって発生されるコマンドにより、Playlistファイル(例えば、図１３の×××××.mpls)の読み出しが指令されたか否かを判断する。ステップＳ２６３において、Playlistファイルの読み出しが指令されていないと判断された場合、Playlistファイルの読み出しが指令されたと判断されるまで、ステップＳ２６３の処理が繰り返される。
【０３９７】
ステップＳ２６３において、Playlistファイルの読み出しが指令されたと判断された場合、ステップＳ２６４において、コントローラ３４−２は、スイッチ３２から供給されるPlaylistファイルを読み出す。
【０３９８】
ステップＳ２６５において、コントローラ３４−２は、Playlistファイルに記載されている、すなわち、AppInfoPlayList()またはPlayList()に記載されている、メインのオーディオストリームであるオーディオストリーム＃１に合成されるデータが存在することを示すフラグのうちのいずれかが１となっているか否か、具体的には、サウンドデータ（もしくは、オーディオストリーム＃２）が存在することを示すフラグis_MixApp、または、サウンドデータが存在することを示すフラグis_MixApp_２、もしくは、オーディオストリーム＃２が存在することを示すフラグis_MixApp_1のうちのいずれかが１となっているか否かを判断する。
【０３９９】
audio_stream_idで与えられるオーディオストリーム＃１に加えて、audio_stream_id2で与えられるオーディオストリーム＃２も存在しているコンテンツには、サウンドデータが存在するか否かを示すフラグであるis_MixApp_２に加えて、オーディオストリーム＃２が存在するか否かを示すフラグであるis_MixApp_１が記載されている。再生装置２０−２は、audio_stream_id2で与えられるオーディオストリーム＃２を再生する機能を有しているので、ステップＳ２６５において、is_MixApp_2で示されるフラグの値のみならず、is_MixApp_1で示されるフラグの値を参照するようになされている。
【０４００】
ステップＳ２６５において、いずれかのフラグが１となっていると判断された場合、処理は、後述するステップＳ２７４に進む。
【０４０１】
ステップＳ２６５において、いずれのフラグも１ではないと判断された場合、このPlayListファイルに関連するデータには、再生装置２０−２においてオーディオストリーム＃１に合成することが可能なサウンドデータおよびオーディオストリーム＃２が含まれていないので、ステップＳ２６６において、コントローラ３４−２は、このPlayListファイルに関連するオーディオデータを圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２に供給するように、スイッチ６１を制御する。
【０４０２】
ステップＳ２６７乃至ステップＳ２７１において、図４２のステップＳ２０７乃至ステップＳ２１１と同様の処理が実行される。すなわち、PlayListにより指定されるPlayItemが読み出されて、対応するメインClipまたはサブClipに含まれるストリームデータ、およびテキストサブタイトルデータが読み出されてスイッチ３２に供給される。読み出されたデータは対応するバッファに供給されてバッファリングされ、PIDフィルタ５５、５６およびスイッチ６７乃至５９が制御されて、映像系データが所定のデコーダでデコードされて、ビデオデータ処理部９６にて処理され、処理済のビデオデータがエンコードされる。
【０４０３】
そして、圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２から、スイッチ６１から出力される符号化オーディオデータであるオーディオストリーム＃１が外部に出力され、圧縮符号化ビデオ信号の出力端子である圧縮ビデオ信号インターフェース５４から、エンコードされた符号化ビデオデータが外部に出力される。
【０４０４】
すなわち、ステップＳ２７１において圧縮オーディオ信号インターフェース５２から出力される圧縮符号化オーディオデータは、再生装置２０−２のＡＶデコーダ部３３−２において、復号処理が施されていないため、音質が劣化していない。
【０４０５】
ステップＳ２７２において、コントローラ３４−２は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ２７２において、次のPlayItemがあると判断された場合、処理は、ステップＳ２６７に戻り、それ以降の処理が繰り返される。
【０４０６】
ステップＳ２７２において、次のPlayItemがないと判断された場合、ステップＳ２７３において、コントローラ３４−２は、再生終了であるか否かを判断する。ステップＳ２７３において、再生終了ではないと判断された場合、処理は、ステップＳ２６３に戻り、それ以降の処理が繰り返される。すなわち、次に読み出されるPlayListファイルに記載されているフラグによって、スイッチ６１の制御が変更される可能性がある。ステップＳ２７３において、再生終了であると判断された場合、処理は、終了される。
【０４０７】
ステップＳ２６５において、いずれかのフラグが１となっていると判断された場合、このPlayListファイルに関連するデータには、再生装置２０−２においてオーディオストリーム＃１に合成することが可能なサウンドデータまたはオーディオストリーム＃２のうちの少なくとも一方が含まれているので、ステップＳ２７４において、コントローラ３４−２は、このPlayListファイルに関連するオーディオストリーム＃１を１stオーディオデコーダ７５−１に供給するように、スイッチ６１を制御する。
【０４０８】
ステップＳ２７５乃至ステップＳ２７９において、図４２のステップＳ２１７乃至ステップＳ２２１と基本的に同様の処理が実行される。すなわち、PlayListにより指定されるPlayItemが読み出され、読み出されたPlayItemを基に、所定のClipに含まれるデータが対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。
【０４０９】
そして、PIDフィルタおよび各スイッチが制御されて、バッファ５３にバッファリングされたオーディオストリーム＃１が、スイッチ１０１およびスイッチ６１を介して1stオーディオデコーダ７５−１に供給されてデコードされ、バッファ５３にバッファリングされたオーディオストリーム＃２が、スイッチ１０１を介して2ndオーディオデコーダ７５−２に供給されてデコードされ、ミキシング処理部１０２が制御されて、1stオーディオデコーダ７５−１および２ndオーディオデコーダ７５−２においてデコードされたオーディオストリームの合成処理が適宜実行され、ミキシング処理部９７が制御されて、ミキシング処理部１０２により合成されたオーディオストリームとバッファ９５に保持されているサウンドデータとの合成処理が適宜実行される。
【０４１０】
すなわち、スイッチ６１が制御されて、オーディオストリーム＃１がオーディオデコーダ７５によりデコードされるようになされているので、オーディオストリーム＃１とオーディオストリーム＃２やサウンドデータを合成することが可能となる。
【０４１１】
そして、オーディオエンコーダ４１により、合成処理が施された非圧縮のオーディオデータがエンコードされて、圧縮オーディオ信号インターフェース５２から外部出力されるとともに、ビデオエンコーダ４２によりビデオデータ処理部９６により処理された非圧縮のビデオデータがエンコードされて、圧縮ビデオ信号インターフェース５４から外部に出力される。
【０４１２】
ステップＳ２８０において、コントローラ３４−２は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ２８０において、次のPlayItemがあると判断された場合、処理は、ステップＳ２７５に戻り、それ以降の処理が繰り返される。
【０４１３】
ステップＳ２８０において、次のPlayItemがないと判断された場合、ステップＳ２８１において、コントローラ３４−２は、再生終了であるか否かを判断する。ステップＳ２８１において、再生終了ではないと判断された場合、処理は、ステップＳ２６３に戻り、それ以降の処理が繰り返される。すなわち、次に読み出されるPlayListファイルに記載されているフラグによって、スイッチ６１の制御が変更される可能性がある。ステップＳ２８１において、再生終了であると判断された場合、処理は、終了される。
【０４１４】
ステップＳ２６１において、出力されるのは符号化ストリームではないと判断された場合、ステップＳ２８２乃至ステップＳ２９１において、図４２のステップＳ２２４乃至ステップＳ２３３と基本的に同様の処理が実行される。
【０４１５】
すなわち、出力されるのは符号化ストリームではない場合、オーディオストリーム＃１に合成されるサウンドデータがあるか否かにかかわらず、オーディオストリーム＃１はデコードされる。
【０４１６】
具体的には、PlayListファイルの読み出しが指令されたか否かが判断され、読み出しが指令されたと判断された場合、PlayListファイルが読み出されて、そのPlayListファイルに記載されているPlayListにより指定されるPlayItemが読み出される。そして、読み出されたPlayItemに対応するClipのデータ（AV Stream）が対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。そして、PIDフィルタおよび各スイッチが制御され、バッファ５３にバッファリングされたオーディオストリーム＃１がスイッチ１０１およびスイッチ６１を介して1stオーディオデコーダ７５−１に供給されてデコードされ、オーディオストリーム＃２がスイッチ１０１を介して2ndオーディオデコーダ７５−２に供給されてデコードされ、ミキシング処理部１０２を制御して、1stオーディオデコーダ７５−１および２ndオーディオデコーダ７５−２においてデコードされたオーディオストリームが適宜合成され、ミキシング処理部９７を制御して、ミキシング処理部１０２により合成されたオーディオストリームとバッファ９５に保持されているサウンドデータとが適宜合成される。そして、ミキシング処理部９７から供給された処理済の非圧縮のオーディオデータがそのまま、または、必要に応じてD/A変換されて外部に出力され、ビデオデータ処理部９６から供給された非圧縮のビデオデータがそのまま、または、必要に応じてD/A変換されて外部に出力される。
【０４１７】
そして、PlayListが参照されて、再生するべき次のPlayItemがあるか否かが判断され、次のPlayItemがあると判断された場合、処理は、ステップＳ２８５に戻り、それ以降の処理が繰り返される。次のPlayItemがないと判断された場合、再生終了であるか否かが判断されて、再生終了ではないと判断された場合、処理は、ステップＳ２８３に戻り、それ以降の処理が繰り返される。再生終了であると判断された場合、処理は、終了される。
【０４１８】
このような処理により、再生装置２０−２は、PlayListファイルに記載されているフラグを参照して、このPlayListファイルにより参照されるデータにサウンドデータまたはオーディオストリーム＃２がいずれも含まれていない場合には、オーディオストリーム＃１をデコードせずに圧縮符号化されたデータのまま外部に出力するので、必要以上に音質を劣化させることを防止することができる。
【０４１９】
また、サウンドデータとして提供される音声データのうち、例えば、ボタンのクリック音等は、ユーザの操作に従って発生する効果音であり、この場合には、オーディオストリーム＃１と合成するか、合成をしなくとも良いかは不明である。従って、上述した再生処理のフローでは、サウンドデータまたはオーディオストリームが存在するか否かを表すフラグとして、is_MixApp、is_MixApp_1、is_MixApp_2を説明したが、フラグが示すデータは合成のためにデコードする可能性が無いことを示すフラグであればよい。すなわち、フラグが１の場合であっても、必ずしも合成処理が発生するとは限らず、合成処理が発生しない場合もありえる。ただし、合成処理が発生し得ない場合にフラグが0にセットされる。また、Indexes()は、PlayListファイルを複数指定することができるため、フラグをPlaylistに記載することにより、サウンドデータが含まれているか否かをPlayListごとに設定することが可能となるので、Indexes()にフラグ情報を記載するよりも柔軟に制御の設定が可能となるとともに、オーサリングの自由度が増す。
【０４２０】
なお、この処理においても、処置の最初において、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断し、その後、フラグを参照して、合成処理が実行されるか否かを判断するものとしているが、例えば、まず、フラグを参照して、合成処理が実行されるか否かを判断し、その後、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断するようにしても、判断する処理の順番が異なるだけで、実質的に同様の処理が実行されるのは言うまでもない。
【０４２１】
次に、図４４のフローチャートを参照して、オーディオストリーム＃１に合成される他の音声データがあるか否かを示すフラグがPlayItemに記載されているデータを再生装置２０-２が再生する場合に実行される、再生処理６について説明する。
【０４２２】
ステップＳ３３１において、コントローラ３４−２は、再生装置２０−２から出力されるのは符号化ストリームであるか否かを判断する。ステップＳ３３１において、再生装置２０−２から出力されるのは符号化ストリームではないと判断された場合、処理は、後述するステップＳ３５１に進む。
【０４２３】
ステップＳ３３１において、再生装置２０−２から出力されるのは符号化ストリームであると判断された場合、ステップＳ３３２において、コントローラ３４−２は、スイッチ３２から供給されるIndexファイルを読み取る。
【０４２４】
ステップＳ３３３において、コントローラ３４−２は、例えば、ユーザの操作入力などによって発生されるコマンドにより、Playlistファイル(例えば、図１３の×××××.mpls)の読み出しが指令されたか否かを判断する。ステップＳ３３３において、Playlistファイルの読み出しが指令されていないと判断された場合、Playlistファイルの読み出しが指令されたと判断されるまで、ステップＳ３３３の処理が繰り返される。
【０４２５】
ステップＳ３３３において、Playlistファイルの読み出しが指令されたと判断された場合、ステップＳ３３４において、コントローラ３４−２は、スイッチ３２から供給されるPlaylistファイルを読み出す。
【０４２６】
ステップＳ３３５において、コントローラ３４−２は、そのPlayListファイルに記載されているPlayList(図１３のPlylist())により指定されるPlayItemを読み出し、対応するメインClip AV Stream、サブClip AV Stream、およびテキストサブタイトルデータが読み出されてスイッチ３２に供給する。
【０４２７】
ステップＳ３３６において、コントローラ３４−２は、PlayItemに記載されている、メインのオーディオストリームであるオーディオストリーム＃１に合成されるデータが存在することを示すフラグのうちのいずれかが１となっているか否か、具体的には、サウンドデータが存在することを示すフラグis_MixAppまたはis_MixApp_２、もしくは、オーディオストリーム＃２が存在することを示すフラグis_MixApp_1のうちのいずれかが１となっているか否かを判断する。
【０４２８】
audio_stream_idで与えられるオーディオストリーム＃１に加えて、audio_stream_id2で与えられるオーディオストリーム＃２も存在しているコンテンツには、サウンドデータが存在するか否かを示すフラグであるis_MixApp_２に加えて、オーディオストリーム＃２が存在するか否かを示すフラグであるis_MixApp_１が記載されている。再生装置２０−２は、audio_stream_id2で与えられるオーディオストリーム＃２を再生する機能を有しているので、ステップＳ２６５において、is_MixAppまたはis_MixApp_2で示されるフラグの値のみならず、is_MixApp_1で示されるフラグの値を参照するようになされている。
【０４２９】
ステップＳ３３６において、いずれかのフラグが１となっていると判断された場合、処理は、後述するステップＳ３４４に進む。
【０４３０】
ステップＳ３３６において、いずれのフラグも１ではないと判断された場合、このPlayItemに関連するオーディオデータには、再生装置２０−２においてオーディオストリーム＃１に合成することが可能なサウンドデータおよびオーディオストリーム＃２が含まれていないので、ステップＳ３３７において、コントローラ３４−２は、このPlayItemに関連するオーディオデータを圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２に供給するように、スイッチ６１を制御する。
【０４３１】
ステップＳ２３３８乃至ステップＳ３４１において、図４２のステップＳ２０８乃至ステップＳ２１１と同様の処理が実行される。すなわち、読み出されたデータが対応するバッファに供給されてバッファリングされ、PIDフィルタ５５、５６およびスイッチ６７乃至５９が制御されて、映像系データが所定のデコーダでデコードされて、ビデオデータ処理部９６にて処理され、処理済のビデオデータがエンコードされる。
【０４３２】
そして、圧縮符号化オーディオ信号の出力端子である圧縮オーディオ信号インターフェース５２から、スイッチ６１から出力される符号化オーディオデータであるオーディオストリーム＃１が外部に出力され、圧縮符号化ビデオ信号の出力端子である圧縮ビデオ信号インターフェース５４から、エンコードされた符号化ビデオデータが外部に出力される。
【０４３３】
すなわち、ステップＳ３４１において圧縮オーディオ信号インターフェース５２から出力される圧縮符号化オーディオデータは、再生装置２０−２のＡＶデコーダ部３３−２において、復号処理が施されていないため、音質が劣化していない。
【０４３４】
ステップＳ３４２において、コントローラ３４−２は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ３４２において、次のPlayItemがあると判断された場合、処理は、ステップＳ３３５に戻り、それ以降の処理が繰り返される。すなわち、次に読み出されるPlayItemに記載されているフラグによって、スイッチ６１の制御が変更される可能性がある。
【０４３５】
ステップＳ３４２において、次のPlayItemがないと判断された場合、ステップＳ３４３において、コントローラ３４−２は、再生終了であるか否かを判断する。ステップＳ３４３において、再生終了ではないと判断された場合、処理は、ステップＳ３３３に戻り、それ以降の処理が繰り返される。ステップＳ３４３において、再生終了であると判断された場合、処理は、終了される。
【０４３６】
ステップＳ３３６において、いずれかのフラグが１となっていると判断された場合、このPlayItemに関連するオーディオデータには、再生装置２０−２においてオーディオストリーム＃１に合成することが可能なサウンドデータまたはオーディオストリーム＃２のうちの少なくとも一方が含まれているので、ステップＳ３４４において、コントローラ３４−２は、このPlayListファイルに関連するオーディオストリーム＃１を１stオーディオデコーダ７５−１に供給するように、スイッチ６１を制御する。
【０４３７】
ステップＳ３４３５乃至ステップＳ３４８において、図４２のステップＳ２１８乃至ステップＳ２２１と基本的に同様の処理が実行される。すなわち、PlayItemに対応するClipのデータが対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。
【０４３８】
そして、PIDフィルタおよび各スイッチが制御されて、バッファ５３にバッファリングされたオーディオストリーム＃１が、スイッチ１０１およびスイッチ６１を介して1stオーディオデコーダ７５−１に供給されてデコードされ、バッファ５３にバッファリングされたオーディオストリーム＃２が、スイッチ１０１を介して2ndオーディオデコーダ７５−２に供給されてデコードされ、ミキシング処理部１０２が制御されて、1stオーディオデコーダ７５−１および２ndオーディオデコーダ７５−２においてデコードされたオーディオストリームの合成処理が適宜実行され、ミキシング処理部９７が制御されて、ミキシング処理部１０２により合成されたオーディオストリームとバッファ９５に保持されているサウンドデータとの合成処理が適宜実行される。
【０４３９】
すなわち、スイッチ６１が制御されて、オーディオストリーム＃１がオーディオデコーダ７５によりデコードされるようになされているので、オーディオストリーム＃１とオーディオストリーム＃２やサウンドデータを合成することが可能となる。
【０４４０】
そして、オーディオエンコーダ４１により、合成処理が施された非圧縮のオーディオデータがエンコードされて、圧縮オーディオ信号インターフェース５２から外部出力されるとともに、ビデオエンコーダ４２によりビデオデータ処理部９６により処理された非圧縮のビデオデータがエンコードされて、圧縮ビデオ信号インターフェース５４から外部に出力される。
【０４４１】
ステップＳ３４９において、コントローラ３４−２は、PlayListを参照し、再生するべき次のPlayItemがあるか否かを判断する。ステップＳ３４９において、次のPlayItemがあると判断された場合、処理は、ステップＳ３３５に戻り、それ以降の処理が繰り返される。すなわち、次に読み出されるPlayItemに記載されているフラグによって、スイッチ６１の制御が変更される可能性がある。
【０４４２】
ステップＳ３４９において、次のPlayItemがないと判断された場合、ステップＳ３５０において、コントローラ３４−２は、再生終了であるか否かを判断する。ステップＳ３５０において、再生終了ではないと判断された場合、処理は、ステップＳ３３３に戻り、それ以降の処理が繰り返される。ステップＳ３５０において、再生終了であると判断された場合、処理は、終了される。
【０４４３】
ステップＳ３３１において、出力されるのは符号化ストリームではないと判断された場合、ステップＳ３５１乃至ステップＳ３６０において、図４２のステップＳ２２４乃至ステップＳ２３３と基本的に同様の処理が実行される。
【０４４４】
すなわち、出力されるのは符号化ストリームではない場合、オーディオストリーム＃１に合成されるサウンドデータがあるか否かにかかわらず、オーディオストリーム＃１はデコードされる。
【０４４５】
具体的には、PlayListファイルの読み出しが指令されたか否かが判断され、読み出しが指令されたと判断された場合、PlayListファイルが読み出されて、そのPlayListファイルに記載されているPlayListにより指定されるPlayItemが読み出される。そして、読み出されたPlayItemに対応するClipのデータ（AV Stream）が対応するバッファに供給されてバッファリングされ、PIDフィルタおよび各スイッチが制御されて、バッファリングされた映像系データがそれぞれ所定のデコーダにてデコードされて、ビデオデータ処理部９６において処理される。そして、PIDフィルタおよび各スイッチが制御され、バッファ５３にバッファリングされたオーディオストリーム＃１がスイッチ１０１およびスイッチ６１を介して1stオーディオデコーダ７５−１に供給されてデコードされ、オーディオストリーム＃２がスイッチ１０１を介して2ndオーディオデコーダ７５−２に供給されてデコードされ、ミキシング処理部１０２を制御して、1stオーディオデコーダ７５−１および２ndオーディオデコーダ７５−２においてデコードされたオーディオストリームが適宜合成され、ミキシング処理部９７を制御して、ミキシング処理部１０２により合成されたオーディオストリームとバッファ９５に保持されているサウンドデータとが適宜合成される。そして、ミキシング処理部９７から供給された処理済の非圧縮のオーディオデータがそのまま、または、必要に応じてD/A変換されて外部に出力され、ビデオデータ処理部９６から供給された非圧縮のビデオデータがそのまま、または、必要に応じてD/A変換されて外部に出力される。
【０４４６】
そして、PlayListが参照されて、再生するべき次のPlayItemがあるか否かが判断され、次のPlayItemがあると判断された場合、処理は、ステップＳ２８５に戻り、それ以降の処理が繰り返される。次のPlayItemがないと判断された場合、再生終了であるか否かが判断されて、再生終了ではないと判断された場合、処理は、ステップＳ２８３に戻り、それ以降の処理が繰り返される。再生終了であると判断された場合、処理は、終了される。
【０４４７】
このような処理により、再生装置２０−２は、PlayItemに記載されているフラグを参照して、このPlayItemにより参照されるデータにサウンドデータまたはオーディオストリーム＃２がいずれもが含まれていない場合は、オーディオストリーム＃１をデコードせずに圧縮符号化されたデータのまま外部に出力するので、必要以上に音質を劣化させることを防止することができる。また、フラグの情報をPlayItemに記載することにより、サウンドデータが含まれているか否かをPlayItemごとに設定することが可能となるので、オーサリングの自由度が更に増す。
【０４４８】
なお、このように、PlayItemにフラグ情報が記載されている場合には、より柔軟な制御が可能となるが、一方では、１つのPlayListでシームレス再生を保障しつつ、PlayItemで再エンコードのＯＮ、ＯＦＦを切り換えるとすると、実装上、再生装置の負担が大きくなる。したがって、実装上の条件によっては、フラグ情報は、PlayListファイル単位で記録することが望ましい場合がある。
【０４４９】
なお、この処理においても、処置の最初において、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断し、その後、フラグを参照して、合成処理が実行されるか否かを判断するものとしているが、例えば、まず、フラグを参照して、合成処理が実行されるか否かを判断し、その後、出力される信号が圧縮符号化データであるか非圧縮のデータであるかを判断するようにしても、判断する処理の順番が異なるだけで、実質的に同様の処理が実行されるのは言うまでもない。
【０４５０】
以上においては、音声データの合成において、合成処理が行われるか否かを判断し、それを基に、主となる音声データのデコード処理を行う場合と行わない場合とのそれぞれにおいて実行される処理について説明したが、同様の処理は、音声データの合成に関する場合のみならず、ビデオデータの合成においても、適用可能である。
【０４５１】
すなわち、例えば、主な映像データ、すなわち、ビデオデコーダ７２においてデコードされるビデオデータに対して合成される、バックグラウンドプレーン、プレゼンテーショングラフィックプレーン、インタラクティブグラフィックプレーンがストリーム中に存在するか否かを示すフラグを、上述した場合と同様に、Indexes、PlayListまたはPlayItemのいずれかに記載する。図４５に示される再生装置２０−３のAVデコーダ部３３−３は、更にスイッチ１５１を設け、スイッチ１５１は、PIDフィルタ５５から供給された主な映像データを、コントローラ３４−３の制御に基づいて、ビデオデコーダ７２、または、圧縮ビデオ信号インターフェース５４のいずれかに供給する。これにより、主な映像データが圧縮符号化データとして出力され、かつ、主な映像データに対して、バックグラウンドプレーン、プレゼンテーショングラフィックプレーン、インタラクティブグラフィックプレーンがいずれも合成されないとき、主な映像データをデコードすることなく出力することができるので、不必要な画像の劣化を防止することが可能となる。
【０４５２】
次に、図４６および図４７を参照して、再生装置２０において再生可能なデータが記録された記録媒体２１の製造方法について、記録媒体２１がディスク状の記録媒体だった場合を例として説明する。
【０４５３】
即ち、図４６に示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
【０４５４】
そして、図４７に示すように、ソフト製作処理部において、符号化装置（ビデオエンコーダ）で符号化された、再生装置２０において再生可能な形式のビデオデータが、一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが、一時バッファに記憶されるとともに、更に、データエンコーダで符号化された、ストリーム以外のデータ（例えば、Indexes、Playlist、PlayItemなど）が一時バッファに記憶される。それぞれのバッファに記憶されたビデオデータ、オーディオデータ、および、ストリーム以外のデータは、多重化器（ＭＰＸ）で同期信号と共に多重化され、誤り訂正符号回路（ＥＣＣ）でエラー訂正用のコードが付加される。そして、変調回路（ＭＯＤ）で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、再生装置２０において再生可能な記録媒体２１に記録されるソフトウェアが製作される。
【０４５５】
このソフトウェアを必要に応じて編集（プリマスタリング）し、光ディスクに記録すべきフォーマットの信号が生成される。そして、図４６に示すように、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
【０４５６】
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳等の処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
【０４５７】
この成形用金型に、例えばインジェクションなどによりＰＭＭＡ（アクリル）またはＰＣ（ポリカーボネート）などの材料を注入し、固定化させる。あるいは、金属スタンパ上に２Ｐ（紫外線硬化樹脂）などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
【０４５８】
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
【０４５９】
その後、このディスクに対して内外径の加工が施され、２枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして再生装置２０によって再生可能なデータが記録された記録媒体２１が完成する。
【０４６０】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した処理は、図４８に示されるようなパーソナルコンピュータ５００により実行される。
【０４６１】
図４８において、CPU（Central Processing Unit）５０１は、ROM(Read Only Memory)５０２に記憶されているプログラム、または、記憶部５０８からRAM(Random Access Memory)５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【０４６２】
CPU５０１、ROM５０２、およびRAM５０３は、内部バス５０４を介して相互に接続されている。この内部バス５０４にはまた、入出力インターフェース５０５も接続されている。
【０４６３】
入出力インターフェース５０５には、キーボード、マウスなどよりなる入力部５０６、CRT，LCDなどよりなるディスプレイ、スピーカなどよりなる出力部５０７、ハードディスクなどより構成される記憶部５０８、並びに、モデム、ターミナルアダプタなどより構成される通信部５０９が接続されている。通信部５０９は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
【０４６４】
入出力インターフェース５０５にはまた、必要に応じてドライブ５１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア５２１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部５０８にインストールされる。
【０４６５】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークやプログラム格納媒体からインストールされる。
【０４６６】
このプログラム格納媒体は、図４８に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア５２１よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM５０２や記憶部５０８が含まれるハードディスクなどで構成される。
【０４６７】
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０４６８】
また、ドライブ５１０は、装着されたリムーバブルメディア５２１に記録されたデータを読み出すことができるのみならず、装着されたリムーバブルメディア５２１にデータを記録することができる。そして、パーソナルコンピュータ５００が、図４７を用いて説明したソフト製作処理部と同様の機能を有する（例えば、ＣＰＵ５０１を用いて、ソフト製作処理部と同様の機能を実現するためのプログラムを実行する）ことが可能であるのは言うまでもない。
【０４６９】
すなわち、パーソナルコンピュータ５００は、図４７を用いて説明したソフト制作処理部により生成されたデータと同様のデータを、ＣＰＵ５０１の処理により生成するか、または、外部の装置で生成された図４７を用いて説明したソフト制作処理部により生成されたデータと同様のデータを、通信部５０９またはドライブ５１０に装着されたリムーバブルメディア５２１を介して取得することができる。そして、パーソナルコンピュータ５００は、生成または取得された図４７を用いて説明したソフト制作処理部により生成されたデータと同様のデータを、ドライブ５１０に装着されたリムーバブルメディア５２１に記録する記録装置としての機能を実現することができる。
【０４７０】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０４７１】
【図１】従来の音声合成を説明する図である。
【図２】本発明を適用した再生装置について説明するための図である。
【図３】本発明を適用した再生装置に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。
【図４】インデックステーブルとナビゲーションオブジェクトについて説明する図である。
【図５】メインパスとサブパスの構造を説明する図である。
【図６】メインパスとサブパスの例を説明する図である。
【図７】メインパスとサブパスの別の例を説明する図である。
【図８】再生装置で再生可能なデータのデータ構成例を説明する図である。
【図９】index.bdmvのシンタクスを示す図である。
【図１０】indexesシンタクスを示す図である。
【図１１】indexesシンタクスを示す図である。
【図１２】indexesシンタクスを示す図である。
【図１３】PlayListファイルのデータ構造ついて説明するための図である。
【図１４】AppInfoPlayList()のシンタクスについて説明するための図である。
【図１５】AppInfoPlayList()のシンタクスについて説明するための図である。
【図１６】PlayList()のシンタクスを示す図である。
【図１７】PlayList()のシンタクスを示す図である。
【図１８】PlayList()のシンタクスを示す図である。
【図１９】SubPath()のシンタクスを示す図である。
【図２０】SubPath_typeを説明する図である。
【図２１】SubPlayItem(i)のシンタクスを示す図である。
【図２２】PlayItem()のシンタクスを示す図である。
【図２３】PlayItem()のシンタクスを示す図である。
【図２４】PlayItem()のシンタクスを示す図である。
【図２５】STN_table()のシンタクスを示す図である。
【図２６】stream_entry()のシンタクスを示す図である。
【図２７】stream_attribute()のシンタクスを示す図である。
【図２８】stream_cording_typeを説明する図である。
【図２９】video_formatを説明する図である。
【図３０】frame_rateを説明する図である。
【図３１】aspect_ratioを説明する図である。
【図３２】audio_presentation_typeを説明する図である。
【図３３】sampling_frequencyを説明する図である。
【図３４】Character codeを説明する図である。
【図３５】ユーザに提供する音声信号と字幕信号の関係を表すストリームナンバーテーブルの例を説明する図である。
【図３６】sound.bdmvのシンタクスを示す図である。
【図３７】本発明を適用した再生装置の第１の構成例を示すブロック図である。
【図３８】再生処理１を説明するためのフローチャートである。
【図３９】再生処理２を説明するためのフローチャートである。
【図４０】再生処理３を説明するためのフローチャートである。
【図４１】本発明を適用した再生装置の第２の構成例を示すブロック図である。
【図４２】再生処理４を説明するためのフローチャートである。
【図４３】再生処理５を説明するためのフローチャートである。
【図４４】再生処理６を説明するためのフローチャートである。
【図４５】本発明を適用した再生装置の第３の構成例を示すブロック図である。
【図４６】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【図４７】再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。
【図４８】パーソナルコンピュータの構成を示す図である。
【符号の説明】
【０４７２】
２０  再生装置，  ３１  再生データ取得部，  ３２  スイッチ，  ３３  ＡＶデコーダ部，  ３４  コントローラ，  ５１乃至５４  バッファ，  ５５，５６  PIDフィルタ，  ５７乃至５９  スイッチ，  ７１  バックグラウンドデコーダ，  ７２  ビデオデコーダ，  ７３  プレゼンテーショングラフィックスデコーダ，  ７４  インタラクティブグラフィックスデコーダ，  ７５  オーディオデコーダ，  ７６  Text-STコンポジション，  ７７  スイッチ，  ９１  バックグラウンドプレーン生成部，  ９２  ビデオプレーン生成部，  ９３  プレゼンテーショングラフィックスプレーン生成部，  ９４  インタラクティブグラフィックスプレーン生成部，  ９５  バッファ  ９６  ビデオデータ処理部，  ９７  ミキシング処理部，  １０１  ミキシング処理部
【図１】
2008287869.tif 000003
【図２】
2008287869.tif 000004
【図３】
2008287869.tif 000005
【図４】
2008287869.tif 000006
【図５】
2008287869.tif 000007
【図６】
2008287869.tif 000008
【図７】
2008287869.tif 000009
【図８】
2008287869.tif 000010
【図９】
2008287869.tif 000011
【図１０】
2008287869.tif 000012
【図１１】
2008287869.tif 000013
【図１２】
2008287869.tif 000014
【図１３】
2008287869.tif 000015
【図１４】
2008287869.tif 000016
【図１５】
2008287869.tif 000017
【図１６】
2008287869.tif 000018
【図１７】
2008287869.tif 000019
【図１８】
2008287869.tif 000020
【図１９】
2008287869.tif 000021
【図２０】
2008287869.tif 000022
【図２１】
2008287869.tif 000023
【図２２】
2008287869.tif 000024
【図２３】
2008287869.tif 000025
【図２４】
2008287869.tif 000026
【図２５】
2008287869.tif 000027
【図２６】
2008287869.tif 000028
【図２７】
2008287869.tif 000029
【図２８】
2008287869.tif 000030
【図２９】
2008287869.tif 000031
【図３０】
2008287869.tif 000032
【図３１】
2008287869.tif 000033
【図３２】
2008287869.tif 000034
【図３３】
2008287869.tif 000035
【図３４】
2008287869.tif 000036
【図３５】
2008287869.tif 000037
【図３６】
2008287869.tif 000038
【図３７】
2008287869.tif 000039
【図３８】
2008287869.tif 000040
【図３９】
2008287869.tif 000041
【図４０】
2008287869.tif 000042
【図４１】
2008287869.tif 000043
【図４２】
2008287869.tif 000044
【図４３】
2008287869.tif 000045
【図４４】
2008287869.tif 000046
【図４５】
2008287869.tif 000047
【図４６】
2008287869.tif 000048
【図４７】
2008287869.tif 000049
【図４８】
2008287869.tif 000050
【手続補正書】
【提出日】平成20年7月24日(2008.7.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データを取得できる再生データ取得手段と、
前記再生データ取得手段により取得された前記再生制御情報ファイルに基づき、前記ストリームデータをデコードするデコード手段と、
前記合成用データを、前記デコード手段によりデコードされた前記ストリームデータと合成する合成手段と、
前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段と、
前記再生データ取得手段により取得された前記再生データに含まれる前記ストリームデータを前記デコード手段に供給するか、出力するかを選択する選択手段と、
前記選択手段を制御する制御手段と
を備え、
前記制御手段は、
前記再生データ取得手段により取得される前記再生データに含まれる前記再生制御情報ファイルから、前記合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報を取得し、
前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データ取得手段により取得された前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データ取得手段により取得された前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記符号化手段を介して出力するように、前記選択手段を制御する
再生装置。
【請求項２】
前記符号化されたストリームデータは、音声データである
請求項１に記載の再生装置。
【請求項３】
前記合成用データは、ユーザ操作に基づき発生されるクリック音データ、または効果音データである
請求項２に記載の再生装置。
【請求項４】
前記合成手段は、前記ユーザ操作に基づきクリック音、又は効果音が発生された場合、少なくとも前記音声データと前記クリック音データ又は効果音データを合成し、
前記符号化手段は、合成された音声データおよびクリック音データ又は効果音データを符号化する
請求項３に記載の再生装置。
【請求項５】
前記合成用データは、ユーザ操作に基づき切り替えられる副音声データである
請求項２に記載の再生装置。
【請求項６】
前記合成手段は、前記副音声データが選択された場合、前記音声データと前記副音声データを合成する
請求項５に記載の再生装置。
【請求項７】
符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、
前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情
報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データを取得し、
前記合成用データを、前記再生制御情報ファイルに基づき前記ストリームデータをデコードするデコード手段によりデコードされた前記ストリームデータと合成する合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報を、前記再生データに含まれる前記再生制御情報ファイルから取得し、
前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段を介して出力するように制御する
ステップを含む再生方法。
【請求項８】
符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データを取得し、
前記合成用データを、前記再生制御情報ファイルに基づき前記ストリームデータをデコードするデコード手段によりデコードされた前記ストリームデータと合成する合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報を、前記再生データに含まれる前記再生制御情報ファイルから取得し、
前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段を介して出力するように制御する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項９】
再生装置において再生されるデータであって、
少なくとも音声データのストリームを含むストリームデータの再生区間および再生順序を前記再生装置が管理するための再生制御情報ファイルを含み、
前記再生制御情報ファイルが、前記音声データのストリームデータとは異なるデータであって、前記音声データのストリームに合成するための合成用データの合成が前記再生装置において行われ得るか、行われないかを示すフラグ情報を含むデータ構造を有し、
前記フラグ情報を含む再生制御ファイルを取得した前記再生装置において、前記フラグ情報に基づいて前記合成用データの合成が行われ得ると判別され、かつ、前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記ストリームデータをデコードするとともに、符号化して出力するように制御されるために用いられる
データ。
【請求項１０】
再生装置において再生されるデータが記録された記録媒体であって、
前記データは、少なくとも音声データのストリームを含むストリームデータの再生区間および再生順序を前記再生装置が管理するための再生制御情報ファイルを含み、
前記再生制御情報ファイルが、前記音声データのストリームデータとは異なるデータであって、前記音声データのストリームに合成するための合成用データの合成が前記再生装置において行われ得るか、行われないかを示すフラグ情報を含むデータ構造を有し、
前記フラグ情報を含む再生制御ファイルを取得した前記再生装置において、前記フラグ情報に基づいて前記合成用データの合成が行われ得ると判別され、かつ、前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記ストリームデータをデコードするとともに、符号化して出力するように制御されるために用いられるデータが記録された
記録媒体。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、再生装置、再生方法、プログラム、データ、記録媒体に関し、特に、再生される音声データの合成が可能なようになされている場合に用いて好適な、再生装置、再生方法、プログラム、データ、記録媒体に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
本発明の一側面の再生方法またはプログラムは、符号化されたストリームデータと、前記ストリームデータとは異なるデータであって、前記ストリームデータに合成するためのデータである合成用データと、再生区間を示す情報が１つまたは複数含まれている再生制御情報ファイルとを含む再生データを取得し、前記合成用データを、前記再生制御情報ファイルに基づき前記ストリームデータをデコードするデコード手段によりデコードされた前記ストリームデータと合成する合成手段による前記合成用データの合成が行われ得るか、行われないかを示すフラグ情報を、前記再生データに含まれる前記再生制御情報ファイルから取得し、前記フラグ情報に基づいて前記合成手段による前記合成用データの合成が行われ得ると判別され、かつ、前記再生データに含まれる前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記再生データに含まれる前記ストリームデータを前記デコード手段を介するとともに、前記デコード手段によりデコードされた前記ストリームデータ、または、前記合成手段から出力されたデータを符号化する符号化手段を介して出力するように制御するステップを含む。
本発明の一側面のデータまたは記録媒体に記録されたデータは、再生装置において再生されるデータであって、少なくとも音声データのストリームを含むストリームデータの再生区間および再生順序を前記再生装置が管理するための再生制御情報ファイルを含み、前記再生制御情報ファイルが、前記音声データのストリームデータとは異なるデータであって、前記音声データのストリームに合成するための合成用データの合成が前記再生装置において行われ得るか、行われないかを示すフラグ情報を含むデータ構造を有し、前記フラグ情報を含む再生制御ファイルを取得した前記再生装置において、前記フラグ情報に基づいて前記合成用データの合成が行われ得ると判別され、かつ、前記ストリームデータが符号化データとして出力される場合、前記再生制御情報ファイルに含まれる再生区間を示す情報で示された全ての再生区間において、前記ストリームデータをデコードするとともに、符号化して出力するように制御されるために用いられる。