説明

再生装置

【課題】外部機器へストリームをパススルー出力する視聴環境において、外部機器で再生される音声品質が適切に判断できる再生装置を提供する。
【解決手段】基本データと基本データに付加してデコードされる拡張データとからフレームが構成されるオーディオストリームを外部機器のデコーダでデコードする際に、基本データを利用可能か否か及び拡張データを利用可能か否かを示す情報を、外部機器から取得するHDMI送受信部27と、自装置及び外部機器を含む再生環境で基本データをデコードできるかと拡張データをデコードできるかとを夫々フラグで示すPSRセット23と、自装置が拡張データをデコードできず、且つ、取得した情報により外部機器が拡張データをデコードできないと示されている場合、拡張データをデコードできないことを示すフラグをPSRセット23にセットするコントローラ22とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オーディオストリーム再生技術に関する。
【背景技術】
【0002】
AV機器では、映像の高画質化と共に、音声についても高品質化が求められ、多様な音声符号化方式が採用されている。例えばBD(Blu-ray Disc)では、符号化方式や言語の異なる複数(最大32本)のオーディオストリームを記録媒体に記録して、再生装置の性能や使用言語に応じて適した音声の再生を実現している。
オーディオストリームの選択に際しては、従来の視聴環境では、デコーダを備えたプレーヤが記録媒体からストリームを読み出し、自装置のデコーダに適したオーディオストリームを選択しているものが多い。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−282848号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、音声符号化方式は高度化が進み、ロッシーな圧縮から高音質なロスレス圧縮の利用が本格化している。
ロスレス符号化方式のなかにはDTS-HD方式のように、音質が劣る下位のロッシーな符号化方式に対応したデコーダとの互換性を保ちつつ、最新のデコーダではよりロスレスな再生を可能とする符号化方式もある。そのため、DTS-HD方式のような符号化方式を用いる際には、単にデコーダが符号化されたオーディオストリームを再生できるか否かを認識するのみでは、実際にどのような品質で音声再生されるか事前に把握できないという問題がある。
【0005】
特に、テレビやオーディオアンプがそれぞれデコーダを備え、記録媒体からストリームを読み出す供給装置が、記録媒体から読み出したデジタルストリームをデコードすることなく、テレビやオーディオアンプ等の再生装置へ映像や音声のストリームを振り分けて出力するホームシアターシステムのような視聴環境では、ユーザは主に供給装置に対して機器操作を行うため、機器操作に応じて出力されるオーディオストリームの符号化方式を根拠にユーザが期待していた品質で音声が再生されず、ユーザに混乱を招くおそれがある。
【0006】
本発明はかかる問題に鑑み、再生装置から外部機器へデジタルストリームをパススルー出力するような視聴環境において、外部機器で再生される音声の品質が適切に判断できる再生装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係る再生装置は、外部機器と接続された再生装置であって、所定品質の音声データが得られる基本データと、基本データには存在しないデータであって、基本データと共に用いられることにより前記所定品質と異なる品質の音声データが得られる拡張データとからオーディオフレームが構成されるオーディオストリームを、外部機器が有するデコーダにおいてデコードする際に、基本データをデコードすることができるか否か及び拡張データをデコードすることができるか否かを示す情報を、外部機器から取得する取得手段と、自装置及び前記外部機器を含む再生環境で、基本データをデコードすることができるか、拡張データをデコードすることができるかを、夫々フラグで示すレジスタと、自装置が拡張データをデコードすることができず、且つ、前記取得した情報により、外部機器が拡張データをデコードすることができないと示されている場合、前記レジスタに、拡張データをデコードすることができないことを示すフラグをセットする制御手段とを備えることを特徴とする。
【発明の効果】
【0008】
音声符号化方式がDTS−HD方式のように、音質が劣る下位の符号化方式に対応したデコーダとの互換性を保ちつつ、最新のデコーダではより高品質な再生を可能とする符号化方式を用いる場合にも、再生装置から外部機器へオーディオストリームをパススルー出力するような視聴環境において、外部機器におけるオーディオデコードに拡張データを用いることができるか否かが再生装置へ通知されるので、実際にどのような品質で音声再生されるかを、再生装置側で事前に把握することができる。
【図面の簡単な説明】
【0009】
【図1】本発明に係る記録媒体の、使用行為についての形態を示す図である。
【図2】BD-ROMの内部構成を示す図である。
【図3】拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。
【図4】AVClipを構成するTSパケットがどのような過程を経てBD-ROMに書き込まれるかを示す。
【図5】BD-ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。
【図6】AVClipにどのようなエレメンタリストリームが多重化されているかを示す図である。
【図7】Clip情報の内部構成を示す図である。
【図8】PlayList情報のデータ構造を示す図である。
【図9】AVClipと、PlayList情報との関係を示す図である。
【図10】ファイルsound.bdmvの構成を示す図である。
【図11】ローカルストレージ200の内部構成を示す図である。
【図12】SubClipに多重化されるエレメンタリストリームを示す図である。
【図13】BD-ROM規格におけるPID割当マップを示す図である。
【図14】(a)Secondaryオーディオストリームの内部構成を示す図である。 (b)オーディオフレームの一例を示す図である。 (c)メタデータの内部構成を示す図である。 (d)ゲイン制御情報の一例を模式的に示す図である。
【図15】Secondaryオーディオストリーム内のメタデータにより、Primaryオーディオストリームの音量がどのように制御されるかを示す図である。
【図16】PlayList情報のデータ構造を示す図である。
【図17】Subpath情報の内部構成をクローズアップして示す図である。
【図18】ローカルストレージ200上のSubClipと、ローカルストレージ200上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。
【図19】MainClipに対して設定されたEP_map及びPlayItem時間軸と、Primaryオーディオストリーム、SecondaryオーディオストリームとなるSubClipに対して設定されたEP_map及びSubPlayItem時間軸とを集約して示す図である。
【図20】STN_tableの内部構成を示す図である。
【図21】(a)ビデオストリームに対応したStream_attributeを示す図である。 (b)Primaryオーディオストリーム、Secondaryオーディオストリームに対応したStream_attributeを示す図である。 (c)ビデオストリームにおけるStream_entryを示す図である。 (d)SecondaryオーディオストリームにおけるStream_entryを示す図である。 (e)SecondaryオーディオストリームにおけるStream_entryと、Stream_attributeとの組みに対応付けられている、Comb_info_Secondary_audio_Primary_audioの内部構成を示す図である。
【図22】DTS-HD形式のPrimaryオーディオストリームのオーディオフレームにおいて、Stream_attributeの「format_depending_coding_type」におけるBase,Level1,Level2,Level3がそれぞれ、どのようなデータ構造に割り当てられるかを示す図である。
【図23】Comb_info_Secondary_audio_Primary_audioによるPrimaryオーディオストリームの指定を示す図である。
【図24】ストリーム供給装置300により生成されるバーチャルファイルシステムを示す図である。
【図25】本発明に係るオーディオアンプ400の内部構成を示す図である。
【図26】(a)DIBにおいて、音声再生性能に関する部分のデータ構造を模式的に示した図である。 (b)DIBの各フィールドに設定しうる値を示す図である。
【図27】コントローラ34の処理手順を示す図である。
【図28】本発明に係るストリーム供給装置300の内部構成を示す図である。
【図29】Audio InfoFrameのデータ構造を模式的に示した図である。
【図30】コントローラ22を機能的に表現した図である。
【図31】(a)PSR1のビットアサインを示す図である。 (b)PSR14のビットアサインを示す図である。 (c)PSR31のビットアサインを示す図である。
【図32】PSR15のビットアサインを示す図である。
【図33】機器起動時のストリーム供給装置300、オーディオアンプ400間の通信シーケンスを示す。
【図34】起動処理部40の処理手順を示すフローチャートである。
【図35】起動処理部40の処理手順を示すフローチャートである。
【図36】CODING TYPEがDTS-HDである際に、DIBに応じてPSR15におけるPlayer capability for Audioを追加設定する処理手順を示すフローチャートである。
【図37】プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。
【図38】(a)PSR1の設定値が取り得る状態遷移を示す図である。 (b)PSR1のProcedure when playback condition is changedの処理手順を示す図である。
【図39】実際に再生される音声の品質を示すメニューの一例を示す図である。
【図40】ステップS5の詳細な処理手順に示したフローチャートである。
【図41】ストリーム変化時におけるPSR1の設定手順を示すフローチャートである。
【図42】(a)PSR14の設定値が取り得る状態遷移を示す図である。 (b)PSR14のProcedure when playback condition is changedの処理手順を示す図である。
【図43】ステップS35の詳細な処理手順に示したフローチャートである。
【図44】ストリーム変化時におけるPSR14の設定手順を示すフローチャートである。
【図45】変形例に係るDIBのデータ構造を示す図である。
【発明を実施するための形態】
【0010】
以降、本発明に係る再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係るストリーム再生装置の、使用行為についての形態を示す図である。図1において、本発明に係るストリーム再生装置は、オーディオアンプ400である。このオーディオアンプ400は、ストリーム供給装置300、スピーカ500、及びテレビ600と共にホームシアターシステムを形成し、ストリーム供給装置から供給されるオーディオストリームを再生するという用途で使用される。
【0011】
以降、BD-ROM100、ストリーム供給装置300、オーディオアンプ400について説明を行う。
BD-ROM100は、映画作品が記録された記録媒体である。
ストリーム供給装置300は、ネット対応型のデジタル家電機器であり、リモコンを用いたユーザの操作に応じてBD-ROM100に記録された映画作品を読み出し、映像データをテレビ600へ、音声データをオーディオアンプ400へ出力する機能をもつ。本実施形態では、ストリーム供給装置300とオーディオアンプ400とはHDMI(HDMI:High Definition Multimedia Interface)により規定されているI/F規格に準拠して接続されており、ストリーム供給装置300は、BD-ROM100から読み出したオーディオストリームをデコードすることなくオーディオアンプ400へ出力する。以下、オーディオストリームを構成するTSパケットをデコードせずそのエレメンタリーストリームを他の機器に出力することを“パススルー出力”という。
【0012】
また、ストリーム供給装置300内部には、映画配給者のサーバから配信されたコンテンツの受け皿として利用されるハードディスクであるローカルストレージ200が組み込まれており、映画配給者のサーバから、ネットを通じてダウンロードしたコンテンツを、BD-ROM100に記録されたコンテンツと組み合わせて、BD-ROM100のコンテンツを拡張/更新をすることができる。BD-ROM100の記録内容に、ローカルストレージ200の記録内容を組み合わせて、BD-ROM100に記録されていないデータを、恰も、記録されているように扱う技術を“バーチャルパッケージ”という。
【0013】
オーディオアンプ400は、オーディオデコーダを内部に備え、ストリーム供給装置300から供給されるオーディオストリームをデコードし、デコードにより得られるLPCM状態のオーディオデータをスピーカ500へ出力する。
以上が本発明に係る再生装置の使用形態についての説明である。
続いて本発明に係る記録媒体の詳細について説明する。
【0014】
<BD-ROMの概要>
図2は、BD-ROMの内部構成を示す図である。本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。この第1段目においてBD-ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
【0015】
BDMVディレクトリには、拡張子bdmvが付与されたファイル(index.bdmv,MovieObject.bdmv)がある。そしてこのBDMVディレクトリの配下には、更にPLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDBJディレクトリ、BDJAディレクトリ、AUXDATAディレクトリと呼ばれる6つのサブディレクトリが存在する。
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(00001.mpls)がある。
【0016】
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(00001.clpi)がある。
STREAMディレクトリには、拡張子m2tsが付与されたファイル(00001.m2ts)がある。
BDBJディレクトリには、拡張子bobjが付与されたファイル(00001.bobj)が存在する。
BDJAディレクトリには、拡張子jarが付与されたファイル(00001.jar)がある。
AUXDATAディレクトリには、ファイルsound.bdmvが格納される。
【0017】
以上のディレクトリ構造により、互いに異なる種別の複数ファイルが、BD-ROM上に配置されていることがわかる。
<BD-ROMの構成その1.AVClip>
先ず初めに、拡張子.m2tsが付与されたファイルについて説明する。図3は、拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。拡張子.m2tsが付与されたファイル(00001.m2ts)は、AVClipを格納している。AVClipはMPEG2-Transport Stream形式のデジタルストリームである。このデジタルストリームは、デジタル化された映像、デジタル化された音声を(上1段目)、PESパケットからなるエレメンタリストリームに変換し(上2段目)、更にTSパケットに変換して(上3段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(Presentatiion Graphics(PG)ストリーム)及び対話系のインタラクティブグラフィクスストリーム(Interactive Graphics(IG)ストリーム)を(下1段目、下2段目)、更にTSパケットに変換して(下3段目)、これらを多重化することで構成される。
【0018】
PGストリームは、言語毎の字幕を構成するグラフィクスストリームであり、英語、日本語、フランス語というように複数言語についてのストリームが存在する。PGストリームは、PCS(Presentation Control Segment)、PDS(Pallet Define Segment)、WDS(Window Define Segment)、ODS(Object Define Segment)、END(END of Display Set Segment)という一連の機能セグメントからなる。ODS(Object Define Segment)は、字幕たるグラフィクスオブジェクトを定義する機能セグメントである。
【0019】
WDS(Window Define Segment)は、画面におけるグラフィクスオブジェクトの描画領域を定義する機能セグメントであり、PDS(Pallet Define Segment)は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。PCS(Presentation Control Segment)は、字幕表示におけるページ制御を規定する機能セグメントである。かかるページ制御には、Cut-In/Out、Fade-In/Out、Color Change、Scroll、Wipe-In/Outといったものがあり、PCSによるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。
【0020】
IGストリームは、対話制御を実現するグラフィクスストリームである。IGストリームにて定義される対話制御は、DVD再生装置上の対話制御と互換性がある対話制御である。かかるIGストリームは、ICS(Interactive Composition Segment)、PDS(Palette Difinition Segment)、ODS(Object Definition Segment)、END(END of Display Set Segment)と呼ばれる機能セグメントからなる。ODS(Object Definition Segment)は、グラフィクスオブジェクトを定義する機能セグメントである。このグラフィクスオブジェクトが複数集まって、対話画面上のボタンが描画される。PDS(Palette Difinition Segment)は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。ICS(Interactive Composition Segment)は、ユーザ操作に応じてボタンの状態を変化させるという状態変化を実現する機能セグメントである。ICSは、ボタンに対して確定操作がなされた際、実行すべきボタンコマンドを含む。
【0021】
ここでAVClipは、1つ以上の“STC_Sequence”から構成される。“STC_Sequence”とは、AVストリームのシステム基準時刻であるSTC(System Time Clock)の不連続点(system time-base discontinuity)が存在しない区間をいう。STCの不連続点はデコーダがSTCを得るために参照するPCR(Program Clock Reference)を運ぶPCRパケットの不連続情報(discontinuity_indicator)がONである点である。
【0022】
続いて、以上のように構成されたAVClipが、BD-ROMにどのように書き込まれるかを説明する。図4は、AVClipを構成するTSパケットがどのような過程を経てBD-ROMに書き込まれるかを示す。本図の第1段目にAVClipを構成するTSパケットを示す。
AVClipを構成する188バイトのTSパケットは、第2段目に示すように4バイトのTS_extra_header(図中のハッチング部)、が付されて、192バイト長のSourceパケットになる。このTS_extra_headerは、当該TSパケットのデコーダ入力時刻情報を示すArrival_Time_Stampを含む。
【0023】
AVClipを構成するSourceパケットは、第3段目におけるAVClipにおいて、1つ以上の“ATC_Sequence”を構成する。“ATC_Sequence”とは、Sourceパケットの配列であって、そのArrival_Time_Stampが参照しているArrival_Time_Clockに、不連続点(no arrival time-base discontinutiy)が存在しないものをいう。いいかえれば、そのArrival_Time_Stampが参照しているArrival_Time_Clockに、連続性が存在するSourceパケット列を“ATC_Sequence”という。
【0024】
かかるATC_SequenceがAVClipになり、xxxxx.m2tsというファイル名でBD-ROMに記録される。
かかるAVClipは、通常のコンピュータファイル同様、1つ以上のファイルエクステントに分割され、BD-ROM上の領域に記録される。第4段目はAVClipがどのようにBD-ROMに記録されるかを模式的に示す。この第4段目においてファイルを構成する各ファイルエクステントは、予め定められたSextent以上のデータ長を有する。
【0025】
AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Sextentを検討する。
ここでBD-ROMにおいて光ピックアップのジャンプに要する時間は、
Tjump=Taccess+Toverhead
で与えられる。
【0026】
Taccessは、ジャンプ距離(ジャンプする物理アドレスの距離)に応じて与えられる時間である。

BD-ROMから読み出されたTSパケットは、リードバッファと呼ばれるバッファに格納された上、デコーダに出力されるが、リードバッファへの入力が、Rudというビットレートで行われ、ECCブロックにおけるセクタ数をSeccとした場合、
Toverheadは、

Toverhead≦(2×Secc×8)/Rud=20m秒
という計算で与えられる。
【0027】
BD-ROMから読み出されたTSパケットは、Sourceパケットの状態でリードバッファに格納された上、TS_Recording_rateという転送レートで、デコーダに供給される。
TS_Recording_rateという転送レートでの、デコーダへのTSパケット供給が跡絶えさせないなめには、Tjumpの間、リードバッファからデコーダへのTSパケット出力が継続している必要がある。ここでリードバッファからの出力は、TSパケットではなく、Sourceパケットの状態でなされるので、TSパケットのSourceパケットとのサイズ比を192/188とした場合、Tjumpの間、(192/188×TS_Recording_rate)という転送レートにより、リードバッファからのSourceパケット出力が継続している必要がある。
【0028】
従って、リードバッファが、アンダーフローしないためのバッファ蓄積量は、
Boccupied≧(Tjump/1000×8)×((192/188)×TS_Recording_rate)
となる。

リードバッファへの入力レートはRud、リードバッファからの出力レートはTS_Recording_rate×(192/188)であるので、リードバッファへの蓄積レートは、入力レート−出力レートの計算で与えられ、(Rud−TS_Recording_rate×(192/188))になる。
【0029】
このBoccupiedを、リードバッファに蓄積するのに要する時間Txは、

Tx=Boccupied/(Rud−TS_Recording_rate×(192/188))
になる。

BD-ROMからの読み出しには、この時間TxにおいてRudでのTSパケット入力を継続する必要があるので、AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Sextentは、

Sextent=Rud×Tx
=Rud×Boccupied/(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)
になる。
よって
Sextent≧
(Tjump×Rud/1000×8)×
(TS_Recording_rate×192/(Rud×188−TS_Recording_rate×192))

になる。
【0030】
AVClipを構成する各ファイルエクステントは、デコーダのアンダーフローをおこさないように算出されたSextent以上のデータ長をもつことにより、AVClipを構成する各ファイルエクステントが、BD-ROM上において離散的に位置されたとしても、再生時においてデコーダへのTSパケット供給が途絶えさせることなく、連続的に読み出されることになる。
【0031】
図5は、BD-ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。第2段目に示すように、BD-ROM上には複数セクタが形成されている。ファイルエクステントを構成するSourceパケットは、第1段目に示すように、32個毎にグループ化されて、連続する3つのセクタに書き込まれる。32個のSourceパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のSourceパケットを“Aligned Unit”といい、BD-ROMへの書き込みは、Aligned Unit単位でなされる。
【0032】
第3段目においてセクタは、32個単位で誤り訂正符号が付され、ECCブロックを構成する。ストリーム供給装置300はAligned Unitの単位でBD-ROMをアクセスする限り、32個の完結したSourceパケットを得ることができる。以上がBD-ROMに対するAVClipの書き込みのプロセスである。
<エレメンタリストリームの種類>
図6は、AVClipにどのようなエレメンタリストリームが多重化されているかを示す図である。
【0033】
本図に示すように、AVClipには、0x1011のPIDをもつ高画質ビデオストリーム、0x1100から0x111FまでのPIDをもつPrimaryオーディオストリーム、0x1200から0x121FまでのPIDをもつPGストリーム、0x1400から0x141FまでのPIDをもつIGストリームが多重化されている。これらのエレメンタリストリームを構成するパケットは、それに対応するPIDが付与されており、このPIDを手掛かりにして多重分離されることになる。このように、高画質なビデオストリームが多重化されているAVClipを、以下“MainClip”と呼ぶ。これに対し、MainClipと同時に再生されるAVClipを、“SubClip”とよぶ。
【0034】
<BD-ROMの構成その2.Clip情報>
続いて拡張子.clpiが付与されたファイルについて説明する。拡張子.clpiが付与されたファイル(00001.clpi)は、Clip情報を格納している。Clip情報は、個々のAVClipについての管理情報である。図7は、Clip情報の内部構成を示す図である。本図の左側に示すようにClip情報は、

i)AVClipについての情報を格納した『ClipInfo()』、
ii)ATC Sequence,STC Sequenceに関する情報を格納した『Sequence Info()』
iii)Program Sequenceに関する情報を格納した『Program Info()』
iv)『Characteristic Point Info(CPI())』からなる。
【0035】
ClipInfoには、このClip情報が参照するAVClipのアプリケーションタイプ(application_type)がある。アプリケーションタイプによってMainClipかSubClipかや、動画を含んでいるのか静止画(スライドショー)を含んでいるのかなどが識別できる。TS_recording_rateは該当AVClipのシステムビットレート情報である。
Sequence Infoは、AVClipに含まれる、1つ以上のSTC-Sequence、ATC-Sequenceについての情報である。これらの情報を設けておくことの意義は、STC、ATCの不連続点を、予めストリーム供給装置300に通知するためである。つまりかかる不連続点が存在すると、AVClip内において同じ値のPTSが出現する可能性があり、PTS指定での飛び込み再生時に不都合が生じる。STC,ATCが連続しているのは、トランスポートストリームのうち、どこからどこまでであるかを示すため、Sequence Infoは設けられている。
【0036】
Program Infoとは、Program内容が一定である区間(Program Sequence)を示す情報である。Programとは、同期再生のための時間軸を共有し合うエレメンタリーストリーム同士の集まりである。Program Sequence情報を設けておくことの意義は、Program内容の変化点を、予めストリーム供給装置300に通知するためである。ここでのProgram内容の変化点とは、ビデオストリームのPIDが変化したり、ビデオストリームの種類がSDTVからHDTVに変化している点等をいう。
【0037】
続いて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つのエレメンタリストリーム上において、Access Unitが存在するエントリー位置のパケット番号(SPN_EP_start)を、エントリー時刻(PTS_EP_start)と対応づけて示す情報である。図中の引き出し線cu3は、EP_map_for_one_stream_PIDの内部構成をクローズアップしている。
【0038】
これによると、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は、Access Unit(Non-IDR Iピクチャ、IDRピクチャ)のSPN_EP_start及びPTS_EP_startの上位ビットを表す役割をもち、EP_Lowは、Access Unit(Non-IDR Iピクチャ、IDRピクチャ)のSPN_EP_start及びPTS_EP_startの下位ビットを示す役割をもつ。
【0039】
図中の引き出し線cu4は、EP_Highの内部構成をクローズアップしている。この引き出し線に示すように、EP_High(i)は、EP_Lowに対する参照値である『ref_to_EP_Low_id[i]』と、Access Unit(Non-IDR Iピクチャ、IDRピクチャ)のPTSの上位ビットを示す『PTS_EP_High[i]』と、Access Unit(Non-IDR Iピクチャ、IDRピクチャ)のSPNの上位ビットを示す『SPN_EP_High[i]』とからなる。ここでiとは、任意のEP_Highを識別するための識別子である。
【0040】
図中の引き出し線cu5は、EP_Lowの構成をクローズアップしている。引き出し線cu5に示すように、EP_Lowは、対応するAccess UnitがIDRピクチャか否かを示す『is_angle_change_point(EP_Low_id)』と、対応するAccess Unitのサイズを示す『I_end_position_offset(EP_Low_id)』と、対応するAccess Unit(Non-IDR Iピクチャ、IDRピクチャ)のPTSの下位ビットを示す『PTS_EP_Low(EP_Low_id)』と、対応するAccess Unit(Non-IDR Iピクチャ、IDRピクチャ)のSPNの下位ビットを示す『SPN_EP_Low(EP_Low_id)』とからなる。ここでEP_Low_idとは、任意のEP_Lowを識別するための識別子である。
【0041】
<PlayList情報>
続いて、PlayList情報について説明する。拡張子“mpls”が付与されたファイル(00001.mpls)は、PlayList(PL)情報を格納したファイルである。
図8は、PlayList情報のデータ構造を示す図であり、本図において、引き出し線mp1に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())を含む。
【0042】
<PlayList情報の説明その1.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』の組みから構成される。
【0043】
図9は、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とは異なる再生経路の定義が可能になる。
【0044】
以上のClip情報及びプレイリスト情報は、”静的シナリオ”に分類される。何故なら、以上のClip情報及びプレイリスト情報により、静的な再生単位であるプレイリストが定義されるからである。以上で静的シナリオについての説明を終わる。
続いて”動的なシナリオ”について説明する。動的シナリオとは、AVClipの再生制御を動的に規定するシナリオデータである。”動的に”というのは、ホームシアターシステムを構成する機器における状態変化やユーザからのキーイベントにより再生制御の中身がかわることをいう。BD-ROMでは、この再生制御の動作環境として2つのモードを想定している。1つ目は、DVD再生装置の動作環境と良く似た動作環境であり、コマンドベースの実行環境である。2つ目は、Java(登録商標)仮想マシンの動作環境である。これら2つの動作環境のうち1つ目は、HDMVモードと呼ばれる。2つ目は、BD-Jモードと呼ばれる。これら2つの動作環境があるため、動的シナリオはこのどちらかの動作環境を想定して記述される。HDMVモードを想定した動的シナリオはMovie Objectと呼ばれる。一方BD-Jモードを想定した動的シナリオはBD-J Objectと呼ばれる。
【0045】
先ず初めにMovie Objectについて説明する。
<Movie Object>
Movie Objectは、図2に示したMovieObject.bdmvというファイルに格納され、ナビゲーションコマンド列を含む。
ナビゲーションコマンド列は、条件分岐、ストリーム供給装置300における状態レジスタの設定、状態レジスタの設定値取得等を実現するコマンド列からなる。Movie Objectにおいて記述可能なコマンドを以下に示す。
【0046】

