(57)【要約】基本データと拡張データとから構成されるオーディオフレームを含むオーディオストリームを再生するストリーム再生装置であって、デコーダと、ストリーム供給装置からオーディオストリームの供給を受けるインターフェース手段とを備え、前記デコーダにおけるオーディオストリームのデコードに、基本データのみを用いることができるか、拡張データを用いることができるかを前記インターフェース手段を介して前記ストリーム供給装置へ通知する機能を有する。【特許請求の範囲】
【請求項１】
基本データと拡張データとから構成されるオーディオフレームを含むオーディオストリームを再生するストリーム再生装置であって、
デコーダと、
ストリーム供給装置からオーディオストリームの供給を受けるインターフェース手段とを備え、
前記デコーダにおけるオーディオストリームのデコードに、基本データのみを用いることができるか、拡張データを用いることができるかを前記インターフェース手段を介して前記ストリーム供給装置へ通知する機能を有する
ことを特徴とするストリーム再生装置。
【請求項２】
前記基本データは、元の音声データをロッシー圧縮したデータであり、
拡張データは、前記元の音声データをロスレス圧縮したデータを構成することを特徴とする請求項１のストリーム再生装置。
【請求項３】
基本データは、所定のチャネル数の音声データを符号化したデータであり、
拡張データは、前記所定のチャネル数よりも多いチャネル数の音声データを符号化したデータを構成すること
を特徴とする請求項１のストリーム再生装置。
【請求項４】
複数のオーディオストリームから何れかのオーディオストリームを選択して再生装置へ供給するストリーム供給装置であって、
再生装置が有するデコーダにおいて、オーディオフレームが基本データと拡張データとから構成されるオーディオストリームをデコードする際に、前記デコーダにおけるオーディオストリームのデコードに、基本データのみを用いることができるか、拡張データを用いることができるかを示す情報を、再生装置から取得する取得手段と、
前記取得した情報に基づいて、オーディオストリームを選択する条件を変更する変更手段を備えること
ことを特徴とするストリーム供給装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、オーディオストリーム再生技術に関する。
【背景技術】
【０００２】  ＡＶ機器では、映像の高画質化と共に、音声についても高品質化が求められ、多様な音声符号化方式が採用されている。例えばＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）では、符号化方式や言語の異なる複数（最大３２本）のオーディオストリームを記録媒体に記録して、再生装置の性能や使用言語に応じて適した音声の再生を実現している。
オーディオストリームの選択に際しては、従来の視聴環境では、デコーダを備えたプレーヤが記録媒体からストリームを読み出し、自装置のデコーダに適したオーディオストリームを選択しているものが多い。
【特許文献１】特開平９−２８２８４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】  ところで、音声符号化方式は高度化が進み、ロッシーな圧縮から高音質なロスレス圧縮の利用が本格化している。
ロスレス符号化方式のなかにはＤＴＳ−ＨＤ方式のように、音質が劣る下位のロッシーな符号化方式に対応したデコーダとの互換性を保ちつつ、最新のデコーダではよりロスレスな再生を可能とする符号化方式もある。そのため、ＤＴＳ−ＨＤ方式のような符号化方式を用いる際には、単にデコーダが符号化されたオーディオストリームを再生できるか否かを認識するのみでは、実際にどのような品質で音声再生されるか事前に把握できないという問題がある。【０００４】  特に、テレビやオーディオアンプがそれぞれデコーダを備え、記録媒体からストリームを読み出す供給装置が、記録媒体から読み出したデジタルストリームをデコードすることなく、テレビやオーディオアンプ等の再生装置へ映像や音声のストリームを振り分けて出力するホームシアターシステムのような視聴環境では、ユーザは主に供給装置に対して機器操作を行うため、機器操作に応じて出力されるオーディオストリームの符号化方式を根拠にユーザが期待していた品質で音声が再生されず、ユーザに混乱を招くおそれがある。【０００５】  本発明はかかる問題に鑑み、供給装置から再生装置へデジタルストリームをパススルー出力するような視聴環境において、再生装置で再生される音声の品質が適切に判断できる再生装置、供給装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】  上記課題を解決するため、本発明に係るストリーム再生装置は、基本データと拡張データとから構成されるオーディオフレームを含むオーディオストリームを再生するストリーム再生装置であって、デコーダと、ストリーム供給装置からオーディオストリームの供給を受けるインターフェース手段とを備え、前記デコーダにおけるオーディオストリームのデコードに、基本データのみを用いることができるか、拡張データを用いることができるかを前記インターフェース手段を介して前記ストリーム供給装置へ通知する機能を有することを特徴とする。【０００７】  また、上記課題を解決するため、本発明に係るストリーム供給装置は、複数のオーディオストリームから何れかのオーディオストリームを選択して再生装置へ供給するストリーム供給装置であって、再生装置が有するデコーダにおいて、オーディオフレームが基本データと拡張データとから構成されるオーディオストリームをデコードする際に、前記デコーダにおけるオーディオストリームのデコードに、基本データのみを用いることができるか、拡張データを用いることができるかを示す情報を、再生装置から取得する取得手段と、前記取得した情報に基づいて、オーディオストリームを選択する条件を変更する変更手段を備えることことを特徴とする。
【発明の効果】
【０００８】  音声符号化方式がＤＴＳ−ＨＤ方式のように、音質が劣る下位の符号化方式に対応したデコーダとの互換性を保ちつつ、最新のデコーダではより高品質な再生を可能とする符号化方式を用いる場合にも、ストリーム供給装置からストリーム再生装置へオーディオストリームをパススルー出力するような視聴環境において、ストリーム再生装置におけるオーディオデコードに拡張データを用いることができるか否かがストリーム供給装置へ通知されるので、実際にどのような品質で音声再生されるかを、ストリーム供給装置側で事前に把握することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る記録媒体の、使用行為についての形態を示す図である。
【図２】ＢＤ−ＲＯＭの内部構成を示す図である。
【図３】拡張子．ｍ２ｔｓが付与されたファイルがどのように構成されているかを模式的に示す図である。
【図４】ＡＶＣｌｉｐを構成するＴＳパケットがどのような過程を経てＢＤ−ＲＯＭに書き込まれるかを示す。
【図５】ＢＤ−ＲＯＭの物理単位と、１つのファイルエクステントを構成するＳｏｕｒｃｅパケットとの対応関係を示す図である。
【図６】ＡＶＣｌｉｐにどのようなエレメンタリストリームが多重化されているかを示す図である。
【図７】Ｃｌｉｐ情報の内部構成を示す図である。
【図８】ＰｌａｙＬｉｓｔ情報のデータ構造を示す図である。
【図９】ＡＶＣｌｉｐと、ＰｌａｙＬｉｓｔ情報との関係を示す図である。
【図１０】ファイルｓｏｕｎｄ．ｂｄｍｖの構成を示す図である。
【図１１】ローカルストレージ２００の内部構成を示す図である。
【図１２】ＳｕｂＣｌｉｐに多重化されるエレメンタリストリームを示す図である。
【図１３】ＢＤ−ＲＯＭ規格におけるＰＩＤ割当マップを示す図である。
【図１４】（ａ）Ｓｅｃｏｎｄａｒｙオーディオストリームの内部構成を示す図である。
【００１０】  （ｂ）オーディオフレームの一例を示す図である。
（ｃ）メタデータの内部構成を示す図である。
（ｄ）ゲイン制御情報の一例を模式的に示す図である。【図１５】Ｓｅｃｏｎｄａｒｙオーディオストリーム内のメタデータにより、Ｐｒｉｍａｒｙオーディオストリームの音量がどのように制御されるかを示す図である。
【図１６】ＰｌａｙＬｉｓｔ情報のデータ構造を示す図である。
【図１７】Ｓｕｂｐａｔｈ情報の内部構成をクローズアップして示す図である。
【図１８】ローカルストレージ２００上のＳｕｂＣｌｉｐと、ローカルストレージ２００上のＰｌａｙＬｉｓｔ情報と、ＢＤ−ＲＯＭ上のＭａｉｎＣｌｉｐとの対応を示す図である。
【図１９】ＭａｉｎＣｌｉｐに対して設定されたＥＰ＿ｍａｐ及びＰｌａｙＩｔｅｍ時間軸と、Ｐｒｉｍａｒｙオーディオストリーム、ＳｅｃｏｎｄａｒｙオーディオストリームとなるＳｕｂＣｌｉｐに対して設定されたＥＰ＿ｍａｐ及びＳｕｂＰｌａｙＩｔｅｍ時間軸とを集約して示す図である。
【図２０】ＳＴＮ＿ｔａｂｌｅの内部構成を示す図である。
【図２１】（ａ）ビデオストリームに対応したＳｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅを示す図である。
【００１１】  （ｂ）Ｐｒｉｍａｒｙオーディオストリーム、Ｓｅｃｏｎｄａｒｙオーディオストリームに対応したＳｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅを示す図である。
（ｃ）ビデオストリームにおけるＳｔｒｅａｍ＿ｅｎｔｒｙを示す図である。
（ｄ）ＳｅｃｏｎｄａｒｙオーディオストリームにおけるＳｔｒｅａｍ＿ｅｎｔｒｙを示す図である。
（ｅ）ＳｅｃｏｎｄａｒｙオーディオストリームにおけるＳｔｒｅａｍ＿ｅｎｔｒｙと、Ｓｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅとの組みに対応付けられている、Ｃｏｍｂ＿ｉｎｆｏ＿Ｓｅｃｏｎｄａｒｙ−ａｕｄｉｏ＿Ｐｒｉｍａｒｙ＿ａｕｄｉｏの内部構成を示す図である。【図２２】ＤＴＳ−ＨＤ形式のＰｒｉｍａｒｙオーディオストリームのオーディオフレームにおいて、Ｓｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅの「ｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅ」におけるＢａｓｅ，Ｌｅｖｅｌ１，Ｌｅｖｅｌ２，Ｌｅｖｅｌ３がそれぞれ、どのようなデータ構造に割り当てられるかを示す図である。
【図２３】Ｃｏｍｂ＿ｉｎｆｏ＿Ｓｅｃｏｎｄａｒｙ＿ａｕｄｉｏ＿Ｐｒｉｍａｒｙ＿ａｕｄｉｏによるＰｒｉｍａｒｙオーディオストリームの指定を示す図である。
【図２４】ストリーム供給装置３００により生成されるバーチャルファイルシステムを示す図である。
【図２５】本発明に係るオーディオアンプ４００の内部構成を示す図である。
【図２６】（ａ）ＤＩＢにおいて、音声再生性能に関する部分のデータ構造を模式的に示した図である。
【００１２】  （ｂ）ＤＩＢの各フィールドに設定しうる値を示す図である。【図２７】コントローラ３４の処理手順を示す図である。
【図２８】本発明に係るストリーム供給装置３００の内部構成を示す図である。
【図２９】Ａｕｄｉｏ  ＩｎｆｏＦｒａｍｅのデータ構造を模式的に示した図である。
【図３０】コントローラ２２を機能的に表現した図である。
【図３１】（ａ）ＰＳＲ１のビットアサインを示す図である。
【００１３】  （ｂ）ＰＳＲ１４のビットアサインを示す図である。
（ｃ）ＰＳＲ３１のビットアサインを示す図である。【図３２】ＰＳＲ１５のビットアサインを示す図である。
【図３３】機器起動時のストリーム供給装置３００、オーディオアンプ４００間の通信シーケンスを示す。
【図３４】起動処理部４０の処理手順を示すフローチャートである。
【図３５】起動処理部４０の処理手順を示すフローチャートである。
【図３６】ＣＯＤＩＮＧ  ＴＹＰＥがＤＴＳ−ＨＤである際に、ＤＩＢに応じてＰＳＲ１５におけるＰｌａｙｅｒ  ｃａｐａｂｉｌｉｔｙ  ｆｏｒ  Ａｕｄｉｏを追加設定する処理手順を示すフローチャートである。
【図３７】プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。
【図３８】（ａ）ＰＳＲ１の設定値が取り得る状態遷移を示す図である。
【００１４】  （ｂ）ＰＳＲ１のＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄの処理手順を示す図である。【図３９】実際に再生される音声の品質を示すメニューの一例を示す図である。
【図４０】ステップＳ５の詳細な処理手順に示したフローチャートである。
【図４１】ストリーム変化時におけるＰＳＲ１の設定手順を示すフローチャートである。
【図４２】（ａ）ＰＳＲ１４の設定値が取り得る状態遷移を示す図である。
【００１５】  （ｂ）ＰＳＲ１４のＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄの処理手順を示す図である。【図４３】ステップＳ３５の詳細な処理手順に示したフローチャートである。
【図４４】ストリーム変化時におけるＰＳＲ１４の設定手順を示すフローチャートである。
【図４５】変形例に係るＤＩＢのデータ構造を示す図である。
【符号の説明】
【００１６】    １００  ＢＤ−ＲＯＭ
２００  ローカルストレージ
３００  ストリーム供給装置
４００  オーディオアンプ
５００  スピーカ
６００  テレビ
１ａ  ＢＤ−ＲＯＭドライブ
１ｂ  バス
２ａ，ｂ  リードバッファ
３ａ，ｂ  デマルチプレクサ
４  ビデオデコーダ
５  ビデオプレーン
６ａ，ｂ  バッファ
７ａ，ｂ  オーディオデコーダ
８  ＤｏｗｎＭｉｘ／ＤｏｗｎＳａｍｐｌｅ
９ａ  ミキサー
９ｂ  ミキサー
１０ａ  スイッチ
１０ｂ  エンコーダ
１１  Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓデコーダ
１２  Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン
１３  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓデコーダ
１４  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン
１５  ＪＰＥＧデコーダ
１６  Ｓｔｉｌｌプレーン
１７  合成部
１８ａ，ｂ  ＳＴＣ生成部
１９ａ，ｂ  ＡＴＣ生成部
２１  メモリ
２２  コントローラ
２３  ＰＳＲセット
２４  ＰＩＤ変換部
２５  通信部
２６  操作受付部
２７  ＨＤＭＩ送受信部
３１  バッファ
３２  オーディオデコーダ
３３  コントローラ
３４  ＨＤＭＩ送受信部
３５  ＥＥＰＲＯＭ
４０  起動処理部
４１  プレイリスト処理部
４２  Ｐｒｏｃｅｄｕｒｅ実行部
４３  Ｐｒｏｃｅｄｕｒｅ実行部
４４  ミキシング制御部
【発明を実施するための最良の形態】
【００１７】  以降、本発明に係る再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図１は、本発明に係るストリーム再生装置の、使用行為についての形態を示す図である。図１において、本発明に係るストリーム再生装置は、オーディオアンプ４００である。このオーディオアンプ４００は、ストリーム供給装置３００、スピーカ５００、及びテレビ６００と共にホームシアターシステムを形成し、ストリーム供給装置から供給されるオーディオストリームを再生するという用途で使用される。【００１８】  以降、ＢＤ−ＲＯＭ１００、ストリーム供給装置３００、オーディオアンプ４００について説明を行う。
ＢＤ−ＲＯＭ１００は、映画作品が記録された記録媒体である。
ストリーム供給装置３００は、ネット対応型のデジタル家電機器であり、リモコンを用いたユーザの操作に応じてＢＤ−ＲＯＭ１００に記録された映画作品を読み出し、映像データをテレビ６００へ、音声データをオーディオアンプ４００へ出力する機能をもつ。本実施形態では、ストリーム供給装置３００とオーディオアンプ４００とはＨＤＭＩ（ＨＤＭＩ：Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）により規定されているＩ／Ｆ規格に準拠して接続されており、ストリーム供給装置３００は、ＢＤ−ＲＯＭ１００から読み出したオーディオストリームをデコードすることなくオーディオアンプ４００へ出力する。以下、オーディオストリームを構成するＴＳパケットをデコードせずそのエレメンタリーストリームを他の機器に出力することを“パススルー出力”という。【００１９】  また、ストリーム供給装置３００内部には、映画配給者のサーバから配信されたコンテンツの受け皿として利用されるハードディスクであるローカルストレージ２００が組み込まれており、映画配給者のサーバから、ネットを通じてダウンロードしたコンテンツを、ＢＤ−ＲＯＭ１００に記録されたコンテンツと組み合わせて、ＢＤ−ＲＯＭ１００のコンテンツを拡張／更新をすることができる。ＢＤ−ＲＯＭ１００の記録内容に、ローカルストレージ２００の記録内容を組み合わせて、ＢＤ−ＲＯＭ１００に記録されていないデータを、恰も、記録されているように扱う技術を“バーチャルパッケージ”という。【００２０】  オーディオアンプ４００は、オーディオデコーダを内部に備え、ストリーム供給装置３００から供給されるオーディオストリームをデコードし、デコードにより得られるＬＰＣＭ状態のオーディオデータをスピーカ５００へ出力する。
以上が本発明に係る再生装置の使用形態についての説明である。
続いて本発明に係る記録媒体の詳細について説明する。【００２１】  ＜ＢＤ−ＲＯＭの概要＞
図２は、ＢＤ−ＲＯＭの内部構成を示す図である。本図の第４段目にＢＤ−ＲＯＭを示し、第３段目にＢＤ−ＲＯＭ上のトラックを示す。本図のトラックは、ＢＤ−ＲＯＭの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてＢＤ−ＲＯＭの応用層フォーマット（アプリケーションフォーマット）を表現すると、図中の第１段目のようになる。この第１段目においてＢＤ−ＲＯＭには、Ｒｏｏｔディレクトリの下に、ＢＤＭＶディレクトリがある。【００２２】  ＢＤＭＶディレクトリには、拡張子ｂｄｍｖが付与されたファイル（ｉｎｄｅｘ．ｂｄｍｖ，ＭｏｖｉｅＯｂｊｅｃｔ．ｂｄｍｖ）がある。そしてこのＢＤＭＶディレクトリの配下には、更にＰＬＡＹＬＩＳＴディレクトリ、ＣＬＩＰＩＮＦディレクトリ、ＳＴＲＥＡＭディレクトリ、ＢＤＢＪディレクトリ、ＢＤＪＡディレクトリ、ＡＵＸＤＡＴＡディレクトリと呼ばれる６つのサブディレクトリが存在する。
ＰＬＡＹＬＩＳＴディレクトリには、拡張子ｍｐｌｓが付与されたファイル（００００１．ｍｐｌｓ）がある。【００２３】  ＣＬＩＰＩＮＦディレクトリには、拡張子ｃｌｐｉが付与されたファイル（００００１．ｃｌｐｉ）がある。
ＳＴＲＥＡＭディレクトリには、拡張子ｍ２ｔｓが付与されたファイル（００００１．ｍ２ｔｓ）がある。
ＢＤＢＪディレクトリには、拡張子ｂｏｂｊが付与されたファイル（００００１．ｂｏｂｊ）が存在する。
ＢＤＪＡディレクトリには、拡張子ｊａｒが付与されたファイル（００００１．ｊａｒ）がある。
ＡＵＸＤＡＴＡディレクトリには、ファイルｓｏｕｎｄ．ｂｄｍｖが格納される。【００２４】  以上のディレクトリ構造により、互いに異なる種別の複数ファイルが、ＢＤ−ＲＯＭ上に配置されていることがわかる。
＜ＢＤ−ＲＯＭの構成その１．ＡＶＣｌｉｐ＞
先ず初めに、拡張子．ｍ２ｔｓが付与されたファイルについて説明する。図３は、拡張子．ｍ２ｔｓが付与されたファイルがどのように構成されているかを模式的に示す図である。拡張子．ｍ２ｔｓが付与されたファイル（００００１．ｍ２ｔｓ）は、ＡＶＣｌｉｐを格納している。ＡＶＣｌｉｐはＭＰＥＧ２−Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ形式のデジタルストリームである。このデジタルストリームは、デジタル化された映像、デジタル化された音声を（上１段目）、ＰＥＳパケットからなるエレメンタリストリームに変換し（上２段目）、更にＴＳパケットに変換して（上３段目）、同じく字幕系のプレゼンテーショングラフィクスストリーム（Ｐｒｅｓｅｎｔａｔｉｉｏｎ  Ｇｒａｐｈｉｃｓ（ＰＧ）ストリーム）及び対話系のインタラクティブグラフィクスストリーム（Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓ（ＩＧ）ストリーム）を（下１段目、下２段目）、更にＴＳパケットに変換して（下３段目）、これらを多重化することで構成される。【００２５】  ＰＧストリームは、言語毎の字幕を構成するグラフィクスストリームであり、英語、日本語、フランス語というように複数言語についてのストリームが存在する。ＰＧストリームは、ＰＣＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｓｅｇｍｅｎｔ）、ＰＤＳ（Ｐａｌｌｅｔ  Ｄｅｆｉｎｅ  Ｓｅｇｍｅｎｔ）、ＷＤＳ（Ｗｉｎｄｏｗ  Ｄｅｆｉｎｅ  Ｓｅｇｍｅｎｔ）、ＯＤＳ（Ｏｂｊｅｃｔ  Ｄｅｆｉｎｅ  Ｓｅｇｍｅｎｔ）、ＥＮＤ（ＥＮＤ  ｏｆ  Ｄｉｓｐｌａｙ  Ｓｅｔ  Ｓｅｇｍｅｎｔ）という一連の機能セグメントからなる。ＯＤＳ（Ｏｂｊｅｃｔ  Ｄｅｆｉｎｅ  Ｓｅｇｍｅｎｔ）は、字幕たるグラフィクスオブジェクトを定義する機能セグメントである。【００２６】  ＷＤＳ（Ｗｉｎｄｏｗ  Ｄｅｆｉｎｅ  Ｓｅｇｍｅｎｔ）は、画面におけるグラフィクスオブジェクトの描画領域を定義する機能セグメントであり、ＰＤＳ（Ｐａｌｌｅｔ  Ｄｅｆｉｎｅ  Ｓｅｇｍｅｎｔ）は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。ＰＣＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｓｅｇｍｅｎｔ）は、字幕表示におけるページ制御を規定する機能セグメントである。かかるページ制御には、Ｃｕｔ−Ｉｎ／Ｏｕｔ、Ｆａｄｅ−Ｉｎ／Ｏｕｔ、Ｃｏｌｏｒ  Ｃｈａｎｇｅ、Ｓｃｒｏｌｌ、Ｗｉｐｅ−Ｉｎ／Ｏｕｔといったものがあり、ＰＣＳによるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。【００２７】  ＩＧストリームは、対話制御を実現するグラフィクスストリームである。ＩＧストリームにて定義される対話制御は、ＤＶＤ再生装置上の対話制御と互換性がある対話制御である。かかるＩＧストリームは、ＩＣＳ（Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｍｐｏｓｉｔｉｏｎ  Ｓｅｇｍｅｎｔ）、ＰＤＳ（Ｐａｌｅｔｔｅ  Ｄｉｆｉｎｉｔｉｏｎ  Ｓｅｇｍｅｎｔ）、ＯＤＳ（Ｏｂｊｅｃｔ  Ｄｅｆｉｎｉｔｉｏｎ  Ｓｅｇｍｅｎｔ）、ＥＮＤ（ＥＮＤ  ｏｆ  Ｄｉｓｐｌａｙ  Ｓｅｔ  Ｓｅｇｍｅｎｔ）と呼ばれる機能セグメントからなる。ＯＤＳ（Ｏｂｊｅｃｔ  Ｄｅｆｉｎｉｔｉｏｎ  Ｓｅｇｍｅｎｔ）は、グラフィクスオブジェクトを定義する機能セグメントである。このグラフィクスオブジェクトが複数集まって、対話画面上のボタンが描画される。ＰＤＳ（Ｐａｌｅｔｔｅ  Ｄｉｆｉｎｉｔｉｏｎ  Ｓｅｇｍｅｎｔ）は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。ＩＣＳ（Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｍｐｏｓｉｔｉｏｎ  Ｓｅｇｍｅｎｔ）は、ユーザ操作に応じてボタンの状態を変化させるという状態変化を実現する機能セグメントである。ＩＣＳは、ボタンに対して確定操作がなされた際、実行すべきボタンコマンドを含む。【００２８】  ここでＡＶＣｌｉｐは、１つ以上の“ＳＴＣ＿Ｓｅｕｅｎｃｅ”から構成される。“ＳＴＣ＿Ｓｅｕｅｎｃｅ”とは、ＡＶストリームのシステム基準時刻であるＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）の不連続点（ｓｙｓｔｅｍｔｉｍｅ−ｂａｓｅ  ｄｉｓｃｏｎｔｉｎｕｉｔｙ）が存在しない区間をいう。ＳＴＣの不連続点はデコーダがＳＴＣを得るために参照するＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）を運ぶＰＣＲパケットの不連続情報（ｄｉｓｃｏｎｔｉｎｕｉｔｙ＿ｉｎｄｉｃａｔｏｒ）がＯＮである点である。【００２９】  続いて、以上のように構成されたＡＶＣｌｉｐが、ＢＤ−ＲＯＭにどのように書き込まれるかを説明する。図４は、ＡＶＣｌｉｐを構成するＴＳパケットがどのような過程を経てＢＤ−ＲＯＭに書き込まれるかを示す。本図の第１段目にＡＶＣｌｉｐを構成するＴＳパケットを示す。
ＡＶＣｌｉｐを構成する１８８バイトのＴＳパケットは、第２段目に示すように４バイトのＴＳ＿ｅｘｔｒａ＿ｈｅａｄｅｒ（図中のハッチング部）、が付されて、１９２バイト長のＳｏｕｒｃｅパケットになる。このＴＳ＿ｅｘｔｒａ＿ｈｅａｄｅｒは、当該ＴＳパケットのデコーダ入力時刻情報を示すＡｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐを含む。【００３０】  ＡＶＣｌｉｐを構成するＳｏｕｒｃｅパケットは、第３段目におけるＡＶＣｌｉｐにおいて、１つ以上の“ＡＴＣ＿Ｓｅｕｅｎｃｅ”を構成する。“ＡＴＣ＿Ｓｅｕｅｎｃｅ”とは、Ｓｏｕｒｃｅパケットの配列であって、そのＡｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐが参照しているＡｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｃｌｏｃｋに、不連続点（ｎｏ  ａｒｒｉｖａｌ  ｔｉｍｅ−ｂａｓｅ  ｄｉｓｃｏｎｔｉｎｕｔｉｙ）が存在しないものをいう。いいかえれば、そのＡｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐが参照しているＡｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｃｌｏｃｋに、連続性が存在するＳｏｕｒｃｅパケット列を“ＡＴＣ＿Ｓｅｕｅｎｃｅ”という。【００３１】  かかるＡＴＣ＿ＳｅｕｅｎｃｅがＡＶＣｌｉｐになり、ｘｘｘｘｘ．ｍ２ｔｓというファイル名でＢＤ−ＲＯＭに記録される。
かかるＡＶＣｌｉｐは、通常のコンピュータファイル同様、１つ以上のファイルエクステントに分割され、ＢＤ−ＲＯＭ上の領域に記録される。第４段目はＡＶＣｌｉｐがどのようにＢＤ−ＲＯＭに記録されるかを模式的に示す。この第４段目においてファイルを構成する各ファイルエクステントは、予め定められたＳｅｘｅｔｅｎｔ以上のデータ長を有する。【００３２】  ＡＶＣｌｉｐを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Ｓｅｘｅｔｅｎｔを検討する。
ここでＢＤ−ＲＯＭにおいて光ピックアップのジャンプに要する時間は、
Ｔｊｕｍｐ＝Ｔａｃｃｅｓｓ＋Ｔｏｖｅｒｈｅａｄ
で与えられる。【００３３】  Ｔａｃｃｅｓｓは、ジャンプ距離（ジャンプする物理アドレスの距離）に応じて与えられる時間である。
ＢＤ−ＲＯＭから読み出されたＴＳパケットは、リードバッファと呼ばれるバッファに格納された上、デコーダに出力されるが、リードバッファへの入力が、Ｒｕｄというビットレートで行われ、ＥＣＣブロックにおけるセクタ数をＳｅｃｃとした場合、
Ｔｏｖｅｒｈｅａｄは、
Ｔｏｖｅｒｈｅａｄ≦（２×Ｓｅｃｃ×８）／Ｒｕｄ＝２０ｍ秒
という計算で与えられる。【００３４】  ＢＤ−ＲＯＭから読み出されたＴＳパケットは、Ｓｏｕｒｃｅパケットの状態でリードバッファに格納された上、ＴＳ＿Ｒｅｃｏｒｄｉｎｇ＿ｒａｔｅという転送レートで、デコーダに供給される。
ＴＳ＿Ｒｅｃｏｒｄｉｎｇ＿ｒａｔｅという転送レートでの、デコーダへのＴＳパケット供給が跡絶えさせないなめには、Ｔｊｕｍｐの間、リードバッファからデコーダへのＴＳパケット出力が継続している必要がある。ここでリードバッファからの出力は、ＴＳパケットではなく、Ｓｏｕｒｃｅパケットの状態でなされるので、ＴＳパケットのＳｏｕｒｃｅパケットとのサイズ比を１９２／１８８とした場合、Ｔｊｕｍｐの間、（１９２／１８８×ＴＳ＿Ｒｅｃｏｒｄｉｎｇ＿ｒａｔｅ）という転送レートにより、リードバッファからのＳｏｕｒｃｅパケット出力が継続している必要がある。【００３５】  従って、リードバッファが、アンダーフローしないためのバッファ蓄積量は、
Ｂｏｃｃｕｐｉｅｄ≧（Ｔｊｕｍｐ／１０００×８）×（（１９２／１８８）×ＴＳ＿Ｒｅｃｏｒｄｉｎｇ＿ｒａｔｅ）
となる。
リードバッファへの入力レートはＲｕｄ、リードバッファからの出力レートはＴＳ＿Ｒｅｃｏｒｄｉｎｇ＿ｒａｔｅ×（１９２／１８８）であるので、リードバッファへの蓄積レートは、入力レート−出力レートの計算で与えられ、（Ｒｕｄ−ＴＳ＿Ｒｅｃｏｒｄｉｎｇ＿ｒａｔｅ×（１９２／１８８））になる。【００３６】  このＢｏｃｃｕｐｉｅｄを、リードバッファに蓄積するのに要する時間Ｔｘは、
Ｔｘ＝Ｂｏｃｃｕｐｉｅｄ／（Ｒｕｄ−ＴＳ＿Ｒｅｃｏｒｄｉｎｇ＿ｒａｔｅ×（１９２／１８８））
になる。
ＢＤ−ＲＯＭからの読み出しには、この時間ＴｘにおいてＲｕｄでのＴＳパケット入力を継続する必要があるので、ＡＶＣｌｉｐを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Ｓｅｘｅｔｅｎｔは、
2006088145.tif 000002
【００３７】  ＡＶＣｌｉｐを構成する各ファイルエクステントは、デコーダのアンダーフローをおこさないように算出されたＳｅｘｔｅｎｔ以上のデータ長をもつことにより、ＡＶＣｌｉｐを構成する各ファイルエクステントが、ＢＤ−ＲＯＭ上において離散的に位置されたとしても、再生時においてデコーダへのＴＳパケット供給が途絶えさせることなく、連続的に読み出されることになる。【００３８】  図５は、ＢＤ−ＲＯＭの物理単位と、１つのファイルエクステントを構成するＳｏｕｒｃｅパケットとの対応関係を示す図である。第２段目に示すように、ＢＤ−ＲＯＭ上には複数セクタが形成されている。ファイルエクステントを構成するＳｏｕｒｃｅパケットは、第１段目に示すように、３２個毎にグループ化されて、連続する３つのセクタに書き込まれる。３２個のＳｏｕｒｃｅパケットからなるグループは、６１４４バイト（＝３２×１９２）であり、これは３個のセクタサイズ６１４４バイト（＝２０４８×３）と一致する。３個のセクタに収められた３２個のＳｏｕｒｃｅパケットを“Ａｌｉｇｎｅｄ  Ｕｎｉｔ”といい、ＢＤ−ＲＯＭへの書き込みは、Ａｌｉｇｎｅｄ  Ｕｎｉｔ単位でなされる。【００３９】  第３段目においてセクタは、３２個単位で誤り訂正符号が付され、ＥＣＣブロックを構成する。ストリーム供給装置３００はＡｌｉｇｎｅｄ  Ｕｎｉｔの単位でＢＤ−ＲＯＭをアクセスする限り、３２個の完結したＳｏｕｒｃｅパケットを得ることができる。以上がＢＤ−ＲＯＭに対するＡＶＣｌｉｐの書き込みのプロセスである。
＜エレメンタリストリームの種類＞
図６は、ＡＶＣｌｉｐにどのようなエレメンタリストリームが多重化されているかを示す図である。【００４０】  本図に示すように、ＡＶＣｌｉｐには、０ｘ１０１１のＰＩＤをもつ高画質ビデオストリーム、０ｘ１１００から０ｘ１１１ＦまでのＰＩＤをもつＰｒｉｍａｒｙオーディオストリーム、０ｘ１２００から０ｘ１２１ＦまでのＰＩＤをもつＰＧストリーム、０ｘ１４００から０ｘ１４１ＦまでのＰＩＤをもつＩＧストリームが多重化されている。これらのエレメンタリストリームを構成するパケットは、それに対応するＰＩＤが付与されており、このＰＩＤを手掛かりにして多重分離されることになる。このように、高画質なビデオストリームが多重化されているＡＶＣｌｉｐを、以下“ＭａｉｎＣｌｉｐ”と呼ぶ。これに対し、ＭａｉｎＣｌｉｐと同時に再生されるＡＶＣｌｉｐを、“ＳｕｂＣｌｉｐ”とよぶ。【００４１】  ＜ＢＤ−ＲＯＭの構成その２．Ｃｌｉｐ情報＞
続いて拡張子．ｃｌｐｉが付与されたファイルについて説明する。拡張子．ｃｌｐｉが付与されたファイル（００００１．ｃｌｐｉ）は、Ｃｌｉｐ情報を格納している。Ｃｌｉｐ情報は、個々のＡＶＣｌｉｐについての管理情報である。図７は、Ｃｌｉｐ情報の内部構成を示す図である。本図の左側に示すようにＣｌｉｐ情報は、
ｉ）ＡＶＣｌｉｐについての情報を格納した『ＣｌｉｐＩｎｆｏ（）』、
ｉｉ）ＡＴＣ  Ｓｅｑｕｅｎｃｅ，ＳＴＣ  Ｓｅｑｕｅｎｃｅに関する情報を格納した『Ｓｅｑｕｅｎｃｅ  Ｉｎｆｏ（）』
ｉｉｉ）Ｐｒｏｇｒａｍ  Ｓｅｑｕｅｎｃｅに関する情報を格納した『Ｐｒｏｇｒａｍ  Ｉｎｆｏ  （）』
ｉｖ）『Ｃｈａｒａｃｔｅｒｉｓｔｉｃ  Ｐｏｉｎｔ  Ｉｎｆｏ（ＣＰＩ（））』からなる。【００４２】  ＣｌｉｐＩｎｆｏには、このＣｌｉｐ情報が参照するＡＶＣｌｉｐのアプリケーションタイプ（ａｐｐｌｉｃａｔｉｏｎ＿ｔｙｐｅ）がある。アプリケーションタイプによってＭａｉｎＣｌｉｐかＳｕｂＣｌｉｐかや、動画を含んでいるのか静止画（スライドショー）を含んでいるのかなどが識別できる。ＴＳ＿ｒｅｃｏｒｄｉｎｇ＿ｒａｔｅは該当ＡＶＣｌｉｐのシステムビットレート情報である。
Ｓｅｑｕｅｎｃｅ  Ｉｎｆｏは、ＡＶＣｌｉｐに含まれる、１つ以上のＳＴＣ−Ｓｅｑｕｅｎｃｅ、ＡＴＣ−Ｓｅｑｕｅｎｃｅについての情報である。これらの情報を設けておくことの意義は、ＳＴＣ、ＡＴＣの不連続点を、予めストリーム供給装置３００に通知するためである。つまりかかる不連続点が存在すると、ＡＶＣｌｉｐ内において同じ値のＰＴＳが出現する可能性があり、ＰＴＳ指定での飛び込み再生時に不都合が生じる。ＳＴＣ，ＡＴＣが連続しているのは、トランスポートストリームのうち、どこからどこまでであるかを示すため、Ｓｅｑｕｅｎｃｅ  Ｉｎｆｏは設けられている。【００４３】  Ｐｒｏｇｒａｍ  Ｉｎｆｏとは、Ｐｒｏｇｒａｍ内容が一定である区間（Ｐｒｏｇｒａｍ  Ｓｅｑｕｅｎｃｅ）を示す情報である。Ｐｒｏｇｒａｍとは、同期再生のための時間軸を共有し合うエレメンタリーストリーム同士の集まりである。Ｐｒｏｇｒａｍ  Ｓｅｑｕｅｎｃｅ情報を設けておくことの意義は、Ｐｒｏｇｒａｍ内容の変化点を、予めストリーム供給装置３００に通知するためである。ここでのＰｒｏｇｒａｍ内容の変化点とは、ビデオストリームのＰＩＤが変化したり、ビデオストリームの種類がＳＤＴＶからＨＤＴＶに変化している点等をいう。【００４４】  続いてＣｈａｒａｃｔｅｒｉｓｔｉｃ  Ｐｏｉｎｔ  Ｉｎｆｏについて説明する。図中の引き出し線ｃｕ２は、ＣＰＩの構成をクローズアップしている。引き出し線ｃｕ２に示すように、ＣＰＩは、Ｎｅ個のＥＰ＿ｍａｐ＿ｆｏｒ＿ｏｎｅ＿ｓｔｒｅａｍ＿ＰＩＤ（ＥＰ＿ｍａｐ＿ｆｏｒ＿ｏｎｅ＿ｓｔｒｅａｍ＿ＰＩＤ［０］〜ＥＰ＿ｍａｐ＿ｆｏｒ＿ｏｎｅ＿ｓｔｒｅａｍ＿ＰＩＤ［Ｎｅ−１］）からなる。これらＥＰ＿ｍａｐ＿ｆｏｒ＿ｏｎｅ＿ｓｔｒｅａｍ＿ＰＩＤは、ＡＶＣｌｉｐに属する個々のエレメンタリストリームについてのＥＰ＿ｍａｐである。ＥＰ＿ｍａｐは、１つのエレメンタリストリーム上において、Ａｃｃｅｓｓ  Ｕｎｉｔが存在するエントリー位置のパケット番号（ＳＰＮ＿ＥＰ＿ｓｔａｒｔ）を、エントリー時刻（ＰＴＳ＿ＥＰ＿ｓｔａｒｔ）と対応づけて示す情報である。図中の引き出し線ｃｕ３は、ＥＰ＿ｍａｐ＿ｆｏｒ＿ｏｎｅ＿ｓｔｒｅａｍ＿ＰＩＤの内部構成をクローズアップしている。【００４５】  これによると、ＥＰ＿ｍａｐ＿ｆｏｒ＿ｏｎｅ＿ｓｔｒｅａｍ＿ＰＩＤは、Ｎｃ個のＥＰ＿Ｈｉｇｈ（ＥＰ＿Ｈｉｇｈ（０）〜ＥＰ＿Ｈｉｇｈ（Ｎｃ−１））と、Ｎｆ個のＥＰ−Ｌｏｗ（ＥＰ＿Ｌｏｗ（０）〜ＥＰ＿Ｌｏｗ（ＮＦ−１））とからなることがわかる。ここでＥＰ＿Ｈｉｇｈは、Ａｃｃｅｓｓ  Ｕｎｉｔ（Ｎｏｎ−ＩＤＲ  Ｉピクチャ、ＩＤＲピクチャ）のＳＰＮ＿ＥＰ＿ｓｔａｒｔ及びＰＴＳ＿ＥＰ＿ｓｔａｒｔの上位ビットを表す役割をもち、ＥＰ＿Ｌｏｗは、Ａｃｃｅｓｓ  Ｕｎｉｔ（Ｎｏｎ＿ＩＤＲ  Ｉピクチャ、ＩＤＲピクチャ）のＳＰＮ＿ＥＰ＿ｓｔａｒｔ及びＰＴＳ＿ＥＰ＿ｓｔａｒｔの下位ビットを示す役割をもつ。【００４６】  図中の引き出し線ｃｕ４は、ＥＰ＿Ｈｉｇｈの内部構成をクローズアップしている。この引き出し線に示すように、ＥＰ＿Ｈｉｇｈ（ｉ）は、ＥＰ＿Ｌｏｗに対する参照値である『ｒｅｆ＿ｔｏ＿ＥＰ＿Ｌｏｗ＿ｉｄ［ｉ］』と、Ａｃｃｅｓｓ  ��ｎｉｔ（Ｎｏｎ−ＩＤＲ  Ｉピクチャ、ＩＤＲピクチャ）のＰＴＳの上位ビットを示す『ＰＴＳ＿ＥＰ＿Ｈｉｇｈ［ｉ］』と、Ａｃｃｅｓｓ  Ｕｎｉｔ（Ｎｏｎ−ＩＤＲ  Ｉピクチャ、ＩＤＲピクチャ）のＳＰＮの上位ビットを示す『ＳＰＮ＿ＥＰ＿Ｈｉｇｈ［ｉ］』とからなる。ここでｉとは、任意のＥＰ＿Ｈｉｇｈを識別するための識別子である。【００４７】  図中の引き出し線ｃｕ５は、ＥＰ＿Ｌｏｗの構成をクローズアップしている。引き出し線ｃｕ５に示すように、ＥＰ＿Ｌｏｗは、対応するＡｃｃｅｓｓ  ＵｎｉｔがＩＤＲピクチャか否かを示す『ｉｓ＿ａｎｇｌｅ＿ｃｈａｎｇｅ＿ｐｏｉｎｔ（ＥＰ＿Ｌｏｗ＿ｉｄ）』と、対応するＡｃｃｅｓｓ  Ｕｎｉｔのサイズを示す『Ｉ＿ｅｎｄ＿ｐｏｓｉｔｉｏｎ＿ｏｆｆｓｅｔ（ＥＰ＿Ｌｏｗ＿ｉｄ）』と、対応するＡｃｃｅｓｓ  Ｕｎｉｔ（Ｎｏｎ＿ＩＤＲ  Ｉピクチャ、ＩＤＲピクチャ）のＰＴＳの下位ビットを示す『ＰＴＳ＿ＥＰ＿Ｌｏｗ（ＥＰ＿Ｌｏｗ＿ｉｄ）』と、対応するＡｃｃｅｓｓ  Ｕｎｉｔ（Ｎｏｎ＿ＩＤＲ  Ｉピクチャ、ＩＤＲピクチャ）のＳＰＮの下位ビットを示す『ＳＰＮ＿ＥＰ＿Ｌｏｗ（ＥＰ＿Ｌｏｗ＿ｉｄ）』とからなる。ここでＥＰ＿Ｌｏｗ＿ｉｄとは、任意のＥＰ＿Ｌｏｗを識別するための識別子である。【００４８】  ＜ＰｌａｙＬｉｓｔ情報＞
続いて、ＰｌａｙＬｉｓｔ情報について説明する。拡張子“ｍｐｌｓ”が付与されたファイル（００００１．ｍｐｌｓ）は、ＰｌａｙＬｉｓｔ（ＰＬ）情報を格納したファイルである。
図８は、ＰｌａｙＬｉｓｔ情報のデータ構造を示す図であり、本図において、引き出し線ｍｐ１に示すようにＰｌａｙＬｉｓｔ情報は、ＭａｉｎＰａｔｈを定義するＭａｉｎＰａｔｈ情報（ＭａｉｎＰａｔｈ（））と、チャプターを定義するＰｌａｙＬｉｓｔＭａｒｋ情報（ＰｌａｙＬｉｓｔＭａｒｋ（））を含む。【００４９】  ＜ＰｌａｙＬｉｓｔ情報の説明その１．ＭａｉｎＰａｔｈ情報＞
先ずＭａｉｎＰａｔｈについて説明する。ＭａｉｎＰａｔｈは、主映像たるビデオストリームやオーディオストリームに対して定義される再生経路である。
ＭａｉｎＰａｔｈは、矢印ｍｐ１で示すように複数のＰｌａｙＩｔｅｍ情報＃１・・・・＃ｍから定義される。ＰｌａｙＩｔｅｍ情報は、ＭａｉｎＰａｔｈを構成する１つの論理的な再生区間を定義する。ＰｌａｙＩｔｅｍ情報の構成は、引き出し線ｈｓ１によりクローズアップされている。この引き出し線に示すようにＰｌａｙＩｔｅｍ情報は、再生区間のＩＮ点及びＯｕｔ点が属するＡＶＣｌｉｐの再生区間情報のファイル名を示す『Ｃｌｉｐ＿Ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅ』と、ＡＶＣｌｉｐの符号化方式を示す『Ｃｌｉｐ＿ｃｏｄｅｃ＿ｉｄｅｎｔｉｆｉｅｒ』と、ＰｌａｙＩｔｅｍがマルチアングルを構成するか否かを示す『ｉｓ＿ｍｕｌｔｉ＿ａｎｇｌｅ』と、このＰｌａｙＩｔｅｍと、その１つ前のＰｌａｙＩｔｅｍとの接続を、シームレスに行うか否かを示す『ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ』と、このＰｌａｙＩｔｅｍが対象としているＳＴＣ＿Ｓｅｑｕｅｎｃｅを一意に示す『ｒｅｆ＿ｔｏ＿ＳＴＣ＿ｉｄ［０］』と、再生区間の始点を示す時間情報『Ｉｎ−ｔｉｍｅ』と、再生区間の終点を示す時間情報『Ｏｕｔ＿ｔｉｍｅ』と、このＰｌａｙＩｔｅｍにおいてマスクすべきユーザオペレーションがどれであるかを示す『ＵＯ＿ｍａｓｋ＿ｔａｂｌｅ』と、このＰｌａｙＩｔｅｍの途中へのランダムアクセスを許可するか否かを示す『ＰｌａｙＩｔｅｍ＿ｒａｎｄｏｍ＿ａｃｃｅｓｓ＿ｆｌａｇ』と、このＰｌａｙＩｔｅｍの再生終了後、最後のピクチャの静止表示を継続するか否かを示す『Ｓｔｉｌｌ＿ｍｏｄｅ』と、『ＳＴＮ＿ｔａｂｌｅ』とから構成される。このうち、再生経路を構成するのは、再生区間の始点を示す時間情報『Ｉｎ＿ｔｉｍｅ』、再生区間の終点を示す時間情報『Ｏｕｔ＿ｔｉｍｅ』の組みであり、再生経路情報とは、この『Ｉｎ＿ｔｉｍｅ』及び『Ｏｕｔ＿ｔｉｍｅ』の組みから構成される。【００５０】  図９は、ＡＶＣｌｉｐと、ＰｌａｙＬｉｓｔ情報との関係を示す図である。第１段目は、ＰｌａｙＬｉｓｔ情報がもつ時間軸を示す。第２段目から第５段目は、ＥＰ＿ｍａｐにて参照されているビデオストリームを示す。
ＰｌａｙＬｉｓｔ情報は、ＰｌａｙＩｔｅｍ情報＃１，＃２という２つのＰｌａｙＩｔｅｍ情報を含んでおり、これらＰｌａｙＩｔｅｍ情報＃１，＃２のＩｎ＿ｔｉｍｅ，Ｏｕｔ＿ｔｉｍｅにより、２つの再生区間が定義されることになる。これらの再生区間を配列させると、ＡＶＣｌｉｐ時間軸とは異なる時間軸が定義されることになる。これが第１段目に示すＰｌａｙＬｉｓｔ時間軸である。このように、ＰｌａｙＩｔｅｍ情報の定義により、ＡＶＣｌｉｐとは異なる再生経路の定義が可能になる。【００５１】  以上のＣｌｉｐ情報及びプレイリスト情報は、”静的シナリオ”に分類される。何故なら、以上のＣｌｉｐ情報及びプレイリスト情報により、静的な再生単位であるプレイリストが定義されるからである。以上で静的シナリオについての説明を終わる。
続いて”動的なシナリオ”について説明する。動的シナリオとは、ＡＶＣｌｉｐの再生制御を動的に規定するシナリオデータである。”動的に”というのは、ホームシアターシステムを構成する機器における状態変化やユーザからのキーイベントにより再生制御の中身がかわることをいう。ＢＤ−ＲＯＭでは、この再生制御の動作環境として２つのモードを想定している。１つ目は、ＤＶＤ再生装置の動作環境と良く似た動作環境であり、コマンドベースの実行環境である。２つ目は、Ｊａｖａ（登録商標）仮想マシンの動作環境である。これら２つの動作環境のうち１つ目は、ＨＤＭＶモードと呼ばれる。２つ目は、ＢＤ−Ｊモードと呼ばれる。これら２つの動作環境があるため、動的シナリオはこのどちらかの動作環境を想定して記述される。ＨＤＭＶモードを想定した動的シナリオはＭｏｖｉｅ  Ｏｂｊｅｃｔと呼ばれる。一方ＢＤ−Ｊモードを想定した動的シナリオはＢＤ−Ｊ  Ｏｂｊｅｃｔと呼ばれる。【００５２】  先ず初めにＭｏｖｉｅ  Ｏｂｊｅｃｔについて説明する。
＜Ｍｏｖｉｅ  Ｏｂｊｅｃｔ＞
Ｍｏｖｉｅ  Ｏｂｊｅｃｔは、図２に示したＭｏｖｉｅ  Ｏｂｊｅｃｔ．ｂｄｍｖというファイルに格納され、ナビゲーションコマンド列を含む。
ナビゲーションコマンド列は、条件分岐、ストリーム供給装置３００における状態レジスタの設定、状態レジスタの設定値取得等を実現するコマンド列からなる。Ｍｏｖｉｅ  Ｏｂｊｅｃｔにおいて記述可能なコマンドを以下に示す。【００５３】  ＰｌａｙＰＬコマンド
書式：ＰｌａｙＰＬ（第１引数，第２引数）
第１引数は、プレイリストの番号で、再生すべきプレイリストを指定することができる。第２引数は、そのプレイリストに含まれるＰｌａｙＩｔｅｍや、そのプレイリストにおける任意の時刻、Ｃｈａｐｔｅｒ、Ｍａｒｋを用いて再生開始位置を指定することができる。【００５４】  ＰｌａｙＩｔｅｍによりＰＬ時間軸上の再生開始位置を指定したＰｌａｙＰＬ関数をＰｌａｙＰＬａｔＰｌａｙＩｔｅｍ（）、
ＣｈａｐｔｅｒによりＰＬ時間軸上の再生開始位置を指定したＰｌａｙＰＬ関数をＰｌａｙＰＬａｔＣｈａｐｔｅｒ（）、
時刻情報によりＰＬ時間軸上の再生開始位置を指定したＰｌａｙＰＬ関数をＰｌａｙＰＬａｔＳｐｅｃｉｆｉｅｄ  Ｔｉｍｅ（）という。【００５５】  Ｍｏｖｉｅ  Ｏｂｊｅｃｔにおけるナビゲーションコマンドの記述は、ＤＶＤにおけるナビゲーションコマンドの記述方式と良く似ているので、ＤＶＤ上のディスクコンテンツを、ＢＤ−ＲＯＭに移植するという作業を効率的に行うことができる。Ｍｏｖｉｅ  Ｏｂｊｅｃｔについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。【００５６】  国際公開公報Ｗ０  ２００４／０７４９７６
以上でＭｏｖｉｅ  Ｏｂｊｅｃｔについての説明を終える。続いてＢＤ−Ｊ  Ｏｂｊｅｃｔについて説明する。
＜ＢＤ−Ｊ  Ｏｂｊｅｃｔ＞
ＢＤ−Ｊ  Ｏｂｊｅｃｔは、Ｊａｖａプログラミング環境で記述された、ＢＤ−Ｊモードの動的シナリオであり、００００１．ｂｏｂｊというファイルに格納される。Ｍｏｖｉｅ  Ｏｂｊｅｃｔとの違いは、ＢＤ−Ｊ  Ｏｂｊｅｃｔにコマンドが直接記述されていない点である。つまりＭｏｖｉｅ  Ｏｂｊｅｃｔにおいて制御手順は、ナビゲーションコマンドにより直接記述されていた。これに対しＢＤ−Ｊ  Ｏｂｊｅｃｔでは、Ｊａｖａアプリケーションに対する指定をアプリケーション管理テーブルに記載することにより、間接的に制御手順を規定している。このような間接的な規定により、複数動的シナリオにおいて制御手順を共通化するという、制御手順の共通化を効率的に行うことができる。【００５７】  またＭｏｖｉｅＯｂｊｅｃｔにおけるプレイリスト再生は、プレイリスト再生を命じるナビゲーションコマンド（ＰｌａｙＰｌコマンド）の記述によりなされるが、ＢＤ−Ｊ  Ｏｂｊｅｃｔにおけるプレイリスト再生は、プレイリスト再生手順を示すプレイリスト管理テーブルをＢＤ−Ｊ  Ｏｂｊｅｃｔに組み込むことで記述が可能になる。
このＢＤ−ＪモードにおけるＪａｖａアプリケーションについて説明する。ここでＢＤ−Ｊモードが想定しているＪａｖａプラットフォームは、Ｊａｖａ２Ｍｉｃｒｏ＿Ｅｄｉｔｉｏｎ（Ｊ２ＭＥ）Ｐｅｒｓｏｎａｌ  Ｂａｓｉｓ  Ｐｒｏｆｉｌｅ（ＰＢＰ  １．０）と、Ｇｌｏｂａｌｌｙ  Ｅｘｅｃｕｔａｂｌｅ  ＭＨＰ  ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＧＥＭ１．０．２）ｆｏｒ  ｐａｃｋａｇｅ  ｍｅｄｉａ  ｔａｒｇｅｔｓとをフル実装したものである。【００５８】  このＢＤ−ＪモードにおけるＪａｖａアプリケーションは、ｘｌｅｔインターフェイスを通じて、Ａｐｐｌｉｃａｔｉｏｎ  Ｍａｎａｇｅｒにより、制御される。ｘｌｅｔインターフェイスは、“ｌｏａｄｅｄ”，“ｐａｕｓｅｄ”、“ａｃｔｉｖｅ”，“ｄｅｓｔｏｒｙｅｄ”といった４つの状態をもつ。
上述したＪａｖａプラットフォームは、ＪＦＩＦ（ＪＰＥＧ）やＰＮＧ，その他のイメージデータを表示するためのスタンダードＪａｖａライブラリを含む。このため、Ｊａｖａアプリケーションは、ＨＤＭＶモードにおいてＩＧストリームにより実現されるＧＵＩとは異なるＧＵＩフレームワークを実現することができる。ＪａｖａアプリケーションにおけるＧＵＩフレームワークは、ＧＥＭ１．０．２にて規定されたＨＡＶｉフレームワークを含み、ＧＥＭ１．０．２におけるリモートコントロールナビゲーション機構を含む。【００５９】  これにより、Ｊａｖａアプリケーションは、ＨＡＶｉフレームワークに基づくボタン表示、テキスト表示、オンライン表示（ＢＢＳの内容）といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
このＪａｖａアプリケーションの実体にあたるのが、図２におけるＢＤＭＶディレクトリ配下のＢＤＪＡディレクトリに格納されたＪａｖａアーカイブファイル（００００１．ｊａｒ）である。【００６０】  ＢＤ−Ｊ  Ｏｂｊｅｃｔについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。
国際公開公報Ｗ０  ２００４／０４５８４０  Ａ１
Ｗ０  ２００５／０３６５５５  Ａ１
Ｗ０  ２００５／０３６５４６  Ａ１
以上でＢＤ−Ｊ  Ｏｂｊｅｃｔについての説明を終える。【００６１】  ＜ｓｏｕｎｄ．ｂｄｍｖ＞
続いてｓｏｕｎｄ．ｂｄｍｖについて説明する。ｓｏｕｎｄ．ｂｄｍｖは、ＩＧストリームにて描画されたメニューやＪａｖａアプリケーションのＧＵＩフレームワークに対して操作がなされた場合、クリック音として出力すべきオーディオデータ（かかるオーディオデータを、サウンドデータという）が格納されるファイルである。【００６２】  図１０は、ファイルｓｏｕｎｄ．ｂｄｍｖの構成を示す図である。ファイルｓｏｕｎｄ．ｂｄｍｖは、Ｓｏｕｎｄ  Ｄａｔａ（）と、Ｓｏｕｎｄ  Ｉｎｄｅｘ（）とからなる。Ｓｏｕｎｄ  Ｄａｔａ（）は、複数のサウンドデータ（ｓｏｕｎｄ＿ｄａｔａ（０），ｓｏｕｎｄ＿ｄａｔａ（１））からなる。これらのサウンドデータのうち、ｓｏｕｎｄ＿ｄａｔａ（０）は、メニューに対する操作時に、第１のクリック音として出力される音源である。ｓｏｕｎｄ＿ｄａｔａ（１）は、メニューに対する操作時に、第２のクリック音として出力される音源である。これらのサウンドデータは、ｓｏｕｎｄ＿ＩＤと呼ばれる識別子にて指示される。【００６３】  Ｓｏｕｎｄ  Ｉｎｄｅｘ（）は、サウンド数（ｎｕｍｂｅｒ＿ｏｆ＿ｓｏｕｎｄ＿ｅｎｔｒｉｅｓ）、ｓｏｕｎｄ＿ｄａｔａ（０）に対するインデックス、ｓｏｕｎｄ＿ｄａｔａ（１）に対するインデックス等からなる。
インデックスは、モノラル／ステレオの別などの各サウンドの属性（ｓｏｕｎｄ＿ａｔｔｒｉｂｕｔｅｓ）、対応するサウンドデータのアドレス（ｓｏｕｎｄ＿ｄａｔａ＿ｓｔａｒｔ＿ａｄｄｒｅｓｓ）、対応するサウンドデータの連続長（ｓｏｕｎｄ＿ｄａｔａ＿ｌｅｎｇｔｈ）からなる。【００６４】  図２〜図６に示したように、映画の劇中に使用される音声の音源は、Ｐｒｉｍａｒｙオーディオストリームとして、ＡＶＣｌｉｐ内に多重化される。これは、映画劇中の音声を表すＰｒｉｍａｒｙオーディオストリームを、ビデオストリームの読み出しと同時に供給するためである。これに対し、ファイルｓｏｕｎｄ．ｂｄｍｖは、ＡＶＣｌｉｐとは別個のファイルとしてＢＤ−ＲＯＭに記録され、ユーザーのメニュー操作に対するクリック音を格納する。ファイルｓｏｕｎｄ．ｂｄｍｖは、ＡＶＣｌｉｐとは別個のファイルとして記録されるので、ＡＶＣｌｉｐの読み出し中に、サウンドデータを出力させようとすると、ファイルｓｏｕｎｄ．ｂｄｍｖを読み出すための光ピックアップのジャンプが生じ、ＡＶＣｌｉｐの読み出しが中断せざるを得なくなる。かかる中断が生じれば、ＡＶＣｌｉｐ再生に途切れが出る。【００６５】  かかるＡＶＣｌｉｐの再生途切れを避けるには、ＡＶＣｌｉｐの再生がなされていない時点において、ファイルｓｏｕｎｄ．ｂｄｍｖを予めバッファにプリロードしておく必要がある。つまりＡＶＣｌｉｐの再生に先立ち、ファイルｓｏｕｎｄ．ｂｄｍｖ内のサウンドデータを、プリロードしておく必要がある。以上がファイルｓｏｕｎｄ．ｂｄｍｖについての説明である。
＜Ｉｎｄｅｘ．ｂｄｍｖ＞
Ｉｎｄｅｘ．ｂｄｍｖは、タイトルを構成する、Ｍｏｖｉｅ  Ｏｂｊｅｃｔ又はＢＤ−Ｊ  Ｏｂｊｅｃｔを示すテーブルである。【００６６】  Ｔｉｔｌｅにおいて、あるＴｉｔｌｅの構成要素となるＭｏｖｉｅ  Ｏｂｊｅｃｔはどれであるか、又は、あるＴｉｔｌｅの構成要素となるＢＤ−Ｊ  Ｏｂｊｅｃｔはどれであるのかを定義する。
Ｉｎｄｅｘ．ｂｄｍｖについては、以下の国際公開公報に詳細が記載されている。詳細については、本公報を参照されたい。
国際公開公報ＷＯ  ２００４／０２５６５１  Ａ１公報
以上が、ＢＤ−ＲＯＭ１００についての説明である。【００６７】  ＜ローカルストレージ２００＞
続いて、ローカルストレージ２００について説明する。図１１は、ローカルストレージ２００の内部構成を示す図である。本図に示すように、本発明に係る記録媒体は、応用層に対する改良により、生産することができる。
本図の第４段目にローカルストレージ２００を示し、第３段目にローカルストレージ２００上のトラックを示す。本図のトラックは、ローカルストレージ２００の内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてローカルストレージ２００の応用層フォーマット（アプリケーションフォーマット）を表現すると、図中の第１段目のようになる。【００６８】  本図のディレクトリ構造においてＲＯＯＴディレクトリの配下には、「ｏｒｇａｎｉｚａｔｉｏｎ＃１」というサブディレクトリがあり、その配下に、「ｄｉｓｃ＃１」というサブディレクトリがある。ディレクトリ「ｏｒｇａｎｉｚａｔｉｏｎ＃１」とは、映画作品の特定のプロバイダに割り当てられたディレクトリである。「ｄｉｓｃ＃１」は、そのプロバイダが提供したＢＤ−ＲＯＭのそれぞれに割り当てられたディレクトリである。【００６９】  特定のプロバイダに対応するディレクトリに、各ＢＤ−ＲＯＭに対応するディレクトリを設けることにより、各ＢＤ−ＲＯＭについてのダウンロードデータが個別に格納される。このサブディレクトリの配下に、ＢＤ−ＲＯＭに格納されていたのと同様、ＰｌａｙＬｉｓｔ情報（００００２．ｍｐｌｓ）、Ｃｌｉｐ情報（００００２．ｃｌｐｉ）、ＡＶＣｌｉｐ（００００２．ｍ２ｔｓ），ＢＤ−Ｊ  Ｏｂｊｅｃｔ（００００２．ｂｏｂｊ），Ｊａｖａアーカイブファイル（００００２．ｊａｒ），クリック音データ（ｓｏｕｎｄ．ｂｄｍｖ），Ｍｏｖｉｅ  Ｏｂｊｅｃｔ．ｂｄｍｖが格納されている。【００７０】  続いて、ローカルストレージ２００の構成要素となる、ＰｌａｙＬｉｓｔ情報、Ｃｌｉｐ情報、ＡＶＣｌｉｐについての説明する。
＜ローカルストレージ２００の構成その１．ＡＶＣｌｉｐ＞
ローカルストレージ２００上のＡＶＣｌｉｐ（００００２．ｍ２ｔｓ）は、ＳｕｂＣｌｉｐを構成する。ＳｕｂＣｌｉｐとは、ＭａｉｎＣｌｉｐと同時にデコードされ再生されるエレメンタリストリームを含むＡＶＣｌｉｐである。かかるＳｕｂＣｌｉｐには、『Ｐｒｉｍａｒｙオーディオストリーム』、『Ｓｅｃｏｎｄａｒｙオーディオストリーム』、『Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓ（ＰＧ）ストリーム』、『Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓ（ＩＧ）ストリーム』といった種別がある。（以後、ＳｕｂＣｌｉｐのことをＯｕｔ−ｏｆ−ＭＵＸストリームと呼ぶことがある。）
本実施形態では、図１１に示した００００２．ｍ２ｔｓは、Ｓｅｃｏｎｄａｒｙオーディオストリーム、ＰＧストリーム、ＩＧストリームが１つのＳｕｂＣｌｉｐに多重化されているものとする。以降Ｓｅｃｏｎｄａｒｙオーディオストリームの詳細を説明する。【００７１】  ＜Ｏｕｔ−ｏｆ−ＭＵＸストリームの説明その１．Ｓｅｃｏｎｄａｒｙストリーム＞
『Ｐｒｉｍａｒｙオーディオストリーム』が、いわゆる主音声となるオーディオストリームであるのに対し、『Ｓｅｃｏｎｄａｒｙオーディオストリーム』とは、いわゆる副音声となるオーディオストリームである。ＳｕｂＣｌｉｐ再生時において、Ｓｅｃｏｎｄａｒｙオーディオストリームの音声再生は、Ｐｒｉｍａｒｙオーディオストリームの再生音声にミキシングされた上で出力に供される。Ｓｅｃｏｎｄａｒｙオーディオストリームとして扱われる音声には、例えば“コメンタリ音声”がある。Ｐｒｉｍａｒｙオーディオストリームとなる主音声が、映画作品本編の音声であり、Ｓｅｃｏｎｄａｒｙオーディオストリームとなる副音声が、映画監督のコメンタリ音声である場合、かかる映画作品本編の音声は、コメンタリ音声がミキシングされた上で出力されることになる。【００７２】  Ｓｅｃｏｎｄａｒｙオーディオストリームは、ローカルストレージ２００にのみ記録され再生に供されるが、ＢＤ−ＲＯＭには記録されない。Ｐｒｉｍａｒｙオーディオストリームは、ＢＤ−ＲＯＭに置かれていても、ローカルストレージ２００に置かれていてもよい。またＰｒｉｍａｒｙオーディオストリームの符号化コーディックは、Ｓｅｃｏｎｄａｒｙオーディオストリームの符号化コーディックと異なっていてもよい。【００７３】  図１２は、ＳｕｂＣｌｉｐに多重化されるエレメンタリストリームを示す図である。ＳｕｂＣｌｉｐには、０ｘ１２００から０ｘ１２１ＦまでのＰＩＤをもつＰＧストリーム、０ｘ１４００から０ｘ１４１ＦまでのＰＩＤをもつＩＧストリームのほかに、０ｘ１Ａ００から０ｘ１Ａ１ＦまでのＰＩＤをもつＳｅｃｏｎｄａｒｙオーディオストリームが多重化される。ここでＳｕｂＣｌｉｐにおけるＰＧストリーム、ＩＧストリームのＰＩＤは、ＭａｉｎＣｌｉｐにおけるＰＧストリーム、ＩＧストリームのＰＩＤと同じになっているものの、ＳｅｃｏｎｄａｒｙオーディオストリームのＰＩＤは、上位バイトが異なるため、３２本のＳｅｃｏｎｄａｒｙオーディオストリームのＰＩＤは、３２本のＰｒｉｍａｒｙオーディオストリームのＰＩＤと、一切重複していない。【００７４】  図１３は、ＢＤ−ＲＯＭ規格におけるＰＩＤ割当マップを示す図である。本図によれば、０ｘ０１００は、Ｐｒｏｇｒａｍ＿ｍａｐに割り当てられ、０ｘ１００１はＰＣＲに、０ｘ１０１１はビデオストリームに、０ｘ１１００から０ｘ１１１ＦまでのゾーンはＰｒｉｍａｒｙオーディオストリームに、０ｘ１２００から０ｘ１２１ＦまでのゾーンはＰＧストリームに、０ｘ１４００から０ｘ１４１ＦまでのゾーンはＩＧストリームに、０ｘ１Ａ００から０ｘ１Ａ１ＦまでのゾーンはＳｅｃｏｎｄａｒｙオーディオストリームに割り当てられている。このＰＩＤ割当マップからもわかるように、Ｐｒｉｍａｒｙオーディオストリームに割り当てられているゾーンと、Ｓｅｃｏｎｄａｒｙオーディオストリームに割り当てられているゾーンとが異なっていることがわかる。【００７５】  図１４（ａ）は、Ｓｅｃｏｎｄａｒｙオーディオストリームの内部構成を示す図である。
本図に示すように、Ｓｅｃｏｎｄａｒｙオーディオストリームは、複数のオーディオフレームからなる。図１４（ｂ）は、オーディオフレームの一例を示す図である。Ｓｅｃｏｎｄａｒｙオーディオストリームのオーディオフレームは、メタデータを含む。
図１４（ｃ）は、メタデータの内部構成を示す図である。メタデータは、本図に示すように、“ダウンミキシング情報”と、“ゲイン制御情報”とからなる。【００７６】  “ダウンミキシング情報”は、ダウンミキシングのための情報である。ダウンミキシングとは、音声の再生チャネル数を符号化チャンネル数よりも少なくする変換であり、ダウンミキシング情報は、ダウンミキシングのための変換係数行列を規定することにより、このダウンミキシングをストリーム供給装置３００やオーディオアンプ４００等のオーディオ再生を担当する機器に行わせる。５．１ｃｈの音声ストリームを２ｃｈで再生することなどがダウンミキシングの一例である。【００７７】  “ゲイン制御情報”とは、Ｐｒｉｍａｒｙオーディオストリーム側の音声出力時のゲインを上げ下げする情報であるが、ここでは下げるだけでよい。図１４（ｄ）は、ゲイン制御情報の一例を模式的に示す。このようにＳｅｃｏｎｄａｒｙオーディオストリームのメタデータは、同時に再生されるＰｒｉｍａｒｙオーディオストリームの出力をリアルタイムに下げることができる。ＰｒｉｍａｒｙオーディオとＳｅｃｏｎｄａｒｙオーディオを重畳する場合には、あらかじめミキシングされるＰｒｉｍａｒｙオーディオとＳｅｃｏｎｄａｒｙオーディオの対が分かっているため、２本のオーディオのゲインをリアルタイムに制御する必要は無く、Ｐｒｉｍａｒｙオーディオのゲインだけを下げてＳｅｃｏｎｄａｒｙオーディオのゲインはそのままにミキシング（重畳）することで十分である。【００７８】  尚、ゲイン制御情報は、ＰｌａｙＬｉｓｔＭａｒｋのｍａｒｋ＿ｔｉｍｅ＿ｓｔａｍｐに指定される時刻より、ｄｕｒａｔｉｏｎの時間だけ、有効なゲイン制御情報を格納するようにしても良い。
図１５は、Ｓｅｃｏｎｄａｒｙオーディオストリーム内のメタデータにより、Ｐｒｉｍａｒｙオーディオストリームの音量がどのように制御されるかを示す図である。本図における第１段目は、時間軸を示し、第２段目は、ミキシング可能なＰｒｉｍａｒｙオーディオストリームの再生出力を示す。第３段目は、Ｓｅｃｏｎｄａｒｙオーディオストリームの再生出力を示し、第４段目は、Ｓｅｃｏｎｄａｒｙオーディオストリームに多重化されたメタデータを示す。【００７９】  再生時刻ｔ１にあたるオーディオフレームに配置されたメタデータは、Ｐｒｉｍａｒｙオーディオストリームの再生出力の音量を全体的に抑えるものであり、再生時刻ｔ２にあたるオーディオフレームに配置されたメタデータは、Ｐｒｉｍａｒｙオーディオストリームの再生出力の音声を元に戻すものである。再生時刻ｔ１，ｔ２に、かかるメタデータを配置することで、Ｐｒｉｍａｒｙオーディオストリームとの再生出力の音量と、Ｓｅｃｏｎｄａｒｙオーディオストリームの再生出力の音量とが合わさり、スピーカを破損させてしまうという事態を避けることができる。
Ｓｅｃｏｎｄａｒｙオーディオの″ゲイン制御情報“を使ってリアルタイムにミキシングのゲイン調整を行なう場合には、ｔ１からｔ２までのＳｅｃｏｎｄａｒｙオーディオの各オーディオフレームに格納された”ゲイン制御情報“がＰｒｉｍａｒｙオーディオのゲインを所定の量だけ下げることを指定していれば良い。特殊再生などでｔ１からｔ２の間に飛び込んでミキシング再生を行なうことを想定すれば、常に適切なゲイン制御が可能なこちらの方法の方が都合が良い。【００８０】  ＜ローカルストレージ２００の構成その２．ＰｌａｙＬｉｓｔ情報＞
続いて、ローカルストレージ２００上のＰｌａｙＬｉｓｔ情報について説明する。拡張子“ｍｐｌｓ”が付与されたファイル（００００２．ｍｐｌｓ）は、ＭａｉｎＰａｔｈ、Ｓｕｂｐａｔｈと呼ばれる２種類の再生経路を束ねたものをＰｌａｙｌｉｓｔ（ＰＬ）として定義する情報である。図１６は、ＰｌａｙＬｉｓｔ情報のデータ構造を示す図であり、本図に示すようにＰｌａｙＬｉｓｔ情報は、ＭａｉｎＰａｔｈを定義するＭａｉｎＰａｔｈ情報（ＭａｉｎＰａｔｈ（））と、チャプターを定義するＰｌａｙＬｉｓｔＭａｒｋ情報（ＰｌａｙＬｉｓｔＭａｒｋ（））と、Ｓｕｂｐａｔｈを定義するＳｕｂｐａｔｈ情報（Ｓｕｂｐａｔｈ（））とからなる。かかるＰｌａｙＬｉｓｔ情報の内部構成、及び、ＰｌａｙＩｔｅｍ情報の内部構成は、ＢＤ−ＲＯＭのものと同じであり、説明を省略する。【００８１】  ＜ＰｌａｙＬｉｓｔ情報の説明その１．Ｓｕｂｐａｔｈ情報＞
ＭａｉｎＰａｔｈが、主映像たるＭａｉｎＣｌｉｐに定義される再生経路であるのに対し、Ｓｕｂｐａｔｈは、ＭａｉｎＰａｔｈと同期すべきＳｕｂＣｌｉｐに対して定義される再生経路である。
図１７は、Ｓｕｂｐａｔｈ情報の内部構成をクローズアップして示す図である。本図における矢印ｈｃ０に示すように各Ｓｕｂｐａｔｈは、ＳｕｂＣｌｉｐの類型を示すＳｕｂＰａｔｈ＿ｔｙｐｅと、１つ以上のＳｕｂＰｌａｙＩｔｅｍ情報（・・・ＳｕｂＰｌａｙＩｔｅｍ（）・・・）とを含む。【００８２】  図中の引き出し線ｈｃ１は、ＳｕｂＰｌａｙＩｔｅｍ情報の構成をクローズアップしている。ＳｕｂＰｌａｙＩｔｅｍ情報は、図中の矢印ｈｃ１に示すように『Ｃｌｉｐ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅ』、『Ｃｌｉｐ＿ｃｏｄｅｃ＿ｉｄｅｎｔｉｆｉｅｒ』、『ｒｅｆ＿ｔｏ＿ＳＴＣ＿ｉｄ［０］』、『ＳｕｂＰｌａｙＩｔｅｍ＿Ｉｎ＿ｔｉｍｅ』、『ＳｕｂＰｌａｙＩｔｅｍ＿Ｏｕｔ＿ｔｉｍｅ』、『ｓｙｎｃ＿ＰｌａｙＩｔｅｍ＿ｉｄ』、『ｓｙｎｃ＿ｓｔａｒｔ＿ＰＴＳ＿ｏｆ＿ＰｌａｙＩｔｅｍ』からなる。
『Ｃｌｉｐ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅ』は、Ｃｌｉｐ情報のファイル名を記述することにより、ＳｕｂＰｌａｙＩｔｅｍに対応するＳｕｂＣｌｉｐを一意に指定する情報である。【００８３】  『Ｃｌｉｐ＿ｃｏｄｅｃ＿ｉｄｅｎｔｉｆｉｅｒ』は、ＡＶＣｌｉｐの符号化方式を示す。
『ｒｅｆ＿ｔｏ＿ＳＴＣ＿ｉｄ［０］』は、このＰｌａｙＩｔｅｍが対象としているＳＴＣ−Ｓｅｑｕｅｎｃｅを一意に示す。
『ＳｕｂＰｌａｙＩｔｅｍ＿Ｉｎ＿ｔｉｍｅ』は、ＳｕｂＣｌｉｐの再生時間軸上における、ＳｕｂＰｌａｙＩｔｅｍの始点を示す情報である。
『ＳｕｂＰｌａｙＩｔｅｍ＿Ｏｕｔ＿ｔｉｍｅ』は、ＳｕｂＣｌｉｐの再生時間軸上における、ＳｕｂＰｌａｙＩｔｅｍの終点を示す情報である。【００８４】  『ｓｙｎｃ＿ＰｌａｙＩｔｅｍ＿ｉｄ』は、ＭａｉｎＰａｔｈを構成するＰｌａｙＩｔｅｍのうち、本ＳｕｂＰｌａｙＩｔｅｍが同期すべきものを一意に指定する情報である。ＳｕｂＰｌａｙＩｔｅｍ＿Ｉｎ＿ｔｉｍｅは、このｓｙｎｃ＿ＰｌａｙＩｔｅｍ＿ｉｄで指定されたＰｌａｙＩｔｅｍの再生時間軸上に存在する。
『ｓｙｎｃ＿ｓｔａｒｔ＿ＰＴＳ＿ｏｆ＿ＰｌａｙＩｔｅｍ』は、ｓｙｎｃ＿ＰｌａｙＩｔｅｍ＿ｉｄで指定されたＰｌａｙＩｔｅｍの再生時間軸上において、ＳｕｂＰｌａｙＩｔｅｍ＿Ｉｎ＿ｔｉｍｅで指定されたＳｕｂＰｌａｙＩｔｅｍの始点が、どこに存在するかを示す。【００８５】  ＜Ｓｕｂｐａｔｈ情報の詳細その１．ＳｕｂＰａｔｈ＿ｔｙｐｅ＞
以上がＳｕｂＰａｔｈ情報についての説明である。続いてＳｕｂＰａｔｈ＿ｔｙｐｅについて説明する。ＳｕｂＰａｔｈ＿ｔｙｐｅは、０から２５５までの値に設定されることにより、ＳｕｂＰａｔｈ情報により定義されるＳｕｂＰａｔｈがどのような再生経路であるのかを示す。
ＳｕｂＰａｔｈ＿ｔｙｐｅが５に設定されている場合、このＳｕｂＰａｔｈ情報により定義されるＳｕｂＰａｔｈは、Ｐｒｉｍａｒｙオーディオ再生パスであることを示す。このＰｒｉｍａｒｙオーディオ再生パスは、ＭａｉｎＰａｔｈ（ＰｌａｙＩｔｅｍ）にて参照されるＰｒｉｍａｒｙオーディオに置き換えて再生されるべきオーディオストリームがＳｕｂＰａｔｈ（ＳｕｂＰｌａｙＩｔｅｍ）内に格納されているときに使われる。【００８６】  ＳｕｂＰａｔｈ＿ｔｙｐｅが６に設定された場合、本ＳｕｂＰａｔｈ情報は、追加・置換のためのＰｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓ再生パスを定義していることを示す。何に対する追加・置換であるかというと、ＰｌａｙＩｔｅｍ情報にて再生され得るＰＧストリームに対して、追加・置換され得るＰＧストリームである。
ＳｕｂＰａｔｈ＿ｔｙｐｅが７に設定された場合、本ＳｕｂＰａｔｈ情報は、追加・置換のためのＩｎｔａｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓ再生パスを定義していることを示す。何に対する追加・置換であるかというと、ＰｌａｙＩｔｅｍ情報にて再生され得るＩＧストリームに対して、追加・置換され得るＩＧストリームである。【００８７】  ＳｕｂＰａｔｈ＿ｔｙｐｅが８に設定された場合、ＳｕｂＰａｔｈ情報はＳｅｃｏｎｄａｒｙオーディオ再生パスを定義する旨を示す。このＳｅｃｏｎｄａｒｙオーディオ再生パスは、追加のために定義されている。何に対する追加かというと、ＰｌａｙＩｔｅｍ情報にて再生され得るＰｒｉｍａｒｙオーディオの再生音声にミキシングされるべきＳｅｃｏｎｄａｒｙオーディオである。
例えば、ＰｒｉｍａｒｙオーディオとＳｅｃｏｎｄａｒｙオーディオのミキシング再生を行う場合には、２つのオーディオデコーダとミキサーを動作させる必要があるため、通常のＰｒｉｍａｒｙオーディオだけを再生する場合とは要求が異なり、前もってプレイヤがどのような再生タイプかを取得できる必要がある。このために、ＳｕｂＰａｔｈ＿ｔｙｐｅやＳＴＮ＿ｔａｂｌｅのＰＩＤによって、同期再生すべきＳｅｃｏｎｄａｒｙオーディオが存在することを再生前にプレイヤに通知することが可能となる。【００８８】  以上がＳｕｂＰａｔｈ＿ｔｙｐｅについての説明である。
＜ＳｕｂＰａｔｈ情報についての詳細その２．三者の関係＞
ここでの三者とは、ローカルストレージ２００上のＳｕｂＣｌｉｐ、ローカルストレージ２００上のＰｌａｙＬｉｓｔ情報、ＢＤ−ＲＯＭ上のＭａｉｎＣｌｉｐの三者をいう。
図１８は、ローカルストレージ２００上のＳｕｂＣｌｉｐと、ローカルストレージ２００上のＰｌａｙＬｉｓｔ情報と、ＢＤ−ＲＯＭ上のＭａｉｎＣｌｉｐとの対応を示す図である。本図において第１段目は、ローカルストレージ２００上に存在するＳｕｂＣｌｉｐを示す。この第１段目に示すように、ローカルストレージ２００上のＳｕｂＣｌｉｐには、Ｓｅｃｏｎｄａｒｙオーディオストリーム、ＰＧストリーム、ＩＧストリームといった種別がある。これらのうち何れかが、ＳｕｂＰａｔｈとして同期再生に供されることになる。【００８９】  第２段目は、ＰｌａｙＬｉｓｔ情報により定義される２つの時間軸を示す。第２段目のうち下側の時間軸は、ＰｌａｙＩｔｅｍ情報により定義されるＰｌａｙＩｔｅｍ時間軸を示し、上側の時間軸はＳｕｂＰｌａｙＩｔｅｍにより定義されるＳｕｂＰｌａｙＩｔｅｍ時間軸を示す。
本図に示すように、ＳｕｂＰｌａｙＩｔｅｍ情報のＳｕｂＰｌａｙＩｔｅｍ＿Ｃｌｉｐ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅは、ＳＴＲＥＡＭディレクトリに格納された．ｍ２ｔｓファイルのうち、どれを再生区間指定の対象として選ぶかという、ＳｕｂＣｌｉｐ選択の役割を果たしていることがわかる。【００９０】  そしてＳｕｂＰｌａｙＩｔｅｍ．ＩＮ＿ｔｉｍｅ、ＳｕｂＰｌａｙＩｔｅｍ．Ｏｕｔ＿ｔｉｍｅは、ＳｕｂＣｌｉｐ上の、再生区間の始点及び終点を定義するという役割を果たしていることがわかる。
矢印Ｓｙｎｃ＿ＰｌａｙＩｔｅｍ＿Ｉｄは、どのＰｌａｙＩｔｅｍとの同期を意図しているかという同期指定の役割を果たし、ｓｙｎｃ＿ｓｔａｒｔ＿ＰＴＳ＿ｏｆ＿ＰｌａｙＩｔｅｍは、ＰｌａｙＩｔｅｍ時間軸上におけるＳｕｂＰｌａｙＩｔｅｍ＿Ｉｎ＿ｔｉｍｅの位置を決める役割を果たす。【００９１】  図１９は、ＭａｉｎＣｌｉｐに対して設定されたＥＰ＿ｍａｐ及びＰｌａｙＩｔｅｍ時間軸と、ＳｕｂＣｌｉｐに対して設定されたＥＰ＿ｍａｐ及びＳｕｂＰｌａｙＩｔｅｍ時間軸とを集約して示す図である。
本図の中段、下４段〜下１段は、図９に示したＰｌａｙＩｔｅｍ時間軸、ピクチャ列、ＭａｉｎＣｌｉｐ時間軸、ＥＰ＿ｍａｐ、ＴＳパケット列を示す。
また上１段目〜上３段目は、ＴＳパケット列、ＥＰ＿ｍａｐ、ＳｕｂＣｌｉｐ時間軸を示す。上４段目は、ＳｕｂＰｌａｙＩｔｅｍ時間軸を示す。【００９２】  以上が、ＳｕｂＰａｔｈ情報についての説明である。
＜ＳＴＮ＿ｔａｂｌｅ＞
このローカルストレージ２００におけるＰｌａｙＬｉｓｔ情報において特徴的であるのは、ＳＴＮ＿Ｔａｂｌｅである。以降、ローカルストレージ２００上のＰｌａｙＬｉｓｔ情報について説明する。
ＳＴＮ＿ｔａｂｌｅは、ＰｌａｙＩｔｅｍ情報のＣｌｉｐ＿Ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅで指定されているＡＶＣｌｉｐに多重化された複数エレメンタリストリーム、ＳｕｂＰｌａｙＩｔｅｍ情報のＣｌｉｐ＿Ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅで指定されているＯｕｔ＿ｏｆ＿ＭＵＸストリームのうち、再生可能なものを示すテーブルである。具体的にいうとＳＴＮ＿ｔａｂｌｅは、ＭａｉｎＣｌｉｐに多重化されている複数エレメンタリストリーム、ＳｕｂＣｌｉｐに多重化されているＯｕｔ＿ｏｆ＿ＭＵＸストリームのそれぞれについてのＳｔｒｅａｍ＿ｅｎｔｒｙを、Ｓｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅと対応付けることで構成される。【００９３】  図２０は、ＳＴＮ＿ｔａｂｌｅの内部構成を示す図である。本図に示すようにＳＴＮ＿ｔａｂｌｅは、ＳＴＮ＿ｔａｂｌｅにおけるｅｎｔｒｙと、ａｔｔｒｉｂｕｔｅとの組み（ｅｎｔｒｙ＿ａｔｔｒｉｂｕｔｅ）を複数含み、これらｅｎｔｒｙ−ａｔｔｒｉｂｕｔｅの組みの個数（ｎｕｍｂｅｒ＿ｏｆ＿ｖｉｄｅｏ＿ｓｔｒｅａｍ＿ｅｎｔｒｉｅｓ，ｎｕｍｂｅｒ＿ｏｆ＿ａｕｄｉｏ＿ｓｔｒｅａｍ＿ｅｎｔｒｉｅｓ，ｎｕｍｂｅｒ＿ｏｆ＿ＰＧ＿ｓｔｒｅａｍ＿ｅｎｔｒｉｅｓ，ｎｕｍｂｅｒ＿ｏｆ＿ＩＧ＿ｓｔｒｅａｍ＿ｅｎｔｒｉｅｓ）を示すデータ構造になっている。【００９４】  ｅｎｔｒｙ−ａｔｔｒｉｂｕｔｅの組みは、図中の括弧記号”｛”に示すように、ＰｌａｙＩｔｅｍにおいて再生可能なビデオストリーム、Ｐｒｉｍａｒｙオーディオストリーム、Ｓｅｃｏｎｄａｒｙオーディオストリーム、ＰＧストリーム、ＩＧストリームのそれぞれに対応している。特に注意すべきは、ＳｅｃｏｎｄａｒｙオーディオストリームにおけるＳｔｒｅａｍ＿ｅｎｔｒｙと、Ｓｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅとの組みが、Ｃｏｍｂ＿ｉｎｆｏ＿Ｓｅｃｏｎｄａｒｙ＿ａｕｄｉｏ＿Ｐｒｉｍａｒｙ＿ａｕｄｉｏと対応付けられている点である。【００９５】  ｅｎｔｒｙ−ａｔｔｒｉｂｕｔｅの詳細について説明する。
図２１（ａ）は、ビデオストリームに対応したＳｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅを示す図である。
ビデオストリームにおけるＳｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅは、ビデオストリームの表示方式を示す『Ｖｉｄｅｏ＿ｆｏｒｍａｔ』と、ビデオストリームの表示周波数を示す『ｆｒａｍｅ＿ｒａｔｅ』等を含む。【００９６】  図２１（ｂ）は、Ｐｒｉｍａｒｙオーディオストリーム、Ｓｅｃｏｎｄａｒｙオーディオストリームに対応したＳｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅを示す図である。
Ｐｒｉｍａｒｙオーディオストリーム，ＳｅｃｏｎｄａｒｙオーディオストリームにおけるＳｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅは、オーディオストリームの符号化方式を示す『ｓｔｒｅａｍ＿ｃｏｄｉｎｇ＿ｔｙｐｅ』と、ｓｔｒｅａｍ＿ｃｏｄｉｎｇ＿ｔｙｐｅにより示される符号化方式がＤＴＳまたはＤＴＳ−ＨＤである場合に、オーディオフレームの構成を示す『ｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅ』と、対応するオーディオストリームのチャネル構成を示す『ａｕｄｉｏ＿ｐｒｅｓｅｎｔａｔｉｏｎ＿ｔｙｐｅ』と、対応するオーディオストリームのサンプリング周波数を示す対応する『Ｓａｍｐｌｉｎｇ＿ｆｒｅｑｕｅｎｃｙ』と、オーディオストリームの言語属性を示す『ａｕｄｉｏ＿ｌａｎｇｕａｇｅ  ｃｏｄｅ』からなる。【００９７】  ｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐにおいて、オーディオフレームの構成は、Ｂａｓｅ，Ｌｅｖｅｌ１，Ｌｅｖｅｌ２，Ｌｅｖｅｌ３という、４つのパラメータの何れかを用いて規定される。図２２は、ＤＴＳ−ＨＤ形式のＰｒｉｍａｒｙオーディオストリームのオーディオフレームにおいて、「ｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅ」におけるＢａｓｅ，Ｌｅｖｅｌ１，Ｌｅｖｅｌ２，Ｌｅｖｅｌ３がそれぞれ、どのようなデータ構造に割り当てられるかを示す図である。ＤＴＳ−ＨＤオーディオストリームのオーディオフレームは、基礎データである「Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍ」と拡張データである「Ｅｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍ」とからなる。Ｃｏｒｅ  ＳｕｂｓｔｒｅａｍはＤＴＳオーディオストリームと同等であり、１．５Ｍｂｐｓの帯域でも伝送させることができる。従ってＳ／ＰＩＤＦでもこのＣｏｒｅ  Ｓｕｂｓｔｒｅａｍを伝送させることができる。それに対して、Ｅｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍは、ＤＴＳオーディオストリームには存在しない拡張データであり、ＤＴＳ−ＨＤに対応したデコーダでないと再生ができない。【００９８】  ＤＴＳ−ＨＤのＣｏｒｅ  ＳｕｂｓｔｒｅａｍであるＣＯＲＥは、４８ｋＨｚ／５．１ｃｈのオーディオデータを格納している。
Ｅｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍは、図の第３段目〜第５段目に示すようにＸＣＨ、Ｘ９６、ＸＬＬの何れかからなる。
ＤＴＳ−ＥＳのＸＣＨは、Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍと共に用いることで、５．１ｃｈに１チャネルを足した６．１Ｃｈ，４８ＫＨｚの音声再生が可能となるオーディオデータを格納することができ、ＤＴＳ−９６／２４のＸ９６は、Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍと共に用いることで、５．１Ｃｈ，９６ＫＨｚの音声再生が可能となるオーディオデータを格納することができる。ＤＴＳ−ＨＤのＸＬＬは、Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍと共に用いることで、１９２ｋＨｚ／マルチチャンネルロスレスの音声再生が可能となるオーディオデータを格納することができる。【００９９】  「ｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅ」にＢａｓｅが設定されている場合、オーディオフレームがＣｏｒｅ  ＳｕｂｓｔｒｅａｍであるＣＯＲＥのみから構成されていることが示される。「ｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅ」にＬｅｖｅｌ１が設定されている場合、オーディオフレームがＣｏｒｅ  ＳｕｂｓｔｒｅａｍであるＣＯＲＥとＥｘｔｅｎｓｉｏｎ  ＳｕｂｓｔｒｅａｍであるＸＣＨとから構成されたＤＴＳ−ＥＳ形式であることが示される。「ｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅ」にＬｅｖｅｌ２が設定されている場合、オーディオフレームがＣｏｒｅ  ＳｕｂｓｔｒｅａｍであるＣＯＲＥとＥｘｔｅｎｓｉｏｎ  ＳｕｂｓｔｒｅａｍであるＸ９６とから構成されたＤＴＳ−９６／２４形式であることが示される。「ｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅ」にＬｅｖｅｌ３が設定されている場合、オーディオフレームがＣｏｒｅ  ＳｕｂｓｔｒｅａｍであるＣＯＲＥとＥｘｔｅｎｓｉｏｎ  ＳｕｂｓｔｒｅａｍであるＸＬＬとから構成されたＤＴＳ−ＨＤ形式であることが示される。【０１００】  尚、上記ではＣｏｒｅ  ＳｕｂｓｔｒｅａｍにはＤＴＳオーディオストリームのＣＯＲＥだけが格納されるとして説明したが、「ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」にはＣｏｒｅ  ＳｕｂｓｔｒｅａｍとＥｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍを区別せずに、ＤＴＳ（ＣＯＲＥ）、ＤＴＳ−ＥＳ（ＸＣＨ）、ＤＴＳ−９６／２４（Ｘ９６）、ＤＴＳ−ＨＤ（ＸＬＬ）のどの拡張データが含まれているかを示すようにしても良い。
図２１（ｃ）は、ビデオストリームにおけるＳｔｒｅａｍ＿ｅｎｔｒｙを示す図である。本図に示すように、ビデオストリームのＳｔｒｅａｍ＿ｅｎｔｒｙは、ビデオストリームの多重分離に用いられるＰＩＤを示す「ｒｅｆ＿ｔｏ＿Ｓｔｒｅａｍ＿ＰＩＤ＿ｏｆ＿Ｍａｉｎ＿Ｃｌｉｐ」を含む。【０１０１】  ＭａｉｎＣｌｉｐにて多重化されているＰｒｉｍａｒｙオーディオストリーム、ＩＧストリーム、ＰＧストリームのＳｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅは、この図２１（ｃ）の形式になっている。
図２１（ｄ）は、ＳｕｂＣｌｉｐにて多重化されているストリーム（以下Ｓｅｃｏｎｄａｒｙオーディオストリームとして説明）におけるＳｔｒｅａｍ＿ｅｎｔｒｙを示す図である。ＳｅｃｏｎｄａｒｙオーディオストリームのＳｔｒｅａｍ＿ｅｎｔｒｙは、Ｓｅｃｏｎｄａｒｙオーディオストリームを参照しているＳｕｂＰａｔｈ情報を示す『ｒｅｆ＿ｔｏ＿Ｓｕｂ＿Ｐａｔｈ＿ｉｄ』、Ｓｅｃｏｎｄａｒｙオーディオストリームが多重化されているＳｕｂＣｌｉｐを示す『ｒｅｆ＿ｔｏ＿Ｓｕｂ＿Ｃｌｉｐ＿ｅｎｔｒｙ＿ｉｄ』、Ｓｅｃｏｎｄａｒｙオーディオストリームの多重分離に用いられるＰＩＤを示す『ｒｅｆ＿ｔｏ＿ｓｔｒｅａｍ＿ＰＩＤ＿ｏｆ＿Ｓｕｂ＿Ｃｌｉｐ』を含む。【０１０２】  図２１（ｅ）は、ＳｅｃｏｎｄａｒｙオーディオストリームにおけるＳｔｒｅａｍ＿ｅｎｔｒｙと、Ｓｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅとの組みに対応付けられている、Ｃｏｍｂ＿ｉｎｆｏ＿Ｓｅｃｏｎｄａｒｙ＿ａｕｄｉｏ＿Ｐｒｉｍａｒｙ＿ａｕｄｉｏの内部構成を示す。Ｃｏｍｂ＿ｉｎｆｏ＿Ｓｅｃｏｎｄａｒｙ＿ａｕｄｉｏ＿Ｐｒｉｍａｒｙ＿ａｕｄｉｏは、各Ｓｅｃｏｎｄａｒｙオーディオストリームごとに組合せ可能なＰｒｉｍａｒｙオーディオストリームの総数を示すｎｕｍｂｅｒ＿ｏｆ＿ｐｒｉｍａｒｙ＿ａｕｄｉｏ＿ｓｔｒｅａｍ＿ｒｅｆ＿ｅｎｔｒｉｅｓと、再生時に組合せることができるＰｒｉｍａｒｙオーディオストリームのストリーム番号を示すＰｒｉｍａｒｙ＿ａｕｄｉｏ＿ｓｔｒｅａｍ＿ｉｄ＿ｒｅｆ［０］〜［ｎ］とからなる。【０１０３】  図２３は、Ｃｏｍｂ＿ｉｎｆｏ＿Ｓｅｃｏｎｄａｒｙ＿ａｕｄｉｏ＿Ｐｒｉｍａｒｙ＿ａｕｄｉｏによるＰｒｉｍａｒｙオーディオストリームの指定を示す図である。ここで本図の右側は、３２本のＳｅｃｏｎｄａｒｙオーディオストリームを示し、左側は、３２本のＰｒｉｍａｒｙオーディオストリームを示す。そして矢印ｙｍ１は、Ｓｅｃｏｎｄａｒｙオーディオストリーム＃１におけるＣｏｍｂ＿ｉｎｆｏ＿Ｓｅｃｏｎｄａｒｙ＿ａｕｄｉｏ＿Ｐｒｉｍａｒｙ＿ａｕｄｉｏによる指定を示す。このようにＳｅｃｏｎｄａｒｙオーディオストリーム毎に設定されるＣｏｍｂ＿ｉｎｆｏ＿Ｓｅｃｏｎｄａｒｙ＿ａｕｄｉｏ＿Ｐｒｉｍａｒｙ＿ａｕｄｉｏは、そのＳｅｃｏｎｄａｒｙオーディオストリームの再生出力をミキシングすることができる１つ以上のＰｒｉｍａｒｙオーディオストリームを一意に指定する。これにより、所定の属性を有しているようなＰｒｉｍａｒｙオーディオストリームの再生時においては、Ｓｅｃｏｎｄａｒｙオーディオストリームをミキシングさせず、それ以外の属性を有しているようなＰｒｉｍａｒｙオーディオストリームの再生時においてのみ、Ｓｅｃｏｎｄａｒｙオーディオストリームをミキシングするというような、音声属性に応じた、ミキシングの可否を、オーサリング時に設定しておくことができる。【０１０４】  以上がローカルストレージ２００の構成たるＰｌａｙＬｉｓｔ情報についての説明である。以上で、ローカルストレージ２００についての説明を終える。
＜バーチャルパッケージ＞
以降、バーチャルパッケージについて説明する。図２４は、ストリーム供給装置３００により生成されるバーチャルパッケージを示す図である。本図の左上は、ＢＤ−ＲＯＭの記録内容を示し、左下は、ローカルストレージ２００の記録内容を示す。右側は、バーチャルパッケージの構成を示す。【０１０５】  ストリーム供給装置３００は、ＢＤ−ＲＯＭに存在するＡＶＣｌｉｐ、Ｃｌｉｐ情報、ＰｌａｙＬｉｓｔ情報に、ローカルストレージ２００に存在するＡＶＣｌｉｐ、Ｃｌｉｐ情報、ＰｌａｙＬｉｓｔ情報を組み合わせて、仮想的な１つのＢＤ−ＲＯＭディスクイメージ（バーチャルパッケージ）を得る。
この組合せは、
ｉ）Ｌｏｃａｌ  Ｓｔｏｒａｇｅ上のＰｌａｙＬｉｓｔ（００００２．ｍｐｌｓ）を、ＢＤ−ＲＯＭにおけるＭＰＬＳディレクトリに仮想的に追加し、
ｉｉ）Ｌｏｃａｌ  Ｓｔｏｒａｇｅ上のＣｌｉｐ情報＃２（００００２．ｃｌｐｉ）を、ＢＤ−ＲＯＭにおけるＣＬＰＩディレクトリに仮想的に追加し、
ｉｉｉ）Ｌｏｃａｌ  Ｓｔｏｒａｇｅ上のＡＶＣｌｉｐ＃２（００００２．ｍ２ｔｓ）を、ＢＤ−ＲＯＭにおけるＳＴＲＥＡＭディレクトリに仮想的に追加することでなされる。【０１０６】  こうすることにより、図２４の右側に示すようなバーチャルパッケージが構成される。
以上が記録媒体についての説明である。続いて本発明に係るオーディオアンプ４００について説明する。
図２５は、本発明に係るオーディオアンプ４００の内部構成を示す図である。本発明に係るオーディオアンプ４００は、本図に示す内部構成に基づき、工業的に生産される。本発明に係るオーディオアンプ４００は、主としてシステムＬＳＩを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムＬＳＩは、オーディオアンプ４００の機能を果たす様々な処理部を集積した集積回路である。こうして生産されるオーディオアンプ４００は、バッファ３１、オーディオデコーダ３２、Ｍｉｘｅｒ３３、コントローラ３４、ＨＤＭＩ送受信部３５、ＥＥＰＲＯＭ３６から構成される。【０１０７】  バッファ３１は、ＨＤＭＩ送受信部３５で受信したデータのうち、Ｐｒｉｍａｒｙオーディオストリームを、先入れ先だし式に格納して、オーディオデコーダ３２に供する。
オーディオデコーダ３２は、バッファ３１に格納されたＰｒｉｍａｒｙオーディオストリームに対しデコード処理を行い、非圧縮状態のＬＰＣＭ状態のオーディオデータを得てＭｉｘｅｒ３３へ出力する。【０１０８】  Ｍｉｘｅｒ３３は、オーディオデコーダ３２から出力されたデジタルオーディオを、オーディオアンプ４００に接続されているスピーカ５００のスピーカ数や配置（以下、スピーカ構成という）に応じたチャンネル数となるように変換し、各スピーカへ割り当てて出力する。例えば、デコードして得られた５．１ｃｈのデジタルオーディオを接続されたスピーカ数（２．１ｃｈなど）に減らして出力することもあれば、デコードして得られた２ｃｈのデジタルオーディオを接続されたスピーカ数（５．１ｃｈなど）に増やして出力することもある。【０１０９】  コントローラ３４は、ＣＰＵが命令ＲＯＭに記録されているプログラムを読み出して実行することで、オーディオアンプ４００の動作を制御する。
ＨＤＭＩ送受信部３５は、ＨＤＭＩを介して接続されたストリーム供給装置３００へ自装置の機器性能を示す情報を送信する。また、ＨＤＭＩ送受信部３５は、ＨＤＭＩを介したストリーム供給装置３００からのオーディオデータの受信を行なう。【０１１０】  ＥＥＰＲＯＭ３６は、ＨＤＭＩ送受信部３５がストリーム供給装置３００へ通知する、自装置の機器性能を示す情報（以下、ＤＩＢ（Ｄｅｃｏｄｅｒ  Ｉｎｆｏｍａｔｉｏｎ  Ｂｌｏｃｋ））を保持している不揮発性メモリである。ＤＩＢとしては、ＥＩＡ／ＣＥＡ−８６１Ｂに規定されたＥ−ＥＤＩＤ（ＥＮＨＡＮＣＥＤ  ＥＸＴＥＮＤＥＤ  ＤＩＳＰＬＡＹ  ＩＤＥＮＴＩＦＩＣＡＴＩＯＮ  ＤＡＴＡ）等を用いることができる。図２６（ａ）は、ＤＩＢにおいて、音声再生性能に関する部分のデータ構造を模式的に示した図である。【０１１１】  本図に示すようにＤＩＢは、音声再生性能に関する情報として、「ＣＯＤＩＮＧ  ＴＹＰＥ」、「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」、「Ｃｈａｎｎｅｌ  Ｃｏｕｎｔ」、「Ｃｈａｎｎｌｅ／Ｓｐｅａｋｅｒ  Ａｌｌｏｃａｔｉｏｎ」、及び「Ｓａｍｐｌｅ  Ｆｒｅｎｑｕｅｎｃｙ」の各フィールドを含む。
図２６（ｂ）は、ＤＩＢの各フィールドに設定しうる値を示す。
「ＣＯＤＩＮＧ  ＴＹＰＥ」は、オーディオデコーダ３２でデコードすることができる符号化方式が、ＤＴＳ−ＨＤ、ＭＬＰ、ＤＤ＋などのうち、どれであるかを示す。【０１１２】  「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」は、「ＣＯＤＩＮＧ  ＴＹＰＥ」によりＤＴＳ−ＨＤのデコードが可能であると示される場合に、ＤＴＳオーディオストリームの拡張規格であるＤＴＳ−ＨＤオーディオストリームの拡張データを、どのレベルまでデコード可能であるかを示す。拡張データをデコード可能なレベルは、Ｂａｓｅ，Ｌｅｖｅｌ１，Ｌｅｖｅｌ２，Ｌｅｖｅｌ３という、４つのパラメータの何れかを用いて規定される。【０１１３】  「Ｃｈａｎｎｅｌ  Ｃｏｕｎｔ」は、７．１ｃｈ、５．１ｃｈ、２ｃｈなどデコード可能なチャンネル数を示す。
「Ｃｈａｎｎｅｌ／Ｓｐｅａｋｅｒ  Ａｌｌｏｃａｔｉｏｎ」は、５．１ｃｈのステレオ配置である「Ｌ／Ｒ／Ｃ／ＬＳ／ＲＳ／ＬＦＥ」、７．１ｃｈのステレオ配置である「Ｌ／Ｒ／Ｃ／ＬＳ／ＲＳ／ＬＲ／ＲＲ／ＬＦＥ」、２ｃｈのステレオ配置である「Ｌ／Ｒ」などのスピーカーの物理的な配置情報を示す。
「Ｓａｍｐｌｅ  Ｆｒｅｎｑｕｅｎｃｙ」は、「４８ＫＨｚ」、「１９２ＫＨｚ」、「９６ＫＨｚ」などの再生することができるサンプリング周波数示す。【０１１４】  以下、「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」の詳細について説明する。
「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」におけるＢａｓｅ，Ｌｅｖｅｌ１，Ｌｅｖｅｌ２，Ｌｅｖｅｌ３はそれぞれ、ＤＴＳ−ＨＤに対して、図２２に示すように、ＢａｓｅはＤＴＳ（ＣＯＲＥ）に割り当てられ、Ｌｅｖｅｌ１はＤＴＳ−ＥＳ（ＣＯＲＥ＋ＸＣＨ）、Ｌｅｖｅｌ２はＤＴＳ−９６／２４（ＣＯＲＥ＋Ｘ９６）に割り当てられ、Ｌｅｖｅｌ３はＤＴＳ−ＨＤ（ＣＯＲＥ＋ＸＬＬ）に割り当てられる。そこで「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」にＢａｓｅが設定されている場合、オーディオデコーダ３２がＤＴＳ−ＨＤ形式のオーディオストリームのデコードにＤＴＳ（のＣＯＲＥ）のみをデコードすることが可能であることが示される。「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」にＬｅｖｅｌ１が設定されている場合、オーディオデコーダ３２がＤＴＳ−ＨＤ形式のオーディオストリームのデコードにＤＴＳ−ＥＳ（ＣＯＲＥ＋ＸＣＨ）までデコードできることが示される。「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」にＬｅｖｅｌ２が設定されている場合、オーディオデコーダ３２がＤＴＳ−ＨＤ形式のオーディオストリームのデコードにＤＴＳ−９６／２４（ＣＯＲＥ＋Ｘ９６）までデコードできることが示される。「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」にＬｅｖｅｌ３が設定されている場合、オーディオデコーダ３２がＤＴＳ−ＨＤ形式のオーディオストリームのデコードにＤＴＳ−ＨＤ（ＣＯＲＥ＋ＸＣＨ＋Ｘ９６＋ＸＬＬ）までデコードできることが示される。【０１１５】  以上が、本実施形態に係るオーディオアンプ４００のハードウェア構成である。続いて本実施形態に係るオーディオアンプ４００のソフトウェア構成について説明する。ＣＰＵが命令ＲＯＭに記録されたソフトウェアを読み出して実行することで、コントローラ３４は、オーディオアンプの音声再生を制御する。図２７は、コントローラ３４の処理手順を示す図である。【０１１６】  ステップＳ４０１は、装置起動がなされたかか否かの起動待ち判定であり、もし起動されれば、ＨＤＭＩを介した接続相手の機器の認証を行う（ステップＳ４０２）。この認証により、相互の正当性が判明すれば、ステップＳ４０３に移行する。ステップＳ４０３で、ストリーム供給装置３００へのＥＥＰＲＯＭ３６が保持しているＤＩＢの送信処理をＨＤＭＩ送受信部３５に実行させた後は、ステップＳ４０４に移行する。ステップＳ４０４は、オーディオストリームの受信待ちループであり、もしオーディオストリームを受信すれば（ステップＳ４０４でｙｅｓ）、音声再生を開始する（ステップＳ４０５）。【０１１７】  以上が、本実施形態に係るオーディオアンプ４００についての説明である。続いて本発明に係るストリーム供給装置３００について説明する。
図２８は、本発明に係るストリーム供給装置３００の内部構成を示す図である。本発明に係るストリーム供給装置３００は、本図に示す内部構成に基づき、工業的に生産される。本発明に係るストリーム供給装置３００は、主としてシステムＬＳＩと、ドライブ装置という２つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムＬＳＩは、ストリーム供給装置３００の機能を果たす様々な処理部を集積した集積回路である。こうして生産されるストリーム供給装置３００は、ＢＤ−ＲＯＭドライブ１ａ、バス１ｂ、リードバッファ２ａ，ｂ、デマルチプレクサ３ａ，ｂ、ビデオデコーダ４、ビデオプレーン５、バッファ６ａ，ｂ、オーディオデコーダ７ａ，ｂ、ＤｏｗｎＭｉｘ／ＤｏｗｎＳａｍｐｌｅ８、ミキサー９ａ、ミキサー９ｂ、スイッチ１０ａ、エンコーダ１０ｂ、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓデコーダ１１、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１２、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓデコーダ１３、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１４、ＪＰＥＧデコーダ１５、Ｓｔｉｌｌプレーン１６、合成部１７、ＳＴＣ生成部１８ａ，ｂ、ＡＴＣ生成部１９ａ，ｂ、メモリ２１、コントローラ２２、ＰＳＲセット２３、ＰＩＤ変換部２４、通信部２５、操作受付部２６、ＨＤＭＩ送受信部２７から構成される。【０１１８】  ＢＤ−ＲＯＭドライブ１ａは、ＢＤ−ＲＯＭのローディング／イジェクトを行い、ＢＤ−ＲＯＭディスクに対するアクセスを実行する。
バス１ｂは、ＢＤ−ＲＯＭから読み出されたＴＳパケット、ローカルストレージ２００から読み出されたＴＳパケットが転送される。
リードバッファ２ａは、ＦＩＦＯメモリであり、ＢＤ−ＲＯＭディスク１００またはローカルストレージ２００から読み出されたＴＳパケットが先入れ先出し式に格納される。【０１１９】  リードバッファ２ｂは、ＦＩＦＯメモリであり、ローカルストレージ２００から読み出されたＴＳパケットが先入れ先出し式に格納される。
デマルチプレクサ３ａは、バスに伝送しているＴＳパケットのうち、０ｘ１０１１，０ｘ１１００〜０ｘ１１１Ｆ，０ｘ１２００〜０ｘ１２１Ｆ，０ｘ１４００〜１４１ＦのＰＩＤをもつＴＳパケットのうち、ＰＩＤ変換部２４から通知されたＰＩＤをもつものを、夫々ビデオデコーダ４、スイッチ１０ａ、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓデコーダ１１、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓデコーダ１３に出力する。【０１２０】  デマルチプレクサ３ｂは、バス１ｂに伝送しているＴＳパケットのうち、０ｘ１Ａ００〜０ｘ１Ａ１ＦのＰＩＤをもつもの、即ち、Ｓｅｃｏｎｄａｒｙオーディオストリームを構成するＴＳパケットの多重分離を行う。デマルチプレクサ３ｂによるＳｅｃｏｎｄａｒｙオーディオストリームの多重分離は、ＳＴＮ＿ｔａｂｌｅに含まれるＳｅｃｏｎｄａｒｙオーディオストリームのｓｔｒｅａｍ＿ｅｎｔｒｙのうち、ＰＳＲ１４に格納されているストリーム番号に対応するものに記述されているＰＩＤの参照値と、バス１ｂに転送されているＴＳパケットのＰＩＤとを比較し、当該比較において一致するＰＩＤをもつＴＳパケットを、スイッチ１０ａに出力することでなされる。再生可能なＳｅｃｏｎｄａｒｙオーディオストリームが１つだけである場合、上述した比較は、ｓｔｒｅａｍ＿ｅｎｔｒｙに記述されているＰＩＤ参照値の上位バイト“１Ａ”と、バス１ｂに転送されているＴＳパケットのＰＩＤの上位バイト“１Ａ”との比較で足りる。何故なら、他にＳｅｃｏｎｄａｒｙオーディオストリームが存在しないので、Ｓｅｃｏｎｄａｒｙオーディオストリームであることを意味するＰＩＤ上位バイトを参照すれば充分だからである。【０１２１】  再生可能なＳｅｃｏｎｄａｒｙオーディオストリームが複数存在する場合、上述した比較は、ｓｔｒｅａｍ＿ｅｎｔｒｙに記述されているＰＩＤ参照値の上位バイト“１Ａ”と、バス１ｂに転送されているＴＳパケットのＰＩＤの上位バイト“１Ａ”との比較に加え、ｓｔｒｅａｍ＿ｅｎｔｒｙに記述されているＰＩＤ参照値の下位バイト（０ｘ００から０ｘ１Ｆまでの数値）と、バス１ｂに転送されているＴＳパケットのＰＩＤの下位バイト（０ｘ００から０ｘ１Ｆまでの数値）との比較が必要になる。何故なら、Ｓｅｃｏｎｄａｒｙオーディオストリームが複数存在するので、再生すべきＳｅｃｏｎｄａｒｙオーディオストリームを一意に特定するように、ＰＩＤの下位バイトまで参照する必要があるからである。【０１２２】  ここでバス１ｂには、ＢＤ−ＲＯＭから読み出されたＴＳパケット、ローカルストレージ２００から読み出されたＴＳパケットが転送されているので、デマルチプレクサ３ａ、デマルチプレクサ３ｂは、これらＢＤ−ＲＯＭから読み出されたＴＳパケット、ローカルストレージ２００から読み出されたＴＳパケットを、１本のトランスポートストリームとして扱ってバッファに取り込むことができる。Ｐｒｉｍａｒｙオーディオストリームを構成するＴＳパケット、Ｓｅｃｏｎｄａｒｙオーディオストリームを構成するＴＳパケットに割り当てられているＰＩＤは、ＰＩＤ割当マップにおいて、異なるゾーンに存在しているのでデマルチプレクサ３ａ、デマルチプレクサ３ｂは、これらを１��として、取り込みつつもこれらＰｒｉｍａｒｙオーディオストリーム、Ｓｅｃｏｎｄａｒｙオーディオストリームを別々のエレメンタリストリームとして出力することができる。この際、デマルチプレクサ３ａ、デマルチプレクサ３ｂは、１つのトランスポートストリームに多重化されている複数のオーディオストリームを多重分離するのと同じ手順を経ることにより、デコーダに供給することができるので、１つのトランスポートストリームから所定のＰＩＤを持つＴＳパケットだけを多重分離するようなデマルチプレクサと互換を保つ構成で、Ｐｒｉｍａｒｙオーディオストリーム、Ｓｅｃｏｎｄａｒｙオーディオストリームを、該当するデコーダに供給することができる。【０１２３】  尚、実装上デマルチプレクサを１つに集約することが考えられる。この場合にもＰｒｉｍａｒｙオーディオとＳｅｃｏｎｄａｒｙオーディオのＰＩＤが異なることが同様に有効である。
以上が、ＢＤ−ＲＯＭドライブ１ａ、バス１ｂ〜デマルチプレクサ３ａ、デマルチプレクサ３ｂについての説明である。
ビデオデコーダ４は、デマルチプレクサ３ａから出力された複数ＰＥＳパケットを復号して非圧縮形式のピクチャを得てビデオプレーン５に書き込む。【０１２４】  ビデオプレーン５は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、ストリーム供給装置３００において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーン５における解像度は１９２０×１０８０であり、このビデオプレーン５に格納されたピクチャデータは、１６ビットのＹＵＶ値で表現された画素データにより構成される。【０１２５】  バッファ６ａは、デマルチプレクサ３ａから出力されたＴＳパケットがスイッチ１０ａを介して供給される場合に、ＰＩＤ＝０ｘ１１００〜１１１Ｆのうち再生されるべきオーディオストリームのＰＩＤを有するＴＳパケットを、先入れ先だし式に格納して、オーディオデコーダ７ａに供する。
バッファ６ｂは、デマルチプレクサ３ｂから出力されたＴＳパケットがスイッチ１０ａを介して供給される場合に、ＰＩＤ＝０ｘ１Ａ００〜１Ａ１Ｆを有するＴＳパケットのうち再生されるべきオーディオストリームのＰＩＤを有するＴＳパケットのみを、先入れ先だし式に格納して、オーディオデコーダ７ｂに供する。【０１２６】  バッファ６ｃは、ＢＤ−ＲＯＭ／ローカルストレージから読み出されたファイルｓｏｕｎｄ．ｂｄｍｖをプリロードしておくためのメモリである。バッファ６ｃへのプリロードは、ＢＤ−ＲＯＭのローディング時やタイトル切替時に行うことが望ましい。何故なら、ＡＶＣｌｉｐの再生中にファイルｓｏｕｎｄ．ｂｄｍｖを読み出そうとすると、ＡＶＣｌｉｐとは別のファイルを読み出すための光ピックアップのシークが発生するからである。一方、ＢＤ−ＲＯＭの装填時やタイトル切替時には、ＡＶＣｌｉｐの再生が継続していることは希なので、かかるタイミングにファイルｓｏｕｎｄ．ｂｄｍｖを読み出すことにより、機器の応答性を高めＡＶＣｌｉｐ再生が途切れにくくすることができる。【０１２７】  オーディオデコーダ７ａは、バッファ６ａに格納されたＴＳパケットをＰＥＳパケットに変換して、このＰＥＳパケットに対しデコード処理を行い、非圧縮状態のＬＰＣＭ状態のオーディオデータを得て出力する。これによりＰｒｉｍａｒｙオーディオストリームにおけるデジタル出力がなされる。
オーディオデコーダ７ｂは、バッファ６ｂに格納されたＴＳパケットをＰＥＳパケットに変換して、このＰＥＳパケットに対しデコード処理を行い、非圧縮状態のＬＰＣＭ状態のオーディオデータを得て出力する。これによりＳｅｃｏｎｄａｒｙオーディオストリームにおけるデジタル出力がなされる。【０１２８】  ＤｏｗｎＭｉｘ／ＤｏｗｎＳａｍｐｌｅ８は、ミキシングを行うにあたって、オーディオデコーダ７ａから出力されたデジタルオーディオの音声属性を、オーディオデコーダ７ｂから出力されるデジタルオーディオの音声属性に合わせるための変換を施す。ここで音声属性とは、サンプリング周波数かつ／またはチャンネル数であり、これらを整合させる処理がなされる。またＤｏｗｎＭｉｘ／ＤｏｗｎＳａｍｐｌｅ８もしくはミキサー９ａは、Ｓｅｃｏｎｄａｒｙオーディオストリームに多重化されている、メタデータに従い、Ｐｒｉｍａｒｙオーディオストリーム側のゲインを下げたりする処理もオーディオデコーダ７ｂが抽出したゲイン制御情報によって行う。【０１２９】  ミキサ９ａは、オーディオデコーダ７ａから出力されるＬＰＣＭ状態のデジタルオーディオと、オーディオデコーダ７ｂから出力されるＬＰＣＭ状態のデジタルオーディオとをミキシングする。
ミキサ９ｂは、ミキサ９ａから出力されるＬＰＣＭ状態のデジタルオーディオと、バッファ６ｃに格納されているサウンドデータとをミキシングする。このサウンドミキサ９ｂによるミキシングは、クリック音の発音を意図したようなナビゲーションコマンド、又は、クリック音の発音を意図したようなバイトコードを、ＣＰＵ２２が解読することでなされる。【０１３０】  スイッチ１０ａは、デマルチプレクサ３ａにより多重分離がなされた、Ｐｒｉｍａｒｙオーディオストリームを構成するＴＳパケット、デマルチプレクサ３ｂにより多重分離がなされたＳｅｃｏｎｄａｒｙオーディオストリームを構成するＴＳパケットを、オーディオデコーダ７ａ，ｂに供給するか、オーディオデコーダ７ａ，ｂに供給せずそのエレメンタリーストリームだけを他機器にパススルー出力するかを、コントローラ２２の制御に応じて切り換えるスイッチである。本実施形態においては、スイッチ１０ａは、Ｐｒｉｍａｒｙオーディオストリームを構成するＴＳパケット及びＳｅｃｏｎｄａｒｙオーディオストリームを構成するＴＳパケットを、バッファ６ａ，ｂを介してオーディオデコーダ７ａ，ｂへ供給することなく、それらのエレメンタリーストリーム（もしくはＰｒｉｍａｒｙオーディオストリームのみ）をＨＤＭＩ送受信部２７へ供給する。これによりストリーム供給装置３００は音声データをパスルー出力するよう動作する。パススルー出力の際に用いる、ＴＳパケットからエレメンタリーストリームへの変換部（ＴＳ／ＰＥＳヘッダの除去を行う）はスイッチ１０ａに組み込まれている。（図示はしていない）
エンコーダ１０ｂは、オーディオデコーダ７ａ，ｂのデコードにより得られ、ミキサー９ａ、ミキサー９ｂによるミキシングがなされたＬＰＣＭ状態のオーディオデータを、サラウンド音声としてＳ／ＰＤＩＦのようなデジタルインターフェース上で送る場合、ミキシングされたＬＰＣＭをＤｏｌｂｙ  Ｄｉｇｉｔａｌ（ＤＤ）形式やＤｉｇｉｔａｌ  Ｔｈｅａｔｅｒ  Ｓｙｓｔｅｍ（ＤＴＳ）形式に圧縮符号化する。【０１３１】  Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓ（ＩＧ）デコーダ１１は、ＢＤ−ＲＯＭ１００又はローカルストレージ２００から読み出されたＩＧストリームをデコードして、非圧縮グラフィクスをＩＧプレーン１２に書き込む。
Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓ（ＩＧ）プレーン１２は、ＩＧデコーダ１１によるデコードで得られた非圧縮グラフィクスが書き込まれる。またＢＤ−Ｊモードにおいて、アプリケーションにより描画された文字やグラフィクスが書き込まれる。【０１３２】  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓ（ＰＧ）デコーダ１３は、ＢＤ−ＲＯＭ又はローカルストレージ２００から読み出されたＰＧストリームをデコードして、非圧縮グラフィクスをＰｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１４に書き込む。ＰＧデコーダ１３によるデコードにより、字幕が画面上に現れることになる。
Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓ（ＰＧ）プレーン１４は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。【０１３３】  ＪＰＥＧデコーダ１５は、ＢＤ−ＲＯＭ又はローカルストレージ２００に記録されているＪＰＥＧデータをデコードして、Ｓｔｉｌｌプレーン１６に書き込む。
Ｓｔｉｌｌプレーン１６は、ＪＰＥＧデータを展開することで得られた非圧縮のグラフィクスデータが格納されるプレーンである。このグラフィクスデータは、Ｊａｖａアプリが描画する、ＧＵＩフレームワークのいわゆる“壁紙”として用いられる。【０１３４】  合成部１７は、Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓプレーン１２の格納内容と、Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｇｒａｐｈｉｃｓプレーン１４の格納内容と、ビデオプレーン５の格納内容と、Ｓｔｉｌｌプレーン１６の格納内容とを合成した合成画像を得る。
ＳＴＣ生成部１８ａ，ｂは、コントローラ２２の指示によってＳｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ（ＳＴＣ）を生成し各デコーダの動作タイミングを調整する。【０１３５】  ＡＴＣ生成部１９ａ，ｂは、コントローラ２２の指示によってＡｒｒｉｖａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ（ＡＴＣ）を生成しデマルチプレクサの動作タイミングを調整する。メモリ２１は、カレントのＰＬ情報やカレントのＣｌｉｐ情報を格納しておくためのメモリである。カレントＰＬ情報とは、ＢＤ−ＲＯＭに記録されている複数ＰｌａｙＬｉｓｔ情報のうち、現在処理対象になっているものをいう。カレントＣｌｉｐ情報とは、ＢＤ−ＲＯＭ／ローカルストレージに記録されている複数Ｃｌｉｐ情報のうち、現在処理対象になっているものをいう。【０１３６】  コントローラ２２は、ＭｏｖｉｅＯｂｊｅｃｔ．ｂｄｍｖに格納されているＭｏｖｉｅ  Ｏｂｊｅｃｔや、ＢＤ−Ｊ  Ｏｂｊｅｃｔにて参照されているＪａｖａアプリケーションを解読し、この解読結果に従ったプレイリスト再生（カレントＰｌａｙＬｉｓｔ情報に従った再生制御のことである）を実行することで、ＢＤ−ＲＯＭの再生制御を実現する。また上述のようなＡＴＳ、ＳＴＣの制御も行なう。尚、コントローラ２２は、オーディオアンプが接続され再生可能なことがＨＤＭＩ接続機器間の認証やＤＩＢの受信により判明している場合には、ＨＤＭＩ送受信部２７及びＳ／ＰＤＩＦ等のＩ／Ｆユニットからテレビ６００へ出力するオーディオデータを削除するか、または無音のオーディオデータを出力するよう制御するとしてもよい。これによりホームシアターシステム環境での視聴中に、テレビ６００内蔵のスピーカから音声が再生されることを防ぐことができる。【０１３７】  ＰＳＲセット２３は、ストリーム供給装置３００に内蔵されるレジスタであり、６４個のＰｌａｙｅｒ  Ｓｅｔｔｉｎｇ／Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ（ＰＳＲ）と、４０９６個のＧｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｒｅｇｉｓｔｅｒ（ＧＰＲ）とからなる。Ｐｌａｙｅｒ  Ｓｅｔｔｉｎｇ／Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒの設定値（ＰＳＲ）のうち、ＰＳＲ４〜ＰＳＲ８は、現在の再生時点を表現するのに用いられる。
ＰＩＤ変換部２４は、ＰＳＲセット２３に格納されているＰｒｉｍａｒｙオーディオストリーム、Ｓｅｃｏｎｄａｒｙオーディオストリームのストリーム番号を、ＳＴＮ＿Ｔａｂｌｅに基づき、ＰＩＤに変換して、変換結果たるＰＩＤをデマルチプレクサ３ａ、デマルチプレクサ３ｂに指示する。【０１３８】  通信部２５は、読出装置における通信機能を実現するものであり、ＢＤ−ＪモードにおいてＵＲＬ指定がＪａｖａアプリケーションから与えられれば、そのＵＲＬにあたるｗｅｂサイトとのＴＣＰコネクション、ＦＴＰコネクション等を確立する。かかるコネクション確立によりｗｅｂサイトからのダウンロードをＪａｖａアプリケーションに行わせる。
操作受付部２６は、リモコンに対してなされた操作をユーザから受け付け、そうした操作を示すＵｓｅｒ  Ｏｐｅｒａｔｉｏｎ情報をコントローラ２２に通知する。【０１３９】  ＨＤＭＩ送受信部２７は、ＨＤＭＩを介して接続された他の機器から、その機器に関する情報を受信してコントローラ２２に通知すると共に、受信した情報に基づいて、ＨＤＭＩを介して接続された他の機器へのデータ送信を制御する。本実施形態では、ストリーム供給装置３００がテレビ６００及びオーディオアンプ４００とそれぞれ異なるＨＤＭＩケーブルで接続されており、ＨＤＭＩ送受信部２７は、ビデオデコーダ４のデコードにより得られたデジタル非圧縮のビデオをテレビ６００へ送信し、ＬＰＣＭや圧縮されたオーディオデータを、オーディオアンプ４００へ送信するよう制御する。オーディオストリームの送信時に、ＨＤＭＩ送受信部２７は、現在送信中のオーディオストリームの詳細を示すＡｕｄｉｏ  ＩｎｆｏＦｒａｍｅを送信する。図２９は、Ａｕｄｉｏ  ＩｎｆｏＦｒａｍｅのデータ構造を模式的に示した図である。【０１４０】  本図に示すようにＡｕｄｉｏ  ＩｎｆｏＦｒａｍｅは、送信中のオーディオストリームの符号化方式を示す「ＣＴ」、チャネル数を示す「ＣＣ」、サンプリング周波数を示す「ＳＦ」、サンプリングサイズを示す「ＳＳ」、ＣＴにより示される符号化方式がＤＴＳである場合に、オーディオフレームの階層構成を示す「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」、各スピーカへのチャンネル割り当てを示す「ＣＡ」、ダウンミキシングの際に用いるレベルシフト値を示す「ＬＳＶ」、及びダウンミキシングの可否を示す「ＤＭ＿ＩＮＡ」の各フィールドを含む。【０１４１】  ここで「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」の値が０００００００１ｂであればオーディオフレームがＤＴＳ（ＣＯＲＥ）のみから構成されていることが示される。「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」の値が００００００１１ｂであればオーディオフレームがＤＴＳ−ＥＳであり、ＣＯＲＥ＋ＸＣＨから構成されていることが示される。「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」の値が０００００１０１ｂであればオーディオフレームがＤＴＳ−９６／２４であり、ＣＯＲＥ＋Ｘ９６から構成されていることが示される。「Ｆｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅ」の値が００００１００１ｂであればオーディオフレームがＤＴＳ−ＨＤであり、ＣＯＲＥ＋ＸＬＬから構成されていることが示される。つまりビット位置ごとに、どのような拡張フレームデータ（ＸＣＨ，Ｘ９６，ＸＬＬなど）があるかを識別できるようになっている。【０１４２】  これによりオーディオストリームがＤＴＳ形式である場合に、オーディオストリームにどのような拡張データが含まれているかをオーディオアンプ４００へ詳細に通知することができる。
以上が、本実施形態に係るストリーム供給装置３００のハードウェア構成である。続いて本実施形態に係るストリーム供給装置３００のソフトウェア構成について説明する。【０１４３】  図２８に示したコントローラ２２を、機能的に表現すると、図３０のようになる。図３０は、コントローラ２２を機能的に表現した図であり、本図に示すようにコントローラ２２は、起動処理部４０、プレイリスト処理部４１、Ｐｒｏｃｅｄｕｒｅ実行部４２、Ｐｒｏｃｅｄｕｒｅ実行部４３、ミキシング制御部４４、ＡＴＣ生成部１９ａ，ｂ、ＳＴＣ生成部１８ａ，ｂに対して、ＡＴＣ／ＳＴＣの生成を行わせるＡＴＣ／ＳＴＣ制御部から構成される。【０１４４】  これらの構成要素の処理は、ＰＳＲセット２３に基づく。以降、ＰＳＲ１、ＰＳＲ１４、ＰＳＲ３１について説明する。
＜ＰＳＲ１＞
図３１（ａ）は、ＰＳＲ１のビットアサインを示す図である。
本図によると、３２ビット長のＰＳＲ１の下位８ビット（ｂ０〜ｂ７）は、ストリーム番号であり、カレントＰｌａｙ  ＩｔｅｍのＳＴＮ＿ｔａｂｌｅにｅｎｔｒｙが記述されている複数Ｐｒｉｍａｒｙオーディオストリームのうち、１つを特定する。ＰＳＲ１の設定値が変化すれば、ストリーム供給装置３００はこの変化後のＰｒｉｍａｒｙオーディオストリームを再生の対象に特定する。ＰＳＲ１は初期値として０ｘＦＦが設定されており、ストリーム供給装置３００により１〜３２の値に設定されうる。この０ｘＦＦは、不定値であり、Ｐｒｉｍａｒｙオーディオストリームが存在しない旨、又は、Ｐｒｉｍａｒｙオーディオストリームが選択されてない旨を示す。１〜３２の設定値は、Ｐｒｉｍａｒｙオーディオストリームのストリーム番号として解釈される。【０１４５】  ＜ＰＳＲ１４＞
図３１（ｂ）は、ＰＳＲ１４のビットアサインを示す図である。
本図によると、３２ビット長のＰＳＲ１４における下位８ビット（ｂ０〜ｂ７）は、ストリーム番号であり、カレントＰｌａｙ  ＩｔｅｍのＳＴＮ＿ｔａｂｌｅにｅｎｔｒｙが記述されている複数Ｓｅｃｏｎｄａｒｙオーディオストリームのうち、１つを特定する。ＰＳＲ１４の設定値が変化すれば、ストリーム供給装置３００はこの変化後のＳｅｃｏｎｄａｒｙオーディオストリームを再生の対象に特定する。ＰＳＲ１４は初期値として０ｘＦＦが設定されており、ストリーム供給装置３００により１〜３２の値に設定されうる。この０ｘＦＦは、不定値であり、Ｓｅｃｏｎｄａｒｙオーディオストリームが存在しない旨、又は、Ｓｅｃｏｎｄａｒｙオーディオストリームが選択されてない旨を示す。１〜３２の設定値は、Ｓｅｃｏｎｄａｒｙオーディオストリームのストリーム番号として解釈される。【０１４６】  ＜ＰＳＲ３１＞
図３１（ｃ）は、ＰＳＲ３１のビットアサインを示す図である。
本図によると、３２ビット長のＰＳＲ３１のうち、１６ビット目から１９ビット目まで（ｂ１６〜ｂ１９）は、Ｐｌａｙｅｒ  Ｐｒｏｆｉｌｅ情報であり、００００ｂであれば、当該ストリーム供給装置は、グレースピリオド内に出荷されたストリーム供給装置であることを示す。ここでグレースピリオドとは、この期間内に出荷されたなら、一定の機能の実装を省くことができる期間である。このグレースピリオドに出荷するため、省略することができる機能には、音声のミキシング機能があり、かかるＰＳＲ３１のＰｌａｙｅｒ  Ｐｒｏｆｉｌｅ情報が、００００ｂであれば、ミキシングを始めとする、様々な機能の実装が省略されているストリーム供給装置であると、知ることができる。【０１４７】  Ｐｌａｙｅｒ  Ｐｒｏｆｉｌｅ情報が０００１ｂであれば、当該ストリーム供給装置は、グレースピリオド経過後に出荷されたストリーム供給装置であることを示す。グレースピリオドの経過後に出荷されたストリーム供給装置は、原則として、全ての機能の実装が義務付けられているので、かかるＰｌａｙｅｒ  Ｐｒｏｆｉｌｅ情報が０００１ｂであるなら、ミキシングが実装されているストリーム供給装置であると、知ることができる。【０１４８】  Ｐｌａｙｅｒ  Ｐｒｏｆｉｌｅ情報が００１１ｂであれば、当該ストリーム供給装置は、全ての機能を実装しているストリーム供給装置であることを示す。かかるストリーム供給装置は、グレースピリオドの経過前後にかかわらず、全ての機能を実装しているので、かかるＰｌａｙｅｒ  Ｐｒｏｆｉｌｅ情報が００１１ｂであるなら、サウンドミキシング機能が実装されているストリーム供給装置であると、知ることができる。【０１４９】  尚、ミキシング機能を示す情報として、ストリーム供給装置がミキシングできるチャンネル数を示す情報をＰＳＲに持たせても良い。
尚、最終の音声出力チャンネル数を示す情報をＰＳＲに持たせても良い。例えばミキシングした結果の５．１ｃｈのＬＰＣＭ音声はＨＤＭＩなどのＩ／Ｆが繋がっているのであればそのままＬＰＣＭでも出力が可能だが、Ｓ／ＰＤＩＦのようなＩ／Ｆの場合にはエンコーダにて圧縮処理を行なわないと５．１ｃｈとしてはＳ／ＰＤＩＦに出力できずに、２ｃｈ（Ｌ／Ｒ）の出力となってしまう。したがって、ミキサーの後段にエンコーダがありＳ／ＰＤＩＦに繋がっている（例えばＨＤＭＩで繋がっていない）と判断した場合には、最終の音声出力チャンネル数は５．１ｃｈと設定できる。もしミキサーの後段にエンコーダがなければ、最終の音声出力チャンネル数はミキシングした後では２ｃｈと設定することができる。【０１５０】  ＜ＰＳＲ１５＞
図３２は、ＰＳＲ１５のビットアサインを示す図である。
ＰＳＲ１５は、３２ビットのビット長を有する。
ＰＳＲ１５のビットｂ０からビットｂ３までは、ＬＰＣＭオーディオストリームをデコードして再生する能力が再生環境（プレイヤ＋アンプなど）に存在するか否かを示す。この４ビットが０００１ｂなら、ステレオ属性をもつ４８／９６ＨｚのＬＰＣＭオーディオストリームを再生する能力が再生環境内にある。この４ビットが００１０ｂなら、サラウンド属性をもつ４８／９６ＨｚのＬＰＣＭオーディオストリームを再生する能力が再生環境内にある。この４ビットが０１０１ｂなら、ステレオ属性をもつ全ての周波数のＬＰＣＭオーディオストリームを再生する能力が再生環境内にある。この４ビットが０１１０ｂなら、サラウンド属性をもつ全ての周波数のＬＰＣＭオーディオストリームを再生する能力が再生環境内にある。【０１５１】  ＰＳＲ１５のビットｂ４からビットｂ７までは、ＤＤ／ＤＤ＋形式のオーディオストリームをデコードして再生する能力が再生環境（プレイヤ＋アンプなど）に存在するか否かを示す。この４ビットの下位２ビットが０１ｂなら、ＤＤ／ＤＤ＋オーディオストリームの基本データ（ｉｎｄｅｐｅｎｄｅｎｔ  ｓｕｂｓｔｒｅａｍ）がステレオをもっている場合、これを再生する能力が再生環境内にある。この４ビットの下位２ビットが１０ｂなら、ＤＤ／ＤＤ＋オーディオストリームの基本データ（ｉｎｄｅｐｅｎｄｅｎｔ  ｓｕｂｓｔｒｅａｍ）がサラウンドをもっている場合、これを再生する能力が再生環境内にある。【０１５２】  この４ビットの上位２ビットが０１ｂなら、ＤＤ／ＤＤ＋オーディオストリームの拡張データ（Ｄｅｐｅｎｄｅｎｔ  ｓｕｂｓｔｒｅａｍ）がステレオ属性をもっている場合、これを再生する能力が再生環境内にある。この４ビットの上位２ビットが１０ｂなら、ＤＤ／ＤＤ＋オーディオストリームの拡張データ（Ｄｅｐｅｎｄｅｎｔ  ｓｕｂｓｔｒｅａｍ）がサラウンドをもっている場合、これを再生する能力が再生環境内にある。【０１５３】  上位２ビットが００であるなら、これを再生する能力が再生環境内に存在しないことを示す。
ＰＳＲ１５のビットｂ８からビットｂ１１までは、ＤＴＳ−ＨＤ形式のオーディオストリームをデコードして再生する能力が再生環境（プレイヤ＋アンプなど）に存在するか否かを示す。この４ビットの下位２ビットが０１ｂなら、ＤＴＳ−ＨＤオーディオストリームの基本データ（Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍ）の２ｃｈまでを再生する能力が再生環境内にある。この４ビットの下位２ビットが１０ｂなら、ＤＴＳ−ＨＤオーディオストリームの基本データ（Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍ）のマルチチャンネルを再生する能力が再生環境内にある。【０１５４】  この４ビットの上位２ビットが０１ｂなら、ＤＴＳ−ＨＤオーディオストリームの拡張データ（Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍ）の２ｃｈまでを再生する能力が再生環境内にある。この４ビットの上位２ビットが１０ｂなら、ＤＴＳ−ＨＤオーディオストリームの拡張データ（Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍ）のマルチチャンネルを再生する能力が再生環境内にある。
上位２ビットが００ｂであるなら、ＤＴＳ−ＨＤオーディオストリームの拡張データ（Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍ）を再生する能力が再生環境内に存在しないことを意味する。【０１５５】  ＰＳＲ１５のビットｂ１２からビットｂ１５までは、ＤＤ／ＭＬＰ形式のオーディオストリームをデコードして再生する能力が再生環境（プレイヤ＋アンプなど）に存在するか否かを示す。この４ビットの下位２ビットが０１ｂなら、ＤＤ形式のオーディオストリームがステレオの音声属性をもっている場合、これを再生する能力が再生環境内にある。この４ビットの下位２ビットが１０ｂなら、ＤＤ形式のオーディオストリームがサラウンドの音声属性をもっている場合、これを再生する能力が再生環境内にある。【０１５６】  この４ビットの上位２ビットが０１ｂなら、ＭＬＰオーディオストリームがステレオの音声属性をもっている場合、これを再生する能力が再生環境内にある。この４ビットの上位２ビットが１０ｂなら、ＭＬＰオーディオストリームがサラウンドの音声属性をもっている場合、これを再生する能力が再生環境内にある。
上位２ビットが００であるなら、これを再生する能力がユーザーの再生環境に存在しないことを示す。【０１５７】  このように、ＰＳＲ１５は、符号化方式毎に、基本データ、拡張データのそれぞれを処理する能力があるか否かを規定できるようにしている。
さらに、ＰＳＲ１５のビットｂ１６からビットｂ１９までは、ＰＳＲ１５のビットｂ８からビットｂ１１までのＤＴＳ−ＨＤ  Ｃａｐａｂｉｌｉｔｙが、再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す。この４ビットの下位２ビットが０１ｂなら、ＤＴＳ−ＨＤオーディオストリームの基本データ（Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙは、自装置であるプレイヤのデコード能力に基づいて設定されている。この４ビットの下位２ビットが１０ｂなら、ＤＴＳ−ＨＤオーディオストリームの基本データ（Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙは、アンプ等の外部機器のデコード能力に基づいて設定されている。この４ビットの下位２ビットが１１ｂなら、自装置であるプレイヤとアンプ等の外部機器とのデコード能力が同等であり、ＤＴＳ−ＨＤオーディオストリームの基本データ（Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙは、これら双方のデコード能力に基づいて設定されている。この４ビットの下位２ビットが００ｂなら、再生環境を構成する何れの機器にもデコード能力がなく、ＤＴＳ−ＨＤオーディオストリームの基本データ（Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙはｉｎｃａｐａｂｌｅに設定されている。【０１５８】  この４ビットの上位２ビットが０１ｂなら、ＤＴＳ−ＨＤオーディオストリームの拡張データ（Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙは、自装置であるプレイヤのデコード能力に基づいて設定されている。この４ビットの上位２ビットが１０ｂなら、ＤＴＳ−ＨＤオーディオストリームの拡張データ（Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙは、アンプ等の外部機器のデコード能力に基づいて設定されている。この４ビットの上位２ビットが１１ｂなら、自装置であるプレイヤとアンプ等の外部機器とのデコード能力が同等であり、ＤＴＳ−ＨＤオーディオストリームの拡張データ（Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙは、これら双方のデコード能力に基づいて設定されている。この４ビットの上位２ビットが００ｂなら、再生環境を構成する何れの機器にもデコード能力がなく、ＤＴＳ−ＨＤオーディオストリームの拡張データ（Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙはｉｎｃａｐａｂｌｅに設定されている。【０１５９】  より詳細には、ビットｂ１６は自装置であるプレイヤのデコード能力に基づいて、基本データ（Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙが設定されたか否かを示し、ビットｂ１７はアンプ等の外部機器のデコード能力に基づいて、基本データ（Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙが設定されたか否かを示している。ビットｂ１８は自装置であるプレイヤのデコード能力に基づいて、拡張データ（Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙが設定されたか否かを示し、ビットｂ１９はアンプ等の外部機器のデコード能力に基づいて、拡張データ（Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍ）のＣａｐａｂｉｌｉｔｙが設定されたか否かを示している。【０１６０】  以上が、ＰＳＲセット２���についての説明である。
以降、起動処理部４０〜ミキシング制御部４４についての説明を開始する。
＜機能構成の詳細その１．起動処理部４０＞
図３３は、ストリーム供給装置３００、オーディオアンプ４００間の通信シーケンスを示す。【０１６１】  ストリーム供給装置３００のＨＤＭＩ送受信部２７は、ストリーム供給装置３００が起動された際や、オーディオアンプ４００と接続された際に、◎１に示すように、相互認証を行い、その後、ストリーム供給装置３００のＨＤＭＩ送受信部２７は、レシーバとなるオーディオアンプ４００側から、◎２に示すようにＤＩＢを受信する。こうして受信したＤＩＢにおいて、オーディオアンプ４００側に、Ｐｒｉｍａｒｙオーディオストリームをデコードする能力が存在すれば、オーディオアンプ４００に対し、◎３に示すようにＰｒｉｍａｒｙオーディオストリームのパススルー出力を行う。【０１６２】  この時、オーディオアンプ４００のデコード能力に応じたＰｒｉｍａｒｙオーディオストリームがパススルー出力の対象となるように、起動処理部４０は、ＨＤＭＩ送受信部２７を介してホームシアターシステムの構成を取得し、その構成に応じてＰＳＲ１５を設定する。
オーディオの再生可否を行なう基本情報であるＰＳＲ１５をプレイヤ内蔵のデコーダだけでなく、アンプなどを含めたユーザーの再生環境全体を参照して規定することで、音声選択の幅が増え、より適切な再生可否判断が実現できる。【０１６３】  図３４、図３５は、起動処理部４０による処理手順を示すフローチャートである。
図３４のステップＳ１０１は、装置起動がなされたかか否かの起動待ち判定であり、もし起動されれば自機のデコード能力に応じたＰＳＲ１５を設定する（ステップＳ１０２）。その後、ＨＤＭＩを介して他の機器と接続されているかを判定する（ステップＳ１０３）。ＨＤＭＩを介して他の機器と接続されていない場合は（ステップＳ１０３でｎｏ）、ＰＳＲ１５により示されるデコード能力に応じたＰｒｉｍａｒｙオーディオストリームを選択させる手順をＰｒｏｃｅｄｕｒｅ実行部４２に実行させる（ステップＳ１０８）。ＨＤＭＩを介して他の機器と接続されている場合は（ステップＳ１０３でｙｅｓ）、ＨＤＭＩを介した接続相手の機器の認証を行う（ステップＳ１０４）。この認証により、相互の正当性が判明すれば、ステップＳ１０５に移行する。ステップＳ１０５は、ＤＩＢを受信したかどうかの受信待ちループであり、もしＤＩＢを受信すれば（ステップＳ１０５でｙｅｓ）、接続相手から受け取ったＤＩＢにより、接続相手の能力及びスピーカ配置を認識する（ステップＳ１０６）。ステップＳ１０７は、接続相手に再生能力が存在するか否かの判定であり、もし再生能力が存在するなら、ＤＩＢに応じて、ＰＳＲ１５におけるＰｌａｙｅｒ  ｃａｐａｂｉｌｉｔｙ  ｆｏｒ  Ａｕｄｉｏの追加設定を行う（ステップＳ１０８）。そして、ＰＳＲ１５により示されるデコード能力に応じたＰｒｉｍａｒｙオーディオストリームを選択させる手順をＰｒｏｃｅｄｕｒｅ実行部４２に実行させる（ステップＳ１０９）。【０１６４】  以降、選択されたＰｒｉｍａｒｙオーディオストリームがＤＴＳ−ＨＤオーディオストリームである場合を例に、説明を続ける。
図３５のステップＳ１１０は、ステップＳ１０９で選択されたＤＴＳ−ＨＤオーディオストリームがＥｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍを含まないフレーム構成であるか否かの判定である。この判定は、図２１（ｂ）に示すＳｔｒｅａｍ＿ａｔｔｒｉｂｕｔｅのｓｔｒｅａｍ＿ｃｏｄｉｎｇ＿ｔｙｐｅに基づいて判定できる。【０１６５】  ステップＳ１０９で選択されたＤＴＳ−ＨＤオーディオストリームがＥｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍを含まないフレーム構成である場合（ステップＳ１１０でｎｏ）、ＤＴＳ−ＨＤオーディオストリームのＣｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙが、ＨＤＭＩを介して接続された機器のデコード能力に基づいて設定されたか否かを、ＰＳＲ１５のビットｂ１７の値によって判定する（ステップＳ１１１）。ＰＳＲ１５のビットｂ１７が０ｂであるならば（ステップＳ１１１で０ｂ）、ＨＤＭＩを介して接続された機器のデコード能力に基づいてＣｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙが設定されていないので、ＢＤ−ＲＯＭから読み出されたＡＶＣｌｉｐのＰｒｉｍａｒｙオーディオストリームを、バッファ６ａを介してデコーダ７ａへ出力するようにスイッチ１０ａを制御する（ステップＳ１１２）。ＰＳＲ１５のビットｂ１７が１ｂであるならば（ステップＳ１１１で１ｂ）、ＨＤＭＩを介して接続された機器のデコード能力に基づいてＣｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙが設定されているので、ＢＤ−ＲＯＭから読み出されたＡＶＣｌｉｐのＰｒｉｍａｒｙオーディオストリームを、パススルー出力するようにスイッチ１０ａを制御する（ステップＳ１１３）。ここでパススルー出力を行う場合、ＰＳＲ３１のＰｌａｙｅｒ  Ｐｒｏｆｉｌｅ情報には、ミキシング不可能な機器であることを示す値を格納しておく。そうしないと、Ｐｒｏｃｅｄｕｒｅ実行部４３がＳｅｃｏｎｄａｒｙオーディオストリームを選択しようとして、Ｐｒｉｍａｒｙオーディオストリームだけでなく、Ｓｅｃｏｎｄａｒｙオーディオストリームのパススルー出力がなされるからである。【０１６６】  一方、ステップＳ１０９で選択されたＤＴＳ−ＨＤオーディオストリームがＥｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍを含むフレーム構成である場合（ステップＳ１１０でｙｅｓ）、ＤＴＳ−ＨＤオーディオストリームのＥｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙが、ＨＤＭＩを介して接続された機器のデコード能力に基づいて設定されたか否かを、ＰＳＲ１５のビットｂ１９の値によって判定する（ステップＳ１１４）。
ＰＳＲ１５のビットｂ１９が１ｂであるならば（ステップＳ１１４で１ｂ）、ＢＤ−ＲＯＭから読み出されたＡＶＣｌｉｐのＰｒｉｍａｒｙオーディオストリームを、パススルー出力するようにスイッチ１０ａを制御する（ステップＳ１１３）。ＰＳＲ１５のビットｂ１９が０ｂであるならば（ステップＳ１１４で０ｂ）、さらに、ＤＴＳ−ＨＤオーディオストリームのＥｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙが、自機のデコード能力に基づいて設定されたか否かを、ＰＳＲ１５のビットｂ１８の値によって判定する（ステップＳ１１５）。ＰＳＲ１５のビットｂ１８が１ｂであるならば（ステップＳ１１５で１ｂ）、自機のデコード能力でＥｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍを再生可能であるので、ＢＤ−ＲＯＭから読み出されたＡＶＣｌｉｐのＰｒｉｍａｒｙオーディオストリームを、バッファ６ａを介してデコーダ７ａへ出力するようにスイッチ１０ａを制御し（ステップＳ１１２）、ＰＳＲ１５のビットｂ１８が０ｂであるならば（ステップＳ１１４で０ｂ）、自機のデコード能力でＥｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍを再生不可能であるのでＣｏｒｅ  ｓｕｂｓｔｒｅａｍを再生対象とし、Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙが、ＨＤＭＩを介して接続された機器のデコード能力に基づいて設定されたか否かを、ＰＳＲ１５のビットｂ１７の値によって判定する（ステップＳ１１１）。ＨＤＭＩを介して接続された機器のデコード能力に基づいてＣｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙが設定されていなければ（ステップＳ１１１で０ｂ）、ＢＤ−ＲＯＭから読み出されたＡＶＣｌｉｐのＰｒｉｍａｒｙオーディオストリームを、バッファ６ａを介してデコーダ７ａへ出力するようにスイッチ１０ａを制御し（ステップＳ１１２）、ＨＤＭＩを介して接続された機器のデコード能力に基づいてＣｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙが設定されていれば（ステップＳ１１１で１ｂ）、ＢＤ−ＲＯＭから読み出されたＡＶＣｌｉｐのＰｒｉｍａｒｙオーディオストリームを、パススルー出力するようにスイッチ１０ａを制御する（ステップＳ１１３）。【０１６７】  プレイヤでデコードしてアンプにＬＰＣＭとして出力させずに、スピーカが直接繋がっているアンプにて直接デコードすることを優先させることによって、ノイズの混入を抑えたり、転送の帯域を抑えることができる他、スピーカの特性に応じた音声信号の加工が適切に行なえるようになるため高音質な再生が得られる。
尚、上記では階層構造を持つＤＴＳ−ＨＤオーディオストリームを例に説明したが、階層構造を持たない他のオーディオストリーム（例えば、Ｄｏｌｂｙ  Ｄｉｇｉｔａｌ（ＡＣ−３）やＭＰＥＧ−１Ａｕｄｉｏなど）であってもＰＳＲ１５の設定は同様に可能である。ＰＳＲ１５の情報を基にストリームのデコードをＰｌａｙｅｒで行なうのか、外部機器（アンプ）で行なうかを判定し、外部機器でデコードできる場合にはパススルー出力を選択するのも同様に可能である。【０１６８】  図３６は、ＣＯＤＩＮＧ  ＴＹＰＥがＤＴＳ−ＨＤである際に、ＤＩＢに応じてＰＳＲ１５におけるＰｌａｙｅｒ  ｃａｐａｂｉｌｉｔｙ  ｆｏｒ  Ａｕｄｉｏを追加設定する処理手順を示すフローチャートである。本フローチャートの処理手順が開始される時点で、ＰＳＲ１５には自機のデコード能力に応じた値が設定されており、本フローチャートの実行により、ＤＩＢにより性能が示される機器のデコード能力が自機より勝るか同等である符号化方式についてＰＳＲ１５の設定値が更新される。【０１６９】  図３６のフローチャートにおいてステップＳ２００は、ＤＩＢのＦｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅにＬｅｖｅｌ１〜Ｌｅｖｅｌ３が記載されているか否かの判定であり、ステップＳ２０１は、ＤＩＢのＣｈａｎｎｅｌ  Ｃｏｕｎｔに２よりも大きな値が記載されているか否かの判定である。
ステップＳ２００がｙｅｓ、ステップＳ２０１がｙｅｓである場合、ステップＳ２０２において、Ｅｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙを、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅに設定し、Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙがＨＤＭＩを介して接続された機器のデコード能力に基づいて設定されたかを示すＰＳＲ１５のビットｂ１９を１ｂに設定し、さらに、ステップＳ２０７において、Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙを、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅに設定し、Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙがＨＤＭＩを介して接続された機器のデコード能力に基づいて設定されたかを示すＰＳＲ１５のビットｂ１７を１ｂに設定する。【０１７０】  ステップＳ２００がｙｅｓ、ステップＳ２０１がＮｏである場合、ステップＳ２０３に移行する。ステップＳ２０３は、Ｅｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙに、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅが設定されているか否かの判定であり、Ｅｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙに、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅが設定されていないのであれば（ステップＳ２０３でｎｏ）、ステップＳ２０４において、Ｅｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙを、０１ｂ：Ｓｔｅｒｅｏ  Ｃａｐａｂｌｅに設定し、Ｅｘｔｅｎｓｉｏｎ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙがＨＤＭＩを介して接続された機器のデコード能力に基づいて設定されたかを示すＰＳＲ１５のビットｂ１９を１ｂに設定し、さらに、ステップＳ２０７において、Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙを、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅに設定し、Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙがＨＤＭＩを介して接続された機器のデコード能力に基づいて設定されたかを示すＰＳＲ１５のビットｂ１７を１ｂに設定する。【０１７１】  一方、ＤＩＢのＦｏｒｍａｔ  ｄｅｐｅｎｄｉｎｇ  ｃｏｄｉｎｇ  ｔｙｐｅにＬｅｖｅｌ１〜Ｌｅｖｅｌ３が記載されていない場合（ステップＳ２００でｎｏ）と、ステップＳ２０３の判定でＥｘｔｅｎｓｉｏｎ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙに、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅが設定されている場合（ステップＳ２０３でｙｅｓ）、ＰＳＲ１５のビットｂ１９を０ｂに設定し（ステップＳ２０５）、その後、ステップＳ２０６の判定を行う。ステップＳ２０６は、ＤＩＢのＣｈａｎｎｅｌ  Ｃｏｕｎｔに２よりも大きな値が記載されているか否かの判定である。【０１７２】  ステップＳ２０６がｙｅｓである場合、ステップＳ２０７において、Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙを、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅに設定し、Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙがＨＤＭＩを介して接続された機器のデコード能力に基づいて設定されたかを示すＰＳＲ１５のビットｂ１７を１ｂに設定する。
ステップＳ２０６がｎｏである場合、ステップＳ２０８に移行する。ステップＳ２０８は、Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙに、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅが設定されているか否かの判定であり、Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙに、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅが設定されていないのであれば（ステップＳ２０８でｎｏ）、ステップＳ２０９において、Ｃｏｒｅ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙを、０１ｂ：Ｓｔｅｒｅｏ  Ｃａｐａｂｌｅに設定し、Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍのＣａｐａｂｉｌｉｔｙがＨＤＭＩを介して接続された機器のデコード能力に基づいて設定されたかを示すＰＳＲ１５のビットｂ１７を１ｂに設定する。ステップＳ２０８の判定でＣｏｒｅ  Ｓｕｂｓｔｒｅａｍのｃａｐａｂｉｌｉｔｙに、１０ｂ：Ｓｕｒｒｏｕｎｄ  Ｃａｐａｂｌｅが設定されている場合（ステップＳ２０８でｙｅｓ）、ＰＳＲ１５のビットｂ１７を０ｂに設定する（ステップＳ２１０）。【０１７３】  尚、図３６のＳ２０１、Ｓ２０６の判定ではＤＩＢのＣｈａｎｎｅｌ  Ｃｏｕｎｔを用いたが、Ｃｈａｎｎｅｌ／Ｓｐｅａｋｅｒ  Ａｌｌｏｃａｔｉｏｎを用いても判定しても良い。
以上、起動処理部４０の処理手順を、ＤＴＳ−ＨＤ方式への対応を例に説明したが、ＤＤ／ＤＤ＋形式、ＤＤ／ＭＬＰ形式等についても同様に扱うことができる。
例えば、ＤＩＢに応じてＤＤ／ＤＤ＋形式、ＤＤ／ＭＬＰ形式等のＣａｐａｂｉｌｉｔｙをＰＳＲ１５を追加設定する際には、ＰＳＲ１５のビットｂ１６からビットｂ１９までの情報と同様の形式で、ＤＤ／ＤＤ＋形式、ＤＤ／ＭＬＰ形式等のＣａｐａｂｉｌｉｔｙが再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す情報をレジスタに設置するとよい。また、再生時にＤＤ／ＤＤ＋形式のオーディオストリームや、ＤＤ／ＭＬＰ形式オーディオストリームがＰｒｉｍａｒｙオーディオストリームが選択された場合には、ＤＤ／ＭＬＰ形式等のＣａｐａｂｉｌｉｔｙが再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す情報に基づいてパススルー出力の要否を判定するとよい。【０１７４】  尚、各符号化方式のＣａｐａｂｉｌｉｔｙが再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す情報は、必ずしもＰＳＲ１５に設定する必要はなく、他のレジスタやワークメモリに情報を保持する構成としてもよい。
＜機能構成の詳細その２．プレイリスト処理部＞
プレイリスト処理部４１は、ＰＬ再生を実現するものであり、ＰｌａｙＩｔｅｍ情報のＩｎ＿ｔｉｍｅにあたる位置から、Ｏｕｔ＿ｔｉｍｅにあたる位置までビデオストリーム及びＰｒｉｍａｒｙオーディオストリームを再生し、これと同期して、ＳｕｂＰｌａｙＩｔｅｍ情報のＳｕｂ＿ＰｌａｙＩｔｅｍ＿Ｉｎ＿ｔｉｍｅにあたる位置から、Ｓｕｂ＿ＰｌａｙＩｔｅｍ＿Ｏｕｔ＿ｔｉｍｅにあたる位置までのＳｅｃｏｎｄａｒｙオーディオストリームの再生を、オーディオデコーダ７ｂに行わせる。【０１７５】  図３７は、プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。
本フローチャートは、カレントＰＬ情報（．ｍｐｌｓ）の読み込みを行い（ステップＳ３０１）、その後、ステップＳ３０２〜ステップＳ３１０の処理を実行するというものである。ここでステップＳ３０２〜ステップＳ３１０は、ステップＳ３０９がＹｅｓになるまで、カレントＰＬ情報を構成するそれぞれのＰＩ情報について、ステップＳ３０３〜ステップＳ３１０の処理を繰り返すというループ処理を構成している。このループ処理において処理対象となるＰｌａｙＩｔｅｍを、ＰｌａｙＩｔｅｍ＃ｘ（ＰＩ＃ｘ）とよぶ。このＰｌａｙＩｔｅｍ＃ｘは、カレントプレイリストの先頭のＰｌａｙＩｔｅｍに設定されることにより、初期化される（ステップＳ３０２）。上述したループ処理の終了要件は、このＰｌａｙＩｔｅｍ＃ｘがカレントプレイリストの最後のＰｌａｙＩｔｅｍになることであり（ステップＳ３０９）、もし最後のＰｌａｙＩｔｅｍでなければ、カレントプレイリストにおける次のＰｌａｙＩｔｅｍがＰｌａｙＩｔｅｍ＃ｘに設定される（ステップＳ３１０）。【０１７６】  ループ処理において繰り返し実行されるステップＳ３０３〜ステップＳ３１０は、ＰｌａｙＩｔｅｍ＃ｘのＣｌｉｐ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅで指定されるＣｌｉｐ情報をメモリに読み込み（ステップＳ３０３）、ＰｌａｙＩｔｅｍ＃ｘのＩｎ＿ｔｉｍｅを、カレントＣｌｉｐ情報のＥＰｍａｐを用いて、Ｉピクチャアドレスｕに変換し（ステップＳ３０４）、ＰｌａｙＩｔｅｍ＃ｘのＯｕｔ＿ｔｉｍｅを、カレントＣｌｉｐ情報のＥＰ＿ｍａｐを用いて、Ｉピクチャアドレスｖに変換して（ステップＳ３０５）、これらの変換で得られたアドレスｖの次のＩピクチャを求めて、そのアドレスの１つ手前をアドレスｗに設定し（ステップＳ３０７）、そうして算出されたアドレスｗを用いて、ＩピクチャアドレスｕからアドレスｗまでのＴＳパケットの読み出しをＢＤ−ＲＯＭドライブ１又はローカルストレージ２００に命じるというものである（ステップＳ３０８）。【０１７７】  一方、ビデオデコーダ等に対しては、カレントＰＬＭａｒｋのｍａｒｋ＿ｔｉｍｅ＿ｓｔａｍｐからＰｌａｙＩｔｅｍ＃ｘのＯｕｔ＿ｔｉｍｅまでの出力を命じる（ステップＳ３０６）。以上のステップＳ３０５〜ステップＳ３０８により、ＡＶＣｌｉｐにおいて、ＰｌａｙＩｔｅｍ＃ｘにより指示されている部分の再生がなされることになる。
その後、ＰｌａｙＩｔｅｍ＃ｘがカレントプレイリストの最後のＰＩであるかの判定がなされる（ステップＳ３０９）。【０１７８】  ＰｌａｙＩｔｅｍ＃ｘがカレントプレイリストの最後のＰＩでなければ、カレントプレイリストにおける次のＰｌａｙＩｔｅｍを、ＰｌａｙＩｔｅｍ＃ｘに設定して（ステップＳ３１０）、ステップＳ３０３に戻る。以上のステップＳ３０３〜ステップＳ３１０を繰り返することにより、プレイリストを構成するＰＩは順次再生されることになる。
＜機能構成の詳細その３．Ｐｒｏｃｅｄｕｒｅ実行部４２＞
Ｐｒｏｃｅｄｕｒｅ実行部４２は、あるＰｌａｙＩｔｅｍ情報から別のＰｌａｙＩｔｅｍ情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定のストリーム選択プロシージャを実行して、ＰＳＲ１に新たなストリーム番号を書き込む。ストリーム供給装置３００は、ＰＳＲ１に書き込まれたストリーム番号に応じて、Ｐｒｉｍａｒｙオーディオストリームを特定するので、かかるＰＳＲ１の設定を通じて、Ｐｒｉｍａｒｙオーディオストリームが選択されることになる。【０１７９】  ＰｌａｙＩｔｅｍ情報の切り換わり時に、ストリーム選択プロシージャを実行するのは、ＳＴＮ＿ＴａｂｌｅはＰｌａｙＩｔｅｍ情報毎に存在するので、あるＰｌａｙＩｔｅｍ情報においては再生可能であったＰｒｉｍａｒｙオーディオストリームが、別のＰｌａｙＩｔｅｍ情報において再生不可能になることが有り得るからである。
このＰｒｏｃｅｄｕｒｅ実行部４２により、ＰＳＲ１は、図３８（ａ）に示すような状態遷移をなす。図３８（ａ）は、ＰＳＲ１の設定値が取り得る状態遷移を示す図である。本図においてＶａｌｉｄとは、ＰＳＲ１の値が、Ｐｌａｙ  ＩｔｅｍのＳＴＮ＿ｔａｂｌｅに記述されたｅｎｔｒｙ数以下の番号になっていて、尚且つ、デコード可能であることを意味する。【０１８０】  Ｉｎｖａｌｉｄとは、ＰＳＲ１の値が、０であるか、又は、Ｐｌａｙ  ＩｔｅｍのＳＴＮ＿ｔａｂｌｅに記述されたｅｎｔｒｙ数を上回る番号になっているか、または、Ｐｌａｙ  ＩｔｅｍのＳＴＮ＿ｔａｂｌｅに記述されたｅｎｔｒｙ数が１〜３２の値であったとしても、デコードできない場合である。
図３８（ａ）における破線枠は、状態遷移時にあたってＰＳＲの値を決定する手順を模式的に示す。ＰＳＲの設定処理手順には、『Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄ』、『Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄ』がある。【０１８１】  Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄは、何等かの事象がストリーム供給装置に生じたため、ストリーム供給装置の状態が変化した際に実行すべき処理手順を示す。
Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  Ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄは、ユーザが何等かの切り換え（図３８（ａ）においてｓｔｒｅａｍ）を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄ、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。【０１８２】  図３８（ａ）における矢印は、ＰＳＲが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Ｌｏａｄ  Ｄｉｓｃ”、”Ｃｈａｎｇｅ  ａ  Ｓｔｒｅａｍ”，”Ｓｔａｒｔ  ＰｌａｙＬｉｓｔ  ｐｌａｙ  ｂａｃｋ”，”Ｃｒｏｓｓ  ａ  ＰｌａｙＩｔｅｍ  ｂｏｕｎｄａｒｙ”，”Ｔｅｒｍｉｎａｔｅ  ＰｌａｙＬｉｓｔ  ｐｌａｙｂａｃｋ”というような事象が発生した際、ＰＳＲ１の状態遷移がなされることになる。これらの記法を理解して図３８（ａ）を参照すれば、Ｉｎｖａｌｉｄ→Ｉｎｖａｌｉｄの状態遷移時、Ｖａｌｉｄ→Ｉｎｖａｌｉｄの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しＩｎｖａｌｉｄ→Ｖａｌｉｄ間の状態遷移、Ｖａｌｉｄ→Ｖａｌｉｄ間の状態遷移は何れも破線枠を経由している。つまりＰＳＲ１をＶａｌｉｄに設定するにあたって、上述したＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄ  、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄによりＰＳＲ１は設定されるのである。【０１８３】  以降、状態遷移のトリガとなるべき事象について説明する。
『Ｌｏａｄ  Ｄｉｓｃ』とは、ストリーム供給装置にＢＤ−ＲＯＭがローディングされたとの事象を意味する。ＰＳＲ１は、かかるローディング時において、一旦不定値（０ｘＦＦ）に設定されるのである。
『Ｓｔａｒｔ  ＰｌａｙＬｉｓｔ  ｐｌａｙｂａｃｋ』とは、ＰＬに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄが実行され、ＰＳＲ１はＶａｌｉｄに設定されることがわかる。【０１８４】  『Ｔｅｒｍｉｎａｔｅ  ＰｌａｙＬｉｓｔ  ｐｌａｙｂａｃｋ』とは、ＰＬに基づく再生処理を終了したとの事象を意味する。かかる事象の発生時では、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄは実行されず、Ｉｎｖａｌｉｄに移行していることがわかる。
『ＣｈａｎｇｅＸＸＸ』とは、ユーザによるＸＸＸ（本図ではＳｔｒｅａｍ）の切り換え要求がなされたとの事象を意味する。ＰＳＲ１がＩｎｖａｌｉｄである場合に、かかる事象が発生すれば（図中のｃｊ１）、ＰＳＲ１はその要求通りの値に設定される。こうして設定された値がたとえ有効なストリーム番号を示していたとしても、このＰＳＲ１の設定値はＩｎｖａｌｉｄな値として取り扱われる。即ち、事象”ＣｈａｎｇｅＸＸＸ”による状態遷移では、ＩｎｖａｌｉｄであるＰＳＲが、Ｖａｌｉｄに変えることはない。【０１８５】  一方、ＰＳＲ１がＶａｌｉｄである場合に、かかる事象Ｃｈａｎｇｅ  ａ  Ｓｔｒｅａｍが発生すれば（図中のｃｊ２）、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄが実行されて、新たな値がＰＳＲ１に設定される。ここでＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄの実行により設定される値は、ユーザが希望した値にならない場合も有り得る。何故なら、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄは、無効な値を排除する機能を有しているからである。ＰＳＲ１がＶａｌｉｄにおいて、Ｃｈａｎｇｅ  ｓｔｒｅａｍが発生した場合、ＶａｌｉｄからＩｎｖａｌｉｄに状態遷移することは有り得ない。ＰＳＲ１がＩｎｖａｌｉｄにならないよう、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄ側で保証するからである。【０１８６】  『Ｃｒｏｓｓ  ａ  ＰｌａｙＩｔｅｍ  ｂｏｕｎｄａｒｙ』とは、あるＰｌａｙＩｔｅｍの境界通過という事象を意味する。ここでＰｌａｙ  Ｉｔｅｍの境界とは、連続する２つのＰｌａｙ  Ｉｔｅｍのうち、先行する側の終端、後続する側の先端の狭間を意味する。ＰＳＲ１がＶａｌｉｄである場合において、かかる事象が発生すれば、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄが実行されることがわかる。そして、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄの実行後、ＰＳＲ１の状態はＶａｌｉｄに戻るか、Ｉｎｖａｌｉｄに移行することが分かる。ＳＴＮ＿ｔａｂｌｅはＰｌａｙ  Ｉｔｅｍ毎に存在しており、Ｐｌａｙ  Ｉｔｅｍが変われば、再生可能なエレメンタリストリームも変わってしまう。Ｐｌａｙ  Ｉｔｅｍの再生開始毎に、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅを実行してＰｌａｙ  Ｉｔｅｍ毎に最適な設定値をＰＳＲ１に設定するというのが、この状態遷移の趣旨である。【０１８７】  この状態遷移においてＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄは、図３８（ｂ）のようになる。図３８（ｂ）は、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄの処理手順を示す図である。本処理手順は、ステップＳ１、ステップＳ２という２つの判定ステップの組合せで、ＰＳＲ１の設定を行うものである。
ステップＳ１は、ＳＴＮ＿ｔａｂｌｅにおけるｅｎｔｒｙ数が０であるか否かの判定であり、もし０であればＰＳＲ１の値を維持する（ステップＳ３）。【０１８８】  ステップＳ２は、ＳＴＮ＿ｔａｂｌｅにおけるｅｎｔｒｙ数は０ではない場合に、ＰＳＲ１よりＳＴＮ＿ｔａｂｌｅのｅｎｔｒｙ数が多く、尚且つ、条件（Ａ）が真であるかを判定するものである。条件（Ａ）とは、ＰＳＲ１で特定されるＰｒｉｍａｒｙオーディオストリームを再生する能力がデコーダに存在することである。もしステップＳ２がＹｅｓであればＰＳＲ１を維持する（ステップＳ４）。もしＰＳＲ１の値がｅｎｔｒｙ数より大きいか、或は条件（Ａ）を満たさない場合は、ＰＳＲ１を再設定する（ステップＳ５）。ここで、本実施形態では、ストリーム供給装置３００が選択したオーディオストリームをオーディオアンプ４００へ供給し、オーディオアンプ４００がオーディオストリームをデコードするという接続形態をとるため、条件（Ａ）でいうデコーダとしては、オーディオアンプ４００が内蔵するものが相当する。【０１８９】  その後、ＰＳＲ１に設定されているＰｒｉｍａｒｙオーディオストリームがＤＴＳ−ＨＤ形式で符号化されたものである場合は（ステップＳ１９がｙｅｓ）、ステップＳ２０で、オーディオアンプ４００で実際に再生される音声の品質を示すメニューを表示する。
図３９は、実際に再生される音声の品質を示すメニューの一例を示す図である。本図におけるメニューは、「お客さまのシアターシステムでは、接続先の機器でＤＴＳ−ＸＸＸＸの品質でオーディオ再生されます」などの注意を喚起する旨のメッセージと確認ボタンからなる。ＤＴＳ−ＸＸＸＸの部位には、ＰＳＲ１５のＤＴＳ−ＨＤ  Ｅｘｔｅｎｓｉｏｎ  ｃａｐａｂｉｌｉｔｙに設定されている値に応じて、ＤＴＳ  ｃｏｒｅ、ＤＴＳ−ＥＳ、ＤＴＳ−９６／２４、ＤＴＳ−ＨＤ（ｘＬＬ）の何れかを表示する。こうすることで、実際にどのような品質で音声再生されるかをユーザが事前に把握することができる。【０１９０】  尚、音声品質の提示の際には、必ずしもユーザの確認操作を求める必要はない。そこで、本図に示すようなメッセージを一定期間表示した後、メッセージの表示を終了する構成としてもよい。
更に、実際に再生される音声品質の表示は、オーディオストリームを選択したタイミングに限らず、他のタイミングで表示してもよい。例えば、図３４のステップＳ１０７の判定で、接続相手に再生能力が存在すると判定された時に再生可能な音声品質を表示してもよい。このようなタイミングで音声品質を表示する場合には、「お客さまのシアターシステムでは、接続先の機器でＤＴＳ−ＸＸＸＸの品質でオーディオ再生されます。接続先機器でデコードしますか？」等のメッセージと、接続先機器でのデコード可否を受け付けるボタン「Ｙｅｓ」「Ｎｏ」とからなるメニュー画面を表示することで、ユーザがパススルー出力を希望するか否かを確認することもできる。具体的には、このようなメニューの表示に対して「Ｙｅｓ」ボタンが選択されたならば図３４のステップＳ１０８へ処理を移してＤＩＢに応じたＰＳＲ１５設定を行い、「Ｎｏ」ボタンが選択されたならばステップＳ１０９へ処理を移して、自機のデコード能力に応じたＰＳＲ１５設定に基づいてＰｒｉｍａｒｙオーディオストリームの選択を行うとよい。【０１９１】  図４０は、ステップＳ５の詳細な処理手順に示したフローチャートである。
ステップＳ６、ステップＳ７は、全てのＰｒｉｍａｒｙオーディオストリームについてステップＳ８を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のＰｒｉｍａｒｙオーディオストリームを、Ｐｒｉｍａｒｙオーディオストリームｉという。ステップＳ８は、Ｐｒｉｍａｒｙオーディオストリームｉが３つの条件（ａ）（ｂ）（ｃ）を満たすかのチェックを行う。【０１９２】  条件（ａ）とは、Ｐｒｉｍａｒｙオーディオストリームｉを再生する能力がデコーダに存在することであり、これを満たすか否かの判定は、ＰＳＲ１５と、Ｐｒｉｍａｒｙオーディオストリームｉのｓｔｒｅａｍ＿ｃｏｄｉｎｇ＿ｔｙｐｅ及びｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅとの比較でなされる。
条件（ｂ）とは、Ｐｒｉｍａｒｙオーディオストリームｉの言語属性がストリーム供給装置３００の言語設定と同じであることであり、これを満たすか否かの判定は、ＳＴＮ＿ｔａｂｌｅに記述されたＰｒｉｍａｒｙオーディオストリームｉのＡｕｄｉｏ＿ｌａｎｇｕａｇｅ＿ｃｏｄｅがＰＳＲの設定値と同じであるか否かの比較でなされる。【０１９３】  条件（ｃ）とは、Ｐｒｉｍａｒｙオーディオストリームｉのチャネル属性がサラウンドであり、これを再生する能力がデコーダに存在することである。これを満たすか否かの判定は、ＰＳＲ１５と，Ａｕｄｉｏ  Ｓｔｒｅａｍのａｕｄｉｏ＿ｐｒｅｓｅｎｔａｔｉｏｎ＿ｔｙｐｅ、ｓｔｒｅａｍ＿ｃｏｄｉｎｇ＿ｔｙｐｅとの比較でなされる。ここで条件（ａ）及び条件（ｃ）でいうデコーダとは、条件（Ａ）と同様に、本実施形態ではオーディオアンプ４００が内蔵するものが相当する。【０１９４】  これらの複数の条件のうち、「Ｐｒｉｍａｒｙオーディオストリームｉがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、Ｐｒｉｍａｒｙオーディオストリームに優先順位を付与する。
以上の処理をＰｒｉｍａｒｙオーディオストリームの全てについて繰り返されれば、ステップＳ９〜ステップＳ１３の処理を行う。ステップＳ９は、（ａ）を満たすＰｒｉｍａｒｙオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値（０ｘＦＦ）をＰＳＲ１に設定する（ステップＳ１４）。【０１９５】  ステップＳ１０は、条件（ａ）（ｂ）（ｃ）の全てを満たすＰｒｉｍａｒｙオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件（ａ）（ｂ）（ｃ）を満たすＰｒｉｍａｒｙオーディオストリームの番号をＰＳＲ１に設定する（ステップＳ１５）。
ここで問題になるのが、条件（ａ）（ｂ）（ｃ）を満たすＰｒｉｍａｒｙオーディオストリームが複数存在する場合である。条件（ａ）〜条件（ｃ）が全てみたされるので、同じ優先順位になってしまうので優劣を決めることができない。この場合ステップＳ１５では、ＳＴＮ＿ｔａｂｌｅにおけるｅｎｔｒｙの順序に応じて、各ストリームにおける順位が定める。即ち、コーディック−言語属性−チャネル属性が同じＰｒｉｍａｒｙオーディオストリームについては、ＳＴＮ＿ｔａｂｌｅにおけるｅｎｔｒｙの順番を参照することで、最もｅｎｔｒｙの順番が早いＰｒｉｍａｒｙオーディオストリームが選ばれることになる。【０１９６】  ＳＴＮ＿ｔａｂｌｅにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップＳ１１は、条件（ａ）（ｂ）（ｃ）の全てを満たすＰｒｉｍａｒｙオーディオストリームが存在しない場合、条件（ａ）（ｂ）を満たすＰｒｉｍａｒｙオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件（ａ）（ｂ）を満たすＰｒｉｍａｒｙオーディオストリームのうち、ＳＴＮ＿ｔａｂｌｅにおけるエントリーの順番が最も早いものをＰＳＲ１に設定する（ステップＳ１６）。【０１９７】  ステップＳ１２は、条件（ａ）（ｂ）（ｃ）の全てを満たすＰｒｉｍａｒｙオーディオストリーム、又は、条件（ａ）（ｂ）を満たすＰｒｉｍａｒｙオーディオストリームが存在しない場合に、条件（ａ）（ｃ）を満たすＰｒｉｍａｒｙオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件（ａ）（ｃ）を満たすＰｒｉｍａｒｙオーディオストリームのうち、ＳＴＮ＿ｔａｂｌｅにおけるエントリーの順番が最も早いものをＰＳＲ１に設定する（ステップＳ１７）。【０１９８】  ステップＳ１３は、条件（ａ）（ｂ）（ｃ）の全て、条件（ａ）（ｂ）、条件（ａ）（ｃ）を満たすＰｒｉｍａｒｙオーディオストリームが存在しない場合に、条件（ａ）を満たすＰｒｉｍａｒｙオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件（ａ）を満たすＰｒｉｍａｒｙオーディオストリームのうち、ＳＴＮ＿ｔａｂｌｅにおけるエントリーの順番が最も早いものをＰＳＲ１に設定する（ステップＳ１８）。【０１９９】  以上がＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄである。続いてＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄについて説明する。図４１は、ストリーム変化時におけるＰＳＲ１の設定手順を示すフローチャートである。本フローチャートと、図３８（ｂ）との違いは、図３８（ｂ）におけるＰＳＲ１の表記がＸに置き換えられている点である。このＸは、操作受付部２６から出力されたＵｓｅｒ  Ｏｐｅｒａｔｉｏｎ情報やＩＧデコーダ１３から出力されたボタンコマンドに基づく値である。【０２００】  本フローチャートにおけるステップＳ２１は、ＸよりＳＴＮ＿ｔａｂｌｅのｅｎｔｒｙ数が多く、尚且つ、条件（Ａ）が真であるかを判定するものである。条件（Ａ）とは、ＰＳＲ１で特定されるＰｒｉｍａｒｙオーディオストリームを再生する能力が再生装置に存在することであり、ＰＳＲ１５と、ＰｒｉｍａｒｙオーディオストリームのＳｔｒｅａｍ＿ｃｏｄｅｉｇ＿ｔｙｐｅ、ｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅの比較で判定される。ここで条件（Ａ）でいう再生装置とは、オーディオストリームをデコードする機器を指し、本実施形態ではオーディオアンプ４００が相当する。もしＸがこの条件を満たすなら、ＰＳＲ１にＸを設定する（ステップＳ２２）。【０２０１】  もしＸがｅｎｔｒｙ数より大きいか、或は条件（Ａ）を満たさない場合は、Ｘが、０ｘＦＦであるか否かを判定する（ステップＳ２３）。もし０ｘＦＦでなければ、ユーザが選択を意図するＰｒｉｍａｒｙオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Ｘを無視し、ＰＳＲ１の設定値を維持する���ステップＳ２４）。
もしＰＳＲ１の設定値が０ｘＦＦであるなら、ＰＳＲ１を設定する（ステップＳ２５）。このステップＳ２５の処理手順は、図４０に示した処理手順と同一である（図４０のうち、ステップＳ９の判定はＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄでは必要ではない。何故ならＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄでは、条件（ａ）（ｂ）（ｃ）を満たすＰｒｉｍａｒｙオーディオストリームが１つも存在しない場合、ユーザが設定した値ＸをＰＳＲ１に設定せず、ＰＳＲ１の設定値を維持するからである。【０２０２】  その後、ＰＳＲ１に設定されているＰｒｉｍａｒｙオーディオストリームがＤＴＳ−ＨＤ形式で符号化されたものである場合は（ステップＳ２６がｙｅｓ）、ステップＳ２７で、オーディオアンプ４００で実際に再生される音声の品質を示す図３９のメニューを表示する。
＜機能構成の詳細その４．Ｐｒｏｃｅｄｕｒｅ実行部４３＞
Ｐｒｏｃｅｄｕｒｅ実行部４３は、あるＰｌａｙＩｔｅｍ情報から別のＰｌａｙＩｔｅｍ情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定の手順を実行して、ＰＳＲ１４に新たなストリーム番号を書き込む。ストリーム供給装置３００は、ＰＳＲ１４に書き込まれたストリーム番号に対応するＳｅｃｏｎｄａｒｙオーディオストリームを再生対象とするので、かかるＰＳＲ１４の設定を通じて、Ｓｅｃｏｎｄａｒｙオーディオストリームが選択されることになる。【０２０３】  このＰｒｏｃｅｄｕｒｅ実行部４３により、ＰＳＲ１４は、図４２（ａ）に示すような状態遷移をなす。
図４２（ａ）は、ＰＳＲ１４の設定値が取り得る状態遷移を示す図である。本図においてＶａｌｉｄとは、ＰＳＲ１４の値が、ＰｌａｙＩｔｅｍのＳＴＮ＿ｔａｂｌｅに記述されたｅｎｔｒｙ数以下の番号になっていて、尚且つ、デコード可能であることを意味する。【０２０４】  Ｉｎｖａｌｉｄとは、ＰＳＲ１４の値が、０であるか、又は、Ｐｌａｙ  ＩｔｅｍのＳＴＮ＿ｔａｂｌｅに記述されたｅｎｔｒｙ数を上回る番号になっているか、または、Ｐｌａｙ  ＩｔｅｍのＳＴＮ＿ｔａｂｌｅに記述されたｅｎｔｒｙ数が１〜３２の値であったとしても、デコードできない場合である。
図４２（ａ）における破線枠は、状態遷移時にあたってＰＳＲの値を決定する手順を模式的に示す。ＰＳＲの設定処理手順には、『Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄ』、『Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄ』がある。【０２０５】  Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄは、何等かの事象がストリーム供給装置に生じたため、ストリーム供給装置の状態が変化した際に実行すべき処理手順を示す。
Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  Ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄは、ユーザが何等かの切り換え（図４２においてｓｔｒｅａｍ）を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄ、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。【０２０６】  図４２（ａ）における矢印は、ＰＳＲが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Ｌｏａｄ  Ｄｉｓｃ”、”Ｃｈａｎｇｅ  ａ  Ｓｔｒｅａｍ”，”Ｓｔａｒｔ  ＰｌａｙＬｉｓｔ  ｐｌａｙｂａｃｋ”，”Ｃｒｏｓｓ  ａ  ＰｌａｙＩｔｅｍ  ｂｏｕｎｄａｒｙｏｒ  Ｃｈａｎｇｅ  Ｐｒｉｍａｒｙ  Ａｕｄｉｏ  Ｓｔｒｅａｍ”，”Ｔｅｒｍｉｎａｔｅ  ＰｌａｙＬｉｓｔ  ｐｌａｙｂａｃｋ”というような事象が発生した際、ＰＳＲ１４の状態遷移がなされることになる。これらの記法を理解して図４２（ａ）を参照すれば、Ｉｎｖａｌｉｄ→Ｉｎｖａｌｉｄの状態遷移時、Ｖａｌｉｄ→Ｉｎｖａｌｉｄの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しＩｎｖａｌｉｄ→Ｖａｌｉｄ間の状態遷移、Ｖａｌｉｄ→Ｖａｌｉｄ間の状態遷移は何れも破線枠を経由している。つまりＰＳＲ１４をＶａｌｉｄに設定するにあたって、上述したＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄ、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄによりＰＳＲ１４は設定されるのである。【０２０７】  以降、状態遷移のトリガとなるべき事象について説明する。
『Ｌｏａｄ  Ｄｉｓｃ』とは、ストリーム供給装置にＢＤ−ＲＯＭがローディングされたとの事象を意味する。ＰＳＲ１４は、かかるローディング時において、一旦不定値（０ｘＦＦ）に設定されるのである。
『Ｓｔａｒｔ  ＰｌａｙＬｉｓｔ  ｐｌａｙｂａｃｋ』とは、ＰＬに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄが実行され、ＰＳＲ１４はＶａｌｉｄに設定されることがわかる。【０２０８】  『Ｔｅｒｍｉｎａｔｅ  ＰｌａｙＬｉｓｔ  ｐｌａｙｂａｃｋ』とは、ＰＬに基づく再生処理が終了したとの事象を意味する。かかる事象の発生時では、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄは実行されず、Ｉｎｖａｌｉｄに移行していることがわかる。
『ＣｈａｎｇｅＸＸＸ』とは、ユーザによるＸＸＸ（本図ではＳｔｒｅａｍ）の切り換え要求がなされたとの事象を意味する。ＰＳＲ１４がＩｎｖａｌｉｄである場合に、かかる事象が発生すれば（図中のｃｊ１）、ＰＳＲ１４はその要求通りの値に設定される。こうして設定された値がたとえ有効なストリーム番号を示していたとしても、このＰＳＲ１４の設定値はＩｎｖａｌｉｄな値として取り扱われる。即ち、事象”ＣｈａｎｇｅＸＸＸ”による状態遷移では、ＩｎｖａｌｉｄであるＰＳＲが、Ｖａｌｉｄに変えることはない。【０２０９】  一方、ＰＳＲ１４がＶａｌｉｄである場合に、かかる事象Ｃｈａｎｇｅ  ａ  Ｓｔｒｅａｍが発生すれば（図中のｃｊ２）、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄが実行されて、新たな値がＰＳＲ１４に設定される。ここでＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄの実行により設定される値は、ユーザが希望した値にならない場合も有り得る。何故なら、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄは、無効な値を排除する機能を有しているからである。ＰＳＲ１４がＶａｌｉｄにおいて、Ｃｈａｎｇｅ  ｓｔｒｅａｍが発生した場合、ＶａｌｉｄからＩｎｖａｌｉｄに状態遷移することは有り得ない。ＰＳＲ１４がＩｎｖａｌｉｄにならないよう、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄ側で保証するからである。【０２１０】  『Ｃｒｏｓｓ  ａ  ＰｌａｙＩｔｅｍ  ｂｏｕｎｄａｒｙ  ｏｒ  Ｃｈａｎｇｅ  Ｐｒｉｍａｒｙ  Ａｕｄｉｏ  Ｓｔｒｅａｍ』とは、あるＰｌａｙＩｔｅｍの境界通過、又は、Ｐｒｉｍａｒｙオーディオストリームの切り替えという事象を意味する。ＰＳＲ１４がＶａｌｉｄである場合において、かかる事象が発生すれば、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄが実行されることがわかる。そして、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄの実行後、ＰＳＲ１４の状態はＶａｌｉｄに戻るか、『Ｃｒｏｓｓ  ａ  ＰｌａｙＩｔｅｍ  ｂｏｕｎｄａｒｙ  ｏｒ  Ｃｈａｎｇｅ  Ｐｒｉｍａｒｙ  Ａｕｄｉｏ  Ｓｔｒｅａｍ』が発生するとＩｎｖａｌｉｄに移行することが分かる。Ｐｌａｙ  Ｉｔｅｍの再生開始やＰｒｉｍａｒｙオーディオストリームの切り替え毎に、Ｐｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅを実行してＰｌａｙ  Ｉｔｅｍ毎に最適な設定値をＰＳＲ１４に設定するというのが、この状態遷移の趣旨である。【０２１１】  この状態遷移においてＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄは、図４２（ｂ）のようになる。本処理手順は、ステップＳ３１、ステップＳ３２という２つの判定ステップの組合せで、ＰＳＲ１４の設定を行うものである。
ステップＳ３１は、ＳＴＮ＿ｔａｂｌｅにおけるｅｎｔｒｙ数が０であるか否かの判定であり、もし０であればＰＳＲ１４の値を維持する（ステップＳ３３）。【０２１２】  ステップＳ３２は、ＳＴＮ＿ｔａｂｌｅにおけるｅｎｔｒｙ数は０ではない場合に、ＰＳＲ１４よりＳＴＮ＿ｔａｂｌｅのｅｎｔｒｙ数が多く、尚且つ、条件（Ａ）と（Ｂ）が真であるかを判定するものである。条件（Ａ）とは、ＰＳＲ１４で特定されるＳｅｃｏｎｄａｒｙオーディオストリームを再生する能力が再生装置に存在することである。ここで条件（Ａ）でいうデコーダとしては、本実施形態ではオーディオアンプ４００に内蔵のものが相当する。条件（Ｂ）とは、Ｐｒｉｍａｒｙ＿Ａｕｄｉｏ＿Ｓｔｒｅａｍ＿Ｎｕｍｂｅｒと、Ｓｅｃｏｎｄａｒｙ＿Ａｕｄｉｏ＿Ｓｔｒｅａｍ＿Ｎｕｍｂｅｒの組み合わせがＳＴＮ＿ｔａｂｌｅで許可されていることである。もしステップＳ３２がＮｏであればＰＳＲ１４を維持する（ステップＳ３４）。Ｙｅｓの場合は、ＰＳＲ１４を再設定する（ステップＳ３５）。【０２１３】  図４３は、ステップＳ３５の詳細な処理手順に示したフローチャートである。
ステップＳ３６、ステップＳ３７は、全てのＳｅｃｏｎｄａｒｙオーディオストリームについてステップＳ３８を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のＳｅｃｏｎｄａｒｙオーディオストリームを、Ｓｅｃｏｎｄａｒｙオーディオストリームｉという。ステップＳ３８は、Ｓｅｃｏｎｄａｒｙオーディオストリームｉが３つの条件（ａ）（ｂ）（ｃ）を満たすかのチェックを行う。【０２１４】  条件（ａ）とは、Ｓｅｃｏｎｄａｒｙオーディオストリームｉを再生する能力がデコーダに存在することであり、これを満たすか否かの判定は、オーディオストリームの再生能力を示すレジスタ（ＰＳＲ１５）と、Ｓｅｃｏｎｄａｒｙオーディオストリームｉのｓｔｒｅａｍ＿ｃｏｄｉｎｇ＿ｔｙｐｅ及びｆｏｒｍａｔ＿ｄｅｐｅｎｄｉｎｇ＿ｃｏｄｉｎｇ＿ｔｙｐｅとの比較でなされる。
条件（ｂ）とは、ＰｒｉｍａｒｙオーディオストリームをＳｅｃｏｎｄａｒｙオーディオストリームにミキシングすることができるか否かであり、この条件が満たされているか否かの判定は、ＰＳＲ１に設定されているストリーム番号が、ＳｅｃｏｎｄａｒｙオーディオストリームのＣｏｍｂ＿ｉｎｆｏ＿Ｓｅｃｏｎｄａｒｙ＿ａｕｄｉｏ＿Ｐｒｉｍａｒｙ＿ａｕｄｉｏに記載されているかを判断することでなされる。【０２１５】  条件（ｃ）とは、Ｓｅｃｏｎｄａｒｙオーディオストリームｉの言語属性がストリーム供給装置の言語設定と同じであることであり、これを満たすか否かの判定は、ＳＴＮ＿ｔａｂｌｅに記述されたＳｅｃｏｎｄａｒｙオーディオストリームｉのＡｕｄｉｏ＿ｌａｎｇｕａｇｅ＿ｃｏｄｅがＰＳＲの設定値と同じであるか否かの比較でなされる。
これらの複数の条件のうち、「Ｓｅｃｏｎｄａｒｙオーディオストリームｉがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、Ｓｅｃｏｎｄａｒｙオーディオストリームに優先順位を付与する。
以上の処理をＳｅｃｏｎｄａｒｙオーディオストリームの全てについて繰り返されれば、ステップＳ３９〜ステップＳ４１、ステップＳ４４〜ステップＳ４６の処理を行う。ステップＳ３９は、条件（ａ）及び条件（ｂ）を満たすＳｅｃｏｎｄａｒｙオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値（０ｘＦＦ）をＰＳＲ１４に設定する（ステップＳ４４）。【０２１６】  ステップＳ４０は、条件（ａ）（ｂ）（ｃ）の全てを満たすＳｅｃｏｎｄａｒｙオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件（ａ）（ｂ）（ｃ）を満たすＳｅｃｏｎｄａｒｙオーディオストリームの番号をＰＳＲ１４に設定する（ステップＳ４５）。
ここで問題になるのが、条件（ａ）（ｂ）（ｃ）を満たすＳｅｃｏｎｄａｒｙオーディオストリームが複数存在する場合である。条件（ａ）〜条件（ｃ）が全てみたされるので、同じ優先順位になってしまうので優劣を決めることができない。この場合ステップＳ４５では、ＳＴＮ＿ｔａｂｌｅにおけるｅｎｔｒｙの順序に応じて、各ストリームにおける順位が定める。即ち、コーディック−言語属性−チャネル属性が同じＳｅｃｏｎｄａｒｙオーディオストリームについては、ＳＴＮ＿ｔａｂｌｅにおけるｅｎｔｒｙの順番が最も早いＳｅｃｏｎｄａｒｙオーディオストリームが選ばれることになる。【０２１７】  ＳＴＮ＿ｔａｂｌｅにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップＳ４１は、条件（ａ）（ｂ）（ｃ）の全てを満たすＳｅｃｏｎｄａｒｙオーディオストリームが存在しない場合、条件（ａ）（ｂ）を満たすＳｅｃｏｎｄａｒｙオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件（ａ）（ｂ）を満たすＳｅｃｏｎｄａｒｙオーディオストリームのうち、ＳＴＮ＿ｔａｂｌｅにおけるエントリーの順番が最も早いものをＰＳＲ１４に設定する（ステップＳ４６）。【０２１８】  以上がＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  ｐｌａｙｂａｃｋ  ｃｏｎｄｉｔｉｏｎ  ｉｓ  ｃｈａｎｇｅｄである。続いてＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄについて説明する。図４４は、ストリーム変化時におけるＰＳＲ１４の設定手順を示すフローチャートである。本フローチャートと、図４２（ｂ）との違いは、図４２（ｂ）におけるＰＳＲ１４の表記がＸに置き換えられている点である。このＸは、操作受付部２６から出力されたＵｓｅｒ  Ｏｐｅｒａｔｉｏｎ情報やＩＧデコーダ１３から出力されたボタンコマンドに基づく値である。【０２１９】  本フローチャートにおけるステップＳ４９は、ＸよりＳＴＮ＿ｔａｂｌｅのｅｎｔｒｙ数が多く、尚且つ、条件（Ａ）、条件（Ｂ）が真であるかを判定するものである。もしＸがこの条件を満たすなら、ＰＳＲ１４にＸを設定する（ステップＳ５１）。
もしＸがｅｎｔｒｙ数より大きいか、或は条件（Ａ）及び条件（Ｂ）を満たさない場合は、Ｘが、０ｘＦＦであるか否かを判定する（ステップＳ５２）。もしＯｘＦＦでなければ、ユーザが選択を意図するＳｅｃｏｎｄａｒｙオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Ｘを無視し、ＰＳＲ１４の設定値を維持する（ステップＳ５３）。【０２２０】  もしＰＳＲ１４の設定値が０ｘＦＦであるなら、ＰＳＲ１４を設定する（ステップＳ５４）。このステップＳ５４の処理手順は、図４３に示した処理手順と同一である（図４３のうち、ステップＳ３９の判定はＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄでは必要ではない。何故ならＰｒｏｃｅｄｕｒｅ  ｗｈｅｎ  Ｓｔｒｅａｍ  ｃｈａｎｇｅ  ｉｓ  ｒｅｑｕｅｓｔｅｄでは、条件（ａ）（ｂ）（ｃ）を満たすＳｅｃｏｎｄａｒｙオーディオストリームが１つも存在しない場合、ユーザが設定した値ＸをＰＳＲ１４に設定せず、ＰＳＲ１４の設定値を維持するからである。）。【０２２１】  以上でＰｒｏｃｅｄｕｒｅ実行部４３についての説明を終える。
＜機能構成の詳細その５．ミキシング制御部４４＞
ミキシング制御部４４は、オーディオデコード能力を有する機器がＨＤＭＩを介して接続されている場合、Ｐｒｉｍａｒｙオーディオストリームを構成するＴＳパケット及びＳｅｃｏｎｄａｒｙオーディオストリームを構成するＴＳパケットを、オーディオデコーダ７ａ，ｂへ供給することなく、それらのエレメンタリーストリームをＨＤＭＩ送受信部２７へ供給するよう、スイッチ１０ａを制御する。ミキシング制御部４４は、さらに、オーディオデコード能力を有する機器がＨＤＭＩを介して接続されておらず、且つ、ストリーム供給装置３００のＰｌａｙｅｒ  Ｐｒｏｆｉｌｅ情報が０００１ｂである場合、又は、００１１ｂである場合、Ｐｒｉｍａｒｙオーディオストリームの再生出力に対して、Ｓｅｃｏｎｄａｒｙオーディオストリームの再生出力、又は、サウンドデータの再生出力をミキシングするよう、ミキサー９ａ、ミキサー９ｂを制御する。【０２２２】  ここでＰｌａｙＩｔｅｍ時間軸における現在の再生時点が、ＳｕｂＰｌａｙＩｔｅｍ情報のＩｎ＿ｔｉｍｅからＯｕｔ＿ｔｉｍｅまでであり、また、カレントＰｌａｙＩｔｅｍ情報のＳＴＮ＿Ｔａｂｌｅにおいて、Ｓｅｃｏｎｄａｒｙオーディオストリームが有効になっている場合、ＰＳＲ１４に格納されたストリーム番号のＳｅｃｏｎｄａｒｙオーディオストリームのデコードが、オーディオデコーダ７ｂにてなされているので、ミキシング制御部４４は、オーディオデコーダ７ａの再生出力に対して、オーディオデコーダ７ｂの再生出力をミキシングするよう、ミキサー９ａを制御する。【０２２３】  Ｐｒｉｍａｒｙオーディオストリームにおける属性がサラウンドである場合、Ｌ，Ｒ，Ｃ，ＬＳ，ＲＳ，ＬＲ，ＲＲ，ＬＦＥといった成分のうち、所望の成分のみを残すようダウンミキシングを行った上で、Ｓｅｃｏｎｄａｒｙオーディオストリームの再生出力をミキシングすることができる。ここでＳｅｃｏｎｄａｒｙオーディオストリームが映画監督のコメンタリ音声である場合、ＳｅｃｏｎｄａｒｙオーディオストリームをミキシングすべきＰｒｉｍａｒｙオーディオストリームのチャンネルを、Ｌ→Ｃ→Ｒというように変化させてゆけば、ユーザの回りを映画監督が、歩き回っているかのような感覚を、ユーザに与えることができる。このようなミキシングをパンニングと呼んでいる。パンニングではＰｒｉｍａｒｙオーディオストリームよりも少ないチャンネル数のＳｅｃｏｎｄａｒｙオーディオストリーム（例えばモノラル）の音声が使われる。【０２２４】  Ｊａｖａアプリケーションにて描画されたボタンに対し確定操作がなされた場合、又は、ＩＧストリームにより描画されたボタンに対し確定操作がなされた場合、Ｐｒｉｍａｒｙオーディオストリームの再生出力、又は、Ｐｒｉｍａｒｙオーディオストリームの再生出力と、Ｓｅｃｏｎｄａｒｙオーディオストリームの再生出力とのミキシング結果に対して、サウンドデータをミキシングするよう、ミキサー９ｂを制御する。【０２２５】  以上が、本実施形態に係るストリーム供給装置３００についての説明である。
以上のように本実施形態によれば、ストリーム供給装置はＨＤＭＩのようにデジタルＩ／Ｆを介してオーディオアンプの能力を取得し、それに応じてＰＳＲ１５を設定した上、このＰＳＲ１５に基づき、ＰｒｉｍａｒｙオーディオストリームをＢＤ−ＲＯＭディスク／ローカルストレージから選択して、このＰｒｉｍａｒｙオーディオストリームのパススルー出力を行う。このとき符号化形式がＤＴＳ−ＨＤ形式である場合には、ＤＩＢにより拡張データをデコードに利用可能か否かが示されるため、実際にどのような品質で音声再生されるかストリーム供給装置がわで事前に把握することができる。【０２２６】  尚、ロスレス圧縮されたオーディオデータのデコードは演算量が多く、高い処理能力が必要とされる。そのため、処理速度やメモリ容量のつごうから、ＤＴＳ−ＨＤ（ｘＬＬ）をデコードすることは出来るが、ＤＴＳ−ＥＳやＤＴＳ−９６／２４などをデコードする場合よりも少ないチャンネル数にしか対応できないといったケースも考えられる。
このような場合には、図４５に示すようにＤＩＢを改良することで、ＣＯＤＩＮＧ  ＴＹＰＥがＤＴＳである場合に、ＤＴＳの拡張規格であるＤＴＳ−ＥＳ、ＤＴＳ−９６−２４、ＤＴＳ−ＨＤ（ｘＬＬ）のうちデコード可能な符号化方式毎に、対応可能なチャンネル数、スピーカ構成、サンプリング周波数を、オーディオアンプからストリーム供給装置へ通知することができる。これによって、実際に再生される音声の品質をストリーム供給装置側でより適切に把握することが出来る。図４５の例では、オーディオアンプはＣｏｒｅ  ｓｕｂｓｔｒｅａｍのデコード、Ｅｘｔｅｎｔｉｏｎ  ｓｕｂｓｔｒｅａｍのＤＴＳ−ＥＳ部分のデコード、Ｅｘｔｅｎｔｉｏｎ  ｓｕｂｓｔｒｅａｍのＤＴＳ−９６／２４部分のデコードが可能であり、Ｃｏｒｅ  ｓｕｂｓｔｒｅａｍをデコードに用いる際には５．１ｃｈ、４８ＫＨｚで音声再生が可能であり、ＤＴＳ−ＥＳ部分をデコードに用いる際には７．１ｃｈ、４８ＫＨｚで音声再生が可能であり、ＤＴＳ−９６／２４部分をデコードに用いる際には２ｃｈ、１９６ＫＨｚで音声再生が可能であることが示される。【０２２７】  （備考）
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。上記の実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の意思によることは留意されたい。【０２２８】  （追加コンテンツに対する処理）
ローカルストレージ２００にダウンロードされた追加コンテンツは、何ヶ月、何年か経過すれば自動的に消去するよう、ストリーム供給装置を初期設定しておくのが望ましい。
（ＰＩＤの代用）
上記実施形態では、Ｐｒｉｍａｒｙオーディオストリーム、Ｓｅｃｏｎｄａｒｙオーディオストリームの区別にＰＩＤを用いたが、ＭＰＥＧ２−ＰＳを使う場合には、ＰＥＳパケットヘッダのｓｔｒｅａｍ＿ｉｄをそれぞれ異なるものにするのが望ましい。【０２２９】  またＰｒｉｍａｒｙオーディオストリーム、Ｓｅｃｏｎｄａｒｙオーディオストリームは、２つの音声ストリームが１つのデマルチプレクサでも弁別可能なように、システムストリームレベルにおいて区別されていればよい。もしくは、２つのストリームを１つに束ねる前に、片方のＰＩＤを重複しないように付け替えておくだけでもよい。
（制御手順の実現）
上記実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。【０２３０】  ・本発明に係るプログラムの生産形態
本発明に係るプログラムは、コンピュータが実行することができる実行形式のプログラム（オブジェクトプログラム）であり、上記実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような１つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、ＪＡＶＡバイトコードというように、様々な種類がある。またプログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、１つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているＲＩＳＣプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップが実現されることもある。【０２３１】  本発明にかかるプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。【０２３２】  記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。【０２３３】  オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、本発明に係るプログラムを作ることができる。【０２３４】  ・本発明に係るプログラムの使用形態
本発明に係るプログラムは、以下のようにして使用することができる。
（ｉ）組込プログラムとしての使用
本発明に係るプログラムを組込プログラムとして使用する場合、プログラムにあたるロードモジュールを、基本入出力プログラム（ＢＩＯＳ）や、様々なミドルウェア（オペレーションシステム）と共に、命令ＲＯＭに書き込む。こうした命令ＲＯＭを、制御部に組み込み、ＣＰＵに実行させることにより、本発明に係るプログラムを、ストリーム供給装置３００の制御プログラムとして使用することができる。【０２３５】  （ｉｉ）アプリケーションとしての使用
ストリーム供給装置３００が、ハードディスク内蔵モデルである場合は、基本入出力プログラム（ＢＩＯＳ）が命令ＲＯＭに組み込まれており、様々なミドルウェア（オペレーションシステム）が、ハードディスクにプレインストールされている。また、ハードディスクから、システムを起動するためのブートＲＯＭが、ストリーム供給装置３００に設けられている。【０２３６】  この場合、ロードモジュールのみを、過搬型の記録媒体やネットワークを通じて、ストリーム供給装置３００に供給し、１つのアプリケーションとしてハードディスクにインストールする。そうすると、ストリーム供給装置３００は、ブートＲＯＭによるブートストラップを行い、オペレーションシステムを起動した上で、１つのアプリケーションとして、当該アプリケーションをＣＰＵに実行させ、本発明に係るプログラムを使用する。【０２３７】  ハードディスクモデルのストリーム供給装置３００では、本発明のプログラムを１つのアプリケーションとして使用しうるので、本発明に係るプログラムを単体で譲渡したり、貸与したり、ネットワークを通じて供給することができる。
（コントローラ２２）
上記実施形態に示したコントローラ２２等の構成要素は、一個のシステムＬＳＩとして実現することができる。【０２３８】  システムＬＳＩとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも１つのＬＳＩのような外形構造を複数個のベアチップに持たせたものも、システムＬＳＩに含まれる（このようなシステムＬＳＩは、マルチチップモジュールと呼ばれる。）。
ここでパッケージの種別に着目するとシステムＬＳＩには、ＱＦＰ（クッド  フラッド  アレイ）、ＰＧＡ（ピン  グリッド  アレイ）という種別がある。ＱＦＰは、パッケージの四側面にピンが取り付けられたシステムＬＳＩである。ＰＧＡは、底面全体に、多くのピンが取り付けられたシステムＬＳＩである。【０２３９】  これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムＬＳＩにおけるピンには、こうしたインターフェイスの役割が存在するので、システムＬＳＩにおけるこれらのピンに、他の回路を接続することにより、システムＬＳＩは、ストリーム供給装置３００の中核としての役割を果たす。
システムＬＳＩにパッケージングされるベアチップは、“フロントエンド部”、“バックエンド部”、“デジタル処理部”からなる。“フロントエンド部”は、アナログ信号を、デジタル化する部分であり、“バックエンド部”はデジタル処理の結果、得られたデータを、アナログ化して出力する部分である。【０２４０】  上記実施形態において内部構成図として示した各構成要素は、このデジタル処理部内に実装される。
先に“組込プログラムとしての使用”で述べたように、命令ＲＯＭには、プログラムにあたるロードモジュールや、基本入出力プログラム（ＢＩＯＳ）、様々なミドルウェア（オペレーションシステム）が書き込まれる。本実施形態において、特に創作したのは、このプログラムにあたるロードモジュールの部分なので、プログラムにあたるロードモジュールを格納した命令ＲＯＭを、ベアチップとしてパッケージングすることにより、本発明に係るシステムＬＳＩは生産することができる。【０２４１】  具体的な実装については、ＳｏＣ実装やＳｉＰ実装を用いることができ望ましい。ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ｃｈｉｐ）実装とは、１チップ上に複数の回路を焼き付ける技術である。ＳｉＰ（Ｓｙｓｔｅｍ  ｉｎ  Ｐａｃｋａｇｅ）実装とは、複数チップを樹脂等で１パッケージにする技術である。以上の過程を経て、本発明に係るシステムＬＳＩは、上記実施形態に示したストリーム供給装置３００の内部構成図を基に作ることができる。【０２４２】  尚、上述のようにして生成される集積回路は、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
さらに、各記録読出装置の構成要素の一部又は全てを１つのチップとして構成してもよい。集積回路化は、上述したＳｏＣ実装，ＳｉＰ実装に限るものではなく、専用回路又は汎用プロセスで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なシリコンフィギュラブル・プロセッサを利用することが考えられる。更には、半導体技術の進歩又は派生する技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積回路化を行っても良い。例えば、バイオ技術の適応などが可能性としてありうる。
【産業上の利用可能性】
【０２４３】  本発明はホームシアターシステムを構成するストリーム再生装置、ストリーム供給装置等に適用でき、特に、記録媒体からオーディオストリームを読み出すストリーム供給装置と、オーディオストリームをデコードするストリーム再生装置とがＨＤＭＩ等のデジタルＩ／Ｆを介して接続して利用する場合に有用である。
【図１】
2006088145.tif 000003
【図２】
2006088145.tif 000004
【図３】
2006088145.tif 000005
【図４】
2006088145.tif 000006
【図５】
2006088145.tif 000007
【図６】
2006088145.tif 000008
【図７】
2006088145.tif 000009
【図８】
2006088145.tif 000010
【図９】
2006088145.tif 000011
【図１０】
2006088145.tif 000012
【図１１】
2006088145.tif 000013
【図１２】
2006088145.tif 000014
【図１３】
2006088145.tif 000015
【図１４】
2006088145.tif 000016
【図１５】
2006088145.tif 000017
【図１６】
2006088145.tif 000018
【図１７】
2006088145.tif 000019
【図１８】
2006088145.tif 000020
【図１９】
2006088145.tif 000021
【図２０】
2006088145.tif 000022
【図２１】
2006088145.tif 000023
【図２２】
2006088145.tif 000024
【図２３】
2006088145.tif 000025
【図２４】
2006088145.tif 000026
【図２５】
2006088145.tif 000027
【図２６】
2006088145.tif 000028
【図２７】
2006088145.tif 000029
【図２８】
2006088145.tif 000030
【図２９】
2006088145.tif 000031
【図３０】
2006088145.tif 000032
【図３１】
2006088145.tif 000033
【図３２】
2006088145.tif 000034
【図３３】
2006088145.tif 000035
【図３４】
2006088145.tif 000036
【図３５】
2006088145.tif 000037
【図３６】
2006088145.tif 000038
【図３７】
2006088145.tif 000039
【図３８】
2006088145.tif 000040
【図３９】
2006088145.tif 000041
【図４０】
2006088145.tif 000042
【図４１】
2006088145.tif 000043
【図４２】
2006088145.tif 000044
【図４３】
2006088145.tif 000045
【図４４】
2006088145.tif 000046
【図４５】
2006088145.tif 000047
【手続補正書】
【提出日】平成19年1月19日(2007.1.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
基本データと拡張データとから構成されるオーディオフレームを含むオーディオストリームを再生するストリーム再生装置であって、
デコーダと、
ストリーム供給装置からオーディオストリームの供給を受けるインターフェース手段とを備え、
前記デコーダにおけるオーディオストリームのデコードに、基本データのみを用いることができるか、拡張データを用いることができるかを前記インターフェース手段を介して前記ストリーム供給装置へ通知する機能を有する
ことを特徴とするストリーム再生装置。
【請求項２】
前記基本データは、元の音声データをロッシー圧縮したデータであり、
拡張データは、前記元の音声データをロスレス圧縮したデータを構成すること
を特徴とする請求項１のストリーム再生装置。
【請求項３】
基本データは、所定のチャネル数の音声データを符号化したデータであり、
拡張データは、前記所定のチャネル数よりも多いチャネル数の音声データを符号化したデータを構成すること
を特徴とする請求項１のストリーム再生装置。
【請求項４】
複数のオーディオストリームから何れかのオーディオストリームを選択して再生装置へ供給するストリーム供給装置であって、
再生装置が有するデコーダにおいて、オーディオフレームが基本データと拡張データとから構成されるオーディオストリームをデコードする際に、前記デコーダにおけるオーディオストリームのデコードに、基本データのみを用いることができるか、拡張データを用いることができるかを示す情報を、再生装置から取得する取得手段と、
前記取得した情報に基づいて、オーディオストリームを選択する条件を変更する変更手段を備えること
を特徴とするストリーム供給装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオストリーム再生技術に関する。
【背景技術】
【０００２】
ＡＶ機器では、映像の高画質化と共に、音声についても高品質化が求められ、多様な音声符号化方式が採用されている。例えばBD（Blu-ray Disc）では、符号化方式や言語の異なる複数（最大３２本）のオーディオストリームを記録媒体に記録して、再生装置の性能や使用言語に応じて適した音声の再生を実現している。
オーディオストリームの選択に際しては、従来の視聴環境では、デコーダを備えたプレーヤが記録媒体からストリームを読み出し、自装置のデコーダに適したオーディオストリームを選択しているものが多い。
【特許文献１】特開平９−２８２８４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、音声符号化方式は高度化が進み、ロッシーな圧縮から高音質なロスレス圧縮の利用が本格化している。
ロスレス符号化方式のなかにはDTS-HD方式のように、音質が劣る下位のロッシーな符号化方式に対応したデコーダとの互換性を保ちつつ、最新のデコーダではよりロスレスな再生を可能とする符号化方式もある。そのため、DTS-HD方式のような符号化方式を用いる際には、単にデコーダが符号化されたオーディオストリームを再生できるか否かを認識するのみでは、実際にどのような品質で音声再生されるか事前に把握できないという問題がある。
【０００４】
特に、テレビやオーディオアンプがそれぞれデコーダを備え、記録媒体からストリームを読み出す供給装置が、記録媒体から読み出したデジタルストリームをデコードすることなく、テレビやオーディオアンプ等の再生装置へ映像や音声のストリームを振り分けて出力するホームシアターシステムのような視聴環境では、ユーザは主に供給装置に対して機器操作を行うため、機器操作に応じて出力されるオーディオストリームの符号化方式を根拠にユーザが期待していた品質で音声が再生されず、ユーザに混乱を招くおそれがある。
【０００５】
本発明はかかる問題に鑑み、供給装置から再生装置へデジタルストリームをパススルー出力するような視聴環境において、再生装置で再生される音声の品質が適切に判断できる再生装置、供給装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係るストリーム再生装置は、基本データと拡張データとから構成されるオーディオフレームを含むオーディオストリームを再生するストリーム再生装置であって、デコーダと、ストリーム供給装置からオーディオストリームの供給を受けるインターフェース手段とを備え、前記デコーダにおけるオーディオストリームのデコードに、基本データのみを用いることができるか、拡張データを用いることができるかを前記インターフェース手段を介して前記ストリーム供給装置へ通知する機能を有することを特徴とする。
【０００７】
また、上記課題を解決するため、本発明に係るストリーム供給装置は、複数のオーディオストリームから何れかのオーディオストリームを選択して再生装置へ供給するストリーム供給装置であって、再生装置が有するデコーダにおいて、オーディオフレームが基本データと拡張データとから構成されるオーディオストリームをデコードする際に、前記デコーダにおけるオーディオストリームのデコードに、基本データのみを用いることができるか、拡張データを用いることができるかを示す情報を、再生装置から取得する取得手段と、前記取得した情報に基づいて、オーディオストリームを選択する条件を変更する変更手段を備えることを特徴とする。
【発明の効果】
【０００８】
音声符号化方式がＤＴＳ−ＨＤ方式のように、音質が劣る下位の符号化方式に対応したデコーダとの互換性を保ちつつ、最新のデコーダではより高品質な再生を可能とする符号化方式を用いる場合にも、ストリーム供給装置からストリーム再生装置へオーディオストリームをパススルー出力するような視聴環境において、ストリーム再生装置におけるオーディオデコードに拡張データを用いることができるか否かがストリーム供給装置へ通知されるので、実際にどのような品質で音声再生されるかを、ストリーム供給装置側で事前に把握することができる。
【発明を実施するための最良の形態】
【０００９】
以降、本発明に係る再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図１は、本発明に係るストリーム再生装置の、使用行為についての形態を示す図である。図１において、本発明に係るストリーム再生装置は、オーディオアンプ４００である。このオーディオアンプ４００は、ストリーム供給装置３００、スピーカ５００、及びテレビ６００と共にホームシアターシステムを形成し、ストリーム供給装置から供給されるオーディオストリームを再生するという用途で使用される。
【００１０】
以降、BD-ROM１００、ストリーム供給装置３００、オーディオアンプ４００について説明を行う。
BD-ROM１００は、映画作品が記録された記録媒体である。
ストリーム供給装置３００は、ネット対応型のデジタル家電機器であり、リモコンを用いたユーザの操作に応じてBD-ROM１００に記録された映画作品を読み出し、映像データをテレビ６００へ、音声データをオーディオアンプ４００へ出力する機能をもつ。本実施形態では、ストリーム供給装置３００とオーディオアンプ４００とはＨＤＭＩ（HDMI:HighDefinition Multimedia Interface）により規定されているＩ／Ｆ規格に準拠して接続されており、ストリーム供給装置３００は、BD-ROM１００から読み出したオーディオストリームをデコードすることなくオーディオアンプ４００へ出力する。以下、オーディオストリームを構成するTSパケットをデコードせずそのエレメンタリーストリームを他の機器に出力することを“パススルー出力”という。
【００１１】
また、ストリーム供給装置３００内部には、映画配給者のサーバから配信されたコンテンツの受け皿として利用されるハードディスクであるローカルストレージ２００が組み込まれており、映画配給者のサーバから、ネットを通じてダウンロードしたコンテンツを、BD-ROM１００に記録されたコンテンツと組み合わせて、BD-ROM１００のコンテンツを拡張/更新をすることができる。BD-ROM１００の記録内容に、ローカルストレージ２００の記録内容を組み合わせて、BD-ROM１００に記録されていないデータを、恰も、記録されているように扱う技術を“バーチャルパッケージ”という。
【００１２】
オーディオアンプ４００は、オーディオデコーダを内部に備え、ストリーム供給装置３００から供給されるオーディオストリームをデコードし、デコードにより得られるLPCM状態のオーディオデータをスピーカ５００へ出力する。
以上が本発明に係る再生装置の使用形態についての説明である。
続いて本発明に係る記録媒体の詳細について説明する。
【００１３】
＜BD-ROMの概要＞
図２は、BD-ROMの内部構成を示す図である。本図の第４段目にBD-ROMを示し、第３段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第１段目のようになる。この第1段目においてBD-ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
【００１４】
BDMVディレクトリには、拡張子bdmvが付与されたファイル(index.bdmv,MovieObject.bdmv)がある。そしてこのBDMVディレクトリの配下には、更にPLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDBJディレクトリ、BDJAディレクトリ、AUXDATAディレクトリと呼ばれる6つのサブディレクトリが存在する。
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(00001.mpls)がある。
【００１５】
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(00001.clpi)がある。
STREAMディレクトリには、拡張子m2tsが付与されたファイル(00001.m2ts)がある。
BDBJディレクトリには、拡張子bobjが付与されたファイル(00001.bobj)が存在する。
BDJAディレクトリには、拡張子jarが付与されたファイル(00001.jar)がある。
AUXDATAディレクトリには、ファイルsound.bdmvが格納される。
【００１６】
以上のディレクトリ構造により、互いに異なる種別の複数ファイルが、BD-ROM上に配置されていることがわかる。
＜BD-ROMの構成その１.AVClip＞
先ず初めに、拡張子.m2tsが付与されたファイルについて説明する。図３は、拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。拡張子.m2tsが付与されたファイル(00001.m2ts)は、AVClipを格納している。AVClipはMPEG2-TransportStream形式のデジタルストリームである。このデジタルストリームは、デジタル化された映像、デジタル化された音声を(上１段目)、PESパケットからなるエレメンタリストリームに変換し(上２段目)、更にTSパケットに変換して(上３段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(PresentatiionGraphics(PG)ストリーム)及び対話系のインタラクティブグラフィクスストリーム(Interactive Graphics(IG)ストリーム)を(下１段目、下２段目)、更にTSパケットに変換して(下３段目)、これらを多重化することで構成される。
【００１７】
PGストリームは、言語毎の字幕を構成するグラフィクスストリームであり、英語、日本語、フランス語というように複数言語についてのストリームが存在する。PGストリームは、PCS(PresentationControl Segment)、PDS(Pallet Define Segment)、WDS(Window Define Segment)、ODS(ObjectDefine Segment)、END(END of Display Set Segment)という一連の機能セグメントからなる。ODS(ObjectDefine Segment)は、字幕たるグラフィクスオブジェクトを定義する機能セグメントである。
【００１８】
WDS(Window Define Segment)は、画面におけるグラフィクスオブジェクトの描画領域を定義する機能セグメントであり、PDS(PalletDefine Segment)は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。PCS(PresentationControl Segment)は、字幕表示におけるページ制御を規定する機能セグメントである。かかるページ制御には、Cut-In/Out、Fade-In/Out、ColorChange、Scroll、Wipe-In/Outといったものがあり、PCSによるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。
【００１９】
IGストリームは、対話制御を実現するグラフィクスストリームである。IGストリームにて定義される対話制御は、DVD再生装置上の対話制御と互換性がある対話制御である。かかるIGストリームは、ICS(InteractiveComposition Segment)、PDS(Palette Difinition Segment)、ODS(Object DefinitionSegment)、END(END of Display Set Segment)と呼ばれる機能セグメントからなる。ODS(Object DefinitionSegment)は、グラフィクスオブジェクトを定義する機能セグメントである。このグラフィクスオブジェクトが複数集まって、対話画面上のボタンが描画される。PDS(PaletteDifinition Segment)は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。ICS(InteractiveComposition Segment)は、ユーザ操作に応じてボタンの状態を変化させるという状態変化を実現する機能セグメントである。ICSは、ボタンに対して確定操作がなされた際、実行すべきボタンコマンドを含む。
【００２０】
ここでAVClipは、1つ以上の“STC_Seuence”から構成される。“STC_Seuence”とは、AVストリームのシステム基準時刻であるSTC(SystemTime Clock)の不連続点(system time-base discontinuity)が存在しない区間をいう。STCの不連続点はデコーダがSTCを得るために参照するPCR(ProgramClock Reference)を運ぶPCRパケットの不連続情報(discontinuity_indicator)がONである点である。
続いて、以上のように構成されたAVClipが、BD-ROMにどのように書き込まれるかを説明する。図４は、AVClipを構成するTSパケットがどのような過程を経てBD-ROMに書き込まれるかを示す。本図の第１段目にAVClipを構成するTSパケットを示す。
【００２１】
AVClipを構成する188バイトのTSパケットは、第２段目に示すように4バイトのTS_extra_header(図中のハッチング部)、が付されて、192バイト長のSourceパケットになる。このTS_extra_headerは、当該TSパケットのデコーダ入力時刻情報を示すArrival_Time_Stampを含む。
AVClipを構成するSourceパケットは、第3段目におけるAVClipにおいて、1つ以上の“ATC_Seuence”を構成する。“ATC_Seuence”とは、Sourceパケットの配列であって、そのArrival_Time_Stampが参照しているArrival_Time_Clockに、不連続点(noarrival time-base discontinutiy)が存在しないものをいう。いいかえれば、そのArrival_Time_Stampが参照しているArrival_Time_Clockに、連続性が存在するSourceパケット列を“ATC_Seuence”という。
【００２２】
かかるATC_SeuenceがAVClipになり、xxxxx.m2tsというファイル名でBD-ROMに記録される。
かかるAVClipは、通常のコンピュータファイル同様、1つ以上のファイルエクステントに分割され、BD-ROM上の領域に記録される。第4段目はAVClipがどのようにBD-ROMに記録されるかを模式的に示す。この第4段目においてファイルを構成する各ファイルエクステントは、予め定められたＳexetent以上のデータ長を有する。
【００２３】
AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Ｓexetentを検討する。
ここでBD-ROMにおいて光ピックアップのジャンプに要する時間は、
Ｔjump＝Ｔaccess+Ｔoverhead
で与えられる。
Ｔaccessは、ジャンプ距離（ジャンプする物理アドレスの距離）に応じて与えられる時間である。
BD-ROMから読み出されたTSパケットは、リードバッファと呼ばれるバッファに格納された上、デコーダに出力されるが、リードバッファへの入力が、Rudというビットレートで行われ、ECCブロックにおけるセクタ数をSeccとした場合、
Ｔoverheadは、
Ｔoverhead≦(2×Secc×8)／Rud＝20m秒
という計算で与えられる。
BD-ROMから読み出されたTSパケットは、Sourceパケットの状態でリードバッファに格納された上、TS_Recording_rateという転送レートで、デコーダに供給される。
【００２４】
TS_Recording_rateという転送レートでの、デコーダへのTSパケット供給が跡絶えさせないなめには、Ｔjumpの間、リードバッファからデコーダへのTSパケット出力が継続している必要がある。ここでリードバッファからの出力は、TSパケットではなく、Sourceパケットの状態でなされるので、TSパケットのSourceパケットとのサイズ比を192/188とした場合、Ｔjumpの間、(192/188×TS_Recording_rate)という転送レートにより、リードバッファからのSourceパケット出力が継続している必要がある。
従って、リードバッファが、アンダーフローしないためのバッファ蓄積量は、
Ｂoccupied≧(Tjump/1000×8)×((192/188)×TS_Recording_rate)
となる。
リードバッファへの入力レートはRud、リードバッファからの出力レートはTS_Recording_rate×(192/188)であるので、リードバッファへの蓄積レートは、入力レート−出力レートの計算で与えられ、(Rud−TS_Recording_rate×(192/188))になる。
【００２５】
このＢoccupiedを、リードバッファに蓄積するのに要する時間Txは、
Tx＝Ｂoccupied/(Rud−TS_Recording_rate×(192/188))
になる。
BD-ROMからの読み出しには、この時間TxにおいてRudでのTSパケット入力を継続する必要があるので、AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Ｓexetentは、
Ｓexetent＝Rud×Tx
＝Rud×Ｂoccupied/(Rud−TS_Recording_rate×(192/188))
≧Rud×(Tjump/1000×8)×((192/188)×TS_Recording_rate)
/(Rud−TS_Recording_rate×(192/188))
≧(Rud×Tjump/1000×8)×
×TS_Recording_rate×192/(Rud×188−TS_Recording_rate×192)
になる。
よって
Ｓexetent≧
(Tjump×Rud/1000×8)×
（TS_Recording_rate×192/(Rud×188−TS_Recording_rate×192))
になる。
AVClipを構成する各ファイルエクステントは、デコーダのアンダーフローをおこさないように算出されたＳextent以上のデータ長をもつことにより、AVClipを構成する各ファイルエクステントが、BD-ROM上において離散的に位置されたとしても、再生時においてデコーダへのTSパケット供給が途絶えさせることなく、連続的に読み出されることになる。
【００２６】
図５は、BD-ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。第２段目に示すように、BD-ROM上には複数セクタが形成されている。ファイルエクステントを構成するSourceパケットは、第1段目に示すように、32個毎にグループ化されて、連続する3つのセクタに書き込まれる。32個のSourceパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のSourceパケットを“AlignedUnit”といい、BD-ROMへの書き込みは、Aligned Unit単位でなされる。
【００２７】
第３段目においてセクタは、32個単位で誤り訂正符号が付され、ECCブロックを構成する。ストリーム供給装置３００はAligned Unitの単位でBD-ROMをアクセスする限り、32個の完結したSourceパケットを得ることができる。以上がBD-ROMに対するAVClipの書き込みのプロセスである。
＜エレメンタリストリームの種類＞
図６は、AVClipにどのようなエレメンタリストリームが多重化されているかを示す図である。
【００２８】
本図に示すように、AVClipには、0x1011のPIDをもつ高画質ビデオストリーム、0x1100から0x111FまでのPIDをもつPrimaryオーディオストリーム、0x1200から0x121FまでのPIDをもつPGストリーム、0x1400から0x141FまでのPIDをもつIGストリームが多重化されている。これらのエレメンタリストリームを構成するパケットは、それに対応するPIDが付与されており、このPIDを手掛かりにして多重分離されることになる。このように、高画質なビデオストリームが多重化されているAVClipを、以下“MainClip”と呼ぶ。これに対し、MainClipと同時に再生されるAVClipを、“SubClip”とよぶ。
＜BD-ROMの構成その２.Clip情報＞
続いて拡張子.clpiが付与されたファイルについて説明する。拡張子.clpiが付与されたファイル(00001.clpi)は、Clip情報を格納している。Clip情報は、個々のAVClipについての管理情報である。図７は、Clip情報の内部構成を示す図である。本図の左側に示すようにClip情報は、
i)AVClipについての情報を格納した『ClipInfo()』、
ii)ATC Sequence,STC Sequenceに関する情報を格納した『Sequence Info()』
iii)Program Sequenceに関する情報を格納した『Program Info()』
iv)『Characteristic Point Info(CPI())』からなる。
【００２９】
ClipInfoには、このClip情報が参照するAVClipのアプリケーションタイプ（application_type）がある。アプリケーションタイプによってMainClipかSubClipかや、動画を含んでいるのか静止画(スライドショー)を含んでいるのかなどが識別できる。TS_recording_rateは該当AVClipのシステムビットレート情報である。
Sequence Infoは、AVClipに含まれる、1つ以上のSTC-Sequence、ATC-Sequenceについての情報である。これらの情報を設けておくことの意義は、STC、ATCの不連続点を、予めストリーム供給装置３００に通知するためである。つまりかかる不連続点が存在すると、AVClip内において同じ値のPTSが出現する可能性があり、PTS指定での飛び込み再生時に不都合が生じる。STC,ATCが連続しているのは、トランスポートストリームのうち、どこからどこまでであるかを示すため、SequenceInfoは設けられている。
【００３０】
Program Infoとは、Program内容が一定である区間(Program Sequence)を示す情報である。Programとは、同期再生のための時間軸を共有し合うエレメンタリーストリーム同士の集まりである。ProgramSequence情報を設けておくことの意義は、Program内容の変化点を、予めストリーム供給装置３００に通知するためである。ここでのProgram内容の変化点とは、ビデオストリームのPIDが変化したり、ビデオストリームの種類がSDTVからHDTVに変化している点等をいう。
続いてCharacteristic Point Infoについて説明する。図中の引き出し線cu2は、CPIの構成をクローズアップしている。引き出し線cu2に示すように、CPIは、Ne個のEP_map_for_one_stream_PID(EP_map_for_one_stream_PID[0]〜EP_map_for_one_stream_PID[Ne-1])からなる。これらEP_map_for_one_stream_PIDは、AVClipに属する個々のエレメンタリストリームについてのEP_mapである。EP_mapは、1つのエレメンタリストリーム上において、AccessUnitが存在するエントリー位置のパケット番号(SPN_EP_start)を、エントリー時刻(PTS_EP_start)と対応づけて示す情報である。図中の引き出し線cu3は、EP_map_for_one_stream_PIDの内部構成をクローズアップしている。
【００３１】
これによると、EP_map_for_one_stream_PIDは、Nc個のEP_High(EP_High(0)〜EP_High(Nc-1))と、Nf個のEP_Low(EP_Low(0)〜EP_Low(Nf-1))とからなることがわかる。ここでEP_Highは、AccessUnit(Non-IDR Iピクチャ、IDRピクチャ)のSPN_EP_start及びPTS_EP_startの上位ビットを表す役割をもち、EP_Lowは、AccessUnit(Non-IDR Iピクチャ、IDRピクチャ)のSPN_EP_start及びPTS_EP_startの下位ビットを示す役割をもつ。
【００３２】
図中の引き出し線cu4は、EP_Highの内部構成をクローズアップしている。この引き出し線に示すように、EP_High(i)は、EP_Lowに対する参照値である『ref_to_EP_Low_id[i]』と、AccessUnit(Non-IDR Iピクチャ、IDRピクチャ)のPTSの上位ビットを示す『PTS_EP_High[i]』と、Access Unit(Non-IDR Iピクチャ、IDRピクチャ)のSPNの上位ビットを示す『SPN_EP_High[i]』とからなる。ここでiとは、任意のEP_Highを識別するための識別子である。
【００３３】
図中の引き出し線cu5は、EP_Lowの構成をクローズアップしている。引き出し線cu5に示すように、EP_Lowは、対応するAccess UnitがIDRピクチャか否かを示す『is_angle_change_point(EP_Low_id)』と、対応するAccessUnitのサイズを示す『I_end_position_offset(EP_Low_id)』と、対応するAccess Unit(Non-IDR Iピクチャ、IDRピクチャ)のPTSの下位ビットを示す『PTS_EP_Low(EP_Low_id)』と、対応するAccessUnit(Non-IDR Iピクチャ、IDRピクチャ)のSPNの下位ビットを示す『SPN_EP_Low(EP_Low_id)』とからなる。ここでEP_Low_idとは、任意のEP_Lowを識別するための識別子である。
【００３４】
＜PlayList情報＞
続いて、PlayList情報について説明する。拡張子“mpls”が付与されたファイル(00001.mpls)は、PlayList(PL)情報を格納したファイルである。
図８は、PlayList情報のデータ構造を示す図であり、本図において、引き出し線mp1に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())を含む。
【００３５】
＜PlayList情報の説明その１.MainPath情報＞
先ずMainPathについて説明する。MainPathは、主映像たるビデオストリームやオーディオストリームに対して定義される再生経路である。
MainPathは、矢印mp1で示すように複数のPlayItem情報#1・・・・#mから定義される。PlayItem情報は、MainPathを構成する1つの論理的な再生区間を定義する。PlayItem情報の構成は、引き出し線hs1によりクローズアップされている。この引き出し線に示すようにPlayItem情報は、再生区間のIN点及びOut点が属するAVClipの再生区間情報のファイル名を示す『Clip_Information_file_name』と、AVClipの符号化方式を示す『Clip_codec_identifier』と、PlayItemがマルチアングルを構成するか否かを示す『is_multi_angle』と、このPlayItemと、その1つ前のPlayItemとの接続を、シームレスに行うか否かを示す『connection_condition』と、このPlayItemが対象としているSTC_Sequenceを一意に示す『ref_to_STC_id[0]』と、再生区間の始点を示す時間情報『In_time』と、再生区間の終点を示す時間情報『Out_time』と、このPlayItemにおいてマスクすべきユーザオペレーションがどれであるかを示す『UO_mask_table』と、このPlayItemの途中へのランダムアクセスを許可するか否かを示す『PlayItem_random_access_flag』と、このPlayItemの再生終了後、最後のピクチャの静止表示を継続するか否かを示す『Still_mode』と、『STN_table』とから構成される。このうち、再生経路を構成するのは、再生区間の始点を示す時間情報『In_time』、再生区間の終点を示す時間情報『Out_time』の組みであり、再生経路情報とは、この『In_time』及び『Out_time』の組みから構成される。
【００３６】
図９は、AVClipと、PlayList情報との関係を示す図である。第1段目は、PlayList情報がもつ時間軸を示す。第2段目から第5段目は、EP_mapにて参照されているビデオストリームを示す。
PlayList情報は、PlayItem情報#1,#2という2つのPlayItem情報を含んでおり、これらPlayItem情報#1,#2のIn_time,Out_timeにより、2つの再生区間が定義されることになる。これらの再生区間を配列させると、AVClip時間軸とは異なる時間軸が定義されることになる。これが第1段目に示すPlayList時間軸である。このように、PlayItem情報の定義により、AVClipとは異なる再生経路の定義が可能になる。
【００３７】
以上のClip情報及びプレイリスト情報は、”静的シナリオ”に分類される。何故なら、以上のClip情報及びプレイリスト情報により、静的な再生単位であるプレイリストが定義されるからである。以上で静的シナリオについての説明を終わる。
続いて”動的なシナリオ”について説明する。動的シナリオとは、AVClipの再生制御を動的に規定するシナリオデータである。”動的に”というのは、ホームシアターシステムを構成する機器における状態変化やユーザからのキーイベントにより再生制御の中身がかわることをいう。BD-ROMでは、この再生制御の動作環境として2つのモードを想定している。1つ目は、DVD再生装置の動作環境と良く似た動作環境であり、コマンドベースの実行環境である。2つ目は、Java（登録商標）仮想マシンの動作環境である。これら2つの動作環境のうち1つ目は、HDMVモードと呼ばれる。2つ目は、BD-Jモードと呼ばれる。これら2つの動作環境があるため、動的シナリオはこのどちらかの動作環境を想定して記述される。HDMVモードを想定した動的シナリオはMovieObjectと呼ばれる。一方BD-Jモードを想定した動的シナリオはBD-J Objectと呼ばれる。
【００３８】
先ず初めにMovie Objectについて説明する。
＜Movie Object＞
Movie Objectは、図２に示したMovieObject.bdmvというファイルに格納され、ナビゲーションコマンド列を含む。
ナビゲーションコマンド列は、条件分岐、ストリーム供給装置３００における状態レジスタの設定、状態レジスタの設定値取得等を実現するコマンド列からなる。MovieObjectにおいて記述可能なコマンドを以下に示す。
PlayPLコマンド
書式:PlayPL(第１引数，第２引数)
第１引数は、プレイリストの番号で、再生すべきプレイリストを指定することができる。第２引数は、そのプレイリストに含まれるPlayItemや、そのプレイリストにおける任意の時刻、Chapter、Markを用いて再生開始位置を指定することができる。
【００３９】
PlayItemによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatPlayItem()、
ChapterによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatChapter()、
時刻情報によりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatSpecified Time()という。
Movie Objectにおけるナビゲーションコマンドの記述は、DVDにおけるナビゲーションコマンドの記述方式と良く似ているので、DVD上のディスクコンテンツを、BD-ROMに移植するという作業を効率的に行うことができる。MovieObjectについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。
国際公開公報W0 2004/074976
以上でMovie Objectについての説明を終える。続いてBD-J Objectについて説明する。
＜BD-J Object＞
BD-J Objectは、Java（登録商標）プログラミング環境で記述された、BD-Jモードの動的シナリオであり、00001.bobjというファイルに格納される。MovieObjectとの違いは、BD-J Objectにコマンドが直接記述されていない点である。つまりMovie Objectにおいて制御手順は、ナビゲーションコマンドにより直接記述されていた。これに対しBD-JObjectでは、Java（登録商標）アプリケーションに対する指定をアプリケーション管理テーブルに記載することにより、間接的に制御手順を規定している。このような間接的な規定により、複数動的シナリオにおいて制御手順を共通化するという、制御手順の共通化を効率的に行うことができる。
【００４０】
またMovieObjectにおけるプレイリスト再生は、プレイリスト再生を命じるナビゲーションコマンド(PlayPlコマンド)の記述によりなされるが、BD-JObjectにおけるプレイリスト再生は、プレイリスト再生手順を示すプレイリスト管理テーブルをBD-J Objectに組み込むことで記述が可能になる。
このBD-JモードにおけるJava（登録商標）アプリケーションについて説明する。ここでBD-Jモードが想定しているJava（登録商標）プラットフォームは、Java（登録商標）2Micro_Edition(J2ME)Personal Basis Profile(PBP 1.0)と、Globally Executable MHPspecification(GEM1.0.2)for package media targetsとをフル実装したものである。
【００４１】
このBD-JモードにおけるJava（登録商標）アプリケーションは、xletインターフェイスを通じて、Application Managerにより、制御される。xletインターフェイスは、“loaded”,“paused”、“active”,“destoryed”といった4つの状態をもつ。
上述したJava（登録商標）プラットフォームは、JFIF(JPEG)やPNG,その他のイメージデータを表示するためのスタンダードJava（登録商標）ライブラリを含む。このため、Java（登録商標）アプリケーションは、HDMVモードにおいてIGストリームにより実現されるGUIとは異なるGUIフレームワークを実現することができる。Java（登録商標）アプリケーションにおけるGUIフレームワークは、GEM1.0.2にて規定されたHAViフレームワークを含み、GEM1.0.2におけるリモートコントロールナビゲーション機構を含む。
【００４２】
これにより、Java（登録商標）アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
このJava（登録商標）アプリケーションの実体にあたるのが、図２におけるBDMVディレクトリ配下のBDJAディレクトリに格納されたJava（登録商標）アーカイブファイル(00001.jar)である。
【００４３】
BD-J Objectについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。
国際公開公報W0 2004/045840 A1
W0 2005/036555 A1
W0 2005/036546 A1
以上でBD-J Objectについての説明を終える。
＜sound.bdmv＞
続いてsound.bdmvについて説明する。sound.bdmvは、IGストリームにて描画されたメニューやJava（登録商標）アプリケーションのGUIフレームワークに対して操作がなされた場合、クリック音として出力すべきオーディオデータ(かかるオーディオデータを、サウンドデータという)が格納されるファイルである。
【００４４】
図１０は、ファイルsound.bdmvの構成を示す図である。ファイルsound.bdmvは、Sound Data()と、Sound Index()とからなる。SoundData()は、複数のサウンドデータ(sound_data(0),sound_data(1))からなる。これらのサウンドデータのうち、sound_data(0)は、メニューに対する操作時に、第１のクリック音として出力される音源である。sound_data(1)は、メニューに対する操作時に、第２のクリック音として出力される音源である。これらのサウンドデータは、sound_IDと呼ばれる識別子にて指示される。
【００４５】
Sound Index()は、サウンド数(number_of_sound_entries)、sound_data(0)に対するインデックス、sound_data(1)に対するインデックス等からなる。
インデックスは、モノラル/ステレオの別などの各サウンドの属性(sound_attributes)、対応するサウンドデータのアドレス(sound_data_start_address)、対応するサウンドデータの連続長(sound_data_length)からなる。
【００４６】
図２〜図６に示したように、映画の劇中に使用される音声の音源は、Primaryオーディオストリームとして、AVClip内に多重化される。これは、映画劇中の音声を表すPrimaryオーディオストリームを、ビデオストリームの読み出しと同時に供給するためである。これに対し、ファイルsound.bdmvは、AVClipとは別個のファイルとしてBD-ROMに記録され、ユーザーのメニュー操作に対するクリック音を格納する。ファイルsound.bdmvは、AVClipとは別個のファイルとして記録されるので、AVClipの読み出し中に、サウンドデータを出力させようとすると、ファイルsound.bdmvを読み出すための光ピックアップのジャンプが生じ、AVClipの読み出しが中断せざるを得なくなる。かかる中断が生じれば、AVClip再生に途切れが出る。
【００４７】
かかるAVClipの再生途切れを避けるには、AVClipの再生がなされていない時点において、ファイルsound.bdmvを予めバッファにプリロードしておく必要がある。つまりAVClipの再生に先立ち、ファイルsound.bdmv内のサウンドデータを、プリロードしておく必要がある。以上がファイルsound.bdmvについての説明である。
＜Index.bdmv＞
Index.bdmvは、タイトルを構成する、Movie Object又はBD-J Objectを示すテーブルである。
【００４８】
Titleにおいて、あるTitleの構成要素となるMovieObjectはどれであるか、又は、あるTitleの構成要素となるBD-J Objectはどれであるのかを定義する。
Index.bdmvについては、以下の国際公開公報に詳細が記載されている。詳細については、本公報を参照されたい。
国際公開公報WO 2004/025651 A1公報
以上が、BD-ROM１００についての説明である。
【００４９】
＜ローカルストレージ２００＞
続いて、ローカルストレージ２００について説明する。図１１は、ローカルストレージ２００の内部構成を示す図である。本図に示すように、本発明に係る記録媒体は、応用層に対する改良により、生産することができる。
本図の第４段目にローカルストレージ２００を示し、第３段目にローカルストレージ２００上のトラックを示す。本図のトラックは、ローカルストレージ２００の内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてローカルストレージ２００の応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。
【００５０】
本図のディレクトリ構造においてROOTディレクトリの配下には、「organization#1」というサブディレクトリがあり、その配下に、「disc#1」というサブディレクトリがある。ディレクトリ「organization#1」とは、映画作品の特定のプロバイダに割り当てられたディレクトリである。「disc#1」は、そのプロバイダが提供したBD-ROMのそれぞれに割り当てられたディレクトリである。
【００５１】
特定のプロバイダに対応するディレクトリに、各BD-ROMに対応するディレクトリを設けることにより、各BD-ROMについてのダウンロードデータが個別に格納される。このサブディレクトリの配下に、BD-ROMに格納されていたのと同様、PlayList情報(00002.mpls)、Clip情報(00002.clpi)、AVClip(00002.m2ts),BD-JObject(00002.bobj),Java（登録商標）アーカイブファイル(00002.jar),クリック音データ(sound.bdmv),MovieObject.bdmvが格納されている。      
【００５２】
続いて、ローカルストレージ２００の構成要素となる、PlayList情報、Clip情報、AVClipについての説明する。
＜ローカルストレージ２００の構成その１.AVClip＞
ローカルストレージ２００上のAVClip(00002.m2ts)は、SubClipを構成する。SubClipとは、MainClipと同時にデコードされ再生されるエレメンタリストリームを含むAVClipである。かかるSubClipには、『Primaryオーディオストリーム』、『Secondaryオーディオストリーム』、『PresentationGraphics(PG)ストリーム』、『Interactive Graphics(IG)ストリーム』といった種別がある。(以後、SubClipのことをOut-of-MUXストリームと呼ぶことがある。)
本実施形態では、図１１に示した00002.m2tsは、Secondaryオーディオストリーム、PGストリーム、IGストリームが1つのSubClipに多重化されているものとする。以降Secondaryオーディオストリームの詳細を説明する。
＜Out-of-MUXストリームの説明その１.Secondaryストリーム＞
『Primaryオーディオストリーム』が、いわゆる主音声となるオーディオストリームであるのに対し、『Secondaryオーディオストリーム』とは、いわゆる副音声となるオーディオストリームである。SubClip再生時において、Secondaryオーディオストリームの音声再生は、Primaryオーディオストリームの再生音声にミキシングされた上で出力に供される。Secondaryオーディオストリームとして扱われる音声には、例えば“コメンタリ音声”がある。Primaryオーディオストリームとなる主音声が、映画作品本編の音声であり、Secondaryオーディオストリームとなる副音声が、映画監督のコメンタリ音声である場合、かかる映画作品本編の音声は、コメンタリ音声がミキシングされた上で出力されることになる。
【００５３】
Secondaryオーディオストリームは、ローカルストレージ２００にのみ記録され再生に供されるが、BD-ROMには記録されない。Primaryオーディオストリームは、BD-ROMに置かれていても、ローカルストレージ２００に置かれていてもよい。またPrimaryオーディオストリームの符号化コーディックは、Secondaryオーディオストリームの符号化コーディックと異なっていてもよい。
【００５４】
図１２は、SubClipに多重化されるエレメンタリストリームを示す図である。SubClipには、0x1200から0x121FまでのPIDをもつPGストリーム、0x1400から0x141FまでのPIDをもつIGストリームのほかに、0x1A00から0x1A1FまでのPIDをもつSecondaryオーディオストリームが多重化される。ここでSubClipにおけるPGストリーム、IGストリームのPIDは、MainClipにおけるPGストリーム、IGストリームのPIDと同じになっているものの、SecondaryオーディオストリームのPIDは、上位バイトが異なるため、32本のSecondaryオーディオストリームのPIDは、32本のPrimaryオーディオストリームのPIDと、一切重複していない。
【００５５】
図１３は、BD-ROM規格におけるPID割当マップを示す図である。本図によれば、0x0100は、Program_mapに割り当てられ、0x1001はPCRに、0x1011はビデオストリームに、0x1100から0x111FまでのゾーンはPrimaryオーディオストリームに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1A00から0x1A1FまでのゾーンはSecondaryオーディオストリームに割り当てられている。このPID割当マップからもわかるように、Primaryオーディオストリームに割り当てられているゾーンと、Secondaryオーディオストリームに割り当てられているゾーンとが異なっていることがわかる。
【００５６】
図１４（ａ）は、Secondaryオーディオストリームの内部構成を示す図である。
本図に示すように、Secondaryオーディオストリームは、複数のオーディオフレームからなる。図１４（ｂ）は、オーディオフレームの一例を示す図である。Secondaryオーディオストリームのオーディオフレームは、メタデータを含む。
図１４（ｃ）は、メタデータの内部構成を示す図である。メタデータは、本図に示すように、“ダウンミキシング情報”と、“ゲイン制御情報”とからなる。
【００５７】
“ダウンミキシング情報”は、ダウンミキシングのための情報である。ダウンミキシングとは、音声の再生チャネル数を符号化チャンネル数よりも少なくする変換であり、ダウンミキシング情報は、ダウンミキシングのための変換係数行列を規定することにより、このダウンミキシングをストリーム供給装置３００やオーディオアンプ４００等のオーディオ再生を担当する機器に行わせる。5.1chの音声ストリームを2chで再生することなどがダウンミキシングの一例である。
【００５８】
“ゲイン制御情報”とは、Primaryオーディオストリーム側の音声出力時のゲインを上げ下げする情報であるが、ここでは下げるだけでよい。図１４（ｄ）は、ゲイン制御情報の一例を模式的に示す。このようにSecondaryオーディオストリームのメタデータは、同時に再生されるPrimaryオーディオストリームの出力をリアルタイムに下げることができる。PrimaryオーディオとSecondaryオーディオを重畳する場合には、あらかじめミキシングされるPrimaryオーディオとSecondaryオーディオの対が分かっているため、2本のオーディオのゲインをリアルタイムに制御する必要は無く、Primaryオーディオのゲインだけを下げてSecondaryオーディオのゲインはそのままにミキシング(重畳)することで十分である。
【００５９】
尚、ゲイン制御情報は、PlayListMarkのmark_time_stampに指定される時刻より、durationの時間だけ、有効なゲイン制御情報を格納するようにしても良い。
図１５は、Secondaryオーディオストリーム内のメタデータにより、Primaryオーディオストリームの音量がどのように制御されるかを示す図である。本図における第1段目は、時間軸を示し、第2段目は、ミキシング可能なPrimaryオーディオストリームの再生出力を示す。第3段目は、Secondaryオーディオストリームの再生出力を示し、第4段目は、Secondaryオーディオストリームに多重化されたメタデータを示す。
【００６０】
再生時刻t1にあたるオーディオフレームに配置されたメタデータは、Primaryオーディオストリームの再生出力の音量を全体的に抑えるものであり、再生時刻t2にあたるオーディオフレームに配置されたメタデータは、Primaryオーディオストリームの再生出力の音声を元に戻すものである。再生時刻t1,t2に、かかるメタデータを配置することで、Primaryオーディオストリームとの再生出力の音量と、Secondaryオーディオストリームの再生出力の音量とが合わさり、スピーカを破損させてしまうという事態を避けることができる。
Secondaryオーディオの"ゲイン制御情報“を使ってリアルタイムにミキシングのゲイン調整を行なう場合には、t1からt2までのSecondaryオーディオの各オーディオフレームに格納された”ゲイン制御情報“がPrimaryオーディオのゲインを所定の量だけ下げることを指定していれば良い。特殊再生などでt1からt2の間に飛び込んでミキシング再生を行なうことを想定すれば、常に適切なゲイン制御が可能なこちらの方法の方が都合が良い。
【００６１】
＜ローカルストレージ２００の構成その２.PlayList情報＞
続いて、ローカルストレージ２００上のPlayList情報について説明する。拡張子“mpls”が付与されたファイル(00002.mpls)は、MainPath、Subpathと呼ばれる2種類の再生経路を束ねたものをPlaylist(PL)として定義する情報である。図１６は、PlayList情報のデータ構造を示す図であり、本図に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())と、Subpathを定義するSubpath情報(Subpath())とからなる。かかるPlayList情報の内部構成、及び、PlayItem情報の内部構成は、BD-ROMのものと同じであり、説明を省略する。
＜PlayList情報の説明その１.Subpath情報＞
MainPathが、主映像たるMainClipに定義される再生経路であるのに対し、Subpathは、MainPathと同期すべきSubClipに対して定義される再生経路である。
【００６２】
図１７は、Subpath情報の内部構成をクローズアップして示す図である。本図における矢印hc0に示すように各Subpathは、SubClipの類型を示すSubPath_typeと、1つ以上のSubPlayItem情報(・・・SubPlayItem()・・・)とを含む。
図中の引き出し線hc1は、SubPlayItem情報の構成をクローズアップしている。SubPlayItem情報は、図中の矢印hc1に示すように『Clip_information_file_name』、『Clip_codec_identifier』、『ref_to_STC_id[0]』、『SubPlayItem_In_time』、『SubPlayItem_Out_time』、『sync_PlayItem_id』、『sync_start_PTS_of_PlayItem』からなる。
【００６３】
『Clip_information_file_name』は、Clip情報のファイル名を記述することにより、SubPlayItemに対応するSubClipを一意に指定する情報である。
『Clip_codec_identifier』は、AVClipの符号化方式を示す。
『ref_to_STC_id[0]』は、このPlayItemが対象としているSTC_Sequenceを一意に示す。
『SubPlayItem_In_time』は、SubClipの再生時間軸上における、SubPlayItemの始点を示す情報である。
【００６４】
『SubPlayItem_Out_time』は、SubClipの再生時間軸上における、SubPlayItemの終点を示す情報である。
『sync_PlayItem_id』は、MainPathを構成するPlayItemのうち、本SubPlayItemが同期すべきものを一意に指定する情報である。SubPlayItem_In_timeは、このsync_PlayItem_idで指定されたPlayItemの再生時間軸上に存在する。
【００６５】
『sync_start_PTS_of_PlayItem』は、sync_PlayItem_idで指定されたPlay Itemの再生時間軸上において、SubPlayItem_In_timeで指定されたSubPlayItemの始点が、どこに存在するかを示す。
＜Subpath情報の詳細その１.SubPath_type＞
以上がSubPath情報についての説明である。続いてSubPath_typeについて説明する。SubPath_typeは、0から255までの値に設定されることにより、SubPath情報により定義されるSubPathがどのような再生経路であるのかを示す。
【００６６】
SubPath_typeが5に設定されている場合、このSubPath情報により定義されるSubPathは、Primaryオーディオ再生パスであることを示す。このPrimaryオーディオ再生パスは、MainPath(PlayItem)にて参照されるPrimaryオーディオに置き換えて再生されるべきオーディオストリームがSubPath(SubPlayItem)内に格納されているときに使われる。
SubPath_typeが6に設定された場合、本SubPath情報は、追加・置換のためのPresentation Graphics再生パスを定義していることを示す。何に対する追加・置換であるかというと、PlayItem情報にて再生され得るPGストリームに対して、追加・置換され得るPGストリームである。
【００６７】
SubPath_typeが7に設定された場合、本SubPath情報は、追加・置換のためのIntaractive Graphics再生パスを定義していることを示す。何に対する追加・置換であるかというと、PlayItem情報にて再生され得るIGストリームに対して、追加・置換され得るIGストリームである。
SubPath_typeが8に設定された場合、SubPath情報はSecondaryオーディオ再生パスを定義する旨を示す。このSecondaryオーディオ再生パスは、追加のために定義されている。何に対する追加かというと、PlayItem情報にて再生され得るPrimaryオーディオの再生音声にミキシングされるべきSecondaryオーディオである。
例えば、PrimaryオーディオとSecondaryオーディオのミキシング再生を行う場合には、２つのオーディオデコーダとミキサーを動作させる必要があるため、通常のPrimaryオーディオだけを再生する場合とは要求が異なり、前もってプレイヤがどのような再生タイプかを取得できる必要がある。このために、SubPath_typeやSTN_tableのPIDによって、同期再生すべきSecondaryオーディオが存在することを再生前にプレイヤに通知することが可能となる。
【００６８】
以上がSubPath_typeについての説明である。
＜SubPath情報についての詳細その２.三者の関係＞
ここでの三者とは、ローカルストレージ２００上のSubClip、ローカルストレージ２００上のPlayList情報、BD-ROM上のMainClipの三者をいう。
図１８は、ローカルストレージ２００上のSubClipと、ローカルストレージ２００上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。本図において第1段目は、ローカルストレージ２００上に存在するSubClipを示す。この第1段目に示すように、ローカルストレージ２００上のSubClipには、Secondaryオーディオストリーム、PGストリーム、IGストリームといった種別がある。これらのうち何れかが、SubPathとして同期再生に供されることになる。
【００６９】
第2段目は、PlayList情報により定義される2つの時間軸を示す。第2段目のうち下側の時間軸は、PlayItem情報により定義されるPlayItem時間軸を示し、上側の時間軸はSubPlayItemにより定義されるSubPlayItem時間軸を示す。
本図に示すように、SubPlayItem情報のSubPlayItem_Clip_information_file_nameは、STREAMディレクトリに格納された.m2tsファイルのうち、どれを再生区間指定の対象として選ぶかという、SubClip選択の役割を果たしていることがわかる。
【００７０】
そしてSubPlayItem.IN_time、SubPlayItem.Out_timeは、SubClip上の、再生区間の始点及び終点を定義するという役割を果たしていることがわかる。
矢印Sync_PlayItem_Idは、どのPlayItemとの同期を意図しているかという同期指定の役割を果たし、sync_start_PTS_of_PlayItemは、PlayItem時間軸上におけるSubPlayItem_In_timeの位置を決める役割を果たす。
【００７１】
図１９は、MainClipに対して設定されたEP_map及びPlayItem時間軸と、SubClipに対して設定されたEP_map及びSubPlayItem時間軸とを集約して示す図である。
本図の中段、下4段〜下1段は、図９に示したPlayItem時間軸、ピクチャ列、MainClip時間軸、EP_map、TSパケット列を示す。
また上1段目〜上3段目は、TSパケット列、EP_map、SubClip時間軸を示す。上4段目は、SubPlayItem時間軸を示す。
【００７２】
以上が、SubPath情報についての説明である。
＜STN_table＞
このローカルストレージ２００におけるPlayList情報において特徴的であるのは、STN_Tableである。以降、ローカルストレージ２００上のPlayList情報について説明する。
STN_tableは、PlayItem情報のClip_Information_file_nameで指定されているAVClipに多重化された複数エレメンタリストリーム、SubPlayItem情報のClip_Information_file_nameで指定されているOut_of_MUXストリームのうち、再生可能なものを示すテーブルである。具体的にいうとSTN_tableは、MainClipに多重化されている複数エレメンタリストリーム、SubClipに多重化されているOut_of_MUXストリームのそれぞれについてのStream_entryを、Stream_attributeと対応付けることで構成される。
【００７３】
図２０は、STN_tableの内部構成を示す図である。本図に示すようにSTN_tableは、STN_tableにおけるentryと、attributeとの組み(entry-attribute)を複数含み、これらentry−attributeの組みの個数(number_of_video_stream_entries,number_of_audio_stream_entries,number_of_PG_stream_entries,number_of_IG_stream_entries)を示すデータ構造になっている。
【００７４】
entry-attributeの組みは、図中の括弧記号”｛”に示すように、Play Itemにおいて再生可能なビデオストリーム、Primaryオーディオストリーム、Secondaryオーディオストリーム、PGストリーム、IGストリームのそれぞれに対応している。特に注意すべきは、SecondaryオーディオストリームにおけるStream_entryと、Stream_attributeとの組みが、Comb_info_Secondary_audio_Primary_audioと対応付けられている点である。
entry−attributeの詳細について説明する。
【００７５】
図２１（ａ）は、ビデオストリームに対応したStream_attributeを示す図である。
ビデオストリームにおけるStream_attributeは、ビデオストリームの表示方式を示す『Video_format』と、ビデオストリームの表示周波数を示す『frame_rate』等を含む。
図２１（ｂ）は、Primaryオーディオストリーム、Secondaryオーディオストリームに対応したStream_attributeを示す図である。
【００７６】
Primaryオーディオストリーム,SecondaryオーディオストリームにおけるStream_attributeは、オーディオストリームの符号化方式を示す『stream_coding_type』と、stream_coding_typeにより示される符号化方式がDTSまたはDTS-HDである場合に、オーディオフレームの構成を示す『format_depending_coding_type』と、対応するオーディオストリームのチャネル構成を示す『audio_presentation_type』と、対応するオーディオストリームのサンプリング周波数を示す対応する『Sampling_frequency』と、オーディオストリームの言語属性を示す『audio_languagecode』からなる。
【００７７】
format_depending_coding_typにおいて、オーディオフレームの構成は、Base,Level1,Level2,Level3という、4つのパラメータの何れかを用いて規定される。図２２は、DTS-HD形式のPrimaryオーディオストリームのオーディオフレームにおいて、「format_depending_coding_type」におけるBase,Level1,Level2,Level3がそれぞれ、どのようなデータ構造に割り当てられるかを示す図である。DTS-HDオーディオストリームのオーディオフレームは、基礎データである「Core
Substream」と拡張データである「Extension Substream」とからなる。Core 
SubstreamはDTSオーディオストリームと同等であり、1.5Mbpsの帯域でも伝送させることができる。従ってS/PIDFでもこのCore 
Substreamを伝送させることができる。それに対して、Extension 
Substreamは、DTSオーディオストリームには存在しない拡張データであり、DTS-HDに対応したデコーダでないと再生ができない。
【００７８】
DTS-HDのCore SubstreamであるCOREは、48kHz/5.1chのオーディオデータを格納している。
Extension Substreamは、図の第3段目〜第5段目に示すように
XCH、X96、XLLの何れかからなる。
DTS-ESのXCHは、Core Substreamと共に用いることで、5.1chに1チャネルを足した6.1Ch,48KHzの音声再生が可能となるオーディオデータを格納することができ、DTS-96/24のX96は、CoreSubstreamと共に用いることで、5.1Ch,96KHzの音声再生が可能となるオーディオデータを格納することができる。DTS-HDのXLLは、CoreSubstreamと共に用いることで、192kHz/マルチチャンネルロスレスの音声再生が可能となるオーディオデータを格納することができる。
【００７９】
「format_depending_coding_type」にBaseが設定されている場合、オーディオフレームがCore SubstreamであるCOREのみから構成されていることが示される。「format_depending_coding_type」にLevel1が設定されている場合、オーディオフレームがCoreSubstreamであるCOREとExtension SubstreamであるXCHとから構成されたDTS-ES形式であることが示される。「format_depending_coding_type」にLevel2が設定されている場合、オーディオフレームがCoreSubstreamであるCOREとExtension SubstreamであるX96とから構成されたDTS-96/24形式であることが示される。「format_depending_coding_type」にLevel3が設定されている場合、オーディオフレームがCoreSubstreamであるCOREとExtension SubstreamであるXLLとから構成されたDTS-HD形式であることが示される。
【００８０】
尚、上記ではCore SubstreamにはDTSオーディオストリームのCOREだけが格納されるとして説明したが、「format dependingcoding type」にはCore SubstreamとExtension Substreamを区別せずに、DTS(CORE)、DTS-ES(XCH)、DTS-96/24(X96)、DTS-HD(XLL)のどの拡張データが含まれているかを示すようにしても良い。
図２１（ｃ）は、ビデオストリームにおけるStream_entryを示す図である。本図に示すように、ビデオストリームのStream_entryは、ビデオストリームの多重分離に用いられるPIDを示す「ref_to_Stream_PID_of_Main_Clip」を含む。
【００８１】
MainClipにて多重化されているPrimaryオーディオストリーム、IGストリーム、PGストリームのStream_attributeは、この図２１（ｃ）の形式になっている。
図２１（ｄ）は、SubClipにて多重化されているストリーム(以下Secondaryオーディオストリームとして説明)におけるStream_entryを示す図である。SecondaryオーディオストリームのStream_entryは、Secondaryオーディオストリームを参照しているSubPath情報を示す『ref_to_Sub_Path_id』、Secondaryオーディオストリームが多重化されているSubClipを示す『ref_to_Sub_Clip_entry_id』、Secondaryオーディオストリームの多重分離に用いられるPIDを示す『ref_to_stream_PID_of_Sub_Clip』を含む。
【００８２】
図２１（ｅ）は、SecondaryオーディオストリームにおけるStream_entryと、Stream_attributeとの組みに対応付けられている、Comb_info_Secondary_audio_Primary_audioの内部構成を示す。Comb_info_Secondary_audio_Primary_audioは、各Secondaryオーディオストリームごとに組合せ可能なPrimaryオーディオストリームの総数を示すnumber_of_primary_audio_stream_ref_entriesと、再生時に組合せることができるPrimaryオーディオストリームのストリーム番号を示すPrimary_audio_stream_id_ref[0]〜[n]とからなる。
【００８３】
図２３は、Comb_info_Secondary_audio_Primary_audioによるPrimaryオーディオストリームの指定を示す図である。ここで本図の右側は、32本のSecondaryオーディオストリームを示し、左側は、32本のPrimaryオーディオストリームを示す。そして矢印ym1は、Secondaryオーディオストリーム#1におけるComb_info_Secondary_audio_Primary_audioによる指定を示す。このようにSecondaryオーディオストリーム毎に設定されるComb_info_Secondary_audio_Primary_audioは、そのSecondaryオーディオストリームの再生出力をミキシングすることができる1つ以上のPrimaryオーディオストリームを一意に指定する。これにより、所定の属性を有しているようなPrimaryオーディオストリームの再生時においては、Secondaryオーディオストリームをミキシングさせず、それ以外の属性を有しているようなPrimaryオーディオストリームの再生時においてのみ、Secondaryオーディオストリームをミキシングするというような、音声属性に応じた、ミキシングの可否を、オーサリング時に設定しておくことができる。
【００８４】
以上がローカルストレージ２００の構成たるPlayList情報についての説明である。以上で、ローカルストレージ２００についての説明を終える。
＜バーチャルパッケージ＞
以降、バーチャルパッケージについて説明する。図２４は、ストリーム供給装置３００により生成されるバーチャルパッケージを示す図である。本図の左上は、BD-ROMの記録内容を示し、左下は、ローカルストレージ２００の記録内容を示す。右側は、バーチャルパッケージの構成を示す。
【００８５】
ストリーム供給装置３００は、BD-ROMに存在するAVClip、Clip情報、PlayList情報に、ローカルストレージ２００に存在するAVClip、Clip情報、PlayList情報を組み合わせて、仮想的な１つのBD-ROMディスクイメージ（バーチャルパッケージ）を得る。
この組合せは、
i)Local Storage上のPlayList(00002.mpls)を、BD-ROMにおけるMPLSディレクトリに仮想的に追加し、
ii)Local Storage上のClip情報#2(00002.clpi)を、BD-ROMにおけるCLPIディレクトリに仮想的に追加し、
iii)Local Storage上のAVClip#2(00002.m2ts)を、BD-ROMにおけるSTREAMディレクトリに仮想的に追加することでなされる。
【００８６】
こうすることにより、図２４の右側に示すようなバーチャルパッケージが構成される。
以上が記録媒体についての説明である。続いて本発明に係るオーディオアンプ４００について説明する。
図２５は、本発明に係るオーディオアンプ４００の内部構成を示す図である。本発明に係るオーディオアンプ４００は、本図に示す内部構成に基づき、工業的に生産される。本発明に係るオーディオアンプ４００は、主としてシステムLSIを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、オーディオアンプ４００の機能を果たす様々な処理部を集積した集積回路である。こうして生産されるオーディオアンプ４００は、バッファ３１、オーディオデコーダ３２、Mixer３３、コントローラ３４、HDMI送受信部３５、EEPROM３６から構成される。
【００８７】
バッファ３１は、HDMI送受信部３５で受信したデータのうち、Primaryオーディオストリームを、先入れ先だし式に格納して、オーディオデコーダ３２に供する。
オーディオデコーダ３２は、バッファ３１に格納されたPrimaryオーディオストリームに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得てMixer３３へ出力する。
【００８８】
Mixer３３は、オーディオデコーダ３２から出力されたデジタルオーディオを、オーディオアンプ４００に接続されているスピーカ５００のスピーカ数や配置（以下、スピーカ構成という）に応じたチャンネル数となるように変換し、各スピーカへ割り当てて出力する。例えば、デコードして得られた5.1chのデジタルオーディオを接続されたスピーカ数（2.1chなど）に減らして出力することもあれば、デコードして得られた2chのデジタルオーディオを接続されたスピーカ数（5.1chなど）に増やして出力することもある。
【００８９】
コントローラ３４は、CPUが命令ROMに記録されているプログラムを読み出して実行することで、オーディオアンプ４００の動作を制御する。
HDMI送受信部３５は、HDMIを介して接続されたストリーム供給装置３００へ自装置の機器性能を示す情報を送信する。また、HDMI送受信部３５は、HDMIを介したストリーム供給装置３００からのオーディオデータの受信を行なう。
【００９０】
EEPROM３６は、HDMI送受信部３５がストリーム供給装置３００へ通知する、自装置の機器性能を示す情報（以下、DIB（Decoder InfomationBlock））を保持している不揮発性メモリである。DIBとしては、EIA/CEA-861Bに規定されたE-EDID（ENHANCED EXTENDEDDISPLAY IDENTIFICATION DATA）等を用いることができる。図２６（ａ）は、DIBにおいて、音声再生性能に関する部分のデータ構造を模式的に示した図である。
【００９１】
本図に示すようにDIBは、音声再生性能に関する情報として、「CODING TYPE」、「Format depending coding type」、「ChannelCount」、「Channle/Speaker Allocation」、及び「Sample Frenquency」の各フィールドを含む。
図２６（ｂ）は、DIBの各フィールドに設定しうる値を示す。
「CODING TYPE」は、オーディオデコーダ３２でデコードすることができる符号化方式が、DTS-HD、MLP、DD+などのうち、どれであるかを示す。
【００９２】
「Format depending coding type」は、「CODING TYPE」によりDTS-HDのデコードが可能であると示される場合に、DTSオーディオストリームの拡張規格であるDTS-HDオーディオストリームの拡張データを、どのレベルまでデコード可能であるかを示す。拡張データをデコード可能なレベルは、Base,Level1,Level2,Level3という、4つのパラメータの何れかを用いて規定される。
【００９３】
「Channel Count」は、7.1ch、5.1ch、2chなどデコード可能なチャンネル数を示す。
「Channel/Speaker Allocation」は、5.1chのステレオ配置である「L/R/C/LS/RS/LFE」、7.1chのステレオ配置である「L/R/C/LS/RS/LR/RR/LFE」、2chのステレオ配置である「L/R」などのスピーカーの物理的な配置情報を示す。
「Sample Frenquency」は、「48KHz」、「192KHz」、「96KHz」などの再生することができるサンプリング周波数示す。
【００９４】
以下、「Format depending coding type」の詳細について説明する。
「Format depending coding type」におけるBase,Level1,Level2,Level3はそれぞれ、DTS-HDに対して、図２２に示すように、BaseはDTS(CORE)に割り当てられ、Level1はDTS-ES(CORE+XCH)、Level2はDTS-96/24(CORE+X96)に割り当てられ、Level3はDTS-HD(CORE+XLL)に割り当てられる。そこで「Formatdepending coding type」にBaseが設定されている場合、オーディオデコーダ３２がDTS-HD形式のオーディオストリームのデコードにDTS(のCORE)のみをデコードすることが可能であることが示される。「Formatdepending coding type」にLevel1が設定されている場合、オーディオデコーダ３２がDTS-HD形式のオーディオストリームのデコードにDTS-ES(CORE+XCH)までデコードできることが示される。「Formatdepending coding type」にLevel2が設定されている場合、オーディオデコーダ３２がDTS-HD形式のオーディオストリームのデコードにDTS-96/24(CORE+X96)までデコードできることが示される。「Formatdepending coding type」にLevel3が設定されている場合、オーディオデコーダ３２がDTS-HD形式のオーディオストリームのデコードにDTS-HD(CORE+XCH+X96+XLL)までデコードできることが示される。
【００９５】
以上が、本実施形態に係るオーディオアンプ４００のハードウェア構成である。続いて本実施形態に係るオーディオアンプ４００のソフトウェア構成について説明する。CPUが命令ROMに記録されたソフトウェアを読み出して実行することで、コントローラ３４は、オーディオアンプの音声再生を制御する。図２７は、コントローラ３４の処理手順を示す図である。
【００９６】
ステップＳ４０１は、装置起動がなされたかか否かの起動待ち判定であり、もし起動されれば、HDMIを介した接続相手の機器の認証を行う（ステップＳ４０２）。この認証により、相互の正当性が判明すれば、ステップＳ４０３に移行する。ステップＳ４０３で、ストリーム供給装置３００へのEEPROM３６が保持しているDIBの送信処理をHDMI送受信部３５に実行させた後は、ステップＳ４０４に移行する。ステップＳ４０４は、オーディオストリームの受信待ちループであり、もしオーディオストリームを受信すれば（ステップＳ４０４でyes）、音声再生を開始する（ステップＳ４０５）。
【００９７】
以上が、本実施形態に係るオーディオアンプ４００についての説明である。続いて本発明に係るストリーム供給装置３００について説明する。
図２８は、本発明に係るストリーム供給装置３００の内部構成を示す図である。本発明に係るストリーム供給装置３００は、本図に示す内部構成に基づき、工業的に生産される。本発明に係るストリーム供給装置３００は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、ストリーム供給装置３００の機能を果たす様々な処理部を集積した集積回路である。こうして生産されるストリーム供給装置３００は、BD-ROMドライブ１a、バス１b、リードバッファ２a,b、デマルチプレクサ３a,b、ビデオデコーダ４、ビデオプレーン５、バッファ６a,b、オーディオデコーダ７a,b、DownMix/DownSample８、ミキサー９a、ミキサー９b、スイッチ１０a、エンコーダ１０b、InteractiveGraphicsデコーダ１１、Interactive Graphicsプレーン１２、Presentation Graphicsデコーダ１３、PresentationGraphicsプレーン １４、JPEGデコーダ１５、Stillプレーン１６、合成部１７、STC生成部１８a,b、ATC生成部１９a,b、メモリ２１、コントローラ２２、PSRセット２３、PID変換部２４、通信部２５、操作受付部２６、HDMI送受信部２７から構成される。
【００９８】
BD-ROMドライブ１aは、BD-ROMのローディング／イジェクトを行い、BD-ROMディスクに対するアクセスを実行する。
バス１bは、BD-ROMから読み出されたTSパケット、ローカルストレージ２００から読み出されたTSパケットが転送される。
リードバッファ２aは、FIFOメモリであり、BD-ROMディスク１００またはローカルストレージ２００から読み出されたTSパケットが先入れ先出し式に格納される。
【００９９】
リードバッファ２bは、FIFOメモリであり、ローカルストレージ２００から読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ３aは、バスに伝送しているTSパケットのうち、0x1011,0x1100〜0x111F,0x1200〜0x121F,0x1400〜141FのPIDをもつTSパケットのうち、PID変換部２４から通知されたPIDをもつものを、夫々ビデオデコーダ４、スイッチ１０ａ、InteractiveGraphicsデコーダ１１、Presentation Graphicsデコーダ１３に出力する。
【０１００】
デマルチプレクサ３bは、バス１bに伝送しているTSパケットのうち、0x1A00〜0x1A1FのPIDをもつもの、即ち、Secondaryオーディオストリームを構成するTSパケットの多重分離を行う。デマルチプレクサ３bによるSecondaryオーディオストリームの多重分離は、STN_tableに含まれるSecondaryオーディオストリームのstream_entryのうち、PSR14に格納されているストリーム番号に対応するものに記述されているPIDの参照値と、バス１bに転送されているTSパケットのPIDとを比較し、当該比較において一致するPIDをもつTSパケットを、スイッチ１０ａに出力することでなされる。再生可能なSecondaryオーディオストリームが1つだけである場合、上述した比較は、stream_entryに記述されているPID参照値の上位バイト“1A”と、バス１bに転送されているTSパケットのPIDの上位バイト“1A”との比較で足りる。何故なら、他にSecondaryオーディオストリームが存在しないので、Secondaryオーディオストリームであることを意味するPID上位バイトを参照すれば充分だからである。
【０１０１】
再生可能なSecondaryオーディオストリームが複数存在する場合、上述した比較は、stream_entryに記述されているPID参照値の上位バイト“1A”と、バス１bに転送されているTSパケットのPIDの上位バイト“1A”との比較に加え、stream_entryに記述されているPID参照値の下位バイト(0x00から0x1Fまでの数値)と、バス１bに転送されているTSパケットのPIDの下位バイト(0x00から0x1Fまでの数値)との比較が必要になる。何故なら、Secondaryオーディオストリームが複数存在するので、再生すべきSecondaryオーディオストリームを一意に特定するように、PIDの下位バイトまで参照する必要があるからである。
【０１０２】
ここでバス１bには、BD-ROMから読み出されたTSパケット、ローカルストレージ２００から読み出されたTSパケットが転送されているので、デマルチプレクサ３a、デマルチプレクサ３bは、これらBD-ROMから読み出されたTSパケット、ローカルストレージ２００から読み出されたTSパケットを、1本のトランスポートストリームとして扱ってバッファに取り込むことができる。Primaryオーディオストリームを構成するTSパケット、Secondaryオーディオストリームを構成するTSパケットに割り当てられているPIDは、PID割当マップにおいて、異なるゾーンに存在しているのでデマルチプレクサ３a、デマルチプレクサ３bは、これらを1つとして、取り込みつつもこれらPrimaryオーディオストリーム、Secondaryオーディオストリームを別々のエレメンタリストリームとして出力することができる。この際、デマルチプレクサ３a、デマルチプレクサ３bは、1つのトランスポートストリームに多重化されている複数のオーディオストリームを多重分離するのと同じ手順を経ることにより、デコーダに供給することができるので、1つのトランスポートストリームから所定のPIDを持つTSパケットだけを多重分離するようなデマルチプレクサと互換を保つ構成で、Primaryオーディオストリーム、Secondaryオーディオストリームを、該当するデコーダに供給することができる。
【０１０３】
尚、実装上デマルチプレクサを１つに集約することが考えられる。この場合にもPrimaryオーディオとSecondaryオーディオのPIDが異なることが同様に有効である。
以上が、BD-ROMドライブ１a、バス１b〜デマルチプレクサ３a、デマルチプレクサ３bについての説明である。
ビデオデコーダ４は、デマルチプレクサ３ａから出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン５に書き込む。
【０１０４】
ビデオプレーン５は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、ストリーム供給装置３００において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーン５における解像度は1920×1080であり、このビデオプレーン５に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
【０１０５】
バッファ６aは、デマルチプレクサ３aから出力されたTSパケットがスイッチ１０aを介して供給される場合に、PID=0x1100〜111Fのうち再生されるべきオーディオストリームのPIDを有するTSパケットを、先入れ先だし式に格納して、オーディオデコーダ７aに供する。
バッファ６bは、デマルチプレクサ３ｂから出力されたTSパケットがスイッチ１０aを介して供給される場合に、PID=0x1A00〜1A1Fを有するTSパケットのうち再生されるべきオーディオストリームのPIDを有するTSパケットのみを、先入れ先だし式に格納して、オーディオデコーダ７bに供する。
【０１０６】
バッファ６cは、BD-ROM/ローカルストレージから読み出されたファイルsound.bdmvをプリロードしておくためのメモリである。バッファ６cへのプリロードは、BD-ROMのローディング時やタイトル切替時に行うことが望ましい。何故なら、AVClipの再生中にファイルsound.bdmvを読み出そうとすると、AVClipとは別のファイルを読み出すための光ピックアップのシークが発生するからである。一方、BD-ROMの装填時やタイトル切替時には、AVClipの再生が継続していることは希なので、かかるタイミングにファイルsound.bdmvを読み出すことにより、機器の応答性を高めAVClip再生が途切れにくくすることができる。
【０１０７】
オーディオデコーダ７aは、バッファ６aに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりPrimaryオーディオストリームにおけるデジタル出力がなされる。
オーディオデコーダ７bは、バッファ６bに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりSecondaryオーディオストリームにおけるデジタル出力がなされる。
【０１０８】
DownMix/DownSample８は、ミキシングを行うにあたって、オーディオデコーダ７aから出力されたデジタルオーディオの音声属性を、オーディオデコーダ７bから出力されるデジタルオーディオの音声属性に合わせるための変換を施す。ここで音声属性とは、サンプリング周波数かつ/またはチャンネル数であり、これらを整合させる処理がなされる。またDownMix/DownSample８もしくはミキサー９ａは、Secondaryオーディオストリームに多重化されている、メタデータに従い、Primaryオーディオストリーム側のゲインを下げたりする処理もオーディオデコーダ７bが抽出したゲイン制御情報によって行う。
【０１０９】
ミキサ９aは、オーディオデコーダ７aから出力されるLPCM状態のデジタルオーディオと、オーディオデコーダ７bから出力されるLPCM状態のデジタルオーディオとをミキシングする。
ミキサ９bは、ミキサ９aから出力されるLPCM状態のデジタルオーディオと、バッファ６cに格納されているサウンドデータとをミキシングする。このサウンドミキサ９bによるミキシングは、クリック音の発音を意図したようなナビゲーションコマンド、又は、クリック音の発音を意図したようなバイトコードを、CPU２２が解読することでなされる。
【０１１０】
スイッチ１０aは、デマルチプレクサ３aにより多重分離がなされた、Primaryオーディオストリームを構成するTSパケット、デマルチプレクサ３bにより多重分離がなされたSecondaryオーディオストリームを構成するTSパケットを、オーディオデコーダ７a,bに供給するか、オーディオデコーダ７a,bに供給せずそのエレメンタリーストリームだけを他機器にパススルー出力するかを、コントローラ２２の制御に応じて切り換えるスイッチである。本実施形態においては、スイッチ１０aは、Primaryオーディオストリームを構成するTSパケット及びSecondaryオーディオストリームを構成するTSパケットを、バッファ６a,bを介してオーディオデコーダ７a,bへ供給することなく、それらのエレメンタリーストリーム(もしくはPrimaryオーディオストリームのみ)をHDMI送受信部２７へ供給する。これによりストリーム供給装置３００は音声データをパスルー出力するよう動作する。パススルー出力の際に用いる、TSパケットからエレメンタリーストリームへの変換部（TS/PESヘッダの除去を行う）はスイッチ１０ａに組み込まれている。（図示はしていない）
エンコーダ１０bは、オーディオデコーダ７a,bのデコードにより得られ、ミキサー９a、ミキサー９bによるミキシングがなされたLPCM状態のオーディオデータを、サラウンド音声としてS/PDIFのようなデジタルインターフェース上で送る場合、ミキシングされたLPCMをDolbyDigital(DD)形式やDigital Theater System(DTS)形式に圧縮符号化する。
【０１１１】
Interactive Graphics(IG)デコーダ１１は、BD-ROM１００又はローカルストレージ２００から読み出されたIGストリームをデコードして、非圧縮グラフィクスをIGプレーン１２に書き込む。
Interactive Graphics(IG)プレーン１２は、IGデコーダ１１によるデコードで得られた非圧縮グラフィクスが書き込まれる。またBD-Jモードにおいて、アプリケーションにより描画された文字やグラフィクスが書き込まれる。
【０１１２】
Presentation Graphics(PG)デコーダ１３は、BD-ROM又はローカルストレージ２００から読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentationGraphicsプレーン１４に書き込む。PGデコーダ１３によるデコードにより、字幕が画面上に現れることになる。
Presentation Graphics(PG)プレーン１４は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
【０１１３】
JPEGデコーダ１５は、BD-ROM又はローカルストレージ２００に記録されているJPEGデータをデコードして、Stillプレーン１６に書き込む。
Stillプレーン１６は、JPEGデータを展開することで得られた非圧縮のグラフィクスデータが格納されるプレーンである。このグラフィクスデータは、Java（登録商標）アプリが描画する、GUIフレームワークのいわゆる“壁紙”として用いられる。
【０１１４】
合成部１７は、Interactive Graphicsプレーン１２の格納内容と、Presentation Graphicsプレーン１４の格納内容と、ビデオプレーン５の格納内容と、Stillプレーン１６の格納内容とを合成した合成画像を得る。
STC生成部１８a,bは、コントローラ２２の指示によってSystem Time Clock(STC)を生成し各デコーダの動作タイミングを調整する。
【０１１５】
ATC生成部１９a,bは、コントローラ２２の指示によってArrival Time Clock(ATC)を生成しデマルチプレクサの動作タイミングを調整する。  メモリ２１は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMに記録されている複数PlayList情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROM/ローカルストレージに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
【０１１６】
コントローラ２２は、MovieObject.bdmvに格納されているMovie Objectや、BD-J Objectにて参照されているJava（登録商標）アプリケーションを解読し、この解読結果に従ったプレイリスト再生(カレントPlayList情報に従った再生制御のことである）を実行することで、BD-ROMの再生制御を実現する。また上述のようなATS、STCの制御も行なう。尚、コントローラ２２は、オーディオアンプが接続され再生可能なことがHDMI接続機器間の認証やDIBの受信により判明している場合には、HDMI送受信部２７及びS/PDIF等のI/Fユニットからテレビ６００へ出力するオーディオデータを削除するか、または無音のオーディオデータを出力するよう制御するとしてもよい。これによりホームシアターシステム環境での視聴中に、テレビ６００内蔵のスピーカから音声が再生されることを防ぐことができる。
【０１１７】
PSRセット２３は、ストリーム供給装置３００に内蔵されるレジスタであり、64個のPlayer Setting/Status Register(PSR)と、4096個のGeneralPurpose Register（GPR)とからなる。Player Setting/Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
PID変換部２４は、PSRセット２３に格納されているPrimaryオーディオストリーム、Secondaryオーディオストリームのストリーム番号を、STN_Tableに基づき、PIDに変換して、変換結果たるPIDをデマルチプレクサ３a、デマルチプレクサ３bに指示する。
【０１１８】
通信部２５は、読出装置における通信機能を実現するものであり、BD-JモードにおいてURL指定がJava（登録商標）アプリケーションから与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードをJava（登録商標）アプリケーションに行わせる。
操作受付部２６は、リモコンに対してなされた操作をユーザから受け付け、そうした操作を示すUser Operation情報をコントローラ２２に通知する。
【０１１９】
HDMI送受信部２７は、HDMIを介して接続された他の機器から、その機器に関する情報を受信してコントローラ２２に通知すると共に、受信した情報に基づいて、HDMIを介して接続された他の機器へのデータ送信を制御する。本実施形態では、ストリーム供給装置３００がテレビ６００及びオーディオアンプ４００とそれぞれ異なるHDMIケーブルで接続されており、HDMI送受信部２７は、ビデオデコーダ４のデコードにより得られたデジタル非圧縮のビデオをテレビ６００へ送信し、LPCMや圧縮されたオーディオデータを、オーディオアンプ４００へ送信するよう制御する。オーディオストリームの送信時に、HDMI送受信部２７は、現在送信中のオーディオストリームの詳細を示すAudioInfoFrameを送信する。図２９は、Audio InfoFrameのデータ構造を模式的に示した図である。
【０１２０】
本図に示すようにAudio InfoFrameは、送信中のオーディオストリームの符号化方式を示す「CT」、チャネル数を示す「CC」、サンプリング周波数を示す「SF」、サンプリングサイズを示す「SS」、CTにより示される符号化方式がDTSである場合に、オーディオフレームの階層構成を示す「Formatdepending coding type」、各スピーカへのチャンネル割り当てを示す「CA」、ダウンミキシングの際に用いるレベルシフト値を示す「LSV」、及びダウンミキシングの可否を示す「DM_INA」の各フィールドを含む。
【０１２１】
ここで「Format depending coding type」の値が00000001bであればオーディオフレームがDTS(CORE)のみから構成されていることが示される。「Formatdepending coding type」の値が00000011bであればオーディオフレームがDTS-ESであり、CORE+XCHから構成されていることが示される。「Formatdepending coding type」の値が00000101bであればオーディオフレームがDTS-96/24であり、CORE+X96から構成されていることが示される。「Formatdepending coding type」の値が00001001bであればオーディオフレームがDTS-HDであり、CORE+XLLから構成されていることが示される。つまりビット位置ごとに、どのような拡張フレームデータ(XCH,X96,XLLなど)があるかを識別できるようになっている。
【０１２２】
これによりオーディオストリームがDTS形式である場合に、オーディオストリームにどのような拡張データが含まれているかをオーディオアンプ４００へ詳細に通知することができる。
以上が、本実施形態に係るストリーム供給装置３００のハードウェア構成である。続いて本実施形態に係るストリーム供給装置３００のソフトウェア構成について説明する。  
【０１２３】
図２８に示したコントローラ２２を、機能的に表現すると、図３０のようになる。図３０は、コントローラ２２を機能的に表現した図であり、本図に示すようにコントローラ２２は、起動処理部４０、プレイリスト処理部４１、Procedure実行部４２、Procedure実行部４３、ミキシング制御部４４、ATC生成部１９a,b、STC生成部１８a,bに対して、ATC/STCの生成を行わせるATC/STC制御部から構成される。
【０１２４】
これらの構成要素の処理は、PSRセット２３に基づく。以降、PSR1、PSR14、PSR31について説明する。
＜PSR1＞
図３１（ａ）は、PSR1のビットアサインを示す図である。
本図によると、32ビット長のPSR1の下位8ビット(b0〜b7)は、ストリーム番号であり、カレントPlay ItemのSTN_tableにentryが記述されている複数Primaryオーディオストリームのうち、1つを特定する。PSR1の設定値が変化すれば、ストリーム供給装置３００はこの変化後のPrimaryオーディオストリームを再生の対象に特定する。PSR1は初期値として0xFFが設定されており、ストリーム供給装置３００により1〜32の値に設定されうる。この0xFFは、不定値であり、Primaryオーディオストリームが存在しない旨、又は、Primaryオーディオストリームが選択されてない旨を示す。1〜32の設定値は、Primaryオーディオストリームのストリーム番号として解釈される。
【０１２５】
＜PSR14＞
図３１（ｂ）は、PSR14のビットアサインを示す図である。
本図によると、32ビット長のPSR14における下位8ビット(b0〜b7)は、ストリーム番号であり、カレントPlay ItemのSTN_tableにentryが記述されている複数Secondaryオーディオストリームのうち、1つを特定する。PSR14の設定値が変化すれば、ストリーム供給装置３００はこの変化後のSecondaryオーディオストリームを再生の対象に特定する。PSR14は初期値として0xFFが設定されており、ストリーム供給装置３００により1〜32の値に設定されうる。この0xFFは、不定値であり、Secondaryオーディオストリームが存在しない旨、又は、Secondaryオーディオストリームが選択されてない旨を示す。1〜32の設定値は、Secondaryオーディオストリームのストリーム番号として解釈される。
【０１２６】
＜PSR31＞
図３１（ｃ）は、PSR31のビットアサインを示す図である。
本図によると、32ビット長のPSR31のうち、16ビット目から19ビット目まで(b16〜b19)は、Player Profile情報であり、0000bであれば、当該ストリーム供給装置は、グレースピリオド内に出荷されたストリーム供給装置であることを示す。ここでグレースピリオドとは、この期間内に出荷されたなら、一定の機能の実装を省くことができる期間である。このグレースピリオドに出荷するため、省略することができる機能には、音声のミキシング機能があり、かかるPSR31のPlayerProfile情報が、0000bであれば、ミキシングを始めとする、様々な機能の実装が省略されているストリーム供給装置であると、知ることができる。
【０１２７】
Player Profile情報が0001bであれば、当該ストリーム供給装置は、グレースピリオド経過後に出荷されたストリーム供給装置であることを示す。グレースピリオドの経過後に出荷されたストリーム供給装置は、原則として、全ての機能の実装が義務付けられているので、かかるPlayerProfile情報が0001bであるなら、ミキシングが実装されているストリーム供給装置であると、知ることができる。
【０１２８】
Player Profile情報が0011bであれば、当該ストリーム供給装置は、全ての機能を実装しているストリーム供給装置であることを示す。かかるストリーム供給装置は、グレースピリオドの経過前後にかかわらず、全ての機能を実装しているので、かかるPlayerProfile情報が0011bであるなら、サウンドミキシング機能が実装されているストリーム供給装置であると、知ることができる。
【０１２９】
尚、ミキシング機能を示す情報として、ストリーム供給装置がミキシングできるチャンネル数を示す情報をPSRに持たせても良い。
尚、最終の音声出力チャンネル数を示す情報をPSRに持たせても良い。例えばミキシングした結果の5.1chのLPCM音声はHDMIなどのI/Fが繋がっているのであればそのままLPCMでも出力が可能だが、S/PDIFのようなI/Fの場合にはエンコーダにて圧縮処理を行なわないと5.1chとしてはS/PDIFに出力できずに、2ch(L/R)の出力となってしまう。したがって、ミキサーの後段にエンコーダがありS/PDIFに繋がっている（例えばHDMIで繋がっていない）と判断した場合には、最終の音声出力チャンネル数は5.1chと設定できる。もしミキサーの後段にエンコーダがなければ、最終の音声出力チャンネル数はミキシングした後では2chと設定することができる。
【０１３０】
＜PSR15＞
図３２は、PSR15のビットアサインを示す図である。
PSR15は、32ビットのビット長を有する。
PSR15のビットb0からビットb3までは、LPCMオーディオストリームをデコードして再生する能力が再生環境(プレイヤ＋アンプなど)に存在するか否かを示す。この4ビットが0001bなら、ステレオ属性をもつ48/96HzのLPCMオーディオストリームを再生する能力が再生環境内にある。この4ビットが0010bなら、サラウンド属性をもつ48/96HzのLPCMオーディオストリームを再生する能力が再生環境内にある。この4ビットが0101bなら、ステレオ属性をもつ全ての周波数のLPCMオーディオストリームを再生する能力が再生環境内にある。この4ビットが0110bなら、サラウンド属性をもつ全ての周波数のLPCMオーディオストリームを再生する能力が再生環境内にある。
【０１３１】
PSR15のビットb4からビットb7までは、DD/DD+形式のオーディオストリームをデコードして再生する能力が再生環境(プレイヤ＋アンプなど)に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DD/DD+オーディオストリームの基本データ(independentsubstream)がステレオをもっている場合、これを再生する能力が再生環境内にある。この4ビットの下位2ビットが10bなら、DD/DD+オーディオストリームの基本データ(independentsubstream)がサラウンドをもっている場合、これを再生する能力が再生環境内にある。
【０１３２】
この4ビットの上位2ビットが01bなら、DD/DD+オーディオストリームの拡張データ(Dependent substream)がステレオ属性をもっている場合、これを再生する能力が再生環境内にある。この4ビットの上位2ビットが10bなら、DD/DD+オーディオストリームの拡張データ(Dependentsubstream)がサラウンドをもっている場合、これを再生する能力が再生環境内にある。
【０１３３】
上位2ビットが00であるなら、これを再生する能力が再生環境内に存在しないことを示す。
PSR15のビットb8からビットb11までは、DTS-HD形式のオーディオストリームをデコードして再生する能力が再生環境(プレイヤ＋アンプなど)に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DTS-HDオーディオストリームの基本データ(Coresubstream)の2chまでを再生する能力が再生環境内にある。この4ビットの下位2ビットが10bなら、DTS-HDオーディオストリームの基本データ(Coresubstream)のマルチチャンネルを再生する能力が再生環境内にある。
【０１３４】
この4ビットの上位2ビットが01bなら、DTS-HDオーディオストリームの拡張データ(Extension substream)の2chまでを再生する能力が再生環境内にある。この4ビットの上位2ビットが10bなら、DTS-HDオーディオストリームの拡張データ(Extensionsubstream)のマルチチャンネルを再生する能力が再生環境内にある。
上位2ビットが00bであるなら、DTS-HDオーディオストリームの拡張データ(Extension substream)を再生する能力が再生環境内に存在しないことを意味する。
【０１３５】
PSR15のビットb12からビットb15までは、DD/MLP形式のオーディオストリームをデコードして再生する能力が再生環境(プレイヤ＋アンプなど)に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DD形式のオーディオストリームがステレオの音声属性をもっている場合、これを再生する能力が再生環境内にある。この4ビットの下位2ビットが10bなら、DD形式のオーディオストリームがサラウンドの音声属性をもっている場合、これを再生する能力が再生環境内にある。
【０１３６】
この4ビットの上位2ビットが01bなら、MLPオーディオストリームがステレオの音声属性をもっている場合、これを再生する能力が再生環境内にある。この4ビットの上位2ビットが10bなら、MLPオーディオストリームがサラウンドの音声属性をもっている場合、これを再生する能力が再生環境内にある。
上位2ビットが00であるなら、これを再生する能力がユーザーの再生環境に存在しないことを示す。
【０１３７】
このように、PSR15は、符号化方式毎に、基本データ、拡張データのそれぞれを処理する能力があるか否かを規定できるようにしている。
さらに、PSR15のビットb16からビットb19までは、PSR15のビットb8からビットb11までのDTS-HD Capabilityが、再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す。この4ビットの下位2ビットが01bなら、DTS-HDオーディオストリームの基本データ(Coresubstream)のCapabilityは、自装置であるプレイヤのデコード能力に基づいて設定されている。この4ビットの下位2ビットが10bなら、DTS-HDオーディオストリームの基本データ(Coresubstream)のCapabilityは、アンプ等の外部機器のデコード能力に基づいて設定されている。この4ビットの下位2ビットが11bなら、自装置であるプレイヤとアンプ等の外部機器とのデコード能力が同等であり、DTS-HDオーディオストリームの基本データ(Coresubstream)のCapabilityは、これら双方のデコード能力に基づいて設定されている。この4ビットの下位2ビットが00bなら、再生環境を構成する何れの機器にもデコード能力がなく、DTS-HDオーディオストリームの基本データ(Coresubstream)のCapabilityはincapableに設定されている。
【０１３８】
この4ビットの上位2ビットが01bなら、DTS-HDオーディオストリームの拡張データ(Extension substream)のCapabilityは、自装置であるプレイヤのデコード能力に基づいて設定されている。この4ビットの上位2ビットが10bなら、DTS-HDオーディオストリームの拡張データ(Extensionsubstream)のCapabilityは、アンプ等の外部機器のデコード能力に基づいて設定されている。この4ビットの上位2ビットが11bなら、自装置であるプレイヤとアンプ等の外部機器とのデコード能力が同等であり、DTS-HDオーディオストリームの拡張データ(Extensionsubstream)のCapabilityは、これら双方のデコード能力に基づいて設定されている。この4ビットの上位2ビットが00bなら、再生環境を構成する何れの機器にもデコード能力がなく、DTS-HDオーディオストリームの拡張データ(Extensionsubstream)のCapabilityはincapableに設定されている。
【０１３９】
より詳細には、ビットb16は自装置であるプレイヤのデコード能力に基づいて、基本データ(Core substream)のCapabilityが設定されたか否かを示し、ビットb17はアンプ等の外部機器のデコード能力に基づいて、基本データ(Coresubstream)のCapabilityが設定されたか否かを示している。ビットb18は自装置であるプレイヤのデコード能力に基づいて、拡張データ(Extensionsubstream)のCapabilityが設定されたか否かを示し、ビットb19はアンプ等の外部機器のデコード能力に基づいて、拡張データ(Extensionsubstream)のCapabilityが設定されたか否かを示している。
【０１４０】
以上が、PSRセット２３についての説明である。
以降、起動処理部４０〜ミキシング制御部４４についての説明を開始する。
＜機能構成の詳細その１.起動処理部４０＞
図３３は、ストリーム供給装置３００、オーディオアンプ４００間の通信シーケンスを示す。
【０１４１】
ストリーム供給装置３００のHDMI送受信部２７は、ストリーム供給装置３００が起動された際や、オーディオアンプ４００と接続された際に、◎1に示すように、相互認証を行い、その後、ストリーム供給装置３００のHDMI送受信部２７は、レシーバとなるオーディオアンプ４００側から、◎2に示すようにDIBを受信する。こうして受信したDIBにおいて、オーディオアンプ４００側に、Primaryオーディオストリームをデコードする能力が存在すれば、オーディオアンプ４００に対し、◎3に示すようにPrimaryオーディオストリームのパススルー出力を行う。
【０１４２】
この時、オーディオアンプ４００のデコード能力に応じたPrimaryオーディオストリームがパススルー出力の対象となるように、起動処理部４０は、HDMI送受信部２７を介してホームシアターシステムの構成を取得し、その構成に応じてPSR15を設定する。
オーディオの再生可否を行なう基本情報であるPSR15をプレイヤ内蔵のデコーダだけでなく、アンプなどを含めたユーザーの再生環境全体を参照して規定することで、音声選択の幅が増え、より適切な再生可否判断が実現できる。
【０１４３】
図３４、図３５は、起動処理部４０による処理手順を示すフローチャートである。
図３４のステップＳ１０１は、装置起動がなされたかか否かの起動待ち判定であり、もし起動されれば自機のデコード能力に応じたPSR15を設定する（ステップＳ１０２）。その後、HDMIを介して他の機器と接続されているかを判定する（ステップＳ１０３）。HDMIを介して他の機器と接続されていない場合は（ステップＳ１０３でno）、PSR15により示されるデコード能力に応じたPrimaryオーディオストリームを選択させる手順をProcedure実行部４２に実行させる（ステップＳ１０８）。HDMIを介して他の機器と接続されている場合は（ステップＳ１０３でyes）、HDMIを介した接続相手の機器の認証を行う（ステップＳ１０４）。この認証により、相互の正当性が判明すれば、ステップＳ１０５に移行する。ステップＳ１０５は、DIBを受信したかどうかの受信待ちループであり、もしDIBを受信すれば（ステップＳ１０５でyes）、接続相手から受け取ったDIBにより、接続相手の能力及びスピーカ配置を認識する（ステップＳ１０６）。ステップＳ１０７は、接続相手に再生能力が存在するか否かの判定であり、もし再生能力が存在するなら、DIBに応じて、PSR15におけるPlayercapability for Audioの追加設定を行う（ステップＳ１０８）。そして、PSR15により示されるデコード能力に応じたPrimaryオーディオストリームを選択させる手順をProcedure実行部４２に実行させる（ステップＳ１０９）。
【０１４４】
以降、選択されたPrimaryオーディオストリームがDTS-HDオーディオストリームである場合を例に、説明を続ける。
図３５のステップＳ１１０は、ステップＳ１０９で選択されたDTS-HDオーディオストリームがExtension Substreamを含まないフレーム構成であるか否かの判定である。この判定は、図２１（ｂ）に示すStream_attributeのstream_coding_typeに基づいて判定できる。
【０１４５】
ステップＳ１０９で選択されたDTS-HDオーディオストリームがExtension Substreamを含まないフレーム構成である場合（ステップＳ１１０でno）、DTS-HDオーディオストリームのCoresubstreamのCapabilityが、HDMIを介して接続された機器のデコード能力に基づいて設定されたか否かを、PSR15のビットb17の値によって判定する（ステップＳ１１１）。PSR15のビットb17が0bであるならば（ステップＳ１１１で0b）、HDMIを介して接続された機器のデコード能力に基づいてCoresubstreamのCapabilityが設定されていないので、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、バッファ６aを介してデコーダ７aへ出力するようにスイッチ１０aを制御する（ステップＳ１１２）。PSR15のビットb17が1bであるならば（ステップＳ１１１で1b）、HDMIを介して接続された機器のデコード能力に基づいてCoresubstreamのCapabilityが設定されているので、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、パススルー出力するようにスイッチ１０aを制御する（ステップＳ１１３）。ここでパススルー出力を行う場合、PSR31のPlayerProfile情報には、ミキシング不可能な機器であることを示す値を格納しておく。そうしないと、Procedure実行部４３がSecondaryオーディオストリームを選択しようとして、Primaryオーディオストリームだけでなく、Secondaryオーディオストリームのパススルー出力がなされるからである。
【０１４６】
一方、ステップＳ１０９で選択されたDTS-HDオーディオストリームがExtension Substreamを含むフレーム構成である場合（ステップＳ１１０でyes）、DTS-HDオーディオストリームのExtensionsubstreamのCapabilityが、HDMIを介して接続された機器のデコード能力に基づいて設定されたか否かを、PSR15のビットb19の値によって判定する（ステップＳ１１４）。
PSR15のビットb19が1bであるならば（ステップＳ１１４で1b）、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、パススルー出力するようにスイッチ１０aを制御する（ステップＳ１１３）。PSR15のビットb19が0bであるならば（ステップＳ１１４で0b）、さらに、DTS-HDオーディオストリームのExtensionsubstreamのCapabilityが、自機のデコード能力に基づいて設定されたか否かを、PSR15のビットb18の値によって判定する（ステップＳ１１５）。PSR15のビットb18が1bであるならば（ステップＳ１１５で1b）、自機のデコード能力でExtensionsubstreamを再生可能であるので、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、バッファ６aを介してデコーダ７aへ出力するようにスイッチ１０aを制御し（ステップＳ１１２）、PSR15のビットb18が0bであるならば（ステップＳ１１４で0b）、自機のデコード能力でExtensionsubstreamを再生不可能であるのでCore substreamを再生対象とし、Core substreamのCapabilityが、HDMIを介して接続された機器のデコード能力に基づいて設定されたか否かを、PSR15のビットb17の値によって判定する（ステップＳ１１１）。HDMIを介して接続された機器のデコード能力に基づいてCoresubstreamのCapabilityが設定されていなければ（ステップＳ１１１で0b）、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、バッファ６aを介してデコーダ７aへ出力するようにスイッチ１０aを制御し（ステップＳ１１２）、HDMIを介して接続された機器のデコード能力に基づいてCoresubstreamのCapabilityが設定されていれば（ステップＳ１１１で1b）、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、パススルー出力するようにスイッチ１０aを制御する（ステップＳ１１３）。
【０１４７】
プレイヤでデコードしてアンプにLPCMとして出力させずに、スピーカが直接繋がっているアンプにて直接デコードすることを優先させることによって、ノイズの混入を抑えたり、転送の帯域を抑えることができる他、スピーカの特性に応じた音声信号の加工が適切に行なえるようになるため高音質な再生が得られる。
尚、上記では階層構造を持つDTS-HDオーディオストリームを例に説明したが、階層構造を持たない他のオーディオストリーム(例えば、DolbyDigital(AC-3)やMPEG-1 Audioなど)であってもPSR15の設定は同様に可能である。PSR15の情報を基にストリームのデコードをPlayerで行なうのか、外部機器(アンプ)で行なうかを判定し、外部機器でデコードできる場合にはパススルー出力を選択するのも同様に可能である。
【０１４８】
図３６は、CODING TYPEがDTS-HDである際に、DIBに応じてPSR15におけるPlayer capability for Audioを追加設定する処理手順を示すフローチャートである。本フローチャートの処理手順が開始される時点で、PSR15には自機のデコード能力に応じた値が設定されており、本フローチャートの実行により、DIBにより性能が示される機器のデコード能力が自機より勝るか同等である符号化方式についてPSR15の設定値が更新される。
【０１４９】
図３６のフローチャートにおいてステップＳ２００は、DIBのFormat depending coding typeにLevel1〜Level3が記載されているか否かの判定であり、ステップＳ２０１は、DIBのChannelCountに２よりも大きな値が記載されているか否かの判定である。
ステップＳ２００がyes、ステップＳ２０１がyesである場合、ステップＳ２０２において、Extension Substreamのcapabilityを、10b:SurroundCapableに設定し、Extension substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb19を1bに設定し、さらに、ステップＳ２０７において、CoreSubstreamのcapabilityを、10b:Surround Capableに設定し、Core substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb17を1bに設定する。
【０１５０】
ステップＳ２００がyes、ステップＳ２０１がNoである場合、ステップＳ２０３に移行する。ステップＳ２０３は、Extension Substreamのcapabilityに、10b:SurroundCapableが設定されているか否かの判定であり、Extension Substreamのcapabilityに、10b:Surround Capableが設定されていないのであれば（ステップＳ２０３でno）、ステップＳ２０４において、Extension
Substreamのcapabilityを、01b:Stereo Capableに設定し、Extension substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb19を1bに設定し、さらに、ステップＳ２０７において、CoreSubstreamのcapabilityを、10b:Surround Capableに設定し、Core substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb17を1bに設定する。
【０１５１】
一方、DIBのFormat depending coding typeにLevel1〜Level3が記載されていない場合（ステップＳ２００でno）と、ステップＳ２０３の判定でExtensionSubstreamのcapabilityに、10b:Surround Capableが設定されている場合（ステップＳ２０３でyes）、PSR15のビットb19を0bに設定し（ステップＳ２０５）、その後、ステップＳ２０６の判定を行う。ステップＳ２０６は、DIBのChannelCountに２よりも大きな値が記載されているか否かの判定である。
【０１５２】
ステップＳ２０６がyesである場合、ステップＳ２０７において、Core Substreamのcapabilityを、10b:Surround Capableに設定し、CoresubstreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb17を1bに設定する。
ステップＳ２０６がnoである場合、ステップＳ２０８に移行する。ステップＳ２０８は、Core Substreamのcapabilityに、10b:SurroundCapableが設定されているか否かの判定であり、Core Substreamのcapabilityに、10b:Surround Capableが設定されていないのであれば（ステップＳ２０８でno）、ステップＳ２０９において、CoreSubstreamのcapabilityを、01b:Stereo Capableに設定し、Core substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb17を1bに設定する。ステップＳ２０８の判定でCoreSubstreamのcapabilityに、10b:Surround Capableが設定されている場合（ステップＳ２０８でyes）、PSR15のビットb17を0bに設定する（ステップＳ２１０）。
【０１５３】
尚、図３６のＳ２０１、Ｓ２０６の判定ではDIBのChannel Countを用いたが、Channel/Speaker Allocationを用いても判定しても良い。
以上、起動処理部４０の処理手順を、DTS-HD方式への対応を例に説明したが、DD/DD+形式、DD/MLP形式等についても同様に扱うことができる。
例えば、DIBに応じてDD/DD+形式、DD/MLP形式等のCapabilityをPSR15を追加設定する際には、PSR15のビットb16からビットb19までの情報と同様の形式で、DD/DD+形式、DD/MLP形式等のCapabilityが再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す情報をレジスタに設置するとよい。また、再生時にDD/DD+形式のオーディオストリームや、DD/MLP形式オーディオストリームがPrimaryオーディオストリームが選択された場合には、DD/MLP形式等のCapabilityが再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す情報に基づいてパススルー出力の要否を判定するとよい。
【０１５４】
尚、各符号化方式のCapabilityが再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す情報は、必ずしもPSR15に設定する必要はなく、他のレジスタやワークメモリに情報を保持する構成としてもよい。
＜機能構成の詳細その２.プレイリスト処理部＞
プレイリスト処理部４１は、PL再生を実現するものであり、PlayItem情報のIn_timeにあたる位置から、Out_timeにあたる位置までビデオストリーム及びPrimaryオーディオストリームを再生し、これと同期して、SubPlayItem情報のSub_PlayItem_In_timeにあたる位置から、Sub_PlayItem_Out_timeにあたる位置までのSecondaryオーディオストリームの再生を、オーディオデコーダ７bに行わせる。
【０１５５】
図３７は、プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。
本フローチャートは、カレントPL情報(.mpls)の読み込みを行い(ステップＳ３０１)、その後、ステップＳ３０２〜ステップＳ３１０の処理を実行するというものである。ここでステップＳ３０２〜ステップＳ３１０は、ステップＳ３０９がYesになるまで、カレントPL情報を構成するそれぞれのPI情報について、ステップＳ３０３〜ステップＳ３１０の処理を繰り返すというループ処理を構成している。このループ処理において処理対象となるPlayItemを、PlayItem#x(PI#x)とよぶ。このPlayItem#xは、カレントプレイリストの先頭のPlayItemに設定されることにより、初期化される(ステップＳ３０２)。上述したループ処理の終了要件は、このPlayItem#xがカレントプレイリストの最後のPlayItemになることであり(ステップＳ３０９)、もし最後のPlayItemでなければ、カレントプレイリストにおける次のPlayItemがPlayItem#xに設定される(ステップＳ３１０)。
【０１５６】
ループ処理において繰り返し実行されるステップＳ３０３〜ステップＳ３１０は、PlayItem#xのClip_information_file_nameで指定されるClip情報をメモリに読み込み(ステップＳ３０３)、PlayItem#xのIn_timeを、カレントClip情報のEPmapを用いて、Iピクチャアドレスuに変換し(ステップＳ３０４)、PlayItem#xのOut_timeを、カレントClip情報のEP_mapを用いて、Iピクチャアドレスvに変換して(ステップＳ３０５)、これらの変換で得られたアドレスvの次のIピクチャを求めて、そのアドレスの1つ手前をアドレスwに設定し(ステップＳ３０７)、そうして算出されたアドレスwを用いて、IピクチャアドレスuからアドレスwまでのTSパケットの読み出しをBD-ROMドライブ１又はローカルストレージ２００に命じるというものである(ステップＳ３０８)。
【０１５７】
一方、ビデオデコーダ等に対しては、カレントPLMarkのmark_time_stampからPlayItem#xのOut_timeまでの出力を命じる(ステップＳ３０６)。以上のステップＳ３０５〜ステップＳ３０８により、AVClipにおいて、PlayItem#xにより指示されている部分の再生がなされることになる。
その後、PlayItem#xがカレントプレイリストの最後のPIであるかの判定がなされる(ステップＳ３０９)。
【０１５８】
PlayItem#xがカレントプレイリストの最後のPIでなければ、カレントプレイリストにおける次のPlayItemを、PlayItem#xに設定して(ステップＳ３１０)、ステップＳ３０３に戻る。以上のステップＳ３０３〜ステップＳ３１０を繰り返することにより、プレイリストを構成するPIは順次再生されることになる。
＜機能構成の詳細その３.Procedure実行部４２＞
Procedure実行部４２は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定のストリーム選択プロシージャを実行して、PSR1に新たなストリーム番号を書き込む。ストリーム供給装置３００は、PSR1に書き込まれたストリーム番号に応じて、Primaryオーディオストリームを特定するので、かかるPSR1の設定を通じて、Primaryオーディオストリームが選択されることになる。
【０１５９】
PlayItem情報の切り換わり時に、ストリーム選択プロシージャを実行するのは、STN_TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったPrimaryオーディオストリームが、別のPlayItem情報において再生不可能になることが有り得るからである。
このProcedure実行部４２により、PSR1は、図３８（ａ）に示すような状態遷移をなす。図３８（ａ）は、PSR1の設定値が取り得る状態遷移を示す図である。本図においてValidとは、PSR1の値が、PlayItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
【０１６０】
Invalidとは、PSR1の値が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、PlayItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図３８（ａ）における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure whenplayback condition is changed』、『Procedure when Stream change is requested』がある。
【０１６１】
Procedure when playback condition is changedは、何等かの事象がストリーム供給装置に生じたため、ストリーム供給装置の状態が変化した際に実行すべき処理手順を示す。
Procedure when Stream Change is requestedは、ユーザが何等かの切り換え(図３８（ａ）においてstream)を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Streamchange is requestedが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
【０１６２】
図３８（ａ）における矢印は、PSRが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Load Disc”、”Change aStream”,”Start PlayList playback”,”Cross a PlayItem boundary”,”TerminatePlayList playback”というような事象が発生した際、PSR1の状態遷移がなされることになる。これらの記法を理解して図３８（ａ）を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR1をValidに設定するにあたって、上述したProcedurewhen playback condition is changed、Procedure when Stream change is requestedによりPSR1は設定されるのである。
【０１６３】
以降、状態遷移のトリガとなるべき事象について説明する。
『Load Disc』とは、ストリーム供給装置にBD-ROMがローディングされたとの事象を意味する。PSR1は、かかるローディング時において、一旦不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedurewhen playback condition is changedが実行され、PSR1はValidに設定されることがわかる。
【０１６４】
『Terminate PlayList playback』とは、PLに基づく再生処理を終了したとの事象を意味する。かかる事象の発生時では、Procedurewhen playback condition is changedは実行されず、Invalidに移行していることがわかる。
『ChangeXXX』とは、ユーザによるXXX(本図ではStream)の切り換え要求がなされたとの事象を意味する。PSR1がInvalidである場合に、かかる事象が発生すれば(図中のcj1)、PSR1はその要求通りの値に設定される。こうして設定された値がたとえ有効なストリーム番号を示していたとしても、このPSR1の設定値はInvalidな値として取り扱われる。即ち、事象”ChangeXXX”による状態遷移では、InvalidであるPSRが、Validに変えることはない。
【０１６５】
一方、PSR1がValidである場合に、かかる事象Change a Streamが発生すれば(図中のcj2)、Procedure when Streamchange is requestedが実行されて、新たな値がPSR1に設定される。ここでProcedure when Stream change isrequestedの実行により設定される値は、ユーザが希望した値にならない場合も有り得る。何故なら、Procedure when Stream changeis requestedは、無効な値を排除する機能を有しているからである。PSR1がValidにおいて、Change streamが発生した場合、ValidからInvalidに状態遷移することは有り得ない。PSR1がInvalidにならないよう、Procedurewhen Stream change is requested側で保証するからである。
【０１６６】
『Cross a PlayItem boundary』とは、あるPlay Itemの境界通過という事象を意味する。ここでPlay Itemの境界とは、連続する2つのPlayItemのうち、先行する側の終端、後続する側の先端の狭間を意味する。PSR1がValidである場合において、かかる事象が発生すれば、Procedurewhen playback condition is changedが実行されることがわかる。そして、Procedure when playbackcondition is changedの実行後、PSR1の状態はValidに戻るか、Invalidに移行することが分かる。STN_tableはPlayItem毎に存在しており、Play Itemが変われば、再生可能なエレメンタリストリームも変わってしまう。Play Itemの再生開始毎に、Procedurewhen playback condition is changeを実行してPlay Item毎に最適な設定値をPSR1に設定するというのが、この状態遷移の趣旨である。
【０１６７】
この状態遷移においてProcedure when playback condition is changedは、図３８（ｂ）のようになる。図３８（ｂ）は、Procedurewhen playback condition is changedの処理手順を示す図である。本処理手順は、ステップＳ１、ステップＳ２という2つの判定ステップの組合せで、PSR1の設定を行うものである。
ステップＳ１は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR1の値を維持する(ステップＳ３)。
【０１６８】
ステップＳ２は、STN_tableにおけるentry数は0ではない場合に、PSR1よりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR1で特定されるPrimaryオーディオストリームを再生する能力がデコーダに存在することである。もしステップＳ２がYesであればPSR1を維持する(ステップＳ４)。もしPSR1の値がentry数より大きいか、或は条件(A)を満たさない場合は、PSR1を再設定する(ステップＳ５)。ここで、本実施形態では、ストリーム供給装置３００が選択したオーディオストリームをオーディオアンプ４００へ供給し、オーディオアンプ４００がオーディオストリームをデコードするという接続形態をとるため、条件(A)でいうデコーダとしては、オーディオアンプ４００が内蔵するものが相当する。
【０１６９】
その後、PSR1に設定されているPrimaryオーディオストリームがDTS-HD形式で符号化されたものである場合は（ステップＳ１９がyes）、ステップＳ２０で、オーディオアンプ４００で実際に再生される音声の品質を示すメニューを表示する。
図３９は、実際に再生される音声の品質を示すメニューの一例を示す図である。本図におけるメニューは、「お客さまのシアターシステムでは、接続先の機器でDTS-XXXXの品質でオーディオ再生されます」などの注意を喚起する旨のメッセージと確認ボタンからなる。DTS-XXXXの部位には、PSR15のDTS-HDExtension capabilityに設定されている値に応じて、DTS core、DTS-ES、DTS-96/24、DTS-HD(xLL)の何れかを表示する。こうすることで、実際にどのような品質で音声再生されるかをユーザが事前に把握することができる。
【０１７０】
尚、音声品質の提示の際には、必ずしもユーザの確認操作を求める必要はない。そこで、本図に示すようなメッセージを一定期間表示した後、メッセージの表示を終了する構成としてもよい。
更に、実際に再生される音声品質の表示は、オーディオストリームを選択したタイミングに限らず、他のタイミングで表示してもよい。例えば、図３４のステップＳ１０７の判定で、接続相手に再生能力が存在すると判定された時に再生可能な音声品質を表示してもよい。このようなタイミングで音声品質を表示する場合には、「お客さまのシアターシステムでは、接続先の機器でDTS-XXXXの品質でオーディオ再生されます。接続先機器でデコードしますか？」等のメッセージと、接続先機器でのデコード可否を受け付けるボタン「Yes」「No」とからなるメニュー画面を表示することで、ユーザがパススルー出力を希望するか否かを確認することもできる。具体的には、このようなメニューの表示に対して「Yes」ボタンが選択されたならば図３４のステップＳ１０８へ処理を移してDIBに応じたPSR15設定を行い、「No」ボタンが選択されたならばステップＳ１０９へ処理を移して、自機のデコード能力に応じたPSR15設定に基づいてPrimaryオーディオストリームの選択を行うとよい。
【０１７１】
図４０は、ステップＳ５の詳細な処理手順に示したフローチャートである。
ステップＳ６、ステップＳ７は、全てのPrimaryオーディオストリームについてステップＳ８を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のPrimaryオーディオストリームを、Primaryオーディオストリームiという。ステップＳ８は、Primaryオーディオストリームiが3つの条件(a)(b)(c)を満たすかのチェックを行う。
【０１７２】
条件(a)とは、Primaryオーディオストリームiを再生する能力がデコーダに存在することであり、これを満たすか否かの判定は、PSR15と、Primaryオーディオストリームiのstream_coding_type及びformat_depending_coding_typeとの比較でなされる。
条件(b)とは、Primaryオーディオストリームiの言語属性がストリーム供給装置３００の言語設定と同じであることであり、これを満たすか否かの判定は、STN_tableに記述されたPrimaryオーディオストリームiのAudio_language_codeがPSRの設定値と同じであるか否かの比較でなされる。
【０１７３】
条件(c)とは、Primaryオーディオストリームiのチャネル属性がサラウンドであり、これを再生する能力がデコーダに存在することである。これを満たすか否かの判定は、PSR15と,AudioStreamのaudio_presentation_type、stream_coding_typeとの比較でなされる。ここで条件(a)及び条件(c)でいうデコーダとは、条件(A)と同様に、本実施形態ではオーディオアンプ４００が内蔵するものが相当する。
【０１７４】
これらの複数の条件のうち、「Primaryオーディオストリームiがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、Primaryオーディオストリームに優先順位を付与する。
以上の処理をPrimaryオーディオストリームの全てについて繰り返されれば、ステップＳ９〜ステップＳ１３の処理を行う。ステップＳ９は、(a)を満たすPrimaryオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値(0xFF)をPSR1に設定する(ステップＳ１４)。
【０１７５】
ステップＳ１０は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)(c)を満たすPrimaryオーディオストリームの番号をPSR1に設定する(ステップＳ１５)。
ここで問題になるのが、条件(a)(b)(c)を満たすPrimaryオーディオストリームが複数存在する場合である。条件(a)〜条件(c)が全てみたされるので、同じ優先順位になってしまうので優劣を決めることができない。この場合ステップＳ１５では、STN_tableにおけるentryの順序に応じて、各ストリームにおける順位が定める。即ち、コーディック−言語属性−チャネル属性が同じPrimaryオーディオストリームについては、STN_tableにおけるentryの順番を参照することで、最もentryの順番が早いPrimaryオーディオストリームが選ばれることになる。
【０１７６】
STN_tableにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップＳ１１は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリームが存在しない場合、条件(a)(b)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップＳ１６)。
【０１７７】
ステップＳ１２は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリーム、又は、条件(a)(b)を満たすPrimaryオーディオストリームが存在しない場合に、条件(a)(c)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(c)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップＳ１７)。
【０１７８】
ステップＳ１３は、条件(a)(b)(c)の全て、条件(a)(b)、条件(a)(c)を満たすPrimaryオーディオストリームが存在しない場合に、条件(a)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップＳ１８)。
【０１７９】
以上がProcedure when playback condition is changedである。続いてProcedure when Streamchange is requestedについて説明する。図４１は、ストリーム変化時におけるPSR1の設定手順を示すフローチャートである。本フローチャートと、図３８（ｂ）との違いは、図３８（ｂ）におけるPSR1の表記がXに置き換えられている点である。このXは、操作受付部２６から出力されたUserOperation情報やIGデコーダ１３から出力されたボタンコマンドに基づく値である。
【０１８０】
本フローチャートにおけるステップＳ２１は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR1で特定されるPrimaryオーディオストリームを再生する能力が再生装置に存在することであり、PSR15と、PrimaryオーディオストリームのStream_codeig_type、format_depending_coding_typeの比較で判定される。ここで条件(A)でいう再生装置とは、オーディオストリームをデコードする機器を指し、本実施形態ではオーディオアンプ４００が相当する。もしXがこの条件を満たすなら、PSR1にXを設定する(ステップＳ２２)。
【０１８１】
もしXがentry数より大きいか、或は条件(A)を満たさない場合は、Xが、0xFFであるか否かを判定する（ステップＳ２３）。もしOxFFでなければ、ユーザが選択を意図するPrimaryオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR1の設定値を維持する(ステップＳ２４)。
もしPSR1の設定値が0xFFであるなら、PSR1を設定する(ステップＳ２５)。このステップＳ２５の処理手順は、図４０に示した処理手順と同一である(図４０のうち、ステップＳ９の判定はProcedurewhen Stream change is requestedでは必要ではない。何故ならProcedure when Stream change isrequestedでは、条件(a)(b)(c)を満たすPrimaryオーディオストリームが1つも存在しない場合、ユーザが設定した値XをPSR1に設定せず、PSR1の設定値を維持するからである。
【０１８２】
その後、PSR1に設定されているPrimaryオーディオストリームがDTS-HD形式で符号化されたものである場合は（ステップＳ２６がyes）、ステップＳ２７で、オーディオアンプ４００で実際に再生される音声の品質を示す図３９のメニューを表示する。
＜機能構成の詳細その４.Procedure実行部４３＞
Procedure実行部４３は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定の手順を実行して、PSR14に新たなストリーム番号を書き込む。ストリーム供給装置３００は、PSR14に書き込まれたストリーム番号に対応するSecondaryオーディオストリームを再生対象とするので、かかるPSR14の設定を通じて、Secondaryオーディオストリームが選択されることになる。
【０１８３】
このProcedure実行部４３により、PSR14は、図４２（ａ）に示すような状態遷移をなす。
図４２（ａ）は、PSR14の設定値が取り得る状態遷移を示す図である。本図においてValidとは、PSR14の値が、Play ItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
【０１８４】
Invalidとは、PSR14の値が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、PlayItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図４２（ａ）における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure whenplayback condition is changed』、『Procedure when Stream change is requested』がある。
【０１８５】
Procedure when playback condition is changedは、何等かの事象がストリーム供給装置に生じたため、ストリーム供給装置の状態が変化した際に実行すべき処理手順を示す。
Procedure when Stream Change is requestedは、ユーザが何等かの切り換え(図４２においてstream)を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Streamchange is requestedが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
【０１８６】
図４２（ａ）における矢印は、PSRが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Load Disc”、”Change aStream”,”Start PlayList playback”,”Cross a PlayItem boundaryor Change PrimaryAudio Stream”,”Terminate PlayList playback”というような事象が発生した際、PSR14の状態遷移がなされることになる。これらの記法を理解して図４２（ａ）を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR14をValidに設定するにあたって、上述したProcedurewhen playback condition is changed、Procedure when Stream change is requestedによりPSR14は設定されるのである。
【０１８７】
以降、状態遷移のトリガとなるべき事象について説明する。
『Load Disc』とは、ストリーム供給装置にBD-ROMがローディングされたとの事象を意味する。PSR14は、かかるローディング時において、一旦不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedurewhen playback condition is changedが実行され、PSR14はValidに設定されることがわかる。
【０１８８】
『Terminate PlayList playback』とは、PLに基づく再生処理が終了したとの事象を意味する。かかる事象の発生時では、Procedurewhen playback condition is changedは実行されず、Invalidに移行していることがわかる。
『ChangeXXX』とは、ユーザによるXXX(本図ではStream)の切り換え要求がなされたとの事象を意味する。PSR14がInvalidである場合に、かかる事象が発生すれば(図中のcj1)、PSR14はその要求通りの値に設定される。こうして設定された値がたとえ有効なストリーム番号を示していたとしても、このPSR14の設定値はInvalidな値として取り扱われる。即ち、事象”ChangeXXX”による状態遷移では、InvalidであるPSRが、Validに変えることはない。
【０１８９】
一方、PSR14がValidである場合に、かかる事象Change a Streamが発生すれば(図中のcj2)、Procedure when Streamchange is requestedが実行されて、新たな値がPSR14に設定される。ここでProcedure when Stream change isrequestedの実行により設定される値は、ユーザが希望した値にならない場合も有り得る。何故なら、Procedure when Stream changeis requestedは、無効な値を排除する機能を有しているからである。PSR14がValidにおいて、Change streamが発生した場合、ValidからInvalidに状態遷移することは有り得ない。PSR14がInvalidにならないよう、Procedurewhen Stream change is requested側で保証するからである。
【０１９０】
『Cross a PlayItem boundary  or Change Primary Audio Stream』とは、あるPlay Itemの境界通過、又は、Primaryオーディオストリームの切り替えという事象を意味する。PSR14がValidである場合において、かかる事象が発生すれば、Procedurewhen playback condition is changedが実行されることがわかる。そして、Procedure when playbackcondition is changedの実行後、PSR14の状態はValidに戻るか、『Cross a PlayItem boundary  orChange Primary Audio Stream』が発生するとInvalidに移行することが分かる。Play Itemの再生開始やPrimaryオーディオストリームの切り替え毎に、Procedurewhen playback condition is changeを実行してPlay Item毎に最適な設定値をPSR14に設定するというのが、この状態遷移の趣旨である。
【０１９１】
この状態遷移においてProcedure when playback condition is changedは、図４２（ｂ）のようになる。本処理手順は、ステップＳ３１、ステップＳ３２という2つの判定ステップの組合せで、PSR14の設定を行うものである。
ステップＳ３１は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR14の値を維持する(ステップＳ３３)。
【０１９２】
ステップＳ３２は、STN_tableにおけるentry数は0ではない場合に、PSR14よりSTN_tableのentry数が多く、尚且つ、条件(A)と（B）が真であるかを判定するものである。条件(A)とは、PSR14で特定されるSecondaryオーディオストリームを再生する能力が再生装置に存在することである。ここで条件(A)でいうデコーダとしては、本実施形態ではオーディオアンプ４００に内蔵のものが相当する。条件（B）とは、Primary_Audio_Stream_Numberと、Secondary_Audio_Stream_Numberの組み合わせがSTN_tableで許可されていることである。もしステップＳ３２がNoであればPSR14を維持する(ステップＳ３４)。Yesの場合は、PSR14を再設定する(ステップＳ３５)。
【０１９３】
図４３は、ステップＳ３５の詳細な処理手順に示したフローチャートである。
ステップＳ３６、ステップＳ３７は、全てのSecondaryオーディオストリームについてステップＳ３８を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のSecondaryオーディオストリームを、Secondaryオーディオストリームiという。ステップＳ３８は、Secondaryオーディオストリームiが3つの条件(a)(b)(c)を満たすかのチェックを行う。
【０１９４】
条件(a)とは、Secondaryオーディオストリームiを再生する能力がデコーダに存在することであり、これを満たすか否かの判定は、オーディオストリームの再生能力を示すレジスタ(PSR15)と、Secondaryオーディオストリームiのstream_coding_type及びformat_depending_coding_typeとの比較でなされる。
条件(b)とは、PrimaryオーディオストリームをSecondaryオーディオストリームにミキシングすることができるか否かであり、この条件が満たされているか否かの判定は、PSR1に設定されているストリーム番号が、SecondaryオーディオストリームのComb_info_Secondary_audio_Primary_audioに記載されているかを判断することでなされる。
【０１９５】
条件(c)とは、Secondaryオーディオストリームiの言語属性がストリーム供給装置の言語設定と同じであることであり、これを満たすか否かの判定は、STN_tableに記述されたSecondaryオーディオストリームiのAudio_language_codeがPSRの設定値と同じであるか否かの比較でなされる。
これらの複数の条件のうち、「Secondaryオーディオストリームiがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、Secondaryオーディオストリームに優先順位を付与する。
以上の処理をSecondaryオーディオストリームの全てについて繰り返されれば、ステップＳ３９〜ステップＳ４１、ステップＳ４４〜ステップＳ４６の処理を行う。ステップＳ３９は、条件(a)及び条件(b)を満たすSecondaryオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値(0xFF)をPSR14に設定する(ステップＳ４４)。
【０１９６】
ステップＳ４０は、条件(a)(b)(c)の全てを満たすSecondaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)(c)を満たすSecondaryオーディオストリームの番号をPSR14に設定する(ステップＳ４５)。
ここで問題になるのが、条件(a)(b)(c)を満たすSecondaryオーディオストリームが複数存在する場合である。条件(a)〜条件(c)が全てみたされるので、同じ優先順位になってしまうので優劣を決めることができない。この場合ステップＳ４５では、STN_tableにおけるentryの順序に応じて、各ストリームにおける順位が定める。即ち、コーディック−言語属性−チャネル属性が同じSecondaryオーディオストリームについては、STN_tableにおけるentryの順番が最も早いSecondaryオーディオストリームが選ばれることになる。
【０１９７】
STN_tableにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップＳ４１は、条件(a)(b)(c)の全てを満たすSecondaryオーディオストリームが存在しない場合、条件(a)(b)を満たすSecondaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)を満たすSecondaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR14に設定する(ステップＳ４６)。
【０１９８】
以上がProcedure when playback condition is changedである。続いてProcedure when Streamchange is requestedについて説明する。図４４は、ストリーム変化時におけるPSR14の設定手順を示すフローチャートである。本フローチャートと、図４２（ｂ）との違いは、図４２（ｂ）におけるPSR14の表記がXに置き換えられている点である。このXは、操作受付部２６から出力されたUserOperation情報やIGデコーダ１３から出力されたボタンコマンドに基づく値である。
【０１９９】
本フローチャートにおけるステップＳ４９は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)、条件(B)が真であるかを判定するものである。もしXがこの条件を満たすなら、PSR14にXを設定する(ステップＳ５１)。
もしXがentry数より大きいか、或は条件(A)及び条件(B)を満たさない場合は、Xが、0xFFであるか否かを判定する（ステップＳ５２）。もしOxFFでなければ、ユーザが選択を意図するSecondaryオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR14の設定値を維持する(ステップＳ５３)。
【０２００】
もしPSR14の設定値が0xFFであるなら、PSR14を設定する(ステップＳ５４)。このステップＳ５４の処理手順は、図４３に示した処理手順と同一である(図４３のうち、ステップＳ３９の判定はProcedurewhen Stream change is requestedでは必要ではない。何故ならProcedure when Stream change isrequestedでは、条件(a)(b)(c)を満たすSecondaryオーディオストリームが1つも存在しない場合、ユーザが設定した値XをPSR14に設定せず、PSR14の設定値を維持するからである。)。
【０２０１】
以上でProcedure実行部４３についての説明を終える。
＜機能構成の詳細その５.ミキシング制御部４４＞
ミキシング制御部４４は、オーディオデコード能力を有する機器がHDMIを介して接続されている場合、Primaryオーディオストリームを構成するTSパケット及びSecondaryオーディオストリームを構成するTSパケットを、オーディオデコーダ７a,bへ供給することなく、それらのエレメンタリーストリームをHDMI送受信部２７へ供給するよう、スイッチ１０aを制御する。ミキシング制御部４４は、さらに、オーディオデコード能力を有する機器がHDMIを介して接続されておらず、且つ、ストリーム供給装置３００のPlayerProfile情報が0001bである場合、又は、0011bである場合、Primaryオーディオストリームの再生出力に対して、Secondaryオーディオストリームの再生出力、又は、サウンドデータの再生出力をミキシングするよう、ミキサー９a、ミキサー９bを制御する。
【０２０２】
ここでPlayItem時間軸における現在の再生時点が、SubPlayItem情報のIn_timeからOut_timeまでであり、また、カレントPlayItem情報のSTN_Tableにおいて、Secondaryオーディオストリームが有効になっている場合、PSR14に格納されたストリーム番号のSecondaryオーディオストリームのデコードが、オーディオデコーダ７bにてなされているので、ミキシング制御部４４は、オーディオデコーダ７aの再生出力に対して、オーディオデコーダ７bの再生出力をミキシングするよう、ミキサー９aを制御する。
【０２０３】
Primaryオーディオストリームにおける属性がサラウンドである場合、L,R,C,LS,RS,LR,RR,LFEといった成分のうち、所望の成分のみを残すようダウンミキシングを行った上で、Secondaryオーディオストリームの再生出力をミキシングすることができる。ここでSecondaryオーディオストリームが映画監督のコメンタリ音声である場合、SecondaryオーディオストリームをミキシングすべきPrimaryオーディオストリームのチャンネルを、L→C→Rというように変化させてゆけば、ユーザの回りを映画監督が、歩き回っているかのような感覚を、ユーザに与えることができる。このようなミキシングをパンニングと呼んでいる。パンニングではPrimaryオーディオストリームよりも少ないチャンネル数のSecondaryオーディオストリーム（例えばモノラル）の音声が使われる。
【０２０４】
Java（登録商標）アプリケーションにて描画されたボタンに対し確定操作がなされた場合、又は、IGストリームにより描画されたボタンに対し確定操作がなされた場合、Primaryオーディオストリームの再生出力、又は、Primaryオーディオストリームの再生出力と、Secondaryオーディオストリームの再生出力とのミキシング結果に対して、サウンドデータをミキシングするよう、ミキサー９bを制御する。
【０２０５】
以上が、本実施形態に係るストリーム供給装置３００についての説明である。
以上のように本実施形態によれば、ストリーム供給装置はHDMIのようにデジタルI/Fを介してオーディオアンプの能力を取得し、それに応じてPSR15を設定した上、このPSR15に基づき、PrimaryオーディオストリームをBD-ROMディスク/ローカルストレージから選択して、このPrimaryオーディオストリームのパススルー出力を行う。このとき符号化形式がDTS-HD形式である場合には、DIBにより拡張データをデコードに利用可能か否かが示されるため、実際にどのような品質で音声再生されるかストリーム供給装置がわで事前に把握することができる。
【０２０６】
尚、ロスレス圧縮されたオーディオデータのデコードは演算量が多く、高い処理能力が必要とされる。そのため、処理速度やメモリ容量のつごうから、DTS-HD(xLL)をデコードすることは出来るが、DTS-ESやDTS-96/24などをデコードする場合よりも少ないチャンネル数にしか対応できないといったケースも考えられる。
このような場合には、図４５に示すようにDIBを改良することで、CODING TYPEがDTSである場合に、DTSの拡張規格であるDTS-ES、DTS-96-24、DTS-HD(xLL)のうちデコード可能な符号化方式毎に、対応可能なチャンネル数、スピーカ構成、サンプリング周波数を、オーディオアンプからストリーム供給装置へ通知することができる。これによって、実際に再生される音声の品質をストリーム供給装置側でより適切に把握することが出来る。図４５の例では、オーディオアンプはCoresubstreamのデコード、
Extention substreamのDTS-ES部分のデコード、Extention substreamのDTS-96/24部分のデコードが可能であり、Coresubstreamをデコードに用いる際には5.1ch、48KHzで音声再生が可能であり、DTS-ES部分をデコードに用いる際には7.1ch、48KHzで音声再生が可能であり、DTS-96/24部分をデコードに用いる際には2ch、196KHzで音声再生が可能であることが示される。
【０２０７】
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、 以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。上記の実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の意思によることは留意されたい。
【０２０８】
(追加コンテンツに対する処理)
ローカルストレージ２００にダウンロードされた追加コンテンツは、何ヶ月、何年か経過すれば自動的に消去するよう、ストリーム供給装置を初期設定しておくのが望ましい。
（PIDの代用）
上記実施形態では、Primaryオーディオストリーム、Secondaryオーディオストリームの区別にPIDを用いたが、MPEG２-PSを使う場合には、PESパケットヘッダのstream_idをそれぞれ異なるものにするのが望ましい。
【０２０９】
またPrimaryオーディオストリーム、Secondaryオーディオストリームは、２つの音声ストリームが１つのデマルチプレクサでも弁別可能なように、システムストリームレベルにおいて区別されていればよい。もしくは、２つのストリームを１つに束ねる前に、片方のPIDを重複しないように付け替えておくだけでもよい。
(制御手順の実現)
上記実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。
【０２１０】
・本発明に係るプログラムの生産形態
本発明に係るプログラムは、コンピュータが実行することができる実行形式のプログラム(オブジェクトプログラム)であり、上記実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA（登録商標）バイトコードというように、様々な種類がある。またプログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップが実現されることもある。
【０２１１】
本発明にかかるプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【０２１２】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【０２１３】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、本発明に係るプログラムを作ることができる。
・本発明に係るプログラムの使用形態
本発明に係るプログラムは、以下のようにして使用することができる。
【０２１４】
(i)組込プログラムとしての使用
本発明に係るプログラムを組込プログラムとして使用する場合、プログラムにあたるロードモジュールを、基本入出力プログラム(BIOS)や、様々なミドルウェア(オペレーションシステム)と共に、命令ROMに書き込む。こうした命令ROMを、制御部に組み込み、CPUに実行させることにより、本発明に係るプログラムを、ストリーム供給装置３００の制御プログラムとして使用することができる。
【０２１５】
(ii)アプリケーションとしての使用
ストリーム供給装置３００が、ハードディスク内蔵モデルである場合は、基本入出力プログラム(BIOS)が命令ROMに組み込まれており、様々なミドルウェア(オペレーションシステム)が、ハードディスクにプレインストールされている。また、ハードディスクから、システムを起動するためのブートROMが、ストリーム供給装置３００に設けられている。
【０２１６】
この場合、ロードモジュールのみを、過搬型の記録媒体やネットワークを通じて、ストリーム供給装置３００に供給し、1つのアプリケーションとしてハードディスクにインストールする。そうすると、ストリーム供給装置３００は、ブートROMによるブートストラップを行い、オペレーションシステムを起動した上で、1つのアプリケーションとして、当該アプリケーションをCPUに実行させ、本発明に係るプログラムを使用する。
【０２１７】
ハードディスクモデルのストリーム供給装置３００では、本発明のプログラムを1つのアプリケーションとして使用しうるので、本発明に係るプログラムを単体で譲渡したり、貸与したり、ネットワークを通じて供給することができる。
(コントローラ２２)
上記実施形態に示したコントローラ２２等の構成要素は、一個のシステムLSIとして実現することができる。
【０２１８】
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
【０２１９】
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、ストリーム供給装置３００の中核としての役割を果たす。
システムLSIにパッケージングされるベアチップは、“フロントエンド部”、“バックエンド部”、“デジタル処理部”からなる。“フロントエンド部”は、アナログ信号を、デジタル化する部分であり、“バックエンド部”はデジタル処理の結果、得られたデータを、アナログ化して出力する部分である。
【０２２０】
上記実施形態において内部構成図として示した各構成要素は、このデジタル処理部内に実装される。
先に“組込プログラムとしての使用”で述べたように、命令ROMには、プログラムにあたるロードモジュールや、基本入出力プログラム(BIOS)、様々なミドルウェア(オペレーションシステム)が書き込まれる。本実施形態において、特に創作したのは、このプログラムにあたるロードモジュールの部分なので、プログラムにあたるロードモジュールを格納した命令ROMを、ベアチップとしてパッケージングすることにより、本発明に係るシステムLSIは生産することができる。
【０２２１】
具体的な実装については、SoC実装やSiP実装を用いることができ望ましい。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(Systemin Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、上記実施形態に示したストリーム供給装置３００の内部構成図を基に作ることができる。
【０２２２】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
さらに、各記録読出装置の構成要素の一部又は全てを1つのチップとして構成してもよい。集積回路化は、上述したSoC実装,SiP実装に限るものではなく、専用回路又は汎用プロセスで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA（FieldProgrammable Gate Array）や、LSI内部の回路セルの接続や設定を再構成可能なシリコンフィギュラブル・プロセッサを利用することが考えられる。更には、半導体技術の進歩又は派生する技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積回路化を行っても良い。例えば、バイオ技術の適応などが可能性としてありうる。
【産業上の利用可能性】
【０２２３】
本発明はホームシアターシステムを構成するストリーム再生装置、ストリーム供給装置等に適用でき、特に、記録媒体からオーディオストリームを読み出すストリーム供給装置と、オーディオストリームをデコードするストリーム再生装置とがHDMI等のデジタルI/Fを介して接続して利用する場合に有用である。
【図面の簡単な説明】
【０２２４】
【図１】本発明に係る記録媒体の、使用行為についての形態を示す図である。
【図２】BD-ROMの内部構成を示す図である。
【図３】拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。
【図４】AVClipを構成するTSパケットがどのような過程を経てBD-ROMに書き込まれるかを示す。
【図５】BD-ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。
【図６】AVClipにどのようなエレメンタリストリームが多重化されているかを示す図である。
【図７】Clip情報の内部構成を示す図である。
【図８】PlayList情報のデータ構造を示す図である。
【図９】AVClipと、PlayList情報との関係を示す図である。
【図１０】ファイルsound.bdmvの構成を示す図である。
【図１１】ローカルストレージ２００の内部構成を示す図である。
【図１２】SubClipに多重化されるエレメンタリストリームを示す図である。
【図１３】BD-ROM規格におけるPID割当マップを示す図である。
【図１４】（ａ）Secondaryオーディオストリームの内部構成を示す図である。    （ｂ）オーディオフレームの一例を示す図である。  （ｃ）メタデータの内部構成を示す図である。  （ｄ）ゲイン制御情報の一例を模式的に示す図である。
【図１５】Secondaryオーディオストリーム内のメタデータにより、Primaryオーディオストリームの音量がどのように制御されるかを示す図である。
【図１６】PlayList情報のデータ構造を示す図である。
【図１７】Subpath情報の内部構成をクローズアップして示す図である。
【図１８】ローカルストレージ２００上のSubClipと、ローカルストレージ２００上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。
【図１９】MainClipに対して設定されたEP_map及びPlayItem時間軸と、Primaryオーディオストリーム、SecondaryオーディオストリームとなるSubClipに対して設定されたEP_map及びSubPlayItem時間軸とを集約して示す図である。
【図２０】STN_tableの内部構成を示す図である。
【図２１】（ａ）ビデオストリームに対応したStream_attributeを示す図である。  （ｂ）Primaryオーディオストリーム、Secondaryオーディオストリームに対応したStream_attributeを示す図である。  （ｃ）ビデオストリームにおけるStream_entryを示す図である。  （ｄ）SecondaryオーディオストリームにおけるStream_entryを示す図である。  （ｅ）SecondaryオーディオストリームにおけるStream_entryと、Stream_attributeとの組みに対応付けられている、Comb_info_Secondary_audio_Primary_audioの内部構成を示す図である。
【図２２】DTS-HD形式のPrimaryオーディオストリームのオーディオフレームにおいて、Stream_attributeの「format_depending_coding_type」におけるBase,Level1,Level2,Level3がそれぞれ、どのようなデータ構造に割り当てられるかを示す図である。
【図２３】Comb_info_Secondary_audio_Primary_audioによるPrimaryオーディオストリームの指定を示す図である。
【図２４】ストリーム供給装置３００により生成されるバーチャルファイルシステムを示す図である。
【図２５】本発明に係るオーディオアンプ４００の内部構成を示す図である。
【図２６】（ａ）DIBにおいて、音声再生性能に関する部分のデータ構造を模式的に示した図である。  （ｂ）DIBの各フィールドに設定しうる値を示す図である。
【図２７】コントローラ３４の処理手順を示す図である。
【図２８】本発明に係るストリーム供給装置３００の内部構成を示す図である。
【図２９】Audio InfoFrameのデータ構造を模式的に示した図である。
【図３０】コントローラ２２を機能的に表現した図である。
【図３１】（ａ）PSR1のビットアサインを示す図である。  （ｂ）PSR14のビットアサインを示す図である。  （ｃ）PSR31のビットアサインを示す図である。
【図３２】PSR15のビットアサインを示す図である。
【図３３】機器起動時のストリーム供給装置３００、オーディオアンプ４００間の通信シーケンスを示す。
【図３４】起動処理部４０の処理手順を示すフローチャートである。
【図３５】起動処理部４０の処理手順を示すフローチャートである。
【図３６】CODING TYPEがDTS-HDである際に、DIBに応じてPSR15におけるPlayer capability for Audioを追加設定する処理手順を示すフローチャートである。
【図３７】プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。
【図３８】（ａ）PSR1の設定値が取り得る状態遷移を示す図である。  （ｂ）PSR1のProcedure when playback conditionis changedの処理手順を示す図である。
【図３９】実際に再生される音声の品質を示すメニューの一例を示す図である。
【図４０】ステップＳ５の詳細な処理手順に示したフローチャートである。
【図４１】ストリーム変化時におけるPSR1の設定手順を示すフローチャートである。
【図４２】（ａ）PSR14の設定値が取り得る状態遷移を示す図である。  （ｂ）PSR14のProcedure when playback conditionis changedの処理手順を示す図である。
【図４３】ステップＳ３５の詳細な処理手順に示したフローチャートである。
【図４４】ストリーム変化時におけるPSR14の設定手順を示すフローチャートである。
【図４５】変形例に係るDIBのデータ構造を示す図である。
【符号の説明】
【０２２５】
１００  BD-ROM
２００  ローカルストレージ
３００  ストリーム供給装置
４００  オーディオアンプ
５００  スピーカ
６００  テレビ
１a  BD-ROMドライブ
１b  バス
２a,b  リードバッファ
３a,b  デマルチプレクサ
４  ビデオデコーダ
５  ビデオプレーン
６a,b  バッファ
７a,b  オーディオデコーダ
８  DownMix/DownSample
９a  ミキサー
９b  ミキサー
１０a  スイッチ
１０b  エンコーダ
１１  Interactive Graphicsデコーダ
１２  Interactive Graphicsプレーン
１３  Presentation Graphicsデコーダ
１４  Presentation Graphicsプレーン
１５  JPEGデコーダ
１６  Stillプレーン
１７  合成部
１８a,b  STC生成部
１９a,b  ATC生成部
２１  メモリ
２２  コントローラ
２３  PSRセット
２４  PID変換部
２５  通信部
２６  操作受付部
２７  HDMI送受信部
３１  バッファ
３２  オーディオデコーダ
３３  コントローラ
３４  HDMI送受信部
３５  EEPROM
４０  起動処理部
４１  プレイリスト処理部
４２  Procedure実行部
４３  Procedure実行部
４４  ミキシング制御部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2006088145.tif 000048
【図２】
2006088145.tif 000049
【図３】
2006088145.tif 000050
【図４】
2006088145.tif 000051
【図５】
2006088145.tif 000052
【図６】
2006088145.tif 000053
【図７】
2006088145.tif 000054
【図８】
2006088145.tif 000055
【図９】
2006088145.tif 000056
【図１０】
2006088145.tif 000057
【図１１】
2006088145.tif 000058
【図１２】
2006088145.tif 000059
【図１３】
2006088145.tif 000060
【図１４】
2006088145.tif 000061
【図１５】
2006088145.tif 000062
【図１６】
2006088145.tif 000063
【図１７】
2006088145.tif 000064
【図１８】
2006088145.tif 000065
【図１９】
2006088145.tif 000066
【図２０】
2006088145.tif 000067
【図２１】
2006088145.tif 000068
【図２２】
2006088145.tif 000069
【図２３】
2006088145.tif 000070
【図２４】
2006088145.tif 000071
【図２５】
2006088145.tif 000072
【図２６】
2006088145.tif 000073
【図２７】
2006088145.tif 000074
【図２８】
2006088145.tif 000075
【図２９】
2006088145.tif 000076
【図３０】
2006088145.tif 000077
【図３１】
2006088145.tif 000078
【図３２】
2006088145.tif 000079
【図３３】
2006088145.tif 000080
【図３４】
2006088145.tif 000081
【図３５】
2006088145.tif 000082
【図３６】
2006088145.tif 000083
【図３７】
2006088145.tif 000084
【図３８】
2006088145.tif 000085
【図３９】
2006088145.tif 000086
【図４０】
2006088145.tif 000087
【図４１】
2006088145.tif 000088
【図４２】
2006088145.tif 000089
【図４３】
2006088145.tif 000090
【図４４】
2006088145.tif 000091
【図４５】
2006088145.tif 000092
【国際調査報告】
2006088145.tif 000093
2006088145.tif 000094
2006088145.tif 000095
2006088145.tif 000096