(57)【要約】【課題】音声データの劣化を防止できるようにする。【解決手段】コントローラ３４は、スイッチ４５を適切に制御し、また、再生データ取得部３１によって取得された再生対象の符号化オーディオストリームを解析することで、再符号化の効果の有無を厳密に判定し、再符号化オーディオストリームの外部出力を極力避けるよう制御する。即ち、再符号化の効果がある場合には、ミキシング処理部９７からの音声合成処理後の非圧縮オーディオ信号に対してオーディオエンコーダ４１により再エンコードされた結果得られる再符号化オーディオストリームが外部に出力される。これ以外の場合、ミキシング処理部９７からの音声合成処理後の非圧縮オーディオ信号または、スイッチ１０１からの元の符号化オーディオストリームが外部に出力される。本発明は再生装置に適用できる。【選択図】図３７
2008193604.tif 000002
【特許請求の範囲】
【請求項１】
符号化オーディオストリームを含む再生データを取得する再生データ取得手段と、
前記再生データ取得手段により取得された前記符号化オーディオストリームに対して復号処理を施す復号手段と、
前記復号手段による前記復号処理の結果得られた非圧縮オーディオ信号に対して、それに合成するためのデータである合成用データを合成する合成手段と、
前記合成手段により前記合成用データが合成された前記非圧縮オーディオ信号に対して再符号化処理を施す再符号化手段と、
前記再生データ取得手段により取得された前記再生データに再生対象の前記符号化オーディオストリームが存在し、それに合成させるための前記合成用データが存在し、かつ、ユーザがその合成を許可または指示している第１の場合、前記再符号化手段による前記再符号化処理の結果得られる再符号化オーディオストリームの外部への出力を許可し、それ以外の第２の場合、その再符号化オーディオストリームの外部への出力を禁止する制御手段と
を備える再生装置。
【請求項２】
前記制御手段は、さらに、前記第２の場合、元の前記符号化オーディオストリーム、または、前記合成用データが合成された前記非圧縮オーディオ信号の外部への出力を許可する
請求項１に記載の再生装置。
【請求項３】
前記制御手段は、さらに、再生対象の前記符号化オーディオストリームが有するチャンネル数を判別し、上述した第１の場合であっても、外部との接続伝送路および外部機器が、判別した前記チャンネル数の非圧縮オーディオ信号の伝送または受信に対応している第３の場合には、前記再符号化オーディオストリームの出力を禁止する
請求項１に記載の再生装置。
【請求項４】
前記制御手段は、さらに、前記第１の場合であって前記第３の場合、前記合成用データが合成された前記非圧縮オーディオ信号の外部への出力を許可する
請求項３に記載の再生装置。
【請求項５】
前記制御手段は、前記第１の場合であるか前記第２の場合であるかの判断処理の少なくとも一部として、前記再生データ取得手段により取得された前記再生データに含まれるインタラクティブグラフィックスストリームのデータの解析結果に基づいて、再生対象の前記符号化オーディオストリームに合成させるための前記合成用データが存在するか否かを判断する
請求項１に記載の再生装置。
【請求項６】
前記制御手段は、さらに、前記合成手段により前記非圧縮オーディオ信号に対して前記合成用データが合成された合成部分を認識し、再生対象の前記符号化オーディオストリームのうちの、その合成部分に対応する部分については、前記再符号化オーディオストリームの形態で出力し、それ以外の部分については、元の前記符号化オーディオストリームのままの形態で出力する
請求項１に記載の再生装置。
【請求項７】
前記制御手段の制御に基づいて、前記第１の場合、外部への出力を、前記再符号化オーディオストリームに切り替え、前記第２の場合、外部への出力を、元の前記符号化オーディオストリーム、または、前記合成用データが合成された前記非圧縮オーディオ信号に切り替える切り替え手段
をさらに備える請求項１に記載の再生装置。
【請求項８】
符号化オーディオストリームを含む再生データを取得する再生データ取得手段と、
前記再生データ取得手段により取得された前記符号化オーディオストリームに対して復号処理を施す復号手段と、
前記復号手段による前記復号処理の結果得られた非圧縮オーディオ信号に対して、それに合成するためのデータである合成用データを合成する合成手段と、
前記合成手段により前記合成用データが合成された前記非圧縮オーディオ信号に対して再符号化処理を施す再符号化手段と
を備える再生装置の再生方法において、
前記再生データ取得手段により取得された前記再生データに再生対象の前記符号化オーディオストリームが存在し、それに合成させるための前記合成用データが存在し、かつ、ユーザがその合成を許可または指示している第１の場合、前記再符号化手段による前記再符号化処理の結果得られる再符号化オーディオストリームの外部への出力を許可し、それ以外の第２の場合、その再符号化オーディオストリームの外部への出力を禁止する
ステップを含む再生方法。
【請求項９】
符号化オーディオストリームを含む再生データを取得する再生データ取得手段と、
前記再生データ取得手段により取得された前記符号化オーディオストリームに対して復号処理を施す復号手段と、
前記復号手段による前記復号処理の結果得られた非圧縮オーディオ信号に対して、それに合成するためのデータである合成用データを合成する合成手段と、
前記合成手段により前記合成用データが合成された前記非圧縮オーディオ信号に対して再符号化処理を施す再符号化手段と
を備える再生装置を制御するコンピュータに実行させるプログラムであって、
前記再生データ取得手段により取得された前記再生データに再生対象の前記符号化オーディオストリームが存在し、それに合成させるための前記合成用データが存在し、かつ、ユーザがその合成を許可または指示している第１の場合、前記再符号化手段による前記再符号化処理の結果得られる再符号化オーディオストリームの外部への出力を許可し、それ以外の第２の場合、その再符号化オーディオストリームの外部への出力を禁止する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再生装置および方法並びにプログラムに関し、特に、再生される音声データの合成が可能なようになされている場合に用いて好適な再生装置および方法並びにプログラムに関する。
【背景技術】
【０００２】
異なったコンテンツを同時視聴するために、複数のコンテンツの映像データをデコードした後、非圧縮の画像データを合成して、その後、Ｄ／Ａ変換を実行し、映像出力端子へ出力して、外部の表示装置に表示させる技術がある（例えば、特許文献１）。
【０００３】
【特許文献１】特開２００５−２０２４２号公報
【０００４】
上述した特許文献１のように、ビデオデータを合成するためには、圧縮符号化されたビデオデータをそれぞれ復号し、非圧縮のビデオデータを合成する必要がある。これば、ビデオデータのみならず、オーディオデータであっても同様であり、オーディオデータを合成する場合には、非圧縮のオーディオデータを用いなければならない。
【０００５】
また、出力先の機器が有する機能、または、出力先の機器との接続方法によっては、出力データは、符号化されたデータでなければならない場合がある。
【０００６】
主に出力される音声データに対して、他の音声データが合成され、出力される音声データは、符号化データである場合の処理について、図１を用いて説明する。
【０００７】
第１の音声データ取得部１１は、例えば、光ディスクから読み出されて供給された圧縮符号化された第１の音声データを取得し、復号部１２に供給する。第１の音声データは、そのコンテンツにおいて、常時再生出力される音声データであるものとする。復号部１２は、第１の音声データ取得部１１から供給された、圧縮符号化された第１の音声データを復号し、非圧縮の第１の音声データを、合成部１４に供給する。
【０００８】
第２の音声データ取得部１３は、非圧縮の第２の音声データを取得し、合成部１４に供給する。合成部１４は、第２の音声データ取得部１３から非圧縮の第２の音声データの供給を受け、第２の音声データを、復号部１２から供給された非圧縮の第１の音声データと合成し、合成された音声データを符号化部１５に供給する。
【０００９】
符号化部１５は、供給された音声データを符号化し、デジタルインターフェース１６に供給する。デジタルインターフェースは、供給された符号化データを、所定のネットワークを介して、他の装置などに送出する。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
この非圧縮の第２の音声データは、そのコンテンツに対して用意されている場合と用意されていない場合がある。すなわち、コンテンツによっては、第２の音声データ取得部１３が、非圧縮の第２の音声データを取得しないようになされている場合や、コンテンツの所定の部分のみ、第２の音声データが用意され、第２の音声データ取得部１３が、所定の部分のみの非圧縮の第２の音声データを取得するようになされている場合などがある。合成部１４は、第２の音声データ取得部１３から非圧縮の第２の音声データの供給を受けない場合、復号部１２から供給された非圧縮の第１の音声データを符号化部１５に供給する。
【００１１】
図１を用いて説明した装置において、主に再生出力される第１の音声データに対して、第２の音声データが合成されるコンテンツと合成されないコンテンツの両方を再生出力可能なようになされている場合、または、同一コンテンツの所定の部分のみ、第２の音声データを合成することが可能なようになされている場合、従来では、再生出力する装置において、第２の音声データが合成されるか否か（第２の音声データが存在するか否か）を検出することができなかった。
【００１２】
したがって、第１の音声データは、第２の音声データが合成されないコンテンツ、または、第２の音声データが合成されない部分であっても、第２の音声データが合成される場合と同様に、復号され、再符号化されるようになされていた。そのため、第１の音声データは、常に復号および再符号化のために、音質が劣化してしまう。
【００１３】
本発明はこのような状況に鑑みてなされたものであり、必要に応じて音声データの合成を実現するとともに、音声データの劣化をできるだけ防ぐことができるようにするものである。
【課題を解決するための手段】
【００１４】
本発明の一側面の画像処理装置は、符号化オーディオストリームを含む再生データを取得する再生データ取得手段と、前記再生データ取得手段により取得された前記符号化オーディオストリームに対して復号処理を施す復号手段と、前記復号手段による前記復号処理の結果得られた非圧縮オーディオ信号に対して、それに合成するためのデータである合成用データを合成する合成手段と、前記合成手段により前記合成用データが合成された前記非圧縮オーディオ信号に対して再符号化処理を施す再符号化手段と、前記再生データ取得手段により取得された前記再生データに再生対象の前記符号化オーディオストリームが存在し、それに合成させるための前記合成用データが存在し、かつ、ユーザがその合成を許可または指示している第１の場合、前記再符号化手段による前記再符号化処理の結果得られる再符号化オーディオストリームの外部への出力を許可し、それ以外の第２の場合、その再符号化オーディオストリームの外部への出力を禁止する制御手段とを備える。
【００１５】
前記制御手段は、さらに、前記第２の場合、元の前記符号化オーディオストリーム、または、前記合成用データが合成された前記非圧縮オーディオ信号の外部への出力を許可する。
【００１６】
前記制御手段は、さらに、再生対象の前記符号化オーディオストリームが有するチャンネル数を判別し、上述した第１の場合であっても、外部との接続伝送路および外部機器が、判別した前記チャンネル数の非圧縮オーディオ信号の伝送または受信に対応している第３の場合には、前記再符号化オーディオストリームの出力を禁止する。
【００１７】
前記制御手段は、さらに、前記第１の場合であって前記第３の場合、前記合成用データが合成された前記非圧縮オーディオ信号の外部への出力を許可する。
【００１８】
前記制御手段は、前記第１の場合であるか前記第２の場合であるかの判断処理の少なくとも一部として、前記再生データ取得手段により取得された前記再生データに含まれるインタラクティブグラフィックスストリームのデータの解析結果に基づいて、再生対象の前記符号化オーディオストリームに合成させるための前記合成用データが存在するか否かを判断する。
【００１９】
前記制御手段は、さらに、前記合成手段により前記非圧縮オーディオ信号に対して前記合成用データが合成された合成部分を認識し、再生対象の前記符号化オーディオストリームのうちの、その合成部分に対応する部分については、前記再符号化オーディオストリームの形態で出力し、それ以外の部分については、元の前記符号化オーディオストリームのままの形態で出力する。
【００２０】
前記制御手段の制御に基づいて、前記第１の場合、外部への出力を、前記再符号化オーディオストリームに切り替え、前記第２の場合、外部への出力を、元の前記符号化オーディオストリーム、または、前記合成用データが合成された前記非圧縮オーディオ信号に切り替える切り替え手段をさらに備える。
【００２１】
本発明の一側面の画像処理方法およびプログラムは、上述した本発明の一側面の画像理装置に対応する方法およびプログラムである。
【００２２】
本発明の一側面の画像処理装置および方法、並びにプログラムにおいては、符号化オーディオストリームを含む再生データを取得する再生データ取得手段と、前記再生データ取得手段により取得された前記符号化オーディオストリームに対して復号処理を施す復号手段と、前記復号手段による前記復号処理の結果得られた非圧縮オーディオ信号に対して、それに合成するためのデータである合成用データを合成する合成手段と、前記合成用データが合成された前記非圧縮オーディオ信号に対して再符号化処理を施す再符号化手段とを備える再生装置を対象として、次のような処理が実行される。即ち、前記再生データ取得手段により取得された前記再生データに再生対象の前記符号化オーディオストリームが存在し、それに合成させるための前記合成用データが存在し、かつ、ユーザがその合成を許可または指示している第１の場合、前記再符号化手段による前記再符号化処理の結果得られる再符号化オーディオストリームの外部への出力が許可され、それ以外の第２の場合、その再符号化オーディオストリームの外部への出力を禁止される。
【発明の効果】
【００２３】
以上のごとく、本発明の第１の側面によれば、音声（オーディオ）データを再生することができ、特に、必要に応じて音声データの合成を実現するとともに、再符号化音声データ（再符号化オーディオストリーム）の出力の可否を制御することで、音声データの劣化をできるだけ防ぐことができるようにするものである。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２５】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２６】
本発明の一側面の情報処理装置（例えば図３７の再生装置２０）は、
符号化オーディオストリームを含む再生データを取得する再生データ取得手段（例えば図３７の再生データ取得部３１）と、
前記再生データ取得手段により取得された前記符号化オーディオストリームに対して復号処理を施す復号手段（例えば図３７の1stオーディオデコーダ７５−１）と、
前記復号手段による前記復号処理の結果得られた非圧縮オーディオ信号に対して、それに合成するためのデータである合成用データを合成する合成手段（例えば図３７のミキシング処理部１０２，９７）と、
前記合成手段により前記合成用データが合成された前記非圧縮オーディオ信号に対して再符号化処理を施す再符号化手段（例えば図３７のオーディオエンコーダ４１）と、
前記再生データ取得手段により取得された前記再生データに再生対象の前記符号化オーディオストリームが存在し、それに合成させるための前記合成用データが存在し、かつ、ユーザがその合成を許可または指示している第１の場合、前記再符号化手段による前記再符号化処理の結果得られる再符号化オーディオストリームの外部への出力を許可し、それ以外の第２の場合、その再符号化オーディオストリームの外部への出力を禁止する制御手段（例えば図３８のオーディオ信号再生処理を実行する図３７のコントローラ３４）と
を備える。
【００２７】
前記制御手段は、さらに、前記第２の場合、元の前記符号化オーディオストリーム、または、前記合成用データが合成された前記非圧縮オーディオ信号の外部への出力を許可する（例えば図３８のステップＳ３，Ｓ８，Ｓ１５等の処理を実行する）。
【００２８】
前記制御手段は、さらに、再生対象の前記符号化オーディオストリームが有するチャンネル数を判別し、上述した第１の場合であっても、外部との接続伝送路および外部機器が、判別した前記チャンネル数の非圧縮オーディオ信号の伝送または受信に対応している第３の場合（例えば、図３８のステップＳ１８の処理でＹＥＳであると判定した場合）には、前記再符号化オーディオストリームの出力を禁止する。
【００２９】
前記制御手段は、さらに、前記第１の場合であって前記第３の場合、前記合成用データが合成された前記非圧縮オーディオ信号の外部への出力を許可する（例えば図３８のステップＳ２０の処理を実行する）。
【００３０】
前記制御手段は、前記第１の場合であるか前記第２の場合であるかの判断処理の少なくとも一部として、前記再生データ取得手段により取得された前記再生データに含まれるインタラクティブグラフィックスストリームのデータ（例えば図３７のインタラクティブグラフィックスプレーン生成部９４により生成されるデータ）の解析結果に基づいて、再生対象の前記符号化オーディオストリームに合成させるための前記合成用データが存在するか否かを判断する。
【００３１】
前記制御手段は、さらに、前記合成手段により前記非圧縮オーディオ信号に対して前記合成用データが合成された合成部分を認識し、再生対象の前記符号化オーディオストリームのうちの、その合成部分に対応する部分については、前記再符号化手段による前記再符号化処理の結果得られる前記再符号化オーディオストリームの形態で出力し（例えば図４０の区間２２１として出力し）、それ以外の部分については、前記符号化オーディオストリームのままの形態で出力する（例えば図４０の区間２２０，２２２として出力する）。
【００３２】
前記制御手段の制御に基づいて、前記第１の場合、外部への出力を、前記再符号化オーディオストリームに切り替え、前記第２の場合、外部への出力を、元の前記符号化オーディオストリーム、または、前記合成用データが合成された前記非圧縮オーディオ信号に切り替える切り替え手段（例えば図３７のスイッチ４５）をさらに備える。
【００３３】
本発明の一側面の再生方法は、
符号化オーディオストリームを含む再生データを取得する再生データ取得手段（例えば図３７の再生データ取得部３１）と、
前記再生データ取得手段により取得された前記符号化オーディオストリームに対して復号処理を施す復号手段（例えば図３７の1stオーディオデコーダ７５−１）と、
前記復号手段による前記復号処理の結果得られた非圧縮オーディオ信号に対して、それに合成するためのデータである合成用データを合成する合成手段（例えば図３７のミキシング処理部１０２，９７）と、
前記合成手段により前記合成用データが合成された前記非圧縮オーディオ信号に対して再符号化処理を施す再符号化手段（例えば図３７のオーディオエンコーダ４１）と
を備える再生装置（例えば図３７の再生装置２０）の再生方法において、
前記再生データ取得手段により取得された前記再生データに再生対象の前記符号化オーディオストリームが存在し、それに合成させるための前記合成用データが存在し、かつ、ユーザがその合成を許可または指示している第１の場合、前記再符号化手段による前記再符号化処理の結果得られる再符号化オーディオストリームの外部への出力を許可し、それ以外の第２の場合、その再符号化オーディオストリームの外部への出力を禁止する
ステップ（例えば図３７のコントローラ３４が実行する図３８のオーディオ信号再生処理の各ステップ）を含む。
【００３４】
本発明の一側面のプログラムは、上述した本発明の一側面の情報処理方法に対応するプログラムであって、例えば図４３のコンピュータ５００により実行される。
【００３５】
以下、図を参照して、本発明の実施の形態について説明する。
【００３６】
図２を用いて、本発明を適用した再生装置について説明する。
【００３７】
再生装置２０は、装着された、例えば、光ディスクなどの記録媒体２１に記録されている情報、ネットワーク２２を介して供給された情報、または、自分自身の内部の記録媒体（例えば、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の値、および、オーディオストリーム＃１に合成可能なオーディオストリーム＃２有無を示すフラグであるis_MixApp_1をスイッチ４５の制御に適宜用いる。
【０２４６】
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フィルタ５６、スイッチ５７，５８、バックグラウンドデコーダ７１、ビデオデコーダ７２、プレゼンテーショングラフィックスデコーダ７３、インタラクティブグラフィックスデコーダ７４、1stオーディオデコーダ７５−１、2ndオーディオデコーダ７５−２、Text-STコンポジション７６、スイッチ７７、バックグラウンドプレーン生成部９１、ビデオプレーン生成部９２、プレゼンテーショングラフィックスプレーン生成部９３、インタラクティブグラフィックスプレーン生成部９４、バッファ９５、ビデオデータ処理部９６、ミキシング処理部９７、スイッチ１０１、およびミキシング処理部１０２が設けられている。
【０２４８】
コントローラ３４により読み出されたファイルデータは、図示せぬ復調、ＥＣＣ復号部により復調され、復調された多重化ストリームに誤り訂正が施される。スイッチ３２は、復調され、誤り訂正が施されたデータを、コントローラ３４からの制御に基づいて、ストリームの種類ごとに選択し、対応するバッファ５１乃至５４に供給する。具体的には、スイッチ３２は、コントローラ３４からの制御に基づいて、バックグラウンドイメージデータをバッファ５１に供給し、メイン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フィルタ５５は、ビデオストリームをビデオデコーダ７２に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを、スイッチ４５,1stオーディオデコーダ７５−１,２ndオーディオデコーダ７５−２への供給元となるスイッチ１０１に供給する。
【０２５２】
プレゼンテーショングラフィックスストリームは、例えば、ビットマップの字幕データであり、テキストサブタイトルデータは、例えば、テキスト字幕データである。
【０２５３】
サブClip AV Stream用リードバッファであるバッファ５３から読み出されたストリームデータは、所定のタイミングで、後段のPID（パケットＩＤ）フィルタ５６へ出力される。このPIDフィルタ５６は、入力されたサブClip AV StreamをPID（パケットＩＤ）に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ５６は、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ７３への供給元となるスイッチ５７に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ７４への供給元となるスイッチ５８に供給し、オーディオストリームを、スイッチ４５,1stオーディオデコーダ７５−１,２ndオーディオデコーダ７５−２への供給元となるスイッチ１０１に供給する。
【０２５４】
バックグラウンドイメージデータをバッファリングするバッファ５１から読み出されたデータは、所定のタイミングでバックグラウンドデコーダ７１に供給される。バックグラウンドデコーダ７１は、バックグラウンドイメージデータをデコードし、デコードしたバックグラウンドイメージデータをバックグラウンドプレーン生成部９１に供給する。
【０２５５】
PIDフィルタ５５により振り分けられたビデオストリームは、後段のビデオデコーダ７２に供給される。ビデオデコーダ７２は、ビデオストリームをデコードし、デコードしたビデオデータをビデオプレーン生成部９２へ出力する。
【０２５６】
スイッチ５７は、PIDフィルタ５５から供給されたメインClipに含まれるプレゼンテーショングラフィックスストリームと、サブClip に含まれるプレゼンテーショングラフィックスストリームのうちのいずれか１つを選択し、選択したプレゼンテーショングラフィックスストリームを、後段のプレゼンテーショングラフィックスデコーダ７３に供給する。プレゼンテーショングラフィックスデコーダ７３は、プレゼンテーショングラフィックスストリームをデコードし、デコードしたプレゼンテーショングラフィックスストリームのデータをプレゼンテーショングラフィックスプレーン生成部９３への供給元となるスイッチ７７に供給する。
【０２５７】
また、スイッチ５８は、PIDフィルタ５５から供給されたメインClipに含まれるインタラクティブグラフィックスストリームと、サブClip に含まれるインタラクティブグラフィックスストリームのうちのいずれか１つを選択し、選択したインタラクティブグラフィックスストリームを、後段のインタラクティブグラフィックスストリームデコーダ７４に供給する。すなわち、インタラクティブグラフィックスデコーダ７４へ同時に入力されるインタラクティブグラフィックスストリームは、メインClip AV StreamまたはサブClip AV Streamのどちらかから分離されたストリームである。インタラクティブグラフィックスデコーダ７４は、インタラクティブグラフィックスストリームをデコードし、デコードしたインタラクティブグラフィックスストリームのデータを、インタラクティブグラフィックスプレーン生成部９４に供給する。
【０２５８】
さらに、スイッチ１０１は、PIDフィルタ５５または５６から供給されたメインClipまたはサブClip に含まれる所定の１つのオーディオストリームを選択し、選択したオーディオストリームを、後段のスイッチ４５および1stオーディオデコーダ７５−１、または、２ndオーディオデコーダ７５−２に供給する。
【０２５９】
本実施の形態では例えば、１stオーディオデコーダ７５−１は、オーディオストリーム＃１をデコードするためのものであり、２ndオーディオデコーダ７５−２は、オーディオストリーム＃２をデコードするためのものである。具体的には、図２５のSTN_table()において、audio_stream_idで与えられるオーディオストリームをデコードするためのものが１stオーディオデコーダ７５−１であり、audio_stream_id2で与えられるオーディオストリームをデコードするためのものが２ndオーディオデコーダ７５−２である。
【０２６０】
また、スイッチ４５を介してデジタルオーディオ信号インターフェース１１２から出力され、また、1stオーディオデコーダ７５−１へ入力されるオーディオストリーム＃１は、メインClipまたはサブClipの何れかから分離されたストリームである。また、同様に、２ndオーディオデコーダ７５−２へ入力されるオーディオストリーム＃２も、メインClipまたはサブClipの何れかから分離されたストリームである。
【０２６１】
例えば、メインClipにオーディオストリーム＃１とオーディオストリーム＃２とが含まれていた場合、PIDフィルタ５５は、オーディオストリームのPIDに基づいて、オーディオストリーム＃１とオーディオストリーム＃２とをフィルタリングし、スイッチ１０１に供給する。この場合、スイッチ１０１は、PIDフィルタ５５から供給されたオーディオストリーム＃１を、1stオーディオデコーダ７５−１に供給するようスイッチを選択し、PIDフィルタ５５から供給されたオーディオストリーム＃２を、２ndオーディオデコーダ７５−２に供給するようスイッチを選択する。
【０２６２】
１stオーディオデコーダ７５−１は、オーディオデストリーム＃１としての符号化オーディオストリームをデコードし、その結果得られる非圧縮オーディオ信号をミキシング処理部１０２に供給する。また、２ndオーディオデコーダ７５−２は、オーディオデストリーム＃２としての符号化オーディオストリームをデコードし、その結果得られる非圧縮オーディオ信号をミキシング処理部１０２に供給する。
【０２６３】
ここで、オーディオストリーム＃１とオーディオストリーム＃２とを重畳して再生するような場合（ユーザにより再生するオーディオストリームとして、２つのオーディオストリームが選択された場合）、１stオーディオデコーダ７５−１によりデコードされたオーディオストリーム＃１（非圧縮オーディオ信号）と、２ndオーディオデコーダ７５−２によりデコードされたオーディオストリーム＃２（非圧縮オーディオ信号）とが、ミキシング処理部１０２に供給される。
【０２６４】
ミキシング処理部１０２は、１stオーディオデコーダ７５−１からのオーディオストリーム＃１と、２ndオーディオデコーダ７５−２からのオーディオストリーム＃２とをミキシング（重畳）し、後段のミキシング処理部９７に出力する。なお、本実施の形態においては、１stオーディオデコーダ７５−１から出力されるオーディオストリーム＃１と２ndオーディオデコーダ７５−２から出力されるオーディオストリーム＃２とをミキシング（重畳）することを、合成するとも称する。すなわち、合成とは、２つのオーディオデータを、ミキシングすることも示すものとする。
【０２６５】
また、スイッチ３２により選択されたサウンドデータは、バッファ９５に供給され、バッファリングされる。バッファ９５は、所定のタイミングでサウンドデータをミキシング処理部９７に供給する。サウンドデータは、この場合、メニュー選択などによる効果音のデータなど、ストリームとは独立して存在する音声データである。ミキシング処理部９７は、ミキシング処理部１０２によりミキシングされたオーディオデータ（１stオーディオデコーダ７５−１から出力されたオーディオストリーム＃１と２ndオーディオデコーダ７５−２から出力されたオーディオストリーム＃２とがミキシングされた非圧縮オーディオ信号）と、バッファ９５から供給されてきたサウンドデータをミキシング（重畳、または合成）し、非圧縮オーディオ信号として出力する。
【０２６６】
AVデコーダ部３３のミキシング処理部９７から出力された非圧縮オーディオ信号は、オーディオエンコーダ４１、スイッチ４５、および、D/A変換部４３にそれぞれ出力される。
【０２６７】
D/A変換部４３は、ミキシング処理部９７から供給された非圧縮オーディオ信号をデジタル信号からアナログ信号に変換し、アナログオーディオ信号インターフェース１１１に供給する。即ち、アナログオーディオ信号インターフェース１１１は、このアナログの非圧縮オーディオ信号を外部に出力する。
【０２６８】
オーディオエンコーダ４１は、ミキシング処理部９７から供給された非圧縮オーディオ信号をエンコードし、その結果得られる符号化オーディオストリームをスイッチ４５に供給する。即ち、オーディオエンコーダ４１は、再符号化処理を実行することになる。従って、オーディオエンコーダ４１からの出力データを、適宜、再符号化オーディオストリームと称する。
【０２６９】
このようにして、スイッチ４５には、スイッチ１０１からの符号化オーディオストリーム、オーディオエンコーダ４１からの再符号化オーディオストリーム、または、ミキシング処理部９７からの非圧縮オーディオ信号が、入力信号として適宜供給される。
【０２７０】
そこで、スイッチ４５は、コントローラ３４の制御に従って、何れかの入力信号を選択し、それを出力信号として出力する。即ち、スイッチ４５からの出力信号は、何れもデジタルのオーディオ信号となる。これらのデジタルのオーディオ信号は、デジタルオーディオ信号インターフェース１１２に供給される。即ち、デジタルオーディオ信号インターフェース１１２は、このデジタルのオーディオ信号を外部に出力する。
【０２７１】
なお、スイッチ４５の切り替えを行うためのコントローラ３４の制御については、後述する図３８のオーディオ再生処理の一処理として説明することにする。
【０２７２】
ところで、AVデコーダ部３３内部において、テキストサブタイトル用リードバッファであるバッファ５４から読み出されたデータは、所定のタイミングで、後段のテキストサブタイトルコンポジション（デコーダ）７６へ出力される。テキストサブタイトルコンポジション７６は、Text-STデータをデコードし、スイッチ７７に供給する。
【０２７３】
スイッチ７７は、プレゼンテーショングラフィックスデコーダ７３によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST（テキストサブタイトルデータ）のうち、いずれかを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部９３に供給する。すなわち、プレゼンテーショングラフィックスプレーン生成部９３へ同時に供給される字幕画像は、プレゼンテーショングラフィックスデコーダ７３またはテキストサブタイトル（Text-ST）コンポジション７６のうちのいずれかの出力である。また、プレゼンテーショングラフィックスデコーダ７３へ同時に入力されるプレゼンテーショングラフィックスストリームは、メインClip AV StreamまたはサブClip AV Streamのいずれかから分離されたストリームである（スイッチ５７により選択される）。したがって、プレゼンテーショングラフィックスプレーン生成部９３へ同時に出力される字幕画像は、メインClip AV Streamからのプレゼンテーショングラフィックスストリーム、またはサブClip AV Streamからのプレゼンテーショングラフィックスストリーム、またはテキストサブタイトルデータのデコード出力である。
【０２７４】
バックグラウンドプレーン生成部９１は、バックグラウンドデコーダ７１から供給されたバックグラウンドイメージデータに基づいて、例えば、ビデオ画像を縮小表示した場合に壁紙画像となるバックグラウンドプレーンを生成し、これを、ビデオデータ処理部９６に供給する。ビデオプレーン生成部９２は、ビデオデコーダ７２から供給されたビデオデータに基づいて、ビデオプレーンを生成し、これをビデオデータ処理部９６に供給する。プレゼンテーショングラフィックスプレーン生成部９３は、スイッチ７７により選択され、供給されたデータ（プレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータ）に基づいて、例えば、レンダリング画像であるプレゼンテーショングラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。インタラクティブグラフィックスプレーン生成部９４は、インタラクティブグラフィックスデコーダ７４から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成し、これをビデオデータ処理部９６に供給する。
【０２７５】
ビデオデータ処理部９６は、バックグラウンドプレーン生成部９１からのバックグラウンドプレーン、ビデオプレーン生成部９２からのビデオプレーン、プレゼンテーショングラフィックスプレーン生成部９３からのプレゼンテーショングラフィックスプレーン、およびインタラクティブグラフィックスプレーン生成部９４からのインタラクティブグラフィックスプレーンを合成し、ビデオ信号として出力する。
【０２７６】
これらのスイッチ５７、５８、１０１、７７は、ユーザインターフェースを介するユーザからの選択、または、対象となるデータが含まれるファイル側に基づいて、スイッチを切り替える。
【０２７７】
ビデオエンコーダ４２は、ビデオデータ処理部９６から供給された非圧縮のビデオ信号をエンコードし、圧縮ビデオ信号インターフェース１１４に供給する。D/A変換部４４は、ビデオデータ処理部９６から供給された非圧縮のビデオ信号をデジタル信号からアナログ信号に変換し、アナログビデオ信号インターフェース１１５に供給する。
【０２７８】
非圧縮ビデオ信号インターフェース１１３は、ビデオデータ処理部９６から供給された非圧縮ビデオ信号を外部に出力する。圧縮ビデオ信号インターフェース１１４は、ビデオエンコーダ４２から供給された符号化ビデオストリームを外部に出力する。アナログビデオ信号インターフェース１１５は、D/A変換部４４から供給されたアナログの非圧縮ビデオ信号を外部に出力する。
【０２７９】
次に、図３８のフローチャートを参照して、オーディオ信号を再生する場合に実行される、オーディオ信号再生処理の一例について説明する。
【０２８０】
ただし、図３８は、本発明の特徴を明確にすべく、スイッチ４５の切り替え制御の手法が重点的に記載されており、AVデコーダ部３３内部の処理については概略が記載されている。即ち、AVデコード部３３内部の処理自体については、上述した各ブロックの構成の説明を参照することで容易に理解できるため、オーディオ信号再生処理の説明では、その概略を述べるに留める。
【０２８１】
また、以下、コントローラ３４がスイッチ４５の切り替え制御を行うとして、再生処理の説明を行う。
【０２８２】
さらにまた、実際には、オーディオ信号再生処理は、それのみが実行されることは少なく、ビデオ信号の再生処理と並行して実行されることが多いが、以下の説明では、説明の簡略上、ビデオ信号の再生処理については言及しない。
【０２８３】
ステップＳ１において、コントローラ３４は、ユーザ設定により符号化オーディオストリームの出力が指示されているか否かを判定する。
【０２８４】
即ち、本実施の形態では、ユーザは、ユーザインターフェース等を利用して、例えば、コーデックタイプごとの非圧縮オーディオ信号を出力するのか、それとも、符号化オーディオストリームを出力するのかについての選択をすることができ、かかる選択がユーザ設定の一部としてコントローラ３４に受け付けられる。
【０２８５】
この例の場合では、コーデックタイプごとの非圧縮オーディオ信号を出力するという選択がユーザによりなされていた場合、ステップＳ１の処理でＮＯであると判定されて、処理はステップＳ２に進む。
【０２８６】
ステップＳ２において、コントローラ３４は、PlayListファイルを読み出す。
【０２８７】
ステップＳ３において、コントローラ３４は、AVデコーダ部３３を制御して、後述する音声合成に関するユーザ設定に基づき、PlayListファイルに従って選択されたオーディオストリーム＃１およびオーディオストリーム＃２を適宜デコード処理しサウンドデータと共に適宜合成処理する。
【０２８８】
即ち、コントローラ３４は、AVデコーダ部３３内のPIDフィルタ５５，５６やスイッチ１０１を適宜制御し、バッファ５２または５３にバッファリングされたオーディオストリーム＃１を、スイッチ１０１を介して1stオーディオデコーダ７５−１に供給してデコードさせ、バッファ５２または５３にバッファリングされたオーディオストリーム＃２を、スイッチ１０１を介して2ndオーディオデコーダ７５−２に供給してデコードさせ、ミキシング処理部１０２を制御して、1stオーディオデコーダ７５−１および２ndオーディオデコーダ７５−２においてデコードされたオーディオストリームの合成処理を適宜実行させ、ミキシング処理部９７を制御して、ミキシング処理部１０２により合成されたオーディオストリームとバッファ９５に保持されているサウンドデータとの合成処理を適宜実行させる。
【０２８９】
このステップＳ３の処理済のデータは、デジタルの非圧縮オーディオ信号としてAVデコーダ部３３から出力される。
【０２９０】
そこで、コントローラ３４は、ステップＳ４において、この処理済のデータを、非圧縮オーディオ信号として外部に出力するように、スイッチ４５を制御する。
【０２９１】
詳細には、ステップＳ３の処理済のデータ、即ち、デジタルの非圧縮オーディオ信号は、スイッチ４５に直接供給される（図３７中３つの入力端のうちの下端に供給される）他、オーディオエンコーダ４１に供給される。そして、オーディオエンコーダ４１に供給された非圧縮オーディオ信号は、そこでエンコード処理（再符号化処理）が施され、その結果得られる再符号化オーディオストリームが、スイッチ４５に供給される（図３７中３つの入力端のうちの中央端に供給される）。
【０２９２】
従って、このステップＳ４の処理では、スイッチ４５の入力が、図３７中３つの入力端のうちの下端に切り替えられ、その下端に供給されたデジタルの非圧縮オーディオ信号が、スイッチ４５の出力端から出力され、デジタルオーディオ信号インターフェース１１２を介して外部に出力されるのである。換言すると、再符号化オーディオストリームの外部出力が禁止されるのである。
【０２９３】
なお、ステップＳ３の処理済のデータ、即ち、デジタルの非圧縮オーディオ信号はまた、D/A変換部４３にも供給され、そこでアナログの非圧縮オーディオ信号に変換された後、アナログオーディオ信号インターフェース１１１を介して外部に出力される。
【０２９４】
ステップＳ５において、コントローラ３４は、再生終了であるか否かを判定する。
【０２９５】
ステップＳ５において、再生終了であると判定された場合、オーディオ信号再生処理は終了となる。
【０２９６】
これに対して、ステップＳ５において、まだ再生終了ではないと判定された場合、処理はステップＳ２に戻され、それ以降の処理が繰り返される。
【０２９７】
このようにして、ユーザ設定として、上述した例のうちの、コーデックタイプごとの非圧縮オーディオ信号を出力すると選択されていた場合には、ステップＳ１の処理でＮＯであると判定されて、ステップＳ２乃至Ｓ４の処理が実行されることになる。
【０２９８】
これに対して、ユーザ設定として、上述した例のうちの、符号化オーディオストリームを出力すると選択されていた場合には、ステップＳ１の処理でＹＥＳであると判定されて、処理はステップＳ６に進む。
【０２９９】
ステップＳ６において、コントローラ３４は、ユーザ設定により再符号化の禁止が指示されているか否かを判定する。
【０３００】
即ち、本実施の形態では、ユーザは、ユーザインターフェース等を利用して、例えば、再符号化オーディオストリームを出力するのか、それとも、再生データ取得部３１によって取得された符号化オーディオストリーム（オーディオストリーム＃１）をそのまま出力するかについての選択をすることができ、かかる選択がユーザ設定の一部としてコントローラ３４に受け付けられる。
【０３０１】
この例の場合では、再生データ取得部３１によって取得された符号化オーディオストリーム（オーディオストリーム＃１）をそのまま出力するという選択がユーザによりなされていた場合、ステップＳ６の処理でＹＥＳであると判定されて、処理はステップＳ７に進む。
【０３０２】
ステップＳ７において、コントローラ３４は、PlayListファイルを読み出す。
【０３０３】
ステップＳ８において、コントローラ３４は、AVデコーダ部３３とスイッチ４５とを制御して、PlayListファイルに従って選択されたオーディオストリーム＃１の符号化オーディオストリームをそのまま外部に出力する。
【０３０４】
即ち、コントローラ３４は、AVデコーダ部３３内のPIDフィルタ５５，５６やスイッチ１０１を適宜制御し、バッファ５２または５３にバッファリングされたオーディオストリーム＃１を、スイッチ１０１を介してスイッチ４５（図３７中３つの入力端のうちの上端）に供給する。このとき、コントローラ３４は、スイッチ４５の入力を、図３７中３つの入力端のうちの上端に切り替えておく。すると、その上端に供給されたデジタルの符号化オーディオストリーム（オーディオストリーム＃１）は、スイッチ４５の出力端から出力され、デジタルオーディオ信号インターフェース１１２を介して外部に出力されるのである。換言すると、再符号化オーディオストリームの外部出力が禁止されるのである。
【０３０５】
ステップＳ９において、コントローラ３４は、再生終了であるか否かを判定する。
【０３０６】
ステップＳ９において、再生終了であると判定された場合、オーディオ信号再生処理は終了となる。
【０３０７】
これに対して、ステップＳ９において、まだ再生終了ではないと判定された場合、処理はステップＳ６に戻され、それ以降の処理が繰り返される。
【０３０８】
このようにして、ユーザ設定として、上述した例のうちの、符号化オーディオストリームを出力すると選択され、かつ、再生データ取得部３１によって取得された符号化オーディオストリーム（オーディオストリーム＃１）をそのまま出力すると選択されていた場合には、ステップＳ１の処理でＹＥＳであると判定されて、ステップＳ７，Ｓ８の処理が実行されることになる。
【０３０９】
これに対して、ユーザ設定として、上述した例のうちの、符号化オーディオストリームを出力すると選択され、かつ、再符号化オーディオストリームを出力すると選択されていた場合には、ステップＳ１の処理でＹＥＳであると判定された後、ステップＳ６の処理でＮＯであると判定されて、処理はステップＳ１０に進む。
【０３１０】
ステップＳ１０において、コントローラ３４は、PlayListファイルを読み出す。
【０３１１】
ステップＳ１１において、コントローラ３４は、PlayListファイルにおいて、オーディオストリーム＃１に合成するデータの存在を示すフラグが１となっているか否かを判定する。
【０３１２】
即ち、コントローラ３４は、PlayListファイルのIndexファイルのindexes()に記載されている、メインのオーディオストリームであるオーディオストリーム＃１に合成されるデータが存在することを示すフラグのうちのいずれかが１となっているか否か、具体的には、サウンドデータが存在することを示すフラグis_MixAppまたはis_MixApp_２、もしくは、オーディオストリーム＃２が存在することを示すフラグis_MixApp_1のうちのいずれかが１となっているか否かを判断する。
【０３１３】
いずれのフラグも１ではないと判断された場合には、このIndexファイルに関連するデータには、再生装置２０においてオーディオストリーム＃１に合成することが可能なサウンドデータおよびオーディオストリーム＃２が含まれていないことを意味するので、このような場合には、ステップＳ１１においてＮＯであると判定されて、上述したステップＳ８以降の処理が実行される。即ち、PlayListファイルに従って選択されたオーディオストリーム＃１の符号化オーディオストリームがそのまま外部に出力される。換言すると、再符号化オーディオストリームの外部出力が禁止されるのである。
【０３１４】
これに対して、いずれかのフラグが１となっていると判断された場合、ステップＳ１１においてＹＥＳであると判定されて、処理はステップＳ１２に進む。
【０３１５】
ステップＳ１２において、コントローラ３４は、PlayListファイルに含まれるPlayItemのうちの、再生するPlayItemにおいてオーディオストリーム＃２が存在しているか否かを判定する。
【０３１６】
再生するPlayItemにおいてオーディオストリーム＃２が存在しない場合には、ステップＳ１２においてＮＯであると判定されて、処理はステップＳ１４に進む。ただし、ステップＳ１４以降の処理については後述する。
【０３１７】
これに対して、再生するPlayItemにおいてオーディオストリーム＃２が存在する場合には、ステップＳ１２においてＹＥＳであると判定されて、処理はステップＳ１３に進む。ステップＳ１３において、コントローラ３４は、ユーザ設定によりオーディオストリーム＃２の出力が指示されているか否かを判定する。
【０３１８】
即ち、本実施の形態では、ユーザは、ユーザインターフェース等を利用して、音声合成に関する諸設定、例えば、インタラクティブサウンドがある場合に合成を行うのか否かについての選択や、セカンダリオーディオ（オーディオストリーム＃２）を再生して合成するのか否かについての選択をすることができ、かかる選択がユーザ設定の一部としてコントローラ３４に受け付けられる。
【０３１９】
この例の場合では、セカンダリオーディオ（オーディオストリーム＃２）を再生して合成するという選択がユーザによりなされていた場合、ステップＳ１３の処理でＹＥＳであると判定されて、処理はステップＳ１７に進む。ただし、ステップＳ１７以降の処理については後述する。
【０３２０】
これに対して、セカンダリオーディオ（オーディオストリーム＃２）を再生して合成しないという選択がユーザによりなされていた場合、ステップＳ１３の処理でＮＯであると判定されて、処理はステップＳ１４に進む。
【０３２１】
ステップＳ１４において、コントローラ３４は、PlayListファイルに含まれるPlayItemのうちの、再生するPlayItemにおいてオーディオストリーム＃２以外に合成処理されうるデータが存在するか否かを判定する。
【０３２２】
ここで、オーディオストリーム＃２以外に合成処理されうるデータとは、例えばインタラクティブサウンド等のサウンドデータをいい、かかるサウンドデータが、再生するPlayItemにおいて存在しない場合には、ステップＳ１４においてＮＯであると判定されて、処理はステップＳ１５に進む。このステップＳ１５の処理は、上述したステップ８の処理と基本的に同様である。即ち、PlayListファイルに従って選択されたオーディオストリーム＃１の符号化オーディオストリームがそのまま外部に出力される。換言すると、再符号化オーディオストリームの外部出力が禁止されるのである。その後、処理はステップＳ２１に進む。ただし、ステップＳ２１以降の処理については後述する。
【０３２３】
これに対して、例えばインタラクティブサウンド等のサウンドデータが、再生するPlayItemにおいて存在する場合には、ステップＳ１４においてＹＥＳであると判定されて、処理はステップＳ１６に進む。
【０３２４】
ステップＳ１６において、コントローラ３４は、ユーザ設定によりオーディオストリーム＃２以外の合成処理の許可がなされているか否かを判定する。
【０３２５】
即ち、本実施の形態では、ユーザは、ユーザインターフェース等を利用して、上述したように、音声合成に関する諸設定、例えば、インタラクティブサウンド等のサウンドデータがある場合に合成を行うのか否かについての選択をすることができ、かかる選択がユーザ設定の一部としてコントローラ３４に受け付けられる。
【０３２６】
この例の場合では、インタラクティブサウンド等のサウンドデータがある場合であっても合成は行わないという選択がユーザによりなされていた場合、ステップＳ１６の処理でＮＯであると判定されて、処理はステップＳ１５に進む。即ち、PlayListファイルに従って選択されたオーディオストリーム＃１の符号化オーディオストリームがそのまま外部に出力される。換言すると、再符号化オーディオストリームの外部出力が禁止されるのである。その後、処理はステップＳ２１に進む。ただし、ステップＳ２１以降の処理については後述する。
【０３２７】
これに対して、インタラクティブサウンド等のサウンドデータがある場合に合成は行うという選択がユーザによりなされていた場合、ステップＳ１６の処理でＹＥＳであると判定されて、処理はステップＳ１７に進む。
【０３２８】
ステップＳ１７において、コントローラ３４は、AVデコーダ部３３を制御して、PlayListファイルに従って選択されたオーディオストリーム＃１およびオーディオストリーム＃２を適宜デコード処理しサウンドデータと共に適宜合成処理する。
【０３２９】
即ち、コントローラ３４は、AVデコーダ部３３内のPIDフィルタ５５，５６やスイッチ１０１を適宜制御し、バッファ５２または５３にバッファリングされたオーディオストリーム＃１を、スイッチ１０１を介して1stオーディオデコーダ７５−１に供給してデコードさせ、バッファ５２または５３にバッファリングされたオーディオストリーム＃２を、スイッチ１０１を介して2ndオーディオデコーダ７５−２に供給してデコードさせ、ミキシング処理部１０２を制御して、1stオーディオデコーダ７５−１および２ndオーディオデコーダ７５−２においてデコードされたオーディオストリームの合成処理を適宜実行させ、ミキシング処理部９７を制御して、ミキシング処理部１０２により合成されたオーディオストリームとバッファ９５に保持されているサウンドデータとの合成処理を適宜実行させる。
【０３３０】
このステップＳ１７の処理済のデータは、デジタルの非圧縮オーディオ信号としてAVデコーダ部３３から出力される。
【０３３１】
ステップＳ１８において、コントローラ３４は、外部機器及び接続伝送路がオーディオストリーム＃１のCh数（チャンネル数）と同じCh数の非圧縮オーディオ信号に対応しているか否かを判定する。
【０３３２】
非圧縮オーディオ信号に対応していない場合とは、再符号化の必要があることを意味しているので、このような場合には、コントローラ３４は、ステップＳ１８の処理でＮＯであると判定し、ステップＳ１９において、ステップＳ１７の処理済のデータを再符号化して外部に出力するように、スイッチ４５を制御する。
【０３３３】
詳細には、ステップＳ１７の処理済のデータ、即ち、デジタルの非圧縮オーディオ信号は、スイッチ４５に直接供給される（図３７中３つの入力端のうちの下端に供給される）他、オーディオエンコーダ４１に供給される。そして、オーディオエンコーダ４１に供給された非圧縮オーディオ信号は、そこでエンコード処理（再符号化処理）が施され、その結果得られる再符号化オーディオストリームが、スイッチ４５に供給される（図３７中３つの入力端のうちの中央端に供給される）。
【０３３４】
従って、このステップＳ１９の処理では、スイッチ４５の入力が、図３７中３つの入力端のうちの中央端に切り替えられ、その中央端に供給されたデジタルの再符号化オーディオストリームが、スイッチ４５の出力端から出力され、デジタルオーディオ信号インターフェース１１２を介して外部に出力されるのである。
【０３３５】
なお、ステップＳ１７の処理済のデータ、即ち、デジタルの非圧縮オーディオ信号はまた、D/A変換部４３にも供給され、そこでアナログの非圧縮オーディオ信号に変換された後、アナログオーディオ信号インターフェース１１１を介して外部に出力される。
【０３３６】
これに対して、外部機器及び接続伝送路がオーディオストリーム＃１のCh数と同じCh数の非圧縮オーディオ信号に対応している場合には、再符号化せずに外部に出力することができる。従って、このような場合には、コントローラ３４は、ステップＳ１８の処理でＹＥＳであると判定し、ステップＳ２０において、ステップＳ１７の処理済のデータを非圧縮オーディオ信号として外部に出力するように、スイッチ４５を制御する。
【０３３７】
詳細には、ステップＳ１７の処理済のデータ、即ち、デジタルの非圧縮オーディオ信号は、スイッチ４５に直接供給される（図３７中３つの入力端のうちの下端に供給される）他、オーディオエンコーダ４１に供給される。そして、オーディオエンコーダ４１に供給された非圧縮オーディオ信号は、そこでエンコード処理（再符号化処理）が施され、その結果得られる再符号化オーディオストリームが、スイッチ４５に供給される（図３７中３つの入力端のうちの中央端に供給される）。
【０３３８】
従って、このステップＳ２０の処理では、スイッチ４５の入力が、図３７中３つの入力端のうちの下端に切り替えられ、その下端に供給されたデジタルの非圧縮オーディオ信号が、スイッチ４５の出力端から出力され、デジタルオーディオ信号インターフェース１１２を介して外部に出力されるのである。換言すると、再符号化オーディオストリームの外部出力が禁止されるのである。
【０３３９】
なお、ステップＳ１７の処理済のデータ、即ち、デジタルの非圧縮オーディオ信号はまた、D/A変換部４３にも供給され、そこでアナログの非圧縮オーディオ信号に変換された後、アナログオーディオ信号インターフェース１１１を介して外部に出力される。
【０３４０】
このようにして、ステップＳ１５，Ｓ１９，Ｓ２０のうちの何れかの処理が実行されると、即ち、PlayListにおける再生するPlayItemに従って、上述した各種形態のうちの何れかの形態でオーディオ信号が外部に出力されると、処理はステップＳ２１に進む。
【０３４１】
ステップＳ２１において、コントローラ３４は、次のPlayItemがあるか否かを判定する。
【０３４２】
次のPlayItemが存在する場合には、ステップＳ２１の処理でＹＥＳであると判定されて、処理はステップＳ１２に戻され、それ以降の処理が繰り返される。
【０３４３】
これに対して、次のPlayItemが存在しない場合には、ステップＳ２１の処理でＮＯであると判定されて、処理はステップＳ２２に進む。
【０３４４】
ステップＳ２２において、コントローラ３４は、再生終了であるか否かを判定する。
【０３４５】
ステップＳ２２において、再生終了であると判定された場合、オーディオ信号再生処理は終了となる。
【０３４６】
これに対して、ステップＳ２２において、まだ再生終了ではないと判定された場合、処理はステップＳ１０に戻され、それ以降の処理が繰り返される。
【０３４７】
以上、ビデオ信号の再生とは独立して、オーディオ信号再生処理について説明してきた。ただし、上述したように、オーディオ信号再生処理は、ビデオ信号の再生処理と並行して実行される場合が多々ある。従って、このような場合には、そのビデオ信号の再生処理結果も、オーディオ信号再生処理の判断処理等に取り入れることも可能である。
【０３４８】
例えば、上述した図３８のステップＳ１４の判定処理として、即ち、サウンドデータとして合成される合成用音声データが存在するか否かの判定処理として、ポップアップメニュー用など予めメモリにロードされるインタラクティブグラフィックスストリーム等のデータを解析し、その解析結果に基づいて判定を行う、といった判定処理を採用できる。
【０３４９】
即ち、インタラクティブグラフィックスストリームには、画面上に表示されるボタン等の部品数や、機器外部からのコマンドの受信によりユーザがそのボタンを選択する操作等を行ったと判断される場合に合成処理されるオーディオデータの識別情報等が含まれている。従って、コントローラ３４は、AVデコーダ部３３等を制御して、このインタラクティブグラフィックストリームを解析することによって、ボタン等、音声の合成処理を伴う可能性のあるグラフィックスデータの有無を確認し、該当するグラフィックスデータが有る場合にはさらにオーディオデータの識別情報等からそのグラフィックスデータがオーディオデータと結び付けられているか否かを確認することができ、そのインタラクティブグラフィックスストリームの対応する再生区間において音声の合成処理が行われる可能性があるか否かについて判断することができる。
【０３５０】
このように、コントローラ３４は、スイッチ４５を適切に制御し、また、再生対象の符号化オーディオストリーム（上述した例ではオーディオストリーム＃１）を解析することで、再符号化の効果の有無（上述した例ではオーディオエンコーダ４１からの再符号化オーディオストリームの出力有無）を厳密に判定し、再符号化オーディオストリームの出力を極力避けるようにする。これにより、無用な再符号化オーディオストリームが出力されることがなく、コンテンツの音質を最大限保つことができる、という効果を奏することが可能になる。
【０３５１】
以下、この効果についてさらに詳しく説明する。
【０３５２】
即ち、本出願人により既に出願されている特願２００６−１４７９８１等に開示されている再生装置においては、スイッチ４５は存在せず、音声の合成処理が実際に行われるのか否かに関わらず、再生対象の符号化オーディオストリーム（上述した例ではオーディオストリーム＃１に相当）に合成するデータの存在を示すフラグが立っている場合（上述した図３８の例では、ステップＳ１１の処理でＹＥＳであると判定された場合に相当）、必ず再符号化処理（上述した図３８の例では、ステップＳ１９の処理に相当）が行われていた。このため、音声の合成処理が実際には行われていないにも関わらず、再符号化オーディオストリームが必ず出力されてしまい、その結果、再生される音声の音質が無用に劣化してしまっていた。
【０３５３】
また、上述したフラグが立っている場合、主要音声データ、即ち、再生対象の符号化オーディオストリーム（上述した例ではオーディオストリーム＃１に相当）のCh数（チャンネル数）に関わらず再符号化が行われていた。このため、例えば２チャンネルステレオ音声の符号化オーディオストリームがデコードされ、その結果得られる非圧縮オーディオ信号に対して合成処理が行われた場合であっても再符号化が行われるので、外部との接続インターフェース(例えばS/PDIF)が２チャンネルの非圧縮音声データの伝送に対応している場合にも無用な再符号化が行われてしまい、その結果、音質が劣化するばかりか、再符号化オーディオストリームのCh数がソースと一致していなければ外部デコーダにおいて正しい音場が生成されなかった。
【０３５４】
そこで、本実施の形態の再生装置２０は、再生対象の符号化オーディオストリーム（例えば上述した例ではオーディオストリーム＃１）を再生する際（オーディオ単体の生成のみならず、ビデオ信号の再生との並行再生も含む）、音声の合成処理に関してユーザに設定を開放し、この設定内容と、再生対象の符号化オーディオストリームから得られる情報とに基づいて、音声の合成処理が実際に行われるか否かを厳密に判定するようにした（例えば図３８のステップＳ１２乃至Ｓ１６の処理参照）。そして、本発明が適用される再生装置は、音声の合成処理が実際に行われたときにのみ、再符号化オーディオストリームの外部出力を許可し（例えば図３８のステップＳ１９の処理参照）、それ以外の場合には、再符号化オーディオストリームの外部出力を禁止し、元の符号化オーディオストリーム（オーディオストリーム＃１）等を外部に出力するようにした（例えば図３８のステップＳ１５等の処理参照）
【０３５５】
このような本発明が適用される再生装置２０の構成をより一般化して表現すると、例えば次のようになる。
【０３５６】
即ち、例えば、本発明が適用される再生装置は、符号化オーディオストリームを含む再生データを取得する再生データ取得手段と、その符号化オーディオストリームに対して復号処理を施す復号手段と、復号手段による前記復号処理の結果得られた非圧縮オーディオ信号に対して、それに合成するためのデータである合成用データを合成する合成手段と、合成手段により合成用データが合成された非圧縮オーディオ信号に対して再符号化処理を施す再符号化手段とを備えており、さらに、再生対象の符号化オーディオストリームと、これとの合成用データが存在し、かつ、ユーザがその合成を許可または指示している第１の場合、再符号化手段による前記再符号化処理の結果得られる再符号化オーディオストリームの出力を許可し、それ以外の第２の場合、再符号化オーディオストリームの出力を禁止する制御手段を備えるように構成することができる。
【０３５７】
かかる特徴的構成を有する本発明が適用される再生装置は、特願２００６−１４７９８１等に開示されている再生装置等と比較して、より一段と高い精度で音声の合成処理がなされないことを検知することができ、このような検知をした場合には、再符号化オーディオストリームを出力せずに、例えば媒体に記録されている符号化オーディオストリーム（上述した例ではオーディオストリーム＃１）をそのまま出力することもできるため、無用な音質の劣化を防止することができるようになる。
【０３５８】
さらに、本実施の形態の再生装置２０は、音声の合成処理が行われる場合であっても、外部機器との接続伝送路及び外部機器が、再生対象の符号化オーディオストリームと同じだけのCh数の非圧縮オーディオ信号の伝送や受信に対応していると判断したときには、音声の合成処理後の非圧縮オーディオ信号を、再符号化処理せずにそのまま出力することができる（例えば図３８のステップＳ１８ＹＥＳ，Ｓ２０参照）ので、その結果、無用な音質の劣化を防ぐことができるようになる。
【０３５９】
即ち、より一般表現化された本発明が適用される再生装置についていえば、上述した制御手段は、さらに、再生対象の符号化オーディオストリームが有するチャンネル数（Ch数）を判別し、上述した第１の場合であっても、外部との接続伝送路および外部機器がそのチャンネル数の非圧縮オーディオ信号の伝送または受信に対応している第３の場合には、再符号化オーディオストリームの出力を禁止することができる。即ち、この場合には合成手段により合成用データが合成された非圧縮オーディオ信号がそのまま外部に出力され、その結果、無用な音質の劣化を防ぐことができるようになる。
【０３６０】
さらにまた、コントローラ３４は、スイッチ４５を制御することで、次のような処理を実行することができる。
【０３６１】
即ち、オーディオエンコーダ４１からの再符号化オーディオストリームの外部出力の禁止をしない場合であっても、コントローラ３４は、AVデコーダ部３３から出力された非圧縮オーディオ信号のうちの、音声の合成処理が実際に行われた部分(例えばAccess Unit単位)だけを再符号化オーディオストリームに置き換えて外部へ出力させ、それ以外の部分を非圧縮オーディオ信号のまま外部へ出力させるようにすることもできる。
【０３６２】
具体的には例えば、再生データ取得部３１によって、図３９に示されるような符号化オーディオストリーム２０１が再生対象のオーディオストリーム＃１として取得されたとする。ここで、図３９において、AUk（kは０乃至１０の整数値）は、Access Unitを示している。そこで、図３９または後述する図４０の説明においては、Access Unitを、他のものと区別すべく、適宜AUkと称する。
【０３６３】
この符号化オーディオストリーム２０１に対しては、ミキシング処理部１０２または９７において音声の合成処理が施されることになるが、その全ての部分に対して音声の合成処置が施されずに、ここでは、AU3乃至AU7の区間２１１に対してのみ音声の合成処理が施されるとする。
【０３６４】
この場合、コントローラ３４は、ミキシング処理部１０２，９７の処理をAccess Unit単位で監視する。換言すると、符号化オーディオストリーム２０１が1stオーディオデコーダ７５−１によって非圧縮オーディオ信号に変換された後、かかる非圧縮オーディオ信号のうちのどの区間（例えばAccess Unit単位）において音声の合成処理が実際に施されたのかを示す情報が、ミキシング処理部１０２，９７からコントローラ３４に伝達される。
【０３６５】
これにより、図３９の例でいえば、コントローラ３４は、この情報に基づいて、音声の合成処理が実際に行われた区間は、AU3乃至AU7の区間２１１であることを認識できるようになる。
【０３６６】
従って、コントローラ３４は、かかる認識結果に基づいてスイッチ４５の切り替えを適切に制御することで、図４０に示されるような符号化オーディオストリーム２０２を外部に出力できるようになる。具体的には、コントローラ３４は、スイッチ４５を適宜切り替えることで、音声の合成処理が実際には行われていないAU0乃至AU2の区間については、スイッチ１０１から提供された符号化オーディオストリーム（オーディオストリーム＃１）における区間２２０を外部に出力し、音声の合成処理が実際に行われたAU3乃至AU7の区間については、オーディオエンコーダ４１からの再符号化オーディオストリームにおける区間２２１を外部に出力し、そして、音声の合成処理が実際には行われていないAU8乃至AU10の区間については、スイッチ１０１から提供された符号化オーディオストリーム（オーディオストリーム＃１）における区間２２２を外部に出力することができる。
【０３６７】
次に、図４１および図４２を参照して、再生装置２０において再生可能なデータが記録された記録媒体２１の製造方法について、記録媒体２１がディスク状の記録媒体だった場合を例として説明する。
【０３６８】
即ち、図４１に示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
【０３６９】
そして、図４２に示すように、ソフト製作処理部において、符号化装置（ビデオエンコーダ）で符号化された、再生装置２０において再生可能な形式のビデオデータが、一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが、一時バッファに記憶されるとともに、更に、データエンコーダで符号化された、ストリーム以外のデータ（例えば、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コンポジション，  ７７  スイッチ，  ９１  バックグラウンドプレーン生成部，  ９２  ビデオプレーン生成部，  ９３  プレゼンテーショングラフィックスプレーン生成部，  ９４  インタラクティブグラフィックスプレーン生成部，  ９５  バッファ  ９６  ビデオデータ処理部，  ９７  ミキシング処理部，  １０１  スイッチ，  １０２  ミキシング処理部
【図１】
2008193604.tif 000003
【図２】
2008193604.tif 000004
【図３】
2008193604.tif 000005
【図４】
2008193604.tif 000006
【図５】
2008193604.tif 000007
【図６】
2008193604.tif 000008
【図７】
2008193604.tif 000009
【図８】
2008193604.tif 000010
【図９】
2008193604.tif 000011
【図１０】
2008193604.tif 000012
【図１１】
2008193604.tif 000013
【図１２】
2008193604.tif 000014
【図１３】
2008193604.tif 000015
【図１４】
2008193604.tif 000016
【図１５】
2008193604.tif 000017
【図１６】
2008193604.tif 000018
【図１７】
2008193604.tif 000019
【図１８】
2008193604.tif 000020
【図１９】
2008193604.tif 000021
【図２０】
2008193604.tif 000022
【図２１】
2008193604.tif 000023
【図２２】
2008193604.tif 000024
【図２３】
2008193604.tif 000025
【図２４】
2008193604.tif 000026
【図２５】
2008193604.tif 000027
【図２６】
2008193604.tif 000028
【図２７】
2008193604.tif 000029
【図２８】
2008193604.tif 000030
【図２９】
2008193604.tif 000031
【図３０】
2008193604.tif 000032
【図３１】
2008193604.tif 000033
【図３２】
2008193604.tif 000034
【図３３】
2008193604.tif 000035
【図３４】
2008193604.tif 000036
【図３５】
2008193604.tif 000037
【図３６】
2008193604.tif 000038
【図３７】
2008193604.tif 000039
【図３８】
2008193604.tif 000040
【図３９】
2008193604.tif 000041
【図４０】
2008193604.tif 000042
【図４１】
2008193604.tif 000043
【図４２】
2008193604.tif 000044
【図４３】
2008193604.tif 000045