PlayPLコマンド
書式:PlayPL(第1引数,第2引数)
第1引数は、プレイリストの番号で、再生すべきプレイリストを指定することができる。第2引数は、そのプレイリストに含まれるPlayItemや、そのプレイリストにおける任意の時刻、Chapter、Markを用いて再生開始位置を指定することができる。
【0047】
PlayItemによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatPlayItem()、
ChapterによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatChapter()、
時刻情報によりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatSpecified Time()という。
【0048】
Movie Objectにおけるナビゲーションコマンドの記述は、DVDにおけるナビゲーションコマンドの記述方式と良く似ているので、DVD上のディスクコンテンツを、BD-ROMに移植するという作業を効率的に行うことができる。Movie Objectについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。
【0049】
国際公開公報W0 2004/074976

以上でMovie Objectについての説明を終える。続いてBD-J Objectについて説明する。

<BD-J Object>
BD-J Objectは、Java(登録商標)プログラミング環境で記述された、BD-Jモードの動的シナリオであり、00001.bobjというファイルに格納される。Movie Objectとの違いは、BD-J Objectにコマンドが直接記述されていない点である。つまりMovie Objectにおいて制御手順は、ナビゲーションコマンドにより直接記述されていた。これに対しBD-J Objectでは、Java(登録商標)アプリケーションに対する指定をアプリケーション管理テーブルに記載することにより、間接的に制御手順を規定している。このような間接的な規定により、複数動的シナリオにおいて制御手順を共通化するという、制御手順の共通化を効率的に行うことができる。
【0050】
またMovieObjectにおけるプレイリスト再生は、プレイリスト再生を命じるナビゲーションコマンド(PlayPlコマンド)の記述によりなされるが、BD-J Objectにおけるプレイリスト再生は、プレイリスト再生手順を示すプレイリスト管理テーブルをBD-J Objectに組み込むことで記述が可能になる。
このBD-JモードにおけるJava(登録商標)アプリケーションについて説明する。ここでBD-Jモードが想定しているJava(登録商標)プラットフォームは、Java(登録商標)2Micro_Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装したものである。
【0051】
この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におけるリモートコントロールナビゲーション機構を含む。
【0052】
これにより、Java(登録商標)アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
このJava(登録商標)アプリケーションの実体にあたるのが、図2におけるBDMVディレクトリ配下のBDJAディレクトリに格納されたJava(登録商標)アーカイブファイル(00001.jar)である。
【0053】
BD-J Objectについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。

国際公開公報W0 2004/045840 A1
W0 2005/036555 A1
W0 2005/036546 A1

以上でBD-J Objectについての説明を終える。
【0054】
<sound.bdmv>
続いてsound.bdmvについて説明する。sound.bdmvは、IGストリームにて描画されたメニューやJava(登録商標)アプリケーションのGUIフレームワークに対して操作がなされた場合、クリック音として出力すべきオーディオデータ(かかるオーディオデータを、サウンドデータという)が格納されるファイルである。
【0055】
図10は、ファイルsound.bdmvの構成を示す図である。ファイルsound.bdmvは、Sound Data()と、Sound Index()とからなる。Sound Data()は、複数のサウンドデータ(sound_data(0),sound_data(1))からなる。これらのサウンドデータのうち、sound_data(0)は、メニューに対する操作時に、第1のクリック音として出力される音源である。sound_data(1)は、メニューに対する操作時に、第2のクリック音として出力される音源である。これらのサウンドデータは、sound_IDと呼ばれる識別子にて指示される。
【0056】
Sound Index()は、サウンド数(number_of_sound_entries)、sound_data(0)に対するインデックス、sound_data(1)に対するインデックス等からなる。
インデックスは、モノラル/ステレオの別などの各サウンドの属性(sound_attributes)、対応するサウンドデータのアドレス(sound_data_start_address)、対応するサウンドデータの連続長(sound_data_length)からなる。
【0057】
図2〜図6に示したように、映画の劇中に使用される音声の音源は、Primaryオーディオストリームとして、AVClip内に多重化される。これは、映画劇中の音声を表すPrimaryオーディオストリームを、ビデオストリームの読み出しと同時に供給するためである。これに対し、ファイルsound.bdmvは、AVClipとは別個のファイルとしてBD-ROMに記録され、ユーザーのメニュー操作に対するクリック音を格納する。ファイルsound.bdmvは、AVClipとは別個のファイルとして記録されるので、AVClipの読み出し中に、サウンドデータを出力させようとすると、ファイルsound.bdmvを読み出すための光ピックアップのジャンプが生じ、AVClipの読み出しが中断せざるを得なくなる。かかる中断が生じれば、AVClip再生に途切れが出る。
【0058】
かかるAVClipの再生途切れを避けるには、AVClipの再生がなされていない時点において、ファイルsound.bdmvを予めバッファにプリロードしておく必要がある。つまりAVClipの再生に先立ち、ファイルsound.bdmv内のサウンドデータを、プリロードしておく必要がある。以上がファイルsound.bdmvについての説明である。

<Index.bdmv>
Index.bdmvは、タイトルを構成する、Movie Object又はBD-J Objectを示すテーブルである。
【0059】
Titleにおいて、あるTitleの構成要素となるMovieObjectはどれであるか、又は、あるTitleの構成要素となるBD-J Objectはどれであるのかを定義する。
Index.bdmvについては、以下の国際公開公報に詳細が記載されている。詳細については、本公報を参照されたい。

国際公開公報WO 2004/025651 A1公報

以上が、BD-ROM100についての説明である。
【0060】
<ローカルストレージ200>
続いて、ローカルストレージ200について説明する。図11は、ローカルストレージ200の内部構成を示す図である。本図に示すように、本発明に係る記録媒体は、応用層に対する改良により、生産することができる。
本図の第4段目にローカルストレージ200を示し、第3段目にローカルストレージ200上のトラックを示す。本図のトラックは、ローカルストレージ200の内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてローカルストレージ200の応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。
【0061】
本図のディレクトリ構造においてROOTディレクトリの配下には、「organization#1」というサブディレクトリがあり、その配下に、「disc#1」というサブディレクトリがある。ディレクトリ「organization#1」とは、映画作品の特定のプロバイダに割り当てられたディレクトリである。「disc#1」は、そのプロバイダが提供したBD-ROMのそれぞれに割り当てられたディレクトリである。
【0062】
特定のプロバイダに対応するディレクトリに、各BD-ROMに対応するディレクトリを設けることにより、各BD-ROMについてのダウンロードデータが個別に格納される。このサブディレクトリの配下に、BD-ROMに格納されていたのと同様、PlayList情報(00002.mpls)、Clip情報(00002.clpi)、AVClip(00002.m2ts),BD-J Object(00002.bobj),Java(登録商標)アーカイブファイル(00002.jar),クリック音データ(sound.bdmv),Movie Object.bdmvが格納されている。
【0063】
続いて、ローカルストレージ200の構成要素となる、PlayList情報、Clip情報、AVClipについての説明する。
<ローカルストレージ200の構成その1.AVClip>
ローカルストレージ200上のAVClip(00002.m2ts)は、SubClipを構成する。SubClipとは、MainClipと同時にデコードされ再生されるエレメンタリストリームを含むAVClipである。かかるSubClipには、『Primaryオーディオストリーム』、『Secondaryオーディオストリーム』、『Presentation Graphics(PG)ストリーム』、『Interactive Graphics(IG)ストリーム』といった種別がある。(以後、SubClipのことをOut-of-MUXストリームと呼ぶことがある。)
本実施形態では、図11に示した00002.m2tsは、Secondaryオーディオストリーム、PGストリーム、IGストリームが1つのSubClipに多重化されているものとする。以降Secondaryオーディオストリームの詳細を説明する。
【0064】
<Out-of-MUXストリームの説明その1.Secondaryストリーム>
『Primaryオーディオストリーム』が、いわゆる主音声となるオーディオストリームであるのに対し、『Secondaryオーディオストリーム』とは、いわゆる副音声となるオーディオストリームである。SubClip再生時において、Secondaryオーディオストリームの音声再生は、Primaryオーディオストリームの再生音声にミキシングされた上で出力に供される。Secondaryオーディオストリームとして扱われる音声には、例えば“コメンタリ音声”がある。Primaryオーディオストリームとなる主音声が、映画作品本編の音声であり、Secondaryオーディオストリームとなる副音声が、映画監督のコメンタリ音声である場合、かかる映画作品本編の音声は、コメンタリ音声がミキシングされた上で出力されることになる。
【0065】
Secondaryオーディオストリームは、ローカルストレージ200にのみ記録され再生に供されるが、BD-ROMには記録されない。Primaryオーディオストリームは、BD-ROMに置かれていても、ローカルストレージ200に置かれていてもよい。またPrimaryオーディオストリームの符号化コーディックは、Secondaryオーディオストリームの符号化コーディックと異なっていてもよい。
【0066】
図12は、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と、一切重複していない。
【0067】
図13は、BD-ROM規格におけるPID割当マップを示す図である。本図によれば、0x0100は、Program_mapに割り当てられ、0x1001はPCRに、0x1011はビデオストリームに、0x1100から0x111FまでのゾーンはPrimaryオーディオストリームに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1A00から0x1A1FまでのゾーンはSecondaryオーディオストリームに割り当てられている。このPID割当マップからもわかるように、Primaryオーディオストリームに割り当てられているゾーンと、Secondaryオーディオストリームに割り当てられているゾーンとが異なっていることがわかる。
【0068】
図14(a)は、Secondaryオーディオストリームの内部構成を示す図である。
本図に示すように、Secondaryオーディオストリームは、複数のオーディオフレームからなる。図14(b)は、オーディオフレームの一例を示す図である。Secondaryオーディオストリームのオーディオフレームは、メタデータを含む。
図14(c)は、メタデータの内部構成を示す図である。メタデータは、本図に示すように、“ダウンミキシング情報”と、“ゲイン制御情報”とからなる。
【0069】
“ダウンミキシング情報”は、ダウンミキシングのための情報である。ダウンミキシングとは、音声の再生チャネル数を符号化チャンネル数よりも少なくする変換であり、ダウンミキシング情報は、ダウンミキシングのための変換係数行列を規定することにより、このダウンミキシングをストリーム供給装置300やオーディオアンプ400等のオーディオ再生を担当する機器に行わせる。5.1chの音声ストリームを2chで再生することなどがダウンミキシングの一例である。
【0070】
“ゲイン制御情報”とは、Primaryオーディオストリーム側の音声出力時のゲインを上げ下げする情報であるが、ここでは下げるだけでよい。図14(d)は、ゲイン制御情報の一例を模式的に示す。このようにSecondaryオーディオストリームのメタデータは、同時に再生されるPrimaryオーディオストリームの出力をリアルタイムに下げることができる。PrimaryオーディオとSecondaryオーディオを重畳する場合には、あらかじめミキシングされるPrimaryオーディオとSecondaryオーディオの対が分かっているため、2本のオーディオのゲインをリアルタイムに制御する必要は無く、Primaryオーディオのゲインだけを下げてSecondaryオーディオのゲインはそのままにミキシング(重畳)することで十分である。
【0071】
尚、ゲイン制御情報は、PlayListMarkのmark_time_stampに指定される時刻より、durationの時間だけ、有効なゲイン制御情報を格納するようにしても良い。
図15は、Secondaryオーディオストリーム内のメタデータにより、Primaryオーディオストリームの音量がどのように制御されるかを示す図である。本図における第1段目は、時間軸を示し、第2段目は、ミキシング可能なPrimaryオーディオストリームの再生出力を示す。第3段目は、Secondaryオーディオストリームの再生出力を示し、第4段目は、Secondaryオーディオストリームに多重化されたメタデータを示す。
【0072】
再生時刻t1にあたるオーディオフレームに配置されたメタデータは、Primaryオーディオストリームの再生出力の音量を全体的に抑えるものであり、再生時刻t2にあたるオーディオフレームに配置されたメタデータは、Primaryオーディオストリームの再生出力の音声を元に戻すものである。再生時刻t1,t2に、かかるメタデータを配置することで、Primaryオーディオストリームとの再生出力の音量と、Secondaryオーディオストリームの再生出力の音量とが合わさり、スピーカを破損させてしまうという事態を避けることができる。
Secondaryオーディオの"ゲイン制御情報“を使ってリアルタイムにミキシングのゲイン調整を行なう場合には、t1からt2までのSecondaryオーディオの各オーディオフレームに格納された”ゲイン制御情報“がPrimaryオーディオのゲインを所定の量だけ下げることを指定していれば良い。特殊再生などでt1からt2の間に飛び込んでミキシング再生を行なうことを想定すれば、常に適切なゲイン制御が可能なこちらの方法の方が都合が良い。
【0073】
<ローカルストレージ200の構成その2.PlayList情報>
続いて、ローカルストレージ200上のPlayList情報について説明する。拡張子“mpls”が付与されたファイル(00002.mpls)は、MainPath、Subpathと呼ばれる2種類の再生経路を束ねたものをPlaylist(PL)として定義する情報である。図16は、PlayList情報のデータ構造を示す図であり、本図に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())と、Subpathを定義するSubpath情報(Subpath())とからなる。かかるPlayList情報の内部構成、及び、PlayItem情報の内部構成は、BD-ROMのものと同じであり、説明を省略する。
【0074】
<PlayList情報の説明その1.Subpath情報>
MainPathが、主映像たるMainClipに定義される再生経路であるのに対し、Subpathは、MainPathと同期すべきSubClipに対して定義される再生経路である。
図17は、Subpath情報の内部構成をクローズアップして示す図である。本図における矢印hc0に示すように各Subpathは、SubClipの類型を示すSubPath_typeと、1つ以上のSubPlayItem情報(・・・SubPlayItem()・・・)とを含む。
【0075】
図中の引き出し線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を一意に指定する情報である。
【0076】
『Clip_codec_identifier』は、AVClipの符号化方式を示す。
『ref_to_STC_id[0]』は、このPlayItemが対象としているSTC_Sequenceを一意に示す。
『SubPlayItem_In_time』は、SubClipの再生時間軸上における、SubPlayItemの始点を示す情報である。
『SubPlayItem_Out_time』は、SubClipの再生時間軸上における、SubPlayItemの終点を示す情報である。
【0077】
『sync_PlayItem_id』は、MainPathを構成するPlayItemのうち、本SubPlayItemが同期すべきものを一意に指定する情報である。SubPlayItem_In_timeは、このsync_PlayItem_idで指定されたPlay Itemの再生時間軸上に存在する。
『sync_start_PTS_of_PlayItem』は、sync_PlayItem_idで指定されたPlay Itemの再生時間軸上において、SubPlayItem_In_timeで指定されたSubPlayItemの始点が、どこに存在するかを示す。
【0078】
<Subpath情報の詳細その1.SubPath_type>
続いてSubPath_typeについて説明する。SubPath_typeは、0から255までの値に設定されることにより、SubPath情報により定義されるSubPathがどのような再生経路であるのかを示す。
SubPath_typeが5に設定されている場合、このSubPath情報により定義されるSubPathは、Primaryオーディオ再生パスであることを示す。このPrimaryオーディオ再生パスは、MainPath(PlayItem)にて参照されるPrimaryオーディオに置き換えて再生されるべきオーディオストリームがSubPath(SubPlayItem)内に格納されているときに使われる。
【0079】
SubPath_typeが6に設定された場合、本SubPath情報は、追加・置換のためのPresentation Graphics再生パスを定義していることを示す。何に対する追加・置換であるかというと、PlayItem情報にて再生され得るPGストリームに対して、追加・置換され得るPGストリームである。
SubPath_typeが7に設定された場合、本SubPath情報は、追加・置換のためのIntaractive Graphics再生パスを定義していることを示す。何に対する追加・置換であるかというと、PlayItem情報にて再生され得るIGストリームに対して、追加・置換され得るIGストリームである。
【0080】
SubPath_typeが8に設定された場合、SubPath情報はSecondaryオーディオ再生パスを定義する旨を示す。このSecondaryオーディオ再生パスは、追加のために定義されている。何に対する追加かというと、PlayItem情報にて再生され得るPrimaryオーディオの再生音声にミキシングされるべきSecondaryオーディオである。
例えば、PrimaryオーディオとSecondaryオーディオのミキシング再生を行う場合には、2つのオーディオデコーダとミキサーを動作させる必要があるため、通常のPrimaryオーディオだけを再生する場合とは要求が異なり、前もってプレイヤがどのような再生タイプかを取得できる必要がある。このために、SubPath_typeやSTN_tableのPIDによって、同期再生すべきSecondaryオーディオが存在することを再生前にプレイヤに通知することが可能となる。
【0081】
以上がSubPath_typeについての説明である。
<SubPath情報についての詳細その2.三者の関係>
ここでの三者とは、ローカルストレージ200上のSubClip、ローカルストレージ200上のPlayList情報、BD-ROM上のMainClipの三者をいう。
図18は、ローカルストレージ200上のSubClipと、ローカルストレージ200上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。本図において第1段目は、ローカルストレージ200上に存在するSubClipを示す。この第1段目に示すように、ローカルストレージ200上のSubClipには、Secondaryオーディオストリーム、PGストリーム、IGストリームといった種別がある。これらのうち何れかが、SubPathとして同期再生に供されることになる。
【0082】
第2段目は、PlayList情報により定義される2つの時間軸を示す。第2段目のうち下側の時間軸は、PlayItem情報により定義されるPlayItem時間軸を示し、上側の時間軸はSubPlayItemにより定義されるSubPlayItem時間軸を示す。
本図に示すように、SubPlayItem情報のSubPlayItem_Clip_information_file_nameは、STREAMディレクトリに格納された.m2tsファイルのうち、どれを再生区間指定の対象として選ぶかという、SubClip選択の役割を果たしていることがわかる。
【0083】
そしてSubPlayItem.IN_time、SubPlayItem.Out_timeは、SubClip上の、再生区間の始点及び終点を定義するという役割を果たしていることがわかる。
矢印Sync_PlayItem_Idは、どのPlayItemとの同期を意図しているかという同期指定の役割を果たし、sync_start_PTS_of_PlayItemは、PlayItem時間軸上におけるSubPlayItem_In_timeの位置を決める役割を果たす。
【0084】
図19は、MainClipに対して設定されたEP_map及びPlayItem時間軸と、SubClipに対して設定されたEP_map及びSubPlayItem時間軸とを集約して示す図である。
本図の中段、下4段〜下1段は、図9に示したPlayItem時間軸、ピクチャ列、MainClip時間軸、EP_map、TSパケット列を示す。
また上1段目〜上3段目は、TSパケット列、EP_map、SubClip時間軸を示す。上4段目は、SubPlayItem時間軸を示す。
【0085】
以上が、SubPath情報についての説明である。
<STN_table>
このローカルストレージ200におけるPlayList情報において特徴的であるのは、STN_Tableである。以降、ローカルストレージ200上の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と対応付けることで構成される。
【0086】
図20は、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)を示すデータ構造になっている。
【0087】
entry-attributeの組みは、図中の括弧記号”{”に示すように、Play Itemにおいて再生可能なビデオストリーム、Primaryオーディオストリーム、Secondaryオーディオストリーム、PGストリーム、IGストリームのそれぞれに対応している。特に注意すべきは、SecondaryオーディオストリームにおけるStream_entryと、Stream_attributeとの組みが、Comb_info_Secondary_audio_Primary_audioと対応付けられている点である。
【0088】

entry−attributeの詳細について説明する。
図21(a)は、ビデオストリームに対応したStream_attributeを示す図である。
ビデオストリームにおけるStream_attributeは、ビデオストリームの表示方式を示す『Video_format』と、ビデオストリームの表示周波数を示す『frame_rate』等を含む。
【0089】
図21(b)は、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_language code』からなる。
【0090】
format_depending_coding_typにおいて、オーディオフレームの構成は、Base,Level1,Level2,Level3という、4つのパラメータの何れかを用いて規定される。図22は、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に対応したデコーダでないと再生ができない。
【0091】
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は、Core Substreamと共に用いることで、5.1Ch,96KHzの音声再生が可能となるオーディオデータを格納することができる。DTS-HDのXLLは、Core Substreamと共に用いることで、192kHz/マルチチャンネルロスレスの音声再生が可能となるオーディオデータを格納することができる。
【0092】
「format_depending_coding_type」にBaseが設定されている場合、オーディオフレームがCore SubstreamであるCOREのみから構成されていることが示される。「format_depending_coding_type」にLevel1が設定されている場合、オーディオフレームがCore SubstreamであるCOREとExtension SubstreamであるXCHとから構成されたDTS-ES形式であることが示される。「format_depending_coding_type」にLevel2が設定されている場合、オーディオフレームがCore SubstreamであるCOREとExtension SubstreamであるX96とから構成されたDTS-96/24形式であることが示される。「format_depending_coding_type」にLevel3が設定されている場合、オーディオフレームがCore SubstreamであるCOREとExtension SubstreamであるXLLとから構成されたDTS-HD形式であることが示される。
【0093】
尚、上記ではCore SubstreamにはDTSオーディオストリームのCOREだけが格納されるとして説明したが、「format depending coding type」にはCore SubstreamとExtension Substreamを区別せずに、DTS(CORE)、DTS-ES(XCH)、DTS-96/24(X96)、DTS-HD(XLL)のどの拡張データが含まれているかを示すようにしても良い。
図21(c)は、ビデオストリームにおけるStream_entryを示す図である。本図に示すように、ビデオストリームのStream_entryは、ビデオストリームの多重分離に用いられるPIDを示す「ref_to_Stream_PID_of_Main_Clip」を含む。
【0094】
MainClipにて多重化されているPrimaryオーディオストリーム、IGストリーム、PGストリームのStream_entryは、この図21(c)の形式になっている。
図21(d)は、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』を含む。
【0095】
図21(e)は、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]とからなる。
【0096】
図23は、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オーディオストリームをミキシングするというような、音声属性に応じた、ミキシングの可否を、オーサリング時に設定しておくことができる。
【0097】
以上がローカルストレージ200の構成たるPlayList情報についての説明である。以上で、ローカルストレージ200についての説明を終える。

<バーチャルパッケージ>
以降、バーチャルパッケージについて説明する。図24は、ストリーム供給装置300により生成されるバーチャルパッケージを示す図である。本図の左上は、BD-ROMの記録内容を示し、左下は、ローカルストレージ200の記録内容を示す。右側は、バーチャルパッケージの構成を示す。
【0098】
ストリーム供給装置300は、BD-ROMに存在するAVClip、Clip情報、PlayList情報に、ローカルストレージ200に存在するAVClip、Clip情報、PlayList情報を組み合わせて、仮想的な1つの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ディレクトリに仮想的に追加することでなされる。
【0099】
こうすることにより、図24の右側に示すようなバーチャルパッケージが構成される。
以上が記録媒体についての説明である。続いて本発明に係るオーディオアンプ400について説明する。
図25は、本発明に係るオーディオアンプ400の内部構成を示す図である。本発明に係るオーディオアンプ400は、本図に示す内部構成に基づき、工業的に生産される。本発明に係るオーディオアンプ400は、主としてシステムLSIを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、オーディオアンプ400の機能を果たす様々な処理部を集積した集積回路である。こうして生産されるオーディオアンプ400は、バッファ31、オーディオデコーダ32、Mixer33、コントローラ34、HDMI送受信部35、EEPROM36から構成される。
【0100】
バッファ31は、HDMI送受信部35で受信したデータのうち、Primaryオーディオストリームを、先入れ先だし式に格納して、オーディオデコーダ32に供する。
オーディオデコーダ32は、バッファ31に格納されたPrimaryオーディオストリームに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得てMixer33へ出力する。
【0101】
Mixer33は、オーディオデコーダ32から出力されたデジタルオーディオを、オーディオアンプ400に接続されているスピーカ500のスピーカ数や配置(以下、スピーカ構成という)に応じたチャンネル数となるように変換し、各スピーカへ割り当てて出力する。例えば、デコードして得られた5.1chのデジタルオーディオを接続されたスピーカ数(2.1chなど)に減らして出力することもあれば、デコードして得られた2chのデジタルオーディオを接続されたスピーカ数(5.1chなど)に増やして出力することもある。
【0102】
コントローラ34は、CPUが命令ROMに記録されているプログラムを読み出して実行することで、オーディオアンプ400の動作を制御する。
HDMI送受信部35は、HDMIを介して接続されたストリーム供給装置300へ自装置の機器性能を示す情報を送信する。また、HDMI送受信部35は、HDMIを介したストリーム供給装置300からのオーディオデータの受信を行なう。
【0103】
EEPROM36は、HDMI送受信部35がストリーム供給装置300へ通知する、自装置の機器性能を示す情報(以下、DIB(Decoder Infomation Block))を保持している不揮発性メモリである。DIBとしては、EIA/CEA-861Bに規定されたE-EDID(ENHANCED EXTENDED DISPLAY IDENTIFICATION DATA)等を用いることができる。図26(a)は、DIBにおいて、音声再生性能に関する部分のデータ構造を模式的に示した図である。
【0104】
本図に示すようにDIBは、音声再生性能に関する情報として、「CODING TYPE」、「Format depending coding type」、「Channel Count」、「Channle/Speaker Allocation」、及び「Sample Frenquency」の各フィールドを含む。
図26(b)は、DIBの各フィールドに設定しうる値を示す。
「CODING TYPE」は、オーディオデコーダ32でデコードすることができる符号化方式が、DTS-HD、MLP、DD+などのうち、どれであるかを示す。
【0105】
「Format depending coding type」は、「CODING TYPE」によりDTS-HDのデコードが可能であると示される場合に、DTSオーディオストリームの拡張規格であるDTS-HDオーディオストリームの拡張データを、どのレベルまでデコード可能であるかを示す。拡張データをデコード可能なレベルは、Base,Level1,Level2,Level3という、4つのパラメータの何れかを用いて規定される。
【0106】
「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」などの再生することができるサンプリング周波数示す。
【0107】
以下、「Format depending coding type」の詳細について説明する。
「Format depending coding type」におけるBase,Level1,Level2,Level3はそれぞれ、DTS-HDに対して、図22に示すように、BaseはDTS(CORE)に割り当てられ、Level1はDTS-ES(CORE+XCH)、Level2はDTS-96/24(CORE+X96)に割り当てられ、Level3はDTS-HD(CORE+XLL)に割り当てられる。そこで「Format depending coding type」にBaseが設定されている場合、オーディオデコーダ32がDTS-HD形式のオーディオストリームのデコードにDTS(のCORE)のみをデコードすることが可能であることが示される。「Format depending coding type」にLevel1が設定されている場合、オーディオデコーダ32がDTS-HD形式のオーディオストリームのデコードにDTS-ES(CORE+XCH)までデコードできることが示される。「Format depending coding type」にLevel2が設定されている場合、オーディオデコーダ32がDTS-HD形式のオーディオストリームのデコードにDTS-96/24(CORE+X96)までデコードできることが示される。「Format depending coding type」にLevel3が設定されている場合、オーディオデコーダ32がDTS-HD形式のオーディオストリームのデコードにDTS-HD(CORE+XCH+X96+XLL)までデコードできることが示される。
【0108】
以上が、本実施形態に係るオーディオアンプ400のハードウェア構成である。続いて本実施形態に係るオーディオアンプ400のソフトウェア構成について説明する。CPUが命令ROMに記録されたソフトウェアを読み出して実行することで、コントローラ34は、オーディオアンプの音声再生を制御する。図27は、コントローラ34の処理手順を示す図である。
【0109】
ステップS401は、装置起動がなされたかか否かの起動待ち判定であり、もし起動されれば、HDMIを介した接続相手の機器の認証を行う(ステップS402)。この認証により、相互の正当性が判明すれば、ステップS403に移行する。ステップS403で、ストリーム供給装置300へのEEPROM36が保持しているDIBの送信処理をHDMI送受信部35に実行させた後は、ステップS404に移行する。ステップS404は、オーディオストリームの受信待ちループであり、もしオーディオストリームを受信すれば(ステップS404でyes)、音声再生を開始する(ステップS405)。
【0110】
以上が、本実施形態に係るオーディオアンプ400についての説明である。続いて本発明に係るストリーム供給装置300について説明する。
図28は、本発明に係るストリーム供給装置300の内部構成を示す図である。本発明に係るストリーム供給装置300は、本図に示す内部構成に基づき、工業的に生産される。本発明に係るストリーム供給装置300は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、ストリーム供給装置300の機能を果たす様々な処理部を集積した集積回路である。こうして生産されるストリーム供給装置300は、BD-ROMドライブ1a、バス1b、リードバッファ2a,b、デマルチプレクサ3a,b、ビデオデコーダ4、ビデオプレーン5、バッファ6a,b、オーディオデコーダ7a,b、DownMix/DownSample8、ミキサー9a、ミキサー9b、スイッチ10a、エンコーダ10b、Interactive Graphicsデコーダ11、Interactive Graphicsプレーン12、Presentation Graphicsデコーダ13、Presentation Graphicsプレーン 14、JPEGデコーダ15、Stillプレーン16、合成部17、STC生成部18a,b、ATC生成部19a,b、メモリ21、コントローラ22、PSRセット23、PID変換部24、通信部25、操作受付部26、HDMI送受信部27から構成される。
【0111】
BD-ROMドライブ1aは、BD-ROMのローディング/イジェクトを行い、BD-ROMディスクに対するアクセスを実行する。
バス1bは、BD-ROMから読み出されたTSパケット、ローカルストレージ200から読み出されたTSパケットが転送される。
リードバッファ2aは、FIFOメモリであり、BD-ROMディスク100またはローカルストレージ200から読み出されたTSパケットが先入れ先出し式に格納される。
【0112】
リードバッファ2bは、FIFOメモリであり、ローカルストレージ200から読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ3aは、バスに伝送しているTSパケットのうち、0x1011,0x1100〜0x111F,0x1200〜0x121F,0x1400〜141FのPIDをもつTSパケットのうち、PID変換部24から通知されたPIDをもつものを、夫々ビデオデコーダ4、スイッチ10a、Interactive Graphicsデコーダ11、Presentation Graphicsデコーダ13に出力する。
【0113】
デマルチプレクサ3bは、バス1bに伝送しているTSパケットのうち、0x1A00〜0x1A1FのPIDをもつもの、即ち、Secondaryオーディオストリームを構成するTSパケットの多重分離を行う。デマルチプレクサ3bによるSecondaryオーディオストリームの多重分離は、STN_tableに含まれるSecondaryオーディオストリームのstream_entryのうち、PSR14に格納されているストリーム番号に対応するものに記述されているPIDの参照値と、バス1bに転送されているTSパケットのPIDとを比較し、当該比較において一致するPIDをもつTSパケットを、スイッチ10aに出力することでなされる。再生可能なSecondaryオーディオストリームが1つだけである場合、上述した比較は、stream_entryに記述されているPID参照値の上位バイト“1A”と、バス1bに転送されているTSパケットのPIDの上位バイト“1A”との比較で足りる。何故なら、他にSecondaryオーディオストリームが存在しないので、Secondaryオーディオストリームであることを意味するPID上位バイトを参照すれば充分だからである。
【0114】
再生可能なSecondaryオーディオストリームが複数存在する場合、上述した比較は、stream_entryに記述されているPID参照値の上位バイト“1A”と、バス1bに転送されているTSパケットのPIDの上位バイト“1A”との比較に加え、stream_entryに記述されているPID参照値の下位バイト(0x00から0x1Fまでの数値)と、バス1bに転送されているTSパケットのPIDの下位バイト(0x00から0x1Fまでの数値)との比較が必要になる。何故なら、Secondaryオーディオストリームが複数存在するので、再生すべきSecondaryオーディオストリームを一意に特定するように、PIDの下位バイトまで参照する必要があるからである。
【0115】
ここでバス1bには、BD-ROMから読み出されたTSパケット、ローカルストレージ200から読み出されたTSパケットが転送されているので、デマルチプレクサ3a、デマルチプレクサ3bは、これらBD-ROMから読み出されたTSパケット、ローカルストレージ200から読み出されたTSパケットを、1本のトランスポートストリームとして扱ってバッファに取り込むことができる。Primaryオーディオストリームを構成するTSパケット、Secondaryオーディオストリームを構成するTSパケットに割り当てられているPIDは、PID割当マップにおいて、異なるゾーンに存在しているのでデマルチプレクサ3a、デマルチプレクサ3bは、これらを1つとして、取り込みつつもこれらPrimaryオーディオストリーム、Secondaryオーディオストリームを別々のエレメンタリストリームとして出力することができる。この際、デマルチプレクサ3a、デマルチプレクサ3bは、1つのトランスポートストリームに多重化されている複数のオーディオストリームを多重分離するのと同じ手順を経ることにより、デコーダに供給することができるので、1つのトランスポートストリームから所定のPIDを持つTSパケットだけを多重分離するようなデマルチプレクサと互換を保つ構成で、Primaryオーディオストリーム、Secondaryオーディオストリームを、該当するデコーダに供給することができる。
【0116】
尚、実装上デマルチプレクサを1つに集約することが考えられる。この場合にもPrimaryオーディオとSecondaryオーディオのPIDが異なることが同様に有効である。
以上が、BD-ROMドライブ1a、バス1b〜デマルチプレクサ3a、デマルチプレクサ3bについての説明である。
ビデオデコーダ4は、デマルチプレクサ3aから出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン5に書き込む。
【0117】
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、ストリーム供給装置300において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
【0118】
バッファ6aは、デマルチプレクサ3aから出力されたTSパケットがスイッチ10aを介して供給される場合に、PID=0x1100〜111Fのうち再生されるべきオーディオストリームのPIDを有するTSパケットを、先入れ先だし式に格納して、オーディオデコーダ7aに供する。
バッファ6bは、デマルチプレクサ3bから出力されたTSパケットがスイッチ10aを介して供給される場合に、PID=0x1A00〜1A1Fを有するTSパケットのうち再生されるべきオーディオストリームのPIDを有するTSパケットのみを、先入れ先だし式に格納して、オーディオデコーダ7bに供する。
【0119】
バッファ6cは、BD-ROM/ローカルストレージから読み出されたファイルsound.bdmvをプリロードしておくためのメモリである。バッファ6cへのプリロードは、BD-ROMのローディング時やタイトル切替時に行うことが望ましい。何故なら、AVClipの再生中にファイルsound.bdmvを読み出そうとすると、AVClipとは別のファイルを読み出すための光ピックアップのシークが発生するからである。一方、BD-ROMの装填時やタイトル切替時には、AVClipの再生が継続していることは希なので、かかるタイミングにファイルsound.bdmvを読み出すことにより、機器の応答性を高めAVClip再生が途切れにくくすることができる。
【0120】
オーディオデコーダ7aは、バッファ6aに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりPrimaryオーディオストリームにおけるデジタル出力がなされる。
オーディオデコーダ7bは、バッファ6bに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりSecondaryオーディオストリームにおけるデジタル出力がなされる。
【0121】
DownMix/DownSample8は、ミキシングを行うにあたって、オーディオデコーダ7aから出力されたデジタルオーディオの音声属性を、オーディオデコーダ7bから出力されるデジタルオーディオの音声属性に合わせるための変換を施す。ここで音声属性とは、サンプリング周波数かつ/またはチャンネル数であり、これらを整合させる処理がなされる。またDownMix/DownSample8もしくはミキサー9aは、Secondaryオーディオストリームに多重化されている、メタデータに従い、Primaryオーディオストリーム側のゲインを下げたりする処理もオーディオデコーダ7bが抽出したゲイン制御情報によって行う。
【0122】
ミキサ9aは、オーディオデコーダ7aから出力されるLPCM状態のデジタルオーディオと、オーディオデコーダ7bから出力されるLPCM状態のデジタルオーディオとをミキシングする。
ミキサ9bは、ミキサ9aから出力されるLPCM状態のデジタルオーディオと、バッファ6cに格納されているサウンドデータとをミキシングする。このサウンドミキサ9bによるミキシングは、クリック音の発音を意図したようなナビゲーションコマンド、又は、クリック音の発音を意図したようなバイトコードを、CPU22が解読することでなされる。
【0123】
スイッチ10aは、デマルチプレクサ3aにより多重分離がなされた、Primaryオーディオストリームを構成するTSパケット、デマルチプレクサ3bにより多重分離がなされたSecondaryオーディオストリームを構成するTSパケットを、オーディオデコーダ7a,bに供給するか、オーディオデコーダ7a,bに供給せずそのエレメンタリーストリームだけを他機器にパススルー出力するかを、コントローラ22の制御に応じて切り換えるスイッチである。本実施形態においては、スイッチ10aは、Primaryオーディオストリームを構成するTSパケット及びSecondaryオーディオストリームを構成するTSパケットを、バッファ6a,bを介してオーディオデコーダ7a,bへ供給することなく、それらのエレメンタリーストリーム(もしくはPrimaryオーディオストリームのみ)をHDMI送受信部27へ供給する。これによりストリーム供給装置300は音声データをパスルー出力するよう動作する。パススルー出力の際に用いる、TSパケットからエレメンタリーストリームへの変換部(TS/PESヘッダの除去を行う)はスイッチ10aに組み込まれている。(図示はしていない)
エンコーダ10bは、オーディオデコーダ7a,bのデコードにより得られ、ミキサー9a、ミキサー9bによるミキシングがなされたLPCM状態のオーディオデータを、サラウンド音声としてS/PDIFのようなデジタルインターフェース上で送る場合、ミキシングされたLPCMをDolby Digital(DD)形式やDigital Theater System(DTS)形式に圧縮符号化する。
【0124】
Interactive Graphics(IG)デコーダ11は、BD-ROM100又はローカルストレージ200から読み出されたIGストリームをデコードして、非圧縮グラフィクスをIGプレーン12に書き込む。
Interactive Graphics(IG)プレーン12は、IGデコーダ11によるデコードで得られた非圧縮グラフィクスが書き込まれる。またBD-Jモードにおいて、アプリケーションにより描画された文字やグラフィクスが書き込まれる。
【0125】
Presentation Graphics(PG)デコーダ13は、BD-ROM又はローカルストレージ200から読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン14に書き込む。PGデコーダ13によるデコードにより、字幕が画面上に現れることになる。
Presentation Graphics(PG)プレーン14は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
【0126】
JPEGデコーダ15は、BD-ROM又はローカルストレージ200に記録されているJPEGデータをデコードして、Stillプレーン16に書き込む。
Stillプレーン16は、JPEGデータを展開することで得られた非圧縮のグラフィクスデータが格納されるプレーンである。このグラフィクスデータは、Java(登録商標)アプリが描画する、GUIフレームワークのいわゆる“壁紙”として用いられる。
【0127】
合成部17は、Interactive Graphicsプレーン12の格納内容と、Presentation Graphicsプレーン14の格納内容と、ビデオプレーン5の格納内容と、Stillプレーン16の格納内容とを合成した合成画像を得る。
STC生成部18a,bは、コントローラ22の指示によってSystem Time Clock(STC)を生成し各デコーダの動作タイミングを調整する。
【0128】
ATC生成部19a,bは、コントローラ22の指示によってArrival Time Clock(ATC)を生成しデマルチプレクサの動作タイミングを調整する。 メモリ21は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMに記録されている複数PlayList情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROM/ローカルストレージに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
【0129】
コントローラ22は、MovieObject.bdmvに格納されているMovie Objectや、BD-J Objectにて参照されているJava(登録商標)アプリケーションを解読し、この解読結果に従ったプレイリスト再生(カレントPlayList情報に従った再生制御のことである)を実行することで、BD-ROMの再生制御を実現する。また上述のようなATS、STCの制御も行なう。尚、コントローラ22は、オーディオアンプが接続され再生可能なことがHDMI接続機器間の認証やDIBの受信により判明している場合には、HDMI送受信部27及びS/PDIF等のI/Fユニットからテレビ600へ出力するオーディオデータを削除するか、または無音のオーディオデータを出力するよう制御するとしてもよい。これによりホームシアターシステム環境での視聴中に、テレビ600内蔵のスピーカから音声が再生されることを防ぐことができる。
【0130】
PSRセット23は、ストリーム供給装置300に内蔵されるレジスタであり、64個のPlayer Setting/Status Register(PSR)と、4096個のGeneral Purpose Register(GPR)とからなる。Player Setting/Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
PID変換部24は、PSRセット23に格納されているPrimaryオーディオストリーム、Secondaryオーディオストリームのストリーム番号を、STN_Tableに基づき、PIDに変換して、変換結果たるPIDをデマルチプレクサ3a、デマルチプレクサ3bに指示する。
【0131】
通信部25は、読出装置における通信機能を実現するものであり、BD-JモードにおいてURL指定がJava(登録商標)アプリケーションから与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードをJava(登録商標)アプリケーションに行わせる。
操作受付部26は、リモコンに対してなされた操作をユーザから受け付け、そうした操作を示すUser Operation情報をコントローラ22に通知する。
【0132】
HDMI送受信部27は、HDMIを介して接続された他の機器から、その機器に関する情報を受信してコントローラ22に通知すると共に、受信した情報に基づいて、HDMIを介して接続された他の機器へのデータ送信を制御する。本実施形態では、ストリーム供給装置300がテレビ600及びオーディオアンプ400とそれぞれ異なるHDMIケーブルで接続されており、HDMI送受信部27は、ビデオデコーダ4のデコードにより得られたデジタル非圧縮のビデオをテレビ600へ送信し、LPCMや圧縮されたオーディオデータを、オーディオアンプ400へ送信するよう制御する。オーディオストリームの送信時に、HDMI送受信部27は、現在送信中のオーディオストリームの詳細を示すAudio InfoFrameを送信する。図29は、Audio InfoFrameのデータ構造を模式的に示した図である。
【0133】
本図に示すようにAudio InfoFrameは、送信中のオーディオストリームの符号化方式を示す「CT」、チャネル数を示す「CC」、サンプリング周波数を示す「SF」、サンプリングサイズを示す「SS」、CTにより示される符号化方式がDTSである場合に、オーディオフレームの階層構成を示す「Format depending coding type」、各スピーカへのチャンネル割り当てを示す「CA」、ダウンミキシングの際に用いるレベルシフト値を示す「LSV」、及びダウンミキシングの可否を示す「DM_INA」の各フィールドを含む。
【0134】
ここで「Format depending coding type」の値が00000001bであればオーディオフレームがDTS(CORE)のみから構成されていることが示される。「Format depending coding type」の値が00000011bであればオーディオフレームがDTS-ESであり、CORE+XCHから構成されていることが示される。「Format depending coding type」の値が00000101bであればオーディオフレームがDTS-96/24であり、CORE+X96から構成されていることが示される。「Format depending coding type」の値が00001001bであればオーディオフレームがDTS-HDであり、CORE+XLLから構成されていることが示される。つまりビット位置ごとに、どのような拡張フレームデータ(XCH,X96,XLLなど)があるかを識別できるようになっている。
【0135】
これによりオーディオストリームがDTS形式である場合に、オーディオストリームにどのような拡張データが含まれているかをオーディオアンプ400へ詳細に通知することができる。
以上が、本実施形態に係るストリーム供給装置300のハードウェア構成である。続いて本実施形態に係るストリーム供給装置300のソフトウェア構成について説明する。
【0136】
図28に示したコントローラ22を、機能的に表現すると、図30のようになる。図30は、コントローラ22を機能的に表現した図であり、本図に示すようにコントローラ22は、起動処理部40、プレイリスト処理部41、Procedure実行部42、Procedure実行部43、ミキシング制御部44、ATC生成部19a,b、STC生成部18a,bに対して、ATC/STCの生成を行わせるATC/STC制御部から構成される。
【0137】
これらの構成要素の処理は、PSRセット23に基づく。以降、PSR1、PSR14、PSR31について説明する。
<PSR1>
図31(a)は、PSR1のビットアサインを示す図である。
本図によると、32ビット長のPSR1の下位8ビット(b0〜b7)は、ストリーム番号であり、カレントPlay ItemのSTN_tableにentryが記述されている複数Primaryオーディオストリームのうち、1つを特定する。PSR1の設定値が変化すれば、ストリーム供給装置300はこの変化後のPrimaryオーディオストリームを再生の対象に特定する。PSR1は初期値として0xFFが設定されており、ストリーム供給装置300により1〜32の値に設定されうる。この0xFFは、不定値であり、Primaryオーディオストリームが存在しない旨、又は、Primaryオーディオストリームが選択されてない旨を示す。1〜32の設定値は、Primaryオーディオストリームのストリーム番号として解釈される。
【0138】
<PSR14>
図31(b)は、PSR14のビットアサインを示す図である。
本図によると、32ビット長のPSR14における下位8ビット(b0〜b7)は、ストリーム番号であり、カレントPlay ItemのSTN_tableにentryが記述されている複数Secondaryオーディオストリームのうち、1つを特定する。PSR14の設定値が変化すれば、ストリーム供給装置300はこの変化後のSecondaryオーディオストリームを再生の対象に特定する。PSR14は初期値として0xFFが設定されており、ストリーム供給装置300により1〜32の値に設定されうる。この0xFFは、不定値であり、Secondaryオーディオストリームが存在しない旨、又は、Secondaryオーディオストリームが選択されてない旨を示す。1〜32の設定値は、Secondaryオーディオストリームのストリーム番号として解釈される。
【0139】
<PSR31>
図31(c)は、PSR31のビットアサインを示す図である。
本図によると、32ビット長のPSR31のうち、16ビット目から19ビット目まで(b16〜b19)は、Player Profile情報であり、0000bであれば、当該ストリーム供給装置は、グレースピリオド内に出荷されたストリーム供給装置であることを示す。ここでグレースピリオドとは、この期間内に出荷されたなら、一定の機能の実装を省くことができる期間である。このグレースピリオドに出荷するため、省略することができる機能には、音声のミキシング機能があり、かかるPSR31のPlayer Profile情報が、0000bであれば、ミキシングを始めとする、様々な機能の実装が省略されているストリーム供給装置であると、知ることができる。
【0140】
Player Profile情報が0001bであれば、当該ストリーム供給装置は、グレースピリオド経過後に出荷されたストリーム供給装置であることを示す。グレースピリオドの経過後に出荷されたストリーム供給装置は、原則として、全ての機能の実装が義務付けられているので、かかるPlayer Profile情報が0001bであるなら、ミキシングが実装されているストリーム供給装置であると、知ることができる。
【0141】
Player Profile情報が0011bであれば、当該ストリーム供給装置は、全ての機能を実装しているストリーム供給装置であることを示す。かかるストリーム供給装置は、グレースピリオドの経過前後にかかわらず、全ての機能を実装しているので、かかるPlayer Profile情報が0011bであるなら、サウンドミキシング機能が実装されているストリーム供給装置であると、知ることができる。
【0142】
尚、ミキシング機能を示す情報として、ストリーム供給装置がミキシングできるチャンネル数を示す情報を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と設定することができる。
【0143】
<PSR15>
図32は、PSR15のビットアサインを示す図である。
PSR15は、32ビットのビット長を有する。
PSR15のビットb0からビットb3までは、LPCMオーディオストリームをデコードして再生する能力が再生環境(プレイヤ+アンプなど)に存在するか否かを示す。この4ビットが0001bなら、ステレオ属性をもつ48/96HzのLPCMオーディオストリームを再生する能力が再生環境内にある。この4ビットが0010bなら、サラウンド属性をもつ48/96HzのLPCMオーディオストリームを再生する能力が再生環境内にある。この4ビットが0101bなら、ステレオ属性をもつ全ての周波数のLPCMオーディオストリームを再生する能力が再生環境内にある。この4ビットが0110bなら、サラウンド属性をもつ全ての周波数のLPCMオーディオストリームを再生する能力が再生環境内にある。
【0144】
PSR15のビットb4からビットb7までは、DD/DD+形式のオーディオストリームをデコードして再生する能力が再生環境(プレイヤ+アンプなど)に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DD/DD+オーディオストリームの基本データ(independent substream)がステレオをもっている場合、これを再生する能力が再生環境内にある。この4ビットの下位2ビットが10bなら、DD/DD+オーディオストリームの基本データ(independent substream)がサラウンドをもっている場合、これを再生する能力が再生環境内にある。
【0145】
この4ビットの上位2ビットが01bなら、DD/DD+オーディオストリームの拡張データ(Dependent substream)がステレオ属性をもっている場合、これを再生する能力が再生環境内にある。この4ビットの上位2ビットが10bなら、DD/DD+オーディオストリームの拡張データ(Dependent substream)がサラウンドをもっている場合、これを再生する能力が再生環境内にある。
【0146】
上位2ビットが00であるなら、これを再生する能力が再生環境内に存在しないことを示す。
PSR15のビットb8からビットb11までは、DTS-HD形式のオーディオストリームをデコードして再生する能力が再生環境(プレイヤ+アンプなど)に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DTS-HDオーディオストリームの基本データ(Core substream)の2chまでを再生する能力が再生環境内にある。この4ビットの下位2ビットが10bなら、DTS-HDオーディオストリームの基本データ(Core substream)のマルチチャンネルを再生する能力が再生環境内にある。
【0147】
この4ビットの上位2ビットが01bなら、DTS-HDオーディオストリームの拡張データ(Extension substream)の2chまでを再生する能力が再生環境内にある。この4ビットの上位2ビットが10bなら、DTS-HDオーディオストリームの拡張データ(Extension substream)のマルチチャンネルを再生する能力が再生環境内にある。
上位2ビットが00bであるなら、DTS-HDオーディオストリームの拡張データ(Extension substream)を再生する能力が再生環境内に存在しないことを意味する。
【0148】
PSR15のビットb12からビットb15までは、DD/MLP形式のオーディオストリームをデコードして再生する能力が再生環境(プレイヤ+アンプなど)に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DD形式のオーディオストリームがステレオの音声属性をもっている場合、これを再生する能力が再生環境内にある。この4ビットの下位2ビットが10bなら、DD形式のオーディオストリームがサラウンドの音声属性をもっている場合、これを再生する能力が再生環境内にある。
【0149】
この4ビットの上位2ビットが01bなら、MLPオーディオストリームがステレオの音声属性をもっている場合、これを再生する能力が再生環境内にある。この4ビットの上位2ビットが10bなら、MLPオーディオストリームがサラウンドの音声属性をもっている場合、これを再生する能力が再生環境内にある。
上位2ビットが00であるなら、これを再生する能力がユーザーの再生環境に存在しないことを示す。
【0150】
このように、PSR15は、符号化方式毎に、基本データ、拡張データのそれぞれを処理する能力があるか否かを規定できるようにしている。
さらに、PSR15のビットb16からビットb19までは、PSR15のビットb8からビットb11までのDTS-HD Capabilityが、再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す。この4ビットの下位2ビットが01bなら、DTS-HDオーディオストリームの基本データ(Core substream)のCapabilityは、自装置であるプレイヤのデコード能力に基づいて設定されている。この4ビットの下位2ビットが10bなら、DTS-HDオーディオストリームの基本データ(Core substream)のCapabilityは、アンプ等の外部機器のデコード能力に基づいて設定されている。この4ビットの下位2ビットが11bなら、自装置であるプレイヤとアンプ等の外部機器とのデコード能力が同等であり、DTS-HDオーディオストリームの基本データ(Core substream)のCapabilityは、これら双方のデコード能力に基づいて設定されている。この4ビットの下位2ビットが00bなら、再生環境を構成する何れの機器にもデコード能力がなく、DTS-HDオーディオストリームの基本データ(Core substream)のCapabilityはincapableに設定されている。
【0151】
この4ビットの上位2ビットが01bなら、DTS-HDオーディオストリームの拡張データ(Extension substream)のCapabilityは、自装置であるプレイヤのデコード能力に基づいて設定されている。この4ビットの上位2ビットが10bなら、DTS-HDオーディオストリームの拡張データ(Extension substream)のCapabilityは、アンプ等の外部機器のデコード能力に基づいて設定されている。この4ビットの上位2ビットが11bなら、自装置であるプレイヤとアンプ等の外部機器とのデコード能力が同等であり、DTS-HDオーディオストリームの拡張データ(Extension substream)のCapabilityは、これら双方のデコード能力に基づいて設定されている。この4ビットの上位2ビットが00bなら、再生環境を構成する何れの機器にもデコード能力がなく、DTS-HDオーディオストリームの拡張データ(Extension substream)のCapabilityはincapableに設定されている。
【0152】
より詳細には、ビットb16は自装置であるプレイヤのデコード能力に基づいて、基本データ(Core substream)のCapabilityが設定されたか否かを示し、ビットb17はアンプ等の外部機器のデコード能力に基づいて、基本データ(Core substream)のCapabilityが設定されたか否かを示している。ビットb18は自装置であるプレイヤのデコード能力に基づいて、拡張データ(Extension substream)のCapabilityが設定されたか否かを示し、ビットb19はアンプ等の外部機器のデコード能力に基づいて、拡張データ(Extension substream)のCapabilityが設定されたか否かを示している。
【0153】
以上が、PSRセット23についての説明である。
以降、起動処理部40〜ミキシング制御部44についての説明を開始する。
<機能構成の詳細その1.起動処理部40>
図33は、ストリーム供給装置300、オーディオアンプ400間の通信シーケンスを示す。
【0154】
ストリーム供給装置300のHDMI送受信部27は、ストリーム供給装置300が起動された際や、オーディオアンプ400と接続された際に、◎1に示すように、相互認証を行い、その後、ストリーム供給装置300のHDMI送受信部27は、レシーバとなるオーディオアンプ400側から、◎2に示すようにDIBを受信する。こうして受信したDIBにおいて、オーディオアンプ400側に、Primaryオーディオストリームをデコードする能力が存在すれば、オーディオアンプ400に対し、◎3に示すようにPrimaryオーディオストリームのパススルー出力を行う。
【0155】
この時、オーディオアンプ400のデコード能力に応じたPrimaryオーディオストリームがパススルー出力の対象となるように、起動処理部40は、HDMI送受信部27を介してホームシアターシステムの構成を取得し、その構成に応じてPSR15を設定する。
オーディオの再生可否を行なう基本情報であるPSR15をプレイヤ内蔵のデコーダだけでなく、アンプなどを含めたユーザーの再生環境全体を参照して規定することで、音声選択の幅が増え、より適切な再生可否判断が実現できる。
【0156】
図34、図35は、起動処理部40による処理手順を示すフローチャートである。
図34のステップS101は、装置起動がなされたかか否かの起動待ち判定であり、もし起動されれば自機のデコード能力に応じたPSR15を設定する(ステップS102)。その後、HDMIを介して他の機器と接続されているかを判定する(ステップS103)。HDMIを介して他の機器と接続されていない場合は(ステップS103でno)、PSR15により示されるデコード能力に応じたPrimaryオーディオストリームを選択させる手順をProcedure実行部42に実行させる(ステップS108)。HDMIを介して他の機器と接続されている場合は(ステップS103でyes)、HDMIを介した接続相手の機器の認証を行う(ステップS104)。この認証により、相互の正当性が判明すれば、ステップS105に移行する。ステップS105は、DIBを受信したかどうかの受信待ちループであり、もしDIBを受信すれば(ステップS105でyes)、接続相手から受け取ったDIBにより、接続相手の能力及びスピーカ配置を認識する(ステップS106)。ステップS107は、接続相手に再生能力が存在するか否かの判定であり、もし再生能力が存在するなら、DIBに応じて、PSR15におけるPlayer capability for Audioの追加設定を行う(ステップS108)。そして、PSR15により示されるデコード能力に応じたPrimaryオーディオストリームを選択させる手順をProcedure実行部42に実行させる(ステップS109)。
【0157】
以降、選択されたPrimaryオーディオストリームがDTS-HDオーディオストリームである場合を例に、説明を続ける。
図35のステップS110は、ステップS109で選択されたDTS-HDオーディオストリームがExtension Substreamを含まないフレーム構成であるか否かの判定である。この判定は、図21(b)に示すStream_attributeのstream_coding_typeに基づいて判定できる。
【0158】
ステップS109で選択されたDTS-HDオーディオストリームがExtension Substreamを含まないフレーム構成である場合(ステップS110でno)、DTS-HDオーディオストリームのCore substreamのCapabilityが、HDMIを介して接続された機器のデコード能力に基づいて設定されたか否かを、PSR15のビットb17の値によって判定する(ステップS111)。PSR15のビットb17が0bであるならば(ステップS111で0b)、HDMIを介して接続された機器のデコード能力に基づいてCore substreamのCapabilityが設定されていないので、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、バッファ6aを介してデコーダ7aへ出力するようにスイッチ10aを制御する(ステップS112)。PSR15のビットb17が1bであるならば(ステップS111で1b)、HDMIを介して接続された機器のデコード能力に基づいてCore substreamのCapabilityが設定されているので、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、パススルー出力するようにスイッチ10aを制御する(ステップS113)。ここでパススルー出力を行う場合、PSR31のPlayer Profile情報には、ミキシング不可能な機器であることを示す値を格納しておく。そうしないと、Procedure実行部43がSecondaryオーディオストリームを選択しようとして、Primaryオーディオストリームだけでなく、Secondaryオーディオストリームのパススルー出力がなされるからである。
【0159】
一方、ステップS109で選択されたDTS-HDオーディオストリームがExtension Substreamを含むフレーム構成である場合(ステップS110でyes)、DTS-HDオーディオストリームのExtension substreamのCapabilityが、HDMIを介して接続された機器のデコード能力に基づいて設定されたか否かを、PSR15のビットb19の値によって判定する(ステップS114)。
PSR15のビットb19が1bであるならば(ステップS114で1b)、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、パススルー出力するようにスイッチ10aを制御する(ステップS113)。PSR15のビットb19が0bであるならば(ステップS114で0b)、さらに、DTS-HDオーディオストリームのExtension substreamのCapabilityが、自機のデコード能力に基づいて設定されたか否かを、PSR15のビットb18の値によって判定する(ステップS115)。PSR15のビットb18が1bであるならば(ステップS115で1b)、自機のデコード能力でExtension substreamを再生可能であるので、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、バッファ6aを介してデコーダ7aへ出力するようにスイッチ10aを制御し(ステップS112)、PSR15のビットb18が0bであるならば(ステップS114で0b)、自機のデコード能力でExtension substreamを再生不可能であるのでCore substreamを再生対象とし、Core substreamのCapabilityが、HDMIを介して接続された機器のデコード能力に基づいて設定されたか否かを、PSR15のビットb17の値によって判定する(ステップS111)。HDMIを介して接続された機器のデコード能力に基づいてCore substreamのCapabilityが設定されていなければ(ステップS111で0b)、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、バッファ6aを介してデコーダ7aへ出力するようにスイッチ10aを制御し(ステップS112)、HDMIを介して接続された機器のデコード能力に基づいてCore substreamのCapabilityが設定されていれば(ステップS111で1b)、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、パススルー出力するようにスイッチ10aを制御する(ステップS113)。
【0160】
プレイヤでデコードしてアンプにLPCMとして出力させずに、スピーカが直接繋がっているアンプにて直接デコードすることを優先させることによって、ノイズの混入を抑えたり、転送の帯域を抑えることができる他、スピーカの特性に応じた音声信号の加工が適切に行なえるようになるため高音質な再生が得られる。
尚、上記では階層構造を持つDTS-HDオーディオストリームを例に説明したが、階層構造を持たない他のオーディオストリーム(例えば、Dolby Digital(AC-3)やMPEG-1 Audioなど)であってもPSR15の設定は同様に可能である。PSR15の情報を基にストリームのデコードをPlayerで行なうのか、外部機器(アンプ)で行なうかを判定し、外部機器でデコードできる場合にはパススルー出力を選択するのも同様に可能である。
【0161】
図36は、CODING TYPEがDTS-HDである際に、DIBに応じてPSR15におけるPlayer capability for Audioを追加設定する処理手順を示すフローチャートである。本フローチャートの処理手順が開始される時点で、PSR15には自機のデコード能力に応じた値が設定されており、本フローチャートの実行により、DIBにより性能が示される機器のデコード能力が自機より勝るか同等である符号化方式についてPSR15の設定値が更新される。
【0162】
図36のフローチャートにおいてステップS200は、DIBのFormat depending coding typeにLevel1〜Level3が記載されているか否かの判定であり、ステップS201は、DIBのChannel Countに2よりも大きな値が記載されているか否かの判定である。
ステップS200がyes、ステップS201がyesである場合、ステップS202において、Extension Substreamのcapabilityを、10b:Surround Capableに設定し、Extension substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb19を1bに設定し、さらに、ステップS207において、Core Substreamのcapabilityを、10b:Surround Capableに設定し、Core substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb17を1bに設定する。
【0163】
ステップS200がyes、ステップS201がNoである場合、ステップS203に移行する。ステップS203は、Extension Substreamのcapabilityに、10b:Surround Capableが設定されているか否かの判定であり、Extension Substreamのcapabilityに、10b:Surround Capableが設定されていないのであれば(ステップS203でno)、ステップS204において、Extension
Substreamのcapabilityを、01b:Stereo Capableに設定し、Extension substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb19を1bに設定し、さらに、ステップS207において、Core Substreamのcapabilityを、10b:Surround Capableに設定し、Core substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb17を1bに設定する。
【0164】
一方、DIBのFormat depending coding typeにLevel1〜Level3が記載されていない場合(ステップS200でno)と、ステップS203の判定でExtension Substreamのcapabilityに、10b:Surround Capableが設定されている場合(ステップS203でyes)、PSR15のビットb19を0bに設定し(ステップS205)、その後、ステップS206の判定を行う。ステップS206は、DIBのChannel Countに2よりも大きな値が記載されているか否かの判定である。
【0165】
ステップS206がyesである場合、ステップS207において、Core Substreamのcapabilityを、10b:Surround Capableに設定し、Core substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb17を1bに設定する。
ステップS206がnoである場合、ステップS208に移行する。ステップS208は、Core Substreamのcapabilityに、10b:Surround Capableが設定されているか否かの判定であり、Core Substreamのcapabilityに、10b:Surround Capableが設定されていないのであれば(ステップS208でno)、ステップS209において、Core Substreamのcapabilityを、01b:Stereo Capableに設定し、Core substreamのCapabilityがHDMIを介して接続された機器のデコード能力に基づいて設定されたかを示すPSR15のビットb17を1bに設定する。ステップS208の判定でCore Substreamのcapabilityに、10b:Surround Capableが設定されている場合(ステップS208でyes)、PSR15のビットb17を0bに設定する(ステップS210)。
【0166】
尚、図36のS201、S206の判定ではDIBのChannel Countを用いたが、Channel/Speaker Allocationを用いても判定しても良い。
以上、起動処理部40の処理手順を、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が再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す情報に基づいてパススルー出力の要否を判定するとよい。
【0167】
尚、各符号化方式のCapabilityが再生環境を構成する何れの機器のデコード能力に基づいて設定されたかを示す情報は、必ずしもPSR15に設定する必要はなく、他のレジスタやワークメモリに情報を保持する構成としてもよい。
<機能構成の詳細その2.プレイリスト処理部>
プレイリスト処理部41は、PL再生を実現するものであり、PlayItem情報のIn_timeにあたる位置から、Out_timeにあたる位置までビデオストリーム及びPrimaryオーディオストリームを再生し、これと同期して、SubPlayItem情報のSub_PlayItem_In_timeにあたる位置から、Sub_PlayItem_Out_timeにあたる位置までのSecondaryオーディオストリームの再生を、オーディオデコーダ7bに行わせる。
【0168】
図37は、プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。
本フローチャートは、カレントPL情報(.mpls)の読み込みを行い(ステップS301)、その後、ステップS302〜ステップS310の処理を実行するというものである。ここでステップS302〜ステップS310は、ステップS309がYesになるまで、カレントPL情報を構成するそれぞれのPI情報について、ステップS303〜ステップS310の処理を繰り返すというループ処理を構成している。このループ処理において処理対象となるPlayItemを、PlayItem#x(PI#x)とよぶ。このPlayItem#xは、カレントプレイリストの先頭のPlayItemに設定されることにより、初期化される(ステップS302)。上述したループ処理の終了要件は、このPlayItem#xがカレントプレイリストの最後のPlayItemになることであり(ステップS309)、もし最後のPlayItemでなければ、カレントプレイリストにおける次のPlayItemがPlayItem#xに設定される(ステップS310)。
【0169】
ループ処理において繰り返し実行されるステップS303〜ステップS310は、PlayItem#xのClip_information_file_nameで指定されるClip情報をメモリに読み込み(ステップS303)、PlayItem#xのIn_timeを、カレントClip情報のEPmapを用いて、Iピクチャアドレスuに変換し(ステップS304)、PlayItem#xのOut_timeを、カレントClip情報のEP_mapを用いて、Iピクチャアドレスvに変換して(ステップS305)、これらの変換で得られたアドレスvの次のIピクチャを求めて、そのアドレスの1つ手前をアドレスwに設定し(ステップS307)、そうして算出されたアドレスwを用いて、IピクチャアドレスuからアドレスwまでのTSパケットの読み出しをBD-ROMドライブ1又はローカルストレージ200に命じるというものである(ステップS308)。
【0170】
一方、ビデオデコーダ等に対しては、カレントPLMarkのmark_time_stampからPlayItem#xのOut_timeまでの出力を命じる(ステップS306)。以上のステップS305〜ステップS308により、AVClipにおいて、PlayItem#xにより指示されている部分の再生がなされることになる。
その後、PlayItem#xがカレントプレイリストの最後のPIであるかの判定がなされる(ステップS309)。
【0171】
PlayItem#xがカレントプレイリストの最後のPIでなければ、カレントプレイリストにおける次のPlayItemを、PlayItem#xに設定して(ステップS310)、ステップS303に戻る。以上のステップS303〜ステップS310を繰り返することにより、プレイリストを構成するPIは順次再生されることになる。
<機能構成の詳細その3.Procedure実行部42>
Procedure実行部42は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定のストリーム選択プロシージャを実行して、PSR1に新たなストリーム番号を書き込む。ストリーム供給装置300は、PSR1に書き込まれたストリーム番号に応じて、Primaryオーディオストリームを特定するので、かかるPSR1の設定を通じて、Primaryオーディオストリームが選択されることになる。
【0172】
PlayItem情報の切り換わり時に、ストリーム選択プロシージャを実行するのは、STN_TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったPrimaryオーディオストリームが、別のPlayItem情報において再生不可能になることが有り得るからである。
このProcedure実行部42により、PSR1は、図38(a)に示すような状態遷移をなす。図38(a)は、PSR1の設定値が取り得る状態遷移を示す図である。本図においてValidとは、PSR1の値が、Play ItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
【0173】
Invalidとは、PSR1の値が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図38(a)における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。
【0174】
Procedure when playback condition is changedは、何等かの事象がストリーム供給装置に生じたため、ストリーム供給装置の状態が変化した際に実行すべき処理手順を示す。
Procedure when Stream Change is requestedは、ユーザが何等かの切り換え(図38(a)においてstream)を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Stream change is requestedが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
【0175】
図38(a)における矢印は、PSRが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Load Disc”、”Change a Stream”,”Start PlayList playback”,”Cross a PlayItem boundary”,”Terminate PlayList playback”というような事象が発生した際、PSR1の状態遷移がなされることになる。これらの記法を理解して図38(a)を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR1をValidに設定するにあたって、上述したProcedure when playback condition is changed、Procedure when Stream change is requestedによりPSR1は設定されるのである。
【0176】
以降、状態遷移のトリガとなるべき事象について説明する。
『Load Disc』とは、ストリーム供給装置にBD-ROMがローディングされたとの事象を意味する。PSR1は、かかるローディング時において、一旦不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedure when playback condition is changedが実行され、PSR1はValidに設定されることがわかる。
【0177】
『Terminate PlayList playback』とは、PLに基づく再生処理を終了したとの事象を意味する。かかる事象の発生時では、Procedure when playback condition is changedは実行されず、Invalidに移行していることがわかる。
『ChangeXXX』とは、ユーザによるXXX(本図ではStream)の切り換え要求がなされたとの事象を意味する。PSR1がInvalidである場合に、かかる事象が発生すれば(図中のcj1)、PSR1はその要求通りの値に設定される。こうして設定された値がたとえ有効なストリーム番号を示していたとしても、このPSR1の設定値はInvalidな値として取り扱われる。即ち、事象”ChangeXXX”による状態遷移では、InvalidであるPSRが、Validに変えることはない。
【0178】
一方、PSR1がValidである場合に、かかる事象Change a Streamが発生すれば(図中のcj2)、Procedure when Stream change is requestedが実行されて、新たな値がPSR1に設定される。ここでProcedure when Stream change is requestedの実行により設定される値は、ユーザが希望した値にならない場合も有り得る。何故なら、Procedure when Stream change is requestedは、無効な値を排除する機能を有しているからである。PSR1がValidにおいて、Change streamが発生した場合、ValidからInvalidに状態遷移することは有り得ない。PSR1がInvalidにならないよう、Procedure when Stream change is requested側で保証するからである。
【0179】
『Cross a PlayItem boundary』とは、あるPlay Itemの境界通過という事象を意味する。ここでPlay Itemの境界とは、連続する2つのPlay Itemのうち、先行する側の終端、後続する側の先端の狭間を意味する。PSR1がValidである場合において、かかる事象が発生すれば、Procedure when playback condition is changedが実行されることがわかる。そして、Procedure when playback condition is changedの実行後、PSR1の状態はValidに戻るか、Invalidに移行することが分かる。STN_tableはPlay Item毎に存在しており、Play Itemが変われば、再生可能なエレメンタリストリームも変わってしまう。Play Itemの再生開始毎に、Procedure when playback condition is changeを実行してPlay Item毎に最適な設定値をPSR1に設定するというのが、この状態遷移の趣旨である。
【0180】
この状態遷移においてProcedure when playback condition is changedは、図38(b)のようになる。図38(b)は、Procedure when playback condition is changedの処理手順を示す図である。本処理手順は、ステップS1、ステップS2という2つの判定ステップの組合せで、PSR1の設定を行うものである。
ステップS1は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR1の値を維持する(ステップS3)。
【0181】
ステップS2は、STN_tableにおけるentry数は0ではない場合に、PSR1よりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR1で特定されるPrimaryオーディオストリームを再生する能力がデコーダに存在することである。もしステップS2がYesであればPSR1を維持する(ステップS4)。もしPSR1の値がentry数より大きいか、或は条件(A)を満たさない場合は、PSR1を再設定する(ステップS5)。ここで、本実施形態では、ストリーム供給装置300が選択したオーディオストリームをオーディオアンプ400へ供給し、オーディオアンプ400がオーディオストリームをデコードするという接続形態をとるため、条件(A)でいうデコーダとしては、オーディオアンプ400が内蔵するものが相当する。
【0182】
その後、PSR1に設定されているPrimaryオーディオストリームがDTS-HD形式で符号化されたものである場合は(ステップS19がyes)、ステップS20で、オーディオアンプ400で実際に再生される音声の品質を示すメニューを表示する。
図39は、実際に再生される音声の品質を示すメニューの一例を示す図である。本図におけるメニューは、「お客さまのシアターシステムでは、接続先の機器でDTS-XXXXの品質でオーディオ再生されます」などの注意を喚起する旨のメッセージと確認ボタンからなる。DTS-XXXXの部位には、PSR15のDTS-HD Extension capabilityに設定されている値に応じて、DTS core、DTS-ES、DTS-96/24、DTS-HD(xLL)の何れかを表示する。こうすることで、実際にどのような品質で音声再生されるかをユーザが事前に把握することができる。
【0183】
尚、音声品質の提示の際には、必ずしもユーザの確認操作を求める必要はない。そこで、本図に示すようなメッセージを一定期間表示した後、メッセージの表示を終了する構成としてもよい。
更に、実際に再生される音声品質の表示は、オーディオストリームを選択したタイミングに限らず、他のタイミングで表示してもよい。例えば、図34のステップS107の判定で、接続相手に再生能力が存在すると判定された時に再生可能な音声品質を表示してもよい。このようなタイミングで音声品質を表示する場合には、「お客さまのシアターシステムでは、接続先の機器でDTS-XXXXの品質でオーディオ再生されます。接続先機器でデコードしますか?」等のメッセージと、接続先機器でのデコード可否を受け付けるボタン「Yes」「No」とからなるメニュー画面を表示することで、ユーザがパススルー出力を希望するか否かを確認することもできる。具体的には、このようなメニューの表示に対して「Yes」ボタンが選択されたならば図34のステップS108へ処理を移してDIBに応じたPSR15設定を行い、「No」ボタンが選択されたならばステップS109へ処理を移して、自機のデコード能力に応じたPSR15設定に基づいてPrimaryオーディオストリームの選択を行うとよい。
【0184】
図40は、ステップS5の詳細な処理手順に示したフローチャートである。
ステップS6、ステップS7は、全てのPrimaryオーディオストリームについてステップS8を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のPrimaryオーディオストリームを、Primaryオーディオストリームiという。ステップS8は、Primaryオーディオストリームiが3つの条件(a)(b)(c)を満たすかのチェックを行う。
【0185】
条件(a)とは、Primaryオーディオストリームiを再生する能力がデコーダに存在することであり、これを満たすか否かの判定は、PSR15と、Primaryオーディオストリームiのstream_coding_type及びformat_depending_coding_typeとの比較でなされる。
条件(b)とは、Primaryオーディオストリームiの言語属性がストリーム供給装置300の言語設定と同じであることであり、これを満たすか否かの判定は、STN_tableに記述されたPrimaryオーディオストリームiのAudio_language_codeがPSRの設定値と同じであるか否かの比較でなされる。
【0186】
条件(c)とは、Primaryオーディオストリームiのチャネル属性がサラウンドであり、これを再生する能力がデコーダに存在することである。これを満たすか否かの判定は、PSR15と,Audio Streamのaudio_presentation_type、stream_coding_typeとの比較でなされる。ここで条件(a)及び条件(c)でいうデコーダとは、条件(A)と同様に、本実施形態ではオーディオアンプ400が内蔵するものが相当する。
【0187】
これらの複数の条件のうち、「Primaryオーディオストリームiがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、Primaryオーディオストリームに優先順位を付与する。
以上の処理をPrimaryオーディオストリームの全てについて繰り返されれば、ステップS9〜ステップS13の処理を行う。ステップS9は、(a)を満たすPrimaryオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値(0xFF)をPSR1に設定する(ステップS14)。
【0188】
ステップS10は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)(c)を満たすPrimaryオーディオストリームの番号をPSR1に設定する(ステップS15)。
ここで問題になるのが、条件(a)(b)(c)を満たすPrimaryオーディオストリームが複数存在する場合である。条件(a)〜条件(c)が全てみたされるので、同じ優先順位になってしまうので優劣を決めることができない。この場合ステップS15では、STN_tableにおけるentryの順序に応じて、各ストリームにおける順位が定める。即ち、コーディック−言語属性−チャネル属性が同じPrimaryオーディオストリームについては、STN_tableにおけるentryの順番を参照することで、最もentryの順番が早いPrimaryオーディオストリームが選ばれることになる。
【0189】
STN_tableにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップS11は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリームが存在しない場合、条件(a)(b)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップS16)。
【0190】
ステップS12は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリーム、又は、条件(a)(b)を満たすPrimaryオーディオストリームが存在しない場合に、条件(a)(c)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(c)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップS17)。
【0191】
ステップS13は、条件(a)(b)(c)の全て、条件(a)(b)、条件(a)(c)を満たすPrimaryオーディオストリームが存在しない場合に、条件(a)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップS18)。
【0192】
以上がProcedure when playback condition is changedである。続いてProcedure when Stream change is requestedについて説明する。図41は、ストリーム変化時におけるPSR1の設定手順を示すフローチャートである。本フローチャートと、図38(b)との違いは、図38(b)におけるPSR1の表記がXに置き換えられている点である。このXは、操作受付部26から出力されたUser Operation情報やIGデコーダ13から出力されたボタンコマンドに基づく値である。
【0193】
本フローチャートにおけるステップS21は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR1で特定されるPrimaryオーディオストリームを再生する能力が再生装置に存在することであり、PSR15と、PrimaryオーディオストリームのStream_codeig_type、format_depending_coding_typeの比較で判定される。ここで条件(A)でいう再生装置とは、オーディオストリームをデコードする機器を指し、本実施形態ではオーディオアンプ400が相当する。もしXがこの条件を満たすなら、PSR1にXを設定する(ステップS22)。
【0194】
もしXがentry数より大きいか、或は条件(A)を満たさない場合は、Xが、0xFFであるか否かを判定する(ステップS23)。もしOxFFでなければ、ユーザが選択を意図するPrimaryオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR1の設定値を維持する(ステップS24)。
もしPSR1の設定値が0xFFであるなら、PSR1を設定する(ステップS25)。このステップS25の処理手順は、図40に示した処理手順と同一である(図40のうち、ステップS9の判定はProcedure when Stream change is requestedでは必要ではない。何故ならProcedure when Stream change is requestedでは、条件(a)(b)(c)を満たすPrimaryオーディオストリームが1つも存在しない場合、ユーザが設定した値XをPSR1に設定せず、PSR1の設定値を維持するからである。
【0195】
その後、PSR1に設定されているPrimaryオーディオストリームがDTS-HD形式で符号化されたものである場合は(ステップS26がyes)、ステップS27で、オーディオアンプ400で実際に再生される音声の品質を示す図39のメニューを表示する。
<機能構成の詳細その4.Procedure実行部43>
Procedure実行部43は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定の手順を実行して、PSR14に新たなストリーム番号を書き込む。ストリーム供給装置300は、PSR14に書き込まれたストリーム番号に対応するSecondaryオーディオストリームを再生対象とするので、かかるPSR14の設定を通じて、Secondaryオーディオストリームが選択されることになる。
【0196】
このProcedure実行部43により、PSR14は、図42(a)に示すような状態遷移をなす。
図42(a)は、PSR14の設定値が取り得る状態遷移を示す図である。本図においてValidとは、PSR14の値が、Play ItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
【0197】
Invalidとは、PSR14の値が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図42(a)における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。
【0198】
Procedure when playback condition is changedは、何等かの事象がストリーム供給装置に生じたため、ストリーム供給装置の状態が変化した際に実行すべき処理手順を示す。
Procedure when Stream Change is requestedは、ユーザが何等かの切り換え(図42においてstream)を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Stream change is requestedが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
【0199】
図42(a)における矢印は、PSRが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Load Disc”、”Change a Stream”,”Start PlayList playback”,”Cross a PlayItem boundaryor Change Primary Audio Stream”,”Terminate PlayList playback”というような事象が発生した際、PSR14の状態遷移がなされることになる。これらの記法を理解して図42(a)を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR14をValidに設定するにあたって、上述したProcedure when playback condition is changed、Procedure when Stream change is requestedによりPSR14は設定されるのである。
【0200】
以降、状態遷移のトリガとなるべき事象について説明する。
『Load Disc』とは、ストリーム供給装置にBD-ROMがローディングされたとの事象を意味する。PSR14は、かかるローディング時において、一旦不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedure when playback condition is changedが実行され、PSR14はValidに設定されることがわかる。
【0201】
『Terminate PlayList playback』とは、PLに基づく再生処理が終了したとの事象を意味する。かかる事象の発生時では、Procedure when playback condition is changedは実行されず、Invalidに移行していることがわかる。
『ChangeXXX』とは、ユーザによるXXX(本図ではStream)の切り換え要求がなされたとの事象を意味する。PSR14がInvalidである場合に、かかる事象が発生すれば(図中のcj1)、PSR14はその要求通りの値に設定される。こうして設定された値がたとえ有効なストリーム番号を示していたとしても、このPSR14の設定値はInvalidな値として取り扱われる。即ち、事象”ChangeXXX”による状態遷移では、InvalidであるPSRが、Validに変えることはない。
【0202】
一方、PSR14がValidである場合に、かかる事象Change a Streamが発生すれば(図中のcj2)、Procedure when Stream change is requestedが実行されて、新たな値がPSR14に設定される。ここでProcedure when Stream change is requestedの実行により設定される値は、ユーザが希望した値にならない場合も有り得る。何故なら、Procedure when Stream change is requestedは、無効な値を排除する機能を有しているからである。PSR14がValidにおいて、Change streamが発生した場合、ValidからInvalidに状態遷移することは有り得ない。PSR14がInvalidにならないよう、Procedure when Stream change is requested側で保証するからである。
【0203】
『Cross a PlayItem boundary or Change Primary Audio Stream』とは、あるPlay Itemの境界通過、又は、Primaryオーディオストリームの切り替えという事象を意味する。PSR14がValidである場合において、かかる事象が発生すれば、Procedure when playback condition is changedが実行されることがわかる。そして、Procedure when playback condition is changedの実行後、PSR14の状態はValidに戻るか、『Cross a PlayItem boundary or Change Primary Audio Stream』が発生するとInvalidに移行することが分かる。Play Itemの再生開始やPrimaryオーディオストリームの切り替え毎に、Procedure when playback condition is changeを実行してPlay Item毎に最適な設定値をPSR14に設定するというのが、この状態遷移の趣旨である。
【0204】
この状態遷移においてProcedure when playback condition is changedは、図42(b)のようになる。本処理手順は、ステップS31、ステップS32という2つの判定ステップの組合せで、PSR14の設定を行うものである。
ステップS31は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR14の値を維持する(ステップS33)。
【0205】
ステップS32は、STN_tableにおけるentry数は0ではない場合に、PSR14よりSTN_tableのentry数が多く、尚且つ、条件(A)と(B)が真であるかを判定するものである。条件(A)とは、PSR14で特定されるSecondaryオーディオストリームを再生する能力が再生装置に存在することである。ここで条件(A)でいうデコーダとしては、本実施形態ではオーディオアンプ400に内蔵のものが相当する。条件(B)とは、Primary_Audio_Stream_Numberと、Secondary_Audio_Stream_Numberの組み合わせがSTN_tableで許可されていることである。もしステップS32がNoであればPSR14を維持する(ステップS34)。Yesの場合は、PSR14を再設定する(ステップS35)。
【0206】
図43は、ステップS35の詳細な処理手順に示したフローチャートである。
ステップS36、ステップS37は、全てのSecondaryオーディオストリームについてステップS38を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のSecondaryオーディオストリームを、Secondaryオーディオストリームiという。ステップS38は、Secondaryオーディオストリームiが3つの条件(a)(b)(c)を満たすかのチェックを行う。
【0207】
条件(a)とは、Secondaryオーディオストリームiを再生する能力がデコーダに存在することであり、これを満たすか否かの判定は、オーディオストリームの再生能力を示すレジスタ(PSR15)と、Secondaryオーディオストリームiのstream_coding_type及びformat_depending_coding_typeとの比較でなされる。
条件(b)とは、PrimaryオーディオストリームをSecondaryオーディオストリームにミキシングすることができるか否かであり、この条件が満たされているか否かの判定は、PSR1に設定されているストリーム番号が、SecondaryオーディオストリームのComb_info_Secondary_audio_Primary_audioに記載されているかを判断することでなされる。
【0208】
条件(c)とは、Secondaryオーディオストリームiの言語属性がストリーム供給装置の言語設定と同じであることであり、これを満たすか否かの判定は、STN_tableに記述されたSecondaryオーディオストリームiのAudio_language_codeがPSRの設定値と同じであるか否かの比較でなされる。
これらの複数の条件のうち、「Secondaryオーディオストリームiがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、Secondaryオーディオストリームに優先順位を付与する。
以上の処理をSecondaryオーディオストリームの全てについて繰り返されれば、ステップS39〜ステップS41、ステップS44〜ステップS46の処理を行う。ステップS39は、条件(a)及び条件(b)を満たすSecondaryオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値(0xFF)をPSR14に設定する(ステップS44)。
【0209】
ステップS40は、条件(a)(b)(c)の全てを満たすSecondaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)(c)を満たすSecondaryオーディオストリームの番号をPSR14に設定する(ステップS45)。
ここで問題になるのが、条件(a)(b)(c)を満たすSecondaryオーディオストリームが複数存在する場合である。条件(a)〜条件(c)が全てみたされるので、同じ優先順位になってしまうので優劣を決めることができない。この場合ステップS45では、STN_tableにおけるentryの順序に応じて、各ストリームにおける順位が定める。即ち、コーディック−言語属性−チャネル属性が同じSecondaryオーディオストリームについては、STN_tableにおけるentryの順番が最も早いSecondaryオーディオストリームが選ばれることになる。
【0210】
STN_tableにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップS41は、条件(a)(b)(c)の全てを満たすSecondaryオーディオストリームが存在しない場合、条件(a)(b)を満たすSecondaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)を満たすSecondaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR14に設定する(ステップS46)。
【0211】
以上がProcedure when playback condition is changedである。続いてProcedure when Stream change is requestedについて説明する。図44は、ストリーム変化時におけるPSR14の設定手順を示すフローチャートである。本フローチャートと、図42(b)との違いは、図42(b)におけるPSR14の表記がXに置き換えられている点である。このXは、操作受付部26から出力されたUser Operation情報やIGデコーダ13から出力されたボタンコマンドに基づく値である。
【0212】
本フローチャートにおけるステップS49は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)、条件(B)が真であるかを判定するものである。もしXがこの条件を満たすなら、PSR14にXを設定する(ステップS51)。
もしXがentry数より大きいか、或は条件(A)及び条件(B)を満たさない場合は、Xが、0xFFであるか否かを判定する(ステップS52)。もしOxFFでなければ、ユーザが選択を意図するSecondaryオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR14の設定値を維持する(ステップS53)。
【0213】
もしPSR14の設定値が0xFFであるなら、PSR14を設定する(ステップS54)。このステップS54の処理手順は、図43に示した処理手順と同一である(図43のうち、ステップS39の判定はProcedure when Stream change is requestedでは必要ではない。何故ならProcedure when Stream change is requestedでは、条件(a)(b)(c)を満たすSecondaryオーディオストリームが1つも存在しない場合、ユーザが設定した値XをPSR14に設定せず、PSR14の設定値を維持するからである。)。
【0214】
以上でProcedure実行部43についての説明を終える。
<機能構成の詳細その5.ミキシング制御部44>
ミキシング制御部44は、オーディオデコード能力を有する機器がHDMIを介して接続されている場合、Primaryオーディオストリームを構成するTSパケット及びSecondaryオーディオストリームを構成するTSパケットを、オーディオデコーダ7a,bへ供給することなく、それらのエレメンタリーストリームをHDMI送受信部27へ供給するよう、スイッチ10aを制御する。ミキシング制御部44は、さらに、オーディオデコード能力を有する機器がHDMIを介して接続されておらず、且つ、ストリーム供給装置300のPlayer Profile情報が0001bである場合、又は、0011bである場合、Primaryオーディオストリームの再生出力に対して、Secondaryオーディオストリームの再生出力、又は、サウンドデータの再生出力をミキシングするよう、ミキサー9a、ミキサー9bを制御する。
【0215】
ここでPlayItem時間軸における現在の再生時点が、SubPlayItem情報のIn_timeからOut_timeまでであり、また、カレントPlayItem情報のSTN_Tableにおいて、Secondaryオーディオストリームが有効になっている場合、PSR14に格納されたストリーム番号のSecondaryオーディオストリームのデコードが、オーディオデコーダ7bにてなされているので、ミキシング制御部44は、オーディオデコーダ7aの再生出力に対して、オーディオデコーダ7bの再生出力をミキシングするよう、ミキサー9aを制御する。
【0216】
Primaryオーディオストリームにおける属性がサラウンドである場合、L,R,C,LS,RS,LR,RR,LFEといった成分のうち、所望の成分のみを残すようダウンミキシングを行った上で、Secondaryオーディオストリームの再生出力をミキシングすることができる。ここでSecondaryオーディオストリームが映画監督のコメンタリ音声である場合、SecondaryオーディオストリームをミキシングすべきPrimaryオーディオストリームのチャンネルを、L→C→Rというように変化させてゆけば、ユーザの回りを映画監督が、歩き回っているかのような感覚を、ユーザに与えることができる。このようなミキシングをパンニングと呼んでいる。パンニングではPrimaryオーディオストリームよりも少ないチャンネル数のSecondaryオーディオストリーム(例えばモノラル)の音声が使われる。
【0217】
Java(登録商標)アプリケーションにて描画されたボタンに対し確定操作がなされた場合、又は、IGストリームにより描画されたボタンに対し確定操作がなされた場合、Primaryオーディオストリームの再生出力、又は、Primaryオーディオストリームの再生出力と、Secondaryオーディオストリームの再生出力とのミキシング結果に対して、サウンドデータをミキシングするよう、ミキサー9bを制御する。
【0218】
以上が、本実施形態に係るストリーム供給装置300についての説明である。
以上のように本実施形態によれば、ストリーム供給装置はHDMIのようにデジタルI/Fを介してオーディオアンプの能力を取得し、それに応じてPSR15を設定した上、このPSR15に基づき、PrimaryオーディオストリームをBD-ROMディスク/ローカルストレージから選択して、このPrimaryオーディオストリームのパススルー出力を行う。このとき符号化形式がDTS-HD形式である場合には、DIBにより拡張データをデコードに利用可能か否かが示されるため、実際にどのような品質で音声再生されるかストリーム供給装置がわで事前に把握することができる。
【0219】
尚、ロスレス圧縮されたオーディオデータのデコードは演算量が多く、高い処理能力が必要とされる。そのため、処理速度やメモリ容量のつごうから、DTS-HD(xLL)をデコードすることは出来るが、DTS-ESやDTS-96/24などをデコードする場合よりも少ないチャンネル数にしか対応できないといったケースも考えられる。
このような場合には、図45に示すようにDIBを改良することで、CODING TYPEがDTSである場合に、DTSの拡張規格であるDTS-ES、DTS-96-24、DTS-HD(xLL)のうちデコード可能な符号化方式毎に、対応可能なチャンネル数、スピーカ構成、サンプリング周波数を、オーディオアンプからストリーム供給装置へ通知することができる。これによって、実際に再生される音声の品質をストリーム供給装置側でより適切に把握することが出来る。図45の例では、オーディオアンプはCore substreamのデコード、
Extention substreamのDTS-ES部分のデコード、Extention substreamのDTS-96/24部分のデコードが可能であり、Core substreamをデコードに用いる際には5.1ch、48KHzで音声再生が可能であり、DTS-ES部分をデコードに用いる際には7.1ch、48KHzで音声再生が可能であり、DTS-96/24部分をデコードに用いる際には2ch、196KHzで音声再生が可能であることが示される。
【0220】
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、 以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。上記の実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の意思によることは留意されたい。
【0221】
(追加コンテンツに対する処理)
ローカルストレージ200にダウンロードされた追加コンテンツは、何ヶ月、何年か経過すれば自動的に消去するよう、ストリーム供給装置を初期設定しておくのが望ましい。
(PIDの代用)
上記実施形態では、Primaryオーディオストリーム、Secondaryオーディオストリームの区別にPIDを用いたが、MPEG2-PSを使う場合には、PESパケットヘッダのstream_idをそれぞれ異なるものにするのが望ましい。
【0222】
またPrimaryオーディオストリーム、Secondaryオーディオストリームは、2つの音声ストリームが1つのデマルチプレクサでも弁別可能なように、システムストリームレベルにおいて区別されていればよい。もしくは、2つのストリームを1つに束ねる前に、片方のPIDを重複しないように付け替えておくだけでもよい。
(制御手順の実現)
上記実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。
【0223】
・本発明に係るプログラムの生産形態
本発明に係るプログラムは、コンピュータが実行することができる実行形式のプログラム(オブジェクトプログラム)であり、上記実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。またプログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップが実現されることもある。
【0224】
本発明にかかるプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【0225】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【0226】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、本発明に係るプログラムを作ることができる。
【0227】
・本発明に係るプログラムの使用形態
本発明に係るプログラムは、以下のようにして使用することができる。
(i)組込プログラムとしての使用
本発明に係るプログラムを組込プログラムとして使用する場合、プログラムにあたるロードモジュールを、基本入出力プログラム(BIOS)や、様々なミドルウェア(オペレーションシステム)と共に、命令ROMに書き込む。こうした命令ROMを、制御部に組み込み、CPUに実行させることにより、本発明に係るプログラムを、ストリーム供給装置300の制御プログラムとして使用することができる。
【0228】
(ii)アプリケーションとしての使用
ストリーム供給装置300が、ハードディスク内蔵モデルである場合は、基本入出力プログラム(BIOS)が命令ROMに組み込まれており、様々なミドルウェア(オペレーションシステム)が、ハードディスクにプレインストールされている。また、ハードディスクから、システムを起動するためのブートROMが、ストリーム供給装置300に設けられている。
【0229】
この場合、ロードモジュールのみを、過搬型の記録媒体やネットワークを通じて、ストリーム供給装置300に供給し、1つのアプリケーションとしてハードディスクにインストールする。そうすると、ストリーム供給装置300は、ブートROMによるブートストラップを行い、オペレーションシステムを起動した上で、1つのアプリケーションとして、当該アプリケーションをCPUに実行させ、本発明に係るプログラムを使用する。
【0230】
ハードディスクモデルのストリーム供給装置300では、本発明のプログラムを1つのアプリケーションとして使用しうるので、本発明に係るプログラムを単体で譲渡したり、貸与したり、ネットワークを通じて供給することができる。

(コントローラ22)
上記実施形態に示したコントローラ22等の構成要素は、一個のシステムLSIとして実現することができる。
【0231】
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
【0232】
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、ストリーム供給装置300の中核としての役割を果たす。
システムLSIにパッケージングされるベアチップは、“フロントエンド部”、“バックエンド部”、“デジタル処理部”からなる。“フロントエンド部”は、アナログ信号を、デジタル化する部分であり、“バックエンド部”はデジタル処理の結果、得られたデータを、アナログ化して出力する部分である。
【0233】
上記実施形態において内部構成図として示した各構成要素は、このデジタル処理部内に実装される。
先に“組込プログラムとしての使用”で述べたように、命令ROMには、プログラムにあたるロードモジュールや、基本入出力プログラム(BIOS)、様々なミドルウェア(オペレーションシステム)が書き込まれる。本実施形態において、特に創作したのは、このプログラムにあたるロードモジュールの部分なので、プログラムにあたるロードモジュールを格納した命令ROMを、ベアチップとしてパッケージングすることにより、本発明に係るシステムLSIは生産することができる。
【0234】
具体的な実装については、SoC実装やSiP実装を用いることができ望ましい。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、上記実施形態に示したストリーム供給装置300の内部構成図を基に作ることができる。
【0235】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
さらに、各記録読出装置の構成要素の一部又は全てを1つのチップとして構成してもよい。集積回路化は、上述したSoC実装,SiP実装に限るものではなく、専用回路又は汎用プロセスで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なシリコンフィギュラブル・プロセッサを利用することが考えられる。更には、半導体技術の進歩又は派生する技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積回路化を行っても良い。例えば、バイオ技術の適応などが可能性としてありうる。
【産業上の利用可能性】
【0236】
本発明はホームシアターシステムを構成するストリーム再生装置、ストリーム供給装置等に適用でき、特に、記録媒体からオーディオストリームを読み出すストリーム供給装置と、オーディオストリームをデコードするストリーム再生装置とがHDMI等のデジタルI/Fを介して接続して利用する場合に有用である。
【符号の説明】
【0237】
100 BD-ROM
200 ローカルストレージ
300 ストリーム供給装置
400 オーディオアンプ
500 スピーカ
600 テレビ
1a BD-ROMドライブ
1b バス
2a,b リードバッファ
3a,b デマルチプレクサ
4 ビデオデコーダ
5 ビデオプレーン
6a,b バッファ
7a,b オーディオデコーダ
8 DownMix/DownSample
9a ミキサー
9b ミキサー
10a スイッチ
10b エンコーダ
11 Interactive Graphicsデコーダ
12 Interactive Graphicsプレーン
13 Presentation Graphicsデコーダ
14 Presentation Graphicsプレーン
15 JPEGデコーダ
16 Stillプレーン
17 合成部
18a,b STC生成部
19a,b ATC生成部
21 メモリ
22 コントローラ
23 PSRセット
24 PID変換部
25 通信部
26 操作受付部
27 HDMI送受信部
31 バッファ
32 オーディオデコーダ
33 コントローラ
34 HDMI送受信部
35 EEPROM
40 起動処理部
41 プレイリスト処理部
42 Procedure実行部
43 Procedure実行部
44 ミキシング制御部

【特許請求の範囲】
【請求項1】
外部機器と接続された再生装置であって、
所定品質の音声データが得られる基本データと、基本データには存在しないデータであって、基本データと共に用いられることにより前記所定品質と異なる品質の音声データが得られる拡張データとからオーディオフレームが構成されるオーディオストリームを、外部機器が有するデコーダにおいてデコードする際に、基本データをデコードすることができるか否か及び拡張データをデコードすることができるか否かを示す情報を、外部機器から取得する取得手段と、
自装置及び前記外部機器を含む再生環境で、基本データをデコードすることができるか、拡張データをデコードすることができるかを、夫々フラグで示すレジスタと、
自装置が拡張データをデコードすることができず、且つ、前記取得した情報により、外部機器が拡張データをデコードすることができないと示されている場合、前記レジスタに、拡張データをデコードすることができないことを示すフラグをセットする制御手段と
を備えることを特徴とする再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate


【公開番号】特開2009−238362(P2009−238362A)
【公開日】平成21年10月15日(2009.10.15)
【国際特許分類】
【出願番号】特願2009−137706(P2009−137706)
【出願日】平成21年6月8日(2009.6.8)
【分割の表示】特願2007−503752(P2007−503752)の分割
【原出願日】平成18年2月17日(2006.2.17)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】